summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.editorconfig5
-rw-r--r--.github/CODEOWNERS4
-rw-r--r--.github/workflows/update-terraform-providers.yml11
-rw-r--r--doc/builders/fetchers.chapter.md24
-rw-r--r--doc/builders/images/dockertools.section.md16
-rw-r--r--doc/builders/images/ocitools.section.md6
-rw-r--r--doc/builders/images/snaptools.section.md2
-rw-r--r--doc/builders/packages/citrix.section.md10
-rw-r--r--doc/builders/packages/eclipse.section.md10
-rw-r--r--doc/builders/packages/elm.section.md2
-rw-r--r--doc/builders/packages/emacs.section.md6
-rw-r--r--doc/builders/packages/etc-files.section.md8
-rw-r--r--doc/builders/packages/firefox.section.md15
-rw-r--r--doc/builders/packages/fish.section.md2
-rw-r--r--doc/builders/packages/fuse.section.md4
-rw-r--r--doc/builders/packages/ibus.section.md6
-rw-r--r--doc/builders/packages/linux.section.md14
-rw-r--r--doc/builders/packages/locales.section.md4
-rw-r--r--doc/builders/packages/nginx.section.md4
-rw-r--r--doc/builders/packages/opengl.section.md2
-rw-r--r--doc/builders/packages/shell-helpers.section.md2
-rw-r--r--doc/builders/packages/steam.section.md16
-rw-r--r--doc/builders/packages/urxvt.section.md8
-rw-r--r--doc/builders/packages/weechat.section.md10
-rw-r--r--doc/builders/special.xml1
-rw-r--r--doc/builders/special/invalidateFetcherByDrvHash.section.md31
-rw-r--r--doc/builders/testers.chapter.md82
-rw-r--r--doc/builders/trivial-builders.chapter.md6
-rw-r--r--doc/contributing/submitting-changes.chapter.md2
-rw-r--r--doc/languages-frameworks/chicken.section.md49
-rw-r--r--doc/languages-frameworks/index.xml1
-rw-r--r--doc/manual.xml1
-rw-r--r--doc/stdenv/meta.chapter.md34
-rw-r--r--doc/stdenv/stdenv.chapter.md54
-rw-r--r--doc/using/overrides.chapter.md8
-rw-r--r--lib/default.nix9
-rw-r--r--lib/flakes.nix22
-rw-r--r--lib/meta.nix14
-rw-r--r--lib/modules.nix13
-rw-r--r--lib/strings.nix65
-rw-r--r--lib/systems/doubles.nix2
-rw-r--r--lib/systems/inspect.nix3
-rw-r--r--lib/systems/platforms.nix4
-rw-r--r--lib/tests/flakes/subflakeTest/flake.nix8
-rw-r--r--lib/tests/flakes/subflakeTest/subflake/flake.nix5
-rw-r--r--lib/tests/misc.nix59
-rwxr-xr-xlib/tests/modules.sh6
-rw-r--r--lib/tests/modules/extendModules-168767-imports.nix41
-rw-r--r--lib/tests/systems.nix3
-rw-r--r--lib/types.nix10
-rw-r--r--maintainers/maintainer-list.nix162
-rw-r--r--maintainers/scripts/luarocks-packages.csv3
-rw-r--r--maintainers/scripts/pluginupdate.py80
-rw-r--r--maintainers/team-list.nix36
-rw-r--r--nixos/doc/manual/administration/declarative-containers.section.md2
-rw-r--r--nixos/doc/manual/administration/imperative-containers.section.md4
-rw-r--r--nixos/doc/manual/development/writing-nixos-tests.section.md39
-rw-r--r--nixos/doc/manual/from_md/administration/declarative-containers.section.xml4
-rw-r--r--nixos/doc/manual/from_md/administration/imperative-containers.section.xml5
-rw-r--r--nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml88
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2205.section.xml111
-rw-r--r--nixos/doc/manual/release-notes/rl-2205.section.md45
-rw-r--r--nixos/lib/systemd-types.nix34
-rw-r--r--nixos/lib/test-driver/test_driver/machine.py11
-rw-r--r--nixos/lib/utils.nix2
-rw-r--r--nixos/maintainers/scripts/lxd/lxd-image.nix2
-rw-r--r--nixos/modules/config/console.nix11
-rw-r--r--nixos/modules/hardware/all-firmware.nix10
-rw-r--r--nixos/modules/hardware/raid/hpsa.nix5
-rw-r--r--nixos/modules/hardware/video/nvidia.nix9
-rw-r--r--nixos/modules/hardware/video/webcam/facetimehd.nix15
-rw-r--r--nixos/modules/i18n/input-method/fcitx5.nix27
-rw-r--r--nixos/modules/installer/cd-dvd/channel.nix3
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix22
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix59
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix49
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix20
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix4
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix4
-rw-r--r--nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix6
-rw-r--r--nixos/modules/installer/kexec/kexec-boot.nix2
-rw-r--r--nixos/modules/installer/sd-card/sd-image-aarch64.nix9
-rw-r--r--nixos/modules/installer/tools/tools.nix5
-rw-r--r--nixos/modules/module-list.nix10
-rw-r--r--nixos/modules/profiles/all-hardware.nix3
-rw-r--r--nixos/modules/profiles/installation-device.nix4
-rw-r--r--nixos/modules/profiles/qemu-guest.nix4
-rw-r--r--nixos/modules/programs/k3b.nix52
-rw-r--r--nixos/modules/programs/thefuck.nix13
-rw-r--r--nixos/modules/security/pam.nix6
-rw-r--r--nixos/modules/services/continuous-integration/gitlab-runner.nix11
-rw-r--r--nixos/modules/services/databases/couchdb.nix6
-rw-r--r--nixos/modules/services/hardware/udev.nix39
-rw-r--r--nixos/modules/services/hardware/usbrelayd.nix44
-rw-r--r--nixos/modules/services/misc/sourcehut/default.nix2
-rw-r--r--nixos/modules/services/misc/zookeeper.nix9
-rw-r--r--nixos/modules/services/monitoring/mimir.nix63
-rw-r--r--nixos/modules/services/networking/asterisk.nix54
-rw-r--r--nixos/modules/services/networking/cloudflare-dyndns.nix93
-rw-r--r--nixos/modules/services/networking/create_ap.nix50
-rw-r--r--nixos/modules/services/networking/prosody.nix1
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix1
-rw-r--r--nixos/modules/services/networking/supplicant.nix2
-rw-r--r--nixos/modules/services/security/kanidm.nix345
-rw-r--r--nixos/modules/services/system/nscd.nix2
-rw-r--r--nixos/modules/services/web-apps/atlassian/jira.nix1
-rw-r--r--nixos/modules/services/web-apps/galene.nix29
-rw-r--r--nixos/modules/services/web-apps/keycloak.nix3
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix26
-rw-r--r--nixos/modules/services/x11/desktop-managers/enlightenment.nix5
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome.nix32
-rw-r--r--nixos/modules/services/x11/desktop-managers/lumina.nix4
-rw-r--r--nixos/modules/services/x11/desktop-managers/lxqt.nix9
-rw-r--r--nixos/modules/services/x11/desktop-managers/mate.nix1
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.xml6
-rw-r--r--nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix2
-rw-r--r--nixos/modules/system/boot/luksroot.nix79
-rw-r--r--nixos/modules/system/boot/stage-1-init.sh6
-rw-r--r--nixos/modules/system/boot/systemd/initrd-secrets.nix36
-rw-r--r--nixos/modules/system/boot/systemd/initrd.nix72
-rw-r--r--nixos/modules/system/boot/systemd/shutdown.nix36
-rw-r--r--nixos/modules/tasks/bcache.nix22
-rw-r--r--nixos/modules/tasks/filesystems/btrfs.nix6
-rw-r--r--nixos/modules/tasks/filesystems/cifs.nix2
-rw-r--r--nixos/modules/tasks/filesystems/ext.nix14
-rw-r--r--nixos/modules/tasks/filesystems/f2fs.nix2
-rw-r--r--nixos/modules/tasks/filesystems/jfs.nix2
-rw-r--r--nixos/modules/tasks/filesystems/reiserfs.nix2
-rw-r--r--nixos/modules/tasks/filesystems/unionfs-fuse.nix15
-rw-r--r--nixos/modules/tasks/filesystems/vfat.nix2
-rw-r--r--nixos/modules/tasks/filesystems/xfs.nix4
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix204
-rw-r--r--nixos/modules/testing/test-instrumentation.nix45
-rw-r--r--nixos/modules/virtualisation/nixos-containers.nix37
-rw-r--r--nixos/modules/virtualisation/oci-containers.nix6
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix11
-rw-r--r--nixos/modules/virtualisation/vmware-host.nix166
-rw-r--r--nixos/release-combined.nix2
-rw-r--r--nixos/release.nix4
-rw-r--r--nixos/tests/all-tests.nix6
-rw-r--r--nixos/tests/common/lxd/config.yaml24
-rw-r--r--nixos/tests/containers-ephemeral.nix6
-rw-r--r--nixos/tests/containers-imperative.nix12
-rw-r--r--nixos/tests/containers-tmpfs.nix10
-rw-r--r--nixos/tests/custom-ca.nix194
-rw-r--r--nixos/tests/gitlab.nix323
-rw-r--r--nixos/tests/installed-tests/default.nix1
-rw-r--r--nixos/tests/installed-tests/power-profiles-daemon.nix9
-rw-r--r--nixos/tests/installer-systemd-stage-1.nix33
-rw-r--r--nixos/tests/installer.nix15
-rw-r--r--nixos/tests/kanidm.nix75
-rw-r--r--nixos/tests/kexec.nix10
-rw-r--r--nixos/tests/lxd-image-server.nix63
-rw-r--r--nixos/tests/lxd-image.nix89
-rw-r--r--nixos/tests/lxd.nix103
-rw-r--r--nixos/tests/matrix-appservice-irc.nix3
-rw-r--r--nixos/tests/nar-serve.nix2
-rw-r--r--nixos/tests/openssh.nix18
-rw-r--r--nixos/tests/pam/pam-oath-login.nix2
-rw-r--r--nixos/tests/pgadmin4.nix85
-rw-r--r--nixos/tests/step-ca.nix1
-rw-r--r--nixos/tests/systemd-initrd-btrfs-raid.nix45
-rw-r--r--nixos/tests/systemd-initrd-luks-keyfile.nix53
-rw-r--r--nixos/tests/systemd-initrd-luks-password.nix48
-rw-r--r--nixos/tests/systemd-initrd-simple.nix2
-rw-r--r--nixos/tests/systemd-shutdown.nix11
-rw-r--r--nixos/tests/web-apps/peertube.nix5
-rw-r--r--nixos/tests/xmpp/xmpp-sendmessage.nix5
-rw-r--r--pkgs/applications/accessibility/espeakup/default.nix46
-rw-r--r--pkgs/applications/accessibility/wvkbd/default.nix36
-rw-r--r--pkgs/applications/audio/ChowPhaser/default.nix76
-rw-r--r--pkgs/applications/audio/LibreArp/default.nix53
-rw-r--r--pkgs/applications/audio/LibreArp/lv2.nix53
-rw-r--r--pkgs/applications/audio/amberol/default.nix75
-rw-r--r--pkgs/applications/audio/audio-recorder/default.nix2
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix4
-rw-r--r--pkgs/applications/audio/cardinal/default.nix13
-rw-r--r--pkgs/applications/audio/carla/default.nix4
-rw-r--r--pkgs/applications/audio/caudec/default.nix4
-rw-r--r--pkgs/applications/audio/cider/default.nix6
-rw-r--r--pkgs/applications/audio/clementine/default.nix13
-rw-r--r--pkgs/applications/audio/denemo/default.nix4
-rw-r--r--pkgs/applications/audio/faust/faust2.nix4
-rw-r--r--pkgs/applications/audio/faust/faustlive.nix21
-rw-r--r--pkgs/applications/audio/fluidsynth/default.nix4
-rw-r--r--pkgs/applications/audio/furnace/default.nix4
-rw-r--r--pkgs/applications/audio/greg/default.nix6
-rw-r--r--pkgs/applications/audio/gspeech/default.nix4
-rw-r--r--pkgs/applications/audio/guitarix/default.nix2
-rw-r--r--pkgs/applications/audio/jamesdsp/default.nix5
-rw-r--r--pkgs/applications/audio/mopidy/mopidy.nix6
-rw-r--r--pkgs/applications/audio/musikcube/default.nix8
-rw-r--r--pkgs/applications/audio/ncspot/default.nix6
-rw-r--r--pkgs/applications/audio/noise-repellent/default.nix20
-rw-r--r--pkgs/applications/audio/parlatype/default.nix66
-rw-r--r--pkgs/applications/audio/plexamp/default.nix6
-rw-r--r--pkgs/applications/audio/pyradio/default.nix6
-rw-r--r--pkgs/applications/audio/shortwave/default.nix21
-rw-r--r--pkgs/applications/audio/sonixd/default.nix4
-rw-r--r--pkgs/applications/audio/spot/default.nix6
-rw-r--r--pkgs/applications/audio/spotify/default.nix6
-rw-r--r--pkgs/applications/audio/viper4linux-gui/default.nix82
-rw-r--r--pkgs/applications/audio/viper4linux/default.nix61
-rw-r--r--pkgs/applications/audio/whipper/default.nix4
-rw-r--r--pkgs/applications/blockchains/bisq-desktop/default.nix3
-rw-r--r--pkgs/applications/blockchains/bitcoin/default.nix4
-rw-r--r--pkgs/applications/blockchains/btcpayserver/default.nix4
-rw-r--r--pkgs/applications/blockchains/btcpayserver/deps.nix58
-rw-r--r--pkgs/applications/blockchains/chia-plotter/default.nix19
-rw-r--r--pkgs/applications/blockchains/chia-plotter/dont_fetch_dependencies.patch35
-rw-r--r--pkgs/applications/blockchains/clightning/default.nix4
-rw-r--r--pkgs/applications/blockchains/electrs/default.nix6
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/lnd/default.nix4
-rw-r--r--pkgs/applications/blockchains/monero-cli/default.nix4
-rw-r--r--pkgs/applications/blockchains/monero-gui/default.nix4
-rw-r--r--pkgs/applications/blockchains/namecoin/default.nix11
-rw-r--r--pkgs/applications/blockchains/nbxplorer/default.nix4
-rw-r--r--pkgs/applications/blockchains/nbxplorer/deps.nix15
-rw-r--r--pkgs/applications/editors/android-studio/common.nix8
-rw-r--r--pkgs/applications/editors/android-studio/default.nix15
-rw-r--r--pkgs/applications/editors/cudatext/default.nix4
-rw-r--r--pkgs/applications/editors/cudatext/deps.json8
-rw-r--r--pkgs/applications/editors/emacs/28.nix2
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/ement/default.nix14
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix3
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default-grammars.json32
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default.nix44
-rwxr-xr-xpkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/update-defaults.py74
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/tsc/default.nix89
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/tsc/src.json10
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/tsc/update.py122
-rwxr-xr-xpkgs/applications/editors/emacs/elisp-packages/update10
-rwxr-xr-xpkgs/applications/editors/emacs/elisp-packages/update-manual7
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/update-manual.nix11
-rw-r--r--pkgs/applications/editors/emacs/generic.nix8
-rw-r--r--pkgs/applications/editors/gnome-builder/default.nix15
-rw-r--r--pkgs/applications/editors/helix/default.nix3
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix37
-rwxr-xr-xpkgs/applications/editors/jetbrains/update.py31
-rw-r--r--pkgs/applications/editors/jetbrains/versions.json216
-rw-r--r--pkgs/applications/editors/lapce/default.nix22
-rw-r--r--pkgs/applications/editors/lifeograph/default.nix10
-rw-r--r--pkgs/applications/editors/mg/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock4
-rw-r--r--pkgs/applications/editors/neovim/ruby_provider/gemset.nix10
-rw-r--r--pkgs/applications/editors/oed/default.nix9
-rw-r--r--pkgs/applications/editors/okteta/default.nix2
-rw-r--r--pkgs/applications/editors/oni2/common.nix1
-rw-r--r--pkgs/applications/editors/rstudio/default.nix2
-rw-r--r--pkgs/applications/editors/texmaker/default.nix4
-rw-r--r--pkgs/applications/editors/texstudio/default.nix4
-rw-r--r--pkgs/applications/editors/vim/plugins/build-vim-plugin.nix2
-rw-r--r--pkgs/applications/editors/vim/plugins/default.nix9
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix881
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix8
-rwxr-xr-xpkgs/applications/editors/vim/plugins/update.py63
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-command-check-hook.sh25
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-utils.nix20
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix36
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/default.nix1
-rw-r--r--pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix4
-rwxr-xr-xpkgs/applications/editors/vscode/update-vscodium.sh28
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix13
-rw-r--r--pkgs/applications/editors/xedit/default.nix4
-rw-r--r--pkgs/applications/emulators/commanderx16/emulator.nix12
-rw-r--r--pkgs/applications/emulators/commanderx16/rom.nix18
-rw-r--r--pkgs/applications/emulators/mame/default.nix4
-rw-r--r--pkgs/applications/emulators/retroarch/cores.nix3
-rw-r--r--pkgs/applications/emulators/retroarch/default.nix6
-rw-r--r--pkgs/applications/emulators/retroarch/hashes.json120
-rwxr-xr-xpkgs/applications/emulators/retroarch/update_cores.py6
-rw-r--r--pkgs/applications/emulators/ripes/default.nix50
-rw-r--r--pkgs/applications/emulators/ryujinx/deps.nix16
-rw-r--r--pkgs/applications/emulators/snes9x-gtk/default.nix37
-rw-r--r--pkgs/applications/emulators/snes9x/default.nix130
-rw-r--r--pkgs/applications/emulators/yuzu/base.nix86
-rw-r--r--pkgs/applications/emulators/yuzu/compatibility-list.json1
-rw-r--r--pkgs/applications/emulators/yuzu/default.nix32
-rw-r--r--pkgs/applications/emulators/yuzu/generic.nix157
-rwxr-xr-xpkgs/applications/emulators/yuzu/update.sh102
-rw-r--r--pkgs/applications/finance/irpf/default.nix6
-rw-r--r--pkgs/applications/gis/grass/default.nix46
-rw-r--r--pkgs/applications/gis/qgis/unwrapped-ltr.nix4
-rw-r--r--pkgs/applications/gis/qgis/unwrapped.nix4
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix8
-rw-r--r--pkgs/applications/graphics/cloudcompare/default.nix2
-rw-r--r--pkgs/applications/graphics/darktable/default.nix2
-rw-r--r--pkgs/applications/graphics/digikam/default.nix17
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix4
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix2
-rw-r--r--pkgs/applications/graphics/graphicsmagick/default.nix4
-rw-r--r--pkgs/applications/graphics/hydrus/default.nix4
-rw-r--r--pkgs/applications/graphics/ovito/default.nix4
-rw-r--r--pkgs/applications/graphics/rawtherapee/default.nix3
-rw-r--r--pkgs/applications/graphics/rawtherapee/fix-6324.patch356
-rw-r--r--pkgs/applications/graphics/sane/backends/brscan4/default.nix4
-rw-r--r--pkgs/applications/graphics/sane/backends/brscan5/default.nix4
-rw-r--r--pkgs/applications/graphics/tesseract/default.nix6
-rwxr-xr-xpkgs/applications/graphics/tesseract/fetch-language-hashes4
-rw-r--r--pkgs/applications/graphics/tesseract/languages.nix490
-rw-r--r--pkgs/applications/graphics/tesseract/tesseract3.nix17
-rw-r--r--pkgs/applications/graphics/tesseract/tesseract4.nix18
-rw-r--r--pkgs/applications/graphics/tesseract/tesseract5.nix39
-rw-r--r--pkgs/applications/graphics/tesseract/wrapper.nix32
-rw-r--r--pkgs/applications/kde/default.nix5
-rw-r--r--pkgs/applications/kde/falkon.nix (renamed from pkgs/applications/networking/browsers/falkon/default.nix)17
-rw-r--r--pkgs/applications/kde/fetch.sh2
-rw-r--r--pkgs/applications/kde/kaddressbook.nix4
-rw-r--r--pkgs/applications/kde/kalarm.nix4
-rw-r--r--pkgs/applications/kde/kalarmcal.nix19
-rw-r--r--pkgs/applications/kde/kalendar.nix (renamed from pkgs/applications/office/kalendar/default.nix)11
-rw-r--r--pkgs/applications/kde/kdegraphics-thumbnailers.nix4
-rw-r--r--pkgs/applications/kde/kdepim-addons.nix4
-rw-r--r--pkgs/applications/kde/kdepim-runtime/default.nix4
-rw-r--r--pkgs/applications/kde/kmousetool.nix35
-rw-r--r--pkgs/applications/kde/picmi.nix12
-rw-r--r--pkgs/applications/kde/pimcommon.nix4
-rw-r--r--pkgs/applications/kde/skanpage.nix (renamed from pkgs/applications/graphics/skanpage/default.nix)10
-rw-r--r--pkgs/applications/kde/srcs.nix1858
-rw-r--r--pkgs/applications/kde/yakuake.nix2
-rw-r--r--pkgs/applications/logging/sosreport/default.nix51
-rw-r--r--pkgs/applications/misc/1password/default.nix10
-rw-r--r--pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix35
-rw-r--r--pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix35
-rw-r--r--pkgs/applications/misc/anytype/default.nix4
-rw-r--r--pkgs/applications/misc/archivy/default.nix12
-rw-r--r--pkgs/applications/misc/audio/wavesurfer/default.nix30
-rw-r--r--pkgs/applications/misc/ausweisapp2/default.nix4
-rw-r--r--pkgs/applications/misc/authy/default.nix37
-rw-r--r--pkgs/applications/misc/barrier/default.nix13
-rw-r--r--pkgs/applications/misc/bottles/default.nix4
-rw-r--r--pkgs/applications/misc/calcurse/default.nix7
-rw-r--r--pkgs/applications/misc/calibre/default.nix6
-rw-r--r--pkgs/applications/misc/charm/default.nix6
-rw-r--r--pkgs/applications/misc/dasel/default.nix6
-rw-r--r--pkgs/applications/misc/dunst/default.nix4
-rw-r--r--pkgs/applications/misc/evtest/default.nix2
-rw-r--r--pkgs/applications/misc/ff2mpv/default.nix34
-rw-r--r--pkgs/applications/misc/fluidd/default.nix4
-rw-r--r--pkgs/applications/misc/fspy/default.nix5
-rw-r--r--pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--pkgs/applications/misc/gnome-secrets/default.nix14
-rw-r--r--pkgs/applications/misc/gremlin-console/default.nix4
-rw-r--r--pkgs/applications/misc/hello/default.nix16
-rw-r--r--pkgs/applications/misc/hello/test.nix8
-rw-r--r--pkgs/applications/misc/hubstaff/default.nix2
-rw-r--r--pkgs/applications/misc/hugo/default.nix6
-rw-r--r--pkgs/applications/misc/ipmiview/default.nix6
-rw-r--r--pkgs/applications/misc/joplin-desktop/default.nix6
-rw-r--r--pkgs/applications/misc/k4dirstat/default.nix4
-rw-r--r--pkgs/applications/misc/kiln/default.nix6
-rw-r--r--pkgs/applications/misc/kjv/default.nix4
-rw-r--r--pkgs/applications/misc/libosmocore/default.nix27
-rw-r--r--pkgs/applications/misc/lighthouse/default.nix35
-rw-r--r--pkgs/applications/misc/marktext/default.nix11
-rw-r--r--pkgs/applications/misc/masterpdfeditor/default.nix4
-rw-r--r--pkgs/applications/misc/megacmd/default.nix4
-rw-r--r--pkgs/applications/misc/mepo/default.nix42
-rw-r--r--pkgs/applications/misc/minigalaxy/default.nix4
-rw-r--r--pkgs/applications/misc/mob/default.nix4
-rw-r--r--pkgs/applications/misc/moonlight-qt/default.nix4
-rw-r--r--pkgs/applications/misc/nnn/default.nix4
-rw-r--r--pkgs/applications/misc/nut/default.nix2
-rw-r--r--pkgs/applications/misc/obsidian/default.nix6
-rw-r--r--pkgs/applications/misc/octoprint/default.nix252
-rw-r--r--pkgs/applications/misc/opencpn/default.nix101
-rw-r--r--pkgs/applications/misc/organicmaps/default.nix19
-rw-r--r--pkgs/applications/misc/osmscout-server/default.nix27
-rw-r--r--pkgs/applications/misc/phwmon/default.nix2
-rw-r--r--pkgs/applications/misc/prusa-slicer/default.nix4
-rw-r--r--pkgs/applications/misc/pure-maps/default.nix5
-rw-r--r--pkgs/applications/misc/ranger/default.nix17
-rw-r--r--pkgs/applications/misc/sampler/default.nix7
-rw-r--r--pkgs/applications/misc/sigal/default.nix30
-rw-r--r--pkgs/applications/misc/sigi/default.nix4
-rw-r--r--pkgs/applications/misc/skytemple/default.nix7
-rw-r--r--pkgs/applications/misc/solaar/default.nix5
-rw-r--r--pkgs/applications/misc/sqls/default.nix8
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix23
-rw-r--r--pkgs/applications/misc/tut/default.nix4
-rw-r--r--pkgs/applications/misc/udiskie/default.nix55
-rw-r--r--pkgs/applications/misc/udiskie/locale-path.patch17
-rw-r--r--pkgs/applications/misc/upwork/default.nix6
-rw-r--r--pkgs/applications/misc/veracrypt/default.nix4
-rw-r--r--pkgs/applications/misc/vit/default.nix8
-rw-r--r--pkgs/applications/misc/xpdf/default.nix4
-rw-r--r--pkgs/applications/misc/xplr/default.nix6
-rw-r--r--pkgs/applications/misc/zola/default.nix4
-rw-r--r--pkgs/applications/networking/alpnpass/default.nix34
-rw-r--r--pkgs/applications/networking/bee/bee.nix4
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix126
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix23
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json60
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix786
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix786
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix12
-rw-r--r--pkgs/applications/networking/browsers/firefox/librewolf/src.json10
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix8
-rw-r--r--pkgs/applications/networking/browsers/google-chrome/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/microsoft-edge/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix1
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix9
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix4
-rw-r--r--pkgs/applications/networking/c14/default.nix22
-rw-r--r--pkgs/applications/networking/cloudflare-dyndns/default.nix53
-rw-r--r--pkgs/applications/networking/cloudflared/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/argo/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/argocd-autopilot/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/cilium/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/flink/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/fluxcd/default.nix10
-rwxr-xr-xpkgs/applications/networking/cluster/fluxcd/update.sh69
-rw-r--r--pkgs/applications/networking/cluster/helm-docs/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix30
-rw-r--r--pkgs/applications/networking/cluster/istioctl/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/kn/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kompose/default.nix24
-rw-r--r--pkgs/applications/networking/cluster/kops/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/krane/Gemfile.lock24
-rw-r--r--pkgs/applications/networking/cluster/krane/gemset.nix40
-rw-r--r--pkgs/applications/networking/cluster/kube3d/default.nix40
-rw-r--r--pkgs/applications/networking/cluster/kubecfg/default.nix14
-rw-r--r--pkgs/applications/networking/cluster/nerdctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nomad-pack/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/nomad/1.1.nix6
-rw-r--r--pkgs/applications/networking/cluster/ocm/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/odo/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/openshift/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/talosctl/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json292
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--pkgs/applications/networking/firewalld/default.nix104
-rw-r--r--pkgs/applications/networking/firewalld/respect-xml-catalog-files-var.patch13
-rw-r--r--pkgs/applications/networking/flexget/default.nix5
-rw-r--r--pkgs/applications/networking/gmailctl/default.nix10
-rw-r--r--pkgs/applications/networking/gns3/default.nix15
-rw-r--r--pkgs/applications/networking/gns3/gui.nix36
-rw-r--r--pkgs/applications/networking/gns3/server.nix58
-rw-r--r--pkgs/applications/networking/ids/zeek/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/alfaview/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/bluejeans/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix50
-rw-r--r--pkgs/applications/networking/instant-messengers/caprine-bin/build-from-dmg.nix35
-rw-r--r--pkgs/applications/networking/instant-messengers/caprine-bin/default.nix25
-rw-r--r--pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/deltachat-desktop/libdeltachat-darwin-dylib.patch (renamed from pkgs/development/libraries/libdeltachat/darwin-dylib.patch)0
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-package.json3
-rw-r--r--pkgs/applications/networking/instant-messengers/element/pin.json6
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/linphone/default.nix53
-rw-r--r--pkgs/applications/networking/instant-messengers/linphone/do-not-build-linphone-sdk.patch87
-rw-r--r--pkgs/applications/networking/instant-messengers/linphone/no-store-path-in-autostart.patch27
-rw-r--r--pkgs/applications/networking/instant-messengers/linphone/remove-bc_compute_full_version-usage.patch12
-rw-r--r--pkgs/applications/networking/instant-messengers/psi-plus/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/teams/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/kf594.patch57
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix53
-rw-r--r--pkgs/applications/networking/instant-messengers/zulip/default.nix4
-rw-r--r--pkgs/applications/networking/ipfs-cluster/default.nix15
-rw-r--r--pkgs/applications/networking/irc/senpai/default.nix8
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix4
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix7
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/meli/default.nix3
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch-bower/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix522
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/packages.nix4
-rw-r--r--pkgs/applications/networking/modem-manager-gui/default.nix15
-rw-r--r--pkgs/applications/networking/n8n/node-packages.nix822
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix4
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix11
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/jesec-rtorrent/default.nix (renamed from pkgs/tools/networking/p2p/jesec-rtorrent/rtorrent.nix)6
-rw-r--r--pkgs/applications/networking/p2p/jesec-rtorrent/libtorrent.nix (renamed from pkgs/tools/networking/p2p/jesec-rtorrent/libtorrent.nix)10
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/rakshasa-rtorrent/default.nix (renamed from pkgs/tools/networking/p2p/rakshasa-rtorrent/rtorrent.nix)0
-rw-r--r--pkgs/applications/networking/p2p/rakshasa-rtorrent/libtorrent.nix (renamed from pkgs/tools/networking/p2p/rakshasa-rtorrent/libtorrent.nix)0
-rw-r--r--pkgs/applications/networking/p2p/twister/default.nix70
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix4
-rw-r--r--pkgs/applications/networking/seafile-client/default.nix8
-rw-r--r--pkgs/applications/networking/seaweedfs/default.nix4
-rw-r--r--pkgs/applications/networking/sync/onedrive/default.nix4
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix6
-rw-r--r--pkgs/applications/networking/termius/default.nix6
-rw-r--r--pkgs/applications/networking/zerobin/default.nix2
-rw-r--r--pkgs/applications/office/beamerpresenter/default.nix67
-rw-r--r--pkgs/applications/office/bookworm/default.nix2
-rw-r--r--pkgs/applications/office/buho/default.nix58
-rw-r--r--pkgs/applications/office/calligra/default.nix16
-rw-r--r--pkgs/applications/office/gnumeric/default.nix5
-rw-r--r--pkgs/applications/office/ledger/default.nix4
-rw-r--r--pkgs/applications/office/libreoffice/soffice-template.desktop6
-rw-r--r--pkgs/applications/office/libreoffice/wrapper.nix37
-rw-r--r--pkgs/applications/office/paperwork/paperwork-gtk.nix2
-rw-r--r--pkgs/applications/office/portfolio/default.nix4
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/office/timeular/default.nix6
-rw-r--r--pkgs/applications/office/tusk/default.nix5
-rw-r--r--pkgs/applications/office/zotero/default.nix4
-rw-r--r--pkgs/applications/radio/flrig/default.nix6
-rw-r--r--pkgs/applications/radio/gnuradio/wrapper.nix2
-rw-r--r--pkgs/applications/radio/kalibrate-rtl/default.nix10
-rw-r--r--pkgs/applications/radio/rtl-sdr/default.nix18
-rw-r--r--pkgs/applications/radio/uhd/default.nix2
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix4
-rw-r--r--pkgs/applications/science/biology/blast/default.nix4
-rw-r--r--pkgs/applications/science/biology/bwa/default.nix2
-rw-r--r--pkgs/applications/science/biology/dcm2niix/default.nix49
-rw-r--r--pkgs/applications/science/biology/dcm2niix/dont-fetch-external-libs.patch36
-rw-r--r--pkgs/applications/science/biology/megahit/default.nix3
-rw-r--r--pkgs/applications/science/biology/quast/default.nix4
-rw-r--r--pkgs/applications/science/biology/samtools/default.nix9
-rw-r--r--pkgs/applications/science/biology/tebreak/default.nix4
-rw-r--r--pkgs/applications/science/computer-architecture/qtrvsim/default.nix4
-rw-r--r--pkgs/applications/science/logic/coq/default.nix28
-rw-r--r--pkgs/applications/science/logic/easycrypt/default.nix50
-rw-r--r--pkgs/applications/science/logic/easycrypt/runtest.nix24
-rw-r--r--pkgs/applications/science/logic/elan/default.nix6
-rw-r--r--pkgs/applications/science/logic/key/default.nix5
-rw-r--r--pkgs/applications/science/math/adolc/default.nix23
-rw-r--r--pkgs/applications/science/math/calculix/calculix.patch19
-rw-r--r--pkgs/applications/science/math/calculix/default.nix9
-rw-r--r--pkgs/applications/science/misc/bada-bib/default.nix6
-rw-r--r--pkgs/applications/science/misc/colmap/default.nix28
-rw-r--r--pkgs/applications/science/misc/snakemake/default.nix40
-rw-r--r--pkgs/applications/science/molecular-dynamics/gromacs/default.nix4
-rw-r--r--pkgs/applications/science/robotics/mavproxy/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/alacritty/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/foot/default.nix5
-rw-r--r--pkgs/applications/terminal-emulators/wezterm/default.nix26
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/ghorg/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cliff/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-crypt/default.nix24
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-extras/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix16
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-machete/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix10
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitbatch/default.nix22
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitbatch/deps.nix543
-rw-r--r--pkgs/applications/version-management/git-and-tools/scmpuff/default.nix4
-rw-r--r--pkgs/applications/version-management/git-lfs/default.nix4
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix4
-rw-r--r--pkgs/applications/version-management/git-review/default.nix4
-rw-r--r--pkgs/applications/version-management/git-sizer/default.nix4
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/data.json14
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile2
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock26
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix8
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/gemset.nix32
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile19
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock170
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix139
-rw-r--r--pkgs/applications/version-management/gitoxide/default.nix6
-rw-r--r--pkgs/applications/version-management/got/default.nix8
-rw-r--r--pkgs/applications/version-management/jujutsu/default.nix4
-rw-r--r--pkgs/applications/version-management/monotone/default.nix2
-rw-r--r--pkgs/applications/version-management/p4v/default.nix48
-rw-r--r--pkgs/applications/version-management/rcs/default.nix10
-rw-r--r--pkgs/applications/version-management/redmine/Gemfile4
-rw-r--r--pkgs/applications/version-management/redmine/Gemfile.lock98
-rw-r--r--pkgs/applications/version-management/redmine/default.nix10
-rw-r--r--pkgs/applications/version-management/redmine/gemset.nix88
-rwxr-xr-xpkgs/applications/version-management/redmine/update.sh17
-rw-r--r--pkgs/applications/version-management/subversion/default.nix5
-rw-r--r--pkgs/applications/video/ani-cli/default.nix4
-rw-r--r--pkgs/applications/video/clickshare-csc1/default.nix2
-rw-r--r--pkgs/applications/video/davinci-resolve/default.nix4
-rw-r--r--pkgs/applications/video/epgstation/default.nix6
-rw-r--r--pkgs/applications/video/epgstation/update.nix6
-rw-r--r--pkgs/applications/video/handbrake/default.nix4
-rw-r--r--pkgs/applications/video/hdhomerun-config-gui/default.nix4
-rw-r--r--pkgs/applications/video/hyperion-ng/default.nix50
-rw-r--r--pkgs/applications/video/kodi/add-KODI_WEBSERVER_EXTRA_WHITELIST.patch88
-rw-r--r--pkgs/applications/video/kodi/unwrapped.nix19
-rw-r--r--pkgs/applications/video/kodi/wrapper.nix6
-rw-r--r--pkgs/applications/video/lightworks/default.nix8
-rw-r--r--pkgs/applications/video/mirakurun/default.nix6
-rw-r--r--pkgs/applications/video/mirakurun/update.nix10
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/default.nix1
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix35
-rw-r--r--pkgs/applications/video/peek/default.nix2
-rw-r--r--pkgs/applications/video/vdr/plugins.nix85
-rw-r--r--pkgs/applications/video/vlc/default.nix4
-rw-r--r--pkgs/applications/video/webcamoid/default.nix13
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix4
-rw-r--r--pkgs/applications/virtualization/crun/default.nix4
-rw-r--r--pkgs/applications/virtualization/distrobox/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker-slim/default.nix4
-rw-r--r--pkgs/applications/virtualization/firectl/default.nix12
-rw-r--r--pkgs/applications/virtualization/firectl/gomod.patch15
-rw-r--r--pkgs/applications/virtualization/lima/default.nix11
-rw-r--r--pkgs/applications/virtualization/podman-tui/default.nix8
-rw-r--r--pkgs/applications/virtualization/podman/default.nix1
-rwxr-xr-xpkgs/applications/virtualization/vmware-workstation/default.nix341
-rw-r--r--pkgs/applications/virtualization/vmware-workstation/vmware-bootstrap11
-rw-r--r--pkgs/applications/virtualization/vmware-workstation/vmware-config21
-rw-r--r--pkgs/applications/virtualization/vmware-workstation/vmware-installer-bootstrap5
-rw-r--r--pkgs/applications/virtualization/vmware-workstation/vmware-modconfig8
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix6
-rw-r--r--pkgs/applications/window-managers/phosh/default.nix4
-rw-r--r--pkgs/applications/window-managers/sway/lock-effects.nix8
-rw-r--r--pkgs/applications/window-managers/wmfs/default.nix6
-rw-r--r--pkgs/applications/window-managers/wmii-hg/default.nix46
-rw-r--r--pkgs/applications/window-managers/wmii/default.nix72
-rw-r--r--pkgs/build-support/docker/default.nix3
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/default.nix15
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh3
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-check-hook.sh3
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh6
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-fixup-hook.sh9
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh3
-rw-r--r--pkgs/build-support/dotnet/make-nuget-source/default.nix44
-rw-r--r--pkgs/build-support/dotnet/nuget-to-nix/default.nix28
-rwxr-xr-xpkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh4
-rw-r--r--pkgs/build-support/emacs/wrapper.nix2
-rw-r--r--pkgs/build-support/fetchfirefoxaddon/default.nix4
-rw-r--r--pkgs/build-support/fetchnextcloudapp/default.nix7
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng-tool.nix9
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng.nix4
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng/src/main.rs22
-rw-r--r--pkgs/build-support/make-darwin-bundle/default.nix8
-rw-r--r--pkgs/build-support/ocaml/dune.nix4
-rw-r--r--pkgs/build-support/ocaml/oasis.nix2
-rw-r--r--pkgs/build-support/rust/build-rust-crate/build-crate.nix5
-rw-r--r--pkgs/build-support/rust/build-rust-crate/configure-crate.nix3
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix6
-rw-r--r--pkgs/build-support/rust/default-crate-overrides.nix2
-rw-r--r--pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh8
-rw-r--r--pkgs/build-support/testers/default.nix16
-rw-r--r--pkgs/build-support/testers/test-equal-derivation.nix17
-rw-r--r--pkgs/build-support/trivial-builders.nix37
-rw-r--r--pkgs/build-support/writers/default.nix4
-rw-r--r--pkgs/common-updater/git-updater.nix4
-rwxr-xr-xpkgs/common-updater/scripts/list-git-tags2
-rw-r--r--pkgs/data/documentation/scheme-manpages/default.nix6
-rw-r--r--pkgs/data/fonts/amiri/default.nix4
-rw-r--r--pkgs/data/fonts/annapurna-sil/default.nix29
-rw-r--r--pkgs/data/fonts/comic-mono/comic-mono-weight.conf14
-rw-r--r--pkgs/data/fonts/comic-mono/default.nix35
-rw-r--r--pkgs/data/fonts/ezra-sil/default.nix26
-rw-r--r--pkgs/data/fonts/galatia-sil/default.nix29
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix2
-rw-r--r--pkgs/data/fonts/iosevka/variants.nix184
-rw-r--r--pkgs/data/fonts/kacst/default.nix22
-rw-r--r--pkgs/data/fonts/lao/default.nix22
-rw-r--r--pkgs/data/fonts/times-newer-roman/default.nix2
-rw-r--r--pkgs/data/fonts/uni-vga/default.nix10
-rw-r--r--pkgs/data/icons/comixcursors/default.nix30
-rw-r--r--pkgs/data/icons/luna-icons/default.nix7
-rw-r--r--pkgs/data/misc/cldr-emoji-annotation/default.nix27
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/misc/nixos-artwork/wallpapers.nix16
-rw-r--r--pkgs/data/themes/flat-remix-gnome/default.nix8
-rw-r--r--pkgs/data/themes/flat-remix-gtk/default.nix4
-rw-r--r--pkgs/data/themes/gnome-breeze/default.nix29
-rw-r--r--pkgs/data/themes/orchis-theme/default.nix4
-rw-r--r--pkgs/data/themes/vimix/default.nix16
-rw-r--r--pkgs/desktops/cdesktopenv/default.nix4
-rw-r--r--pkgs/desktops/enlightenment/econnman/default.nix8
-rw-r--r--pkgs/desktops/enlightenment/ecrire/default.nix2
-rw-r--r--pkgs/desktops/enlightenment/efl/default.nix2
-rw-r--r--pkgs/desktops/enlightenment/enlightenment/default.nix2
-rw-r--r--pkgs/desktops/enlightenment/ephoto/default.nix2
-rw-r--r--pkgs/desktops/enlightenment/evisum/default.nix2
-rw-r--r--pkgs/desktops/enlightenment/rage/default.nix2
-rw-r--r--pkgs/desktops/enlightenment/terminology/default.nix2
-rw-r--r--pkgs/desktops/gnome-2/platform/libglade/default.nix7
-rw-r--r--pkgs/desktops/gnome/apps/ghex/default.nix4
-rw-r--r--pkgs/desktops/gnome/apps/gnome-calendar/default.nix4
-rw-r--r--pkgs/desktops/gnome/apps/gnome-maps/default.nix15
-rw-r--r--pkgs/desktops/gnome/apps/gnome-music/default.nix9
-rw-r--r--pkgs/desktops/gnome/apps/gnome-text-editor/default.nix4
-rw-r--r--pkgs/desktops/gnome/apps/gnome-todo/default.nix6
-rw-r--r--pkgs/desktops/gnome/core/eog/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/epiphany/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/evolution-data-server/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-initial-setup/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-software/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/nautilus/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/zenity/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/collisions.json20
-rw-r--r--pkgs/desktops/gnome/extensions/extensionRenames.nix9
-rw-r--r--pkgs/desktops/gnome/extensions/extensions.json185
-rwxr-xr-xpkgs/desktops/gnome/extensions/update-extensions.py88
-rw-r--r--pkgs/desktops/gnome/games/tali/default.nix4
-rw-r--r--pkgs/desktops/lumina/lumina-calculator/default.nix2
-rw-r--r--pkgs/desktops/lumina/lumina-pdf/default.nix2
-rw-r--r--pkgs/desktops/lumina/lumina/default.nix2
-rw-r--r--pkgs/desktops/lxqt/compton-conf/default.nix2
-rw-r--r--pkgs/desktops/lxqt/default.nix7
-rw-r--r--pkgs/desktops/lxqt/libfm-qt/default.nix6
-rw-r--r--pkgs/desktops/lxqt/liblxqt/default.nix6
-rw-r--r--pkgs/desktops/lxqt/libqtxdg/default.nix6
-rw-r--r--pkgs/desktops/lxqt/libsysstat/default.nix2
-rw-r--r--pkgs/desktops/lxqt/lximage-qt/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-about/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-admin/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-archiver/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-build-tools/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-config/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-globalkeys/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-notificationd/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-panel/default.nix7
-rw-r--r--pkgs/desktops/lxqt/lxqt-policykit/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-powermanagement/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-qtplugin/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-runner/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-session/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-sudo/default.nix6
-rw-r--r--pkgs/desktops/lxqt/lxqt-themes/default.nix6
-rw-r--r--pkgs/desktops/lxqt/obconf-qt/default.nix2
-rw-r--r--pkgs/desktops/lxqt/pavucontrol-qt/default.nix6
-rw-r--r--pkgs/desktops/lxqt/pcmanfm-qt/default.nix6
-rw-r--r--pkgs/desktops/lxqt/qlipper/default.nix2
-rw-r--r--pkgs/desktops/lxqt/qps/default.nix6
-rw-r--r--pkgs/desktops/lxqt/qterminal/default.nix6
-rw-r--r--pkgs/desktops/lxqt/qtermwidget/default.nix6
-rw-r--r--pkgs/desktops/lxqt/screengrab/default.nix6
-rw-r--r--pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix41
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard/default.nix17
-rw-r--r--pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix17
-rw-r--r--pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix12
-rw-r--r--pkgs/desktops/pantheon/default.nix2
-rw-r--r--pkgs/desktops/pantheon/granite/7/default.nix73
-rw-r--r--pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/3rdparty/kwin/scripts/dynamic-workspaces.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-terminal/default.nix4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-panel/default.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix4
-rw-r--r--pkgs/development/beam-modules/elvis-erlang/default.nix2
-rw-r--r--pkgs/development/beam-modules/erlang-ls/default.nix6
-rw-r--r--pkgs/development/beam-modules/erlang-ls/rebar-deps.nix15
-rw-r--r--pkgs/development/compilers/abcl/default.nix7
-rw-r--r--pkgs/development/compilers/bupc/default.nix1
-rw-r--r--pkgs/development/compilers/chez/default.nix6
-rw-r--r--pkgs/development/compilers/chicken/5/eggs.nix468
-rw-r--r--pkgs/development/compilers/chicken/5/eggs.scm8
-rw-r--r--pkgs/development/compilers/crystal/default.nix2
-rw-r--r--pkgs/development/compilers/dotnet/default.nix54
-rw-r--r--pkgs/development/compilers/gcc/10/default.nix1
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix1
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix1
-rw-r--r--pkgs/development/compilers/gcc/8/default.nix1
-rw-r--r--pkgs/development/compilers/gcc/9/default.nix1
-rw-r--r--pkgs/development/compilers/ghc/8.10.2-binary.nix14
-rw-r--r--pkgs/development/compilers/ghc/8.10.7-binary.nix14
-rw-r--r--pkgs/development/compilers/ghc/8.10.7.nix2
-rw-r--r--pkgs/development/compilers/ghc/9.0.2.nix2
-rw-r--r--pkgs/development/compilers/glslang/default.nix4
-rw-r--r--pkgs/development/compilers/go-jsonnet/default.nix4
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/default.nix10
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/graalvm11-ce-sources.json48
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/graalvm17-ce-sources.json48
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/update.nix1
-rw-r--r--pkgs/development/compilers/hare/config-template.mk27
-rw-r--r--pkgs/development/compilers/hare/hare.nix93
-rw-r--r--pkgs/development/compilers/hare/harec.nix45
-rw-r--r--pkgs/development/compilers/inklecate/deps-darwin.nix2
-rw-r--r--pkgs/development/compilers/inklecate/deps-linux.nix2
-rw-r--r--pkgs/development/compilers/jasmin-compiler/default.nix41
-rw-r--r--pkgs/development/compilers/kotlin/default.nix4
-rw-r--r--pkgs/development/compilers/kotlin/native.nix8
-rw-r--r--pkgs/development/compilers/ocaml/generic.nix10
-rw-r--r--pkgs/development/compilers/open-watcom/v2.nix6
-rw-r--r--pkgs/development/compilers/opendylan/bin.nix4
-rw-r--r--pkgs/development/compilers/openjdk/11.nix13
-rw-r--r--pkgs/development/compilers/openjdk/17.nix6
-rw-r--r--pkgs/development/compilers/openjdk/darwin/8.nix6
-rw-r--r--pkgs/development/compilers/openjdk/fix-library-path-jdk11.patch24
-rw-r--r--pkgs/development/compilers/ponyc/default.nix4
-rw-r--r--pkgs/development/compilers/purescript/purescript/default.nix12
-rw-r--r--pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.js2
-rw-r--r--pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix4
-rw-r--r--pkgs/development/compilers/sbcl/2.2.4.nix4
-rw-r--r--pkgs/development/compilers/scryer-prolog/cargo.patch101
-rw-r--r--pkgs/development/compilers/scryer-prolog/default.nix25
-rw-r--r--pkgs/development/compilers/scryer-prolog/fix-tests.patch29
-rw-r--r--pkgs/development/compilers/solc/default.nix45
-rw-r--r--pkgs/development/compilers/squeak/default.nix4
-rw-r--r--pkgs/development/compilers/swift/default.nix6
-rw-r--r--pkgs/development/compilers/uasm/default.nix4
-rw-r--r--pkgs/development/coq-modules/coqtail-math/default.nix7
-rw-r--r--pkgs/development/coq-modules/flocq/default.nix4
-rw-r--r--pkgs/development/coq-modules/mathcomp-word/default.nix3
-rw-r--r--pkgs/development/coq-modules/metacoq/default.nix76
-rw-r--r--pkgs/development/coq-modules/metalib/default.nix10
-rw-r--r--pkgs/development/coq-modules/parsec/default.nix8
-rw-r--r--pkgs/development/coq-modules/simple-io/default.nix13
-rw-r--r--pkgs/development/coq-modules/tlc/default.nix2
-rw-r--r--pkgs/development/embedded/fpga/apio/default.nix9
-rw-r--r--pkgs/development/embedded/openocd/default.nix1
-rw-r--r--pkgs/development/gnuradio-modules/osmosdr/default.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix34
-rw-r--r--pkgs/development/haskell-modules/configuration-darwin.nix13
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix7
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml15
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml4
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml62
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml11
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1543
-rw-r--r--pkgs/development/interpreters/alda/default.nix6
-rw-r--r--pkgs/development/interpreters/clojure/default.nix4
-rw-r--r--pkgs/development/interpreters/guile/1.8.nix1
-rw-r--r--pkgs/development/interpreters/guile/2.0.nix1
-rw-r--r--pkgs/development/interpreters/guile/2.2.nix1
-rw-r--r--pkgs/development/interpreters/guile/3.0.nix1
-rw-r--r--pkgs/development/interpreters/joker/default.nix4
-rw-r--r--pkgs/development/interpreters/nickel/default.nix33
-rw-r--r--pkgs/development/interpreters/php/generic.nix6
-rw-r--r--pkgs/development/interpreters/pixie/default.nix94
-rw-r--r--pkgs/development/interpreters/pixie/dust.nix46
-rw-r--r--pkgs/development/interpreters/pixie/load_paths.patch25
-rw-r--r--pkgs/development/interpreters/pixie/make-paths-configurable.patch119
-rw-r--r--pkgs/development/interpreters/python/default.nix5
-rw-r--r--pkgs/development/interpreters/python/graalpython/default.nix21
-rw-r--r--pkgs/development/interpreters/python/hooks/default.nix6
-rw-r--r--pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh3
-rw-r--r--pkgs/development/interpreters/python/hooks/sphinx-hook.sh57
-rw-r--r--pkgs/development/interpreters/python/wrapper.nix4
-rw-r--r--pkgs/development/interpreters/racket/default.nix4
-rw-r--r--pkgs/development/interpreters/racket/minimal.nix2
-rw-r--r--pkgs/development/interpreters/sollya/default.nix4
-rw-r--r--pkgs/development/interpreters/zuo/default.nix23
-rw-r--r--pkgs/development/java-modules/liquibase_redshift_extension/default.nix27
-rw-r--r--pkgs/development/java-modules/redshift_jdbc/default.nix28
-rw-r--r--pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix4
-rw-r--r--pkgs/development/libraries/audio/libspecbleach/default.nix26
-rw-r--r--pkgs/development/libraries/aws-sdk-cpp/default.nix14
-rw-r--r--pkgs/development/libraries/bash/bash-preexec/default.nix4
-rw-r--r--pkgs/development/libraries/bc-decaf/default.nix36
-rw-r--r--pkgs/development/libraries/bctoolbox/default.nix22
-rw-r--r--pkgs/development/libraries/belcard/default.nix7
-rw-r--r--pkgs/development/libraries/belle-sip/default.nix16
-rw-r--r--pkgs/development/libraries/belr/default.nix7
-rw-r--r--pkgs/development/libraries/boost/generic.nix4
-rw-r--r--pkgs/development/libraries/bzrtp/default.nix11
-rw-r--r--pkgs/development/libraries/clucene-core/2.x.nix5
-rw-r--r--pkgs/development/libraries/dbus/default.nix7
-rw-r--r--pkgs/development/libraries/docopt_cpp/default.nix12
-rw-r--r--pkgs/development/libraries/doctest/default.nix10
-rw-r--r--pkgs/development/libraries/duckdb/default.nix39
-rw-r--r--pkgs/development/libraries/entt/default.nix4
-rw-r--r--pkgs/development/libraries/fcft/default.nix4
-rw-r--r--pkgs/development/libraries/ffmpegthumbnailer/default.nix6
-rw-r--r--pkgs/development/libraries/freeimage/default.nix8
-rw-r--r--pkgs/development/libraries/freeimage/unbundle.diff78
-rw-r--r--pkgs/development/libraries/gdal/2.4.nix12
-rw-r--r--pkgs/development/libraries/gecode/3.nix4
-rw-r--r--pkgs/development/libraries/glib/default.nix12
-rw-r--r--pkgs/development/libraries/glibc/default.nix11
-rw-r--r--pkgs/development/libraries/glibmm/default.nix4
-rw-r--r--pkgs/development/libraries/goffice/default.nix6
-rw-r--r--pkgs/development/libraries/goocanvas/2.x.nix4
-rw-r--r--pkgs/development/libraries/graphene-hardened-malloc/default.nix23
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix8
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/devtools/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/rtsp-server/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/vaapi/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/viperfx/default.nix41
-rw-r--r--pkgs/development/libraries/gtk/4.x.nix4
-rw-r--r--pkgs/development/libraries/gtksourceview/5.x.nix4
-rw-r--r--pkgs/development/libraries/gusb/default.nix4
-rw-r--r--pkgs/development/libraries/gvfs/default.nix4
-rw-r--r--pkgs/development/libraries/htmlcxx/c++17.patch24
-rw-r--r--pkgs/development/libraries/htmlcxx/default.nix11
-rw-r--r--pkgs/development/libraries/hyperscan/default.nix4
-rw-r--r--pkgs/development/libraries/imath/default.nix4
-rw-r--r--pkgs/development/libraries/inih/default.nix6
-rw-r--r--pkgs/development/libraries/jarowinkler-cpp/default.nix41
-rw-r--r--pkgs/development/libraries/java/commons/daemon/default.nix4
-rw-r--r--pkgs/development/libraries/jellyfin-ffmpeg/default.nix2
-rw-r--r--pkgs/development/libraries/kpmcore/default.nix28
-rw-r--r--pkgs/development/libraries/lasso/default.nix42
-rw-r--r--pkgs/development/libraries/libadwaita/default.nix4
-rw-r--r--pkgs/development/libraries/libarchive/default.nix27
-rw-r--r--pkgs/development/libraries/libcef/default.nix12
-rw-r--r--pkgs/development/libraries/libdeltachat/default.nix8
-rw-r--r--pkgs/development/libraries/libe57format/default.nix9
-rw-r--r--pkgs/development/libraries/libechonest/default.nix3
-rw-r--r--pkgs/development/libraries/libhandy/default.nix7
-rw-r--r--pkgs/development/libraries/libinjection/default.nix16
-rw-r--r--pkgs/development/libraries/libinput/default.nix4
-rw-r--r--pkgs/development/libraries/libixp-hg/default.nix27
-rw-r--r--pkgs/development/libraries/libixp/default.nix28
-rw-r--r--pkgs/development/libraries/libjcat/default.nix7
-rw-r--r--pkgs/development/libraries/libkqueue/default.nix23
-rw-r--r--pkgs/development/libraries/liblinphone/default.nix32
-rw-r--r--pkgs/development/libraries/liblinphone/use-normal-jsoncpp.patch57
-rw-r--r--pkgs/development/libraries/libnftnl/default.nix2
-rw-r--r--pkgs/development/libraries/libosmscout/default.nix17
-rw-r--r--pkgs/development/libraries/libpinyin/default.nix6
-rw-r--r--pkgs/development/libraries/libpqxx/6.nix8
-rw-r--r--pkgs/development/libraries/libpqxx/default.nix4
-rw-r--r--pkgs/development/libraries/libraspberrypi/default.nix6
-rw-r--r--pkgs/development/libraries/libraw/default.nix8
-rw-r--r--pkgs/development/libraries/libraw/unstable.nix12
-rw-r--r--pkgs/development/libraries/libslirp/default.nix4
-rw-r--r--pkgs/development/libraries/libsystemtap/default.nix15
-rw-r--r--pkgs/development/libraries/libvdpau/default.nix4
-rw-r--r--pkgs/development/libraries/libviperfx/default.nix30
-rw-r--r--pkgs/development/libraries/libvirt/default.nix4
-rw-r--r--pkgs/development/libraries/libvmaf/default.nix4
-rw-r--r--pkgs/development/libraries/libwebsockets/default.nix17
-rw-r--r--pkgs/development/libraries/libxcrypt/default.nix4
-rw-r--r--pkgs/development/libraries/libxmlb/default.nix16
-rw-r--r--pkgs/development/libraries/libxsmm/default.nix4
-rw-r--r--pkgs/development/libraries/libyang/default.nix4
-rw-r--r--pkgs/development/libraries/lime/default.nix20
-rw-r--r--pkgs/development/libraries/mapbox-gl-qml/default.nix11
-rw-r--r--pkgs/development/libraries/maplibre-gl-native/default.nix66
-rw-r--r--pkgs/development/libraries/mediastreamer/default.nix39
-rw-r--r--pkgs/development/libraries/mediastreamer/msopenh264.nix13
-rw-r--r--pkgs/development/libraries/mesa/default.nix6
-rw-r--r--pkgs/development/libraries/mimetic/default.nix10
-rw-r--r--pkgs/development/libraries/mlt/qt-5.nix1
-rw-r--r--pkgs/development/libraries/nghttp3/default.nix6
-rw-r--r--pkgs/development/libraries/ngtcp2/default.nix6
-rw-r--r--pkgs/development/libraries/nss/85_security_load_3.77+.patch76
-rw-r--r--pkgs/development/libraries/nss/generic.nix6
-rw-r--r--pkgs/development/libraries/nss/latest.nix4
-rw-r--r--pkgs/development/libraries/ntdb/default.nix51
-rw-r--r--pkgs/development/libraries/openal-soft/default.nix22
-rw-r--r--pkgs/development/libraries/openal-soft/search-out.patch4
-rw-r--r--pkgs/development/libraries/opendht/default.nix4
-rw-r--r--pkgs/development/libraries/openfst/default.nix4
-rw-r--r--pkgs/development/libraries/openjpeg/default.nix2
-rw-r--r--pkgs/development/libraries/openssl/default.nix4
-rw-r--r--pkgs/development/libraries/ortp/default.nix9
-rw-r--r--pkgs/development/libraries/pdal/default.nix4
-rw-r--r--pkgs/development/libraries/physics/cernlib/default.nix4
-rwxr-xr-xpkgs/development/libraries/physics/lhapdf/maintainer.sh4
-rw-r--r--pkgs/development/libraries/physics/lhapdf/pdf_sets.nix560
-rw-r--r--pkgs/development/libraries/pocketsphinx/default.nix48
-rw-r--r--pkgs/development/libraries/poppler/0.61-CVE-2019-9959.patch20
-rw-r--r--pkgs/development/libraries/poppler/0.61.nix94
-rw-r--r--pkgs/development/libraries/proj/default.nix25
-rw-r--r--pkgs/development/libraries/protolock/default.nix2
-rw-r--r--pkgs/development/libraries/ptex/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebengine.nix21
-rw-r--r--pkgs/development/libraries/qwt/default.nix2
-rw-r--r--pkgs/development/libraries/rapidfuzz-cpp/default.nix41
-rw-r--r--pkgs/development/libraries/redis-plus-plus/default.nix38
-rw-r--r--pkgs/development/libraries/rocclr/default.nix4
-rw-r--r--pkgs/development/libraries/rocm-comgr/default.nix4
-rw-r--r--pkgs/development/libraries/rocm-device-libs/default.nix4
-rw-r--r--pkgs/development/libraries/rocm-runtime/default.nix4
-rw-r--r--pkgs/development/libraries/rocm-thunk/default.nix4
-rw-r--r--pkgs/development/libraries/science/astronomy/indilib/default.nix4
-rw-r--r--pkgs/development/libraries/science/biology/htslib/default.nix20
-rw-r--r--pkgs/development/libraries/science/math/caffe2/default.nix151
-rw-r--r--pkgs/development/libraries/science/math/caffe2/fix_compilation_on_gcc7.patch46
-rw-r--r--pkgs/development/libraries/science/math/caffe2/update_clang_cvtsh_bugfix.patch55
-rw-r--r--pkgs/development/libraries/science/math/liblapack/default.nix13
-rw-r--r--pkgs/development/libraries/science/math/scalapack/default.nix9
-rw-r--r--pkgs/development/libraries/science/math/zn_poly/default.nix18
-rw-r--r--pkgs/development/libraries/simpleitk/default.nix2
-rw-r--r--pkgs/development/libraries/skalibs/default.nix4
-rw-r--r--pkgs/development/libraries/slang/default.nix7
-rw-r--r--pkgs/development/libraries/snack/default.nix36
-rw-r--r--pkgs/development/libraries/soci/bc-soci.nix53
-rw-r--r--pkgs/development/libraries/sphinxbase/default.nix40
-rw-r--r--pkgs/development/libraries/spirv-headers/default.nix4
-rw-r--r--pkgs/development/libraries/taskflow/default.nix50
-rw-r--r--pkgs/development/libraries/taskflow/unvendor-doctest.patch21
-rw-r--r--pkgs/development/libraries/tdlib/default.nix6
-rw-r--r--pkgs/development/libraries/umockdev/default.nix25
-rw-r--r--pkgs/development/libraries/umockdev/hardcode-paths.patch69
-rw-r--r--pkgs/development/libraries/utmps/default.nix4
-rw-r--r--pkgs/development/libraries/vapoursynth/default.nix11
-rw-r--r--pkgs/development/libraries/vigra/default.nix18
-rw-r--r--pkgs/development/libraries/vulkan-headers/default.nix4
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix9
-rw-r--r--pkgs/development/libraries/vulkan-loader/fix-pkgconfig.patch14
-rw-r--r--pkgs/development/libraries/waylandpp/default.nix7
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix4
-rw-r--r--pkgs/development/libraries/wolfssl/default.nix4
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix4
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix4
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/default.nix30
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/fix-paths.patch13
-rw-r--r--pkgs/development/lisp-modules-new/.gitattributes1
-rw-r--r--pkgs/development/lisp-modules-new/.gitignore3
-rw-r--r--pkgs/development/lisp-modules-new/doc/api.md197
-rw-r--r--pkgs/development/lisp-modules-new/doc/nix-cl.md98
-rw-r--r--pkgs/development/lisp-modules-new/doc/quicklisp.md54
-rw-r--r--pkgs/development/lisp-modules-new/doc/quirks.md5
-rw-r--r--pkgs/development/lisp-modules-new/examples/abcl-package-set.nix24
-rw-r--r--pkgs/development/lisp-modules-new/examples/abcl-with-packages.nix23
-rw-r--r--pkgs/development/lisp-modules-new/examples/bordeaux-threads.nix43
-rw-r--r--pkgs/development/lisp-modules-new/examples/sbcl-with-bt.nix31
-rw-r--r--pkgs/development/lisp-modules-new/import/api.lisp18
-rw-r--r--pkgs/development/lisp-modules-new/import/database/sqlite.lisp134
-rw-r--r--pkgs/development/lisp-modules-new/import/init.sql41
-rw-r--r--pkgs/development/lisp-modules-new/import/main.lisp40
-rw-r--r--pkgs/development/lisp-modules-new/import/nix.lisp81
-rw-r--r--pkgs/development/lisp-modules-new/import/org.lispbuilds.nix.asd24
-rw-r--r--pkgs/development/lisp-modules-new/import/repository/quicklisp.lisp199
-rw-r--r--pkgs/development/lisp-modules-new/import/util.lisp16
-rw-r--r--pkgs/development/lisp-modules-new/imported.nix65675
-rw-r--r--pkgs/development/lisp-modules-new/lisp-packages.nix432
-rw-r--r--pkgs/development/lisp-modules-new/old-make-wrapper.sh155
-rw-r--r--pkgs/development/lisp-modules-new/packages.nix369
-rw-r--r--pkgs/development/lisp-modules-new/patches/swank-pure-paths.patch28
-rw-r--r--pkgs/development/lisp-modules-new/ql-import.lisp6
-rw-r--r--pkgs/development/lisp-modules-new/ql.nix140
-rw-r--r--pkgs/development/lisp-modules-new/readme.md34
-rw-r--r--pkgs/development/lisp-modules-new/shell.nix7
-rw-r--r--pkgs/development/lisp-modules-new/test/lispPackagesToTest.txt395
-rwxr-xr-xpkgs/development/lisp-modules-new/test/test.lisp94
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix51
-rw-r--r--pkgs/development/lua-modules/luaexpat.patch36
-rw-r--r--pkgs/development/lua-modules/overrides.nix9
-rw-r--r--pkgs/development/node-packages/composition.nix2
-rw-r--r--pkgs/development/node-packages/default.nix49
-rw-r--r--pkgs/development/node-packages/node-env.nix32
-rw-r--r--pkgs/development/node-packages/node-packages.json4
-rw-r--r--pkgs/development/node-packages/node-packages.nix8576
-rw-r--r--pkgs/development/ocaml-modules/alcotest/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/atd/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/atdgen/codec-runtime.nix18
-rw-r--r--pkgs/development/ocaml-modules/atdgen/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/atdgen/runtime.nix15
-rw-r--r--pkgs/development/ocaml-modules/bap/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/batteries/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/bitstring/ppx.nix2
-rw-r--r--pkgs/development/ocaml-modules/bitv/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/bz2/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/camlp-streams/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/camlpdf/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/caqti/default.nix13
-rw-r--r--pkgs/development/ocaml-modules/cpdf/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/cstruct/lwt.nix2
-rw-r--r--pkgs/development/ocaml-modules/cstruct/ppx.nix2
-rw-r--r--pkgs/development/ocaml-modules/cstruct/sexp.nix2
-rw-r--r--pkgs/development/ocaml-modules/cstruct/unix.nix2
-rw-r--r--pkgs/development/ocaml-modules/csv/lwt.nix2
-rw-r--r--pkgs/development/ocaml-modules/ctypes/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/dune-action-plugin/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/dune-glob/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/dune-private-libs/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/dune-rpc/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/dune-site/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/erm_xml/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/expat/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/farfadet/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/fiber/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/fmt/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/fpath/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/javalib/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lablgl/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lablgtk-extras/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/llvm/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/logs/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lua-ml/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lwt/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/nocrypto/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/notty/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocaml-lsp/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix12
-rw-r--r--pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix30
-rw-r--r--pkgs/development/ocaml-modules/ocamlformat-rpc-lib/default.nix18
-rw-r--r--pkgs/development/ocaml-modules/ocp-ocamlres/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-deriving/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-ppx-rpc/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-start/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ppxlib/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/reactivedata/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/reperf/default.nix41
-rw-r--r--pkgs/development/ocaml-modules/sawja/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/sedlex/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/sosa/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/stdune/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix39
-rw-r--r--pkgs/development/ocaml-modules/tezos/011-PtHangz2-test-helpers.nix35
-rw-r--r--pkgs/development/ocaml-modules/tezos/base-test-helpers.nix32
-rw-r--r--pkgs/development/ocaml-modules/tezos/base.nix37
-rw-r--r--pkgs/development/ocaml-modules/tezos/clic.nix28
-rw-r--r--pkgs/development/ocaml-modules/tezos/client-010-PtGRANAD.nix38
-rw-r--r--pkgs/development/ocaml-modules/tezos/client-011-PtHangz2.nix44
-rw-r--r--pkgs/development/ocaml-modules/tezos/client-base.nix28
-rw-r--r--pkgs/development/ocaml-modules/tezos/context.nix34
-rw-r--r--pkgs/development/ocaml-modules/tezos/crypto.nix42
-rw-r--r--pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/embedded-protocol-demo-noops.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/error-monad.nix35
-rw-r--r--pkgs/development/ocaml-modules/tezos/event-logging-test-helpers.nix25
-rw-r--r--pkgs/development/ocaml-modules/tezos/event-logging.nix28
-rw-r--r--pkgs/development/ocaml-modules/tezos/hacl-glue-unix.nix26
-rw-r--r--pkgs/development/ocaml-modules/tezos/hacl-glue.nix17
-rw-r--r--pkgs/development/ocaml-modules/tezos/legacy-store.nix42
-rw-r--r--pkgs/development/ocaml-modules/tezos/lmdb.nix51
-rw-r--r--pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix31
-rw-r--r--pkgs/development/ocaml-modules/tezos/micheline.nix32
-rw-r--r--pkgs/development/ocaml-modules/tezos/mockup-proxy.nix27
-rw-r--r--pkgs/development/ocaml-modules/tezos/mockup-registration.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/p2p-services.nix19
-rw-r--r--pkgs/development/ocaml-modules/tezos/p2p.nix38
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix28
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2-parameters.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2.nix28
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-alpha.nix21
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-compiler.nix34
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix21
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix18
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix42
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix25
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-environment.nix43
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-plugin-011-PtHangz2.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-plugin-alpha.nix21
-rw-r--r--pkgs/development/ocaml-modules/tezos/protocol-updater.nix26
-rw-r--r--pkgs/development/ocaml-modules/tezos/proxy.nix36
-rw-r--r--pkgs/development/ocaml-modules/tezos/requester.nix34
-rw-r--r--pkgs/development/ocaml-modules/tezos/rpc-http-client-unix.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/rpc-http-client.nix23
-rw-r--r--pkgs/development/ocaml-modules/tezos/rpc-http.nix25
-rw-r--r--pkgs/development/ocaml-modules/tezos/rpc.nix25
-rw-r--r--pkgs/development/ocaml-modules/tezos/sapling.nix35
-rw-r--r--pkgs/development/ocaml-modules/tezos/shell-context.nix21
-rw-r--r--pkgs/development/ocaml-modules/tezos/shell-services-test-helpers.nix32
-rw-r--r--pkgs/development/ocaml-modules/tezos/shell-services.nix30
-rw-r--r--pkgs/development/ocaml-modules/tezos/shell.nix44
-rw-r--r--pkgs/development/ocaml-modules/tezos/signer-backends.nix30
-rw-r--r--pkgs/development/ocaml-modules/tezos/signer-services.nix21
-rw-r--r--pkgs/development/ocaml-modules/tezos/stdlib-unix.nix33
-rw-r--r--pkgs/development/ocaml-modules/tezos/stdlib.nix64
-rw-r--r--pkgs/development/ocaml-modules/tezos/store.nix50
-rw-r--r--pkgs/development/ocaml-modules/tezos/test-helpers.nix28
-rw-r--r--pkgs/development/ocaml-modules/tezos/validation.nix28
-rw-r--r--pkgs/development/ocaml-modules/tezos/version.nix21
-rw-r--r--pkgs/development/ocaml-modules/tezos/workers.nix21
-rw-r--r--pkgs/development/ocaml-modules/tsdl/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/uri/sexp.nix2
-rw-r--r--pkgs/development/ocaml-modules/uucp/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/uunf/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/uuuu/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/vg/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/wasm/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/xdg/default.nix17
-rw-r--r--pkgs/development/ocaml-modules/xmlm/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/z3/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/zarith/default.nix2
-rw-r--r--pkgs/development/octave-modules/octproj/default.nix1
-rw-r--r--pkgs/development/php-packages/openswoole/default.nix22
-rw-r--r--pkgs/development/php-packages/pdepend/default.nix41
-rw-r--r--pkgs/development/python-modules/Nikola/default.nix4
-rw-r--r--pkgs/development/python-modules/Theano/default.nix2
-rw-r--r--pkgs/development/python-modules/XlsxWriter/default.nix4
-rw-r--r--pkgs/development/python-modules/advocate/default.nix45
-rw-r--r--pkgs/development/python-modules/afsapi/default.nix6
-rw-r--r--pkgs/development/python-modules/ailment/default.nix6
-rw-r--r--pkgs/development/python-modules/aioairzone/default.nix4
-rw-r--r--pkgs/development/python-modules/aiodiscover/default.nix4
-rw-r--r--pkgs/development/python-modules/aioftp/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohttp-apispec/default.nix9
-rw-r--r--pkgs/development/python-modules/aiohttp-remotes/default.nix6
-rw-r--r--pkgs/development/python-modules/aiohttp-swagger/default.nix12
-rw-r--r--pkgs/development/python-modules/aiolifx/default.nix13
-rw-r--r--pkgs/development/python-modules/aiolimiter/default.nix65
-rw-r--r--pkgs/development/python-modules/aiomysql/default.nix44
-rw-r--r--pkgs/development/python-modules/aiooncue/default.nix4
-rw-r--r--pkgs/development/python-modules/aioqsw/default.nix6
-rw-r--r--pkgs/development/python-modules/aioslimproto/default.nix41
-rw-r--r--pkgs/development/python-modules/amply/default.nix4
-rw-r--r--pkgs/development/python-modules/amqp/default.nix6
-rw-r--r--pkgs/development/python-modules/androidtv/default.nix4
-rw-r--r--pkgs/development/python-modules/angr/default.nix6
-rw-r--r--pkgs/development/python-modules/angrop/default.nix6
-rw-r--r--pkgs/development/python-modules/ansible-compat/default.nix4
-rw-r--r--pkgs/development/python-modules/ansible-doctor/default.nix57
-rw-r--r--pkgs/development/python-modules/ansible-later/default.nix6
-rw-r--r--pkgs/development/python-modules/ansible-runner/default.nix6
-rw-r--r--pkgs/development/python-modules/ansible/base.nix88
-rw-r--r--pkgs/development/python-modules/ansible/core.nix19
-rw-r--r--pkgs/development/python-modules/ansible/default.nix (renamed from pkgs/development/python-modules/ansible/collections.nix)23
-rw-r--r--pkgs/development/python-modules/ansible/legacy.nix55
-rw-r--r--pkgs/development/python-modules/apispec/default.nix22
-rw-r--r--pkgs/development/python-modules/apprise/default.nix4
-rw-r--r--pkgs/development/python-modules/approvaltests/default.nix6
-rw-r--r--pkgs/development/python-modules/aprslib/default.nix4
-rw-r--r--pkgs/development/python-modules/apsw/default.nix38
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix18
-rw-r--r--pkgs/development/python-modules/arris-tg2492lg/default.nix43
-rw-r--r--pkgs/development/python-modules/asciimatics/default.nix4
-rw-r--r--pkgs/development/python-modules/async-upnp-client/default.nix4
-rw-r--r--pkgs/development/python-modules/authheaders/default.nix4
-rw-r--r--pkgs/development/python-modules/av/default.nix10
-rw-r--r--pkgs/development/python-modules/awkward/default.nix2
-rw-r--r--pkgs/development/python-modules/aws-adfs/default.nix58
-rw-r--r--pkgs/development/python-modules/aws-lambda-builders/default.nix6
-rw-r--r--pkgs/development/python-modules/awscrt/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-identity/default.nix33
-rw-r--r--pkgs/development/python-modules/azure-mgmt-msi/default.nix15
-rw-r--r--pkgs/development/python-modules/azure-mgmt-reservations/default.nix12
-rw-r--r--pkgs/development/python-modules/azure-mgmt-resource/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-synapse-artifacts/default.nix4
-rw-r--r--pkgs/development/python-modules/backports-zoneinfo/default.nix19
-rw-r--r--pkgs/development/python-modules/beautifulsoup4/default.nix12
-rw-r--r--pkgs/development/python-modules/bimmer-connected/default.nix4
-rw-r--r--pkgs/development/python-modules/bitstruct/default.nix4
-rw-r--r--pkgs/development/python-modules/bleach/default.nix4
-rw-r--r--pkgs/development/python-modules/bleak/default.nix4
-rw-r--r--pkgs/development/python-modules/blspy/default.nix6
-rw-r--r--pkgs/development/python-modules/bottleneck/default.nix45
-rw-r--r--pkgs/development/python-modules/boxx/default.nix15
-rw-r--r--pkgs/development/python-modules/bpython/default.nix18
-rw-r--r--pkgs/development/python-modules/breezy/default.nix25
-rw-r--r--pkgs/development/python-modules/browser-cookie3/default.nix11
-rw-r--r--pkgs/development/python-modules/bsblan/default.nix27
-rw-r--r--pkgs/development/python-modules/caldav/default.nix6
-rw-r--r--pkgs/development/python-modules/can/default.nix4
-rw-r--r--pkgs/development/python-modules/canonicaljson/default.nix6
-rw-r--r--pkgs/development/python-modules/casbin/default.nix4
-rw-r--r--pkgs/development/python-modules/celery/default.nix4
-rw-r--r--pkgs/development/python-modules/cert-chain-resolver/default.nix29
-rw-r--r--pkgs/development/python-modules/certomancer/default.nix71
-rw-r--r--pkgs/development/python-modules/claripy/default.nix10
-rw-r--r--pkgs/development/python-modules/cle/default.nix8
-rw-r--r--pkgs/development/python-modules/codepy/default.nix35
-rw-r--r--pkgs/development/python-modules/collections-extended/default.nix13
-rw-r--r--pkgs/development/python-modules/commoncode/default.nix4
-rw-r--r--pkgs/development/python-modules/connexion/default.nix26
-rw-r--r--pkgs/development/python-modules/contexttimer/default.nix42
-rw-r--r--pkgs/development/python-modules/coqpit/default.nix6
-rw-r--r--pkgs/development/python-modules/crytic-compile/default.nix6
-rw-r--r--pkgs/development/python-modules/dask-yarn/default.nix47
-rw-r--r--pkgs/development/python-modules/databricks-connect/default.nix4
-rw-r--r--pkgs/development/python-modules/db-dtypes/default.nix39
-rw-r--r--pkgs/development/python-modules/deezer-python/default.nix6
-rw-r--r--pkgs/development/python-modules/deltachat/default.nix10
-rw-r--r--pkgs/development/python-modules/denonavr/default.nix4
-rw-r--r--pkgs/development/python-modules/devito/default.nix100
-rw-r--r--pkgs/development/python-modules/django-taggit/default.nix4
-rw-r--r--pkgs/development/python-modules/dm-sonnet/default.nix91
-rw-r--r--pkgs/development/python-modules/dockerfile-parse/default.nix36
-rw-r--r--pkgs/development/python-modules/docstring-parser/default.nix36
-rw-r--r--pkgs/development/python-modules/dropbox/default.nix53
-rw-r--r--pkgs/development/python-modules/duckdb-engine/default.nix40
-rw-r--r--pkgs/development/python-modules/dungeon-eos/default.nix4
-rw-r--r--pkgs/development/python-modules/durus/default.nix28
-rw-r--r--pkgs/development/python-modules/eagle100/default.nix4
-rw-r--r--pkgs/development/python-modules/elementpath/default.nix8
-rw-r--r--pkgs/development/python-modules/elkm1-lib/default.nix4
-rw-r--r--pkgs/development/python-modules/envs/default.nix26
-rw-r--r--pkgs/development/python-modules/exceptiongroup/default.nix39
-rw-r--r--pkgs/development/python-modules/faraday-agent-parameters-types/default.nix7
-rw-r--r--pkgs/development/python-modules/faraday-plugins/default.nix4
-rw-r--r--pkgs/development/python-modules/fastavro/default.nix6
-rw-r--r--pkgs/development/python-modules/fastbencode/default.nix26
-rw-r--r--pkgs/development/python-modules/fastjsonschema/default.nix17
-rw-r--r--pkgs/development/python-modules/fenics/default.nix (renamed from pkgs/development/libraries/science/math/fenics/default.nix)28
-rw-r--r--pkgs/development/python-modules/ffcv/default.nix5
-rw-r--r--pkgs/development/python-modules/filetype/default.nix32
-rw-r--r--pkgs/development/python-modules/fivem-api/default.nix42
-rw-r--r--pkgs/development/python-modules/flake8-bugbear/default.nix13
-rw-r--r--pkgs/development/python-modules/flake8-debugger/default.nix37
-rw-r--r--pkgs/development/python-modules/flask-appbuilder/default.nix17
-rw-r--r--pkgs/development/python-modules/flask-compress/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-httpauth/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-jwt-extended/default.nix41
-rw-r--r--pkgs/development/python-modules/flask-login/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-testing/default.nix56
-rw-r--r--pkgs/development/python-modules/flatdict/default.nix4
-rw-r--r--pkgs/development/python-modules/flax/default.nix1
-rw-r--r--pkgs/development/python-modules/fontmake/default.nix42
-rw-r--r--pkgs/development/python-modules/fonttools/default.nix10
-rw-r--r--pkgs/development/python-modules/fqdn/default.nix36
-rw-r--r--pkgs/development/python-modules/fuse-python/default.nix4
-rw-r--r--pkgs/development/python-modules/garminconnect/default.nix6
-rw-r--r--pkgs/development/python-modules/gbulb/default.nix43
-rw-r--r--pkgs/development/python-modules/gcal-sync/default.nix46
-rw-r--r--pkgs/development/python-modules/gehomesdk/default.nix4
-rw-r--r--pkgs/development/python-modules/gensim/default.nix57
-rw-r--r--pkgs/development/python-modules/geopandas/default.nix15
-rw-r--r--pkgs/development/python-modules/ghp-import/default.nix16
-rw-r--r--pkgs/development/python-modules/glad/default.nix18
-rw-r--r--pkgs/development/python-modules/glances-api/default.nix4
-rw-r--r--pkgs/development/python-modules/glcontext/default.nix6
-rw-r--r--pkgs/development/python-modules/globus-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/glyphslib/default.nix59
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix48
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery/default.nix15
-rw-r--r--pkgs/development/python-modules/google-cloud-videointelligence/default.nix4
-rw-r--r--pkgs/development/python-modules/gradient/default.nix4
-rw-r--r--pkgs/development/python-modules/graph_nets/default.nix45
-rw-r--r--pkgs/development/python-modules/gtts/default.nix4
-rw-r--r--pkgs/development/python-modules/hahomematic/default.nix6
-rw-r--r--pkgs/development/python-modules/hatasmota/default.nix6
-rw-r--r--pkgs/development/python-modules/hatchling/default.nix4
-rw-r--r--pkgs/development/python-modules/hg-evolve/default.nix4
-rw-r--r--pkgs/development/python-modules/hkavr/default.nix37
-rw-r--r--pkgs/development/python-modules/hmmlearn/default.nix13
-rw-r--r--pkgs/development/python-modules/howdoi/default.nix18
-rw-r--r--pkgs/development/python-modules/http-message-signatures/default.nix56
-rw-r--r--pkgs/development/python-modules/http-sfv/default.nix39
-rw-r--r--pkgs/development/python-modules/hydra-check/default.nix31
-rw-r--r--pkgs/development/python-modules/hyppo/default.nix6
-rw-r--r--pkgs/development/python-modules/ibis-framework/default.nix81
-rw-r--r--pkgs/development/python-modules/identify/default.nix4
-rw-r--r--pkgs/development/python-modules/ihatemoney/default.nix70
-rw-r--r--pkgs/development/python-modules/impacket/default.nix4
-rw-r--r--pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix26
-rw-r--r--pkgs/development/python-modules/intellifire4py/default.nix4
-rw-r--r--pkgs/development/python-modules/intensity-normalization/default.nix2
-rw-r--r--pkgs/development/python-modules/ipython-sql/default.nix58
-rw-r--r--pkgs/development/python-modules/ismartgate/default.nix14
-rw-r--r--pkgs/development/python-modules/isoduration/default.nix50
-rw-r--r--pkgs/development/python-modules/jc/default.nix4
-rw-r--r--pkgs/development/python-modules/jedi-language-server/default.nix6
-rw-r--r--pkgs/development/python-modules/jeepney/default.nix13
-rw-r--r--pkgs/development/python-modules/json-schema-for-humans/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonrpc-async/default.nix29
-rw-r--r--pkgs/development/python-modules/jsonrpc-base/default.nix10
-rw-r--r--pkgs/development/python-modules/jug/default.nix49
-rw-r--r--pkgs/development/python-modules/jupyterlab_server/default.nix8
-rw-r--r--pkgs/development/python-modules/jwcrypto/default.nix4
-rw-r--r--pkgs/development/python-modules/labgrid/default.nix2
-rw-r--r--pkgs/development/python-modules/lektor/default.nix4
-rw-r--r--pkgs/development/python-modules/libtmux/default.nix12
-rw-r--r--pkgs/development/python-modules/lightwave2/default.nix4
-rw-r--r--pkgs/development/python-modules/limnoria/default.nix4
-rw-r--r--pkgs/development/python-modules/loopy/default.nix (renamed from pkgs/development/python-modules/loo-py/default.nix)52
-rw-r--r--pkgs/development/python-modules/luxtronik/default.nix4
-rw-r--r--pkgs/development/python-modules/mailchecker/default.nix4
-rw-r--r--pkgs/development/python-modules/marshmallow-dataclass/default.nix4
-rw-r--r--pkgs/development/python-modules/mat2/default.nix4
-rw-r--r--pkgs/development/python-modules/mautrix/default.nix6
-rw-r--r--pkgs/development/python-modules/meater-python/default.nix37
-rw-r--r--pkgs/development/python-modules/meshtastic/default.nix4
-rw-r--r--pkgs/development/python-modules/mkdocs-material/default.nix19
-rw-r--r--pkgs/development/python-modules/mkdocs-minify/default.nix37
-rw-r--r--pkgs/development/python-modules/mkdocs-redirects/default.nix31
-rw-r--r--pkgs/development/python-modules/mocket/default.nix4
-rw-r--r--pkgs/development/python-modules/monty/default.nix6
-rw-r--r--pkgs/development/python-modules/murmurhash/default.nix4
-rw-r--r--pkgs/development/python-modules/mutmut/default.nix4
-rw-r--r--pkgs/development/python-modules/mwdblib/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy-boto3-s3/default.nix4
-rw-r--r--pkgs/development/python-modules/namedlist/default.nix39
-rw-r--r--pkgs/development/python-modules/nbclient/default.nix43
-rw-r--r--pkgs/development/python-modules/nbconvert/default.nix15
-rw-r--r--pkgs/development/python-modules/neo4j-driver/default.nix4
-rw-r--r--pkgs/development/python-modules/net2grid/default.nix58
-rw-r--r--pkgs/development/python-modules/nettigo-air-monitor/default.nix4
-rw-r--r--pkgs/development/python-modules/netutils/default.nix66
-rw-r--r--pkgs/development/python-modules/nutils/default.nix32
-rw-r--r--pkgs/development/python-modules/nvchecker/default.nix4
-rw-r--r--pkgs/development/python-modules/onnx/default.nix11
-rw-r--r--pkgs/development/python-modules/openai/default.nix4
-rw-r--r--pkgs/development/python-modules/openstep-plist/default.nix31
-rw-r--r--pkgs/development/python-modules/pandas/default.nix2
-rw-r--r--pkgs/development/python-modules/pathy/default.nix51
-rw-r--r--pkgs/development/python-modules/peaqevcore/default.nix38
-rw-r--r--pkgs/development/python-modules/peco/default.nix39
-rw-r--r--pkgs/development/python-modules/peewee/default.nix11
-rw-r--r--pkgs/development/python-modules/pencompy/default.nix32
-rw-r--r--pkgs/development/python-modules/pex/default.nix4
-rw-r--r--pkgs/development/python-modules/pg8000/default.nix4
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/pikepdf/default.nix8
-rw-r--r--pkgs/development/python-modules/pilkit/default.nix46
-rw-r--r--pkgs/development/python-modules/pillow-simd/default.nix6
-rw-r--r--pkgs/development/python-modules/pims/default.nix61
-rw-r--r--pkgs/development/python-modules/pipdate/default.nix14
-rw-r--r--pkgs/development/python-modules/pipdeptree/default.nix41
-rw-r--r--pkgs/development/python-modules/plugwise/default.nix4
-rw-r--r--pkgs/development/python-modules/poetry-dynamic-versioning/default.nix58
-rw-r--r--pkgs/development/python-modules/policyuniverse/default.nix4
-rw-r--r--pkgs/development/python-modules/preprocess-cancellation/default.nix42
-rw-r--r--pkgs/development/python-modules/preprocess-cancellation/pep-621.patch20
-rw-r--r--pkgs/development/python-modules/proton-client/0001-OpenSSL-path-fix.patch41
-rw-r--r--pkgs/development/python-modules/proton-client/default.nix26
-rw-r--r--pkgs/development/python-modules/pubnub/default.nix4
-rw-r--r--pkgs/development/python-modules/py-desmume/default.nix17
-rw-r--r--pkgs/development/python-modules/pyTelegramBotAPI/default.nix4
-rw-r--r--pkgs/development/python-modules/pybind11/default.nix5
-rw-r--r--pkgs/development/python-modules/pybullet/default.nix4
-rw-r--r--pkgs/development/python-modules/pycapnp/default.nix8
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--pkgs/development/python-modules/pycm/default.nix6
-rw-r--r--pkgs/development/python-modules/pycoolmasternet-async/default.nix4
-rw-r--r--pkgs/development/python-modules/pydantic/default.nix2
-rw-r--r--pkgs/development/python-modules/pydeconz/default.nix10
-rw-r--r--pkgs/development/python-modules/pydeps/default.nix60
-rw-r--r--pkgs/development/python-modules/pyeapi/default.nix44
-rw-r--r--pkgs/development/python-modules/pyevilgenius/default.nix4
-rw-r--r--pkgs/development/python-modules/pyezviz/default.nix4
-rw-r--r--pkgs/development/python-modules/pyfritzhome/default.nix6
-rw-r--r--pkgs/development/python-modules/pyhanko-certvalidator/default.nix73
-rw-r--r--pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch25
-rw-r--r--pkgs/development/python-modules/pyhanko/default.nix132
-rw-r--r--pkgs/development/python-modules/pyhiveapi/default.nix6
-rw-r--r--pkgs/development/python-modules/pyinfra/default.nix4
-rw-r--r--pkgs/development/python-modules/pyinsteon/default.nix6
-rw-r--r--pkgs/development/python-modules/pyiqvia/default.nix6
-rw-r--r--pkgs/development/python-modules/pykulersky/default.nix4
-rw-r--r--pkgs/development/python-modules/pylast/default.nix10
-rw-r--r--pkgs/development/python-modules/pymyq/default.nix6
-rw-r--r--pkgs/development/python-modules/pync/default.nix2
-rw-r--r--pkgs/development/python-modules/pynetdicom/default.nix12
-rw-r--r--pkgs/development/python-modules/pynetgear/default.nix4
-rw-r--r--pkgs/development/python-modules/pynrrd/default.nix18
-rw-r--r--pkgs/development/python-modules/pynws/default.nix4
-rw-r--r--pkgs/development/python-modules/pyomo/default.nix56
-rw-r--r--pkgs/development/python-modules/pyopenuv/default.nix8
-rw-r--r--pkgs/development/python-modules/pyoppleio/default.nix37
-rw-r--r--pkgs/development/python-modules/pyplaato/default.nix4
-rw-r--r--pkgs/development/python-modules/pyplatec/default.nix2
-rw-r--r--pkgs/development/python-modules/pypykatz/default.nix4
-rw-r--r--pkgs/development/python-modules/pyqtwebengine/default.nix2
-rw-r--r--pkgs/development/python-modules/pyradios/default.nix2
-rw-r--r--pkgs/development/python-modules/pyrainbird/default.nix58
-rw-r--r--pkgs/development/python-modules/pyrevolve/default.nix41
-rw-r--r--pkgs/development/python-modules/pyrogram/default.nix15
-rw-r--r--pkgs/development/python-modules/pysaj/default.nix41
-rw-r--r--pkgs/development/python-modules/pysensibo/default.nix39
-rw-r--r--pkgs/development/python-modules/pyshp/default.nix4
-rw-r--r--pkgs/development/python-modules/pysigma/default.nix9
-rw-r--r--pkgs/development/python-modules/pyskyqremote/default.nix6
-rw-r--r--pkgs/development/python-modules/pytenable/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-aiohttp/default.nix24
-rw-r--r--pkgs/development/python-modules/pytest-ansible/default.nix2
-rw-r--r--pkgs/development/python-modules/pytest-datafiles/default.nix41
-rw-r--r--pkgs/development/python-modules/pytest-isort/default.nix58
-rw-r--r--pkgs/development/python-modules/pytest-mpl/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-snapshot/default.nix9
-rw-r--r--pkgs/development/python-modules/python-barcode/default.nix48
-rw-r--r--pkgs/development/python-modules/python-benedict/default.nix6
-rw-r--r--pkgs/development/python-modules/python-efl/default.nix2
-rw-r--r--pkgs/development/python-modules/python-gitlab/default.nix4
-rw-r--r--pkgs/development/python-modules/python-kasa/default.nix6
-rw-r--r--pkgs/development/python-modules/python-pae/default.nix39
-rw-r--r--pkgs/development/python-modules/python-smarttub/default.nix4
-rw-r--r--pkgs/development/python-modules/python-sql/default.nix32
-rw-r--r--pkgs/development/python-modules/pytomorrowio/default.nix6
-rw-r--r--pkgs/development/python-modules/pytorch-metric-learning/default.nix1
-rw-r--r--pkgs/development/python-modules/pytorch-pfn-extras/default.nix26
-rw-r--r--pkgs/development/python-modules/pytorch/default.nix8
-rw-r--r--pkgs/development/python-modules/pytrafikverket/default.nix15
-rw-r--r--pkgs/development/python-modules/pyttsx3/default.nix24
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix6
-rw-r--r--pkgs/development/python-modules/pyvips/default.nix16
-rw-r--r--pkgs/development/python-modules/pyvo/default.nix2
-rw-r--r--pkgs/development/python-modules/pywinrm/default.nix40
-rw-r--r--pkgs/development/python-modules/qiskit-ibmq-provider/default.nix6
-rw-r--r--pkgs/development/python-modules/qiskit-terra/default.nix6
-rw-r--r--pkgs/development/python-modules/qiskit/default.nix4
-rw-r--r--pkgs/development/python-modules/raincloudy/default.nix61
-rw-r--r--pkgs/development/python-modules/rapidfuzz/default.nix14
-rw-r--r--pkgs/development/python-modules/ratelimiter/default.nix34
-rw-r--r--pkgs/development/python-modules/readme_renderer/default.nix4
-rw-r--r--pkgs/development/python-modules/reorder-python-imports/default.nix4
-rw-r--r--pkgs/development/python-modules/requests-cache/default.nix4
-rw-r--r--pkgs/development/python-modules/requests-http-signature/default.nix20
-rw-r--r--pkgs/development/python-modules/requests-pkcs12/default.nix13
-rw-r--r--pkgs/development/python-modules/ripser/default.nix18
-rw-r--r--pkgs/development/python-modules/rjpl/default.nix37
-rw-r--r--pkgs/development/python-modules/rns/default.nix4
-rw-r--r--pkgs/development/python-modules/ropper/default.nix41
-rw-r--r--pkgs/development/python-modules/s3-credentials/default.nix4
-rw-r--r--pkgs/development/python-modules/scikit-learn-extra/default.nix1
-rw-r--r--pkgs/development/python-modules/scikit-survival/default.nix4
-rw-r--r--pkgs/development/python-modules/scmrepo/default.nix4
-rw-r--r--pkgs/development/python-modules/seabreeze/default.nix7
-rw-r--r--pkgs/development/python-modules/secretstorage/default.nix23
-rw-r--r--pkgs/development/python-modules/segyio/default.nix55
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix34
-rw-r--r--pkgs/development/python-modules/seventeentrack/default.nix4
-rw-r--r--pkgs/development/python-modules/signedjson/default.nix49
-rw-r--r--pkgs/development/python-modules/simplejson/default.nix2
-rw-r--r--pkgs/development/python-modules/simplisafe-python/default.nix8
-rw-r--r--pkgs/development/python-modules/skein/default.nix47
-rw-r--r--pkgs/development/python-modules/skein/skeinjar.nix23
-rw-r--r--pkgs/development/python-modules/skein/skeinrepo.nix44
-rw-r--r--pkgs/development/python-modules/skia-pathops/default.nix43
-rw-r--r--pkgs/development/python-modules/skytemple-files/default.nix4
-rw-r--r--pkgs/development/python-modules/skytemple-rust/default.nix21
-rw-r--r--pkgs/development/python-modules/skytemple-ssb-debugger/default.nix4
-rw-r--r--pkgs/development/python-modules/slack-sdk/default.nix6
-rw-r--r--pkgs/development/python-modules/slither-analyzer/default.nix16
-rw-r--r--pkgs/development/python-modules/slixmpp/0001-xep_0030-allow-extra-args-in-get_info_from_domain.patch36
-rw-r--r--pkgs/development/python-modules/slixmpp/default.nix2
-rw-r--r--pkgs/development/python-modules/smart-open/default.nix34
-rw-r--r--pkgs/development/python-modules/snowflake-connector-python/default.nix4
-rw-r--r--pkgs/development/python-modules/snowflake-sqlalchemy/default.nix4
-rw-r--r--pkgs/development/python-modules/socid-extractor/default.nix8
-rw-r--r--pkgs/development/python-modules/spacy-transformers/default.nix14
-rw-r--r--pkgs/development/python-modules/spacy/default.nix47
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-spelling/default.nix28
-rw-r--r--pkgs/development/python-modules/sqlalchemy-mixins/default.nix6
-rw-r--r--pkgs/development/python-modules/sqlite-utils/default.nix11
-rw-r--r--pkgs/development/python-modules/sqlitedict/default.nix6
-rw-r--r--pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--pkgs/development/python-modules/srvlookup/default.nix39
-rw-r--r--pkgs/development/python-modules/staticjinja/default.nix4
-rw-r--r--pkgs/development/python-modules/stringly/default.nix28
-rw-r--r--pkgs/development/python-modules/stripe/default.nix4
-rw-r--r--pkgs/development/python-modules/superqt/default.nix6
-rw-r--r--pkgs/development/python-modules/svdtools/default.nix20
-rw-r--r--pkgs/development/python-modules/swspotify/default.nix55
-rw-r--r--pkgs/development/python-modules/tern/default.nix4
-rw-r--r--pkgs/development/python-modules/teslajsonpy/default.nix6
-rw-r--r--pkgs/development/python-modules/textual/default.nix29
-rw-r--r--pkgs/development/python-modules/timetagger/default.nix6
-rw-r--r--pkgs/development/python-modules/total-connect-client/default.nix4
-rw-r--r--pkgs/development/python-modules/tpm2-pytss/default.nix55
-rw-r--r--pkgs/development/python-modules/treelog/default.nix28
-rw-r--r--pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--pkgs/development/python-modules/twitch-python/default.nix4
-rw-r--r--pkgs/development/python-modules/types-cryptography/default.nix4
-rw-r--r--pkgs/development/python-modules/types-dateutil/default.nix4
-rw-r--r--pkgs/development/python-modules/types-decorator/default.nix4
-rw-r--r--pkgs/development/python-modules/types-paramiko/default.nix4
-rw-r--r--pkgs/development/python-modules/types-pytz/default.nix4
-rw-r--r--pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--pkgs/development/python-modules/types-tabulate/default.nix4
-rw-r--r--pkgs/development/python-modules/types-toml/default.nix4
-rw-r--r--pkgs/development/python-modules/types-typed-ast/default.nix4
-rw-r--r--pkgs/development/python-modules/types-urllib3/default.nix4
-rw-r--r--pkgs/development/python-modules/typical/default.nix19
-rw-r--r--pkgs/development/python-modules/ufo2ft/default.nix4
-rw-r--r--pkgs/development/python-modules/ufoLib2/default.nix3
-rw-r--r--pkgs/development/python-modules/uharfbuzz/default.nix45
-rw-r--r--pkgs/development/python-modules/update-dotdee/default.nix45
-rw-r--r--pkgs/development/python-modules/vispy/default.nix4
-rw-r--r--pkgs/development/python-modules/vivisect/default.nix30
-rw-r--r--pkgs/development/python-modules/voluptuous/default.nix26
-rw-r--r--pkgs/development/python-modules/wandb/default.nix60
-rw-r--r--pkgs/development/python-modules/webssh/default.nix4
-rw-r--r--pkgs/development/python-modules/weconnect-mqtt/default.nix4
-rw-r--r--pkgs/development/python-modules/weconnect/default.nix4
-rw-r--r--pkgs/development/python-modules/wifi/default.nix45
-rw-r--r--pkgs/development/python-modules/winacl/default.nix8
-rw-r--r--pkgs/development/python-modules/winsspi/default.nix20
-rw-r--r--pkgs/development/python-modules/xhtml2pdf/default.nix10
-rw-r--r--pkgs/development/python-modules/xknx/default.nix13
-rw-r--r--pkgs/development/python-modules/xml2rfc/default.nix50
-rw-r--r--pkgs/development/python-modules/xxhash/default.nix5
-rw-r--r--pkgs/development/python-modules/youtube-search-python/default.nix4
-rw-r--r--pkgs/development/python-modules/yte/default.nix57
-rw-r--r--pkgs/development/python-modules/zeroconf/default.nix6
-rw-r--r--pkgs/development/python-modules/zha-quirks/default.nix14
-rw-r--r--pkgs/development/python-modules/zigpy-deconz/default.nix9
-rw-r--r--pkgs/development/python-modules/zigpy/default.nix6
-rw-r--r--pkgs/development/python-modules/zodbpickle/default.nix4
-rw-r--r--pkgs/development/python-modules/zwave-js-server-python/default.nix4
-rw-r--r--pkgs/development/python-modules/zwave-me-ws/default.nix52
-rw-r--r--pkgs/development/quickemu/default.nix12
-rw-r--r--pkgs/development/tools/altair-graphql-client/default.nix7
-rw-r--r--pkgs/development/tools/amazon-qldb-shell/default.nix4
-rw-r--r--pkgs/development/tools/ammonite/default.nix6
-rw-r--r--pkgs/development/tools/analysis/actionlint/default.nix4
-rw-r--r--pkgs/development/tools/analysis/brakeman/Gemfile.lock4
-rw-r--r--pkgs/development/tools/analysis/brakeman/gemset.nix4
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix5
-rw-r--r--pkgs/development/tools/analysis/codeql/default.nix8
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix4
-rw-r--r--pkgs/development/tools/analysis/cvehound/default.nix29
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/oclgrind/default.nix5
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix4
-rw-r--r--pkgs/development/tools/analysis/rr/default.nix16
-rw-r--r--pkgs/development/tools/analysis/tfsec/default.nix6
-rw-r--r--pkgs/development/tools/apksigcopier/default.nix47
-rw-r--r--pkgs/development/tools/bingo/bingo_version.patch13
-rw-r--r--pkgs/development/tools/bingo/default.nix12
-rw-r--r--pkgs/development/tools/buf/default.nix10
-rw-r--r--pkgs/development/tools/build-managers/alibuild/default.nix15
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_1/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_3/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_3/gcc11.patch24
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_4/default.nix10
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_5/default.nix10
-rw-r--r--pkgs/development/tools/build-managers/bazel/buildtools/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/bloop/default.nix62
-rw-r--r--pkgs/development/tools/build-managers/mage/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/rebar3/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/redo-apenwarr/default.nix3
-rw-r--r--pkgs/development/tools/build-managers/rocm-cmake/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/scala-cli/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/tup/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/tup/fusermount-setuid.patch31
-rw-r--r--pkgs/development/tools/build-managers/tup/setup-hook.sh4
-rw-r--r--pkgs/development/tools/checkmate/default.nix4
-rw-r--r--pkgs/development/tools/clj-kondo/default.nix4
-rw-r--r--pkgs/development/tools/conftest/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/dagger/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/default.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/deps.nix10
-rw-r--r--pkgs/development/tools/dapr/cli/default.nix23
-rw-r--r--pkgs/development/tools/database/clickhouse-backup/default.nix6
-rw-r--r--pkgs/development/tools/database/liquibase/default.nix29
-rw-r--r--pkgs/development/tools/database/pg_activity/default.nix6
-rw-r--r--pkgs/development/tools/database/prisma-engines/default.nix18
-rw-r--r--pkgs/development/tools/database/sqlfluff/default.nix4
-rw-r--r--pkgs/development/tools/ddosify/default.nix6
-rw-r--r--pkgs/development/tools/dive/default.nix2
-rw-r--r--pkgs/development/tools/doctl/default.nix4
-rw-r--r--pkgs/development/tools/dprint/default.nix6
-rw-r--r--pkgs/development/tools/earthly/default.nix4
-rw-r--r--pkgs/development/tools/efm-langserver/default.nix4
-rw-r--r--pkgs/development/tools/electron/default.nix60
-rw-r--r--pkgs/development/tools/electron/generic.nix11
-rw-r--r--pkgs/development/tools/esbuild/default.nix4
-rw-r--r--pkgs/development/tools/evans/default.nix6
-rw-r--r--pkgs/development/tools/flip-link/default.nix18
-rw-r--r--pkgs/development/tools/flyway/default.nix4
-rw-r--r--pkgs/development/tools/fq/default.nix10
-rw-r--r--pkgs/development/tools/fx/default.nix22
-rw-r--r--pkgs/development/tools/ginkgo/default.nix6
-rw-r--r--pkgs/development/tools/go-motion/default.nix23
-rw-r--r--pkgs/development/tools/go-protobuf/default.nix2
-rw-r--r--pkgs/development/tools/go-toml/default.nix14
-rw-r--r--pkgs/development/tools/gofumpt/default.nix2
-rw-r--r--pkgs/development/tools/gojq/default.nix4
-rw-r--r--pkgs/development/tools/gomplate/default.nix15
-rw-r--r--pkgs/development/tools/gosec/default.nix2
-rw-r--r--pkgs/development/tools/hcloud/default.nix15
-rw-r--r--pkgs/development/tools/hjson-go/default.nix26
-rw-r--r--pkgs/development/tools/jdt-language-server/default.nix103
-rw-r--r--pkgs/development/tools/just/default.nix6
-rw-r--r--pkgs/development/tools/kdash/default.nix34
-rw-r--r--pkgs/development/tools/krankerl/default.nix2
-rw-r--r--pkgs/development/tools/kube-linter/default.nix4
-rw-r--r--pkgs/development/tools/metals/default.nix17
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix10
-rw-r--r--pkgs/development/tools/misc/blackfire/default.nix94
-rw-r--r--pkgs/development/tools/misc/blackfire/php-probe.nix174
-rw-r--r--pkgs/development/tools/misc/circleci-cli/default.nix4
-rw-r--r--pkgs/development/tools/misc/clojure-lsp/default.nix6
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix2
-rw-r--r--pkgs/development/tools/misc/devspace/default.nix37
-rw-r--r--pkgs/development/tools/misc/go-license-detector/default.nix14
-rw-r--r--pkgs/development/tools/misc/mkcert/default.nix6
-rw-r--r--pkgs/development/tools/misc/patchelf/0.13.nix23
-rw-r--r--pkgs/development/tools/misc/patchelf/default.nix2
-rw-r--r--pkgs/development/tools/misc/saleae-logic-2/default.nix4
-rw-r--r--pkgs/development/tools/misc/universal-ctags/default.nix2
-rw-r--r--pkgs/development/tools/mockgen/default.nix11
-rw-r--r--pkgs/development/tools/mold/default.nix4
-rw-r--r--pkgs/development/tools/mustache-go/default.nix15
-rw-r--r--pkgs/development/tools/mysql-shell/default.nix1
-rw-r--r--pkgs/development/tools/ocaml/cppo/ocamlbuild.nix2
-rw-r--r--pkgs/development/tools/ocaml/dune/1.nix2
-rw-r--r--pkgs/development/tools/ocaml/dune/3.nix4
-rw-r--r--pkgs/development/tools/ocaml/merlin/4.x.nix2
-rwxr-xr-xpkgs/development/tools/omnisharp-roslyn/create-deps.sh14
-rw-r--r--pkgs/development/tools/omnisharp-roslyn/default.nix5
-rw-r--r--pkgs/development/tools/omnisharp-roslyn/deps.nix54
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/default.nix3
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-clojure.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-devicetree.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-gomod.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-janet-simple.json11
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-julia.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ledger.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-pgn.json11
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-prisma.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json11
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-toml.json10
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/update.nix17
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/default.nix12
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/lib.nix2
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json158
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix102
-rw-r--r--pkgs/development/tools/protoc-gen-doc/default.nix10
-rw-r--r--pkgs/development/tools/protoc-gen-entgrpc/default.nix28
-rw-r--r--pkgs/development/tools/protoc-gen-twirp_php/default.nix8
-rw-r--r--pkgs/development/tools/protolint/default.nix39
-rw-r--r--pkgs/development/tools/pur/default.nix21
-rw-r--r--pkgs/development/tools/purescript/spago/spago.nix6
-rw-r--r--pkgs/development/tools/pydb/default.nix25
-rw-r--r--pkgs/development/tools/quick-lint-js/default.nix4
-rw-r--r--pkgs/development/tools/reflex/default.nix15
-rw-r--r--pkgs/development/tools/relic/default.nix23
-rw-r--r--pkgs/development/tools/rocminfo/default.nix4
-rw-r--r--pkgs/development/tools/ronn/Gemfile2
-rw-r--r--pkgs/development/tools/ronn/Gemfile.lock24
-rw-r--r--pkgs/development/tools/ronn/default.nix12
-rw-r--r--pkgs/development/tools/ronn/gemset.nix63
-rw-r--r--pkgs/development/tools/rover/default.nix12
-rw-r--r--pkgs/development/tools/rover/librusty_v8.nix17
-rw-r--r--pkgs/development/tools/rover/schema/etag.id2
-rw-r--r--pkgs/development/tools/rover/schema/schema.graphql44
-rwxr-xr-xpkgs/development/tools/rover/update.sh21
-rw-r--r--pkgs/development/tools/rust/cargo-depgraph/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-diet/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-nextest/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-sync-readme/default.nix7
-rw-r--r--pkgs/development/tools/rust/cbindgen/default.nix8
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--pkgs/development/tools/scalafix/default.nix17
-rw-r--r--pkgs/development/tools/selenium/chromedriver/default.nix4
-rw-r--r--pkgs/development/tools/snazy/default.nix34
-rw-r--r--pkgs/development/tools/spirv-tools/default.nix4
-rw-r--r--pkgs/development/tools/sq/default.nix4
-rw-r--r--pkgs/development/tools/sumneko-lua-language-server/default.nix11
-rw-r--r--pkgs/development/tools/tracy/default.nix10
-rw-r--r--pkgs/development/tools/unityhub/default.nix11
-rw-r--r--pkgs/development/tools/vala-language-server/default.nix2
-rw-r--r--pkgs/development/tools/vulkan-validation-layers/default.nix24
-rw-r--r--pkgs/development/tools/vulkan-validation-layers/robin-hood-hashing.nix33
-rw-r--r--pkgs/development/tools/wails/default.nix6
-rw-r--r--pkgs/development/tools/winpdb/default.nix55
-rw-r--r--pkgs/development/tools/wp4nix/default.nix30
-rw-r--r--pkgs/development/tools/yarn/default.nix4
-rw-r--r--pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js3
-rw-r--r--pkgs/development/tools/yq-go/default.nix4
-rw-r--r--pkgs/development/web/cypress/default.nix4
-rw-r--r--pkgs/development/web/deno/default.nix13
-rw-r--r--pkgs/development/web/deno/librusty_v8.nix10
-rw-r--r--pkgs/development/web/flyctl/default.nix6
-rw-r--r--pkgs/development/web/nodejs/nodejs.nix4
-rw-r--r--pkgs/development/web/nodejs/v14.nix4
-rw-r--r--pkgs/development/web/nodejs/v16.nix12
-rw-r--r--pkgs/development/web/nodejs/v18.nix15
-rw-r--r--pkgs/games/7kaa/default.nix17
-rw-r--r--pkgs/games/assaultcube/default.nix84
-rw-r--r--pkgs/games/ddnet/default.nix16
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/default.nix3
-rw-r--r--pkgs/games/factorio/versions.json48
-rw-r--r--pkgs/games/hedgewars/default.nix5
-rw-r--r--pkgs/games/kabeljau/default.nix40
-rw-r--r--pkgs/games/lgames/barrage/default.nix31
-rw-r--r--pkgs/games/lgames/lbreakout2/default.nix23
-rw-r--r--pkgs/games/lgames/lbreakouthd/default.nix35
-rw-r--r--pkgs/games/lgames/lpairs2/default.nix33
-rw-r--r--pkgs/games/lgogdownloader/default.nix4
-rw-r--r--pkgs/games/mindustry/default.nix20
-rw-r--r--pkgs/games/openrct2/default.nix12
-rw-r--r--pkgs/games/opensupaplex/default.nix4
-rw-r--r--pkgs/games/osu-lazer/deps.nix4
-rwxr-xr-xpkgs/games/osu-lazer/update.sh9
-rw-r--r--pkgs/games/polymc/default.nix6
-rw-r--r--pkgs/games/prboom-plus/default.nix62
-rw-r--r--pkgs/games/prboom/default.nix35
-rw-r--r--pkgs/games/quake2/yquake2/default.nix46
-rw-r--r--pkgs/games/quake2/yquake2/games.nix6
-rw-r--r--pkgs/games/quakespasm/vulkan.nix4
-rw-r--r--pkgs/games/rili/default.nix14
-rw-r--r--pkgs/games/runescape-launcher/default.nix40
-rw-r--r--pkgs/games/tintin/default.nix35
-rw-r--r--pkgs/games/warzone2100/default.nix4
-rw-r--r--pkgs/games/xconq/default.nix2
-rw-r--r--pkgs/games/xonotic/default.nix11
-rw-r--r--pkgs/misc/cups/drivers/kyodialog3/default.nix2
-rw-r--r--pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix4
-rw-r--r--pkgs/misc/drivers/pantum-driver/default.nix52
-rw-r--r--pkgs/misc/openrussian-cli/default.nix4
-rw-r--r--pkgs/misc/platformsh/default.nix50
-rw-r--r--pkgs/misc/rich-cli/default.nix26
-rw-r--r--pkgs/misc/scrcpy/default.nix6
-rw-r--r--pkgs/misc/tpm2-pkcs11/default.nix8
-rw-r--r--pkgs/misc/uboot/default.nix35
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/frameworks.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix4
-rw-r--r--pkgs/os-specific/darwin/mas/default.nix4
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix1
-rw-r--r--pkgs/os-specific/linux/bionic-prebuilt/default.nix50
-rw-r--r--pkgs/os-specific/linux/bolt/default.nix22
-rw-r--r--pkgs/os-specific/linux/cifs-utils/default.nix18
-rw-r--r--pkgs/os-specific/linux/device-tree/default.nix4
-rw-r--r--pkgs/os-specific/linux/ell/default.nix7
-rw-r--r--pkgs/os-specific/linux/evdi/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/facetimehd-calibration/default.nix62
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix46
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch20
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix25
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi/default.nix15
-rw-r--r--pkgs/os-specific/linux/iwd/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel-headers/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/hardened/patches.json50
-rwxr-xr-xpkgs/os-specific/linux/kernel/hardened/update.py9
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.15.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.16.nix18
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.17.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi.nix9
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-zen.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix4
-rwxr-xr-xpkgs/os-specific/linux/kernel/update-zen.sh2
-rw-r--r--pkgs/os-specific/linux/ledger-udev-rules/default.nix6
-rw-r--r--pkgs/os-specific/linux/libcap-ng/default.nix4
-rw-r--r--pkgs/os-specific/linux/linux-wifi-hotspot/default.nix15
-rw-r--r--pkgs/os-specific/linux/lvm2/common.nix16
-rw-r--r--pkgs/os-specific/linux/multipath-tools/default.nix4
-rw-r--r--pkgs/os-specific/linux/musl-obstack/default.nix4
-rw-r--r--pkgs/os-specific/linux/nftables/default.nix16
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix12
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generic.nix2
-rw-r--r--pkgs/os-specific/linux/power-profiles-daemon/default.nix71
-rw-r--r--pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch37
-rw-r--r--pkgs/os-specific/linux/raspberrypi-eeprom/default.nix11
-rw-r--r--pkgs/os-specific/linux/rdma-core/default.nix10
-rw-r--r--pkgs/os-specific/linux/rdma-core/pkg-config-template.patch14
-rw-r--r--pkgs/os-specific/linux/rtl8723bs/default.nix2
-rw-r--r--pkgs/os-specific/linux/s6-linux-init/default.nix4
-rw-r--r--pkgs/os-specific/linux/sasutils/default.nix28
-rw-r--r--pkgs/os-specific/linux/sch_cake/default.nix2
-rw-r--r--pkgs/os-specific/linux/sgx/ssl/default.nix4
-rw-r--r--pkgs/os-specific/linux/speedometer/default.nix26
-rw-r--r--pkgs/os-specific/linux/sysstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/upower/default.nix12
-rw-r--r--pkgs/os-specific/linux/usbrelay/daemon.nix36
-rw-r--r--pkgs/os-specific/linux/usbrelay/default.nix29
-rw-r--r--pkgs/os-specific/linux/usbrelay/python.nix12
-rw-r--r--pkgs/os-specific/linux/usbrelay/test.nix63
-rw-r--r--pkgs/os-specific/linux/vmware/default.nix47
-rw-r--r--pkgs/pkgs-lib/formats/java-properties/default.nix22
-rw-r--r--pkgs/pkgs-lib/formats/java-properties/test/default.nix9
-rw-r--r--pkgs/pkgs-lib/tests/formats.nix25
-rw-r--r--pkgs/servers/adguardhome/bins.nix12
-rw-r--r--pkgs/servers/adguardhome/default.nix10
-rwxr-xr-xpkgs/servers/adguardhome/update.sh5
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix6
-rw-r--r--pkgs/servers/asterisk/default.nix33
-rw-r--r--pkgs/servers/atlassian/confluence.nix6
-rw-r--r--pkgs/servers/atlassian/jira.nix6
-rw-r--r--pkgs/servers/caddy/default.nix8
-rw-r--r--pkgs/servers/calibre-web/default.nix19
-rw-r--r--pkgs/servers/computing/slurm/default.nix4
-rw-r--r--pkgs/servers/dict/wiktionary/default.nix4
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix4
-rw-r--r--pkgs/servers/dns/pdns/default.nix4
-rw-r--r--pkgs/servers/etebase/default.nix31
-rw-r--r--pkgs/servers/foundationdb/vsmake.nix8
-rw-r--r--pkgs/servers/gortr/default.nix3
-rw-r--r--pkgs/servers/gpm/default.nix39
-rw-r--r--pkgs/servers/grocy/default.nix4
-rw-r--r--pkgs/servers/heisenbridge/default.nix7
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix89
-rw-r--r--pkgs/servers/home-assistant/default.nix19
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/hqplayerd/default.nix57
-rw-r--r--pkgs/servers/http/couchdb/3.nix12
-rw-r--r--pkgs/servers/http/nginx/generic.nix7
-rw-r--r--pkgs/servers/http/nginx/stable.nix9
-rw-r--r--pkgs/servers/http/unit/default.nix3
-rw-r--r--pkgs/servers/icingaweb2/default.nix4
-rw-r--r--pkgs/servers/irc/inspircd/default.nix4
-rw-r--r--pkgs/servers/kanidm/default.nix89
-rw-r--r--pkgs/servers/keycloak/default.nix8
-rw-r--r--pkgs/servers/klipper/default.nix6
-rw-r--r--pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix4
-rw-r--r--pkgs/servers/mail/opensmtpd/cross_fix.diff13
-rw-r--r--pkgs/servers/mail/opensmtpd/default.nix1
-rw-r--r--pkgs/servers/mail/postfix/default.nix4
-rw-r--r--pkgs/servers/mastodon/default.nix2
-rw-r--r--pkgs/servers/mastodon/gemset.nix144
-rw-r--r--pkgs/servers/mastodon/source.nix4
-rw-r--r--pkgs/servers/mastodon/version.nix2
-rw-r--r--pkgs/servers/matrix-synapse/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix2
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix14
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json4
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json8
-rw-r--r--pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix4
-rw-r--r--pkgs/servers/mattermost/matterircd.nix12
-rw-r--r--pkgs/servers/mautrix-facebook/default.nix4
-rw-r--r--pkgs/servers/mautrix-signal/default.nix4
-rw-r--r--pkgs/servers/mautrix-telegram/default.nix10
-rw-r--r--pkgs/servers/monitoring/alerta/client.nix4
-rw-r--r--pkgs/servers/monitoring/alerta/default.nix13
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix8
-rw-r--r--pkgs/servers/monitoring/mimir/default.nix35
-rw-r--r--pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix4
-rw-r--r--pkgs/servers/monitoring/net-snmp/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/aws-s3-exporter.nix14
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix179
-rw-r--r--pkgs/servers/monitoring/prometheus/haproxy-exporter.nix16
-rw-r--r--pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/promscale/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/webui/codemirror-promql/default.nix17
-rw-r--r--pkgs/servers/monitoring/prometheus/webui/codemirror-promql/node-packages.nix9436
-rw-r--r--pkgs/servers/monitoring/prometheus/webui/codemirror-promql/package-lock.json22167
-rw-r--r--pkgs/servers/monitoring/prometheus/webui/codemirror-promql/package.json93
-rwxr-xr-xpkgs/servers/monitoring/prometheus/webui/update-web-deps.sh32
-rw-r--r--pkgs/servers/monitoring/prometheus/webui/webui/default.nix17
-rw-r--r--pkgs/servers/monitoring/prometheus/webui/webui/node-packages.nix17600
-rw-r--r--pkgs/servers/monitoring/prometheus/webui/webui/package-lock.json48650
-rw-r--r--pkgs/servers/monitoring/prometheus/webui/webui/package.json109
-rw-r--r--pkgs/servers/monitoring/thanos/default.nix4
-rw-r--r--pkgs/servers/monitoring/uchiwa/bower-packages.nix25
-rw-r--r--pkgs/servers/monitoring/uchiwa/default.nix53
-rw-r--r--pkgs/servers/monitoring/uchiwa/src.nix4
-rwxr-xr-xpkgs/servers/monitoring/uchiwa/update.sh42
-rw-r--r--pkgs/servers/moonraker/default.nix6
-rw-r--r--pkgs/servers/nextcloud/default.nix8
-rw-r--r--pkgs/servers/nosql/cassandra/generic.nix3
-rw-r--r--pkgs/servers/nosql/redis/default.nix10
-rw-r--r--pkgs/servers/openafs/1.8/module.nix35
-rw-r--r--pkgs/servers/openvscode-server/default.nix25
-rw-r--r--pkgs/servers/openvscode-server/remove-node-download.patch16
-rw-r--r--pkgs/servers/plex/raw.nix6
-rw-r--r--pkgs/servers/pulseaudio/default.nix13
-rw-r--r--pkgs/servers/redpanda/default.nix35
-rw-r--r--pkgs/servers/roon-server/default.nix4
-rw-r--r--pkgs/servers/routinator/default.nix6
-rw-r--r--pkgs/servers/sabnzbd/default.nix16
-rw-r--r--pkgs/servers/sql/dolt/default.nix10
-rw-r--r--pkgs/servers/sql/postgresql/ext/jsonb_deep_sum.nix31
-rw-r--r--pkgs/servers/sql/postgresql/packages.nix2
-rw-r--r--pkgs/servers/stayrtr/default.nix4
-rw-r--r--pkgs/servers/tailscale/default.nix13
-rw-r--r--pkgs/servers/unifi/default.nix4
-rw-r--r--pkgs/servers/uxplay/default.nix60
-rw-r--r--pkgs/servers/vouch-proxy/default.nix6
-rw-r--r--pkgs/servers/web-apps/jitsi-meet/default.nix4
-rw-r--r--pkgs/servers/web-apps/nifi/default.nix4
-rw-r--r--pkgs/servers/web-apps/sogo/default.nix4
-rw-r--r--pkgs/servers/web-apps/wallabag/default.nix4
-rw-r--r--pkgs/servers/web-apps/wiki-js/default.nix4
-rw-r--r--pkgs/servers/wishlist/default.nix27
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix31
-rw-r--r--pkgs/servers/zookeeper/default.nix7
-rw-r--r--pkgs/shells/fish/plugins/fzf-fish.nix4
-rw-r--r--pkgs/shells/oksh/default.nix8
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--pkgs/stdenv/darwin/default.nix2
-rw-r--r--pkgs/stdenv/freebsd/default.nix2
-rw-r--r--pkgs/stdenv/generic/check-meta.nix55
-rw-r--r--pkgs/stdenv/generic/default.nix2
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix77
-rw-r--r--pkgs/stdenv/linux/default.nix2
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.nix2
-rw-r--r--pkgs/tools/X11/libstrangle/default.nix10
-rw-r--r--pkgs/tools/X11/libstrangle/nixos.patch2
-rw-r--r--pkgs/tools/X11/mmutils/default.nix24
-rw-r--r--pkgs/tools/X11/opentabletdriver/default.nix4
-rw-r--r--pkgs/tools/X11/opentabletdriver/deps.nix2
-rw-r--r--pkgs/tools/admin/aliyun-cli/default.nix4
-rw-r--r--pkgs/tools/admin/ansible/default.nix24
-rw-r--r--pkgs/tools/admin/aws-google-auth/default.nix6
-rw-r--r--pkgs/tools/admin/awslogs/default.nix39
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix18
-rw-r--r--pkgs/tools/admin/cli53/default.nix25
-rw-r--r--pkgs/tools/admin/colmena/default.nix17
-rw-r--r--pkgs/tools/admin/ejson2env/default.nix6
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/lxd/default.nix10
-rw-r--r--pkgs/tools/admin/pgadmin/default.nix141
-rw-r--r--pkgs/tools/admin/pgadmin/package.json11
-rw-r--r--pkgs/tools/admin/pgadmin/yarn.lock253
-rw-r--r--pkgs/tools/admin/pgadmin/yarn.nix244
-rw-r--r--pkgs/tools/admin/pulumi/data.nix242
-rwxr-xr-xpkgs/tools/admin/pulumi/update.sh6
-rw-r--r--pkgs/tools/admin/scaleway-cli/default.nix10
-rw-r--r--pkgs/tools/admin/ssh-import-id/default.nix8
-rw-r--r--pkgs/tools/admin/stripe-cli/default.nix55
-rw-r--r--pkgs/tools/admin/syft/default.nix6
-rw-r--r--pkgs/tools/admin/tigervnc/default.nix15
-rw-r--r--pkgs/tools/admin/trivy/default.nix6
-rw-r--r--pkgs/tools/admin/winbox/default.nix2
-rw-r--r--pkgs/tools/archivers/7zz/default.nix4
-rw-r--r--pkgs/tools/archivers/bomutils/default.nix5
-rw-r--r--pkgs/tools/archivers/gbl/default.nix49
-rw-r--r--pkgs/tools/archivers/quickbms/default.nix2
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/audio/headset-charge-indicator/default.nix63
-rw-r--r--pkgs/tools/audio/mictray/default.nix53
-rw-r--r--pkgs/tools/audio/mpdsync/default.nix25
-rw-r--r--pkgs/tools/audio/yabridge/default.nix13
-rw-r--r--pkgs/tools/audio/yabridge/hardcode-dependencies.patch4
-rw-r--r--pkgs/tools/audio/yabridgectl/default.nix2
-rw-r--r--pkgs/tools/backup/dar/default.nix4
-rw-r--r--pkgs/tools/backup/discordchatexporter-cli/default.nix4
-rw-r--r--pkgs/tools/backup/duply/default.nix10
-rw-r--r--pkgs/tools/cd-dvd/ventoy-bin/default.nix17
-rw-r--r--pkgs/tools/cd-dvd/ventoy-bin/ventoy-gui.desktop10
-rw-r--r--pkgs/tools/compression/pxz/default.nix4
-rw-r--r--pkgs/tools/filesystems/bcachefs-tools/default.nix6
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix4
-rw-r--r--pkgs/tools/filesystems/fuse-7z-ng/default.nix2
-rw-r--r--pkgs/tools/filesystems/garage/default.nix4
-rw-r--r--pkgs/tools/filesystems/httm/default.nix32
-rw-r--r--pkgs/tools/filesystems/irods/common.nix4
-rw-r--r--pkgs/tools/filesystems/irods/default.nix5
-rw-r--r--pkgs/tools/filesystems/rmfuse/default.nix18
-rw-r--r--pkgs/tools/filesystems/rmfuse/poetry-git-overlay.nix4
-rw-r--r--pkgs/tools/filesystems/rmfuse/poetry.lock438
-rw-r--r--pkgs/tools/filesystems/squashfs/default.nix11
-rw-r--r--pkgs/tools/filesystems/xfsprogs/default.nix4
-rw-r--r--pkgs/tools/filesystems/zkfuse/default.nix7
-rw-r--r--pkgs/tools/graphics/enblend-enfuse/default.nix33
-rw-r--r--pkgs/tools/graphics/feedgnuplot/default.nix4
-rw-r--r--pkgs/tools/graphics/gnuplot/default.nix4
-rw-r--r--pkgs/tools/graphics/graphviz/default.nix17
-rw-r--r--pkgs/tools/graphics/pfstools/default.nix2
-rw-r--r--pkgs/tools/graphics/pfstools/glut.patch12
-rw-r--r--pkgs/tools/graphics/pixel2svg/default.nix20
-rw-r--r--pkgs/tools/graphics/pngtools/default.nix23
-rw-r--r--pkgs/tools/graphics/svgcleaner/default.nix26
-rw-r--r--pkgs/tools/graphics/vulkan-extension-layer/default.nix4
-rw-r--r--pkgs/tools/graphics/vulkan-tools-lunarg/default.nix4
-rw-r--r--pkgs/tools/graphics/vulkan-tools/default.nix44
-rw-r--r--pkgs/tools/inputmethods/droidmote/default.nix61
-rw-r--r--pkgs/tools/inputmethods/fcitx5/default.nix6
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-rime-with-nix-env-variable.patch18
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix2
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix7
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix10
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix3
-rw-r--r--pkgs/tools/inputmethods/input-remapper/default.nix6
-rw-r--r--pkgs/tools/inputmethods/libinput-gestures/0001-hardcode-name.patch18
-rw-r--r--pkgs/tools/inputmethods/libinput-gestures/0002-paths.patch61
-rw-r--r--pkgs/tools/inputmethods/libinput-gestures/default.nix4
-rw-r--r--pkgs/tools/inputmethods/lisgd/default.nix4
-rw-r--r--pkgs/tools/misc/adrgen/default.nix4
-rw-r--r--pkgs/tools/misc/agedu/default.nix14
-rw-r--r--pkgs/tools/misc/antimicrox/default.nix4
-rw-r--r--pkgs/tools/misc/apkeep/default.nix6
-rw-r--r--pkgs/tools/misc/arch-install-scripts/default.nix1
-rw-r--r--pkgs/tools/misc/asdf-vm/default.nix4
-rw-r--r--pkgs/tools/misc/atuin/default.nix6
-rw-r--r--pkgs/tools/misc/bat-extras/default.nix10
-rw-r--r--pkgs/tools/misc/bcunit/default.nix10
-rw-r--r--pkgs/tools/misc/bsp-layout/default.nix21
-rw-r--r--pkgs/tools/misc/calamares-nixos-extensions/default.nix30
-rw-r--r--pkgs/tools/misc/calamares/default.nix66
-rw-r--r--pkgs/tools/misc/calamares/nixos-extensions-paths.patch46
-rw-r--r--pkgs/tools/misc/calamares/nonroot.patch105
-rw-r--r--pkgs/tools/misc/calamares/packagechooserq.patch136
-rw-r--r--pkgs/tools/misc/calamares/partitions.patch28
-rw-r--r--pkgs/tools/misc/calamares/uimod.patch85
-rw-r--r--pkgs/tools/misc/calamares/unfreeq.patch109
-rw-r--r--pkgs/tools/misc/calamares/userjob.patch31
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--pkgs/tools/misc/cht.sh/default.nix6
-rw-r--r--pkgs/tools/misc/cmdpack/default.nix136
-rw-r--r--pkgs/tools/misc/coreutils/default.nix2
-rw-r--r--pkgs/tools/misc/cpufetch/default.nix6
-rw-r--r--pkgs/tools/misc/czkawka/default.nix10
-rw-r--r--pkgs/tools/misc/datefmt/default.nix4
-rw-r--r--pkgs/tools/misc/didyoumean/default.nix32
-rw-r--r--pkgs/tools/misc/dotter/default.nix8
-rw-r--r--pkgs/tools/misc/dsq/default.nix62
-rw-r--r--pkgs/tools/misc/esphome/dashboard.nix4
-rw-r--r--pkgs/tools/misc/esphome/default.nix4
-rw-r--r--pkgs/tools/misc/ethtool/default.nix21
-rw-r--r--pkgs/tools/misc/fclones/default.nix6
-rw-r--r--pkgs/tools/misc/fortune/default.nix5
-rw-r--r--pkgs/tools/misc/gay/default.nix12
-rw-r--r--pkgs/tools/misc/geekbench/4.nix41
-rw-r--r--pkgs/tools/misc/github-backup/default.nix4
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix4
-rw-r--r--pkgs/tools/misc/gosu/default.nix25
-rw-r--r--pkgs/tools/misc/gosu/deps.nix11
-rw-r--r--pkgs/tools/misc/gummy/default.nix4
-rw-r--r--pkgs/tools/misc/idutils/default.nix4
-rw-r--r--pkgs/tools/misc/ikill/default.nix23
-rw-r--r--pkgs/tools/misc/kargo/default.nix2
-rw-r--r--pkgs/tools/misc/lookatme/default.nix67
-rw-r--r--pkgs/tools/misc/lrzsz/default.nix2
-rw-r--r--pkgs/tools/misc/lsd/default.nix10
-rw-r--r--pkgs/tools/misc/man-db/default.nix25
-rw-r--r--pkgs/tools/misc/melody/default.nix6
-rw-r--r--pkgs/tools/misc/mutagen/default.nix12
-rw-r--r--pkgs/tools/misc/ncdu_2/c-import-order.patch17
-rw-r--r--pkgs/tools/misc/ncdu_2/default.nix10
-rw-r--r--pkgs/tools/misc/nix-direnv/default.nix4
-rw-r--r--pkgs/tools/misc/ntfy-sh/default.nix6
-rw-r--r--pkgs/tools/misc/partition-manager/default.nix10
-rw-r--r--pkgs/tools/misc/pferd/default.nix4
-rw-r--r--pkgs/tools/misc/phoronix-test-suite/default.nix4
-rw-r--r--pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--pkgs/tools/misc/pouf/default.nix29
-rw-r--r--pkgs/tools/misc/rpm-ostree/default.nix4
-rw-r--r--pkgs/tools/misc/rust-motd/default.nix8
-rw-r--r--pkgs/tools/misc/s6-portable-utils/default.nix4
-rw-r--r--pkgs/tools/misc/sharedown/default.nix4
-rw-r--r--pkgs/tools/misc/sharedown/yarn.lock475
-rw-r--r--pkgs/tools/misc/sharedown/yarndeps.nix464
-rw-r--r--pkgs/tools/misc/snapper/default.nix4
-rw-r--r--pkgs/tools/misc/starship/default.nix6
-rw-r--r--pkgs/tools/misc/swaglyrics/default.nix38
-rw-r--r--pkgs/tools/misc/tlp/default.nix2
-rw-r--r--pkgs/tools/misc/tmuxp/default.nix4
-rw-r--r--pkgs/tools/misc/topgrade/default.nix20
-rw-r--r--pkgs/tools/misc/vector/default.nix11
-rw-r--r--pkgs/tools/misc/watchexec/default.nix8
-rw-r--r--pkgs/tools/misc/wlc/default.nix4
-rw-r--r--pkgs/tools/misc/yle-dl/default.nix4
-rw-r--r--pkgs/tools/misc/you-get/default.nix4
-rw-r--r--pkgs/tools/misc/yt-dlp/default.nix6
-rw-r--r--pkgs/tools/misc/ytarchive/default.nix14
-rw-r--r--pkgs/tools/misc/ytfzf/default.nix19
-rw-r--r--pkgs/tools/misc/yubico-piv-tool/default.nix17
-rw-r--r--pkgs/tools/misc/zellij/default.nix10
-rw-r--r--pkgs/tools/misc/zoxide/default.nix10
-rw-r--r--pkgs/tools/networking/bore-cli/default.nix18
-rw-r--r--pkgs/tools/networking/checkip/default.nix4
-rw-r--r--pkgs/tools/networking/clash/default.nix4
-rw-r--r--pkgs/tools/networking/corerad/default.nix6
-rw-r--r--pkgs/tools/networking/croc/default.nix6
-rw-r--r--pkgs/tools/networking/curl/default.nix11
-rw-r--r--pkgs/tools/networking/curlie/default.nix4
-rw-r--r--pkgs/tools/networking/dnstake/default.nix4
-rw-r--r--pkgs/tools/networking/findomain/default.nix6
-rw-r--r--pkgs/tools/networking/frp/default.nix6
-rw-r--r--pkgs/tools/networking/globalprotect-openconnect/default.nix4
-rw-r--r--pkgs/tools/networking/godns/default.nix4
-rw-r--r--pkgs/tools/networking/gof5/default.nix30
-rw-r--r--pkgs/tools/networking/innernet/default.nix6
-rw-r--r--pkgs/tools/networking/magic-wormhole-rs/default.nix4
-rw-r--r--pkgs/tools/networking/mozillavpn/default.nix35
-rw-r--r--pkgs/tools/networking/mqttui/default.nix6
-rw-r--r--pkgs/tools/networking/networkmanager/l2tp/default.nix4
-rw-r--r--pkgs/tools/networking/ntopng/default.nix4
-rw-r--r--pkgs/tools/networking/ooniprobe-cli/default.nix27
-rw-r--r--pkgs/tools/networking/openconnect/common.nix4
-rw-r--r--pkgs/tools/networking/opensnitch/daemon.nix4
-rw-r--r--pkgs/tools/networking/openssh/common.nix5
-rw-r--r--pkgs/tools/networking/p2p/jesec-rtorrent/default.nix9
-rw-r--r--pkgs/tools/networking/p2p/rakshasa-rtorrent/default.nix9
-rw-r--r--pkgs/tools/networking/philter/default.nix32
-rw-r--r--pkgs/tools/networking/pmacct/default.nix4
-rw-r--r--pkgs/tools/networking/pssh/default.nix11
-rw-r--r--pkgs/tools/networking/slirp4netns/default.nix4
-rw-r--r--pkgs/tools/networking/smartdns/default.nix4
-rw-r--r--pkgs/tools/networking/sstp/default.nix2
-rw-r--r--pkgs/tools/networking/subnetcalc/default.nix31
-rw-r--r--pkgs/tools/networking/termscp/default.nix6
-rw-r--r--pkgs/tools/networking/tun2socks/default.nix31
-rw-r--r--pkgs/tools/networking/urlwatch/default.nix4
-rw-r--r--pkgs/tools/networking/vpnc/default.nix57
-rw-r--r--pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch12
-rw-r--r--pkgs/tools/nix/alejandra/default.nix4
-rw-r--r--pkgs/tools/package-management/cargo-outdated/default.nix6
-rw-r--r--pkgs/tools/package-management/cargo-release/default.nix6
-rw-r--r--pkgs/tools/package-management/comma/default.nix15
-rw-r--r--pkgs/tools/package-management/conda/default.nix44
-rw-r--r--pkgs/tools/package-management/nix-du/default.nix6
-rw-r--r--pkgs/tools/package-management/nix-eval-jobs/default.nix4
-rw-r--r--pkgs/tools/package-management/nix/default.nix6
-rw-r--r--pkgs/tools/package-management/packagekit/default.nix12
-rw-r--r--pkgs/tools/security/adreaper/default.nix33
-rw-r--r--pkgs/tools/security/bitwarden/default.nix4
-rw-r--r--pkgs/tools/security/browserpass/default.nix10
-rw-r--r--pkgs/tools/security/chntpw/00-chntpw-build-arch-autodetect.patch33
-rw-r--r--pkgs/tools/security/chntpw/01-chntpw-install-target.patch20
-rw-r--r--pkgs/tools/security/chntpw/default.nix42
-rw-r--r--pkgs/tools/security/cosign/default.nix6
-rw-r--r--pkgs/tools/security/cryptomator/default.nix6
-rw-r--r--pkgs/tools/security/ecdsautils/default.nix15
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/fail2ban/default.nix1
-rw-r--r--pkgs/tools/security/feroxbuster/default.nix8
-rw-r--r--pkgs/tools/security/fulcio/default.nix42
-rw-r--r--pkgs/tools/security/gau/default.nix4
-rw-r--r--pkgs/tools/security/gitleaks/default.nix4
-rw-r--r--pkgs/tools/security/gopass/default.nix6
-rw-r--r--pkgs/tools/security/grype/default.nix6
-rw-r--r--pkgs/tools/security/jadx/default.nix6
-rw-r--r--pkgs/tools/security/john/default.nix24
-rw-r--r--pkgs/tools/security/jwt-cli/default.nix6
-rw-r--r--pkgs/tools/security/libtpms/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock54
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix66
-rw-r--r--pkgs/tools/security/munge/default.nix4
-rw-r--r--pkgs/tools/security/nmap/default.nix24
-rw-r--r--pkgs/tools/security/nuclei/default.nix6
-rwxr-xr-xpkgs/tools/security/oath-toolkit/update.sh2
-rw-r--r--pkgs/tools/security/pass/extensions/otp.nix6
-rw-r--r--pkgs/tools/security/plasma-pass/default.nix4
-rw-r--r--pkgs/tools/security/rage/default.nix21
-rw-r--r--pkgs/tools/security/sigma-cli/default.nix7
-rw-r--r--pkgs/tools/security/signify/default.nix4
-rw-r--r--pkgs/tools/security/step-cli/default.nix6
-rw-r--r--pkgs/tools/security/tor/default.nix14
-rw-r--r--pkgs/tools/security/vault/default.nix6
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix12
-rw-r--r--pkgs/tools/security/wprecon/default.nix12
-rw-r--r--pkgs/tools/security/yara/default.nix4
-rw-r--r--pkgs/tools/system/btop/default.nix4
-rw-r--r--pkgs/tools/system/consul-template/default.nix6
-rw-r--r--pkgs/tools/system/envconsul/default.nix21
-rw-r--r--pkgs/tools/system/freeipmi/default.nix7
-rw-r--r--pkgs/tools/system/htop/default.nix24
-rw-r--r--pkgs/tools/system/jsvc/default.nix4
-rw-r--r--pkgs/tools/system/natscli/default.nix6
-rw-r--r--pkgs/tools/system/nq/default.nix4
-rw-r--r--pkgs/tools/system/nvtop/default.nix60
-rw-r--r--pkgs/tools/system/rocm-smi/default.nix4
-rw-r--r--pkgs/tools/system/runitor/default.nix52
-rw-r--r--pkgs/tools/system/s-tui/default.nix4
-rw-r--r--pkgs/tools/system/s6-rc/default.nix4
-rw-r--r--pkgs/tools/system/s6/default.nix4
-rw-r--r--pkgs/tools/text/bashblog/0001-Setting-markdown_bin.patch25
-rw-r--r--pkgs/tools/text/bashblog/default.nix59
-rw-r--r--pkgs/tools/text/cmigemo/default.nix4
-rw-r--r--pkgs/tools/text/crowdin-cli/default.nix4
-rw-r--r--pkgs/tools/text/difftastic/default.nix10
-rw-r--r--pkgs/tools/text/groff/default.nix12
-rw-r--r--pkgs/tools/text/gucci/default.nix26
-rw-r--r--pkgs/tools/text/gucci/deps.nix30
-rw-r--r--pkgs/tools/text/igrep/default.nix10
-rw-r--r--pkgs/tools/text/mdbook-linkcheck/default.nix4
-rw-r--r--pkgs/tools/text/sift/default.nix10
-rw-r--r--pkgs/tools/text/ugrep/default.nix4
-rw-r--r--pkgs/tools/text/vale/default.nix8
-rw-r--r--pkgs/tools/text/xml/xpf/default.nix21
-rw-r--r--pkgs/tools/typesetting/mmark/default.nix25
-rw-r--r--pkgs/tools/typesetting/mmark/deps.nix12
-rw-r--r--pkgs/tools/typesetting/odpdown/default.nix36
-rw-r--r--pkgs/tools/typesetting/tectonic/default.nix11
-rw-r--r--pkgs/tools/typesetting/tex/texlive/combine.nix12
-rw-r--r--pkgs/tools/virtualization/lxd-image-server/default.nix3
-rw-r--r--pkgs/tools/virtualization/marathonctl/default.nix20
-rw-r--r--pkgs/tools/virtualization/marathonctl/deps.nix12
-rw-r--r--pkgs/tools/virtualization/nixos-container/default.nix22
-rwxr-xr-xpkgs/tools/virtualization/nixos-container/nixos-container.pl34
-rw-r--r--pkgs/tools/wayland/swaysome/default.nix6
-rw-r--r--pkgs/tools/wayland/swaytools/default.nix16
-rwxr-xr-xpkgs/tools/wayland/swaytools/update.py58
-rw-r--r--pkgs/tools/wayland/wl-clipboard-x11/default.nix2
-rw-r--r--pkgs/tools/wayland/wlr-randr/default.nix3
-rw-r--r--pkgs/top-level/aliases.nix45
-rw-r--r--pkgs/top-level/all-packages.nix493
-rw-r--r--pkgs/top-level/config.nix59
-rw-r--r--pkgs/top-level/coq-packages.nix1
-rw-r--r--pkgs/top-level/linux-kernels.nix29
-rw-r--r--pkgs/top-level/ocaml-packages.nix77
-rw-r--r--pkgs/top-level/perl-packages.nix35
-rw-r--r--pkgs/top-level/php-packages.nix6
-rw-r--r--pkgs/top-level/python-aliases.nix4
-rw-r--r--pkgs/top-level/python-packages.nix173
-rw-r--r--pkgs/top-level/qt5-packages.nix8
-rw-r--r--pkgs/top-level/release-haskell.nix23
-rw-r--r--pkgs/top-level/release-lib.nix2
2296 files changed, 105861 insertions, 121848 deletions
diff --git a/.editorconfig b/.editorconfig
index 17f92c50d16..3c7962ab4d8 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -55,6 +55,11 @@ trim_trailing_whitespace = unset
 [*.lock]
 indent_size = unset
 
+# trailing whitespace is an actual syntax element of classic Markdown/
+# CommonMark to enforce a line break
+[*.md]
+trim_trailing_whitespace = unset
+
 [eggs.nix]
 trim_trailing_whitespace = unset
 
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 2b6f7ff5fe3..28bfe7c1fd5 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -285,3 +285,7 @@
 /nixos/modules/services/misc/matrix-conduit.nix            @piegamesde
 /nixos/tests/matrix-appservice-irc.nix                     @piegamesde
 /nixos/tests/matrix-conduit.nix                            @piegamesde
+
+# Dotnet
+/pkgs/build-support/dotnet          @IvarWithoutBones
+/pkgs/development/compilers/dotnet  @IvarWithoutBones
diff --git a/.github/workflows/update-terraform-providers.yml b/.github/workflows/update-terraform-providers.yml
index 13b08bed2bb..8bd82acbe79 100644
--- a/.github/workflows/update-terraform-providers.yml
+++ b/.github/workflows/update-terraform-providers.yml
@@ -25,14 +25,15 @@ jobs:
           git commit -m "${{ steps.setup.outputs.title }}" providers.json
           popd
       - name: create PR
-        uses: peter-evans/create-pull-request@v3
+        uses: peter-evans/create-pull-request@v4
         with:
           body: |
-            Automatic update of terraform providers.
+            Automatic update by [update-terraform-providers](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/update-terraform-providers.yml) action.
 
-            Created by [update-terraform-providers](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/update-terraform-providers.yml) action.
-
-            Check that all providers build with `@ofborg build terraform-full`
+            Check that all providers build with:
+            ```
+            @ofborg build terraform-full
+            ```
           branch: terraform-providers-update
           delete-branch: false
           labels: "2.status: work-in-progress"
diff --git a/doc/builders/fetchers.chapter.md b/doc/builders/fetchers.chapter.md
index d9f22b06282..30591c1673c 100644
--- a/doc/builders/fetchers.chapter.md
+++ b/doc/builders/fetchers.chapter.md
@@ -6,11 +6,11 @@ When using Nix, you will frequently need to download source code and other files
 
 Because fixed output derivations are _identified_ by their hash, a common mistake is to update a fetcher's URL or a version parameter, without updating the hash. **This will cause the old contents to be used.** So remember to always invalidate the hash argument.
 
-For those who develop and maintain fetchers, a similar problem arises with changes to the implementation of a fetcher. These may cause a fixed output derivation to fail, but won't normally be caught by tests because the supposed output is already in the store or cache. For the purpose of testing, you can use a trick that is embodied by the [`invalidateFetcherByDrvHash`](#sec-pkgs-invalidateFetcherByDrvHash) function. It uses the derivation `name` to create a unique output path per fetcher implementation, defeating the caching precisely where it would be harmful.
+For those who develop and maintain fetchers, a similar problem arises with changes to the implementation of a fetcher. These may cause a fixed output derivation to fail, but won't normally be caught by tests because the supposed output is already in the store or cache. For the purpose of testing, you can use a trick that is embodied by the [`invalidateFetcherByDrvHash`](#tester-invalidateFetcherByDrvHash) function. It uses the derivation `name` to create a unique output path per fetcher implementation, defeating the caching precisely where it would be harmful.
 
 ## `fetchurl` and `fetchzip` {#fetchurl}
 
-Two basic fetchers are `fetchurl` and `fetchzip`. Both of these have two required arguments, a URL and a hash. The hash is typically `sha256`, although many more hash algorithms are supported. Nixpkgs contributors are currently recommended to use `sha256`. This hash will be used by Nix to identify your source. A typical usage of fetchurl is provided below.
+Two basic fetchers are `fetchurl` and `fetchzip`. Both of these have two required arguments, a URL and a hash. The hash is typically `sha256`, although many more hash algorithms are supported. Nixpkgs contributors are currently recommended to use `sha256`. This hash will be used by Nix to identify your source. A typical usage of `fetchurl` is provided below.
 
 ```nix
 { stdenv, fetchurl }:
@@ -24,9 +24,9 @@ stdenv.mkDerivation {
 }
 ```
 
-The main difference between `fetchurl` and `fetchzip` is in how they store the contents. `fetchurl` will store the unaltered contents of the URL within the Nix store. `fetchzip` on the other hand will decompress the archive for you, making files and directories directly accessible in the future. `fetchzip` can only be used with archives. Despite the name, `fetchzip` is not limited to .zip files and can also be used with any tarball.
+The main difference between `fetchurl` and `fetchzip` is in how they store the contents. `fetchurl` will store the unaltered contents of the URL within the Nix store. `fetchzip` on the other hand, will decompress the archive for you, making files and directories directly accessible in the future. `fetchzip` can only be used with archives. Despite the name, `fetchzip` is not limited to .zip files and can also be used with any tarball.
 
-`fetchpatch` works very similarly to `fetchurl` with the same arguments expected. It expects patch files as a source and performs normalization on them before computing the checksum. For example it will remove comments or other unstable parts that are sometimes added by version control systems and can change over time.
+`fetchpatch` works very similarly to `fetchurl` with the same arguments expected. It expects patch files as a source and performs normalization on them before computing the checksum. For example, it will remove comments or other unstable parts that are sometimes added by version control systems and can change over time.
 
 Most other fetchers return a directory rather than a single file.
 
@@ -38,9 +38,9 @@ Used with Subversion. Expects `url` to a Subversion directory, `rev`, and `sha25
 
 Used with Git. Expects `url` to a Git repo, `rev`, and `sha256`. `rev` in this case can be full the git commit id (SHA1 hash) or a tag name like `refs/tags/v1.0`.
 
-Additionally the following optional arguments can be given: `fetchSubmodules = true` makes `fetchgit` also fetch the submodules of a repository. If `deepClone` is set to true, the entire repository is cloned as opposing to just creating a shallow clone. `deepClone = true` also implies `leaveDotGit = true` which means that the `.git` directory of the clone won't be removed after checkout.
+Additionally, the following optional arguments can be given: `fetchSubmodules = true` makes `fetchgit` also fetch the submodules of a repository. If `deepClone` is set to true, the entire repository is cloned as opposing to just creating a shallow clone. `deepClone = true` also implies `leaveDotGit = true` which means that the `.git` directory of the clone won't be removed after checkout.
 
-If only parts of the repository are needed, `sparseCheckout` can be used. This will prevent git from fetching unnecessary blobs from server, see [git sparse-checkout](https://git-scm.com/docs/git-sparse-checkout) and [git clone --filter](https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---filterltfilter-specgt) for more infomation:
+If only parts of the repository are needed, `sparseCheckout` can be used. This will prevent git from fetching unnecessary blobs from server, see [git sparse-checkout](https://git-scm.com/docs/git-sparse-checkout) and [git clone --filter](https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---filterltfilter-specgt) for more information:
 
 ```nix
 { stdenv, fetchgit }:
@@ -78,17 +78,17 @@ A number of fetcher functions wrap part of `fetchurl` and `fetchzip`. They are m
 
 ## `fetchFromGitHub` {#fetchfromgithub}
 
-`fetchFromGitHub` expects four arguments. `owner` is a string corresponding to the GitHub user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every GitHub HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `sha256` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available but `sha256` is currently preferred.
+`fetchFromGitHub` expects four arguments. `owner` is a string corresponding to the GitHub user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every GitHub HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `sha256` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available, but `sha256` is currently preferred.
 
 `fetchFromGitHub` uses `fetchzip` to download the source archive generated by GitHub for the specified revision. If `leaveDotGit`, `deepClone` or `fetchSubmodules` are set to `true`, `fetchFromGitHub` will use `fetchgit` instead. Refer to its section for documentation of these options.
 
 ## `fetchFromGitLab` {#fetchfromgitlab}
 
-This is used with GitLab repositories. The arguments expected are very similar to fetchFromGitHub above.
+This is used with GitLab repositories. The arguments expected are very similar to `fetchFromGitHub` above.
 
 ## `fetchFromGitiles` {#fetchfromgitiles}
 
-This is used with Gitiles repositories. The arguments expected are similar to fetchgit.
+This is used with Gitiles repositories. The arguments expected are similar to `fetchgit`.
 
 ## `fetchFromBitbucket` {#fetchfrombitbucket}
 
@@ -96,11 +96,11 @@ This is used with BitBucket repositories. The arguments expected are very simila
 
 ## `fetchFromSavannah` {#fetchfromsavannah}
 
-This is used with Savannah repositories. The arguments expected are very similar to fetchFromGitHub above.
+This is used with Savannah repositories. The arguments expected are very similar to `fetchFromGitHub` above.
 
 ## `fetchFromRepoOrCz` {#fetchfromrepoorcz}
 
-This is used with repo.or.cz repositories. The arguments expected are very similar to fetchFromGitHub above.
+This is used with repo.or.cz repositories. The arguments expected are very similar to `fetchFromGitHub` above.
 
 ## `fetchFromSourcehut` {#fetchfromsourcehut}
 
@@ -111,4 +111,4 @@ or "hg"), `domain` and `fetchSubmodules`.
 
 If `fetchSubmodules` is `true`, `fetchFromSourcehut` uses `fetchgit`
 or `fetchhg` with `fetchSubmodules` or `fetchSubrepos` set to `true`,
-respectively. Otherwise the fetcher uses `fetchzip`.
+respectively. Otherwise, the fetcher uses `fetchzip`.
diff --git a/doc/builders/images/dockertools.section.md b/doc/builders/images/dockertools.section.md
index 7ff4b2aeb36..458b0b36720 100644
--- a/doc/builders/images/dockertools.section.md
+++ b/doc/builders/images/dockertools.section.md
@@ -58,7 +58,7 @@ After the new layer has been created, its closure (to which `contents`, `config`
 
 At the end of the process, only one new single layer will be produced and added to the resulting image.
 
-The resulting repository will only list the single image `image/tag`. In the case of [the `buildImage` example](#ex-dockerTools-buildImage) it would be `redis/latest`.
+The resulting repository will only list the single image `image/tag`. In the case of [the `buildImage` example](#ex-dockerTools-buildImage), it would be `redis/latest`.
 
 It is possible to inspect the arguments with which an image was built using its `buildArgs` attribute.
 
@@ -87,7 +87,7 @@ pkgs.dockerTools.buildImage {
 }
 ```
 
-and now the Docker CLI will display a reasonable date and sort the images as expected:
+Now the Docker CLI will display a reasonable date and sort the images as expected:
 
 ```ShellSession
 $ docker images
@@ -95,7 +95,7 @@ REPOSITORY   TAG      IMAGE ID       CREATED              SIZE
 hello        latest   de2bf4786de6   About a minute ago   25.2MB
 ```
 
-however, the produced images will not be binary reproducible.
+However, the produced images will not be binary reproducible.
 
 ## buildLayeredImage {#ssec-pkgs-dockerTools-buildLayeredImage}
 
@@ -119,13 +119,13 @@ Create a Docker image with many of the store paths being on their own layer to i
 
 `contents` _optional_
 
-: Top level paths in the container. Either a single derivation, or a list of derivations.
+: Top-level paths in the container. Either a single derivation, or a list of derivations.
 
     *Default:* `[]`
 
 `config` _optional_
 
-: Run-time configuration of the container. A full list of the options are available at in the [ Docker Image Specification v1.2.0 ](https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions).
+: Run-time configuration of the container. A full list of the options are available at in the [Docker Image Specification v1.2.0](https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions).
 
     *Default:* `{}`
 
@@ -195,9 +195,9 @@ pkgs.dockerTools.buildLayeredImage {
 
 Increasing the `maxLayers` increases the number of layers which have a chance to be shared between different images.
 
-Modern Docker installations support up to 128 layers, however older versions support as few as 42.
+Modern Docker installations support up to 128 layers, but older versions support as few as 42.
 
-If the produced image will not be extended by other Docker builds, it is safe to set `maxLayers` to `128`. However it will be impossible to extend the image further.
+If the produced image will not be extended by other Docker builds, it is safe to set `maxLayers` to `128`. However, it will be impossible to extend the image further.
 
 The first (`maxLayers-2`) most "popular" paths will have their own individual layers, then layer \#`maxLayers-1` will contain all the remaining "unpopular" paths, and finally layer \#`maxLayers` will contain the Image configuration.
 
@@ -213,7 +213,7 @@ The image produced by running the output script can be piped directly into `dock
 $(nix-build) | docker load
 ```
 
-Alternatively, the image be piped via `gzip` into `skopeo`, e.g. to copy it into a registry:
+Alternatively, the image be piped via `gzip` into `skopeo`, e.g., to copy it into a registry:
 
 ```ShellSession
 $(nix-build) | gzip --fast | skopeo copy docker-archive:/dev/stdin docker://some_docker_registry/myimage:tag
diff --git a/doc/builders/images/ocitools.section.md b/doc/builders/images/ocitools.section.md
index d3dee57ebac..d3ab8776786 100644
--- a/doc/builders/images/ocitools.section.md
+++ b/doc/builders/images/ocitools.section.md
@@ -1,10 +1,10 @@
 # pkgs.ociTools {#sec-pkgs-ociTools}
 
-`pkgs.ociTools` is a set of functions for creating containers according to the [OCI container specification v1.0.0](https://github.com/opencontainers/runtime-spec). Beyond that it makes no assumptions about the container runner you choose to use to run the created container.
+`pkgs.ociTools` is a set of functions for creating containers according to the [OCI container specification v1.0.0](https://github.com/opencontainers/runtime-spec). Beyond that, it makes no assumptions about the container runner you choose to use to run the created container.
 
 ## buildContainer {#ssec-pkgs-ociTools-buildContainer}
 
-This function creates a simple OCI container that runs a single command inside of it. An OCI container consists of a `config.json` and a rootfs directory.The nix store of the container will contain all referenced dependencies of the given command.
+This function creates a simple OCI container that runs a single command inside of it. An OCI container consists of a `config.json` and a rootfs directory. The nix store of the container will contain all referenced dependencies of the given command.
 
 The parameters of `buildContainer` with an example value are described below:
 
@@ -30,7 +30,7 @@ buildContainer {
 }
 ```
 
-- `args` specifies a set of arguments to run inside the container. This is the only required argument for `buildContainer`. All referenced packages inside the derivation will be made available inside the container
+- `args` specifies a set of arguments to run inside the container. This is the only required argument for `buildContainer`. All referenced packages inside the derivation will be made available inside the container.
 
 - `mounts` specifies additional mount points chosen by the user. By default only a minimal set of necessary filesystems are mounted into the container (e.g procfs, cgroupfs)
 
diff --git a/doc/builders/images/snaptools.section.md b/doc/builders/images/snaptools.section.md
index 5f710d2de7f..259fa1b0618 100644
--- a/doc/builders/images/snaptools.section.md
+++ b/doc/builders/images/snaptools.section.md
@@ -33,7 +33,7 @@ in snapTools.makeSnap {
 
 ## Build a Graphical Snap {#ssec-pkgs-snapTools-build-a-snap-firefox}
 
-Graphical programs require many more integrations with the host. This example uses Firefox as an example, because it is one of the most complicated programs we could package.
+Graphical programs require many more integrations with the host. This example uses Firefox as an example because it is one of the most complicated programs we could package.
 
 ``` {#ex-snapTools-buildSnap-firefox .nix}
 let
diff --git a/doc/builders/packages/citrix.section.md b/doc/builders/packages/citrix.section.md
index b25ecb0bdef..4721f7e90f7 100644
--- a/doc/builders/packages/citrix.section.md
+++ b/doc/builders/packages/citrix.section.md
@@ -4,13 +4,13 @@ The [Citrix Workspace App](https://www.citrix.com/products/workspace-app/) is a
 
 ## Basic usage {#sec-citrix-base}
 
-The tarball archive needs to be downloaded manually as the license agreements of the vendor for [Citrix Workspace](https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html) needs to be accepted first. Then run `nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz`. With the archive available in the store the package can be built and installed with Nix.
+The tarball archive needs to be downloaded manually, as the license agreements of the vendor for [Citrix Workspace](https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html) needs to be accepted first. Then run `nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz`. With the archive available in the store, the package can be built and installed with Nix.
 
-## Citrix Selfservice {#sec-citrix-selfservice}
+## Citrix Self-service {#sec-citrix-selfservice}
 
-The [selfservice](https://support.citrix.com/article/CTX200337) is an application managing Citrix desktops and applications. Please note that this feature only works with at least citrix_workspace_20_06_0 and later versions.
+The [self-service](https://support.citrix.com/article/CTX200337) is an application managing Citrix desktops and applications. Please note that this feature only works with at least citrix_workspace_20_06_0 and later versions.
 
-In order to set this up, you first have to [download the `.cr` file from the Netscaler Gateway](https://its.uiowa.edu/support/article/102186). After that you can configure the `selfservice` like this:
+In order to set this up, you first have to [download the `.cr` file from the Netscaler Gateway](https://its.uiowa.edu/support/article/102186). After that, you can configure the `selfservice` like this:
 
 ```ShellSession
 $ storebrowse -C ~/Downloads/receiverconfig.cr
@@ -19,7 +19,7 @@ $ selfservice
 
 ## Custom certificates {#sec-citrix-custom-certs}
 
-The `Citrix Workspace App` in `nixpkgs` trusts several certificates [from the Mozilla database](https://curl.haxx.se/docs/caextract.html) by default. However several companies using Citrix might require their own corporate certificate. On distros with imperative packaging these certs can be stored easily in [`$ICAROOT`](https://developer-docs.citrix.com/projects/receiver-for-linux-command-reference/en/13.7/), however this directory is a store path in `nixpkgs`. In order to work around this issue the package provides a simple mechanism to add custom certificates without rebuilding the entire package using `symlinkJoin`:
+The `Citrix Workspace App` in `nixpkgs` trusts several certificates [from the Mozilla database](https://curl.haxx.se/docs/caextract.html) by default. However, several companies using Citrix might require their own corporate certificate. On distros with imperative packaging, these certs can be stored easily in [`$ICAROOT`](https://developer-docs.citrix.com/projects/receiver-for-linux-command-reference/en/13.7/), however this directory is a store path in `nixpkgs`. In order to work around this issue, the package provides a simple mechanism to add custom certificates without rebuilding the entire package using `symlinkJoin`:
 
 ```nix
 with import <nixpkgs> { config.allowUnfree = true; };
diff --git a/doc/builders/packages/eclipse.section.md b/doc/builders/packages/eclipse.section.md
index faabb188450..8cf7426833b 100644
--- a/doc/builders/packages/eclipse.section.md
+++ b/doc/builders/packages/eclipse.section.md
@@ -8,9 +8,9 @@ Nixpkgs provides a number of packages that will install Eclipse in its various f
 $ nix-env -f '<nixpkgs>' -qaP -A eclipses --description
 ```
 
-Once an Eclipse variant is installed it can be run using the `eclipse` command, as expected. From within Eclipse it is then possible to install plugins in the usual manner by either manually specifying an Eclipse update site or by installing the Marketplace Client plugin and using it to discover and install other plugins. This installation method provides an Eclipse installation that closely resemble a manually installed Eclipse.
+Once an Eclipse variant is installed, it can be run using the `eclipse` command, as expected. From within Eclipse, it is then possible to install plugins in the usual manner by either manually specifying an Eclipse update site or by installing the Marketplace Client plugin and using it to discover and install other plugins. This installation method provides an Eclipse installation that closely resemble a manually installed Eclipse.
 
-If you prefer to install plugins in a more declarative manner then Nixpkgs also offer a number of Eclipse plugins that can be installed in an _Eclipse environment_. This type of environment is created using the function `eclipseWithPlugins` found inside the `nixpkgs.eclipses` attribute set. This function takes as argument `{ eclipse, plugins ? [], jvmArgs ? [] }` where `eclipse` is a one of the Eclipse packages described above, `plugins` is a list of plugin derivations, and `jvmArgs` is a list of arguments given to the JVM running the Eclipse. For example, say you wish to install the latest Eclipse Platform with the popular Eclipse Color Theme plugin and also allow Eclipse to use more RAM. You could then add
+If you prefer to install plugins in a more declarative manner, then Nixpkgs also offer a number of Eclipse plugins that can be installed in an _Eclipse environment_. This type of environment is created using the function `eclipseWithPlugins` found inside the `nixpkgs.eclipses` attribute set. This function takes as argument `{ eclipse, plugins ? [], jvmArgs ? [] }` where `eclipse` is a one of the Eclipse packages described above, `plugins` is a list of plugin derivations, and `jvmArgs` is a list of arguments given to the JVM running the Eclipse. For example, say you wish to install the latest Eclipse Platform with the popular Eclipse Color Theme plugin and also allow Eclipse to use more RAM. You could then add:
 
 ```nix
 packageOverrides = pkgs: {
@@ -22,15 +22,15 @@ packageOverrides = pkgs: {
 }
 ```
 
-to your Nixpkgs configuration (`~/.config/nixpkgs/config.nix`) and install it by running `nix-env -f '<nixpkgs>' -iA myEclipse` and afterward run Eclipse as usual. It is possible to find out which plugins are available for installation using `eclipseWithPlugins` by running
+to your Nixpkgs configuration (`~/.config/nixpkgs/config.nix`) and install it by running `nix-env -f '<nixpkgs>' -iA myEclipse` and afterward run Eclipse as usual. It is possible to find out which plugins are available for installation using `eclipseWithPlugins` by running:
 
 ```ShellSession
 $ nix-env -f '<nixpkgs>' -qaP -A eclipses.plugins --description
 ```
 
-If there is a need to install plugins that are not available in Nixpkgs then it may be possible to define these plugins outside Nixpkgs using the `buildEclipseUpdateSite` and `buildEclipsePlugin` functions found in the `nixpkgs.eclipses.plugins` attribute set. Use the `buildEclipseUpdateSite` function to install a plugin distributed as an Eclipse update site. This function takes `{ name, src }` as argument where `src` indicates the Eclipse update site archive. All Eclipse features and plugins within the downloaded update site will be installed. When an update site archive is not available then the `buildEclipsePlugin` function can be used to install a plugin that consists of a pair of feature and plugin JARs. This function takes an argument `{ name, srcFeature, srcPlugin }` where `srcFeature` and `srcPlugin` are the feature and plugin JARs, respectively.
+If there is a need to install plugins that are not available in Nixpkgs then it may be possible to define these plugins outside Nixpkgs using the `buildEclipseUpdateSite` and `buildEclipsePlugin` functions found in the `nixpkgs.eclipses.plugins` attribute set. Use the `buildEclipseUpdateSite` function to install a plugin distributed as an Eclipse update site. This function takes `{ name, src }` as argument, where `src` indicates the Eclipse update site archive. All Eclipse features and plugins within the downloaded update site will be installed. When an update site archive is not available, then the `buildEclipsePlugin` function can be used to install a plugin that consists of a pair of feature and plugin JARs. This function takes an argument `{ name, srcFeature, srcPlugin }` where `srcFeature` and `srcPlugin` are the feature and plugin JARs, respectively.
 
-Expanding the previous example with two plugins using the above functions we have
+Expanding the previous example with two plugins using the above functions, we have:
 
 ```nix
 packageOverrides = pkgs: {
diff --git a/doc/builders/packages/elm.section.md b/doc/builders/packages/elm.section.md
index ae223c802da..063dd73d9de 100644
--- a/doc/builders/packages/elm.section.md
+++ b/doc/builders/packages/elm.section.md
@@ -1,6 +1,6 @@
 # Elm {#sec-elm}
 
-To start a development environment do
+To start a development environment, run:
 
 ```ShellSession
 nix-shell -p elmPackages.elm elmPackages.elm-format
diff --git a/doc/builders/packages/emacs.section.md b/doc/builders/packages/emacs.section.md
index 577f1a23ce0..a202606966c 100644
--- a/doc/builders/packages/emacs.section.md
+++ b/doc/builders/packages/emacs.section.md
@@ -20,7 +20,7 @@ The Emacs package comes with some extra helpers to make it easier to configure.
 }
 ```
 
-You can install it like any other packages via `nix-env -iA myEmacs`. However, this will only install those packages. It will not `configure` them for us. To do this, we need to provide a configuration file. Luckily, it is possible to do this from within Nix! By modifying the above example, we can make Emacs load a custom config file. The key is to create a package that provide a `default.el` file in `/share/emacs/site-start/`. Emacs knows to load this file automatically when it starts.
+You can install it like any other packages via `nix-env -iA myEmacs`. However, this will only install those packages. It will not `configure` them for us. To do this, we need to provide a configuration file. Luckily, it is possible to do this from within Nix! By modifying the above example, we can make Emacs load a custom config file. The key is to create a package that provides a `default.el` file in `/share/emacs/site-start/`. Emacs knows to load this file automatically when it starts.
 
 ```nix
 {
@@ -101,9 +101,9 @@ You can install it like any other packages via `nix-env -iA myEmacs`. However, t
 }
 ```
 
-This provides a fairly full Emacs start file. It will load in addition to the user's presonal config. You can always disable it by passing `-q` to the Emacs command.
+This provides a fairly full Emacs start file. It will load in addition to the user's personal config. You can always disable it by passing `-q` to the Emacs command.
 
-Sometimes `emacs.pkgs.withPackages` is not enough, as this package set has some priorities imposed on packages (with the lowest priority assigned to Melpa Unstable, and the highest for packages manually defined in `pkgs/top-level/emacs-packages.nix`). But you can't control this priorities when some package is installed as a dependency. You can override it on per-package-basis, providing all the required dependencies manually - but it's tedious and there is always a possibility that an unwanted dependency will sneak in through some other package. To completely override such a package you can use `overrideScope'`.
+Sometimes `emacs.pkgs.withPackages` is not enough, as this package set has some priorities imposed on packages (with the lowest priority assigned to Melpa Unstable, and the highest for packages manually defined in `pkgs/top-level/emacs-packages.nix`). But you can't control these priorities when some package is installed as a dependency. You can override it on a per-package-basis, providing all the required dependencies manually, but it's tedious and there is always a possibility that an unwanted dependency will sneak in through some other package. To completely override such a package, you can use `overrideScope'`.
 
 ```nix
 overrides = self: super: rec {
diff --git a/doc/builders/packages/etc-files.section.md b/doc/builders/packages/etc-files.section.md
index 2405a54634d..94a769ed335 100644
--- a/doc/builders/packages/etc-files.section.md
+++ b/doc/builders/packages/etc-files.section.md
@@ -1,10 +1,10 @@
 # /etc files {#etc}
 
-Certain calls in glibc require access to runtime files found in /etc such as `/etc/protocols` or `/etc/services` -- [getprotobyname](https://linux.die.net/man/3/getprotobyname) is one such function.
+Certain calls in glibc require access to runtime files found in `/etc` such as `/etc/protocols` or `/etc/services` -- [getprotobyname](https://linux.die.net/man/3/getprotobyname) is one such function.
 
-On non-NixOS distributions these files are typically provided by packages (i.e. [netbase](https://packages.debian.org/sid/netbase)) if not already pre-installed in your distribution. This can cause non-reproducibility for code if they rely on these files being present.
+On non-NixOS distributions these files are typically provided by packages (i.e., [netbase](https://packages.debian.org/sid/netbase)) if not already pre-installed in your distribution. This can cause non-reproducibility for code if they rely on these files being present.
 
-If [iana-etc](https://hydra.nixos.org/job/nixos/trunk-combined/nixpkgs.iana-etc.x86_64-linux) is part of your _buildInputs_ then it will set the environment varaibles `NIX_ETC_PROTOCOLS` and `NIX_ETC_SERVICES` to the corresponding files in the package through a _setup-hook_.
+If [iana-etc](https://hydra.nixos.org/job/nixos/trunk-combined/nixpkgs.iana-etc.x86_64-linux) is part of your `buildInputs`, then it will set the environment variables `NIX_ETC_PROTOCOLS` and `NIX_ETC_SERVICES` to the corresponding files in the package through a setup hook.
 
 
 ```bash
@@ -15,4 +15,4 @@ NIX_ETC_SERVICES=/nix/store/aj866hr8fad8flnggwdhrldm0g799ccz-iana-etc-20210225/e
 NIX_ETC_PROTOCOLS=/nix/store/aj866hr8fad8flnggwdhrldm0g799ccz-iana-etc-20210225/etc/protocols
 ```
 
-Nixpkg's version of [glibc](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/glibc/default.nix) has been patched to check for the existence of these environment variables. If the environment variable are *not set*, then it will attempt to find the files at the default location within _/etc_.
+Nixpkg's version of [glibc](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/glibc/default.nix) has been patched to check for the existence of these environment variables. If the environment variables are *not* set, then it will attempt to find the files at the default location within `/etc`.
diff --git a/doc/builders/packages/firefox.section.md b/doc/builders/packages/firefox.section.md
index d6426981da7..6f7d39c8b5e 100644
--- a/doc/builders/packages/firefox.section.md
+++ b/doc/builders/packages/firefox.section.md
@@ -2,7 +2,7 @@
 
 ## Build wrapped Firefox with extensions and policies {#build-wrapped-firefox-with-extensions-and-policies}
 
-The `wrapFirefox` function allows to pass policies, preferences and extension that are available to Firefox. With the help of `fetchFirefoxAddon` this allows build a Firefox version that already comes with addons pre-installed:
+The `wrapFirefox` function allows to pass policies, preferences and extensions that are available to Firefox. With the help of `fetchFirefoxAddon` this allows to build a Firefox version that already comes with add-ons pre-installed:
 
 ```nix
 {
@@ -40,13 +40,12 @@ The `wrapFirefox` function allows to pass policies, preferences and extension th
 }
 ```
 
-If `nixExtensions != null` then all manually installed addons will be uninstalled from your browser profile.
-To view available enterprise policies visit [enterprise policies](https://github.com/mozilla/policy-templates#enterprisepoliciesenabled)
-or type into the Firefox url bar: `about:policies#documentation`.
-Nix installed addons do not have a valid signature, which is why signature verification is disabled. This does not compromise security because downloaded addons are checksumed and manual addons can't be installed. Also make sure that the `name` field of fetchFirefoxAddon is unique. If you remove an addon from the nixExtensions array, rebuild and start Firefox the removed addon will be completly removed with all of its settings.
+If `nixExtensions != null`, then all manually installed add-ons will be uninstalled from your browser profile.
+To view available enterprise policies, visit [enterprise policies](https://github.com/mozilla/policy-templates#enterprisepoliciesenabled)
+or type into the Firefox URL bar: `about:policies#documentation`.
+Nix installed add-ons do not have a valid signature, which is why signature verification is disabled. This does not compromise security because downloaded add-ons are checksummed and manual add-ons can't be installed. Also, make sure that the `name` field of `fetchFirefoxAddon` is unique. If you remove an add-on from the `nixExtensions` array, rebuild and start Firefox: the removed add-on will be completely removed with all of its settings.
 
 ## Troubleshooting {#sec-firefox-troubleshooting}
-If addons are marked as broken or the signature is invalid, make sure you have Firefox ESR installed. Normal Firefox does not provide the ability anymore to disable signature verification for addons thus nix addons get disabled by the normal Firefox binary.
-
-If addons do not appear installed although they have been defined in your nix configuration file reset the local addon state of your Firefox profile by clicking `help -> restart with addons disabled -> restart -> refresh firefox`. This can happen if you switch from manual addon mode to nix addon mode and then back to manual mode and then again to nix addon mode.
+If add-ons are marked as broken or the signature is invalid, make sure you have Firefox ESR installed. Normal Firefox does not provide the ability anymore to disable signature verification for add-ons thus nix add-ons get disabled by the normal Firefox binary.
 
+If add-ons do not appear installed despite being defined in your nix configuration file, reset the local add-on state of your Firefox profile by clicking `Help -> More Troubleshooting Information -> Refresh Firefox`. This can happen if you switch from manual add-on mode to nix add-on mode and then back to manual mode and then again to nix add-on mode.
diff --git a/doc/builders/packages/fish.section.md b/doc/builders/packages/fish.section.md
index 3086bd68348..85b57acd109 100644
--- a/doc/builders/packages/fish.section.md
+++ b/doc/builders/packages/fish.section.md
@@ -36,7 +36,7 @@ using `buildFishPlugin` and running unit tests with the `fishtape` test runner.
 ## Fish wrapper {#sec-fish-wrapper}
 
 The `wrapFish` package is a wrapper around Fish which can be used to create
-Fish shells initialised with some plugins as well as completions, configuration
+Fish shells initialized with some plugins as well as completions, configuration
 snippets and functions sourced from the given paths. This provides a convenient
 way to test Fish plugins and scripts without having to alter the environment.
 
diff --git a/doc/builders/packages/fuse.section.md b/doc/builders/packages/fuse.section.md
index eb0023fcbc3..6deea6b5626 100644
--- a/doc/builders/packages/fuse.section.md
+++ b/doc/builders/packages/fuse.section.md
@@ -24,10 +24,10 @@ packages on macOS:
     checking for fuse.h... no
     configure: error: No fuse.h found.
 
-This happens on autoconf based projects that uses `AC_CHECK_HEADERS` or
+This happens on autoconf based projects that use `AC_CHECK_HEADERS` or
 `AC_CHECK_LIBS` to detect libfuse, and will occur even when the `fuse` package
 is included in `buildInputs`. It happens because libfuse headers throw an error
-on macOS if the `FUSE_USE_VERSION` macro is undefined. Many proejcts do define
+on macOS if the `FUSE_USE_VERSION` macro is undefined. Many projects do define
 `FUSE_USE_VERSION`, but only inside C source files. This results in the above
 error at configure time because the configure script would attempt to compile
 sample FUSE programs without defining `FUSE_USE_VERSION`.
diff --git a/doc/builders/packages/ibus.section.md b/doc/builders/packages/ibus.section.md
index 2ce85467bb8..1b09d3fbbab 100644
--- a/doc/builders/packages/ibus.section.md
+++ b/doc/builders/packages/ibus.section.md
@@ -6,7 +6,7 @@ This package is an ibus-based completion method to speed up typing.
 
 IBus needs to be configured accordingly to activate `typing-booster`. The configuration depends on the desktop manager in use. For detailed instructions, please refer to the [upstream docs](https://mike-fabian.github.io/ibus-typing-booster/documentation.html).
 
-On NixOS you need to explicitly enable `ibus` with given engines before customizing your desktop to use `typing-booster`. This can be achieved using the `ibus` module:
+On NixOS, you need to explicitly enable `ibus` with given engines before customizing your desktop to use `typing-booster`. This can be achieved using the `ibus` module:
 
 ```nix
 { pkgs, ... }: {
@@ -19,7 +19,7 @@ On NixOS you need to explicitly enable `ibus` with given engines before customiz
 
 ## Using custom hunspell dictionaries {#sec-ibus-typing-booster-customize-hunspell}
 
-The IBus engine is based on `hunspell` to support completion in many languages. By default the dictionaries `de-de`, `en-us`, `fr-moderne` `es-es`, `it-it`, `sv-se` and `sv-fi` are in use. To add another dictionary, the package can be overridden like this:
+The IBus engine is based on `hunspell` to support completion in many languages. By default, the dictionaries `de-de`, `en-us`, `fr-moderne` `es-es`, `it-it`, `sv-se` and `sv-fi` are in use. To add another dictionary, the package can be overridden like this:
 
 ```nix
 ibus-engines.typing-booster.override { langs = [ "de-at" "en-gb" ]; }
@@ -31,7 +31,7 @@ _Note: each language passed to `langs` must be an attribute name in `pkgs.hunspe
 
 The `ibus-engines.typing-booster` package contains a program named `emoji-picker`. To display all emojis correctly, a special font such as `noto-fonts-emoji` is needed:
 
-On NixOS it can be installed using the following expression:
+On NixOS, it can be installed using the following expression:
 
 ```nix
 { pkgs, ... }: { fonts.fonts = with pkgs; [ noto-fonts-emoji ]; }
diff --git a/doc/builders/packages/linux.section.md b/doc/builders/packages/linux.section.md
index f669c720710..b64da85791a 100644
--- a/doc/builders/packages/linux.section.md
+++ b/doc/builders/packages/linux.section.md
@@ -4,7 +4,7 @@ The Nix expressions to build the Linux kernel are in [`pkgs/os-specific/linux/ke
 
 The function that builds the kernel has an argument `kernelPatches` which should be a list of `{name, patch, extraConfig}` attribute sets, where `name` is the name of the patch (which is included in the kernel’s `meta.description` attribute), `patch` is the patch itself (possibly compressed), and `extraConfig` (optional) is a string specifying extra options to be concatenated to the kernel configuration file (`.config`).
 
-The kernel derivation exports an attribute `features` specifying whether optional functionality is or isn’t enabled. This is used in NixOS to implement kernel-specific behaviour. For instance, if the kernel has the `iwlwifi` feature (i.e. has built-in support for Intel wireless chipsets), then NixOS doesn’t have to build the external `iwlwifi` package:
+The kernel derivation exports an attribute `features` specifying whether optional functionality is or isn’t enabled. This is used in NixOS to implement kernel-specific behaviour. For instance, if the kernel has the `iwlwifi` feature (i.e., has built-in support for Intel wireless chipsets), then NixOS doesn’t have to build the external `iwlwifi` package:
 
 ```nix
 modulesTree = [kernel]
@@ -14,19 +14,19 @@ modulesTree = [kernel]
 
 How to add a new (major) version of the Linux kernel to Nixpkgs:
 
-1.  Copy the old Nix expression (e.g. `linux-2.6.21.nix`) to the new one (e.g. `linux-2.6.22.nix`) and update it.
+1.  Copy the old Nix expression (e.g., `linux-2.6.21.nix`) to the new one (e.g., `linux-2.6.22.nix`) and update it.
 
 2.  Add the new kernel to the `kernels` attribute set in `linux-kernels.nix` (e.g., create an attribute `kernel_2_6_22`).
 
 3.  Now we’re going to update the kernel configuration. First unpack the kernel. Then for each supported platform (`i686`, `x86_64`, `uml`) do the following:
 
-    1.  Make an copy from the old config (e.g. `config-2.6.21-i686-smp`) to the new one (e.g. `config-2.6.22-i686-smp`).
+    1.  Make a copy from the old config (e.g., `config-2.6.21-i686-smp`) to the new one (e.g., `config-2.6.22-i686-smp`).
 
-    2.  Copy the config file for this platform (e.g. `config-2.6.22-i686-smp`) to `.config` in the kernel source tree.
+    2.  Copy the config file for this platform (e.g., `config-2.6.22-i686-smp`) to `.config` in the kernel source tree.
 
-    3.  Run `make oldconfig ARCH={i386,x86_64,um}` and answer all questions. (For the uml configuration, also add `SHELL=bash`.) Make sure to keep the configuration consistent between platforms (i.e. don’t enable some feature on `i686` and disable it on `x86_64`).
+    3.  Run `make oldconfig ARCH={i386,x86_64,um}` and answer all questions. (For the uml configuration, also add `SHELL=bash`.) Make sure to keep the configuration consistent between platforms (i.e., don’t enable some feature on `i686` and disable it on `x86_64`).
 
-    4.  If needed you can also run `make menuconfig`:
+    4.  If needed, you can also run `make menuconfig`:
 
         ```ShellSession
         $ nix-env -f "<nixpkgs>" -iA ncurses
@@ -34,7 +34,7 @@ How to add a new (major) version of the Linux kernel to Nixpkgs:
         $ make menuconfig ARCH=arch
         ```
 
-    5.  Copy `.config` over the new config file (e.g. `config-2.6.22-i686-smp`).
+    5.  Copy `.config` over the new config file (e.g., `config-2.6.22-i686-smp`).
 
 4.  Test building the kernel: `nix-build -A linuxKernel.kernels.kernel_2_6_22`. If it compiles, ship it! For extra credit, try booting NixOS with it.
 
diff --git a/doc/builders/packages/locales.section.md b/doc/builders/packages/locales.section.md
index e5a03700481..3a983f13a39 100644
--- a/doc/builders/packages/locales.section.md
+++ b/doc/builders/packages/locales.section.md
@@ -1,5 +1,5 @@
 # Locales {#locales}
 
-To allow simultaneous use of packages linked against different versions of `glibc` with different locale archive formats Nixpkgs patches `glibc` to rely on `LOCALE_ARCHIVE` environment variable.
+To allow simultaneous use of packages linked against different versions of `glibc` with different locale archive formats, Nixpkgs patches `glibc` to rely on `LOCALE_ARCHIVE` environment variable.
 
-On non-NixOS distributions this variable is obviously not set. This can cause regressions in language support or even crashes in some Nixpkgs-provided programs. The simplest way to mitigate this problem is exporting the `LOCALE_ARCHIVE` variable pointing to `${glibcLocales}/lib/locale/locale-archive`. The drawback (and the reason this is not the default) is the relatively large (a hundred MiB) size of the full set of locales. It is possible to build a custom set of locales by overriding parameters `allLocales` and `locales` of the package.
+On non-NixOS distributions, this variable is obviously not set. This can cause regressions in language support or even crashes in some Nixpkgs-provided programs. The simplest way to mitigate this problem is exporting the `LOCALE_ARCHIVE` variable pointing to `${glibcLocales}/lib/locale/locale-archive`. The drawback (and the reason this is not the default) is the relatively large (a hundred MiB) size of the full set of locales. It is possible to build a custom set of locales by overriding parameters `allLocales` and `locales` of the package.
diff --git a/doc/builders/packages/nginx.section.md b/doc/builders/packages/nginx.section.md
index 154c21f9b36..0704b534e5f 100644
--- a/doc/builders/packages/nginx.section.md
+++ b/doc/builders/packages/nginx.section.md
@@ -4,8 +4,8 @@
 
 ## ETags on static files served from the Nix store {#sec-nginx-etag}
 
-HTTP has a couple different mechanisms for caching to prevent clients from having to download the same content repeatedly if a resource has not changed since the last time it was requested. When nginx is used as a server for static files, it implements the caching mechanism based on the [`Last-Modified`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified) response header automatically; unfortunately, it works by using filesystem timestamps to determine the value of the `Last-Modified` header. This doesn't give the desired behavior when the file is in the Nix store, because all file timestamps are set to 0 (for reasons related to build reproducibility).
+HTTP has a couple of different mechanisms for caching to prevent clients from having to download the same content repeatedly if a resource has not changed since the last time it was requested. When nginx is used as a server for static files, it implements the caching mechanism based on the [`Last-Modified`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified) response header automatically; unfortunately, it works by using filesystem timestamps to determine the value of the `Last-Modified` header. This doesn't give the desired behavior when the file is in the Nix store because all file timestamps are set to 0 (for reasons related to build reproducibility).
 
-Fortunately, HTTP supports an alternative (and more effective) caching mechanism: the [`ETag`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) response header. The value of the `ETag` header specifies some identifier for the particular content that the server is sending (e.g. a hash). When a client makes a second request for the same resource, it sends that value back in an `If-None-Match` header. If the ETag value is unchanged, then the server does not need to resend the content.
+Fortunately, HTTP supports an alternative (and more effective) caching mechanism: the [`ETag`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) response header. The value of the `ETag` header specifies some identifier for the particular content that the server is sending (e.g., a hash). When a client makes a second request for the same resource, it sends that value back in an `If-None-Match` header. If the ETag value is unchanged, then the server does not need to resend the content.
 
 As of NixOS 19.09, the nginx package in Nixpkgs is patched such that when nginx serves a file out of `/nix/store`, the hash in the store path is used as the `ETag` header in the HTTP response, thus providing proper caching functionality. This happens automatically; you do not need to do modify any configuration to get this behavior.
diff --git a/doc/builders/packages/opengl.section.md b/doc/builders/packages/opengl.section.md
index ee7f3af98cf..f4d282267a0 100644
--- a/doc/builders/packages/opengl.section.md
+++ b/doc/builders/packages/opengl.section.md
@@ -12,4 +12,4 @@ The NixOS desktop or other non-headless configurations are the primary target fo
 
 If you are using a non-NixOS GNU/Linux/X11 desktop with free software video drivers, consider launching OpenGL-dependent programs from Nixpkgs with Nixpkgs versions of `libglvnd` and `mesa.drivers` in `LD_LIBRARY_PATH`. For Mesa drivers, the Linux kernel version doesn't have to match nixpkgs.
 
-For proprietary video drivers you might have luck with also adding the corresponding video driver package.
+For proprietary video drivers, you might have luck with also adding the corresponding video driver package.
diff --git a/doc/builders/packages/shell-helpers.section.md b/doc/builders/packages/shell-helpers.section.md
index 57b8619c500..e7c2b0abebf 100644
--- a/doc/builders/packages/shell-helpers.section.md
+++ b/doc/builders/packages/shell-helpers.section.md
@@ -4,7 +4,7 @@ Some packages provide the shell integration to be more useful. But unlike other
 
 - `fzf` : `fzf-share`
 
-E.g. `fzf` can then used in the `.bashrc` like this:
+E.g. `fzf` can then be used in the `.bashrc` like this:
 
 ```bash
 source "$(fzf-share)/completion.bash"
diff --git a/doc/builders/packages/steam.section.md b/doc/builders/packages/steam.section.md
index 3ce33c9b60e..25728aa52ae 100644
--- a/doc/builders/packages/steam.section.md
+++ b/doc/builders/packages/steam.section.md
@@ -2,20 +2,20 @@
 
 ## Steam in Nix {#sec-steam-nix}
 
-Steam is distributed as a `.deb` file, for now only as an i686 package (the amd64 package only has documentation). When unpacked, it has a script called `steam` that in Ubuntu (their target distro) would go to `/usr/bin`. When run for the first time, this script copies some files to the user's home, which include another script that is the ultimate responsible for launching the steam binary, which is also in \$HOME.
+Steam is distributed as a `.deb` file, for now only as an i686 package (the amd64 package only has documentation). When unpacked, it has a script called `steam` that in Ubuntu (their target distro) would go to `/usr/bin`. When run for the first time, this script copies some files to the user's home, which include another script that is the ultimate responsible for launching the steam binary, which is also in `$HOME`.
 
 Nix problems and constraints:
 
-- We don't have `/bin/bash` and many scripts point there. Similarly for `/usr/bin/python`.
+- We don't have `/bin/bash` and many scripts point there. Same thing for `/usr/bin/python`.
 - We don't have the dynamic loader in `/lib`.
-- The `steam.sh` script in \$HOME can not be patched, as it is checked and rewritten by steam.
+- The `steam.sh` script in `$HOME` cannot be patched, as it is checked and rewritten by steam.
 - The steam binary cannot be patched, it's also checked.
 
 The current approach to deploy Steam in NixOS is composing a FHS-compatible chroot environment, as documented [here](http://sandervanderburg.blogspot.nl/2013/09/composing-fhs-compatible-chroot.html). This allows us to have binaries in the expected paths without disrupting the system, and to avoid patching them to work in a non FHS environment.
 
 ## How to play {#sec-steam-play}
 
-Use `programs.steam.enable = true;` if you want to add steam to systemPackages and also enable a few workarrounds aswell as Steam controller support or other Steam supported controllers such as the DualShock 4 or Nintendo Switch Pr.
+Use `programs.steam.enable = true;` if you want to add steam to `systemPackages` and also enable a few workarounds as well as Steam controller support or other Steam supported controllers such as the DualShock 4 or Nintendo Switch Pro Controller.
 
 ## Troubleshooting {#sec-steam-troub}
 
@@ -32,7 +32,7 @@ Use `programs.steam.enable = true;` if you want to add steam to systemPackages a
 - **Using the FOSS Radeon or nouveau (nvidia) drivers**
 
   - The `newStdcpp` parameter was removed since NixOS 17.09 and should not be needed anymore.
-  - Steam ships statically linked with a version of libcrypto that conflics with the one dynamically loaded by radeonsi_dri.so. If you get the error
+  - Steam ships statically linked with a version of `libcrypto` that conflicts with the one dynamically loaded by radeonsi_dri.so. If you get the error:
 
     ```
     steam.sh: line 713: 7842 Segmentation fault (core dumped)
@@ -42,13 +42,13 @@ Use `programs.steam.enable = true;` if you want to add steam to systemPackages a
 
 - **Java**
 
-  1. There is no java in steam chrootenv by default. If you get a message like
+  1. There is no java in steam chrootenv by default. If you get a message like:
 
     ```
     /home/foo/.local/share/Steam/SteamApps/common/towns/towns.sh: line 1: java: command not found
     ```
 
-    you need to add
+    you need to add:
 
     ```nix
     steam.override { withJava = true; };
@@ -56,7 +56,7 @@ Use `programs.steam.enable = true;` if you want to add steam to systemPackages a
 
 ## steam-run {#sec-steam-run}
 
-The FHS-compatible chroot used for Steam can also be used to run other Linux games that expect a FHS environment. To use it, install the `steam-run` package and run the game with
+The FHS-compatible chroot used for Steam can also be used to run other Linux games that expect a FHS environment. To use it, install the `steam-run` package and run the game with:
 
 ```
 steam-run ./foo
diff --git a/doc/builders/packages/urxvt.section.md b/doc/builders/packages/urxvt.section.md
index 2d1196d9227..507feaa6fd8 100644
--- a/doc/builders/packages/urxvt.section.md
+++ b/doc/builders/packages/urxvt.section.md
@@ -4,7 +4,7 @@ Urxvt, also known as rxvt-unicode, is a highly customizable terminal emulator.
 
 ## Configuring urxvt {#sec-urxvt-conf}
 
-In `nixpkgs`, urxvt is provided by the package `rxvt-unicode`. It can be configured to include your choice of plugins, reducing its closure size from the default configuration which includes all available plugins. To make use of this functionality, use an overlay or directly install an expression that overrides its configuration, such as
+In `nixpkgs`, urxvt is provided by the package `rxvt-unicode`. It can be configured to include your choice of plugins, reducing its closure size from the default configuration which includes all available plugins. To make use of this functionality, use an overlay or directly install an expression that overrides its configuration, such as:
 
 ```nix
 rxvt-unicode.override {
@@ -58,14 +58,14 @@ rxvt-unicode.override {
 
 ## Packaging urxvt plugins {#sec-urxvt-pkg}
 
-Urxvt plugins resides in `pkgs/applications/misc/rxvt-unicode-plugins`. To add a new plugin create an expression in a subdirectory and add the package to the set in `pkgs/applications/misc/rxvt-unicode-plugins/default.nix`.
+Urxvt plugins resides in `pkgs/applications/misc/rxvt-unicode-plugins`. To add a new plugin, create an expression in a subdirectory and add the package to the set in `pkgs/applications/misc/rxvt-unicode-plugins/default.nix`.
 
 A plugin can be any kind of derivation, the only requirement is that it should always install perl scripts in `$out/lib/urxvt/perl`. Look for existing plugins for examples.
 
-If the plugin is itself a perl package that needs to be imported from other plugins or scripts, add the following passthrough:
+If the plugin is itself a Perl package that needs to be imported from other plugins or scripts, add the following passthrough:
 
 ```nix
 passthru.perlPackages = [ "self" ];
 ```
 
-This will make the urxvt wrapper pick up the dependency and set up the perl path accordingly.
+This will make the urxvt wrapper pick up the dependency and set up the Perl path accordingly.
diff --git a/doc/builders/packages/weechat.section.md b/doc/builders/packages/weechat.section.md
index e4e956b908e..767cc604ab4 100644
--- a/doc/builders/packages/weechat.section.md
+++ b/doc/builders/packages/weechat.section.md
@@ -1,6 +1,6 @@
-# Weechat {#sec-weechat}
+# WeeChat {#sec-weechat}
 
-Weechat can be configured to include your choice of plugins, reducing its closure size from the default configuration which includes all available plugins. To make use of this functionality, install an expression that overrides its configuration such as
+WeeChat can be configured to include your choice of plugins, reducing its closure size from the default configuration which includes all available plugins. To make use of this functionality, install an expression that overrides its configuration, such as:
 
 ```nix
 weechat.override {configure = {availablePlugins, ...}: {
@@ -13,7 +13,7 @@ If the `configure` function returns an attrset without the `plugins` attribute,
 
 The plugins currently available are `python`, `perl`, `ruby`, `guile`, `tcl` and `lua`.
 
-The python and perl plugins allows the addition of extra libraries. For instance, the `inotify.py` script in `weechat-scripts` requires D-Bus or libnotify, and the `fish.py` script requires `pycrypto`. To use these scripts, use the plugin's `withPackages` attribute:
+The Python and Perl plugins allows the addition of extra libraries. For instance, the `inotify.py` script in `weechat-scripts` requires D-Bus or libnotify, and the `fish.py` script requires `pycrypto`. To use these scripts, use the plugin's `withPackages` attribute:
 
 ```nix
 weechat.override { configure = {availablePlugins, ...}: {
@@ -49,7 +49,7 @@ weechat.override {
 
 Further values can be added to the list of commands when running `weechat --run-command "your-commands"`.
 
-Additionally it's possible to specify scripts to be loaded when starting `weechat`. These will be loaded before the commands from `init`:
+Additionally, it's possible to specify scripts to be loaded when starting `weechat`. These will be loaded before the commands from `init`:
 
 ```nix
 weechat.override {
@@ -64,7 +64,7 @@ weechat.override {
 }
 ```
 
-In `nixpkgs` there's a subpackage which contains derivations for WeeChat scripts. Such derivations expect a `passthru.scripts` attribute which contains a list of all scripts inside the store path. Furthermore all scripts have to live in `$out/share`. An exemplary derivation looks like this:
+In `nixpkgs` there's a subpackage which contains derivations for WeeChat scripts. Such derivations expect a `passthru.scripts` attribute, which contains a list of all scripts inside the store path. Furthermore, all scripts have to live in `$out/share`. An exemplary derivation looks like this:
 
 ```nix
 { stdenv, fetchurl }:
diff --git a/doc/builders/special.xml b/doc/builders/special.xml
index 2f84599cdd4..8902ce5c813 100644
--- a/doc/builders/special.xml
+++ b/doc/builders/special.xml
@@ -7,5 +7,4 @@
  </para>
  <xi:include href="special/fhs-environments.section.xml" />
  <xi:include href="special/mkshell.section.xml" />
- <xi:include href="special/invalidateFetcherByDrvHash.section.xml" />
 </chapter>
diff --git a/doc/builders/special/invalidateFetcherByDrvHash.section.md b/doc/builders/special/invalidateFetcherByDrvHash.section.md
deleted file mode 100644
index 7c2f03a64b7..00000000000
--- a/doc/builders/special/invalidateFetcherByDrvHash.section.md
+++ /dev/null
@@ -1,31 +0,0 @@
-
-## `invalidateFetcherByDrvHash` {#sec-pkgs-invalidateFetcherByDrvHash}
-
-Use the derivation hash to invalidate the output via name, for testing.
-
-Type: `(a@{ name, ... } -> Derivation) -> a -> Derivation`
-
-Normally, fixed output derivations can and should be cached by their output
-hash only, but for testing we want to re-fetch everytime the fetcher changes.
-
-Changes to the fetcher become apparent in the drvPath, which is a hash of
-how to fetch, rather than a fixed store path.
-By inserting this hash into the name, we can make sure to re-run the fetcher
-every time the fetcher changes.
-
-This relies on the assumption that Nix isn't clever enough to reuse its
-database of local store contents to optimize fetching.
-
-You might notice that the "salted" name derives from the normal invocation,
-not the final derivation. `invalidateFetcherByDrvHash` has to invoke the fetcher
-function twice: once to get a derivation hash, and again to produce the final
-fixed output derivation.
-
-Example:
-
-    tests.fetchgit = invalidateFetcherByDrvHash fetchgit {
-      name = "nix-source";
-      url = "https://github.com/NixOS/nix";
-      rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
-      sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
-    };
diff --git a/doc/builders/testers.chapter.md b/doc/builders/testers.chapter.md
new file mode 100644
index 00000000000..2c30c8bd240
--- /dev/null
+++ b/doc/builders/testers.chapter.md
@@ -0,0 +1,82 @@
+# Testers {#chap-testers}
+This chapter describes several testing builders which are available in the <literal>testers</literal> namespace.
+
+## `testVersion` {#tester-testVersion}
+
+Checks the command output contains the specified version
+
+Although simplistic, this test assures that the main program
+can run. While there's no substitute for a real test case,
+it does catch dynamic linking errors and such. It also provides
+some protection against accidentally building the wrong version,
+for example when using an 'old' hash in a fixed-output derivation.
+
+Examples:
+
+```nix
+passthru.tests.version = testVersion { package = hello; };
+
+passthru.tests.version = testVersion {
+  package = seaweedfs;
+  command = "weed version";
+};
+
+passthru.tests.version = testVersion {
+  package = key;
+  command = "KeY --help";
+  # Wrong '2.5' version in the code. Drop on next version.
+  version = "2.5";
+};
+```
+
+## `testEqualDerivation` {#tester-testEqualDerivation}
+
+Checks that two packages produce the exact same build instructions.
+
+This can be used to make sure that a certain difference of configuration,
+such as the presence of an overlay does not cause a cache miss.
+
+When the derivations are equal, the return value is an empty file.
+Otherwise, the build log explains the difference via `nix-diff`.
+
+Example:
+
+```nix
+testEqualDerivation
+  "The hello package must stay the same when enabling checks."
+  hello
+  (hello.overrideAttrs(o: { doCheck = true; }))
+```
+
+## `invalidateFetcherByDrvHash` {#tester-invalidateFetcherByDrvHash}
+
+Use the derivation hash to invalidate the output via name, for testing.
+
+Type: `(a@{ name, ... } -> Derivation) -> a -> Derivation`
+
+Normally, fixed output derivations can and should be cached by their output
+hash only, but for testing we want to re-fetch everytime the fetcher changes.
+
+Changes to the fetcher become apparent in the drvPath, which is a hash of
+how to fetch, rather than a fixed store path.
+By inserting this hash into the name, we can make sure to re-run the fetcher
+every time the fetcher changes.
+
+This relies on the assumption that Nix isn't clever enough to reuse its
+database of local store contents to optimize fetching.
+
+You might notice that the "salted" name derives from the normal invocation,
+not the final derivation. `invalidateFetcherByDrvHash` has to invoke the fetcher
+function twice: once to get a derivation hash, and again to produce the final
+fixed output derivation.
+
+Example:
+
+```nix
+tests.fetchgit = invalidateFetcherByDrvHash fetchgit {
+  name = "nix-source";
+  url = "https://github.com/NixOS/nix";
+  rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
+  sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
+};
+```
diff --git a/doc/builders/trivial-builders.chapter.md b/doc/builders/trivial-builders.chapter.md
index 779a0a801b4..c05511785bf 100644
--- a/doc/builders/trivial-builders.chapter.md
+++ b/doc/builders/trivial-builders.chapter.md
@@ -35,10 +35,10 @@ This works just like `runCommand`. The only difference is that it also provides
 
 ## `runCommandLocal` {#trivial-builder-runCommandLocal}
 
-Variant of `runCommand` that forces the derivation to be built locally, it is not substituted. This is intended for very cheap commands (<1s execution time). It saves on the network roundrip and can speed up a build.
+Variant of `runCommand` that forces the derivation to be built locally, it is not substituted. This is intended for very cheap commands (<1s execution time). It saves on the network round-trip and can speed up a build.
 
 ::: {.note}
-This sets [`allowSubstitutes` to `false`](https://nixos.org/nix/manual/#adv-attr-allowSubstitutes), so only use `runCommandLocal` if you are certain the user will always have a builder for the `system` of the derivation. This should be true for most trivial use cases (e.g. just copying some files to a different location or adding symlinks), because there the `system` is usually the same as `builtins.currentSystem`.
+This sets [`allowSubstitutes` to `false`](https://nixos.org/nix/manual/#adv-attr-allowSubstitutes), so only use `runCommandLocal` if you are certain the user will always have a builder for the `system` of the derivation. This should be true for most trivial use cases (e.g., just copying some files to a different location or adding symlinks) because there the `system` is usually the same as `builtins.currentSystem`.
 :::
 
 ## `writeTextFile`, `writeText`, `writeTextDir`, `writeScript`, `writeScriptBin` {#trivial-builder-writeText}
@@ -219,5 +219,5 @@ produces an output path `/nix/store/<hash>-runtime-references` containing
 /nix/store/<hash>-hello-2.10
 ```
 
-but none of `hello`'s dependencies, because those are not referenced directly
+but none of `hello`'s dependencies because those are not referenced directly
 by `hi`'s output.
diff --git a/doc/contributing/submitting-changes.chapter.md b/doc/contributing/submitting-changes.chapter.md
index 109d051c016..d428f00eea5 100644
--- a/doc/contributing/submitting-changes.chapter.md
+++ b/doc/contributing/submitting-changes.chapter.md
@@ -96,7 +96,7 @@ We use jbidwatcher as an example for a discontinued project here.
 
 1. Have Nixpkgs checked out locally and up to date.
 1. Create a new branch for your change, e.g. `git checkout -b jbidwatcher`
-1. Remove the actual package including its directory, e.g. `rm -rf pkgs/applications/misc/jbidwatcher`
+1. Remove the actual package including its directory, e.g. `git rm -rf pkgs/applications/misc/jbidwatcher`
 1. Remove the package from the list of all packages (`pkgs/top-level/all-packages.nix`).
 1. Add an alias for the package name in `pkgs/top-level/aliases.nix` (There is also `pkgs/applications/editors/vim/plugins/aliases.nix`. Package sets typically do not have aliases, so we can't add them there.)
 
diff --git a/doc/languages-frameworks/chicken.section.md b/doc/languages-frameworks/chicken.section.md
new file mode 100644
index 00000000000..d8c35bd20c5
--- /dev/null
+++ b/doc/languages-frameworks/chicken.section.md
@@ -0,0 +1,49 @@
+# CHICKEN {#sec-chicken}
+
+[CHICKEN](https://call-cc.org/) is a
+[R⁵RS](https://schemers.org/Documents/Standards/R5RS/HTML/)-compliant Scheme
+compiler. It includes an interactive mode and a custom package format, "eggs".
+
+## Using Eggs
+
+Eggs described in nixpkgs are available inside the
+`chickenPackages.chickenEggs` attrset. Including an egg as a build input is
+done in the typical Nix fashion. For example, to include support for [SRFI
+189](https://srfi.schemers.org/srfi-189/srfi-189.html) in a derivation, one
+might write:
+
+```nix
+  buildInputs = [
+    chicken
+    chickenPackages.chickenEggs.srfi-189
+  ];
+```
+
+Both `chicken` and its eggs have a setup hook which configures the environment
+variables `CHICKEN_INCLUDE_PATH` and `CHICKEN_REPOSITORY_PATH`.
+
+## Updating Eggs
+
+nixpkgs only knows about a subset of all published eggs. It uses
+[egg2nix](https://github.com/the-kenny/egg2nix) to generate a
+package set from a list of eggs to include.
+
+The package set is regenerated by running the following shell commands:
+
+```
+$ nix-shell -p chickenPackages.egg2nix
+$ cd pkgs/development/compilers/chicken/5/
+$ egg2nix eggs.scm > eggs.nix
+```
+
+## Adding Eggs
+
+When we run `egg2nix`, we obtain one collection of eggs with
+mutually-compatible versions. This means that when we add new eggs, we may
+need to update existing eggs. To keep those separate, follow the procedure for
+updating eggs before including more eggs.
+
+To include more eggs, edit `pkgs/development/compilers/chicken/5/eggs.scm`.
+The first section of this file lists eggs which are required by `egg2nix`
+itself; all other eggs go into the second section. After editing, follow the
+procedure for updating eggs.
diff --git a/doc/languages-frameworks/index.xml b/doc/languages-frameworks/index.xml
index 144fa96bac1..3d5b2f73897 100644
--- a/doc/languages-frameworks/index.xml
+++ b/doc/languages-frameworks/index.xml
@@ -9,6 +9,7 @@
  <xi:include href="android.section.xml" />
  <xi:include href="beam.section.xml" />
  <xi:include href="bower.section.xml" />
+ <xi:include href="chicken.section.xml" />
  <xi:include href="coq.section.xml" />
  <xi:include href="crystal.section.xml" />
  <xi:include href="cuda.section.xml" />
diff --git a/doc/manual.xml b/doc/manual.xml
index e49ae67ec94..ccbaf40586d 100644
--- a/doc/manual.xml
+++ b/doc/manual.xml
@@ -25,6 +25,7 @@
   <title>Builders</title>
   <xi:include href="builders/fetchers.chapter.xml" />
   <xi:include href="builders/trivial-builders.chapter.xml" />
+  <xi:include href="builders/testers.chapter.xml" />
   <xi:include href="builders/special.xml" />
   <xi:include href="builders/images.xml" />
   <xi:include href="hooks/index.xml" />
diff --git a/doc/stdenv/meta.chapter.md b/doc/stdenv/meta.chapter.md
index d3e1dd5b27d..c1bb3f8863f 100644
--- a/doc/stdenv/meta.chapter.md
+++ b/doc/stdenv/meta.chapter.md
@@ -175,6 +175,40 @@ The NixOS tests are available as `nixosTests` in parameters of derivations. For
 
 NixOS tests run in a VM, so they are slower than regular package tests. For more information see [NixOS module tests](https://nixos.org/manual/nixos/stable/#sec-nixos-tests).
 
+Alternatively, you can specify other derivations as tests. You can make use of
+the optional parameter to inject the correct package without
+relying on non-local definitions, even in the presence of `overrideAttrs`.
+Here that's `finalAttrs.finalPackage`, but you could choose a different name if
+`finalAttrs` already exists in your scope.
+
+`(mypkg.overrideAttrs f).passthru.tests` will be as expected, as long as the
+definition of `tests` does not rely on the original `mypkg` or overrides it in
+all places.
+
+```nix
+# my-package/default.nix
+{ stdenv, callPackage }:
+stdenv.mkDerivation (finalAttrs: {
+  # ...
+  passthru.tests.example = callPackage ./example.nix { my-package = finalAttrs.finalPackage; };
+})
+```
+
+```nix
+# my-package/example.nix
+{ runCommand, lib, my-package, ... }:
+runCommand "my-package-test" {
+  nativeBuildInputs = [ my-package ];
+  src = lib.sources.sourcesByRegex ./. [ ".*.in" ".*.expected" ];
+} ''
+  my-package --help
+  my-package <example.in >example.actual
+  diff -U3 --color=auto example.expected example.actual
+  mkdir $out
+''
+```
+
+
 ### `timeout` {#var-meta-timeout}
 
 A timeout (in seconds) for building the derivation. If the derivation takes longer than this time to build, it can fail due to breaking the timeout. However, all computers do not have the same computing power, hence some builders may decide to apply a multiplicative factor to this value. When filling this value in, try to keep it approximately consistent with other values already present in `nixpkgs`.
diff --git a/doc/stdenv/stdenv.chapter.md b/doc/stdenv/stdenv.chapter.md
index 40f295b178b..d5d27cbf086 100644
--- a/doc/stdenv/stdenv.chapter.md
+++ b/doc/stdenv/stdenv.chapter.md
@@ -317,6 +317,60 @@ The script will be usually run from the root of the Nixpkgs repository but you s
 
 For information about how to run the updates, execute `nix-shell maintainers/scripts/update.nix`.
 
+### Recursive attributes in `mkDerivation`
+
+If you pass a function to `mkDerivation`, it will receive as its argument the final arguments, including the overrides when reinvoked via `overrideAttrs`. For example:
+
+```nix
+mkDerivation (finalAttrs: {
+  pname = "hello";
+  withFeature = true;
+  configureFlags =
+    lib.optionals finalAttrs.withFeature ["--with-feature"];
+})
+```
+
+Note that this does not use the `rec` keyword to reuse `withFeature` in `configureFlags`.
+The `rec` keyword works at the syntax level and is unaware of overriding.
+
+Instead, the definition references `finalAttrs`, allowing users to change `withFeature`
+consistently with `overrideAttrs`.
+
+`finalAttrs` also contains the attribute `finalPackage`, which includes the output paths, etc.
+
+Let's look at a more elaborate example to understand the differences between
+various bindings:
+
+```nix
+# `pkg` is the _original_ definition (for illustration purposes)
+let pkg =
+  mkDerivation (finalAttrs: {
+    # ...
+
+    # An example attribute
+    packages = [];
+
+    # `passthru.tests` is a commonly defined attribute.
+    passthru.tests.simple = f finalAttrs.finalPackage;
+
+    # An example of an attribute containing a function
+    passthru.appendPackages = packages':
+      finalAttrs.finalPackage.overrideAttrs (newSelf: super: {
+        packages = super.packages ++ packages';
+      });
+
+    # For illustration purposes; referenced as
+    # `(pkg.overrideAttrs(x)).finalAttrs` etc in the text below.
+    passthru.finalAttrs = finalAttrs;
+    passthru.original = pkg;
+  });
+in pkg
+```
+
+Unlike the `pkg` binding in the above example, the `finalAttrs` parameter always references the final attributes. For instance `(pkg.overrideAttrs(x)).finalAttrs.finalPackage` is identical to `pkg.overrideAttrs(x)`, whereas `(pkg.overrideAttrs(x)).original` is the same as the original `pkg`.
+
+See also the section about [`passthru.tests`](#var-meta-tests).
+
 ## Phases {#sec-stdenv-phases}
 
 `stdenv.mkDerivation` sets the Nix [derivation](https://nixos.org/manual/nix/stable/expressions/derivations.html#derivations)'s builder to a script that loads the stdenv `setup.sh` bash library and calls `genericBuild`. Most packaging functions rely on this default builder.
diff --git a/doc/using/overrides.chapter.md b/doc/using/overrides.chapter.md
index 66e5103531a..a97a39354a9 100644
--- a/doc/using/overrides.chapter.md
+++ b/doc/using/overrides.chapter.md
@@ -39,14 +39,18 @@ The function `overrideAttrs` allows overriding the attribute set passed to a `st
 Example usage:
 
 ```nix
-helloWithDebug = pkgs.hello.overrideAttrs (oldAttrs: rec {
+helloWithDebug = pkgs.hello.overrideAttrs (finalAttrs: previousAttrs: {
   separateDebugInfo = true;
 });
 ```
 
 In the above example, the `separateDebugInfo` attribute is overridden to be true, thus building debug info for `helloWithDebug`, while all other attributes will be retained from the original `hello` package.
 
-The argument `oldAttrs` is conventionally used to refer to the attr set originally passed to `stdenv.mkDerivation`.
+The argument `previousAttrs` is conventionally used to refer to the attr set originally passed to `stdenv.mkDerivation`.
+
+The argument `finalAttrs` refers to the final attributes passed to `mkDerivation`, plus the `finalPackage` attribute which is equal to the result of `mkDerivation` or subsequent `overrideAttrs` calls.
+
+If only a one-argument function is written, the argument has the meaning of `previousAttrs`.
 
 ::: {.note}
 Note that `separateDebugInfo` is processed only by the `stdenv.mkDerivation` function, not the generated, raw Nix derivation. Thus, using `overrideDerivation` will not work in this case, as it overrides only the attributes of the final derivation. It is for this reason that `overrideAttrs` should be preferred in (almost) all cases to `overrideDerivation`, i.e. to allow using `stdenv.mkDerivation` to process input arguments, as well as the fact that it is easier to use (you can use the same attribute names you see in your Nix code, instead of the ones generated (e.g. `buildInputs` vs `nativeBuildInputs`), and it involves less typing).
diff --git a/lib/default.nix b/lib/default.nix
index 1f06283790a..22eb5440c28 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -11,6 +11,9 @@ let
     callLibs = file: import file { lib = self; };
   in {
 
+    # interacting with flakes
+    flakes = callLibs ./flakes.nix;
+
     # often used, or depending on very little
     trivial = callLibs ./trivial.nix;
     fixedPoints = callLibs ./fixed-points.nix;
@@ -59,6 +62,7 @@ let
     # linux kernel configuration
     kernel = callLibs ./kernel.nix;
 
+    inherit (self.flakes) callLocklessFlake;
     inherit (builtins) add addErrorContext attrNames concatLists
       deepSeq elem elemAt filter genericClosure genList getAttr
       hasAttr head isAttrs isBool isInt isList isString length
@@ -94,7 +98,8 @@ let
       concatImapStringsSep makeSearchPath makeSearchPathOutput
       makeLibraryPath makeBinPath optionalString
       hasInfix hasPrefix hasSuffix stringToCharacters stringAsChars escape
-      escapeShellArg escapeShellArgs escapeRegex escapeXML replaceChars lowerChars
+      escapeShellArg escapeShellArgs isValidPosixName toShellVar toShellVars
+      escapeRegex escapeXML replaceChars lowerChars
       upperChars toLower toUpper addContextFrom splitString
       removePrefix removeSuffix versionOlder versionAtLeast
       getName getVersion
@@ -108,7 +113,7 @@ let
       makeScope makeScopeWithSplicing;
     inherit (self.meta) addMetaAttrs dontDistribute setName updateName
       appendToName mapDerivationAttrset setPrio lowPrio lowPrioSet hiPrio
-      hiPrioSet getLicenseFromSpdxId;
+      hiPrioSet getLicenseFromSpdxId getExe;
     inherit (self.sources) pathType pathIsDirectory cleanSourceFilter
       cleanSource sourceByRegex sourceFilesBySuffices
       commitIdFromGitRepo cleanSourceWith pathHasContext
diff --git a/lib/flakes.nix b/lib/flakes.nix
new file mode 100644
index 00000000000..4dc027b6c9b
--- /dev/null
+++ b/lib/flakes.nix
@@ -0,0 +1,22 @@
+{ lib }:
+
+rec {
+
+  /* imports a flake.nix without acknowledging its lock file, useful for
+    referencing subflakes from a parent flake. The second argument allows
+    specifying the inputs of this flake.
+
+    Example:
+      callLocklessFlake {
+        path = ./directoryContainingFlake;
+        inputs = { inherit nixpkgs; };
+      }
+  */
+  callLocklessFlake = { path, inputs ? { } }:
+    let
+      self = { outPath = path; } //
+        ((import (path + "/flake.nix")).outputs (inputs // { self = self; }));
+    in
+    self;
+
+}
diff --git a/lib/meta.nix b/lib/meta.nix
index 5b1f7ee5ff2..74b94211552 100644
--- a/lib/meta.nix
+++ b/lib/meta.nix
@@ -126,4 +126,18 @@ rec {
         lib.warn "getLicenseFromSpdxId: No license matches the given SPDX ID: ${licstr}"
         { shortName = licstr; }
       );
+
+  /* Get the path to the main program of a derivation with either
+     meta.mainProgram or pname or name
+
+     Type: getExe :: derivation -> string
+
+     Example:
+       getExe pkgs.hello
+       => "/nix/store/g124820p9hlv4lj8qplzxw1c44dxaw1k-hello-2.12/bin/hello"
+       getExe pkgs.mustache-go
+       => "/nix/store/am9ml4f4ywvivxnkiaqwr0hyxka1xjsf-mustache-go-1.3.0/bin/mustache"
+  */
+  getExe = x:
+    "${lib.getBin x}/bin/${x.meta.mainProgram or (lib.getName x)}";
 }
diff --git a/lib/modules.nix b/lib/modules.nix
index abcdd1a894c..0bbf9d43c57 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -113,6 +113,10 @@ rec {
                   args ? {}
                 , # This would be remove in the future, Prefer _module.check option instead.
                   check ? true
+                  # Internal variable to avoid `_key` collisions regardless
+                  # of `extendModules`. Used in `submoduleWith`.
+                  # Test case: lib/tests/modules, "168767"
+                , extensionOffset ? 0
                 }:
     let
       withWarnings = x:
@@ -156,7 +160,10 @@ rec {
             type = types.lazyAttrsOf types.raw;
             # Only render documentation once at the root of the option tree,
             # not for all individual submodules.
-            internal = prefix != [];
+            # Allow merging option decls to make this internal regardless.
+            ${if prefix == []
+              then null  # unset => visible
+              else "internal"} = true;
             # TODO: Change the type of this option to a submodule with a
             # freeformType, so that individual arguments can be documented
             # separately
@@ -338,15 +345,17 @@ rec {
         modules ? [],
         specialArgs ? {},
         prefix ? [],
+        extensionOffset ? length modules,
         }:
           evalModules (evalModulesArgs // {
             modules = regularModules ++ modules;
             specialArgs = evalModulesArgs.specialArgs or {} // specialArgs;
             prefix = extendArgs.prefix or evalModulesArgs.prefix;
+            inherit extensionOffset;
           });
 
       type = lib.types.submoduleWith {
-        inherit modules specialArgs;
+        inherit modules specialArgs extensionOffset;
       };
 
       result = withWarnings {
diff --git a/lib/strings.nix b/lib/strings.nix
index 820d1901f94..328f64cf1b6 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -17,6 +17,7 @@ rec {
     head
     isInt
     isList
+    isAttrs
     isString
     match
     parseDrvName
@@ -253,10 +254,7 @@ rec {
       => false
   */
   hasInfix = infix: content:
-    let
-      drop = x: substring 1 (stringLength x) x;
-    in hasPrefix infix content
-      || content != "" && hasInfix infix (drop content);
+    builtins.match ".*${escapeRegex infix}.*" "${content}" != null;
 
   /* Convert a string to a list of characters (i.e. singleton strings).
      This allows you to, e.g., map a function over each character.  However,
@@ -327,6 +325,65 @@ rec {
   */
   escapeShellArgs = concatMapStringsSep " " escapeShellArg;
 
+  /* Test whether the given name is a valid POSIX shell variable name.
+
+     Type: string -> bool
+
+     Example:
+       isValidPosixName "foo_bar000"
+       => true
+       isValidPosixName "0-bad.jpg"
+       => false
+  */
+  isValidPosixName = name: match "[a-zA-Z_][a-zA-Z0-9_]*" name != null;
+
+  /* Translate a Nix value into a shell variable declaration, with proper escaping.
+
+     Supported value types are strings (mapped to regular variables), lists of strings
+     (mapped to Bash-style arrays) and attribute sets of strings (mapped to Bash-style
+     associative arrays). Note that "strings" include string-coercible values like paths.
+
+     Strings are translated into POSIX sh-compatible code; lists and attribute sets
+     assume a shell that understands Bash syntax (e.g. Bash or ZSH).
+
+     Type: string -> (string | listOf string | attrsOf string) -> string
+
+     Example:
+       ''
+         ${toShellVar "foo" "some string"}
+         [[ "$foo" == "some string" ]]
+       ''
+  */
+  toShellVar = name: value:
+    lib.throwIfNot (isValidPosixName name) "toShellVar: ${name} is not a valid shell variable name" (
+    if isAttrs value then
+      "declare -A ${name}=(${
+        concatStringsSep " " (lib.mapAttrsToList (n: v:
+          "[${escapeShellArg n}]=${escapeShellArg v}"
+        ) value)
+      })"
+    else if isList value then
+      "declare -a ${name}=(${escapeShellArgs value})"
+    else
+      "${name}=${escapeShellArg value}"
+    );
+
+  /* Translate an attribute set into corresponding shell variable declarations
+     using `toShellVar`.
+
+     Type: attrsOf (string | listOf string | attrsOf string) -> string
+
+     Example:
+       let
+         foo = "value";
+         bar = foo;
+       in ''
+         ${toShellVars { inherit foo bar; }}
+         [[ "$foo" == "$bar" ]]
+       ''
+  */
+  toShellVars = vars: concatStringsSep "\n" (lib.mapAttrsToList toShellVar vars);
+
   /* Turn a string into a Nix expression representing that string
 
      Type: string -> string
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index 27cdaf6a723..3cdebbc07c1 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -74,6 +74,8 @@ in {
   mips          = filterDoubles predicates.isMips;
   mmix          = filterDoubles predicates.isMmix;
   riscv         = filterDoubles predicates.isRiscV;
+  riscv32       = filterDoubles predicates.isRiscV32;
+  riscv64       = filterDoubles predicates.isRiscV64;
   vc4           = filterDoubles predicates.isVc4;
   or1k          = filterDoubles predicates.isOr1k;
   m68k          = filterDoubles predicates.isM68k;
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix
index 89cac575c67..27c25deafec 100644
--- a/lib/systems/inspect.nix
+++ b/lib/systems/inspect.nix
@@ -13,6 +13,7 @@ rec {
     isx86_64       = { cpu = { family = "x86"; bits = 64; }; };
     isPowerPC      = { cpu = cpuTypes.powerpc; };
     isPower        = { cpu = { family = "power"; }; };
+    isPower64      = { cpu = { family = "power"; bits = 64; }; };
     isx86          = { cpu = { family = "x86"; }; };
     isAarch32      = { cpu = { family = "arm"; bits = 32; }; };
     isAarch64      = { cpu = { family = "arm"; bits = 64; }; };
@@ -23,6 +24,8 @@ rec {
     isMips64n64    = { cpu = { family = "mips"; bits = 64; }; abi = { abi = "64";  }; };
     isMmix         = { cpu = { family = "mmix"; }; };
     isRiscV        = { cpu = { family = "riscv"; }; };
+    isRiscV32      = { cpu = { family = "riscv"; bits = 32; }; };
+    isRiscV64      = { cpu = { family = "riscv"; bits = 64; }; };
     isSparc        = { cpu = { family = "sparc"; }; };
     isWasm         = { cpu = { family = "wasm"; }; };
     isMsp430       = { cpu = { family = "msp430"; }; };
diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix
index d65ff6487b7..72535372fc2 100644
--- a/lib/systems/platforms.nix
+++ b/lib/systems/platforms.nix
@@ -3,7 +3,7 @@
 # targetPlatform, etc) containing at least the minimal set of attrs
 # required (see types.parsedPlatform in lib/systems/parse.nix).  This
 # file takes an already-valid platform and further elaborates it with
-# optional fields such as linux-kernel, gcc, etc.
+# optional fields; currently these are: linux-kernel, gcc, and rustc.
 
 { lib }:
 rec {
@@ -568,5 +568,5 @@ rec {
 
     else if platform.parsed.cpu == lib.systems.parse.cpuTypes.powerpc64le then powernv
 
-    else pc;
+    else { };
 }
diff --git a/lib/tests/flakes/subflakeTest/flake.nix b/lib/tests/flakes/subflakeTest/flake.nix
new file mode 100644
index 00000000000..3a8edd5e8c5
--- /dev/null
+++ b/lib/tests/flakes/subflakeTest/flake.nix
@@ -0,0 +1,8 @@
+{
+  outputs = { self, subflake, callLocklessFlake }: rec {
+    x = (callLocklessFlake {
+      path = subflake;
+      inputs = {};
+    }).subflakeOutput;
+  };
+}
diff --git a/lib/tests/flakes/subflakeTest/subflake/flake.nix b/lib/tests/flakes/subflakeTest/subflake/flake.nix
new file mode 100644
index 00000000000..41566b52090
--- /dev/null
+++ b/lib/tests/flakes/subflakeTest/subflake/flake.nix
@@ -0,0 +1,5 @@
+{
+  outputs = { self }: {
+    subflakeOutput = 1;
+  };
+}
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index fcccf89cc88..faa7ee547f5 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -22,6 +22,15 @@ in
 
 runTests {
 
+# FLAKES
+
+  testCallLocklessFlake = {
+    expr = callLocklessFlake {
+      path = ./flakes/subflakeTest;
+      inputs = { subflake = ./flakes/subflakeTest/subflake; inherit callLocklessFlake; };
+    };
+    expected = { x = 1; outPath = ./flakes/subflakeTest; };
+  };
 
 # TRIVIAL
 
@@ -251,6 +260,56 @@ runTests {
     expected = "&quot;test&quot; &apos;test&apos; &lt; &amp; &gt;";
   };
 
+  testToShellVars = {
+    expr = ''
+      ${toShellVars {
+        STRing01 = "just a 'string'";
+        _array_ = [ "with" "more strings" ];
+        assoc."with some" = ''
+          strings
+          possibly newlines
+        '';
+      }}
+    '';
+    expected = ''
+      STRing01='just a '\'''string'\''''
+      declare -a _array_=('with' 'more strings')
+      declare -A assoc=(['with some']='strings
+      possibly newlines
+      ')
+    '';
+  };
+
+  testHasInfixFalse = {
+    expr = hasInfix "c" "abde";
+    expected = false;
+  };
+
+  testHasInfixTrue = {
+    expr = hasInfix "c" "abcde";
+    expected = true;
+  };
+
+  testHasInfixDerivation = {
+    expr = hasInfix "hello" (import ../.. { system = "x86_64-linux"; }).hello;
+    expected = true;
+  };
+
+  testHasInfixPath = {
+    expr = hasInfix "tests" ./.;
+    expected = true;
+  };
+
+  testHasInfixPathStoreDir = {
+    expr = hasInfix builtins.storeDir ./.;
+    expected = true;
+  };
+
+  testHasInfixToString = {
+    expr = hasInfix "a" { __toString = _: "a"; };
+    expected = true;
+  };
+
 # LISTS
 
   testFilter = {
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh
index 8050c6539fc..cc13a8d38e3 100755
--- a/lib/tests/modules.sh
+++ b/lib/tests/modules.sh
@@ -293,7 +293,7 @@ checkConfigOutput '^"a c"$' config.result ./functionTo/merging-attrs.nix
 
 # moduleType
 checkConfigOutput '^"a b"$' config.resultFoo ./declare-variants.nix ./define-variant.nix
-checkConfigOutput '^"a y z"$' config.resultFooBar ./declare-variants.nix ./define-variant.nix
+checkConfigOutput '^"a b y z"$' config.resultFooBar ./declare-variants.nix ./define-variant.nix
 checkConfigOutput '^"a b c"$' config.resultFooFoo ./declare-variants.nix ./define-variant.nix
 
 ## emptyValue's
@@ -327,6 +327,10 @@ checkConfigError 'The option .theOption.nested. in .other.nix. is already declar
 # Test that types.optionType leaves types untouched as long as they don't need to be merged
 checkConfigOutput 'ok' config.freeformItems.foo.bar ./adhoc-freeformType-survives-type-merge.nix
 
+# Anonymous submodules don't get nixed by import resolution/deduplication
+# because of an `extendModules` bug, issue 168767.
+checkConfigOutput '^1$' config.sub.specialisation.value ./extendModules-168767-imports.nix
+
 cat <<EOF
 ====== module tests ======
 $pass Pass
diff --git a/lib/tests/modules/extendModules-168767-imports.nix b/lib/tests/modules/extendModules-168767-imports.nix
new file mode 100644
index 00000000000..489e6b5a5d8
--- /dev/null
+++ b/lib/tests/modules/extendModules-168767-imports.nix
@@ -0,0 +1,41 @@
+{ lib
+, extendModules
+, ...
+}:
+with lib;
+{
+  imports = [
+
+    {
+      options.sub = mkOption {
+        default = { };
+        type = types.submodule (
+          { config
+          , extendModules
+          , ...
+          }:
+          {
+            options.value = mkOption {
+              type = types.int;
+            };
+
+            options.specialisation = mkOption {
+              default = { };
+              inherit
+                (extendModules {
+                  modules = [{
+                    specialisation = mkOverride 0 { };
+                  }];
+                })
+                type;
+            };
+          }
+        );
+      };
+    }
+
+    { config.sub.value = 1; }
+
+
+  ];
+}
diff --git a/lib/tests/systems.nix b/lib/tests/systems.nix
index c88adbf4651..46e7bd992f1 100644
--- a/lib/tests/systems.nix
+++ b/lib/tests/systems.nix
@@ -19,6 +19,9 @@ with lib.systems.doubles; lib.runTests {
   testi686 = mseteq i686 [ "i686-linux" "i686-freebsd" "i686-genode" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" "i686-none" "i686-darwin" ];
   testmips = mseteq mips [ "mips64el-linux" "mipsel-linux" "mipsel-netbsd" ];
   testmmix = mseteq mmix [ "mmix-mmixware" ];
+  testriscv = mseteq riscv [ "riscv32-linux" "riscv64-linux" "riscv32-netbsd" "riscv64-netbsd" "riscv32-none" "riscv64-none" ];
+  testriscv32 = mseteq riscv32 [ "riscv32-linux" "riscv32-netbsd" "riscv32-none" ];
+  testriscv64 = mseteq riscv64 [ "riscv64-linux" "riscv64-netbsd" "riscv64-none" ];
   testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-genode" "x86_64-redox" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" "x86_64-none" ];
 
   testcygwin = mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ];
diff --git a/lib/types.nix b/lib/types.nix
index 5c4b9631061..91b040d2455 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -568,6 +568,11 @@ rec {
       { modules
       , specialArgs ? {}
       , shorthandOnlyDefinesConfig ? false
+
+        # Internal variable to avoid `_key` collisions regardless
+        # of `extendModules`. Wired through by `evalModules`.
+        # Test case: lib/tests/modules, "168767"
+      , extensionOffset ? 0
       }@attrs:
       let
         inherit (lib.modules) evalModules;
@@ -579,11 +584,11 @@ rec {
         allModules = defs: imap1 (n: { value, file }:
           if isFunction value
           then setFunctionArgs
-                (args: lib.modules.unifyModuleSyntax file "${toString file}-${toString n}" (value args))
+                (args: lib.modules.unifyModuleSyntax file "${toString file}-${toString (n + extensionOffset)}" (value args))
                 (functionArgs value)
           else if isAttrs value
           then
-            lib.modules.unifyModuleSyntax file "${toString file}-${toString n}" (shorthandToModule value)
+            lib.modules.unifyModuleSyntax file "${toString file}-${toString (n + extensionOffset)}" (shorthandToModule value)
           else value
         ) defs;
 
@@ -620,6 +625,7 @@ rec {
           (base.extendModules {
             modules = [ { _module.args.name = last loc; } ] ++ allModules defs;
             prefix = loc;
+            extensionOffset = extensionOffset + length defs;
           }).config;
         emptyValue = { value = {}; };
         getSubOptions = prefix: (base.extendModules
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 1e2ebefa17e..8b760f0c1fe 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -525,6 +525,12 @@
     githubId = 38869148;
     name = "Alex Eyre";
   };
+  algram = {
+    email = "aliasgram@gmail.com";
+    github = "Algram";
+    githubId = 5053729;
+    name = "Alias Gram";
+  };
   alibabzo = {
     email = "alistair.bill@gmail.com";
     github = "alibabzo";
@@ -675,6 +681,18 @@
     githubId = 858965;
     name = "Andrew Morsillo";
   };
+  an-empty-string = {
+    name = "Tris Emmy Wilson";
+    email = "tris@tris.fyi";
+    github = "an-empty-string";
+    githubId = 681716;
+  };
+  AnatolyPopov = {
+    email = "aipopov@live.ru";
+    github = "AnatolyPopov";
+    githubId = 2312534;
+    name = "Anatolii Popov";
+  };
   andehen = {
     email = "git@andehen.net";
     github = "andehen";
@@ -823,6 +841,13 @@
     githubId = 5327697;
     name = "Anatolii Prylutskyi";
   };
+  anselmschueler = {
+    email = "mail@anselmschueler.com";
+    github = "schuelermine";
+    githubId = 48802534;
+    name = "Anselm Schüler";
+    matrix = "@schuelermine:matrix.org";
+  };
   antoinerg = {
     email = "roygobeil.antoine@gmail.com";
     github = "antoinerg";
@@ -1390,6 +1415,12 @@
     githubId = 164148;
     name = "Ben Darwin";
   };
+  bdd = {
+    email = "bdd@mindcast.org";
+    github = "bdd";
+    githubId = 11135;
+    name = "Berk D. Demir";
+  };
   bdesham = {
     email = "benjamin@esham.io";
     github = "bdesham";
@@ -2061,6 +2092,12 @@
     githubId = 8228888;
     name = "Charlie Hanley";
   };
+  charlesbaynham = {
+    email = "charlesbaynham@gmail.com";
+    github = "charlesbaynham";
+    githubId = 4397637;
+    name = "Charles Baynham";
+  };
   CharlesHD = {
     email = "charleshdespointes@gmail.com";
     github = "CharlesHD";
@@ -2272,6 +2309,7 @@
       fingerprint = "539F 0655 4D35 38A5 429A  E253 13E7 9449 C052 5215";
     }];
     name = "ckie";
+    matrix = "@ckie:ckie.dev";
   };
   clkamp = {
     email = "c@lkamp.de";
@@ -3849,6 +3887,13 @@
     githubId = 222467;
     name = "Dmitry Ivanov";
   };
+  ethindp = {
+    name = "Ethin Probst";
+    email = "harlydavidsen@gmail.com";
+    matrix = "@ethindp:the-gdn.net";
+    github = "ethindp";
+    githubId = 8030501;
+  };
   Etjean = {
     email = "et.jean@outlook.fr";
     github = "Etjean";
@@ -4085,11 +4130,18 @@
     matrix = "@felschr:matrix.org";
     github = "felschr";
     githubId = 3314323;
-    name = "Felix Tenley";
-    keys = [{
-      longkeyid = "ed25519/0x910ACB9F6BD26F58";
-      fingerprint = "6AB3 7A28 5420 9A41 82D9  0068 910A CB9F 6BD2 6F58";
-    }];
+    name = "Felix Schröter";
+    keys = [
+      {
+        # historical
+        longkeyid = "ed25519/0x910ACB9F6BD26F58";
+        fingerprint = "6AB3 7A28 5420 9A41 82D9  0068 910A CB9F 6BD2 6F58";
+      }
+      {
+        longkeyid = "ed25519/0x671E39E6744C807D";
+        fingerprint = "7E08 6842 0934 AA1D 6821  1F2A 671E 39E6 744C 807D";
+      }
+    ];
   };
   ffinkdevs = {
     email = "fink@h0st.space";
@@ -4708,6 +4760,12 @@
     githubId = 201997;
     name = "Eric Seidel";
   };
+  grindhold = {
+    name = "grindhold";
+    email = "grindhold+nix@skarphed.org";
+    github = "grindhold";
+    githubId = 2592640;
+  };
   gspia = {
     email = "iahogsp@gmail.com";
     github = "gspia";
@@ -5597,6 +5655,12 @@
     githubId = 488556;
     name = "Javier Aguirre";
   };
+  jayesh-bhoot = {
+    name = "Jayesh Bhoot";
+    email = "jayesh@bhoot.sh";
+    github = "jayesh-bhoot";
+    githubId = 1915507;
+  };
   jb55 = {
     email = "jb55@jb55.com";
     github = "jb55";
@@ -6827,12 +6891,6 @@
     githubId = 99639;
     name = "Pawel Kruszewski";
   };
-  ktosiek = {
-    email = "tomasz.kontusz@gmail.com";
-    github = "ktosiek";
-    githubId = 278013;
-    name = "Tomasz Kontusz";
-  };
   kubukoz = {
     email = "kubukoz@gmail.com";
     github = "kubukoz";
@@ -7166,6 +7224,13 @@
     githubId = 1769386;
     name = "Liam Diprose";
   };
+  libjared = {
+    email = "jared@perrycode.com";
+    github = "libjared";
+    githubId = 3746656;
+    matrix = "@libjared:matrix.org";
+    name = "Jared Perry";
+  };
   liff = {
     email = "liff@iki.fi";
     github = "liff";
@@ -11067,22 +11132,6 @@
     githubId = 132835;
     name = "Samuel Dionne-Riel";
   };
-  samuelgrf = {
-    email = "s@muel.gr";
-    github = "samuelgrf";
-    githubId = 67663538;
-    name = "Samuel Gräfenstein";
-    keys = [
-      {
-        longkeyid = "rsa4096/0xDE75F92E318123F0";
-        fingerprint = "6F2E 2A90 423C 8111 BFF2  895E DE75 F92E 3181 23F0";
-      }
-      {
-        longkeyid = "rsa4096/0xEF76A063F15C63C8";
-        fingerprint = "FF24 5832 8FAF 4660 18C6  186E EF76 A063 F15C 63C8";
-      }
-    ];
-  };
   samuelrivas = {
     email = "samuelrivas@gmail.com";
     github = "samuelrivas";
@@ -11325,6 +11374,12 @@
     githubId = 307899;
     name = "Gurkan Gur";
   };
+  serge = {
+    email = "sb@canva.com";
+    github = "serge-belov";
+    githubId = 38824235;
+    name = "Serge Belov";
+  };
   sersorrel = {
     email = "ash@sorrel.sh";
     github = "sersorrel";
@@ -12014,6 +12069,12 @@
     githubId = 1694705;
     name = "Sam Stites";
   };
+  strager = {
+    email = "strager.nds@gmail.com";
+    github = "strager";
+    githubId = 48666;
+    name = "Matthew \"strager\" Glazar";
+  };
   stumoss = {
     email = "samoss@gmail.com";
     github = "stumoss";
@@ -12506,6 +12567,12 @@
     githubId = 844343;
     name = "Thiago K. Okada";
   };
+  thibaultlemaire = {
+    email = "thibault.lemaire@protonmail.com";
+    github = "ThibaultLemaire";
+    githubId = 21345269;
+    name = "Thibault Lemaire";
+  };
   thibautmarty = {
     email = "github@thibautmarty.fr";
     matrix = "@thibaut:thibautmarty.fr";
@@ -12752,6 +12819,13 @@
     githubId = 90456;
     name = "Rebecca (Bex) Kelly";
   };
+  tpw_rules = {
+    name = "Thomas Watson";
+    email = "twatson52@icloud.com";
+    matrix = "@tpw_rules:matrix.org";
+    github = "tpwrules";
+    githubId = 208010;
+  };
   travisbhartwell = {
     email = "nafai@travishartwell.net";
     github = "travisbhartwell";
@@ -13226,6 +13300,12 @@
     githubId = 1771332;
     name = "László Vaskó";
   };
+  vlinkz = {
+    email = "vmfuentes64@gmail.com";
+    github = "vlinkz";
+    githubId = 20145996;
+    name = "Victor Fuentes";
+  };
   vlstill = {
     email = "xstill@fi.muni.cz";
     github = "vlstill";
@@ -13518,7 +13598,7 @@
     name = "Andrei Pampu";
   };
   wolfangaukang = {
-    email = "liquid.query960@4wrd.cc";
+    email = "clone.gleeful135+nixpkgs@anonaddy.me";
     github = "wolfangaukang";
     githubId = 8378365;
     name = "P. R. d. O.";
@@ -13571,6 +13651,13 @@
     github = "wunderbrick";
     githubId = 52174714;
   };
+  wyndon = {
+    email = "72203260+wyndon@users.noreply.github.com";
+    matrix = "@wyndon:envs.net";
+    github = "wyndon";
+    githubId = 72203260;
+    name = "wyndon";
+  };
   wyvie = {
     email = "elijahrum@gmail.com";
     github = "wyvie";
@@ -13895,6 +13982,13 @@
     githubId = 6191421;
     name = "Edward d'Albon";
   };
+  zebreus = {
+    matrix = "@lennart:cicen.net";
+    email = "lennarteichhorn+nixpkgs@gmail.com";
+    github = "Zebreus";
+    githubId = 1557253;
+    name = "Lennart Eichhorn";
+  };
   zef = {
     email = "zef@zef.me";
     name = "Zef Hemel";
@@ -14130,6 +14224,12 @@
     github = "deifactor";
     githubId = 30192992;
   };
+  deinferno = {
+    name = "deinferno";
+    email = "14363193+deinferno@users.noreply.github.com";
+    github = "deinferno";
+    githubId = 14363193;
+  };
   fzakaria = {
     name = "Farid Zakaria";
     email = "farid.m.zakaria@gmail.com";
@@ -14385,4 +14485,10 @@
     github = "melias122";
     githubId = 1027766;
   };
+  bryanhonof = {
+    name = "Bryan Honof";
+    email = "bryanhonof@gmail.com";
+    github = "bryanhonof";
+    githubId = 5932804;
+  };
 }
diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv
index bdda8020a3d..312aa0dad92 100644
--- a/maintainers/scripts/luarocks-packages.csv
+++ b/maintainers/scripts/luarocks-packages.csv
@@ -52,7 +52,7 @@ luadbi-postgresql,,,,,,
 luadbi-sqlite3,,,,,,
 luaepnf,,,,,,
 luaevent,,,,,,
-luaexpat,,,,1.3.0-1,,arobyn flosse
+luaexpat,,,,1.4.1-1,,arobyn flosse
 luaffi,,,http://luarocks.org/dev,,,
 luafilesystem,,,,1.7.0-2,,flosse
 lualogging,,,,,,
@@ -64,6 +64,7 @@ luasocket,,,,,,
 luasql-sqlite3,,,,,,vyp
 luassert,,,,,,
 luasystem,,,,,,
+luaunbound,,,,,
 luautf8,,,,,,pstn
 luazip,,,,,,
 lua-yajl,,,,,,pstn
diff --git a/maintainers/scripts/pluginupdate.py b/maintainers/scripts/pluginupdate.py
index 3cfdb138705..55eda3c7d45 100644
--- a/maintainers/scripts/pluginupdate.py
+++ b/maintainers/scripts/pluginupdate.py
@@ -87,7 +87,8 @@ def make_request(url: str, token=None) -> urllib.request.Request:
     return urllib.request.Request(url, headers=headers)
 
 
-Redirects = Dict['Repo', 'Repo']
+# a dictionary of plugins and their new repositories
+Redirects = Dict['PluginDesc', 'Repo']
 
 class Repo:
     def __init__(
@@ -96,8 +97,8 @@ class Repo:
         self.uri = uri
         '''Url to the repo'''
         self._branch = branch
-        # {old_uri: new_uri}
-        self.redirect: Redirects = {}
+        # Redirect is the new Repo to use
+        self.redirect: Optional['Repo'] = None
         self.token = "dummy_token"
 
     @property
@@ -207,7 +208,7 @@ class RepoGitHub(Repo):
             )
 
             new_repo = RepoGitHub(owner=new_owner, repo=new_name, branch=self.branch)
-            self.redirect[self] = new_repo
+            self.redirect = new_repo
 
 
     def prefetch(self, commit: str) -> str:
@@ -237,7 +238,7 @@ class RepoGitHub(Repo):
     }}'''
 
 
-@dataclass
+@dataclass(frozen=True)
 class PluginDesc:
     repo: Repo
     branch: str
@@ -310,6 +311,16 @@ def load_plugins_from_csv(config: FetchConfig, input_file: Path,) -> List[Plugin
 
     return plugins
 
+def run_nix_expr(expr):
+    with CleanEnvironment():
+        cmd = ["nix", "eval", "--extra-experimental-features",
+                "nix-command", "--impure", "--json", "--expr", expr]
+        log.debug("Running command %s", cmd)
+        out = subprocess.check_output(cmd)
+    data = json.loads(out)
+    return data
+
+
 class Editor:
     """The configuration of the update script."""
 
@@ -332,9 +343,15 @@ class Editor:
         self.deprecated = deprecated or root.joinpath("deprecated.json")
         self.cache_file = cache_file or f"{name}-plugin-cache.json"
 
-    def get_current_plugins(self):
+    def get_current_plugins(self) -> List[Plugin]:
         """To fill the cache"""
-        return get_current_plugins(self)
+        data = run_nix_expr(self.get_plugins)
+        plugins = []
+        for name, attr in data.items():
+            print("get_current_plugins: name %s" % name)
+            p = Plugin(name, attr["rev"], attr["submodules"], attr["sha256"])
+            plugins.append(p)
+        return plugins
 
     def load_plugin_spec(self, config: FetchConfig, plugin_file) -> List[PluginDesc]:
         '''CSV spec'''
@@ -448,24 +465,10 @@ class CleanEnvironment(object):
         self.empty_config.close()
 
 
-def get_current_plugins(editor: Editor) -> List[Plugin]:
-    with CleanEnvironment():
-        cmd = ["nix", "eval", "--extra-experimental-features", "nix-command", "--impure", "--json", "--expr", editor.get_plugins]
-        log.debug("Running command %s", cmd)
-        out = subprocess.check_output(cmd)
-    data = json.loads(out)
-    plugins = []
-    for name, attr in data.items():
-        print("get_current_plugins: name %s" % name)
-        p = Plugin(name, attr["rev"], attr["submodules"], attr["sha256"])
-        plugins.append(p)
-    return plugins
-
-
 def prefetch_plugin(
     p: PluginDesc,
     cache: "Optional[Cache]" = None,
-) -> Tuple[Plugin, Redirects]:
+) -> Tuple[Plugin, Optional[Repo]]:
     repo, branch, alias = p.repo, p.branch, p.alias
     name = alias or p.repo.name
     commit = None
@@ -479,7 +482,7 @@ def prefetch_plugin(
         return cached_plugin, repo.redirect
 
     has_submodules = repo.has_submodules()
-    print(f"prefetch {name}")
+    log.debug(f"prefetch {name}")
     sha256 = repo.prefetch(commit)
 
     return (
@@ -488,7 +491,7 @@ def prefetch_plugin(
     )
 
 
-def print_download_error(plugin: str, ex: Exception):
+def print_download_error(plugin: PluginDesc, ex: Exception):
     print(f"{plugin}: {ex}", file=sys.stderr)
     ex_traceback = ex.__traceback__
     tb_lines = [
@@ -498,19 +501,21 @@ def print_download_error(plugin: str, ex: Exception):
     print("\n".join(tb_lines))
 
 def check_results(
-    results: List[Tuple[PluginDesc, Union[Exception, Plugin], Redirects]]
+    results: List[Tuple[PluginDesc, Union[Exception, Plugin], Optional[Repo]]]
 ) -> Tuple[List[Tuple[PluginDesc, Plugin]], Redirects]:
     ''' '''
-    failures: List[Tuple[str, Exception]] = []
+    failures: List[Tuple[PluginDesc, Exception]] = []
     plugins = []
-    # {old: new} plugindesc
-    redirects: Dict[Repo, Repo] = {}
+    redirects: Redirects = {}
     for (pdesc, result, redirect) in results:
         if isinstance(result, Exception):
-            failures.append((pdesc.name, result))
+            failures.append((pdesc, result))
         else:
-            plugins.append((pdesc, result))
-            redirects.update(redirect)
+            new_pdesc = pdesc
+            if redirect is not None:
+                redirects.update({pdesc: redirect})
+                new_pdesc = PluginDesc(redirect, pdesc.branch, pdesc.alias)
+            plugins.append((new_pdesc, result))
 
     print(f"{len(results) - len(failures)} plugins were checked", end="")
     if len(failures) == 0:
@@ -591,13 +596,13 @@ class Cache:
 
 def prefetch(
     pluginDesc: PluginDesc, cache: Cache
-) -> Tuple[PluginDesc, Union[Exception, Plugin], dict]:
+) -> Tuple[PluginDesc, Union[Exception, Plugin], Optional[Repo]]:
     try:
         plugin, redirect = prefetch_plugin(pluginDesc, cache)
         cache[plugin.commit] = plugin
         return (pluginDesc, plugin, redirect)
     except Exception as e:
-        return (pluginDesc, e, {})
+        return (pluginDesc, e, None)
 
 
 
@@ -606,7 +611,7 @@ def rewrite_input(
     input_file: Path,
     deprecated: Path,
     # old pluginDesc and the new
-    redirects: Dict[PluginDesc, PluginDesc] = {},
+    redirects: Redirects = {},
     append: List[PluginDesc] = [],
 ):
     plugins = load_plugins_from_csv(config, input_file,)
@@ -618,9 +623,10 @@ def rewrite_input(
         cur_date_iso = datetime.now().strftime("%Y-%m-%d")
         with open(deprecated, "r") as f:
             deprecations = json.load(f)
-        for old, new in redirects.items():
-            old_plugin, _ = prefetch_plugin(old)
-            new_plugin, _ = prefetch_plugin(new)
+        for pdesc, new_repo in redirects.items():
+            new_pdesc = PluginDesc(new_repo, pdesc.branch, pdesc.alias)
+            old_plugin, _ = prefetch_plugin(pdesc)
+            new_plugin, _ = prefetch_plugin(new_pdesc)
             if old_plugin.normalized_name != new_plugin.normalized_name:
                 deprecations[old_plugin.normalized_name] = {
                     "new": new_plugin.normalized_name,
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index 7d12a82d492..26f0f1d48d4 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -198,6 +198,18 @@ with lib.maintainers; {
     enableFeatureFreezePing = true;
   };
 
+  enlightenment = {
+    members = [
+      romildo
+    ];
+    githubTeams = [
+      "enlightenment"
+    ];
+    scope = "Maintain Enlightenment desktop environment and related packages.";
+    shortName = "Enlightenment";
+    enableFeatureFreezePing = true;
+  };
+
   # Dummy group for the "everyone else" section
   feature-freeze-everyone-else = {
     members = [ ];
@@ -343,6 +355,30 @@ with lib.maintainers; {
     shortName = "Linux Kernel";
   };
 
+  lumina = {
+    members = [
+      romildo
+    ];
+    githubTeams = [
+      "lumina"
+    ];
+    scope = "Maintain lumina desktop environment and related packages.";
+    shortName = "Lumina";
+    enableFeatureFreezePing = true;
+  };
+
+  lxqt = {
+    members = [
+      romildo
+    ];
+    githubTeams = [
+      "lxqt"
+    ];
+    scope = "Maintain LXQt desktop environment and related packages.";
+    shortName = "LXQt";
+    enableFeatureFreezePing = true;
+  };
+
   marketing = {
     members = [
       garbas
diff --git a/nixos/doc/manual/administration/declarative-containers.section.md b/nixos/doc/manual/administration/declarative-containers.section.md
index 0d9d4017ed8..00fd244bb91 100644
--- a/nixos/doc/manual/administration/declarative-containers.section.md
+++ b/nixos/doc/manual/administration/declarative-containers.section.md
@@ -40,7 +40,7 @@ section for details on container networking.)
 To disable the container, just remove it from `configuration.nix` and
 run `nixos-rebuild
   switch`. Note that this will not delete the root directory of the
-container in `/var/lib/containers`. Containers can be destroyed using
+container in `/var/lib/nixos-containers`. Containers can be destroyed using
 the imperative method: `nixos-container destroy foo`.
 
 Declarative containers can be started and stopped using the
diff --git a/nixos/doc/manual/administration/imperative-containers.section.md b/nixos/doc/manual/administration/imperative-containers.section.md
index 05196bf5d81..f45991780c4 100644
--- a/nixos/doc/manual/administration/imperative-containers.section.md
+++ b/nixos/doc/manual/administration/imperative-containers.section.md
@@ -10,8 +10,8 @@ You create a container with identifier `foo` as follows:
 # nixos-container create foo
 ```
 
-This creates the container's root directory in `/var/lib/containers/foo`
-and a small configuration file in `/etc/containers/foo.conf`. It also
+This creates the container's root directory in `/var/lib/nixos-containers/foo`
+and a small configuration file in `/etc/nixos-containers/foo.conf`. It also
 builds the container's initial system configuration and stores it in
 `/nix/var/nix/profiles/per-container/foo/system`. You can modify the
 initial configuration of the container on the command line. For
diff --git a/nixos/doc/manual/development/writing-nixos-tests.section.md b/nixos/doc/manual/development/writing-nixos-tests.section.md
index a9ffffe2277..e5ee1cb01ff 100644
--- a/nixos/doc/manual/development/writing-nixos-tests.section.md
+++ b/nixos/doc/manual/development/writing-nixos-tests.section.md
@@ -159,34 +159,42 @@ The following methods are available on machine objects:
 `execute`
 
 :   Execute a shell command, returning a list `(status, stdout)`.
+
+    Commands are run with `set -euo pipefail` set:
+
+    -   If several commands are separated by `;` and one fails, the
+        command as a whole will fail.
+
+    -   For pipelines, the last non-zero exit status will be returned
+        (if there is one; otherwise zero will be returned).
+
+    -   Dereferencing unset variables fails the command.
+
+    -   It will wait for stdout to be closed.
+
     If the command detaches, it must close stdout, as `execute` will wait
     for this to consume all output reliably. This can be achieved by
     redirecting stdout to stderr `>&2`, to `/dev/console`, `/dev/null` or
     a file. Examples of detaching commands are `sleep 365d &`, where the
     shell forks a new process that can write to stdout and `xclip -i`, where
     the `xclip` command itself forks without closing stdout.
+
     Takes an optional parameter `check_return` that defaults to `True`.
     Setting this parameter to `False` will not check for the return code
     and return -1 instead. This can be used for commands that shut down
     the VM and would therefore break the pipe that would be used for
     retrieving the return code.
 
+    A timeout for the command can be specified (in seconds) using the optional
+    `timeout` parameter, e.g., `execute(cmd, timeout=10)` or
+    `execute(cmd, timeout=None)`. The default is 900 seconds.
+
 `succeed`
 
 :   Execute a shell command, raising an exception if the exit status is
-    not zero, otherwise returning the standard output. Commands are run
-    with `set -euo pipefail` set:
-
-    -   If several commands are separated by `;` and one fails, the
-        command as a whole will fail.
-
-    -   For pipelines, the last non-zero exit status will be returned
-        (if there is one, zero will be returned otherwise).
-
-    -   Dereferencing unset variables fail the command.
-
-    -   It will wait for stdout to be closed. See `execute` for the
-        implications.
+    not zero, otherwise returning the standard output. Similar to `execute`,
+    except that the timeout is `None` by default. See `execute` for details on
+    command execution.
 
 `fail`
 
@@ -196,10 +204,13 @@ The following methods are available on machine objects:
 `wait_until_succeeds`
 
 :   Repeat a shell command with 1-second intervals until it succeeds.
+    Has a default timeout of 900 seconds which can be modified, e.g.
+    `wait_until_succeeds(cmd, timeout=10)`. See `execute` for details on
+    command execution.
 
 `wait_until_fails`
 
-:   Repeat a shell command with 1-second intervals until it fails.
+:   Like `wait_until_succeeds`, but repeating the command until it fails.
 
 `wait_for_unit`
 
diff --git a/nixos/doc/manual/from_md/administration/declarative-containers.section.xml b/nixos/doc/manual/from_md/administration/declarative-containers.section.xml
index 7b35520d567..b8179dca1f8 100644
--- a/nixos/doc/manual/from_md/administration/declarative-containers.section.xml
+++ b/nixos/doc/manual/from_md/administration/declarative-containers.section.xml
@@ -48,8 +48,8 @@ containers.database = {
     <literal>configuration.nix</literal> and run
     <literal>nixos-rebuild switch</literal>. Note that this will not
     delete the root directory of the container in
-    <literal>/var/lib/containers</literal>. Containers can be destroyed
-    using the imperative method:
+    <literal>/var/lib/nixos-containers</literal>. Containers can be
+    destroyed using the imperative method:
     <literal>nixos-container destroy foo</literal>.
   </para>
   <para>
diff --git a/nixos/doc/manual/from_md/administration/imperative-containers.section.xml b/nixos/doc/manual/from_md/administration/imperative-containers.section.xml
index 59ecfdee5af..865fc468939 100644
--- a/nixos/doc/manual/from_md/administration/imperative-containers.section.xml
+++ b/nixos/doc/manual/from_md/administration/imperative-containers.section.xml
@@ -14,8 +14,9 @@
 </programlisting>
   <para>
     This creates the container’s root directory in
-    <literal>/var/lib/containers/foo</literal> and a small configuration
-    file in <literal>/etc/containers/foo.conf</literal>. It also builds
+    <literal>/var/lib/nixos-containers/foo</literal> and a small
+    configuration file in
+    <literal>/etc/nixos-containers/foo.conf</literal>. It also builds
     the container’s initial system configuration and stores it in
     <literal>/nix/var/nix/profiles/per-container/foo/system</literal>.
     You can modify the initial configuration of the container on the
diff --git a/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml b/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
index b194d58e5be..7ce3e4cb290 100644
--- a/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
+++ b/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
@@ -274,35 +274,9 @@ start_all()
         <listitem>
           <para>
             Execute a shell command, returning a list
-            <literal>(status, stdout)</literal>. If the command
-            detaches, it must close stdout, as
-            <literal>execute</literal> will wait for this to consume all
-            output reliably. This can be achieved by redirecting stdout
-            to stderr <literal>&gt;&amp;2</literal>, to
-            <literal>/dev/console</literal>,
-            <literal>/dev/null</literal> or a file. Examples of
-            detaching commands are <literal>sleep 365d &amp;</literal>,
-            where the shell forks a new process that can write to stdout
-            and <literal>xclip -i</literal>, where the
-            <literal>xclip</literal> command itself forks without
-            closing stdout. Takes an optional parameter
-            <literal>check_return</literal> that defaults to
-            <literal>True</literal>. Setting this parameter to
-            <literal>False</literal> will not check for the return code
-            and return -1 instead. This can be used for commands that
-            shut down the VM and would therefore break the pipe that
-            would be used for retrieving the return code.
+            <literal>(status, stdout)</literal>.
           </para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>
-          <literal>succeed</literal>
-        </term>
-        <listitem>
           <para>
-            Execute a shell command, raising an exception if the exit
-            status is not zero, otherwise returning the standard output.
             Commands are run with <literal>set -euo pipefail</literal>
             set:
           </para>
@@ -317,22 +291,63 @@ start_all()
             <listitem>
               <para>
                 For pipelines, the last non-zero exit status will be
-                returned (if there is one, zero will be returned
-                otherwise).
+                returned (if there is one; otherwise zero will be
+                returned).
               </para>
             </listitem>
             <listitem>
               <para>
-                Dereferencing unset variables fail the command.
+                Dereferencing unset variables fails the command.
               </para>
             </listitem>
             <listitem>
               <para>
-                It will wait for stdout to be closed. See
-                <literal>execute</literal> for the implications.
+                It will wait for stdout to be closed.
               </para>
             </listitem>
           </itemizedlist>
+          <para>
+            If the command detaches, it must close stdout, as
+            <literal>execute</literal> will wait for this to consume all
+            output reliably. This can be achieved by redirecting stdout
+            to stderr <literal>&gt;&amp;2</literal>, to
+            <literal>/dev/console</literal>,
+            <literal>/dev/null</literal> or a file. Examples of
+            detaching commands are <literal>sleep 365d &amp;</literal>,
+            where the shell forks a new process that can write to stdout
+            and <literal>xclip -i</literal>, where the
+            <literal>xclip</literal> command itself forks without
+            closing stdout.
+          </para>
+          <para>
+            Takes an optional parameter <literal>check_return</literal>
+            that defaults to <literal>True</literal>. Setting this
+            parameter to <literal>False</literal> will not check for the
+            return code and return -1 instead. This can be used for
+            commands that shut down the VM and would therefore break the
+            pipe that would be used for retrieving the return code.
+          </para>
+          <para>
+            A timeout for the command can be specified (in seconds)
+            using the optional <literal>timeout</literal> parameter,
+            e.g., <literal>execute(cmd, timeout=10)</literal> or
+            <literal>execute(cmd, timeout=None)</literal>. The default
+            is 900 seconds.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>succeed</literal>
+        </term>
+        <listitem>
+          <para>
+            Execute a shell command, raising an exception if the exit
+            status is not zero, otherwise returning the standard output.
+            Similar to <literal>execute</literal>, except that the
+            timeout is <literal>None</literal> by default. See
+            <literal>execute</literal> for details on command execution.
+          </para>
         </listitem>
       </varlistentry>
       <varlistentry>
@@ -353,7 +368,10 @@ start_all()
         <listitem>
           <para>
             Repeat a shell command with 1-second intervals until it
-            succeeds.
+            succeeds. Has a default timeout of 900 seconds which can be
+            modified, e.g.
+            <literal>wait_until_succeeds(cmd, timeout=10)</literal>. See
+            <literal>execute</literal> for details on command execution.
           </para>
         </listitem>
       </varlistentry>
@@ -363,8 +381,8 @@ start_all()
         </term>
         <listitem>
           <para>
-            Repeat a shell command with 1-second intervals until it
-            fails.
+            Like <literal>wait_until_succeeds</literal>, but repeating
+            the command until it fails.
           </para>
         </listitem>
       </varlistentry>
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index af2aecda0da..6da24e3a8a8 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -45,6 +45,33 @@
       </listitem>
       <listitem>
         <para>
+          <literal>stdenv.mkDerivation</literal> now supports a
+          self-referencing <literal>finalAttrs:</literal> parameter
+          containing the final <literal>mkDerivation</literal> arguments
+          including overrides. <literal>drv.overrideAttrs</literal> now
+          supports two parameters
+          <literal>finalAttrs: previousAttrs:</literal>. This allows
+          packaging configuration to be overridden in a consistent
+          manner by providing an alternative to
+          <literal>rec {}</literal> syntax.
+        </para>
+        <para>
+          Additionally, <literal>passthru</literal> can now reference
+          <literal>finalAttrs.finalPackage</literal> containing the
+          final package, including attributes such as the output paths
+          and <literal>overrideAttrs</literal>.
+        </para>
+        <para>
+          New language integrations can be simplified by overriding a
+          <quote>prototype</quote> package containing the
+          language-specific logic. This removes the need for a extra
+          layer of overriding for the <quote>generic builder</quote>
+          arguments, thus removing a usability problem and source of
+          error.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           PHP 8.1 is now available
         </para>
       </listitem>
@@ -75,6 +102,22 @@
       </listitem>
       <listitem>
         <para>
+          Pulseaudio has been upgraded to version 15.0 and now
+          optionally
+          <link xlink:href="https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/15.0/#supportforldacandaptxbluetoothcodecsplussbcxqsbcwithhigher-qualityparameters">supports
+          additional Bluetooth audio codecs</link> like aptX or LDAC,
+          with codec switching support being available in
+          <literal>pavucontrol</literal>. This feature is disabled by
+          default but can be enabled by using
+          <literal>hardware.pulseaudio.package = pkgs.pulseaudioFull;</literal>.
+          Existing 3rd party modules that provided similar
+          functionality, like <literal>pulseaudio-modules-bt</literal>
+          or <literal>pulseaudio-hsphfpd</literal> are deprecated and
+          have been removed.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The new
           <link xlink:href="https://nixos.org/manual/nixpkgs/stable/#sec-postgresqlTestHook"><literal>postgresqlTestHook</literal></link>
           runs a PostgreSQL server for the duration of package checks.
@@ -108,6 +151,14 @@
           default.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          The GNOME and Plasma installation CDs now use
+          <literal>pkgs.calamares</literal> and
+          <literal>pkgs.calamares-nixos-extensions</literal> to allow
+          users to easily install and set up NixOS with a GUI.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-22.05-new-services">
@@ -377,6 +428,14 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://github.com/lakinduakash/linux-wifi-hotspot">create_ap</link>,
+          a module for creating wifi hotspots using the program
+          linux-wifi-hotspot. Available as
+          <link xlink:href="options.html#opt-services.create_ap.enable">services.create_ap</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://0xerr0r.github.io/blocky/">blocky</link>,
           fast and lightweight DNS proxy as ad-blocker for local network
           with many features.
@@ -465,6 +524,41 @@
       </listitem>
       <listitem>
         <para>
+          The configuration and state directories used by
+          <literal>nixos-containers</literal> have been moved from
+          <literal>/etc/containers</literal> and
+          <literal>/var/lib/containers</literal> to
+          <literal>/etc/nixos-containers</literal> and
+          <literal>/var/lib/nixos-containers</literal>.
+        </para>
+        <para>
+          If you are changing <literal>system.stateVersion</literal> to
+          <literal>&quot;22.05&quot;</literal> manually on an existing
+          system you are responsible for migrating these directories
+          yourself.
+        </para>
+        <para>
+          This is to improve compatibility with
+          <literal>libcontainer</literal> based software such as Podman
+          and Skopeo which assumes they have ownership over
+          <literal>/etc/containers</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          For new installations
+          <literal>virtualisation.oci-containers.backend</literal> is
+          now set to <literal>podman</literal> by default. If you still
+          want to use Docker on systems where
+          <literal>system.stateVersion</literal> is set to to
+          <literal>&quot;22.05&quot;</literal> set
+          <literal>virtualisation.oci-containers.backend = &quot;docker&quot;;</literal>.Old
+          systems with older <literal>stateVersion</literal>s stay with
+          <quote>docker</quote>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>security.klogd</literal> was removed. Logging of
           kernel messages is handled by systemd since Linux 3.5.
         </para>
@@ -783,6 +877,11 @@
           to the new location if the <literal>stateVersion</literal> is
           updated.
         </para>
+        <para>
+          As of Synapse 1.58.0, the old groups/communities feature has
+          been disabled by default. It will be completely removed with
+          Synapse 1.61.0.
+        </para>
       </listitem>
       <listitem>
         <para>
@@ -1258,7 +1357,7 @@
           <literal>systemd-shutdown</literal> is now properly linked on
           shutdown to unmount all filesystems and device mapper devices
           cleanly. This can be disabled using
-          <literal>boot.systemd.shutdown.enable</literal>.
+          <literal>systemd.shutdownRamfs.enable</literal>.
         </para>
       </listitem>
       <listitem>
@@ -1326,6 +1425,16 @@
       </listitem>
       <listitem>
         <para>
+          <literal>services.zookeeper</literal> has a new option
+          <literal>jre</literal> for specifying the JRE to start
+          zookeeper with. It defaults to the JRE that
+          <literal>pkgs.zookeeper</literal> was wrapped with, instead of
+          <literal>pkgs.jre</literal>. This changes the JRE to
+          <literal>pkgs.jdk11_headless</literal> by default.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>pkgs.pgadmin</literal> now refers to
           <literal>pkgs.pgadmin4</literal>. <literal>pgadmin3</literal>
           has been removed.
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index 6d22973fb9b..24fbc537dca 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -17,6 +17,21 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - GNOME has been upgraded to 42. Please take a look at their [Release Notes](https://release.gnome.org/42/) for details. Notably, it replaces gedit with GNOME Text Editor, GNOME Terminal with GNOME Console (formerly King’s Cross), and GNOME Screenshot with a tool built into the Shell.
 
+- `stdenv.mkDerivation` now supports a self-referencing `finalAttrs:` parameter
+  containing the final `mkDerivation` arguments including overrides.
+  `drv.overrideAttrs` now supports two parameters `finalAttrs: previousAttrs:`.
+  This allows packaging configuration to be overridden in a consistent manner by
+  providing an alternative to `rec {}` syntax.
+
+  Additionally, `passthru` can now reference `finalAttrs.finalPackage` containing
+  the final package, including attributes such as the output paths and
+  `overrideAttrs`.
+
+  New language integrations can be simplified by overriding a "prototype"
+  package containing the language-specific logic. This removes the need for a
+  extra layer of overriding for the "generic builder" arguments, thus removing a
+  usability problem and source of error.
+
 - PHP 8.1 is now available
 
 - Mattermost has been updated to extended support release 6.3, as the previously packaged extended support release 5.37 is [reaching its end of life](https://docs.mattermost.com/upgrade/extended-support-release.html).
@@ -27,6 +42,9 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - Systemd has been upgraded to the version 250.
 
+- Pulseaudio has been upgraded to version 15.0 and now optionally [supports additional Bluetooth audio codecs](https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/15.0/#supportforldacandaptxbluetoothcodecsplussbcxqsbcwithhigher-qualityparameters) like aptX or LDAC, with codec switching support being available in `pavucontrol`. This feature is disabled by default but can be enabled by using `hardware.pulseaudio.package = pkgs.pulseaudioFull;`.
+  Existing 3rd party modules that provided similar functionality, like `pulseaudio-modules-bt` or `pulseaudio-hsphfpd` are deprecated and have been removed.
+
 - The new [`postgresqlTestHook`](https://nixos.org/manual/nixpkgs/stable/#sec-postgresqlTestHook) runs a PostgreSQL server for the duration of package checks.
 
 - [`kops`](https://kops.sigs.k8s.io) defaults to 1.22.4, which will enable [Instance Metadata Service Version 2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html) and require tokens on new clusters with Kubernetes 1.22. This will increase security by default, but may break some types of workloads. See the [release notes](https://kops.sigs.k8s.io/releases/1.22-notes/) for details.
@@ -35,6 +53,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - The default GHC version has been updated from 8.10.7 to 9.0.2. `pkgs.haskellPackages` and `pkgs.ghc` will now use this version by default.
 
+- The GNOME and Plasma installation CDs now use `pkgs.calamares` and `pkgs.calamares-nixos-extensions` to allow users to easily install and set up NixOS with a GUI.
+
 ## New Services {#sec-release-22.05-new-services}
 
 - [aesmd](https://github.com/intel/linux-sgx#install-the-intelr-sgx-psw), the Intel SGX Architectural Enclave Service Manager. Available as [services.aesmd](#opt-services.aesmd.enable).
@@ -107,12 +127,16 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [headscale](https://github.com/juanfont/headscale), an Open Source implementation of the [Tailscale](https://tailscale.io) Control Server. Available as [services.headscale](options.html#opt-services.headscale.enable)
 
+- [create_ap](https://github.com/lakinduakash/linux-wifi-hotspot), a module for creating wifi hotspots using the program linux-wifi-hotspot. Available as [services.create_ap](options.html#opt-services.create_ap.enable).
+
 - [blocky](https://0xerr0r.github.io/blocky/), fast and lightweight DNS proxy as ad-blocker for local network with many features.
 
 - [pacemaker](https://clusterlabs.org/pacemaker/) cluster resource manager
 
 - [nifi](https://nifi.apache.org), an easy to use, powerful, and reliable system to process and distribute data. Available as [services.nifi](options.html#opt-services.nifi.enable).
 
+- [kanidm](https://kanidm.github.io/kanidm/stable/), an identity management server written in Rust.
+
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
 
 ## Backward Incompatibilities {#sec-release-22.05-incompatibilities}
@@ -149,6 +173,19 @@ In addition to numerous new and upgraded packages, this release has the followin
   org-contrib, refer to the ones in `pkgs.emacsPackages.elpaPackages` and
   `pkgs.emacsPackages.nongnuPackages` where the new versions will release.
 
+- The configuration and state directories used by `nixos-containers` have been
+  moved from `/etc/containers` and `/var/lib/containers` to
+  `/etc/nixos-containers` and `/var/lib/nixos-containers`.
+
+  If you are changing `system.stateVersion` to `"22.05"` manually on an existing
+  system you are responsible for migrating these directories yourself.
+
+  This is to improve compatibility with `libcontainer` based software such as Podman and Skopeo
+  which assumes they have ownership over `/etc/containers`.
+
+- For new installations `virtualisation.oci-containers.backend` is now set to `podman` by default.
+  If you still want to use Docker on systems where `system.stateVersion` is set to to `"22.05"` set `virtualisation.oci-containers.backend = "docker";`.Old systems with older `stateVersion`s stay with "docker".
+
 - `security.klogd` was removed.  Logging of kernel messages is handled
   by systemd since Linux 3.5.
 
@@ -327,6 +364,8 @@ In addition to numerous new and upgraded packages, this release has the followin
   `media_store_path` was changed from `${dataDir}/media` to `${dataDir}/media_store` if `system.stateVersion` is at least `22.05`. Files will need to be manually moved to the new
   location if the `stateVersion` is updated.
 
+  As of Synapse 1.58.0, the old groups/communities feature has been disabled by default. It will be completely removed with Synapse 1.61.0.
+
 - The Keycloak package (`pkgs.keycloak`) has been switched from the
   Wildfly version, which will soon be deprecated, to the Quarkus based
   version. The Keycloak service (`services.keycloak`) has been updated
@@ -498,7 +537,7 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `systemd-nspawn@.service` settings have been reverted to the default systemd behaviour. User namespaces are now activated by default. If you want to keep running nspawn containers without user namespaces you need to set `systemd.nspawn.<name>.execConfig.PrivateUsers = false`
 
-- `systemd-shutdown` is now properly linked on shutdown to unmount all filesystems and device mapper devices cleanly. This can be disabled using `boot.systemd.shutdown.enable`.
+- `systemd-shutdown` is now properly linked on shutdown to unmount all filesystems and device mapper devices cleanly. This can be disabled using `systemd.shutdownRamfs.enable`.
 
 - The Tor SOCKS proxy is now actually disabled if `services.tor.client.enable` is set to `false` (the default). If you are using this functionality but didn't change the setting or set it to `false`, you now need to set it to `true`.
 
@@ -526,6 +565,10 @@ In addition to numerous new and upgraded packages, this release has the followin
   you should change the package you refer to. If you don't need them update your
   commands from `otelcontribcol` to `otelcorecol` and enjoy a 7x smaller binary.
 
+- `services.zookeeper` has a new option `jre` for specifying the JRE to start
+  zookeeper with. It defaults to the JRE that `pkgs.zookeeper` was wrapped with,
+  instead of `pkgs.jre`. This changes the JRE to `pkgs.jdk11_headless` by default.
+
 - `pkgs.pgadmin` now refers to `pkgs.pgadmin4`. `pgadmin3` has been removed.
 
 - `pkgs.noto-fonts-cjk` is now deprecated in favor of `pkgs.noto-fonts-cjk-sans`
diff --git a/nixos/lib/systemd-types.nix b/nixos/lib/systemd-types.nix
index 71962fab2e1..961b6d7f985 100644
--- a/nixos/lib/systemd-types.nix
+++ b/nixos/lib/systemd-types.nix
@@ -1,4 +1,4 @@
-{ lib, systemdUtils }:
+{ lib, systemdUtils, pkgs }:
 
 with systemdUtils.lib;
 with systemdUtils.unitOptions;
@@ -34,4 +34,36 @@ rec {
 
   automounts = with types; listOf (submodule [ stage2AutomountOptions unitConfig automountConfig ]);
   initrdAutomounts = with types; attrsOf (submodule [ stage1AutomountOptions unitConfig automountConfig ]);
+
+  initrdContents = types.attrsOf (types.submodule ({ config, options, name, ... }: {
+    options = {
+      enable = mkEnableOption "copying of this file and symlinking it" // { default = true; };
+
+      target = mkOption {
+        type = types.path;
+        description = ''
+          Path of the symlink.
+        '';
+        default = name;
+      };
+
+      text = mkOption {
+        default = null;
+        type = types.nullOr types.lines;
+        description = "Text of the file.";
+      };
+
+      source = mkOption {
+        type = types.path;
+        description = "Path of the source file.";
+      };
+    };
+
+    config = {
+      source = mkIf (config.text != null) (
+        let name' = "initrd-" + baseNameOf name;
+        in mkDerivedConfig options.text (pkgs.writeText name')
+      );
+    };
+  }));
 }
diff --git a/nixos/lib/test-driver/test_driver/machine.py b/nixos/lib/test-driver/test_driver/machine.py
index f3e615fe5bf..035e3ffe897 100644
--- a/nixos/lib/test-driver/test_driver/machine.py
+++ b/nixos/lib/test-driver/test_driver/machine.py
@@ -526,10 +526,17 @@ class Machine:
         self.run_callbacks()
         self.connect()
 
+        # Always run command with shell opts
+        command = f"set -euo pipefail; {command}"
+
+        timeout_str = ""
         if timeout is not None:
-            command = "timeout {} sh -c {}".format(timeout, shlex.quote(command))
+            timeout_str = f"timeout {timeout}"
+
+        out_command = (
+            f"{timeout_str} sh -c {shlex.quote(command)} | (base64 --wrap 0; echo)\n"
+        )
 
-        out_command = f"( set -euo pipefail; {command} ) | (base64 --wrap 0; echo)\n"
         assert self.shell
         self.shell.send(out_command.encode())
 
diff --git a/nixos/lib/utils.nix b/nixos/lib/utils.nix
index 497d98aa4d1..d7671a37499 100644
--- a/nixos/lib/utils.nix
+++ b/nixos/lib/utils.nix
@@ -213,6 +213,6 @@ rec {
   systemdUtils = {
     lib = import ./systemd-lib.nix { inherit lib config pkgs; };
     unitOptions = import ./systemd-unit-options.nix { inherit lib systemdUtils; };
-    types = import ./systemd-types.nix { inherit lib systemdUtils; };
+    types = import ./systemd-types.nix { inherit lib systemdUtils pkgs; };
   };
 }
diff --git a/nixos/maintainers/scripts/lxd/lxd-image.nix b/nixos/maintainers/scripts/lxd/lxd-image.nix
index c76b9fcc7f7..6aa3f2f5584 100644
--- a/nixos/maintainers/scripts/lxd/lxd-image.nix
+++ b/nixos/maintainers/scripts/lxd/lxd-image.nix
@@ -27,7 +27,7 @@ with lib;
   networking.useDHCP = false;
   networking.interfaces.eth0.useDHCP = true;
 
-  # As this is intended as a stadalone image, undo some of the minimal profile stuff
+  # As this is intended as a standalone image, undo some of the minimal profile stuff
   documentation.enable = true;
   documentation.nixos.enable = true;
   environment.noXlibs = false;
diff --git a/nixos/modules/config/console.nix b/nixos/modules/config/console.nix
index 5b07901f990..b60fc55851d 100644
--- a/nixos/modules/config/console.nix
+++ b/nixos/modules/config/console.nix
@@ -149,8 +149,11 @@ in
         '');
 
         boot.initrd.systemd.contents = {
-          "/etc/kbd".source = "${consoleEnv config.boot.initrd.systemd.package.kbd}/share";
           "/etc/vconsole.conf".source = vconsoleConf;
+          # Add everything if we want full console setup...
+          "/etc/kbd" = lib.mkIf cfg.earlySetup { source = "${consoleEnv config.boot.initrd.systemd.package.kbd}/share"; };
+          # ...but only the keymaps if we don't
+          "/etc/kbd/keymaps" = lib.mkIf (!cfg.earlySetup) { source = "${consoleEnv config.boot.initrd.systemd.package.kbd}/share/keymaps"; };
         };
         boot.initrd.systemd.storePaths = [
           "${config.boot.initrd.systemd.package}/lib/systemd/systemd-vconsole-setup"
@@ -180,7 +183,7 @@ in
         ];
       })
 
-      (mkIf cfg.earlySetup {
+      (mkIf (cfg.earlySetup && !config.boot.initrd.systemd.enable) {
         boot.initrd.extraUtilsCommands = ''
           mkdir -p $out/share/consolefonts
           ${if substring 0 1 cfg.font == "/" then ''
@@ -194,10 +197,6 @@ in
             cp -L $font $out/share/consolefonts/font.psf
           fi
         '';
-        assertions = [{
-          assertion = !config.boot.initrd.systemd.enable;
-          message = "console.earlySetup is implied by systemd stage 1";
-        }];
       })
     ]))
   ];
diff --git a/nixos/modules/hardware/all-firmware.nix b/nixos/modules/hardware/all-firmware.nix
index 5b60b17312f..da2bc8ffef4 100644
--- a/nixos/modules/hardware/all-firmware.nix
+++ b/nixos/modules/hardware/all-firmware.nix
@@ -27,7 +27,8 @@ in {
     };
 
     hardware.enableRedistributableFirmware = mkOption {
-      default = false;
+      default = config.hardware.enableAllFirmware;
+      defaultText = lib.literalExpression "config.hardware.enableAllFirmware";
       type = types.bool;
       description = ''
         Turn on this option if you want to enable all the firmware with a license allowing redistribution.
@@ -71,7 +72,7 @@ in {
     })
     (mkIf cfg.enableAllFirmware {
       assertions = [{
-        assertion = !cfg.enableAllFirmware || (config.nixpkgs.config.allowUnfree or false);
+        assertion = !cfg.enableAllFirmware || config.nixpkgs.config.allowUnfree;
         message = ''
           the list of hardware.enableAllFirmware contains non-redistributable licensed firmware files.
             This requires nixpkgs.config.allowUnfree to be true.
@@ -84,7 +85,10 @@ in {
         b43Firmware_6_30_163_46
         b43FirmwareCutter
         xow_dongle-firmware
-      ] ++ optional pkgs.stdenv.hostPlatform.isx86 facetimehd-firmware;
+      ] ++ optionals pkgs.stdenv.hostPlatform.isx86 [
+        facetimehd-calibration
+        facetimehd-firmware
+      ];
     })
     (mkIf cfg.wirelessRegulatoryDatabase {
       hardware.firmware = [ pkgs.wireless-regdb ];
diff --git a/nixos/modules/hardware/raid/hpsa.nix b/nixos/modules/hardware/raid/hpsa.nix
index c4977e3fd70..fa6f0b8fc84 100644
--- a/nixos/modules/hardware/raid/hpsa.nix
+++ b/nixos/modules/hardware/raid/hpsa.nix
@@ -8,7 +8,10 @@ let
     version = "2.40-13.0";
 
     src = pkgs.fetchurl {
-      url = "https://downloads.linux.hpe.com/SDR/downloads/MCP/Ubuntu/pool/non-free/${pname}-${version}_amd64.deb";
+      urls = [
+        "https://downloads.linux.hpe.com/SDR/downloads/MCP/Ubuntu/pool/non-free/${pname}-${version}_amd64.deb"
+        "http://apt.netangels.net/pool/main/h/hpssacli/${pname}-${version}_amd64.deb"
+      ];
       sha256 = "11w7fwk93lmfw0yya4jpjwdmgjimqxx6412sqa166g1pz4jil4sw";
     };
 
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index 6899eb4e196..210d45ac841 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -361,11 +361,12 @@ in
     services.udev.extraRules =
       ''
         # Create /dev/nvidia-uvm when the nvidia-uvm module is loaded.
-        KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidiactl c $$(grep nvidia-frontend /proc/devices | cut -d \  -f 1) 255'"
-        KERNEL=="nvidia_modeset", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-modeset c $$(grep nvidia-frontend /proc/devices | cut -d \  -f 1) 254'"
-        KERNEL=="card*", SUBSYSTEM=="drm", DRIVERS=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia%n c $$(grep nvidia-frontend /proc/devices | cut -d \  -f 1) %n'"
+        KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidiactl c 195 255'"
+        KERNEL=="nvidia_modeset", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-modeset c 195 254'"
+        KERNEL=="card*", SUBSYSTEM=="drm", DRIVERS=="nvidia", PROGRAM="${pkgs.gnugrep}/bin/grep 'Device Minor:' /proc/driver/nvidia/gpus/%b/information", \
+          RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia%c{3} c 195 %c{3}"
         KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \  -f 1) 0'"
-        KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d \  -f 1) 0'"
+        KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d \  -f 1) 1'"
       '' + optionalString cfg.powerManagement.finegrained ''
         # Remove NVIDIA USB xHCI Host Controller devices, if present
         ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"
diff --git a/nixos/modules/hardware/video/webcam/facetimehd.nix b/nixos/modules/hardware/video/webcam/facetimehd.nix
index b13f103350e..c48eac5e9c1 100644
--- a/nixos/modules/hardware/video/webcam/facetimehd.nix
+++ b/nixos/modules/hardware/video/webcam/facetimehd.nix
@@ -14,6 +14,18 @@ in
 
   options.hardware.facetimehd.enable = mkEnableOption "facetimehd kernel module";
 
+  options.hardware.facetimehd.withCalibration = mkOption {
+    default = false;
+    example = true;
+    type = types.bool;
+    description = ''
+      Whether to include sensor calibration files for facetimehd.
+      This makes colors look much better but is experimental, see
+      <link xlink:href="https://github.com/patjak/facetimehd/wiki/Extracting-the-sensor-calibration-files"/>
+      for details.
+    '';
+  };
+
   config = mkIf cfg.enable {
 
     boot.kernelModules = [ "facetimehd" ];
@@ -22,7 +34,8 @@ in
 
     boot.extraModulePackages = [ kernelPackages.facetimehd ];
 
-    hardware.firmware = [ pkgs.facetimehd-firmware ];
+    hardware.firmware = [ pkgs.facetimehd-firmware ]
+      ++ optional cfg.withCalibration pkgs.facetimehd-calibration;
 
     # unload module during suspend/hibernate as it crashes the whole system
     powerManagement.powerDownCommands = ''
diff --git a/nixos/modules/i18n/input-method/fcitx5.nix b/nixos/modules/i18n/input-method/fcitx5.nix
index 6fea28e2234..b4b887606e9 100644
--- a/nixos/modules/i18n/input-method/fcitx5.nix
+++ b/nixos/modules/i18n/input-method/fcitx5.nix
@@ -5,7 +5,9 @@ with lib;
 let
   im = config.i18n.inputMethod;
   cfg = im.fcitx5;
-  fcitx5Package = pkgs.fcitx5-with-addons.override { inherit (cfg) addons; };
+  addons = cfg.addons ++ optional cfg.enableRimeData pkgs.rime-data;
+  fcitx5Package = pkgs.fcitx5-with-addons.override { inherit addons; };
+  whetherRimeDataDir = any (p: p.pname == "fcitx5-rime") cfg.addons;
 in {
   options = {
     i18n.inputMethod.fcitx5 = {
@@ -17,16 +19,29 @@ in {
           Enabled Fcitx5 addons.
         '';
       };
+
+      enableRimeData = mkEnableOption "default rime-data with fcitx5-rime";
     };
   };
 
   config = mkIf (im.enabled == "fcitx5") {
     i18n.inputMethod.package = fcitx5Package;
 
-    environment.variables = {
-      GTK_IM_MODULE = "fcitx";
-      QT_IM_MODULE = "fcitx";
-      XMODIFIERS = "@im=fcitx";
-    };
+    environment = mkMerge [{
+      variables = {
+        GTK_IM_MODULE = "fcitx";
+        QT_IM_MODULE = "fcitx";
+        XMODIFIERS = "@im=fcitx";
+      };
+    }
+    (mkIf whetherRimeDataDir {
+      pathsToLink = [
+        "/share/rime-data"
+      ];
+
+      variables =  {
+        NIX_RIME_DATA_DIR = "/run/current-system/sw/share/rime-data";
+      };
+    })];
   };
 }
diff --git a/nixos/modules/installer/cd-dvd/channel.nix b/nixos/modules/installer/cd-dvd/channel.nix
index 92164d65e53..2f91cd39881 100644
--- a/nixos/modules/installer/cd-dvd/channel.nix
+++ b/nixos/modules/installer/cd-dvd/channel.nix
@@ -39,7 +39,8 @@ in
         echo "unpacking the NixOS/Nixpkgs sources..."
         mkdir -p /nix/var/nix/profiles/per-user/root
         ${config.nix.package.out}/bin/nix-env -p /nix/var/nix/profiles/per-user/root/channels \
-          -i ${channelSources} --quiet --option build-use-substitutes false
+          -i ${channelSources} --quiet --option build-use-substitutes false \
+          ${optionalString config.boot.initrd.systemd.enable "--option sandbox false"} # There's an issue with pivot_root
         mkdir -m 0700 -p /root/.nix-defexpr
         ln -s /nix/var/nix/profiles/per-user/root/channels /root/.nix-defexpr/channels
         mkdir -m 0755 -p /var/lib/nixos
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
index fa19daf1328..0e4feba2282 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
@@ -35,22 +35,28 @@ with lib;
   # Enable sound in graphical iso's.
   hardware.pulseaudio.enable = true;
 
-  environment.systemPackages = [
+  # Spice guest additions
+  services.spice-vdagentd.enable = true;
+
+  # Enable plymouth
+  boot.plymouth.enable = true;
+
+  environment.defaultPackages = with pkgs; [
     # Include gparted for partitioning disks.
-    pkgs.gparted
+    gparted
 
     # Include some editors.
-    pkgs.vim
-    pkgs.bvi # binary editor
-    pkgs.joe
+    vim
+    nano
 
     # Include some version control tools.
-    pkgs.git
+    git
+    rsync
 
     # Firefox for reading the manual.
-    pkgs.firefox
+    firefox
 
-    pkgs.glxinfo
+    glxinfo
   ];
 
 }
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix
new file mode 100644
index 00000000000..95aeca1a928
--- /dev/null
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix
@@ -0,0 +1,59 @@
+# This module defines a NixOS installation CD that contains GNOME.
+
+{ pkgs, ... }:
+
+{
+  imports = [ ./installation-cd-graphical-calamares.nix ];
+
+  isoImage.edition = "gnome";
+
+  services.xserver.desktopManager.gnome = {
+    # Add Firefox and other tools useful for installation to the launcher
+    favoriteAppsOverride = ''
+      [org.gnome.shell]
+      favorite-apps=[ 'firefox.desktop', 'nixos-manual.desktop', 'org.gnome.Console.desktop', 'org.gnome.Nautilus.desktop', 'gparted.desktop', 'io.calamares.calamares.desktop' ]
+    '';
+
+    # Override GNOME defaults to disable GNOME tour and disable suspend
+    extraGSettingsOverrides = ''
+      [org.gnome.shell]
+      welcome-dialog-last-shown-version='9999999999'
+
+      [org.gnome.settings-daemon.plugins.power]
+      sleep-inactive-ac-type='nothing'
+      sleep-inactive-battery-type='nothing'
+    '';
+
+    extraGSettingsOverridePackages = [ pkgs.gnome.gnome-settings-daemon ];
+
+    enable = true;
+  };
+
+  # Theme calamares with GNOME theme
+  qt5 = {
+    enable = true;
+    platformTheme = "gnome";
+  };
+
+  # Fix scaling for calamares on wayland
+  environment.variables = {
+    QT_QPA_PLATFORM = "$([[ $XDG_SESSION_TYPE = \"wayland\" ]] && echo \"wayland\")";
+  };
+
+  services.xserver.displayManager = {
+    gdm = {
+      enable = true;
+      # autoSuspend makes the machine automatically suspend after inactivity.
+      # It's possible someone could/try to ssh'd into the machine and obviously
+      # have issues because it's inactive.
+      # See:
+      # * https://github.com/NixOS/nixpkgs/pull/63790
+      # * https://gitlab.gnome.org/GNOME/gnome-control-center/issues/22
+      autoSuspend = false;
+    };
+    autoLogin = {
+      enable = true;
+      user = "nixos";
+    };
+  };
+}
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix
new file mode 100644
index 00000000000..a4c46d58c85
--- /dev/null
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix
@@ -0,0 +1,49 @@
+# This module defines a NixOS installation CD that contains X11 and
+# Plasma 5.
+
+{ pkgs, ... }:
+
+{
+  imports = [ ./installation-cd-graphical-calamares.nix ];
+
+  isoImage.edition = "plasma5";
+
+  services.xserver = {
+    desktopManager.plasma5 = {
+      enable = true;
+    };
+
+    # Automatically login as nixos.
+    displayManager = {
+      sddm.enable = true;
+      autoLogin = {
+        enable = true;
+        user = "nixos";
+      };
+    };
+  };
+
+  environment.systemPackages = with pkgs; [
+    # Graphical text editor
+    kate
+  ];
+
+  system.activationScripts.installerDesktop = let
+
+    # Comes from documentation.nix when xserver and nixos.enable are true.
+    manualDesktopFile = "/run/current-system/sw/share/applications/nixos-manual.desktop";
+
+    homeDir = "/home/nixos/";
+    desktopDir = homeDir + "Desktop/";
+
+  in ''
+    mkdir -p ${desktopDir}
+    chown nixos ${homeDir} ${desktopDir}
+
+    ln -sfT ${manualDesktopFile} ${desktopDir + "nixos-manual.desktop"}
+    ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop ${desktopDir + "gparted.desktop"}
+    ln -sfT ${pkgs.konsole}/share/applications/org.kde.konsole.desktop ${desktopDir + "org.kde.konsole.desktop"}
+    ln -sfT ${pkgs.calamares-nixos}/share/applications/io.calamares.calamares.desktop ${desktopDir + "io.calamares.calamares.desktop"}
+  '';
+
+}
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix
new file mode 100644
index 00000000000..8a6d30d1801
--- /dev/null
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix
@@ -0,0 +1,20 @@
+# This module adds the calamares installer to the basic graphical NixOS
+# installation CD.
+
+{ pkgs, ... }:
+let
+  calamares-nixos-autostart = pkgs.makeAutostartItem { name = "io.calamares.calamares"; package = pkgs.calamares-nixos; };
+in
+{
+  imports = [ ./installation-cd-graphical-base.nix ];
+
+  environment.systemPackages = with pkgs; [
+    # Calamares for graphical installation
+    libsForQt5.kpmcore
+    calamares-nixos
+    calamares-nixos-autostart
+    calamares-nixos-extensions
+    # Needed for calamares QML module packagechooserq
+    libsForQt5.full
+  ];
+}
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
index 303493741f3..573b31b439c 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
@@ -1,8 +1,6 @@
 # This module defines a NixOS installation CD that contains GNOME.
 
-{ lib, ... }:
-
-with lib;
+{ ... }:
 
 {
   imports = [ ./installation-cd-graphical-base.nix ];
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix
index 098c2b2870b..5c7617c9f8c 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix
@@ -1,9 +1,7 @@
 # This module defines a NixOS installation CD that contains X11 and
 # Plasma 5.
 
-{ config, lib, pkgs, ... }:
-
-with lib;
+{ pkgs, ... }:
 
 {
   imports = [ ./installation-cd-graphical-base.nix ];
diff --git a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix
index 458e313a3f7..329bd329dc1 100644
--- a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix
+++ b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix
@@ -87,19 +87,19 @@ in
   boot.initrd.availableKernelModules =
     [ "mvsdio" "reiserfs" "ext3" "ums-cypress" "rtc_mv" "ext4" ];
 
-  boot.postBootCommands =
+  boot.postBootCommands = lib.mkIf (!boot.initrd.systemd.enable)
     ''
       mkdir -p /mnt
 
       cp ${dummyConfiguration} /etc/nixos/configuration.nix
     '';
 
-  boot.initrd.extraUtilsCommands =
+  boot.initrd.extraUtilsCommands = lib.mkIf (!boot.initrd.systemd.enable)
     ''
       copy_bin_and_libs ${pkgs.util-linux}/sbin/hwclock
     '';
 
-  boot.initrd.postDeviceCommands =
+  boot.initrd.postDeviceCommands = lib.mkIf (!boot.initrd.systemd.enable)
     ''
       hwclock -s
     '';
diff --git a/nixos/modules/installer/kexec/kexec-boot.nix b/nixos/modules/installer/kexec/kexec-boot.nix
index 95ab774468c..2d062214efc 100644
--- a/nixos/modules/installer/kexec/kexec-boot.nix
+++ b/nixos/modules/installer/kexec/kexec-boot.nix
@@ -40,7 +40,7 @@
         }
         {
           name = "bzImage";
-          path = "${config.system.build.kernel}/bzImage";
+          path = "${config.system.build.kernel}/${config.system.boot.loader.kernelFile}";
         }
         {
           name = "kexec-boot";
diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64.nix b/nixos/modules/installer/sd-card/sd-image-aarch64.nix
index 321793882f4..cf01005fdc8 100644
--- a/nixos/modules/installer/sd-card/sd-image-aarch64.nix
+++ b/nixos/modules/installer/sd-card/sd-image-aarch64.nix
@@ -39,6 +39,12 @@
         # Supported in newer board revisions
         arm_boost=1
 
+        [cm4]
+        # Enable host mode on the 2711 built-in XHCI USB controller.
+        # This line should be removed if the legacy DWC2 controller is required
+        # (e.g. for USB device mode) or if USB support is not required.
+        otg_mode=1
+
         [all]
         # Boot in 64-bit mode.
         arm_64bit=1
@@ -65,6 +71,9 @@
         cp ${pkgs.ubootRaspberryPi4_64bit}/u-boot.bin firmware/u-boot-rpi4.bin
         cp ${pkgs.raspberrypi-armstubs}/armstub8-gic.bin firmware/armstub8-gic.bin
         cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-4-b.dtb firmware/
+        cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-400.dtb firmware/
+        cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-cm4.dtb firmware/
+        cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-cm4s.dtb firmware/
       '';
     populateRootCommands = ''
       mkdir -p ./files/boot
diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix
index 2e088b97771..bf5ec0f9690 100644
--- a/nixos/modules/installer/tools/tools.nix
+++ b/nixos/modules/installer/tools/tools.nix
@@ -206,6 +206,11 @@ in
         # Or disable the firewall altogether.
         # networking.firewall.enable = false;
 
+        # Copy the NixOS configuration file and link it from the resulting system
+        # (/run/current-system/configuration.nix). This is useful in case you
+        # accidentally delete configuration.nix.
+        # system.copySystemConfiguration = true;
+
         # This value determines the NixOS release from which the default
         # settings for stateful data, like file locations and database versions
         # on your system were taken. It‘s perfectly fine and recommended to leave
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 9aa8817ca51..0ccf97234ff 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -172,6 +172,7 @@
   ./programs/java.nix
   ./programs/k40-whisperer.nix
   ./programs/kclock.nix
+  ./programs/k3b.nix
   ./programs/kdeconnect.nix
   ./programs/kbdlight.nix
   ./programs/less.nix
@@ -459,6 +460,7 @@
   ./services/hardware/udisks2.nix
   ./services/hardware/upower.nix
   ./services/hardware/usbmuxd.nix
+  ./services/hardware/usbrelayd.nix
   ./services/hardware/thermald.nix
   ./services/hardware/undervolt.nix
   ./services/hardware/vdr.nix
@@ -661,6 +663,7 @@
   ./services/monitoring/longview.nix
   ./services/monitoring/mackerel-agent.nix
   ./services/monitoring/metricbeat.nix
+  ./services/monitoring/mimir.nix
   ./services/monitoring/monit.nix
   ./services/monitoring/munin.nix
   ./services/monitoring/nagios.nix
@@ -734,12 +737,14 @@
   ./services/networking/blocky.nix
   ./services/networking/charybdis.nix
   ./services/networking/cjdns.nix
+  ./services/networking/cloudflare-dyndns.nix
   ./services/networking/cntlm.nix
   ./services/networking/connman.nix
   ./services/networking/consul.nix
   ./services/networking/coredns.nix
   ./services/networking/corerad.nix
   ./services/networking/coturn.nix
+  ./services/networking/create_ap.nix
   ./services/networking/croc.nix
   ./services/networking/dante.nix
   ./services/networking/ddclient.nix
@@ -970,6 +975,7 @@
   ./services/security/hockeypuck.nix
   ./services/security/hologram-server.nix
   ./services/security/hologram-agent.nix
+  ./services/security/kanidm.nix
   ./services/security/munge.nix
   ./services/security/nginx-sso.nix
   ./services/security/oauth2_proxy.nix
@@ -1180,13 +1186,14 @@
   ./system/boot/stage-2.nix
   ./system/boot/systemd.nix
   ./system/boot/systemd/coredump.nix
+  ./system/boot/systemd/initrd-secrets.nix
+  ./system/boot/systemd/initrd.nix
   ./system/boot/systemd/journald.nix
   ./system/boot/systemd/logind.nix
   ./system/boot/systemd/nspawn.nix
   ./system/boot/systemd/shutdown.nix
   ./system/boot/systemd/tmpfiles.nix
   ./system/boot/systemd/user.nix
-  ./system/boot/systemd/initrd.nix
   ./system/boot/timesyncd.nix
   ./system/boot/tmp.nix
   ./system/etc/etc-activation.nix
@@ -1250,6 +1257,7 @@
   ./virtualisation/virtualbox-guest.nix
   ./virtualisation/virtualbox-host.nix
   ./virtualisation/vmware-guest.nix
+  ./virtualisation/vmware-host.nix
   ./virtualisation/waydroid.nix
   ./virtualisation/xen-dom0.nix
   ./virtualisation/xe-guest-utilities.nix
diff --git a/nixos/modules/profiles/all-hardware.nix b/nixos/modules/profiles/all-hardware.nix
index 25f68123a1d..8347453d403 100644
--- a/nixos/modules/profiles/all-hardware.nix
+++ b/nixos/modules/profiles/all-hardware.nix
@@ -40,6 +40,9 @@ in
       # SD cards.
       "sdhci_pci"
 
+      # NVMe drives
+      "nvme"
+
       # Firewire support.  Not tested.
       "ohci1394" "sbp2"
 
diff --git a/nixos/modules/profiles/installation-device.nix b/nixos/modules/profiles/installation-device.nix
index 3c503fba2a3..a8601a9e2c0 100644
--- a/nixos/modules/profiles/installation-device.nix
+++ b/nixos/modules/profiles/installation-device.nix
@@ -99,6 +99,10 @@ with lib;
         stdenvNoCC # for runCommand
         busybox
         jq # for closureInfo
+        # For boot.initrd.systemd
+        makeInitrdNGTool
+        systemdStage1
+        systemdStage1Network
       ];
 
     # Show all debug messages from the kernel but don't log refused packets
diff --git a/nixos/modules/profiles/qemu-guest.nix b/nixos/modules/profiles/qemu-guest.nix
index d4335edfcf2..8b3df97ae0d 100644
--- a/nixos/modules/profiles/qemu-guest.nix
+++ b/nixos/modules/profiles/qemu-guest.nix
@@ -1,13 +1,13 @@
 # Common configuration for virtual machines running under QEMU (using
 # virtio).
 
-{ ... }:
+{ config, lib, ... }:
 
 {
   boot.initrd.availableKernelModules = [ "virtio_net" "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_scsi" "9p" "9pnet_virtio" ];
   boot.initrd.kernelModules = [ "virtio_balloon" "virtio_console" "virtio_rng" ];
 
-  boot.initrd.postDeviceCommands =
+  boot.initrd.postDeviceCommands = lib.mkIf (!config.boot.initrd.systemd.enable)
     ''
       # Set the system time from the hardware clock to work around a
       # bug in qemu-kvm > 1.5.2 (where the VM clock is initialised
diff --git a/nixos/modules/programs/k3b.nix b/nixos/modules/programs/k3b.nix
new file mode 100644
index 00000000000..68a4d08f349
--- /dev/null
+++ b/nixos/modules/programs/k3b.nix
@@ -0,0 +1,52 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+{
+  # interface
+  options.programs.k3b = {
+    enable = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to enable k3b, the KDE disk burning application.
+
+        Additionally to installing <package>k3b</package> enabling this will
+        add <literal>setuid</literal> wrappers in <literal>/run/wrappers/bin</literal>
+        for both <package>cdrdao</package> and <package>cdrecord</package>. On first
+        run you must manually configure the path of <package>cdrdae</package> and
+        <package>cdrecord</package> to correspond to the appropriate paths under
+        <literal>/run/wrappers/bin</literal> in the "Setup External Programs" menu.
+      '';
+    };
+  };
+
+  # implementation
+  config = mkIf config.programs.k3b.enable {
+
+    environment.systemPackages = with pkgs; [
+      k3b
+      dvdplusrwtools
+      cdrdao
+      cdrkit
+    ];
+
+    security.wrappers = {
+      cdrdao = {
+        setuid = true;
+        owner = "root";
+        group = "cdrom";
+        permissions = "u+wrx,g+x";
+        source = "${pkgs.cdrdao}/bin/cdrdao";
+      };
+      cdrecord = {
+        setuid = true;
+        owner = "root";
+        group = "cdrom";
+        permissions = "u+wrx,g+x";
+        source = "${pkgs.cdrkit}/bin/cdrecord";
+      };
+    };
+
+  };
+}
diff --git a/nixos/modules/programs/thefuck.nix b/nixos/modules/programs/thefuck.nix
index b909916158d..18d09e26866 100644
--- a/nixos/modules/programs/thefuck.nix
+++ b/nixos/modules/programs/thefuck.nix
@@ -6,9 +6,12 @@ let
   prg = config.programs;
   cfg = prg.thefuck;
 
-  initScript = ''
+  bashAndZshInitScript = ''
     eval $(${pkgs.thefuck}/bin/thefuck --alias ${cfg.alias})
   '';
+  fishInitScript = ''
+    ${pkgs.thefuck}/bin/thefuck --alias ${cfg.alias} | source
+  '';
 in
   {
     options = {
@@ -30,10 +33,8 @@ in
     config = mkIf cfg.enable {
       environment.systemPackages = with pkgs; [ thefuck ];
 
-      programs.bash.interactiveShellInit = initScript;
-      programs.zsh.interactiveShellInit = mkIf prg.zsh.enable initScript;
-      programs.fish.interactiveShellInit = mkIf prg.fish.enable ''
-        ${pkgs.thefuck}/bin/thefuck --alias | source
-      '';
+      programs.bash.interactiveShellInit = bashAndZshInitScript;
+      programs.zsh.interactiveShellInit = mkIf prg.zsh.enable bashAndZshInitScript;
+      programs.fish.interactiveShellInit = mkIf prg.fish.enable fishInitScript;
     };
   }
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index 530304b497a..b1fcb0b461f 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -492,7 +492,7 @@ let
             auth ${ussh.control} ${pkgs.pam_ussh}/lib/security/pam_ussh.so ${optionalString (ussh.caFile != null) "ca_file=${ussh.caFile}"} ${optionalString (ussh.authorizedPrincipals != null) "authorized_principals=${ussh.authorizedPrincipals}"} ${optionalString (ussh.authorizedPrincipalsFile != null) "authorized_principals_file=${ussh.authorizedPrincipalsFile}"} ${optionalString (ussh.group != null) "group=${ussh.group}"}
           '') +
           (let oath = config.security.pam.oath; in optionalString cfg.oathAuth ''
-            auth requisite ${pkgs.oathToolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}
+            auth requisite ${pkgs.oath-toolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}
           '') +
           (let yubi = config.security.pam.yubico; in optionalString cfg.yubicoAuth ''
             auth ${yubi.control} ${pkgs.yubico-pam}/lib/security/pam_yubico.so mode=${toString yubi.mode} ${optionalString (yubi.challengeResponsePath != null) "chalresp_path=${yubi.challengeResponsePath}"} ${optionalString (yubi.mode == "client") "id=${toString yubi.id}"} ${optionalString yubi.debug "debug"}
@@ -1131,7 +1131,7 @@ in
       ++ optional config.services.sssd.enable pkgs.sssd
       ++ optionals config.krb5.enable [pam_krb5 pam_ccreds]
       ++ optionals config.security.pam.enableOTPW [ pkgs.otpw ]
-      ++ optionals config.security.pam.oath.enable [ pkgs.oathToolkit ]
+      ++ optionals config.security.pam.oath.enable [ pkgs.oath-toolkit ]
       ++ optionals config.security.pam.p11.enable [ pkgs.pam_p11 ]
       ++ optionals config.security.pam.u2f.enable [ pkgs.pam_u2f ];
 
@@ -1221,7 +1221,7 @@ in
         mr ${pkgs.pam_ussh}/lib/security/pam_ussh.so,
       '' +
       optionalString (isEnabled (cfg: cfg.oathAuth)) ''
-        "mr ${pkgs.oathToolkit}/lib/security/pam_oath.so,
+        "mr ${pkgs.oath-toolkit}/lib/security/pam_oath.so,
       '' +
       optionalString (isEnabled (cfg: cfg.yubicoAuth)) ''
         mr ${pkgs.yubico-pam}/lib/security/pam_yubico.so,
diff --git a/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner.nix
index dc58c634523..85ac0fb2a89 100644
--- a/nixos/modules/services/continuous-integration/gitlab-runner.nix
+++ b/nixos/modules/services/continuous-integration/gitlab-runner.nix
@@ -36,12 +36,12 @@ let
 
       # register new services
       ${concatStringsSep "\n" (mapAttrsToList (name: service: ''
-        if echo "$NEW_SERVICES" | grep -xq ${name}; then
+        if echo "$NEW_SERVICES" | grep -xq "${name}"; then
           bash -c ${escapeShellArg (concatStringsSep " \\\n " ([
             "set -a && source ${service.registrationConfigFile} &&"
             "gitlab-runner register"
             "--non-interactive"
-            "--name ${name}"
+            (if service.description != null then "--description \"${service.description}\"" else "--name '${name}'")
             "--executor ${service.executor}"
             "--limit ${toString service.limit}"
             "--request-concurrency ${toString service.requestConcurrency}"
@@ -365,6 +365,13 @@ in
               with <literal>RUNNER_ENV</literal> variable set.
             '';
           };
+          description = mkOption {
+            type = types.nullOr types.str;
+            default = null;
+            description = ''
+              Name/description of the runner.
+            '';
+          };
           executor = mkOption {
             type = types.str;
             default = "docker";
diff --git a/nixos/modules/services/databases/couchdb.nix b/nixos/modules/services/databases/couchdb.nix
index 742e605d224..39d1ead28fc 100644
--- a/nixos/modules/services/databases/couchdb.nix
+++ b/nixos/modules/services/databases/couchdb.nix
@@ -193,6 +193,11 @@ in {
 
       preStart = ''
         touch ${cfg.configFile}
+        if ! test -e ${cfg.databaseDir}/.erlang.cookie; then
+          touch ${cfg.databaseDir}/.erlang.cookie
+          chmod 600 ${cfg.databaseDir}/.erlang.cookie
+          dd if=/dev/random bs=16 count=1 | base64 > ${cfg.databaseDir}/.erlang.cookie
+        fi
       '';
 
       environment = {
@@ -204,6 +209,7 @@ in {
         ERL_FLAGS= ''-couch_ini ${cfg.package}/etc/default.ini ${configFile} ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig} ${cfg.configFile}'';
         # 5. the vm.args file
         COUCHDB_ARGS_FILE=''${cfg.argsFile}'';
+        HOME =''${cfg.databaseDir}'';
       };
 
       serviceConfig = {
diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix
index 8257eeb673b..2f386617187 100644
--- a/nixos/modules/services/hardware/udev.nix
+++ b/nixos/modules/services/hardware/udev.nix
@@ -8,6 +8,24 @@ let
 
   cfg = config.services.udev;
 
+  initrdUdevRules = pkgs.runCommand "initrd-udev-rules" {} ''
+    mkdir -p $out/etc/udev/rules.d
+    for f in 60-cdrom_id 60-persistent-storage 75-net-description 80-drivers 80-net-setup-link; do
+      ln -s ${config.boot.initrd.systemd.package}/lib/udev/rules.d/$f.rules $out/etc/udev/rules.d
+    done
+  '';
+
+
+  # networkd link files are used early by udev to set up interfaces early.
+  # This must be done in stage 1 to avoid race conditions between udev and
+  # network daemons.
+  # TODO move this into the initrd-network module when it exists
+  initrdLinkUnits = pkgs.runCommand "initrd-link-units" {} ''
+    mkdir -p $out
+    ln -s ${udev}/lib/systemd/network/*.link $out/
+    ${lib.concatMapStringsSep "\n" (file: "ln -s ${file} $out/") (lib.mapAttrsToList (n: v: "${v.unit}/${n}") (lib.filterAttrs (n: _: hasSuffix ".link" n) config.systemd.network.units))}
+  '';
+
   extraUdevRules = pkgs.writeTextFile {
     name = "extra-udev-rules";
     text = cfg.extraRules;
@@ -350,7 +368,10 @@ in
     ];
     boot.initrd.systemd.storePaths = [
       "${config.boot.initrd.systemd.package}/lib/systemd/systemd-udevd"
-      "${config.boot.initrd.systemd.package}/lib/udev"
+      "${config.boot.initrd.systemd.package}/lib/udev/ata_id"
+      "${config.boot.initrd.systemd.package}/lib/udev/cdrom_id"
+      "${config.boot.initrd.systemd.package}/lib/udev/scsi_id"
+      "${config.boot.initrd.systemd.package}/lib/udev/rules.d"
     ] ++ map (x: "${x}/bin") config.boot.initrd.services.udev.binPackages;
 
     # Generate the udev rules for the initrd
@@ -364,13 +385,17 @@ in
         systemd = config.boot.initrd.systemd.package;
         binPackages = config.boot.initrd.services.udev.binPackages ++ [ config.boot.initrd.systemd.contents."/bin".source ];
       };
+      "/etc/systemd/network".source = initrdLinkUnits;
     };
-    # Insert custom rules
-    boot.initrd.services.udev.packages = mkIf (config.boot.initrd.services.udev.rules != "") (pkgs.writeTextFile {
-      name = "initrd-udev-rules";
-      destination = "/etc/udev/rules.d/99-local.rules";
-      text = config.boot.initrd.services.udev.rules;
-    });
+    # Insert initrd rules
+    boot.initrd.services.udev.packages = [
+      initrdUdevRules
+      (mkIf (config.boot.initrd.services.udev.rules != "") (pkgs.writeTextFile {
+        name = "initrd-udev-rules";
+        destination = "/etc/udev/rules.d/99-local.rules";
+        text = config.boot.initrd.services.udev.rules;
+      }))
+    ];
 
     environment.etc =
       {
diff --git a/nixos/modules/services/hardware/usbrelayd.nix b/nixos/modules/services/hardware/usbrelayd.nix
new file mode 100644
index 00000000000..c0322e89e6b
--- /dev/null
+++ b/nixos/modules/services/hardware/usbrelayd.nix
@@ -0,0 +1,44 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  cfg = config.services.usbrelayd;
+in
+{
+  options.services.usbrelayd = with types; {
+    enable = mkEnableOption "USB Relay MQTT daemon";
+
+    broker = mkOption {
+      type = str;
+      description = "Hostname or IP address of your MQTT Broker.";
+      default = "127.0.0.1";
+      example = [
+        "mqtt"
+        "192.168.1.1"
+      ];
+    };
+
+    clientName = mkOption {
+      type = str;
+      description = "Name, your client connects as.";
+      default = "MyUSBRelay";
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    # TODO: Rename to .conf in upcomming release
+    environment.etc."usbrelayd.ini".text = ''
+      [MQTT]
+      BROKER = ${cfg.broker}
+      CLIENTNAME = ${cfg.clientName}
+    '';
+
+    services.udev.packages = [ pkgs.usbrelayd ];
+    systemd.packages = [ pkgs.usbrelayd ];
+    users.users.usbrelay = {
+      isSystemUser = true;
+      group = "usbrelay";
+    };
+    users.groups.usbrelay = { };
+  };
+}
diff --git a/nixos/modules/services/misc/sourcehut/default.nix b/nixos/modules/services/misc/sourcehut/default.nix
index 21551d7d5f0..5a6d011a729 100644
--- a/nixos/modules/services/misc/sourcehut/default.nix
+++ b/nixos/modules/services/misc/sourcehut/default.nix
@@ -1018,7 +1018,7 @@ in
       inherit configIniOfService;
       mainService = mkMerge [ baseService {
         serviceConfig.StateDirectory = [ "sourcehut/gitsrht" "sourcehut/gitsrht/repos" ];
-        preStart = mkIf (!versionAtLeast config.system.stateVersion "22.05") (mkBefore ''
+        preStart = mkIf (versionOlder config.system.stateVersion "22.05") (mkBefore ''
           # Fix Git hooks of repositories pre-dating https://github.com/NixOS/nixpkgs/pull/133984
           (
           set +f
diff --git a/nixos/modules/services/misc/zookeeper.nix b/nixos/modules/services/misc/zookeeper.nix
index 3809a93a61e..fefbf9a86de 100644
--- a/nixos/modules/services/misc/zookeeper.nix
+++ b/nixos/modules/services/misc/zookeeper.nix
@@ -114,6 +114,13 @@ in {
       type = types.package;
     };
 
+    jre = mkOption {
+      description = "The JRE with which to run Zookeeper";
+      default = cfg.package.jre;
+      defaultText = literalExpression "pkgs.zookeeper.jre";
+      example = literalExpression "pkgs.jre";
+      type = types.package;
+    };
   };
 
 
@@ -131,7 +138,7 @@ in {
       after = [ "network.target" ];
       serviceConfig = {
         ExecStart = ''
-          ${pkgs.jre}/bin/java \
+          ${cfg.jre}/bin/java \
             -cp "${cfg.package}/lib/*:${configDir}" \
             ${escapeShellArgs cfg.extraCmdLineOptions} \
             -Dzookeeper.datadir.autocreate=false \
diff --git a/nixos/modules/services/monitoring/mimir.nix b/nixos/modules/services/monitoring/mimir.nix
new file mode 100644
index 00000000000..df853f037ee
--- /dev/null
+++ b/nixos/modules/services/monitoring/mimir.nix
@@ -0,0 +1,63 @@
+{ config, lib, pkgs, ... }:
+
+let
+  inherit (lib) escapeShellArgs mkEnableOption mkIf mkOption types;
+
+  cfg = config.services.mimir;
+
+  settingsFormat = pkgs.formats.yaml {};
+in {
+  options.services.mimir = {
+    enable = mkEnableOption "mimir";
+
+    configuration = mkOption {
+      type = (pkgs.formats.json {}).type;
+      default = {};
+      description = ''
+        Specify the configuration for Mimir in Nix.
+      '';
+    };
+
+    configFile = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      description = ''
+        Specify a configuration file that Mimir should use.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    assertions = [{
+      assertion = (
+        (cfg.configuration == {} -> cfg.configFile != null) &&
+        (cfg.configFile != null -> cfg.configuration == {})
+      );
+      message  = ''
+        Please specify either
+        'services.mimir.configuration' or
+        'services.mimir.configFile'.
+      '';
+    }];
+
+    systemd.services.mimir = {
+      description = "mimir Service Daemon";
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = let
+        conf = if cfg.configFile == null
+               then settingsFormat.generate "config.yaml" cfg.configuration
+               else cfg.configFile;
+      in
+      {
+        ExecStart = "${pkgs.grafana-mimir}/bin/mimir --config.file=${conf}";
+        DynamicUser = true;
+        Restart = "always";
+        ProtectSystem = "full";
+        DevicePolicy = "closed";
+        NoNewPrivileges = true;
+        StateDirectory = "mimir";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/asterisk.nix b/nixos/modules/services/networking/asterisk.nix
index af091d55c01..297d0b3b2d0 100644
--- a/nixos/modules/services/networking/asterisk.nix
+++ b/nixos/modules/services/networking/asterisk.nix
@@ -14,28 +14,9 @@ let
 
   # Add filecontents from files of useTheseDefaultConfFiles to confFiles, do not override
   defaultConfFiles = subtractLists (attrNames cfg.confFiles) cfg.useTheseDefaultConfFiles;
-  allConfFiles =
-    cfg.confFiles //
-    builtins.listToAttrs (map (x: { name = x;
-                                    value = builtins.readFile (cfg.package + "/etc/asterisk/" + x); })
-                              defaultConfFiles);
-
-  asteriskEtc = pkgs.stdenv.mkDerivation
-  ((mapAttrs' (name: value: nameValuePair
-        # Fudge the names to make bash happy
-        ((replaceChars ["."] ["_"] name) + "_")
-        (value)
-      ) allConfFiles) //
-  {
-    confFilesString = concatStringsSep " " (
-      attrNames allConfFiles
-    );
-
-    name = "asterisk-etc";
-
+  allConfFiles = {
     # Default asterisk.conf file
-    # (Notice that astetcdir will be set to the path of this derivation)
-    asteriskConf = ''
+    "asterisk.conf".text = ''
       [directories]
       astetcdir => /etc/asterisk
       astmoddir => ${cfg.package}/lib/asterisk/modules
@@ -48,43 +29,28 @@ let
       astrundir => /run/asterisk
       astlogdir => /var/log/asterisk
       astsbindir => ${cfg.package}/sbin
+      ${cfg.extraConfig}
     '';
-    extraConf = cfg.extraConfig;
 
     # Loading all modules by default is considered sensible by the authors of
     # "Asterisk: The Definitive Guide". Secure sites will likely want to
     # specify their own "modules.conf" in the confFiles option.
-    modulesConf = ''
+    "modules.conf".text = ''
       [modules]
       autoload=yes
     '';
 
     # Use syslog for logging so logs can be viewed with journalctl
-    loggerConf = ''
+    "logger.conf".text = ''
       [general]
 
       [logfiles]
       syslog.local0 => notice,warning,error
     '';
+  } //
+    mapAttrs (name: text: { inherit text; }) cfg.confFiles //
+    listToAttrs (map (x: nameValuePair x { source = cfg.package + "/etc/asterisk/" + x; }) defaultConfFiles);
 
-    buildCommand = ''
-      mkdir -p "$out"
-
-      # Create asterisk.conf, pointing astetcdir to the path of this derivation
-      echo "$asteriskConf" | sed "s|@out@|$out|g" > "$out"/asterisk.conf
-      echo "$extraConf" >> "$out"/asterisk.conf
-
-      echo "$modulesConf" > "$out"/modules.conf
-
-      echo "$loggerConf" > "$out"/logger.conf
-
-      # Config files specified in confFiles option override all other files
-      for i in $confFilesString; do
-        conf=$(echo "$i"_ | sed 's/\./_/g')
-        echo "''${!conf}" > "$out"/"$i"
-      done
-    '';
-  });
 in
 
 {
@@ -209,7 +175,9 @@ in
   config = mkIf cfg.enable {
     environment.systemPackages = [ cfg.package ];
 
-    environment.etc.asterisk.source = asteriskEtc;
+    environment.etc = mapAttrs' (name: value:
+      nameValuePair "asterisk/${name}" value
+    ) allConfFiles;
 
     users.users.asterisk =
       { name = asteriskUser;
diff --git a/nixos/modules/services/networking/cloudflare-dyndns.nix b/nixos/modules/services/networking/cloudflare-dyndns.nix
new file mode 100644
index 00000000000..ab5b1a08539
--- /dev/null
+++ b/nixos/modules/services/networking/cloudflare-dyndns.nix
@@ -0,0 +1,93 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.cloudflare-dyndns;
+in
+{
+  options = {
+    services.cloudflare-dyndns = {
+      enable = mkEnableOption "Cloudflare Dynamic DNS Client";
+
+      apiTokenFile = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          The path to a file containing the CloudFlare API token.
+
+          The file must have the form `CLOUDFLARE_API_TOKEN=...`
+        '';
+      };
+
+      domains = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        description = ''
+          List of domain names to update records for.
+        '';
+      };
+
+      proxied = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether this is a DNS-only record, or also being proxied through CloudFlare.
+        '';
+      };
+
+      ipv4 = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to enable setting IPv4 A records.
+        '';
+      };
+
+      ipv6 = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable setting IPv6 AAAA records.
+        '';
+      };
+
+      deleteMissing = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to delete the record when no IP address is found.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.cloudflare-dyndns = {
+      description = "CloudFlare Dynamic DNS Client";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      startAt = "*:0/5";
+
+      environment = {
+        CLOUDFLARE_DOMAINS = toString cfg.domains;
+      };
+
+      serviceConfig = {
+        Type = "simple";
+        DynamicUser = true;
+        StateDirectory = "cloudflare-dyndns";
+        EnvironmentFile = cfg.apiTokenFile;
+        ExecStart =
+          let
+            args = [ "--cache-file /var/lib/cloudflare-dyndns/ip.cache" ]
+              ++ (if cfg.ipv4 then [ "-4" ] else [ "-no-4" ])
+              ++ (if cfg.ipv6 then [ "-6" ] else [ "-no-6" ])
+              ++ optional cfg.deleteMissing "--delete-missing"
+              ++ optional cfg.proxied "--proxied";
+          in
+          "${pkgs.cloudflare-dyndns}/bin/cloudflare-dyndns ${toString args}";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/create_ap.nix b/nixos/modules/services/networking/create_ap.nix
new file mode 100644
index 00000000000..a3c330fab00
--- /dev/null
+++ b/nixos/modules/services/networking/create_ap.nix
@@ -0,0 +1,50 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.create_ap;
+  configFile = pkgs.writeText "create_ap.conf" (generators.toKeyValue { } cfg.settings);
+in {
+  options = {
+    services.create_ap = {
+      enable = mkEnableOption "setup wifi hotspots using create_ap";
+      settings = mkOption {
+        type = with types; attrsOf (oneOf [ int bool str ]);
+        default = {};
+        description = ''
+          Configuration for <package>create_ap</package>.
+          See <link xlink:href="https://raw.githubusercontent.com/lakinduakash/linux-wifi-hotspot/master/src/scripts/create_ap.conf">upstream example configuration</link>
+          for supported values.
+        '';
+        example = {
+          INTERNET_IFACE = "eth0";
+          WIFI_IFACE = "wlan0";
+          SSID = "My Wifi Hotspot";
+          PASSPHRASE = "12345678";
+        };
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd = {
+      services.create_ap = {
+        wantedBy = [ "multi-user.target" ];
+        description = "Create AP Service";
+        after = [ "network.target" ];
+        restartTriggers = [ configFile ];
+        serviceConfig = {
+          ExecStart = "${pkgs.linux-wifi-hotspot}/bin/create_ap --config ${configFile}";
+          KillSignal = "SIGINT";
+          Restart = "on-failure";
+        };
+      };
+    };
+
+  };
+
+  meta.maintainers = with lib.maintainers; [ onny ];
+
+}
diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix
index 42596ccfefd..7920e4b2634 100644
--- a/nixos/modules/services/networking/prosody.nix
+++ b/nixos/modules/services/networking/prosody.nix
@@ -820,6 +820,7 @@ in
         '') cfg.muc}
 
       ${ lib.optionalString (cfg.uploadHttp != null) ''
+        -- TODO: think about migrating this to mod-http_file_share instead.
         Component ${toLua cfg.uploadHttp.domain} "http_upload"
             http_upload_file_size_limit = ${cfg.uploadHttp.uploadFileSizeLimit}
             http_upload_expire_after = ${cfg.uploadHttp.uploadExpireAfter}
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index 230ab673a97..d467c3c0471 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -441,6 +441,7 @@ in
 
                 ${flip concatMapStrings cfg.hostKeys (k: ''
                   if ! [ -s "${k.path}" ]; then
+                      rm -f "${k.path}"
                       ssh-keygen \
                         -t "${k.type}" \
                         ${if k ? bits then "-b ${toString k.bits}" else ""} \
diff --git a/nixos/modules/services/networking/supplicant.nix b/nixos/modules/services/networking/supplicant.nix
index eb24130e519..8df450a11c6 100644
--- a/nixos/modules/services/networking/supplicant.nix
+++ b/nixos/modules/services/networking/supplicant.nix
@@ -43,7 +43,7 @@ let
         path = [ pkgs.coreutils ];
 
         preStart = ''
-          ${optionalString (suppl.configFile.path!=null) ''
+          ${optionalString (suppl.configFile.path!=null && suppl.configFile.writable) ''
             (umask 077 && touch -a "${suppl.configFile.path}")
           ''}
           ${optionalString suppl.userControlled.enable ''
diff --git a/nixos/modules/services/security/kanidm.nix b/nixos/modules/services/security/kanidm.nix
new file mode 100644
index 00000000000..a7c51b9a877
--- /dev/null
+++ b/nixos/modules/services/security/kanidm.nix
@@ -0,0 +1,345 @@
+{ config, lib, options, pkgs, ... }:
+let
+  cfg = config.services.kanidm;
+  settingsFormat = pkgs.formats.toml { };
+  # Remove null values, so we can document optional values that don't end up in the generated TOML file.
+  filterConfig = lib.converge (lib.filterAttrsRecursive (_: v: v != null));
+  serverConfigFile = settingsFormat.generate "server.toml" (filterConfig cfg.serverSettings);
+  clientConfigFile = settingsFormat.generate "kanidm-config.toml" (filterConfig cfg.clientSettings);
+  unixConfigFile = settingsFormat.generate "kanidm-unixd.toml" (filterConfig cfg.unixSettings);
+
+  defaultServiceConfig = {
+    BindReadOnlyPaths = [
+      "/nix/store"
+      "-/etc/resolv.conf"
+      "-/etc/nsswitch.conf"
+      "-/etc/hosts"
+      "-/etc/localtime"
+    ];
+    CapabilityBoundingSet = "";
+    # ProtectClock= adds DeviceAllow=char-rtc r
+    DeviceAllow = "";
+    # Implies ProtectSystem=strict, which re-mounts all paths
+    # DynamicUser = true;
+    LockPersonality = true;
+    MemoryDenyWriteExecute = true;
+    NoNewPrivileges = true;
+    PrivateDevices = true;
+    PrivateMounts = true;
+    PrivateNetwork = true;
+    PrivateTmp = true;
+    PrivateUsers = true;
+    ProcSubset = "pid";
+    ProtectClock = true;
+    ProtectHome = true;
+    ProtectHostname = true;
+    # Would re-mount paths ignored by temporary root
+    #ProtectSystem = "strict";
+    ProtectControlGroups = true;
+    ProtectKernelLogs = true;
+    ProtectKernelModules = true;
+    ProtectKernelTunables = true;
+    ProtectProc = "invisible";
+    RestrictAddressFamilies = [ ];
+    RestrictNamespaces = true;
+    RestrictRealtime = true;
+    RestrictSUIDSGID = true;
+    SystemCallArchitectures = "native";
+    SystemCallFilter = [ "@system-service" "~@privileged @resources @setuid @keyring" ];
+    # Does not work well with the temporary root
+    #UMask = "0066";
+  };
+
+in
+{
+  options.services.kanidm = {
+    enableClient = lib.mkEnableOption "the Kanidm client";
+    enableServer = lib.mkEnableOption "the Kanidm server";
+    enablePam = lib.mkEnableOption "the Kanidm PAM and NSS integration.";
+
+    serverSettings = lib.mkOption {
+      type = lib.types.submodule {
+        freeformType = settingsFormat.type;
+
+        options = {
+          bindaddress = lib.mkOption {
+            description = "Address/port combination the webserver binds to.";
+            example = "[::1]:8443";
+            type = lib.types.str;
+          };
+          # Should be optional but toml does not accept null
+          ldapbindaddress = lib.mkOption {
+            description = ''
+              Address and port the LDAP server is bound to. Setting this to <literal>null</literal> disables the LDAP interface.
+            '';
+            example = "[::1]:636";
+            default = null;
+            type = lib.types.nullOr lib.types.str;
+          };
+          origin = lib.mkOption {
+            description = "The origin of your Kanidm instance. Must have https as protocol.";
+            example = "https://idm.example.org";
+            type = lib.types.strMatching "^https://.*";
+          };
+          domain = lib.mkOption {
+            description = ''
+              The <literal>domain</literal> that Kanidm manages. Must be below or equal to the domain
+              specified in <literal>serverSettings.origin</literal>.
+              This can be left at <literal>null</literal>, only if your instance has the role <literal>ReadOnlyReplica</literal>.
+              While it is possible to change the domain later on, it requires extra steps!
+              Please consider the warnings and execute the steps described
+              <link xlink:href="https://kanidm.github.io/kanidm/stable/administrivia.html#rename-the-domain">in the documentation</link>.
+            '';
+            example = "example.org";
+            default = null;
+            type = lib.types.nullOr lib.types.str;
+          };
+          db_path = lib.mkOption {
+            description = "Path to Kanidm database.";
+            default = "/var/lib/kanidm/kanidm.db";
+            readOnly = true;
+            type = lib.types.path;
+          };
+          log_level = lib.mkOption {
+            description = "Log level of the server.";
+            default = "default";
+            type = lib.types.enum [ "default" "verbose" "perfbasic" "perffull" ];
+          };
+          role = lib.mkOption {
+            description = "The role of this server. This affects the replication relationship and thereby available features.";
+            default = "WriteReplica";
+            type = lib.types.enum [ "WriteReplica" "WriteReplicaNoUI" "ReadOnlyReplica" ];
+          };
+        };
+      };
+      default = { };
+      description = ''
+        Settings for Kanidm, see
+        <link xlink:href="https://github.com/kanidm/kanidm/blob/master/kanidm_book/src/server_configuration.md">the documentation</link>
+        and <link xlink:href="https://github.com/kanidm/kanidm/blob/master/examples/server.toml">example configuration</link>
+        for possible values.
+      '';
+    };
+
+    clientSettings = lib.mkOption {
+      type = lib.types.submodule {
+        freeformType = settingsFormat.type;
+
+        options.uri = lib.mkOption {
+          description = "Address of the Kanidm server.";
+          example = "http://127.0.0.1:8080";
+          type = lib.types.str;
+        };
+      };
+      description = ''
+        Configure Kanidm clients, needed for the PAM daemon. See
+        <link xlink:href="https://github.com/kanidm/kanidm/blob/master/kanidm_book/src/client_tools.md#kanidm-configuration">the documentation</link>
+        and <link xlink:href="https://github.com/kanidm/kanidm/blob/master/examples/config">example configuration</link>
+        for possible values.
+      '';
+    };
+
+    unixSettings = lib.mkOption {
+      type = lib.types.submodule {
+        freeformType = settingsFormat.type;
+
+        options.pam_allowed_login_groups = lib.mkOption {
+          description = "Kanidm groups that are allowed to login using PAM.";
+          example = "my_pam_group";
+          type = lib.types.listOf lib.types.str;
+        };
+      };
+      description = ''
+        Configure Kanidm unix daemon.
+        See <link xlink:href="https://github.com/kanidm/kanidm/blob/master/kanidm_book/src/pam_and_nsswitch.md#the-unix-daemon">the documentation</link>
+        and <link xlink:href="https://github.com/kanidm/kanidm/blob/master/examples/unixd">example configuration</link>
+        for possible values.
+      '';
+    };
+  };
+
+  config = lib.mkIf (cfg.enableClient || cfg.enableServer || cfg.enablePam) {
+    assertions =
+      [
+        {
+          assertion = !cfg.enableServer || ((cfg.serverSettings.tls_chain or null) == null) || (!lib.isStorePath cfg.serverSettings.tls_chain);
+          message = ''
+            <option>services.kanidm.serverSettings.tls_chain</option> points to
+            a file in the Nix store. You should use a quoted absolute path to
+            prevent this.
+          '';
+        }
+        {
+          assertion = !cfg.enableServer || ((cfg.serverSettings.tls_key or null) == null) || (!lib.isStorePath cfg.serverSettings.tls_key);
+          message = ''
+            <option>services.kanidm.serverSettings.tls_key</option> points to
+            a file in the Nix store. You should use a quoted absolute path to
+            prevent this.
+          '';
+        }
+        {
+          assertion = !cfg.enableClient || options.services.kanidm.clientSettings.isDefined;
+          message = ''
+            <option>services.kanidm.clientSettings</option> needs to be configured
+            if the client is enabled.
+          '';
+        }
+        {
+          assertion = !cfg.enablePam || options.services.kanidm.clientSettings.isDefined;
+          message = ''
+            <option>services.kanidm.clientSettings</option> needs to be configured
+            for the PAM daemon to connect to the Kanidm server.
+          '';
+        }
+        {
+          assertion = !cfg.enableServer || (cfg.serverSettings.domain == null
+            -> cfg.serverSettings.role == "WriteReplica" || cfg.serverSettings.role == "WriteReplicaNoUI");
+          message = ''
+            <option>services.kanidm.serverSettings.domain</option> can only be set if this instance
+            is not a ReadOnlyReplica. Otherwise the db would inherit it from
+            the instance it follows.
+          '';
+        }
+      ];
+
+    environment.systemPackages = lib.mkIf cfg.enableClient [ pkgs.kanidm ];
+
+    systemd.services.kanidm = lib.mkIf cfg.enableServer {
+      description = "kanidm identity management daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      serviceConfig = defaultServiceConfig // {
+        StateDirectory = "kanidm";
+        StateDirectoryMode = "0700";
+        ExecStart = "${pkgs.kanidm}/bin/kanidmd server -c ${serverConfigFile}";
+        User = "kanidm";
+        Group = "kanidm";
+
+        AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
+        CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
+        # This would otherwise override the CAP_NET_BIND_SERVICE capability.
+        PrivateUsers = false;
+        # Port needs to be exposed to the host network
+        PrivateNetwork = false;
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        TemporaryFileSystem = "/:ro";
+      };
+      environment.RUST_LOG = "info";
+    };
+
+    systemd.services.kanidm-unixd = lib.mkIf cfg.enablePam {
+      description = "Kanidm PAM daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      restartTriggers = [ unixConfigFile clientConfigFile ];
+      serviceConfig = defaultServiceConfig // {
+        CacheDirectory = "kanidm-unixd";
+        CacheDirectoryMode = "0700";
+        RuntimeDirectory = "kanidm-unixd";
+        ExecStart = "${pkgs.kanidm}/bin/kanidm_unixd";
+        User = "kanidm-unixd";
+        Group = "kanidm-unixd";
+
+        BindReadOnlyPaths = [
+          "/nix/store"
+          "-/etc/resolv.conf"
+          "-/etc/nsswitch.conf"
+          "-/etc/hosts"
+          "-/etc/localtime"
+          "-/etc/kanidm"
+          "-/etc/static/kanidm"
+        ];
+        BindPaths = [
+          # To create the socket
+          "/run/kanidm-unixd:/var/run/kanidm-unixd"
+        ];
+        # Needs to connect to kanidmd
+        PrivateNetwork = false;
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
+        TemporaryFileSystem = "/:ro";
+      };
+      environment.RUST_LOG = "info";
+    };
+
+    systemd.services.kanidm-unixd-tasks = lib.mkIf cfg.enablePam {
+      description = "Kanidm PAM home management daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" "kanidm-unixd.service" ];
+      partOf = [ "kanidm-unixd.service" ];
+      restartTriggers = [ unixConfigFile clientConfigFile ];
+      serviceConfig = {
+        ExecStart = "${pkgs.kanidm}/bin/kanidm_unixd_tasks";
+
+        BindReadOnlyPaths = [
+          "/nix/store"
+          "-/etc/resolv.conf"
+          "-/etc/nsswitch.conf"
+          "-/etc/hosts"
+          "-/etc/localtime"
+          "-/etc/kanidm"
+          "-/etc/static/kanidm"
+        ];
+        BindPaths = [
+          # To manage home directories
+          "/home"
+          # To connect to kanidm-unixd
+          "/run/kanidm-unixd:/var/run/kanidm-unixd"
+        ];
+        # CAP_DAC_OVERRIDE is needed to ignore ownership of unixd socket
+        CapabilityBoundingSet = [ "CAP_CHOWN" "CAP_FOWNER" "CAP_DAC_OVERRIDE" "CAP_DAC_READ_SEARCH" ];
+        IPAddressDeny = "any";
+        # Need access to users
+        PrivateUsers = false;
+        # Need access to home directories
+        ProtectHome = false;
+        RestrictAddressFamilies = [ "AF_UNIX" ];
+        TemporaryFileSystem = "/:ro";
+      };
+      environment.RUST_LOG = "info";
+    };
+
+    # These paths are hardcoded
+    environment.etc = lib.mkMerge [
+      (lib.mkIf options.services.kanidm.clientSettings.isDefined {
+        "kanidm/config".source = clientConfigFile;
+      })
+      (lib.mkIf cfg.enablePam {
+        "kanidm/unixd".source = unixConfigFile;
+      })
+    ];
+
+    system.nssModules = lib.mkIf cfg.enablePam [ pkgs.kanidm ];
+
+    system.nssDatabases.group = lib.optional cfg.enablePam "kanidm";
+    system.nssDatabases.passwd = lib.optional cfg.enablePam "kanidm";
+
+    users.groups = lib.mkMerge [
+      (lib.mkIf cfg.enableServer {
+        kanidm = { };
+      })
+      (lib.mkIf cfg.enablePam {
+        kanidm-unixd = { };
+      })
+    ];
+    users.users = lib.mkMerge [
+      (lib.mkIf cfg.enableServer {
+        kanidm = {
+          description = "Kanidm server";
+          isSystemUser = true;
+          group = "kanidm";
+          packages = with pkgs; [ kanidm ];
+        };
+      })
+      (lib.mkIf cfg.enablePam {
+        kanidm-unixd = {
+          description = "Kanidm PAM daemon";
+          isSystemUser = true;
+          group = "kanidm-unixd";
+        };
+      })
+    ];
+  };
+
+  meta.maintainers = with lib.maintainers; [ erictapen Flakebi ];
+  meta.buildDocsInSandbox = false;
+}
diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix
index 0caebc8ce90..002c4092780 100644
--- a/nixos/modules/services/system/nscd.nix
+++ b/nixos/modules/services/system/nscd.nix
@@ -38,7 +38,7 @@ in
         default = if pkgs.stdenv.hostPlatform.libc == "glibc"
           then pkgs.stdenv.cc.libc.bin
           else pkgs.glibc.bin;
-        defaultText = literalExample ''
+        defaultText = lib.literalExpression ''
           if pkgs.stdenv.hostPlatform.libc == "glibc"
             then pkgs.stdenv.cc.libc.bin
             else pkgs.glibc.bin;
diff --git a/nixos/modules/services/web-apps/atlassian/jira.nix b/nixos/modules/services/web-apps/atlassian/jira.nix
index d7a26838d6f..a120f6cdb3d 100644
--- a/nixos/modules/services/web-apps/atlassian/jira.nix
+++ b/nixos/modules/services/web-apps/atlassian/jira.nix
@@ -151,6 +151,7 @@ in
     users.users.${cfg.user} = {
       isSystemUser = true;
       group = cfg.group;
+      home = cfg.home;
     };
 
     users.groups.${cfg.group} = {};
diff --git a/nixos/modules/services/web-apps/galene.nix b/nixos/modules/services/web-apps/galene.nix
index 1d0a620585b..38c3392014f 100644
--- a/nixos/modules/services/web-apps/galene.nix
+++ b/nixos/modules/services/web-apps/galene.nix
@@ -164,6 +164,35 @@ in
             optional (cfg.dataDir == defaultdataDir) "galene/data" ++
             optional (cfg.groupsDir == defaultgroupsDir) "galene/groups" ++
             optional (cfg.recordingsDir == defaultrecordingsDir) "galene/recordings";
+
+          # Hardening
+          CapabilityBoundingSet = [ "" ];
+          DeviceAllow = [ "" ];
+          LockPersonality = true;
+          MemoryDenyWriteExecute = true;
+          NoNewPrivileges = true;
+          PrivateDevices = true;
+          PrivateTmp = true;
+          PrivateUsers = true;
+          ProcSubset = "pid";
+          ProtectClock = true;
+          ProtectControlGroups = true;
+          ProtectHome = true;
+          ProtectHostname = true;
+          ProtectKernelLogs = true;
+          ProtectKernelModules = true;
+          ProtectKernelTunables = true;
+          ProtectProc = "invisible";
+          ProtectSystem = "strict";
+          ReadWritePaths = cfg.recordingsDir;
+          RemoveIPC = true;
+          RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+          RestrictNamespaces = true;
+          RestrictRealtime = true;
+          RestrictSUIDSGID = true;
+          SystemCallArchitectures = "native";
+          SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
+          UMask = "0077";
         }
       ];
     };
diff --git a/nixos/modules/services/web-apps/keycloak.nix b/nixos/modules/services/web-apps/keycloak.nix
index 2d817ca1923..a1855e1c1a7 100644
--- a/nixos/modules/services/web-apps/keycloak.nix
+++ b/nixos/modules/services/web-apps/keycloak.nix
@@ -540,7 +540,8 @@ in
               db = if cfg.database.type == "postgresql" then "postgres" else cfg.database.type;
               db-username = if databaseActuallyCreateLocally then "keycloak" else cfg.database.username;
               db-password._secret = cfg.database.passwordFile;
-              db-url-host = "${cfg.database.host}:${toString cfg.database.port}";
+              db-url-host = cfg.database.host;
+              db-url-port = toString cfg.database.port;
               db-url-database = if databaseActuallyCreateLocally then "keycloak" else cfg.database.name;
               db-url-properties = prefixUnlessEmpty "?" dbProps;
               db-url = null;
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index f74b6bda0ca..a4b886821eb 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -522,6 +522,29 @@ in {
         The nextcloud-occ program preconfigured to target this Nextcloud instance.
       '';
     };
+    globalProfiles = mkEnableOption "global profiles" // {
+      description = ''
+        Makes user-profiles globally available under <literal>nextcloud.tld/u/user.name</literal>.
+        Even though it's enabled by default in Nextcloud, it must be explicitly enabled
+        here because it has the side-effect that personal information is even accessible to
+        unauthenticated users by default.
+
+        By default, the following properties are set to <quote>Show to everyone</quote>
+        if this flag is enabled:
+        <itemizedlist>
+        <listitem><para>About</para></listitem>
+        <listitem><para>Full name</para></listitem>
+        <listitem><para>Headline</para></listitem>
+        <listitem><para>Organisation</para></listitem>
+        <listitem><para>Profile picture</para></listitem>
+        <listitem><para>Role</para></listitem>
+        <listitem><para>Twitter</para></listitem>
+        <listitem><para>Website</para></listitem>
+        </itemizedlist>
+
+        Only has an effect in Nextcloud 23 and later.
+      '';
+    };
 
     nginx.recommendedHttpHeaders = mkOption {
       type = types.bool;
@@ -650,6 +673,8 @@ in {
               if x == null then "false"
               else boolToString x;
 
+          nextcloudGreaterOrEqualThan = req: versionAtLeast cfg.package.version req;
+
           overrideConfig = pkgs.writeText "nextcloud-config.php" ''
             <?php
             ${optionalString requiresReadSecretFunction ''
@@ -689,6 +714,7 @@ in {
               'trusted_domains' => ${writePhpArrary ([ cfg.hostName ] ++ c.extraTrustedDomains)},
               'trusted_proxies' => ${writePhpArrary (c.trustedProxies)},
               ${optionalString (c.defaultPhoneRegion != null) "'default_phone_region' => '${c.defaultPhoneRegion}',"}
+              ${optionalString (nextcloudGreaterOrEqualThan "23") "'profile.enabled' => ${boolToString cfg.globalProfiles}"}
               ${objectstoreConfig}
             ];
           '';
diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
index d1513a596b9..991616bd192 100644
--- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix
+++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
@@ -16,6 +16,10 @@ let
 in
 
 {
+  meta = {
+    maintainers = teams.enlightenment.members;
+  };
+
   imports = [
     (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "e19" "enable" ] [ "services" "xserver" "desktopManager" "enlightenment" "enable" ])
   ];
@@ -92,6 +96,7 @@ in
 
     services.udisks2.enable = true;
     services.upower.enable = config.powerManagement.enable;
+    services.xserver.libinput.enable = mkDefault true;
 
     services.dbus.packages = [ e.efl ];
 
diff --git a/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixos/modules/services/x11/desktop-managers/gnome.nix
index 258d39d4918..e7e626c66f0 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome.nix
@@ -22,6 +22,9 @@ let
     favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop' ]
   '';
 
+  nixos-background-ligtht = pkgs.nixos-artwork.wallpapers.simple-blue;
+  nixos-background-dark = pkgs.nixos-artwork.wallpapers.simple-dark-gray;
+
   nixos-gsettings-desktop-schemas = let
     defaultPackages = with pkgs; [ gsettings-desktop-schemas gnome.gnome-shell ];
   in
@@ -42,11 +45,11 @@ let
      chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
      cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF
        [org.gnome.desktop.background]
-       picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-blue.gnomeFilePath}'
-       picture-uri-dark='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}'
+       picture-uri='file://${nixos-background-ligtht.gnomeFilePath}'
+       picture-uri-dark='file://${nixos-background-dark.gnomeFilePath}'
 
        [org.gnome.desktop.screensaver]
-       picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath}'
+       picture-uri='file://${nixos-background-dark.gnomeFilePath}'
 
        ${cfg.favoriteAppsOverride}
 
@@ -56,6 +59,26 @@ let
      ${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/
     '';
 
+  nixos-background-info = pkgs.writeTextFile rec {
+    name = "nixos-background-info";
+    text = ''
+      <?xml version="1.0"?>
+      <!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
+      <wallpapers>
+        <wallpaper deleted="false">
+          <name>Blobs</name>
+          <filename>${nixos-background-ligtht.gnomeFilePath}</filename>
+          <filename-dark>${nixos-background-dark.gnomeFilePath}</filename-dark>
+          <options>zoom</options>
+          <shade_type>solid</shade_type>
+          <pcolor>#3a4ba0</pcolor>
+          <scolor>#2f302f</scolor>
+        </wallpaper>
+      </wallpapers>
+    '';
+    destination = "/share/gnome-background-properties/nixos.xml";
+  };
+
   flashbackEnabled = cfg.flashback.enableMetacity || length cfg.flashback.customSessions > 0;
   flashbackWms = optional cfg.flashback.enableMetacity {
     wmName = "metacity";
@@ -431,6 +454,7 @@ in
       # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-shell.bst
       environment.systemPackages = with pkgs.gnome; [
         adwaita-icon-theme
+        nixos-background-info
         gnome-backgrounds
         gnome-bluetooth
         gnome-color-manager
@@ -439,8 +463,6 @@ in
         gnome-shell-extensions
         gnome-themes-extra
         pkgs.gnome-tour # GNOME Shell detects the .desktop file on first log-in.
-        pkgs.nixos-artwork.wallpapers.simple-dark-gray
-        pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom
         pkgs.gnome-user-docs
         pkgs.orca
         pkgs.glib # for gsettings
diff --git a/nixos/modules/services/x11/desktop-managers/lumina.nix b/nixos/modules/services/x11/desktop-managers/lumina.nix
index 419f5055d8b..faa83b8bc54 100644
--- a/nixos/modules/services/x11/desktop-managers/lumina.nix
+++ b/nixos/modules/services/x11/desktop-managers/lumina.nix
@@ -10,6 +10,10 @@ let
 in
 
 {
+  meta = {
+    maintainers = teams.lumina.members;
+  };
+
   options = {
 
     services.xserver.desktopManager.lumina.enable = mkOption {
diff --git a/nixos/modules/services/x11/desktop-managers/lxqt.nix b/nixos/modules/services/x11/desktop-managers/lxqt.nix
index 1bc6c906c47..46f35f11b4a 100644
--- a/nixos/modules/services/x11/desktop-managers/lxqt.nix
+++ b/nixos/modules/services/x11/desktop-managers/lxqt.nix
@@ -9,6 +9,10 @@ let
 in
 
 {
+  meta = {
+    maintainers = teams.lxqt.members;
+  };
+
   options = {
 
     services.xserver.desktopManager.lxqt.enable = mkOption {
@@ -62,6 +66,11 @@ in
     services.gvfs.enable = true;
 
     services.upower.enable = config.powerManagement.enable;
+
+    services.xserver.libinput.enable = mkDefault true;
+
+    xdg.portal.enable = true;
+    xdg.portal.extraPortals = [ pkgs.lxqt.xdg-desktop-portal-lxqt ];
   };
 
 }
diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix
index 9ab4c6e7e98..b63510475ec 100644
--- a/nixos/modules/services/x11/desktop-managers/mate.nix
+++ b/nixos/modules/services/x11/desktop-managers/mate.nix
@@ -73,6 +73,7 @@ in
     services.udev.packages = [ pkgs.mate.mate-settings-daemon ];
     services.gvfs.enable = true;
     services.upower.enable = config.powerManagement.enable;
+    services.xserver.libinput.enable = mkDefault true;
 
     security.pam.services.mate-screensaver.unixAuth = true;
 
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.xml b/nixos/modules/services/x11/desktop-managers/pantheon.xml
index 202909d398f..6226f8f6a27 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.xml
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.xml
@@ -3,7 +3,7 @@
          xml:id="chap-pantheon">
  <title>Pantheon Desktop</title>
  <para>
-  Pantheon is the desktop environment created for the elementary OS distribution. It is written from scratch in Vala, utilizing GNOME technologies with GTK 3 and Granite.
+  Pantheon is the desktop environment created for the elementary OS distribution. It is written from scratch in Vala, utilizing GNOME technologies with GTK and Granite.
  </para>
  <section xml:id="sec-pantheon-enable">
   <title>Enabling Pantheon</title>
@@ -89,9 +89,9 @@ switchboard-with-plugs.override {
      </para>
     </listitem>
    </varlistentry>
-   <varlistentry xml:id="sec-pantheon-faq-gnome3-and-pantheon">
+   <varlistentry xml:id="sec-pantheon-faq-gnome-and-pantheon">
     <term>
-     I cannot enable both GNOME 3 and Pantheon.
+     I cannot enable both GNOME and Pantheon.
     </term>
     <listitem>
      <para>
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
index c07567ec82e..1a1dcaea9c8 100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
@@ -33,7 +33,7 @@ let
     netbootxyz = if cfg.netbootxyz.enable then pkgs.netbootxyz-efi else "";
 
     copyExtraFiles = pkgs.writeShellScript "copy-extra-files" ''
-      empty_file=$(mktemp)
+      empty_file=$(${pkgs.coreutils}/bin/mktemp)
 
       ${concatStrings (mapAttrsToList (n: v: ''
         ${pkgs.coreutils}/bin/install -Dp "${v}" "${efi.efiSysMountPoint}/"${escapeShellArg n}
diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix
index dde07571b3e..4103a7af57c 100644
--- a/nixos/modules/system/boot/luksroot.nix
+++ b/nixos/modules/system/boot/luksroot.nix
@@ -1,10 +1,11 @@
-{ config, lib, pkgs, ... }:
+{ config, options, lib, pkgs, ... }:
 
 with lib;
 
 let
   luks = config.boot.initrd.luks;
   kernelPackages = config.boot.kernelPackages;
+  defaultPrio = (mkOptionDefault {}).priority;
 
   commonFunctions = ''
     die() {
@@ -474,6 +475,16 @@ let
   preLVM = filterAttrs (n: v: v.preLVM) luks.devices;
   postLVM = filterAttrs (n: v: !v.preLVM) luks.devices;
 
+  stage1Crypttab = pkgs.writeText "initrd-crypttab" (lib.concatStringsSep "\n" (lib.mapAttrsToList (n: v: let
+    opts = v.crypttabExtraOpts
+      ++ optional v.allowDiscards "discard"
+      ++ optionals v.bypassWorkqueues [ "no-read-workqueue" "no-write-workqueue" ]
+      ++ optional (v.header != null) "header=${v.header}"
+      ++ optional (v.keyFileOffset != null) "keyfile-offset=${v.keyFileOffset}"
+      ++ optional (v.keyFileSize != null) "keyfile-size=${v.keyFileSize}"
+    ;
+  in "${n} ${v.device} ${if v.keyFile == null then "-" else v.keyFile} ${lib.concatStringsSep "," opts}") luks.devices));
+
 in
 {
   imports = [
@@ -802,6 +813,18 @@ in
               Commands that should be run right after we have mounted our LUKS device.
             '';
           };
+
+          crypttabExtraOpts = mkOption {
+            type = with types; listOf singleLineStr;
+            default = [];
+            example = [ "_netdev" ];
+            visible = false;
+            description = ''
+              Only used with systemd stage 1.
+
+              Extra options to append to the last column of the generated crypttab file.
+            '';
+          };
         };
       }));
     };
@@ -853,6 +876,31 @@ in
                       -> versionAtLeast kernelPackages.kernel.version "5.9";
           message = "boot.initrd.luks.devices.<name>.bypassWorkqueues is not supported for kernels older than 5.9";
         }
+
+        { assertion = config.boot.initrd.systemd.enable -> all (dev: !dev.fallbackToPassword) (attrValues luks.devices);
+          message = "boot.initrd.luks.devices.<name>.fallbackToPassword is implied by systemd stage 1.";
+        }
+        { assertion = config.boot.initrd.systemd.enable -> all (dev: dev.preLVM) (attrValues luks.devices);
+          message = "boot.initrd.luks.devices.<name>.preLVM is not used by systemd stage 1.";
+        }
+        { assertion = config.boot.initrd.systemd.enable -> options.boot.initrd.luks.reusePassphrases.highestPrio == defaultPrio;
+          message = "boot.initrd.luks.reusePassphrases has no effect with systemd stage 1.";
+        }
+        { assertion = config.boot.initrd.systemd.enable -> all (dev: dev.preOpenCommands == "" && dev.postOpenCommands == "") (attrValues luks.devices);
+          message = "boot.initrd.luks.devices.<name>.preOpenCommands and postOpenCommands is not supported by systemd stage 1. Please bind a service to cryptsetup.target or cryptsetup-pre.target instead.";
+        }
+        # TODO
+        { assertion = config.boot.initrd.systemd.enable -> !luks.gpgSupport;
+          message = "systemd stage 1 does not support GPG smartcards yet.";
+        }
+        # TODO
+        { assertion = config.boot.initrd.systemd.enable -> !luks.fido2Support;
+          message = "systemd stage 1 does not support FIDO2 yet.";
+        }
+        # TODO
+        { assertion = config.boot.initrd.systemd.enable -> !luks.yubikeySupport;
+          message = "systemd stage 1 does not support Yubikeys yet.";
+        }
       ];
 
     # actually, sbp2 driver is the one enabling the DMA attack, but this needs to be tested
@@ -867,7 +915,7 @@ in
       ++ (if builtins.elem "xts" luks.cryptoModules then ["ecb"] else []);
 
     # copy the cryptsetup binary and it's dependencies
-    boot.initrd.extraUtilsCommands = ''
+    boot.initrd.extraUtilsCommands = mkIf (!config.boot.initrd.systemd.enable) ''
       copy_bin_and_libs ${pkgs.cryptsetup}/bin/cryptsetup
       copy_bin_and_libs ${askPass}/bin/cryptsetup-askpass
       sed -i s,/bin/sh,$out/bin/sh, $out/bin/cryptsetup-askpass
@@ -915,7 +963,7 @@ in
       ''}
     '';
 
-    boot.initrd.extraUtilsCommandsTest = ''
+    boot.initrd.extraUtilsCommandsTest = mkIf (!config.boot.initrd.systemd.enable) ''
       $out/bin/cryptsetup --version
       ${optionalString luks.yubikeySupport ''
         $out/bin/ykchalresp -V
@@ -932,9 +980,28 @@ in
       ''}
     '';
 
-    boot.initrd.preFailCommands = postCommands;
-    boot.initrd.preLVMCommands = commonFunctions + preCommands + concatStrings (mapAttrsToList openCommand preLVM) + postCommands;
-    boot.initrd.postDeviceCommands = commonFunctions + preCommands + concatStrings (mapAttrsToList openCommand postLVM) + postCommands;
+    boot.initrd.systemd = {
+      contents."/etc/crypttab".source = stage1Crypttab;
+
+      extraBin.systemd-cryptsetup = "${config.boot.initrd.systemd.package}/lib/systemd/systemd-cryptsetup";
+
+      additionalUpstreamUnits = [
+        "cryptsetup-pre.target"
+        "cryptsetup.target"
+        "remote-cryptsetup.target"
+      ];
+      storePaths = [
+        "${config.boot.initrd.systemd.package}/lib/systemd/systemd-cryptsetup"
+        "${config.boot.initrd.systemd.package}/lib/systemd/system-generators/systemd-cryptsetup-generator"
+      ];
+
+    };
+    # We do this because we need the udev rules from the package
+    boot.initrd.services.lvm.enable = true;
+
+    boot.initrd.preFailCommands = mkIf (!config.boot.initrd.systemd.enable) postCommands;
+    boot.initrd.preLVMCommands = mkIf (!config.boot.initrd.systemd.enable) (commonFunctions + preCommands + concatStrings (mapAttrsToList openCommand preLVM) + postCommands);
+    boot.initrd.postDeviceCommands = mkIf (!config.boot.initrd.systemd.enable) (commonFunctions + preCommands + concatStrings (mapAttrsToList openCommand postLVM) + postCommands);
 
     environment.systemPackages = [ pkgs.cryptsetup ];
   };
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh
index 31758366980..22d5ec76af7 100644
--- a/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixos/modules/system/boot/stage-1-init.sh
@@ -318,11 +318,7 @@ checkFS() {
 
     echo "checking $device..."
 
-    fsckFlags=
-    if test "$fsType" != "btrfs"; then
-        fsckFlags="-V -a"
-    fi
-    fsck $fsckFlags "$device"
+    fsck -V -a "$device"
     fsckResult=$?
 
     if test $(($fsckResult | 2)) = $fsckResult; then
diff --git a/nixos/modules/system/boot/systemd/initrd-secrets.nix b/nixos/modules/system/boot/systemd/initrd-secrets.nix
new file mode 100644
index 00000000000..bc65880719d
--- /dev/null
+++ b/nixos/modules/system/boot/systemd/initrd-secrets.nix
@@ -0,0 +1,36 @@
+{ config, pkgs, lib, ... }:
+
+{
+  config = lib.mkIf (config.boot.initrd.enable && config.boot.initrd.systemd.enable) {
+    # Copy secrets into the initrd if they cannot be appended
+    boot.initrd.systemd.contents = lib.mkIf (!config.boot.loader.supportsInitrdSecrets)
+      (lib.mapAttrs' (dest: source: lib.nameValuePair "/.initrd-secrets/${dest}" { source = if source == null then dest else source; }) config.boot.initrd.secrets);
+
+    # Copy secrets to their respective locations
+    boot.initrd.systemd.services.initrd-nixos-copy-secrets = lib.mkIf (config.boot.initrd.secrets != {}) {
+      description = "Copy secrets into place";
+      # Run as early as possible
+      wantedBy = [ "sysinit.target" ];
+      before = [ "cryptsetup-pre.target" ];
+      unitConfig.DefaultDependencies = false;
+
+      # We write the secrets to /.initrd-secrets and move them because this allows
+      # secrets to be written to /run. If we put the secret directly to /run and
+      # drop this service, we'd mount the /run tmpfs over the secret, making it
+      # invisible in stage 2.
+      script = ''
+        for secret in $(cd /.initrd-secrets; find . -type f); do
+          mkdir -p "$(dirname "/$secret")"
+          cp "/.initrd-secrets/$secret" "/$secret"
+        done
+      '';
+
+      unitConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+      };
+    };
+    # The script needs this
+    boot.initrd.systemd.extraBin.find = "${pkgs.findutils}/bin/find";
+  };
+}
diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix
index 6c1b42da1c4..cdec7f53291 100644
--- a/nixos/modules/system/boot/systemd/initrd.nix
+++ b/nixos/modules/system/boot/systemd/initrd.nix
@@ -65,7 +65,6 @@ let
     "systemd-kexec.service"
     "systemd-modules-load.service"
     "systemd-poweroff.service"
-    "systemd-random-seed.service"
     "systemd-reboot.service"
     "systemd-sysctl.service"
     "systemd-tmpfiles-setup-dev.service"
@@ -106,6 +105,9 @@ let
         opts = options ++ optional autoFormat "x-systemd.makefs" ++ optional autoResize "x-systemd.growfs";
       in "${device} /sysroot${mountPoint} ${fsType} ${lib.concatStringsSep "," opts}") fileSystems);
 
+  needMakefs = lib.any (fs: fs.autoFormat) fileSystems;
+  needGrowfs = lib.any (fs: fs.autoResize) fileSystems;
+
   kernel-name = config.boot.kernelPackages.kernel.name or "kernel";
   modulesTree = config.system.modulesTree.override { name = kernel-name + "-modules"; };
   firmware = config.hardware.firmware;
@@ -156,44 +158,14 @@ in {
       '';
       visible = false;
       default = {};
-      type = types.attrsOf (types.submodule ({ config, options, name, ... }: {
-        options = {
-          enable = mkEnableOption "copying of this file to initrd and symlinking it" // { default = true; };
-
-          target = mkOption {
-            type = types.path;
-            description = ''
-              Path of the symlink.
-            '';
-            default = name;
-          };
-
-          text = mkOption {
-            default = null;
-            type = types.nullOr types.lines;
-            description = "Text of the file.";
-          };
-
-          source = mkOption {
-            type = types.path;
-            description = "Path of the source file.";
-          };
-        };
-
-        config = {
-          source = mkIf (config.text != null) (
-            let name' = "initrd-" + baseNameOf name;
-            in mkDerivedConfig options.text (pkgs.writeText name')
-          );
-        };
-      }));
+      type = utils.systemdUtils.types.initrdContents;
     };
 
     storePaths = mkOption {
       description = ''
         Store paths to copy into the initrd as well.
       '';
-      type = types.listOf types.singleLineStr;
+      type = with types; listOf (oneOf [ singleLineStr package ]);
       default = [];
     };
 
@@ -370,6 +342,7 @@ in {
         "/etc/fstab".source = fstab;
 
         "/lib/modules".source = "${modulesClosure}/lib/modules";
+        "/lib/firmware".source = "${modulesClosure}/lib/firmware";
 
         "/etc/modules-load.d/nixos.conf".text = concatStringsSep "\n" config.boot.initrd.kernelModules;
 
@@ -391,19 +364,22 @@ in {
       storePaths = [
         # systemd tooling
         "${cfg.package}/lib/systemd/systemd-fsck"
-        "${cfg.package}/lib/systemd/systemd-growfs"
+        (lib.mkIf needGrowfs "${cfg.package}/lib/systemd/systemd-growfs")
         "${cfg.package}/lib/systemd/systemd-hibernate-resume"
         "${cfg.package}/lib/systemd/systemd-journald"
-        "${cfg.package}/lib/systemd/systemd-makefs"
+        (lib.mkIf needMakefs "${cfg.package}/lib/systemd/systemd-makefs")
         "${cfg.package}/lib/systemd/systemd-modules-load"
-        "${cfg.package}/lib/systemd/systemd-random-seed"
         "${cfg.package}/lib/systemd/systemd-remount-fs"
         "${cfg.package}/lib/systemd/systemd-shutdown"
         "${cfg.package}/lib/systemd/systemd-sulogin-shell"
         "${cfg.package}/lib/systemd/systemd-sysctl"
 
-        # additional systemd directories
-        "${cfg.package}/lib/systemd/system-generators"
+        # generators
+        "${cfg.package}/lib/systemd/system-generators/systemd-debug-generator"
+        "${cfg.package}/lib/systemd/system-generators/systemd-fstab-generator"
+        "${cfg.package}/lib/systemd/system-generators/systemd-gpt-auto-generator"
+        "${cfg.package}/lib/systemd/system-generators/systemd-hibernate-resume-generator"
+        "${cfg.package}/lib/systemd/system-generators/systemd-run-generator"
 
         # utilities needed by systemd
         "${cfg.package.util-linux}/bin/mount"
@@ -441,8 +417,8 @@ in {
         mkdir -p $out/etc/systemd/system
         touch $out/etc/systemd/system/systemd-{makefs,growfs}@.service
       '')];
-      services."systemd-makefs@".unitConfig.IgnoreOnIsolate = true;
-      services."systemd-growfs@".unitConfig.IgnoreOnIsolate = true;
+      services."systemd-makefs@" = lib.mkIf needMakefs { unitConfig.IgnoreOnIsolate = true; };
+      services."systemd-growfs@" = lib.mkIf needGrowfs { unitConfig.IgnoreOnIsolate = true; };
 
       services.initrd-nixos-activation = {
         after = [ "initrd-fs.target" ];
@@ -504,9 +480,23 @@ in {
           ''systemctl --no-block switch-root /sysroot "''${NEW_INIT}"''
         ];
       };
+
+      services.panic-on-fail = {
+        wantedBy = ["emergency.target"];
+        unitConfig = {
+          DefaultDependencies = false;
+          ConditionKernelCommandLine = [
+            "|boot.panic_on_fail"
+            "|stage1panic"
+          ];
+        };
+        script = ''
+          echo c > /proc/sysrq-trigger
+        '';
+        serviceConfig.Type = "oneshot";
+      };
     };
 
     boot.kernelParams = lib.mkIf (config.boot.resumeDevice != "") [ "resume=${config.boot.resumeDevice}" ];
-
   };
 }
diff --git a/nixos/modules/system/boot/systemd/shutdown.nix b/nixos/modules/system/boot/systemd/shutdown.nix
index 93426931667..ca4cdf827d9 100644
--- a/nixos/modules/system/boot/systemd/shutdown.nix
+++ b/nixos/modules/system/boot/systemd/shutdown.nix
@@ -1,31 +1,57 @@
-{ config, lib, ... }: let
+{ config, lib, utils, pkgs, ... }: let
 
-  cfg = config.boot.systemd.shutdown;
+  cfg = config.systemd.shutdownRamfs;
+
+  ramfsContents = let
+    storePaths = map (p: "${p}\n") cfg.storePaths;
+    contents = lib.mapAttrsToList (_: v: "${v.source}\n${v.target}") (lib.filterAttrs (_: v: v.enable) cfg.contents);
+  in pkgs.writeText "shutdown-ramfs-contents" (lib.concatStringsSep "\n" (storePaths ++ contents));
 
 in {
-  options.boot.systemd.shutdown = {
+  options.systemd.shutdownRamfs = {
     enable = lib.mkEnableOption "pivoting back to an initramfs for shutdown" // { default = true; };
+    contents = lib.mkOption {
+      description = "Set of files that have to be linked into the shutdown ramfs";
+      example = lib.literalExpression ''
+        {
+          "/lib/systemd/system-shutdown/zpool-sync-shutdown".source = writeShellScript "zpool" "exec ''${zfs}/bin/zpool sync"
+        }
+      '';
+      type = utils.systemdUtils.types.initrdContents;
+    };
+
+    storePaths = lib.mkOption {
+      description = ''
+        Store paths to copy into the shutdown ramfs as well.
+      '';
+      type = lib.types.listOf lib.types.singleLineStr;
+      default = [];
+    };
   };
 
   config = lib.mkIf cfg.enable {
+    systemd.shutdownRamfs.contents."/shutdown".source = "${config.systemd.package}/lib/systemd/systemd-shutdown";
+    systemd.shutdownRamfs.storePaths = [pkgs.runtimeShell "${pkgs.coreutils}/bin"];
+
     systemd.services.generate-shutdown-ramfs = {
       description = "Generate shutdown ramfs";
+      wantedBy = [ "shutdown.target" ];
       before = [ "shutdown.target" ];
       unitConfig = {
         DefaultDependencies = false;
         ConditionFileIsExecutable = [
           "!/run/initramfs/shutdown"
-          "/run/current-system/systemd/lib/systemd/systemd-shutdown"
         ];
       };
 
+      path = [pkgs.util-linux pkgs.makeInitrdNGTool];
       serviceConfig.Type = "oneshot";
       script = ''
         mkdir -p /run/initramfs
         if ! mountpoint -q /run/initramfs; then
           mount -t tmpfs tmpfs /run/initramfs
         fi
-        cp /run/current-system/systemd/lib/systemd/systemd-shutdown /run/initramfs/shutdown
+        make-initrd-ng ${ramfsContents} /run/initramfs
       '';
     };
   };
diff --git a/nixos/modules/tasks/bcache.nix b/nixos/modules/tasks/bcache.nix
index 41fb7664f3d..0a13522de11 100644
--- a/nixos/modules/tasks/bcache.nix
+++ b/nixos/modules/tasks/bcache.nix
@@ -1,13 +1,23 @@
-{ pkgs, ... }:
+{ config, lib, pkgs, ... }:
 
 {
+  options.boot.initrd.services.bcache.enable = (lib.mkEnableOption "bcache support in the initrd") // {
+    visible = false; # only works with systemd stage 1
+  };
 
-  environment.systemPackages = [ pkgs.bcache-tools ];
+  config = {
 
-  services.udev.packages = [ pkgs.bcache-tools ];
+    environment.systemPackages = [ pkgs.bcache-tools ];
 
-  boot.initrd.extraUdevRulesCommands = ''
-    cp -v ${pkgs.bcache-tools}/lib/udev/rules.d/*.rules $out/
-  '';
+    services.udev.packages = [ pkgs.bcache-tools ];
 
+    boot.initrd.extraUdevRulesCommands = lib.mkIf (!config.boot.initrd.systemd.enable) ''
+      cp -v ${pkgs.bcache-tools}/lib/udev/rules.d/*.rules $out/
+    '';
+
+    boot.initrd.services.udev = lib.mkIf config.boot.initrd.services.bcache.enable {
+      packages = [ pkgs.bcache-tools ];
+      binPackages = [ pkgs.bcache-tools ];
+    };
+  };
 }
diff --git a/nixos/modules/tasks/filesystems/btrfs.nix b/nixos/modules/tasks/filesystems/btrfs.nix
index ae1dab5b8d8..b7ebc37dd5c 100644
--- a/nixos/modules/tasks/filesystems/btrfs.nix
+++ b/nixos/modules/tasks/filesystems/btrfs.nix
@@ -66,19 +66,19 @@ in
         ]
       );
 
-      boot.initrd.extraUtilsCommands = mkIf inInitrd
+      boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable)
       ''
         copy_bin_and_libs ${pkgs.btrfs-progs}/bin/btrfs
         ln -sv btrfs $out/bin/btrfsck
         ln -sv btrfsck $out/bin/fsck.btrfs
       '';
 
-      boot.initrd.extraUtilsCommandsTest = mkIf inInitrd
+      boot.initrd.extraUtilsCommandsTest = mkIf (inInitrd && !config.boot.initrd.systemd.enable)
       ''
         $out/bin/btrfs --version
       '';
 
-      boot.initrd.postDeviceCommands = mkIf inInitrd
+      boot.initrd.postDeviceCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable)
       ''
         btrfs device scan
       '';
diff --git a/nixos/modules/tasks/filesystems/cifs.nix b/nixos/modules/tasks/filesystems/cifs.nix
index 47ba0c03c56..0de292a6920 100644
--- a/nixos/modules/tasks/filesystems/cifs.nix
+++ b/nixos/modules/tasks/filesystems/cifs.nix
@@ -16,7 +16,7 @@ in
     boot.initrd.availableKernelModules = mkIf inInitrd
       [ "cifs" "nls_utf8" "hmac" "md4" "ecb" "des_generic" "sha256" ];
 
-    boot.initrd.extraUtilsCommands = mkIf inInitrd
+    boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable)
       ''
         copy_bin_and_libs ${pkgs.cifs-utils}/sbin/mount.cifs
       '';
diff --git a/nixos/modules/tasks/filesystems/ext.nix b/nixos/modules/tasks/filesystems/ext.nix
index a14a3ac3854..9b61f21643a 100644
--- a/nixos/modules/tasks/filesystems/ext.nix
+++ b/nixos/modules/tasks/filesystems/ext.nix
@@ -1,14 +1,20 @@
-{ pkgs, ... }:
+{ config, lib, pkgs, ... }:
+
+let
+
+  inInitrd = lib.any (fs: fs == "ext2" || fs == "ext3" || fs == "ext4") config.boot.initrd.supportedFilesystems;
+
+in
 
 {
   config = {
 
-    system.fsPackages = [ pkgs.e2fsprogs ];
+    system.fsPackages = lib.mkIf (config.boot.initrd.systemd.enable -> inInitrd) [ pkgs.e2fsprogs ];
 
     # As of kernel 4.3, there is no separate ext3 driver (they're also handled by ext4.ko)
-    boot.initrd.availableKernelModules = [ "ext2" "ext4" ];
+    boot.initrd.availableKernelModules = lib.mkIf (config.boot.initrd.systemd.enable -> inInitrd) [ "ext2" "ext4" ];
 
-    boot.initrd.extraUtilsCommands =
+    boot.initrd.extraUtilsCommands = lib.mkIf (!config.boot.initrd.systemd.enable)
       ''
         # Copy e2fsck and friends.
         copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/e2fsck
diff --git a/nixos/modules/tasks/filesystems/f2fs.nix b/nixos/modules/tasks/filesystems/f2fs.nix
index a305235979a..1d52861aa39 100644
--- a/nixos/modules/tasks/filesystems/f2fs.nix
+++ b/nixos/modules/tasks/filesystems/f2fs.nix
@@ -13,7 +13,7 @@ in
 
     boot.initrd.availableKernelModules = mkIf inInitrd [ "f2fs" "crc32" ];
 
-    boot.initrd.extraUtilsCommands = mkIf inInitrd ''
+    boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable) ''
       copy_bin_and_libs ${pkgs.f2fs-tools}/sbin/fsck.f2fs
       ${optionalString (any (fs: fs.autoResize) fileSystems) ''
         # We need f2fs-tools' tools to resize filesystems
diff --git a/nixos/modules/tasks/filesystems/jfs.nix b/nixos/modules/tasks/filesystems/jfs.nix
index fc3905c7dc2..700f05af2be 100644
--- a/nixos/modules/tasks/filesystems/jfs.nix
+++ b/nixos/modules/tasks/filesystems/jfs.nix
@@ -12,7 +12,7 @@ in
 
     boot.initrd.kernelModules = mkIf inInitrd [ "jfs" ];
 
-    boot.initrd.extraUtilsCommands = mkIf inInitrd ''
+    boot.initrd.extraUtilsCommands = mkIf (inInitrd && !boot.initrd.systemd.enable) ''
       copy_bin_and_libs ${pkgs.jfsutils}/sbin/fsck.jfs
     '';
   };
diff --git a/nixos/modules/tasks/filesystems/reiserfs.nix b/nixos/modules/tasks/filesystems/reiserfs.nix
index ab4c43e2ab8..7b017a83db8 100644
--- a/nixos/modules/tasks/filesystems/reiserfs.nix
+++ b/nixos/modules/tasks/filesystems/reiserfs.nix
@@ -15,7 +15,7 @@ in
 
     boot.initrd.kernelModules = mkIf inInitrd [ "reiserfs" ];
 
-    boot.initrd.extraUtilsCommands = mkIf inInitrd
+    boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable)
       ''
         copy_bin_and_libs ${pkgs.reiserfsprogs}/sbin/reiserfsck
         ln -s reiserfsck $out/bin/fsck.reiserfs
diff --git a/nixos/modules/tasks/filesystems/unionfs-fuse.nix b/nixos/modules/tasks/filesystems/unionfs-fuse.nix
index f54f3559c34..f9954b5182f 100644
--- a/nixos/modules/tasks/filesystems/unionfs-fuse.nix
+++ b/nixos/modules/tasks/filesystems/unionfs-fuse.nix
@@ -6,7 +6,7 @@
     (lib.mkIf (lib.any (fs: fs == "unionfs-fuse") config.boot.initrd.supportedFilesystems) {
       boot.initrd.kernelModules = [ "fuse" ];
 
-      boot.initrd.extraUtilsCommands = ''
+      boot.initrd.extraUtilsCommands = lib.mkIf (!config.boot.initrd.systemd.enable) ''
         copy_bin_and_libs ${pkgs.fuse}/sbin/mount.fuse
         copy_bin_and_libs ${pkgs.unionfs-fuse}/bin/unionfs
         substitute ${pkgs.unionfs-fuse}/sbin/mount.unionfs-fuse $out/bin/mount.unionfs-fuse \
@@ -16,12 +16,23 @@
         chmod +x $out/bin/mount.unionfs-fuse
       '';
 
-      boot.initrd.postDeviceCommands = ''
+      boot.initrd.postDeviceCommands = lib.mkIf (!config.boot.initrd.systemd.enable) ''
           # Hacky!!! fuse hard-codes the path to mount
           mkdir -p /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin
           ln -s $(which mount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin
           ln -s $(which umount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin
         '';
+
+      boot.initrd.systemd.extraBin = {
+        "mount.fuse" = "${pkgs.fuse}/bin/mount.fuse";
+        "unionfs" = "${pkgs.unionfs-fuse}/bin/unionfs";
+        "mount.unionfs-fuse" = pkgs.runCommand "mount.unionfs-fuse" {} ''
+          substitute ${pkgs.unionfs-fuse}/sbin/mount.unionfs-fuse $out \
+            --replace '${pkgs.bash}/bin/bash' /bin/sh \
+            --replace '${pkgs.fuse}/sbin' /bin \
+            --replace '${pkgs.unionfs-fuse}/bin' /bin
+        '';
+      };
     })
 
     (lib.mkIf (lib.any (fs: fs == "unionfs-fuse") config.boot.supportedFilesystems) {
diff --git a/nixos/modules/tasks/filesystems/vfat.nix b/nixos/modules/tasks/filesystems/vfat.nix
index 958e27ae8a3..5baab1c802c 100644
--- a/nixos/modules/tasks/filesystems/vfat.nix
+++ b/nixos/modules/tasks/filesystems/vfat.nix
@@ -15,7 +15,7 @@ in
 
     boot.initrd.kernelModules = mkIf inInitrd [ "vfat" "nls_cp437" "nls_iso8859-1" ];
 
-    boot.initrd.extraUtilsCommands = mkIf inInitrd
+    boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable)
       ''
         copy_bin_and_libs ${pkgs.dosfstools}/sbin/dosfsck
         ln -sv dosfsck $out/bin/fsck.vfat
diff --git a/nixos/modules/tasks/filesystems/xfs.nix b/nixos/modules/tasks/filesystems/xfs.nix
index 98038701ca5..f81f5864655 100644
--- a/nixos/modules/tasks/filesystems/xfs.nix
+++ b/nixos/modules/tasks/filesystems/xfs.nix
@@ -15,14 +15,14 @@ in
 
     boot.initrd.availableKernelModules = mkIf inInitrd [ "xfs" "crc32c" ];
 
-    boot.initrd.extraUtilsCommands = mkIf inInitrd
+    boot.initrd.extraUtilsCommands = mkIf (inInitrd && !config.boot.initrd.systemd.enable)
       ''
         copy_bin_and_libs ${pkgs.xfsprogs.bin}/bin/fsck.xfs
         copy_bin_and_libs ${pkgs.xfsprogs.bin}/bin/xfs_repair
       '';
 
     # Trick just to set 'sh' after the extraUtils nuke-refs.
-    boot.initrd.extraUtilsCommandsTest = mkIf inInitrd
+    boot.initrd.extraUtilsCommandsTest = mkIf (inInitrd && !config.boot.initrd.systemd.enable)
       ''
         sed -i -e 's,^#!.*,#!'$out/bin/sh, $out/bin/fsck.xfs
       '';
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index fbfc61177d3..c8bbfe9769b 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -58,6 +58,13 @@ let
   # latter case it makes one last attempt at importing, allowing the system to
   # (eventually) boot even with a degraded pool.
   importLib = {zpoolCmd, awkCmd, cfgZfs}: ''
+    for o in $(cat /proc/cmdline); do
+      case $o in
+        zfs_force|zfs_force=1|zfs_force=y)
+          ZFS_FORCE="-f"
+          ;;
+      esac
+    done
     poolReady() {
       pool="$1"
       state="$("${zpoolCmd}" import 2>/dev/null | "${awkCmd}" "/pool: $pool/ { found = 1 }; /state:/ { if (found == 1) { print \$2; exit } }; END { if (found == 0) { print \"MISSING\" } }")"
@@ -78,6 +85,95 @@ let
     }
   '';
 
+  getPoolFilesystems = pool:
+    filter (x: x.fsType == "zfs" && (fsToPool x) == pool) config.system.build.fileSystems;
+
+  getPoolMounts = prefix: pool:
+    let
+      # Remove the "/" suffix because even though most mountpoints
+      # won't have it, the "/" mountpoint will, and we can't have the
+      # trailing slash in "/sysroot/" in stage 1.
+      mountPoint = fs: escapeSystemdPath (prefix + (lib.removeSuffix "/" fs.mountPoint));
+    in
+      map (x: "${mountPoint x}.mount") (getPoolFilesystems pool);
+
+  getKeyLocations = pool:
+    if isBool cfgZfs.requestEncryptionCredentials
+    then "${cfgZfs.package}/sbin/zfs list -rHo name,keylocation,keystatus ${pool}"
+    else "${cfgZfs.package}/sbin/zfs list -Ho name,keylocation,keystatus ${toString (filter (x: datasetToPool x == pool) cfgZfs.requestEncryptionCredentials)}";
+
+  createImportService = { pool, systemd, force, prefix ? "" }:
+    nameValuePair "zfs-import-${pool}" {
+      description = "Import ZFS pool \"${pool}\"";
+      # we need systemd-udev-settle to ensure devices are available
+      # In the future, hopefully someone will complete this:
+      # https://github.com/zfsonlinux/zfs/pull/4943
+      requires = [ "systemd-udev-settle.service" ];
+      after = [
+        "systemd-udev-settle.service"
+        "systemd-modules-load.service"
+        "systemd-ask-password-console.service"
+      ];
+      wantedBy = (getPoolMounts prefix pool) ++ [ "local-fs.target" ];
+      before = (getPoolMounts prefix pool) ++ [ "local-fs.target" ];
+      unitConfig = {
+        DefaultDependencies = "no";
+      };
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+      };
+      environment.ZFS_FORCE = optionalString force "-f";
+      script = (importLib {
+        # See comments at importLib definition.
+        zpoolCmd = "${cfgZfs.package}/sbin/zpool";
+        awkCmd = "${pkgs.gawk}/bin/awk";
+        inherit cfgZfs;
+      }) + ''
+        poolImported "${pool}" && exit
+        echo -n "importing ZFS pool \"${pool}\"..."
+        # Loop across the import until it succeeds, because the devices needed may not be discovered yet.
+        for trial in `seq 1 60`; do
+          poolReady "${pool}" && poolImport "${pool}" && break
+          sleep 1
+        done
+        poolImported "${pool}" || poolImport "${pool}"  # Try one last time, e.g. to import a degraded pool.
+        if poolImported "${pool}"; then
+          ${optionalString (if isBool cfgZfs.requestEncryptionCredentials
+                            then cfgZfs.requestEncryptionCredentials
+                            else cfgZfs.requestEncryptionCredentials != []) ''
+            ${getKeyLocations pool} | while IFS=$'\t' read ds kl ks; do
+              {
+              if [[ "$ks" != unavailable ]]; then
+                continue
+              fi
+              case "$kl" in
+                none )
+                  ;;
+                prompt )
+                  tries=3
+                  success=false
+                  while [[ $success != true ]] && [[ $tries -gt 0 ]]; do
+                    ${systemd}/bin/systemd-ask-password "Enter key for $ds:" | ${cfgZfs.package}/sbin/zfs load-key "$ds" \
+                      && success=true \
+                      || tries=$((tries - 1))
+                  done
+                  [[ $success = true ]]
+                  ;;
+                * )
+                  ${cfgZfs.package}/sbin/zfs load-key "$ds"
+                  ;;
+              esac
+              } < /dev/null # To protect while read ds kl in case anything reads stdin
+            done
+          ''}
+          echo "Successfully imported ${pool}"
+        else
+          exit 1
+        fi
+      '';
+    };
+
   zedConf = generators.toKeyValue {
     mkKeyValue = generators.mkKeyValueDefault {
       mkValueString = v:
@@ -428,14 +524,6 @@ in
           '';
         postDeviceCommands = concatStringsSep "\n" ([''
             ZFS_FORCE="${optionalString cfgZfs.forceImportRoot "-f"}"
-
-            for o in $(cat /proc/cmdline); do
-              case $o in
-                zfs_force|zfs_force=1)
-                  ZFS_FORCE="-f"
-                  ;;
-              esac
-            done
           ''] ++ [(importLib {
             # See comments at importLib definition.
             zpoolCmd = "zpool";
@@ -464,8 +552,28 @@ in
                 zfs load-key ${fs}
               '') cfgZfs.requestEncryptionCredentials}
         '') rootPools));
+
+        # Systemd in stage 1
+        systemd = {
+          packages = [cfgZfs.package];
+          services = listToAttrs (map (pool: createImportService {
+            inherit pool;
+            systemd = config.boot.initrd.systemd.package;
+            force = cfgZfs.forceImportRoot;
+            prefix = "/sysroot";
+          }) rootPools);
+          extraBin = {
+            # zpool and zfs are already in thanks to fsPackages
+            awk = "${pkgs.gawk}/bin/awk";
+          };
+        };
       };
 
+      systemd.shutdownRamfs.contents."/etc/systemd/system-shutdown/zpool".source = pkgs.writeShellScript "zpool-sync-shutdown" ''
+        exec ${cfgZfs.package}/bin/zpool sync
+      '';
+      systemd.shutdownRamfs.storePaths = ["${cfgZfs.package}/bin/zpool"];
+
       # TODO FIXME See https://github.com/NixOS/nixpkgs/pull/99386#issuecomment-798813567. To not break people's bootloader and as probably not everybody would read release notes that thoroughly add inSystem.
       boot.loader.grub = mkIf (inInitrd || inSystem) {
         zfsSupport = true;
@@ -516,79 +624,11 @@ in
       systemd.packages = [ cfgZfs.package ];
 
       systemd.services = let
-        getPoolFilesystems = pool:
-          filter (x: x.fsType == "zfs" && (fsToPool x) == pool) config.system.build.fileSystems;
-
-        getPoolMounts = pool:
-          let
-            mountPoint = fs: escapeSystemdPath fs.mountPoint;
-          in
-            map (x: "${mountPoint x}.mount") (getPoolFilesystems pool);
-
-        createImportService = pool:
-          nameValuePair "zfs-import-${pool}" {
-            description = "Import ZFS pool \"${pool}\"";
-            # we need systemd-udev-settle until https://github.com/zfsonlinux/zfs/pull/4943 is merged
-            requires = [ "systemd-udev-settle.service" ];
-            after = [
-              "systemd-udev-settle.service"
-              "systemd-modules-load.service"
-              "systemd-ask-password-console.service"
-            ];
-            wantedBy = (getPoolMounts pool) ++ [ "local-fs.target" ];
-            before = (getPoolMounts pool) ++ [ "local-fs.target" ];
-            unitConfig = {
-              DefaultDependencies = "no";
-            };
-            serviceConfig = {
-              Type = "oneshot";
-              RemainAfterExit = true;
-            };
-            environment.ZFS_FORCE = optionalString cfgZfs.forceImportAll "-f";
-            script = (importLib {
-              # See comments at importLib definition.
-              zpoolCmd = "${cfgZfs.package}/sbin/zpool";
-              awkCmd = "${pkgs.gawk}/bin/awk";
-              inherit cfgZfs;
-            }) + ''
-              poolImported "${pool}" && exit
-              echo -n "importing ZFS pool \"${pool}\"..."
-              # Loop across the import until it succeeds, because the devices needed may not be discovered yet.
-              for trial in `seq 1 60`; do
-                poolReady "${pool}" && poolImport "${pool}" && break
-                sleep 1
-              done
-              poolImported "${pool}" || poolImport "${pool}"  # Try one last time, e.g. to import a degraded pool.
-              if poolImported "${pool}"; then
-                ${optionalString (if isBool cfgZfs.requestEncryptionCredentials
-                                  then cfgZfs.requestEncryptionCredentials
-                                  else cfgZfs.requestEncryptionCredentials != []) ''
-                  ${cfgZfs.package}/sbin/zfs list -rHo name,keylocation ${pool} | while IFS=$'\t' read ds kl; do
-                    {
-                      ${optionalString (!isBool cfgZfs.requestEncryptionCredentials) ''
-                         if ! echo '${concatStringsSep "\n" cfgZfs.requestEncryptionCredentials}' | grep -qFx "$ds"; then
-                           continue
-                         fi
-                       ''}
-                    case "$kl" in
-                      none )
-                        ;;
-                      prompt )
-                        ${config.systemd.package}/bin/systemd-ask-password "Enter key for $ds:" | ${cfgZfs.package}/sbin/zfs load-key "$ds"
-                        ;;
-                      * )
-                        ${cfgZfs.package}/sbin/zfs load-key "$ds"
-                        ;;
-                    esac
-                    } < /dev/null # To protect while read ds kl in case anything reads stdin
-                  done
-                ''}
-                echo "Successfully imported ${pool}"
-              else
-                exit 1
-              fi
-            '';
-          };
+        createImportService' = pool: createImportService {
+          inherit pool;
+          systemd = config.systemd.package;
+          force = cfgZfs.forceImportAll;
+        };
 
         # This forces a sync of any ZFS pools prior to poweroff, even if they're set
         # to sync=disabled.
@@ -614,7 +654,7 @@ in
             wantedBy = [ "zfs.target" ];
           };
 
-      in listToAttrs (map createImportService dataPools ++
+      in listToAttrs (map createImportService' dataPools ++
                       map createSyncService allPools ++
                       map createZfsService [ "zfs-mount" "zfs-share" "zfs-zed" ]);
 
diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix
index 01447e6ada8..81541477b9e 100644
--- a/nixos/modules/testing/test-instrumentation.nix
+++ b/nixos/modules/testing/test-instrumentation.nix
@@ -65,33 +65,26 @@ in
       };
     };
 
-    boot.initrd.preDeviceCommands =
-      ''
-        echo 600 > /proc/sys/kernel/hung_task_timeout_secs
-      '';
-
-    boot.initrd.postDeviceCommands =
-      ''
-        # Using acpi_pm as a clock source causes the guest clock to
-        # slow down under high host load.  This is usually a bad
-        # thing, but for VM tests it should provide a bit more
-        # determinism (e.g. if the VM runs at lower speed, then
-        # timeouts in the VM should also be delayed).
-        echo acpi_pm > /sys/devices/system/clocksource/clocksource0/current_clocksource
-      '';
-
-    boot.postBootCommands =
-      ''
-        # Panic on out-of-memory conditions rather than letting the
-        # OOM killer randomly get rid of processes, since this leads
-        # to failures that are hard to diagnose.
-        echo 2 > /proc/sys/vm/panic_on_oom
-      '';
+    boot.kernel.sysctl = {
+      "kernel.hung_task_timeout_secs" = 600;
+      # Panic on out-of-memory conditions rather than letting the
+      # OOM killer randomly get rid of processes, since this leads
+      # to failures that are hard to diagnose.
+      "vm.panic_on_oom" = lib.mkDefault 2;
+    };
 
-    # Panic if an error occurs in stage 1 (rather than waiting for
-    # user intervention).
-    boot.kernelParams =
-      [ "console=${qemu-common.qemuSerialDevice}" "panic=1" "boot.panic_on_fail" ];
+    boot.kernelParams = [
+      "console=${qemu-common.qemuSerialDevice}"
+      # Panic if an error occurs in stage 1 (rather than waiting for
+      # user intervention).
+      "panic=1" "boot.panic_on_fail"
+      # Using acpi_pm as a clock source causes the guest clock to
+      # slow down under high host load.  This is usually a bad
+      # thing, but for VM tests it should provide a bit more
+      # determinism (e.g. if the VM runs at lower speed, then
+      # timeouts in the VM should also be delayed).
+      "clock=acpi_pm"
+    ];
 
     # `xwininfo' is used by the test driver to query open windows.
     environment.systemPackages = [ pkgs.xorg.xwininfo ];
diff --git a/nixos/modules/virtualisation/nixos-containers.nix b/nixos/modules/virtualisation/nixos-containers.nix
index 0838a57f0f3..23228a109bc 100644
--- a/nixos/modules/virtualisation/nixos-containers.nix
+++ b/nixos/modules/virtualisation/nixos-containers.nix
@@ -4,6 +4,11 @@ with lib;
 
 let
 
+  configurationPrefix = optionalString (versionAtLeast config.system.stateVersion "22.05") "nixos-";
+  configurationDirectoryName = "${configurationPrefix}containers";
+  configurationDirectory = "/etc/${configurationDirectoryName}";
+  stateDirectory = "/var/lib/${configurationPrefix}containers";
+
   # The container's init script, a small wrapper around the regular
   # NixOS stage-2 init script.
   containerInit = (cfg:
@@ -77,7 +82,7 @@ let
   startScript = cfg:
     ''
       mkdir -p -m 0755 "$root/etc" "$root/var/lib"
-      mkdir -p -m 0700 "$root/var/lib/private" "$root/root" /run/containers
+      mkdir -p -m 0700 "$root/var/lib/private" "$root/root" /run/nixos-containers
       if ! [ -e "$root/etc/os-release" ]; then
         touch "$root/etc/os-release"
       fi
@@ -249,11 +254,11 @@ let
 
     SyslogIdentifier = "container %i";
 
-    EnvironmentFile = "-/etc/containers/%i.conf";
+    EnvironmentFile = "-${configurationDirectory}/%i.conf";
 
     Type = "notify";
 
-    RuntimeDirectory = lib.optional cfg.ephemeral "containers/%i";
+    RuntimeDirectory = lib.optional cfg.ephemeral "${configurationDirectoryName}/%i";
 
     # Note that on reboot, systemd-nspawn returns 133, so this
     # unit will be restarted. On poweroff, it returns 0, so the
@@ -737,15 +742,21 @@ in
 
   config = mkIf (config.boot.enableContainers) (let
 
+    warnings = flatten [
+      (optional (config.virtualisation.containers.enable && versionOlder config.system.stateVersion "22.05") ''
+        Enabling both boot.enableContainers & virtualisation.containers on system.stateVersion < 22.05 is unsupported.
+      '')
+    ];
+
     unit = {
       description = "Container '%i'";
 
-      unitConfig.RequiresMountsFor = "/var/lib/containers/%i";
+      unitConfig.RequiresMountsFor = "${stateDirectory}/%i";
 
       path = [ pkgs.iproute2 ];
 
       environment = {
-        root = "/var/lib/containers/%i";
+        root = "${stateDirectory}/%i";
         INSTANCE = "%i";
       };
 
@@ -782,8 +793,8 @@ in
             script = startScript containerConfig;
             postStart = postStartScript containerConfig;
             serviceConfig = serviceDirectives containerConfig;
-            unitConfig.RequiresMountsFor = lib.optional (!containerConfig.ephemeral) "/var/lib/containers/%i";
-            environment.root = if containerConfig.ephemeral then "/run/containers/%i" else "/var/lib/containers/%i";
+            unitConfig.RequiresMountsFor = lib.optional (!containerConfig.ephemeral) "${stateDirectory}/%i";
+            environment.root = if containerConfig.ephemeral then "/run/nixos-containers/%i" else "${stateDirectory}/%i";
           } // (
           if containerConfig.autoStart then
             {
@@ -792,7 +803,7 @@ in
               after = [ "network.target" ];
               restartTriggers = [
                 containerConfig.path
-                config.environment.etc."containers/${name}.conf".source
+                config.environment.etc."${configurationDirectoryName}/${name}.conf".source
               ];
               restartIfChanged = true;
             }
@@ -800,12 +811,12 @@ in
       )) config.containers)
     ));
 
-    # Generate a configuration file in /etc/containers for each
+    # Generate a configuration file in /etc/nixos-containers for each
     # container so that container@.target can get the container
     # configuration.
     environment.etc =
       let mkPortStr = p: p.protocol + ":" + (toString p.hostPort) + ":" + (if p.containerPort == null then toString p.hostPort else toString p.containerPort);
-      in mapAttrs' (name: cfg: nameValuePair "containers/${name}.conf"
+      in mapAttrs' (name: cfg: nameValuePair "${configurationDirectoryName}/${name}.conf"
       { text =
           ''
             SYSTEM_PATH=${cfg.path}
@@ -854,7 +865,11 @@ in
       ENV{INTERFACE}=="v[eb]-*", ENV{NM_UNMANAGED}="1"
     '';
 
-    environment.systemPackages = [ pkgs.nixos-container ];
+    environment.systemPackages = [
+      (pkgs.nixos-container.override {
+        inherit stateDirectory configurationDirectory;
+      })
+    ];
 
     boot.kernelModules = [
       "bridge"
diff --git a/nixos/modules/virtualisation/oci-containers.nix b/nixos/modules/virtualisation/oci-containers.nix
index f4048172783..fa5fe997304 100644
--- a/nixos/modules/virtualisation/oci-containers.nix
+++ b/nixos/modules/virtualisation/oci-containers.nix
@@ -338,11 +338,7 @@ in {
 
     backend = mkOption {
       type = types.enum [ "podman" "docker" ];
-      default =
-        # TODO: Once https://github.com/NixOS/nixpkgs/issues/77925 is resolved default to podman
-        # if versionAtLeast config.system.stateVersion "20.09" then "podman"
-        # else "docker";
-        "docker";
+      default = if versionAtLeast config.system.stateVersion "22.05" then "podman" else "docker";
       description = "The underlying Docker implementation to use.";
     };
 
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index b1c5a7a6c95..f622897aa62 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -754,13 +754,13 @@ in
     );
     boot.loader.grub.gfxmodeBios = with cfg.resolution; "${toString x}x${toString y}";
 
-    boot.initrd.extraUtilsCommands =
+    boot.initrd.extraUtilsCommands = lib.mkIf (!config.boot.initrd.systemd.enable)
       ''
         # We need mke2fs in the initrd.
         copy_bin_and_libs ${pkgs.e2fsprogs}/bin/mke2fs
       '';
 
-    boot.initrd.postDeviceCommands =
+    boot.initrd.postDeviceCommands = lib.mkIf (!config.boot.initrd.systemd.enable)
       ''
         # If the disk image appears to be empty, run mke2fs to
         # initialise.
@@ -770,7 +770,7 @@ in
         fi
       '';
 
-    boot.initrd.postMountCommands =
+    boot.initrd.postMountCommands = lib.mkIf (!config.boot.initrd.systemd.enable)
       ''
         # Mark this as a NixOS machine.
         mkdir -p $targetRoot/etc
@@ -789,6 +789,11 @@ in
         ''}
       '';
 
+    systemd.tmpfiles.rules = lib.mkIf config.boot.initrd.systemd.enable [
+      "f /etc/NIXOS 0644 root root -"
+      "d /boot 0644 root root -"
+    ];
+
     # After booting, register the closure of the paths in
     # `virtualisation.additionalPaths' in the Nix database in the VM.  This
     # allows Nix operations to work in the VM.  The path to the
diff --git a/nixos/modules/virtualisation/vmware-host.nix b/nixos/modules/virtualisation/vmware-host.nix
new file mode 100644
index 00000000000..faa0d455c9d
--- /dev/null
+++ b/nixos/modules/virtualisation/vmware-host.nix
@@ -0,0 +1,166 @@
+{ config, pkgs, lib, ... }:
+
+let
+  cfg = config.virtualisation.vmware.host;
+  wrapperDir = "/run/vmware/bin"; # Perfectly fits as /usr/local/bin
+  parentWrapperDir = dirOf wrapperDir;
+  vmwareWrappers = # Needed as hardcoded paths workaround
+    let mkVmwareSymlink =
+      program:
+      ''
+        ln -s "${config.security.wrapperDir}/${program}" $wrapperDir/${program}
+      '';
+    in
+    [
+      (mkVmwareSymlink "pkexec")
+      (mkVmwareSymlink "mount")
+      (mkVmwareSymlink "umount")
+    ];
+in
+{
+  options = with lib; {
+    virtualisation.vmware.host = {
+      enable = mkEnableOption "VMware" // {
+        description = ''
+          This enables VMware host virtualisation for running VMs.
+
+          <important><para>
+          <literal>vmware-vmx</literal> will cause kcompactd0 due to
+          <literal>Transparent Hugepages</literal> feature in kernel.
+          Apply <literal>[ "transparent_hugepage=never" ]</literal> in
+          option <option>boot.kernelParams</option> to disable them.
+          </para></important>
+
+          <note><para>
+          If that didn't work disable <literal>TRANSPARENT_HUGEPAGE</literal>,
+          <literal>COMPACTION</literal> configs and recompile kernel.
+          </para></note>
+        '';
+      };
+      package = mkOption {
+        type = types.package;
+        default = pkgs.vmware-workstation;
+        defaultText = literalExpression "pkgs.vmware-workstation";
+        description = "VMware host virtualisation package to use";
+      };
+      extraPackages = mkOption {
+        type = with types; listOf package;
+        default = with pkgs; [ ];
+        description = "Extra packages to be used with VMware host.";
+        example = "with pkgs; [ ntfs3g ]";
+      };
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Add extra config to /etc/vmware/config";
+        example = ''
+          # Allow unsupported device's OpenGL and Vulkan acceleration for guest vGPU
+          mks.gl.allowUnsupportedDrivers = "TRUE"
+          mks.vk.allowUnsupportedDevices = "TRUE"
+        '';
+      };
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    boot.extraModulePackages = [ config.boot.kernelPackages.vmware ];
+    boot.extraModprobeConfig = "alias char-major-10-229 fuse";
+    boot.kernelModules = [ "vmw_pvscsi" "vmw_vmci" "vmmon" "vmnet" "fuse" ];
+
+    environment.systemPackages = [ cfg.package ] ++ cfg.extraPackages;
+    services.printing.drivers = [ cfg.package ];
+
+    environment.etc."vmware/config".text = ''
+      ${builtins.readFile "${cfg.package}/etc/vmware/config"}
+      ${cfg.extraConfig}
+    '';
+
+    environment.etc."vmware/bootstrap".source = "${cfg.package}/etc/vmware/bootstrap";
+    environment.etc."vmware/icu".source = "${cfg.package}/etc/vmware/icu";
+    environment.etc."vmware-installer".source = "${cfg.package}/etc/vmware-installer";
+
+    # SUID wrappers
+
+    security.wrappers = {
+      vmware-vmx = {
+        setuid = true;
+        owner = "root";
+        group = "root";
+        source = "${cfg.package}/lib/vmware/bin/.vmware-vmx-wrapped";
+      };
+    };
+
+    ###### wrappers activation script
+
+    system.activationScripts.vmwareWrappers =
+      lib.stringAfter [ "specialfs" "users" ]
+        ''
+          mkdir -p "${parentWrapperDir}"
+          chmod 755 "${parentWrapperDir}"
+          # We want to place the tmpdirs for the wrappers to the parent dir.
+          wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX)
+          chmod a+rx "$wrapperDir"
+          ${lib.concatStringsSep "\n" (vmwareWrappers)}
+          if [ -L ${wrapperDir} ]; then
+            # Atomically replace the symlink
+            # See https://axialcorps.com/2013/07/03/atomically-replacing-files-and-directories/
+            old=$(readlink -f ${wrapperDir})
+            if [ -e "${wrapperDir}-tmp" ]; then
+              rm --force --recursive "${wrapperDir}-tmp"
+            fi
+            ln --symbolic --force --no-dereference "$wrapperDir" "${wrapperDir}-tmp"
+            mv --no-target-directory "${wrapperDir}-tmp" "${wrapperDir}"
+            rm --force --recursive "$old"
+          else
+            # For initial setup
+            ln --symbolic "$wrapperDir" "${wrapperDir}"
+          fi
+        '';
+
+    # Services
+
+    systemd.services."vmware-authdlauncher" = {
+      description = "VMware Authentification Daemon";
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = [ "${cfg.package}/bin/vmware-authdlauncher" ];
+      };
+      wantedBy = [ "multi-user.target" ];
+    };
+
+    systemd.services."vmware-networks-configuration" = {
+      description = "VMware Networks Configuration Generation";
+      unitConfig.ConditionPathExists = "!/etc/vmware/networking";
+      serviceConfig = {
+        UMask = "0077";
+        ExecStart = [
+          "${cfg.package}/bin/vmware-networks --postinstall vmware-player,0,1"
+        ];
+        Type = "oneshot";
+        RemainAfterExit = "yes";
+      };
+      wantedBy = [ "multi-user.target" ];
+    };
+
+    systemd.services."vmware-networks" = {
+      description = "VMware Networks";
+      after = [ "vmware-networks-configuration.service" ];
+      requires = [ "vmware-networks-configuration.service" ];
+      serviceConfig = {
+        Type = "forking";
+        ExecCondition = [ "${pkgs.kmod}/bin/modprobe vmnet" ];
+        ExecStart = [ "${cfg.package}/bin/vmware-networks --start" ];
+        ExecStop = [ "${cfg.package}/bin/vmware-networks --stop" ];
+      };
+      wantedBy = [ "multi-user.target" ];
+    };
+
+    systemd.services."vmware-usbarbitrator" = {
+      description = "VMware USB Arbitrator";
+      serviceConfig = {
+        ExecStart = [ "${cfg.package}/bin/vmware-usbarbitrator -f" ];
+      };
+      wantedBy = [ "multi-user.target" ];
+    };
+  };
+}
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index fd8a39cfb92..7f81ca1c69b 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -132,12 +132,14 @@ in rec {
         # fails with kernel >= 5.15 https://github.com/NixOS/nixpkgs/pull/152505#issuecomment-1005049314
         #(onFullSupported "nixos.tests.nfs3.simple")
         (onFullSupported "nixos.tests.nfs4.simple")
+        (onSystems ["x86_64-linux"] "nixos.tests.oci-containers.podman")
         (onFullSupported "nixos.tests.openssh")
         (onFullSupported "nixos.tests.pantheon")
         (onFullSupported "nixos.tests.php.fpm")
         (onFullSupported "nixos.tests.php.httpd")
         (onFullSupported "nixos.tests.php.pcre")
         (onFullSupported "nixos.tests.plasma5")
+        (onSystems ["x86_64-linux"] "nixos.tests.podman")
         (onFullSupported "nixos.tests.predictable-interface-names.predictableNetworkd")
         (onFullSupported "nixos.tests.predictable-interface-names.predictable")
         (onFullSupported "nixos.tests.predictable-interface-names.unpredictableNetworkd")
diff --git a/nixos/release.nix b/nixos/release.nix
index 6b7564a9b97..0df443dd204 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -150,13 +150,13 @@ in rec {
   });
 
   iso_plasma5 = forMatchingSystems [ "x86_64-linux" ] (system: makeIso {
-    module = ./modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix;
+    module = ./modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix;
     type = "plasma5";
     inherit system;
   });
 
   iso_gnome = forMatchingSystems [ "x86_64-linux" ] (system: makeIso {
-    module = ./modules/installer/cd-dvd/installation-cd-graphical-gnome.nix;
+    module = ./modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix;
     type = "gnome";
     inherit system;
   });
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 57c17508aab..0c085b64efa 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -235,6 +235,7 @@ in
   input-remapper = handleTest ./input-remapper.nix {};
   inspircd = handleTest ./inspircd.nix {};
   installer = handleTest ./installer.nix {};
+  installer-systemd-stage-1 = handleTest ./installer-systemd-stage-1.nix {};
   invoiceplane = handleTest ./invoiceplane.nix {};
   iodine = handleTest ./iodine.nix {};
   ipfs = handleTest ./ipfs.nix {};
@@ -252,6 +253,7 @@ in
   k3s-single-node = handleTest ./k3s-single-node.nix {};
   k3s-single-node-docker = handleTest ./k3s-single-node-docker.nix {};
   kafka = handleTest ./kafka.nix {};
+  kanidm = handleTest ./kanidm.nix {};
   kbd-setfont-decompress = handleTest ./kbd-setfont-decompress.nix {};
   kbd-update-search-paths-patch = handleTest ./kbd-update-search-paths-patch.nix {};
   kea = handleTest ./kea.nix {};
@@ -283,7 +285,6 @@ in
   loki = handleTest ./loki.nix {};
   lvm2 = handleTest ./lvm2 {};
   lxd = handleTest ./lxd.nix {};
-  lxd-image = handleTest ./lxd-image.nix {};
   lxd-nftables = handleTest ./lxd-nftables.nix {};
   lxd-image-server = handleTest ./lxd-image-server.nix {};
   #logstash = handleTest ./logstash.nix {};
@@ -524,6 +525,9 @@ in
   systemd-confinement = handleTest ./systemd-confinement.nix {};
   systemd-cryptenroll = handleTest ./systemd-cryptenroll.nix {};
   systemd-escaping = handleTest ./systemd-escaping.nix {};
+  systemd-initrd-btrfs-raid = handleTest ./systemd-initrd-btrfs-raid.nix {};
+  systemd-initrd-luks-keyfile = handleTest ./systemd-initrd-luks-keyfile.nix {};
+  systemd-initrd-luks-password = handleTest ./systemd-initrd-luks-password.nix {};
   systemd-initrd-shutdown = handleTest ./systemd-shutdown.nix { systemdStage1 = true; };
   systemd-initrd-simple = handleTest ./systemd-initrd-simple.nix {};
   systemd-initrd-swraid = handleTest ./systemd-initrd-swraid.nix {};
diff --git a/nixos/tests/common/lxd/config.yaml b/nixos/tests/common/lxd/config.yaml
new file mode 100644
index 00000000000..3bb667ed43f
--- /dev/null
+++ b/nixos/tests/common/lxd/config.yaml
@@ -0,0 +1,24 @@
+storage_pools:
+  - name: default
+    driver: dir
+    config:
+      source: /var/lxd-pool
+
+networks:
+  - name: lxdbr0
+    type: bridge
+    config:
+      ipv4.address: auto
+      ipv6.address: none
+
+profiles:
+  - name: default
+    devices:
+      eth0:
+        name: eth0
+        network: lxdbr0
+        type: nic
+      root:
+        path: /
+        pool: default
+        type: disk
diff --git a/nixos/tests/containers-ephemeral.nix b/nixos/tests/containers-ephemeral.nix
index c9fe2778cac..cb4b7d4eba0 100644
--- a/nixos/tests/containers-ephemeral.nix
+++ b/nixos/tests/containers-ephemeral.nix
@@ -33,10 +33,10 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     machine.succeed("nixos-container start webserver")
 
     with subtest("Container got its own root folder"):
-        machine.succeed("ls /run/containers/webserver")
+        machine.succeed("ls /run/nixos-containers/webserver")
 
     with subtest("Container persistent directory is not created"):
-        machine.fail("ls /var/lib/containers/webserver")
+        machine.fail("ls /var/lib/nixos-containers/webserver")
 
     # Since "start" returns after the container has reached
     # multi-user.target, we should now be able to access it.
@@ -49,6 +49,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
         machine.fail(f"curl --fail --connect-timeout 2 http://{ip}/ > /dev/null")
 
     with subtest("Container's root folder was removed"):
-        machine.fail("ls /run/containers/webserver")
+        machine.fail("ls /run/nixos-containers/webserver")
   '';
 })
diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix
index 44d2e50288b..a21ce97a23b 100644
--- a/nixos/tests/containers-imperative.nix
+++ b/nixos/tests/containers-imperative.nix
@@ -69,8 +69,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
 
       with subtest(f"Put the root of {id2} into a bind mount"):
           machine.succeed(
-              f"mv /var/lib/containers/{id2} /id2-bindmount",
-              f"mount --bind /id2-bindmount /var/lib/containers/{id1}",
+              f"mv /var/lib/nixos-containers/{id2} /id2-bindmount",
+              f"mount --bind /id2-bindmount /var/lib/nixos-containers/{id1}",
           )
 
           ip1 = machine.succeed(f"nixos-container show-ip {id1}").rstrip()
@@ -88,7 +88,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
           "Create a directory with a dummy file and bind-mount it into both containers."
       ):
           for id in id1, id2:
-              important_path = f"/var/lib/containers/{id}/very/important/data"
+              important_path = f"/var/lib/nixos-containers/{id}/very/important/data"
               machine.succeed(
                   f"mkdir -p {important_path}",
                   f"mount --bind /nested-bindmount {important_path}",
@@ -154,13 +154,13 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
           machine.succeed("grep -qF 'important data' /nested-bindmount/dummy")
 
       with subtest("Ensure that the container path is gone"):
-          print(machine.succeed("ls -lsa /var/lib/containers"))
-          machine.succeed(f"test ! -e /var/lib/containers/{id1}")
+          print(machine.succeed("ls -lsa /var/lib/nixos-containers"))
+          machine.succeed(f"test ! -e /var/lib/nixos-containers/{id1}")
 
       with subtest("Ensure that a failed container creation doesn'leave any state"):
           machine.fail(
               "nixos-container create b0rk --config-file ${brokenCfg}"
           )
-          machine.succeed("test ! -e /var/lib/containers/b0rk")
+          machine.succeed("test ! -e /var/lib/nixos-containers/b0rk")
     '';
 })
diff --git a/nixos/tests/containers-tmpfs.nix b/nixos/tests/containers-tmpfs.nix
index 7a2c835b120..cf5b81656af 100644
--- a/nixos/tests/containers-tmpfs.nix
+++ b/nixos/tests/containers-tmpfs.nix
@@ -62,7 +62,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
           machine.succeed(
               tmpfs_cmd("touch /root/test.file"),
               tmpfs_cmd("ls -l  /root | grep -q test.file"),
-              "test -e /var/lib/containers/tmpfs/root/test.file",
+              "test -e /var/lib/nixos-containers/tmpfs/root/test.file",
           )
 
       with subtest(
@@ -73,7 +73,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
               tmpfs_cmd("touch /some/random/path/test.file"),
               tmpfs_cmd("test -e /some/random/path/test.file"),
           )
-          machine.fail("test -e /var/lib/containers/tmpfs/some/random/path/test.file")
+          machine.fail("test -e /var/lib/nixos-containers/tmpfs/some/random/path/test.file")
 
       with subtest(
           "files created in the hosts container dir in a path where a tmpfs "
@@ -81,9 +81,9 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
           + "the do not exist in the tmpfs"
       ):
           machine.succeed(
-              "touch /var/lib/containers/tmpfs/var/test.file",
-              "test -e /var/lib/containers/tmpfs/var/test.file",
-              "ls -l /var/lib/containers/tmpfs/var/ | grep -q test.file 2>/dev/null",
+              "touch /var/lib/nixos-containers/tmpfs/var/test.file",
+              "test -e /var/lib/nixos-containers/tmpfs/var/test.file",
+              "ls -l /var/lib/nixos-containers/tmpfs/var/ | grep -q test.file 2>/dev/null",
           )
           machine.fail(tmpfs_cmd("ls -l /var | grep -q test.file"))
     '';
diff --git a/nixos/tests/custom-ca.nix b/nixos/tests/custom-ca.nix
index 60c6c82223a..8e91bd3eead 100644
--- a/nixos/tests/custom-ca.nix
+++ b/nixos/tests/custom-ca.nix
@@ -1,9 +1,14 @@
 # Checks that `security.pki` options are working in curl and the main browser
-# engines: Gecko (via Firefox), Chromium, QtWebEngine (Falkon) and WebKitGTK
-# (via Midori). The test checks that certificates issued by a custom trusted
-# CA are accepted but those from an unknown CA are rejected.
+# engines: Gecko (via Firefox), Chromium, QtWebEngine (via qutebrowser) and
+# WebKitGTK (via Midori). The test checks that certificates issued by a custom
+# trusted CA are accepted but those from an unknown CA are rejected.
 
-import ./make-test-python.nix ({ pkgs, lib, ... }:
+{ system ? builtins.currentSystem,
+  config ? {},
+  pkgs ? import ../.. { inherit system config; }
+}:
+
+with import ../lib/testing-python.nix { inherit system pkgs; };
 
 let
   makeCert = { caName, domain }: pkgs.runCommand "example-cert"
@@ -68,24 +73,8 @@ let
       domain = "bad.example.com";
     };
 
-in
-
-{
-  name = "custom-ca";
-  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
-
-  enableOCR = true;
-
-  nodes.machine = { pkgs, ... }:
-    { imports = [ ./common/user-account.nix ./common/x11.nix ];
-
-      # chromium-based browsers refuse to run as root
-      test-support.displayManager.auto.user = "alice";
-
-      # browsers may hang with the default memory
-      virtualisation.memorySize = 600;
-
-      networking.hosts."127.0.0.1" = [ "good.example.com" "bad.example.com" ];
+  webserverConfig =
+    { networking.hosts."127.0.0.1" = [ "good.example.com" "bad.example.com" ];
       security.pki.certificateFiles = [ "${example-good-cert}/ca.crt" ];
 
       services.nginx.enable = true;
@@ -107,73 +96,98 @@ in
             return 200 'It does not work!';
           '';
         };
-
-      environment.systemPackages = with pkgs; [
-        xdotool
-        firefox
-        chromium
-        qutebrowser
-        midori
-      ];
     };
 
-  testScript = ''
-    from typing import Tuple
-    def execute_as(user: str, cmd: str) -> Tuple[int, str]:
-        """
-        Run a shell command as a specific user.
-        """
-        return machine.execute(f"sudo -u {user} {cmd}")
-
-
-    def wait_for_window_as(user: str, cls: str) -> None:
-        """
-        Wait until a X11 window of a given user appears.
-        """
-
-        def window_is_visible(last_try: bool) -> bool:
-            ret, stdout = execute_as(user, f"xdotool search --onlyvisible --class {cls}")
-            if last_try:
-                machine.log(f"Last chance to match {cls} on the window list")
-            return ret == 0
-
-        with machine.nested("Waiting for a window to appear"):
-            retry(window_is_visible)
-
-
-    machine.start()
-
-    with subtest("Good certificate is trusted in curl"):
-        machine.wait_for_unit("nginx")
-        machine.wait_for_open_port(443)
-        machine.succeed("curl -fv https://good.example.com")
-
-    with subtest("Unknown CA is untrusted in curl"):
-        machine.fail("curl -fv https://bad.example.com")
-
-    browsers = {
-      "firefox": "Security Risk",
-      "chromium": "not private",
-      "qutebrowser -T": "Certificate error",
-      "midori": "Security"
-    }
-
-    machine.wait_for_x()
-    for command, error in browsers.items():
-        browser = command.split()[0]
-        with subtest("Good certificate is trusted in " + browser):
-            execute_as(
-                "alice", f"{command} https://good.example.com >&2 &"
-            )
-            wait_for_window_as("alice", browser)
-            machine.wait_for_text("It works!")
-            machine.screenshot("good" + browser)
-            execute_as("alice", "xdotool key ctrl+w")  # close tab
-
-        with subtest("Unknown CA is untrusted in " + browser):
-            execute_as("alice", f"{command} https://bad.example.com >&2 &")
-            machine.wait_for_text(error)
-            machine.screenshot("bad" + browser)
-            machine.succeed("pkill -f " + browser)
-  '';
-})
+  curlTest = makeTest {
+    name = "custom-ca-curl";
+    meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+    nodes.machine = { ... }: webserverConfig;
+    testScript = ''
+        with subtest("Good certificate is trusted in curl"):
+            machine.wait_for_unit("nginx")
+            machine.wait_for_open_port(443)
+            machine.succeed("curl -fv https://good.example.com")
+
+        with subtest("Unknown CA is untrusted in curl"):
+            machine.fail("curl -fv https://bad.example.com")
+    '';
+  };
+
+  mkBrowserTest = browser: testParams: makeTest {
+    name = "custom-ca-${browser}";
+    meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
+    enableOCR = true;
+
+    nodes.machine = { pkgs, ... }:
+      { imports =
+          [ ./common/user-account.nix
+            ./common/x11.nix
+            webserverConfig
+          ];
+
+        # chromium-based browsers refuse to run as root
+        test-support.displayManager.auto.user = "alice";
+
+        # browsers may hang with the default memory
+        virtualisation.memorySize = 600;
+
+        environment.systemPackages = [ pkgs.xdotool pkgs.${browser} ];
+      };
+
+    testScript = ''
+      from typing import Tuple
+      def execute_as(user: str, cmd: str) -> Tuple[int, str]:
+          """
+          Run a shell command as a specific user.
+          """
+          return machine.execute(f"sudo -u {user} {cmd}")
+
+
+      def wait_for_window_as(user: str, cls: str) -> None:
+          """
+          Wait until a X11 window of a given user appears.
+          """
+
+          def window_is_visible(last_try: bool) -> bool:
+              ret, stdout = execute_as(user, f"xdotool search --onlyvisible --class {cls}")
+              if last_try:
+                  machine.log(f"Last chance to match {cls} on the window list")
+              return ret == 0
+
+          with machine.nested("Waiting for a window to appear"):
+              retry(window_is_visible)
+
+
+      machine.start()
+      machine.wait_for_x()
+
+      command = "${browser} ${testParams.args or ""}"
+      with subtest("Good certificate is trusted in ${browser}"):
+          execute_as(
+              "alice", f"{command} https://good.example.com >&2 &"
+          )
+          wait_for_window_as("alice", "${browser}")
+          machine.sleep(4)
+          execute_as("alice", "xdotool key ctrl+r")  # reload to be safe
+          machine.wait_for_text("It works!")
+          machine.screenshot("good${browser}")
+          execute_as("alice", "xdotool key ctrl+w")  # close tab
+
+      with subtest("Unknown CA is untrusted in ${browser}"):
+          execute_as("alice", f"{command} https://bad.example.com >&2 &")
+          machine.wait_for_text("${testParams.error}")
+          machine.screenshot("bad${browser}")
+    '';
+  };
+
+in
+
+{
+  curl = curlTest;
+} // pkgs.lib.mapAttrs mkBrowserTest {
+  firefox = { error = "Security Risk"; };
+  chromium = { error = "not private"; };
+  qutebrowser = { args = "-T"; error = "Certificate error"; };
+  midori = { error = "Security"; };
+}
diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix
index e1916ed36f3..4f7d3f07f06 100644
--- a/nixos/tests/gitlab.nix
+++ b/nixos/tests/gitlab.nix
@@ -1,9 +1,31 @@
-# This test runs gitlab and checks if it works
+# This test runs gitlab and performs the following tests:
+# - Creating users
+# - Pushing commits
+#   - over the API
+#   - over SSH
+# - Creating Merge Requests and merging them
+# - Opening and closing issues.
+# - Downloading repository archives as tar.gz and tar.bz2
+import ./make-test-python.nix ({ pkgs, lib, ... }:
+
+with lib;
 
 let
+  inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey;
   initialRootPassword = "notproduction";
-in
-import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
+  rootProjectId = "2";
+
+  aliceUsername = "alice";
+  aliceUserId = "2";
+  alicePassword = "alicepassword";
+  aliceProjectId = "2";
+  aliceProjectName = "test-alice";
+
+  bobUsername = "bob";
+  bobUserId = "3";
+  bobPassword = "bobpassword";
+  bobProjectId = "3";
+in {
   name = "gitlab";
   meta = with pkgs.lib.maintainers; {
     maintainers = [ globin yayayayaka ];
@@ -31,6 +53,8 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
         };
       };
 
+      services.openssh.enable = true;
+
       services.dovecot2 = {
         enable = true;
         enableImap = true;
@@ -77,8 +101,43 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
         password = initialRootPassword;
       });
 
-      createProject = pkgs.writeText "create-project.json" (builtins.toJSON {
-        name = "test";
+      createUserAlice = pkgs.writeText "create-user-alice.json" (builtins.toJSON rec {
+        username = aliceUsername;
+        name = username;
+        email = "alice@localhost";
+        password = alicePassword;
+        skip_confirmation = true;
+      });
+
+      createUserBob = pkgs.writeText "create-user-bob.json" (builtins.toJSON rec {
+        username = bobUsername;
+        name = username;
+        email = "bob@localhost";
+        password = bobPassword;
+        skip_confirmation = true;
+      });
+
+      aliceAuth = pkgs.writeText "alice-auth.json" (builtins.toJSON {
+        grant_type = "password";
+        username = aliceUsername;
+        password = alicePassword;
+      });
+
+      bobAuth = pkgs.writeText "bob-auth.json" (builtins.toJSON {
+        grant_type = "password";
+        username = bobUsername;
+        password = bobPassword;
+      });
+
+      aliceAddSSHKey = pkgs.writeText "alice-add-ssh-key.json" (builtins.toJSON {
+        id = aliceUserId;
+        title = "snakeoil@nixos";
+        key = snakeOilPublicKey;
+      });
+
+      createProjectAlice = pkgs.writeText "create-project-alice.json" (builtins.toJSON {
+        name = aliceProjectName;
+        visibility = "public";
       });
 
       putFile = pkgs.writeText "put-file.json" (builtins.toJSON {
@@ -89,6 +148,23 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
         commit_message = "create a new file";
       });
 
+      mergeRequest = pkgs.writeText "merge-request.json" (builtins.toJSON {
+        id = bobProjectId;
+        target_project_id = aliceProjectId;
+        source_branch = "master";
+        target_branch = "master";
+        title = "Add some other file";
+      });
+
+      newIssue = pkgs.writeText "new-issue.json" (builtins.toJSON {
+        title = "useful issue title";
+      });
+
+      closeIssue = pkgs.writeText "close-issue.json" (builtins.toJSON {
+        issue_iid = 1;
+        state_event = "close";
+      });
+
       # Wait for all GitLab services to be fully started.
       waitForServices = ''
         gitlab.wait_for_unit("gitaly.service")
@@ -105,6 +181,8 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
       # The actual test of GitLab. Only push data to GitLab if
       # `doSetup` is is true.
       test = doSetup: ''
+        GIT_SSH_COMMAND = "ssh -o StrictHostKeyChecking=accept-new -o UserKnownHostsFile=/dev/null"
+
         gitlab.succeed(
             "curl -isSf http://gitlab | grep -i location | grep http://gitlab/users/sign_in"
         )
@@ -115,27 +193,222 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
             "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers"
         )
       '' + optionalString doSetup ''
-        gitlab.succeed(
-            """[ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects)" = "201" ]"""
-        )
-        gitlab.succeed(
-            """[ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/2/repository/files/some-file.txt)" = "201" ]"""
-        )
+        with subtest("Create user Alice"):
+            gitlab.succeed(
+                """[ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createUserAlice} http://gitlab/api/v4/users)" = "201" ]"""
+            )
+            gitlab.succeed(
+                "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${aliceAuth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers-alice"
+            )
+
+        with subtest("Create user Bob"):
+            gitlab.succeed(
+                """ [ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createUserBob} http://gitlab/api/v4/users)" = "201" ]"""
+            )
+            gitlab.succeed(
+                "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${bobAuth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers-bob"
+            )
+
+        with subtest("Setup Git and SSH for Alice"):
+            gitlab.succeed("git config --global user.name Alice")
+            gitlab.succeed("git config --global user.email alice@nixos.invalid")
+            gitlab.succeed("mkdir -m 700 /root/.ssh")
+            gitlab.succeed("cat ${snakeOilPrivateKey} > /root/.ssh/id_ecdsa")
+            gitlab.succeed("chmod 600 /root/.ssh/id_ecdsa")
+            gitlab.succeed(
+                """
+                [ "$(curl \
+                    -o /dev/null \
+                    -w '%{http_code}' \
+                    -X POST \
+                    -H 'Content-Type: application/json' \
+                    -H @/tmp/headers-alice -d @${aliceAddSSHKey} \
+                    http://gitlab/api/v4/user/keys)" = "201" ]
+                """
+            )
+
+        with subtest("Create a new repository"):
+            # Alice creates a new repository
+            gitlab.succeed(
+                """
+                [ "$(curl \
+                    -o /dev/null \
+                    -w '%{http_code}' \
+                    -X POST \
+                    -H 'Content-Type: application/json' \
+                    -H @/tmp/headers-alice \
+                    -d @${createProjectAlice} \
+                    http://gitlab/api/v4/projects)" = "201" ]
+                """
+            )
+
+            # Alice commits an initial commit
+            gitlab.succeed(
+                """
+                [ "$(curl \
+                    -o /dev/null \
+                    -w '%{http_code}' \
+                    -X POST \
+                    -H 'Content-Type: application/json' \
+                    -H @/tmp/headers-alice \
+                    -d @${putFile} \
+                    http://gitlab/api/v4/projects/${aliceProjectId}/repository/files/some-file.txt)" = "201" ]"""
+            )
+
+        with subtest("git clone over HTTP"):
+            gitlab.succeed(
+                """git clone http://gitlab/alice/${aliceProjectName}.git clone-via-http""",
+                timeout=15
+            )
+
+        with subtest("Push a commit via SSH"):
+            gitlab.succeed(
+                f"""GIT_SSH_COMMAND="{GIT_SSH_COMMAND}" git clone gitlab@gitlab:alice/${aliceProjectName}.git""",
+                timeout=15
+            )
+            gitlab.succeed(
+                """echo "a commit sent over ssh" > ${aliceProjectName}/ssh.txt"""
+            )
+            gitlab.succeed(
+                """
+                cd ${aliceProjectName} || exit 1
+                git add .
+                """
+            )
+            gitlab.succeed(
+                """
+                cd ${aliceProjectName} || exit 1
+                git commit -m "Add a commit to be sent over ssh"
+                """
+            )
+            gitlab.succeed(
+                f"""
+                cd ${aliceProjectName} || exit 1
+                GIT_SSH_COMMAND="{GIT_SSH_COMMAND}" git push --set-upstream origin master
+                """,
+                timeout=15
+            )
+
+        with subtest("Fork a project"):
+            # Bob forks Alice's project
+            gitlab.succeed(
+                """
+                [ "$(curl \
+                    -o /dev/null \
+                    -w '%{http_code}' \
+                    -X POST \
+                    -H 'Content-Type: application/json' \
+                    -H @/tmp/headers-bob \
+                    http://gitlab/api/v4/projects/${aliceProjectId}/fork)" = "201" ]
+                """
+            )
+
+            # Bob creates a commit
+            gitlab.wait_until_succeeds(
+                """
+                [ "$(curl \
+                    -o /dev/null \
+                    -w '%{http_code}' \
+                    -X POST \
+                    -H 'Content-Type: application/json' \
+                    -H @/tmp/headers-bob \
+                    -d @${putFile} \
+                    http://gitlab/api/v4/projects/${bobProjectId}/repository/files/some-other-file.txt)" = "201" ]
+                """
+            )
+
+        with subtest("Create a Merge Request"):
+            # Bob opens a merge request against Alice's repository
+            gitlab.wait_until_succeeds(
+                """
+                [ "$(curl \
+                    -o /dev/null \
+                    -w '%{http_code}' \
+                    -X POST \
+                    -H 'Content-Type: application/json' \
+                    -H @/tmp/headers-bob \
+                    -d @${mergeRequest} \
+                    http://gitlab/api/v4/projects/${bobProjectId}/merge_requests)" = "201" ]
+                """
+            )
+
+            # Alice merges the MR
+            gitlab.wait_until_succeeds(
+                """
+                [ "$(curl \
+                    -o /dev/null \
+                    -w '%{http_code}' \
+                    -X PUT \
+                    -H 'Content-Type: application/json' \
+                    -H @/tmp/headers-alice \
+                    -d @${mergeRequest} \
+                    http://gitlab/api/v4/projects/${aliceProjectId}/merge_requests/1/merge)" = "200" ]
+                """
+            )
+
+        with subtest("Create an Issue"):
+            # Bob opens an issue on Alice's repository
+            gitlab.succeed(
+                """[ "$(curl \
+                    -o /dev/null \
+                    -w '%{http_code}' \
+                    -X POST \
+                    -H 'Content-Type: application/json' \
+                    -H @/tmp/headers-bob \
+                    -d @${newIssue} \
+                    http://gitlab/api/v4/projects/${aliceProjectId}/issues)" = "201" ]
+                """
+            )
+
+            # Alice closes the issue
+            gitlab.wait_until_succeeds(
+                """
+                [ "$(curl \
+                    -o /dev/null \
+                    -w '%{http_code}' \
+                    -X PUT \
+                    -H 'Content-Type: application/json' \
+                    -H @/tmp/headers-alice -d @${closeIssue} http://gitlab/api/v4/projects/${aliceProjectId}/issues/1)" = "200" ]
+                """
+            )
       '' + ''
-        gitlab.succeed(
-            """[ "$(curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.gz)" = "200" ]"""
-        )
-        gitlab.succeed(
-            """curl -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.gz > /tmp/archive.tar.gz"""
-        )
-        gitlab.succeed(
-            """[ "$(curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.bz2)" = "200" ]"""
-        )
-        gitlab.succeed(
-            """curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.bz2 > /tmp/archive.tar.bz2"""
-        )
-        gitlab.succeed("test -s /tmp/archive.tar.gz")
-        gitlab.succeed("test -s /tmp/archive.tar.bz2")
+        with subtest("Download archive.tar.gz"):
+            gitlab.succeed(
+                """
+                [ "$(curl \
+                    -o /dev/null \
+                    -w '%{http_code}' \
+                    -H @/tmp/headers-alice \
+                    http://gitlab/api/v4/projects/${aliceProjectId}/repository/archive.tar.gz)" = "200" ]
+                """
+            )
+            gitlab.succeed(
+                """
+                curl \
+                    -H @/tmp/headers-alice \
+                    http://gitlab/api/v4/projects/${aliceProjectId}/repository/archive.tar.gz > /tmp/archive.tar.gz
+                """
+            )
+            gitlab.succeed("test -s /tmp/archive.tar.gz")
+
+        with subtest("Download archive.tar.bz2"):
+            gitlab.succeed(
+                """
+                [ "$(curl \
+                    -o /dev/null \
+                    -w '%{http_code}' \
+                    -H @/tmp/headers-alice \
+                    http://gitlab/api/v4/projects/${aliceProjectId}/repository/archive.tar.bz2)" = "200" ]
+                """
+            )
+            gitlab.succeed(
+                """
+                curl \
+                    -H @/tmp/headers-alice \
+                    http://gitlab/api/v4/projects/${aliceProjectId}/repository/archive.tar.bz2 > /tmp/archive.tar.bz2
+                """
+            )
+            gitlab.succeed("test -s /tmp/archive.tar.bz2")
       '';
 
   in ''
diff --git a/nixos/tests/installed-tests/default.nix b/nixos/tests/installed-tests/default.nix
index fd16b481168..c6fb37cfe58 100644
--- a/nixos/tests/installed-tests/default.nix
+++ b/nixos/tests/installed-tests/default.nix
@@ -106,6 +106,5 @@ in
   malcontent = callInstalledTest ./malcontent.nix {};
   ostree = callInstalledTest ./ostree.nix {};
   pipewire = callInstalledTest ./pipewire.nix {};
-  power-profiles-daemon = callInstalledTest ./power-profiles-daemon.nix {};
   xdg-desktop-portal = callInstalledTest ./xdg-desktop-portal.nix {};
 }
diff --git a/nixos/tests/installed-tests/power-profiles-daemon.nix b/nixos/tests/installed-tests/power-profiles-daemon.nix
deleted file mode 100644
index 43629a0155d..00000000000
--- a/nixos/tests/installed-tests/power-profiles-daemon.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ pkgs, lib, makeInstalledTest, ... }:
-
-makeInstalledTest {
-  tested = pkgs.power-profiles-daemon;
-
-  testConfig = {
-    services.power-profiles-daemon.enable = true;
-  };
-}
diff --git a/nixos/tests/installer-systemd-stage-1.nix b/nixos/tests/installer-systemd-stage-1.nix
new file mode 100644
index 00000000000..d02387ee80e
--- /dev/null
+++ b/nixos/tests/installer-systemd-stage-1.nix
@@ -0,0 +1,33 @@
+{ system ? builtins.currentSystem
+, config ? {}
+, pkgs ? import ../.. { inherit system config; }
+}:
+
+{
+  # Some of these tests don't work with systemd stage 1 yet. Uncomment
+  # them when fixed.
+  inherit (import ./installer.nix { inherit system config pkgs; systemdStage1 = true; })
+    # bcache
+    # btrfsSimple
+    # btrfsSubvolDefault
+    # btrfsSubvols
+    # encryptedFSWithKeyfile
+    # grub1
+    # luksroot
+    # luksroot-format1
+    # luksroot-format2
+    # lvm
+    separateBoot
+    separateBootFat
+    simple
+    simpleLabels
+    simpleProvided
+    simpleSpecialised
+    simpleUefiGrub
+    simpleUefiGrubSpecialisation
+    simpleUefiSystemdBoot
+    # swraid
+    zfsroot
+    ;
+
+}
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index 30a5b5c45b3..d8187d8e019 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -1,6 +1,7 @@
 { system ? builtins.currentSystem,
   config ? {},
-  pkgs ? import ../.. { inherit system config; }
+  pkgs ? import ../.. { inherit system config; },
+  systemdStage1 ? false
 }:
 
 with import ../lib/testing-python.nix { inherit system pkgs; };
@@ -23,6 +24,8 @@ let
         # To ensure that we can rebuild the grub configuration on the nixos-rebuild
         system.extraDependencies = with pkgs; [ stdenvNoCC ];
 
+        ${optionalString systemdStage1 "boot.initrd.systemd.enable = true;"}
+
         ${optionalString (bootLoader == "grub") ''
           boot.loader.grub.version = ${toString grubVersion};
           ${optionalString (grubVersion == 1) ''
@@ -290,6 +293,8 @@ let
           virtualisation.cores = 8;
           virtualisation.memorySize = 1536;
 
+          boot.initrd.systemd.enable = systemdStage1;
+
           # Use a small /dev/vdb as the root disk for the
           # installer. This ensures the target disk (/dev/vda) is
           # the same during and after installation.
@@ -299,6 +304,13 @@ let
           virtualisation.qemu.diskInterface =
             if grubVersion == 1 then "scsi" else "virtio";
 
+          # We don't want to have any networking in the guest whatsoever.
+          # Also, if any vlans are enabled, the guest will reboot
+          # (with a different configuration for legacy reasons),
+          # and spend 5 minutes waiting for the vlan interface to show up
+          # (which will never happen).
+          virtualisation.vlans = [];
+
           boot.loader.systemd-boot.enable = mkIf (bootLoader == "systemd-boot") true;
 
           hardware.enableAllFirmware = mkForce false;
@@ -313,6 +325,7 @@ let
             docbook5
             docbook_xsl_ns
             kmod.dev
+            libarchive.dev
             libxml2.bin
             libxslt.bin
             nixos-artwork.wallpapers.simple-dark-gray-bottom
diff --git a/nixos/tests/kanidm.nix b/nixos/tests/kanidm.nix
new file mode 100644
index 00000000000..d34f680f522
--- /dev/null
+++ b/nixos/tests/kanidm.nix
@@ -0,0 +1,75 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+  let
+    certs = import ./common/acme/server/snakeoil-certs.nix;
+    serverDomain = certs.domain;
+  in
+  {
+    name = "kanidm";
+    meta.maintainers = with pkgs.lib.maintainers; [ erictapen Flakebi ];
+
+    nodes.server = { config, pkgs, lib, ... }: {
+      services.kanidm = {
+        enableServer = true;
+        serverSettings = {
+          origin = "https://${serverDomain}";
+          domain = serverDomain;
+          bindaddress = "[::1]:8443";
+          ldapbindaddress = "[::1]:636";
+        };
+      };
+
+      services.nginx = {
+        enable = true;
+        recommendedProxySettings = true;
+        virtualHosts."${serverDomain}" = {
+          forceSSL = true;
+          sslCertificate = certs."${serverDomain}".cert;
+          sslCertificateKey = certs."${serverDomain}".key;
+          locations."/".proxyPass = "http://[::1]:8443";
+        };
+      };
+
+      security.pki.certificateFiles = [ certs.ca.cert ];
+
+      networking.hosts."::1" = [ serverDomain ];
+      networking.firewall.allowedTCPPorts = [ 80 443 ];
+
+      users.users.kanidm.shell = pkgs.bashInteractive;
+
+      environment.systemPackages = with pkgs; [ kanidm openldap ripgrep ];
+    };
+
+    nodes.client = { pkgs, nodes, ... }: {
+      services.kanidm = {
+        enableClient = true;
+        clientSettings = {
+          uri = "https://${serverDomain}";
+        };
+      };
+
+      networking.hosts."${nodes.server.config.networking.primaryIPAddress}" = [ serverDomain ];
+
+      security.pki.certificateFiles = [ certs.ca.cert ];
+    };
+
+    testScript = { nodes, ... }:
+      let
+        ldapBaseDN = builtins.concatStringsSep "," (map (s: "dc=" + s) (pkgs.lib.splitString "." serverDomain));
+
+        # We need access to the config file in the test script.
+        filteredConfig = pkgs.lib.converge
+          (pkgs.lib.filterAttrsRecursive (_: v: v != null))
+          nodes.server.config.services.kanidm.serverSettings;
+        serverConfigFile = (pkgs.formats.toml { }).generate "server.toml" filteredConfig;
+
+      in
+      ''
+        start_all()
+        server.wait_for_unit("kanidm.service")
+        server.wait_until_succeeds("curl -sf https://${serverDomain} | grep Kanidm")
+        server.wait_until_succeeds("ldapsearch -H ldap://[::1]:636 -b '${ldapBaseDN}' -x '(name=test)'")
+        client.wait_until_succeeds("kanidm login -D anonymous && kanidm self whoami | grep anonymous@${serverDomain}")
+        (rv, result) = server.execute("kanidmd recover_account -d quiet -c ${serverConfigFile} -n admin 2>&1 | rg -o '[A-Za-z0-9]{48}'")
+        assert rv == 0
+      '';
+  })
diff --git a/nixos/tests/kexec.nix b/nixos/tests/kexec.nix
index 7e5cc010ef9..7238a9f58e0 100644
--- a/nixos/tests/kexec.nix
+++ b/nixos/tests/kexec.nix
@@ -1,5 +1,3 @@
-# Test whether fast reboots via kexec work.
-
 import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "kexec";
   meta = with lib.maintainers; {
@@ -18,13 +16,16 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
 
     node2 = { modulesPath, ... }: {
       virtualisation.vlans = [ ];
+      environment.systemPackages = [ pkgs.hello ];
       imports = [
         "${modulesPath}/installer/kexec/kexec-boot.nix"
+        "${modulesPath}/profiles/minimal.nix"
       ];
     };
   };
 
   testScript = { nodes, ... }: ''
+    # Test whether reboot via kexec works.
     node1.wait_for_unit("multi-user.target")
     node1.succeed('kexec --load /run/current-system/kernel --initrd /run/current-system/initrd --command-line "$(</proc/cmdline)"')
     node1.execute("systemctl kexec >&2 &", check_return=False)
@@ -32,14 +33,17 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     node1.connect()
     node1.wait_for_unit("multi-user.target")
 
-    # Check the machine with kexec-boot.nix profile boots up
+    # Check if the machine with kexec-boot.nix profile boots up
     node2.wait_for_unit("multi-user.target")
     node2.shutdown()
 
     # Kexec node1 to the toplevel of node2 via the kexec-boot script
     node1.succeed('touch /run/foo')
+    node1.fail('hello')
     node1.execute('${nodes.node2.config.system.build.kexecBoot}/kexec-boot', check_return=False)
     node1.succeed('! test -e /run/foo')
+    node1.succeed('hello')
+    node1.succeed('[ "$(hostname)" = "node2" ]')
 
     node1.shutdown()
   '';
diff --git a/nixos/tests/lxd-image-server.nix b/nixos/tests/lxd-image-server.nix
index fa40e33e74d..072f4570c2c 100644
--- a/nixos/tests/lxd-image-server.nix
+++ b/nixos/tests/lxd-image-server.nix
@@ -1,54 +1,21 @@
-import ./make-test-python.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, lib, ... } :
 
 let
-  # Since we don't have access to the internet during the tests, we have to
-  # pre-fetch lxd containers beforehand.
-  #
-  # I've chosen to import Alpine Linux, because its image is turbo-tiny and,
-  # generally, sufficient for our tests.
-  alpine-meta = pkgs.fetchurl {
-    url = "https://tarballs.nixos.org/alpine/3.12/lxd.tar.xz";
-    hash = "sha256-1tcKaO9lOkvqfmG/7FMbfAEToAuFy2YMewS8ysBKuLA=";
-  };
-
-  alpine-rootfs = pkgs.fetchurl {
-    url = "https://tarballs.nixos.org/alpine/3.12/rootfs.tar.xz";
-    hash = "sha256-Tba9sSoaiMtQLY45u7p5DMqXTSDgs/763L/SQp0bkCA=";
+  lxd-image = import ../release.nix {
+    configuration = {
+      # Building documentation makes the test unnecessarily take a longer time:
+      documentation.enable = lib.mkForce false;
+    };
   };
 
-  lxd-config = pkgs.writeText "config.yaml" ''
-    storage_pools:
-      - name: default
-        driver: dir
-        config:
-          source: /var/lxd-pool
-
-    networks:
-      - name: lxdbr0
-        type: bridge
-        config:
-          ipv4.address: auto
-          ipv6.address: none
-
-    profiles:
-      - name: default
-        devices:
-          eth0:
-            name: eth0
-            network: lxdbr0
-            type: nic
-          root:
-            path: /
-            pool: default
-            type: disk
-  '';
-
+  lxd-image-metadata = lxd-image.lxdMeta.${pkgs.system};
+  lxd-image-rootfs = lxd-image.lxdImage.${pkgs.system};
 
 in {
   name = "lxd-image-server";
 
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ mkg20001 ];
+    maintainers = [ mkg20001 patryk27 ];
   };
 
   nodes.machine = { lib, ... }: {
@@ -100,20 +67,20 @@ in {
     # lxd expects the pool's directory to already exist
     machine.succeed("mkdir /var/lxd-pool")
 
-
     machine.succeed(
-        "cat ${lxd-config} | lxd init --preseed"
+        "cat ${./common/lxd/config.yaml} | lxd init --preseed"
     )
 
     machine.succeed(
-        "lxc image import ${alpine-meta} ${alpine-rootfs} --alias alpine"
+        "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs}/*/*.tar.xz --alias nixos"
     )
 
-    loc = "/var/www/simplestreams/images/iats/alpine/amd64/default/v1"
+    loc = "/var/www/simplestreams/images/iats/nixos/amd64/default/v1"
 
     with subtest("push image to server"):
-        machine.succeed("lxc launch alpine test")
-        machine.succeed("lxc stop test")
+        machine.succeed("lxc launch nixos test")
+        machine.sleep(5)
+        machine.succeed("lxc stop -f test")
         machine.succeed("lxc publish --public test --alias=testimg")
         machine.succeed("lxc image export testimg")
         machine.succeed("ls >&2")
diff --git a/nixos/tests/lxd-image.nix b/nixos/tests/lxd-image.nix
deleted file mode 100644
index 4930b55f190..00000000000
--- a/nixos/tests/lxd-image.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-# This test ensures that the nixOS lxd images builds and functions properly
-# It has been extracted from `lxd.nix` to seperate failures of just the image and the lxd software
-
-import ./make-test-python.nix ({ pkgs, ...} : let
-  release = import ../release.nix {
-    /* configuration = {
-      environment.systemPackages = with pkgs; [ stdenv ]; # inject stdenv so rebuild test works
-    }; */
-  };
-
-  metadata = release.lxdMeta.${pkgs.system};
-  image = release.lxdImage.${pkgs.system};
-
-  lxd-config = pkgs.writeText "config.yaml" ''
-    storage_pools:
-      - name: default
-        driver: dir
-        config:
-          source: /var/lxd-pool
-
-    networks:
-      - name: lxdbr0
-        type: bridge
-        config:
-          ipv4.address: auto
-          ipv6.address: none
-
-    profiles:
-      - name: default
-        devices:
-          eth0:
-            name: eth0
-            network: lxdbr0
-            type: nic
-          root:
-            path: /
-            pool: default
-            type: disk
-  '';
-in {
-  name = "lxd-image";
-
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ mkg20001 ];
-  };
-
-  nodes.machine = { lib, ... }: {
-    virtualisation = {
-      # disk full otherwise
-      diskSize = 2048;
-
-      lxc.lxcfs.enable = true;
-      lxd.enable = true;
-    };
-  };
-
-  testScript = ''
-    machine.wait_for_unit("sockets.target")
-    machine.wait_for_unit("lxd.service")
-    machine.wait_for_file("/var/lib/lxd/unix.socket")
-
-    # It takes additional second for lxd to settle
-    machine.sleep(1)
-
-    # lxd expects the pool's directory to already exist
-    machine.succeed("mkdir /var/lxd-pool")
-
-    machine.succeed(
-        "cat ${lxd-config} | lxd init --preseed"
-    )
-
-    # TODO: test custom built container aswell
-
-    with subtest("importing container works"):
-        machine.succeed("lxc image import ${metadata}/*/*.tar.xz ${image}/*/*.tar.xz --alias nixos")
-
-    with subtest("launching container works"):
-        machine.succeed("lxc launch nixos machine -c security.nesting=true")
-        # make sure machine boots up properly
-        machine.sleep(5)
-
-    with subtest("container shell works"):
-        machine.succeed("echo true | lxc exec machine /run/current-system/sw/bin/bash -")
-        machine.succeed("lxc exec machine /run/current-system/sw/bin/true")
-
-    # with subtest("rebuilding works"):
-    #     machine.succeed("lxc exec machine /run/current-system/sw/bin/nixos-rebuild switch")
-  '';
-})
diff --git a/nixos/tests/lxd.nix b/nixos/tests/lxd.nix
index 81b36124cc6..15d16564d64 100644
--- a/nixos/tests/lxd.nix
+++ b/nixos/tests/lxd.nix
@@ -1,48 +1,18 @@
-import ./make-test-python.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, lib, ... } :
 
 let
-  # Since we don't have access to the internet during the tests, we have to
-  # pre-fetch lxd containers beforehand.
-  #
-  # I've chosen to import Alpine Linux, because its image is turbo-tiny and,
-  # generally, sufficient for our tests.
-  alpine-meta = pkgs.fetchurl {
-    url = "https://tarballs.nixos.org/alpine/3.12/lxd.tar.xz";
-    hash = "sha256-1tcKaO9lOkvqfmG/7FMbfAEToAuFy2YMewS8ysBKuLA=";
-  };
+  lxd-image = import ../release.nix {
+    configuration = {
+      # Building documentation makes the test unnecessarily take a longer time:
+      documentation.enable = lib.mkForce false;
 
-  alpine-rootfs = pkgs.fetchurl {
-    url = "https://tarballs.nixos.org/alpine/3.12/rootfs.tar.xz";
-    hash = "sha256-Tba9sSoaiMtQLY45u7p5DMqXTSDgs/763L/SQp0bkCA=";
+      # Our tests require `grep` & friends:
+      environment.systemPackages = with pkgs; [ busybox ];
+    };
   };
 
-  lxd-config = pkgs.writeText "config.yaml" ''
-    storage_pools:
-      - name: default
-        driver: dir
-        config:
-          source: /var/lxd-pool
-
-    networks:
-      - name: lxdbr0
-        type: bridge
-        config:
-          ipv4.address: auto
-          ipv6.address: none
-
-    profiles:
-      - name: default
-        devices:
-          eth0:
-            name: eth0
-            network: lxdbr0
-            type: nic
-          root:
-            path: /
-            pool: default
-            type: disk
-  '';
-
+  lxd-image-metadata = lxd-image.lxdMeta.${pkgs.system};
+  lxd-image-rootfs = lxd-image.lxdImage.${pkgs.system};
 
 in {
   name = "lxd";
@@ -53,6 +23,8 @@ in {
 
   nodes.machine = { lib, ... }: {
     virtualisation = {
+      diskSize = 2048;
+
       # Since we're testing `limits.cpu`, we've gotta have a known number of
       # cores to lean on
       cores = 2;
@@ -77,61 +49,66 @@ in {
     machine.succeed("mkdir /var/lxd-pool")
 
     machine.succeed(
-        "cat ${lxd-config} | lxd init --preseed"
+        "cat ${./common/lxd/config.yaml} | lxd init --preseed"
     )
 
     machine.succeed(
-        "lxc image import ${alpine-meta} ${alpine-rootfs} --alias alpine"
+        "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs}/*/*.tar.xz --alias nixos"
     )
 
-    with subtest("Containers can be launched and destroyed"):
-        machine.succeed("lxc launch alpine test")
-        machine.succeed("lxc exec test true")
-        machine.succeed("lxc delete -f test")
+    with subtest("Container can be managed"):
+        machine.succeed("lxc launch nixos container")
+        machine.sleep(5)
+        machine.succeed("echo true | lxc exec container /run/current-system/sw/bin/bash -")
+        machine.succeed("lxc exec container true")
+        machine.succeed("lxc delete -f container")
 
-    with subtest("Containers are being mounted with lxcfs inside"):
-        machine.succeed("lxc launch alpine test")
+    with subtest("Container is mounted with lxcfs inside"):
+        machine.succeed("lxc launch nixos container")
+        machine.sleep(5)
 
         ## ---------- ##
         ## limits.cpu ##
 
-        machine.succeed("lxc config set test limits.cpu 1")
-        machine.succeed("lxc restart test")
+        machine.succeed("lxc config set container limits.cpu 1")
+        machine.succeed("lxc restart container")
+        machine.sleep(5)
 
-        # Since Alpine doesn't have `nproc` pre-installed, we've gotta resort
-        # to the primal methods
         assert (
             "1"
-            == machine.succeed("lxc exec test grep -- -c ^processor /proc/cpuinfo").strip()
+            == machine.succeed("lxc exec container grep -- -c ^processor /proc/cpuinfo").strip()
         )
 
-        machine.succeed("lxc config set test limits.cpu 2")
-        machine.succeed("lxc restart test")
+        machine.succeed("lxc config set container limits.cpu 2")
+        machine.succeed("lxc restart container")
+        machine.sleep(5)
 
         assert (
             "2"
-            == machine.succeed("lxc exec test grep -- -c ^processor /proc/cpuinfo").strip()
+            == machine.succeed("lxc exec container grep -- -c ^processor /proc/cpuinfo").strip()
         )
 
         ## ------------- ##
         ## limits.memory ##
 
-        machine.succeed("lxc config set test limits.memory 64MB")
-        machine.succeed("lxc restart test")
+        machine.succeed("lxc config set container limits.memory 64MB")
+        machine.succeed("lxc restart container")
+        machine.sleep(5)
 
         assert (
             "MemTotal:          62500 kB"
-            == machine.succeed("lxc exec test grep -- MemTotal /proc/meminfo").strip()
+            == machine.succeed("lxc exec container grep -- MemTotal /proc/meminfo").strip()
         )
 
-        machine.succeed("lxc config set test limits.memory 128MB")
-        machine.succeed("lxc restart test")
+        machine.succeed("lxc config set container limits.memory 128MB")
+        machine.succeed("lxc restart container")
+        machine.sleep(5)
 
         assert (
             "MemTotal:         125000 kB"
-            == machine.succeed("lxc exec test grep -- MemTotal /proc/meminfo").strip()
+            == machine.succeed("lxc exec container grep -- MemTotal /proc/meminfo").strip()
         )
 
-        machine.succeed("lxc delete -f test")
+        machine.succeed("lxc delete -f container")
   '';
 })
diff --git a/nixos/tests/matrix-appservice-irc.nix b/nixos/tests/matrix-appservice-irc.nix
index d1c561f95db..70d45852398 100644
--- a/nixos/tests/matrix-appservice-irc.nix
+++ b/nixos/tests/matrix-appservice-irc.nix
@@ -20,6 +20,9 @@ import ./make-test-python.nix ({ pkgs, ... }:
 
               enable_registration = true;
 
+              # don't use this in production, always use some form of verification
+              enable_registration_without_verification = true;
+
               listeners = [ {
                 # The default but tls=false
                 bind_addresses = [
diff --git a/nixos/tests/nar-serve.nix b/nixos/tests/nar-serve.nix
index 9ee738ffb17..bb95ccb3691 100644
--- a/nixos/tests/nar-serve.nix
+++ b/nixos/tests/nar-serve.nix
@@ -31,7 +31,7 @@ import ./make-test-python.nix (
 
       # Create a fake cache with Nginx service the static files
       server.succeed(
-          "nix copy --to file:///var/www ${pkgs.hello}"
+          "nix --experimental-features nix-command copy --to file:///var/www ${pkgs.hello}"
       )
       server.wait_for_unit("nginx.service")
       server.wait_for_open_port(80)
diff --git a/nixos/tests/openssh.nix b/nixos/tests/openssh.nix
index 003813379e6..4083f5906d7 100644
--- a/nixos/tests/openssh.nix
+++ b/nixos/tests/openssh.nix
@@ -80,17 +80,21 @@ in {
 
         client.wait_for_unit("network.target")
         client.succeed(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2"
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2",
+            timeout=30
         )
         client.succeed(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024"
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024",
+            timeout=30
         )
 
         client.succeed(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'echo hello world' >&2"
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'echo hello world' >&2",
+            timeout=30
         )
         client.succeed(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'ulimit -l' | grep 1024"
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'ulimit -l' | grep 1024",
+            timeout=30
         )
 
     with subtest("configured-authkey"):
@@ -99,10 +103,12 @@ in {
         )
         client.succeed("chmod 600 privkey.snakeoil")
         client.succeed(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server true"
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server true",
+            timeout=30
         )
         client.succeed(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server_lazy true"
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server_lazy true",
+            timeout=30
         )
 
     with subtest("localhost-only"):
diff --git a/nixos/tests/pam/pam-oath-login.nix b/nixos/tests/pam/pam-oath-login.nix
index 8fb7553de90..c532e81e674 100644
--- a/nixos/tests/pam/pam-oath-login.nix
+++ b/nixos/tests/pam/pam-oath-login.nix
@@ -7,7 +7,7 @@ let
   # how many passwords have been made. In this env, we'll always be on
   # the 0th counter, so the password is static.
   #
-  # Generated in nix-shell -p oathToolkit
+  # Generated in nix-shell -p oath-toolkit
   # via: oathtool -v -d6 -w10 cdd4083ef8ff1fa9178c6d46bfb1a3
   # and picking a the first 4:
   oathSnakeOilPassword1 = "143349";
diff --git a/nixos/tests/pgadmin4.nix b/nixos/tests/pgadmin4.nix
index 2f6dc3bd569..b30299d307e 100644
--- a/nixos/tests/pgadmin4.nix
+++ b/nixos/tests/pgadmin4.nix
@@ -1,53 +1,27 @@
-import ./make-test-python.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, buildDeps ? [ ], pythonEnv ? [ ], ... }:
+
+  /*
+  This test suite replaces the typical pytestCheckHook function in python
+  packages. Pgadmin4 test suite needs a running and configured postgresql
+  server. This is why this test exists.
+
+  To not repeat all the python dependencies needed, this test is called directly
+  from the pgadmin4 derivation, which also passes the currently
+  used propagatedBuildInputs and any python overrides.
+
+  Unfortunately, there doesn't seem to be an easy way to otherwise include
+  the needed packages here.
+
+  Due the the needed parameters a direct call to "nixosTests.pgadmin4" fails
+  and needs to be called as "pgadmin4.tests"
+
+  */
 
   let
     pgadmin4SrcDir = "/pgadmin";
     pgadmin4Dir = "/var/lib/pgadmin";
     pgadmin4LogDir = "/var/log/pgadmin";
 
-    python-with-needed-packages = pkgs.python3.withPackages (ps: with ps; [
-      selenium
-      testtools
-      testscenarios
-      flask
-      flask-babelex
-      flask-babel
-      flask-gravatar
-      flask_login
-      flask_mail
-      flask_migrate
-      flask_sqlalchemy
-      flask_wtf
-      flask-compress
-      passlib
-      pytz
-      simplejson
-      six
-      sqlparse
-      wtforms
-      flask-paranoid
-      psutil
-      psycopg2
-      python-dateutil
-      sqlalchemy
-      itsdangerous
-      flask-security-too
-      bcrypt
-      cryptography
-      sshtunnel
-      ldap3
-      gssapi
-      flask-socketio
-      eventlet
-      httpagentparser
-      user-agents
-      wheel
-      authlib
-      qrcode
-      pillow
-      pyotp
-      boto3
-    ]);
   in
   {
     name = "pgadmin4";
@@ -55,12 +29,27 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
 
     nodes.machine = { pkgs, ... }: {
       imports = [ ./common/x11.nix ];
+      # needed because pgadmin 6.8 will fail, if those dependencies get updated
+      nixpkgs.overlays = [
+        (self: super: {
+          pythonPackages = pythonEnv;
+        })
+      ];
+
       environment.systemPackages = with pkgs; [
         pgadmin4
         postgresql
-        python-with-needed-packages
         chromedriver
         chromium
+        # include the same packages as in pgadmin minus speaklater3
+        (python3.withPackages
+          (ps: buildDeps ++
+            [
+              # test suite package requirements
+              pythonPackages.testscenarios
+              pythonPackages.selenium
+            ])
+        )
       ];
       services.postgresql = {
         enable = true;
@@ -121,7 +110,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
       with subtest("run browser test"):
           machine.succeed(
                'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
-               && ${python-with-needed-packages.interpreter} regression/runtests.py --pkg browser --exclude \
+               && python regression/runtests.py --pkg browser --exclude \
                browser.tests.test_ldap_login.LDAPLoginTestCase,browser.tests.test_ldap_login'
           )
 
@@ -131,13 +120,13 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
           machine.succeed(
               'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
                && export FONTCONFIG_FILE=${pkgs.makeFontsConf { fontDirectories = [];}} \
-               && ${python-with-needed-packages.interpreter} regression/runtests.py --pkg feature_tests'
+               && python regression/runtests.py --pkg feature_tests'
           )
 
       with subtest("run resql test"):
           machine.succeed(
                'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
-               && ${python-with-needed-packages.interpreter} regression/runtests.py --pkg resql'
+               && python regression/runtests.py --pkg resql'
           )
     '';
   })
diff --git a/nixos/tests/step-ca.nix b/nixos/tests/step-ca.nix
index f21bd536626..a855b590232 100644
--- a/nixos/tests/step-ca.nix
+++ b/nixos/tests/step-ca.nix
@@ -9,6 +9,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
     '';
   in
   {
+    name = "step-ca";
     nodes =
       {
         caserver =
diff --git a/nixos/tests/systemd-initrd-btrfs-raid.nix b/nixos/tests/systemd-initrd-btrfs-raid.nix
new file mode 100644
index 00000000000..40fd2d4dc61
--- /dev/null
+++ b/nixos/tests/systemd-initrd-btrfs-raid.nix
@@ -0,0 +1,45 @@
+import ./make-test-python.nix ({ lib, pkgs, ... }: {
+  name = "systemd-initrd-btrfs-raid";
+
+  nodes.machine = { pkgs, ... }: {
+    # Use systemd-boot
+    virtualisation = {
+      emptyDiskImages = [ 512 512 ];
+      useBootLoader = true;
+      useEFIBoot = true;
+    };
+    boot.loader.systemd-boot.enable = true;
+    boot.loader.efi.canTouchEfiVariables = true;
+
+    environment.systemPackages = with pkgs; [ btrfs-progs ];
+    boot.initrd.systemd = {
+      enable = true;
+      emergencyAccess = true;
+    };
+
+    specialisation.boot-btrfs-raid.configuration = {
+      fileSystems = lib.mkVMOverride {
+        "/".fsType = lib.mkForce "btrfs";
+      };
+      virtualisation.bootDevice = "/dev/vdc";
+    };
+  };
+
+  testScript = ''
+    # Create RAID
+    machine.succeed("mkfs.btrfs -d raid0 /dev/vdc /dev/vdd")
+    machine.succeed("mkdir -p /mnt && mount /dev/vdc /mnt && echo hello > /mnt/test && umount /mnt")
+
+    # Boot from the RAID
+    machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-btrfs-raid.conf")
+    machine.succeed("sync")
+    machine.crash()
+    machine.wait_for_unit("multi-user.target")
+
+    # Ensure we have successfully booted from the RAID
+    assert "(initrd)" in machine.succeed("systemd-analyze")  # booted with systemd in stage 1
+    assert "/dev/vdc on / type btrfs" in machine.succeed("mount")
+    assert "hello" in machine.succeed("cat /test")
+    assert "Total devices 2" in machine.succeed("btrfs filesystem show")
+  '';
+})
diff --git a/nixos/tests/systemd-initrd-luks-keyfile.nix b/nixos/tests/systemd-initrd-luks-keyfile.nix
new file mode 100644
index 00000000000..25c0c5bd866
--- /dev/null
+++ b/nixos/tests/systemd-initrd-luks-keyfile.nix
@@ -0,0 +1,53 @@
+import ./make-test-python.nix ({ lib, pkgs, ... }: let
+
+  keyfile = pkgs.writeText "luks-keyfile" ''
+    MIGHAoGBAJ4rGTSo/ldyjQypd0kuS7k2OSsmQYzMH6TNj3nQ/vIUjDn7fqa3slt2
+    gV6EK3TmTbGc4tzC1v4SWx2m+2Bjdtn4Fs4wiBwn1lbRdC6i5ZYCqasTWIntWn+6
+    FllUkMD5oqjOR/YcboxG8Z3B5sJuvTP9llsF+gnuveWih9dpbBr7AgEC
+  '';
+
+in {
+  name = "systemd-initrd-luks-keyfile";
+
+  nodes.machine = { pkgs, ... }: {
+    # Use systemd-boot
+    virtualisation = {
+      emptyDiskImages = [ 512 ];
+      useBootLoader = true;
+      useEFIBoot = true;
+    };
+    boot.loader.systemd-boot.enable = true;
+
+    environment.systemPackages = with pkgs; [ cryptsetup ];
+    boot.initrd.systemd = {
+      enable = true;
+      emergencyAccess = true;
+    };
+
+    specialisation.boot-luks.configuration = {
+      boot.initrd.luks.devices = lib.mkVMOverride {
+        cryptroot = {
+          device = "/dev/vdc";
+          keyFile = "/etc/cryptroot.key";
+        };
+      };
+      virtualisation.bootDevice = "/dev/mapper/cryptroot";
+      boot.initrd.secrets."/etc/cryptroot.key" = keyfile;
+    };
+  };
+
+  testScript = ''
+    # Create encrypted volume
+    machine.wait_for_unit("multi-user.target")
+    machine.succeed("cryptsetup luksFormat -q --iter-time=1 -d ${keyfile} /dev/vdc")
+
+    # Boot from the encrypted disk
+    machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf")
+    machine.succeed("sync")
+    machine.crash()
+
+    # Boot and decrypt the disk
+    machine.wait_for_unit("multi-user.target")
+    assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount")
+  '';
+})
diff --git a/nixos/tests/systemd-initrd-luks-password.nix b/nixos/tests/systemd-initrd-luks-password.nix
new file mode 100644
index 00000000000..e8e651f7b35
--- /dev/null
+++ b/nixos/tests/systemd-initrd-luks-password.nix
@@ -0,0 +1,48 @@
+import ./make-test-python.nix ({ lib, pkgs, ... }: {
+  name = "systemd-initrd-luks-password";
+
+  nodes.machine = { pkgs, ... }: {
+    # Use systemd-boot
+    virtualisation = {
+      emptyDiskImages = [ 512 512 ];
+      useBootLoader = true;
+      useEFIBoot = true;
+    };
+    boot.loader.systemd-boot.enable = true;
+
+    environment.systemPackages = with pkgs; [ cryptsetup ];
+    boot.initrd.systemd = {
+      enable = true;
+      emergencyAccess = true;
+    };
+
+    specialisation.boot-luks.configuration = {
+      boot.initrd.luks.devices = lib.mkVMOverride {
+        # We have two disks and only type one password - key reuse is in place
+        cryptroot.device = "/dev/vdc";
+        cryptroot2.device = "/dev/vdd";
+      };
+      virtualisation.bootDevice = "/dev/mapper/cryptroot";
+    };
+  };
+
+  testScript = ''
+    # Create encrypted volume
+    machine.wait_for_unit("multi-user.target")
+    machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdc -")
+    machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdd -")
+
+    # Boot from the encrypted disk
+    machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf")
+    machine.succeed("sync")
+    machine.crash()
+
+    # Boot and decrypt the disk
+    machine.start()
+    machine.wait_for_console_text("Please enter passphrase for disk cryptroot")
+    machine.send_console("supersecret\n")
+    machine.wait_for_unit("multi-user.target")
+
+    assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount")
+  '';
+})
diff --git a/nixos/tests/systemd-initrd-simple.nix b/nixos/tests/systemd-initrd-simple.nix
index 959cc87c0f2..5d98114304b 100644
--- a/nixos/tests/systemd-initrd-simple.nix
+++ b/nixos/tests/systemd-initrd-simple.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ lib, pkgs, ... }: {
   name = "systemd-initrd-simple";
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     boot.initrd.systemd = {
       enable = true;
       emergencyAccess = true;
diff --git a/nixos/tests/systemd-shutdown.nix b/nixos/tests/systemd-shutdown.nix
index 9283489c255..688cd6dd2c1 100644
--- a/nixos/tests/systemd-shutdown.nix
+++ b/nixos/tests/systemd-shutdown.nix
@@ -1,4 +1,6 @@
-import ./make-test-python.nix ({ pkgs, systemdStage1 ? false, ...} : {
+import ./make-test-python.nix ({ pkgs, systemdStage1 ? false, ...} : let
+  msg = "Shutting down NixOS";
+in {
   name = "systemd-shutdown";
   meta = with pkgs.lib.maintainers; {
     maintainers = [ das_j ];
@@ -6,7 +8,9 @@ import ./make-test-python.nix ({ pkgs, systemdStage1 ? false, ...} : {
 
   nodes.machine = {
     imports = [ ../modules/profiles/minimal.nix ];
-    boot.initrd.systemd.enable = systemdStage1;
+    systemd.shutdownRamfs.contents."/etc/systemd/system-shutdown/shutdown-message".source = pkgs.writeShellScript "shutdown-message" ''
+      echo "${msg}"
+    '';
   };
 
   testScript = ''
@@ -14,7 +18,8 @@ import ./make-test-python.nix ({ pkgs, systemdStage1 ? false, ...} : {
     # .shutdown() would wait for the machine to power off
     machine.succeed("systemctl poweroff")
     # Message printed by systemd-shutdown
-    machine.wait_for_console_text("All filesystems, swaps, loop devices, MD devices and DM devices detached.")
+    machine.wait_for_console_text("Unmounting '/oldroot'")
+    machine.wait_for_console_text("${msg}")
     # Don't try to sync filesystems
     machine.booted = False
   '';
diff --git a/nixos/tests/web-apps/peertube.nix b/nixos/tests/web-apps/peertube.nix
index 706c598338e..d42b4e3d677 100644
--- a/nixos/tests/web-apps/peertube.nix
+++ b/nixos/tests/web-apps/peertube.nix
@@ -30,10 +30,11 @@ import ../make-test-python.nix ({pkgs, ...}:
         '';
       };
 
-      services.redis = {
+      services.redis.servers.peertube = {
         enable = true;
         bind = "0.0.0.0";
         requirePass = "turrQfaQwnanGbcsdhxy";
+        port = 6379;
       };
     };
 
@@ -109,7 +110,7 @@ import ../make-test-python.nix ({pkgs, ...}:
     start_all()
 
     database.wait_for_unit("postgresql.service")
-    database.wait_for_unit("redis.service")
+    database.wait_for_unit("redis-peertube.service")
 
     database.wait_for_open_port(5432)
     database.wait_for_open_port(6379)
diff --git a/nixos/tests/xmpp/xmpp-sendmessage.nix b/nixos/tests/xmpp/xmpp-sendmessage.nix
index 47a77f524c6..80dfcff2d0e 100644
--- a/nixos/tests/xmpp/xmpp-sendmessage.nix
+++ b/nixos/tests/xmpp/xmpp-sendmessage.nix
@@ -51,11 +51,8 @@ class CthonTest(ClientXMPP):
         log.info('Message sent')
 
         # Test http upload (XEP_0363)
-        def timeout_callback(arg):
-            log.error("ERROR: Cannot upload file. XEP_0363 seems broken")
-            sys.exit(1)
         try:
-            url = await self['xep_0363'].upload_file("${dummyFile}",timeout=10, timeout_callback=timeout_callback)
+            url = await self['xep_0363'].upload_file("${dummyFile}",timeout=10)
         except:
             log.error("ERROR: Cannot run upload command. XEP_0363 seems broken")
             sys.exit(1)
diff --git a/pkgs/applications/accessibility/espeakup/default.nix b/pkgs/applications/accessibility/espeakup/default.nix
new file mode 100644
index 00000000000..00f432ff413
--- /dev/null
+++ b/pkgs/applications/accessibility/espeakup/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, lib
+, meson
+, ninja
+, espeak-ng
+, fetchFromGitHub
+, pkg-config
+, ronn
+, alsa-lib
+, systemd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "espeakup";
+  version = "0.90";
+
+  src = fetchFromGitHub {
+    owner = "linux-speakup";
+    repo = "espeakup";
+    rev = "v${version}";
+    sha256 = "0lmjwafvfxy07zn18v3dzjwwpnid2xffgvy2dzlwkbns8gb60ds2";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    ronn
+  ];
+
+  buildInputs = [
+    espeak-ng
+    alsa-lib
+    systemd
+  ];
+
+  PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
+
+  meta = with lib; {
+    homepage = "https://github.com/linux-speakup/espeakup";
+    description = "Lightweight connector for espeak-ng and speakup";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ethindp ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/accessibility/wvkbd/default.nix b/pkgs/applications/accessibility/wvkbd/default.nix
new file mode 100644
index 00000000000..a593b0d2ea2
--- /dev/null
+++ b/pkgs/applications/accessibility/wvkbd/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, wayland-scanner
+, wayland
+, pango
+, glib
+, harfbuzz
+, cairo
+, pkg-config
+, libxkbcommon
+}:
+
+stdenv.mkDerivation rec {
+  pname = "wvkbd";
+  version = "0.7";
+
+  src = fetchFromGitHub {
+    owner = "jjsullivan5196";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-5UV2PMrLXtF3AxjfPxxwFRkgVef+Ap8nG1v795o0bWE=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ wayland-scanner wayland pango glib harfbuzz cairo libxkbcommon ];
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/jjsullivan5196/wvkbd";
+    description = "On-screen keyboard for wlroots";
+    maintainers = [ maintainers.elohmeier ];
+    platforms = platforms.linux;
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/applications/audio/ChowPhaser/default.nix b/pkgs/applications/audio/ChowPhaser/default.nix
new file mode 100644
index 00000000000..a828a1e1d04
--- /dev/null
+++ b/pkgs/applications/audio/ChowPhaser/default.nix
@@ -0,0 +1,76 @@
+{ alsa-lib, at-spi2-core, cmake, curl, dbus, libepoxy, fetchFromGitHub, freeglut
+, freetype, gcc-unwrapped, gtk3, lib, libGL, libXcursor, libXdmcp, libXext
+, libXinerama, libXrandr, libXtst, libdatrie, libjack2, libpsl, libselinux
+, libsepol, libsysprof-capture, libthai, libxkbcommon, pcre, pkg-config
+, python3, sqlite, stdenv }:
+
+stdenv.mkDerivation rec {
+  pname = "ChowPhaser";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "jatinchowdhury18";
+    repo = "ChowPhaser";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "sha256-9wo7ZFMruG3QNvlpILSvrFh/Sx6J1qnlWc8+aQyS4tQ=";
+  };
+
+  nativeBuildInputs = [ pkg-config cmake ];
+
+  buildInputs = [
+    alsa-lib
+    at-spi2-core
+    curl
+    dbus
+    libepoxy
+    freeglut
+    freetype
+    gtk3
+    libGL
+    libXcursor
+    libXdmcp
+    libXext
+    libXinerama
+    libXrandr
+    libXtst
+    libdatrie
+    libjack2
+    libpsl
+    libselinux
+    libsepol
+    libsysprof-capture
+    libthai
+    libxkbcommon
+    pcre
+    python3
+    sqlite
+    gcc-unwrapped
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar"
+    "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib"
+    "-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm"
+  ];
+
+  installPhase = ''
+    mkdir -p $out/lib/lv2 $out/lib/vst3 $out/bin $out/share/doc/ChowPhaser/
+    cd ChowPhaserMono_artefacts/Release
+    cp libChowPhaserMono_SharedCode.a  $out/lib
+    cp -r VST3/ChowPhaserMono.vst3 $out/lib/vst3
+    cp Standalone/ChowPhaserMono  $out/bin
+    cd ../../ChowPhaserStereo_artefacts/Release
+    cp libChowPhaserStereo_SharedCode.a  $out/lib
+    cp -r VST3/ChowPhaserStereo.vst3 $out/lib/vst3
+    cp Standalone/ChowPhaserStereo  $out/bin
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/jatinchowdhury18/ChowPhaser";
+    description = "Phaser effect based loosely on the Schulte Compact Phasing 'A'";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ magnetophon ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/LibreArp/default.nix b/pkgs/applications/audio/LibreArp/default.nix
new file mode 100644
index 00000000000..2374059e95a
--- /dev/null
+++ b/pkgs/applications/audio/LibreArp/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, lib, fetchFromGitLab, cmake, pkg-config, cairo, libxkbcommon
+, xcbutilcursor, xcbutilkeysyms, xcbutil, libXrandr, libXinerama, libXcursor
+, alsa-lib, libjack2, lv2, gcc-unwrapped, curl}:
+
+stdenv.mkDerivation rec {
+  pname = "LibreArp";
+  version = "2.2";
+
+  src = fetchFromGitLab {
+    owner = "LibreArp";
+    repo = "LibreArp";
+    rev = version;
+    hash = "sha256-jCUT/sflO9L57xRTqNR90RbwJ0uZ+xJVXnB3n+FhWBo=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [
+    cairo
+    libxkbcommon
+    xcbutilcursor
+    xcbutilkeysyms
+    xcbutil
+    libXrandr
+    libXinerama
+    libXcursor
+    alsa-lib
+    libjack2
+    lv2
+    curl
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar"
+    "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib"
+    "-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm"
+  ];
+
+  installPhase = ''
+    mkdir -p $out/lib/vst3
+    cd LibreArp_artefacts/Release
+    cp -r VST3/LibreArp.vst3 $out/lib/vst3
+  '';
+
+  meta = with lib; {
+    description =
+      "A pattern-based arpeggio generator plugin.";
+    homepage = "https://librearp.gitlab.io/";
+    license = licenses.gpl3Plus;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ magnetophon ];
+  };
+}
diff --git a/pkgs/applications/audio/LibreArp/lv2.nix b/pkgs/applications/audio/LibreArp/lv2.nix
new file mode 100644
index 00000000000..ce70fd112f2
--- /dev/null
+++ b/pkgs/applications/audio/LibreArp/lv2.nix
@@ -0,0 +1,53 @@
+{ stdenv, lib, fetchFromGitLab, cmake, pkg-config, cairo, libxkbcommon
+, xcbutilcursor, xcbutilkeysyms, xcbutil, libXrandr, libXinerama, libXcursor
+, alsa-lib, libjack2, lv2, gcc-unwrapped, curl}:
+
+stdenv.mkDerivation rec {
+  pname = "LibreArp-lv2";
+  version = "2.2";
+
+  src = fetchFromGitLab {
+    owner = "LibreArp";
+    repo = "LibreArp";
+    rev = "${version}-lv2";
+    hash = "sha256-j5SksuhC4ZXXILfOpwXNqIu5fO07a/6tiZ5qUo+p0Ug=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [
+    cairo
+    libxkbcommon
+    xcbutilcursor
+    xcbutilkeysyms
+    xcbutil
+    libXrandr
+    libXinerama
+    libXcursor
+    alsa-lib
+    libjack2
+    lv2
+    curl
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar"
+    "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib"
+    "-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm"
+  ];
+
+  installPhase = ''
+    mkdir -p $out/lib/lv2
+    cd LibreArp_artefacts/Release
+    cp -r LV2/LibreArp.lv2 $out/lib/lv2
+  '';
+
+  meta = with lib; {
+    description =
+      "A pattern-based arpeggio generator plugin.";
+    homepage = "https://librearp.gitlab.io/";
+    license = licenses.gpl3Plus;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ magnetophon ];
+  };
+}
diff --git a/pkgs/applications/audio/amberol/default.nix b/pkgs/applications/audio/amberol/default.nix
new file mode 100644
index 00000000000..f1da043d598
--- /dev/null
+++ b/pkgs/applications/audio/amberol/default.nix
@@ -0,0 +1,75 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, rustPlatform
+, desktop-file-utils
+, appstream-glib
+, meson
+, ninja
+, pkg-config
+, reuse
+, wrapGAppsHook4
+, glib
+, gtk4
+, gst_all_1
+, libadwaita
+, dbus
+}:
+
+stdenv.mkDerivation rec {
+  pname = "amberol";
+  version = "0.4.3";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "World";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-4yW7rVlP9Zskyt4l/VQoX+9q3TUdEuLZrNQuQvziIf4=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    sha256 = "sha256-1ahEWLBmkT+B8qD0Qd1skXqk1wvP6yuFNAQBRdispC4=";
+  };
+
+  postPatch = ''
+    patchShebangs build-aux
+  '';
+
+  nativeBuildInputs = [
+    appstream-glib
+    desktop-file-utils
+    meson
+    ninja
+    pkg-config
+    reuse
+    wrapGAppsHook4
+  ] ++ (with rustPlatform; [
+    cargoSetupHook
+    rust.cargo
+    rust.rustc
+  ]);
+
+  buildInputs = [
+    glib
+    gtk4
+    libadwaita
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-plugins-ugly
+    gst_all_1.gst-libav
+    dbus
+  ];
+
+  meta = with lib; {
+    homepage = "https://gitlab.gnome.org/ebassi/amberol";
+    description = "A small and simple sound and music player";
+    maintainers = with maintainers; [ linsui ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/audio-recorder/default.nix b/pkgs/applications/audio/audio-recorder/default.nix
index 6a4abbbdf53..bb89cb45672 100644
--- a/pkgs/applications/audio/audio-recorder/default.nix
+++ b/pkgs/applications/audio/audio-recorder/default.nix
@@ -2,7 +2,7 @@
 , pkg-config, intltool
 , glib, dbus, gtk3, libappindicator-gtk3, gst_all_1
 , librsvg, wrapGAppsHook
-, pulseaudioSupport ? true, libpulseaudio ? null }:
+, pulseaudioSupport ? true, libpulseaudio }:
 
 stdenv.mkDerivation rec {
   pname = "audio-recorder";
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
index 10cbbeb21de..2f177c2f8c6 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwig-studio";
-  version = "4.2.2";
+  version = "4.2.3";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
-    sha256 = "sha256-cpEV0EWW9vd2ZE+RaqN9fhyy7axgPlx4PmlOeX3TSfY=";
+    sha256 = "sha256-UCafrjrEwwHkhPum7sTOjtXzy7PNeK5/aeKg+b3CGJU=";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
diff --git a/pkgs/applications/audio/cardinal/default.nix b/pkgs/applications/audio/cardinal/default.nix
index 1e77ade6cdb..a1db5bb275b 100644
--- a/pkgs/applications/audio/cardinal/default.nix
+++ b/pkgs/applications/audio/cardinal/default.nix
@@ -23,23 +23,14 @@
 
 stdenv.mkDerivation rec {
   pname = "cardinal";
-  version = "22.02";
+  version = "22.04";
 
   src = fetchurl {
     url =
       "https://github.com/DISTRHO/Cardinal/releases/download/${version}/cardinal-${version}.tar.xz";
-    sha256 = "sha256-IVlAROFGFffTEU00NCmv74w1DRb7dNMp20FeBVoDrdM=";
+    sha256 = "sha256-7As4CckwByrTynOOpwAXa1R9Bpp/ft537f+PvAgz/BE=";
   };
 
-  patches = [
-    # see https://github.com/DISTRHO/Cardinal/issues/151#issuecomment-1041886260
-    (fetchpatch {
-      url =
-        "https://github.com/DISTRHO/Cardinal/commit/13e9ef37c5dd35d77a54b1cb006767be7a72ac69.patch";
-      sha256 = "sha256-NYUYLbLeBX1WEzjPi0s/T1N+EXQKyi0ifbPxgBYDjRs=";
-    })
-  ];
-
   prePatch = ''
     patchShebangs ./dpf/utils/generate-ttl.sh
   '';
diff --git a/pkgs/applications/audio/carla/default.nix b/pkgs/applications/audio/carla/default.nix
index bebc0320bb0..9e4e6a2880d 100644
--- a/pkgs/applications/audio/carla/default.nix
+++ b/pkgs/applications/audio/carla/default.nix
@@ -15,13 +15,13 @@ assert withGtk3 -> gtk3 != null;
 
 stdenv.mkDerivation rec {
   pname = "carla";
-  version = "2.4.2";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "falkTX";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-A0QmyphjsNU06kh2f9rXrR+GkDEI5HqXRA9J82E6qJU=";
+    sha256 = "sha256-FAQTIM5NpcOhLNMf62qiKaxg6QtK5uIJF/XT6KJVnUc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/caudec/default.nix b/pkgs/applications/audio/caudec/default.nix
index a595f285c68..8b76425f687 100644
--- a/pkgs/applications/audio/caudec/default.nix
+++ b/pkgs/applications/audio/caudec/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, makeWrapper, bash, bc, findutils, flac, lame, opusTools, procps, sox }:
+{ lib, stdenv, fetchurl, makeWrapper, bc, findutils, flac, lame, opusTools, procps, sox }:
 
 stdenv.mkDerivation rec {
   pname = "caudec";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     patchShebangs ./install.sh
   '';
 
-  nativeBuildInputs = [ bash makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     ./install.sh --prefix=$out/bin
diff --git a/pkgs/applications/audio/cider/default.nix b/pkgs/applications/audio/cider/default.nix
index edab6d109ef..bb59a6d498c 100644
--- a/pkgs/applications/audio/cider/default.nix
+++ b/pkgs/applications/audio/cider/default.nix
@@ -2,11 +2,11 @@
 
 appimageTools.wrapType2 rec {
   pname = "cider";
-  version = "1.3.1308";
+  version = "1.4.1.1680";
 
   src = fetchurl {
-    url = "https://1308-429851205-gh.circle-artifacts.com/0/%7E/Cider/dist/artifacts/Cider-${version}.AppImage";
-    sha256 = "1lbyvn1c8155p039qfzx7jwad7km073phkmrzjm0w3ahdpwz3wgi";
+    url = "https://github.com/ciderapp/cider-releases/releases/download/v${version}/Cider-${builtins.concatStringsSep "." (lib.take 3 (lib.splitVersion version))}-alpha.${builtins.elemAt (lib.splitVersion version) 3}.AppImage";
+    sha256 = "sha256-hEv+vfMMH+Trwa1UF5R8EtyYeyiRVLP0BrXOK2+1q8M=";
   };
 
   extraInstallCommands =
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix
index 550100574db..3c9e35c8726 100644
--- a/pkgs/applications/audio/clementine/default.nix
+++ b/pkgs/applications/audio/clementine/default.nix
@@ -51,24 +51,17 @@ let
   withCD = config.clementine.cd or true;
   withCloud = config.clementine.cloud or true;
 
-  # On the update after all 1.4rc, qt5.15 and protobuf 3.15 will be supported.
-  version = "1.4.0rc1";
+  version = "unstable-2022-04-11";
 
   src = fetchFromGitHub {
     owner = "clementine-player";
     repo = "Clementine";
-    rev = version;
-    sha256 = "1rqk0hrsn8f8bjk0j0vq1af0ygy6xx7qi9fw0jjw2cmj6kzckyi2";
+    rev = "250024e117fbe5fae7c62b9c8e655d66412a6ed7";
+    sha256 = "06fcbs3wig3mh711iypyj49qm5246f7qhvgvv8brqfrd8cqyh6qf";
   };
 
   patches = [
     ./clementine-spotify-blob.patch
-    (fetchpatch {
-      # "short-term" fix for execution on wayland (1.4.0rc1-131-g2179027a6)
-      # for https://github.com/clementine-player/Clementine/issues/6587
-      url = "https://github.com/clementine-player/Clementine/commit/2179027a6d97530c857e43be873baacd696ff332.patch";
-      sha256 = "0344bfcyvjim5ph8w4km6zkg96rj5g9ybp9x14qgyw2gkdksimn6";
-    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/denemo/default.nix b/pkgs/applications/audio/denemo/default.nix
index 3a2dbd139d7..7e27bf78370 100644
--- a/pkgs/applications/audio/denemo/default.nix
+++ b/pkgs/applications/audio/denemo/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "denemo";
-  version = "2.5.0";
+  version = "2.6.0";
 
   src = fetchurl {
     url = "https://ftp.gnu.org/gnu/denemo/denemo-${version}.tar.gz";
-    sha256 = "sha256-B6GbBL/o/z0emT+Iw6XvWmAsJCmIwSGCyV1DkhDyfBY=";
+    sha256 = "sha256-S+WXDGmEf5fx+HYnXJdE5QNOfJg7EqEEX7IMI2SUtV0=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix
index 0309031cf78..2ad98d3d6d8 100644
--- a/pkgs/applications/audio/faust/faust2.nix
+++ b/pkgs/applications/audio/faust/faust2.nix
@@ -20,13 +20,13 @@ with lib.strings;
 
 let
 
-  version = "2.37.3";
+  version = "2.40.0";
 
   src = fetchFromGitHub {
     owner = "grame-cncm";
     repo = "faust";
     rev = version;
-    sha256 = "sha256-Jzauw8+vBjtbK73Bh4huhX1ql1cWmh80EzEET3x03rc=";
+    sha256 = "sha256-IsrLaoMDwrDPxtqCXIy/7tZCdogTUkJ00obSco9SR/A=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/faust/faustlive.nix b/pkgs/applications/audio/faust/faustlive.nix
index 46d63c84314..38d3bafdea6 100644
--- a/pkgs/applications/audio/faust/faustlive.nix
+++ b/pkgs/applications/audio/faust/faustlive.nix
@@ -1,37 +1,34 @@
 { lib, stdenv, fetchFromGitHub
 , llvm_10, qt5, qrencode, libmicrohttpd, libjack2, alsa-lib, faust, curl
-, bc, coreutils, which, libsndfile, pkg-config, libxcb
+, bc, coreutils, which, libsndfile, flac, libogg, libvorbis, libopus, pkg-config, libxcb, cmake, gnutls, libtasn1, p11-kit
 }:
 
 stdenv.mkDerivation rec {
   pname = "faustlive";
-  version = "2.5.5";
+  version = "2.5.8";
   src = fetchFromGitHub {
     owner = "grame-cncm";
     repo = "faustlive";
     rev = version;
-    sha256 = "0qbn05nq170ckycwalkk5fppklc4g457mapr7p7ryrhc1hwzffm9";
+    sha256 = "sha256-dt5YlvaCZ6JiNGPwVXPrKzVGWxnhdyP4lnKgck7ZSF8=";
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ pkg-config qt5.wrapQtAppsHook ];
+  nativeBuildInputs = [ pkg-config qt5.wrapQtAppsHook cmake ];
 
   buildInputs = [
     llvm_10 qt5.qtbase qrencode libmicrohttpd libjack2 alsa-lib faust curl
-    bc coreutils which libsndfile libxcb
+    bc coreutils which libsndfile flac libogg libvorbis libopus libxcb gnutls libtasn1 p11-kit
   ];
 
   makeFlags = [ "PREFIX=$(out)" ];
 
-  postPatch = "cd Build";
-
-  installPhase = ''
-    install -d "$out/bin"
-    install -d "$out/share/applications"
-    install FaustLive/FaustLive "$out/bin"
-    install rsrc/FaustLive.desktop "$out/share/applications"
+  postInstall = ''
+    wrapProgram $out/bin/FaustLive --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libmicrohttpd libsndfile faust llvm_10 ]}"
   '';
 
+  postPatch = "cd Build";
+
   meta = with lib; {
     description = "A standalone just-in-time Faust compiler";
     longDescription = ''
diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix
index ad57b6a690f..828c415ac5f 100644
--- a/pkgs/applications/audio/fluidsynth/default.nix
+++ b/pkgs/applications/audio/fluidsynth/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fluidsynth";
-  version = "2.2.3";
+  version = "2.2.5";
 
   src = fetchFromGitHub {
     owner = "FluidSynth";
     repo = "fluidsynth";
     rev = "v${version}";
-    sha256 = "0x5808d03ym23np17nl8gfbkx3c4y3d7jyyr2222wn2prswbb6x3";
+    sha256 = "sha256-aR8TLxl6OziP+DMSNro0DB/UtvzXDeDYQ3o/iy70XD4=";
   };
 
   nativeBuildInputs = [ buildPackages.stdenv.cc pkg-config cmake ];
diff --git a/pkgs/applications/audio/furnace/default.nix b/pkgs/applications/audio/furnace/default.nix
index 841a65e541f..115c5b7767d 100644
--- a/pkgs/applications/audio/furnace/default.nix
+++ b/pkgs/applications/audio/furnace/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , lib
 , gitUpdater
-, testVersion
+, testers
 , furnace
 , fetchFromGitHub
 , cmake
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
       inherit pname version;
       rev-prefix = "v";
     };
-    tests.version = testVersion {
+    tests.version = testers.testVersion {
       package = furnace;
       # The command always exits with code 1
       command = "(furnace --version || [ $? -eq 1 ])";
diff --git a/pkgs/applications/audio/greg/default.nix b/pkgs/applications/audio/greg/default.nix
index 95f3bf9988c..2193447c02c 100644
--- a/pkgs/applications/audio/greg/default.nix
+++ b/pkgs/applications/audio/greg/default.nix
@@ -2,15 +2,15 @@
 
 with pythonPackages; buildPythonApplication rec {
   pname = "greg";
-  version = "0.4.7";
+  version = "0.4.8";
 
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "manolomartinez";
     repo = pname;
-    rev = "v" + version;
-    sha256 = "0bdzgh2k1ppgcvqiasxwp3w89q44s4jgwjidlips3ixx1bzm822v";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-o4+tXVJTgT52JyJOC+Glr2cvZjbTaZL8TIsmz+A4vE4=";
   };
 
   propagatedBuildInputs = [ setuptools feedparser ];
diff --git a/pkgs/applications/audio/gspeech/default.nix b/pkgs/applications/audio/gspeech/default.nix
index 21a4d6748be..a48aa22809b 100644
--- a/pkgs/applications/audio/gspeech/default.nix
+++ b/pkgs/applications/audio/gspeech/default.nix
@@ -20,13 +20,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gSpeech";
-  version = "0.10.1";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "mothsart";
     repo = pname;
     rev = version;
-    sha256 = "1i0jwgxcn94nsi7c0ad0w77y04g04ka2szijzfqzqfnacdmdyrfc";
+    sha256 = "0z11yxvgi8m2xjmmf56zla91jpmf0a4imwi9qqz6bp51pw4sk8gp";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix
index b6ce0daef0d..724280fbcdd 100644
--- a/pkgs/applications/audio/guitarix/default.nix
+++ b/pkgs/applications/audio/guitarix/default.nix
@@ -108,6 +108,8 @@ stdenv.mkDerivation rec {
     "--install-roboto-font"
   ] ++ optional optimizationSupport "--optimization";
 
+  NIX_CFLAGS_COMPILE = [ "-fpermissive" ];
+
   meta = with lib; {
     description = "A virtual guitar amplifier for Linux running with JACK";
     longDescription = ''
diff --git a/pkgs/applications/audio/jamesdsp/default.nix b/pkgs/applications/audio/jamesdsp/default.nix
index 61f8907f99c..944d40cd3ef 100644
--- a/pkgs/applications/audio/jamesdsp/default.nix
+++ b/pkgs/applications/audio/jamesdsp/default.nix
@@ -40,6 +40,11 @@ in
       url = "https://github.com/Audio4Linux/JDSP4Linux/commit/003c9e9fc426f83e269aed6e05be3ed55273931a.patch";
       hash = "sha256-crll/a7C9pUq9eL5diq8/YgC5bNC6SrdijZEBxZpJ8E=";
     })
+    # compatibility fix for PipeWire 0.3.44+, remove on version bump
+    (fetchpatch {
+      url = "https://github.com/Audio4Linux/JDSP4Linux/commit/e04c55735cc20fc3c3ce042c5681ec80f7df3c96.patch";
+      hash = "sha256-o6AUtQzugykALSdkM3i3lYqRmzJX3FzmALSi0TrWuRA=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/mopidy/mopidy.nix b/pkgs/applications/audio/mopidy/mopidy.nix
index 5dc6af60c23..09d5e83567a 100644
--- a/pkgs/applications/audio/mopidy/mopidy.nix
+++ b/pkgs/applications/audio/mopidy/mopidy.nix
@@ -4,13 +4,13 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "mopidy";
     repo = "mopidy";
-    rev = "v${version}";
-    sha256 = "1l1rya48ykiq156spm8pfsm6li8apz66ppz7gs4s91fv7g7l5x2f";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-F0fIl9DrludZZdzsrl/xsp7TLMgTPbVGtGvMHyD52Yw=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/applications/audio/musikcube/default.nix b/pkgs/applications/audio/musikcube/default.nix
index bf34e8cbe5b..ce51206b12d 100644
--- a/pkgs/applications/audio/musikcube/default.nix
+++ b/pkgs/applications/audio/musikcube/default.nix
@@ -6,6 +6,7 @@
 , fetchFromGitHub
 , fetchpatch
 , ffmpeg
+, gnutls
 , lame
 , libev
 , libmicrohttpd
@@ -20,17 +21,17 @@
 
 stdenv.mkDerivation rec {
   pname = "musikcube";
-  version = "0.96.10";
+  version = "0.97.0";
 
   src = fetchFromGitHub {
     owner = "clangen";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Aa52pRGq99Pt++aEVZdmVNhhQuBajgfZp39L1AfKvho=";
+    sha256 = "sha256-W9Ng1kqai5qhaDs5KWg/1sOTIAalBXLng1MG8sl/ZOg=";
   };
 
   patches = [
-    # Fix pending upstream inclusion for ncuurses-6.3 support:
+    # Fix pending upstream inclusion for ncurses-6.3 support:
     #  https://github.com/clangen/musikcube/pull/474
     (fetchpatch {
       name = "ncurses-6.3.patch";
@@ -48,6 +49,7 @@ stdenv.mkDerivation rec {
     boost
     curl
     ffmpeg
+    gnutls
     lame
     libev
     libmicrohttpd
diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix
index f2d912a7861..050c54e168d 100644
--- a/pkgs/applications/audio/ncspot/default.nix
+++ b/pkgs/applications/audio/ncspot/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ncspot";
-  version = "0.9.7";
+  version = "0.9.8";
 
   src = fetchFromGitHub {
     owner = "hrkfdn";
     repo = "ncspot";
     rev = "v${version}";
-    sha256 = "sha256-s2rWn6EK+io/yxQiWsWuXpqLOGd0F6ehWqVqgHBGZd0=";
+    sha256 = "sha256-lrEIFPi55aP9utAaMIFtqocpkbDXRJqS/jlGUtE26kE=";
   };
 
-  cargoSha256 = "sha256-aorRy5j3VaOIibuHc6gf6HuB3g739T59vzbybehPirc=";
+  cargoSha256 = "sha256-vkNGQ3SXKJpUqDZ4TfmlSleAPAOQnsEncE8475NLJ4M=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/audio/noise-repellent/default.nix b/pkgs/applications/audio/noise-repellent/default.nix
index 7aaa8ddd843..9a2a2f109b0 100644
--- a/pkgs/applications/audio/noise-repellent/default.nix
+++ b/pkgs/applications/audio/noise-repellent/default.nix
@@ -1,22 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, fftwFloat, lv2 }:
+{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, cmake, libspecbleach, lv2 }:
 
 stdenv.mkDerivation rec {
   pname = "noise-repellent";
-  version = "0.1.5";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "lucianodato";
     repo = pname;
-    rev = version;
-    sha256 = "0hb89x9i2knzan46q4nwscf5zmnb2nwf4w13xl2c0y1mx1ls1mwl";
-    fetchSubmodules = true;
+    rev = "v${version}";
+    sha256 = "sha256-hMNVzhJZFGFeu5aygLkfq495O0zpaIk41ddzejvDITE=";
   };
 
-  mesonFlags = ("--prefix=${placeholder "out"}/lib/lv2");
+  mesonFlags = [
+    "--prefix=${placeholder "out"}/lib/lv2"
+    "--buildtype=release"
+  ];
 
-  nativeBuildInputs = [ meson ninja pkg-config ];
+  nativeBuildInputs = [ meson ninja pkg-config cmake ];
   buildInputs = [
-    fftwFloat lv2
+    libspecbleach lv2
   ];
 
   meta = with lib; {
@@ -24,6 +26,6 @@ stdenv.mkDerivation rec {
     homepage    = "https://github.com/lucianodato/noise-repellent";
     license     = licenses.gpl3;
     maintainers = [ maintainers.magnetophon ];
-    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "i686-darwin"  ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/audio/parlatype/default.nix b/pkgs/applications/audio/parlatype/default.nix
deleted file mode 100644
index c1bb1102bf1..00000000000
--- a/pkgs/applications/audio/parlatype/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, meson, gtk3, at-spi2-core, dbus, gst_all_1, sphinxbase, pocketsphinx, ninja, gettext, appstream-glib, python3, glib, gobject-introspection, gsettings-desktop-schemas, itstool, wrapGAppsHook, hicolor-icon-theme }:
-
-stdenv.mkDerivation rec {
-  pname = "parlatype";
-  version = "2.1";
-
-  src = fetchFromGitHub {
-    owner  = "gkarsay";
-    repo   = pname;
-    rev    = "v${version}";
-    sha256 = "1k53q0kbwpnbgyr0lmfzf5sm4f93d8nbjrzdz9pdhzpxgihndg25";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    meson
-    ninja
-    gettext
-    appstream-glib
-    python3
-    gobject-introspection
-    itstool
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    gtk3
-    at-spi2-core
-    dbus
-    gst_all_1.gstreamer
-    gst_all_1.gst-plugins-base
-    gst_all_1.gst-plugins-good
-    gst_all_1.gst-plugins-bad
-    gst_all_1.gst-plugins-ugly
-    gst_all_1.gst-libav
-    sphinxbase
-    pocketsphinx
-    glib
-    gsettings-desktop-schemas
-    hicolor-icon-theme
-  ];
-
-  postPatch = ''
-    chmod +x data/meson_post_install.py
-    patchShebangs data/meson_post_install.py
-  '';
-
-  doCheck = false;
-
-  buildPhase = ''
-    export GST_PLUGIN_SYSTEM_PATH_1_0="$out/lib/gstreamer-1.0/:$GST_PLUGIN_SYSTEM_PATH_1_0"
-  '';
-
-  meta = with lib; {
-    description = "GNOME audio player for transcription";
-    longDescription = ''
-      Parlatype is a minimal audio player for manual speech transcription, written for the GNOME desktop environment.
-      It plays audio sources to transcribe them in your favourite text application.
-      It’s intended to be useful for journalists, students, scientists and whoever needs to transcribe audio files.
-    '';
-    homepage = "https://gkarsay.github.io/parlatype/";
-    license = licenses.gpl3Plus;
-    maintainers = [ maintainers.melchips ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/audio/plexamp/default.nix b/pkgs/applications/audio/plexamp/default.nix
index fa76b50f8ae..91634cdf3fa 100644
--- a/pkgs/applications/audio/plexamp/default.nix
+++ b/pkgs/applications/audio/plexamp/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "plexamp";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
     name="${pname}-${version}.AppImage";
-    sha512 = "yIdZoKTJJEpUzEqvixQ7JJBxzrtCRov31dGBDOjMiK/oA2q00Xo6XVDvAhYuIn6ocZqK+I5jHfmf4qYaRePDvg==";
+    sha512 = "S2/T+T24X6D0oTbGPMp2BVfWTvzsUCWS1xsigLT/vFr12PlZgPfOWgo987W3YE30WJJDdybLqnkTl+uhNndC+A==";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -33,7 +33,7 @@ in appimageTools.wrapType2 {
   meta = with lib; {
     description = "A beautiful Plex music player for audiophiles, curators, and hipsters";
     homepage = "https://plexamp.com/";
-    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/43";
+    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/44";
     license = licenses.unfree;
     maintainers = with maintainers; [ killercup synthetica ];
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/applications/audio/pyradio/default.nix b/pkgs/applications/audio/pyradio/default.nix
index 44f7b261393..3a0a3f0a4cf 100644
--- a/pkgs/applications/audio/pyradio/default.nix
+++ b/pkgs/applications/audio/pyradio/default.nix
@@ -2,7 +2,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pyradio";
-  version = "0.8.9.16";
+  version = "0.8.9.17";
 
   propagatedBuildInputs = with python3Packages; [
     requests
@@ -13,8 +13,8 @@ python3Packages.buildPythonApplication rec {
   src = fetchFromGitHub {
     owner = "coderholic";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-uerQfyGHWhLbO6UkLSMA1tdfW/8fDQkcm6hYIdwwC7I=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-lfDSD1+xbA6tAKeHKciq/n6YHWS4JTOvjIqOn+FQ2yA=";
   };
 
   checkPhase = ''
diff --git a/pkgs/applications/audio/shortwave/default.nix b/pkgs/applications/audio/shortwave/default.nix
index 49492d05d15..4642565e678 100644
--- a/pkgs/applications/audio/shortwave/default.nix
+++ b/pkgs/applications/audio/shortwave/default.nix
@@ -14,28 +14,29 @@
 , ninja
 , openssl
 , pkg-config
-, python3
 , rustPlatform
 , sqlite
-, wrapGAppsHook
+, wrapGAppsHook4
+, cmake
+, libshumate
 }:
 
 stdenv.mkDerivation rec {
   pname = "shortwave";
-  version = "2.0.1";
+  version = "3.0.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "Shortwave";
     rev = version;
-    sha256 = "sha256-25qPb7qlqCwYJzl4qZxAZYx5asxSlXBlc/0dGyBdk1o=";
+    sha256 = "sha256-qwk63o9pfqpAm6l9ioj3RccacemQU8R6LF6El4yHkjQ";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-00dQXcSNmdZb2nSLG3q7jm4sugF9XR4LbH0OmcuHVxA=";
+    hash = "sha256-YrB322nv9CgZqt5//VMvVwjWA51ePlX2PI6raRJGBxA=";
   };
 
   nativeBuildInputs = [
@@ -46,11 +47,11 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkg-config
-    python3
     rustPlatform.rust.cargo
     rustPlatform.cargoSetupHook
     rustPlatform.rust.rustc
-    wrapGAppsHook
+    wrapGAppsHook4
+    cmake
   ];
 
   buildInputs = [
@@ -61,6 +62,7 @@ stdenv.mkDerivation rec {
     libadwaita
     openssl
     sqlite
+    libshumate
   ] ++ (with gst_all_1; [
     gstreamer
     gst-plugins-base
@@ -68,10 +70,6 @@ stdenv.mkDerivation rec {
     gst-plugins-bad
   ]);
 
-  postPatch = ''
-    patchShebangs build-aux/meson/postinstall.py
-  '';
-
   meta = with lib; {
     homepage = "https://gitlab.gnome.org/World/Shortwave";
     description = "Find and listen to internet radio stations";
@@ -80,7 +78,6 @@ stdenv.mkDerivation rec {
       desktop. It is the successor to the older Gradio application.
     '';
     maintainers = with maintainers; [ lasandell ];
-    broken = true; # incompatible with latest libadwaita
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/audio/sonixd/default.nix b/pkgs/applications/audio/sonixd/default.nix
index fff5a50624e..961fa2c8c1c 100644
--- a/pkgs/applications/audio/sonixd/default.nix
+++ b/pkgs/applications/audio/sonixd/default.nix
@@ -5,11 +5,11 @@
 
 appimageTools.wrapType2 rec {
   pname = "sonixd";
-  version = "0.15.0";
+  version = "0.15.1";
 
   src = fetchurl {
     url = "https://github.com/jeffvli/sonixd/releases/download/v${version}/Sonixd-${version}-linux-x86_64.AppImage";
-    sha256 = "sha256-mZdM2wPJktitSCgIyOY/GwYPixPVTnYiOBVMQN8b7XU=";
+    sha256 = "sha256-23WU1nwvrzyw0J+Pplm3JbsScjJxu+RhmwVoe/PjozY=";
   };
 
   extraInstallCommands = ''
diff --git a/pkgs/applications/audio/spot/default.nix b/pkgs/applications/audio/spot/default.nix
index 3fe3b0d06d3..7dab868b941 100644
--- a/pkgs/applications/audio/spot/default.nix
+++ b/pkgs/applications/audio/spot/default.nix
@@ -21,19 +21,19 @@
 
 stdenv.mkDerivation rec {
   pname = "spot";
-  version = "0.3.1";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "xou816";
     repo = "spot";
     rev = version;
-    hash = "sha256-uZzylK9imEazwC/ogsDO8ZBvByE5/SNSV+mIlp7Z9Ww=";
+    hash = "sha256-0iuLZq9FSxaOchxx6LzGwpY8qnOq2APl/qkBYzEV2uw=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-v5xdlsI6OlEpCYOTFePTyI8BkIrAwT6FR2JwiRTGgOA=";
+    hash = "sha256-g46BkrTv6tdrGe/p245O4cBoPjbvyRP7U6hH1Hp4ja0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index d2fe381ac6a..65cf657d8a4 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -10,14 +10,14 @@ let
   # If an update breaks things, one of those might have valuable info:
   # https://aur.archlinux.org/packages/spotify/
   # https://community.spotify.com/t5/Desktop-Linux
-  version = "1.1.80.699.gc3dac750";
+  version = "1.1.84.716.gc5f8b819";
   # To get the latest stable revision:
   # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
   # To get general information:
   # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
   # More examples of api usage:
   # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
-  rev = "58";
+  rev = "60";
 
   deps = [
     alsa-lib
@@ -80,7 +80,7 @@ stdenv.mkDerivation {
   # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
   src = fetchurl {
     url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
-    sha512 = "91385a5a8de31d6e9f1945d23108447fd369c1cdc2e4d95cbb7cec5d403c3be14a1b0fabe3fb01aef809a39b033d289add1bcb307ab19c7fcb63689dbae57c53";
+    sha512 = "1209b956822d8bb661daa2c88616bed403ec26dc22c6b866cecff59235c56112284c2f99aa06352fc0df6fcd15225a6ad60afd3b4ff4d7b948ab83e70ab31a71";
   };
 
   nativeBuildInputs = [ makeWrapper wrapGAppsHook squashfsTools ];
diff --git a/pkgs/applications/audio/viper4linux-gui/default.nix b/pkgs/applications/audio/viper4linux-gui/default.nix
new file mode 100644
index 00000000000..be495aa9c93
--- /dev/null
+++ b/pkgs/applications/audio/viper4linux-gui/default.nix
@@ -0,0 +1,82 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, copyDesktopItems
+, pkg-config
+, qtbase
+, qtsvg
+, qtmultimedia
+, qmake
+, gst_all_1
+, libpulseaudio
+, makeDesktopItem
+, viper4linux
+, wrapQtAppsHook
+}:
+let
+  gstPluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with gst_all_1; [ gstreamer gst-plugins-viperfx gst-plugins-base gst-plugins-good ]);
+in
+stdenv.mkDerivation rec {
+  pname = "viper4linux-gui";
+  version = "unstable-2022-04-23";
+
+  src = fetchFromGitHub {
+    owner = "Audio4Linux";
+    repo = "Viper4Linux-GUI";
+    rev = "2d0c84d7dda76c59e31c850e38120002eb779b7a";
+    sha256 = "sha256-5YlLCF598i/sldczPEgCB+1KJDA7jqM964QDSNjgTKM=";
+  };
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      exec = "viper-gui";
+      icon = "viper";
+      desktopName = "viper4linux";
+      genericName = "Equalizer";
+      comment = meta.description;
+      categories = [ "AudioVideo" "Audio" ];
+      startupNotify = false;
+    })
+  ];
+
+  nativeBuildInputs = [
+    qmake
+    pkg-config
+    wrapQtAppsHook
+    copyDesktopItems
+  ];
+
+  buildInputs = [
+    qtbase
+    qtmultimedia
+    qtsvg
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-plugins-viperfx
+    libpulseaudio
+    viper4linux
+  ];
+
+  qmakeFlags = [ "V4L_Frontend.pro" ];
+
+  qtWrapperArgs = [
+    "--prefix PATH : ${lib.makeBinPath [ viper4linux gst_all_1.gstreamer ]}"
+    "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : ${gstPluginPath}"
+  ];
+
+  installPhase = ''
+    runHook preInstalli
+    install -D V4L_Frontend $out/bin/viper-gui
+    install -D icons/viper.png $out/share/icons/viper.png
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Official UI for Viper4Linux2";
+    homepage = "https://github.com/Audio4Linux/Viper4Linux-GUI";
+    license = licenses.gpl3Plus;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ rewine ];
+  };
+}
diff --git a/pkgs/applications/audio/viper4linux/default.nix b/pkgs/applications/audio/viper4linux/default.nix
new file mode 100644
index 00000000000..118af6853e5
--- /dev/null
+++ b/pkgs/applications/audio/viper4linux/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, gst_all_1
+, libviperfx
+, makeWrapper
+}:
+let
+  gstPluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with gst_all_1; [ gstreamer gst-plugins-viperfx gst-plugins-base gst-plugins-good ]);
+in
+stdenv.mkDerivation rec {
+  pname = "viper4linux";
+  version = "unstable-2022-03-13";
+
+  src = fetchFromGitHub {
+    owner = "Audio4Linux";
+    repo = "Viper4Linux";
+    rev = "5da25644824f88cf0db24378d2c84770ba4f6816";
+    sha256 = "sha256-CJNVr/1ehJzX45mxunXcRAypBBGEBdswOzAVG2H+ayg=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-plugins-viperfx
+    libviperfx
+  ];
+
+  dontBuild = true;
+
+  postPatch = ''
+    substituteInPlace viper --replace "/etc/viper4linux" "$out/etc/viper4linux"
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -D viper -t $out/bin
+    mkdir -p $out/etc/viper4linux
+    cp -r viper4linux/* $out/etc/viper4linux
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    wrapProgram "$out/bin/viper" \
+      --prefix PATH : $out/bin:${lib.makeBinPath [ gst_all_1.gstreamer ]} \
+      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : ${gstPluginPath} \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libviperfx ]}
+  '';
+
+  meta = with lib; {
+    description = "An Adaptive Digital Sound Processor";
+    homepage = "https://github.com/Audio4Linux/Viper4Linux";
+    license = licenses.gpl3Plus;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ rewine ];
+  };
+}
diff --git a/pkgs/applications/audio/whipper/default.nix b/pkgs/applications/audio/whipper/default.nix
index 7b76d91acf8..f06907ad32f 100644
--- a/pkgs/applications/audio/whipper/default.nix
+++ b/pkgs/applications/audio/whipper/default.nix
@@ -8,7 +8,7 @@
 , flac
 , sox
 , util-linux
-, testVersion
+, testers
 , whipper
 }:
 
@@ -74,7 +74,7 @@ in python3.pkgs.buildPythonApplication rec {
     runHook postCheck
   '';
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = whipper;
     command = "HOME=$TMPDIR whipper --version";
   };
diff --git a/pkgs/applications/blockchains/bisq-desktop/default.nix b/pkgs/applications/blockchains/bisq-desktop/default.nix
index 869f8dcad05..b8c878755ef 100644
--- a/pkgs/applications/blockchains/bisq-desktop/default.nix
+++ b/pkgs/applications/blockchains/bisq-desktop/default.nix
@@ -10,7 +10,6 @@
 , writeScript
 , bash
 , tor
-, gnutar
 , zip
 , xz
 }:
@@ -42,7 +41,7 @@ stdenv.mkDerivation rec {
     sha256 = "09bpkmn22kal3cxg8sil02wy2f2gplsbdkp4viagn0jppma02jid";
   };
 
-  nativeBuildInputs = [ makeWrapper copyDesktopItems imagemagick dpkg gnutar zip xz ];
+  nativeBuildInputs = [ makeWrapper copyDesktopItems imagemagick dpkg zip xz ];
 
   desktopItems = [
     (makeDesktopItem {
diff --git a/pkgs/applications/blockchains/bitcoin/default.nix b/pkgs/applications/blockchains/bitcoin/default.nix
index 35ab9791ec7..5ecbf4fc979 100644
--- a/pkgs/applications/blockchains/bitcoin/default.nix
+++ b/pkgs/applications/blockchains/bitcoin/default.nix
@@ -25,7 +25,7 @@
 
 with lib;
 let
-  version = "22.0";
+  version = "23.0";
   majorVersion = versions.major version;
   desktop = fetchurl {
     url = "https://raw.githubusercontent.com/bitcoin-core/packaging/${majorVersion}.x/debian/bitcoin-qt.desktop";
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
       "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
     ];
-    sha256 = "d0e9d089b57048b1555efa7cd5a63a7ed042482045f6f33402b1df425bf9613b";
+    sha256 = "26748bf49d6d6b4014d0fedccac46bf2bcca42e9d34b3acfd9e3467c415acc05";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/applications/blockchains/btcpayserver/default.nix b/pkgs/applications/blockchains/btcpayserver/default.nix
index 4a06592ce01..8b6812c66d3 100644
--- a/pkgs/applications/blockchains/btcpayserver/default.nix
+++ b/pkgs/applications/blockchains/btcpayserver/default.nix
@@ -3,13 +3,13 @@
 
 buildDotnetModule rec {
   pname = "btcpayserver";
-  version = "1.4.7";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Qz4BNrhK+NPnKBgjXGYl4P2R878LCuMGZxLECawA12E=";
+    sha256 = "sha256-DcxRrVUen+JxMpiLDPfknpwCe962ifaekBeBnxJ0y88=";
   };
 
   projectFile = "BTCPayServer/BTCPayServer.csproj";
diff --git a/pkgs/applications/blockchains/btcpayserver/deps.nix b/pkgs/applications/blockchains/btcpayserver/deps.nix
index 57602e2231c..ceefa656de3 100644
--- a/pkgs/applications/blockchains/btcpayserver/deps.nix
+++ b/pkgs/applications/blockchains/btcpayserver/deps.nix
@@ -31,18 +31,18 @@
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.All";
-    version = "1.3.2";
-    sha256 = "0xcfba8n9zf5m1nb48ilggp03kpki4nv4kx7k7a5w1gxgm6k6j9z";
+    version = "1.3.6";
+    sha256 = "0jdpqy6kxg0lyh4n88wsvrcqc0kk7s7zn5lw7ivwys716m69qrdl";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.Charge";
-    version = "1.3.1";
-    sha256 = "1xakwnb839dl0qnhqprsnfq8png31iyb0fsngljis5jc8yvb4353";
+    version = "1.3.2";
+    sha256 = "0v5rss6dg7297kq1frhn2pj9gd0rd8g1p5d316x5wkd4w7pmrm2w";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.CLightning";
-    version = "1.3.1";
-    sha256 = "0a79p6i3xiq6svv08c4hhihkvqa2ac7fphi3g9i0cwh47ak0k5h2";
+    version = "1.3.2";
+    sha256 = "0qs5p6pm54il23j8yysw0pzvrki37y6z8cd2gdknpz2f3wg7slm9";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.Common";
@@ -51,23 +51,23 @@
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.Common";
-    version = "1.3.1";
-    sha256 = "165p1246fn628hlwdrx7sanlxa6qqpn480rq1asn5r1602w21844";
+    version = "1.3.2";
+    sha256 = "119zplkc7iy9wc95iz1qnyi42fr99ar4hp8a11p708a22w941yi0";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.Eclair";
-    version = "1.3.1";
-    sha256 = "1vlwm5mw8wffp00xhkx19yavk59b5x540sg81vis3q7hjvvgca5c";
+    version = "1.3.2";
+    sha256 = "08gw1gqng1khxzvvhlwsg6lw1w56ylilg738wi6cbcwy7vl7f6bb";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.LNBank";
-    version = "1.3.1";
-    sha256 = "0qga34vi4fzfr0g4qk0ad8xkqdig2ishmdj9i32s5yrrjrkx7c8d";
+    version = "1.3.4";
+    sha256 = "1vyz63pi5j31y8pz0b4hp9c4j249rszzfcymk3z3b2clwq32s4i4";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.LND";
-    version = "1.3.1";
-    sha256 = "1b70jlyzy9xjvfywzi6i3l3sd4mkknxpni9akdi0phsfqysmy0wl";
+    version = "1.3.3";
+    sha256 = "137azpxxmp2q69bp07ky1jsgnfy9lf0dg5ba8l654flvvrgxaq6y";
   })
   (fetchNuGet {
     pname = "BuildBundlerMinifier";
@@ -90,6 +90,11 @@
     sha256 = "01y8bhsnxghn3flz0pr11vj6wjrpmia8rpdrsp7kjfc1zmhqlgma";
   })
   (fetchNuGet {
+    pname = "Dapper";
+    version = "2.0.123";
+    sha256 = "15hxrchfgiqnmgf8fqhrf4pb4c8l9igg5qnkw9yk3rkagcqfkk91";
+  })
+  (fetchNuGet {
     pname = "DigitalRuby.ExchangeSharp";
     version = "0.6.3";
     sha256 = "1vb7ahafcd3lcbiiz552aisilwm1yq3j600gkf1wik8vhvsk02fs";
@@ -376,11 +381,6 @@
   })
   (fetchNuGet {
     pname = "Microsoft.EntityFrameworkCore.Abstractions";
-    version = "6.0.0";
-    sha256 = "1aw13qjkpglc1mm3cv7s73s8fschy8lzdnigsp346b7mycpg7v92";
-  })
-  (fetchNuGet {
-    pname = "Microsoft.EntityFrameworkCore.Abstractions";
     version = "6.0.1";
     sha256 = "15mx86i7gqlak604vr853x7a4b4l48wz5vqh9qbib7wh4pkf4rp3";
   })
@@ -831,8 +831,8 @@
   })
   (fetchNuGet {
     pname = "NBitcoin";
-    version = "6.0.15";
-    sha256 = "038dcl2k88w4cijws3pdnjflgy4lmqx70z0l7yqz355kmxjz8ain";
+    version = "6.0.18";
+    sha256 = "1dr669h68cx6yfzr3n97yzzwbgnsv5g2008diyxngdjm55nh3q9s";
   })
   (fetchNuGet {
     pname = "NBitcoin";
@@ -856,8 +856,8 @@
   })
   (fetchNuGet {
     pname = "NBXplorer.Client";
-    version = "4.1.3";
-    sha256 = "1nh4jj7yg81825hr7cc99qlnfmdm6jibap81qqi8a968b61z4251";
+    version = "4.2.0";
+    sha256 = "1adbn5cbr42cjfvijaf1lffhcrcn0ws1arfi7mrg3kjshbzfgims";
   })
   (fetchNuGet {
     pname = "NETStandard.Library";
@@ -931,13 +931,13 @@
   })
   (fetchNuGet {
     pname = "Npgsql.EntityFrameworkCore.PostgreSQL";
-    version = "6.0.1";
-    sha256 = "108sc62dqdb6ym2ck651kamcv6qf93cmaqzygfblmiglwzi6frnx";
+    version = "6.0.3";
+    sha256 = "0mgwm9psxvrq6vs2cy7m72wnknydgrs71hir2jqal5wbdh8g01np";
   })
   (fetchNuGet {
     pname = "Npgsql";
-    version = "6.0.1";
-    sha256 = "150paiwqxp6zsy5v7vl2a9h3ikzfv3pd04whxifmamq0h1ghw0ld";
+    version = "6.0.3";
+    sha256 = "1crzgi4dfbn8r381m9rvkma5xi2q7gqdzgxhc36hy3r0y63v1l8q";
   })
   (fetchNuGet {
     pname = "NSec.Cryptography";
@@ -1086,8 +1086,8 @@
   })
   (fetchNuGet {
     pname = "Selenium.WebDriver.ChromeDriver";
-    version = "98.0.4758.10200";
-    sha256 = "10mc50gm78zbxrwvxlygzmj2a29liiacv8haax0534c26vj9dwkl";
+    version = "100.0.4896.6000";
+    sha256 = "1pfdvxjy4xiw1j7787lf07w9nr0dmj589vf6p4aqmk2cfz8j35c6";
   })
   (fetchNuGet {
     pname = "Selenium.WebDriver";
diff --git a/pkgs/applications/blockchains/chia-plotter/default.nix b/pkgs/applications/blockchains/chia-plotter/default.nix
index 51ca4469bc4..25d4d865346 100644
--- a/pkgs/applications/blockchains/chia-plotter/default.nix
+++ b/pkgs/applications/blockchains/chia-plotter/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation {
   pname = "chia-plotter";
-  version = "1.1.7";
+  version = "1.1.8";
 
   src = fetchFromGitHub {
     owner = "madMAx43v3r";
     repo = "chia-plotter";
-    rev = "18cad340858f0dbcc8dafd0bda1ce1af0fe58c65";
-    sha256 = "sha256-lXjeqcjn3+LtnVYngdM1T3on7V7wez4oOAZ0RpKJXMM=";
+    rev = "9d7fd929919d1adde6404cb4718a665a81bcef6d";
+    sha256 = "sha256-TMAly+Qof2DHPRHqE1nZuHQaCeMo0jEd8MWy4OlXrcs=";
     fetchSubmodules = true;
   };
 
@@ -25,10 +25,17 @@ stdenv.mkDerivation {
       src = ./dont_fetch_dependencies.patch;
       pybind11_src = python3Packages.pybind11.src;
       relic_src = fetchFromGitHub {
-        owner = "relic-toolkit";
+        owner = "Chia-Network";
         repo = "relic";
-        rev = "1885ae3b681c423c72b65ce1fe70910142cf941c";
-        hash = "sha256-tsSZTcssl8t7Nqdex4BesgQ+ACPgTdtHnJFvS9josN0=";
+        rev = "1d98e5abf3ca5b14fd729bd5bcced88ea70ecfd7";
+        hash = "sha256-IfTD8DvTEXeLUoKe4Ejafb+PEJW5DV/VXRYuutwGQHU=";
+      };
+      sodium_src = fetchFromGitHub {
+        owner = "AmineKhaldi";
+        repo = "libsodium-cmake";
+        rev = "f73a3fe1afdc4e37ac5fe0ddd401bf521f6bba65"; # pinned by upstream
+        sha256 = "sha256-lGz7o6DQVAuEc7yTp8bYS2kwjzHwGaNjugDi1ruRJOA=";
+        fetchSubmodules = true;
       };
     })
   ];
diff --git a/pkgs/applications/blockchains/chia-plotter/dont_fetch_dependencies.patch b/pkgs/applications/blockchains/chia-plotter/dont_fetch_dependencies.patch
index 05486473eef..b7474af4c96 100644
--- a/pkgs/applications/blockchains/chia-plotter/dont_fetch_dependencies.patch
+++ b/pkgs/applications/blockchains/chia-plotter/dont_fetch_dependencies.patch
@@ -11,30 +11,43 @@ index 255e3bb..5f99c3a 100644
 +  SOURCE_DIR @pybind11_src@
  )
  FetchContent_MakeAvailable(pybind11 relic)
- 
-diff --git a/lib/bls-signatures/src/CMakeLists.txt b/lib/bls-signatures/src/CMakeLists.txt
-index b762b5d..e06073b 100644
---- a/lib/bls-signatures/src/CMakeLists.txt
-+++ b/lib/bls-signatures/src/CMakeLists.txt
-@@ -4,18 +4,11 @@ set (CMAKE_CXX_STANDARD 17)
- # CMake 3.14+
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6922167..23d8da6 100644
+--- a/lib/bls-signatures/CMakeLists.txt
++++ b/lib/bls-signatures/CMakeLists.txt
+@@ -31,29 +31,18 @@ set(CMAKE_MODULE_PATH
  include(FetchContent)
  
+ FetchContent_Declare(Sodium
+-  GIT_REPOSITORY https://github.com/AmineKhaldi/libsodium-cmake.git
+-  # Latest commit at the moment this was added here
+-  # Anchored to libsodium v1.0.18
+-  GIT_TAG f73a3fe1afdc4e37ac5fe0ddd401bf521f6bba65
++  URL @sodium_src@
+ )
+ set(SODIUM_PCH "on" CACHE STRING "")
+ set(SODIUM_DISABLE_TESTS "on" CACHE STRING "")
+ set(SODIUM_CHIA_MINIMAL "on" CACHE STRING "")
+ FetchContent_MakeAvailable(Sodium)
+ 
 -if (DEFINED ENV{RELIC_MAIN})
 -  set(RELIC_GIT_TAG "origin/main")
 -else ()
--  set(RELIC_GIT_TAG "1885ae3b681c423c72b65ce1fe70910142cf941c")
+-  # This is currently anchored to upstream aecdcae7956f542fbee2392c1f0feb0a8ac41dc5
+-  set(RELIC_GIT_TAG "1d98e5abf3ca5b14fd729bd5bcced88ea70ecfd7")
 -endif ()
 -
  message(STATUS "Relic will be built from: ${RELIC_GIT_TAG}")
  
  FetchContent_Declare(
    relic
--  GIT_REPOSITORY https://github.com/relic-toolkit/relic.git
--  GIT_TAG        ${RELIC_GIT_TAG}
+-  GIT_REPOSITORY https://github.com/Chia-Network/relic.git
+-  GIT_TAG ${RELIC_GIT_TAG}
 +  SOURCE_DIR @relic_src@
  )
- FetchContent_MakeAvailable(relic)
+ 
+ # Relic related options
  
 diff --git a/CMakeLists.txt b/CMakeLists.txt
 index 970ec74..948441a 100644
diff --git a/pkgs/applications/blockchains/clightning/default.nix b/pkgs/applications/blockchains/clightning/default.nix
index b58524d1eee..2ac761edd00 100644
--- a/pkgs/applications/blockchains/clightning/default.nix
+++ b/pkgs/applications/blockchains/clightning/default.nix
@@ -21,11 +21,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "clightning";
-  version = "0.10.2";
+  version = "0.11.0.1";
 
   src = fetchurl {
     url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
-    sha256 = "3c9dcb686217b2efe0e988e90b95777c4591e3335e259e01a94af87e0bf01809";
+    sha256 = "e2ad6eead19a0cd8869e291c27d318cf553bb015339c1f0e8d8b30e7bc0910d8";
   };
 
   # when building on darwin we need dawin.cctools to provide the correct libtool
diff --git a/pkgs/applications/blockchains/electrs/default.nix b/pkgs/applications/blockchains/electrs/default.nix
index f78c0fa3e35..57eaeace12a 100644
--- a/pkgs/applications/blockchains/electrs/default.nix
+++ b/pkgs/applications/blockchains/electrs/default.nix
@@ -12,16 +12,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "electrs";
-  version = "0.9.6";
+  version = "0.9.7";
 
   src = fetchFromGitHub {
     owner = "romanz";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-BI7hxlpg2sggD1ag73n+tRre+Ja2ZFhDPzy1DV8aEHw=";
+    hash = "sha256-hdXc64gj7QtCnTq3f5mpQDEKLM6qaDBLkQE07xxNaDE=";
   };
 
-  cargoHash = "sha256-Oy2mOulSB2a9LaT47G+BzjidcjPjHeaoesQ7g6M8M1Q=";
+  cargoHash = "sha256-xMATO+H3bGkM/tLRimmLGYtrOAX8hzkw5Hb0c6iVAXY=";
 
   # needed for librocksdb-sys
   nativeBuildInputs = [ llvmPackages.clang ];
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index d72da2c060f..59166149e6a 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.40.2";
+  version = "2.40.4";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
-    hash = "sha256-2L1iVPLCCIQ6qBqkg+GmiqMmknHmdDLUrysN8vcW2YQ=";
+    hash = "sha256-ktmGXEWoCrhx9hGau2VkQi0GMa53EqHV1wGtUk6kicc=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/blockchains/lnd/default.nix b/pkgs/applications/blockchains/lnd/default.nix
index 198fdb0cf43..baf2e20aae7 100644
--- a/pkgs/applications/blockchains/lnd/default.nix
+++ b/pkgs/applications/blockchains/lnd/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "lnd";
-  version = "0.14.2-beta";
+  version = "0.14.3-beta";
 
   src = fetchFromGitHub {
     owner = "lightningnetwork";
     repo = "lnd";
     rev = "v${version}";
-    sha256 = "sha256-JOKitxxWcTlGlxYR1XpySZlI2fT9jgBrOxNUwT/sqdQ=";
+    sha256 = "sha256-ZTvGFmjhQBIWqMGatMAlX59uVyl1oUKo7L5jiz571Gc";
   };
 
   vendorSha256 = "sha256-shDmJcEyobY7Ih1MHMEY2GQnzAffsH/y4J1bme/bT7I=";
diff --git a/pkgs/applications/blockchains/monero-cli/default.nix b/pkgs/applications/blockchains/monero-cli/default.nix
index 40ce59f92d6..39e416e430a 100644
--- a/pkgs/applications/blockchains/monero-cli/default.nix
+++ b/pkgs/applications/blockchains/monero-cli/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "monero-cli";
-  version = "0.17.3.0";
+  version = "0.17.3.2";
 
   src = fetchFromGitHub {
     owner = "monero-project";
     repo = "monero";
     rev = "v${version}";
-    sha256 = "1spsf7m3x4psp9s7mivr6x4886jnbq4i8ll2dl8bv5bsdhcd3pjm";
+    sha256 = "19sgcbli7fc1l6ms7ma6hcz1mmpbnd296lc8a19rl410acpv45zy";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/blockchains/monero-gui/default.nix b/pkgs/applications/blockchains/monero-gui/default.nix
index dfc5f8b326c..6b2cc4a7f92 100644
--- a/pkgs/applications/blockchains/monero-gui/default.nix
+++ b/pkgs/applications/blockchains/monero-gui/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "monero-gui";
-  version = "0.17.3.1";
+  version = "0.17.3.2";
 
   src = fetchFromGitHub {
     owner  = "monero-project";
     repo   = "monero-gui";
     rev    = "v${version}";
-    sha256 = "sha256-RrchaqFmL4W9F8DhZfvxm7mHMkx/OX8K9e8uNFXWubo=";
+    sha256 = "10gincmgc0qpsgm94m1fqfy9j8jn9g1gjk12lcqnf77kvcnz37hq";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/blockchains/namecoin/default.nix b/pkgs/applications/blockchains/namecoin/default.nix
index d5c739e00f4..e9b9d104410 100644
--- a/pkgs/applications/blockchains/namecoin/default.nix
+++ b/pkgs/applications/blockchains/namecoin/default.nix
@@ -1,15 +1,14 @@
 { lib, stdenv, fetchFromGitHub, openssl, boost, libevent, autoreconfHook, db4, miniupnpc, eject, pkg-config, qt4, protobuf, qrencode, hexdump
 , withGui }:
 
-with lib;
 stdenv.mkDerivation rec {
-  pname = "namecoin" + optionalString (!withGui) "d";
-  version = "nc22.0";
+  pname = "namecoin" + lib.optionalString (!withGui) "d";
+  version = "22.0";
 
   src = fetchFromGitHub {
     owner = "namecoin";
     repo = "namecoin-core";
-    rev = version;
+    rev = "nc${version}";
     sha256 = "sha256-Z3CLDe0c4IpFPPTie8yoh0kcuvGmiegSgl4ITNSDkgY=";
   };
 
@@ -26,7 +25,7 @@ stdenv.mkDerivation rec {
     db4
     miniupnpc
     eject
-  ] ++ optionals withGui [
+  ] ++ lib.optionals withGui [
     qt4
     protobuf
     qrencode
@@ -38,7 +37,7 @@ stdenv.mkDerivation rec {
     "--with-boost-libdir=${boost.out}/lib"
   ];
 
-  meta = {
+  meta = with lib; {
     description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency";
     homepage = "https://namecoin.org";
     license = licenses.mit;
diff --git a/pkgs/applications/blockchains/nbxplorer/default.nix b/pkgs/applications/blockchains/nbxplorer/default.nix
index 5b25afd587b..c263b656018 100644
--- a/pkgs/applications/blockchains/nbxplorer/default.nix
+++ b/pkgs/applications/blockchains/nbxplorer/default.nix
@@ -2,13 +2,13 @@
 
 buildDotnetModule rec {
   pname = "nbxplorer";
-  version = "2.2.20";
+  version = "2.3.20";
 
   src = fetchFromGitHub {
     owner = "dgarage";
     repo = "NBXplorer";
     rev = "v${version}";
-    sha256 = "sha256-C3REnfecNwf3dtk6aLYAEsedHRlIrQZAokXtf6KI8U0=";
+    sha256 = "sha256-cAko5s1bFSI7HOcXg/tZtdMMe0S9zkRBeZ6bispxgwc=";
   };
 
   projectFile = "NBXplorer/NBXplorer.csproj";
diff --git a/pkgs/applications/blockchains/nbxplorer/deps.nix b/pkgs/applications/blockchains/nbxplorer/deps.nix
index e794e0a976b..377b34e9a0e 100644
--- a/pkgs/applications/blockchains/nbxplorer/deps.nix
+++ b/pkgs/applications/blockchains/nbxplorer/deps.nix
@@ -1,5 +1,10 @@
 { fetchNuGet }: [
   (fetchNuGet {
+    pname = "Dapper";
+    version = "2.0.123";
+    sha256 = "15hxrchfgiqnmgf8fqhrf4pb4c8l9igg5qnkw9yk3rkagcqfkk91";
+  })
+  (fetchNuGet {
     pname = "DBTrie";
     version = "1.0.39";
     sha256 = "0kbvl3kf73hrh1w2n3d2wshlxpqsv1pwydhwv2wxigmvs70fn1xp";
@@ -250,6 +255,11 @@
     sha256 = "0lgssxafv6cqlw21fb79fm0fcln0clgsk6zadcwrnjv9vampfw7b";
   })
   (fetchNuGet {
+    pname = "Npgsql";
+    version = "6.0.3";
+    sha256 = "1crzgi4dfbn8r381m9rvkma5xi2q7gqdzgxhc36hy3r0y63v1l8q";
+  })
+  (fetchNuGet {
     pname = "NuGet.Frameworks";
     version = "5.0.0";
     sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr";
@@ -755,6 +765,11 @@
     sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43";
   })
   (fetchNuGet {
+    pname = "System.Runtime.CompilerServices.Unsafe";
+    version = "6.0.0";
+    sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc";
+  })
+  (fetchNuGet {
     pname = "System.Runtime.Extensions";
     version = "4.1.0";
     sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix
index 12324088b04..874a1bb63cc 100644
--- a/pkgs/applications/editors/android-studio/common.nix
+++ b/pkgs/applications/editors/android-studio/common.nix
@@ -52,6 +52,7 @@
 , xkeyboard_config
 , zlib
 , makeDesktopItem
+, tiling_wm # if we are using a tiling wm, need to set _JAVA_AWT_WM_NONREPARENTING in wrapper
 }:
 
 let
@@ -80,6 +81,7 @@ let
         --set-default JAVA_HOME "$out/jre" \
         --set ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \
         --set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \
+        ${lib.optionalString tiling_wm "--set _JAVA_AWT_WM_NONREPARENTING 1"} \
         --set FONTCONFIG_FILE ${fontsConf} \
         --prefix PATH : "${lib.makeBinPath [
 
@@ -216,9 +218,9 @@ in runCommand
       # source-code itself).
       platforms = [ "x86_64-linux" ];
       maintainers = with maintainers; rec {
-        stable = [ fabianhjr ];
-        beta = [ fabianhjr ];
-        canary = [ fabianhjr ];
+        stable = [ ];
+        beta = [ ];
+        canary = [ ];
         dev = canary;
       }."${channel}";
     };
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index e7824cd93f1..cfd81fdfe5a 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, makeFontsConf, gnome2, buildFHSUserEnv }:
+{ callPackage, makeFontsConf, gnome2, buildFHSUserEnv, tiling_wm ? false }:
 
 let
   mkStudio = opts: callPackage (import ./common.nix opts) {
@@ -7,18 +7,19 @@ let
     };
     inherit (gnome2) GConf gnome_vfs;
     inherit buildFHSUserEnv;
+    inherit tiling_wm;
   };
   stableVersion = {
-    version = "2021.1.1.21"; # "Android Studio Bumblebee (2021.1.1 Patch 1)"
-    sha256Hash = "PeMJIILfaunTlpR4EV76qQlTlZDcWoKes61qe9W9oqQ=";
+    version = "2021.1.1.23"; # "Android Studio Bumblebee (2021.1.1 Patch 3)"
+    sha256Hash = "1kxb19qf7bs5lyfgr8vamakp1nf2wlxlwwni1kihza67ib6hcxdk";
   };
   betaVersion = {
-    version = "2021.2.1.8"; # "Android Studio Chipmunk (2021.2.1) Beta 1"
-    sha256Hash = "bPfs4kw7czG9CbEgrzn0bQXdT03jyqPVqtaIuVBFSmc=";
+    version = "2021.2.1.11"; # "Android Studio Chipmunk (2021.2.1) Beta 4"
+    sha256Hash = "0in8x6v957y9hsnz5ak845pdpvgvnvlm0s6r9y8f27zkm947vbjd";
   };
   latestVersion = { # canary & dev
-    version = "2021.3.1.1"; # "Android Studio Dolphin (2021.3.1) Canary 1"
-    sha256Hash = "W3pNQBM7WdDScQo5b8q5Va5NTgl73uZu0ks/zDMb4aA=";
+    version = "2021.3.1.7"; # "Android Studio Dolphin (2021.3.1) Canary 7"
+    sha256Hash = "02jwy3q2ccs7l3snm8w40znzk54v2h1sljdr3d0yh7sy0qyn32k1";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix
index 2a4e29e473b..3c16347a29e 100644
--- a/pkgs/applications/editors/cudatext/default.nix
+++ b/pkgs/applications/editors/cudatext/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cudatext";
-  version = "1.162.0";
+  version = "1.163.0";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    sha256 = "sha256-lAH0HXtzWs1iFVzM/tvnBT1s1Mt0AGs4TqdtFu1NeMw=";
+    sha256 = "sha256-4jGLyAE202GAjaypubKGW1edyKqOti/yTwstC/R94iE=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json
index 68b15ce1070..9d3629645f8 100644
--- a/pkgs/applications/editors/cudatext/deps.json
+++ b/pkgs/applications/editors/cudatext/deps.json
@@ -16,8 +16,8 @@
   },
   "ATSynEdit": {
     "owner": "Alexey-T",
-    "rev": "2022.04.18",
-    "sha256": "sha256-tvFESbamCt7A6Xv8WGh0dKzr9neelYMM7guySOunfvk="
+    "rev": "2022.04.26",
+    "sha256": "sha256-aItWkjnFqxeyEywELEBkuvMH1zfI4jJFL10CexSktxU="
   },
   "ATSynEdit_Cmp": {
     "owner": "Alexey-T",
@@ -26,8 +26,8 @@
   },
   "EControl": {
     "owner": "Alexey-T",
-    "rev": "2022.04.18",
-    "sha256": "sha256-Wp+/f/z2H/WANq9u8mRDn0BaeyFWiPpLrW0YqyT+ezw="
+    "rev": "2022.04.21",
+    "sha256": "sha256-le6ulGFUNjeipYQKzVFezFb9u/0IcQcu5BMxFaIZdyw="
   },
   "ATSynEdit_Ex": {
     "owner": "Alexey-T",
diff --git a/pkgs/applications/editors/emacs/28.nix b/pkgs/applications/editors/emacs/28.nix
index e66917ab93f..948fa52c079 100644
--- a/pkgs/applications/editors/emacs/28.nix
+++ b/pkgs/applications/editors/emacs/28.nix
@@ -1,5 +1,5 @@
 import ./generic.nix (rec {
   version = "28.1";
-  sha256 = "sha256-KLGz0JkDegiPCkyiUdfnJi6rXqFneqv/psRCaWGtdeE=";
+  sha256 = "sha256-D33wnlxhx0LyG9WZaQDj2II3tG0HcJdZTC4dSA3lrgY=";
   patches = _: [ ];
 })
diff --git a/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix b/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
index caf7bbf24d2..ccbfe76719e 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
@@ -5,23 +5,31 @@
 , plz
 , cl-lib
 , ts
+, magit-section
+, taxy-magit-section
+, taxy
+, svg-lib
 }:
 
 trivialBuild {
   pname = "ement";
-  version = "unstable-2021-10-08";
+  version = "unstable-2022-04-22";
 
   src = fetchFromGitHub {
     owner = "alphapapa";
     repo = "ement.el";
-    rev = "c951737dc855604aba389166bb0e7366afadc533";
-    sha256 = "00iwwz4hzg4g59wrb5df6snqz3ppvrsadhfp61w1pa8gvg2z9bvy";
+    rev = "70da19e4c9210d362b1d6d9c17ab2c034a03250d";
+    sha256 = "sha256-Pxul0WrtyH2XZzF0fOOitLc3x/kc+Qc11RDH0n+Hm04=";
   };
 
   packageRequires = [
     plz
     cl-lib
     ts
+    magit-section
+    taxy-magit-section
+    taxy
+    svg-lib
   ];
 
   patches = [
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
index 56a3b696852..4dc546c6263 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
@@ -233,6 +233,9 @@
 
   sv-kalender = callPackage ./sv-kalender { };
 
+  tree-sitter-langs = callPackage ./tree-sitter-langs { final = self; };
+  tsc = callPackage ./tsc { };
+
   youtube-dl = callPackage ./youtube-dl { };
 
   # From old emacsPackages (pre emacsPackagesNg)
diff --git a/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default-grammars.json b/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default-grammars.json
new file mode 100644
index 00000000000..6a5608cbf8d
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default-grammars.json
@@ -0,0 +1,32 @@
+[
+  "tree-sitter-agda",
+  "tree-sitter-bash",
+  "tree-sitter-c",
+  "tree-sitter-c-sharp",
+  "tree-sitter-cpp",
+  "tree-sitter-css",
+  "tree-sitter-elixir",
+  "tree-sitter-elm",
+  "tree-sitter-fluent",
+  "tree-sitter-go",
+  "tree-sitter-haskell",
+  "tree-sitter-hcl",
+  "tree-sitter-html",
+  "tree-sitter-java",
+  "tree-sitter-javascript",
+  "tree-sitter-jsdoc",
+  "tree-sitter-json",
+  "tree-sitter-julia",
+  "tree-sitter-nix",
+  "tree-sitter-ocaml",
+  "tree-sitter-php",
+  "tree-sitter-prisma",
+  "tree-sitter-python",
+  "tree-sitter-ruby",
+  "tree-sitter-rust",
+  "tree-sitter-scala",
+  "tree-sitter-swift",
+  "tree-sitter-typescript",
+  "tree-sitter-verilog",
+  "tree-sitter-zig"
+]
diff --git a/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default.nix b/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default.nix
new file mode 100644
index 00000000000..e62a37565c8
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, pkgs
+, symlinkJoin
+, fetchzip
+, melpaBuild
+, stdenv
+, fetchFromGitHub
+, writeText
+, melpaStablePackages
+, runCommand
+, tree-sitter-grammars
+, plugins ? map (g: tree-sitter-grammars.${g}) (lib.importJSON ./default-grammars.json)
+, final
+}:
+
+let
+  inherit (melpaStablePackages) tree-sitter-langs;
+
+  libSuffix = if stdenv.isDarwin then "dylib" else "so";
+  soName = g: lib.removeSuffix "-grammar" (lib.removePrefix "tree-sitter-" g.pname) + "." + libSuffix;
+
+  grammarDir = runCommand "emacs-tree-sitter-grammars" {
+    # Fake same version number as upstream language bundle to prevent triggering runtime downloads
+    inherit (tree-sitter-langs) version;
+  } (''
+    install -d $out/langs/bin
+    echo -n $version > $out/langs/bin/BUNDLE-VERSION
+  '' + lib.concatStringsSep "\n" (map (
+    g: "ln -s ${g}/parser $out/langs/bin/${soName g}") plugins
+  ));
+
+in
+melpaStablePackages.tree-sitter-langs.overrideAttrs(old: {
+  postPatch = old.postPatch or "" + ''
+    substituteInPlace ./tree-sitter-langs-build.el \
+    --replace "tree-sitter-langs-grammar-dir tree-sitter-langs--dir"  "tree-sitter-langs-grammar-dir \"${grammarDir}/langs\""
+  '';
+
+  passthru = old.passthru or {} // {
+    inherit plugins;
+    withPlugins = fn: final.tree-sitter-langs.override { plugins = fn tree-sitter-grammars; };
+  };
+
+})
diff --git a/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/update-defaults.py b/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/update-defaults.py
new file mode 100755
index 00000000000..19bcb8989c3
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/tree-sitter-langs/update-defaults.py
@@ -0,0 +1,74 @@
+#!/usr/bin/env nix-shell
+#! nix-shell ../../../../../../. -i python3 -p python3 -p nix
+from os.path import (
+    dirname,
+    abspath,
+    join,
+)
+from typing import (
+    List,
+    Any,
+)
+import subprocess
+import json
+import sys
+import os
+
+
+def fmt_grammar(grammar: str) -> str:
+    return "tree-sitter-" + grammar
+
+
+def eval_expr(nixpkgs: str, expr: str) -> Any:
+    p = subprocess.run(
+        [
+            "nix-instantiate",
+            "--json",
+            "--eval",
+            "--expr",
+            ("with import %s {}; %s" % (nixpkgs, expr)),
+        ],
+        check=True,
+        stdout=subprocess.PIPE,
+    )
+    return json.loads(p.stdout)
+
+
+def check_grammar_exists(nixpkgs: str, grammar: str) -> bool:
+    return eval_expr(
+        nixpkgs, f'lib.hasAttr "{fmt_grammar(grammar)}" tree-sitter-grammars'
+    )
+
+
+def build_attr(nixpkgs, attr: str) -> str:
+    return (
+        subprocess.run(
+            ["nix-build", "--no-out-link", nixpkgs, "-A", attr],
+            check=True,
+            stdout=subprocess.PIPE,
+        )
+        .stdout.decode()
+        .strip()
+    )
+
+
+if __name__ == "__main__":
+    cwd = dirname(abspath(__file__))
+    nixpkgs = abspath(join(cwd, "../../../../../.."))
+
+    src_dir = build_attr(nixpkgs, "emacs.pkgs.tree-sitter-langs.src")
+
+    existing: List[str] = []
+
+    grammars = os.listdir(join(src_dir, "repos"))
+    for g in grammars:
+        exists = check_grammar_exists(nixpkgs, g)
+        if exists:
+            existing.append(fmt_grammar(g))
+        else:
+            sys.stderr.write("Missing grammar: " + fmt_grammar(g) + "\n")
+            sys.stderr.flush()
+
+    with open(join(cwd, "default-grammars.json"), mode="w") as f:
+        json.dump(sorted(existing), f, indent=2)
+        f.write("\n")
diff --git a/pkgs/applications/editors/emacs/elisp-packages/tsc/default.nix b/pkgs/applications/editors/emacs/elisp-packages/tsc/default.nix
new file mode 100644
index 00000000000..a9462298979
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/tsc/default.nix
@@ -0,0 +1,89 @@
+{ lib
+, symlinkJoin
+, melpaBuild
+, fetchFromGitHub
+, rustPlatform
+, writeText
+, clang
+, llvmPackages
+
+, runtimeShell
+, writeScript
+, python3
+, nix-prefetch-github
+, nix
+}:
+
+let
+
+  srcMeta = lib.importJSON ./src.json;
+  inherit (srcMeta) version;
+
+  src = fetchFromGitHub srcMeta.src;
+
+  tsc = melpaBuild {
+    inherit src;
+    inherit version;
+
+    pname = "tsc";
+    commit = version;
+
+    sourceRoot = "source/core";
+
+    recipe = writeText "recipe" ''
+      (tsc
+      :repo "emacs-tree-sitter/elisp-tree-sitter"
+      :fetcher github)
+    '';
+  };
+
+  tsc-dyn = rustPlatform.buildRustPackage {
+    inherit version;
+    inherit src;
+
+    pname = "tsc-dyn";
+
+    nativeBuildInputs = [ clang ];
+    sourceRoot = "source/core";
+
+    configurePhase = ''
+      export LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib"
+    '';
+
+    postInstall = ''
+      LIB=($out/lib/libtsc_dyn.*)
+      TSC_PATH=$out/share/emacs/site-lisp/elpa/tsc-${version}
+      install -d $TSC_PATH
+      install -m444 $out/lib/libtsc_dyn.* $TSC_PATH/''${LIB/*libtsc_/tsc-}
+      echo -n $version > $TSC_PATH/DYN-VERSION
+      rm -r $out/lib
+    '';
+
+    inherit (srcMeta) cargoSha256;
+  };
+
+in symlinkJoin {
+  name = "tsc-${version}";
+  paths = [ tsc tsc-dyn ];
+
+  passthru = {
+    updateScript = let
+      pythonEnv = python3.withPackages(ps: [ ps.requests ]);
+    in writeScript "tsc-update" ''
+      #!${runtimeShell}
+      set -euo pipefail
+      export PATH=${lib.makeBinPath [
+        nix-prefetch-github
+        nix
+        pythonEnv
+      ]}:$PATH
+      exec python3 ${builtins.toString ./update.py} ${builtins.toString ./.}
+    '';
+  };
+
+  meta = {
+    description = "The core APIs of the Emacs binding for tree-sitter.";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ pimeys ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/tsc/src.json b/pkgs/applications/editors/emacs/elisp-packages/tsc/src.json
new file mode 100644
index 00000000000..6aa6fee1830
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/tsc/src.json
@@ -0,0 +1,10 @@
+{
+  "src": {
+    "owner": "emacs-tree-sitter",
+    "repo": "elisp-tree-sitter",
+    "rev": "909717c685ff5a2327fa2ca8fb8a25216129361c",
+    "sha256": "LrakDpP3ZhRQqz47dPcyoQnu5lROdaNlxGaQfQT6u+k="
+  },
+  "version": "0.18.0",
+  "cargoSha256": "sha256-IRCZqszBkGF8anF/kpcPOzHdOP4lAtJBAp6FS5tAOx8="
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/tsc/update.py b/pkgs/applications/editors/emacs/elisp-packages/tsc/update.py
new file mode 100644
index 00000000000..ce2054f909e
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/tsc/update.py
@@ -0,0 +1,122 @@
+#!/usr/bin/env python3
+from textwrap import dedent
+from os.path import (
+    abspath,
+    dirname,
+    join,
+)
+from typing import (
+    Dict,
+    Any,
+)
+import subprocess
+import tempfile
+import json
+import sys
+import re
+
+import requests
+
+
+def eval_drv(nixpkgs: str, expr: str) -> Any:
+    expr = "\n".join(
+        (
+            "with (import %s {});" % nixpkgs,
+            expr,
+        )
+    )
+
+    with tempfile.NamedTemporaryFile(mode="w") as f:
+        f.write(dedent(expr))
+        f.flush()
+        p = subprocess.run(
+            ["nix-instantiate", "--json", f.name], stdout=subprocess.PIPE, check=True
+        )
+
+    return p.stdout.decode().strip()
+
+
+def get_src(tag_name: str) -> Dict[str, str]:
+    p = subprocess.run(
+        [
+            "nix-prefetch-github",
+            "--rev",
+            tag_name,
+            "--json",
+            "emacs-tree-sitter",
+            "elisp-tree-sitter",
+        ],
+        stdout=subprocess.PIPE,
+        check=True,
+    )
+    src = json.loads(p.stdout)
+
+    fields = ["owner", "repo", "rev", "sha256"]
+
+    return {f: src[f] for f in fields}
+
+
+def get_cargo_sha256(drv_path: str):
+    # Note: No check=True since we expect this command to fail
+    p = subprocess.run(["nix-store", "-r", drv_path], stderr=subprocess.PIPE)
+
+    stderr = p.stderr.decode()
+    lines = iter(stderr.split("\n"))
+
+    for l in lines:
+        if l.startswith("error: hash mismatch in fixed-output derivation"):
+            break
+    else:
+        raise ValueError("Did not find expected hash mismatch message")
+
+    for l in lines:
+        m = re.match(r"\s+got:\s+(.+)$", l)
+        if m:
+            return m.group(1)
+
+    raise ValueError("Could not extract actual sha256 hash: ", stderr)
+
+
+if __name__ == "__main__":
+    cwd = sys.argv[1]
+
+    nixpkgs = abspath(join(cwd, "../../../../../.."))
+
+    tag_name = requests.get(
+        "https://api.github.com/repos/emacs-tree-sitter/elisp-tree-sitter/releases/latest"
+    ).json()["tag_name"]
+
+    src = get_src(tag_name)
+
+    with tempfile.NamedTemporaryFile(mode="w") as f:
+        json.dump(src, f)
+        f.flush()
+
+        drv_path = eval_drv(
+            nixpkgs,
+            """
+        rustPlatform.buildRustPackage {
+          pname = "tsc-dyn";
+          version = "%s";
+          nativeBuildInputs = [ clang ];
+          src = fetchFromGitHub (lib.importJSON %s);
+          sourceRoot = "source/core";
+          cargoSha256 = lib.fakeSha256;
+        }
+        """
+            % (tag_name, f.name),
+        )
+
+    cargo_sha256 = get_cargo_sha256(drv_path)
+
+    with open(join(cwd, "src.json"), mode="w") as f:
+        json.dump(
+            {
+                "src": src,
+                "version": tag_name,
+                "cargoSha256": cargo_sha256,
+            },
+            f,
+            indent=2,
+        )
+        f.write("\n")
diff --git a/pkgs/applications/editors/emacs/elisp-packages/update b/pkgs/applications/editors/emacs/elisp-packages/update
new file mode 100755
index 00000000000..02701fb546d
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/update
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+SCRIPT_DIR="$( cd "$(dirname "$0")" ; pwd -P )"
+cd "$SCRIPT_DIR"
+
+./update-from-overlay
+
+./update-manual
+git commit -m "emacs.pkgs.manualPackages: $(date --iso)" -- .
diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-manual b/pkgs/applications/editors/emacs/elisp-packages/update-manual
new file mode 100755
index 00000000000..3b199eecc3d
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/update-manual
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+SCRIPT_DIR="$( cd "$(dirname "$0")" ; pwd -P )"
+cd "$SCRIPT_DIR"
+
+nix-build --no-out-link update-manual.nix | xargs -n 1 -P $(nproc) bash -c
diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-manual.nix b/pkgs/applications/editors/emacs/elisp-packages/update-manual.nix
new file mode 100644
index 00000000000..788d096e6ec
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/update-manual.nix
@@ -0,0 +1,11 @@
+let
+  pkgs = import ../../../../../. {
+    config.allowBroken = true;
+  };
+  inherit (pkgs) lib emacs;
+  inherit (lib) isDerivation hasAttr filterAttrs mapAttrs attrValues;
+
+  # Extract updateScript's from manually package emacs packages
+  hasScript = filterAttrs (_: v: isDerivation v && hasAttr "updateScript" v) emacs.pkgs.manualPackages;
+
+in attrValues (mapAttrs (_: v: v.updateScript) hasScript)
diff --git a/pkgs/applications/editors/emacs/generic.nix b/pkgs/applications/editors/emacs/generic.nix
index 637f5b543cb..b1c8a8d6cc9 100644
--- a/pkgs/applications/editors/emacs/generic.nix
+++ b/pkgs/applications/editors/emacs/generic.nix
@@ -13,6 +13,7 @@
 , sigtool, jansson, harfbuzz, sqlite, nixosTests
 , dontRecurseIntoAttrs, emacsPackagesFor
 , libgccjit, targetPlatform, makeWrapper # native-comp params
+, fetchFromSavannah
 , systemd ? null
 , withX ? !stdenv.isDarwin
 , withNS ? stdenv.isDarwin
@@ -23,7 +24,7 @@
 , withSQLite3 ? false
 , withCsrc ? true
 , withWebP ? false
-, srcRepo ? false, autoreconfHook ? null, texinfo ? null
+, srcRepo ? true, autoreconfHook ? null, texinfo ? null
 , siteStart ? ./site-start.el
 , nativeComp ? false
 , withAthena ? false
@@ -59,8 +60,9 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
 
   patches = patches fetchpatch;
 
-  src = fetchurl {
-    url = "mirror://gnu/emacs/${name}.tar.xz";
+  src = fetchFromSavannah {
+    repo = "emacs";
+    rev = version;
     inherit sha256;
   };
 
diff --git a/pkgs/applications/editors/gnome-builder/default.nix b/pkgs/applications/editors/gnome-builder/default.nix
index 8fd9f56a9d2..7cfde3a91f3 100644
--- a/pkgs/applications/editors/gnome-builder/default.nix
+++ b/pkgs/applications/editors/gnome-builder/default.nix
@@ -5,7 +5,6 @@
 , appstream-glib
 , desktop-file-utils
 , fetchurl
-, fetchpatch
 , flatpak
 , gnome
 , libgit2-glib
@@ -41,23 +40,15 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-builder";
-  version = "42.0";
+  version = "42.1";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "Uu/SltaLL/GCNBwEgdz9cGVMQIvbZ5/Ot225cDwiQo8=";
+    sha256 = "XU1RtwKGW0gBcgHwxgfiSifXIDGo9ciNT86HW1VFZwo=";
   };
 
-  patches = [
-    # Fix appstream validation
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/d7151679e0c925d27216256dc32fe67fb298d059.patch";
-      sha256 = "vdNJawkqSBaFGRZvxzvjOryQpBL4jcN7tr1t3ihD7LA=";
-    })
-  ];
-
   nativeBuildInputs = [
     appstream-glib
     desktop-file-utils
@@ -115,8 +106,6 @@ stdenv.mkDerivation rec {
     "-Dnetwork_tests=false"
   ];
 
-  # Some tests fail due to being unable to find the Vte typelib, and I don't
-  # understand why. Somebody should look into fixing this.
   doCheck = true;
 
   postPatch = ''
diff --git a/pkgs/applications/editors/helix/default.nix b/pkgs/applications/editors/helix/default.nix
index fb1abcd6cff..cb948b99065 100644
--- a/pkgs/applications/editors/helix/default.nix
+++ b/pkgs/applications/editors/helix/default.nix
@@ -17,6 +17,9 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [ makeWrapper ];
 
   postInstall = ''
+    # not needed at runtime
+    rm -r runtime/grammars/sources
+
     mkdir -p $out/lib
     cp -r runtime $out/lib
   '';
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 86eb399dd44..86b4a790d03 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, callPackage, fetchurl
-, jdk, cmake, zlib, python3
-, dotnet-sdk_5
+, jdk, cmake, gdb, zlib, python3
+, dotnet-sdk_6
 , maven
 , autoPatchelfHook
 , libdbusmenu
@@ -53,6 +53,9 @@ let
           # bundled cmake does not find libc
           rm -rf bin/cmake/linux
           ln -s ${cmake} bin/cmake/linux
+          # bundled gdb does not find libcrypto 10
+          rm -rf bin/gdb/linux
+          ln -s ${gdb} bin/gdb/linux
 
           autoPatchelf $PWD/bin
 
@@ -124,7 +127,7 @@ let
           with JUnit, TestNG, popular SCMs, Ant & Maven. Also known
           as IntelliJ.
         '';
-        maintainers = with maintainers; [ edwtjo gytis-ivaskevicius steinybot ];
+        maintainers = with maintainers; [ edwtjo gytis-ivaskevicius steinybot AnatolyPopov ];
         platforms = ideaPlatforms;
       };
     });
@@ -207,7 +210,7 @@ let
       postPatch = lib.optionalString (!stdenv.isDarwin) (attrs.postPatch + ''
         rm -rf lib/ReSharperHost/linux-x64/dotnet
         mkdir -p lib/ReSharperHost/linux-x64/dotnet/
-        ln -s ${dotnet-sdk_5}/bin/dotnet lib/ReSharperHost/linux-x64/dotnet/dotnet
+        ln -s ${dotnet-sdk_6}/bin/dotnet lib/ReSharperHost/linux-x64/dotnet/dotnet
       '');
     });
 
@@ -260,7 +263,7 @@ in
       sha256 = products.clion.sha256;
     };
     wmClass = "jetbrains-clion";
-    update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
+    update-channel = products.clion.update-channel;
   };
 
   datagrip = buildDataGrip rec {
@@ -273,7 +276,7 @@ in
       sha256 = products.datagrip.sha256;
     };
     wmClass = "jetbrains-datagrip";
-    update-channel = "DataGrip RELEASE";
+    update-channel = products.datagrip.update-channel;
   };
 
   goland = buildGoland rec {
@@ -286,7 +289,7 @@ in
       sha256 = products.goland.sha256;
     };
     wmClass = "jetbrains-goland";
-    update-channel = "GoLand RELEASE";
+    update-channel = products.goland.update-channel;
   };
 
   idea-community = buildIdea rec {
@@ -300,7 +303,7 @@ in
       sha256 = products.idea-community.sha256;
     };
     wmClass = "jetbrains-idea-ce";
-    update-channel = "IntelliJ IDEA RELEASE";
+    update-channel = products.idea-community.update-channel;
   };
 
   idea-ultimate = buildIdea rec {
@@ -314,12 +317,12 @@ in
       sha256 = products.idea-ultimate.sha256;
     };
     wmClass = "jetbrains-idea";
-    update-channel = "IntelliJ IDEA RELEASE";
+    update-channel = products.idea-ultimate.update-channel;
   };
 
   mps = buildMps rec {
     pname = "mps";
-    product = "MPS ${products.mps.version-major-minor}";
+    product = "MPS ${products.mps.version}";
     version = products.mps.version;
     description = "Create your own domain-specific language";
     license = lib.licenses.asl20;
@@ -328,7 +331,7 @@ in
       sha256 = products.mps.sha256;
     };
     wmClass = "jetbrains-mps";
-    update-channel = "MPS RELEASE";
+    update-channel = products.mps.update-channel;
   };
 
   phpstorm = buildPhpStorm rec {
@@ -341,7 +344,7 @@ in
       sha256 = products.phpstorm.sha256;
     };
     wmClass = "jetbrains-phpstorm";
-    update-channel = "PhpStorm RELEASE";
+    update-channel = products.phpstorm.update-channel;
   };
 
   pycharm-community = buildPycharm rec {
@@ -355,7 +358,7 @@ in
       sha256 = products.pycharm-community.sha256;
     };
     wmClass = "jetbrains-pycharm-ce";
-    update-channel = "PyCharm RELEASE";
+    update-channel = products.pycharm-community.update-channel;
   };
 
   pycharm-professional = buildPycharm rec {
@@ -369,7 +372,7 @@ in
       sha256 = products.pycharm-professional.sha256;
     };
     wmClass = "jetbrains-pycharm";
-    update-channel = "PyCharm RELEASE";
+    update-channel = products.pycharm-professional.update-channel;
   };
 
   rider = buildRider rec {
@@ -382,7 +385,7 @@ in
       sha256 = products.rider.sha256;
     };
     wmClass = "jetbrains-rider";
-    update-channel = "Rider RELEASE";
+    update-channel = products.rider.update-channel;
   };
 
   ruby-mine = buildRubyMine rec {
@@ -395,7 +398,7 @@ in
       sha256 = products.ruby-mine.sha256;
     };
     wmClass = "jetbrains-rubymine";
-    update-channel = "RubyMine RELEASE";
+    update-channel = products.ruby-mine.update-channel;
   };
 
   webstorm = buildWebStorm rec {
@@ -408,7 +411,7 @@ in
       sha256 = products.webstorm.sha256;
     };
     wmClass = "jetbrains-webstorm";
-    update-channel = "WebStorm RELEASE";
+    update-channel = products.webstorm.update-channel;
   };
 
 }
diff --git a/pkgs/applications/editors/jetbrains/update.py b/pkgs/applications/editors/jetbrains/update.py
index 5301a85ba9a..fe57f75c72e 100755
--- a/pkgs/applications/editors/jetbrains/update.py
+++ b/pkgs/applications/editors/jetbrains/update.py
@@ -1,6 +1,5 @@
 #! /usr/bin/env nix-shell
 #! nix-shell -i python3 -p python3 python3.pkgs.packaging python3.pkgs.requests python3.pkgs.xmltodict
-import hashlib
 import json
 import pathlib
 import logging
@@ -33,7 +32,8 @@ def download_channels():
 
 
 def build_version(build):
-    return version.parse(build["@version"])
+    build_number = build["@fullNumber"] if "@fullNumber" in build else build["@number"]
+    return version.parse(build_number)
 
 
 def latest_build(channel):
@@ -43,11 +43,10 @@ def latest_build(channel):
 
 
 def download_sha256(url):
+    url = f"{url}.sha256"
     download_response = requests.get(url)
     download_response.raise_for_status()
-    h = hashlib.sha256()
-    h.update(download_response.content)
-    return h.hexdigest()
+    return download_response.content.decode('UTF-8').split(' ')[0]
 
 
 channels = download_channels()
@@ -63,18 +62,22 @@ def update_product(name, product):
     else:
         try:
             build = latest_build(channel)
-            version = build["@version"]
-            parsed_version = build_version(build)
-            version_major_minor = f"{parsed_version.major}.{parsed_version.minor}"
-            download_url = product["url-template"].format(version = version, versionMajorMinor = version_major_minor)
+            new_version = build["@version"]
+            new_build_number = build["@fullNumber"]
+            if "EAP" not in channel["@name"]:
+                version_or_build_number = new_version
+            else:
+                version_or_build_number = new_build_number
+            version_number = new_version.split(' ')[0]
+            download_url = product["url-template"].format(version=version_or_build_number, versionMajorMinor=version_number)
             product["url"] = download_url
-            product["version-major-minor"] = version_major_minor
-            if "sha256" not in product or product.get("version") != version:
-                logging.info("Found a newer version %s.", version)
-                product["version"] = version
+            if "sha256" not in product or product.get("build_number") != new_build_number:
+                logging.info("Found a newer version %s with build number %s.", new_version, new_build_number)
+                product["version"] = new_version
+                product["build_number"] = new_build_number
                 product["sha256"] = download_sha256(download_url)
             else:
-                logging.info("Already at the latest version %s.", version)
+                logging.info("Already at the latest version %s with build number %s.", new_version, new_build_number)
         except Exception as e:
             logging.exception("Update failed:", exc_info=e)
             logging.warning("Skipping %s due to the above error.", name)
diff --git a/pkgs/applications/editors/jetbrains/versions.json b/pkgs/applications/editors/jetbrains/versions.json
index 9303fd9a4cd..7e48ace5161 100644
--- a/pkgs/applications/editors/jetbrains/versions.json
+++ b/pkgs/applications/editors/jetbrains/versions.json
@@ -3,26 +3,26 @@
     "clion": {
       "update-channel": "CLion RELEASE",
       "url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz",
-      "version": "2021.3.3",
-      "sha256": "35986be8adfe0a291a0d2d550c1bf4861ae6c33ecbc71198a472e0ac01a0f10d",
-      "url": "https://download.jetbrains.com/cpp/CLion-2021.3.3.tar.gz",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "a8ad8db6362d60a5ce60a7552110887dbd12e8420c839c368b55808b68dea38b",
+      "url": "https://download.jetbrains.com/cpp/CLion-2022.1.tar.gz",
+      "version-major-minor": "2022.1"
     },
     "datagrip": {
       "update-channel": "DataGrip RELEASE",
       "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.tar.gz",
-      "version": "2021.3.4",
-      "sha256": "a34670f1a6c77e00237302a70f22fb5bf089dfe128341fd89b2f25bb8becb325",
-      "url": "https://download.jetbrains.com/datagrip/datagrip-2021.3.4.tar.gz",
-      "version-major-minor": "2021.3"
+      "version": "2022.1.1",
+      "sha256": "d4ffcb4371ee6e9f03704fa6282630349fd4ff4759846c02d43bb37e3caeae67",
+      "url": "https://download.jetbrains.com/datagrip/datagrip-2022.1.1.tar.gz",
+      "version-major-minor": "2022.1.1"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
       "url-template": "https://download.jetbrains.com/go/goland-{version}.tar.gz",
-      "version": "2021.3.3",
-      "sha256": "9d2b709703516eddeb7f4d6568a7de2e268de4258c7bc7787baee806fbaee4a3",
-      "url": "https://download.jetbrains.com/go/goland-2021.3.3.tar.gz",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "7803f432b62b7b9a9f340fd48375f50d60b0e5412b052b70e175de8edf82a947",
+      "url": "https://download.jetbrains.com/go/goland-2022.1.tar.gz",
+      "version-major-minor": "2022.1"
     },
     "idea-community": {
       "update-channel": "IntelliJ IDEA RELEASE",
@@ -51,76 +51,76 @@
     "phpstorm": {
       "update-channel": "PhpStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.tar.gz",
-      "version": "2021.3.2",
-      "sha256": "761b347142035e8b74cc5a9939100af9d45f1f6ee29de1e78cd6b1ff06fe20e2",
-      "url": "https://download.jetbrains.com/webide/PhpStorm-2021.3.2.tar.gz",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "e30d6991c98addcc02ab05c623d0c42797d605db73c01b7c153bf2246c877395",
+      "url": "https://download.jetbrains.com/webide/PhpStorm-2022.1.tar.gz",
+      "version-major-minor": "2022.1"
     },
     "pycharm-community": {
       "update-channel": "PyCharm RELEASE",
       "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.tar.gz",
-      "version": "2021.3.2",
-      "sha256": "f1ae01f471d01c6f09aab0a761c6dea9834ef584f2aaf6d6ebecdce6b55a66e8",
-      "url": "https://download.jetbrains.com/python/pycharm-community-2021.3.2.tar.gz",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "35d857df0ac4bd76caba60ac329c9183594be142094d0592f2afa40534be85eb",
+      "url": "https://download.jetbrains.com/python/pycharm-community-2022.1.tar.gz",
+      "version-major-minor": "2022.1"
     },
     "pycharm-professional": {
       "update-channel": "PyCharm RELEASE",
       "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.tar.gz",
-      "version": "2021.3.2",
-      "sha256": "6bd9573a84c1f2ae6b9b6612f0859aee21133f479ace43602dc0af879f9d9e67",
-      "url": "https://download.jetbrains.com/python/pycharm-professional-2021.3.2.tar.gz",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "9b160ed74f384be31ff376af73f91924a212e6440ce142a581b22f261e6cf605",
+      "url": "https://download.jetbrains.com/python/pycharm-professional-2022.1.tar.gz",
+      "version-major-minor": "2022.1"
     },
     "rider": {
       "update-channel": "Rider RELEASE",
       "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.tar.gz",
-      "version": "2021.3.3",
-      "sha256": "1dc57d5d7932d4a8dea51fc5cbdaa52f9626490092978f02fa15bb41cb84068f",
-      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2021.3.3.tar.gz",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "e5d2018bf352f4ff17299d2ee4f286d654946fe4dac2ff47d3dc853820364673",
+      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.1.tar.gz",
+      "version-major-minor": "2022.1"
     },
     "ruby-mine": {
       "update-channel": "RubyMine RELEASE",
       "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.tar.gz",
-      "version": "2021.3.2",
-      "sha256": "697510ee2401bb7cbe75193f015d8c2dd1677117defbc2a6f5f3c1443f20dea2",
-      "url": "https://download.jetbrains.com/ruby/RubyMine-2021.3.2.tar.gz",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "495c0d86eb7f3bed0ed692a7ae37e8b3b333c58ae891ca3891a311db6b951401",
+      "url": "https://download.jetbrains.com/ruby/RubyMine-2022.1.tar.gz",
+      "version-major-minor": "2022.1"
     },
     "webstorm": {
       "update-channel": "WebStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.tar.gz",
-      "version": "2021.3.2",
-      "sha256": "18a53c1b1b92e9b7e516b425a390f23f46b880a704d1cb223d1ba64410b15060",
-      "url": "https://download.jetbrains.com/webstorm/WebStorm-2021.3.2.tar.gz",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "d9dd5815cc456d74f7dc47533ade3990d0f2f9ce0c4dab3d5ae9b04e01d1746c",
+      "url": "https://download.jetbrains.com/webstorm/WebStorm-2022.1.tar.gz",
+      "version-major-minor": "2022.1"
     }
   },
   "x86_64-darwin": {
     "clion": {
       "update-channel": "CLion RELEASE",
       "url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg",
-      "version": "2021.3.3",
-      "sha256": "342a4d8549ae4623a5edfa7f9737887cf0a25c1a61bb414b54b742b1c5a1a84d",
-      "url": "https://download.jetbrains.com/cpp/CLion-2021.3.3.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "4972403e5ed7587ad76dcfb08b975879a2a955e9be9f88344e369cd4006b2d52",
+      "url": "https://download.jetbrains.com/cpp/CLion-2022.1.dmg",
+      "version-major-minor": "2022.1"
     },
     "datagrip": {
       "update-channel": "DataGrip RELEASE",
       "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}.dmg",
-      "version": "2021.3.4",
-      "sha256": "27e709d2ced66d37a615d8c56885828e49a08962708e28df1a20f324c626bf52",
-      "url": "https://download.jetbrains.com/datagrip/datagrip-2021.3.4.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1.1",
+      "sha256": "6ea0c0c972bad06fd0378a2c1e9a1cb1b3ec50d52cc98d0f9c98327cc7af2a1e",
+      "url": "https://download.jetbrains.com/datagrip/datagrip-2022.1.1.dmg",
+      "version-major-minor": "2022.1.1"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
       "url-template": "https://download.jetbrains.com/go/goland-{version}.dmg",
-      "version": "2021.3.3",
-      "sha256": "4b245b6fe0cf588adbf36e68f12397d5fd311b0b6d49f17ba374ebaa10d207c9",
-      "url": "https://download.jetbrains.com/go/goland-2021.3.3.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "ec44455e83b8c8d85614b63815245a0dff984796a432e05801787c7f8474900b",
+      "url": "https://download.jetbrains.com/go/goland-2022.1.dmg",
+      "version-major-minor": "2022.1"
     },
     "idea-community": {
       "update-channel": "IntelliJ IDEA RELEASE",
@@ -149,76 +149,76 @@
     "phpstorm": {
       "update-channel": "PhpStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.dmg",
-      "version": "2021.3.2",
-      "sha256": "596a9d5fdc30d5fba65ddd482da90f9d555fed748b930587562022bfe7df4e14",
-      "url": "https://download.jetbrains.com/webide/PhpStorm-2021.3.2.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "daa3c749b3a41e106384ac8e003957a46f38dfc844cebfce8c802c4a223535b8",
+      "url": "https://download.jetbrains.com/webide/PhpStorm-2022.1.dmg",
+      "version-major-minor": "2022.1"
     },
     "pycharm-community": {
       "update-channel": "PyCharm RELEASE",
       "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.dmg",
-      "version": "2021.3.2",
-      "sha256": "b8f41f5dddeda0ed5f5c81ba57d2560ccc6e227987882fb6bf305b5d1d8c6909",
-      "url": "https://download.jetbrains.com/python/pycharm-community-2021.3.2.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "99ba20a8b0752ca58e1fc814fb19766fd19c376b42e3cbfa4102c67bc21942ec",
+      "url": "https://download.jetbrains.com/python/pycharm-community-2022.1.dmg",
+      "version-major-minor": "2022.1"
     },
     "pycharm-professional": {
       "update-channel": "PyCharm RELEASE",
       "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.dmg",
-      "version": "2021.3.2",
-      "sha256": "188b998660e7cfb7ac1364c818c008a5608ab2aeb17c6cc19d1d9dda547d3775",
-      "url": "https://download.jetbrains.com/python/pycharm-professional-2021.3.2.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "ab5496370a6145073dbd423e47d6112d9c726a4a286d2528e66711f865d92d56",
+      "url": "https://download.jetbrains.com/python/pycharm-professional-2022.1.dmg",
+      "version-major-minor": "2022.1"
     },
     "rider": {
       "update-channel": "Rider RELEASE",
       "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.dmg",
-      "version": "2021.3.3",
-      "sha256": "41a0939cb6258a0fb303268c5a466a663cf3588af14bcbb351be4c3a1d158094",
-      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2021.3.3.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "38867fb7ca4b5af013f33b4db3b15994b6e732b121176f98480b5ff1b49ef17e",
+      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.1.dmg",
+      "version-major-minor": "2022.1"
     },
     "ruby-mine": {
       "update-channel": "RubyMine RELEASE",
       "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.dmg",
-      "version": "2021.3.2",
-      "sha256": "ba27c14b21d66ca96a64ceb7dc5d9f0952254a5f405b3201f51d2ad3cc749a96",
-      "url": "https://download.jetbrains.com/ruby/RubyMine-2021.3.2.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "b33f34b889fde6ebe6348499e2ad15bb85937aba1e2a8a9543c411b2476ec4ff",
+      "url": "https://download.jetbrains.com/ruby/RubyMine-2022.1.dmg",
+      "version-major-minor": "2022.1"
     },
     "webstorm": {
       "update-channel": "WebStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.dmg",
-      "version": "2021.3.2",
-      "sha256": "932d4920f831d1ceae68a474444c37d986277d8d3288d3aab93dd43d99336a36",
-      "url": "https://download.jetbrains.com/webstorm/WebStorm-2021.3.2.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "0bd2be5ea0ccabfb7a806ca4c46d33f1e9106c2256243c48091ff61d5ac29a08",
+      "url": "https://download.jetbrains.com/webstorm/WebStorm-2022.1.dmg",
+      "version-major-minor": "2022.1"
     }
   },
   "aarch64-darwin": {
     "clion": {
       "update-channel": "CLion RELEASE",
       "url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg",
-      "version": "2021.3.3",
-      "sha256": "fbf651fa4a5925fe729be30ca8a6fa3be84dc4d7827dbcf74f4d28c52b903cc2",
-      "url": "https://download.jetbrains.com/cpp/CLion-2021.3.3-aarch64.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "333d4ac5757f537ad67863dd6fb03644722ab8fce1596976fa99e5ae9de7991c",
+      "url": "https://download.jetbrains.com/cpp/CLion-2022.1-aarch64.dmg",
+      "version-major-minor": "2022.1"
     },
     "datagrip": {
       "update-channel": "DataGrip RELEASE",
       "url-template": "https://download.jetbrains.com/datagrip/datagrip-{version}-aarch64.dmg",
-      "version": "2021.3.4",
-      "sha256": "7a77ba9fce56c781ae6a4fc65eaab4bcc10780b6bd679b04d74146719e42890a",
-      "url": "https://download.jetbrains.com/datagrip/datagrip-2021.3.4-aarch64.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1.1",
+      "sha256": "2ba92ed34366b111a39ba0632d91dbaf232633f5f5557a208dd8ab7696179b6f",
+      "url": "https://download.jetbrains.com/datagrip/datagrip-2022.1.1-aarch64.dmg",
+      "version-major-minor": "2022.1.1"
     },
     "goland": {
       "update-channel": "GoLand RELEASE",
       "url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.dmg",
-      "version": "2021.3.3",
-      "sha256": "54397d48e20fb534206e13f84b35868b1eaea13175176487b1239b23db4e13db",
-      "url": "https://download.jetbrains.com/go/goland-2021.3.3-aarch64.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "0506a817e35a80d3d776484a88bf4136628b589a8f5754833387a8dec99798d3",
+      "url": "https://download.jetbrains.com/go/goland-2022.1-aarch64.dmg",
+      "version-major-minor": "2022.1"
     },
     "idea-community": {
       "update-channel": "IntelliJ IDEA RELEASE",
@@ -247,50 +247,50 @@
     "phpstorm": {
       "update-channel": "PhpStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.dmg",
-      "version": "2021.3.2",
-      "sha256": "ba15c3f843c85141a9adaec1c4611224a853bd98649148751e34ac304591a314",
-      "url": "https://download.jetbrains.com/webide/PhpStorm-2021.3.2-aarch64.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "d13744e7a70a9716f1b99cb9b77c77e17cb4710466a29db490ef6e707a54ae21",
+      "url": "https://download.jetbrains.com/webide/PhpStorm-2022.1-aarch64.dmg",
+      "version-major-minor": "2022.1"
     },
     "pycharm-community": {
       "update-channel": "PyCharm RELEASE",
       "url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.dmg",
-      "version": "2021.3.2",
-      "sha256": "407bf395cfb6d61f1c0861c7679b197238780e82a019e10162b8cd7130edb15a",
-      "url": "https://download.jetbrains.com/python/pycharm-community-2021.3.2-aarch64.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "1873565756716cb0eee23c60068dd5d394413b2b2e54b4b75cbe8b882540a0b7",
+      "url": "https://download.jetbrains.com/python/pycharm-community-2022.1-aarch64.dmg",
+      "version-major-minor": "2022.1"
     },
     "pycharm-professional": {
       "update-channel": "PyCharm RELEASE",
       "url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.dmg",
-      "version": "2021.3.2",
-      "sha256": "12fa34d1e60a555bac230acea9cd46c7adfe9ca42ff3e458c79d33e5b88eb8db",
-      "url": "https://download.jetbrains.com/python/pycharm-professional-2021.3.2-aarch64.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "ba0ea4ff52703a53a9c7e14d42c9ae12688b94364ced77a28d4ed0c417c9642f",
+      "url": "https://download.jetbrains.com/python/pycharm-professional-2022.1-aarch64.dmg",
+      "version-major-minor": "2022.1"
     },
     "rider": {
       "update-channel": "Rider RELEASE",
       "url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.dmg",
-      "version": "2021.3.3",
-      "sha256": "65603860d1fd3134c5659f5a06de7cac17f3183a01056b79cfe72242b99adb37",
-      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2021.3.3-aarch64.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "273f40eda119a034ada821db2257e3b5c2bfb835c287365398237f5d9a9daad3",
+      "url": "https://download.jetbrains.com/rider/JetBrains.Rider-2022.1-aarch64.dmg",
+      "version-major-minor": "2022.1"
     },
     "ruby-mine": {
       "update-channel": "RubyMine RELEASE",
       "url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.dmg",
-      "version": "2021.3.2",
-      "sha256": "33773222b2fa14300de5ed12ca96c3442b933f66cef67cebc9610e5cef51c75e",
-      "url": "https://download.jetbrains.com/ruby/RubyMine-2021.3.2-aarch64.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "06d932a587adcd25b4e70d0b27c2c229381144deaef90cbcdc345edd822e04ed",
+      "url": "https://download.jetbrains.com/ruby/RubyMine-2022.1-aarch64.dmg",
+      "version-major-minor": "2022.1"
     },
     "webstorm": {
       "update-channel": "WebStorm RELEASE",
       "url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.dmg",
-      "version": "2021.3.2",
-      "sha256": "f4788ec0c55123b1f4e14934792f65bf8040e2a2ee673e985b50b8feded60408",
-      "url": "https://download.jetbrains.com/webstorm/WebStorm-2021.3.2-aarch64.dmg",
-      "version-major-minor": "2021.3"
+      "version": "2022.1",
+      "sha256": "96ec148af1b20ea9d2cb6f8b1f268f96607269e8dd3caf521b48464fe21a7177",
+      "url": "https://download.jetbrains.com/webstorm/WebStorm-2022.1-aarch64.dmg",
+      "version-major-minor": "2022.1"
     }
   }
 }
diff --git a/pkgs/applications/editors/lapce/default.nix b/pkgs/applications/editors/lapce/default.nix
index 2da2a1f4677..d13b4c05302 100644
--- a/pkgs/applications/editors/lapce/default.nix
+++ b/pkgs/applications/editors/lapce/default.nix
@@ -17,6 +17,13 @@
 , vulkan-loader
 , copyDesktopItems
 , makeDesktopItem
+, openssl
+, libobjc
+, Security
+, CoreServices
+, ApplicationServices
+, Carbon
+, AppKit
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -40,7 +47,12 @@ rustPlatform.buildRustPackage rec {
     copyDesktopItems
   ];
 
+  # Get openssl-sys to use pkg-config
+  OPENSSL_NO_VENDOR = 1;
+
   buildInputs = [
+    openssl
+  ] ++ lib.optionals stdenv.isLinux [
     freetype
     fontconfig
     libxkbcommon
@@ -50,10 +62,17 @@ rustPlatform.buildRustPackage rec {
     libXrandr
     libXi
     vulkan-loader
+  ] ++ lib.optionals stdenv.isDarwin [
+    libobjc
+    Security
+    CoreServices
+    ApplicationServices
+    Carbon
+    AppKit
   ];
 
   # Add missing vulkan dependency to rpath
-  preFixup = ''
+  preFixup = lib.optionalString stdenv.isLinux ''
     patchelf --add-needed ${vulkan-loader}/lib/libvulkan.so.1 $out/bin/lapce
   '';
 
@@ -76,6 +95,5 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/lapce/lapce";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ elliot ];
-    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/editors/lifeograph/default.nix b/pkgs/applications/editors/lifeograph/default.nix
index b998b02f50d..0a999bf993f 100644
--- a/pkgs/applications/editors/lifeograph/default.nix
+++ b/pkgs/applications/editors/lifeograph/default.nix
@@ -1,21 +1,21 @@
 { stdenv, lib, fetchgit, pkg-config, meson, ninja
-, enchant, gtkmm3, libchamplain, libgcrypt }:
+, enchant, gtkmm3, libchamplain, libgcrypt, shared-mime-info }:
 
 stdenv.mkDerivation rec {
   pname = "lifeograph";
-  version = "2.0.2";
+  version = "2.0.3";
 
   src = fetchgit {
     url = "https://git.launchpad.net/lifeograph";
-    # Specific commit hash related to version
-    rev = "d635bbb30011c0d33c33643e6fa5c006f98ed7d6";
-    sha256 = "0j9wn5bj7cbfnmyyx7ikx961sksv50agnb53prymldbsq43rfgnq";
+    rev = "v${version}";
+    sha256 = "sha256-RotbTdTtpwXmo+UKOyp93IAC6CCstv++KtnX2doN+nM=";
   };
 
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
+    shared-mime-info # for update-mime-database
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/editors/mg/default.nix b/pkgs/applications/editors/mg/default.nix
index c6f014238ea..8545be13e3b 100644
--- a/pkgs/applications/editors/mg/default.nix
+++ b/pkgs/applications/editors/mg/default.nix
@@ -11,6 +11,10 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-qnb0yB/NNJV257dsLmP84brajoRG03U+Ja1ACYbBvbE=";
   };
 
+  postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    substituteInPlace configure --replace "./conftest" "echo"
+  '';
+
   enableParallelBuilding = true;
 
   makeFlags = [ "PKG_CONFIG=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config" ];
diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
index 7a1975c37c6..9a8aaeeb56c 100644
--- a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
+++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
@@ -1,9 +1,9 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    msgpack (1.4.2)
+    msgpack (1.5.1)
     multi_json (1.15.0)
-    neovim (0.8.1)
+    neovim (0.9.0)
       msgpack (~> 1.1)
       multi_json (~> 1.0)
 
diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
index 60dcc8ba383..1a4f517412f 100644
--- a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
+++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
@@ -4,17 +4,17 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6";
+      sha256 = "sha256-fPWiGi0w4OFlMZOIf3gd21jyeYhg5t/VdLz7kK9fD8Q=";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "1.5.1";
   };
   multi_json = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z";
+      sha256 = "sha256-H9BBOLbkqQAX6NG4BMA5AxOZhm/z+6u3girqNnx4YV0=";
       type = "gem";
     };
     version = "1.15.0";
@@ -25,9 +25,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lfrbi4r6lagn2q92lyivk2w22i2spw0jbdzxxlcfj2zhv2wnvvi";
+      sha256 = "sha256-hRI43XGHGeqxMvpFjp0o79GGReiLXTkhwh5LYq6AQL4=";
       type = "gem";
     };
-    version = "0.8.1";
+    version = "0.9.0";
   };
 }
diff --git a/pkgs/applications/editors/oed/default.nix b/pkgs/applications/editors/oed/default.nix
index 2281ca8c08b..f4012220c50 100644
--- a/pkgs/applications/editors/oed/default.nix
+++ b/pkgs/applications/editors/oed/default.nix
@@ -14,6 +14,15 @@ stdenv.mkDerivation rec {
     hash = "sha256-Z8B1RIFve3UPj+9G/WJX0BNc2ynG/qtoGfoesarYGz8=";
   };
 
+  postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    substituteInPlace configure --replace "./conftest" "echo"
+  '';
+
+  installPhase = ''
+    install -m755 -Dt $out/bin ed
+    install -m644 -Dt $out/share/man/man1 ed.1
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/ibara/oed";
     description = "Portable ed editor from OpenBSD";
diff --git a/pkgs/applications/editors/okteta/default.nix b/pkgs/applications/editors/okteta/default.nix
index c775a493f16..aee98d9a612 100644
--- a/pkgs/applications/editors/okteta/default.nix
+++ b/pkgs/applications/editors/okteta/default.nix
@@ -26,6 +26,8 @@ mkDerivation rec {
     kcrash
   ];
 
+  outputs = [ "out" "dev" ];
+
   meta = with lib; {
     license = licenses.gpl2;
     description = "A hex editor";
diff --git a/pkgs/applications/editors/oni2/common.nix b/pkgs/applications/editors/oni2/common.nix
index e049c3ae641..6cd4ddca4a1 100644
--- a/pkgs/applications/editors/oni2/common.nix
+++ b/pkgs/applications/editors/oni2/common.nix
@@ -95,7 +95,6 @@ in stdenv.mkDerivation (rec {
     clang
     makeWrapper
     nodePackages.esy
-    bash
     perl
     which
     nasm
diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix
index eada77eea84..8d4aa112cdb 100644
--- a/pkgs/applications/editors/rstudio/default.nix
+++ b/pkgs/applications/editors/rstudio/default.nix
@@ -154,7 +154,7 @@ in
     hunspellDictionaries = with lib; filter isDerivation (unique (attrValues hunspellDicts));
     # These dicts contain identically-named dict files, so we only keep the
     # -large versions in case of clashes
-    largeDicts = with lib; filter (d: hasInfix "-large-wordlist" d) hunspellDictionaries;
+    largeDicts = with lib; filter (d: hasInfix "-large-wordlist" d.name) hunspellDictionaries;
     otherDicts = with lib; filter
       (d: !(hasAttr "dictFileName" d &&
         elem d.dictFileName (map (d: d.dictFileName) largeDicts)))
diff --git a/pkgs/applications/editors/texmaker/default.nix b/pkgs/applications/editors/texmaker/default.nix
index 4c176bab057..693362f95f6 100644
--- a/pkgs/applications/editors/texmaker/default.nix
+++ b/pkgs/applications/editors/texmaker/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "texmaker";
-  version = "5.1.2";
+  version = "5.1.3";
 
   src = fetchurl {
     url = "http://www.xm1math.net/texmaker/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-UmiW8sGuVhEw7seq6BW53Nqejut3K2VB0NyUzpGnEEQ=";
+    sha256 = "0qczc2r01vhap11xmqizwbq21ggn4yjrxim8iqjxaq9w1rg2x9dz";
   };
 
   buildInputs = [ qtbase qtscript poppler zlib qtwebengine ];
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index 4e7bfc2cff7..89896b9dd85 100644
--- a/pkgs/applications/editors/texstudio/default.nix
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "texstudio";
-  version = "4.2.2";
+  version = "4.2.3";
 
   src = fetchFromGitHub {
     owner = "${pname}-org";
     repo = pname;
     rev = version;
-    sha256 = "sha256-MZz8DQT1f6RU+euEED1bbg2MsaqC6+W3RoMk2qfIjr4=";
+    sha256 = "19z9dx8258qbjyzgskkg0xdn88mvx191y1sz4nk15yxsdyf2z3p8";
   };
 
   nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ];
diff --git a/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix b/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix
index 3d36edb3232..187c068c0f0 100644
--- a/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix
+++ b/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix
@@ -1,6 +1,7 @@
 { lib, stdenv
 , rtpPath
 , vim
+, vimCommandCheckHook
 , vimGenDocHook
 }:
 
@@ -30,6 +31,7 @@ rec {
       forceShare= [ "man" "info" ];
 
       nativeBuildInputs = attrs.nativeBuildInputs or []
+      ++ [ vimCommandCheckHook ]
       ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) vimGenDocHook;
       inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
 
diff --git a/pkgs/applications/editors/vim/plugins/default.nix b/pkgs/applications/editors/vim/plugins/default.nix
index 1e847e69540..c6ef409d637 100644
--- a/pkgs/applications/editors/vim/plugins/default.nix
+++ b/pkgs/applications/editors/vim/plugins/default.nix
@@ -3,7 +3,8 @@
 
 let
 
-  inherit (vimUtils.override {inherit vim;}) buildVimPluginFrom2Nix vimGenDocHook;
+  inherit (vimUtils.override {inherit vim;})
+    buildVimPluginFrom2Nix vimGenDocHook vimCommandCheckHook;
 
   inherit (lib) extends;
 
@@ -12,7 +13,10 @@ let
     toVimPlugin = drv:
       drv.overrideAttrs(oldAttrs: {
 
-        nativeBuildInputs = oldAttrs.nativeBuildInputs or [] ++ [ vimGenDocHook ];
+        nativeBuildInputs = oldAttrs.nativeBuildInputs or [] ++ [
+          vimGenDocHook
+          vimCommandCheckHook
+        ];
         passthru = (oldAttrs.passthru or {}) // {
           vimPlugin = true;
         };
@@ -21,6 +25,7 @@ let
 
   plugins = callPackage ./generated.nix {
     inherit buildVimPluginFrom2Nix;
+    inherit (vimUtils) buildNeovimPluginFrom2Nix;
   };
 
   # TL;DR
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 88853f3e7d3..dcbadc30a25 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -1,5 +1,5 @@
 # This file has been generated by ./pkgs/applications/editors/vim/plugins/update.py. Do not edit!
-{ lib, buildVimPluginFrom2Nix, fetchFromGitHub, fetchgit }:
+{ lib, buildVimPluginFrom2Nix, buildNeovimPluginFrom2Nix, fetchFromGitHub, fetchgit }:
 
 final: prev:
 {
@@ -53,12 +53,12 @@ final: prev:
 
   Coqtail = buildVimPluginFrom2Nix {
     pname = "Coqtail";
-    version = "2022-04-15";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "whonore";
       repo = "Coqtail";
-      rev = "93fca5d307007c05722050ffa8b4e508ca6f3b81";
-      sha256 = "022wv0lpz50ihvnkc38rmds0dl4g4b71yig9dc8nn8sicyv0312w";
+      rev = "0b8f2408f96481a373f336b4405af03008e39a4e";
+      sha256 = "1v36ndpx8jaipav30ailxpadvzk5qxmgphd1p0hck50mdngpynki";
     };
     meta.homepage = "https://github.com/whonore/Coqtail/";
   };
@@ -77,12 +77,12 @@ final: prev:
 
   FTerm-nvim = buildVimPluginFrom2Nix {
     pname = "FTerm.nvim";
-    version = "2022-04-17";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "numToStr";
       repo = "FTerm.nvim";
-      rev = "c2a4c4bbd00da68d864683cd09a5d3a2b80de11d";
-      sha256 = "01xscq18slsib2liqp7mbd4wil6l61m2ipihg2i6a14s9bcd1b0y";
+      rev = "11ec9290389d22215df93e1c9c35f782c5ceec4a";
+      sha256 = "16nli4nwsqn3zrc05m6w2h05ab423w8jjk81lys5kd609521wi0y";
     };
     meta.homepage = "https://github.com/numToStr/FTerm.nvim/";
   };
@@ -149,12 +149,12 @@ final: prev:
 
   LeaderF = buildVimPluginFrom2Nix {
     pname = "LeaderF";
-    version = "2022-04-19";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "LeaderF";
-      rev = "ecd38845d65ffbe4b080cc3c2c1c7f0bfe835bb3";
-      sha256 = "0cjx9v0fafm2npknr85wb37934ysdggnmiwr9cwbd5risp9ircwh";
+      rev = "2817a561495f19a37369c72a1685e3e1e4c3c09d";
+      sha256 = "1xxsm1b2v5wdy4psjcggm4ssgdq2j8q9ds98j1ky8l7carj0qfwn";
     };
     meta.homepage = "https://github.com/Yggdroot/LeaderF/";
   };
@@ -173,12 +173,12 @@ final: prev:
 
   Navigator-nvim = buildVimPluginFrom2Nix {
     pname = "Navigator.nvim";
-    version = "2022-04-11";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "numToStr";
       repo = "Navigator.nvim";
-      rev = "52225923679ec866651bb0c2e0691374131ec939";
-      sha256 = "0knzisdbaa3aa20ai8lwi8v4ai49jl741a1slpcrjnm6zhb484nv";
+      rev = "0c57f67a34eff7fd20785861926b7fe6bd76e2c2";
+      sha256 = "1f1fh5w2hsf16dcd0zz5x4d5ig089bgr7dial3ir82445g7whwsc";
     };
     meta.homepage = "https://github.com/numToStr/Navigator.nvim/";
   };
@@ -269,12 +269,12 @@ final: prev:
 
   SchemaStore-nvim = buildVimPluginFrom2Nix {
     pname = "SchemaStore.nvim";
-    version = "2022-04-19";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "b0o";
       repo = "SchemaStore.nvim";
-      rev = "4112585513210a3a55e587344649a4bfb8709bdc";
-      sha256 = "1sjm13vq8608xwfhc9hyfn1n4bwpgivnpw04331giwmf4j3kp422";
+      rev = "24e03a0e7c100336efdef5035eb6e59ac3f7ed4a";
+      sha256 = "0hjysfszcaw2i2awkv0sbhnj0x5jcl7s6jmb279m7gcf7giwvghk";
     };
     meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
   };
@@ -305,12 +305,12 @@ final: prev:
 
   SimpylFold = buildVimPluginFrom2Nix {
     pname = "SimpylFold";
-    version = "2021-11-04";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "tmhedberg";
       repo = "SimpylFold";
-      rev = "b4a87e509c3d873238a39d1c85d0b97d6819f283";
-      sha256 = "0ff5x7ay67wn9c0mi8sb6110i93zrf97c4whg0bd7pr2nmadpvk0";
+      rev = "ff4c85197c5555715093c08a8d4f9d493c4d80cd";
+      sha256 = "1ny3dicin979irwp8gv993005yxgzx1h5snihpa0na2p38mkdp25";
     };
     meta.homepage = "https://github.com/tmhedberg/SimpylFold/";
   };
@@ -329,12 +329,12 @@ final: prev:
 
   SpaceVim = buildVimPluginFrom2Nix {
     pname = "SpaceVim";
-    version = "2022-04-19";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "SpaceVim";
       repo = "SpaceVim";
-      rev = "a1b65988e72a091334cedfe7ed1d067819f4e1eb";
-      sha256 = "096q33lrgn4i8ic6y66snb312ly3rdxm8a15mykawn1n533d04nq";
+      rev = "97b010245f42bda351fd050a3c6ccf7806b9b007";
+      sha256 = "1plfcrigk1s2l8ig0y6vf7awidbdj3p985pzjl19nrv93g49d71f";
     };
     meta.homepage = "https://github.com/SpaceVim/SpaceVim/";
   };
@@ -486,12 +486,12 @@ final: prev:
 
   aerial-nvim = buildVimPluginFrom2Nix {
     pname = "aerial.nvim";
-    version = "2022-04-19";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "aerial.nvim";
-      rev = "6d5246a3f0d2861eaad4121eb467bc5e6537690d";
-      sha256 = "0by8s35hhvk38l79y5nm88cvwy53vx21ps1wg9niway5xrp0khcs";
+      rev = "8d2ef96e44768250a652826c6586005f40eeac7f";
+      sha256 = "0lgn1p381bxr69j1bb2hfj1y51x941p9yjqfg8nd84ka1qy4hjyx";
     };
     meta.homepage = "https://github.com/stevearc/aerial.nvim/";
   };
@@ -522,12 +522,12 @@ final: prev:
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2022-04-06";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "607f33a1b0f662d9809d54363e8e81a4965862ce";
-      sha256 = "0bqd1h1hid68x51032ysr44i4gg12xkqqfj1zn3hli31xf9zgcnx";
+      rev = "56399106fcf9d80d476307576bc307e67f0167e2";
+      sha256 = "0mc125zrbipikxdffvcn39cqphz0y2lavsbsh4x4604af74va0dv";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -546,12 +546,12 @@ final: prev:
 
   aniseed = buildVimPluginFrom2Nix {
     pname = "aniseed";
-    version = "2022-04-09";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "aniseed";
-      rev = "c55d4879935f07dbf46e86389246449d7af272b1";
-      sha256 = "0yghy4yh5qw5x2qxwz8wp27gmhh7yp0pcgkdv2p1lcilvdz9321s";
+      rev = "618c2115d5046cc04c8a4af7727ee4d90fc2061c";
+      sha256 = "1pz021rk2y0ngprhhhavs7xxnzf5sa9002rgs2wxlf36czqlf75q";
     };
     meta.homepage = "https://github.com/Olical/aniseed/";
   };
@@ -654,12 +654,12 @@ final: prev:
 
   asynctasks-vim = buildVimPluginFrom2Nix {
     pname = "asynctasks.vim";
-    version = "2022-04-06";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "skywind3000";
       repo = "asynctasks.vim";
-      rev = "f1da08bb6bc1a458a7d0b3325eeabd0c77e08ff5";
-      sha256 = "1whc7irj0p07x3iy2r2rkkx89flsbv42pbjjbvhkj90fsv9wxcpd";
+      rev = "9cdb34314d5066b40627c83829b9d04943c9c66d";
+      sha256 = "1cjlnwgqyy95xq9nkzx7mp2iqwwd47yyp6y0mng8hrnhn4ixdfkw";
     };
     meta.homepage = "https://github.com/skywind3000/asynctasks.vim/";
   };
@@ -714,12 +714,12 @@ final: prev:
 
   auto-session = buildVimPluginFrom2Nix {
     pname = "auto-session";
-    version = "2022-04-12";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "auto-session";
-      rev = "e840b844abcc19ad6e406b193a2a5ce285238458";
-      sha256 = "0yx662qipzdmg28x0h454y95jrp952p51pl9h1dxjnwyswn8xrnm";
+      rev = "4b1c978c6fb73e1e59f988fe85cfa51347a86e8a";
+      sha256 = "154s0kfhvmyvcbdmy62v00jlmnfgnkmv4ilwf8hig4qxn1376arw";
     };
     meta.homepage = "https://github.com/rmagatti/auto-session/";
   };
@@ -894,12 +894,12 @@ final: prev:
 
   bufferline-nvim = buildVimPluginFrom2Nix {
     pname = "bufferline.nvim";
-    version = "2022-04-20";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "bufferline.nvim";
-      rev = "f02e19bd29a27944e6bcc1e7a492fe07534b6630";
-      sha256 = "10gwj4kd7kngcrfgm4jja08ss5hza7s1bzs11fjk08y489mhracp";
+      rev = "2d5266d14b7b5dbc54923469b4599f0349f7cedc";
+      sha256 = "0i8k8paa23v0l011lvydcv45c4jnr8wfiiwyw16hhndfamcwhgfh";
     };
     meta.homepage = "https://github.com/akinsho/bufferline.nvim/";
   };
@@ -1050,24 +1050,24 @@ final: prev:
 
   cmp-calc = buildVimPluginFrom2Nix {
     pname = "cmp-calc";
-    version = "2022-04-12";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-calc";
-      rev = "3bb9f0da74979ed1f5d77afa26aa8155daa9288f";
-      sha256 = "1qvpd3xx42rg38zdni85bcvakln5dz4xh79rqxa6z21dd3clp3ch";
+      rev = "f7efc20768603bd9f9ae0ed073b1c129f63eb312";
+      sha256 = "0q5p5s46bh0h1w9p3yzwxd04hlbxg3s4liq42r697gqvna6sq0yg";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-calc/";
   };
 
   cmp-cmdline = buildVimPluginFrom2Nix {
     pname = "cmp-cmdline";
-    version = "2022-02-13";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-cmdline";
-      rev = "f4beb74e8e036f9532bedbcac0b93c7a55a0f8b0";
-      sha256 = "0spc5vhrcz2ld1cxf9n27mhhfdwm0v89xbbyzbi9hshzfssndagh";
+      rev = "c36ca4bc1dedb12b4ba6546b96c43896fd6e7252";
+      sha256 = "04h6np207781l3wa36l6nqd56lx39s1kycf4jvclgfrr6ddnbv68";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-cmdline/";
   };
@@ -1110,12 +1110,12 @@ final: prev:
 
   cmp-nvim-lsp = buildVimPluginFrom2Nix {
     pname = "cmp-nvim-lsp";
-    version = "2022-01-15";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-nvim-lsp";
-      rev = "ebdfc204afb87f15ce3d3d3f5df0b8181443b5ba";
-      sha256 = "0kmaxxdxlp1s5w36khnw0sdrbv1lr3p5n9r90h6h7wv842n4mnca";
+      rev = "e6b5feb2e6560b61f31c756fb9231a0d7b10c73d";
+      sha256 = "0jzgd9g874w507y40fzggbm40n467g8br5xcmgf2mscdb9kcsgvc";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-nvim-lsp/";
   };
@@ -1146,12 +1146,12 @@ final: prev:
 
   cmp-nvim-ultisnips = buildVimPluginFrom2Nix {
     pname = "cmp-nvim-ultisnips";
-    version = "2022-04-15";
+    version = "2022-04-22";
     src = fetchFromGitHub {
       owner = "quangnguyen30192";
       repo = "cmp-nvim-ultisnips";
-      rev = "c6ace8ca97ca7db5cca319759efd93fbf6cc0bce";
-      sha256 = "0jys7fl9r6n7khacypkg643lk2aadsnniyrm7nar0k08swdwhl48";
+      rev = "21f02b62deb409ce69928a23406076bd0043ddbc";
+      sha256 = "0jil0i9g33i0h3ynng58qaam5k18sdlqdzrbyqgn4gjzchcxpfqv";
     };
     meta.homepage = "https://github.com/quangnguyen30192/cmp-nvim-ultisnips/";
   };
@@ -1170,12 +1170,12 @@ final: prev:
 
   cmp-pandoc-references = buildVimPluginFrom2Nix {
     pname = "cmp-pandoc-references";
-    version = "2022-02-16";
+    version = "2022-04-20";
     src = fetchFromGitHub {
       owner = "jc-doyle";
       repo = "cmp-pandoc-references";
-      rev = "13e6c080fb16836f52c7fc498eecaae51adb4d54";
-      sha256 = "10pyzv4pdis05ap9jrz6wszxjha0m3bdjv6pd7xqm1hqahsyf4qs";
+      rev = "2c808dff631a783ddd2c554c4c6033907589baf6";
+      sha256 = "0knwxs6bg6r5hw2g668j34xr5yvqmcvcqyjfpnmpf5y5m82vahxw";
     };
     meta.homepage = "https://github.com/jc-doyle/cmp-pandoc-references/";
   };
@@ -1230,12 +1230,12 @@ final: prev:
 
   cmp-treesitter = buildVimPluginFrom2Nix {
     pname = "cmp-treesitter";
-    version = "2021-12-02";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "cmp-treesitter";
-      rev = "a6b4c95ee922cace635b5a46c7fcc691d2559fbb";
-      sha256 = "068x8n63iavycf5fsc5jf2p8i3cs697r60k54j7rm076bpbmnisa";
+      rev = "c5187c31abd081ecef8b41e5eb476b7340442310";
+      sha256 = "1jhzw7myrwqgybvkm53mk8zgfz56pzr7cnsrzcr4fl6wnm59a3b5";
     };
     meta.homepage = "https://github.com/ray-x/cmp-treesitter/";
   };
@@ -1266,12 +1266,12 @@ final: prev:
 
   cmp_luasnip = buildVimPluginFrom2Nix {
     pname = "cmp_luasnip";
-    version = "2022-04-01";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "saadparwaiz1";
       repo = "cmp_luasnip";
-      rev = "b10829736542e7cc9291e60bab134df1273165c9";
-      sha256 = "1qygdas99m7py98rqxyza88lmk2as8yi9khjac603x6anxmq766l";
+      rev = "a9de941bcbda508d0a45d28ae366bb3f08db2e36";
+      sha256 = "0mh7gimav9p6cgv4j43l034dknz8szsnmrz49b2ra04yk9ihk1zj";
     };
     meta.homepage = "https://github.com/saadparwaiz1/cmp_luasnip/";
   };
@@ -1314,12 +1314,12 @@ final: prev:
 
   coc-lua = buildVimPluginFrom2Nix {
     pname = "coc-lua";
-    version = "2022-04-20";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "josa42";
       repo = "coc-lua";
-      rev = "0df59c8c81acfb7b0abadd49222a769ddf0730ec";
-      sha256 = "0ij2q9q96dv3rms6qdjsqvgyl0fk3w1h67fhjq7kcagci78cka9k";
+      rev = "3601c8ddde380349764fc0bc016b915703c9ad86";
+      sha256 = "1w9b4kicsa0r0fxcgcxq3wn0scyyyzfh3akp3zznli9g1fgbiqnx";
     };
     meta.homepage = "https://github.com/josa42/coc-lua/";
   };
@@ -1374,24 +1374,24 @@ final: prev:
 
   coc-nvim = buildVimPluginFrom2Nix {
     pname = "coc.nvim";
-    version = "2022-04-19";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "6f81e3034bf04f2d8d65b82b3ac15d93b737cf0b";
-      sha256 = "0hx8g0xlh0n6yqpv58s8vb2k0gdh1h13d05l1m3wn3gpvid17xi3";
+      rev = "83a5f083d7ed76899729f25063a5ab9c326e5f02";
+      sha256 = "1pwi1l4h6hdr45z5lnw3mjbpr3jx6iipnaz5bla64cq7cgf98nw6";
     };
     meta.homepage = "https://github.com/neoclide/coc.nvim/";
   };
 
   codi-vim = buildVimPluginFrom2Nix {
     pname = "codi.vim";
-    version = "2022-04-16";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "metakirby5";
       repo = "codi.vim";
-      rev = "d9a93193dbb23516eebb19ef5ba01b43287ea35d";
-      sha256 = "0yk3jfp8r432s0kan0g6ml0yyz731yygv0zzpx75l9lfagdv0xpy";
+      rev = "086593fbf5f0891c9fa93cf14453ad14a79d3ed0";
+      sha256 = "0m8hgchb927kgcz65fkmk61w6ma5hvqfr221r7f9jbjzj49laaxd";
     };
     meta.homepage = "https://github.com/metakirby5/codi.vim/";
   };
@@ -1435,12 +1435,12 @@ final: prev:
 
   comment-nvim = buildVimPluginFrom2Nix {
     pname = "comment.nvim";
-    version = "2022-04-19";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "numtostr";
       repo = "comment.nvim";
-      rev = "ef3e6bfa41073a73c298ae90d2796f8ceda71c6a";
-      sha256 = "1ki607wsam22h01gwq8a4vw3jq1yj2zmfp2laglh5cy5dgarm4vv";
+      rev = "cb0de89ba80b7cdb37b92e2a9e43b566f8834c7a";
+      sha256 = "17pshx6jq82nfjn2w65i0d3zh53r5b07lc2bh2aqpm5x2c5bhn3h";
     };
     meta.homepage = "https://github.com/numtostr/comment.nvim/";
   };
@@ -1579,12 +1579,12 @@ final: prev:
 
   conjure = buildVimPluginFrom2Nix {
     pname = "conjure";
-    version = "2022-04-09";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "conjure";
-      rev = "422cadf51dd44306713f3f7965e40ec606290c49";
-      sha256 = "04m1p4l2i61g7d3yax1g7c1h38pkkzz1jvirvd1xcyzw08wn7ldh";
+      rev = "842c81892648de759e639ad2d395757b98be06d5";
+      sha256 = "1g67miifvysa4lbbvpa5bpxyw2fvjkq7anj6bqx65m81d4krlwr8";
     };
     meta.homepage = "https://github.com/Olical/conjure/";
   };
@@ -1627,12 +1627,12 @@ final: prev:
 
   coq_nvim = buildVimPluginFrom2Nix {
     pname = "coq_nvim";
-    version = "2022-04-20";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq_nvim";
-      rev = "0502a7f14ab73b80353d076842d58730a0239a16";
-      sha256 = "1s46iafdwxr20qw08si0lwbh81x9ffh2wvd4rxcyvhlxc7h686rp";
+      rev = "b443ff20dd28d90231dad463bcdbf342e53d13f3";
+      sha256 = "14a3942nphlqfr9s4cwx8fa1n1yj1rqhk65bbp6z7zaw7x8g7jmf";
     };
     meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
   };
@@ -1663,12 +1663,12 @@ final: prev:
 
   crates-nvim = buildVimPluginFrom2Nix {
     pname = "crates.nvim";
-    version = "2022-04-19";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "saecki";
       repo = "crates.nvim";
-      rev = "fc46bf69f0b2293f25581123b46023226d102cc1";
-      sha256 = "079hraq9cjxjpqrli4y2nk9xwpvkhxmrbrhxq9by1wb1q1a39da3";
+      rev = "ce6da0ec93d8160e2bf1f0850bc3d0eec1a2e383";
+      sha256 = "1yl0b3fx71axpn1n6dwpdijdq8zjdb028a1gfzzwa6b62ry1qc0q";
     };
     meta.homepage = "https://github.com/saecki/crates.nvim/";
   };
@@ -1795,12 +1795,12 @@ final: prev:
 
   defx-nvim = buildVimPluginFrom2Nix {
     pname = "defx.nvim";
-    version = "2022-04-14";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "b636df644005bb4805cba70b238df73b302640eb";
-      sha256 = "1aha5vashdiz59iy8l8kbkyvwngw5m7n131k7ar82gxi0zqsj6q8";
+      rev = "fd5f9416d6acc908660ccca0799109a9a4f0a2d2";
+      sha256 = "0dwznzxpsj2xd0hvybg67h6j5kxbk8qsy60axbqx65da7a54yd3j";
     };
     meta.homepage = "https://github.com/Shougo/defx.nvim/";
   };
@@ -1855,12 +1855,12 @@ final: prev:
 
   deol-nvim = buildVimPluginFrom2Nix {
     pname = "deol.nvim";
-    version = "2022-03-16";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "4ecffa4502a65f90397c2194ae308dac49194a65";
-      sha256 = "1h23nmqpf5782r3fj945ck0dn0sa6vb0m03sbb4fzd707k6xwnl9";
+      rev = "0bdb926d328765144dd788c062161c565dc38732";
+      sha256 = "0c4dl37npass3n2dx6459dm1bk30fhy5yaphxjg897wz61xn622x";
     };
     meta.homepage = "https://github.com/Shougo/deol.nvim/";
   };
@@ -2169,12 +2169,12 @@ final: prev:
 
   dressing-nvim = buildVimPluginFrom2Nix {
     pname = "dressing.nvim";
-    version = "2022-03-31";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "dressing.nvim";
-      rev = "cad08fac5ed6d5e8384d8c0759268e2f6b89b217";
-      sha256 = "0lc04cvq6iasg724zhpzp1j3bhwj4gphvqbzfh41ikzsy8d2jrpy";
+      rev = "a476efd3f372d6b5b0df431cac36911fb84c515e";
+      sha256 = "1n15lzjma6mpaphx6ppmhsgvg51vbrp91qf3nssyvr5n2vpjhhfy";
     };
     meta.homepage = "https://github.com/stevearc/dressing.nvim/";
   };
@@ -2193,12 +2193,12 @@ final: prev:
 
   edge = buildVimPluginFrom2Nix {
     pname = "edge";
-    version = "2022-04-14";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "edge";
-      rev = "957a0f4d17f253ac23f9c870eb92d7ad2ea4b7e0";
-      sha256 = "15m6b5svvcfsmiq87vhn77q5z7zg22vpnh9qbcv0y6cd04s69n2d";
+      rev = "fb5a763f2591bed8d10562edbd0e64c88cc5e674";
+      sha256 = "0p79ck2n94argr7k8glwpmmzf6945mh4gb23p5hd5m8a02ys7ax4";
     };
     meta.homepage = "https://github.com/sainnhe/edge/";
   };
@@ -2279,12 +2279,12 @@ final: prev:
 
   everforest = buildVimPluginFrom2Nix {
     pname = "everforest";
-    version = "2022-04-14";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "everforest";
-      rev = "64f486a4856bfbfd6604c700c938b34cf551561b";
-      sha256 = "18yxab99d9cy45ir2dfqr8wi0s56qyrzglgcslp97wnjiq79673d";
+      rev = "1e594a20ce382bcc55c0e3fd488e90ca68dffb32";
+      sha256 = "1415759zc6fp39h0xzpb2d99m4xsh5ma84j6yv236zb0bavm88ah";
     };
     meta.homepage = "https://github.com/sainnhe/everforest/";
   };
@@ -2460,12 +2460,12 @@ final: prev:
 
   formatter-nvim = buildVimPluginFrom2Nix {
     pname = "formatter.nvim";
-    version = "2022-03-29";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "mhartington";
       repo = "formatter.nvim";
-      rev = "bec8a57d6e990a503e87eb71ae530cd2c1402e31";
-      sha256 = "14llli9s5x58m7z4ay5b9d2pypq378h3i4062rasdqi5c5and07n";
+      rev = "100af7c04f12b99d29fbca7dc1aa3d17301c54e9";
+      sha256 = "082cp251ynznjk3ims389ljdww9786nh8kglydqpqh3sdvc7s0mp";
     };
     meta.homepage = "https://github.com/mhartington/formatter.nvim/";
   };
@@ -2484,12 +2484,12 @@ final: prev:
 
   friendly-snippets = buildVimPluginFrom2Nix {
     pname = "friendly-snippets";
-    version = "2022-04-17";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "804c3f55ec4ec46f7257451b3cd731df991b9212";
-      sha256 = "0sznw2q70zac924yf0z0ic3frmmjmryjh4af46fw2zrbrq4kk9vq";
+      rev = "6e0881ad5dfae8bcb160bb6704e1f5fe31be9938";
+      sha256 = "1cyrqsc0jf1v6qxrd944x74803cck3nxddp1ac8rhl9yj8kz176w";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -2604,12 +2604,12 @@ final: prev:
 
   gentoo-syntax = buildVimPluginFrom2Nix {
     pname = "gentoo-syntax";
-    version = "2022-02-23";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "gentoo";
       repo = "gentoo-syntax";
-      rev = "cf5f268f8b19262515105739bdcc112cd2a6cdbc";
-      sha256 = "1pbvr1yirn17fxw8zlzp8j5brj0n2sdm3ampjryirdxknli93685";
+      rev = "2b77af2d85b1bdc8d78f65f41d6673c240bbc7a1";
+      sha256 = "1spdpyxlh53mwdazzaskwk3y2lb4im2by0l9qq1cz78nwmwm2m4h";
     };
     meta.homepage = "https://github.com/gentoo/gentoo-syntax/";
   };
@@ -2652,24 +2652,24 @@ final: prev:
 
   git-blame-nvim = buildVimPluginFrom2Nix {
     pname = "git-blame.nvim";
-    version = "2022-03-03";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "f-person";
       repo = "git-blame.nvim";
-      rev = "e60bfbc314476777a5ce200e533699691a5cdfa5";
-      sha256 = "1nh54hfc0cvz3a9znrp32ialpbqqwlgbyw45m9b489g9kndf3y2k";
+      rev = "0a7d27028b69525f2c6b6a3460029ed6cb291541";
+      sha256 = "0mbvaasx82wcn37mrn20gb98g7prhav4ps1wyk46mirla350ikjl";
     };
     meta.homepage = "https://github.com/f-person/git-blame.nvim/";
   };
 
   git-messenger-vim = buildVimPluginFrom2Nix {
     pname = "git-messenger.vim";
-    version = "2021-11-13";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "rhysd";
       repo = "git-messenger.vim";
-      rev = "2e67899355f3f631aad6845925e4c2c13546444d";
-      sha256 = "0a6c04far9ji7h7k0b195zxn62sj6drn56cacmz86zmzksqgm8wp";
+      rev = "6c0b55fb38d0e0633127823aab89b0676d13e509";
+      sha256 = "1ghqc5kmwsh1f7sbc5xyssffgh5lxcf35686mg6zm9ly3k2z8azk";
     };
     meta.homepage = "https://github.com/rhysd/git-messenger.vim/";
   };
@@ -2710,14 +2710,14 @@ final: prev:
     meta.homepage = "https://github.com/ruifm/gitlinker.nvim/";
   };
 
-  gitsigns-nvim = buildVimPluginFrom2Nix {
+  gitsigns-nvim = buildNeovimPluginFrom2Nix {
     pname = "gitsigns.nvim";
-    version = "2022-04-19";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "498abfa13dd749be963bc87a5b37da0d3e42a50e";
-      sha256 = "11d2pnqgngm6546r1nr0cf1dj7qkgvdn0ld2h1jn3fm07l892sgv";
+      rev = "ef153188e849bd317c00448755bc4182a2bd495d";
+      sha256 = "1pysiqgkp34kmpf4fkyjqih0rrq3mscrh9z27mzfhy2zhky8pikp";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -2760,12 +2760,12 @@ final: prev:
 
   golden-ratio = buildVimPluginFrom2Nix {
     pname = "golden-ratio";
-    version = "2020-04-03";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "roman";
       repo = "golden-ratio";
-      rev = "8313b6d6723c9e77ef1d3760af2cdd244e8db043";
-      sha256 = "03nm1wr0qsrirg4z4171f4nygnqgb6w06ldr6rbbz4a1f7j8j654";
+      rev = "7df80253680e4755b82955425da31d8c1f8e23b6";
+      sha256 = "0ds2slbg03b8dcgvi1svyn391mr2zaabb4x80wrmyxkrnfzr1rsq";
     };
     meta.homepage = "https://github.com/roman/golden-ratio/";
   };
@@ -2844,24 +2844,24 @@ final: prev:
 
   gruvbox-material = buildVimPluginFrom2Nix {
     pname = "gruvbox-material";
-    version = "2022-04-14";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "gruvbox-material";
-      rev = "45d05b6affeec1f858a13c0d8fe511db32c85afd";
-      sha256 = "18sf80zgdsfb2bd9dgdww9prlhkydk695gj9wd9zah24zfc5mcv7";
+      rev = "3d664943daf65bf99390a52c5dbc557f87fac552";
+      sha256 = "08zh5rc9p6svmds57gvvkk12nadd56ysx8xrhsjxbn3cdxag86gj";
     };
     meta.homepage = "https://github.com/sainnhe/gruvbox-material/";
   };
 
   gruvbox-nvim = buildVimPluginFrom2Nix {
     pname = "gruvbox.nvim";
-    version = "2022-04-18";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "ellisonleao";
       repo = "gruvbox.nvim";
-      rev = "028302225e19eb203ebb6876b689cc0ce2631169";
-      sha256 = "0npsh72z3xb9p1jdhz1g9jpx20c2d52mkkg4ix07bmy40ynkbsxs";
+      rev = "cf1b07f07673b5c2f9e3903b5fc4c2f7bc7d1123";
+      sha256 = "1pr91d8qsii9z5ff4gw766nf4v9r06ym15hk5y3z293bsd6hfns8";
     };
     meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/";
   };
@@ -2976,24 +2976,24 @@ final: prev:
 
   hop-nvim = buildVimPluginFrom2Nix {
     pname = "hop.nvim";
-    version = "2022-03-22";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "phaazon";
       repo = "hop.nvim";
-      rev = "e2f978b50c2bd9ae2c6a4ebdf2222c0f299c85c3";
-      sha256 = "1si2ibxidjn0l565vhr77949s16yjv46alq145b19h15amwgq3g2";
+      rev = "b93ed4cea9c7df625d04e41cb15370b5c43cb578";
+      sha256 = "12mc8fa3k5x9l84qw930bbjqi5hgc4y61s5p3kqx9nma2db2686v";
     };
     meta.homepage = "https://github.com/phaazon/hop.nvim/";
   };
 
   hotpot-nvim = buildVimPluginFrom2Nix {
     pname = "hotpot.nvim";
-    version = "2022-04-10";
+    version = "2022-04-24";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "hotpot.nvim";
-      rev = "8ccf600ccb5dbc28ea329d641a58e2fd6974d38e";
-      sha256 = "0kppddixgkzn3q8zbkgllqmwbxlr46p5hlnddqdv5lnp6fw4w6xf";
+      rev = "f481b30f1d93df6016092623199ddc8bfe1624d0";
+      sha256 = "0zqz1m46bpj74l5vckvhaynbdq7vvi8vx1r1lrsjapb0blmfh0fj";
     };
     meta.homepage = "https://github.com/rktjmp/hotpot.nvim/";
   };
@@ -3012,12 +3012,12 @@ final: prev:
 
   iceberg-vim = buildVimPluginFrom2Nix {
     pname = "iceberg.vim";
-    version = "2021-12-28";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "cocopon";
       repo = "iceberg.vim";
-      rev = "105aceb0ccb45deb05bc3b1e5da956cd3e29869c";
-      sha256 = "0vywngmgm818nca313viriz9csvm6fbi46ik1m037yzi8znfarxa";
+      rev = "5ac9da61e8626d1218498a35e515f36387efe454";
+      sha256 = "12vqa244zsg8gxc7rar5sfjcajrhprxpxazjmpmi4db25wvbmpsq";
     };
     meta.homepage = "https://github.com/cocopon/iceberg.vim/";
   };
@@ -3277,12 +3277,12 @@ final: prev:
 
   kanagawa-nvim = buildVimPluginFrom2Nix {
     pname = "kanagawa.nvim";
-    version = "2022-04-14";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "rebelot";
       repo = "kanagawa.nvim";
-      rev = "acf0f5d61236b416c804d649cd76db8390de9ae6";
-      sha256 = "03xmcph28q1y8n0ykga5m6biw9flpnx02sy7j2w3f1q2shknnwf3";
+      rev = "0ad738e7cc43514d35388c1caca13990d688aa5c";
+      sha256 = "06gcdkh92i5znpn5gw1xyc82nf4kr2j1mi8d8pnajqyvvxyb8mca";
     };
     meta.homepage = "https://github.com/rebelot/kanagawa.nvim/";
   };
@@ -3361,12 +3361,12 @@ final: prev:
 
   lean-nvim = buildVimPluginFrom2Nix {
     pname = "lean.nvim";
-    version = "2022-04-19";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "Julian";
       repo = "lean.nvim";
-      rev = "354630520ed3fe73c69796fb2e566a7c2125cd04";
-      sha256 = "1gwgbgg0dc0fwcdz6qs6mgvg0ybxgld3wm2wprq89abpacfz29dz";
+      rev = "902eb7f75d664bccd251c38d7921570b05b47cdc";
+      sha256 = "1dw8r7vl260baclf8ymq9zr9vxq8d8s6hjbnjs4xqliaza0g7pj3";
     };
     meta.homepage = "https://github.com/Julian/lean.nvim/";
   };
@@ -3469,12 +3469,12 @@ final: prev:
 
   lightline-bufferline = buildVimPluginFrom2Nix {
     pname = "lightline-bufferline";
-    version = "2022-03-27";
+    version = "2022-04-28";
     src = fetchFromGitHub {
       owner = "mengelbrecht";
       repo = "lightline-bufferline";
-      rev = "59b2c6b0ab5ad41ce42db89f05c8ea67020099ff";
-      sha256 = "0laz118k20sm3bn6r81f8pg9n77k5038c0vhgpbj349k3zraygjq";
+      rev = "fda87ff20e3b9c6a058cfbb6ca3c1f25877f4cab";
+      sha256 = "0apd1fm59plqhnc65zs5ayx2sijlhbcsrci2s674nr4w4w5rhvsj";
     };
     meta.homepage = "https://github.com/mengelbrecht/lightline-bufferline/";
   };
@@ -3613,12 +3613,12 @@ final: prev:
 
   litee-nvim = buildVimPluginFrom2Nix {
     pname = "litee.nvim";
-    version = "2022-02-28";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "ldelossa";
       repo = "litee.nvim";
-      rev = "c9fd775aebf702c81e2077693336584a0027d496";
-      sha256 = "1zbxn3hzss41zwp0b1cwhh31zj0443xfpxjkchml9sq4f0hklkvd";
+      rev = "2d257af35e90b1ee6017481b7fd82878d8f0e5ff";
+      sha256 = "05cnx2py9jwkpv34fbqqwjq8gb2rx3rwp97a1klr8khk8sr59b5y";
     };
     meta.homepage = "https://github.com/ldelossa/litee.nvim/";
   };
@@ -3684,12 +3684,12 @@ final: prev:
 
   lsp_signature-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_signature.nvim";
-    version = "2022-04-16";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "lsp_signature.nvim";
-      rev = "a351509512687293fd659ba4ee7e34412c3a8f70";
-      sha256 = "00xzd8b13krysdw21zm9ms902cxm04xl1wd2l7rb04431s2v9vc0";
+      rev = "6d160406f948a810c40304224a1255c8bba5a415";
+      sha256 = "0hkj9z1ap6a3a4xbdq47cahx2j21pzwiss3fsarpwr6rjmcl62x3";
     };
     meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
   };
@@ -3699,11 +3699,11 @@ final: prev:
     version = "2022-04-18";
     src = fetchFromGitHub {
       owner = "onsails";
-      repo = "lspkind-nvim";
+      repo = "lspkind.nvim";
       rev = "57e5b5dfbe991151b07d272a06e365a77cc3d0e7";
       sha256 = "1c13ll09v16prhzgmv8pappck4x3ahhc5sizp6r61kb7k4mkfpfk";
     };
-    meta.homepage = "https://github.com/onsails/lspkind-nvim/";
+    meta.homepage = "https://github.com/onsails/lspkind.nvim/";
   };
 
   lspsaga-nvim = buildVimPluginFrom2Nix {
@@ -3744,24 +3744,24 @@ final: prev:
 
   lualine-nvim = buildVimPluginFrom2Nix {
     pname = "lualine.nvim";
-    version = "2022-04-17";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "nvim-lualine";
       repo = "lualine.nvim";
-      rev = "18a07f790ed7ed1f11d1b130c02782e9dfd8dd7d";
-      sha256 = "09bfj2g7jn693xwi5f3zk90p4vg6jpijr1y8pl5k4hjbrg8nb68k";
+      rev = "45d07fc026400c211337a7ce1cb90e7b7a397e31";
+      sha256 = "13np9iqh69w5mrzx8pi5db87cm5sjay5cfs9zb1lk0zxz3n4592d";
     };
     meta.homepage = "https://github.com/nvim-lualine/lualine.nvim/";
   };
 
   luasnip = buildVimPluginFrom2Nix {
     pname = "luasnip";
-    version = "2022-04-15";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "6b67cb12747225a6412d8263bb97d6d2b8d9366a";
-      sha256 = "08a1kk8z3mcq65dh0hi44188dxkqjfg3yilr8viamyni1kwy7gf3";
+      rev = "1dbafec2379bd836bd09c4659d4c6e1a70eb380e";
+      sha256 = "1y0jp1saggg59lpicyvjbklg3fb5qmbmh8q7gacx27zgp26hz66r";
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
   };
@@ -3864,12 +3864,12 @@ final: prev:
 
   mini-nvim = buildVimPluginFrom2Nix {
     pname = "mini.nvim";
-    version = "2022-04-20";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "echasnovski";
       repo = "mini.nvim";
-      rev = "8134370549e73a5a72d24ffc7ea6a881cf4502ad";
-      sha256 = "0llkj31jkqnm3igs2f7cw8wxbc9877jk1mc2shnh1ii2dh0kmz68";
+      rev = "2bc924df80eaa788abd9af9ab9df446b10aa9b88";
+      sha256 = "159n5sxg28lsvapdy59dxfhnjr7nb2wqy05pbcsdk90g4d7v43f7";
     };
     meta.homepage = "https://github.com/echasnovski/mini.nvim/";
   };
@@ -3912,12 +3912,12 @@ final: prev:
 
   mkdx = buildVimPluginFrom2Nix {
     pname = "mkdx";
-    version = "2022-04-08";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "SidOfc";
       repo = "mkdx";
-      rev = "a4645528e2ddedfb6350c142660c3e0468057f1c";
-      sha256 = "11vz3wmii9d1dhz4bvfqlax5s6yawd640xflyqvd1i45102p55vd";
+      rev = "d8e29b48f959aef96df2cb2ff5875ee02970f2a7";
+      sha256 = "0rv2x96l5gcbj969ki6y1c0l468sibjcph5rqzavv6naizmwi8ql";
     };
     meta.homepage = "https://github.com/SidOfc/mkdx/";
   };
@@ -4176,12 +4176,12 @@ final: prev:
 
   neco-vim = buildVimPluginFrom2Nix {
     pname = "neco-vim";
-    version = "2022-02-02";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neco-vim";
-      rev = "4b537fa01c28f2f7cf249722530561d2e477b49f";
-      sha256 = "09lkbwijvl34ff2pagra383n517k1b1nw2lpjv2jlik0970sbcbv";
+      rev = "3a913173dcbf7bac303cb5ede8b3a732b6a0a692";
+      sha256 = "0wbp4f0gjc3vchyh8xyjcqyd3xlc4wf276r9lalmjd034792a77k";
     };
     meta.homepage = "https://github.com/Shougo/neco-vim/";
   };
@@ -4212,12 +4212,12 @@ final: prev:
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2022-04-14";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "06920fa90ec7db3f81c6f842ebaf008c39e088cf";
-      sha256 = "1f5j7aisnpvykgj7p64cbvfww05fsv47pi04ckkh0gkc49g5sjmg";
+      rev = "409ebbba9f4b568ea87ab4f2de90a645cf5d000a";
+      sha256 = "13vfy252wv88rbw61ap1vg1x5br28d7rwbf19r28ajvg2xkvw816";
     };
     meta.homepage = "https://github.com/sbdchd/neoformat/";
   };
@@ -4284,12 +4284,12 @@ final: prev:
 
   neorg = buildVimPluginFrom2Nix {
     pname = "neorg";
-    version = "2022-04-18";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg";
-      rev = "4a3ca2c0cb46a5320c124565fd4d9830435aa29f";
-      sha256 = "15jwzz2ldxg6ql1lzn626dcfxgndqzgpamakqk0yicbidhmdird0";
+      rev = "633dfc9f0c3a00a32ee89d4ab826da2eecfe9bd8";
+      sha256 = "13r17drh0xy2dibx2qq4r90zlkjfyp3mzfa6p7w29yr623ixbbs1";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg/";
   };
@@ -4332,24 +4332,24 @@ final: prev:
 
   neoterm = buildVimPluginFrom2Nix {
     pname = "neoterm";
-    version = "2022-01-20";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "kassio";
       repo = "neoterm";
-      rev = "533d311a2a9187294ea52acab32d8565d6517059";
-      sha256 = "04k62g72bf2i7jndngp68ci9i4bldk8q3h6yk8lpyqsqkgn9q4k6";
+      rev = "05ea81b6424c1576f304bc88c33d5a1f8867b8e9";
+      sha256 = "0v6jwrfmlr3hnczgiygxx99289w9g8jf3nzr0qg2qsc19239glqq";
     };
     meta.homepage = "https://github.com/kassio/neoterm/";
   };
 
   neovim-ayu = buildVimPluginFrom2Nix {
     pname = "neovim-ayu";
-    version = "2022-04-19";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "Shatur";
       repo = "neovim-ayu";
-      rev = "dde7e6f02fbcb5860b24f616c9a07b5f9e52a361";
-      sha256 = "0800qwxlj84f8ygvniwwyrcjyfwsx7kmzq8vyz9m50zd7b20al9f";
+      rev = "cc64cadfd6e54967a7b01bac1a689239a20804ac";
+      sha256 = "1rnlr14n3b6sxs0m64x5s42yq2bj8677bxyz4b479cdiq76gnyk2";
     };
     meta.homepage = "https://github.com/Shatur/neovim-ayu/";
   };
@@ -4464,12 +4464,12 @@ final: prev:
 
   nightfox-nvim = buildVimPluginFrom2Nix {
     pname = "nightfox.nvim";
-    version = "2022-04-20";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "EdenEast";
       repo = "nightfox.nvim";
-      rev = "5d2581a71510c319d128a8b02a21181abc611202";
-      sha256 = "118lda4cgxkbf13khyg2i36i7fcrlfz29l0wfjhg90ci3w8qvajs";
+      rev = "25b3f3e46c87c51e4d8075d2e11f481628716363";
+      sha256 = "1asz3wz9v47smwn6ahzmv8mdjbfazwbwzmcf9niy0jxva6b3qyrx";
     };
     meta.homepage = "https://github.com/EdenEast/nightfox.nvim/";
   };
@@ -4572,12 +4572,12 @@ final: prev:
 
   null-ls-nvim = buildVimPluginFrom2Nix {
     pname = "null-ls.nvim";
-    version = "2022-04-16";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "null-ls.nvim";
-      rev = "a887bd6c1bb992ccf48e673b40e061c3e816204f";
-      sha256 = "1mifn1b83ypvaplmma1zx080vmm5nv40263lsva3z6byqyq3kfl1";
+      rev = "3dbded7cfaf0591157280bc97d11407eeaef3ea9";
+      sha256 = "0k74064x0k2l4k07zlfv3kl3qm3f7spj49rr9ahcwn0pni38y71c";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
   };
@@ -4620,36 +4620,36 @@ final: prev:
 
   nvim-autopairs = buildVimPluginFrom2Nix {
     pname = "nvim-autopairs";
-    version = "2022-04-13";
+    version = "2022-04-28";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "38d486a1c47ae2722a78cf569008de0a64f4b153";
-      sha256 = "0qka37c8ikcqvbjq0n0kxgm8l30jy3aixs5i00a25wcwxj40kzxv";
+      rev = "63779ea99ed43ab22660ac6ae5b506a40bf41aeb";
+      sha256 = "0lc03xjsamy8fpfwy6ag9r8cx1cp0my461l0wvbgznzr1qkq325y";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
 
   nvim-base16 = buildVimPluginFrom2Nix {
     pname = "nvim-base16";
-    version = "2022-03-28";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "nvim-base16";
-      rev = "f3c8eaa6c8c0dcd752aa28042f9435c464349776";
-      sha256 = "18xlhyyg9yq54p6jnq4dri47zfw62xfnx4ci9j9iiiii1dyzwr2z";
+      rev = "70fe3102158b2765d5bba46f398bd4213997936f";
+      sha256 = "0p53l747hnjrz7wzcyh08vnx3pfdk5gbqmb9vpf4hq2x3lyx1a57";
     };
     meta.homepage = "https://github.com/RRethy/nvim-base16/";
   };
 
   nvim-bqf = buildVimPluginFrom2Nix {
     pname = "nvim-bqf";
-    version = "2022-04-18";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "3dbd349cf75cb23c7d1575b235ee57ecbe665d9d";
-      sha256 = "12nlfz0imx6i6w8jc4pw5czyfzr8m2mhlmql10i5hdncqi9ggaar";
+      rev = "3d174ca8198bafb3eb341001aafcf74ed4290d70";
+      sha256 = "0i5pmk13rkk74bx1a19fz32gsg1f47s8550pqz51ma8h0yyc9cpk";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
@@ -4680,12 +4680,12 @@ final: prev:
 
   nvim-cmp = buildVimPluginFrom2Nix {
     pname = "nvim-cmp";
-    version = "2022-04-20";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-cmp";
-      rev = "f51dc68e1bb170fc49c2d7e13eb45e5ec83f5ee9";
-      sha256 = "11f53yic8j3iqd4yb0gy2d54vscqqll4lcqqcj1rp195vdd476ak";
+      rev = "bba6fb67fdafc0af7c5454058dfbabc2182741f4";
+      sha256 = "1qkhynhaasplvk7argik7jqkl0jymi347xqbg1i7b1h4qp51xjpq";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
   };
@@ -4776,24 +4776,24 @@ final: prev:
 
   nvim-dap-ui = buildVimPluginFrom2Nix {
     pname = "nvim-dap-ui";
-    version = "2022-04-17";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-dap-ui";
-      rev = "f136bb253f6811984369a20924251bcbfe00a5cd";
-      sha256 = "00nxdgsxa3yc0ifsmbs8d1s428p37x3ax3rlxacs983f5xlgmizq";
+      rev = "3eec5258c620e2b7b688676be8fb2e9a8ae436b2";
+      sha256 = "1x7y49jzbj3s07pkdi842balj9wx0x1z4khgixxj7p03awcyngsm";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-dap-ui/";
   };
 
   nvim-dap-virtual-text = buildVimPluginFrom2Nix {
     pname = "nvim-dap-virtual-text";
-    version = "2022-04-19";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "nvim-dap-virtual-text";
-      rev = "1c3560ecfe8a865118efe7092308abe9e8b0ae68";
-      sha256 = "1piz5qxymc2igqdscc3cvvympxrgmxd1ybsnqy13l7ycmknkp9hd";
+      rev = "9b731b9748d243b60e61eecbe2d114c39554486e";
+      sha256 = "14a66zdys50ifhfz4vls7b6grg69iwndailxdcamal7xafvy1dw9";
     };
     meta.homepage = "https://github.com/theHamsta/nvim-dap-virtual-text/";
   };
@@ -4836,36 +4836,36 @@ final: prev:
 
   nvim-gdb = buildVimPluginFrom2Nix {
     pname = "nvim-gdb";
-    version = "2021-12-09";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "sakhnik";
       repo = "nvim-gdb";
-      rev = "c2a0d076383b8a0991681c33efe80bcba6dd3608";
-      sha256 = "19yc51bhfaw53rc9awdr145i8k2i2gnnl3faw85afsqs9dr4hi7i";
+      rev = "d064ee481b2aec86133ebcd514c835a28776f9c5";
+      sha256 = "1xxm69jndx8sgkip1f8n7k9nb697d1n7r13iyp1bcgllwir5f1mi";
     };
     meta.homepage = "https://github.com/sakhnik/nvim-gdb/";
   };
 
   nvim-gps = buildVimPluginFrom2Nix {
     pname = "nvim-gps";
-    version = "2022-04-19";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "smiteshp";
       repo = "nvim-gps";
-      rev = "944ea6e7244a839452ab721515141ea9208c0536";
-      sha256 = "0i3mjk9n9czpadzpwp2wx1640h5sl51cjgnggrm8rg9qxj5108g7";
+      rev = "9552418fcbb9587025f4bd38364259b3888f582b";
+      sha256 = "0n2393lb5aad2g7lkgihhg4x9sm35500fb8hds2s23nj0cv0jcj4";
     };
     meta.homepage = "https://github.com/smiteshp/nvim-gps/";
   };
 
   nvim-highlite = buildVimPluginFrom2Nix {
     pname = "nvim-highlite";
-    version = "2022-04-18";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "e46cb5695b8457403488ad44b5379421c0c5dc17";
-      sha256 = "0343pk8wylms0lnrpa0a5x2ig97an2ps64fgjpa8n85ng1z49z97";
+      rev = "16f6fe2ece750b9cbfacca3675e8e71cd4c19665";
+      sha256 = "1i5v8z6gmj09lwi6mb6m6srskavqdwwv4iazajjrjwjv0wfzcdb9";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
@@ -4896,12 +4896,12 @@ final: prev:
 
   nvim-jdtls = buildVimPluginFrom2Nix {
     pname = "nvim-jdtls";
-    version = "2022-04-14";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "ffb08466d51f717775d85e7e334ac83156c0ca98";
-      sha256 = "1rlnidcn8zww6lvqx1syw2331i2gn67765cip2pz5rh8mbv4l67x";
+      rev = "9010412f7de118168d2fe4ba97b578d0d76cc500";
+      sha256 = "0jzz9av1k4msa9942p8g1f0cnlh0rdgb026s3xg4ksbdspc72d67";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
@@ -4920,12 +4920,12 @@ final: prev:
 
   nvim-lightbulb = buildVimPluginFrom2Nix {
     pname = "nvim-lightbulb";
-    version = "2022-02-24";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "kosayoda";
       repo = "nvim-lightbulb";
-      rev = "29ca81408119ba809d1f922edc941868af97ee86";
-      sha256 = "04c5wqh42648wzrnwcgwdmwwwqvwk5qn3ncrfjl0827xnpc8049g";
+      rev = "407f05c71f757f09f775229d5709a3592f1a6910";
+      sha256 = "1j3ksmq91fzmvnmvgkkrs6lp55wry2q7x6ixspm197jd0np8w9k9";
     };
     meta.homepage = "https://github.com/kosayoda/nvim-lightbulb/";
   };
@@ -4944,12 +4944,12 @@ final: prev:
 
   nvim-lint = buildVimPluginFrom2Nix {
     pname = "nvim-lint";
-    version = "2022-04-18";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-lint";
-      rev = "e5416bdb27a0e61cd213850646534a18bb2ba61d";
-      sha256 = "1qrjpx99pb67yccvmb66ahcaa7wk9z6s9zvaxm5fpbm1xasci1mz";
+      rev = "2c8f41f62d09b1e1068c3949661eba5bc0cea7ba";
+      sha256 = "08syhj3wwrz7ivv492zjs02xcf42b3f1zhh26am8jr430k0l491d";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
   };
@@ -4968,12 +4968,12 @@ final: prev:
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2022-04-17";
+    version = "2022-04-28";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "ad9903c66bac88f344890acb6532f63f1cd4dac3";
-      sha256 = "10fg52g53yk0d10rm96kw907wdkgqw762ib6530zrnw7p8fbm2ms";
+      rev = "21102d5e3b6ffc6929d60418581ac1a29ee9eddd";
+      sha256 = "16hdgxzbb31253178kyy1j77qpskq80dlnfdfxj2bh761zc237rn";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -4992,24 +4992,24 @@ final: prev:
 
   nvim-metals = buildVimPluginFrom2Nix {
     pname = "nvim-metals";
-    version = "2022-04-16";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "scalameta";
       repo = "nvim-metals";
-      rev = "bc6f2ba6d6b2c5ffd65b41f3df74761a90e538da";
-      sha256 = "0fk41l2jmlhrylc9xbh4h9a35j106r0lr7rd0i2lp0acqai629qg";
+      rev = "6bc7681b489b04feff394f832984d14510e97e47";
+      sha256 = "0syq7sp836glngfjv6ykbwa14bwyn1zr929ma2sxs5jvqj5sbzvx";
     };
     meta.homepage = "https://github.com/scalameta/nvim-metals/";
   };
 
   nvim-neoclip-lua = buildVimPluginFrom2Nix {
     pname = "nvim-neoclip.lua";
-    version = "2022-04-06";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "AckslD";
       repo = "nvim-neoclip.lua";
-      rev = "09fa54a2e9866ba05d08980e27b29099d6d0ed6e";
-      sha256 = "0l17anql1a5vbh5v8djlssfh3a09y6zxrs6vpabkfsj9lp8sls46";
+      rev = "f3ff1645de5d2fd46ac8ffe86e440b7f3ae1fd11";
+      sha256 = "0ayi9sfdj1rcz9zlib65vbpaf9jyyfkiqsadiq6ldgwj9wx6vvi4";
     };
     meta.homepage = "https://github.com/AckslD/nvim-neoclip.lua/";
   };
@@ -5028,12 +5028,12 @@ final: prev:
 
   nvim-notify = buildVimPluginFrom2Nix {
     pname = "nvim-notify";
-    version = "2022-04-17";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-notify";
-      rev = "2c8f744de34c72a5a1fabcc66da11aa017ffab88";
-      sha256 = "1yc98fv30fvkjb7d8acjqvl8kai1hz0mslp04n1d2069q0n6k08n";
+      rev = "ebe78bea13b60640816658ae798a199bd5118eb1";
+      sha256 = "0mzbqfc5kw4qa9hifjkzf3i1adz38g1lg9m6395y3bc6zry73dxp";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-notify/";
   };
@@ -5100,24 +5100,24 @@ final: prev:
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree.lua";
-    version = "2022-04-18";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-tree.lua";
-      rev = "0f0f858348aacc94f98ba32880760c5a5440b825";
-      sha256 = "1ciir7h9s0g9i62b49swa8c8cgjqg4lz6zapkj5a8gqxqa10qh23";
+      rev = "483f1550d1c53f7dcf261d40af5f993ffcb8b9c3";
+      sha256 = "1syhjcf9pawc70apbrhrddsxyabqqs60f0s7yc759v6qb64nqshr";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2022-04-19";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "62fa8f77c43ed3a4ac2bbdfa4327f6b4a835bbea";
-      sha256 = "0cq0zbs9a52wx84ivpna4qw67dlz7i9nw6mln8948qadnzk1960r";
+      rev = "4067351ffd6e5cfd5527873f6db9845e04527b8b";
+      sha256 = "0232nmbp82wjpv3npb4302pmsdfcfs67cgl7775d552zqfr2va9r";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
@@ -5160,24 +5160,24 @@ final: prev:
 
   nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-textobjects";
-    version = "2022-04-15";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "29c5e9effe53f19f250e3a88d1427b35031bc90d";
-      sha256 = "09bpgd0fqpcwifs2wna1lqyrfn4rmp2gfan4635lwjp4sixj52vc";
+      rev = "094e8ad3cc839e825f8dcc91352837653e365a8f";
+      sha256 = "1i7d8yxqffv6rp6n66wqyb0bsrq916qlp88rn8bb92ykyxmjn8bz";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
 
   nvim-ts-autotag = buildVimPluginFrom2Nix {
     pname = "nvim-ts-autotag";
-    version = "2022-03-04";
+    version = "2022-04-22";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-ts-autotag";
-      rev = "57035b5814f343bc6110676c9ae2eacfcd5340c2";
-      sha256 = "06fj3bpfakbzbb4saqa2dss0wz6z98farljv3xmih162qbybr2c1";
+      rev = "044a05c4c51051326900a53ba98fddacd15fea22";
+      sha256 = "0c94vnhl216p36x19cplhypr1b3z0f7l5jdr19hl79qvdfp9djk2";
     };
     meta.homepage = "https://github.com/windwp/nvim-ts-autotag/";
   };
@@ -5196,24 +5196,24 @@ final: prev:
 
   nvim-ts-rainbow = buildVimPluginFrom2Nix {
     pname = "nvim-ts-rainbow";
-    version = "2022-04-17";
+    version = "2022-04-24";
     src = fetchFromGitHub {
       owner = "p00f";
       repo = "nvim-ts-rainbow";
-      rev = "04284dc97eac0d0ecfea68e10be824d1a6585de0";
-      sha256 = "1i8i58m1r1322wvs8jl0nzs6lgqw78ibkp5hah07kgi2ynzr3dj3";
+      rev = "a7767e2a1761078abb97f6516e45c56147e0952e";
+      sha256 = "0ms95gxvydzf078y8mp2xqinm9bbk750nqc3ayyi26ipqba6f13x";
     };
     meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
   };
 
   nvim-web-devicons = buildVimPluginFrom2Nix {
     pname = "nvim-web-devicons";
-    version = "2022-03-22";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-web-devicons";
-      rev = "09e62319974d7d7ec7e53b974724f7942470ef78";
-      sha256 = "0f64alh5mf6zjnbxqsx21m3dcldqshx7a7z46qg0pfbnn9fx7swq";
+      rev = "bdd43421437f2ef037e0dafeaaaa62b31d35ef2f";
+      sha256 = "0sknns28ww7xwjyqylk4mxvs4sy8lsk52w5q81ldnwfcyiwl70c5";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-web-devicons/";
   };
@@ -5256,12 +5256,12 @@ final: prev:
 
   nvimdev-nvim = buildVimPluginFrom2Nix {
     pname = "nvimdev.nvim";
-    version = "2022-04-11";
+    version = "2022-04-24";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvimdev.nvim";
-      rev = "79f06ba252a5a8a525475f6072bd99494da9a1d7";
-      sha256 = "0wm6hm97rrpw45jyihydxyy98vxgypcvwnx6406609s8n8w0sbyz";
+      rev = "2bfb1156112267e1ab98c6779fb15cf858bf11b9";
+      sha256 = "1bdx2lmyh9zvqlqah2knkhdnh5n1fcnav4iw0v9ls4845q2qh4i4";
     };
     meta.homepage = "https://github.com/neovim/nvimdev.nvim/";
   };
@@ -5292,12 +5292,12 @@ final: prev:
 
   octo-nvim = buildVimPluginFrom2Nix {
     pname = "octo.nvim";
-    version = "2022-04-14";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "pwntester";
       repo = "octo.nvim";
-      rev = "0beb4de71062435ad934caba5728f7f01ae8b969";
-      sha256 = "01k7jl34x8wikq6ff456650wgf5f5z9z6a3ypr10a3pl8p7wfyzr";
+      rev = "622ab9feaa735dc0999e567183ce357f3dff080f";
+      sha256 = "00prf7wb1p7daqly08h8l4ak5cmwbr76c5i40a8vfpn660wgj2zg";
     };
     meta.homepage = "https://github.com/pwntester/octo.nvim/";
   };
@@ -5316,12 +5316,12 @@ final: prev:
 
   onedark-nvim = buildVimPluginFrom2Nix {
     pname = "onedark.nvim";
-    version = "2022-03-23";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "navarasu";
       repo = "onedark.nvim";
-      rev = "e520a0c81a5a1997ecffd846ccd9c6e63b7859c6";
-      sha256 = "1xvh5mmjc4w4rkp8h1qwxfqz3kcrqvhxnl66x19j098d1h7aqsb6";
+      rev = "08cde8acf181b3278dafb9c8284726104a11cc0f";
+      sha256 = "01dxnf4pcycp70pzxyv5xd9y9289z14c110w926kwhy1skgwz7f4";
     };
     meta.homepage = "https://github.com/navarasu/onedark.nvim/";
   };
@@ -5340,12 +5340,12 @@ final: prev:
 
   onedarkpro-nvim = buildVimPluginFrom2Nix {
     pname = "onedarkpro.nvim";
-    version = "2022-04-12";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "onedarkpro.nvim";
-      rev = "653b5d729cb2c14c564cf5ab2145e2e24354a2ba";
-      sha256 = "1xw49fliqalz18nj0pa81xsx1d9zwphdzcai503m1bn2m2nclp6h";
+      rev = "bca9cfd1dc2e4311659d9ab85e6e7f3c8309a4d7";
+      sha256 = "10xl1hmrkzklsxlbgkazp62h97ff7pz3dczsgx7mk8bzs8cq5433";
     };
     meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
   };
@@ -5388,12 +5388,12 @@ final: prev:
 
   orgmode = buildVimPluginFrom2Nix {
     pname = "orgmode";
-    version = "2022-04-20";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "nvim-orgmode";
       repo = "orgmode";
-      rev = "8cd85f7afabef643db6b5d3dc01942870e71533d";
-      sha256 = "16rkvz8x6rvapyq7grch77j0wd5pnhjwv932v72ai6gy940d56l2";
+      rev = "1a52ca239c726d62104fad012472c28a00cdcc22";
+      sha256 = "17360m754y0fsxh95pl0zfl8jhhgw4hvk4991kxksrir0v3xsayz";
     };
     meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
   };
@@ -5436,12 +5436,12 @@ final: prev:
 
   papercolor-theme = buildVimPluginFrom2Nix {
     pname = "papercolor-theme";
-    version = "2022-03-24";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "NLKNguyen";
       repo = "papercolor-theme";
-      rev = "afde171829b1416125bf07a81fc28e4490aa91b2";
-      sha256 = "1iz8aqmwbnfha2agcxy7cd2v0znz8vzpz7iyvd15hxx7zbqlwz1d";
+      rev = "beb86c7630e19314f5990acef81f9823bbb5bf3c";
+      sha256 = "14jf8fm1bjcmbw3mbr1a5731bac4i4mb8fv9ahdxd8i9349nyj3c";
     };
     meta.homepage = "https://github.com/NLKNguyen/papercolor-theme/";
   };
@@ -5520,17 +5520,17 @@ final: prev:
 
   playground = buildVimPluginFrom2Nix {
     pname = "playground";
-    version = "2022-04-08";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "playground";
-      rev = "13e2d2d63ce7bc5d875e8bdf89cb070bc8cc7a00";
-      sha256 = "1klkg3n3rymb6b9im7hq9yq26mqf2v79snsqbx72am649c6qc0ns";
+      rev = "71b00a3c665298e5155ad64a9020135808d4e3e8";
+      sha256 = "0cn6q7885ffn0yxv6frjsa8yx6mnil8lmdvml8inj3lvakyprzc8";
     };
     meta.homepage = "https://github.com/nvim-treesitter/playground/";
   };
 
-  plenary-nvim = buildVimPluginFrom2Nix {
+  plenary-nvim = buildNeovimPluginFrom2Nix {
     pname = "plenary.nvim";
     version = "2022-04-17";
     src = fetchFromGitHub {
@@ -5617,12 +5617,12 @@ final: prev:
 
   project-nvim = buildVimPluginFrom2Nix {
     pname = "project.nvim";
-    version = "2022-01-19";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "ahmedkhalf";
       repo = "project.nvim";
-      rev = "cef52b8da07648b750d7f1e8fb93f12cb9482988";
-      sha256 = "1qwpp0a8llx437jms3ghx8wrc5rwnrkh52xp24ysymqr4lc1xfq6";
+      rev = "612443b27f5feda45ea478bd6ddc8f95d4ec7b77";
+      sha256 = "1iq16ikd057bg72l39yq3d645wylbdv5i5siqlhfbgdrwiqxqv3w";
     };
     meta.homepage = "https://github.com/ahmedkhalf/project.nvim/";
   };
@@ -5810,12 +5810,12 @@ final: prev:
 
   refactoring-nvim = buildVimPluginFrom2Nix {
     pname = "refactoring.nvim";
-    version = "2022-04-11";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "theprimeagen";
       repo = "refactoring.nvim";
-      rev = "94eaa199ad892f26d2c8594dbbc5656314cf5bdb";
-      sha256 = "1smq4snh40ljhyc32qvj3w51xpl7ci0navm1l8xr03z8hpssz39w";
+      rev = "fef309f654906d931f2c714a77f5182fe70ada7d";
+      sha256 = "15y5v702xa2ax35p4sdv5ylkpz06pnrfi0jfp2isbl6z79p6dqv3";
     };
     meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/";
   };
@@ -5846,12 +5846,12 @@ final: prev:
 
   rest-nvim = buildVimPluginFrom2Nix {
     pname = "rest.nvim";
-    version = "2022-01-26";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "NTBBloodbath";
       repo = "rest.nvim";
-      rev = "2826f6960fbd9adb1da9ff0d008aa2819d2d06b3";
-      sha256 = "0lb3rcc41rb9yhylmkpsj141yfk1kki1xkd4q2i9y0ld0mlwjjv8";
+      rev = "e5f68db73276c4d4d255f75a77bbe6eff7a476ef";
+      sha256 = "1gkml0101kai4cff2dlk8bv8rhsbiyr55hysvyv46gnxhisd8fy0";
     };
     meta.homepage = "https://github.com/NTBBloodbath/rest.nvim/";
   };
@@ -5930,12 +5930,12 @@ final: prev:
 
   rust-tools-nvim = buildVimPluginFrom2Nix {
     pname = "rust-tools.nvim";
-    version = "2022-03-26";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "rust-tools.nvim";
-      rev = "9f89fe6d9762ef89973bbb698c750dd21b94ec44";
-      sha256 = "0r1k71rjlcly5pyi1vdzr22xdssikzsm5q4g2xzjp9v497fycg1h";
+      rev = "fe900a3d6028df4e7b7c89e8b0bf05b86af462ac";
+      sha256 = "0mkbq5rk86jz5ckj1bg7z0s5x3j8kcldfc57gdk8r48bjkirds42";
     };
     meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
   };
@@ -6147,12 +6147,12 @@ final: prev:
 
   sonokai = buildVimPluginFrom2Nix {
     pname = "sonokai";
-    version = "2022-04-14";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "4f29ac457ac759286bce3bb1a34f9517c91306c9";
-      sha256 = "1yzyk78nb0xj5f2fnfvhrpgahg3mgx82bpw7nimvf0rd29dbpfqj";
+      rev = "9ad83caa675cb5160760bf85dcb951946c994572";
+      sha256 = "02sp13fbz12xbw7jh5l1isim7q66l54xdl82y4x245xh7h6mkvnh";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
@@ -6243,12 +6243,12 @@ final: prev:
 
   splitjoin-vim = buildVimPluginFrom2Nix {
     pname = "splitjoin.vim";
-    version = "2022-04-03";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
       repo = "splitjoin.vim";
-      rev = "dbcd3069fb2b4ecfdd964c1e93aa59fcf7f850b6";
-      sha256 = "1rgc9cbfpjnk8pf7wh9pyyljckbn1i88z5bggyn15q3lfhskvidc";
+      rev = "64f68a641084d18903769ec138b8fab45477bd92";
+      sha256 = "0if7z8yf75d5wamvlk76hxqvax7lrjmiiwdj4bf00j2pla5jydi8";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/";
@@ -6401,12 +6401,12 @@ final: prev:
 
   symbols-outline-nvim = buildVimPluginFrom2Nix {
     pname = "symbols-outline.nvim";
-    version = "2022-03-05";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "symbols-outline.nvim";
-      rev = "1361738c47892c3cee0d0b7a3b3bc7a8b48139c2";
-      sha256 = "00a1x5dlns2n1wpf8hnh8brf6bwhbifsg4dlzjq51v4kj35hzjmd";
+      rev = "15ae99c27360ab42e931be127d130611375307d5";
+      sha256 = "170lxb2hw814wjxkpl0g4sic7wg3krp7pfkf3wp5j4dwk8czm2wi";
     };
     meta.homepage = "https://github.com/simrat39/symbols-outline.nvim/";
   };
@@ -6510,12 +6510,12 @@ final: prev:
 
   tagbar = buildVimPluginFrom2Nix {
     pname = "tagbar";
-    version = "2022-04-07";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "tagbar";
-      rev = "ccee72f1d1ed71a001e57592bd585ae77c5f83b2";
-      sha256 = "1k6vsrvdsb1hkjfff3pbqf57zglwsh2csc6aj6lan790n9p63a3m";
+      rev = "a577ee4d650476243d91698f2d1228819c5fa0a5";
+      sha256 = "0d26c4qg7d25nzjvzds9p4z544h3zy0iwa51301pxh8s5kqr4s85";
     };
     meta.homepage = "https://github.com/preservim/tagbar/";
   };
@@ -6558,12 +6558,12 @@ final: prev:
 
   tcomment_vim = buildVimPluginFrom2Nix {
     pname = "tcomment_vim";
-    version = "2022-01-24";
+    version = "2022-04-24";
     src = fetchFromGitHub {
       owner = "tomtom";
       repo = "tcomment_vim";
-      rev = "3729ae43318faca94b0a1e878f9c6717b171d55e";
-      sha256 = "07dhmfqrk6806648a0n9y98ngzk59b55j9nnsvvka0hl27q1mkl9";
+      rev = "7fb091aad8d824bef1d7bc9365921c65e26d82ad";
+      sha256 = "1lcaa5184gaifscdqzqv7fs35lmcwhlv0s5n8606xbm4qy1sr7mn";
     };
     meta.homepage = "https://github.com/tomtom/tcomment_vim/";
   };
@@ -6642,12 +6642,12 @@ final: prev:
 
   telescope-fzf-native-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-fzf-native.nvim";
-    version = "2022-02-19";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-fzf-native.nvim";
-      rev = "8ec164b541327202e5e74f99bcc5fe5845720e18";
-      sha256 = "0n2f5zdpxasswdkmci56n0avwcrwsdyp8csq3mzhzf7696vppli1";
+      rev = "281b07a5cba2dc255e2a35d3fa6e49af0c8cb37f";
+      sha256 = "0hlrjc69k7gaxx8y6q7l80jpdp1v9kpvlzcv5ncmpfkl80vh2ld8";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-fzf-native.nvim/";
   };
@@ -6679,12 +6679,12 @@ final: prev:
 
   telescope-github-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-github.nvim";
-    version = "2022-04-06";
+    version = "2022-04-22";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-github.nvim";
-      rev = "c66aee748d572961af0e6ad5130b994343f922a7";
-      sha256 = "11crv79xbhxzp9y35rf9fg4mgbwsrj709aw22n98575f0r2vqfgz";
+      rev = "ee95c509901c3357679e9f2f9eaac3561c811736";
+      sha256 = "1943bhi2y3kyxhdrbqysxpwmd9f2rj9pbl4r449kyj1rbh6mzqk2";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-github.nvim/";
   };
@@ -6703,12 +6703,12 @@ final: prev:
 
   telescope-project-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-project.nvim";
-    version = "2022-01-23";
+    version = "2022-04-28";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-project.nvim";
-      rev = "d317c3cef6917d650d9a638c627b54d3e1173031";
-      sha256 = "0kg2jh23cgbwjmvrc1cxvjka4y2j0qpi4r8dzzw0gs2nmdjmmic7";
+      rev = "4658d78523a5a005af80243f1d0b4e7e2a118dae";
+      sha256 = "0fpq6jfycl5hmz7ch5ris72qjabvhvbaj6wm9gwgl7ids99982p7";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-project.nvim/";
   };
@@ -6727,12 +6727,12 @@ final: prev:
 
   telescope-ui-select-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-ui-select.nvim";
-    version = "2022-03-20";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-ui-select.nvim";
-      rev = "186a124a01d7f19e6fcf608d4e1cc61d61ebe939";
-      sha256 = "1lx11d4m0gcbvbb3bvxaciihnlsj1gi30ja1p0i9w7dm748d57zb";
+      rev = "62ea5e58c7bbe191297b983a9e7e89420f581369";
+      sha256 = "09mbi1x2r2xsbgfmmpb7113jppjmfwym4sr7nfvpc9glgqlkd4zw";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-ui-select.nvim/";
   };
@@ -6787,12 +6787,12 @@ final: prev:
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope.nvim";
-    version = "2022-04-18";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "6e7ed1b9638f09661fcb3a6db68f3ad77c8036be";
-      sha256 = "11p5byic4qb9cgaffnrwa4s0qdzvxl6313phz5qdll78hwjw2fmy";
+      rev = "23e28d066a55a8e33bff33196f7bd65ea3ecbdbe";
+      sha256 = "1yhc81k57ar58i0pwcwr28jsbkpcn8qqqjv95qcfi4hh14z75wfn";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -6968,12 +6968,12 @@ final: prev:
 
   toggleterm-nvim = buildVimPluginFrom2Nix {
     pname = "toggleterm.nvim";
-    version = "2022-04-18";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "toggleterm.nvim";
-      rev = "dca8f4d9516270cb41c147ed692f3ee420c5e515";
-      sha256 = "0ajypqnx9kglqh5h3vwyy9ccmazq8gjgb84hjrabr9hgvcnyj5hq";
+      rev = "6c7f5dbdd69bc5611a85194ddca83ac2c8ee84d6";
+      sha256 = "1c9hhwb77h6f4g1agkqmp0zccpbbyany2sgack1k9373y4q4c131";
     };
     meta.homepage = "https://github.com/akinsho/toggleterm.nvim/";
   };
@@ -7088,12 +7088,12 @@ final: prev:
 
   ultisnips = buildVimPluginFrom2Nix {
     pname = "ultisnips";
-    version = "2022-04-19";
+    version = "2022-04-23";
     src = fetchFromGitHub {
       owner = "SirVer";
       repo = "ultisnips";
-      rev = "e1ae43e44fb6b53144a5a8703a3d6cf10492a4a0";
-      sha256 = "1rzhv8dma9ijf6g9z5drbi45bngzh4ccr3h4i0b8x3w4ab97p17q";
+      rev = "f5ccf0977c611ffd774ca180774959301baaffad";
+      sha256 = "0b4gb031ylm290ciyq72zlrykp4ypn82akjdac886r9zn50r2lpb";
     };
     meta.homepage = "https://github.com/SirVer/ultisnips/";
   };
@@ -7136,12 +7136,12 @@ final: prev:
 
   urlview-nvim = buildVimPluginFrom2Nix {
     pname = "urlview.nvim";
-    version = "2022-04-20";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "axieax";
       repo = "urlview.nvim";
-      rev = "fcd59fc3a49e75993c3828c49df18bf3da51f45d";
-      sha256 = "16y3hicljn9y60jzvq7xmhhp7r3y0v5v4f1i16hj65rly96wziq7";
+      rev = "3b637651d5f0de185a0ceac783582692e204b053";
+      sha256 = "1hpm1mhj9n6fnrkr5vpl1x80xgx7f2ic5vy9ndybbsppk2l8jrp4";
     };
     meta.homepage = "https://github.com/axieax/urlview.nvim/";
   };
@@ -7184,12 +7184,12 @@ final: prev:
 
   venn-nvim = buildVimPluginFrom2Nix {
     pname = "venn.nvim";
-    version = "2021-10-19";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "jbyuki";
       repo = "venn.nvim";
-      rev = "d5a9c73fe7772c11414fc52acbb1d1bdb1ebc70f";
-      sha256 = "1mzxvx1vqnm89yzzy6n3s30y9w7s38lbjhnwdf4diy0kdzyq8x06";
+      rev = "71856b548e3206e33bad10acea294ca8b44327ee";
+      sha256 = "0gjrcj196cwd0j6jjjplycc2gvw77n9jsmq6q4l7by13d2agn7kc";
     };
     meta.homepage = "https://github.com/jbyuki/venn.nvim/";
   };
@@ -7688,12 +7688,12 @@ final: prev:
 
   vim-autoformat = buildVimPluginFrom2Nix {
     pname = "vim-autoformat";
-    version = "2021-11-07";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "vim-autoformat";
       repo = "vim-autoformat";
-      rev = "bb11f30377985e45e2eecef570856d42dbabb8b0";
-      sha256 = "1lx5lrb0hjijvwngvgsgchww70c1bgqf5qxj8lhvk11dvxn3k087";
+      rev = "544596a21c54ee0888a1f30f3bb31d472432d7d9";
+      sha256 = "19ridsf6vgiknagplfdmbsg23wnl48j7n48z8qa3372x1v30c92p";
     };
     meta.homepage = "https://github.com/vim-autoformat/vim-autoformat/";
   };
@@ -7880,12 +7880,12 @@ final: prev:
 
   vim-ccls = buildVimPluginFrom2Nix {
     pname = "vim-ccls";
-    version = "2022-01-29";
+    version = "2022-04-23";
     src = fetchFromGitHub {
       owner = "m-pilia";
       repo = "vim-ccls";
-      rev = "93ac5dbdeaaaed8fdfd6d850f1e57fb28d204886";
-      sha256 = "15dr487baghlhl559a4zqpm8vnpm77aci4gw9x95v4kds9g4g51k";
+      rev = "b8e3afaca0578ce96f8d7eefd2093e7594a19424";
+      sha256 = "1zsp5lsdrrrlgbpb68hksb3lm8289h9rjz991clbvam61ssi4w08";
     };
     meta.homepage = "https://github.com/m-pilia/vim-ccls/";
   };
@@ -7916,12 +7916,12 @@ final: prev:
 
   vim-clap = buildVimPluginFrom2Nix {
     pname = "vim-clap";
-    version = "2022-04-08";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-clap";
-      rev = "6e99d7924862b0a929983a36dd1d9bb9ae87ec44";
-      sha256 = "1w7sjryw6inq2v4ryfabphbavmpgz6qa6f7jxyx1irjsd3293z65";
+      rev = "7d1fb3baf5b92b707146262713f6fe30d49a2f15";
+      sha256 = "0m7cgiysr95c1lssfsi84z1hhqv8bz32wsazk7jmxxn9j83696s5";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-clap/";
   };
@@ -8204,12 +8204,12 @@ final: prev:
 
   vim-dadbod-ui = buildVimPluginFrom2Nix {
     pname = "vim-dadbod-ui";
-    version = "2022-03-06";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "kristijanhusak";
       repo = "vim-dadbod-ui";
-      rev = "d9db8d8ae99500e4df6b22a73e30a411936dca37";
-      sha256 = "1gpsnx2s6wk473547h7fjf21cgzkfx2b2d3hwk1q2m7gjpsg0j3q";
+      rev = "7bd114b88da4bf8115bd85d70fb531e4b6d72eb7";
+      sha256 = "0mb74z2kr85wd17kbhf8qx02iciq31aqg7y12k1isvmxkv4i0hhw";
     };
     meta.homepage = "https://github.com/kristijanhusak/vim-dadbod-ui/";
   };
@@ -8276,12 +8276,12 @@ final: prev:
 
   vim-dirvish = buildVimPluginFrom2Nix {
     pname = "vim-dirvish";
-    version = "2022-03-27";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-dirvish";
-      rev = "9dde0c97cc39ca1cf49cbe7ecd350d153a0426c3";
-      sha256 = "0ba2lsc2jwgplgqsnq69dngiybcs4ad0il19xlk250msxpr5l8xq";
+      rev = "7e41cd7628d9844b4e66b45104f3abc326aa1a00";
+      sha256 = "16q979l3zjh4ly0rr74y3g3q0csabs8v5k6dxkyymvg3bycrpg4y";
     };
     meta.homepage = "https://github.com/justinmk/vim-dirvish/";
   };
@@ -8492,24 +8492,24 @@ final: prev:
 
   vim-erlang-tags = buildVimPluginFrom2Nix {
     pname = "vim-erlang-tags";
-    version = "2021-02-19";
+    version = "2022-04-02";
     src = fetchFromGitHub {
       owner = "vim-erlang";
       repo = "vim-erlang-tags";
-      rev = "d7eaa8f6986de0f266dac48b7dcfbf41d67ce611";
-      sha256 = "03wxy29z0rjnf3hilap7c86di7dkjwb8sdlfh74ch8vhan8h6rv0";
+      rev = "cf6e9319818a6737dc9b79b7fa53fe4cdfc65139";
+      sha256 = "1sk3z35svv2dznmvw9cgjm1731lgq34gai92c5vy6sxdbn6h1sbw";
     };
     meta.homepage = "https://github.com/vim-erlang/vim-erlang-tags/";
   };
 
   vim-eunuch = buildVimPluginFrom2Nix {
     pname = "vim-eunuch";
-    version = "2022-04-19";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-eunuch";
-      rev = "c1ee64a9775b4adff8d4e052b158f380682bc249";
-      sha256 = "17m1632a4nwilg0d29gx7gsng8f1w82q049iynm4gy1aqczlwgxh";
+      rev = "73b5e3fccfb5295e38546318c0d3139874c25efb";
+      sha256 = "1xqx80a1g9r3lxfxb1ahrbfzmm4r6azm8iyc3430nwqx4jg72pp2";
     };
     meta.homepage = "https://github.com/tpope/vim-eunuch/";
   };
@@ -8588,12 +8588,12 @@ final: prev:
 
   vim-flagship = buildVimPluginFrom2Nix {
     pname = "vim-flagship";
-    version = "2021-12-07";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-flagship";
-      rev = "7f3aab5e3f1b48df9f9465b8cd55f9d2a1564087";
-      sha256 = "0vfihdwabl41wdavzppsim6sza8mjynpnb3my85di5xn5mgcmixp";
+      rev = "6726cac1374c5a32e0b63f7f66007d33fdf3e21b";
+      sha256 = "036w6b1wn6kamdjmakgchzwpzm0mwjpp1fpmc3bm79mc4q63cd06";
     };
     meta.homepage = "https://github.com/tpope/vim-flagship/";
   };
@@ -8696,12 +8696,12 @@ final: prev:
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2022-04-14";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "4b0f2b604562e9681ae3b80c2665f168ac637cea";
-      sha256 = "0amph3kjqq0hl74akpp5czjw2gk6mh6l2zz113mrb95nri0bz73q";
+      rev = "b7287bd5421da62986d9abf9131509b2c9f918e4";
+      sha256 = "1pk1qlr7lcifffsxm8fqy34p9nizv0n5mc0rl7xb7pr5c98a4vzz";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -8792,12 +8792,12 @@ final: prev:
 
   vim-gitgutter = buildVimPluginFrom2Nix {
     pname = "vim-gitgutter";
-    version = "2022-04-15";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "d5bae104031bb1633cb5c5178dc7d4ac422b422a";
-      sha256 = "1k6bn3wm9chaqhkaw382169ia5ycbbnw00hwyaabx7fbzc8zf7zw";
+      rev = "988a6dbad9a9777cd94aab18ba7821a41068685b";
+      sha256 = "178jzjwqjd15b3gjdyiay5fw9sv6s7jbzj1sgqfwlg2gm3m7g2fi";
     };
     meta.homepage = "https://github.com/airblade/vim-gitgutter/";
   };
@@ -8840,12 +8840,12 @@ final: prev:
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2022-04-15";
+    version = "2022-04-23";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "687eb72bb6e84012ef2b0b2474175e46243e43b0";
-      sha256 = "0llf81fh166xvdvy0vj93a964hp2clb3lqdy2sp3fhzldzyv0bab";
+      rev = "e9d7ff3eb4a369f0cb2069c8f77ae68796bca308";
+      sha256 = "1gplykwbn8iclliv0ssd728bm3rxfvanppa2svn50h2c3zn7dph7";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -9538,24 +9538,24 @@ final: prev:
 
   vim-lsc = buildVimPluginFrom2Nix {
     pname = "vim-lsc";
-    version = "2021-04-28";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "natebosch";
       repo = "vim-lsc";
-      rev = "4b0fc48037c628f14209f30616a19287d9e54823";
-      sha256 = "1jwfc193wbh2rmyi6mdwgr3lcq82qhlclq4hjwg1hcw94442r5xv";
+      rev = "39ec72353c2170db2caf797072800c513647e9c5";
+      sha256 = "18ljb8j8rs77643v8gprpqzfac492ljc49mn4g8b1bdkbji4cnqx";
     };
     meta.homepage = "https://github.com/natebosch/vim-lsc/";
   };
 
   vim-lsp = buildVimPluginFrom2Nix {
     pname = "vim-lsp";
-    version = "2022-04-17";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "vim-lsp";
-      rev = "8df4aa40191717b34f5da8d3c8e90dc0f1f62e0b";
-      sha256 = "0nx63rn86cjprwbvqpzarxxn1id6jndvww9n10ssdf5cfkw697b7";
+      rev = "c075e157fcce4511e537b1f7f3385444d9c80e0d";
+      sha256 = "0q7mg3qk0ryh46m6p4pliysrndmz3g6g6m5rqpz86lj6z2ivzzhy";
     };
     meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
   };
@@ -9586,12 +9586,12 @@ final: prev:
 
   vim-maktaba = buildVimPluginFrom2Nix {
     pname = "vim-maktaba";
-    version = "2021-08-09";
+    version = "2022-04-22";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-maktaba";
-      rev = "f5127b339a9d776f220cc0393783c55def9d8ce0";
-      sha256 = "0svkpk46fvas5346af2cw2ga03mlwd3rn8pya41f9whybqxdrysg";
+      rev = "fe631a85b0a1e1a709a55ef0947c9c0813f41edb";
+      sha256 = "166fgfxh6k4v2ypzjmn6hicr92xgcsi5bi930f74xv5fzm0gw9l8";
     };
     meta.homepage = "https://github.com/google/vim-maktaba/";
   };
@@ -9610,24 +9610,24 @@ final: prev:
 
   vim-markbar = buildVimPluginFrom2Nix {
     pname = "vim-markbar";
-    version = "2020-08-31";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "Yilin-Yang";
       repo = "vim-markbar";
-      rev = "df13c3abe88c01a716b1099de953dcfa1679e663";
-      sha256 = "1y5w182d57z1nl8c7ng25m88by88pnxqdsxmcnnygdfjmvbv8jl9";
+      rev = "b9b87339bca7572ffc506165069242b6c06c210b";
+      sha256 = "1kgpq8q7rcskwc8y8fcbvpq61qx9ysb846qhlk2s7fqjkwpmgz59";
     };
     meta.homepage = "https://github.com/Yilin-Yang/vim-markbar/";
   };
 
   vim-markdown = buildVimPluginFrom2Nix {
     pname = "vim-markdown";
-    version = "2022-04-13";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "vim-markdown";
-      rev = "c031a3e65c50d6aa0bfc81f8be9d248f9644426d";
-      sha256 = "0l8ginadb4jxnrggd1lvia8kan397x02jf3v6sgkcyxawwpgfl0x";
+      rev = "9068655bb74bb615b3876b4d4d6a1d1141e212f3";
+      sha256 = "0s4ph2c8a1ha0cd95b2lf2i5irf4bwx34929i2c5p3ihk2701fsf";
     };
     meta.homepage = "https://github.com/preservim/vim-markdown/";
   };
@@ -9659,12 +9659,12 @@ final: prev:
 
   vim-matchup = buildVimPluginFrom2Nix {
     pname = "vim-matchup";
-    version = "2022-04-19";
+    version = "2022-04-20";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "bb04f9fa64b96bd3d6c4c146c6f9c55a69587fac";
-      sha256 = "1wrgxsdv3q2px0q7w6jf5dnj2abr0vf1pfq5f53zq784h08m07hq";
+      rev = "1cb069f2a526682b3ce69610cf7c05511295ad37";
+      sha256 = "09xwkzipsqiyglmyxkz0n6jycwp918mfxazqycy54zwng1c207q1";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -9863,12 +9863,12 @@ final: prev:
 
   vim-nix = buildVimPluginFrom2Nix {
     pname = "vim-nix";
-    version = "2021-05-28";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "LnL7";
       repo = "vim-nix";
-      rev = "63b47b39c8d481ebca3092822ca8972e08df769b";
-      sha256 = "08n9cgphv2m96kk5w996lwlqak011x5xm410hajmc91vy5fws361";
+      rev = "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee";
+      sha256 = "1vaprm79j0nfl37r6lw0zwd048ajd5sc9cvny59qwdl3x0zk38av";
     };
     meta.homepage = "https://github.com/LnL7/vim-nix/";
   };
@@ -10211,12 +10211,12 @@ final: prev:
 
   vim-plug = buildVimPluginFrom2Nix {
     pname = "vim-plug";
-    version = "2022-04-04";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
-      rev = "93ab5909784e09134e90f15cafa8a5edcc9a00fe";
-      sha256 = "0cq2ilqqq90bpp8pzylqi759hqb9ni6l1rqkvj6aj7a4b29a59nv";
+      rev = "be55ec46b5ab031805487a9c3e895db57f53010b";
+      sha256 = "03flkm75xp7g4kzwdmvz2dc2r1aqbkyknxbclvp38xk3qwwd5kvh";
     };
     meta.homepage = "https://github.com/junegunn/vim-plug/";
   };
@@ -10235,12 +10235,12 @@ final: prev:
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2022-04-18";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "db7bb8ba22f5798bf3abe9f786bc6e6d002725f8";
-      sha256 = "1fjy26ncql66fn7jdmggkndad1ib9csblvyq42sq9qcdci0lb9jx";
+      rev = "38282d58387cff48ac203f6912c05e4c8686141b";
+      sha256 = "15szf3fjlnws0g5l3d2p3w74d5m9299l5k5gx91p0n9431xjb569";
     };
     meta.homepage = "https://github.com/sheerun/vim-polyglot/";
   };
@@ -10307,12 +10307,12 @@ final: prev:
 
   vim-projectionist = buildVimPluginFrom2Nix {
     pname = "vim-projectionist";
-    version = "2022-04-19";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-projectionist";
-      rev = "8fb9440ad4cea6ffea8efc3efa4d8d64e7fb9785";
-      sha256 = "0nlsi05r2gvmwzzrrcifvx1rq09d16mnfa3gl2qif5dgmrj7qzni";
+      rev = "df1e28dba36e69288173fdcdce122d98538ae782";
+      sha256 = "1xqf3vrw5vy2pg87b840i87pxvi252rlw4q6fyldlzffxygk6zhq";
     };
     meta.homepage = "https://github.com/tpope/vim-projectionist/";
   };
@@ -10475,12 +10475,12 @@ final: prev:
 
   vim-rails = buildVimPluginFrom2Nix {
     pname = "vim-rails";
-    version = "2022-04-16";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rails";
-      rev = "d38f1bf8575b920042153689492721b80252ae41";
-      sha256 = "18c3maypsl265f3a03602mnq4lky5w786i9iaphv5x5rlnfwj8wa";
+      rev = "2f8adae670e3fe262b793885ae5d808d40c6f2ed";
+      sha256 = "1mjjhnrpdcz85r1l3jriqa55ffdkr35c0vf85g3kzg9kqf8g9y0l";
     };
     meta.homepage = "https://github.com/tpope/vim-rails/";
   };
@@ -10547,12 +10547,12 @@ final: prev:
 
   vim-ruby = buildVimPluginFrom2Nix {
     pname = "vim-ruby";
-    version = "2022-03-22";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "vim-ruby";
       repo = "vim-ruby";
-      rev = "f3236767d2e74d736d98efd8da44013d1e95bfc1";
-      sha256 = "0mlllnykdmcxf4yx2nkp74rm4wx2qwcly3m711a6pq7w87fgh6jz";
+      rev = "811d8060f390837c49e8625e29c69672cdc56ec3";
+      sha256 = "0cx2xl1qn57fxhc7rwdfcf359yknr0qw3yh7mbpygrm45jlgwnva";
     };
     meta.homepage = "https://github.com/vim-ruby/vim-ruby/";
   };
@@ -10631,12 +10631,12 @@ final: prev:
 
   vim-search-pulse = buildVimPluginFrom2Nix {
     pname = "vim-search-pulse";
-    version = "2017-01-05";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "inside";
       repo = "vim-search-pulse";
-      rev = "9f8f473e3813bd76ecb66e8d6182d96bda39b6df";
-      sha256 = "1xr90a8wvjfkgw1yrh0zcvpvp9ma6z0wqkl8v8pabf20vckgy2q0";
+      rev = "3ae2681332c52ed54c443e09d2ef09ae05eaa445";
+      sha256 = "0si6mqrassa7jpdhpiya3f507a74k46h07sbfks7hvxkhk51q7yx";
     };
     meta.homepage = "https://github.com/inside/vim-search-pulse/";
   };
@@ -10739,12 +10739,12 @@ final: prev:
 
   vim-sleuth = buildVimPluginFrom2Nix {
     pname = "vim-sleuth";
-    version = "2022-04-14";
+    version = "2022-04-28";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sleuth";
-      rev = "e116c2cc2555b09aee9b18eba405b925c8b7eaf9";
-      sha256 = "02ljdb3p7fp0h3nf6rxv5kgsxqdvgkwrwgb01x4xn100spkv6y6i";
+      rev = "1d25e8e5dc4062e38cab1a461934ee5e9d59e5a8";
+      sha256 = "1nb90zm9jc2mq5fxbxifrmhkpjs3a5y68amr3f99rxfd0197jxcs";
     };
     meta.homepage = "https://github.com/tpope/vim-sleuth/";
   };
@@ -10835,12 +10835,12 @@ final: prev:
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2022-04-20";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "0decc32aad4564452c2f8a5cbfe387195f1a8bba";
-      sha256 = "1ycmls9xpkfzkrws2aby88zmsv1489d659sllrgmbmh04g0pq8vy";
+      rev = "45c8e00d0bae9056713097ea655d76d463b66f10";
+      sha256 = "0zng2k82kwm0av1dyar6y44cq79v5khy07swwp6kmkz5vjj9y4dd";
     };
     meta.homepage = "https://github.com/honza/vim-snippets/";
   };
@@ -10979,12 +10979,12 @@ final: prev:
 
   vim-surround = buildVimPluginFrom2Nix {
     pname = "vim-surround";
-    version = "2022-04-10";
+    version = "2022-04-22";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-surround";
-      rev = "81fc0ec460dd8b25a76346e09aecdbca2677f1a7";
-      sha256 = "0k8fyyjak1l6f1hsb3pbyri1jsgxzbhcbih7p4vc8cdm346yms1i";
+      rev = "bf3480dc9ae7bea34c78fbba4c65b4548b5b1fea";
+      sha256 = "07wk87xiri44h5k3higiw9wfp516fflhq2xyrgm5hkxs3nnnx6la";
     };
     meta.homepage = "https://github.com/tpope/vim-surround/";
   };
@@ -11340,12 +11340,12 @@ final: prev:
 
   vim-unimpaired = buildVimPluginFrom2Nix {
     pname = "vim-unimpaired";
-    version = "2022-04-10";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-unimpaired";
-      rev = "80ab990c7ff7251f43262aae4b60ff6eff2ef3a4";
-      sha256 = "0qmxzk0vcglyrvx2hpxm6qgr6mcc1xnf6srw77ga9g0aazjr2hxc";
+      rev = "98427183e2b35acee15c7628b1cd587b98025719";
+      sha256 = "0w5065ywkr7ygpqjmi1r9s3icm6v0x2w1gfa9flwqhx6y02jfrmk";
     };
     meta.homepage = "https://github.com/tpope/vim-unimpaired/";
   };
@@ -11424,12 +11424,12 @@ final: prev:
 
   vim-vsnip = buildVimPluginFrom2Nix {
     pname = "vim-vsnip";
-    version = "2022-02-26";
+    version = "2022-04-22";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "vim-vsnip";
-      rev = "70a1131d64d75150ece513b983b0f42939bcb03c";
-      sha256 = "042cnznm1p5x3ky7m81q62n3nlgab9fq734hlfwsbwrcdqa849l2";
+      rev = "8f199ef690ed26dcbb8973d9a6760d1332449ac9";
+      sha256 = "1d9wr97a02j717sbh55xk7xam6d97l5ggi0ymc67q64hrq8nsaai";
     };
     meta.homepage = "https://github.com/hrsh7th/vim-vsnip/";
   };
@@ -11460,12 +11460,12 @@ final: prev:
 
   vim-wakatime = buildVimPluginFrom2Nix {
     pname = "vim-wakatime";
-    version = "2022-04-13";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "9cf2f1910d5cd7f25657176fe60b1745a310f1b3";
-      sha256 = "0jxkfiq5553ad7zabxlgwzwwsgwznkn0rahfmr79r1dvvqm9m1a6";
+      rev = "b8e6cc7dc28e2e6198d8c9c30e5c8a2414a7b996";
+      sha256 = "1hy0y5v3r5w7y8phkgbi1ff7p8yyhyndxr3yyr1wfvssdilz6xqj";
     };
     meta.homepage = "https://github.com/wakatime/vim-wakatime/";
   };
@@ -11520,12 +11520,12 @@ final: prev:
 
   vim-wordmotion = buildVimPluginFrom2Nix {
     pname = "vim-wordmotion";
-    version = "2021-12-28";
+    version = "2022-04-23";
     src = fetchFromGitHub {
       owner = "chaoren";
       repo = "vim-wordmotion";
-      rev = "0d810cc943a858a570a482055188b5e69c4c8724";
-      sha256 = "0d0sf7dzzawssfn1dq61485vbykwmzc1g4qk91qnl68w9h4xlpgl";
+      rev = "1f7eaf5d5733e39fb37f8e0de2f7f15e242dd39c";
+      sha256 = "1j68jvswd7gdva90ar3ldqrspg7r5m4wwv593g98l8yn6dkz9mrz";
     };
     meta.homepage = "https://github.com/chaoren/vim-wordmotion/";
   };
@@ -11748,12 +11748,12 @@ final: prev:
 
   vimspector = buildVimPluginFrom2Nix {
     pname = "vimspector";
-    version = "2022-04-13";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "ebeebc121423a5ab9a31c996f9881880b658c644";
-      sha256 = "0npcra2k49rz9ij4kc6dyb8dpmfi6kivpp89ggmpnd0989vn9i56";
+      rev = "960f0444d21ebb20303e1796e4b478df042c3bd3";
+      sha256 = "0sx2awi2b22j9wdyi8m1k261qlfj19i2xs93g5lb24lfb53rarmi";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -11761,12 +11761,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2022-04-10";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "7bfcfb7b9a734b07e04209350bbe56d7123efb48";
-      sha256 = "1w09kmrm6rpffzh3xz9zsqm7h9f56a6p1wzclz96wvy8mr6hd6bn";
+      rev = "9ffbe63a2055b59b09b18b1cd682e0b2703cc898";
+      sha256 = "151ilpd7360rhpi3nyi5dfky814zx9zc4fa82wj6bnkcwy1b4k0c";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -11869,12 +11869,12 @@ final: prev:
 
   wilder-nvim = buildVimPluginFrom2Nix {
     pname = "wilder.nvim";
-    version = "2022-04-17";
+    version = "2022-04-23";
     src = fetchFromGitHub {
       owner = "gelguy";
       repo = "wilder.nvim";
-      rev = "a9ea0c69b37850752d5f8431b7be6bf8f1a0254c";
-      sha256 = "0vd01sjj4q26a653wv9icfyd7g34rnl4whbnl3ic6pvb9cvj72wk";
+      rev = "777b163e394ba658ef288292efb533b25610ef9d";
+      sha256 = "1y7kii77jia3j9jlisjg2x1yfk8r048aas5zja0ag8nlyqldj8xh";
     };
     meta.homepage = "https://github.com/gelguy/wilder.nvim/";
   };
@@ -12038,12 +12038,12 @@ final: prev:
 
   zig-vim = buildVimPluginFrom2Nix {
     pname = "zig.vim";
-    version = "2022-03-15";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "ziglang";
       repo = "zig.vim";
-      rev = "dd5e2c2384d42eaffadd5a8fd749b0499a90a7ac";
-      sha256 = "0qbjnmjf057phxkzhsyys9x0620szbgr3awqzgxr3cflyd1zhrf4";
+      rev = "1cb9cd521cab91e39cf162b50b7a095fd12361d3";
+      sha256 = "10flq5dm6aa5ay3rb2rn5y9ih8z66iq6lw2rl2489qxi605bxqs7";
     };
     meta.homepage = "https://github.com/ziglang/zig.vim/";
   };
@@ -12086,12 +12086,12 @@ final: prev:
 
   chad = buildVimPluginFrom2Nix {
     pname = "chad";
-    version = "2022-04-20";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "d9a84322624d14c1e249e9a8a4573c9d205a9bc9";
-      sha256 = "16lha28fmi463snf71w0nz6ll0yiiiz7xrh2v7irkgx214q1gh6z";
+      rev = "820c1913a77a12d080e3436e60a491327664589b";
+      sha256 = "0lc5ldg65h4jqb6qkz22avzv4x2jmciabcsy47a9wkzy2l9hlvza";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -12122,12 +12122,12 @@ final: prev:
 
   gruvbox-community = buildVimPluginFrom2Nix {
     pname = "gruvbox-community";
-    version = "2022-03-06";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "gruvbox-community";
       repo = "gruvbox";
-      rev = "b6f47ae7031f6746a1f1918c17574aa12c474ef0";
-      sha256 = "0m8rrm5v542a2c30sg7hlgm7r6gs4ah1n6nr5dc101l2064kg97g";
+      rev = "34ad436b234c5095d46bb065c5b32780618df83f";
+      sha256 = "11zp3w4n2iq97rx7fp7rlvykmx4k7swbbqpjphrx0il0fmghv6q8";
     };
     meta.homepage = "https://github.com/gruvbox-community/gruvbox/";
   };
@@ -12158,12 +12158,12 @@ final: prev:
 
   rose-pine = buildVimPluginFrom2Nix {
     pname = "rose-pine";
-    version = "2022-04-19";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "rose-pine";
       repo = "neovim";
-      rev = "758568b92e0a17c3618f71d43cce96a3a5436985";
-      sha256 = "0zxyyjp1527681rrw25f8vzx1d6djqac04zcay02hxi2rcnjpan5";
+      rev = "da67a549cf5d67e15618cc3001f1e07724a1597f";
+      sha256 = "1dfccfjy67b7269zypkdi7x6fcsdgw2qmd44kyk66qr6f9q4yng2";
     };
     meta.homepage = "https://github.com/rose-pine/neovim/";
   };
@@ -12180,4 +12180,5 @@ final: prev:
     meta.homepage = "https://github.com/jhradilek/vim-snippets/";
   };
 
+
 }
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index db7da93649e..e294ea0b5a2 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -450,11 +450,8 @@ self: super: {
         --replace "code-minimap" "${code-minimap}/bin/code-minimap"
     '';
 
-    doCheck = true;
-    checkPhase = ''
-      ${neovim-unwrapped}/bin/nvim -n -u NONE -i NONE -V1 --cmd "set rtp+=$out" --cmd "runtime! plugin/*.vim" -c "MinimapToggle"  +quit!
-    '';
-
+    doInstallCheck = true;
+    vimCommandCheck = "MinimapToggle";
   });
 
   ncm2 = super.ncm2.overrideAttrs (old: {
@@ -1119,6 +1116,7 @@ self: super: {
       "coc-flutter"
       "coc-git"
       "coc-go"
+      "coc-haxe"
       "coc-highlight"
       "coc-html"
       "coc-imselect"
diff --git a/pkgs/applications/editors/vim/plugins/update.py b/pkgs/applications/editors/vim/plugins/update.py
index ad1c38cb375..1214e36372a 100755
--- a/pkgs/applications/editors/vim/plugins/update.py
+++ b/pkgs/applications/editors/vim/plugins/update.py
@@ -26,19 +26,24 @@ from typing import List, Tuple
 from pathlib import Path
 
 log = logging.getLogger()
-log.addHandler(logging.StreamHandler())
+
+sh = logging.StreamHandler()
+formatter = logging.Formatter('%(name)s:%(levelname)s: %(message)s')
+sh.setFormatter(formatter)
+log.addHandler(sh)
 
 # Import plugin update library from maintainers/scripts/pluginupdate.py
 ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))))
 # Ideally, ROOT.(parent^5) points to root of Nixpkgs official tree
 sys.path.insert(0, os.path.join(ROOT.parent.parent.parent.parent.parent, "maintainers", "scripts"))
 import pluginupdate
+from pluginupdate import run_nix_expr, PluginDesc
 
 GET_PLUGINS = f"""(with import <localpkgs> {{}};
 let
-  inherit (vimUtils.override {{inherit vim;}}) buildVimPluginFrom2Nix;
+  inherit (vimUtils.override {{inherit vim;}}) buildNeovimPluginFrom2Nix buildVimPluginFrom2Nix;
   generated = callPackage {ROOT}/generated.nix {{
-    inherit buildVimPluginFrom2Nix;
+    inherit buildNeovimPluginFrom2Nix buildVimPluginFrom2Nix;
   }};
   hasChecksum = value: lib.isAttrs value && lib.hasAttrByPath ["src" "outputHash"] value;
   getChecksum = name: value:
@@ -50,43 +55,69 @@ let
   checksums = lib.mapAttrs getChecksum generated;
 in lib.filterAttrs (n: v: v != null) checksums)"""
 
+GET_PLUGINS_LUA = """
+with import <localpkgs> {};
+lib.attrNames lua51Packages"""
+
 HEADER = (
     "# This file has been generated by ./pkgs/applications/editors/vim/plugins/update.py. Do not edit!"
 )
 
+def isNeovimPlugin(plug: pluginupdate.Plugin) -> bool:
+    '''
+    Whether it's a neovim-only plugin
+    We can check if it's available in lua packages
+    '''
+    global luaPlugins
+    if plug.normalized_name in luaPlugins:
+        log.debug("%s is a neovim plugin", plug)
+        return True
+    return False
+
 
 class VimEditor(pluginupdate.Editor):
-    def generate_nix(self, plugins: List[Tuple[pluginupdate.PluginDesc, pluginupdate.Plugin]], outfile: str):
+    def generate_nix(self, plugins: List[Tuple[PluginDesc, pluginupdate.Plugin]], outfile: str):
         sorted_plugins = sorted(plugins, key=lambda v: v[0].name.lower())
 
         with open(outfile, "w+") as f:
             f.write(HEADER)
             f.write(textwrap.dedent("""
-                { lib, buildVimPluginFrom2Nix, fetchFromGitHub, fetchgit }:
+                { lib, buildVimPluginFrom2Nix, buildNeovimPluginFrom2Nix, fetchFromGitHub, fetchgit }:
 
                 final: prev:
-                {"""
+                {
+                """
             ))
             for pdesc, plugin in sorted_plugins:
+                content = self.plugin2nix(pdesc, plugin)
+                f.write(content)
+            f.write("\n}\n")
+        print(f"updated {outfile}")
+
+    def plugin2nix(self, pdesc: PluginDesc, plugin: pluginupdate.Plugin) -> str:
 
-                repo = pdesc.repo
-                src_nix = repo.as_nix(plugin)
-                f.write(
-                    f"""
-  {plugin.normalized_name} = buildVimPluginFrom2Nix {{
+        repo = pdesc.repo
+        isNeovim = isNeovimPlugin(plugin)
+
+        content = f"  {plugin.normalized_name} = "
+        src_nix = repo.as_nix(plugin)
+        content += """{buildFn} {{
     pname = "{plugin.name}";
     version = "{plugin.version}";
     src = {src_nix};
     meta.homepage = "{repo.uri}";
   }};
-"""
-                )
-            f.write("\n}\n")
-        print(f"updated {outfile}")
-
 
+""".format(
+        buildFn="buildNeovimPluginFrom2Nix" if isNeovim else "buildVimPluginFrom2Nix", plugin=plugin, src_nix=src_nix, repo=repo)
+        print(content)
+        return content
 
 def main():
+
+    global luaPlugins
+    luaPlugins = run_nix_expr(GET_PLUGINS_LUA)
+
     editor = VimEditor("vim", ROOT, GET_PLUGINS)
     parser = editor.create_parser()
     args = parser.parse_args()
diff --git a/pkgs/applications/editors/vim/plugins/vim-command-check-hook.sh b/pkgs/applications/editors/vim/plugins/vim-command-check-hook.sh
new file mode 100644
index 00000000000..c4ddd8e0c5a
--- /dev/null
+++ b/pkgs/applications/editors/vim/plugins/vim-command-check-hook.sh
@@ -0,0 +1,25 @@
+# Setup hook for checking whether a vim command exists
+echo "Sourcing vim-command-check-hook.sh"
+
+vimCommandCheckHook () {
+    echo "Executing vimCommandCheckHook"
+
+    if [ -n "$vimCommandCheck" ]; then
+        echo "Check whether the following modules can be imported: $vimCommandCheck"
+
+		# editorconfig-checker-disable
+        export HOME="$TMPDIR"
+        @vimBinary@ -es -n -u NONE -i NONE --clean -V1 --cmd "set rtp+=$out" \
+			--cmd "runtime! plugin/*.vim"  <<-EOF
+			if exists(":$vimCommandCheck") == 2
+				cquit 0
+			else
+				cquit 1
+			fi
+			EOF
+    fi
+}
+
+echo "Using vimCommandCheckHook"
+preDistPhases+=" vimCommandCheckHook"
+
diff --git a/pkgs/applications/editors/vim/plugins/vim-utils.nix b/pkgs/applications/editors/vim/plugins/vim-utils.nix
index b291928f25a..e685e398fc2 100644
--- a/pkgs/applications/editors/vim/plugins/vim-utils.nix
+++ b/pkgs/applications/editors/vim/plugins/vim-utils.nix
@@ -521,8 +521,24 @@ rec {
       };
     } ./vim-gen-doc-hook.sh) {};
 
-  inherit (import ./build-vim-plugin.nix { inherit lib stdenv rtpPath vim vimGenDocHook; })
-    buildVimPlugin buildVimPluginFrom2Nix;
+  vimCommandCheckHook = callPackage ({ neovim-unwrapped }:
+    makeSetupHook {
+      name = "vim-command-check-hook";
+      deps = [ neovim-unwrapped ];
+      substitutions = {
+        vimBinary = "${neovim-unwrapped}/bin/nvim";
+        inherit rtpPath;
+      };
+    } ./vim-command-check-hook.sh) {};
+
+  inherit (import ./build-vim-plugin.nix {
+    inherit lib stdenv rtpPath vim vimGenDocHook vimCommandCheckHook;
+  }) buildVimPlugin buildVimPluginFrom2Nix;
+
+
+  # TODO placeholder to ease working on automatic plugin detection
+  # this should be a luarocks "flat" install with appropriate vim hooks
+  buildNeovimPluginFrom2Nix = buildVimPluginFrom2Nix;
 
   # used to figure out which python dependencies etc. neovim needs
   requiredPlugins = {
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index 125751b5a7f..ffe7f9a336a 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -67,6 +67,18 @@ let
         };
       };
 
+      adpyke.codesnap = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "codesnap";
+          publisher = "adpyke";
+          version = "1.3.4";
+          sha256 = "sha256-dR6qODSTK377OJpmUqG9R85l1sf9fvJJACjrYhSRWgQ=";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
       alefragnani.project-manager = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "project-manager";
@@ -554,8 +566,8 @@ let
         mktplcRef = {
           name = "vscode-markdownlint";
           publisher = "DavidAnson";
-          version = "0.46.0";
-          sha256 = "sha256-2FvE+6fnZPtR0At4NjLKSMCbPu8T7o8xtpvYiEjh7ck=";
+          version = "0.47.0";
+          sha256 = "sha256-KtDJo8rhQXkZtJz93E+J7eNiAIcLk4e5qKDLoR3DoGw=";
         };
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/DavidAnson.vscode-markdownlint/changelog";
@@ -698,8 +710,8 @@ let
         mktplcRef = {
           name = "gitlens";
           publisher = "eamodio";
-          version = "12.0.3";
-          sha256 = "sha256-PHQXfk0JggkEBRflHp+OAUOCVuymCubaszfDCYbpfG0=";
+          version = "12.0.6";
+          sha256 = "sha256-Q8l/GryB9iMhFnu5npUcDjWuImfrmVZF3xvm7nX/77Q=";
         };
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/eamodio.gitlens/changelog";
@@ -790,8 +802,8 @@ let
         mktplcRef = {
           name = "prettier-vscode";
           publisher = "esbenp";
-          version = "9.3.0";
-          sha256 = "sha256-hJgPjWf7a8+ltjmXTK8U/MwqgIZqBjmcCfHsAk2G3PA=";
+          version = "9.5.0";
+          sha256 = "sha256-L/jW6xAnJ8v9Qq+iyQI8usGr8BoICR+2ENAMGQ05r0A=";
         };
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/esbenp.prettier-vscode/changelog";
@@ -1242,8 +1254,8 @@ let
         mktplcRef = {
           name = "vscode-peacock";
           publisher = "johnpapa";
-          version = "4.0.0";
-          sha256 = "1i65w70f0kikah1cx7m0bji6qd800jabfci0xisdqxyzaksg7ysz";
+          version = "4.0.1";
+          sha256 = "sha256-oYXYOamwacgRqv3+ZREJ1vqRlwMz8LpO+wa6CVEEdbI=";
         };
         meta = with lib; {
           license = licenses.mit;
@@ -1466,8 +1478,8 @@ let
         mktplcRef = {
           name = "vscode-docker";
           publisher = "ms-azuretools";
-          version = "1.20.0";
-          sha256 = "sha256-i3gYTP76YEDItG2oXR9pEXuGv0qmyf1Xv6HQvDBEOyg=";
+          version = "1.22.0";
+          sha256 = "sha256-+cY9uLQ4oIk7V/4uCNc6BdIAQCXvPPGeqd0apbDjDos=";
         };
         meta = {
           license = lib.licenses.mit;
@@ -1699,8 +1711,8 @@ let
         mktplcRef = {
           name = "material-icon-theme";
           publisher = "PKief";
-          version = "4.14.1";
-          sha256 = "sha256-OHXi0EfeyKMeFiMU5yg0aDoWds4ED0lb+l6T12XZ3LQ=";
+          version = "4.16.0";
+          sha256 = "sha256-AOHvWoVB26caNgEEnKBhw5Z/tRtaTSeVLkO6Rlc/kqo=";
         };
         meta = {
           license = lib.licenses.mit;
diff --git a/pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/default.nix b/pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/default.nix
index d4200c33552..8aa121cbe20 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/default.nix
@@ -43,7 +43,6 @@ in ((vscode-utils.override { stdenv = gccStdenv; }).buildVscodeMarketplaceExtens
   };
 }).overrideAttrs({ nativeBuildInputs ? [], buildInputs ? [], ... }: {
   nativeBuildInputs = nativeBuildInputs ++ [
-    bash
     jq
     autoPatchelfHook
     makeWrapper
diff --git a/pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix b/pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix
index 3bfc94bb6ea..ae9cbb7fb09 100644
--- a/pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix
@@ -37,8 +37,8 @@ buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "remote-ssh";
     publisher = "ms-vscode-remote";
-    version = "0.66.1";
-    sha256 = "sha256-+v4UnGRG5xOc8k0IzvHUBHa128fhgd3jcmEuciiMQmI=";
+    version = "0.78.0";
+    sha256 = "sha256-vd+9d86Z8429QpQVCZm8gtiJDcMpD++aiFVwvCrPg5w=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/editors/vscode/update-vscodium.sh b/pkgs/applications/editors/vscode/update-vscodium.sh
index 377068c0821..c7d9c1068b1 100755
--- a/pkgs/applications/editors/vscode/update-vscodium.sh
+++ b/pkgs/applications/editors/vscode/update-vscodium.sh
@@ -14,23 +14,27 @@ if [ ! -f "$ROOT/vscodium.nix" ]; then
   exit 1
 fi
 
+update_vscodium () {
+  VSCODIUM_VER=$1
+  ARCH=$2
+  ARCH_LONG=$3
+  ARCHIVE_FMT=$4
+  VSCODIUM_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-${ARCH}-${VSCODIUM_VER}.${ARCHIVE_FMT}"
+  VSCODIUM_SHA256=$(nix-prefetch-url ${VSCODIUM_URL})
+  sed -i "s/${ARCH_LONG} = \".\{52\}\"/${ARCH_LONG} = \"${VSCODIUM_SHA256}\"/" "$ROOT/vscodium.nix"
+}
+
 # VSCodium
 
 VSCODIUM_VER=$(curl -Ls -w %{url_effective} -o /dev/null https://github.com/VSCodium/vscodium/releases/latest | awk -F'/' '{print $NF}')
 sed -i "s/version = \".*\"/version = \"${VSCODIUM_VER}\"/" "$ROOT/vscodium.nix"
 
-VSCODIUM_LINUX_X64_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-linux-x64-${VSCODIUM_VER}.tar.gz"
-VSCODIUM_LINUX_X64_SHA256=$(nix-prefetch-url ${VSCODIUM_LINUX_X64_URL})
-sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODIUM_LINUX_X64_SHA256}\"/" "$ROOT/vscodium.nix"
+update_vscodium $VSCODIUM_VER linux-x64 x86_64-linux tar.gz
+
+update_vscodium $VSCODIUM_VER darwin-x64 x86_64-darwin zip
 
-VSCODIUM_DARWIN_X64_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-darwin-x64-${VSCODIUM_VER}.zip"
-VSCODIUM_DARWIN_X64_SHA256=$(nix-prefetch-url ${VSCODIUM_DARWIN_X64_URL})
-sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODIUM_DARWIN_X64_SHA256}\"/" "$ROOT/vscodium.nix"
+update_vscodium $VSCODIUM_VER linux-arm64 aarch64-linux tar.gz
 
-VSCODIUM_LINUX_AARCH64_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-linux-arm64-${VSCODIUM_VER}.tar.gz"
-VSCODIUM_LINUX_AARCH64_SHA256=$(nix-prefetch-url ${VSCODIUM_LINUX_AARCH64_URL})
-sed -i "s/aarch64-linux = \".\{52\}\"/aarch64-linux = \"${VSCODIUM_LINUX_AARCH64_SHA256}\"/" "$ROOT/vscodium.nix"
+update_vscodium $VSCODIUM_VER darwin-arm64 aarch64-darwin zip
 
-VSCODIUM_LINUX_ARMV7L_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-linux-armhf-${VSCODIUM_VER}.tar.gz"
-VSCODIUM_LINUX_ARMV7L_SHA256=$(nix-prefetch-url ${VSCODIUM_LINUX_ARMV7L_URL})
-sed -i "s/armv7l-linux = \".\{52\}\"/armv7l-linux = \"${VSCODIUM_LINUX_ARMV7L_SHA256}\"/" "$ROOT/vscodium.nix"
+update_vscodium $VSCODIUM_VER linux-armhf armv7l-linux tar.gz
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index 6f42778d31e..41dfc3b1145 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -7,24 +7,21 @@ let
     x86_64-linux = "linux-x64";
     x86_64-darwin = "darwin-x64";
     aarch64-linux = "linux-arm64";
+    aarch64-darwin = "darwin-arm64";
     armv7l-linux = "linux-armhf";
   }.${system};
 
-  archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
+  archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
     x86_64-linux = "1i76ix318y6b2dcfnisg13bp5d7nzvcx7zcpl94mkrn974db30pn";
     x86_64-darwin = "1qk1vykl838vwsffyjpazx7x9ajwxczpgz5vhch16iikfz2vh1vk";
     aarch64-linux = "13jifiqn2v17d6vwacq6aib1lzyp2021kjdswkp7wpx6ck5lkm21";
+    aarch64-darwin = "1jgmvw52hp2zfvk6z51yni4vn7wfq63gsih42mzadg5a1b2fr9rx";
     armv7l-linux = "1zhriscsmfcsagsp2ds0fn316fybs5f2f2r3w5q29jwczgcnlam4";
   }.${system};
 
-  sourceRoot = {
-    x86_64-linux = ".";
-    x86_64-darwin = "";
-    aarch64-linux = ".";
-    armv7l-linux = ".";
-  }.${system};
+  sourceRoot = if stdenv.isDarwin then "" else ".";
 in
   callPackage ./generic.nix rec {
     inherit sourceRoot;
@@ -63,6 +60,6 @@ in
       downloadPage = "https://github.com/VSCodium/vscodium/releases";
       license = licenses.mit;
       maintainers = with maintainers; [ synthetica turion bobby285271 ];
-      platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "armv7l-linux" ];
+      platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" "armv7l-linux" ];
     };
   }
diff --git a/pkgs/applications/editors/xedit/default.nix b/pkgs/applications/editors/xedit/default.nix
index 5de0aed3404..5971c3a6e5d 100644
--- a/pkgs/applications/editors/xedit/default.nix
+++ b/pkgs/applications/editors/xedit/default.nix
@@ -12,14 +12,14 @@
 
 stdenv.mkDerivation rec {
   pname = "xedit";
-  version = "1.2.2";
+  version = "1.2.3";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "xorg/app";
     repo = "xedit";
     rev = "${pname}-${version}";
-    sha256 = "0b5ic13aasv6zh20v2k7zyxsqbnsxfq5rs3w8nwzl1gklmgrjxa3";
+    sha256 = "sha256-WF+4avzRRL0+OA3KxzK7JwmArkPu9fEl+728R6ouXmg=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config utilmacros ];
diff --git a/pkgs/applications/emulators/commanderx16/emulator.nix b/pkgs/applications/emulators/commanderx16/emulator.nix
index 73442215ff1..d15c99d355b 100644
--- a/pkgs/applications/emulators/commanderx16/emulator.nix
+++ b/pkgs/applications/emulators/commanderx16/emulator.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "x16-emulator";
-  version = "38";
+  version = "40";
 
   src = fetchFromGitHub {
     owner = "commanderx16";
     repo = pname;
     rev = "r${version}";
-    sha256 = "WNRq/m97NpOBWIk6mtxBAKmkxCGWacWjXeOvIhBrkYE=";
+    hash = "sha256-7ZzVd2NJCFNAFrS2cj6bxcq/AzO5VakoFX9o1Ac9egg=";
   };
 
   dontConfigure = true;
@@ -21,8 +21,10 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     runHook preInstall
-    install -D --mode 755 --target-directory $out/bin/ x16emu
-    install -D --mode 444 --target-directory $out/share/doc/${pname} README.md
+
+    install -Dm 755 -t $out/bin/ x16emu
+    install -Dm 444 -t $out/share/doc/${pname} README.md
+
     runHook postInstall
   '';
 
@@ -31,7 +33,7 @@ stdenv.mkDerivation rec {
     description = "The official emulator of CommanderX16 8-bit computer";
     license = licenses.bsd2;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = SDL2.meta.platforms;
+    inherit (SDL2.meta) platforms;
   };
 
   passthru = {
diff --git a/pkgs/applications/emulators/commanderx16/rom.nix b/pkgs/applications/emulators/commanderx16/rom.nix
index 5da77ebceef..617c0a16b83 100644
--- a/pkgs/applications/emulators/commanderx16/rom.nix
+++ b/pkgs/applications/emulators/commanderx16/rom.nix
@@ -2,20 +2,24 @@
 , lib
 , fetchFromGitHub
 , cc65
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "x16-rom";
-  version = "38";
+  version = "40";
 
   src = fetchFromGitHub {
     owner = "commanderx16";
     repo = pname;
     rev = "r${version}";
-    sha256 = "xaqF0ppB7I7ST8Uh3jPbC14uRAb/WH21tHlNeTvYpoI=";
+    hash = "sha256-5oqttuTJiJOUENncOJipAar22OsI1uG3G69m+eYoSh0=";
   };
 
-  nativeBuildInputs = [ cc65 ];
+  nativeBuildInputs = [
+    cc65
+    python3
+  ];
 
   postPatch = ''
     patchShebangs scripts/
@@ -25,8 +29,10 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     runHook preInstall
-    install -D --mode 444 --target-directory $out/share/${pname} build/x16/rom.bin
-    install -D --mode 444 --target-directory $out/share/doc/${pname} README.md
+
+    install -Dm 444 -t $out/share/${pname} build/x16/rom.bin
+    install -Dm 444 -t $out/share/doc/${pname} README.md
+
     runHook postInstall
   '';
 
@@ -35,7 +41,7 @@ stdenv.mkDerivation rec {
     description = "ROM file for CommanderX16 8-bit computer";
     license = licenses.bsd2;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = cc65.meta.platforms;
+    inherit (cc65.meta) platforms;
   };
 
   passthru = {
diff --git a/pkgs/applications/emulators/mame/default.nix b/pkgs/applications/emulators/mame/default.nix
index a024433e3ed..bf6426f3121 100644
--- a/pkgs/applications/emulators/mame/default.nix
+++ b/pkgs/applications/emulators/mame/default.nix
@@ -45,13 +45,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mame";
-  version = "0.242";
+  version = "0.243";
 
   src = fetchFromGitHub {
     owner = "mamedev";
     repo = "mame";
     rev = "mame${builtins.replaceStrings [ "." ] [ "" ] version}";
-    sha256 = "sha256-06iKM9cpjXuNvChQTPjhb9oQptC4KTZEoxzZk8+x3/k=";
+    sha256 = "sha256-dUgYLNvgvolz9M0ySkGJIZjVMBQwejkxsZ6npg8rIqk=";
   };
 
   hardeningDisable = [ "fortify" ];
diff --git a/pkgs/applications/emulators/retroarch/cores.nix b/pkgs/applications/emulators/retroarch/cores.nix
index 64de314c760..b553640d144 100644
--- a/pkgs/applications/emulators/retroarch/cores.nix
+++ b/pkgs/applications/emulators/retroarch/cores.nix
@@ -56,7 +56,7 @@ let
     , stdenvOverride ? stdenv
     , src ? (getCoreSrc core)
     , broken ? false
-    , version ? "unstable-2022-04-08"
+    , version ? "unstable-2022-04-21"
     , platforms ? retroarch.meta.platforms
       # The resulting core file is based on core name
       # Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename
@@ -359,6 +359,7 @@ in
     core = "dosbox";
     description = "Port of DOSBox to libretro";
     license = lib.licenses.gpl2Only;
+    stdenvOverride = gcc10Stdenv;
   };
 
   eightyone = mkLibRetroCore {
diff --git a/pkgs/applications/emulators/retroarch/default.nix b/pkgs/applications/emulators/retroarch/default.nix
index c32f46cf266..e9aa7d80d57 100644
--- a/pkgs/applications/emulators/retroarch/default.nix
+++ b/pkgs/applications/emulators/retroarch/default.nix
@@ -35,11 +35,11 @@
 }:
 
 let
-  version = "1.10.2";
+  version = "1.10.3";
   libretroCoreInfo = fetchFromGitHub {
     owner = "libretro";
     repo = "libretro-core-info";
-    sha256 = "sha256-XOSIVH3BSwAFKUeRvyYc2OXDa+TLjoKVGl+b8fgnvtY=";
+    sha256 = "sha256-wIIMEWrria8bZe/rcoJwDA9aCMWwbkDQFyEU80TZXFQ=";
     rev = "v${version}";
   };
   runtimeLibs = lib.optional withVulkan vulkan-loader
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "libretro";
     repo = "RetroArch";
-    sha256 = "sha256-fMsHMQiEoXeFKITxeEyRH829z5SCf8p0Hxq6ww1p3z4=";
+    sha256 = "sha256-nAv1yv0laqlOmB8UUkK5wSYy/ySqXloEErm+yV30bbA=";
     rev = "v${version}";
   };
 
diff --git a/pkgs/applications/emulators/retroarch/hashes.json b/pkgs/applications/emulators/retroarch/hashes.json
index 78969df95d3..80e4e278c94 100644
--- a/pkgs/applications/emulators/retroarch/hashes.json
+++ b/pkgs/applications/emulators/retroarch/hashes.json
@@ -20,8 +20,8 @@
     "beetle-ngp": {
         "owner": "libretro",
         "repo": "beetle-ngp-libretro",
-        "rev": "6abc74d9dc6a86460ab71c93c153fe1cb8ef4dbb",
-        "sha256": "+p3MwlzwwTghIKTDMzkqGlxhZiy/Px7xaDK3a0JagUE="
+        "rev": "facf8e1f5440c5d289258ee3c483710f3bf916fb",
+        "sha256": "vDKDt7MvCB9XQYP291cwcEPDxfNIVgNSWtBYz9PVgcw="
     },
     "beetle-pce-fast": {
         "owner": "libretro",
@@ -32,20 +32,20 @@
     "beetle-pcfx": {
         "owner": "libretro",
         "repo": "beetle-pcfx-libretro",
-        "rev": "00abc26cafb15cc33dcd73f4bd6b93cbaab6e1ea",
-        "sha256": "4a1wV3WKZmg1ed3BD0PN0Ap9E9XahQtilRWTGV5Ns3g="
+        "rev": "bfc0954e14b261a04dcf8dbe0df8798f16ae3f3c",
+        "sha256": "XzCb1lZFYgsg+3eQ1OqyycNxCgLtZFA30rno3ytdnoM="
     },
     "beetle-psx": {
         "owner": "libretro",
         "repo": "beetle-psx-libretro",
-        "rev": "88929ae90b4807a41b1b240377ab440e39ecf2cc",
-        "sha256": "5AX5FPsmsqGWCNzLgJ7lsekZaIdano2j5sb4qUkD4cQ="
+        "rev": "5a24d54d30dd00d817d267cf92fd5b3f4640928f",
+        "sha256": "uG1BhElNW75PnfM+rEYfbl97iwRT89hnl84yvlgx6fg="
     },
     "beetle-saturn": {
         "owner": "libretro",
         "repo": "beetle-saturn-libretro",
-        "rev": "ae30f29e340a00b33e38df85ceaa599151a47cd7",
-        "sha256": "nc239PRM/TfkZMWm4Zl5kSoZBQcrMcMudupvCJtTBlc="
+        "rev": "dd18f9c477106263b3b7b050f4970d331ff7b23a",
+        "sha256": "RN5dmORtNOjIklSz/n11lz37bZ4IcPD7cyRcBGS4Oi8="
     },
     "beetle-snes": {
         "owner": "libretro",
@@ -62,14 +62,14 @@
     "beetle-vb": {
         "owner": "libretro",
         "repo": "beetle-vb-libretro",
-        "rev": "a91437af0879124aa00b6cb30ca1189f2c84b7cb",
-        "sha256": "ryahr/g6PDvUKCPkF1D8xozNGNCa4bLw63b5Ra9Vsfo="
+        "rev": "246555f8ed7e0b9e5748b2ee2ed6743187c61393",
+        "sha256": "96lQlDqx2bvFeovqGGkemxqS2zlHw92O6YeTEGlgf34="
     },
     "beetle-wswan": {
         "owner": "libretro",
         "repo": "beetle-wswan-libretro",
-        "rev": "089a62477c5f51ac746a5fc8eacf3599e9feb649",
-        "sha256": "yaaEJ+XgrBgtTEkffgnxvt2mrp5dsDYJ+TTxCZZU5OE="
+        "rev": "d1fb3f399a2bc16b9ad0f2e8c8ba9f7051cd26bd",
+        "sha256": "p9mJv7zBFjNh1sh5iAjBZzxP6k8ydUNDXLQIjHl9doQ="
     },
     "blastem": {
         "owner": "libretro",
@@ -135,8 +135,8 @@
     "eightyone": {
         "owner": "libretro",
         "repo": "81-libretro",
-        "rev": "6aba19246c1ec08f3de5659b2dbc3277ec6bfb97",
-        "sha256": "2G6NkNlvqvP5RM35ydppnr2/RRbeiIpM2HKOpt8PkgU="
+        "rev": "2e34567a320cba27b9162b1776db4de3cdb7cf03",
+        "sha256": "vjrHRLzc9Fy0MwV9d+LlcJTGJfVsRauEig8R+erBtfw="
     },
     "fbalpha2012": {
         "owner": "libretro",
@@ -147,8 +147,8 @@
     "fbneo": {
         "owner": "libretro",
         "repo": "fbneo",
-        "rev": "01bf2e189dcd96f978c3a4ae7bbbb00f2d90aabf",
-        "sha256": "naCfGSrwA9vO3Cu2rHLplCMcTbpx6S/sapwisFCcL5c="
+        "rev": "e4625a196b9232ba93a156e3a5164aa11193f20a",
+        "sha256": "/5JmwuLWWBQWXnqCMjKzOC2XG6wo5a6xgQOYX1P1zcw="
     },
     "fceumm": {
         "owner": "libretro",
@@ -165,8 +165,8 @@
     "fmsx": {
         "owner": "libretro",
         "repo": "fmsx-libretro",
-        "rev": "f9ea9eacd49297783c216d147dcc1a22465b2749",
-        "sha256": "nDsaaUeZUm4zTj07+2nPDefoDpw18vXdhQr1BH6/4eY="
+        "rev": "11fa9f3c08cde567394c41320ca76798c2c64670",
+        "sha256": "1u5c5oDIjjXEquh6UBv2H1F/Ln7h44DTF1ohDG0Qnww="
     },
     "freeintv": {
         "owner": "libretro",
@@ -183,26 +183,26 @@
     "genesis-plus-gx": {
         "owner": "libretro",
         "repo": "Genesis-Plus-GX",
-        "rev": "144045b30a18ab4b27c3ae46490274988f302748",
-        "sha256": "ydnyPdkJmM+xhuJqIOxZISFcTN8RFgOLbnRvOBJORek="
+        "rev": "7520ac8aae7b08262c0472e724e6ef0bfe41d285",
+        "sha256": "wKcO/dulgZKgXTuHdcQvfSrfxSI5UA0az6qMLtP4K6g="
     },
     "gpsp": {
         "owner": "libretro",
         "repo": "gpsp",
-        "rev": "d4547baf26dd70a18eeb38d231ce3f998004ec30",
-        "sha256": "9XU9TmBpuZeAOzqxuKVQZvdHRgX8fm4HcEfleM3jB7E="
+        "rev": "f0f0b31f9ab95946965b75fed8d31e19290f3d43",
+        "sha256": "aiegBSpQDyXzVkyWuUpI66QvA1tqS8PQ8+75U89K10A="
     },
     "gw": {
         "owner": "libretro",
         "repo": "gw-libretro",
-        "rev": "85bf5c936044db0bf4138e7eb8ab20d3a7330035",
-        "sha256": "yCAnveQw+VyZFQ/GsUBuyoMRQ4yfhA0f3tYghZ2HecU="
+        "rev": "d08a08154ce8ed8e9de80582c108f157e4c6b226",
+        "sha256": "PWd/r4BBmhiNqJdV6OaXHr4XCdR1GyVipq3zvyBcqEs="
     },
     "handy": {
         "owner": "libretro",
         "repo": "libretro-handy",
-        "rev": "5145f79bb746f6d9c0b340c2f9cc4bf059848924",
-        "sha256": "madTjJWKM8elM35LRAwm0RwnA44skLtIK2/7RXPSNl0="
+        "rev": "517bb2d02909271836604c01c8f09a79ad605297",
+        "sha256": "Igf/OvmnCzoWjCZBoep7T0pXsoBKq3NJpXlYhE7nr3s="
     },
     "hatari": {
         "owner": "libretro",
@@ -213,14 +213,14 @@
     "mame": {
         "owner": "libretro",
         "repo": "mame",
-        "rev": "2a0e4ea0e2362bb7dcf77216c9fcb48426cea1e8",
-        "sha256": "imuHEwzDpI8jbdOeOhBBfzl4k74mDq/3SrKD8upzZmo="
+        "rev": "b7dd999590717638ceade2e24d16d63147aa12ad",
+        "sha256": "QgENNjykhO+WSxAb//J+R7QP3/rZnxqv7sarO4eBYuc="
     },
     "mame2000": {
         "owner": "libretro",
         "repo": "mame2000-libretro",
-        "rev": "f35db3877f8a79a174dd3b2e37f4ebf39d71d5a4",
-        "sha256": "JmtvxKWAYNk1SyV1YpFeLX49zzGqpUv6nqM82xU70OM="
+        "rev": "dd9d6612c29bf5b29bc2f94cab2d43fe3dcd69ee",
+        "sha256": "X0fP0bNBk2hqXVdRspylLIjZO563aMXkyX4qgx/3Vr8="
     },
     "mame2003": {
         "owner": "libretro",
@@ -267,8 +267,8 @@
     "mesen-s": {
         "owner": "libretro",
         "repo": "mesen-s",
-        "rev": "3694c7f9692a0be32d86979c347884ae9def0a3b",
-        "sha256": "VBNl4682e2X12WNjtXZ3P4/Kw4OeRLSRWyZqYDpfmCo="
+        "rev": "b0b53409eecb696fb13f411ffde72e8f576feb09",
+        "sha256": "lDHyeIsVsI5+ZK8EJI50alrFuu0uJmxscda5bR1UmQQ="
     },
     "meteor": {
         "owner": "libretro",
@@ -297,8 +297,8 @@
     "nestopia": {
         "owner": "libretro",
         "repo": "nestopia",
-        "rev": "7dbd5c6384c4c6326004c97fd8e6fa07cb4edcef",
-        "sha256": "OBkWP36BzwsEW+ORF2opHlXwXHgGN0l2ZxBuyDO/sKY="
+        "rev": "a9e197f2583ef4f36e9e77d930a677e63a2c2f62",
+        "sha256": "QqmWSk8Ejf7QMJk0cVBgpnyqcK6oLjCnnXMXInuWfYc="
     },
     "np2kai": {
         "owner": "AZO234",
@@ -310,8 +310,8 @@
     "o2em": {
         "owner": "libretro",
         "repo": "libretro-o2em",
-        "rev": "efd749cec2dd1ce42a8aa3048a89f817d271d804",
-        "sha256": "aw0bJyQzYFOlQQOfNsRgqdeUJP1qF4llJxLq5t9oc5g="
+        "rev": "641f06d67d192a0677ec861fcb731d3ce8da0f87",
+        "sha256": "s3FreOziXeGhUyQdSoOywZldD21m3+OXK0EJ2Z8rXiY="
     },
     "opera": {
         "owner": "libretro",
@@ -334,28 +334,28 @@
     "pcsx_rearmed": {
         "owner": "libretro",
         "repo": "pcsx_rearmed",
-        "rev": "37d9bf8315be570a350cd44876ae14f9b0eff20b",
-        "sha256": "ieuEWs+NIQFCgMl/yTnaFdClxEv5NurrLuUvkjSUar0="
+        "rev": "e24732050e902bd5402b2b7da7c391d2ca8fa799",
+        "sha256": "tPz5E3QO6FucjYOzdjbY2FHLPz1Fmms10tdt7rZIW8U="
     },
     "picodrive": {
         "owner": "libretro",
         "repo": "picodrive",
-        "rev": "bb6a52fe60e6f3bdcd17effe75e68fd0f8c44ba7",
-        "sha256": "wztctLbK7VE4OPJS7ixKwnN4VkQv96Te3FmJlZ5m4A0=",
+        "rev": "7ff457f2f833570013f2a7e2608ac40632e0735d",
+        "sha256": "xEG5swvvWFhvosC1XpFaZphESNaf4AtX+6UE02B57j8=",
         "fetchSubmodules": true
     },
     "play": {
         "owner": "jpd002",
         "repo": "Play-",
-        "rev": "ec2a9460ea2beeb69d30534ee8affbda4fc4b156",
-        "sha256": "8maLaSJiF9soJdIlYoFHSG+2XXYTdLmWH6cq9vZRd/4=",
+        "rev": "39eb5c2eb6da65dc76b1c4d1319175a68120a77a",
+        "sha256": "EF3p0lvHjKGt4pxtTAkDM+uHsnW72lN+Ki8BaZIk/BQ=",
         "fetchSubmodules": true
     },
     "ppsspp": {
         "owner": "hrydgard",
         "repo": "ppsspp",
-        "rev": "0eea0acf13022ff8d910adb55cec14ebad825afc",
-        "sha256": "f1Tscndz0TcW0bUhixEvsrbFKefLfsCFjqWA7ANnfB4=",
+        "rev": "83b8211abf7fb705835eb1ccf8feae04816ae96c",
+        "sha256": "8K4bz/GUnE8GrlAVFULMXLC+i3ZYvR28EpehEg6up4s=",
         "fetchSubmodules": true
     },
     "prboom": {
@@ -391,20 +391,20 @@
     "smsplus-gx": {
         "owner": "libretro",
         "repo": "smsplus-gx",
-        "rev": "8e8378896bc15c8a9f756339b596171ba266cc14",
-        "sha256": "zvG2SF4zx3Yaaf54NZ2DgsGPN59msW8TvQFCS4OMcHQ="
+        "rev": "9de9847dc8ba458e9522d5ae8b87bf71ad437257",
+        "sha256": "XzqQ/3XH5L79UQep+DZ+mDHnUJKZQXzjNCZNZw2mGvY="
     },
     "snes9x": {
         "owner": "snes9xgit",
         "repo": "snes9x",
-        "rev": "78d006ffdbb5cb6944177db52c3640152948d928",
-        "sha256": "Qh+nLtwdLfjwYxXCv49pPPf0mqdxKRv/JLRm82knJu0="
+        "rev": "3c729a9763263bc3a69f48370e43ae05e672970a",
+        "sha256": "01M6Wvbu1omMwh3Xg4RGh028jirGs7mLpxwKJgMRQxA="
     },
     "snes9x2002": {
         "owner": "libretro",
         "repo": "snes9x2002",
-        "rev": "25d9d4fea4c7d7fcc8608c65c2bec9bcbc41f26e",
-        "sha256": "EYcaWckvTfi2ajx6C1olE5pW51diLSjMdqZdyH8U2Ck="
+        "rev": "c4397de75a5f11403d154abd935e39fe969bca94",
+        "sha256": "yL4SIRR1Er+7Iq3YPfoe5ES47nvyA3UmGK+upLzKiFA="
     },
     "snes9x2005": {
         "owner": "libretro",
@@ -415,26 +415,26 @@
     "snes9x2010": {
         "owner": "libretro",
         "repo": "snes9x2010",
-        "rev": "b12f3ba46f09dd5d0254676ed4b9e289d16b9ea8",
-        "sha256": "i4GEqZkgwlehuUQGcjLdMkO9xNWRs8k+3y2OGivwXCw="
+        "rev": "c98224bc74aa0bbf355d128b22e4a2a4e94215b0",
+        "sha256": "mf5msdwdcRRfFWHwmWLS/qKd7gNlLwexGEB6wB6TfhE="
     },
     "stella": {
         "owner": "stella-emu",
         "repo": "stella",
-        "rev": "071e8f7eb1096dfe95d9eb2e5b7b27b30f28fbf9",
-        "sha256": "8WzBL8ojsHYxOqItHeeG4djALhqBBOV7nHE078UzqAY="
+        "rev": "efb2a9f299cad241e12d811580f28d75b6c3438d",
+        "sha256": "QYwDTd8EZUMXJiuSJtoW8XQXgl+Wx0lPkNLOwzM5bzA="
     },
     "stella2014": {
         "owner": "libretro",
         "repo": "stella2014-libretro",
-        "rev": "1a2e96bc6ccf91de6fb4322048da05f67a9d21d4",
-        "sha256": "yINO6EU2kCldfxKcqym5ha3uIEQg7I6t4Wmu+8b6Hmw="
+        "rev": "1351a4fe2ca6b1f3a66c7db0df2ec268ab002d41",
+        "sha256": "/sVDOfP5CE8k808lhmH3tT47oZ1ka3pgDG5LglfPmHc="
     },
     "swanstation": {
         "owner": "libretro",
         "repo": "swanstation",
-        "rev": "0932243b0e5f1a5a237b0521b30b39473b61fa31",
-        "sha256": "krA7X9CIOg53giWSMXgzgazeyWFXEpMobPSnOB7g994="
+        "rev": "0e53a5ac09a30d73d78b628f7e4954ebe5615801",
+        "sha256": "vOu99fsm2oeSi96tWR+vV5suZSYCyXJVgOdvjnKbNhg="
     },
     "tgbdual": {
         "owner": "libretro",
@@ -464,8 +464,8 @@
     "vba-next": {
         "owner": "libretro",
         "repo": "vba-next",
-        "rev": "ebd175d57ebb2065726099d32034cb25934787ce",
-        "sha256": "hTUlhLzvsemNz6wSmlnQNoNtzaVhipA+hmVmhzZVN+w="
+        "rev": "4191e09e2b0fcf175a15348c1fa8a12bbc6320dd",
+        "sha256": "IG2oH4F17tlSv1cXYZobggb37tFNE53JOHzan/X0+ws="
     },
     "vecx": {
         "owner": "libretro",
diff --git a/pkgs/applications/emulators/retroarch/update_cores.py b/pkgs/applications/emulators/retroarch/update_cores.py
index 0facf4e2656..c6c44926fc8 100755
--- a/pkgs/applications/emulators/retroarch/update_cores.py
+++ b/pkgs/applications/emulators/retroarch/update_cores.py
@@ -107,10 +107,16 @@ def get_repo_hash_fetchFromGitHub(
     extra_args = []
     if deep_clone:
         extra_args.append("--deep-clone")
+    else:
+        extra_args.append("--no-deep-clone")
     if fetch_submodules:
         extra_args.append("--fetch-submodules")
+    else:
+        extra_args.append("--no-fetch-submodules")
     if leave_dot_git:
         extra_args.append("--leave-dot-git")
+    else:
+        extra_args.append("--no-leave-dot-git")
     if rev:
         extra_args.append("--rev")
         extra_args.append(rev)
diff --git a/pkgs/applications/emulators/ripes/default.nix b/pkgs/applications/emulators/ripes/default.nix
new file mode 100644
index 00000000000..8167c785013
--- /dev/null
+++ b/pkgs/applications/emulators/ripes/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, pkg-config
+, qtbase
+, qtsvg
+, qtcharts
+, wrapQtAppsHook
+, cmake
+, python3
+}:
+
+mkDerivation rec {
+  pname = "ripes";
+  version = "2.2.4";
+
+  src = fetchFromGitHub {
+    owner = "mortbopet";
+    repo = "Ripes";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "sha256-Aal2A4xypzaY7Oa+boIrXk7ITNKnh5OZIP7DkJjcGu4=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    python3
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    qtbase
+    qtsvg
+    qtcharts
+  ];
+
+  installPhase = ''
+    install -D Ripes $out/bin/Ripes
+    cp -r ${src}/appdir/usr/share $out/share
+  '';
+
+  meta = with lib; {
+    description = "A graphical processor simulator and assembly editor for the RISC-V ISA";
+    homepage = "https://github.com/mortbopet/Ripes";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ rewine ];
+  };
+}
diff --git a/pkgs/applications/emulators/ryujinx/deps.nix b/pkgs/applications/emulators/ryujinx/deps.nix
index c8127b0f3e5..fbafa4eaa2e 100644
--- a/pkgs/applications/emulators/ryujinx/deps.nix
+++ b/pkgs/applications/emulators/ryujinx/deps.nix
@@ -12,9 +12,9 @@
   (fetchNuGet { pname = "GtkSharp"; version = "3.22.25.128"; sha256 = "0z0wx0p3gc02r8d7y88k1rw307sb2vapbr1k1yc5qdc38fxz5jsy"; })
   (fetchNuGet { pname = "GtkSharp.Dependencies"; version = "1.1.1"; sha256 = "0ffywnc3ca1lwhxdnk99l238vsprsrsh678bgm238lb7ja7m52pw"; })
   (fetchNuGet { pname = "LibHac"; version = "0.16.1"; sha256 = "131qnqa1asdmymwdvpjza6w646b05jzn1cxjdxgwh7qdcdb77xyx"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.3"; sha256 = "0rrrfgkr7rzhlnsnajvzb1ijkybp99d992bqxy9pbawmq7d60bdk"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.3"; sha256 = "09whyl3i9mzy10n5zxlq66lj3l4p29hm75igmdip2fb376zxyam3"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.3"; sha256 = "11kv50kll3iq88kn40f5v5qlq8mydv6y6xz2cbzjw4aadd44njwq"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.4"; sha256 = "1fvv5ri32pbl43628zqnim6fbv6hjxf66p0v793xdh57dzkdyh0j"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.4"; sha256 = "1m8iaq78kii0z4lxwq1igm8f4yv010blrifab4zp491b0j0qg1d4"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.4"; sha256 = "1sqv7vhkm4j11rl7mfvs4mmmclcdps2n4pf31ck2mcx54nr4d2kj"; })
   (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "16.8.0"; sha256 = "1y05sjk7wgd29a47v1yhn2s1lrd8wgazkilvmjbvivmrrm3fqjs8"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; })
@@ -23,11 +23,11 @@
   (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "6.15.0"; sha256 = "0jn9a20a2zixnkm3bmpmvmiv7mk0hqdlnpi0qgjkg1nir87czm19"; })
   (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "6.15.0"; sha256 = "1nbgydr45f7lp980xyrkzpyaw2mkkishjwp3slgxk7f0mz6q8i1v"; })
   (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.8.0"; sha256 = "1ln2mva7j2mpsj9rdhpk8vhm3pgd8wn563xqdcwd38avnhp74rm9"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.3"; sha256 = "0k9gc94cvn36p0v3pj296asg2sq9a8ah6lfw0xvvmd4hq2k72s79"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.3"; sha256 = "1y428glba68s76icjzfl1v3p61pcz7rd78wybhabs8zq8w9cp2pj"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.3"; sha256 = "0f04srx6q0jk81a60n956hz32fdngzp0xmdb2x7gyl77gsq8yijj"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.3"; sha256 = "0180ipzzz9pc6f6l17rg5bxz1ghzbapmiqq66kdl33bmbny6vmm9"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.3"; sha256 = "1rjkzs2013razi2xs943q62ys1jh8blhjcnj75qkvirf859d11qw"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.4"; sha256 = "0vgjwpy55mf6x22a634cdidckyq5hi941i9p10jqyrbnc637frv2"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.4"; sha256 = "1qasm6j25lmcc4xn7f7s3jli1pypz1kfnj7j9dkjlx9mc8r356zp"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.4"; sha256 = "1gibwhplbanv6bz3l71w8vhzlgqsh21bms30dbf1n60v7p02fl3h"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.4"; sha256 = "0gkzqsmj12wwdh548rb9drjgmyzvqalmwwq0fzvgj9c7zm1gdndi"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.4"; sha256 = "1x4ysack9n57h8w1ybfyczkf3w6jsgz7ila0czm2011w4sjnyqj0"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
diff --git a/pkgs/applications/emulators/snes9x-gtk/default.nix b/pkgs/applications/emulators/snes9x-gtk/default.nix
deleted file mode 100644
index ff7df4b0944..00000000000
--- a/pkgs/applications/emulators/snes9x-gtk/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wrapGAppsHook, alsa-lib
-, SDL2, zlib, gtkmm3, libXv, libepoxy, minizip, pulseaudio, portaudio }:
-
-stdenv.mkDerivation rec {
-  pname = "snes9x-gtk";
-  version = "1.61";
-
-  src = fetchFromGitHub {
-    owner = "snes9xgit";
-    repo = "snes9x";
-    rev = version;
-    fetchSubmodules = true;
-    sha256 = "1kay7aj30x0vn8rkylspdycydrzsc0aidjbs0dd238hr5hid723b";
-  };
-
-  nativeBuildInputs = [ meson ninja pkg-config wrapGAppsHook ];
-  buildInputs = [ alsa-lib SDL2 zlib gtkmm3 libXv libepoxy minizip pulseaudio portaudio ];
-
-  preConfigure = "cd gtk";
-
-  meta = with lib; {
-    homepage = "https://www.snes9x.com";
-    description = "Super Nintendo Entertainment System (SNES) emulator";
-
-    longDescription = ''
-      Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES)
-      emulator. It basically allows you to play most games designed for the SNES
-      and Super Famicom Nintendo game systems on your PC or Workstation; which
-      includes some real gems that were only ever released in Japan.
-    '';
-
-    # see https://github.com/snes9xgit/snes9x/blob/master/LICENSE for exact details
-    license = licenses.unfreeRedistributable;
-    maintainers = with maintainers; [ qknight xfix ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/emulators/snes9x/default.nix b/pkgs/applications/emulators/snes9x/default.nix
new file mode 100644
index 00000000000..779e4dab3b3
--- /dev/null
+++ b/pkgs/applications/emulators/snes9x/default.nix
@@ -0,0 +1,130 @@
+{ lib
+, stdenv
+, alsa-lib
+, autoreconfHook
+, fetchFromGitHub
+, fetchpatch
+, gtkmm3
+, libepoxy
+, libpng
+, libX11
+, libXv
+, libXext
+, libXinerama
+, meson
+, minizip
+, ninja
+, pkg-config
+, portaudio
+, pulseaudio
+, SDL2
+, wrapGAppsHook
+, zlib
+, withGtk ? false
+}:
+
+stdenv.mkDerivation rec {
+  pname =
+    if withGtk then
+      "snes9x-gtk"
+    else
+      "snes9x";
+  version = "1.61";
+
+  src = fetchFromGitHub {
+    owner = "snes9xgit";
+    repo = "snes9x";
+    rev = version;
+    fetchSubmodules = true;
+    sha256 = "1kay7aj30x0vn8rkylspdycydrzsc0aidjbs0dd238hr5hid723b";
+  };
+
+  patches = [
+    # Fix cross-compilation, otherwise it fails to detect host compiler features
+    # Doesn't affect non CC builds
+    (fetchpatch {
+      url = "https://mirror.its.dal.ca/gentoo-portage/games-emulation/snes9x/files/snes9x-1.53-cross-compile.patch";
+      sha256 = "sha256-ZCmnprimz8PtDIXkB1dYD0oura9icW81yKvJ4coKaDg=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+  ]
+  ++ lib.optionals (!withGtk) [
+    autoreconfHook
+  ]
+  ++ lib.optionals withGtk [
+    meson
+    ninja
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    libX11
+    libXext
+    libXv
+    minizip
+    zlib
+  ]
+  # on non-Linux platforms this will build without sound support on X11 build
+  ++ lib.optionals stdenv.isLinux [
+    alsa-lib
+    pulseaudio
+  ]
+  ++ lib.optionals (!withGtk) [
+    libpng
+    libXinerama
+  ]
+  ++ lib.optionals withGtk [
+    gtkmm3
+    libepoxy
+    portaudio
+    SDL2
+  ];
+
+  configureFlags =
+    lib.optional stdenv.hostPlatform.sse4_1Support "--enable-sse41"
+    ++ lib.optional stdenv.hostPlatform.avx2Support "--enable-avx2";
+
+  installPhase = lib.optionalString (!withGtk) ''
+    runHook preInstall
+
+    install -Dm755 snes9x -t "$out/bin/"
+    install -Dm644 snes9x.conf.default -t "$out/share/doc/${pname}/"
+    install -Dm644 ../docs/{control-inputs,controls,snapshots}.txt -t \
+      "$out/share/doc/${pname}/"
+
+    runHook postInstall
+  '';
+
+  preAutoreconf = lib.optionalString (!withGtk) "cd unix";
+  preConfigure = lib.optionalString withGtk "cd gtk";
+
+  enableParallelBuilding = true;
+
+  meta = with lib;
+    let
+      interface = if withGtk then "GTK" else "X11";
+    in
+    {
+      homepage = "https://www.snes9x.com";
+      description = "Super Nintendo Entertainment System (SNES) emulator, ${interface} version";
+
+      longDescription = ''
+        Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES)
+        emulator. It basically allows you to play most games designed for the SNES
+        and Super Famicom Nintendo game systems on your PC or Workstation; which
+        includes some real gems that were only ever released in Japan.
+
+        Version build with ${interface} interface.
+      '';
+
+      license = licenses.unfreeRedistributable // {
+        url = "https://github.com/snes9xgit/snes9x/blob/${version}/LICENSE";
+      };
+      maintainers = with maintainers; [ qknight xfix thiagokokada ];
+      platforms = platforms.unix;
+      broken = (withGtk && stdenv.isDarwin);
+    };
+}
diff --git a/pkgs/applications/emulators/yuzu/base.nix b/pkgs/applications/emulators/yuzu/base.nix
deleted file mode 100644
index aff09134fae..00000000000
--- a/pkgs/applications/emulators/yuzu/base.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{ pname, version, src, branchName
-, stdenv, lib, wrapQtAppsHook
-, cmake, pkg-config
-, libpulseaudio, libjack2, alsa-lib, sndio
-, vulkan-loader, vulkan-headers
-, qtbase, qtwebengine, qttools
-, nlohmann_json, rapidjson
-, zlib, zstd, libzip, lz4
-, glslang
-, boost173
-, catch2
-, fmt_8
-, SDL2
-, udev
-, libusb1
-, ffmpeg
-}:
-
-stdenv.mkDerivation rec {
-  inherit pname version src;
-
-  nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
-  buildInputs = [
-    libpulseaudio libjack2 alsa-lib sndio
-    vulkan-loader vulkan-headers
-    qtbase qtwebengine qttools
-    nlohmann_json rapidjson
-    zlib zstd libzip lz4
-    glslang
-    boost173
-    catch2
-    fmt_8
-    SDL2
-    udev
-    libusb1
-    ffmpeg
-  ];
-
-  cmakeFlags = [
-    "-DYUZU_USE_BUNDLED_QT=OFF"
-    "-DYUZU_USE_BUNDLED_SDL2=OFF"
-    "-DYUZU_USE_BUNDLED_FFMPEG=OFF"
-    "-DENABLE_QT_TRANSLATION=ON"
-    "-DYUZU_USE_QT_WEB_ENGINE=ON"
-    "-DUSE_DISCORD_PRESENCE=ON"
-  ];
-
-  # This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt`
-  # making the build fail, as that path does not exist
-  dontFixCmake = true;
-
-  preConfigure = ''
-    # Trick the configure system. This prevents a check for submodule directories.
-    rm -f .gitmodules
-
-    # see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work.
-    cmakeFlagsArray+=(
-      "-DTITLE_BAR_FORMAT_IDLE=yuzu ${branchName} ${version}"
-      "-DTITLE_BAR_FORMAT_RUNNING=yuzu ${branchName} ${version} | {3}"
-    )
-  '';
-
-  # Fix vulkan detection
-  postFixup = ''
-    wrapProgram $out/bin/yuzu --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
-    wrapProgram $out/bin/yuzu-cmd --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
-  '';
-
-  meta = with lib; {
-    homepage = "https://yuzu-emu.org";
-    description = "The ${branchName} branch of an experimental Nintendo Switch emulator written in C++";
-    longDescription = ''
-      An experimental Nintendo Switch emulator written in C++.
-      Using the mainline branch is recommanded for general usage.
-      Using the early-access branch is recommanded if you would like to try out experimental features, with a cost of stability.
-    '';
-    license = with licenses; [
-      gpl2Plus
-      # Icons
-      cc-by-nd-30 cc0
-    ];
-    maintainers = with maintainers; [ ivar joshuafern sbruder ];
-    platforms = platforms.linux;
-    broken = stdenv.isAarch64; # Currently aarch64 is not supported.
-  };
-}
diff --git a/pkgs/applications/emulators/yuzu/compatibility-list.json b/pkgs/applications/emulators/yuzu/compatibility-list.json
new file mode 100644
index 00000000000..f780b1deff0
--- /dev/null
+++ b/pkgs/applications/emulators/yuzu/compatibility-list.json
@@ -0,0 +1 @@
+[{"id":"0006b2db-d7ac-44ca-bfbe-e28263a41afd","directory":"samsara-deluxe-edition","title":"Samsara: Deluxe Edition","compatibility":99,"releases":[{"id":"010014000C63C000","region":null}]},{"id":"000f7b84-cb3a-4e56-b34e-4d201f0798cc","directory":"barry-the-bunny","title":"Barry the Bunny","compatibility":99,"releases":[{"id":"0100C46015AA0000","region":null}]},{"id":"001027b2-7b31-4f26-aa64-dff9a9b7866e","directory":"aca-neogeo-metal-slug-3","title":"ACA NEOGEO METAL SLUG 3","compatibility":2,"releases":[{"id":"0100BA8001DC6000","region":null}]},{"id":"001a1be6-35d9-48be-9181-671401213b97","directory":"crossniq","title":"CROSSNIQ+","compatibility":1,"releases":[{"id":"01007BB00E760000","region":null}]},{"id":"001cb4d8-cf72-4292-b8b6-97ec3fc023ae","directory":"arcade-archives-image-fight","title":"Arcade Archives IMAGE FIGHT","compatibility":99,"releases":[{"id":"010008300C978000","region":null}]},{"id":"00303016-7f48-4386-b3e5-1c043c0d2877","directory":"path-through-the-forest","title":"Path: Through the Forest","compatibility":99,"releases":[{"id":"010036C0131E8000","region":null}]},{"id":"003e14aa-0699-4425-9e86-3eef87f5315b","directory":"deadly-days","title":"Deadly Days","compatibility":1,"releases":[{"id":"010095A011A14000","region":null}]},{"id":"00438af7-529e-44f9-b8d8-b48905ee0826","directory":"tetras-escape","title":"TETRA's Escape","compatibility":99,"releases":[{"id":"01004E500A15C000","region":null}]},{"id":"0045e76f-9fd9-4dd0-b5d0-64df6bde1547","directory":"untitled-goose-game","title":"Untitled Goose Game","compatibility":0,"releases":[{"id":"010082400BCC6000","region":null}]},{"id":"005faf1c-42ec-4c95-9a8a-00947085839a","directory":"cyber-hook","title":"Cyber Hook","compatibility":99,"releases":[{"id":"010008A00F15C000","region":null}]},{"id":"00619131-acb5-4cef-bc90-d721db0cf4df","directory":"chime-sharp","title":"Chime Sharp","compatibility":99,"releases":[{"id":"010069900C4AC000","region":null}]},{"id":"0061f86a-4b67-40ae-bfd6-d3bb2b6fed83","directory":"fishwitch-halloween","title":"FishWitch Halloween","compatibility":99,"releases":[{"id":"01004AA016918000","region":null}]},{"id":"0062101a-3109-4361-9914-51b33e6d4820","directory":"the-number-puzzle","title":"THE Number Puzzle","compatibility":99,"releases":[{"id":"0100A6F00A0FE000","region":null}]},{"id":"0063b5e2-64d2-4d6c-908e-141764fb3dd6","directory":"dairoku-agents-of-sakuratani","title":"Dairoku: Agents of Sakuratani","compatibility":99,"releases":[{"id":"010031F0143AE000","region":null}]},{"id":"007431da-a370-4ae5-8b2c-6709e47fe540","directory":"rivals-of-aether","title":"Rivals of Aether","compatibility":99,"releases":[{"id":"0100D2700DE7C000","region":null}]},{"id":"00760040-b010-4eda-867a-6f076aa7cd8b","directory":"va-11-hall-a-cyberpunk-bartender-action","title":"VA-11 Hall-A: Cyberpunk Bartender Action","compatibility":3,"releases":[{"id":"010086500D3C8000","region":null}]},{"id":"007d1b30-b2b4-4c05-a170-c5d7f71310e3","directory":"dusk-diver","title":"Dusk Diver","compatibility":3,"releases":[{"id":"0100B2B00E7AA000","region":null}]},{"id":"008490e4-94de-48ac-9ee3-bf859cb20c4d","directory":"space-commander-war-and-trade","title":"Space Commander: War and Trade","compatibility":0,"releases":[{"id":"0100E1E014AFA000","region":null}]},{"id":"0088eb2b-4ecc-4385-a19b-cd03056cfa07","directory":"wood-block-escape-puzzles-3","title":"Wood Block Escape Puzzles 3","compatibility":99,"releases":[{"id":"0100FA60152CC000","region":null}]},{"id":"008bc3d4-7e83-44d7-a6b5-f6c12b1e61d4","directory":"grizzland","title":"Grizzland","compatibility":2,"releases":[{"id":"010091300FFA0000","region":null}]},{"id":"008e5f9e-1428-4b99-bef0-4d8b4e281efc","directory":"mindball-play","title":"Mindball Play","compatibility":99,"releases":[{"id":"01002CD00C7C8000","region":null}]},{"id":"009302c8-fa3d-41a4-a209-4ecea3057bde","directory":"horse-farm","title":"Horse Farm","compatibility":4,"releases":[{"id":"010040900F032000","region":null}]},{"id":"00c489ba-0bb8-4151-a7e9-e67032bbbb48","directory":"enchanted-in-the-moonlight-kiryu-chikage-and-yukinojo-","title":"Enchanted in the Moonlight - Kiryu, Chikage & Yukinojo -","compatibility":3,"releases":[{"id":"010068300E08E000","region":null}]},{"id":"00c52b4e-54bd-4ef9-bf3c-62d3c2557d2f","directory":"the-wardrobe-even-better-edition","title":"The Wardrobe: Even Better Edition","compatibility":0,"releases":[{"id":"01008B200FC6C000","region":null}]},{"id":"00c65a86-4a43-4d11-81cd-ab502493fabe","directory":"throw-it-animal-park","title":"Throw it! Animal Park","compatibility":99,"releases":[{"id":"0100A52011374000","region":null}]},{"id":"00c88822-8324-4caf-91c5-6e83b8b7c225","directory":"wizards-wand-of-epicosity","title":"Wizards: Wand of Epicosity","compatibility":1,"releases":[{"id":"0100C7600E77E000","region":null}]},{"id":"00ce8157-a53b-4055-a833-723362dce618","directory":"8-9-ball-pocket","title":"8 & 9 Ball Pocket","compatibility":99,"releases":[{"id":"010049B016CF8000","region":null}]},{"id":"00e896e9-0a71-4764-b159-69b7c54d8bd9","directory":"devious-dungeon-demo","title":"Devious Dungeon DEMO","compatibility":99,"releases":[{"id":"0100EB900A534000","region":null}]},{"id":"00f6959e-063a-4ffb-a176-6cb4a2eb2e39","directory":"guild-of-darksteel","title":"Guild of Darksteel","compatibility":99,"releases":[{"id":"0100700013364000","region":null}]},{"id":"01019252-62f3-4bce-8915-a11bff86cdec","directory":"starlit-adventures-golden-stars","title":"Starlit Adventures Golden Stars","compatibility":99,"releases":[{"id":"010098E010FDA000","region":null}]},{"id":"010c619b-8da7-405d-a46f-7024b3eec4b6","directory":"dead-effect-2","title":"Dead Effect 2","compatibility":0,"releases":[{"id":"01007860152EE000","region":null}]},{"id":"01129eac-ddcb-4fbc-af9f-83359e385f3b","directory":"midnight-evil","title":"Midnight Evil","compatibility":99,"releases":[{"id":"0100A1200F20C000","region":null}]},{"id":"0114261a-d54e-4b3a-b169-534f0b0b740b","directory":"rayman-r-legends-definitive-edition-demo","title":"RAYMAN® LEGENDS: DEFINITIVE EDITION DEMO","compatibility":1,"releases":[{"id":"0100974004924000","region":null}]},{"id":"011ba4ba-6e43-4f48-8156-af39b883dc1f","directory":"arcade-archives-orius","title":"Arcade Archives ORIUS","compatibility":99,"releases":[{"id":"0100752016C3C000","region":null}]},{"id":"011d3d94-fa2f-4a69-8804-870dc6a15a73","directory":"asteroids-recharged","title":"Asteroids: Recharged","compatibility":2,"releases":[{"id":"01007DB01689C000","region":null}]},{"id":"012a66dc-b7ea-498d-832f-4b984298d4d3","directory":"arcade-archives-donkey-kong-3","title":"Arcade Archives DONKEY KONG 3","compatibility":2,"releases":[{"id":"010002E00D3FE000","region":null}]},{"id":"012f487b-733f-4c09-8e91-8fa11b2a0e48","directory":"mortal-kombat-11","title":"Mortal Kombat 11","compatibility":5,"releases":[{"id":"0100F2200C984000","region":null}]},{"id":"0131fb9e-1a78-43f3-b9d9-6e7c01c1d9e1","directory":"fantasy-hero-unsigned-legacy","title":"FANTASY HERO ~unsigned legacy~","compatibility":1,"releases":[{"id":"0100767008502000","region":null}]},{"id":"013776e4-78a9-4ff2-8dbb-7309afb6aaf3","directory":"golf-story","title":"Golf Story","compatibility":0,"releases":[{"id":"0100779004172000","region":null}]},{"id":"0144b61b-db22-4d37-9710-59d82d42b802","directory":"unicornicopia","title":"Unicornicopia","compatibility":99,"releases":[{"id":"0100A8700B30E000","region":null}]},{"id":"01468391-2729-43f3-8a0b-4d8bb6fa5559","directory":"x-morph-defense","title":"X-Morph: Defense","compatibility":99,"releases":[{"id":"0100DF100B97C000","region":null}]},{"id":"01483cc5-6848-48e4-8938-82506ee86f22","directory":"resolutiion","title":"Resolutiion","compatibility":5,"releases":[{"id":"0100E7F00FFB8000","region":null}]},{"id":"0149e6ce-d105-460a-ace5-17c176e866ca","directory":"serial-cleaner","title":"Serial Cleaner","compatibility":0,"releases":[{"id":"0100818008004000","region":null}]},{"id":"014ec7ad-c9e6-4c96-b065-cff7b33daa92","directory":"ramp-car-jumping","title":"Ramp Car Jumping","compatibility":4,"releases":[{"id":"0100F30012CBE000","region":null}]},{"id":"01519e31-7a53-402f-9da4-e29cd5d5d218","directory":"payday-2","title":"PAYDAY 2","compatibility":0,"releases":[{"id":"0100274004052000","region":null}]},{"id":"01554519-c001-4256-9593-3f7b71580afc","directory":"resident-evil","title":"Resident Evil","compatibility":1,"releases":[{"id":"010050F00BC1A000","region":null}]},{"id":"01585892-1b9e-4db7-bdd1-833022b77751","directory":"katana-zero","title":"Katana ZERO","compatibility":1,"releases":[{"id":"010029600D56A000","region":null}]},{"id":"0172902a-2c5e-4d38-9761-83e5bd5cc919","directory":"titans-pinball","title":"Titans Pinball","compatibility":99,"releases":[{"id":"01009C400E93E000","region":null}]},{"id":"017369db-f3af-45e6-a4e8-f737b84fba35","directory":"blocky-puzzle","title":"Blocky Puzzle","compatibility":99,"releases":[{"id":"01008B7015532000","region":null}]},{"id":"0176b68f-42d7-476f-90b0-a7782e1854e8","directory":"mushihimesama","title":"Mushihimesama","compatibility":1,"releases":[{"id":"010045800FBD0000","region":null}]},{"id":"0176e052-0257-4c09-a8d3-316e6c5602f8","directory":"stitchy-in-tooki-trouble","title":"Stitchy in Tooki Trouble","compatibility":0,"releases":[{"id":"010077B014518000","region":null}]},{"id":"01886de7-8948-4794-9bb1-0c514b856ab7","directory":"robox","title":"Robox","compatibility":99,"releases":[{"id":"010018800C7D2000","region":null}]},{"id":"018f0069-8fcb-45d9-9569-fafa365b88bb","directory":"lost-in-harmony","title":"Lost in Harmony","compatibility":99,"releases":[{"id":"0100B6C00AF6E000","region":null}]},{"id":"0193f221-2265-4818-82bc-064f6616837b","directory":"jetpin","title":"jetPIN","compatibility":99,"releases":[{"id":"0100BCC013864000","region":null}]},{"id":"019a74d6-11f9-4e2a-bbd1-46619aec45d4","directory":"neoverse-trinity-edition","title":"Neoverse Trinity Edition","compatibility":2,"releases":[{"id":"01001A201331E000","region":null}]},{"id":"01a6c714-fbdb-4198-8829-2cd1be71cf93","directory":"warlocks-tower","title":"Warlock's Tower","compatibility":99,"releases":[{"id":"010086C00790C000","region":null}]},{"id":"01a87ead-6dbb-49fa-b9b6-3b285a9ace6d","directory":"crypto-by-powgi","title":"Crypto by POWGI","compatibility":99,"releases":[{"id":"0100D480111C6000","region":null}]},{"id":"01bd32a5-03bf-4c4b-b4df-8c1e8f3ef3e7","directory":"evoland-legendary-edition","title":"Evoland Legendary Edition","compatibility":1,"releases":[{"id":"0100ED100B160000","region":null}]},{"id":"01bf2f4a-4eab-49a6-aad6-299628592331","directory":"hotline-miami-collection","title":"Hotline Miami Collection","compatibility":0,"releases":[{"id":"0100D0E00E51E000","region":null}]},{"id":"01c6bb6f-aa9a-4869-bfa0-7459ce9bb0f5","directory":"perry-pig-jump","title":"Perry Pig Jump","compatibility":99,"releases":[{"id":"01001E800D314000","region":null}]},{"id":"01d391d8-4b16-4bcd-b17d-ea0f36d09158","directory":"knight-terrors","title":"Knight Terrors","compatibility":99,"releases":[{"id":"0100D51006AAC000","region":null}]},{"id":"01d5a9a3-49ce-44e9-951c-73e708be78a4","directory":"arietta-of-spirits","title":"Arietta of Spirits","compatibility":2,"releases":[{"id":"0100E95015392000","region":null}]},{"id":"01f3da51-5ec6-4046-8bf3-192fa5c84ea5","directory":"the-childs-sight","title":"The Childs Sight","compatibility":99,"releases":[{"id":"010066800E9F8000","region":null}]},{"id":"01fa5774-bb1c-4eec-ae86-32cbca53bc17","directory":"bridge-constructor-ultimate-edition","title":"Bridge Constructor Ultimate Edition","compatibility":99,"releases":[{"id":"0100B2500F0E0000","region":null}]},{"id":"01ff1612-9583-40aa-abf9-12d2691d3ae6","directory":"this-is-the-zodiac-speaking","title":"This is the Zodiac Speaking","compatibility":99,"releases":[{"id":"010052D0129E4000","region":null}]},{"id":"020774d7-f81e-489d-a92d-81d9eb946e99","directory":"video-poker-at-aces-casino","title":"Video Poker at Aces Casino","compatibility":99,"releases":[{"id":"010049901147A000","region":null}]},{"id":"020dd823-9809-4f63-a75a-d4dfce101ed2","directory":"love-a-puzzle-box-filled-with-stories","title":"LOVE - A Puzzle Box Filled with Stories","compatibility":99,"releases":[{"id":"01004F0013BAA000","region":null}]},{"id":"021c63e3-31b9-4877-b07e-f5cd30bbb9e7","directory":"the-wardrobe","title":"The Wardrobe","compatibility":99,"releases":[{"id":"0100A6D009840000","region":null}]},{"id":"02208c4f-2448-4d68-b5a6-a7a8d191bc59","directory":"2048-cat","title":"2048 CAT","compatibility":0,"releases":[{"id":"01005E101014C000","region":null}]},{"id":"022a79fa-f098-470a-b783-5123209f91cb","directory":"townsmen","title":"Townsmen","compatibility":3,"releases":[{"id":"010049E00BA34000","region":null}]},{"id":"02348c3d-a06e-44c8-bff1-d3c2d21144cb","directory":"gunhouse","title":"Gunhouse","compatibility":99,"releases":[{"id":"010081C008164000","region":null}]},{"id":"023621d3-ecd1-4410-811e-0d10eb72dc04","directory":"hardway-party","title":"Hardway Party","compatibility":99,"releases":[{"id":"0100BB600C096000","region":null}]},{"id":"023723a6-48b9-4e31-aab5-e8e6741a3fc8","directory":"tetras-escape-demo","title":"Tetra's Escape DEMO","compatibility":99,"releases":[{"id":"01001F200A536000","region":null}]},{"id":"024a10a9-873f-4288-abb8-fc1cc988eefb","directory":"pity-pit","title":"Pity Pit","compatibility":99,"releases":[{"id":"0100197011BFE000","region":null}]},{"id":"024ffac6-eb15-4a76-b29c-36241a5a610c","directory":"broken-age","title":"Broken Age","compatibility":1,"releases":[{"id":"0100EDD0068A6000","region":null}]},{"id":"026c211b-1a6f-433e-b727-4a5a10aa38ee","directory":"cargo-crew-driver","title":"Cargo Crew Driver","compatibility":99,"releases":[{"id":"0100DD6014870000","region":null}]},{"id":"0273ebc8-91b9-4f6a-8295-46d574258a0f","directory":"multi-quiz","title":"Multi Quiz","compatibility":99,"releases":[{"id":"01008E2013FB4000","region":null}]},{"id":"02741eb6-1473-44bd-9b47-6e708fac2ecc","directory":"hero-express","title":"Hero Express","compatibility":99,"releases":[{"id":"0100BEA00E63A000","region":null}]},{"id":"027458bb-a69b-4bdf-8673-5e293c4026f6","directory":"bloodstained-curse-of-the-moon-2","title":"Bloodstained: Curse of the Moon 2","compatibility":0,"releases":[{"id":"01004680124E6000","region":null}]},{"id":"0275f145-b729-4f08-9bb2-47bc3d4b4b69","directory":"flight-sim-2019","title":"Flight Sim 2019","compatibility":1,"releases":[{"id":"0100B9000F2D8000","region":null}]},{"id":"027af589-d0bc-45fe-9bc5-021538fef37b","directory":"psikyo-shooting-stars-alpha","title":"Psikyo Shooting Stars Alpha","compatibility":4,"releases":[{"id":"01007A200F2E2000","region":null}]},{"id":"028dfaf6-f71a-4e77-9fba-02f9ab66a8fe","directory":"regions-of-ruin","title":"Regions of Ruin","compatibility":99,"releases":[{"id":"01005FD00F15A000","region":null}]},{"id":"0291b9ae-5e17-4a84-b8bc-620528a23367","directory":"star-ghost","title":"Star Ghost","compatibility":4,"releases":[{"id":"01002EB007D3A000","region":null}]},{"id":"0292fc04-d7fc-434b-9eef-d0be437dc71f","directory":"a-day-without-me","title":"A Day Without Me","compatibility":99,"releases":[{"id":"0100CD501401E000","region":null}]},{"id":"02a03133-df4e-4446-9ae9-cd8189220251","directory":"rigid-force-redux","title":"Rigid Force Redux","compatibility":0,"releases":[{"id":"0100763010D5A000","region":null}]},{"id":"02abfa5e-b34f-4cc8-bf88-186b62451ab6","directory":"just-shapes-beats-demo","title":"Just Shapes & Beats Demo","compatibility":99,"releases":[{"id":"0100D9600BA8E000","region":null}]},{"id":"02b18ac9-d844-4827-aeab-613019664c58","directory":"uno-demo","title":"Uno Demo","compatibility":99,"releases":[{"id":"010037B00A9C8000","region":null}]},{"id":"02c84d2f-d018-4af9-8944-e2443e2bc0f0","directory":"sumire","title":"Sumire","compatibility":1,"releases":[{"id":"01003D50126A4000","region":null}]},{"id":"02c89828-6468-41db-acd5-d34470c836ab","directory":"gearclub-unlimited","title":"Gear.Club Unlimited","compatibility":1,"releases":[{"id":"010065E003FD8000","region":null}]},{"id":"02d7e5aa-cc90-47cd-8f07-f4de0ad1c41b","directory":"timberman-vs","title":"Timberman VS","compatibility":99,"releases":[{"id":"0100EA1009022000","region":null}]},{"id":"02d82fa2-e38e-4c2b-9b57-839f0fb8dc61","directory":"null-drifter","title":"Null Drifter","compatibility":99,"releases":[{"id":"01000CC010594000","region":null}]},{"id":"02e71fc4-167c-458d-a6b8-2f4564fac71c","directory":"the-dark-eye-memoria","title":"The Dark Eye: Memoria","compatibility":99,"releases":[{"id":"01003FA00EE36000","region":null}]},{"id":"02e8c180-6592-4140-af57-85d1e5cf29c2","directory":"god-wars-the-complete-legend","title":"GOD WARS The Complete Legend","compatibility":99,"releases":[{"id":"0100F3D00B032000","region":null}]},{"id":"02f5b14c-87b0-41c6-9d8e-05a34bc6c634","directory":"8-ball-pocket","title":"8-Ball Pocket","compatibility":99,"releases":[{"id":"0100A9900F3BE000","region":null}]},{"id":"02f824e9-6665-468d-a6bb-0d3bb7ace158","directory":"prehistoric-life-puzzles","title":"Prehistoric Life Puzzles","compatibility":99,"releases":[{"id":"0100CC9015E30000","region":null}]},{"id":"02fac8d7-97dc-4f0b-aea8-d9e45fae6e86","directory":"prison-architect-nintendo-switch-edition","title":"Prison Architect: Nintendo Switch Edition","compatibility":1,"releases":[{"id":"010029200AB1C000","region":null}]},{"id":"02fbbefa-67d5-4e16-bf7e-a0e28cfb1511","directory":"1-anagrams","title":"#1 Anagrams","compatibility":99,"releases":[{"id":"0100F1D014F08000","region":null}]},{"id":"02fd7bf2-2e52-4bcd-8783-542942bd9cea","directory":"fantasy-tavern-sextet-vol-3-postlude-days","title":"Fantasy Tavern Sextet -Vol.3 Postlude Days-","compatibility":4,"releases":[{"id":"010043D014336000","region":null}]},{"id":"0300f2f2-7add-4196-a952-82ba6e735c4b","directory":"spintires-mudrunner-american-wilds","title":"Spintires: MudRunner - American Wilds","compatibility":2,"releases":[{"id":"01009D200952E000","region":null}]},{"id":"0307b175-72e6-45da-a8cc-d07c3f854868","directory":"link-a-pix-deluxe","title":"Link-a-Pix Deluxe","compatibility":0,"releases":[{"id":"010047600FBFE000","region":null}]},{"id":"0320f44f-ac02-463f-affd-536cc0963cc2","directory":"bridge-constructor-the-walking-dead","title":"Bridge Constructor: The Walking Dead","compatibility":99,"releases":[{"id":"01002AD0126AE000","region":null}]},{"id":"0321122f-a505-42ef-a1fc-71d5301c3309","directory":"just-dance-2019","title":"Just Dance 2019","compatibility":0,"releases":[{"id":"010075600AE96000","region":null}]},{"id":"03291850-6c69-4df0-9a55-aa7a1ea7f41f","directory":"startide","title":"Startide","compatibility":99,"releases":[{"id":"010051D00C9F8000","region":null}]},{"id":"032d0936-77ad-4041-86d2-4ff8148db22e","directory":"emma-lost-in-memories","title":"Emma: Lost in Memories","compatibility":99,"releases":[{"id":"010017B0102A8000","region":null}]},{"id":"03442c19-4ed9-427b-ba92-3fb1fd710c1f","directory":"five-nights-at-freddys-sister-location","title":"Five Nights at Freddy's: Sister Location","compatibility":4,"releases":[{"id":"01003B200E440000","region":null}]},{"id":"0348f10e-4526-4483-981f-650359fbbc9b","directory":"mushroom-savior","title":"Mushroom Savior","compatibility":99,"releases":[{"id":"0100812012554000","region":null}]},{"id":"03698c43-9f0e-4441-a3dc-085978bb0ff9","directory":"never-again","title":"Never Again","compatibility":99,"releases":[{"id":"01005F201038C000","region":null}]},{"id":"03699871-074b-4770-bea8-3e46971c5f62","directory":"skully","title":"Skully","compatibility":2,"releases":[{"id":"0100D7B011654000","region":null}]},{"id":"03722d61-ccf7-4012-9fcf-3561b0e3c2f3","directory":"word-forward","title":"Word Forward","compatibility":99,"releases":[{"id":"010051B016642000","region":null}]},{"id":"0374b54a-ebe0-45a1-aa1f-41e49f25d592","directory":"arcade-archives-vs-gradius","title":"Arcade Archives VS. GRADIUS","compatibility":4,"releases":[{"id":"01004EC00E634000","region":null}]},{"id":"037b6d81-0bcc-4319-9395-d9f27304cec3","directory":"the-midnight-sanctuary","title":"The Midnight Sanctuary","compatibility":99,"releases":[{"id":"0100DEC00B2BC000","region":null}]},{"id":"0381c189-fae0-466e-8150-5ce8d8ff6b43","directory":"snack-world-the-dungeon-crawl-gold","title":"SNACK WORLD: THE DUNGEON CRAWL — GOLD","compatibility":99,"releases":[{"id":"010010400D46A000","region":null}]},{"id":"038761c3-cfa3-4b0f-998a-73ef6d63d53c","directory":"pixel-game-maker-series-jewelinx","title":"Pixel Game Maker Series JEWELiNX","compatibility":99,"releases":[{"id":"010054E0168A6000","region":null}]},{"id":"0399e8ee-afa6-409e-be90-c863ac4c8897","directory":"cat-milk","title":".cat Milk","compatibility":99,"releases":[{"id":"0100972015984000","region":null}]},{"id":"039b5923-7444-485d-931d-56d15534fe79","directory":"touhou-spell-bubble","title":"Touhou spell bubble","compatibility":0,"releases":[{"id":"0100E9D00D6C2000","region":null}]},{"id":"03a0a436-aa88-4e62-9715-d73f1178f9e3","directory":"space-wars","title":"Space Wars","compatibility":99,"releases":[{"id":"010014F015DF2000","region":null}]},{"id":"03a69dde-0b31-4ee4-8cc6-6a05459cb390","directory":"traditional-tactics-ne","title":"Traditional Tactics Ne+","compatibility":99,"releases":[{"id":"010008C01010A000","region":null}]},{"id":"03a89231-9bd5-4efe-b1eb-12ebb3f29f15","directory":"hoggy2","title":"Hoggy2","compatibility":99,"releases":[{"id":"0100F7300ED2C000","region":null}]},{"id":"03ae7cbc-0efe-444b-87fd-ea3bd7845dbb","directory":"beat-rush","title":"Beat Rush","compatibility":99,"releases":[{"id":"0100DC500B4B0000","region":null}]},{"id":"03bd3eff-a7a6-4844-9ec9-755603d0f4f8","directory":"the-sokoban","title":"The Sokoban","compatibility":99,"releases":[{"id":"01003B4015BE4000","region":null}]},{"id":"03ee7eb7-f034-472f-9f9f-5b76e494b038","directory":"bullseye","title":"Bullseye™","compatibility":99,"releases":[{"id":"0100C06014588000","region":null}]},{"id":"040db7cb-98b4-452f-ae49-2d9d0a2b4be7","directory":"collapsed","title":"Collapsed","compatibility":99,"releases":[{"id":"01004F1012716000","region":null}]},{"id":"04197cee-d255-4215-8b05-b4ea4a45d666","directory":"sydney-hunter-and-the-curse-of-the-mayan","title":"Sydney Hunter and the Curse of the Mayan","compatibility":1,"releases":[{"id":"010007300C482000","region":null}]},{"id":"042343e6-7a4d-4181-b220-9e8b35c6cb24","directory":"okunoka","title":"OkunoKA","compatibility":99,"releases":[{"id":"01006AB00BD82000","region":null}]},{"id":"0435b268-a2ca-4788-b13f-b152e087ef73","directory":"pixel-game-maker-series-dungeon-of-nazarick","title":"Pixel Game Maker Series DUNGEON OF NAZARICK","compatibility":99,"releases":[{"id":"0100F40013720000","region":null}]},{"id":"043b85ef-0143-4690-9337-aba68eb22c0a","directory":"harvest-moon-r-one-world","title":"Harvest Moon®: One World","compatibility":2,"releases":[{"id":"010016B010FDE000","region":null}]},{"id":"044242f6-b9e1-4c67-9c7b-13e02dfc684b","directory":"ibb-obb","title":"ibb & obb","compatibility":99,"releases":[{"id":"0100E09009600000","region":null}]},{"id":"04531cc0-031c-41e2-bb07-dee28ec5e503","directory":"race-with-ryan","title":"Race with Ryan","compatibility":99,"releases":[{"id":"010075D00DD04000","region":null}]},{"id":"0458286c-d1c0-4d93-a867-aca2ab2c264a","directory":"trover-saves-the-universe","title":"Trover Saves The Universe","compatibility":99,"releases":[{"id":"010089600FB72000","region":null}]},{"id":"045f2c38-e15e-4d08-9194-6081d60796fb","directory":"dogfight","title":"Dogfight","compatibility":99,"releases":[{"id":"0100E80013BB0000","region":null}]},{"id":"046256e9-7ca4-4d7e-8786-6ccdcbb570eb","directory":"mon-amour","title":"Mon Amour","compatibility":99,"releases":[{"id":"0100E5500D294000","region":null}]},{"id":"0465c1af-696c-49d5-9092-c18682ac9494","directory":"farm-builder","title":"Farm Builder","compatibility":99,"releases":[{"id":"0100BC50122B6000","region":null}]},{"id":"046e0269-cf03-40fb-9c42-e4c5d171b058","directory":"yu-gi-oh-legacy-of-the-duelist-link-evolution","title":"Yu-Gi-Oh! Legacy of the Duelist: Link Evolution","compatibility":3,"releases":[{"id":"010022400BE5A000","region":null}]},{"id":"047b4e59-0370-41b8-b421-dfb0bf3ee733","directory":"splatter","title":"Splatter","compatibility":99,"releases":[{"id":"0100C8C0163E2000","region":null}]},{"id":"0485c2fd-1cf5-4b06-95d0-fe96d4369ec3","directory":"elva-the-eco-dragon","title":"Elva the Eco Dragon","compatibility":99,"releases":[{"id":"010012E0157A6000","region":null}]},{"id":"048f98bc-98b4-4eca-a84e-8469b78126af","directory":"she-sees-red-interactive-movie","title":"She Sees Red - Interactive Movie","compatibility":1,"releases":[{"id":"01000320110C2000","region":null}]},{"id":"04983c67-22f9-432e-bc7e-a57671f812c5","directory":"hoa","title":"Hoa","compatibility":99,"releases":[{"id":"010022E013A1A000","region":null}]},{"id":"04a14571-c5a5-44cc-945a-c1329e1e7402","directory":"tap-skaters","title":"Tap Skaters","compatibility":99,"releases":[{"id":"0100EBC00ECA8000","region":null}]},{"id":"04a9afdd-f96e-468d-af7e-7f0d2028d7e5","directory":"dead-dungeon","title":"Dead Dungeon","compatibility":99,"releases":[{"id":"01000D900E0F0000","region":null}]},{"id":"04acd6e8-cf01-493f-bad2-d6385859c6d3","directory":"spooky-chase","title":"Spooky Chase","compatibility":99,"releases":[{"id":"010097C01336A000","region":null}]},{"id":"04bf9899-6e58-49ee-b3ae-682dca48c699","directory":"race-arcade","title":"Race Arcade","compatibility":5,"releases":[{"id":"010054A008EE2000","region":null}]},{"id":"04c1d34c-8d64-4f19-96fa-f3c422ef0b21","directory":"override-mech-city-brawl-super-charged-mega-edition","title":"Override: Mech City Brawl – Super Charged Mega Edition","compatibility":99,"releases":[{"id":"0100F2600EA72000","region":null}]},{"id":"04c49116-b803-4a52-aa2f-b3982fdf166d","directory":"the-amazing-american-circus","title":"The Amazing American Circus","compatibility":99,"releases":[{"id":"0100630015B34000","region":null}]},{"id":"04d38b99-74af-4eeb-a574-5ce20286dc8f","directory":"bedtime-blues","title":"Bedtime Blues","compatibility":99,"releases":[{"id":"01001D600D2C8000","region":null}]},{"id":"04d4a2cb-beed-429c-a1ca-3e4bf33d0f5f","directory":"krystopia-a-puzzle-journey","title":"Krystopia: A Puzzle Journey","compatibility":99,"releases":[{"id":"0100971011AFC000","region":null}]},{"id":"04d702e9-bc1c-4f4b-9a9d-909c98c91e08","directory":"project-warlock","title":"Project Warlock","compatibility":0,"releases":[{"id":"0100BDB01150E000","region":null}]},{"id":"04d82582-b141-4d6d-8275-4f2d8d7d0df4","directory":"rpg-maker-mv","title":"RPG Maker MV","compatibility":99,"releases":[{"id":"0100E2C00B414000","region":null}]},{"id":"04d8c37f-0643-4e03-97ea-9b5c708f642a","directory":"donkey-kong-country-tropical-freeze","title":"Donkey Kong Country: Tropical Freeze","compatibility":1,"releases":[{"id":"0100C1F0051B6000","region":null}]},{"id":"04e7168b-337e-42e2-a43f-d3ce75975d71","directory":"close-to-the-sun","title":"Close to the Sun","compatibility":99,"releases":[{"id":"0100B7200DAC6000","region":null}]},{"id":"04eb51d7-8878-4e08-bff0-b43693c33078","directory":"choices-that-matter-and-their-souls-were-eaten","title":"Choices That Matter: And Their Souls Were Eaten","compatibility":99,"releases":[{"id":"01003DA0132EE000","region":null}]},{"id":"051d139e-0622-4b9a-9bbd-8a722874fdff","directory":"himno","title":"Himno","compatibility":99,"releases":[{"id":"010069900F270000","region":null}]},{"id":"05224cd5-7bdf-4b85-a9bc-a0abc6e657a2","directory":"a-winters-daydream","title":"A Winter's Daydream","compatibility":99,"releases":[{"id":"01000ED00F64E000","region":null}]},{"id":"053b753f-3a42-4f91-9524-b2f4b583173f","directory":"hidden-through-time","title":"Hidden Through Time","compatibility":0,"releases":[{"id":"01006D00109FE000","region":null}]},{"id":"053f229e-a2d6-442d-b150-caf49f29c22d","directory":"atelier-escha-and-logy-alchemists-of-the-dusk-sky-dx","title":"Atelier Escha & Logy: Alchemists of the Dusk Sky DX","compatibility":99,"releases":[{"id":"0100E5600EE8E000","region":null}]},{"id":"0542b59f-f5f5-4acb-866d-ba1fcb67743a","directory":"vaporum-lockdown","title":"Vaporum: Lockdown","compatibility":99,"releases":[{"id":"010088D013CE0000","region":null}]},{"id":"054d3a62-da65-4548-972f-5e09c5d244af","directory":"soccer-tactics-and-glory","title":"Soccer, Tactics & Glory","compatibility":99,"releases":[{"id":"010095C00F9DE000","region":null}]},{"id":"0565155a-5684-41bf-b336-f11a8cde8d22","directory":"lego-harry-potter-collection","title":"LEGO Harry Potter Collection","compatibility":3,"releases":[{"id":"010052A00B5D2000","region":null}]},{"id":"05681e05-63f0-42a9-8119-d84ade46feec","directory":"faraday-protocol","title":"Faraday Protocol","compatibility":99,"releases":[{"id":"010076E0145A6000","region":null}]},{"id":"05760a8d-8963-42e3-9aa1-da125fa75e58","directory":"minecraft-dungeons","title":"Minecraft Dungeons","compatibility":1,"releases":[{"id":"01006C100EC08000","region":null}]},{"id":"057c9dcf-93fb-4df1-ae4e-5d5d805fd6a9","directory":"craps-at-aces-casino","title":"Craps at Aces Casino","compatibility":99,"releases":[{"id":"01001CC014784000","region":null}]},{"id":"058eb0d3-aa86-4bac-85eb-88c0a79db175","directory":"snowball-collections-bubble","title":"Snowball Collections Bubble","compatibility":99,"releases":[{"id":"0100C20014B3C000","region":null}]},{"id":"059203a5-f0d8-4bd4-a8c1-f11a45f23bb7","directory":"jack-n-jill-dx","title":"Jack N' Jill DX","compatibility":1,"releases":[{"id":"01006E900B6EC000","region":null}]},{"id":"0597a469-c452-48fa-881d-6c49c429dad1","directory":"party-golf","title":"Party Golf","compatibility":0,"releases":[{"id":"0100B8E00359E000","region":null}]},{"id":"05a202e3-c724-4600-ae5f-35282edeaa6a","directory":"would-you-like-to-run-an-idol-cafe","title":"Would you like to run an idol cafe?","compatibility":99,"releases":[{"id":"0100A02016B4A000","region":null}]},{"id":"05a291cb-57bf-45f2-beb7-de2bc9722cac","directory":"pirates-pinball","title":"Pirates Pinball","compatibility":99,"releases":[{"id":"010077C00D610000","region":null}]},{"id":"05b490bb-d8c8-4063-836f-30ed1bc2e7e1","directory":"8-bit-farm","title":"8-Bit Farm","compatibility":99,"releases":[{"id":"01008E500EDE0000","region":null}]},{"id":"05bf85fb-8567-482b-8f52-20d73c1c6052","directory":"embr","title":"Embr","compatibility":99,"releases":[{"id":"0100CC6013432000","region":null}]},{"id":"05c9832f-d6b3-426e-ad04-3d085b6bf53f","directory":"strangers-of-the-power-3","title":"Strangers of the Power 3","compatibility":99,"releases":[{"id":"010081B00D890000","region":null}]},{"id":"05cc20e8-b373-420c-bde3-303801add377","directory":"xylophone","title":"Xylophone","compatibility":99,"releases":[{"id":"0100518015236000","region":null}]},{"id":"05dd4b3b-810e-4f18-a625-a882c7cec932","directory":"banner-saga-2","title":"Banner Saga 2","compatibility":5,"releases":[{"id":"0100388008758000","region":null}]},{"id":"05ec4bbd-cd3e-41cd-8af7-46c66d28eb7b","directory":"arcade-archives-soccer","title":"Arcade Archives SOCCER","compatibility":99,"releases":[{"id":"0100EFB01316C000","region":null}]},{"id":"05f4c845-e854-42ff-8286-ca0d6c4e703f","directory":"hidden-in-plain-sight","title":"Hidden in Plain Sight","compatibility":99,"releases":[{"id":"01004BA0110D6000","region":null}]},{"id":"060d85f5-d6fb-4e12-a50b-b35bfec3c304","directory":"obakeidoro","title":"OBAKEIDORO!","compatibility":1,"releases":[{"id":"010074600CC7A000","region":null}]},{"id":"060fab3b-4176-43ba-87ea-8f6fbcb52d74","directory":"little-friends-dogs-and-cats","title":"Little Friends: Dogs & Cats","compatibility":4,"releases":[{"id":"010079A00D9E8000","region":null}]},{"id":"0612c1d6-110c-4f49-aa14-09d337cc6716","directory":"travel-mosaics-9-mysterious-prague","title":"Travel Mosaics 9: Mysterious Prague","compatibility":99,"releases":[{"id":"0100E530133DA000","region":null}]},{"id":"0613691d-168c-44e5-977b-99599b7659f9","directory":"the-red-lantern","title":"The Red Lantern","compatibility":99,"releases":[{"id":"0100C6800D9D0000","region":null}]},{"id":"06331385-f45e-4be0-b839-975ce46c7d94","directory":"farming-simulator-nintendo-switch-edition","title":"Farming Simulator Nintendo Switch Edition","compatibility":1,"releases":[{"id":"0100D04004176000","region":null}]},{"id":"06377d5b-d1ae-47e0-88aa-5f4aec4b28b8","directory":"shadow-blade-reload","title":"Shadow Blade: Reload","compatibility":0,"releases":[{"id":"0100D5500DA94000","region":null}]},{"id":"0641afb5-a4d1-4229-b470-42f6e517c505","directory":"puzzle-bundle-3-in-1","title":"Puzzle Bundle - 3 in 1","compatibility":99,"releases":[{"id":"01004BC012436000","region":null}]},{"id":"065236fc-3d34-4ebc-b774-925df118f6e1","directory":"unhatched","title":"Unhatched","compatibility":99,"releases":[{"id":"01007D1013512000","region":null}]},{"id":"065bd008-cf29-4763-8186-266be728d134","directory":"siralim-3","title":"Siralim 3","compatibility":1,"releases":[{"id":"010073E00DBDA000","region":null}]},{"id":"06625524-c00b-49ef-9e1a-58537b5f2380","directory":"eat-beat-deadspike-san","title":"EAT BEAT DEADSPIKE-san","compatibility":1,"releases":[{"id":"0100A9B009678000","region":null}]},{"id":"06700092-816e-488b-9a33-0e0b54ce66b1","directory":"memoranda","title":"Memoranda","compatibility":99,"releases":[{"id":"01004B201308A000","region":null}]},{"id":"068baded-4c91-4806-9d2f-fb7c04f51e8a","directory":"rolling-gunner","title":"Rolling Gunner","compatibility":0,"releases":[{"id":"010076200CA16000","region":null}]},{"id":"068d9321-772d-4aa8-b75b-4f48aa1bb6a4","directory":"el-hijo-a-wild-west-tale","title":"El Hijo - A Wild West Tale","compatibility":2,"releases":[{"id":"010020A01209C000","region":null}]},{"id":"068e2bc8-60ca-49a4-95c6-17a0a71b68bf","directory":"turnip-boy-commits-tax-evasion","title":"Turnip Boy Commits Tax Evasion","compatibility":0,"releases":[{"id":"01008DF012A7A000","region":null}]},{"id":"068fff22-3f66-44ec-b786-17396f66fd97","directory":"alvastia-chronicles","title":"Alvastia Chronicles","compatibility":4,"releases":[{"id":"0100F0700CD8E000","region":null}]},{"id":"069ab4e6-10e0-49f5-b853-74fc5c26faea","directory":"inversus-deluxe","title":"INVERSUS Deluxe","compatibility":1,"releases":[{"id":"01001D0003B96000","region":null}]},{"id":"069b9a83-b3df-4662-b6ae-9dbce0483b3a","directory":"zombillie","title":"Zombillie","compatibility":99,"releases":[{"id":"0100CD300A1BA000","region":null}]},{"id":"069f5ad7-1c38-4631-a8f5-868602cc75f6","directory":"maze","title":"Maze","compatibility":99,"releases":[{"id":"0100E8B012FBC000","region":null}]},{"id":"06a25351-7335-409f-adc5-e55db813b181","directory":"nekopara-vol2","title":"NEKOPARA Vol.2","compatibility":0,"releases":[{"id":"010012900C782000","region":null}]},{"id":"06b4c047-674b-4991-a14e-8f7cbd48f8e8","directory":"tyr-chains-of-valhalla","title":"Tyr : Chains of Valhalla","compatibility":0,"releases":[{"id":"01003B200C6CA000","region":null}]},{"id":"06b9213a-bd6a-4542-a7c5-4fda944cefd8","directory":"lots-of-slots","title":"Lots of Slots","compatibility":99,"releases":[{"id":"0100CAB00FDC4000","region":null}]},{"id":"06c674e3-457a-48be-aaea-f1e0c0503bdd","directory":"klondike-solitaire-collection","title":"Klondike Solitaire Collection","compatibility":99,"releases":[{"id":"01000F6014D62000","region":null}]},{"id":"06d02ee3-2135-4926-b1ba-3ea32afc8f4c","directory":"i-hate-running-backwards","title":"I Hate Running Backwards","compatibility":99,"releases":[{"id":"01006D300AA58000","region":null}]},{"id":"06d4e565-ab1c-4364-898c-2679dc2f45a7","directory":"linelight","title":"Linelight","compatibility":99,"releases":[{"id":"0100EDE012B58000","region":null}]},{"id":"06f45c11-b1e2-4c1d-a1f4-ec6265518e71","directory":"croixleur-sigma","title":"Croixleur Sigma","compatibility":0,"releases":[{"id":"01000F0007D92000","region":null}]},{"id":"06f5e19f-b24b-410d-a13f-ed2cd3f7a778","directory":"sonic-mania","title":"Sonic Mania","compatibility":0,"releases":[{"id":"01009AA000FAA000","region":null}]},{"id":"06f907a6-b2ee-4bf8-a1ef-f185ae7db0b4","directory":"cube-blast-match","title":"Cube Blast: Match","compatibility":99,"releases":[{"id":"010019B013A12000","region":null}]},{"id":"06fa799f-0c6d-4b6b-866c-e0c3321a11f3","directory":"shadowgate","title":"Shadowgate","compatibility":99,"releases":[{"id":"010073400B696000","region":null}]},{"id":"07018016-8a81-4946-84cd-99a5e47c6c5e","directory":"zombies-ruined-my-day","title":"Zombies ruined my day","compatibility":99,"releases":[{"id":"010011B0122CA000","region":null}]},{"id":"0702d35e-f773-49cb-8e09-05bed41da271","directory":"piczle-lines-dx-demo","title":"Piczle Lines DX Demo","compatibility":99,"releases":[{"id":"0100917007888000","region":null}]},{"id":"070c6273-ecf2-4aeb-8e9c-bb2d644dca3b","directory":"aca-neogeo-puzzle-bobble","title":"ACA NEOGEO PUZZLE BOBBLE","compatibility":99,"releases":[{"id":"010049A00C7AA000","region":null}]},{"id":"07148a9c-2812-457c-ab04-cd3f2311e6e7","directory":"balloon-pop-learning-letters-numbers-colors-game-for-kids","title":"Balloon Pop - Learning Letters, Numbers, Colors, Game for Kids","compatibility":99,"releases":[{"id":"0100C5F015F70000","region":null}]},{"id":"071e0cf6-45f0-4bec-9b0f-bddc6f5fd777","directory":"saints-row-the-third-the-full-package","title":"SAINTS ROW: THE THIRD - THE FULL PACKAGE","compatibility":4,"releases":[{"id":"0100DE600BEEE000","region":null}]},{"id":"071e2f01-8b43-40bd-8379-40e61a84ff16","directory":"trigger-witch","title":"Trigger Witch","compatibility":99,"releases":[{"id":"010006A01441C000","region":null}]},{"id":"071ede26-edcd-4fd0-aa1b-89c47bfb1498","directory":"arcade-archives-vs-baseball","title":"Arcade Archives VS. BASEBALL","compatibility":99,"releases":[{"id":"0100865011CBC000","region":null}]},{"id":"071fe529-cd62-4850-b628-b92cad696cb7","directory":"mario-kart-live-home-circuit","title":"Mario Kart Live: Home Circuit™","compatibility":5,"releases":[{"id":"0100ED100BA3A000","region":null}]},{"id":"0720774f-15fe-4b47-acdc-8e58c5b07f50","directory":"crimsonland","title":"Crimsonland","compatibility":3,"releases":[{"id":"01005640080B0000","region":null}]},{"id":"072454b7-3ef9-4618-8034-65ad08f1ccb0","directory":"steamburg","title":"Steamburg","compatibility":99,"releases":[{"id":"01004DD00C87A000","region":null}]},{"id":"07286ba9-b58b-4aa5-81e7-3dbf0bbf78d6","directory":"guard-duty","title":"Guard Duty","compatibility":99,"releases":[{"id":"0100C69010522000","region":null}]},{"id":"073f3fa5-3d89-4066-9630-ce0dbf1712fc","directory":"puzzle-book","title":"Puzzle Book","compatibility":99,"releases":[{"id":"010043100F0EA000","region":null}]},{"id":"07433093-b16d-480e-82cb-3d3a42cb175c","directory":"galactic-invasion","title":"Galactic Invasion","compatibility":99,"releases":[{"id":"0100F9301632A000","region":null}]},{"id":"074dc1c8-02f2-4fc5-b60f-affc7c53f58e","directory":"radiohammer-station","title":"RADIOHAMMER STATION","compatibility":99,"releases":[{"id":"01008FA00ACEC000","region":null}]},{"id":"074fc4ab-e9af-4d93-8c92-b4e08c8c54fb","directory":"magicolors","title":"Magicolors","compatibility":99,"releases":[{"id":"010032C011356000","region":null}]},{"id":"0750e87c-41bb-4c85-8f18-c39dc9d866c8","directory":"xenoraid","title":"Xenoraid","compatibility":99,"releases":[{"id":"0100928005BD2000","region":null}]},{"id":"0753f321-4038-466b-ac90-d43b0186378d","directory":"exploding-kittens","title":"Exploding Kittens","compatibility":99,"releases":[{"id":"0100BC20118EE000","region":null}]},{"id":"076b7c2f-4e9e-4ec1-a74d-d3a78a90a281","directory":"the-experiment-escape-room","title":"The Experiment: Escape Room","compatibility":0,"releases":[{"id":"01006050114D4000","region":null}]},{"id":"077389f9-3cb9-41df-a7e8-fbb45b08d659","directory":"rico","title":"RICO","compatibility":99,"releases":[{"id":"01009D5009234000","region":null}]},{"id":"077581d2-e817-49aa-8176-697dc933c029","directory":"get-ogre-it","title":"Get Ogre It","compatibility":99,"releases":[{"id":"0100926014A96000","region":null}]},{"id":"077a681f-d6ea-4034-8112-253c6934442b","directory":"modern-combat-blackout","title":"Modern Combat Blackout","compatibility":5,"releases":[{"id":"0100D8700B712000","region":null}]},{"id":"07819478-12ba-4fe0-a081-35601f194f8b","directory":"starlink-battle-for-atlas-digital-edition","title":"Starlink: Battle for Atlas Digital Edition","compatibility":4,"releases":[{"id":"01002CC003FE6000","region":null}]},{"id":"0793348f-81f6-4c11-88c4-841ab15b880d","directory":"detective-di-the-silk-rose-murders","title":"Detective Di: The Silk Rose Murders","compatibility":99,"releases":[{"id":"0100032016AF6000","region":null}]},{"id":"079f984a-7226-4b0a-b998-116d85e025e9","directory":"marble-power-blast","title":"Marble Power Blast","compatibility":99,"releases":[{"id":"01008E800D1FE000","region":null}]},{"id":"07a2d9f9-c3a4-447c-8489-ed1b169e809d","directory":"danganronpa-s-ultimate-summer-camp","title":"Danganronpa S: Ultimate Summer Camp","compatibility":2,"releases":[{"id":"0100DF3014170000","region":null}]},{"id":"07ac6163-1b2a-4339-ae6f-f83de8879653","directory":"the-men-of-yoshiwara-ohgiya","title":"The Men of Yoshiwara: Ohgiya","compatibility":99,"releases":[{"id":"0100F4E006B32000","region":null}]},{"id":"07adb711-fabf-442e-9d2b-30fcd34fa67c","directory":"journey-of-the-broken-circle","title":"Journey of the Broken Circle","compatibility":99,"releases":[{"id":"0100251012E38000","region":null}]},{"id":"07b1b848-598f-4737-a332-251e868d0857","directory":"loot-monkey-bling-palace","title":"Loot Monkey: Bling Palace","compatibility":99,"releases":[{"id":"0100B1200ADEA000","region":null}]},{"id":"07b6c2f1-9832-473e-8196-e683bec0d4e3","directory":"henosis","title":"HENOSIS","compatibility":99,"releases":[{"id":"0100B8C014824000","region":null}]},{"id":"07cbbcef-0524-47f9-ba67-c28853cbc2d3","directory":"namco-museum-pac-man-vs-free-multiplayer-only-ver","title":"NAMCO MUSEUM (PAC-MAN VS. Free Multiplayer-only Ver.)","compatibility":5,"releases":[{"id":"0100BA3003B70000","region":null}]},{"id":"07d40f2d-3192-41a1-bcc6-29b4478ec2a5","directory":"rally-racers","title":"Rally Racers","compatibility":99,"releases":[{"id":"010057F007AA2000","region":null}]},{"id":"07d4a8a8-3a00-4188-994e-b39a625dcad7","directory":"battle-supremacy-ground-assault","title":"Battle Supremacy - Ground Assault","compatibility":99,"releases":[{"id":"0100F2100D8F2000","region":null}]},{"id":"07d9c3de-dbb2-41b8-a2f6-cd32807d8100","directory":"cook-serve-delicious-3","title":"Cook, Serve, Delicious! 3?!","compatibility":99,"releases":[{"id":"0100B82010B6C000","region":null}]},{"id":"07ebab3f-cace-4d35-bbae-5d8241570d00","directory":"warhammer-age-of-sigmar-champions","title":"Warhammer Age of Sigmar: Champions","compatibility":99,"releases":[{"id":"010089A00C7B0000","region":null}]},{"id":"07ee9c88-9f37-40d0-88b9-22e74dbe8296","directory":"aca-neogeo-metal-slug-2","title":"ACA NEOGEO METAL SLUG 2","compatibility":2,"releases":[{"id":"010086300486E000","region":null}]},{"id":"07fa22eb-4f54-4817-a26b-a56b0d3082ab","directory":"match-3-adventure-collection","title":"Match 3 Adventure Collection","compatibility":99,"releases":[{"id":"0100F3B015B14000","region":null}]},{"id":"07fb9ac2-7350-4993-96fe-1806fba05257","directory":"ashen","title":"Ashen","compatibility":4,"releases":[{"id":"010027B00E40E000","region":null}]},{"id":"08097f2d-8772-4136-b98e-ad09340eb092","directory":"rogue-explorer","title":"Rogue Explorer","compatibility":1,"releases":[{"id":"010090C014D3C000","region":null}]},{"id":"08112409-1784-4470-b650-35d6ae1e002e","directory":"crimson-keep","title":"Crimson Keep","compatibility":99,"releases":[{"id":"010004300C33A000","region":null}]},{"id":"081485f2-37cd-4a22-9c3d-681491e9d8fb","directory":"how-to-take-off-your-mask-remastered","title":"How to take off your Mask Remastered","compatibility":2,"releases":[{"id":"01005000133AE000","region":null}]},{"id":"0815a04f-8a85-4732-8967-236b3a566568","directory":"up-cliff-drive","title":"Up Cliff Drive","compatibility":99,"releases":[{"id":"0100D86012928000","region":null}]},{"id":"08186222-6a9c-4ab3-ac5c-1a2e7ab3bd0d","directory":"bite-the-bullet","title":"Bite the Bullet","compatibility":1,"releases":[{"id":"0100A0800EA9C000","region":null}]},{"id":"08372744-7f6f-49e2-bdf5-355d8c7de55e","directory":"dgeneration-the-original","title":"D/Generation : The Original","compatibility":99,"releases":[{"id":"010020700B432000","region":null}]},{"id":"083db69c-401c-4911-a956-29af2a21ccc2","directory":"akihabara-crash-123stage1","title":"Akihabara CRASH! 123STAGE+1","compatibility":99,"releases":[{"id":"010033100AC2C000","region":null}]},{"id":"08525a1b-6531-480d-8a93-d97681c753e5","directory":"blind-postman","title":"Blind Postman","compatibility":99,"releases":[{"id":"0100F8F015D3C000","region":null}]},{"id":"0855a1ea-bf5b-4ff7-8fef-02ebc432c537","directory":"demon-turf","title":"Demon Turf","compatibility":1,"releases":[{"id":"0100FF5015492000","region":null}]},{"id":"086a55b0-5765-457f-8a25-c2c10c61b1ec","directory":"children-of-morta","title":"Children of Morta","compatibility":2,"releases":[{"id":"01002DE00C250000","region":null}]},{"id":"086ca05d-d44d-40f4-9e47-347a27b8b4a6","directory":"necrosphere-deluxe","title":"Necrosphere Deluxe","compatibility":99,"releases":[{"id":"01003F000C7F8000","region":null}]},{"id":"086ce65f-5aed-4fe9-96df-501e3787ca2a","directory":"the-charming-empire","title":"The Charming Empire","compatibility":99,"releases":[{"id":"010006200949E000","region":null}]},{"id":"0877abb7-f55a-475c-a339-2c4f75956b45","directory":"alchemic-dungeons-dx","title":"Alchemic Dungeons DX","compatibility":99,"releases":[{"id":"01000E800CC26000","region":null}]},{"id":"08a10bf9-0900-4325-b8a1-cf9c55223070","directory":"trios-lofi-beats-numbers-to-chill-to","title":"TRIOS - lofi beats / numbers to chill to","compatibility":99,"releases":[{"id":"01007F5013AFA000","region":null}]},{"id":"08a4ebaf-4053-4418-8e75-abe4a2e940b9","directory":"niffelheim","title":"Niffelheim","compatibility":99,"releases":[{"id":"010022600A79A000","region":null}]},{"id":"08b09d92-b8aa-4280-9748-1f80c6cddf2b","directory":"n-nplusplus","title":"N++ (NPLUSPLUS)","compatibility":1,"releases":[{"id":"01000D5005974000","region":null}]},{"id":"08d68578-c99c-4dda-8969-8d52c5412c86","directory":"goat-simulator-the-goaty","title":"Goat Simulator: The GOATY","compatibility":4,"releases":[{"id":"010032600C8CE000","region":null}]},{"id":"08d95293-32ed-4b9a-83ee-57f3f90030b0","directory":"freaky-awesome","title":"Freaky Awesome","compatibility":2,"releases":[{"id":"01001EE00AD4C000","region":null}]},{"id":"08e0ab45-ab12-4667-a3cf-4e8bb80cfb10","directory":"metro-last-light-redux","title":"Metro: Last Light Redux","compatibility":3,"releases":[{"id":"0100F0400E850000","region":null}]},{"id":"08f0b234-9d61-4ea6-ae54-d6a4a0e00179","directory":"bulletstorm-duke-of-switch-edition","title":"Bulletstorm: Duke of Switch Edition","compatibility":2,"releases":[{"id":"01003DD00D658000","region":null}]},{"id":"0902646f-2e94-462b-a549-c60b7d4f1105","directory":"ankh-guardian-treasure-of-the-demons-temple","title":"Ankh Guardian - Treasure of the Demon's Temple","compatibility":0,"releases":[{"id":"010055500CCD2000","region":null}]},{"id":"0908a57b-d2bb-42ce-8d5e-a592f04fdf1c","directory":"immerse-land","title":"IMMERSE LAND","compatibility":99,"releases":[{"id":"0100F15012D36000","region":null}]},{"id":"0917dd33-f931-4747-ae3a-30e566f8d7cd","directory":"moero-chronicle-hyper","title":"Moero Chronicle Hyper","compatibility":5,"releases":[{"id":"0100B8500D570000","region":null}]},{"id":"091bb3dd-f832-43ab-98c5-3dc624415338","directory":"iris-fall","title":"Iris.Fall","compatibility":1,"releases":[{"id":"0100945012168000","region":null}]},{"id":"0934cf38-21ec-41ec-8db7-65c625947517","directory":"journey-to-the-savage-planet","title":"Journey to the Savage Planet","compatibility":1,"releases":[{"id":"0100FB90103DE000","region":null}]},{"id":"09424dd7-e24d-4d9c-bac4-131515ddd8db","directory":"headball-soccer-deluxe","title":"Headball Soccer Deluxe","compatibility":99,"releases":[{"id":"010032800E6D2000","region":null}]},{"id":"094882ee-9e94-419d-8d5b-568ff17f2f87","directory":"arcade-archives-x-multiply","title":"Arcade Archives X MULTIPLY","compatibility":4,"releases":[{"id":"010063600D3FA000","region":null}]},{"id":"094f2104-c820-4be0-b460-3b2204674623","directory":"hellblade-senuas-sacrifice","title":"Hellblade: Senua's Sacrifice","compatibility":3,"releases":[{"id":"010044500CF8E000","region":null}]},{"id":"09541ba7-7e4c-40c1-bace-7cae51114185","directory":"my-butler","title":"My Butler","compatibility":3,"releases":[{"id":"0100F6F0118B8000","region":null}]},{"id":"096e208c-62b9-44e7-808f-8d0fc75f829b","directory":"phantaruk","title":"Phantaruk","compatibility":99,"releases":[{"id":"0100DDD00C0EA000","region":null}]},{"id":"0970280b-f61a-42ed-bbbd-d1d2d7aca19f","directory":"bamerang","title":"Bamerang","compatibility":99,"releases":[{"id":"01008D30128E0000","region":null}]},{"id":"09732939-623e-404f-80fb-159f4aa24a40","directory":"touhou-kobuto-v-burst-battle","title":"Touhou Kobuto V: Burst Battle","compatibility":1,"releases":[{"id":"010010F004022000","region":null}]},{"id":"0973d66f-b464-4242-9e75-e77d6aff207e","directory":"indigo-7-quest-for-love","title":"Indigo 7 Quest for love","compatibility":99,"releases":[{"id":"0100AC60143F4000","region":null}]},{"id":"09802efa-d123-4c63-a2e4-bfedf25efa6a","directory":"paladins","title":"Paladins","compatibility":4,"releases":[{"id":"010023900AEE0000","region":null}]},{"id":"09891c88-479d-4882-9b1b-11b5eaf3e03d","directory":"arcade-archives-ninja-spirit","title":"Arcade Archives Ninja Spirit","compatibility":99,"releases":[{"id":"01002F300D2C6000","region":null}]},{"id":"098ba6bb-c831-42e5-b3c2-f0527b7b89bf","directory":"nubarron-the-adventure-of-an-unlucky-gnome","title":"Nubarron: The adventure of an unlucky gnome","compatibility":99,"releases":[{"id":"0100343013248000","region":null}]},{"id":"09995088-cd5f-4d33-a79a-aa88189a6732","directory":"totes-the-goat","title":"Totes the Goat","compatibility":99,"releases":[{"id":"01003D3009996000","region":null}]},{"id":"09ba32f7-2fa7-479a-9729-9c1d17e7ae72","directory":"tower-of-babel-no-mercy","title":"Tower of Babel - no mercy","compatibility":0,"releases":[{"id":"01002D20103E0000","region":null}]},{"id":"09c1d4ce-c95e-4667-851b-16acdf112bc0","directory":"creepy-tale","title":"Creepy Tale","compatibility":2,"releases":[{"id":"0100A19011EEE000","region":null}]},{"id":"09c854b9-c1c8-4244-b16a-083020c12ab1","directory":"ravva-and-the-cyclops-curse","title":"Ravva and the Cyclops Curse","compatibility":99,"releases":[{"id":"0100CA2014A0A000","region":null}]},{"id":"09ccb58c-75f4-4fb9-8c3f-e452d1048ecb","directory":"cresteaju","title":"Cresteaju","compatibility":99,"releases":[{"id":"01005C2013B00000","region":null}]},{"id":"09ccc361-3fec-407a-b9e4-21da8c7d23e6","directory":"reverse-memories","title":"Reverse Memories","compatibility":99,"releases":[{"id":"01003A6015316000","region":null}]},{"id":"09d3c71e-a094-4cff-aae6-7ea2e9dc999c","directory":"arcade-archives-tube-panic","title":"Arcade Archives TUBE PANIC","compatibility":99,"releases":[{"id":"01006D4011738000","region":null}]},{"id":"09e58672-e752-47bb-ad98-052b4f5493bb","directory":"battle-brothers-a-turn-based-tactical-rpg","title":"Battle Brothers – A Turn Based Tactical RPG","compatibility":1,"releases":[{"id":"0100C5000F294000","region":null}]},{"id":"09e5b8aa-d065-4453-8899-f091ad222cbc","directory":"pile-up-box-by-box","title":"Pile Up! Box by Box","compatibility":99,"releases":[{"id":"0100A4C011F2C000","region":null}]},{"id":"09ed6517-1e5c-4f7e-89d8-bc5e0333a0c4","directory":"dog-gone-golfing","title":"DOG GONE GOLFING","compatibility":99,"releases":[{"id":"01004CD012C9A000","region":null}]},{"id":"0a13637f-47bd-448e-afda-0d595b5fcf5d","directory":"gym-hero-idle-fitness-tycoon","title":"Gym Hero - Idle Fitness Tycoon","compatibility":99,"releases":[{"id":"0100E7400DBE2000","region":null}]},{"id":"0a1651df-98f8-4c7b-92d6-af18128d56d4","directory":"a-train-all-aboard-tourism","title":"A-Train: All Aboard! Tourism","compatibility":2,"releases":[{"id":"0100A3E010E56000","region":null}]},{"id":"0a204999-a813-4017-b7d4-b1896dc2af07","directory":"quell-zen","title":"Quell Zen","compatibility":99,"releases":[{"id":"0100C240116E8000","region":null}]},{"id":"0a30ec36-a0a1-4618-b1bf-7ee20750d3c3","directory":"the-legend-of-dark-witch","title":"The Legend of Dark Witch","compatibility":0,"releases":[{"id":"0100B1900F0B6000","region":null}]},{"id":"0a35d808-a71b-4377-afb4-85f167e9b70b","directory":"my-universe-pet-clinic-cats-dogs","title":"My Universe - PET CLINIC CATS & DOGS","compatibility":99,"releases":[{"id":"0100CD5011A02000","region":null}]},{"id":"0a3e35af-f6f8-45dd-afd5-3a3d4cae4027","directory":"duck-hunting-challenge","title":"Duck Hunting Challenge","compatibility":99,"releases":[{"id":"01000BA00C9EE000","region":null}]},{"id":"0a41b046-6849-4604-90c2-d2f03b6be93d","directory":"renzo-racer","title":"Renzo Racer","compatibility":99,"releases":[{"id":"01007CC0130C6000","region":null}]},{"id":"0a50480f-5cb1-4574-ad96-ecf97b6e062b","directory":"island-flight-simulator","title":"Island Flight Simulator","compatibility":2,"releases":[{"id":"010077900440A000","region":null}]},{"id":"0a686140-1a17-40de-a858-57075439e709","directory":"winter-sports-games","title":"Winter Sports Games","compatibility":99,"releases":[{"id":"010001800DBA6000","region":null}]},{"id":"0a6a1131-1bc2-4e3f-8173-3c5e1ebba03c","directory":"kaiju-khaos","title":"KAIJU KHAOS","compatibility":99,"releases":[{"id":"01005B500A1A2000","region":null}]},{"id":"0a6f20a7-b32e-4fb4-8ce5-a0bea4426d77","directory":"roboshark-rampage","title":"RoboShark Rampage","compatibility":99,"releases":[{"id":"0100715015F8A000","region":null}]},{"id":"0a80d05c-a802-4720-8b72-4ebc0431cf2c","directory":"aca-neogeo-art-of-fighting","title":"ACA NEOGEO ART OF FIGHTING","compatibility":99,"releases":[{"id":"01006A80038FC000","region":null}]},{"id":"0a8925a0-294b-472c-933e-67141081aaa1","directory":"bloo-kid-2","title":"Bloo Kid 2","compatibility":4,"releases":[{"id":"010055900FADA000","region":null}]},{"id":"0a9671a7-3603-413e-ab36-89e5bef10694","directory":"desktop-soccer","title":"Desktop Soccer","compatibility":99,"releases":[{"id":"01004F200CB08000","region":null}]},{"id":"0a9947c0-0cbb-4c0c-91d2-88bc637a4ebd","directory":"sunless-skies-sovereign-edition","title":"Sunless Skies: Sovereign Edition","compatibility":0,"releases":[{"id":"0100A940127F6000","region":null}]},{"id":"0aa00229-98cc-4a5f-857f-e762f7888e70","directory":"crashnauts","title":"Crashnauts","compatibility":99,"releases":[{"id":"0100A49012F5C000","region":null}]},{"id":"0aa1a525-c4e6-4919-a873-d4f1951a65b1","directory":"the-tower-of-beatrice","title":"The Tower of Beatrice","compatibility":99,"releases":[{"id":"010047300EBA6000","region":null}]},{"id":"0aa40d97-3710-41ef-ab7c-7b7842a76ee3","directory":"dodgeball-academia","title":"Dodgeball Academia","compatibility":99,"releases":[{"id":"010001F014D9A000","region":null}]},{"id":"0ab8e0b8-f784-4d5a-902f-de69a9072544","directory":"defentron","title":"Defentron","compatibility":99,"releases":[{"id":"0100CDE0136E6000","region":null}]},{"id":"0abc3bc9-2e0b-49f4-92a7-55d0e4132d2d","directory":"degrees-of-separation","title":"Degrees of Separation","compatibility":4,"releases":[{"id":"010067900B9C4000","region":null}]},{"id":"0ac50959-23fc-42ae-a647-13da6a94f973","directory":"santa-tracker","title":"Santa Tracker","compatibility":99,"releases":[{"id":"01000BA00CD2C000","region":null}]},{"id":"0adea618-0369-450f-a244-7c6c2442783b","directory":"ty-the-tasmanian-tiger-2-bush-rescue-hd","title":"TY the Tasmanian Tiger™ 2: Bush Rescue™ HD","compatibility":2,"releases":[{"id":"0100BC701417A000","region":null}]},{"id":"0adefa10-5d61-4e49-8f1d-41669fb062bf","directory":"knowledge-trainer-trivia","title":"Knowledge Trainer: Trivia","compatibility":99,"releases":[{"id":"01004CD00F690000","region":null}]},{"id":"0ae27399-f21f-4adf-82ca-5caedffb80b9","directory":"apple-slash","title":"Apple Slash","compatibility":99,"releases":[{"id":"01008E1012FE6000","region":null}]},{"id":"0aefa7c9-a4e6-4026-b15a-1add97a58f1d","directory":"war-titans","title":"War Titans","compatibility":99,"releases":[{"id":"0100C10012EFC000","region":null}]},{"id":"0af3d94c-d9f4-4988-8fdb-a5f0728dbc6d","directory":"lanternium","title":"Lanternium","compatibility":99,"releases":[{"id":"010015500F186000","region":null}]},{"id":"0b0115a1-8249-4cee-ba0c-cf6a08685df9","directory":"zombie-is-planting","title":"Zombie Is Planting","compatibility":99,"releases":[{"id":"01006C50159C8000","region":null}]},{"id":"0b06b002-eb53-448d-bb06-ade14044700f","directory":"king-oddball","title":"King Oddball","compatibility":1,"releases":[{"id":"0100B1300783E000","region":null}]},{"id":"0b09f691-4f99-476f-93cf-9a2c6da84108","directory":"the-liar-princess-and-the-blind-prince","title":"The Liar Princess and the Blind Prince","compatibility":1,"releases":[{"id":"010064B00B95C000","region":null}]},{"id":"0b0cb8d0-cc49-4a60-9f72-081157c5d75e","directory":"jewel-wars","title":"JEWEL WARS","compatibility":99,"releases":[{"id":"0100B5E00D218000","region":null}]},{"id":"0b1290ad-9eed-42db-82db-cd82c1ada8ab","directory":"tomb-of-the-mask","title":"Tomb of the Mask","compatibility":99,"releases":[{"id":"0100EE701494A000","region":null}]},{"id":"0b217259-e59c-433f-8e8e-51790584184d","directory":"candy-match-kiddies","title":"Candy Match Kiddies","compatibility":99,"releases":[{"id":"0100762014780000","region":null}]},{"id":"0b256889-bd0f-46fb-9adf-074877fa95b2","directory":"the-final-station","title":"The Final Station","compatibility":99,"releases":[{"id":"0100CDC00789E000","region":null}]},{"id":"0b3895de-3b17-4017-adc8-76311a24a82a","directory":"wondershot","title":"Wondershot","compatibility":99,"releases":[{"id":"0100F5D00C812000","region":null}]},{"id":"0b473c17-65dc-4d9d-8813-d4865a32c314","directory":"techno-tanks","title":"Techno Tanks","compatibility":99,"releases":[{"id":"0100F4A01487A000","region":null}]},{"id":"0b582623-02de-48e8-b1d9-2c7122e9036a","directory":"mugsters-demo","title":"Mugsters Demo","compatibility":99,"releases":[{"id":"01008F200C880000","region":null}]},{"id":"0b673328-6d4a-42a4-b4cc-35fbd5368b43","directory":"irony-curtain-from-matryoshka-with-love","title":"Irony Curtain: From Matryoshka with Love","compatibility":99,"releases":[{"id":"0100E5700CD56000","region":null}]},{"id":"0b6817ae-9367-4bb4-8f5c-dd05ad2d741c","directory":"shift-happens","title":"Shift Happens","compatibility":1,"releases":[{"id":"0100B1000AC3A000","region":null}]},{"id":"0b685090-6d17-4efd-a474-abaab70c11f4","directory":"fear-of-traffic","title":"Fear of Traffic","compatibility":99,"releases":[{"id":"0100E2800EF4A000","region":null}]},{"id":"0b708963-a0b2-4733-8c72-769dd76b1cb5","directory":"archery-club","title":"Archery Club","compatibility":1,"releases":[{"id":"0100D510169B2000","region":null}]},{"id":"0b77e0bd-3e3b-4e8b-8fb3-8ad4383dfe9a","directory":"restless-night","title":"Restless Night","compatibility":99,"releases":[{"id":"0100FF201568E000","region":null}]},{"id":"0b789aba-30ae-43b3-93fc-cbd993441bee","directory":"castle-of-no-escape","title":"Castle of no Escape","compatibility":99,"releases":[{"id":"010094F01328C000","region":null}]},{"id":"0b7acc8e-2070-40a0-95bf-4858c93d7aab","directory":"arcade-archives-track-and-field","title":"Arcade Archives TRACK & FIELD","compatibility":5,"releases":[{"id":"01002C300E630000","region":null}]},{"id":"0b8d85fc-b730-41d4-a8ed-c8f9fb967e08","directory":"super-sami-roll","title":"Super Sami Roll","compatibility":1,"releases":[{"id":"0100C69014B1E000","region":null}]},{"id":"0b94bdbb-97ff-440c-a197-c1361179d605","directory":"hulu","title":"Hulu","compatibility":5,"releases":[{"id":"0100A66003384000","region":null}]},{"id":"0ba42b2d-c6b5-4450-b853-5e4d9403c398","directory":"catan","title":"Catan","compatibility":2,"releases":[{"id":"010092C00C5EC000","region":null}]},{"id":"0bb07baa-3e2a-47a9-a28a-1a4818b2f077","directory":"the-fall","title":"The Fall","compatibility":99,"releases":[{"id":"01002DD00AF9E000","region":null}]},{"id":"0bb88805-569e-44fd-9c9f-e64607deba7c","directory":"black-hole","title":"Black Hole","compatibility":99,"releases":[{"id":"0100461007BB0000","region":null}]},{"id":"0bbd82c1-e9ad-45c7-a413-a9dce128be11","directory":"arcade-archives-alpha-mission","title":"Arcade Archives ALPHA MISSION","compatibility":99,"releases":[{"id":"01005DD00BE08000","region":null}]},{"id":"0bcf1e78-f2a9-4775-9a6d-004cec03263c","directory":"shikhondo-soul-eater","title":"Shikhondo - Soul Eater","compatibility":1,"releases":[{"id":"010061400A990000","region":null}]},{"id":"0bcf214d-cd55-4277-846d-75d326bf2bf6","directory":"no-more-heroes","title":"No More Heroes","compatibility":1,"releases":[{"id":"0100F0400F202000","region":null}]},{"id":"0bee566b-0d5d-4bd2-b974-c5b47cf19cde","directory":"bit-trip-beat","title":"BIT.TRIP BEAT","compatibility":99,"releases":[{"id":"010038B012D32000","region":null}]},{"id":"0bf9b34b-4a34-45b9-b2e5-f8fa0d67382e","directory":"jars","title":"JARS","compatibility":99,"releases":[{"id":"0100A1F0156F0000","region":null}]},{"id":"0c03a3f9-1e91-4563-bd34-05efd29bf35f","directory":"demons-rise-war-for-the-deep","title":"Demon's Rise - War for the Deep","compatibility":99,"releases":[{"id":"0100C3501094E000","region":null}]},{"id":"0c413d0c-e584-4eed-b5b6-8e983d058097","directory":"hookbots","title":"Hookbots","compatibility":99,"releases":[{"id":"0100AFA00DED4000","region":null}]},{"id":"0c461b03-9656-4448-b969-6c326d02a152","directory":"desert-child","title":"Desert Child","compatibility":99,"releases":[{"id":"01000DC00AF1C000","region":null}]},{"id":"0c519f5e-9569-4989-a5d0-d8601a2ebb0b","directory":"true-fear-forsaken-souls-part-2","title":"True Fear: Forsaken Souls - Part 2","compatibility":99,"releases":[{"id":"0100DC400E5CE000","region":null}]},{"id":"0c553c65-7dab-4b4b-bf33-a839a0e9a2f2","directory":"spider-solitaire-collection","title":"Spider Solitaire Collection","compatibility":99,"releases":[{"id":"0100ED3014E6A000","region":null}]},{"id":"0c5bd2c0-69db-4f07-bbb5-f3204704aa80","directory":"the-colonists","title":"The Colonists","compatibility":99,"releases":[{"id":"010086901425C000","region":null}]},{"id":"0c65fa44-df8d-4236-b6a4-2dd923e6204f","directory":"ttv2","title":"TTV2","compatibility":99,"releases":[{"id":"0100752011628000","region":null}]},{"id":"0c673305-4337-49de-855e-8ab6a5046aaa","directory":"sega-ages-virtua-racing","title":"SEGA AGES Virtua Racing","compatibility":1,"releases":[{"id":"010054400D2E6000","region":null}]},{"id":"0c6cc0bc-22d7-4914-9671-421b2d2feb32","directory":"pizza-titan-ultra","title":"Pizza Titan Ultra","compatibility":99,"releases":[{"id":"01004A900C352000","region":null}]},{"id":"0c6e7682-cfbe-459b-b73b-77e0eaab238f","directory":"night-trap-25th-anniversary-edition","title":"Night Trap - 25th Anniversary Edition","compatibility":4,"releases":[{"id":"0100D8500A692000","region":null}]},{"id":"0c7506fb-45ac-403d-9902-1d74d2918bbf","directory":"nexomon-extinction","title":"Nexomon: Extinction","compatibility":1,"releases":[{"id":"01005A5011A44000","region":null}]},{"id":"0c8900f8-4321-4df7-8485-fd9339ccc781","directory":"exertus-redux","title":"Exertus: Redux","compatibility":99,"releases":[{"id":"0100453016AF2000","region":null}]},{"id":"0c8b7d98-bc0b-4c09-b006-5e9acb4b835d","directory":"ovivo","title":"OVIVO","compatibility":5,"releases":[{"id":"010045F00D56C000","region":null}]},{"id":"0c90984a-5337-4015-abb1-e75f27083139","directory":"timothy-and-the-mysterious-forest","title":"Timothy and the Mysterious Forest","compatibility":99,"releases":[{"id":"0100393013A10000","region":null}]},{"id":"0cb93916-a25d-481f-a2e8-e4a5d28762f6","directory":"dandy-dungeon-legend-of-brave-yamada-","title":"Dandy Dungeon - Legend of Brave Yamada -","compatibility":1,"releases":[{"id":"0100DFB00D808000","region":null}]},{"id":"0cc372da-3c58-4098-b1ce-c1708f0fc27f","directory":"outbreak-the-nightmare-chronicles","title":"Outbreak The Nightmare Chronicles","compatibility":99,"releases":[{"id":"01006EE013100000","region":null}]},{"id":"0ccf686d-f5c7-4515-ac14-fcc84e9d3f1c","directory":"love-letter-from-thief-x","title":"Love Letter from Thief X","compatibility":99,"releases":[{"id":"0100D36011AD4000","region":null}]},{"id":"0cdd4cdc-ddca-43b6-b7bf-8a07a9677c98","directory":"sky-mercenaries-redux","title":"Sky Mercenaries Redux","compatibility":99,"releases":[{"id":"0100668010DC2000","region":null}]},{"id":"0ce625b9-a945-46e3-a1c2-cd1a67c9b34a","directory":"poker-pretty-girls-battle-texas-holdem","title":"Poker Pretty Girls Battle: Texas Hold'em","compatibility":99,"releases":[{"id":"01003B9014D3E000","region":null}]},{"id":"0cf26c5e-4414-48f3-b0ad-f343fcfd2270","directory":"tennis-1920s","title":"Tennis 1920s","compatibility":99,"releases":[{"id":"010022300F856000","region":null}]},{"id":"0d0be9c3-8acb-451f-9490-2f769d7f2740","directory":"cyber-shadow","title":"Cyber Shadow","compatibility":99,"releases":[{"id":"01008D100DE46000","region":null}]},{"id":"0d20e2c3-95dc-48d8-897f-579fef4c1afa","directory":"velocity2x","title":"Velocity2X","compatibility":4,"releases":[{"id":"010002800B818000","region":null}]},{"id":"0d3b20b1-106f-4db7-b43d-1170f331f64a","directory":"guilty-gear","title":"GUILTY GEAR","compatibility":99,"releases":[{"id":"0100C8400B248000","region":null}]},{"id":"0d3be0bc-54fb-4ec3-949a-cb15c423d1db","directory":"classic-solitaire","title":"Classic Solitaire","compatibility":99,"releases":[{"id":"01000CA014A10000","region":null}]},{"id":"0d3f61e3-7144-4c1c-9dad-428e27074241","directory":"zhed","title":"ZHED","compatibility":99,"releases":[{"id":"010089300FDC2000","region":null}]},{"id":"0d3f6e0d-277b-4df3-8435-e63693e40d23","directory":"case-animatronics","title":"CASE: Animatronics","compatibility":99,"releases":[{"id":"0100EA700EC90000","region":null}]},{"id":"0d4fbf02-bc80-464a-8172-9f0afe512c8e","directory":"chicken-police-paint-it-red","title":"Chicken Police – Paint it RED!","compatibility":99,"releases":[{"id":"0100713010E7A000","region":null}]},{"id":"0d6448ab-df39-4dad-97f4-4e53ac87c86a","directory":"aca-neogeo-neo-turf-masters","title":"ACA NEOGEO NEO TURF MASTERS","compatibility":1,"releases":[{"id":"01002E70032E8000","region":null}]},{"id":"0d68e3f8-3d38-453f-8e05-db189e2a6557","directory":"the-keep","title":"The Keep","compatibility":99,"releases":[{"id":"0100005006BA4000","region":null}]},{"id":"0d6eb6fe-c6fa-494f-b8bb-18c66de7130a","directory":"arcade-archives-rygar","title":"Arcade Archives RYGAR","compatibility":99,"releases":[{"id":"0100C2D00981E000","region":null}]},{"id":"0d981092-cf70-4e29-9d72-e16a58d3471b","directory":"witchspring3-re-fine]-the-story-of-eirudy","title":"WitchSpring3 [Re:Fine] - The Story of Eirudy","compatibility":99,"releases":[{"id":"010091F014E5C000","region":null}]},{"id":"0d9e6c56-c35e-408e-be50-e9afaf838117","directory":"xenogunner","title":"Xenogunner","compatibility":99,"releases":[{"id":"010039300B6A2000","region":null}]},{"id":"0dad4f72-71b8-4335-81d8-199bfac28a85","directory":"reds-kingdom","title":"Red's Kingdom","compatibility":4,"releases":[{"id":"010006600AE9C000","region":null}]},{"id":"0db0b69f-d6f4-4037-a62f-4c760638e798","directory":"uncharted-tides-port-royal","title":"Uncharted Tides: Port Royal","compatibility":99,"releases":[{"id":"0100CC8011000000","region":null}]},{"id":"0dc06167-6f7b-438f-a87d-d0947370e3cc","directory":"depth-of-extinction","title":"Depth of Extinction","compatibility":99,"releases":[{"id":"010096300DE22000","region":null}]},{"id":"0dca4859-aeed-4ef1-b221-72a3d6088fe7","directory":"knights-of-pen-and-paper-1-deluxier-edition","title":"Knights of Pen and Paper +1 Deluxier Edition","compatibility":1,"releases":[{"id":"0100D3F008746000","region":null}]},{"id":"0dccce4b-97b6-4028-bf28-28c50aa42b14","directory":"the-caligula-effect-overdose","title":"The Caligula Effect: Overdose","compatibility":3,"releases":[{"id":"010069100B7F0000","region":null}]},{"id":"0dd3fa06-4e1e-41bc-b514-0890b4839712","directory":"fossil-hunters","title":"Fossil Hunters","compatibility":1,"releases":[{"id":"0100CA500756C000","region":null}]},{"id":"0dd5d393-48a2-4bb7-b00f-8881197b3608","directory":"minigolf-adventure","title":"Minigolf Adventure","compatibility":99,"releases":[{"id":"01005500158D0000","region":null}]},{"id":"0de0bf2f-5119-45f0-be0c-da1aeea1704b","directory":"pianista","title":"PIANISTA","compatibility":1,"releases":[{"id":"010077300A86C000","region":null}]},{"id":"0de6e9da-8164-4e26-8369-8b8492f6e798","directory":"dungeon-solver","title":"Dungeon Solver","compatibility":99,"releases":[{"id":"01008300128F2000","region":null}]},{"id":"0deac9b4-bfe0-4e23-8fb1-002d4500dbce","directory":"umihara-kawase-fresh","title":"Umihara Kawase Fresh!","compatibility":5,"releases":[{"id":"0100DE400D7B8000","region":null}]},{"id":"0deb16b5-373d-419b-8d68-9409e42bc274","directory":"ragdoll-fighter","title":"Ragdoll Fighter","compatibility":0,"releases":[{"id":"0100400013A46000","region":null}]},{"id":"0df2eeab-b43c-4762-8e57-61bce5bd6ad8","directory":"unsighted","title":"UNSIGHTED","compatibility":99,"releases":[{"id":"0100FF6014BEE000","region":null}]},{"id":"0e037590-ab54-411e-9be5-c6c59532ed46","directory":"undead-darlings-no-cure-for-love","title":"Undead Darlings ~no cure for love~","compatibility":99,"releases":[{"id":"0100ED301196A000","region":null}]},{"id":"0e1328f0-c085-49cf-8c2c-f0eb576cdb9e","directory":"golf-zero","title":"Golf Zero","compatibility":1,"releases":[{"id":"01007EA01252E000","region":null}]},{"id":"0e1bfa86-4406-4a17-aad8-728c11e86df0","directory":"shantae-riskys-revenge-directors-cut","title":"Shantae: Risky's Revenge - Director's Cut","compatibility":0,"releases":[{"id":"0100ADA012370000","region":null}]},{"id":"0e1f249c-d0b9-43ab-a0fb-77b932e9e09e","directory":"please-dont-touch-anything-classic","title":"Please, Don't Touch Anything: Classic","compatibility":99,"releases":[{"id":"0100CC000DA44000","region":null}]},{"id":"0e20bf71-3636-40f4-b122-1fb4e51cdd57","directory":"hyperspace-delivery-service","title":"Hyperspace Delivery Service","compatibility":99,"releases":[{"id":"010049000F6B0000","region":null}]},{"id":"0e24b468-c12b-4729-a4c1-a3fe29da1173","directory":"happy-animals-bowling","title":"Happy Animals Bowling","compatibility":99,"releases":[{"id":"01009FB00EE4A000","region":null}]},{"id":"0e44f104-c215-490d-b861-256fcbd4a795","directory":"inmost","title":"INMOST","compatibility":0,"releases":[{"id":"0100F1401161E000","region":null}]},{"id":"0e49aed5-61ad-4869-a23f-9f3afb011aa5","directory":"cabelas-the-hunt-championship-edition","title":"Cabela's: The Hunt - Championship Edition","compatibility":4,"releases":[{"id":"0100E24004510000","region":null}]},{"id":"0e6b5224-89f8-48d0-9862-439c102f91b6","directory":"venus-improbable-dream","title":"Venus: Improbable Dream","compatibility":99,"releases":[{"id":"0100F1B015400000","region":null}]},{"id":"0e715bb8-f834-4b2b-b10f-e8b6efd0c293","directory":"cafeteria-nipponica","title":"Cafeteria Nipponica","compatibility":1,"releases":[{"id":"01008E300D136000","region":null}]},{"id":"0e72c97b-edc2-4cda-a753-b5509ef2632b","directory":"city-traffic-driver","title":"City Traffic Driver","compatibility":99,"releases":[{"id":"0100D4C016B08000","region":null}]},{"id":"0e758144-2757-4fd7-83d7-725d1089c398","directory":"aca-neogeo-fatal-fury-2","title":"ACA NEOGEO FATAL FURY 2","compatibility":99,"releases":[{"id":"0100CAF001DBE000","region":null}]},{"id":"0e7d2809-5822-4325-b8f7-35df5931b36e","directory":"planet-rix-13","title":"Planet RIX-13","compatibility":99,"releases":[{"id":"01001B100C3D4000","region":null}]},{"id":"0e877a15-f53c-447d-ab55-e7bb9977881d","directory":"tanzia","title":"Tanzia","compatibility":99,"releases":[{"id":"01004DF007564000","region":null}]},{"id":"0e887f3e-a24a-422e-be34-3b439fba02a1","directory":"spirit-roots","title":"Spirit Roots","compatibility":0,"releases":[{"id":"01000AC00F5EC000","region":null}]},{"id":"0e8df0a7-8514-4263-b6df-2af3ba853ab5","directory":"lets-sing-2019","title":"Let's Sing 2019","compatibility":99,"releases":[{"id":"010062200CAD2000","region":null}]},{"id":"0e8edca4-50a6-4ef2-853d-24fffb1e4574","directory":"aegis-defenders-demo","title":"Aegis Defenders demo","compatibility":99,"releases":[{"id":"010064500AF72000","region":null}]},{"id":"0e943a00-7b51-4a6e-8388-9a466a877760","directory":"fighting-ex-layer-another-dash","title":"FIGHTING EX LAYER ANOTHER DASH","compatibility":1,"releases":[{"id":"0100D02014048000","region":null}]},{"id":"0e9de394-d679-4d27-9856-39369cbace31","directory":"party-hard-2","title":"Party Hard 2","compatibility":1,"releases":[{"id":"010022801217E000","region":null}]},{"id":"0ea60a0f-3131-4396-93de-9b99dcff2670","directory":"doodle-derby","title":"Doodle Derby","compatibility":4,"releases":[{"id":"0100F2C00F060000","region":null}]},{"id":"0eb86a91-8685-4a51-bc14-867b616df8e6","directory":"2weistein-the-curse-of-the-red-dragon","title":"2weistein – The Curse of the Red Dragon","compatibility":99,"releases":[{"id":"0100E20012886000","region":null}]},{"id":"0ebe4caf-e111-4b92-b7af-d838b4070084","directory":"inventioneers","title":"Inventioneers","compatibility":99,"releases":[{"id":"0100DAC00BB52000","region":null}]},{"id":"0ece7af1-8cf5-47c1-97c2-77dd10a01b53","directory":"bleep-bloop","title":"Bleep Bloop","compatibility":0,"releases":[{"id":"0100AEA00CCAE000","region":null}]},{"id":"0ee10f69-5e32-4968-9d8d-26f4a1f97920","directory":"beyond-blue","title":"Beyond Blue","compatibility":99,"releases":[{"id":"0100DBC012C9E000","region":null}]},{"id":"0ee7c2ac-9722-49f0-918c-dd599c94f72a","directory":"super-magbot","title":"Super Magbot","compatibility":1,"releases":[{"id":"010018D013CAA000","region":null}]},{"id":"0eea9292-2f99-455d-adcf-4e5e45e6d434","directory":"garden-paws","title":"Garden Paws","compatibility":99,"releases":[{"id":"01009A000C35C000","region":null}]},{"id":"0eed6725-c336-48b2-855c-7852ac746fec","directory":"the-red-strings-club","title":"The Red Strings Club","compatibility":5,"releases":[{"id":"0100EB100D17C000","region":null}]},{"id":"0ef21a6c-ba99-48aa-9823-a4c4086872bb","directory":"the-manga-works","title":"The Manga Works","compatibility":0,"releases":[{"id":"0100A3500E2D8000","region":null}]},{"id":"0efbad4b-26ff-4ee8-87b8-0867017a7b09","directory":"mulaka","title":"Mulaka","compatibility":4,"releases":[{"id":"0100211005E94000","region":null}]},{"id":"0f0bcd40-fa62-438d-b1b4-61d0255de62a","directory":"dream-house-days-dx","title":"Dream House Days DX","compatibility":99,"releases":[{"id":"0100BE9014420000","region":null}]},{"id":"0f0fd0ab-7889-4553-aeba-02bef5b0ea8f","directory":"miden-tower","title":"Miden Tower","compatibility":99,"releases":[{"id":"01001EB011D38000","region":null}]},{"id":"0f137050-e378-4568-9511-b88b7acaf36e","directory":"goosebumps-the-game","title":"Goosebumps The Game","compatibility":3,"releases":[{"id":"0100B8000B190000","region":null}]},{"id":"0f177323-a9a9-4007-ae13-9b8b80f7e26f","directory":"farm-expert-2018-for-nintendo-switch","title":"Farm Expert 2018 for Nintendo Switch","compatibility":99,"releases":[{"id":"0100BB9009FC8000","region":null}]},{"id":"0f183135-c12d-4bfa-a70c-2f39b1424497","directory":"beach-bounce-remastered","title":"Beach Bounce Remastered","compatibility":99,"releases":[{"id":"01004060145C0000","region":null}]},{"id":"0f22e4c4-27d8-41a7-88ed-6d471a3f27aa","directory":"piczle-cross-adventure","title":"Piczle Cross Adventure","compatibility":99,"releases":[{"id":"01000EE010B40000","region":null}]},{"id":"0f23ea9a-764a-42a2-b5b1-1446c509cb2f","directory":"sacred-stones","title":"Sacred Stones","compatibility":99,"releases":[{"id":"01005CE00F970000","region":null}]},{"id":"0f2423f2-d962-4068-9ad5-078bc2062ae8","directory":"from-earth-to-heaven","title":"From Earth To Heaven","compatibility":99,"releases":[{"id":"01000EE015C66000","region":null}]},{"id":"0f2bad5d-bede-4aba-ae55-3bd6e9394c8e","directory":"fuser","title":"FUSER™","compatibility":2,"releases":[{"id":"0100E1F013674000","region":null},{"id":"010089D00E28A000","region":null}]},{"id":"0f31bd9d-f6be-4d4a-851a-4d462a22adc5","directory":"dicey-dungeons","title":"Dicey Dungeons","compatibility":1,"releases":[{"id":"0100BBF011394000","region":null}]},{"id":"0f351c74-acde-4957-8239-a25b8c34a7db","directory":"fifa-18","title":"FIFA 18","compatibility":5,"releases":[{"id":"0100F7B002340000","region":null}]},{"id":"0f36f79f-d2cc-49d6-b694-89ff3d1d4245","directory":"poi-explorer-edition","title":"Poi: Explorer Edition","compatibility":1,"releases":[{"id":"01005EC0039E4000","region":null}]},{"id":"0f39289b-563b-41e1-9b4a-c6b796350d04","directory":"arcade-archives-shusse-ozumo","title":"Arcade Archives Shusse Ozumo","compatibility":4,"releases":[{"id":"01007A4009834000","region":null}]},{"id":"0f3f1767-0178-4324-ace4-4ec3ca20da24","directory":"syberia","title":"Syberia","compatibility":5,"releases":[{"id":"0100421003FD4000","region":null}]},{"id":"0f52d11c-8d5f-4f41-9fe5-93da4d34059e","directory":"kakuro-magic","title":"Kakuro Magic","compatibility":99,"releases":[{"id":"0100137011172000","region":null}]},{"id":"0f53289b-a70e-46d7-b6e4-8a08c091133f","directory":"gleaner-heights","title":"Gleaner Heights","compatibility":5,"releases":[{"id":"0100D6300ED2E000","region":null}]},{"id":"0f5b105f-82a3-4545-9c64-842b4934bdc9","directory":"new-star-manager","title":"New Star Manager","compatibility":99,"releases":[{"id":"010082900C5FA000","region":null}]},{"id":"0f5f93bd-5372-4f4e-afbb-07658474c00c","directory":"save-your-nuts","title":"Save Your Nuts","compatibility":99,"releases":[{"id":"010091000F72C000","region":null}]},{"id":"0f624235-ee78-4ce5-81e9-5ff6f086ccdf","directory":"monster-truck-arena","title":"Monster Truck Arena","compatibility":99,"releases":[{"id":"0100098016148000","region":null}]},{"id":"0f688bcc-1f73-4608-b205-ca2c4221cf3f","directory":"accidental-queens-collection","title":"Accidental Queens Collection","compatibility":99,"releases":[{"id":"010053601357E000","region":null}]},{"id":"0f7fe8f6-4c28-4c94-a1b3-224ea641687a","directory":"slide-stars","title":"Slide Stars","compatibility":99,"releases":[{"id":"010010D011E1C000","region":null}]},{"id":"0f99c46f-1ae2-4c0e-a812-bc0a1d2042bc","directory":"space-dave","title":"Space Dave","compatibility":99,"releases":[{"id":"0100E28002D74000","region":null}]},{"id":"0f9cb2e4-c59f-467c-8339-61d81ae4e3c8","directory":"tank-mechanic-simulator","title":"Tank Mechanic Simulator","compatibility":99,"releases":[{"id":"0100E06012BB4000","region":null}]},{"id":"0fa0aced-3a76-4af2-bd06-68298bfa102c","directory":"smoke-and-sacrifice","title":"Smoke And Sacrifice","compatibility":99,"releases":[{"id":"0100207007EB2000","region":null}]},{"id":"0fae18c3-2432-41b3-a8cd-e897d03c4918","directory":"badland-game-of-the-year-edition","title":"Badland: Game of the Year Edition","compatibility":99,"releases":[{"id":"0100D730151C8000","region":null}]},{"id":"0fb08e59-b003-4491-981a-f7855ae0e398","directory":"quell-reflect","title":"Quell Reflect","compatibility":99,"releases":[{"id":"0100111012438000","region":null}]},{"id":"0fb1ee65-50fd-4bfb-8b47-e7209f305d5e","directory":"lethis-path-of-progress","title":"Lethis - Path of Progress","compatibility":99,"releases":[{"id":"0100CF600F366000","region":null}]},{"id":"0fb5149d-233c-4e1d-acfc-1aa99d75db4f","directory":"happy-game","title":"Happy Game","compatibility":99,"releases":[{"id":"010031D013A4E000","region":null}]},{"id":"0fb63a1d-96c4-4350-a303-3026d964d050","directory":"guardian-of-lore","title":"Guardian of Lore","compatibility":99,"releases":[{"id":"010092B016A18000","region":null}]},{"id":"0fcaabfc-629e-4f64-83d1-52282026ff59","directory":"offroad-mini-racing","title":"Offroad Mini Racing","compatibility":99,"releases":[{"id":"0100EE0014072000","region":null}]},{"id":"0fcd1a55-096e-4ff0-b886-ef23209e5550","directory":"narita-boy","title":"Narita Boy","compatibility":0,"releases":[{"id":"010062200E912000","region":null}]},{"id":"0fe2eada-c107-4749-a249-085a039e28a2","directory":"kings-bounty-ii","title":"King's Bounty II","compatibility":4,"releases":[{"id":"010026F013B3A000","region":null}]},{"id":"0fe4fb97-849e-490a-8c0d-de09c5843e89","directory":"best-day-ever","title":"Best Day Ever","compatibility":99,"releases":[{"id":"010022D0142BE000","region":null}]},{"id":"0fee546a-4f9b-4b79-be40-2be921f861f5","directory":"new-pokemon-snap","title":"New Pokémon Snap™","compatibility":1,"releases":[{"id":"0100F4300BF2C000","region":null}]},{"id":"0ff2bb98-8e26-4a1e-8413-874520b28a3b","directory":"nerf-legends","title":"Nerf Legends","compatibility":99,"releases":[{"id":"0100D0A012D0E000","region":null}]},{"id":"100c186b-1bd2-4bbc-81a0-c90dfed7b9ae","directory":"atelier-lulua-~the-scion-of-arland~","title":"Atelier Lulua ~The Scion of Arland~","compatibility":4,"releases":[{"id":"0100B1400CD50000","region":null}]},{"id":"101fff51-1174-4946-94ac-5a03b2e39db2","directory":"odysseus-kosmos-and-his-robot-quest","title":"Odysseus Kosmos and his Robot Quest","compatibility":99,"releases":[{"id":"0100353013D06000","region":null}]},{"id":"1022160e-98fe-40c3-9af0-fdf2ba8e2e2f","directory":"bqm-blockquest-maker-","title":"BQM -BlockQuest Maker-","compatibility":99,"releases":[{"id":"0100CA400B6D0000","region":null}]},{"id":"1022b89b-33c3-4537-af8b-efc816a24c57","directory":"tilt-pack","title":"Tilt Pack","compatibility":99,"releases":[{"id":"010026E0104C0000","region":null}]},{"id":"1033f8fc-3e5d-4349-9917-a462c805fef7","directory":"youtube","title":"YouTube","compatibility":5,"releases":[{"id":"01003A400C3DA000","region":null}]},{"id":"1047febf-8ace-45a8-b237-1c0f66462089","directory":"aca-neogeo-samurai-shodown-ii","title":"ACA NEOGEO SAMURAI SHODOWN II","compatibility":99,"releases":[{"id":"010052B00871C000","region":null}]},{"id":"1062094a-c04d-497f-8a00-2a3c48f9a8bc","directory":"root-double-before-crime-after-days-xtend-edition","title":"Root Double -Before Crime * After Days- Xtend Edition","compatibility":5,"releases":[{"id":"0100936011556000","region":null}]},{"id":"1072f1d3-a2e1-44e1-86be-aba1023f04ca","directory":"power-racing-bundle","title":"Power Racing Bundle","compatibility":99,"releases":[{"id":"01004A301226A000","region":null}]},{"id":"10782f2e-4be3-47d3-a907-662f682927dd","directory":"park-inc","title":"Park Inc","compatibility":99,"releases":[{"id":"010048A014B8E000","region":null}]},{"id":"109c0c1b-4463-4d71-91a3-1cd5969bf849","directory":"syberia-1-and-2","title":"Syberia 1 & 2","compatibility":5,"releases":[{"id":"01004BB00421E000","region":null}]},{"id":"10a2059c-a34a-4aef-9452-6a3a4772b2b5","directory":"towaga-among-shadows","title":"Towaga: Among Shadows","compatibility":0,"releases":[{"id":"010062900E610000","region":null}]},{"id":"10b11ea8-768f-4edc-b50b-e3bfd4a3f136","directory":"fight-of-animals-arena","title":"Fight of Animals: Arena","compatibility":99,"releases":[{"id":"0100AC6015996000","region":null}]},{"id":"10b6e65b-3646-4484-992e-19d3363218a7","directory":"marbles-rush","title":"Marbles Rush","compatibility":99,"releases":[{"id":"010001601590E000","region":null}]},{"id":"10c8133d-8b43-4178-a345-a809ea1c9bea","directory":"my-diggy-dog-2","title":"My Diggy Dog 2","compatibility":0,"releases":[{"id":"01008EB012608000","region":null}]},{"id":"10c97f95-a512-454a-b4ba-c26d9fd7eebf","directory":"rolld","title":"Roll'd","compatibility":99,"releases":[{"id":"0100B7200FC96000","region":null}]},{"id":"10ccfae7-7a1e-4461-94cf-ea7a2029fea8","directory":"worm-jazz","title":"Worm Jazz","compatibility":99,"releases":[{"id":"01009CD012CC0000","region":null}]},{"id":"10cdea6c-df89-4447-851b-80bc8532d925","directory":"attack-on-titan-2","title":"Attack on Titan 2","compatibility":1,"releases":[{"id":"010034500641A000","region":null}]},{"id":"10dc0eb2-5299-4bc8-a28e-10c1972dc9e4","directory":"unepic","title":"Unepic","compatibility":1,"releases":[{"id":"01008F80049C6000","region":null}]},{"id":"10dc5578-4ee2-48d7-8c24-8e32516ffabd","directory":"johnny-turbos-arcade-express-raider","title":"Johnny Turbo’s Arcade: Express Raider","compatibility":99,"releases":[{"id":"0100378002CCA000","region":null}]},{"id":"10e26e57-d3e7-4bc6-b763-fbd6f0169a02","directory":"monster-crown","title":"Monster Crown","compatibility":0,"releases":[{"id":"0100E0600C78E000","region":null}]},{"id":"10e52b36-bf7c-4cf4-9232-4a048ef1924c","directory":"among-the-sleep-enhanced-edition","title":"Among the Sleep - Enhanced Edition","compatibility":4,"releases":[{"id":"010046500C8D2000","region":null}]},{"id":"10f563ce-ed19-4f5a-91d3-151b137663b7","directory":"takorita-meets-fries","title":"Takorita Meets Fries","compatibility":99,"releases":[{"id":"0100E02015EDA000","region":null}]},{"id":"10f927ec-54cc-455e-972f-9a1adbf175a9","directory":"actraiser-renaissance","title":"Actraiser Renaissance","compatibility":0,"releases":[{"id":"010049E013134000","region":null}]},{"id":"10fc0124-ac41-4eda-b8f4-6272b735fc73","directory":"warsaw","title":"WARSAW","compatibility":99,"releases":[{"id":"0100DFB011B12000","region":null}]},{"id":"10ff9ebd-664e-4d61-9810-bc3b3b6de97e","directory":"shinsekai-into-the-depths","title":"Shinsekai Into the Depths™","compatibility":2,"releases":[{"id":"01004EE0104F6000","region":null}]},{"id":"1109a1bd-5f14-440a-a68e-7bd95c247061","directory":"embracelet","title":"Embracelet","compatibility":99,"releases":[{"id":"010071B012940000","region":null}]},{"id":"110c6f1a-cc4d-4f47-beea-df33f6a54902","directory":"blitz-breaker","title":"Blitz Breaker","compatibility":99,"releases":[{"id":"0100C7001526C000","region":null}]},{"id":"11254983-27e3-417d-9a7e-24f4996a03a7","directory":"the-jackbox-party-pack-4","title":"The Jackbox Party Pack 4","compatibility":99,"releases":[{"id":"0100E1F003EE8000","region":null}]},{"id":"11271371-4d58-4de3-a4ef-4cfeee69fa4a","directory":"commander-keen-in-keen-dreams-definitive-edition","title":"Commander Keen in Keen Dreams: Definitive Edition","compatibility":99,"releases":[{"id":"0100E400129EC000","region":null}]},{"id":"11282353-0ead-467f-a245-428055dada32","directory":"castaway-paradise","title":"Castaway Paradise","compatibility":99,"releases":[{"id":"0100D1101445C000","region":null}]},{"id":"11297484-d3af-43cb-acf7-480308955bd5","directory":"sakura-santa","title":"Sakura Santa","compatibility":99,"releases":[{"id":"0100D99016B22000","region":null}]},{"id":"1134264f-4c31-45aa-ae1b-efca7d07f60c","directory":"the-good-life","title":"The Good Life","compatibility":99,"releases":[{"id":"0100B1B015ABA000","region":null}]},{"id":"1136a8bb-393d-445a-975a-2d82e8992593","directory":"sorry-james","title":"Sorry, James","compatibility":99,"releases":[{"id":"01009EA00F180000","region":null}]},{"id":"1136ccb0-553b-450d-adef-d3a5dd6a4597","directory":"aca-neogeo-sengoku","title":"ACA NEOGEO SENGOKU","compatibility":1,"releases":[{"id":"0100D170038EA000","region":null}]},{"id":"11392d80-6e7a-4075-8231-d1043559a0a0","directory":"duck-life-adventure","title":"Duck Life Adventure","compatibility":99,"releases":[{"id":"01005BC012C66000","region":null}]},{"id":"113b01dc-a1fb-4daf-b7d9-749adccabc07","directory":"donut-county","title":"Donut County","compatibility":0,"releases":[{"id":"0100E2800C364000","region":null}]},{"id":"113c19b4-7bce-420e-8758-43af88f817dc","directory":"bonkies","title":"Bonkies","compatibility":99,"releases":[{"id":"01008E20128DE000","region":null}]},{"id":"114e4565-b61c-4156-9566-5e2929511c7b","directory":"millie","title":"Millie","compatibility":99,"releases":[{"id":"0100976008FBE000","region":null}]},{"id":"11603e8a-d5b8-4e58-a75c-f3e4949aff9b","directory":"retrograde-arena","title":"Retrograde Arena","compatibility":99,"releases":[{"id":"0100802011A2A000","region":null}]},{"id":"1168c41b-817f-4c6d-9bc9-2b58103eb3a8","directory":"chess-knights-shinobi","title":"Chess Knights: Shinobi","compatibility":99,"releases":[{"id":"01009D6013CB0000","region":null}]},{"id":"117be7d2-af9b-4125-b03c-86e3107cf968","directory":"always-sometimes-monsters","title":"Always Sometimes Monsters","compatibility":99,"releases":[{"id":"0100895013EE0000","region":null}]},{"id":"117ce0a9-0000-4d3f-8dcc-76cbcb13f6a6","directory":"lost-sphear","title":"LOST SPHEAR","compatibility":0,"releases":[{"id":"010077B0038B2000","region":null}]},{"id":"118b0979-380f-4fa8-ae81-efbb3e69cdd2","directory":"sudoku-classic","title":"Sudoku Classic","compatibility":99,"releases":[{"id":"0100380015262000","region":null}]},{"id":"1191eb5b-8b00-44ab-8bb6-a90366998e07","directory":"word-search-by-powgi","title":"Word Search by POWGI","compatibility":99,"releases":[{"id":"0100F9A008AD6000","region":null}]},{"id":"1192ee2a-4dbf-43be-be82-083bd4e22ba7","directory":"braveland-trilogy","title":"Braveland Trilogy","compatibility":99,"releases":[{"id":"0100A5B00D3D2000","region":null}]},{"id":"11afb680-d98d-4134-843c-3d42e64d6b9c","directory":"namco-museum-r-archives-vol-1","title":"NAMCO MUSEUM® ARCHIVES Vol 1","compatibility":2,"releases":[{"id":"010084E010E18000","region":null}]},{"id":"11ba351e-d67a-4cbd-a9a3-98f1cd5cc64e","directory":"lets-sing-country","title":"Let's Sing Country","compatibility":99,"releases":[{"id":"0100E5A00DF60000","region":null}]},{"id":"11beb21e-9824-477d-b718-fb6657de11c1","directory":"choices-that-matter-and-their-heroes-were-lost","title":"Choices That Matter: And Their Heroes Were Lost","compatibility":99,"releases":[{"id":"01006680132F0000","region":null}]},{"id":"11c396e0-d1e4-4d60-97b0-1ca022203a84","directory":"attack-of-the-toy-tanks","title":"Attack of the Toy Tanks","compatibility":99,"releases":[{"id":"010039600E7AC000","region":null}]},{"id":"11c39e2b-b2e5-4d72-b475-6a3830909881","directory":"save-me-mr-tako-definitive-edition","title":"Save me Mr Tako: Definitive Edition","compatibility":99,"releases":[{"id":"010099601473E000","region":null}]},{"id":"11d05985-31e7-4901-8434-2d02e816f286","directory":"the-saviors-gang","title":"The Savior's Gang","compatibility":99,"releases":[{"id":"01002BA00C7CE000","region":null}]},{"id":"11dcbc76-1052-4934-b09e-4fd007ca3445","directory":"ragtag-adventurers","title":"Ragtag Adventurers","compatibility":99,"releases":[{"id":"010032200BBC0000","region":null}]},{"id":"11e10014-39bd-4b5b-aebe-bc043e56da4c","directory":"dream-daddy-a-dad-dating-simulator","title":"Dream Daddy: A Dad Dating Simulator","compatibility":99,"releases":[{"id":"0100BF500E94E000","region":null}]},{"id":"11e6b926-1b79-4ce7-abb9-f5616c808a81","directory":"aca-neogeo-the-king-of-fighters-95","title":"ACA NEOGEO THE KING OF FIGHTERS '95","compatibility":99,"releases":[{"id":"01009DC001DB6000","region":null}]},{"id":"11e73b84-a764-4542-8bb3-24cecb6e2f64","directory":"max-the-curse-of-brotherhood","title":"Max: The Curse of Brotherhood","compatibility":0,"releases":[{"id":"01001C9007614000","region":null}]},{"id":"11e9f4cd-4b32-4f3d-a640-596ad2459f4d","directory":"captain-toad-treasure-tracker","title":"Captain Toad: Treasure Tracker","compatibility":0,"releases":[{"id":"01009BF0072D4000","region":null}]},{"id":"12111a8c-17f7-402f-8781-5d234ee265d1","directory":"just-dance-2018","title":"Just Dance 2018","compatibility":0,"releases":[{"id":"0100A0500348A000","region":null}]},{"id":"12126413-acd8-4ccc-8e06-58ae33b985d0","directory":"siegecraft-commander","title":"Siegecraft Commander","compatibility":99,"releases":[{"id":"010016B005CF8000","region":null}]},{"id":"121294f6-90f0-4a41-b720-e35e03cfc887","directory":"mercenaries-blaze-dawn-of-the-twin-dragons","title":"Mercenaries Blaze: Dawn of the Twin Dragons","compatibility":0,"releases":[{"id":"0100A790133FC000","region":null}]},{"id":"12316866-554e-49ff-8c73-8be31235f594","directory":"spot-the-differences-party","title":"Spot The Differences: Party!","compatibility":99,"releases":[{"id":"010052100D1B4000","region":null}]},{"id":"1231e9f7-123d-4051-b73f-4eaf1320a82e","directory":"rainbocorns","title":"Rainbocorns","compatibility":99,"releases":[{"id":"01005EE0142F6000","region":null}]},{"id":"123bbe82-016f-4d14-8382-ee9b9456ca1a","directory":"potata-fairy-flower","title":"Potata: Fairy Flower","compatibility":5,"releases":[{"id":"01005FC010EB2000","region":null}]},{"id":"12411e4a-2981-427a-929d-d935e2ffde88","directory":"super-toy-cars-2","title":"Super Toy Cars 2","compatibility":2,"releases":[{"id":"0100C6800D770000","region":null}]},{"id":"1246f3fc-4bb3-4ff5-9acf-9ae286424cf7","directory":"the-legend-of-zelda-breath-of-the-wild","title":"The Legend of Zelda: Breath of the Wild","compatibility":1,"releases":[{"id":"01007EF00011E000","region":null}]},{"id":"1247a15e-a09f-4055-9236-9839d0c1f6a0","directory":"personality-and-psychology-premium","title":"Personality and Psychology Premium","compatibility":99,"releases":[{"id":"0100DEA00B758000","region":null}]},{"id":"124cc074-e891-43f2-8f90-5a09d2047147","directory":"she-and-the-light-bearer","title":"She and the Light Bearer","compatibility":1,"releases":[{"id":"01008CD00C5FC000","region":null}]},{"id":"124f1a2c-d833-4ffa-b5e9-08d0c2d23028","directory":"saboteur-sio","title":"Saboteur SiO","compatibility":0,"releases":[{"id":"0100D94012FE8000","region":null}]},{"id":"124fd6c9-9d3c-4a3f-8f18-24b41a5c2cdb","directory":"roki","title":"Röki","compatibility":99,"releases":[{"id":"010022600E4AE000","region":null}]},{"id":"1259a413-3b14-4f0d-bccf-2c8459b0a712","directory":"super-mario-3d-world-bowsers-fury","title":"Super Mario™ 3D World + Bowser’s Fury","compatibility":0,"releases":[{"id":"010028600EBDA000","region":null}]},{"id":"12626755-3764-4ff7-9437-50051bd6fb34","directory":"tokyo-school-life","title":"Tokyo School Life","compatibility":99,"releases":[{"id":"0100E2E00CB14000","region":null}]},{"id":"1262a7e3-1efa-4901-9ba0-5f245e084d1c","directory":"kings-of-paradise","title":"Kings of Paradise","compatibility":99,"releases":[{"id":"0100FE9013182000","region":null}]},{"id":"1272064d-6d1e-4415-8332-ddd1af2ae4b9","directory":"arcade-archives-traverse-usa","title":"Arcade Archives Traverse USA","compatibility":4,"releases":[{"id":"010029D006ED8000","region":null}]},{"id":"1280b2e2-cabe-49dd-877a-869a9e23c24f","directory":"vampires-fall-origins","title":"Vampire's Fall: Origins","compatibility":99,"releases":[{"id":"0100BD0012A68000","region":null}]},{"id":"12915b33-3c15-4dbf-9bca-5bd2fcee8565","directory":"fatal-twelve","title":"FATAL TWELVE","compatibility":99,"releases":[{"id":"010054101370E000","region":null}]},{"id":"129361a4-ab74-436a-b346-1269921d6987","directory":"jet-ski-rush","title":"Jet Ski Rush","compatibility":99,"releases":[{"id":"01004BC010D70000","region":null}]},{"id":"1297432c-533c-4d57-a48e-ba73a6907831","directory":"langrisser-i-ii","title":"Langrisser I & II","compatibility":1,"releases":[{"id":"0100BAB00E8C0000","region":null}]},{"id":"12abb349-215e-4b76-961d-6dc41b1e1a56","directory":"shinobi-blade","title":"Shinobi Blade","compatibility":99,"releases":[{"id":"0100006013A4A000","region":null}]},{"id":"12adb826-8c9c-4c3d-9361-1ce84c12a4e0","directory":"pba-pro-bowling-2021","title":"PBA Pro Bowling 2021","compatibility":3,"releases":[{"id":"0100F95013772000","region":null}]},{"id":"12ae30e3-ec20-4afd-b9fa-fc984ac93472","directory":"drag-sim-2020","title":"Drag Sim 2020","compatibility":0,"releases":[{"id":"0100B59011A1C000","region":null}]},{"id":"12b4a6a5-8361-44b3-80ba-7edc8b1dcc5e","directory":"apple-knight","title":"Apple Knight","compatibility":0,"releases":[{"id":"01004C1013548000","region":null}]},{"id":"12cd2960-6c90-48f0-8be0-6a4cb65f0b3b","directory":"sakura-swim-club","title":"Sakura Swim Club","compatibility":1,"releases":[{"id":"0100425015F7E000","region":null}]},{"id":"12d1f9b8-0ed2-46c4-8cd6-22d8f9ca5f0f","directory":"decay-of-logos","title":"Decay of Logos","compatibility":99,"releases":[{"id":"010027700FD2E000","region":null}]},{"id":"12d80c91-e1a7-4773-800b-5f6aae517f52","directory":"ittle-dew-2","title":"Ittle Dew 2+","compatibility":0,"releases":[{"id":"01004070022F0000","region":null}]},{"id":"12e16ceb-6085-4ca1-84f1-e6a48c5c2599","directory":"lethal-league-blaze","title":"Lethal League Blaze","compatibility":1,"releases":[{"id":"01003AB00983C000","region":null}]},{"id":"12e298fc-8cf2-460a-87a2-424c5f0d83db","directory":"here-be-dragons","title":"Here Be Dragons","compatibility":5,"releases":[{"id":"0100F9B012C6A000","region":null}]},{"id":"12f1da60-2c2f-43c4-9e6d-fbf32cef4f3d","directory":"ghostrunner","title":"Ghostrunner","compatibility":3,"releases":[{"id":"010090F012916000","region":null}]},{"id":"12f6df58-67bc-49a9-883d-1bff1eeab9ac","directory":"red-ronin","title":"Red Ronin","compatibility":99,"releases":[{"id":"01000FE014632000","region":null}]},{"id":"130078d4-c20d-4714-b5be-2e3c96ab0526","directory":"cubixx","title":"Cubixx","compatibility":99,"releases":[{"id":"0100DDE00DAC4000","region":null}]},{"id":"13013e71-7ad8-44c4-a422-847218d15728","directory":"green","title":"GREEN","compatibility":99,"releases":[{"id":"010068D00AE68000","region":null}]},{"id":"1305480e-a0fa-4f25-aad4-86d255838844","directory":"the-great-perhaps","title":"The Great Perhaps","compatibility":99,"releases":[{"id":"010007B012514000","region":null}]},{"id":"13079917-76b1-4898-a87e-bfb5ba58a423","directory":"super-squidlit","title":"Super Squidlit","compatibility":99,"releases":[{"id":"01009BD0128EC000","region":null}]},{"id":"13185fc8-84e4-49a8-9602-402dbf9e34d1","directory":"risk-of-rain-2","title":"Risk of Rain 2","compatibility":2,"releases":[{"id":"010076D00E4BA000","region":null}]},{"id":"131ea256-b191-41f8-bd3f-aeb04f69dc17","directory":"istanbul-digital-edition","title":"Istanbul: Digital Edition","compatibility":99,"releases":[{"id":"01008E700CAAC000","region":null}]},{"id":"13363229-d71e-4027-9655-f02a36bb9642","directory":"megaton-rainfall","title":"Megaton Rainfall","compatibility":3,"releases":[{"id":"010005A00B312000","region":null}]},{"id":"133a3d57-7dc0-41b2-80a5-c2ce1f5fd64f","directory":"unto-the-end","title":"Unto The End","compatibility":99,"releases":[{"id":"0100E49013190000","region":null}]},{"id":"133d776f-3f09-4557-8387-cda5bae46574","directory":"color-your-world","title":"Color Your World","compatibility":99,"releases":[{"id":"0100EB00132FE000","region":null}]},{"id":"133e203d-b19c-4b0b-9c3e-1cbcdeb2c539","directory":"the-survivalists","title":"The Survivalists","compatibility":2,"releases":[{"id":"0100EF200DA60000","region":null}]},{"id":"133f868e-c4d6-4ed7-93b4-14949197f528","directory":"arcade-archives-pooyan","title":"Arcade Archives POOYAN","compatibility":4,"releases":[{"id":"0100A6E00D3F8000","region":null}]},{"id":"1347b7c8-b381-4caa-b717-51e8aead14f5","directory":"freddy-fazbears-pizzeria-simulator","title":"Freddy Fazbear's Pizzeria Simulator","compatibility":99,"releases":[{"id":"01009C000E442000","region":null}]},{"id":"135ada33-d572-428d-9e63-2998748ba221","directory":"horace","title":"Horace","compatibility":99,"releases":[{"id":"010086D011EB8000","region":null}]},{"id":"13714937-5ff9-4d3b-8897-71f0b9e4bb2c","directory":"rocket-league","title":"Rocket League","compatibility":3,"releases":[{"id":"01005EE0036EC000","region":null}]},{"id":"137885f2-d411-4e22-911e-96ba1e770d42","directory":"skee-ball","title":"Skee-Ball","compatibility":99,"releases":[{"id":"0100B2F008BD8000","region":null}]},{"id":"137af45a-d177-4700-87d2-973d0e668129","directory":"call-of-juarez-gunslinger","title":"Call of Juarez: Gunslinger","compatibility":1,"releases":[{"id":"0100B4700BFC6000","region":null}]},{"id":"1382e58d-839a-4f76-b663-33efd91f249e","directory":"spongebob-squarepants-battle-for-bikini-bottom-rehydrated","title":"SpongeBob SquarePants: Battle for Bikini Bottom - Rehydrated","compatibility":1,"releases":[{"id":"010062800D39C000","region":null}]},{"id":"1382ebfb-7623-4e61-bb4c-eadf7129bfb2","directory":"de-mambo","title":"De Mambo","compatibility":4,"releases":[{"id":"01008E900471E000","region":null}]},{"id":"13878c70-366c-45a9-8595-5ebaa7613498","directory":"push-the-box-puzzle-game","title":"Push the Box - Puzzle Game","compatibility":99,"releases":[{"id":"01001DD0116AA000","region":null}]},{"id":"138f32a6-1bbb-4240-96d3-eba409011e07","directory":"otto","title":"Otto","compatibility":99,"releases":[{"id":"010068B0094A0000","region":null}]},{"id":"13993903-2d89-4c84-bdef-46db9eaa44b9","directory":"pocket-clothier","title":"Pocket Clothier","compatibility":99,"releases":[{"id":"010052900DC7E000","region":null}]},{"id":"13a4e002-6720-4440-b2ea-d60bffe427bd","directory":"virtuaverse","title":"VirtuaVerse","compatibility":99,"releases":[{"id":"0100D7C013544000","region":null}]},{"id":"13a8c665-b413-4e76-8fc9-1fda289e0a67","directory":"lockstone","title":"Lockstone","compatibility":99,"releases":[{"id":"0100610011780000","region":null}]},{"id":"13af1247-2296-49bf-a827-aed247922f55","directory":"voxel-pirates","title":"Voxel Pirates","compatibility":99,"releases":[{"id":"0100AFA011068000","region":null}]},{"id":"13b4607b-72c9-44d8-9b91-889ce8abf9c4","directory":"the-bridge","title":"The Bridge","compatibility":0,"releases":[{"id":"01002A2004530000","region":null}]},{"id":"13b83e28-e4c5-469f-9412-98f16c512a12","directory":"whipseey-and-the-lost-atlas","title":"Whipseey and the Lost Atlas","compatibility":1,"releases":[{"id":"010017500E7E0000","region":null}]},{"id":"13b89ff7-647d-4838-9126-10b2526470d8","directory":"desktop-baseball","title":"Desktop Baseball","compatibility":99,"releases":[{"id":"0100FC800E64E000","region":null}]},{"id":"13be55e7-7a6c-485b-9515-195859609ee3","directory":"doggie-ninja-the-burning-strikers","title":"Doggie Ninja The Burning Strikers","compatibility":99,"releases":[{"id":"0100013010456000","region":null}]},{"id":"13c299bf-da28-47e2-bff0-50067ab987f1","directory":"detective-dolittle","title":"Detective Dolittle","compatibility":1,"releases":[{"id":"010030600E65A000","region":null}]},{"id":"13c98210-4771-41da-a939-41f575a33734","directory":"s-n-i-p-e-r-hunter-scope","title":"S.N.I.P.E.R. - Hunter Scope","compatibility":0,"releases":[{"id":"0100B8B012ECA000","region":null}]},{"id":"13ca5850-eb1a-4cc7-a24a-ccfddc37fd01","directory":"arcade-archives-seicross","title":"Arcade Archives SEICROSS","compatibility":99,"releases":[{"id":"0100740014CBE000","region":null}]},{"id":"13cacd3e-5127-4eaa-b280-cdc86390e0c2","directory":"3d-minigolf","title":"3D MiniGolf","compatibility":1,"releases":[{"id":"01006DA00707C000","region":null}]},{"id":"13cefb29-65b1-4269-a53c-2a1d80b17d0a","directory":"street-outlaws-2-winner-takes-all","title":"Street Outlaws 2: Winner Takes All","compatibility":99,"releases":[{"id":"0100A49012D10000","region":null}]},{"id":"13d074d6-1601-4623-a318-53059abb3869","directory":"the-mahjong-huntress","title":"The Mahjong Huntress","compatibility":99,"releases":[{"id":"0100D1A00C330000","region":null}]},{"id":"13d90096-4ecd-48ed-968b-4f97314ec22f","directory":"scrap-rush","title":"SCRAP RUSH!!","compatibility":99,"releases":[{"id":"0100A8000B65C000","region":null}]},{"id":"13d92c7d-9014-4f14-b405-60432902b0b7","directory":"fluxteria","title":"Fluxteria","compatibility":99,"releases":[{"id":"01008D4010C46000","region":null}]},{"id":"13dec7bb-9512-4380-a581-3030f8993664","directory":"the-drama-queen-murder","title":"The Drama Queen Murder","compatibility":99,"releases":[{"id":"0100BD700EBC0000","region":null}]},{"id":"13e25db0-74bc-4ef4-819e-2a6b6f82b717","directory":"streets-of-rage-4","title":"Streets of Rage 4","compatibility":1,"releases":[{"id":"0100EC9010258000","region":null}]},{"id":"13e719a8-440c-42a0-aa3a-ec137e608115","directory":"mini-trains","title":"Mini Trains","compatibility":1,"releases":[{"id":"0100FB700DE1A000","region":null}]},{"id":"13f81878-3f4e-4c9a-848e-15a2cfe93815","directory":"dodge-hard","title":"DODGE HARD","compatibility":99,"releases":[{"id":"0100DE400D5A4000","region":null}]},{"id":"140dbca6-0dd4-4c8e-bcf4-e4ee82ea04b6","directory":"pokemon-lets-go-pikachu-and-pokemon-lets-go-eevee-demo-version","title":"Pokémon: Let’s Go, Pikachu! and Pokémon: Let’s Go, Eevee! Demo Version","compatibility":1,"releases":[{"id":"0100C1800D7AE000","region":null}]},{"id":"141bed7b-0603-4a2b-90b2-81a66ba84df6","directory":"big-bobby-car-the-big-race","title":"BIG-Bobby-Car - The Big Race","compatibility":99,"releases":[{"id":"010007401287E000","region":null}]},{"id":"1422204d-13f9-4963-b088-867a269978d5","directory":"hellpoint","title":"Hellpoint","compatibility":4,"releases":[{"id":"010024600C794000","region":null}]},{"id":"1429463d-a697-4506-9b7f-8d777ef367e5","directory":"a-gummys-life","title":"A Gummy's Life","compatibility":99,"releases":[{"id":"0100ABC009708000","region":null}]},{"id":"1433f02f-3366-44b3-8566-7bab2cd415e1","directory":"collidalot","title":"Collidalot","compatibility":99,"releases":[{"id":"010030800BC36000","region":null}]},{"id":"14361049-20f4-45f2-8899-2921e21d73c1","directory":"rmx-real-motocross","title":"RMX Real Motocross","compatibility":99,"releases":[{"id":"01008AC0115C6000","region":null}]},{"id":"14398c8e-6895-4e9b-a05e-5ab341fd7d4e","directory":"guardian-force-saturn-tribute","title":"Guardian Force - Saturn Tribute","compatibility":99,"releases":[{"id":"0100C67015270000","region":null}]},{"id":"1443b012-0498-4125-a696-871782a60e69","directory":"bubble-bobble-4-friends","title":"Bubble Bobble 4 Friends","compatibility":3,"releases":[{"id":"010010900F7B4000","region":null}]},{"id":"14447c7a-41b4-4376-89ae-8ab090e1dacb","directory":"nena","title":"NENA","compatibility":99,"releases":[{"id":"0100C39013874000","region":null}]},{"id":"1452a155-81d0-4b81-a4a4-75bf5e055703","directory":"will-a-wonderful-world","title":"WILL: A Wonderful World","compatibility":99,"releases":[{"id":"0100D360098B6000","region":null}]},{"id":"1452ecb0-fc2a-4b79-8a0a-7c2655e8444c","directory":"fall-gummies","title":"Fall Gummies","compatibility":99,"releases":[{"id":"01005CB013872000","region":null}]},{"id":"1454c243-3148-4b41-972a-e04ef3a98e6a","directory":"fuze-player","title":"FUZE Player","compatibility":99,"releases":[{"id":"010055801134E000","region":null}]},{"id":"1461d0db-f64b-4b34-bd11-c1e369720a88","directory":"king-leo","title":"King Leo","compatibility":99,"releases":[{"id":"01002D0015888000","region":null}]},{"id":"146be457-5d2c-41bf-8b02-483718aba736","directory":"aca-neogeo-shock-troopers","title":"ACA NEOGEO SHOCK TROOPERS","compatibility":1,"releases":[{"id":"01008A9001DC2000","region":null}]},{"id":"146c0cba-b9cf-4b61-875e-f6383ef1dda1","directory":"escape-first-2","title":"Escape First 2","compatibility":99,"releases":[{"id":"010021201296A000","region":null}]},{"id":"1481278b-ebb1-4046-b6a9-54b068f53ebd","directory":"yooka-laylee-and-the-impossible-lair","title":"Yooka-Laylee and the Impossible Lair","compatibility":0,"releases":[{"id":"010022F00DA66000","region":null}]},{"id":"148984d8-4eae-4602-81a2-8f7c0dad4594","directory":"sokodice","title":"Sokodice","compatibility":99,"releases":[{"id":"010094501406E000","region":null}]},{"id":"148a0fe8-475e-444d-9ef2-88503d1ae753","directory":"brawl","title":"BRAWL","compatibility":3,"releases":[{"id":"0100A42004718000","region":null}]},{"id":"148da4b8-e8b9-439c-8558-02a58b6ac586","directory":"god-eater-3","title":"GOD EATER 3","compatibility":4,"releases":[{"id":"01001C700873E000","region":null}]},{"id":"149354ab-db83-4e70-99b7-391450753f20","directory":"professor-rubiks-brain-fitness","title":"Professor Rubik's Brain Fitness","compatibility":99,"releases":[{"id":"01000160127EC000","region":null}]},{"id":"14be7350-4107-458f-ad56-a674735e1a02","directory":"little-misfortune","title":"Little Misfortune","compatibility":99,"releases":[{"id":"0100E7000E826000","region":null}]},{"id":"14cf2538-52af-44e7-a7d5-c1ef13247c9b","directory":"road-z-survival-the-last-winter","title":"Road Z Survival: The Last Winter","compatibility":99,"releases":[{"id":"0100F89016626000","region":null}]},{"id":"14d75c4e-21ce-41e0-8f76-38f4e5ee3889","directory":"legrand-legacy-tale-of-the-fatebounds","title":"LEGRAND LEGACY: Tale of the Fatebounds","compatibility":99,"releases":[{"id":"0100E7500BF84000","region":null}]},{"id":"14fae381-3e9f-4ff6-9b52-7c4b4326ef08","directory":"lacuna-a-sci-fi-noir-adventure","title":"Lacuna - A Sci-Fi Noir Adventure","compatibility":99,"releases":[{"id":"0100CA201683E000","region":null}]},{"id":"15048ed5-0e28-4589-813e-022151cebf51","directory":"infernium","title":"Infernium","compatibility":99,"releases":[{"id":"0100D4300A4CA000","region":null}]},{"id":"1507e490-f043-4b03-b2dc-9f6617f6fe11","directory":"rogue-legacy","title":"Rogue Legacy","compatibility":3,"releases":[{"id":"010056500AD50000","region":null}]},{"id":"150e9b73-0106-4a98-8f90-fa0d73ed70db","directory":"pacific-wings","title":"Pacific Wings","compatibility":5,"releases":[{"id":"010006900EF5E000","region":null}]},{"id":"15171d58-347e-4a0c-8fd9-9a88b74bfebf","directory":"supermoose","title":"SuperMoose","compatibility":99,"releases":[{"id":"0100A0A013AEE000","region":null}]},{"id":"152d3634-a728-4aea-aaf5-942b8f6aa7f0","directory":"double-kick-heroes","title":"Double Kick Heroes","compatibility":99,"releases":[{"id":"01000F400C1A4000","region":null}]},{"id":"15365f32-52ca-4e56-bf19-c03ce78ac31e","directory":"home-escape","title":"Home Escape","compatibility":99,"releases":[{"id":"01006D100E1DE000","region":null}]},{"id":"153fff97-c2fe-4705-bb5b-f17efbf1e154","directory":"doggie-ninja-the-golden-mission","title":"Doggie Ninja The Golden Mission","compatibility":99,"releases":[{"id":"0100F9400D6CC000","region":null}]},{"id":"15519c25-bfd3-4e99-b671-f4a49f65b735","directory":"animal-revolt-battle-simulator","title":"Animal Revolt Battle Simulator","compatibility":99,"releases":[{"id":"0100778017196000","region":null}]},{"id":"155cab79-2ed6-422f-ab9c-eaf41d51845e","directory":"youtubers-life-omg-edition","title":"Youtubers Life OMG Edition","compatibility":3,"releases":[{"id":"01002C9005F36000","region":null}]},{"id":"1561028a-bba1-447a-8e90-ad320484b3c1","directory":"pretty-princess-party","title":"Pretty Princess Party","compatibility":99,"releases":[{"id":"01007F00128CC000","region":null}]},{"id":"1563b1e0-3da4-4a54-bf81-610f5bd586e1","directory":"unholy-heights","title":"Unholy Heights","compatibility":99,"releases":[{"id":"0100B58007D40000","region":null}]},{"id":"1595d5b2-abe6-409a-83c4-427990a4c4c5","directory":"hitman-3-cloud-version","title":"HITMAN 3 - Cloud Version","compatibility":99,"releases":[{"id":"01004990132AC000","region":null}]},{"id":"159b4cd3-0c06-441f-84c4-7a04a7f3628e","directory":"double-dragon-iii-the-sacred-stones","title":"DOUBLE DRAGON Ⅲ: The Sacred Stones","compatibility":1,"releases":[{"id":"01001AD00E49A000","region":null}]},{"id":"159cf8df-96c4-4132-8cc3-94522e1d7087","directory":"r-b-i-baseball-21","title":"R.B.I. Baseball 21","compatibility":4,"releases":[{"id":"0100B4A0115CA000","region":null}]},{"id":"159f89da-a76e-4d89-9f77-af9cc2535ff9","directory":"girls-tank-battle","title":"Girls Tank Battle","compatibility":99,"releases":[{"id":"0100C1C0158F2000","region":null}]},{"id":"15a4a24a-7d2e-45d6-97cd-c9b0a830f2a2","directory":"three-fourths-home-extended-edition","title":"Three Fourths Home: Extended Edition","compatibility":99,"releases":[{"id":"0100D1D00ACB8000","region":null}]},{"id":"15b08700-5be0-47f9-a8e6-ea75d16851d8","directory":"the-knight-and-the-dragon","title":"the Knight & the Dragon","compatibility":99,"releases":[{"id":"010031B00DB34000","region":null}]},{"id":"15b7a5c9-eae3-47b7-9512-2410a5bc3f57","directory":"where-the-water-tastes-like-wine","title":"Where the Water Tastes Like Wine","compatibility":0,"releases":[{"id":"01005D800E022000","region":null}]},{"id":"15be02af-1631-4f4c-9e1b-83c65ba57134","directory":"kuukiyomi-consider-it","title":"KUUKIYOMI: Consider It!","compatibility":0,"releases":[{"id":"010079600BF22000","region":null}]},{"id":"15be382b-f4e7-4233-bf25-7cdf54a278ca","directory":"memory-lane-2","title":"Memory Lane 2","compatibility":99,"releases":[{"id":"01003840151F8000","region":null}]},{"id":"15dfaac9-94da-4b7d-b40a-8fc94d31cad6","directory":"she-remembered-caterpillars","title":"She Remembered Caterpillars","compatibility":99,"releases":[{"id":"01004F50085F2000","region":null}]},{"id":"15e0e206-6ed6-446b-b8ce-e161a6385901","directory":"arcade-archives-thunder-dragon","title":"Arcade Archives THUNDER DRAGON","compatibility":99,"releases":[{"id":"0100D540141FE000","region":null}]},{"id":"15e558cf-dda6-4f06-86ec-8ee57625a3e1","directory":"hyperbrawl-tournament","title":"HyperBrawl Tournament","compatibility":1,"releases":[{"id":"01006C500A29C000","region":null}]},{"id":"15e5ee50-e6e2-4575-a424-29a9c166db57","directory":"reverse-crawl","title":"Reverse Crawl","compatibility":99,"releases":[{"id":"010080000D8CA000","region":null}]},{"id":"15ea2c81-bfbf-4739-a89f-aaf2d9ce3ad0","directory":"beyond-enemy-lines-essentials","title":"Beyond Enemy Lines: Essentials","compatibility":99,"releases":[{"id":"0100B8F00DACA000","region":null}]},{"id":"15f3fbd5-9eb7-4530-b02b-3e3dba670278","directory":"drizzlepath-deja-vu","title":"Drizzlepath: Deja Vu","compatibility":99,"releases":[{"id":"0100377015A84000","region":null}]},{"id":"1601bd2b-e4aa-41fb-9597-1f52f63f017e","directory":"wasteland-2-directors-cut","title":"Wasteland 2: Director's Cut","compatibility":3,"releases":[{"id":"010039A00BC64000","region":null}]},{"id":"160fae18-542f-4392-b4f9-d7183ae1f7bb","directory":"3000th-duel","title":"3000th Duel","compatibility":1,"releases":[{"id":"0100FB5010D2E000","region":null}]},{"id":"1625ba8e-f23a-49f0-a671-a7b9777d5b2e","directory":"attack-on-beetle","title":"Attack on Beetle","compatibility":99,"releases":[{"id":"0100427012690000","region":null}]},{"id":"16268300-6feb-42fb-a4e4-df0092789661","directory":"unbound-worlds-apart","title":"Unbound: Worlds Apart","compatibility":2,"releases":[{"id":"0100C5A013B7A000","region":null}]},{"id":"163c25d6-e63b-4302-9050-b0fb1f9ac9c0","directory":"wing-of-darkness","title":"Wing of Darkness","compatibility":2,"releases":[{"id":"010035B012F28000","region":null}]},{"id":"164d69cb-90d1-40b5-ab18-ec51c6455c3f","directory":"macbat-64-journey-of-a-nice-chap","title":"Macbat 64: Journey of a Nice Chap","compatibility":99,"releases":[{"id":"0100272012DEC000","region":null}]},{"id":"164e775b-c57f-4c18-872c-22d78fcd09b7","directory":"gelly-break","title":"Gelly Break","compatibility":2,"releases":[{"id":"01009D000AF3A000","region":null}]},{"id":"16530325-9173-4dc3-acdc-90fbe6a813eb","directory":"arcade-archives-kurikinton","title":"Arcade Archives KURIKINTON","compatibility":99,"releases":[{"id":"01001AD014CC6000","region":null}]},{"id":"16539121-f973-4654-9f56-d44759a05e24","directory":"arcade-archives-pac-man","title":"Arcade Archives PAC-MAN","compatibility":99,"releases":[{"id":"0100431015ABE000","region":null}]},{"id":"16663ed0-70f0-495f-ab13-99a13b1d2b5f","directory":"resident-evil-0","title":"Resident Evil 0","compatibility":0,"releases":[{"id":"010097000BC10000","region":null}]},{"id":"16670d6e-841f-4acc-8e09-d93b6d43a100","directory":"sports-adventure-pinball","title":"Sports & Adventure Pinball","compatibility":99,"releases":[{"id":"0100CAF015C32000","region":null}]},{"id":"166c2d88-d4e0-4b14-b9cb-439eaf4fb3f4","directory":"coffee-talk","title":"Coffee Talk","compatibility":99,"releases":[{"id":"010066200E1E6000","region":null}]},{"id":"166f735b-3862-4e1c-8fd1-281e6d93bb95","directory":"inside-grass-a-little-adventure","title":"Inside Grass: A little adventure","compatibility":99,"releases":[{"id":"0100EC7012D34000","region":null}]},{"id":"1671f8ba-5de6-4cdc-bd98-75115ea689a1","directory":"catherine-full-body","title":"Catherine: Full Body","compatibility":2,"releases":[{"id":"0100BF00112C0000","region":null}]},{"id":"167ca5d5-b087-4190-a0aa-29a34ca02ab5","directory":"worms-wmd","title":"Worms W.M.D","compatibility":4,"releases":[{"id":"01001AE005166000","region":null}]},{"id":"16827019-62b9-4b9d-bc1e-cbeb53632272","directory":"party-crashers","title":"Party Crashers","compatibility":99,"releases":[{"id":"0100CB10089DE000","region":null}]},{"id":"168fc201-0521-4469-bcb1-f7f9164a4235","directory":"where-cards-fall","title":"Where Cards Fall","compatibility":99,"releases":[{"id":"010055501288A000","region":null}]},{"id":"1692cf28-bbcc-41fd-9a92-4607f09b89fd","directory":"rogue-star-rescue","title":"Rogue Star Rescue","compatibility":99,"releases":[{"id":"0100BE6013408000","region":null}]},{"id":"1693afc3-0105-4ff2-9184-61918398a510","directory":"pj-masks-heroes-of-the-night","title":"PJ MASKS: HEROES OF THE NIGHT","compatibility":99,"releases":[{"id":"0100614013DC0000","region":null}]},{"id":"1695613f-898f-4a3f-86d7-79620651dbbf","directory":"spiral-memoria-the-summer-i-meet-myself","title":"Spiral Memoria -The Summer I Meet Myself-","compatibility":1,"releases":[{"id":"0100F6D01250C000","region":null}]},{"id":"16ab1654-6c79-4cb7-b419-e8267591194d","directory":"zenith","title":"Zenith","compatibility":99,"releases":[{"id":"0100AAC00E692000","region":null}]},{"id":"16b55431-03be-42b5-9af2-851e120f9421","directory":"tangrams-deluxe","title":"Tangrams Deluxe","compatibility":0,"releases":[{"id":"01009CC00BD6E000","region":null}]},{"id":"16c3742f-de31-4935-a079-b34bf2f2698e","directory":"please-teach-me-onedari-shogi","title":"Please Teach Me Onedari Shogi","compatibility":1,"releases":[{"id":"0100F2C00EED4000","region":null}]},{"id":"16d462a2-e81b-4ca2-9944-34151376fe26","directory":"tactical-mind","title":"Tactical Mind","compatibility":99,"releases":[{"id":"01000F20083A8000","region":null}]},{"id":"16d4d6cb-d3e6-48c6-874a-44dad3a010d3","directory":"metal-unit","title":"Metal Unit","compatibility":99,"releases":[{"id":"0100F25014BD6000","region":null}]},{"id":"16db7c08-bc25-4dec-83af-df6eed1fb93b","directory":"zombo-buster-rising","title":"Zombo Buster Rising","compatibility":99,"releases":[{"id":"010096201690C000","region":null}]},{"id":"16e51da3-8640-4475-8e25-9e046f34527f","directory":"flipping-death","title":"Flipping Death","compatibility":3,"releases":[{"id":"01009FB002B2E000","region":null}]},{"id":"16e84023-89a6-42ab-a270-76888a7352c0","directory":"sniper","title":"Sniper","compatibility":99,"releases":[{"id":"0100839010DD6000","region":null}]},{"id":"16ed8fd0-f69e-4584-baff-a377ba7721b2","directory":"donutsnjustice","title":"Donuts'n'Justice","compatibility":99,"releases":[{"id":"0100D01014DC8000","region":null}]},{"id":"16f2c62b-5c84-49d3-823d-ec220545acbf","directory":"nape-retroverse-collection","title":"NAPE RETROVERSE COLLECTION","compatibility":99,"releases":[{"id":"0100415016902000","region":null}]},{"id":"16f4c437-10c1-4838-9cd8-6866170f2eb5","directory":"dominate-board-game","title":"Dominate - Board Game","compatibility":99,"releases":[{"id":"01007A1012376000","region":null}]},{"id":"16f9892d-8e09-4bcf-bd5c-4ef4439009fd","directory":"battery-jam","title":"Battery Jam","compatibility":99,"releases":[{"id":"0100E4400C0A2000","region":null}]},{"id":"16fe8d17-a3b3-4561-9786-b11bf1ea7bea","directory":"vortex-attack-ex","title":"Vortex Attack EX","compatibility":99,"releases":[{"id":"010018400E4FC000","region":null}]},{"id":"17156ad0-c452-435f-9687-fcbb527de4f7","directory":"barricadez-revisited","title":"BARRICADEZ ReVisited","compatibility":99,"releases":[{"id":"010004A0143C4000","region":null}]},{"id":"171c111c-6a51-45ec-b390-c9899f5a4e83","directory":"shipped","title":"Shipped","compatibility":99,"releases":[{"id":"0100B2E00F13E000","region":null}]},{"id":"1722cb84-19f3-4d9b-be62-a5c10c3c9501","directory":"suzerain","title":"Suzerain","compatibility":1,"releases":[{"id":"0100531014988000","region":null}]},{"id":"1723432d-3dcd-4ccd-ba68-f6a7296513f0","directory":"pig-eat-ball","title":"Pig Eat Ball","compatibility":1,"releases":[{"id":"01000FD00D5CC000","region":null}]},{"id":"1728c626-69cd-4c61-a930-cb3219afad51","directory":"tallowmere","title":"Tallowmere","compatibility":99,"releases":[{"id":"01006AA006BE4000","region":null}]},{"id":"172fae20-664d-4dbd-873c-98bd8fd21399","directory":"code-of-princess-ex","title":"Code of Princess EX","compatibility":3,"releases":[{"id":"010034E005C9C000","region":null}]},{"id":"1732a213-d64c-4570-89bc-36540ac04974","directory":"beach-buggy-racing","title":"Beach Buggy Racing","compatibility":1,"releases":[{"id":"010095C00406C000","region":null}]},{"id":"1739d604-f693-4c94-ba4b-60c50e515f54","directory":"peaky-blinders-mastermind","title":"Peaky Blinders: Mastermind","compatibility":99,"releases":[{"id":"010002100CDCC000","region":null}]},{"id":"173bc7fd-c2fb-41c5-8fc8-c0306273aee0","directory":"love-pop","title":"Love Pop!","compatibility":99,"releases":[{"id":"010072D0167D0000","region":null}]},{"id":"17527141-9b96-48f5-bee7-78b2865e993d","directory":"happy-birthdays","title":"Happy Birthdays","compatibility":99,"releases":[{"id":"010083600AE9E000","region":null}]},{"id":"17575b19-2805-463b-be73-4e2024784a9e","directory":"aca-neogeo-2020-super-baseball","title":"ACA NEOGEO 2020 SUPER BASEBALL","compatibility":4,"releases":[{"id":"01003C400871E000","region":null}]},{"id":"17577fc2-393d-495e-b5ab-ddb87b803daf","directory":"risk-of-rain","title":"Risk of Rain","compatibility":1,"releases":[{"id":"0100AAA00ACBE000","region":null}]},{"id":"176528b6-d924-4c40-8398-13dfbcbf0982","directory":"mah-jongg-puzzle-pai-sen","title":"Mah-jongg Puzzle Pai-Sen","compatibility":99,"releases":[{"id":"0100EC400E1C0000","region":null}]},{"id":"177b2492-13c5-41e6-9494-947ab9495dc7","directory":"castle-crashers-remastered","title":"Castle Crashers Remastered","compatibility":4,"releases":[{"id":"010001300D14A000","region":null}]},{"id":"1787bdb4-0146-4348-ba11-7eeb402f42ec","directory":"bubble-cats-rescue","title":"Bubble Cats Rescue","compatibility":99,"releases":[{"id":"0100D0200EA92000","region":null}]},{"id":"178a288f-0a49-4aeb-bc51-19320656596e","directory":"car-mechanic-simulator-pocket-edition","title":"Car Mechanic Simulator Pocket Edition","compatibility":99,"releases":[{"id":"01009D100F112000","region":null}]},{"id":"1795ac7c-2ac4-4004-a223-b0ed3641e1e0","directory":"glass-masquerade","title":"Glass Masquerade","compatibility":99,"releases":[{"id":"0100D4C00C9FC000","region":null}]},{"id":"17ab0fbd-fc0f-46cb-b684-d30df0926741","directory":"easy-flight-simulator","title":"Easy Flight Simulator","compatibility":99,"releases":[{"id":"010031F015C98000","region":null}]},{"id":"17aff7ee-10b5-4e81-8a54-e628ed3958ed","directory":"aca-neogeo-samurai-shodown-iv","title":"ACA NEOGEO SAMURAI SHODOWN IV","compatibility":4,"releases":[{"id":"010047F001DBC000","region":null}]},{"id":"17b38226-e8fa-43a3-802b-1d19e5f86326","directory":"grid-autosport","title":"GRID Autosport","compatibility":3,"releases":[{"id":"0100DC800A602000","region":null}]},{"id":"17bee7e0-49ee-46dd-94c4-9988f7897c5e","directory":"vivid-knight","title":"Vivid Knight","compatibility":99,"releases":[{"id":"01006EB01626E000","region":null}]},{"id":"17cc208c-8c74-416e-be13-3875e8766090","directory":"thunder-paw","title":"Thunder Paw","compatibility":99,"releases":[{"id":"01009AF0110E4000","region":null}]},{"id":"17d380ec-eb24-4d1c-8aef-5983eb138e55","directory":"bad-dream-fever","title":"Bad Dream: Fever","compatibility":99,"releases":[{"id":"0100B3B00D81C000","region":null}]},{"id":"17de4c6a-4884-44cf-b456-349c1df0e23d","directory":"felix-the-reaper","title":"Felix The Reaper","compatibility":99,"releases":[{"id":"010003B00D3A2000","region":null}]},{"id":"17f3b080-0403-47a2-95e6-44a532952277","directory":"the-inner-world-the-last-wind-monk","title":"The Inner World - The Last Wind Monk","compatibility":0,"releases":[{"id":"0100A9D00B31A000","region":null}]},{"id":"1804bdec-c829-4336-a582-146c05d9efe7","directory":"crossroad-crash","title":"Crossroad crash","compatibility":99,"releases":[{"id":"0100CFA015CBC000","region":null}]},{"id":"181d9641-085c-479a-887a-39ebcd26e09e","directory":"laser-kitty-pow-pow","title":"Laser Kitty Pow Pow","compatibility":99,"releases":[{"id":"0100A0800E974000","region":null}]},{"id":"18237aa5-915e-4a83-adf0-0be56cd3e10d","directory":"pecaminosa-a-pixel-noir-game","title":"Pecaminosa - a pixel noir game","compatibility":99,"releases":[{"id":"0100876014188000","region":null}]},{"id":"18283db7-ca9d-498c-809f-a5198b90eb91","directory":"in-other-waters","title":"In Other Waters","compatibility":99,"releases":[{"id":"0100B6E01056E000","region":null}]},{"id":"182a8a40-7764-4682-aec7-4c98be81d189","directory":"gemstone-keeper","title":"Gemstone Keeper","compatibility":99,"releases":[{"id":"01000D600EFC4000","region":null}]},{"id":"1833a30b-cb91-4a3c-a578-8a29590c412f","directory":"angry-golf","title":"Angry Golf","compatibility":99,"releases":[{"id":"01008B50144EC000","region":null}]},{"id":"184584f7-21cc-4e3c-ba65-3575bf9bb8e6","directory":"puzzle-plowing-a-field","title":"Puzzle Plowing A Field","compatibility":99,"releases":[{"id":"010057F013764000","region":null}]},{"id":"1858901c-251d-43f5-b485-4f5369a83c0c","directory":"kauils-treasure","title":"KAUIL’S TREASURE","compatibility":99,"releases":[{"id":"010028F013358000","region":null}]},{"id":"1858c78a-53e0-4529-a67d-5b58fc405bd8","directory":"the-unicorn-princess","title":"The Unicorn Princess","compatibility":1,"releases":[{"id":"010064E00ECBC000","region":null}]},{"id":"185c04c6-322f-4c3c-be93-abf1741bff8c","directory":"demolish-and-build-2018","title":"Demolish & Build 2018","compatibility":0,"releases":[{"id":"010099D00D1A4000","region":null}]},{"id":"18698ad2-5625-48b9-944d-8a44f08b8c4c","directory":"bad-north","title":"Bad North","compatibility":3,"releases":[{"id":"0100E98006F22000","region":null}]},{"id":"186b350d-3103-4c32-b576-e12bc976f4a7","directory":"sayonara-wild-hearts","title":"Sayonara Wild Hearts","compatibility":0,"releases":[{"id":"010010A00A95E000","region":null}]},{"id":"1874e3e7-40c2-4216-8036-7777016facca","directory":"cosmic-defenders","title":"Cosmic Defenders","compatibility":99,"releases":[{"id":"01000AB00E73A000","region":null}]},{"id":"187defd4-ffb9-44e0-8604-a199f451ce34","directory":"crowdy-farm-puzzle","title":"Crowdy Farm Puzzle","compatibility":99,"releases":[{"id":"0100E21012232000","region":null}]},{"id":"187f93ab-df3a-410c-8521-e2428591e719","directory":"arcade-archives-koutetsu-yousai-strahl","title":"Arcade Archives KOUTETSU YOUSAI STRAHL","compatibility":99,"releases":[{"id":"01005370123D0000","region":null}]},{"id":"188e17a9-49a5-4f1a-85d4-eb966d1d258c","directory":"projection-first-light","title":"Projection: First Light","compatibility":1,"releases":[{"id":"010063901024A000","region":null}]},{"id":"189627ea-6822-47c0-9a13-061ae4f15d22","directory":"space-cows","title":"Space Cows","compatibility":99,"releases":[{"id":"010005500E81E000","region":null}]},{"id":"18a4eaf5-c3f9-4466-93bf-4955e040adf8","directory":"mecho-wars-desert-ashes","title":"Mecho Wars: Desert Ashes","compatibility":99,"releases":[{"id":"01006D500B0C8000","region":null}]},{"id":"18ae9873-ce8e-4a75-8c6c-2e92f884e81d","directory":"christmas-tina","title":"Christmas Tina","compatibility":99,"releases":[{"id":"010003001536E000","region":null}]},{"id":"18be2db5-fa81-4e88-9e57-bf012949f58c","directory":"flip-wars","title":"Flip Wars","compatibility":4,"releases":[{"id":"010095A004040000","region":null}]},{"id":"18d20635-7781-48b6-9741-38b6c8337da0","directory":"distraint-deluxe-edition","title":"DISTRAINT: Deluxe Edition","compatibility":99,"releases":[{"id":"010075B004DD2000","region":null}]},{"id":"18e96304-628f-4946-b1b9-62cbee40969e","directory":"pro-flight-simulator","title":"Pro Flight Simulator","compatibility":99,"releases":[{"id":"0100B11016870000","region":null}]},{"id":"18efd594-0681-4033-8e40-c64fbba44163","directory":"little-busters-converted-edition","title":"Little Busters! Converted Edition","compatibility":5,"releases":[{"id":"0100943010310000","region":null}]},{"id":"18f50822-daa5-4c20-a609-fed8ebe9ab93","directory":"pachi-pachi-on-a-roll","title":"Pachi Pachi On A Roll","compatibility":99,"releases":[{"id":"0100F2B012658000","region":null}]},{"id":"18fa17af-8ecb-4e81-85c4-ff2372952e9c","directory":"renegade","title":"Renegade","compatibility":99,"releases":[{"id":"010047A00E486000","region":null}]},{"id":"18fa84a5-48b3-4b9b-96d0-5eed622208a3","directory":"rocket-fist","title":"Rocket Fist","compatibility":99,"releases":[{"id":"0100D800040AC000","region":null}]},{"id":"1909498e-1644-458c-8ee0-830b40f03048","directory":"instant-chef-party","title":"INSTANT Chef Party","compatibility":99,"releases":[{"id":"01002500129F4000","region":null}]},{"id":"19150f00-5406-4937-9b64-a3ecf10646eb","directory":"tiny-derby","title":"Tiny Derby","compatibility":0,"releases":[{"id":"01009E100D660000","region":null}]},{"id":"1917899d-5b62-43ba-807a-58cfb0813b4a","directory":"polyroll","title":"Polyroll","compatibility":3,"releases":[{"id":"010074B00ED32000","region":null}]},{"id":"1919172d-52ef-4720-ac77-15926b186478","directory":"piczle-lines-dx","title":"Piczle Lines DX","compatibility":99,"releases":[{"id":"0100D06003056000","region":null}]},{"id":"19285ae9-6af4-47ec-a6ef-5f70ac25aa5c","directory":"super-mega-baseball-2-ultimate-edition","title":"Super Mega Baseball 2: Ultimate Edition","compatibility":99,"releases":[{"id":"0100120004644000","region":null}]},{"id":"19343141-bbce-4cea-9ee7-bf34742d1556","directory":"tales-from-the-dragon-mountain-2-the-lair","title":"Tales from the Dragon Mountain 2: The Lair","compatibility":99,"releases":[{"id":"01002F5012864000","region":null}]},{"id":"19723410-b1c7-4a87-84aa-4270bc1b3a39","directory":"hexagravity","title":"HexaGravity","compatibility":0,"releases":[{"id":"01007AC00E012000","region":null}]},{"id":"1986c51c-2bda-4e0c-a64b-864db3effb78","directory":"hidden-folks","title":"Hidden Folks","compatibility":0,"releases":[{"id":"01003BB00B08E000","region":null}]},{"id":"199226dc-75cc-4281-9ece-7121c8c8b54b","directory":"invisible-fist","title":"Invisible Fist","compatibility":99,"releases":[{"id":"0100C5B00FADE000","region":null}]},{"id":"199ade7e-5be4-4abd-b358-65593d343e39","directory":"wild-adventure-pinball","title":"Wild & Adventure Pinball","compatibility":99,"releases":[{"id":"010092C016564000","region":null}]},{"id":"19b058d8-d974-47bf-a68a-34896186902d","directory":"rebel-cops","title":"Rebel Cops","compatibility":99,"releases":[{"id":"0100D9B00E22C000","region":null}]},{"id":"19bec2a9-c533-4f75-833b-082b2c7c911d","directory":"unlock-the-king-3","title":"Unlock The King 3","compatibility":99,"releases":[{"id":"0100E5501206E000","region":null}]},{"id":"19c57777-390a-455a-bfa3-e5b8d313b907","directory":"stump","title":"STUMP","compatibility":99,"releases":[{"id":"010000300B4EE000","region":null}]},{"id":"19caa1f6-1773-48dd-b88f-2583e27a06ff","directory":"jigsaw-fun-wonderful-nature","title":"Jigsaw Fun: Wonderful Nature","compatibility":99,"releases":[{"id":"0100751015DC2000","region":null}]},{"id":"19cbd956-f04b-453e-bcd7-6315b509cdca","directory":"saviors-of-sapphire-wings-stranger-of-sword-city-revisited","title":"Saviors of Sapphire Wings / Stranger of Sword City Revisited","compatibility":99,"releases":[{"id":"0100AA00128BA000","region":null}]},{"id":"19cc0748-0636-41d6-821d-9a33fb39805a","directory":"windstorm-start-of-a-great-friendship","title":"Windstorm: Start of a Great Friendship","compatibility":2,"releases":[{"id":"01005A100B314000","region":null}]},{"id":"19e4c776-b83c-4736-9677-e7b5203fd442","directory":"60-parsecs","title":"60 Parsecs!","compatibility":99,"releases":[{"id":"010010100FF14000","region":null}]},{"id":"19ea85d6-b3cc-4c4b-839f-af98c918b062","directory":"food-truck-tycoon-asian-cuisine","title":"Food Truck Tycoon - Asian Cuisine","compatibility":1,"releases":[{"id":"0100AC3011C4C000","region":null}]},{"id":"19f2114c-0b30-4d13-8f8c-a39b57c320f1","directory":"idoldays","title":"IdolDays","compatibility":99,"releases":[{"id":"01002EC014BCA000","region":null}]},{"id":"19f7c2e8-32c0-47be-8210-54ffa0f819aa","directory":"police-stories","title":"Police Stories","compatibility":5,"releases":[{"id":"0100E5000DDD2000","region":null}]},{"id":"19fc75f8-f7cf-4b24-8700-74e1a78aabdb","directory":"aca-neogeo-the-king-of-fighters-2000","title":"ACA NEOGEO THE KING OF FIGHTERS 2000","compatibility":4,"releases":[{"id":"0100B97002B44000","region":null}]},{"id":"1a0c2073-858d-4b4c-85be-b0043e7017c5","directory":"troll-and-i","title":"Troll and I","compatibility":2,"releases":[{"id":"0100F78002040000","region":null}]},{"id":"1a0c6cbb-f3a8-4f2a-abb8-041b97bb4f3f","directory":"hatsune-miku-logic-paint-s","title":"Hatsune Miku Logic Paint S","compatibility":1,"releases":[{"id":"0100B4101459A000","region":null}]},{"id":"1a165aca-27f9-4167-908c-067f3187ea92","directory":"shadows-of-kurgansk","title":"Shadows of Kurgansk","compatibility":99,"releases":[{"id":"01004D90159B0000","region":null}]},{"id":"1a16dbf6-ddb9-48c2-9b0f-0ea1b532b099","directory":"arcade-archives-donkey-kong-jr","title":"Arcade Archives DONKEY KONG JR.","compatibility":1,"releases":[{"id":"0100DDC00C7A6000","region":null}]},{"id":"1a194a0f-1708-4997-a851-0dfbed372820","directory":"flood-of-light","title":"Flood of Light","compatibility":2,"releases":[{"id":"0100D1700ACFC000","region":null}]},{"id":"1a19c72b-9b7f-4285-b917-4549467d73d9","directory":"comic-coloring-book","title":"Comic Coloring Book","compatibility":99,"releases":[{"id":"0100EE40138C2000","region":null}]},{"id":"1a1a63ee-31e9-4966-bb1c-658b51da23d4","directory":"star-ghost-demo","title":"Star Ghost Demo","compatibility":99,"releases":[{"id":"01005AE00A528000","region":null}]},{"id":"1a342092-06c1-4018-bebf-44897bd0ef95","directory":"fell-seal-arbiters-mark","title":"Fell Seal: Arbiter's Mark","compatibility":99,"releases":[{"id":"0100A0C00D846000","region":null}]},{"id":"1a4c57d1-61d4-4e01-956a-aa4fd892b1db","directory":"gravity-duck","title":"Gravity Duck","compatibility":99,"releases":[{"id":"0100E4A00EEF6000","region":null}]},{"id":"1a6a9d71-7363-45c1-a1b4-35cf4f845c43","directory":"aery-little-bird-adventure","title":"Aery - Little Bird Adventure","compatibility":99,"releases":[{"id":"0100875011D0C000","region":null}]},{"id":"1a6c08c6-9d9e-41d5-a55a-99f4aefbaaff","directory":"the-jackbox-party-pack-8","title":"The Jackbox Party Pack 8","compatibility":4,"releases":[{"id":"010050F015280000","region":null}]},{"id":"1a6f60bf-5423-4163-936b-68b3a1d92271","directory":"willy-morgan-and-the-curse-of-bone-town","title":"Willy Morgan and the Curse of Bone Town","compatibility":99,"releases":[{"id":"010035C013B50000","region":null}]},{"id":"1a804d51-8970-496b-b188-4a04043a5d77","directory":"book-of-demons","title":"Book of Demons","compatibility":5,"releases":[{"id":"01007A200F452000","region":null}]},{"id":"1a823130-53a6-4088-9c19-d408c1211eb5","directory":"beastie-bay-dx","title":"Beastie Bay DX","compatibility":99,"releases":[{"id":"01004EF012D9A000","region":null}]},{"id":"1a83b518-a354-456f-8bf9-93926f015525","directory":"terra-lander-ii-rockslide-rescue","title":"Terra Lander II - Rockslide Rescue","compatibility":99,"releases":[{"id":"0100E360145EC000","region":null}]},{"id":"1a84186c-06a9-49f4-a304-96f5ff33fb9b","directory":"c14-dating","title":"C14 Dating","compatibility":0,"releases":[{"id":"0100CAA0132D2000","region":null}]},{"id":"1a8bf253-a9fa-48aa-ae59-892de9220f4f","directory":"waifu-discovered-2-medieval-fantasy","title":"Waifu Discovered 2: Medieval Fantasy","compatibility":4,"releases":[{"id":"01006420153D4000","region":null}]},{"id":"1a8ee269-4e7b-412c-b509-31f71bba300d","directory":"war-theatre","title":"War Theatre","compatibility":99,"releases":[{"id":"010084D00A134000","region":null}]},{"id":"1a9810ba-13df-46be-8ca0-4874fb2d07df","directory":"nuclear-throne","title":"Nuclear Throne","compatibility":5,"releases":[{"id":"0100CFE00CE6E000","region":null}]},{"id":"1aa31ff3-5f01-4a74-a3d7-9d9bc9b7a8c4","directory":"devil-may-cry-3-special-edition","title":"Devil May Cry 3 Special Edition","compatibility":2,"releases":[{"id":"01007B600D5BC000","region":null}]},{"id":"1aa82e9d-ae1b-4bfd-b1f4-ccc1651dad4e","directory":"timelie","title":"Timelie","compatibility":99,"releases":[{"id":"01005D6014BE8000","region":null}]},{"id":"1abd10bc-f200-46bf-8db4-7c23d1f24cb5","directory":"marenian-tavern-story-patty-and-the-hungry-god","title":"Marenian Tavern Story: Patty and the Hungry God","compatibility":99,"releases":[{"id":"010040E00C2D2000","region":null}]},{"id":"1ac260e3-9376-43d6-9b85-71280c9b7cfa","directory":"dawn-of-the-breakers","title":"Dawn of the Breakers","compatibility":4,"releases":[{"id":"0100F0B0081DA000","region":null}]},{"id":"1acc36ff-e353-4630-9c7c-8db303c06ce0","directory":"binaries","title":"Binaries","compatibility":2,"releases":[{"id":"01002A1004C48000","region":null}]},{"id":"1ade5687-15a8-419f-9745-fb90f773d194","directory":"johnny-turbos-arcade-sly-spy","title":"Johnny Turbo's Arcade: Sly Spy","compatibility":99,"releases":[{"id":"0100B70003836000","region":null}]},{"id":"1ae0c056-7081-458f-abdb-5696900020cd","directory":"neurodeck","title":"Neurodeck","compatibility":99,"releases":[{"id":"0100B38013F66000","region":null}]},{"id":"1ae1283a-8692-4e87-a14d-1bab43ef7504","directory":"arcade-archives-pettan-pyuu","title":"Arcade Archives Pettan Pyuu","compatibility":99,"releases":[{"id":"01007FC011CF0000","region":null}]},{"id":"1af59a1c-c356-4641-9574-3ce9332a5cc9","directory":"smashy-road-wanted-2","title":"Smashy Road: Wanted 2","compatibility":99,"releases":[{"id":"010012D016176000","region":null}]},{"id":"1af82d4f-12b6-490c-b66d-e292d60d9caa","directory":"arcade-archives-exerion","title":"Arcade Archives EXERION","compatibility":99,"releases":[{"id":"010055B009820000","region":null}]},{"id":"1b0c76bd-c0ea-4ba2-bc09-f86147224075","directory":"aca-neogeo-world-heroes-2-jet","title":"ACA NEOGEO WORLD HEROES 2 JET","compatibility":2,"releases":[{"id":"01006C3004FAE000","region":null}]},{"id":"1b0d0835-d0d6-480d-b528-3d53254dac97","directory":"spoiler-alert","title":"Spoiler Alert","compatibility":99,"releases":[{"id":"0100F9D00C598000","region":null}]},{"id":"1b1c2af9-c084-4cf1-927f-79ab944dec2f","directory":"megaquarium","title":"Megaquarium","compatibility":99,"releases":[{"id":"010082B00E8B8000","region":null}]},{"id":"1b1cf6e2-2a7a-4581-80ea-4fe4d4cba01d","directory":"arcade-archives-ice-climber","title":"Arcade Archives ICE CLIMBER","compatibility":4,"releases":[{"id":"01007D200D3FC000","region":null}]},{"id":"1b2d6e6a-8aaa-4354-a7c9-e7920a6f77c3","directory":"photon-cube","title":"Photon Cube","compatibility":99,"releases":[{"id":"010024D0032F2000","region":null}]},{"id":"1b2dc0bf-ac84-4b07-a7ed-8d7b830a6251","directory":"junior-league-sports","title":"Junior League Sports","compatibility":99,"releases":[{"id":"01008B1008466000","region":null}]},{"id":"1b39e247-b8dc-405b-bf1a-c5f192b1d863","directory":"effie","title":"Effie","compatibility":99,"releases":[{"id":"01002550129F0000","region":null}]},{"id":"1b3f40fa-8447-40d9-a857-0ba5ff0af098","directory":"speed-truck-racing","title":"Speed Truck Racing","compatibility":0,"releases":[{"id":"010061F013A0E000","region":null}]},{"id":"1b47054e-38b2-41a8-82e7-dbd7d387f714","directory":"season-match","title":"Season Match","compatibility":99,"releases":[{"id":"010001900BDCA000","region":null}]},{"id":"1b627bf1-61ed-43e8-8ff0-dd8e740696f8","directory":"angry-video-game-nerd-1-2-deluxe","title":"Angry Video Game Nerd 1 & 2 Deluxe","compatibility":0,"releases":[{"id":"010084500C7DC000","region":null}]},{"id":"1b7422f9-ac6a-4619-85d7-94b08a700f36","directory":"warplanes-ww2-dogfight","title":"Warplanes: WW2 Dogfight","compatibility":99,"releases":[{"id":"010068E00D346000","region":null}]},{"id":"1b767711-b29a-42d3-99e5-c3401f82f3cf","directory":"lovekami-healing-harem","title":"Lovekami -Healing Harem-","compatibility":99,"releases":[{"id":"01002DF01599E000","region":null}]},{"id":"1b7b1e72-3d55-48c7-8ba6-1a4ac75e4337","directory":"grab-the-bottle","title":"Grab the Bottle","compatibility":99,"releases":[{"id":"01003FF009E60000","region":null}]},{"id":"1b7d41b7-f6ea-4d84-a432-581daa61142f","directory":"drowning-cross","title":"Drowning Cross","compatibility":99,"releases":[{"id":"0100B5F017376000","region":null}]},{"id":"1b7f5e3e-9b32-4e95-bc4b-15861f3b138f","directory":"street-racer-underground","title":"Street Racer Underground","compatibility":99,"releases":[{"id":"0100EEE0129F2000","region":null}]},{"id":"1b90423b-68dd-4fab-8d28-575edd8968c3","directory":"pure-pool","title":"Pure Pool","compatibility":99,"releases":[{"id":"0100AEC012DEE000","region":null}]},{"id":"1b932e67-52eb-431e-9c98-c6c3b16bc000","directory":"golf-royale","title":"Golf Royale","compatibility":0,"releases":[{"id":"01004B10149F8000","region":null}]},{"id":"1ba1b3c3-ab5c-4a0f-a73d-643a544be78c","directory":"sparkle-zero","title":"Sparkle ZERO","compatibility":99,"releases":[{"id":"0100E4F00AE14000","region":null}]},{"id":"1baca302-5c37-433e-a9c3-90412d7c404b","directory":"clock-simulator","title":"Clock Simulator","compatibility":99,"releases":[{"id":"010002A00CC42000","region":null}]},{"id":"1baf9bb5-994e-493d-874f-1f69cdf6d7c9","directory":"lumione","title":"Lumione","compatibility":99,"releases":[{"id":"01001E80154B8000","region":null}]},{"id":"1bb464c3-5501-469d-8667-77e4783cf64d","directory":"cooking-tycoons-2-3-in-1-bundle","title":"Cooking Tycoons 2 - 3 in 1 Bundle","compatibility":1,"releases":[{"id":"01005350126E0000","region":null}]},{"id":"1bb74c4d-3b9e-4cf2-8236-4ae5497f73b3","directory":"curious-cases","title":"Curious Cases","compatibility":0,"releases":[{"id":"010054501075C000","region":null}]},{"id":"1bbe5841-76ad-4640-a91c-90b884ce0d65","directory":"overcooked-all-you-can-eat","title":"Overcooked! All You Can Eat","compatibility":1,"releases":[{"id":"0100F28011892000","region":null}]},{"id":"1bc61f4f-9170-4e83-b061-6e24d88d373a","directory":"say-no-more","title":"Say No! More","compatibility":99,"releases":[{"id":"01001C3012912000","region":null}]},{"id":"1bd2a89e-d085-49df-89b5-8b3d60cf92fe","directory":"super-cane-magic-zero","title":"Super Cane Magic ZERO","compatibility":99,"releases":[{"id":"0100D9B00DB5E000","region":null}]},{"id":"1bd45288-a764-4507-bcf2-566277700657","directory":"tohu","title":"TOHU","compatibility":99,"releases":[{"id":"0100B5E011920000","region":null}]},{"id":"1bd5678d-7c07-4023-a2f3-c08104098cf9","directory":"baobabs-mausoleum-ep1-ovnifagos-dont-eat-flamingos","title":"Baobabs Mausoleum Ep.1: Ovnifagos Don't Eat Flamingos","compatibility":99,"releases":[{"id":"0100425009FB2000","region":null}]},{"id":"1be4c250-c870-4e08-8cb0-6d8df536af9b","directory":"qbik","title":"Qbik","compatibility":99,"releases":[{"id":"0100465009020000","region":null}]},{"id":"1befaa75-8022-4843-b8fe-d97430cbb55a","directory":"bake-n-switch","title":"Bake ‘n Switch","compatibility":99,"releases":[{"id":"01003E2010282000","region":null}]},{"id":"1bf296dc-df30-4736-841c-9951d7d88f51","directory":"99moves","title":"99Moves","compatibility":99,"releases":[{"id":"0100DE900CB84000","region":null}]},{"id":"1bfd3d43-7f28-440a-b7e8-5aa0c41c168a","directory":"hotel-dracula","title":"Hotel Dracula","compatibility":99,"releases":[{"id":"01008D000D980000","region":null}]},{"id":"1c0b7af9-937a-4410-8737-3a5631cab603","directory":"subaracity","title":"SubaraCity","compatibility":99,"releases":[{"id":"0100CD6004130000","region":null}]},{"id":"1c0c2b3d-cf3b-4066-bf66-e76c49b548dd","directory":"twist-switch-bundle","title":"Twist & Switch Bundle","compatibility":99,"releases":[{"id":"0100448014568000","region":null}]},{"id":"1c0e9ef3-8ec8-44c9-8f58-622555bcb0c8","directory":"sky-racket","title":"Sky Racket","compatibility":2,"releases":[{"id":"01004F0010A02000","region":null}]},{"id":"1c1002c8-2e8b-46f3-9256-102f8fe250c7","directory":"cloudpunk","title":"Cloudpunk","compatibility":0,"releases":[{"id":"0100916011210000","region":null}]},{"id":"1c18979f-1b35-4b30-bfc1-293981de97f2","directory":"crazy-zen-codeword","title":"Crazy Zen Codeword","compatibility":99,"releases":[{"id":"01001A2016CFE000","region":null}]},{"id":"1c2bc530-0ee8-4c4a-934a-929f918ae90b","directory":"de-blob","title":"de Blob","compatibility":1,"releases":[{"id":"0100D0A009310000","region":null}]},{"id":"1c2c2c9a-d540-4fa1-88b1-000ab47d82f0","directory":"gerritory","title":"Gerritory","compatibility":99,"releases":[{"id":"0100F1E011982000","region":null}]},{"id":"1c2ca6ef-b015-4bc8-8e70-069572fbec8f","directory":"reactorx","title":"ReactorX","compatibility":99,"releases":[{"id":"01003BF014B18000","region":null}]},{"id":"1c389996-39fa-4122-9db8-970bc4bbc580","directory":"spider-solitaire-f","title":"Spider Solitaire F","compatibility":99,"releases":[{"id":"01001BF00B54E000","region":null}]},{"id":"1c3d7ae8-229d-4926-ba19-b2c28249a414","directory":"2urvive","title":"2URVIVE","compatibility":99,"releases":[{"id":"01007550131EE000","region":null}]},{"id":"1c491c16-1514-41ff-b0f4-9aa9c8dc9cf9","directory":"micetopia","title":"Micetopia","compatibility":0,"releases":[{"id":"0100B8701266A000","region":null}]},{"id":"1c52c4a6-19d5-420d-93b5-dd5c564f1b3b","directory":"desktop-table-tennis","title":"Desktop Table Tennis","compatibility":99,"releases":[{"id":"01001C800DBC0000","region":null}]},{"id":"1c584b0b-31e1-4a7e-acac-ea73959c4651","directory":"torchlight-ii","title":"Torchlight II","compatibility":1,"releases":[{"id":"010090400D366000","region":null}]},{"id":"1c5a9026-ae97-47ba-bfc7-c8839ba50d0a","directory":"spaceland","title":"Spaceland","compatibility":0,"releases":[{"id":"010034800FB60000","region":null}]},{"id":"1c5b0e37-a177-4668-acd3-c5b7b34e146c","directory":"sky-gamblers-storm-raiders-2","title":"Sky Gamblers: Storm Raiders 2","compatibility":5,"releases":[{"id":"010068200E96E000","region":null}]},{"id":"1c61dc9f-d777-4a32-a5fc-2a30cb004ee6","directory":"push-the-crate-2","title":"Push the Crate 2","compatibility":99,"releases":[{"id":"0100B60010432000","region":null}]},{"id":"1c642de0-ac45-400c-87a2-ccd5781b54f0","directory":"esports-life-tycoon","title":"Esports Life Tycoon","compatibility":2,"releases":[{"id":"01001AA00BADC000","region":null}]},{"id":"1c74c506-dbaf-462c-a1f5-0a93ee497a4d","directory":"ascendant-hearts","title":"Ascendant Hearts","compatibility":0,"releases":[{"id":"01009C200F45A000","region":null}]},{"id":"1c754a18-98cc-44eb-a8c0-da2504e24db6","directory":"stonefly","title":"Stonefly","compatibility":99,"releases":[{"id":"010000E0145BA000","region":null}]},{"id":"1c791f8a-d542-4f12-b313-ea59266ed746","directory":"our-world-is-ended","title":"Our World Is Ended.","compatibility":3,"releases":[{"id":"0100D5D00C6BE000","region":null}]},{"id":"1c89d9bd-14e9-4424-8a6e-d65a64bf07f1","directory":"island-saver","title":"Island Saver","compatibility":99,"releases":[{"id":"0100A2600FCA0000","region":null}]},{"id":"1c96c67d-4cc1-4491-bb20-36886b2918e3","directory":"robot-car-war-transform-battle-machines","title":"Robot Car War: Transform Battle Machines","compatibility":99,"releases":[{"id":"010010001636E000","region":null}]},{"id":"1c98fb1a-4205-45d5-b5de-a9b61e6af6a8","directory":"everhood","title":"Everhood","compatibility":0,"releases":[{"id":"0100E20014028000","region":null}]},{"id":"1c9e6738-ba70-4069-aaf7-a5e647bec1d6","directory":"the-sundew","title":"The Sundew","compatibility":99,"releases":[{"id":"0100E1E01523A000","region":null}]},{"id":"1ca3e61c-6ba6-4395-a7b7-5c6768f7e591","directory":"castle-kong","title":"Castle Kong","compatibility":99,"releases":[{"id":"010042201353E000","region":null}]},{"id":"1cb4163c-6928-44fc-8fc8-56d6924240b5","directory":"aqua-tv","title":"Aqua TV","compatibility":99,"releases":[{"id":"01008ED00B916000","region":null}]},{"id":"1cb49f8f-e562-4b90-9590-bd4c68d00503","directory":"twitch","title":"Twitch","compatibility":99,"releases":[{"id":"01008D101524E000","region":null}]},{"id":"1cbd4e14-607c-40ee-ac93-d148e36e359a","directory":"nascar-heat-ultimate-edition","title":"NASCAR Heat Ultimate Edition+","compatibility":0,"releases":[{"id":"0100DC7013938000","region":null}]},{"id":"1cc3e48c-8d3b-44c1-9d13-70866f0abccf","directory":"digerati-indie-bundle-ink-and-hackyzack","title":"Digerati Indie Bundle: INK & HackyZack","compatibility":99,"releases":[{"id":"01003D800BE5C000","region":null}]},{"id":"1cd37a9e-cce2-47c1-9369-11d1bd73a37c","directory":"luigis-mansion-3","title":"Luigi's Mansion 3","compatibility":3,"releases":[{"id":"0100DCA0064A6000","region":null}]},{"id":"1cd90b58-81d2-4350-a2bc-164a47727d51","directory":"void-source","title":"Void Source","compatibility":99,"releases":[{"id":"010099E013430000","region":null}]},{"id":"1cda8699-af49-43fb-be4a-9c416a7e00c1","directory":"cast-of-the-seven-godsends","title":"Cast of the Seven Godsends","compatibility":99,"releases":[{"id":"0100AEF00A270000","region":null}]},{"id":"1ce96f5d-524c-4f95-8784-412fb7c5c65f","directory":"forklift-the-simulation","title":"Forklift - The Simulation","compatibility":99,"releases":[{"id":"01006A900EB1A000","region":null}]},{"id":"1cec6689-db5f-4f7d-9083-3f0464c77364","directory":"johnny-rocket","title":"Johnny Rocket","compatibility":99,"releases":[{"id":"0100C030124E8000","region":null}]},{"id":"1cfc3c63-334c-4efa-b28b-cbdfc1adcf1b","directory":"drawngeon-dungeons-of-ink-and-paper","title":"Drawngeon: Dungeons of Ink and Paper","compatibility":99,"releases":[{"id":"0100B7E0102E4000","region":null}]},{"id":"1d004410-8b5c-4a54-8f32-0a929d412c36","directory":"code-realize-wintertide-miracles","title":"Code: Realize ~Wintertide Miracles~","compatibility":0,"releases":[{"id":"0100A27013626000","region":null}]},{"id":"1d0954b8-a9f9-4f67-b747-e926c7089813","directory":"debris-infinity","title":"Debris Infinity","compatibility":1,"releases":[{"id":"010034F00BFC8000","region":null}]},{"id":"1d2d4e81-8a45-415d-8be7-0f193ef17473","directory":"pirate-pop-plus","title":"Pirate Pop Plus","compatibility":99,"releases":[{"id":"010025E0092B6000","region":null}]},{"id":"1d3d08b1-ef84-4a26-9d21-7bbec898d2ae","directory":"survival-z","title":"Survival Z","compatibility":99,"releases":[{"id":"01008950156C4000","region":null}]},{"id":"1d4072d7-074e-47a8-a0b2-af9c0361cba3","directory":"fuzzball","title":"FuzzBall","compatibility":99,"releases":[{"id":"010067600F1A0000","region":null}]},{"id":"1d611969-6159-4cf2-9317-9805d4fd8f1a","directory":"rally-rock-n-racing","title":"Rally Rock 'N Racing","compatibility":99,"releases":[{"id":"0100F5700DE18000","region":null}]},{"id":"1d79b3a6-3cd6-4213-8388-22880d4632e4","directory":"shaq-fu-a-legend-reborn","title":"Shaq Fu: A Legend Reborn","compatibility":0,"releases":[{"id":"0100769004584000","region":null}]},{"id":"1d86e9c8-87b9-41ab-97a1-01569d1911fc","directory":"anodyne-2-return-to-dust","title":"Anodyne 2: Return to Dust","compatibility":99,"releases":[{"id":"01007BB012B0A000","region":null}]},{"id":"1d8c64a8-0a7a-4b1b-a7ee-9e8d51ba5c4d","directory":"tumblestone-demo","title":"Tumblestone Demo","compatibility":99,"releases":[{"id":"010023300B0F0000","region":null}]},{"id":"1d91644f-d24f-434f-91f9-20af67ed991c","directory":"road-3-pack","title":"Road 3 Pack","compatibility":99,"releases":[{"id":"01009070133D0000","region":null}]},{"id":"1db92208-2f1a-40ec-93eb-b814a01f339e","directory":"os-omega","title":"OS Omega","compatibility":99,"releases":[{"id":"01005A8015436000","region":null}]},{"id":"1dc32f05-35cf-4c73-979c-8194995df63f","directory":"ion-fury","title":"Ion Fury","compatibility":99,"releases":[{"id":"010041C00D086000","region":null}]},{"id":"1dc803c7-67f7-41e0-8a0d-b4742b48ad4e","directory":"cupcake-match","title":"Cupcake Match","compatibility":99,"releases":[{"id":"0100EB501414A000","region":null}]},{"id":"1dcd2616-0b5d-4988-8f21-3145ba3fea63","directory":"when-the-past-was-around","title":"When the Past was Around","compatibility":0,"releases":[{"id":"01008C9012F4A000","region":null}]},{"id":"1dce20cc-d6fc-41db-b765-f7c6c3628ea5","directory":"pressure-overdrive","title":"Pressure Overdrive","compatibility":2,"releases":[{"id":"01003F300C6BC000","region":null}]},{"id":"1dd07a31-daea-41f2-bcd5-f2dd1cea9074","directory":"nova-111","title":"Nova-111","compatibility":99,"releases":[{"id":"0100B2E0160E6000","region":null}]},{"id":"1dd0f0a1-4dae-4fc5-ada9-6cb560d37fda","directory":"draculas-legacy","title":"Dracula's Legacy","compatibility":5,"releases":[{"id":"01001B80099F6000","region":null}]},{"id":"1dd5f709-22c5-4ffc-91dd-3374546b325d","directory":"pang-adventures","title":"Pang Adventures","compatibility":1,"releases":[{"id":"010087300B730000","region":null}]},{"id":"1de0e68d-a41e-4018-9f2a-6cd392a94059","directory":"galaxy-of-pen-paper-1-edition","title":"Galaxy of Pen & Paper +1 Edition","compatibility":99,"releases":[{"id":"0100CFD00BF3E000","region":null}]},{"id":"1de42e24-74bd-4b74-886a-b9c1c99a1071","directory":"aca-neogeo-soccer-brawl","title":"ACA NEOGEO SOCCER BRAWL","compatibility":99,"releases":[{"id":"0100DBF004FAA000","region":null}]},{"id":"1df1008a-1587-4cde-84f2-98d549d290ae","directory":"the-missing-jj-macfield-and-the-island-of-memories","title":"The MISSING: J.J. Macfield and the Island of Memories","compatibility":2,"releases":[{"id":"0100F1B00B456000","region":null}]},{"id":"1e0044f2-509d-475e-afa9-39a1ee48bab0","directory":"mochi-mochi-boy","title":"Mochi Mochi Boy","compatibility":99,"releases":[{"id":"01008C500E7D8000","region":null}]},{"id":"1e0de444-f4b8-4b47-922d-9abaa3ec9d3e","directory":"sega-ages-phantasy-star","title":"SEGA AGES Phantasy Star","compatibility":1,"releases":[{"id":"01005A300C9F6000","region":null}]},{"id":"1e23ee88-3e8e-4453-9c31-030beecda57f","directory":"subsurface-circular","title":"Subsurface Circular","compatibility":1,"releases":[{"id":"01002C80086E6000","region":null}]},{"id":"1e2bfa2d-7b9f-448f-8f68-df8349628413","directory":"game-builder-garage","title":"Game Builder Garage™","compatibility":2,"releases":[{"id":"0100FA5010788000","region":null}]},{"id":"1e2d3cbf-6632-4f29-aad4-235164403551","directory":"zengeon","title":"Zengeon","compatibility":2,"releases":[{"id":"0100057011E50000","region":null}]},{"id":"1e30fecb-c229-48f9-a54b-23941db78f8d","directory":"arcade-archives-crazy-climber2","title":"Arcade Archives CRAZY CLIMBER2","compatibility":1,"releases":[{"id":"010055B009814000","region":null}]},{"id":"1e34cd6a-8ccf-4455-9fd8-a15ad59f2ac9","directory":"arcade-archives-psycho-soldier","title":"Arcade Archives PSYCHO SOLDIER","compatibility":4,"releases":[{"id":"01000D200C7A4000","region":null}]},{"id":"1e38c6d2-f5f3-4979-97de-fce614ec4a6c","directory":"chroma-quaternion","title":"Chroma Quaternion","compatibility":99,"releases":[{"id":"01003F0014F32000","region":null}]},{"id":"1e395234-65e0-485b-9d64-16132d22e9e2","directory":"river-city-girls","title":"River City Girls","compatibility":1,"releases":[{"id":"01004E700DFE6000","region":null}]},{"id":"1e3c2b9a-21d0-46c7-bebf-6502a745dd78","directory":"the-outer-worlds","title":"The Outer Worlds","compatibility":3,"releases":[{"id":"0100626011656000","region":null}]},{"id":"1e4caeb0-dde0-4004-be20-9df029febaa6","directory":"zombie-driver-immortal-edition","title":"Zombie Driver Immortal Edition","compatibility":0,"releases":[{"id":"01006CF00DA8C000","region":null}]},{"id":"1e550c82-f91b-4799-8a2f-98a3965c3765","directory":"paint","title":"Paint","compatibility":99,"releases":[{"id":"0100946012446000","region":null}]},{"id":"1e667873-9e4c-4c24-adba-c756f6c9038e","directory":"pretty-girls-mahjong-solitaire","title":"Pretty Girls Mahjong Solitaire","compatibility":99,"releases":[{"id":"01008B7013F7C000","region":null}]},{"id":"1e6a542a-5f6d-4c65-bbb4-d486ec971d89","directory":"i-dream-of-you-and-ice-cream","title":"I dream of you and ice cream","compatibility":99,"releases":[{"id":"010071D0121B0000","region":null}]},{"id":"1e70e208-ba60-4bdd-8aeb-b07985676282","directory":"nba-2k18","title":"NBA 2K18","compatibility":5,"releases":[{"id":"0100760002048000","region":null}]},{"id":"1e75bd94-930c-43b5-8c76-9c740f6e2bf4","directory":"revenant-dogma","title":"Revenant Dogma","compatibility":99,"releases":[{"id":"0100BE400BEC8000","region":null}]},{"id":"1e8e5bb5-f93e-432a-801a-63cce5703e88","directory":"city-pipes","title":"City Pipes","compatibility":99,"releases":[{"id":"0100DE80166F6000","region":null}]},{"id":"1e8f2bf1-619f-4b5e-a49f-2f8aa1828b74","directory":"lost-grimoires-3-the-forgotten-well","title":"Lost Grimoires 3: The Forgotten Well","compatibility":99,"releases":[{"id":"0100BBB015694000","region":null}]},{"id":"1e8fce03-2328-4b1c-8f32-c4365a7c364f","directory":"princess-maker-gogo-princess","title":"Princess Maker Go!Go! Princess","compatibility":99,"releases":[{"id":"010018100F688000","region":null}]},{"id":"1eb66164-f8f6-404c-9c23-8d3cc390ddfc","directory":"tangledeep","title":"Tangledeep","compatibility":1,"releases":[{"id":"010048F007ADE000","region":null}]},{"id":"1ec0a469-ed00-474a-941e-768a0cc2d46e","directory":"disney-magical-world-2-enchanted-edition","title":"Disney Magical World 2: Enchanted Edition","compatibility":99,"releases":[{"id":"010029E01403A000","region":null}]},{"id":"1ecb849e-bab0-4e69-82f7-5a4be0556b74","directory":"boyfriend-dungeon","title":"Boyfriend Dungeon","compatibility":2,"releases":[{"id":"0100D2200BC82000","region":null}]},{"id":"1ede7b32-8104-4ffa-92f4-8e8e2dcc3b5e","directory":"dragon-marked-for-death-frontline-fighters","title":"Dragon Marked for Death: Frontline Fighters","compatibility":0,"releases":[{"id":"010089700150E000","region":null}]},{"id":"1ee1894e-ee4d-4501-b860-b410516227d1","directory":"mega-man-x-legacy-collection-2","title":"Mega Man X Legacy Collection 2","compatibility":1,"releases":[{"id":"01005250086C4000","region":null}]},{"id":"1ee66f3e-ec97-4953-b255-4ba2ced87737","directory":"ghost-blade-hd","title":"Ghost Blade HD","compatibility":99,"releases":[{"id":"010063200C588000","region":null}]},{"id":"1ef95ee4-8e8f-442e-9e07-93bf33346716","directory":"groove-coaster-wai-wai-party","title":"GROOVE COASTER WAI WAI PARTY!!!!","compatibility":0,"releases":[{"id":"0100EB500D92E000","region":null}]},{"id":"1f07335a-fdce-454c-adc5-219a3f422233","directory":"battle-chef-brigade-deluxe","title":"Battle Chef Brigade Deluxe","compatibility":1,"releases":[{"id":"0100CC2001C6C000","region":null}]},{"id":"1f082208-397f-4d1e-ae5f-d0c73f38522c","directory":"zombie-army-trilogy","title":"Zombie Army Trilogy","compatibility":1,"releases":[{"id":"0100C7300EEE4000","region":null}]},{"id":"1f0e83f8-5cc2-4251-8a89-6e1c6db5718e","directory":"super-kirby-clash","title":"Super Kirby Clash","compatibility":1,"releases":[{"id":"01003FB00C5A8000","region":null}]},{"id":"1f115fb6-4066-4495-b764-31bc9b930378","directory":"portal-knights-demo","title":"Portal Knights Demo","compatibility":99,"releases":[{"id":"010086100AA54000","region":null}]},{"id":"1f11a10e-7f4e-45e8-94db-d439b951d912","directory":"junkyard-builder","title":"Junkyard Builder","compatibility":99,"releases":[{"id":"01006700152AE000","region":null}]},{"id":"1f2022e5-46be-4233-9116-55dfb2d608a2","directory":"epic-dumpster-bear-2-he-who-bears-wins","title":"Epic Dumpster Bear 2: He Who Bears Wins","compatibility":99,"releases":[{"id":"0100271014B26000","region":null}]},{"id":"1f27a8f6-94a2-4213-84cb-c00e97b24146","directory":"claybook","title":"Claybook","compatibility":5,"releases":[{"id":"010009300AA6C000","region":null}]},{"id":"1f2e6f86-ce0f-429d-8c16-4f8f59341de0","directory":"the-wild-at-heart","title":"The Wild at Heart","compatibility":99,"releases":[{"id":"0100129014FA8000","region":null}]},{"id":"1f35ae36-1882-43cd-ba02-d004926d310e","directory":"table-top-racing-world-tour-nitro-edition","title":"Table Top Racing: World Tour - Nitro Edition","compatibility":3,"releases":[{"id":"010015B00BB00000","region":null}]},{"id":"1f36cc18-c8d0-48b7-9b33-130282f47e3d","directory":"justice-chronicles","title":"Justice Chronicles","compatibility":99,"releases":[{"id":"01000F4015BF6000","region":null}]},{"id":"1f3e2fac-9f00-449c-8217-a1fd68089f1d","directory":"shiftlings-enhanced-edition","title":"Shiftlings - Enhanced Edition","compatibility":0,"releases":[{"id":"01000750084B2000","region":null}]},{"id":"1f3f1303-c384-4713-9745-66ec468448ad","directory":"atelier-shallie-alchemists-of-the-dusk-sea-dx","title":"Atelier Shallie: Alchemists of the Dusk Sea DX","compatibility":99,"releases":[{"id":"010005C00EE90000","region":null}]},{"id":"1f4093da-43eb-424f-ada1-d1afae710413","directory":"kero-blaster","title":"Kero Blaster","compatibility":4,"releases":[{"id":"0100DA200A09A000","region":null}]},{"id":"1f4722e8-012f-4f08-9245-7cb3841ea5db","directory":"animus-harbinger","title":"ANIMUS: Harbinger","compatibility":0,"releases":[{"id":"0100E5A00FD38000","region":null}]},{"id":"1f4d56a2-30cd-443f-aa84-b7fdede4ed67","directory":"motogp19","title":"MotoGP19","compatibility":3,"releases":[{"id":"01004B800D0E8000","region":null}]},{"id":"1f552c09-0d17-433a-9836-c95bfbf51f20","directory":"safari-pinball","title":"Safari Pinball","compatibility":99,"releases":[{"id":"01005DE00F3BC000","region":null}]},{"id":"1f578feb-cc6a-4dac-a3e8-f2472a2a5fc5","directory":"rocket-rabbit-coin-race","title":"Rocket Rabbit - Coin Race","compatibility":99,"releases":[{"id":"010031C0110F6000","region":null}]},{"id":"1f5ce262-7d4a-4c95-9bfc-12cc8ea9ace9","directory":"spelunker-party-demo-version","title":"Spelunker Party! DEMO VERSION","compatibility":99,"releases":[{"id":"01000D7005E28000","region":null}]},{"id":"1f6773ef-2866-46a8-9e14-253e30dd8a7d","directory":"arcade-archives-task-force-harrier","title":"Arcade Archives TASK FORCE HARRIER","compatibility":99,"releases":[{"id":"01007EB014716000","region":null}]},{"id":"1f684c48-f43a-4552-a9c5-f0b362392705","directory":"squareboy-vs-bullies-arena-edition","title":"Squareboy vs Bullies: Arena Edition","compatibility":99,"releases":[{"id":"0100DE40068CA000","region":null}]},{"id":"1f8cddc1-ec72-4a34-bf3f-a41f85bc5b95","directory":"casino-roulette-royal","title":"Casino Roulette Royal","compatibility":99,"releases":[{"id":"01002EE015ED4000","region":null}]},{"id":"1f903d0c-65f3-4b58-b581-0c53d1264385","directory":"lair-of-the-clockwork-god","title":"Lair of the Clockwork God","compatibility":99,"releases":[{"id":"01008280119B2000","region":null}]},{"id":"1f9a73e4-7108-413a-b19d-f31b594e64bb","directory":"pixel-game-maker-series-dragon-peak","title":"Pixel Game Maker Series DRAGON PEAK","compatibility":99,"releases":[{"id":"01004040145CA000","region":null}]},{"id":"1fb8c7c5-ceb0-4f51-a0af-3cbde335b08b","directory":"steampunk-tower-2","title":"Steampunk Tower 2","compatibility":99,"releases":[{"id":"0100AA8012EF2000","region":null}]},{"id":"1fc1c0c3-0d94-4261-888d-4f676a0e03e5","directory":"arcade-archives-vigilante","title":"Arcade Archives VIGILANTE","compatibility":99,"releases":[{"id":"0100EA300EFF0000","region":null}]},{"id":"1fce57d7-90f1-42f2-87eb-ad14f13194aa","directory":"aca-neogeo-super-sidekicks-2","title":"ACA NEOGEO SUPER SIDEKICKS 2","compatibility":4,"releases":[{"id":"010055A00A300000","region":null}]},{"id":"1fcf6234-3ac5-41b6-9b68-2fc9ad0034aa","directory":"planetarian","title":"planetarian","compatibility":2,"releases":[{"id":"0100BD100C752000","region":null}]},{"id":"1fd088d8-7bd7-4831-8289-97f7a2466072","directory":"rocketsrocketsrockets","title":"ROCKETSROCKETSROCKETS","compatibility":99,"releases":[{"id":"010053400BFA6000","region":null}]},{"id":"1fd485b9-215c-462f-bfcb-45cd5bec3a95","directory":"funbox-party","title":"FunBox Party","compatibility":1,"releases":[{"id":"0100A8F00B3D0000","region":null}]},{"id":"1fe0a9a0-ecbc-40b4-bf37-a197b40d058a","directory":"deep-ones-demo","title":"Deep Ones Demo","compatibility":99,"releases":[{"id":"010071000AAFC000","region":null}]},{"id":"1fe5f60f-db40-4154-b6c1-d25f3d81569b","directory":"ninja-gaiden-master-collection","title":"NINJA GAIDEN: Master Collection","compatibility":0,"releases":[{"id":"01002AF014F4C000","region":null}]},{"id":"1fe804e6-ca03-4d5a-9849-df3680574082","directory":"capes-escape-game","title":"Cape's escape game","compatibility":99,"releases":[{"id":"0100C73013506000","region":null}]},{"id":"1feecf39-7dcf-403d-b3a0-643feb5380ad","directory":"rock-n-racing-bundle-off-road-rally","title":"Rock 'N Racing Bundle Off Road & Rally","compatibility":99,"releases":[{"id":"0100FDE013DE4000","region":null}]},{"id":"20116a7e-0380-45c4-8160-f99465e9a2c4","directory":"sky-children-of-the-light","title":"Sky: Children of the Light","compatibility":5,"releases":[{"id":"0100C52011460000","region":null}]},{"id":"2016c53d-59fe-4d46-9391-57b6c95bd0cb","directory":"the-lego-movie-2-videogame","title":"The LEGO Movie 2 Videogame","compatibility":2,"releases":[{"id":"0100A4400BE74000","region":null}]},{"id":"201f3f51-d912-4091-a3d0-b3e58168cc44","directory":"solitaire-tripeaks-flowers","title":"Solitaire TriPeaks Flowers","compatibility":99,"releases":[{"id":"0100AD3012234000","region":null}]},{"id":"20258df2-9766-49c1-a430-a10912f37f3e","directory":"little-nightmares-complete-edition","title":"Little Nightmares Complete Edition","compatibility":3,"releases":[{"id":"01002FC00412C000","region":null}]},{"id":"20382fd5-e22d-4163-9bcb-88b088e40da3","directory":"rift-keeper","title":"Rift Keeper","compatibility":99,"releases":[{"id":"0100AC600D898000","region":null}]},{"id":"20427ac3-1424-45cb-9b38-524eb879d587","directory":"mr-shifty","title":"Mr. Shifty","compatibility":99,"releases":[{"id":"010031F002B66000","region":null}]},{"id":"205d95b3-aa7c-4bb0-8d39-cf4ae0f39539","directory":"car-trader","title":"Car Trader","compatibility":99,"releases":[{"id":"01006E200E322000","region":null}]},{"id":"206b8848-33ee-48a0-a109-4ca33ed1f71d","directory":"gemini-arms","title":"GEMINI ARMS","compatibility":3,"releases":[{"id":"01004BF01267E000","region":null}]},{"id":"207471ef-d9ff-48c4-a0d3-bb23953f665f","directory":"the-end-is-nigh","title":"The End Is Nigh","compatibility":3,"releases":[{"id":"01004A9006B84000","region":null}]},{"id":"207fe52d-6855-4b14-afae-f7cc7e53b5d4","directory":"area-86","title":"Area 86","compatibility":1,"releases":[{"id":"01004DA012976000","region":null}]},{"id":"20875a64-7dcc-4a1e-ad71-a117e5ef7238","directory":"soul-knight","title":"Soul Knight","compatibility":1,"releases":[{"id":"0100A0800B83A000","region":null}]},{"id":"20881c63-972f-4cfb-80d6-80a775da2e4f","directory":"john-wick-hex","title":"John Wick Hex","compatibility":0,"releases":[{"id":"01007090104EC000","region":null}]},{"id":"208cb4e5-fa3a-465f-a503-6c33c4e84fa3","directory":"sega-ages-wonder-boy-monster-land","title":"SEGA AGES Wonder Boy: Monster Land","compatibility":0,"releases":[{"id":"01001E700AC60000","region":null}]},{"id":"20972b55-7da6-45f3-89f0-442b8946eadb","directory":"monster-train-first-class","title":"Monster Train First Class","compatibility":99,"releases":[{"id":"01006D9013894000","region":null}]},{"id":"20a59e40-0375-40fc-be00-3e62c693c2ca","directory":"i-am-the-hero","title":"I Am The Hero","compatibility":99,"releases":[{"id":"0100019006F4E000","region":null}]},{"id":"20ac99fa-9033-469d-b524-ca65a5371192","directory":"12-is-better-than-6","title":"12 is Better Than 6","compatibility":2,"releases":[{"id":"01007F600D1B8000","region":null}]},{"id":"20bb8183-b7e9-43a9-bec1-8dcc580a3cc9","directory":"bishoujo-battle-mahjong-solitaire","title":"Bishoujo Battle Mahjong Solitaire","compatibility":99,"releases":[{"id":"01008AE013F82000","region":null}]},{"id":"20cd1374-31f1-45f3-81be-2c46bf841bbd","directory":"skellboy-refractured","title":"Skellboy Refractured","compatibility":99,"releases":[{"id":"0100D7001453A000","region":null}]},{"id":"20d5a7b7-a72c-4504-b971-371fca167412","directory":"daemon-x-machina","title":"DAEMON X MACHINA™","compatibility":2,"releases":[{"id":"0100B6400CA56000","region":null}]},{"id":"20dff95b-4fa1-464a-a061-d0b38d935ad7","directory":"pixel-game-maker-series-the-witch-and-the-66-mushrooms","title":"Pixel Game Maker Series The Witch and The 66 Mushrooms","compatibility":99,"releases":[{"id":"01002C90133CA000","region":null}]},{"id":"20e3d5fc-72ff-4a19-ba80-6321a05a3165","directory":"frodoric-the-driver","title":"Frodoric The Driver","compatibility":99,"releases":[{"id":"0100716013B3C000","region":null}]},{"id":"20e9137a-82c4-4c95-b2c0-26aa17e13336","directory":"4x4-dirt-track","title":"4x4 Dirt Track","compatibility":0,"releases":[{"id":"01006890126E4000","region":null}]},{"id":"20ecf007-e540-432c-bd50-12288a726ad6","directory":"the-aquatic-adventure-of-the-last-human","title":"The Aquatic Adventure of the Last Human","compatibility":0,"releases":[{"id":"0100A6F00C34E000","region":null}]},{"id":"20f4c4af-3c1d-4ff1-a9bd-bdfdad8b99a5","directory":"poker-club","title":"Poker Club","compatibility":99,"releases":[{"id":"0100F16010A40000","region":null}]},{"id":"21013044-7fbf-494f-9384-aec7dc7f259a","directory":"grave-danger","title":"Grave Danger","compatibility":1,"releases":[{"id":"010074E0099FA000","region":null}]},{"id":"21030b15-bc98-4680-a754-9469d05796be","directory":"stickman-far-east-battle","title":"Stickman: Far East Battle","compatibility":99,"releases":[{"id":"0100C6F0163B0000","region":null}]},{"id":"21057225-0710-4b15-a9e8-a1b54506dc07","directory":"razion-ex","title":"Razion EX","compatibility":0,"releases":[{"id":"010032B013CE4000","region":null}]},{"id":"2119bf7e-de48-4e57-aeea-a072d1ebf3b0","directory":"estiman","title":"Estiman","compatibility":0,"releases":[{"id":"01008E500CF02000","region":null}]},{"id":"21231b5c-65e1-469d-9958-73406c400c13","directory":"radical-rabbit-stew","title":"Radical Rabbit Stew","compatibility":99,"releases":[{"id":"0100C8B00D2BE000","region":null}]},{"id":"2125e57f-b93b-40ae-b810-bc8fc3606c17","directory":"skulls-of-the-shogun-bone-a-fide-edition","title":"Skulls of the Shogun: Bone-A-Fide Edition","compatibility":99,"releases":[{"id":"0100D1100BF9C000","region":null}]},{"id":"212b8819-5458-49a3-94bb-6ce54131af65","directory":"caveblazers","title":"Caveblazers","compatibility":5,"releases":[{"id":"01001A100C0E8000","region":null}]},{"id":"2131b9b9-2898-4944-a9dc-64b7d13d52b7","directory":"my-lovely-daughter","title":"My Lovely Daughter","compatibility":99,"releases":[{"id":"010086B00C784000","region":null}]},{"id":"21430a69-56f5-4e52-a202-a14221d6e05f","directory":"metamorphosis","title":"Metamorphosis","compatibility":99,"releases":[{"id":"010055200E87E000","region":null}]},{"id":"2147ea00-2529-4561-83b6-513b23b49f6e","directory":"final-fantasy-xx-2-hd-remaster","title":"FINAL FANTASY X/X-2 HD Remaster","compatibility":1,"releases":[{"id":"0100BC300CB48000","region":null}]},{"id":"2149cdcc-49b3-4b74-bca3-e403f1046c68","directory":"realm-royale","title":"Realm Royale","compatibility":99,"releases":[{"id":"0100CC400DDE8000","region":null}]},{"id":"21599666-82bf-4518-beaa-6a2f592878b5","directory":"arcade-archives-super-punch-out","title":"Arcade Archives SUPER PUNCH-OUT!!","compatibility":0,"releases":[{"id":"01007E2011CE4000","region":null}]},{"id":"215a5c85-be4d-4646-9e7a-02960a0395d8","directory":"slayaway-camp-butchers-cut","title":"Slayaway Camp: Butcher's Cut","compatibility":0,"releases":[{"id":"0100501006494000","region":null}]},{"id":"21626c01-f7d5-4465-9681-b014c9729c14","directory":"spelunky","title":"Spelunky","compatibility":0,"releases":[{"id":"0100710013ABA000","region":null}]},{"id":"2175a0c6-24b6-4c6b-a320-9795c3bb41f2","directory":"the-trail-frontier-challenge","title":"The Trail: Frontier Challenge","compatibility":99,"releases":[{"id":"0100B0E0086F6000","region":null}]},{"id":"217f4ac9-a6e3-431a-ba97-11a6bca49ab9","directory":"hardcube","title":"HardCube","compatibility":99,"releases":[{"id":"01000C90117FA000","region":null}]},{"id":"21859f8d-4bf6-4957-8e2e-a887adf3d2b3","directory":"cave-story","title":"Cave Story+","compatibility":1,"releases":[{"id":"0100B7D0022EE000","region":null}]},{"id":"218e3d35-9319-4e66-aa14-a12eb2820078","directory":"grand-prix-rock-n-racing","title":"Grand Prix Rock 'N Racing","compatibility":99,"releases":[{"id":"0100D84005AF6000","region":null}]},{"id":"21953b79-3d68-48cf-906c-fa5124d6cfcb","directory":"octopath-traveler","title":"Octopath Traveler","compatibility":1,"releases":[{"id":"010057D006492000","region":null}]},{"id":"2198df3b-5d0b-4395-bfa0-56add2aa9099","directory":"scribblenauts-showdown","title":"Scribblenauts Showdown","compatibility":5,"releases":[{"id":"01001E40041BE000","region":null}]},{"id":"21aafce7-1080-4a35-afb7-355ee49893b7","directory":"kirakira-stars-idol-project-reika","title":"Kirakira stars idol project Reika","compatibility":99,"releases":[{"id":"010009E0154C0000","region":null}]},{"id":"21ad9527-423a-497b-9d0e-1c51c842ee87","directory":"word-mesh","title":"Word Mesh","compatibility":99,"releases":[{"id":"010042800E748000","region":null}]},{"id":"21afa80e-1e9c-45d3-a8ab-bb7c95958696","directory":"debtor","title":"Debtor","compatibility":99,"releases":[{"id":"0100D96011D0E000","region":null}]},{"id":"21b46363-8d89-4935-9ca0-1c982caa4ebd","directory":"noreload-heroes","title":"NoReload Heroes","compatibility":1,"releases":[{"id":"0100E9A00B0BC000","region":null}]},{"id":"21b96f74-c035-47fc-a4c4-3b485e68c843","directory":"landflix-odyssey","title":"Landflix Odyssey","compatibility":99,"releases":[{"id":"0100BE3013A38000","region":null}]},{"id":"21bc2d01-e013-4bbc-bb39-897f2685f21f","directory":"a-jugglers-tale","title":"A Juggler's Tale","compatibility":99,"releases":[{"id":"0100CFD01517A000","region":null}]},{"id":"21de6c2e-45c1-4dc4-ba47-1bc61af6b114","directory":"wenjia","title":"Wenjia","compatibility":0,"releases":[{"id":"010035600EC94000","region":null}]},{"id":"21e59cc0-b312-4b15-bb43-6c1f829a6945","directory":"arcade-archives-radical-radial","title":"Arcade Archives RADICAL RADIAL","compatibility":99,"releases":[{"id":"0100A01011B04000","region":null}]},{"id":"22046a28-1842-40f5-82b8-9d580d482991","directory":"canceled-super-puzzles-dream","title":"Canceled! Super Puzzles Dream","compatibility":99,"releases":[{"id":"010023E016F8E000","region":null}]},{"id":"22135b58-c614-4888-9e2e-b073a51ed893","directory":"rise-and-shine","title":"Rise and Shine","compatibility":3,"releases":[{"id":"010065B00B0EC000","region":null}]},{"id":"221afbe6-2dec-4cc0-906b-ba37047fb688","directory":"fobia","title":"Fobia","compatibility":99,"releases":[{"id":"010056000BA1C000","region":null}]},{"id":"222af30e-b532-478d-aebf-8be7cc072594","directory":"road-96","title":"Road 96","compatibility":1,"releases":[{"id":"010031B0145B4000","region":null}]},{"id":"2231e39e-911e-4a1c-898f-605b69f431dd","directory":"super-skelemania","title":"Super Skelemania","compatibility":99,"releases":[{"id":"010039700D200000","region":null}]},{"id":"2234a4c2-afda-4b86-af77-47ea1f4dbc30","directory":"dungeon-nightmares-1-2-collection","title":"Dungeon Nightmares 1+2 Collection","compatibility":99,"releases":[{"id":"01009020135FE000","region":null}]},{"id":"2255a9e1-e120-4101-ac68-c617b692ece5","directory":"the-fall-part-2-unbound","title":"The Fall Part 2: Unbound","compatibility":99,"releases":[{"id":"01003E5002320000","region":null}]},{"id":"22597902-9e9e-40ce-a7da-75ac7dd49cf5","directory":"20xx","title":"20XX","compatibility":3,"releases":[{"id":"0100749009844000","region":null}]},{"id":"226d3d5f-b5f1-4bad-b4c2-79ddd629f181","directory":"kakurasu-world","title":"Kakurasu World","compatibility":99,"releases":[{"id":"010053C012AE2000","region":null}]},{"id":"22852653-ecee-4b9b-819d-9906dfa6e650","directory":"zombie-raid","title":"Zombie Raid","compatibility":99,"releases":[{"id":"0100A0E0153D0000","region":null}]},{"id":"2286d67d-338d-4888-9193-fa4942b7a236","directory":"good-night-knight","title":"Good Night, Knight","compatibility":99,"releases":[{"id":"01003AD0123A2000","region":null}]},{"id":"22b3bf07-2e57-420f-8498-7a8a54cb225b","directory":"at-sundown-shots-in-the-dark","title":"At Sundown: Shots in the Dark","compatibility":99,"releases":[{"id":"010032A008754000","region":null}]},{"id":"22b57769-80c5-400f-9361-62d2a3087f80","directory":"aca-neogeo-mutation-nation","title":"ACA NEOGEO MUTATION NATION","compatibility":99,"releases":[{"id":"01007F4004FA4000","region":null}]},{"id":"22bb3ec3-0c40-4f74-9f02-7152c50c73eb","directory":"robonauts","title":"Robonauts","compatibility":4,"releases":[{"id":"0100618004096000","region":null}]},{"id":"22bf5101-3823-43ae-8542-d9820e9521e5","directory":"paper-wars-cannon-fodder-devastated","title":"Paper Wars: Cannon Fodder Devastated","compatibility":99,"releases":[{"id":"0100D1D007F4E000","region":null}]},{"id":"22c5850e-f2c3-4867-830c-06861061929f","directory":"dirt-trackin-sprint-cars","title":"Dirt Trackin Sprint Cars","compatibility":99,"releases":[{"id":"01004CB01378A000","region":null}]},{"id":"22c7c7a9-b996-4bb7-90e9-f27ff8156fae","directory":"arcade-archives-ninja-kazan","title":"Arcade Archives Ninja Kazan","compatibility":99,"releases":[{"id":"010054B013FB2000","region":null}]},{"id":"22cda249-4823-43d5-8ff3-55e881b5429d","directory":"travel-mosaics-5-waltzing-vienna","title":"Travel Mosaics 5: Waltzing Vienna","compatibility":99,"releases":[{"id":"01004C4010C00000","region":null}]},{"id":"22d3a6a8-de8e-4951-aee1-9cb0419c3120","directory":"stay-cool-kobayashi-san-a-river-city-ransom-story","title":"STAY COOL, KOBAYASHI-SAN!: A RIVER CITY RANSOM STORY","compatibility":2,"releases":[{"id":"0100B61009C60000","region":null}]},{"id":"22dba733-83ec-4ebb-89bd-3b5ddc06f702","directory":"q-yo-blaster","title":"Q-YO Blaster","compatibility":5,"releases":[{"id":"0100F1100E606000","region":null}]},{"id":"22e266eb-92d9-42bc-9ae3-ca7962106c16","directory":"horror-sports-pinball","title":"Horror & Sports Pinball","compatibility":99,"releases":[{"id":"0100A6B016838000","region":null}]},{"id":"22e5384f-c6c6-4742-a291-7cd6468a03cd","directory":"monster-rancher-1-2-dx","title":"Monster Rancher 1 & 2 DX","compatibility":99,"releases":[{"id":"0100195015AC6000","region":null}]},{"id":"22e8123c-547f-4326-9eaf-7b3fd03acea2","directory":"smoots-world-cup-tennis","title":"Smoots World Cup Tennis","compatibility":0,"releases":[{"id":"0100A1A011944000","region":null}]},{"id":"22ea4756-2509-494b-97a0-8faa2f0fab68","directory":"ys-origin","title":"Ys Origin","compatibility":2,"releases":[{"id":"0100F90010882000","region":null}]},{"id":"22edb79e-f733-4f12-91b7-7e19b2231373","directory":"mr-blaster","title":"Mr Blaster","compatibility":99,"releases":[{"id":"0100D3300F110000","region":null}]},{"id":"22f1a7a0-2c51-4854-aec3-3deff3c4a265","directory":"voxelgram","title":"Voxelgram","compatibility":99,"releases":[{"id":"0100082010A4E000","region":null}]},{"id":"22f210bc-7b6c-413f-9d34-fa16080a2454","directory":"the-world-next-door","title":"The World Next Door","compatibility":99,"releases":[{"id":"0100E6200D56E000","region":null}]},{"id":"22fc5500-274c-4000-b13e-231fc7496b37","directory":"replica","title":"REPLICA","compatibility":99,"releases":[{"id":"0100EC3012AAC000","region":null}]},{"id":"2301177c-07ef-4928-a52a-acdeeb636235","directory":"lieat","title":"LiEat","compatibility":99,"releases":[{"id":"01000810151FA000","region":null}]},{"id":"23019c5d-3e3d-49e2-9672-08074cd0e8c5","directory":"secrets-of-magic-2-witches-wizards","title":"Secrets of Magic 2 - Witches & Wizards","compatibility":99,"releases":[{"id":"01000C100CFD8000","region":null}]},{"id":"230c236b-2300-4cbd-8fe1-b6b55d448f6f","directory":"sword-art-online-fatal-bullet-complete-edition","title":"SWORD ART ONLINE: FATAL BULLET Complete Edition","compatibility":4,"releases":[{"id":"01005DF00DC26000","region":null}]},{"id":"2328fbd4-7ea7-4ad8-91fb-d9637e53eb57","directory":"zumba-burn-it-up","title":"Zumba Burn It Up!","compatibility":3,"releases":[{"id":"0100C1700CD94000","region":null}]},{"id":"232e64fd-0a6b-42c4-b6da-4e5d387a82c6","directory":"tools-up","title":"Tools Up!","compatibility":0,"releases":[{"id":"010093F00E818000","region":null}]},{"id":"23456eed-20e3-471e-ac2c-9d2e56be07fa","directory":"telling-lies","title":"Telling Lies","compatibility":99,"releases":[{"id":"010021100DF22000","region":null}]},{"id":"234a0b6c-9545-4df8-89b7-5c1374098a0e","directory":"pocket-circuit","title":"Pocket Circuit","compatibility":99,"releases":[{"id":"01002D4012BBC000","region":null}]},{"id":"235121eb-4d4c-4563-9a84-b331a664b7cb","directory":"salt-and-sanctuary","title":"Salt and Sanctuary","compatibility":2,"releases":[{"id":"0100D250083B4000","region":null}]},{"id":"23522ed0-3e25-4a26-aaba-9c1065891d5a","directory":"diablo-iii-eternal-collection","title":"Diablo III: Eternal Collection","compatibility":1,"releases":[{"id":"01001B300B9BE000","region":null}]},{"id":"2352eeb6-d666-49f8-8d03-bfe3fe85f392","directory":"castle-of-no-escape-2","title":"Castle of no Escape 2","compatibility":99,"releases":[{"id":"0100F5500FA0E000","region":null}]},{"id":"23577b90-9779-4bdd-813d-d9b455be6df4","directory":"bucket-knight","title":"Bucket Knight","compatibility":1,"releases":[{"id":"0100089010A92000","region":null}]},{"id":"2367e1e5-82a3-41b3-8d65-0e7d92565f13","directory":"nerdook-bundle-vol-1","title":"Nerdook Bundle Vol. 1","compatibility":1,"releases":[{"id":"01000B2011352000","region":null}]},{"id":"237c60fa-0edb-4550-9fb8-85b26afd0c66","directory":"contract-killers","title":"Contract Killers","compatibility":99,"releases":[{"id":"0100726013C06000","region":null}]},{"id":"238e9728-9459-46bf-b874-842ae19977d2","directory":"light-fall","title":"Light Fall","compatibility":99,"releases":[{"id":"010030A006F6E000","region":null}]},{"id":"2390c702-1839-486b-833f-0025ca64edb2","directory":"blaster-master-zero-3","title":"Blaster Master Zero 3","compatibility":1,"releases":[{"id":"01002030143D0000","region":null}]},{"id":"2398e965-01cd-43ea-8aca-647e2d45a25b","directory":"metroid-dread","title":"Metroid™ Dread","compatibility":1,"releases":[{"id":"010093801237C000","region":null}]},{"id":"239b4c1c-5b1b-4397-ad68-5d12c94970ff","directory":"plumber-puzzles","title":"Plumber Puzzles","compatibility":99,"releases":[{"id":"0100ABF016B50000","region":null}]},{"id":"23a9dbc1-8447-44af-bc30-c72856c6ad93","directory":"the-grisaia-trilogy","title":"THE GRISAIA TRILOGY","compatibility":2,"releases":[{"id":"01003B300E4AA000","region":null}]},{"id":"23c0c458-2a75-45e9-a8ee-a61707c9787d","directory":"vvvvvv","title":"VVVVVV","compatibility":0,"releases":[{"id":"0100B1E0022F8000","region":null}]},{"id":"23c99558-7d3a-418d-9bcc-eb36b5c51ea3","directory":"ironcast","title":"IRONCAST","compatibility":1,"releases":[{"id":"01004DB003E6A000","region":null}]},{"id":"23ca17e4-55ed-48fe-a6ab-1eb9af257d4d","directory":"dungreed","title":"Dungreed","compatibility":0,"releases":[{"id":"0100FAD00C2AA000","region":null}]},{"id":"23cbb844-b213-46c4-9a78-a5b30ebd638d","directory":"cosmic-express","title":"Cosmic Express","compatibility":99,"releases":[{"id":"0100334013308000","region":null}]},{"id":"23d1b984-3a37-44b7-9f2f-acc7a50d3ffe","directory":"guns-gore-and-cannoli-2","title":"Guns, Gore and Cannoli 2","compatibility":0,"releases":[{"id":"01006D4003BCE000","region":null}]},{"id":"23d85b67-7f6b-443e-8351-56d3c8c32445","directory":"guess-the-character","title":"Guess the Character","compatibility":99,"releases":[{"id":"010089900C9FA000","region":null}]},{"id":"23e42778-2af4-4d07-9856-acaf20d86cca","directory":"picture-painting-puzzle-1000","title":"Picture Painting Puzzle 1000!","compatibility":99,"releases":[{"id":"0100A1A00C5D8000","region":null}]},{"id":"23f76bae-06e4-4709-a210-62f68aead488","directory":"xenon-valkyrie-demo","title":"Xenon Valkyrie+ Demo","compatibility":99,"releases":[{"id":"01007A300C856000","region":null}]},{"id":"23f808d0-c857-4d86-9324-33cd73feba24","directory":"pokemon-brilliant-diamond","title":"Pokémon™ Brilliant Diamond","compatibility":2,"releases":[{"id":"0100000011D90000","region":null}]},{"id":"23f82ff7-422d-4047-b115-e52e4cd9d629","directory":"space-crew","title":"Space Crew","compatibility":99,"releases":[{"id":"01004550100CC000","region":null}]},{"id":"240674b2-77e0-42e9-92b0-aeb2b3faf09c","directory":"lines-xl","title":"Lines XL","compatibility":99,"releases":[{"id":"010032F01096C000","region":null}]},{"id":"241cdc10-ea0e-4472-9fdc-94c2543349b2","directory":"think-of-the-children","title":"Think of the Children","compatibility":1,"releases":[{"id":"0100F2300A5DA000","region":null}]},{"id":"241d5092-b083-4675-83a3-da801b95905a","directory":"there-is-no-game-wrong-dimension","title":"There Is No Game: Wrong Dimension","compatibility":0,"releases":[{"id":"0100009013566000","region":null}]},{"id":"243ff8e7-f082-49fa-9ace-7b4dacc487b1","directory":"deemo","title":"DEEMO","compatibility":1,"releases":[{"id":"01002CC0062B8000","region":null}]},{"id":"24443beb-3f53-4089-8681-f7abbd482638","directory":"earth-atlantis","title":"Earth Atlantis","compatibility":1,"releases":[{"id":"0100E07006C84000","region":null}]},{"id":"24516c21-a98f-442d-8ba2-6bfb878a2397","directory":"tricky-spider","title":"Tricky Spider","compatibility":99,"releases":[{"id":"010097000EDB4000","region":null}]},{"id":"24518ec9-b9c5-48f1-a2ba-bab59d6d2b44","directory":"dynos-ghosts","title":"Dynos & Ghosts","compatibility":99,"releases":[{"id":"01007C30140F4000","region":null}]},{"id":"2451a42f-57ce-42b8-aa73-d93b70d8c2f9","directory":"thimbleweed-park","title":"Thimbleweed Park","compatibility":4,"releases":[{"id":"01009BD003B36000","region":null}]},{"id":"245933b0-2802-4136-8c14-a108a9268064","directory":"premium-pool-arena","title":"Premium Pool Arena","compatibility":0,"releases":[{"id":"0100D98007784000","region":null}]},{"id":"246ea180-88a6-436a-8428-38d11a12f8b7","directory":"star-crossed-myth-the-department-of-wishes-","title":"Star-Crossed Myth - The Department of Wishes -","compatibility":4,"releases":[{"id":"01005EB00EA10000","region":null}]},{"id":"246f8f1e-932c-4712-94ff-b126d21f3043","directory":"aca-neogeo-spin-master","title":"ACA NEOGEO SPIN MASTER","compatibility":4,"releases":[{"id":"01007D1004DBA000","region":null}]},{"id":"2474ca57-195e-4e6b-af72-f89f26dbce7c","directory":"the-incredible-adventures-of-super-panda","title":"The Incredible Adventures of Super Panda","compatibility":99,"releases":[{"id":"0100D1500F6DC000","region":null}]},{"id":"247ae799-a7fa-4a08-bfb8-bab65a164209","directory":"crash-team-racing-nitro-fueled","title":"Crash™ Team Racing Nitro-Fueled","compatibility":1,"releases":[{"id":"0100F9F00C696000","region":null}]},{"id":"24838602-eaa0-464e-a519-82edcb61f8b0","directory":"okinawa-rush","title":"Okinawa Rush","compatibility":99,"releases":[{"id":"0100D7B013BA8000","region":null}]},{"id":"24856159-94a7-4427-85dd-8c65b153ae42","directory":"trenga-unlimited","title":"Trenga Unlimited","compatibility":99,"releases":[{"id":"0100A8E013A16000","region":null}]},{"id":"24a40a71-39be-47b7-9aa1-d37b78e03dd2","directory":"truberbrook","title":"Trüberbrook","compatibility":99,"releases":[{"id":"0100E6300D448000","region":null}]},{"id":"24a69d36-978a-479b-981d-f104f51fd60e","directory":"reverie-sweet-as-edition","title":"Reverie: Sweet As Edition","compatibility":99,"releases":[{"id":"01008FF00B8FA000","region":null}]},{"id":"24a89d69-4e13-4e46-9082-30e8ba0ad8e4","directory":"hammer-2-reloaded","title":"Hammer 2 Reloaded","compatibility":1,"releases":[{"id":"01008FB015E40000","region":null}]},{"id":"24b65360-13d5-408c-b59c-c7b639980c5c","directory":"hunt","title":"Hunt","compatibility":99,"releases":[{"id":"01000DE0125B8000","region":null}]},{"id":"24bdf7c3-b4dd-47e7-9b64-9c34d2667fe3","directory":"baseball-riot","title":"Baseball Riot","compatibility":4,"releases":[{"id":"01004860080A0000","region":null}]},{"id":"24c042dc-653a-4cc1-95f1-45ca373883c8","directory":"mighty-goose","title":"Mighty Goose","compatibility":1,"releases":[{"id":"0100AD701344C000","region":null}]},{"id":"24c60885-fc30-49a5-b274-08a5740d2a51","directory":"perchang","title":"Perchang","compatibility":99,"releases":[{"id":"010011700D1B2000","region":null}]},{"id":"24c68af7-de4e-4a94-9189-ed7028e936c5","directory":"pba-pro-bowling","title":"PBA Pro Bowling","compatibility":3,"releases":[{"id":"010085700ABC8000","region":null}]},{"id":"24da3cc6-6e24-470f-81e5-f80fff6d4299","directory":"911-operator","title":"911 Operator","compatibility":0,"releases":[{"id":"0100CF10099B2000","region":null}]},{"id":"24df0ef5-c19f-4985-97d7-23979a17568d","directory":"boomerang-x","title":"Boomerang X","compatibility":99,"releases":[{"id":"0100C09014530000","region":null}]},{"id":"24e1cf3a-ae7e-4477-828b-4a2fdd116785","directory":"fortnite","title":"Fortnite","compatibility":2,"releases":[{"id":"010025400AECE000","region":null}]},{"id":"24eacb5a-67d1-4d9e-a468-5b41d84ba4cc","directory":"air-strike-ww2-fighters-sky-combat","title":"Air Strike: WW2 Fighters Sky Combat","compatibility":0,"releases":[{"id":"0100E2F016680000","region":null}]},{"id":"24ed537b-65a6-4382-933a-fa88c6226505","directory":"the-eternal-castle-remastered]","title":"The Eternal Castle [REMASTERED]","compatibility":99,"releases":[{"id":"010061900F896000","region":null}]},{"id":"24f11789-c7c1-4150-9f32-2d43581269f2","directory":"atomicrops","title":"Atomicrops","compatibility":99,"releases":[{"id":"0100AD30095A4000","region":null}]},{"id":"2502f6a9-b5b3-4e48-a2cc-a84da27e5b11","directory":"nba-2k20","title":"NBA 2K20","compatibility":99,"releases":[{"id":"010026000E466000","region":null}]},{"id":"250b193f-ed39-4cf7-bcd4-9f44164b0910","directory":"golden-force","title":"Golden Force","compatibility":1,"releases":[{"id":"01007DE013A48000","region":null}]},{"id":"25106727-7c11-4242-8d9c-cfdce93e2bbb","directory":"lets-sing-2021","title":"Let's Sing 2021","compatibility":99,"releases":[{"id":"010061F0119FA000","region":null}]},{"id":"251209de-fe72-4234-8cd0-3203dbe4fa42","directory":"nicole","title":"Nicole","compatibility":99,"releases":[{"id":"0100A95012668000","region":null}]},{"id":"2515706e-c36c-4094-82ba-440e49a8f303","directory":"the-bug-butcher","title":"The Bug Butcher","compatibility":0,"releases":[{"id":"01008D700AB14000","region":null}]},{"id":"251cee89-edab-4796-9d06-3209a827e7c5","directory":"cross-the-moon","title":"Cross the Moon","compatibility":99,"releases":[{"id":"0100946014BBC000","region":null}]},{"id":"2521ed47-f1b0-4cda-8533-9b3a1b19e239","directory":"beefense-beemastered","title":"BeeFense BeeMastered","compatibility":99,"releases":[{"id":"010018F007786000","region":null}]},{"id":"2537bf82-30b8-4e90-9e80-dd5467a7f84f","directory":"super-battle-cards","title":"Super Battle Cards","compatibility":99,"releases":[{"id":"0100D1B0102B0000","region":null}]},{"id":"254d6953-8096-487f-93d9-005cc89e56f1","directory":"delicious-pretty-girls-mahjong-solitaire","title":"Delicious! Pretty Girls Mahjong Solitaire","compatibility":99,"releases":[{"id":"0100498013F7E000","region":null}]},{"id":"254edea8-76de-4295-a1b8-146439e022c2","directory":"her-majestys-ship","title":"Her Majesty's Ship","compatibility":99,"releases":[{"id":"0100531011EF4000","region":null}]},{"id":"2557ff56-1d8b-4b0e-bbf0-0b0523cb44e8","directory":"gunbrick-reloaded","title":"Gunbrick: Reloaded","compatibility":1,"releases":[{"id":"01008DF00B78E000","region":null}]},{"id":"255f0446-96c3-4c4b-9a50-6ba26a067b39","directory":"fishing-fighters","title":"Fishing Fighters","compatibility":99,"releases":[{"id":"0100F38014A3E000","region":null}]},{"id":"2566e0e9-6e7c-4600-8936-40ab67185eec","directory":"arcade-archives-kids-horehore-daisakusen","title":"Arcade Archives Kid's Horehore Daisakusen","compatibility":99,"releases":[{"id":"0100E7C001DE0000","region":null}]},{"id":"2570eaaa-7827-4b57-94c0-9a83e433ec4d","directory":"hell-is-other-demons","title":"Hell is Other Demons","compatibility":99,"releases":[{"id":"0100E4300C278000","region":null}]},{"id":"258b9af0-342e-4188-bcdc-e24e13070c41","directory":"valthirian-arc-hero-school-story-demo","title":"Valthirian Arc: Hero School Story Demo","compatibility":99,"releases":[{"id":"0100CEC00BF04000","region":null}]},{"id":"25949273-4413-4c5a-8023-1452a20afc48","directory":"the-lightbringer","title":"The Lightbringer","compatibility":0,"releases":[{"id":"0100491014980000","region":null}]},{"id":"25ad20e7-0e34-4c2c-bb17-189d4d63a75b","directory":"7th-sector","title":"7th Sector","compatibility":1,"releases":[{"id":"01004B200DF76000","region":null}]},{"id":"25b069c8-3a7f-40c8-8c4c-c0aef49027f0","directory":"little-bug","title":"Little Bug","compatibility":1,"releases":[{"id":"0100F8D016700000","region":null}]},{"id":"25be889e-3780-4a34-a547-abdf74cf8497","directory":"shift-quantum-demo","title":"Shift Quantum Demo","compatibility":99,"releases":[{"id":"0100CA000C682000","region":null}]},{"id":"25cfe7d4-1efc-45f7-ad65-eb19162b46d7","directory":"retro-game-pack","title":"Retro Game Pack","compatibility":99,"releases":[{"id":"010026D0122B8000","region":null}]},{"id":"25d9e72f-ec5c-462e-8ea6-ce49827333f4","directory":"state-of-anarchy-master-of-mayhem","title":"State of Anarchy: Master of Mayhem","compatibility":99,"releases":[{"id":"010000700A572000","region":null}]},{"id":"25debf59-5320-401c-95c3-fefa89349fea","directory":"true-fear-forsaken-souls-part-1-demo","title":"True Fear: Forsaken Souls - Part 1 Demo","compatibility":99,"releases":[{"id":"010020100B768000","region":null}]},{"id":"25e6efee-38ec-4fa2-8c32-dc0645891d69","directory":"bomb","title":"Bomb","compatibility":99,"releases":[{"id":"0100516011606000","region":null}]},{"id":"26079cf6-911a-47ff-9733-7b0b187bea27","directory":"arcade-archives-haunted-castle","title":"Arcade Archives HAUNTED CASTLE","compatibility":99,"releases":[{"id":"010093E01450A000","region":null}]},{"id":"26127716-4ad5-48e2-b217-204cbc0e208f","directory":"never-stop","title":"Never Stop","compatibility":5,"releases":[{"id":"010021D00ACA2000","region":null}]},{"id":"2618b207-6f6f-4bcf-966c-457d9fee70a1","directory":"narcos-rise-of-the-cartels","title":"Narcos: Rise of the Cartels","compatibility":99,"releases":[{"id":"010072B00BDDE000","region":null}]},{"id":"26197e54-da9a-461e-ba31-545f08ea27ae","directory":"oxenfree","title":"OXENFREE","compatibility":2,"releases":[{"id":"01008B8004E36000","region":null}]},{"id":"261ab5d4-dd4b-4ff3-8ba2-9c27919b8732","directory":"seabed","title":"SeaBed","compatibility":99,"releases":[{"id":"0100C2400D68C000","region":null}]},{"id":"261bdb11-cbfa-43df-a516-64f00eba821b","directory":"infinite-tanks-wwii","title":"Infinite Tanks WWII","compatibility":99,"releases":[{"id":"010057101473A000","region":null}]},{"id":"2629aacc-38a7-482b-bc86-397ed191c035","directory":"ultimate-ski-jumping-2020","title":"Ultimate Ski Jumping 2020","compatibility":99,"releases":[{"id":"01006B601117E000","region":null}]},{"id":"262a87e3-cac4-43da-ad76-8c0ddbefab8d","directory":"one-escape","title":"One Escape","compatibility":99,"releases":[{"id":"010024C013E58000","region":null}]},{"id":"262cf9d1-fb3b-48bf-b896-e16531f67fbb","directory":"make-war","title":"Make War","compatibility":99,"releases":[{"id":"0100B0B011748000","region":null}]},{"id":"262dc5bb-818d-4b5d-9ec5-4b83abcfcc89","directory":"connection-haunted-server-error","title":"/Connection Haunted <SERVER ERROR>","compatibility":99,"releases":[{"id":"0100A5D01174C000","region":null}]},{"id":"262de758-7345-4316-8771-23ced1bcae4e","directory":"combat-core","title":"Combat Core","compatibility":99,"releases":[{"id":"0100A040069DE000","region":null}]},{"id":"262e0821-02af-45c8-93c1-ecca506485d8","directory":"far-lone-sails","title":"FAR: Lone Sails","compatibility":0,"releases":[{"id":"010022700E7D6000","region":null}]},{"id":"2648b853-0203-4aa5-b24e-f27e86e59ef7","directory":"black-bird","title":"BLACK BIRD","compatibility":0,"releases":[{"id":"010022B00ACE6000","region":null}]},{"id":"265ecef2-e08d-4b25-8b6a-eb992527166b","directory":"the-journey-down-chapter-one","title":"The Journey Down: Chapter One","compatibility":99,"releases":[{"id":"010052C00B184000","region":null}]},{"id":"266eddfa-e1b3-425b-9c56-893a44b09174","directory":"nightshade","title":"Nightshade/百花百狼","compatibility":2,"releases":[{"id":"010042300C4F6000","region":null}]},{"id":"2680263e-02ed-4487-84d3-253b96b6a65f","directory":"lost-castle","title":"Lost Castle","compatibility":0,"releases":[{"id":"0100581007068000","region":null}]},{"id":"2680607a-3659-4621-b617-e4df4966da96","directory":"arcade-archives-super-dodge-ball","title":"Arcade Archives Super Dodge Ball","compatibility":99,"releases":[{"id":"0100C6C009812000","region":null}]},{"id":"26849633-a46f-42cc-a9d8-84c67c0333ad","directory":"sky-gamblers-storm-raiders","title":"Sky Gamblers: Storm Raiders","compatibility":99,"releases":[{"id":"010093D00AC38000","region":null}]},{"id":"268f76e7-4d54-467f-9649-9b7b85e327b8","directory":"laraan","title":"Laraan","compatibility":99,"releases":[{"id":"0100AFE00E882000","region":null}]},{"id":"26a5e587-e712-4849-86b7-0a5ed195b582","directory":"pic-a-pix-deluxe-demo","title":"Pic-a-Pix Deluxe Demo","compatibility":99,"releases":[{"id":"01006E30099B8000","region":null}]},{"id":"26a84019-d132-4c6c-b377-928fc9fe5c7c","directory":"survival","title":"Survival","compatibility":99,"releases":[{"id":"0100DBB0136CE000","region":null}]},{"id":"26aa6a68-ca76-4e1e-923a-21ae86acb337","directory":"nickelodeon-kart-racers","title":"Nickelodeon Kart Racers","compatibility":0,"releases":[{"id":"0100D6200933C000","region":null}]},{"id":"26b92ab8-14ee-4b1f-b822-067e47754738","directory":"squabble","title":"Squabble","compatibility":99,"releases":[{"id":"010027E01435C000","region":null}]},{"id":"26ba904b-fc72-43a3-a123-3acc8b1e8854","directory":"knight-squad-2","title":"Knight Squad 2","compatibility":99,"releases":[{"id":"010024B00E1D6000","region":null}]},{"id":"26ba9c65-13b9-464b-b937-ffe43e23934a","directory":"mini-puzzle-balls","title":"Mini Puzzle Balls","compatibility":99,"releases":[{"id":"0100591010262000","region":null}]},{"id":"26e4371c-8ef2-435b-81b9-fc9914513285","directory":"slice-of-life","title":"Slice of Life","compatibility":99,"releases":[{"id":"010093A0117A0000","region":null}]},{"id":"26e5bf9a-87be-4558-b2e7-cb5b04d176ac","directory":"tetris-r-effect-connected","title":"Tetris® Effect: Connected","compatibility":2,"releases":[{"id":"0100DE501433A000","region":null}]},{"id":"26ea2bb8-b2c8-4201-bec7-bca6cdc2509d","directory":"flashback","title":"FLASHBACK","compatibility":1,"releases":[{"id":"01000A0004C50000","region":null}]},{"id":"26f2bbf5-6575-4c93-ae6a-b9f7bd896cd1","directory":"family-vacation-california","title":"Family Vacation: California","compatibility":99,"releases":[{"id":"010070A015100000","region":null}]},{"id":"26f88a47-d812-4669-a0ba-87a4464be5d4","directory":"touchdown-pinball","title":"Touchdown Pinball","compatibility":99,"releases":[{"id":"0100D04010E38000","region":null}]},{"id":"26fa5d12-391c-4cfa-917e-3127a522ba87","directory":"the-room","title":"The Room","compatibility":0,"releases":[{"id":"010079400BEE0000","region":null}]},{"id":"26fec3d3-07da-467c-807d-754cd48a0564","directory":"pocket-academy-demo","title":"Pocket Academy Demo","compatibility":99,"releases":[{"id":"010004D00D222000","region":null}]},{"id":"27063981-7c54-476f-b40c-a2e64bdc04b4","directory":"mekorama","title":"Mekorama","compatibility":4,"releases":[{"id":"0100B360068B2000","region":null}]},{"id":"2710af6d-9981-4786-9dd6-e7efdef080ec","directory":"hello-neighbor","title":"Hello Neighbor","compatibility":99,"releases":[{"id":"0100FAA00B168000","region":null}]},{"id":"2715224a-d26a-4de3-be6d-5fb6f4548121","directory":"aca-neogeo-alpha-mission-ii","title":"ACA NEOGEO ALPHA MISSION II","compatibility":99,"releases":[{"id":"0100A76002B46000","region":null}]},{"id":"2715dbc7-aa93-422d-814d-c8437c84fadb","directory":"knights-of-pen-and-paper-2-deluxiest-edition","title":"Knights of Pen & Paper 2 Deluxiest Edition","compatibility":3,"releases":[{"id":"010004400B22A000","region":null}]},{"id":"2722e23f-654e-4934-9a65-8fee06ff6a01","directory":"omotomo","title":"OmoTomO","compatibility":99,"releases":[{"id":"0100395010AD2000","region":null}]},{"id":"27298c36-6b52-4571-8bf6-e223048eeb88","directory":"resident-evil-4","title":"resident evil 4","compatibility":0,"releases":[{"id":"010099A00BC1E000","region":null}]},{"id":"2745a96a-3811-432d-bd95-2950c86cb072","directory":"shadows-of-adam","title":"Shadows of Adam","compatibility":99,"releases":[{"id":"0100AD700CBBE000","region":null}]},{"id":"2747c708-1c36-4cb9-856f-cfc01f946681","directory":"fallout-shelter","title":"Fallout Shelter","compatibility":2,"releases":[{"id":"010043500A17A000","region":null}]},{"id":"27569774-9c2c-4a07-98ac-b79c757a61c1","directory":"fateextella-link","title":"Fate/EXTELLA LINK","compatibility":4,"releases":[{"id":"01006E000C81C000","region":null}]},{"id":"2762e4cf-930a-4c94-b5c6-7d99caa47d5f","directory":"taiwan-monster-fruit-prologue","title":"Taiwan Monster Fruit : Prologue","compatibility":99,"releases":[{"id":"010028E013E0A000","region":null}]},{"id":"2769dcaa-bb34-490a-a10b-7e675382ed92","directory":"ooo-ascension","title":"oOo: Ascension","compatibility":99,"releases":[{"id":"010074000BE8E000","region":null}]},{"id":"276a7e80-33d1-49f0-b824-31bf163d712b","directory":"dry-drowning","title":"Dry Drowning","compatibility":99,"releases":[{"id":"01008ED00DABC000","region":null}]},{"id":"27858943-9d18-47d2-a238-50b15abb5c71","directory":"encodya","title":"Encodya","compatibility":99,"releases":[{"id":"0100D08014D88000","region":null}]},{"id":"278ab89b-8909-49c8-91e0-109341854849","directory":"arcade-archives-block-hole","title":"Arcade Archives BLOCK HOLE","compatibility":99,"releases":[{"id":"01009E7013B2C000","region":null}]},{"id":"278d00fd-578f-437e-92f1-2472a815377b","directory":"party-games-15-in-1","title":"Party Games: 15 in 1","compatibility":99,"releases":[{"id":"01009D901321A000","region":null}]},{"id":"2794ca70-e9f8-47c5-9c39-697b5d07fd0d","directory":"mighty-fight-federation","title":"Mighty Fight Federation","compatibility":99,"releases":[{"id":"0100C1E0135E0000","region":null}]},{"id":"27a06875-089e-400b-adc3-81a3a5ddd5b0","directory":"minute-of-islands","title":"Minute of Islands","compatibility":99,"releases":[{"id":"01004F500F9E4000","region":null}]},{"id":"27a134df-7243-4958-a192-323001acdf31","directory":"gone-home","title":"Gone Home","compatibility":2,"releases":[{"id":"0100EEC00AA6E000","region":null}]},{"id":"27ad3aa1-5d5b-4ae3-9e88-7c37e79c9156","directory":"dokuro","title":"Dokuro (ドクロ)","compatibility":2,"releases":[{"id":"01005EE00BC78000","region":null}]},{"id":"27b12f82-42a4-4999-9684-23926ba7fec9","directory":"snake-vs-snake","title":"Snake vs Snake","compatibility":4,"releases":[{"id":"0100FF700B96C000","region":null}]},{"id":"27b583df-6125-4ae3-a82b-374a7c0ba7b6","directory":"hot-shot-burn","title":"Hot Shot Burn","compatibility":99,"releases":[{"id":"0100DB80123D2000","region":null}]},{"id":"27b5ce95-7626-426d-872c-14cafdb8be87","directory":"twist-and-match","title":"Twist & Match","compatibility":99,"releases":[{"id":"0100EBE00DB2C000","region":null}]},{"id":"27b816a5-4c90-4980-8558-cd0c7f5bd009","directory":"my-little-fruit-juice-booth","title":"My Little Fruit Juice Booth","compatibility":99,"releases":[{"id":"0100B950153B2000","region":null}]},{"id":"27cb7e53-7e2c-4f66-9f5f-be3876170e5d","directory":"levelhead","title":"Levelhead","compatibility":99,"releases":[{"id":"01009A200BE42000","region":null}]},{"id":"27d5168b-e0c7-49e0-88f3-9c632880ad96","directory":"the-ramen-sensei","title":"The Ramen Sensei","compatibility":99,"releases":[{"id":"010020B00E89E000","region":null}]},{"id":"27d5cfdb-eca6-48b6-96ce-33ee307a27e7","directory":"the-park","title":"The Park","compatibility":99,"releases":[{"id":"01005C500D690000","region":null}]},{"id":"27f51d99-8642-407a-bb41-2f7924e0939a","directory":"community-inc","title":"Community Inc","compatibility":99,"releases":[{"id":"010059C00E900000","region":null}]},{"id":"27f581f2-dba3-41e9-a4d5-95609a18266c","directory":"hungry-baby-party-treats","title":"Hungry Baby: Party Treats","compatibility":99,"releases":[{"id":"01002A100E010000","region":null}]},{"id":"27fc53ea-2f66-4e8a-8112-7938007f41dd","directory":"halloween-forever","title":"Halloween Forever","compatibility":0,"releases":[{"id":"010057D013210000","region":null}]},{"id":"28114dea-3c42-4a10-8091-cc7e7dc30754","directory":"hell-sports","title":"Hell Sports","compatibility":0,"releases":[{"id":"010036A01342C000","region":null}]},{"id":"28148d4a-f1d1-4325-a50d-b2a4ca5a8d84","directory":"marvels-guardians-of-the-galaxy-cloud-version","title":"Marvel's Guardians of the Galaxy: Cloud Version","compatibility":99,"releases":[{"id":"0100C3F01567E000","region":null}]},{"id":"2814b905-7f36-45bc-b0e1-d75a32486fee","directory":"welcome-to-primrose-lake","title":"Welcome to Primrose Lake","compatibility":99,"releases":[{"id":"0100D7F010B94000","region":null}]},{"id":"2814f61c-3d78-4aa1-b9b1-8aeac1037016","directory":"very-very-valet","title":"Very Very Valet","compatibility":99,"releases":[{"id":"0100379013A62000","region":null}]},{"id":"282d7e28-a1bf-4909-ae56-9c3307aa2780","directory":"all-walls-must-fall","title":"All Walls Must Fall","compatibility":99,"releases":[{"id":"0100CBD012FB6000","region":null}]},{"id":"28331c17-fb9e-42a4-843d-617c6e3bc532","directory":"monster-bugs-eat-people","title":"Monster Bugs Eat People","compatibility":99,"releases":[{"id":"01005FC01000E000","region":null}]},{"id":"28412b0d-5b31-446f-aa5e-29a62435650b","directory":"moero-crystal-h","title":"Moero Crystal H","compatibility":5,"releases":[{"id":"01004EB0119AC000","region":null}]},{"id":"28508d8c-2aaa-4601-8efc-d367023c029c","directory":"monkey-king-master-of-the-clouds","title":"Monkey King: Master of the Clouds","compatibility":0,"releases":[{"id":"01004C500B8E0000","region":null}]},{"id":"2854ccc1-b80a-4502-8340-6e8f1159f1f8","directory":"batman-the-enemy-within","title":"Batman: The Enemy Within","compatibility":2,"releases":[{"id":"0100E6300AA3A000","region":null}]},{"id":"28566967-36cb-4640-a898-35a361850f51","directory":"taiko-no-tatsujin-rhythmic-adventure-pack","title":"Taiko no Tatsujin: Rhythmic Adventure Pack","compatibility":0,"releases":[{"id":"0100DD6012644000","region":null}]},{"id":"286fdfc0-ad6f-471c-8e9b-3762bb803531","directory":"earthfall-alien-horde","title":"Earthfall: Alien Horde","compatibility":99,"releases":[{"id":"0100DFC00E472000","region":null}]},{"id":"28825b3c-4e8b-46dd-a417-95a43e861a55","directory":"pandaball","title":"PandaBall","compatibility":99,"releases":[{"id":"010044A0134E8000","region":null}]},{"id":"288c324b-d13f-4429-a1e3-b066be756ef5","directory":"nordlicht","title":"Nordlicht","compatibility":0,"releases":[{"id":"0100A5601375C000","region":null}]},{"id":"288cc6a1-4b59-42ac-aad5-be93aff5e63b","directory":"the-mooseman","title":"The Mooseman","compatibility":99,"releases":[{"id":"010033300AC1A000","region":null}]},{"id":"2892dabe-3058-4213-918c-c0f982901afd","directory":"war-truck-simulator","title":"War Truck Simulator","compatibility":99,"releases":[{"id":"0100B6B013B8A000","region":null}]},{"id":"28a9659a-baf9-4c96-9295-101c4fec1540","directory":"despotism-3k","title":"Despotism 3k","compatibility":1,"releases":[{"id":"010082C011B24000","region":null}]},{"id":"28ac1f5b-ed5a-445b-99f7-6c3a2476b509","directory":"tinker-racers","title":"Tinker Racers","compatibility":0,"releases":[{"id":"0100F93012A36000","region":null}]},{"id":"28ad66bf-0931-4eb6-89d2-a9137254467c","directory":"down-to-hell","title":"Down to Hell","compatibility":99,"releases":[{"id":"0100B6600FE06000","region":null}]},{"id":"28b11ed4-e1de-4456-90f2-8530293fa798","directory":"embers-of-mirrim","title":"Embers of Mirrim","compatibility":1,"releases":[{"id":"0100322004844000","region":null}]},{"id":"28b1ba55-cf86-4670-9c4e-7148e823c381","directory":"kholat","title":"Kholat","compatibility":99,"releases":[{"id":"0100F680116A2000","region":null}]},{"id":"28cbdd1b-89ba-4e9b-bce7-04de52efb8dd","directory":"zarvot","title":"Zarvot","compatibility":99,"releases":[{"id":"0100E7900C4C0000","region":null}]},{"id":"28cdb5a8-e701-4673-aba5-0a94c2baa92b","directory":"sisters-royale-five-sisters-under-fire","title":"Sisters Royale: Five Sisters Under Fire","compatibility":1,"releases":[{"id":"0100B3900F02A000","region":null}]},{"id":"28efe0cb-199b-4132-bfaf-7f1821a2cf6a","directory":"phantom-trigger","title":"Phantom Trigger","compatibility":5,"releases":[{"id":"0100C31005A50000","region":null}]},{"id":"28f5a6ea-fca9-44c5-bb9d-8be6b0cf3c3f","directory":"five-nights-at-freddys-4","title":"Five Nights at Freddy's 4","compatibility":99,"releases":[{"id":"010083800E43E000","region":null}]},{"id":"29141afd-6353-428b-aed4-2472e92e6916","directory":"danger-gazers","title":"Danger Gazers","compatibility":3,"releases":[{"id":"0100B3901324A000","region":null}]},{"id":"291f5d68-e1c8-486b-9557-23ac9132dac2","directory":"aery-dreamscape","title":"Aery - Dreamscape","compatibility":99,"releases":[{"id":"0100C5A016C2E000","region":null}]},{"id":"29597c3b-7f4e-41d6-b048-820d40030793","directory":"orbals","title":"Orbals","compatibility":99,"releases":[{"id":"0100372013286000","region":null}]},{"id":"296085e7-34b2-4acb-ac37-99f7fbba578a","directory":"madoris-r","title":"MADORIS R","compatibility":99,"releases":[{"id":"0100A5A01119A000","region":null}]},{"id":"2961af0c-10be-46c3-8e05-d8b3a2d17fa1","directory":"jewel-fever-2-demo","title":"Jewel Fever 2 Demo","compatibility":99,"releases":[{"id":"010021400C6C4000","region":null}]},{"id":"29680773-1ab1-496e-a06d-1979f725babd","directory":"red-colony","title":"Red Colony","compatibility":99,"releases":[{"id":"0100ED90137C6000","region":null}]},{"id":"2975b278-0b2b-4a8c-816d-92277b3fc69c","directory":"worlds-of-magic-planar-conquest","title":"Worlds of Magic: Planar Conquest","compatibility":99,"releases":[{"id":"010000301025A000","region":null}]},{"id":"2976f228-38a7-4f2b-be5b-580ea1e97457","directory":"orbibot","title":"Orbibot","compatibility":0,"releases":[{"id":"010006A0158A8000","region":null}]},{"id":"297ed1c2-911b-4bb7-9d14-626143431603","directory":"automachef","title":"Automachef","compatibility":99,"releases":[{"id":"0100AA800DA42000","region":null}]},{"id":"298ad295-1c30-4143-bb8f-6d4896df8156","directory":"stilstand","title":"Stilstand","compatibility":99,"releases":[{"id":"0100442015FDA000","region":null}]},{"id":"29936ce7-d786-4207-b138-14b027cd3852","directory":"clash-force","title":"Clash Force","compatibility":99,"releases":[{"id":"01005ED0107F4000","region":null}]},{"id":"299653a2-9224-4fd1-868b-9a4f9d5d8d50","directory":"overwhelm","title":"OVERWHELM","compatibility":3,"releases":[{"id":"01005F000CC18000","region":null}]},{"id":"2999b067-96f9-44b8-a17f-e26c1864976f","directory":"ninjin-clash-of-carrots","title":"Ninjin: Clash of Carrots","compatibility":99,"releases":[{"id":"010003C00B868000","region":null}]},{"id":"29ad44d9-0372-4c19-855c-2594449f845c","directory":"travel-mosaics-3-tokyo-animated","title":"Travel Mosaics 3: Tokyo Animated","compatibility":99,"releases":[{"id":"0100102010BFC000","region":null}]},{"id":"29c16c60-63e7-487c-8139-76343086ff9e","directory":"grim-fandango-remastered","title":"Grim Fandango Remastered","compatibility":2,"releases":[{"id":"0100B7900B024000","region":null}]},{"id":"29e2b51f-693e-41ad-9b2b-ec51be9c7ba5","directory":"dawn-of-survivors","title":"Dawn of Survivors","compatibility":99,"releases":[{"id":"010009500C30C000","region":null}]},{"id":"29ea1d88-907d-4ab0-9fab-45ccbd18d64a","directory":"samurai-defender-ninja-warfare","title":"Samurai Defender: Ninja Warfare","compatibility":99,"releases":[{"id":"01002B400873C000","region":null}]},{"id":"29f82e00-a6bd-4dcf-9b4d-622ebe70a45d","directory":"disjunction","title":"Disjunction","compatibility":4,"releases":[{"id":"01000B70122A2000","region":null}]},{"id":"29fce534-5504-46f1-b18a-c33fca5bdc75","directory":"pic-a-pix-pieces","title":"Pic-a-Pix Pieces","compatibility":4,"releases":[{"id":"010065500C980000","region":null}]},{"id":"29ff7102-60c5-4e4f-82bd-d85d7fa75fd3","directory":"vegas-party","title":"Vegas Party","compatibility":99,"releases":[{"id":"01009CD003A0A000","region":null}]},{"id":"2a067c15-b84c-4520-9128-890b2d806df3","directory":"jewel-rotation","title":"Jewel Rotation","compatibility":99,"releases":[{"id":"010060200F954000","region":null}]},{"id":"2a0fab55-8ab3-47fe-81d6-3164b8b0e3f0","directory":"void-trrlm-void-terrarium","title":"void tRrLM(); //Void Terrarium","compatibility":1,"releases":[{"id":"0100FF7010E7E000","region":null}]},{"id":"2a18bdf0-dcf4-44db-a866-10ba8e3b6040","directory":"fire-tonight","title":"Fire Tonight","compatibility":99,"releases":[{"id":"0100810013704000","region":null}]},{"id":"2a270d9f-292f-4a5f-8062-6c3af5fcaada","directory":"tied-together-demo","title":"Tied Together Demo","compatibility":99,"releases":[{"id":"01001DB00CCA6000","region":null}]},{"id":"2a2c1ef6-cec0-4f68-85cf-029ed06dbe0b","directory":"writhe","title":"WRITHE","compatibility":99,"releases":[{"id":"0100567011972000","region":null}]},{"id":"2a3a13a2-c35c-476f-83dc-c6b6642cfa3b","directory":"fort-triumph","title":"Fort Triumph","compatibility":99,"releases":[{"id":"01008DE013C40000","region":null}]},{"id":"2a53acef-ef91-4f34-a1d7-f4d58a417571","directory":"the-stretchers","title":"The Stretchers","compatibility":1,"releases":[{"id":"0100AA400A238000","region":null}]},{"id":"2a548889-e3de-4df7-a7d2-591fec232c11","directory":"rock-n-racing-bundle-grand-prix-rally","title":"Rock 'N Racing Bundle Grand Prix & Rally","compatibility":2,"releases":[{"id":"01000CC012D74000","region":null}]},{"id":"2a5543d7-ada4-4e38-b787-561da8c6aeda","directory":"tricky-towers","title":"Tricky Towers","compatibility":1,"releases":[{"id":"010015F005C8E000","region":null}]},{"id":"2a55a15e-7c69-4c35-95ac-b9df2c5ae55f","directory":"tadpole-treble-encore","title":"Tadpole Treble Encore","compatibility":99,"releases":[{"id":"01004D400C870000","region":null}]},{"id":"2a689c18-22d5-419d-8ec3-69fb0283cec4","directory":"gunbarich-for-nintendo-switch","title":"GUNBARICH for Nintendo Switch","compatibility":1,"releases":[{"id":"01002B2004F76000","region":null}]},{"id":"2a69aa7f-abf4-43c8-a934-c55d9206527b","directory":"radio-commander","title":"Radio Commander","compatibility":99,"releases":[{"id":"0100BAD013B6E000","region":null}]},{"id":"2a70c104-f7b5-4be7-921e-2151f6744dfa","directory":"nyan-cat-lost-in-space","title":"Nyan Cat: Lost in Space","compatibility":99,"releases":[{"id":"010049F00EC30000","region":null}]},{"id":"2a7904bf-9b0c-47ba-9b95-f0692214849d","directory":"cooking-simulator-pizza","title":"Cooking Simulator - Pizza","compatibility":99,"releases":[{"id":"010033C014666000","region":null}]},{"id":"2a7a9dc8-53c8-4026-8ec2-7888fa8dcb8c","directory":"arcade-archives-typhoon-gal","title":"Arcade Archives TYPHOON GAL","compatibility":99,"releases":[{"id":"01006B80156D2000","region":null}]},{"id":"2a81a464-c86e-4211-b657-7c276083000f","directory":"puzzle-chess","title":"Puzzle & Chess","compatibility":99,"releases":[{"id":"0100287014E96000","region":null}]},{"id":"2a8afe20-6cea-46bd-b049-ff851898ee14","directory":"eat-your-letters","title":"Eat your letters","compatibility":99,"releases":[{"id":"0100BBA014FCC000","region":null}]},{"id":"2a8df75e-c542-4e55-8171-06dc7a291d8e","directory":"super-star-blast","title":"Super Star Blast","compatibility":99,"releases":[{"id":"01000E300E2D6000","region":null}]},{"id":"2a8f7b2c-14c7-4002-b564-f884456bf186","directory":"earthlock-demo","title":"EARTHLOCK Demo","compatibility":99,"releases":[{"id":"010067300AFFA000","region":null}]},{"id":"2a965068-ad2c-47ac-9a2e-0e04579d44b1","directory":"spacecolorsrunner","title":"SpaceColorsRunner","compatibility":99,"releases":[{"id":"0100E6700EF4C000","region":null}]},{"id":"2a9bf3c4-747d-4e5a-a509-9cdc003fc47f","directory":"i-am-ball","title":"I am Ball","compatibility":99,"releases":[{"id":"010070A01134A000","region":null}]},{"id":"2a9fa91f-8493-493c-8ab8-0f7e7a29b054","directory":"plunge","title":"Plunge","compatibility":99,"releases":[{"id":"0100F1800B3EC000","region":null}]},{"id":"2aa2fee2-a108-411d-80b7-c18170dcda1d","directory":"picross-s","title":"PICROSS S","compatibility":0,"releases":[{"id":"0100BA0003EEA000","region":null}]},{"id":"2aba7821-5614-415d-a829-4646d9d33d00","directory":"hix-puzzle-islands","title":"HIX: Puzzle Islands","compatibility":99,"releases":[{"id":"01002F70156FA000","region":null}]},{"id":"2abba450-bb63-4986-baef-5fe33dea43ab","directory":"bloodrayne-2-revamped","title":"BloodRayne 2: ReVamped","compatibility":0,"releases":[{"id":"0100BF50147C2000","region":null}]},{"id":"2ac25c48-6f54-4a56-97e2-ea9d5b3c7afd","directory":"gabbuchi","title":"Gabbuchi","compatibility":1,"releases":[{"id":"0100CCB00CBA8000","region":null}]},{"id":"2ad954cc-a4bd-4db9-9359-1e954a2732f2","directory":"hiragana-pixel-party","title":"Hiragana Pixel Party","compatibility":1,"releases":[{"id":"0100F3D008436000","region":null}]},{"id":"2ae69877-53a8-4e95-a062-1f9236b6d289","directory":"still-there","title":"Still There","compatibility":99,"releases":[{"id":"0100EF600F6C4000","region":null}]},{"id":"2aeacdd4-3bb3-416f-8c7a-3047a71c85e3","directory":"super-putty-squad","title":"Super Putty Squad","compatibility":5,"releases":[{"id":"0100331005E8E000","region":null}]},{"id":"2afb0488-46d2-4891-961e-fdf47764fd0d","directory":"rrootage-reloaded","title":"rRootage Reloaded","compatibility":0,"releases":[{"id":"01005CD015986000","region":null}]},{"id":"2b09f667-06f6-41bb-9222-b42e90d0b6e4","directory":"alpaca-ball-allstars","title":"Alpaca Ball: Allstars","compatibility":99,"releases":[{"id":"0100DE70131F4000","region":null}]},{"id":"2b0cfeed-7ebc-4065-a094-597bedd89eaf","directory":"secrets-of-magic-the-book-of-spells","title":"Secrets of Magic - The Book of Spells","compatibility":99,"releases":[{"id":"01003CB00CFD6000","region":null}]},{"id":"2b16a843-03b2-40f1-9023-87698ec8fb8f","directory":"uoris-dx","title":"UORiS DX","compatibility":99,"releases":[{"id":"0100F6300F94C000","region":null}]},{"id":"2b194c6d-a81d-43ec-8e8f-7634e6cd5faa","directory":"bezier-second-edition","title":"Bezier: Second Edition","compatibility":99,"releases":[{"id":"0100F1400FC9A000","region":null}]},{"id":"2b1dc18c-68cb-491e-964b-85c87c27d99f","directory":"minecraft-story-mode-season-two","title":"Minecraft: Story Mode - Season Two","compatibility":3,"releases":[{"id":"01003EF007ABA000","region":null}]},{"id":"2b24f456-7102-40db-bbe8-3a588c5bf315","directory":"arcade-archives-vs-castlevania","title":"Arcade Archives VS. CASTLEVANIA","compatibility":4,"releases":[{"id":"010029600EAE4000","region":null}]},{"id":"2b304feb-e4b8-43ae-b60e-a628550e6f47","directory":"firefighters-airport-heroes","title":"Firefighters - Airport Heroes","compatibility":99,"releases":[{"id":"010097500FBFA000","region":null}]},{"id":"2b3c1e1b-d779-47b4-b6b9-4f0f2f65bb84","directory":"ritual-crown-of-horns","title":"Ritual: Crown of Horns","compatibility":2,"releases":[{"id":"010042500FABA000","region":null}]},{"id":"2b3c5d30-9150-41c0-8c5f-82d7b60be2d4","directory":"sokobond","title":"Sokobond","compatibility":99,"releases":[{"id":"0100DF8013304000","region":null}]},{"id":"2b492945-407b-4f0e-9e29-8b54c071251e","directory":"raging-justice","title":"Raging Justice","compatibility":99,"releases":[{"id":"01003D00099EC000","region":null}]},{"id":"2b53a767-9d50-455a-833b-4681f188f239","directory":"gnomes-garden-2","title":"Gnomes Garden 2","compatibility":99,"releases":[{"id":"010008D00CCEC000","region":null}]},{"id":"2b5586c3-dd6f-489a-8cc2-2a8d06a19373","directory":"stellar-interface","title":"Stellar Interface","compatibility":99,"releases":[{"id":"01005A700C954000","region":null}]},{"id":"2b585edd-36b3-4055-ad61-b7b4296983d5","directory":"regina-mac","title":"Regina & Mac","compatibility":99,"releases":[{"id":"0100B56011B90000","region":null}]},{"id":"2b594bfb-9c3a-4220-8556-ed064d36fb03","directory":"angels-of-death","title":"Angels of Death","compatibility":1,"releases":[{"id":"0100AE000AEBC000","region":null}]},{"id":"2b64566e-8e40-40cd-8623-ab978b28528c","directory":"no-heroes-here","title":"No Heroes Here","compatibility":3,"releases":[{"id":"01009B400ACBA000","region":null}]},{"id":"2b655829-9398-4602-b04f-34e93f7a013e","directory":"street-outlaws-the-list","title":"Street Outlaws: The List","compatibility":99,"releases":[{"id":"010012400D202000","region":null}]},{"id":"2b80ad41-57f6-457b-974c-09ab898abbb9","directory":"freecell-solitaire-collection","title":"FreeCell Solitaire Collection","compatibility":99,"releases":[{"id":"0100E11014E68000","region":null}]},{"id":"2b815b5b-9998-4d31-9c31-797fd3ab856c","directory":"halloween-pinball","title":"Halloween Pinball","compatibility":99,"releases":[{"id":"0100E0D00C336000","region":null}]},{"id":"2b84296b-948d-4b10-ba6e-218d291f3f95","directory":"unlock-the-king","title":"Unlock The King","compatibility":99,"releases":[{"id":"0100AB2010B4C000","region":null}]},{"id":"2b8a3cd6-cd1d-4533-b41d-38fabe4aa304","directory":"my-universe-doctors-nurses","title":"My Universe - Doctors & Nurses","compatibility":99,"releases":[{"id":"01009CE015FD4000","region":null}]},{"id":"2ba1dd5a-6e24-46b1-818f-1d28bc9fbb62","directory":"darkest-dungeon","title":"Darkest Dungeon","compatibility":5,"releases":[{"id":"01008F1008DA6000","region":null}]},{"id":"2ba56d23-0c7a-4370-b3bb-4107c4c4b6ac","directory":"azurebreak-heroes","title":"Azurebreak Heroes","compatibility":99,"releases":[{"id":"010031D012BA4000","region":null}]},{"id":"2ba8eb51-9db9-446f-b291-338d2673f517","directory":"rekt-high-octane-stunts","title":"REKT! High Octane Stunts","compatibility":99,"releases":[{"id":"0100F1900B144000","region":null}]},{"id":"2ba99096-12b9-4471-9e78-5149d57f4712","directory":"salad-bar-tycoon","title":"Salad Bar Tycoon","compatibility":99,"releases":[{"id":"0100708012ECC000","region":null}]},{"id":"2baec860-a7d8-4013-b34c-5766b8a8d805","directory":"dual-brain-vol3-shapes","title":"Dual Brain Vol.3: Shapes","compatibility":1,"releases":[{"id":"0100C0F01078E000","region":null}]},{"id":"2bcce98f-5c40-4e9a-8a68-0a4329cc4cab","directory":"animal-pals-bubble-pop","title":"Animal Pals Bubble Pop","compatibility":99,"releases":[{"id":"010049501393A000","region":null}]},{"id":"2bd58ca4-cac9-4207-9721-57b9e4111c24","directory":"doom","title":"DOOM","compatibility":3,"releases":[{"id":"0100416004C00000","region":null}]},{"id":"2c049962-d0fa-4377-8a13-bb329d84d14d","directory":"undead-battle-royale","title":"Undead Battle Royale","compatibility":99,"releases":[{"id":"010033E014E3E000","region":null}]},{"id":"2c0fd009-5ee0-47ab-8fe7-fc44b042a837","directory":"cyanide-happiness-freakpocalypse","title":"Cyanide & Happiness - Freakpocalypse","compatibility":99,"releases":[{"id":"0100D0B01135C000","region":null}]},{"id":"2c14599d-7961-48b0-9880-a02e9486eb4a","directory":"creaks","title":"Creaks","compatibility":2,"releases":[{"id":"0100B0E010CF8000","region":null}]},{"id":"2c1d4f44-c17b-4ad8-8130-3e2a5e027bf3","directory":"gris","title":"GRIS","compatibility":0,"releases":[{"id":"0100E1700C31C000","region":null}]},{"id":"2c28f1f2-68a2-45a5-997b-68b6d7b5430e","directory":"mimpi-dreams","title":"Mimpi Dreams","compatibility":4,"releases":[{"id":"0100C41009E1A000","region":null}]},{"id":"2c57de46-5599-4899-852f-52bae94060d0","directory":"endocrisis","title":"Endocrisis","compatibility":99,"releases":[{"id":"0100A340154E6000","region":null}]},{"id":"2c668835-a72d-4cb0-9acb-a830ca3faf9e","directory":"asterix-and-obelix-xxl-2","title":"Asterix & Obelix XXL 2","compatibility":4,"releases":[{"id":"010050400BD38000","region":null}]},{"id":"2c6e66e5-eac6-4651-b00d-03105b70fdfd","directory":"blood-will-be-spilled","title":"Blood will be Spilled","compatibility":99,"releases":[{"id":"0100E060102AA000","region":null}]},{"id":"2c6fe20e-aa4e-4743-a4cf-cf9b38f0e285","directory":"more-dark","title":"More Dark","compatibility":99,"releases":[{"id":"01004230123E0000","region":null}]},{"id":"2c8d0849-4211-4cd3-b6e5-8fd5cb0ce2f2","directory":"laid-back-camp-virtual-fumoto-campsite","title":"Laid-Back Camp - Virtual - Fumoto Campsite","compatibility":0,"releases":[{"id":"0100030012E82000","region":null}]},{"id":"2c97f94b-9c6f-47b6-b3c2-3371f143f341","directory":"lost-lands-3-the-golden-curse","title":"Lost Lands 3: The Golden Curse","compatibility":99,"releases":[{"id":"0100156014C6A000","region":null}]},{"id":"2cb127eb-e996-43c0-af31-5153c3638b5a","directory":"hindsight-20-20-wrath-of-the-raakshasa","title":"Hindsight 20/20 - Wrath of the Raakshasa","compatibility":99,"releases":[{"id":"01005E3008452000","region":null}]},{"id":"2cbe4c69-0ba9-4a3a-ab9e-3d5e553a12a5","directory":"arcade-archives-wild-western","title":"Arcade Archives WILD WESTERN","compatibility":4,"releases":[{"id":"01001B000D8B6000","region":null}]},{"id":"2cc6c616-b346-4b1e-9c96-583a876c0643","directory":"the-sushi-spinnery","title":"The Sushi Spinnery","compatibility":99,"releases":[{"id":"010044200D2C4000","region":null}]},{"id":"2ccb3da9-5ac0-4a84-951e-63f52b208445","directory":"shift-happens-demo","title":"Shift Happens Demo","compatibility":99,"releases":[{"id":"010029E00B0D8000","region":null}]},{"id":"2cd09981-8d61-4193-97a4-b2c239bf4e05","directory":"nightmare-boy","title":"Nightmare Boy","compatibility":99,"releases":[{"id":"01005F4009112000","region":null}]},{"id":"2cdae8da-96a7-4233-932c-91c663d17d20","directory":"arcade-archives-shingen-samurai-fighter","title":"Arcade Archives SHINGEN SAMURAI-FIGHTER","compatibility":99,"releases":[{"id":"0100A9F014DB6000","region":null}]},{"id":"2cf744f1-784c-4cb1-9e9d-85ae51cd0d81","directory":"treadnauts","title":"Treadnauts","compatibility":99,"releases":[{"id":"01006EB004B0E000","region":null}]},{"id":"2d03e4ab-09db-4f60-82fd-e5026a02857b","directory":"robbie-swifthand-and-the-orb-of-mysteries","title":"Robbie Swifthand and the Orb of Mysteries","compatibility":2,"releases":[{"id":"010026500DAA8000","region":null}]},{"id":"2d20206e-85fa-436a-b7d0-83f1af57f3d6","directory":"monochrome-order","title":"Monochrome Order","compatibility":1,"releases":[{"id":"010075200F1CA000","region":null}]},{"id":"2d205f94-139d-4f51-ae83-2bcc89e20a82","directory":"paw-patrol-mighty-pups-save-adventure-bay","title":"PAW Patrol Mighty Pups Save Adventure Bay","compatibility":1,"releases":[{"id":"01001F201121E000","region":null}]},{"id":"2d2288a3-c9b7-4b6c-bf83-4074725ba702","directory":"aca-neogeo-real-bout-fatal-fury","title":"ACA NEOGEO REAL BOUT FATAL FURY","compatibility":2,"releases":[{"id":"010030F008730000","region":null}]},{"id":"2d311550-703e-4d03-bad2-cec598b5dbac","directory":"head-over-heels","title":"Head over Heels","compatibility":99,"releases":[{"id":"010048A0151CA000","region":null}]},{"id":"2d342f9b-dff4-42ab-8d05-394afe906c1f","directory":"vaporum","title":"Vaporum","compatibility":99,"releases":[{"id":"010030F00CA1E000","region":null}]},{"id":"2d356936-b25b-4d64-b271-b02a97276f2d","directory":"arcade-archives-circus-charlie","title":"Arcade Archives CIRCUS CHARLIE","compatibility":99,"releases":[{"id":"0100557012752000","region":null}]},{"id":"2d3a928c-b90c-437e-a181-fdedb3d3816d","directory":"the-almost-gone","title":"The Almost Gone","compatibility":1,"releases":[{"id":"010079A0112BE000","region":null}]},{"id":"2d4c03c3-d5db-4668-8268-4f1f417a9696","directory":"jdm-racing","title":"JDM Racing","compatibility":99,"releases":[{"id":"010002D00EDD0000","region":null}]},{"id":"2d5da000-8676-428d-88b5-ce3ff7c13fb5","directory":"professor-lupo-and-his-horrible-pets","title":"Professor Lupo and his Horrible Pets","compatibility":0,"releases":[{"id":"010018300C83A000","region":null}]},{"id":"2d5e8023-e179-48b4-b7c6-c99c5bab208b","directory":"remothered-broken-porcelain","title":"Remothered: Broken Porcelain","compatibility":3,"releases":[{"id":"0100FBD00F5F6000","region":null}]},{"id":"2d60e067-dc8a-48c3-a4f5-ba9825f67e95","directory":"please-the-gods","title":"Please The Gods","compatibility":99,"releases":[{"id":"0100E5500FE0A000","region":null}]},{"id":"2d62c5d1-e638-4fa4-9c25-08f64ea68219","directory":"the-church-in-the-darkness","title":"The Church in the Darkness","compatibility":99,"releases":[{"id":"010000B00D800000","region":null}]},{"id":"2d6fa37f-5e74-466e-ac68-219045ce79f9","directory":"just-glide","title":"Just Glide","compatibility":99,"releases":[{"id":"01002C301033E000","region":null}]},{"id":"2d7755c9-a089-4008-86a9-97208358d316","directory":"alchemists-castle","title":"Alchemist's Castle","compatibility":0,"releases":[{"id":"010001E00F75A000","region":null}]},{"id":"2d793e23-4f89-4ad1-b4b1-ec9b70938dca","directory":"realmyst-masterpiece-edition","title":"realMyst: Masterpiece Edition","compatibility":2,"releases":[{"id":"0100E64010BAA000","region":null}]},{"id":"2d7fb843-820d-4260-bd8c-ee1b9f37e854","directory":"bonfire-peaks","title":"Bonfire Peaks","compatibility":99,"releases":[{"id":"010057C01330A000","region":null}]},{"id":"2d8543f6-e27a-410a-85b0-16a0c89f7b32","directory":"aragami-shadow-edition","title":"Aragami: Shadow Edition","compatibility":99,"releases":[{"id":"010071800BA74000","region":null}]},{"id":"2d85d9be-78a5-4c4e-93aa-f94a2b6e8223","directory":"bloxiq","title":"bloxiq","compatibility":99,"releases":[{"id":"01002F300AC18000","region":null}]},{"id":"2d9675d1-1e34-4d4c-a458-aadbdb0935ea","directory":"bioshock-2-remastered","title":"BioShock 2 Remastered","compatibility":4,"releases":[{"id":"01002620102C6000","region":null}]},{"id":"2d9c1475-54aa-4b77-8759-22fd2e94eeb5","directory":"dark-arcana-the-carnival","title":"Dark Arcana: The Carnival","compatibility":99,"releases":[{"id":"01003D301357A000","region":null}]},{"id":"2da01d0f-bacd-4113-ba74-3c27727acb7e","directory":"aca-neogeo-samurai-shodown-iii","title":"ACA NEOGEO SAMURAI SHODOWN III","compatibility":99,"releases":[{"id":"0100804008794000","region":null}]},{"id":"2da41c46-2ca3-4f4d-a2c2-2917f12361e7","directory":"doubles-hard","title":"Doubles Hard","compatibility":99,"releases":[{"id":"0100024011858000","region":null}]},{"id":"2db69998-2c95-447f-bc0f-3c0ff616e902","directory":"caveman-chuck-prehistoric-adventure","title":"Caveman Chuck: Prehistoric Adventure","compatibility":99,"releases":[{"id":"010080C00AC3C000","region":null}]},{"id":"2dc32575-1ca5-4c8f-8cc5-74f8b4503429","directory":"save-koch","title":"Save Koch","compatibility":99,"releases":[{"id":"0100C8300FA90000","region":null}]},{"id":"2dd151e2-3031-48d8-8ae0-e72df746cfec","directory":"sunless-sea-zubmariner-edition","title":"Sunless Sea: Zubmariner Edition","compatibility":3,"releases":[{"id":"01005A700ECF8000","region":null}]},{"id":"2de4b2ff-9ecf-4501-b28b-d3d1c0b2b894","directory":"onigiri","title":"Onigiri","compatibility":99,"releases":[{"id":"0100BC200B99E000","region":null}]},{"id":"2de9ca7d-afe0-41aa-8159-6a26d9fa31f5","directory":"dark-thrones","title":"Dark Thrones","compatibility":1,"releases":[{"id":"01002D5014EB4000","region":null}]},{"id":"2deab351-bd80-4ef6-9c81-90fcc3e32400","directory":"light-tracer","title":"Light Tracer","compatibility":0,"releases":[{"id":"010087700D07C000","region":null}]},{"id":"2df885ac-a961-400c-bc99-23e09a5e0d23","directory":"truck-simulator","title":"Truck Simulator","compatibility":99,"releases":[{"id":"010066D013354000","region":null}]},{"id":"2e00eee8-1a21-4d26-8deb-a397073d902e","directory":"toree-2","title":"Toree 2","compatibility":99,"releases":[{"id":"0100C7301658C000","region":null}]},{"id":"2e0577a9-ab69-4364-b462-bf80afc9791d","directory":"aca-neogeo-world-heroes-2","title":"ACA NEOGEO WORLD HEROES 2","compatibility":99,"releases":[{"id":"01001BD00915A000","region":null}]},{"id":"2e224d9c-899f-40a3-8a1a-3f53d3e5ed3e","directory":"asdivine-menace","title":"Asdivine Menace","compatibility":1,"releases":[{"id":"0100FE000EC24000","region":null}]},{"id":"2e2610c1-fb3c-4e99-98f0-6de79bb8855e","directory":"transistor","title":"Transistor","compatibility":3,"releases":[{"id":"0100BE500BEA2000","region":null}]},{"id":"2e34b406-84cf-42b7-9265-01783497231a","directory":"red-rope-dont-fall-behind","title":"Red Rope: Don't Fall Behind +","compatibility":99,"releases":[{"id":"01002800110CA000","region":null}]},{"id":"2e42827f-837a-4944-914d-5a168cae0f9d","directory":"swap-this","title":"Swap This!","compatibility":1,"releases":[{"id":"010005500ADDC000","region":null}]},{"id":"2e42fd87-ae31-4832-a9d7-905a234ce9ae","directory":"duel-princess","title":"Duel Princess","compatibility":0,"releases":[{"id":"0100EDD016562000","region":null}]},{"id":"2e64dc24-624d-4622-b35b-8a658606a23b","directory":"dininho-space-adventure","title":"Dininho Space Adventure","compatibility":99,"releases":[{"id":"010027E0158A6000","region":null}]},{"id":"2e6ff344-f455-4fa7-96cf-11d5d9eaadcd","directory":"samurai-shodown-2","title":"SAMURAI SHODOWN!2","compatibility":0,"releases":[{"id":"010095300F778000","region":null}]},{"id":"2e751254-d567-4c85-92f1-250e102e54e9","directory":"mentori-puzzle","title":"Mentori Puzzle","compatibility":99,"releases":[{"id":"010080B00AF0E000","region":null}]},{"id":"2e891f14-70fa-48de-a1f1-1ed0c2ef5244","directory":"black-book","title":"Black Book","compatibility":99,"releases":[{"id":"0100DD1014AB8000","region":null}]},{"id":"2e9c54c3-5dcf-470b-a5c8-1adf17213268","directory":"smelter","title":"Smelter","compatibility":2,"releases":[{"id":"0100B45010E9C000","region":null}]},{"id":"2eadb046-8cc2-4837-a561-40049f22f6d7","directory":"arcade-archives-golf","title":"Arcade Archives GOLF","compatibility":99,"releases":[{"id":"01005BA00E6BE000","region":null}]},{"id":"2eb0cdad-043b-46d4-bece-9f78f2007ecc","directory":"maitetsupure-station","title":"Maitetsu:Pure Station","compatibility":99,"releases":[{"id":"0100D9900F220000","region":null}]},{"id":"2eb58c74-78a7-4f83-bbbe-3b32d1fb830a","directory":"dont-forget-me","title":"Don't Forget Me","compatibility":99,"releases":[{"id":"01006DF015F00000","region":null}]},{"id":"2ec5de8f-8d9c-4ea0-bba6-0a315dc69e9c","directory":"behold-the-kickmen","title":"Behold the Kickmen","compatibility":99,"releases":[{"id":"0100558010B26000","region":null}]},{"id":"2ecbbf44-dfc8-4347-825c-303d18dad4fc","directory":"slam-land","title":"Slam Land","compatibility":99,"releases":[{"id":"01004E400A48C000","region":null}]},{"id":"2ed15f64-0abd-4758-9b0a-912eb43cf853","directory":"jigsaw-fun-piece-it-together","title":"Jigsaw Fun: Piece It Together!","compatibility":99,"releases":[{"id":"01008F1012DF4000","region":null}]},{"id":"2ed69050-8b03-480c-b6e1-1c6af4599711","directory":"cytus-a","title":"Cytus α","compatibility":1,"releases":[{"id":"010063100B2C2000","region":null}]},{"id":"2f06f14e-df13-4397-940a-7098ce561dc4","directory":"we-the-revolution","title":"We. The Revolution","compatibility":99,"releases":[{"id":"010045C00E27C000","region":null}]},{"id":"2f092c64-0cfa-4d0e-82fd-49b38a2fac34","directory":"7-billion-humans","title":"7 Billion Humans","compatibility":1,"releases":[{"id":"0100DA900B67A000","region":null}]},{"id":"2f133c3a-697d-4ed2-9a62-6c8ccadc137e","directory":"valkyria-chronicles-4","title":"Valkyria Chronicles 4","compatibility":4,"releases":[{"id":"01005C600AC68000","region":null}]},{"id":"2f1d5455-2701-437b-9276-8f1213c3710d","directory":"baobabs-mausoleum-ep2-1313-barnabas-dead-end-drive","title":"Baobabs Mausoleum Ep.2: 1313 Barnabas Dead End Drive","compatibility":99,"releases":[{"id":"010079300E976000","region":null}]},{"id":"2f207759-4a12-447b-a7bd-aab223f3734b","directory":"speed-brawl","title":"Speed Brawl","compatibility":5,"releases":[{"id":"010040F00AA9A000","region":null}]},{"id":"2f39f7c1-9d07-42f0-8ef1-81c54fdff93d","directory":"yokus-island-express","title":"Yoku's Island Express","compatibility":4,"releases":[{"id":"010002D00632E000","region":null}]},{"id":"2f3f7b28-40dc-4245-9970-54cf35d467f5","directory":"the-jackbox-party-pack","title":"The Jackbox Party Pack","compatibility":99,"releases":[{"id":"0100AE5003EE6000","region":null}]},{"id":"2f47c60c-43e4-437a-9b49-7505724106bb","directory":"defenders-of-ekron-definitive-edition","title":"Defenders of Ekron: Definitive Edition","compatibility":99,"releases":[{"id":"01008BB00F824000","region":null}]},{"id":"2f559e7e-837f-4252-9571-99aa36675ce8","directory":"tux-and-fanny","title":"Tux and Fanny","compatibility":99,"releases":[{"id":"0100E3301426E000","region":null}]},{"id":"2f6128d9-502f-47d4-bf5a-638d7478c592","directory":"atelier-firis-the-alchemist-and-the-mysterious-journey-dx","title":"Atelier Firis: The Alchemist and the Mysterious Journey DX","compatibility":99,"releases":[{"id":"010023201421E000","region":null}]},{"id":"2f70a015-ed03-4d4c-9f9f-8f9e4735db10","directory":"lofi-ping-pong","title":"Lofi Ping Pong","compatibility":99,"releases":[{"id":"0100D2C013288000","region":null}]},{"id":"2f73dcf4-f022-4f5e-8bd3-1ff2594aefa0","directory":"akibas-trip-hellbound-debriefed","title":"AKIBA'S TRIP: Hellbound & Debriefed","compatibility":99,"releases":[{"id":"01009E8012976000","region":null}]},{"id":"2f8787a9-3732-41d1-ab2c-9a9013ea3b02","directory":"kotodama-the-7-mysteries-of-fujisawa","title":"Kotodama: The 7 Mysteries of Fujisawa","compatibility":0,"releases":[{"id":"010046600CCA4000","region":null}]},{"id":"2fa16b43-f78d-4077-b3f6-19162d7dc700","directory":"armello","title":"Armello","compatibility":1,"releases":[{"id":"010070A00A5F4000","region":null}]},{"id":"2fa346a7-ec9c-4c3b-8556-d9ff54ce08d2","directory":"mowin-and-throwin","title":"Mowin' & Throwin'","compatibility":99,"releases":[{"id":"01001C500D850000","region":null}]},{"id":"2fadd10c-399a-4d73-b0c8-49b21ef8b601","directory":"baldurs-gate-dark-alliance","title":"Baldur's Gate: Dark Alliance","compatibility":0,"releases":[{"id":"0100FD1014726000","region":null}]},{"id":"2faec41b-9a72-4a15-b58b-bcce4665abec","directory":"freddy-spaghetti-2","title":"Freddy Spaghetti 2","compatibility":99,"releases":[{"id":"0100329015900000","region":null}]},{"id":"2fb77223-9b73-4427-a2e9-487d987b692c","directory":"mexican-train-dominoes-gold","title":"Mexican Train Dominoes Gold","compatibility":99,"releases":[{"id":"01007320134EE000","region":null}]},{"id":"2fc91efa-0b6c-40ac-9ed0-2da2af13a05c","directory":"inked-a-tale-of-love","title":"Inked: A Tale of Love","compatibility":99,"releases":[{"id":"01008B801471C000","region":null}]},{"id":"2fe91d42-a9b4-4586-ab3a-628b6117d34f","directory":"everyday-todays-menu-for-emiya-family","title":"Everyday♪ Today's MENU for EMIYA Family","compatibility":1,"releases":[{"id":"010031B012254000","region":null}]},{"id":"2ff80137-7601-4fd4-b7fb-3f17591c5dfb","directory":"oddworld-munchs-oddysee","title":"Oddworld: Munch's Oddysee","compatibility":4,"releases":[{"id":"0100BB500EE3C000","region":null}]},{"id":"300ae4ff-2934-4866-92b3-84627024870f","directory":"grisaia-phantom-trigger-03","title":"GRISAIA PHANTOM TRIGGER 03","compatibility":3,"releases":[{"id":"01005250123B8000","region":null}]},{"id":"301ee9be-e52e-400b-aeec-bab95afb8232","directory":"project-starship-x","title":"Project Starship X","compatibility":1,"releases":[{"id":"0100EC5012BDE000","region":null}]},{"id":"30240933-1ef4-42a3-8275-278f5bab0eb4","directory":"my-hero-ones-justice-2","title":"MY HERO ONE'S JUSTICE 2","compatibility":2,"releases":[{"id":"01007E700DBF6000","region":null}]},{"id":"3024941e-4396-4584-90d7-e6a31870df10","directory":"olliolli-switch-stance","title":"OlliOlli: Switch Stance","compatibility":99,"releases":[{"id":"0100E0200B980000","region":null}]},{"id":"30260332-0135-4c51-a352-a1f2d395f392","directory":"embers-of-mirrim-demo","title":"Embers of Mirrim Demo","compatibility":99,"releases":[{"id":"01008AF0080B8000","region":null}]},{"id":"30303741-f964-4b81-84d1-d469dc105d25","directory":"max-the-curse-of-brotherhood-demo","title":"Max: The Curse of Brotherhood (Demo)","compatibility":99,"releases":[{"id":"0100A9A0088FE000","region":null}]},{"id":"30333a11-79fe-488d-844c-aaeea0167be6","directory":"arcade-archives-vs-wrecking-crew","title":"Arcade Archives VS. WRECKING CREW","compatibility":99,"releases":[{"id":"0100B490113C8000","region":null}]},{"id":"303d2984-6283-40c6-8d2c-049cdbc15336","directory":"delta-squad","title":"Delta Squad","compatibility":99,"releases":[{"id":"0100C5E00E4E0000","region":null}]},{"id":"3048c0d6-825e-4651-ab7b-3edc09a620ab","directory":"aviary-attorney-definitive-edition","title":"Aviary Attorney: Definitive Edition","compatibility":1,"releases":[{"id":"0100B280106A0000","region":null}]},{"id":"30530b59-047c-4c25-aa10-b15077432445","directory":"the-witcher-3-wild-hunt-complete-edition","title":"The Witcher 3: Wild Hunt — Complete Edition","compatibility":5,"releases":[{"id":"0100BFE00E9CA000","region":null}]},{"id":"3059c05a-cc3f-40ef-847c-4db825ee73f7","directory":"i-zombie","title":"I, Zombie","compatibility":99,"releases":[{"id":"0100429006A06000","region":null}]},{"id":"3071ae4e-8265-404e-aaef-9daff482afa5","directory":"the-men-of-yoshiwara-kikuya","title":"The Men of Yoshiwara: Kikuya","compatibility":99,"releases":[{"id":"0100E95006B30000","region":null}]},{"id":"30a37296-1e38-4038-8cb4-04ad8feae446","directory":"pooplers","title":"Pooplers","compatibility":99,"releases":[{"id":"01005C5011086000","region":null}]},{"id":"30a6d8eb-9b56-4f5a-b758-9c19195d01dd","directory":"escape-from-life-inc","title":"Escape from Life Inc","compatibility":99,"releases":[{"id":"010023E013244000","region":null}]},{"id":"30aac3b7-a998-4a88-b264-a0f0d43437bc","directory":"mutazione","title":"Mutazione","compatibility":99,"releases":[{"id":"0100D750132D8000","region":null}]},{"id":"30b4484f-d9a1-4326-a2e1-ff26d7875911","directory":"taxi-sim-2020","title":"Taxi Sim 2020","compatibility":99,"releases":[{"id":"0100CD4011A18000","region":null}]},{"id":"30b6c15a-cb3e-48ea-8e63-88e31ea8085c","directory":"farm-together","title":"Farm Together","compatibility":99,"releases":[{"id":"010086B00BB50000","region":null}]},{"id":"30beec3d-8258-4c01-8492-4cbed8af655a","directory":"ultracore","title":"Ultracore","compatibility":1,"releases":[{"id":"0100E5C00DC46000","region":null}]},{"id":"30d5b111-ef51-40df-a9bd-ae93e0179f4e","directory":"kuso","title":"kuso","compatibility":99,"releases":[{"id":"01007C000C314000","region":null}]},{"id":"30e6c464-488f-493c-a5c3-8bb38f265008","directory":"astebreed","title":"Astebreed","compatibility":99,"releases":[{"id":"010057A00C1F6000","region":null}]},{"id":"30ecfd04-c26a-4d7d-a4df-465a0d8d618b","directory":"eqi","title":"EQI","compatibility":99,"releases":[{"id":"01000FA0149B6000","region":null}]},{"id":"310377b8-239e-4166-b18b-f1edd0fd4479","directory":"afl-evolution-2","title":"AFL Evolution 2","compatibility":99,"releases":[{"id":"01001B400D334000","region":null}]},{"id":"311a9a38-e0d1-42a1-b905-d63469d03b61","directory":"jay-and-silent-bob-mall-brawl","title":"Jay and Silent Bob: Mall Brawl","compatibility":1,"releases":[{"id":"0100CD1010740000","region":null}]},{"id":"311e098c-6b32-47a7-be6e-459af132139b","directory":"wayout","title":"Wayout","compatibility":99,"releases":[{"id":"01008E300E400000","region":null}]},{"id":"31334fe8-aa20-47e1-b1ca-6349bcfe3ace","directory":"titan-chaser","title":"Titan Chaser","compatibility":1,"releases":[{"id":"0100B4601500E000","region":null}]},{"id":"31392f21-3cc3-423f-ac55-6195ae03bfa8","directory":"smash-club-streets-of-shmeenis","title":"Smash Club: Streets of Shmeenis","compatibility":99,"releases":[{"id":"0100D6F013856000","region":null}]},{"id":"3143cc2e-4152-465b-8cd0-3fff8dec24bf","directory":"cake-laboratory","title":"Cake Laboratory","compatibility":99,"releases":[{"id":"0100B8E00CBB0000","region":null}]},{"id":"314b1501-5b88-4279-a25c-863b7c0f3fdf","directory":"teddy-the-wanderer-mountain-hike","title":"Teddy The Wanderer: Mountain Hike","compatibility":99,"releases":[{"id":"010078300DA14000","region":null}]},{"id":"314b3628-16d9-413c-a43c-9a79135ac09e","directory":"arcade-archives-twinbee","title":"Arcade Archives TwinBee","compatibility":99,"releases":[{"id":"010050200FFD2000","region":null}]},{"id":"314b39c3-97bc-4a4e-96ea-36645b9b2ac4","directory":"skate-city","title":"Skate City","compatibility":0,"releases":[{"id":"0100134011E32000","region":null}]},{"id":"3151ec43-5278-436b-9258-eb6c84f83777","directory":"call-of-cthulhu","title":"Call of Cthulhu","compatibility":0,"releases":[{"id":"010046000EE40000","region":null}]},{"id":"316155f2-34f9-4455-8c8e-b6d96a10227d","directory":"defend-the-kingdom","title":"Defend the Kingdom","compatibility":99,"releases":[{"id":"0100BBE015384000","region":null}]},{"id":"31856a5e-9846-4b09-9ee4-f1f4fe323289","directory":"waifu-uncovered","title":"Waifu Uncovered","compatibility":2,"releases":[{"id":"0100B130119D0000","region":null}]},{"id":"3186e43b-70bc-422d-9e2c-e411b5898947","directory":"bit-dungeon-plus","title":"Bit Dungeon Plus","compatibility":99,"releases":[{"id":"0100C6E0047C8000","region":null}]},{"id":"318c3d82-af21-4762-8288-9567c6b6e02e","directory":"no-time-to-relax","title":"No Time to Relax","compatibility":99,"releases":[{"id":"0100DE600FDFE000","region":null}]},{"id":"31a5f266-e8ad-46c1-a2cf-af773b958ddb","directory":"gaps-by-powgi","title":"Gaps by POWGI","compatibility":99,"releases":[{"id":"0100C4E015078000","region":null}]},{"id":"31a80cb7-b6f3-4411-b739-a60efb056f50","directory":"indivisible","title":"Indivisible","compatibility":2,"releases":[{"id":"01001D3003FDE000","region":null}]},{"id":"31acc5fa-f768-4a04-9cc2-06b1aafa7c4e","directory":"picross-s6","title":"PICROSS S6","compatibility":0,"releases":[{"id":"010025901432A000","region":null}]},{"id":"31bba738-76f5-4685-98b6-5c0815670f9e","directory":"sticky-monsters","title":"Sticky Monsters","compatibility":99,"releases":[{"id":"0100AA4014136000","region":null}]},{"id":"31c03d2d-e36f-44c4-b33e-e1f2c33bb073","directory":"one-step-from-eden","title":"One Step From Eden","compatibility":2,"releases":[{"id":"010048800F41C000","region":null}]},{"id":"31d60154-2d11-4394-b89c-db32415a64e6","directory":"what-the-zombies","title":"What The Zombies?!","compatibility":99,"releases":[{"id":"0100341016214000","region":null}]},{"id":"31dfbaf1-3ff6-40f4-b98b-2ba1d2e92675","directory":"monster-hunter-generations-ultimate-demo","title":"MONSTER HUNTER GENERATIONS ULTIMATE™ Demo","compatibility":99,"releases":[{"id":"0100E6400B1EA000","region":null}]},{"id":"31e178d1-349b-4cb4-bf33-600bc93898eb","directory":"blindy","title":"Blindy","compatibility":99,"releases":[{"id":"01007BF00FCB0000","region":null}]},{"id":"31f158e0-c83b-4527-a7d8-11726a020bb4","directory":"katamari-damacy-reroll","title":"Katamari Damacy REROLL","compatibility":1,"releases":[{"id":"0100D7000C2C6000","region":null}]},{"id":"31fbcf1c-7110-47dd-8007-37632ee8a4e1","directory":"rogue-singularity","title":"Rogue Singularity","compatibility":99,"releases":[{"id":"010068400ABB6000","region":null}]},{"id":"31fec938-4702-4ad0-bcb7-b3f036ba56c7","directory":"super-daryl-deluxe","title":"Super Daryl Deluxe","compatibility":99,"releases":[{"id":"010078800869A000","region":null}]},{"id":"32035180-d8ef-4b2f-bec7-397d4d30f67b","directory":"jumanji-the-video-game","title":"JUMANJI: The Video Game","compatibility":3,"releases":[{"id":"0100B4D00C76E000","region":null}]},{"id":"321560be-10e6-409e-bb29-41ba851f5d69","directory":"aca-neogeo-ninja-commando","title":"ACA NEOGEO NINJA COMMANDO","compatibility":5,"releases":[{"id":"01007E800AFB6000","region":null}]},{"id":"32169608-10b0-4cd3-aca2-9f8135c95697","directory":"the-secret-order-shadow-breach","title":"The Secret Order: Shadow Breach","compatibility":99,"releases":[{"id":"010044F0114B8000","region":null}]},{"id":"321d5852-f688-4623-8981-847f6f274f0b","directory":"phogs","title":"PHOGS!","compatibility":99,"releases":[{"id":"0100DA400F624000","region":null}]},{"id":"322680d9-3c18-40b9-84ff-0b01dc67a5c7","directory":"jiffy","title":"Jiffy","compatibility":5,"releases":[{"id":"01008330134DA000","region":null}]},{"id":"322f2db0-4582-441a-b2ad-fa0878142b9b","directory":"dungeon-stars","title":"Dungeon Stars","compatibility":99,"releases":[{"id":"0100E79009A94000","region":null}]},{"id":"32341f83-0c02-40ec-8e14-6c15c2d09858","directory":"snk-vs-capcom-the-match-of-the-millennium","title":"SNK VS. CAPCOM: THE MATCH OF THE MILLENNIUM","compatibility":99,"releases":[{"id":"010027D0137E0000","region":null}]},{"id":"323cf813-833e-4ee5-89e4-f8e001080e70","directory":"sinucaattack","title":"#SinucaAttack","compatibility":99,"releases":[{"id":"0100E0001338C000","region":null}]},{"id":"3242b203-1fd2-4dad-a588-250ffb7347b9","directory":"lotus-reverie-first-nexus","title":"Lotus Reverie: First Nexus","compatibility":99,"releases":[{"id":"010049901561C000","region":null}]},{"id":"324cc92a-e452-4be6-8ab4-b46e8d91994e","directory":"reknum","title":"Reknum","compatibility":99,"releases":[{"id":"0100A1D00FE54000","region":null}]},{"id":"32537e9e-b5f1-47af-b507-8507caff8797","directory":"ruinverse","title":"Ruinverse","compatibility":99,"releases":[{"id":"0100361013ACC000","region":null}]},{"id":"3260f32e-f8ba-4475-bbb2-959162101e8e","directory":"empire-of-angels-iv","title":"Empire of Angels IV","compatibility":99,"releases":[{"id":"0100D1A01460A000","region":null}]},{"id":"3262f262-2f1f-4f4a-b16f-6d09000f00c7","directory":"sentry","title":"SENTRY","compatibility":99,"releases":[{"id":"0100A5D012DAC000","region":null}]},{"id":"326d9bf1-9fa3-4ea0-9544-ca0e776be161","directory":"vigil-the-longest-night","title":"Vigil: The Longest Night","compatibility":1,"releases":[{"id":"01002D100EF3A000","region":null}]},{"id":"327318d6-16c6-414d-ac3f-23557cbd0f6e","directory":"edgar-bokbok-in-boulzac","title":"Edgar - Bokbok in Boulzac","compatibility":0,"releases":[{"id":"01009E700F726000","region":null}]},{"id":"32890cf5-529a-42b6-ac61-2cf266971205","directory":"splitter-critters","title":"Splitter Critters","compatibility":99,"releases":[{"id":"0100C320083BE000","region":null}]},{"id":"328bae36-f019-4c1d-8465-026e2b09e2f2","directory":"henchman-story","title":"Henchman Story","compatibility":99,"releases":[{"id":"01003580162D8000","region":null}]},{"id":"328ee7ac-23b4-48e4-b868-a1cd95e1eb01","directory":"the-stillness-of-the-wind","title":"The Stillness of the Wind","compatibility":4,"releases":[{"id":"01009AB00BDFE000","region":null}]},{"id":"3296573f-6b47-415c-9a5c-c502c25965f1","directory":"final-fantasy-vii","title":"FINAL FANTASY VII","compatibility":4,"releases":[{"id":"0100A5B00BDC6000","region":null}]},{"id":"329e7a3b-3475-4fb8-94e2-46d487b67d53","directory":"overdriven-reloaded-special-edition","title":"Overdriven Reloaded: Special Edition","compatibility":99,"releases":[{"id":"010051A00ACAC000","region":null}]},{"id":"32a34d48-601b-4f0c-9886-e7ed7f2b5a9e","directory":"the-swindle","title":"The Swindle","compatibility":99,"releases":[{"id":"010040D00B7CE000","region":null}]},{"id":"32a7cba5-ec93-4aa2-b517-d9427ef0ffd8","directory":"jump-force-deluxe-edition","title":"JUMP FORCE - Deluxe Edition","compatibility":3,"releases":[{"id":"0100183010F12000","region":null}]},{"id":"32b149bf-fb15-40cc-a338-69157b190a14","directory":"monkey-wall","title":"Monkey Wall","compatibility":99,"releases":[{"id":"0100F9700C73E000","region":null}]},{"id":"32b9d88e-b5cf-440a-9236-73c7ef20fffd","directory":"shin-megami-tensei-v","title":"Shin Megami Tensei V","compatibility":2,"releases":[{"id":"010063B012DC6000","region":null}]},{"id":"32c2182b-2c12-4838-b178-81d79e9122c4","directory":"jigsaw-tetra","title":"Jigsaw Tetra","compatibility":99,"releases":[{"id":"010068401471A000","region":null}]},{"id":"32c995b4-5f1f-4208-906f-672078eea5b5","directory":"koloro","title":"Koloro","compatibility":99,"releases":[{"id":"01005D200C9AA000","region":null}]},{"id":"32cba5f7-399c-4223-824b-432e21362efc","directory":"relicta","title":"Relicta","compatibility":99,"releases":[{"id":"01002AD013C52000","region":null}]},{"id":"32ce4fd0-7a6c-43db-b1ac-6d8f7bce6686","directory":"bone-marrow","title":"Bone Marrow","compatibility":1,"releases":[{"id":"01009E8015704000","region":null}]},{"id":"32d5112a-6ac7-4466-97fa-4e9a58d64931","directory":"earthnight","title":"EarthNight","compatibility":1,"releases":[{"id":"0100A2E00BB0C000","region":null}]},{"id":"32d77d62-00bc-41f8-b504-7ccc7bf60960","directory":"chapeau","title":"Chapeau","compatibility":99,"releases":[{"id":"010004100FBB0000","region":null}]},{"id":"32dac534-588d-46c5-8024-db7e21a76280","directory":"aca-neogeo-neo-geo-cup-98-the-road-to-the-victory","title":"ACA NEOGEO NEO GEO CUP '98: THE ROAD TO THE VICTORY","compatibility":99,"releases":[{"id":"010061C00AFDA000","region":null}]},{"id":"32ec6569-3c64-46af-b380-b2c2a7383028","directory":"soul-searching","title":"Soul Searching","compatibility":99,"releases":[{"id":"0100F2100F0B2000","region":null}]},{"id":"32f16bb2-3025-4c32-8da2-a27204541f6f","directory":"ages-of-mages-the-last-keeper","title":"Ages of Mages: The last keeper","compatibility":1,"releases":[{"id":"0100E4700E040000","region":null}]},{"id":"33003dff-2ddf-48c2-b31b-aa7ab6f7714a","directory":"nevaeh","title":"Nevaeh","compatibility":99,"releases":[{"id":"0100C20012A54000","region":null}]},{"id":"330d6552-6dd4-498c-b533-c0429148daec","directory":"instant-tennis-demo","title":"INSTANT TENNIS DEMO","compatibility":99,"releases":[{"id":"0100ADA00BE3C000","region":null}]},{"id":"33148dcc-f9e4-429f-a36e-ac7e6c8b3a0e","directory":"spectrum","title":"Spectrum","compatibility":99,"releases":[{"id":"01008B000A5AE000","region":null}]},{"id":"331e1c13-5f70-41ce-99cc-9600d480439d","directory":"lost-sea","title":"Lost Sea","compatibility":99,"releases":[{"id":"010071B00964A000","region":null}]},{"id":"3325305f-1bb7-468f-b3ce-7f91178a8331","directory":"fight-of-gods","title":"Fight of Gods","compatibility":1,"releases":[{"id":"01002F600C684000","region":null}]},{"id":"33547cec-0302-4ea4-930d-41a0a10df857","directory":"citizens-unite-earth-x-space","title":"Citizens Unite!: Earth x Space","compatibility":99,"releases":[{"id":"0100D9C012900000","region":null}]},{"id":"3355041e-0acb-456f-ae9d-102d17053999","directory":"pictooi","title":"Pictooi","compatibility":99,"releases":[{"id":"0100C8B0153CE000","region":null}]},{"id":"336e417d-4d8f-476e-b130-9a1b257ab125","directory":"bitmaster","title":"Bitmaster","compatibility":99,"releases":[{"id":"010026E0141C8000","region":null}]},{"id":"3374b0ec-c3a9-44be-8d91-dc2ac50698a5","directory":"joker-poker-video-poker","title":"Joker Poker - Video Poker","compatibility":99,"releases":[{"id":"010055E012BAA000","region":null}]},{"id":"3377b51b-4240-4e1e-a88b-24266d41da3b","directory":"naught","title":"Naught","compatibility":99,"releases":[{"id":"0100103011894000","region":null}]},{"id":"338bf69e-4ad0-44a4-842e-2720f5b9a913","directory":"wanderjahr-tryagainorwalkaway","title":"Wanderjahr TryAgainOrWalkAway","compatibility":99,"releases":[{"id":"010078800825E000","region":null}]},{"id":"338e97b7-6bcb-4523-80d4-4d62c5ed73d8","directory":"aborigenus","title":"Aborigenus","compatibility":99,"releases":[{"id":"0100EFC010398000","region":null}]},{"id":"339790d8-1052-493c-8364-e182de090a73","directory":"eternal-hope","title":"Eternal Hope","compatibility":1,"releases":[{"id":"010000E015046000","region":null}]},{"id":"3399b29a-b07c-4602-8899-6989a8ab5b7b","directory":"atari-flashback-classics","title":"Atari Flashback Classics","compatibility":0,"releases":[{"id":"0100CF3007578000","region":null}]},{"id":"33a6967a-181f-4744-841d-1fad45d097cd","directory":"crush-your-enemies","title":"Crush Your Enemies!","compatibility":99,"releases":[{"id":"01005F900902A000","region":null}]},{"id":"33ac1f1b-b98e-49b5-a372-e5935a1df1e3","directory":"arcade-archives-vs-mah-jong","title":"Arcade Archives VS. MAH-JONG","compatibility":99,"releases":[{"id":"0100A10010C54000","region":null}]},{"id":"33ac41f8-1f62-472f-b886-e3b06f7246eb","directory":"futuregrind","title":"FutureGrind","compatibility":99,"releases":[{"id":"010005100AF90000","region":null}]},{"id":"33ad5955-ec2b-401e-b374-45b6135c6dec","directory":"spirit-of-the-north","title":"Spirit of the North","compatibility":3,"releases":[{"id":"01005E101122E000","region":null}]},{"id":"33b5cecb-a083-4c95-abd4-606c2b455d61","directory":"masquerada-songs-and-shadows","title":"Masquerada: Songs and Shadows","compatibility":99,"releases":[{"id":"0100113008262000","region":null}]},{"id":"33e3cdbc-83a8-4fe2-8771-698cdd9c98c9","directory":"crazy-bmx-world","title":"Crazy BMX World","compatibility":99,"releases":[{"id":"01005CC012BFE000","region":null}]},{"id":"33eb5083-af83-4383-aa67-48a0bab8f427","directory":"suicide-guy-sleepin-deeply","title":"Suicide Guy: Sleepin' Deeply","compatibility":99,"releases":[{"id":"0100DE000C2E4000","region":null}]},{"id":"33fab108-f3b2-45df-8540-a918dca65dd7","directory":"the-sinking-city","title":"The Sinking City","compatibility":3,"releases":[{"id":"010028D00BA1A000","region":null}]},{"id":"3404a157-c7d1-42bf-8427-b3756442ec63","directory":"bloodrayne-betrayal-fresh-bites","title":"BloodRayne Betrayal: Fresh Bites","compatibility":1,"releases":[{"id":"01009AB013EE2000","region":null}]},{"id":"3404f058-30fe-4fb3-b1fd-9c02f9b3bd9a","directory":"knockout-home-fitness","title":"Knockout Home Fitness","compatibility":0,"releases":[{"id":"0100A1B0149E4000","region":null}]},{"id":"341040f1-57ee-464a-9290-80d58c057bbb","directory":"aca-neogeo-burning-fight","title":"ACA NEOGEO BURNING FIGHT","compatibility":99,"releases":[{"id":"01002AA004DB4000","region":null}]},{"id":"343e3fde-af5c-4adb-a816-e3a57b5cc506","directory":"worse-than-death","title":"Worse Than Death","compatibility":99,"releases":[{"id":"010037500C4DE000","region":null}]},{"id":"343f8903-f291-48a1-ad8c-4768d08ebb3f","directory":"strikers1945-2-for-nintendo-switch","title":"STRIKERS1945  2 for Nintendo Switch","compatibility":99,"releases":[{"id":"0100720008ED2000","region":null}]},{"id":"344e02f1-4a2d-4ad0-b9a5-d050da371788","directory":"the-alto-collection","title":"The Alto Collection","compatibility":0,"releases":[{"id":"01006B100E44C000","region":null}]},{"id":"3462227f-20ef-4845-b208-21d95db1dca5","directory":"earth-defense-force-world-brothers","title":"EARTH DEFENSE FORCE: WORLD BROTHERS","compatibility":2,"releases":[{"id":"01006D5014796000","region":null}]},{"id":"34648c72-7572-492e-944f-b89966cafea1","directory":"pixel-heroes-mega-byte-magic","title":"Pixel Heroes: Mega Byte & Magic","compatibility":5,"releases":[{"id":"0100B42012EA4000","region":null}]},{"id":"346f7792-05f4-4114-93fa-381c2afcd58f","directory":"solitaire-deluxe-bundle-3-in-1","title":"Solitaire Deluxe Bundle - 3 in 1","compatibility":99,"releases":[{"id":"01009100115C0000","region":null}]},{"id":"347bbed6-72c2-474c-a34c-fce2d3122a8b","directory":"perseverance","title":"Perseverance","compatibility":99,"releases":[{"id":"0100A0300FC3E000","region":null}]},{"id":"347e6b2d-ff62-4c31-aa80-77bd253a329f","directory":"brightstone-mysteries-paranormal-hotel","title":"Brightstone Mysteries: Paranormal Hotel","compatibility":99,"releases":[{"id":"01002E50129DA000","region":null}]},{"id":"348d4c5a-612d-4abf-bfde-be0f87bbe6f3","directory":"de-yabatanien","title":"De: Yabatanien","compatibility":99,"releases":[{"id":"01003F80133CC000","region":null}]},{"id":"34943eb0-57cc-478e-a76a-8af85c303fd4","directory":"zumba-aqua","title":"Zumba Aqua","compatibility":99,"releases":[{"id":"01009B10162F4000","region":null}]},{"id":"34a2c9ed-21df-4e19-8f1c-da3394961325","directory":"save-me-mr-tako-tasukete-tako-san","title":"Save me Mr Tako: Tasukete Tako-San","compatibility":99,"releases":[{"id":"0100A6A00A5D0000","region":null}]},{"id":"34bdb3f9-95b1-4c8c-94ff-db564e4da5c5","directory":"kentucky-route-zero-tv-edition","title":"Kentucky Route Zero: TV Edition","compatibility":1,"releases":[{"id":"0100327005C94000","region":null}]},{"id":"34c42a25-7000-4ca8-a084-5604037825ce","directory":"sludge-life","title":"Sludge Life","compatibility":99,"releases":[{"id":"0100F03010C72000","region":null}]},{"id":"34c8de49-78cc-4c2e-aafc-c31c2f91f24f","directory":"ping-pong-trick-shot-evolution","title":"Ping Pong Trick Shot EVOLUTION","compatibility":99,"releases":[{"id":"0100C9B00D422000","region":null}]},{"id":"34d0da99-06e6-4490-a15e-c2e29926fefb","directory":"johnny-turbos-arcade-wizard-fire","title":"Johnny Turbo's Arcade: Wizard Fire","compatibility":4,"releases":[{"id":"0100D230069CC000","region":null}]},{"id":"34e20bf6-37fc-452a-9703-777981553fde","directory":"disgaea-5-complete-demo","title":"Disgaea 5 Complete Demo","compatibility":3,"releases":[{"id":"0100E67003A86000","region":null}]},{"id":"34e235a8-3483-4ed0-9f43-bb4bd887d671","directory":"cybertaxi","title":"CyberTaxi","compatibility":99,"releases":[{"id":"0100490013FDA000","region":null}]},{"id":"34e94f46-6276-4c44-b5f4-2004ebb02127","directory":"12-labours-of-hercules","title":"12 Labours of Hercules","compatibility":4,"releases":[{"id":"010058900D4AE000","region":null}]},{"id":"34e9d2b9-6357-4b53-bbfb-c281ea68cadc","directory":"grand-prix-racing","title":"Grand Prix Racing","compatibility":99,"releases":[{"id":"01004110137A6000","region":null}]},{"id":"34f21787-de79-4423-93d7-a21dc561626e","directory":"catch-a-duck","title":"Catch a Duck","compatibility":99,"releases":[{"id":"01003BE00ECAE000","region":null}]},{"id":"34f6dfb5-6684-4fe3-9e19-de6c82431b9e","directory":"princess-maker-faery-tales-come-true-","title":"PRINCESS MAKER -FAERY TALES COME TRUE-","compatibility":99,"releases":[{"id":"010018700A5EC000","region":null}]},{"id":"3500e683-c9c8-41d5-aa9f-9f606d880011","directory":"edna-harvey-the-breakout-anniversary-edition","title":"Edna & Harvey: The Breakout – Anniversary Edition","compatibility":99,"releases":[{"id":"01004F000B716000","region":null}]},{"id":"35059c2b-fb02-489e-8a94-1b146f554d55","directory":"espacio-cosmic-light-seeker","title":"Espacio Cosmic Light-Seeker","compatibility":99,"releases":[{"id":"0100DBA012876000","region":null}]},{"id":"3507331a-7588-40ff-b234-3647e146c519","directory":"retro-classix-4in1-pack-sly-spy-shootout-wizard-fire-super-real-darwin","title":"Retro Classix 4in1 Pack: Sly Spy, Shootout, Wizard Fire & Super Real Darwin","compatibility":99,"releases":[{"id":"0100AE0012190000","region":null}]},{"id":"351e8ecd-2ad1-4e37-88fd-1f1f0713956f","directory":"our-battle-has-just-begun-episode-1","title":"Our Battle Has Just Begun! episode 1","compatibility":99,"releases":[{"id":"01000D9015324000","region":null}]},{"id":"3526bd46-1775-418d-8ee3-60ce88d55700","directory":"poker-hands","title":"Poker Hands","compatibility":99,"releases":[{"id":"010030A01243E000","region":null}]},{"id":"352bf68f-0c06-4139-a01d-a3624a2e206f","directory":"worldneverland-elnea-kingdom","title":"WorldNeverland - Elnea Kingdom","compatibility":1,"releases":[{"id":"01008E9007064000","region":null}]},{"id":"352e5368-cde5-424b-9034-0fbef56d5bda","directory":"demo-cinderella-an-interactive-fairytale","title":"Demo: Cinderella - An Interactive Fairytale","compatibility":99,"releases":[{"id":"010062200CF14000","region":null}]},{"id":"35333a5b-6eee-49e1-a2e9-9540cd0e80b4","directory":"maid-of-sker","title":"Maid of Sker","compatibility":99,"releases":[{"id":"01002E900CF38000","region":null}]},{"id":"35334966-6aa6-4f80-8281-3083e80a596f","directory":"rapala-fishing-pro-series","title":"Rapala Fishing Pro Series","compatibility":99,"releases":[{"id":"010042A00A9CC000","region":null}]},{"id":"3539e620-95aa-46c7-a368-3d83ba10a4a0","directory":"poker-champion-texas-holdem","title":"Poker Champion: Texas Hold'em","compatibility":99,"releases":[{"id":"01009090159FE000","region":null}]},{"id":"353c8805-d637-4906-8b5f-abee9fd76320","directory":"rustler","title":"Rustler","compatibility":99,"releases":[{"id":"010071E0145F8000","region":null}]},{"id":"3548fc9c-c684-4430-8599-18b62fe4bd49","directory":"typerider","title":"Type:Rider","compatibility":99,"releases":[{"id":"0100D5B00D6DA000","region":null}]},{"id":"35524be3-e9a3-489f-be6a-d08f41afc061","directory":"checkers-for-kids","title":"Checkers for Kids","compatibility":1,"releases":[{"id":"0100605015752000","region":null}]},{"id":"3558f359-fb89-457d-8194-7210deb0ec01","directory":"turrican-flashback","title":"Turrican Flashback","compatibility":0,"releases":[{"id":"010004B0130C8000","region":null}]},{"id":"3562988b-4756-4970-8ca3-389149380da7","directory":"regina-mac-world","title":"Regina & Mac World","compatibility":99,"releases":[{"id":"0100ED70147A2000","region":null}]},{"id":"357d9dbc-fcce-426a-a09a-6c48b335d7de","directory":"guts-and-glory","title":"Guts & Glory","compatibility":99,"releases":[{"id":"01005E5009EF2000","region":null}]},{"id":"357df1e1-6af3-4299-bb99-28f187633a37","directory":"knockout-city-cross-play-beta","title":"Knockout City™ Cross-Play Beta","compatibility":99,"releases":[{"id":"0100A3F013BDE000","region":null}]},{"id":"35876728-4fce-4318-bbc0-1c770d035d97","directory":"arcade-archives-soldam","title":"Arcade Archives SOLDAM","compatibility":99,"releases":[{"id":"0100E32015798000","region":null}]},{"id":"358c77bf-bb5b-4137-8666-7d9c110a81ab","directory":"planetary-defense-force","title":"Planetary Defense Force","compatibility":99,"releases":[{"id":"010005800F1BA000","region":null}]},{"id":"35a14aa2-5e96-488a-94de-c033ad884c71","directory":"la-noire","title":"L.A. Noire","compatibility":1,"releases":[{"id":"0100830004FB6000","region":null}]},{"id":"35b2b721-f9ee-43bd-9954-2637d1b175fa","directory":"toy-stunt-bike-tiptops-trials","title":"Toy Stunt Bike: Tiptop's Trials","compatibility":99,"releases":[{"id":"01009FF00A160000","region":null}]},{"id":"35c21c8b-c579-41a4-b07c-10e9ded817ba","directory":"silverstarchess","title":"SilverStarChess","compatibility":99,"releases":[{"id":"010016D00A964000","region":null}]},{"id":"35c88c60-5713-4624-b8a9-b53bc6d95b65","directory":"hayfever","title":"Hayfever","compatibility":99,"releases":[{"id":"0100EA900FB2C000","region":null}]},{"id":"35d2757a-152e-4b9a-8a4c-17f0a904ad21","directory":"concept-destruction","title":"Concept Destruction","compatibility":99,"releases":[{"id":"0100971011224000","region":null}]},{"id":"35d2acf0-31c3-4e2a-b8f3-709ce0d79ce3","directory":"battle-chasers-nightwar","title":"Battle Chasers: Nightwar","compatibility":1,"releases":[{"id":"0100551001D88000","region":null}]},{"id":"35dfedf9-5bb7-420b-96b9-1840c2457617","directory":"hexon","title":"HexON","compatibility":99,"releases":[{"id":"0100495011B6A000","region":null}]},{"id":"35e3494c-af30-488b-ae6e-52337e78d893","directory":"arcade-archives-terra-cresta","title":"Arcade Archives TERRA CRESTA","compatibility":99,"releases":[{"id":"0100422001DDA000","region":null}]},{"id":"35e99473-3abb-493c-b149-f2665300e36e","directory":"candleman","title":"Candleman","compatibility":0,"releases":[{"id":"010034400CB5E000","region":null}]},{"id":"35fc893e-bf02-4bbd-bc31-a7ffd56ef20d","directory":"sega-ages-space-harrier","title":"SEGA AGES Space Harrier","compatibility":1,"releases":[{"id":"0100C3E00B700000","region":null}]},{"id":"360a60f9-dd13-461d-9030-e0fb229a89b7","directory":"omega-strike","title":"Omega Strike","compatibility":5,"releases":[{"id":"0100F8C00C21C000","region":null}]},{"id":"3619b156-1d2c-485a-a6c8-e8bdbf8dbb19","directory":"pixeljunk-monsters-2-demo","title":"PixelJunk™ Monsters 2 Demo","compatibility":99,"releases":[{"id":"01004AF00A772000","region":null}]},{"id":"362a1b83-c759-4f33-a59d-a1b6bdfcd2bf","directory":"cuphead","title":"Cuphead","compatibility":0,"releases":[{"id":"0100A5C00D162000","region":null}]},{"id":"363c2fbc-8836-4b5b-b664-24c60ec543d4","directory":"outbreak","title":"Outbreak","compatibility":99,"releases":[{"id":"010047F013104000","region":null}]},{"id":"364327bf-cc1e-4410-a07f-bf8dea72868e","directory":"wizards-of-brandel","title":"Wizards of Brandel","compatibility":99,"releases":[{"id":"010081900F9E2000","region":null}]},{"id":"36583beb-cad5-4c9d-bf90-4783393c1631","directory":"ori-and-the-blind-forest-definitive-edition","title":"Ori and the Blind Forest: Definitive Edition","compatibility":1,"releases":[{"id":"010061D00DB74000","region":null}]},{"id":"3659e4ea-8a70-44c6-adca-05132d58006c","directory":"astro-bears-party","title":"Astro Bears Party","compatibility":1,"releases":[{"id":"0100E5F00643C000","region":null}]},{"id":"365ec92e-96cf-4eb9-9b2a-379dff43c1b3","directory":"metropolis-lux-obscura","title":"Metropolis: Lux Obscura","compatibility":1,"releases":[{"id":"01003F000973E000","region":null}]},{"id":"36883e9f-56cc-4218-8769-8493eb048dba","directory":"papas-quiz","title":"Papa's Quiz","compatibility":99,"releases":[{"id":"01004B0015044000","region":null}]},{"id":"368aa0bf-f7f0-4b7c-b437-c716f75ed67f","directory":"sparkle-4-tales","title":"Sparkle 4 Tales","compatibility":99,"releases":[{"id":"010030D00EA1C000","region":null}]},{"id":"36a8cb96-5cc2-4087-ab95-42ff64ea7c57","directory":"freedom-finger","title":"Freedom Finger","compatibility":1,"releases":[{"id":"010082B00EE50000","region":null}]},{"id":"36aa3f90-0186-4f5c-9e27-9c4308bab12d","directory":"my-hero-ones-justice","title":"MY HERO ONE'S JUSTICE","compatibility":0,"releases":[{"id":"010039000B68E000","region":null}]},{"id":"36ace7b8-15e5-4cd0-8227-01675074702d","directory":"hakoniwa-explorer-plus","title":"Hakoniwa Explorer Plus","compatibility":4,"releases":[{"id":"0100618010D76000","region":null}]},{"id":"36acefd9-d6ac-4e1c-9314-926be24abeaf","directory":"old-mans-journey","title":"Old Man's Journey","compatibility":1,"releases":[{"id":"0100CE2007A86000","region":null}]},{"id":"36b93a6d-8853-4a7b-a894-64b22d00545a","directory":"dungeon-defenders-awakened","title":"Dungeon Defenders: Awakened","compatibility":4,"releases":[{"id":"0100BF800DFAC000","region":null}]},{"id":"36bf1d26-3474-47a5-86e0-d9213ab39012","directory":"arkham-horror-mothers-embrace","title":"Arkham Horror: Mother's Embrace","compatibility":99,"releases":[{"id":"010069A010606000","region":null}]},{"id":"36cf4ad9-e8fe-4d7b-bf80-8074be1fe968","directory":"captain-backwater","title":"Captain Backwater","compatibility":99,"releases":[{"id":"0100465016540000","region":null}]},{"id":"36d6107f-8909-42b5-a561-8e4ef43fefdf","directory":"child-of-light-ultimate-edition","title":"Child of Light Ultimate Edition","compatibility":0,"releases":[{"id":"01007D000AD8A000","region":null}]},{"id":"36dd911f-b5ff-4929-875a-7322e33a3ca3","directory":"the-demon-crystal","title":"The Demon Crystal","compatibility":99,"releases":[{"id":"0100ACF00D32E000","region":null}]},{"id":"36dfbb36-2d2c-4f86-9573-f08dde172017","directory":"ring-of-pain","title":"Ring of Pain","compatibility":1,"releases":[{"id":"0100F090122D2000","region":null}]},{"id":"36e39cb7-40d7-43bf-af13-2eaed60ab496","directory":"koral","title":"KORAL","compatibility":4,"releases":[{"id":"010088500D5EE000","region":null}]},{"id":"36f7d5b3-b8b7-4e39-9236-9580e148a595","directory":"3d-advantime","title":"3D ADVANTIME","compatibility":99,"releases":[{"id":"010063101531C000","region":null}]},{"id":"37033189-16e2-4745-aa87-14fd8c0df362","directory":"my-maite","title":"My Maitê","compatibility":99,"releases":[{"id":"0100E21015588000","region":null}]},{"id":"37140bf1-7f60-475d-b498-54f5e0fa5578","directory":"task-force-delta-afghanistan","title":"Task Force Delta - Afghanistan","compatibility":99,"releases":[{"id":"0100D6C0137F6000","region":null}]},{"id":"37195122-8ae8-4520-a5fb-7b8effcaddfc","directory":"us-navy-sea-conflict","title":"US Navy Sea Conflict","compatibility":99,"releases":[{"id":"0100207015A36000","region":null}]},{"id":"371d9858-b3eb-4de3-b7c3-d058be6a5f66","directory":"arms-demo","title":"ARMS Demo","compatibility":5,"releases":[{"id":"0100A5400AC86000","region":null}]},{"id":"371fce9a-6a6d-4b4b-93d7-416b4b134863","directory":"red-white-yellow","title":"Red White Yellow","compatibility":99,"releases":[{"id":"01003B2015510000","region":null}]},{"id":"372fb43e-bb9b-4670-9a44-812b0adfb390","directory":"need-for-speed-hot-pursuit-remastered","title":"Need for Speed™ Hot Pursuit Remastered","compatibility":2,"releases":[{"id":"010029B0118E8000","region":null}]},{"id":"37363872-9351-46c9-93cd-cab41f596b1d","directory":"ultimate-runner","title":"Ultimate Runner","compatibility":99,"releases":[{"id":"010045200A1C2000","region":null}]},{"id":"3738b0d7-02a4-4d36-8391-b4c506ae437d","directory":"the-kids-we-were","title":"The Kids We Were","compatibility":99,"releases":[{"id":"010068301606C000","region":null}]},{"id":"3738c265-e012-4cd2-abed-4f1827497aff","directory":"football-manager-2019-touch","title":"Football Manager 2019 Touch","compatibility":99,"releases":[{"id":"010078500C21A000","region":null}]},{"id":"37493cfe-48bb-4e19-bc4f-fce3c2327799","directory":"speedway-bundle-stock-truck","title":"Speedway Bundle Stock & Truck","compatibility":99,"releases":[{"id":"01000D6013D36000","region":null}]},{"id":"374f4358-92ed-478c-8305-a0e71163052a","directory":"helheim-hassle","title":"Helheim Hassle","compatibility":4,"releases":[{"id":"0100B9C012B66000","region":null}]},{"id":"37548656-9ca4-403d-97b3-b5b66f8e2cbf","directory":"grim-legends-the-forsaken-bride","title":"Grim Legends: The Forsaken Bride","compatibility":99,"releases":[{"id":"010009F011F90000","region":null}]},{"id":"375616e1-8141-4cf0-b8ff-f24283cb4acf","directory":"doom-destiny-worlds","title":"Doom & Destiny Worlds","compatibility":0,"releases":[{"id":"01001B4011480000","region":null}]},{"id":"3756ff04-82ea-46f1-b8b9-2b90b6359a91","directory":"steam-tactics","title":"Steam Tactics","compatibility":99,"releases":[{"id":"0100AE100DAFA000","region":null}]},{"id":"3768b535-8bef-4de0-a978-f68e3ab5b430","directory":"homo-machina","title":"Homo Machina","compatibility":99,"releases":[{"id":"010011700D6E2000","region":null}]},{"id":"3773e865-27ac-44ee-9c85-886a3db33acf","directory":"game-dev-tycoon","title":"Game Dev Tycoon","compatibility":1,"releases":[{"id":"0100E95010F6A000","region":null}]},{"id":"379b93ea-5aa8-4b3f-86ea-3f46e8ea71ba","directory":"robbotto","title":"Robbotto","compatibility":99,"releases":[{"id":"01004F400B978000","region":null}]},{"id":"37b88d24-bcc7-41c2-a5c3-30600063b8c9","directory":"jet-kave-adventure","title":"Jet Kave Adventure","compatibility":1,"releases":[{"id":"0100E4900D266000","region":null}]},{"id":"37c054a9-e819-49b3-9e47-3f324dece542","directory":"fire-emblem-shadow-dragon-the-blade-of-light","title":"Fire Emblem™: Shadow Dragon & the Blade of Light","compatibility":2,"releases":[{"id":"0100A12011CC8000","region":null}]},{"id":"37c2d6b9-39d1-4930-a5c1-a4240852c403","directory":"space-elite-force-2","title":"Space Elite Force 2","compatibility":99,"releases":[{"id":"010084F0123AC000","region":null}]},{"id":"37db56a0-f900-4bc1-8911-e77c8668c8d2","directory":"mindcell","title":"Mindcell","compatibility":99,"releases":[{"id":"01005E6015A62000","region":null}]},{"id":"37dc5335-d5ad-43dc-b91e-f94a54f5a2f5","directory":"kitty-powers-matchmaker","title":"Kitty Powers' Matchmaker","compatibility":99,"releases":[{"id":"010079000F0D2000","region":null}]},{"id":"37dcb949-1949-4ad4-bb29-c4aa9c8bb5a9","directory":"infernal-radiation","title":"Infernal Radiation","compatibility":99,"releases":[{"id":"0100B5C014AC6000","region":null}]},{"id":"37ee7ee6-57b7-433a-8508-6c0bca2d6799","directory":"ambition-of-the-slimes","title":"Ambition of the Slimes","compatibility":3,"releases":[{"id":"0100A620083DA000","region":null}]},{"id":"37eed7d8-7286-43b2-910c-3cb3321470f5","directory":"invirium","title":"Invirium","compatibility":99,"releases":[{"id":"0100A960149DA000","region":null}]},{"id":"3808321e-540d-45c6-808a-4ba6e72bc40a","directory":"occultism-interrogation-the-ritual-of-little-nightmares","title":"Occultism Interrogation: The ritual of little nightmares","compatibility":99,"releases":[{"id":"0100183015008000","region":null}]},{"id":"380ef8f8-5cb9-4eef-bde2-a0d4f4028675","directory":"lego-r-builders-journey","title":"LEGO® Builder's Journey","compatibility":0,"releases":[{"id":"01005EE0140AE000","region":null}]},{"id":"381c1b57-cd78-4896-a930-ada78343cb30","directory":"arcade-archives-time-tunnel","title":"Arcade Archives TIME TUNNEL","compatibility":99,"releases":[{"id":"010084200DC72000","region":null}]},{"id":"381d1def-6932-4975-bb03-f897557efa19","directory":"working-zombies","title":"Working Zombies","compatibility":0,"releases":[{"id":"0100F38011FBC000","region":null}]},{"id":"381f9ef3-f0dd-4efb-b7e0-7855d94e1966","directory":"iota","title":"iota","compatibility":99,"releases":[{"id":"010086A013FD8000","region":null}]},{"id":"3820911d-7256-44a2-b687-49fbabc36949","directory":"the-binding-of-isaac-afterbirth","title":"The Binding of Isaac: Afterbirth+","compatibility":1,"releases":[{"id":"010021C000B6A000","region":null}]},{"id":"3833de3c-95f0-4f99-bd49-b6a5ab8fa331","directory":"foxyland-2","title":"FoxyLand 2","compatibility":0,"releases":[{"id":"01000AC010024000","region":null}]},{"id":"383f8ab9-a232-4eb6-b085-6bd07c4c9287","directory":"disco-dodgeball-remix","title":"Disco Dodgeball - REMIX","compatibility":1,"releases":[{"id":"0100C81004780000","region":null}]},{"id":"38482faa-f6b9-47b1-8c3e-cdef00e60e4e","directory":"submerged","title":"Submerged","compatibility":99,"releases":[{"id":"0100EDA00D866000","region":null}]},{"id":"384af1d9-c629-46e1-8bcd-522e8fd07dd3","directory":"high-noon-revolver","title":"High Noon Revolver","compatibility":99,"releases":[{"id":"01006FE00D2B0000","region":null}]},{"id":"3856b95e-253c-4494-bbcc-9663617323ec","directory":"bookbound-brigade","title":"Bookbound Brigade","compatibility":99,"releases":[{"id":"010054500F564000","region":null}]},{"id":"386ae55f-1e63-415f-83cb-74910c7165a4","directory":"monkey-barrels","title":"MONKEY BARRELS","compatibility":99,"releases":[{"id":"0100FBD00ED24000","region":null}]},{"id":"386dc250-4dde-4f7f-ae13-f5237b910210","directory":"nights-of-azure-2-bride-of-the-new-moon","title":"Nights of Azure 2: Bride of the New Moon","compatibility":4,"releases":[{"id":"0100628004BCE000","region":null}]},{"id":"387049d6-a7f5-418a-aa80-94a9f0092858","directory":"the-lions-song","title":"The Lion's Song","compatibility":3,"releases":[{"id":"0100735004898000","region":null}]},{"id":"3871c1ae-1f36-49c3-b629-9b0f4111f861","directory":"bombfest","title":"BOMBFEST","compatibility":99,"releases":[{"id":"010001600C962000","region":null}]},{"id":"3881f200-83ad-4c01-a4b6-68c9df69f019","directory":"heal-console-edition","title":"Heal: Console Edition","compatibility":99,"releases":[{"id":"01008C70147B0000","region":null}]},{"id":"388d4ce0-e29c-4d52-9306-f3b569e30c84","directory":"death-end-re-quest","title":"Death end re;Quest","compatibility":99,"releases":[{"id":"01004FD013DD8000","region":null}]},{"id":"38a0ad9b-de0e-4c54-b4b4-34a7d7d16a46","directory":"max-and-the-book-of-chaos","title":"Max and the book of chaos","compatibility":99,"releases":[{"id":"0100A8C011F26000","region":null}]},{"id":"38b28b47-e809-4975-87ea-39aa4948f20e","directory":"woven","title":"Woven","compatibility":0,"releases":[{"id":"01006F100EB16000","region":null}]},{"id":"38bf99c9-b20f-42b2-86d5-bad64166f789","directory":"retro-highway","title":"Retro Highway","compatibility":3,"releases":[{"id":"010004C015EFC000","region":null}]},{"id":"38c1eb73-6698-499a-a6b0-8486f00fc4b5","directory":"foxyland","title":"FoxyLand","compatibility":1,"releases":[{"id":"0100D2501001A000","region":null}]},{"id":"38c89153-7ff9-45a3-b3e6-a95a8c686eb0","directory":"the-world-ends-with-you-final-remix","title":"The World Ends with You: Final Remix","compatibility":0,"releases":[{"id":"0100C1500B82E000","region":null}]},{"id":"38ef9658-53a7-408d-a1a4-e3fdf95277af","directory":"sir-eatsalot","title":"Sir Eatsalot","compatibility":99,"releases":[{"id":"01003C700EB20000","region":null}]},{"id":"38f3d805-2aeb-4b9f-b057-f26f34fee670","directory":"stellatum","title":"STELLATUM","compatibility":99,"releases":[{"id":"0100BC800EDA2000","region":null}]},{"id":"391ffd72-0472-47bd-8dad-d0db649798d4","directory":"crawl","title":"Crawl","compatibility":0,"releases":[{"id":"0100BF7006BCA000","region":null}]},{"id":"39291eb6-4e3a-45d9-94ae-55d8445dde35","directory":"path-of-sin-greed","title":"Path of Sin: Greed","compatibility":99,"releases":[{"id":"01001E500EA16000","region":null}]},{"id":"392fa26e-3f0e-4c49-a32f-0cc46fa40084","directory":"city-driving-simulator-2","title":"City Driving Simulator 2","compatibility":0,"releases":[{"id":"0100FDA015C38000","region":null}]},{"id":"39416f88-96c4-48e1-8c28-19bb12cba9d4","directory":"dragon-quest-ii-luminaries-of-the-legendary-line","title":"DRAGON QUEST II: Luminaries of the Legendary Line","compatibility":1,"releases":[{"id":"010062200EFB4000","region":null}]},{"id":"3958c555-7c2a-4a7f-9d9d-3e6569247ea2","directory":"liberated","title":"Liberated","compatibility":2,"releases":[{"id":"0100C8000F146000","region":null}]},{"id":"3959486e-3634-4db6-b8e0-46b6f2e5836d","directory":"spiritfarer","title":"Spiritfarer","compatibility":2,"releases":[{"id":"0100BD400DC52000","region":null}]},{"id":"395b0bb0-adae-45a5-8735-d62b6fba44e5","directory":"shovel-knight-showdown","title":"Shovel Knight Showdown","compatibility":0,"releases":[{"id":"0100B380022AE000","region":null}]},{"id":"395edbd4-16a5-4654-923d-c350c29bd95b","directory":"mighty-aphid","title":"Mighty Aphid","compatibility":99,"releases":[{"id":"0100F41015614000","region":null}]},{"id":"3975c70c-dff9-49c8-8b4e-91582c0be8f2","directory":"huntdown","title":"Huntdown","compatibility":0,"releases":[{"id":"0100EBA004726000","region":null}]},{"id":"3985d075-450d-4f60-8404-345a453c0f95","directory":"darts","title":"Darts","compatibility":99,"releases":[{"id":"01005A6010A04000","region":null}]},{"id":"3996189f-83bc-43ec-8221-56dc1bf450c6","directory":"warframe","title":"Warframe","compatibility":99,"releases":[{"id":"0100FEE00A64E000","region":null}]},{"id":"39aa9fe9-3f01-4212-bde6-def5041bb06d","directory":"cities-skylines-nintendo-switch-edition","title":"Cities: Skylines - Nintendo Switch Edition","compatibility":2,"releases":[{"id":"0100D8800B87C000","region":null}]},{"id":"39aedd02-ee6f-4dcb-be81-f594e44a7339","directory":"arcade-archives-bells-and-whistles","title":"Arcade Archives Bells & Whistles","compatibility":99,"releases":[{"id":"01002F00100A2000","region":null}]},{"id":"39c22e44-ee76-4e43-9430-dbc7ca78c5cb","directory":"age-of-sokoban","title":"Age of Sokoban","compatibility":99,"releases":[{"id":"01003770152AA000","region":null}]},{"id":"39dae2e7-9489-4189-a23b-4e86cb3e29ed","directory":"kill-the-bad-guy","title":"Kill The Bad Guy","compatibility":99,"releases":[{"id":"010011B00910C000","region":null}]},{"id":"39ec97c1-167c-40e6-bed6-faccce183a15","directory":"olliolli-world","title":"OlliOlli World","compatibility":99,"releases":[{"id":"0100C5D01128E000","region":null}]},{"id":"39f5a5e3-3fde-40f8-a9d7-28a39cbbb455","directory":"cube-creator-x","title":"Cube Creator X","compatibility":99,"releases":[{"id":"010001600D1E8000","region":null}]},{"id":"3a0aac4f-fc29-4c18-bcdf-04efb3c3f37d","directory":"forma8","title":"forma.8","compatibility":1,"releases":[{"id":"01008EA00405C000","region":null}]},{"id":"3a11e078-36c6-484b-aa4e-686e2668e87d","directory":"dungholes","title":"Dungholes","compatibility":99,"releases":[{"id":"0100604014272000","region":null}]},{"id":"3a18d72a-dd55-447c-ac5c-bab8a8553d4c","directory":"terrorhythm-trrt","title":"TERRORHYTHM (TRRT)","compatibility":3,"releases":[{"id":"010043700EB68000","region":null}]},{"id":"3a1a712c-22c9-4290-a92d-ab8e350a34ef","directory":"rabisco","title":"Rabisco+","compatibility":99,"releases":[{"id":"0100146014DC6000","region":null}]},{"id":"3a26a354-b1d7-47ea-b628-c7ce35bac036","directory":"arcade-archives-thunder-cross-ii","title":"Arcade Archives THUNDER CROSS II","compatibility":99,"releases":[{"id":"0100F400144C6000","region":null}]},{"id":"3a28490b-07dd-4a4a-8076-b2565df6ea50","directory":"match-three-pirates-heir-to-davy-jones","title":"Match Three: Pirates! Heir to Davy Jones","compatibility":99,"releases":[{"id":"0100699012DF6000","region":null}]},{"id":"3a5a9af4-6857-47b0-85c2-ef27c2222997","directory":"super-destronaut-dx","title":"Super Destronaut DX","compatibility":99,"releases":[{"id":"010008800B18A000","region":null}]},{"id":"3a691065-bf20-4351-8976-7bea84945764","directory":"please-dont-touch-anything","title":"Please, Don't Touch Anything","compatibility":3,"releases":[{"id":"0100E2300C4C4000","region":null}]},{"id":"3a733f5a-04fe-4497-94b3-092a82caf71e","directory":"dungeon-village-demo","title":"Dungeon Village Demo","compatibility":99,"releases":[{"id":"010093700BCDC000","region":null}]},{"id":"3a77437e-5acf-45b7-950b-7c7597c0d7c0","directory":"odium-to-the-core","title":"Odium to the Core","compatibility":99,"releases":[{"id":"010029F00C876000","region":null}]},{"id":"3a80b8e3-b611-4aca-a70c-c0d32cbac20c","directory":"atelier-sophie-the-alchemist-of-the-mysterious-book-dx-digital-art-book","title":"Atelier Sophie: The Alchemist of the Mysterious Book DX Digital Art Book","compatibility":99,"releases":[{"id":"010041C014222000","region":null}]},{"id":"3a96710d-2860-474d-b4a9-bd96aa99f559","directory":"japanese-mah-jongg","title":"Japanese Mah-jongg","compatibility":99,"releases":[{"id":"0100C8E0083C4000","region":null}]},{"id":"3a9a0a44-7b31-4af2-97a9-8dbd9a7c4949","directory":"a-summer-with-the-shiba-inu","title":"A Summer with the Shiba Inu","compatibility":99,"releases":[{"id":"01007DD011C4A000","region":null}]},{"id":"3a9d9732-30de-4582-b3b7-1c3a938f9aaf","directory":"stay","title":"STAY","compatibility":99,"releases":[{"id":"0100616009082000","region":null}]},{"id":"3a9ef63b-a842-4372-b49f-26127a5f8bce","directory":"tied-together","title":"Tied Together","compatibility":99,"releases":[{"id":"0100B6D00C2DE000","region":null}]},{"id":"3aa77e86-3ee4-4353-9c52-f6842c8629ee","directory":"classic-logical-bundle-4in1","title":"Classic Logical Bundle (4in1)","compatibility":99,"releases":[{"id":"01002F101353A000","region":null}]},{"id":"3aa805e6-ea42-4623-9061-af328aac7a72","directory":"dynasty-warriors-8-xtreme-legends-definitive-edition","title":"DYNASTY WARRIORS 8: Xtreme Legends Definitive Edition","compatibility":2,"releases":[{"id":"0100E9A00CB30000","region":null}]},{"id":"3aa9758d-ef55-49b0-8423-08af0b1ae08c","directory":"mias-picnic","title":"Mia's Picnic","compatibility":99,"releases":[{"id":"0100CBF013B94000","region":null}]},{"id":"3aacdcd5-0b94-431c-870c-78e690ef457c","directory":"shining-resonance-refrain","title":"Shining Resonance Refrain","compatibility":0,"releases":[{"id":"01009A5009A9E000","region":null}]},{"id":"3ab7bbf7-a925-425e-93aa-1ae5bd678a65","directory":"rogue-heroes-ruins-of-tasos","title":"Rogue Heroes: Ruins of Tasos","compatibility":99,"releases":[{"id":"01009FA010848000","region":null}]},{"id":"3abc563d-114c-44ab-a125-6a044904da3a","directory":"ea-sports-fifa-20-nintendo-switch-legacy-edition","title":"EA SPORTS FIFA 20 Nintendo Switch Legacy Edition","compatibility":5,"releases":[{"id":"01005DE00D05C000","region":null}]},{"id":"3abeb73a-ecff-4794-9d58-da00caa0fd94","directory":"super-meatball","title":"Super Meatball","compatibility":99,"releases":[{"id":"01008BE0136C2000","region":null}]},{"id":"3ac16f73-e4aa-45c1-b6fa-ae3f7e9aa80d","directory":"the-book-of-unwritten-tales-2","title":"The Book of Unwritten Tales 2","compatibility":99,"releases":[{"id":"010062500BFC0000","region":null}]},{"id":"3ac9a79a-c3a2-4cd4-a7ae-51c2e4232a49","directory":"mace-space-shooter","title":"M.A.C.E. Space Shooter","compatibility":3,"releases":[{"id":"0100F02005D1E000","region":null}]},{"id":"3acfafe7-ef4d-4d1d-b37e-a30aac9a219b","directory":"discolored","title":"Discolored","compatibility":99,"releases":[{"id":"01004CE012A18000","region":null}]},{"id":"3ad759fa-be84-41ab-bb30-7e3e49e412df","directory":"the-walking-dead-a-new-frontier","title":"The Walking Dead: A New Frontier","compatibility":4,"releases":[{"id":"010056E00B4F4000","region":null}]},{"id":"3ae0840f-c2b5-40d7-9430-98a99f34303c","directory":"word-puzzles-by-powgi","title":"Word Puzzles by POWGI","compatibility":99,"releases":[{"id":"01002BE00BA82000","region":null}]},{"id":"3ae60705-50dc-4b36-ac48-06af4c10b99a","directory":"cars-3-driven-to-win","title":"Cars 3: Driven to Win","compatibility":3,"releases":[{"id":"01008D1001512000","region":null}]},{"id":"3afc0cad-180e-4ee8-b935-4051d8ac2561","directory":"dex","title":"Dex","compatibility":1,"releases":[{"id":"01003F601025E000","region":null}]},{"id":"3b02c86b-57ad-4b64-9b68-ce2217934906","directory":"sweet-witches","title":"Sweet Witches","compatibility":0,"releases":[{"id":"0100D6D00EC2C000","region":null}]},{"id":"3b2bb85f-6a3f-44d7-a7b6-035adee36760","directory":"ship-sim-2020","title":"Ship Sim 2020","compatibility":99,"releases":[{"id":"0100016011A1A000","region":null}]},{"id":"3b39f624-d88e-495c-b8be-04f41a01a525","directory":"warp-frontier","title":"Warp Frontier","compatibility":0,"releases":[{"id":"01005C50152DC000","region":null}]},{"id":"3b4334f8-291f-4b63-a783-04466920f27f","directory":"gangsta-paradise","title":"Gangsta Paradise","compatibility":99,"releases":[{"id":"01001A50145E0000","region":null}]},{"id":"3b48c529-67dc-456a-98b9-4ba552f3edd0","directory":"escape-game-fort-boyard","title":"Escape Game Fort Boyard","compatibility":0,"releases":[{"id":"0100B0F011A84000","region":null}]},{"id":"3b525ae4-a3f0-4a45-a402-fa18d7dd1305","directory":"paratopic","title":"Paratopic","compatibility":99,"releases":[{"id":"01001F0012868000","region":null}]},{"id":"3b5982a5-6722-43e5-87cb-63e855e4c98e","directory":"skittles","title":"Skittles","compatibility":99,"releases":[{"id":"0100FC1015302000","region":null}]},{"id":"3b5aed28-1c47-4f87-9fb9-564efb2121a3","directory":"rotating-brave","title":"Rotating Brave","compatibility":99,"releases":[{"id":"01003A300B7A6000","region":null}]},{"id":"3b5c0bbd-4084-486a-b0de-c1b914732abb","directory":"overpass","title":"OVERPASS","compatibility":4,"releases":[{"id":"01008EA00E816000","region":null}]},{"id":"3b6253a9-ece8-4b66-bc12-d403d54df0fd","directory":"immortus-temporus","title":"Immortus Temporus","compatibility":99,"releases":[{"id":"0100211015A7E000","region":null}]},{"id":"3b702c1c-6a3a-4b53-b442-36e179dc9aa3","directory":"dongo-adventure","title":"Dongo Adventure","compatibility":99,"releases":[{"id":"010088B010DD2000","region":null}]},{"id":"3b7a7e3e-9bdd-4dfb-8fe3-e7bf6a35ccd3","directory":"death-coming","title":"Death Coming","compatibility":5,"releases":[{"id":"0100F3B00CF32000","region":null}]},{"id":"3b8c39f1-f00e-4836-bfa5-7a7a8c9d0b3c","directory":"caged-garden-cock-robin","title":"Caged Garden Cock Robin","compatibility":0,"releases":[{"id":"010092600E9A2000","region":null}]},{"id":"3ba52dd0-c8eb-4239-8f59-dd148b7e2527","directory":"rogue-bit","title":"Rogue Bit","compatibility":99,"releases":[{"id":"010052500D984000","region":null}]},{"id":"3bac4707-4238-42b3-8d2c-581db2453cff","directory":"aca-neogeo-the-king-of-fighters-2002","title":"ACA NEOGEO THE KING OF FIGHTERS 2002","compatibility":5,"releases":[{"id":"0100CFD00AFDE000","region":null}]},{"id":"3bbd9c00-bed7-4681-a685-d9e0c47c1817","directory":"dying-light-platinum-edition","title":"Dying Light: Platinum Edition","compatibility":4,"releases":[{"id":"01008C8012920000","region":null}]},{"id":"3bc21c1f-059c-4596-8ab1-a8980d9de9e1","directory":"astro-aqua-kitty","title":"ASTRO AQUA KITTY","compatibility":1,"releases":[{"id":"01007210128C0000","region":null}]},{"id":"3bc2b15b-0036-4f99-9658-7e64a71a2be1","directory":"greedroid","title":"Greedroid","compatibility":99,"releases":[{"id":"0100BD800DFA6000","region":null}]},{"id":"3bd42223-3640-462b-9d83-e087662998fe","directory":"beyond-enemy-lines-covert-operations","title":"Beyond Enemy Lines: Covert Operations","compatibility":99,"releases":[{"id":"010056500CAD8000","region":null}]},{"id":"3bd46875-5910-40d4-81eb-06bfc1f73f9e","directory":"sheltered","title":"Sheltered","compatibility":4,"releases":[{"id":"010036D00C362000","region":null}]},{"id":"3bd75a6b-87df-4acf-9142-b1cd50bdd6eb","directory":"squids-odyssey","title":"Squids Odyssey","compatibility":99,"releases":[{"id":"01008FF00A4B6000","region":null}]},{"id":"3bf3296c-030c-4c84-8fed-ccb62c76e87a","directory":"bunny-bounce","title":"Bunny Bounce","compatibility":99,"releases":[{"id":"01006AA0145C4000","region":null}]},{"id":"3bf3dd5a-0ca5-4218-83ca-a25b89ac1b12","directory":"widget-satchel","title":"Widget Satchel","compatibility":2,"releases":[{"id":"0100C7800CA06000","region":null}]},{"id":"3bf98440-1958-405c-bce0-e5ce0a982367","directory":"daggerhood","title":"Daggerhood","compatibility":4,"releases":[{"id":"0100A7F00C5FE000","region":null}]},{"id":"3bfe6eaf-e2a2-4cfd-b761-f38f11603f89","directory":"baldo-the-guardian-owls","title":"Baldo\nThe guardian owls","compatibility":0,"releases":[{"id":"0100A75005E92000","region":null}]},{"id":"3c0e9a01-ca10-49b5-9564-69a74d413884","directory":"robbotto-demo","title":"Robbotto Demo","compatibility":99,"releases":[{"id":"01009C400C5CA000","region":null}]},{"id":"3c1dae79-b6f1-4663-92a1-09356b627c94","directory":"squeakers","title":"Squeakers","compatibility":99,"releases":[{"id":"0100085012A0E000","region":null}]},{"id":"3c25b539-7a49-4e69-8046-a37773c3d6a9","directory":"crossbow-bloodnight","title":"CROSSBOW: Bloodnight","compatibility":1,"releases":[{"id":"0100D1D013536000","region":null}]},{"id":"3c2fafdd-2f7e-47b2-bf99-2518bff58f3f","directory":"world-tree-marche","title":"World Tree Marché","compatibility":99,"releases":[{"id":"0100D6A00BE66000","region":null}]},{"id":"3c3b099c-80e1-4383-b001-33f7cc886b22","directory":"merry-christmas-snowball-bubble","title":"Merry Christmas Snowball Bubble","compatibility":99,"releases":[{"id":"0100E4D0169E0000","region":null}]},{"id":"3c444f15-33b0-4ed5-ac0e-6ff353a619e9","directory":"nippon-marathon","title":"Nippon Marathon","compatibility":1,"releases":[{"id":"0100EF5008FC4000","region":null}]},{"id":"3c49dfb5-53d0-4964-b615-89e1fd97f923","directory":"dragon-snakes","title":"Dragon Snakes","compatibility":99,"releases":[{"id":"010083A00DEC8000","region":null}]},{"id":"3c5358b5-0626-4199-ae87-e76bf8cb1a1f","directory":"hyper-jam","title":"Hyper Jam","compatibility":3,"releases":[{"id":"0100B3300B4AA000","region":null}]},{"id":"3c673ee0-112e-42bc-b1ad-786251686eb1","directory":"monica-e-a-guarda-dos-coelhos","title":"Monica e a Guarda dos Coelhos","compatibility":3,"releases":[{"id":"0100C1400BD6A000","region":null}]},{"id":"3c6faf57-61c7-4121-a799-765559b8f1f7","directory":"jumping-stack-ball","title":"Jumping Stack Ball","compatibility":99,"releases":[{"id":"01008EF01426C000","region":null}]},{"id":"3c785436-b196-408b-87c3-e70e68cff8c8","directory":"pocket-stables","title":"Pocket Stables","compatibility":99,"releases":[{"id":"01008D400E1BA000","region":null}]},{"id":"3c94661a-2c86-48df-b083-024f8cac74d8","directory":"connection-rehaunted","title":"Connection reHaunted","compatibility":99,"releases":[{"id":"0100E84014C72000","region":null}]},{"id":"3c97de6a-862c-46a4-86c8-d2a58b22692b","directory":"tiki-brawl","title":"Tiki Brawl","compatibility":99,"releases":[{"id":"0100AEC012F16000","region":null}]},{"id":"3c9e76d2-d411-4808-a426-a738b2930b60","directory":"quad-fighter-k","title":"Quad Fighter K","compatibility":99,"releases":[{"id":"010067D00AC46000","region":null}]},{"id":"3ca3f698-23b3-4b69-89a8-cf1b179f53b9","directory":"coast-guard-beach-rescue-team","title":"Coast Guard: Beach Rescue Team","compatibility":99,"releases":[{"id":"01000EC01212E000","region":null}]},{"id":"3caa13fd-6e95-49f8-9076-fe09849d663f","directory":"star-ocean-first-departure-r","title":"STAR OCEAN First Departure R","compatibility":1,"releases":[{"id":"0100EBF00E702000","region":null}]},{"id":"3cad0c86-3f54-4503-9d0f-45fd0e2ca0d8","directory":"atomic-heist","title":"Atomic Heist","compatibility":99,"releases":[{"id":"01005FE00EC4E000","region":null}]},{"id":"3cbfd7de-79e7-45c6-b338-969b54a50594","directory":"sega-ages-puyo-puyo","title":"SEGA AGES Puyo Puyo","compatibility":2,"releases":[{"id":"01005F600CB0E000","region":null}]},{"id":"3cd1635c-3802-4e7a-872a-3c791ff20101","directory":"head-games","title":"Head Games","compatibility":99,"releases":[{"id":"0100CE001546E000","region":null}]},{"id":"3cd9eb98-d5ef-413c-80bd-00ca4dc58de7","directory":"hyperdrive-massacre","title":"Hyperdrive Massacre","compatibility":99,"releases":[{"id":"0100D4600E9B2000","region":null}]},{"id":"3ce4ffc2-59c2-4d27-bf43-f33cc07eae55","directory":"crypt-of-the-serpent-king","title":"Crypt of the Serpent King","compatibility":1,"releases":[{"id":"0100BA100E160000","region":null}]},{"id":"3cea0b7b-5d4f-4522-a64b-34e898c42969","directory":"super-meat-boy","title":"Super Meat Boy","compatibility":1,"releases":[{"id":"01004F8006A78000","region":null}]},{"id":"3cf06d1f-2461-4bea-a1d4-80303af36cd1","directory":"hero-pop","title":"Hero Pop","compatibility":99,"releases":[{"id":"010026F01162E000","region":null}]},{"id":"3cf58f47-e1af-4e68-a5c8-5a00a44367a0","directory":"magic-twins","title":"Magic Twins","compatibility":99,"releases":[{"id":"010036F014100000","region":null}]},{"id":"3cf6c26f-7cb1-456e-96d9-384761d2faee","directory":"arcade-archives-burger-time","title":"Arcade Archives Burger Time","compatibility":3,"releases":[{"id":"0100EBB012400000","region":null}]},{"id":"3cf93ff7-43ff-4929-9524-a1b8b45c885f","directory":"medulla","title":"Medulla","compatibility":99,"releases":[{"id":"01008A300F61E000","region":null}]},{"id":"3cfaecd3-8bb1-4583-ac34-2c49eb9cce16","directory":"hamsterdam","title":"Hamsterdam","compatibility":99,"releases":[{"id":"0100FA800DF86000","region":null}]},{"id":"3d232d04-1f63-4924-b285-d0ee6e95dcb5","directory":"kensh","title":"Kenshō","compatibility":99,"releases":[{"id":"01000F000AAF0000","region":null}]},{"id":"3d3b1286-c51d-4c32-9816-315bc1de20f9","directory":"whiskey-mafia-franks-story","title":"Whiskey Mafia: Frank's Story","compatibility":99,"releases":[{"id":"0100B9A015AF6000","region":null}]},{"id":"3d4163d3-f838-45cc-81d9-5b1b8679844e","directory":"another-lost-phone-lauras-story","title":"Another Lost Phone: Laura's Story","compatibility":1,"releases":[{"id":"010008400A268000","region":null}]},{"id":"3d456046-8b7f-45b6-a13a-2ac8c87a1115","directory":"cadence-of-hyrule-crypt-of-the-necrodancer-featuring-the-legend-of-zelda","title":"Cadence of Hyrule – Crypt of the NecroDancer Featuring The Legend of Zelda","compatibility":0,"releases":[{"id":"01000B900D8B0000","region":null}]},{"id":"3d4ac65f-6ef9-49a6-84b5-26160302ace8","directory":"mad-rat-dead","title":"Mad Rat Dead","compatibility":1,"releases":[{"id":"0100E6701231C000","region":null}]},{"id":"3d5af242-bd82-4e08-a299-503c24102869","directory":"flaskoman","title":"Flaskoman","compatibility":99,"releases":[{"id":"010098E01645E000","region":null}]},{"id":"3d5c6dda-dc44-42a1-b2ff-de6feeb62592","directory":"yumenikki-dream-diary-","title":"YUMENIKKI -DREAM DIARY-","compatibility":3,"releases":[{"id":"0100D6B00CD88000","region":null}]},{"id":"3d5f91b1-9ee3-49cf-93b6-b96e945fbcf2","directory":"sky-gamblers-afterburner","title":"Sky Gamblers - Afterburner","compatibility":4,"releases":[{"id":"010003F00CC98000","region":null}]},{"id":"3d74f94a-fcef-4102-b76f-7ba4554116c2","directory":"sushi-time","title":"Sushi Time!","compatibility":99,"releases":[{"id":"010096300D9C0000","region":null}]},{"id":"3d7790e7-cc8f-4a28-93f5-02fd881ca8f5","directory":"zombiotik","title":"Zombiotik","compatibility":99,"releases":[{"id":"010045E01057E000","region":null}]},{"id":"3d77915f-c75a-4e46-84cb-44737e273ac3","directory":"screencheat-unplugged","title":"Screencheat: Unplugged","compatibility":99,"releases":[{"id":"01009BB00AD62000","region":null}]},{"id":"3d92595c-3044-467d-8e03-30678bfdf32b","directory":"arcade-archives-scramble","title":"Arcade Archives Scramble","compatibility":99,"releases":[{"id":"0100F9D00F176000","region":null}]},{"id":"3d962468-0605-4b5a-b687-ffad65333ac0","directory":"out-of-space-couch-edition","title":"Out of Space: Couch Edition","compatibility":99,"releases":[{"id":"0100C67011B14000","region":null}]},{"id":"3da721be-32f8-4469-9100-9e908b40bcc0","directory":"dungeon-of-the-endless","title":"Dungeon of the Endless","compatibility":1,"releases":[{"id":"010034300F0E2000","region":null}]},{"id":"3dae824b-c7a3-4ed1-af8d-59c177caec97","directory":"calculation-castle-grecos-ghostly-challenge-addition","title":"Calculation Castle : Greco's Ghostly Challenge \"Addition\"","compatibility":99,"releases":[{"id":"01004B500AB88000","region":null}]},{"id":"3db3aa1f-5fc3-4088-ae4e-6241f58802b7","directory":"otokomizu","title":"Otokomizu","compatibility":99,"releases":[{"id":"01006AA00EE44000","region":null}]},{"id":"3dbc85e1-2008-4d8b-93fe-39c7200cd129","directory":"sakura-succubus","title":"Sakura Succubus","compatibility":0,"releases":[{"id":"0100375012E50000","region":null}]},{"id":"3dd14364-6fc0-405b-a3c2-7f05e7ba3bc1","directory":"world-of-solitaire","title":"World Of Solitaire","compatibility":99,"releases":[{"id":"01009D50103E8000","region":null}]},{"id":"3de09d78-20b5-4404-b0f7-ccf34d22a5ab","directory":"aca-neogeo-the-last-blade","title":"ACA NEOGEO THE LAST BLADE","compatibility":4,"releases":[{"id":"0100A5A004FB2000","region":null}]},{"id":"3de70c9f-2c36-4e7e-aed5-d1a63c0b00af","directory":"professional-farmer-nintendo-switch-edition","title":"Professional Farmer: Nintendo Switch Edition","compatibility":99,"releases":[{"id":"010077B00BDD8000","region":null}]},{"id":"3de7e3ea-c849-451e-bb3d-b41dee6122e0","directory":"balance-blox","title":"Balance Blox","compatibility":5,"releases":[{"id":"01000D700D2D6000","region":null}]},{"id":"3dea191e-669d-415c-9c84-548921fd0ecf","directory":"gyro-boss-dx","title":"Gyro Boss DX","compatibility":99,"releases":[{"id":"0100A8E00DB92000","region":null}]},{"id":"3df72b20-622e-4cdf-ac19-e90ec3a786a7","directory":"logic-puzzle-collection-sudoku-permudoku-nonodoku","title":"Logic Puzzle Collection: Sudoku - Permudoku - Nonodoku","compatibility":99,"releases":[{"id":"0100EEE012FE4000","region":null}]},{"id":"3df762e1-72ab-4212-a5ff-2bf09715897c","directory":"dont-sink","title":"Don't Sink","compatibility":99,"releases":[{"id":"0100C4D00B608000","region":null}]},{"id":"3e095e75-c70f-451e-a31a-8b508f4e212d","directory":"top-boat-racing-simulator-3d","title":"Top Boat: Racing Simulator 3D","compatibility":99,"releases":[{"id":"01001B9015E7A000","region":null}]},{"id":"3e098778-d647-4548-b02a-504552870184","directory":"star-wars-jedi-knight-ii-jedi-outcast","title":"STAR WARS Jedi Knight II: Jedi Outcast","compatibility":4,"releases":[{"id":"0100BB500EACA000","region":null}]},{"id":"3e0de233-2770-48c8-ba07-d3ab52846c1d","directory":"bash-the-bear","title":"Bash The Bear","compatibility":4,"releases":[{"id":"010023300CD52000","region":null}]},{"id":"3e16b16e-1336-40fc-94dc-6889bcf4126c","directory":"12-labours-of-hercules-iv-mother-nature","title":"12 Labours of Hercules IV: Mother Nature","compatibility":99,"releases":[{"id":"0100FD50148AA000","region":null}]},{"id":"3e19b5fa-f0f5-4589-b6ba-7bb81f538795","directory":"wheels-of-aurelia","title":"Wheels of Aurelia","compatibility":99,"releases":[{"id":"0100DFC00405E000","region":null}]},{"id":"3e25bcce-9ecf-42cd-a2e9-27cd7185ccc5","directory":"whispering-willows","title":"Whispering Willows","compatibility":1,"releases":[{"id":"010015A00AF1E000","region":null}]},{"id":"3e36dc2a-ebe9-412c-b9ff-e87a69f16ec6","directory":"zomb","title":"ZOMB","compatibility":99,"releases":[{"id":"0100E2B00E064000","region":null}]},{"id":"3e43759a-dc74-445e-b07a-32ff994e4cf2","directory":"dreaming-sarah","title":"Dreaming Sarah","compatibility":99,"releases":[{"id":"010048F012C24000","region":null}]},{"id":"3e46122a-323a-463c-bd06-6c535ec09c6c","directory":"gnomes-garden-new-home","title":"Gnomes Garden: New Home","compatibility":99,"releases":[{"id":"010085B00CCEE000","region":null}]},{"id":"3e47276b-8502-415a-9e57-c7a6b4a6fa5f","directory":"bards-gold-nintendo-switch-edition","title":"Bard's Gold - Nintendo Switch Edition","compatibility":5,"releases":[{"id":"0100DEB00D76E000","region":null}]},{"id":"3e4a1dc1-2215-4deb-b49e-89b9d1a2af34","directory":"hot-springs-story","title":"Hot Springs Story","compatibility":3,"releases":[{"id":"010090B00B1F0000","region":null}]},{"id":"3e51618f-c638-4252-82b1-053174e02c5e","directory":"repressed","title":"Repressed","compatibility":99,"releases":[{"id":"0100771011472000","region":null}]},{"id":"3e68b4fd-53db-4162-9210-f0a4283f3501","directory":"twist-bounce","title":"Twist&Bounce","compatibility":99,"releases":[{"id":"0100E18012A64000","region":null}]},{"id":"3e69c395-750d-4318-a708-ca093cba2d06","directory":"witch-hunter","title":"Witch Hunter","compatibility":99,"releases":[{"id":"0100E600151BC000","region":null}]},{"id":"3e6dd7e1-79f9-49e5-b25f-299c5836c5be","directory":"agony","title":"Agony","compatibility":3,"releases":[{"id":"010072600D21C000","region":null}]},{"id":"3e81a1ca-d054-4bb5-b1eb-c1d2e897eb1a","directory":"world-soccer-pinball","title":"World Soccer Pinball","compatibility":99,"releases":[{"id":"01001E300B038000","region":null}]},{"id":"3e85aee1-f560-469a-a7fa-005549f0e3da","directory":"yonder-the-cloud-catcher-chronicles","title":"Yonder: The Cloud Catcher Chronicles","compatibility":2,"releases":[{"id":"0100534009FF2000","region":null}]},{"id":"3e972a74-333f-4577-b520-672cc3b3c68a","directory":"strife-veteran-edition","title":"Strife: Veteran Edition","compatibility":4,"releases":[{"id":"0100BDE012928000","region":null}]},{"id":"3ea91cbd-d621-4bf3-a5ad-17a629a11d74","directory":"clumsy-rush","title":"Clumsy Rush","compatibility":99,"releases":[{"id":"010084201056A000","region":null}]},{"id":"3eb9f316-b195-4edb-9387-eb53dbed6c28","directory":"sky-rogue","title":"Sky Rogue","compatibility":99,"releases":[{"id":"0100C5700434C000","region":null}]},{"id":"3edcb8c3-3ece-4550-b839-4e46530171ae","directory":"bad-dream-coma","title":"Bad Dream: Coma","compatibility":99,"releases":[{"id":"01000CB00D094000","region":null}]},{"id":"3ee07ee3-7d29-4ba4-900b-02aaac245896","directory":"shinrai-broken-beyond-despair","title":"SHINRAI - Broken Beyond Despair","compatibility":99,"releases":[{"id":"0100F58016212000","region":null}]},{"id":"3ee3a360-f059-4c03-a43f-4724c64553dc","directory":"swimsanity","title":"Swimsanity!","compatibility":1,"releases":[{"id":"010049D00C8B0000","region":null}]},{"id":"3eeca59b-fe1a-4de7-834e-2342f030ad19","directory":"reventure","title":"Reventure","compatibility":99,"releases":[{"id":"0100E2E00EA42000","region":null}]},{"id":"3eed2a33-46c8-4fd7-b94f-c27fdc5afcd0","directory":"big-brain-academy-brain-vs-brain","title":"Big Brain Academy™: Brain vs. Brain","compatibility":3,"releases":[{"id":"0100620012D6E000","region":null}]},{"id":"3eefd188-1a22-4bd1-80e6-22e76c202563","directory":"symmetry","title":"SYMMETRY","compatibility":99,"releases":[{"id":"0100C1C00D01C000","region":null}]},{"id":"3ef38437-7a76-4ffb-90ed-f321577b611b","directory":"storm-in-a-teacup","title":"Storm In A Teacup","compatibility":99,"releases":[{"id":"0100B2300B932000","region":null}]},{"id":"3ef40d63-2b5a-45b8-8ccc-670eda961f70","directory":"make-a-killing","title":"Make a Killing","compatibility":99,"releases":[{"id":"010059F012984000","region":null}]},{"id":"3efa1d7e-d133-4315-8194-402b83c049bd","directory":"the-sisters-party-of-the-year","title":"The Sisters - Party of the Year","compatibility":99,"releases":[{"id":"0100F8F014080000","region":null}]},{"id":"3efa9838-838b-4e66-b88e-25f30f9ba069","directory":"amaneswitch","title":"雨音スイッチ -AmaneSwitch-","compatibility":99,"releases":[{"id":"0100D12015CCA000","region":null}]},{"id":"3f085e2a-c210-4b28-bbba-149bd1661eaa","directory":"akash-path-of-the-five","title":"Akash: Path of the Five","compatibility":99,"releases":[{"id":"01009A800F0C8000","region":null}]},{"id":"3f0f3195-58d1-4fb3-8773-07c3850006f1","directory":"omg-zombies","title":"OMG Zombies!","compatibility":0,"releases":[{"id":"01006DB00D970000","region":null}]},{"id":"3f1208ce-8be1-4344-a081-c46acad6d2d4","directory":"missing-features-2d","title":"Missing Features: 2D","compatibility":2,"releases":[{"id":"0100E3601495C000","region":null}]},{"id":"3f129cf8-9e9e-4a61-a2c7-53890fa2a50c","directory":"drowning-demo","title":"Drowning (Demo)","compatibility":99,"releases":[{"id":"010049900D3C6000","region":null}]},{"id":"3f2e8f4d-f01d-45ee-93b0-b11fa7e89b55","directory":"henry-the-hamster-handler","title":"Henry The Hamster Handler","compatibility":0,"releases":[{"id":"010007E00A1A4000","region":null}]},{"id":"3f355aff-67c8-430d-9acf-9e39c7012912","directory":"castlevania-advance-collection","title":"Castlevania Advance Collection","compatibility":2,"releases":[{"id":"0100B33014710000","region":null}]},{"id":"3f391c1f-f3d0-4a93-9951-b793cd57c502","directory":"arcade-archives-frisky-tom","title":"Arcade Archives Frisky Tom","compatibility":99,"releases":[{"id":"0100B820144C2000","region":null}]},{"id":"3f4544c5-486e-402f-852d-cca71a220efa","directory":"windjammers","title":"Windjammers","compatibility":1,"releases":[{"id":"010048800B638000","region":null}]},{"id":"3f4f6bbb-a2fc-4ef4-9915-faa0bd733b31","directory":"karma-incarnation-1","title":"Karma. Incarnation 1","compatibility":99,"releases":[{"id":"0100FDD014EF0000","region":null}]},{"id":"3f5848f3-847d-45e9-97b3-de9b022b484d","directory":"super-beat-sports","title":"Super Beat Sports","compatibility":4,"releases":[{"id":"0100F7000464A000","region":null}]},{"id":"3f641703-0d90-4655-984a-d075d254056f","directory":"labyrinth-city-pierre-the-maze-detective","title":"Labyrinth City: Pierre the Maze Detective","compatibility":1,"releases":[{"id":"01000D50144D2000","region":null}]},{"id":"3f6b4e28-bb9f-4af5-870c-7f29fb83b686","directory":"thronebreaker-the-witcher-tales","title":"Thronebreaker: The Witcher Tales","compatibility":2,"releases":[{"id":"0100E910103B4000","region":null}]},{"id":"3f6f6be1-373e-4205-bf21-13e881583df9","directory":"war-solution-casual-math-game","title":"War Solution - Casual Math Game","compatibility":99,"releases":[{"id":"01001B0013A50000","region":null}]},{"id":"3f75b2a3-a53f-4266-a277-d328fdd8e21b","directory":"zero-strain","title":"Zero Strain","compatibility":1,"releases":[{"id":"01004B001058C000","region":null}]},{"id":"3f7ceea6-f2cf-466c-b88c-be83a538f81a","directory":"hammerwatch","title":"Hammerwatch","compatibility":4,"releases":[{"id":"01003B9007E86000","region":null}]},{"id":"3f7dc597-f2e5-4df0-9d01-3c2d0357cf3d","directory":"rollercoaster-tycoon-adventures","title":"RollerCoaster Tycoon Adventures","compatibility":1,"releases":[{"id":"0100E3900B598000","region":null}]},{"id":"3f8c83d1-dd8f-483a-a72b-b448eb3c2d1d","directory":"chameleon","title":"Chameleon","compatibility":99,"releases":[{"id":"0100DA900FCEA000","region":null}]},{"id":"3f926382-6c4f-4c5d-a598-744f8ae2bbdf","directory":"void-bastards","title":"Void Bastards","compatibility":1,"releases":[{"id":"0100D010113A8000","region":null}]},{"id":"3f968a2a-7a34-47c0-a6f9-91750c023e5c","directory":"caesar-empire-war","title":"CAESAR EMPIRE WAR","compatibility":99,"releases":[{"id":"0100B7E0153A2000","region":null}]},{"id":"3faa3f63-5488-42ef-a462-19d5d287c362","directory":"ultra-hyperball","title":"Ultra Hyperball","compatibility":99,"releases":[{"id":"01009C000415A000","region":null}]},{"id":"3fb592f0-a8af-4479-b48e-d7e8713406a8","directory":"hellmut-the-badass-from-hell","title":"Hellmut: The Badass from Hell","compatibility":99,"releases":[{"id":"0100A0300D1A0000","region":null}]},{"id":"3fbeb66d-ab1d-463c-904b-e4952f9feafc","directory":"asterix-obelix-xxl-3-the-crystal-menhir","title":"Asterix & Obelix XXL 3  - The Crystal Menhir","compatibility":3,"releases":[{"id":"010081500EA1E000","region":null}]},{"id":"3fc03bd7-d0ec-4344-a7f8-8d428ec615e6","directory":"one-piece-unlimited-world-red-deluxe-edition","title":"ONE PIECE: Unlimited World Red Deluxe Edition","compatibility":1,"releases":[{"id":"0100574002AF4000","region":null}]},{"id":"3fca3f67-751d-41ce-a94a-9d719498767e","directory":"kingdom-tales","title":"Kingdom Tales","compatibility":99,"releases":[{"id":"0100DBE013B78000","region":null}]},{"id":"3ffa3e6b-2881-4a0b-b07b-13071e342aca","directory":"super-disc-soccer","title":"Super Disc Soccer","compatibility":99,"releases":[{"id":"01002AB014B34000","region":null}]},{"id":"3fffab85-965f-49ef-8d98-702b3ee5ca02","directory":"the-silver-case-2425","title":"The Silver Case 2425","compatibility":2,"releases":[{"id":"0100F1701434E000","region":null}]},{"id":"400e00a7-3551-4964-9152-1b343975d41b","directory":"code-realize-~guardian-of-rebirth~","title":"Code: Realize ~Guardian of Rebirth~","compatibility":0,"releases":[{"id":"010021D00F404000","region":null}]},{"id":"4015b323-8bae-4e73-9a2c-a1cf049ceeca","directory":"dragon-audit","title":"Dragon Audit","compatibility":99,"releases":[{"id":"0100DBC00BD5A000","region":null}]},{"id":"401fca48-94bd-4d68-bd8e-9352fcfdf5bf","directory":"missile-command-recharged","title":"Missile Command: Recharged","compatibility":0,"releases":[{"id":"0100745011D28000","region":null}]},{"id":"40281524-9302-498e-b09e-05eced12b569","directory":"hollow","title":"Hollow","compatibility":99,"releases":[{"id":"0100F210061E8000","region":null}]},{"id":"403284be-f6b5-4cfa-bd19-f918d5dcf51d","directory":"conjurer-andys-repeatable-dungeon","title":"Conjurer Andy's Repeatable Dungeon","compatibility":99,"releases":[{"id":"0100C8500CBC4000","region":null}]},{"id":"4037bc6e-1381-470d-bd41-bf5a08d1b221","directory":"american-hero","title":"American Hero","compatibility":99,"releases":[{"id":"01004D6013EE4000","region":null}]},{"id":"40383df6-ad2b-465b-b63e-2cb21dc488ea","directory":"arcade-archives-hyper-sports","title":"Arcade Archives HYPER SPORTS","compatibility":99,"releases":[{"id":"010065C00F976000","region":null}]},{"id":"403ee0be-8245-459d-8c71-efbae4b87803","directory":"oddmar","title":"Oddmar","compatibility":0,"releases":[{"id":"01001F100FA04000","region":null}]},{"id":"4059e641-85df-4174-87a7-6e94d46b9aa4","directory":"wartile","title":"WARTILE","compatibility":99,"releases":[{"id":"0100CD900FB24000","region":null}]},{"id":"40664a1e-ddd9-4a8e-a80e-c3d7feb80403","directory":"kontrakt","title":"Kontrakt","compatibility":99,"releases":[{"id":"01008A6014E8E000","region":null}]},{"id":"40697286-0795-4763-bbbe-d51319dfd4fd","directory":"gato-roboto","title":"Gato Roboto","compatibility":5,"releases":[{"id":"010025500C098000","region":null}]},{"id":"40764927-354a-4471-9e01-d2e83f4067df","directory":"retro-classix-2in1-pack-bad-dudes-two-crude-dudes","title":"Retro Classix 2in1 pack: Bad Dudes & Two Crude Dudes","compatibility":99,"releases":[{"id":"0100772012186000","region":null}]},{"id":"4077bf7e-90b6-4d17-811b-4532f98ab403","directory":"lost-artifacts-time-machine","title":"Lost Artifacts: Time Machine","compatibility":99,"releases":[{"id":"010005400EC0C000","region":null}]},{"id":"408c60d3-e897-4ce7-bf6a-a09275ba14d9","directory":"puzzle-puppers-demo","title":"Puzzle Puppers Demo","compatibility":99,"releases":[{"id":"010021300ABDE000","region":null}]},{"id":"40bd02c3-235e-4834-a2d8-01a86cd38054","directory":"blizzard-r-arcade-collection","title":"Blizzard® Arcade Collection","compatibility":5,"releases":[{"id":"0100743013D56000","region":null}]},{"id":"40c4d81c-2e47-4164-9705-8617aaa5671f","directory":"ok-ko-lets-play-heroes","title":"OK K.O.! Let’s Play Heroes","compatibility":99,"releases":[{"id":"010030B00B2F6000","region":null}]},{"id":"40c7060c-fee5-4f07-b7a4-0575a16cf5fc","directory":"saints-row-iv-re-elected","title":"Saints Row IV: Re-Elected","compatibility":3,"releases":[{"id":"01008D100D43E000","region":null}]},{"id":"40ceca45-27ff-4b9a-8f71-ad2f7105d449","directory":"the-forgotten-city-cloud-version","title":"The Forgotten City - Cloud Version","compatibility":99,"releases":[{"id":"01009830159CA000","region":null}]},{"id":"40d39270-5e04-48d8-a0f2-68aac7405e3e","directory":"weakwood-throne","title":"WeakWood Throne","compatibility":99,"releases":[{"id":"0100011012A70000","region":null}]},{"id":"40d607ac-f0c6-44b1-84a4-e1f57ad794a3","directory":"the-gardens-between","title":"The Gardens Between","compatibility":2,"releases":[{"id":"0100B13007A6A000","region":null}]},{"id":"40d7aa7d-392d-43f6-a110-f99ece6c83d0","directory":"buissons","title":"Buissons","compatibility":99,"releases":[{"id":"010040F015A58000","region":null}]},{"id":"40da9f43-5421-4d78-b239-1bb24a6ff6d8","directory":"spooky-ghosts-dot-com","title":"Spooky Ghosts Dot Com","compatibility":99,"releases":[{"id":"0100C6100D75E000","region":null}]},{"id":"40dc0daa-9a6b-498c-96a7-52532a9397fe","directory":"kingdoms-of-amalur-re-reckoning","title":"Kingdoms of Amalur: Re-Reckoning","compatibility":2,"releases":[{"id":"0100EF50132BE000","region":null}]},{"id":"40dde633-5577-49f7-9cf0-a3f45d2bd720","directory":"loco-sports","title":"LocO-SportS","compatibility":99,"releases":[{"id":"0100BA000FC9C000","region":null}]},{"id":"40e68bb0-53e1-4934-91d9-9c43bbf49fcd","directory":"i-wanna-fly","title":"I wanna fly","compatibility":99,"releases":[{"id":"010025C00D8A2000","region":null}]},{"id":"40eba49c-c81f-4c4f-b953-8f0f4c3d2ded","directory":"indie-puzzle-bundle-vol-1","title":"Indie Puzzle Bundle Vol 1","compatibility":99,"releases":[{"id":"0100A2101107C000","region":null}]},{"id":"40efaa20-2c73-4035-9a07-6497572e4f07","directory":"arcade-archives-yie-ar-kung-fu","title":"Arcade Archives Yie Ar KUNG-FU","compatibility":99,"releases":[{"id":"01003FB00E954000","region":null}]},{"id":"40f56e13-674a-4270-85f3-b812c9293cd0","directory":"antonball-deluxe","title":"Antonball Deluxe","compatibility":99,"releases":[{"id":"01007330142E0000","region":null}]},{"id":"41073382-1387-4541-bdad-dd7211bed571","directory":"forager","title":"Forager","compatibility":5,"releases":[{"id":"01001D200BCC4000","region":null}]},{"id":"410a1745-51fc-4268-ac05-e8b2a2816f26","directory":"among-us","title":"Among Us","compatibility":4,"releases":[{"id":"0100B0C013912000","region":null}]},{"id":"41153b90-f364-44f7-83f1-ad546777226a","directory":"arcade-archives-guzzler","title":"Arcade Archives GUZZLER","compatibility":99,"releases":[{"id":"010025E01450E000","region":null}]},{"id":"41153ccb-3e3f-436a-9ab5-900194d0dd0c","directory":"gun-skaters","title":"Gun Skaters","compatibility":99,"releases":[{"id":"010055601349E000","region":null}]},{"id":"4132bd2a-3ad3-4349-b1e6-0277fc2715b3","directory":"blink-rogues","title":"Blink: Rogues","compatibility":99,"releases":[{"id":"0100FAC0148C2000","region":null}]},{"id":"41338c70-db0b-49ec-ae1b-bece1ec97292","directory":"dusty-raging-fist","title":"Dusty Raging Fist","compatibility":99,"releases":[{"id":"010097D00402C000","region":null}]},{"id":"413de0cd-90bd-4549-8a4c-b06c753f45aa","directory":"dirt-trackin-2","title":"Dirt Trackin 2","compatibility":99,"releases":[{"id":"0100695011280000","region":null}]},{"id":"4141b54e-c26c-46c6-8493-2c7a33663f12","directory":"lets-sing-2018","title":"Let's Sing 2018","compatibility":3,"releases":[{"id":"0100ECB00A0FC000","region":null}]},{"id":"41476934-8aa3-448b-b250-3801cfb3cf9b","directory":"azure-striker-gunvolt-striker-pack","title":"Azure Striker GUNVOLT: STRIKER PACK","compatibility":1,"releases":[{"id":"0100192003FA4000","region":null}]},{"id":"414d994e-926c-4832-a9e1-2d7fbabebba7","directory":"pool-billiard","title":"Pool BILLIARD","compatibility":99,"releases":[{"id":"0100F490066A6000","region":null}]},{"id":"41689744-625f-4c81-a705-060d1d861783","directory":"glass-masquerade-double-pack","title":"Glass Masquerade Double Pack","compatibility":99,"releases":[{"id":"01002FD01191A000","region":null}]},{"id":"416b3ebc-efeb-436c-b179-0ff94461af38","directory":"womenup-super-puzzles-dream","title":"#womenUp, Super Puzzles Dream","compatibility":99,"releases":[{"id":"01003DB011AE8000","region":null}]},{"id":"416c3f31-308a-4d21-8f04-52315cf0bab1","directory":"ailment","title":"Ailment","compatibility":2,"releases":[{"id":"01006E8011C1E000","region":null}]},{"id":"419c8c02-5ac0-4bd0-9c75-b3378f49b568","directory":"sausage-sports-club","title":"Sausage Sports Club","compatibility":0,"releases":[{"id":"01006EE00380C000","region":null}]},{"id":"419d6ea0-8af3-4d91-ae55-52e5efabe126","directory":"ara-fell-enhanced-edition","title":"Ara Fell: Enhanced Edition","compatibility":0,"releases":[{"id":"010080B0115BA000","region":null}]},{"id":"41a6cee7-b8d6-4b69-b024-cc5a54481b19","directory":"sturmfront-the-mutant-war-ubel-edition","title":"SturmFront - The Mutant War: Übel Edition","compatibility":0,"releases":[{"id":"010029701420A000","region":null}]},{"id":"41acef75-39a8-412a-88d7-c4e31389acfc","directory":"new-super-luckys-tale","title":"New Super Lucky's Tale","compatibility":1,"releases":[{"id":"010017700B6C2000","region":null}]},{"id":"41be1343-e2a9-4a64-9033-2b181b328d28","directory":"shark-copter-vs-zombie-dancers","title":"Shark Copter vs. Zombie Dancers","compatibility":99,"releases":[{"id":"01007D50136DE000","region":null}]},{"id":"41bf9b3f-6785-49db-998c-6f3761667e07","directory":"sophias-world","title":"Sophia's World","compatibility":99,"releases":[{"id":"0100952016222000","region":null}]},{"id":"41cb6f85-7e57-4b35-b8f1-ca76aa5e2cb6","directory":"under-depths-of-fear","title":"Under: Depths of Fear","compatibility":99,"releases":[{"id":"0100E4C013280000","region":null}]},{"id":"41d185f9-4472-4342-94cb-f59b5a1c5ff1","directory":"battle-hunters","title":"Battle Hunters","compatibility":99,"releases":[{"id":"0100A3B011EDE000","region":null}]},{"id":"41ddfeab-77db-4de9-92cc-21f72f8d368a","directory":"poker-texas-omaha-holdem","title":"Poker - Texas & Omaha Hold'em","compatibility":99,"releases":[{"id":"0100BF10168C8000","region":null}]},{"id":"41dfd715-461f-42c0-99c6-0eb41f6d1e06","directory":"potion-party","title":"Potion Party","compatibility":0,"releases":[{"id":"01000A4014596000","region":null}]},{"id":"41e74317-494a-4f1c-99d0-814d3e949175","directory":"colt-canyon","title":"Colt Canyon","compatibility":99,"releases":[{"id":"0100B9801210A000","region":null}]},{"id":"41f17264-3f9b-4465-8bfb-a43f57d4186f","directory":"midnight-deluxe-demo","title":"Midnight Deluxe Demo","compatibility":99,"releases":[{"id":"0100ACC00A56E000","region":null}]},{"id":"41fce889-170a-4e05-9685-c349adfe83f2","directory":"soldam-drop-connect-erase","title":"Soldam: Drop, Connect, Erase","compatibility":99,"releases":[{"id":"0100A290048B0000","region":null}]},{"id":"420117b5-3aa7-460e-b5fb-90e99e7c1efe","directory":"snipperclips-cut-it-out-together-demo","title":"Snipperclips – Cut it out, together! ™ Demo","compatibility":99,"releases":[{"id":"0100D87002EE0000","region":null}]},{"id":"420a9ec9-a29a-4d0b-a03b-aa1b5a9b6922","directory":"galaxy-champions-tv","title":"Galaxy Champions TV","compatibility":1,"releases":[{"id":"010023500EF76000","region":null}]},{"id":"42169e65-311d-4b3f-b65c-623db1822c1a","directory":"warface","title":"Warface","compatibility":99,"releases":[{"id":"0100D1E00E972000","region":null}]},{"id":"4219fd53-8a6f-4e96-830f-acc49b6d5722","directory":"arcade-archives-a-jax","title":"Arcade Archives A-JAX","compatibility":99,"releases":[{"id":"0100C240148E4000","region":null}]},{"id":"42278096-42e0-4636-81d5-6351607cd8b8","directory":"apex-legends","title":"Apex Legends™","compatibility":99,"releases":[{"id":"0100D9500FC66000","region":null}]},{"id":"4233c036-603e-49e8-919d-558134a446b2","directory":"gems-of-magic-lost-family","title":"Gems of Magic: Lost Family","compatibility":99,"releases":[{"id":"0100383012DF2000","region":null}]},{"id":"42394bba-53cf-4d64-a1ba-8b613656d951","directory":"interrogation-you-will-be-deceived","title":"Interrogation: You will be deceived","compatibility":99,"releases":[{"id":"010041501005E000","region":null}]},{"id":"42409727-05a3-41cc-8826-ce4f1cf89d47","directory":"rev-up-rc-grand-prix","title":"Rev Up! RC Grand Prix","compatibility":0,"releases":[{"id":"0100CED014550000","region":null}]},{"id":"42453b0d-7d4c-4192-8e42-fa88547aecbb","directory":"served","title":"Served!","compatibility":99,"releases":[{"id":"0100B2C00E4DA000","region":null}]},{"id":"424f096a-abff-48bf-b96e-91cb30921a9a","directory":"war-torn-dreams","title":"War-Torn Dreams","compatibility":99,"releases":[{"id":"0100563011B4A000","region":null}]},{"id":"424f92bb-fca3-4347-9467-60eac35f9a3d","directory":"retro-classix-collection-1-data-east","title":"Retro Classix Collection #1: Data East","compatibility":99,"releases":[{"id":"010049E01218C000","region":null}]},{"id":"4252dc69-e388-4a9e-a75e-0f8443861627","directory":"witch-and-hero-2","title":"Witch & Hero 2","compatibility":0,"releases":[{"id":"0100F4F00FD4E000","region":null}]},{"id":"42666021-bbd4-46ac-afb9-0400809bdc90","directory":"queens-quest-2-stories-of-forgotten-past","title":"Queen's Quest 2: Stories of Forgotten Past","compatibility":99,"releases":[{"id":"01004C400CCCA000","region":null}]},{"id":"42724e27-0773-4fd0-829c-ec07981f064d","directory":"flipon","title":"Flipon","compatibility":99,"releases":[{"id":"01007800122C8000","region":null}]},{"id":"4272fbf0-0361-4dac-bafe-84147bd1edc0","directory":"mastho-is-together","title":"Mastho is Together","compatibility":0,"releases":[{"id":"01006F50152B8000","region":null}]},{"id":"427a15f9-eb07-4531-b4e0-3b303d5e0b85","directory":"aca-neogeo-samurai-shodown-v-special","title":"ACA NEOGEO SAMURAI SHODOWN V SPECIAL","compatibility":5,"releases":[{"id":"010049F00AFE8000","region":null}]},{"id":"427e92cf-b78e-4856-8d54-7699b6d0509f","directory":"johnny-turbos-arcade-nitro-ball","title":"Johnny Turbo's Arcade: Nitro Ball","compatibility":99,"releases":[{"id":"0100D07002CD6000","region":null}]},{"id":"42a12e5f-6a06-4792-bea1-b02a7da569e1","directory":"american-fugitive","title":"American Fugitive","compatibility":1,"releases":[{"id":"010002B00C534000","region":null}]},{"id":"42ac82db-7ab9-4d17-a876-414e17e23cd3","directory":"world-cruise-story","title":"World Cruise Story","compatibility":99,"releases":[{"id":"01001CC00D522000","region":null}]},{"id":"42bc0f13-5fc5-4dbb-8efe-3e28946a27ff","directory":"octahedron-transfixed-edition-demo","title":"Octahedron: Transfixed Edition Demo","compatibility":99,"releases":[{"id":"010092D00CC12000","region":null}]},{"id":"42ccae15-130a-4cd2-bb03-51fdb5d976b6","directory":"sega-ages-shinobi","title":"SEGA AGES Shinobi","compatibility":0,"releases":[{"id":"010076800E30E000","region":null}]},{"id":"42d92306-0c6f-4945-864d-60c2b374136e","directory":"bullet-trail","title":"Bullet Trail","compatibility":99,"releases":[{"id":"010057B013CA2000","region":null}]},{"id":"42facacc-8e06-40d6-b837-d812b77cac0d","directory":"my-little-fast-food-booth","title":"My little fast food booth","compatibility":99,"releases":[{"id":"0100A27014B36000","region":null}]},{"id":"43071d1a-a193-40e3-991e-04d420518239","directory":"barrier-x","title":"BARRIER X","compatibility":0,"releases":[{"id":"01007D100F1A6000","region":null}]},{"id":"431cd89f-1843-4f77-9f43-1a0f0c0dfd8b","directory":"tank-battle-retro","title":"Tank Battle Retro","compatibility":99,"releases":[{"id":"0100401014ED8000","region":null}]},{"id":"43226300-fe6a-46e1-a1e0-481b98917ec1","directory":"ivanych-vs-eared-beast","title":"Ivanych vs Eared Beast","compatibility":99,"releases":[{"id":"01002D400CCF4000","region":null}]},{"id":"4329b92e-66f4-4c7a-b312-fe95b48da20b","directory":"fuga-melodies-of-steel","title":"Fuga: Melodies of Steel","compatibility":99,"releases":[{"id":"01000130120EE000","region":null}]},{"id":"432a5781-39e5-4919-9dcb-5525f3dd0f1f","directory":"de-blob-2","title":"de Blob 2","compatibility":1,"releases":[{"id":"010034E00A114000","region":null}]},{"id":"4336e865-0068-416a-8f19-68a19c1ba32e","directory":"aca-neogeo-street-hoop","title":"ACA NEOGEO STREET HOOP","compatibility":99,"releases":[{"id":"0100CE1004FA6000","region":null}]},{"id":"43419ec0-5a8a-4bd4-b8b0-23049dfa15b6","directory":"aca-neogeo-ghost-pilots","title":"ACA NEOGEO GHOST PILOTS","compatibility":1,"releases":[{"id":"01005D700A2F8000","region":null}]},{"id":"434fda1e-d352-423c-be20-15baef828ae5","directory":"shape-suitable","title":"SHAPE SUITABLE","compatibility":99,"releases":[{"id":"0100737015768000","region":null}]},{"id":"43528d9a-7072-4ad6-ae90-1bcd66baac1d","directory":"cubikolor","title":"Cubikolor","compatibility":5,"releases":[{"id":"010096500B018000","region":null}]},{"id":"43561796-1cbd-4191-9dbb-6a83f8193422","directory":"battle-axe","title":"Battle Axe","compatibility":0,"releases":[{"id":"0100747011890000","region":null}]},{"id":"435b5b71-aa61-473f-b89c-953e503aeed9","directory":"travel-mosaics-2-roman-holiday","title":"Travel Mosaics 2: Roman Holiday","compatibility":99,"releases":[{"id":"0100A8D010BFA000","region":null}]},{"id":"4366133d-45dd-4285-acac-19af988f0589","directory":"refreshing-sideways-puzzle-ghost-hammer","title":"Refreshing Sideways Puzzle  Ghost Hammer","compatibility":99,"releases":[{"id":"01003AA00F5C4000","region":null}]},{"id":"436a0eb3-f4bc-44f0-b548-25b7fd62b812","directory":"bleed-complete-bundle","title":"Bleed Complete Bundle","compatibility":0,"releases":[{"id":"010006001107E000","region":null}]},{"id":"436f47cb-d4c4-41bd-adca-1948ccf8f0d1","directory":"arcade-archives-guerrilla-war","title":"Arcade Archives GUERRILLA WAR","compatibility":99,"releases":[{"id":"01003F4011D34000","region":null}]},{"id":"43729d38-ef7f-4e52-ac5d-9b3db02d2bea","directory":"picross-s5","title":"PICROSS S5","compatibility":1,"releases":[{"id":"0100AC30133EC000","region":null}]},{"id":"4374711a-0d14-4339-9bc9-46b0b20032a9","directory":"elli","title":"Elli","compatibility":1,"releases":[{"id":"010073C00BDB0000","region":null}]},{"id":"43871d22-cc1d-495c-a07a-b9d13d528d73","directory":"deer-drive-legends","title":"Deer Drive Legends","compatibility":3,"releases":[{"id":"0100C8900DC54000","region":null}]},{"id":"438a9e6e-498d-4bf5-8b1b-80e26f6ce940","directory":"the-smurfs-mission-vileaf","title":"The Smurfs - Mission Vileaf","compatibility":4,"releases":[{"id":"010040A01407E000","region":null}]},{"id":"43934c3d-391e-4afa-b73f-16784b4ec191","directory":"reminiscence-in-the-night","title":"Reminiscence in the Night","compatibility":99,"releases":[{"id":"0100B9A01631E000","region":null}]},{"id":"4393a498-f804-499c-b692-0f40ba7b348d","directory":"robotics-notes-elite","title":"ROBOTICS;NOTES ELITE","compatibility":99,"releases":[{"id":"01002A900EE8A000","region":null}]},{"id":"439f4a84-37d9-499e-a6d8-974fc0637184","directory":"scourgebringer","title":"ScourgeBringer","compatibility":4,"releases":[{"id":"01005F7011950000","region":null}]},{"id":"43a67184-1ac2-4b2b-909f-f5b4528a929c","directory":"monster-sanctuary","title":"Monster Sanctuary","compatibility":0,"releases":[{"id":"0100A0F00DA68000","region":null}]},{"id":"43afb751-2063-4635-96bc-d62b18e7636a","directory":"pokemon-mystery-dungeon-rescue-team-dx","title":"Pokémon Mystery Dungeon: Rescue Team DX","compatibility":1,"releases":[{"id":"01003D200BAA2000","region":null}]},{"id":"43b3be95-274f-4a50-bdeb-90501132eb3e","directory":"pong-quest","title":"PONG Quest","compatibility":99,"releases":[{"id":"010069900FD68000","region":null}]},{"id":"43b70ab2-d73a-4e36-b7ea-947708d15713","directory":"johnny-turbos-arcade-heavy-burger","title":"Johnny Turbo's Arcade: Heavy Burger","compatibility":99,"releases":[{"id":"010060400BA9A000","region":null}]},{"id":"43c19023-b8f1-48a7-b64f-414dd7ea25da","directory":"tears-of-avia","title":"Tears of Avia","compatibility":99,"releases":[{"id":"010076E0150CC000","region":null}]},{"id":"43c64ebc-6cb8-4a5f-b1d4-396eb03d9192","directory":"atelier-ayesha-the-alchemist-of-dusk-dx","title":"Atelier Ayesha: The Alchemist of Dusk DX","compatibility":1,"releases":[{"id":"0100D9D00EE8C000","region":null}]},{"id":"43c88a89-d8f2-4b69-a8e2-c183897004d8","directory":"nairi-tower-of-shirin","title":"NAIRI: Tower of Shirin","compatibility":99,"releases":[{"id":"0100A6F00AC70000","region":null}]},{"id":"43cf0473-34d8-446d-a386-0eb56e90da8e","directory":"relic-hunters-zero-remix","title":"Relic Hunters Zero: Remix","compatibility":99,"releases":[{"id":"0100534011012000","region":null}]},{"id":"43f6780a-a209-4f41-89cf-ff967c5cdafe","directory":"super-trench-attack","title":"SUPER TRENCH ATTACK","compatibility":99,"releases":[{"id":"010079100CD8A000","region":null}]},{"id":"440f1150-18e3-44b4-a3c1-fb4a208605e5","directory":"pocket-rumble","title":"Pocket Rumble","compatibility":2,"releases":[{"id":"01007C600294E000","region":null}]},{"id":"441903d5-e8f7-431f-b80e-4804bd9574e5","directory":"wave-break","title":"Wave Break","compatibility":99,"releases":[{"id":"01006D801367E000","region":null}]},{"id":"4424ccd4-171b-4a41-9415-96f53bf93013","directory":"acalesia","title":"Acalesia","compatibility":99,"releases":[{"id":"010092E014400000","region":null}]},{"id":"442a62d3-e8f6-4917-b4a9-29a2e42f253b","directory":"art-sqool","title":"Art Sqool","compatibility":99,"releases":[{"id":"01006AA013086000","region":null}]},{"id":"442ebcab-7fff-4185-8b0e-1c435aa15b0c","directory":"crash-drive-3","title":"Crash Drive 3","compatibility":99,"releases":[{"id":"0100E2A00FA2C000","region":null}]},{"id":"4438b9bc-b6a8-4257-b82f-dc25f5f692aa","directory":"the-executioner","title":"The Executioner","compatibility":1,"releases":[{"id":"0100C2E0129A6000","region":null}]},{"id":"443daf2c-775a-4148-8cdb-7d042132be10","directory":"3-out-of-10-season-one","title":"3 out of 10: Season One","compatibility":99,"releases":[{"id":"01001AD013B16000","region":null}]},{"id":"4449fecb-ea1a-4e63-8675-e551e9738e7d","directory":"asmr-journey-jigsaw-puzzle","title":"ASMR Journey - Jigsaw Puzzle","compatibility":99,"releases":[{"id":"01001B801495A000","region":null}]},{"id":"444d40f5-ecda-4b73-85dd-ab8a34f267de","directory":"sumer","title":"Sumer","compatibility":99,"releases":[{"id":"01002DD004972000","region":null}]},{"id":"4458f2bd-d295-45a6-9066-2a0738877c8d","directory":"stardrone","title":"StarDrone","compatibility":99,"releases":[{"id":"01007D200C512000","region":null}]},{"id":"445a436d-67c5-473c-bf79-eddb5ff5f40f","directory":"bombing-busters","title":"Bombing Busters","compatibility":99,"releases":[{"id":"0100E7E00C4CA000","region":null}]},{"id":"445d4af6-e7c0-4901-8ef6-f058e0776373","directory":"ellipsis","title":"Ellipsis","compatibility":99,"releases":[{"id":"010058401223E000","region":null}]},{"id":"4462450c-d7af-4a8e-9f3c-8cbd2d277669","directory":"a-short-hike","title":"A Short Hike","compatibility":0,"releases":[{"id":"01004890117B2000","region":null}]},{"id":"446c608b-02ba-48a3-89a0-dd37c3be2b72","directory":"solitaire-klondike-minimal","title":"Solitaire Klondike Minimal","compatibility":99,"releases":[{"id":"01004AF012576000","region":null}]},{"id":"446fbe08-6b78-4b9c-907b-3f2cffb84c45","directory":"wizard-of-legend","title":"Wizard of Legend","compatibility":2,"releases":[{"id":"0100522007AAA000","region":null}]},{"id":"4476244e-ca8c-4d94-8ff5-d90720a7ba75","directory":"sphinx-and-the-cursed-mummy","title":"Sphinx and the Cursed Mummy","compatibility":5,"releases":[{"id":"0100BD500BA94000","region":null}]},{"id":"4484eac9-1fd7-4c2b-9c14-f7bef3aa05aa","directory":"disease-hidden-object-","title":"Disease -Hidden Object-","compatibility":3,"releases":[{"id":"01005E600AB64000","region":null}]},{"id":"449519fc-9eba-4e77-abd4-293b95d37f57","directory":"is-it-wrong-to-try-to-pick-up-girls-in-a-dungeon-familia-myth-infinite-combate","title":"Is It Wrong to Try to Pick Up Girls in a Dungeon? Familia Myth Infinite Combate","compatibility":1,"releases":[{"id":"010063E0104BE000","region":null}]},{"id":"44985db8-61b8-4a6c-9b10-a48c9c379330","directory":"superbeat-xonic","title":"SUPERBEAT: XONiC","compatibility":0,"releases":[{"id":"01007020044F0000","region":null}]},{"id":"44bfa7aa-3930-4b81-8a14-379d12fa232a","directory":"smilebasic-4","title":"SmileBASIC 4","compatibility":99,"releases":[{"id":"0100C9100B06A000","region":null}]},{"id":"44ccde1b-36c3-4960-931e-b543f39dd6dc","directory":"miitopia","title":"Miitopia™","compatibility":3,"releases":[{"id":"01003DA010E8A000","region":null}]},{"id":"44cec55a-9b0c-451b-a957-a1fd7e89740f","directory":"get-me-outta-here","title":"Get Me Outta Here","compatibility":2,"releases":[{"id":"01006DC00FA0A000","region":null}]},{"id":"44d3a231-daa5-4879-9e03-997a24982486","directory":"doodle-god-evolution-demo","title":"Doodle God : Evolution Demo","compatibility":99,"releases":[{"id":"0100E2700D5B6000","region":null}]},{"id":"44d76032-8223-4655-8a06-484b3619fc47","directory":"sir-lovelot","title":"Sir Lovelot","compatibility":99,"releases":[{"id":"0100E9201410E000","region":null}]},{"id":"44d99777-833f-481c-9763-c6acecd731a7","directory":"negative-the-way-of-shinobi","title":"Negative: The Way of Shinobi","compatibility":99,"releases":[{"id":"01008390136FC000","region":null}]},{"id":"44e086be-6033-4a93-b700-83ece7415afc","directory":"war-dogs-reds-return","title":"War Dogs: Red's Return","compatibility":99,"releases":[{"id":"010056901285A000","region":null}]},{"id":"44f4611c-bd54-4f52-a610-ebe1e588e6a3","directory":"in-vert","title":"IN-VERT","compatibility":99,"releases":[{"id":"010003A00EA90000","region":null}]},{"id":"44f8daf5-4613-40dd-bdf6-7e1fb8c3c71b","directory":"color-zen","title":"Color Zen","compatibility":1,"releases":[{"id":"0100CA100C0BA000","region":null}]},{"id":"44fc8048-12ce-4f97-9a85-dd23339c8c96","directory":"hyrule-warriors-definitive-edition","title":"Hyrule Warriors: Definitive Edition","compatibility":2,"releases":[{"id":"0100AE00096EA000","region":null}]},{"id":"4505b005-6936-4bd5-a843-9f71f514baf5","directory":"magical-maze","title":"Magical Maze","compatibility":99,"releases":[{"id":"01004670143D8000","region":null}]},{"id":"450af1f7-3731-4a5d-889c-ec85f1e2285f","directory":"retro-arcade-shooter-attack-from-pluto","title":"Retro Arcade Shooter - Attack from Pluto","compatibility":1,"releases":[{"id":"010067D012972000","region":null}]},{"id":"451ca35f-4fdb-4430-bfa8-3b000ab8e15c","directory":"azuran-tales-trials","title":"Azuran Tales: TRIALS","compatibility":99,"releases":[{"id":"0100C7D00DE24000","region":null}]},{"id":"451f5a30-f1dd-4bad-b212-ac7519fd561f","directory":"ziksquare","title":"ZikSquare","compatibility":4,"releases":[{"id":"010086700EF16000","region":null}]},{"id":"452778b3-679f-4cea-811b-38cac3ee172b","directory":"moto-rush-gt","title":"Moto Rush GT","compatibility":99,"releases":[{"id":"01003F200D0F2000","region":null}]},{"id":"45304549-6fc2-429c-8050-63b18c56134e","directory":"momodora-reverie-under-the-moonlight","title":"Momodora: Reverie Under the Moonlight","compatibility":5,"releases":[{"id":"01004A400C320000","region":null}]},{"id":"45371859-b537-4453-88f2-cd7cd2b7e09b","directory":"the-casino-roulette-video-poker-slot-machines-craps-baccarat","title":"The Casino -Roulette, Video Poker, Slot Machines, Craps, Baccarat-","compatibility":99,"releases":[{"id":"01002490132F2000","region":null}]},{"id":"4538aea8-f9a9-4cef-a908-0bf7cf7a7974","directory":"death-end-re-quest-2","title":"Death end re;Quest 2","compatibility":99,"releases":[{"id":"0100EB701568A000","region":null}]},{"id":"45482077-b840-4383-a2bc-d56e815eefbd","directory":"iro-hero","title":"Iro Hero","compatibility":99,"releases":[{"id":"0100D1B00A5A2000","region":null}]},{"id":"4548fd48-4683-49d3-b29e-35b085c22c20","directory":"solitaire-card-games","title":"Solitaire Card Games","compatibility":99,"releases":[{"id":"01004DB014FCE000","region":null}]},{"id":"45497fb9-910a-4554-bbe4-272c3e5ec76b","directory":"nice-slice","title":"Nice Slice","compatibility":99,"releases":[{"id":"0100EDD00D530000","region":null}]},{"id":"455adce6-b758-4d6a-bee6-6a0af09f1e4f","directory":"puzzle-quest-the-legend-returns","title":"Puzzle Quest: The Legend Returns","compatibility":0,"releases":[{"id":"0100B2900DF20000","region":null}]},{"id":"455b7af2-007e-45dc-aabe-62c192973e1e","directory":"jump-king","title":"Jump King","compatibility":1,"releases":[{"id":"01003D601014A000","region":null}]},{"id":"456c6bd6-dc92-4421-82e9-cee478af83ea","directory":"jotun-valhalla-edition","title":"Jotun: Valhalla Edition","compatibility":1,"releases":[{"id":"0100340009736000","region":null}]},{"id":"456e0738-aba9-42ec-a60e-ec4c966804c4","directory":"golf-with-your-friends","title":"Golf With Your Friends","compatibility":1,"releases":[{"id":"01006FB00EBE0000","region":null}]},{"id":"4571c63a-fbb0-44db-934f-56424b3e4d6d","directory":"sol-divide-sword-of-darkness-for-nintendo-switch","title":"SOL DIVIDE -SWORD OF DARKNESS- for Nintendo Switch","compatibility":99,"releases":[{"id":"0100590009C38000","region":null}]},{"id":"4575d2b6-bb53-4745-b081-7d591cabc0ab","directory":"treasures-of-the-aegean","title":"Treasures of the Aegean","compatibility":1,"releases":[{"id":"0100769015806000","region":null}]},{"id":"4581a8fb-45f0-4b84-a417-2b1e4d4c857a","directory":"bloody-rally-show","title":"Bloody Rally Show","compatibility":99,"releases":[{"id":"010073F015150000","region":null}]},{"id":"458607f2-f8ca-4db3-aace-fec8cd21e502","directory":"star-wars-knights-of-the-old-republic","title":"STAR WARS™: Knights of the Old Republic™","compatibility":2,"releases":[{"id":"0100854015868000","region":null}]},{"id":"458778cf-548e-4499-9f6c-0da09347ae1a","directory":"ben-10-power-trip","title":"Ben 10: Power Trip!","compatibility":5,"releases":[{"id":"01009CD00E3AA000","region":null}]},{"id":"45888fcc-73ec-4361-90f9-08617462a252","directory":"poltergeist-crusader","title":"Poltergeist Crusader","compatibility":99,"releases":[{"id":"01006DA013562000","region":null}]},{"id":"458e7aa1-acab-4162-92bb-34a4f8df3f33","directory":"risk-r-global-domination-demo","title":"RISK® Global Domination - Demo","compatibility":99,"releases":[{"id":"010068200BF14000","region":null}]},{"id":"45991e27-5f7f-492e-aa34-809ac1acb249","directory":"battle-supremacy","title":"Battle Supremacy","compatibility":3,"releases":[{"id":"01003B300B568000","region":null}]},{"id":"45a23375-4609-480c-a8fe-de0e149d0483","directory":"work-trip","title":"Work Trip","compatibility":99,"releases":[{"id":"0100DA801614A000","region":null}]},{"id":"45c63b8e-ed9d-4004-8723-6a284f5e63f0","directory":"mana-spark","title":"Mana Spark","compatibility":99,"releases":[{"id":"01005A700CC3C000","region":null}]},{"id":"45e44a97-6a71-4993-b467-8f1a8281c0ee","directory":"cartoon-network-battle-crashers","title":"Cartoon Network: Battle Crashers","compatibility":3,"releases":[{"id":"010010B003A26000","region":null}]},{"id":"45f3d7b7-58ca-47b4-8733-2e8c4ba6a711","directory":"arcade-archives-darwin-4078","title":"Arcade Archives DARWIN 4078","compatibility":99,"releases":[{"id":"0100BBB014CC0000","region":null}]},{"id":"45fea49a-4351-421b-8853-ab87d6cec33e","directory":"race-track-driver","title":"Race Track Driver","compatibility":0,"releases":[{"id":"0100E33015A32000","region":null}]},{"id":"4601db33-8801-4df1-8fbe-c0970d3d9f59","directory":"beat-cop","title":"Beat Cop","compatibility":4,"releases":[{"id":"01009C300BB4C000","region":null}]},{"id":"4605bf08-08bf-449f-8f78-ab021781f070","directory":"little-kite","title":"Little Kite","compatibility":99,"releases":[{"id":"010034F013552000","region":null}]},{"id":"461bd541-e2bf-48c5-a34e-74e5dea56bdb","directory":"faeria","title":"Faeria","compatibility":99,"releases":[{"id":"010069100DB08000","region":null}]},{"id":"4620bc74-33a6-46ce-a5f5-9c1f24210616","directory":"pixel-puzzle-makeout-league","title":"Pixel Puzzle Makeout League","compatibility":2,"releases":[{"id":"010000E00E612000","region":null}]},{"id":"4635ae9b-90b9-41a0-aa8f-46ad84930442","directory":"liberated-enhanced-edition","title":"Liberated: Enhanced Edition","compatibility":2,"releases":[{"id":"01003A90133A6000","region":null}]},{"id":"464302f0-87c5-4b43-b68a-2b40cdbe6825","directory":"agent-a-a-puzzle-in-disguise","title":"Agent A: A puzzle in disguise","compatibility":0,"releases":[{"id":"010005400A45E000","region":null}]},{"id":"464373a0-c0a2-4d86-9575-0471a122db3c","directory":"chalk-dash-carnival","title":"Chalk Dash Carnival","compatibility":99,"releases":[{"id":"010000A00CA78000","region":null}]},{"id":"46509a0d-18c7-401a-b433-896ca807d963","directory":"pac-man-championship-edition-2-plus","title":"PAC-MAN CHAMPIONSHIP EDITION 2 PLUS","compatibility":2,"releases":[{"id":"010024C001224000","region":null}]},{"id":"46599e47-6c85-47ed-8b1a-3a5251007654","directory":"fire-water","title":"Fire & Water","compatibility":99,"releases":[{"id":"0100F4E013AAE000","region":null}]},{"id":"4662484b-4d8e-443b-9621-8e389ef16bb8","directory":"pure-electric-love-look-at-my-eyes-moe-yamauchi-","title":"Pure / Electric Love \"Look at my eyes!\" - Moe Yamauchi -","compatibility":5,"releases":[{"id":"010009000AC2A000","region":null}]},{"id":"46657fad-116d-4bd8-a152-26e8b7a8b9c8","directory":"motogp-20","title":"MotoGP™20","compatibility":3,"releases":[{"id":"01001FA00FBBC000","region":null}]},{"id":"468309c6-a980-4fb3-a799-ba96352940a5","directory":"cube-samurai-run-squared","title":"Cube Samurai: Run Squared","compatibility":99,"releases":[{"id":"010018E0159BA000","region":null}]},{"id":"46847e22-c23d-4ab8-89df-bacda722fc6d","directory":"extreme-race","title":"Extreme Race","compatibility":99,"releases":[{"id":"0100386016194000","region":null}]},{"id":"469ae9d8-a145-43b2-b0bb-441b98d55401","directory":"danganronpa-v3-killing-harmony-anniversary-edition","title":"Danganronpa V3: Killing Harmony Anniversary Edition","compatibility":99,"releases":[{"id":"010063F014176000","region":null}]},{"id":"46a424f3-2996-4872-ac04-92334e26fe62","directory":"instant-sports-winter-games","title":"Instant Sports Winter Games","compatibility":99,"releases":[{"id":"0100833014F3A000","region":null}]},{"id":"46a8e4f9-dd8b-4ce1-8830-96aeb1563e47","directory":"no-thing","title":"NO THING","compatibility":99,"releases":[{"id":"0100F7D00A1BC000","region":null}]},{"id":"46adfd96-ba00-4d14-b22c-7d620e0ca9a4","directory":"bloody-bunny-the-game","title":"Bloody Bunny, The Game","compatibility":99,"releases":[{"id":"0100E510143EC000","region":null}]},{"id":"46b4f09c-f4b3-400b-80c0-b9c0ae88f8a4","directory":"myths-of-orion-light-from-the-north","title":"Myths of Orion: Light from the North","compatibility":99,"releases":[{"id":"010065E011D5C000","region":null}]},{"id":"46b5b447-3187-4e21-87ef-c6e795cc9a39","directory":"desktop-bowling","title":"Desktop Bowling","compatibility":99,"releases":[{"id":"0100FF800EC2E000","region":null}]},{"id":"46cd55ad-5b8f-4221-8c6f-45b2219fea62","directory":"a-knights-quest","title":"A Knight's Quest","compatibility":2,"releases":[{"id":"01005EF00CFDA000","region":null}]},{"id":"46d88ccd-b56c-4ad9-aaf0-e2963bddfc37","directory":"magical-girls","title":"Magical Girls","compatibility":0,"releases":[{"id":"0100461013AAA000","region":null}]},{"id":"46df785c-8b8e-4f17-969d-455c624edc66","directory":"the-inner-world","title":"The Inner World","compatibility":0,"releases":[{"id":"0100B0B00B318000","region":null}]},{"id":"46f5c3f1-00e8-4040-86e1-5e74fc7e04fd","directory":"mail-mole","title":"Mail Mole","compatibility":99,"releases":[{"id":"01009940140D8000","region":null}]},{"id":"46f5e0cf-70f7-49e9-8943-df32b953f89a","directory":"clea","title":"Clea","compatibility":0,"releases":[{"id":"010058900F52E000","region":null}]},{"id":"46feff0f-8073-4cb6-bcfa-ce22fb3573df","directory":"demon-hunter-revelation","title":"Demon Hunter: Revelation","compatibility":2,"releases":[{"id":"0100BF7013AE2000","region":null}]},{"id":"4717c513-6645-4191-b02a-fa69e7e11768","directory":"aquatic-rampage","title":"Aquatic Rampage","compatibility":99,"releases":[{"id":"01002370153E0000","region":null}]},{"id":"4719c66b-e419-46b1-835e-b5e0a3201fe2","directory":"pokemon-unite","title":"Pokémon UNITE","compatibility":4,"releases":[{"id":"0100939011ED4000","region":null}]},{"id":"4732cb39-0b1e-40a1-8a88-acb44953be01","directory":"project-triangle-strategy-debut-demo","title":"Project TRIANGLE STRATEGY™ Debut Demo","compatibility":1,"releases":[{"id":"01002980140F6000","region":null}]},{"id":"4733b07f-a4c3-4531-8af2-628521d52df9","directory":"musynx","title":"MUSYNX","compatibility":1,"releases":[{"id":"01007B6006092000","region":null}]},{"id":"473af39c-1d8c-4e80-a00f-7d8b1bf6b610","directory":"terratech","title":"TerraTech","compatibility":99,"releases":[{"id":"010096400CBC6000","region":null}]},{"id":"4746ea2b-bc58-48d6-8fad-b1061827be1e","directory":"zoo-dentist","title":"Zoo Dentist","compatibility":99,"releases":[{"id":"0100CC80152C4000","region":null}]},{"id":"47480e8e-b779-488a-89d2-501a720da4b1","directory":"danganronpa-trigger-happy-havoc-anniversary-edition","title":"Danganronpa: Trigger Happy Havoc Anniversary Edition","compatibility":99,"releases":[{"id":"0100812014172000","region":null}]},{"id":"475b9397-7500-47be-87ad-58e9391271f9","directory":"monster-harvest","title":"Monster Harvest","compatibility":3,"releases":[{"id":"01004E001256A000","region":null}]},{"id":"4764790e-2b63-4220-acae-64996d725a07","directory":"kropki-8","title":"Kropki 8","compatibility":99,"releases":[{"id":"010070C011E2A000","region":null}]},{"id":"47712e97-ded3-4407-9d2a-8ea5834da22f","directory":"rune-factory-4-special","title":"Rune Factory 4 Special","compatibility":1,"releases":[{"id":"010051D00E3A4000","region":null}]},{"id":"477b9bd1-14a1-4da1-889b-40bb1df66763","directory":"dark-veer","title":"Dark Veer","compatibility":99,"releases":[{"id":"01007FB00FC5E000","region":null}]},{"id":"477cd89b-d34e-44d7-8f1e-7ec5f085b04c","directory":"pikuniku","title":"Pikuniku","compatibility":0,"releases":[{"id":"010097D006DEA000","region":null}]},{"id":"47830a59-e435-49af-b64c-0857c353e54d","directory":"into-a-dream","title":"Into A Dream","compatibility":99,"releases":[{"id":"0100E12013D74000","region":null}]},{"id":"4786c7ea-97e3-4c67-9c81-19b2606b8705","directory":"throne-quest-deluxe","title":"Throne Quest Deluxe","compatibility":0,"releases":[{"id":"010070800EC56000","region":null}]},{"id":"47a55b2c-09f5-446f-b21d-7e83669fb5c2","directory":"plastic-rebellion","title":"Plastic Rebellion","compatibility":99,"releases":[{"id":"0100C7D014BBA000","region":null}]},{"id":"47c45653-0bdb-47d0-81ff-99b1c731b19a","directory":"logscape-puzzle-game","title":"LogScape - Puzzle Game","compatibility":99,"releases":[{"id":"0100A03015C16000","region":null}]},{"id":"47f9cc77-4c42-4ccc-b9f2-6282d97f0a45","directory":"atelier-meruru-~the-apprentice-of-arland~-dx","title":"Atelier Meruru ~The Apprentice of Arland~ DX","compatibility":3,"releases":[{"id":"0100ADD00C6FA000","region":null}]},{"id":"4818680c-654f-4c78-ae33-71973e71e676","directory":"chained","title":"Chained","compatibility":99,"releases":[{"id":"01000B9011596000","region":null}]},{"id":"481a75b8-3030-4804-82f7-9d0933d0f383","directory":"mother-russia-bleeds","title":"Mother Russia Bleeds","compatibility":0,"releases":[{"id":"0100D9C00AA52000","region":null}]},{"id":"482f53fb-f46e-47e2-9d86-5e2996d2df33","directory":"crocs-world-3","title":"Croc's World 3","compatibility":1,"releases":[{"id":"010025200FC54000","region":null}]},{"id":"482ff01e-084e-40bb-97ed-e10a6e53f833","directory":"puzzle-herder","title":"Puzzle Herder","compatibility":99,"releases":[{"id":"010099100E03C000","region":null}]},{"id":"48331247-5269-4842-b159-67ac2c97cdf3","directory":"offroad-racing-buggy-x-atv-x-moto","title":"Offroad Racing - Buggy X ATV X Moto","compatibility":1,"releases":[{"id":"01003CD00E8BC000","region":null}]},{"id":"48346d23-a19f-407b-9af0-220084544710","directory":"ghost-elisa-cameron","title":"Ghost: Elisa Cameron","compatibility":99,"releases":[{"id":"0100E46014A32000","region":null}]},{"id":"48369355-bb83-4d6e-8743-59c38bc02542","directory":"trax-build-it-race-it","title":"Trax - Build it Race it","compatibility":99,"releases":[{"id":"01004C200ADA0000","region":null}]},{"id":"48370116-0b28-4b94-af3a-eb6e47537d28","directory":"jamestown","title":"Jamestown+","compatibility":2,"releases":[{"id":"010000100C4B8000","region":null}]},{"id":"4840a43c-e481-4cc5-a89e-ac48b9fedf14","directory":"taxi-driver-the-simulation","title":"Taxi Driver - The Simulation","compatibility":99,"releases":[{"id":"010073A010430000","region":null}]},{"id":"484ae2ef-89e1-4681-81e0-7ca436a6d859","directory":"dungeon-village","title":"Dungeon Village","compatibility":99,"releases":[{"id":"010016700BCD4000","region":null}]},{"id":"484fb5e3-9a08-4689-8435-c5419471d46f","directory":"devil-slayer-raksasi","title":"Devil Slayer Raksasi","compatibility":3,"releases":[{"id":"01003C900EFF6000","region":null}]},{"id":"4850ee78-b43a-4b65-8967-37b0b0535e34","directory":"this-strange-realm-of-mine","title":"This Strange Realm Of Mine","compatibility":99,"releases":[{"id":"0100C7C00F77C000","region":null}]},{"id":"485a1b57-24e6-4be1-9952-149dc4230e69","directory":"links-puzzle","title":"Links Puzzle","compatibility":99,"releases":[{"id":"010054F015D5C000","region":null}]},{"id":"485a7bbf-d362-4b51-b958-227610e94721","directory":"the-talos-principle-deluxe-edition","title":"The Talos Principle: Deluxe Edition","compatibility":4,"releases":[{"id":"010092A00D43C000","region":null}]},{"id":"4863bbc9-4311-4dc1-b961-e4c6c1975ef1","directory":"golazo","title":"Golazo!","compatibility":1,"releases":[{"id":"010013800F0A4000","region":null}]},{"id":"4869c967-031e-4544-8f1c-b4fe1f02b459","directory":"sweets-swap-classic","title":"Sweets Swap Classic","compatibility":99,"releases":[{"id":"01006DE016788000","region":null}]},{"id":"486f72a2-8bba-4138-9508-5f079ee0d334","directory":"unavowed","title":"Unavowed","compatibility":99,"releases":[{"id":"0100C18014DC0000","region":null}]},{"id":"487b7497-94a9-4ac7-bb24-01b0de85850c","directory":"food-truck-tycoon","title":"Food Truck Tycoon","compatibility":1,"releases":[{"id":"0100F3900D0F0000","region":null}]},{"id":"487cd274-bc95-4ca4-b4d9-ff7e752118b5","directory":"achtung-cthulhu-tactics","title":"Achtung! Cthulhu Tactics","compatibility":99,"releases":[{"id":"010079B00B3F4000","region":null}]},{"id":"48821cee-f50a-4f8b-a133-65daf6af90d3","directory":"demons-tier","title":"Demon's Tier+","compatibility":3,"releases":[{"id":"0100161011458000","region":null}]},{"id":"4889544a-a149-4d22-9d44-5daa1c854f9e","directory":"wonder-blade","title":"Wonder Blade","compatibility":99,"releases":[{"id":"010037A00F5E2000","region":null}]},{"id":"488c5e50-91a3-425b-910f-bd51543138a4","directory":"shiro","title":"Shiro","compatibility":99,"releases":[{"id":"0100244016BAE000","region":null}]},{"id":"48957471-aae1-46c2-909a-dc68a8deabbf","directory":"kitty-love-way-to-look-for-love-","title":"Kitty Love -Way to look for love-","compatibility":1,"releases":[{"id":"0100EAE00BE4A000","region":null}]},{"id":"489be885-0b37-431c-8cb1-9fd1a3eee228","directory":"brawl-chess","title":"Brawl Chess","compatibility":1,"releases":[{"id":"010068F00F444000","region":null}]},{"id":"48a7a027-9eca-4992-9136-43bf61e0462b","directory":"dark-witch-music-episode-rudymical-demo","title":"Dark Witch Music Episode: Rudymical Demo","compatibility":0,"releases":[{"id":"010047A008760000","region":null}]},{"id":"48b27fef-fee4-4bf1-bd68-5f1dba93cc37","directory":"zombieland-double-tap-road-trip","title":"Zombieland: Double Tap - Road Trip","compatibility":99,"releases":[{"id":"010004D00D32A000","region":null}]},{"id":"48b32db3-5a59-4aaa-ad0b-274468cecc4b","directory":"super-bomberman-r","title":"Super Bomberman R","compatibility":2,"releases":[{"id":"01007AD00013E000","region":null}]},{"id":"48c61045-6f9e-4fad-9e12-b94fa66aa084","directory":"spelunky-2","title":"Spelunky 2","compatibility":1,"releases":[{"id":"01007EC013ABC000","region":null}]},{"id":"48d015bb-4a94-4d13-8d0f-51a7ba59b389","directory":"castle-heroes","title":"Castle Heroes","compatibility":0,"releases":[{"id":"0100632014A12000","region":null}]},{"id":"48e9e213-fb46-4317-86a1-97c30f9553da","directory":"miracle-snack-shop","title":"Miracle Snack Shop","compatibility":1,"releases":[{"id":"0100B4C014466000","region":null}]},{"id":"48f09685-1ca8-42b9-ac18-e2a2026bf2e9","directory":"solseraph","title":"SolSeraph","compatibility":3,"releases":[{"id":"010077600BE3A000","region":null}]},{"id":"48ff5c8f-6dbb-4898-a6ce-50e3b2ad4464","directory":"jelly-champs","title":"Jelly Champs!","compatibility":99,"releases":[{"id":"010019D012018000","region":null}]},{"id":"490154a0-9610-402e-af54-098582090473","directory":"ary-and-the-secret-of-seasons","title":"Ary and the Secret of Seasons","compatibility":1,"releases":[{"id":"0100C2500CAB6000","region":null}]},{"id":"4913abbf-1e92-40c9-b823-2efe53e2b14e","directory":"deadlings","title":"Deadlings","compatibility":99,"releases":[{"id":"0100DDE00E81A000","region":null}]},{"id":"4929a773-da00-4949-afe8-b4e54e1630b8","directory":"peace-death-complete-edition","title":"Peace, Death! Complete Edition","compatibility":99,"releases":[{"id":"010069300C90A000","region":null}]},{"id":"4932c39b-45f6-4c57-a391-fb14a063f4a3","directory":"mmc-kenken-the-worlds-most-exciting-math-and-logic-puzzle","title":"MMC KENKEN - The World's Most Exciting Math and Logic Puzzle -","compatibility":99,"releases":[{"id":"0100136015456000","region":null}]},{"id":"49359c31-0001-4f70-8129-9f4a64d2d4db","directory":"last-stop","title":"Last Stop","compatibility":99,"releases":[{"id":"0100FBF014064000","region":null}]},{"id":"493a3532-f4cf-4437-9a37-b9843e3811d7","directory":"death-ray-manta-se","title":"Death Ray Manta SE","compatibility":1,"releases":[{"id":"0100F11012BC2000","region":null}]},{"id":"493e6ced-ba08-442a-8537-c24686982795","directory":"factotum-90","title":"Factotum 90","compatibility":2,"releases":[{"id":"0100BD6010638000","region":null}]},{"id":"4940e3c0-52d4-46d6-812a-8b64b8d0ce98","directory":"doug-hates-his-job","title":"Doug Hates His Job","compatibility":99,"releases":[{"id":"0100A14013B1E000","region":null}]},{"id":"49417f12-f786-45da-b1ab-09c07ac96b44","directory":"standby","title":"STANDBY","compatibility":0,"releases":[{"id":"0100FF500E668000","region":null}]},{"id":"494c30c4-e813-4e6a-8c4b-6f4ca2f0f11f","directory":"guards","title":"Guards","compatibility":99,"releases":[{"id":"010061401498C000","region":null}]},{"id":"494f0525-6d49-4458-b3bd-9e2cd2420ead","directory":"saboteur","title":"Saboteur!","compatibility":0,"releases":[{"id":"0100F6F00B9E8000","region":null}]},{"id":"494f2034-3d5e-4a7f-97f8-ff6af856b1db","directory":"12-labours-of-hercules-ii-the-cretan-bull","title":"12 Labours of Hercules II: The Cretan Bull","compatibility":3,"releases":[{"id":"0100B1A010014000","region":null}]},{"id":"4954521f-759c-4210-93bd-f4f4e5bfee06","directory":"warhammer-quest-2-the-end-times","title":"Warhammer Quest 2: The End Times","compatibility":0,"releases":[{"id":"01002FF00F460000","region":null}]},{"id":"495b0d1b-b343-4b32-9a65-4894891b6f84","directory":"scheming-through-the-zombie-apocalypse-the-beginning","title":"Scheming Through The Zombie Apocalypse: The Beginning","compatibility":99,"releases":[{"id":"0100AE300F5B4000","region":null}]},{"id":"495c5336-dc9f-46b8-bced-4ba6a0417982","directory":"we-are-doomed","title":"WE ARE DOOMED","compatibility":99,"releases":[{"id":"01000F101286A000","region":null}]},{"id":"49690765-86de-493a-ad02-9e39679ebcb1","directory":"haustoria","title":"Haustoria","compatibility":99,"releases":[{"id":"0100077016288000","region":null}]},{"id":"4974a2e7-6dee-4ca2-8ac8-fae2d5c6b37f","directory":"aca-neogeo-real-bout-fatal-fury-special","title":"ACA NEOGEO REAL BOUT FATAL FURY SPECIAL","compatibility":2,"releases":[{"id":"010088500878C000","region":null}]},{"id":"497c7f99-b643-486a-986f-a1fad85f9dbb","directory":"black-future-88","title":"Black Future '88","compatibility":99,"releases":[{"id":"010049000B69E000","region":null}]},{"id":"498ea669-7199-4a92-bfd4-12afc83d3f9e","directory":"tennis-in-the-face","title":"Tennis in the Face","compatibility":4,"releases":[{"id":"01002970080AA000","region":null}]},{"id":"4990b351-ee3a-4b7b-b22d-1aa49338b30d","directory":"stay-safe","title":"Stay Safe","compatibility":99,"releases":[{"id":"0100FD40102A6000","region":null}]},{"id":"49955f50-308b-4ef8-8b41-a61b03ea33ef","directory":"genetic-disaster","title":"Genetic Disaster","compatibility":1,"releases":[{"id":"010014901144C000","region":null}]},{"id":"49971a07-dc64-4bbf-8dbb-9adf12488c14","directory":"puzzle-frenzy","title":"Puzzle Frenzy","compatibility":99,"releases":[{"id":"0100093016CEE000","region":null}]},{"id":"49b527ac-45c7-46ef-bb87-559ad3927629","directory":"when-ski-lifts-go-wrong","title":"When Ski Lifts Go Wrong","compatibility":99,"releases":[{"id":"01009AD00BFD0000","region":null}]},{"id":"49bb82c3-bc40-4bf8-a3bd-db2c54c7e600","directory":"lucid-cycle","title":"Lucid Cycle","compatibility":99,"releases":[{"id":"0100055015A82000","region":null}]},{"id":"49c098e1-a563-4e96-a536-dacf5c3a4d79","directory":"return-of-the-obra-dinn","title":"Return of the Obra Dinn","compatibility":1,"releases":[{"id":"010032E00E6E2000","region":null}]},{"id":"49c5ef87-66b4-4a28-9aaa-cac123d70ae4","directory":"terra-lander","title":"Terra Lander","compatibility":99,"releases":[{"id":"01002C80145EA000","region":null}]},{"id":"49d31917-7f55-4e19-9c10-0f20a5001856","directory":"our-two-bedroom-story","title":"Our Two Bedroom Story","compatibility":3,"releases":[{"id":"010097F010FE6000","region":null}]},{"id":"49d61968-d27a-4781-9643-3197356813a7","directory":"paperball-deluxe","title":"Paperball Deluxe","compatibility":99,"releases":[{"id":"0100A24012374000","region":null}]},{"id":"49daa5ca-9b34-4468-9a44-b96d1092b360","directory":"monster-energy-supercross-the-official-videogame","title":"Monster Energy Supercross - The Official Videogame","compatibility":4,"releases":[{"id":"0100742007266000","region":null}]},{"id":"49e4b4bb-251f-4992-8c79-45f4654abdea","directory":"capes-escape-game-4th-room","title":"Cape’s Escape Game 4th Room","compatibility":99,"releases":[{"id":"0100FD20162F0000","region":null}]},{"id":"49e88722-54ed-4147-85b5-c49c8e6a5001","directory":"hike","title":"Hike","compatibility":99,"releases":[{"id":"0100E9C014932000","region":null}]},{"id":"49eb8b17-5d64-4017-a46c-8918ce2c60fe","directory":"the-legend-of-the-blue-warrior","title":"The Legend Of The Blue Warrior","compatibility":99,"releases":[{"id":"0100C13012F8E000","region":null}]},{"id":"49ef1c8d-7ffd-42bf-babc-7f0379b0fe43","directory":"nba-2k21","title":"NBA 2K21","compatibility":5,"releases":[{"id":"0100E24011D1E000","region":null}]},{"id":"49f02b03-61e3-44bc-aa6a-b6514f4386d3","directory":"quadle","title":"Quadle","compatibility":99,"releases":[{"id":"010080B00D8D4000","region":null}]},{"id":"4a070317-2eea-43d8-a394-1af7b77708bf","directory":"baobabs-mausoleum-ep3-un-pato-en-muertoburgo","title":"Baobabs Mausoleum Ep.3: Un Pato en Muertoburgo","compatibility":99,"releases":[{"id":"01006D300FFA6000","region":null}]},{"id":"4a18a35a-8d58-4dc2-8935-9fe3b0ed7bb5","directory":"yestermorrow","title":"YesterMorrow","compatibility":2,"releases":[{"id":"010076B0101A0000","region":null}]},{"id":"4a21f603-7d3e-4c94-8868-a09506cc4a82","directory":"arcade-archives-swimmer","title":"Arcade Archives SWIMMER","compatibility":99,"releases":[{"id":"01001620143BC000","region":null}]},{"id":"4a2baa2d-027a-44c1-831b-8c085d4c2de2","directory":"spinnys-journey","title":"Spinny's Journey","compatibility":1,"releases":[{"id":"01001E40136FE000","region":null}]},{"id":"4a3909aa-f239-4b27-8945-6cb34054e59c","directory":"tested-on-humans-escape-room","title":"Tested on Humans: Escape Room","compatibility":99,"releases":[{"id":"01006F701507A000","region":null}]},{"id":"4a3b6d10-8e29-432c-8674-0f684263f382","directory":"world-of-tanks-blitz","title":"World of Tanks Blitz","compatibility":99,"releases":[{"id":"0100DA501160C000","region":null}]},{"id":"4a3e2505-707f-4d04-9638-4f1da5bcc9d3","directory":"zombie-night-terror","title":"Zombie Night Terror","compatibility":99,"releases":[{"id":"01004F900B838000","region":null}]},{"id":"4a47a83c-bbca-4e73-8474-1602dd9125a3","directory":"poisoft-thud-card","title":"Poisoft Thud Card","compatibility":99,"releases":[{"id":"0100DCE009732000","region":null}]},{"id":"4a4e59d7-7778-4849-9749-19cce45d9854","directory":"alien-escape","title":"Alien Escape","compatibility":0,"releases":[{"id":"0100C1500DBDE000","region":null}]},{"id":"4a504a95-3314-4aaa-95ed-ae5ccfc12e0f","directory":"unreal-life","title":"UNREAL LIFE","compatibility":99,"releases":[{"id":"0100A06011A48000","region":null}]},{"id":"4a5094c5-6d65-4bbf-9eda-ce7648368b74","directory":"animated-jigsaws-beautiful-japanese-scenery-demo","title":"Animated Jigsaws: Beautiful Japanese Scenery Demo","compatibility":99,"releases":[{"id":"0100A1900B5B8000","region":null}]},{"id":"4a63b57c-4048-499a-bf9e-589daae2faf2","directory":"promesa","title":"Promesa","compatibility":99,"releases":[{"id":"010052F0149C8000","region":null}]},{"id":"4a777875-920f-42ca-86cf-5bdb7557be84","directory":"famicom-detective-club-the-girl-who-stands-behind","title":"Famicom Detective Club™: The Girl Who Stands Behind","compatibility":0,"releases":[{"id":"0100D670126F6000","region":null}]},{"id":"4a84757c-8a1e-4936-b515-8be852b55452","directory":"umurangi-generation-special-edition","title":"Umurangi Generation Special Edition","compatibility":99,"releases":[{"id":"0100CA3014ADE000","region":null}]},{"id":"4aa0f2bd-92cc-4752-a0a0-3c70fb226d88","directory":"beast-quest","title":"Beast Quest","compatibility":99,"releases":[{"id":"01001EB00E9FE000","region":null}]},{"id":"4ad2acb8-ee8d-453a-8e52-3a284dcf7ce0","directory":"firefighters-airport-fire-department","title":"Firefighters: Airport Fire Department","compatibility":3,"releases":[{"id":"0100BB1009E50000","region":null}]},{"id":"4ad3c8e0-7390-49c1-af77-8b970c707744","directory":"one-more-dungeon-demo","title":"One More Dungeon Demo","compatibility":99,"releases":[{"id":"01003AE00A872000","region":null}]},{"id":"4ad5583e-ca44-4287-9934-c2be7e8862b7","directory":"steinsgate-elite","title":"STEINS;GATE ELITE","compatibility":2,"releases":[{"id":"010042800B880000","region":null}]},{"id":"4adf0369-6aca-4044-a1c9-cff41ac7712b","directory":"katana-kata","title":"Katana Kata","compatibility":99,"releases":[{"id":"01002E1013C3E000","region":null}]},{"id":"4ae33f14-10bb-432d-9301-278501dd20f2","directory":"marvel-ultimate-alliance-3-the-black-order","title":"MARVEL ULTIMATE ALLIANCE 3: The Black Order","compatibility":2,"releases":[{"id":"010060700AC50000","region":null}]},{"id":"4af0ffe2-867c-4462-9e07-f5361adc7ff2","directory":"root","title":"Root","compatibility":99,"releases":[{"id":"01000AF01518A000","region":null}]},{"id":"4afd7898-1d4d-4dae-80c3-a141ae4a5e4b","directory":"plague-road","title":"Plague Road","compatibility":99,"releases":[{"id":"0100FF8005EB2000","region":null}]},{"id":"4b07b75f-3a15-4e64-bfaa-a00617418e40","directory":"remilore","title":"RemiLore","compatibility":1,"releases":[{"id":"010095900B436000","region":null}]},{"id":"4b1310a3-9d02-4075-a200-b03315ac5a0a","directory":"slime-san","title":"Slime-san","compatibility":99,"releases":[{"id":"0100112003B8A000","region":null}]},{"id":"4b1e033f-85ef-4ea3-a589-c24c36442d9e","directory":"family-mysteries-poisonous-promises","title":"Family Mysteries: Poisonous Promises","compatibility":1,"releases":[{"id":"0100034012606000","region":null}]},{"id":"4b27e5d2-1aca-4b28-aec2-1b56961158b4","directory":"aca-neogeo-the-king-of-fighters-98","title":"ACA NEOGEO THE KING OF FIGHTERS '98","compatibility":2,"releases":[{"id":"0100B42001DB4000","region":null}]},{"id":"4b2a4e3a-1236-4624-a62d-74df0d547fbe","directory":"aca-neogeo-king-of-the-monsters","title":"ACA NEOGEO KING OF THE MONSTERS","compatibility":99,"releases":[{"id":"0100B1300871A000","region":null}]},{"id":"4b303933-f24d-4cdf-90fb-bd424f31f9ea","directory":"mahjong-masters","title":"Mahjong Masters","compatibility":99,"releases":[{"id":"0100DD9015E44000","region":null}]},{"id":"4b5d88b0-34cf-4e6f-b433-2c07de8c2e50","directory":"adventures-of-bertram-fiddle-episode-2-a-bleaker-predicklement","title":"Adventures of Bertram Fiddle Episode 2: A Bleaker Predicklement","compatibility":99,"releases":[{"id":"010021F00C1C0000","region":null}]},{"id":"4b68bf70-7480-491d-86a1-c8eb4dce2f15","directory":"bouncy-bob-2","title":"Bouncy Bob 2","compatibility":99,"releases":[{"id":"010081100FE08000","region":null}]},{"id":"4b6aabbf-14c9-4699-ab1d-0d4dff79db48","directory":"garage","title":"Garage","compatibility":1,"releases":[{"id":"01000FA00A4E4000","region":null}]},{"id":"4b6b7c72-e01b-4b1b-9c00-849f3c88b27f","directory":"103","title":"103","compatibility":99,"releases":[{"id":"0100264012980000","region":null}]},{"id":"4b8034a7-a85f-4efa-a55c-e9c91b3edc38","directory":"deemo-reborn","title":"DEEMO -Reborn-","compatibility":99,"releases":[{"id":"01008B10132A2000","region":null}]},{"id":"4b8150e3-a969-4cb9-901f-c10c3a169d7f","directory":"dead-cells","title":"Dead Cells","compatibility":1,"releases":[{"id":"0100646009FBE000","region":null}]},{"id":"4b81587e-c09c-46d4-9c56-d72e0a2d38b9","directory":"spyhack","title":"SpyHack","compatibility":99,"releases":[{"id":"01005D701264A000","region":null}]},{"id":"4ba012c0-6d64-44cb-875f-d0212bf9ed77","directory":"chromagun","title":"ChromaGun","compatibility":0,"releases":[{"id":"010039A008E76000","region":null}]},{"id":"4bb1fb6d-fe23-43af-9ba6-21a190ab3cab","directory":"match-three-pirates-ii","title":"Match Three Pirates II","compatibility":99,"releases":[{"id":"010090C016EE4000","region":null}]},{"id":"4bbed6de-19a0-45ae-8009-76d0d3023851","directory":"arkan-the-dog-adventurer","title":"Arkan: The dog adventurer","compatibility":99,"releases":[{"id":"0100C4A014766000","region":null}]},{"id":"4bcec22b-b7da-47b5-a3ed-b1b781e7a209","directory":"instant-sports-paradise","title":"Instant Sports Paradise","compatibility":1,"releases":[{"id":"0100D4D014F38000","region":null}]},{"id":"4be8226e-a4f5-4802-aee4-22996fd9f5e4","directory":"build-a-bridge","title":"Build a Bridge!","compatibility":99,"releases":[{"id":"01004D200BB96000","region":null}]},{"id":"4bf29b1c-f8c1-4d7c-b6ff-dde6c9de7dc7","directory":"oceanhorn-monster-of-uncharted-seas","title":"Oceanhorn - Monster of Uncharted Seas","compatibility":0,"releases":[{"id":"01007D7001D0E000","region":null}]},{"id":"4bf7a444-316a-4880-b07b-44bbcbe4b9d3","directory":"real-farm-premium-edition","title":"Real Farm - Premium Edition","compatibility":99,"releases":[{"id":"01006C101226C000","region":null}]},{"id":"4bfe0669-e411-4797-9203-1102e128581e","directory":"superliminal","title":"Superliminal","compatibility":4,"releases":[{"id":"010075701153A000","region":null}]},{"id":"4c0e5f49-306a-44c5-b525-64d2d8afe30b","directory":"preventive-strike","title":"Preventive Strike","compatibility":99,"releases":[{"id":"010009300D278000","region":null}]},{"id":"4c159662-76b6-4d76-9477-cc9a70687ec7","directory":"romance-of-the-three-kingdoms-xiv-diplomacy-and-strategy-expansion-pack-bundle","title":"ROMANCE OF THE THREE KINGDOMS XIV: Diplomacy and Strategy Expansion Pack Bundle","compatibility":99,"releases":[{"id":"0100ED7012DB2000","region":null}]},{"id":"4c2eaf03-5c05-4f62-b9dd-2c17f7f3dc46","directory":"animated-jigsaws-beautiful-japanese-scenery","title":"Animated Jigsaws: Beautiful Japanese Scenery","compatibility":99,"releases":[{"id":"01003C200A232000","region":null}]},{"id":"4c518ccc-8844-42c3-964f-d7209812a1ad","directory":"the-witcher-3-wild-hunt","title":"The Witcher 3: Wild Hunt","compatibility":4,"releases":[{"id":"0100E67012924000","region":null}]},{"id":"4c532f62-6c51-4ea3-9bad-7bd67c41029b","directory":"virtual-battle","title":"Virtual Battle","compatibility":99,"releases":[{"id":"0100226013C14000","region":null}]},{"id":"4c53b1a1-3ce9-4d5b-9724-74752ab5eb2b","directory":"slots-of-poker-at-aces-casino","title":"Slots of Poker at Aces Casino","compatibility":99,"releases":[{"id":"0100023012640000","region":null}]},{"id":"4c59cf0d-4570-41d3-bebd-638296b7c44e","directory":"minecraft-nintendo-switch-edition","title":"Minecraft: Nintendo Switch Edition","compatibility":0,"releases":[{"id":"01006BD001E06000","region":null}]},{"id":"4c666e56-c945-4078-a86c-95dfa32d129a","directory":"draw-a-stickman-epic-2","title":"Draw a Stickman: EPIC 2","compatibility":3,"releases":[{"id":"010030D004F34000","region":null}]},{"id":"4c7d0b30-26ad-4186-b677-b3314a7ab22d","directory":"balancelot","title":"Balancelot","compatibility":99,"releases":[{"id":"0100ECE0133AA000","region":null}]},{"id":"4c891790-ca49-4a33-aed7-cfc41a1607ad","directory":"harvest-moon-light-of-hope-special-edition","title":"Harvest Moon: Light of Hope Special Edition","compatibility":1,"releases":[{"id":"0100CF8003E70000","region":null}]},{"id":"4c8ebc5f-57e8-43a0-9ef7-9f7aa124c33c","directory":"tracks-toybox-edition","title":"Tracks - Toybox Edition","compatibility":3,"releases":[{"id":"0100192010F5A000","region":null}]},{"id":"4c974d42-c39d-482b-879f-f2063418e710","directory":"its-raining-fists-and-metal","title":"It's Raining Fists and Metal","compatibility":3,"releases":[{"id":"010022C00E8D8000","region":null}]},{"id":"4ca2e1be-37ad-4fa7-9225-43b60e611139","directory":"big-bash-boom","title":"Big Bash Boom","compatibility":1,"releases":[{"id":"010038D00B10A000","region":null}]},{"id":"4ca308c3-bcec-4e80-a351-6d707baca25e","directory":"dark-water-slime-invader","title":"Dark Water: Slime Invader","compatibility":99,"releases":[{"id":"0100C88014614000","region":null}]},{"id":"4ca51da4-6552-4278-8794-9f4c6efdabd1","directory":"angelo-and-deemon-one-hell-of-a-quest","title":"Angelo and Deemon: One Hell of a Quest","compatibility":99,"releases":[{"id":"0100D20015C06000","region":null}]},{"id":"4cc89c6f-32a3-48eb-8316-1556f9b42f9e","directory":"party-treats","title":"Party Treats","compatibility":99,"releases":[{"id":"010027D00F63C000","region":null}]},{"id":"4cc8ab8a-fd84-4913-bba7-c4bf962390dc","directory":"wild-guns-reloaded","title":"Wild Guns Reloaded","compatibility":1,"releases":[{"id":"0100CFC00A1D8000","region":null}]},{"id":"4cd00482-d506-41ee-9201-031aefea47d8","directory":"among-pipes","title":"Among Pipes","compatibility":0,"releases":[{"id":"0100AC4014872000","region":null}]},{"id":"4cd55601-b83e-4f71-951c-7c3f685ee19d","directory":"catlateral-damage-remeowstered","title":"Catlateral Damage: Remeowstered","compatibility":99,"releases":[{"id":"010077A00CB58000","region":null}]},{"id":"4cde7fbd-4270-493b-ae59-903907be6ef4","directory":"the-legend-of-tianding","title":"The Legend of Tianding","compatibility":99,"releases":[{"id":"0100AD90155FC000","region":null}]},{"id":"4ceccf7f-54fe-4171-8b63-d462523f5e61","directory":"stela","title":"Stela","compatibility":2,"releases":[{"id":"01002DE01043E000","region":null}]},{"id":"4d007190-aeac-4ed2-a115-21cc14a9093e","directory":"mystic-vale","title":"Mystic Vale","compatibility":99,"releases":[{"id":"010065500ED96000","region":null}]},{"id":"4d152905-a873-447d-8d2e-f0f856388f50","directory":"the-sexy-brutale","title":"The Sexy Brutale","compatibility":2,"releases":[{"id":"0100F89003BC8000","region":null}]},{"id":"4d2cc62e-137a-4fac-89f5-48240a187d36","directory":"lust-for-darkness","title":"Lust for Darkness","compatibility":0,"releases":[{"id":"0100F3100EB44000","region":null}]},{"id":"4d2e5753-c9b1-45e6-9fec-99e121c0fa1a","directory":"twister-road","title":"Twister Road","compatibility":99,"releases":[{"id":"010088F00F66C000","region":null}]},{"id":"4d2e9c9a-9c31-46a6-9416-3212897d8ff4","directory":"tengai-for-nintendo-switch","title":"TENGAI for Nintendo Switch","compatibility":99,"releases":[{"id":"0100B2600A398000","region":null}]},{"id":"4d451b33-ea4f-48a8-88d2-b94ccc315e56","directory":"infliction-extended-cut","title":"Infliction: Extended Cut","compatibility":99,"releases":[{"id":"01001CB00EFD6000","region":null}]},{"id":"4d52dd4f-ebb1-4181-9fe2-1ef05ea31585","directory":"the-last-days","title":"The Last Days","compatibility":99,"releases":[{"id":"0100487012CC6000","region":null}]},{"id":"4d5a9976-a361-48ec-82be-f5169815667a","directory":"valfaris-slain-double-pack","title":"Valfaris & Slain Double Pack","compatibility":2,"releases":[{"id":"0100CBF0115F2000","region":null}]},{"id":"4d631cdb-83d6-480e-b566-326d96034931","directory":"steamroll-rustless-edition","title":"Steamroll: Rustless Edition","compatibility":99,"releases":[{"id":"01001D6011D58000","region":null}]},{"id":"4d6366e4-9b26-456d-ba8a-5e64211d91ff","directory":"driving-world-aspen","title":"Driving World: Aspen","compatibility":0,"releases":[{"id":"0100D46014CCE000","region":null}]},{"id":"4d68f15e-ed9a-4ebe-8410-d00a01500597","directory":"little-dragons-cafe","title":"Little Dragons Café","compatibility":1,"releases":[{"id":"0100A3F009142000","region":null}]},{"id":"4d8791ec-75a3-4b8d-bf87-d5981c457137","directory":"evans-remains","title":"Evan's Remains","compatibility":99,"releases":[{"id":"01003F900E74E000","region":null}]},{"id":"4d8fd380-f48e-4dff-a806-86868e89c095","directory":"home-run-high","title":"Home Run High","compatibility":99,"releases":[{"id":"010013300F882000","region":null}]},{"id":"4d981c61-37a7-4ca9-a782-c2b54b7ae5cb","directory":"dayd-through-time","title":"DayD: Through Time","compatibility":2,"releases":[{"id":"010072600D8EC000","region":null}]},{"id":"4d9a0ec1-726a-4d11-b7c7-a05a4554ce89","directory":"habroxia-2","title":"Habroxia 2","compatibility":2,"releases":[{"id":"0100E3D013B28000","region":null}]},{"id":"4da8e468-d662-45f7-9e91-4939fb4beff2","directory":"through-the-darkest-of-times","title":"Through the Darkest of Times","compatibility":0,"releases":[{"id":"01007130114CC000","region":null}]},{"id":"4daa2887-ba05-4b96-980f-a344bf33ce04","directory":"mindseize","title":"MindSeize","compatibility":0,"releases":[{"id":"0100B05012FB2000","region":null}]},{"id":"4dc03dfd-6b53-4b32-b691-92df8a495d11","directory":"tennis-world-tour-2","title":"Tennis World Tour 2","compatibility":1,"releases":[{"id":"01002AF011D14000","region":null}]},{"id":"4dcb855c-bc79-4276-97df-5c6c5e3da8e2","directory":"dirt-bike-retro","title":"Dirt Bike Retro","compatibility":0,"releases":[{"id":"01006D60147E0000","region":null}]},{"id":"4dcba8c0-4815-485f-b1de-4388a218a9e6","directory":"forty-thieves-solitaire-collection","title":"Forty Thieves Solitaire Collection","compatibility":99,"releases":[{"id":"0100F3D01601C000","region":null}]},{"id":"4dd0e0a1-caf2-4a1a-8360-ab15b69a5fff","directory":"yet-another-zombie-defense-hd","title":"Yet Another Zombie Defense HD","compatibility":99,"releases":[{"id":"010085500B29A000","region":null}]},{"id":"4dd0ee2c-fb38-44db-bfb3-348a78e7eaa0","directory":"remnants-of-naezith","title":"Remnants of Naezith","compatibility":4,"releases":[{"id":"010043B00AAC0000","region":null}]},{"id":"4dd4d1fd-4415-4e6a-bc47-2a18af70e291","directory":"milkmaid-of-the-milky-way","title":"Milkmaid of the Milky Way","compatibility":99,"releases":[{"id":"010075000EE32000","region":null}]},{"id":"4de3932b-d194-46ea-8f6b-634598e885a6","directory":"mundaun","title":"Mundaun","compatibility":99,"releases":[{"id":"01002AB012858000","region":null}]},{"id":"4de9513b-3a1a-4253-85cf-7a2728e57bba","directory":"zombies-cool","title":"Zombie's Cool","compatibility":99,"releases":[{"id":"01001740116EC000","region":null}]},{"id":"4df2a221-2131-41ba-a8e3-560b44675eef","directory":"shiren-the-wanderer-the-tower-of-fortune-and-the-dice-of-fate","title":"Shiren the Wanderer: The Tower of Fortune and the Dice of Fate","compatibility":1,"releases":[{"id":"01007430122D0000","region":null}]},{"id":"4df8624b-6d01-48ae-b383-aa23f4a1ca6f","directory":"collar-x-malice","title":"Collar X Malice","compatibility":0,"releases":[{"id":"010083E00F40E000","region":null}]},{"id":"4e04ce58-71d8-4e54-b4da-cceefdd92ab9","directory":"chronos-before-the-ashes","title":"Chronos: Before the Ashes","compatibility":99,"releases":[{"id":"010006800E13A000","region":null}]},{"id":"4e07f5dc-0cbb-457e-b20c-0ace1a5e0474","directory":"neon-abyss","title":"Neon Abyss","compatibility":0,"releases":[{"id":"0100BAB01113A000","region":null}]},{"id":"4e0d8601-e4bf-4efe-ae3a-20a243f415a4","directory":"smugglecraft","title":"SmuggleCraft","compatibility":99,"releases":[{"id":"0100C4200B820000","region":null}]},{"id":"4e1f877e-3e10-480c-97ab-e0709a51c02d","directory":"yumeiri","title":"Yumeiri","compatibility":99,"releases":[{"id":"0100E44013632000","region":null}]},{"id":"4e2a727c-8910-44a1-9c88-a3e08520feaf","directory":"kaze-and-the-wild-masks","title":"Kaze and the Wild Masks","compatibility":2,"releases":[{"id":"010038B00F142000","region":null}]},{"id":"4e2d1d69-7eef-4846-944a-28d61fb4c4ff","directory":"xeodrifter","title":"Xeodrifter","compatibility":1,"releases":[{"id":"01005B5009364000","region":null}]},{"id":"4e49cc2f-db9f-4916-a337-51ba00078fa4","directory":"life-of-fly-2","title":"Life of Fly 2","compatibility":99,"releases":[{"id":"010069A01506E000","region":null}]},{"id":"4e54d65b-05f4-49b4-9478-6a153fe1c5f3","directory":"dungeon-of-crawl","title":"Dungeon of Crawl","compatibility":99,"releases":[{"id":"01004050148C4000","region":null}]},{"id":"4e582d55-adb5-44d7-8749-52a3ab994034","directory":"destruction","title":"Destruction","compatibility":99,"releases":[{"id":"01003A400BF8C000","region":null}]},{"id":"4e591835-2838-41eb-bfec-1d0dccfdb7fc","directory":"aca-neogeo-top-players-golf","title":"ACA NEOGEO TOP PLAYER’S GOLF","compatibility":99,"releases":[{"id":"0100B7400A304000","region":null}]},{"id":"4e64f8a7-f256-4eda-8e94-a310be21ff67","directory":"turok","title":"Turok","compatibility":3,"releases":[{"id":"010085500D5F6000","region":null}]},{"id":"4e757e3d-590c-410a-9440-8ec65b138cc8","directory":"farm-for-your-life","title":"Farm for your Life","compatibility":99,"releases":[{"id":"0100B87013EBE000","region":null}]},{"id":"4e83c80e-cabc-4335-ad8c-7947c2f73db0","directory":"infini","title":"Infini","compatibility":99,"releases":[{"id":"0100874012158000","region":null}]},{"id":"4e8b70de-8798-4cb3-ac72-1b3c63ff26c0","directory":"frontier-quest","title":"Frontier Quest","compatibility":99,"releases":[{"id":"0100A55014E2C000","region":null}]},{"id":"4eab83d4-b923-4c22-9e91-452ef062a7d3","directory":"1-2-switch","title":"1-2-Switch","compatibility":1,"releases":[{"id":"01000320000CC000","region":null}]},{"id":"4eb09ec9-0f25-43fc-9d3d-ea0079d62cb8","directory":"gensokyodefenders","title":"GensokyoDefenders","compatibility":3,"releases":[{"id":"010000300C79C000","region":null}]},{"id":"4ecbce6a-76a9-4536-b945-4aaa2bd0b3d3","directory":"bowling","title":"Bowling","compatibility":99,"releases":[{"id":"01008CE00FDCC000","region":null}]},{"id":"4ed1e2c8-dc8e-4a24-a56c-ed8d881aad06","directory":"faircrofts-antiques-the-heir-of-glen-kinnoch-collectors-edition","title":"Faircroft's Antiques: The Heir of Glen Kinnoch Collector's Edition","compatibility":99,"releases":[{"id":"010059701469E000","region":null}]},{"id":"4ed36528-7216-428a-93dc-091c2c1d148e","directory":"warhammer-quest","title":"Warhammer Quest","compatibility":0,"releases":[{"id":"01002B000C4AA000","region":null}]},{"id":"4eda0ac2-3e73-4b7b-bf26-17ce1aec4150","directory":"halloween-super-puzzles-dream","title":"#Halloween, Super Puzzles Dream","compatibility":99,"releases":[{"id":"01000E50134A4000","region":null}]},{"id":"4ee927f4-c135-4eaa-b159-1ab4076cb761","directory":"fatal-frame-maiden-of-black-water","title":"FATAL FRAME: Maiden of Black Water","compatibility":1,"releases":[{"id":"0100BEB015604000","region":null}]},{"id":"4eebe5a8-a30a-4bfb-b4a2-c6fa5ace1e9c","directory":"the-mystery-of-the-hudson-case","title":"The Mystery of the Hudson Case","compatibility":99,"releases":[{"id":"01004C500AAF6000","region":null}]},{"id":"4eecb1e8-1ff4-4466-852b-76ef4dafec2a","directory":"sun-wukong-vs-robot","title":"Sun Wukong VS Robot","compatibility":99,"releases":[{"id":"0100400013E20000","region":null}]},{"id":"4eee911a-e2b8-4298-a3ed-1aa6192b62f8","directory":"candy-raid-the-factory","title":"Candy Raid: The Factory","compatibility":99,"releases":[{"id":"0100B040128E6000","region":null}]},{"id":"4ef4e8d9-44ce-48ee-ba9c-e3d96903ff68","directory":"a-fold-apart","title":"A Fold Apart","compatibility":0,"releases":[{"id":"01003A600D8FC000","region":null}]},{"id":"4ef9eb89-3a02-4a8a-a0ce-a8c1fcd4c352","directory":"pode","title":"Pode","compatibility":1,"releases":[{"id":"01009440095FE000","region":null}]},{"id":"4efc72b2-0698-411b-a441-035261389f78","directory":"shantae-half-genie-hero","title":"Shantae: Half-Genie Hero","compatibility":1,"releases":[{"id":"0100AE0003424000","region":null}]},{"id":"4f058405-0df9-4539-8a6c-db894034706f","directory":"best-sniper-legacy-dino-hunt-shooter-3d","title":"Best Sniper Legacy: Dino Hunt & Shooter 3D","compatibility":99,"releases":[{"id":"01006FA0150C6000","region":null}]},{"id":"4f09cf33-cf17-432f-ab86-e4baebd84fc9","directory":"banner-saga-3","title":"Banner Saga 3","compatibility":5,"releases":[{"id":"010071E00875A000","region":null}]},{"id":"4f0ffff6-90e1-4d4c-bd81-d8c4d6e1fd05","directory":"picross-s3","title":"PICROSS S3","compatibility":0,"releases":[{"id":"010079200D330000","region":null}]},{"id":"4f1a573b-7594-4493-956b-c9ed5e0f7a4a","directory":"crash-dummy","title":"Crash Dummy","compatibility":99,"releases":[{"id":"010046600BD0E000","region":null}]},{"id":"4f33a21c-9351-4805-a2c9-8d9e95c69ee1","directory":"toon-war","title":"Toon War","compatibility":99,"releases":[{"id":"01009EA00E2B8000","region":null}]},{"id":"4f3a6322-40d3-4267-b21d-97c6c2a3cc1a","directory":"puzzle-and-dragons-gold","title":"Puzzle & Dragons GOLD","compatibility":99,"releases":[{"id":"0100C5700ECE0000","region":null}]},{"id":"4f3a6d35-e339-45a3-9cfe-f15597665f9e","directory":"mushroom-wars-2","title":"Mushroom Wars 2","compatibility":4,"releases":[{"id":"0100700006EF6000","region":null}]},{"id":"4f50941e-7122-450f-b502-6dfc0077e6d2","directory":"space-ribbon","title":"Space Ribbon","compatibility":3,"releases":[{"id":"010010A009830000","region":null}]},{"id":"4f55d8eb-eb2d-4b26-b414-173ed3d463ec","directory":"witch-and-hero","title":"Witch & Hero","compatibility":99,"releases":[{"id":"010028700D1CA000","region":null}]},{"id":"4f5975ea-4ee3-43a8-85aa-43b0998e05ae","directory":"instant-sports-summer-games","title":"Instant Sports Summer Games","compatibility":2,"releases":[{"id":"010099A011A46000","region":null}]},{"id":"4f69bd5c-6e23-432b-b223-2db0bc83b1d2","directory":"beyond-a-steel-sky","title":"Beyond a Steel Sky","compatibility":1,"releases":[{"id":"010023C015242000","region":null}]},{"id":"4f748394-fa4f-42dc-bb15-26bd86ff2973","directory":"snk-heroines-tag-team-frenzy","title":"SNK HEROINES Tag Team Frenzy","compatibility":3,"releases":[{"id":"010027F00AD6C000","region":null}]},{"id":"4f8e181a-c427-4155-a399-29fafd9bae44","directory":"spacetime-odissey","title":"SPACETIME ODISSEY","compatibility":99,"releases":[{"id":"01001B0016C9A000","region":null}]},{"id":"4f9ad5da-396c-4ea7-8ff2-a37d6ecafbcd","directory":"aca-neogeo-sengoku-2","title":"ACA NEOGEO SENGOKU 2","compatibility":4,"releases":[{"id":"01009B300872A000","region":null}]},{"id":"4fa4f9a9-7458-4f56-ba7b-71392de46623","directory":"dungeon-and-gravestone","title":"Dungeon and Gravestone","compatibility":99,"releases":[{"id":"010028601190C000","region":null}]},{"id":"4fb61c22-d19b-4f77-9604-53bb7357da6d","directory":"gal-gun-returns","title":"Gal*Gun Returns","compatibility":0,"releases":[{"id":"0100AA50138B4000","region":null}]},{"id":"4fb63e06-c40c-4ac5-b325-160d0c1af7d5","directory":"final-fantasy-viii-remastered","title":"FINAL FANTASY VIII Remastered","compatibility":4,"releases":[{"id":"01008B900DC0A000","region":null}]},{"id":"4fbc292f-2624-41c5-b2ca-3320b50f9bdd","directory":"destiny-connect-tick-tock-travelers","title":"Destiny Connect: Tick-Tock Travelers","compatibility":3,"releases":[{"id":"010069500DD86000","region":null}]},{"id":"4fbcabb0-8e76-4925-8b22-60a5106f805e","directory":"fishing-star-world-tour","title":"Fishing Star World Tour","compatibility":1,"releases":[{"id":"0100DEB00ACE2000","region":null}]},{"id":"4fc4efdd-4bb1-4109-ba02-b661682042e6","directory":"gonner","title":"GoNNER","compatibility":99,"releases":[{"id":"01007C2002B3C000","region":null}]},{"id":"4fc53128-6fdd-4a48-84fb-c3e6f7505b38","directory":"witch-thief","title":"Witch Thief","compatibility":99,"releases":[{"id":"01002FC00C6D0000","region":null}]},{"id":"4fcd9008-5e6c-41dd-84fa-502b34c41208","directory":"arcade-archives-the-fairyland-story","title":"Arcade Archives The Fairyland Story","compatibility":99,"releases":[{"id":"01007F701323E000","region":null}]},{"id":"4fd14c97-b4ce-44b7-85a0-e845337cc8ef","directory":"game-tengoku-cruisinmix-special","title":"Game Tengoku CruisinMix Special","compatibility":2,"releases":[{"id":"01000E800F326000","region":null}]},{"id":"4fd1f65c-f426-4126-9c6e-5320c3315479","directory":"team-troopers","title":"Team Troopers","compatibility":99,"releases":[{"id":"01009E0014164000","region":null}]},{"id":"4fd3ad55-1504-41f3-bb12-1df8d8d504d8","directory":"santa-throw","title":"Santa Throw","compatibility":99,"releases":[{"id":"0100E890170E8000","region":null}]},{"id":"4fd8d8d0-2cd5-4eb9-80b6-7f096bfb8d69","directory":"alluris","title":"Alluris","compatibility":99,"releases":[{"id":"0100AC501122A000","region":null}]},{"id":"4feb9bc4-e78f-4839-98cb-d9e34386bca0","directory":"ultra-space-battle-brawl","title":"Ultra Space Battle Brawl","compatibility":99,"releases":[{"id":"0100E67008D84000","region":null}]},{"id":"4ff7106a-13db-40d9-9faf-37e4c0f8c61c","directory":"dragon-sinker","title":"Dragon Sinker","compatibility":1,"releases":[{"id":"0100356009860000","region":null}]},{"id":"50059fd8-c07d-4570-a25d-2b630762643b","directory":"knightin","title":"Knightin'+","compatibility":0,"releases":[{"id":"01005F8010D98000","region":null}]},{"id":"501fa399-64b0-4739-b3a5-b7a8ff927380","directory":"crash-bandicoot-n-sane-trilogy","title":"Crash Bandicoot N. Sane Trilogy","compatibility":1,"releases":[{"id":"0100D1B006744000","region":null}]},{"id":"502b6d9c-f000-4be0-b2b0-f72b5e800ee5","directory":"carx-drift-racing-online","title":"CarX Drift Racing Online","compatibility":99,"releases":[{"id":"01001A10134B8000","region":null}]},{"id":"502bcfa4-7020-4261-b5cc-7a883a5d3305","directory":"nekopara-vol3","title":"NEKOPARA Vol.3","compatibility":99,"releases":[{"id":"010045000E418000","region":null}]},{"id":"502ed52a-6086-472c-844a-7d103eacb063","directory":"the-walking-dead-the-final-season-season-pass","title":"The Walking Dead: The Final Season - Season Pass","compatibility":2,"releases":[{"id":"010060F00AA70000","region":null}]},{"id":"50312190-6ca4-48a6-975f-15eb025a3638","directory":"caveman-warriors","title":"Caveman Warriors","compatibility":0,"releases":[{"id":"01006DB004566000","region":null}]},{"id":"5033579f-7ce4-4934-8a29-6c7a2cad5636","directory":"pigeon-fight","title":"Pigeon Fight","compatibility":99,"releases":[{"id":"010006B013CA6000","region":null}]},{"id":"503a76bc-d597-4cac-9d7d-48d936dcd336","directory":"convoy-a-tactical-roguelike","title":"Convoy: A Tactical Roguelike","compatibility":0,"releases":[{"id":"010058800E90A000","region":null}]},{"id":"503e988c-741b-46ff-9d34-7a9c576bbc1b","directory":"dandy-ace","title":"Dandy Ace","compatibility":1,"releases":[{"id":"0100608014708000","region":null}]},{"id":"5055b1ee-d8df-4c0a-b0d1-75eeb111b285","directory":"the-bunker","title":"The Bunker","compatibility":4,"releases":[{"id":"01001B40086E2000","region":null}]},{"id":"50669b11-b939-499d-8070-b62587e686f0","directory":"teslagrad","title":"Teslagrad","compatibility":0,"releases":[{"id":"01005C8005F34000","region":null}]},{"id":"50670ab4-1a8c-4220-8261-e525a73be4be","directory":"be-a-walker","title":"BE-A Walker","compatibility":1,"releases":[{"id":"01003A1010E3C000","region":null}]},{"id":"506b5a0c-42ae-4a89-a73a-dd645c11996c","directory":"paint-your-pet","title":"Paint your Pet","compatibility":99,"releases":[{"id":"0100AB90129CA000","region":null}]},{"id":"506ea1a7-13fe-417d-83ad-0b7346ceb66a","directory":"exzeus-the-complete-collection","title":"ExZeus: The Complete Collection","compatibility":99,"releases":[{"id":"0100A7A0147BA000","region":null}]},{"id":"50897edc-61bd-4508-96be-b75ed0183fdb","directory":"pet-shop-snacks","title":"Pet Shop Snacks","compatibility":99,"releases":[{"id":"0100FCB00EEF2000","region":null}]},{"id":"508b1b84-a7bb-4c72-a447-26cddee74e3a","directory":"touhou-genso-wanderer-lotus-labyrinth-r","title":"Touhou Genso Wanderer -Lotus Labyrinth R-","compatibility":99,"releases":[{"id":"0100A7A015E4C000","region":null}]},{"id":"50a2045f-590f-4e70-9dba-6a4bff9b3356","directory":"the-magister","title":"The Magister","compatibility":99,"releases":[{"id":"01006E7013018000","region":null}]},{"id":"50a221bd-dc01-4d02-afb3-223da9afe9e1","directory":"reflection-of-mine","title":"Reflection of Mine","compatibility":99,"releases":[{"id":"010045D01273A000","region":null}]},{"id":"50a4b715-f2f7-4b93-850c-970a818bc153","directory":"aeternoblade-ii","title":"AeternoBlade II","compatibility":1,"releases":[{"id":"0100AE500E76A000","region":null}]},{"id":"50af6c76-97bd-4503-898f-a7f6411fd255","directory":"lanota","title":"Lanota","compatibility":99,"releases":[{"id":"0100E7200B272000","region":null}]},{"id":"50b5a2a3-3e59-4b37-a109-4f1f28056146","directory":"aca-neogeo-the-king-of-fighters-99","title":"ACA NEOGEO THE KING OF FIGHTERS '99","compatibility":4,"releases":[{"id":"0100583001DCA000","region":null}]},{"id":"50c0dffb-8801-4492-b105-8e9d488ed296","directory":"soulblight","title":"Soulblight","compatibility":99,"releases":[{"id":"0100928005094000","region":null}]},{"id":"5109f13c-725d-494e-b0fb-fe23789ee3a0","directory":"kyle-is-famous-complete-edition","title":"Kyle is Famous: Complete Edition","compatibility":99,"releases":[{"id":"0100090014ABE000","region":null}]},{"id":"5115e45d-d7b4-4a02-8eb8-4ccc1f99bf7c","directory":"reed-remastered","title":"Reed Remastered","compatibility":99,"releases":[{"id":"01005D50107F2000","region":null}]},{"id":"511760a2-a2ed-4821-96e3-f003f71ed399","directory":"lynn-the-girl-drawn-on-puzzles","title":"Lynn, The Girl Drawn On Puzzles","compatibility":99,"releases":[{"id":"0100C200163DE000","region":null}]},{"id":"511d441d-3b27-49f9-9a5b-acfd3d03db9a","directory":"double-dragon-4","title":"Double Dragon 4","compatibility":1,"releases":[{"id":"010001B005E5C000","region":null}]},{"id":"5122c0aa-a6cd-46b4-abd9-457b56f3ba43","directory":"big-dipper","title":"Big Dipper","compatibility":99,"releases":[{"id":"0100A42011B28000","region":null}]},{"id":"5134df76-7e6e-4559-afb1-49df1b072fc6","directory":"save-farty","title":"Save Farty","compatibility":99,"releases":[{"id":"01007FF01388E000","region":null}]},{"id":"5145a4c5-5641-4dd8-b76c-668d9b52e9ee","directory":"shaolin-vs-wutang","title":"Shaolin vs Wutang","compatibility":99,"releases":[{"id":"01003AB01062C000","region":null}]},{"id":"514e8e2c-59fb-474d-b2ab-d711591f0773","directory":"ubermosh-santicide","title":"UBERMOSH: SANTICIDE","compatibility":99,"releases":[{"id":"010040D01222C000","region":null}]},{"id":"515455c1-181a-4cb2-bc4a-d2f3f0f96a1d","directory":"arcade-archives-pop-flamer","title":"Arcade Archives POP FLAMER","compatibility":99,"releases":[{"id":"0100CC701508E000","region":null}]},{"id":"51559a3b-bd4f-47d4-8296-61e1046ad0b0","directory":"construction-simulator-2-us-console-edition","title":"Construction Simulator 2 US - Console Edition","compatibility":3,"releases":[{"id":"0100E5D00DE2C000","region":null}]},{"id":"51890479-444c-4816-a94d-a9e2d7b02603","directory":"cold-silence","title":"Cold Silence","compatibility":99,"releases":[{"id":"010035B01706E000","region":null}]},{"id":"518942ba-380e-4d0d-8dc3-75522fde38e2","directory":"infectra","title":"Infectra","compatibility":99,"releases":[{"id":"01004140132A8000","region":null}]},{"id":"51994f63-ee6c-46e4-84d1-4125196e6644","directory":"the-gardener-and-the-wild-vines","title":"The Gardener and the Wild Vines","compatibility":99,"releases":[{"id":"01006350148DA000","region":null}]},{"id":"519e884f-d55a-46e7-8ad5-5ed07944ded0","directory":"shovel-knight-king-of-cards","title":"Shovel Knight: King of Cards","compatibility":2,"releases":[{"id":"01008B20022AA000","region":null}]},{"id":"51a3a270-f973-46d6-becc-99c7729e62f1","directory":"contra-anniversary-collection","title":"Contra Anniversary Collection","compatibility":0,"releases":[{"id":"0100DCA00DA7E000","region":null}]},{"id":"51b328c2-3480-43aa-8718-d598dfaee343","directory":"puzzlement","title":"puzzlement","compatibility":99,"releases":[{"id":"010005D00FC06000","region":null}]},{"id":"51cfb425-7e9b-4ede-a553-833851c5879e","directory":"frosty-jump","title":"Frosty Jump","compatibility":99,"releases":[{"id":"0100A5D0100DE000","region":null}]},{"id":"51d05072-d106-4ab9-bfcc-529296a86b17","directory":"piano","title":"Piano","compatibility":99,"releases":[{"id":"010045B011E1E000","region":null}]},{"id":"51e44e8d-2d03-4199-bd02-19fea83ee823","directory":"battle-and-crash","title":"BATTLE & CRASH","compatibility":99,"releases":[{"id":"010044400E99C000","region":null}]},{"id":"51e74aa2-23d3-4d26-be6a-85b042bc1730","directory":"pokemon-shield","title":"Pokémon Shield","compatibility":1,"releases":[{"id":"01008DB008C2C000","region":null}]},{"id":"51fa6525-e1ab-4534-aabc-533a3369a8ec","directory":"invisigun-reloaded","title":"Invisigun Reloaded","compatibility":99,"releases":[{"id":"01005F400E644000","region":null}]},{"id":"5201964a-1dcd-465e-95cf-1796b242a1d4","directory":"what-the-dub","title":"What the Dub?!","compatibility":99,"releases":[{"id":"0100937014244000","region":null}]},{"id":"52102966-9f99-4a7a-ba55-bd90a3a20b1e","directory":"amoeba-battle-microscopic-rts-action","title":"Amoeba Battle - Microscopic RTS Action","compatibility":99,"releases":[{"id":"010041D00DEB2000","region":null}]},{"id":"5214addc-0e20-4122-b096-92da57628be6","directory":"eastward","title":"Eastward","compatibility":2,"releases":[{"id":"010071B00F63A000","region":null}]},{"id":"5216e4e2-be9b-4dff-a337-1814e4e8bd53","directory":"blood-and-guts-bundle","title":"Blood and Guts Bundle","compatibility":0,"releases":[{"id":"0100EE5011DB6000","region":null}]},{"id":"521dc13d-a74a-401d-9f30-18a2bf9298c2","directory":"clusterpuck-99","title":"ClusterPuck 99","compatibility":4,"releases":[{"id":"010085A00821A000","region":null}]},{"id":"521e0762-4843-4cb8-adce-82d8cb91b40d","directory":"aeternoblade","title":"AeternoBlade","compatibility":1,"releases":[{"id":"01006C40086EA000","region":null}]},{"id":"522857c9-9e4c-49eb-813c-5dc038a8644b","directory":"the-mummy-demastered","title":"The Mummy Demastered","compatibility":0,"releases":[{"id":"0100496004194000","region":null}]},{"id":"52320a48-8cfd-4059-896e-c4bc011e5622","directory":"ruin-raiders","title":"Ruin Raiders","compatibility":99,"releases":[{"id":"0100D7D0138A2000","region":null}]},{"id":"523498eb-d935-425a-92fd-f4e4924affad","directory":"anode","title":"Anode","compatibility":99,"releases":[{"id":"01009E600D78C000","region":null}]},{"id":"52368889-9244-4e88-b28b-57908b9a7c14","directory":"mushroom-quest","title":"Mushroom Quest","compatibility":99,"releases":[{"id":"010035901046C000","region":null}]},{"id":"523724c6-35a4-47f6-9bb9-1c5e60d4e125","directory":"slash-ninja","title":"Slash Ninja","compatibility":99,"releases":[{"id":"01008800130EA000","region":null}]},{"id":"52373db8-29df-48e2-80e4-95f2142b4014","directory":"wheres-samantha","title":"Where's Samantha?","compatibility":99,"releases":[{"id":"010047F014B82000","region":null}]},{"id":"5245a997-9e77-42d7-93d2-33270a62a9fa","directory":"life-of-fly","title":"Life of Fly","compatibility":99,"releases":[{"id":"0100B3A0137EA000","region":null}]},{"id":"52461ad8-3703-4b6c-bffa-5d48f9659a5a","directory":"ryans-rescue-squad","title":"Ryan's Rescue Squad","compatibility":99,"releases":[{"id":"0100D0E0139A0000","region":null}]},{"id":"52464fe5-74e7-4c28-a26c-24fee81ea428","directory":"vektor-wars","title":"Vektor Wars","compatibility":99,"releases":[{"id":"010098400E39E000","region":null}]},{"id":"524b10c4-1067-48c6-98f0-9c9bce8fafc3","directory":"mystery-mine","title":"Mystery Mine","compatibility":99,"releases":[{"id":"01002800117EE000","region":null}]},{"id":"526f9344-ce7b-42b3-9b1f-9f877b0b7112","directory":"graceful-explosion-machine","title":"Graceful Explosion Machine","compatibility":1,"releases":[{"id":"01004D10020F2000","region":null}]},{"id":"5276314d-52b6-4812-988d-a48209f2ed18","directory":"horror-bundle-vol-1","title":"Horror Bundle Vol. 1","compatibility":5,"releases":[{"id":"0100E3801140A000","region":null}]},{"id":"528a091b-1666-4f52-81e4-846dea77ead2","directory":"fragment-of-marine","title":"Fragment of Marine","compatibility":99,"releases":[{"id":"01001A300C802000","region":null}]},{"id":"5298c07e-4a2c-4bc0-9e8f-010f7f44ce49","directory":"crying-suns","title":"Crying Suns","compatibility":99,"releases":[{"id":"010074A00E872000","region":null}]},{"id":"529d1d3c-a99d-4438-9451-ef9d95439e12","directory":"rusty-gun","title":"Rusty Gun","compatibility":99,"releases":[{"id":"01000E4012A00000","region":null}]},{"id":"52a06bbb-2798-4c1d-9204-ab46b749f1ef","directory":"beach-volleyball-challenge","title":"Beach Volleyball Challenge","compatibility":99,"releases":[{"id":"01001200160DC000","region":null}]},{"id":"52cb6e02-940f-4711-891c-ca4f9f65d071","directory":"vroom-in-the-night-sky","title":"Vroom in the night sky","compatibility":99,"releases":[{"id":"01004E90028A2000","region":null}]},{"id":"52cc2e79-8a92-4ad9-b083-2414366d646b","directory":"muddledash","title":"Muddledash","compatibility":99,"releases":[{"id":"010087C009246000","region":null}]},{"id":"52d26f3d-b5b5-4812-8118-ecf9085077e7","directory":"hand-of-fate-2","title":"Hand of Fate 2","compatibility":1,"releases":[{"id":"01003620068EA000","region":null}]},{"id":"52da0162-feb7-460d-942a-167251059453","directory":"miner-warfare","title":"Miner Warfare","compatibility":99,"releases":[{"id":"010044900CCCC000","region":null}]},{"id":"52e8a855-68f7-4b54-95e8-c36d33dba361","directory":"has-been-heroes","title":"Has-Been Heroes","compatibility":1,"releases":[{"id":"0100E29001298000","region":null}]},{"id":"52e90120-ba9f-4e37-b508-2ad05a4f6647","directory":"tennis-club-story","title":"Tennis Club Story","compatibility":99,"releases":[{"id":"01006CB00EEEA000","region":null}]},{"id":"52edc479-35d0-4a60-9c3e-11da54da6015","directory":"ubermosh-black","title":"UBERMOSH:BLACK","compatibility":99,"releases":[{"id":"0100A5101210E000","region":null}]},{"id":"52f0ead1-4940-48aa-a92d-5dc6cef36442","directory":"squareboy-vs-bullies-arena-edition-demo","title":"Squareboy vs Bullies: Arena Edition Demo","compatibility":99,"releases":[{"id":"010039300A56C000","region":null}]},{"id":"530e41cc-1f3b-41ad-99cd-af53e668ae4f","directory":"riot-civil-unrest","title":"RIOT - Civil Unrest","compatibility":99,"releases":[{"id":"010088E00B816000","region":null}]},{"id":"53136ce0-84e7-4789-b4d5-4292a6a99402","directory":"ninja-gaiden-master-collection-deluxe-edition","title":"NINJA GAIDEN: Master Collection Deluxe Edition","compatibility":0,"releases":[{"id":"01002AF014F4C000","region":null}]},{"id":"532c81bd-d19e-4a80-a5a7-119569b462c3","directory":"deep-sky-derelicts-definitive-edition","title":"Deep Sky Derelicts: Definitive Edition","compatibility":0,"releases":[{"id":"0100C3E00D68E000","region":null}]},{"id":"534f370c-768d-480a-b566-6a5834226595","directory":"duke-of-defense","title":"Duke of Defense","compatibility":99,"releases":[{"id":"0100AE300CB00000","region":null}]},{"id":"53533ea2-93fc-47b0-855e-e62cfc5ddb5d","directory":"top-down-racer","title":"Top Down Racer","compatibility":99,"releases":[{"id":"010092C016480000","region":null}]},{"id":"5366247a-6f5c-413d-b2a6-26e694bd7f93","directory":"table-soccer-foosball","title":"Table Soccer Foosball","compatibility":99,"releases":[{"id":"0100F8A013D5E000","region":null}]},{"id":"5372c5b7-9c3f-4cb1-a752-072d2879aa22","directory":"vesta","title":"Vesta","compatibility":99,"releases":[{"id":"010057B00712C000","region":null}]},{"id":"53804b82-ce6d-4abc-9bc4-a35b9f2eee25","directory":"eclipse-edge-of-light","title":"Eclipse: Edge of Light","compatibility":99,"releases":[{"id":"01001F20100B8000","region":null}]},{"id":"53806384-97e7-4983-8c72-7cc050e2b05e","directory":"goblin-sword","title":"Goblin Sword","compatibility":2,"releases":[{"id":"010067C010F88000","region":null}]},{"id":"53961401-749c-4335-b065-c65e77a58f3c","directory":"galgun-2","title":"Gal*Gun 2","compatibility":4,"releases":[{"id":"010024700901A000","region":null}]},{"id":"53985a74-323a-406d-80a6-652cd1cb01bc","directory":"picross-s4","title":"PICROSS S4","compatibility":0,"releases":[{"id":"0100C250115DC000","region":null}]},{"id":"53a60a06-8831-4d58-99dd-429de6a61204","directory":"anthill","title":"Anthill","compatibility":1,"releases":[{"id":"010054C00D842000","region":null}]},{"id":"53bf54d1-c26b-408e-87d2-92757ef63f0e","directory":"soap-dodgem","title":"Soap Dodgem","compatibility":99,"releases":[{"id":"010025C007892000","region":null}]},{"id":"53c923d2-4af1-462d-8e67-9cca409e9901","directory":"rain-city","title":"Rain City","compatibility":99,"releases":[{"id":"01003C700D0DE000","region":null}]},{"id":"53d1f903-b46b-4507-a45c-084f0dfa7599","directory":"luciform","title":"Luciform","compatibility":99,"releases":[{"id":"010073201423E000","region":null}]},{"id":"53d39354-15ad-4f40-a70c-9e9a36244eca","directory":"construction-simulator-3-console-edition","title":"Construction Simulator 3 - Console Edition","compatibility":99,"releases":[{"id":"0100A5600FAC0000","region":null}]},{"id":"53dee15d-937d-41d8-aa44-4d47c7cc02dc","directory":"no-longer-home","title":"No Longer Home","compatibility":99,"releases":[{"id":"0100D99014262000","region":null}]},{"id":"53f06700-bab2-4b75-952c-eb1fa3533a89","directory":"new-super-mario-bros-u-deluxe","title":"New Super Mario Bros. U Deluxe","compatibility":2,"releases":[{"id":"0100EA80032EA000","region":null}]},{"id":"53faed5c-f365-4ac8-8855-cec724c4572d","directory":"caveman-warriors-demo","title":"Caveman Warriors Demo","compatibility":99,"releases":[{"id":"010078700B2CC000","region":null}]},{"id":"53fe4961-b18f-4d54-bd44-4689896d8e91","directory":"disney-tsum-tsum-festival","title":"Disney TSUM TSUM FESTIVAL","compatibility":99,"releases":[{"id":"010012800EBAE000","region":null}]},{"id":"5401e254-3776-4839-b9b8-70e6dc27ab79","directory":"killer-chambers","title":"Killer Chambers","compatibility":99,"releases":[{"id":"01005D10133B8000","region":null}]},{"id":"5406989a-4123-40c9-abc6-fcb4b60b69dc","directory":"manual-samuel","title":"Manual Samuel","compatibility":1,"releases":[{"id":"0100748009A28000","region":null}]},{"id":"54090a5d-d46f-4839-ac42-7d0391612def","directory":"neo-cab","title":"Neo Cab","compatibility":0,"releases":[{"id":"0100EBB00D2F4000","region":null}]},{"id":"54093919-00cc-4590-9d75-9bbedd80d51b","directory":"the-elder-scrolls-r-blades","title":"The Elder Scrolls®: Blades","compatibility":4,"releases":[{"id":"01003D700DD8A000","region":null}]},{"id":"540ec27f-5721-4efd-932f-d94b6dcee075","directory":"ghosts-n-goblins-resurrection","title":"Ghosts 'n Goblins Resurrection","compatibility":2,"releases":[{"id":"0100D6200F2BA000","region":null}]},{"id":"540f8a4a-b527-4da1-9c54-6df45ea9e4fd","directory":"space-marshals","title":"Space Marshals","compatibility":99,"releases":[{"id":"0100782013A04000","region":null}]},{"id":"5410dcce-bfe0-40e6-bbeb-bd1f61e1af17","directory":"word-sudoku-by-powgi-demo","title":"Word Sudoku by POWGI Demo","compatibility":99,"releases":[{"id":"0100FC900CAE4000","region":null}]},{"id":"541f7f48-874a-43e7-9fb4-ccb696ffe07b","directory":"the-path-of-motus","title":"The Path of Motus","compatibility":99,"releases":[{"id":"01001BB00C2EC000","region":null}]},{"id":"5420d867-883e-458d-a98e-76c2fb69e0d0","directory":"blobcat","title":"BlobCat","compatibility":0,"releases":[{"id":"0100F3500A20C000","region":null}]},{"id":"5422c0a0-38d1-453d-b0eb-ddc58fd11669","directory":"the-adventure-of-ravi-n-navi","title":"The Adventure of Ravi 'n' Navi","compatibility":99,"releases":[{"id":"0100D800159FA000","region":null}]},{"id":"5431a492-82e6-40a6-b52d-734b73ba1e66","directory":"nexoria-dungeon-rogue-heroes","title":"Nexoria: Dungeon Rogue Heroes","compatibility":99,"releases":[{"id":"0100B69012EC6000","region":null}]},{"id":"5434149e-6bae-4c7b-aba4-e9d50c920ff2","directory":"windbound","title":"Windbound","compatibility":3,"releases":[{"id":"010044000F7F2000","region":null}]},{"id":"5438e4e4-355a-4550-85a2-3410151165e6","directory":"milli-greg","title":"Milli & Greg","compatibility":99,"releases":[{"id":"01005FA015D68000","region":null}]},{"id":"543fe310-74ca-485b-8b64-079d7b627c11","directory":"scribblenauts-mega-pack","title":"Scribblenauts Mega Pack","compatibility":1,"releases":[{"id":"0100E7100B198000","region":null}]},{"id":"54637fd6-a19b-4bc4-9168-10a41bd0adfa","directory":"windmill-kings","title":"Windmill Kings","compatibility":99,"releases":[{"id":"010099600FC2A000","region":null}]},{"id":"54679173-db79-402b-845e-323b8ade9000","directory":"caretaker","title":"Caretaker","compatibility":99,"releases":[{"id":"0100DA70115E6000","region":null}]},{"id":"547447ca-5ff4-44f9-93ce-0ff63d5774b7","directory":"my-hidden-things","title":"My Hidden Things","compatibility":99,"releases":[{"id":"0100E4701373E000","region":null}]},{"id":"548d7378-5d83-48f0-bb99-dad860ed66b0","directory":"ydanji","title":"Yōdanji","compatibility":1,"releases":[{"id":"01006A600623E000","region":null}]},{"id":"5498169d-7a20-444e-a4df-24e4a7a70110","directory":"i-am-setsuna","title":"I Am Setsuna","compatibility":1,"releases":[{"id":"0100849000BDA000","region":null}]},{"id":"54b2e992-f78a-4cf0-a167-c49cee03e593","directory":"minecraft","title":"Minecraft","compatibility":4,"releases":[{"id":"0100D71004694000","region":null}]},{"id":"54bc7c25-0776-4e6a-8cca-750bbbc9895c","directory":"pixel-head-soccer","title":"Pixel Head Soccer","compatibility":99,"releases":[{"id":"0100D69015042000","region":null}]},{"id":"54bdaa88-228c-4a5d-8d88-961a830eac62","directory":"calculator","title":"Calculator","compatibility":0,"releases":[{"id":"010004701504A000","region":null}]},{"id":"54c53dd8-8777-4ec9-ae69-d23df98087b2","directory":"aeon-drive","title":"Aeon Drive","compatibility":99,"releases":[{"id":"010046701597E000","region":null}]},{"id":"54c9c16d-93ac-48f6-8621-c7dc649293d0","directory":"synthetik-ultimate","title":"SYNTHETIK: Ultimate","compatibility":5,"releases":[{"id":"01009BF00E7D2000","region":null}]},{"id":"54d81824-8149-4df2-8ca4-b89a5ece2c19","directory":"the-takeover","title":"The TakeOver","compatibility":0,"releases":[{"id":"0100CAE01021A000","region":null}]},{"id":"54d82c29-6794-4bc2-9f11-b71c340ae398","directory":"rage-in-peace","title":"Rage in Peace","compatibility":3,"releases":[{"id":"0100E1B00A46C000","region":null}]},{"id":"54d9247f-153e-433c-9a71-37f4c5078ebf","directory":"president-fnet","title":"President F.net","compatibility":99,"releases":[{"id":"01003B800B54C000","region":null}]},{"id":"54ded8bd-1db0-49f5-9a56-789896664594","directory":"tiny-barbarian-dx","title":"Tiny Barbarian DX","compatibility":0,"releases":[{"id":"0100D940022F6000","region":null}]},{"id":"54df7f01-fd6a-45e7-a61a-8c9aa1dc52a5","directory":"taimumari-complete-edition","title":"Taimumari: Complete Edition","compatibility":2,"releases":[{"id":"010040A00EA26000","region":null}]},{"id":"55001896-6be3-4618-a467-c1073db6ed43","directory":"32-secs","title":"32 Secs","compatibility":99,"releases":[{"id":"010065F01375E000","region":null}]},{"id":"550ecb52-27c2-4381-b996-3986863228dd","directory":"thumper","title":"Thumper","compatibility":4,"releases":[{"id":"01006F6002840000","region":null}]},{"id":"5515fb8d-a3c5-494d-a3d3-0206da8d3b5c","directory":"virtuous-western","title":"Virtuous Western","compatibility":99,"releases":[{"id":"0100D48016014000","region":null}]},{"id":"552061b9-8639-468a-bc1c-b04f413fbf2f","directory":"city-driving-simulator","title":"City Driving Simulator","compatibility":99,"releases":[{"id":"0100AC101212C000","region":null}]},{"id":"55717384-1464-4518-92cf-a2762226ec64","directory":"demetrios-the-big-cynical-adventure","title":"Demetrios - The BIG Cynical Adventure","compatibility":99,"releases":[{"id":"0100AB600ACB4000","region":null}]},{"id":"55726add-da87-431f-ba87-70adcaee5773","directory":"super-punch-patrol","title":"Super Punch Patrol","compatibility":3,"releases":[{"id":"01001F90122B2000","region":null}]},{"id":"557ad4ad-887c-4462-a5dd-a665cd40a8ce","directory":"subnautica-below-zero","title":"Subnautica: Below Zero","compatibility":1,"releases":[{"id":"010014C011146000","region":null}]},{"id":"557d60fb-b79f-44a1-9014-d74debed02a5","directory":"deponia","title":"Deponia","compatibility":4,"releases":[{"id":"010023600C704000","region":null}]},{"id":"5582ed4f-3e5b-43c2-b8d5-337fc45704f7","directory":"caveman-tales","title":"Caveman Tales","compatibility":99,"releases":[{"id":"0100EB70128E8000","region":null}]},{"id":"55963a63-5f61-43b8-a3be-60a46c22f86b","directory":"lapis-x-labyrinth","title":"Lapis x Labyrinth","compatibility":2,"releases":[{"id":"010059500D070000","region":null}]},{"id":"55b88cfe-6a00-40d4-9fc1-a2041b3fcdf6","directory":"truck-simulator-usa","title":"Truck Simulator USA","compatibility":3,"releases":[{"id":"01008DD00E66C000","region":null}]},{"id":"55ce1ead-14e4-4f0e-897a-bd251f25c7c9","directory":"flying-hero-x","title":"Flying Hero X","compatibility":2,"releases":[{"id":"0100419013A8A000","region":null}]},{"id":"55d1d8de-d61c-420a-80fa-273d924cf6d6","directory":"saga-scarlet-grace-ambitions","title":"SaGa SCARLET GRACE: AMBITIONS","compatibility":2,"releases":[{"id":"010003A00D0B4000","region":null}]},{"id":"55d249b3-cd52-4f4d-bfec-243c7ca21279","directory":"pako-caravan","title":"PAKO Caravan","compatibility":99,"releases":[{"id":"0100461013E50000","region":null}]},{"id":"55e357f5-c070-4625-8ab3-4fec58b811da","directory":"the-story-goes-on","title":"The Story Goes On","compatibility":99,"releases":[{"id":"01007FA00DA22000","region":null}]},{"id":"55e4b62b-2a00-45c4-ad09-ff04c9a98bf6","directory":"spaceex-commander","title":"SpaceEx Commander","compatibility":99,"releases":[{"id":"0100299013B72000","region":null}]},{"id":"55e6c9a6-ab1e-4238-94fc-61667b7c5b92","directory":"yumemidori-nostalgia","title":"Yumemidori Nostalgia","compatibility":99,"releases":[{"id":"010052F0134B6000","region":null}]},{"id":"55eb5bc3-e04c-4371-8fef-7b929c256a02","directory":"numbala","title":"Numbala","compatibility":99,"releases":[{"id":"010002700C34C000","region":null}]},{"id":"55f42300-d83b-4c4e-9445-a4d188d5710d","directory":"hungry-shark-world","title":"Hungry Shark World","compatibility":0,"releases":[{"id":"0100E1A00AF40000","region":null}]},{"id":"55f6c600-1b1c-498e-ba6e-c47ded089b44","directory":"aca-neogeo-aero-fighters-3","title":"ACA NEOGEO AERO FIGHTERS 3","compatibility":2,"releases":[{"id":"0100B91008780000","region":null}]},{"id":"55ffa248-1b95-49a5-b056-29c09464e1d5","directory":"circa-infinity","title":"Circa Infinity","compatibility":99,"releases":[{"id":"0100FF0015708000","region":null}]},{"id":"560c5b01-cc56-4a02-a3e4-c5fb6b1921f2","directory":"big-crown-showdown","title":"Big Crown: Showdown","compatibility":99,"releases":[{"id":"010088100C35E000","region":null}]},{"id":"56285de8-fe31-4e8b-be28-da8533fcb117","directory":"frutakia-2","title":"Frutakia 2","compatibility":99,"releases":[{"id":"010099700B760000","region":null}]},{"id":"562e711d-0245-4a6f-9791-4004852ade87","directory":"apparition","title":"Apparition","compatibility":99,"releases":[{"id":"01005F20116A0000","region":null}]},{"id":"562fc0d0-e72a-4425-9dff-d7fd9c90af6e","directory":"box-align","title":"Box Align","compatibility":0,"releases":[{"id":"010040800BA8A000","region":null}]},{"id":"56354915-ccf2-4dd4-ae38-4c36e1f30b75","directory":"super-mario-odyssey","title":"Super Mario Odyssey","compatibility":1,"releases":[{"id":"0100000000010000","region":null}]},{"id":"56396c59-65b2-43d6-b0a3-b67521086cab","directory":"the-lost-light-of-sisu","title":"The Lost Light of Sisu","compatibility":99,"releases":[{"id":"010052D00B754000","region":null}]},{"id":"5654ea41-bf0b-479a-8a93-bafd68c1c470","directory":"arcade-archives-sunsetriders","title":"Arcade Archives SUNSETRIDERS","compatibility":3,"releases":[{"id":"0100D90011534000","region":null}]},{"id":"5676ad93-cb7d-436f-b19c-624aa113dec0","directory":"gunpowder-on-the-teeth-arcade","title":"Gunpowder on The Teeth: Arcade","compatibility":99,"releases":[{"id":"010050E00EC8E000","region":null}]},{"id":"56777427-86e5-45f0-a0ae-34fad3a20243","directory":"pixel-game-maker-series-buraigun-galaxy-storm","title":"Pixel Game Maker Series BURAIGUN GALAXY STORM","compatibility":3,"releases":[{"id":"0100F9101573E000","region":null}]},{"id":"56823f13-dc22-4abf-9174-4aec078fb488","directory":"best-friend-forever","title":"Best Friend Forever","compatibility":99,"releases":[{"id":"010075100ED92000","region":null}]},{"id":"5695159e-bd43-46e6-a669-7ce511d63c99","directory":"bai-qu-hundreds-of-melodies","title":"Bai Qu: Hundreds of Melodies","compatibility":99,"releases":[{"id":"0100810015412000","region":null}]},{"id":"56965234-9ac1-4ad5-9740-daa3f26896de","directory":"arcade-archives-life-force","title":"Arcade Archives LIFE FORCE","compatibility":1,"releases":[{"id":"0100F380105A4000","region":null}]},{"id":"569cff83-73e8-48d2-9841-f6bbb5882159","directory":"scribbled","title":"scribbled","compatibility":99,"releases":[{"id":"0100C4A015516000","region":null}]},{"id":"569e024d-9028-4711-b741-a905f0690a10","directory":"giga-wrecker-alt","title":"GIGA WRECKER ALT.","compatibility":0,"releases":[{"id":"010045F00BFC2000","region":null}]},{"id":"56a4068d-1da8-43c7-96a4-7fc14eb591f8","directory":"cannon-brawl","title":"Cannon Brawl","compatibility":99,"releases":[{"id":"0100499013C4A000","region":null}]},{"id":"56a62523-17fb-478a-b600-699bc6326656","directory":"horatio-goes-snowboarding","title":"Horatio Goes Snowboarding","compatibility":99,"releases":[{"id":"01001E7016716000","region":null}]},{"id":"56aa5d52-bbd0-4ac8-a0f0-ca6365916c36","directory":"kitten-squad","title":"Kitten Squad","compatibility":4,"releases":[{"id":"01000C900A136000","region":null}]},{"id":"56ac85e1-5824-4909-901a-0cf97d23d1a1","directory":"destructivator-se","title":"Destructivator SE","compatibility":99,"releases":[{"id":"0100D74012E0A000","region":null}]},{"id":"56ae2a0f-101e-48b4-95dc-a52f57a4803a","directory":"chop","title":"CHOP","compatibility":1,"releases":[{"id":"0100AFD00F13C000","region":null}]},{"id":"56afaaf7-54a5-4a02-ba5f-be4194ce395e","directory":"one-way-ticket","title":"One-Way Ticket","compatibility":3,"releases":[{"id":"0100EEA00E3EA000","region":null}]},{"id":"56b5f99b-2ca5-4ff4-a856-9fe19f614306","directory":"aldred-knight","title":"Aldred Knight","compatibility":1,"releases":[{"id":"01000E000EEF8000","region":null}]},{"id":"56c408a0-2812-45b5-b5ad-c9d79f751847","directory":"the-solitaire-conspiracy","title":"The Solitaire Conspiracy","compatibility":99,"releases":[{"id":"0100749013DCE000","region":null}]},{"id":"56c66cbc-d5d3-40e7-8f2d-ee904e791d48","directory":"zoids-wild-blast-unleashed","title":"Zoids Wild Blast Unleashed","compatibility":1,"releases":[{"id":"010069C0123D8000","region":null}]},{"id":"56cb187d-52b7-4095-aec5-c7e0e883a1b3","directory":"dinosaur-jigsaw-puzzles-dino-puzzle-game-for-kids-toddlers","title":"Dinosaur Jigsaw Puzzles - Dino Puzzle Game for Kids & Toddlers","compatibility":99,"releases":[{"id":"010061D0167FA000","region":null}]},{"id":"56cb9ada-620f-44be-ab9b-835e7dd14d1b","directory":"anodyne","title":"Anodyne","compatibility":99,"releases":[{"id":"01007DD00ABB4000","region":null}]},{"id":"56cc7fe2-6e87-444a-af00-0bc6270a5d8b","directory":"endurance-space-action","title":"Endurance - space action","compatibility":1,"releases":[{"id":"010045C011DF6000","region":null}]},{"id":"56d5d778-d986-460b-8788-19b563c1dab2","directory":"loop-hero","title":"Loop Hero","compatibility":99,"releases":[{"id":"010004E01523C000","region":null}]},{"id":"56dc2fc1-b0c5-4351-97ff-e13bfc544cbf","directory":"ego-protocol-remastered","title":"Ego Protocol: Remastered","compatibility":99,"releases":[{"id":"0100CC0010A46000","region":null}]},{"id":"56dcf735-20bd-4914-acdd-852aec9823f7","directory":"crazy-mini-golf-arcade","title":"Crazy Mini Golf Arcade","compatibility":99,"releases":[{"id":"0100120008468000","region":null}]},{"id":"56e95e05-352c-4c3c-a995-d0b707f42537","directory":"mandalas","title":"Mandalas","compatibility":99,"releases":[{"id":"0100AD50164D0000","region":null}]},{"id":"56ea3035-49b0-4c4b-91f9-91bf59ea8fdc","directory":"rockn-racing-off-road-dx","title":"Rock'N Racing Off Road DX","compatibility":99,"releases":[{"id":"0100513005AF4000","region":null}]},{"id":"56eb9e81-893b-487f-a9bf-09f193163595","directory":"roah","title":"Roah","compatibility":99,"releases":[{"id":"01000440123A6000","region":null}]},{"id":"56f30f50-78e0-499d-ba4f-5caccee77e44","directory":"my-aunt-is-a-witch","title":"My Aunt is a Witch","compatibility":1,"releases":[{"id":"01002C6012334000","region":null}]},{"id":"56fcbe5e-6fe1-415d-8483-39812beb1a0a","directory":"golem-gates","title":"Golem Gates","compatibility":99,"releases":[{"id":"01003C000D84C000","region":null}]},{"id":"570254ac-9aca-421b-85bc-12f4c2c7f087","directory":"sheepo","title":"Sheepo","compatibility":99,"releases":[{"id":"010095C014068000","region":null}]},{"id":"5712304f-2d21-4431-b35a-3bb77f2f7da5","directory":"polygod","title":"Polygod","compatibility":99,"releases":[{"id":"010017600B180000","region":null}]},{"id":"57229483-d57c-49a1-8d42-c32936e8e4d8","directory":"fernz-gate","title":"Fernz Gate","compatibility":3,"releases":[{"id":"01006E800B7F2000","region":null}]},{"id":"5727f89e-c453-4357-936b-778993587fea","directory":"nine-parchments","title":"Nine Parchments","compatibility":3,"releases":[{"id":"0100D03003F0E000","region":null}]},{"id":"57311839-9df4-41ba-ba91-e2de14a2d27b","directory":"bonito-days","title":"Bonito Days","compatibility":99,"releases":[{"id":"0100ACD0154CC000","region":null}]},{"id":"5737a129-5067-45dc-b82f-15ded00feee1","directory":"rock-boshers-dx-directors-cut","title":"ROCK BOSHERS DX: Director's Cut","compatibility":99,"releases":[{"id":"0100CD100BEA4000","region":null}]},{"id":"57395944-bac4-4dcd-ab37-a7cb68a2121a","directory":"the-letter-a-horror-visual-novel","title":"The Letter: A Horror Visual Novel","compatibility":99,"releases":[{"id":"010054700D680000","region":null}]},{"id":"573ca7e0-6430-4b8a-aaaf-77f911cc7047","directory":"bakumatsu-renka-shinsengumi","title":"Bakumatsu Renka SHINSENGUMI","compatibility":99,"releases":[{"id":"01008260138C4000","region":null}]},{"id":"5747847a-06b8-4dec-b19b-b0d5be2b4c92","directory":"namco-museum-r-archives-vol-2","title":"NAMCO MUSEUM® ARCHIVES Vol 2","compatibility":0,"releases":[{"id":"0100BCE010E1A000","region":null}]},{"id":"575250e4-4682-48a7-8e95-c2000964ecee","directory":"smashroom","title":"Smashroom","compatibility":99,"releases":[{"id":"0100FF5015416000","region":null}]},{"id":"575ab844-01cc-4473-a18d-7814ec92a3d4","directory":"rift-racoon","title":"Rift Racoon","compatibility":99,"releases":[{"id":"01002A2013648000","region":null}]},{"id":"57612a98-836a-4f7f-aad5-361375b9d640","directory":"zaccaria-pinball","title":"Zaccaria Pinball","compatibility":5,"releases":[{"id":"010092400A678000","region":null}]},{"id":"57680887-6a10-49d0-963c-2808dbc6828f","directory":"crayon-shinchan-the-storm-called-flaming-kasukabe-runner","title":"CRAYON SHINCHAN The Storm Called FLAMING KASUKABE RUNNER!!","compatibility":0,"releases":[{"id":"0100D470106DC000","region":null}]},{"id":"576a5c76-c8d5-4da4-94e0-d8bd06604161","directory":"eternal-edge","title":"Eternal Edge","compatibility":4,"releases":[{"id":"010007100A16A000","region":null}]},{"id":"5778bd2c-2d72-4bc7-b222-7190fa92146f","directory":"agatha-knife","title":"Agatha Knife","compatibility":99,"releases":[{"id":"010093600A60C000","region":null}]},{"id":"57816bb7-2004-43f9-ad7e-94a26d1d9a13","directory":"jetsnguns","title":"Jets'n'Guns","compatibility":99,"releases":[{"id":"010026200FF36000","region":null}]},{"id":"5782483e-fb4f-41f0-a493-327056dc6f75","directory":"pretty-girls-mahjong-solitaire-blue","title":"Pretty Girls Mahjong Solitaire - Blue","compatibility":0,"releases":[{"id":"0100EBF014D42000","region":null}]},{"id":"57a8c56a-005e-4335-bd21-8b22a7662527","directory":"super-mario-party","title":"Super Mario Party","compatibility":2,"releases":[{"id":"010036B0034E4000","region":null}]},{"id":"57aa88ef-9940-4914-b3a8-8ee8ed650beb","directory":"plants-vs-zombies-battle-for-neighborville-complete-edition","title":"Plants vs. Zombies: Battle for Neighborville™ Complete Edition","compatibility":4,"releases":[{"id":"0100C56010FD8000","region":null}]},{"id":"57c544b3-8975-47a2-b4e2-886272f867ae","directory":"kamiko","title":"KAMIKO","compatibility":0,"releases":[{"id":"010085300314E000","region":null}]},{"id":"57c88b5e-bd63-4c39-95ae-d1322c88ff3b","directory":"super-soccer-blast","title":"Super Soccer Blast","compatibility":2,"releases":[{"id":"0100D61012270000","region":null}]},{"id":"57cc0bdc-aa9d-4459-b4ae-64e902ebd837","directory":"green-phoenix","title":"Green Phoenix","compatibility":99,"releases":[{"id":"0100E20014C46000","region":null}]},{"id":"57d8ce32-e678-431b-83bd-699142b912af","directory":"super-smash-bros-ultimate","title":"Super Smash Bros. Ultimate","compatibility":2,"releases":[{"id":"01006A800016E000","region":null}]},{"id":"57e7087a-99a7-4c3f-837e-92693d0962d4","directory":"gunslugs","title":"Gunslugs","compatibility":99,"releases":[{"id":"01008050130EE000","region":null}]},{"id":"57ebc871-7c7c-4929-bd56-1449f27c5095","directory":"aca-neogeo-crossed-swords","title":"ACA NEOGEO CROSSED SWORDS","compatibility":99,"releases":[{"id":"0100D2400AFB0000","region":null}]},{"id":"57f8f3fe-1caa-4eff-bef9-ce98f4779546","directory":"ski-jump-challenge","title":"Ski Jump Challenge","compatibility":99,"releases":[{"id":"0100D95014202000","region":null}]},{"id":"580f5109-c42f-49ce-88f2-c0e166e8de02","directory":"qb-planets","title":"QB Planets","compatibility":99,"releases":[{"id":"01009E8015FB6000","region":null}]},{"id":"5813cb58-cf43-413c-88c0-5f6a05c053bb","directory":"super-soccer-blast-america-vs-europe","title":"Super Soccer Blast: America VS Europe","compatibility":3,"releases":[{"id":"0100A0C0145F6000","region":null}]},{"id":"5813cd3b-e1fb-4238-b0e7-6fd01cddcca4","directory":"enter-the-gungeon","title":"Enter the Gungeon","compatibility":1,"releases":[{"id":"01009D60076F6000","region":null}]},{"id":"58142047-6f09-4161-ac94-66a38dac5c4e","directory":"kingdom-hearts-melody-of-memory","title":"KINGDOM HEARTS Melody of Memory","compatibility":3,"releases":[{"id":"01005D2011EA8000","region":null}]},{"id":"58155dae-9474-484f-9743-da2dec12cc69","directory":"sentinels-of-freedom","title":"Sentinels of Freedom","compatibility":0,"releases":[{"id":"01009E500D29C000","region":null}]},{"id":"5817b135-1b55-49c8-a3be-412d56963881","directory":"night-lights","title":"Night Lights","compatibility":99,"releases":[{"id":"0100BEF016476000","region":null}]},{"id":"5819cc3b-2d29-40d2-8e0c-22e96482f64d","directory":"kirby-fighters-2","title":"Kirby Fighters™ 2","compatibility":0,"releases":[{"id":"0100227010460000","region":null}]},{"id":"582428de-b2c1-4c64-b00e-059d18b4fe67","directory":"jigsaw-masterpieces","title":"Jigsaw Masterpieces","compatibility":99,"releases":[{"id":"0100BB800E0D2000","region":null}]},{"id":"582de476-1097-4113-841f-6a4df04678dc","directory":"garage-mechanic-simulator","title":"Garage Mechanic Simulator","compatibility":99,"releases":[{"id":"01001DC00E324000","region":null}]},{"id":"5845a0ee-77a1-4b50-b536-90dec63b210a","directory":"guess-the-word","title":"Guess the word","compatibility":99,"releases":[{"id":"01005DC00D80C000","region":null}]},{"id":"584e19a2-63e2-421d-bf99-bd6d87051db6","directory":"space-warrior","title":"Space Warrior","compatibility":99,"releases":[{"id":"010090F014CA4000","region":null}]},{"id":"5855aede-c758-4180-8120-6c6ec9471599","directory":"unspottable","title":"Unspottable","compatibility":0,"releases":[{"id":"0100B410138C0000","region":null}]},{"id":"585b133f-aaac-4b12-b2f9-9f01fd5526b8","directory":"spacecats-with-lasers","title":"Spacecats with Lasers","compatibility":99,"releases":[{"id":"0100D9B0041CE000","region":null}]},{"id":"585fcf06-c597-46a4-88f5-5fe134b7592e","directory":"finding-teddy-2-definitive-edition","title":"Finding Teddy 2 : Definitive Edition","compatibility":99,"releases":[{"id":"0100FF100FB68000","region":null}]},{"id":"58601196-ee61-4963-8963-e4438cc77b3d","directory":"tesla-force","title":"Tesla Force","compatibility":99,"releases":[{"id":"0100FFD00FDF8000","region":null}]},{"id":"5871dd51-387c-4702-ad59-f30c407c7770","directory":"arcade-archives-elevator-action","title":"Arcade Archives ELEVATOR ACTION","compatibility":5,"releases":[{"id":"0100BF8006EC6000","region":null}]},{"id":"588cbc23-e744-409a-bed3-2de49bd89e37","directory":"curling","title":"Curling","compatibility":99,"releases":[{"id":"010038E0137A8000","region":null}]},{"id":"588f23dd-dd4e-46e9-8b44-698c15d0e0b6","directory":"under-the-jolly-roger","title":"Under the Jolly Roger","compatibility":0,"releases":[{"id":"010031E00EA24000","region":null}]},{"id":"588f7ab4-ec40-4d1e-9c7d-078439e92c84","directory":"arcade-archives-raiden","title":"Arcade Archives RAIDEN","compatibility":1,"releases":[{"id":"010025E0131A6000","region":null}]},{"id":"589538d3-c092-4ae6-80df-bd6bddd8d19a","directory":"puddle-knights","title":"Puddle Knights","compatibility":99,"releases":[{"id":"0100FE10127F4000","region":null}]},{"id":"58c95052-47a5-425e-8399-a2a665369242","directory":"roommates","title":"Roommates","compatibility":99,"releases":[{"id":"0100B8C01252A000","region":null}]},{"id":"58d038b8-6ed7-4d37-b51a-a55d42a3e1d4","directory":"lets-go-nuts","title":"Let's Go Nuts","compatibility":99,"releases":[{"id":"010070600DFE4000","region":null}]},{"id":"58d42dd1-a5fe-4e64-9e19-a2b5e762db7a","directory":"charterstone-digital-edition","title":"Charterstone: Digital Edition","compatibility":99,"releases":[{"id":"01008F500E042000","region":null}]},{"id":"58efb4eb-07b1-4923-b086-7b958c938589","directory":"ultra-street-fighter-ii-the-final-challengers","title":"Ultra Street Fighter II: The Final Challengers","compatibility":0,"releases":[{"id":"01007330027EE000","region":null}]},{"id":"59013324-8278-44b8-a8f2-1a461768edbb","directory":"inversus-deluxe-demo","title":"INVERSUS Deluxe Demo","compatibility":99,"releases":[{"id":"010009100845A000","region":null}]},{"id":"590150c5-c731-49b1-b924-331838746a10","directory":"out-there-w-the-alliance","title":"Out There: Ω The Alliance","compatibility":99,"releases":[{"id":"010076C00B8F0000","region":null}]},{"id":"5903a86a-3e65-4beb-a804-8690ef93fbef","directory":"everdark-tower","title":"Everdark Tower","compatibility":1,"releases":[{"id":"010029500DFBA000","region":null}]},{"id":"590af3d7-8b78-4b79-a972-0d359dabbd8f","directory":"mononoke-slashdown","title":"Mononoke Slashdown","compatibility":4,"releases":[{"id":"0100F3A00FB78000","region":null}]},{"id":"5912ee62-b37c-432a-a5dc-1c67ce0f1e86","directory":"mekabolt","title":"Mekabolt","compatibility":99,"releases":[{"id":"0100F4F00F098000","region":null}]},{"id":"591960d0-dccb-4c64-8844-6a7d3e8198fa","directory":"five-nights-at-freddys-2","title":"Five Nights at Freddy's 2","compatibility":2,"releases":[{"id":"01004EB00E43A000","region":null}]},{"id":"591d1cf5-c96b-4cc2-ad76-98db07fdcd2d","directory":"road-redemption","title":"Road Redemption","compatibility":1,"releases":[{"id":"010053000B986000","region":null}]},{"id":"591e8572-1fde-4c40-9cb0-e246a0cdf51d","directory":"fe","title":"Fe","compatibility":1,"releases":[{"id":"0100D2600736A000","region":null}]},{"id":"592ddac8-1ba3-47b1-8cd6-c425e15c7ae3","directory":"subnautica","title":"Subnautica","compatibility":1,"releases":[{"id":"0100429011144000","region":null}]},{"id":"592e5d9b-8f8c-4852-94e7-bfd9faaf3103","directory":"xtreme-club-racing","title":"Xtreme Club Racing","compatibility":99,"releases":[{"id":"0100DAE00DE4E000","region":null}]},{"id":"592f7237-5ba3-41c0-97a8-7d4226bbc57d","directory":"brotherhood-united","title":"Brotherhood United","compatibility":99,"releases":[{"id":"0100BCD010E88000","region":null}]},{"id":"593e5c0e-6d88-4527-877b-c7fb47a7e42f","directory":"aca-neogeo-robo-army","title":"ACA NEOGEO ROBO ARMY","compatibility":1,"releases":[{"id":"01000C9004FA2000","region":null}]},{"id":"594ee02d-07b2-4f85-967a-8a8ae1124172","directory":"super-life-of-pixel","title":"Super Life of Pixel","compatibility":99,"releases":[{"id":"010042000CA02000","region":null}]},{"id":"5961cb2b-16a9-47bf-b3ae-e2e59067b714","directory":"i-and-me","title":"I and Me","compatibility":99,"releases":[{"id":"01005C40037C6000","region":null}]},{"id":"59622777-31c4-4d8a-82c1-ea4d1727152b","directory":"duke-nukem-3d-20th-anniversary-world-tour","title":"Duke Nukem 3D: 20th Anniversary World Tour","compatibility":4,"releases":[{"id":"01007EF00CB88000","region":null}]},{"id":"59648252-0a05-4a9b-8b1d-7880160ac4cd","directory":"rimelands-hammer-of-thor","title":"Rimelands: Hammer of Thor","compatibility":99,"releases":[{"id":"01006AC00EE6E000","region":null}]},{"id":"597cabd3-9823-4a6c-b0f4-c711addd2bbf","directory":"cryogear","title":"Cryogear","compatibility":99,"releases":[{"id":"0100AC100CCF6000","region":null}]},{"id":"597d0999-bbea-4696-b88a-4c568c29c0f7","directory":"human-resource-machine","title":"Human Resource Machine","compatibility":1,"releases":[{"id":"0100701001D92000","region":null}]},{"id":"59b03c99-04c1-4975-b201-bd3703f892cc","directory":"robotics-notes-dash","title":"ROBOTICS;NOTES DaSH","compatibility":99,"releases":[{"id":"010039A0117C0000","region":null}]},{"id":"59c2e6b6-8547-4933-b6e6-dfd964ec662d","directory":"sonic-forces","title":"SONIC FORCES","compatibility":2,"releases":[{"id":"01001270012B6000","region":null}]},{"id":"59c745a7-2ce9-4481-93c6-1dd484d950af","directory":"sgc-short-games-collection-1","title":"SGC - Short Games Collection #1","compatibility":99,"releases":[{"id":"01007BB015210000","region":null}]},{"id":"59cac437-4c21-4198-8a51-dd9f5612472e","directory":"hextones","title":"Hextones","compatibility":99,"releases":[{"id":"01005A0015670000","region":null}]},{"id":"59db8036-ef97-43a6-928d-5553b032c229","directory":"top-speed-drag-fast-racing","title":"Top Speed: Drag & Fast Racing","compatibility":99,"releases":[{"id":"010082600F1AC000","region":null}]},{"id":"5a0109a3-75b0-4f34-81be-3dbcf9da36d5","directory":"flying-soldiers","title":"Flying Soldiers","compatibility":99,"releases":[{"id":"010080701194E000","region":null}]},{"id":"5a2bb522-18fa-40d6-9c3e-83168c6ae893","directory":"jungle-z","title":"Jungle Z","compatibility":99,"releases":[{"id":"010080E00D3DE000","region":null}]},{"id":"5a3ca5ac-542c-4c8a-98fd-e1823828d0dc","directory":"abyss","title":"Abyss","compatibility":99,"releases":[{"id":"0100E7400C7C4000","region":null}]},{"id":"5a3e5aef-2c52-4f9b-aea8-1442fc7c3b3e","directory":"percys-predicament-deluxe","title":"Percy's Predicament Deluxe","compatibility":99,"releases":[{"id":"01005CE00617E000","region":null}]},{"id":"5a580f03-c64d-4b7c-bbb9-106d0fdda41f","directory":"pocket-races","title":"Pocket Races","compatibility":0,"releases":[{"id":"0100A250144E0000","region":null}]},{"id":"5a5fde1e-9599-47bd-bc04-dfe6db200f95","directory":"blood-breed","title":"Blood Breed","compatibility":99,"releases":[{"id":"01006A0010D6A000","region":null}]},{"id":"5a6e7b46-fa8f-4f4c-8e4a-d31a1760b036","directory":"pinocchio-super-puzzles-dream","title":"#pinocchio, Super Puzzles Dream","compatibility":99,"releases":[{"id":"01004D30157D2000","region":null}]},{"id":"5a6fe736-5b7e-40d7-b1b0-95236d8b53bb","directory":"truck-mechanic-simulator","title":"Truck Mechanic Simulator","compatibility":99,"releases":[{"id":"01003A00122E2000","region":null}]},{"id":"5a7cdb08-bb31-484a-8f95-0750b9deceac","directory":"little-mouses-encyclopedia","title":"Little Mouse's Encyclopedia","compatibility":0,"releases":[{"id":"0100FE0014200000","region":null}]},{"id":"5a8f4624-4baf-4b18-9ad2-f802415abf2c","directory":"werewolf-pinball","title":"Werewolf Pinball","compatibility":99,"releases":[{"id":"0100A0E00B7A4000","region":null}]},{"id":"5a9e99e8-3922-43bb-8675-87d55eb85b48","directory":"n-verlore-verstand","title":"'n Verlore Verstand","compatibility":0,"releases":[{"id":"010098800C4B0000","region":null}]},{"id":"5aa9023a-1b3e-4666-95e2-05865ee44514","directory":"phantom-breaker-battle-grounds-overdrive","title":"Phantom Breaker: Battle Grounds Overdrive","compatibility":2,"releases":[{"id":"0100063005C86000","region":null}]},{"id":"5aacc0aa-243d-457b-b429-013e38fb7ee6","directory":"restless-hero","title":"Restless Hero","compatibility":99,"releases":[{"id":"0100A00012652000","region":null}]},{"id":"5aae09b1-4b4e-42d7-83a0-3d53de919479","directory":"redneck-skeet-shooting","title":"Redneck Skeet Shooting","compatibility":99,"releases":[{"id":"0100BDE00E4C0000","region":null}]},{"id":"5ab3a00e-e930-4cdd-944d-e2db0db14f79","directory":"aca-neogeo-strikers-1945-plus","title":"ACA NEOGEO STRIKERS 1945 PLUS","compatibility":4,"releases":[{"id":"010061600BF7E000","region":null}]},{"id":"5abe24c8-1cc8-4d1c-92ff-9f63fa860746","directory":"tt-isle-of-man","title":"TT Isle of Man","compatibility":2,"releases":[{"id":"010099900CAB2000","region":null}]},{"id":"5abeced1-ea96-42f3-9683-d6cd35f090f9","directory":"kunai","title":"KUNAI","compatibility":0,"releases":[{"id":"010035A00DF62000","region":null}]},{"id":"5ad05de4-12c4-477e-a1d2-c5625758aa32","directory":"otttd-over-the-top-tower-defense","title":"OTTTD: Over The Top Tower Defense","compatibility":99,"releases":[{"id":"01000320060AC000","region":null}]},{"id":"5ad975e0-894e-46d6-8d55-119a0967e0cc","directory":"super-chicken-catchers","title":"Super Chicken Catchers","compatibility":99,"releases":[{"id":"010059500EAFE000","region":null}]},{"id":"5ae13a9c-e925-4255-b6aa-857c554cb864","directory":"family-feud-r","title":"Family Feud®","compatibility":1,"releases":[{"id":"010060200FC44000","region":null}]},{"id":"5ae61b4e-5400-4830-b194-66f025218534","directory":"chromagun-demo","title":"ChromaGun Demo","compatibility":99,"releases":[{"id":"0100EA500902E000","region":null}]},{"id":"5aece8f7-fde6-4659-9106-c05a0908e104","directory":"6180-the-moon","title":"6180 the moon","compatibility":1,"releases":[{"id":"0100ECF008474000","region":null}]},{"id":"5aef53d1-3d6d-4f9e-8b38-dfb086455676","directory":"valkyria-chronicles","title":"Valkyria Chronicles","compatibility":99,"releases":[{"id":"0100CAF00B744000","region":null}]},{"id":"5b05c5e3-a9cc-4e0f-8898-c709df0c1eaf","directory":"cat-quest","title":"Cat Quest","compatibility":0,"releases":[{"id":"0100A2F006FBE000","region":null}]},{"id":"5b185e2e-45ee-4efb-b605-b0c3a5671030","directory":"fairy-fencer-f-advent-dark-force","title":"Fairy Fencer F: Advent Dark Force","compatibility":99,"releases":[{"id":"010002300C632000","region":null}]},{"id":"5b1943fc-8fde-4f77-823d-9c0568198706","directory":"under-leaves","title":"Under Leaves","compatibility":0,"releases":[{"id":"01008F3013E4E000","region":null}]},{"id":"5b1a313c-68c5-469c-9ab7-3c1559fd5682","directory":"the-procession-to-calvary","title":"The Procession To Calvary","compatibility":99,"releases":[{"id":"0100767012DB8000","region":null}]},{"id":"5b1d594a-3375-4a0e-9ebc-7f36526d34f0","directory":"doomsday-vault","title":"Doomsday Vault","compatibility":99,"releases":[{"id":"0100B6C0124FE000","region":null}]},{"id":"5b1e19ce-afbb-4719-90a8-c02d5157a4e0","directory":"ninnindays2","title":"NinNinDays2","compatibility":99,"releases":[{"id":"0100DEF016364000","region":null}]},{"id":"5b327ebb-95b0-4e8e-8e26-af64c33b4c1f","directory":"mickey-storm-and-the-cursed-mask","title":"Mickey Storm and the Cursed Mask","compatibility":1,"releases":[{"id":"010061D0139D0000","region":null}]},{"id":"5b329e16-e7d3-4e9f-a816-72e4e5d29f0a","directory":"fill-a-pix-phils-epic-adventure-demo","title":"Fill-a-Pix: Phil's Epic Adventure Demo","compatibility":99,"releases":[{"id":"01002FC00B694000","region":null}]},{"id":"5b33ffc2-817f-4251-826f-815a5106e7e0","directory":"weapon-of-choice-dx","title":"Weapon of Choice DX","compatibility":99,"releases":[{"id":"01001FB012114000","region":null}]},{"id":"5b3bcc8d-ab73-46e5-9662-0c15af481ffc","directory":"shakes-on-a-plane","title":"Shakes on a Plane","compatibility":99,"releases":[{"id":"01008DA012EC0000","region":null}]},{"id":"5b3c45dc-307c-4af5-ba9f-afdce1392bb4","directory":"zeroptian-invasion","title":"Zeroptian Invasion","compatibility":99,"releases":[{"id":"010090100D3D6000","region":null}]},{"id":"5b569314-9647-47e4-bf35-372ab841bf5b","directory":"brick-breaker","title":"Brick Breaker","compatibility":0,"releases":[{"id":"010026800BB06000","region":null}]},{"id":"5b5cae9e-81f6-49b6-a7b1-2e3eff4787d4","directory":"dust-an-elysian-tail","title":"Dust: An Elysian Tail","compatibility":2,"releases":[{"id":"0100B6E00A420000","region":null}]},{"id":"5b5e5139-b86c-41d6-a1e9-e5ad3896e861","directory":"cupid-parasite","title":"Cupid Parasite","compatibility":3,"releases":[{"id":"0100E010152CA000","region":null}]},{"id":"5b657b84-cf90-44cf-b516-73baf283292f","directory":"adventures-of-chris","title":"Adventures of Chris","compatibility":0,"releases":[{"id":"010072601233C000","region":null}]},{"id":"5b9a4ea5-fc57-415e-96e9-fb3a889f68ee","directory":"siebenstreichs-nerdventure","title":"Siebenstreich's Nerdventure","compatibility":99,"releases":[{"id":"01006F3015228000","region":null}]},{"id":"5b9c0caf-9fb1-4a1b-82f3-1e350bc05c8b","directory":"reed-2","title":"Reed 2","compatibility":99,"releases":[{"id":"01003EF0118D2000","region":null}]},{"id":"5ba0b456-37e8-443a-a0ed-c30c18cf2571","directory":"knight-swap-2","title":"Knight Swap 2","compatibility":99,"releases":[{"id":"0100D84011926000","region":null}]},{"id":"5ba6a4b8-2a44-48b1-ac2a-1bb8810423d1","directory":"need-a-packet","title":"Need a packet?","compatibility":99,"releases":[{"id":"0100BBC00E4F8000","region":null}]},{"id":"5bb3562e-12fe-41a0-94f7-a489f0628396","directory":"legendary-eleven","title":"Legendary Eleven","compatibility":99,"releases":[{"id":"0100A73006E74000","region":null}]},{"id":"5bc6d3c7-1dd2-4712-a76e-59fe574bd53f","directory":"circle-of-sumo","title":"Circle of Sumo","compatibility":0,"releases":[{"id":"010039700BA7E000","region":null}]},{"id":"5bc912c7-5684-440f-a7cb-5ec5557d2b42","directory":"many-faces","title":"Many Faces","compatibility":99,"releases":[{"id":"01009D4011BFC000","region":null}]},{"id":"5bd480a5-b817-4810-9306-de4ad4eabc8a","directory":"slots-of-the-season","title":"Slots of the Season","compatibility":99,"releases":[{"id":"01005FC0133D2000","region":null}]},{"id":"5bd62b81-8c9f-4b75-841d-6f8618f42e35","directory":"quantum-replica","title":"Quantum Replica","compatibility":99,"releases":[{"id":"010045101288A000","region":null}]},{"id":"5bdacb4c-c495-451c-8a52-78e4f92630ec","directory":"bioshock-remastered","title":"BioShock Remastered","compatibility":2,"releases":[{"id":"0100AD10102B2000","region":null}]},{"id":"5be18d66-2ef3-42e1-bc96-8e138b34b2ed","directory":"clubhouse-games-51-worldwide-classics","title":"Clubhouse Games™: 51 Worldwide Classics","compatibility":0,"releases":[{"id":"010047700D540000","region":null}]},{"id":"5be2611b-95ef-44e9-aaac-4e64122eae7b","directory":"genesis-noir","title":"Genesis Noir","compatibility":3,"releases":[{"id":"01009C701165E000","region":null}]},{"id":"5be2a489-132a-4907-be50-a183fb808b53","directory":"aliens-drive-me-crazy","title":"Aliens Drive Me Crazy","compatibility":99,"releases":[{"id":"01001030160F4000","region":null}]},{"id":"5bee1e96-a37c-442b-8863-efc206d88232","directory":"escape-2088","title":"Escape 2088","compatibility":99,"releases":[{"id":"01001F2013DF2000","region":null}]},{"id":"5bf67a56-81ac-485f-9419-f96e5585b0b8","directory":"lode-runner-legacy-demo-version","title":"Lode Runner Legacy Demo Version","compatibility":99,"releases":[{"id":"010086500AC4A000","region":null}]},{"id":"5bfa3eeb-4f9e-4f17-847b-1a36089f6c1c","directory":"the-padre","title":"The Padre","compatibility":99,"releases":[{"id":"0100EB000C818000","region":null}]},{"id":"5c019507-bee7-4f92-89db-71bc786e0381","directory":"lost-artifacts-golden-island","title":"Lost Artifacts: Golden Island","compatibility":99,"releases":[{"id":"01005B600E396000","region":null}]},{"id":"5c0c7a3a-627a-403e-a132-2a6b92f7dd13","directory":"kingdom-two-crowns","title":"Kingdom Two Crowns","compatibility":1,"releases":[{"id":"01005EF003FF2000","region":null}]},{"id":"5c0fd2b7-4ff6-43a6-8710-260c0b380527","directory":"the-flame-in-the-flood-complete-edition","title":"The Flame In The Flood: Complete Edition","compatibility":1,"releases":[{"id":"0100C38004DCC000","region":null}]},{"id":"5c20152c-27b9-409a-a0df-b4a5eb0088b6","directory":"metaverse-keeper","title":"Metaverse Keeper","compatibility":3,"releases":[{"id":"0100AFF00F938000","region":null}]},{"id":"5c214cae-e9b4-4e54-a12e-e5af0e95e3f1","directory":"bullet-battle-evolution","title":"Bullet Battle: Evolution","compatibility":99,"releases":[{"id":"010029400DE76000","region":null}]},{"id":"5c4cda37-6004-4f4e-bf13-4ce571042ebc","directory":"coffin-dodgers","title":"Coffin Dodgers","compatibility":3,"releases":[{"id":"0100178009648000","region":null}]},{"id":"5c544f10-d0a4-4e4b-98b4-3e65d23c452d","directory":"happy-hoarder","title":"Happy Hoarder","compatibility":99,"releases":[{"id":"010057A01457E000","region":null}]},{"id":"5c57500b-8cbf-4753-9cca-5fd0f3aa84ab","directory":"arcade-archives-the-tin-star","title":"Arcade Archives THE TIN STAR","compatibility":99,"releases":[{"id":"010000700F292000","region":null}]},{"id":"5c6094ba-739a-4c83-94d1-e0e4751057dc","directory":"crosskrush","title":"CrossKrush","compatibility":99,"releases":[{"id":"0100472013142000","region":null}]},{"id":"5c63940a-30ed-4cfc-af71-4bf002de137d","directory":"neurovoider","title":"NeuroVoider","compatibility":99,"releases":[{"id":"0100BA0004F38000","region":null}]},{"id":"5c6c0432-2d17-4695-9e37-76d09e22dc40","directory":"super-mario-maker-2","title":"Super Mario Maker 2","compatibility":0,"releases":[{"id":"01009B90006DC000","region":null}]},{"id":"5c894f3c-1ed2-4704-8243-284d6ea739e4","directory":"missile-dancer","title":"Missile Dancer","compatibility":0,"releases":[{"id":"0100CFA0138C8000","region":null}]},{"id":"5c8ce8a3-2b48-4565-b63f-0827913101f3","directory":"driving-world-italian-job","title":"Driving World: Italian Job","compatibility":99,"releases":[{"id":"01003FA0164E0000","region":null}]},{"id":"5c90aa90-1d8d-483e-9d88-9d548d017910","directory":"wacky-run","title":"Wacky Run","compatibility":99,"releases":[{"id":"0100DCD013CDA000","region":null}]},{"id":"5c90ab7f-196a-4fb6-bc3a-e9a811bb0a22","directory":"legends-of-ethernal","title":"Legends of Ethernal","compatibility":3,"releases":[{"id":"01008EE012CD4000","region":null}]},{"id":"5c987a8e-9c1e-4ff4-a255-257e0416cb49","directory":"aca-neogeo-nam-1975","title":"ACA NEOGEO NAM-1975","compatibility":99,"releases":[{"id":"0100A8C001DCE000","region":null}]},{"id":"5c9bb915-dee8-4532-93a6-37453b532527","directory":"absolute-drift","title":"Absolute Drift","compatibility":2,"releases":[{"id":"0100A5B010A66000","region":null}]},{"id":"5caea039-423a-4af1-83e1-b28426e2a893","directory":"double-cross","title":"Double Cross","compatibility":99,"releases":[{"id":"0100F7300BD8E000","region":null}]},{"id":"5cb87fab-27a7-404b-b60f-fd01ca3a87de","directory":"burst-shooter","title":"Burst Shooter","compatibility":99,"releases":[{"id":"0100870012912000","region":null}]},{"id":"5cbf45e8-cea1-42ba-aa33-08e714915836","directory":"lonely-mountains-downhill","title":"Lonely Mountains: Downhill","compatibility":5,"releases":[{"id":"0100A0C00E0DE000","region":null}]},{"id":"5cbfc3b2-7ad3-4fbf-8489-533ce2b1667e","directory":"word-sudoku-by-powgi","title":"Word Sudoku by POWGI","compatibility":99,"releases":[{"id":"01002AA00C708000","region":null}]},{"id":"5cc0f7b3-b03f-4501-9240-03060e728e02","directory":"cards-of-the-dead","title":"Cards of the Dead","compatibility":99,"releases":[{"id":"010074E015E2A000","region":null}]},{"id":"5cc2c1c3-f019-45c8-b865-44d7effdf24e","directory":"the-infectious-madness-of-doctor-dekker","title":"The Infectious Madness of Doctor Dekker","compatibility":99,"releases":[{"id":"01008940086E0000","region":null}]},{"id":"5cd3825d-f30a-44a9-9154-507ed11eb5b6","directory":"heartandslash","title":"Heart&Slash","compatibility":99,"releases":[{"id":"0100D12008EE4000","region":null}]},{"id":"5ce3262e-2b26-444f-ae75-6d533be7c191","directory":"slime-rancher-plortable-edition","title":"Slime Rancher: Plortable Edition","compatibility":1,"releases":[{"id":"0100B9C0148D0000","region":null}]},{"id":"5cec25e3-b756-4692-9b61-1b59adf350f8","directory":"unruly-heroes","title":"Unruly Heroes","compatibility":0,"releases":[{"id":"010001300CC4A000","region":null}]},{"id":"5cee3938-1cf1-4e7e-bd16-b45951390e7a","directory":"jydge","title":"JYDGE","compatibility":4,"releases":[{"id":"010035A0044E8000","region":null}]},{"id":"5cef6bc6-ea8b-403b-82f0-ac9ec1e7a22d","directory":"love-esquire","title":"Love Esquire","compatibility":1,"releases":[{"id":"0100D600129A4000","region":null}]},{"id":"5cf92786-09df-487f-819f-8bf714c846aa","directory":"arcade-archives-ikari-warriors","title":"Arcade Archives IKARI WARRIORS","compatibility":4,"releases":[{"id":"010049400C7A8000","region":null}]},{"id":"5cff1413-f85e-4e78-a738-4b4085a77f07","directory":"gynoug","title":"Gynoug","compatibility":99,"releases":[{"id":"0100B150163A4000","region":null}]},{"id":"5cffdc59-756b-4b3e-992c-9de9a9da5aec","directory":"push-the-crate","title":"Push the Crate","compatibility":99,"releases":[{"id":"010016400F07E000","region":null}]},{"id":"5d031cf3-2bba-4907-9368-e71892ae5803","directory":"fast-rmx","title":"FAST RMX","compatibility":3,"releases":[{"id":"01009510001CA000","region":null}]},{"id":"5d03604a-0879-4825-8c74-aa29bcf97ea0","directory":"smash-rush","title":"Smash Rush","compatibility":4,"releases":[{"id":"010084000FA78000","region":null}]},{"id":"5d182291-99c2-4d81-a0fe-3dea8d17740c","directory":"solas-128","title":"SOLAS 128","compatibility":99,"releases":[{"id":"0100488011B16000","region":null}]},{"id":"5d313f44-b4cd-4316-af1e-7bde4378669f","directory":"arcade-archives-saboten-bombers","title":"Arcade Archives SABOTEN BOMBERS","compatibility":99,"releases":[{"id":"01007C80144D6000","region":null}]},{"id":"5d316834-92f4-4fdd-b9b5-461f94f040f5","directory":"ark-survival-evolved","title":"ARK: Survival Evolved","compatibility":4,"releases":[{"id":"0100D4A00B284000","region":null}]},{"id":"5d3af4b5-8ec5-43bb-b683-7b936a05e5dd","directory":"yuri","title":"Yuri","compatibility":99,"releases":[{"id":"0100FC900963E000","region":null}]},{"id":"5d4cba47-fb46-45d1-bd42-a9d6e5ea9966","directory":"battle-group-2","title":"Battle Group 2","compatibility":99,"releases":[{"id":"0100FE000BA42000","region":null}]},{"id":"5d53cbf2-fbba-4a47-901f-d417ab1ec88a","directory":"beholder-2","title":"Beholder 2","compatibility":0,"releases":[{"id":"01000DF00EBBA000","region":null}]},{"id":"5d6b0880-4aef-4f93-9fd4-202895a58571","directory":"classic-checkers","title":"Classic Checkers","compatibility":99,"releases":[{"id":"0100D89014A0E000","region":null}]},{"id":"5d77c02e-edf5-46a0-bc3b-425c2902a766","directory":"pool-panic","title":"Pool Panic","compatibility":99,"releases":[{"id":"0100D6D00A490000","region":null}]},{"id":"5d7fd1c1-a1f7-446d-8c81-1fa515b9389b","directory":"80-days","title":"80 DAYS","compatibility":99,"releases":[{"id":"0100B0700E944000","region":null}]},{"id":"5d817318-8e13-421b-bc92-2883aefe68e5","directory":"little-inferno","title":"Little Inferno","compatibility":0,"releases":[{"id":"0100B18001D8E000","region":null}]},{"id":"5d8963ab-4ee9-4d9d-9a50-67fe787f0498","directory":"sparkle-unleashed","title":"Sparkle Unleashed","compatibility":99,"releases":[{"id":"01000DC007E90000","region":null}]},{"id":"5d8d6098-d496-43f9-8d82-3a8c5b8cb53e","directory":"across-the-grooves","title":"Across the Grooves","compatibility":99,"releases":[{"id":"010043C010AEA000","region":null}]},{"id":"5da3baa7-c868-41c5-886c-44628e3cfefa","directory":"whiskey-mafia-leos-family","title":"Whiskey Mafia: Leo's Family","compatibility":99,"releases":[{"id":"0100A12016BAC000","region":null}]},{"id":"5da5fb9c-6813-4b8c-b459-f6d44d0acb8c","directory":"gravity-rider-zero","title":"Gravity Rider Zero","compatibility":99,"releases":[{"id":"01002C2011828000","region":null}]},{"id":"5dbe9bac-d0f2-45da-a6b4-ea2bf58509e0","directory":"the-casebook-of-arkady-smith","title":"The Casebook of Arkady Smith","compatibility":99,"releases":[{"id":"01008AB00FBA6000","region":null}]},{"id":"5dc2958a-3310-4118-9ded-024391770f1c","directory":"escape-from-a-deserted-island-the-adventures-of-nyanzou-kumakichi-escape-game-series","title":"Escape From a Deserted Island\n~The Adventures of Nyanzou&Kumakichi: Escape Game Series~","compatibility":99,"releases":[{"id":"01000830155A2000","region":null}]},{"id":"5dd24bb2-77b2-42e9-9c86-8617ae3a8cb1","directory":"mazm-the-phantom-of-the-opera","title":"MazM: The Phantom of the Opera","compatibility":99,"releases":[{"id":"0100060013786000","region":null}]},{"id":"5dd9221a-1fc0-43b4-b29e-87c0583bb906","directory":"just-dance-r-2022","title":"Just Dance® 2022","compatibility":2,"releases":[{"id":"0100EA6014BB8000","region":null}]},{"id":"5de1b9df-2b1e-4b06-b79a-4a2df33351b1","directory":"heroine-anthem-zero-episode-1","title":"HEROINE ANTHEM ZERO episode 1","compatibility":0,"releases":[{"id":"01001B70080F0000","region":null}]},{"id":"5de4b1c6-0397-4872-979e-92e51bbef766","directory":"inops","title":"Inops","compatibility":99,"releases":[{"id":"0100DD200B59E000","region":null}]},{"id":"5de5549a-ecbf-4a88-b48d-81a6634ae4f9","directory":"crash-bandicoot-4-its-about-time","title":"Crash Bandicoot™ 4: It’s About Time","compatibility":2,"releases":[{"id":"010073401175E000","region":null}]},{"id":"5e1466d1-ca5c-46ca-9b6a-1d8a85d65110","directory":"pawarumi","title":"Pawarumi","compatibility":99,"releases":[{"id":"0100A56006CEE000","region":null}]},{"id":"5e290adb-2e88-4d84-be0c-21bf09d079fd","directory":"super-tennis","title":"Super Tennis","compatibility":0,"releases":[{"id":"01002950102CE000","region":null}]},{"id":"5e3194b3-aea4-4faf-af1d-d99e6808c7dc","directory":"arcade-archives-mrgoemon","title":"Arcade Archives Mr.GOEMON","compatibility":99,"releases":[{"id":"0100D7000F17A000","region":null}]},{"id":"5e363b09-7d60-4e26-ba88-35bd2dea0586","directory":"iridium","title":"Iridium","compatibility":5,"releases":[{"id":"010095C016C14000","region":null}]},{"id":"5e448f34-54c6-403a-8240-18dc5538a364","directory":"arcade-archives-atomic-robo-kid","title":"Arcade Archives Atomic Robo-Kid","compatibility":99,"releases":[{"id":"0100426001DE4000","region":null}]},{"id":"5e4b75ae-70e5-4dd3-b760-737b366e6c4b","directory":"peasant-knight","title":"Peasant Knight","compatibility":1,"releases":[{"id":"010028A0048A6000","region":null}]},{"id":"5e4efb76-a71a-4f0b-acf9-9f4da7e4dbb7","directory":"outpost-delta","title":"Outpost Delta","compatibility":99,"releases":[{"id":"0100CCF00F5BC000","region":null}]},{"id":"5e5622f5-8003-4ef4-8492-4ea15a862fe4","directory":"in-my-shadow","title":"In My Shadow","compatibility":99,"releases":[{"id":"010022A01537A000","region":null}]},{"id":"5e5f3e40-67c4-4136-8ea8-d221d30531e2","directory":"deeeer-simulator-your-average-everyday-deer-game","title":"DEEEER Simulator: Your Average Everyday Deer Game","compatibility":2,"releases":[{"id":"0100190014D72000","region":null}]},{"id":"5e665be3-da54-46f0-af8c-784a7a568b9e","directory":"the-mystery-of-woolley-mountain","title":"The Mystery of Woolley Mountain","compatibility":99,"releases":[{"id":"0100C5200D178000","region":null}]},{"id":"5e6e7b20-71a2-4ec0-9c78-1ac726588e07","directory":"olympic-boxing","title":"Olympic Boxing","compatibility":99,"releases":[{"id":"0100EF70137A4000","region":null}]},{"id":"5e7a701a-3542-4c04-8636-0bd125b4266e","directory":"arcade-archives-victory-road","title":"Arcade Archives VICTORY ROAD","compatibility":99,"releases":[{"id":"010007100C7B6000","region":null}]},{"id":"5e7fdde7-3fe7-4e83-82ff-389bfbcf3cb6","directory":"cyberhive","title":"CyberHive","compatibility":99,"releases":[{"id":"0100EB9014722000","region":null}]},{"id":"5e80e524-8ddd-4346-8b0d-3518fca0b548","directory":"super-rock-blasters","title":"Super Rock Blasters!","compatibility":99,"releases":[{"id":"01009E4006CC8000","region":null}]},{"id":"5e824d72-610b-4a2b-9b09-242bf84d8a60","directory":"the-path-of-motus-demo","title":"The Path of Motus Demo","compatibility":99,"releases":[{"id":"010062600D236000","region":null}]},{"id":"5e829452-5dc7-45c4-a75e-392c9569c8ba","directory":"enchanted-in-the-moonlight-miyabi-kyoga-and-samon-","title":"Enchanted in the Moonlight - Miyabi, Kyoga & Samon -","compatibility":99,"releases":[{"id":"0100C2000E08C000","region":null}]},{"id":"5e98ba77-6995-454e-918b-25347a7c6539","directory":"road-to-guangdong","title":"Road To Guangdong","compatibility":99,"releases":[{"id":"0100735010F58000","region":null}]},{"id":"5ec70cb3-81fe-4813-b6b4-879b4b9be457","directory":"arcade-archives-xx-mission","title":"Arcade Archives XX MISSION","compatibility":99,"releases":[{"id":"01008F3010752000","region":null}]},{"id":"5edfcacf-540a-46e4-bf42-6ba8121fd575","directory":"basketball-pinball","title":"Basketball Pinball","compatibility":99,"releases":[{"id":"0100BC5014FD0000","region":null}]},{"id":"5eebf069-42c8-4057-b770-718095d5c461","directory":"the-bradwell-conspiracy","title":"The Bradwell Conspiracy","compatibility":99,"releases":[{"id":"010097C00DF08000","region":null}]},{"id":"5eef099c-4585-4801-9f55-16f5c9d7be2c","directory":"out-of-the-box","title":"Out of The Box","compatibility":99,"releases":[{"id":"01005A700A166000","region":null}]},{"id":"5eef488c-0fd7-496f-b52c-4d5b09092d07","directory":"wingspan","title":"WINGSPAN","compatibility":99,"releases":[{"id":"0100E05011350000","region":null}]},{"id":"5efdf1dc-3e63-4df5-874e-a0e9fdccc954","directory":"morphies-law","title":"Morphies Law","compatibility":4,"releases":[{"id":"01005DA003E6E000","region":null}]},{"id":"5f0640df-f698-46b7-a908-cd41264b07c1","directory":"quest-of-dungeons","title":"Quest of Dungeons","compatibility":2,"releases":[{"id":"01001DE005012000","region":null}]},{"id":"5f231908-2157-424d-9a17-1296708709e3","directory":"fly-punch-boom","title":"Fly Punch Boom!","compatibility":99,"releases":[{"id":"0100FC300F4A4000","region":null}]},{"id":"5f506087-d872-45d3-9731-7acf3236c885","directory":"deru-the-art-of-cooperation","title":"Deru - The Art of Cooperation","compatibility":99,"releases":[{"id":"0100ED700469A000","region":null}]},{"id":"5f59a211-5bae-4e53-8f97-4676be5c967a","directory":"pew-paw","title":"Pew Paw","compatibility":1,"releases":[{"id":"010045A01221E000","region":null}]},{"id":"5f61639c-99ed-4837-8854-1d06a77897f4","directory":"straimium-immortaly","title":"Straimium Immortaly","compatibility":99,"releases":[{"id":"0100DA000D71A000","region":null}]},{"id":"5f63a56b-4cd5-4f66-9d5f-1fc807be63b3","directory":"escape-first","title":"Escape First","compatibility":4,"releases":[{"id":"01000E8010A98000","region":null}]},{"id":"5f65a088-13c4-463c-906f-0938b2c951fc","directory":"fill-a-pix-phils-epic-adventure","title":"Fill-a-Pix: Phil's Epic Adventure","compatibility":1,"releases":[{"id":"010095600AA36000","region":null}]},{"id":"5f68e6e0-28a6-48fc-b910-0812ca9eca3b","directory":"bloodrayne-revamped","title":"BloodRayne: ReVamped","compatibility":99,"releases":[{"id":"0100A420147C0000","region":null}]},{"id":"5f70272a-a2dc-4fce-9880-72a8e109cc2a","directory":"brothers-a-tale-of-two-sons","title":"Brothers: A Tale of Two Sons","compatibility":4,"releases":[{"id":"01000D500D08A000","region":null}]},{"id":"5f915f14-7789-477b-ae62-a83df54c764c","directory":"defoliation","title":"Defoliation","compatibility":99,"releases":[{"id":"010044300A65E000","region":null}]},{"id":"5f93e947-4680-4385-a033-9ae84b717b90","directory":"bloodshore","title":"Bloodshore","compatibility":99,"releases":[{"id":"01009F8015E94000","region":null}]},{"id":"5f9a8e1b-d975-4372-9ad4-d21ca988f442","directory":"moorhuhn-wanted","title":"Moorhuhn Wanted","compatibility":99,"releases":[{"id":"0100ED100B634000","region":null}]},{"id":"5fa09c2b-2e3f-4ef8-8972-de94f972d464","directory":"blazblue-cross-tag-battle-special-trial","title":"BLAZBLUE CROSS TAG BATTLE SPECIAL TRIAL","compatibility":4,"releases":[{"id":"0100C6E00AF2C000","region":null}]},{"id":"5fae852e-0a38-49ad-9305-dc6e7db07eb0","directory":"blade-ii-the-return-of-evil","title":"Blade II - The Return Of Evil","compatibility":3,"releases":[{"id":"01009CC00E224000","region":null}]},{"id":"5fb1f88c-54de-4588-8c8c-9912d45b4551","directory":"merrily-perilly","title":"Merrily Perilly","compatibility":99,"releases":[{"id":"01009DF014F44000","region":null}]},{"id":"5fb285a8-5397-4d68-ab38-bcd274bfaa53","directory":"the-big-journey","title":"The Big Journey","compatibility":1,"releases":[{"id":"010089600E66A000","region":null}]},{"id":"5fb8b5ef-0204-48df-a6a7-111236d856e0","directory":"crypt-of-the-necrodancer-nintendo-switch-edition","title":"Crypt of the NecroDancer: Nintendo Switch Edition","compatibility":0,"releases":[{"id":"0100CEA007D08000","region":null}]},{"id":"5fcf4642-0ec8-4f99-b089-c5af257d6cf2","directory":"one-eyed-kutkh","title":"One Eyed Kutkh","compatibility":99,"releases":[{"id":"0100E000092B2000","region":null}]},{"id":"5fd51f16-bdbd-41fa-8f09-e531f089c916","directory":"orbt-xl","title":"Orbt XL","compatibility":99,"releases":[{"id":"010025F011DB4000","region":null}]},{"id":"5fd66a64-b756-4388-bcd7-1fbffd36e67d","directory":"jigsaw-fun-amazing-animals","title":"Jigsaw Fun: Amazing Animals","compatibility":99,"releases":[{"id":"0100FE1015DC0000","region":null}]},{"id":"5fd6e96f-3986-48de-865a-ac62ec240f83","directory":"banners-of-ruin","title":"Banners of Ruin","compatibility":99,"releases":[{"id":"0100BEB014D94000","region":null}]},{"id":"5fd719ea-145b-448b-88fc-5f862911a716","directory":"sparkle-2","title":"Sparkle 2","compatibility":1,"releases":[{"id":"010028D0045CE000","region":null}]},{"id":"5fed29a2-d941-4381-a93a-e6866be1ed5d","directory":"raji-an-ancient-epic","title":"Raji: An Ancient Epic","compatibility":2,"releases":[{"id":"010010B00DDA2000","region":null}]},{"id":"5ff74f49-5097-41c9-954a-78b1517c1974","directory":"mousebot-escape-from-catlab","title":"MouseBot: Escape from CatLab","compatibility":99,"releases":[{"id":"010022301531E000","region":null}]},{"id":"5ffc4ddc-71c9-4f88-84d8-721735a570e7","directory":"3d-billiards-pool-and-snooker","title":"3D Billiards - Pool & Snooker","compatibility":99,"releases":[{"id":"010055D00BDD0000","region":null}]},{"id":"5ffeac48-44cc-471d-8929-a079ec1df66b","directory":"spirit-hunter-ng","title":"Spirit Hunter: NG","compatibility":99,"releases":[{"id":"0100FAE00E19A000","region":null}]},{"id":"5fffbfe0-e28f-4b24-982e-d56faddf5601","directory":"monster-jam-steel-titans-2","title":"Monster Jam Steel Titans 2","compatibility":99,"releases":[{"id":"010051B0131F0000","region":null}]},{"id":"600461ce-0ff8-42cd-a0d7-34d0ec8dd59a","directory":"turmoil","title":"Turmoil","compatibility":99,"releases":[{"id":"010089200F0E4000","region":null}]},{"id":"6006f88c-20ac-4473-8236-e5d6eaa4dcf0","directory":"actual-sunlight","title":"Actual Sunlight","compatibility":99,"releases":[{"id":"0100CD40104DE000","region":null}]},{"id":"60079b4d-752b-4267-a484-8ac4683a8518","directory":"pinball-big-splash","title":"Pinball Big Splash","compatibility":99,"releases":[{"id":"0100BB50144EA000","region":null}]},{"id":"600aa450-8027-4f58-ba79-d740894b8f3f","directory":"aircraft-evolution","title":"Aircraft Evolution","compatibility":99,"releases":[{"id":"0100E95011FDC000","region":null}]},{"id":"600fa70f-f1c5-47a8-aba0-18f7fc5955fb","directory":"be-a-poker-champion-texas-holdem","title":"Be a Poker Champion! Texas Hold'em","compatibility":99,"releases":[{"id":"0100E50013EFE000","region":null}]},{"id":"6012725e-68ac-4d6d-bfb2-5522f4301a34","directory":"inspector-waffles","title":"Inspector Waffles","compatibility":99,"releases":[{"id":"01004E4014F06000","region":null}]},{"id":"60317e6f-adc1-4ef7-b0ff-5787a8a472ae","directory":"boomerang-fu","title":"Boomerang Fu","compatibility":0,"releases":[{"id":"010081A00EE62000","region":null}]},{"id":"603b245e-be32-4049-86cf-cd996b270e1b","directory":"grecos-hall-of-kanji-learn-japaneseless-beginner-greater","title":"Greco’s Hall of Kanji Learn Japanese< Beginner >","compatibility":3,"releases":[{"id":"0100B6700DEC2000","region":null}]},{"id":"6042738c-54e0-40af-83b0-e22af3e3f97a","directory":"the-low-road","title":"The Low Road","compatibility":99,"releases":[{"id":"0100BAB00A116000","region":null}]},{"id":"6044763c-7f25-4720-9584-a44577a56e16","directory":"super-hiking-league-dx","title":"Super Hiking League DX","compatibility":99,"releases":[{"id":"0100EA4012072000","region":null}]},{"id":"6046575c-7e0f-40fa-842a-52ef96828d96","directory":"dumpy-bumpy","title":"Dumpy & Bumpy","compatibility":99,"releases":[{"id":"0100930016422000","region":null}]},{"id":"604910fc-4ccf-488c-a774-694e75caf9a2","directory":"puzzle-box-maker","title":"Puzzle Box Maker","compatibility":99,"releases":[{"id":"0100476004A9E000","region":null}]},{"id":"604a134c-9ac4-4f03-92e1-7fe9cf48df31","directory":"stikbold-a-dodgeball-adventure-deluxe-demo","title":"Stikbold! A Dodgeball Adventure DELUXE Demo","compatibility":99,"releases":[{"id":"0100454008DA8000","region":null}]},{"id":"605255f3-79ab-4da2-9583-3677c312dfa3","directory":"osyaberi-puzzle-chigatan-spot-the-differences-with-everyone","title":"Osyaberi! Puzzle Chigatan ~Spot the Differences with Everyone~","compatibility":99,"releases":[{"id":"0100429013B88000","region":null}]},{"id":"6055d1dd-f903-40dc-9919-241b67e340b4","directory":"the-long-journey-home","title":"The Long Journey Home","compatibility":99,"releases":[{"id":"0100E0E00C518000","region":null}]},{"id":"60575cf1-0c5d-48c9-ad55-33f5db38bd02","directory":"doom-ii-classic","title":"DOOM II (Classic)","compatibility":1,"releases":[{"id":"0100D4F00DD02000","region":null}]},{"id":"605ddd8c-c5e7-405f-bd92-4eebfda8955b","directory":"saturday-morning-rpg","title":"Saturday Morning RPG","compatibility":1,"releases":[{"id":"0100F0000869C000","region":null}]},{"id":"607d8f66-e251-4552-b4b3-5c0f20f421fe","directory":"hunting-simulator","title":"Hunting Simulator","compatibility":99,"releases":[{"id":"0100C460040EA000","region":null}]},{"id":"607e7818-f82e-4508-92c1-818c55294372","directory":"destinys-princess-a-war-story-a-love-story","title":"Destiny's Princess: A War Story, A Love Story","compatibility":99,"releases":[{"id":"0100B7F00B4E6000","region":null}]},{"id":"608c8250-8094-4e56-bf48-538865d76a78","directory":"barrage-fantasia","title":"Barrage Fantasia","compatibility":99,"releases":[{"id":"0100F2A013752000","region":null}]},{"id":"60a33116-1cf9-4f19-86bd-59e952ffd63c","directory":"super-mario-3d-all-stars","title":"Super Mario™ 3D All-Stars","compatibility":4,"releases":[{"id":"010049900F546000","region":null}]},{"id":"60b8a132-9241-408c-b72a-cb7996c950d6","directory":"katana-kami-a-way-of-the-samurai-story","title":"KATANA KAMI: A Way of the Samurai Story","compatibility":3,"releases":[{"id":"0100F9800EDFA000","region":null}]},{"id":"60be7251-b40f-4c8d-8aff-0830158aa7cb","directory":"plague-inc-evolved","title":"Plague Inc: Evolved","compatibility":0,"releases":[{"id":"01000CE00CBB8000","region":null}]},{"id":"60cccea7-66e5-4aaa-ae68-fc369b1e42e6","directory":"seers-isle","title":"Seers Isle","compatibility":99,"releases":[{"id":"0100394010844000","region":null}]},{"id":"60cfea0a-6cb9-4990-b942-8e7dbaad5921","directory":"one-night-stand","title":"One Night Stand","compatibility":99,"releases":[{"id":"0100F1300EC60000","region":null}]},{"id":"60d18655-6507-4b8c-a2d7-1eaf5f391a99","directory":"sega-ages-gain-ground","title":"SEGA AGES Gain Ground","compatibility":0,"releases":[{"id":"01001E600AF08000","region":null}]},{"id":"60db6da8-4d77-4fb1-be63-5c27d0bcbb08","directory":"illusion-of-lphalcia","title":"Illusion of L'Phalcia","compatibility":99,"releases":[{"id":"01000B700EC22000","region":null}]},{"id":"60dd6e7b-0d88-44a8-885d-d1cf7c9c7471","directory":"beautiful-desolation","title":"BEAUTIFUL DESOLATION","compatibility":2,"releases":[{"id":"01006B0014590000","region":null}]},{"id":"60e5d67f-229d-4428-b50d-38e4cbc10c7c","directory":"descenders","title":"Descenders","compatibility":2,"releases":[{"id":"0100D4600D0E4000","region":null}]},{"id":"60ee4f80-7ed1-4cfd-a053-efc558550f4f","directory":"raiders-of-the-lost-island","title":"Raiders Of The Lost Island","compatibility":99,"releases":[{"id":"0100966013BB2000","region":null}]},{"id":"60f1b861-eccf-4752-a916-40d56a4f6ca5","directory":"ultra-off-road-2019-alaska","title":"Ultra Off-Road 2019: Alaska","compatibility":99,"releases":[{"id":"010077500FA64000","region":null}]},{"id":"60faae36-0e37-4997-ab64-16bedc1530fb","directory":"soulslayer","title":"Soulslayer","compatibility":99,"releases":[{"id":"010088E00EBB6000","region":null}]},{"id":"61059ef6-9bf8-4c00-bb35-b4bb330bce3b","directory":"chicken-assassin-reloaded","title":"Chicken Assassin: Reloaded","compatibility":99,"releases":[{"id":"0100E3C00A118000","region":null}]},{"id":"610b27a8-c4f5-4f55-92cd-f15ed69467ca","directory":"car-demolition-clicker","title":"Car Demolition Clicker","compatibility":1,"releases":[{"id":"0100D8B013D02000","region":null}]},{"id":"610e6591-f0e7-452a-9573-25ffbc0f6c8a","directory":"dunk-lords","title":"Dunk Lords","compatibility":99,"releases":[{"id":"0100EC30140B6000","region":null}]},{"id":"610ef000-52e1-4e74-ab43-70c7f327d1b0","directory":"elevatorto-the-moon-turbo-champions-edition","title":"Elevator...to the Moon! Turbo Champion's Edition","compatibility":99,"releases":[{"id":"010024C00D734000","region":null}]},{"id":"6117036d-d0c1-4715-ad90-448ee57b7f1d","directory":"pure-chase-80s","title":"Pure Chase 80's","compatibility":1,"releases":[{"id":"01003A2016DC6000","region":null}]},{"id":"61365081-585f-4d53-a01b-f23ee3c575f3","directory":"extreme-poker","title":"EXTREME POKER","compatibility":1,"releases":[{"id":"010031A00BC9E000","region":null}]},{"id":"616ca5a6-3dd2-46f4-93b8-6c42d1884b3e","directory":"dreaming-canvas","title":"Dreaming Canvas","compatibility":99,"releases":[{"id":"010058B00F3C0000","region":null}]},{"id":"616e2ef2-10c4-4902-baaf-d79c79df9673","directory":"pocket-mini-golf","title":"Pocket Mini Golf","compatibility":1,"releases":[{"id":"010000C010E76000","region":null}]},{"id":"61934a85-7ed4-4c4d-832d-7fd0113891ab","directory":"my-child-lebensborn","title":"My Child Lebensborn","compatibility":99,"releases":[{"id":"010035D0131B2000","region":null}]},{"id":"619a2b58-9672-44e3-a12e-377717c95f68","directory":"super-metboy","title":"SUPER METBOY!","compatibility":99,"releases":[{"id":"0100F79012AAA000","region":null}]},{"id":"61a9aac4-4bd1-4bec-a29e-d66a90fdf125","directory":"a-year-of-springs","title":"A YEAR OF SPRINGS","compatibility":99,"releases":[{"id":"0100FE6016424000","region":null}]},{"id":"61b059f8-8870-4d0f-b3ab-203772f0ded7","directory":"unpacking","title":"Unpacking","compatibility":0,"releases":[{"id":"0100701015846000","region":null}]},{"id":"61ceda70-fb19-44b2-86a4-758ec5ca6d4c","directory":"creepy-tale-2","title":"Creepy Tale 2","compatibility":99,"releases":[{"id":"0100B4C0161BE000","region":null}]},{"id":"61eeb419-3ecb-444f-ab4b-db73981fce2b","directory":"aca-neogeo-ninja-combat","title":"ACA NEOGEO NINJA COMBAT","compatibility":2,"releases":[{"id":"010052A00A306000","region":null}]},{"id":"61f0c625-2a8d-4c4e-a59a-525e51d348d9","directory":"gutwhale","title":"Gutwhale","compatibility":99,"releases":[{"id":"0100953014DCA000","region":null}]},{"id":"61f23721-3af8-4566-b8cb-d5923d853160","directory":"dont-touch-this-button","title":"Don't Touch this Button!","compatibility":99,"releases":[{"id":"01009B401613C000","region":null}]},{"id":"61f422f8-c847-4e4e-b15d-5fc1bac98f5e","directory":"the-office-quest","title":"The Office Quest","compatibility":99,"releases":[{"id":"0100A2A00B08C000","region":null}]},{"id":"61f7994a-fd08-4bc2-aad8-c52704ef4c51","directory":"semispheres","title":"Semispheres","compatibility":1,"releases":[{"id":"01009840046BC000","region":null}]},{"id":"61fb9a3f-baac-4b85-89d4-99266bfd958a","directory":"nyakamon-adventures","title":"Nyakamon Adventures","compatibility":99,"releases":[{"id":"0100FA2014C78000","region":null}]},{"id":"62018567-7be3-4b7e-bb6e-70ca23ff1d95","directory":"silk","title":"Silk","compatibility":99,"releases":[{"id":"010045500DFE2000","region":null}]},{"id":"6204f801-defe-46c9-a58d-3428d1574413","directory":"top-run","title":"Top Run","compatibility":99,"releases":[{"id":"010092D00FF66000","region":null}]},{"id":"62056acd-78a3-4b8b-913d-9856a07101d6","directory":"project-winter","title":"Project Winter","compatibility":99,"releases":[{"id":"01002AB012C0C000","region":null}]},{"id":"62099338-29c4-4a73-92e8-7f4d9f7fe45e","directory":"a-monsters-expedition","title":"A Monster's Expedition","compatibility":0,"releases":[{"id":"0100C01013302000","region":null}]},{"id":"620c7943-e437-4e4e-a49c-4bccc0b33b6a","directory":"bravely-default-ii-demo","title":"Bravely Default™ II Demo","compatibility":4,"releases":[{"id":"0100B6801137E000","region":null}]},{"id":"622b291b-d745-4de3-b8f1-2bbfdeda5735","directory":"pixeljunk-monsters-2","title":"PixelJunk Monsters 2","compatibility":1,"releases":[{"id":"0100E4D00A690000","region":null}]},{"id":"622d4ec0-bafd-4c84-879b-e7e92ebb689e","directory":"sega-ages-thunder-force-ac","title":"SEGA AGES Thunder Force AC","compatibility":1,"releases":[{"id":"0100D0800C612000","region":null}]},{"id":"622f4703-e100-454f-924a-7bdc61f7c652","directory":"paranautical-activity","title":"Paranautical Activity","compatibility":99,"releases":[{"id":"010063400B2EC000","region":null}]},{"id":"623109fc-5016-403f-b66d-df0a1ef5dc30","directory":"grim-legends-3-the-dark-city","title":"Grim Legends 3: The Dark City","compatibility":99,"releases":[{"id":"01004F9012D84000","region":null}]},{"id":"623a8f61-6d70-4094-8caf-4c472b291c6a","directory":"hyper-sentinel-demo","title":"Hyper Sentinel Demo","compatibility":99,"releases":[{"id":"0100C2500B718000","region":null}]},{"id":"62573552-c523-4f81-b8e0-186bae43e734","directory":"gnome-more-war","title":"Gnome More War","compatibility":99,"releases":[{"id":"0100EB8011B0C000","region":null}]},{"id":"62584b57-089f-4b33-b848-5acf2459298d","directory":"gearclub-unlimited-2","title":"Gear.Club Unlimited 2","compatibility":0,"releases":[{"id":"010072900AFF0000","region":null}]},{"id":"625f92cb-4f13-4d8b-99a2-f07cd12461c4","directory":"super-inefficient-golf","title":"Super Inefficient Golf","compatibility":99,"releases":[{"id":"010056800B534000","region":null}]},{"id":"62680a03-b5c5-40b5-ae17-9b71d1f55bb5","directory":"laytons-mystery-journey-katrielle-and-the-millionaires-conspiracy-deluxe-edition","title":"LAYTON’S MYSTERY JOURNEY: Katrielle and the Millionaires’ Conspiracy - Deluxe Edition","compatibility":3,"releases":[{"id":"0100FB700D224000","region":null}]},{"id":"62747f1f-8992-4551-b116-939f0d934253","directory":"football-run","title":"Football Run","compatibility":99,"releases":[{"id":"010072701635E000","region":null}]},{"id":"62748442-3640-4771-8ded-0f4ef48bebee","directory":"fitness-boxing-2-rhythm-exercise","title":"Fitness Boxing 2: Rhythm & Exercise","compatibility":0,"releases":[{"id":"0100073011382000","region":null}]},{"id":"628874bc-fe11-4ad7-9804-5673e6ee7310","directory":"masky","title":"Masky","compatibility":99,"releases":[{"id":"010048000F946000","region":null}]},{"id":"628bc512-e0e7-4cac-bec4-e6f3b066f2a0","directory":"the-jackbox-party-pack-7","title":"The Jackbox Party Pack 7","compatibility":99,"releases":[{"id":"01007F30113A6000","region":null}]},{"id":"628c3e70-f1db-433c-86d0-6aa71bd59818","directory":"tower-inferno","title":"Tower Inferno","compatibility":99,"releases":[{"id":"010012500FD08000","region":null}]},{"id":"6291a400-5c27-44e0-93a4-28a1728d5308","directory":"gemini","title":"Gemini","compatibility":99,"releases":[{"id":"0100D71013AF4000","region":null}]},{"id":"62a10373-60f3-4b9d-b618-08b7943b39c0","directory":"quest-for-the-golden-duck","title":"Quest for the Golden Duck","compatibility":99,"releases":[{"id":"0100D9200D51E000","region":null}]},{"id":"62b83522-3da1-497b-9b60-cc491298fdf0","directory":"raspberry-mash","title":"RASPBERRY MASH","compatibility":99,"releases":[{"id":"0100298013CC0000","region":null}]},{"id":"62c2f4d1-795f-4085-8423-cb0c2cf02cfd","directory":"omno","title":"OMNO","compatibility":99,"releases":[{"id":"01006400167CA000","region":null}]},{"id":"62d9bbdd-6c93-43e1-bf1c-0db8cd96ae79","directory":"cooking-festival","title":"Cooking Festival","compatibility":2,"releases":[{"id":"01006920137D2000","region":null}]},{"id":"62e1da4b-1c80-4756-92bb-8acdbbd0a428","directory":"merchants-of-kaidan","title":"Merchants of Kaidan","compatibility":99,"releases":[{"id":"0100E5000D3CA000","region":null}]},{"id":"62ed44d3-03f5-46cd-8a92-33038a82805e","directory":"deemo","title":"Deemo","compatibility":99,"releases":[{"id":"0100DD100AE8C000","region":null}]},{"id":"62f0f060-843b-43d5-9cb7-2c56cb0af4fe","directory":"kyub","title":"KYUB","compatibility":99,"releases":[{"id":"010063D005B32000","region":null}]},{"id":"62f5b814-9f03-49eb-a106-fa36cfa014db","directory":"super-bomberman-r-online","title":"SUPER BOMBERMAN R ONLINE","compatibility":5,"releases":[{"id":"01007380121FE000","region":null}]},{"id":"62f5f336-3d17-4ec3-8ea7-7a90905699eb","directory":"the-forbidden-arts","title":"The Forbidden Arts","compatibility":0,"releases":[{"id":"010007700D4AC000","region":null}]},{"id":"6305608e-ac08-46be-9714-ff19613ea6fa","directory":"superbrothers-sword-and-sworcery-ep","title":"Superbrothers: Sword & Sworcery EP","compatibility":3,"releases":[{"id":"0100AA400C396000","region":null}]},{"id":"6315ac24-f6ae-438b-98d2-a71eedb8b872","directory":"112-operator","title":"112 Operator","compatibility":99,"releases":[{"id":"0100D82015774000","region":null}]},{"id":"631f70be-2b6c-44fc-ab5d-40f05f69f234","directory":"clannad-side-stories","title":"CLANNAD Side Stories","compatibility":3,"releases":[{"id":"01007B501372C000","region":null}]},{"id":"63262aea-fac4-4f45-a3fa-9f802095a1c4","directory":"secret-files-3","title":"Secret Files 3","compatibility":99,"releases":[{"id":"010028F010644000","region":null}]},{"id":"633dbeb8-6fc8-4191-9c2c-e6d6b7b0e512","directory":"puyo-puyo-tetris-demo","title":"Puyo Puyo Tetris Demo","compatibility":99,"releases":[{"id":"01000DC003740000","region":null}]},{"id":"63461d39-24c9-4f0d-8617-918d812071e4","directory":"aca-neogeo-fatal-fury-special","title":"ACA NEOGEO FATAL FURY SPECIAL","compatibility":2,"releases":[{"id":"010019A0038FA000","region":null}]},{"id":"63476f90-13b2-4537-93f9-4bc86bed20a2","directory":"cube-raiders","title":"Cube Raiders","compatibility":99,"releases":[{"id":"0100FAC00E978000","region":null}]},{"id":"6348023e-2ba4-4a1b-ac8e-ea0539a04bc9","directory":"aperion-cyberstorm-demo]","title":"Aperion Cyberstorm [DEMO]","compatibility":99,"releases":[{"id":"01008CA00D71C000","region":null}]},{"id":"63484572-29a2-43fe-9c1e-f420bd520ed1","directory":"the-choice-of-life-middle-ages","title":"The Choice of Life: Middle Ages","compatibility":99,"releases":[{"id":"0100982013C80000","region":null}]},{"id":"6351de91-bee1-4b65-b4b4-7747dbd30fdf","directory":"arcade-archives-vs-balloon-fight","title":"Arcade Archives VS. BALLOON FIGHT","compatibility":99,"releases":[{"id":"010061400F7E4000","region":null}]},{"id":"6361167f-a02f-4dda-86e6-61bf3b32a0b6","directory":"strike-force-kitty","title":"Strike Force Kitty","compatibility":99,"releases":[{"id":"010038A00E6C6000","region":null}]},{"id":"63685aa4-fc82-41f9-aebe-572aebe5e8e0","directory":"aca-neogeo-ninja-masters","title":"ACA NEOGEO NINJA MASTER'S","compatibility":5,"releases":[{"id":"0100C6300AFE0000","region":null}]},{"id":"636b04a6-d828-43bf-a556-9682f46f29c0","directory":"city-match-a-block-pop-puzzle-game","title":"City Match - A Block Pop Puzzle Game","compatibility":99,"releases":[{"id":"0100E06015B60000","region":null}]},{"id":"63745ee3-c2f5-416f-9f35-082d800e71d5","directory":"west-of-loathing","title":"West of Loathing","compatibility":2,"releases":[{"id":"010031B00A4E8000","region":null}]},{"id":"637997af-fc86-463d-ad1f-63b8287cf6cb","directory":"blazing-chrome","title":"Blazing Chrome","compatibility":3,"releases":[{"id":"0100C2700C252000","region":null}]},{"id":"637a07b5-c27c-4044-a8fd-face1695dea7","directory":"mars-or-die","title":"Mars or Die!","compatibility":4,"releases":[{"id":"010048200B606000","region":null}]},{"id":"6386d106-9114-4abf-99a8-17f067b1fe91","directory":"truck-and-logistics-simulator","title":"Truck and Logistics Simulator","compatibility":99,"releases":[{"id":"0100F2100AA5C000","region":null}]},{"id":"63976010-dc86-48f8-9040-1524a26a64b7","directory":"lets-sing-2020","title":"Let's Sing 2020","compatibility":99,"releases":[{"id":"010065F00DF4A000","region":null}]},{"id":"63cba8f6-9d9b-42ed-983e-0eee4c89dc5b","directory":"2048-battles","title":"2048 Battles","compatibility":1,"releases":[{"id":"010096500EA94000","region":null}]},{"id":"63cfc745-de88-4672-9341-4101bfd6a290","directory":"fairy-knights","title":"Fairy Knights","compatibility":99,"releases":[{"id":"010015A0110AC000","region":null}]},{"id":"63d62eba-6912-48aa-8ddb-7be1e1ebad87","directory":"banana-treasures-island","title":"Banana Treasures Island","compatibility":99,"releases":[{"id":"010064F01354A000","region":null}]},{"id":"63e66df0-c287-4a47-b365-9b1007332a9c","directory":"tank-de-la-muerta","title":"Tank De La Muerta","compatibility":99,"releases":[{"id":"0100E6A016142000","region":null}]},{"id":"63edc567-cd5f-4dc1-9a40-16d598cb122e","directory":"aca-neogeo-puzzle-bobble-2","title":"ACA NEOGEO PUZZLE BOBBLE 2","compatibility":5,"releases":[{"id":"0100BC700C7AE000","region":null}]},{"id":"63f69589-ed71-4f36-a285-0f1e4b1ddeed","directory":"apocryph-an-old-school-shooter","title":"Apocryph: an old-school shooter","compatibility":5,"releases":[{"id":"010045D009EFC000","region":null}]},{"id":"63ffca93-ad3e-4e8a-9309-e6d438f84af7","directory":"1001-ultimate-mahjong-2","title":"1001 Ultimate Mahjong  2","compatibility":4,"releases":[{"id":"010063E00BBDC000","region":null}]},{"id":"640105fc-3d5e-4e07-9aed-b08afa37979f","directory":"astrowings-space-war","title":"AstroWings: Space War","compatibility":99,"releases":[{"id":"0100DF401249C000","region":null}]},{"id":"640652d0-08cc-400b-953f-99dfb16546de","directory":"code-realize-future-blessings","title":"Code: Realize ~Future Blessings~","compatibility":0,"releases":[{"id":"010002400F408000","region":null}]},{"id":"640a7ab8-b88f-4173-8040-9ad72a4b8cd5","directory":"julies-sweets","title":"Julie's Sweets","compatibility":1,"releases":[{"id":"010011400AF8E000","region":null}]},{"id":"641f51d6-c267-470c-9aa2-f378104602a0","directory":"moonshades-a-classic-dungeon-crawler-rpg","title":"Moonshades: a classic dungeon crawler RPG","compatibility":99,"releases":[{"id":"01008180157AC000","region":null}]},{"id":"6427167a-6469-47cc-af0f-9fda64ee08f2","directory":"kid-tripp","title":"Kid Tripp","compatibility":0,"releases":[{"id":"0100C0A004C2C000","region":null}]},{"id":"64394780-0b16-4a9a-af46-a7af836b7e0a","directory":"island-maze","title":"Island Maze","compatibility":99,"releases":[{"id":"0100F0E00F5EA000","region":null}]},{"id":"645202fc-f6fe-4e65-8cfc-7aa037d43864","directory":"sagrada","title":"Sagrada","compatibility":99,"releases":[{"id":"010096D0116DE000","region":null}]},{"id":"64619699-7cc3-4a11-8a36-264037753dfa","directory":"corridor-z","title":"Corridor Z","compatibility":2,"releases":[{"id":"010096100E230000","region":null}]},{"id":"648c16da-cdda-4277-9e9a-1e059345d174","directory":"warp-shift","title":"Warp Shift","compatibility":0,"releases":[{"id":"0100DB300A026000","region":null}]},{"id":"64915498-df1a-4da5-9b23-ae3994e2ded1","directory":"junk-planet","title":"JUNK PLANET","compatibility":99,"releases":[{"id":"010069800D2B4000","region":null}]},{"id":"6494cd7f-9f61-47b3-861f-07bc1c9b2a79","directory":"mythic-ocean","title":"Mythic Ocean","compatibility":99,"releases":[{"id":"0100F4F014108000","region":null}]},{"id":"649deb7d-5c03-47ee-a2aa-4b985221fbf0","directory":"hotel-sowls","title":"Hotel Sowls","compatibility":1,"releases":[{"id":"0100B7E01234E000","region":null}]},{"id":"64b2c2fe-fb41-4f39-9f1d-9a0ca449c2d9","directory":"epitaph","title":"Epitaph","compatibility":99,"releases":[{"id":"0100646012282000","region":null}]},{"id":"64c9129d-cf05-466d-bd21-65ba0aeda16e","directory":"final-fantasy-xii-the-zodiac-age","title":"FINAL FANTASY XII THE ZODIAC AGE","compatibility":3,"releases":[{"id":"0100EB100AB42000","region":null}]},{"id":"64d670b2-e988-498f-85dd-0ba7d80d2fa1","directory":"wordherd","title":"WordHerd","compatibility":99,"releases":[{"id":"0100D74010F44000","region":null}]},{"id":"64e7b2bb-be08-45e5-960b-f4c904f4c393","directory":"fantasy-cards","title":"Fantasy Cards","compatibility":99,"releases":[{"id":"01006DA015878000","region":null}]},{"id":"64e9b49f-6a5d-4a2c-bdf6-ac1f66c1abd1","directory":"cyber-complex","title":"Cyber Complex","compatibility":99,"releases":[{"id":"0100D6B010DC0000","region":null}]},{"id":"64eb5f41-0317-4a60-9f40-56f5ca8d3cbf","directory":"retro-classix-2-in-1-pack-express-raider-shootout","title":"Retro Classix 2-in-1 Pack: Express Raider & Shootout","compatibility":99,"releases":[{"id":"0100C0D012188000","region":null}]},{"id":"64fb1be9-183a-45e0-8118-adc74711d652","directory":"burn-supertrucks","title":"Burn! SuperTrucks","compatibility":99,"releases":[{"id":"0100B5A013822000","region":null}]},{"id":"64ffba37-df73-4e26-a7ed-3c69b96406ba","directory":"goosebumps-dead-of-night","title":"Goosebumps Dead of Night","compatibility":99,"releases":[{"id":"010014C0100C6000","region":null}]},{"id":"65026439-a81b-4f1d-af4e-b210cef27816","directory":"isoland-2-ashes-of-time","title":"Isoland 2 - Ashes of Time","compatibility":99,"releases":[{"id":"0100F5600D194000","region":null}]},{"id":"65035d4e-eeb0-401c-ae56-54144636711c","directory":"trials-rising-open-beta","title":"Trials Rising Open Beta","compatibility":99,"releases":[{"id":"0100D9200D090000","region":null}]},{"id":"6514d879-463c-48ad-902a-ddaa0073e9b7","directory":"cat-quest-ii","title":"Cat Quest II","compatibility":0,"releases":[{"id":"01008BE00E968000","region":null}]},{"id":"652ac89d-9e3d-4a92-b379-32fa44e35065","directory":"human-rocket-person","title":"Human Rocket Person","compatibility":99,"releases":[{"id":"0100B0800DBAC000","region":null}]},{"id":"652ec456-5cb1-4585-9764-f186a2b6ba26","directory":"bit-trip-flux","title":"BIT.TRIP FLUX","compatibility":99,"releases":[{"id":"0100293012D40000","region":null}]},{"id":"65308d2d-8366-44ed-91c9-2fcffb071a7e","directory":"zen-chess-collection","title":"Zen Chess Collection","compatibility":99,"releases":[{"id":"01005F200F7C2000","region":null}]},{"id":"6530cb93-a86d-4f40-87a6-3fa4bbb99cdd","directory":"arcade-archives-libble-rabble","title":"Arcade Archives LIBBLE RABBLE","compatibility":99,"releases":[{"id":"0100CB7015AC4000","region":null}]},{"id":"653caadb-9209-47f9-b51c-6cc67f43eb1c","directory":"poly-puzzle","title":"Poly Puzzle","compatibility":99,"releases":[{"id":"01001F70112BA000","region":null}]},{"id":"6545a98b-a9c2-4a3d-a086-909ad5ab4b7a","directory":"roulette-at-aces-casino","title":"Roulette at Aces Casino","compatibility":99,"releases":[{"id":"01005D3012322000","region":null}]},{"id":"654bff82-0888-438c-875d-7cb0d6a310aa","directory":"ai-the-somnium-files","title":"AI: THE SOMNIUM FILES","compatibility":2,"releases":[{"id":"010089B00D09C000","region":null}]},{"id":"654ee652-94bb-4dcf-aeed-56d8aaad87fe","directory":"energy-cycle","title":"Energy Cycle","compatibility":1,"releases":[{"id":"0100BFE00865E000","region":null}]},{"id":"6555b236-0c64-49b2-a604-cb44a53e73e8","directory":"chess-ultra","title":"Chess Ultra","compatibility":5,"releases":[{"id":"0100A5900472E000","region":null}]},{"id":"6555efde-7231-4d08-9cac-68527a42078c","directory":"pretty-girls-mahjong-solitaire-green","title":"Pretty Girls Mahjong Solitaire - Green","compatibility":99,"releases":[{"id":"0100B55014D44000","region":null}]},{"id":"6559ce75-ac48-4c9d-b9c7-854ee23e7a13","directory":"nonograms-prophecy","title":"Nonograms Prophecy","compatibility":99,"releases":[{"id":"0100FF500E738000","region":null}]},{"id":"656e8982-e1dd-40e4-a04c-02be0dedcac5","directory":"my-exotic-farm-2018","title":"My Exotic Farm 2018","compatibility":99,"releases":[{"id":"0100E8600C866000","region":null}]},{"id":"656ea9d4-7939-4a3d-b438-d985e32c517f","directory":"yes-your-grace","title":"Yes, Your Grace","compatibility":99,"releases":[{"id":"01006040110AE000","region":null}]},{"id":"657131a6-edf2-4eb1-9059-621825bc141d","directory":"of-tanks-and-demons-iii","title":"Of Tanks and Demons III","compatibility":1,"releases":[{"id":"01007C30129FE000","region":null}]},{"id":"658206b6-01c8-49a5-aa21-a555b850f9ff","directory":"arcade-archives-xevious","title":"Arcade Archives XEVIOUS","compatibility":99,"releases":[{"id":"010082C015ABC000","region":null}]},{"id":"6582e78a-6ac0-4a82-b5c0-b91a48a619f8","directory":"arcade-archives-mirai-ninja","title":"Arcade Archives MIRAI NINJA","compatibility":99,"releases":[{"id":"01000D50169C4000","region":null}]},{"id":"65859d92-644b-4605-91a7-7460c6c44ebe","directory":"a-normal-lost-phone","title":"A Normal Lost Phone","compatibility":3,"releases":[{"id":"0100978009B98000","region":null}]},{"id":"65860786-4e5a-40ec-b936-de97f56e8f43","directory":"yellow-fins","title":"Yellow Fins","compatibility":99,"releases":[{"id":"010021700F6A4000","region":null}]},{"id":"658b2387-750c-479a-869d-968cb26b3bbc","directory":"wreckin-ball-adventure","title":"Wreckin' Ball Adventure","compatibility":99,"releases":[{"id":"0100C5D00EDB8000","region":null}]},{"id":"659618e8-0dc6-4c85-9bed-a748dd67b345","directory":"aca-neogeo-fatal-fury-3","title":"ACA NEOGEO FATAL FURY 3","compatibility":4,"releases":[{"id":"01000D1008714000","region":null}]},{"id":"659ae932-7ada-4f06-a34a-25561d101f39","directory":"cosmic-top-secret","title":"Cosmic Top Secret","compatibility":99,"releases":[{"id":"0100ACB014104000","region":null}]},{"id":"659ede42-c323-494e-93fc-e6412b14f3e8","directory":"linn-path-of-orchards","title":"Linn: Path of Orchards","compatibility":99,"releases":[{"id":"0100394012038000","region":null}]},{"id":"65a2f5b1-da58-4291-842c-fe0a3664606a","directory":"freddy-spaghetti","title":"Freddy Spaghetti","compatibility":1,"releases":[{"id":"010033B0134A2000","region":null}]},{"id":"65a3acbc-96ca-488f-8c7b-031004901c2d","directory":"the-wanderer-frankensteins-creature","title":"The Wanderer: Frankenstein's Creature","compatibility":99,"releases":[{"id":"010095F010568000","region":null}]},{"id":"65a4d24f-3b2a-4ae8-ace8-de28b3299d5f","directory":"the-house-in-fata-morgana-dreams-of-the-revenants-edition","title":"The House in Fata Morgana: Dreams of the Revenants Edition","compatibility":1,"releases":[{"id":"010016101100A000","region":null}]},{"id":"65add294-808c-40f1-a7db-32e83332fbed","directory":"blossom-tales-the-sleeping-king","title":"Blossom Tales: The Sleeping King","compatibility":4,"releases":[{"id":"0100C1000706C000","region":null}]},{"id":"65b70655-f9fd-4147-abc2-1515e1ac3cc5","directory":"getamped-mobile","title":"GetAmped Mobile","compatibility":99,"releases":[{"id":"0100AA4008210000","region":null}]},{"id":"65c81db5-c188-48bc-8d27-c8b75c1df1d4","directory":"super-rocket-shootout","title":"Super Rocket Shootout","compatibility":99,"releases":[{"id":"0100095009236000","region":null}]},{"id":"65d937dc-4156-4f8f-bb13-190ef0747cf2","directory":"tales-from-the-dragon-mountain-the-strix","title":"Tales from the Dragon Mountain: The Strix","compatibility":99,"releases":[{"id":"01009860125C0000","region":null}]},{"id":"65dc38c7-f11c-4bc7-9a49-bfa311ecc002","directory":"haunted-poppys-nightmare","title":"Haunted: Poppy's Nightmare","compatibility":99,"releases":[{"id":"0100B0E00F074000","region":null}]},{"id":"65efd420-40b6-4b45-9e0b-54c5b7cc9329","directory":"truck-driver","title":"Truck Driver","compatibility":99,"releases":[{"id":"0100CB50107BA000","region":null}]},{"id":"65f1517a-1f6b-4f74-8830-8370de75cb76","directory":"fifa-22-nintendo-switch-legacy-edition","title":"FIFA 22 Nintendo Switch™ Legacy Edition","compatibility":2,"releases":[{"id":"0100216014472000","region":null}]},{"id":"65fd372e-c201-483f-b8e7-86b3fbda2810","directory":"dadish","title":"Dadish","compatibility":3,"releases":[{"id":"0100B8B013310000","region":null}]},{"id":"66142747-35bf-4c20-b4cd-ff20692e3086","directory":"desktop-rugby","title":"Desktop Rugby","compatibility":99,"releases":[{"id":"0100FAC00F716000","region":null}]},{"id":"661f7afa-5938-49c0-9594-5dfde6a1a76a","directory":"woodsalt","title":"Woodsalt","compatibility":99,"releases":[{"id":"0100288012966000","region":null}]},{"id":"661ff712-c89a-41cd-932e-8a51c4310471","directory":"the-unexpected-quest","title":"The Unexpected Quest","compatibility":99,"releases":[{"id":"010043C012DB4000","region":null}]},{"id":"66236f9b-aab5-4f7b-8ba0-4c0e95da663c","directory":"story-of-seasons-pioneers-of-olive-town","title":"STORY OF SEASONS: Pioneers of Olive Town","compatibility":1,"releases":[{"id":"010082E012A84000","region":null}]},{"id":"662e65a6-287d-4402-8dd2-b3d925776bf2","directory":"rollin-eggz","title":"Rollin' Eggz","compatibility":99,"releases":[{"id":"01004FD00D7C8000","region":null}]},{"id":"66310b10-42bc-473c-9b4c-9cd3bb3fb712","directory":"snowboarding-the-next-phase","title":"Snowboarding The Next Phase","compatibility":1,"releases":[{"id":"0100BE200C34A000","region":null}]},{"id":"66377d34-c391-4c7a-93bb-c6e3233afd3f","directory":"quiplash-2-interlashional-the-say-anything-party-game","title":"Quiplash 2 InterLASHional: The Say Anything Party Game!","compatibility":99,"releases":[{"id":"0100AF100EE76000","region":null}]},{"id":"66384604-1f41-4772-b808-fbc0656eabf1","directory":"ginger-beyond-the-crystal","title":"Ginger: Beyond the Crystal","compatibility":2,"releases":[{"id":"0100C50007070000","region":null}]},{"id":"663dfd98-324f-4c4d-bac4-464840c903e5","directory":"awe","title":"Awe","compatibility":99,"releases":[{"id":"0100E1800CD2A000","region":null}]},{"id":"66484227-bc25-4903-b1c1-57b41412f89f","directory":"dragon-quest","title":"DRAGON QUEST","compatibility":0,"releases":[{"id":"0100EFC00EFB2000","region":null}]},{"id":"6648fd3e-b7d6-42ca-af3b-aa58dec40391","directory":"aca-neogeo-baseball-stars-professional","title":"ACA NEOGEO BASEBALL STARS PROFESSIONAL","compatibility":99,"releases":[{"id":"01003FE00A2F6000","region":null}]},{"id":"664eca90-5689-43f6-9d57-cd22fd4b66dd","directory":"induction","title":"Induction","compatibility":99,"releases":[{"id":"01007AE014E66000","region":null}]},{"id":"6660f8c5-6831-4e03-93ef-dd4f87e7550a","directory":"fallen-legion-rise-to-glory","title":"Fallen Legion: Rise to Glory","compatibility":2,"releases":[{"id":"0100A260094EE000","region":null}]},{"id":"66687304-b9fd-46da-a39f-0e2631905c47","directory":"hotel-transylvania-3-monsters-overboard","title":"Hotel Transylvania 3 Monsters Overboard","compatibility":0,"releases":[{"id":"0100017007980000","region":null}]},{"id":"6669b44a-79e7-4456-af45-d4eb9f55a563","directory":"zombie-scrapper","title":"Zombie Scrapper","compatibility":99,"releases":[{"id":"010015000DB1A000","region":null}]},{"id":"666d3358-c445-41db-9371-514cb9b9d952","directory":"him-her","title":"Him & Her","compatibility":99,"releases":[{"id":"010039601162A000","region":null}]},{"id":"66708ecf-d9c8-42c2-b3ea-f479eda40ffc","directory":"wandersong","title":"Wandersong","compatibility":99,"releases":[{"id":"0100F8A00853C000","region":null}]},{"id":"668731a8-8788-4312-b815-6abd38d6a22b","directory":"darksiders-ii-deathinitive-edition","title":"Darksiders II Deathinitive Edition","compatibility":3,"releases":[{"id":"010071800BA98000","region":null}]},{"id":"668d1379-33e6-4c4a-a427-ab3240fb386c","directory":"arcade-archives-crazy-climber","title":"Arcade Archives CRAZY CLIMBER","compatibility":1,"releases":[{"id":"0100BB1001DD6000","region":null}]},{"id":"669b682d-bf34-4c60-9b30-73e7b07c46ba","directory":"curious-expedition-2","title":"Curious Expedition 2","compatibility":99,"releases":[{"id":"010033500E0DC000","region":null}]},{"id":"66a84f46-6802-4e2e-b71e-338821cfab57","directory":"l-o-l-surprise-movie-night","title":"L.O.L. Surprise! Movie Night","compatibility":99,"releases":[{"id":"0100D16014DD4000","region":null}]},{"id":"66ad7636-3b53-44bc-a4f2-1ffef951d414","directory":"ancient-rush-2","title":"Ancient Rush 2","compatibility":99,"releases":[{"id":"010021700BC56000","region":null}]},{"id":"66c44bf2-6fbd-4c0c-a752-72d175f3187f","directory":"takotan","title":"Takotan","compatibility":99,"releases":[{"id":"0100761012B0C000","region":null}]},{"id":"66c6c68c-8b19-4a5b-80c6-c8642f43a10f","directory":"pine","title":"Pine","compatibility":3,"releases":[{"id":"01002BA00D662000","region":null}]},{"id":"66d09f9c-2958-44fe-a75c-925c8d2ee8df","directory":"dead-or-school","title":"DEAD OR SCHOOL","compatibility":99,"releases":[{"id":"0100A5000F7AA000","region":null}]},{"id":"66e52566-196f-4618-8c6d-634518c9e339","directory":"crowdy-farm-rush","title":"Crowdy Farm Rush","compatibility":99,"releases":[{"id":"0100578012A02000","region":null}]},{"id":"66eb649b-f371-4314-8d73-334e7aca1c15","directory":"fantasy-friends","title":"Fantasy Friends","compatibility":99,"releases":[{"id":"010017C012726000","region":null}]},{"id":"66f6d35f-c363-4e24-bafa-0b035e6eb984","directory":"magic-nations","title":"Magic Nations","compatibility":99,"releases":[{"id":"0100F6600AC00000","region":null}]},{"id":"66f7b869-cd5c-4661-8079-8369b7a1b5cb","directory":"omen-exitio-plague","title":"Omen Exitio: Plague","compatibility":99,"releases":[{"id":"01001D500EB90000","region":null}]},{"id":"66fdce60-1b1a-4235-b800-41e4de5b7113","directory":"west-of-dead","title":"West of Dead","compatibility":0,"releases":[{"id":"0100C2C00D74E000","region":null}]},{"id":"6701956c-4b0e-4930-abef-f16f028fb2d0","directory":"robophobik","title":"RoboPhobik","compatibility":99,"releases":[{"id":"0100187011F8E000","region":null}]},{"id":"6702a419-416b-443b-91a6-3fb8f5fde94b","directory":"super-puzzle-pack","title":"Super Puzzle Pack","compatibility":99,"releases":[{"id":"01003AB011FD8000","region":null}]},{"id":"67077cc3-3ba0-4a56-a0e1-3bb802457503","directory":"mom-hid-my-game","title":"Mom Hid My Game!","compatibility":99,"releases":[{"id":"0100702005E18000","region":null}]},{"id":"670806f7-6708-4467-beec-e22c39d29dcb","directory":"arcade-archives-kid-niki-radical-ninja","title":"Arcade Archives Kid Niki Radical Ninja","compatibility":99,"releases":[{"id":"010010B008A36000","region":null}]},{"id":"67316dfc-92df-4453-9921-65dcb3cf8920","directory":"damsel","title":"Damsel","compatibility":2,"releases":[{"id":"0100BD2009A1C000","region":null}]},{"id":"6737582a-8a20-4b7a-b3e6-e1ac9b0d2331","directory":"mario-kart-8-deluxe","title":"Mario Kart 8 Deluxe","compatibility":2,"releases":[{"id":"0100152000022000","region":null}]},{"id":"673a0e03-5395-4357-a00e-fdca1316c899","directory":"football-manager-2020-touch","title":"Football Manager 2020 Touch","compatibility":5,"releases":[{"id":"0100DA500EFB0000","region":null}]},{"id":"673bfd2c-79f2-4c34-aab1-f4b38d2c6835","directory":"memories-of-east-coast","title":"Memories of East Coast","compatibility":99,"releases":[{"id":"0100CF201641C000","region":null}]},{"id":"6742196b-ad34-4698-a381-07cd72863299","directory":"the-journey-down-chapter-two","title":"The Journey Down: Chapter Two","compatibility":99,"releases":[{"id":"01009AB00B186000","region":null}]},{"id":"6743d148-26d0-4292-afa1-84348f21a3f9","directory":"tennis","title":"Tennis","compatibility":99,"releases":[{"id":"0100D7A005DFC000","region":null}]},{"id":"674e93ce-2863-4b2c-bad6-7a8e378d2889","directory":"they-breathe","title":"They Breathe","compatibility":99,"releases":[{"id":"010088801230E000","region":null}]},{"id":"67540743-fc1c-4350-920d-24b5de8e4cfc","directory":"mighty-switch-force-collection","title":"Mighty Switch Force! Collection","compatibility":0,"releases":[{"id":"010060D00AE36000","region":null}]},{"id":"6755303d-b286-423f-abd0-dbdf04c1b928","directory":"tank-battle-heroes","title":"Tank Battle Heroes","compatibility":99,"releases":[{"id":"0100EBF0129E4000","region":null}]},{"id":"67561a26-1064-4bdf-9cda-66334ca50fd9","directory":"blind-men","title":"Blind Men","compatibility":99,"releases":[{"id":"010089D011310000","region":null}]},{"id":"6759f6ea-fae0-4eda-adf5-69958378719d","directory":"panorama-cotton","title":"Panorama Cotton","compatibility":2,"releases":[{"id":"0100BAB01692A000","region":null}]},{"id":"675c8ec0-a438-4bd0-a881-975be0ef993f","directory":"cybarian-the-time-traveling-warrior","title":"Cybarian: The Time Traveling Warrior","compatibility":99,"releases":[{"id":"010045300E52A000","region":null}]},{"id":"67623535-b7a2-47e3-909f-20120f069a3d","directory":"moorhuhn-jump-and-run-traps-and-treasures","title":"Moorhuhn Jump and Run 'Traps and Treasures'","compatibility":99,"releases":[{"id":"0100E3D014ABC000","region":null}]},{"id":"67668459-038a-4216-bb69-7a65b6bffba0","directory":"trailblazers","title":"Trailblazers","compatibility":0,"releases":[{"id":"0100BCA00843A000","region":null}]},{"id":"676c32c1-f3ae-4bfe-bbe5-7d471d172835","directory":"sega-genesis-classics","title":"SEGA Genesis Classics","compatibility":0,"releases":[{"id":"0100A6300B250000","region":null}]},{"id":"678f5379-4635-4161-a9e5-516f7e18b250","directory":"fisti-fluffs","title":"Fisti-Fluffs","compatibility":99,"releases":[{"id":"0100B82012E86000","region":null}]},{"id":"6790df08-5d90-400c-b82f-a9bb85d0daee","directory":"aca-neogeo-pulstar","title":"ACA NEOGEO PULSTAR","compatibility":99,"releases":[{"id":"01008EA008712000","region":null}]},{"id":"679bab52-e7eb-4bce-ac52-f35a557bf90f","directory":"dont-starve-nintendo-switch-edition","title":"Don't Starve: Nintendo Switch Edition","compatibility":1,"releases":[{"id":"0100751007ADA000","region":null}]},{"id":"679d8702-3305-4c22-833d-a1e60b88694f","directory":"mad-bullets","title":"Mad Bullets","compatibility":99,"releases":[{"id":"01008F000E908000","region":null}]},{"id":"67a5f4a7-a09f-478e-9b48-57630d39d047","directory":"if-my-heart-had-wings","title":"If My Heart Had Wings","compatibility":99,"releases":[{"id":"01001AC00ED72000","region":null}]},{"id":"67af7cb5-9577-409b-a0db-5b8889834de9","directory":"dual-brain-vol1-calculation","title":"Dual Brain Vol.1: Calculation","compatibility":1,"releases":[{"id":"0100E6900F2A8000","region":null}]},{"id":"67b32723-aaea-48a1-bc45-e71c9ba7606c","directory":"james-pond-codename-robocod","title":"James Pond Codename Robocod","compatibility":3,"releases":[{"id":"0100CD5008D9E000","region":null}]},{"id":"67b3d143-eab8-4f06-881e-08ab110b77a5","directory":"lifeless-planet-premiere-edition","title":"Lifeless Planet: Premiere Edition","compatibility":0,"releases":[{"id":"01005B6008132000","region":null}]},{"id":"67bfcadd-aee9-4368-b869-214324218aa6","directory":"vambrace-cold-soul","title":"Vambrace: Cold Soul","compatibility":99,"releases":[{"id":"01000E000DD40000","region":null}]},{"id":"67bfe41e-46fc-4310-b2d4-09bd11550e0b","directory":"mario-party-superstars","title":"Mario Party™ Superstars","compatibility":2,"releases":[{"id":"01006FE013472000","region":null}]},{"id":"67c47ceb-5189-42b6-9409-689d90d99e60","directory":"toroom","title":"Toroom","compatibility":99,"releases":[{"id":"01003C9015BD6000","region":null}]},{"id":"67d44bac-e5db-4876-bd9c-8d7966761181","directory":"dark-quest-2","title":"Dark Quest 2","compatibility":0,"releases":[{"id":"0100BFF00D5AE000","region":null}]},{"id":"67d9e4e9-aa67-4765-98f5-59fa1f2f01e6","directory":"gravity-light","title":"Gravity Light","compatibility":99,"releases":[{"id":"010097F01653E000","region":null}]},{"id":"67ddfeea-5708-4fb9-a2f7-66c548cd0540","directory":"grandpa-and-the-zombies","title":"Grandpa and the Zombies","compatibility":99,"releases":[{"id":"010038500BCD6000","region":null}]},{"id":"67e92944-c536-46e5-84cf-34f1e1d7ceca","directory":"my-riding-stables-2-a-new-adventure","title":"My Riding Stables 2: A New Adventure","compatibility":99,"releases":[{"id":"010042A00FBF0000","region":null}]},{"id":"67f0fced-db0f-427c-be57-61e8bcbd264c","directory":"thief-town","title":"Thief Town","compatibility":99,"releases":[{"id":"0100EE401046E000","region":null}]},{"id":"67f3319a-cb20-4de4-89c5-ca3a9bc5ee6a","directory":"animaludo","title":"AnimaLudo","compatibility":99,"releases":[{"id":"01009660154D0000","region":null}]},{"id":"67f36324-c214-471d-b4ed-27f0c6bd465a","directory":"travel-mosaics-7-fantastic-berlin","title":"Travel Mosaics 7: Fantastic Berlin","compatibility":99,"releases":[{"id":"01000BD0119DE000","region":null}]},{"id":"67f92476-1866-464e-811d-75c4b7fa07e6","directory":"pure-electric-love-everyone-else-ema-sakura-","title":"Pure / Electric Love \"Everyone else!\" - Ema Sakura -","compatibility":3,"releases":[{"id":"010050300AC28000","region":null}]},{"id":"67fa4e81-9454-4c82-a879-f824714e31f1","directory":"beattalk","title":"BeatTalk","compatibility":99,"releases":[{"id":"01004A6014788000","region":null}]},{"id":"67fb249b-d5f4-4e84-b50c-da1010f8117e","directory":"stranded-sails-explorers-of-the-cursed-islands","title":"Stranded Sails - Explorers of the Cursed Islands","compatibility":2,"releases":[{"id":"010078D00E8F4000","region":null}]},{"id":"681b3a8b-327b-497a-a00e-67146ed3db3d","directory":"residual","title":"Residual","compatibility":99,"releases":[{"id":"0100D880159D2000","region":null}]},{"id":"681c6780-b86f-4e6a-a48b-1be56ac5b00f","directory":"quarantine-circular","title":"Quarantine Circular","compatibility":99,"releases":[{"id":"0100F1400BA88000","region":null}]},{"id":"68292727-366c-4f56-a3b9-ed6ab7cbdd8b","directory":"grand-slam-tennis","title":"Grand Slam Tennis","compatibility":99,"releases":[{"id":"0100BB701534C000","region":null}]},{"id":"682c7372-a747-4a9e-8eaa-1a207e770f7f","directory":"infinitecorp-cyberpunk-card-game","title":"InfiniteCorp: Cyberpunk Card Game","compatibility":99,"releases":[{"id":"0100A4F015E78000","region":null}]},{"id":"684aa4cd-0aee-4b12-8eb3-ad271f5b9275","directory":"the-true","title":"The True","compatibility":99,"releases":[{"id":"0100C19013ECC000","region":null}]},{"id":"684d5dc2-5205-4bcb-8d6f-fbf0610e8a2d","directory":"the-seven-chambers","title":"The Seven Chambers","compatibility":99,"releases":[{"id":"0100721014E52000","region":null}]},{"id":"684e379a-4c15-4923-af12-af5fdcbd59b7","directory":"tt-isle-of-man-ride-on-the-edge-2","title":"TT Isle of Man Ride on the Edge 2","compatibility":4,"releases":[{"id":"010000400F582000","region":null}]},{"id":"685720d7-59e9-4cf4-bc3e-5a8709ecce6a","directory":"boost-beast","title":"BOOST BEAST","compatibility":3,"releases":[{"id":"0100766003E5C000","region":null}]},{"id":"685b4052-6da4-4d5f-aa95-45a2e0f7b5ae","directory":"damascus-gear-operation-tokyo","title":"Damascus Gear Operation Tokyo","compatibility":99,"releases":[{"id":"01006AA0084FE000","region":null}]},{"id":"685fb2c2-d16b-482a-996e-b3d1c7fcd091","directory":"darksiders-warmastered-edition","title":"Darksiders Warmastered Edition","compatibility":1,"releases":[{"id":"0100E1400BA96000","region":null}]},{"id":"68668016-97ea-4d58-80e7-6c62ee8b41ec","directory":"travel-mosaics-8-breathtaking-seoul","title":"Travel Mosaics 8: Breathtaking Seoul","compatibility":0,"releases":[{"id":"0100AE30119E0000","region":null}]},{"id":"687cf1f7-1ca5-4deb-b552-eeec68b80a1d","directory":"g-i-joe-operation-blackout","title":"G.I. Joe: Operation Blackout","compatibility":99,"releases":[{"id":"0100EB10108EA000","region":null}]},{"id":"688aa34b-8ed5-4a56-b74f-c8b2637e850c","directory":"mugsters","title":"Mugsters","compatibility":99,"releases":[{"id":"010073E008E6E000","region":null}]},{"id":"689281ce-5052-470a-99c3-6bef4b310c98","directory":"animal-rivals-nintendo-switch-edition","title":"Animal Rivals: Nintendo Switch Edition","compatibility":3,"releases":[{"id":"010065B009B3A000","region":null}]},{"id":"6893509d-292c-415e-9c8a-d260f3f15e3c","directory":"fantasy-tavern-sextet-vol-2-adventurers-days","title":"Fantasy Tavern Sextet -Vol.2 Adventurer's Days-","compatibility":4,"releases":[{"id":"01005C10136CA000","region":null}]},{"id":"689da056-22cb-44ee-a830-439ada527ba7","directory":"monster-hunter-generations-ultimate","title":"Monster Hunter Generations Ultimate","compatibility":1,"releases":[{"id":"0100770008DD8000","region":null}]},{"id":"68bdcde1-8b46-421e-951f-89cd18a67225","directory":"nongunz-doppelganger-edition","title":"Nongunz: Doppelganger Edition","compatibility":99,"releases":[{"id":"0100542012884000","region":null}]},{"id":"68c0d1a5-cb0b-4f3c-ab46-00e90e773d95","directory":"paper-dolls-original","title":"Paper Dolls Original","compatibility":3,"releases":[{"id":"010004500DE50000","region":null}]},{"id":"68ca0026-7fc5-481c-b5d7-724ea9c3be4b","directory":"archlion-saga","title":"Archlion Saga","compatibility":1,"releases":[{"id":"0100B3500DFB8000","region":null}]},{"id":"68f06377-6720-4793-a16f-ae83541bc74a","directory":"blue-rider","title":"Blue Rider","compatibility":99,"releases":[{"id":"01006A600B5E6000","region":null}]},{"id":"68f0daeb-d1a2-4100-8454-02edcb12d3ca","directory":"sega-ages-alex-kidd-in-miracle-world","title":"SEGA AGES Alex Kidd in Miracle World","compatibility":0,"releases":[{"id":"0100A8900AF04000","region":null}]},{"id":"692a0d80-be16-4865-9274-f6eedbb58104","directory":"astroneer","title":"ASTRONEER","compatibility":99,"releases":[{"id":"0100E63013E60000","region":null}]},{"id":"692a93a9-97e2-4f38-b824-07d3ecee76e5","directory":"escape-doodland","title":"Escape Doodland","compatibility":99,"releases":[{"id":"010036600C7BE000","region":null}]},{"id":"69329625-91e1-45ac-b663-bb57bd5cc252","directory":"glitchangels","title":"Glitchangels","compatibility":99,"releases":[{"id":"0100CDA014AF6000","region":null}]},{"id":"69337b3a-e535-4e30-b604-6e65d949e549","directory":"a-boy-and-his-blob","title":"A Boy and His Blob","compatibility":0,"releases":[{"id":"01008AF0160C4000","region":null}]},{"id":"694922ff-a137-411c-b469-be7ec7ac928c","directory":"project-knight","title":"PROJECT : KNIGHT","compatibility":99,"releases":[{"id":"0100BE60149F2000","region":null}]},{"id":"694ad68e-9a4e-45f1-8f9a-68be3edf4aee","directory":"nekopara-vol-4","title":"NEKOPARA Vol.4","compatibility":99,"releases":[{"id":"010049F013656000","region":null}]},{"id":"6951297b-80c2-4662-9064-1161c2ba47a5","directory":"kingdom-tales-2","title":"Kingdom Tales 2","compatibility":99,"releases":[{"id":"0100AE7013B90000","region":null}]},{"id":"6958ed3a-a47f-47c3-91a3-771eda2c66de","directory":"pixel-game-maker-series-cham-the-cat-adventure","title":"Pixel Game Maker Series CHAM THE CAT ADVENTURE","compatibility":99,"releases":[{"id":"01005A40168A2000","region":null}]},{"id":"695d8a4b-f3b2-4746-ae10-e15dcda2df7b","directory":"super-saurio-fly","title":"Super Saurio Fly","compatibility":99,"releases":[{"id":"01004CF00A60E000","region":null}]},{"id":"695eab81-8f43-4da2-95d6-7505f1fcf686","directory":"space-otter-charlie","title":"Space Otter Charlie","compatibility":99,"releases":[{"id":"0100DCF0120D2000","region":null}]},{"id":"695f425c-0855-4e31-8869-de75a3d5ecf0","directory":"kaptain-brawe-a-brawe-new-world","title":"Kaptain Brawe: A Brawe New World","compatibility":2,"releases":[{"id":"0100B53013236000","region":null}]},{"id":"6965e716-e7c4-46e0-afd9-adb6ca3b2149","directory":"knock-knock","title":"Knock-Knock","compatibility":99,"releases":[{"id":"010001A00A1F6000","region":null}]},{"id":"6968c778-ea67-4b60-b0db-4723a3e74d7a","directory":"dragon-quest-iii-the-seeds-of-salvation","title":"DRAGON QUEST III: The Seeds of Salvation","compatibility":4,"releases":[{"id":"010015600EFB6000","region":null}]},{"id":"696b0887-fc8c-49e7-82ed-53e756831d19","directory":"bibi-and-tina-adventures-with-horses","title":"Bibi & Tina – Adventures with Horses","compatibility":99,"releases":[{"id":"0100BF400AF38000","region":null}]},{"id":"696b3cb7-5952-44cb-8be7-cf85c155ea26","directory":"nuts","title":"NUTS","compatibility":99,"releases":[{"id":"01000A00135DC000","region":null}]},{"id":"697309bf-9e16-4a06-ba02-79045c106e83","directory":"asterix-obelix-slap-them-all","title":"Asterix & Obelix: Slap them All!","compatibility":1,"releases":[{"id":"01002B401285E000","region":null}]},{"id":"69752083-2f13-41b9-b522-6b1ba14d8b2c","directory":"99vidas-definitive-edition","title":"99Vidas - Definitive Edition","compatibility":99,"releases":[{"id":"0100B2C00682E000","region":null}]},{"id":"6984ea21-9094-4317-952e-b181ed65bc97","directory":"mega-party-a-tootuff-adventure","title":"MEGA PARTY - a tootuff adventure","compatibility":99,"releases":[{"id":"010033A011614000","region":null}]},{"id":"69857e44-d501-4e83-8d8a-560e788c24b4","directory":"koi-dx","title":"Koi DX","compatibility":0,"releases":[{"id":"01001E500401C000","region":null}]},{"id":"69916e13-a342-4f04-8d66-6bae8f67cf4d","directory":"crashbots","title":"Crashbots","compatibility":99,"releases":[{"id":"0100BF200CD74000","region":null}]},{"id":"699633b8-a713-4277-9f26-46f81c7badd8","directory":"energy-cycle-edge-demo","title":"Energy Cycle Edge (Demo)","compatibility":2,"releases":[{"id":"0100A9900C380000","region":null}]},{"id":"69a87da2-62e6-448f-870b-2ce8b11d897f","directory":"doom-and-destiny","title":"Doom & Destiny","compatibility":0,"releases":[{"id":"010019F00CF92000","region":null}]},{"id":"69b686cc-7024-43a1-9460-162052334879","directory":"super-dodge-ball","title":"Super Dodge Ball","compatibility":99,"releases":[{"id":"010096300E48A000","region":null}]},{"id":"69cb8a10-7927-447c-8249-65855b7d6867","directory":"furwind","title":"Furwind","compatibility":0,"releases":[{"id":"0100A6B00D4EC000","region":null}]},{"id":"69d84967-530d-432b-bc21-744f0fb9fcc6","directory":"star-wars-republic-commando","title":"STAR WARS™ Republic Commando™","compatibility":5,"releases":[{"id":"0100FA10115F8000","region":null}]},{"id":"69e0a12f-a025-41d9-8888-701a41967d7b","directory":"tharsis","title":"Tharsis","compatibility":0,"releases":[{"id":"010034D010E78000","region":null}]},{"id":"69e8f66a-08c1-4fa7-828c-fae6f44c9544","directory":"lydia","title":"Lydia","compatibility":99,"releases":[{"id":"01009800100B4000","region":null}]},{"id":"69ed4d68-a0aa-42da-b218-75adf2972d80","directory":"sparklite","title":"Sparklite","compatibility":2,"releases":[{"id":"01007ED00C032000","region":null}]},{"id":"69f44e25-55fb-45fc-a819-379f79b0de6f","directory":"bunny-adventure","title":"Bunny Adventure","compatibility":99,"releases":[{"id":"01004A201292C000","region":null}]},{"id":"6a038133-9fde-42b2-8cac-1689f599f830","directory":"aca-neogeo-metal-slug-4","title":"ACA NEOGEO METAL SLUG 4","compatibility":2,"releases":[{"id":"01009CE00AFAE000","region":null}]},{"id":"6a10308f-23a6-4074-a31c-4af20b68b930","directory":"one-hand-clapping","title":"One Hand Clapping","compatibility":99,"releases":[{"id":"0100FDD01209A000","region":null}]},{"id":"6a519673-4ec5-48b5-b19c-d126cce53672","directory":"art-of-balance-demo","title":"Art of Balance DEMO","compatibility":99,"releases":[{"id":"010062F00CAE2000","region":null}]},{"id":"6a689077-967d-443f-8940-51f5ab1a3293","directory":"metallic-child","title":"METALLIC CHILD","compatibility":2,"releases":[{"id":"01009DE014D6E000","region":null}]},{"id":"6a6ccc27-0c12-4a56-ab59-81ddf79cd62b","directory":"fifa-21-nintendo-switch-legacy-edition","title":"FIFA 21 Nintendo Switch™ Legacy Edition","compatibility":2,"releases":[{"id":"01000A001171A000","region":null}]},{"id":"6a6eef6f-dd26-4fc2-8e44-1746a99786fe","directory":"override-2-super-mech-league","title":"Override 2: Super Mech League","compatibility":99,"releases":[{"id":"0100647012F62000","region":null}]},{"id":"6a70b484-3766-48d1-a883-e60934aaa542","directory":"shiny-ski-resort","title":"Shiny Ski Resort","compatibility":99,"releases":[{"id":"010082400ED18000","region":null}]},{"id":"6a7ae334-4245-43ae-98fb-c46d99b2c97e","directory":"horror-pinball-bundle","title":"Horror Pinball Bundle","compatibility":2,"releases":[{"id":"0100E4200FA82000","region":null}]},{"id":"6a82c4d9-c5f2-4cc1-9522-1e8746fff3f3","directory":"retro-tanks","title":"Retro Tanks","compatibility":99,"releases":[{"id":"01002F6011D12000","region":null}]},{"id":"6a93e78b-c282-4c86-a882-8cae1931fd04","directory":"skelly-selest-straimium-immortaly-double-pack","title":"Skelly Selest &  Straimium Immortaly Double Pack","compatibility":99,"releases":[{"id":"010028001179C000","region":null}]},{"id":"6a98650a-c651-46db-b261-7a2dbada88c0","directory":"stone","title":"STONE","compatibility":99,"releases":[{"id":"010070D00F640000","region":null}]},{"id":"6a9d5eea-bbbb-4511-a33b-3a81b60898ca","directory":"chinese-parents","title":"Chinese Parents","compatibility":99,"releases":[{"id":"010046F012A04000","region":null}]},{"id":"6aa50a32-33be-421f-9a6b-11fc993159b9","directory":"island-farmer","title":"Island Farmer","compatibility":99,"releases":[{"id":"0100FA60160DE000","region":null}]},{"id":"6aa80d9c-41f8-4c96-8d56-53d111f76269","directory":"howling-village-echoes","title":"Howling Village: Echoes","compatibility":99,"releases":[{"id":"01000E40163F2000","region":null}]},{"id":"6ab9a661-7542-412c-bcb2-71b75aefc2fb","directory":"sheep-in-hell","title":"Sheep in Hell","compatibility":99,"releases":[{"id":"01005B800EA5A000","region":null}]},{"id":"6abe4e5e-4b2a-4d36-b610-00db60cd6ec5","directory":"zombo-buster-advance","title":"Zombo Buster Advance","compatibility":99,"releases":[{"id":"0100BC5014D68000","region":null}]},{"id":"6ac4f560-3a79-40c0-b3f8-59386faed73c","directory":"kuukiyomi-2-consider-it-more-new-era","title":"KUUKIYOMI 2: Consider It More! - New Era","compatibility":99,"releases":[{"id":"010037500F282000","region":null}]},{"id":"6ad0926c-f434-4c81-a1cb-e14a8fd6279c","directory":"razed","title":"RAZED","compatibility":99,"releases":[{"id":"0100CB5009A2C000","region":null}]},{"id":"6ad18cc3-ddc9-4238-8d7f-dd925e6119de","directory":"behind-the-screen","title":"Behind The Screen","compatibility":1,"releases":[{"id":"010053200B0E0000","region":null}]},{"id":"6add1724-8592-4c77-9189-86f8da518fb1","directory":"teddy-gangs","title":"Teddy Gangs","compatibility":99,"releases":[{"id":"0100FAE00F728000","region":null}]},{"id":"6ae417f7-1342-4a89-926e-887893e2c4a2","directory":"monster-boy-and-the-cursed-kingdom","title":"Monster Boy and the Cursed Kingdom","compatibility":1,"releases":[{"id":"01006F7001D10000","region":null}]},{"id":"6ae5d08a-9d02-4c6a-b09b-50fa4de84cb6","directory":"ploid","title":"PLOID","compatibility":99,"releases":[{"id":"010081B013B58000","region":null}]},{"id":"6aec5de5-6d79-4b29-b18d-377f0e52750f","directory":"dandara","title":"Dandara","compatibility":1,"releases":[{"id":"0100BFC002B4E000","region":null}]},{"id":"6aedf0eb-0ed6-41e9-94f0-477430e847e5","directory":"puzzle-pipes","title":"Puzzle Pipes","compatibility":99,"releases":[{"id":"0100A010153CC000","region":null}]},{"id":"6af3e732-fb19-49d5-8be7-9691e02cd036","directory":"my-coloring-book","title":"My Coloring Book","compatibility":0,"releases":[{"id":"0100E76013F1C000","region":null}]},{"id":"6af77040-0675-4019-822c-d75ca70dcbe2","directory":"foregone","title":"Foregone","compatibility":3,"releases":[{"id":"010044B00E70A000","region":null}]},{"id":"6afc79f8-75e4-418a-99ec-6283d936b2ca","directory":"home-sheep-home-farmageddon-party-edition","title":"Home Sheep Home: Farmageddon Party Edition","compatibility":99,"releases":[{"id":"010076000F6B8000","region":null}]},{"id":"6b04570b-6bfd-4128-b85f-4f224a32a4c5","directory":"indie-darling-bundle-vol-2","title":"Indie Darling Bundle Vol 2","compatibility":99,"releases":[{"id":"01006DD011074000","region":null}]},{"id":"6b1414e6-cdb9-444a-a28d-e4de3c97047e","directory":"aqua-moto-racing-utopia","title":"Aqua Moto Racing Utopia","compatibility":1,"releases":[{"id":"0100D0D00516A000","region":null}]},{"id":"6b32af42-8ba6-45ac-b447-ca0eb4871d8f","directory":"mercury-race","title":"Mercury Race","compatibility":99,"releases":[{"id":"0100C9A00B60A000","region":null}]},{"id":"6b3f7a1c-99d5-447d-a465-1842fbde2f9a","directory":"the-otterman-empire","title":"The Otterman Empire","compatibility":3,"releases":[{"id":"01004A700DBD6000","region":null},{"id":"0100B0101265C000","region":null}]},{"id":"6b4603eb-77f4-4b7b-9a99-7eb3315bb520","directory":"abarenbo-tengu-zombie-nation","title":"Abarenbo Tengu & Zombie Nation","compatibility":99,"releases":[{"id":"010040E012A5A000","region":null}]},{"id":"6b467099-9c89-45e4-bc85-81c659e8e201","directory":"summer-sweetheart","title":"Summer Sweetheart","compatibility":1,"releases":[{"id":"01004E500DB9E000","region":null}]},{"id":"6b4878a0-39b6-472e-ac27-24a465ce4787","directory":"cat","title":".cat","compatibility":99,"releases":[{"id":"010079D013E18000","region":null}]},{"id":"6b53ea95-60eb-42a7-81c2-246848d3e9ec","directory":"woodle-tree-adventures-demo","title":"Woodle Tree Adventures Demo","compatibility":99,"releases":[{"id":"010008300D1E0000","region":null}]},{"id":"6b59478f-a656-45d0-af8e-b59cac222da8","directory":"mxgp3-the-official-motocross-videogame","title":"MXGP3 - The Official Motocross Videogame","compatibility":3,"releases":[{"id":"0100D940063A0000","region":null}]},{"id":"6b5ac046-9bf2-47ee-bb5e-e5bf8c6d47bd","directory":"train-station-renovation","title":"Train Station Renovation","compatibility":99,"releases":[{"id":"0100C670149D4000","region":null}]},{"id":"6b5d4b9d-0d25-4b86-a507-633d1f687618","directory":"gunbird-for-nintendo-switch","title":"GUNBIRD for Nintendo Switch","compatibility":4,"releases":[{"id":"01003C6008940000","region":null}]},{"id":"6b697610-e073-4003-9e93-f5778336f93d","directory":"strange-field-football","title":"Strange Field Football","compatibility":99,"releases":[{"id":"01000A6013F86000","region":null}]},{"id":"6b6c1e61-2b21-4661-959f-10bb8c0869cd","directory":"dragon-blaze-for-nintendo-switch","title":"Dragon Blaze for Nintendo Switch","compatibility":2,"releases":[{"id":"010099B00A2DC000","region":null}]},{"id":"6b77bb2f-75a8-40fd-a826-edbc8d2a24a7","directory":"game-dev-story","title":"Game Dev Story","compatibility":4,"releases":[{"id":"0100AF700BCD2000","region":null}]},{"id":"6b7a17c7-4eab-46bb-b77c-ba8e3f178f36","directory":"dragonfangz-the-rose-and-dungeon-of-time","title":"DragonFangZ - The Rose & Dungeon of Time","compatibility":2,"releases":[{"id":"0100DA0006F50000","region":null}]},{"id":"6b7cc99e-9dc6-43ea-856b-e193ab405a93","directory":"earthlock","title":"EARTHLOCK","compatibility":2,"releases":[{"id":"01006E50042EA000","region":null}]},{"id":"6b81e174-4a91-4afd-8a89-955c88a2c597","directory":"riddled-corpses-ex","title":"Riddled Corpses EX","compatibility":0,"releases":[{"id":"01002C700C326000","region":null}]},{"id":"6b8a07b6-199c-4e82-acf6-8a7d646f5463","directory":"tesla-vs-lovecraft","title":"Tesla vs Lovecraft","compatibility":99,"releases":[{"id":"0100FBC007EAE000","region":null}]},{"id":"6bae551f-13d4-4cb2-812e-de04e7835b02","directory":"the-alliance-alive-hd-remastered","title":"The Alliance Alive HD Remastered","compatibility":1,"releases":[{"id":"01003CF00DCFA000","region":null}]},{"id":"6bb47d82-239f-4026-88d9-a28108a99a69","directory":"drums","title":"Drums","compatibility":1,"releases":[{"id":"0100652012F58000","region":null}]},{"id":"6bc00557-a0ba-4b20-8a1b-02861acf3bcc","directory":"puzzles-for-toddlers-kids-animals-cars-and-more","title":"Puzzles for Toddlers & Kids: Animals, Cars and more","compatibility":5,"releases":[{"id":"010071E011308000","region":null}]},{"id":"6bc151c6-1bfd-466b-b799-c318f9fe86ea","directory":"super-space-snake","title":"Super Space Snake","compatibility":99,"releases":[{"id":"01004DE01162C000","region":null}]},{"id":"6bc95279-b2b9-4f8b-a0b1-70d17e6ce0bc","directory":"strike-suit-zero-directors-cut","title":"Strike Suit Zero: Director's Cut","compatibility":99,"releases":[{"id":"010072500D52E000","region":null}]},{"id":"6bcf074b-8368-4792-903e-7a72f08f2f65","directory":"dungeonoid","title":"Dungeonoid","compatibility":99,"releases":[{"id":"01002130136C0000","region":null}]},{"id":"6bdbb458-f615-49d3-9c20-d123184652d9","directory":"conarium","title":"Conarium","compatibility":1,"releases":[{"id":"010015801308E000","region":null}]},{"id":"6beb8961-5d60-48d1-9daf-cb1262a7cb19","directory":"wuppo-definitive-edition","title":"Wuppo: Definitive Edition","compatibility":5,"releases":[{"id":"01003F800E87C000","region":null}]},{"id":"6befcd10-bb3d-4da3-8d32-529e36465597","directory":"aca-neogeo-the-king-of-fighters-97","title":"ACA NEOGEO THE KING OF FIGHTERS '97","compatibility":2,"releases":[{"id":"0100170008728000","region":null}]},{"id":"6bf60ca8-e5fb-43ce-a135-9cdad7d97f4d","directory":"shadowverse-champions-battle","title":"Shadowverse: Champion's Battle","compatibility":99,"releases":[{"id":"01005880134C2000","region":null}]},{"id":"6bf72de9-7daa-4e2b-be1c-4e4e1d89f31d","directory":"quell","title":"Quell","compatibility":99,"releases":[{"id":"0100492012378000","region":null}]},{"id":"6bf8116b-d08a-4cb8-8f3d-4170e6c119f6","directory":"axe-champ","title":"Axe Champ!","compatibility":99,"releases":[{"id":"01009E7015954000","region":null}]},{"id":"6c00db3a-78ab-44da-9258-70204bfae694","directory":"afterparty","title":"Afterparty","compatibility":3,"releases":[{"id":"0100DB100BBCE000","region":null}]},{"id":"6c149c88-6605-4e51-bcc5-890cbcdf3168","directory":"world-conqueror-x","title":"World Conqueror X","compatibility":99,"releases":[{"id":"01009D500A194000","region":null}]},{"id":"6c27da92-dc64-4301-abaa-19758a99732e","directory":"wordsweeper-by-powgi","title":"Wordsweeper by POWGI","compatibility":99,"releases":[{"id":"01008A500ED8E000","region":null}]},{"id":"6c423419-d841-441e-bbc8-ffe84cea142f","directory":"petoons-party","title":"Petoons Party","compatibility":2,"releases":[{"id":"010044400EEAE000","region":null}]},{"id":"6c59e28b-4b5c-4db3-8e45-ac5be51ca03d","directory":"survive-mrcube","title":"Survive! MR.CUBE","compatibility":99,"releases":[{"id":"010029A00AEB0000","region":null}]},{"id":"6c60bade-15fd-4231-9123-3c89e0800581","directory":"bounce-mania","title":"Bounce Mania","compatibility":99,"releases":[{"id":"01003FD014FB0000","region":null}]},{"id":"6c6d08f4-fef1-478e-8173-63074bfa451c","directory":"mario-rabbids-kingdom-battle","title":"Mario + Rabbids Kingdom Battle","compatibility":2,"releases":[{"id":"010067300059A000","region":null}]},{"id":"6c78a63a-9f48-4d22-92c2-ce68bcf910be","directory":"arcade-archives-nova2001","title":"Arcade Archives NOVA2001","compatibility":99,"releases":[{"id":"0100A5E009822000","region":null}]},{"id":"6c78e6ae-b9d6-432f-b71f-330ada6f6919","directory":"mushroom-heroes","title":"Mushroom Heroes","compatibility":99,"releases":[{"id":"01005BD0112B8000","region":null}]},{"id":"6c78f522-8ed0-4914-a4f8-f0b1fddfb5df","directory":"captain-starone","title":"Captain StarONE","compatibility":99,"releases":[{"id":"0100BF000CB3C000","region":null}]},{"id":"6c802aa1-7078-4c45-a750-7d76dbc2c7d1","directory":"catch-em-goldfish-scooping","title":"Catch 'Em! Goldfish Scooping","compatibility":99,"releases":[{"id":"0100E7F00BA5A000","region":null}]},{"id":"6c82d2c7-9fd5-4a3c-acc2-5dd746968493","directory":"emoji-music","title":"emoji MUSIC","compatibility":99,"releases":[{"id":"01005AC016C0C000","region":null}]},{"id":"6c88f7d7-4abf-488f-897c-b77279de9e8b","directory":"johnny-turbos-arcade-joe-and-mac-returns","title":"Johnny Turbo's Arcade: Joe and Mac Returns","compatibility":99,"releases":[{"id":"01003D7002CC0000","region":null}]},{"id":"6c8b0b12-6de4-41ac-930b-db5e60c06d20","directory":"puzzle-puppers","title":"Puzzle Puppers","compatibility":99,"releases":[{"id":"01003590089EA000","region":null}]},{"id":"6c8fcd94-f323-4d83-ba1c-d185c6833f1c","directory":"othercide","title":"Othercide","compatibility":99,"releases":[{"id":"0100E5900F49A000","region":null}]},{"id":"6c99312a-1a37-4db8-994d-40d4d98d8930","directory":"calculation-castle-grecos-ghostly-challenge-subtraction","title":"Calculation Castle : Greco's Ghostly Challenge \"Subtraction \"","compatibility":99,"releases":[{"id":"0100A6500B176000","region":null}]},{"id":"6ca2df1f-be97-405d-850c-20a988d7b6d2","directory":"spy-chameleon","title":"Spy Chameleon","compatibility":99,"releases":[{"id":"0100662008632000","region":null}]},{"id":"6ca62f11-16d5-47ea-94e3-7c4c8907c350","directory":"aca-neogeo-ragnagard","title":"ACA NEOGEO RAGNAGARD","compatibility":5,"releases":[{"id":"010006300AFCE000","region":null}]},{"id":"6cb33b8d-d0ea-4d27-8d3c-4c2b7610d527","directory":"puzzle-9","title":"Puzzle 9","compatibility":99,"releases":[{"id":"01007E201634C000","region":null}]},{"id":"6cb41d03-66eb-45ba-9f5d-db2ac1901cd4","directory":"toejam-and-earl-back-in-the-groove","title":"ToeJam & Earl: Back in the Groove!","compatibility":2,"releases":[{"id":"0100B5200BB7C000","region":null}]},{"id":"6cb93c0c-eb2d-49d1-9d95-2303f0af9537","directory":"medieval-tower-defense","title":"Medieval Tower Defense","compatibility":99,"releases":[{"id":"01008890162A8000","region":null}]},{"id":"6cba75b7-e292-432b-997a-76610a19e778","directory":"multilevel-parking-driver","title":"Multilevel Parking Driver","compatibility":99,"releases":[{"id":"0100B74015434000","region":null}]},{"id":"6cc4fc75-2c0d-4b1e-b1f5-5f5501e0563f","directory":"battle-planet-judgement-day","title":"Battle Planet - Judgement Day","compatibility":99,"releases":[{"id":"0100D2800EB40000","region":null}]},{"id":"6cd69ed7-fc3f-42f7-8617-8ec47dbcbf08","directory":"big-buck-hunter-arcade","title":"Big Buck Hunter Arcade","compatibility":2,"releases":[{"id":"010062B00A874000","region":null}]},{"id":"6cd8951d-b897-4c41-8565-a4c38d5e8aea","directory":"blaster-master-zero","title":"Blaster Master Zero","compatibility":0,"releases":[{"id":"0100225000FEE000","region":null}]},{"id":"6ce0080d-f925-44b1-872a-a60850a05d87","directory":"zombievital-dg","title":"ZombieVital DG","compatibility":99,"releases":[{"id":"010048F014748000","region":null}]},{"id":"6ce2f536-f131-4678-be27-1827c82288d3","directory":"aca-neogeo-magical-drop-iii","title":"ACA NEOGEO MAGICAL DROP III","compatibility":99,"releases":[{"id":"01008ED008776000","region":null}]},{"id":"6ce6ef38-907a-41d0-a0b6-1749c3c5dd3e","directory":"forgotton-anne","title":"Forgotton Anne","compatibility":1,"releases":[{"id":"010059E00B93C000","region":null}]},{"id":"6ce8088e-0d78-4165-a12a-1a2623256d48","directory":"burnout-paradise-remastered","title":"Burnout™ Paradise Remastered","compatibility":3,"releases":[{"id":"0100DBF01000A000","region":null}]},{"id":"6ce8cc8d-e5d8-4c5b-b409-3799c87b300e","directory":"stern-pinball-arcade","title":"Stern Pinball Arcade","compatibility":5,"releases":[{"id":"0100AE0006474000","region":null}]},{"id":"6cf68278-3381-4553-b531-4e60c4b6e7f8","directory":"puzzle-wall","title":"Puzzle Wall","compatibility":99,"releases":[{"id":"01002C900BF74000","region":null}]},{"id":"6d03f2e2-a610-4aff-8b10-59207313bb8b","directory":"grand-prix-story","title":"Grand Prix Story","compatibility":1,"releases":[{"id":"0100BE600D07A000","region":null}]},{"id":"6d24e957-17ae-4ac5-8835-098e1c824be2","directory":"my-girlfriend-is-a-mermaid","title":"My Girlfriend is a Mermaid!?","compatibility":99,"releases":[{"id":"01000D700BE88000","region":null}]},{"id":"6d260671-e075-45ae-855e-128d5e74c1e4","directory":"dead-in-vinland-true-viking-edition","title":"Dead in Vinland - True Viking edition","compatibility":99,"releases":[{"id":"010005400E394000","region":null}]},{"id":"6d27f273-25b4-43e9-90eb-cc99de2cb873","directory":"trine-4-the-nightmare-prince","title":"Trine 4: The Nightmare Prince","compatibility":5,"releases":[{"id":"010055E00CA68000","region":null}]},{"id":"6d2ad664-0aa0-479a-a408-9c21add25ab3","directory":"swarmriders","title":"SWARMRIDERS","compatibility":99,"releases":[{"id":"0100E7001210C000","region":null}]},{"id":"6d34035e-0332-4dc8-98eb-268224b4c0f2","directory":"luna-the-shadow-dust","title":"LUNA The Shadow Dust","compatibility":1,"releases":[{"id":"0100B950129DC000","region":null}]},{"id":"6d3b4b59-0ec1-44fa-8b48-98e757cdd291","directory":"murder-mystery-machine","title":"Murder Mystery Machine","compatibility":0,"releases":[{"id":"01006C4014720000","region":null}]},{"id":"6d44ca13-7118-48a2-9042-ebbd6cc43dfd","directory":"labyrinth-of-the-witch","title":"Labyrinth of the Witch","compatibility":1,"releases":[{"id":"010022D0089AE000","region":null}]},{"id":"6d46d9f1-16ff-40fd-9bc7-17ed6e409d79","directory":"the-station","title":"The Station","compatibility":0,"releases":[{"id":"010007F00AF56000","region":null}]},{"id":"6d49c737-8965-411e-8886-1403b323a92d","directory":"the-hong-kong-massacre","title":"The Hong Kong Massacre","compatibility":99,"releases":[{"id":"01001950137D8000","region":null}]},{"id":"6d4d32cb-a579-4644-a2ee-36344ffd018e","directory":"aca-neogeo-aggressors-of-dark-kombat","title":"ACA NEOGEO AGGRESSORS OF DARK KOMBAT","compatibility":4,"releases":[{"id":"0100B4800AFBA000","region":null}]},{"id":"6d4fcaa2-e182-444d-bca7-1438c7e7cc73","directory":"knockout-city","title":"Knockout City™","compatibility":5,"releases":[{"id":"01009EF00DDB4000","region":null}]},{"id":"6d59d933-2220-4875-8ec5-b66ac2642020","directory":"hyperlight-ultimate","title":"Hyperlight Ultimate","compatibility":99,"releases":[{"id":"0100F4C00D958000","region":null}]},{"id":"6d62ab9d-ba30-41b1-b019-eb4e148ca717","directory":"nelly-cootalot-the-fowl-fleet","title":"Nelly Cootalot: The Fowl Fleet","compatibility":99,"releases":[{"id":"01005F000B784000","region":null}]},{"id":"6d701f4e-727c-4d9c-8755-d0c913468daa","directory":"reknum-cheri-dreamland","title":"Reknum Cheri Dreamland","compatibility":99,"releases":[{"id":"01005320144BC000","region":null}]},{"id":"6d7ca98d-abdc-44d6-bcbb-5d8db73a4dce","directory":"speedway-heroes","title":"Speedway Heroes","compatibility":1,"releases":[{"id":"01006CC015D12000","region":null}]},{"id":"6d90e561-bd30-412e-8365-f94797adf643","directory":"layers-of-fear-2","title":"Layers of Fear 2","compatibility":99,"releases":[{"id":"01001730144DA000","region":null}]},{"id":"6d933545-52c2-4bb7-affb-6c7baeef91c4","directory":"mazm-jekyll-and-hyde","title":"MazM: Jekyll and Hyde","compatibility":0,"releases":[{"id":"0100BF001091E000","region":null}]},{"id":"6da2370e-f19c-4795-bce6-f5a9bcd511ae","directory":"kadobat-wars","title":"KADOBAT WARS","compatibility":99,"releases":[{"id":"01000A800ADEE000","region":null}]},{"id":"6da2b68d-741d-494d-bb5e-e0c8099de1a7","directory":"explosive-jake","title":"Explosive Jake","compatibility":99,"releases":[{"id":"01009B7010B42000","region":null}]},{"id":"6da4df37-ba7b-47b2-a66f-d966d7b54185","directory":"okunoka-madness","title":"OkunoKA Madness","compatibility":99,"releases":[{"id":"0100907011392000","region":null}]},{"id":"6da7c406-253a-4246-9ebf-0b6c99d79826","directory":"stencil-art","title":"Stencil Art","compatibility":99,"releases":[{"id":"01008DB013114000","region":null}]},{"id":"6db167bc-9f06-4f6c-8977-a0971454920e","directory":"dungeon-limbus","title":"Dungeon Limbus","compatibility":99,"releases":[{"id":"0100CAB012FCC000","region":null}]},{"id":"6dbfe5f3-f1c6-440a-8212-6263934e103c","directory":"my-little-dog-adventure","title":"My Little Dog Adventure","compatibility":99,"releases":[{"id":"0100872012B34000","region":null}]},{"id":"6dc6cfd2-ec4e-47f1-906b-0f2eb9337281","directory":"rogue-robots","title":"Rogue Robots","compatibility":1,"releases":[{"id":"0100F3B010F56000","region":null}]},{"id":"6dc7c6da-ec24-48c1-bf8b-405b067e37b9","directory":"aca-neogeo-sengoku-3","title":"ACA NEOGEO SENGOKU 3","compatibility":4,"releases":[{"id":"01008D000877C000","region":null}]},{"id":"6dd9736b-ce0b-43b9-a7b3-8095c8e30d2d","directory":"oneiros","title":"Oneiros","compatibility":99,"releases":[{"id":"0100463013246000","region":null}]},{"id":"6dfd08b2-7acd-421e-95dd-eb0ec46c3101","directory":"aca-neogeo-puzzled","title":"ACA NEOGEO PUZZLED","compatibility":1,"releases":[{"id":"0100A290038F8000","region":null}]},{"id":"6e02672f-25b5-4952-bc54-963a24cb4e08","directory":"redeemer-enhanced-edition","title":"Redeemer: Enhanced Edition","compatibility":4,"releases":[{"id":"01000D100DCF8000","region":null}]},{"id":"6e03b5e0-6a65-4d85-98fd-3323506c547e","directory":"ori-and-the-will-of-the-wisps","title":"Ori and the Will of the Wisps","compatibility":1,"releases":[{"id":"01008DD013200000","region":null}]},{"id":"6e0d0b40-319b-41dc-ad5c-1a920c25c2b5","directory":"boxboy-boxgirl-demo","title":"BOXBOY! + BOXGIRL!™ Demo","compatibility":99,"releases":[{"id":"0100B7200E02E000","region":null}]},{"id":"6e2777e2-f6ec-4a37-900f-428108143296","directory":"batu-ta-batu","title":"Batu Ta Batu","compatibility":99,"releases":[{"id":"0100E2F011DE8000","region":null}]},{"id":"6e2f638f-1c39-4ea5-a696-3727e5be9d11","directory":"chicken-range","title":"Chicken Range","compatibility":2,"releases":[{"id":"0100F6C00A016000","region":null}]},{"id":"6e33831f-c307-4227-82e5-e4dc4869f272","directory":"esport-manager","title":"ESport Manager","compatibility":99,"releases":[{"id":"010029C00D768000","region":null}]},{"id":"6e350026-2f10-40ba-a00d-03a06bade192","directory":"klang-2","title":"Klang 2","compatibility":99,"releases":[{"id":"010074D0111C4000","region":null}]},{"id":"6e351211-c229-498c-89a0-e71b639099e9","directory":"synergia","title":"Synergia","compatibility":99,"releases":[{"id":"01009E700F448000","region":null}]},{"id":"6e4be8cf-595b-4f3e-9e8a-07f5d383f089","directory":"blazblue-cross-tag-battle","title":"BLAZBLUE CROSS TAG BATTLE","compatibility":0,"releases":[{"id":"0100B61008208000","region":null}]},{"id":"6e64c242-ac65-4927-8485-53fe4cc5b189","directory":"future-aero-racing-s-ultra","title":"Future Aero Racing S Ultra","compatibility":99,"releases":[{"id":"0100A98010E40000","region":null}]},{"id":"6e67c301-eaca-4818-9560-ed5e93613ee5","directory":"barry-bradfords-putt-panic-party","title":"Barry Bradford's Putt Panic Party","compatibility":99,"releases":[{"id":"0100FB000EB96000","region":null}]},{"id":"6e6b81cd-4abf-4973-af22-52e0782ecec3","directory":"air-conflicts-pacific-carriers","title":"Air Conflicts: Pacific Carriers","compatibility":4,"releases":[{"id":"0100C7600C7D6000","region":null}]},{"id":"6e7f6b86-9f7f-41ce-b8dd-9db77d890fdc","directory":"the-secret-order-return-to-the-buried-kingdom","title":"The Secret Order: Return to the Buried Kingdom","compatibility":99,"releases":[{"id":"0100971012B4E000","region":null}]},{"id":"6e92fa90-fcff-44dd-864e-aa0c8ac2cf95","directory":"jcb-pioneer-mars","title":"JCB Pioneer: Mars","compatibility":99,"releases":[{"id":"0100841008BDE000","region":null}]},{"id":"6e93e94c-901f-4275-9b81-e4fee3d5011b","directory":"the-turing-test","title":"The Turing Test","compatibility":4,"releases":[{"id":"0100EA100F516000","region":null}]},{"id":"6ea6b6f5-f923-4f56-91bd-98cd4d8fe9af","directory":"arms","title":"ARMS","compatibility":0,"releases":[{"id":"01009B500007C000","region":null}]},{"id":"6eaacc43-bbbe-44e4-87ed-380a05d0754a","directory":"deathstate-abyssal-edition","title":"Deathstate : Abyssal Edition","compatibility":99,"releases":[{"id":"0100F9C0078CC000","region":null}]},{"id":"6eb451fb-49b9-4795-963b-10566edb2040","directory":"crashn-the-boys-street-challenge","title":"Crash'n the Boys Street Challenge","compatibility":99,"releases":[{"id":"01008B000E494000","region":null}]},{"id":"6eb7072a-7775-4a74-b26f-b5b806c7e9b7","directory":"aca-neogeo-magical-drop-ii","title":"ACA NEOGEO MAGICAL DROP II","compatibility":4,"releases":[{"id":"0100A050038F2000","region":null}]},{"id":"6eb728b8-e52e-4b42-9b6d-2ca298ada573","directory":"lost-in-random","title":"Lost in Random™","compatibility":99,"releases":[{"id":"01005FE01291A000","region":null}]},{"id":"6ec77cb0-2e32-4160-8d73-0d96f9fa0147","directory":"forever-forest","title":"Forever Forest","compatibility":99,"releases":[{"id":"01007CD00BCE2000","region":null}]},{"id":"6edc6792-9ce2-4dc5-ae77-10615af90d9b","directory":"lost-orbit-terminal-velocity","title":"LOST ORBIT: Terminal Velocity","compatibility":99,"releases":[{"id":"010054600AC74000","region":null}]},{"id":"6edd29b7-35cc-40ff-8522-517af556f8ba","directory":"yaga","title":"Yaga","compatibility":99,"releases":[{"id":"01006FB00DB02000","region":null}]},{"id":"6ee29fb9-2190-4b61-bdfe-a8bae122b999","directory":"zombie-blast-crew","title":"Zombie Blast Crew","compatibility":99,"releases":[{"id":"0100B610138F8000","region":null}]},{"id":"6eec85b2-9b14-46af-9210-70e7574da146","directory":"youtubers-life-2","title":"Youtubers Life 2","compatibility":99,"releases":[{"id":"01004DE013EDE000","region":null}]},{"id":"6eeec8be-e9c8-4f49-bdd9-50e90e63c02d","directory":"crocs-world-run","title":"Croc's World Run","compatibility":99,"releases":[{"id":"0100EC400D712000","region":null}]},{"id":"6ef212e9-9dbc-4d07-a463-9a8b570ef927","directory":"tachyon-project","title":"Tachyon Project","compatibility":99,"releases":[{"id":"010087E006E6E000","region":null}]},{"id":"6efe4d0b-c853-4e7d-98b9-8c849f87346e","directory":"boom-ball-boost-edition","title":"Boom Ball: Boost Edition","compatibility":99,"releases":[{"id":"01009FA00A570000","region":null}]},{"id":"6f190c5e-31a4-4e63-bdca-9a0e593a7275","directory":"animal-crossing-new-horizons","title":"Animal Crossing: New Horizons","compatibility":1,"releases":[{"id":"01006F8002326000","region":null}]},{"id":"6f1c9f70-67e1-4299-9fcb-b4701d0b0588","directory":"monster-blast","title":"Monster Blast","compatibility":5,"releases":[{"id":"0100E2D0128E6000","region":null}]},{"id":"6f2038a1-4a27-47b9-a07d-1d30971db6a2","directory":"akuarium","title":"Akuarium","compatibility":99,"releases":[{"id":"0100D4C00EE0C000","region":null}]},{"id":"6f2b6099-5e64-4c0e-8624-2b7b02d4faa3","directory":"cybxus-hearts","title":"Cybxus Hearts","compatibility":1,"releases":[{"id":"01006B9013672000","region":null}]},{"id":"6f34345a-a6a2-425d-a72b-32f039a475c9","directory":"octogeddon","title":"Octogeddon","compatibility":99,"releases":[{"id":"0100E6E00AF44000","region":null}]},{"id":"6f3aabe7-8b59-4171-9d46-74f9b6de976a","directory":"mages-of-mystralia","title":"Mages of Mystralia","compatibility":99,"releases":[{"id":"0100549008C9C000","region":null}]},{"id":"6f3bed75-3ced-4c8a-9e2d-5fa49dc609e7","directory":"to-the-moon","title":"To the Moon","compatibility":2,"releases":[{"id":"010036700F83E000","region":null}]},{"id":"6f430252-6acd-469a-a075-9e4efbc3c38b","directory":"earth-marines","title":"Earth Marines","compatibility":99,"releases":[{"id":"0100AB4015D1A000","region":null}]},{"id":"6f5589c2-6221-4134-acb7-7826f0107aa7","directory":"aca-neogeo-baseball-stars-2","title":"ACA NEOGEO BASEBALL STARS 2","compatibility":99,"releases":[{"id":"0100B0B00A8C2000","region":null}]},{"id":"6f5bd7b3-6dec-48dc-9f9e-7277c0fd1961","directory":"candy-2048-challenge","title":"Candy 2048 Challenge","compatibility":99,"releases":[{"id":"0100D6B012DE8000","region":null}]},{"id":"6f5becf2-2558-404b-b2e4-b193814121f6","directory":"the-enigma-machine","title":"The Enigma Machine","compatibility":99,"releases":[{"id":"0100D06016B7E000","region":null}]},{"id":"6f6165f3-a856-4f82-8de6-9fa98d3d403a","directory":"perfect-angle","title":"Perfect Angle","compatibility":99,"releases":[{"id":"010089F00A3B4000","region":null}]},{"id":"6f65bc93-e216-4067-b952-379ff59cfe92","directory":"eagletalon-vs-horde-of-the-flies","title":"EAGLETALON vs. HORDE OF THE FLIES","compatibility":99,"releases":[{"id":"0100D45010F16000","region":null}]},{"id":"6f6c225f-556e-4b2f-a691-ac17693a72fd","directory":"connect-bricks","title":"Connect Bricks","compatibility":99,"releases":[{"id":"0100A32014912000","region":null}]},{"id":"6f733465-a060-48f3-96d2-7021263b21b0","directory":"zombie-watch","title":"Zombie Watch","compatibility":99,"releases":[{"id":"0100C88016CF6000","region":null}]},{"id":"6f7559d2-b3df-4cb3-8e48-185b4c20553e","directory":"distrust","title":"Distrust","compatibility":99,"releases":[{"id":"01002F300D9CE000","region":null}]},{"id":"6f83b026-f443-416b-98df-612903c60c96","directory":"eat-beat-deadspike-san-demo","title":"EAT BEAT DEADSPIKE-san Demo","compatibility":99,"releases":[{"id":"0100BEA0096CE000","region":null}]},{"id":"6f8ae4cf-7318-48e8-bdd3-1dad1854e87a","directory":"aca-neogeo-blazing-star","title":"ACA NEOGEO BLAZING STAR","compatibility":1,"releases":[{"id":"0100DFC003398000","region":null}]},{"id":"6f8fe791-207a-441d-a2cc-6c8102b789c0","directory":"mace-tower-defense","title":"M.A.C.E. Tower Defense","compatibility":4,"releases":[{"id":"010032800F038000","region":null}]},{"id":"6f9a12d4-0d48-4fb7-ac2f-c46ef027d0ad","directory":"destropolis","title":"Destropolis","compatibility":99,"releases":[{"id":"010017D0130C4000","region":null}]},{"id":"6f9b7e8a-4872-47ec-825e-f0263fd27805","directory":"la-mulana","title":"LA-MULANA","compatibility":5,"releases":[{"id":"010026000F662000","region":null}]},{"id":"6fa2ff13-0961-4a29-b537-df1d11c94819","directory":"firefighters-the-simulation","title":"Firefighters – The Simulation","compatibility":4,"releases":[{"id":"0100434003C58000","region":null}]},{"id":"6fa990e8-e1f4-4078-a042-acfb2aa8b358","directory":"your-toy","title":"Your Toy","compatibility":0,"releases":[{"id":"010071800B4B2000","region":null}]},{"id":"6fa99ea4-7f58-4c7b-82e7-3e3449a242f9","directory":"198x","title":"198X","compatibility":0,"releases":[{"id":"01007BB00FC8A000","region":null}]},{"id":"6fbd215c-ef76-4c99-af1f-c64342d7fc3c","directory":"sir-tincan-adventures-in-the-castle","title":"Sir Tincan - Adventures in the Castle","compatibility":99,"releases":[{"id":"0100A78011974000","region":null}]},{"id":"6fc13882-3472-4001-aa48-44ccf3f00204","directory":"creepy-balls","title":"Creepy Balls","compatibility":99,"releases":[{"id":"0100EA0016F1C000","region":null}]},{"id":"6fcf8029-d333-4567-aa03-f79fe914f6c6","directory":"earth-wars","title":"EARTH WARS","compatibility":1,"releases":[{"id":"01009B7006C88000","region":null}]},{"id":"6fe21370-f04b-435a-ae04-4599f5e50738","directory":"toolboy","title":"Toolboy","compatibility":99,"releases":[{"id":"0100B55012216000","region":null}]},{"id":"6fecab9b-80bb-495a-ac00-81a648c586fb","directory":"snooker-19","title":"Snooker 19","compatibility":4,"releases":[{"id":"01008DA00CBBA000","region":null}]},{"id":"6ff089b3-2c0e-40d6-91ec-482da2f16fc5","directory":"animal-bomber","title":"Animal Bomber","compatibility":4,"releases":[{"id":"01000030146BE000","region":null}]},{"id":"6ff16485-6a02-4c13-b73e-15a0c24a7f36","directory":"labyrinth-legend","title":"Labyrinth Legend","compatibility":99,"releases":[{"id":"0100A4001573C000","region":null}]},{"id":"6ff292df-24fe-4b25-812a-27b91e9a6d2b","directory":"minesweeper-genius","title":"Minesweeper Genius","compatibility":99,"releases":[{"id":"010000500B9F4000","region":null}]},{"id":"6ff3c46e-4482-4d0a-8adc-0f032166bc4a","directory":"desktop-basketball","title":"Desktop Basketball","compatibility":99,"releases":[{"id":"010019601144E000","region":null}]},{"id":"6ff8807f-9a2c-45d2-a1de-e287e106fe88","directory":"bus-fix-2019","title":"Bus Fix 2019","compatibility":99,"releases":[{"id":"0100F8300E864000","region":null}]},{"id":"6ffb12d6-8b4e-48a9-8194-f1fe6c9ee7b4","directory":"risk-system","title":"Risk System","compatibility":99,"releases":[{"id":"01007D90101F8000","region":null}]},{"id":"6fff9111-7b1e-4681-984b-ff5cda9f3537","directory":"demon-hunter-riddles-of-light","title":"Demon Hunter: Riddles of Light","compatibility":99,"releases":[{"id":"01002C5015EFE000","region":null}]},{"id":"7006d101-20c8-4d1f-8004-ac8936ad214a","directory":"glittering-sword","title":"Glittering Sword","compatibility":5,"releases":[{"id":"0100230013D0C000","region":null}]},{"id":"7007baec-bebc-4aed-b4f9-6d8798537c60","directory":"damaged-in-transit","title":"Damaged In Transit","compatibility":99,"releases":[{"id":"010059400E2FC000","region":null}]},{"id":"700ce8af-c941-4948-a17a-79ca03a14fbe","directory":"gods-remastered","title":"GODS Remastered","compatibility":1,"releases":[{"id":"0100BAA00AE16000","region":null}]},{"id":"701e5564-ccc2-420a-8bae-06c107388e28","directory":"blade-strangers","title":"Blade Strangers","compatibility":3,"releases":[{"id":"01005950022EC000","region":null}]},{"id":"70224e70-4d81-4fd9-8dc2-3c8629f4c01d","directory":"ohsir-the-insult-simulator","title":"Oh...Sir! The Insult Simulator","compatibility":99,"releases":[{"id":"0100782005A44000","region":null}]},{"id":"7023b0b2-b7ff-40fb-a312-f4c866768588","directory":"mad-tower-tycoon","title":"Mad Tower Tycoon","compatibility":99,"releases":[{"id":"0100C5F012A3C000","region":null}]},{"id":"702ad4ae-13b8-4e85-bc8d-f65cda2b065b","directory":"solitaire","title":"Solitaire","compatibility":99,"releases":[{"id":"0100A2E00B8EC000","region":null}]},{"id":"70347577-17b5-4d88-9798-c487b6aa7d48","directory":"halloween-jigsaw-puzzles-puzzle-game-for-kids-toddlers","title":"Halloween Jigsaw Puzzles - Puzzle Game for Kids & Toddlers","compatibility":99,"releases":[{"id":"01004C70167C8000","region":null}]},{"id":"703b20ff-7fcc-4ba9-8f9e-cf7b83acf9d1","directory":"torquel-physics-modified-edition-","title":"TorqueL -Physics Modified Edition-","compatibility":99,"releases":[{"id":"0100D0B0093D8000","region":null}]},{"id":"703ee114-36a5-41df-8bdf-f5a15696f76f","directory":"redout","title":"Redout","compatibility":0,"releases":[{"id":"0100DA20021D0000","region":null}]},{"id":"703f65f3-38e3-4224-9346-75ab2dff80f6","directory":"monster-loves-you","title":"Monster Loves You","compatibility":99,"releases":[{"id":"0100B7700BB7A000","region":null}]},{"id":"703ff038-ba87-48fb-986e-fa49fd2b65cb","directory":"chess","title":"Chess","compatibility":0,"releases":[{"id":"010088801200A000","region":null}]},{"id":"705c4c8d-f2fb-4cc5-a87b-44c60c6ebef8","directory":"marooners","title":"Marooners","compatibility":99,"releases":[{"id":"010044600FDF0000","region":null}]},{"id":"70635b97-151e-408c-b768-a3d7bd20385f","directory":"bug-academy","title":"Bug Academy","compatibility":99,"releases":[{"id":"01005CD011474000","region":null}]},{"id":"70642d4e-f357-49f9-a584-3c4c8835b428","directory":"spinch","title":"Spinch","compatibility":99,"releases":[{"id":"010076D0122A8000","region":null}]},{"id":"708aa1a3-c610-4049-92f2-b575b05dde4f","directory":"juicy-realm","title":"Juicy Realm","compatibility":99,"releases":[{"id":"0100C7600F654000","region":null}]},{"id":"708eca76-7bd9-48b6-b6a4-b1bc1f0c3204","directory":"bot-vinnik-chess","title":"BOT.vinnik Chess","compatibility":99,"releases":[{"id":"010018A01514E000","region":null}]},{"id":"709c3ffd-7d5f-48fe-9edb-78fd39d2ddeb","directory":"iconoclasts","title":"Iconoclasts","compatibility":1,"releases":[{"id":"0100BC60099FE000","region":null}]},{"id":"70a98fe8-7b4a-48a5-81d3-48366769f9c2","directory":"shadow-gangs","title":"Shadow Gangs","compatibility":4,"releases":[{"id":"0100BE501382A000","region":null}]},{"id":"70af6b2d-fe30-4086-be41-3e49e858eee7","directory":"halloween-snowball-bubble","title":"Halloween Snowball Bubble","compatibility":99,"releases":[{"id":"01007B6016018000","region":null}]},{"id":"70b453b5-33e9-4905-b943-878622b8c126","directory":"darkestville-castle","title":"Darkestville Castle","compatibility":99,"releases":[{"id":"0100184011918000","region":null}]},{"id":"70b5de1d-3c90-4b6b-bf9e-9b4d4dc650ed","directory":"aca-neogeo-waku-waku-7","title":"ACA NEOGEO WAKU WAKU 7","compatibility":4,"releases":[{"id":"0100CEF001DC0000","region":null}]},{"id":"70ba7a66-1827-4aa0-914a-0638f7da9103","directory":"legend-of-keepers-career-of-a-dungeon-manager","title":"Legend of Keepers: Career of a Dungeon Manager","compatibility":99,"releases":[{"id":"0100C67015076000","region":null}]},{"id":"70c9b9a6-6e19-421f-aef9-e80df58992dd","directory":"xenoblade-chronicles-definitive-edition","title":"Xenoblade Chronicles™ Definitive Edition","compatibility":1,"releases":[{"id":"0100FF500E34A000","region":null}]},{"id":"70c9ff67-4432-4ac0-8566-2a3a1aaf4b90","directory":"9th-dawn-iii","title":"9th Dawn III","compatibility":0,"releases":[{"id":"0100DB00117BA000","region":null}]},{"id":"70d20390-c0f9-40b3-bd0f-7e427439719c","directory":"overlanders","title":"Overlanders","compatibility":3,"releases":[{"id":"0100D7F00EC64000","region":null}]},{"id":"70e094b8-71da-4905-a75e-79e98f56571e","directory":"piofiore-fated-memories","title":"Piofiore: Fated Memories","compatibility":0,"releases":[{"id":"01009240117A2000","region":null}]},{"id":"70eb9161-e6d7-4ea9-ab45-99c56223c7b2","directory":"alwas-awakening","title":"Alwa's Awakening","compatibility":0,"releases":[{"id":"01004C200B0B4000","region":null}]},{"id":"70f826d2-8739-4ffa-9c0a-1f801cd8a71f","directory":"quell-memento","title":"Quell Memento","compatibility":99,"releases":[{"id":"0100D1201183A000","region":null}]},{"id":"70fa2068-8a74-4841-b057-fe06480ccbad","directory":"baldurs-gate-and-baldurs-gate-ii-enhanced-editions","title":"Baldur's Gate and Baldur's Gate II: Enhanced Editions","compatibility":3,"releases":[{"id":"010010A00DA48000","region":null}]},{"id":"70fa39c5-b1c3-4a7f-875d-1ba019312465","directory":"curious-expedition","title":"Curious Expedition","compatibility":0,"releases":[{"id":"010079500E0DA000","region":null}]},{"id":"70fb815b-4052-4f36-9cff-b844d082cefe","directory":"orbitblazers","title":"Orbitblazers","compatibility":0,"releases":[{"id":"010061100FA8E000","region":null}]},{"id":"71156b37-b4ee-48d2-b464-5721b79d4914","directory":"timberman-vs-demo","title":"Timberman VS Demo","compatibility":99,"releases":[{"id":"010038400CADC000","region":null}]},{"id":"71172686-7fdb-4b2c-b76d-e3c75d5dd8f9","directory":"hocus-2","title":"hocus 2","compatibility":99,"releases":[{"id":"010068400EDF6000","region":null}]},{"id":"7131918d-3c04-44d7-bee4-8750f10f001e","directory":"aces-of-the-luftwaffe-squadron","title":"Aces of the Luftwaffe - Squadron","compatibility":1,"releases":[{"id":"0100B28003440000","region":null}]},{"id":"7131946c-014c-4d56-96e8-0a374a403bf4","directory":"clea-2","title":"Clea 2","compatibility":0,"releases":[{"id":"010045E0142A4000","region":null}]},{"id":"71399b17-d4ab-40e4-8689-f6873adb32ad","directory":"later-daters","title":"Later Daters","compatibility":99,"releases":[{"id":"01004EB00DACE000","region":null}]},{"id":"713b5660-6fb5-444e-a5bd-61e20053bb7e","directory":"adventure-llama","title":"Adventure Llama","compatibility":99,"releases":[{"id":"010014B0130F2000","region":null}]},{"id":"7143e845-d091-494f-9a88-fa814adf1e8e","directory":"singled-out","title":"Singled Out","compatibility":0,"releases":[{"id":"0100F10012002000","region":null}]},{"id":"716ab6d6-c9b4-4238-ba1e-e5e7861d502c","directory":"wintermoor-tactics-club","title":"Wintermoor Tactics Club","compatibility":99,"releases":[{"id":"0100C2000F468000","region":null}]},{"id":"717f967c-f1a5-49db-8d1a-72dddc30c703","directory":"shopping-mall-parking-lot","title":"Shopping Mall Parking Lot","compatibility":99,"releases":[{"id":"01008030155B4000","region":null}]},{"id":"7186282a-3109-4a11-99fc-cb8c2e676f99","directory":"chaos-on-deponia","title":"Chaos on Deponia","compatibility":3,"releases":[{"id":"01002C900C9AC000","region":null}]},{"id":"718da66c-88ce-48f3-9a6e-2d9c7d87c11c","directory":"detective-driver-miami-files","title":"Detective Driver: Miami Files","compatibility":99,"releases":[{"id":"01007CB0128B2000","region":null}]},{"id":"71a6a771-64ce-4d10-8cf0-0e7c03637b3f","directory":"super-pixel-racers","title":"Super Pixel Racers","compatibility":1,"releases":[{"id":"0100F5100E9DE000","region":null}]},{"id":"71ad58cb-ecd6-4b13-8d3a-da1f38002694","directory":"hextech-mayhem-a-league-of-legends-story","title":"Hextech Mayhem: A League of Legends Story™","compatibility":99,"releases":[{"id":"01007A9015620000","region":null}]},{"id":"71bc3bfe-e29f-4528-8f8f-a0a6549c2cb1","directory":"clustertruck","title":"Clustertruck","compatibility":2,"releases":[{"id":"010096900A4D2000","region":null}]},{"id":"71bfecf6-144b-458a-a06f-d66b0073c961","directory":"lego-the-incredibles","title":"LEGO The Incredibles","compatibility":3,"releases":[{"id":"0100A01006E00000","region":null}]},{"id":"71c3ce5a-bf94-428b-9f22-03d5b94b4b06","directory":"trybit-logic","title":"TRYBIT LOGIC","compatibility":99,"releases":[{"id":"0100DFA00C6A6000","region":null}]},{"id":"71c46ca5-1f6e-4809-b315-0bf775c3540f","directory":"color-jumper","title":"Color Jumper","compatibility":99,"releases":[{"id":"01003BC00FBAA000","region":null}]},{"id":"71d0afb9-c594-4ffe-85ff-3885f544ee5e","directory":"egg-up","title":"Egg Up","compatibility":99,"releases":[{"id":"010046401595E000","region":null}]},{"id":"71f930b2-40f6-4932-b55c-2b85209553ad","directory":"one-dog-story","title":"One Dog Story","compatibility":1,"releases":[{"id":"01009C301061A000","region":null}]},{"id":"720c7dff-b4c5-456c-8ea3-7685b8737836","directory":"final-light-the-prison","title":"Final Light, The Prison","compatibility":99,"releases":[{"id":"01001BA00AE4E000","region":null}]},{"id":"721c78ff-e021-4a14-b2e8-7fde6672cb69","directory":"drift-zone-arcade","title":"Drift Zone Arcade","compatibility":99,"releases":[{"id":"0100C2200E0F2000","region":null}]},{"id":"722c041e-18f7-46a6-94bc-c34e87dfbf33","directory":"green-hell","title":"Green Hell","compatibility":99,"releases":[{"id":"0100453012FEA000","region":null}]},{"id":"72391b2d-9c88-4a59-a983-ac161cdd3b8e","directory":"battlezone-gold-edition","title":"Battlezone Gold Edition","compatibility":1,"releases":[{"id":"01006D800A988000","region":null}]},{"id":"7246dcea-f4bc-45c9-a50c-d961a5549642","directory":"super-sports-blast","title":"Super Sports Blast","compatibility":99,"releases":[{"id":"0100829013996000","region":null}]},{"id":"7251f728-059f-45db-a3a5-2fee498c3328","directory":"mary-skelter-2","title":"Mary Skelter 2","compatibility":1,"releases":[{"id":"01003DE00C95E000","region":null}]},{"id":"725567c4-7327-4857-98b2-9a6de7268ec3","directory":"slinki","title":"Slinki","compatibility":99,"releases":[{"id":"0100A4A0129BC000","region":null}]},{"id":"725cdf8f-655e-45b6-ac95-f1e6c55da279","directory":"mystik-belle-enchanted-edition","title":"Mystik Belle Enchanted Edition","compatibility":99,"releases":[{"id":"0100FFB015C6E000","region":null}]},{"id":"7260f944-3db0-439d-af8b-4d41a6f44ca4","directory":"immortal-redneck","title":"Immortal Redneck","compatibility":99,"releases":[{"id":"01000F400435A000","region":null}]},{"id":"72737cbf-156f-4890-9e1e-424401010985","directory":"sudoku-universe","title":"Sudoku Universe","compatibility":99,"releases":[{"id":"010093000CB62000","region":null}]},{"id":"7273c7e5-a325-477d-9232-b03526d5fcb4","directory":"blastful","title":"Blastful","compatibility":99,"releases":[{"id":"0100FFD0142D4000","region":null}]},{"id":"72749247-6f6c-4fec-87a5-8ce1dbb2c05c","directory":"hexagroove-tactical-dj","title":"Hexagroove: Tactical DJ","compatibility":99,"releases":[{"id":"010015500E9C0000","region":null}]},{"id":"7276ca87-87ff-4ee6-8533-f5e84febc9df","directory":"aca-neogeo-king-of-the-monsters-2","title":"ACA NEOGEO KING OF THE MONSTERS 2","compatibility":99,"releases":[{"id":"010029D00AFD0000","region":null}]},{"id":"7277111d-fafa-4ec7-aa1f-ce4b65c63fde","directory":"scrap","title":"Scrap","compatibility":99,"releases":[{"id":"0100BB200E9BA000","region":null}]},{"id":"727877b9-a38a-44f6-9a13-fbe75813467c","directory":"leisure-suit-larry-wet-dreams-dry-twice","title":"Leisure Suit Larry - Wet Dreams Dry Twice","compatibility":99,"releases":[{"id":"010031A0135CA000","region":null}]},{"id":"727fa0d1-eae4-4395-b2df-ddd80b67b4ff","directory":"tony-hawks-pro-skater-1-2","title":"Tony Hawk's™ Pro Skater™ 1 + 2","compatibility":1,"releases":[{"id":"0100CC00102B4000","region":null}]},{"id":"72920cf4-6e8d-4b1e-9e8e-2b16412f977f","directory":"sublevel-zero-redux","title":"Sublevel Zero Redux","compatibility":99,"releases":[{"id":"0100E6400BCE8000","region":null}]},{"id":"729306f6-1c43-4455-b8ec-cf7c9d4b5e0d","directory":"arcade-archives-super-cobra","title":"Arcade Archives SUPER COBRA","compatibility":99,"releases":[{"id":"0100929013172000","region":null}]},{"id":"729416c8-1b04-4562-a29c-c0b9b6c1973d","directory":"mountain-rescue-simulator","title":"Mountain Rescue Simulator","compatibility":99,"releases":[{"id":"01009DB00D6E0000","region":null}]},{"id":"72a90cd4-0e1c-4c4b-91f9-2f9dc0820bf9","directory":"retrovamp","title":"Retrovamp","compatibility":99,"releases":[{"id":"01000F10123E2000","region":null}]},{"id":"72a9fe91-6479-49ce-96bc-f0daab90943a","directory":"gates-of-hell","title":"Gates Of Hell","compatibility":99,"releases":[{"id":"0100EA001069E000","region":null}]},{"id":"72ad8ded-448e-4ca1-9396-c439752099e3","directory":"dragon-question","title":"Dragon Question","compatibility":99,"releases":[{"id":"010098E0148D6000","region":null}]},{"id":"72b1b493-e157-4874-b58e-f0e469e157f3","directory":"fred3ric","title":"Fred3ric","compatibility":99,"releases":[{"id":"0100AC40108D8000","region":null}]},{"id":"72c5c41f-c7ec-4f25-a372-c5004d62c663","directory":"alien-cruise","title":"Alien Cruise","compatibility":99,"releases":[{"id":"0100A2E00D0E0000","region":null}]},{"id":"72cf715d-27b6-47eb-8dfb-db6db940b70d","directory":"melty-blood-type-lumina-deluxe-edition","title":"MELTY BLOOD: TYPE LUMINA - Deluxe Edition","compatibility":1,"releases":[{"id":"01001E30126A0000","region":null}]},{"id":"72d305b0-85ec-45d0-ab91-82d084ebb81a","directory":"shu","title":"Shu","compatibility":1,"releases":[{"id":"01001DE0076A4000","region":null}]},{"id":"72e995ae-f1dd-46cb-80b5-9ad683ec1825","directory":"azkend-2-the-world-beneath","title":"Azkend 2: The World Beneath","compatibility":4,"releases":[{"id":"0100EB800868C000","region":null}]},{"id":"72f32d02-3709-4612-8083-d4e39fe0674e","directory":"guitar","title":"Guitar","compatibility":1,"releases":[{"id":"0100A2D00EFBE000","region":null}]},{"id":"72fa9b4c-29b1-454e-a9ca-e29e13605f4e","directory":"vampire-the-masquerade-coteries-of-new-york","title":"Vampire: The Masquerade - Coteries of New York","compatibility":99,"releases":[{"id":"010020C00FFB6000","region":null}]},{"id":"73010328-f9dd-424b-b281-2d58b8344aef","directory":"pokemon-cafe-mix","title":"Pokémon Café Mix","compatibility":3,"releases":[{"id":"010072400E04A000","region":null}]},{"id":"7302a1c3-23d3-4a29-8845-d842958b6bd1","directory":"luxar","title":"Luxar","compatibility":99,"releases":[{"id":"0100EC2011A80000","region":null}]},{"id":"73069258-2d70-4cc6-b6d3-838bbe0e99f5","directory":"bibi-blocksberg-big-broom-race-3","title":"Bibi Blocksberg – Big Broom Race 3","compatibility":99,"releases":[{"id":"01005FF00AF36000","region":null}]},{"id":"730caa81-5c1b-4fbc-aa83-ae8085d23863","directory":"gunman-clive-hd-collection","title":"Gunman Clive HD Collection","compatibility":2,"releases":[{"id":"010061000D318000","region":null}]},{"id":"73200036-b9fb-4533-9204-38fe95d14a42","directory":"overland","title":"Overland","compatibility":99,"releases":[{"id":"01000D200C180000","region":null}]},{"id":"732b640c-e529-473a-ac25-308194a5b578","directory":"shantae-half-genie-hero-ultimate-edition","title":"Shantae: Half- Genie Hero Ultimate Edition","compatibility":1,"releases":[{"id":"01006A200936C000","region":null}]},{"id":"7348c891-e19e-42d0-acfd-6ef1c261ed51","directory":"brigandine-the-legend-of-runersia","title":"BRIGANDINE The Legend of Runersia","compatibility":1,"releases":[{"id":"010011000EA7A000","region":null}]},{"id":"7357c282-dbef-413e-929e-64afda2ac984","directory":"jigsaw-solace","title":"JigSaw Solace","compatibility":99,"releases":[{"id":"01009AF0101CC000","region":null}]},{"id":"736ca318-2d17-44fd-b481-502a1e6cd849","directory":"the-original-mobile-games","title":"The Original Mobile Games","compatibility":99,"releases":[{"id":"010085E00C886000","region":null}]},{"id":"73769c70-22b1-4cd4-a98a-88e66c7b3a46","directory":"highschool-romance","title":"Highschool Romance","compatibility":99,"releases":[{"id":"0100944015F78000","region":null}]},{"id":"7379cabc-b4fb-43ba-93cb-db6f2e360665","directory":"pankapu","title":"Pankapu","compatibility":1,"releases":[{"id":"0100635006C32000","region":null}]},{"id":"7381311c-b57c-4a36-b8ae-ab51f31ea72e","directory":"xmas-super-puzzles-dream","title":"#Xmas, Super Puzzles Dream","compatibility":99,"releases":[{"id":"0100D79013828000","region":null}]},{"id":"7386167e-a488-4c07-8c8b-be873114f725","directory":"asdivine-saga","title":"Asdivine Saga","compatibility":99,"releases":[{"id":"0100B7F015BF2000","region":null}]},{"id":"73887c90-61fb-4259-b370-faf91a0fe8e4","directory":"birthday-of-midnight","title":"Birthday of Midnight","compatibility":99,"releases":[{"id":"01009B0012888000","region":null}]},{"id":"7389350d-9afc-4de0-b400-2941ebf2ee4d","directory":"asdivine-dios","title":"Asdivine Dios","compatibility":5,"releases":[{"id":"010054B00D4A2000","region":null}]},{"id":"73898488-0e04-4647-bc91-9c13ecdc1d38","directory":"galactic-trooper-armada","title":"Galactic Trooper Armada","compatibility":99,"releases":[{"id":"01005F3013E16000","region":null}]},{"id":"7392cfe9-a732-4fdb-bd4e-987ca4d1eb6a","directory":"vertical-strike-endless-challenge","title":"VERTICAL STRIKE ENDLESS CHALLENGE","compatibility":99,"releases":[{"id":"0100CA6009888000","region":null}]},{"id":"739bc33a-8fbc-48ce-a897-6c05706a6e37","directory":"korg-gadget-for-nintendo-switch","title":"KORG Gadget for Nintendo Switch","compatibility":4,"releases":[{"id":"0100EC8004762000","region":null}]},{"id":"739f80aa-7fda-4ee2-a3df-47bff3e2decc","directory":"infestor","title":"Infestor","compatibility":99,"releases":[{"id":"010018A012822000","region":null}]},{"id":"73a84984-4416-4290-9895-efa0b84f7b4b","directory":"bakugan-champions-of-vestroia","title":"Bakugan: Champions of Vestroia","compatibility":1,"releases":[{"id":"0100730011BDC000","region":null}]},{"id":"73dc59f9-fc9e-479d-b056-8dfd5dce126a","directory":"digerati-presents-make-it-quick-bundle-vol-1","title":"Digerati Presents: Make It Quick Bundle Vol. 1","compatibility":99,"releases":[{"id":"0100ABD012EF8000","region":null}]},{"id":"73e343f5-8f9e-4d6e-a29c-dccfdfeba503","directory":"flatland-vol-2","title":"FLATLAND Vol. 2","compatibility":99,"releases":[{"id":"01005F50155BE000","region":null}]},{"id":"73ebb799-c7e6-4ee8-a009-88d87585031f","directory":"tennis-open-2020","title":"Tennis Open 2020","compatibility":99,"releases":[{"id":"0100459011750000","region":null}]},{"id":"73f04c30-8424-4665-b06b-1808adf764a7","directory":"vostok-inc","title":"Vostok Inc.","compatibility":99,"releases":[{"id":"01004D8007368000","region":null}]},{"id":"73f2bf11-8fdc-4d81-8b53-38cac6563540","directory":"rip-them-off","title":"Rip Them Off","compatibility":99,"releases":[{"id":"01004BF013BA0000","region":null}]},{"id":"73f5db74-b5d1-4913-93ab-58b4b9198819","directory":"ember","title":"Ember","compatibility":99,"releases":[{"id":"010041A00FEC6000","region":null}]},{"id":"740d88f3-1181-4429-958d-d03ebdd2cc6d","directory":"arcane-arts-academy","title":"Arcane Arts Academy","compatibility":99,"releases":[{"id":"0100D50014AC4000","region":null}]},{"id":"7413f695-7eb0-46cd-94e7-50f024f835ad","directory":"lone-mclonegan-a-western-adventure","title":"Lone McLonegan : A Western Adventure","compatibility":99,"releases":[{"id":"0100939015968000","region":null}]},{"id":"7423b750-a4af-4e2d-bd70-d4ba1838075a","directory":"invisiballs","title":"Invisiballs","compatibility":99,"releases":[{"id":"0100E03009DB8000","region":null}]},{"id":"742a3fc4-8014-405e-8eb4-fe60d83e7348","directory":"life-is-strange-true-colors","title":"Life is Strange: True Colors™","compatibility":3,"releases":[{"id":"0100500012AB4000","region":null}]},{"id":"7439163d-cf3d-41b4-8b25-3fd99721bad0","directory":"angerforce-reloaded-for-nintendo-switch","title":"AngerForce: Reloaded for Nintendo Switch","compatibility":2,"releases":[{"id":"010001E00A5F6000","region":null}]},{"id":"744a4f76-164e-41b1-9467-73e488c4afe4","directory":"fractured-minds","title":"Fractured Minds","compatibility":99,"releases":[{"id":"01004200099F2000","region":null}]},{"id":"744aa82b-c217-4e07-b832-b98a82ec1580","directory":"hunter-shooting-camp","title":"Hunter Shooting Camp","compatibility":99,"releases":[{"id":"0100A2A01586C000","region":null}]},{"id":"744ed22c-52b2-406c-ae16-5d414277f277","directory":"scrap-garden","title":"Scrap Garden","compatibility":99,"releases":[{"id":"01003DF01568C000","region":null}]},{"id":"745f4d59-d1a3-49e1-bdc8-df2902519d92","directory":"disgaea-6-defiance-of-destiny","title":"Disgaea 6: Defiance of Destiny","compatibility":1,"releases":[{"id":"0100ABC013136000","region":null}]},{"id":"7473dd3b-e875-42a1-8cb9-7f04ae487135","directory":"pixel-game-maker-series-block-slime-cave","title":"Pixel Game Maker Series BLOCK SLIME CAVE","compatibility":99,"releases":[{"id":"0100CCA015740000","region":null}]},{"id":"74874e29-f28c-4450-bd8f-67cff475b03e","directory":"super-dragon-ball-heroes-world-mission-launch-edition","title":"SUPER DRAGON BALL HEROES WORLD MISSION - Launch Edition","compatibility":2,"releases":[{"id":"0100E5E00C464000","region":null}]},{"id":"748dc47d-b385-4a27-8f2e-2dbeb45d3e3c","directory":"ben-10","title":"Ben 10","compatibility":3,"releases":[{"id":"01006E1004404000","region":null}]},{"id":"74943d84-e44a-44d2-bdc9-4055b527a98d","directory":"totally-reliable-delivery-service","title":"Totally Reliable Delivery Service","compatibility":2,"releases":[{"id":"0100512010728000","region":null}]},{"id":"74b1bd91-0975-4b90-8571-ed385205eebe","directory":"lost-lands-ice-spell","title":"Lost Lands: Ice Spell","compatibility":99,"releases":[{"id":"01000030151B0000","region":null}]},{"id":"74dd7f60-2294-456d-8a3c-2a301c6ace2d","directory":"1-sudokus","title":"#1 Sudokus","compatibility":99,"releases":[{"id":"0100CDD016BB0000","region":null}]},{"id":"74dec9aa-5833-48b3-aec6-40cacaefffab","directory":"streets-of-rogue","title":"Streets of Rogue","compatibility":0,"releases":[{"id":"01008CD00C222000","region":null}]},{"id":"74ed300f-e911-42d6-9bb4-d7b96edac4c3","directory":"stick-fight-the-game","title":"Stick Fight: The Game","compatibility":99,"releases":[{"id":"0100622009FB0000","region":null}]},{"id":"74edd582-105f-4276-a24f-a7a26cee6b9d","directory":"sinner-sacrifice-for-redemption","title":"SINNER: Sacrifice for Redemption","compatibility":99,"releases":[{"id":"0100B16009C10000","region":null}]},{"id":"74f63fe8-dc49-4148-8f3f-39e01a837c6a","directory":"barbarous-tavern-of-emyr","title":"Barbarous: Tavern of Emyr","compatibility":3,"releases":[{"id":"01003350102E2000","region":null}]},{"id":"74f9d0be-7e99-494d-a877-bc5b5d84bf47","directory":"johnny-turbos-arcade-super-real-darwin","title":"Johnny Turbo's Arcade: Super Real Darwin","compatibility":99,"releases":[{"id":"0100039002CCC000","region":null}]},{"id":"75142432-cbca-4900-8a50-3128e1f4f380","directory":"minoria","title":"Minoria","compatibility":2,"releases":[{"id":"0100FAE010864000","region":null}]},{"id":"752456af-4e23-4730-9960-b58c1e1d1573","directory":"sling-ming","title":"Sling Ming","compatibility":99,"releases":[{"id":"01000F1008C92000","region":null}]},{"id":"752df41f-4c9b-43d5-b536-ad5dd7e51a37","directory":"demons-crystals","title":"Demon's Crystals","compatibility":99,"releases":[{"id":"0100A2B00BD88000","region":null}]},{"id":"7532088c-8fef-4ca9-ae10-a501483cfc27","directory":"rwby-grimm-eclipse-definitive-edition","title":"RWBY: Grimm Eclipse - Definitive Edition","compatibility":2,"releases":[{"id":"0100E21013908000","region":null}]},{"id":"7534c23f-9f37-4909-901b-82676f6fb2f3","directory":"ghost-sweeper","title":"Ghost Sweeper","compatibility":99,"releases":[{"id":"01004B301108C000","region":null}]},{"id":"753bf546-bb22-4174-a56a-df7573426efe","directory":"planescape-torment-and-icewind-dale-enhanced-editions","title":"Planescape: Torment and Icewind Dale: Enhanced Editions","compatibility":4,"releases":[{"id":"010030B00C316000","region":null}]},{"id":"753e39b1-2895-459b-a9d0-c05662ca2f1b","directory":"stardust-galaxy-warriors-stellar-climax","title":"Stardust Galaxy Warriors: Stellar Climax","compatibility":0,"releases":[{"id":"01001B600BC32000","region":null}]},{"id":"7558134f-3f38-4f92-8fa3-5d9140e1ca47","directory":"ziggy-the-chaser","title":"Ziggy the Chaser","compatibility":99,"releases":[{"id":"0100D7B013DD0000","region":null}]},{"id":"7558cdee-eff9-4222-aff1-55cad928a9f5","directory":"metal-slug-1st-2nd-mission-double-pack","title":"\"METAL SLUG 1st & 2nd MISSION\" Double Pack","compatibility":1,"releases":[{"id":"0100F2B012E62000","region":null}]},{"id":"7559c776-15a9-4713-9c8b-a7e8ef45c40d","directory":"dead-z-meat","title":"Dead Z Meat","compatibility":99,"releases":[{"id":"0100A24011F52000","region":null}]},{"id":"755f4749-1280-4858-98f4-b5ff3078f743","directory":"spirit-arena","title":"Spirit Arena","compatibility":99,"releases":[{"id":"010001B01398C000","region":null}]},{"id":"7569633a-bc6f-485e-8354-066f46b42d2d","directory":"foreclosed","title":"FORECLOSED","compatibility":0,"releases":[{"id":"0100AE001256E000","region":null}]},{"id":"756b2b3c-5e86-4e9c-b79f-bc993fdbbfca","directory":"the-long-reach","title":"The Long Reach","compatibility":4,"releases":[{"id":"010052B003A38000","region":null}]},{"id":"75801358-1334-4b88-b185-b514ed924734","directory":"reason-casual-puzzle","title":"Reason - Casual Puzzle","compatibility":99,"releases":[{"id":"01003AD011E36000","region":null}]},{"id":"759ce230-d96b-4b79-bf6f-9cebd0dd4a43","directory":"bob-help-them","title":"Bob Help Them","compatibility":99,"releases":[{"id":"010081E013F1E000","region":null}]},{"id":"759ef931-54e9-48b2-acb4-1a18c770e061","directory":"unblock-brick","title":"Unblock Brick","compatibility":99,"releases":[{"id":"0100BAD01452C000","region":null}]},{"id":"759f1734-93c1-4193-aebf-3c84ffcd6736","directory":"dogurai","title":"Dogurai","compatibility":0,"releases":[{"id":"010077B0100DA000","region":null}]},{"id":"75a04e0a-ade1-459d-a755-81aa6bb39005","directory":"strike-daz-cans","title":"Strike Daz Cans","compatibility":99,"releases":[{"id":"0100A4B015380000","region":null}]},{"id":"75b841a1-ca83-4d28-a9ec-aa6e053aa4f9","directory":"dirt-bike-insanity","title":"Dirt Bike Insanity","compatibility":99,"releases":[{"id":"0100A8A013DA4000","region":null}]},{"id":"75b8f699-3d33-4fdb-8983-ed92e4cfbae3","directory":"dangerous-relationship","title":"Dangerous Relationship","compatibility":99,"releases":[{"id":"01008680118BA000","region":null}]},{"id":"75bd253c-c94d-4f73-b68d-05139e69bc13","directory":"instant-sports-tennis","title":"INSTANT SPORTS TENNIS","compatibility":99,"releases":[{"id":"010031B0145B8000","region":null}]},{"id":"75bd92b3-3816-460a-a492-8a346f66820b","directory":"resident-evil-6","title":"Resident Evil 6","compatibility":0,"releases":[{"id":"01002A000CD48000","region":null}]},{"id":"75bf33ab-afb1-4499-84f8-7e4f816cba8c","directory":"autobahn-polizei-simulator-2-nintendo-switch-edition","title":"Autobahn Polizei Simulator 2 - Nintendo Switch™ Edition","compatibility":99,"releases":[{"id":"0100913015928000","region":null}]},{"id":"75cda4dc-e3ad-492d-a308-9ae3b15f7953","directory":"cant-drive-this","title":"Can't Drive This","compatibility":1,"releases":[{"id":"0100593008BDC000","region":null}]},{"id":"75da3ba1-2a31-4edb-9942-96834c94df6e","directory":"conglomerate-451-overloaded","title":"Conglomerate 451: Overloaded","compatibility":99,"releases":[{"id":"01008DE0121F4000","region":null}]},{"id":"75dcfc0e-043d-484c-9a66-17983a74095e","directory":"swords-souls-neverseen","title":"Swords & Souls: Neverseen","compatibility":99,"releases":[{"id":"01006B0014CAA000","region":null}]},{"id":"76092898-2eb3-4274-bd9c-35aac4cd5154","directory":"my-friend-peppa-pig","title":"My Friend Peppa Pig","compatibility":1,"releases":[{"id":"01008C9014694000","region":null}]},{"id":"760e2db6-c6a7-4476-9ff6-d2f742dd5b04","directory":"cubicity","title":"Cubicity","compatibility":3,"releases":[{"id":"010040D011D04000","region":null}]},{"id":"7612c37d-7359-4396-aa28-ab190ed1eaa1","directory":"fight","title":"Fight","compatibility":99,"releases":[{"id":"0100995013404000","region":null}]},{"id":"761c6381-c513-4f51-94c3-30e479203806","directory":"sea-king-hunter","title":"Sea King Hunter","compatibility":1,"releases":[{"id":"0100B0C00EBB2000","region":null}]},{"id":"762014e4-38da-485c-b58f-7e3128a8bacf","directory":"inkypen","title":"InkyPen","compatibility":99,"releases":[{"id":"01003A200BD8A000","region":null}]},{"id":"76209785-8504-49fc-9513-f68169ab461d","directory":"toki","title":"Toki","compatibility":1,"releases":[{"id":"0100F3400A432000","region":null}]},{"id":"76257989-c8b7-429c-bb9d-5528e6330ebe","directory":"space-moth-lunar-edition","title":"Space Moth Lunar Edition","compatibility":1,"releases":[{"id":"01005B6015B9E000","region":null}]},{"id":"762bff2b-b6b2-41c0-a317-6e293495b25d","directory":"shovel-knight-shovel-of-hope","title":"Shovel Knight: Shovel of Hope","compatibility":0,"releases":[{"id":"01002D2011850000","region":null}]},{"id":"76384cec-eb70-4209-9c14-a3fe8a6d5982","directory":"godly-corp","title":"Godly Corp","compatibility":1,"releases":[{"id":"010014900D744000","region":null}]},{"id":"76390df2-a963-4b91-a58e-862bb64a4453","directory":"olympia-soiree","title":"Olympia Soirée","compatibility":0,"releases":[{"id":"0100A910143B2000","region":null}]},{"id":"763f1616-a3b6-445d-8ef0-274f68bfe49a","directory":"gotcha-racing-2nd","title":"Gotcha Racing 2nd","compatibility":99,"releases":[{"id":"0100E8D007E16000","region":null}]},{"id":"76417c73-8eb3-4c6d-bac9-e78534ac8d0c","directory":"sega-ages-herzog-zwei","title":"SEGA AGES Herzog Zwei","compatibility":0,"releases":[{"id":"010029900E314000","region":null}]},{"id":"7648c956-fa19-446b-9110-8e5dfba765c3","directory":"hampuzz","title":"Hampuzz","compatibility":99,"releases":[{"id":"0100D85016326000","region":null}]},{"id":"764e2202-0410-4276-9a35-f868ad141920","directory":"puyo-puyo-champions","title":"Puyo Puyo Champions","compatibility":0,"releases":[{"id":"0100AAE00CAB4000","region":null}]},{"id":"765e1ce1-9cd1-45de-a01f-4f9b5f30a15f","directory":"marble-it-up","title":"Marble It Up!","compatibility":2,"releases":[{"id":"0100B5B00693E000","region":null}]},{"id":"76681c81-06e3-477b-a11d-996711fe228d","directory":"oceanhorn-monster-of-uncharted-seas-demo","title":"Oceanhorn - Monster of Uncharted Seas Demo","compatibility":99,"releases":[{"id":"010090B005150000","region":null}]},{"id":"7670f760-7061-4ff6-81e0-5dd3e21372cd","directory":"the-touryst","title":"The Touryst","compatibility":4,"releases":[{"id":"0100C3300D8C4000","region":null}]},{"id":"76740756-f256-4108-ac3e-45ca087adc9c","directory":"lost-lands-mistakes-of-the-past","title":"Lost Lands: Mistakes of the Past","compatibility":99,"releases":[{"id":"01002EE0151C0000","region":null}]},{"id":"7676fcfc-de5f-432d-aab5-06e2a7adb750","directory":"city-of-brass","title":"City of Brass","compatibility":1,"releases":[{"id":"01009BC00B872000","region":null}]},{"id":"767e0369-1265-4b6d-bce7-42e34958fb36","directory":"1979-revolution-black-friday","title":"1979 Revolution: Black Friday","compatibility":1,"releases":[{"id":"0100D1000B18C000","region":null}]},{"id":"768e1e75-dd26-48cd-8639-839371b6b695","directory":"death-squared","title":"Death Squared","compatibility":1,"releases":[{"id":"010085900337E000","region":null}]},{"id":"769b4832-3088-4630-9098-f1c0d7e5c524","directory":"ikenfell","title":"Ikenfell","compatibility":99,"releases":[{"id":"010040900AF46000","region":null}]},{"id":"769cc6f8-fafb-404f-ac74-b8439a362fe8","directory":"mist-hunter","title":"Mist Hunter","compatibility":99,"releases":[{"id":"010059200CC40000","region":null}]},{"id":"769f428f-c1db-43b3-8cca-8cabae016447","directory":"dungeontop","title":"DungeonTop","compatibility":99,"releases":[{"id":"01004A0013790000","region":null}]},{"id":"76a5b0ce-c628-4911-a118-8d9d06537a94","directory":"murder-house","title":"Murder House","compatibility":99,"releases":[{"id":"010032C015DA0000","region":null}]},{"id":"76b0c1c1-a7ca-4f91-aa77-673bd1ecd0cd","directory":"a-sound-plan","title":"A Sound Plan","compatibility":99,"releases":[{"id":"0100F0901006C000","region":null}]},{"id":"76b643b0-4f6c-4d2e-9305-3d1b082f525f","directory":"shadow-corridor","title":"Shadow Corridor","compatibility":99,"releases":[{"id":"010015C015712000","region":null}]},{"id":"76bd4938-9cb2-41ce-8ae8-d7cfa3cbcc25","directory":"tokyo-dark-remembrance","title":"Tokyo Dark – Remembrance –","compatibility":4,"releases":[{"id":"01003E500F962000","region":null}]},{"id":"76c421dc-02a1-4ec8-b154-79ef917b9e70","directory":"toy-stunt-bike-tiptops-trials-demo","title":"Toy Stunt Bike: Tiptop's Trials (Demo)","compatibility":99,"releases":[{"id":"010072800B1FC000","region":null}]},{"id":"7717b340-8ed0-4134-9e04-b451b7990678","directory":"crimzon-clover-world-explosion","title":"Crimzon Clover - World EXplosion","compatibility":0,"releases":[{"id":"01006B800DE26000","region":null}]},{"id":"77244957-f72b-481d-9e71-bf39cccf0dea","directory":"dodonpachi-resurrection","title":"DoDonPachi Resurrection","compatibility":1,"releases":[{"id":"01005A001489A000","region":null}]},{"id":"7730c9bd-1b1e-4fc1-a5a6-4e8513574242","directory":"circuit-dude","title":"Circuit Dude","compatibility":99,"releases":[{"id":"0100BE7010610000","region":null}]},{"id":"7732c621-2a22-4691-9517-3cf8b67a6655","directory":"monster-jam-steel-titans","title":"Monster Jam Steel Titans","compatibility":99,"releases":[{"id":"010095C00F354000","region":null}]},{"id":"77411f44-ab66-4eb8-aecf-56b8a4509c29","directory":"pop-the-bubbles","title":"Pop the Bubbles","compatibility":99,"releases":[{"id":"0100068011DB0000","region":null}]},{"id":"774875ce-2ec3-4fcd-8a09-964c9f22147f","directory":"wish-travel-super-puzzles-dream","title":"#Wish travel, Super Puzzles Dream","compatibility":99,"releases":[{"id":"01007A20150A0000","region":null}]},{"id":"775a45a7-199b-4168-8de2-f57352e1358c","directory":"total-arcade-racing","title":"Total Arcade Racing","compatibility":1,"releases":[{"id":"0100A64010D48000","region":null}]},{"id":"776ecff7-d178-4253-ba95-7941fe1b911b","directory":"lust-for-darkness-dawn-edition","title":"Lust for Darkness: Dawn Edition","compatibility":99,"releases":[{"id":"0100F0B00F68E000","region":null}]},{"id":"7787fe67-634f-4d04-aadc-5319b9a704fe","directory":"night-in-the-woods","title":"Night in the Woods","compatibility":1,"releases":[{"id":"0100921006A04000","region":null}]},{"id":"7794b06c-8591-4359-a5e7-5a8a361bbda2","directory":"iris-school-of-wizardry-vinculum-hearts-","title":"Iris School of Wizardry -Vinculum Hearts-","compatibility":2,"releases":[{"id":"0100AD300B786000","region":null}]},{"id":"779f6883-9021-4c1e-b944-98926ed11124","directory":"steredenn-binary-stars","title":"Steredenn: Binary Stars","compatibility":0,"releases":[{"id":"0100775004794000","region":null}]},{"id":"77a55641-4fc8-4a78-b4df-732d31c6bbb8","directory":"new-york-mysteries-secrets-of-the-mafia","title":"New York Mysteries: Secrets of the Mafia","compatibility":99,"releases":[{"id":"01001250157C2000","region":null}]},{"id":"77ab0417-54c9-4838-a542-98dd7527f4c4","directory":"colsword","title":"Colsword","compatibility":99,"releases":[{"id":"0100D730161DA000","region":null}]},{"id":"77b1715d-0404-4589-b4a7-33f7d55f72c3","directory":"mega-man-x-legacy-collection","title":"Mega Man X Legacy Collection","compatibility":2,"releases":[{"id":"01005C60086BE000","region":null}]},{"id":"77b341b8-999d-4012-a49c-5ca62d14debf","directory":"junk-jack","title":"Junk Jack","compatibility":99,"releases":[{"id":"010043901005A000","region":null}]},{"id":"77b92a0d-df96-4736-a2ff-1ea0583f12d8","directory":"rush-rally-3","title":"Rush Rally 3","compatibility":3,"releases":[{"id":"010020900E7A8000","region":null}]},{"id":"77b98eb0-21ab-42f4-858f-05b76a620c49","directory":"let-it-roll-slide-puzzle","title":"Let it roll slide puzzle","compatibility":99,"releases":[{"id":"0100421014FBE000","region":null}]},{"id":"77ce575a-4220-4bef-8c4f-5d115db7e332","directory":"arcade-archives-alpine-ski","title":"Arcade Archives ALPINE SKI","compatibility":4,"releases":[{"id":"010083800DC70000","region":null}]},{"id":"77d41423-3200-46aa-9c1d-561d0782e436","directory":"rez-plz","title":"REZ PLZ","compatibility":2,"releases":[{"id":"010071D00F156000","region":null}]},{"id":"77de47d9-7e86-47c6-bb8d-dda64fc951ae","directory":"sheep-patrol","title":"Sheep Patrol","compatibility":99,"releases":[{"id":"0100A7D010524000","region":null}]},{"id":"77df7f5a-627a-4581-912c-d3af715cf615","directory":"feathery-ears","title":"Feathery Ears","compatibility":2,"releases":[{"id":"01006C3011C56000","region":null}]},{"id":"77e513b9-623d-48bf-b881-7e84fd03e74f","directory":"mega-mall-story-2","title":"Mega Mall Story 2","compatibility":99,"releases":[{"id":"010030200EC42000","region":null}]},{"id":"7808823b-b8d5-4e89-8d24-4ff2e0f9e682","directory":"active-neurons-3-wonders-of-the-world","title":"Active Neurons 3 - Wonders Of The World","compatibility":99,"releases":[{"id":"0100EE1013E12000","region":null}]},{"id":"780ff123-c929-486d-86dd-22f6d766ca39","directory":"boreal-blade","title":"Boreal Blade","compatibility":99,"releases":[{"id":"01008E500AFF6000","region":null}]},{"id":"7819e854-2280-47e5-bf25-620907789edd","directory":"water-balloon-mania","title":"Water Balloon Mania","compatibility":99,"releases":[{"id":"0100B79011F06000","region":null}]},{"id":"78249993-6324-43df-a6bd-a0b516905adb","directory":"farming-simulator-20","title":"Farming Simulator 20","compatibility":1,"releases":[{"id":"0100EB600E914000","region":null}]},{"id":"7826735e-c7ad-4401-aa29-a768a9ceef5c","directory":"evolution-board-game","title":"Evolution Board Game","compatibility":4,"releases":[{"id":"01006A800FA22000","region":null}]},{"id":"78293f3d-0f3b-4842-bc81-f452ef66a8f5","directory":"rocket-wars","title":"Rocket Wars","compatibility":99,"releases":[{"id":"0100E88009A34000","region":null}]},{"id":"7829c948-e841-4290-a9bc-d6702079f554","directory":"leisure-suit-larry-wet-dreams-dont-dry","title":"Leisure Suit Larry - Wet Dreams Don't Dry","compatibility":0,"releases":[{"id":"0100A8E00CAA0000","region":null}]},{"id":"782c75b9-2d3c-4c02-b59b-3423cc765718","directory":"atelier-ryza-ever-darkness-and-the-secret-hideout","title":"Atelier Ryza: Ever Darkness & the Secret Hideout","compatibility":2,"releases":[{"id":"0100D1900EC80000","region":null}]},{"id":"78311ddd-51d1-440d-a471-8626d18aa61d","directory":"foodtruck-arena","title":"Foodtruck Arena","compatibility":99,"releases":[{"id":"010043E01476A000","region":null}]},{"id":"7836a044-af78-4ec8-a2af-6f00823ed351","directory":"football-drama","title":"Football Drama","compatibility":99,"releases":[{"id":"01003C101481E000","region":null}]},{"id":"78378c79-8a15-49aa-9cab-c7ec02aff40c","directory":"endless-fables-shadow-within","title":"Endless Fables: Shadow Within","compatibility":99,"releases":[{"id":"0100117015AE4000","region":null}]},{"id":"783af029-e5e9-415f-97c1-f4ff06aa07b9","directory":"adrenaline-rush-miami-drive","title":"Adrenaline Rush - Miami Drive","compatibility":99,"releases":[{"id":"010029700EB76000","region":null}]},{"id":"7841e683-3274-4a36-b329-3bb0381317aa","directory":"jigsaw-masterpieces-ex-kawaii-cute-goddesses","title":"Jigsaw Masterpieces EX - Kawaii Cute Goddesses -","compatibility":99,"releases":[{"id":"0100FEF015F74000","region":null}]},{"id":"786ef356-e8e0-4603-98ef-cd5aa397d282","directory":"night-call","title":"Night Call","compatibility":99,"releases":[{"id":"0100F3A0095A6000","region":null}]},{"id":"787fe3e4-0526-4926-9723-335b00ed08ce","directory":"retro-classix-2-in-1-pack-gate-of-doom-wizard-fire","title":"Retro Classix 2-in-1 Pack: Gate of Doom & Wizard Fire","compatibility":99,"releases":[{"id":"0100F38012182000","region":null}]},{"id":"788342f2-d87d-4530-bc5b-c70264f5f5ae","directory":"voxel-shot-for-nintendo-switch","title":"Voxel Shot for Nintendo Switch","compatibility":99,"releases":[{"id":"01003A300B5F8000","region":null}]},{"id":"788bf697-b983-469e-ad2a-5fa3434540fd","directory":"zumatch","title":"Zumatch","compatibility":99,"releases":[{"id":"0100203014E78000","region":null}]},{"id":"78933525-ef96-459e-8280-639420c18945","directory":"rbi-baseball-17","title":"R.B.I. Baseball 17","compatibility":4,"releases":[{"id":"0100B5A004302000","region":null}]},{"id":"789d8716-683f-4169-b063-230a93ccfda9","directory":"air-missions-hind","title":"Air Missions: HIND","compatibility":0,"releases":[{"id":"0100C9E00F54C000","region":null}]},{"id":"78a648f1-f582-4465-afed-7d10cdb86747","directory":"circa-infinity-ultimate-edition","title":"Circa Infinity Ultimate Edition","compatibility":99,"releases":[{"id":"010005F016964000","region":null}]},{"id":"78aaa857-86e6-4709-bcb5-13196581136f","directory":"rift-adventure","title":"Rift Adventure","compatibility":99,"releases":[{"id":"0100F5501483C000","region":null}]},{"id":"78abe25e-0444-4e7b-982a-7e67ba818176","directory":"fat-city","title":"Fat City","compatibility":99,"releases":[{"id":"01001CC00CB54000","region":null}]},{"id":"78af8ecd-ea97-4454-9356-ba804dffc99a","directory":"valthirian-arc-hero-school-story","title":"Valthirian Arc: Hero School Story","compatibility":1,"releases":[{"id":"010042100BAA6000","region":null}]},{"id":"78b19138-1520-45e6-a50d-90cb17ff6a17","directory":"zombie-gold-rush","title":"ZOMBIE GOLD RUSH","compatibility":1,"releases":[{"id":"0100CFE003A64000","region":null}]},{"id":"78b297e2-2932-4c17-b77a-a01e42e566fd","directory":"deaths-door","title":"Death's Door","compatibility":0,"releases":[{"id":"0100B31015AF8000","region":null}]},{"id":"78b3c439-001f-474b-8c3a-0b97d6ef42c1","directory":"sudoky","title":"Sudoky","compatibility":99,"releases":[{"id":"0100A68011B0A000","region":null}]},{"id":"78c54dc6-c35d-40c9-84e3-5716c4f3226b","directory":"epic-astro-story","title":"Epic Astro Story","compatibility":0,"releases":[{"id":"0100AE300D496000","region":null}]},{"id":"78c9b2a6-68c6-4c2c-9955-6f7da018be0a","directory":"cloudbase-prime","title":"Cloudbase Prime","compatibility":99,"releases":[{"id":"010023800FE12000","region":null}]},{"id":"78d1856c-c97f-4e90-920a-8c25c92ee031","directory":"biolab-wars","title":"Biolab Wars","compatibility":99,"releases":[{"id":"0100AEC010052000","region":null}]},{"id":"78d514f4-3387-47f8-b537-3afc2af49d05","directory":"itta","title":"ITTA","compatibility":5,"releases":[{"id":"010068700C70A000","region":null}]},{"id":"78d51611-b18f-4528-9c00-b44ca2b5f7db","directory":"aery-a-journey-beyond-time","title":"Aery – A Journey Beyond Time","compatibility":0,"releases":[{"id":"0100DF8014056000","region":null}]},{"id":"78dc17cb-baf1-47c5-96fb-fd51793143bf","directory":"oniken-unstoppable-edition","title":"Oniken: Unstoppable Edition","compatibility":99,"releases":[{"id":"010037900C814000","region":null}]},{"id":"78dff127-ce20-490f-ba9d-9e8daa165226","directory":"damascus-gear-operation-osaka","title":"Damascus Gear Operation Osaka","compatibility":99,"releases":[{"id":"0100A8000E228000","region":null}]},{"id":"78e57fd6-39fa-4b67-a630-4f55a0366b4f","directory":"racing-xtreme-2","title":"Racing Xtreme 2","compatibility":99,"releases":[{"id":"0100F580157FE000","region":null}]},{"id":"78ebbe30-6574-42a7-8ec4-256980ce8fc7","directory":"3d-arcade-fishing","title":"3D Arcade Fishing","compatibility":99,"releases":[{"id":"010010C013F2A000","region":null}]},{"id":"78f57de2-322a-4110-a100-788907a30e65","directory":"fatal-fury-first-contact","title":"FATAL FURY FIRST CONTACT","compatibility":99,"releases":[{"id":"010059B012E60000","region":null}]},{"id":"78fa7ff2-6238-4e06-8a00-58e67f69c711","directory":"warriors-orochi-4","title":"WARRIORS OROCHI 4","compatibility":99,"releases":[{"id":"010016A00AEC0000","region":null}]},{"id":"79054240-8f3b-45e1-96fa-6825a220496d","directory":"knights-and-bikes","title":"Knights and Bikes","compatibility":99,"releases":[{"id":"0100B7000D89E000","region":null}]},{"id":"790d8a32-7ba7-4d5c-bde9-c63db89a0582","directory":"mad-age-and-this-guy","title":"Mad Age & This Guy","compatibility":99,"releases":[{"id":"01008E300C88A000","region":null}]},{"id":"790e92b9-1527-41ee-9d76-1feb3b496041","directory":"extreme-trucks-simulator","title":"Extreme Trucks Simulator","compatibility":99,"releases":[{"id":"010097800F1B4000","region":null}]},{"id":"791484bd-54fe-4706-8711-1f5291712e1e","directory":"ninja-village","title":"Ninja Village","compatibility":0,"releases":[{"id":"010090600CB98000","region":null}]},{"id":"7916799f-1d67-4842-8084-eb53f5a68f33","directory":"lambs-on-the-road-the-beginning","title":"Lambs on the road : The Beginning","compatibility":99,"releases":[{"id":"01005160151EE000","region":null}]},{"id":"7921cdd9-c99d-42e8-8b08-8a9ae3f1f8a5","directory":"perception","title":"Perception","compatibility":99,"releases":[{"id":"0100563005B70000","region":null}]},{"id":"792345c3-e580-44a6-b5f5-9c14a8e549e5","directory":"plantera-deluxe-demo","title":"Plantera Deluxe Demo","compatibility":99,"releases":[{"id":"010003D00867A000","region":null}]},{"id":"792f6d86-2800-4571-95b5-6a14cf844982","directory":"dragon-quest-r-xi-s-echoes-of-an-elusive-age-definitive-edition","title":"DRAGON QUEST® XI S: Echoes of an Elusive Age – Definitive Edition","compatibility":2,"releases":[{"id":"01006C300E9F0000","region":null}]},{"id":"7933be16-45ba-4690-8bf9-3ec47ea2fb4e","directory":"g-mode-archives29-zanac","title":"G-MODE Archives29 ZANAC","compatibility":99,"releases":[{"id":"0100FD7013470000","region":null}]},{"id":"7939d5d7-31be-490c-8ae2-1560c76b524f","directory":"ohsir-the-hollywood-roast","title":"Oh...Sir! The Hollywood Roast","compatibility":99,"releases":[{"id":"0100F45006A00000","region":null}]},{"id":"794544d0-d89b-48bd-b1b9-207fb64c1f11","directory":"the-card-poker-texas-hold-em-blackjack-and-page-one","title":"THE Card: Poker, Texas hold 'em, Blackjack and Page One","compatibility":3,"releases":[{"id":"0100EB600AB5E000","region":null}]},{"id":"794f5cb2-3088-4240-ba71-7c654364032b","directory":"wulverblade","title":"Wulverblade","compatibility":99,"releases":[{"id":"010033700418A000","region":null}]},{"id":"79527c87-23b9-4a52-a19c-22e97474e478","directory":"cinders","title":"Cinders","compatibility":99,"releases":[{"id":"01009AC00D5F4000","region":null}]},{"id":"79687c95-1ead-44e2-b3d1-4aaad514fd28","directory":"dc-universe-online","title":"DC Universe Online","compatibility":99,"releases":[{"id":"01005B000D786000","region":null}]},{"id":"7972c10c-efd1-4f70-b2c3-8315fe7a9a24","directory":"baila-latino","title":"Baila Latino","compatibility":99,"releases":[{"id":"010076B011EC8000","region":null}]},{"id":"7974dc1b-e068-4a30-a7ed-5293c46a6756","directory":"adventure-pinball-bundle","title":"Adventure Pinball Bundle","compatibility":99,"releases":[{"id":"0100C990102A0000","region":null}]},{"id":"7974e4d3-9d78-4947-b634-eb6544f76a39","directory":"capes-escape-game-2nd-room","title":"Cape's Escape Game 2nd room","compatibility":99,"releases":[{"id":"0100F04013F5E000","region":null}]},{"id":"7990e99b-df10-4fe2-9f92-cf9d2b159c16","directory":"gaokaolove100days","title":"Gaokao.Love.100Days","compatibility":0,"releases":[{"id":"010091400B596000","region":null}]},{"id":"7991aec3-4b61-42c6-b067-3eeb542da244","directory":"overcooked-2","title":"Overcooked! 2","compatibility":0,"releases":[{"id":"01006FD0080B2000","region":null}]},{"id":"79a6ad7c-a5fc-42b4-9c6a-cf310214bb99","directory":"aca-neogeo-world-heroes","title":"ACA NEOGEO WORLD HEROES","compatibility":99,"releases":[{"id":"01002DD004FAC000","region":null}]},{"id":"79b1907a-bbae-45eb-9768-4374438194aa","directory":"the-pew-pew-bundle-vol-1","title":"The Pew Pew Bundle Vol. 1","compatibility":99,"releases":[{"id":"0100EE50122BC000","region":null}]},{"id":"79bbf3e3-8fe3-437b-9973-94073ab18100","directory":"pukan-bye-bye","title":"Pukan, Bye-Bye!","compatibility":99,"releases":[{"id":"010061601676A000","region":null}]},{"id":"79c52382-f4c4-4113-91e9-9374e23d6a2e","directory":"aca-neogeo-money-puzzle-exchanger","title":"ACA NEOGEO Money Puzzle Exchanger","compatibility":4,"releases":[{"id":"010038F00AFA0000","region":null}]},{"id":"79d30161-fbac-4d25-bdc6-ddb82aa19dbc","directory":"stranger-things-3-the-game","title":"Stranger Things 3: The Game","compatibility":0,"releases":[{"id":"0100DD600DD48000","region":null}]},{"id":"79d6d383-a128-46d8-a262-b63a43bcfb2c","directory":"nuclien","title":"Nuclien","compatibility":99,"releases":[{"id":"01005140089F6000","region":null}]},{"id":"79dc4834-dcbf-4bea-acb4-a360696e0cc2","directory":"black-jack","title":"Black Jack","compatibility":99,"releases":[{"id":"010045C011DE6000","region":null}]},{"id":"79e85666-26ce-4a61-ac6f-bc8c4c3ea917","directory":"all-star-fruit-racing","title":"All-Star Fruit Racing","compatibility":3,"releases":[{"id":"0100C1F00A9B8000","region":null}]},{"id":"79f95c8a-304f-4081-8856-36a32d84b75b","directory":"venture-towns-demo","title":"Venture Towns Demo","compatibility":99,"releases":[{"id":"010083D00D170000","region":null}]},{"id":"79fe62d0-6b5b-4769-ab73-6e4b5d0e40ea","directory":"the-escapists-2","title":"The Escapists 2","compatibility":2,"releases":[{"id":"0100CA100489C000","region":null}]},{"id":"7a03c48c-7ed7-4c16-85bc-271911d658b6","directory":"sega-genesis-nintendo-switch-online","title":"SEGA Genesis™ – Nintendo Switch Online","compatibility":2,"releases":[{"id":"0100B3C014BDA000","region":null}]},{"id":"7a066f1f-0ca8-4b87-95f8-e0a32f47a9b8","directory":"kosmonavtes-escape-reality","title":"Kosmonavtes: Escape Reality","compatibility":99,"releases":[{"id":"0100C890159AA000","region":null}]},{"id":"7a0b06fd-d7f6-4063-9d27-9dc66bddd103","directory":"royal-tower-defense","title":"Royal Tower Defense","compatibility":99,"releases":[{"id":"0100132013678000","region":null}]},{"id":"7a1d6eb9-8b7a-430e-8e70-e337edc1bb07","directory":"railway-empire-nintendo-switch-edition","title":"Railway Empire - Nintendo Switch™ Edition","compatibility":99,"releases":[{"id":"01002EE00DC02000","region":null}]},{"id":"7a22c5ea-a1cb-45ad-9bf5-63ef5c326a05","directory":"family-tree","title":"Family Tree","compatibility":99,"releases":[{"id":"01007BA00F0E6000","region":null}]},{"id":"7a2539ff-09ff-4726-abd8-50cee2df0364","directory":"weaving-tides","title":"Weaving Tides","compatibility":99,"releases":[{"id":"0100823012CA0000","region":null}]},{"id":"7a3627bd-106f-46ee-9097-fe8fc0f3dc50","directory":"him-her-3","title":"HIM & HER 3","compatibility":99,"releases":[{"id":"010000E0161BC000","region":null}]},{"id":"7a39cd2c-cc4c-4f39-9e84-e2d10c710520","directory":"longstory-a-dating-game-for-the-real-world","title":"LongStory: A dating game for the real world","compatibility":99,"releases":[{"id":"0100A4300B4FC000","region":null}]},{"id":"7a3bc69d-a4f2-44cb-b7ab-bab586195c99","directory":"mujo","title":"MUJO","compatibility":0,"releases":[{"id":"0100A8400471A000","region":null}]},{"id":"7a3e0e39-725d-455a-a65b-2c6462c65a8e","directory":"lets-sing-queen","title":"Let's Sing Queen","compatibility":0,"releases":[{"id":"01003CE011A86000","region":null}]},{"id":"7a461dd5-6477-4010-95fe-32e64e4f8a5c","directory":"winds-of-change","title":"Winds Of Change","compatibility":99,"releases":[{"id":"01001D2013756000","region":null}]},{"id":"7a53fbc5-9f43-4b4e-af26-1f328157c247","directory":"emergency-driver-simulator","title":"Emergency Driver Simulator","compatibility":99,"releases":[{"id":"0100382016A0E000","region":null}]},{"id":"7a56e78b-271e-49ca-8017-e978c662357e","directory":"dreamball","title":"DreamBall","compatibility":5,"releases":[{"id":"010034D00F330000","region":null}]},{"id":"7a5db389-7a6b-472b-952a-7db286fff362","directory":"sudoku-relax","title":"Sudoku Relax","compatibility":99,"releases":[{"id":"010027B00DDF4000","region":null}]},{"id":"7a6659d4-bdba-4f3a-9ff8-c22a63ef514a","directory":"unforeseen-incidents","title":"Unforeseen Incidents","compatibility":99,"releases":[{"id":"010052800DB46000","region":null}]},{"id":"7a79e5fb-0436-42df-afcd-1f295f6bf6c4","directory":"dungeon-encounters","title":"DUNGEON ENCOUNTERS","compatibility":99,"releases":[{"id":"0100328013BCA000","region":null}]},{"id":"7a8322a2-e338-4d1f-a281-abdc53b35722","directory":"arcade-archives-kangaroo","title":"Arcade Archives Kangaroo","compatibility":99,"releases":[{"id":"0100141011CF2000","region":null}]},{"id":"7a986ec7-12da-422a-b390-628087857ba2","directory":"dragon-ball-xenoverse-2-lite-version","title":"DRAGON BALL XENOVERSE 2 Lite Version","compatibility":99,"releases":[{"id":"0100B9F00B58E000","region":null}]},{"id":"7a98ae90-3381-4b4a-b600-5e0e4e06a06a","directory":"valiant-hearts-the-great-war","title":"Valiant Hearts: The Great War","compatibility":0,"releases":[{"id":"010099700B01A000","region":null}]},{"id":"7aaacb97-3772-46d1-a66f-5501a954d1e7","directory":"kolumno","title":"Kolumno","compatibility":99,"releases":[{"id":"01002EF013734000","region":null}]},{"id":"7aabcfd4-955c-41f0-8e47-f865e2f75dab","directory":"construction-site-driver","title":"Construction Site Driver","compatibility":99,"releases":[{"id":"010000E016DDE000","region":null}]},{"id":"7aac18eb-9bb9-4d13-833b-6b0c02c1f756","directory":"spacejacked","title":"Spacejacked","compatibility":99,"releases":[{"id":"010084500EA2E000","region":null}]},{"id":"7ab2d687-3f85-42b2-8d6d-68eec39e7209","directory":"ladders-by-powgi","title":"Ladders by POWGI","compatibility":99,"releases":[{"id":"0100E26014312000","region":null}]},{"id":"7ab994b8-e28c-4495-a546-48b4e80f3f18","directory":"fairy-tale-puzzlesmagic-objects","title":"Fairy Tale Puzzles~Magic Objects~","compatibility":0,"releases":[{"id":"010072E00B36A000","region":null}]},{"id":"7abc85e5-05d2-4f41-9fa8-94b4ed129eee","directory":"bear-with-me-the-lost-robots","title":"Bear With Me: The Lost Robots","compatibility":0,"releases":[{"id":"010020700DE04000","region":null}]},{"id":"7ac8a1df-ab8b-4ea0-afd4-89105428e53e","directory":"minefield","title":"Minefield","compatibility":99,"releases":[{"id":"0100B7500F756000","region":null}]},{"id":"7add49f4-a227-4d18-9cac-2f95ff604780","directory":"arcade-archives-dragon-buster","title":"Arcade Archives DRAGON BUSTER","compatibility":99,"releases":[{"id":"0100130015E0E000","region":null}]},{"id":"7ae74068-df81-4ed6-b9bb-791a96fad7d1","directory":"bulb-boy","title":"Bulb Boy","compatibility":99,"releases":[{"id":"01006F900473A000","region":null}]},{"id":"7aeb9dec-2ea4-4e67-b6df-b24182716135","directory":"lfo-lost-future-omega-","title":"L.F.O. -Lost Future Omega-","compatibility":1,"releases":[{"id":"0100732009CAE000","region":null}]},{"id":"7aece9e7-9c60-4e20-bc8e-d5dcdda2c770","directory":"stray-cat-doors2","title":"Stray Cat Doors2","compatibility":1,"releases":[{"id":"010035D014B96000","region":null}]},{"id":"7af61d88-5fb0-4bb9-b3d0-5547625ce48f","directory":"it-came-from-space-and-ate-our-brains","title":"It came from space and ate our brains","compatibility":99,"releases":[{"id":"01002E501015A000","region":null}]},{"id":"7b0b3cbb-c6f5-4f77-8a52-e97b597f5a6f","directory":"ubermosh-omega","title":"UBERMOSH:OMEGA","compatibility":99,"releases":[{"id":"0100DBA0109C2000","region":null}]},{"id":"7b0b9425-032d-4894-aeda-18b023db5277","directory":"sniper-elite-3-ultimate-edition","title":"Sniper Elite 3 Ultimate Edition","compatibility":2,"releases":[{"id":"010075A00BA14000","region":null}]},{"id":"7b0cd6ac-56e3-469f-9ef8-ddc4f703a9e1","directory":"mad-father","title":"Mad Father","compatibility":3,"releases":[{"id":"01005E7013476000","region":null}]},{"id":"7b1eaae6-efdb-4161-8343-8a4d5043dc9a","directory":"cattails","title":"Cattails","compatibility":0,"releases":[{"id":"010004400B28A000","region":null}]},{"id":"7b29514b-ac90-4c97-bf6f-05725aa37905","directory":"brawlhalla","title":"Brawlhalla","compatibility":4,"releases":[{"id":"0100C6800B934000","region":null}]},{"id":"7b2a397f-c023-4cd4-880d-a8c1b73953f8","directory":"word-wheel-by-powgi","title":"Word Wheel by POWGI","compatibility":99,"releases":[{"id":"01002A600E346000","region":null}]},{"id":"7b374e5d-eee1-4321-923b-dcf06ef6dc9c","directory":"rainbow-billy-the-curse-of-the-leviathan","title":"Rainbow Billy: The Curse of the Leviathan","compatibility":99,"releases":[{"id":"0100235014746000","region":null}]},{"id":"7b3feb41-8cc8-411a-a1a9-7a89247b145f","directory":"wolfenstein-youngblood","title":"Wolfenstein: Youngblood","compatibility":4,"releases":[{"id":"01003BD00CAAE000","region":null}]},{"id":"7b4186f8-b94e-4dcc-87ac-c157c2d370be","directory":"her-love-in-the-force","title":"Her Love in the Force","compatibility":99,"releases":[{"id":"0100A9001317E000","region":null}]},{"id":"7b4992d4-c556-482d-888d-84310d9ec377","directory":"king-of-seas","title":"King of Seas","compatibility":99,"releases":[{"id":"0100C17010BF2000","region":null}]},{"id":"7b58e725-4a0a-4ed6-a306-2b65da41f811","directory":"assault-chainguns-km","title":"Assault ChaingunS KM","compatibility":99,"releases":[{"id":"0100BF8012A30000","region":null}]},{"id":"7b646591-5c6b-4029-8a3b-20f2a550a167","directory":"pantsu-hunter-back-to-the-90s","title":"Pantsu Hunter: Back to the 90s","compatibility":2,"releases":[{"id":"010006E00DFAE000","region":null}]},{"id":"7b77adfd-de92-4364-a41e-2cbedc45c619","directory":"table-tennis","title":"Table Tennis","compatibility":99,"releases":[{"id":"0100CB00125B6000","region":null}]},{"id":"7b7f40fa-d014-4b0e-9cd7-ac4b9238fd60","directory":"romancing-saga-2","title":"Romancing SaGa 2","compatibility":1,"releases":[{"id":"01001F600829A000","region":null}]},{"id":"7b7f9a91-0069-418e-96b4-abda2ae03297","directory":"world-quiz","title":"World Quiz","compatibility":99,"releases":[{"id":"0100099016862000","region":null}]},{"id":"7b849bb6-603e-40f8-b5b3-fa17a808a518","directory":"gunslugs-2","title":"Gunslugs 2","compatibility":99,"releases":[{"id":"010062A013914000","region":null}]},{"id":"7b9bdec0-e037-4614-980c-529d53ee3e18","directory":"mars-horizon","title":"Mars Horizon","compatibility":1,"releases":[{"id":"010044701191E000","region":null}]},{"id":"7ba0b379-5de7-4ff5-baaa-8fe8842f84ae","directory":"falcon-age","title":"Falcon Age","compatibility":99,"releases":[{"id":"0100C3F011B58000","region":null}]},{"id":"7bba659c-bc5b-4fc3-85a0-496a82bafdfa","directory":"cuccchi","title":"Cuccchi","compatibility":99,"releases":[{"id":"0100F5F015AE0000","region":null}]},{"id":"7bbda616-f194-419a-8bcf-6f8e81b410d1","directory":"superola-and-the-lost-burgers","title":"Superola and the Lost Burgers","compatibility":99,"releases":[{"id":"010033C009E46000","region":null}]},{"id":"7bc3f7e6-b7af-4841-9b06-6c885bf6c458","directory":"just-dance-2020","title":"Just Dance 2020","compatibility":0,"releases":[{"id":"0100DDB00DB38000","region":null}]},{"id":"7bcc572d-05d6-4bff-8cf8-8863cd1d7c63","directory":"electro-ride-the-neon-racing","title":"Electro Ride: The Neon Racing","compatibility":99,"releases":[{"id":"0100C6301324C000","region":null}]},{"id":"7bceeab2-e6ad-45b7-8a3d-d9c0ad3e3d0a","directory":"crawlco-block-knockers","title":"Crawlco Block Knockers","compatibility":99,"releases":[{"id":"0100148012F7A000","region":null}]},{"id":"7bcff2f0-d162-45a1-93d3-95909fdae1a7","directory":"the-lost-cube","title":"The Lost Cube","compatibility":99,"releases":[{"id":"01000F2013CF8000","region":null}]},{"id":"7bd1980e-fcdf-4a76-81e8-62165e1fa4dd","directory":"pretty-girls-panic-plus","title":"Pretty Girls Panic! PLUS","compatibility":99,"releases":[{"id":"01001E3014D46000","region":null}]},{"id":"7bd3a460-b545-4821-8483-b1b9c292bb66","directory":"thy-sword","title":"Thy Sword","compatibility":1,"releases":[{"id":"01000AC011588000","region":null}]},{"id":"7bd84f9a-99a1-4111-9ed5-68c89ac204a6","directory":"bit-trip-void","title":"BIT.TRIP VOID","compatibility":99,"releases":[{"id":"01000AD012D3A000","region":null}]},{"id":"7c003c6c-c604-47b4-b21b-e384d926e500","directory":"axiom-verge-2","title":"Axiom Verge 2","compatibility":1,"releases":[{"id":"01002FC010240000","region":null}]},{"id":"7c06cd3a-2437-4b57-ae6a-aa92e88d426d","directory":"puzzle-car","title":"Puzzle Car","compatibility":99,"releases":[{"id":"01004AF01590C000","region":null}]},{"id":"7c212262-014c-4af3-a1f6-acc61c24b10f","directory":"in-rays-of-the-light","title":"In rays of the Light","compatibility":99,"releases":[{"id":"0100A760129A0000","region":null}]},{"id":"7c22e0fb-5aaf-42d3-ab43-b3b1330085d0","directory":"reel-fishing-road-trip-adventure","title":"Reel Fishing: Road Trip Adventure","compatibility":99,"releases":[{"id":"010007C00E558000","region":null}]},{"id":"7c2af0a6-926c-4d73-b628-8835cfa0f6f1","directory":"super-one-more-jump-demo","title":"Super One More Jump Demo","compatibility":99,"releases":[{"id":"010088F00AD80000","region":null}]},{"id":"7c418840-86e5-4b23-9f6f-1acaa513f216","directory":"bot-vice","title":"Bot Vice","compatibility":4,"releases":[{"id":"010065C00CD98000","region":null}]},{"id":"7c47580e-e8ec-49dc-8305-bb2e8b5463cf","directory":"titan-quest","title":"Titan Quest","compatibility":2,"releases":[{"id":"0100605008268000","region":null}]},{"id":"7c4b6b7f-9888-40ad-bc60-fc46cd655543","directory":"free-throw-basketball","title":"Free Throw Basketball","compatibility":99,"releases":[{"id":"0100865014246000","region":null}]},{"id":"7c4cb465-e05e-46f1-8ec2-e454ad9678aa","directory":"ghost-sync","title":"Ghost Sync","compatibility":99,"releases":[{"id":"0100F41015BF4000","region":null}]},{"id":"7c4fc628-d321-44c3-8c6d-3a64189a7726","directory":"naruto-shippuden-ultimate-ninja-storm-trilogy","title":"NARUTO SHIPPUDEN: Ultimate Ninja Storm Trilogy","compatibility":2,"releases":[{"id":"0100EC800800C000","region":null}]},{"id":"7c54382a-a14f-4867-810f-410483a54991","directory":"undermine","title":"UnderMine","compatibility":2,"releases":[{"id":"01000B3012F3A000","region":null}]},{"id":"7c5c8795-c337-407a-877d-528877328673","directory":"return-of-the-heir","title":"Return of the Heir","compatibility":99,"releases":[{"id":"01009AA014736000","region":null}]},{"id":"7c68c27e-b4c7-4e36-a665-b7dff85ea7e9","directory":"megadimension-neptunia-vii","title":"Megadimension Neptunia VII","compatibility":3,"releases":[{"id":"010006F011220000","region":null}]},{"id":"7c719b65-24d7-4a59-ad93-fd8073b652dd","directory":"ravensword-shadowlands","title":"Ravensword: Shadowlands","compatibility":99,"releases":[{"id":"0100957013E26000","region":null}]},{"id":"7c7299fe-1076-434a-a715-f9c5b9b230a4","directory":"onirike","title":"Onirike","compatibility":99,"releases":[{"id":"0100F150141DC000","region":null}]},{"id":"7c8cc74d-78fb-44cd-9df5-abbffea696c3","directory":"world-of-goo","title":"World of Goo","compatibility":0,"releases":[{"id":"010009E001D90000","region":null}]},{"id":"7c9e1018-5f6d-4d63-8fac-effa2c803713","directory":"galak-z-variant-s","title":"GALAK-Z: Variant S","compatibility":4,"releases":[{"id":"0100C9800A454000","region":null}]},{"id":"7ca5daac-71f2-449e-bcb8-6585ec6a3acb","directory":"tales-from-the-borderlands","title":"Tales from the Borderlands","compatibility":99,"releases":[{"id":"0100F0C011A68000","region":null}]},{"id":"7cab2c93-8bfe-431e-bdfd-7569e7b2b8ed","directory":"feral-fury","title":"Feral Fury","compatibility":2,"releases":[{"id":"010097E00ADC2000","region":null}]},{"id":"7cb0a6af-ab0d-4720-b2aa-3a64a24face1","directory":"mosaic","title":"Mosaic","compatibility":0,"releases":[{"id":"010032800D740000","region":null}]},{"id":"7cb3e542-b2ce-43ed-9728-65382a36d4d0","directory":"gunkid-99","title":"GUNKID 99","compatibility":99,"releases":[{"id":"0100B79014D66000","region":null}]},{"id":"7cb5c946-e745-4c38-9f80-b0858da98804","directory":"family-tennis-sp","title":"Family Tennis SP","compatibility":3,"releases":[{"id":"010049A00F5AC000","region":null}]},{"id":"7cc4d6ca-b39b-47ed-a55f-56a5936432b2","directory":"epistory-typing-chronicles","title":"Epistory - Typing Chronicles","compatibility":99,"releases":[{"id":"0100DA50128BE000","region":null}]},{"id":"7cc83c93-1458-40dc-a477-ad490976d3cd","directory":"ghost-files-memory-of-a-crime","title":"Ghost Files: Memory of a Crime","compatibility":3,"releases":[{"id":"0100046011AE6000","region":null}]},{"id":"7cceceee-fdcc-49ae-be1c-9d526e9af6b9","directory":"toki-tori-2-demo","title":"Toki Tori 2+ Demo","compatibility":99,"releases":[{"id":"010087E00B0E6000","region":null}]},{"id":"7ce569f9-0b1d-4d14-b776-6d42150ba382","directory":"clue-the-classic-mystery-game","title":"Clue: The Classic Mystery Game","compatibility":0,"releases":[{"id":"010029400CA20000","region":null}]},{"id":"7ced507e-c293-412d-baea-442fd8c01c87","directory":"inksplosion","title":"InkSplosion","compatibility":99,"releases":[{"id":"010039E00A15E000","region":null}]},{"id":"7cfde255-5b32-4522-a9a7-504dcc5b3de6","directory":"royal-adviser","title":"Royal Adviser","compatibility":99,"releases":[{"id":"0100ADF00C630000","region":null}]},{"id":"7d088358-9ae7-48f3-837f-254d4f1e82f7","directory":"sin-slayers","title":"Sin Slayers","compatibility":0,"releases":[{"id":"01006FE010438000","region":null}]},{"id":"7d0c2879-3978-4b60-bada-4974533dac0e","directory":"cannon-army","title":"CANNON ARMY","compatibility":99,"releases":[{"id":"01006400155DC000","region":null}]},{"id":"7d0f285b-c540-46a1-89a4-54995a2174dc","directory":"gakuen-club","title":"Gakuen Club","compatibility":99,"releases":[{"id":"010052900B8EE000","region":null}]},{"id":"7d13ca64-ddce-4fb6-bb5e-37ee72cdc40e","directory":"trancelation","title":"Trancelation","compatibility":99,"releases":[{"id":"0100DBF0110EE000","region":null}]},{"id":"7d2d44b0-4bfa-4e0d-85e9-3568d925ed14","directory":"ultra-hat-dimension","title":"Ultra Hat Dimension","compatibility":99,"releases":[{"id":"01002D4012222000","region":null}]},{"id":"7d345d2d-7cc5-407a-be74-cb3f75c2275d","directory":"western-1849-reloaded","title":"Western 1849 Reloaded","compatibility":99,"releases":[{"id":"010085F00B93A000","region":null}]},{"id":"7d5189f4-02c8-42d0-ab5b-ab26fd1bee01","directory":"waking-violet","title":"Waking Violet","compatibility":99,"releases":[{"id":"0100C160071B8000","region":null}]},{"id":"7d5b6912-96fe-4006-a388-0152c274611d","directory":"famicom-detective-club-the-missing-heir","title":"Famicom Detective Club™: The Missing Heir","compatibility":0,"releases":[{"id":"010033F0126F4000","region":null}]},{"id":"7d665eb7-e934-4ad8-9739-04e0266e03b4","directory":"epic-loon","title":"Epic Loon","compatibility":5,"releases":[{"id":"0100262009626000","region":null}]},{"id":"7d685512-0ce6-49f5-a7b1-c5dbb0d18cf2","directory":"kirakira-stars-idol-project-memories","title":"Kirakira stars idol project Memories","compatibility":99,"releases":[{"id":"01005BD015A3C000","region":null}]},{"id":"7d6aa409-8c60-49a4-baf7-57c8d05e1af4","directory":"rico-london","title":"RICO: London","compatibility":99,"releases":[{"id":"0100DD80146F0000","region":null}]},{"id":"7d72f140-8d96-4be7-9afc-4cea04cd4f87","directory":"bright-paw","title":"Bright Paw","compatibility":1,"releases":[{"id":"0100E0E0121D6000","region":null}]},{"id":"7d7f9f9e-1aa6-48b0-bf65-a77f77c2057b","directory":"where-the-bees-make-honey","title":"Where the Bees Make Honey","compatibility":99,"releases":[{"id":"01000C000C966000","region":null}]},{"id":"7d7fa6b9-4e32-4a33-a90c-727064eb94a6","directory":"ash-of-gods-redemption","title":"Ash of Gods: Redemption","compatibility":99,"releases":[{"id":"0100E4C00DE30000","region":null}]},{"id":"7d86c677-165a-4be4-960a-cb64ff497ebd","directory":"story-of-seasons-friends-of-mineral-town","title":"STORY OF SEASONS: Friends of Mineral Town","compatibility":1,"releases":[{"id":"0100ED400EEC2000","region":null}]},{"id":"7d9ef1ee-12a3-4671-9d3f-b56778e54b72","directory":"dungeon-escape","title":"Dungeon Escape","compatibility":99,"releases":[{"id":"01000BC0140C6000","region":null}]},{"id":"7db2f2da-022a-46af-9336-05742fe61d83","directory":"streets-of-red-devils-dare-deluxe","title":"Streets of Red - Devil's Dare Deluxe","compatibility":0,"releases":[{"id":"0100C1700A9F0000","region":null}]},{"id":"7db49f1f-8743-49dc-bbbd-9794c66a8f2f","directory":"castle-pals","title":"Castle Pals","compatibility":99,"releases":[{"id":"0100DA2011F18000","region":null}]},{"id":"7dbe4991-ed81-4ecf-af67-eb96a20d1d0d","directory":"skelittle-a-giant-party","title":"Skelittle: A Giant Party!","compatibility":99,"releases":[{"id":"01008E700F952000","region":null}]},{"id":"7dc5743c-b185-4aae-adc9-f919b55e0579","directory":"arcade-archives-ninja-gaiden","title":"Arcade Archives NINJA GAIDEN","compatibility":4,"releases":[{"id":"01003EF00D3B4000","region":null}]},{"id":"7dd4053c-0e8e-43fd-8c08-fe021c0d777b","directory":"vostok-inc-demo","title":"Vostok Inc. Demo","compatibility":99,"releases":[{"id":"010044200A112000","region":null}]},{"id":"7dd83b96-a3ed-4ce5-9210-6d50223043fb","directory":"sakura-in-gameland","title":"Sakura In Gameland","compatibility":99,"releases":[{"id":"01002D20129EC000","region":null}]},{"id":"7debf5b9-33fa-4f0d-8c27-36ccae2a865f","directory":"battlesloths","title":"BATTLESLOTHS","compatibility":99,"releases":[{"id":"010044E00D97C000","region":null}]},{"id":"7df1590e-a384-4a58-a807-053d9e43e1da","directory":"daylife-in-japan-pixel-art-jigsaw-puzzle","title":"Daylife in Japan - Pixel Art Jigsaw Puzzle","compatibility":99,"releases":[{"id":"010086A013904000","region":null}]},{"id":"7df5f68f-bfe6-484a-94df-f3f4ac9f3a09","directory":"60-seconds","title":"60 Seconds!","compatibility":3,"releases":[{"id":"0100969005E98000","region":null}]},{"id":"7df8b6b5-f6f4-4b92-a943-dcace0c9af53","directory":"arcade-archives-lightning-fighters","title":"Arcade Archives LIGHTNING FIGHTERS","compatibility":1,"releases":[{"id":"0100043011CEC000","region":null}]},{"id":"7dfd8e27-836b-405b-ac35-591eb28000b6","directory":"moai-vi-unexpected-guests","title":"Moai VI: Unexpected Guests","compatibility":99,"releases":[{"id":"010020400BDD2000","region":null}]},{"id":"7e10f785-0ba0-41d4-aa39-8c07255317c2","directory":"anime-studio-story","title":"Anime Studio Story","compatibility":99,"releases":[{"id":"010062500EB84000","region":null}]},{"id":"7e167dd4-0777-4856-9a94-6bbfdae9b6a6","directory":"the-prince-of-landis","title":"The Prince of Landis","compatibility":99,"releases":[{"id":"010058C015B82000","region":null}]},{"id":"7e1c0abb-2aa9-4706-af42-3b7a75d03145","directory":"red-wings-aces-of-the-sky","title":"Red Wings: Aces of the Sky","compatibility":1,"releases":[{"id":"0100D8A00E880000","region":null}]},{"id":"7e20b883-226f-4566-af97-197ded7f07ec","directory":"season-match-3-curse-of-the-witch-crow","title":"Season Match 3: Curse of the Witch Crow","compatibility":99,"releases":[{"id":"0100C8E00BDCE000","region":null}]},{"id":"7e2b3d64-eb38-4581-bc77-be8f14033fe2","directory":"son-of-a-witch","title":"Son of a Witch","compatibility":99,"releases":[{"id":"0100AD000B9AC000","region":null}]},{"id":"7e2ccd7c-6d0a-491b-b823-d159cee604c9","directory":"chasm","title":"Chasm","compatibility":0,"releases":[{"id":"0100DE200C350000","region":null}]},{"id":"7e338255-8be7-4215-9c75-7f816927bc54","directory":"jet-set-knights","title":"Jet Set Knights","compatibility":0,"releases":[{"id":"01005C1012C22000","region":null}]},{"id":"7e37d6f6-5e73-434b-97f5-a25bcec5de82","directory":"johnny-turbos-arcade-bad-dudes","title":"Johnny Turbo's Arcade: Bad Dudes","compatibility":5,"releases":[{"id":"01006E4003832000","region":null}]},{"id":"7e4160b3-5036-433b-9f8a-3a8ad697181c","directory":"forest-guardian","title":"Forest Guardian","compatibility":99,"releases":[{"id":"0100E9B01243C000","region":null}]},{"id":"7e4523d3-59cb-4632-9cd4-71ac674fe3c7","directory":"collection-of-mana","title":"Collection of Mana","compatibility":1,"releases":[{"id":"01002A600D7FC000","region":null}]},{"id":"7e474a55-1c18-43b5-8a99-d1817b3bb44b","directory":"duped","title":"Duped","compatibility":99,"releases":[{"id":"01008AE00E95C000","region":null}]},{"id":"7e5193ea-34ec-4ed3-aa0c-0b1f21a6e1ec","directory":"eldest-souls","title":"Eldest Souls","compatibility":2,"releases":[{"id":"010093C00F30A000","region":null}]},{"id":"7e5a6768-bce0-4ea8-9a4c-c9c110fd78a5","directory":"sonic-colors-ultimate","title":"Sonic Colors: Ultimate","compatibility":1,"releases":[{"id":"010040E0116B8000","region":null}]},{"id":"7e5babe1-bc2f-456b-807f-77e73dec762a","directory":"trailer-trashers","title":"Trailer Trashers","compatibility":99,"releases":[{"id":"0100EB701117A000","region":null}]},{"id":"7e5ed3cb-2207-4f96-8221-b42519fdbe67","directory":"squeakers-ii","title":"Squeakers II","compatibility":99,"releases":[{"id":"0100BD80153BC000","region":null}]},{"id":"7e60059d-eaf6-4172-bb9d-584c17d54734","directory":"arcade-archives-burnin-rubber","title":"Arcade Archives BURNIN' RUBBER","compatibility":0,"releases":[{"id":"01003B4012478000","region":null}]},{"id":"7e653402-b065-4e9c-95e3-181276e6d735","directory":"lets-play-oink-games","title":"Let’s Play! Oink Games","compatibility":99,"releases":[{"id":"01001A8015506000","region":null}]},{"id":"7e79633e-d726-4788-831e-253424eafc59","directory":"super-crate-box","title":"Super Crate Box","compatibility":0,"releases":[{"id":"0100B2D00C63A000","region":null}]},{"id":"7e7caf45-d127-4cbe-98c0-637c970ccbb5","directory":"arcade-archives-route-16","title":"Arcade Archives ROUTE 16","compatibility":99,"releases":[{"id":"010060000BF7C000","region":null}]},{"id":"7e864b90-a58c-4fe0-b48f-814409d55131","directory":"arcade-archives-ben-bero-beh","title":"Arcade Archives BEN BERO BEH","compatibility":99,"releases":[{"id":"01004D0012D28000","region":null}]},{"id":"7e9cf58b-5649-4b64-a5b9-b3890be5b3f8","directory":"football-manager-2021-touch","title":"Football Manager 2021 Touch","compatibility":5,"releases":[{"id":"01007CF013152000","region":null}]},{"id":"7eae988b-9ee9-4c82-9021-7f1cedb742dc","directory":"mega-man-legacy-collection","title":"Mega Man Legacy Collection","compatibility":2,"releases":[{"id":"01002D4007AE0000","region":null}]},{"id":"7eb071d1-f760-4e13-80d6-786c74fdc0f7","directory":"pokemon-quest","title":"Pokémon Quest","compatibility":1,"releases":[{"id":"01005D100807A000","region":null}]},{"id":"7ebc9f3d-e64e-4086-b66e-4f94bd053cae","directory":"pixel-game-maker-series-biggerman-io","title":"Pixel Game Maker Series Biggerman.io","compatibility":99,"releases":[{"id":"0100AD9016C6C000","region":null}]},{"id":"7ec587d0-6a79-475a-927d-7de2ae8adb65","directory":"tamashii","title":"Tamashii","compatibility":99,"releases":[{"id":"010012800EE3E000","region":null}]},{"id":"7ed6a71a-34d2-4940-b17f-a3695086af77","directory":"sparkle-3-genesis","title":"Sparkle 3 Genesis","compatibility":99,"releases":[{"id":"01005E200A3AC000","region":null}]},{"id":"7edffeb1-c595-43b0-9701-8abf82b1fbf6","directory":"undertale","title":"Undertale","compatibility":1,"releases":[{"id":"010080B00AD66000","region":null}]},{"id":"7ee00a32-f7f9-48d0-b9f8-3390a6df1a3f","directory":"a-dark-room","title":"A Dark Room","compatibility":99,"releases":[{"id":"010021D00D53E000","region":null}]},{"id":"7efc10cd-5948-48db-9a41-e94e68da84d4","directory":"north","title":"NORTH","compatibility":99,"releases":[{"id":"01004840086FE000","region":null}]},{"id":"7f06e839-7cd8-4625-a703-ecc4f656d00a","directory":"summer-in-mara","title":"Summer in Mara","compatibility":1,"releases":[{"id":"0100A130109B2000","region":null}]},{"id":"7f61e657-0704-4700-b19d-1c7c70c0034c","directory":"dead-ground","title":"Dead Ground","compatibility":99,"releases":[{"id":"010075C013AA0000","region":null}]},{"id":"7f6281b5-ec35-4522-bca9-c59d249b465c","directory":"6souls","title":"6Souls","compatibility":99,"releases":[{"id":"0100421016BF2000","region":null}]},{"id":"7f6650e1-b271-4f04-ab9a-39bb121f996d","directory":"o-o","title":"O---O","compatibility":99,"releases":[{"id":"01002E6014FC4000","region":null}]},{"id":"7f678dbd-70c3-424c-90ee-afa68eb62cfc","directory":"apocalipsis-wormwood-edition","title":"Apocalipsis Wormwood Edition","compatibility":1,"releases":[{"id":"01008FC00C5BC000","region":null}]},{"id":"7f6fd53a-a1bb-4851-b38b-3c2100a01c1c","directory":"strange-brigade","title":"Strange Brigade","compatibility":4,"releases":[{"id":"01001DC012E7E000","region":null}]},{"id":"7f7a7505-d5a7-41a7-b4c2-f079309dccd1","directory":"march-to-a-million","title":"March to a Million","compatibility":99,"releases":[{"id":"010097500E552000","region":null}]},{"id":"7f806ffd-8a0b-4b83-a5be-67aaf082f107","directory":"what-the-box","title":"What the Box?","compatibility":99,"releases":[{"id":"010066F00DD50000","region":null}]},{"id":"7f8ca5b1-4bfd-47ab-be31-e6ef40ed59cf","directory":"innerspace","title":"InnerSpace","compatibility":0,"releases":[{"id":"0100F200049C8000","region":null}]},{"id":"7f97e748-0eb3-4f2a-a208-138f5d397afb","directory":"arcade-archives-ninja-kid-ii","title":"Arcade Archives Ninja-Kid II","compatibility":4,"releases":[{"id":"0100D3F009810000","region":null}]},{"id":"7f992364-9576-4902-b054-eeee29cbae00","directory":"ultimate-custom-night","title":"Ultimate Custom Night","compatibility":99,"releases":[{"id":"010033500E444000","region":null}]},{"id":"7fa3b028-8212-4c15-aaa0-0767ac4dcad8","directory":"hot-gimmick-cosplay-jong-for-nintendo-switch","title":"Hot Gimmick Cosplay-jong for Nintendo Switch","compatibility":99,"releases":[{"id":"010025A00AACE000","region":null}]},{"id":"7faf0569-72f5-4909-b3d4-bd574060d1c8","directory":"ninja-buddy-epic-quest","title":"Ninja Buddy Epic Quest","compatibility":99,"releases":[{"id":"0100573013D46000","region":null}]},{"id":"7fc9e74f-94df-472a-a33d-52b368f24883","directory":"tales-of-the-tiny-planet","title":"Tales of the Tiny Planet","compatibility":1,"releases":[{"id":"0100408007078000","region":null}]},{"id":"7fcc120b-ef19-4ec0-96d1-0b5c5c60eee4","directory":"ghost-of-a-tale","title":"Ghost of a Tale","compatibility":3,"releases":[{"id":"0100D140112BC000","region":null}]},{"id":"7fd3d3e1-dfd2-4f0e-9cf0-c3424d681a2e","directory":"avenger-bird","title":"Avenger Bird","compatibility":99,"releases":[{"id":"010016300D172000","region":null}]},{"id":"7fdecffb-a163-4bd7-8026-62f854d707fc","directory":"geminose-animal-popstars","title":"Geminose Animal Popstars","compatibility":99,"releases":[{"id":"0100DBC013492000","region":null}]},{"id":"7fe6ef8f-4dcb-4021-8553-3a2775f3688d","directory":"warplanes-ww1-sky-aces","title":"Warplanes: WW1 Sky Aces","compatibility":99,"releases":[{"id":"01005E201301A000","region":null}]},{"id":"7ff4bfe4-94b8-4a0b-a811-545e11c6dd4f","directory":"earthworms-demo","title":"Earthworms Demo","compatibility":99,"releases":[{"id":"0100E3500BD84000","region":null}]},{"id":"8010d5cc-6505-4a47-9f59-6f4c2679c62c","directory":"milanoir","title":"Milanoir","compatibility":3,"releases":[{"id":"0100CFF0048D2000","region":null}]},{"id":"8019aa5b-b85a-43c5-9352-cbdddf281d2d","directory":"danger-scavenger","title":"Danger Scavenger","compatibility":99,"releases":[{"id":"0100EFA013E7C000","region":null}]},{"id":"801b6009-d079-41ed-9da8-d1029843484a","directory":"skyland-rush-air-raid-attack","title":"Skyland Rush - Air Raid Attack","compatibility":99,"releases":[{"id":"0100CAC011F46000","region":null}]},{"id":"801cd70a-f406-465c-b331-d5b616050dae","directory":"desktop-soccer-trial-edition","title":"Desktop Soccer Trial Edition","compatibility":99,"releases":[{"id":"010047300CB92000","region":null}]},{"id":"80393f41-219f-4ca5-8a29-39f551f71519","directory":"outlast-bundle-of-terror","title":"Outlast: Bundle of Terror","compatibility":1,"releases":[{"id":"01008D4007A1E000","region":null}]},{"id":"803cc555-aa83-4331-9121-54f1bbc2bbcf","directory":"super-wiloo-demake","title":"Super Wiloo Demake","compatibility":99,"releases":[{"id":"010076300EE80000","region":null}]},{"id":"803d72e1-c6e4-4dc7-ac68-b0182c48fe8f","directory":"johnny-turbos-arcade-two-crude-dudes","title":"Johnny Turbo's Arcade: Two Crude Dudes","compatibility":4,"releases":[{"id":"010080D002CC6000","region":null}]},{"id":"803e401e-2611-476e-a449-92190b107737","directory":"wild-horror-pinball","title":"Wild & Horror Pinball","compatibility":99,"releases":[{"id":"0100D0A0164C6000","region":null}]},{"id":"8041204d-4f52-4081-8571-fc644a701460","directory":"jigsaw-finale","title":"Jigsaw Finale","compatibility":99,"releases":[{"id":"01007B201621A000","region":null}]},{"id":"804481dd-6a32-4775-b80e-a3f8290cd245","directory":"silver-chains","title":"Silver Chains","compatibility":1,"releases":[{"id":"0100074010E74000","region":null}]},{"id":"806224c3-bed3-4084-8602-efeac41f493e","directory":"city-bus-driving-simulator","title":"City Bus Driving Simulator","compatibility":99,"releases":[{"id":"01005E501284E000","region":null}]},{"id":"806c712b-cf74-4185-80fa-65c56bd3f50d","directory":"one-last-memory","title":"One Last Memory","compatibility":99,"releases":[{"id":"0100C19015F0C000","region":null}]},{"id":"8079e5ad-1c6d-4c80-97e0-c5cc04074b1e","directory":"isolomus","title":"Isolomus","compatibility":99,"releases":[{"id":"010001F0145A8000","region":null}]},{"id":"807b7f06-ca22-4ba0-afdb-1bfc44ec9fd1","directory":"hexologic","title":"Hexologic","compatibility":99,"releases":[{"id":"010016300A95A000","region":null}]},{"id":"807c53b4-968a-4888-bffc-064be78aaa4b","directory":"boot-hill-bounties","title":"Boot Hill Bounties","compatibility":99,"releases":[{"id":"0100D5900B4CA000","region":null}]},{"id":"807fe4d3-e4e0-4f52-9008-2327b6ccb083","directory":"atelier-sophie-the-alchemist-of-the-mysterious-book-dx","title":"Atelier Sophie: The Alchemist of the Mysterious Book DX","compatibility":2,"releases":[{"id":"0100D8701421C000","region":null}]},{"id":"80808b12-ce36-46ff-a4d0-97191e820fcf","directory":"mutant-year-zero-road-to-eden-deluxe-edition","title":"Mutant Year Zero: Road to Eden - Deluxe Edition","compatibility":99,"releases":[{"id":"0100E6B00DEA4000","region":null}]},{"id":"80910432-d4da-4869-9a12-acc8c400e85e","directory":"my-universe-fashion-boutique","title":"My Universe - Fashion Boutique","compatibility":99,"releases":[{"id":"0100F71011A0A000","region":null}]},{"id":"80ab008f-3327-4bc0-a376-0fd30337ac4b","directory":"farmer-sim-2020","title":"Farmer Sim 2020","compatibility":3,"releases":[{"id":"01001BB00F20E000","region":null}]},{"id":"80bf96df-f2fc-471e-b487-c32999a8b8b2","directory":"i-am-dead","title":"I Am Dead","compatibility":99,"releases":[{"id":"0100E6501145E000","region":null}]},{"id":"80c61888-d1a4-4861-849b-9a4647af210e","directory":"pillar","title":"Pillar","compatibility":99,"releases":[{"id":"010098500D532000","region":null}]},{"id":"80d3b4f8-5a4f-49a6-8906-4863162fb2bb","directory":"find-10-differences","title":"Find 10 Differences","compatibility":99,"releases":[{"id":"010046801537E000","region":null}]},{"id":"80d5c6c6-5fbc-4041-8146-8b2d56036dcc","directory":"the-first-tree","title":"The First Tree","compatibility":0,"releases":[{"id":"010098800A1E4000","region":null}]},{"id":"80e307cc-0d46-413f-a331-2d726de900c4","directory":"30-in-1-game-collection","title":"30-in-1 Game Collection","compatibility":99,"releases":[{"id":"010056D00E234000","region":null}]},{"id":"80e9da6c-1ec9-4aae-8e07-0e02ac0505b8","directory":"wilmots-warehouse","title":"Wilmot's Warehouse","compatibility":99,"releases":[{"id":"010071F00D65A000","region":null}]},{"id":"80eea466-cfd5-445d-b9ee-dd2cc21a06c0","directory":"monster-truck-xt-airport-derby","title":"Monster Truck XT Airport Derby","compatibility":0,"releases":[{"id":"01000460144B4000","region":null}]},{"id":"80ff340b-7988-414f-9708-22d4ee5ab123","directory":"sushi-reversi","title":"SUSHI REVERSI","compatibility":99,"releases":[{"id":"01005AB01119C000","region":null}]},{"id":"810b8530-916d-4452-8623-9ebc5aa8d6d4","directory":"dininho-adventures","title":"Dininho Adventures","compatibility":2,"releases":[{"id":"01002E4011924000","region":null}]},{"id":"81277741-1405-49a3-a544-085948b1c868","directory":"townscaper","title":"Townscaper","compatibility":99,"releases":[{"id":"01001260143FC000","region":null}]},{"id":"812a7c12-9679-4651-8a14-8274f1efe8a3","directory":"ty-the-tasmanian-tiger-hd","title":"TY the Tasmanian Tiger HD","compatibility":3,"releases":[{"id":"010038400C2FE000","region":null}]},{"id":"8136c93a-e17b-4899-9e39-2ad2aa9e4c66","directory":"romeow-in-the-cracked-world","title":"Romeow: in the cracked world","compatibility":99,"releases":[{"id":"0100DE9016798000","region":null}]},{"id":"8137e65f-985d-4e57-addf-f4a6978361bb","directory":"hunters-legacy-purrfect-edition","title":"Hunter's Legacy: Purrfect Edition","compatibility":99,"releases":[{"id":"010068000CAC0000","region":null}]},{"id":"81435995-203f-4231-bb46-383fce97590f","directory":"aca-neogeo-galaxy-fight-universal-warriors","title":"ACA NEOGEO GALAXY FIGHT: UNIVERSAL WARRIORS","compatibility":2,"releases":[{"id":"01002580038DE000","region":null}]},{"id":"8146d74d-300b-4beb-a4c5-9b3bf322efd5","directory":"cinderella-an-interactive-fairytale","title":"Cinderella - An Interactive Fairytale","compatibility":99,"releases":[{"id":"010002200CECA000","region":null}]},{"id":"814aa3ea-620f-4d98-8ed0-356af6774973","directory":"the-adventures-of-elena-temple","title":"The Adventures of Elena Temple","compatibility":99,"releases":[{"id":"010035C00A4BC000","region":null}]},{"id":"814d5be5-d1f2-4a61-9909-7077e00a1a7f","directory":"car-trader-simulator","title":"Car Trader Simulator","compatibility":99,"releases":[{"id":"0100E5E010EA6000","region":null}]},{"id":"8151b3d7-d332-4774-b4ee-51aa65133488","directory":"skelattack","title":"Skelattack","compatibility":1,"releases":[{"id":"01001A900F862000","region":null}]},{"id":"815204ec-8395-4ca0-b8e0-0277b47818d1","directory":"professional-construction-the-simulation","title":"Professional Construction – The Simulation","compatibility":99,"releases":[{"id":"0100A9800A1B6000","region":null}]},{"id":"8154c209-7fc3-49e0-97c8-f5bdb42142be","directory":"tales-of-djungarian-hamster","title":"Tales of Djungarian Hamster","compatibility":99,"releases":[{"id":"0100D6F012AE6000","region":null}]},{"id":"81554e8d-e085-46b1-b4d3-f44a6a7754ed","directory":"shining-resonance-refrain-demo","title":"Shining Resonance Refrain Demo","compatibility":99,"releases":[{"id":"01006EE00AE38000","region":null}]},{"id":"815857a9-41db-4d5e-86a6-1b7a10580e70","directory":"arcade-archives-space-cruiser","title":"Arcade Archives SPACE CRUISER","compatibility":99,"releases":[{"id":"0100B43015796000","region":null}]},{"id":"8160310e-562f-4f46-a000-dc7d273f221a","directory":"vectronom","title":"Vectronom","compatibility":99,"releases":[{"id":"010084000DAF6000","region":null}]},{"id":"8168aece-e52b-4370-90cd-c364af53269b","directory":"lost-lands-dark-overlord-free-to-play","title":"Lost Lands: Dark Overlord (free to play)","compatibility":99,"releases":[{"id":"0100A3B0107AE000","region":null}]},{"id":"8183851a-7add-4b2d-912f-ff9e6c4434ad","directory":"splashy-cube","title":"Splashy Cube","compatibility":99,"releases":[{"id":"01000650134FE000","region":null}]},{"id":"818a8d2f-c6fc-44ad-b80f-2f6ee789f32e","directory":"immortal-realms-vampire-wars","title":"Immortal Realms: Vampire Wars","compatibility":99,"releases":[{"id":"010079501025C000","region":null}]},{"id":"81a456d3-355f-4997-8c53-832037d5bf24","directory":"ghostbusters-the-video-game-remastered","title":"Ghostbusters: The Video Game Remastered","compatibility":3,"releases":[{"id":"0100EAE00D9EC000","region":null}]},{"id":"81b44865-a038-4205-afb7-27e18390a549","directory":"zombie-hill-race","title":"Zombie Hill Race","compatibility":0,"releases":[{"id":"01001010134EA000","region":null}]},{"id":"81b8a386-9ab2-4781-a56c-8739a6a70805","directory":"impossible-mission","title":"Impossible Mission","compatibility":5,"releases":[{"id":"0100345009240000","region":null}]},{"id":"81c2b67a-df44-48c4-9fe2-dceca7999493","directory":"myastere-ruins-of-deazniff","title":"Myastere -Ruins of Deazniff-","compatibility":5,"releases":[{"id":"01003E3013BE4000","region":null}]},{"id":"81cd6357-aff5-4f69-a78b-6e703fef41a3","directory":"the-last-dead-end","title":"The Last Dead End","compatibility":99,"releases":[{"id":"0100AAD011592000","region":null}]},{"id":"81e356a5-aa8b-4cfc-93d5-73ad902285b8","directory":"aaa-clock","title":"AAA Clock","compatibility":99,"releases":[{"id":"0100179015DE0000","region":null}]},{"id":"81e5c9e9-856a-4133-a930-9fa8cc29018a","directory":"ramageddon","title":"Ramageddon","compatibility":99,"releases":[{"id":"0100D7801281A000","region":null}]},{"id":"81f85c11-b7b5-4a53-9172-82fd2d868c33","directory":"flying-girl-striker","title":"FLYING GIRL STRIKER","compatibility":99,"releases":[{"id":"0100CCA00EDCE000","region":null}]},{"id":"81fb495f-e8cb-4b7f-abba-71f0df61f3a0","directory":"jewel-fever-2","title":"Jewel Fever 2","compatibility":99,"releases":[{"id":"0100A4900B2DE000","region":null}]},{"id":"8209e9a5-8b7a-476c-abf2-2ed8a2c6c639","directory":"fighting-fantasy-legends","title":"Fighting Fantasy Legends","compatibility":99,"releases":[{"id":"01003C5015608000","region":null}]},{"id":"8210137f-7f9d-4894-a663-faf08973f201","directory":"pineview-drive","title":"Pineview Drive","compatibility":99,"releases":[{"id":"010000F013E10000","region":null}]},{"id":"82125e34-ebd4-4853-8d27-b49bf8b60298","directory":"staxel","title":"Staxel","compatibility":99,"releases":[{"id":"0100FEF00BE9C000","region":null}]},{"id":"82225d5a-5112-44a2-ad30-7e5321a46758","directory":"country-tales","title":"Country Tales","compatibility":99,"releases":[{"id":"0100C1E012A42000","region":null}]},{"id":"82349dec-4045-483f-9d9d-0e0eea9d8acf","directory":"aca-neogeo-power-spikes-ii","title":"ACA NEOGEO POWER SPIKES II","compatibility":3,"releases":[{"id":"01000F3008718000","region":null}]},{"id":"824e13bb-831a-4c80-95d6-390b1e1cc5e4","directory":"voez","title":"VOEZ","compatibility":0,"releases":[{"id":"0100A7F002830000","region":null}]},{"id":"824f3a32-cb40-4da9-9620-98827bd08bd1","directory":"raiden-v-directors-cut","title":"Raiden V: Director's Cut","compatibility":4,"releases":[{"id":"01002B000D97E000","region":null}]},{"id":"82608e63-69a5-4e43-a9cf-c000f8a0125b","directory":"the-journey-down-chapter-three","title":"The Journey Down: Chapter Three","compatibility":99,"releases":[{"id":"01006BC00B188000","region":null}]},{"id":"82618761-07d9-4f84-84e5-5a27e3ccb1c3","directory":"mainframe-defenders","title":"Mainframe Defenders","compatibility":99,"releases":[{"id":"0100B2801518E000","region":null}]},{"id":"82619092-90b9-481d-a247-d54eb0f95a67","directory":"void","title":"V.O.I.D.","compatibility":99,"releases":[{"id":"010040000D08E000","region":null}]},{"id":"8267c6d7-ff9d-4846-b3a6-c9b8cf5bfeed","directory":"old-school-rpg-bundle","title":"Old School RPG Bundle","compatibility":99,"releases":[{"id":"010053200F49E000","region":null}]},{"id":"82687868-0a4a-4ae2-93c2-03479664a200","directory":"airfield-mania","title":"Airfield Mania","compatibility":99,"releases":[{"id":"01009DF00DB42000","region":null}]},{"id":"8268fe5f-1551-474e-a2d7-f0a38808fe9b","directory":"mighty-gunvolt-burst-demo","title":"MIGHTY GUNVOLT BURST Demo","compatibility":4,"releases":[{"id":"010045B00849C000","region":null}]},{"id":"826d9568-2837-4e67-8419-7962dda73552","directory":"the-adventures-of-elena-temple-definitive-edition","title":"The Adventures of Elena Temple: Definitive Edition","compatibility":99,"releases":[{"id":"0100F5D01034E000","region":null}]},{"id":"82703798-50b2-4b0f-9cc4-abdd2b2fae0d","directory":"bayala-the-game","title":"bayala - the game","compatibility":99,"releases":[{"id":"0100194010422000","region":null}]},{"id":"827b3b8d-42f1-4a4c-b74e-363b98ff1167","directory":"ultimate-racing-2d","title":"Ultimate Racing 2D","compatibility":0,"releases":[{"id":"01009D000FAE0000","region":null}]},{"id":"8280218e-668c-456c-80b7-526d74f52410","directory":"wheel-of-fortune","title":"Wheel of Fortune","compatibility":2,"releases":[{"id":"010033600ADE6000","region":null}]},{"id":"8283c607-9b19-42ff-aecf-713d2ec9dc33","directory":"observer","title":"Observer","compatibility":1,"releases":[{"id":"01002A000C478000","region":null}]},{"id":"8298ab2f-ebfb-4422-9701-3e1d8e00da6c","directory":"winkings","title":"WinKings","compatibility":99,"releases":[{"id":"010046F00F5E4000","region":null}]},{"id":"829d239a-abbd-44d7-8d44-311e6a567415","directory":"steinsgate-my-darlings-embrace","title":"STEINS;GATE: My Darling's Embrace","compatibility":99,"releases":[{"id":"0100CB400E9BC000","region":null}]},{"id":"82aaed85-a436-4fac-9eb9-3deccf0d8d5b","directory":"enigmatis-2-the-mists-of-ravenwood","title":"Enigmatis 2: The Mists of Ravenwood","compatibility":5,"releases":[{"id":"0100C6200A0AA000","region":null}]},{"id":"82b09097-8cd2-44b3-95b2-6c7ca9877fee","directory":"arcade-archives-pirate-pete","title":"Arcade Archives PIRATE PETE","compatibility":99,"releases":[{"id":"0100FAC011CEE000","region":null}]},{"id":"82b17c91-63cf-4724-8c54-49170e033579","directory":"monument","title":"Monument","compatibility":99,"releases":[{"id":"010091C013F6E000","region":null}]},{"id":"82c37a13-f76b-48a5-85ca-0a1980cc79c9","directory":"keep-talking-and-nobody-explodes","title":"Keep Talking and Nobody Explodes","compatibility":99,"releases":[{"id":"01008D400A584000","region":null}]},{"id":"82d1cf54-8b47-47f5-984c-770b313c4872","directory":"the-addams-family-mansion-mayhem","title":"The Addams Family: Mansion Mayhem","compatibility":1,"releases":[{"id":"01007B701315E000","region":null}]},{"id":"82d27cca-cb2e-44c9-b7c3-f4d89681b61b","directory":"ministry-of-broadcast","title":"Ministry of Broadcast","compatibility":99,"releases":[{"id":"010069200EB80000","region":null}]},{"id":"82db4e64-5c02-441d-9a2d-671ba7ba73be","directory":"rise-of-the-slime","title":"Rise of the Slime","compatibility":99,"releases":[{"id":"01000CA013AF2000","region":null}]},{"id":"82dfc0a0-8226-4c59-9b7e-9d555e0873bb","directory":"volta-x","title":"Volta-X","compatibility":99,"releases":[{"id":"0100A7900E79C000","region":null}]},{"id":"82e8408a-8cd0-46ea-bf02-8009dd9bb103","directory":"stikbold-a-dodgeball-adventure-deluxe","title":"Stikbold! A Dodgeball Adventure DELUXE","compatibility":99,"releases":[{"id":"0100E24006FA8000","region":null}]},{"id":"82ea772c-67d8-4080-acae-57b2ec919316","directory":"slabwell-the-quest-for-kaktuns-alpaca","title":"SlabWell: The Quest For Kaktun's Alpaca","compatibility":99,"releases":[{"id":"01003AD00DEAE000","region":null}]},{"id":"82f14198-45ea-4d4d-a6d0-aee5df38faef","directory":"nullum","title":"Nullum","compatibility":99,"releases":[{"id":"0100EE5013198000","region":null}]},{"id":"82f98319-586e-43d3-a4e5-ef87e2e03382","directory":"downwell","title":"Downwell","compatibility":5,"releases":[{"id":"010093D00C726000","region":null}]},{"id":"82f99bfb-462d-43b7-b36a-fd12c5cf93a8","directory":"batbarian-testament-of-the-primordials","title":"Batbarian: Testament of the Primordials","compatibility":1,"releases":[{"id":"01005F3012748000","region":null}]},{"id":"830a7778-4bd8-41c5-b7c3-d98f6625cd18","directory":"scarlett-mysteries-cursed-child","title":"Scarlett Mysteries: Cursed Child","compatibility":99,"releases":[{"id":"01006A800FD60000","region":null}]},{"id":"831a58ce-10b0-4391-a1b7-e8f73e87f155","directory":"crayola-scoot","title":"Crayola Scoot","compatibility":2,"releases":[{"id":"0100C66007E96000","region":null}]},{"id":"831af724-fc38-4afd-a23c-ed56f55cbdf9","directory":"arcade-archives-legend-of-makai","title":"Arcade Archives LEGEND OF MAKAI","compatibility":99,"releases":[{"id":"01007DB013B06000","region":null}]},{"id":"8321e063-2ca6-44b7-a6e1-ab5db7f4613f","directory":"sparkle-2-evo","title":"Sparkle 2 EVO","compatibility":99,"releases":[{"id":"010079F00671C000","region":null}]},{"id":"832a5531-43af-4714-be47-e192855f8fb8","directory":"arcade-space-shooter-2-in-1","title":"Arcade Space Shooter 2 in 1","compatibility":99,"releases":[{"id":"0100717014938000","region":null}]},{"id":"832be336-92ba-46a2-80ac-0f56f516903b","directory":"9-ball-pocket","title":"9-Ball Pocket","compatibility":99,"releases":[{"id":"0100D63016060000","region":null}]},{"id":"832d2fcb-f62e-4236-8a19-d45ae9d9773a","directory":"lawnmower-game-racing","title":"Lawnmower Game: Racing","compatibility":99,"releases":[{"id":"0100065013F20000","region":null}]},{"id":"83380732-03b1-4f67-9946-c145c1842348","directory":"ethan-meteor-hunter","title":"Ethan: Meteor Hunter","compatibility":99,"releases":[{"id":"0100CDE00C87C000","region":null}]},{"id":"8344e3ae-8cdd-48ae-8e08-75b9ae7e7aef","directory":"neon-hell","title":"Neon Hell","compatibility":99,"releases":[{"id":"01009B90169D8000","region":null}]},{"id":"83588d34-ac66-4675-8018-502315a3a00c","directory":"spider-solitaire","title":"Spider Solitaire","compatibility":99,"releases":[{"id":"010092A0102AE000","region":null}]},{"id":"837564bc-3246-41a2-908d-5e8952a61e00","directory":"secret-files-2-puritas-cordis","title":"Secret Files 2: Puritas Cordis","compatibility":99,"releases":[{"id":"010079100D950000","region":null}]},{"id":"83766ac8-8652-4c6f-8769-412aea2027c9","directory":"summer-sports-games","title":"Summer Sports Games","compatibility":0,"releases":[{"id":"010083600D930000","region":null}]},{"id":"83818685-e693-4f8b-914a-061fc7a44c16","directory":"crysis-remastered","title":"Crysis Remastered","compatibility":2,"releases":[{"id":"0100E66010ADE000","region":null}]},{"id":"83884900-4a12-4bd1-9155-9624b0f91c7f","directory":"worbital","title":"Worbital","compatibility":99,"releases":[{"id":"010097A0071A8000","region":null}]},{"id":"838c1d06-4b10-4428-af60-e9bef4b21302","directory":"just-shapes-and-beats","title":"Just Shapes & Beats","compatibility":3,"releases":[{"id":"0100830008426000","region":null}]},{"id":"83914aa8-113d-4178-b4cc-636be0c7e9de","directory":"10-second-run-returns-demo","title":"10 Second Run RETURNS Demo","compatibility":3,"releases":[{"id":"0100DC000A472000","region":null}]},{"id":"83977584-09a5-4730-8ff5-b7b20ab78f01","directory":"silver-falls-episode-prelude","title":"Silver Falls Episode Prelude","compatibility":99,"releases":[{"id":"010038B0147E2000","region":null}]},{"id":"8398cd6c-ab74-40d2-9b37-fe4e62031e0e","directory":"spice-and-wolf-vr","title":"Spice and Wolf VR","compatibility":0,"releases":[{"id":"0100C9B00EAEE000","region":null}]},{"id":"83ab0d35-bea9-4364-9a70-c3bc91acbe03","directory":"nerved","title":"Nerved","compatibility":99,"releases":[{"id":"01008B0010160000","region":null}]},{"id":"83b607a7-6db9-4ffc-921e-b6075612109c","directory":"sweet-bakery-tycoon","title":"Sweet Bakery Tycoon","compatibility":99,"releases":[{"id":"010072401447A000","region":null}]},{"id":"83ba7be9-2f2c-42e3-ba56-f1ff6a0e0943","directory":"aca-neogeo-zed-blade","title":"ACA NEOGEO ZED BLADE","compatibility":4,"releases":[{"id":"01005AF004DBC000","region":null}]},{"id":"83c3dd31-1a8a-4469-873d-e6f1c7e93b7b","directory":"postal-redux","title":"Postal REDUX","compatibility":99,"releases":[{"id":"0100C31011C24000","region":null}]},{"id":"83c4cfe4-4793-4049-8860-e97edd2c715e","directory":"the-bridge-demo","title":"The Bridge Demo","compatibility":99,"releases":[{"id":"0100E3500B00E000","region":null}]},{"id":"83cee6f0-c2e7-4680-a620-26a3fd8b2826","directory":"mystic-fate","title":"Mystic Fate","compatibility":99,"releases":[{"id":"010059701386C000","region":null}]},{"id":"83df5578-cd06-4ecb-b6b7-7d9aadc06204","directory":"awesome-pea-demo","title":"Awesome Pea (Demo)","compatibility":99,"releases":[{"id":"010023800D3F2000","region":null}]},{"id":"83e0433d-833d-4680-a4e7-dfe81ce479f3","directory":"aca-neogeo-blues-journey","title":"ACA NEOGEO BLUE'S JOURNEY","compatibility":1,"releases":[{"id":"0100379003900000","region":null}]},{"id":"83e9f8d8-9a25-4591-b1f9-77b1732ee53d","directory":"roundguard","title":"Roundguard","compatibility":99,"releases":[{"id":"010074300F7F6000","region":null}]},{"id":"83eec6a0-73b0-4ef9-945e-01f35d067db5","directory":"escape-game-aloha","title":"Escape Game : Aloha","compatibility":99,"releases":[{"id":"010079100A2F4000","region":null}]},{"id":"83f3403f-f4e3-4bce-9db3-c06472800543","directory":"dead-end-job","title":"Dead End Job","compatibility":99,"releases":[{"id":"01004C500BD40000","region":null}]},{"id":"84104c4b-a53e-4bce-8671-022ea96b6e10","directory":"assault-on-metaltron","title":"Assault On Metaltron","compatibility":99,"releases":[{"id":"0100F0A00C2F2000","region":null}]},{"id":"843225fb-96e4-471a-9cc4-b88c93f30833","directory":"ninjala","title":"Ninjala","compatibility":4,"releases":[{"id":"0100CCD0073EA000","region":null}]},{"id":"843d7b9d-ca76-490d-ad51-89cfc210b4c9","directory":"poison-control","title":"Poison Control","compatibility":1,"releases":[{"id":"0100EB6012FD2000","region":null}]},{"id":"844616dd-1c04-48bf-a472-d45faf2a6dda","directory":"hero-u-rogue-to-redemption","title":"Hero-U: Rogue to Redemption","compatibility":99,"releases":[{"id":"010077D01094C000","region":null}]},{"id":"8449f377-5d3c-41ad-9e01-f0623468fc64","directory":"root-letter-last-answer","title":"Root Letter: Last Answer","compatibility":3,"releases":[{"id":"010030A00DA3A000","region":null}]},{"id":"844a109e-c8ba-4ef0-81e8-d258b1b21ba5","directory":"hello-kitty-kruisers-with-sanrio-friends","title":"Hello Kitty Kruisers With Sanrio Friends","compatibility":1,"releases":[{"id":"010087D0084A8000","region":null}]},{"id":"844af9c6-a1d2-4d37-badc-6ca352273ef0","directory":"arcade-archives-donkey-kong","title":"Arcade Archives DONKEY KONG","compatibility":1,"releases":[{"id":"0100E9E00B052000","region":null}]},{"id":"8450ab3b-34e8-40ac-81ea-50e90771cb49","directory":"rxn-raijin-","title":"RXN -Raijin-","compatibility":1,"releases":[{"id":"010012C0060F0000","region":null}]},{"id":"8458a748-9bf0-4ba5-85f9-7b089bea3b2e","directory":"captain-sabertooth-and-the-magic-diamond","title":"Captain Sabertooth and the Magic Diamond","compatibility":3,"releases":[{"id":"0100F0C011A0C000","region":null}]},{"id":"8461201b-48a5-4d1b-9058-d91572acbca3","directory":"headliner-novinews","title":"Headliner: NoviNews","compatibility":99,"releases":[{"id":"0100EFE00E1DC000","region":null}]},{"id":"8462dbcf-117b-4531-a628-f195a8e5d7a7","directory":"monster-prom-xxl","title":"Monster Prom: XXL","compatibility":99,"releases":[{"id":"0100C9600D028000","region":null}]},{"id":"84695a43-aaa0-4769-a7d6-4fbb6a98846e","directory":"goonya-fighter","title":"Goonya Fighter","compatibility":99,"releases":[{"id":"010098000D646000","region":null}]},{"id":"846a4ba3-4b32-42f5-b933-a3b97c2e1832","directory":"arcade-archives-urban-champion","title":"Arcade Archives URBAN CHAMPION","compatibility":4,"releases":[{"id":"010042200BE0C000","region":null}]},{"id":"8478e318-7d20-4edd-9ecc-f791906c80c8","directory":"timingooo","title":"TIMINGooo!","compatibility":99,"releases":[{"id":"010074B0168F2000","region":null}]},{"id":"848b241a-0356-4f39-9036-4187ef94e78d","directory":"full-metal-furies","title":"Full Metal Furies","compatibility":4,"releases":[{"id":"010079300AD54000","region":null}]},{"id":"848ce2b3-702f-496a-ba38-87031581934b","directory":"self","title":"SELF","compatibility":99,"releases":[{"id":"0100D7300E966000","region":null}]},{"id":"84a8b645-f11f-4972-b675-efdda0a3851b","directory":"umihara-kawase-bazooka","title":"Umihara Kawase BaZooKa!","compatibility":99,"releases":[{"id":"0100842011BD6000","region":null}]},{"id":"84ab7630-1507-4322-b369-cdd53b40cbbe","directory":"super-dungeon-tactics","title":"Super Dungeon Tactics","compatibility":99,"releases":[{"id":"010023100B19A000","region":null}]},{"id":"84aca464-bb94-436c-89d7-845747b355e6","directory":"mind-scanners","title":"Mind Scanners","compatibility":99,"releases":[{"id":"0100D8C01535C000","region":null}]},{"id":"84b10de3-73f7-4df5-bbb5-36af63ff8424","directory":"pixel-game-maker-series-isekai-quartet-adventure-action-game","title":"Pixel Game Maker Series ISEKAI QUARTET Adventure:Action Game","compatibility":99,"releases":[{"id":"0100F71014BFE000","region":null}]},{"id":"84b2140b-14fe-46e2-b063-c49b36f3963b","directory":"grand-brix-shooter","title":"Grand Brix Shooter","compatibility":3,"releases":[{"id":"010038D00EC88000","region":null}]},{"id":"84bb1cb0-2bc3-4ccc-b5d2-8890021620a2","directory":"diamond-girl-an-earnest-education-in-love","title":"Diamond Girl ★An Earnest Education in Love★","compatibility":2,"releases":[{"id":"0100B9B011DA4000","region":null}]},{"id":"84c4503c-88dd-45ca-abba-8c36c2518e29","directory":"la-mulana-2","title":"LA-MULANA 2","compatibility":2,"releases":[{"id":"010038000F644000","region":null}]},{"id":"84cbd2a9-9f8f-4336-80f9-c8ad1ffb4828","directory":"aca-neogeo-world-heroes-perfect","title":"ACA NEOGEO WORLD HEROES PERFECT","compatibility":4,"releases":[{"id":"01009D4001DC4000","region":null}]},{"id":"84cbf8de-9d1c-48ac-a479-12a2c9d8108f","directory":"disney-classic-games-aladdin-and-the-lion-king","title":"Disney Classic Games: Aladdin and The Lion King","compatibility":2,"releases":[{"id":"0100A2F00EEFC000","region":null}]},{"id":"84cda573-fc55-43a2-8778-bcd20709eaf3","directory":"spellbreak","title":"Spellbreak","compatibility":99,"releases":[{"id":"010076C01015C000","region":null}]},{"id":"84d1b8d4-8bfc-4336-9667-a14a9d5a185a","directory":"droneridge","title":"DroneRidge","compatibility":99,"releases":[{"id":"010009201121C000","region":null}]},{"id":"84d5c2d0-4a4c-4eb7-84b5-4ce6c0cecf32","directory":"oniken-unstoppable-edition-and-odallus-the-dark-call-bundle","title":"Oniken: Unstoppable Edition & Odallus: The Dark Call Bundle","compatibility":3,"releases":[{"id":"0100E1800E202000","region":null}]},{"id":"84dc076c-05ab-4e75-a4cf-d6b6a944a85c","directory":"monster-viator","title":"Monster Viator","compatibility":99,"releases":[{"id":"01001620105FE000","region":null}]},{"id":"84de46de-53ff-4316-8b32-987aba820681","directory":"blow-up-monsters","title":"Blow Up Monsters","compatibility":99,"releases":[{"id":"01005840143D2000","region":null}]},{"id":"84e85787-a7b6-42f3-be90-2ac721149d68","directory":"the-wonderful-101-remastered","title":"The Wonderful 101: Remastered","compatibility":0,"releases":[{"id":"0100B1300FF08000","region":null}]},{"id":"84f5420c-6cba-4717-91a9-14c04e8a9af6","directory":"everything","title":"Everything","compatibility":99,"releases":[{"id":"010031F00B246000","region":null}]},{"id":"8501bb39-59ff-4d1a-bdc0-6f0a7f1f231b","directory":"sega-ages-columns-ii-a-voyage-through-time","title":"SEGA AGES Columns II: A Voyage Through Time","compatibility":1,"releases":[{"id":"0100A0600C610000","region":null}]},{"id":"850d6e1e-b91b-46ab-918e-75ed12b6391b","directory":"the-golf","title":"The Golf","compatibility":0,"releases":[{"id":"010014A00AC5A000","region":null}]},{"id":"851e4bbf-d0d0-4a0a-8f4e-8c2b87158817","directory":"connect-color-dots-fun-water-flow-pipe-line-art-puzzle-game","title":"Connect Color Dots: Fun Water Flow Pipe Line Art Puzzle Game","compatibility":99,"releases":[{"id":"0100410014916000","region":null}]},{"id":"852708e7-a139-4b01-8363-ef9b565600db","directory":"galactic-defence-squadron","title":"Galactic Defence Squadron","compatibility":99,"releases":[{"id":"0100E2800BBC2000","region":null}]},{"id":"8535df2f-9001-4e59-851c-8f6d658637fb","directory":"black-legend","title":"Black Legend","compatibility":99,"releases":[{"id":"0100C3200E7E6000","region":null}]},{"id":"853a6fff-8a6c-4e2d-b2ab-d5f7859d3ce9","directory":"breakfast-bar-tycoon","title":"Breakfast Bar Tycoon","compatibility":99,"releases":[{"id":"01003320103F0000","region":null}]},{"id":"8545e39e-515f-4b66-ba9f-7f1cc53d5ef0","directory":"between-time-escape-room","title":"Between Time: Escape Room","compatibility":99,"releases":[{"id":"010048B016406000","region":null}]},{"id":"855cdc43-568a-4699-b52f-7a4f8d104dfe","directory":"aground","title":"Aground","compatibility":99,"releases":[{"id":"01007C300E74C000","region":null}]},{"id":"856fe114-8787-4283-944c-1926a91aed47","directory":"cricktogame-nintendo-switch-edition","title":"CricktoGame: Nintendo Switch Edition","compatibility":99,"releases":[{"id":"0100320009D06000","region":null}]},{"id":"85868732-d3ac-412c-bd81-6194929c9142","directory":"bocce","title":"Bocce","compatibility":99,"releases":[{"id":"01008B001551E000","region":null}]},{"id":"8587dadd-bb74-4433-acf3-b12221100ef3","directory":"time-tenshi","title":"Time Tenshi","compatibility":1,"releases":[{"id":"0100D24012A04000","region":null}]},{"id":"85918a5f-1bb7-4aea-814d-707ef289b01b","directory":"tropico-6-nintendo-switch-edition","title":"Tropico 6 - Nintendo Switch™ Edition","compatibility":2,"releases":[{"id":"0100FBE0113CC000","region":null}]},{"id":"85a8d7a1-0a6e-474d-a27b-adf6c0a8a8fe","directory":"red-ball-escape","title":"Red Ball Escape","compatibility":99,"releases":[{"id":"0100B44015420000","region":null}]},{"id":"85a9febe-880b-410a-ab76-5684c6f757ab","directory":"maneater","title":"Maneater","compatibility":3,"releases":[{"id":"010093D00CB22000","region":null}]},{"id":"85b4d2da-52a8-4032-80fe-76ebbd09ebc8","directory":"newt-one","title":"Newt One","compatibility":99,"releases":[{"id":"0100B9500E886000","region":null}]},{"id":"85d20f35-45d1-4eff-98b1-bdcf50e33053","directory":"arcade-archives-road-fighter","title":"Arcade Archives ROAD FIGHTER","compatibility":4,"releases":[{"id":"0100FBA00E35C000","region":null}]},{"id":"85d8c403-79fb-41c9-8c7a-b53c26f37119","directory":"dustoff-z","title":"Dustoff Z","compatibility":99,"releases":[{"id":"0100D7E012F2E000","region":null}]},{"id":"85d8e543-9562-4444-b9a5-cecac897ef6e","directory":"jeopardy","title":"Jeopardy!","compatibility":0,"releases":[{"id":"01006E400AE2A000","region":null}]},{"id":"85e49b3c-5906-42d7-9bc1-b2a4dea78a9f","directory":"circuits","title":"Circuits","compatibility":99,"releases":[{"id":"01008FA00D686000","region":null}]},{"id":"85ee74a1-162d-4e0b-815a-22d1b98d674d","directory":"codebreaker-puzzle-1000-eng-jan","title":"Codebreaker Puzzle 1000! ENG & JAN","compatibility":99,"releases":[{"id":"010011D0142B0000","region":null}]},{"id":"85fc54e0-da31-425d-a632-0ba08b7c9c5e","directory":"aria-chronicle","title":"ARIA CHRONICLE","compatibility":99,"releases":[{"id":"0100691013C46000","region":null}]},{"id":"8600083c-6796-4e15-b004-7c50a2e11590","directory":"no-more-heroes-2-desperate-struggle","title":"No More Heroes 2: Desperate Struggle","compatibility":1,"releases":[{"id":"010071400F204000","region":null}]},{"id":"8600b75e-9307-4c5e-bc0a-2956a73b9dab","directory":"blacksmith-of-the-sand-kingdom","title":"Blacksmith of the Sand Kingdom","compatibility":99,"releases":[{"id":"010068E013450000","region":null}]},{"id":"860decff-d589-4f67-a2d5-a8e006d19b15","directory":"lovers-in-a-dangerous-spacetime","title":"Lovers in a Dangerous Spacetime","compatibility":1,"releases":[{"id":"0100230005A52000","region":null}]},{"id":"864e2fda-afda-418b-8a28-8758b4c735a3","directory":"bow-to-blood-last-captain-standing","title":"Bow to Blood: Last Captain Standing","compatibility":99,"releases":[{"id":"0100B4700C57E000","region":null}]},{"id":"8650a463-d0a7-4998-bfb0-a0620b02285e","directory":"super-sportmatchen","title":"Super Sportmatchen","compatibility":3,"releases":[{"id":"0100A9300A4AE000","region":null}]},{"id":"8669aef8-ad34-4000-bebe-a2f52f55b508","directory":"bravematch","title":"BraveMatch","compatibility":99,"releases":[{"id":"010081501371E000","region":null}]},{"id":"866ee195-3a0f-4b07-92e8-906a801a9dab","directory":"jack-axe","title":"Jack Axe","compatibility":99,"releases":[{"id":"0100EF500EF42000","region":null}]},{"id":"8672c60e-eac6-49c3-b857-a6a40b377d37","directory":"gems-of-magic-fathers-day","title":"Gems of Magic: Father's Day","compatibility":1,"releases":[{"id":"01009AA014EE4000","region":null}]},{"id":"867e7d19-47f2-42b9-aab4-04f2767ad33e","directory":"arcade-archives-terra-force","title":"Arcade Archives TERRA FORCE","compatibility":99,"releases":[{"id":"0100348001DE6000","region":null}]},{"id":"86846760-30bb-48fd-bf6d-624c600c20d8","directory":"arcade-archives-cosmo-police-galivan","title":"Arcade Archives Cosmo Police Galivan","compatibility":99,"releases":[{"id":"010071C00982C000","region":null}]},{"id":"86862d25-3081-4938-983f-34f0fa7c798f","directory":"sega-ages-fantasy-zone","title":"SEGA AGES Fantasy Zone","compatibility":1,"releases":[{"id":"010072100E312000","region":null}]},{"id":"8693e688-150c-495a-8d40-f57571034d89","directory":"killer-queen-black","title":"Killer Queen Black","compatibility":5,"releases":[{"id":"0100F2900B3E2000","region":null}]},{"id":"86b301f5-5a40-436a-bd2e-0a86aff65f5a","directory":"bioshock-infinite-the-complete-edition","title":"BioShock Infinite: The Complete Edition","compatibility":3,"releases":[{"id":"0100D560102C8000","region":null}]},{"id":"86b77f0e-73f3-44bd-aef3-7ddf864a66bf","directory":"monster-puzzle","title":"Monster Puzzle","compatibility":99,"releases":[{"id":"01004DE00DD44000","region":null}]},{"id":"86c8eb74-af74-4c9b-9ddc-da518cd4789f","directory":"retro-city-rampage-dx","title":"Retro City Rampage DX","compatibility":0,"releases":[{"id":"0100F17004156000","region":null}]},{"id":"86cbea62-80e3-4f7b-8d7e-95ac1c29620a","directory":"arcade-classics-anniversary-collection","title":"Arcade Classics Anniversary Collection","compatibility":0,"releases":[{"id":"010050000D6C4000","region":null}]},{"id":"86d32307-2a0f-48c1-8e8f-faee9db7eb47","directory":"deathtrap-dungeon-trilogy","title":"Deathtrap Dungeon Trilogy","compatibility":5,"releases":[{"id":"010061500F462000","region":null}]},{"id":"86dd9157-9b6d-4497-8175-d66888953c09","directory":"date-night-bowling","title":"Date Night Bowling","compatibility":0,"releases":[{"id":"0100713011E92000","region":null}]},{"id":"86e8a82e-1897-4206-9e01-7032ef9fc939","directory":"arcade-spirits","title":"Arcade Spirits","compatibility":99,"releases":[{"id":"010077000F620000","region":null}]},{"id":"86ed348e-99ba-426e-a560-70ed6f27c583","directory":"robozarro","title":"Robozarro","compatibility":99,"releases":[{"id":"010044A010BB8000","region":null}]},{"id":"86ef0b82-1ddd-495f-b375-99796a324cc1","directory":"arcade-archives-double-dragon-ii-the-revenge","title":"Arcade Archives DOUBLE DRAGON II The Revenge","compatibility":5,"releases":[{"id":"01009E3001DDE000","region":null}]},{"id":"86f25dac-5b2a-422b-97a8-5e6b520e2e21","directory":"gal-metal","title":"Gal Metal","compatibility":4,"releases":[{"id":"010048600B14E000","region":null}]},{"id":"86f36f06-9497-415e-8af7-57de36b506db","directory":"gleylancer","title":"Gleylancer","compatibility":1,"releases":[{"id":"010027C016254000","region":null}]},{"id":"86f3afc2-19c0-48d7-9477-8a5d3aecc7cd","directory":"wanderjahr-tryagainorwalkaway-demo","title":"Wanderjahr TryAgainOrWalkAway Demo","compatibility":99,"releases":[{"id":"01004E300899E000","region":null}]},{"id":"87002986-bebd-4860-98f3-e4ee985d9503","directory":"drone-fight","title":"Drone Fight","compatibility":5,"releases":[{"id":"010058C00A916000","region":null}]},{"id":"87056452-4787-4102-9af5-e04e678fed5f","directory":"stories-untold","title":"Stories Untold","compatibility":99,"releases":[{"id":"010074400F6A8000","region":null}]},{"id":"87219e67-336e-4924-8a26-98a50ad8ea08","directory":"noble-armada-lost-worlds","title":"NOBLE ARMADA: LOST WORLDS","compatibility":99,"releases":[{"id":"010068000D9F2000","region":null}]},{"id":"873c3e9b-814c-4d45-a137-27c8aa5f328b","directory":"the-innsmouth-case","title":"The Innsmouth Case","compatibility":4,"releases":[{"id":"0100E680138CA000","region":null}]},{"id":"8743aa8b-ace7-431b-9b3a-1b470080b109","directory":"not-tonight-take-back-control-edition","title":"Not Tonight: Take Back Control Edition","compatibility":2,"releases":[{"id":"0100DAF00D0E2000","region":null}]},{"id":"8752df05-3929-4401-9993-5b34f7ca43ed","directory":"abyss-of-the-sacrifice","title":"密室のサクリファイス/ABYSS OF THE SACRIFICE","compatibility":1,"releases":[{"id":"010047F012BE2000","region":null}]},{"id":"875eb566-50c2-4b2f-ac2e-775b6cc3d303","directory":"super-fowlst-2","title":"Super Fowlst 2","compatibility":99,"releases":[{"id":"0100DD7014AA0000","region":null}]},{"id":"8764f8ac-c7e0-47a5-a88f-174feaad60e2","directory":"car-wash-cars-trucks-garage-game-for-toddlers-kids","title":"Car Wash – Cars & Trucks Garage Game for Toddlers & Kids","compatibility":99,"releases":[{"id":"010032C014CCA000","region":null}]},{"id":"8766d2d9-20c5-4e47-88cf-fedc595e668f","directory":"asdivine-hearts-ii","title":"Asdivine Hearts II","compatibility":1,"releases":[{"id":"01007D300CD8C000","region":null}]},{"id":"877bb525-20c5-47bc-b35f-c15af5a3bada","directory":"volgarr-the-viking","title":"Volgarr the Viking","compatibility":0,"releases":[{"id":"0100B1A0066DC000","region":null}]},{"id":"877dc19e-238c-4f9f-93ff-b5c159ee7730","directory":"1993-shenandoah","title":"1993 Shenandoah","compatibility":99,"releases":[{"id":"010075601150A000","region":null}]},{"id":"87903a63-1841-40bf-aeb5-db6f2849e3e2","directory":"switch-n-shoot","title":"Switch 'N' Shoot","compatibility":2,"releases":[{"id":"0100ABE00CE7C000","region":null}]},{"id":"87943fdb-ba9a-468b-a9ed-e682db764594","directory":"door-kickers","title":"Door Kickers","compatibility":3,"releases":[{"id":"0100B0601205E000","region":null}]},{"id":"8797bfe3-4ba9-430b-a61e-4824a447e23f","directory":"diablo-r-ii-resurrected","title":"Diablo® II: Resurrected™","compatibility":4,"releases":[{"id":"0100726014352000","region":null}]},{"id":"87b488c2-91dd-40c7-8c85-c1a22dfefa27","directory":"arcade-archives-gradius-iii","title":"Arcade Archives GRADIUS III","compatibility":99,"releases":[{"id":"01006230131A4000","region":null}]},{"id":"87bb9007-6644-4394-8ecd-8e8d2d878a64","directory":"hyrule-warriors-age-of-calamity","title":"Hyrule Warriors: Age of Calamity","compatibility":2,"releases":[{"id":"01002B00111A2000","region":null}]},{"id":"87bbd418-1966-4fc3-a826-77f195c9f21a","directory":"connect-it","title":"Connect It!","compatibility":99,"releases":[{"id":"010049B014CD0000","region":null}]},{"id":"87bc96bc-a3c4-4977-962f-182f778ea25c","directory":"banner-saga-1","title":"Banner Saga 1","compatibility":5,"releases":[{"id":"0100465008756000","region":null}]},{"id":"87d6780a-82cc-46e9-94ba-2fcaa218b46f","directory":"candy-jump-featuring-frosty","title":"Candy Jump featuring Frosty","compatibility":99,"releases":[{"id":"0100E57013B2E000","region":null}]},{"id":"87d9553c-9c6b-4d09-8e33-82f0cd9f601f","directory":"keen-one-girl-army","title":"Keen: One Girl Army","compatibility":99,"releases":[{"id":"0100D7C01115E000","region":null}]},{"id":"87da6bf3-fd2a-4f86-a156-aad8bec3fa21","directory":"the-four-kings-casino-and-slots","title":"The Four Kings Casino and Slots","compatibility":99,"releases":[{"id":"010034100D096000","region":null}]},{"id":"87e00bc3-1c15-4422-98ee-3d93a476a73e","directory":"trials-rising-standard-edition","title":"Trials Rising Standard Edition","compatibility":4,"releases":[{"id":"01003E800A102000","region":null}]},{"id":"87fce9db-a8b0-441c-a8a7-a0dce24b7dcb","directory":"leopoldo-manquiseil","title":"Leopoldo Manquiseil","compatibility":99,"releases":[{"id":"010094300C888000","region":null}]},{"id":"880825e3-ed9b-4076-ae3f-3849d74efaab","directory":"hexa-maze","title":"Hexa Maze","compatibility":99,"releases":[{"id":"010066900BDE6000","region":null}]},{"id":"88120cdc-ffc7-49d5-910a-2c1ac19d2c2f","directory":"joe-jump-impossible-quest","title":"Joe Jump Impossible Quest","compatibility":99,"releases":[{"id":"0100EA500D996000","region":null}]},{"id":"8816193c-3203-4c78-a0c2-8afbd5a1427e","directory":"event-horizon","title":"Event Horizon","compatibility":99,"releases":[{"id":"0100AC100DC48000","region":null}]},{"id":"882762b4-b551-49b2-a2dd-f6ebb8123b1c","directory":"arcade-archives-contra","title":"Arcade Archives CONTRA","compatibility":1,"releases":[{"id":"01007F4012B84000","region":null}]},{"id":"88286691-6804-4264-975e-749cd4d70a73","directory":"deleveled","title":"Deleveled","compatibility":99,"releases":[{"id":"010092E00E7F4000","region":null}]},{"id":"882f60b7-f2b4-4c05-80e9-bd34ad5943d6","directory":"the-knight-of-queen","title":"THE KNIGHT OF QUEEN","compatibility":99,"releases":[{"id":"0100D73012850000","region":null}]},{"id":"88387298-d494-458c-8237-5cf0b894ae8d","directory":"tcheco-in-the-castle-of-lucio","title":"Tcheco in the Castle of Lucio","compatibility":1,"releases":[{"id":"0100F43011E5A000","region":null}]},{"id":"883a5702-b72e-4c42-99eb-1fb5f788589e","directory":"mark-of-the-ninja-remastered","title":"Mark of the Ninja: Remastered","compatibility":3,"releases":[{"id":"01009A700A538000","region":null}]},{"id":"8846593b-8678-407f-a51b-3e12eed583d0","directory":"balloon-girl","title":"Balloon Girl","compatibility":99,"releases":[{"id":"0100A7A012C06000","region":null}]},{"id":"884a72b9-1e3c-4edd-b125-3f5cb268f61a","directory":"ninjala-exclusive-ninja-club","title":"Ninjala Exclusive Ninja Club","compatibility":99,"releases":[{"id":"010033A0118DC000","region":null}]},{"id":"884a937c-d7ea-4b1f-994f-664acbf5cf4b","directory":"air-stunt-racing","title":"Air Stunt Racing","compatibility":99,"releases":[{"id":"01002CD016A7C000","region":null}]},{"id":"884c6a49-1db2-4066-b122-829dd5a2e5aa","directory":"brain-meltdown-into-despair","title":"Brain Meltdown - Into Despair","compatibility":99,"releases":[{"id":"010001A015AB2000","region":null}]},{"id":"885293a6-6a08-466f-bdba-d2c8421be1d0","directory":"frederic-2-evil-strikes-back","title":"Frederic 2: Evil Strikes Back","compatibility":1,"releases":[{"id":"01000490067AE000","region":null}]},{"id":"8853f133-f11c-4d13-aee0-4845259321f3","directory":"arcade-archives-water-ski","title":"Arcade Archives WATER SKI","compatibility":4,"releases":[{"id":"0100CA200DC6E000","region":null}]},{"id":"88567dab-9174-45b0-91f6-00f3d2ba3b83","directory":"later-alligator","title":"Later Alligator","compatibility":99,"releases":[{"id":"0100E8F012DE4000","region":null}]},{"id":"8858e7b3-efea-4708-8896-01d4b337f54a","directory":"snake-it-til-you-make-it","title":"Snake It 'Til You Make It","compatibility":99,"releases":[{"id":"01003CF01063C000","region":null}]},{"id":"8862e154-6d59-41e2-a4ef-07145807dee6","directory":"air-bounce-the-jump-n-run-challenge","title":"Air Bounce - The Jump 'n' Run Challenge","compatibility":99,"releases":[{"id":"010066D013A8C000","region":null}]},{"id":"886b2a03-8071-4402-a5e1-4eb07c16ccd9","directory":"crsed-f-o-a-d","title":"CRSED: F.O.A.D.","compatibility":5,"releases":[{"id":"0100E2300FB84000","region":null}]},{"id":"887f52eb-819f-4fc8-b435-b22fd5fd8e92","directory":"shanky-the-vegans-nightmare","title":"Shanky: The Vegan`s Nightmare","compatibility":99,"releases":[{"id":"010006C00CC10000","region":null}]},{"id":"8887a716-0b18-4457-b9b5-c2d90bc43b97","directory":"cycle-28","title":"Cycle 28","compatibility":99,"releases":[{"id":"010021800B6C0000","region":null}]},{"id":"8890ff91-a7cd-44b8-b2a1-6a264c5c482b","directory":"jisei-the-first-case-hd","title":"Jisei: The First Case HD","compatibility":99,"releases":[{"id":"010038D011F08000","region":null}]},{"id":"889ff57c-f4bb-4594-9043-2ef60cc771b6","directory":"her-majestys-spiffing","title":"Her Majesty's SPIFFING","compatibility":0,"releases":[{"id":"0100946008DAE000","region":null}]},{"id":"88ab39b7-3baf-4c76-ab4b-36078a0aac51","directory":"star-renegades","title":"Star Renegades","compatibility":99,"releases":[{"id":"010060D00F658000","region":null}]},{"id":"88b89440-8435-4f99-ba7e-438e247bc806","directory":"down-in-bermuda","title":"Down in Bermuda","compatibility":99,"releases":[{"id":"0100D7100FDDE000","region":null}]},{"id":"88d6a806-bec3-4f94-8197-359997a4e68f","directory":"aca-neogeo-league-bowling","title":"ACA NEOGEO LEAGUE BOWLING","compatibility":2,"releases":[{"id":"0100A2900AFA4000","region":null}]},{"id":"88f9a6a8-0b82-40b6-ad52-7d05aca34e09","directory":"highway-haste","title":"Highway Haste","compatibility":1,"releases":[{"id":"0100CD2014058000","region":null}]},{"id":"8903cf5c-02ee-47bf-b382-b713e8c92af0","directory":"persian-nights-2-the-moonlight-veil","title":"Persian Nights 2: The Moonlight Veil","compatibility":99,"releases":[{"id":"0100A0401346A000","region":null}]},{"id":"89189a8b-c8fb-4a3f-b12f-b95c16abf8dc","directory":"shady-part-of-me","title":"Shady Part of Me","compatibility":99,"releases":[{"id":"0100820013612000","region":null}]},{"id":"8919b93a-4a63-42a0-be9d-4ef4e9e139fd","directory":"samurai-shodown-neogeo-collection","title":"SAMURAI SHODOWN NEOGEO COLLECTION","compatibility":99,"releases":[{"id":"0100F6800F48E000","region":null}]},{"id":"891d009b-e27b-4531-b68f-b93da45c447d","directory":"inferno-climber-reborn","title":"INFERNO CLIMBER: REBORN","compatibility":99,"releases":[{"id":"010086300A558000","region":null}]},{"id":"891f1728-611d-4870-aca8-b159c5cffffc","directory":"doom-3","title":"DOOM 3","compatibility":4,"releases":[{"id":"010029D00E740000","region":null}]},{"id":"892e4f40-e4f3-444c-a37c-2b95b4f418bb","directory":"doom-1993","title":"DOOM (1993)","compatibility":3,"releases":[{"id":"010018900DD00000","region":null}]},{"id":"893440f1-4e31-44fa-989f-132b556b19f6","directory":"lumines-remastered","title":"LUMINES REMASTERED","compatibility":1,"releases":[{"id":"0100A4200A284000","region":null}]},{"id":"89408f0d-16d7-478b-82a1-c430b0a19c78","directory":"math-classroom-challenge","title":"Math Classroom Challenge","compatibility":99,"releases":[{"id":"010066E015998000","region":null}]},{"id":"8942cf1c-a61d-444d-8cd8-85c6b4fe6bf4","directory":"syberia-3","title":"Syberia 3","compatibility":0,"releases":[{"id":"0100CBE004E6C000","region":null}]},{"id":"89660c6a-e172-49d0-89f3-a51cc14fc663","directory":"fly-together","title":"Fly TOGETHER!","compatibility":99,"releases":[{"id":"0100B6D00DA1C000","region":null}]},{"id":"8983f323-1ffd-4e62-ab45-ad1027aac162","directory":"pretty-girls-panic","title":"Pretty Girls Panic!","compatibility":99,"releases":[{"id":"0100653013F7A000","region":null}]},{"id":"89929093-204f-4359-ac25-5350d4670d13","directory":"torquel-physics-modified-edition-demo","title":"TorqueL -Physics Modified Edition- Demo","compatibility":99,"releases":[{"id":"010076A009426000","region":null}]},{"id":"89ae49db-5431-4b05-9f30-ba4e19642998","directory":"sudoku-relax-5-full-bloom","title":"Sudoku Relax 5 Full Bloom","compatibility":99,"releases":[{"id":"01004DB0126AC000","region":null}]},{"id":"89b43cfc-3514-4dd0-9c8f-893efce5b890","directory":"newtons-cradle-puzzle-game","title":"Newton's Cradle Puzzle Game","compatibility":99,"releases":[{"id":"0100C0B012666000","region":null}]},{"id":"89b5b71d-12b5-4bf1-990e-b8e1ff0d3d21","directory":"12-orbits","title":"12 orbits","compatibility":3,"releases":[{"id":"0100A840047C2000","region":null}]},{"id":"89c2905a-87de-4d63-9d2d-de2aa07a7231","directory":"alchemic-jousts","title":"Alchemic Jousts","compatibility":99,"releases":[{"id":"0100F5400AB6C000","region":null}]},{"id":"89c9a7a1-bdf0-421a-8cbe-30fc758d6d30","directory":"no-straight-roads","title":"No Straight Roads","compatibility":3,"releases":[{"id":"01009F3011004000","region":null}]},{"id":"89ce4a2e-41a1-48cd-b63f-3698c25e4364","directory":"nature-matters","title":"Nature Matters","compatibility":0,"releases":[{"id":"01002820142C6000","region":null}]},{"id":"89cf67c3-fb9e-4623-870a-98ec3573d3b3","directory":"aca-neogeo-karnovs-revenge","title":"ACA NEOGEO KARNOV'S REVENGE","compatibility":2,"releases":[{"id":"010014E004FA8000","region":null}]},{"id":"89d1cfc6-de5c-4e09-acc1-106058f7032f","directory":"dreamwalker-never-fall-asleep","title":"Dreamwalker: Never Fall Asleep","compatibility":99,"releases":[{"id":"0100068010226000","region":null}]},{"id":"89d1e0e8-2efd-4816-97d5-73a64d891c39","directory":"glyph","title":"Glyph","compatibility":99,"releases":[{"id":"0100EB501130E000","region":null}]},{"id":"89dca81e-28e3-4290-9465-0869a10043f9","directory":"slayin-2","title":"Slayin 2","compatibility":3,"releases":[{"id":"01004E900EDDA000","region":null}]},{"id":"89e020ec-eb68-48e0-9feb-9fe094484ec8","directory":"panda-jump","title":"Panda Jump","compatibility":99,"releases":[{"id":"0100C47012D86000","region":null}]},{"id":"89e55765-4978-4d2b-8bf3-ba8284a66d4b","directory":"super-monkey-ball-banana-blitz-hd","title":"Super Monkey Ball: Banana Blitz HD","compatibility":0,"releases":[{"id":"0100B2A00E1E0000","region":null}]},{"id":"89f92b51-3ef4-4a17-b13d-c2df481ba3fe","directory":"violett-demo","title":"Violett Demo","compatibility":99,"releases":[{"id":"01003B2009D18000","region":null}]},{"id":"8a00e549-e980-48ba-91a8-ba85558cd660","directory":"shinya-ichizoku-the-battle-for-hokkaidos-delicious-foods","title":"Shinya Ichizoku The Battle for Hokkaido's Delicious Foods","compatibility":99,"releases":[{"id":"0100BA6015E82000","region":null}]},{"id":"8a08357c-2f63-4a40-9e26-86968520c972","directory":"rock-of-ages-3-make-break","title":"Rock of Ages 3: Make & Break","compatibility":99,"releases":[{"id":"0100A1B00DB36000","region":null}]},{"id":"8a08ce6a-03bf-48cf-afed-f50a7973b698","directory":"binarystar-infinity","title":"Binarystar Infinity","compatibility":99,"releases":[{"id":"0100CFB013AE4000","region":null}]},{"id":"8a14ab9c-b05b-4406-a94a-ac6222f7d2b3","directory":"neverending-nightmares","title":"Neverending Nightmares","compatibility":4,"releases":[{"id":"0100F79012600000","region":null}]},{"id":"8a1c4fc9-0b5d-4a74-8ac2-b6f4739f364a","directory":"angels-punishment","title":"Angel's Punishment","compatibility":1,"releases":[{"id":"010062B015D28000","region":null}]},{"id":"8a22897e-fb54-4531-8a81-932ae24d9be6","directory":"arcaea","title":"Arcaea","compatibility":2,"releases":[{"id":"0100E680149DC000","region":null}]},{"id":"8a2528aa-d5ef-471e-a8c2-af3a8a5f53e1","directory":"sports-party","title":"Sports Party","compatibility":5,"releases":[{"id":"0100DE9005170000","region":null}]},{"id":"8a26cae4-0753-462d-a105-34fbb6f56f4e","directory":"wide-ocean-big-jacket","title":"Wide Ocean Big Jacket","compatibility":99,"releases":[{"id":"0100A9C010246000","region":null}]},{"id":"8a2ce300-efcf-45ee-a504-9ee035b3d0e1","directory":"pokemon-lets-go-pikachu","title":"Pokémon: Let’s Go, Pikachu!","compatibility":1,"releases":[{"id":"010003F003A34000","region":null}]},{"id":"8a3a1b42-44c9-4bc9-9508-da8a59fe22ca","directory":"zero-gunner-2-for-nintendo-switch","title":"ZERO GUNNER 2- for Nintendo Switch","compatibility":1,"releases":[{"id":"0100A6A00894C000","region":null}]},{"id":"8a3d5b1a-e1ba-40ae-b819-45e86f925b46","directory":"air-hockey","title":"Air Hockey","compatibility":1,"releases":[{"id":"010005A00A4F4000","region":null}]},{"id":"8a3f64a8-bbec-4603-96a0-10a13349311d","directory":"skyland-heart-of-the-mountain","title":"Skyland: Heart of the Mountain","compatibility":99,"releases":[{"id":"01007860144F4000","region":null}]},{"id":"8a4ead8c-2de8-4154-8e92-db52677b3650","directory":"extreme-car-driver","title":"Extreme Car Driver","compatibility":0,"releases":[{"id":"0100615015E4A000","region":null}]},{"id":"8a601ae1-821c-4259-b66b-1954daf937e5","directory":"breathedge","title":"Breathedge","compatibility":99,"releases":[{"id":"01000AA013A5E000","region":null}]},{"id":"8a609710-43b3-432e-ac04-c7b863e151dd","directory":"ballzout","title":"BallzOut","compatibility":99,"releases":[{"id":"01004820120C0000","region":null}]},{"id":"8a69cf77-434a-4cc9-a822-fa6a2e77f464","directory":"gnomes-garden-lost-king","title":"Gnomes Garden: Lost King","compatibility":99,"releases":[{"id":"010036C00D0D6000","region":null}]},{"id":"8a6ef618-4e58-40ec-aea8-af08a3ad739c","directory":"pizza-parking","title":"Pizza Parking","compatibility":99,"releases":[{"id":"01006C700D2CE000","region":null}]},{"id":"8a74367f-6143-48df-a2e5-476a92fdedce","directory":"the-house-of-da-vinci","title":"The House of Da Vinci","compatibility":2,"releases":[{"id":"01004AD00E094000","region":null}]},{"id":"8a809606-9cc9-439b-823a-8f41935a2020","directory":"felix-the-toy","title":"Felix The Toy","compatibility":99,"releases":[{"id":"010020B014D8E000","region":null}]},{"id":"8a98e294-1221-4b04-b428-aa8798a5610d","directory":"gardeners-path","title":"Gardener's Path","compatibility":99,"releases":[{"id":"010019F016BFC000","region":null}]},{"id":"8a9ca65b-b855-4603-a5e3-06133ff481fd","directory":"exception","title":"Exception","compatibility":99,"releases":[{"id":"0100F2D00C7DE000","region":null}]},{"id":"8ab54287-3e50-4390-85b4-031259f1034e","directory":"death-come-true","title":"Death Come True","compatibility":2,"releases":[{"id":"010012B011AB2000","region":null}]},{"id":"8abcd565-03bf-4710-9346-5fc318b56117","directory":"astria-ascending","title":"Astria Ascending","compatibility":2,"releases":[{"id":"01003070146FE000","region":null}]},{"id":"8acb5205-864c-487c-9a4c-176026b8010e","directory":"pixel-game-maker-series-steos-sorrow-song-of-bounty-hunter","title":"Pixel Game Maker Series STEOS -Sorrow song of Bounty hunter-","compatibility":99,"releases":[{"id":"0100247013722000","region":null}]},{"id":"8acd61ab-c8de-4624-aa71-165b2ad2586a","directory":"lost-kings-lullaby","title":"Lost King's Lullaby","compatibility":99,"releases":[{"id":"01002C400ADC0000","region":null}]},{"id":"8ad5a264-86f6-4d27-a2c5-ac70d96c162a","directory":"dreamworks-spirit-luckys-big-adventure","title":"DreamWorks Spirit Lucky’s Big Adventure","compatibility":99,"releases":[{"id":"0100236011B4C000","region":null}]},{"id":"8adec3aa-bc6f-4568-bf94-bdd41a3b42a7","directory":"annas-quest","title":"Anna's Quest","compatibility":99,"releases":[{"id":"0100A9801134C000","region":null}]},{"id":"8af328cc-9aed-437c-bc50-c23151929201","directory":"lego-worlds","title":"LEGO Worlds","compatibility":0,"releases":[{"id":"0100838002AEA000","region":null}]},{"id":"8af43721-9df2-41bb-b18e-5412a3a9f924","directory":"mega-man-11","title":"Mega Man 11","compatibility":0,"releases":[{"id":"0100B0C0086B0000","region":null}]},{"id":"8af52b6f-86fe-4c26-9782-ec4136499635","directory":"dungeons-hell","title":"Dungeon's Hell","compatibility":1,"releases":[{"id":"0100474015BCE000","region":null}]},{"id":"8afabe60-75a1-4b3e-b953-66e10bdbd168","directory":"marchen-forest","title":"Märchen Forest","compatibility":99,"releases":[{"id":"01001B2012D5E000","region":null}]},{"id":"8afc2cae-51d9-4076-9292-f1310612b960","directory":"unknown-fate","title":"Unknown Fate","compatibility":99,"releases":[{"id":"010045200D3A4000","region":null}]},{"id":"8b025fd6-55c4-4593-b036-d704e2eb30a6","directory":"cotton-100","title":"Cotton 100%","compatibility":1,"releases":[{"id":"0100D5A01692C000","region":null}]},{"id":"8b0bb610-ee80-4805-b45e-b72b77032873","directory":"midnight-deluxe","title":"Midnight Deluxe","compatibility":0,"releases":[{"id":"01000FB008900000","region":null}]},{"id":"8b139d57-d7ed-4577-a05a-ac6aa0a52165","directory":"rbi-baseball-19","title":"R.B.I. Baseball 19","compatibility":4,"releases":[{"id":"0100FCB00BF40000","region":null}]},{"id":"8b234089-b05c-45f8-924a-6696c4a043d1","directory":"unstrong-space-calamity","title":"Unstrong: Space Calamity","compatibility":99,"releases":[{"id":"0100D36016AE4000","region":null}]},{"id":"8b39309c-39ed-43be-8722-fb0a83e117e9","directory":"tap-tap-legions","title":"Tap Tap Legions","compatibility":99,"releases":[{"id":"0100EBA01399E000","region":null}]},{"id":"8b3e397a-0b75-4f25-a604-0203258aeaaa","directory":"tales-of-vesperia-definitive-edition","title":"Tales of Vesperia: Definitive Edition","compatibility":1,"releases":[{"id":"01002C0008E52000","region":null}]},{"id":"8b4787b6-14d5-45f1-b494-5d6297fe1f66","directory":"rolling-sky","title":"Rolling Sky","compatibility":99,"releases":[{"id":"0100BAA00D60A000","region":null}]},{"id":"8b4fb4e8-2ca8-416a-aaf1-73e59f7ab130","directory":"chess-gambit","title":"Chess Gambit","compatibility":99,"releases":[{"id":"0100FE1015F16000","region":null}]},{"id":"8b5d55ef-0e59-400e-b2d8-54d85a8104d2","directory":"doodle-god-crime-city","title":"Doodle God: Crime City","compatibility":2,"releases":[{"id":"01007E700D5B4000","region":null}]},{"id":"8b662f40-21cf-4f49-8524-f2ce35d788db","directory":"just-die-already","title":"Just Die Already","compatibility":99,"releases":[{"id":"0100AC600CF0A000","region":null}]},{"id":"8b8ecf4d-4224-43c6-a640-ebac714bfd2f","directory":"piczle-lines-dx-bundle","title":"Piczle Lines DX Bundle","compatibility":99,"releases":[{"id":"01006960121A8000","region":null}]},{"id":"8b989545-2d77-4760-a19b-97173a2b2b63","directory":"the-legend-of-ninja","title":"The Legend of Ninja","compatibility":99,"releases":[{"id":"0100C5A01327E000","region":null}]},{"id":"8b993524-13b0-477c-87d5-afc1bbe2fd00","directory":"gem-smashers","title":"Gem Smashers","compatibility":5,"releases":[{"id":"01001A4008192000","region":null}]},{"id":"8b999ded-4de2-4ceb-9c58-1d3e241e1084","directory":"gnomes-garden-3-the-thief-of-castles","title":"Gnomes Garden 3: The thief of castles","compatibility":99,"releases":[{"id":"010017C00BE12000","region":null}]},{"id":"8ba23714-ef70-427c-a514-3ebc98dbd352","directory":"alphadia-genesis","title":"Alphadia Genesis","compatibility":0,"releases":[{"id":"0100C7801232C000","region":null}]},{"id":"8bcb2e7c-4122-4a6f-b08c-a6176e466d6b","directory":"pub-encounter","title":"Pub Encounter","compatibility":99,"releases":[{"id":"0100CAB00B4E4000","region":null}]},{"id":"8bf4c3a3-e8a9-4b78-8bba-0ba1eae0e78b","directory":"prepare-the-first-rpg-village-the-adventures-of-nyanzou-kumakichi-escape-game-series","title":"Prepare the First RPG Village\n~The Adventures of Nyanzou&Kumakichi: Escape Game Series~","compatibility":99,"releases":[{"id":"0100AA30161C6000","region":null}]},{"id":"8bf6fe32-26b4-4197-a554-da68bd4f5d65","directory":"kingdom-rush-origins","title":"Kingdom Rush Origins","compatibility":2,"releases":[{"id":"0100ABE0121F8000","region":null}]},{"id":"8bfff1a5-f60c-494f-bbdc-b8815c143628","directory":"drum-box","title":"Drum Box","compatibility":99,"releases":[{"id":"01009BE015A20000","region":null}]},{"id":"8c07891d-faf6-4fb8-906b-e2927e4dc578","directory":"moon-raider","title":"Moon Raider","compatibility":99,"releases":[{"id":"01000C301457C000","region":null}]},{"id":"8c19c17c-07dc-435f-b755-3817fff8cc8d","directory":"aspire-inas-tale","title":"Aspire: Ina's Tale","compatibility":99,"releases":[{"id":"0100AC5016808000","region":null}]},{"id":"8c247ca5-3960-4301-8d4c-b6eb264ec624","directory":"ys-viii-lacrimosa-of-dana","title":"Ys VIII: Lacrimosa of DANA","compatibility":1,"releases":[{"id":"01007F200B0C0000","region":null}]},{"id":"8c26465c-4989-405e-b16b-636514543ef0","directory":"johnny-turbos-arcade-super-burger-time","title":"Johnny Turbo's Arcade: Super Burger Time","compatibility":99,"releases":[{"id":"01000E400222A000","region":null}]},{"id":"8c279f7f-8b60-4613-be41-c13d570a8fa1","directory":"chocobos-mystery-dungeon-every-buddy","title":"Chocobo's Mystery Dungeon EVERY BUDDY!","compatibility":2,"releases":[{"id":"0100BF600BF26000","region":null}]},{"id":"8c2ba144-a0e9-48df-b938-391e409f0e05","directory":"instant-sports","title":"Instant Sports","compatibility":99,"releases":[{"id":"010099700D750000","region":null}]},{"id":"8c33ef9e-2e80-4b43-9737-a6b9c793294e","directory":"aeternoblade-demo","title":"AeternoBlade Demo","compatibility":99,"releases":[{"id":"0100B1C00949A000","region":null}]},{"id":"8c37ada9-3897-4aaa-a6bc-d44ca475cdef","directory":"tower-of-time","title":"Tower Of Time","compatibility":99,"releases":[{"id":"010094600DC86000","region":null}]},{"id":"8c3ad559-326b-4809-8b87-2f6e2039ec55","directory":"arcadia-fallen","title":"Arcadia Fallen","compatibility":99,"releases":[{"id":"0100BC8016306000","region":null}]},{"id":"8c3c5097-4f8d-4140-959d-299cca7a1ce3","directory":"immortals-fenyx-rising","title":"Immortals Fenyx Rising™","compatibility":4,"releases":[{"id":"01004A600EC0A000","region":null}]},{"id":"8c3f31a6-becb-41ed-89c2-bafb474930c2","directory":"archvale","title":"Archvale","compatibility":99,"releases":[{"id":"0100A4D0146B2000","region":null}]},{"id":"8c4615b0-0fac-46ed-ba5e-ebfb63cca6df","directory":"terra-bomber","title":"Terra Bomber","compatibility":99,"releases":[{"id":"01003990145EE000","region":null}]},{"id":"8c65faf2-8658-4fb7-a816-5370578359ff","directory":"duck-souls","title":"Duck Souls+","compatibility":99,"releases":[{"id":"0100E9B010028000","region":null}]},{"id":"8c67caa0-8575-479e-8847-3a6f5c963cee","directory":"flat-heroes","title":"Flat Heroes","compatibility":0,"releases":[{"id":"0100C53004C52000","region":null}]},{"id":"8c73cbaf-5cfe-465d-be28-4b7d10c4614b","directory":"retro-machina","title":"Retro Machina","compatibility":99,"releases":[{"id":"01000ED014A2C000","region":null}]},{"id":"8c78fe76-6038-45ac-897c-e7a221cd75b6","directory":"senran-kagura-reflexions","title":"SENRAN KAGURA Reflexions","compatibility":1,"releases":[{"id":"0100E0C00ADAC000","region":null}]},{"id":"8c81e26f-6748-40bd-b870-f4626fda447c","directory":"bats-bloodsucker-anti-terror-squad","title":"BATS: Bloodsucker Anti-Terror Squad","compatibility":99,"releases":[{"id":"0100F97015D46000","region":null}]},{"id":"8c885821-584b-4c02-8065-cd2d3e9d5193","directory":"the-skylia-prophecy","title":"The Skylia Prophecy","compatibility":99,"releases":[{"id":"01007D50140E4000","region":null}]},{"id":"8c888bd8-51a7-4419-8a1d-f0cd68b06950","directory":"justin-danger","title":"Justin Danger","compatibility":99,"releases":[{"id":"010045D0142C8000","region":null}]},{"id":"8c95dd59-b865-42c9-b8d1-83a8486bf36b","directory":"number-place-10000","title":"Number Place 10000","compatibility":99,"releases":[{"id":"010020500C8C8000","region":null}]},{"id":"8cac8bc2-4c58-4269-9b68-c32581386ac4","directory":"war-tech-fighters","title":"War Tech Fighters","compatibility":99,"releases":[{"id":"010049500DE56000","region":null}]},{"id":"8cadfa0b-8732-47ce-91fc-8ea4991ad42b","directory":"colorgrid","title":"Colorgrid","compatibility":99,"releases":[{"id":"010039B011312000","region":null}]},{"id":"8cbac864-c886-4645-9a45-1661bd541cc0","directory":"garden-story","title":"Garden Story","compatibility":3,"releases":[{"id":"0100B4D012490000","region":null}]},{"id":"8cc2b8c5-f310-41ae-bf5e-c1a3e8eb6f01","directory":"ikaruga","title":"Ikaruga","compatibility":3,"releases":[{"id":"01009F20086A0000","region":null}]},{"id":"8cc5e474-3bcd-455c-89f8-e9c30085d328","directory":"platago-super-platform-game-maker","title":"PlataGO! Super Platform Game Maker","compatibility":5,"releases":[{"id":"010044E008FC6000","region":null}]},{"id":"8cd27cbc-2baf-43f3-8a46-5e40b4c8f8aa","directory":"digerati-best-sellers","title":"Digerati Best Sellers","compatibility":99,"releases":[{"id":"01001C5012F52000","region":null}]},{"id":"8cdee0a2-6064-4843-9afb-e57b306d9441","directory":"lord-of-the-click-ii","title":"Lord of the Click II","compatibility":99,"releases":[{"id":"0100F54015F86000","region":null}]},{"id":"8ce0b09a-3b6b-4498-9ce2-f1d2e42d9427","directory":"donut-match","title":"Donut Match","compatibility":99,"releases":[{"id":"01000A5015EA4000","region":null}]},{"id":"8ce95e55-78f4-4fd9-8951-f925c3c80144","directory":"the-town-of-light-deluxe-edition","title":"The Town of Light: Deluxe Edition","compatibility":99,"releases":[{"id":"010058000A576000","region":null}]},{"id":"8ceb0664-3507-4b4b-afc3-89fd88f2287c","directory":"rack-n-ruin","title":"Rack N Ruin","compatibility":1,"releases":[{"id":"0100B8100C54A000","region":null}]},{"id":"8cf465c8-5082-4c10-90ac-f4ac8f55ee5f","directory":"arcade-archives-sea-fighter-poseidon","title":"Arcade Archives SEA FIGHTER POSEIDON","compatibility":99,"releases":[{"id":"01006BA015070000","region":null}]},{"id":"8d081d15-b96a-4156-a649-67c099fd3357","directory":"lotus-bloom","title":"Lotus Bloom","compatibility":99,"releases":[{"id":"0100A55015B98000","region":null}]},{"id":"8d172360-69f6-4b02-bfe0-f7d6c0865e58","directory":"forest-home","title":"Forest Home","compatibility":99,"releases":[{"id":"010094F00E0EE000","region":null}]},{"id":"8d216c0f-7b89-4fc0-970e-76754751d857","directory":"fantasy-checkers","title":"Fantasy Checkers","compatibility":0,"releases":[{"id":"0100C3E014F40000","region":null}]},{"id":"8d4c90cb-b828-4371-af57-a58ede9e218e","directory":"pocket-warriors","title":"Pocket Warriors","compatibility":99,"releases":[{"id":"01009B4013C00000","region":null}]},{"id":"8d4f7d4b-5b20-4447-8443-735aa81ea7cc","directory":"jurassic-world-evolution-complete-edition","title":"Jurassic World Evolution: Complete Edition","compatibility":2,"releases":[{"id":"010050A011344000","region":null}]},{"id":"8d5e505d-8ced-41e6-ae71-7510bb422bbd","directory":"r-type-dimensions-ex-demo-version","title":"R-Type Dimensions EX Demo Version","compatibility":99,"releases":[{"id":"0100A4100DDC2000","region":null}]},{"id":"8d672c12-1e0e-46f7-a8c8-13c36b65b2db","directory":"stunt-kite-party","title":"Stunt Kite Party","compatibility":99,"releases":[{"id":"0100AF000B4AE000","region":null}]},{"id":"8d747a52-dc6c-4b3e-991c-f39b76da7a07","directory":"neverout","title":"Neverout","compatibility":99,"releases":[{"id":"010043800AD94000","region":null}]},{"id":"8d7674ac-b942-466c-93dd-d9e703416611","directory":"woodle-tree-adventures","title":"Woodle Tree Adventures","compatibility":1,"releases":[{"id":"0100956007854000","region":null}]},{"id":"8d831cd4-71d5-4e73-a3d7-7105c1710b05","directory":"exodemon","title":"Exodemon","compatibility":99,"releases":[{"id":"0100A82013976000","region":null}]},{"id":"8d85b497-8bcf-4089-a824-8f49030a89c6","directory":"game-dev-story-demo","title":"Game Dev Story Demo","compatibility":99,"releases":[{"id":"010022000BCDA000","region":null}]},{"id":"8d884d3f-f55d-46cf-8856-39198dc2c902","directory":"urban-street-fighting","title":"Urban Street Fighting","compatibility":99,"releases":[{"id":"010054F014016000","region":null}]},{"id":"8d8df59a-111d-4bce-9568-13e82da6850d","directory":"awesome-pea-2","title":"Awesome Pea 2","compatibility":3,"releases":[{"id":"0100B7D01147E000","region":null}]},{"id":"8d971070-7184-4512-bf1b-ba0ac1ab7195","directory":"rive-ultimate-edition","title":"RIVE: Ultimate Edition","compatibility":99,"releases":[{"id":"010069C00401A000","region":null}]},{"id":"8dac02f4-893a-43a8-8758-3b96604049f8","directory":"lode-runner-legacy","title":"Lode Runner Legacy","compatibility":3,"releases":[{"id":"010016C009374000","region":null}]},{"id":"8daf0a85-6e11-4223-9589-8bd3aad5d8b1","directory":"1917-the-alien-invasion-dx","title":"1917 - The Alien Invasion DX","compatibility":0,"releases":[{"id":"01005CA0099AA000","region":null}]},{"id":"8dbb64f6-a187-4d3d-b433-f9dce9f994fc","directory":"house-cleaning-survival","title":"House Cleaning Survival","compatibility":99,"releases":[{"id":"0100EFE01452A000","region":null}]},{"id":"8dcc986d-f188-41f7-8c37-9f9df608371f","directory":"black-paradox","title":"Black Paradox","compatibility":99,"releases":[{"id":"010071900D95A000","region":null}]},{"id":"8dce7074-665a-4751-a9f6-3e0a804bb7e7","directory":"ball-lab","title":"Ball laB","compatibility":99,"releases":[{"id":"0100C8B01546C000","region":null}]},{"id":"8de9aa77-7b73-4ce2-bc3b-a7f1906d1bf0","directory":"wwe-2k-battlegrounds","title":"WWE 2K Battlegrounds","compatibility":4,"releases":[{"id":"010081700EDF4000","region":null}]},{"id":"8e1f823a-2c56-4b4f-a11d-82d89e9738d2","directory":"atom-rpg","title":"ATOM RPG","compatibility":2,"releases":[{"id":"0100B9400FA38000","region":null}]},{"id":"8e2f06ec-2aa0-4a52-9dcd-b5744fbb33ae","directory":"starblox-inc","title":"StarBlox Inc.","compatibility":99,"releases":[{"id":"010006F00EE72000","region":null}]},{"id":"8e3e7f2c-17da-4781-8174-20eb3ebc9b4f","directory":"unit-4","title":"Unit 4","compatibility":99,"releases":[{"id":"0100B1400D92A000","region":null}]},{"id":"8e46b376-77ba-4cc8-83e5-fab85c472c3e","directory":"rubix-roller","title":"Rubix Roller","compatibility":99,"releases":[{"id":"010080E01515A000","region":null}]},{"id":"8e5ac266-2c66-4491-aa1f-720bcc4be738","directory":"radon-blast","title":"Radon Blast","compatibility":99,"releases":[{"id":"0100323014580000","region":null}]},{"id":"8e784ab5-b2e2-41a3-ba1d-eb4996681d90","directory":"air-conflicts-secret-wars","title":"Air Conflicts: Secret Wars","compatibility":3,"releases":[{"id":"0100B2B00C7D4000","region":null}]},{"id":"8e833e2f-7b39-49d0-90d1-855316983370","directory":"league-of-champions-soccer","title":"League Of Champions Soccer","compatibility":99,"releases":[{"id":"01006040153A0000","region":null}]},{"id":"8e89a004-a257-4418-9555-b7f1c21487ed","directory":"warhammer-40000-space-wolf","title":"WARHAMMER 40,000: SPACE WOLF","compatibility":99,"releases":[{"id":"0100E5600D7B2000","region":null}]},{"id":"8e90938d-e5bc-4587-aa92-fcab6efd596c","directory":"dollhouse","title":"Dollhouse","compatibility":99,"releases":[{"id":"010065D014E0A000","region":null}]},{"id":"8eab0bfe-2bb5-47a4-a61a-ab556fb7c978","directory":"just-dance-2017","title":"Just Dance 2017","compatibility":0,"releases":[{"id":"0100BCE000598000","region":null}]},{"id":"8ec187f4-7d99-4629-a062-37c46cbad86a","directory":"isoland","title":"Isoland","compatibility":99,"releases":[{"id":"010065200D192000","region":null}]},{"id":"8ec9657c-1880-4b48-97be-e621cc3a48e7","directory":"johnny-turbos-arcade-joe-and-mac-caveman-ninja","title":"Johnny Turbo's Arcade Joe and Mac Caveman Ninja","compatibility":4,"releases":[{"id":"0100355002CBE000","region":null}]},{"id":"8ecdb45c-cdcf-4468-85e4-0d2aaaa38cbe","directory":"preston-sterling-and-the-legend-of-excalibur","title":"Preston Sterling and the Legend of Excalibur","compatibility":99,"releases":[{"id":"010052601473C000","region":null}]},{"id":"8ee06cb1-3fb5-4e00-bc0e-250a7e974d37","directory":"dune-sea","title":"Dune Sea","compatibility":99,"releases":[{"id":"0100D4B010DCA000","region":null}]},{"id":"8ee6f66c-7cb0-4e94-87ae-9499f3af6dbd","directory":"jurassic-pinball","title":"Jurassic Pinball","compatibility":99,"releases":[{"id":"0100CE100A826000","region":null}]},{"id":"8ee9aa03-4d93-4df4-9af6-96bfc7c3139a","directory":"bubble","title":"Bubble","compatibility":99,"releases":[{"id":"01004A4011CB4000","region":null}]},{"id":"8ef5a535-573c-49cb-aced-6b41803186a0","directory":"hatsune-miku-project-diva-mega-mix","title":"Hatsune Miku: Project DIVA Mega Mix","compatibility":0,"releases":[{"id":"01001CC00FA1A000","region":null}]},{"id":"8f008fab-df17-4457-8c87-19e30acc4d6f","directory":"stones-of-the-revenant","title":"Stones of the Revenant","compatibility":0,"releases":[{"id":"0100AFC00F7B6000","region":null}]},{"id":"8f09e9ce-55e2-496b-b781-e75465a10c4f","directory":"mech-rage","title":"Mech Rage","compatibility":99,"releases":[{"id":"0100EC000CE24000","region":null}]},{"id":"8f0c5c13-62f7-4952-8c11-d319b8a83038","directory":"kill-it-with-fire","title":"Kill It With Fire","compatibility":99,"releases":[{"id":"0100152012BB0000","region":null}]},{"id":"8f172b43-e826-40eb-8990-1a3f8e1e684f","directory":"traffix","title":"Traffix","compatibility":99,"releases":[{"id":"01002B700F88A000","region":null}]},{"id":"8f3bd36d-9747-4eed-bbd5-fc60f2528725","directory":"gnosia","title":"Gnosia","compatibility":1,"releases":[{"id":"01008EF013A7C000","region":null}]},{"id":"8f468c01-197f-4244-98db-6ba259aac7ac","directory":"choices-that-matter-and-the-sun-went-out","title":"Choices That Matter: And The Sun Went Out","compatibility":99,"releases":[{"id":"01000BA0132EA000","region":null}]},{"id":"8f4eca0a-663b-40ab-94c6-1a0c11648c6b","directory":"alveole","title":"Alveole","compatibility":99,"releases":[{"id":"01008320152D0000","region":null}]},{"id":"8f4eedf6-ef92-48e1-a6af-6dd885af07d8","directory":"guilt-battle-arena","title":"GUILT BATTLE ARENA","compatibility":1,"releases":[{"id":"010060E009062000","region":null}]},{"id":"8f579c29-1b5f-40a6-8246-b712f6f3a991","directory":"gensou-skydrift","title":"GENSOU Skydrift","compatibility":0,"releases":[{"id":"0100E9E00DBF4000","region":null}]},{"id":"8f5e9b83-054d-4ada-b050-76330f514c30","directory":"green-video-game","title":"GREEN VIDEO GAME","compatibility":1,"releases":[{"id":"0100DFE00F002000","region":null}]},{"id":"8f669828-d50b-4aa2-b7e5-bf75849447b9","directory":"sigi-a-fart-for-melusina","title":"Sigi - A Fart for Melusina","compatibility":99,"releases":[{"id":"01007FC00B674000","region":null}]},{"id":"8f67a4fa-31ea-418e-9c08-4a82a68957f8","directory":"doughlings-invasion","title":"Doughlings: Invasion","compatibility":99,"releases":[{"id":"0100FFA00C9F4000","region":null}]},{"id":"8f7998d9-f629-46a4-aaad-080ce1cd4ba6","directory":"crazy-oce","title":"Crazy Oce","compatibility":99,"releases":[{"id":"0100ADF01388C000","region":null}]},{"id":"8f79d057-8adb-4dea-a4c9-d3c396271e7c","directory":"transformers-battlegrounds","title":"TRANSFORMERS: BATTLEGROUNDS","compatibility":2,"releases":[{"id":"01005E500E528000","region":null}]},{"id":"8f7f2e4c-27ff-4c76-9cf9-8028866564d3","directory":"pick-me-up-rescue-rangers","title":"PICK ME UP! - Rescue Rangers -","compatibility":99,"releases":[{"id":"01006050129D2000","region":null}]},{"id":"8f951d33-50fc-4dce-a220-18e21be68bc1","directory":"stacks-on-stacks-on-stacks","title":"Stacks On Stacks (On Stacks)","compatibility":99,"releases":[{"id":"0100888013B14000","region":null}]},{"id":"8fa3ab67-5b07-4312-a36e-d48f89f4c093","directory":"arcade-archives-tnk-iii","title":"Arcade Archives T.N.K III","compatibility":99,"releases":[{"id":"0100C7800C7A0000","region":null}]},{"id":"8fa99e8d-8df3-43aa-ba63-4255b6e85917","directory":"curse-of-the-dead-gods","title":"Curse of the Dead Gods","compatibility":3,"releases":[{"id":"0100D4A0118EA000","region":null}]},{"id":"8fac6a13-e310-4ad9-922e-aef5b48ed522","directory":"another-sight","title":"Another Sight","compatibility":3,"releases":[{"id":"01001A900D312000","region":null}]},{"id":"8fb14ddb-d61d-4588-8e34-5e5fcc1af7c8","directory":"corpse-party","title":"Corpse Party","compatibility":1,"releases":[{"id":"0100F7E01343E000","region":null}]},{"id":"8fc1fb6f-67dc-4e9d-b9db-87ea9b420bc3","directory":"fire-emblem-warriors","title":"Fire Emblem Warriors","compatibility":3,"releases":[{"id":"0100F15003E64000","region":null}]},{"id":"8fd67ee0-ba54-4387-9867-24bf9f98d6d2","directory":"1-crosswords-bundle","title":"#1 Crosswords Bundle","compatibility":99,"releases":[{"id":"01008F50155A6000","region":null}]},{"id":"8ff4615e-d64d-48ed-8a23-1c1dff9c08fa","directory":"rawr-off","title":"Rawr-Off","compatibility":99,"releases":[{"id":"010003F00C5C0000","region":null}]},{"id":"9001d0c4-0e7d-4d4a-b9be-d8f34a0939f0","directory":"sen-seven-eight-nine","title":"SEN: Seven Eight Nine","compatibility":99,"releases":[{"id":"01000E800F7F0000","region":null}]},{"id":"900d0354-770d-435e-b2d6-d46744bf9d81","directory":"the-jackbox-party-pack-6","title":"The Jackbox Party Pack 6","compatibility":99,"releases":[{"id":"01005A400DB52000","region":null}]},{"id":"90126d7e-d454-440c-80ce-d1f68fab3be9","directory":"biker-garage-mechanic-simulator","title":"Biker Garage: Mechanic Simulator","compatibility":99,"releases":[{"id":"01009E1016B10000","region":null}]},{"id":"90217aa0-8d8a-4bea-8ca1-9b1c2d8b5ed0","directory":"severed","title":"Severed","compatibility":2,"releases":[{"id":"0100157004512000","region":null}]},{"id":"902501e2-e9ea-450a-a696-9ec141f697dc","directory":"zombies-ate-my-neighbors-and-ghoul-patrol","title":"Zombies Ate My Neighbors and Ghoul Patrol","compatibility":0,"releases":[{"id":"0100A34012CCA000","region":null}]},{"id":"902cd4f4-aee0-47cd-ad20-98cfea274899","directory":"i-f-o","title":"I.F.O","compatibility":99,"releases":[{"id":"0100225015482000","region":null}]},{"id":"902efdce-6484-4907-8e6b-47adf51c019e","directory":"international-basketball","title":"International Basketball","compatibility":99,"releases":[{"id":"0100B1F013F2E000","region":null}]},{"id":"903b2f7f-9826-4b8b-9f4b-699841c3e5c9","directory":"hotshot-racing","title":"Hotshot Racing","compatibility":1,"releases":[{"id":"0100BDE008218000","region":null}]},{"id":"903de3f1-a6fb-422b-87d9-806336e4594d","directory":"pac-man-99","title":"PAC-MAN™ 99","compatibility":1,"releases":[{"id":"0100AD9012510000","region":null}]},{"id":"904107dc-ed86-4b57-9805-665c11d1b658","directory":"the-suicide-of-rachel-foster","title":"The Suicide of Rachel Foster","compatibility":3,"releases":[{"id":"0100779015CDC000","region":null}]},{"id":"904624f8-0db8-47d1-864b-c865e1f3acf5","directory":"without-escape","title":"Without Escape","compatibility":99,"releases":[{"id":"0100E8400FDCA000","region":null}]},{"id":"90498537-5b09-4204-8af7-11dc3f9ebf7f","directory":"fin-and-the-ancient-mystery","title":"Fin and the Ancient Mystery","compatibility":0,"releases":[{"id":"0100C8200E942000","region":null}]},{"id":"904a0339-d5d0-46fd-8140-45cd09a70fcb","directory":"dungeons-and-aliens","title":"Dungeons & Aliens","compatibility":99,"releases":[{"id":"010032800D46C000","region":null}]},{"id":"9052f19c-cad7-4756-8eee-2ec5b0f4e7be","directory":"gigantic-army","title":"GIGANTIC ARMY","compatibility":3,"releases":[{"id":"010067A00D35E000","region":null}]},{"id":"90652bf7-c7b2-46dd-8bae-eb0b0e610405","directory":"arcade-archives-vs-tennis","title":"Arcade Archives VS. TENNIS","compatibility":99,"releases":[{"id":"01009A6013AE0000","region":null}]},{"id":"9076bc4e-763b-4e22-b182-a41bbda9d083","directory":"fimbul","title":"Fimbul","compatibility":99,"releases":[{"id":"0100C3A00BB76000","region":null}]},{"id":"907be691-74da-4e31-869d-27bbce132688","directory":"steel-assault","title":"Steel Assault","compatibility":2,"releases":[{"id":"01001C6014772000","region":null}]},{"id":"907e99c8-4808-4a7f-a19f-95d83830f68c","directory":"paper-train","title":"Paper Train","compatibility":99,"releases":[{"id":"010022C00F20A000","region":null}]},{"id":"9089cb98-6e54-4856-a093-da48b1125b08","directory":"big-rumble-boxing-creed-champions","title":"Big Rumble Boxing: Creed Champions","compatibility":1,"releases":[{"id":"0100CCC0153F6000","region":null}]},{"id":"908d8826-3eaf-4c30-96d5-a77015a69c39","directory":"labyrinth-of-refrain-coven-of-dusk","title":"Labyrinth of Refrain: Coven of Dusk","compatibility":0,"releases":[{"id":"010058500B3E0000","region":null}]},{"id":"90b16bcc-debb-419f-bc34-212caa14b086","directory":"baby-puzzle-first-learning-shapes-for-toddlers","title":"Baby Puzzle - First Learning Shapes for Toddlers","compatibility":99,"releases":[{"id":"0100B3E013E56000","region":null}]},{"id":"90bec178-90ac-4955-92b0-e53a6affb92b","directory":"spice-and-wolf-vr2","title":"Spice and Wolf VR2","compatibility":99,"releases":[{"id":"0100DBD0128FE000","region":null}]},{"id":"90cb7cb7-f2c0-4aa3-ad4c-78380344cf31","directory":"darksiders-iii","title":"Darksiders III","compatibility":3,"releases":[{"id":"0100F8F014190000","region":null}]},{"id":"90d45c47-cc5c-4422-8a3b-a63bdc926262","directory":"venture-kid","title":"Venture Kid","compatibility":1,"releases":[{"id":"010095B00DBC8000","region":null}]},{"id":"90dbe6ba-b49f-4505-b7ad-a28db1748cbf","directory":"one-finger-death-punch-2","title":"One Finger Death Punch 2","compatibility":99,"releases":[{"id":"01000B500EB22000","region":null}]},{"id":"90f6f233-8fad-458d-9332-8c6a5626488a","directory":"inside","title":"INSIDE","compatibility":1,"releases":[{"id":"0100D2D009028000","region":null}]},{"id":"90f98c34-5873-48d3-a61b-d8a19c3f57aa","directory":"dating-life-miley-x-emily","title":"Dating Life: Miley X Emily","compatibility":99,"releases":[{"id":"0100BB5015AA8000","region":null}]},{"id":"91045c47-80d6-40f4-bd31-1276e1ecf314","directory":"double-dragon","title":"DOUBLE DRAGON","compatibility":1,"releases":[{"id":"010067C00E496000","region":null}]},{"id":"91098fbe-e0fa-4c8c-9ae3-65de99c83480","directory":"sudoku-master","title":"Sudoku Master","compatibility":99,"releases":[{"id":"01004DE014AEE000","region":null}]},{"id":"910ec3eb-751f-471e-a213-0521d7dd1772","directory":"they-bleed-pixels","title":"They Bleed Pixels","compatibility":99,"releases":[{"id":"01001C2010D08000","region":null}]},{"id":"91121b24-3a6e-45d6-a26d-5337ddff2612","directory":"bomber-crew","title":"Bomber Crew","compatibility":4,"releases":[{"id":"01007900080B6000","region":null}]},{"id":"91231882-e1e2-4cd7-b883-548285db5d8f","directory":"morphite","title":"Morphite","compatibility":99,"releases":[{"id":"0100776003F0C000","region":null}]},{"id":"9124b01f-fc4e-458b-8d57-9fdf56edb9ab","directory":"normans-great-illusion","title":"Norman's Great Illusion","compatibility":99,"releases":[{"id":"010016E011EFA000","region":null}]},{"id":"912b58b4-3ddd-42c6-bfbc-2fa33022a088","directory":"contra-rogue-corps","title":"CONTRA: ROGUE CORPS","compatibility":1,"releases":[{"id":"0100F2600D710000","region":null}]},{"id":"912dd349-171b-4c40-8d24-58b4672597ba","directory":"switchy-road","title":"Switchy Road","compatibility":99,"releases":[{"id":"010059400E0BA000","region":null}]},{"id":"91305b89-09eb-4e8a-abdf-cffd5e4a2b92","directory":"xenoraptor","title":"XenoRaptor","compatibility":99,"releases":[{"id":"010079100EB48000","region":null}]},{"id":"913741a1-4a54-44f0-b5ed-9b34c4b7221d","directory":"pillars-of-eternity-complete-edition","title":"Pillars of Eternity: Complete Edition","compatibility":3,"releases":[{"id":"0100D6200E130000","region":null}]},{"id":"914194b7-6c42-4043-8f09-b930b461eb3d","directory":"brainz","title":"BrainZ","compatibility":99,"releases":[{"id":"01004A800F0CA000","region":null}]},{"id":"914c8530-2cde-40ce-a1a2-fca1028feeec","directory":"a-tale-of-synapse-the-chaos-theories","title":"A Tale of Synapse: The Chaos Theories","compatibility":99,"releases":[{"id":"01000BC013B0A000","region":null}]},{"id":"916ba995-825b-4890-9ee2-04c9af3eb116","directory":"wrc-8-fia-world-rally-championship","title":"WRC 8 FIA World Rally Championship","compatibility":5,"releases":[{"id":"010087800DCEA000","region":null}]},{"id":"9171a844-82ce-4d46-8054-2b022489763a","directory":"eliza","title":"Eliza","compatibility":99,"releases":[{"id":"0100D1700E832000","region":null}]},{"id":"9173c1a0-b9d1-4828-bea3-33418c783006","directory":"griftlands","title":"Griftlands","compatibility":99,"releases":[{"id":"0100E49013514000","region":null}]},{"id":"917a0c04-067b-4e08-86c7-c259ef4779b0","directory":"sumatra-fate-of-yandi","title":"Sumatra: Fate of Yandi","compatibility":0,"releases":[{"id":"010026A013DD6000","region":null}]},{"id":"917c5a3a-11bf-4881-9ecd-5d01ac946d9c","directory":"the-tiny-bang-story","title":"The Tiny Bang Story","compatibility":99,"releases":[{"id":"01009B300D76A000","region":null}]},{"id":"918807a6-5b29-4f9b-9108-fca8150a7eef","directory":"ruiner","title":"RUINER","compatibility":1,"releases":[{"id":"01006EC00F2CC000","region":null}]},{"id":"918b93f4-92b6-46f6-91ca-60d8e91c1a00","directory":"super-treasure-arena","title":"Super Treasure Arena","compatibility":99,"releases":[{"id":"010024A005A2A000","region":null}]},{"id":"91960037-41b9-4c38-82ca-7feb2fb6bcfe","directory":"copperbell","title":"CopperBell","compatibility":99,"releases":[{"id":"0100C5A0115C4000","region":null}]},{"id":"91980373-7b2e-4336-8f47-6f588bbd2118","directory":"capcom-arcade-stadium","title":"Capcom Arcade Stadium","compatibility":3,"releases":[{"id":"01001E0013208000","region":null}]},{"id":"91a43e92-07dc-4e05-a981-280719dd7a3a","directory":"morphite-demo","title":"Morphite Demo","compatibility":99,"releases":[{"id":"0100E1500B5EE000","region":null}]},{"id":"91b005bb-d10f-4064-8a0f-babcd289db10","directory":"goken","title":"GOKEN","compatibility":1,"releases":[{"id":"0100126006EF0000","region":null}]},{"id":"91bdb1d8-034c-4a95-ab70-77cb60bdbc7f","directory":"ni-no-kuni-ii-revenant-kingdom-princes-edition","title":"Ni no Kuni™ II: Revenant Kingdom PRINCE'S EDITION","compatibility":1,"releases":[{"id":"0100BE7013E06000","region":null}]},{"id":"91c61b1f-ca5e-4f90-9fb2-7358db3cd856","directory":"flip-over-frog","title":"FLIP OVER FROG","compatibility":99,"releases":[{"id":"0100AFC00B120000","region":null}]},{"id":"91ca3454-8b06-4c2c-aa9c-b6175c09d10d","directory":"fuze4-nintendo-switch","title":"FUZE4 Nintendo Switch","compatibility":5,"releases":[{"id":"0100EAD007E98000","region":null}]},{"id":"91d0f429-c36b-4577-8e5e-e7971cd9d96c","directory":"pinkman","title":"Pinkman+","compatibility":99,"releases":[{"id":"0100BD8013992000","region":null}]},{"id":"91deab0a-ded9-49e7-97a4-2ad921841728","directory":"saga-frontier-remastered","title":"SaGa Frontier Remastered","compatibility":1,"releases":[{"id":"0100A51013530000","region":null}]},{"id":"91e8ae57-78a3-4291-9090-056db5edac07","directory":"owlboy","title":"Owlboy","compatibility":1,"releases":[{"id":"0100BC2004FF4000","region":null}]},{"id":"91f51d45-473f-425f-bd3e-a5188d3e67f7","directory":"space-scavenger","title":"Space Scavenger","compatibility":99,"releases":[{"id":"0100B37011E2C000","region":null}]},{"id":"91f7ed6f-1129-4019-9475-f0f676b7ad9f","directory":"the-plane-effect","title":"The Plane Effect","compatibility":99,"releases":[{"id":"0100F4C013866000","region":null}]},{"id":"91fe0bb1-d56a-4136-91cd-9532b2862c42","directory":"gods-will-fall","title":"Gods Will Fall","compatibility":3,"releases":[{"id":"0100CFA0111C8000","region":null}]},{"id":"922da700-2eaf-4679-a63e-696e5b47139e","directory":"rime","title":"RiME","compatibility":3,"releases":[{"id":"0100A62002042000","region":null}]},{"id":"9230b1d9-082a-46b1-8211-88ac46ef0e2a","directory":"seven-knights-time-wanderer","title":"Seven Knights -Time Wanderer-","compatibility":4,"releases":[{"id":"010018400C24E000","region":null}]},{"id":"9238e5db-f81a-4935-a699-6dfc552e5a9b","directory":"animus","title":"ANIMUS","compatibility":0,"releases":[{"id":"010097600C322000","region":null}]},{"id":"92421a02-e962-4bee-b5d7-c5b352de95f2","directory":"arcade-archives-moon-patrol","title":"Arcade Archives MOON PATROL","compatibility":1,"releases":[{"id":"01003000097FE000","region":null}]},{"id":"9246e08c-ca47-4dc6-8e4e-cd6c90e456ed","directory":"melty-blood-type-lumina","title":"MELTY BLOOD: TYPE LUMINA","compatibility":1,"releases":[{"id":"01001E30126A0000","region":null}]},{"id":"925c58f6-8515-4eac-924e-9828c93a5d06","directory":"crash-autodrive","title":"CRASH: Autodrive","compatibility":99,"releases":[{"id":"01005AE0125F0000","region":null}]},{"id":"925e3fa4-6c3e-4229-ba47-0b5c40615d9e","directory":"redout-space-assault","title":"Redout: Space Assault","compatibility":99,"releases":[{"id":"0100326010B98000","region":null}]},{"id":"926629ef-5ce5-43f8-b462-02dd1db98b3f","directory":"tacticool-champs","title":"Tacticool Champs","compatibility":99,"releases":[{"id":"010044A00CEB4000","region":null}]},{"id":"926e7162-33f1-4438-a0a7-6e1c62dfc711","directory":"what-comes-after","title":"What Comes After","compatibility":99,"releases":[{"id":"0100013013F30000","region":null}]},{"id":"928f37e1-fa13-4e4d-8c0a-e1cead26d639","directory":"feather","title":"Feather","compatibility":3,"releases":[{"id":"0100E4300CB3E000","region":null}]},{"id":"929c7474-8098-42ea-8dff-3f8cce8a4d35","directory":"car-quest","title":"Car Quest","compatibility":0,"releases":[{"id":"01007BD00AE70000","region":null}]},{"id":"92aac202-bfc9-424e-a244-01dde5cdf315","directory":"garfield-kart-furious-racing","title":"Garfield Kart Furious Racing","compatibility":2,"releases":[{"id":"010061E00E8BE000","region":null}]},{"id":"92bc8a02-cb6e-4e70-b3d0-184b3c1eadf8","directory":"catty-batty-the-spirit-guide","title":"Catty & Batty: The Spirit Guide","compatibility":99,"releases":[{"id":"0100AEF014C82000","region":null}]},{"id":"92bde1d0-207b-45ff-8168-ded79b7e016c","directory":"pixark","title":"PixARK","compatibility":99,"releases":[{"id":"0100CC700B2B4000","region":null}]},{"id":"92c5bfd8-2ee6-449b-8858-00d2231d46a4","directory":"world-soccer","title":"World Soccer","compatibility":99,"releases":[{"id":"010083B00B97A000","region":null}]},{"id":"92d66290-6d90-4475-ae3a-a148aa0b8dd2","directory":"moorhuhn-kart-2","title":"Moorhuhn Kart 2","compatibility":99,"releases":[{"id":"010045C00F274000","region":null}]},{"id":"92e843ea-413c-4219-bd5f-7eab1a932488","directory":"hed-the-pig","title":"Hed the Pig","compatibility":1,"releases":[{"id":"0100690013826000","region":null}]},{"id":"92eccc9a-59a2-4eb6-b316-693432cc23e1","directory":"iris-and-the-giant","title":"Iris and the Giant","compatibility":99,"releases":[{"id":"01008780123A0000","region":null}]},{"id":"92ece80b-59f6-4f24-a07a-aafa69170906","directory":"aeon-must-die","title":"Aeon Must Die!","compatibility":0,"releases":[{"id":"01000B600F918000","region":null}]},{"id":"92fad2dc-59d8-466f-9eb3-977371f5711f","directory":"magnus-failure","title":"Magnus Failure","compatibility":99,"releases":[{"id":"0100F490159A2000","region":null}]},{"id":"92fdc7d4-07e2-4f19-931e-e25be59691c5","directory":"gems-of-war","title":"Gems of War","compatibility":4,"releases":[{"id":"0100BD800986E000","region":null}]},{"id":"92ff9311-7da9-4d39-9c9e-7a4ab8a41639","directory":"arcade-archives-naughty-boy","title":"Arcade Archives NAUGHTY BOY","compatibility":99,"releases":[{"id":"0100419010C60000","region":null}]},{"id":"930651df-8b48-42bf-a2de-ebdae094a1b5","directory":"the-spectrum-retreat","title":"The Spectrum Retreat","compatibility":99,"releases":[{"id":"010041C00A68C000","region":null}]},{"id":"930edcbd-dc79-4c28-9e86-8ad79601558b","directory":"vasterclaws-3-dragon-slayer-of-the-god-world","title":"VasterClaws 3:Dragon slayer of the God world","compatibility":99,"releases":[{"id":"0100082014D86000","region":null}]},{"id":"93150f44-82be-410f-8ea2-4bbbe122453f","directory":"mecha-storm","title":"Mecha Storm","compatibility":99,"releases":[{"id":"01001FA009A1E000","region":null}]},{"id":"93190e97-13c7-48c1-8af7-6bee24532787","directory":"bafl-brakes-are-for-losers","title":"BAFL - Brakes Are For Losers","compatibility":1,"releases":[{"id":"01004C70086EC000","region":null}]},{"id":"931ec0a8-e99c-44f7-a294-aa543736746b","directory":"syrup-and-the-ultimate-sweet","title":"Syrup and The Ultimate Sweet","compatibility":99,"releases":[{"id":"01001FF0104D8000","region":null}]},{"id":"93206a95-d0c6-468b-9e32-4e6946c506d2","directory":"chameleon-run-deluxe-edition","title":"Chameleon Run Deluxe Edition","compatibility":1,"releases":[{"id":"010024F008742000","region":null}]},{"id":"932ab717-0ac9-4f85-a69b-729c44cd4756","directory":"bee-simulator","title":"Bee Simulator","compatibility":2,"releases":[{"id":"01009E700DB2E000","region":null}]},{"id":"9334858d-59c0-4423-b3a0-182468733a64","directory":"arcade-archives-the-legend-of-kage","title":"Arcade Archives THE LEGEND OF KAGE","compatibility":99,"releases":[{"id":"0100353009836000","region":null}]},{"id":"9350021d-96a0-447a-ab22-7bcc456f9cb7","directory":"football-heroes-turbo","title":"Football Heroes Turbo","compatibility":99,"releases":[{"id":"0100D9B00B666000","region":null}]},{"id":"93510eb1-c769-493b-aa61-20dac3ea766d","directory":"super-destronaut-dx-2","title":"Super Destronaut DX-2","compatibility":99,"releases":[{"id":"0100DCF015512000","region":null}]},{"id":"93548908-6e55-41bd-9e08-5a2bbc3177c4","directory":"dark-souls-remastered","title":"DARK SOULS: REMASTERED","compatibility":2,"releases":[{"id":"01004AB00A260000","region":null}]},{"id":"93682fd1-8c8a-4584-a311-96cc7790d1a3","directory":"great-conqueror-rome","title":"Great Conqueror: Rome","compatibility":99,"releases":[{"id":"01005670128FC000","region":null}]},{"id":"93685567-627e-4a47-8ff3-12b7525932d3","directory":"valfaris","title":"Valfaris","compatibility":2,"releases":[{"id":"010089700F30C000","region":null}]},{"id":"937f3faa-2bcc-4506-aa3c-e629a40e509d","directory":"planet-alpha","title":"PLANET ALPHA","compatibility":3,"releases":[{"id":"010003C0099EE000","region":null}]},{"id":"93812f0d-3c1f-4d5a-877e-b4b65563a5ab","directory":"comic-coloring-book-complete-edition","title":"Comic Coloring Book - Complete Edition","compatibility":99,"releases":[{"id":"0100CEF015DEE000","region":null}]},{"id":"938f372f-b147-438c-aafb-e4917789c9dd","directory":"fifty-words-by-powgi","title":"Fifty Words by POWGI","compatibility":99,"releases":[{"id":"010094D00F17C000","region":null}]},{"id":"93a8a545-0530-4c5c-a80e-b636c0b0c9af","directory":"one-line-coloring","title":"One Line Coloring","compatibility":99,"releases":[{"id":"01009170129FA000","region":null}]},{"id":"93a8a67a-fdd5-428a-91ea-354eb6e6e9f2","directory":"paradox-soul","title":"Paradox Soul","compatibility":99,"releases":[{"id":"010065100E7DA000","region":null}]},{"id":"93abc975-8c8e-40f4-a91a-4fada98f3cbc","directory":"aca-neogeo-samurai-shodown","title":"ACA NEOGEO SAMURAI SHODOWN","compatibility":99,"releases":[{"id":"01005C9002B42000","region":null}]},{"id":"93ac86da-5d50-4dbb-b941-9795e6ee529a","directory":"crossing-souls","title":"Crossing Souls","compatibility":1,"releases":[{"id":"0100B1E00AA56000","region":null}]},{"id":"93cb8e39-5679-4af7-ac74-3c539ea7d973","directory":"five-nights-at-freddys-3","title":"Five Nights at Freddy's 3","compatibility":99,"releases":[{"id":"010056100E43C000","region":null}]},{"id":"93cc3b54-39bb-4aa5-af11-fa5fef84242b","directory":"battlloon","title":"BATTLLOON","compatibility":99,"releases":[{"id":"010048300D5C2000","region":null}]},{"id":"93d1bad5-3aa5-4e0c-be15-9f09d35e8939","directory":"voxel-galaxy","title":"Voxel Galaxy","compatibility":99,"releases":[{"id":"0100B1E0100A4000","region":null}]},{"id":"93e029a8-cb8a-47a8-a54b-7b0f0ab6072a","directory":"hermitage-strange-case-files","title":"Hermitage: Strange Case Files","compatibility":99,"releases":[{"id":"01008D10115C2000","region":null}]},{"id":"93e44828-892a-4f1b-b40d-3bda1e09fc2c","directory":"risk-global-domination","title":"RISK Global Domination","compatibility":5,"releases":[{"id":"0100E8300A67A000","region":null}]},{"id":"93fab154-777a-4236-b27d-c51d1d1a9114","directory":"dimension-drive","title":"Dimension Drive","compatibility":1,"releases":[{"id":"0100401003A0C000","region":null}]},{"id":"94033437-ee4b-4230-97af-e3af1fa68e13","directory":"doctor-who-the-edge-of-reality","title":"Doctor Who: The Edge of Reality","compatibility":99,"releases":[{"id":"010066C01366E000","region":null}]},{"id":"94082dc8-e037-462e-94bc-e9c81d942c74","directory":"eyes-the-horror-game","title":"Eyes: The Horror Game","compatibility":99,"releases":[{"id":"0100EFE00A3C2000","region":null}]},{"id":"9416a0e8-25e8-4ba9-b1d1-fef2c99837f8","directory":"witcheye","title":"Witcheye","compatibility":99,"releases":[{"id":"0100BD4011FFE000","region":null}]},{"id":"9422081c-9c41-4908-b120-54f881d784c3","directory":"world-war-z","title":"World War Z","compatibility":4,"releases":[{"id":"010099F013898000","region":null}]},{"id":"9425e16e-eee6-46cd-971e-decca85aed5e","directory":"professor-lupo-ocean","title":"Professor Lupo: Ocean","compatibility":0,"releases":[{"id":"0100D1F0132F6000","region":null}]},{"id":"94284d97-ac9a-4a49-a793-b6cb6e5cb9d9","directory":"iron-crypticle","title":"Iron Crypticle","compatibility":99,"releases":[{"id":"01005EC00BEEC000","region":null}]},{"id":"942afcbf-b2e1-45ee-a247-50bbd8a53b65","directory":"hentai-vs-evil","title":"Hentai vs. Evil","compatibility":99,"releases":[{"id":"0100267013F04000","region":null}]},{"id":"94330f14-4578-4348-aee8-ee6504b5014e","directory":"a-plague-tale-innocence-cloud-version","title":"A Plague Tale: Innocence - Cloud Version","compatibility":99,"releases":[{"id":"01003CE015180000","region":null}]},{"id":"943e324b-d434-4a09-87bf-f27b0ebea976","directory":"vasilis","title":"Vasilis","compatibility":99,"releases":[{"id":"0100AD300E4FA000","region":null}]},{"id":"9443945c-327f-4233-bb7f-e61fd92df7ad","directory":"skatemasta-tcheco","title":"Skatemasta Tcheco","compatibility":99,"releases":[{"id":"01001F101289A000","region":null}]},{"id":"94455c2b-d02b-441d-9dac-3d54b48cf361","directory":"ultimate-bumper-cars-dodgems","title":"Ultimate Bumper Cars: Dodgems","compatibility":1,"releases":[{"id":"01006640142DE000","region":null}]},{"id":"9457a71a-b704-441b-b8f8-e24fac59f064","directory":"mini-car-racing-2","title":"Mini Car Racing 2","compatibility":99,"releases":[{"id":"0100779015FFE000","region":null}]},{"id":"945b2df8-5cf9-45f3-b167-74dd8f47be41","directory":"tetra-for-nintendo-switch-international-edition","title":"TETRA for Nintendo Switch™ International Edition","compatibility":99,"releases":[{"id":"0100671016432000","region":null}]},{"id":"945b32c5-1b8b-4f1d-9f71-60bf4d8fefb5","directory":"slain-back-from-hell","title":"Slain: Back From Hell","compatibility":2,"releases":[{"id":"0100224004004000","region":null}]},{"id":"9460ea30-1074-4cfc-99d7-c24c9eac70bf","directory":"six-sides-of-the-world","title":"Six Sides of the World","compatibility":99,"releases":[{"id":"0100F8000B37E000","region":null}]},{"id":"94634f05-d8be-4e9c-ab8f-2b2f0dbbbfd5","directory":"car-mechanic-manager","title":"Car Mechanic Manager","compatibility":99,"releases":[{"id":"010048800D95C000","region":null}]},{"id":"9463ca44-abf7-4b8f-92ac-773b16ac6ad0","directory":"warshmallows","title":"Warshmallows","compatibility":99,"releases":[{"id":"01009AC016040000","region":null}]},{"id":"94833ad1-443e-435b-afca-9a4e62c566be","directory":"active-neurons-puzzle-game","title":"Active Neurons - Puzzle game","compatibility":99,"releases":[{"id":"010039A010DA0000","region":null}]},{"id":"94846217-1559-40db-8266-01062fd76b44","directory":"xeno-crisis","title":"Xeno Crisis","compatibility":0,"releases":[{"id":"010013F009B88000","region":null}]},{"id":"9487ff7e-07eb-4901-954f-4247d70fc32f","directory":"cyber-protocol","title":"Cyber Protocol","compatibility":2,"releases":[{"id":"0100C1300DE74000","region":null}]},{"id":"948c1a4b-8df4-487d-be03-c42f9abf4e62","directory":"pocket-arcade-story","title":"Pocket Arcade Story","compatibility":99,"releases":[{"id":"010011B00E6B2000","region":null}]},{"id":"948ff28d-3e3e-405f-84b8-b4a9f50f6fee","directory":"pinball-fx3","title":"Pinball FX3","compatibility":1,"releases":[{"id":"0100DB7003828000","region":null}]},{"id":"949092a4-69ce-4813-9eaa-b2b54d8ac69d","directory":"akinofa","title":"Akinofa","compatibility":99,"releases":[{"id":"010039201520E000","region":null}]},{"id":"9491414d-dabe-4118-a405-be86fffb8eb9","directory":"gearshifters","title":"Gearshifters","compatibility":99,"releases":[{"id":"0100DB8010DBE000","region":null}]},{"id":"94917151-ce03-457f-8d3d-25b3eff26569","directory":"ghost-10","title":"Ghost 1.0","compatibility":2,"releases":[{"id":"0100EEB005ACC000","region":null}]},{"id":"9498d4f2-fb86-403c-bd59-d029a6f2c150","directory":"lightseekers","title":"Lightseekers","compatibility":99,"releases":[{"id":"01009EA00C792000","region":null}]},{"id":"949c10a9-882e-4067-a6bd-449d89aca1d5","directory":"epic-clicker-journey","title":"Epic Clicker Journey","compatibility":99,"releases":[{"id":"0100CA200EE70000","region":null}]},{"id":"949c253c-239d-45c9-8aa6-71cad84866de","directory":"unworthy","title":"Unworthy","compatibility":99,"releases":[{"id":"01004AB00B4F8000","region":null}]},{"id":"94a27c39-921e-433d-84dd-72006cccc63f","directory":"nihilumbra","title":"Nihilumbra","compatibility":2,"releases":[{"id":"0100AA0008736000","region":null}]},{"id":"94a34c23-51d1-449d-b53a-492e29edbfed","directory":"touhou-hyouibana-antinomy-of-common-flowers","title":"Touhou Hyouibana ~ Antinomy of Common Flowers.","compatibility":99,"releases":[{"id":"0100ECF012414000","region":null}]},{"id":"94a7923c-d4f1-462c-a257-dc4ec2214eb2","directory":"kemono-heroes","title":"Kemono Heroes","compatibility":0,"releases":[{"id":"0100B61010272000","region":null}]},{"id":"94c273be-c4e3-49bd-bb53-2d3a19ccc7f0","directory":"heroki","title":"Heroki","compatibility":1,"releases":[{"id":"010057300B0DC000","region":null}]},{"id":"94c57dd1-5137-42c4-aa1d-5d0bf73c5bc1","directory":"hollow-knight","title":"Hollow Knight","compatibility":0,"releases":[{"id":"0100633007D48000","region":null}]},{"id":"94db200e-e8f3-400a-9e26-6a4fdb3e7016","directory":"dyna-bomb","title":"Dyna Bomb","compatibility":3,"releases":[{"id":"01007DD00DFDE000","region":null}]},{"id":"94e2aada-3dd6-46ce-85dd-a2af04418947","directory":"slay-the-spire","title":"Slay the Spire","compatibility":3,"releases":[{"id":"010026300BA4A000","region":null}]},{"id":"94f19881-b23a-41d1-99eb-f0f1d3cfb951","directory":"conduct-together","title":"Conduct TOGETHER!","compatibility":1,"releases":[{"id":"010043700C9B0000","region":null}]},{"id":"950871f5-90ae-4864-9527-3c29b51c8864","directory":"handpan","title":"Handpan","compatibility":99,"releases":[{"id":"010086D01674E000","region":null}]},{"id":"9516bf3d-4a56-4812-a59f-028b29d6e384","directory":"aegis-defenders","title":"Aegis Defenders","compatibility":1,"releases":[{"id":"01008E6006502000","region":null}]},{"id":"9537a845-d7d1-4b1a-b558-d1b68d6759fa","directory":"turtlepop-journey-to-freedom","title":"TurtlePop: Journey to Freedom","compatibility":2,"releases":[{"id":"0100B1F0090F2000","region":null}]},{"id":"95576ae2-a958-48a5-abcd-78b77ac14b65","directory":"ice-station-z","title":"Ice Station Z","compatibility":99,"releases":[{"id":"0100954014718000","region":null}]},{"id":"9575451f-7ab8-40c9-a303-0394da68eda8","directory":"aca-neogeo-prehistoric-isle-2","title":"ACA NEOGEO PREHISTORIC ISLE 2","compatibility":99,"releases":[{"id":"0100A7800AFAA000","region":null}]},{"id":"958d48ab-d008-4a90-ba37-01aef0068490","directory":"shark-pinball","title":"Shark Pinball","compatibility":99,"releases":[{"id":"01002F701576A000","region":null}]},{"id":"95902038-6d92-4f12-96a2-29fd6c352e3b","directory":"my-universe-my-baby","title":"My Universe - My Baby","compatibility":99,"releases":[{"id":"0100E20011A06000","region":null}]},{"id":"959de09a-3be2-4db6-bd0e-a2b1900e423e","directory":"miles-and-kilo","title":"Miles & Kilo","compatibility":99,"releases":[{"id":"01004B7009F00000","region":null}]},{"id":"959e3516-9c94-40e8-8bb6-f226f5c1e4df","directory":"strawberry-vinegar","title":"Strawberry Vinegar","compatibility":1,"releases":[{"id":"0100D7E011C64000","region":null}]},{"id":"959eac5c-36ad-4040-96e9-20b2bc2b1812","directory":"colloc","title":"Colloc","compatibility":99,"releases":[{"id":"01007880115E8000","region":null}]},{"id":"95ac0796-2fcb-449c-9f82-ca45ac708a9f","directory":"chill-panda","title":"Chill Panda","compatibility":99,"releases":[{"id":"0100AEF011DF4000","region":null}]},{"id":"95acea0d-456e-4e23-9dc2-292dd347ea0e","directory":"swamp-defense-2","title":"Swamp Defense 2","compatibility":99,"releases":[{"id":"010025000CBEA000","region":null}]},{"id":"95b482b8-9e5b-491f-8bd2-9e73cd62aa60","directory":"wonder-boy-the-dragons-trap","title":"Wonder Boy: The Dragon's Trap","compatibility":0,"releases":[{"id":"0100A6300150C000","region":null}]},{"id":"95c62973-cb16-4997-96f3-1628ab8a7892","directory":"masagoro","title":"MASAGORO","compatibility":99,"releases":[{"id":"0100FEC014F9E000","region":null}]},{"id":"95cbb73f-d0d8-4600-bccc-4483e4e0d687","directory":"arcade-archives-mat-mania-exciting-hour","title":"Arcade Archives MAT MANIA EXCITING HOUR","compatibility":99,"releases":[{"id":"0100C5B009804000","region":null}]},{"id":"95d2afb7-de83-401c-ab93-c1f04320b8ec","directory":"pixel-game-maker-series-remote-bomber","title":"Pixel Game Maker Series Remote Bomber","compatibility":99,"releases":[{"id":"010025501424C000","region":null}]},{"id":"95d4fe11-48e7-4fd8-a14d-2f5364203339","directory":"yuoni-rises","title":"夕鬼 零 Yuoni: Rises","compatibility":99,"releases":[{"id":"01002EE00F48C000","region":null}]},{"id":"95e46f8f-e1f2-4088-aefe-78e4a3e3b766","directory":"sushi-striker-the-way-of-sushido-eshop-demo","title":"Sushi Striker: The Way of Sushido eShop Demo","compatibility":99,"releases":[{"id":"0100FA500B128000","region":null}]},{"id":"95e66041-d6f2-4351-9e1b-4147b960b75a","directory":"nintendo-entertainment-system-nintendo-switch-online","title":"Nintendo Entertainment System - Nintendo Switch Online","compatibility":0,"releases":[{"id":"0100D870045B6000","region":null}]},{"id":"960421b4-8f70-4f3c-802f-c5d9f7dba1a2","directory":"gerrrms","title":"GERRRMS","compatibility":99,"releases":[{"id":"010058F010296000","region":null}]},{"id":"9628cb84-5720-4738-a34f-ebbbc8fb6097","directory":"logic-puzzle-1000","title":"〇× LOGIC PUZZLE 1000 !","compatibility":99,"releases":[{"id":"010091700F76E000","region":null}]},{"id":"964313a1-670c-400a-aa46-ffb87d5279ef","directory":"armed-emeth","title":"Armed Emeth","compatibility":99,"releases":[{"id":"0100BC90155D6000","region":null}]},{"id":"964b3a07-1151-4d96-a9d3-fa23191103e1","directory":"death-tales","title":"Death Tales","compatibility":99,"releases":[{"id":"0100A51013550000","region":null}]},{"id":"964f56be-9aa4-45cc-b428-a0e0ef2c54a3","directory":"the-marauder-chronicles-curse-over-valdria","title":"The Marauder Chronicles: Curse Over Valdria","compatibility":99,"releases":[{"id":"01002620160BC000","region":null}]},{"id":"9660f49b-f0d6-4c38-ac69-bad6da26079b","directory":"sables-grimoire","title":"Sable's Grimoire","compatibility":99,"releases":[{"id":"010086F012E52000","region":null}]},{"id":"967bda2a-91d9-43e8-8425-89c0625aa7e0","directory":"dreamworks-dragons-dawn-of-new-riders","title":"DreamWorks Dragons Dawn of New Riders","compatibility":4,"releases":[{"id":"0100ED200B6FC000","region":null}]},{"id":"967c0cb7-b45c-4342-81fe-ca59763a854b","directory":"brave-dungeon-dark-witch-storycombat","title":"Brave Dungeon + Dark Witch Story:COMBAT","compatibility":2,"releases":[{"id":"01000F5003068000","region":null}]},{"id":"96898fc3-53cc-4c66-8fee-abda7804948a","directory":"mirror","title":"Mirror","compatibility":1,"releases":[{"id":"010080F00F490000","region":null}]},{"id":"968a8444-58f3-4335-98d9-4d09649d27fa","directory":"cooking-simulator","title":"Cooking Simulator","compatibility":99,"releases":[{"id":"01001E400FD58000","region":null}]},{"id":"968d1f3e-b526-4b76-8218-d105660c6ee2","directory":"psikyo-shooting-stars-bravo","title":"Psikyo Shooting Stars Bravo","compatibility":4,"releases":[{"id":"0100D7400F2E4000","region":null}]},{"id":"96917456-1c7b-4d22-b7b1-904577c596b7","directory":"rascal-fight","title":"Rascal Fight","compatibility":99,"releases":[{"id":"0100E73010754000","region":null}]},{"id":"969d1b5a-eb5c-48c2-b381-9c58e16fc199","directory":"timespinner","title":"Timespinner","compatibility":2,"releases":[{"id":"0100DD300CF3A000","region":null}]},{"id":"96ad1115-5c40-49fc-a1f5-32e1d03cb5be","directory":"gibbous-a-cthulhu-adventure","title":"Gibbous - A Cthulhu Adventure","compatibility":3,"releases":[{"id":"0100D95012C0A000","region":null}]},{"id":"96af36ff-297d-42dc-823f-83dc5bfd453f","directory":"johnny-turbos-arcade-break-thru","title":"Johnny Turbo's Arcade: Break Thru","compatibility":99,"releases":[{"id":"010066D002CC8000","region":null}]},{"id":"96b7630c-10d0-4b57-9fe2-d36583b5b5bd","directory":"arcade-archives-p-47","title":"Arcade Archives P-47","compatibility":99,"releases":[{"id":"010067A011FF0000","region":null}]},{"id":"96d2c8ce-7073-42b6-9f8c-fe8a610753d1","directory":"captain-cat","title":"Captain Cat","compatibility":99,"releases":[{"id":"0100D1F00D688000","region":null}]},{"id":"96fb75c6-e008-4810-a25a-baeac4274f0e","directory":"pipe-fitter","title":"Pipe Fitter","compatibility":99,"releases":[{"id":"0100571016352000","region":null}]},{"id":"9705592c-cf51-49d3-ad63-50f3a56abbf8","directory":"eternal-radiance","title":"Eternal Radiance","compatibility":99,"releases":[{"id":"0100F0C014A16000","region":null}]},{"id":"9708b699-e61d-4caa-b63f-9e758ec2b61e","directory":"my-forged-wedding","title":"My Forged Wedding","compatibility":3,"releases":[{"id":"0100D37011F42000","region":null}]},{"id":"971b228d-4f90-46c2-aa30-edfc0e10d194","directory":"windscape","title":"Windscape","compatibility":99,"releases":[{"id":"010059900BA3C000","region":null}]},{"id":"972b0afe-f4d0-4520-9935-ae386c180775","directory":"kubinashi-recollection","title":"Kubinashi Recollection","compatibility":99,"releases":[{"id":"01001A1015B68000","region":null}]},{"id":"9734f8b3-eda8-43e0-a4c5-6c3a880bb8a8","directory":"heart-of-the-woods","title":"Heart of the Woods","compatibility":99,"releases":[{"id":"010031300F666000","region":null}]},{"id":"9742ad27-a933-4347-b0bd-7c1a77114cd9","directory":"pop-blocks","title":"Pop Blocks","compatibility":99,"releases":[{"id":"0100739015DCC000","region":null}]},{"id":"97439c47-3166-4a79-8bfd-f6068a4072e6","directory":"hue","title":"Hue","compatibility":99,"releases":[{"id":"01005A700C9BA000","region":null}]},{"id":"9744120f-848d-4718-8742-f1f37e38d1f9","directory":"family-vacation-2-road-trip","title":"Family Vacation 2: Road Trip","compatibility":99,"releases":[{"id":"0100972015102000","region":null}]},{"id":"97460bc4-66c5-4de7-bfbb-c23476907628","directory":"ender-lilies-quietus-of-the-knights","title":"ENDER LILIES: Quietus of the Knights","compatibility":1,"releases":[{"id":"0100CCF012E9A000","region":null}]},{"id":"974d9e04-4444-41c9-aa9e-3ff8ecd1a334","directory":"bubble-shooter-dx","title":"Bubble Shooter DX","compatibility":99,"releases":[{"id":"010053B00D26E000","region":null}]},{"id":"97514c58-b0ff-4a4d-9426-2beb08f00acf","directory":"fairy-tail","title":"FAIRY TAIL","compatibility":1,"releases":[{"id":"0100CF900FA3E000","region":null}]},{"id":"975b8b22-6c24-4358-92f9-087cfc210931","directory":"retimed-demo","title":"Retimed Demo","compatibility":99,"releases":[{"id":"0100A8200D0EE000","region":null}]},{"id":"975c8545-425a-4b40-9d20-b389c2bdf24e","directory":"element","title":"Element","compatibility":3,"releases":[{"id":"0100A6700AF10000","region":null}]},{"id":"975e6ac1-21d4-4dee-ac1c-4efe736cbf98","directory":"i-ai","title":"I, AI","compatibility":99,"releases":[{"id":"01009CE01261C000","region":null}]},{"id":"9768e0c9-33c4-41a6-b57b-ce2395e49b28","directory":"good-pizza-great-pizza","title":"Good Pizza, Great Pizza","compatibility":1,"releases":[{"id":"0100F610122F6000","region":null}]},{"id":"976f37ed-eca7-4049-89cf-9478c2e1ad04","directory":"battleship","title":"BATTLESHIP","compatibility":99,"releases":[{"id":"0100F0400C878000","region":null}]},{"id":"9778aa2e-c185-49a2-8aa4-59d19e743112","directory":"disaster-report-4-summer-memories","title":"Disaster Report 4: Summer Memories","compatibility":4,"releases":[{"id":"010020700E2A2000","region":null}]},{"id":"977b58db-7f13-4e66-bdb6-942e1acd67d8","directory":"chroma-squad","title":"Chroma Squad","compatibility":99,"releases":[{"id":"010012E00EA66000","region":null}]},{"id":"977d8140-1172-434e-8c4f-510861780e34","directory":"darius-cozmic-collection-console","title":"Darius Cozmic Collection Console","compatibility":0,"releases":[{"id":"01000330105BE000","region":null}]},{"id":"978509c1-b386-421d-ac84-ab0ec3534e16","directory":"eight-dragons","title":"Eight Dragons","compatibility":99,"releases":[{"id":"01003AD013BD2000","region":null}]},{"id":"979ae6b6-484b-4d79-bba5-6ed0516f6a09","directory":"ni-no-kuni-wrath-of-the-white-witch","title":"Ni no Kuni: Wrath of the White Witch","compatibility":1,"releases":[{"id":"0100E5600D446000","region":null}]},{"id":"979fa651-1413-4221-aa12-20c1a94d6ce8","directory":"mary-kay-andrews-the-fixer-upper","title":"Mary Kay Andrews: The Fixer Upper","compatibility":99,"releases":[{"id":"0100232015D6E000","region":null}]},{"id":"97a6a34f-def2-4e4d-881d-6c8055ed699a","directory":"jim-is-moving-out","title":"Jim is Moving Out!","compatibility":99,"releases":[{"id":"01001F5006DF6000","region":null}]},{"id":"97a932e0-4bd9-448d-9fe2-08b5b2dc20b1","directory":"old-school-musical","title":"Old School Musical","compatibility":99,"releases":[{"id":"0100C3D00923A000","region":null}]},{"id":"97b71d31-1655-480a-a43d-c758cd5faba9","directory":"fitness-boxing","title":"Fitness Boxing","compatibility":0,"releases":[{"id":"0100E7300AAD4000","region":null}]},{"id":"97b8037b-383b-4eb6-8d88-8d77bff2bd23","directory":"grid-mania","title":"Grid Mania","compatibility":1,"releases":[{"id":"010031200981C000","region":null}]},{"id":"97c66a86-32ee-4652-af7f-04290673cb51","directory":"mars-power-industries","title":"Mars Power Industries","compatibility":99,"releases":[{"id":"01003B900ED8C000","region":null}]},{"id":"97d866e6-cd9f-4339-8922-3c946cfc73c0","directory":"bomb-chicken","title":"Bomb Chicken","compatibility":0,"releases":[{"id":"01008AF00A532000","region":null}]},{"id":"97d88a35-65a1-4d61-890d-2a0a036cdaf7","directory":"thomas-was-alone","title":"Thomas Was Alone","compatibility":99,"releases":[{"id":"010019D0126E2000","region":null}]},{"id":"97e8ec9d-7723-444c-9d96-da49ddd698ee","directory":"animated-jigsaws-wild-animals","title":"Animated Jigsaws: Wild Animals","compatibility":99,"releases":[{"id":"01004A200C236000","region":null}]},{"id":"97f66dc9-aa12-4fa3-8204-c566cc268587","directory":"deaths-hangover","title":"Death's Hangover","compatibility":5,"releases":[{"id":"0100492011A8A000","region":null}]},{"id":"97f8c6da-3a72-494e-983d-799c2dc9c5ea","directory":"get-a-grip-chip","title":"Get-A-Grip Chip","compatibility":99,"releases":[{"id":"01003AA01373C000","region":null}]},{"id":"981caa8c-c99d-4e83-aacc-f671e8cc74bb","directory":"drunk-fu-wasted-masters","title":"Drunk-Fu: Wasted Masters","compatibility":99,"releases":[{"id":"0100F2400CF00000","region":null}]},{"id":"98231b5e-bb20-4678-a3f8-9434af45331d","directory":"twin-robots-ultimate-edition","title":"Twin Robots: Ultimate Edition","compatibility":99,"releases":[{"id":"0100047009742000","region":null}]},{"id":"9839f061-4b81-4e1b-8e7e-4d68e56512cb","directory":"holy-potatoes-were-in-space","title":"Holy Potatoes! We're In Space?!","compatibility":5,"releases":[{"id":"010096B009E12000","region":null}]},{"id":"9840c366-a7b7-4e0d-a9d7-ade0058a199b","directory":"0x0-minimalist","title":"0x0 Minimalist","compatibility":99,"releases":[{"id":"01001E3013FC4000","region":null}]},{"id":"98418511-0da2-4d68-a960-7c45fd7d8ba8","directory":"steamworld-quest-hand-of-gilgamech","title":"SteamWorld Quest: Hand of Gilgamech","compatibility":3,"releases":[{"id":"0100F6D00D83E000","region":null}]},{"id":"98422872-ad78-4185-96a9-0901e4ac2bb0","directory":"shantae-and-the-seven-sirens","title":"Shantae and the Seven Sirens","compatibility":0,"releases":[{"id":"0100EB901040A000","region":null}]},{"id":"984e8e0d-4571-4a07-bc0b-7f8514e28510","directory":"islanders","title":"ISLANDERS","compatibility":99,"releases":[{"id":"0100522014E10000","region":null}]},{"id":"9850f969-8b53-4678-a98c-f0698055b5b1","directory":"big-pharma","title":"Big Pharma","compatibility":99,"releases":[{"id":"010077E00F30E000","region":null}]},{"id":"986382e2-2f62-4fcc-b85f-9f1e63f15d42","directory":"ploid-saga","title":"PLOID SAGA","compatibility":99,"releases":[{"id":"0100E5B011F48000","region":null}]},{"id":"986ca139-9a3a-4c0c-bab5-333de2c72e2a","directory":"holedown","title":"holedown","compatibility":99,"releases":[{"id":"01003CE00EAF0000","region":null}]},{"id":"9878d205-d4e9-4bb9-987a-4d86b3ba1c09","directory":"swapperoo","title":"Swapperoo","compatibility":99,"releases":[{"id":"0100B110113FA000","region":null}]},{"id":"9879605e-1878-49e8-bf6f-40da14d11b6d","directory":"voxel-sword","title":"Voxel Sword","compatibility":99,"releases":[{"id":"0100BFB00D1F4000","region":null}]},{"id":"987ffda6-11a2-4451-9d2d-1fae42a7c79e","directory":"bouncing-hero","title":"Bouncing Hero","compatibility":99,"releases":[{"id":"010010D010632000","region":null}]},{"id":"988131c4-7d47-408d-b09d-972d1bca7007","directory":"aluna-sentinel-of-the-shards","title":"Aluna: Sentinel of the Shards","compatibility":4,"releases":[{"id":"010045201487C000","region":null}]},{"id":"988d5756-b5c1-4f41-b097-3085de144e7c","directory":"war-of-stealth-assassin","title":"War Of Stealth - assassin","compatibility":99,"releases":[{"id":"01004FA01391A000","region":null}]},{"id":"9894432d-f9a8-4b9b-9af3-dffdabba8667","directory":"tarot-readings-premium","title":"Tarot Readings Premium","compatibility":99,"releases":[{"id":"010029100B75C000","region":null}]},{"id":"989b01b7-a266-45d5-9008-fa52673bc244","directory":"run-the-fan","title":"Run the Fan","compatibility":0,"releases":[{"id":"010074F00DE4A000","region":null}]},{"id":"989f950d-1eca-4376-ae21-3bc23536a538","directory":"slice-dice-and-rice","title":"Slice, Dice & Rice","compatibility":1,"releases":[{"id":"0100F4500AA4E000","region":null}]},{"id":"98af54ee-f935-4633-b41b-bd2d1dbb6323","directory":"yiik-a-postmodern-rpg","title":"YIIK: A Postmodern RPG","compatibility":2,"releases":[{"id":"0100634008266000","region":null}]},{"id":"98b24315-4182-4801-aefc-18f0f45749c3","directory":"johnny-turbos-arcade-gate-of-doom","title":"Johnny Turbo's Arcade: Gate Of Doom","compatibility":2,"releases":[{"id":"010069B002CDE000","region":null}]},{"id":"98bb0182-5d54-437a-85bc-f6a3b4735abd","directory":"tardy","title":"Tardy","compatibility":99,"releases":[{"id":"01008B200D748000","region":null}]},{"id":"98c72921-ab7b-40b2-a0a1-94b6b884a5a7","directory":"never-stop-sneakin","title":"Never Stop Sneakin'","compatibility":1,"releases":[{"id":"0100A70006B8A000","region":null}]},{"id":"98d60610-cf65-4bcd-8a9b-6bcab97db8f4","directory":"where-are-my-friends","title":"Where Are My Friends?","compatibility":99,"releases":[{"id":"0100FDB0092B4000","region":null}]},{"id":"98d86bca-088d-4aaa-9cfe-0f4739366a83","directory":"punch-club","title":"Punch Club","compatibility":2,"releases":[{"id":"0100A6000ACEA000","region":null}]},{"id":"98e101c9-17d2-4e1c-ba56-c8c3868a3892","directory":"nine-witches-family-disruption","title":"Nine Witches: Family Disruption","compatibility":0,"releases":[{"id":"01006790101A2000","region":null}]},{"id":"98f9a637-368e-407b-932e-36404a7a1a50","directory":"tiny-world-racing","title":"Tiny World Racing","compatibility":99,"releases":[{"id":"0100F3D013568000","region":null}]},{"id":"98fd0359-9d7f-4885-bd74-4a2413bbe49f","directory":"pitfall-planet","title":"Pitfall Planet","compatibility":2,"releases":[{"id":"0100AFC00A680000","region":null}]},{"id":"991327eb-9e09-4c0a-81a5-7655266ea2a9","directory":"evil-inside","title":"Evil Inside","compatibility":99,"releases":[{"id":"01002E800D44E000","region":null}]},{"id":"9919ac5d-91aa-4557-8ac5-08abb77d6fec","directory":"warlocks-2-god-slayers","title":"Warlocks 2: God Slayers","compatibility":99,"releases":[{"id":"0100E0400E320000","region":null}]},{"id":"99251eb2-ebd4-43ec-9f65-89260529f743","directory":"aca-neogeo-the-king-of-fighters-2001","title":"ACA NEOGEO THE KING OF FIGHTERS 2001","compatibility":5,"releases":[{"id":"010048200AFC2000","region":null}]},{"id":"99297283-4d6a-4d3f-a581-fb3fd1a06a80","directory":"neonwall","title":"Neonwall","compatibility":99,"releases":[{"id":"0100743008694000","region":null}]},{"id":"99384d0b-d8e0-45ff-a44e-2185241d825a","directory":"lunas-fishing-garden","title":"Luna's Fishing Garden","compatibility":0,"releases":[{"id":"0100374015A2C000","region":null}]},{"id":"993a34ce-2660-49e4-9f35-da21e017c70f","directory":"south-park-the-fractured-but-whole-standard-edition","title":"South Park: The Fractured but Whole - Standard Edition","compatibility":5,"releases":[{"id":"01008F2005154000","region":null}]},{"id":"995c75b7-406c-4f1a-b010-a9c485e65894","directory":"station-manager","title":"Station Manager","compatibility":0,"releases":[{"id":"010087000FD2A000","region":null}]},{"id":"996c41b3-0bfb-42f9-abeb-ab74a0b55d09","directory":"pixel-action-heroes","title":"Pixel Action Heroes","compatibility":99,"releases":[{"id":"0100F5B007638000","region":null}]},{"id":"99982b4a-0ee8-489b-b0a5-76529657df29","directory":"shadow-bug","title":"Shadow Bug","compatibility":0,"releases":[{"id":"01007D9007792000","region":null}]},{"id":"999c63bc-fbde-4828-be7d-c71f94fb04f6","directory":"farmers-dynasty","title":"Farmer's Dynasty","compatibility":99,"releases":[{"id":"010055600516C000","region":null}]},{"id":"99b16737-6a39-4b5a-9c71-f171875a4be2","directory":"my-little-ramenbar","title":"My Little Ramenbar","compatibility":99,"releases":[{"id":"01001A4015F3A000","region":null}]},{"id":"99b66a37-8923-4b49-b6fb-468f79089f81","directory":"infinite-golf-2","title":"Infinite Golf 2","compatibility":99,"releases":[{"id":"0100AB801507C000","region":null}]},{"id":"99ba9711-81ba-467a-b7c8-1e70d9a0aee4","directory":"heroes-of-loot","title":"Heroes of Loot","compatibility":3,"releases":[{"id":"010091E01330C000","region":null}]},{"id":"99c338e8-6bcd-490c-9ffe-57982eab7ffe","directory":"crazy-zen-mini-golf","title":"Crazy Zen Mini Golf","compatibility":1,"releases":[{"id":"0100F9900D8C8000","region":null}]},{"id":"99dc85fc-b7ed-4235-896b-861eaf81976c","directory":"sushi-striker-the-way-of-sushido","title":"Sushi Striker: The Way of Sushido","compatibility":1,"releases":[{"id":"0100DDD0085A4000","region":null}]},{"id":"99ddde39-4a11-4e04-a1a8-6ad5e6a5c7be","directory":"shmup-collection","title":"Shmup Collection","compatibility":3,"releases":[{"id":"01000A601139E000","region":null}]},{"id":"99e302f2-2e38-4eb7-ac62-97e7803d6228","directory":"devious-dungeon-collection","title":"Devious Dungeon Collection","compatibility":99,"releases":[{"id":"010040F011DE4000","region":null}]},{"id":"99eb0522-1872-4eb9-a18b-a2ed0a8fbd91","directory":"twin-breaker-a-sacred-symbols-adventure","title":"Twin Breaker: A Sacred Symbols Adventure","compatibility":99,"releases":[{"id":"0100C68012128000","region":null}]},{"id":"9a13c374-d8ec-44a9-9ea7-1f5592c8e9ef","directory":"adventure-field-4","title":"Adventure Field 4","compatibility":99,"releases":[{"id":"0100E140149F0000","region":null}]},{"id":"9a158abb-7235-4f91-8484-8d4a54276465","directory":"nira","title":"Nira","compatibility":99,"releases":[{"id":"01001A6013E8A000","region":null}]},{"id":"9a281ac5-8c41-4758-b839-d74c57af47d4","directory":"rbi-baseball-20","title":"R.B.I. Baseball 20","compatibility":1,"releases":[{"id":"010061400E7D4000","region":null}]},{"id":"9a3297ba-c575-4e59-9ad4-7586357beaf9","directory":"enchanting-mahjong-match","title":"Enchanting Mahjong Match","compatibility":1,"releases":[{"id":"01007A4008486000","region":null}]},{"id":"9a4a7112-d553-431e-b69d-23f5394f5ccb","directory":"crazy-gravity","title":"Crazy Gravity","compatibility":99,"releases":[{"id":"01007CC015A7A000","region":null}]},{"id":"9a521185-b7ab-4137-99cd-2a27bd2c48b2","directory":"arcade-archives-athena","title":"Arcade Archives ATHENA","compatibility":5,"releases":[{"id":"0100BEC00C7A2000","region":null}]},{"id":"9a531632-a64e-43e7-a685-341b4600e2a8","directory":"silent-world","title":"Silent World","compatibility":99,"releases":[{"id":"0100A32010618000","region":null}]},{"id":"9a552409-7efd-415f-b053-4ea1109b3d83","directory":"jumping-joe-and-friends","title":"Jumping Joe & Friends","compatibility":0,"releases":[{"id":"0100D87009954000","region":null}]},{"id":"9a58b646-2b55-4c13-9585-0d1feaaf4de8","directory":"solo-islands-of-the-heart","title":"Solo: Islands of the Heart","compatibility":99,"releases":[{"id":"010008600D1AC000","region":null}]},{"id":"9a68faa7-1b8b-40e8-bfc1-646e709e4073","directory":"vandals","title":"Vandals","compatibility":99,"releases":[{"id":"01007C500D650000","region":null}]},{"id":"9a6b122a-cb63-40a3-b426-4d396761e029","directory":"speed-dating-for-ghosts","title":"Speed Dating for Ghosts","compatibility":99,"releases":[{"id":"0100E22010D06000","region":null}]},{"id":"9a765a44-ed96-44eb-9b3c-71924c394a66","directory":"bubble-bubble-ocean","title":"Bubble Bubble Ocean","compatibility":99,"releases":[{"id":"01006B5013EF2000","region":null}]},{"id":"9a812505-4fe6-4f18-8810-55eab8472339","directory":"indiecalypse","title":"Indiecalypse","compatibility":99,"releases":[{"id":"010002A00CD68000","region":null}]},{"id":"9a87136a-6e4f-49fd-af41-d37d0fc4cc83","directory":"space-blast-zom-a-matching-game","title":"Space Blast Zom A Matching Game","compatibility":99,"releases":[{"id":"0100C65013DA0000","region":null}]},{"id":"9a98f236-86c3-458c-bc93-5dfe2764c93e","directory":"top-gun-air-combat","title":"Top Gun Air Combat","compatibility":99,"releases":[{"id":"0100B190137F2000","region":null}]},{"id":"9a9b1a8b-ee94-4b31-9860-66603d2250ec","directory":"manticore-galaxy-on-fire","title":"Manticore - Galaxy on Fire","compatibility":5,"releases":[{"id":"0100C9A00952A000","region":null}]},{"id":"9aa13636-c2d2-48c9-b9c1-4213d94d822d","directory":"american-ninja-warrior-challenge","title":"American Ninja Warrior: Challenge","compatibility":0,"releases":[{"id":"010089D00A3FA000","region":null}]},{"id":"9ac58ef0-8309-496b-a318-b604c9203367","directory":"travis-strikes-again-no-more-heroes","title":"Travis Strikes Again: No More Heroes","compatibility":0,"releases":[{"id":"010011600C946000","region":null}]},{"id":"9ac6fd2c-e531-40e3-a8fa-2646c67337cb","directory":"slot","title":"Slot","compatibility":0,"releases":[{"id":"01007DD011608000","region":null}]},{"id":"9acf29ff-cad6-45d4-9783-739973c17b74","directory":"qv","title":"QV","compatibility":99,"releases":[{"id":"010015D0127D6000","region":null}]},{"id":"9ad5b99b-7483-43ef-bb68-e96c46c0a2e2","directory":"broken-sword-5-the-serpents-curse","title":"Broken Sword 5 - the Serpent's Curse","compatibility":4,"releases":[{"id":"01001E60085E6000","region":null}]},{"id":"9adb76b7-f384-492a-9a60-e0a760efb49f","directory":"the-snake-king","title":"The Snake King","compatibility":99,"releases":[{"id":"0100205011C54000","region":null}]},{"id":"9adf512f-7be6-4714-b0bd-884e9a7f8ceb","directory":"elemental-knights-r","title":"Elemental Knights R","compatibility":4,"releases":[{"id":"01005FA009370000","region":null}]},{"id":"9ae179c9-8095-4f37-86ff-2b0dfd62386c","directory":"viviette","title":"Viviette","compatibility":1,"releases":[{"id":"010037900CB1C000","region":null}]},{"id":"9ae27836-7e1e-4f66-87fd-58c18b0efd84","directory":"arcade-archives-phozon","title":"Arcade Archives PHOZON","compatibility":99,"releases":[{"id":"010016E015D26000","region":null}]},{"id":"9ae3173c-f0a2-4f0c-a730-043f50064c73","directory":"roarr-jurassic-edition","title":"Roarr! Jurassic Edition","compatibility":99,"releases":[{"id":"010068200C5BE000","region":null}]},{"id":"9af8db5a-313e-4425-95c0-95db13340ac8","directory":"luckslinger","title":"Luckslinger","compatibility":99,"releases":[{"id":"0100EAB00B196000","region":null}]},{"id":"9b006db4-725f-4d92-9a06-bef9cc7e1be2","directory":"astro-rangers","title":"Astro Rangers","compatibility":99,"releases":[{"id":"01007B4016D58000","region":null}]},{"id":"9b010ce7-b748-4bc1-a889-9285e343014b","directory":"combat-core-demo","title":"Combat Core (Demo)","compatibility":99,"releases":[{"id":"01009BC00C0A0000","region":null}]},{"id":"9b05587e-68fb-4957-ad28-bf759646bc4c","directory":"cecconoid","title":"Cecconoid","compatibility":99,"releases":[{"id":"01007A1012852000","region":null}]},{"id":"9b0c4d80-f527-4012-b672-8c2e5d645619","directory":"graceful-explosion-machine-demo","title":"Graceful Explosion Machine Demo","compatibility":99,"releases":[{"id":"0100F1000CF16000","region":null}]},{"id":"9b12338f-2139-434d-84e0-bd67028c3f7b","directory":"assault-gunners-hd-edition","title":"ASSAULT GUNNERS HD EDITION","compatibility":0,"releases":[{"id":"01009A400A97C000","region":null}]},{"id":"9b12b7c8-6671-4845-b0b1-58d63cc6c0ee","directory":"grisaia-phantom-trigger-01-to-05","title":"GRISAIA PHANTOM TRIGGER 01 to 05","compatibility":2,"releases":[{"id":"01004AB0133E8000","region":null}]},{"id":"9b32a114-ab7b-4d6a-9a03-7a5c98ce0b82","directory":"the-bullet-time-of-revenge","title":"The Bullet: Time of Revenge","compatibility":99,"releases":[{"id":"01003720118E0000","region":null}]},{"id":"9b571cd1-eea3-4d11-b189-14fb73f39a74","directory":"armed-7-dx","title":"Armed 7 DX","compatibility":99,"releases":[{"id":"0100C5B0113A0000","region":null}]},{"id":"9b6b9cff-dfc0-4a41-9339-f8593470e4a5","directory":"infinite-adventures-r","title":"Infinite Adventures®","compatibility":99,"releases":[{"id":"01008C1011F2E000","region":null}]},{"id":"9b734c87-cd9d-4224-ad74-0194fac19b4e","directory":"paw-patrol-the-movie-adventure-city-calls","title":"PAW Patrol The Movie: Adventure City Calls","compatibility":1,"releases":[{"id":"0100FFE013628000","region":null}]},{"id":"9b8705db-ba25-43bd-805c-ca3350b44870","directory":"grass-cutter-mutated-lawns","title":"Grass Cutter - Mutated Lawns","compatibility":99,"releases":[{"id":"010028200E132000","region":null}]},{"id":"9b8bb282-1a4a-40b2-9246-7ec8f410526a","directory":"the-dark-crystal-age-of-resistance-tactics","title":"The Dark Crystal: Age of Resistance Tactics","compatibility":99,"releases":[{"id":"010051800E922000","region":null}]},{"id":"9b8ef9c4-eeb1-4df9-b01f-e6c6883be0f3","directory":"arcade-archives-sky-skipper","title":"Arcade Archives Sky Skipper","compatibility":4,"releases":[{"id":"010008F00B054000","region":null}]},{"id":"9b9a9ddb-88ba-4304-a95c-4538c9dbf164","directory":"growtopia","title":"Growtopia","compatibility":99,"releases":[{"id":"010065F00BE6C000","region":null}]},{"id":"9b9ed157-ce30-4fdf-90be-9e29c524e54a","directory":"atv-drift-and-tricks","title":"ATV Drift & Tricks","compatibility":3,"releases":[{"id":"01000F600B01E000","region":null}]},{"id":"9ba1f4dd-2634-4048-aea1-3f7cd0f7485f","directory":"defend-your-castle","title":"Defend Your Castle","compatibility":2,"releases":[{"id":"01006E600D9C2000","region":null}]},{"id":"9ba3b900-54e8-49e9-92a5-5ed63d78e504","directory":"masters-of-anima","title":"Masters of Anima","compatibility":3,"releases":[{"id":"0100CC7009196000","region":null}]},{"id":"9bad4425-6f68-40a9-a738-87b0c1b18fb3","directory":"oninaki","title":"ONINAKI","compatibility":1,"releases":[{"id":"01001AF00CE54000","region":null}]},{"id":"9bbe537c-5a2c-4e2d-a656-37a715d4eea9","directory":"puss","title":"PUSS!","compatibility":1,"releases":[{"id":"010069401270E000","region":null}]},{"id":"9bc07bd7-deb0-484c-8856-c3a213c013c8","directory":"unlock-the-king-2","title":"Unlock the King 2","compatibility":99,"releases":[{"id":"0100A3E011CB0000","region":null}]},{"id":"9bc40694-eec7-4142-88ea-4b595901249b","directory":"monopoly-for-nintendo-switch","title":"MONOPOLY for Nintendo Switch","compatibility":1,"releases":[{"id":"01007430037F6000","region":null}]},{"id":"9bce7c5b-0e8a-4fc9-89ac-415f8b57abb5","directory":"crocs-world-run-demo","title":"Croc's World Run Demo","compatibility":99,"releases":[{"id":"01009A500D8CC000","region":null}]},{"id":"9bcffe9f-4950-4847-800d-fca3e69203b7","directory":"undead-beyond","title":"Undead & Beyond","compatibility":1,"releases":[{"id":"010076F011F54000","region":null}]},{"id":"9bdc8670-392f-4222-86e1-094130443cf8","directory":"hang-the-kings","title":"Hang The Kings","compatibility":99,"releases":[{"id":"0100973011358000","region":null}]},{"id":"9bf8fbe5-130e-4f09-aaf5-5d938ec8ffcb","directory":"steamworld-dig-2","title":"SteamWorld Dig 2","compatibility":1,"releases":[{"id":"0100CA9002322000","region":null}]},{"id":"9c026dc4-58c7-4989-bbd4-820365fde1ef","directory":"farmquest","title":"Farmquest","compatibility":99,"releases":[{"id":"01008FC016886000","region":null}]},{"id":"9c02c471-cb72-4e05-810d-10cd5822d24a","directory":"utopia-9-a-volatile-vacation","title":"UTOPIA 9 - A Volatile Vacation","compatibility":99,"releases":[{"id":"010029B00CC3E000","region":null}]},{"id":"9c2531d8-fa29-431e-87bf-0cbc8cee4ae7","directory":"snowrunner","title":"SnowRunner","compatibility":2,"releases":[{"id":"0100FBD013AB6000","region":null}]},{"id":"9c2b02fb-131a-4604-b92d-115e1df68301","directory":"nexomon","title":"Nexomon","compatibility":99,"releases":[{"id":"01000BE0156B2000","region":null}]},{"id":"9c30b2c9-76d7-42af-a5c7-9d9779914eee","directory":"micro-pico-racers","title":"Micro Pico Racers","compatibility":0,"releases":[{"id":"0100E5E012744000","region":null}]},{"id":"9c3af3e3-152c-440e-ba10-1b5f846b26cb","directory":"party-trivia","title":"Party Trivia","compatibility":99,"releases":[{"id":"0100DBD00ABF4000","region":null}]},{"id":"9c4d866f-ea51-42ba-b113-df509efd90d8","directory":"enigmatis-the-ghosts-of-maple-creek","title":"Enigmatis: The Ghosts of Maple Creek","compatibility":99,"releases":[{"id":"0100BB20152BA000","region":null}]},{"id":"9c51213a-1793-4c4d-a599-7f069ab017a0","directory":"horse-club-adventures","title":"Horse Club Adventures","compatibility":99,"releases":[{"id":"0100A6B012932000","region":null}]},{"id":"9c55cc8f-ebcb-4fd5-aa83-f7542b3b6f9f","directory":"mario-golf-super-rush","title":"Mario Golf™: Super Rush","compatibility":2,"releases":[{"id":"0100C9C00E25C000","region":null}]},{"id":"9c58730d-a79a-4882-890b-a83f9378be48","directory":"my-singing-monsters-playground","title":"My Singing Monsters Playground","compatibility":99,"releases":[{"id":"0100A23015182000","region":null}]},{"id":"9c64c1b2-ae31-4c8b-8d5f-27338f49e2e6","directory":"bridge-constructor-portal","title":"Bridge Constructor Portal","compatibility":0,"releases":[{"id":"010016E004796000","region":null}]},{"id":"9c73e313-eefd-4559-9153-ded6a5ceb5d3","directory":"destroy-all-humans","title":"Destroy All Humans!","compatibility":99,"releases":[{"id":"01009E701356A000","region":null}]},{"id":"9ca38fd0-c2fd-4edd-8010-a69947f25c88","directory":"thea-2-the-shattering","title":"Thea 2: The Shattering","compatibility":99,"releases":[{"id":"0100612015862000","region":null}]},{"id":"9caa8e7f-253a-4236-8786-4d2f4447daca","directory":"zombie-panic-in-wonderland-dx","title":"Zombie Panic in Wonderland DX","compatibility":2,"releases":[{"id":"0100A8600D566000","region":null}]},{"id":"9cb21241-80f2-4e9a-a3b4-abcba61e636a","directory":"notes","title":"Notes","compatibility":99,"releases":[{"id":"01009A90155BC000","region":null}]},{"id":"9cc58289-ec31-4ff3-8af3-70af1b152833","directory":"proficient-paddles-deluxe","title":"Proficient Paddles Deluxe","compatibility":99,"releases":[{"id":"0100E8B00CBD6000","region":null}]},{"id":"9cdfae4f-ccf6-4acd-92af-81acc6caedcd","directory":"kona","title":"Kona","compatibility":1,"releases":[{"id":"0100464009294000","region":null}]},{"id":"9ce50f0e-4086-45b0-88b2-47db1b263fe2","directory":"double-switch-25th-anniversary-edition","title":"Double Switch - 25th Anniversary Edition","compatibility":99,"releases":[{"id":"0100FC000EE10000","region":null}]},{"id":"9cf0bb32-b7e7-4a5f-ba2d-26bd690a856d","directory":"never-breakup","title":"Never Breakup","compatibility":99,"releases":[{"id":"010039801093A000","region":null}]},{"id":"9cf9d0fa-49b1-4a70-8800-de60ed7f8c1e","directory":"devil-engine","title":"Devil Engine","compatibility":2,"releases":[{"id":"010031B00CF66000","region":null}]},{"id":"9d07673a-cd1d-4dfe-8959-e1328dac672a","directory":"feudal-alloy","title":"Feudal Alloy","compatibility":99,"releases":[{"id":"0100AA3009738000","region":null}]},{"id":"9d07834d-3939-40d2-bebc-5f490004d6c1","directory":"pretty-girls-klondike-solitaire","title":"Pretty Girls Klondike Solitaire","compatibility":99,"releases":[{"id":"01004F90149D2000","region":null}]},{"id":"9d12f383-96b8-4821-9a5a-5f0ea71ab119","directory":"super-space-serpent-secondary-edition","title":"Super Space Serpent Secondary Edition","compatibility":99,"releases":[{"id":"0100BD50129C4000","region":null}]},{"id":"9d19a3d0-d699-447b-8561-034c80156201","directory":"a-case-of-distrust","title":"A Case of Distrust","compatibility":99,"releases":[{"id":"0100CDB00BC94000","region":null}]},{"id":"9d1f0528-607f-4e7a-9dac-7f0ce148c689","directory":"maddening-euphoria","title":"Maddening Euphoria","compatibility":99,"releases":[{"id":"01003DF00E328000","region":null}]},{"id":"9d342a94-a0a7-437b-be47-cdfa3adf8fc3","directory":"derpy-conga","title":"Derpy Conga","compatibility":99,"releases":[{"id":"01002430155DA000","region":null}]},{"id":"9d368981-9f1d-4070-8d8c-7a7d63007bda","directory":"travel-mosaics-a-paris-tour","title":"Travel Mosaics: A Paris Tour","compatibility":99,"releases":[{"id":"01007DB00A226000","region":null}]},{"id":"9d3bfbc3-fca2-47d7-b68a-b1ac360a2bae","directory":"nightmares-from-the-deep-2-the-sirens-call","title":"Nightmares from the Deep 2: The Siren`s Call","compatibility":99,"releases":[{"id":"01006E700B702000","region":null}]},{"id":"9d48b55e-7c7b-420b-af89-71ec894f643c","directory":"glam","title":"Glam","compatibility":99,"releases":[{"id":"0100F0E013F16000","region":null}]},{"id":"9d4a244a-79d2-4363-8a64-11c13a34827b","directory":"acorn-tactics","title":"ACORN Tactics","compatibility":1,"releases":[{"id":"0100DBC0081A4000","region":null}]},{"id":"9d5eb22c-dba1-4d0f-8d09-fdda78d24eef","directory":"off-and-on-again","title":"Off And On Again","compatibility":99,"releases":[{"id":"01006F5013202000","region":null}]},{"id":"9d72ffb7-9871-4486-8a0f-194583eac624","directory":"aeolis-tournament","title":"Aeolis Tournament","compatibility":99,"releases":[{"id":"010001C011354000","region":null}]},{"id":"9d863e19-d1ed-46ac-a3ef-9a9d6a8de161","directory":"signs-of-the-sojourner","title":"Signs of the Sojourner","compatibility":99,"releases":[{"id":"0100E03012B3C000","region":null}]},{"id":"9d870153-2adb-437c-969b-05e438855cf8","directory":"beyond-enemy-lines-remastered-edition","title":"Beyond Enemy Lines - Remastered Edition","compatibility":99,"releases":[{"id":"0100AE7010434000","region":null}]},{"id":"9d89a55c-c83f-48e0-8aec-f15e44bba43d","directory":"shantae-and-the-pirates-curse","title":"Shantae and the Pirate's Curse","compatibility":1,"releases":[{"id":"0100EFD00A4FA000","region":null}]},{"id":"9d9881ca-44d4-4268-b3fc-0ff7b87b8329","directory":"soccer-slammers","title":"Soccer Slammers","compatibility":99,"releases":[{"id":"010011A00A9A8000","region":null}]},{"id":"9d9bbb6d-edaf-482c-a3ee-acdbcbe91186","directory":"code-shifter","title":"CODE SHIFTER","compatibility":99,"releases":[{"id":"010086100CDCA000","region":null}]},{"id":"9d9f8fd4-c465-45d0-ba05-86e184b3f96a","directory":"road-fury","title":"Road Fury","compatibility":99,"releases":[{"id":"010062C014050000","region":null}]},{"id":"9dac47c8-3377-4207-b841-4ecd56117889","directory":"path-of-giants","title":"Path of Giants","compatibility":99,"releases":[{"id":"0100CAD011462000","region":null}]},{"id":"9db13963-d8e1-4dd5-8d43-e7e519de970b","directory":"break-dot","title":"BREAK DOT","compatibility":99,"releases":[{"id":"010086E01037C000","region":null}]},{"id":"9db5e47a-5b8c-4473-84f0-2d25cd6195ef","directory":"sega-ages-ichidant-r","title":"SEGA AGES Ichidant-R","compatibility":99,"releases":[{"id":"010025200E30C000","region":null}]},{"id":"9db9136d-53b0-403e-9a52-cae409893722","directory":"fury-unleashed","title":"Fury Unleashed","compatibility":1,"releases":[{"id":"0100ECE00C0C4000","region":null}]},{"id":"9dbf54e9-7328-43fc-9df0-e78995e187e4","directory":"ape-out","title":"Ape Out","compatibility":3,"releases":[{"id":"01005B100C268000","region":null}]},{"id":"9dd00039-f8e5-43c0-9bbb-75c2c4d2c840","directory":"the-longing","title":"The Longing","compatibility":2,"releases":[{"id":"0100F3D0122C2000","region":null}]},{"id":"9dd17ebf-68dc-4e23-b1e3-56404cd5ffb0","directory":"blaster-master-zero-2","title":"Blaster Master Zero 2","compatibility":0,"releases":[{"id":"01005AA00D676000","region":null}]},{"id":"9de75681-fc27-40e1-8274-430fcc4a26af","directory":"aca-neogeo-real-bout-fatal-fury-2","title":"ACA NEOGEO REAL BOUT FATAL FURY 2","compatibility":4,"releases":[{"id":"0100CF3008798000","region":null}]},{"id":"9de872ad-d12e-4581-a36d-7dfd8c1dc53a","directory":"crazy-trucks","title":"Crazy Trucks","compatibility":1,"releases":[{"id":"0100079016724000","region":null}]},{"id":"9dee4524-6a71-476b-b166-92a94b0dde2d","directory":"limbo","title":"LIMBO","compatibility":2,"releases":[{"id":"01009C8009026000","region":null}]},{"id":"9dee7e7e-c67b-4a9f-81c4-0be116bf630e","directory":"evertried","title":"Evertried","compatibility":99,"releases":[{"id":"0100193013AD0000","region":null}]},{"id":"9e02111a-b34c-4194-8f77-074b210effb7","directory":"invisible-inc-nintendo-switch-edition","title":"Invisible, Inc. Nintendo Switch Edition","compatibility":4,"releases":[{"id":"010031B00C48C000","region":null}]},{"id":"9e0a0328-3dc7-46c6-a5af-072c7e6f048d","directory":"menseki-area-maze-puzzles","title":"Menseki: Area Maze puzzles","compatibility":99,"releases":[{"id":"01005BF0169D0000","region":null}]},{"id":"9e108bc0-82a0-4487-9167-182a3f7d4838","directory":"puzzletronics","title":"Puzzletronics","compatibility":99,"releases":[{"id":"01004B4014D90000","region":null}]},{"id":"9e14dbb7-2252-47de-a10c-7460a6c0ca67","directory":"olympic-games-tokyo-2020-the-official-video-game","title":"Olympic Games Tokyo 2020 – The Official Video Game™","compatibility":99,"releases":[{"id":"0100A8B00E14A000","region":null}]},{"id":"9e2a3dcf-0fa1-44b4-8a24-17514e822f4a","directory":"ao-tennis-2","title":"AO Tennis 2","compatibility":4,"releases":[{"id":"010047000E9AA000","region":null}]},{"id":"9e2e621f-0ae2-4f23-a959-3d74dec08e0d","directory":"ninja-shodown","title":"Ninja Shodown","compatibility":99,"releases":[{"id":"010088E003A76000","region":null}]},{"id":"9e377bc0-ac97-42d0-b318-e4da6dd718dd","directory":"aca-neogeo-last-resort","title":"ACA NEOGEO LAST RESORT","compatibility":99,"releases":[{"id":"01000D10038E6000","region":null}]},{"id":"9e3a19cd-c521-4cb5-a9a4-1036fb8df3d5","directory":"blackmoor-2","title":"Blackmoor 2","compatibility":1,"releases":[{"id":"0100A0A00E660000","region":null}]},{"id":"9e43993f-97d6-4e68-800a-ad687375ac91","directory":"ziggurat","title":"Ziggurat","compatibility":99,"releases":[{"id":"0100CD500E706000","region":null}]},{"id":"9e43bb75-76b0-4617-b601-46e4cbf947ab","directory":"niche-a-genetics-survival-game","title":"Niche - a genetics survival game","compatibility":99,"releases":[{"id":"01000EC010BF4000","region":null}]},{"id":"9e53d0a5-67fa-42e5-bac8-3a68462b77ce","directory":"safety-first","title":"Safety First!","compatibility":99,"releases":[{"id":"0100A5200C2E0000","region":null}]},{"id":"9e69082a-83c4-42e7-a816-d0084286d214","directory":"ai","title":"世界の中心で、AIは戦う","compatibility":99,"releases":[{"id":"0100F73013B54000","region":null}]},{"id":"9e76b9d0-e5e8-4d32-9f37-0b14a5f733a3","directory":"bud-spencer-and-terence-hill-slaps-and-beans","title":"Bud Spencer & Terence Hill - Slaps And Beans","compatibility":3,"releases":[{"id":"01000D200AC0C000","region":null}]},{"id":"9e7d7a81-47a3-4637-9998-aaf4e243f5c0","directory":"deadly-fighter-2","title":"Deadly Fighter 2","compatibility":99,"releases":[{"id":"01007E400ECC6000","region":null}]},{"id":"9e8797fa-2af5-4368-b5cd-ba8e17073d4a","directory":"guns-of-mercy-rangers-edition","title":"Guns of Mercy - Rangers Edition","compatibility":99,"releases":[{"id":"010088700C5F8000","region":null}]},{"id":"9e891ee1-3929-4116-bce7-87a04ac1725a","directory":"enigmatis-3-the-shadow-of-karkhala","title":"Enigmatis 3: The Shadow of Karkhala","compatibility":99,"releases":[{"id":"01004A1015408000","region":null}]},{"id":"9e8f7b79-47b1-4ad0-983b-f5a4b277a8d9","directory":"music-racer","title":"Music Racer","compatibility":99,"releases":[{"id":"010046400F310000","region":null}]},{"id":"9eb7e351-3384-4c9a-92ba-7d50f157e4a1","directory":"act-it-out-xl-a-game-of-charades","title":"ACT IT OUT XL! A Game of Charades","compatibility":99,"releases":[{"id":"0100E6600B6EA000","region":null}]},{"id":"9ebe08f4-52e4-48c4-8981-09014ab332cd","directory":"prime-world-defenders","title":"Prime World: Defenders","compatibility":99,"releases":[{"id":"0100DE500CAA2000","region":null}]},{"id":"9ec35797-0167-4afd-95d7-02c83df13e47","directory":"pizza-bar-tycoon","title":"Pizza Bar Tycoon","compatibility":99,"releases":[{"id":"0100DEC00F7EC000","region":null}]},{"id":"9ec40f16-305f-4bbe-94be-8359781d59d0","directory":"charge-kid","title":"Charge Kid","compatibility":99,"releases":[{"id":"0100F52013A66000","region":null}]},{"id":"9ec51f4e-d34c-4ddc-9d80-98f7b9836f03","directory":"animal-up","title":"Animal Up!","compatibility":99,"releases":[{"id":"0100A16010966000","region":null}]},{"id":"9ed2578c-75b5-4c61-8d94-66fa87569f41","directory":"the-deer-god","title":"The Deer God","compatibility":99,"releases":[{"id":"01000B6007A3C000","region":null}]},{"id":"9ed74d0d-1a4b-45cd-8866-5a1b41545790","directory":"neversong","title":"Neversong","compatibility":0,"releases":[{"id":"0100E940044F2000","region":null}]},{"id":"9ee12c0b-058e-4341-92b7-0fdeb6d54c6b","directory":"supraland","title":"Supraland","compatibility":3,"releases":[{"id":"0100A6E01201C000","region":null}]},{"id":"9ee545d0-c7c3-4fd6-a7dc-d9b2865e8d77","directory":"dungeon-and-puzzles","title":"Dungeon and Puzzles","compatibility":99,"releases":[{"id":"01009B4013B5E000","region":null}]},{"id":"9ef55638-dae4-4ea8-be21-f7ed853d04d8","directory":"professional-farmer-american-dream","title":"Professional Farmer: American Dream","compatibility":99,"releases":[{"id":"010082900D6DC000","region":null}]},{"id":"9ef7a9e5-b446-47e2-a897-d918b050d728","directory":"enter-digiton-heart-of-corruption","title":"Enter Digiton: Heart of Corruption","compatibility":99,"releases":[{"id":"0100623013642000","region":null}]},{"id":"9ef972da-a138-454a-a8b6-d6f2df827fa4","directory":"cosmic-star-heroine","title":"Cosmic Star Heroine","compatibility":1,"releases":[{"id":"010067C00A776000","region":null}]},{"id":"9efaae9a-ece0-4804-8223-115bd991579e","directory":"asemblance","title":"Asemblance","compatibility":99,"releases":[{"id":"0100D5800DECA000","region":null}]},{"id":"9f0fa31e-c851-43a2-9494-47dce2f4dc26","directory":"die-with-glory","title":"Die With Glory","compatibility":99,"releases":[{"id":"0100BCC014414000","region":null}]},{"id":"9f170931-2be6-4bf6-a0ff-c7d50e521390","directory":"monster-boy-and-the-cursed-kingdom-demo","title":"Monster Boy and the Cursed Kingdom Demo","compatibility":99,"releases":[{"id":"01000C600D7CE000","region":null}]},{"id":"9f21c68b-8eaf-4c1a-a338-9bb9d5149052","directory":"get-over-here","title":"Get Over Here","compatibility":1,"releases":[{"id":"0100B5B00E77C000","region":null}]},{"id":"9f422d7b-951b-49d6-81bb-b6826929ba38","directory":"kitty-maestro","title":"Kitty Maestro","compatibility":99,"releases":[{"id":"0100C8300FA30000","region":null}]},{"id":"9f5cb530-387a-4f4e-bbb0-e14ea71833a6","directory":"arcade-archives-sasuke-vs-commander","title":"Arcade Archives SASUKE VS COMMANDER","compatibility":99,"releases":[{"id":"0100AA600C8D6000","region":null}]},{"id":"9f7acdf3-7466-4bcc-874c-7992cd32e45f","directory":"danger-mouse-the-danger-games","title":"Danger Mouse: The Danger Games","compatibility":99,"releases":[{"id":"01003ED0099B0000","region":null}]},{"id":"9f99ac44-0455-454d-b658-9b5c63f17359","directory":"ant-gravity-tinys-adventure","title":"Ant-Gravity: Tiny's Adventure","compatibility":99,"releases":[{"id":"0100DC00115FA000","region":null}]},{"id":"9fa6b758-b145-4983-805d-bde4923a48ff","directory":"faircrofts-antiques-treasures-of-treffenburg-collectors-edition","title":"Faircroft's Antiques: Treasures of Treffenburg Collector's Edition","compatibility":99,"releases":[{"id":"010083C01469C000","region":null}]},{"id":"9fc2bb8c-9b7f-4fef-93de-71cec9dd4a09","directory":"memory-lane","title":"Memory Lane","compatibility":4,"releases":[{"id":"010062F011E7C000","region":null}]},{"id":"9fcc1dac-20d2-45ff-8f8a-37bfad1f334c","directory":"ninja-village-demo","title":"Ninja Village Demo","compatibility":99,"releases":[{"id":"0100F3400D228000","region":null}]},{"id":"9fec84ec-aa15-4928-b67c-8c0a76a9c503","directory":"espgaluda-ii","title":"Espgaluda II","compatibility":1,"releases":[{"id":"0100911014898000","region":null}]},{"id":"9feedc14-d8f2-4c3c-947a-68dc663d120b","directory":"dgeneration-hd","title":"D/Generation HD","compatibility":1,"releases":[{"id":"0100EEC00A262000","region":null}]},{"id":"9ff8c365-78ad-4a13-8533-415ef7352664","directory":"super-kickers-league","title":"Super Kickers League","compatibility":1,"releases":[{"id":"0100196009998000","region":null}]},{"id":"9ffa6301-f861-4c8c-b1d1-525259083264","directory":"hook","title":"Hook","compatibility":99,"releases":[{"id":"0100DFF00DA4E000","region":null}]},{"id":"9fff4943-1955-425e-99e8-64fb7230f636","directory":"star-wars-jedi-knight-jedi-academy","title":"STAR WARS™ Jedi Knight: Jedi Academy","compatibility":4,"releases":[{"id":"01008CA00FAE8000","region":null}]},{"id":"a002be67-0615-4808-8a7c-822fe9bb0a6b","directory":"space-war-arena","title":"Space War Arena","compatibility":99,"releases":[{"id":"010067600AD78000","region":null}]},{"id":"a0043ee3-359d-4e3c-9673-bc6e1f85e179","directory":"graviter","title":"Graviter","compatibility":99,"releases":[{"id":"0100892013A80000","region":null}]},{"id":"a0067f9b-a06d-407d-973c-d72c8b9fbc4a","directory":"grab-lab","title":"Grab Lab","compatibility":99,"releases":[{"id":"0100A6C00CF70000","region":null}]},{"id":"a0071dde-25fe-4dd6-880a-da5d183a70e7","directory":"almost-there-the-platformer","title":"Almost There: The Platformer","compatibility":99,"releases":[{"id":"01009C400C88C000","region":null}]},{"id":"a00c237d-fbcc-4c84-9cb7-d355c828fcad","directory":"santas-xmas-adventure","title":"Santa's Xmas Adventure","compatibility":99,"releases":[{"id":"0100618013560000","region":null}]},{"id":"a0295548-bd7f-4678-b35b-11754b51618c","directory":"chicken-rider","title":"Chicken Rider","compatibility":99,"releases":[{"id":"01002E500E3EE000","region":null}]},{"id":"a0296e81-ebad-401a-9988-ab5734ee9577","directory":"akihabara-feel-the-rhythm-remixed","title":"Akihabara - Feel the Rhythm Remixed","compatibility":99,"releases":[{"id":"010053100B0EA000","region":null}]},{"id":"a035fd00-56f0-4269-98e5-7f9269d969ab","directory":"quest-hunter","title":"Quest Hunter","compatibility":1,"releases":[{"id":"010095500D9F4000","region":null}]},{"id":"a039c167-db9f-4c0c-ba96-b9cc8fb634d3","directory":"nefarious","title":"Nefarious","compatibility":99,"releases":[{"id":"010023500B0BA000","region":null}]},{"id":"a03bf6b8-b66f-49b6-bcfc-1266bb4b604b","directory":"ghosts-and-apples","title":"Ghosts and Apples","compatibility":99,"releases":[{"id":"01009CE01657E000","region":null}]},{"id":"a04bd120-1ae2-4596-a747-994ba917b818","directory":"the-legend-of-zelda-skyward-sword-hd","title":"The Legend of Zelda™: Skyward Sword HD","compatibility":1,"releases":[{"id":"01002DA013484000","region":null}]},{"id":"a04ef474-2663-413c-ba9d-9cd5df3eeef2","directory":"have-a-blast","title":"Have a Blast","compatibility":99,"releases":[{"id":"01007E9015750000","region":null}]},{"id":"a05136be-4827-4eda-b326-4a03bd38ace4","directory":"empire-invasion","title":"Empire Invasion","compatibility":0,"releases":[{"id":"01009860147E4000","region":null}]},{"id":"a0555f11-9957-4d9d-9b1a-2baa83402d17","directory":"mastercube","title":"Mastercube","compatibility":99,"releases":[{"id":"01000ED0124F2000","region":null}]},{"id":"a057d910-b396-4128-8b69-650c52b98f48","directory":"paradise-killer","title":"Paradise Killer","compatibility":3,"releases":[{"id":"01007FB010DC8000","region":null}]},{"id":"a05da63b-0ed5-4d95-bbbf-3b8470572245","directory":"a-good-snowman-is-hard-to-build","title":"A Good Snowman is Hard to Build","compatibility":99,"releases":[{"id":"0100423013306000","region":null}]},{"id":"a060108f-7387-4933-9a38-6e2fbc85c75c","directory":"football-manager-2022-touch","title":"Football Manager 2022 Touch","compatibility":5,"releases":[{"id":"0100AD60152C2000","region":null}]},{"id":"a06b10ed-a84b-4c3f-84cd-ff682e46d921","directory":"the-adventures-of-spunk-dodgers-and-splat","title":"The Adventures of Spunk Dodgers and Splat","compatibility":99,"releases":[{"id":"0100BFD015F88000","region":null}]},{"id":"a07ff85f-83a9-4889-b22a-cc7ef7a14ee9","directory":"devil-may-cry","title":"Devil May Cry","compatibility":1,"releases":[{"id":"0100E8000D5B8000","region":null}]},{"id":"a08cc6bd-244a-456e-b3db-7d749e8853a6","directory":"mayhem-brawler","title":"Mayhem Brawler","compatibility":1,"releases":[{"id":"01002C70149B4000","region":null}]},{"id":"a08dc3d0-5a55-4074-837b-e8716a2196dd","directory":"piczle-puzzle-watch-collection","title":"Piczle Puzzle & Watch Collection","compatibility":99,"releases":[{"id":"01001A30155B6000","region":null}]},{"id":"a0901335-059f-4aa2-a219-f078cf1a0b0e","directory":"fox-n-forests","title":"FOX n FORESTS","compatibility":1,"releases":[{"id":"01008A100A028000","region":null}]},{"id":"a0bcfcd9-84db-47b2-a85c-40ffa45282a7","directory":"trine-enchanted-edition","title":"Trine Enchanted Edition","compatibility":2,"releases":[{"id":"0100D9000A930000","region":null}]},{"id":"a0bfc206-a80e-41c5-ab71-70602e11445d","directory":"ancient-stories-gods-of-egypt","title":"Ancient Stories: Gods of Egypt","compatibility":99,"releases":[{"id":"010073201632C000","region":null}]},{"id":"a0cfdbda-34ce-48e2-a160-bc3344696968","directory":"real-boxing-2","title":"Real Boxing 2","compatibility":99,"releases":[{"id":"0100F7101205A000","region":null}]},{"id":"a0d3e37c-4ead-448f-b906-124b9c9e8678","directory":"chicory-a-colorful-tale","title":"Chicory: A Colorful Tale","compatibility":99,"releases":[{"id":"0100DEC01622A000","region":null}]},{"id":"a0e6fa4b-cae3-4c64-9c97-d0710a3bec94","directory":"kentucky-robo-chicken","title":"Kentucky Robo Chicken","compatibility":99,"releases":[{"id":"0100A8200B15C000","region":null}]},{"id":"a0e79e86-3fb8-44b6-b067-76d721ac3a3d","directory":"deployment","title":"Deployment","compatibility":99,"releases":[{"id":"01000BF00B6BC000","region":null}]},{"id":"a0ed7269-7e79-4d3f-8f8b-136f4d791975","directory":"afterpulse","title":"Afterpulse","compatibility":99,"releases":[{"id":"01004D501213C000","region":null}]},{"id":"a0f68ad2-7657-4893-9aaa-4f154652bb31","directory":"slender-the-arrival","title":"Slender: The Arrival","compatibility":99,"releases":[{"id":"0100FDC00D0C0000","region":null}]},{"id":"a104fb68-1692-4f67-982f-ebab4c957681","directory":"black-widow-recharged","title":"Black Widow: Recharged","compatibility":99,"releases":[{"id":"01008B6016322000","region":null}]},{"id":"a11505b1-8bb9-4bac-8a4f-004a97f38044","directory":"boulder-dash-r-deluxe","title":"Boulder Dash® Deluxe","compatibility":1,"releases":[{"id":"01000670156B4000","region":null}]},{"id":"a1190511-7f69-4976-8d82-9472ff36f5da","directory":"brutal-rage","title":"BRUTAL RAGE","compatibility":99,"releases":[{"id":"01006490135B0000","region":null}]},{"id":"a12214b4-eabf-41d2-b4e2-2e3b5fd0eaee","directory":"drift-legends","title":"Drift Legends","compatibility":2,"releases":[{"id":"010018E00BA22000","region":null}]},{"id":"a12413bb-d275-4916-b4a9-45dc61c540b3","directory":"the-pyraplex","title":"The Pyraplex","compatibility":99,"releases":[{"id":"0100BBD00D9D6000","region":null}]},{"id":"a1244193-8e98-49a0-985e-0380775095e4","directory":"overcooked-special-edition","title":"Overcooked Special Edition","compatibility":2,"releases":[{"id":"01009B900401E000","region":null}]},{"id":"a12802e9-3f07-4633-a9e0-43ae8db1ce7f","directory":"battle-of-kings","title":"Battle of Kings","compatibility":0,"releases":[{"id":"010035E00C1AE000","region":null}]},{"id":"a1297a9a-09dd-4512-ac71-7925d6fc2c33","directory":"jumphead-battle4fun","title":"JumpHead: Battle4Fun!","compatibility":99,"releases":[{"id":"0100DE800B1F2000","region":null}]},{"id":"a143cfaa-5589-4a3f-a259-1556032dac95","directory":"space-blaze","title":"Space Blaze","compatibility":2,"releases":[{"id":"0100B9F00C162000","region":null}]},{"id":"a145cf82-177d-4183-b507-b9274bc73cfc","directory":"uno-r","title":"UNO®","compatibility":0,"releases":[{"id":"0100B6E012EBE000","region":null}]},{"id":"a163827a-9add-47cf-9ead-011aedbe59a4","directory":"blacksad-under-the-skin","title":"Blacksad: Under the Skin","compatibility":99,"releases":[{"id":"010032000EA2C000","region":null}]},{"id":"a165dde4-19b0-4149-b3b0-042707a75680","directory":"pinball-lockdown","title":"Pinball Lockdown","compatibility":99,"releases":[{"id":"0100EA8011DF2000","region":null}]},{"id":"a16f7be5-2a20-4f0c-bb8a-96214c24c8bd","directory":"raiden-iv-x-mikado-remix","title":"Raiden IV x MIKADO remix","compatibility":5,"releases":[{"id":"0100ECA01410C000","region":null}]},{"id":"a18a1942-7194-4d45-9fa5-e32a3aa9d06b","directory":"tomb-sweeper","title":"Tomb Sweeper","compatibility":99,"releases":[{"id":"01007EE015B38000","region":null}]},{"id":"a196e516-b44c-412e-87f0-3e63b9a953bb","directory":"super-volley-blast","title":"Super Volley Blast","compatibility":99,"releases":[{"id":"010035B00B3F0000","region":null}]},{"id":"a199303c-e018-4856-b22b-42cd048470d7","directory":"four-kings-video-poker","title":"Four Kings: Video Poker","compatibility":99,"releases":[{"id":"010093301236A000","region":null}]},{"id":"a1b80154-a7ee-46a6-a641-c8f4abf44757","directory":"death-mark","title":"Death Mark","compatibility":3,"releases":[{"id":"0100D1B00B6FA000","region":null}]},{"id":"a1bb375c-3e68-4568-80b6-f6b697ae4af6","directory":"real-heroes-firefighter","title":"Real Heroes: Firefighter","compatibility":99,"releases":[{"id":"010048600CC16000","region":null}]},{"id":"a1bbba40-4063-47e6-b764-cc773d20a2db","directory":"swim-out","title":"Swim Out","compatibility":99,"releases":[{"id":"0100F92005D54000","region":null}]},{"id":"a1be04b2-7a6b-453c-9f83-b0feeeb7f673","directory":"beach-buggy-racing-2-island-adventure","title":"Beach Buggy Racing 2: Island Adventure","compatibility":0,"releases":[{"id":"0100C43012344000","region":null}]},{"id":"a1c10da7-c2ad-4531-b2a0-afeb62b145a2","directory":"little-racer","title":"Little Racer","compatibility":99,"releases":[{"id":"0100E6D00E81C000","region":null}]},{"id":"a1c59d97-91e5-4762-9f4a-5b512005a287","directory":"touhou-genso-wanderer-reloaded","title":"Touhou Genso Wanderer Reloaded","compatibility":2,"releases":[{"id":"01004E900B082000","region":null}]},{"id":"a1ca2d11-190b-4fd6-8691-f1576c414537","directory":"super-star-path","title":"Super Star Path","compatibility":99,"releases":[{"id":"01009FF00CB1A000","region":null}]},{"id":"a1d76db5-af4d-4c55-ac41-3029a7848ccf","directory":"funimation","title":"Funimation","compatibility":99,"releases":[{"id":"01008E10130F8000","region":null}]},{"id":"a1da765d-39f1-48ba-b6a1-c5445cc14b7f","directory":"detention","title":"Detention","compatibility":3,"releases":[{"id":"0100730007A9C000","region":null}]},{"id":"a1e6afcd-b519-4f7a-84c0-da5edde3bafa","directory":"energy-balance","title":"Energy Balance","compatibility":2,"releases":[{"id":"0100C920092B0000","region":null}]},{"id":"a1ef37d9-544e-44a3-8812-0058c57aea29","directory":"castlevania-anniversary-collection","title":"Castlevania Anniversary Collection","compatibility":0,"releases":[{"id":"01001A800D6BC000","region":null}]},{"id":"a1f2388c-70f7-42ad-bb8d-368ea39fbd5c","directory":"taiko-no-tatsujin-drum-n-fun","title":"Taiko no Tatsujin: Drum 'n' Fun!","compatibility":1,"releases":[{"id":"01002C000B552000","region":null}]},{"id":"a1f4b7d4-47bb-4533-bbf7-866f753e8f48","directory":"monster-dynamite","title":"Monster Dynamite","compatibility":99,"releases":[{"id":"010036C00BDE4000","region":null}]},{"id":"a1fe2332-317d-4cdc-a476-63246ba71da4","directory":"art-of-balance","title":"Art of Balance","compatibility":3,"releases":[{"id":"01008EC006BE2000","region":null}]},{"id":"a2022729-eeca-4e26-86f9-0101bd6c42d4","directory":"trove","title":"Trove","compatibility":99,"releases":[{"id":"0100CB400BC68000","region":null}]},{"id":"a20862bf-1c31-49ac-9810-242b135a1e6a","directory":"bladed-fury","title":"Bladed Fury","compatibility":1,"releases":[{"id":"0100DF0011A6A000","region":null}]},{"id":"a20f8c44-6837-4324-a7a8-af3caf654f55","directory":"super-nintendo-entertainment-system-nintendo-switch-online","title":"Super Nintendo Entertainment System - Nintendo Switch Online","compatibility":0,"releases":[{"id":"01008D300C50C000","region":null}]},{"id":"a2125279-363d-4ae8-ba65-1c7589c6d249","directory":"scott-pilgrim-vs-the-world-the-game-complete-edition","title":"Scott Pilgrim vs. The World™: The Game – Complete Edition","compatibility":1,"releases":[{"id":"0100394011C30000","region":null}]},{"id":"a216a52d-3ee9-426a-b1c9-6058d6c4f401","directory":"kingdom-new-lands","title":"Kingdom: New Lands","compatibility":99,"releases":[{"id":"0100BD9004AB6000","region":null}]},{"id":"a225a4a2-7272-4a7a-8fbe-4d8fb9017c93","directory":"luke-and-rebecca","title":"Luke & Rebecca","compatibility":4,"releases":[{"id":"0100A5A00B34E000","region":null}]},{"id":"a22b0ff3-6c07-4055-b7c1-79e6f6dc4f3e","directory":"finalsword-definitiveedition","title":"FINALSWORD DefinitiveEdition","compatibility":0,"releases":[{"id":"0100F62013DAE000","region":null}]},{"id":"a2315d34-d176-49c0-a01b-d7219104f9c3","directory":"fitness-boxing-eshop-demo","title":"Fitness Boxing eShop Demo","compatibility":99,"releases":[{"id":"0100ED800CBFC000","region":null}]},{"id":"a236a853-19fd-4267-b96e-2b3c5f78f415","directory":"snow-moto-racing-freedom","title":"Snow Moto Racing Freedom","compatibility":3,"releases":[{"id":"010045300516E000","region":null}]},{"id":"a237dd99-2c2e-4f49-af96-d41532b0578a","directory":"nba-2k22","title":"NBA 2K22","compatibility":5,"releases":[{"id":"0100B94014F8E000","region":null}]},{"id":"a23b2f5a-5261-4ba2-9cf7-016674feb8cf","directory":"atomine","title":"ATOMINE","compatibility":99,"releases":[{"id":"0100FB500631E000","region":null}]},{"id":"a2482b92-bfeb-4fd7-9898-8077e0ca472a","directory":"calico","title":"Calico","compatibility":3,"releases":[{"id":"010013A00E750000","region":null}]},{"id":"a24b2f33-b3a9-4d33-bf97-672ae2fcfd5b","directory":"mecho-tales","title":"Mecho Tales","compatibility":2,"releases":[{"id":"0100C4F005EB4000","region":null}]},{"id":"a261c3c2-db90-4320-9443-bb3903f1cd6b","directory":"the-magnificent-trufflepigs","title":"The Magnificent Trufflepigs","compatibility":99,"releases":[{"id":"0100F3F015016000","region":null}]},{"id":"a271e095-f5b6-4bc7-a1bf-273df22ee178","directory":"astrology-and-horoscopes-premium","title":"Astrology and Horoscopes Premium","compatibility":99,"releases":[{"id":"010034800B75E000","region":null}]},{"id":"a2774236-5b6c-4334-a416-05ddd73439a7","directory":"tetsumo-party","title":"Tetsumo Party","compatibility":99,"releases":[{"id":"0100EC000D39A000","region":null}]},{"id":"a279de78-b4eb-4a70-8285-e4c135171d28","directory":"guacamelee-super-turbo-championship-edition","title":"Guacamelee! Super Turbo Championship Edition","compatibility":0,"releases":[{"id":"0100BAE00B470000","region":null}]},{"id":"a2853c57-70a7-42fc-bb3e-8aecd190e15f","directory":"kid-tripp-demo","title":"Kid Tripp Demo","compatibility":99,"releases":[{"id":"010093E00ACB0000","region":null}]},{"id":"a28a8ab7-1eac-4112-9e4d-9a6d060d8fa2","directory":"train-station-simulator","title":"Train Station Simulator","compatibility":99,"releases":[{"id":"010086000EBDE000","region":null}]},{"id":"a29d8af5-f07e-4bf4-a4e6-03de341a3965","directory":"unravel-two","title":"Unravel Two","compatibility":4,"releases":[{"id":"0100E5D00CC0C000","region":null}]},{"id":"a29dead0-adac-441d-855f-8dde759d0329","directory":"checkers-master","title":"Checkers Master","compatibility":99,"releases":[{"id":"010067E014C38000","region":null}]},{"id":"a2a6e3ec-c989-421a-91b2-e9121cd894af","directory":"snakeybus","title":"Snakeybus","compatibility":99,"releases":[{"id":"0100F9C00F32E000","region":null}]},{"id":"a2a928ca-a2cd-441f-9aaa-e83393f93ac2","directory":"borderlands-the-handsome-collection","title":"Borderlands: The Handsome Collection","compatibility":4,"releases":[{"id":"010096F00FF22000","region":null}]},{"id":"a2ab0a40-b639-46fb-9f31-0a01589cee72","directory":"yu-no-a-girl-who-chants-love-at-the-bound-of-this-world","title":"YU-NO: A girl who chants love at the bound of this world.","compatibility":0,"releases":[{"id":"010037D00DBDC000","region":null}]},{"id":"a2c8c652-9001-4afc-9bd2-f73fd654d618","directory":"aery-broken-memories","title":"Aery - Broken Memories","compatibility":1,"releases":[{"id":"0100087012810000","region":null}]},{"id":"a2cfd07f-7e92-4f75-91b2-c6c14d017c04","directory":"neverlast","title":"Neverlast","compatibility":99,"releases":[{"id":"0100A9600EDF8000","region":null}]},{"id":"a2d3e260-49bf-483d-9007-c6b5cf5f5a9c","directory":"hard-west","title":"Hard West","compatibility":2,"releases":[{"id":"0100ECE00D13E000","region":null}]},{"id":"a2d62a71-0f50-4214-8776-37a6e4bf9b6c","directory":"apsulov-end-of-gods","title":"Apsulov: End of Gods","compatibility":3,"releases":[{"id":"01008560110C6000","region":null}]},{"id":"a2de25a8-c12f-4dd2-b5f6-bd8f76bf4eaf","directory":"supersonic-tank-cats","title":"Supersonic Tank Cats","compatibility":99,"releases":[{"id":"0100DB00156B0000","region":null}]},{"id":"a2ea9a92-9218-4bf3-a4b8-94c127e70db9","directory":"suicide-guy","title":"Suicide Guy","compatibility":99,"releases":[{"id":"01005CD00A2A2000","region":null}]},{"id":"a2ef2580-6f8d-47c7-b47a-1f438a46fe73","directory":"mega-mall-story","title":"Mega Mall Story","compatibility":99,"releases":[{"id":"0100BBC00CB9A000","region":null}]},{"id":"a2f1d9ae-eeb2-446a-8a49-0013f62ecc38","directory":"driving-world-nordic-challenge","title":"Driving World: Nordic Challenge","compatibility":0,"releases":[{"id":"010047C014B44000","region":null}]},{"id":"a2fd1a67-29b9-410b-9215-83a43964435a","directory":"the-elder-scrolls-v-skyrim","title":"The Elder Scrolls V: Skyrim","compatibility":4,"releases":[{"id":"01000A10041EA000","region":null}]},{"id":"a309726a-6ffe-4e13-8d60-8aeb9c904df4","directory":"arcade-archives-ikari-iii-the-rescue","title":"Arcade Archives IKARI III -THE RESCUE-","compatibility":99,"releases":[{"id":"01004B1010E58000","region":null}]},{"id":"a31567f7-782c-466a-a9ef-c02c9c61431f","directory":"magicat","title":"MagiCat","compatibility":0,"releases":[{"id":"01008E500BF62000","region":null}]},{"id":"a316fe5d-568c-47c5-b7e7-ab55e49489bf","directory":"elden-path-of-the-forgotten","title":"Elden: Path of the Forgotten","compatibility":2,"releases":[{"id":"0100B5B00EF38000","region":null}]},{"id":"a31d1081-7a22-49fb-9320-cdaca86032dd","directory":"broforce","title":"Broforce","compatibility":1,"releases":[{"id":"010060A00B53C000","region":null}]},{"id":"a32f06fa-a815-486d-adb7-dbcec181493f","directory":"nickelodeon-kart-racers-2-grand-prix","title":"Nickelodeon Kart Racers 2: Grand Prix","compatibility":2,"releases":[{"id":"0100EBC00FE14000","region":null}]},{"id":"a334245d-3abb-4ba7-8c95-0f9439382b71","directory":"the-adventures-of-bertram-fiddle-episode-1-a-dreadly-business","title":"The Adventures of Bertram Fiddle: Episode 1: A Dreadly Business","compatibility":1,"releases":[{"id":"01003B400A00A000","region":null}]},{"id":"a334c40e-c74e-4339-9cd8-d8c5294c58f0","directory":"one-strike","title":"One Strike","compatibility":4,"releases":[{"id":"01003A800B102000","region":null}]},{"id":"a33b2be6-3b33-4c88-9e41-df6b71dd7627","directory":"octocopter-double-or-squids","title":"Octocopter: Double or Squids","compatibility":99,"releases":[{"id":"010096B00A08E000","region":null}]},{"id":"a33d2577-fd12-4479-a3d6-b6c9ebe1fc4f","directory":"bloodstained-curse-of-the-moon","title":"Bloodstained: Curse of the Moon","compatibility":1,"releases":[{"id":"01004B800AF5A000","region":null}]},{"id":"a342c9eb-a32a-4b30-8a03-3872c69fa978","directory":"vertical-drop-heroes-hd","title":"Vertical Drop Heroes HD","compatibility":99,"releases":[{"id":"01009F100B0B8000","region":null}]},{"id":"a3437219-6b6f-413b-84a2-ede4cde8b4d9","directory":"booble-hentai","title":"Booble Hentai","compatibility":99,"releases":[{"id":"010003C0161CE000","region":null}]},{"id":"a34d6d1b-6adc-493d-810f-660c32f7810c","directory":"silence","title":"Silence","compatibility":3,"releases":[{"id":"0100F1400B0D6000","region":null}]},{"id":"a352e6d5-2edc-45f4-8162-9bfacfec5647","directory":"cosmonauta","title":"Cosmonauta","compatibility":99,"releases":[{"id":"01009DE010948000","region":null}]},{"id":"a359aba0-538d-4f8c-a4b0-03167eaeeb0f","directory":"lines-infinite","title":"Lines Infinite","compatibility":99,"releases":[{"id":"0100A9000F17E000","region":null}]},{"id":"a364469c-7d4e-4605-bf07-8b35fc0a21d4","directory":"the-falconeer-warrior-edition","title":"The Falconeer: Warrior Edition","compatibility":0,"releases":[{"id":"0100BA5013E52000","region":null}]},{"id":"a366f423-b6fe-4a3e-9eb2-35b1a983a250","directory":"legends-of-talia-arcadia","title":"Legends of Talia: Arcadia","compatibility":99,"releases":[{"id":"0100013012E4E000","region":null}]},{"id":"a36e2ee9-24d2-4000-8a56-f19de6a1ef25","directory":"kosmonavtes-academy-escape","title":"Kosmonavtes: Academy Escape","compatibility":99,"releases":[{"id":"0100D65016AE0000","region":null}]},{"id":"a379e88c-56b7-42f9-9e8b-67d4efb313c5","directory":"monument-builders-rushmore","title":"Monument Builders Rushmore","compatibility":99,"releases":[{"id":"01002C600C412000","region":null}]},{"id":"a383f281-aa82-4599-9762-66bfc04868d6","directory":"ping-redux","title":"PING REDUX","compatibility":99,"releases":[{"id":"0100A05013B5A000","region":null}]},{"id":"a3b21fd2-fc09-41b6-b746-8858fe50877a","directory":"the-man-with-the-ivory-cane","title":"The Man With The Ivory Cane","compatibility":99,"releases":[{"id":"01003E8010E3A000","region":null}]},{"id":"a3c4300d-10d7-46e6-acd4-007ec36ba5ad","directory":"divine-ascent","title":"Divine Ascent","compatibility":99,"releases":[{"id":"0100C0100C7EA000","region":null}]},{"id":"a3d44120-5445-452d-b999-01982700e352","directory":"the-long-dark","title":"The Long Dark","compatibility":0,"releases":[{"id":"01007A700A87C000","region":null}]},{"id":"a3dc2832-e796-4b56-95fd-572b8caac2cc","directory":"eight-minute-empire-complete-edition","title":"Eight-Minute Empire: Complete Edition","compatibility":99,"releases":[{"id":"0100E6100E3A0000","region":null}]},{"id":"a3ee168d-880a-4ee7-b489-607766e05364","directory":"breathing-fear","title":"Breathing Fear","compatibility":99,"releases":[{"id":"01003D50100F4000","region":null}]},{"id":"a3eeace7-2d19-420f-8970-2f6920695ef3","directory":"kingdom-rush-frontiers","title":"Kingdom Rush Frontiers","compatibility":99,"releases":[{"id":"010046200FC62000","region":null}]},{"id":"a3f8e9da-40a0-41b1-8c1c-ef0155984063","directory":"pocket-academy","title":"Pocket Academy","compatibility":99,"releases":[{"id":"01009C100CE6A000","region":null}]},{"id":"a43574ca-2107-4204-b5ba-0480d71a0f43","directory":"drag-racing-rivals","title":"Drag Racing Rivals","compatibility":99,"releases":[{"id":"0100388012922000","region":null}]},{"id":"a442a91f-ee2f-4d71-bd22-ef4eeeb01399","directory":"terraria","title":"Terraria","compatibility":2,"releases":[{"id":"0100E46006708000","region":null}]},{"id":"a446864e-428e-427c-af86-c39d2cb1eeb7","directory":"harvest-life","title":"Harvest Life","compatibility":3,"releases":[{"id":"0100D0500AD30000","region":null}]},{"id":"a44e8c29-74b5-4b01-b49d-eed1fc389f7e","directory":"gunvolt-chronicles-luminous-avenger-ix","title":"Gunvolt Chronicles: Luminous Avenger iX","compatibility":0,"releases":[{"id":"01008C800E654000","region":null}]},{"id":"a45c1c9b-dc73-4381-bf59-02bfb10e86c7","directory":"drunken-fist","title":"Drunken Fist","compatibility":99,"releases":[{"id":"0100BDB012F78000","region":null}]},{"id":"a46f379e-bddb-4e29-9139-893394f4748b","directory":"ciel-fledge-a-daughter-raising-simulator","title":"Ciel Fledge: A Daughter Raising Simulator","compatibility":99,"releases":[{"id":"010061E00E05E000","region":null}]},{"id":"a48fe53c-7f07-4390-8137-8bc9b13dd0e0","directory":"emily-archer-and-the-curse-of-tutankhamun","title":"Emily Archer and the Curse of Tutankhamun","compatibility":1,"releases":[{"id":"0100ADF014C2A000","region":null}]},{"id":"a494746e-01c6-444e-8ffc-72bba0ec39b0","directory":"discovery","title":"Discovery","compatibility":99,"releases":[{"id":"01008CD00901C000","region":null}]},{"id":"a49959d7-be9f-4baa-b3ff-8c744ad4a21d","directory":"super-mega-baseball-3","title":"Super Mega Baseball 3","compatibility":99,"releases":[{"id":"010067300E024000","region":null}]},{"id":"a4a42abc-288a-484d-87be-2ac37c1cfbce","directory":"inbento","title":"inbento","compatibility":99,"releases":[{"id":"01003EB010008000","region":null}]},{"id":"a4b125c7-2840-4206-8dbd-473c73616449","directory":"tales-of-the-orient-the-rising-sun","title":"Tales of the Orient - The Rising Sun","compatibility":99,"releases":[{"id":"01004DC00CFD2000","region":null}]},{"id":"a4b4e390-ab2e-4d83-9eec-67b6fc1e9854","directory":"beekyr-reloaded","title":"Beekyr Reloaded","compatibility":99,"releases":[{"id":"0100F8900ADC8000","region":null}]},{"id":"a4c062a8-749d-4dac-bf97-4e940452f40c","directory":"kwaidan-azuma-manor-story","title":"Kwaidan ~Azuma manor story~","compatibility":99,"releases":[{"id":"0100894011F62000","region":null}]},{"id":"a4c17b57-5eb8-466b-b9f1-1f6162459e73","directory":"spencer","title":"Spencer","compatibility":99,"releases":[{"id":"0100BA300C39A000","region":null}]},{"id":"a4ccb4fb-ad3b-4441-9a82-452aa05c1989","directory":"olympic-table-tennis","title":"Olympic Table Tennis","compatibility":99,"releases":[{"id":"0100E7E013DEA000","region":null}]},{"id":"a4dd823a-366a-45a1-b717-61ae99640489","directory":"pixel-gladiator","title":"Pixel Gladiator","compatibility":99,"releases":[{"id":"010060A00F5E8000","region":null}]},{"id":"a4e8c32d-1d35-4524-b94a-e923ae763ad9","directory":"poker-pretty-girls-battle-fantasy-world-edition","title":"Poker Pretty Girls Battle: Fantasy World Edition","compatibility":99,"releases":[{"id":"01005DD0149D0000","region":null}]},{"id":"a4f28435-5df5-4934-8f4e-057b07108564","directory":"shin-megami-tensei-iii-nocturne-hd-remaster","title":"Shin Megami Tensei III Nocturne HD Remaster","compatibility":3,"releases":[{"id":"01003B0012DC2000","region":null}]},{"id":"a4f816b2-9c58-4c54-9422-5af221a2abd2","directory":"league-of-evil","title":"League of Evil","compatibility":1,"releases":[{"id":"01009C100390E000","region":null}]},{"id":"a5002806-f32f-4a08-84be-36487cafd721","directory":"worlds-end-club","title":"World's End Club","compatibility":1,"releases":[{"id":"01005A2014362000","region":null}]},{"id":"a5042512-0b61-4bf7-be37-0d782be3a4e8","directory":"path-to-mnemosyne","title":"Path to Mnemosyne","compatibility":99,"releases":[{"id":"010031600ACF4000","region":null}]},{"id":"a51e4c58-49d4-4dce-ba9e-14a902d32f6f","directory":"visit-once","title":"Visit Once","compatibility":99,"releases":[{"id":"0100D78013A60000","region":null}]},{"id":"a52d9256-0741-4ffe-a653-efd742bc731f","directory":"instant-tennis","title":"INSTANT TENNIS","compatibility":99,"releases":[{"id":"0100F4500A47E000","region":null}]},{"id":"a52f6c71-d0c0-4245-a7fc-f4a67446578f","directory":"omega-labyrinth-life","title":"Omega Labyrinth Life","compatibility":1,"releases":[{"id":"010079200E85C000","region":null}]},{"id":"a53b4a8a-c6a1-4329-95a0-2bac45705f4b","directory":"super-glitch-dash","title":"Super Glitch Dash","compatibility":99,"releases":[{"id":"0100CC2014240000","region":null}]},{"id":"a53ebb9b-c94c-4119-a7d3-5715ed456224","directory":"gordian-rooms-a-curious-heritage","title":"Gordian Rooms: A curious heritage","compatibility":99,"releases":[{"id":"01007C1013676000","region":null}]},{"id":"a55b710c-6ff6-4374-a9d4-0888c9e26740","directory":"left-right-the-mansion","title":"Left-Right : The Mansion","compatibility":99,"releases":[{"id":"01002E900CD6E000","region":null}]},{"id":"a571afa8-69c2-4a8f-b375-aa0ebb23b430","directory":"pokken-tournament-dx","title":"Pokkén Tournament DX","compatibility":2,"releases":[{"id":"0100B3F000BE2000","region":null}]},{"id":"a5743146-3b57-4179-983c-300ffc92f521","directory":"fishing-barents-sea-complete-edition","title":"Fishing: Barents Sea Complete Edition","compatibility":3,"releases":[{"id":"0100CB500CE76000","region":null}]},{"id":"a5778f67-1f3a-448d-b255-2ecd93144596","directory":"one-way-heroics-plus","title":"One Way Heroics Plus","compatibility":99,"releases":[{"id":"0100AD9011056000","region":null}]},{"id":"a57b5768-110e-46ca-ab3c-8dd702430134","directory":"fate-of-the-pharaoh","title":"Fate Of The Pharaoh","compatibility":5,"releases":[{"id":"0100C75013BD8000","region":null}]},{"id":"a58e892f-e566-4a83-b330-a31cc5e8c2db","directory":"mini-motor-racing-x","title":"Mini Motor Racing X","compatibility":0,"releases":[{"id":"01003560119A6000","region":null}]},{"id":"a5969713-49e6-472f-a0f6-b8892d7fcaf7","directory":"sega-ages-g-loc-air-battle","title":"SEGA AGES G-LOC AIR BATTLE","compatibility":1,"releases":[{"id":"010096D00E310000","region":null}]},{"id":"a59d6714-3900-4207-b175-75db4fe7ab22","directory":"gas-guzzlers-extreme","title":"Gas Guzzlers Extreme","compatibility":99,"releases":[{"id":"0100366013DA8000","region":null}]},{"id":"a5a453d0-9d35-4065-b5d2-d34d50e6bde7","directory":"a-night-at-the-races","title":"A Night at the Races","compatibility":99,"releases":[{"id":"010067A014106000","region":null}]},{"id":"a5a74019-e759-4aca-8265-92b117566e61","directory":"roguecube","title":"RogueCube","compatibility":99,"releases":[{"id":"0100C7300C0EC000","region":null}]},{"id":"a5a973ac-fd3d-4c8a-99f8-420f84a9ff1e","directory":"escaping-a-kids-room-the-adventures-of-nyanzou-kumakichi-escape-game-series","title":"Escaping a  Kid's Room~The Adventures of Nyanzou&Kumakichi: Escape Game Series~","compatibility":99,"releases":[{"id":"0100168014B20000","region":null}]},{"id":"a5b338c0-30e4-48e5-a8f0-9856e33e4210","directory":"taiko-no-tatsujin-rhythmic-adventure-1","title":"Taiko no Tatsujin: Rhythmic Adventure 1","compatibility":0,"releases":[{"id":"01001BE0133F6000","region":null}]},{"id":"a5d17ab0-42cf-4da8-8987-61501619b992","directory":"crash-drive-2","title":"Crash Drive 2","compatibility":99,"releases":[{"id":"010007900FCE2000","region":null}]},{"id":"a5e734a9-3fc5-4121-8b8c-cac9c819405d","directory":"mom-hid-my-game-2","title":"Mom Hid My Game! 2","compatibility":99,"releases":[{"id":"01000C701456A000","region":null}]},{"id":"a60b5fa2-5b78-41a0-bda0-4fc366d7a077","directory":"prehistoric-dude","title":"Prehistoric Dude","compatibility":99,"releases":[{"id":"010054F01266C000","region":null}]},{"id":"a619c735-a761-44b2-965b-2f16c456ed55","directory":"fledgling-heroes","title":"Fledgling Heroes","compatibility":99,"releases":[{"id":"010087E00D5F2000","region":null}]},{"id":"a6267ea9-edef-4443-ab3e-fbe084c87c5a","directory":"explosive-dinosaurs","title":"Explosive Dinosaurs","compatibility":99,"releases":[{"id":"0100A7701298C000","region":null}]},{"id":"a62fc206-b5ac-4009-8d50-b8a82167b025","directory":"brick-bat-crazy","title":"Brick Bat Crazy","compatibility":99,"releases":[{"id":"0100FB30148EE000","region":null}]},{"id":"a639281d-9826-4f27-8d63-1633060b0c50","directory":"battle-supremacy-evolution","title":"Battle Supremacy - Evolution","compatibility":99,"releases":[{"id":"010099B00E898000","region":null}]},{"id":"a639c9d9-a994-4136-8f29-034ac056cf53","directory":"arcade-archives-ikki","title":"Arcade Archives Ikki","compatibility":99,"releases":[{"id":"01000DB00980A000","region":null}]},{"id":"a64777c2-f8b2-42bd-b8de-44ede2a4343c","directory":"lazy-galaxy-rebel-story","title":"Lazy Galaxy: Rebel Story","compatibility":99,"releases":[{"id":"010049200B536000","region":null}]},{"id":"a649f52e-843d-4082-bf56-23868f560397","directory":"dying-reborn-nintendo-switch-edition","title":"DYING: Reborn - Nintendo Switch Edition","compatibility":99,"releases":[{"id":"01008EA00C27E000","region":null}]},{"id":"a655e2c3-4656-43b1-888f-2df2adc461a4","directory":"a-street-cats-tale","title":"A Street Cat's Tale","compatibility":99,"releases":[{"id":"0100759010EC8000","region":null}]},{"id":"a6629fbd-0db7-4999-9bff-70e9d26cb78e","directory":"mummy-pinball","title":"Mummy Pinball","compatibility":99,"releases":[{"id":"010038B00B9AE000","region":null}]},{"id":"a677edff-af19-43d0-a508-2759188799d1","directory":"dotori","title":"DOTORI","compatibility":99,"releases":[{"id":"0100DBD013C92000","region":null}]},{"id":"a6796aa6-5350-48a5-902e-31e14c7ab084","directory":"geki-yaba-runner-anniversary-edition","title":"Geki Yaba Runner Anniversary Edition","compatibility":4,"releases":[{"id":"01000F000D9F0000","region":null}]},{"id":"a67bdd0a-9276-47b9-99c8-27e19f0582ae","directory":"marble-parkour","title":"Marble Parkour","compatibility":99,"releases":[{"id":"0100721014C24000","region":null}]},{"id":"a68076d5-6f39-44b5-b399-8eb160eeda9f","directory":"last-day-of-june","title":"Last Day of June","compatibility":99,"releases":[{"id":"0100DA700879C000","region":null}]},{"id":"a680a990-c5a6-424e-8e8d-39e54fd1a7c3","directory":"remothered-tormented-fathers","title":"Remothered: Tormented Fathers","compatibility":3,"releases":[{"id":"01008F600F2D0000","region":null}]},{"id":"a6858e33-ca32-4ed3-a9f2-403449264d82","directory":"infection-maze","title":"Infection Maze","compatibility":99,"releases":[{"id":"0100D7301527A000","region":null}]},{"id":"a6a07070-3a54-4a31-ae1a-7911675ab0f1","directory":"lord-of-the-click","title":"Lord of the Click","compatibility":99,"releases":[{"id":"0100706013240000","region":null}]},{"id":"a6aab4d2-3abe-424a-8812-8e44d4879816","directory":"skytime","title":"SkyTime","compatibility":99,"releases":[{"id":"0100F3C00C400000","region":null}]},{"id":"a6abd0a7-2936-4908-a3a8-339ffa1e6014","directory":"super-punch","title":"Super Punch","compatibility":99,"releases":[{"id":"01009D20136CC000","region":null}]},{"id":"a6bfed74-0bcb-4602-89f8-2973b877216a","directory":"holy-cow-milking-simulator","title":"HOLY COW! Milking Simulator","compatibility":99,"releases":[{"id":"01004500159AC000","region":null}]},{"id":"a6c27efe-e0cf-4e98-9348-21ef42da59fd","directory":"opus-the-day-we-found-earth","title":"OPUS: The Day We Found Earth","compatibility":99,"releases":[{"id":"010049C0075F0000","region":null}]},{"id":"a6c4eb03-fb3a-463e-ad76-06e79eea287e","directory":"swaps-and-traps","title":"Swaps and Traps","compatibility":99,"releases":[{"id":"0100ED500E858000","region":null}]},{"id":"a6c588cf-d7f4-401c-81ac-e94e01c37326","directory":"tiny-troopers-joint-ops-xl","title":"Tiny Troopers Joint Ops XL","compatibility":99,"releases":[{"id":"0100B52006E8C000","region":null}]},{"id":"a6c88823-875f-4da9-ba0e-027f6afd9e89","directory":"twelve-minutes","title":"Twelve Minutes","compatibility":99,"releases":[{"id":"0100CD701434C000","region":null}]},{"id":"a6d9e1b2-627a-4be1-a43e-e7eb5d56b17d","directory":"chiki-chiki-boxy-pro-wrestling","title":"Chiki-Chiki Boxy Pro Wrestling","compatibility":99,"releases":[{"id":"010056300D21A000","region":null}]},{"id":"a6dcded1-22d6-44f8-ae0c-13637d7218b4","directory":"ice-age-scrats-nutty-adventure","title":"Ice Age Scrat's Nutty Adventure!","compatibility":99,"releases":[{"id":"01004E5007E92000","region":null}]},{"id":"a6ea41fc-6cc3-48f7-8cf2-fc919d743ee9","directory":"cel-damage-hd","title":"Cel Damage HD","compatibility":99,"releases":[{"id":"010019B00BE72000","region":null}]},{"id":"a6ec9863-5cb5-4d1f-85c7-e42ea9418f37","directory":"rollercoaster-tycoon-3-complete-edition","title":"RollerCoaster Tycoon 3 Complete Edition","compatibility":1,"releases":[{"id":"01004900113F8000","region":null}]},{"id":"a6ed9cc9-0e6e-4cb4-a330-5115047c1da3","directory":"the-friends-of-ringo-ishikawa","title":"The friends of Ringo Ishikawa","compatibility":2,"releases":[{"id":"010030700CBBC000","region":null}]},{"id":"a6f6735a-aae2-414b-b6d6-35cd5eadbec9","directory":"antventor","title":"AntVentor","compatibility":99,"releases":[{"id":"0100FE1011400000","region":null}]},{"id":"a70171a8-2e34-4880-91a8-a2ed4ee4dcdb","directory":"dog","title":".dog","compatibility":99,"releases":[{"id":"01002F5016892000","region":null}]},{"id":"a712eb65-6702-4a58-8c81-f7875028b382","directory":"polandball-can-into-space","title":"Polandball: Can Into Space","compatibility":99,"releases":[{"id":"0100A3500B4EC000","region":null}]},{"id":"a7135a0b-7c48-4ee2-b557-7c5d2e5c3c9d","directory":"football-game","title":"Football Game","compatibility":1,"releases":[{"id":"010027800FECE000","region":null}]},{"id":"a71fb7f1-e428-465b-94a7-42bb780b8d87","directory":"olija","title":"Olija","compatibility":99,"releases":[{"id":"01004D501230A000","region":null}]},{"id":"a720a280-7de3-4323-8a55-90d5ed8c6300","directory":"archaica-the-path-of-light","title":"Archaica: The Path Of Light","compatibility":99,"releases":[{"id":"01003C2010C78000","region":null}]},{"id":"a720c4ab-3dcf-4a33-9c4a-47bdb2cec32d","directory":"epic-chef","title":"Epic Chef","compatibility":99,"releases":[{"id":"0100E70014562000","region":null}]},{"id":"a72c010c-efc6-4e86-bf33-3c28beb6c19b","directory":"make-the-burger","title":"Make the Burger","compatibility":99,"releases":[{"id":"01008E2016768000","region":null}]},{"id":"a745c3d9-63e3-466a-b51b-e81eb3e6d311","directory":"undernauts-labyrinth-of-yomi","title":"Undernauts: Labyrinth of Yomi","compatibility":0,"releases":[{"id":"010036D014A7E000","region":null}]},{"id":"a757060e-5c90-4dcd-b5ae-dbb146dc754a","directory":"press-a-to-party","title":"Press “A” to Party","compatibility":99,"releases":[{"id":"010059901442E000","region":null}]},{"id":"a75bec0b-cfab-4759-a4b6-d8855b895f2e","directory":"floor-kids","title":"Floor Kids","compatibility":0,"releases":[{"id":"0100DF9005E7A000","region":null}]},{"id":"a75d785d-c81e-4663-8170-087ceb47612c","directory":"seal-electric-railway","title":"Seal Electric Railway","compatibility":99,"releases":[{"id":"01005BE0136DC000","region":null}]},{"id":"a75fe323-eb94-4dd7-923e-18235a6b39b1","directory":"realpolitiks","title":"Realpolitiks","compatibility":1,"releases":[{"id":"0100C9F00BC50000","region":null}]},{"id":"a76cea99-1028-48ef-8cca-2ba53c180567","directory":"just-ignore-them","title":"Just Ignore Them","compatibility":99,"releases":[{"id":"010090C00F7BA000","region":null}]},{"id":"a76de213-4058-4f09-8997-7b605c12e281","directory":"3-little-pigs-and-bad-wolf","title":"3 Little Pigs & Bad Wolf","compatibility":2,"releases":[{"id":"0100B2700E9F4000","region":null}]},{"id":"a7702db3-7461-4132-9318-ba3cc5640c4d","directory":"bayonetta-2","title":"Bayonetta 2","compatibility":1,"releases":[{"id":"01007960049A0000","region":null}]},{"id":"a7786314-e4e9-4b2c-9454-840935f7499d","directory":"octodad-dadliest-catch","title":"Octodad: Dadliest Catch","compatibility":99,"releases":[{"id":"0100CAB006F54000","region":null}]},{"id":"a77f9035-e746-4a89-931f-d94b91bdff09","directory":"lost-lands-2-the-four-horsemen","title":"Lost Lands 2: The Four Horsemen","compatibility":99,"releases":[{"id":"0100133014510000","region":null}]},{"id":"a784d5f9-d268-4187-8690-90c223565aa6","directory":"mr-driller-drillland","title":"Mr. DRILLER DrillLand","compatibility":2,"releases":[{"id":"0100DCA011262000","region":null}]},{"id":"a78cc379-3d44-4ae5-87fc-ca41625aaa96","directory":"golf-club-wasteland","title":"Golf Club Wasteland","compatibility":0,"releases":[{"id":"010036A0150D6000","region":null}]},{"id":"a7911ea8-e0e2-4bea-8b7d-75d59065ab5b","directory":"atelier-lydie-and-suelle-~the-alchemists-and-the-mysterious-paintings~","title":"Atelier Lydie & Suelle ~The Alchemists and the Mysterious Paintings~","compatibility":4,"releases":[{"id":"010009900947A000","region":null}]},{"id":"a7935f0b-f95d-4de6-9f68-f69f817a4fb7","directory":"moorhuhn-remake","title":"Moorhuhn Remake","compatibility":3,"releases":[{"id":"010026D00AABE000","region":null}]},{"id":"a7938271-3c65-4751-83ec-2b81908bd253","directory":"cursed-castilla","title":"Cursed Castilla","compatibility":1,"releases":[{"id":"0100ED700B376000","region":null}]},{"id":"a796f576-3c6a-41fa-8446-b31af674616f","directory":"raging-loop","title":"Raging Loop","compatibility":1,"releases":[{"id":"010020400E1C2000","region":null}]},{"id":"a79a7209-6b87-4f2f-9dc7-ee0c97615849","directory":"deponia-doomsday","title":"Deponia Doomsday","compatibility":99,"releases":[{"id":"010024000C852000","region":null}]},{"id":"a7ab5082-9be2-449c-aa0f-2317422b1c60","directory":"shing","title":"Shing!","compatibility":99,"releases":[{"id":"01007C200FC64000","region":null}]},{"id":"a7ba42e3-9f9a-4ad8-baa1-2de832b71146","directory":"boxboy-boxgirl","title":"BOXBOY! + BOXGIRL!","compatibility":2,"releases":[{"id":"010018300D006000","region":null}]},{"id":"a7d59802-fced-44ee-bdda-cb3851c603ea","directory":"the-mean-greens-plastic-warfare","title":"The Mean Greens - Plastic Warfare","compatibility":99,"releases":[{"id":"01002220138AE000","region":null}]},{"id":"a7dc929f-75c6-41cb-b274-4899da9191de","directory":"heroes-of-hammerwatch-ultimate-edition","title":"Heroes of Hammerwatch - Ultimate Edition","compatibility":0,"releases":[{"id":"0100D2B00BC54000","region":null}]},{"id":"a7ec6c91-731e-4849-88e7-8b98a5aba675","directory":"creature-in-the-well","title":"Creature in the Well","compatibility":4,"releases":[{"id":"01007C600D778000","region":null}]},{"id":"a7f6a6eb-691f-447e-898a-418fcdb5d2c9","directory":"house-flipper","title":"House Flipper","compatibility":99,"releases":[{"id":"0100CAE00EB02000","region":null}]},{"id":"a7f710ae-f5ad-44dc-9a2f-f2b4328fc16d","directory":"tower-of-babel","title":"Tower Of Babel","compatibility":99,"releases":[{"id":"0100F7B00595C000","region":null}]},{"id":"a7fddd89-e45d-4cb3-a5cd-cea347eee54a","directory":"tunche","title":"Tunche","compatibility":2,"releases":[{"id":"01006F00139DA000","region":null}]},{"id":"a801a1ff-4e2a-46a4-875c-02c57ebbc2d4","directory":"paladin","title":"Paladin","compatibility":99,"releases":[{"id":"010011600BB84000","region":null}]},{"id":"a805ca73-3894-4f75-87f4-77f1d4eba065","directory":"forklift-simulator","title":"Forklift Simulator","compatibility":99,"releases":[{"id":"0100C7B016794000","region":null}]},{"id":"a81cc4de-6af1-43a0-9644-f01f958c4f36","directory":"oh-my-godheads-party-edition","title":"Oh My Godheads: Party Edition","compatibility":99,"releases":[{"id":"01003B900AE12000","region":null}]},{"id":"a823d3f1-ceed-4830-bcf8-b4fbc63bbbe2","directory":"breeder-homegrown-directors-cut","title":"Breeder Homegrown: Director's Cut","compatibility":99,"releases":[{"id":"010051A010C7C000","region":null}]},{"id":"a824663c-abc2-4f62-817a-777966fb99e6","directory":"my-universe-interior-designer","title":"My Universe - Interior Designer","compatibility":99,"releases":[{"id":"010029E01583C000","region":null}]},{"id":"a826a43b-e8f9-40a4-8000-0e13a11426de","directory":"joggernauts","title":"Joggernauts","compatibility":4,"releases":[{"id":"0100EF100BD96000","region":null}]},{"id":"a83949ab-1240-408a-8ce1-7170cbacbc8d","directory":"bridge-3","title":"Bridge! 3","compatibility":1,"releases":[{"id":"01000B1010D8E000","region":null}]},{"id":"a84a2d75-3b12-46f7-921c-28a1aee89a40","directory":"fishing-universe-simulator","title":"Fishing Universe Simulator","compatibility":99,"releases":[{"id":"010069800D292000","region":null}]},{"id":"a8651e67-aa64-47f4-9e2e-798789cb05ff","directory":"88-heroes-98-heroes-edition","title":"88 Heroes - 98 Heroes Edition","compatibility":0,"releases":[{"id":"010006A0042F0000","region":null}]},{"id":"a86c8378-088e-451f-ac0e-e0623f8e7c92","directory":"storm-boy","title":"Storm Boy","compatibility":1,"releases":[{"id":"010040D00BCF4000","region":null}]},{"id":"a86fb9ca-a2dc-4a8e-a6c5-61fe947f912d","directory":"red-colony-2","title":"Red Colony 2","compatibility":1,"releases":[{"id":"01000E50153FE000","region":null}]},{"id":"a870cff1-0bfb-4ba0-9574-de8fce170a3f","directory":"power-racing-bundle-3","title":"Power Racing Bundle 3","compatibility":99,"releases":[{"id":"01008F5013E6C000","region":null}]},{"id":"a8761d94-bf79-4b60-b8a7-ad4a63fd07d8","directory":"motogp18","title":"MotoGP18","compatibility":3,"releases":[{"id":"0100361007268000","region":null}]},{"id":"a88bb601-595a-42ee-b7dd-1915bb7b811c","directory":"double-dragon-neon","title":"Double Dragon Neon","compatibility":1,"releases":[{"id":"01005B10132B2000","region":null}]},{"id":"a88d238a-b939-4b01-8eee-69d64753398d","directory":"super-club-tennis","title":"Super Club Tennis","compatibility":99,"releases":[{"id":"010072A00B632000","region":null}]},{"id":"a895a8e3-97ee-4f40-be07-775779ea89bf","directory":"snow-battle-princess-sayuki","title":"Snow Battle Princess Sayuki","compatibility":99,"releases":[{"id":"0100ADF00CB64000","region":null}]},{"id":"a89e6495-1c54-441e-8af7-231d390e04c0","directory":"aca-neogeo-the-king-of-fighters-2003","title":"ACA NEOGEO THE KING OF FIGHTERS 2003","compatibility":5,"releases":[{"id":"0100EF100AFE6000","region":null}]},{"id":"a8b3277d-b628-43f5-8031-8ff3dc430627","directory":"swordbreaker-the-game","title":"Swordbreaker The Game","compatibility":99,"releases":[{"id":"0100A500115BC000","region":null}]},{"id":"a8c33dc5-d378-47b3-90e4-1cc77f77c327","directory":"my-magic-florist","title":"My Magic Florist","compatibility":99,"releases":[{"id":"01007A5013700000","region":null}]},{"id":"a8cb4be5-0409-430b-bd75-7fa549ef7543","directory":"crazy-strike-bowling-ex","title":"Crazy Strike Bowling EX","compatibility":2,"releases":[{"id":"01006BC00C27A000","region":null}]},{"id":"a8cb7611-5830-493d-b6c0-c8229097a7b0","directory":"bleed-2","title":"Bleed 2","compatibility":3,"releases":[{"id":"0100A48008AE8000","region":null}]},{"id":"a8cbffa7-39ef-4e5b-98e7-10686f4465f4","directory":"adverse","title":"ADVERSE","compatibility":99,"releases":[{"id":"01008C901266E000","region":null}]},{"id":"a8ce4954-559a-4915-9b1e-896ee61d892c","directory":"toem","title":"TOEM","compatibility":99,"releases":[{"id":"01005140151C2000","region":null}]},{"id":"a8d7bf57-2ffa-4050-bd21-5d52590508f3","directory":"super-mega-space-blaster-special-turbo","title":"Super Mega Space Blaster Special Turbo","compatibility":99,"releases":[{"id":"0100BDD00EC5C000","region":null}]},{"id":"a8d8d44a-7690-4011-b447-78729000d6d2","directory":"trivial-pursuit-live","title":"TRIVIAL PURSUIT Live!","compatibility":0,"releases":[{"id":"010020700A5E0000","region":null}]},{"id":"a8e0c208-cca5-4906-babc-13891680553e","directory":"aca-neogeo-cyber-lip","title":"ACA NEOGEO CYBER-LIP","compatibility":2,"releases":[{"id":"010082200AFBE000","region":null}]},{"id":"a8ee87ff-2ebe-4ba2-a144-023180ebfb4c","directory":"collar-x-malice-unlimited","title":"Collar X Malice -Unlimited-","compatibility":0,"releases":[{"id":"0100E3B00F412000","region":null}]},{"id":"a9044ea8-3dc0-47c9-aaff-db3e325e512b","directory":"arcade-archives-saint-dragon","title":"Arcade Archives SAINT DRAGON","compatibility":99,"releases":[{"id":"0100A52010192000","region":null}]},{"id":"a922623f-e580-43ed-a5f8-4e10f7feac88","directory":"mutant-mudds-collection","title":"Mutant Mudds Collection","compatibility":2,"releases":[{"id":"01004BE004A86000","region":null}]},{"id":"a9430d91-3123-4116-89a7-a8c55c2ebfee","directory":"cannibal-cuisine","title":"Cannibal Cuisine","compatibility":99,"releases":[{"id":"0100E5500C756000","region":null}]},{"id":"a956779f-b49e-410d-a3c1-c3ac3d0e4640","directory":"ys-ix-monstrum-nox","title":"Ys IX: Monstrum Nox","compatibility":4,"releases":[{"id":"0100E390124D8000","region":null}]},{"id":"a958e6df-8f77-4f39-9fd1-da86bb3f3bdd","directory":"rbi-baseball-18","title":"R.B.I. Baseball 18","compatibility":4,"releases":[{"id":"01005CC007616000","region":null}]},{"id":"a96acdee-eb74-459d-be1c-73fe6ee2a361","directory":"sorcerer-knights","title":"Sorcerer Knights","compatibility":99,"releases":[{"id":"01003F4016B18000","region":null}]},{"id":"a9734595-623e-4d82-ab7f-55f80ae4fdb9","directory":"hacky-zack","title":"Hacky Zack","compatibility":99,"releases":[{"id":"01003BA00A67E000","region":null}]},{"id":"a985f485-01ae-448d-afdf-a84abda3f747","directory":"hyper-light-drifter-special-edition","title":"Hyper Light Drifter - Special Edition","compatibility":5,"releases":[{"id":"01003B200B372000","region":null}]},{"id":"a98dc0ce-6b09-498a-9604-12526d0a12af","directory":"the-walking-vegetables-radical-edition","title":"The Walking Vegetables: Radical Edition","compatibility":99,"releases":[{"id":"0100E7D00C17A000","region":null}]},{"id":"a98e3f70-0622-4e29-9bfe-986d5673867a","directory":"galaxy-shooter","title":"Galaxy Shooter","compatibility":99,"releases":[{"id":"01008100169AC000","region":null}]},{"id":"a9985436-0b01-4f45-81b5-38e3e750a22f","directory":"refunct","title":"Refunct","compatibility":0,"releases":[{"id":"01007A800D520000","region":null}]},{"id":"a99be1c5-1ed5-4e7c-90d6-c22047eec2be","directory":"arcade-archives-mappy","title":"Arcade Archives MAPPY","compatibility":99,"releases":[{"id":"0100C5D015AD0000","region":null}]},{"id":"a9a34876-afc7-4c0f-894a-bd41a664d59f","directory":"grimshade","title":"Grimshade","compatibility":99,"releases":[{"id":"01001E200F2F8000","region":null}]},{"id":"a9b6f094-09eb-4768-9d37-2ed8a6c57ca6","directory":"pupaipo-space-deluxe","title":"PuPaiPo Space Deluxe","compatibility":99,"releases":[{"id":"01007BE00FE5E000","region":null}]},{"id":"a9cf454d-2774-473a-8042-2b352f8388e5","directory":"time-recoil","title":"Time Recoil","compatibility":99,"releases":[{"id":"0100F770045CA000","region":null}]},{"id":"a9d12316-f303-4fcf-8c59-59795b03a0ce","directory":"reflex-unit-2","title":"Reflex Unit 2","compatibility":99,"releases":[{"id":"010014901201E000","region":null}]},{"id":"a9f1b93c-4f9f-4997-8647-91ba4b51106d","directory":"defense-grid-2","title":"Defense Grid 2","compatibility":99,"releases":[{"id":"010061300BBF8000","region":null}]},{"id":"aa0174d7-dc8d-46ed-9ec0-d32f3facc9a6","directory":"icey","title":"ICEY","compatibility":1,"releases":[{"id":"0100BE9007E7E000","region":null}]},{"id":"aa0a13c8-e5e2-4e04-bc35-1461ba82fbab","directory":"indie-gems-bundle-jrpg-edition","title":"Indie Gems Bundle - JRPG Edition","compatibility":99,"releases":[{"id":"0100A95010942000","region":null}]},{"id":"aa1be8e5-ced1-4fab-bc71-fd28ba8cda5d","directory":"fantasy-friends-under-the-sea","title":"Fantasy Friends: Under the Sea","compatibility":99,"releases":[{"id":"0100DAA0153C0000","region":null}]},{"id":"aa1d6494-b173-4d54-ac0e-4a033099aa91","directory":"kirakira-stars-idol-project-ai","title":"Kirakira stars idol project Ai","compatibility":99,"releases":[{"id":"01008C0014C10000","region":null}]},{"id":"aa1f8b4a-c4a6-46e1-bf1b-59c3e1630108","directory":"urban-trial-playground","title":"Urban Trial Playground","compatibility":1,"releases":[{"id":"01001B10068EC000","region":null}]},{"id":"aa2c75b9-4a33-4268-8c72-c1dc38fc41ea","directory":"hexxagon-board-game","title":"Hexxagon - Board Game","compatibility":99,"releases":[{"id":"0100369012840000","region":null}]},{"id":"aa3447cb-9c87-4c72-961d-7e05f36b800e","directory":"mario-and-sonic-at-the-olympic-games-tokyo-2020","title":"Mario & Sonic at the Olympic Games Tokyo 2020","compatibility":1,"releases":[{"id":"010003000E146000","region":null}]},{"id":"aa4b2b40-aa46-4bd0-aa41-cf870e290cd7","directory":"bit-trip-runner","title":"BIT.TRIP RUNNER","compatibility":3,"releases":[{"id":"0100E62012D3C000","region":null}]},{"id":"aa509f2e-3e87-4bee-be16-ba6820e4c78c","directory":"the-bluecoats-north-south","title":"The Bluecoats North & South","compatibility":1,"releases":[{"id":"0100A5A00B2AA000","region":null}]},{"id":"aa6ffec6-2536-43af-aaaa-405673f81040","directory":"arcade-archives-time-pilot","title":"Arcade Archives TIME PILOT","compatibility":4,"releases":[{"id":"0100AF300D2E8000","region":null}]},{"id":"aa81de21-30e8-4dce-b079-55d2a5cf0087","directory":"semblance","title":"Semblance","compatibility":0,"releases":[{"id":"010080F0099FC000","region":null}]},{"id":"aa8b1094-607f-4274-bc8a-a00f71a4eeaa","directory":"red-square-escape","title":"Red Square Escape","compatibility":99,"releases":[{"id":"010052B015B74000","region":null}]},{"id":"aa8c764c-1086-432d-928d-527ce0c9ceee","directory":"you-died-but-a-necromancer-revived-you","title":"You Died but a Necromancer revived you","compatibility":99,"releases":[{"id":"0100F6700DBD8000","region":null}]},{"id":"aa9573c4-e9dc-48d3-9e05-fc1bb17e8fd5","directory":"energy-cycle-edge","title":"Energy Cycle Edge","compatibility":99,"releases":[{"id":"0100B8700BD14000","region":null}]},{"id":"aa95e5dd-9bb3-4289-9cc1-d9970d0941d5","directory":"beast-breaker","title":"Beast Breaker","compatibility":99,"releases":[{"id":"010042401436C000","region":null}]},{"id":"aaa51ee8-e6bc-41fe-8349-775ce77ddfe6","directory":"dragons-lair-trilogy","title":"Dragon's Lair Trilogy","compatibility":1,"releases":[{"id":"010027100C544000","region":null}]},{"id":"aaa6042e-9504-49e2-a26e-07839e365bdf","directory":"flynn-son-of-crimson","title":"Flynn: Son of Crimson","compatibility":5,"releases":[{"id":"01005F2014B80000","region":null}]},{"id":"aab2ee71-cfa7-4e2b-b2bf-f7f92a2459e7","directory":"alba-a-wildlife-adventure","title":"Alba: A Wildlife Adventure","compatibility":2,"releases":[{"id":"01007FB013B10000","region":null}]},{"id":"aac19174-b9ed-465d-b07b-f1fb4a21ecf3","directory":"cozy-grove","title":"Cozy Grove","compatibility":0,"releases":[{"id":"01003370136EA000","region":null}]},{"id":"aac3f3fa-aace-43ca-8e57-8d6561733cb5","directory":"glass-masquerade-2-illusions","title":"Glass Masquerade 2: Illusions","compatibility":99,"releases":[{"id":"0100EE300FC36000","region":null}]},{"id":"aac560b8-1134-4ef7-9bb7-71bcb2d5e2f7","directory":"mittelborg-city-of-mages","title":"Mittelborg: City of Mages","compatibility":99,"releases":[{"id":"0100F65011E52000","region":null}]},{"id":"aad666e0-4915-43be-87d0-9efd9d0a4500","directory":"zero-zero-zero-zero","title":"Zero Zero Zero Zero","compatibility":99,"releases":[{"id":"010010500390C000","region":null}]},{"id":"aadb3cce-0a79-4d31-9426-acb8f73cea88","directory":"button-button-up","title":"Button Button Up!","compatibility":1,"releases":[{"id":"010011000E31A000","region":null}]},{"id":"aadc1ccd-5549-45b8-a933-1f87ccf548cd","directory":"buildings-have-feelings-too","title":"Buildings Have Feelings Too!","compatibility":99,"releases":[{"id":"0100C0B00D290000","region":null}]},{"id":"aadcd132-04c2-4ea4-a035-c8947b59df3e","directory":"wurroom","title":"Wurroom","compatibility":99,"releases":[{"id":"01003B401148E000","region":null}]},{"id":"aae7c1df-f96f-4e8c-878b-016a2c57145c","directory":"sephirothic-stories","title":"Sephirothic Stories","compatibility":1,"releases":[{"id":"010059700D4A0000","region":null}]},{"id":"aae8c545-406b-402b-939a-939037e7ad8e","directory":"yooka-laylee","title":"Yooka-Laylee","compatibility":0,"releases":[{"id":"0100F110029C8000","region":null}]},{"id":"aaf1aed1-54ea-428d-b637-460810c1900a","directory":"dark-devotion","title":"Dark Devotion","compatibility":3,"releases":[{"id":"010083A00BF6C000","region":null}]},{"id":"aaf91fd1-7093-4361-8097-6fde02abacf1","directory":"radiation-island","title":"Radiation Island","compatibility":5,"releases":[{"id":"01009E40095EE000","region":null}]},{"id":"aafc1c12-115e-453d-a7fa-ecdd1fe8a298","directory":"pixel-art-bundle-vol-1","title":"Pixel Art Bundle Vol. 1","compatibility":99,"releases":[{"id":"0100B3201140C000","region":null}]},{"id":"ab003f2d-356f-48ab-b21c-2d5e798551db","directory":"avicii-invector","title":"AVICII Invector","compatibility":0,"releases":[{"id":"010064600F982000","region":null}]},{"id":"ab131a88-09fc-4172-a35f-64a3b5d3d8ce","directory":"mermaid-castle","title":"Mermaid Castle","compatibility":0,"releases":[{"id":"0100B5901230C000","region":null}]},{"id":"ab160326-7fc4-4105-9da5-6c7260ebd2f5","directory":"retro-fighter-dragons-revenge","title":"Retro Fighter - Dragon's Revenge","compatibility":99,"releases":[{"id":"0100F4101443C000","region":null}]},{"id":"ab17030d-b327-44e3-bc6b-39b0b8d5fca1","directory":"clannad","title":"CLANNAD","compatibility":1,"releases":[{"id":"0100A3A00CC7E000","region":null}]},{"id":"ab18e9cb-be87-496b-b4d1-98add531e9b5","directory":"splat-the-fruit","title":"Splat the Fruit","compatibility":99,"releases":[{"id":"01004C800A79C000","region":null}]},{"id":"ab1e389e-a697-4798-ba9e-a4b1cde35d15","directory":"battojutsu","title":"BATTOJUTSU","compatibility":99,"releases":[{"id":"01006EE00E67C000","region":null}]},{"id":"ab21649e-9d4f-4d6c-b9ec-d38d497c8e4b","directory":"bridge-builder-adventure","title":"Bridge Builder Adventure","compatibility":99,"releases":[{"id":"01001BD010758000","region":null}]},{"id":"ab246c63-9da0-4d12-b6ff-f725f62cbdb2","directory":"aqua-lungers","title":"Aqua Lungers","compatibility":99,"releases":[{"id":"0100FE0010886000","region":null}]},{"id":"ab2557b6-497c-43a6-8b17-02f4d1cc26c1","directory":"hunting-simulator-2","title":"Hunting Simulator 2","compatibility":3,"releases":[{"id":"010061F010C3A000","region":null}]},{"id":"ab335dd1-9abd-4ec1-a5b7-47b36b8a155f","directory":"lovecrafts-untold-stories","title":"Lovecraft´s Untold Stories","compatibility":1,"releases":[{"id":"010041100CE7E000","region":null}]},{"id":"ab3e1780-5c04-46d9-a388-9980b0292aae","directory":"devil-may-cry-2","title":"Devil May Cry 2","compatibility":0,"releases":[{"id":"01007CF00D5BA000","region":null}]},{"id":"ab4125c4-9006-4f30-91ca-041b4fd497a9","directory":"unmetal","title":"UnMetal","compatibility":0,"releases":[{"id":"01008F4014A74000","region":null}]},{"id":"ab520008-acd7-43d4-b935-4a75af70d16c","directory":"color-dots-connect","title":"Color Dots Connect","compatibility":99,"releases":[{"id":"01004F7015382000","region":null}]},{"id":"ab55d09e-5376-459f-9f71-89e198d4a402","directory":"aerial_knights-never-yield","title":"Aerial_Knight's Never Yield","compatibility":1,"releases":[{"id":"0100E9B013D4A000","region":null}]},{"id":"ab586efc-0bed-429e-83a0-1a16e3fb2fec","directory":"anarcute","title":"Anarcute","compatibility":99,"releases":[{"id":"010050900E1C6000","region":null}]},{"id":"ab5da151-4dbe-476a-b062-5ca269b0862f","directory":"monster-truck-championship","title":"Monster Truck Championship","compatibility":99,"releases":[{"id":"0100D30010C42000","region":null}]},{"id":"ab610baa-199e-469f-88c0-b98b02635d5f","directory":"mahjong-deluxe-3","title":"Mahjong Deluxe 3","compatibility":99,"releases":[{"id":"0100E0300B13C000","region":null}]},{"id":"ab662694-b43e-46a5-a9a2-731cc2818889","directory":"doom-destiny-advanced","title":"Doom & Destiny Advanced","compatibility":0,"releases":[{"id":"01003B800E164000","region":null}]},{"id":"ab6a046e-d86f-4cf5-a1d4-47f9d5cc1344","directory":"super-arcade-soccer-2021","title":"Super Arcade Soccer 2021","compatibility":99,"releases":[{"id":"010081F00F75C000","region":null}]},{"id":"ab6dcc4c-aa67-4217-8e16-56d5cc20aec3","directory":"black-the-fall","title":"Black The Fall","compatibility":3,"releases":[{"id":"0100502007F54000","region":null}]},{"id":"ab6e3d08-d59d-4f25-8acd-7db2f27ce190","directory":"mathland","title":"MathLand","compatibility":99,"releases":[{"id":"01004B100A1C4000","region":null}]},{"id":"ab6f14a1-7c0a-47f3-ba27-348c4619eb76","directory":"world-soccer-strikers-91","title":"World Soccer Strikers '91","compatibility":99,"releases":[{"id":"010032B013896000","region":null}]},{"id":"ab8a717c-234d-403e-8cc5-9996ec0bc057","directory":"freecell-solitaire-deluxe","title":"Freecell Solitaire Deluxe","compatibility":99,"releases":[{"id":"0100C4300EEEE000","region":null}]},{"id":"ab8ead75-87f5-4b3b-810e-bc9e5cfb6a12","directory":"into-the-dead-2","title":"Into the Dead 2","compatibility":99,"releases":[{"id":"01000F700DECE000","region":null}]},{"id":"ab9c824c-c6c9-463a-880e-0f03855046a5","directory":"haunted-halloween-86","title":"HAUNTED: Halloween '86","compatibility":1,"releases":[{"id":"010085500F6B6000","region":null}]},{"id":"ab9cc8d5-a540-45b0-a76f-529d990b340d","directory":"smashing-the-battle","title":"SMASHING THE BATTLE","compatibility":0,"releases":[{"id":"01002AA00C974000","region":null}]},{"id":"aba63f9f-2204-4285-a6a8-084d6646a4aa","directory":"persona-r-5-strikers","title":"Persona® 5 Strikers","compatibility":0,"releases":[{"id":"0100801011C3E000","region":null}]},{"id":"aba6d40d-9fcb-43fd-be08-1bdb91383395","directory":"funny-bunny-adventures","title":"Funny Bunny Adventures","compatibility":99,"releases":[{"id":"0100EA501033C000","region":null}]},{"id":"abaa9a73-a44e-4ad2-802b-35dc720eeb2f","directory":"typoman","title":"Typoman","compatibility":2,"releases":[{"id":"0100A250093DE000","region":null}]},{"id":"abb51823-38b4-4d48-8ca2-f61c47476ee7","directory":"mazezam-puzzle-game","title":"MazezaM - Puzzle Game","compatibility":99,"releases":[{"id":"0100EEB0122BA000","region":null}]},{"id":"abc42d50-46f1-43de-a31b-f353d133c071","directory":"doki-doki-literature-club-plus","title":"Doki Doki Literature Club Plus!","compatibility":0,"releases":[{"id":"010086901543E000","region":null}]},{"id":"abc73770-4031-4590-884a-4789269497eb","directory":"desktop-volleyball","title":"Desktop Volleyball","compatibility":99,"releases":[{"id":"01001240126F2000","region":null}]},{"id":"abcf946f-275d-4952-8f24-f4635fb7ae47","directory":"doodle-devil-3volution","title":"Doodle Devil: 3volution","compatibility":99,"releases":[{"id":"0100996012D7A000","region":null}]},{"id":"abd277be-06f2-4728-b5de-64ecc5bda901","directory":"arcade-archives-cybattler","title":"Arcade Archives CYBATTLER","compatibility":99,"releases":[{"id":"0100AF5013F00000","region":null}]},{"id":"abd290e3-44ac-461e-bc6a-93e6903164e4","directory":"gnomes-garden","title":"Gnomes Garden","compatibility":99,"releases":[{"id":"01004D300BF98000","region":null}]},{"id":"abd86039-11d3-4efb-b0da-0c1f5fdc0cb9","directory":"the-walking-dead-the-complete-first-season","title":"The Walking Dead: The Complete First Season","compatibility":4,"releases":[{"id":"010029200B6AA000","region":null}]},{"id":"abe29986-a326-4b47-9f29-5e03e9f658fe","directory":"kill-la-kill-if","title":"KILL la KILL -IF","compatibility":4,"releases":[{"id":"0100FB400D832000","region":null}]},{"id":"abf8b2cb-8d10-4a1e-a2ab-896e98aeafe5","directory":"tens","title":"TENS!","compatibility":99,"releases":[{"id":"01009C4012336000","region":null}]},{"id":"abf97fc9-ce1d-4ede-ac7d-c1c49efb065d","directory":"octopath-traveler-prologue-demo-version","title":"Octopath Traveler - Prologue Demo Version","compatibility":3,"releases":[{"id":"010096000B3EA000","region":null}]},{"id":"abfb63bf-5718-4ed0-b4a5-044d49e50118","directory":"squidlit","title":"Squidlit","compatibility":1,"releases":[{"id":"0100FCD0102EC000","region":null}]},{"id":"ac13842b-8fe6-4b14-8df4-f433d33e88fa","directory":"brunch-club","title":"Brunch Club","compatibility":99,"releases":[{"id":"0100B2700E90E000","region":null}]},{"id":"ac15408d-a462-407e-9057-a88c4e0f830d","directory":"avocuddle","title":"AvoCuddle","compatibility":99,"releases":[{"id":"01008FB011248000","region":null}]},{"id":"ac181238-b7a4-40ec-adf7-00ed30bc9525","directory":"final-fantasy-r-crystal-chronicles-remastered-edition","title":"FINAL FANTASY® CRYSTAL CHRONICLES™ Remastered Edition","compatibility":1,"releases":[{"id":"0100CE4010AAC000","region":null}]},{"id":"ac27ed3f-4dc2-4391-bf09-4a2402fca704","directory":"just-a-phrase-by-powgi","title":"Just a Phrase by POWGI","compatibility":99,"releases":[{"id":"010045100F722000","region":null}]},{"id":"ac2fdfb3-0fe7-43b8-a589-a84ed54ece13","directory":"back-to-bed","title":"Back to Bed","compatibility":99,"releases":[{"id":"0100F4100AF16000","region":null}]},{"id":"ac308ffd-059d-4dd1-8172-4c2ff77de743","directory":"resident-evil-revelations-2","title":"Resident Evil Revelations 2","compatibility":2,"releases":[{"id":"010095300212A000","region":null}]},{"id":"ac3eb988-bd07-4daf-a9c8-4dfbfe57da7e","directory":"history-2048","title":"History 2048","compatibility":99,"releases":[{"id":"0100B1E00D234000","region":null}]},{"id":"ac6c767f-0082-4bfb-9b00-344ab488045a","directory":"part-time-ufo","title":"Part Time UFO™","compatibility":1,"releases":[{"id":"01006B5012B32000","region":null}]},{"id":"ac73a532-43a1-4a19-969f-7f97bf7d308b","directory":"heavens-vault","title":"Heaven's Vault","compatibility":99,"releases":[{"id":"0100FD901000C000","region":null}]},{"id":"ac78e67c-d424-4262-875d-15970d6802af","directory":"grindstone","title":"Grindstone","compatibility":0,"releases":[{"id":"0100538012496000","region":null}]},{"id":"ac80ed20-23ab-4900-bac6-48c7f4eb05ad","directory":"tactics-v-obsidian-brigade","title":"Tactics V: \"Obsidian Brigade\"","compatibility":99,"releases":[{"id":"01007C7006AEE000","region":null}]},{"id":"ac8c8dbb-a270-4f48-8d7d-6d41d3ed32d0","directory":"dragon-quest-builders","title":"Dragon Quest Builders","compatibility":4,"releases":[{"id":"010008900705C000","region":null}]},{"id":"ac9c2b68-dd33-4d42-938e-4e0e835a288f","directory":"escape-trick-35-fateful-enigmas","title":"ESCAPE TRICK: 35 Fateful Enigmas","compatibility":99,"releases":[{"id":"010087F005DFE000","region":null}]},{"id":"aca2a9ff-973a-4809-8597-beacc16e29b6","directory":"a-hero-and-a-garden","title":"A HERO AND A GARDEN","compatibility":99,"releases":[{"id":"01009E1011EC4000","region":null}]},{"id":"aca4d02d-9524-4098-8c1e-d4f6d9f0653d","directory":"piczle-cells","title":"Piczle Cells","compatibility":99,"releases":[{"id":"0100458015054000","region":null}]},{"id":"acc669d9-4ec1-4089-ae3b-861b67e647ee","directory":"pipe-push-paradise","title":"Pipe Push Paradise","compatibility":99,"releases":[{"id":"0100F7B00B864000","region":null}]},{"id":"acc8dc4c-3fc8-4bc0-bbfd-09bee2587c22","directory":"magequit","title":"MageQuit","compatibility":99,"releases":[{"id":"0100F9C012142000","region":null}]},{"id":"accfa48c-c6cd-4963-a379-e02d66f80394","directory":"perfect-traffic-simulator","title":"Perfect Traffic Simulator","compatibility":99,"releases":[{"id":"0100144011030000","region":null}]},{"id":"acd60203-4423-4433-ae45-a13ba2fe03dd","directory":"freecell-battle-king","title":"FREECELL BATTLE KING","compatibility":99,"releases":[{"id":"0100E6100CCE6000","region":null}]},{"id":"acd9fdd4-ff7f-4c50-94d0-16891a5227c7","directory":"0-degrees","title":"0 Degrees","compatibility":99,"releases":[{"id":"010011A0147CA000","region":null}]},{"id":"acdecd76-24ce-4ccb-aad4-bcba66be4a84","directory":"hamster-bob","title":"Hamster Bob","compatibility":99,"releases":[{"id":"01007A2011284000","region":null}]},{"id":"acea06c1-f390-4f7e-85c5-b8a7b572bc78","directory":"scandal-in-the-spotlight","title":"Scandal In The Spotlight","compatibility":3,"releases":[{"id":"01009B6013180000","region":null}]},{"id":"aced43b2-44d8-4a0d-9b97-32ed3b094d4b","directory":"carto","title":"Carto","compatibility":0,"releases":[{"id":"0100810012A1A000","region":null}]},{"id":"acf4ad06-8359-4a1d-99fb-08f93bd06c05","directory":"raining-coins","title":"Raining Coins","compatibility":99,"releases":[{"id":"010091B00B762000","region":null}]},{"id":"ad0cc941-1f48-43a0-9d29-f85263635975","directory":"chaos-code-new-sign-of-catastrophe","title":"CHAOS CODE -NEW SIGN OF CATASTROPHE-","compatibility":3,"releases":[{"id":"01007600115CE000","region":null}]},{"id":"ad153cae-adc5-4848-acd9-5b294b5f226d","directory":"dauntless","title":"Dauntless","compatibility":99,"releases":[{"id":"0100B9500D1B0000","region":null}]},{"id":"ad1eda00-e11c-4322-baf7-19d4bf11ee23","directory":"mordheim-warband-skirmish","title":"Mordheim: Warband Skirmish","compatibility":99,"releases":[{"id":"010071B009FB6000","region":null}]},{"id":"ad24ef6d-d919-41c1-a925-dbbb04786751","directory":"sallys-law","title":"Sally's Law","compatibility":99,"releases":[{"id":"01007BB00A0A0000","region":null}]},{"id":"ad31e055-5f74-423e-9fe2-033e9dd89337","directory":"toki-tori-2-nintendo-switch-edition","title":"Toki Tori 2+: Nintendo Switch Edition","compatibility":2,"releases":[{"id":"0100A2B008696000","region":null}]},{"id":"ad36c413-ff4b-4e90-bf4f-f3d3ca31cb65","directory":"a-gliders-journey","title":"A Glider's Journey","compatibility":99,"releases":[{"id":"01006C00110F2000","region":null}]},{"id":"ad43568f-03b8-4a6e-8fa4-08fd8239f19c","directory":"madness-beverage","title":"Madness Beverage","compatibility":99,"releases":[{"id":"01002AD016DE0000","region":null}]},{"id":"ad49b266-b270-4d78-8544-170b2c61a215","directory":"construction-machines-simulator","title":"Construction Machines Simulator","compatibility":1,"releases":[{"id":"01004BA00B566000","region":null}]},{"id":"ad5efcfe-8782-4a3f-9389-5f494613e7a5","directory":"i-and-me-demo","title":"I and Me Demo","compatibility":99,"releases":[{"id":"010007B009314000","region":null}]},{"id":"ad6bf61a-02aa-40cd-a62f-86713aaea8a5","directory":"sudoku-relax-2-summer-waves","title":"Sudoku Relax 2 Summer Waves","compatibility":99,"releases":[{"id":"01009C600F02C000","region":null}]},{"id":"ad6e23f8-f9fb-47b9-b2c7-c954aa603505","directory":"aca-neogeo-the-king-of-fighters-94","title":"ACA NEOGEO THE KING OF FIGHTERS '94","compatibility":4,"releases":[{"id":"0100EB2001DCC000","region":null}]},{"id":"ad7ed8bf-b4f2-4181-891e-6fbb5dd6866f","directory":"arcade-archives-10-yard-fight","title":"Arcade Archives 10-Yard Fight","compatibility":1,"releases":[{"id":"0100BE80097FA000","region":null}]},{"id":"ad82525f-edf9-411c-a41d-a117d33de904","directory":"splash-blast-panic","title":"Splash Blast Panic","compatibility":99,"releases":[{"id":"01006F900AB7E000","region":null}]},{"id":"ad85ab58-2322-4afb-8c65-c7f10e1ab4b8","directory":"unbox-newbies-adventure","title":"UNBOX: Newbie's Adventure","compatibility":1,"releases":[{"id":"0100592005164000","region":null}]},{"id":"ad9250cc-7b9a-4143-96a3-c81f6637272d","directory":"picross-lord-of-the-nazarick","title":"PICROSS LORD OF THE NAZARICK","compatibility":1,"releases":[{"id":"010012100E8DC000","region":null}]},{"id":"ad92cc85-8c0f-47a1-875b-35d524ebaf36","directory":"fantasy-tower-defense","title":"Fantasy Tower Defense","compatibility":99,"releases":[{"id":"01007AA012E02000","region":null}]},{"id":"ad956b3c-398e-416d-a7eb-4b762d933d60","directory":"portal-knights","title":"Portal Knights","compatibility":2,"releases":[{"id":"0100437004170000","region":null}]},{"id":"ad977171-3e80-427a-bf51-6376045eca10","directory":"moonfall-ultimate","title":"Moonfall Ultimate","compatibility":99,"releases":[{"id":"0100C2E00B494000","region":null}]},{"id":"ada08717-d034-46d5-8551-f0901655f92d","directory":"f-117a-stealth-fighter","title":"F-117A Stealth Fighter","compatibility":99,"releases":[{"id":"0100E720115CC000","region":null}]},{"id":"ada9413a-ff65-4120-b959-61cd9d9d8bda","directory":"steam-prison","title":"Steam Prison","compatibility":0,"releases":[{"id":"01008010118CC000","region":null}]},{"id":"ada9cefa-4fef-4286-a6a3-bdb02405c3f1","directory":"task-force-kampas","title":"Task Force Kampas","compatibility":99,"releases":[{"id":"01002D4011208000","region":null}]},{"id":"adaccabb-6e6f-4ce4-abe9-2a734231ffd7","directory":"planet-quiz-learn-discover","title":"Planet Quiz: Learn & Discover","compatibility":99,"releases":[{"id":"010057C015C3A000","region":null}]},{"id":"adb1fadc-43ef-4f3b-892f-fa1587c1b3b7","directory":"iron-wings","title":"Iron Wings","compatibility":99,"releases":[{"id":"01005270118D6000","region":null}]},{"id":"adb298c7-4f63-4224-b17d-130c26ea8190","directory":"112th-seed","title":"112th Seed","compatibility":99,"releases":[{"id":"010051E012302000","region":null}]},{"id":"adb4f501-4401-486c-81d8-8e415eb83c8c","directory":"sea-king","title":"Sea King","compatibility":99,"releases":[{"id":"0100E4A00D066000","region":null}]},{"id":"adb9b511-685d-457a-9871-af74cff7f302","directory":"zen-bound-2","title":"Zen Bound 2","compatibility":99,"releases":[{"id":"01001AF008BDA000","region":null}]},{"id":"adbc9dbe-f6ce-4be3-aa9e-09d985c15d00","directory":"angry-bunnies-colossal-carrot-crusade","title":"Angry Bunnies: Colossal Carrot Crusade","compatibility":99,"releases":[{"id":"0100F3500D05E000","region":null}]},{"id":"adbf3566-ef31-47ee-ae87-5788ca7fbc76","directory":"reigns-kings-and-queens","title":"Reigns: Kings & Queens","compatibility":99,"releases":[{"id":"0100CCE00A4F2000","region":null}]},{"id":"adc311b2-0a44-4543-8d85-4dfc5b8b5b7a","directory":"the-videokid","title":"The VideoKid","compatibility":99,"releases":[{"id":"0100D0500B0A6000","region":null}]},{"id":"adc352e1-f796-4a82-af4b-9316411e070b","directory":"evil-defenders","title":"Evil Defenders","compatibility":99,"releases":[{"id":"010080600B53E000","region":null}]},{"id":"adc5026b-46a7-49c1-b46a-154613e7e961","directory":"carcassonne","title":"Carcassonne","compatibility":1,"releases":[{"id":"0100C9200A9C2000","region":null}]},{"id":"adc552d3-dbb9-49f2-84d0-ff4339a7c04a","directory":"ecrossminton","title":"eCrossminton","compatibility":99,"releases":[{"id":"0100E0A0110F4000","region":null}]},{"id":"add2f26a-d809-4779-b57f-45e95a66b07e","directory":"bombfall","title":"BombFall","compatibility":99,"releases":[{"id":"0100FCA00C8D0000","region":null}]},{"id":"add41152-c751-4fa7-80bc-da613e66ce02","directory":"super-weekend-mode","title":"Super Weekend Mode","compatibility":99,"releases":[{"id":"01003D700D564000","region":null}]},{"id":"adde0ba3-bcfd-4d7c-960b-1d69abad0efb","directory":"ekstase","title":"Ekstase","compatibility":99,"releases":[{"id":"01004F10143E4000","region":null}]},{"id":"adf36bf6-214e-4b5e-9d10-8765ce77e05a","directory":"bakery-master","title":"Bakery Master","compatibility":99,"releases":[{"id":"0100BA50144DE000","region":null}]},{"id":"adf52087-60bc-4ba3-b7a6-a06729191c25","directory":"the-jackbox-party-pack-2","title":"The Jackbox Party Pack 2","compatibility":99,"releases":[{"id":"010015D003EE4000","region":null}]},{"id":"adf5f9f4-1cc6-4e90-b4dc-24bc4de1e5ae","directory":"trails-and-traces-the-tomb-of-thomas-tew","title":"Trails and Traces: The Tomb of Thomas Tew","compatibility":99,"releases":[{"id":"01008D4014102000","region":null}]},{"id":"adf69feb-3ba6-461c-afe2-9e86cd5c0c3a","directory":"palindrome-syndrome-escape-room","title":"Palindrome Syndrome: Escape Room","compatibility":99,"releases":[{"id":"0100CE30142D6000","region":null}]},{"id":"adfca367-8f4a-4512-a557-dd78930006d7","directory":"mistover","title":"MISTOVER","compatibility":99,"releases":[{"id":"010034E00EFD0000","region":null}]},{"id":"ae0f342d-8ff5-4b96-853e-f2d798226f85","directory":"clouds-and-sheep-2","title":"Clouds & Sheep 2","compatibility":99,"releases":[{"id":"010079700B4EA000","region":null}]},{"id":"ae150b50-e631-4d45-b20f-99688b7ee937","directory":"cake-bash","title":"Cake Bash","compatibility":2,"releases":[{"id":"010014A0115BE000","region":null}]},{"id":"ae1bff77-7192-4ac0-9b3b-77f7db8182f6","directory":"educational-games-for-kids","title":"Educational Games for Kids","compatibility":99,"releases":[{"id":"0100599013216000","region":null}]},{"id":"ae1fd4f2-0b42-4285-86e5-89223de1d6c8","directory":"healers-quest","title":"Healer's Quest","compatibility":99,"releases":[{"id":"0100613013150000","region":null}]},{"id":"ae3d8cb5-1e25-4556-806f-ea3e199f0439","directory":"knight-with-tactics","title":"Knight with Tactics","compatibility":99,"releases":[{"id":"0100DEB013C76000","region":null}]},{"id":"ae784153-04d2-4d50-8827-050ca68c87f6","directory":"eldrador-r-creatures","title":"Eldrador® Creatures","compatibility":1,"releases":[{"id":"010068F012880000","region":null}]},{"id":"ae88572e-c325-4678-98a6-f978088895ec","directory":"aliens-strike","title":"Aliens Strike","compatibility":99,"releases":[{"id":"01000E5016EF6000","region":null}]},{"id":"ae88fa22-8c86-4c5a-b002-6979cf8bcecb","directory":"access-denied","title":"Access Denied","compatibility":5,"releases":[{"id":"0100A9900CB5C000","region":null}]},{"id":"ae93f9e3-7815-4bb3-a0c5-b91fcb9e74c4","directory":"funghi-explosion","title":"Funghi Explosion","compatibility":99,"releases":[{"id":"0100E7B00BF24000","region":null}]},{"id":"ae95c431-c897-4637-a224-b5ae3e256896","directory":"angry-alligator","title":"Angry Alligator","compatibility":99,"releases":[{"id":"0100A78012A76000","region":null}]},{"id":"aea190d1-23d3-4917-9620-babead9fa063","directory":"amazing-breaker","title":"Amazing Breaker","compatibility":99,"releases":[{"id":"0100BE70163C8000","region":null}]},{"id":"aeab5d29-db69-48fe-8d30-8f561e98dec6","directory":"detective-case-and-clown-bot-in-murder-in-the-hotel-lisbon","title":"Detective Case and Clown Bot in: Murder in The Hotel Lisbon","compatibility":99,"releases":[{"id":"0100AB700AF14000","region":null}]},{"id":"aeabb7b1-9db7-46a0-86bf-cc1319e3772f","directory":"grand-guilds","title":"Grand Guilds","compatibility":99,"releases":[{"id":"010038100D436000","region":null}]},{"id":"aeac0953-0651-4651-8b12-283f87523300","directory":"mutant-football-league-dynasty-edition","title":"Mutant Football League: Dynasty Edition","compatibility":4,"releases":[{"id":"0100C3E00ACAA000","region":null}]},{"id":"aebfcc1a-24c2-4555-a7fa-9f4901725bdc","directory":"jurassic-excite","title":"Jurassic Excite","compatibility":99,"releases":[{"id":"010043F010412000","region":null}]},{"id":"aec1abf6-2785-4191-8cdc-c39b4f02e1fb","directory":"super-one-more-jump","title":"Super One More Jump","compatibility":0,"releases":[{"id":"0100284007D6C000","region":null}]},{"id":"aecca06c-81bd-41e3-9d33-d9df6f8c20e2","directory":"bayonetta","title":"Bayonetta","compatibility":0,"releases":[{"id":"010076F0049A2000","region":null}]},{"id":"aece254e-3fb9-462a-9df5-2c7350008a44","directory":"1912-titanic-mystery","title":"1912: Titanic Mystery","compatibility":0,"releases":[{"id":"0100750014426000","region":null}]},{"id":"aed005c2-e0c4-43ec-9809-1a0f8170b942","directory":"lovekami-divinity-stage","title":"Lovekami -Divinity Stage-","compatibility":99,"releases":[{"id":"01004A4013318000","region":null}]},{"id":"aedb5256-3d19-4748-8ddd-c57d9f73f25d","directory":"runbow","title":"Runbow","compatibility":0,"releases":[{"id":"0100ADF00700E000","region":null}]},{"id":"aedf9a65-4e74-4f13-b6f9-acb70584d242","directory":"red-hot-ricochet","title":"Red Hot Ricochet","compatibility":99,"releases":[{"id":"0100C7600AF00000","region":null}]},{"id":"aef3d6ce-a659-413b-a8da-e56649cb9b99","directory":"tokyo-mirage-sessions-fe-encore","title":"Tokyo Mirage Sessions #FE Encore","compatibility":0,"releases":[{"id":"0100A9400C9C2000","region":null}]},{"id":"af0610ba-0132-4f6b-b773-6a4417b1a954","directory":"corpse-party-blood-drive","title":"Corpse Party: Blood Drive","compatibility":0,"releases":[{"id":"010016400B1FE000","region":null}]},{"id":"af0829bd-4239-4155-b919-a903a6330dff","directory":"escape-from-chernobyl","title":"Escape from Chernobyl","compatibility":99,"releases":[{"id":"0100FEF00F0AA000","region":null}]},{"id":"af09aa56-d65f-482d-ab28-230a7e9d8550","directory":"not-a-hero-super-snazzy-edition","title":"NOT A HERO: SUPER SNAZZY EDITION","compatibility":99,"releases":[{"id":"0100CB800B07E000","region":null}]},{"id":"af0ed3c4-ad2a-4afe-b8b9-ea012ed35bc8","directory":"battle-calculator","title":"Battle Calculator","compatibility":99,"releases":[{"id":"01007F7015B3A000","region":null}]},{"id":"af260b43-2e1d-4748-b497-77a71ecb8622","directory":"tiny-metal-full-metal-rumble","title":"TINY METAL: FULL METAL RUMBLE","compatibility":1,"releases":[{"id":"0100B1600DB3A000","region":null}]},{"id":"af50a11f-9fc1-4cb3-bae9-577f3898b8e0","directory":"fear-effect-sedna","title":"Fear Effect Sedna","compatibility":4,"releases":[{"id":"01005AC0068F6000","region":null}]},{"id":"af5b14fa-913d-4d9d-b4ad-5e80371de065","directory":"shred-2-freeride-mountainbiking","title":"Shred! 2 - Freeride Mountainbiking","compatibility":3,"releases":[{"id":"01003DD00BF0E000","region":null}]},{"id":"af5e22dc-30cd-46a9-9066-c987dbbc0ee3","directory":"naruto-ultimate-ninja-storm","title":"NARUTO: Ultimate Ninja STORM","compatibility":4,"releases":[{"id":"0100715007354000","region":null}]},{"id":"af6301cf-b031-47a2-be71-c600477af9d9","directory":"anima-gate-of-memories-the-nameless-chronicles","title":"Anima: Gate of Memories - The Nameless Chronicles","compatibility":1,"releases":[{"id":"01007A400B3F8000","region":null}]},{"id":"af6e2502-da5a-4f8c-8495-ce1b67147344","directory":"fatum-betula","title":"Fatum Betula","compatibility":99,"releases":[{"id":"0100E82013ED6000","region":null}]},{"id":"af6e3450-ecf1-4c4c-9228-a0bbc8e83434","directory":"theofil","title":"Theofil","compatibility":99,"releases":[{"id":"0100A0C01547A000","region":null}]},{"id":"af76b32f-8e7e-4359-81f2-21073bcd55df","directory":"red-game-without-a-great-name","title":"Red Game Without a Great Name","compatibility":99,"releases":[{"id":"01002290070E4000","region":null}]},{"id":"af788a0c-3308-4296-913d-3634395bc605","directory":"superepic-the-entertainment-war","title":"SuperEpic: The Entertainment War","compatibility":99,"releases":[{"id":"0100630010252000","region":null}]},{"id":"af7acf48-7a1c-488f-b66f-a71918443356","directory":"h-i-c-h","title":"H.I.C.H.","compatibility":99,"releases":[{"id":"010087C01606E000","region":null}]},{"id":"af7e2b7d-0a74-450e-9d3b-e3d6ec316a5a","directory":"bastion","title":"Bastion","compatibility":3,"releases":[{"id":"010038600B27E000","region":null}]},{"id":"af8264a8-99a0-44ad-a5aa-f49cc33b8518","directory":"jetsnguns-2","title":"Jets'n'Guns 2","compatibility":0,"releases":[{"id":"01000BF012920000","region":null}]},{"id":"af87b34e-7415-4dfd-a49e-5c6938e661f6","directory":"atelier-ryza-2-lost-legends-the-secret-fairy","title":"Atelier Ryza 2: Lost Legends & the Secret Fairy","compatibility":4,"releases":[{"id":"01009A9012022000","region":null}]},{"id":"af87ede1-6068-4134-8174-df004d6d841b","directory":"retro-space-fighter","title":"Retro Space Fighter","compatibility":99,"releases":[{"id":"01001FE0133FA000","region":null}]},{"id":"af951749-4069-4f15-ae94-73258d555370","directory":"out-of-line","title":"Out of Line","compatibility":99,"releases":[{"id":"0100E7601535E000","region":null}]},{"id":"af9d75ab-6dd8-4a6e-bcaa-fc9e60e02f82","directory":"arcade-archives-clu-clu-land","title":"Arcade Archives CLU CLU LAND","compatibility":4,"releases":[{"id":"0100EDC00E35A000","region":null}]},{"id":"afa74c40-4e83-4ca1-b5ba-cdb3750a4d8c","directory":"cat-girl-without-salad-amuse-bouche","title":"Cat Girl Without Salad: Amuse-Bouche","compatibility":2,"releases":[{"id":"010076000C86E000","region":null}]},{"id":"afafd99d-2749-4e7e-b0bb-e381f6b0b6ba","directory":"blackwind","title":"Blackwind","compatibility":99,"releases":[{"id":"0100262011494000","region":null}]},{"id":"afb43f5d-7d6d-488a-a031-a1bf5867f204","directory":"tanky-tanks","title":"Tanky Tanks","compatibility":99,"releases":[{"id":"01000D4011D10000","region":null}]},{"id":"afbc8814-10ac-4204-bf2c-586e53cfeb86","directory":"dungeon-bricker","title":"Dungeon Bricker","compatibility":1,"releases":[{"id":"010058E015B10000","region":null}]},{"id":"afdaa445-19df-4771-b9fa-c9194055d205","directory":"undead-horde","title":"Undead Horde","compatibility":99,"releases":[{"id":"01009B700D0B8000","region":null}]},{"id":"afdb5ab0-c8e5-4b5b-8f77-5758a096fba2","directory":"livestream-escape-from-hotel-izanami","title":"Livestream: Escape from Hotel Izanami","compatibility":0,"releases":[{"id":"0100E45014338000","region":null}]},{"id":"afe80d72-7373-4fb1-a1cc-be139421b581","directory":"picross-s2","title":"PICROSS S2","compatibility":2,"releases":[{"id":"0100C9600A88E000","region":null}]},{"id":"afe9b6f7-d48e-41e9-9dfb-f0357a91f8ec","directory":"unexplored","title":"UnExplored","compatibility":99,"releases":[{"id":"01007820096FC000","region":null}]},{"id":"aff1a15f-340f-43bc-b33f-8faf26319401","directory":"rooms-the-adventure-of-anne-and-george","title":"Rooms: The Adventure of Anne & George","compatibility":99,"releases":[{"id":"01001F100B586000","region":null}]},{"id":"aff622e0-b2aa-4629-8662-5d692b567641","directory":"tunnel-of-doom","title":"Tunnel of Doom","compatibility":99,"releases":[{"id":"01000CE01428C000","region":null}]},{"id":"aff67641-60f3-4b89-901b-1498e62939bb","directory":"duck-life-battle","title":"Duck Life: Battle","compatibility":99,"releases":[{"id":"010015C00E73C000","region":null}]},{"id":"b0064a27-8e32-42dd-bec6-bb174844cc5e","directory":"banner-of-the-maid","title":"Banner of the Maid","compatibility":1,"releases":[{"id":"010013C010C5C000","region":null}]},{"id":"b00c1378-b82c-4610-bbad-f4e2ac13df5c","directory":"towertale","title":"Towertale","compatibility":2,"releases":[{"id":"0100F6200F77E000","region":null}]},{"id":"b01f89a8-09b1-4e83-a120-d1f3f7c57ec7","directory":"revertia","title":"Revertia","compatibility":99,"releases":[{"id":"01005F300C1A8000","region":null}]},{"id":"b023e43b-fbce-4958-b36b-8978a7d1e789","directory":"dreamwalker","title":"Dreamwalker","compatibility":99,"releases":[{"id":"0100A7D00C694000","region":null}]},{"id":"b026b16b-adac-463d-8d91-c117b4adbb4a","directory":"madorica-real-estate","title":"Madorica Real Estate","compatibility":0,"releases":[{"id":"010099700BF10000","region":null}]},{"id":"b0338f72-1b2c-44e1-b6b1-1367a1764331","directory":"mercenary-kings-reloaded-edition","title":"Mercenary Kings: Reloaded Edition","compatibility":1,"releases":[{"id":"0100F900046C4000","region":null}]},{"id":"b033c88d-8873-4ec7-a441-ad334b73acee","directory":"phoenix-wright-ace-attorney-trilogy","title":"Phoenix Wright: Ace Attorney Trilogy","compatibility":1,"releases":[{"id":"0100CB000A142000","region":null}]},{"id":"b041b51c-5b04-4b55-af42-46ef5c8306a9","directory":"regency-solitaire","title":"Regency Solitaire","compatibility":99,"releases":[{"id":"0100BFB00D6E4000","region":null}]},{"id":"b047c920-cb5b-44ed-a243-02a04e82e229","directory":"star-story-the-horizon-escape","title":"Star Story: The Horizon Escape","compatibility":99,"releases":[{"id":"0100D7000AE6A000","region":null}]},{"id":"b04fdac4-0244-4e79-8b69-4c40fa83bc1a","directory":"frost","title":"Frost","compatibility":2,"releases":[{"id":"0100B5300B49A000","region":null}]},{"id":"b0533e27-572b-4b5a-b8a9-2aa4a7c2deda","directory":"outbreak-the-new-nightmare","title":"Outbreak: The New Nightmare","compatibility":99,"releases":[{"id":"0100B450130FC000","region":null}]},{"id":"b05bc235-4b15-4533-a3dd-0da2fd3b16c4","directory":"double-dragon-ii-the-revenge","title":"DOUBLE DRAGON Ⅱ: The Revenge","compatibility":0,"releases":[{"id":"0100DD900E498000","region":null}]},{"id":"b06d6b88-c2c1-4906-8855-ba9c6451bc46","directory":"bloons-td-5","title":"Bloons TD 5","compatibility":1,"releases":[{"id":"0100B8400A1C6000","region":null}]},{"id":"b07f1e9b-beb2-462c-a60f-99338f8f705a","directory":"hyper-sentinel","title":"Hyper Sentinel","compatibility":99,"releases":[{"id":"0100692003FCE000","region":null}]},{"id":"b0872603-c9c0-4610-a9c0-05c0ea2a1934","directory":"grisaia-phantom-trigger-01-02","title":"GRISAIA PHANTOM TRIGGER 01&02","compatibility":3,"releases":[{"id":"01009D7011B02000","region":null}]},{"id":"b0902cc9-4415-4126-bc8c-a7769f56ea91","directory":"northgard","title":"Northgard","compatibility":3,"releases":[{"id":"0100A9E00D97A000","region":null}]},{"id":"b0aa0d1c-dd75-4d39-80a5-7462541f7d29","directory":"port-royale-4","title":"Port Royale 4","compatibility":99,"releases":[{"id":"01007EF013CA0000","region":null}]},{"id":"b0b11e1f-f86c-4d7c-ba1c-2a5422e59e9c","directory":"fateextella-the-umbral-star","title":"Fate/EXTELLA: The Umbral Star","compatibility":1,"releases":[{"id":"010053E002EA2000","region":null}]},{"id":"b0b9655d-7a75-41c9-aca1-568e1a9d77f3","directory":"the-mysterious-case-of-dr-jekyll-and-mr-hyde","title":"The Mysterious Case of Dr.Jekyll and Mr.Hyde","compatibility":99,"releases":[{"id":"0100A4A014AF4000","region":null}]},{"id":"b0bd9d40-1a6a-4878-a558-3b1bc460d0d6","directory":"crypto-is-dead","title":"Crypto Is Dead","compatibility":99,"releases":[{"id":"010040A015C04000","region":null}]},{"id":"b0c089d3-9315-436b-8c2f-e7a779d96a51","directory":"yumeutsutsu-re-after","title":"Yumeutsutsu Re:After","compatibility":99,"releases":[{"id":"0100B56011502000","region":null}]},{"id":"b0ebc7e6-286e-4f66-94c6-bdc8bf7eac5e","directory":"gunbird2-for-nintendo-switch","title":"GUNBIRD2 for Nintendo Switch","compatibility":4,"releases":[{"id":"0100BCB00AE98000","region":null}]},{"id":"b0fc6fac-6c27-47cd-bf61-f40d99f0616c","directory":"space-marshals-2","title":"Space Marshals 2","compatibility":99,"releases":[{"id":"0100BDA014578000","region":null}]},{"id":"b10199a4-3019-48c9-8c25-cae8201753c8","directory":"dusk-82","title":"DUSK '82","compatibility":99,"releases":[{"id":"01002FB016784000","region":null}]},{"id":"b104da84-7e5b-4bce-99db-8d475a035b49","directory":"klaus","title":"-KLAUS-","compatibility":99,"releases":[{"id":"010099F00EF3E000","region":null}]},{"id":"b10a9ea2-5006-4789-aed3-848ca45feb31","directory":"timber-tennis-versus","title":"Timber Tennis: Versus","compatibility":99,"releases":[{"id":"010074500699A000","region":null}]},{"id":"b10b1f53-84af-41a2-8308-6aaf9827321d","directory":"demon-pit","title":"Demon Pit","compatibility":99,"releases":[{"id":"010084600F51C000","region":null}]},{"id":"b10d59bd-cc75-420e-8704-cd9cc6b756a0","directory":"super-holobunnies-pause-cafe","title":"Super Holobunnies: Pause Café","compatibility":99,"releases":[{"id":"0100B6900D776000","region":null}]},{"id":"b117fa91-3b3c-4294-8eb5-b2417386306e","directory":"abyss-the-wraiths-of-eden","title":"Abyss: The Wraiths of Eden","compatibility":99,"releases":[{"id":"010036F013A40000","region":null}]},{"id":"b11ccb63-c85e-497c-a9e2-a56c347e69cd","directory":"my-bewitching-perfume","title":"My Bewitching Perfume","compatibility":2,"releases":[{"id":"01002EC011DA6000","region":null}]},{"id":"b11d645b-4494-479e-a9a3-5b2e220bf147","directory":"mercenaries-wings-the-false-phoenix","title":"Mercenaries Wings: The False Phoenix","compatibility":99,"releases":[{"id":"010094500C216000","region":null}]},{"id":"b13960fd-49fc-4f40-948f-774ee90068bf","directory":"blackjack-hands","title":"Blackjack Hands","compatibility":99,"releases":[{"id":"010043A012A32000","region":null}]},{"id":"b147aeda-458b-404a-b4be-dbb2ed6916fc","directory":"murder-diaries-3-santas-trail-of-blood","title":"Murder Diaries 3 - Santa's Trail of Blood","compatibility":99,"releases":[{"id":"01001FE016B58000","region":null}]},{"id":"b150c5cb-2f58-444d-9b07-f558bf72defe","directory":"welcome-to-hanwell","title":"Welcome to Hanwell","compatibility":2,"releases":[{"id":"010096000EEBA000","region":null}]},{"id":"b165fb97-dbc9-4952-863c-4b80ecfe5415","directory":"this-is-the-police-2","title":"This is the Police 2","compatibility":2,"releases":[{"id":"01004C100A04C000","region":null}]},{"id":"b16da9c4-c772-4d09-bd14-f42bbc6c05bf","directory":"secret-files-sam-peters","title":"Secret Files Sam Peters","compatibility":99,"releases":[{"id":"01002B300ECA2000","region":null}]},{"id":"b188328d-ca1d-4e6f-9b8a-a1411d79d2da","directory":"aer-memories-of-old","title":"AER Memories of Old","compatibility":2,"releases":[{"id":"0100A0400DDE0000","region":null}]},{"id":"b1a1dd92-e828-4954-aa27-31847ccbb851","directory":"dont-knock-twice","title":"Don't Knock Twice","compatibility":1,"releases":[{"id":"0100E470067A8000","region":null}]},{"id":"b1a37445-1994-4f6e-bd27-e68fd5a8584d","directory":"ascendance","title":"ASCENDANCE","compatibility":99,"releases":[{"id":"0100C9F00AAEE000","region":null}]},{"id":"b1abb55e-5ffd-490f-a6fc-9bbe43f49867","directory":"mystic-pillars-a-story-based-puzzle-game","title":"Mystic Pillars: A Story-Based Puzzle Game","compatibility":99,"releases":[{"id":"0100B72010F86000","region":null}]},{"id":"b1c1f366-15e8-4ac7-8733-bc830038bfec","directory":"super-blackjack-battle-2-turbo-edition-the-card-warriors","title":"Super Blackjack Battle 2 Turbo Edition - The Card Warriors","compatibility":99,"releases":[{"id":"010093800A98C000","region":null}]},{"id":"b1c5d00a-fb53-4110-a693-eefdf94bc4c5","directory":"chrono-clash-fantasy-tactics","title":"CHRONO CLASH: Fantasy Tactics","compatibility":2,"releases":[{"id":"0100EA600B85E000","region":null}]},{"id":"b1d0d010-b638-4897-8b1e-d9887d0b5c5a","directory":"snk-gals-fighters","title":"SNK GALS' FIGHTERS","compatibility":0,"releases":[{"id":"01007EE011116000","region":null}]},{"id":"b1e2f692-ca68-4f8c-b446-172cbb06e0b7","directory":"the-last-friend","title":"The Last Friend","compatibility":99,"releases":[{"id":"010007901467A000","region":null}]},{"id":"b1ed2910-a991-45a4-b350-42705bf65b90","directory":"hive-jump","title":"Hive Jump","compatibility":99,"releases":[{"id":"01001B000CAF0000","region":null}]},{"id":"b1f76055-51b0-4f64-b72c-808dec531ee9","directory":"stardash","title":"Stardash","compatibility":99,"releases":[{"id":"01002100137BA000","region":null}]},{"id":"b1f7681f-41ec-4dd0-adb4-fb9e676243fe","directory":"star-crossed-myth-the-department-of-punishments-","title":"Star-Crossed Myth - The Department of Punishments -","compatibility":4,"releases":[{"id":"01008AF00EA12000","region":null}]},{"id":"b2075ca3-8cf0-41a0-abf8-35dcf945b302","directory":"gunlord-x","title":"Gunlord X","compatibility":0,"releases":[{"id":"0100EC200BFF8000","region":null}]},{"id":"b20b601c-744f-4f40-a94a-bf6e3d0d61d3","directory":"12-labours-of-hercules-iii-girl-power","title":"12 Labours of Hercules III: Girl Power","compatibility":99,"releases":[{"id":"0100613013814000","region":null}]},{"id":"b22858dd-820b-4d8a-bb48-db617bedcacf","directory":"gallic-wars-battle-simulator","title":"Gallic Wars: Battle Simulator","compatibility":99,"releases":[{"id":"0100804014922000","region":null}]},{"id":"b22d8190-5535-4607-997b-1fda9119bd64","directory":"final-sword","title":"FINAL SWORD","compatibility":99,"releases":[{"id":"01001900112B2000","region":null}]},{"id":"b231018f-767d-495c-b110-ecd58fa1b855","directory":"atelier-rorona-~the-alchemist-of-arland~-dx","title":"Atelier Rorona ~The Alchemist of Arland~ DX","compatibility":2,"releases":[{"id":"010088600C66E000","region":null}]},{"id":"b23be6e9-2315-4ffe-ba3d-947d7c147c7f","directory":"magazine-mogul","title":"Magazine Mogul","compatibility":99,"releases":[{"id":"01004A200E722000","region":null}]},{"id":"b241cbc3-673b-474f-b00e-da2c963795f1","directory":"grandmaster-sudoku","title":"Grandmaster Sudoku","compatibility":99,"releases":[{"id":"0100A720148A0000","region":null}]},{"id":"b24ba3a8-dd3a-49dc-a529-26024828df96","directory":"assault-android-cactus","title":"Assault Android Cactus+","compatibility":1,"releases":[{"id":"0100DF200B24C000","region":null}]},{"id":"b24d429c-f96a-407b-a202-16502cd1844d","directory":"wanna-survive","title":"Wanna Survive","compatibility":99,"releases":[{"id":"0100D67013910000","region":null}]},{"id":"b253f00b-971c-485e-99e1-7d4b15578feb","directory":"white-night","title":"White Night","compatibility":99,"releases":[{"id":"0100D99009734000","region":null}]},{"id":"b25a049c-9973-40ca-9165-2bba6365e7f6","directory":"kickerinho-world","title":"Kickerinho World","compatibility":99,"releases":[{"id":"0100C52013C3C000","region":null}]},{"id":"b25e80f1-ba5a-434b-b76b-84b064da50d2","directory":"wrestling-empire","title":"Wrestling Empire","compatibility":3,"releases":[{"id":"0100F2B013CA4000","region":null}]},{"id":"b263fe4d-7731-4cfb-a50c-4de0edb457a7","directory":"a-pretty-odd-bunny","title":"A Pretty Odd Bunny","compatibility":3,"releases":[{"id":"010046D01431C000","region":null}]},{"id":"b26bbfd9-2633-44af-baea-5db2ffed8456","directory":"mini-metro","title":"Mini Metro","compatibility":0,"releases":[{"id":"0100091008272000","region":null}]},{"id":"b2743a7f-d575-43e0-944b-d1e21c074cb6","directory":"lamentum","title":"Lamentum","compatibility":1,"releases":[{"id":"0100EC901551C000","region":null}]},{"id":"b27677c7-53cb-4c4f-ab4c-3366b030c93a","directory":"checkers","title":"Checkers","compatibility":99,"releases":[{"id":"01001B80124E4000","region":null}]},{"id":"b276afd4-3719-411e-93dd-657b6a3d40f6","directory":"star-hunter-dx","title":"Star Hunter DX","compatibility":0,"releases":[{"id":"01009170152E8000","region":null}]},{"id":"b2791d63-12f8-4199-9529-aee1ffb56a27","directory":"the-messenger","title":"The Messenger","compatibility":0,"releases":[{"id":"0100DC300AC78000","region":null}]},{"id":"b279a9e6-16cc-4b29-8a3e-e78cc5a4e769","directory":"the-pinball-arcade","title":"The Pinball Arcade","compatibility":99,"releases":[{"id":"0100CD300880E000","region":null}]},{"id":"b27e9b5a-74fd-41ee-bde5-1d083a31f9bc","directory":"arcade-archives-usaaf-mustang","title":"Arcade Archives USAAF MUSTANG","compatibility":1,"releases":[{"id":"0100B3D0156D4000","region":null}]},{"id":"b28ffff3-a37f-40b8-ad70-dde28624ce61","directory":"digimon-story-cyber-sleuth-complete-edition","title":"Digimon Story Cyber Sleuth: Complete Edition","compatibility":4,"releases":[{"id":"010014E00DB56000","region":null}]},{"id":"b2a6a4c8-fbdf-466a-927c-c64197b327a7","directory":"operation-hardcore","title":"Operation Hardcore","compatibility":99,"releases":[{"id":"010039C00A45C000","region":null}]},{"id":"b2a6a820-4355-49fa-a0b9-4defd57e67b4","directory":"suguru-nature","title":"Suguru Nature","compatibility":99,"releases":[{"id":"0100BF9012AC6000","region":null}]},{"id":"b2ad7821-2f72-425e-8c3a-a847d5654d3e","directory":"my-brother-rabbit","title":"My Brother Rabbit","compatibility":99,"releases":[{"id":"01006BE00B3C8000","region":null}]},{"id":"b2b7592a-377b-4843-b3d6-6d93563c12e0","directory":"arcade-archives-magmax","title":"Arcade Archives MAGMAX","compatibility":99,"releases":[{"id":"0100F9400982A000","region":null}]},{"id":"b2b9551c-44d8-4c5e-a9cb-caacc3434d50","directory":"dull-grey","title":"Dull Grey","compatibility":99,"releases":[{"id":"010068D0141F2000","region":null}]},{"id":"b2c57706-c929-4350-836f-f00f72ed4d8d","directory":"biped","title":"Biped","compatibility":0,"releases":[{"id":"010053B0117F8000","region":null}]},{"id":"b2db226b-2df9-43c3-97b9-c6c2b4de000a","directory":"gerty","title":"Gerty","compatibility":99,"releases":[{"id":"010024C01242E000","region":null}]},{"id":"b2de3c5f-9c04-41ac-8428-89c192d3f9f0","directory":"bonds-of-the-skies","title":"Bonds of the Skies","compatibility":5,"releases":[{"id":"01009AA00D49E000","region":null}]},{"id":"b3009e2d-30fc-42cf-83f0-1b555c53ede0","directory":"pilot-sports","title":"Pilot Sports","compatibility":99,"releases":[{"id":"01007A500B0B2000","region":null}]},{"id":"b3015032-52aa-4252-9c82-578569e9be7c","directory":"hyperparasite","title":"HyperParasite","compatibility":3,"releases":[{"id":"010061400ED90000","region":null}]},{"id":"b30d3751-01cd-401b-bdbd-c733c3e0eb89","directory":"tangle-tower","title":"Tangle Tower","compatibility":0,"releases":[{"id":"0100F7600F3B8000","region":null}]},{"id":"b32305e0-988c-4559-a6d8-7786bdc443e7","directory":"shovel-knight-treasure-trove","title":"Shovel Knight: Treasure Trove","compatibility":1,"releases":[{"id":"010057D0021E8000","region":null}]},{"id":"b3271834-b1cb-4f82-9f5a-a0617d9dc9f1","directory":"guns-gore-and-cannoli","title":"Guns, Gore and Cannoli","compatibility":2,"releases":[{"id":"0100934003BCC000","region":null}]},{"id":"b3286e43-da5e-4d6d-b5e3-aff5df5e6840","directory":"milkchoco","title":"MilkChoco","compatibility":99,"releases":[{"id":"010056D00B0F4000","region":null}]},{"id":"b3313a5e-372d-44bf-8924-f1609c2d2b11","directory":"arcade-archives-vandyke","title":"Arcade Archives VANDYKE","compatibility":99,"releases":[{"id":"01004CE0156D0000","region":null}]},{"id":"b33c5a11-95fe-407b-ab33-68ddb3d87822","directory":"sea-of-solitude-the-directors-cut","title":"Sea of Solitude: The Director's Cut","compatibility":3,"releases":[{"id":"0100AFE012BA2000","region":null}]},{"id":"b33c929a-a435-4213-bbfa-d982a665b78e","directory":"do-not-feed-the-monkeys","title":"Do Not Feed the Monkeys","compatibility":99,"releases":[{"id":"0100FE400EBBC000","region":null}]},{"id":"b34410a2-5fe3-4c1c-a8ee-7cb4f1429985","directory":"farm-mechanic-simulator","title":"Farm Mechanic Simulator","compatibility":99,"releases":[{"id":"01005C70122E0000","region":null}]},{"id":"b348094a-f823-4079-96d0-4f56b8a2227f","directory":"transcripted","title":"Transcripted","compatibility":99,"releases":[{"id":"010009F004E66000","region":null}]},{"id":"b34cb5ca-8bd3-42d5-96e9-7a7348ba95f2","directory":"five-dates","title":"Five Dates","compatibility":99,"releases":[{"id":"0100C7E0134BE000","region":null}]},{"id":"b3554996-4575-4db0-b916-b5d0973e7fc2","directory":"red-faction-guerrilla-re-mars-tered","title":"Red Faction Guerrilla Re-Mars-tered","compatibility":99,"releases":[{"id":"010075000C608000","region":null}]},{"id":"b359f810-9a6c-4c3d-8248-d958971fe3be","directory":"sniper-time-the-shooting-range","title":"Sniper Time: The Shooting Range","compatibility":99,"releases":[{"id":"01009BD0144EE000","region":null}]},{"id":"b35b6543-2f69-45a5-ad60-1c62137b3395","directory":"tumbleseed","title":"TumbleSeed","compatibility":1,"releases":[{"id":"01004B1001D22000","region":null}]},{"id":"b3628a18-69a9-4663-82a7-afebc3140f13","directory":"battleground","title":"Battleground","compatibility":99,"releases":[{"id":"0100650010DD4000","region":null}]},{"id":"b36aa837-9e9e-446e-95e6-47cbbf97dd90","directory":"jump-rope-challenge","title":"Jump Rope Challenge","compatibility":0,"releases":[{"id":"0100B9C012706000","region":null}]},{"id":"b399dcf2-e309-4afb-b12f-f56d3799fa75","directory":"pony-world-3","title":"Pony World 3","compatibility":99,"releases":[{"id":"0100345014C54000","region":null}]},{"id":"b39ce5ce-4e40-4247-8106-ebf46debba9c","directory":"into-the-breach","title":"Into the Breach","compatibility":2,"releases":[{"id":"010057D00B612000","region":null}]},{"id":"b3a08da3-651f-4b62-8d26-7d895a550404","directory":"monopoly-for-nintendo-switch-demo","title":"Monopoly for Nintendo Switch - Demo","compatibility":99,"releases":[{"id":"010095B00AA38000","region":null}]},{"id":"b3a27c87-dfff-47f8-acc1-fb35bfbad9bf","directory":"timothy-vs-the-aliens","title":"Timothy vs the Aliens","compatibility":99,"releases":[{"id":"0100A01011898000","region":null}]},{"id":"b3a699c5-fa26-43ab-b81c-cdf5524b8647","directory":"anshi","title":"AnShi","compatibility":99,"releases":[{"id":"01000FD00DF78000","region":null}]},{"id":"b3b0ba42-011f-4627-afcc-9442a25ad5fb","directory":"skypeace","title":"SKYPEACE","compatibility":99,"releases":[{"id":"010021A00ABEE000","region":null}]},{"id":"b3b59b8e-0f79-4a3d-a065-54c2d4755acf","directory":"deaths-gambit-afterlife","title":"Death's Gambit: Afterlife","compatibility":99,"releases":[{"id":"01006A0015812000","region":null}]},{"id":"b3b8ee07-c058-459c-a1dc-0b289f9c7c59","directory":"danmaku-unlimited-3","title":"Danmaku Unlimited 3","compatibility":3,"releases":[{"id":"0100417007F78000","region":null}]},{"id":"b3c80064-aff8-411b-a3a4-677e48a3be4e","directory":"splatoon-2-special-demo","title":"Splatoon™ 2 Special Demo","compatibility":99,"releases":[{"id":"01006BB00D45A000","region":null}]},{"id":"b3d0a8dd-21e6-4705-b9a3-780dc2c1e7d5","directory":"riddled-corpses-ex-demo","title":"Riddled Corpses EX Demo","compatibility":99,"releases":[{"id":"010001F00D9B8000","region":null}]},{"id":"b3d4ba16-df5b-44a9-ab33-b457b9fb51c9","directory":"agatha-christie-hercule-poirot-the-first-cases","title":"Agatha Christie - Hercule Poirot: The First Cases","compatibility":0,"releases":[{"id":"010000F012936000","region":null}]},{"id":"b3d90bfc-9e1b-45ff-8e1c-9c14d3eacd86","directory":"explosionade-dx","title":"Explosionade DX","compatibility":99,"releases":[{"id":"0100410012112000","region":null}]},{"id":"b3dc80de-f6cd-48db-a808-1d2a9af2afe9","directory":"fight-of-animals","title":"Fight of Animals","compatibility":0,"releases":[{"id":"010047E010B3E000","region":null}]},{"id":"b3df7897-9374-4fe7-8b35-c241c1d1a919","directory":"stardew-valley","title":"Stardew Valley","compatibility":2,"releases":[{"id":"0100E65002BB8000","region":null}]},{"id":"b3f060ca-35a6-40a7-b46b-8732815dc2e4","directory":"shephy","title":"Shephy","compatibility":99,"releases":[{"id":"010040B003E5E000","region":null}]},{"id":"b3f35b63-c982-47ba-9f1a-b7fbe07e1080","directory":"darts-up","title":"Darts Up","compatibility":2,"releases":[{"id":"0100BA500B660000","region":null}]},{"id":"b403c0c8-a53a-42ca-aa08-3fcb3a93dc39","directory":"real-time-battle-shogi-online","title":"Real Time Battle Shogi Online","compatibility":99,"releases":[{"id":"0100C9D00F264000","region":null}]},{"id":"b404edae-df0b-4e96-96a3-14852783f2d0","directory":"aca-neogeo-3-count-bout","title":"ACA NEOGEO 3 COUNT BOUT","compatibility":99,"releases":[{"id":"0100FC000AFC6000","region":null}]},{"id":"b404f8e4-6d7c-453e-bb8f-2fcbadef7be6","directory":"black-hole-demo","title":"Black Hole Demo","compatibility":99,"releases":[{"id":"01004BE00A682000","region":null}]},{"id":"b41a963e-a148-4bb2-b1d5-29fb65c6e17c","directory":"rento-fortune","title":"Rento Fortune","compatibility":99,"releases":[{"id":"01008EE00B22C000","region":null}]},{"id":"b41f061c-054e-4fb0-b30c-d42c8e678aad","directory":"back-in-1995","title":"Back in 1995","compatibility":4,"releases":[{"id":"010044F00BB80000","region":null}]},{"id":"b420372b-07bb-4abd-b191-58b5705dcb22","directory":"futoshiki-math","title":"Futoshiki Math","compatibility":99,"releases":[{"id":"0100C1A012AE0000","region":null}]},{"id":"b421a38e-b933-40d9-9050-457662ba23dc","directory":"bendy-and-the-ink-machine","title":"Bendy and the Ink Machine","compatibility":0,"releases":[{"id":"010074500BBC4000","region":null}]},{"id":"b42a9d36-d62d-4955-8e0f-67133fa64b50","directory":"ponpu","title":"Ponpu","compatibility":4,"releases":[{"id":"010096B01179A000","region":null}]},{"id":"b42d6858-f00b-4e6c-a09d-7f47ee92eafb","directory":"cow-catcher","title":"Cow Catcher","compatibility":99,"releases":[{"id":"01003E00151AE000","region":null}]},{"id":"b43aaec5-997c-4dd3-940e-a499bfaa8745","directory":"secret-files-tunguska","title":"Secret Files: Tunguska","compatibility":99,"releases":[{"id":"01006C800C4A6000","region":null}]},{"id":"b4414d26-cf88-4eb0-b777-44abb68af4a1","directory":"colorful-colore","title":"Colorful Colore","compatibility":99,"releases":[{"id":"0100F6D013CDC000","region":null}]},{"id":"b4515ad0-d34f-4aa4-b0ed-add4235010da","directory":"bossgard","title":"BOSSGARD","compatibility":99,"releases":[{"id":"010076F00EBE4000","region":null}]},{"id":"b4537a76-07e7-4979-87b9-ee7b10cd16e6","directory":"shikaku-shapes","title":"Shikaku Shapes","compatibility":99,"releases":[{"id":"010007D012AD0000","region":null}]},{"id":"b4563cc7-8a56-4a98-90f2-aed36c2c6c55","directory":"red-crow-mysteries-legion","title":"Red Crow Mysteries: Legion","compatibility":99,"releases":[{"id":"01006CB0124D0000","region":null}]},{"id":"b460b798-8ad2-4f4e-80c0-b7aabdbb0aa6","directory":"my-time-at-portia","title":"My Time at Portia","compatibility":3,"releases":[{"id":"0100E25008E68000","region":null}]},{"id":"b476ae29-3ebd-4d0e-854c-6d14e79bae71","directory":"mercenaries-saga-chronicles","title":"Mercenaries Saga Chronicles","compatibility":0,"releases":[{"id":"0100273008FBC000","region":null}]},{"id":"b4975f11-fc3e-4959-80be-5a28cf724a65","directory":"10-second-run-returns","title":"10 Second Run RETURNS","compatibility":4,"releases":[{"id":"01004D1007926000","region":null}]},{"id":"b4980de7-fb38-43ff-b5ed-1437cbb8b454","directory":"super-hoops","title":"Super Hoops","compatibility":99,"releases":[{"id":"01004D6015950000","region":null}]},{"id":"b4a87f58-ba07-4f92-982d-7c7258781313","directory":"blaze-and-the-monster-machines-axle-city-racers","title":"Blaze and the Monster Machines: Axle City Racers","compatibility":1,"releases":[{"id":"010096601362C000","region":null}]},{"id":"b4ad0890-8ebe-48eb-abd8-8d366c1fa27e","directory":"sakura-succubus-3","title":"Sakura Succubus 3","compatibility":99,"releases":[{"id":"0100FC10150E0000","region":null}]},{"id":"b4b14abf-4d16-4a7d-b48c-7c8d9c8ba9bc","directory":"dynamite-fishing-world-games","title":"Dynamite Fishing - World Games","compatibility":1,"releases":[{"id":"01003A000976E000","region":null}]},{"id":"b4bac280-5cfc-48c8-8057-cba84dd6cf33","directory":"horned-knight","title":"Horned Knight","compatibility":99,"releases":[{"id":"01002FA014514000","region":null}]},{"id":"b4be1bcc-b817-4bb8-adbb-d3b69757ac50","directory":"dont-die-mr-robot","title":"Don't Die, Mr Robot!","compatibility":5,"releases":[{"id":"010007200AC0E000","region":null}]},{"id":"b4cbb269-c23b-4bd9-9f33-cf2c5f67f0c7","directory":"gorsd","title":"GORSD","compatibility":1,"releases":[{"id":"01000C7003FE8000","region":null}]},{"id":"b4d6a7c2-dc19-47d3-994b-44be15cd5632","directory":"eqqo","title":"EQQO","compatibility":99,"releases":[{"id":"0100E95010058000","region":null}]},{"id":"b4dfe906-8622-4e47-9383-1386cf7d8b78","directory":"legal-dungeon","title":"Legal Dungeon","compatibility":99,"releases":[{"id":"01000AA013BFE000","region":null}]},{"id":"b4eba8df-011c-4c69-8cfc-5a3caa1e2677","directory":"hover","title":"Hover","compatibility":99,"releases":[{"id":"0100F6800910A000","region":null}]},{"id":"b4ee7666-513a-49e9-98f5-59ab49abcc8b","directory":"skelly-selest","title":"Skelly Selest","compatibility":0,"releases":[{"id":"01006C000DC8A000","region":null}]},{"id":"b4f1950a-2e97-44ef-bb54-525d81d218bf","directory":"revenant-saga","title":"Revenant Saga","compatibility":3,"releases":[{"id":"0100AA2006510000","region":null}]},{"id":"b4f9cb20-3eba-463f-be12-0d0fa11864ad","directory":"the-coma-recut","title":"The Coma: Recut","compatibility":2,"releases":[{"id":"010033100691A000","region":null}]},{"id":"b4feb997-8f05-4751-b650-4cd09f373847","directory":"penny-punching-princess","title":"Penny-Punching Princess","compatibility":1,"releases":[{"id":"0100C510049E0000","region":null}]},{"id":"b503ed03-f3ca-4916-9786-43a43fdcd6ff","directory":"airheart-tales-of-broken-wings","title":"Airheart - Tales of broken Wings","compatibility":99,"releases":[{"id":"01003DD00BFEE000","region":null}]},{"id":"b50b0566-ba15-438b-a587-a6e6f52c67b0","directory":"sleep-tight","title":"Sleep Tight","compatibility":0,"releases":[{"id":"01004AC0081DC000","region":null}]},{"id":"b514e6e1-211f-4838-abcc-88fe2894af83","directory":"team-sonic-racing","title":"Team Sonic Racing","compatibility":3,"releases":[{"id":"010092B0091D0000","region":null}]},{"id":"b523946e-100e-43e1-a50d-1d67028d4cbb","directory":"ludomania","title":"Ludomania","compatibility":99,"releases":[{"id":"0100F0300B7BE000","region":null}]},{"id":"b52b7f79-efa0-4201-847a-868b5aa4641c","directory":"connectank","title":"ConnecTank™","compatibility":99,"releases":[{"id":"0100436013EF6000","region":null}]},{"id":"b5314c2a-b548-49db-9b68-672a99fb2301","directory":"rock-of-ages-2-bigger-and-boulder","title":"Rock of Ages 2: Bigger & Boulder","compatibility":99,"releases":[{"id":"010091D00BE38000","region":null}]},{"id":"b53e84ac-c1be-44d0-883f-adf007286d15","directory":"woodcutter","title":"Woodcutter","compatibility":99,"releases":[{"id":"0100363015476000","region":null}]},{"id":"b53e8bf3-fe90-4031-b983-a53cf6ad3f79","directory":"isolation-story","title":"Isolation Story","compatibility":99,"releases":[{"id":"0100924013162000","region":null}]},{"id":"b54730d4-1151-4f90-a145-ce23a29cff6f","directory":"deiland-pocket-planet-edition","title":"Deiland: Pocket Planet Edition","compatibility":1,"releases":[{"id":"0100D150131F8000","region":null}]},{"id":"b54dbcc4-166b-45b0-95cc-10c8871bfbb8","directory":"firework","title":"Firework","compatibility":99,"releases":[{"id":"0100BA9012B36000","region":null}]},{"id":"b561bf6e-a04b-4063-81d7-c7cca040fe21","directory":"project-nimbus-complete-edition","title":"Project Nimbus: Complete Edition","compatibility":99,"releases":[{"id":"0100ACE00DAB6000","region":null}]},{"id":"b5790399-6086-44a0-bee0-9688274ec347","directory":"risky-rescue","title":"Risky Rescue","compatibility":99,"releases":[{"id":"01005AF00CCA2000","region":null}]},{"id":"b5853cd7-1129-423b-b557-8f96bd9d7c6d","directory":"mario-tennis-aces","title":"Mario Tennis Aces","compatibility":0,"releases":[{"id":"0100BDE00862A000","region":null}]},{"id":"b5934943-0be9-4f1d-9ed3-b042ee333723","directory":"boss-rush-mythology","title":"Boss Rush: Mythology","compatibility":99,"releases":[{"id":"0100AB9013564000","region":null}]},{"id":"b5942bc8-1016-4f86-a4f8-ec78b72bf34a","directory":"lily-of-the-hollow-resurrection","title":"Lily of the Hollow - Resurrection","compatibility":99,"releases":[{"id":"01005D7013B0C000","region":null}]},{"id":"b599b00f-2ded-4ce2-bba5-993ff31c521f","directory":"dice-legacy","title":"Dice Legacy","compatibility":99,"releases":[{"id":"01002E4013EAE000","region":null}]},{"id":"b59d8820-b2be-4202-ad08-3a691f957bba","directory":"buried-stars","title":"Buried Stars","compatibility":1,"releases":[{"id":"010078C00DB40000","region":null}]},{"id":"b5a753ca-62e9-4753-b241-6baf7c08e013","directory":"portal-dogs","title":"Portal Dogs","compatibility":99,"releases":[{"id":"010050D00FE0C000","region":null}]},{"id":"b5b6e63b-26c5-462c-8b42-552fe9d3ed81","directory":"popeye","title":"Popeye","compatibility":99,"releases":[{"id":"010058E014EBC000","region":null}]},{"id":"b5b8c84a-2731-4f30-8bca-bd209b44d86f","directory":"blazing-beaks","title":"Blazing Beaks","compatibility":2,"releases":[{"id":"010021A00DE54000","region":null}]},{"id":"b5bba3a8-af6e-41e3-83f5-1da7356ace2d","directory":"willy-jetman-astromonkeys-revenge","title":"Willy Jetman: Astromonkey's Revenge","compatibility":99,"releases":[{"id":"010000100FB62000","region":null}]},{"id":"b5be1eba-b3cd-4757-9d4c-dd9fc28961c4","directory":"dreamgallery","title":"DreamGallery","compatibility":2,"releases":[{"id":"0100D560106E0000","region":null}]},{"id":"b5c14d52-8d94-4304-94a1-1f604bff1ad8","directory":"moorhuhn-knights-and-castles","title":"Moorhuhn Knights & Castles","compatibility":99,"releases":[{"id":"010030800841A000","region":null}]},{"id":"b5c439c3-d905-4557-adc0-41d59a3169c4","directory":"olivers-adventures-in-the-fairyland","title":"Oliver's Adventures in the Fairyland","compatibility":99,"releases":[{"id":"0100E4600F188000","region":null}]},{"id":"b5c766a0-0398-48c9-b71b-769cafa61796","directory":"selfy-collection-the-dream-fashion-stylist","title":"SELFY COLLECTION The dream fashion stylist!","compatibility":99,"releases":[{"id":"010044700FB46000","region":null}]},{"id":"b5cfd167-7173-497f-bead-97c725f37f79","directory":"the-pillar-puzzle-escape","title":"The Pillar: Puzzle Escape","compatibility":99,"releases":[{"id":"0100B80012C1E000","region":null}]},{"id":"b5d79071-7c47-4940-880c-923b143b5a2b","directory":"bringit-to-mom","title":"BringIt to MOM","compatibility":99,"releases":[{"id":"0100D590120D6000","region":null}]},{"id":"b5da712f-e00d-450c-b936-7d17451232cd","directory":"tetris-99","title":"Tetris 99","compatibility":3,"releases":[{"id":"010040600C5CE000","region":null}]},{"id":"b5da9b21-a541-4b06-980f-376097a4b8f6","directory":"super-crush-ko","title":"Super Crush KO","compatibility":0,"releases":[{"id":"010030900D9A6000","region":null}]},{"id":"b5db415b-c964-4001-849a-84c08b9a2d38","directory":"runestone-keeper","title":"Runestone Keeper","compatibility":99,"releases":[{"id":"010032200EC9C000","region":null}]},{"id":"b5ef9a24-501f-43a0-bc5e-743ddc4b6d19","directory":"earthworms","title":"Earthworms","compatibility":99,"releases":[{"id":"0100DCE00B756000","region":null}]},{"id":"b5fd69a3-8170-4409-922b-ef953c51f548","directory":"monochrome-world","title":"Monochrome World","compatibility":99,"releases":[{"id":"0100B5E0113F2000","region":null}]},{"id":"b6255665-baa9-4d74-8e28-f7a2f7c084a9","directory":"kine","title":"Kine","compatibility":99,"releases":[{"id":"010089000F0E8000","region":null}]},{"id":"b6429ba0-7a11-4c8f-b39b-0e9492fcd2f8","directory":"mancala-classic-board-game","title":"Mancala Classic Board Game","compatibility":99,"releases":[{"id":"0100598014310000","region":null}]},{"id":"b6447469-c5ba-482f-8e7a-821f63556564","directory":"kawaii-deathu-desu","title":"Kawaii Deathu Desu","compatibility":0,"releases":[{"id":"0100C5F00F446000","region":null}]},{"id":"b646d308-fdae-4713-8bf4-9ec187804ba9","directory":"profane","title":"Profane","compatibility":1,"releases":[{"id":"0100AB700FE02000","region":null}]},{"id":"b64826cf-c6c5-4cc1-a6a8-01058bf7bd32","directory":"super-hydorah","title":"Super Hydorah","compatibility":1,"releases":[{"id":"010099F00B374000","region":null}]},{"id":"b659f504-5e46-4d30-b8e5-47dbbe395398","directory":"maiden-spell","title":"Maiden & Spell","compatibility":99,"releases":[{"id":"01004FE014198000","region":null}]},{"id":"b66ed656-4a5f-4a71-b3c1-75431f3ea7d8","directory":"jolt-family-robot-racer","title":"Jolt Family Robot Racer","compatibility":99,"releases":[{"id":"01002A0009E18000","region":null}]},{"id":"b6706ffd-045f-4f78-bc92-32c7544702f1","directory":"wax-museum","title":"Wax Museum","compatibility":0,"releases":[{"id":"0100326016A6E000","region":null}]},{"id":"b67a76c7-30be-4cd9-9678-501cbbd17b91","directory":"sedomairi","title":"SEDOMAIRI","compatibility":99,"releases":[{"id":"01008CD01625C000","region":null}]},{"id":"b67b5945-c844-43b4-9022-284bf127c3b2","directory":"pico-park","title":"PICO PARK","compatibility":3,"releases":[{"id":"01004EA00DF70000","region":null}]},{"id":"b687f44d-e2f6-4e99-8928-26fe603997bc","directory":"office-lovers","title":"Office Lovers","compatibility":99,"releases":[{"id":"01003EA01290A000","region":null}]},{"id":"b68bfbc3-1398-41cf-a000-0018cbf0507c","directory":"bit-trip-core","title":"BIT.TRIP CORE","compatibility":99,"releases":[{"id":"0100016012D38000","region":null}]},{"id":"b691adb7-f4de-4595-b184-aa6761732863","directory":"tinboy","title":"Tinboy","compatibility":99,"releases":[{"id":"01001CA00C514000","region":null}]},{"id":"b69c41cc-06c8-452c-a6ea-dfb1d382bbc9","directory":"smashing-the-battle-ghost-soul","title":"SMASHING THE BATTLE GHOST SOUL","compatibility":0,"releases":[{"id":"010089B0155F8000","region":null}]},{"id":"b69d42c3-dd12-4478-ab11-575307e339a5","directory":"moon","title":"moon","compatibility":99,"releases":[{"id":"0100E1800EFCE000","region":null}]},{"id":"b6b3dd1e-110f-43d8-844c-ff016e5afadb","directory":"arcade-archives-tecmo-bowl","title":"Arcade Archives TECMO BOWL","compatibility":99,"releases":[{"id":"010064A00BE0E000","region":null}]},{"id":"b6bde324-8ea7-4fb8-b6bc-c07741c7f14b","directory":"good-job","title":"Good Job!™","compatibility":1,"releases":[{"id":"0100B0500FE4E000","region":null}]},{"id":"b6bf4aa8-585e-4e61-b2ee-6c4391bd2b42","directory":"some-distant-memory","title":"Some Distant Memory","compatibility":99,"releases":[{"id":"01009EE00E91E000","region":null}]},{"id":"b6cb913f-8da3-40d3-89bb-aad693fc91d6","directory":"spheroids","title":"Spheroids","compatibility":99,"releases":[{"id":"0100FD200A45A000","region":null}]},{"id":"b6d8c48f-8052-4573-ada6-71ffbc56667e","directory":"kairobotica","title":"Kairobotica","compatibility":99,"releases":[{"id":"0100D5F00EC52000","region":null}]},{"id":"b6e18962-0d08-46d0-9794-985a2a111ec1","directory":"retimed","title":"Retimed","compatibility":99,"releases":[{"id":"010086E00BCB2000","region":null}]},{"id":"b6e2526d-5b77-456e-90d7-9b1713b3499d","directory":"runner3","title":"Runner3","compatibility":99,"releases":[{"id":"01004B4002B6A000","region":null}]},{"id":"b6e83323-6bcf-46b0-9004-90cc627d10d2","directory":"smash-boats","title":"Smash Boats","compatibility":0,"releases":[{"id":"0100CFD00F89C000","region":null}]},{"id":"b6f74d57-a408-466b-b0b0-2b7b3b41d9bd","directory":"mitsurugi-kamui-hikae","title":"Mitsurugi Kamui Hikae","compatibility":99,"releases":[{"id":"010045000BF6A000","region":null}]},{"id":"b6fc5329-2d93-4042-81c2-7759e138a147","directory":"our-flick-erasers","title":"Our Flick Erasers","compatibility":99,"releases":[{"id":"01006D900EE58000","region":null}]},{"id":"b70d3412-b0a7-4bb2-8d32-a33938b029b9","directory":"kirakira-stars-idol-project-nagisa","title":"Kirakira stars idol project Nagisa","compatibility":99,"releases":[{"id":"01002B101530A000","region":null}]},{"id":"b7184f44-4f08-40e4-b47e-cb4d3c19b225","directory":"claws-of-furry","title":"Claws of Furry","compatibility":99,"releases":[{"id":"0100AE9008744000","region":null}]},{"id":"b71bbf4e-2b14-439c-a9d6-6d14fccf03b4","directory":"gold-digger","title":"Gold Digger","compatibility":99,"releases":[{"id":"010076C014630000","region":null}]},{"id":"b72f35b9-1fb3-43bd-bd85-51ab89fb5e97","directory":"night-flight","title":"Night Flight","compatibility":99,"releases":[{"id":"010096C01515C000","region":null}]},{"id":"b742d05f-d69b-4465-9756-ffedc4d097cd","directory":"ganbare-super-strikers","title":"Ganbare! Super Strikers","compatibility":99,"releases":[{"id":"0100A6400F29A000","region":null}]},{"id":"b76342d2-be74-4706-abdc-9c62e89c63f5","directory":"bullet-beat","title":"Bullet Beat","compatibility":99,"releases":[{"id":"01007310128EC000","region":null}]},{"id":"b7a0fb53-eaa1-40a5-baa9-cb61c939ba99","directory":"knights-retreat","title":"Knight's Retreat","compatibility":99,"releases":[{"id":"0100554012A34000","region":null}]},{"id":"b7ad024f-ce9e-40c4-a119-461a46f5be8e","directory":"swords-and-soldiers-2-shawarmageddon","title":"Swords and Soldiers 2 Shawarmageddon","compatibility":99,"releases":[{"id":"010059D00BCAE000","region":null}]},{"id":"b7b097c3-70be-46f1-9ea1-8f3f5e7e072d","directory":"super-phantom-cat-remake","title":"Super Phantom Cat: Remake","compatibility":99,"releases":[{"id":"0100C9A00D124000","region":null}]},{"id":"b7b4ce92-f1ee-4a20-ade8-c4ce17e5efc6","directory":"what-the-fork","title":"What The Fork","compatibility":99,"releases":[{"id":"0100DB5012366000","region":null}]},{"id":"b7c0e917-984a-4a01-8a9a-ee748ce41a8f","directory":"sudoku-relax-3-autumn-leaves","title":"Sudoku Relax 3 Autumn Leaves","compatibility":99,"releases":[{"id":"0100D6100FF44000","region":null}]},{"id":"b7ca93cc-bf6e-40e7-9189-c555b373714e","directory":"hob-the-definitive-edition","title":"Hob: The Definitive Edition","compatibility":1,"releases":[{"id":"01004B100A5CC000","region":null}]},{"id":"b7d5789e-58df-46c7-9ad3-7bbf6d957d50","directory":"pga-tour-2k21","title":"PGA TOUR 2K21","compatibility":4,"releases":[{"id":"010053401147C000","region":null}]},{"id":"b7d65ee1-4da6-4013-a2ad-bbfbbe536928","directory":"hells-high-harmonizers","title":"Hell's High Harmonizers","compatibility":99,"releases":[{"id":"0100BD3010934000","region":null}]},{"id":"b7ddef9b-58e4-485b-9624-ea09112daa0e","directory":"lyrica2-stars-align","title":"Lyrica2 Stars Align","compatibility":99,"releases":[{"id":"0100A9C0134DE000","region":null}]},{"id":"b7e2a9b1-3bbc-4e4f-91fd-41a7abb02daf","directory":"arcade-archives-gradius-ii","title":"Arcade Archives GRADIUS II","compatibility":1,"releases":[{"id":"0100721012F9C000","region":null}]},{"id":"b7e319f4-1a81-486e-bacd-50a58c0436a5","directory":"beholder-complete-edition","title":"Beholder: Complete Edition","compatibility":0,"releases":[{"id":"0100D1300C1EA000","region":null}]},{"id":"b7e6f0ca-a590-42f5-b55e-42e3764d2b5f","directory":"black-rainbow","title":"Black Rainbow","compatibility":5,"releases":[{"id":"0100236011A42000","region":null}]},{"id":"b7e7a5bc-221b-47db-b706-d21058e8b166","directory":"legend-of-kay-anniversary","title":"Legend of Kay Anniversary","compatibility":2,"releases":[{"id":"01002DB007A96000","region":null}]},{"id":"b7eaecb5-5345-4795-b7a6-6c34b7db1ece","directory":"dead-dust","title":"Dead Dust","compatibility":99,"releases":[{"id":"010096C014BB2000","region":null}]},{"id":"b7ed176a-fc86-4f92-a254-e777afd236a5","directory":"lyrica","title":"Lyrica","compatibility":99,"releases":[{"id":"010008000C8F6000","region":null}]},{"id":"b7fe945c-0ddd-4dca-9e00-6395aaca8d4b","directory":"shoot-1up-dx","title":"Shoot 1UP DX","compatibility":99,"releases":[{"id":"0100CCE00DDB6000","region":null}]},{"id":"b7ff44ce-98f3-44e1-85df-e59e312fc336","directory":"uncanny-valley","title":"Uncanny Valley","compatibility":5,"releases":[{"id":"01002D900C5E4000","region":null}]},{"id":"b801f1ca-8fe3-4e00-805e-deef778dd836","directory":"sid-meiers-civilization-vi","title":"Sid Meier’s Civilization VI","compatibility":4,"releases":[{"id":"010044500C182000","region":null}]},{"id":"b80aeecf-2698-46aa-bfd9-bd0c7312acb6","directory":"creepy-brawlers","title":"Creepy Brawlers","compatibility":99,"releases":[{"id":"0100BBB00F6B2000","region":null}]},{"id":"b81c803c-c23f-4643-9c14-7af5ff6dfccd","directory":"monobot","title":"MONOBOT","compatibility":99,"releases":[{"id":"01005E201530E000","region":null}]},{"id":"b81d4f6a-2928-45d9-b38e-b4e6d9807365","directory":"tyd-wag-vir-niemand","title":"Tyd wag vir Niemand","compatibility":99,"releases":[{"id":"010073A00C4B2000","region":null}]},{"id":"b83d1d0f-25b3-40f5-97ca-fbfac34cb1b4","directory":"fairune-collection","title":"Fairune Collection","compatibility":1,"releases":[{"id":"01008A6009758000","region":null}]},{"id":"b83d7b95-b7b5-4d31-963a-8f43e094454b","directory":"just-dance-r-2021","title":"Just Dance® 2021","compatibility":1,"releases":[{"id":"0100BF9011B52000","region":null}]},{"id":"b845461e-05a9-41e1-9688-f62e904d93a2","directory":"3d-air-hockey","title":"3D Air Hockey","compatibility":0,"releases":[{"id":"01000220158C4000","region":null}]},{"id":"b849b91c-5cf6-4486-a0cd-095cebb2c2d7","directory":"plantera-deluxe","title":"Plantera Deluxe","compatibility":99,"releases":[{"id":"010087000428E000","region":null}]},{"id":"b84a0fc4-2dd5-4205-bd44-3a4bd24de9ef","directory":"deep-ones","title":"Deep Ones","compatibility":4,"releases":[{"id":"0100FAF009562000","region":null}]},{"id":"b857f78e-840b-4e8e-9a66-f0087f61efcd","directory":"arcade-archives-solomons-key","title":"Arcade Archives Solomon's Key","compatibility":4,"releases":[{"id":"01008C900982E000","region":null}]},{"id":"b8751e50-79e7-4358-946c-28b8295badf7","directory":"cattch","title":"CATTCH","compatibility":0,"releases":[{"id":"01009F0013A42000","region":null}]},{"id":"b8780a7b-2cd9-4660-be2b-92852c7ac1fe","directory":"the-darkside-detective","title":"The Darkside Detective","compatibility":99,"releases":[{"id":"01003DE00918E000","region":null}]},{"id":"b8922bbf-98b2-4e1e-b039-d83d1e000cf5","directory":"kasiori","title":"KASIORI","compatibility":99,"releases":[{"id":"0100E75014D7A000","region":null}]},{"id":"b89aa8ad-0523-42a7-8fc3-81b672476a10","directory":"killallzombies","title":"#KILLALLZOMBIES","compatibility":1,"releases":[{"id":"01004D100C510000","region":null}]},{"id":"b8b18081-37be-41bb-8f45-f087800ab8d0","directory":"alders-blood","title":"Alder's Blood","compatibility":99,"releases":[{"id":"0100D740110C0000","region":null}]},{"id":"b8b7550a-9217-4549-a3c7-952170fdc716","directory":"mighty-gunvolt-burst","title":"MIGHTY GUNVOLT BURST","compatibility":1,"releases":[{"id":"01000E2003FA0000","region":null}]},{"id":"b8bd5ff4-11b4-4fda-815e-6c057728947b","directory":"toree-3d","title":"Toree 3D","compatibility":99,"releases":[{"id":"0100E9701479E000","region":null}]},{"id":"b8c73bb7-3350-4bbb-9866-2ea5c1bfbe0a","directory":"minigolf-tour","title":"MiniGolf Tour","compatibility":1,"releases":[{"id":"01000D50149D8000","region":null}]},{"id":"b8ce149d-10f9-4c2f-b3cd-00fe69efb9c5","directory":"animated-jigsaws-japanese-women","title":"Animated Jigsaws: Japanese Women","compatibility":99,"releases":[{"id":"01002BB00C01E000","region":null}]},{"id":"b8d47a61-a0bd-49dc-aa4d-65925e921522","directory":"the-battle-of-mahjong","title":"The Battle Of Mahjong","compatibility":99,"releases":[{"id":"0100AC300BBE4000","region":null}]},{"id":"b8ea2916-3da3-4b2c-ab2c-ef4bc88f5b9b","directory":"skullgirls-2nd-encore","title":"Skullgirls 2nd Encore","compatibility":4,"releases":[{"id":"010046B00DE62000","region":null}]},{"id":"b8ed8ec0-c821-4372-aed9-449816fe2a87","directory":"wonder-boy-returns-remix","title":"WONDER BOY RETURNS REMIX","compatibility":0,"releases":[{"id":"010069B00D9FE000","region":null}]},{"id":"b8f826d8-f0ae-4182-907d-43fa46bf52b5","directory":"help-will-come-tomorrow","title":"Help Will Come Tomorrow","compatibility":1,"releases":[{"id":"0100F130115EC000","region":null}]},{"id":"b8fcb021-fd22-4186-a2c8-d95f04dfacb2","directory":"flatland-vol-1","title":"FLATLAND Vol.1","compatibility":4,"releases":[{"id":"0100DBF011922000","region":null}]},{"id":"b9069018-c2c9-47c5-a75d-7f22373903fa","directory":"iron-snout","title":"Iron Snout","compatibility":99,"releases":[{"id":"010010200D09A000","region":null}]},{"id":"b90b1520-0a6a-4728-8f22-504b0a42076a","directory":"cathedral","title":"Cathedral","compatibility":3,"releases":[{"id":"0100BEB01327A000","region":null}]},{"id":"b90fe7c7-7f77-4715-ad7e-77899f6bf531","directory":"uglydolls-an-imperfect-adventure","title":"UglyDolls: An Imperfect Adventure","compatibility":99,"releases":[{"id":"010079000B56C000","region":null}]},{"id":"b9235fb9-411e-4815-87de-500b9a4e7fbc","directory":"breakpoint","title":"Breakpoint","compatibility":0,"releases":[{"id":"01009380114E0000","region":null}]},{"id":"b929966a-3f59-4d39-89df-1ac1e9417580","directory":"so-many-me-extended-edition","title":"So Many Me: Extended Edition","compatibility":99,"releases":[{"id":"010062C00F558000","region":null}]},{"id":"b92d59a1-7854-4fa6-945b-cb771fd45ad7","directory":"sector-781","title":"Sector 781","compatibility":99,"releases":[{"id":"0100245013EA4000","region":null}]},{"id":"b92ec1de-32bf-4352-acbe-8a9acdc87333","directory":"songs-for-a-hero-definitive-edition","title":"Songs for a Hero: Definitive Edition","compatibility":1,"releases":[{"id":"0100802012890000","region":null}]},{"id":"b938e2cf-44c9-41b1-b6bd-138c52ee2084","directory":"arcade-archives-frogger","title":"Arcade Archives FROGGER","compatibility":99,"releases":[{"id":"010047100F978000","region":null}]},{"id":"b9392b68-8999-4bdb-bdcf-f1f852c53bb2","directory":"can-androids-pray-blue","title":"CAN ANDROIDS PRAY:BLUE","compatibility":99,"releases":[{"id":"010049101124C000","region":null}]},{"id":"b9602f9a-f256-4a65-ad2a-5ec3213857c5","directory":"dragodino","title":"DragoDino","compatibility":99,"releases":[{"id":"0100566009238000","region":null}]},{"id":"b97b6d76-1861-4791-a51f-26389cacd62e","directory":"mad-carnage","title":"Mad Carnage","compatibility":0,"releases":[{"id":"010024A009428000","region":null}]},{"id":"b99ec87a-e651-4a55-abe7-72d9daf06142","directory":"physical-contact-picture-place","title":"Physical Contact: Picture Place","compatibility":99,"releases":[{"id":"0100AAD004358000","region":null}]},{"id":"b9ac2c92-eb07-42fe-b808-acdd261b751f","directory":"shantae","title":"Shantae","compatibility":4,"releases":[{"id":"0100430013120000","region":null}]},{"id":"b9b64e10-d7aa-4fae-967e-0e0c47745740","directory":"fault-milestone-one","title":"fault - milestone one","compatibility":99,"releases":[{"id":"0100F6200B7D4000","region":null}]},{"id":"b9ba13a9-1e29-457c-b91c-9391393d74ad","directory":"not-not-a-brain-buster","title":"Not Not - A Brain Buster","compatibility":0,"releases":[{"id":"01004D500D9BE000","region":null}]},{"id":"b9bb5eb9-8e43-4540-bdde-14bb746cc75a","directory":"strike-ten-pin-bowling","title":"Strike! Ten Pin Bowling","compatibility":99,"releases":[{"id":"0100B080104BC000","region":null}]},{"id":"b9bc639d-d898-46fb-ac32-bb080ff018c8","directory":"aca-neogeo-kizuna-encounter","title":"ACA NEOGEO KIZUNA ENCOUNTER","compatibility":5,"releases":[{"id":"0100A2200AFE2000","region":null}]},{"id":"b9c4e264-1496-4e12-92b7-bd4f7c3261b1","directory":"just-black-jack","title":"Just Black Jack","compatibility":99,"releases":[{"id":"0100EB700EF74000","region":null}]},{"id":"b9c76a04-8bdc-4166-a704-6d735637186e","directory":"necroworm","title":"NecroWorm","compatibility":99,"releases":[{"id":"0100A35011406000","region":null}]},{"id":"b9db9e46-8640-43f6-b5cf-5af5c6f66836","directory":"burnstar","title":"Burnstar","compatibility":99,"releases":[{"id":"010044D00A770000","region":null}]},{"id":"b9e534c9-8c1d-4159-ab4d-c3215de14bb3","directory":"x-morph-defense-demo","title":"X-Morph: Defense Demo","compatibility":99,"releases":[{"id":"01009CD00C786000","region":null}]},{"id":"b9f2a296-202a-4a63-bf77-500bf0bb1c21","directory":"snake-pass","title":"Snake Pass","compatibility":4,"releases":[{"id":"0100C0F0020E8000","region":null}]},{"id":"b9fbe397-b09c-4762-b7ae-6916937d56d4","directory":"wolfenstein-ii-the-new-colossus","title":"Wolfenstein II: The New Colossus","compatibility":4,"releases":[{"id":"01009040091E0000","region":null}]},{"id":"ba052f69-01d8-4440-8634-ead31bff005a","directory":"neon-caves","title":"Neon Caves","compatibility":5,"releases":[{"id":"010042800CDCE000","region":null}]},{"id":"ba079915-c131-4f30-9917-5737d0cbce02","directory":"neverwinter-nights-enhanced-edition","title":"Neverwinter Nights: Enhanced Edition","compatibility":5,"releases":[{"id":"010013700DA4A000","region":null}]},{"id":"ba1130b1-76d1-4e08-98e1-25dee9589092","directory":"find-the-balance","title":"Find The Balance","compatibility":99,"releases":[{"id":"0100F3700C09C000","region":null}]},{"id":"ba115c6d-fb16-4c0e-84a1-a0c3bce0427b","directory":"johnny-bonasera-full-season","title":"Johnny Bonasera Full Season","compatibility":99,"releases":[{"id":"01002B40135DE000","region":null}]},{"id":"ba301124-3fb5-415d-9186-ca9b35915e09","directory":"resident-evil-5","title":"Resident Evil 5","compatibility":0,"releases":[{"id":"010018100CD46000","region":null}]},{"id":"ba32dd42-4403-4a57-b22f-25ea6da62774","directory":"royal-roads","title":"Royal Roads","compatibility":99,"releases":[{"id":"0100AFE00DDAC000","region":null}]},{"id":"ba4413eb-a812-4edf-99e0-b57bb700afd4","directory":"songbringer","title":"Songbringer","compatibility":99,"releases":[{"id":"010031D00A604000","region":null}]},{"id":"ba457358-13b4-416f-8bfb-b17693d19648","directory":"wargroove","title":"Wargroove","compatibility":3,"releases":[{"id":"01000F0002BB6000","region":null}]},{"id":"ba5ac11b-1225-4c62-8dba-b1e2296f3995","directory":"mini-car-racing","title":"Mini Car Racing","compatibility":1,"releases":[{"id":"0100D5E0141F6000","region":null}]},{"id":"ba662b43-9826-4233-923a-dff303414616","directory":"creepy-road","title":"Creepy Road","compatibility":99,"releases":[{"id":"0100C3300C68C000","region":null}]},{"id":"ba81603d-e11b-4eb7-af2d-2b71ada5fe11","directory":"mini-island-challenge-bundle","title":"Mini Island Challenge Bundle","compatibility":99,"releases":[{"id":"010050C0124CE000","region":null}]},{"id":"ba94bbd9-5bd4-4af6-82be-37c7e9eb5e4c","directory":"sam-max-beyond-time-and-space","title":"Sam & Max: Beyond Time and Space","compatibility":1,"releases":[{"id":"0100855015500000","region":null}]},{"id":"baa36077-d44d-47f4-aa3f-0325ddd8afdf","directory":"surfingers","title":"Surfingers","compatibility":99,"releases":[{"id":"0100CEB00CD6C000","region":null}]},{"id":"baa9082b-7ba3-4a30-b374-bdaf0ff9d61c","directory":"river-city-melee-mach","title":"River City Melee Mach!!","compatibility":2,"releases":[{"id":"0100B2100767C000","region":null}]},{"id":"bacb224d-5576-454b-87a7-0193b24ab470","directory":"go-minimal","title":"Go Minimal","compatibility":99,"releases":[{"id":"01004FF016F46000","region":null}]},{"id":"bad1c522-b30d-4eaa-a36a-6c1eaf7e61ff","directory":"cris-tales","title":"Cris Tales","compatibility":99,"releases":[{"id":"0100B0400EBC4000","region":null}]},{"id":"bad747ec-10b9-47fe-8de8-d19418ca26f8","directory":"ruvato-original-complex","title":"Ruvato : Original Complex","compatibility":99,"releases":[{"id":"01007690147D8000","region":null}]},{"id":"badc2b66-c2b1-4a83-9643-0d48e7da7eff","directory":"butcher","title":"BUTCHER","compatibility":1,"releases":[{"id":"0100177005C8A000","region":null}]},{"id":"baef6de7-f1b5-4560-86e6-306a4a8250e1","directory":"stranded-deep","title":"Stranded Deep","compatibility":99,"releases":[{"id":"01004F4014C62000","region":null}]},{"id":"baf8f23a-b4ab-4d93-ad81-eaf326cdd6a3","directory":"out-there-the-alliance-demo","title":"Out There: Ω The Alliance - Demo","compatibility":99,"releases":[{"id":"010048F00CC7C000","region":null}]},{"id":"baf9910a-2197-40e7-abf9-7506a1f9fd12","directory":"pet-care","title":"Pet Care","compatibility":99,"releases":[{"id":"010082A00D80A000","region":null}]},{"id":"bafd496c-f0ea-411d-8196-b54b6839fbb7","directory":"the-princess-guide","title":"The Princess Guide","compatibility":1,"releases":[{"id":"0100E6A00B960000","region":null}]},{"id":"bb0752b7-7ce4-4800-93c2-a4707eac9c61","directory":"animal-doctor","title":"Animal Doctor","compatibility":99,"releases":[{"id":"01008A7013010000","region":null}]},{"id":"bb0a9806-93cc-4842-ad9a-b3a3adef5dc5","directory":"asphalt-9-legends","title":"Asphalt 9: Legends","compatibility":5,"releases":[{"id":"01007B000C834000","region":null}]},{"id":"bb18e33c-fdd1-4d31-842f-458a665c8c14","directory":"coffee-crisis","title":"Coffee Crisis","compatibility":99,"releases":[{"id":"0100CF800C810000","region":null}]},{"id":"bb23ec6d-ebe8-487c-b41a-e9d64e1e468f","directory":"storm-tale","title":"Storm Tale","compatibility":0,"releases":[{"id":"0100362014538000","region":null}]},{"id":"bb340bee-00e0-4b59-8a98-2fc11b7b5d0e","directory":"chess-ace","title":"Chess Ace","compatibility":99,"releases":[{"id":"01003F9010D6C000","region":null}]},{"id":"bb358599-e0b9-4126-a115-2fe4ba4faeab","directory":"oceanhorn-2-knights-of-the-lost-realm","title":"Oceanhorn 2: Knights of the Lost Realm","compatibility":1,"releases":[{"id":"01006CB010840000","region":null}]},{"id":"bb5b2608-316d-4ddf-b3a4-c75035529bff","directory":"arcade-archives-sky-kid","title":"Arcade Archives SKY KID","compatibility":99,"releases":[{"id":"0100192015D24000","region":null}]},{"id":"bb609a49-61e0-401b-bd56-dff24a1049b7","directory":"incredible-mandy","title":"Incredible Mandy","compatibility":2,"releases":[{"id":"010087C00E31C000","region":null}]},{"id":"bb73f4ac-4027-40c7-a478-4ec896df42c0","directory":"radiation-city","title":"Radiation City","compatibility":99,"releases":[{"id":"0100DA400E07E000","region":null}]},{"id":"bb75d647-8cd9-447f-ac33-c701235d4c09","directory":"super-arcade-racing","title":"Super Arcade Racing","compatibility":99,"releases":[{"id":"0100738012566000","region":null}]},{"id":"bb7c85a1-1b6f-4d52-8b10-1b9ddc71fe96","directory":"namco-museum","title":"NAMCO MUSEUM","compatibility":1,"releases":[{"id":"010002F001220000","region":null}]},{"id":"bb7d1f51-c834-4ae4-8572-d0c416ec02b0","directory":"empire-of-sin","title":"Empire of Sin","compatibility":99,"releases":[{"id":"010058600E530000","region":null}]},{"id":"bb842f18-38ca-4df0-b2e8-68d8c708bede","directory":"arcade-archives-renegade","title":"Arcade Archives Renegade","compatibility":99,"releases":[{"id":"010081E001DD2000","region":null}]},{"id":"bb895a51-bea5-4d93-9e02-0bf993e19424","directory":"wrestledunk-sports","title":"Wrestledunk Sports","compatibility":0,"releases":[{"id":"0100DBC013496000","region":null}]},{"id":"bb90c300-90a9-4896-ac48-29623c01a899","directory":"alchemist-adventure","title":"Alchemist Adventure","compatibility":99,"releases":[{"id":"0100946014634000","region":null}]},{"id":"bb92dd05-639e-45b9-816a-3cda2f8e527c","directory":"shut-eye","title":"Shut Eye","compatibility":99,"releases":[{"id":"0100A7900B936000","region":null}]},{"id":"bb9cb019-b7e6-4e0e-b4ab-aaa46fc7cd27","directory":"arcade-archives-arabian","title":"Arcade Archives ARABIAN","compatibility":99,"releases":[{"id":"0100CDD013178000","region":null}]},{"id":"bbafeae9-326e-4e4d-80fe-2115b4af468e","directory":"pocoyo-party","title":"Pocoyo Party","compatibility":1,"releases":[{"id":"01003FE0129FC000","region":null}]},{"id":"bbb0b698-a7d0-46af-87c7-33e6f2e32922","directory":"ultimate-fishing-simulator","title":"Ultimate Fishing Simulator","compatibility":99,"releases":[{"id":"010048901295C000","region":null}]},{"id":"bbb728cf-3acd-4fd9-957c-f0c8107d6444","directory":"talk-it-out-handheld-game","title":"Talk it Out: Handheld Game","compatibility":99,"releases":[{"id":"010088100EE4E000","region":null}]},{"id":"bbbbca40-d520-45e4-baa8-3b997b7e2946","directory":"forgotten-hill-disillusion","title":"Forgotten Hill Disillusion","compatibility":99,"releases":[{"id":"0100D590162D0000","region":null}]},{"id":"bbc70e27-5f3b-462e-82c8-87dfa7cf8642","directory":"crosscode","title":"CrossCode","compatibility":1,"releases":[{"id":"01003D90058FC000","region":null}]},{"id":"bbcbb9ae-bf5c-4158-9f06-124324deef0c","directory":"crashlands","title":"Crashlands","compatibility":2,"releases":[{"id":"010027100BD16000","region":null}]},{"id":"bbcd2fa9-4408-402b-b08a-71c7c91ff7bb","directory":"wanderlust-travel-stories","title":"Wanderlust Travel Stories","compatibility":1,"releases":[{"id":"0100B27010436000","region":null}]},{"id":"bbedb311-3544-4ab0-9251-9256912e31cc","directory":"alchemist-simulator","title":"Alchemist Simulator","compatibility":1,"releases":[{"id":"01001BB014512000","region":null}]},{"id":"bbfb52c1-ebc7-48f1-a751-e8d67ae72f7d","directory":"clockwork-aquario","title":"Clockwork Aquario","compatibility":0,"releases":[{"id":"01003AC0140DC000","region":null}]},{"id":"bc0472d2-b0bb-416f-9ee2-1136190661ee","directory":"goetia","title":"Goetia","compatibility":99,"releases":[{"id":"0100D82009024000","region":null}]},{"id":"bc0dc834-ba73-46ab-bae5-c5a4ab1d5196","directory":"last-4-alive-escape-from-zombies","title":"Last 4 Alive: Escape From Zombies","compatibility":99,"releases":[{"id":"0100C6101591A000","region":null}]},{"id":"bc1e2b11-81a2-4dcb-8c02-9fa91218d0e8","directory":"bubsy-paws-on-fire","title":"Bubsy: Paws on Fire!","compatibility":2,"releases":[{"id":"0100DBE00C554000","region":null}]},{"id":"bc1f1bae-65d6-4cd1-936e-71794cb1c0c6","directory":"arcade-archives-rushn-attack","title":"Arcade Archives Rush'n Attack","compatibility":99,"releases":[{"id":"0100341013852000","region":null}]},{"id":"bc38dd99-f9b9-403f-be0f-9a923d7eabed","directory":"packet-queen","title":"Packet Queen #","compatibility":99,"releases":[{"id":"0100B90008E1E000","region":null}]},{"id":"bc3a6e5f-cac9-4fd0-95de-4d35f6a94910","directory":"layers-of-fear-legacy","title":"Layers of Fear: Legacy","compatibility":0,"releases":[{"id":"0100BF5006A7C000","region":null}]},{"id":"bc3fedf6-400c-440f-ab2d-b00b20e47595","directory":"omg-police-car-chase-tv-simulator","title":"OMG Police - Car Chase TV Simulator","compatibility":99,"releases":[{"id":"0100896011282000","region":null}]},{"id":"bc445a39-66bb-41d7-8c92-713c0a01999d","directory":"tower-climb","title":"Tower Climb","compatibility":0,"releases":[{"id":"01004A300F91E000","region":null}]},{"id":"bc572811-385a-455e-9e07-257d90e73019","directory":"thoth","title":"THOTH","compatibility":99,"releases":[{"id":"0100AC500EEE8000","region":null}]},{"id":"bc57c9df-31bd-47ca-ba49-ff2de1cd1646","directory":"paperbound-brawlers","title":"Paperbound Brawlers","compatibility":99,"releases":[{"id":"01006AD00B82C000","region":null}]},{"id":"bc59108d-abc4-49da-8911-e4a9755c4919","directory":"heroland","title":"Heroland","compatibility":3,"releases":[{"id":"0100C2700E338000","region":null}]},{"id":"bc6d6449-14a6-4ad9-a0a2-91fe606a4ce6","directory":"kingmaker-rise-to-the-throne","title":"Kingmaker: Rise to the Throne","compatibility":99,"releases":[{"id":"0100A1B00C8CC000","region":null}]},{"id":"bc6db81c-61df-4bfb-83eb-cfc3898cfb41","directory":"rogue-aces","title":"Rogue Aces","compatibility":99,"releases":[{"id":"0100EC7009348000","region":null}]},{"id":"bc71443d-9b7c-43ea-bcba-6c2760b5f558","directory":"60-seconds-reatomized","title":"60 Seconds! Reatomized","compatibility":99,"releases":[{"id":"010070100F782000","region":null}]},{"id":"bc752eb9-3952-4dba-9208-a0bdf740de56","directory":"half-past-fate","title":"Half Past Fate","compatibility":1,"releases":[{"id":"0100D4D00F8F2000","region":null}]},{"id":"bc7a8592-e430-4db1-915d-becbdc03b1fb","directory":"antiquia-lost","title":"Antiquia Lost","compatibility":1,"releases":[{"id":"0100016007154000","region":null}]},{"id":"bc89df5d-6567-416b-bde2-6411305b4e9e","directory":"asdivine-kamura","title":"Asdivine Kamura","compatibility":1,"releases":[{"id":"0100C8E00F50A000","region":null}]},{"id":"bc8edc41-547f-4922-b901-6d02f5ba68a3","directory":"red-death","title":"Red Death","compatibility":99,"releases":[{"id":"0100069010592000","region":null}]},{"id":"bc95800f-f431-4ae8-8642-05368fdfac65","directory":"arcade-archives-pinball","title":"Arcade Archives Pinball","compatibility":4,"releases":[{"id":"010049500E354000","region":null}]},{"id":"bc9cf8b2-5356-4085-9f2c-2e6b434b73cc","directory":"solitaire-klondike-black","title":"Solitaire Klondike BLACK","compatibility":99,"releases":[{"id":"01007D600D242000","region":null}]},{"id":"bca2a97a-422d-4085-9814-a315c4be88ea","directory":"890b","title":"890B","compatibility":99,"releases":[{"id":"0100182013F2C000","region":null}]},{"id":"bca345a0-dea6-4ee5-9b53-7936350b5c33","directory":"lovekami-useless-goddess","title":"Lovekami -Useless Goddess-","compatibility":99,"releases":[{"id":"0100336014F4E000","region":null}]},{"id":"bca34e18-fe26-4e71-b5f2-ce4eb4c7af01","directory":"dark-burial","title":"Dark Burial","compatibility":99,"releases":[{"id":"0100896011A60000","region":null}]},{"id":"bcaf2feb-05cc-411f-bd1f-c42de1ecd771","directory":"sega-ages-sonic-the-hedgehog-2","title":"SEGA AGES Sonic The Hedgehog 2","compatibility":1,"releases":[{"id":"01000D200C614000","region":null}]},{"id":"bcb1dbe3-e84b-424c-91dd-b634f260f06d","directory":"implosion-demo","title":"IMPLOSION Demo","compatibility":99,"releases":[{"id":"01005BE008674000","region":null}]},{"id":"bcb94ff9-c296-475f-a88c-1340021599a1","directory":"taiko-no-tatsujin-rhythmic-adventure-2","title":"Taiko no Tatsujin: Rhythmic Adventure 2","compatibility":99,"releases":[{"id":"01001580133F2000","region":null}]},{"id":"bcc84f0e-a0d7-430d-902a-ee6eaaaf0ca9","directory":"supermash","title":"SuperMash","compatibility":1,"releases":[{"id":"01001F900B78C000","region":null}]},{"id":"bcca1f26-a6a1-462e-a02c-35332fa9628b","directory":"gothic-murder-adventure-that-changes-destiny","title":"Gothic Murder: Adventure That Changes Destiny","compatibility":0,"releases":[{"id":"01001010121DE000","region":null}]},{"id":"bcde1a05-acb8-446f-a0bc-a49e09553928","directory":"colormotif-deluxe","title":"Color.Motif Deluxe","compatibility":99,"releases":[{"id":"01002EB010146000","region":null}]},{"id":"bcdeb86e-7886-499a-912d-3481b7247e3c","directory":"aperion-cyberstorm","title":"Aperion Cyberstorm","compatibility":99,"releases":[{"id":"010051C003A08000","region":null}]},{"id":"bcdf95fc-2309-49d9-9375-d8c75ff8a7ca","directory":"momonga-pinball-adventures","title":"Momonga Pinball Adventures","compatibility":99,"releases":[{"id":"01002CC00BC4C000","region":null}]},{"id":"bcf940bd-e24c-4137-aa84-f94272408977","directory":"space-grunts","title":"Space Grunts","compatibility":99,"releases":[{"id":"0100AE701287E000","region":null}]},{"id":"bd04868c-d7d6-455f-9a21-6cade59fec00","directory":"season-match-2","title":"Season Match 2","compatibility":99,"releases":[{"id":"0100F6B00BDCC000","region":null}]},{"id":"bd0b1913-1089-4b37-8c09-6abdef04115b","directory":"noreload-heroes-enhanced-edition","title":"NoReload Heroes Enhanced Edition","compatibility":99,"releases":[{"id":"010052E011A62000","region":null}]},{"id":"bd0ccf9f-e734-4c08-b776-a2d1aa322099","directory":"pure-mahjong","title":"Pure Mahjong","compatibility":99,"releases":[{"id":"0100F2700D3F0000","region":null}]},{"id":"bd0f7790-0970-4001-bfed-6c55b95c0ee6","directory":"aca-neogeo-garou-mark-of-the-wolves","title":"ACA NEOGEO GAROU: MARK OF THE WOLVES","compatibility":1,"releases":[{"id":"0100CB2001DB8000","region":null}]},{"id":"bd30905d-aa19-4755-ac3f-0643ebdb24f4","directory":"the-language-of-love","title":"The Language Of Love","compatibility":1,"releases":[{"id":"01007AF012E16000","region":null}]},{"id":"bd46a34a-cfda-4fc0-ab32-b75641216162","directory":"adventure-time-pirates-of-the-enchiridion","title":"Adventure Time: Pirates of the Enchiridion","compatibility":0,"releases":[{"id":"0100C4E004406000","region":null}]},{"id":"bd482142-3353-4f0b-8461-52bd27915995","directory":"mariozza-cops","title":"MARIOZZA COPS","compatibility":99,"releases":[{"id":"01008D301446C000","region":null}]},{"id":"bd48d52d-29d5-4dd5-8399-3a2b72a4c851","directory":"battle-princess-madelyn","title":"Battle Princess Madelyn","compatibility":2,"releases":[{"id":"0100C4D0093EA000","region":null}]},{"id":"bd552acf-a877-4757-8a97-982f1d277aff","directory":"freakout-calamity-tv-show","title":"Freakout: Calamity TV Show","compatibility":2,"releases":[{"id":"01003AB010692000","region":null}]},{"id":"bd64d28c-09be-4e52-a1e9-fd0bbe1a542e","directory":"seeds-of-resilience","title":"Seeds of Resilience","compatibility":99,"releases":[{"id":"01000580117EA000","region":null}]},{"id":"bd701a48-bf54-40c1-83b0-717877d63ebc","directory":"the-shapeshifting-detective","title":"The Shapeshifting Detective","compatibility":99,"releases":[{"id":"01001FF00BEE8000","region":null}]},{"id":"bd711d49-4486-4841-99c1-83c66dabaa95","directory":"the-journey-down-trilogy","title":"The Journey Down Trilogy","compatibility":99,"releases":[{"id":"01008EF00C900000","region":null}]},{"id":"bd8e79cb-772b-48d6-9990-e0c9610815fc","directory":"everspace-stellar-edition","title":"Everspace - Stellar Edition","compatibility":4,"releases":[{"id":"0100DCF0093EC000","region":null}]},{"id":"bd910017-ef57-4bb3-9b9b-4b0a8d8f268a","directory":"flowlines-vs","title":"Flowlines VS","compatibility":99,"releases":[{"id":"0100F5D00CD58000","region":null}]},{"id":"bd957ff8-721f-4cae-b4a6-7f596fe860c8","directory":"wind-peaks","title":"Wind Peaks","compatibility":99,"releases":[{"id":"0100E9101405A000","region":null}]},{"id":"bd9d9836-2726-4bcb-bf3e-1883d7cac2e6","directory":"dream-alone","title":"Dream Alone","compatibility":4,"releases":[{"id":"01000AA0093DC000","region":null}]},{"id":"bd9fa3e1-c1e2-460b-a3c9-c3025fe809eb","directory":"clone-drone-in-the-danger-zone","title":"Clone Drone in the Danger Zone","compatibility":99,"releases":[{"id":"0100AA201236E000","region":null}]},{"id":"bda95244-e87c-494c-91ca-08d5c3d7e868","directory":"ord","title":"Ord.","compatibility":99,"releases":[{"id":"0100F9A012892000","region":null}]},{"id":"bdaec8f9-6eeb-40b7-99e2-38a7f8f9a0db","directory":"retromania-wrestling","title":"RetroMania Wrestling","compatibility":99,"releases":[{"id":"0100BB700EF82000","region":null}]},{"id":"bdb22b07-dc5c-4bc8-9393-cae9b235ea56","directory":"a-long-way-down","title":"A Long Way Down","compatibility":99,"releases":[{"id":"01006A90144E4000","region":null}]},{"id":"bdc24cea-abbf-46cc-b8dd-4a34cdd64a75","directory":"mercenaries-rebirth-call-of-the-wild-lynx","title":"Mercenaries Rebirth: Call of the Wild Lynx","compatibility":0,"releases":[{"id":"010031E01627E000","region":null}]},{"id":"bdc47bd3-f7f6-44d7-ae6c-bff64b00da60","directory":"tumblestone","title":"Tumblestone","compatibility":99,"releases":[{"id":"0100AFE00452E000","region":null}]},{"id":"bdc5b1bb-1431-41b4-bcf1-4f9bb4867c73","directory":"the-legend-of-evil","title":"The Legend of Evil","compatibility":99,"releases":[{"id":"01001F600B3EE000","region":null}]},{"id":"bdcad92f-ec8a-4a30-af73-e23561326eb3","directory":"space-aliens-invaders","title":"Space Aliens Invaders","compatibility":99,"releases":[{"id":"0100C6D013D9A000","region":null}]},{"id":"bdda475d-eee5-473e-b435-243267ca1738","directory":"pix-jungle-adventures","title":"Pix Jungle Adventures","compatibility":99,"releases":[{"id":"01001AB015446000","region":null}]},{"id":"bdeaba17-0e46-4c1f-8d30-8dd8f2c78b30","directory":"spelunker-party","title":"Spelunker Party!","compatibility":1,"releases":[{"id":"010021F004270000","region":null}]},{"id":"bdf0aa16-7763-44c7-8859-e7eb27577bfc","directory":"aloof","title":"Aloof","compatibility":99,"releases":[{"id":"01007BA0164D8000","region":null}]},{"id":"bdf68a35-8e60-42d5-a8de-da264499a61f","directory":"drowning","title":"Drowning","compatibility":1,"releases":[{"id":"010052000A574000","region":null}]},{"id":"bdf68b93-6600-40b8-a9fc-e5445c9366b0","directory":"sky-races","title":"Sky Races","compatibility":99,"releases":[{"id":"01005970169DE000","region":null}]},{"id":"bdf6e565-af36-4e05-899e-9f673b1be37c","directory":"dungeon-rushers","title":"Dungeon Rushers","compatibility":3,"releases":[{"id":"01002CB006AFA000","region":null}]},{"id":"bdfba0b6-545f-4cbd-9586-54b321822664","directory":"dat-gaem","title":"Dat Gaem","compatibility":99,"releases":[{"id":"0100883013C02000","region":null}]},{"id":"bdff17a3-cb4d-4d83-a953-09e2d147154d","directory":"phantom-doctrine","title":"Phantom Doctrine","compatibility":4,"releases":[{"id":"010096F00E5B0000","region":null}]},{"id":"be18f044-e833-41bd-9aa0-3731a1ce4ae2","directory":"arrog","title":"Arrog","compatibility":99,"releases":[{"id":"01007AB012102000","region":null}]},{"id":"be1ed3d2-00cd-4fdc-986b-0097c09636e2","directory":"trouserheart","title":"Trouserheart","compatibility":2,"releases":[{"id":"01001EF00BF3A000","region":null}]},{"id":"be24d957-c470-4a23-9c22-142688f5299e","directory":"brain-breaker","title":"Brain Breaker","compatibility":99,"releases":[{"id":"0100B83013242000","region":null}]},{"id":"be34f229-3c49-4d90-bab1-4d0c1e08962b","directory":"side-b","title":"Side B","compatibility":99,"releases":[{"id":"0100B04013F8C000","region":null}]},{"id":"be3a94ec-7b85-496e-9f27-d46474adee5c","directory":"gunpig-firepower-for-hire","title":"GUNPIG: Firepower For Hire","compatibility":99,"releases":[{"id":"0100E8701358A000","region":null}]},{"id":"be3f126d-dad3-465a-ac42-70041eb7874f","directory":"animal-hunter-z","title":"Animal Hunter Z","compatibility":99,"releases":[{"id":"010035500CA0E000","region":null}]},{"id":"be422054-b12c-4c03-8655-8e0286ad67ad","directory":"reigns-game-of-thrones","title":"Reigns: Game of Thrones","compatibility":99,"releases":[{"id":"010028B00CBD0000","region":null}]},{"id":"be446eea-ebb8-4283-8e1b-29d33ead19af","directory":"fight-crab","title":"Fight Crab","compatibility":4,"releases":[{"id":"01006980127F0000","region":null}]},{"id":"be4d8354-f7dd-4e4e-9809-4ce51bc98b4e","directory":"burly-men-at-sea","title":"Burly Men at Sea","compatibility":99,"releases":[{"id":"01002BD00983E000","region":null}]},{"id":"be522056-4ff6-4eaa-8d3b-347222157487","directory":"ultra-space-battle-brawl-demo","title":"Ultra Space Battle Brawl Demo","compatibility":99,"releases":[{"id":"010066F009524000","region":null}]},{"id":"be68e6e1-4b6f-417f-b36f-20ee075ea814","directory":"lost-ember","title":"Lost Ember","compatibility":99,"releases":[{"id":"0100E3400F242000","region":null}]},{"id":"be6ffb10-882a-4a43-a569-bd406209d37d","directory":"rain-world","title":"Rain World","compatibility":3,"releases":[{"id":"010047600BF72000","region":null}]},{"id":"be7c5440-9f65-4a6f-8289-4945dc2ff0c0","directory":"backworlds","title":"Backworlds","compatibility":99,"releases":[{"id":"0100FEA014316000","region":null}]},{"id":"be7d55da-9be1-436f-8b72-a01449b7d348","directory":"hidden","title":"Hidden","compatibility":99,"releases":[{"id":"01004E800F03C000","region":null}]},{"id":"be865ad2-b4be-4b8c-aedf-736e877fc7c8","directory":"lego-dc-super-villains","title":"LEGO DC Super-Villains","compatibility":3,"releases":[{"id":"010070D009FEC000","region":null}]},{"id":"be893133-bb66-4eb1-954d-a377bd56434e","directory":"carnage-battle-arena","title":"Carnage: Battle Arena","compatibility":1,"releases":[{"id":"0100D7E011272000","region":null}]},{"id":"be89fc9c-b60c-4b84-8b00-b54650e8b15a","directory":"deadly-premonition-2-a-blessing-in-disguise","title":"Deadly Premonition 2: A Blessing In Disguise","compatibility":1,"releases":[{"id":"0100BAC011928000","region":null}]},{"id":"be8cfe83-12ae-49ff-ae1d-48bd0f74eb1a","directory":"wrc-9-the-official-game","title":"WRC 9 The Official Game","compatibility":5,"releases":[{"id":"01001A0011798000","region":null}]},{"id":"be9b1ccf-a03a-4bbe-ba9a-cdeece050439","directory":"death-and-taxes","title":"Death and Taxes","compatibility":99,"releases":[{"id":"01000D60126B6000","region":null}]},{"id":"be9cb8ef-7e93-4849-84b7-87c2d3a073f8","directory":"sky-force-anniversary","title":"Sky Force Anniversary","compatibility":1,"releases":[{"id":"010083100B5CA000","region":null}]},{"id":"beb02fa4-e8a9-4d80-8bdf-2e6152e1de67","directory":"bodyquest","title":"BodyQuest","compatibility":99,"releases":[{"id":"0100DDF01348C000","region":null}]},{"id":"bec1e795-5843-44f8-a112-856e10c3809a","directory":"whip-whip","title":"WHIP! WHIP!","compatibility":99,"releases":[{"id":"0100B5600A88C000","region":null}]},{"id":"bec7e351-6122-4041-9663-b4e4a0449f39","directory":"omensight-definitive-edition","title":"Omensight: Definitive Edition","compatibility":99,"releases":[{"id":"0100CDC00C40A000","region":null}]},{"id":"bec9fc8b-bb3a-4ed2-93d4-8f098cc47d94","directory":"bloodroots","title":"Bloodroots","compatibility":2,"releases":[{"id":"010091400D238000","region":null}]},{"id":"becb66af-dcf6-4abd-86de-0638bb2e5af9","directory":"aokana-four-rhythms-across-the-blue","title":"Aokana - Four Rhythms Across the Blue","compatibility":1,"releases":[{"id":"0100990011866000","region":null}]},{"id":"bed17a56-819b-4e48-8c61-f171facda73d","directory":"european-conqueror-x","title":"European Conqueror X","compatibility":99,"releases":[{"id":"010041700D3D4000","region":null}]},{"id":"bedb25d8-61de-4bb1-a175-6e1050d97560","directory":"arcade-archives-earth-defense-force","title":"Arcade Archives EARTH DEFENSE FORCE","compatibility":0,"releases":[{"id":"01005960123CE000","region":null}]},{"id":"beebf475-e2bd-457a-8bf8-ae021144fc0d","directory":"rayman-legends-definitive-edition","title":"Rayman Legends Definitive Edition","compatibility":0,"releases":[{"id":"01005FF002E2A000","region":null}]},{"id":"bf029d5c-3bfd-4226-9196-6967a392c87b","directory":"undeads-building","title":"Undead's Building","compatibility":99,"releases":[{"id":"0100C1200D60C000","region":null}]},{"id":"bf0d1293-2373-4eb6-b7d6-1feadf77ebf6","directory":"street-power-soccer","title":"Street Power Soccer","compatibility":99,"releases":[{"id":"0100888011CB2000","region":null}]},{"id":"bf130fba-2697-436a-ab22-b25f6b96838b","directory":"grim-legends-2-song-of-the-dark-swan","title":"Grim Legends 2: Song of the Dark Swan","compatibility":99,"releases":[{"id":"010078E012D80000","region":null}]},{"id":"bf276fba-8270-4522-8ed7-f3e20bfc3030","directory":"johnny-turbos-arcade-heavy-barrel","title":"Johnny Turbo's Arcade: Heavy Barrel","compatibility":99,"releases":[{"id":"0100C6D002CB8000","region":null}]},{"id":"bf2d5509-7a1e-4181-9457-ed51c62c30f9","directory":"fantasy-tavern-sextet-vol-1-new-world-days","title":"Fantasy Tavern Sextet -Vol.1 New World Days-","compatibility":4,"releases":[{"id":"01000E2012F6E000","region":null}]},{"id":"bf315a0e-5035-437b-b80c-d0a74dd4fa1d","directory":"eternum-ex","title":"Eternum Ex","compatibility":99,"releases":[{"id":"0100CB900B498000","region":null}]},{"id":"bf379c4e-1bbe-4fd2-a367-715acd0bd925","directory":"racedierun","title":"#RaceDieRun","compatibility":99,"releases":[{"id":"01005D400E5C8000","region":null}]},{"id":"bf3f0e9c-22d6-4c8a-ab1a-10c0cdd8ebeb","directory":"ghostanoid","title":"Ghostanoid","compatibility":99,"releases":[{"id":"01008BC012850000","region":null}]},{"id":"bf440cd9-8bbc-4524-a72c-d63959977f10","directory":"fly-the-bird","title":"Fly The Bird","compatibility":0,"releases":[{"id":"0100217014ABA000","region":null}]},{"id":"bf4c85b0-583e-47ec-8090-97f932c36bd2","directory":"boot-hill-heroes","title":"Boot Hill Heroes","compatibility":1,"releases":[{"id":"0100FED0137FE000","region":null}]},{"id":"bf5e5258-d24b-4bc1-b7d2-d64b5fb9051c","directory":"kids-farm-puzzle","title":"Kids: Farm Puzzle","compatibility":99,"releases":[{"id":"0100E220152A6000","region":null}]},{"id":"bf5f80f7-f607-4abd-b525-bbcca3fd8d1f","directory":"spellworm","title":"Spellworm","compatibility":99,"releases":[{"id":"0100BFC00F18A000","region":null}]},{"id":"bf6bec15-e867-4c9d-8f18-0cacfb97aa89","directory":"revolver-and-co","title":"Revolver and Co","compatibility":99,"releases":[{"id":"0100C15014CE4000","region":null}]},{"id":"bf75a99d-1a79-4ef9-a524-a877aaf83419","directory":"aca-neogeo-the-king-of-fighters-96","title":"ACA NEOGEO THE KING OF FIGHTERS '96","compatibility":99,"releases":[{"id":"01006F0004FB4000","region":null}]},{"id":"bf7f586d-88d3-49c0-9c10-f835029095df","directory":"along-the-edge","title":"Along the Edge","compatibility":99,"releases":[{"id":"010083E010AE8000","region":null}]},{"id":"bf800bef-506f-4ca6-9cdb-99a6a7a3f84c","directory":"disc-jam","title":"Disc Jam","compatibility":5,"releases":[{"id":"0100510004D2C000","region":null}]},{"id":"bfa1e88e-159a-4774-b037-61f4c6ca1e54","directory":"arcade-archives-the-genji-and-the-heike-clans","title":"Arcade Archives The Genji and the Heike Clans","compatibility":99,"releases":[{"id":"01006F7015AC0000","region":null}]},{"id":"bfa3aceb-4639-4785-b132-d821a19731e6","directory":"fez","title":"FEZ","compatibility":2,"releases":[{"id":"01008D900B984000","region":null}]},{"id":"bfa9e099-eb2c-427b-b04b-8332ee99653d","directory":"arcade-archives-hacha-mecha-fighter","title":"Arcade Archives HACHA MECHA FIGHTER","compatibility":99,"releases":[{"id":"010068B014CC2000","region":null}]},{"id":"bfbc453a-85ae-4374-8ec5-bf54b92c209b","directory":"castlestorm","title":"CastleStorm","compatibility":1,"releases":[{"id":"010097C00AB66000","region":null}]},{"id":"bfc891a7-2f24-4884-a91c-096b6145e925","directory":"gurgamoth","title":"Gurgamoth","compatibility":99,"releases":[{"id":"01000D700EAA0000","region":null}]},{"id":"bfce2639-0082-4f8b-b117-7ab4de0fa00a","directory":"distraint-collection","title":"DISTRAINT Collection","compatibility":99,"releases":[{"id":"0100967013B48000","region":null}]},{"id":"bfcf51ec-0a93-4f6c-a6a3-505036b1fddc","directory":"monstrum","title":"Monstrum","compatibility":99,"releases":[{"id":"010039F00EF70000","region":null}]},{"id":"bfcfe27b-e0d7-4fbd-b330-a6e2d99f5aaf","directory":"galak-z-the-void-deluxe-edition","title":"GALAK-Z: The Void: Deluxe Edition","compatibility":1,"releases":[{"id":"010091D00BF9E000","region":null}]},{"id":"bfdd15bb-e0d4-4ec4-9a8c-3b58776d7b9d","directory":"membrane","title":"MEMBRANE","compatibility":1,"releases":[{"id":"0100EA6004516000","region":null}]},{"id":"bff16442-12e9-4ed1-9d06-4650b4f156a8","directory":"pocket-soccer","title":"Pocket Soccer","compatibility":99,"releases":[{"id":"0100542016718000","region":null}]},{"id":"c00175e5-d947-423e-a42a-1dfa517fbb15","directory":"aca-neogeo-top-hunter-roddy-and-cathy","title":"ACA NEOGEO TOP HUNTER RODDY & CATHY","compatibility":99,"releases":[{"id":"0100A0D004FB0000","region":null}]},{"id":"c0284a5f-9224-4342-8cca-9cff78acc3ba","directory":"ace-of-seafood","title":"Ace of Seafood","compatibility":2,"releases":[{"id":"0100FF1004D56000","region":null}]},{"id":"c02b621d-8f83-42b7-8113-dee905633757","directory":"skellboy","title":"Skellboy","compatibility":2,"releases":[{"id":"01008CA00CF34000","region":null}]},{"id":"c0303345-6aae-4c99-9fd3-051fe1d25ede","directory":"silver-screen-story","title":"Silver Screen Story","compatibility":99,"releases":[{"id":"010026F00E45E000","region":null}]},{"id":"c039f7ef-a21d-4d29-9213-6f133874ef2f","directory":"sea-salt","title":"Sea Salt","compatibility":99,"releases":[{"id":"010033300EC86000","region":null}]},{"id":"c05ad24f-1542-4a30-8bda-cdde4b6f6071","directory":"metagal","title":"METAGAL","compatibility":1,"releases":[{"id":"01009A500D4A8000","region":null}]},{"id":"c06df851-c6a6-4886-8d27-cdbbda560dd7","directory":"samurai-aces-for-nintendo-switch","title":"Samurai Aces for Nintendo Switch","compatibility":1,"releases":[{"id":"0100ADF0096F2000","region":null}]},{"id":"c08112f0-3bda-4ee5-b600-e83aab61c630","directory":"five-nights-at-freddys","title":"Five Nights at Freddy's","compatibility":3,"releases":[{"id":"0100B6200D8D2000","region":null}]},{"id":"c0869f63-1dcc-4c32-96e0-f76e9a2dc3b4","directory":"skyforge","title":"Skyforge","compatibility":99,"releases":[{"id":"01008C80122BE000","region":null}]},{"id":"c08ae4ff-ae96-453d-88b1-238c80995d77","directory":"true-fear-forsaken-souls-part-1","title":"True Fear: Forsaken Souls - Part 1","compatibility":3,"releases":[{"id":"0100E75004766000","region":null}]},{"id":"c08c8a63-97fc-4b81-b974-e3d202d11860","directory":"theatre-tales","title":"Theatre Tales","compatibility":99,"releases":[{"id":"010030D00D960000","region":null}]},{"id":"c09af7eb-e873-446a-bc55-d3c0b927ee21","directory":"block-puzzle","title":"Block Puzzle","compatibility":99,"releases":[{"id":"0100010016026000","region":null}]},{"id":"c09dd195-37f4-4e2d-86e0-98611be69b4c","directory":"the-game-is-on","title":"The Game is ON","compatibility":99,"releases":[{"id":"010077A013C6C000","region":null}]},{"id":"c09e8211-efdd-4a13-96ee-2440583bcb69","directory":"sky-ride","title":"Sky Ride","compatibility":99,"releases":[{"id":"0100DDB004F30000","region":null}]},{"id":"c0a18fb7-8f49-4976-8dbd-ed1b23544487","directory":"monster-hunter-stories-2-wings-of-ruin","title":"Monster Hunter Stories 2: Wings of Ruin","compatibility":1,"releases":[{"id":"0100E21011446000","region":null}]},{"id":"c0a87427-5ec1-4985-ae08-92fa5df2c478","directory":"gravity-heroes","title":"Gravity Heroes","compatibility":99,"releases":[{"id":"01000AF013090000","region":null}]},{"id":"c0ab9b3c-e988-4d57-89e0-f09e8ee0936e","directory":"robothorium","title":"Robothorium","compatibility":99,"releases":[{"id":"0100ACF00CD2E000","region":null}]},{"id":"c0b50739-5f4a-4755-a379-ae1d1d3ba4ab","directory":"filament","title":"Filament","compatibility":99,"releases":[{"id":"0100E4401139C000","region":null}]},{"id":"c0b8c173-9235-4a5d-9360-27c2f4998346","directory":"dark-fantasy-jigsaw-puzzle","title":"Dark Fantasy: Jigsaw Puzzle","compatibility":99,"releases":[{"id":"01005D301432E000","region":null}]},{"id":"c0c5f3e2-dddd-4f4d-96c5-5cbc68dd6f79","directory":"the-dresden-files-cooperative-card-game","title":"The Dresden Files Cooperative Card Game","compatibility":99,"releases":[{"id":"0100AAE0100C4000","region":null}]},{"id":"c0e22db2-a082-4fd0-9c19-e06ba3b30ae7","directory":"legends-of-amberland-the-forgotten-crown","title":"Legends of Amberland: The Forgotten Crown","compatibility":99,"releases":[{"id":"01007170100AA000","region":null}]},{"id":"c0e86db1-a77e-4525-b8d7-aeed553e4b68","directory":"merchant-of-the-skies","title":"Merchant of the Skies","compatibility":1,"releases":[{"id":"01001B201264E000","region":null}]},{"id":"c0f2f75d-3044-499f-a8d8-3cc2065f9d6b","directory":"invasion-of-alien-x-earth-in-crisis","title":"Invasion of Alien X - Earth in Crisis","compatibility":99,"releases":[{"id":"01008BD00F072000","region":null}]},{"id":"c1163f8a-e285-4436-8719-0067070e250b","directory":"nintendo-64-nintendo-switch-online","title":"Nintendo 64™ – Nintendo Switch Online","compatibility":5,"releases":[{"id":"0100C9A00ECE6000","region":null}]},{"id":"c12afdd6-d390-468e-adaa-d7ebdfda78e1","directory":"goatpunks","title":"GoatPunks","compatibility":99,"releases":[{"id":"01006C00081B4000","region":null}]},{"id":"c12c58c4-0ea2-4d13-9eb7-6cc7f7302cef","directory":"gabbuchi-demo","title":"Gabbuchi Demo","compatibility":99,"releases":[{"id":"010068000DE92000","region":null}]},{"id":"c12cac1a-9a60-496b-a492-17d0613bfa27","directory":"highrise-heroes-word-challenge","title":"Highrise Heroes: Word Challenge","compatibility":99,"releases":[{"id":"0100A750113FC000","region":null}]},{"id":"c139d308-a06e-4624-8640-e89360b9f995","directory":"skull-rogue","title":"Skull Rogue","compatibility":99,"releases":[{"id":"0100CF2011454000","region":null}]},{"id":"c13b80f4-16f5-4749-ae0e-be9f5996b0e0","directory":"switchy-road-delux","title":"Switchy Road DeluX","compatibility":99,"releases":[{"id":"0100DED012642000","region":null}]},{"id":"c141583a-cb94-4505-a471-d70aa02fd9bf","directory":"123-dots","title":"123 Dots","compatibility":99,"releases":[{"id":"0100A3D015232000","region":null}]},{"id":"c14887f7-f055-4eda-b714-8e6d4ceb5382","directory":"penguin-wars","title":"Penguin Wars","compatibility":99,"releases":[{"id":"0100B280067BE000","region":null}]},{"id":"c15ac8c4-c0eb-42ca-a916-b70584a4b71d","directory":"airborne-kingdom","title":"Airborne Kingdom","compatibility":99,"releases":[{"id":"010087E014832000","region":null}]},{"id":"c165f1b3-c3d8-4959-9ec3-12fe1e73ea17","directory":"steamworld-dig","title":"SteamWorld Dig","compatibility":1,"releases":[{"id":"01009320084A4000","region":null}]},{"id":"c1726596-8680-4a30-86f0-4514bbba3acc","directory":"the-jackbox-party-pack-3","title":"The Jackbox Party Pack 3","compatibility":99,"releases":[{"id":"0100CC80013D6000","region":null}]},{"id":"c17407fc-96b6-4f7c-96da-45e3e6e67450","directory":"hoplegs","title":"Hoplegs","compatibility":99,"releases":[{"id":"010055B01636A000","region":null}]},{"id":"c179c090-bb10-4f7d-ae89-2279e3977092","directory":"away-journey-to-the-unexpected","title":"Away: Journey To The Unexpected","compatibility":99,"releases":[{"id":"01002F1005F3C000","region":null}]},{"id":"c1922541-6002-4747-bfa4-76df9b108f7f","directory":"footgoal-tiki-taka","title":"FootGoal! Tiki Taka","compatibility":99,"releases":[{"id":"01005F2012740000","region":null}]},{"id":"c1a325a2-f7f0-401f-9d58-5cda953f6523","directory":"crunchtime","title":"CrunchTime","compatibility":99,"releases":[{"id":"010003100F1F4000","region":null}]},{"id":"c1a61298-056d-42af-be3b-fdeb2cbd8f70","directory":"metro-simulator","title":"Metro Simulator","compatibility":99,"releases":[{"id":"01009EC014CC8000","region":null}]},{"id":"c1c80c59-ae43-45ad-8393-1547c42c47e1","directory":"faircrofts-antiques-home-for-christmas-collectors-edition","title":"Faircroft's Antiques: Home for Christmas Collector's Edition","compatibility":99,"releases":[{"id":"01004C90146A0000","region":null}]},{"id":"c1c9c2a7-2190-4ef5-90b7-e9af78edef2d","directory":"smite","title":"SMITE","compatibility":5,"releases":[{"id":"01005A600C318000","region":null}]},{"id":"c1cc988d-db13-4fdc-b7ec-7f8174311d15","directory":"burgertime-party","title":"BurgerTime Party!","compatibility":0,"releases":[{"id":"01006BB00E8FA000","region":null}]},{"id":"c1d13f30-18b7-4d19-801f-ad69a07818ee","directory":"arcanoid-breakout","title":"Arcanoid Breakout","compatibility":99,"releases":[{"id":"0100E53013E1C000","region":null}]},{"id":"c1e6dd9e-f7d1-4042-be20-200350e65b86","directory":"rotund-takeoff","title":"Rotund Takeoff","compatibility":99,"releases":[{"id":"01009AF014774000","region":null}]},{"id":"c2063a9d-5ab7-42c1-9652-699952670b43","directory":"red-siren-space-defense","title":"Red Siren: Space Defense","compatibility":99,"releases":[{"id":"010045400D73E000","region":null}]},{"id":"c214d1c7-a716-4e50-9bf8-63bd40be2061","directory":"arcade-archives-the-astyanax","title":"Arcade Archives THE ASTYANAX","compatibility":5,"releases":[{"id":"0100A7B01450C000","region":null}]},{"id":"c220018e-a554-46ae-baeb-6d9a648a50f1","directory":"asdivine-cross","title":"Asdivine Cross","compatibility":99,"releases":[{"id":"010054F013AC6000","region":null}]},{"id":"c2223202-fe7a-4197-85fc-60908fdcc387","directory":"space-elite-force","title":"Space Elite Force","compatibility":99,"releases":[{"id":"0100707011722000","region":null}]},{"id":"c2368f90-ce07-470a-abcc-b05f8a4f5da2","directory":"the-last-show-of-mr-chardish","title":"The Last Show of Mr. Chardish","compatibility":99,"releases":[{"id":"010087E01445A000","region":null}]},{"id":"c24e1e0a-6dcb-411f-a6f6-52fe2d767d5e","directory":"world-to-the-west","title":"World to the West","compatibility":99,"releases":[{"id":"01000E30042F2000","region":null}]},{"id":"c25a8523-6719-46d4-bfec-ff27c90a8ff4","directory":"spartan-fist","title":"Spartan Fist","compatibility":99,"releases":[{"id":"010038400CD96000","region":null}]},{"id":"c2621418-bb8f-40ec-8496-3a576ef43134","directory":"sound-waves","title":"Sound waves","compatibility":99,"releases":[{"id":"0100FB401589A000","region":null}]},{"id":"c264dd1d-627a-4967-928f-8ad4a5d82330","directory":"gradiently","title":"Gradiently","compatibility":99,"releases":[{"id":"01001F3013F6C000","region":null}]},{"id":"c26f3551-4753-4659-a40d-7c58ff5f9996","directory":"league-of-the-shield","title":"League of the Shield","compatibility":99,"releases":[{"id":"010025E00FD40000","region":null}]},{"id":"c272db1d-0801-4d51-bf49-cd56fcb852bd","directory":"the-lord-of-the-rings-adventure-card-game","title":"The Lord of the Rings: Adventure Card Game","compatibility":99,"releases":[{"id":"010085A00C5E8000","region":null}]},{"id":"c27704e8-80fb-4c0c-9df6-d846bb5a18c5","directory":"mainlining","title":"Mainlining","compatibility":1,"releases":[{"id":"01001C100D80E000","region":null}]},{"id":"c2811c8a-09bd-414e-98e4-f5eeebedc5b2","directory":"1-crosswords","title":"#1 Crosswords","compatibility":99,"releases":[{"id":"010097E0141F0000","region":null}]},{"id":"c282f387-b68f-4447-803e-55b0a4bff44f","directory":"meganoid","title":"Meganoid","compatibility":99,"releases":[{"id":"010028101227A000","region":null}]},{"id":"c287ba5a-302b-4195-8172-9e6d00e99925","directory":"the-house-of-da-vinci-2","title":"The House of Da Vinci 2","compatibility":99,"releases":[{"id":"01005A80113D2000","region":null}]},{"id":"c29dd6a9-5918-453c-afab-fa9804fa7656","directory":"hexagon-defense","title":"Hexagon Defense","compatibility":99,"releases":[{"id":"0100F3C013AFC000","region":null}]},{"id":"c2b3d9ce-6ef6-46eb-a3cc-3e5ad0fdc901","directory":"torn-tales-rebound-edition","title":"Torn Tales: Rebound Edition","compatibility":99,"releases":[{"id":"0100BEB010F2A000","region":null}]},{"id":"c2b75519-ba7e-46d9-9346-bdeb605deea8","directory":"arcade-archives-shanghai-iii","title":"Arcade Archives Shanghai III","compatibility":99,"releases":[{"id":"01003A4001DD4000","region":null}]},{"id":"c2b7a43d-9e36-4f8a-8f77-2fda7deb88fb","directory":"vera-blanc-full-moon","title":"Vera Blanc: Full Moon","compatibility":99,"releases":[{"id":"0100C850134A0000","region":null}]},{"id":"c2bafb7c-6ff2-4dcd-bad3-79037eb67f6d","directory":"super-mutant-alien-assault","title":"Super Mutant Alien Assault","compatibility":99,"releases":[{"id":"01006D000D2A0000","region":null}]},{"id":"c2bc0a50-ccaa-4d46-8a54-8fdef7583b69","directory":"marsupilami-hoobadventure","title":"MARSUPILAMI - HOOBADVENTURE","compatibility":1,"releases":[{"id":"010074F014628000","region":null}]},{"id":"c2bc0ed6-17f3-427d-9b63-62af415b9bc3","directory":"gleamlight","title":"Gleamlight","compatibility":0,"releases":[{"id":"0100ED2010292000","region":null}]},{"id":"c2c61e98-ee22-471a-a60e-6a2a6f2398bb","directory":"bounty-battle","title":"Bounty Battle","compatibility":99,"releases":[{"id":"0100E1200DC1A000","region":null}]},{"id":"c2d471d0-6551-465b-bcce-1e1bc14a7560","directory":"super-bit-blaster-xl","title":"Super Bit Blaster XL","compatibility":99,"releases":[{"id":"010048800E7A2000","region":null}]},{"id":"c2d5b18e-ec1d-41d1-9434-58d6bab24064","directory":"space-lift-danger-panic","title":"Space Lift Danger Panic!","compatibility":99,"releases":[{"id":"01000EB00BE02000","region":null}]},{"id":"c2e2676b-be7a-44dd-839f-401d9ff3d70d","directory":"bibi-and-tina-at-the-horse-farm","title":"Bibi & Tina at the horse farm","compatibility":99,"releases":[{"id":"010062400E69C000","region":null}]},{"id":"c2f9fe5d-0510-48da-a09c-78ac7e339d25","directory":"a-frog-game","title":"A Frog Game","compatibility":99,"releases":[{"id":"01006CE0134E6000","region":null}]},{"id":"c30d1e8a-3069-4bd0-9d9c-01efdb1b77a6","directory":"princess-loot-pixel-again","title":"Princess.Loot.Pixel.Again","compatibility":99,"releases":[{"id":"0100174015E56000","region":null}]},{"id":"c3152d38-ea8b-4d7e-a44e-9fe0e302830b","directory":"spitlings","title":"Spitlings","compatibility":99,"releases":[{"id":"010042700E3FC000","region":null}]},{"id":"c3252cdb-40ac-40b6-9b5f-394431741ed3","directory":"the-shrouded-isle","title":"The Shrouded Isle","compatibility":0,"releases":[{"id":"01007EB00D208000","region":null}]},{"id":"c3364000-53f8-4913-bb41-406c264bbfb0","directory":"cthulhu-saves-christmas","title":"Cthulhu Saves Christmas","compatibility":99,"releases":[{"id":"01006FA012FE0000","region":null}]},{"id":"c3396483-563a-41f4-9602-ff15585f7b9c","directory":"orangeblood","title":"Orangeblood","compatibility":99,"releases":[{"id":"0100993012968000","region":null}]},{"id":"c347fd3b-f67c-47c7-a9b5-eb2b33388351","directory":"greak-memories-of-azur","title":"Greak: Memories of Azur","compatibility":2,"releases":[{"id":"010045E012ECE000","region":null}]},{"id":"c34ee6b5-4717-4e2b-a792-14729e58c283","directory":"drive","title":"#DRIVE","compatibility":1,"releases":[{"id":"01000F20122FA000","region":null}]},{"id":"c35bbe0e-aeef-496e-a310-a8c309359646","directory":"yono-and-the-celestial-elephants","title":"Yono and the Celestial Elephants","compatibility":0,"releases":[{"id":"0100BE50042F6000","region":null}]},{"id":"c3678009-3b14-4ba6-9192-a10266aacdd2","directory":"mousecraft","title":"MouseCraft","compatibility":0,"releases":[{"id":"01004E500DB3C000","region":null}]},{"id":"c36c19f4-e6ad-44f4-8ce7-4c95bf5023bf","directory":"ooops-2","title":"Ooops! 2","compatibility":99,"releases":[{"id":"0100ED7014430000","region":null}]},{"id":"c36fa79b-fd3a-40ef-9392-59d753e01d9e","directory":"cardaclysm-shards-of-the-four","title":"Cardaclysm: Shards of the Four","compatibility":1,"releases":[{"id":"01001FC0152F6000","region":null}]},{"id":"c3801588-34cb-4bd1-9b95-02b08a0da6b2","directory":"mega-man-zerozx-legacy-collection","title":"Mega Man Zero/ZX Legacy Collection","compatibility":2,"releases":[{"id":"010025C00D410000","region":null}]},{"id":"c3826880-f006-458b-97d7-940ee6e0f563","directory":"physical-contact-speed","title":"Physical Contact: SPEED","compatibility":99,"releases":[{"id":"01008110036FE000","region":null}]},{"id":"c382deaf-24cb-4198-9430-f78e1690ee1f","directory":"venture-towns","title":"Venture Towns","compatibility":99,"releases":[{"id":"0100F1500CC64000","region":null}]},{"id":"c3850780-8ea6-4c81-908c-6667e1d4936a","directory":"aca-neogeo-zupapa","title":"ACA NEOGEO ZUPAPA!","compatibility":4,"releases":[{"id":"01002E700AFC4000","region":null}]},{"id":"c389b8ef-5f34-400d-a02b-e609297e3f76","directory":"clan-n","title":"Clan N","compatibility":4,"releases":[{"id":"010065000D25C000","region":null}]},{"id":"c38c93c5-f0a7-42e7-857a-c5a646d908bc","directory":"solar-flux","title":"Solar Flux","compatibility":99,"releases":[{"id":"0100153003AF2000","region":null}]},{"id":"c38f1774-3e17-42d8-a14e-3205da796d15","directory":"talking-tom-candy-run","title":"Talking Tom Candy Run","compatibility":2,"releases":[{"id":"01009720105B2000","region":null}]},{"id":"c3a525b6-f7ec-4a26-bac2-3e0197d6b1fc","directory":"animus-revenant","title":"ANIMUS: Revenant","compatibility":1,"releases":[{"id":"01009C60152B6000","region":null}]},{"id":"c3b1ea67-367c-4c42-b3fa-60b89d19393c","directory":"disgaea-4-complete","title":"Disgaea 4 Complete+","compatibility":1,"releases":[{"id":"0100A9800E9B4000","region":null}]},{"id":"c3b710d8-99c3-4e66-9c9e-084ae22d4fad","directory":"giana-sisters-twisted-dreams-owltimate-edition","title":"Giana Sisters: Twisted Dreams - Owltimate Edition","compatibility":4,"releases":[{"id":"01003830092B8000","region":null}]},{"id":"c3cc2715-dd15-42b6-94c1-a013327f6031","directory":"before-i-forget","title":"Before I Forget","compatibility":99,"releases":[{"id":"0100460012A10000","region":null}]},{"id":"c3d843e3-b286-495b-a0f1-b5c84cb76d2f","directory":"rival-megagun","title":"Rival Megagun","compatibility":99,"releases":[{"id":"0100A7D008392000","region":null}]},{"id":"c3d9961d-57e6-418d-bd65-c632910a8042","directory":"super-ping-pong-trick-shot","title":"Super Ping Pong Trick Shot","compatibility":99,"releases":[{"id":"01008EC005F88000","region":null}]},{"id":"c3dcdab8-53ec-4610-ad8c-49cbd6177ed8","directory":"curve-racer","title":"Curve Racer","compatibility":99,"releases":[{"id":"0100F54013E14000","region":null}]},{"id":"c3e2c019-baa6-4de3-bdb2-4fe2f52fc308","directory":"puzzle-adventure-blockle","title":"Puzzle Adventure Blockle","compatibility":99,"releases":[{"id":"0100F93004288000","region":null}]},{"id":"c3e3f18e-20f0-48df-8bc0-3c59a437b85f","directory":"b-ark","title":"B.ARK","compatibility":0,"releases":[{"id":"01009B901145C000","region":null}]},{"id":"c4023679-b969-4de0-9a74-760894285f10","directory":"ultragoodness-2","title":"UltraGoodness 2","compatibility":99,"releases":[{"id":"0100618013D62000","region":null}]},{"id":"c402759a-505f-4e69-a9bf-7064e306600d","directory":"dragons-dogma-dark-arisen","title":"Dragon's Dogma: Dark Arisen","compatibility":2,"releases":[{"id":"010032C00AC58000","region":null}]},{"id":"c40412e8-ae24-4eb7-97f5-a521fd5fd236","directory":"the-legend-of-heroes-trails-of-cold-steel-iv","title":"The Legend of Heroes: Trails of Cold Steel IV","compatibility":99,"releases":[{"id":"0100D3C010DE8000","region":null}]},{"id":"c40bb747-3023-4c87-9b99-e662ce05bbce","directory":"ever-forward","title":"Ever Forward","compatibility":99,"releases":[{"id":"0100CED01553A000","region":null}]},{"id":"c4133f2c-307b-4610-a36f-0c6d4ebe0732","directory":"happy-birthdays-demo","title":"Happy Birthdays Demo","compatibility":99,"releases":[{"id":"010069700AF9C000","region":null}]},{"id":"c427a2b0-0209-42e9-baa9-c651054e8a2b","directory":"cube-life-island-survival","title":"Cube Life: Island Survival","compatibility":99,"releases":[{"id":"0100519007636000","region":null}]},{"id":"c4291da6-e899-4d9f-a1fc-1ae6fc46130a","directory":"naruto-shippuden-ultimate-ninja-storm-2","title":"NARUTO SHIPPUDEN: Ultimate Ninja STORM 2","compatibility":99,"releases":[{"id":"0100922008008000","region":null}]},{"id":"c4305ae9-26c9-4cc6-b39e-e121c638f98e","directory":"dungeons-of-clay","title":"Dungeons of Clay","compatibility":1,"releases":[{"id":"0100BBB014E92000","region":null}]},{"id":"c43364a9-4ec6-4ff5-bf38-a74d25f63952","directory":"robotech-the-macross-saga-hd-edition","title":"Robotech: The Macross Saga HD Edition","compatibility":0,"releases":[{"id":"010060B0129CC000","region":null}]},{"id":"c4411a91-e256-40df-a155-1a22e0efce50","directory":"haunted-dungeonshyakki-castle","title":"Haunted Dungeons:Hyakki Castle","compatibility":99,"releases":[{"id":"010023F008204000","region":null}]},{"id":"c4456376-55e8-4ee6-8758-527c24370765","directory":"over-the-alps","title":"Over the Alps","compatibility":3,"releases":[{"id":"010036B0113DA000","region":null}]},{"id":"c44a489f-79bb-49dc-b70a-1ec5db6e612a","directory":"yum-yum-line","title":"Yum Yum Line","compatibility":99,"releases":[{"id":"0100A2F012DF0000","region":null}]},{"id":"c453103e-03ba-4d0f-ad3a-66fafc60676b","directory":"tin-kuna","title":"Tin & Kuna","compatibility":99,"releases":[{"id":"0100F7C010AF6000","region":null}]},{"id":"c45e9884-947d-4c4c-8212-653109dc1e42","directory":"samurai-jack-battle-through-time","title":"Samurai Jack: Battle Through Time","compatibility":2,"releases":[{"id":"01006C600E46E000","region":null}]},{"id":"c465feea-6b2f-4d11-9ddc-ac5f9197b3e2","directory":"dream","title":"Dream","compatibility":99,"releases":[{"id":"01008B20129F2000","region":null}]},{"id":"c46efd86-44de-4b38-a799-ac4eab7ce768","directory":"minefield","title":"Minefield","compatibility":99,"releases":[{"id":"01009C300DBAE000","region":null}]},{"id":"c470d2cf-8925-4f62-a3d8-be379fa27149","directory":"from-orbit","title":"From Orbit","compatibility":99,"releases":[{"id":"0100AE600DBE4000","region":null}]},{"id":"c4752998-ed9e-4a76-b23c-5f266f8bd0ab","directory":"grow-song-of-the-evertree","title":"Grow: Song of The Evertree","compatibility":2,"releases":[{"id":"0100409012F96000","region":null}]},{"id":"c4790696-6960-48ba-b3a9-2afb4fe10c2d","directory":"sam-max-save-the-world","title":"Sam & Max Save the World","compatibility":2,"releases":[{"id":"0100CD301354E000","region":null}]},{"id":"c47f3a10-d5ce-447c-a962-0ece8c570c50","directory":"sky-jaguar-2","title":"Sky Jaguar 2","compatibility":99,"releases":[{"id":"0100E0C010AB8000","region":null}]},{"id":"c4952f9f-21b4-4ee7-8e6b-fe281200c845","directory":"steamworld-heist-ultimate-edition","title":"SteamWorld Heist: Ultimate Edition","compatibility":3,"releases":[{"id":"0100A21007FFA000","region":null}]},{"id":"c4971599-2b71-43be-b442-417f16ba1e12","directory":"arcade-archives-halleys-comet","title":"Arcade Archives HALLEY'S COMET","compatibility":99,"releases":[{"id":"01006F9013B04000","region":null}]},{"id":"c4af1761-221f-42ff-b44a-8bea86898d66","directory":"bouncy-bob","title":"Bouncy Bob","compatibility":0,"releases":[{"id":"0100A2700A86E000","region":null}]},{"id":"c4b56fdf-8a54-427a-94f4-5b2b10d978c7","directory":"conga-master-party","title":"Conga Master Party!","compatibility":1,"releases":[{"id":"01007EF00399C000","region":null}]},{"id":"c4c82a56-178b-4d0c-aed2-7b9a8b218fa0","directory":"super-mombo-quest","title":"Super Mombo Quest","compatibility":99,"releases":[{"id":"0100DCC01376E000","region":null}]},{"id":"c4e8e471-9520-40e8-a0a0-25ba5fc103f8","directory":"panzer-paladin","title":"Panzer Paladin","compatibility":0,"releases":[{"id":"01004AE0108E0000","region":null}]},{"id":"c4f0b495-2d6f-4019-bb72-a70d77c66d55","directory":"flatland-prologue","title":"Flatland: Prologue","compatibility":99,"releases":[{"id":"0100B54012798000","region":null}]},{"id":"c5023d0c-fbc6-4969-837d-7e480ebf930a","directory":"one-piece-pirate-warriors-4","title":"ONE PIECE: PIRATE WARRIORS 4","compatibility":1,"releases":[{"id":"01008FE00E2F6000","region":null}]},{"id":"c502f999-e412-4572-81f2-7c0f47096359","directory":"death-race-2020","title":"Death Race 2020","compatibility":99,"releases":[{"id":"0100DD6013126000","region":null}]},{"id":"c5039b64-f5bf-4ae7-b551-3a6909e19997","directory":"deadbolt","title":"DEADBOLT","compatibility":0,"releases":[{"id":"01002ED00ACC0000","region":null}]},{"id":"c50529fe-7aef-4dfd-a0d2-0ae4d17e3ee0","directory":"escape-route","title":"Escape Route","compatibility":99,"releases":[{"id":"01009210144D4000","region":null}]},{"id":"c50b88f0-ff29-4937-84b1-eb4c2220f6d6","directory":"road-to-ballhalla","title":"Road to Ballhalla","compatibility":99,"releases":[{"id":"010002F009A7A000","region":null}]},{"id":"c50d9f1d-b075-4939-8866-0ee0279d6835","directory":"arcade-archives-armed-f","title":"Arcade Archives Armed F","compatibility":4,"releases":[{"id":"010014F001DE2000","region":null}]},{"id":"c50fa8d0-d653-48fb-b6c6-6deceb0f6f08","directory":"queens-quest-3-the-end-of-dawn","title":"Queen's Quest 3: The End of Dawn","compatibility":99,"releases":[{"id":"0100D4400D994000","region":null}]},{"id":"c51bca60-2437-4b21-aae8-4d7bdae36d85","directory":"half-dead","title":"HALF DEAD","compatibility":99,"releases":[{"id":"0100552011612000","region":null}]},{"id":"c522f52d-5498-446a-937b-90f3e64354cf","directory":"black-jack-world-tour","title":"Black Jack World Tour","compatibility":99,"releases":[{"id":"0100CDA013BFA000","region":null}]},{"id":"c5265389-4fe1-411b-9663-f6faa9199a7b","directory":"lost-dream","title":"Lost Dream","compatibility":99,"releases":[{"id":"01007A00162B8000","region":null}]},{"id":"c5277259-c305-45ce-868b-8b689945e062","directory":"uchu-shinshuchu","title":"Uchu Shinshuchu","compatibility":0,"releases":[{"id":"01007B1014570000","region":null}]},{"id":"c53a45b7-0c68-4de1-aa08-61822a61ae72","directory":"armed-to-the-gears","title":"Armed to the Gears","compatibility":99,"releases":[{"id":"0100BF1016A66000","region":null}]},{"id":"c53c81d9-d56f-4d53-ae8a-a92efd2752b4","directory":"keywe","title":"KeyWe","compatibility":1,"releases":[{"id":"0100E2B012056000","region":null}]},{"id":"c53f1c68-f8ee-42f0-be0a-e887379d43f1","directory":"g-mode-archives25-topolon","title":"G-MODE Archives25 Topolon","compatibility":99,"releases":[{"id":"0100038013A98000","region":null}]},{"id":"c54743be-644e-454c-be63-53bb934ef347","directory":"sally-face","title":"Sally Face","compatibility":1,"releases":[{"id":"0100BBF0122B4000","region":null}]},{"id":"c5597c17-3bb6-43aa-9606-7c7d9b1bb3a3","directory":"ohedo-towns","title":"Oh!Edo Towns","compatibility":99,"releases":[{"id":"01009A700DA8E000","region":null}]},{"id":"c559fe44-3396-48fc-910d-d543700b7185","directory":"pillar-demo","title":"Pillar Demo","compatibility":99,"releases":[{"id":"0100F5400D534000","region":null}]},{"id":"c561d0b7-c8c5-4208-acca-840c803473c2","directory":"half-past-fate-romantic-distancing","title":"Half Past Fate: Romantic Distancing","compatibility":1,"releases":[{"id":"0100095013EBA000","region":null}]},{"id":"c580d5a7-3d75-41e6-be41-f6e73ae26735","directory":"paradox-error","title":"Paradox Error","compatibility":99,"releases":[{"id":"010003A014D3A000","region":null}]},{"id":"c583921f-bbb6-4782-9f50-50d403bd694f","directory":"outbuddies-dx","title":"Outbuddies DX","compatibility":3,"releases":[{"id":"0100B8900EFA6000","region":null}]},{"id":"c58ad2f5-58f0-4568-9d27-8b8402b88949","directory":"time-carnage","title":"Time Carnage","compatibility":99,"releases":[{"id":"01004C500B698000","region":null}]},{"id":"c596bc23-68ed-4ee6-a985-026d1f082847","directory":"sagebrush","title":"Sagebrush","compatibility":99,"releases":[{"id":"010012100E208000","region":null}]},{"id":"c5a35c54-8e59-4f95-ae34-5a3e28afb163","directory":"opus-rocket-of-whispers","title":"OPUS: Rocket of Whispers","compatibility":99,"releases":[{"id":"01002C4009990000","region":null}]},{"id":"c5a90b54-c014-407c-b062-416818ff8b08","directory":"hero-hours-contract","title":"Hero Hours Contract","compatibility":99,"releases":[{"id":"0100EEE012280000","region":null}]},{"id":"c5af09f2-954c-4d4f-8929-b20649a3806b","directory":"colossus-down","title":"Colossus Down","compatibility":0,"releases":[{"id":"0100E2F0128B4000","region":null}]},{"id":"c5bab20d-5fc9-4021-910c-035713aca436","directory":"ms-splosion-man","title":"Ms. Splosion Man","compatibility":1,"releases":[{"id":"01005EF00B4BC000","region":null}]},{"id":"c5bd6cab-24b6-469f-bfdd-61d7c5988376","directory":"colossus-mission","title":"Colossus Mission","compatibility":99,"releases":[{"id":"010047A014B40000","region":null}]},{"id":"c5cc8f04-91fb-449b-a5d7-3c980da652d2","directory":"molecats","title":"Molecats","compatibility":99,"releases":[{"id":"0100E1100D92C000","region":null}]},{"id":"c5cc9870-0c01-4f1e-ac26-647465624e8e","directory":"hero-must-die-again","title":"Hero must die. again","compatibility":0,"releases":[{"id":"010049500F996000","region":null}]},{"id":"c5debb59-12e1-4307-aca2-46702ca0bb3f","directory":"pixel-game-maker-series-osyaberi-horijyo-holin-slash","title":"Pixel Game Maker Series Osyaberi! Horijyo! Holin Slash","compatibility":99,"releases":[{"id":"010061D0144D0000","region":null}]},{"id":"c5e150df-cc0a-4c74-a4a9-35660878087d","directory":"arcade-fuzz","title":"ARCADE FUZZ","compatibility":99,"releases":[{"id":"01005A8010C7E000","region":null}]},{"id":"c5e822e5-5d3a-4ec6-9a9d-0e3232feb159","directory":"gem-crash","title":"GEM CRASH","compatibility":99,"releases":[{"id":"010011000972A000","region":null}]},{"id":"c5e897c4-02e1-40b0-af27-60aa4267fc81","directory":"jdm-racing-2","title":"JDM Racing - 2","compatibility":0,"releases":[{"id":"01004C60139DE000","region":null}]},{"id":"c5ebebab-70b3-4fe8-bcbe-45d455ef1b9e","directory":"basketball-club-story","title":"Basketball Club Story","compatibility":99,"releases":[{"id":"010061B0114C4000","region":null}]},{"id":"c5eceaff-c78c-4fa1-acfd-2317a2770638","directory":"dog-duty","title":"Dog Duty","compatibility":99,"releases":[{"id":"01005D00107E8000","region":null}]},{"id":"c5f85324-98f8-4296-b4f9-3fb48763f150","directory":"idle-champions-of-the-forgotten-realms","title":"Idle Champions of the Forgotten Realms","compatibility":99,"releases":[{"id":"01001E700EB28000","region":null}]},{"id":"c6056fab-1f50-47dc-b82d-e5693251dc36","directory":"izneo","title":"izneo","compatibility":99,"releases":[{"id":"0100D8E00C874000","region":null}]},{"id":"c60e3e1b-4ce1-49b6-8317-5f0cd9c3479a","directory":"blaster-master-zero-demo","title":"Blaster Master Zero Demo","compatibility":99,"releases":[{"id":"010025B002E92000","region":null}]},{"id":"c60f03dc-95ae-4bff-b5a5-47d40a0bf223","directory":"alone-with-you","title":"Alone With You","compatibility":99,"releases":[{"id":"0100F0F01161A000","region":null}]},{"id":"c60fde57-6e37-4c66-8da8-e5c7104a6273","directory":"mx-nitro-unleashed","title":"MX Nitro: Unleashed","compatibility":99,"releases":[{"id":"0100161009E5C000","region":null}]},{"id":"c6213daa-3be8-4569-8fc0-636aaba3d10c","directory":"sword-art-online-hollow-realization-deluxe-edition","title":"SWORD ART ONLINE: Hollow Realization Deluxe Edition","compatibility":0,"releases":[{"id":"0100EC400D54E000","region":null}]},{"id":"c621a0e0-b234-40d2-b163-4394ddc3cd38","directory":"sweet-sugar-candy","title":"Sweet Sugar Candy","compatibility":99,"releases":[{"id":"010093F0155B0000","region":null}]},{"id":"c62a6831-c9f3-493f-b731-660b0dbc8725","directory":"capes-escape-game-2-5th-room","title":"Cape's Escape Game 2.5th Room","compatibility":99,"releases":[{"id":"01006320151D6000","region":null}]},{"id":"c62bee64-4378-4aeb-917c-cc950297e092","directory":"bug-fables-the-everlasting-sapling","title":"Bug Fables: The Everlasting Sapling","compatibility":1,"releases":[{"id":"010051A00E99E000","region":null}]},{"id":"c64cfd0b-e5a5-4adf-8f31-edf41b4c6767","directory":"struggling","title":"Struggling","compatibility":99,"releases":[{"id":"0100681011B56000","region":null}]},{"id":"c6554ce4-fcc4-4976-8125-e7521b65253e","directory":"riverbond","title":"Riverbond","compatibility":99,"releases":[{"id":"010087200289A000","region":null}]},{"id":"c656a41d-1b8f-4d19-8de4-858d7af2e70b","directory":"space-invaders-forever","title":"Space Invaders Forever","compatibility":0,"releases":[{"id":"0100F0C012C10000","region":null}]},{"id":"c65bbb0c-e378-4902-a7fd-ede1e179e257","directory":"super-star-panda","title":"Super Star Panda","compatibility":99,"releases":[{"id":"01005EB01363C000","region":null}]},{"id":"c6694e0b-5ee2-48ca-94c1-762b004051bc","directory":"piffle-a-cat-puzzle-adventure","title":"Piffle: A Cat Puzzle Adventure","compatibility":99,"releases":[{"id":"010092B010448000","region":null}]},{"id":"c672ea3a-7571-489e-b571-34e67250cd62","directory":"vigor","title":"Vigor","compatibility":99,"releases":[{"id":"0100E8200DAF4000","region":null}]},{"id":"c67c7673-d0cd-4422-b7e9-868e04dc2001","directory":"atelier-lydie-suelle-the-alchemists-and-the-mysterious-paintings-dx","title":"Atelier Lydie & Suelle: The Alchemists and the Mysterious Paintings DX","compatibility":3,"releases":[{"id":"01001A5014220000","region":null}]},{"id":"c67d00b0-1004-4c5e-a400-8fc4c940f1df","directory":"terror-squid","title":"TERROR SQUID","compatibility":99,"releases":[{"id":"010070C00FB56000","region":null}]},{"id":"c67da557-41b9-4b68-8a72-a4726da464f4","directory":"xenoblade-chronicles-2","title":"Xenoblade Chronicles 2","compatibility":2,"releases":[{"id":"0100E95004038000","region":null}]},{"id":"c6936c20-81e1-4129-a590-569b523dda03","directory":"arcade-archives-bio-ship-paladin","title":"Arcade Archives BIO-SHIP PALADIN","compatibility":99,"releases":[{"id":"010011D01505A000","region":null}]},{"id":"c6975b28-ef98-489c-9143-3a173730913f","directory":"80s-overdrive","title":"80's OVERDRIVE","compatibility":1,"releases":[{"id":"01006B1011B9E000","region":null}]},{"id":"c69c969c-6aed-4d46-a4a1-a7d2a5037e28","directory":"batman-the-telltale-series","title":"Batman - The Telltale Series","compatibility":1,"releases":[{"id":"0100011005D92000","region":null}]},{"id":"c6b3392a-ba8b-4f43-92f3-980be6b3649c","directory":"awkward","title":"Awkward","compatibility":99,"releases":[{"id":"010073900A7A0000","region":null}]},{"id":"c6b3c4bd-341e-464e-8613-152b793c221f","directory":"roundout-by-powgi","title":"Roundout by POWGI","compatibility":99,"releases":[{"id":"01000A001399A000","region":null}]},{"id":"c6bb32ac-2f51-492e-97d3-6a4d7cc62d72","directory":"clocker","title":"Clocker","compatibility":0,"releases":[{"id":"0100DF9013AD4000","region":null}]},{"id":"c6c23234-cb23-4951-be87-ea43e4c4d88e","directory":"smart-moves","title":"Smart Moves","compatibility":99,"releases":[{"id":"0100DA9013AB4000","region":null}]},{"id":"c6c5196d-2d33-4cfd-a302-f2a75f53bbb1","directory":"poly-bridge","title":"Poly Bridge","compatibility":1,"releases":[{"id":"0100EAB00605C000","region":null}]},{"id":"c6c53ece-e0a0-4bd1-80a7-1504997e7844","directory":"day-and-night","title":"Day and Night","compatibility":99,"releases":[{"id":"0100FCF00F6CC000","region":null}]},{"id":"c6ce761e-93e7-410c-8b84-e7a2c9716ba4","directory":"help-me-doctor","title":"Help Me Doctor","compatibility":99,"releases":[{"id":"01005080105C8000","region":null}]},{"id":"c6d370d1-fa68-4dfc-8d59-1e04643c0f1c","directory":"aca-neogeo-thrash-rally","title":"ACA NEOGEO THRASH RALLY","compatibility":3,"releases":[{"id":"010061900AFAC000","region":null}]},{"id":"c6d7e672-d0c4-491d-9b83-369409e8a026","directory":"dark-tower-rpg-dungeon-puzzle","title":"Dark Tower: RPG Dungeon Puzzle","compatibility":99,"releases":[{"id":"01001A5010CC6000","region":null}]},{"id":"c6e6e2ce-7526-4e9f-bc0d-0add47f575f3","directory":"7-years-from-now","title":"7 Years From Now","compatibility":99,"releases":[{"id":"0100E75014A64000","region":null}]},{"id":"c6f6cdec-9c8b-4988-80fa-2efb5b5492f4","directory":"go-all-out","title":"Go All Out!","compatibility":99,"releases":[{"id":"01000C800FADC000","region":null}]},{"id":"c6f81396-960a-449d-8707-ae70705b6aca","directory":"36-fragments-of-midnight","title":"36 Fragments of Midnight","compatibility":1,"releases":[{"id":"01003670066DE000","region":null}]},{"id":"c6fed24d-0b4e-4d5a-8af1-295107438f0b","directory":"super-dragonfly-chronicles","title":"Super Dragonfly Chronicles","compatibility":99,"releases":[{"id":"0100967012972000","region":null}]},{"id":"c7168215-db59-4b56-9e4d-7199c6763952","directory":"overboard","title":"Overboard!","compatibility":99,"releases":[{"id":"01000CA014CA0000","region":null}]},{"id":"c729b6fc-b9a8-4eb6-97e5-dfa7465c1fe9","directory":"outbreak-lost-hope","title":"Outbreak Lost Hope","compatibility":99,"releases":[{"id":"0100D9F013102000","region":null}]},{"id":"c72e41d9-0255-454f-b3a7-8ebc2cc816f7","directory":"coloring-book","title":"Coloring Book","compatibility":3,"releases":[{"id":"0100A7000BD28000","region":null}]},{"id":"c73107cb-1ecd-47e5-a035-ac06076c424e","directory":"tonight-we-riot","title":"Tonight We Riot","compatibility":99,"releases":[{"id":"0100D400100F8000","region":null}]},{"id":"c7530f7b-7243-4a7d-b5f1-f25df7b34ee6","directory":"r-type-r-final-2","title":"R-Type® Final 2","compatibility":3,"releases":[{"id":"0100F930136B6000","region":null}]},{"id":"c7572b6f-6bcd-40dd-a6c3-6c76f3205eed","directory":"nirvana-pilot-yume","title":"Nirvana Pilot Yume","compatibility":2,"releases":[{"id":"010020901088A000","region":null}]},{"id":"c785a106-ecbe-4b09-8fca-cf71c820f7d7","directory":"broken-lines","title":"Broken Lines","compatibility":1,"releases":[{"id":"0100A5800F6AC000","region":null},{"id":"0100BD8011BCC000","region":null}]},{"id":"c7880c0b-eea1-4168-9462-8b4a8364e8c3","directory":"trash-quest","title":"Trash Quest","compatibility":99,"releases":[{"id":"0100F19016702000","region":null}]},{"id":"c78b731a-1ed2-45f7-956e-2a4332520511","directory":"darkwood","title":"Darkwood","compatibility":1,"releases":[{"id":"010033500B7B6000","region":null}]},{"id":"c78e982c-d988-4544-8675-88750029221b","directory":"ubongo","title":"Ubongo","compatibility":0,"releases":[{"id":"0100992010BF8000","region":null}]},{"id":"c79189cb-b90f-4a7d-b458-ce8311ff6657","directory":"everybody-hearts","title":"Everybody, Hearts!","compatibility":99,"releases":[{"id":"0100A6900B77A000","region":null}]},{"id":"c79858c0-d88c-4ca1-b50d-e4522bd7ee37","directory":"cubers-arena","title":"Cubers: Arena","compatibility":99,"releases":[{"id":"010082E00F1CE000","region":null}]},{"id":"c7b987ff-6bbc-4527-bd44-32a59a866a2f","directory":"motogp-21","title":"MotoGP™21","compatibility":99,"releases":[{"id":"01000F5013820000","region":null}]},{"id":"c7c587e4-af22-452c-a28e-71009f361d2d","directory":"nekopara-vol1","title":"NEKOPARA Vol.1","compatibility":0,"releases":[{"id":"0100B4900AD3E000","region":null}]},{"id":"c7ca700c-6079-4f37-9aed-644cdc4f0a52","directory":"eagle-island","title":"Eagle Island","compatibility":0,"releases":[{"id":"010037400C7DA000","region":null}]},{"id":"c7cafc76-bd43-44e8-874c-5b19de1c42da","directory":"gofishing-3d","title":"GoFishing 3D","compatibility":99,"releases":[{"id":"01007BC00DE68000","region":null}]},{"id":"c7eb7d5b-b786-4953-ac78-c75f7d13ee08","directory":"doctor-who-the-lonely-assassins","title":"Doctor Who: The Lonely Assassins","compatibility":99,"releases":[{"id":"010007C0136C4000","region":null}]},{"id":"c807d286-1157-4f60-a907-573e5bc789d4","directory":"victor-vran-overkill-edition","title":"Victor Vran Overkill Edition","compatibility":99,"releases":[{"id":"0100E81007A06000","region":null}]},{"id":"c812cfae-21b3-4b86-8411-5a1e2b06b998","directory":"bioshock-the-collection","title":"BioShock: The Collection","compatibility":2,"releases":[{"id":"0100AD10102B2000","region":null}]},{"id":"c8259c90-60a8-4f4f-93d9-6f5add86a6a7","directory":"horizon-shift-81","title":"Horizon Shift '81","compatibility":99,"releases":[{"id":"010025300B914000","region":null}]},{"id":"c83b8b67-fa1a-4977-89c2-b9546cd22ccc","directory":"death-crown","title":"Death Crown","compatibility":99,"releases":[{"id":"0100A780135C8000","region":null}]},{"id":"c846733a-5cda-4100-bac7-1cf72fd9d44a","directory":"mina-michi","title":"Mina & Michi","compatibility":99,"releases":[{"id":"0100CBD012CF4000","region":null}]},{"id":"c84dae3a-ae58-44c9-986c-84b45b98f4b5","directory":"our-summer-festival","title":"Our Summer Festival","compatibility":99,"releases":[{"id":"0100D18016DAA000","region":null}]},{"id":"c85870fd-0bb0-446f-af8c-951b903c7138","directory":"exorder","title":"EXORDER","compatibility":1,"releases":[{"id":"0100FA800A1F4000","region":null}]},{"id":"c8637bd3-9250-4a2f-b4da-1e23e140389b","directory":"etherborn","title":"Etherborn","compatibility":5,"releases":[{"id":"01000E200BE10000","region":null}]},{"id":"c86b2560-afce-4370-acc3-5eca5f29ba72","directory":"yu-gi-oh-rush-duel-dawn-of-the-battle-royale","title":"Yu-Gi-Oh! RUSH DUEL: Dawn of the Battle Royale!!","compatibility":1,"releases":[{"id":"0100261015BE2000","region":null}]},{"id":"c87bc37f-ef27-43f4-b824-5714c8154f82","directory":"monaco-complete-edition","title":"Monaco: Complete Edition","compatibility":99,"releases":[{"id":"010007300DE1E000","region":null}]},{"id":"c87e85b6-0fe7-4d4c-9ce0-aa613686c26a","directory":"florence","title":"Florence","compatibility":0,"releases":[{"id":"010040700E8FC000","region":null}]},{"id":"c88710da-767d-4188-afe0-5d1b78b93930","directory":"my-universe-school-teacher","title":"My Universe - School Teacher","compatibility":99,"releases":[{"id":"01006C301199C000","region":null}]},{"id":"c88b6d61-2399-440d-badb-ec4125e4feea","directory":"world-for-two","title":"World for Two","compatibility":0,"releases":[{"id":"0100FC2012680000","region":null}]},{"id":"c897e8b0-584e-487b-81db-5c9d1930f492","directory":"castlestorm-ii","title":"CastleStorm II","compatibility":99,"releases":[{"id":"010007400EB64000","region":null}]},{"id":"c899441c-408c-40a2-8136-13495e10b713","directory":"fancy-solitaire","title":"Fancy Solitaire","compatibility":99,"releases":[{"id":"010055000F788000","region":null}]},{"id":"c8a34fbf-6b29-499d-ad60-99a0c6a4342c","directory":"shadow-fight-2","title":"Shadow Fight 2","compatibility":0,"releases":[{"id":"0100AB000ABFE000","region":null}]},{"id":"c8a6574e-5633-451b-89bc-78b688436795","directory":"cooking-tycoons-3-in-1-bundle","title":"Cooking Tycoons - 3 in 1 Bundle","compatibility":99,"releases":[{"id":"0100DF9010206000","region":null}]},{"id":"c8a7e202-d394-4ecc-a196-aed42620f516","directory":"sakura-succubus-2","title":"Sakura Succubus 2","compatibility":99,"releases":[{"id":"0100BC70149C6000","region":null}]},{"id":"c8ac42c0-fe02-40e2-808f-54fbc98c8361","directory":"nekomiko","title":"NekoMiko","compatibility":4,"releases":[{"id":"010043200F874000","region":null}]},{"id":"c8bd7d7d-3ee8-4356-aeac-79ec0e1e221e","directory":"long-ago-a-puzzle-tale","title":"Long Ago: A Puzzle Tale","compatibility":99,"releases":[{"id":"010063C00C688000","region":null}]},{"id":"c8bda8ca-1f8f-46a8-8901-f1f8d45d1a1c","directory":"party-planet","title":"Party Planet","compatibility":3,"releases":[{"id":"01004F10066B0000","region":null}]},{"id":"c8bfd672-8dde-4e61-b687-e72b4a64bbd4","directory":"pixboy","title":"Pixboy","compatibility":99,"releases":[{"id":"01005F2011F8C000","region":null}]},{"id":"c8c35b41-41df-4617-b1e8-cb31f72e08ed","directory":"crumble","title":"Crumble","compatibility":99,"releases":[{"id":"010011001458E000","region":null}]},{"id":"c8c4c39f-0b63-401c-a7ce-20258c7b877d","directory":"fullblast","title":"FullBlast","compatibility":0,"releases":[{"id":"01008D800AE4A000","region":null}]},{"id":"c8d292fa-dc62-4b41-905f-0cc7c8fd747f","directory":"hell-warders","title":"Hell Warders","compatibility":99,"releases":[{"id":"0100A2100BFCE000","region":null}]},{"id":"c8e092a1-e3e9-48c7-893e-448d60ab0dd1","directory":"rogue-wizards","title":"Rogue Wizards","compatibility":99,"releases":[{"id":"010076301319C000","region":null}]},{"id":"c8e550c4-6bbc-4501-a2ae-595a7188f7a9","directory":"shio","title":"Shio","compatibility":2,"releases":[{"id":"0100C2F00A568000","region":null}]},{"id":"c8f1d30a-f337-4984-ada3-99751fb468af","directory":"rise-of-insanity","title":"Rise of Insanity","compatibility":99,"releases":[{"id":"0100E9C010EA8000","region":null}]},{"id":"c9046710-9cdb-44bc-af35-7c9ec414b55f","directory":"chiki-chiki-boxy-racers","title":"Chiki-Chiki Boxy Racers","compatibility":1,"releases":[{"id":"01003CD00BE22000","region":null}]},{"id":"c90c3e60-5f47-46e7-aa30-deb550e13654","directory":"super-loop-drive","title":"Super Loop Drive","compatibility":3,"releases":[{"id":"01003E300FCAE000","region":null}]},{"id":"c91ac644-6113-4192-bb54-fefd37103fce","directory":"monster-energy-supercross-the-official-videogame-3","title":"Monster Energy Supercross - The Official Videogame 3","compatibility":3,"releases":[{"id":"010097800EA20000","region":null}]},{"id":"c933bafc-c4a2-4828-a2e8-0d9a10fd5d54","directory":"alt-frequencies","title":"Alt-Frequencies","compatibility":0,"releases":[{"id":"01003E700FD66000","region":null}]},{"id":"c944b8b7-09c1-4e6f-bbaa-0e5e1ae73619","directory":"frozen-friends","title":"Frozen Friends","compatibility":99,"releases":[{"id":"0100F8A010AEC000","region":null}]},{"id":"c9502af2-1fb5-4a15-acad-178f4c72ef60","directory":"the-swords-of-ditto-mormos-curse","title":"The Swords of Ditto: Mormo's Curse","compatibility":2,"releases":[{"id":"010037D00D568000","region":null}]},{"id":"c956eec0-0b9f-4cdf-b988-572b1f732abe","directory":"piczle-colors-demo","title":"Piczle Colors Demo","compatibility":99,"releases":[{"id":"010002A00D168000","region":null}]},{"id":"c9606e8a-9a3a-4798-b71d-7a9360b1f91d","directory":"tribal-pass","title":"Tribal Pass","compatibility":99,"releases":[{"id":"0100CCB012D4C000","region":null}]},{"id":"c9694e53-6387-49e4-a37b-43e7b17da247","directory":"galaxy-warfighter","title":"Galaxy Warfighter","compatibility":99,"releases":[{"id":"0100EDB01005C000","region":null}]},{"id":"c97691c0-6202-47f7-b2df-ac0ce4d9e9f5","directory":"gonner2","title":"GONNER2","compatibility":99,"releases":[{"id":"0100EA70127F2000","region":null}]},{"id":"c977bf2a-7cb0-4744-877c-a40f047b430b","directory":"neon-chrome","title":"Neon Chrome","compatibility":99,"releases":[{"id":"010075E0047F8000","region":null}]},{"id":"c9789750-ed07-49df-b9b1-64fef0c1efe9","directory":"crimson-spires","title":"Crimson Spires","compatibility":99,"releases":[{"id":"0100DC4013FFE000","region":null}]},{"id":"c99210a5-3b14-4ce9-81cb-1580c775b21d","directory":"sleep-attack","title":"Sleep Attack","compatibility":99,"releases":[{"id":"010050500FE30000","region":null}]},{"id":"c99f9891-7482-41ac-8513-14c17d23376f","directory":"battle-of-archers","title":"Battle of Archers","compatibility":99,"releases":[{"id":"0100B4801683A000","region":null}]},{"id":"c9a0ad16-0391-484b-82f1-fc15f75f07f9","directory":"smoots-golf","title":"Smoots Golf","compatibility":2,"releases":[{"id":"010030F015C8C000","region":null}]},{"id":"c9a6703f-c003-4388-a157-625a8d8c8cc3","directory":"samurai-warriors-5","title":"SAMURAI WARRIORS 5","compatibility":1,"releases":[{"id":"0100B28014132000","region":null}]},{"id":"c9aa3ef9-2f51-44a6-9117-c99c286b97f0","directory":"spy-alarm","title":"Spy Alarm","compatibility":99,"releases":[{"id":"01000E6015350000","region":null}]},{"id":"c9c0045d-b41a-4c50-80ce-2da2fe54801a","directory":"little-shopping","title":"Little Shopping","compatibility":99,"releases":[{"id":"0100DD700D95E000","region":null}]},{"id":"c9e0a022-6250-4a05-b591-838fbd6d843b","directory":"carebotz","title":"Carebotz","compatibility":99,"releases":[{"id":"0100BE00156AC000","region":null}]},{"id":"c9e202ab-9511-4013-a1b8-dfdbb8604f48","directory":"ball-attraction","title":"Ball Attraction","compatibility":99,"releases":[{"id":"010038F00ED14000","region":null}]},{"id":"c9ebf74b-b993-498b-acc7-7c7ad895bc3e","directory":"teddy-the-wanderer-kayaking","title":"Teddy the Wanderer: Kayaking","compatibility":99,"releases":[{"id":"0100F6200CBE0000","region":null}]},{"id":"c9ee83b4-f943-4b6d-bb80-b554667e944f","directory":"neighbours-back-from-hell","title":"Neighbours back From Hell","compatibility":1,"releases":[{"id":"010065F00F55A000","region":null}]},{"id":"c9f2a078-76ad-4fd8-a582-9ff6d79fb213","directory":"astro-duel-deluxe","title":"Astro Duel Deluxe","compatibility":1,"releases":[{"id":"0100F0400351C000","region":null}]},{"id":"c9f3a8ee-539b-429e-a3dc-4827c00ed4e2","directory":"sakura-nova","title":"Sakura Nova","compatibility":99,"releases":[{"id":"0100434015F7A000","region":null}]},{"id":"c9f3c0d2-9ad6-4001-b6c8-56c05f36c6f4","directory":"ritual-sorcerer-angel","title":"Ritual: Sorcerer Angel","compatibility":99,"releases":[{"id":"0100BD300F0EC000","region":null}]},{"id":"ca063b3e-bb1e-40b5-b245-ffb883ca0468","directory":"word-search-by-powgi-demo","title":"Word Search by POWGI Demo","compatibility":99,"releases":[{"id":"01009CF00A9C4000","region":null}]},{"id":"ca07bbf3-f069-4be0-aac1-bb00be43090a","directory":"arcade-archives-mario-bros","title":"Arcade Archives Mario Bros.","compatibility":0,"releases":[{"id":"0100755004608000","region":null}]},{"id":"ca09113d-782f-49c1-af49-b7b6125dd91a","directory":"pandemic","title":"Pandemic","compatibility":99,"releases":[{"id":"0100ADA00AD2E000","region":null}]},{"id":"ca17739e-04c3-47ec-a563-073ed05f054d","directory":"miners-races","title":"Miners Races","compatibility":99,"releases":[{"id":"0100EDA0163FE000","region":null}]},{"id":"ca188a91-920a-4852-9493-9ff85d54a13b","directory":"jet-lancer","title":"Jet Lancer","compatibility":5,"releases":[{"id":"0100F3500C70C000","region":null}]},{"id":"ca271e50-aedb-4830-8203-b60257d0e826","directory":"x-force-genesis","title":"X-Force Genesis","compatibility":1,"releases":[{"id":"010006C015C4A000","region":null}]},{"id":"ca317cda-7024-42ca-b3f8-1d83d865382c","directory":"1971-project-helios","title":"1971 Project Helios","compatibility":1,"releases":[{"id":"0100829010F4A000","region":null}]},{"id":"ca4b7009-3f74-42cc-b7e0-4e3cbfe1ddb8","directory":"super-archer","title":"Super Archer","compatibility":99,"releases":[{"id":"01008BE0155C0000","region":null}]},{"id":"ca5126d5-9123-468a-a88a-a9ff1516c3a8","directory":"littlewood","title":"Littlewood","compatibility":99,"releases":[{"id":"0100D1600EEBC000","region":null}]},{"id":"ca860e07-fdb5-4b0e-90ee-d0eed85446db","directory":"my-universe-cooking-star-restaurant","title":"My Universe - Cooking Star Restaurant","compatibility":99,"releases":[{"id":"0100158011A08000","region":null}]},{"id":"ca87641d-56c0-4771-9d1a-6636443d99ca","directory":"fly-oclock","title":"Fly O'Clock","compatibility":99,"releases":[{"id":"0100EDA00BBBE000","region":null}]},{"id":"ca88d3c0-d699-427e-9115-40bdda21bbd3","directory":"star-wars-pinball","title":"Star Wars Pinball","compatibility":2,"releases":[{"id":"01006DA00DEAC000","region":null}]},{"id":"ca8fd81a-ca35-40ae-964f-a0eb52e9d781","directory":"connect-the-dots","title":"Connect the Dots","compatibility":99,"releases":[{"id":"01007B30157A2000","region":null}]},{"id":"ca931d96-4ce8-4d58-8664-4c1ef5593081","directory":"pixel-devil-and-the-broken-cartridge","title":"Pixel Devil and the Broken Cartridge","compatibility":0,"releases":[{"id":"010011300D52A000","region":null}]},{"id":"ca960350-0efb-45dd-aaf1-f19b6b6b48b9","directory":"fallen-legion-revenants","title":"Fallen Legion Revenants","compatibility":99,"releases":[{"id":"0100AA801258C000","region":null}]},{"id":"ca96c634-e015-4a47-bd6a-bc667e8de962","directory":"pangeon","title":"Pangeon","compatibility":99,"releases":[{"id":"0100EF701265E000","region":null}]},{"id":"ca9713ee-7e6e-4326-b0da-fa63065076d8","directory":"tengam","title":"Tengam","compatibility":99,"releases":[{"id":"0100FDE012B22000","region":null}]},{"id":"ca9f51d0-81ac-4e5e-a3ac-ba0162e12167","directory":"jump-step-step","title":"Jump, Step, Step","compatibility":3,"releases":[{"id":"01003F300E7E2000","region":null}]},{"id":"caaa1e0c-2c0a-4174-84fd-3355f182debd","directory":"home-postmortem-edition","title":"Home: Postmortem Edition","compatibility":99,"releases":[{"id":"0100867011618000","region":null}]},{"id":"caae19cc-9e25-4d6e-847b-9d983c0137b6","directory":"hypercharge-unboxed","title":"HYPERCHARGE Unboxed","compatibility":99,"releases":[{"id":"0100A8B00F0B4000","region":null}]},{"id":"cabae146-223b-4ead-bd71-622589d10419","directory":"the-last-survey","title":"The Last Survey","compatibility":99,"releases":[{"id":"010062D0156C0000","region":null}]},{"id":"cac5eda1-94dc-4f3e-a6f1-78343a44d51f","directory":"crocs-world-2","title":"Croc's World 2","compatibility":99,"releases":[{"id":"01009DB00DE12000","region":null}]},{"id":"cacc6807-f4ae-40c6-b2ac-1fc0dacc2aa2","directory":"soul-axiom-rebooted","title":"Soul Axiom Rebooted","compatibility":99,"releases":[{"id":"010064F00C212000","region":null}]},{"id":"cace0cef-5403-4fa4-bb08-4ea499470dd2","directory":"king-of-fighters-r-2","title":"KING OF FIGHTERS R-2","compatibility":0,"releases":[{"id":"0100D47012330000","region":null}]},{"id":"cadd6a5a-42e1-42e1-99c4-1171011298ec","directory":"fhtagn-tales-of-the-creeping-madness","title":"Fhtagn! - Tales of the Creeping Madness","compatibility":1,"releases":[{"id":"01006B8014020000","region":null}]},{"id":"cae03fdd-da4d-4c6f-9af1-fab017238f59","directory":"demons-tilt","title":"DEMON'S TILT","compatibility":99,"releases":[{"id":"0100BE800E6D8000","region":null}]},{"id":"cae052d9-f040-4f91-8ac4-37ca1af14647","directory":"the-amazing-shinsengumi-heroes-in-love","title":"The Amazing Shinsengumi: Heroes in Love","compatibility":99,"releases":[{"id":"010083800B4E8000","region":null}]},{"id":"cae8172c-3a77-4141-9688-85fe69e6251f","directory":"super-korotama","title":"Super Korotama","compatibility":4,"releases":[{"id":"010000D00F81A000","region":null}]},{"id":"cb02e063-f193-4fa4-9f7a-f3de75a501c1","directory":"alternate-jake-hunter-daedalus-the-awakening-of-golden-jazz","title":"Alternate Jake Hunter: DAEDALUS The Awakening of Golden Jazz","compatibility":1,"releases":[{"id":"0100C3D00D1D4000","region":null}]},{"id":"cb087d81-7aa9-4125-a72f-b1529861263a","directory":"tomoyo-after-its-a-wonderful-life-cs-edition","title":"Tomoyo After -It's a Wonderful Life- CS Edition","compatibility":4,"releases":[{"id":"0100398010314000","region":null}]},{"id":"cb08a9ef-fc22-41c6-8515-89b6743c09d8","directory":"dreamscaper","title":"Dreamscaper","compatibility":99,"releases":[{"id":"010066C00FA94000","region":null}]},{"id":"cb0b294b-d669-423a-8405-a2a952c5b062","directory":"motorcycle-mechanic-simulator","title":"Motorcycle Mechanic Simulator","compatibility":99,"releases":[{"id":"010042900E464000","region":null}]},{"id":"cb13fb50-673c-4513-b100-802ed0be2b12","directory":"turok-2-seeds-of-evil","title":"Turok 2: Seeds of Evil","compatibility":5,"releases":[{"id":"0100CDC00D8D6000","region":null}]},{"id":"cb1774ca-aaf5-4610-98dc-fde63e2c318a","directory":"strikey-sisters","title":"Strikey Sisters","compatibility":4,"releases":[{"id":"010060600CFDE000","region":null}]},{"id":"cb3de65b-bfa7-4387-9445-567e76bee387","directory":"bring-honey-home","title":"Bring Honey Home","compatibility":99,"releases":[{"id":"0100A4D01514A000","region":null}]},{"id":"cb4069c1-a45e-475a-9754-d5faf800cfe7","directory":"the-copper-canyon-dixie-dash","title":"The Copper Canyon Dixie Dash","compatibility":99,"releases":[{"id":"01000F20102AC000","region":null}]},{"id":"cb40cc37-8da9-46d1-a34e-8f1b4d40b686","directory":"monster-energy-supercross-the-official-videogame-2","title":"Monster Energy Supercross - The Official Videogame 2","compatibility":99,"releases":[{"id":"0100F8100B982000","region":null}]},{"id":"cb48bd44-67e2-4b7e-b05b-ac697947bd25","directory":"my-big-sister","title":"My Big Sister","compatibility":99,"releases":[{"id":"0100A0F00D82A000","region":null}]},{"id":"cb49369e-de61-4788-92a6-d5dd28bba16a","directory":"pups-purrs-animal-hospital","title":"Pups & Purrs Animal Hospital","compatibility":99,"releases":[{"id":"0100649014936000","region":null}]},{"id":"cb4b039d-2c51-4680-9cea-edbd732884dd","directory":"arcade-archives-karate-champ","title":"Arcade Archives Karate Champ","compatibility":99,"releases":[{"id":"010071400981A000","region":null}]},{"id":"cb551b37-1476-4385-8299-f296bc10242a","directory":"blazblue-centralfiction-special-edition","title":"BLAZBLUE CENTRALFICTION Special Edition","compatibility":1,"releases":[{"id":"0100EE800C93E000","region":null}]},{"id":"cb552e5c-b3f1-452e-a981-357c71971e2e","directory":"castle-of-pixel-skulls","title":"Castle Of Pixel Skulls","compatibility":1,"releases":[{"id":"0100765014830000","region":null}]},{"id":"cb580b62-141e-4964-a3e8-acf6b483f7a6","directory":"battle-princess-madelyn-royal-edition","title":"Battle Princess Madelyn Royal Edition","compatibility":0,"releases":[{"id":"0100A7500DF64000","region":null}]},{"id":"cb5b0aaf-4ca0-45e6-b7b8-cfdde0385fca","directory":"squad-killer","title":"Squad Killer","compatibility":99,"releases":[{"id":"01002540144FA000","region":null}]},{"id":"cb5d0092-79c4-4f91-828a-1981c0e26282","directory":"spongebob-krusty-cook-off","title":"SpongeBob: Krusty Cook-Off","compatibility":1,"releases":[{"id":"01000D3013E8C000","region":null}]},{"id":"cb5e39fc-9bad-47b4-b211-ee27d7ea75eb","directory":"gun-crazy","title":"Gun Crazy","compatibility":1,"releases":[{"id":"01009630106A6000","region":null}]},{"id":"cb6191c7-493d-4746-b603-7addb885b6e9","directory":"animated-jigsaws-collection","title":"Animated Jigsaws Collection","compatibility":99,"releases":[{"id":"010098600CF06000","region":null}]},{"id":"cb63c93a-627b-4166-a4a7-61bbd6b96bca","directory":"mahluk-dark-demon","title":"Mahluk dark demon","compatibility":99,"releases":[{"id":"010099A0145E8000","region":null}]},{"id":"cb7db4f4-5b9c-4154-bebc-78248700852d","directory":"firewatch","title":"Firewatch","compatibility":2,"releases":[{"id":"0100AC300919A000","region":null}]},{"id":"cb7eeed9-2e57-46df-adf6-55219bdf1fcb","directory":"catastronauts","title":"Catastronauts","compatibility":99,"releases":[{"id":"0100DF3009730000","region":null}]},{"id":"cb808a50-3842-4709-9c7c-fa8be3965995","directory":"swallow-up","title":"Swallow Up","compatibility":99,"releases":[{"id":"010078800EE1A000","region":null}]},{"id":"cb80b3b6-a5e1-45f4-840b-a55954e60034","directory":"s-w-a-n-chernobyl-unexplored","title":"S.W.A.N.: Chernobyl Unexplored","compatibility":99,"releases":[{"id":"010062E015ED6000","region":null}]},{"id":"cb80f3a9-99ca-4f5f-8627-9b6f53304c5e","directory":"death-road-to-canada","title":"Death Road to Canada","compatibility":2,"releases":[{"id":"0100423009358000","region":null}]},{"id":"cb84791b-1e15-45b0-9711-f92a394e4367","directory":"dual-brain-vol2-reflex","title":"Dual Brain Vol.2: Reflex","compatibility":1,"releases":[{"id":"010065D0103D6000","region":null}]},{"id":"cb9cb1f7-9931-49b9-a217-33bf80ebc907","directory":"the-caligula-effect-2","title":"The Caligula Effect 2","compatibility":1,"releases":[{"id":"0100CC3014886000","region":null}]},{"id":"cbb497bf-6fd7-45fa-b002-a0ca10652d83","directory":"grisaia-phantom-trigger-04","title":"GRISAIA PHANTOM TRIGGER 04","compatibility":99,"releases":[{"id":"0100D970123BA000","region":null}]},{"id":"cbb9c34a-36ca-4c3b-ad53-1165b0b6bad4","directory":"super-neptunia-rpg","title":"Super Neptunia RPG","compatibility":1,"releases":[{"id":"01004D600AC14000","region":null}]},{"id":"cbc223e1-cb96-4162-a883-d36fa796bd64","directory":"qube-qross","title":"Qube Qross","compatibility":99,"releases":[{"id":"01000930140DA000","region":null}]},{"id":"cbc53983-3e22-4f71-a247-5606bf2768a3","directory":"dusk","title":"DUSK","compatibility":1,"releases":[{"id":"01007740160D4000","region":null}]},{"id":"cbd234eb-d5e0-4054-a9a1-dd244d506174","directory":"warioware-get-it-together","title":"WarioWare™: Get It Together!","compatibility":0,"releases":[{"id":"0100563010E0C000","region":null}]},{"id":"cbd51097-2ee4-4a44-8b92-36baee6f2001","directory":"nba-2k19","title":"NBA 2K19","compatibility":5,"releases":[{"id":"01001FF00B544000","region":null}]},{"id":"cbd7591d-abd5-4520-8d63-287f8cffdc72","directory":"city-builder","title":"City Builder","compatibility":99,"releases":[{"id":"0100D4800AEC8000","region":null}]},{"id":"cbd89458-d691-4ea9-9ca9-15fb061e0b6c","directory":"jackquest-the-tale-of-the-sword","title":"JackQuest: The Tale of the Sword","compatibility":2,"releases":[{"id":"0100C80009ABE000","region":null}]},{"id":"cbda9727-d9a1-4bb0-85c5-e1ce304e83e2","directory":"paw-paw-paw","title":"Paw Paw Paw","compatibility":1,"releases":[{"id":"01008E2013144000","region":null}]},{"id":"cbdae4b7-2e85-4c1d-9e52-dc21a428b2dd","directory":"little-bit-war","title":"Little Bit War","compatibility":99,"releases":[{"id":"0100572010EF8000","region":null}]},{"id":"cbde3179-0a2a-4939-a3c1-e378896418fe","directory":"panda-hero","title":"Panda Hero","compatibility":99,"releases":[{"id":"01002A300BDE2000","region":null}]},{"id":"cbe31cbc-2922-4b2f-b8a9-9cd050818284","directory":"party-arcade","title":"Party Arcade","compatibility":99,"releases":[{"id":"01007FC00A040000","region":null}]},{"id":"cbedf444-c5e7-42f2-a93b-a2dd91daae3d","directory":"they-came-from-the-sky","title":"They Came From the Sky","compatibility":99,"releases":[{"id":"0100768010970000","region":null}]},{"id":"cbfd8b2d-436e-49af-877f-6e9687a92a64","directory":"fightn-rage","title":"Fight'N Rage","compatibility":2,"releases":[{"id":"0100C7D00E730000","region":null}]},{"id":"cc025a72-82e5-4b63-8a9d-3fc8dd70b8d4","directory":"voice-of-cards-the-isle-dragon-roars","title":"Voice of Cards: The Isle Dragon Roars","compatibility":99,"releases":[{"id":"010071400F836000","region":null}]},{"id":"cc0aa2e8-b3ea-4540-97c3-82f84d133d99","directory":"steinsgate-0","title":"STEINS;GATE 0","compatibility":99,"releases":[{"id":"010037700E9B8000","region":null}]},{"id":"cc0c1344-4671-4483-8249-d82300c414b9","directory":"cruisn-blast","title":"Cruis'n Blast","compatibility":1,"releases":[{"id":"0100B41013C82000","region":null}]},{"id":"cc0d539c-7bd8-4566-9988-c4647c20448b","directory":"steam-rails-to-riches-complete-edition","title":"Steam: Rails to Riches Complete Edition","compatibility":99,"releases":[{"id":"0100E3C0146E4000","region":null}]},{"id":"cc1844f1-f849-4df7-8813-8ff22e2273ba","directory":"bus-driver-simulator","title":"Bus Driver Simulator","compatibility":99,"releases":[{"id":"010030D012FF6000","region":null}]},{"id":"cc26dca0-58da-4b04-a719-9772dd9fe811","directory":"nosferatu-lilinor","title":"Nosferatu Lilinor","compatibility":99,"releases":[{"id":"0100373010D26000","region":null}]},{"id":"cc2736fe-1fcc-4518-a53d-38df55f4e0d5","directory":"gorogoa","title":"Gorogoa","compatibility":1,"releases":[{"id":"0100F2A005C98000","region":null}]},{"id":"cc38443a-4c0e-493a-a011-21c7ee9d0e68","directory":"bomber-fox","title":"Bomber Fox","compatibility":99,"releases":[{"id":"0100A1F012948000","region":null}]},{"id":"cc40f76e-0f60-488d-8065-5a64b0b5ae80","directory":"kirby-star-allies-demo","title":"Kirby™ Star Allies Demo","compatibility":2,"releases":[{"id":"01005A70096FA000","region":null}]},{"id":"cc482256-0dd4-4068-9151-e14f6195c19a","directory":"duo-zombies","title":"Duo Zombies","compatibility":99,"releases":[{"id":"01009AB01613E000","region":null}]},{"id":"cc4fc296-6332-4956-be3d-e321fcd60159","directory":"rad","title":"RAD","compatibility":99,"releases":[{"id":"010024400C516000","region":null}]},{"id":"cc5985e3-0f69-416b-a3b6-0ffddf11a20d","directory":"re-turn-one-way-trip","title":"Re:Turn - One Way Trip","compatibility":99,"releases":[{"id":"0100F03011616000","region":null}]},{"id":"cc5da67e-0e30-4978-9271-c9f296a92915","directory":"the-persistence","title":"The Persistence","compatibility":99,"releases":[{"id":"010050101127C000","region":null}]},{"id":"cc5e4654-7017-4f33-807a-59a21c4660c0","directory":"halcyon-6-starbase-commander","title":"Halcyon 6: Starbase Commander","compatibility":99,"releases":[{"id":"01006B30092F0000","region":null}]},{"id":"cc5e7f66-1c3a-47a3-9c7f-c0f6e6bcbd6b","directory":"trine-2-complete-story","title":"Trine 2: Complete Story","compatibility":1,"releases":[{"id":"010064E00A932000","region":null}]},{"id":"cc70180e-f9f8-4109-8d9f-6f90e70e9fb4","directory":"sine-mora-ex","title":"Sine Mora EX","compatibility":2,"releases":[{"id":"01002820036A8000","region":null}]},{"id":"cc7105cc-d004-428f-8684-14b2c4de37ed","directory":"monkey-business","title":"Monkey Business","compatibility":99,"releases":[{"id":"010038800DF74000","region":null}]},{"id":"cc7f308e-4167-4551-b8e7-a115bcd247cc","directory":"the-dungeon-of-naheulbeuk-the-amulet-of-chaos-chicken-edition","title":"The Dungeon of Naheulbeuk: The Amulet of Chaos - Chicken Edition","compatibility":1,"releases":[{"id":"010023901191C000","region":null}]},{"id":"cc8156fd-8707-459e-abdd-08fec694f6a3","directory":"word-crush-hidden","title":"Word Crush Hidden","compatibility":99,"releases":[{"id":"010078E0153A6000","region":null}]},{"id":"cc88c22d-68a1-4958-96ee-aefb1eb02775","directory":"the-last-kids-on-earth-and-the-staff-of-doom","title":"The Last Kids on Earth and the Staff of Doom","compatibility":99,"releases":[{"id":"0100C27011544000","region":null}]},{"id":"cc95687d-82e9-4b4d-8227-cb7d1c9912bd","directory":"baba-is-you","title":"Baba Is You","compatibility":0,"releases":[{"id":"01002CD00A51C000","region":null}]},{"id":"cca68f1a-c50a-4bf6-b852-c3c6cc86e346","directory":"2064-read-only-memories-integral","title":"2064: Read Only Memories INTEGRAL","compatibility":1,"releases":[{"id":"010024C0067C4000","region":null}]},{"id":"ccbaf4f1-e05e-4bc9-8ed7-9801f3ef1579","directory":"vaccine","title":"Vaccine","compatibility":99,"releases":[{"id":"01009E2003FE2000","region":null}]},{"id":"cccd91c7-d6d1-45de-ae61-39c9c05976a2","directory":"inexistence-rebirth","title":"Inexistence Rebirth","compatibility":3,"releases":[{"id":"010001D014348000","region":null}]},{"id":"ccd3dc80-f4a9-4228-be22-e72fa48dbf77","directory":"drink-more-glurp","title":"Drink More Glurp","compatibility":99,"releases":[{"id":"010093F00F894000","region":null}]},{"id":"ccd764c8-60b2-4bfe-b5f6-38fb07090490","directory":"borderlands-the-pre-sequel","title":"Borderlands: The Pre-Sequel","compatibility":0,"releases":[{"id":"010007400FF24000","region":null}]},{"id":"ccd7e06f-775b-429e-97ff-2538cca17218","directory":"watermelon-party","title":"Watermelon Party","compatibility":99,"releases":[{"id":"010047800E516000","region":null}]},{"id":"ccd882ac-1d3a-4426-81c1-03b012ec3abb","directory":"suicide-guy-collection","title":"Suicide Guy Collection","compatibility":99,"releases":[{"id":"01001E3012CC2000","region":null}]},{"id":"cce3b7cf-a68a-42b6-9af0-9207099050d2","directory":"uno-for-nintendo-switch","title":"UNO for Nintendo Switch","compatibility":3,"releases":[{"id":"01005AA00372A000","region":null}]},{"id":"cce84b72-8d2e-4dda-bde1-a20f1ac3100a","directory":"street-cleaner-the-video-game","title":"Street Cleaner: The Video Game","compatibility":99,"releases":[{"id":"0100D460144F2000","region":null}]},{"id":"ccea107e-b24c-4479-9faa-68e86db5f05f","directory":"world-of-riders","title":"World Of Riders","compatibility":99,"releases":[{"id":"010020500E862000","region":null}]},{"id":"ccefc5f4-992d-4e63-bb0e-104eacb48ee1","directory":"asdivine-hearts","title":"Asdivine Hearts","compatibility":0,"releases":[{"id":"010042800A516000","region":null}]},{"id":"ccf6fb52-a310-4066-be2b-6fdde386d4fa","directory":"how-buddys-parents-met","title":"How Buddy’s parents met","compatibility":99,"releases":[{"id":"010060D0158DC000","region":null}]},{"id":"ccf89113-9166-4747-b999-0f2f6ac22b97","directory":"the-unholy-society","title":"The Unholy Society","compatibility":99,"releases":[{"id":"0100E4C011304000","region":null}]},{"id":"ccffb1d6-6afc-46db-b0e1-c17fcffafb6e","directory":"bring-them-home","title":"Bring Them Home","compatibility":99,"releases":[{"id":"01000BF00BE40000","region":null}]},{"id":"cd1335e3-2a3e-499f-a87e-4d1c46f9b3ba","directory":"darkest-hunters","title":"Darkest Hunters","compatibility":99,"releases":[{"id":"0100F1F00D5B2000","region":null}]},{"id":"cd1e9d00-e470-40de-a49c-ade2092598d9","directory":"loot-hero-dx","title":"Loot Hero DX","compatibility":99,"releases":[{"id":"010077E013D60000","region":null}]},{"id":"cd20ff54-0daf-495f-8159-0180081d12fe","directory":"haunted-dawn-the-zombie-apocalypse","title":"Haunted Dawn: The Zombie Apocalypse","compatibility":99,"releases":[{"id":"01009E6014F18000","region":null}]},{"id":"cd25a2ee-661f-4603-b7ba-65f3e0118296","directory":"animal-fun-for-toddlers-and-kids","title":"Animal Fun for Toddlers and Kids","compatibility":99,"releases":[{"id":"01002F4011A8E000","region":null}]},{"id":"cd28ecd8-377e-4708-a988-b836425b081d","directory":"the-legend-of-heroes-trails-of-cold-steel-iii","title":"The Legend of Heroes: Trails of Cold Steel III","compatibility":0,"releases":[{"id":"01005420101DA000","region":null}]},{"id":"cd3a54c9-496e-4350-aeb4-aec0caab34ad","directory":"league-of-evil-demo","title":"League of Evil Demo","compatibility":99,"releases":[{"id":"01005B3005D6E000","region":null}]},{"id":"cd3e58ab-949f-4c4f-8750-407dc47bdde2","directory":"star-drives","title":"Star Drives","compatibility":99,"releases":[{"id":"010011D015FF6000","region":null}]},{"id":"cd4a6884-62e0-4b47-b8b6-e763bef482bc","directory":"wolflame","title":"Wolflame","compatibility":3,"releases":[{"id":"01003380113A2000","region":null}]},{"id":"cd87b4b8-6ac2-4492-afed-441a74d62b31","directory":"button-city","title":"Button City","compatibility":99,"releases":[{"id":"0100754013D5A000","region":null}]},{"id":"cd89c3b1-db23-426a-859b-21e024d1ed3b","directory":"aca-neogeo-riding-hero","title":"ACA NEOGEO RIDING HERO","compatibility":99,"releases":[{"id":"01002C900A302000","region":null}]},{"id":"cd944f21-5a03-4ce3-ac5f-a9c1843f1324","directory":"blades-of-time","title":"Blades of Time","compatibility":5,"releases":[{"id":"0100CFA00CC74000","region":null}]},{"id":"cd9d9265-0bba-473a-ba8b-55e94e38b508","directory":"the-longest-five-minutes","title":"The Longest Five Minutes","compatibility":1,"releases":[{"id":"0100CE1004E72000","region":null}]},{"id":"cd9d9b3a-748d-4761-ba9e-89d6ddd39a0b","directory":"arcade-archives-front-line","title":"Arcade Archives FRONT LINE","compatibility":5,"releases":[{"id":"0100496006EC8000","region":null}]},{"id":"cda8f354-238a-43dd-9c3c-c927ee7d43ff","directory":"flan","title":"Flan","compatibility":99,"releases":[{"id":"010038200E088000","region":null}]},{"id":"cdaaf147-7d32-4e9d-9e59-8a05449a0c09","directory":"bleed","title":"Bleed","compatibility":2,"releases":[{"id":"010042C006490000","region":null}]},{"id":"cdb612a8-292c-413b-b9b7-84d9fe156532","directory":"air-mail","title":"Air Mail","compatibility":99,"releases":[{"id":"01004C700B106000","region":null}]},{"id":"cdbbc335-3bd6-409d-9172-36c081ebf41b","directory":"surviving-the-aftermath","title":"Surviving the Aftermath","compatibility":99,"releases":[{"id":"0100F61013456000","region":null}]},{"id":"cdc89699-5c9c-4dcf-8767-da53bd86bafb","directory":"levels-addictive-puzzle-game","title":"Levels+ : Addictive Puzzle Game","compatibility":99,"releases":[{"id":"0100C960041DC000","region":null}]},{"id":"cdcb3d2a-6420-4bbe-bf4a-a81d80786b58","directory":"verlet-swing","title":"Verlet Swing","compatibility":99,"releases":[{"id":"0100E9D00D268000","region":null}]},{"id":"cdd1bbc8-eac9-4ad2-b534-7fef58b31732","directory":"rhythm-of-the-gods","title":"Rhythm of the Gods","compatibility":99,"releases":[{"id":"010081D0100F0000","region":null}]},{"id":"cdd72e98-068e-47e6-b3d5-4ab12fe35922","directory":"pic-a-pix-deluxe","title":"Pic-a-Pix Deluxe","compatibility":4,"releases":[{"id":"01005F900416E000","region":null}]},{"id":"cdd921fa-ce48-4396-9ff1-e2c9bfc90f18","directory":"pokemon-sword","title":"Pokémon Sword","compatibility":2,"releases":[{"id":"0100ABF008968000","region":null}]},{"id":"cde0bfc1-a505-4c0a-8a2a-d18f6d65816e","directory":"lumo","title":"Lumo","compatibility":2,"releases":[{"id":"0100FF00042EE000","region":null}]},{"id":"cde65c8b-ed48-4e92-b58e-151eddba7d96","directory":"yokus-island-express-demo","title":"Yoku's Island Express Demo","compatibility":99,"releases":[{"id":"0100D6300B938000","region":null}]},{"id":"cdf36837-bdc0-4b2f-bd33-adfbc39394b9","directory":"hyperforma","title":"Hyperforma","compatibility":99,"releases":[{"id":"01006EA00D892000","region":null}]},{"id":"cdf703c8-ff13-40aa-8e6d-345803f70550","directory":"blood-waves","title":"Blood Waves","compatibility":3,"releases":[{"id":"01007E700D17E000","region":null}]},{"id":"cdf8e50b-7aff-4400-8750-378ccb48280d","directory":"ball-physics-draw-puzzles","title":"Ball Physics Draw Puzzles","compatibility":99,"releases":[{"id":"0100EF0015F3C000","region":null}]},{"id":"cdfa2e00-041a-4fe1-8c8b-bb4aa07c25d1","directory":"forgotten-tales-day-of-the-dead","title":"Forgotten Tales - Day of the Dead","compatibility":99,"releases":[{"id":"010064300CFD4000","region":null}]},{"id":"cdfde087-8a2b-4c17-b37b-d3e077b394f7","directory":"windjammers-2","title":"Windjammers 2","compatibility":0,"releases":[{"id":"0100AF500EF0C000","region":null}]},{"id":"ce18c9e8-5eba-49b2-a438-b01733611448","directory":"okami-hd","title":"OKAMI HD","compatibility":3,"releases":[{"id":"0100276009872000","region":null}]},{"id":"ce366ef7-b0cb-4aeb-a4f3-0a29d3c85239","directory":"hexceed","title":"hexceed","compatibility":99,"releases":[{"id":"0100F59014E8C000","region":null}]},{"id":"ce42c395-1eb5-4754-89d8-2d8af5e9911a","directory":"10-second-ninja-x","title":"10 Second Ninja X","compatibility":99,"releases":[{"id":"010055501321C000","region":null}]},{"id":"ce517396-9e24-4c0c-8d10-37272f8bbd4a","directory":"duel-on-board","title":"Duel on Board","compatibility":99,"releases":[{"id":"01006AA013A2A000","region":null}]},{"id":"ce61e0c5-64c6-426c-a14f-78c6b844decf","directory":"breakforcist-battle","title":"#Breakforcist Battle","compatibility":99,"releases":[{"id":"010038B0084EA000","region":null}]},{"id":"ce63b99c-6cb7-47a9-b975-ba4d35ca8aa7","directory":"the-dark-side-of-the-moon-an-interactive-fmv-thriller","title":"The Dark Side of the Moon: An Interactive FMV Thriller","compatibility":99,"releases":[{"id":"0100E9D016226000","region":null}]},{"id":"ce6875a4-2797-431d-bd6e-b8906067a896","directory":"dread-nautical","title":"Dread Nautical","compatibility":0,"releases":[{"id":"010045500D0F4000","region":null}]},{"id":"ce6b3b84-afba-4293-8c22-17202a801b0f","directory":"dragon-ball-fighterz","title":"DRAGON BALL FIGHTERZ","compatibility":3,"releases":[{"id":"0100A250097F0000","region":null}]},{"id":"ce70fe99-3288-4dce-bd37-e735e7aef120","directory":"arcade-archives-heroic-episode","title":"Arcade Archives HEROIC EPISODE","compatibility":99,"releases":[{"id":"01009A4008A30000","region":null}]},{"id":"ce7f6147-6cdb-4bb8-a425-b64ddd7d3773","directory":"deathsmiles-i-ii","title":"Deathsmiles I・II","compatibility":99,"releases":[{"id":"01009120119B4000","region":null}]},{"id":"ce8014b8-12a9-497e-a129-678b4825874b","directory":"pushy-and-pully-in-blockland","title":"Pushy and Pully in Blockland","compatibility":0,"releases":[{"id":"0100F1200F6D8000","region":null}]},{"id":"ce869a12-1960-43cf-a148-4a025ba260b8","directory":"snakes-ladders","title":"Snakes & Ladders","compatibility":99,"releases":[{"id":"010052C00ABFA000","region":null}]},{"id":"ce9a5ab0-ab33-4aed-93da-ca5dcaa98198","directory":"farmers-co-op-out-of-this-world","title":"Farmers Co-op: Out of This World","compatibility":99,"releases":[{"id":"0100C6F013FFA000","region":null}]},{"id":"cea16a5f-0261-4cc5-b1d0-834a0d7556a6","directory":"the-adventure-pals","title":"The Adventure Pals","compatibility":0,"releases":[{"id":"01008ED0087A4000","region":null}]},{"id":"cea6c029-2d9c-40ea-a1b4-5d057c9bd080","directory":"use-your-words","title":"Use Your Words","compatibility":99,"releases":[{"id":"01007C0003AEC000","region":null}]},{"id":"ceb7714e-c499-47a4-9815-bb8c42d5e481","directory":"stray-cat-doors","title":"Stray Cat Doors","compatibility":1,"releases":[{"id":"01002D200CF50000","region":null}]},{"id":"cebb097e-3fa4-4016-b784-99fd8a974334","directory":"digerati-indie-darling-bundle-vol-3","title":"Digerati Indie Darling Bundle Vol. 3","compatibility":99,"releases":[{"id":"01004DE011076000","region":null}]},{"id":"cebeb3e5-4cda-4a20-be65-b33a796c1213","directory":"arcade-archives-markham","title":"Arcade Archives MARKHAM","compatibility":99,"releases":[{"id":"0100299013ADE000","region":null}]},{"id":"cec30012-c1bb-499b-b75c-301671db0e6a","directory":"robots-under-attack","title":"Robots under attack!","compatibility":99,"releases":[{"id":"010077C00F370000","region":null}]},{"id":"ced95c05-589f-4a8e-8b2f-e382f5679763","directory":"its-spring-again","title":"It's Spring Again","compatibility":99,"releases":[{"id":"0100EDC00AAAA000","region":null}]},{"id":"cedeac46-4719-4976-a50a-f927937fbf08","directory":"odallus-the-dark-call","title":"Odallus: The Dark Call","compatibility":5,"releases":[{"id":"010084300C816000","region":null}]},{"id":"cedfb609-0b65-48bd-ad5c-3864fd46ccb1","directory":"the-last-door-complete-edition","title":"The Last Door - Complete Edition","compatibility":99,"releases":[{"id":"0100DBE00C76C000","region":null}]},{"id":"cee6fc03-23d0-4456-bfd3-07da321026fe","directory":"oddworld-new-n-tasty","title":"Oddworld: New 'n' Tasty","compatibility":2,"releases":[{"id":"01005E700ABB8000","region":null}]},{"id":"cef343ca-704b-4de7-ad1b-f8eaf060eac1","directory":"rock-n-racing-bundle-off-road-grand-prix","title":"Rock 'N Racing Bundle Off Road & Grand Prix","compatibility":99,"releases":[{"id":"01008F801398E000","region":null}]},{"id":"cf07ac2a-1540-4027-9293-8290a3e1595b","directory":"kathy-rain-directors-cut","title":"Kathy Rain: Director's Cut","compatibility":99,"releases":[{"id":"0100892015238000","region":null}]},{"id":"cf0cb27c-1ff6-4470-9c73-3ae9c72a2f66","directory":"torchlight-iii","title":"Torchlight III","compatibility":3,"releases":[{"id":"010075400DDB8000","region":null}]},{"id":"cf110387-7b68-44dc-beca-98fce95caccc","directory":"forestry-the-simulation","title":"Forestry - The Simulation","compatibility":99,"releases":[{"id":"01002E9014308000","region":null}]},{"id":"cf26d197-406e-48b4-b554-c4baa91a5e77","directory":"shadows-2-perfidia","title":"Shadows 2: Perfidia","compatibility":1,"releases":[{"id":"010000000EEF0000","region":null}]},{"id":"cf2a674d-1044-4f6d-a777-234d176a68c8","directory":"morbid-the-seven-acolytes","title":"Morbid: The Seven Acolytes","compatibility":2,"releases":[{"id":"010040E00F642000","region":null}]},{"id":"cf3ade4e-b5a9-447e-8c43-0514a23223cc","directory":"dragon-star-varnir","title":"Dragon Star Varnir","compatibility":99,"releases":[{"id":"01001C60148CC000","region":null}]},{"id":"cf444c4d-3c94-4e9f-b366-b3a216cf2fac","directory":"light-fingers","title":"Light Fingers","compatibility":99,"releases":[{"id":"0100A0E005E42000","region":null}]},{"id":"cf447abc-ab26-437a-98bc-ef9fa392e812","directory":"final-fantasy-xv-pocket-edition-hd","title":"FINAL FANTASY XV POCKET EDITION HD","compatibility":2,"releases":[{"id":"010068F00AA78000","region":null}]},{"id":"cf4aa029-0071-447a-9e7a-2bb434f52e03","directory":"gryphon-knight-epic-definitive-edition","title":"Gryphon Knight Epic: Definitive Edition","compatibility":99,"releases":[{"id":"0100A16011872000","region":null}]},{"id":"cf4da2c5-3c0d-4e56-9083-6ede1e89382f","directory":"aaero-complete-edition","title":"Aaero: Complete Edition","compatibility":0,"releases":[{"id":"010097A00CC0A000","region":null}]},{"id":"cf63d44a-a64f-4409-93a0-f2827413d2e8","directory":"octahedron-transfixed-edition","title":"Octahedron: Transfixed Edition","compatibility":5,"releases":[{"id":"010049100B93E000","region":null}]},{"id":"cf6a4659-07ee-4348-b7f3-899f7ec1c47e","directory":"super-chariot","title":"Super Chariot","compatibility":3,"releases":[{"id":"010065F004E5E000","region":null}]},{"id":"cf6eb529-7009-4262-8a4c-fecb4f207bc4","directory":"kiai-resonance","title":"Kiai Resonance","compatibility":99,"releases":[{"id":"010087D00C82E000","region":null}]},{"id":"cf7b72d0-4c67-4002-9d39-d304c29e1b27","directory":"murder-diaries","title":"Murder Diaries","compatibility":99,"releases":[{"id":"0100262015908000","region":null}]},{"id":"cf7cec36-3b0c-4436-b09b-806fa1496894","directory":"citizens-of-space","title":"Citizens of Space","compatibility":99,"releases":[{"id":"0100E4200D84E000","region":null}]},{"id":"cf979370-d03c-43f6-a67a-25d10b83049a","directory":"evil-tonight","title":"Evil Tonight","compatibility":4,"releases":[{"id":"01001B2013D72000","region":null}]},{"id":"cf9ab91c-f627-4953-933a-28b8bd0f5e38","directory":"shieldwall-chronicles-swords-of-the-north","title":"Shieldwall Chronicles: Swords of the North","compatibility":99,"releases":[{"id":"0100C7E01442C000","region":null}]},{"id":"cfa6243a-4057-496a-9791-4d9e853cfb6a","directory":"root-film","title":"Root Film","compatibility":1,"releases":[{"id":"01001C701348A000","region":null}]},{"id":"cfab1d59-4bd3-463e-ae47-35df5f6ad5e1","directory":"theme-park-simulator-roller-coaster-thrill-rides","title":"Theme Park Simulator: Roller Coaster & Thrill Rides","compatibility":99,"releases":[{"id":"01006BE0109B6000","region":null}]},{"id":"cfacc2a8-1dfd-4b0f-aba9-0218bf5f8fdd","directory":"twin-robots-ultimate-edition-demo","title":"Twin Robots: Ultimate Edition Demo","compatibility":99,"releases":[{"id":"010012600A9DA000","region":null}]},{"id":"cfad77ac-0eff-44bd-805e-376496f9b789","directory":"macrotis-a-mothers-journey","title":"Macrotis: A Mother's Journey","compatibility":99,"releases":[{"id":"01001B7011202000","region":null}]},{"id":"cfb30543-28fc-4efc-81d0-bf978fcd1087","directory":"asobu-tights","title":"ASOBU Tights","compatibility":0,"releases":[{"id":"0100473013DFE000","region":null}]},{"id":"cfb3626c-a845-48eb-ad2c-4b3e0026f468","directory":"arcade-archives-gradius","title":"Arcade Archives GRADIUS","compatibility":99,"releases":[{"id":"0100A070105A6000","region":null}]},{"id":"cfb7137c-30ad-486d-8697-26eae078940d","directory":"hyperide-vector-raid","title":"Hyperide: Vector Raid","compatibility":99,"releases":[{"id":"01000E200C8D4000","region":null}]},{"id":"cfcf0981-fbfe-43cf-82c4-27640315fd4b","directory":"heroes-of-the-monkey-tavern-demo","title":"Heroes of the Monkey Tavern Demo","compatibility":99,"releases":[{"id":"0100F4F006EB0000","region":null}]},{"id":"cfd946f0-8cdf-419e-b9c4-c4aa3e05e2f7","directory":"morto-chapter-1","title":"MORTO - Chapter 1","compatibility":99,"releases":[{"id":"0100734014C20000","region":null}]},{"id":"cfd98cef-4ce8-440b-841c-52001b6c03f5","directory":"crisis-wing","title":"Crisis Wing","compatibility":2,"releases":[{"id":"0100CAC015A8A000","region":null}]},{"id":"cfe67329-2bb8-4e3c-a437-3a6c60077b5b","directory":"demolition-crew","title":"Demolition Crew","compatibility":99,"releases":[{"id":"01000D100D99A000","region":null}]},{"id":"cfec0999-b26e-42aa-becf-675ec3fb0e06","directory":"headspun","title":"Headspun","compatibility":99,"releases":[{"id":"010067400EA5C000","region":null}]},{"id":"cfef4473-5f7f-4fad-bf12-dbf511325cc8","directory":"grisaia-phantom-trigger-5-5","title":"GRISAIA PHANTOM TRIGGER 5.5","compatibility":99,"releases":[{"id":"0100CAF013AE6000","region":null}]},{"id":"cffbcf24-1616-4fc0-bb86-6bdb2833cbf4","directory":"minecraft-story-mode-the-complete-adventure","title":"Minecraft: Story Mode - The Complete Adventure","compatibility":1,"releases":[{"id":"010059C002AC2000","region":null}]},{"id":"d00308be-c934-4b88-bee4-94f0c902c2ae","directory":"detective-puz","title":"Detective Puz","compatibility":99,"releases":[{"id":"01006C8013708000","region":null}]},{"id":"d00f7ce1-480f-4a9d-ba88-a1cda3882aaf","directory":"amazing-brick-breaker","title":"Amazing Brick Breaker","compatibility":99,"releases":[{"id":"0100DD700F1F6000","region":null}]},{"id":"d01356ce-d0f3-42c4-b04e-35800c35a7f3","directory":"thenightfall","title":"TheNightfall","compatibility":99,"releases":[{"id":"01000AA00D30E000","region":null}]},{"id":"d01f8c7e-1d1a-4d54-ab5d-23f169b848cd","directory":"horizon-chase-turbo","title":"Horizon Chase Turbo","compatibility":0,"releases":[{"id":"01009EA00B714000","region":null}]},{"id":"d02abe7c-48e9-4a40-9bee-8eec4fdb1e6f","directory":"queens-quest-4-sacred-truce","title":"Queen's Quest 4: Sacred Truce","compatibility":99,"releases":[{"id":"0100DCF00F13A000","region":null}]},{"id":"d02f1883-224f-456a-8f3b-217028a163bd","directory":"sense-a-cyberpunk-ghost-story","title":"Sense - A Cyberpunk Ghost Story","compatibility":2,"releases":[{"id":"01009CD00F44A000","region":null}]},{"id":"d031059e-1a04-4e72-ab22-4e7fbedebdcb","directory":"hot-wheels-unleashed","title":"HOT WHEELS UNLEASHED™","compatibility":3,"releases":[{"id":"0100AA60136D2000","region":null}]},{"id":"d0447e7b-eb81-4e81-a3d4-ebee985bc328","directory":"phar-lap-horse-racing-challenge","title":"PHAR LAP - Horse Racing Challenge","compatibility":2,"releases":[{"id":"010036200D2F6000","region":null}]},{"id":"d0492975-c726-4b21-8909-383b6ca4bbac","directory":"the-legend-of-zelda-links-awakening","title":"The Legend of Zelda: Link's Awakening","compatibility":1,"releases":[{"id":"01006BB00C6F0000","region":null}]},{"id":"d0505d44-1312-4bf8-aa27-54db151726d6","directory":"laid-back-camp-virtual-lake-motosu","title":"Laid-Back Camp - Virtual - Lake Motosu","compatibility":0,"releases":[{"id":"01002BA012E80000","region":null}]},{"id":"d0564a5d-997f-41da-b16a-d9e937a4b442","directory":"inside-my-radio","title":"Inside My Radio","compatibility":99,"releases":[{"id":"0100973002D6A000","region":null}]},{"id":"d05a7a6e-1295-4cc3-bd30-46bcc8ccb32d","directory":"grisaia-phantom-trigger-06","title":"GRISAIA PHANTOM TRIGGER 06","compatibility":2,"releases":[{"id":"0100240013AE8000","region":null}]},{"id":"d06a2670-418c-486d-bb80-c9d704db8f0b","directory":"cardpocalypse","title":"Cardpocalypse","compatibility":99,"releases":[{"id":"0100C5100DB04000","region":null}]},{"id":"d06d1f7e-047a-450e-9520-80fd274d7dce","directory":"them-bombs","title":"Them Bombs!","compatibility":1,"releases":[{"id":"01006C400ACEE000","region":null}]},{"id":"d06e8a94-c738-4f3e-92fa-8e2917fe4fbf","directory":"new-york-mysteries-high-voltage","title":"New York Mysteries: High Voltage","compatibility":99,"releases":[{"id":"0100D7E016684000","region":null}]},{"id":"d0750daa-36f8-4bc9-ab29-3d28702ca6dc","directory":"varion","title":"Varion","compatibility":99,"releases":[{"id":"01009DE00B5CC000","region":null}]},{"id":"d077e458-7680-4951-b9b4-79902df25f56","directory":"offroad-driving-simulator-4x4-trucks-suv-trophy","title":"Offroad Driving Simulator 4x4: Trucks & SUV Trophy","compatibility":0,"releases":[{"id":"0100352013A44000","region":null}]},{"id":"d088cd4d-b39f-4aad-ac15-1e4ec3ecfc3a","directory":"hypnospace-outlaw","title":"Hypnospace Outlaw","compatibility":5,"releases":[{"id":"0100959010466000","region":null}]},{"id":"d08c6b4e-bf19-46e8-9bf7-578c6ea5b749","directory":"glaive-brick-breaker","title":"Glaive: Brick Breaker","compatibility":99,"releases":[{"id":"01005CB009E20000","region":null}]},{"id":"d0b112f8-1338-4f3a-acdd-1e965b02f982","directory":"parallel","title":"Parallel","compatibility":99,"releases":[{"id":"0100F8300A95C000","region":null}]},{"id":"d0c599cd-0074-472a-a53a-64ef9e166998","directory":"rest-in-pieces","title":"Rest in Pieces","compatibility":99,"releases":[{"id":"01004A600EB3E000","region":null}]},{"id":"d0d217b1-ec06-4940-9e75-610b09c69a38","directory":"the-last-campfire","title":"The Last Campfire","compatibility":1,"releases":[{"id":"0100449011506000","region":null}]},{"id":"d0d8a2d4-3b46-4423-9013-0f25bf080c25","directory":"the-rainsdowne-players","title":"The Rainsdowne Players","compatibility":99,"releases":[{"id":"010093600D5E0000","region":null}]},{"id":"d0d8c7fb-1f46-4832-bab2-ef2939907299","directory":"off-the-road-unleashed","title":"Off The Road Unleashed","compatibility":5,"releases":[{"id":"010045C0112F8000","region":null}]},{"id":"d0e01eb7-a67e-4135-89fd-04045766f9c1","directory":"letter-quest-remastered","title":"Letter Quest Remastered","compatibility":0,"releases":[{"id":"01008C300648E000","region":null}]},{"id":"d0e8bcda-7233-483e-9532-9c75535104c9","directory":"dexteritrip","title":"Dexteritrip","compatibility":99,"releases":[{"id":"010044000CBCA000","region":null}]},{"id":"d10be0fa-5686-46d4-a3ff-89be08d43638","directory":"pawn-of-the-dead","title":"Pawn of the Dead","compatibility":99,"releases":[{"id":"0100D8C01674C000","region":null}]},{"id":"d10ca87b-133c-4fa9-98b4-5b685f6198d4","directory":"billy-bomber","title":"Billy Bomber","compatibility":99,"releases":[{"id":"010008600F1F2000","region":null}]},{"id":"d112c338-f11a-40ef-b45d-6b0f5ba0f52d","directory":"140","title":"140","compatibility":99,"releases":[{"id":"01007E600EEE6000","region":null}]},{"id":"d119cf47-894d-4262-b7d1-32cb571e9766","directory":"rusty-spout-rescue-adventure","title":"Rusty Spout Rescue Adventure","compatibility":99,"releases":[{"id":"01000C6011AC2000","region":null}]},{"id":"d11f95b6-39ed-414f-be29-a93ea951201f","directory":"resident-evil-revelations","title":"Resident Evil Revelations","compatibility":1,"releases":[{"id":"0100643002136000","region":null}]},{"id":"d11ffa35-50dc-4c4c-a773-92cd88069c33","directory":"disgaea-1-complete","title":"Disgaea 1 Complete","compatibility":1,"releases":[{"id":"01004B100AF18000","region":null}]},{"id":"d120fb0f-3132-470d-bdfa-3d2815b4157c","directory":"arcade-archives-star-force","title":"Arcade Archives STAR FORCE","compatibility":4,"releases":[{"id":"010069F008A38000","region":null}]},{"id":"d123ed9b-53f8-46fb-a572-2bb11de5274c","directory":"borderlands-game-of-the-year-edition","title":"Borderlands: Game of the Year Edition","compatibility":3,"releases":[{"id":"010064800F66A000","region":null}]},{"id":"d1479d55-bd27-4697-a84f-ae274edea267","directory":"panzer-dragoon-remake","title":"Panzer Dragoon: Remake","compatibility":2,"releases":[{"id":"0100C6A00E94A000","region":null}]},{"id":"d150f0fb-9a4c-4b6b-b46c-5b05fa9e8f9d","directory":"fishing-adventure","title":"Fishing Adventure","compatibility":99,"releases":[{"id":"01002600105C6000","region":null}]},{"id":"d153618a-97b1-4311-8ba7-f1ac9a914c1a","directory":"blazerush","title":"BlazeRush","compatibility":99,"releases":[{"id":"0100AD400BBE0000","region":null}]},{"id":"d16395e8-9d40-46c9-8855-f67c79784eac","directory":"children-of-zodiarcs","title":"Children of Zodiarcs","compatibility":1,"releases":[{"id":"0100C1A00AC3E000","region":null}]},{"id":"d1644656-e78d-46e9-81f2-a789f8723ed0","directory":"tiny-hands-adventure","title":"Tiny Hands Adventure","compatibility":99,"releases":[{"id":"010061A00AE64000","region":null}]},{"id":"d1671d5d-ef39-4574-9efc-e0f97028cdf6","directory":"lost-horizon-2","title":"Lost Horizon 2","compatibility":99,"releases":[{"id":"01005ED010642000","region":null}]},{"id":"d16c1a0c-5691-4d7c-99f3-538bc61cba9c","directory":"aca-neogeo-magician-lord","title":"ACA NEOGEO MAGICIAN LORD","compatibility":99,"releases":[{"id":"01007920038F6000","region":null}]},{"id":"d17084d5-9f5f-4a8e-8cdb-0e7c80a0dabb","directory":"darius-cozmic-collection-arcade","title":"Darius Cozmic Collection Arcade","compatibility":1,"releases":[{"id":"01001D20105C0000","region":null}]},{"id":"d177c225-3144-4ec8-adaa-a92e4b06c588","directory":"fantasy-general-ii-invasion","title":"Fantasy General II: Invasion","compatibility":99,"releases":[{"id":"0100C7D012FB8000","region":null}]},{"id":"d18db235-aaa7-4e7c-9417-4e9d6375b2cb","directory":"arcade-archives-vendetta","title":"Arcade Archives VENDETTA","compatibility":4,"releases":[{"id":"010087D0150BE000","region":null}]},{"id":"d194ad8a-c250-42d5-8d32-010012b6fd6d","directory":"lucah-born-of-a-dream","title":"Lucah: Born of a Dream","compatibility":99,"releases":[{"id":"0100AAA00DD4C000","region":null}]},{"id":"d197e8b2-5ec1-4d22-904b-d98a314ca8b2","directory":"the-kings-bird","title":"The King's Bird","compatibility":4,"releases":[{"id":"010020500BD98000","region":null}]},{"id":"d1a42825-d60b-4212-a5d3-905327a08b5f","directory":"fast-furious-spy-racers-rise-of-sh1ft3r","title":"Fast & Furious: Spy Racers Rise of SH1FT3R","compatibility":1,"releases":[{"id":"010034C013624000","region":null}]},{"id":"d1aee9c1-f8f5-414e-b2d2-c47c0f74a9fd","directory":"shadow-of-loot-box","title":"Shadow of Loot Box","compatibility":99,"releases":[{"id":"010051A00AAEA000","region":null}]},{"id":"d1be6636-c693-4f54-a9e2-66e5295f1450","directory":"funtime","title":"#Funtime","compatibility":99,"releases":[{"id":"01001E500F7FC000","region":null}]},{"id":"d1bf2326-5a7d-4b55-a0fd-c54694de62da","directory":"fates-of-ort","title":"Fates of Ort","compatibility":99,"releases":[{"id":"010087C014FD4000","region":null}]},{"id":"d1cff173-12ce-43a6-93f9-4602ca26cbcd","directory":"pokemon-tv","title":"Pokémon TV","compatibility":99,"releases":[{"id":"010009F014D98000","region":null}]},{"id":"d1d243ff-30e0-40b5-b6c9-a2bb406fba47","directory":"aca-neogeo-shock-troopers-2nd-squad","title":"ACA NEOGEO SHOCK TROOPERS 2nd Squad","compatibility":4,"releases":[{"id":"01004DE001DC8000","region":null}]},{"id":"d1da71b5-14db-4f16-8ca9-5ab9cd5efe36","directory":"desktop-dodgeball","title":"Desktop Dodgeball","compatibility":99,"releases":[{"id":"010056E00FA3A000","region":null}]},{"id":"d1dc2e04-ea88-4c32-8d70-0b42ee4b1164","directory":"blacksea-odyssey","title":"Blacksea Odyssey","compatibility":99,"releases":[{"id":"01006B400C178000","region":null}]},{"id":"d1f40ec1-3c38-4ce5-bd00-972131faed72","directory":"horror-adventure-pinball","title":"Horror & Adventure Pinball","compatibility":99,"releases":[{"id":"01004510164CC000","region":null}]},{"id":"d1f41128-7cf7-492f-bad1-53e745ff775e","directory":"slither-loop","title":"Slither Loop","compatibility":99,"releases":[{"id":"0100820012ADE000","region":null}]},{"id":"d202435b-f4b7-4db1-a122-23de0214fde9","directory":"alphaset-by-powgi","title":"Alphaset by POWGI","compatibility":99,"releases":[{"id":"010053B0123DC000","region":null}]},{"id":"d20c7626-0bd5-4e8a-825a-1bd34b55134f","directory":"dark-nights-with-poe-and-munro","title":"Dark Nights with Poe and Munro","compatibility":99,"releases":[{"id":"0100669011998000","region":null}]},{"id":"d20e9b02-7f30-4a49-a0b5-1a5a360e82b9","directory":"toridama-brave-challenge","title":"TORIDAMA: Brave Challenge","compatibility":99,"releases":[{"id":"0100D6700C3E6000","region":null}]},{"id":"d20eaad2-f177-40e8-8e22-378468e6a368","directory":"crysis-3-remastered","title":"Crysis 3 Remastered","compatibility":3,"releases":[{"id":"0100CD3010AE2000","region":null}]},{"id":"d21927b8-dd6a-464b-84d1-c8613f835bdb","directory":"ageless","title":"Ageless","compatibility":99,"releases":[{"id":"0100156011032000","region":null}]},{"id":"d21d93fa-6b44-48bc-8697-c4b11924b0a6","directory":"chefs-tail","title":"Chef's Tail","compatibility":99,"releases":[{"id":"010026D0153DC000","region":null}]},{"id":"d2234d6a-53c8-424a-abb8-2105502aaa86","directory":"xenon-valkyrie","title":"Xenon Valkyrie+","compatibility":4,"releases":[{"id":"010064200C324000","region":null}]},{"id":"d22541d7-6dfc-4c09-a3c6-9fbeaf6fdbc9","directory":"princess-closet","title":"Princess Closet","compatibility":2,"releases":[{"id":"010098201125E000","region":null}]},{"id":"d2256d10-d0dd-488a-81b7-e8e4d5637dd2","directory":"surgeon-simulator-cpr","title":"Surgeon Simulator CPR","compatibility":3,"releases":[{"id":"0100E7400B83E000","region":null}]},{"id":"d242cc49-8d05-46b8-92f3-89fc9c17a048","directory":"little-briar-rose","title":"Little Briar Rose","compatibility":99,"releases":[{"id":"010089400E4E2000","region":null}]},{"id":"d244dd22-df96-4b9f-9d85-5c299573aadd","directory":"vampyr","title":"VAMPYR","compatibility":1,"releases":[{"id":"01000BD00CE64000","region":null}]},{"id":"d245b6fb-6bf9-42d9-836d-11c3ccefce70","directory":"rock-n-racing-bundle-3-in-1","title":"Rock 'N Racing Bundle 3 in 1","compatibility":99,"releases":[{"id":"010061B013EB2000","region":null}]},{"id":"d24bf428-0193-43a4-a9a5-482532b18691","directory":"stick-it-to-the-man","title":"Stick It to The Man","compatibility":99,"releases":[{"id":"0100AD7003FF4000","region":null}]},{"id":"d24dd89c-a7a5-41d4-9149-24e7ac77fb3a","directory":"karma-knight","title":"Karma Knight","compatibility":2,"releases":[{"id":"01005300128E2000","region":null}]},{"id":"d251b0d3-483a-4281-83a0-14ebe4aca425","directory":"nowhere-prophet","title":"Nowhere Prophet","compatibility":99,"releases":[{"id":"0100CC1010464000","region":null}]},{"id":"d28d63c1-d79e-40a0-8a2c-89072a1c84d7","directory":"doom-r-eternal","title":"DOOM® Eternal","compatibility":4,"releases":[{"id":"0100B1A00D8CE000","region":null}]},{"id":"d2987bfe-b0a6-452d-a1ea-5c7fc2cc350c","directory":"city-stunt-driver","title":"City Stunt Driver","compatibility":99,"releases":[{"id":"010074A016842000","region":null}]},{"id":"d2aa6231-e793-44f5-af89-e97f88e5fe1f","directory":"arcade-archives-kiki-kaikai","title":"Arcade Archives KIKI KAIKAI","compatibility":99,"releases":[{"id":"0100A3B009838000","region":null}]},{"id":"d2b91a0d-0d81-4716-af89-f3db36baf92d","directory":"blair-witch","title":"Blair Witch","compatibility":0,"releases":[{"id":"01006CC01182C000","region":null}]},{"id":"d2bbc354-6dbc-475c-a920-e1d566467f4d","directory":"meteoroids-3d","title":"Meteoroids 3D","compatibility":99,"releases":[{"id":"0100D7D015A6C000","region":null}]},{"id":"d2c7778e-b902-4e7e-a7cd-2df387edd4c4","directory":"ninnindays","title":"NinNinDays","compatibility":5,"releases":[{"id":"0100746010E4C000","region":null}]},{"id":"d2ca20c3-7391-4229-a198-6c8fc5d14cec","directory":"bloodstained-ritual-of-the-night","title":"Bloodstained: Ritual of the Night","compatibility":0,"releases":[{"id":"0100BF500207C000","region":null}]},{"id":"d2d6dd75-a329-47e6-bb6d-40d4b7bf0391","directory":"last-encounter","title":"Last Encounter","compatibility":99,"releases":[{"id":"010067A00964E000","region":null}]},{"id":"d2dbf399-c80a-4e86-b0e5-2469df8e5f07","directory":"shmubedi-boo","title":"Shmubedi Boo","compatibility":99,"releases":[{"id":"0100ECD01165C000","region":null}]},{"id":"d2e4b5d9-c1f4-4d71-ac29-ce3b59174693","directory":"baobabs-mausoleum-grindhouse-edition","title":"Baobabs Mausoleum Grindhouse Edition","compatibility":99,"releases":[{"id":"01003370139D4000","region":null}]},{"id":"d2e9d740-7d1e-492c-b345-2f47560a5cd0","directory":"fire-emblem-three-houses","title":"Fire Emblem™: Three Houses","compatibility":1,"releases":[{"id":"010055D009F78000","region":null}]},{"id":"d3037026-9fbc-4fe5-b211-81d4c909f224","directory":"gridd-retroenhanced","title":"GRIDD: Retroenhanced","compatibility":99,"releases":[{"id":"0100197008B52000","region":null}]},{"id":"d324e114-3c28-41f1-91a4-f0578a5c4964","directory":"eekeemoo-splinters-of-the-dark-shard","title":"Eekeemoo - Splinters of the Dark Shard","compatibility":99,"releases":[{"id":"01006F900A298000","region":null}]},{"id":"d3294eef-1cb4-425e-bb8b-138975d46fbf","directory":"holy-potatoes-what-the-hell","title":"Holy Potatoes! What The Hell?!","compatibility":99,"releases":[{"id":"0100342009E16000","region":null}]},{"id":"d32c2561-2fa3-4197-8664-167204d37276","directory":"chess-brain","title":"Chess Brain","compatibility":99,"releases":[{"id":"0100CF9015A60000","region":null}]},{"id":"d32ee037-c307-497a-bb6a-ae9eefa9322b","directory":"l-o-l-surprise-remix-we-rule-the-world","title":"L.O.L. Surprise! Remix: We Rule The World","compatibility":99,"releases":[{"id":"0100F2B0123AE000","region":null}]},{"id":"d33a5314-a01b-4c40-b235-e3bd46289ad6","directory":"transient-extended-edition","title":"Transient: Extended Edition","compatibility":99,"releases":[{"id":"0100D080166F8000","region":null}]},{"id":"d33bd133-c30f-4da4-be1a-ff901d7360a3","directory":"astalon-tears-of-the-earth","title":"Astalon: Tears of the Earth","compatibility":99,"releases":[{"id":"01004A2013ACE000","region":null}]},{"id":"d34900ef-3d0a-49ef-baa0-eabc703b0a83","directory":"collection-of-saga-final-fantasy-legend","title":"COLLECTION of SaGa FINAL FANTASY LEGEND","compatibility":99,"releases":[{"id":"0100B77012266000","region":null}]},{"id":"d3598c85-4040-42dd-88d7-3af5cf1b0fac","directory":"new-frontier-days-~founding-pioneers~","title":"New Frontier Days ~Founding Pioneers~","compatibility":0,"releases":[{"id":"01004C200100E000","region":null}]},{"id":"d35bbe3b-4fbb-4245-acdd-47e40a2b712b","directory":"songbird-symphony","title":"Songbird Symphony","compatibility":99,"releases":[{"id":"0100E5400BF94000","region":null}]},{"id":"d36db1f0-f16a-4342-ac73-79788e1369d9","directory":"rise-race-the-future","title":"Rise: Race The Future","compatibility":0,"releases":[{"id":"01006BA00E652000","region":null}]},{"id":"d380f6ce-85b7-45fa-a705-c61224a01bdd","directory":"youkai-poetry","title":"Youkai Poetry","compatibility":99,"releases":[{"id":"010085D014E02000","region":null}]},{"id":"d38bf005-b14b-452d-94b7-914de329b22f","directory":"grood","title":"Grood","compatibility":99,"releases":[{"id":"01005240121F2000","region":null}]},{"id":"d38c61bf-e9ba-437e-849c-7b6d1e8944a6","directory":"pix-the-cat","title":"Pix the Cat","compatibility":99,"releases":[{"id":"010088800B72E000","region":null}]},{"id":"d395917d-3947-4620-8a5f-f65c48cc1de9","directory":"mask-of-mists","title":"Mask of Mists","compatibility":99,"releases":[{"id":"0100FFE011F0A000","region":null}]},{"id":"d399cc0c-d888-43c6-acbb-46558b532c02","directory":"xenon-racer","title":"Xenon Racer","compatibility":1,"releases":[{"id":"010026800BA16000","region":null}]},{"id":"d3c7759f-c161-45eb-9b3b-4f8c86b64f5d","directory":"assassins-creed-iii-remastered","title":"Assassin's Creed III: Remastered","compatibility":5,"releases":[{"id":"01007F600B134000","region":null}]},{"id":"d3c828fb-c216-4bff-92b0-53c10280f96c","directory":"drive-buy","title":"Drive Buy","compatibility":99,"releases":[{"id":"010093A0108DC000","region":null}]},{"id":"d3cd40fa-3e6b-423d-8ee6-de9c50bf8671","directory":"serious-scramblers","title":"Serious Scramblers","compatibility":99,"releases":[{"id":"0100C8C00FA10000","region":null}]},{"id":"d3f29998-0a92-43af-8475-d2589772f472","directory":"demetrios-demo","title":"Demetrios Demo","compatibility":99,"releases":[{"id":"0100CA300C5BA000","region":null}]},{"id":"d3ffc8c1-0cf4-4524-99c3-df007580c958","directory":"little-big-workshop","title":"Little Big Workshop","compatibility":4,"releases":[{"id":"0100F6B01188E000","region":null}]},{"id":"d40540ea-ce05-4291-b37a-f9107140a101","directory":"alphadia-genesis-2","title":"Alphadia Genesis 2","compatibility":99,"releases":[{"id":"01005CE015080000","region":null}]},{"id":"d417f438-90ee-49ea-8f67-336dd8a8b61a","directory":"route-me-mail-and-delivery-co","title":"Route Me Mail and Delivery Co","compatibility":99,"releases":[{"id":"01001C701481C000","region":null}]},{"id":"d41c70bf-abf9-41b9-9583-e17f157d972a","directory":"castle-of-heart","title":"Castle of Heart","compatibility":4,"releases":[{"id":"01003C100445C000","region":null}]},{"id":"d41c7b82-556f-4118-b045-60e3e172eacb","directory":"tanks-meet-zombies","title":"Tanks Meet Zombies","compatibility":99,"releases":[{"id":"010030B00C370000","region":null}]},{"id":"d4294b31-63cc-40d6-afa9-be5938d414e2","directory":"glo","title":"GLO","compatibility":99,"releases":[{"id":"010027C01545C000","region":null}]},{"id":"d42b87fc-4a91-4392-a070-45ea07993631","directory":"dragon-quest-builders-demo","title":"Dragon Quest Builders™ Demo","compatibility":99,"releases":[{"id":"0100C360070F6000","region":null}]},{"id":"d4560c63-d81e-49ed-8d18-8d2bd2a836f9","directory":"indygo","title":"Indygo","compatibility":99,"releases":[{"id":"01004C8012BB8000","region":null}]},{"id":"d459418d-4363-40c2-ba22-3de0da4f66db","directory":"xcom-r-2-collection","title":"XCOM® 2 Collection","compatibility":99,"releases":[{"id":"0100D0B00FB74000","region":null}]},{"id":"d45dc0d3-7ea2-428e-b0ee-0bd0694bd0ea","directory":"little-town-hero","title":"Little Town Hero","compatibility":1,"releases":[{"id":"01000FB00AA90000","region":null}]},{"id":"d4721e00-04c8-47a1-9aeb-1507b142ecb3","directory":"puyo-puyo-tetris","title":"Puyo Puyo Tetris","compatibility":0,"releases":[{"id":"010073C001D5E000","region":null}]},{"id":"d4783ffe-a52c-43ca-a7ce-2c70fe45e6dc","directory":"aca-neogeo-metal-slug-x","title":"ACA NEOGEO METAL SLUG X","compatibility":3,"releases":[{"id":"01008FD004DB6000","region":null}]},{"id":"d480d866-42ed-47d4-8153-ef9e0baec570","directory":"fruitfall-crush","title":"FruitFall Crush","compatibility":2,"releases":[{"id":"010038A007AA4000","region":null}]},{"id":"d48c0f2d-35e8-42c0-aa8c-3ef1e6be0222","directory":"gunmas-ambition-you-and-me-are-gunma-","title":"Gunma's Ambition  -You and me are Gunma-","compatibility":99,"releases":[{"id":"0100EC20101E4000","region":null}]},{"id":"d48e351b-7ceb-49ed-ae84-4e33498087be","directory":"pulstario","title":"Pulstario","compatibility":99,"releases":[{"id":"0100D61010526000","region":null}]},{"id":"d49c3734-881b-4a61-8e9c-3b68863ce01b","directory":"shinobi-spirits-s-legend-of-heroes","title":"Shinobi Spirits S: Legend of Heroes","compatibility":99,"releases":[{"id":"0100B0300E8B6000","region":null}]},{"id":"d4b52b6b-b051-49df-ad63-c46256997cbb","directory":"draw-chilly","title":"DRAW CHILLY","compatibility":99,"releases":[{"id":"01004C100FA84000","region":null}]},{"id":"d4c0fb54-92db-4d25-b1d5-663946c9b810","directory":"nostalgic-train","title":"NOSTALGIC TRAIN","compatibility":3,"releases":[{"id":"0100160014F22000","region":null}]},{"id":"d4d234e9-7cae-48ae-aaa2-a4df3fb2b619","directory":"the-count-lucanor","title":"The Count Lucanor","compatibility":4,"releases":[{"id":"01000850037C0000","region":null}]},{"id":"d4d9fada-1bbe-4c1b-b1d1-dde781ef3273","directory":"elea-paradigm-shift","title":"ELEA: Paradigm Shift","compatibility":99,"releases":[{"id":"010008E010012000","region":null}]},{"id":"d4e2a041-a7a8-4702-9d91-d27600841b7b","directory":"family-mysteries-3-criminal-mindset","title":"Family Mysteries 3: Criminal Mindset","compatibility":99,"releases":[{"id":"01001F0014C32000","region":null}]},{"id":"d4ec35a7-05e2-4cb7-9b60-66b8d0252df6","directory":"chronus-arc","title":"Chronus Arc","compatibility":99,"releases":[{"id":"0100E9F00CACC000","region":null}]},{"id":"d4f22e49-cb2d-4d37-ab91-d415068a7e08","directory":"the-bards-tale-arpg-remastered-and-resnarkled","title":"The Bard's Tale ARPG: Remastered and Resnarkled","compatibility":4,"releases":[{"id":"0100CD500DDAE000","region":null}]},{"id":"d5208571-4019-420a-a84e-2b19376c4d75","directory":"travel-mosaics-4-adventures-in-rio","title":"Travel Mosaics 4: Adventures In Rio","compatibility":99,"releases":[{"id":"010096D010BFE000","region":null}]},{"id":"d5293900-e532-49a3-9cf6-a198c70c2ed5","directory":"steven-universe-save-the-light","title":"Steven Universe: Save the Light","compatibility":1,"releases":[{"id":"010008C00B2F2000","region":null}]},{"id":"d52a5e97-8250-42a2-aea1-7e77139b74dd","directory":"active-life-outdoor-challenge","title":"ACTIVE LIFE Outdoor Challenge","compatibility":99,"releases":[{"id":"0100A21012AA6000","region":null}]},{"id":"d52b6ebb-aefa-4e73-bfe4-b5db0874dc77","directory":"double-dragon-and-kunio-kun-retro-brawler-bundle","title":"Double Dragon & Kunio-kun: Retro Brawler Bundle","compatibility":99,"releases":[{"id":"0100B1500E9F2000","region":null}]},{"id":"d531a3c3-c8b1-4af1-9be6-64d06232b197","directory":"abzu","title":"ABZÛ","compatibility":1,"releases":[{"id":"0100C1300BBC6000","region":null}]},{"id":"d53388e7-ef5b-429a-975c-3fb909854f44","directory":"little-squires-quests","title":"Little Squire's Quests","compatibility":99,"releases":[{"id":"0100DF9013D68000","region":null}]},{"id":"d535c1fe-d0dd-4788-926a-26d0f2d53c54","directory":"dadish-2","title":"Dadish 2","compatibility":99,"releases":[{"id":"0100BB70140BA000","region":null}]},{"id":"d54228d6-e050-49d9-abba-8545e31d3635","directory":"bad-north-demo","title":"Bad North Demo","compatibility":99,"releases":[{"id":"010075000D092000","region":null}]},{"id":"d5461cfb-32d3-411f-b5b5-86bc0abb80b0","directory":"fifa-19","title":"FIFA 19","compatibility":5,"releases":[{"id":"0100FFA0093E8000","region":null}]},{"id":"d5492eab-3190-4ab3-807f-8acd3cde5c2f","directory":"animal-fight-club","title":"Animal Fight Club","compatibility":99,"releases":[{"id":"010019500E642000","region":null}]},{"id":"d54e03bf-d6ad-46a7-a12a-e716a0fa3efc","directory":"agatha-christie-the-abc-murders","title":"Agatha Christie - The ABC Murders","compatibility":0,"releases":[{"id":"010087C011C4E000","region":null}]},{"id":"d55c97d3-9740-4eea-bc50-99bb51dcafca","directory":"re-zero-starting-life-in-another-world-the-prophecy-of-the-throne","title":"Re:ZERO -Starting Life in Another World- The Prophecy of the Throne","compatibility":4,"releases":[{"id":"01000B20117B8000","region":null}]},{"id":"d55d9443-4a65-49ae-b131-8bfd11ef288b","directory":"seeders-puzzle-reboot","title":"Seeders Puzzle Reboot","compatibility":99,"releases":[{"id":"0100F3000EBA8000","region":null}]},{"id":"d565a08d-50b9-420d-a14c-e93489ba0da0","directory":"regalia-of-men-and-monarchs-royal-edition","title":"Regalia: Of Men and Monarchs - Royal Edition","compatibility":0,"releases":[{"id":"0100FDF0083A6000","region":null}]},{"id":"d56a1ed5-0639-4a7f-9f35-dd70546cdc87","directory":"sturmwind-ex","title":"STURMWIND EX","compatibility":1,"releases":[{"id":"0100C5500E7AE000","region":null}]},{"id":"d5839014-25b7-4e55-bae2-97761dc1a574","directory":"capes-escape-game-5th-room","title":"Cape’s Escape Game 5th Room","compatibility":99,"releases":[{"id":"0100B2A016C9E000","region":null}]},{"id":"d58a5308-7ee9-4b11-8fe6-82ec8ba70e80","directory":"reptilian-rebellion","title":"Reptilian Rebellion","compatibility":5,"releases":[{"id":"010094800D3DA000","region":null}]},{"id":"d58b415b-7455-4eda-8ecc-771a47b40040","directory":"aca-neogeo-football-frenzy","title":"ACA NEOGEO FOOTBALL FRENZY","compatibility":99,"releases":[{"id":"0100EEA00AFB2000","region":null}]},{"id":"d58babc8-9dd3-4ec7-b85a-59c7bcfb74bf","directory":"neon-junctions","title":"Neon Junctions","compatibility":99,"releases":[{"id":"010085900E3B6000","region":null}]},{"id":"d59d24da-7535-4e53-a69f-77933ec87bd8","directory":"ellen","title":"Ellen","compatibility":0,"releases":[{"id":"010021A00E6CC000","region":null}]},{"id":"d59f68fd-a339-4781-99a2-5c917b6c2a19","directory":"yumeutsutsu-re-master","title":"Yumeutsutsu Re:Master","compatibility":99,"releases":[{"id":"01004FE0107EE000","region":null}]},{"id":"d5b0ad7a-feb4-4205-baa5-35e242ff5d97","directory":"dungeon-warfare","title":"Dungeon Warfare","compatibility":99,"releases":[{"id":"0100F8900E878000","region":null}]},{"id":"d5b79c2d-8b45-4eba-91ed-3244a40c344e","directory":"the-fox-awaits-me","title":"The Fox Awaits Me","compatibility":1,"releases":[{"id":"01002B400B590000","region":null}]},{"id":"d5ce0068-d035-4a3e-b518-bef11c80a6d5","directory":"hopping-girl-kohane-jumping-kingdom-princess-of-the-black-rabbit","title":"Hopping girl KOHANE Jumping Kingdom: Princess of the Black Rabbit","compatibility":0,"releases":[{"id":"010087800EE5A000","region":null}]},{"id":"d5d2c2b1-ddc2-43fa-ba1d-582e9af1d698","directory":"axiom-verge","title":"Axiom Verge","compatibility":1,"releases":[{"id":"0100052004384000","region":null}]},{"id":"d5f87365-3e1a-4a35-8fb1-c5a53d730cda","directory":"super-blood-hockey","title":"Super Blood Hockey","compatibility":99,"releases":[{"id":"010051A00D716000","region":null}]},{"id":"d5fb943a-bf87-44b8-ba84-64785ac5b01e","directory":"rush-rover","title":"Rush Rover","compatibility":99,"releases":[{"id":"0100E3A00A9D4000","region":null}]},{"id":"d601023f-3b84-4c05-b83b-c892a41bfbb5","directory":"popslinger","title":"PopSlinger","compatibility":99,"releases":[{"id":"0100809016D64000","region":null}]},{"id":"d60141a6-da08-4c48-b219-195af502cf41","directory":"skyscrappers","title":"SkyScrappers","compatibility":99,"releases":[{"id":"0100EA400BF44000","region":null}]},{"id":"d60753c7-48ac-4405-b452-42a5830a9819","directory":"ships","title":"Ships","compatibility":99,"releases":[{"id":"01000E800FCB4000","region":null}]},{"id":"d6082ea2-0a5e-4e25-8258-b414b6fc1eb4","directory":"final-fantasy-ix","title":"FINAL FANTASY IX","compatibility":2,"releases":[{"id":"01007EF00B094000","region":null}]},{"id":"d60fe27f-f278-4a35-a5b0-4dce43616040","directory":"troubleshooter","title":"Troubleshooter","compatibility":99,"releases":[{"id":"0100B5B0113CE000","region":null}]},{"id":"d61dc3fb-6850-4fa0-a17e-d23a130c36a8","directory":"the-lost-child","title":"The Lost Child","compatibility":1,"releases":[{"id":"01008A000A404000","region":null}]},{"id":"d61ec2f0-1458-4630-ad7f-72ffa9192988","directory":"power-racing-bundle-2","title":"Power Racing Bundle 2","compatibility":99,"releases":[{"id":"0100AD6013E1A000","region":null}]},{"id":"d62192f4-889a-4092-9e0a-81ed397e36cb","directory":"animal-learning-puzzle-for-toddlers-and-kids","title":"Animal Learning Puzzle for Toddlers and Kids","compatibility":99,"releases":[{"id":"01007F00145B6000","region":null}]},{"id":"d6244f63-69ed-4239-a815-da9773b5d60d","directory":"heroes-trials","title":"Heroes Trials","compatibility":99,"releases":[{"id":"010082800AE4C000","region":null}]},{"id":"d628ef3c-21d5-4e0a-8bd3-b417da47e1b4","directory":"constructor-plus","title":"Constructor Plus","compatibility":99,"releases":[{"id":"0100A330022C2000","region":null}]},{"id":"d62f5cad-9584-4752-bdeb-27f44d355ee1","directory":"raiders-of-the-north-sea","title":"Raiders of the North Sea","compatibility":99,"releases":[{"id":"010091700D826000","region":null}]},{"id":"d6468228-23f3-480b-8fc4-755b1982b029","directory":"driving-school-sim","title":"Driving School Sim","compatibility":0,"releases":[{"id":"0100DDB014698000","region":null}]},{"id":"d64fee46-d9e4-45cb-af2a-628110dec13a","directory":"exit-the-gungeon","title":"Exit the Gungeon","compatibility":1,"releases":[{"id":"0100DD30110CC000","region":null}]},{"id":"d6661332-1336-4ec0-9f1f-94e4254f8b9a","directory":"the-mims-beginning","title":"The Mims Beginning","compatibility":99,"releases":[{"id":"010044500F3C2000","region":null}]},{"id":"d6665235-fbc2-4d84-933f-37cf8b7970bd","directory":"monster-slayers","title":"Monster Slayers","compatibility":99,"releases":[{"id":"0100D1700C732000","region":null}]},{"id":"d666541e-b88d-46d2-94f0-ce1adf6a5a97","directory":"monster-jam-crush-it","title":"Monster Jam Crush It!","compatibility":4,"releases":[{"id":"010088400366E000","region":null}]},{"id":"d68026d7-a665-4f65-9de6-944882e1eebd","directory":"animal-super-squad","title":"Animal Super Squad","compatibility":1,"releases":[{"id":"0100EFE009424000","region":null}]},{"id":"d685107c-e479-4812-a418-62b07ed26705","directory":"farabel","title":"Farabel","compatibility":99,"releases":[{"id":"0100C9E00FD62000","region":null}]},{"id":"d685818e-069f-49cb-afa4-2b4676effb86","directory":"wunderling","title":"Wunderling","compatibility":3,"releases":[{"id":"01001C400482C000","region":null}]},{"id":"d68a1756-a68b-4fae-a8e0-f894a754879e","directory":"carnivores-dinosaur-hunt","title":"Carnivores: Dinosaur Hunt","compatibility":0,"releases":[{"id":"01005F5011AC4000","region":null}]},{"id":"d68d309e-e981-43e1-a7a8-d717a92cef44","directory":"moon-hunters","title":"Moon Hunters","compatibility":1,"releases":[{"id":"01004FD00382A000","region":null}]},{"id":"d6945473-69bd-47d3-add3-e40663eac4a5","directory":"red-bow","title":"Red Bow","compatibility":1,"releases":[{"id":"0100CF600FF7A000","region":null}]},{"id":"d6b5c1a5-a7c2-46d3-bfd1-5c76e81a4d44","directory":"pippu-bauble-quest","title":"Pippu - Bauble Quest","compatibility":99,"releases":[{"id":"0100313014CE6000","region":null}]},{"id":"d6bb68a7-4e66-4e95-896d-1a898c82c71f","directory":"dracula-frames","title":"Dracula Frames","compatibility":99,"releases":[{"id":"0100898015EA0000","region":null}]},{"id":"d6c52671-6269-4d10-b9eb-66e07e073063","directory":"baron-fur-is-gonna-fly","title":"Baron: Fur Is Gonna Fly","compatibility":99,"releases":[{"id":"010039C0106C6000","region":null}]},{"id":"d6c7f3c4-9d47-4831-8edc-17960bcd3908","directory":"neon-city-riders","title":"Neon City Riders","compatibility":3,"releases":[{"id":"0100A7B00FFC2000","region":null}]},{"id":"d6d3fa1d-4981-4930-8a5d-0edd4268d05c","directory":"cook-serve-delicious-2","title":"Cook, Serve, Delicious! 2!!","compatibility":2,"releases":[{"id":"0100FD800D594000","region":null}]},{"id":"d6d59c49-a2f5-448d-be55-c608f12ac3b1","directory":"travel-mosaics-6-christmas-around-the-world","title":"Travel Mosaics 6: Christmas Around the World","compatibility":99,"releases":[{"id":"0100D520119D6000","region":null}]},{"id":"d6df1dcc-462a-4f2e-8a46-2d63a76e5b55","directory":"yoko-yuki-dr-rats-revenge","title":"Yoko & Yuki: Dr. Rat's Revenge","compatibility":99,"releases":[{"id":"010008C014432000","region":null}]},{"id":"d70dfc47-dfe6-4b37-8efc-adc4892a4a57","directory":"we-know-the-devil","title":"We Know the Devil","compatibility":99,"releases":[{"id":"01004BD015930000","region":null}]},{"id":"d70f690a-86a1-4dc1-8c47-fbcb41768456","directory":"hardcore-maze-cube","title":"Hardcore Maze Cube","compatibility":99,"releases":[{"id":"0100D55011D60000","region":null}]},{"id":"d716a219-57d7-4a1d-9d02-ff88817b5c1a","directory":"awesome-pea","title":"Awesome Pea","compatibility":1,"releases":[{"id":"0100B8C00CFCE000","region":null}]},{"id":"d71b2335-dffc-44b4-8a43-aa36377b1a0d","directory":"aca-neogeo-twinkle-star-sprites","title":"ACA NEOGEO TWINKLE STAR SPRITES","compatibility":5,"releases":[{"id":"0100B8300AFD8000","region":null}]},{"id":"d71c3d7e-b897-46e5-b72e-4094e0b6a473","directory":"arcade-archives-moon-cresta","title":"Arcade Archives MOON CRESTA","compatibility":99,"releases":[{"id":"01000BE001DD8000","region":null}]},{"id":"d723694c-9d80-4b95-b26d-2601b7a8f782","directory":"anima-gate-of-memories","title":"Anima: Gate of Memories","compatibility":2,"releases":[{"id":"0100706005B6A000","region":null}]},{"id":"d728ca60-7a80-408d-987b-4ff9559d659e","directory":"elliot-quest","title":"Elliot Quest","compatibility":0,"releases":[{"id":"0100128003A24000","region":null}]},{"id":"d728f66e-d930-4794-878a-911216453d3f","directory":"klondike-solitaire","title":"Klondike Solitaire","compatibility":4,"releases":[{"id":"010079D00C8AE000","region":null}]},{"id":"d72d7133-7c09-472c-9178-56ddd1006ce8","directory":"escape-from-tethys","title":"Escape From Tethys","compatibility":99,"releases":[{"id":"010092901203A000","region":null}]},{"id":"d7316e6c-c8a2-4670-8124-c70523961b15","directory":"lost-horizon","title":"Lost Horizon","compatibility":3,"releases":[{"id":"010064200F7D8000","region":null}]},{"id":"d7347d15-5f89-4d4f-a0d6-0471d95bbfb4","directory":"almightree-the-last-dreamer","title":"Almightree: The Last Dreamer","compatibility":99,"releases":[{"id":"010063000C3CE000","region":null}]},{"id":"d73f2a6c-0fd4-4fe4-87a2-c64a1999ffd8","directory":"skul-the-hero-slayer","title":"Skul: The Hero Slayer","compatibility":0,"releases":[{"id":"0100ACF013E9A000","region":null}]},{"id":"d7467fac-0a86-4ec1-b1c3-26552cb31158","directory":"volleyball-challenge","title":"Volleyball Challenge","compatibility":99,"releases":[{"id":"010032D014A38000","region":null}]},{"id":"d7481411-eb40-472d-a5bf-0d9c3e0da0b4","directory":"metropolis-lux-obscura-demo","title":"Metropolis: Lux Obscura Demo","compatibility":99,"releases":[{"id":"0100BB500AAE6000","region":null}]},{"id":"d74ed31b-5e23-4620-95bf-4231c8aeda25","directory":"ayo-the-clown","title":"Ayo the Clown","compatibility":0,"releases":[{"id":"01006C6014878000","region":null}]},{"id":"d7619e6a-e353-4159-8410-9e64c6aa3ece","directory":"snipperclips-cut-it-out-together","title":"Snipperclips – Cut it out, together!","compatibility":0,"releases":[{"id":"0100704000B3A000","region":null}]},{"id":"d763e7f0-514a-4068-9421-4242182d02c3","directory":"spiritsphere-dx","title":"SpiritSphere DX","compatibility":99,"releases":[{"id":"01009D60080B4000","region":null}]},{"id":"d7666df1-e78b-48f7-865d-02ed0ef64284","directory":"aca-neogeo-the-last-blade-2","title":"ACA NEOGEO THE LAST BLADE 2","compatibility":4,"releases":[{"id":"0100699008792000","region":null}]},{"id":"d769a038-2360-4472-afed-ea5833e576ff","directory":"the-raven-remastered","title":"The Raven Remastered","compatibility":99,"releases":[{"id":"010058A00BF1C000","region":null}]},{"id":"d76d0e7f-fb0f-4abb-a048-c7c46c594b56","directory":"beats-runner","title":"Beats Runner","compatibility":99,"releases":[{"id":"010095200EA5E000","region":null}]},{"id":"d76f30f6-1b74-426e-8443-a17e46c7032c","directory":"640","title":"64.0","compatibility":99,"releases":[{"id":"0100EFE00E964000","region":null}]},{"id":"d771a0c2-0ef6-4f31-b4fe-34484d10f0e1","directory":"lego-r-marvel-super-heroes","title":"LEGO® Marvel™ Super Heroes","compatibility":99,"releases":[{"id":"01006F600FFC8000","region":null}]},{"id":"d77754c8-ce77-4b12-b28c-207a11d80486","directory":"new-york-mysteries-the-lantern-of-souls","title":"New York Mysteries: The Lantern of Souls","compatibility":99,"releases":[{"id":"010051801671C000","region":null}]},{"id":"d78b4acc-f275-423d-98cb-9f008565e50f","directory":"daemon-x-machina-prototype-missions","title":"DAEMON X MACHINA: Prototype Missions","compatibility":5,"releases":[{"id":"0100BF600D83A000","region":null}]},{"id":"d790af9a-03ef-4770-a46f-02a627893cff","directory":"rabi-ribi","title":"Rabi-Ribi","compatibility":0,"releases":[{"id":"01005BF00E4DE000","region":null}]},{"id":"d7983a9f-23af-4c8c-acf7-18dcc9929130","directory":"indie-gems-bundle-explosions-edition","title":"Indie Gems Bundle - Explosions Edition","compatibility":99,"releases":[{"id":"01004C300FCD4000","region":null}]},{"id":"d79bf50b-068f-417b-aa2c-10990f497e54","directory":"spaceship-curse","title":"Spaceship Curse","compatibility":99,"releases":[{"id":"01007E40136D8000","region":null}]},{"id":"d7a27863-6c7d-42a8-a711-c2bffcc840fb","directory":"machiknights-blood-bagos-","title":"MachiKnights -Blood bagos-","compatibility":99,"releases":[{"id":"0100F2400D434000","region":null}]},{"id":"d7a4fff4-4b7c-4ac3-909d-f4dfcb541f7f","directory":"figment","title":"Figment","compatibility":2,"releases":[{"id":"0100118009C68000","region":null}]},{"id":"d7b90751-492f-4f6c-9fa9-46ab6a0a8e28","directory":"vampire-the-masquerade-shadows-of-new-york","title":"Vampire: The Masquerade - Shadows of New York","compatibility":99,"releases":[{"id":"01002C301280E000","region":null}]},{"id":"d7ba4e5b-9bb3-4ead-ae31-7b19cf9bbd4c","directory":"jenny-leclue-detectivu","title":"Jenny LeClue - Detectivu","compatibility":99,"releases":[{"id":"0100C2700AEB8000","region":null}]},{"id":"d7bbc108-4e7f-45be-9010-d895e450e160","directory":"mike-dies","title":"Mike Dies","compatibility":99,"releases":[{"id":"0100D0B00AEFA000","region":null}]},{"id":"d7c4b996-06b5-4a77-b371-59ec650ac0fa","directory":"the-coma-2-vicious-sisters","title":"The Coma 2: Vicious Sisters","compatibility":2,"releases":[{"id":"0100B7C01169C000","region":null}]},{"id":"d7cb6045-ec59-4b49-8f7a-aa7a3733a384","directory":"aggelos","title":"Aggelos","compatibility":2,"releases":[{"id":"010004D00A9C0000","region":null}]},{"id":"d7e148a4-58c3-48c8-ac47-c80b64caaaa5","directory":"dawn-of-survivors-2","title":"Dawn of Survivors 2","compatibility":99,"releases":[{"id":"0100878014E22000","region":null}]},{"id":"d7eb9805-9473-4a97-b184-a009036d1c66","directory":"pocket-harvest","title":"Pocket Harvest","compatibility":99,"releases":[{"id":"010058C00E25A000","region":null}]},{"id":"d7f6915c-70d7-4a17-91ce-0278ad129837","directory":"ruined-king-a-league-of-legends-story","title":"Ruined King: A League of Legends Story™","compatibility":99,"releases":[{"id":"0100947013122000","region":null}]},{"id":"d7fb4d90-af27-4aff-abc4-e826ba7c08b9","directory":"candle-the-power-of-the-flame","title":"Candle: The Power of the Flame","compatibility":2,"releases":[{"id":"0100E4600B166000","region":null}]},{"id":"d80b85e5-a0fb-4cde-a8b4-541c0d91c188","directory":"crysis-2-remastered","title":"Crysis 2 Remastered","compatibility":3,"releases":[{"id":"0100582010AE0000","region":null}]},{"id":"d80d4c50-6082-4a0a-a187-1aab0d96cd3d","directory":"sports-pinball-bundle","title":"Sports Pinball Bundle","compatibility":99,"releases":[{"id":"0100F490151AA000","region":null}]},{"id":"d81b007e-3929-4409-bbbb-b773feb5b5a0","directory":"bacon-man-an-adventure","title":"Bacon Man: An Adventure","compatibility":2,"releases":[{"id":"0100EAF00E32E000","region":null}]},{"id":"d8223ab4-0a9e-4af8-bd29-bcb47765a700","directory":"necrobarista-final-pour","title":"Necrobarista - Final Pour -","compatibility":3,"releases":[{"id":"0100E64015370000","region":null}]},{"id":"d829859a-8f1c-4889-af67-04c42c18d010","directory":"rise-eterna","title":"Rise Eterna","compatibility":99,"releases":[{"id":"010015F014A5C000","region":null}]},{"id":"d82db4aa-3989-46ee-afb2-81b93d70132b","directory":"friday-the-13th-the-game-ultimate-slasher-edition","title":"Friday the 13th: The Game Ultimate Slasher Edition","compatibility":1,"releases":[{"id":"010092A00C4B6000","region":null}]},{"id":"d83882d1-7341-42ec-8472-bc815b5b77c3","directory":"ninja-striker","title":"Ninja Striker!","compatibility":99,"releases":[{"id":"010081D00A480000","region":null}]},{"id":"d83c61e4-c5a4-44cd-8b92-f1b6a481c209","directory":"anima-gate-of-memories-arcane-edition","title":"Anima: Gate of Memories - Arcane Edition","compatibility":2,"releases":[{"id":"010033F00B3FA000","region":null}]},{"id":"d8782742-ac16-4442-9bc9-7d1a90b71a11","directory":"driving-school-original","title":"Driving School Original","compatibility":99,"releases":[{"id":"01003FD00A02A000","region":null}]},{"id":"d87f369b-4830-4195-bfcc-90b58f03ce76","directory":"rainbows-toilets-unicorns","title":"Rainbows, toilets & unicorns","compatibility":99,"releases":[{"id":"01009D9010B9E000","region":null}]},{"id":"d887789a-f724-436a-abf5-fc806fbe94af","directory":"piczle-colors","title":"Piczle Colors","compatibility":99,"releases":[{"id":"010029600CD44000","region":null}]},{"id":"d88ecf98-a771-42ae-a6c2-2d986e0bc23a","directory":"we-should-talk","title":"We should talk.","compatibility":99,"releases":[{"id":"0100560010E3E000","region":null}]},{"id":"d892733a-387c-4d7a-8342-a21236137234","directory":"spidersolitaire-black","title":"SpiderSolitaire BLACK","compatibility":99,"releases":[{"id":"010082700C618000","region":null}]},{"id":"d8b69fdd-b1ef-4227-8b8a-b8fedcb1b15a","directory":"locomotion","title":"Locomotion","compatibility":99,"releases":[{"id":"0100708010800000","region":null}]},{"id":"d8bfaa4a-84da-48c4-a6c6-8607abfc7547","directory":"maria-the-witch","title":"Maria The Witch","compatibility":99,"releases":[{"id":"0100EB6005E90000","region":null}]},{"id":"d8d29a6a-bfc7-4c25-bd20-39b444eb2f2c","directory":"composer","title":"Composer","compatibility":0,"releases":[{"id":"0100BDA0165A6000","region":null}]},{"id":"d8e4737b-94d3-4ef8-8774-165f0d612a12","directory":"dinosaur-fossil-puzzles","title":"Dinosaur Fossil Puzzles","compatibility":99,"releases":[{"id":"0100B96015C94000","region":null}]},{"id":"d9063381-3ec8-46ad-b06f-ade2d6c413f4","directory":"animal-crossing-new-horizons-island-transfer-tool","title":"Animal Crossing: New Horizons Island Transfer Tool","compatibility":5,"releases":[{"id":"0100F38011CFE000","region":null}]},{"id":"d90675c0-2ab5-435d-b6e8-6e6472a8599f","directory":"unrailed","title":"Unrailed!","compatibility":5,"releases":[{"id":"010042C011476000","region":null}]},{"id":"d9154da6-bf4c-4b1d-9d94-5076036f18c5","directory":"digerati-presents-the-dungeon-crawl-vol-1","title":"Digerati Presents: The Dungeon Crawl Vol. 1","compatibility":2,"releases":[{"id":"010035D0121EC000","region":null}]},{"id":"d916405b-7b1c-4fc7-adfe-a709508a6eab","directory":"v-rally-4","title":"V-Rally 4","compatibility":2,"releases":[{"id":"010064400B138000","region":null}]},{"id":"d92616a9-b5e0-4bd4-9e84-bd3560305ac1","directory":"adams-venture-origins","title":"Adam's Venture™: Origins","compatibility":3,"releases":[{"id":"0100C0C0040E4000","region":null}]},{"id":"d92d6eda-6549-4403-b060-7235e392c83a","directory":"zenge","title":"Zenge","compatibility":99,"releases":[{"id":"01008DD0114AE000","region":null}]},{"id":"d934ef21-8915-4397-9aa5-badf6216369a","directory":"fall-of-light-darkest-edition","title":"Fall of Light: Darkest Edition","compatibility":1,"releases":[{"id":"01005A600BE60000","region":null}]},{"id":"d9383c45-e667-407c-9963-313d14cbf2ca","directory":"football-battle","title":"Football Battle","compatibility":99,"releases":[{"id":"01005F901566E000","region":null}]},{"id":"d93c9aaa-cd15-45fe-97d3-0d3de097ec33","directory":"diggerman","title":"Diggerman","compatibility":99,"releases":[{"id":"0100E4400C9A6000","region":null}]},{"id":"d9418c54-c9e5-41d7-82cb-54f1d8dd2fc7","directory":"red-square-escape-2","title":"Red Square Escape 2","compatibility":99,"releases":[{"id":"0100336015C9C000","region":null}]},{"id":"d942f99c-b439-4bb1-8e1f-fccae1150e85","directory":"bubble-shooter-fx","title":"Bubble Shooter FX","compatibility":99,"releases":[{"id":"0100C7C016454000","region":null}]},{"id":"d9498424-ba1e-4a9d-9d44-a9d3bb6b4e97","directory":"filmechanism","title":"FILMECHANISM","compatibility":99,"releases":[{"id":"01000F201542E000","region":null}]},{"id":"d94f8440-4b8d-4f85-add4-f4abaea4a72a","directory":"fantasy-strike","title":"Fantasy Strike","compatibility":0,"releases":[{"id":"0100944003820000","region":null}]},{"id":"d95c5eea-339d-467b-87b5-666ddf935fb8","directory":"metal-commando","title":"Metal Commando","compatibility":1,"releases":[{"id":"0100BE5015B7C000","region":null}]},{"id":"d96760e3-d400-48ad-a48f-0587b6408d2b","directory":"blue-reflection-second-light","title":"BLUE REFLECTION: Second Light","compatibility":3,"releases":[{"id":"010071C013390000","region":null}]},{"id":"d971d4b5-96cc-4f69-9e1f-5836927e0965","directory":"heroes-of-the-monkey-tavern","title":"Heroes of the Monkey Tavern","compatibility":1,"releases":[{"id":"0100352006A10000","region":null}]},{"id":"d9773332-1c8c-4609-8db0-4aa7c95ac156","directory":"mantis-burn-racing","title":"Mantis Burn Racing","compatibility":3,"releases":[{"id":"0100E98002F6E000","region":null}]},{"id":"d97a1052-c225-49e7-8dfa-3f5066ec300d","directory":"lego-city-undercover","title":"LEGO CITY Undercover","compatibility":1,"releases":[{"id":"01003A30012C0000","region":null}]},{"id":"d97dd4c0-39c6-4444-b826-3cf2d1908d3e","directory":"tamiku","title":"Tamiku","compatibility":99,"releases":[{"id":"010008A0128C4000","region":null}]},{"id":"d984a1db-aa05-46d6-8305-48c197d69eb0","directory":"turbo-skiddy-racing","title":"Turbo Skiddy Racing","compatibility":99,"releases":[{"id":"0100789014E26000","region":null}]},{"id":"d984cbcc-87f4-4393-8730-51e4f33f59e2","directory":"mx-vs-atv-all-out","title":"MX vs ATV All Out","compatibility":2,"releases":[{"id":"0100218011E7E000","region":null}]},{"id":"d98a3606-a089-48fb-83eb-9a8f5309c712","directory":"pixel-game-maker-series-werewolf-princess-kaguya","title":"Pixel Game Maker Series Werewolf Princess Kaguya","compatibility":3,"releases":[{"id":"0100859013CE6000","region":null}]},{"id":"d98e6ef8-6ce0-49bc-80bd-848b5a2da446","directory":"dead-synchronicity-tomorrow-comes-today","title":"Dead Synchronicity: Tomorrow Comes Today","compatibility":0,"releases":[{"id":"0100B410040F2000","region":null}]},{"id":"d9935299-e234-4546-91e8-7d8e5e31d93a","directory":"late-shift","title":"Late Shift","compatibility":99,"releases":[{"id":"0100055007B86000","region":null}]},{"id":"d997b974-3177-4091-b56d-a16af5dc6a7a","directory":"lost-lands-the-wanderer","title":"Lost Lands: The Wanderer","compatibility":99,"releases":[{"id":"0100AEC014C92000","region":null}]},{"id":"d99aa492-9a86-4cde-a2d1-76b2fb985866","directory":"alteric","title":"Alteric","compatibility":0,"releases":[{"id":"01004DB00935A000","region":null}]},{"id":"d9a29dc6-4b61-49c8-9b99-cd8f304e8c1d","directory":"fire-unghs-quest","title":"Fire: Ungh’s Quest","compatibility":99,"releases":[{"id":"010025C014798000","region":null}]},{"id":"d9ab34ff-9bf1-4c0d-ad9d-8767aa63cfdb","directory":"for-the-king","title":"For The King","compatibility":2,"releases":[{"id":"010069400B6BE000","region":null}]},{"id":"d9ac0026-c5e0-4cf0-9b9c-e45fe250d92f","directory":"aca-neogeo-art-of-fighting-2","title":"ACA NEOGEO ART OF FIGHTING 2","compatibility":4,"releases":[{"id":"010066600877E000","region":null}]},{"id":"d9b07875-7c0c-4a77-be7c-0b080588758b","directory":"the-great-ace-attorney-chronicles","title":"The Great Ace Attorney Chronicles","compatibility":0,"releases":[{"id":"010036E00FB20000","region":null}]},{"id":"d9c9e9c3-c5c3-41d2-8e89-d9f121676af9","directory":"dragon-quest-builders-2","title":"DRAGON QUEST BUILDERS 2","compatibility":2,"releases":[{"id":"010042000A986000","region":null}]},{"id":"d9ce454c-fe54-455f-8055-34fbe999e4dc","directory":"heart-chain-kitty","title":"Heart Chain Kitty","compatibility":99,"releases":[{"id":"010053C014E1A000","region":null}]},{"id":"d9dbef04-c3b9-4837-9a06-a192a999cac9","directory":"troubledays","title":"TroubleDays","compatibility":99,"releases":[{"id":"01005EA012430000","region":null}]},{"id":"d9e2fefe-9811-431a-83ea-60454d54a2ea","directory":"stealth","title":"Stealth","compatibility":99,"releases":[{"id":"01002BB013BF8000","region":null}]},{"id":"d9e9b661-e27d-4715-9e6d-73a08cb2e2f2","directory":"lumini","title":"Lumini","compatibility":99,"releases":[{"id":"010052B00B194000","region":null}]},{"id":"d9efb07c-f2eb-4060-a13c-4fedc9ca7b3f","directory":"lego-jurassic-world","title":"LEGO Jurassic World","compatibility":1,"releases":[{"id":"01001C100E772000","region":null}]},{"id":"d9f58c2d-3717-4af7-98e3-ca59b703d5fa","directory":"momolu-and-friends","title":"Momolu and Friends","compatibility":99,"releases":[{"id":"0100B6B015730000","region":null}]},{"id":"d9fd8635-f90c-4545-9c94-59189d564f59","directory":"motorsport-manager-for-nintendo-switch","title":"Motorsport Manager for Nintendo Switch","compatibility":1,"releases":[{"id":"01002A900D6D6000","region":null}]},{"id":"da0ac767-588d-485d-9a01-b9c11becce6e","directory":"paint-the-town-red","title":"Paint the Town Red","compatibility":99,"releases":[{"id":"010026E013EFC000","region":null}]},{"id":"da1add1b-4eec-4b87-9d6f-13c97275dfd1","directory":"parasomnia-verum","title":"Parasomnia Verum","compatibility":99,"releases":[{"id":"010055A015CE6000","region":null}]},{"id":"da1b224f-ade1-4945-97f4-9ad674e13834","directory":"die-for-valhalla","title":"Die for Valhalla!","compatibility":2,"releases":[{"id":"0100D98005E8C000","region":null}]},{"id":"da1d3b01-0136-48ce-bf47-c767adc61449","directory":"going-under","title":"Going Under","compatibility":1,"releases":[{"id":"01004D501113C000","region":null}]},{"id":"da385653-5743-48b0-bc11-c090634717d6","directory":"smash-reversi","title":"Smash Reversi","compatibility":99,"releases":[{"id":"01003C800CB9E000","region":null}]},{"id":"da3d011a-a65f-4087-99a4-a59d474a8f31","directory":"the-jackbox-party-pack-5","title":"The Jackbox Party Pack 5","compatibility":99,"releases":[{"id":"01006FE0096AC000","region":null}]},{"id":"da421095-f526-4b44-9ce8-5372f6ed7671","directory":"cotton-2-saturn-tribute","title":"COTTOn 2 - Saturn Tribute","compatibility":99,"releases":[{"id":"0100A18015268000","region":null}]},{"id":"da47bebd-8614-41c4-a1e9-c68ef285e670","directory":"inertial-drift","title":"Inertial Drift","compatibility":1,"releases":[{"id":"01002BD00F626000","region":null}]},{"id":"da492f06-5cf7-4d12-8919-d0039b3a094b","directory":"savage-halloween","title":"Savage Halloween","compatibility":1,"releases":[{"id":"01007130135E2000","region":null}]},{"id":"da518150-eeec-4374-adda-0e78a499cd36","directory":"gang-beasts","title":"Gang Beasts","compatibility":4,"releases":[{"id":"0100D58012E12000","region":null}]},{"id":"da571ffd-10d6-4742-8863-9b76d1423444","directory":"rush-rally-origins","title":"Rush Rally Origins","compatibility":5,"releases":[{"id":"0100EA00147A8000","region":null}]},{"id":"da60dc86-d21f-4e1b-ac3d-01b5bdda7d3d","directory":"the-dealer-simulator","title":"The Dealer Simulator","compatibility":99,"releases":[{"id":"01002FB013B8E000","region":null}]},{"id":"da6d87c2-16e7-4167-b32e-d48b7bcaf1d0","directory":"nicky-the-home-alone-golf-ball","title":"Nicky - The Home Alone Golf Ball","compatibility":99,"releases":[{"id":"010058800F860000","region":null}]},{"id":"da8aeb4f-e221-476e-98b9-e1791346d155","directory":"wytchwood","title":"Wytchwood","compatibility":99,"releases":[{"id":"01003750154D6000","region":null}]},{"id":"da8bae1a-6371-4c76-bb0f-045b977707e4","directory":"ace-invaders","title":"Ace Invaders","compatibility":2,"releases":[{"id":"0100189013E9C000","region":null}]},{"id":"da916662-5d0f-4b54-ab14-cf5853ce6a01","directory":"bit-trip-fate","title":"BIT.TRIP FATE","compatibility":99,"releases":[{"id":"0100744012D3E000","region":null}]},{"id":"dab9bdd8-50c5-494d-9d51-a730e2572387","directory":"shalnor-legends-sacred-lands","title":"Shalnor Legends: Sacred Lands","compatibility":99,"releases":[{"id":"0100B4900E008000","region":null}]},{"id":"dabd8a77-05fb-446d-89c6-f7a30c4a4c8b","directory":"titan-glory","title":"Titan Glory","compatibility":99,"releases":[{"id":"0100FE801185E000","region":null}]},{"id":"dac74b56-32dc-443a-b3d8-5dcbb57c1836","directory":"aca-neogeo-gururin","title":"ACA NEOGEO Gururin","compatibility":3,"releases":[{"id":"0100CE400A2FA000","region":null}]},{"id":"dadc95b7-16d7-44c3-a182-4e5a36aa4d8e","directory":"chess-knights-viking-lands","title":"Chess Knights: Viking Lands","compatibility":99,"releases":[{"id":"0100C51013902000","region":null}]},{"id":"dae411e3-69e2-4eac-a311-c34ba76f1cc6","directory":"guts-n-goals","title":"Guts 'N Goals","compatibility":99,"releases":[{"id":"01005930137AE000","region":null}]},{"id":"daefed59-5829-4f98-ada6-6aa48df7dadf","directory":"stab-stab-stab","title":"STAB STAB STAB!","compatibility":99,"releases":[{"id":"010095600F1A8000","region":null}]},{"id":"db0ad32b-1172-4711-9f2e-9543e6d7c40b","directory":"family-mysteries-2-echoes-of-tomorrow","title":"Family Mysteries 2: Echoes of Tomorrow","compatibility":99,"releases":[{"id":"0100335012D08000","region":null}]},{"id":"db336f39-2bf0-4f9f-9e6f-71dc20f968a6","directory":"rolling-sky-2","title":"Rolling Sky 2","compatibility":1,"releases":[{"id":"01007C900FD96000","region":null}]},{"id":"db34c34d-56a6-4b4e-83c1-f78c68304751","directory":"climbros","title":"Climbros","compatibility":0,"releases":[{"id":"01003FF011856000","region":null}]},{"id":"db477d45-923f-4384-9110-ff248601f665","directory":"rpg-maker-mv-player","title":"RPG Maker MV Player","compatibility":99,"releases":[{"id":"01008A900CB90000","region":null}]},{"id":"db7483b0-7014-4f9c-a156-c0ad701ffac0","directory":"sweets-swap","title":"Sweets Swap","compatibility":99,"releases":[{"id":"0100B280148F2000","region":null}]},{"id":"db77ef6f-3226-4a17-9fc7-337b8f3ac750","directory":"centipede-recharged","title":"Centipede: Recharged","compatibility":0,"releases":[{"id":"0100EA501521A000","region":null}]},{"id":"db82e6c5-02e4-497b-9ddf-1810f1672aea","directory":"active-soccer-2019","title":"Active Soccer 2019","compatibility":99,"releases":[{"id":"0100BEB00AAF8000","region":null}]},{"id":"dba0801c-4552-4dfb-b962-67a94032bb21","directory":"control-ultimate-edition-cloud-version","title":"Control Ultimate Edition - Cloud Version","compatibility":99,"releases":[{"id":"0100041013360000","region":null}]},{"id":"dbb67627-747f-44b5-b368-8efeac496145","directory":"teratopia","title":"Teratopia","compatibility":99,"releases":[{"id":"01001CC012CC4000","region":null}]},{"id":"dbc041ec-17b5-4c90-9965-0d535836c781","directory":"heaven-dust","title":"Heaven Dust","compatibility":1,"releases":[{"id":"010059100D928000","region":null}]},{"id":"dbc59aed-5347-443f-80a0-d0ad2a52ae7a","directory":"brawlout","title":"Brawlout","compatibility":2,"releases":[{"id":"01001FD0040F4000","region":null}]},{"id":"dbcd6318-fcc9-45ae-8753-de923ef56109","directory":"enchanted-path","title":"Enchanted Path","compatibility":99,"releases":[{"id":"0100C20015ED8000","region":null}]},{"id":"dbcf5f36-fdea-4cd6-bd2c-1b3359e21177","directory":"kissed-by-the-baddest-bidder","title":"Kissed by the Baddest Bidder","compatibility":3,"releases":[{"id":"0100F3A00F4CA000","region":null}]},{"id":"dbd4ebca-66ca-4b31-b4a2-444602e9a164","directory":"shovel-knight-specter-of-torment","title":"Shovel Knight: Specter of Torment","compatibility":1,"releases":[{"id":"01001180021FA000","region":null}]},{"id":"dbd8564d-4968-4021-b659-f89be5f79936","directory":"wildfire","title":"Wildfire","compatibility":99,"releases":[{"id":"0100D9D011E3C000","region":null}]},{"id":"dbd862a9-9da8-4f6f-861f-a9f35d00d1de","directory":"hopiko","title":"HoPiKo","compatibility":99,"releases":[{"id":"010071B00C904000","region":null}]},{"id":"dbda8252-26ad-4b3e-a3c9-08fbc63fd57b","directory":"one-deck-dungeon","title":"One Deck Dungeon","compatibility":99,"releases":[{"id":"0100B5D012F38000","region":null}]},{"id":"dbf5455f-3091-4825-ad4b-1b1639133788","directory":"balthazars-dream","title":"Balthazar's Dream","compatibility":99,"releases":[{"id":"0100BC400FB64000","region":null}]},{"id":"dbfd4c12-f014-4626-b76f-0e4d6c3e259e","directory":"sinless","title":"Sinless","compatibility":99,"releases":[{"id":"0100B8800F858000","region":null}]},{"id":"dc04ed01-0da9-4ddc-8c8b-42b348c722ba","directory":"puppies-and-kittens","title":"PUPPIES AND KITTENS","compatibility":99,"releases":[{"id":"0100A0E014C6C000","region":null}]},{"id":"dc1438f6-a98f-4058-b3fa-115a1087680e","directory":"estranged-the-departure","title":"Estranged: The Departure","compatibility":99,"releases":[{"id":"01004F9012FD8000","region":null}]},{"id":"dc1eef19-3da2-46ab-8167-58976d8026b8","directory":"pyre-on-fire-ten-pages","title":"Pyre on Fire: Ten Pages","compatibility":99,"releases":[{"id":"0100375013B56000","region":null}]},{"id":"dc2a3201-74bf-4dbd-8aeb-03952ec19faf","directory":"haven-park","title":"Haven Park","compatibility":99,"releases":[{"id":"0100E390155E4000","region":null}]},{"id":"dc2add31-bdc3-4e5e-9bc4-920f3636383a","directory":"kowloon-high-school-chronicle","title":"Kowloon High-School Chronicle","compatibility":1,"releases":[{"id":"0100FF70134BA000","region":null}]},{"id":"dc391bac-5d74-4a3c-a6df-d578a02b5f8e","directory":"crown-trick","title":"Crown Trick","compatibility":0,"releases":[{"id":"0100059012BAE000","region":null}]},{"id":"dc3e4cdf-2e6d-4cc4-acfd-c6f641481874","directory":"pathway","title":"Pathway","compatibility":99,"releases":[{"id":"0100114014724000","region":null}]},{"id":"dc50e778-ab1b-496e-a4f6-8187c31e8c8b","directory":"deadly-premonition-origins","title":"Deadly Premonition Origins","compatibility":0,"releases":[{"id":"0100EBE00F22E000","region":null}]},{"id":"dc5a9821-1b56-4538-8d51-70ed8ad1fa31","directory":"super-shape-shooter","title":"Super Shape Shooter","compatibility":99,"releases":[{"id":"0100C2201475C000","region":null}]},{"id":"dc5ba2ad-747b-4128-ba56-a477093bff72","directory":"zeus-quests-remastered","title":"Zeus Quests Remastered","compatibility":99,"releases":[{"id":"0100EE200B764000","region":null}]},{"id":"dc69a363-c648-42c3-a3a9-17dc858834cd","directory":"containment","title":"Containment","compatibility":99,"releases":[{"id":"0100589010EFE000","region":null}]},{"id":"dc73cdf7-0640-4a65-a282-8ebf4179d9bc","directory":"discmaster","title":"Discmaster","compatibility":99,"releases":[{"id":"0100D7800C4DC000","region":null}]},{"id":"dc742099-201d-4ed4-9d49-19f3cfaa5bc0","directory":"yoga-master","title":"YOGA MASTER","compatibility":4,"releases":[{"id":"01001B6010D58000","region":null}]},{"id":"dc807ac8-ad9b-412e-840d-bba4bebe1da0","directory":"burger-master","title":"Burger Master","compatibility":99,"releases":[{"id":"0100AC30143E6000","region":null}]},{"id":"dc813496-a802-4924-b86d-9f824a43e725","directory":"spell-casting-purrfectly-portable-edition","title":"Spell Casting: Purrfectly Portable Edition","compatibility":99,"releases":[{"id":"0100C3300C3F2000","region":null}]},{"id":"dc8a5aee-d03a-4e6e-a8fe-bd0a949b7ee9","directory":"dogworld","title":"Dogworld","compatibility":99,"releases":[{"id":"01001BB014EB6000","region":null}]},{"id":"dc8cb034-2bfa-493e-8a01-f77700aa6fc2","directory":"never-give-up","title":"Never Give Up","compatibility":99,"releases":[{"id":"01005AD00B91A000","region":null}]},{"id":"dca24cf6-1b76-407c-a20b-04197d552e35","directory":"i-saw-black-clouds","title":"I Saw Black Clouds","compatibility":1,"releases":[{"id":"01001860140B0000","region":null}]},{"id":"dcbd38d9-8e11-459d-a4c4-5b36f5a799e5","directory":"passpartout-the-starving-artist","title":"Passpartout: The Starving Artist","compatibility":99,"releases":[{"id":"0100CE600B7B4000","region":null}]},{"id":"dccd9a55-9329-4a58-b6b1-aefb58e6eac8","directory":"lost-phone-stories","title":"Lost Phone Stories","compatibility":99,"releases":[{"id":"010046600B76A000","region":null}]},{"id":"dccdb533-3bc0-41db-ac80-33565a7dee54","directory":"shapeshooter","title":"Shapeshooter","compatibility":99,"releases":[{"id":"01003E20153E2000","region":null}]},{"id":"dcd8f573-1ae3-4f78-b236-360115201392","directory":"blue-fire","title":"Blue Fire","compatibility":3,"releases":[{"id":"010073B010F6E000","region":null}]},{"id":"dce55542-618e-4b4d-9950-d732d1f82f62","directory":"ultrawings","title":"Ultrawings","compatibility":0,"releases":[{"id":"0100DAF00B620000","region":null}]},{"id":"dced43a6-312f-4a27-812d-7eea7133fefd","directory":"pokemon-lets-go-eevee","title":"Pokémon: Let’s Go, Eevee!","compatibility":0,"releases":[{"id":"0100187003A36000","region":null}]},{"id":"dd076fb9-9d68-45ff-b242-1b942c56de78","directory":"rising-hell","title":"Rising Hell","compatibility":0,"releases":[{"id":"010020C012F48000","region":null}]},{"id":"dd18a428-de08-40ef-9f0d-4d056725f338","directory":"king-lucas","title":"King Lucas","compatibility":99,"releases":[{"id":"0100E6B00FFBA000","region":null}]},{"id":"dd1d8e40-77e3-46f9-bc3c-70fe7c6fa5db","directory":"crime-opera-the-butterfly-effect","title":"Crime Opera: The Butterfly Effect","compatibility":99,"releases":[{"id":"01009B00144FC000","region":null}]},{"id":"dd2400d3-9550-450e-8718-bda2e2ae6547","directory":"joe-devers-lone-wolf","title":"Joe Dever's Lone Wolf","compatibility":0,"releases":[{"id":"0100D49008748000","region":null}]},{"id":"dd2fd8e2-7451-40ad-a710-8438a840c285","directory":"collidalot-demo","title":"Collidalot Demo","compatibility":99,"releases":[{"id":"010075100D450000","region":null}]},{"id":"dd32b64b-4557-4d57-9c79-0b07c89a2d05","directory":"toon-shooters-2","title":"Toon Shooters 2","compatibility":99,"releases":[{"id":"0100D31013F24000","region":null}]},{"id":"dd3cd1f0-108c-43ef-86f3-6f21f9857434","directory":"river-city-ransom","title":"River City Ransom","compatibility":1,"releases":[{"id":"0100CE300E48C000","region":null}]},{"id":"dd3d4b87-c573-4c6a-97de-a49aa61e850b","directory":"color-zen-kids","title":"Color Zen Kids","compatibility":99,"releases":[{"id":"0100DDA00C0BC000","region":null}]},{"id":"dd499a3d-348b-4aab-bbb8-c089fa59c33f","directory":"super-meat-boy-forever","title":"Super Meat Boy Forever","compatibility":4,"releases":[{"id":"01009C200D60E000","region":null}]},{"id":"dd4e0167-408b-48dc-8a64-d0b3b8a64ff9","directory":"tick-tock-a-tale-for-two","title":"Tick Tock: A Tale for Two","compatibility":99,"releases":[{"id":"0100E9000C42C000","region":null}]},{"id":"dd4e8642-258d-486e-928c-de2b99ded1f2","directory":"touchbattletanksp","title":"TouchBattleTankSP","compatibility":1,"releases":[{"id":"01000EC007C22000","region":null}]},{"id":"dd5b36f2-d14a-40af-b17d-b8105dfb0afe","directory":"funny-farm-animal-jigsaw-puzzle-game-for-kids-and-toddlers","title":"Funny Farm Animal Jigsaw Puzzle Game for Kids and Toddlers","compatibility":99,"releases":[{"id":"0100CB40153AE000","region":null}]},{"id":"dd5ddf2f-1651-494a-b284-332690a21fb5","directory":"shisen-sho-nikakudori","title":"Shisen-Sho NIKAKUdori","compatibility":99,"releases":[{"id":"0100FEE01316E000","region":null}]},{"id":"dd6f1b4d-f4db-40f7-8db9-e0fd3d68d5bc","directory":"my-little-icecream-booth","title":"My little IceCream Booth","compatibility":99,"releases":[{"id":"0100386013F8A000","region":null}]},{"id":"dd78bf8d-00e6-43cd-988f-75a449f0c0d1","directory":"america-wild-hunting","title":"America Wild Hunting","compatibility":99,"releases":[{"id":"010090B014218000","region":null}]},{"id":"dd7d5009-6afe-4636-8fda-8e5673518ca4","directory":"nurse-love-addiction","title":"Nurse Love Addiction","compatibility":0,"releases":[{"id":"01009F401002E000","region":null}]},{"id":"dd7dc035-4713-4da4-8a14-a2f0d23f4321","directory":"one-person-story","title":"One Person Story","compatibility":99,"releases":[{"id":"010076600FD64000","region":null}]},{"id":"dd80d851-bbba-49b3-9b45-34c462f8913f","directory":"mechanika","title":"MechaNika","compatibility":99,"releases":[{"id":"0100A7900BADA000","region":null}]},{"id":"dd829ae1-fdf8-4714-9f4c-0b98dc9ea5ae","directory":"911-operator-deluxe-edition","title":"911 Operator Deluxe Edition","compatibility":99,"releases":[{"id":"01000360107BC000","region":null}]},{"id":"dd91c81b-9184-4945-8451-bb858830e6b2","directory":"boxing-champs","title":"Boxing Champs","compatibility":99,"releases":[{"id":"0100AAB00E524000","region":null}]},{"id":"dd9e8fde-e849-429c-89af-bc1824871f45","directory":"crystal-ortha","title":"Crystal Ortha","compatibility":99,"releases":[{"id":"01008FA012FC0000","region":null}]},{"id":"ddac21d3-298a-4738-b411-bd3240fe6175","directory":"deltarune-chapter-1","title":"DELTARUNE Chapter 1","compatibility":1,"releases":[{"id":"010023800D64A000","region":null}]},{"id":"ddafe4df-1c97-4e47-acc3-14fbcfc91693","directory":"prinny-r-2-dawn-of-operation-panties-dood","title":"Prinny® 2: Dawn of Operation Panties, Dood!","compatibility":99,"releases":[{"id":"01008FA01187A000","region":null}]},{"id":"ddb09f34-4eb6-421d-8ccb-8e58a1ba545d","directory":"aca-neogeo-pleasure-goal-5-on-5-mini-soccer","title":"ACA NEOGEO PLEASURE GOAL: 5 ON 5 MINI SOCCER","compatibility":4,"releases":[{"id":"0100C2400AFCC000","region":null}]},{"id":"ddb3d37c-abf3-494d-9fad-287debe30a32","directory":"life-of-boris-super-slav","title":"Life of Boris: Super Slav","compatibility":99,"releases":[{"id":"01003AB012F00000","region":null}]},{"id":"ddbd0ebb-710a-4f00-a785-8124048a6fe9","directory":"legend-of-the-skyfish","title":"Legend of the Skyfish","compatibility":0,"releases":[{"id":"0100ECC00EF3C000","region":null}]},{"id":"ddc745a4-95a1-4b2c-b9a8-0d94c5d1a61b","directory":"this-war-of-mine-complete-edition","title":"This War of Mine: Complete Edition","compatibility":5,"releases":[{"id":"0100A8700BC2A000","region":null}]},{"id":"ddd170db-a9ff-422b-af80-d59709d1665e","directory":"skybolt-zack","title":"Skybolt Zack","compatibility":0,"releases":[{"id":"010041C01014E000","region":null}]},{"id":"ddd19536-127e-40fc-b1da-2f89f7598300","directory":"solitaire-spider-minimal","title":"Solitaire Spider Minimal","compatibility":99,"releases":[{"id":"0100A73012A74000","region":null}]},{"id":"ddd7f510-6ad5-4773-9ac3-78d1850eb61f","directory":"hollow-2","title":"Hollow 2","compatibility":99,"releases":[{"id":"01007DE016E9E000","region":null}]},{"id":"ddd90bcb-510a-4d59-92ab-49bb6faeb13a","directory":"9-monkeys-of-shaolin","title":"9 Monkeys of Shaolin","compatibility":99,"releases":[{"id":"010005E00E2BC000","region":null}]},{"id":"dde06d13-615d-4a17-9f07-cb9969deb9b6","directory":"ittle-dew","title":"Ittle Dew","compatibility":0,"releases":[{"id":"01005070088E0000","region":null}]},{"id":"dde93dea-a89d-45f6-9b9a-3d29868dabc0","directory":"a-hat-in-time","title":"A Hat in Time","compatibility":2,"releases":[{"id":"010056E00853A000","region":null}]},{"id":"ddf03c65-2c18-44a8-ae34-ce6dfa6f6d63","directory":"dreamo","title":"DREAMO","compatibility":5,"releases":[{"id":"0100D24013466000","region":null}]},{"id":"ddf2e573-e141-49ed-9b4c-b27ab115424f","directory":"dragon-pinball","title":"Dragon Pinball","compatibility":99,"releases":[{"id":"010026400DE10000","region":null}]},{"id":"ddf306b6-c0da-4734-a882-43f98eb89f7c","directory":"onimusha-warlords","title":"Onimusha: Warlords","compatibility":1,"releases":[{"id":"0100416008A12000","region":null}]},{"id":"ddffb260-eb1f-4f4a-9255-7296744ff114","directory":"where-angels-cry","title":"Where Angels Cry","compatibility":99,"releases":[{"id":"010027D011C9C000","region":null}]},{"id":"de021930-fa99-4395-ae43-7157e32a830b","directory":"vitamin-connection","title":"Vitamin Connection","compatibility":0,"releases":[{"id":"010088900E330000","region":null}]},{"id":"de100759-8d9f-4e46-b6e1-e4ce0ca6b976","directory":"pixel-game-maker-series-shiba-mekuri","title":"Pixel Game Maker Series Shiba Mekuri","compatibility":99,"releases":[{"id":"0100B3901642C000","region":null}]},{"id":"de16b03c-4b64-4179-b6d5-c554656d92ca","directory":"20-ladies","title":"20 Ladies","compatibility":99,"releases":[{"id":"0100DB6015A80000","region":null}]},{"id":"de1a3c4c-32a1-4e89-8204-4646e83e1181","directory":"mary-skelter-finale","title":"Mary Skelter Finale","compatibility":0,"releases":[{"id":"0100530014438000","region":null}]},{"id":"de1e393c-bfa7-4e7e-8160-ac400d1639dc","directory":"arcade-archives-bomb-jack","title":"Arcade Archives BOMB JACK","compatibility":5,"releases":[{"id":"0100192009824000","region":null}]},{"id":"de205856-a8f7-4898-ab48-895f9eda477f","directory":"jin-conception","title":"Jin Conception","compatibility":99,"releases":[{"id":"01005E3014C3E000","region":null}]},{"id":"de266e3c-992e-46d6-97b4-d9fab4601424","directory":"being-stronger-while-playing-silverstar-go-dx","title":"Being Stronger While Playing! SilverStar Go DX","compatibility":3,"releases":[{"id":"0100092011764000","region":null}]},{"id":"de2b19a4-41eb-47a0-8037-3ca8d378f752","directory":"mad-games-tycoon","title":"Mad Games Tycoon","compatibility":0,"releases":[{"id":"010061E00EB1E000","region":null}]},{"id":"de2e1ab8-6a72-4533-a524-f2523ae15869","directory":"disgaea-5-complete","title":"Disgaea 5 Complete","compatibility":2,"releases":[{"id":"01005700031AE000","region":null}]},{"id":"de311e13-a6e9-4ab0-bd6e-d5f1868cf4f3","directory":"pen-and-paper-games-bundle","title":"Pen and Paper Games Bundle","compatibility":99,"releases":[{"id":"01005B9011830000","region":null}]},{"id":"de324337-e934-458c-bc0d-9e311a715f68","directory":"spectacular-sparky","title":"Spectacular Sparky","compatibility":99,"releases":[{"id":"010009F011FB2000","region":null}]},{"id":"de5079c3-d709-4ce5-b09e-e5814ca4cbca","directory":"arcade-archives-formation-z","title":"Arcade Archives FORMATION Z","compatibility":99,"releases":[{"id":"0100045010A28000","region":null}]},{"id":"de595f46-4317-455c-80e0-efb07a7a1265","directory":"satazius-next","title":"Satazius NEXT","compatibility":1,"releases":[{"id":"01009580113A4000","region":null}]},{"id":"de5b5cb9-0303-4881-a1c6-8c0c261ba848","directory":"oddworld-strangers-wrath","title":"Oddworld: Stranger's Wrath","compatibility":3,"releases":[{"id":"01002EA00ABBA000","region":null}]},{"id":"de72bace-25aa-41dd-8c64-333be7834a0f","directory":"hide-dance","title":"Hide & Dance!","compatibility":99,"releases":[{"id":"0100CA7012CD6000","region":null}]},{"id":"de74feeb-5c7e-4c3b-8570-e89a47156cf7","directory":"dragon-hills","title":"Dragon Hills","compatibility":99,"releases":[{"id":"0100A6B016248000","region":null}]},{"id":"de755c27-d0d3-461d-aaf8-9ae51a6958ce","directory":"holy-potatoes-a-weapon-shop","title":"Holy Potatoes! A Weapon Shop?!","compatibility":0,"releases":[{"id":"0100FC5009E10000","region":null}]},{"id":"de77cabc-287d-4ab7-9643-9ef223a99cad","directory":"space-robinson","title":"Space Robinson","compatibility":0,"releases":[{"id":"0100795011D68000","region":null}]},{"id":"de7f1704-5dca-401b-b05c-80301e02a203","directory":"rangerdog","title":"Rangerdog","compatibility":99,"releases":[{"id":"0100341015246000","region":null}]},{"id":"de890c60-066c-44ee-ade0-7013e78784f5","directory":"deuces-wild-video-poker","title":"Deuces Wild - Video Poker","compatibility":99,"releases":[{"id":"0100B3501283E000","region":null}]},{"id":"de8bdad0-e51c-4d62-a830-cff44372ff69","directory":"rugby-challenge-4","title":"Rugby Challenge 4","compatibility":99,"releases":[{"id":"010009B00D33C000","region":null}]},{"id":"deb09593-d69c-459b-a92e-fbb93fba4356","directory":"fracter","title":"FRACTER","compatibility":0,"releases":[{"id":"010018F010CD2000","region":null}]},{"id":"ded05c93-46b5-45a1-b095-ac6158d44e6f","directory":"warborn","title":"WARBORN","compatibility":99,"releases":[{"id":"010054900F51A000","region":null}]},{"id":"defe3a6b-aaea-47b9-83c0-ae3ad59af1c1","directory":"dungeon-munchies","title":"Dungeon Munchies","compatibility":99,"releases":[{"id":"0100A610167C4000","region":null}]},{"id":"df0247ae-1b73-4790-9113-fd810933fda9","directory":"world-splitter","title":"World Splitter","compatibility":99,"releases":[{"id":"010095D014950000","region":null}]},{"id":"df1823c8-f8cc-4def-9305-039174612e1d","directory":"moonlighter","title":"Moonlighter","compatibility":0,"releases":[{"id":"0100F4700B2E0000","region":null}]},{"id":"df196b62-a491-462b-86c9-f4b132468c00","directory":"the-long-gate","title":"The Long Gate","compatibility":99,"releases":[{"id":"0100E3A013DB2000","region":null}]},{"id":"df1cf2b6-28dd-460b-8749-a3edfa8e257c","directory":"american-man","title":"American Man","compatibility":99,"releases":[{"id":"01004280160C0000","region":null}]},{"id":"df23606e-f4f4-4336-82b3-749f65064a33","directory":"persephone","title":"Persephone","compatibility":99,"releases":[{"id":"01005EB013FBA000","region":null}]},{"id":"df4043f9-3ce3-44c0-8992-9a1b1a8a1aea","directory":"ultra-foodmess","title":"Ultra Foodmess","compatibility":99,"releases":[{"id":"0100C4801223C000","region":null}]},{"id":"df489554-e3bb-4f05-8713-27ae81ddc9db","directory":"yuppie-psycho-executive-edition","title":"Yuppie Psycho: Executive Edition","compatibility":99,"releases":[{"id":"0100307011C44000","region":null}]},{"id":"df7efe92-560d-48f1-9e66-e26e9d3ccd10","directory":"warparty","title":"Warparty","compatibility":99,"releases":[{"id":"010035A00D4E6000","region":null}]},{"id":"df88b0fe-e669-4def-ae37-5f677fa15fd6","directory":"super-monkey-ball-banana-mania","title":"Super Monkey Ball Banana Mania","compatibility":1,"releases":[{"id":"010001701248C000","region":null}]},{"id":"df964e81-c068-41e5-99a1-8b28922f74a3","directory":"muse-dash","title":"Muse Dash","compatibility":0,"releases":[{"id":"01008E200C5C2000","region":null}]},{"id":"df9ae8a6-b9e9-4d8d-a1ac-8243976cfe9e","directory":"arcade-archives-black-heart","title":"Arcade Archives BLACK HEART","compatibility":99,"releases":[{"id":"010015E015676000","region":null}]},{"id":"df9f947e-c4af-4ae4-9f0a-359852e5c1b9","directory":"closer","title":"CLOSER","compatibility":99,"releases":[{"id":"0100358015762000","region":null}]},{"id":"dfa6abb4-4f0c-43f7-bf22-18af62be8963","directory":"melbits-world","title":"Melbits World","compatibility":99,"releases":[{"id":"01000FA010340000","region":null}]},{"id":"dfadaed0-7ec2-49e0-b730-b19aa64b9b2c","directory":"amnesia-collection","title":"Amnesia: Collection","compatibility":3,"releases":[{"id":"01003CC00D0BE000","region":null}]},{"id":"dfb92790-5b45-4627-bb2b-ec7ef623f09d","directory":"ace-strike","title":"Ace Strike","compatibility":99,"releases":[{"id":"010052E0146C0000","region":null}]},{"id":"dfc51c13-9d75-4a53-a05d-177d97f65704","directory":"amazing-princess-sarah","title":"Amazing Princess Sarah","compatibility":0,"releases":[{"id":"01006720150DA000","region":null}]},{"id":"dfd212b3-88eb-46b0-bf5f-d3a9ac15404a","directory":"vasara-collection","title":"VASARA Collection","compatibility":99,"releases":[{"id":"0100FE200AF48000","region":null}]},{"id":"dfdea820-6d2b-4a9c-96be-fe1a7af22fd5","directory":"summer-paws","title":"Summer Paws","compatibility":99,"releases":[{"id":"0100BD401493A000","region":null}]},{"id":"dffb9d5a-f9ce-4acf-a827-c2a40ef53d66","directory":"arcade-archives-ninja-kid","title":"Arcade Archives Ninja-Kid","compatibility":99,"releases":[{"id":"0100369001DDC000","region":null}]},{"id":"dffe1ba0-3ebe-4ebd-92c0-2d94516c0daf","directory":"colorfall","title":"Colorfall","compatibility":0,"releases":[{"id":"0100C8A014BB0000","region":null}]},{"id":"e003cc87-4bb7-46eb-bdd8-ab323a3870cd","directory":"legend-of-the-tetrarchs","title":"Legend of the Tetrarchs","compatibility":99,"releases":[{"id":"01007E900DFB6000","region":null}]},{"id":"e00bc067-188a-4d51-bbe9-0e2c0d6f8a7e","directory":"car-driving-school-simulator","title":"Car Driving School Simulator","compatibility":99,"releases":[{"id":"01001B7012A3E000","region":null}]},{"id":"e0140c5f-1e37-45af-b429-96932abf8617","directory":"retro-classix-2-in-1-pack-heavy-barrel-super-burger-time","title":"Retro Classix 2-in-1 Pack: Heavy Barrel & Super Burger Time","compatibility":99,"releases":[{"id":"0100254012184000","region":null}]},{"id":"e015a033-0318-40eb-b975-2c4285effe61","directory":"arcade-archives-p-o-w-prisoners-of-war","title":"Arcade Archives P.O.W. -PRISONERS OF WAR-","compatibility":99,"releases":[{"id":"0100547010920000","region":null}]},{"id":"e01c27c7-ce1a-4d50-8a0c-f979353470eb","directory":"this-is-the-police","title":"This Is the Police","compatibility":1,"releases":[{"id":"0100066004D68000","region":null}]},{"id":"e01fbd74-b0b3-46f0-b25b-4862b5afe16a","directory":"arena-of-valor","title":"Arena of Valor","compatibility":99,"releases":[{"id":"01008D8006A6A000","region":null}]},{"id":"e02e0d3f-cfbb-48d6-8de3-1fa23f007d82","directory":"mars-chaos-menace","title":"Mars: Chaos Menace","compatibility":99,"releases":[{"id":"0100B2400C67E000","region":null}]},{"id":"e02e9014-bc0f-446e-ab5f-0bec6a8738c3","directory":"serious-sam-collection","title":"Serious Sam Collection","compatibility":5,"releases":[{"id":"010007D00D43A000","region":null}]},{"id":"e02ff5ee-cd00-4087-a22d-0af03bb3df76","directory":"overwatch-legendary-edition","title":"Overwatch: Legendary Edition","compatibility":5,"releases":[{"id":"0100F8600E21E000","region":null}]},{"id":"e037e780-2f4b-43be-953e-ac35afda12e2","directory":"party-hard","title":"Party Hard","compatibility":0,"releases":[{"id":"010076E009C5E000","region":null}]},{"id":"e040ce79-11b5-43bb-a328-371d473ebcec","directory":"shelter-generations","title":"Shelter Generations","compatibility":99,"releases":[{"id":"01009EB004CB0000","region":null}]},{"id":"e04875e4-032b-4434-aef2-c29535444f09","directory":"capcom-beat-em-up-bundle","title":"Capcom Beat 'Em Up Bundle","compatibility":1,"releases":[{"id":"010094E00B52E000","region":null}]},{"id":"e05bab6f-e4ea-460a-bd72-306f144457ed","directory":"together","title":"Together","compatibility":99,"releases":[{"id":"010041C013C94000","region":null}]},{"id":"e06514bd-d7c3-4ec6-ae55-2fe23582dabe","directory":"project-highrise-architects-edition","title":"Project Highrise: Architect's Edition","compatibility":99,"releases":[{"id":"0100BBD00976C000","region":null}]},{"id":"e071ea75-8582-45f9-b997-556377f0abc7","directory":"arcade-archives-time-pilot-84","title":"Arcade Archives TIME PILOT '84","compatibility":99,"releases":[{"id":"01003200144CA000","region":null}]},{"id":"e0727e89-2cbd-4aae-995a-4bdb34b49133","directory":"body-of-evidence","title":"Body of Evidence","compatibility":99,"releases":[{"id":"0100721013510000","region":null}]},{"id":"e0813105-891a-44de-bdba-10b34f06298c","directory":"job-the-leprechaun","title":"Job the Leprechaun","compatibility":99,"releases":[{"id":"01007CE00C960000","region":null}]},{"id":"e08fe28d-5341-4ffd-ad74-a98cdec2abb3","directory":"picklock","title":"Picklock","compatibility":99,"releases":[{"id":"010059C012966000","region":null}]},{"id":"e0924a6d-caeb-46dd-8c20-72607329c192","directory":"boulder-dash-30th-anniversary","title":"Boulder Dash 30th Anniversary","compatibility":0,"releases":[{"id":"0100DB20107BE000","region":null}]},{"id":"e09631c5-6d89-4b32-85eb-9ee359d311a2","directory":"cabin-fever","title":"Cabin Fever","compatibility":99,"releases":[{"id":"0100680016472000","region":null}]},{"id":"e0bead2c-040a-48b4-8f24-d905e6d7699e","directory":"riptide-gp-renegade","title":"Riptide GP: Renegade","compatibility":0,"releases":[{"id":"01002A6006AA4000","region":null}]},{"id":"e0bf4059-fd46-4e17-8aa6-19eb8762624b","directory":"what-the-golf","title":"WHAT THE GOLF?","compatibility":0,"releases":[{"id":"01002C000E35E000","region":null}]},{"id":"e0c6361d-5fea-4cc3-9ef6-afca52b461f4","directory":"caterpillar-royale","title":"Caterpillar Royale","compatibility":99,"releases":[{"id":"01002B300D8F0000","region":null}]},{"id":"e0cdcab2-b30e-4d05-ab12-8727ea222343","directory":"spyro-reignited-trilogy","title":"Spyro Reignited Trilogy","compatibility":2,"releases":[{"id":"010077B00E046000","region":null}]},{"id":"e0d13172-7eb6-4b10-8a14-b6fc7de7fd49","directory":"arcade-archives-city-connection","title":"Arcade Archives City CONNECTION","compatibility":99,"releases":[{"id":"010007A00980C000","region":null}]},{"id":"e0db6142-6f92-47e3-ab73-78350d2510bb","directory":"teamfight-manager","title":"Teamfight Manager","compatibility":99,"releases":[{"id":"0100FE50169BC000","region":null}]},{"id":"e0dd05c3-0b06-4463-b12f-0b76365455a3","directory":"freecell-solitaire","title":"Freecell Solitaire","compatibility":99,"releases":[{"id":"010060600D894000","region":null}]},{"id":"e0e4acd8-89df-44c4-b832-321ddf724d17","directory":"tennis-world-tour","title":"Tennis World Tour","compatibility":99,"releases":[{"id":"0100092006814000","region":null}]},{"id":"e0ebd565-f648-4ee7-896f-cd5ed5729b11","directory":"nidhogg-2","title":"Nidhogg 2","compatibility":5,"releases":[{"id":"0100C8700B0B6000","region":null}]},{"id":"e0f4bcb6-d715-42f9-85cf-e2ae5764f86b","directory":"arcade-archives-punch-out","title":"Arcade Archives PUNCH-OUT!!","compatibility":1,"releases":[{"id":"01001530097F8000","region":null}]},{"id":"e0f636b9-bd10-4d18-a03a-a5705d3204c1","directory":"knock-em-down-bowling","title":"Knock 'Em Down! Bowling","compatibility":99,"releases":[{"id":"010085000BA5C000","region":null}]},{"id":"e0f6915e-aeae-41f4-914f-d0e92e570ede","directory":"moto-racer-4","title":"Moto Racer 4","compatibility":4,"releases":[{"id":"01002ED00B01C000","region":null}]},{"id":"e0fab6c7-0ff1-46ac-86f6-a3cd727e4432","directory":"super-hyperactive-ninja","title":"Super Hyperactive Ninja","compatibility":99,"releases":[{"id":"010032B00C31E000","region":null}]},{"id":"e0fcc0fa-3e01-4b13-bcfe-0180b4130af1","directory":"dark-grim-mariupolis","title":"Dark Grim Mariupolis","compatibility":99,"releases":[{"id":"010090F013A32000","region":null}]},{"id":"e0fd8921-074e-4ceb-935d-c0bfe5f8f5ba","directory":"kukkorodays","title":"KukkoroDays","compatibility":5,"releases":[{"id":"010022801242C000","region":null}]},{"id":"e11c03f5-dc32-41c9-ac11-e6ec5a71d05f","directory":"cave-bad","title":"Cave Bad","compatibility":99,"releases":[{"id":"0100CC7013F1A000","region":null}]},{"id":"e12f5bc8-2561-45c9-8a50-3348bda1ef78","directory":"pc-building-simulator","title":"PC Building Simulator","compatibility":1,"releases":[{"id":"010072800CBE8000","region":null}]},{"id":"e133d6fb-b8d2-4cb0-badb-b0274f685a10","directory":"horror-tales-the-wine","title":"HORROR TALES: The Wine","compatibility":99,"releases":[{"id":"01009C9014E04000","region":null}]},{"id":"e1383227-95be-44ab-b3a1-2731113ca50f","directory":"touhou-luna-nights","title":"Touhou Luna Nights","compatibility":5,"releases":[{"id":"0100D850131B0000","region":null}]},{"id":"e14c965b-9f0c-4811-8d1c-a02618a7de35","directory":"akane","title":"Akane","compatibility":4,"releases":[{"id":"01007F100DE52000","region":null}]},{"id":"e15337ec-e9c5-449b-bb3f-e1365e61780c","directory":"the-eyes-of-ara","title":"The Eyes of Ara","compatibility":99,"releases":[{"id":"0100B5900DFB2000","region":null}]},{"id":"e15be281-6cb8-4dd0-ac21-601a4d0a488f","directory":"urban-flow","title":"Urban Flow","compatibility":1,"releases":[{"id":"0100B110109F8000","region":null}]},{"id":"e15d7c86-e09b-4765-9750-14d085f70aa0","directory":"ski-sniper","title":"Ski Sniper","compatibility":99,"releases":[{"id":"0100945011246000","region":null}]},{"id":"e1641c1d-16ed-47b3-be64-1e70a309daa8","directory":"crossbow-crusade","title":"Crossbow Crusade","compatibility":99,"releases":[{"id":"0100F890150CE000","region":null}]},{"id":"e16ae725-fe26-4612-8fa7-2125a3d206e8","directory":"blasphemous","title":"Blasphemous","compatibility":1,"releases":[{"id":"0100698009C6E000","region":null}]},{"id":"e174cdce-92c9-4474-9f33-f13ef152310f","directory":"bishoujo-battle-cyber-panic","title":"Bishoujo Battle Cyber Panic!","compatibility":99,"releases":[{"id":"0100F16013F80000","region":null}]},{"id":"e17670d3-7582-438d-b5bc-ebf2db5ed166","directory":"bridge-strike","title":"Bridge Strike","compatibility":1,"releases":[{"id":"0100A6C011B10000","region":null}]},{"id":"e183bb5c-d08d-464a-999d-2cb79869550e","directory":"arcade-archives-raimais","title":"Arcade Archives RAIMAIS","compatibility":99,"releases":[{"id":"010091F015E12000","region":null}]},{"id":"e1baa658-7cf3-4210-9a5b-6670535ff62c","directory":"megabyte-punch","title":"Megabyte Punch","compatibility":99,"releases":[{"id":"0100FC700F942000","region":null}]},{"id":"e1c863e0-a763-4e25-ab30-1f99f8c6ce77","directory":"hitori-logic","title":"Hitori Logic","compatibility":99,"releases":[{"id":"01007BF012AD2000","region":null}]},{"id":"e1cd2372-11ba-4f4b-9073-54313708ca7c","directory":"epic-word-search-collection-2","title":"Epic Word Search Collection 2","compatibility":99,"releases":[{"id":"01001FF01247E000","region":null}]},{"id":"e1ce54c8-9770-47f6-853a-83862c72e690","directory":"archery-blast","title":"Archery Blast","compatibility":99,"releases":[{"id":"01003B8014D6C000","region":null}]},{"id":"e1d669a4-1353-4e9f-830e-aefe48029f2f","directory":"murder-diaries-2","title":"Murder Diaries 2","compatibility":99,"releases":[{"id":"010028F01590A000","region":null}]},{"id":"e1d73c49-785d-46e3-8a69-f1cedc594e8c","directory":"super-toy-cars","title":"Super Toy Cars","compatibility":99,"releases":[{"id":"0100384009344000","region":null}]},{"id":"e1f3919a-aa5c-4ef5-8724-839c6a056278","directory":"dobutsu-shogi-world","title":"DOBUTSU SHOGI WORLD","compatibility":99,"releases":[{"id":"01009BD00E33E000","region":null}]},{"id":"e1f43768-95a8-4bb7-9dfc-9a31ed9b67fd","directory":"the-dark-eye-chains-of-satinav","title":"The Dark Eye: Chains of Satinav","compatibility":2,"releases":[{"id":"010016900EE3A000","region":null}]},{"id":"e2111a4b-7272-4ff4-a5f2-5c8ae5f880c9","directory":"arcade-archives-vs-super-mario-bros","title":"Arcade Archives VS. SUPER MARIO BROS.","compatibility":1,"releases":[{"id":"010021D00812A000","region":null}]},{"id":"e2342361-637d-4c2f-9589-1d83e9ffbc19","directory":"sports-wild-pinball","title":"Sports & Wild Pinball","compatibility":99,"releases":[{"id":"01005E6016836000","region":null}]},{"id":"e2352e05-5c05-44c3-bb3c-11968d28e685","directory":"lost-wing","title":"Lost Wing","compatibility":1,"releases":[{"id":"010064600F1D6000","region":null}]},{"id":"e23ded3a-62f9-4b90-bba2-3bc4a505b4eb","directory":"inferno-2","title":"Inferno 2","compatibility":99,"releases":[{"id":"010063200AB12000","region":null}]},{"id":"e256d17d-7228-4186-a189-c0c8512dbaf7","directory":"mega-man-11-demo-version","title":"Mega Man 11 Demo Version","compatibility":0,"releases":[{"id":"010076800B06E000","region":null}]},{"id":"e25b9c7f-6f14-4894-9e48-516eb22f7662","directory":"cricket-19","title":"Cricket 19","compatibility":99,"releases":[{"id":"010022D00D4F0000","region":null}]},{"id":"e26579ca-3c67-4f02-829c-34e48edf07f6","directory":"quiplash","title":"Quiplash","compatibility":99,"releases":[{"id":"010015A0113E0000","region":null}]},{"id":"e2733532-2ee1-4f60-ba46-e82653db5f71","directory":"ronister-adventure","title":"Ronister Adventure","compatibility":99,"releases":[{"id":"0100E230159DE000","region":null}]},{"id":"e2796f6e-5f74-49be-b17d-903eddb92c5e","directory":"retrace-memories-of-death","title":"Retrace: Memories of Death","compatibility":99,"releases":[{"id":"0100C4C013688000","region":null}]},{"id":"e28321fd-4f07-439f-8270-02216bf8e89f","directory":"starlight-alliance","title":"Starlight Alliance","compatibility":99,"releases":[{"id":"0100478014C30000","region":null}]},{"id":"e2832ba5-9bfc-4691-8256-cc17dfa6b823","directory":"gelly-break-demo","title":"Gelly Break Demo","compatibility":99,"releases":[{"id":"010057D00CF10000","region":null}]},{"id":"e2894d72-b706-4340-af58-a3cde46a94ad","directory":"bohemian-killing","title":"Bohemian Killing","compatibility":99,"releases":[{"id":"0100AD1010CCE000","region":null}]},{"id":"e292c8f9-6d77-46f3-abea-2ca571d9d70d","directory":"rune-lord","title":"Rune Lord","compatibility":1,"releases":[{"id":"01008CD00FB66000","region":null}]},{"id":"e297276a-c229-4aaa-b490-39a1f8e26dd6","directory":"meow-motors","title":"Meow Motors","compatibility":2,"releases":[{"id":"0100EBE00D5B0000","region":null}]},{"id":"e29ae27d-6a5d-4f4d-9e2d-07550e46c62f","directory":"pictoquest","title":"PictoQuest","compatibility":0,"releases":[{"id":"010043B00E1CE000","region":null}]},{"id":"e2a7e278-1dc6-46e1-991b-074f7f747981","directory":"r-type-dimensions-ex","title":"R-Type Dimensions EX","compatibility":0,"releases":[{"id":"0100E5400BE64000","region":null}]},{"id":"e2c83db9-5ed7-4263-87eb-c27fdd9a1f2b","directory":"while-true-learn","title":"while True: learn()","compatibility":99,"releases":[{"id":"010092601020A000","region":null}]},{"id":"e2ca6dea-d4a8-46cb-9327-807b1fdb7de3","directory":"space-avenger-empire-of-nexx","title":"Space Avenger: Empire of Nexx","compatibility":99,"releases":[{"id":"01002C30122F4000","region":null}]},{"id":"e2caf2c5-f19c-484b-b16f-dcf9a0dab12c","directory":"alwas-legacy","title":"Alwa's Legacy","compatibility":0,"releases":[{"id":"01001B7012214000","region":null}]},{"id":"e2ceee7e-7aae-4a75-940e-489ec4828aa8","directory":"thea-the-awakening","title":"Thea: The Awakening","compatibility":99,"releases":[{"id":"010075900CD1C000","region":null}]},{"id":"e2dcabea-b9e1-4120-b05d-5896dd742094","directory":"the-complex","title":"The Complex","compatibility":3,"releases":[{"id":"01004170113D4000","region":null}]},{"id":"e2de5793-895e-4182-81bd-f3aa9a361344","directory":"battle-worlds-kronos","title":"Battle Worlds: Kronos","compatibility":99,"releases":[{"id":"0100DEB00D5A8000","region":null}]},{"id":"e2e49c7a-287c-4594-b102-2b2bf6a3dc70","directory":"neo-atlas-1469","title":"Neo ATLAS 1469","compatibility":99,"releases":[{"id":"0100B78006CCA000","region":null}]},{"id":"e2e79d25-b448-4d4d-8c4b-77332f9cc30f","directory":"atelier-totori-~the-adventurer-of-arland~-dx","title":"Atelier Totori ~The Adventurer of Arland~ DX","compatibility":2,"releases":[{"id":"01009BC00C6F6000","region":null}]},{"id":"e2f911a8-d5f0-426a-8517-17e852df038b","directory":"mind-maze","title":"Mind Maze","compatibility":99,"releases":[{"id":"010023601360A000","region":null}]},{"id":"e2ff94ba-5f56-43a9-bd5b-e57d3d88de96","directory":"dragon-ball-xenoverse-2-for-nintendo-switch","title":"DRAGON BALL Xenoverse 2 for Nintendo Switch","compatibility":4,"releases":[{"id":"010078D000F88000","region":null}]},{"id":"e300e0d1-8c9b-42b4-9d7b-3a4a28725a5b","directory":"must-dash-amigos","title":"Must Dash Amigos","compatibility":99,"releases":[{"id":"0100F6000EAA8000","region":null}]},{"id":"e30a2879-ee4a-43ab-b973-05a13107a2ba","directory":"galaxy-squad","title":"Galaxy Squad","compatibility":99,"releases":[{"id":"0100270015190000","region":null}]},{"id":"e3210b8f-294f-4eca-8fff-7ff0bda2e566","directory":"noir-chronicles-city-of-crime","title":"Noir Chronicles: City of Crime","compatibility":99,"releases":[{"id":"0100DFF00C5E6000","region":null}]},{"id":"e323c5ef-3bb1-4b22-b62b-7660b4e15435","directory":"wand-wars","title":"Wand Wars","compatibility":99,"releases":[{"id":"010059E00BB08000","region":null}]},{"id":"e328bcb9-1ea0-4a74-b90b-b363d073496f","directory":"dragon-lapis","title":"Dragon Lapis","compatibility":99,"releases":[{"id":"010076F012CD8000","region":null}]},{"id":"e32f712a-ea8a-44de-811a-4ae53a810627","directory":"parking-madness","title":"Parking Madness","compatibility":99,"releases":[{"id":"010059801292A000","region":null}]},{"id":"e32f9c07-cb4d-49bb-b390-b4a0243834dd","directory":"ludo-xxl","title":"Ludo XXL","compatibility":99,"releases":[{"id":"01008B5015C8E000","region":null}]},{"id":"e332eb81-40a6-4d04-a699-9cbbec861a34","directory":"yesterday-origins","title":"Yesterday Origins","compatibility":3,"releases":[{"id":"01004F4003FDC000","region":null}]},{"id":"e33c1a42-6c1d-4144-b6fc-ab35508f7818","directory":"waku-waku-sweets","title":"WAKU WAKU SWEETS","compatibility":99,"releases":[{"id":"010058100C80A000","region":null}]},{"id":"e34fcbf8-3f1b-48e5-841f-983bffb1a3de","directory":"superhot","title":"SUPERHOT","compatibility":0,"releases":[{"id":"01001A500E8B4000","region":null}]},{"id":"e374e86e-2872-4768-9967-bb3ed832e756","directory":"grave-keeper","title":"Grave Keeper","compatibility":99,"releases":[{"id":"01000A600EA88000","region":null}]},{"id":"e38c78b8-a8bc-49d9-b99d-62e85e4ca189","directory":"domiverse","title":"Domiverse","compatibility":99,"releases":[{"id":"010033200D232000","region":null}]},{"id":"e38cb2b0-fcfb-4a85-90ad-9837a1f2a194","directory":"oxyjet","title":"Oxyjet","compatibility":99,"releases":[{"id":"010041700A04A000","region":null}]},{"id":"e39e5596-2cfa-4b28-afc8-87e2e459f9dd","directory":"carrion","title":"CARRION","compatibility":1,"releases":[{"id":"0100B1600E9AE000","region":null}]},{"id":"e3af4568-a47f-4768-bf88-e9b3f53a9bae","directory":"lets-cook-together","title":"Let's Cook Together","compatibility":99,"releases":[{"id":"0100448011BC4000","region":null}]},{"id":"e3d09b4f-57cc-4078-8190-51c2b9144764","directory":"football-manager-touch-2018","title":"Football Manager Touch 2018","compatibility":99,"releases":[{"id":"010097F0099B4000","region":null}]},{"id":"e3d2a098-40b4-4fea-a83e-55a58f4fe6f9","directory":"hellbreachers","title":"Hellbreachers","compatibility":99,"releases":[{"id":"01002BF013F0C000","region":null}]},{"id":"e3dfc78c-2fd4-4f0f-a8ef-bfa3919ff489","directory":"wicce","title":"Wicce","compatibility":99,"releases":[{"id":"0100A64014D78000","region":null}]},{"id":"e3e44ca5-5a37-460a-b552-0f974dfd2215","directory":"instant-farmer","title":"Instant Farmer","compatibility":99,"releases":[{"id":"0100D5A01514C000","region":null}]},{"id":"e3e9404f-f553-46a2-81ea-89f1418930d8","directory":"the-walking-dead-season-two","title":"The Walking Dead: Season Two","compatibility":2,"releases":[{"id":"010099100B6AC000","region":null}]},{"id":"e3f1f869-d936-4d70-975b-e11000565d55","directory":"contraptions","title":"Contraptions","compatibility":99,"releases":[{"id":"010004900D976000","region":null}]},{"id":"e40b3985-fdf7-4629-8503-1b0e1c242e7a","directory":"worldend-syndrome","title":"Worldend Syndrome","compatibility":0,"releases":[{"id":"010048900CF64000","region":null}]},{"id":"e424514d-f246-4471-b73a-f073d24bdf61","directory":"worms-rumble","title":"Worms Rumble","compatibility":4,"releases":[{"id":"010016A010396000","region":null}]},{"id":"e42fc0b4-37db-4143-b97e-a29a53eb3e39","directory":"bombslinger","title":"Bombslinger","compatibility":4,"releases":[{"id":"010087300445A000","region":null}]},{"id":"e431f6a7-a59e-475a-a14e-007fda5f6185","directory":"super-impossible-road","title":"Super Impossible Road","compatibility":0,"releases":[{"id":"0100E82015112000","region":null}]},{"id":"e43b9746-93f0-4abf-95b9-7f6319ca4b93","directory":"escape-from-the-universe","title":"Escape from the Universe","compatibility":99,"releases":[{"id":"01005A100ED8A000","region":null}]},{"id":"e43e3cbe-93c2-41f4-a7fb-d1d659a40248","directory":"eggggg-the-platform-puker","title":"Eggggg - The platform puker","compatibility":1,"releases":[{"id":"0100121007308000","region":null}]},{"id":"e45d6006-7a19-4263-99b4-be8e1179e84a","directory":"bouncy-bullets","title":"Bouncy Bullets","compatibility":1,"releases":[{"id":"010016900DF72000","region":null}]},{"id":"e460231d-a425-4137-bda5-12256aae51a9","directory":"pokemon-shining-pearl","title":"Pokémon™ Shining Pearl","compatibility":2,"releases":[{"id":"010018E011D92000","region":null}]},{"id":"e460b232-2717-4506-8df7-8f77995d4652","directory":"zotrix-starglider","title":"Zotrix Starglider","compatibility":99,"releases":[{"id":"0100B22013610000","region":null}]},{"id":"e46febd0-de1a-48a1-adce-bbc2af89b0b9","directory":"spellspire","title":"Spellspire","compatibility":99,"releases":[{"id":"0100E74007EAC000","region":null}]},{"id":"e4719fa3-2335-40f6-b4dd-144da938eefb","directory":"tri6-infinite","title":"Tri6: Infinite","compatibility":1,"releases":[{"id":"0100483011F16000","region":null}]},{"id":"e47b2628-7731-4537-90c6-7af00837fb64","directory":"moving-out","title":"Moving Out","compatibility":1,"releases":[{"id":"0100C4C00E73E000","region":null}]},{"id":"e47d1b94-98ae-4e40-9057-a546dff124b6","directory":"danganronpa-2-goodbye-despair-anniversary-edition","title":"Danganronpa 2: Goodbye Despair Anniversary Edition","compatibility":99,"releases":[{"id":"010083A014174000","region":null}]},{"id":"e487e12a-7c49-4691-bf44-7e8769dadd5b","directory":"air-racers","title":"Air Racers","compatibility":99,"releases":[{"id":"0100E16016A5C000","region":null}]},{"id":"e4957cb4-266b-425e-ad8a-e25be676b2de","directory":"pool-slide-story","title":"Pool Slide Story","compatibility":99,"releases":[{"id":"0100C9200F09A000","region":null}]},{"id":"e4961e44-5c13-472c-9a98-1c5ddb788876","directory":"damn-dolls","title":"Damn Dolls","compatibility":99,"releases":[{"id":"0100A1B01543C000","region":null}]},{"id":"e4a54e60-6858-4319-a3f8-39229da380e0","directory":"super-hero-fight-club-reloaded","title":"Super Hero Fight Club: Reloaded","compatibility":99,"releases":[{"id":"010009000CBB6000","region":null}]},{"id":"e4b86413-c163-4ebc-9e39-66362065ab72","directory":"my-little-riding-champion","title":"My Little Riding Champion","compatibility":99,"releases":[{"id":"01008C600395A000","region":null}]},{"id":"e4c873a7-73ea-4df7-918e-85ea2d7c18e6","directory":"putty-pals","title":"Putty Pals","compatibility":3,"releases":[{"id":"010049E003748000","region":null}]},{"id":"e4d5cdb6-cca4-435e-88ae-11ffb543dfcf","directory":"bingo-for-nintendo-switch","title":"BINGO for Nintendo Switch","compatibility":1,"releases":[{"id":"010087D008D64000","region":null}]},{"id":"e4e41cea-7acf-49da-b66d-e969364e109f","directory":"aca-neogeo-stakes-winner-2","title":"ACA NEOGEO STAKES WINNER 2","compatibility":99,"releases":[{"id":"010047D00AFD4000","region":null}]},{"id":"e503f06c-cea4-478d-87d4-6de0344d18fc","directory":"dark-witch-music-episode-rudymical","title":"Dark Witch Music Episode: Rudymical","compatibility":0,"releases":[{"id":"01001FA0034E2000","region":null}]},{"id":"e504e4f3-0ad9-4528-a10e-3671c78c33d0","directory":"joes-diner","title":"Joe's Diner","compatibility":99,"releases":[{"id":"0100080013E0E000","region":null}]},{"id":"e517306b-517a-4fa9-90e7-8c623fa503f0","directory":"solstice-chronicles-mia","title":"Solstice Chronicles: MIA","compatibility":2,"releases":[{"id":"0100DB500B17C000","region":null}]},{"id":"e5184691-ced0-4e12-83e7-d0f1c0175dd0","directory":"taxi-chaos","title":"Taxi Chaos","compatibility":3,"releases":[{"id":"0100B76011DAA000","region":null}]},{"id":"e5404da7-4c7d-4ff7-a02e-44f27edfe3ff","directory":"anti-hero-bundle","title":"Anti Hero Bundle","compatibility":99,"releases":[{"id":"0100596011E20000","region":null}]},{"id":"e54141b7-4866-4eba-b42f-2f84ea5cada3","directory":"business-tour-deluxe","title":"Business Tour Deluxe","compatibility":99,"releases":[{"id":"0100E61013758000","region":null}]},{"id":"e54e9e26-fa47-4fa4-91fa-e891838c8245","directory":"knight-swap","title":"Knight Swap","compatibility":99,"releases":[{"id":"010060C010B4A000","region":null}]},{"id":"e557c075-3288-49c3-879e-5dceb1de8b0d","directory":"one-piece-pirate-warriors-3-deluxe-edition","title":"ONE PIECE Pirate Warriors 3 Deluxe Edition","compatibility":3,"releases":[{"id":"0100774009CF6000","region":null}]},{"id":"e55c073d-df68-48d9-9d4e-02a83671eb47","directory":"sword-of-the-guardian","title":"Sword of the Guardian","compatibility":99,"releases":[{"id":"01000D70049BE000","region":null}]},{"id":"e55ec1de-1713-418d-afeb-094bb0ffb5a0","directory":"the-long-return","title":"The Long Return","compatibility":99,"releases":[{"id":"01003C3013300000","region":null}]},{"id":"e569f596-d8cd-40d5-926a-e34285f3028f","directory":"othello","title":"Othello","compatibility":0,"releases":[{"id":"0100902001014000","region":null}]},{"id":"e56c2a8c-3b9a-4324-8542-d8e943b21d28","directory":"nickelodeon-all-star-brawl","title":"Nickelodeon All-Star Brawl","compatibility":1,"releases":[{"id":"0100DCF013740000","region":null}]},{"id":"e581c940-ba5e-47d4-936d-943eabbef39e","directory":"story-of-a-gladiator","title":"Story of a Gladiator","compatibility":99,"releases":[{"id":"0100D5D00DAF2000","region":null}]},{"id":"e58a5a38-b154-41c6-affa-24f194cc0ef3","directory":"the-warlock-of-firetop-mountain-goblin-scourge-edition","title":"The Warlock of Firetop Mountain: Goblin Scourge Edition!","compatibility":99,"releases":[{"id":"0100219008678000","region":null}]},{"id":"e58dc885-1350-4a13-875b-7b3898045a8a","directory":"machinarium","title":"Machinarium","compatibility":4,"releases":[{"id":"01002D70049CA000","region":null}]},{"id":"e592281b-8f05-4daa-99c3-1ca0fb72cb87","directory":"door-kickers-action-squad","title":"Door Kickers: Action Squad","compatibility":1,"releases":[{"id":"01005ED00CD70000","region":null}]},{"id":"e59f6b0d-7cf9-49d1-9882-59bc3f4f89e9","directory":"chess-royal","title":"Chess Royal","compatibility":99,"releases":[{"id":"0100DAD0137B0000","region":null}]},{"id":"e5ac959b-81ec-43e6-b627-cd5656b7cc9d","directory":"godstrike","title":"Godstrike","compatibility":99,"releases":[{"id":"0100FA50138A6000","region":null}]},{"id":"e5affd72-857d-492d-9aec-f04bdb1b43e9","directory":"mr-trials","title":"Mr Trials","compatibility":99,"releases":[{"id":"010054501462E000","region":null}]},{"id":"e5b46fed-bd71-4142-8a27-59d7edbbc1a8","directory":"wallachia-reign-of-dracula","title":"Wallachia: Reign of Dracula","compatibility":4,"releases":[{"id":"010017E012888000","region":null}]},{"id":"e5c9a476-ab94-4cf3-a849-cce0ec9503bc","directory":"supermarket-shriek","title":"Supermarket Shriek","compatibility":99,"releases":[{"id":"0100C01012654000","region":null}]},{"id":"e5cbc2c8-3e6f-477d-b460-315529c4dccf","directory":"skeletal-avenger","title":"Skeletal Avenger","compatibility":99,"releases":[{"id":"0100BA5011E16000","region":null}]},{"id":"e5d2dd3b-037f-4104-8cc6-64c4a9f29050","directory":"2weistein-the-curse-of-the-red-dragon-2","title":"2weistein – The Curse of the Red Dragon 2","compatibility":99,"releases":[{"id":"01005E7014C4E000","region":null}]},{"id":"e5da8396-8d7b-48a9-9eb5-1d56dab00454","directory":"starman","title":"Starman","compatibility":99,"releases":[{"id":"010073000C43C000","region":null}]},{"id":"e5dadde2-8350-40b9-ae84-ff67ffc64ef0","directory":"kids-farm-coloring","title":"KIDS: FARM COLORING","compatibility":99,"releases":[{"id":"010000001260E000","region":null}]},{"id":"e5e1684a-3b58-42d4-89f6-45f2477bc13d","directory":"airport-simulator-day-night","title":"Airport Simulator: Day & Night","compatibility":99,"releases":[{"id":"01009AE015CE4000","region":null}]},{"id":"e5fc1ad4-e468-48c3-b80e-1a980f1adffe","directory":"wildbus","title":"Wildbus","compatibility":99,"releases":[{"id":"01009130156BA000","region":null}]},{"id":"e6027b5f-55cf-4397-860a-2a1918e31a44","directory":"bears-restaurant","title":"Bear's Restaurant","compatibility":99,"releases":[{"id":"0100C0E014A4E000","region":null}]},{"id":"e60426fd-c4ce-4f6f-945a-e5ee39bae01b","directory":"gravifire","title":"GraviFire","compatibility":99,"releases":[{"id":"010054A013E0C000","region":null}]},{"id":"e6237dbd-8ff7-492a-a813-8bcbf568a21e","directory":"gun-gun-pixies","title":"Gun Gun Pixies","compatibility":0,"releases":[{"id":"01009EB00DC76000","region":null}]},{"id":"e624f01d-246a-4811-810c-6cc3e279afd5","directory":"touhou-sky-arena-matsuri-climax","title":"TOUHOU SKY ARENA -MATSURI-CLIMAX","compatibility":99,"releases":[{"id":"0100F42007752000","region":null}]},{"id":"e6262310-53ea-45ad-9308-ad59118f2904","directory":"fault-milestone-two-side-above","title":"fault - milestone two side: above","compatibility":99,"releases":[{"id":"010023D012C52000","region":null}]},{"id":"e63df27b-e4d7-499d-925e-470b146ae839","directory":"aca-neogeo-super-sidekicks-3-the-next-glory","title":"ACA NEOGEO SUPER SIDEKICKS 3 : THE NEXT GLORY","compatibility":99,"releases":[{"id":"0100A4D00A308000","region":null}]},{"id":"e6477203-3e7a-4c95-9b57-26b86cbbc6d7","directory":"animal-pairs-matching-concentration-game-for-toddlers-kids","title":"Animal Pairs - Matching & Concentration Game for Toddlers & Kids","compatibility":99,"releases":[{"id":"010033C0121DC000","region":null}]},{"id":"e648f472-bb9a-4a4d-b381-2722a7334054","directory":"negative-nancy","title":"Negative Nancy","compatibility":99,"releases":[{"id":"0100A300147D0000","region":null}]},{"id":"e64ce1ab-72a1-4e90-ad78-5a695fb070a2","directory":"bravely-default-ii","title":"BRAVELY DEFAULT™ II","compatibility":2,"releases":[{"id":"01006DC010326000","region":null}]},{"id":"e650478a-cea3-4e05-b452-94d94077ad88","directory":"demong-hunter","title":"Demong Hunter","compatibility":2,"releases":[{"id":"010000401313A000","region":null}]},{"id":"e65c1824-5bd8-4af7-b505-20fb27cd4bf8","directory":"vosaria-lair-of-the-forgotten","title":"Vosaria: Lair of the Forgotten","compatibility":99,"releases":[{"id":"01000EC00E60E000","region":null}]},{"id":"e66f8cc2-cd8f-4e55-b4eb-7b88a677cb07","directory":"vera-blanc-ghost-in-the-castle","title":"Vera Blanc: Ghost In The Castle","compatibility":99,"releases":[{"id":"0100805013BDA000","region":null}]},{"id":"e672cb11-5e08-4941-afc5-c52747d59eda","directory":"dancing-dreamer","title":"Dancing Dreamer","compatibility":99,"releases":[{"id":"010034C0152A8000","region":null}]},{"id":"e67d86fa-b146-412e-a00c-a6a82878ff45","directory":"romancing-saga-3","title":"Romancing SaGa 3","compatibility":1,"releases":[{"id":"0100D0400D27A000","region":null}]},{"id":"e67dacda-46a7-4b20-ba9d-d6b699815c17","directory":"emergency-hq","title":"EMERGENCY HQ","compatibility":99,"releases":[{"id":"010016B00EBE6000","region":null}]},{"id":"e6954ea3-ecb1-45cf-95e8-26ad80db90a5","directory":"magic-scroll-tactics","title":"Magic Scroll Tactics","compatibility":99,"releases":[{"id":"0100AAA00D404000","region":null}]},{"id":"e69d05f4-4620-4276-9f3b-4845c02c7c45","directory":"sega-ages-puyo-puyo-2","title":"SEGA AGES Puyo Puyo 2","compatibility":1,"releases":[{"id":"010019700D13A000","region":null}]},{"id":"e69d248d-c2a1-4d02-870b-3f9d0aec77a5","directory":"pure-electric-love-what-do-you-want-eri-kitami-","title":"Pure / Electric Love \"What do you want?\" - Eri Kitami -","compatibility":99,"releases":[{"id":"01007B900A508000","region":null}]},{"id":"e6a6d658-e8c9-4132-a76f-b8016e5ac829","directory":"animal-puzzle-preschool-learning-game-for-kids-and-toddlers","title":"Animal Puzzle - Preschool Learning Game for Kids and Toddlers","compatibility":99,"releases":[{"id":"0100F7A015F38000","region":null}]},{"id":"e6a86c34-0893-46bb-b43c-e3ab0640ced1","directory":"monopoly-r-madness","title":"MONOPOLY® Madness","compatibility":99,"releases":[{"id":"01005FF013DC2000","region":null}]},{"id":"e6aa6578-f201-4a89-aaa7-43813d385008","directory":"secret-neighbor","title":"Secret Neighbor","compatibility":99,"releases":[{"id":"0100540013468000","region":null}]},{"id":"e6c48cbf-eeca-403c-9b90-518bda8c8b76","directory":"star-horizon","title":"Star Horizon","compatibility":99,"releases":[{"id":"0100EC2011B9C000","region":null}]},{"id":"e6c658be-2682-40a1-a703-fe53e8ba4d94","directory":"trine-3-the-artifacts-of-power","title":"Trine 3: The Artifacts of Power","compatibility":3,"releases":[{"id":"0100DEC00A934000","region":null}]},{"id":"e6c6681e-5d13-458f-8451-4cf6f9181084","directory":"dungeons-bombs","title":"Dungeons & Bombs","compatibility":99,"releases":[{"id":"0100BE801360E000","region":null}]},{"id":"e6cbab9f-9447-4a57-8f75-a5245bfa6c80","directory":"takeshi-and-hiroshi","title":"Takeshi and Hiroshi","compatibility":99,"releases":[{"id":"0100CFD012908000","region":null}]},{"id":"e6d1202b-6ba1-4401-8772-45cea87a99a2","directory":"frontline-zed","title":"Frontline Zed","compatibility":3,"releases":[{"id":"0100861012474000","region":null}]},{"id":"e6eae8e8-9326-440d-afef-23cff1841d96","directory":"werewolf-the-apocalypse-heart-of-the-forest","title":"Werewolf: The Apocalypse — Heart of the Forest","compatibility":99,"releases":[{"id":"0100379013998000","region":null}]},{"id":"e6f36580-a879-4704-b739-04ecc9f97e11","directory":"gorilla-big-adventure","title":"Gorilla Big Adventure","compatibility":99,"releases":[{"id":"010076F013D5C000","region":null}]},{"id":"e6f7bfe3-790c-4f2b-9c8a-0eb9da19e0f1","directory":"boom-blaster","title":"Boom Blaster","compatibility":99,"releases":[{"id":"01002E6013ED8000","region":null}]},{"id":"e6fabd57-15a3-4251-9bfb-833459431f57","directory":"seek-hearts","title":"Seek Hearts","compatibility":99,"releases":[{"id":"010075D0101FA000","region":null}]},{"id":"e70cfc62-e986-4172-986f-8ab1cfb78eeb","directory":"metachampions","title":"MetaChampions","compatibility":99,"releases":[{"id":"01006DB00FBF6000","region":null}]},{"id":"e71ee723-9e6a-48a6-8619-bb4f4cf6711d","directory":"the-bear-and-the-admiral","title":"The Bear And The Admiral","compatibility":99,"releases":[{"id":"0100B7E0161FC000","region":null}]},{"id":"e71f560c-536e-4f9e-afd3-e5d551a0aa7b","directory":"strike-force-2-terrorist-hunt","title":"Strike Force 2 - Terrorist Hunt","compatibility":99,"releases":[{"id":"01004B500F07C000","region":null}]},{"id":"e73719b2-4567-4b8a-97ef-403bbb0f7a25","directory":"a-robot-named-fight","title":"A Robot Named Fight","compatibility":1,"releases":[{"id":"0100EB600A4DA000","region":null}]},{"id":"e74c286d-a9c4-4b3a-b0f6-ac1acfcb5188","directory":"technosphere","title":"Technosphere","compatibility":99,"releases":[{"id":"01004CD01039A000","region":null}]},{"id":"e74ecf10-72f8-4e52-86a9-9a4c13cccaeb","directory":"rodent-warriors","title":"Rodent Warriors","compatibility":99,"releases":[{"id":"0100CFA013C4C000","region":null}]},{"id":"e754e0b9-05a8-4574-9522-3344a13b7b54","directory":"match","title":"Match","compatibility":99,"releases":[{"id":"0100C61011DEA000","region":null}]},{"id":"e758e916-0c0b-4938-9b11-767f257cd84f","directory":"woodle-tree-2-deluxe","title":"Woodle Tree 2: Deluxe","compatibility":2,"releases":[{"id":"0100E0300EB04000","region":null}]},{"id":"e7604fb9-018e-4ce5-b350-97fac49196f3","directory":"deep-diving-adventures","title":"Deep Diving Adventures","compatibility":99,"releases":[{"id":"010026800FA88000","region":null}]},{"id":"e77b6d07-55d4-42c3-a5a5-80f4ab29a7d5","directory":"psyvariar-delta","title":"Psyvariar Delta","compatibility":1,"releases":[{"id":"01001CF00AD06000","region":null}]},{"id":"e782c3d2-5d4c-4b25-be48-c87ff9def46b","directory":"chop-is-dish","title":"Chop is Dish","compatibility":99,"releases":[{"id":"010031E00F6AE000","region":null}]},{"id":"e7ab0ece-8f64-4d18-93d5-d75ae66e981d","directory":"flux8","title":"Flux8","compatibility":99,"releases":[{"id":"010039C00E2CE000","region":null}]},{"id":"e7b1416b-340d-4f05-8d85-4c90fc04edd0","directory":"classic-pool","title":"Classic Pool","compatibility":1,"releases":[{"id":"01006740157F8000","region":null}]},{"id":"e7b67091-17bf-421e-9ce2-ca4fd073f312","directory":"wonder-boy-asha-in-monster-world","title":"Wonder Boy Asha in Monster World","compatibility":1,"releases":[{"id":"0100EB2012E36000","region":null}]},{"id":"e7c74175-e5d6-4153-85c1-ac3934274a06","directory":"legend-of-mana","title":"Legend of Mana","compatibility":4,"releases":[{"id":"01003570130E2000","region":null}]},{"id":"e7d8a07e-13a1-4006-8a2b-79ef6f86c12e","directory":"guilty-gear-xx-accent-core-plus-r","title":"GUILTY GEAR XX ACCENT CORE PLUS R","compatibility":99,"releases":[{"id":"01006F80082E4000","region":null}]},{"id":"e7d93f80-e40e-4c5e-84fd-4aab5d2091a0","directory":"classic-snake-adventures","title":"Classic Snake Adventures","compatibility":99,"releases":[{"id":"0100E6C00EB12000","region":null}]},{"id":"e7e054e2-9e95-40d2-a67b-96b328aa5b80","directory":"headsnatchers","title":"Headsnatchers","compatibility":3,"releases":[{"id":"0100A8200C372000","region":null}]},{"id":"e805fb78-9351-4a89-89c0-5d2cd0e062ae","directory":"phoenotopia-awakening","title":"Phoenotopia : Awakening","compatibility":99,"releases":[{"id":"01005E100A4F0000","region":null}]},{"id":"e8062c6c-6975-4184-b255-dcd5ba6ff54f","directory":"jettomero-hero-of-the-universe","title":"Jettomero: Hero of the Universe","compatibility":99,"releases":[{"id":"0100A5A00AF26000","region":null}]},{"id":"e80696f9-3c26-4f74-9a48-365d9bb2bc4f","directory":"lost-artifacts","title":"Lost Artifacts","compatibility":99,"releases":[{"id":"01003F500E658000","region":null}]},{"id":"e80ca335-cdfa-4144-9ee0-565924df529b","directory":"epic-word-search-collection","title":"Epic Word Search Collection","compatibility":99,"releases":[{"id":"0100D000111C2000","region":null}]},{"id":"e817f9a4-5d75-44fa-891e-136e4cc80d67","directory":"my-memory-of-us","title":"My Memory of Us","compatibility":0,"releases":[{"id":"0100E7700C284000","region":null}]},{"id":"e830aa92-7159-412c-b7fe-c88ad40c2346","directory":"jigsaw-abundance","title":"JigSaw Abundance","compatibility":99,"releases":[{"id":"0100B440119AA000","region":null}]},{"id":"e8366075-1ab9-4014-9e9a-1b833d922cf9","directory":"love-3","title":"LOVE 3","compatibility":99,"releases":[{"id":"010088A0167A0000","region":null}]},{"id":"e8394bb7-a33f-470a-a761-0370ef631d48","directory":"murder-by-numbers","title":"Murder by Numbers","compatibility":0,"releases":[{"id":"010061700FA8C000","region":null}]},{"id":"e842a1c7-75dd-4bab-afaa-94d0a77443b5","directory":"azure-reflections","title":"Azure Reflections","compatibility":0,"releases":[{"id":"01006FB00990E000","region":null}]},{"id":"e84daa5f-b7b7-4ae3-975e-d9b78060bddd","directory":"physical-contact-2048","title":"Physical Contact: 2048","compatibility":99,"releases":[{"id":"0100BF1003B9A000","region":null}]},{"id":"e87581b4-0885-4a7e-b125-8aca625b9170","directory":"capes-escape-game-3rd-room","title":"Cape’s Escape Game 3rd Room","compatibility":1,"releases":[{"id":"0100AA5015B96000","region":null}]},{"id":"e8783bc8-f84c-4da7-8b3f-bad1ac05651b","directory":"knights-of-pen-and-paper-bundle","title":"Knights of Pen and Paper Bundle","compatibility":99,"releases":[{"id":"01009A300C836000","region":null}]},{"id":"e879617c-c753-4a8b-84fe-ad80dbb09cbb","directory":"a-magical-high-school-girl","title":"A Magical High School Girl","compatibility":1,"releases":[{"id":"01008DD006C52000","region":null}]},{"id":"e886ddb8-1b88-4f63-9c9f-1ea2c156f5fc","directory":"orn-the-tiny-forest-sprite","title":"Orn: The Tiny Forest Sprite","compatibility":99,"releases":[{"id":"01006C70102EA000","region":null}]},{"id":"e88766d1-f3db-407f-a5d3-d4da0393a0b8","directory":"pool-8-ball-billiards","title":"Pool: 8 Ball Billiards","compatibility":99,"releases":[{"id":"01003FF015E54000","region":null}]},{"id":"e89c02c4-aab8-4ee2-b78f-07593528f870","directory":"the-darkside-detective-a-fumble-in-the-dark","title":"The Darkside Detective: A Fumble in the Dark","compatibility":99,"releases":[{"id":"0100576012B44000","region":null}]},{"id":"e8b5ac05-120d-4924-8032-2b7fbf4b642f","directory":"kosmokrats","title":"Kosmokrats","compatibility":99,"releases":[{"id":"0100C2B013B70000","region":null}]},{"id":"e8c7d542-1126-4ac6-b44f-29fc2bdfae1c","directory":"skyhill","title":"SKYHILL","compatibility":1,"releases":[{"id":"0100A0A00D1AA000","region":null}]},{"id":"e8cafc9c-5856-4404-a026-2d3a3356b178","directory":"nurse-love-syndrome","title":"Nurse Love Syndrome","compatibility":99,"releases":[{"id":"010003701002C000","region":null}]},{"id":"e8f97029-3d6b-4b88-a5b3-d66fe7a3de8b","directory":"forward-to-the-sky","title":"Forward To The Sky","compatibility":2,"releases":[{"id":"0100DBA011136000","region":null}]},{"id":"e8fe6720-ab41-4db8-9aed-9aa52b3b507d","directory":"secrets-of-me","title":"Secrets of Me","compatibility":99,"releases":[{"id":"01008DF01290C000","region":null}]},{"id":"e8ff7c5d-55d2-432b-88be-2c8074395e96","directory":"om-nom-run","title":"Om Nom: Run","compatibility":99,"releases":[{"id":"010032D01641E000","region":null}]},{"id":"e906f233-424b-42f8-bf90-a07418f939ef","directory":"pumped-bmx-pro","title":"Pumped BMX Pro","compatibility":99,"releases":[{"id":"01009AE00B788000","region":null}]},{"id":"e90d49b8-56f9-4b7e-8164-69ddf8d69e7c","directory":"squidgies-takeover","title":"Squidgies Takeover","compatibility":99,"releases":[{"id":"010009300D31C000","region":null}]},{"id":"e925ffb6-a2ad-48ca-a27f-119eca176316","directory":"arcade-archives-plus-alpha","title":"Arcade Archives PLUS ALPHA","compatibility":99,"releases":[{"id":"01007F8010C66000","region":null}]},{"id":"e9264c11-7784-48c6-a1d9-7002295e27c8","directory":"super-mario-bros-35","title":"Super Mario Bros.™ 35","compatibility":4,"releases":[{"id":"0100277011F1A000","region":null}]},{"id":"e9289207-dd26-4b80-b717-8bcf9febff4a","directory":"caladrius-blaze","title":"Caladrius Blaze","compatibility":1,"releases":[{"id":"01004FD00D66A000","region":null}]},{"id":"e9299e96-2399-401f-b62f-059bf292428f","directory":"pocket-league-story","title":"Pocket League Story","compatibility":99,"releases":[{"id":"010016D00D2C2000","region":null}]},{"id":"e940c0d7-e002-4ddf-8601-5d0061687d35","directory":"five-nights-at-freddys-help-wanted","title":"Five Nights at Freddy's: Help Wanted","compatibility":5,"releases":[{"id":"0100F7901118C000","region":null}]},{"id":"e94b180f-3154-4c32-86c8-b6acacfd5831","directory":"neo-the-world-ends-with-you","title":"NEO: The World Ends with You","compatibility":1,"releases":[{"id":"010043B013C5C000","region":null}]},{"id":"e94fb01f-59f3-4e91-86df-7dedbd7f1858","directory":"ding-dong-xl","title":"Ding Dong XL","compatibility":1,"releases":[{"id":"0100B6D00DA6E000","region":null}]},{"id":"e9526b4a-ae70-4ce2-8f32-db3bdbc2a7eb","directory":"robot-squad-simulator","title":"Robot Squad Simulator","compatibility":99,"releases":[{"id":"01001B800D742000","region":null}]},{"id":"e9702fde-9255-4a9a-bc4b-82c0f48fc900","directory":"star-sky","title":"Star Sky","compatibility":99,"releases":[{"id":"0100ACD00E27E000","region":null}]},{"id":"e97b76ca-2bb2-4ba1-bcba-6acfd9b3be81","directory":"strange-telephone","title":"Strange Telephone","compatibility":99,"releases":[{"id":"01002F800FD12000","region":null}]},{"id":"e98260e9-74eb-462f-9e46-842dbb4399af","directory":"pack-master","title":"Pack Master","compatibility":99,"releases":[{"id":"0100BEE011402000","region":null}]},{"id":"e989212c-d853-4e5f-9119-45544c443a34","directory":"star99","title":"Star99","compatibility":1,"releases":[{"id":"0100E6B0115FC000","region":null}]},{"id":"e995f747-24ab-4c61-b531-c530d0f9c063","directory":"corpse-killer-25th-anniversary-edition","title":"Corpse Killer - 25th Anniversary Edition","compatibility":99,"releases":[{"id":"0100D36013BDC000","region":null}]},{"id":"e9a33552-8141-4152-a90e-cfe6e39a4a2f","directory":"cruel-bands-career","title":"Cruel Bands Career","compatibility":99,"releases":[{"id":"0100F7900D8A4000","region":null}]},{"id":"e9acfe54-b692-4acb-abec-2991ac8aa4ab","directory":"immortal-planet","title":"Immortal Planet","compatibility":4,"releases":[{"id":"01007BC00E55A000","region":null}]},{"id":"e9ae9e60-3c06-4ab0-a2b4-df5632127237","directory":"jacks-or-better-video-poker","title":"Jacks or Better - Video Poker","compatibility":0,"releases":[{"id":"0100DD901201A000","region":null}]},{"id":"e9af6b32-162e-49a9-9683-e9cbd11eb99c","directory":"g-darius-hd","title":"G-DARIUS HD","compatibility":3,"releases":[{"id":"0100BCE013042000","region":null}]},{"id":"e9b2581c-b478-4cbd-889b-6b74412d5178","directory":"real-drift-racing","title":"Real Drift Racing","compatibility":99,"releases":[{"id":"0100A8A00E462000","region":null}]},{"id":"e9b6fbb0-fcf5-4171-9f0d-6f1118e81143","directory":"mable-and-the-wood","title":"Mable & The Wood","compatibility":99,"releases":[{"id":"01000B400E53A000","region":null}]},{"id":"e9bd487a-cb6a-468c-b8cd-0eb3a9750c00","directory":"my-arctic-farm-2018","title":"My Arctic Farm 2018","compatibility":99,"releases":[{"id":"01009A400C868000","region":null}]},{"id":"e9be1466-df80-4127-a737-279dc54d42ab","directory":"soccer-pinball","title":"Soccer Pinball","compatibility":99,"releases":[{"id":"0100B5000E05C000","region":null}]},{"id":"e9cbad53-53b9-40df-bb24-02d1fba3110a","directory":"alien-isolation","title":"Alien: Isolation","compatibility":3,"releases":[{"id":"010075D00E8BA000","region":null}]},{"id":"e9dac2f8-0bf5-4b20-a548-a5af579fd5a6","directory":"thief-of-thieves-season-one","title":"Thief of Thieves: Season One","compatibility":2,"releases":[{"id":"0100CE700F62A000","region":null}]},{"id":"e9df6c02-53f2-4af0-9e23-040b83cf6fac","directory":"neogeo-pocket-color-selection-vol-1","title":"NEOGEO POCKET COLOR SELECTION Vol.1","compatibility":0,"releases":[{"id":"010006D0128B4000","region":null}]},{"id":"e9e20555-697a-46a4-8053-2ff3588d9cdc","directory":"battlestar-galactica-deadlock","title":"Battlestar Galactica Deadlock","compatibility":99,"releases":[{"id":"010059C00E39C000","region":null}]},{"id":"e9ef4845-b6f6-43ee-bc6d-d642237e58ba","directory":"sniper-elite-4","title":"Sniper Elite 4","compatibility":4,"releases":[{"id":"010007B010FCC000","region":null}]},{"id":"e9f69bed-2059-4e58-851c-b89c2204aa99","directory":"the-explorer-of-night","title":"The Explorer of Night","compatibility":99,"releases":[{"id":"0100308013768000","region":null}]},{"id":"e9f88c7c-9dfe-4381-8e62-632061a57609","directory":"dwarf-journey","title":"Dwarf Journey","compatibility":99,"releases":[{"id":"01009E8013FCE000","region":null}]},{"id":"e9f9f510-1168-49bc-b0eb-dd2442480516","directory":"underhero","title":"Underhero","compatibility":99,"releases":[{"id":"01005CD00F85A000","region":null}]},{"id":"ea0a142c-7cf8-4aa2-9242-db654f687acb","directory":"beasts-of-maravilla-island","title":"Beasts of Maravilla Island","compatibility":99,"releases":[{"id":"01008FF014670000","region":null}]},{"id":"ea1fcc02-7409-444c-853d-61de28b3eff1","directory":"ancestors-legacy","title":"Ancestors Legacy","compatibility":99,"releases":[{"id":"01009EE0111CC000","region":null}]},{"id":"ea27fb31-6e60-4260-bd68-2c76027f5a8b","directory":"super-jumpy-ball","title":"Super Jumpy Ball","compatibility":1,"releases":[{"id":"010015700D5DC000","region":null}]},{"id":"ea2d515b-a5d9-4cde-9c12-c2dc712db878","directory":"pinball-jam","title":"Pinball Jam","compatibility":99,"releases":[{"id":"0100AD50167EC000","region":null}]},{"id":"ea345728-8524-4f72-8ed5-12d4b5d4c55e","directory":"steven-universe-unleash-the-light","title":"Steven Universe: Unleash the Light","compatibility":1,"releases":[{"id":"0100599012F08000","region":null}]},{"id":"ea3941b1-f994-42d1-89d4-a876180fb740","directory":"super-box-land-demake","title":"Super Box Land Demake","compatibility":99,"releases":[{"id":"0100D6A00F802000","region":null}]},{"id":"ea6222b9-bcbc-49ec-8114-a4e73802d116","directory":"diabolic","title":"Diabolic","compatibility":99,"releases":[{"id":"0100F73011456000","region":null}]},{"id":"ea73641f-35d9-4cec-9675-8b3298b1cc77","directory":"mahjong-solitaire-refresh","title":"Mahjong Solitaire Refresh","compatibility":99,"releases":[{"id":"01008C300B624000","region":null}]},{"id":"ea815de3-fca1-45ea-b495-4d1c7f9045a8","directory":"pinstripe","title":"Pinstripe","compatibility":0,"releases":[{"id":"010041100B148000","region":null}]},{"id":"ea94352f-0227-4f08-a69b-45ef63ce992e","directory":"lunch-a-palooza","title":"Lunch A Palooza","compatibility":99,"releases":[{"id":"0100E0C011D52000","region":null}]},{"id":"ea97ff20-8bf1-432a-9bc7-a3152969b7d7","directory":"axs","title":"AXS","compatibility":99,"releases":[{"id":"0100C55014592000","region":null}]},{"id":"eaa590e8-9725-4811-bf24-c362e89e0ff9","directory":"captain-tsubasa-rise-of-new-champions","title":"Captain Tsubasa: Rise of New Champions","compatibility":0,"releases":[{"id":"0100EAE010560000","region":null}]},{"id":"eaa6bda8-a467-4ef7-9fde-39e01131ccfa","directory":"grey-skies-a-war-of-the-worlds-story","title":"Grey Skies: A War of the Worlds Story","compatibility":99,"releases":[{"id":"0100DA7013792000","region":null}]},{"id":"eaa87f6c-1021-41c2-823c-b6f72af4bf33","directory":"state-of-mind","title":"State of Mind","compatibility":99,"releases":[{"id":"0100844004CB6000","region":null}]},{"id":"eab0b7fa-fa18-4b0e-a1db-5032bf1cc401","directory":"island","title":"ISLAND","compatibility":3,"releases":[{"id":"0100F06013710000","region":null}]},{"id":"eab4414a-0365-4da7-bbf9-9ad377a2db2a","directory":"arcade-archives-penguin-kun-wars","title":"Arcade Archives Penguin-Kun Wars","compatibility":99,"releases":[{"id":"0100B0A00C8D8000","region":null}]},{"id":"eab5eecb-a14e-41be-8e08-5c9093eececd","directory":"skatebird","title":"SkateBIRD","compatibility":99,"releases":[{"id":"0100FA400FF78000","region":null}]},{"id":"eabb9635-8112-448e-8a3f-33d89f3f6068","directory":"dungeon-shooting","title":"Dungeon Shooting","compatibility":99,"releases":[{"id":"010049D010A42000","region":null}]},{"id":"ead11e47-38d2-4bdc-a3ec-dc4c0e035b9a","directory":"magic-potion-millionaire","title":"Magic Potion Millionaire","compatibility":99,"releases":[{"id":"0100672015B72000","region":null}]},{"id":"ead240cc-a0c5-408b-8bd1-d98d7ab7f046","directory":"simulacra","title":"SIMULACRA","compatibility":99,"releases":[{"id":"0100E3D00EA82000","region":null}]},{"id":"ead604ac-9cb4-4c57-ac67-6c0c4a0b9394","directory":"motif","title":"Motif","compatibility":99,"releases":[{"id":"0100A76014BC0000","region":null}]},{"id":"ead9e331-9e14-4863-9d62-0a4db1ee0374","directory":"legendary-fishing","title":"Legendary Fishing","compatibility":1,"releases":[{"id":"0100A7700B46C000","region":null}]},{"id":"eada11ec-7b91-4758-862f-87cfa449fd9c","directory":"gem-miner","title":"Gem Miner","compatibility":99,"releases":[{"id":"01006EA01451E000","region":null}]},{"id":"eadfa995-68e1-4475-b089-4a729f3ca519","directory":"manifold-garden","title":"Manifold Garden","compatibility":1,"releases":[{"id":"0100361009B1A000","region":null}]},{"id":"eadff797-075a-4074-bbf5-6d63177270c6","directory":"two-point-hospital","title":"Two Point Hospital","compatibility":1,"releases":[{"id":"010031200E044000","region":null}]},{"id":"eae5d05a-9d14-4d78-884e-857f27cbc0ef","directory":"happy-words","title":"Happy Words","compatibility":99,"releases":[{"id":"010094F00D626000","region":null}]},{"id":"eae8b3ca-6664-46a6-8f5e-d749322d1649","directory":"yoshis-crafted-world","title":"Yoshi’s Crafted World","compatibility":1,"releases":[{"id":"01006000040C2000","region":null}]},{"id":"eaeb1686-5773-4458-af82-3c5965e0cb70","directory":"child-of-light-r-ultimate-edition-valiant-hearts-the-great-war-r","title":"Child of Light® Ultimate Edition + Valiant Hearts: The Great War®","compatibility":0,"releases":[{"id":"01006C70146A2000","region":null}]},{"id":"eaef3d40-db61-44d0-aa36-176087341aa7","directory":"knight-squad","title":"Knight Squad","compatibility":1,"releases":[{"id":"0100A6800DE70000","region":null}]},{"id":"eaf5fcad-cdd5-4ef6-a7f4-1e1bc851c95f","directory":"barbearian","title":"Barbearian","compatibility":2,"releases":[{"id":"0100F7E01308C000","region":null}]},{"id":"eafdf5f1-e47f-4aa0-b8b5-3ed4d2fcef28","directory":"bitlogic-a-cyberpunk-arcade-adventure","title":"Bitlogic - A Cyberpunk Arcade Adventure","compatibility":99,"releases":[{"id":"0100DD100DE16000","region":null}]},{"id":"eb02acc8-5de7-4401-9712-88af4617e66b","directory":"roof-rage","title":"Roof Rage","compatibility":4,"releases":[{"id":"010088100DD42000","region":null}]},{"id":"eb23a371-e4d1-4663-bef5-5f83e74d7ec4","directory":"liege-dragon","title":"Liege Dragon","compatibility":99,"releases":[{"id":"010041F0128AE000","region":null}]},{"id":"eb3033b0-5e77-4be5-8757-deea75a3345f","directory":"the-storytale","title":"the StoryTale","compatibility":99,"releases":[{"id":"0100858010DC4000","region":null}]},{"id":"eb42e6b9-b96a-440e-9124-1786e17101b8","directory":"tiny-lands","title":"Tiny Lands","compatibility":3,"releases":[{"id":"0100F18014AC2000","region":null}]},{"id":"eb4601ba-4715-4dbe-a71c-08a49d6394f3","directory":"doughlings-arcade","title":"Doughlings: Arcade","compatibility":4,"releases":[{"id":"010040E00B636000","region":null}]},{"id":"eb5bb0ed-7151-4736-974e-82e9eb417e7b","directory":"hair-mower-3d","title":"Hair Mower 3D","compatibility":99,"releases":[{"id":"0100679010FEE000","region":null}]},{"id":"eb5fe610-2446-49df-830f-ec42a7762ba5","directory":"lost-lands-dark-overlord","title":"Lost Lands: Dark Overlord","compatibility":99,"releases":[{"id":"0100BDD010AC8000","region":null}]},{"id":"eb78f1d2-31ba-4c0b-8727-461eb2c6dc17","directory":"guacamelee-2","title":"Guacamelee! 2","compatibility":1,"releases":[{"id":"01007E100456C000","region":null}]},{"id":"eb8bac71-e364-4e60-afe0-9a3384a13475","directory":"dodge-these-balls","title":"Dodge These Balls","compatibility":99,"releases":[{"id":"010019A0134E2000","region":null}]},{"id":"eb8e7ab4-9196-4c92-842a-6e734c0be53f","directory":"all-in-casino-girls","title":"All in Casino Girls","compatibility":99,"releases":[{"id":"0100689013A92000","region":null}]},{"id":"eb9bca23-823d-44de-829d-a62e5c276651","directory":"giraffe-and-annika","title":"Giraffe and Annika","compatibility":99,"releases":[{"id":"01007E90116CE000","region":null}]},{"id":"eb9c3e65-dd12-4de0-ab8d-26cd98502e8a","directory":"rover-wars","title":"Rover Wars","compatibility":99,"releases":[{"id":"010000E011176000","region":null}]},{"id":"eba5598d-4b7a-45dc-9d94-894e2c8116ff","directory":"aery-sky-castle","title":"Aery - Sky Castle","compatibility":99,"releases":[{"id":"010018E012914000","region":null}]},{"id":"ebaa533c-3011-48fb-9862-fe170ef17e04","directory":"chickens-madness","title":"Chickens Madness","compatibility":99,"releases":[{"id":"0100669011C36000","region":null}]},{"id":"ebbf0013-877f-435b-8d65-00524689da17","directory":"calculation-castle-grecos-ghostly-challenge-multiplication","title":"Calculation Castle : Greco's Ghostly Challenge \"Multiplication \"","compatibility":99,"releases":[{"id":"0100ECE00B210000","region":null}]},{"id":"ebbffc58-cd95-4ade-927b-68cfdcc6de00","directory":"barbero","title":"Barbero","compatibility":99,"releases":[{"id":"010017E015636000","region":null}]},{"id":"ebeda982-0796-4861-a9bc-97a7a198ee66","directory":"devious-dungeon","title":"Devious Dungeon","compatibility":1,"releases":[{"id":"01009EA00A320000","region":null}]},{"id":"ebef297b-9942-4f17-bc8c-d242b85c5130","directory":"spellkeeper","title":"SpellKeeper","compatibility":99,"releases":[{"id":"010045800C80C000","region":null}]},{"id":"ebff6290-9e08-4619-8e28-13c499e6520d","directory":"bloody-zombies","title":"Bloody Zombies","compatibility":1,"releases":[{"id":"0100875008000000","region":null}]},{"id":"ec107f65-1471-480d-b625-9a6473dbefcc","directory":"glitchs-trip","title":"Glitch's Trip","compatibility":1,"releases":[{"id":"0100B6F01227C000","region":null}]},{"id":"ec1ae12c-5a2c-4f8b-bea1-c05e303d71eb","directory":"titans-black-ops","title":"Titans Black Ops","compatibility":99,"releases":[{"id":"0100D1D015956000","region":null}]},{"id":"ec25237c-f581-4c5b-9c9e-b8e9a0ab777d","directory":"four-in-a-row","title":"Four in a Row","compatibility":99,"releases":[{"id":"010058A01302A000","region":null}]},{"id":"ec2bc9c2-f39e-4f0f-9865-0f9d77ba5d1f","directory":"old-school-racer-2","title":"Old School Racer 2","compatibility":99,"releases":[{"id":"010099000BA48000","region":null}]},{"id":"ec2fafd0-44e2-442f-bc33-03d0bb97f2b8","directory":"dont-give-up-a-cynical-tale","title":"DON'T GIVE UP: A Cynical Tale","compatibility":99,"releases":[{"id":"0100224013C7E000","region":null}]},{"id":"ec386500-c590-4eb5-9aed-d559b4c37f23","directory":"furi","title":"Furi","compatibility":3,"releases":[{"id":"01009D3008D20000","region":null}]},{"id":"ec47f676-3a40-4c7a-aadd-df09ff37569c","directory":"football-cup-2021","title":"Football Cup 2021","compatibility":99,"releases":[{"id":"0100D43013BC6000","region":null}]},{"id":"ec4d86e1-f8ba-4ff1-9945-acdd0f964ecb","directory":"star-wars-episode-i-racer","title":"STAR WARS™ Episode I Racer","compatibility":2,"releases":[{"id":"0100BD100FFBE000","region":null}]},{"id":"ec4f1cc5-972f-4ae5-adae-a3753e9bef35","directory":"prison-princess","title":"Prison Princess","compatibility":1,"releases":[{"id":"0100F4800F872000","region":null}]},{"id":"ec6b6c4c-13b8-4cc9-b135-aeb99a8771bb","directory":"street-fighter-30th-anniversary-collection","title":"Street Fighter 30th Anniversary Collection","compatibility":1,"releases":[{"id":"0100024008310000","region":null}]},{"id":"ec73a992-34e6-4f63-8f91-7983ca0c9662","directory":"super-tennis-blast","title":"Super Tennis Blast","compatibility":1,"releases":[{"id":"010000500DB50000","region":null}]},{"id":"ec7cc9a3-4d47-4ce7-83e5-ce548b0ed0f1","directory":"case-2-animatronics-survival","title":"CASE 2: Animatronics Survival","compatibility":99,"releases":[{"id":"0100C4C0132F8000","region":null}]},{"id":"ec80934d-b5dc-407e-a06c-670543362d55","directory":"pixeljunk-eden-2","title":"PixelJunk Eden 2","compatibility":99,"releases":[{"id":"0100382011002000","region":null}]},{"id":"ec906309-aa4a-47fb-94dd-0dba7132a973","directory":"ayakashi-romance-reborn-dawn-chapter-twilight-chapter","title":"Ayakashi: Romance Reborn Dawn Chapter & Twilight Chapter","compatibility":99,"releases":[{"id":"0100EED013184000","region":null}]},{"id":"eca32618-f598-4a29-9e8f-8bb5c244239c","directory":"splatoon-2-special-demo-2020","title":"Splatoon™ 2 Special Demo 2020","compatibility":99,"releases":[{"id":"01002120116C4000","region":null}]},{"id":"eca4ac36-11bc-4a94-82c1-fa2bdf1b5791","directory":"solar-blast","title":"Solar Blast","compatibility":99,"releases":[{"id":"0100694013B7E000","region":null}]},{"id":"ecc02a30-3279-42a1-9b55-724d6c93ff86","directory":"tiger-trios-tasty-travels","title":"Tiger Trio's Tasty Travels","compatibility":99,"releases":[{"id":"0100679014BDC000","region":null}]},{"id":"ecd664c0-0563-4e0c-b6e2-fa32c9e68091","directory":"aca-neogeo-the-super-spy","title":"ACA NEOGEO THE SUPER SPY","compatibility":99,"releases":[{"id":"0100F7F00AFA2000","region":null}]},{"id":"ecdff992-2001-4c72-bc12-e4f73f4e7d99","directory":"endless-fables-dark-moor","title":"Endless Fables: Dark Moor","compatibility":99,"releases":[{"id":"01004F3011F92000","region":null}]},{"id":"ece1b6b6-5c1b-4eb5-9a24-1e6d1d57caed","directory":"shift-quantum","title":"Shift Quantum","compatibility":0,"releases":[{"id":"01000E8009E1C000","region":null}]},{"id":"ecedd270-6d14-487a-8009-84b4996129c5","directory":"one-eyed-lee-and-the-dinner-party","title":"One-Eyed Lee and the Dinner Party","compatibility":99,"releases":[{"id":"0100F3E0157CE000","region":null}]},{"id":"ecf339ed-d676-4c08-b21b-2026d80690db","directory":"speed-limit","title":"Speed Limit","compatibility":3,"releases":[{"id":"01000540139F6000","region":null}]},{"id":"ed003aa8-7be9-4248-b056-6390ac18e806","directory":"rogue-trooper-redux","title":"Rogue Trooper Redux","compatibility":1,"releases":[{"id":"01001CC00416C000","region":null}]},{"id":"ed07fe72-4e93-4334-8706-f38b44492932","directory":"smoots-summer-games","title":"Smoots Summer Games","compatibility":99,"releases":[{"id":"01006FC00E6C4000","region":null}]},{"id":"ed0e5fc5-cb02-44d7-99c5-daaa6d580a47","directory":"save-the-ninja-clan","title":"Save the Ninja Clan","compatibility":99,"releases":[{"id":"0100D6E008700000","region":null}]},{"id":"ed0f252e-9225-43c7-a9f7-7fd0810d9105","directory":"space-pioneer","title":"Space Pioneer","compatibility":99,"releases":[{"id":"010047B010260000","region":null}]},{"id":"ed14e22f-f8cd-486f-8fe4-8809ad598689","directory":"endless-puzzle-fun-collection","title":"Endless Puzzle Fun Collection","compatibility":1,"releases":[{"id":"0100D6A015B12000","region":null}]},{"id":"ed1a692a-3ed5-411c-a2f2-97f667914c98","directory":"the-next-penelope","title":"The Next Penelope","compatibility":1,"releases":[{"id":"01000CF0084BC000","region":null}]},{"id":"ed1b876e-c522-472f-bf70-9b20e4bd862f","directory":"active-neurons-2","title":"Active Neurons 2","compatibility":99,"releases":[{"id":"01000D1011EF0000","region":null}]},{"id":"ed29070f-73a2-422d-993f-ecba2449f441","directory":"celeste","title":"Celeste","compatibility":0,"releases":[{"id":"01002B30028F6000","region":null}]},{"id":"ed376620-a10d-489a-970b-7565b1eb14e4","directory":"39-days-to-mars","title":"39 Days to Mars","compatibility":99,"releases":[{"id":"0100AF400C4CE000","region":null}]},{"id":"ed4261a8-6999-4b4c-acc0-46af1935e8a3","directory":"golf-peaks","title":"Golf Peaks","compatibility":99,"releases":[{"id":"0100E3500D342000","region":null}]},{"id":"ed49eaf5-66a2-4400-a032-545197c672b4","directory":"eternal-card-game","title":"Eternal Card Game","compatibility":99,"releases":[{"id":"0100F0B00A214000","region":null}]},{"id":"ed599889-d73d-43ef-ac12-c058003751c7","directory":"tic-tac-letters-by-powgi","title":"Tic-Tac-Letters by POWGI","compatibility":99,"releases":[{"id":"01001ED00F384000","region":null}]},{"id":"ed5a71ea-efe0-43a1-99b7-d0c696701f51","directory":"abbies-farm-for-kids-and-toddlers","title":"Abbie's Farm for kids and toddlers","compatibility":99,"releases":[{"id":"0100A6B014926000","region":null}]},{"id":"ed5b48de-1243-4f22-a0f6-a83dd6155cf4","directory":"nba-2k-playgrounds-2","title":"NBA 2K Playgrounds 2","compatibility":4,"releases":[{"id":"01001AE00C1B2000","region":null}]},{"id":"ed64463e-a816-426c-8d5d-e61e2449ee17","directory":"uni","title":"UNI","compatibility":99,"releases":[{"id":"0100A0F00BC24000","region":null}]},{"id":"ed6d5a37-bd3c-4d6e-bd30-eed531d66c6c","directory":"my-friend-pedro","title":"My Friend Pedro","compatibility":1,"releases":[{"id":"010031200B94C000","region":null}]},{"id":"ed73f9fb-098b-4c65-82b9-0b0188bbe750","directory":"snk-40th-anniversary-collection","title":"SNK 40th ANNIVERSARY COLLECTION","compatibility":1,"releases":[{"id":"01004AB00AEF8000","region":null}]},{"id":"ed842ece-280b-429a-9112-3874c13afa65","directory":"dustoff-heli-rescue-2","title":"Dustoff Heli Rescue 2","compatibility":99,"releases":[{"id":"0100C00005E38000","region":null}]},{"id":"ed89283c-f190-43d3-aa47-a243ca7ea02f","directory":"splatoon-2","title":"Splatoon 2","compatibility":2,"releases":[{"id":"01003BC0000A0000","region":null}]},{"id":"ed948a7f-e408-484e-af25-cef01c54b037","directory":"disc-room","title":"Disc Room","compatibility":3,"releases":[{"id":"010015B012E0C000","region":null}]},{"id":"edc597f0-50bd-44ce-9c93-3fb8de7d10b7","directory":"strike-force-war-on-terror","title":"Strike Force - War on Terror","compatibility":99,"releases":[{"id":"010039100DACC000","region":null}]},{"id":"edca6981-6bf0-43c7-bd35-7f3aede30e16","directory":"drift-racing-madness","title":"Drift Racing Madness","compatibility":99,"releases":[{"id":"0100850011FDA000","region":null}]},{"id":"edf3064a-30b7-406d-8230-01023521c334","directory":"implosion","title":"IMPLOSION","compatibility":1,"releases":[{"id":"0100737003190000","region":null}]},{"id":"edf34146-3143-437d-82b5-a19397c3ebdd","directory":"wizodd","title":"Wizodd","compatibility":99,"releases":[{"id":"01003970146E6000","region":null}]},{"id":"edf9e025-3d15-4192-8a7d-fd5aa65bb5fa","directory":"kemono-friends-picross","title":"KEMONO FRIENDS PICROSS","compatibility":2,"releases":[{"id":"01004B100BDA2000","region":null}]},{"id":"ee06672d-607a-4e18-bdac-b458f563e4fb","directory":"arcade-archives-gemini-wing","title":"Arcade Archives Gemini Wing","compatibility":99,"releases":[{"id":"0100938012A2E000","region":null}]},{"id":"ee0ba630-4378-4ef2-8a4c-f50661d484f6","directory":"cobra-kai-the-karate-kid-saga-continues","title":"Cobra Kai: The Karate Kid Saga Continues","compatibility":1,"releases":[{"id":"01005790110F0000","region":null}]},{"id":"ee0cc7e0-9031-44de-b1d5-217112fdf4b0","directory":"naruto-shippuden-ultimate-ninja-r-storm-4-road-to-boruto","title":"NARUTO SHIPPUDEN™: Ultimate Ninja® STORM 4 ROAD TO BORUTO","compatibility":5,"releases":[{"id":"010084D00CF5E000","region":null}]},{"id":"ee12c048-8323-4e0c-b570-abf248c33579","directory":"summer-catchers","title":"Summer Catchers","compatibility":99,"releases":[{"id":"0100853013824000","region":null}]},{"id":"ee138101-c325-43c0-99dc-dc91d327fc33","directory":"the-flower-collectors","title":"The Flower Collectors","compatibility":99,"releases":[{"id":"01005860122C4000","region":null}]},{"id":"ee1477da-a669-417b-a58a-61e005ee7b10","directory":"beauty-bounce","title":"Beauty Bounce","compatibility":99,"releases":[{"id":"0100CFB0145C2000","region":null}]},{"id":"ee187093-1b9f-4d92-b1da-2b60eca95bcf","directory":"magical-girls-second-magic","title":"Magical Girls Second Magic","compatibility":99,"releases":[{"id":"0100969015B04000","region":null}]},{"id":"ee263509-1918-48e6-a1db-80022791f65c","directory":"aca-neogeo-metal-slug","title":"ACA NEOGEO METAL SLUG","compatibility":3,"releases":[{"id":"0100EBE002B3E000","region":null}]},{"id":"ee275362-2131-4fac-b493-ff24f96cee81","directory":"sega-ages-lightening-force-quest-for-the-darkstar","title":"SEGA AGES Lightening Force: Quest for the Darkstar","compatibility":1,"releases":[{"id":"01006AB00BEE4000","region":null}]},{"id":"ee29c81b-b31e-4b30-bf5a-98c1d0150275","directory":"palm-reading-premium","title":"Palm Reading Premium","compatibility":99,"releases":[{"id":"010002900B75A000","region":null}]},{"id":"ee2a8662-a285-4bcd-8567-ded1f8b3c7ad","directory":"the-ambassador-fractured-timelines","title":"The Ambassador: Fractured Timelines","compatibility":99,"releases":[{"id":"0100F0C00FE6E000","region":null}]},{"id":"ee2b2521-9da7-4564-98f6-dde95de8576a","directory":"house-of-golf","title":"House of Golf","compatibility":3,"releases":[{"id":"0100C3A00B97E000","region":null}]},{"id":"ee30cc2f-925a-41fe-95b0-022121d1c430","directory":"the-card-battle-eternal-destiny","title":"THE Card Battle: Eternal Destiny","compatibility":99,"releases":[{"id":"0100FBE0151DC000","region":null}]},{"id":"ee32a889-49a9-4f61-90eb-9bcc171514ca","directory":"stubbs-the-zombie-in-rebel-without-a-pulse","title":"Stubbs the Zombie in Rebel Without a Pulse","compatibility":99,"releases":[{"id":"0100964012528000","region":null}]},{"id":"ee35323d-62db-474d-a318-ec7df946b2eb","directory":"adventures-of-pip","title":"Adventures of Pip","compatibility":1,"releases":[{"id":"01002B5012004000","region":null}]},{"id":"ee3a207a-0a56-4772-9da4-f83c6bd9ce09","directory":"way-of-the-passive-fist","title":"Way of the Passive Fist","compatibility":99,"releases":[{"id":"0100BA200C378000","region":null}]},{"id":"ee444b95-c2ef-488b-8862-3db1462ba5a0","directory":"jetboard-joust","title":"Jetboard Joust","compatibility":99,"releases":[{"id":"0100AEB0138A4000","region":null}]},{"id":"ee52b86d-6479-487b-8135-b43668fb04dc","directory":"world-end-economica-complete","title":"WORLD END ECONOMiCA ~complete~","compatibility":99,"releases":[{"id":"01001F801458C000","region":null}]},{"id":"ee5315a2-18cf-40c6-b34c-7cf5b1e5c9d7","directory":"my-jurassic-farm-2018","title":"My Jurassic Farm 2018","compatibility":99,"releases":[{"id":"0100BCD00C86A000","region":null}]},{"id":"ee5352d1-e15a-4b32-9244-24f7b7c166d5","directory":"neko-navy-daydream-edition","title":"Neko Navy - Daydream Edition","compatibility":99,"releases":[{"id":"0100E5500B020000","region":null}]},{"id":"ee555114-e7fc-47aa-ad8c-6a9f952571c9","directory":"nelke-and-the-legendary-alchemists-~ateliers-of-the-new-world~","title":"Nelke & the Legendary Alchemists ~Ateliers of the New World~","compatibility":3,"releases":[{"id":"01006ED00BC76000","region":null}]},{"id":"ee56dd02-f8bf-47fe-94ee-8de81d80748b","directory":"what-remains-of-edith-finch","title":"What Remains of Edith Finch","compatibility":4,"releases":[{"id":"010038900DFE0000","region":null}]},{"id":"ee5aa4e8-d2e8-495e-8e67-5ecd9fd19594","directory":"s-u-m-slay-uncool-monsters","title":"S.U.M. - Slay Uncool Monsters","compatibility":99,"releases":[{"id":"010060A0138FC000","region":null}]},{"id":"ee62bbd5-0cd7-4856-b268-f49229334c14","directory":"metaloid-origin","title":"Metaloid: Origin","compatibility":0,"releases":[{"id":"01002DE00E5D0000","region":null}]},{"id":"ee844b38-fc39-4fbc-8929-d530c68416bc","directory":"of-mice-and-sand-revised-","title":"OF MICE AND SAND -REVISED-","compatibility":99,"releases":[{"id":"01002310064B4000","region":null}]},{"id":"ee8505be-907e-492e-be62-707fcd1deb01","directory":"poopdie-chapter-one","title":"Poopdie - Chapter One","compatibility":0,"releases":[{"id":"010051A011AD8000","region":null}]},{"id":"ee87f7c1-cba0-405d-b123-46e0bfaff710","directory":"super-dodgeball-beats","title":"Super Dodgeball Beats","compatibility":99,"releases":[{"id":"010003900E46A000","region":null}]},{"id":"ee96bc2f-eee6-45ef-b7b6-7e327af1690e","directory":"byakko-tai-samurai-boys","title":"Byakko-tai Samurai Boys","compatibility":99,"releases":[{"id":"0100BBA013CAC000","region":null}]},{"id":"ee9f7384-3600-4c24-8f2a-077b81920765","directory":"ghost-parade","title":"Ghost Parade","compatibility":0,"releases":[{"id":"010094C00E180000","region":null}]},{"id":"eead0e12-be88-440c-aa16-144840c65541","directory":"jigsaw-fun-greatest-cities","title":"Jigsaw Fun: Greatest Cities","compatibility":99,"releases":[{"id":"0100696015DBE000","region":null}]},{"id":"eeb3dbcd-1100-4512-80b6-5d10b07d6c7d","directory":"puyo-puyo-tetris-r-2","title":"Puyo Puyo™ Tetris® 2","compatibility":0,"releases":[{"id":"010038E011940000","region":null}]},{"id":"eebda8eb-868b-47f6-a1a9-d371cbe8b840","directory":"roombo-first-blood","title":"Roombo: First Blood","compatibility":2,"releases":[{"id":"0100F3000FA58000","region":null}]},{"id":"eebee0c3-0192-4fed-a494-1d5d3f45c43d","directory":"night-book","title":"Night Book","compatibility":3,"releases":[{"id":"0100B5E0140B2000","region":null}]},{"id":"eec0794a-463e-4a53-9e9d-723f765f649c","directory":"aca-neogeo-stakes-winner","title":"ACA NEOGEO STAKES WINNER","compatibility":2,"releases":[{"id":"01004B600A2FC000","region":null}]},{"id":"eec94039-7aa1-4015-9014-9d628aebd7d9","directory":"indie-gems-bundle-nonograms-edition","title":"Indie Gems Bundle - Nonograms edition","compatibility":99,"releases":[{"id":"0100510011BC0000","region":null}]},{"id":"eed5009f-745a-45e9-bafd-a2958e16865a","directory":"akuto-showdown","title":"Akuto: Showdown","compatibility":99,"releases":[{"id":"010026E00FEBE000","region":null}]},{"id":"eedc2b4a-ea7d-4d9b-b99d-4e3dc6a84da5","directory":"puzzle-box-3-in-1","title":"Puzzle Box 3 in 1","compatibility":99,"releases":[{"id":"0100E710153BA000","region":null}]},{"id":"eee2185a-b348-4dbb-8a1f-374ef9c61f0b","directory":"panmorphia-enchanted","title":"Panmorphia: Enchanted","compatibility":99,"releases":[{"id":"0100042016884000","region":null}]},{"id":"ef0076c1-4ad1-48b7-869e-8e7b59a1bd8c","directory":"love-colors","title":"Love Colors","compatibility":99,"releases":[{"id":"0100121012BB6000","region":null}]},{"id":"ef0a9be0-765a-49b2-9279-df172485bbaa","directory":"super-arcade-football","title":"Super Arcade Football","compatibility":99,"releases":[{"id":"0100B26016078000","region":null}]},{"id":"ef149a82-3694-4f5b-a93e-a26c3ac01d68","directory":"shadows","title":"Shadows","compatibility":99,"releases":[{"id":"0100045010EB6000","region":null}]},{"id":"ef202326-b7c8-4ca6-b6c3-a492df7205ec","directory":"toast-time-smash-up","title":"Toast Time: Smash Up!","compatibility":99,"releases":[{"id":"010014900865A000","region":null}]},{"id":"ef2caf5b-4984-4949-9cee-c8bda0c262d6","directory":"headland","title":"Headland","compatibility":99,"releases":[{"id":"0100A8F0165F2000","region":null}]},{"id":"ef308b77-606c-4e5a-97ee-1e465a45de7f","directory":"wood-block-escape-puzzles","title":"Wood Block Escape Puzzles","compatibility":99,"releases":[{"id":"0100963014D92000","region":null}]},{"id":"ef31eec3-c003-4d97-b5c9-a34c680d831f","directory":"esports-legend","title":"eSports Legend","compatibility":99,"releases":[{"id":"0100B4F00FC4E000","region":null}]},{"id":"ef55bdeb-8572-401e-b5c5-a6fe8436ec6a","directory":"yuso","title":"Yuso","compatibility":99,"releases":[{"id":"01004D800AAAC000","region":null}]},{"id":"ef69cebd-176d-470c-b8c0-c0ee259a56f1","directory":"kraken-academy","title":"Kraken Academy!!","compatibility":99,"releases":[{"id":"0100D1301367A000","region":null}]},{"id":"ef72f056-047a-4e9c-bb9c-d1c29fe80a22","directory":"unitied","title":"Unitied","compatibility":99,"releases":[{"id":"01003900122A6000","region":null}]},{"id":"ef734df8-1b45-4ed6-8428-7cde1376c315","directory":"tetragon","title":"Tetragon","compatibility":1,"releases":[{"id":"01001BB013EAA000","region":null}]},{"id":"ef781323-7977-4921-8e2e-7d4f7240751f","directory":"awakening-of-cthulhu","title":"Awakening of Cthulhu","compatibility":99,"releases":[{"id":"0100085012D64000","region":null}]},{"id":"ef898738-6145-4131-aedc-4060772383ce","directory":"the-ninja-saviors-return-of-the-warriors","title":"The Ninja Saviors: Return of the Warriors","compatibility":2,"releases":[{"id":"0100AD100E8B2000","region":null}]},{"id":"ef8b51c7-a9b8-4580-881c-4d389ac1224a","directory":"dragon-ball-z-kakarot-a-new-power-awakens-set","title":"DRAGON BALL Z: KAKAROT + A NEW POWER AWAKENS SET","compatibility":2,"releases":[{"id":"010051C0134F8000","region":null}]},{"id":"ef8c3a82-b3a5-4724-9dbb-b7d4131fa5d8","directory":"destrobots","title":"Destrobots","compatibility":4,"releases":[{"id":"01008BB0113D6000","region":null}]},{"id":"ef9a47e7-f7b1-4398-a189-db0a807015e4","directory":"graveyard-keeper","title":"Graveyard Keeper","compatibility":2,"releases":[{"id":"0100B6800B5C8000","region":null}]},{"id":"efae2518-fa04-48e7-a2c6-8eeba4f4d4ca","directory":"doraemon-story-of-seasons","title":"DORAEMON  STORY OF SEASONS","compatibility":3,"releases":[{"id":"010073700E412000","region":null}]},{"id":"efd70e93-699e-4120-9e79-08562ad4fdca","directory":"kingdom-of-arcadia","title":"Kingdom of Arcadia","compatibility":0,"releases":[{"id":"0100B4E012CAC000","region":null}]},{"id":"efe0a9f2-4d9c-489f-898d-7f8f92a82dce","directory":"dark-fantasy-jigsaw-puzzle-2","title":"Dark Fantasy: Jigsaw Puzzle 2","compatibility":99,"releases":[{"id":"010047C0157AA000","region":null}]},{"id":"efe61778-ab2d-4ba3-af8a-d88f9cae2133","directory":"ice-cream-surfer","title":"Ice Cream Surfer","compatibility":1,"releases":[{"id":"010053700A25A000","region":null}]},{"id":"efef4f54-d2b7-4087-b0fc-db3647c99537","directory":"infinite-minigolf","title":"Infinite Minigolf","compatibility":2,"releases":[{"id":"010039C001296000","region":null}]},{"id":"efefbeb3-69f0-459d-9dc9-cf7062256a10","directory":"lego-ninjago-movie-video-game","title":"LEGO NINJAGO Movie Video Game","compatibility":3,"releases":[{"id":"01007FC00206E000","region":null}]},{"id":"eff2e343-2f0a-40ad-affd-e0e9ab114878","directory":"mahjong-adventure","title":"Mahjong Adventure","compatibility":99,"releases":[{"id":"01007C6013A3A000","region":null}]},{"id":"effe4595-a3ff-4020-9992-9c4cd33c4e71","directory":"double-pug-switch","title":"Double Pug Switch","compatibility":99,"releases":[{"id":"0100A5D00C7C0000","region":null}]},{"id":"f000ba9a-62bc-4e51-b1b8-97883a844fbf","directory":"talisman-digital-edition","title":"Talisman: Digital Edition","compatibility":5,"releases":[{"id":"0100BE300F6AA000","region":null}]},{"id":"f01ecf29-40ec-4b19-9a99-e211cc13d051","directory":"demons-of-asteborg","title":"Demons of Asteborg","compatibility":5,"releases":[{"id":"0100B92015538000","region":null}]},{"id":"f0232524-037e-4514-a1cc-2ec31daa9597","directory":"alex-kidd-in-miracle-world-dx","title":"Alex Kidd in Miracle World DX","compatibility":0,"releases":[{"id":"010025D01221A000","region":null}]},{"id":"f02b668e-66c2-4c72-bff8-7eb0c8aaf09f","directory":"treasure-stack","title":"Treasure Stack","compatibility":4,"releases":[{"id":"0100B3900B766000","region":null}]},{"id":"f037f085-2d74-4485-a8a3-951e971e25d4","directory":"trail-boss-bmx","title":"Trail Boss BMX","compatibility":99,"releases":[{"id":"010004901194A000","region":null}]},{"id":"f05165e2-7a4f-426a-b6e6-796854bf6882","directory":"perils-of-baking","title":"Perils of Baking","compatibility":99,"releases":[{"id":"01008CA00F7E0000","region":null}]},{"id":"f055e9f7-00a1-46db-9140-31e042bc09f5","directory":"commandos-2-hd-remaster","title":"Commandos 2 - HD Remaster","compatibility":1,"releases":[{"id":"010065A01158E000","region":null}]},{"id":"f0569d72-2f55-415e-84c7-8253366693ea","directory":"soccerdie-cosmic-cup","title":"SoccerDie: Cosmic Cup","compatibility":99,"releases":[{"id":"010074E00C872000","region":null}]},{"id":"f05b6eec-96a9-4995-8281-5a7eac04f6e6","directory":"dc-super-hero-girls-teen-power","title":"DC Super Hero Girls™: Teen Power","compatibility":2,"releases":[{"id":"0100F8F00C4F2000","region":null}]},{"id":"f05b7b27-8403-4359-8850-0c341271c447","directory":"arcade-archives-argus","title":"Arcade Archives ARGUS","compatibility":99,"releases":[{"id":"0100A5700AF32000","region":null}]},{"id":"f061d92f-52c9-4079-8a36-0894481fe78d","directory":"tauronos","title":"TAURONOS","compatibility":99,"releases":[{"id":"010076001311E000","region":null}]},{"id":"f070c47e-6873-4c51-889e-6bee05ef224e","directory":"katamari-damacy-reroll-demo","title":"Katamari Damacy REROLL Demo","compatibility":99,"releases":[{"id":"010065900CB3A000","region":null}]},{"id":"f0808d58-0eef-45ee-a420-9d3bf556b16c","directory":"go-vacation","title":"Go Vacation","compatibility":2,"releases":[{"id":"0100C1800A9B6000","region":null}]},{"id":"f081a10d-8f3d-455a-b347-42e7121bb52a","directory":"night-vision","title":"Night Vision","compatibility":99,"releases":[{"id":"0100C3801458A000","region":null}]},{"id":"f0976eef-30dd-436d-8364-53c03ae4725c","directory":"mo-astray","title":"MO:Astray","compatibility":99,"releases":[{"id":"010011300F74C000","region":null}]},{"id":"f098e5ec-6467-4551-867c-4de3d7f9bd0d","directory":"quake","title":"QUAKE","compatibility":5,"releases":[{"id":"0100BA5012E54000","region":null}]},{"id":"f09af212-1492-4011-ad89-f8651126941e","directory":"even-the-ocean","title":"Even the Ocean","compatibility":99,"releases":[{"id":"010061000D82C000","region":null}]},{"id":"f0a102b9-dfa3-4d7f-b727-b90891e47617","directory":"balloon-pop-for-toddlers-kids-learn-numbers-letters-colors-animals","title":"Balloon Pop for Toddlers & Kids - Learn Numbers, Letters, Colors & Animals","compatibility":99,"releases":[{"id":"0100C9301248E000","region":null}]},{"id":"f0af8179-b4a1-4051-8794-bc4b32c1e218","directory":"hashihime-of-the-old-book-town-append","title":"Hashihime of the Old Book Town append","compatibility":2,"releases":[{"id":"0100EA9015126000","region":null}]},{"id":"f0b3ac43-a759-4a0f-baa5-0aa3bcd64641","directory":"hitchhiker-a-mystery-game","title":"Hitchhiker - A Mystery Game","compatibility":99,"releases":[{"id":"010081400DB00000","region":null}]},{"id":"f0c8bcd6-5fa4-46d6-9519-ae11395db1ed","directory":"petal-crash","title":"Petal Crash","compatibility":99,"releases":[{"id":"010094100A55A000","region":null}]},{"id":"f0cc6a47-7173-478e-903d-8cc650368a9d","directory":"astrologaster","title":"Astrologaster","compatibility":99,"releases":[{"id":"0100B80010C48000","region":null}]},{"id":"f0d3ffd0-c3ce-4d80-b2bb-c6d779fa387d","directory":"maze-with-cube","title":"Maze with cube","compatibility":99,"releases":[{"id":"01008F8013BD0000","region":null}]},{"id":"f0e8532a-19c1-4533-a677-5481eef99bfb","directory":"rally-racer-offroad-racing-car-game","title":"Rally Racer: Offroad Racing Car Game","compatibility":99,"releases":[{"id":"010000A014E5A000","region":null}]},{"id":"f0f92e69-cb57-4b3b-9518-a7d60f022964","directory":"sega-ages-out-run","title":"SEGA AGES Out Run","compatibility":2,"releases":[{"id":"0100D4D00AC62000","region":null}]},{"id":"f0ff65dd-0c4b-4d24-8b6d-8472d7692a07","directory":"road-racing-highway-car-chase","title":"Road Racing: Highway Car Chase","compatibility":99,"releases":[{"id":"0100ED40162C4000","region":null}]},{"id":"f103d703-fc7b-4bca-a43c-00f22bb799cf","directory":"the-way-remastered","title":"The Way Remastered","compatibility":1,"releases":[{"id":"0100F8900A5B0000","region":null}]},{"id":"f10ea96b-d3ca-44c2-8e7e-24be17eb2e86","directory":"baobabs-mausoleum-demo","title":"Baobabs Mausoleum: DEMO","compatibility":99,"releases":[{"id":"0100D3000AEC2000","region":null}]},{"id":"f1111314-7ca8-4f23-9250-d1a87964d2fd","directory":"kirby-star-allies","title":"Kirby Star Allies","compatibility":1,"releases":[{"id":"01007E3006DDA000","region":null}]},{"id":"f1134512-9efe-4101-8b1a-e7943c2fa055","directory":"aqua-kitty-udx","title":"AQUA KITTY UDX","compatibility":1,"releases":[{"id":"0100AC10085CE000","region":null}]},{"id":"f11d1bea-2549-49dd-a881-ca09fd0f3ea3","directory":"sundered-eldritch-edition","title":"Sundered: Eldritch Edition","compatibility":1,"releases":[{"id":"01002D3007962000","region":null}]},{"id":"f132b3aa-2869-45e0-831a-51d4941ff1f0","directory":"pato-box","title":"Pato Box","compatibility":99,"releases":[{"id":"010031F006E76000","region":null}]},{"id":"f1337364-bac9-41de-9daa-f6f8da90a216","directory":"bustafellows","title":"BUSTAFELLOWS","compatibility":0,"releases":[{"id":"0100A9101418C000","region":null}]},{"id":"f142a456-7918-4ce2-8119-795ffd04afe6","directory":"pets-no-more","title":"Pets No More","compatibility":99,"releases":[{"id":"010084F0157AE000","region":null}]},{"id":"f1500e37-c58c-44e2-8bda-37096e5b65b1","directory":"balan-wonderworld","title":"BALAN WONDERWORLD","compatibility":4,"releases":[{"id":"0100438012EC8000","region":null}]},{"id":"f1540061-4f6d-477d-8ac0-c6cc48e14c0d","directory":"sega-ages-sonic-the-hedgehog","title":"SEGA AGES Sonic The Hedgehog","compatibility":1,"releases":[{"id":"010051F00AC5E000","region":null}]},{"id":"f1641591-2106-41b3-b2e3-d3fa0d4de2a7","directory":"simple-dominoes","title":"Simple Dominoes","compatibility":99,"releases":[{"id":"0100F5601653C000","region":null}]},{"id":"f1687838-362c-414a-aa40-a86b190b6da5","directory":"teacup","title":"Teacup","compatibility":99,"releases":[{"id":"0100172012F88000","region":null}]},{"id":"f1734cfa-19aa-47d2-bc19-c499dc3b6f2d","directory":"arcade-archives-64th-street","title":"Arcade Archives 64th. STREET","compatibility":0,"releases":[{"id":"01008CE0123CC000","region":null}]},{"id":"f17e3043-f7ec-4126-b750-f24775b30833","directory":"tetraminos","title":"Tetraminos","compatibility":99,"releases":[{"id":"010037A00BB02000","region":null}]},{"id":"f19ccc86-e1c3-4fda-97e8-1dcbf2409a00","directory":"starlight-shores","title":"Starlight Shores","compatibility":99,"releases":[{"id":"010014F01539E000","region":null}]},{"id":"f19e11e5-2777-4ec9-a460-e9e4b7462083","directory":"speedway-racing","title":"Speedway Racing","compatibility":99,"releases":[{"id":"0100AC00107B8000","region":null}]},{"id":"f1a0e985-e306-4c16-a26c-63bbf6c4c694","directory":"valentina","title":"Valentina","compatibility":99,"releases":[{"id":"0100A59012070000","region":null}]},{"id":"f1a300ae-4b5f-41f3-ba18-4d7bdd2ac583","directory":"paper-mario-the-origami-king","title":"Paper Mario™: The Origami King","compatibility":1,"releases":[{"id":"0100A3900C3E2000","region":null}]},{"id":"f1a60ad4-65fb-400b-8026-5eb6146975a0","directory":"azure-saga-pathfinder-deluxe-edition","title":"Azure Saga: Pathfinder DELUXE Edition","compatibility":1,"releases":[{"id":"010029E00C780000","region":null}]},{"id":"f1a783e0-7c52-4e75-9444-00e3cae008f9","directory":"tanuki-justice","title":"Tanuki Justice","compatibility":3,"releases":[{"id":"01007A601318C000","region":null}]},{"id":"f1ae6cf5-38ff-4d7b-8710-ebec2b45ec5e","directory":"naruto-shippuden-ultimate-ninja-storm-3-full-burst","title":"NARUTO SHIPPUDEN: Ultimate Ninja STORM 3 Full Burst","compatibility":1,"releases":[{"id":"01006BB00800A000","region":null}]},{"id":"f1e8bf58-9643-48a6-bd0b-b084edbfc01c","directory":"rally-road","title":"Rally Road","compatibility":99,"releases":[{"id":"010031900F66E000","region":null}]},{"id":"f1e922a2-34fd-427c-bb24-48d1505563c0","directory":"detective-gallo","title":"Detective Gallo","compatibility":1,"releases":[{"id":"01009C0009842000","region":null}]},{"id":"f1ec463e-0e3c-426e-94dd-2dfbc5e95413","directory":"bird-game","title":"Bird Game +","compatibility":99,"releases":[{"id":"01001B700B278000","region":null}]},{"id":"f1ec803a-e648-4d74-bf95-584bca3f1bad","directory":"nowhere-girl","title":"Nowhere Girl","compatibility":99,"releases":[{"id":"010041B014EC0000","region":null}]},{"id":"f1f75540-bbe8-4533-a4d5-a25cc41a6e6a","directory":"super-arcade-soccer","title":"Super Arcade Soccer","compatibility":99,"releases":[{"id":"01002EC009AEE000","region":null}]},{"id":"f1fe36f4-ec88-43fd-85cd-19cd03c42019","directory":"dead-fun-pack-penguins-and-aliens-strike-again","title":"Dead Fun Pack: Penguins and Aliens Strike Again","compatibility":99,"releases":[{"id":"01008D800A162000","region":null}]},{"id":"f20081bc-cd7c-48a2-830d-6c081c085c96","directory":"pikmin-3-deluxe","title":"Pikmin™ 3 Deluxe","compatibility":1,"releases":[{"id":"0100F4C009322000","region":null}]},{"id":"f21855db-d702-4d18-afe2-20cfbeebba86","directory":"aca-neogeo-aero-fighters-2","title":"ACA NEOGEO AERO FIGHTERS 2","compatibility":1,"releases":[{"id":"0100AC40038F4000","region":null}]},{"id":"f227486f-d7d9-402d-b663-b46003fd2621","directory":"energy-invasion","title":"Energy Invasion","compatibility":99,"releases":[{"id":"0100A8E0090B0000","region":null}]},{"id":"f22a0bd7-54e4-4c6b-8a9d-b3797cd13eae","directory":"strikers1945-for-nintendo-switch","title":"STRIKERS1945 for Nintendo Switch","compatibility":99,"releases":[{"id":"0100FF5005B76000","region":null}]},{"id":"f239c109-12de-4bef-a070-daaecdd7a437","directory":"johnny-turbos-arcade-shoot-out","title":"Johnny Turbo's Arcade: Shoot Out","compatibility":99,"releases":[{"id":"010007F00B9F0000","region":null}]},{"id":"f240ddd1-3237-4d5e-aa54-aa062a3beac7","directory":"farm-mystery","title":"Farm Mystery","compatibility":99,"releases":[{"id":"01000E400ED98000","region":null}]},{"id":"f241bcad-e3d9-4fdd-a157-06207ec63770","directory":"circle-of-sumo-online-rumble","title":"Circle of Sumo: Online Rumble!","compatibility":99,"releases":[{"id":"01009BB00F850000","region":null}]},{"id":"f2426cac-5fa3-495b-8ff3-234216c3fed6","directory":"arcade-archives-double-dragon","title":"Arcade Archives DOUBLE DRAGON","compatibility":4,"releases":[{"id":"0100F25001DD0000","region":null}]},{"id":"f2433fe6-7636-4feb-baa1-caec0bae5e86","directory":"gigantosaurus-the-game","title":"Gigantosaurus The Game","compatibility":3,"releases":[{"id":"01002C400E526000","region":null}]},{"id":"f248154d-5235-4edf-b576-653c2c99710c","directory":"kingdom-rush","title":"Kingdom Rush","compatibility":1,"releases":[{"id":"0100A280121F6000","region":null}]},{"id":"f24db6b2-99c6-4804-aec4-4ec02428b56d","directory":"space-invaders-invincible-collection","title":"Space Invaders Invincible Collection","compatibility":1,"releases":[{"id":"0100424012C94000","region":null}]},{"id":"f2706fe6-91b0-48a3-9a94-fb008470264f","directory":"who-wants-to-be-a-millionaire","title":"Who Wants to Be a Millionaire?","compatibility":1,"releases":[{"id":"010027F0128EA000","region":null}]},{"id":"f27387c4-5a68-44e0-a450-6fade3d13855","directory":"bdsm-big-drunk-satanic-massacre","title":"BDSM: Big Drunk Satanic Massacre","compatibility":1,"releases":[{"id":"01002FA00DE72000","region":null}]},{"id":"f27ea59f-91f8-4a7d-b22b-7a60cdf04fa8","directory":"arcade-archives-liquid-kids","title":"Arcade Archives Liquid Kids","compatibility":99,"releases":[{"id":"01009E7013B2A000","region":null}]},{"id":"f27ee8eb-0206-4b7c-bb02-ae2986e31dd8","directory":"human-fall-flat","title":"Human: Fall Flat","compatibility":1,"releases":[{"id":"01000CA004DCA000","region":null}]},{"id":"f2856fe5-e6d6-4529-bc47-a5651557eb49","directory":"artifact-adventure-gaiden-dx","title":"Artifact Adventure Gaiden DX","compatibility":99,"releases":[{"id":"0100CDD00DA70000","region":null}]},{"id":"f2880e12-5903-4603-b46e-6743ef1e58a2","directory":"panty-party","title":"Panty Party","compatibility":1,"releases":[{"id":"01002BD00CB86000","region":null}]},{"id":"f289d00d-3fc1-4d3c-8f7e-02ae7b6b144d","directory":"ihugu","title":"IHUGU","compatibility":99,"releases":[{"id":"0100C0F00CA9C000","region":null}]},{"id":"f293dac5-3a3c-4083-a3df-c3c44c8d03f7","directory":"valley","title":"Valley","compatibility":99,"releases":[{"id":"0100E0E00B108000","region":null}]},{"id":"f2ad6ac5-2424-4d2c-9a0e-8a6214200928","directory":"alpha","title":"ALPHA","compatibility":0,"releases":[{"id":"01000A800B998000","region":null}]},{"id":"f2c75850-2d4d-4642-9aac-352c622bc6db","directory":"spiral-splatter","title":"Spiral Splatter","compatibility":99,"releases":[{"id":"010023E008702000","region":null}]},{"id":"f2c7fff2-e7d2-462a-bc11-ff0f8993a7cb","directory":"flinthook","title":"Flinthook","compatibility":4,"releases":[{"id":"0100307004B4C000","region":null}]},{"id":"f2cd9d98-61a7-4d4a-affe-df7005281567","directory":"sky-roll","title":"Sky Roll!","compatibility":99,"releases":[{"id":"0100225014F64000","region":null}]},{"id":"f2cdc8a0-efb7-43b0-ae89-87f1d181e7bb","directory":"yomawari-the-long-night-collection","title":"Yomawari: The Long Night Collection","compatibility":0,"releases":[{"id":"010012F00B6F2000","region":null}]},{"id":"f2ce03b6-bed5-4dcf-8dac-9b59197dad71","directory":"wwe-2k18","title":"WWE 2K18","compatibility":5,"releases":[{"id":"010009800203E000","region":null}]},{"id":"f2d54780-8f61-4f7a-82c3-43f4729a33da","directory":"golf","title":"Golf","compatibility":1,"releases":[{"id":"01007D8010018000","region":null}]},{"id":"f2d5f9f4-63e1-4d6b-899f-5505470ebc49","directory":"lost-sphear-demo","title":"LOST SPHEAR Demo","compatibility":99,"releases":[{"id":"0100F5E008AA0000","region":null}]},{"id":"f2df3f9e-0fb6-4094-bc36-8ed9fda33e3d","directory":"skydrift-infinity","title":"Skydrift Infinity","compatibility":1,"releases":[{"id":"0100DE000BBDA000","region":null}]},{"id":"f2f6ceba-eb16-4c54-a95e-a8dc32facba3","directory":"lovechoice","title":"LoveChoice","compatibility":99,"releases":[{"id":"0100807015FF4000","region":null}]},{"id":"f30ed098-1601-43d1-a528-85accd296d16","directory":"paradise-lost","title":"Paradise Lost","compatibility":99,"releases":[{"id":"010077A012A5C000","region":null}]},{"id":"f32186fa-3bf0-42d1-b0f8-e200d026cb1c","directory":"pixel-game-maker-series-oumuamua","title":"Pixel Game Maker Series OUMUAMUA","compatibility":99,"releases":[{"id":"01006D90168A4000","region":null}]},{"id":"f326ac71-d297-406b-beed-34a045a93b86","directory":"in-celebration-of-violence","title":"In Celebration of Violence","compatibility":1,"releases":[{"id":"01004780112B6000","region":null}]},{"id":"f33757ba-892b-4526-b934-a2c4d0611be4","directory":"fun-fun-animal-park","title":"FUN! FUN! Animal Park","compatibility":1,"releases":[{"id":"010002F00CC20000","region":null}]},{"id":"f3379897-bb64-4d96-b156-ba8ebad4a5fd","directory":"little-nightmares-ii","title":"Little Nightmares II","compatibility":2,"releases":[{"id":"010097100EDD6000","region":null}]},{"id":"f339fb89-e574-45ee-8b8d-a20ac8a65632","directory":"powertris","title":"Powertris","compatibility":99,"releases":[{"id":"01001CA012F30000","region":null}]},{"id":"f36c5e5e-640e-45eb-baf1-fa9a4861a8ac","directory":"frane-dragons-odyssey","title":"Frane: Dragons' Odyssey","compatibility":99,"releases":[{"id":"0100C0C00DD0E000","region":null}]},{"id":"f372d540-352e-4c8d-b172-dfff81a8d9a8","directory":"get-10-quest","title":"Get 10 quest","compatibility":99,"releases":[{"id":"01006F30129F8000","region":null}]},{"id":"f3765d78-467e-4bda-b75e-b23d6391afce","directory":"autumns-journey","title":"Autumn's Journey","compatibility":99,"releases":[{"id":"01001EC013576000","region":null}]},{"id":"f378e1ed-383d-4225-b8d4-d537839752b0","directory":"escape-first-3","title":"Escape First 3","compatibility":1,"releases":[{"id":"010057801486C000","region":null}]},{"id":"f37cc649-020d-4a42-b1dc-2b4e098772da","directory":"juiced","title":"Juiced!","compatibility":99,"releases":[{"id":"0100F7C012D68000","region":null}]},{"id":"f3859922-d162-4d7b-acfd-f5403987c6dd","directory":"two-parsecs-from-earth","title":"Two Parsecs From Earth","compatibility":99,"releases":[{"id":"0100BCE012894000","region":null}]},{"id":"f39f1bc3-573c-44dc-ad5f-d2cdecde6621","directory":"drawful-2","title":"Drawful 2","compatibility":5,"releases":[{"id":"0100F7800A434000","region":null}]},{"id":"f3a51815-b81b-4936-b782-22ace2a72a07","directory":"blast-brawl-2","title":"Blast Brawl 2","compatibility":99,"releases":[{"id":"01001E900EC04000","region":null}]},{"id":"f3affad9-9552-4d2e-a8c9-4885a6757fbd","directory":"zumania-magic-casual-puzzle","title":"Zumania - Magic Casual Puzzle","compatibility":99,"releases":[{"id":"0100D6E015CFC000","region":null}]},{"id":"f3ba1aca-83f7-446a-80c2-ae2f6ad1276c","directory":"grip","title":"GRIP","compatibility":2,"releases":[{"id":"0100459009A2A000","region":null}]},{"id":"f3bd21e1-0ac6-47ec-be45-cfdc234bfdbb","directory":"street-basketball","title":"Street Basketball","compatibility":99,"releases":[{"id":"0100E7A00DAC2000","region":null}]},{"id":"f3c76348-235d-486c-a001-2cf1dd12fe88","directory":"my-riding-stables-life-with-horses","title":"My Riding Stables - Life with Horses","compatibility":99,"releases":[{"id":"010034300BFC4000","region":null}]},{"id":"f3d0ff93-e5d5-48e5-a2ed-3d33c1f4d401","directory":"brief-battles","title":"Brief Battles","compatibility":99,"releases":[{"id":"0100F4500BBCC000","region":null}]},{"id":"f3dbc93b-faf9-4995-a08d-5e8f0901ad5e","directory":"a-chti-bundle","title":"A Ch'ti Bundle","compatibility":99,"releases":[{"id":"010096A00CC80000","region":null}]},{"id":"f3e76cc4-07b6-46f0-a2d5-690a6c16a700","directory":"pool-pro-gold","title":"Pool Pro GOLD","compatibility":99,"releases":[{"id":"010070B01260C000","region":null}]},{"id":"f3f142c9-fd8e-48e2-890c-c34d5895a16e","directory":"miniature-the-story-puzzle","title":"Miniature - The Story Puzzle","compatibility":99,"releases":[{"id":"010039200EC66000","region":null}]},{"id":"f3f36a74-5148-4266-ab29-a2294df82749","directory":"picross-s-genesis-master-system-edition","title":"PICROSS S GENESIS & Master System edition","compatibility":0,"releases":[{"id":"010089701567A000","region":null}]},{"id":"f3f63766-cae4-4a32-a8a7-86be128d2d10","directory":"persian-nights-sands-of-wonders","title":"Persian Nights: Sands of Wonders","compatibility":1,"releases":[{"id":"010023100B96E000","region":null}]},{"id":"f41ba445-0e9a-4598-9eb7-c4cad7d15e65","directory":"99seconds","title":"99Seconds","compatibility":5,"releases":[{"id":"0100BA800CA6A000","region":null}]},{"id":"f4205221-b981-4916-a351-58e7f68307e8","directory":"arcade-archives-wiz","title":"Arcade Archives Wiz","compatibility":99,"releases":[{"id":"0100ABB00E352000","region":null}]},{"id":"f4420d76-62ef-4492-acd2-768ef6e66700","directory":"tiny-racer","title":"Tiny Racer","compatibility":99,"releases":[{"id":"01005D0011A40000","region":null}]},{"id":"f44c4ab1-c686-4bb9-a623-f19e64c6f6ce","directory":"knights-guns","title":"Knights & Guns","compatibility":99,"releases":[{"id":"010060A011ECC000","region":null}]},{"id":"f44db9f0-2129-473c-bd82-a33d3be87f38","directory":"go-birdie","title":"Go! Birdie","compatibility":99,"releases":[{"id":"010073E014BAE000","region":null}]},{"id":"f45994aa-0249-4bf5-b810-89b42a4649cc","directory":"my-last-first-kiss","title":"My Last First Kiss","compatibility":99,"releases":[{"id":"01004800160C8000","region":null}]},{"id":"f460f3f8-5ac6-404b-99d1-caa76de600fa","directory":"billion-road","title":"Billion Road","compatibility":99,"releases":[{"id":"010057700FF7C000","region":null}]},{"id":"f469b8ab-dd8e-4570-824d-c7cdecb1cd3c","directory":"asterix-obelix-xxl-romastered","title":"Asterix & Obelix XXL: Romastered","compatibility":3,"releases":[{"id":"0100F46011B50000","region":null}]},{"id":"f46eb660-f84b-444b-be9c-bf1c9d412368","directory":"starship-avenger-operation-take-back-earth","title":"STARSHIP AVENGER Operation: Take Back Earth","compatibility":1,"releases":[{"id":"01001BB00AC26000","region":null}]},{"id":"f483a0b3-307a-435b-addd-6ce0a94f0175","directory":"aca-neogeo-art-of-fighting-3","title":"ACA NEOGEO ART OF FIGHTING 3","compatibility":99,"releases":[{"id":"01004AC002B40000","region":null}]},{"id":"f4888402-2c66-4fef-a008-cd3410cbf104","directory":"radio-squid","title":"Radio Squid","compatibility":99,"releases":[{"id":"0100655012064000","region":null}]},{"id":"f4890921-2a07-43e4-b35e-be9b02dc2405","directory":"super-destronaut-land-wars","title":"Super Destronaut: Land Wars","compatibility":99,"releases":[{"id":"0100575011092000","region":null}]},{"id":"f4949e96-0a9f-4ded-83d5-34ead8e9172a","directory":"dungeon-adventure","title":"Dungeon Adventure","compatibility":99,"releases":[{"id":"0100610016C82000","region":null}]},{"id":"f49b94f9-f7cb-4b06-a594-8371504afeb7","directory":"dig-dog","title":"Dig Dog","compatibility":3,"releases":[{"id":"0100A5A00DBB0000","region":null}]},{"id":"f49ccb4c-1bf0-4654-8e72-9f8fb2c0ccb7","directory":"wordify","title":"Wordify","compatibility":99,"releases":[{"id":"010083E011BC8000","region":null}]},{"id":"f4a142af-77a5-45e2-aa9f-381fbcc5cd2b","directory":"basketball","title":"Basketball","compatibility":99,"releases":[{"id":"01008F600CA1A000","region":null}]},{"id":"f4aa1a68-1d6a-44a4-bfca-6785f9888e81","directory":"fibbage-xl","title":"Fibbage XL","compatibility":99,"releases":[{"id":"01002AC0113DE000","region":null}]},{"id":"f4bd3a8e-2dc1-428f-ac30-059406b27647","directory":"aca-neogeo-savage-reign","title":"ACA NEOGEO SAVAGE REIGN","compatibility":99,"releases":[{"id":"0100E5400AFC8000","region":null}]},{"id":"f4c1d231-1173-42eb-a1e9-7143f58a5981","directory":"a-little-lily-princess","title":"A Little Lily Princess","compatibility":99,"releases":[{"id":"01004E0014FC6000","region":null}]},{"id":"f4cd22c2-bf56-49ae-8f0b-94debf546d45","directory":"taninani","title":"TaniNani","compatibility":99,"releases":[{"id":"01007DB010D2C000","region":null}]},{"id":"f4d32079-455d-410e-a74a-97f899ba2fe0","directory":"georifters","title":"Georifters","compatibility":99,"releases":[{"id":"0100C11010298000","region":null}]},{"id":"f4de6480-7a86-4729-a8a4-3cda52845911","directory":"thunderflash","title":"Thunderflash","compatibility":99,"releases":[{"id":"0100EF5013140000","region":null}]},{"id":"f4e332a8-4fd3-462a-8795-2f7988e8b5bb","directory":"push-ups-workout","title":"Push-Ups Workout","compatibility":99,"releases":[{"id":"01002F2014984000","region":null}]},{"id":"f4f2f50f-3676-4f8b-bbc7-f30299f16346","directory":"aca-neogeo-samurai-shodown-v","title":"ACA NEOGEO SAMURAI SHODOWN V","compatibility":99,"releases":[{"id":"01000C800AFD6000","region":null}]},{"id":"f4f65943-c779-41ca-a5f5-2ed58e4368f4","directory":"moto-rider-go-highway-traffic","title":"Moto Rider GO: Highway Traffic","compatibility":99,"releases":[{"id":"0100953015526000","region":null}]},{"id":"f4f8587d-a510-4300-a4f0-3de7151eead6","directory":"street-racing-tokyo-rush","title":"Street Racing: Tokyo Rush","compatibility":99,"releases":[{"id":"01001E901482A000","region":null}]},{"id":"f50761a1-d198-4e00-8896-b317af178106","directory":"swords-and-sandals-spartacus","title":"Swords and Sandals: Spartacus","compatibility":0,"releases":[{"id":"0100241012432000","region":null}]},{"id":"f50c55b7-29f7-48c5-ad3c-e83d90bb35df","directory":"reaper-tale-of-a-pale-swordsman","title":"Reaper: Tale of a Pale Swordsman","compatibility":0,"releases":[{"id":"01000F300F082000","region":null}]},{"id":"f5259adc-ff7b-428e-9b2a-c827dcd395ba","directory":"next-up-hero","title":"Next Up Hero","compatibility":0,"releases":[{"id":"0100271004570000","region":null}]},{"id":"f5322a63-7a33-407a-b3a2-e0a101582a95","directory":"atomik-rungunjumpgun","title":"ATOMIK: RunGunJumpGun","compatibility":0,"releases":[{"id":"01000D1006CEC000","region":null}]},{"id":"f532c28c-5300-46b5-b064-16042e8c3499","directory":"agartha-s","title":"AGARTHA-S","compatibility":99,"releases":[{"id":"010076700CA18000","region":null}]},{"id":"f538c7c0-d78c-468f-ab59-fa00391920ad","directory":"calculation-castle-grecos-ghostly-challenge-division","title":"Calculation Castle : Greco's Ghostly Challenge \"Division \"","compatibility":99,"releases":[{"id":"010045500B212000","region":null}]},{"id":"f53db1cc-2d5e-4fe4-897f-36f7ecbf3b16","directory":"purrs-in-heaven","title":"Purrs In Heaven","compatibility":1,"releases":[{"id":"0100A71010B9C000","region":null}]},{"id":"f5401e9f-ac8a-4c69-9e83-92bfc4b3581e","directory":"neon-drive","title":"Neon Drive","compatibility":99,"releases":[{"id":"010032000EAC6000","region":null}]},{"id":"f54817b8-c08d-4a3d-9c01-be8bd0287788","directory":"counter-recon-the-first-mission","title":"Counter Recon: The First Mission","compatibility":99,"releases":[{"id":"010005A0143CC000","region":null}]},{"id":"f54dc608-026b-46b9-9754-b2f189c122d9","directory":"infinite-beyond-the-mind","title":"Infinite - Beyond the Mind","compatibility":99,"releases":[{"id":"010085D0101A4000","region":null}]},{"id":"f55176a6-5f56-4e48-85d8-0c2da278a1a2","directory":"galacide","title":"Galacide","compatibility":99,"releases":[{"id":"0100E9100F244000","region":null}]},{"id":"f55177dd-b9fc-449e-8590-0267d110d31f","directory":"super-street-racer","title":"Super Street: Racer","compatibility":3,"releases":[{"id":"010074200E910000","region":null}]},{"id":"f560165b-73cd-49a6-843d-8c5eb221f760","directory":"johnny-turbos-arcade-fighters-history","title":"Johnny Turbo's Arcade: Fighter's History","compatibility":4,"releases":[{"id":"0100B3F00B9F2000","region":null}]},{"id":"f564b7c9-e3aa-45de-9146-ee19233116d2","directory":"speedrunners","title":"SpeedRunners","compatibility":99,"releases":[{"id":"0100C8B00C4AE000","region":null}]},{"id":"f567c83a-a549-42a3-a406-464f8234d838","directory":"girabox","title":"Girabox","compatibility":99,"releases":[{"id":"01006BA013990000","region":null}]},{"id":"f56d1a68-1097-434e-b09d-b183af4073c0","directory":"mechstermination-force","title":"Mechstermination Force","compatibility":3,"releases":[{"id":"0100E4600D31A000","region":null}]},{"id":"f59b8462-c17a-4926-bb04-aeefcae22641","directory":"the-game-of-life-2","title":"THE GAME OF LIFE 2","compatibility":0,"releases":[{"id":"0100B620139D8000","region":null}]},{"id":"f5ba1e08-f2f7-4690-b12e-2e8a57042346","directory":"commander-keen-in-keen-dreams","title":"Commander Keen in Keen Dreams","compatibility":99,"releases":[{"id":"0100C4D00D16A000","region":null}]},{"id":"f5be271b-01cb-4c05-b08f-b36326affbf6","directory":"birds-and-blocks","title":"Birds and Blocks","compatibility":99,"releases":[{"id":"010084B012FF0000","region":null}]},{"id":"f5c6b1e4-91af-46db-a8f5-c415f189bee9","directory":"arcade-archives-the-ninja-warriors","title":"Arcade Archives THE NINJA WARRIORS","compatibility":4,"releases":[{"id":"0100DC000983A000","region":null}]},{"id":"f5cbe983-f07c-4bf7-8bc0-14e203d1b94c","directory":"within-the-blade","title":"Within the Blade","compatibility":99,"releases":[{"id":"0100BE5011486000","region":null}]},{"id":"f5cd6279-9416-48f6-942a-fc16344d82b4","directory":"my-farm","title":"My Farm","compatibility":99,"releases":[{"id":"010021F00AD76000","region":null}]},{"id":"f5e9d60b-2956-4692-9c0b-89e0aba9117e","directory":"frederic-resurrection-of-music","title":"Frederic: Resurrection of Music","compatibility":5,"releases":[{"id":"01005B1006988000","region":null}]},{"id":"f5f0fca5-c640-4e0f-a86e-d08e81858e9a","directory":"doodle-god-evolution","title":"Doodle God: Evolution","compatibility":3,"releases":[{"id":"0100D3200AF74000","region":null}]},{"id":"f5f2c651-82fa-44aa-a9ff-97a37825e41a","directory":"metro-2033-redux","title":"Metro 2033 Redux","compatibility":3,"releases":[{"id":"0100D4900E82C000","region":null}]},{"id":"f5f9afcb-d19c-4907-a40c-3ed407dd3a0e","directory":"shape-of-the-world","title":"Shape of the World","compatibility":3,"releases":[{"id":"0100B25009B96000","region":null}]},{"id":"f60c2502-f211-4c27-a79c-64be87bd04c0","directory":"tennis-go","title":"Tennis Go","compatibility":99,"releases":[{"id":"010029F00FCC4000","region":null}]},{"id":"f624d8f7-8c24-40e5-92d6-c0319623c129","directory":"super-cable-boy","title":"Super Cable Boy","compatibility":0,"releases":[{"id":"01008260145F2000","region":null}]},{"id":"f625cee2-8fce-4457-b950-64e112b3ef5b","directory":"infection-board-game","title":"Infection - Board Game","compatibility":99,"releases":[{"id":"0100A7F01283C000","region":null}]},{"id":"f626856e-210d-4c66-933a-764891545f15","directory":"jessika","title":"Jessika","compatibility":99,"releases":[{"id":"0100457015902000","region":null}]},{"id":"f6291ae3-c7d7-4984-a2cc-da0bcfc9e32f","directory":"skies-of-fury-dx","title":"Skies of Fury DX","compatibility":1,"releases":[{"id":"0100D67006F14000","region":null}]},{"id":"f6313eb0-2612-4e65-a70c-fce2d5a4e17b","directory":"art-of-rally","title":"art of rally","compatibility":1,"releases":[{"id":"0100A88012504000","region":null}]},{"id":"f64f82dd-efd8-4f73-878b-f6aafc7161f4","directory":"heave-ho","title":"Heave Ho","compatibility":1,"releases":[{"id":"0100ADD00E17E000","region":null}]},{"id":"f65f2639-c959-40a2-b955-2f09bc48130b","directory":"qbics-paint","title":"Qbics Paint","compatibility":99,"releases":[{"id":"0100A8D003BAE000","region":null}]},{"id":"f66095ed-28a1-4f84-9ee2-af2d6f969788","directory":"ultra-age","title":"Ultra Age","compatibility":0,"releases":[{"id":"01008D4015904000","region":null}]},{"id":"f66ddc9e-f436-4cfd-a4c6-e2df3e3ba479","directory":"speed-3-grand-prix","title":"Speed 3: Grand Prix","compatibility":99,"releases":[{"id":"0100F18010BA0000","region":null}]},{"id":"f66e4139-ec83-4517-96a7-e8e5f48a1e7d","directory":"car-mayhem","title":"Car Mayhem","compatibility":99,"releases":[{"id":"010021200E062000","region":null}]},{"id":"f6747554-c66d-4add-97e9-7bc3da2d7dfb","directory":"sakura-succubus-4","title":"Sakura Succubus 4","compatibility":0,"releases":[{"id":"010029D015BD2000","region":null}]},{"id":"f6748c07-73c3-43c6-ab6b-ee1a96621fb8","directory":"quench","title":"Quench","compatibility":99,"releases":[{"id":"010005300EDCC000","region":null}]},{"id":"f6860cd9-fe3c-4ecc-9491-f3b0cb6e76b0","directory":"underland","title":"Underland","compatibility":99,"releases":[{"id":"0100C94015CBA000","region":null}]},{"id":"f68a11e0-92ab-48ec-a62e-0d4810b76c22","directory":"arc-of-alchemist","title":"Arc of Alchemist","compatibility":99,"releases":[{"id":"0100C7D00E6A0000","region":null}]},{"id":"f6989962-fdf8-4288-99aa-d9d8e380e40a","directory":"jump-gunners","title":"Jump Gunners","compatibility":99,"releases":[{"id":"0100EBE00FDC0000","region":null}]},{"id":"f698e37e-062a-456c-a7f2-1b4dbed5bf0f","directory":"sudoku-relax-4-winter-snow","title":"Sudoku Relax 4 Winter Snow","compatibility":99,"releases":[{"id":"010010E010AAA000","region":null}]},{"id":"f6a477ba-3c76-4620-8141-79a49bc3342e","directory":"arcade-archives-mx5000","title":"Arcade Archives MX5000","compatibility":99,"releases":[{"id":"0100ACB010ED2000","region":null}]},{"id":"f6aa72e5-0fff-4917-9100-bb08d5e37b43","directory":"divinity-original-sin-2-definitive-edition","title":"Divinity: Original Sin 2 - Definitive Edition","compatibility":3,"releases":[{"id":"010027400CDC6000","region":null}]},{"id":"f6baeeea-e6f5-42b2-aaef-09b89fc2b144","directory":"mario-tennis-aces-special-online-demo","title":"Mario Tennis™ Aces Special Online Demo","compatibility":99,"releases":[{"id":"0100A4200DA76000","region":null}]},{"id":"f6c2e98b-03f5-4f5d-9e54-70eaded85ede","directory":"crocs-world","title":"Croc's World","compatibility":3,"releases":[{"id":"01004F800C4DA000","region":null}]},{"id":"f6c6314e-2d42-4e48-a57b-f25ddc726ac2","directory":"tactical-mind-2","title":"Tactical Mind 2","compatibility":99,"releases":[{"id":"0100BD700F5F0000","region":null}]},{"id":"f6ca6345-ef46-46d3-844e-b45ea8329c27","directory":"electronic-super-joy","title":"Electronic Super Joy","compatibility":99,"releases":[{"id":"0100A3000F070000","region":null}]},{"id":"f6cee2bc-488e-42db-b35e-e1693df80edd","directory":"starcrossed","title":"StarCrossed","compatibility":99,"releases":[{"id":"010022500C964000","region":null}]},{"id":"f6d14e57-3179-4e5d-bfe6-76fdaccbf470","directory":"zotrix-solar-division","title":"Zotrix: Solar Division","compatibility":99,"releases":[{"id":"01001EE00A6B0000","region":null}]},{"id":"f6dad735-6bee-4f97-93c7-b41a6724d08b","directory":"mimic-hunter","title":"Mimic Hunter","compatibility":99,"releases":[{"id":"010024A00C854000","region":null}]},{"id":"f6dc7427-502f-4ae0-8d3a-d9d2179ae996","directory":"panmorphia","title":"Panmorphia","compatibility":99,"releases":[{"id":"01004E6016370000","region":null}]},{"id":"f6e264e4-ec96-4ae9-9612-dd384650325e","directory":"treachery-in-beatdown-city","title":"Treachery in Beatdown City","compatibility":0,"releases":[{"id":"0100B0600ABE6000","region":null}]},{"id":"f6e38620-27b3-449a-b50d-e8f4d02c7e0f","directory":"black-and-white-bushido","title":"Black and White Bushido","compatibility":99,"releases":[{"id":"010000F00BF68000","region":null}]},{"id":"f6e8cd75-9736-4256-ad86-2c8fdb9dcc3a","directory":"in-between","title":"In Between","compatibility":99,"releases":[{"id":"010038200A98E000","region":null}]},{"id":"f6eaf063-57e6-4c46-9ca4-8b19ea3f0431","directory":"hello-neighbor-hide-and-seek","title":"Hello Neighbor Hide and Seek","compatibility":3,"releases":[{"id":"010092B00C4F0000","region":null}]},{"id":"f6f0f3db-7e3d-4e9e-92b9-055600a8059f","directory":"wildtrax-racing","title":"WildTrax Racing","compatibility":2,"releases":[{"id":"0100A0501185A000","region":null}]},{"id":"f70137ac-9257-4e7d-b874-99a91ac1e179","directory":"the-escapists-complete-edition","title":"The Escapists: Complete Edition","compatibility":1,"releases":[{"id":"01001B700BA7C000","region":null}]},{"id":"f70332a2-68f0-4ad9-9254-e81c2257ccb7","directory":"uurnog-uurnlimited","title":"Uurnog Uurnlimited","compatibility":1,"releases":[{"id":"0100F55004AB8000","region":null}]},{"id":"f70c5f9a-40d8-432b-9259-c5ac8c58e595","directory":"world-of-final-fantasy-maxima","title":"WORLD OF FINAL FANTASY MAXIMA","compatibility":1,"releases":[{"id":"010072000BD32000","region":null}]},{"id":"f714a07b-e7a0-48c7-9ee6-5f3fb940318f","directory":"toki-tori","title":"Toki Tori","compatibility":2,"releases":[{"id":"0100EE80098E6000","region":null}]},{"id":"f71c7de0-5aee-4340-ad1b-87cd8f34e4b6","directory":"solitaire-battle-royal","title":"SOLITAIRE BATTLE ROYAL","compatibility":99,"releases":[{"id":"0100B4700BDBA000","region":null}]},{"id":"f7213688-622d-41e9-baed-be9c7dd6443d","directory":"ninja-epic-adventure","title":"Ninja Epic Adventure","compatibility":99,"releases":[{"id":"0100FA6014264000","region":null}]},{"id":"f7233cf2-7dcb-4fb0-be7d-e27f91abba84","directory":"piczle-lines-dx-500-more-puzzles","title":"Piczle Lines DX 500 More Puzzles!","compatibility":99,"releases":[{"id":"010017600B532000","region":null}]},{"id":"f7234f8b-3459-43f1-be1b-9eecd4b700e6","directory":"hyperide","title":"Hyperide","compatibility":99,"releases":[{"id":"010091000CC0E000","region":null}]},{"id":"f726526f-fc6d-44b2-9018-bdde2cb484a4","directory":"mahjong","title":"Mahjong","compatibility":99,"releases":[{"id":"010014B00BB04000","region":null}]},{"id":"f72a7eb7-f9ac-4ef1-9be4-b260f717d351","directory":"arcade-archives-zero-team","title":"Arcade Archives ZERO TEAM","compatibility":0,"releases":[{"id":"0100EFF0137DA000","region":null}]},{"id":"f73dbbbc-9837-4678-9c13-5ebd6879777e","directory":"otherworldly","title":"Otherworldly","compatibility":99,"releases":[{"id":"0100DBB010EB8000","region":null}]},{"id":"f73f2052-4031-4567-bd48-335099fdd6ce","directory":"harvest-moon-mad-dash","title":"Harvest Moon: Mad Dash","compatibility":0,"releases":[{"id":"010022400E71C000","region":null}]},{"id":"f73fb744-9e3e-4311-8c52-8b5a7e178480","directory":"loopindex","title":"Loopindex","compatibility":99,"releases":[{"id":"0100AD90153C8000","region":null}]},{"id":"f744cea2-e96f-4f81-9afe-adfaf05c5cca","directory":"white-girl","title":"White Girl","compatibility":99,"releases":[{"id":"0100102014B16000","region":null}]},{"id":"f7460a42-9c0e-4983-aa8c-fe663df4249b","directory":"tandem-a-tale-of-shadows","title":"Tandem : A Tale of Shadows","compatibility":99,"releases":[{"id":"0100B7A015362000","region":null}]},{"id":"f750db63-ab8e-4ed6-8c50-24692e3c4ee3","directory":"super-chariot-demo","title":"Super Chariot Demo","compatibility":99,"releases":[{"id":"0100B7B009532000","region":null}]},{"id":"f75da884-064f-4315-9ce0-4f04b4cca71d","directory":"senran-kagura-peach-ball","title":"SENRAN KAGURA Peach Ball","compatibility":0,"releases":[{"id":"0100D1800D902000","region":null}]},{"id":"f75fa583-e7b2-47da-b18f-e6f86c26f461","directory":"oniria-crimes","title":"Oniria Crimes","compatibility":99,"releases":[{"id":"0100A290131BA000","region":null}]},{"id":"f76259ad-b0e8-4805-a2ff-5063ddc9d2e6","directory":"ghost-grab-3000","title":"Ghost Grab 3000","compatibility":99,"releases":[{"id":"010057500E744000","region":null}]},{"id":"f768e414-97b3-44a8-96ba-327ff8f81e65","directory":"sushiparty","title":"SushiParty","compatibility":99,"releases":[{"id":"01005FC013414000","region":null}]},{"id":"f7825cd3-0bc2-423e-b02e-3731e0a628a1","directory":"elliot","title":"Elliot","compatibility":99,"releases":[{"id":"0100D85013754000","region":null}]},{"id":"f783d214-e411-4da2-a468-9a6e5f9a0980","directory":"gas-station-highway-services","title":"Gas Station: Highway Services","compatibility":99,"releases":[{"id":"010032D012602000","region":null}]},{"id":"f78944be-7bb2-415a-8dee-9b0e324d119e","directory":"doodle-games-bundle","title":"Doodle Games Bundle","compatibility":99,"releases":[{"id":"010002B013452000","region":null}]},{"id":"f78ba72b-8c11-4b63-8a4b-f42c32633822","directory":"devious-dungeon-2","title":"Devious Dungeon 2","compatibility":99,"releases":[{"id":"0100F1800DD4E000","region":null}]},{"id":"f79f5d82-c287-4191-91c1-1adf54082fb7","directory":"sky-force-reloaded","title":"Sky Force Reloaded","compatibility":1,"releases":[{"id":"01006FE005B6E000","region":null}]},{"id":"f7ac967a-e96a-4ca1-a7e6-f3b8f3d924aa","directory":"evergate","title":"Evergate","compatibility":99,"releases":[{"id":"01009C4012284000","region":null}]},{"id":"f7bcd1a9-7c56-4a36-b749-52d63db9caa2","directory":"aca-neogeo-over-top","title":"ACA NEOGEO OVER TOP","compatibility":4,"releases":[{"id":"01003A5001DBA000","region":null}]},{"id":"f7c81f12-b6a3-4301-a5ef-1accf4157a40","directory":"bargain-hunter","title":"Bargain Hunter","compatibility":0,"releases":[{"id":"01005F600D2D8000","region":null}]},{"id":"f7dac82c-8a2a-433c-9650-3b513687d3d0","directory":"wood-block-escape-puzzles-2","title":"Wood Block Escape Puzzles 2","compatibility":99,"releases":[{"id":"01001F2014CCC000","region":null}]},{"id":"f7e71524-840e-4409-8bb0-83a4be8e3fb4","directory":"arcade-archives-rod-land","title":"Arcade Archives Rod Land","compatibility":99,"releases":[{"id":"01000C2013972000","region":null}]},{"id":"f7ed597e-be4a-4167-a408-c9fa9db3e442","directory":"grisaia-phantom-trigger-05","title":"GRISAIA PHANTOM TRIGGER 05","compatibility":99,"releases":[{"id":"01002330123BC000","region":null}]},{"id":"f7f39298-ef2a-4d4a-a575-c0d349fd3a8d","directory":"swords-and-soldiers","title":"Swords & Soldiers","compatibility":99,"releases":[{"id":"010019500B69A000","region":null}]},{"id":"f7f6d869-ead7-4a0a-9854-1985d635b376","directory":"warriorb","title":"WarriOrb","compatibility":99,"releases":[{"id":"010032700EAC4000","region":null}]},{"id":"f804d592-795e-4505-9266-057164e343dd","directory":"mahjong-stories-vampire-romance","title":"Mahjong Stories: Vampire Romance","compatibility":0,"releases":[{"id":"0100BAA00CDFA000","region":null}]},{"id":"f805a325-6396-4cc1-a224-bc2b7ea6d47a","directory":"ghoulboy","title":"Ghoulboy","compatibility":0,"releases":[{"id":"0100A9500C606000","region":null}]},{"id":"f80739d5-f2ff-4984-bb51-9781b4cbe85b","directory":"aca-neogeo-metal-slug-5","title":"ACA NEOGEO METAL SLUG 5","compatibility":5,"releases":[{"id":"01004C000AFDC000","region":null}]},{"id":"f8181daa-1873-4e2c-a54d-5dd3fbada0d1","directory":"outbreak-epidemic","title":"Outbreak: Epidemic","compatibility":99,"releases":[{"id":"0100C850130FE000","region":null}]},{"id":"f81a3dcc-aca9-4b6b-89a5-b8971ac63ad5","directory":"tiny-gladiators","title":"Tiny Gladiators","compatibility":99,"releases":[{"id":"0100DF900FC52000","region":null}]},{"id":"f8311a6c-5ad6-4e71-a24d-25825f9ce592","directory":"where-angels-cry-tears-of-the-fallen-collectors-edition","title":"Where Angels Cry: Tears of the Fallen Collector's Edition","compatibility":99,"releases":[{"id":"01008F30107F8000","region":null}]},{"id":"f8369515-3bba-46a3-bf2f-8faba455d650","directory":"habroxia","title":"Habroxia","compatibility":99,"releases":[{"id":"01007E100EFA8000","region":null}]},{"id":"f8394654-c12e-4340-b9b4-da6433bad3f5","directory":"modern-tales-age-of-invention","title":"Modern Tales: Age of Invention","compatibility":99,"releases":[{"id":"010004900D772000","region":null}]},{"id":"f83ada34-f86a-4117-98f4-93ff5e405fa9","directory":"real-driving-sim","title":"Real Driving Sim","compatibility":0,"releases":[{"id":"0100748012ABE000","region":null}]},{"id":"f8445d7b-1bb1-45a3-9990-1c992eacc809","directory":"bass-pro-shops-the-strike-championship-edition","title":"Bass Pro Shops: The Strike - Championship Edition","compatibility":4,"releases":[{"id":"0100E3100450E000","region":null}]},{"id":"f8483da0-922d-4812-bb51-7377db922e7b","directory":"couch-co-op-bundle-vol-2","title":"Couch Co-Op Bundle Vol. 2","compatibility":99,"releases":[{"id":"01000E301107A000","region":null}]},{"id":"f851f346-c484-4471-b7e7-9239c47e2bdc","directory":"legend-of-numbers","title":"Legend of Numbers","compatibility":99,"releases":[{"id":"0100EDA013C08000","region":null}]},{"id":"f85aca9b-0337-4700-a3f0-f7bf5a7c1826","directory":"video-poker-collection","title":"Video Poker Collection","compatibility":99,"releases":[{"id":"0100FFE012842000","region":null}]},{"id":"f863671e-b5b3-41a3-b18e-b9657e821e4c","directory":"collide-a-ball-2","title":"Collide-a-Ball 2","compatibility":99,"releases":[{"id":"01009E700EEA6000","region":null}]},{"id":"f8636966-6596-43e1-849d-6a2c1d51eb36","directory":"wanba-warriors","title":"Wanba Warriors","compatibility":99,"releases":[{"id":"0100E29010A4A000","region":null}]},{"id":"f8737ad8-e0ef-4132-9a82-7a8f4e8a2d6e","directory":"friday-the-13th-killer-puzzle","title":"Friday the 13th: Killer Puzzle","compatibility":4,"releases":[{"id":"010003F00BD48000","region":null}]},{"id":"f875921a-ade0-41c2-85a9-920270d500a1","directory":"monomals","title":"Monomals","compatibility":99,"releases":[{"id":"01003030161DC000","region":null}]},{"id":"f88339c7-6528-4427-9339-446856c87526","directory":"sakuna-of-rice-and-ruin","title":"Sakuna: Of Rice and Ruin","compatibility":2,"releases":[{"id":"0100B1400E8FE000","region":null}]},{"id":"f8843017-a4e8-49b7-9fd3-5076c6be7d38","directory":"dead-by-daylight","title":"Dead by Daylight","compatibility":99,"releases":[{"id":"01004C400CF96000","region":null}]},{"id":"f89eb06b-491b-4c8a-a9c1-6ae06cd08ae2","directory":"deep-space-rush","title":"Deep Space Rush","compatibility":99,"releases":[{"id":"01000A700F956000","region":null}]},{"id":"f8ab9d8b-189f-4448-a6ae-e2cbd94d4bf3","directory":"green-game-timeswapper","title":"Green Game: TimeSwapper","compatibility":4,"releases":[{"id":"0100CBB0070EE000","region":null}]},{"id":"f8af1d4e-0b7f-4f79-b856-4bf1dd6ea22d","directory":"slime-tactics","title":"Slime Tactics","compatibility":99,"releases":[{"id":"010016600DBFC000","region":null}]},{"id":"f8b414fe-cac7-4fd0-8dc5-41a77a483be7","directory":"azur-lane-crosswave","title":"Azur Lane: Crosswave","compatibility":2,"releases":[{"id":"010065D012FA0000","region":null}]},{"id":"f8b7a9b3-332d-4e0a-af25-eebcf1c01e41","directory":"aery-calm-mind","title":"Aery - Calm Mind","compatibility":99,"releases":[{"id":"01000A8015390000","region":null}]},{"id":"f8d234bb-b225-42f6-bf9e-d8daf711b9e9","directory":"nolimitfantasy-super-puzzles-dream","title":"#NoLimitFantasy, Super Puzzles Dream","compatibility":99,"releases":[{"id":"0100325012C12000","region":null}]},{"id":"f8d3d36e-540d-45d9-9d84-358bdd25b80c","directory":"critadel","title":"Critadel","compatibility":99,"releases":[{"id":"0100602014212000","region":null}]},{"id":"f8d542c3-583b-444e-8d84-6a65d9c32ee5","directory":"rainswept","title":"Rainswept","compatibility":99,"releases":[{"id":"01007EC010B48000","region":null}]},{"id":"f8d55a60-c0d8-4181-b645-773722389225","directory":"arcade-archives-buta-san","title":"Arcade Archives Buta san","compatibility":99,"releases":[{"id":"0100A47009818000","region":null}]},{"id":"f8db3e53-7ebe-43c1-96fc-fc0031714268","directory":"the-forgotten-land","title":"The Forgotten Land","compatibility":99,"releases":[{"id":"0100F780103E6000","region":null}]},{"id":"f8ea7891-a7b9-4a3e-ab2f-f69fae9862b6","directory":"card-game-bundle-vol-1","title":"Card Game Bundle Vol. 1","compatibility":99,"releases":[{"id":"01005BC01145A000","region":null}]},{"id":"f8eaa3f0-bd1a-468c-89f2-e8ac16895e00","directory":"syberia-2","title":"Syberia 2","compatibility":5,"releases":[{"id":"010028C003FD6000","region":null}]},{"id":"f8f41aec-08a6-4768-aee2-fc1455dbb710","directory":"curved-space","title":"Curved Space","compatibility":0,"releases":[{"id":"0100CE5014026000","region":null}]},{"id":"f8f74c72-f7ed-446a-b714-a8d72c6a2e32","directory":"ayakashi-koi-gikyoku-trial-version","title":"Ayakashi Koi Gikyoku《Trial version》","compatibility":99,"releases":[{"id":"010075400DEC6000","region":null}]},{"id":"f909f115-c64f-45c7-b138-7d6573a56e49","directory":"the-vanishing-of-ethan-carter","title":"The Vanishing of Ethan Carter","compatibility":99,"releases":[{"id":"0100BCF00E970000","region":null}]},{"id":"f90a3ecc-1878-4f15-a752-de9dd57e9a97","directory":"hopes-farm","title":"Hope's Farm","compatibility":99,"releases":[{"id":"01005C0015594000","region":null}]},{"id":"f90f9631-90bc-4bc1-a859-f282e52b4cc1","directory":"freedom-planet","title":"Freedom Planet","compatibility":1,"releases":[{"id":"0100EB800B614000","region":null}]},{"id":"f91028ab-3e2b-45e6-99b6-3c2ce4f89ce9","directory":"tails-of-iron","title":"Tails Of Iron","compatibility":99,"releases":[{"id":"0100EF3013F60000","region":null}]},{"id":"f9177c0c-0010-4777-9b1a-b34f33ca3d14","directory":"paw-patrol-on-a-roll","title":"PAW Patrol: On a Roll!","compatibility":0,"releases":[{"id":"0100CEC003A4A000","region":null}]},{"id":"f921f40f-774b-41c6-80a4-b40b15b343bd","directory":"revenge-of-the-bird-king","title":"Revenge of the Bird King","compatibility":99,"releases":[{"id":"01004EB00C2E6000","region":null}]},{"id":"f93607af-fb1d-4895-bfd8-d072f6106dec","directory":"johnny-turbos-arcade-night-slashers","title":"Johnny Turbo's Arcade: Night Slashers","compatibility":99,"releases":[{"id":"0100F7300C90E000","region":null}]},{"id":"f9364590-8f0a-4eee-9859-60c0a539b2ce","directory":"aca-neogeo-fatal-fury","title":"ACA NEOGEO FATAL FURY","compatibility":4,"releases":[{"id":"0100EE6002B48000","region":null}]},{"id":"f93bd721-1fce-4857-bf51-1663dd6e6c03","directory":"prinny-r-can-i-really-be-the-hero","title":"Prinny®: Can I Really Be the Hero?","compatibility":99,"releases":[{"id":"01007A0011878000","region":null}]},{"id":"f946fc0e-2553-4bf8-85b4-47ffc3ef3cba","directory":"spirits-of-xanadu","title":"Spirits of Xanadu","compatibility":99,"releases":[{"id":"0100CC3014C74000","region":null}]},{"id":"f94701f3-2fd8-4984-b52e-2b04bb03897b","directory":"burger-chef-tycoon","title":"Burger Chef Tycoon","compatibility":1,"releases":[{"id":"0100DF900EA8E000","region":null}]},{"id":"f94f6c2e-23f4-4f72-b72b-542e9884627c","directory":"project-aether-first-contact","title":"Project AETHER: First Contact","compatibility":99,"releases":[{"id":"010046D013EB6000","region":null}]},{"id":"f953997b-fc3d-4787-8c03-5a6b28ff18b1","directory":"operation-pig","title":"Operation Pig","compatibility":99,"releases":[{"id":"010038B00BFD4000","region":null}]},{"id":"f95505ba-ae54-4406-8b21-d1e55eb9f427","directory":"spacebase-startopia","title":"Spacebase Startopia","compatibility":99,"releases":[{"id":"0100BF4013D70000","region":null}]},{"id":"f95b8a04-4bed-43cc-b429-b47de80e77b5","directory":"operencia-the-stolen-sun","title":"Operencia: The Stolen Sun","compatibility":4,"releases":[{"id":"01006CF00CFA4000","region":null}]},{"id":"f95bb3ad-ed1a-4be1-b270-b54276f493e4","directory":"the-adventures-of-00-dilly-r","title":"The Adventures of 00 Dilly®","compatibility":99,"releases":[{"id":"0100137010152000","region":null}]},{"id":"f9664f01-2186-43c5-abeb-634b1d3b2367","directory":"chess-minimal","title":"Chess Minimal","compatibility":99,"releases":[{"id":"010030D010D66000","region":null}]},{"id":"f96c5622-555e-44b0-8366-000cfcdb17cf","directory":"ball-physics-draw-puzzles-2","title":"Ball Physics Draw Puzzles 2","compatibility":99,"releases":[{"id":"0100F5F0165F4000","region":null}]},{"id":"f97c3da4-9e6e-4e32-ad9a-40d0f41eb15c","directory":"steel-rain","title":"Steel Rain","compatibility":99,"releases":[{"id":"0100D51010D5E000","region":null}]},{"id":"f98226aa-59f7-41bc-8f71-4b53dc425893","directory":"drawn-to-life-two-realms","title":"Drawn to Life: Two Realms","compatibility":1,"releases":[{"id":"0100FF1012C1C000","region":null}]},{"id":"f9b526e8-8e95-4337-9928-45d510865372","directory":"marblelous-animals","title":"Marblelous Animals","compatibility":99,"releases":[{"id":"0100A6F00F364000","region":null}]},{"id":"f9cbba28-19cd-4787-9a46-3391b834ccbc","directory":"kitaria-fables","title":"Kitaria Fables","compatibility":99,"releases":[{"id":"0100F30013BFC000","region":null}]},{"id":"f9d1f07a-6cca-43b5-990d-2a587c945946","directory":"if-found","title":"If Found...","compatibility":0,"releases":[{"id":"01006550129C6000","region":null}]},{"id":"f9d761b5-3fc1-4a69-a893-5735025fe004","directory":"truck-simulator-2","title":"Truck Simulator 2","compatibility":99,"releases":[{"id":"01001730159E8000","region":null}]},{"id":"f9db30dd-38b3-4d20-a478-488a9063254d","directory":"carnival-games","title":"Carnival Games","compatibility":2,"releases":[{"id":"010088C0092FE000","region":null}]},{"id":"f9e45d9e-fb7d-4ad5-9e4d-7e6740296a40","directory":"the-last-blade-beyond-the-destiny","title":"THE LAST BLADE: Beyond the Destiny","compatibility":99,"releases":[{"id":"0100A35012908000","region":null}]},{"id":"f9ed0cc3-8884-4e50-ba8a-52d56f42a359","directory":"virus-the-outbreak","title":"VIRUS: The Outbreak","compatibility":99,"releases":[{"id":"0100489013A3C000","region":null}]},{"id":"f9f5281c-6061-4068-b321-f3cf592d6fde","directory":"trollhunters-defenders-of-arcadia","title":"Trollhunters: Defenders of Arcadia","compatibility":3,"releases":[{"id":"0100145011008000","region":null}]},{"id":"f9f8e2f8-1c8a-4d39-a09f-ab1529cfc70e","directory":"roulette","title":"Roulette","compatibility":99,"releases":[{"id":"0100BAB011DEC000","region":null}]},{"id":"fa09cc53-240b-44c1-8c1e-dec51524fea7","directory":"battle-for-blood","title":"Battle for Blood","compatibility":99,"releases":[{"id":"01007AB013E9E000","region":null}]},{"id":"fa1a66ea-7a92-4bbe-8824-4f96ad9025e7","directory":"indie-darling-bundle-vol-1","title":"Indie Darling Bundle Vol. 1","compatibility":99,"releases":[{"id":"0100BAE011072000","region":null}]},{"id":"fa1d83e3-dc84-4c98-a9fe-a5df750186c7","directory":"rhythm-fighter","title":"Rhythm Fighter","compatibility":99,"releases":[{"id":"0100729012D18000","region":null}]},{"id":"fa4c92cf-765b-42f2-90b4-13e36ed9c1b4","directory":"love","title":"LOVE","compatibility":99,"releases":[{"id":"0100B6200D204000","region":null}]},{"id":"fa4e7ceb-6ba0-4012-bc80-dd47b5575962","directory":"toby-the-secret-mine","title":"Toby: The Secret Mine","compatibility":2,"releases":[{"id":"0100A4A00B2E8000","region":null}]},{"id":"fa642e98-0957-4bdc-bc8c-62ef3ff6e1b4","directory":"kuukiyomi-3-consider-it-more-and-more-father-to-son","title":"KUUKIYOMI 3: Consider It More and More!! - Father to Son","compatibility":99,"releases":[{"id":"01001AC013DEC000","region":null}]},{"id":"fa6deb7a-7161-446a-8420-a2720131b5a1","directory":"dodo-peak","title":"Dodo Peak","compatibility":4,"releases":[{"id":"01001770115C8000","region":null}]},{"id":"fa6f456f-28b8-46f1-be46-3b0358e18e18","directory":"idle-inventor-factory-tycoon","title":"Idle Inventor - Factory Tycoon","compatibility":99,"releases":[{"id":"0100FBA01588C000","region":null}]},{"id":"fa6f5310-9d6e-4be2-9a1c-e23db71fb81a","directory":"angels-with-scaly-wings","title":"Angels with Scaly Wings","compatibility":0,"releases":[{"id":"0100FC90122CC000","region":null}]},{"id":"fa74b482-2d49-4e40-b892-57181372e37c","directory":"beat-me","title":"Beat Me!","compatibility":99,"releases":[{"id":"01002D20129FC000","region":null}]},{"id":"fa78c4ee-61cb-46c9-b723-d49fb8374df3","directory":"clay-skeet-shooting","title":"Clay Skeet Shooting","compatibility":99,"releases":[{"id":"0100D36013DF6000","region":null}]},{"id":"fa7ae349-52a0-4c66-8289-dc0288f77c37","directory":"give-it-up-bouncy","title":"Give It Up! Bouncy","compatibility":99,"releases":[{"id":"0100CC001369E000","region":null}]},{"id":"fa89f0b2-782c-4678-a671-c0021c64f45d","directory":"pokemon-home","title":"Pokémon HOME","compatibility":4,"releases":[{"id":"010015F008C54000","region":null}]},{"id":"fa955193-bf9e-426c-891f-73515bb5590d","directory":"wild-park-manager","title":"Wild Park Manager","compatibility":99,"releases":[{"id":"0100CFF010202000","region":null}]},{"id":"faabbd13-0166-4f78-82b4-44bac956ce39","directory":"arcade-archives-thunder-cross","title":"Arcade Archives THUNDER CROSS","compatibility":99,"releases":[{"id":"01004E4013E62000","region":null}]},{"id":"fab175a7-2daa-460c-ba6d-97dafd0ad12c","directory":"hardcore-mecha","title":"HARDCORE MECHA","compatibility":0,"releases":[{"id":"01002F0011DD4000","region":null}]},{"id":"fabddce0-cdf8-4a2e-8f2f-c52ad66e5998","directory":"under-night-in-birth-exelatecl-r","title":"Under Night In-Birth Exe:Late[cl-r]","compatibility":1,"releases":[{"id":"010038C00EC34000","region":null}]},{"id":"fabe141b-e355-42d5-9dcd-ab5c9c4e2ed0","directory":"my-secret-pets","title":"My Secret Pets!","compatibility":99,"releases":[{"id":"01009070118B4000","region":null}]},{"id":"facdbe14-e6ae-4a11-adcc-85e6e7a18867","directory":"the-last-remnant-remastered","title":"THE LAST REMNANT Remastered","compatibility":2,"releases":[{"id":"0100AC800D022000","region":null}]},{"id":"fad48de8-f079-47ce-a4a9-16de94fd6cae","directory":"pool-puzzles","title":"Pool Puzzles","compatibility":99,"releases":[{"id":"0100300016400000","region":null}]},{"id":"fadfea90-6ff6-4532-8419-dba69b908dd8","directory":"raining-blobs","title":"Raining Blobs","compatibility":99,"releases":[{"id":"0100F3F00B86A000","region":null}]},{"id":"fae396c1-0ab7-441c-9ce8-60d432018ae3","directory":"arrest-of-a-stone-buddha","title":"Arrest of a stone Buddha","compatibility":5,"releases":[{"id":"0100184011B32000","region":null}]},{"id":"fae40a0a-b108-4ba3-9c9a-9e3897645424","directory":"car-mechanic-simulator","title":"Car Mechanic Simulator","compatibility":99,"releases":[{"id":"0100F2D00C97E000","region":null}]},{"id":"faea8e79-f984-4d40-bb50-6b1870d94aaa","directory":"life-goes-on","title":"Life Goes On","compatibility":99,"releases":[{"id":"010006300AFFE000","region":null}]},{"id":"faeef2d9-e6ff-46bc-b03d-4f7e4acaae86","directory":"warhammer-age-of-sigmar-storm-ground","title":"Warhammer Age of Sigmar: Storm Ground","compatibility":1,"releases":[{"id":"010031201307A000","region":null}]},{"id":"faf17261-5295-4803-9734-e7612b55be82","directory":"super-fowlst","title":"Super Fowlst","compatibility":99,"releases":[{"id":"0100D22016872000","region":null}]},{"id":"faf80d9f-9198-4195-844b-839f2c4d9e9a","directory":"bury-me-my-love","title":"Bury me, my Love","compatibility":99,"releases":[{"id":"010066F00C76A000","region":null}]},{"id":"fb0dc983-427a-4b30-8b3f-a0954d0c4abd","directory":"another-world","title":"Another World","compatibility":2,"releases":[{"id":"01003C300AAAE000","region":null}]},{"id":"fb1196cb-b1df-42f4-bba2-115fdb579859","directory":"event-horizon-space-defense","title":"Event Horizon: Space Defense","compatibility":99,"releases":[{"id":"010072C010002000","region":null}]},{"id":"fb1d8a9a-d0a1-4796-b8fe-c38746a2d181","directory":"pan-pan-a-tiny-big-adventure","title":"PAN-PAN A tiny big adventure","compatibility":1,"releases":[{"id":"0100F0D004CAE000","region":null}]},{"id":"fb375514-3cc7-4e11-aa81-d2976477b071","directory":"2in1-application-driver-and-serial-killer-sniper","title":"2in1 - Application Driver and Serial Killer / Sniper","compatibility":99,"releases":[{"id":"0100C3701429C000","region":null}]},{"id":"fb395e9a-4157-4d91-8763-455ae5c5bd3f","directory":"rain-on-your-parade","title":"Rain on Your Parade","compatibility":99,"releases":[{"id":"0100BDD014232000","region":null}]},{"id":"fb39fde7-f26c-4627-81b6-bba1adf39467","directory":"arcade-archives-raiders5","title":"Arcade Archives RAIDERS5","compatibility":99,"releases":[{"id":"0100DC4009828000","region":null}]},{"id":"fb4d6cb4-8fb3-45c3-a8ba-a449930a4024","directory":"ayakashi-koi-gikyoku-forbidden-romance-with-mysterious-spirit-","title":"Ayakashi Koi Gikyoku -Forbidden Romance with Mysterious Spirit-","compatibility":1,"releases":[{"id":"010042E00AC80000","region":null}]},{"id":"fb5cc263-5703-4f99-ab0c-cd0b23e7e792","directory":"crystal-crisis","title":"Crystal Crisis","compatibility":2,"releases":[{"id":"0100972008234000","region":null}]},{"id":"fb5ce9c1-92b3-46ff-a071-043fad3b1626","directory":"dojoran","title":"Dojoran","compatibility":99,"releases":[{"id":"0100B44015F1C000","region":null}]},{"id":"fb60ad9d-da79-46ba-93d5-c91b60ba8ca3","directory":"zombie-apocalypse","title":"Zombie Apocalypse","compatibility":99,"releases":[{"id":"0100F65013E84000","region":null}]},{"id":"fb69b9aa-0e4a-42e6-a722-c2790d49a90f","directory":"a-little-golf-journey","title":"A Little Golf Journey","compatibility":0,"releases":[{"id":"0100DBD01543A000","region":null}]},{"id":"fb851701-7709-4651-9fce-0b1b4f7d6cf4","directory":"mafia-slots","title":"Mafia Slots","compatibility":99,"releases":[{"id":"0100E15014C5A000","region":null}]},{"id":"fb8f5e43-5a66-40f0-9c70-d2dfae48581d","directory":"trivial-pursuit-live-demo","title":"Trivial Pursuit LIVE - DEMO","compatibility":99,"releases":[{"id":"01005BA00BEE6000","region":null}]},{"id":"fb90cc82-3509-4472-84e2-0afe82997421","directory":"monster-hunter-rise","title":"MONSTER HUNTER RISE","compatibility":4,"releases":[{"id":"0100B04011742000","region":null}]},{"id":"fba48c59-5f8b-4f23-b09b-e0a8e0cb2272","directory":"box-that-ball","title":"Box That Ball","compatibility":99,"releases":[{"id":"010053B016690000","region":null}]},{"id":"fba8f653-dac7-4e30-b408-2c1891a5e37d","directory":"max-reloaded-ii","title":"Max Reloaded II","compatibility":99,"releases":[{"id":"01000D60132D0000","region":null}]},{"id":"fbade9cb-9874-414e-9626-803721a5dfae","directory":"speaking-simulator","title":"Speaking Simulator","compatibility":99,"releases":[{"id":"010020500E7A6000","region":null}]},{"id":"fbafb25a-2ce0-45fd-8a09-f6430c1a995c","directory":"lego-marvel-super-heroes-2","title":"LEGO Marvel Super Heroes 2","compatibility":2,"releases":[{"id":"0100D3A00409E000","region":null}]},{"id":"fbb3f637-502d-40bc-b30d-0c56966471d0","directory":"lawnmower-game-next-generation","title":"Lawnmower Game: Next Generation","compatibility":99,"releases":[{"id":"01009AA013DD4000","region":null}]},{"id":"fbbc0e73-6c72-46a7-b488-126ed1aa52ac","directory":"xenoblade-chronicles-2-torna-~-the-golden-country","title":"Xenoblade Chronicles 2: Torna ~ The Golden Country","compatibility":2,"releases":[{"id":"0100C9F009F7A000","region":null}]},{"id":"fbdd1029-94b4-4d06-87ec-8691dd52f566","directory":"rescue-tale","title":"Rescue Tale","compatibility":99,"releases":[{"id":"01003C400AD42000","region":null}]},{"id":"fbe8a1e1-fe23-4ccd-8f10-b2b2f0270d43","directory":"random-heroes-gold-edition","title":"Random Heroes: Gold Edition","compatibility":99,"releases":[{"id":"0100EA4011484000","region":null}]},{"id":"fbe8a74f-69a2-41bd-8073-9061d0da5620","directory":"electronic-super-joy-2","title":"Electronic Super Joy 2","compatibility":99,"releases":[{"id":"01002450112D4000","region":null}]},{"id":"fbf215b6-6b7a-4996-8c18-8bfcf2b65522","directory":"samurai-shodown","title":"SAMURAI SHODOWN","compatibility":1,"releases":[{"id":"01002DF00F76C000","region":null}]},{"id":"fbf2c61f-425f-4b72-92a7-9b232dfe3262","directory":"framed-collection","title":"FRAMED Collection","compatibility":5,"releases":[{"id":"0100F1A00A5DC000","region":null}]},{"id":"fbf8974d-17ef-43aa-a7f3-d88b1d0750f0","directory":"haven","title":"Haven","compatibility":4,"releases":[{"id":"0100E2600DBAA000","region":null}]},{"id":"fbf94d0a-9a82-421f-9c8a-9b5f4629fb43","directory":"prinny-presents-nis-classics-volume-1-phantom-brave-the-hermuda-triangle-remastered-soul-nomad-the-world-eaters","title":"Prinny Presents NIS Classics Volume 1: Phantom Brave: The Hermuda Triangle Remastered / Soul Nomad & the World Eaters","compatibility":99,"releases":[{"id":"01001FA01451C000","region":null}]},{"id":"fbfbb962-4226-459f-82d1-d27bf417f301","directory":"animals-for-toddlers","title":"Animals for Toddlers","compatibility":99,"releases":[{"id":"0100451012492000","region":null}]},{"id":"fc152151-01a4-4602-85ec-22589d306cc7","directory":"spot-the-difference","title":"Spot The Difference","compatibility":99,"releases":[{"id":"0100E04009BD4000","region":null}]},{"id":"fc244da5-6b32-45af-bc2c-6267dbdeb7d2","directory":"selma-and-the-wisp","title":"Selma and the Wisp","compatibility":1,"releases":[{"id":"0100DF300DE6A000","region":null}]},{"id":"fc25c6dc-3ebd-4fb5-98d9-f011c81b4322","directory":"depixtion","title":"Depixtion","compatibility":99,"releases":[{"id":"0100C9100FAE2000","region":null}]},{"id":"fc2c5598-fc8f-49d5-8bb2-42e03dee15f0","directory":"towerfall","title":"TowerFall","compatibility":2,"releases":[{"id":"0100A1C00359C000","region":null}]},{"id":"fc37855f-afc5-4caa-8035-b7cdefa15243","directory":"power-rangers-battle-for-the-grid","title":"Power Rangers: Battle for the Grid","compatibility":1,"releases":[{"id":"0100E1E00CF1A000","region":null}]},{"id":"fc3c34ef-ae12-44ed-bfa5-52d6aba41d54","directory":"south-park-the-stick-of-truth","title":"South Park: The Stick of Truth","compatibility":1,"releases":[{"id":"010095300B6A4000","region":null}]},{"id":"fc4747f0-7ff1-42b9-a649-c90b8f066e53","directory":"munchkin-quacked-quest","title":"Munchkin: Quacked Quest","compatibility":3,"releases":[{"id":"0100AD600C5EA000","region":null}]},{"id":"fc598a0a-cfc4-4f4a-9566-0f9f5800584a","directory":"rampage-knights","title":"Rampage Knights","compatibility":99,"releases":[{"id":"0100D2E00C4CC000","region":null}]},{"id":"fc7fbead-a9ac-4243-bbc5-0fa7b12f2441","directory":"16-bit-soccer","title":"16-Bit Soccer","compatibility":99,"releases":[{"id":"0100E98013C90000","region":null}]},{"id":"fc8232f0-8e81-4780-8c04-0b2e5dec9a1b","directory":"a-duel-hand-disaster-trackher","title":"A Duel Hand Disaster: Trackher","compatibility":99,"releases":[{"id":"010026B006802000","region":null}]},{"id":"fc85191e-8673-44f8-ba20-787a65391f44","directory":"lost-words-beyond-the-page","title":"Lost Words: Beyond the Page","compatibility":99,"releases":[{"id":"0100018013124000","region":null}]},{"id":"fc8ab562-4c89-49c2-8ed1-0ca4a5ec6cec","directory":"alfonzos-arctic-adventure","title":"Alfonzo's Arctic Adventure","compatibility":99,"releases":[{"id":"01003E0012F5A000","region":null}]},{"id":"fc8c17be-66e6-4905-a77f-65ec45317480","directory":"disco-elysium-the-final-cut","title":"Disco Elysium - The Final Cut","compatibility":99,"releases":[{"id":"01006C5015E84000","region":null}]},{"id":"fc8e1a3c-d397-4ede-a31a-15a6c8e46ce9","directory":"aca-neogeo-the-ultimate-11-snk-football-championship","title":"ACA NEOGEO THE ULTIMATE 11: SNK FOOTBALL CHAMPIONSHIP","compatibility":5,"releases":[{"id":"0100591008790000","region":null}]},{"id":"fc971c13-0544-42bf-915b-158a4179251c","directory":"pool","title":"POOL","compatibility":99,"releases":[{"id":"0100161009A52000","region":null}]},{"id":"fc9b7090-3a73-4abc-8c24-319a319effde","directory":"spartan","title":"Spartan","compatibility":3,"releases":[{"id":"0100E6A009A26000","region":null}]},{"id":"fca07452-98fd-49fb-b971-bdfec6977f49","directory":"darksiders-genesis","title":"Darksiders Genesis","compatibility":3,"releases":[{"id":"0100F2300D4BA000","region":null}]},{"id":"fca4ef5d-71ef-45dc-9e37-cd8cb691f004","directory":"brunswick-pro-billiards","title":"Brunswick Pro Billiards","compatibility":1,"releases":[{"id":"01002E700F958000","region":null}]},{"id":"fca6651a-0e87-4f6d-b650-ba238605629c","directory":"axes","title":"AXES","compatibility":99,"releases":[{"id":"0100DA3011174000","region":null}]},{"id":"fcac357a-af57-4ddb-a57e-1e1834cca57a","directory":"arcade-archives-omega-fighter","title":"Arcade Archives OMEGA FIGHTER","compatibility":99,"releases":[{"id":"01004A200BB48000","region":null}]},{"id":"fcb665b1-1a80-47b6-bd99-9097efbf8166","directory":"cave-digger","title":"Cave Digger","compatibility":1,"releases":[{"id":"0100D30012B38000","region":null}]},{"id":"fcbc7de6-a7b1-402b-a4cd-03e03c5b9850","directory":"vsr-void-space-racing","title":"VSR: Void Space Racing","compatibility":4,"releases":[{"id":"0100C7C00AE6C000","region":null}]},{"id":"fcc17f11-6402-4292-8578-1e07ba773cfe","directory":"arcade-archives-excitebike","title":"Arcade Archives EXCITEBIKE","compatibility":1,"releases":[{"id":"0100328009800000","region":null}]},{"id":"fcc4b086-dd78-444f-a30b-9d1e63da5342","directory":"aca-neogeo-super-sidekicks","title":"ACA NEOGEO SUPER SIDEKICKS","compatibility":99,"releases":[{"id":"0100A0E004DB2000","region":null}]},{"id":"fcc9ef7e-7776-45f3-a182-3bf8c16169df","directory":"mountain-bike-hill-climb-race-real-2d-arcade-dirt-racing-games","title":"Mountain Bike Hill Climb Race: Real 2D Arcade Dirt Racing Games","compatibility":99,"releases":[{"id":"010003C01491A000","region":null}]},{"id":"fcd27188-ed93-4344-a6c7-decac9adc733","directory":"lost-artifacts-soulstone","title":"Lost Artifacts: Soulstone","compatibility":99,"releases":[{"id":"010075E00D8C6000","region":null}]},{"id":"fcd60880-04c0-48f7-9256-310a771bc20f","directory":"meanders","title":"MEANDERS","compatibility":99,"releases":[{"id":"0100EEF00CBC0000","region":null}]},{"id":"fcdd62ec-9424-48b2-9a41-1c1c0075591a","directory":"sunblaze","title":"Sunblaze","compatibility":99,"releases":[{"id":"0100BFE014476000","region":null}]},{"id":"fce52cd2-784d-44dc-96be-fbb7f59f89e5","directory":"caves-and-castles-underworld","title":"Caves and Castles: Underworld","compatibility":1,"releases":[{"id":"0100CEC013C56000","region":null}]},{"id":"fce583a3-bf74-4fd9-b5df-ff1fbc6c50ad","directory":"little-triangle","title":"Little Triangle","compatibility":99,"releases":[{"id":"01000690085BE000","region":null}]},{"id":"fce7f143-8724-4fd7-b023-9a53c44a931a","directory":"lichtspeer-double-speer-edition","title":"Lichtspeer: Double Speer Edition","compatibility":2,"releases":[{"id":"01004360045C8000","region":null}]},{"id":"fcf459a2-91a3-4c6f-b1fc-9d28e20605b0","directory":"shakedown-hawaii","title":"Shakedown: Hawaii","compatibility":1,"releases":[{"id":"0100B10002904000","region":null}]},{"id":"fcf9fb29-5ac6-4984-ae3a-dc0af0e5cfcd","directory":"classic-games-collection-vol1","title":"Classic Games Collection Vol.1","compatibility":0,"releases":[{"id":"010031D00EA96000","region":null}]},{"id":"fd0ae51a-6e8d-40da-82c8-58732a54bba0","directory":"pirates-all-aboard","title":"Pirates: All Aboard!","compatibility":99,"releases":[{"id":"0100FC5009952000","region":null}]},{"id":"fd0b6796-c082-47b7-9b9b-b122bb160fe2","directory":"rebel-galaxy-outlaw","title":"Rebel Galaxy Outlaw","compatibility":1,"releases":[{"id":"0100CAA01084A000","region":null}]},{"id":"fd0cdc0b-3910-4c36-b080-1caad5fe850d","directory":"cafe-enchante","title":"Café Enchanté","compatibility":0,"releases":[{"id":"01005C00117A8000","region":null}]},{"id":"fd24b7e3-0d77-46b6-96f5-4a7e979ed90d","directory":"ephemeral-fantasy-on-dark","title":"EPHEMERAL -FANTASY ON DARK-","compatibility":99,"releases":[{"id":"0100B4D01303C000","region":null}]},{"id":"fd3b898e-698e-4b85-ae81-ae1e88596858","directory":"urban-trial-tricky","title":"Urban Trial Tricky","compatibility":1,"releases":[{"id":"0100A2500EB92000","region":null}]},{"id":"fd4068e3-1686-4448-97ca-517ff2ccf210","directory":"joojees-journey","title":"Joojee's Journey","compatibility":99,"releases":[{"id":"0100DBB013444000","region":null}]},{"id":"fd637db0-c494-4281-8f6c-f905c3eef698","directory":"boris-the-rocket","title":"BORIS THE ROCKET","compatibility":99,"releases":[{"id":"010092C013FB8000","region":null}]},{"id":"fd6d7482-e72a-42c8-9c84-f7b3be2f80bf","directory":"demons-rise-lords-of-chaos","title":"Demon's Rise - Lords of Chaos","compatibility":1,"releases":[{"id":"0100E29013818000","region":null}]},{"id":"fd7b63f4-4b34-472c-a6f8-b524fc9061ad","directory":"lastfight","title":"LASTFIGHT","compatibility":99,"releases":[{"id":"01009E100BDD6000","region":null}]},{"id":"fd82065c-3ee2-4c66-9a46-987748e8def0","directory":"razerwire-nanowars","title":"RazerWire: Nanowars","compatibility":99,"releases":[{"id":"01004FC01688A000","region":null}]},{"id":"fd840635-bd1b-468d-8310-6ebf26669f0d","directory":"cotton-boomerang-saturn-tribute","title":"COTTOn Boomerang - Saturn Tribute","compatibility":99,"releases":[{"id":"010077001526E000","region":null}]},{"id":"fd88225a-4d5e-44c7-b130-183ee0edc493","directory":"dezatopia","title":"Dezatopia","compatibility":5,"releases":[{"id":"0100AFC00E06A000","region":null}]},{"id":"fd8a06d7-8e04-41b5-b1c2-dbd0b59e373b","directory":"subdivision-infinity-dx","title":"Subdivision Infinity DX","compatibility":1,"releases":[{"id":"010001400E474000","region":null}]},{"id":"fd9eb5d7-ae2c-4c93-9eab-6c6265c7848e","directory":"violett","title":"Violett","compatibility":2,"releases":[{"id":"01005880063AA000","region":null}]},{"id":"fdc29bf8-ffa9-44a6-8dc1-cbdc5475eaf0","directory":"colors-live","title":"Colors Live","compatibility":5,"releases":[{"id":"010020500BD86000","region":null}]},{"id":"fdcb51f9-861f-4b83-9dbd-34fdee0a1f5c","directory":"pixel-game-maker-series-puzzle-pedestrians","title":"Pixel Game Maker Series Puzzle Pedestrians","compatibility":99,"releases":[{"id":"0100EA2013BCC000","region":null}]},{"id":"fdd79f35-157b-4f32-9d4e-8358a385a26a","directory":"distraint-2","title":"DISTRAINT 2","compatibility":99,"releases":[{"id":"01009740120FE000","region":null}]},{"id":"fddd42a1-5499-4428-812f-fc4ad9c44630","directory":"synaptic-drive","title":"SYNAPTIC DRIVE","compatibility":99,"releases":[{"id":"0100D8400DAF0000","region":null}]},{"id":"fde2122e-0c50-415b-bcce-29d61d05e63d","directory":"project-starship","title":"Project Starship","compatibility":99,"releases":[{"id":"0100AD9010596000","region":null}]},{"id":"fde27268-f0ad-4e2f-a82a-25aec7a055b7","directory":"wild-pinball-bundle","title":"Wild Pinball Bundle","compatibility":2,"releases":[{"id":"0100DA7015C02000","region":null}]},{"id":"fde2ee7f-f811-4738-a7a8-45389357c817","directory":"laws-of-machine","title":"Laws of Machine","compatibility":99,"releases":[{"id":"0100CF90147B6000","region":null}]},{"id":"fde696b2-0271-4d70-9caf-f1f2e2f73b7e","directory":"space-revenge","title":"Space Revenge","compatibility":99,"releases":[{"id":"0100E0D014C4C000","region":null}]},{"id":"fde8abf6-7a49-44ed-9494-dedfd11e0698","directory":"pumpkin-jack","title":"Pumpkin Jack","compatibility":3,"releases":[{"id":"01006C10131F6000","region":null}]},{"id":"fdf66d36-9091-4aac-a670-c2558b14f49b","directory":"sniper-elite-v2-remastered","title":"Sniper Elite V2 Remastered","compatibility":2,"releases":[{"id":"0100BB000A3AA000","region":null}]},{"id":"fdfd2430-60ec-4ce5-904f-f514f8e6b550","directory":"cultist-simulator-initiate-edition","title":"Cultist Simulator: Initiate Edition","compatibility":99,"releases":[{"id":"01006F40119B6000","region":null}]},{"id":"fdfdfcf0-815c-4eac-bb76-161f091010f0","directory":"bouncy-bullets-2","title":"Bouncy Bullets 2","compatibility":99,"releases":[{"id":"01000000160F6000","region":null}]},{"id":"fdfe2107-707b-48f8-9ce7-cc7a427d35db","directory":"go-fish-go","title":"Go! Fish Go!","compatibility":1,"releases":[{"id":"0100E6300F854000","region":null}]},{"id":"fe0803c2-e093-4a0e-b59e-8af9cfefb69f","directory":"darq-complete-edition","title":"DARQ Complete Edition","compatibility":99,"releases":[{"id":"0100440012FFA000","region":null}]},{"id":"fe0a8790-8801-4030-b4a8-91c5214f59ed","directory":"otti-the-house-keeper","title":"Otti: The House Keeper","compatibility":99,"releases":[{"id":"01006AF013A9E000","region":null}]},{"id":"fe18c0d4-af83-4c61-a120-2997fe486dfa","directory":"arcade-archives-crime-fighters","title":"Arcade Archives CRIME FIGHTERS","compatibility":99,"releases":[{"id":"01002620141B6000","region":null}]},{"id":"fe2234b6-7229-458a-aac6-e7166acea490","directory":"goodbye-deponia","title":"Goodbye Deponia","compatibility":2,"releases":[{"id":"0100CA500C90C000","region":null}]},{"id":"fe241c96-c568-452e-aa7f-da3c24a15f60","directory":"splasher","title":"Splasher","compatibility":1,"releases":[{"id":"0100FF9003F10000","region":null}]},{"id":"fe281668-25c8-4e18-94b8-e5ffbeb4b008","directory":"octafight","title":"OctaFight","compatibility":99,"releases":[{"id":"0100C20013196000","region":null}]},{"id":"fe330624-5fee-41bd-a4b5-859e54bcfa6a","directory":"minit","title":"Minit","compatibility":1,"releases":[{"id":"0100ED600A87A000","region":null}]},{"id":"fe37e82b-9e71-4a8d-917c-800039ee6a59","directory":"lets-sing-2022","title":"Let's Sing 2022","compatibility":99,"releases":[{"id":"0100CC30149B8000","region":null}]},{"id":"fe53cf13-ed2b-4c45-a7d3-961aff71f387","directory":"mega-man-legacy-collection-2","title":"Mega Man Legacy Collection 2","compatibility":0,"releases":[{"id":"0100842008EC4000","region":null}]},{"id":"fe56325e-62a8-4863-af52-999c89fe524f","directory":"escape-from-mirrorland-the-adventures-of-nyanzou-kumakichi-escape-game-series","title":"Escape from Mirrorland\n~The Adventures of Nyanzou&Kumakichi: Escape Game Series~","compatibility":99,"releases":[{"id":"010049F016CA0000","region":null}]},{"id":"fe5a9ab5-ba6d-4f1c-be55-066eacb97d5f","directory":"thief-simulator","title":"Thief Simulator","compatibility":1,"releases":[{"id":"0100CE400E34E000","region":null}]},{"id":"fe5c3459-5250-46fa-96b3-9def61710376","directory":"shovel-knight-pocket-dungeon","title":"Shovel Knight Pocket Dungeon","compatibility":0,"releases":[{"id":"01006B00126EC000","region":null}]},{"id":"fe5cb57a-7940-46d8-aaa6-777f1e2cc62b","directory":"defunct","title":"Defunct","compatibility":99,"releases":[{"id":"010039300BDB2000","region":null}]},{"id":"fe61869e-0690-4b37-af7d-39a8f4739265","directory":"new-york-mysteries-the-outbreak","title":"New York Mysteries: The Outbreak","compatibility":99,"releases":[{"id":"01001320168F6000","region":null}]},{"id":"fe6bc772-6c72-4163-a281-8f322d429fc5","directory":"one-more-dungeon","title":"One More Dungeon","compatibility":1,"releases":[{"id":"0100BD3006A02000","region":null}]},{"id":"fe71fed3-6474-4c85-89ad-a95766ce1d19","directory":"hades","title":"Hades","compatibility":5,"releases":[{"id":"0100535012974000","region":null}]},{"id":"fe7fdfb9-8aef-4e51-b89d-547ca49bdf2c","directory":"dariusburst-another-chronicle-ex","title":"Dariusburst: Another Chronicle EX+","compatibility":99,"releases":[{"id":"010043F013044000","region":null}]},{"id":"fe81f817-9ca7-49fd-8643-8b905309057f","directory":"truck-racing-championship","title":"Truck Racing Championship","compatibility":99,"releases":[{"id":"010018800D1FC000","region":null}]},{"id":"fe850dab-4d8d-4099-b607-43f6c56a17d5","directory":"bff-or-die","title":"BFF or Die","compatibility":99,"releases":[{"id":"0100EFB01272E000","region":null}]},{"id":"fe8abfe6-3403-408a-a578-555524840970","directory":"duck-game","title":"Duck Game","compatibility":1,"releases":[{"id":"0100750001C70000","region":null}]},{"id":"fe8b6dc0-d9f6-4d35-8757-c2207fbbfe19","directory":"sword-of-the-necromancer","title":"Sword of the Necromancer","compatibility":4,"releases":[{"id":"0100E4701355C000","region":null}]},{"id":"fe99e110-e2e7-47d7-8afc-a0e3cbca797f","directory":"dude-stop","title":"Dude, Stop","compatibility":99,"releases":[{"id":"01002C100FBB6000","region":null}]},{"id":"fe9a14c9-4d47-4e3a-8a0b-676bf9484d2e","directory":"rims-racing","title":"RiMS Racing","compatibility":2,"releases":[{"id":"01003CD01299E000","region":null}]},{"id":"fe9df3ba-e2f2-4cf5-b7a1-13ebf31d2c03","directory":"castle-on-the-coast","title":"Castle on the Coast","compatibility":99,"releases":[{"id":"01009A3015CA4000","region":null}]},{"id":"fea44348-2e40-4bc0-8019-171658af46a4","directory":"flowing-lights","title":"Flowing Lights","compatibility":99,"releases":[{"id":"0100DDD0131D6000","region":null}]},{"id":"fea5f239-85cf-4091-ba28-fa8cb0dc8e24","directory":"reversi-lets-go","title":"Reversi Let's Go","compatibility":99,"releases":[{"id":"0100FCD0142E2000","region":null}]},{"id":"feb55770-16b2-4674-8604-49dc777fadad","directory":"pelican-and-medjed","title":"Pelican and Medjed","compatibility":99,"releases":[{"id":"010056900E89C000","region":null}]},{"id":"fed558a0-99b0-4f65-a7ca-919baadc41be","directory":"outbreak-endless-nightmares","title":"Outbreak: Endless Nightmares","compatibility":1,"releases":[{"id":"0100A0D013464000","region":null}]},{"id":"fee6a07c-c336-4148-9dd4-8c0738beda71","directory":"ink","title":"INK","compatibility":99,"releases":[{"id":"010060300A67C000","region":null}]},{"id":"fef3186c-f881-4a97-8f4b-5b1351fdf2bc","directory":"edna-and-harvey-harveys-new-eyes","title":"Edna & Harvey: Harvey's New Eyes","compatibility":5,"releases":[{"id":"0100ABE00DB4E000","region":null}]},{"id":"fefbddee-5c9c-4696-99c7-f6169aa83508","directory":"void-gore","title":"Void Gore","compatibility":2,"releases":[{"id":"01006D9013842000","region":null}]},{"id":"ff033ba7-6c0b-4aa2-a9ee-fc56a95f86d9","directory":"tiny-metal","title":"TINY METAL","compatibility":4,"releases":[{"id":"010074800741A000","region":null}]},{"id":"ff040e6c-e707-48b4-990c-cc751b214bab","directory":"ultimate-chicken-horse","title":"Ultimate Chicken Horse","compatibility":1,"releases":[{"id":"0100FCF002A58000","region":null}]},{"id":"ff085fef-1c5a-4b2f-8daf-8a65d3d43c9c","directory":"qubyte-classics-the-immortal-by-piko","title":"QUByte Classics - The Immortal by PIKO","compatibility":99,"releases":[{"id":"010064F016294000","region":null}]},{"id":"ff1355e7-b509-4585-92d3-582b616b1504","directory":"qube-2","title":"Q.U.B.E. 2","compatibility":4,"releases":[{"id":"010023600AA34000","region":null}]},{"id":"ff1446e6-0ae1-42e5-be42-06bc3e0f1e24","directory":"beat-them-all","title":"Beat Them All","compatibility":99,"releases":[{"id":"0100A52016056000","region":null}]},{"id":"ff167930-cfc7-4d18-952d-4999a4a7dc73","directory":"warhammer-40-000-mechanicus","title":"Warhammer 40,000: Mechanicus","compatibility":3,"releases":[{"id":"0100C6000EEA8000","region":null}]},{"id":"ff1fa561-0df8-4652-a43f-baeadd5e9bf4","directory":"cotton-reboot","title":"Cotton Reboot!","compatibility":4,"releases":[{"id":"01005E8013CD8000","region":null}]},{"id":"ff2026b9-505f-4417-a135-ef0df220272d","directory":"the-little-acre","title":"The Little Acre","compatibility":0,"releases":[{"id":"0100A5000D590000","region":null}]},{"id":"ff23e5e0-db35-433e-a373-f060f20ce7c2","directory":"grimvalor","title":"Grimvalor","compatibility":0,"releases":[{"id":"01001C700F518000","region":null}]},{"id":"ff290e72-7668-49a0-aa9f-1ecdd41726ee","directory":"omvorm","title":"Omvorm","compatibility":99,"releases":[{"id":"0100EFB00B7B8000","region":null}]},{"id":"ff361a74-a09f-4386-b245-3fe821607970","directory":"car-driving-simulator","title":"Car Driving Simulator","compatibility":99,"releases":[{"id":"010003401564E000","region":null}]},{"id":"ff3882fe-ae81-48e2-bd8d-0ca843da22bf","directory":"block-a-pix-deluxe","title":"Block-a-Pix Deluxe","compatibility":99,"releases":[{"id":"0100D1100D1A8000","region":null}]},{"id":"ff3eb840-6c9a-4ffe-a83e-c58765371525","directory":"hill-climbing-mania","title":"Hill Climbing Mania","compatibility":1,"releases":[{"id":"0100147011F4E000","region":null}]},{"id":"ff419f5f-a6a4-4913-b3fc-4ffee6f8961b","directory":"mays-mysteries-the-secret-of-dragonville","title":"May's Mysteries: The Secret of Dragonville","compatibility":99,"releases":[{"id":"010099F015372000","region":null}]},{"id":"ff4768f1-6bec-40f1-bfbe-d44c3a8ce86b","directory":"crocs-world-2-demo","title":"Croc's World 2 Demo","compatibility":99,"releases":[{"id":"01003DD00DE14000","region":null}]},{"id":"ff52a484-b5a0-4b84-a2ac-ace5a1fb7a6d","directory":"syder-reloaded","title":"Syder Reloaded","compatibility":99,"releases":[{"id":"0100A2500E232000","region":null}]},{"id":"ff5305d8-9b84-4454-bddc-09c5a0c34069","directory":"outlast-2","title":"Outlast 2","compatibility":3,"releases":[{"id":"0100DE70085E8000","region":null}]},{"id":"ff53d7e8-7a40-4e75-a4a1-39372536defe","directory":"arcade-archives-rally-x","title":"Arcade Archives RALLY-X","compatibility":99,"releases":[{"id":"010026A015ACC000","region":null}]},{"id":"ff612d27-47e0-42ab-a8c9-3b160933f954","directory":"arcade-archives-in-the-hunt","title":"Arcade Archives IN THE HUNT","compatibility":99,"releases":[{"id":"01002B800F2B8000","region":null}]},{"id":"ff7fadca-abb1-4807-93d0-e01f0ea6f0ba","directory":"rad-rodgers-radical-edition","title":"Rad Rodgers Radical Edition","compatibility":3,"releases":[{"id":"010000600CD54000","region":null}]},{"id":"ff8d8434-e68a-476a-bf52-769c23575dd9","directory":"milos-quest","title":"Milo's Quest","compatibility":2,"releases":[{"id":"0100B770104D6000","region":null}]},{"id":"ff963ece-7464-4bc4-bf71-21fd9030eede","directory":"gekido-kintaros-revenge","title":"Gekido Kintaro's Revenge","compatibility":1,"releases":[{"id":"010052A00942A000","region":null}]},{"id":"ffa1ffd0-2236-4234-9781-6ff0bf20c485","directory":"the-tenth-line-special-edition","title":"The Tenth Line Special Edition","compatibility":99,"releases":[{"id":"010090E00ECF4000","region":null}]},{"id":"ffa3cb04-27e4-4757-84d8-721507433690","directory":"spelunker-hd-deluxe","title":"Spelunker HD Deluxe","compatibility":0,"releases":[{"id":"010042B015582000","region":null}]},{"id":"ffaa3afe-31f6-46ef-a8a3-e9a202349df4","directory":"pancake-bar-tycoon","title":"Pancake Bar Tycoon","compatibility":99,"releases":[{"id":"0100D150132FA000","region":null}]},{"id":"ffae1efb-7dc8-49c5-a7f8-8f521de65604","directory":"tales-from-space-mutant-blobs-attack","title":"Tales From Space: Mutant Blobs Attack","compatibility":99,"releases":[{"id":"0100CB100D17A000","region":null}]},{"id":"ffb180f7-3f55-48dc-8355-f41e571232cc","directory":"biz-builder-delux","title":"Biz Builder Delux","compatibility":99,"releases":[{"id":"010061D00FD26000","region":null}]},{"id":"ffb793fc-8cf2-479e-a067-2eaa866c9238","directory":"super-animal-royale","title":"Super Animal Royale","compatibility":99,"releases":[{"id":"0100DB3011E8C000","region":null}]},{"id":"ffbc64dd-3e96-470e-b541-cd720b405b0a","directory":"grandia-hd-collection","title":"GRANDIA HD Collection","compatibility":4,"releases":[{"id":"0100E0600BBC8000","region":null}]},{"id":"ffc56cb6-ec52-4ffc-b3f4-286fdfe7a673","directory":"saboteur-ii-avenging-angel","title":"Saboteur II: Avenging Angel","compatibility":0,"releases":[{"id":"010007700CFA2000","region":null}]},{"id":"fff7647f-4e37-49b3-966c-c0c8e8c25825","directory":"from-shadows","title":"From Shadows","compatibility":99,"releases":[{"id":"0100901014412000","region":null}]},{"id":"fffb3851-5dab-4374-9820-5524eb26bf5e","directory":"assassins-creed-the-rebel-collection","title":"Assassin’s Creed: The Rebel Collection","compatibility":4,"releases":[{"id":"010044700DEB0000","region":null}]}]
diff --git a/pkgs/applications/emulators/yuzu/default.nix b/pkgs/applications/emulators/yuzu/default.nix
index f212abb448a..5f2df651f84 100644
--- a/pkgs/applications/emulators/yuzu/default.nix
+++ b/pkgs/applications/emulators/yuzu/default.nix
@@ -1,28 +1,40 @@
-{ branch ? "mainline", libsForQt5, fetchFromGitHub }:
+{ branch ? "mainline"
+, libsForQt5
+, fetchFromGitHub
+}:
+
 let
-  inherit libsForQt5 fetchFromGitHub;
+  # Fetched from https://api.yuzu-emu.org/gamedb, last updated 2022-03-23.
+  # Please make sure to update this when updating yuzu!
+  compat-list = ./compatibility-list.json;
 in {
-  mainline = libsForQt5.callPackage ./base.nix rec {
+  mainline = libsForQt5.callPackage ./generic.nix rec {
     pname = "yuzu-mainline";
-    version = "953";
-    branchName = branch;
+    version = "992";
+
     src = fetchFromGitHub {
       owner = "yuzu-emu";
       repo = "yuzu-mainline";
       rev = "mainline-0-${version}";
-      sha256 = "0p07gybyhr6flzmhz92qlrwcq7l37c2wmcxw8sbrvhj2pgaaw9ic";
+      sha256 = "1x3fwwdw86jvygbzy9k99j6avfsd867ywm2x25izw10jznpsaixs";
       fetchSubmodules = true;
     };
+
+    inherit branch compat-list;
   };
-  early-access = libsForQt5.callPackage ./base.nix rec {
+
+  early-access = libsForQt5.callPackage ./generic.nix rec {
     pname = "yuzu-ea";
-    version = "2557";
-    branchName = branch;
+    version = "2690";
+
     src = fetchFromGitHub {
       owner = "pineappleEA";
       repo = "pineapple-src";
       rev = "EA-${version}";
-      sha256 = "013xxgyn8y5fv0xbrm0zfl9xmi0gx4hpflrbjskg1hcvb2bjqyvj";
+      sha256 = "0zm06clbdh9cccq9932q9v976q7sjknynkdvvp04h1wcskmrxi3c";
+      fetchSubmodules = true;
     };
+
+    inherit branch compat-list;
   };
 }.${branch}
diff --git a/pkgs/applications/emulators/yuzu/generic.nix b/pkgs/applications/emulators/yuzu/generic.nix
new file mode 100644
index 00000000000..0429d1fb0ee
--- /dev/null
+++ b/pkgs/applications/emulators/yuzu/generic.nix
@@ -0,0 +1,157 @@
+{ pname
+, version
+, src
+, branch
+, compat-list
+
+, lib
+, stdenv
+, runCommandLocal
+, substituteAll
+, wrapQtAppsHook
+, alsa-lib
+, boost
+, catch2
+, cmake
+, doxygen
+, ffmpeg
+, fmt_8
+, glslang
+, libjack2
+, libopus
+, libpulseaudio
+, libusb1
+, libva
+, libzip
+, lz4
+, nlohmann_json
+, perl
+, pkg-config
+, python3
+, qtbase
+, qttools
+, qtwebengine
+, rapidjson
+, SDL2
+, sndio
+, speexdsp
+, udev
+, vulkan-headers
+, vulkan-loader
+, zlib
+, zstd
+}:
+
+stdenv.mkDerivation rec {
+  inherit pname version src;
+
+  nativeBuildInputs = [
+    cmake
+    doxygen
+    perl
+    pkg-config
+    python3
+    wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    alsa-lib
+    boost
+    catch2
+    ffmpeg
+    fmt_8
+    glslang
+    libjack2
+    libopus
+    libpulseaudio
+    libusb1
+    libva
+    libzip
+    lz4
+    nlohmann_json
+    qtbase
+    qttools
+    qtwebengine
+    rapidjson
+    SDL2
+    sndio
+    speexdsp
+    udev
+    zlib
+    zstd
+  ];
+
+  doCheck = true;
+
+  # This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt`
+  # making the build fail, as that path does not exist
+  dontFixCmake = true;
+
+  cmakeFlags = [
+    "-DYUZU_USE_BUNDLED_QT=OFF"
+    "-DYUZU_USE_BUNDLED_FFMPEG=OFF"
+    "-DYUZU_USE_BUNDLED_OPUS=OFF"
+    "-DYUZU_USE_EXTERNAL_SDL2=OFF"
+
+    "-DENABLE_QT_TRANSLATION=ON"
+    "-DYUZU_USE_QT_WEB_ENGINE=ON"
+    "-DUSE_DISCORD_PRESENCE=ON"
+
+    # We dont want to bother upstream with potentially outdated compat reports
+    "-DYUZU_ENABLE_COMPATIBILITY_REPORTING=OFF"
+    "-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF" # We provide this deterministically
+  ];
+
+  preConfigure = ''
+    # This prevents a check for submodule directories.
+    rm -f .gitmodules
+
+    # see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work.
+    cmakeFlagsArray+=(
+      "-DTITLE_BAR_FORMAT_IDLE=yuzu ${branch} ${version}"
+      "-DTITLE_BAR_FORMAT_RUNNING=yuzu ${branch} ${version} | {3}"
+    )
+  '';
+
+  # This must be done after cmake finishes as it overwrites the file
+  postConfigure = ''
+    ln -sf ${compat-list} ./dist/compatibility_list/compatibility_list.json
+  '';
+
+  # Fix vulkan detection
+  postFixup = ''
+    for bin in $out/bin/yuzu $out/bin/yuzu-cmd; do
+      wrapProgram $bin --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
+    done
+  '';
+
+  passthru.updateScript = runCommandLocal "yuzu-${branch}-updateScript" {
+    script = substituteAll {
+      src = ./update.sh;
+      inherit branch;
+    };
+  } "install -Dm755 $script $out";
+
+  meta = with lib; {
+    homepage = "https://yuzu-emu.org";
+    changelog = "https://yuzu-emu.org/entry";
+    description = "The ${branch} branch of an experimental Nintendo Switch emulator written in C++";
+    longDescription = ''
+      An experimental Nintendo Switch emulator written in C++.
+      Using the mainline branch is recommanded for general usage.
+      Using the early-access branch is recommanded if you would like to try out experimental features, with a cost of stability.
+    '';
+    mainProgram = "yuzu";
+    platforms = [ "x86_64-linux" ];
+    license = with licenses; [
+      gpl3Plus
+      # Icons
+      cc-by-nd-30 cc0
+    ];
+    maintainers = with maintainers; [
+      ivar
+      joshuafern
+      sbruder
+    ];
+  };
+}
diff --git a/pkgs/applications/emulators/yuzu/update.sh b/pkgs/applications/emulators/yuzu/update.sh
new file mode 100755
index 00000000000..270164902c1
--- /dev/null
+++ b/pkgs/applications/emulators/yuzu/update.sh
@@ -0,0 +1,102 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p nix nix-prefetch-git coreutils curl jq gnused
+
+set -e
+
+# Will be replaced with the actual branch when running this from passthru.updateScript
+BRANCH="@branch@"
+
+if [[ ! "$(basename $PWD)" = "yuzu" ]]; then
+    echo "error: Script must be ran from yuzu's directory!"
+    exit 1
+fi
+
+getLocalVersion() {
+    pushd ../../../.. >/dev/null
+    nix eval --raw -f default.nix "$1".version
+    popd >/dev/null
+}
+
+getLocalHash() {
+    pushd ../../../.. >/dev/null
+    nix eval --raw -f default.nix "$1".src.drvAttrs.outputHash
+    popd >/dev/null
+}
+
+updateCompatList() {
+    NEW_COMPAT_LIST="$(curl -s "https://api.yuzu-emu.org/gamedb")"
+
+    if [[ "$(cat ./compatibility-list.json)" = "${NEW_COMPAT_LIST}" ]]; then
+        echo "Compatibility list is already up to date!"
+    else
+        local TODAY="$(date +"%Y-%m-%d")"
+
+        echo "Compatibility list: updated to $TODAY"
+        echo "${NEW_COMPAT_LIST}" > ./compatibility-list.json
+
+        sed -i -e "s/last updated .*/last updated $TODAY./" ./default.nix
+    fi
+}
+
+updateMainline() {
+    OLD_MAINLINE_VERSION="$(getLocalVersion "yuzu-mainline")"
+    OLD_MAINLINE_HASH="$(getLocalHash "yuzu-mainline")"
+
+    NEW_MAINLINE_VERSION="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
+        "https://api.github.com/repos/yuzu-emu/yuzu-mainline/releases?per_page=1" | jq -r '.[0].name' | cut -d" " -f2)"
+
+    if [[ "${OLD_MAINLINE_VERSION}" = "${NEW_MAINLINE_VERSION}" ]]; then
+        echo "yuzu-mainline is already up to date!"
+
+        [ "$KEEP_GOING" ] && return || exit
+    else
+        echo "yuzu-mainline: ${OLD_MAINLINE_VERSION} -> ${NEW_MAINLINE_VERSION}"
+    fi
+
+    echo "  Fetching source code..."
+
+    NEW_MAINLINE_HASH="$(nix-prefetch-git --quiet --fetch-submodules --rev "mainline-0-${NEW_MAINLINE_VERSION}" "https://github.com/yuzu-emu/yuzu-mainline" | jq -r '.sha256')"
+
+    echo "  Succesfully fetched. hash: ${NEW_MAINLINE_HASH}"
+
+    sed -i "s/${OLD_MAINLINE_VERSION}/${NEW_MAINLINE_VERSION}/" ./default.nix
+    sed -i "s/${OLD_MAINLINE_HASH}/${NEW_MAINLINE_HASH}/" ./default.nix
+}
+
+updateEarlyAccess() {
+    OLD_EA_VERSION="$(getLocalVersion "yuzu-ea")"
+    OLD_EA_HASH="$(getLocalHash "yuzu-ea")"
+
+    NEW_EA_VERSION="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
+        "https://api.github.com/repos/pineappleEA/pineapple-src/releases?per_page=1" | jq -r '.[0].name' | cut -d"-" -f2 | cut -d" " -f1)"
+
+    if [[ "${OLD_EA_VERSION}" = "${NEW_EA_VERSION}" ]]; then
+        echo "yuzu-ea is already up to date!"
+
+        [ "$KEEP_GOING" ] && return || exit
+    else
+        echo "yuzu-ea: ${OLD_EA_VERSION} -> ${NEW_EA_VERSION}"
+    fi
+
+    echo "  Fetching source code..."
+
+    NEW_EA_HASH="$(nix-prefetch-git --quiet --fetch-submodules --rev "EA-${NEW_EA_VERSION}" "https://github.com/pineappleEA/pineapple-src" | jq -r '.sha256')"
+
+    echo "  Succesfully fetched. hash: ${NEW_EA_HASH}"
+
+    sed -i "s/${OLD_EA_VERSION}/${NEW_EA_VERSION}/" ./default.nix
+    sed -i "s/${OLD_EA_HASH}/${NEW_EA_HASH}/" ./default.nix
+}
+
+if [[ "$BRANCH" = "mainline" ]]; then
+    updateMainline
+    updateCompatList
+elif [[ "$BRANCH" = "early-access" ]]; then
+    updateEarlyAccess
+    updateCompatList
+else
+    KEEP_GOING=1
+    updateMainline
+    updateEarlyAccess
+    updateCompatList
+fi
diff --git a/pkgs/applications/finance/irpf/default.nix b/pkgs/applications/finance/irpf/default.nix
index a5f90026af7..0cca2ea6cd3 100644
--- a/pkgs/applications/finance/irpf/default.nix
+++ b/pkgs/applications/finance/irpf/default.nix
@@ -6,17 +6,18 @@
 , makeDesktopItem
 , makeWrapper
 , unzip
+, xdg-utils
 }:
 
 stdenvNoCC.mkDerivation rec {
   pname = "irpf";
-  version = "2022-1.3";
+  version = "2022-1.4";
 
   src = let
     year = lib.head (lib.splitVersion version);
   in fetchzip {
     url = "https://downloadirpf.receita.fazenda.gov.br/irpf/${year}/irpf/arquivos/IRPF${version}.zip";
-    sha256 = "sha256-nAmcVPSnMIWuq2zj1xq/657RmzaSmdtxlI9cp9v5P0A=";
+    sha256 = "sha256-AKBcBkoPDBknUOyndf9hNigzDHjjgi2v0n1Rs+//j/8=";
   };
 
   nativeBuildInputs = [ unzip makeWrapper copyDesktopItems ];
@@ -47,6 +48,7 @@ stdenvNoCC.mkDerivation rec {
       --add-flags "-Dawt.useSystemAAFontSettings=on" \
       --add-flags "-Dswing.aatext=true" \
       --add-flags "-jar $BASEDIR/${pname}.jar" \
+      --prefix PATH : ${lib.makeBinPath [ xdg-utils ]} \
       --set _JAVA_AWT_WM_NONREPARENTING 1 \
       --set AWT_TOOLKIT MToolkit
 
diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix
index 36664a2d49c..23cee79b5e2 100644
--- a/pkgs/applications/gis/grass/default.nix
+++ b/pkgs/applications/gis/grass/default.nix
@@ -1,25 +1,25 @@
 { lib, stdenv, fetchFromGitHub, flex, bison, pkg-config, zlib, libtiff, libpng, fftw
-, cairo, readline, ffmpeg, makeWrapper, wxGTK30, wxmac, netcdf, blas
+, cairo, readline, ffmpeg, makeWrapper, wxGTK31, wxmac, netcdf, blas
 , proj, gdal, geos, sqlite, postgresql, libmysqlclient, python3Packages, libLAS, proj-datumgrid
 , zstd, pdal, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "grass";
-  version = "7.8.6";
+  version = "8.0.1";
 
   src = with lib; fetchFromGitHub {
     owner = "OSGeo";
     repo = "grass";
     rev = version;
-    sha256 = "sha256-zvZqFWuxNyA+hu+NMiRbQVdzzrQPsZrdGdfVB17+SbM=";
+    sha256 = "sha256-rcOT21HRJDR+DEYsZn6BjOOhy28DWapz9PN7cRAdWGc=";
   };
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite
   readline ffmpeg makeWrapper netcdf geos postgresql libmysqlclient blas
   libLAS proj-datumgrid zstd wrapGAppsHook ]
-    ++ lib.optionals stdenv.isLinux [ cairo pdal wxGTK30 ]
+    ++ lib.optionals stdenv.isLinux [ cairo pdal wxGTK31 ]
     ++ lib.optional stdenv.isDarwin wxmac
     ++ (with python3Packages; [ python python-dateutil numpy ]
       ++ lib.optional stdenv.isDarwin wxPython_4_0
@@ -68,41 +68,15 @@ stdenv.mkDerivation rec {
   /* Ensures that the python script run at build time are actually executable;
    * otherwise, patchShebangs ignores them.  */
   postConfigure = ''
-    chmod +x scripts/d.out.file/d.out.file.py \
-      scripts/d.to.rast/d.to.rast.py \
-      scripts/d.what.rast/d.what.rast.py \
-      scripts/d.what.vect/d.what.vect.py \
-      scripts/g.extension/g.extension.py \
-      scripts/g.extension.all/g.extension.all.py \
-      scripts/r.drain/r.drain.py \
-      scripts/r.pack/r.pack.py \
-      scripts/r.import/r.import.py \
-      scripts/r.tileset/r.tileset.py \
-      scripts/r.unpack/r.unpack.py \
-      scripts/v.clip/v.clip.py \
-      scripts/v.rast.stats/v.rast.stats.py \
-      scripts/v.to.lines/v.to.lines.py \
-      scripts/v.what.strds/v.what.strds.py \
-      scripts/v.unpack/v.unpack.py \
-      scripts/wxpyimgview/*.py \
-      gui/wxpython/animation/g.gui.animation.py \
-      gui/wxpython/datacatalog/g.gui.datacatalog.py \
-      gui/wxpython/rlisetup/g.gui.rlisetup.py \
-      gui/wxpython/vdigit/g.gui.vdigit.py \
-      temporal/t.rast.accumulate/t.rast.accumulate.py \
-      temporal/t.rast.accdetect/t.rast.accdetect.py \
-      temporal/t.rast.algebra/t.rast.algebra.py \
-      temporal/t.rast3d.algebra/t.rast3d.algebra.py \
-      temporal/t.vect.algebra/t.vect.algebra.py \
-      temporal/t.downgrade/t.downgrade.py \
-      temporal/t.select/t.select.py
-    for d in gui lib scripts temporal tools; do
-      patchShebangs $d
+    for f in $(find . -name '*.py'); do
+      chmod +x $f
     done
+
+    patchShebangs */
   '';
 
   postInstall = ''
-    wrapProgram $out/bin/grass78 \
+    wrapProgram $out/bin/grass \
     --set PYTHONPATH $PYTHONPATH \
     --set GRASS_PYTHON ${python3Packages.python.interpreter} \
     --suffix LD_LIBRARY_PATH ':' '${gdal}/lib'
@@ -117,6 +91,6 @@ stdenv.mkDerivation rec {
     description = "GIS software suite used for geospatial data management and analysis, image processing, graphics and maps production, spatial modeling, and visualization";
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.all;
-    maintainers = with lib.maintainers; [mpickering];
+    maintainers = with lib.maintainers; [ mpickering willcohen ];
   };
 }
diff --git a/pkgs/applications/gis/qgis/unwrapped-ltr.nix b/pkgs/applications/gis/qgis/unwrapped-ltr.nix
index 5a4f059e91e..e6bf2250b64 100644
--- a/pkgs/applications/gis/qgis/unwrapped-ltr.nix
+++ b/pkgs/applications/gis/qgis/unwrapped-ltr.nix
@@ -69,14 +69,14 @@ let
     six
   ];
 in mkDerivation rec {
-  version = "3.22.5";
+  version = "3.22.6";
   pname = "qgis-ltr-unwrapped";
 
   src = fetchFromGitHub {
     owner = "qgis";
     repo = "QGIS";
     rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "sha256-G7ckAj0vb6030L2gL11+e5pp0OK1NxwECQ295B9sI4o=";
+    sha256 = "sha256-ACNEIU+kYmOa+/1nbFPTSDgyvviXqKP9kvL6aRykueY=";
   };
 
   passthru = {
diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix
index ca73dcdbfaa..32ee893cbaa 100644
--- a/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/pkgs/applications/gis/qgis/unwrapped.nix
@@ -69,14 +69,14 @@ let
     six
   ];
 in mkDerivation rec {
-  version = "3.24.1";
+  version = "3.24.2";
   pname = "qgis-unwrapped";
 
   src = fetchFromGitHub {
     owner = "qgis";
     repo = "QGIS";
     rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "sha256-3dAwFR7L6NNDkDqNg9MzOJOGh1CDEJfckwo72dQECDg=";
+    sha256 = "sha256-skoepsX9xREqN5SoA4eUN7LKa6KGvixPd5k0KKXzKJo=";
   };
 
   passthru = {
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index 48008c36933..53b271b4d29 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -29,7 +29,7 @@
 , curl
 , ApplicationServices
 , Foundation
-, testVersion
+, testers
 , imagemagick
 }:
 
@@ -45,13 +45,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "7.1.0-30";
+  version = "7.1.0-32";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = version;
-    hash = "sha256-FfZJfjuQmYvYuOi18cZdr3Nam98/j+ZTGRwsd1sslsY=";
+    hash = "sha256-blDdNZJCyBdPEgdZXwgNUGSdSIwnqRaVLsLdFeA4JzQ=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
@@ -120,7 +120,7 @@ stdenv.mkDerivation rec {
   '';
 
   passthru.tests.version =
-    testVersion { package = imagemagick; };
+    testers.testVersion { package = imagemagick; };
 
   meta = with lib; {
     homepage = "http://www.imagemagick.org/";
diff --git a/pkgs/applications/graphics/cloudcompare/default.nix b/pkgs/applications/graphics/cloudcompare/default.nix
index 6a6820240f4..1d5556b6a8b 100644
--- a/pkgs/applications/graphics/cloudcompare/default.nix
+++ b/pkgs/applications/graphics/cloudcompare/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , mkDerivation
 , fetchFromGitHub
 , fetchpatch
@@ -114,5 +115,6 @@ mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ nh2 ];
     platforms = with platforms; linux; # only tested here; might work on others
+    broken = stdenv.isLinux; # plugins/core/IO/qPDALIO/CMakeFiles/QPDAL_IO_PLUGIN.dir/src/LASFilter.cpp.o] Error 1
   };
 }
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index e950d5e36f5..0fe5a0b183e 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -14,6 +14,7 @@
 , desktop-file-utils
 , exiv2
 , glib
+, glib-networking
 , ilmbase
 , gtk3
 , intltool
@@ -71,6 +72,7 @@ stdenv.mkDerivation rec {
     curl
     exiv2
     glib
+    glib-networking
     gtk3
     ilmbase
     lcms2
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index f528d587a41..088b0de158f 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, fetchurl, cmake, doxygen, extra-cmake-modules, wrapGAppsHook
+{ mkDerivation, lib, fetchurl, fetchpatch, cmake, doxygen, extra-cmake-modules, wrapGAppsHook
 
 # For `digitaglinktree`
 , perl, sqlite
@@ -43,6 +43,7 @@
 , pcre
 , threadweaver
 , x265
+, jasper
 
 # For panorama and focus stacking
 , enblend-enfuse
@@ -55,13 +56,21 @@
 
 mkDerivation rec {
   pname   = "digikam";
-  version = "7.4.0";
+  version = "7.6.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/digiKam-${version}.tar.xz";
-    sha256 = "sha256-0Iq2bacyu0SbwQEG7BHdne+ls1Yt7TdBsEHbuqcVUEo=";
+    sha256 = "sha256-2OHucyHT/DE5FvUVdW4wKaxBh9xFO2kzhI1N5TFLZkE=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "akonadi-22.04.patch";
+      url = "https://github.com/archlinux/svntogit-packages/raw/1b3c76a4482055524120f598325d90545ff9c020/trunk/akonadi-22.04.patch";
+      sha256 = "sha256-ittgkl2t/nAD0ci2fNYoAd4E2M6Gg0vqqjxqZugBuko=";
+    })
+  ];
+
   nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ];
 
   buildInputs = [
@@ -86,6 +95,7 @@ mkDerivation rec {
     opencv
     pcre
     x265
+    jasper
 
     qtbase
     qtxmlpatterns
@@ -115,6 +125,7 @@ mkDerivation rec {
     "-DENABLE_MEDIAPLAYER=1"
     "-DENABLE_QWEBENGINE=on"
     "-DENABLE_APPSTYLES=on"
+    "-DCMAKE_CXX_FLAGS=-I${libksane}/include/KF5" # fix `#include <ksane_version.h>`
   ];
 
   dontWrapGApps = true;
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index 98103efab64..ba5237f21f3 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, autoconf, automake, gettext, intltool
 , gtk3, lcms2, exiv2, libchamplain, clutter-gtk, ffmpegthumbnailer, fbida
-, wrapGAppsHook, fetchpatch, bash, doxygen
+, wrapGAppsHook, fetchpatch, doxygen
 , nix-update-script
 }:
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs =
     [ pkg-config autoconf automake gettext intltool
-      wrapGAppsHook bash doxygen
+      wrapGAppsHook doxygen
     ];
 
   buildInputs = [
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 6f4fdd68909..79760bb31a6 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -101,7 +101,7 @@ in
       description = "Batch Image Manipulation Plugin for GIMP";
       homepage = "https://github.com/alessandrofrancesconi/gimp-plugin-bimp";
       license = licenses.gpl2Plus;
-      maintainers = with maintainers; [ samuelgrf ];
+      maintainers = with maintainers; [ ];
     };
   };
 
diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix
index f92f3686611..d9b6db8d653 100644
--- a/pkgs/applications/graphics/graphicsmagick/default.nix
+++ b/pkgs/applications/graphics/graphicsmagick/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "graphicsmagick";
-  version = "1.3.37";
+  version = "1.3.38";
 
   src = fetchurl {
     url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz";
-    sha256 = "sha256-kNwi8ae9JA5MkGWpQJYr8T2kPJm8w2yxEcw8Gg10d9Q=";
+    sha256 = "sha256-1gzZ21k1HSucsZvrRDFwrKoo8HPRPSWPZ7NidjXjJnU=";
   };
 
   patches = [
diff --git a/pkgs/applications/graphics/hydrus/default.nix b/pkgs/applications/graphics/hydrus/default.nix
index ef9bc61d57c..5a25ad3998f 100644
--- a/pkgs/applications/graphics/hydrus/default.nix
+++ b/pkgs/applications/graphics/hydrus/default.nix
@@ -10,14 +10,14 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "hydrus";
-  version = "481";
+  version = "482";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "hydrusnetwork";
     repo = "hydrus";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-6I4vLJj5WzC2bCtQYnoLGOL6N6pKFU+PZQqaOqhZhWU=";
+    sha256 = "sha256-b7zMHwsyZv4dCn4Gd/2a+MHhT3IHISJup/zm95pEcQ4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/ovito/default.nix b/pkgs/applications/graphics/ovito/default.nix
index 45457ad8ebb..2a8c9afbd26 100644
--- a/pkgs/applications/graphics/ovito/default.nix
+++ b/pkgs/applications/graphics/ovito/default.nix
@@ -21,13 +21,13 @@
 
 mkDerivation rec {
   pname = "ovito";
-  version = "3.6.0";
+  version = "3.7.1";
 
   src = fetchFromGitLab {
     owner = "stuko";
     repo = "ovito";
     rev = "v${version}";
-    sha256 = "sha256-yQ8gSe/QM1RRNxk4bDJ+K5QX0eYjZ+iG3QOHj01tJhY=";
+    sha256 = "sha256-6b/yqfrpeZ6i6DoPe3lcftvuzwvK7rfZhgyHc9GtyBs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix
index 7d1acc1dcd6..494180fdb59 100644
--- a/pkgs/applications/graphics/rawtherapee/default.nix
+++ b/pkgs/applications/graphics/rawtherapee/default.nix
@@ -16,6 +16,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ];
 
+  # This patch is upstream; remove it in 5.9.
+  patches = [ ./fix-6324.patch ];
+
   buildInputs = [
     pixman libpthreadstubs gtkmm3 libXau libXdmcp
     lcms2 libiptcdata libcanberra-gtk3 fftw expat pcre libsigcxx lensfun librsvg
diff --git a/pkgs/applications/graphics/rawtherapee/fix-6324.patch b/pkgs/applications/graphics/rawtherapee/fix-6324.patch
new file mode 100644
index 00000000000..fa324c2c938
--- /dev/null
+++ b/pkgs/applications/graphics/rawtherapee/fix-6324.patch
@@ -0,0 +1,356 @@
+See:
+  https://github.com/Beep6581/RawTherapee/issues/6324
+  https://github.com/Beep6581/RawTherapee/commit/2e0137d54243eb729d4a5f939c4320ec8f8f415d
+
+diff --git a/rtengine/canon_cr3_decoder.cc b/rtengine/canon_cr3_decoder.cc
+index 6274154cb..98c743dad 100644
+--- a/rtengine/canon_cr3_decoder.cc
++++ b/rtengine/canon_cr3_decoder.cc
+@@ -662,7 +662,7 @@ std::uint32_t _byteswap_ulong(std::uint32_t x)
+ #endif
+ 
+ struct LibRaw_abstract_datastream {
+-    IMFILE* ifp;
++    rtengine::IMFILE* ifp;
+ 
+     void lock()
+     {
+diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc
+index 812f122b3..5da696af2 100644
+--- a/rtengine/dcraw.cc
++++ b/rtengine/dcraw.cc
+@@ -2025,7 +2025,7 @@ void CLASS phase_one_load_raw_c()
+ #endif
+ {
+     int len[2], pred[2];
+-    IMFILE ifpthr = *ifp;
++    rtengine::IMFILE ifpthr = *ifp;
+     ifpthr.plistener = nullptr;
+ 
+ #ifdef _OPENMP
+@@ -3380,7 +3380,7 @@ void CLASS sony_arw2_load_raw()
+ {
+     uchar *data = new (std::nothrow) uchar[raw_width + 1];
+     merror(data, "sony_arw2_load_raw()");
+-    IMFILE ifpthr = *ifp;
++    rtengine::IMFILE ifpthr = *ifp;
+     int pos = ifpthr.pos;
+     ushort pix[16];
+ 
+@@ -6394,7 +6394,7 @@ int CLASS parse_tiff_ifd (int base)
+   unsigned sony_curve[] = { 0,0,0,0,0,4095 };
+   unsigned *buf, sony_offset=0, sony_length=0, sony_key=0;
+   struct jhead jh;
+-/*RT*/  IMFILE *sfp;
++/*RT*/  rtengine::IMFILE *sfp;
+ /*RT*/  int pana_raw = 0;
+ 
+   if (tiff_nifds >= sizeof tiff_ifd / sizeof tiff_ifd[0])
+@@ -6958,7 +6958,7 @@ it under the terms of the one of two licenses as you choose:
+     fread (buf, sony_length, 1, ifp);
+     sony_decrypt (buf, sony_length/4, 1, sony_key);
+     sfp = ifp;
+-/*RT*/ ifp = fopen (buf, sony_length);
++/*RT*/ ifp = rtengine::fopen (buf, sony_length);
+ // if ((ifp = tmpfile())) {
+ // fwrite (buf, sony_length, 1, ifp);
+ // fseek (ifp, 0, SEEK_SET);
+@@ -7264,7 +7264,7 @@ void CLASS parse_external_jpeg()
+ {
+   const char *file, *ext;
+   char *jname, *jfile, *jext;
+-/*RT*/  IMFILE *save=ifp;
++/*RT*/  rtengine::IMFILE *save=ifp;
+ 
+   ext  = strrchr (ifname, '.');
+   file = strrchr (ifname, '/');
+@@ -7292,7 +7292,7 @@ void CLASS parse_external_jpeg()
+       *jext = '0';
+     }
+   if (strcmp (jname, ifname)) {
+-/*RT*/    if ((ifp = fopen (jname))) {
++/*RT*/    if ((ifp = rtengine::fopen (jname))) {
+ //    if ((ifp = fopen (jname, "rb"))) {
+       if (verbose)
+ 	fprintf (stderr,_("Reading metadata from %s ...\n"), jname);
+diff --git a/rtengine/dcraw.h b/rtengine/dcraw.h
+index 89c1fcaff..f25157088 100644
+--- a/rtengine/dcraw.h
++++ b/rtengine/dcraw.h
+@@ -73,7 +73,7 @@ public:
+ 
+ protected:
+     int exif_base, ciff_base, ciff_len;
+-    IMFILE *ifp;
++    rtengine::IMFILE *ifp;
+     FILE *ofp;
+     short order;
+     const char *ifname;
+@@ -125,7 +125,7 @@ protected:
+         int         cur_buf_size;    // buffer size
+         uchar       *cur_buf;        // currently read block
+         int         fillbytes;          // Counter to add extra byte for block size N*16
+-        IMFILE      *input;
++        rtengine::IMFILE      *input;
+         struct int_pair grad_even[3][41];    // tables of gradients
+         struct int_pair grad_odd[3][41];
+         ushort		*linealloc;
+@@ -278,7 +278,7 @@ void parse_redcine();
+ class getbithuff_t
+ {
+ public:
+-   getbithuff_t(DCraw *p,IMFILE *&i, unsigned &z):parent(p),bitbuf(0),vbits(0),reset(0),ifp(i),zero_after_ff(z){}
++   getbithuff_t(DCraw *p,rtengine::IMFILE *&i, unsigned &z):parent(p),bitbuf(0),vbits(0),reset(0),ifp(i),zero_after_ff(z){}
+    unsigned operator()(int nbits, ushort *huff);
+ 
+ private:
+@@ -288,7 +288,7 @@ private:
+    DCraw *parent;
+    unsigned bitbuf;
+    int vbits, reset;
+-   IMFILE *&ifp;
++   rtengine::IMFILE *&ifp;
+    unsigned &zero_after_ff;
+ };
+ getbithuff_t getbithuff;
+@@ -296,7 +296,7 @@ getbithuff_t getbithuff;
+ class nikbithuff_t
+ {
+ public:
+-   explicit nikbithuff_t(IMFILE *&i):bitbuf(0),errors(0),vbits(0),ifp(i){}
++   explicit nikbithuff_t(rtengine::IMFILE *&i):bitbuf(0),errors(0),vbits(0),ifp(i){}
+    void operator()() {bitbuf = vbits = 0;};
+    unsigned operator()(int nbits, ushort *huff);
+    unsigned errorCount() { return errors; }
+@@ -309,7 +309,7 @@ private:
+    }
+    unsigned bitbuf, errors;
+    int vbits;
+-   IMFILE *&ifp;
++   rtengine::IMFILE *&ifp;
+ };
+ nikbithuff_t nikbithuff;
+ 
+@@ -378,7 +378,7 @@ void parse_qt (int end);
+ // ph1_bithuff(int nbits, ushort *huff);
+ class ph1_bithuff_t {
+ public:
+-   ph1_bithuff_t(DCraw *p, IMFILE *i, short &o):order(o),ifp(i),bitbuf(0),vbits(0){}
++   ph1_bithuff_t(DCraw *p, rtengine::IMFILE *i, short &o):order(o),ifp(i),bitbuf(0),vbits(0){}
+    unsigned operator()(int nbits, ushort *huff);
+    unsigned operator()(int nbits);
+    unsigned operator()();
+@@ -412,7 +412,7 @@ private:
+    }
+ 
+    short &order;
+-   IMFILE* const ifp;
++   rtengine::IMFILE* const ifp;
+    UINT64 bitbuf;
+    int vbits;
+ };
+@@ -430,11 +430,11 @@ void nokia_load_raw();
+ 
+ class pana_bits_t{
+ public:
+-   pana_bits_t(IMFILE *i, unsigned &u, unsigned enc):
++   pana_bits_t(rtengine::IMFILE *i, unsigned &u, unsigned enc):
+     ifp(i), load_flags(u), vbits(0), encoding(enc) {}
+    unsigned operator()(int nbits, unsigned *bytes=nullptr);
+ private:
+-   IMFILE *ifp;
++   rtengine::IMFILE *ifp;
+    unsigned &load_flags;
+    uchar buf[0x4000];
+    int vbits;
+diff --git a/rtengine/dfmanager.cc b/rtengine/dfmanager.cc
+index 1fb1d2e1b..951df2248 100644
+--- a/rtengine/dfmanager.cc
++++ b/rtengine/dfmanager.cc
+@@ -540,7 +540,7 @@ std::vector<badPix> *DFManager::getHotPixels ( const std::string &mak, const std
+ 
+ int DFManager::scanBadPixelsFile( Glib::ustring filename )
+ {
+-    FILE *file = fopen( filename.c_str(), "r" );
++    FILE *file = ::fopen( filename.c_str(), "r" );
+ 
+     if( !file ) {
+         return false;
+diff --git a/rtengine/myfile.cc b/rtengine/myfile.cc
+index 842766dcf..2321d18bb 100644
+--- a/rtengine/myfile.cc
++++ b/rtengine/myfile.cc
+@@ -70,7 +70,7 @@ int munmap(void *start, size_t length)
+ 
+ #ifdef MYFILE_MMAP
+ 
+-IMFILE* fopen (const char* fname)
++rtengine::IMFILE* rtengine::fopen (const char* fname)
+ {
+     int fd;
+ 
+@@ -123,13 +123,13 @@ IMFILE* fopen (const char* fname)
+     return mf;
+ }
+ 
+-IMFILE* gfopen (const char* fname)
++rtengine::IMFILE* rtengine::gfopen (const char* fname)
+ {
+     return fopen(fname);
+ }
+ #else
+ 
+-IMFILE* fopen (const char* fname)
++rtengine::IMFILE* rtengine::fopen (const char* fname)
+ {
+ 
+     FILE* f = g_fopen (fname, "rb");
+@@ -152,7 +152,7 @@ IMFILE* fopen (const char* fname)
+     return mf;
+ }
+ 
+-IMFILE* gfopen (const char* fname)
++rtengine::IMFILE* rtengine::gfopen (const char* fname)
+ {
+ 
+     FILE* f = g_fopen (fname, "rb");
+@@ -176,7 +176,7 @@ IMFILE* gfopen (const char* fname)
+ }
+ #endif //MYFILE_MMAP
+ 
+-IMFILE* fopen (unsigned* buf, int size)
++rtengine::IMFILE* rtengine::fopen (unsigned* buf, int size)
+ {
+ 
+     IMFILE* mf = new IMFILE;
+@@ -190,7 +190,7 @@ IMFILE* fopen (unsigned* buf, int size)
+     return mf;
+ }
+ 
+-void fclose (IMFILE* f)
++void rtengine::fclose (IMFILE* f)
+ {
+ #ifdef MYFILE_MMAP
+ 
+@@ -207,7 +207,7 @@ void fclose (IMFILE* f)
+     delete f;
+ }
+ 
+-int fscanf (IMFILE* f, const char* s ...)
++int rtengine::fscanf (IMFILE* f, const char* s ...)
+ {
+     // fscanf not easily wrapped since we have no terminating \0 at end
+     // of file data and vsscanf() won't tell us how many characters that
+@@ -253,7 +253,7 @@ int fscanf (IMFILE* f, const char* s ...)
+ }
+ 
+ 
+-char* fgets (char* s, int n, IMFILE* f)
++char* rtengine::fgets (char* s, int n, IMFILE* f)
+ {
+ 
+     if (f->pos >= f->size) {
+@@ -270,7 +270,7 @@ char* fgets (char* s, int n, IMFILE* f)
+     return s;
+ }
+ 
+-void imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, double progress_range)
++void rtengine::imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, double progress_range)
+ {
+     f->plistener = plistener;
+     f->progress_range = progress_range;
+@@ -278,7 +278,7 @@ void imfile_set_plistener(IMFILE *f, rtengine::ProgressListener *plistener, doub
+     f->progress_current = 0;
+ }
+ 
+-void imfile_update_progress(IMFILE *f)
++void rtengine::imfile_update_progress(IMFILE *f)
+ {
+     if (!f->plistener || f->progress_current < f->progress_next) {
+         return;
+diff --git a/rtengine/myfile.h b/rtengine/myfile.h
+index 423edea9a..c655696e6 100644
+--- a/rtengine/myfile.h
++++ b/rtengine/myfile.h
+@@ -30,8 +30,6 @@ namespace rtengine
+ 
+ class ProgressListener;
+ 
+-}
+-
+ struct IMFILE {
+     int fd;
+     ssize_t pos;
+@@ -141,3 +139,5 @@ inline unsigned char* fdata(int offset, IMFILE* f)
+ 
+ int fscanf (IMFILE* f, const char* s ...);
+ char* fgets (char* s, int n, IMFILE* f);
++
++}
+diff --git a/rtengine/rtthumbnail.cc b/rtengine/rtthumbnail.cc
+index 9da601e2a..097b9e711 100644
+--- a/rtengine/rtthumbnail.cc
++++ b/rtengine/rtthumbnail.cc
+@@ -1922,7 +1922,7 @@ bool Thumbnail::writeImage (const Glib::ustring& fname)
+ 
+     Glib::ustring fullFName = fname + ".rtti";
+ 
+-    FILE* f = g_fopen (fullFName.c_str (), "wb");
++    FILE* f = ::g_fopen (fullFName.c_str (), "wb");
+ 
+     if (!f) {
+         return false;
+@@ -1965,7 +1965,7 @@ bool Thumbnail::readImage (const Glib::ustring& fname)
+         return false;
+     }
+ 
+-    FILE* f = g_fopen(fullFName.c_str (), "rb");
++    FILE* f = ::g_fopen(fullFName.c_str (), "rb");
+ 
+     if (!f) {
+         return false;
+@@ -2191,7 +2191,7 @@ bool Thumbnail::writeData  (const Glib::ustring& fname)
+         return false;
+     }
+ 
+-    FILE *f = g_fopen (fname.c_str (), "wt");
++    FILE *f = ::g_fopen (fname.c_str (), "wt");
+ 
+     if (!f) {
+         if (settings->verbose) {
+@@ -2214,7 +2214,7 @@ bool Thumbnail::readEmbProfile  (const Glib::ustring& fname)
+     embProfile = nullptr;
+     embProfileLength = 0;
+ 
+-    FILE* f = g_fopen (fname.c_str (), "rb");
++    FILE* f = ::g_fopen (fname.c_str (), "rb");
+ 
+     if (f) {
+         if (!fseek (f, 0, SEEK_END)) {
+@@ -2242,7 +2242,7 @@ bool Thumbnail::writeEmbProfile (const Glib::ustring& fname)
+ {
+ 
+     if (embProfileData) {
+-        FILE* f = g_fopen (fname.c_str (), "wb");
++        FILE* f = ::g_fopen (fname.c_str (), "wb");
+ 
+         if (f) {
+             fwrite (embProfileData, 1, embProfileLength, f);
+@@ -2257,7 +2257,7 @@ bool Thumbnail::writeEmbProfile (const Glib::ustring& fname)
+ bool Thumbnail::readAEHistogram  (const Glib::ustring& fname)
+ {
+ 
+-    FILE* f = g_fopen(fname.c_str(), "rb");
++    FILE* f = ::g_fopen(fname.c_str(), "rb");
+ 
+     if (!f) {
+         aeHistogram.reset();
+@@ -2280,7 +2280,7 @@ bool Thumbnail::writeAEHistogram (const Glib::ustring& fname)
+ {
+ 
+     if (aeHistogram) {
+-        FILE* f = g_fopen (fname.c_str (), "wb");
++        FILE* f = ::g_fopen (fname.c_str (), "wb");
+ 
+         if (f) {
+             fwrite (&aeHistogram[0], 1, (65536 >> aeHistCompression)*sizeof (aeHistogram[0]), f);
diff --git a/pkgs/applications/graphics/sane/backends/brscan4/default.nix b/pkgs/applications/graphics/sane/backends/brscan4/default.nix
index 6fcb5830556..93d40374607 100644
--- a/pkgs/applications/graphics/sane/backends/brscan4/default.nix
+++ b/pkgs/applications/graphics/sane/backends/brscan4/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, callPackage, patchelf, makeWrapper, coreutils, libusb-compat-0_1 }:
+{ stdenv, lib, fetchurl, callPackage, patchelf, makeWrapper, libusb-compat-0_1 }:
 let
   myPatchElf = file: with lib; ''
     patchelf --set-interpreter \
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     tar xfvz data.tar.gz
   '';
 
-  nativeBuildInputs = [ makeWrapper patchelf coreutils udevRules ];
+  nativeBuildInputs = [ makeWrapper patchelf udevRules ];
   buildInputs = [ libusb-compat-0_1 ];
   dontBuild = true;
 
diff --git a/pkgs/applications/graphics/sane/backends/brscan5/default.nix b/pkgs/applications/graphics/sane/backends/brscan5/default.nix
index 9f76a0dd0b7..219d435a81a 100644
--- a/pkgs/applications/graphics/sane/backends/brscan5/default.nix
+++ b/pkgs/applications/graphics/sane/backends/brscan5/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, callPackage, patchelf, makeWrapper, coreutils, libusb1, avahi-compat, glib, libredirect, nixosTests }:
+{ stdenv, lib, fetchurl, callPackage, patchelf, makeWrapper, libusb1, avahi-compat, glib, libredirect, nixosTests }:
 let
   myPatchElf = file: with lib; ''
     patchelf --set-interpreter \
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     tar xfv data.tar.xz
   '';
 
-  nativeBuildInputs = [ makeWrapper patchelf coreutils ];
+  nativeBuildInputs = [ makeWrapper patchelf ];
   buildInputs = [ libusb1 avahi-compat stdenv.cc.cc glib ];
   dontBuild = true;
 
diff --git a/pkgs/applications/graphics/tesseract/default.nix b/pkgs/applications/graphics/tesseract/default.nix
index 840c87de216..dc5f9731870 100644
--- a/pkgs/applications/graphics/tesseract/default.nix
+++ b/pkgs/applications/graphics/tesseract/default.nix
@@ -3,6 +3,7 @@
 let
   base3 = callPackage ./tesseract3.nix {};
   base4 = callPackage ./tesseract4.nix {};
+  base5 = callPackage ./tesseract5.nix {};
   languages = callPackage ./languages.nix {};
 in
 {
@@ -15,4 +16,9 @@ in
     tesseractBase = base4;
     languages = languages.v4;
   });
+
+  tesseract5 = lowPrio (callPackage ./wrapper.nix {
+    tesseractBase = base5;
+    languages = languages.v4;
+  });
 }
diff --git a/pkgs/applications/graphics/tesseract/fetch-language-hashes b/pkgs/applications/graphics/tesseract/fetch-language-hashes
index c431f1d97c2..b8aedcfbd9c 100755
--- a/pkgs/applications/graphics/tesseract/fetch-language-hashes
+++ b/pkgs/applications/graphics/tesseract/fetch-language-hashes
@@ -25,11 +25,11 @@ else
                    >&2 echo "Invalid tessdataRev: $tessdataRev"
                    exit 1
                })
-    langCodes=$(echo $(echo "$repoPage" | grep -ohP "(?<=/)[^/]+?(?=\.traineddata)" | sort))
+    langCodes=$(echo $(echo "$repoPage" | grep -ohP "(?<=/)[^/ ]+?(?=\.traineddata)" | sort -u))
 fi
 
 for lang in $langCodes; do
     url=https://github.com/tesseract-ocr/tessdata/raw/$tessdataRev/$lang.traineddata
-    hash=$(nix-prefetch-url $url 2>/dev/null)
+    hash=$(nix hash to-sri --type sha256 $(nix-prefetch-url $url 2>/dev/null))
     echo "$lang = \"$hash\";"
 done
diff --git a/pkgs/applications/graphics/tesseract/languages.nix b/pkgs/applications/graphics/tesseract/languages.nix
index 08512a5cdd9..11270f70b5d 100644
--- a/pkgs/applications/graphics/tesseract/languages.nix
+++ b/pkgs/applications/graphics/tesseract/languages.nix
@@ -7,12 +7,12 @@ rec {
         owner = "tesseract-ocr";
         repo = "tessdata";
         rev = tessdataRev;
-        sha256 = tessdata;
+        hash = tessdata;
       };
 
-      languageFile = lang: sha256: fetchurl {
+      languageFile = lang: hash: fetchurl {
         url = "https://github.com/tesseract-ocr/tessdata/raw/${tessdataRev}/${lang}.traineddata";
-        inherit sha256;
+        inherit hash;
       };
     in
       {
@@ -32,258 +32,258 @@ rec {
 
   v3 = makeLanguages {
     tessdataRev = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d";
-    tessdata = "1v4b63v5nzcxr2y3635r19l7lj5smjmc9vfk0wmxlryxncb4vpg7";
-    all = "0yj6h9n6h0kzzcqsn3z87vsi8pa60szp0yiayb0znd0v9my0dqhn";
+    tessdata = "sha256-591NFrPdZ9orB9PtxKqsukh6aAq5DDO8yJ19W/Ywi+w=";
+    all = "sha256-FuIGfE0bNPvB8ip6cL8GRl0U9T7oD6sx+38CaGyCRno=";
 
     # Run `./fetch-language-hashes <tessdataRev>` to generate these hashes
     languages = {
-      afr = "15dsnzy4i9ai26ilm73gkfj4ck039raa88i6w443c4b1fnay2akf";
-      amh = "1wbcsdq3svxga3j1alk61xs72a9fhsfsyjxhp3cwxfaqfhrzg7h4";
-      ara = "0nk495gki6jbbnwcl2ybsx4nd02d6qykcjncq0d2g8pbgapqmj91";
-      asm = "0c3wq15yphq7x74s2sn3f90k6z1cf5j7ic62z0dynidrv99bddfh";
-      aze = "0pz073hxqkx1a1cshlgg5k11lj73s52sdxa7k3020drc314lhaxw";
-      aze_cyrl = "0djbfgx28ykcjsn2p0766qrmj256g7vhc7valc3ivsva8b906lxq";
-      bel = "04zqy8vik0fcakq6apfp8wjhkkhlg0yn9kmag1lk7s8fy9ax3ws2";
-      ben = "0q7812kn5xjm47hcgdcg911lhbgqr7hbvqckfxxm8qw0yjx2cy0m";
-      bod = "0rwq7539zzfs8xs0bf1535z1cwkm0yk1ni25f5gjav7nm6qpiaan";
-      bos = "1qr04dj7lx347gxpin5nfprbggmxq2mwx8kf3pcc3vb5x3pa57g4";
-      bul = "0cyyqgi3i4y9bfzwls0lwljzgd0r8ayfqb4bbvdh4qmbni9x42ya";
-      cat = "0kgw8f5pdw9lfbn6cfp5n1s0j8pj3418yx6rsbagzcf1gr36gbr9";
-      ceb = "1g1n4np4vhar7wfwx2km5k6kldb600rrl7npfbf75229rar068f1";
-      ces = "0zxkkyhpd74i6321nv86pkjb0k7p9cp6m174rbn42nl7jz6qxib0";
-      chi_sim = "0k250xr0gk9yh22yqxd0zpxdsrqfzs164kdv5n9rxx1g996yffij";
-      chi_tra = "03nxqpd546p0gwfj6pqzbdbv5zjpdddzlpa10xn4nvmks1mmckbp";
-      chr = "1k1sg3hap0kd5aa36ysvmhp7r3fynxf0f7lzz814h6p3g250zclb";
-      cym = "0d6wbf9cmrrzf66mhcckwdfy3xh2i38r0by9nk6isw9rl7bf7j07";
-      dan = "1s1yj56rpzmif3ir3qs4iab744cgpflk7y8812z2665bh61illpr";
-      dan_frak = "1bxi53ymib5g0139vfd2pflh7nl5925vqznq3sfgaqx7gdx630vi";
-      deu = "0fna7fqk1a8ivd7q2k38vx37qm3vbn183zh4z5zfqb4pgqmb8znb";
-      deu_frak = "1y4krkvarg7jxhcq49fgybg4phbn58y9c0z2bm8mnp28jkih1cnb";
-      dzo = "1fcz0imi7zxi99762pxfcm5iz2jcbqj3s742magka4ihrxnz07xm";
-      ell = "0r0f71jy4y29bg055qvvy93wchi3lh08zz0k9c8l7466b03yvq5v";
-      eng = "0vghah8kqcv0n5fnjb88w6siz156ysrc41fckw3f2y8c3sgmqlf0";
-      enm = "10y61xv3w1ypgqz5rgb22y5hh1i4zx03cwiqw21ifqvg4xdrln46";
-      epo = "1y5lh55mbcx33cm7qlf1dcah8ffycxmlcpzjzx9r6ij14fdd4964";
-      equ = "1nqrd0a9jqqh6byy8snfhad1hisrc92dcx44wsy7v4nf40j3mx1s";
-      est = "12ll8lq1hjcsq9hh93020w78r7f1rcxcwlvrjqw8j5p3k9jg5a4g";
-      eus = "034s9mp7lw1a4yvf2cmbbj2fbqbaq6xnjqh30yn0wq0c0jck96nw";
-      fas = "0m61p4byc0kzf75cdn6g18s8hcg9r8ifs34wr85lbsb65kil4ijx";
-      fin = "1wac333k0lcd5jwprzg99b10bq8sdc96b9d6275kg9imyqjwcc7q";
-      fra = "1ax7i0nw1lwkz4sbrvn4z0lcrcai77ymdpla7qk7yij6s4xb5bw6";
-      frk = "16nmr71p93724vk1x5mq4r8vxpwnm448p6dwqv8scg8asch1cidp";
-      frm = "00yz3hz7wcralq8wbx1ap4c6b37ac6vnz5bgmxmgdx0kqzibiddn";
-      gle = "1n8z8kmn5m628rlzgz5v0iw6h46aalflq5asa1wj5rygx1y2azpa";
-      glg = "0fdniayplc3iwmlmvhblarh1gm97dp8rqhhkb8b0clwfd9cj342z";
-      grc = "04r2193qcxqyab5998xn8bf7197wiccmjm7iakij8d0c7l61dnxb";
-      guj = "0dp8mlxmf0x9wb8dg0c508sdwz03icq94z8ji8jhwgdqgv8hw1al";
-      hat = "0793mmlxbb09c8103jhdvlczz647nyn4ykkgd3gwgavncmjh72v8";
-      heb = "16za9ff1i3ya6hz75l9v3v7j4039kscxxw21g3i2w5p9zn52hyag";
-      hin = "1vnn5wpc724kgib8jbx0kpnnp4al60ivqir72gnbyh6cpnflb6bf";
-      hrv = "15rqd6xiv2bdmalb5s6rxvw0yk6w9agn9fli3bvi703q6vpj2yn3";
-      hun = "19zzwdxwi3h3vdsgr271i1m87gfpdirk6b1ljw2j8qmfilp4sw56";
-      iku = "1v1yvc1194qycjgb4ihh5hpj6472nlbp66dii183514g2dh9x0db";
-      ind = "120d4b41wvsgcd1sgy2mp78i9hvi7w03a63078dz1yds0yqdwf1p";
-      isl = "003ngk8dfv6dglkq8pmi6jsglrfkc65js5ywh3vvkg7qfqf6qsxz";
-      ita = "1lxklk3zc3x3k8yfpp6ygyv7fndgs57dfasc97rh8782ds16wkjs";
-      ita_old = "188gby1y51pa1ycyc8y17d16hs5w27yl5ch7xzni98bdjkwbkl1z";
-      jav = "1fjyjznjchls5ifbnx2b9xagisgxvgj9lsf39rr9d87sbzdbbwbp";
-      jpn = "1wmayj8wh3pfwznjhalad2qzv38mhrzw2sxl71mycvzvpdy9ag1w";
-      kan = "0hak4953whw9vd9dzl0hq076kzb19kk45kmfxk03af4k6gb206vg";
-      kat = "16k0057cvvdc6snm5svhdv3cr7cw71g74yy8215njjbsi838imi3";
-      kat_old = "02gl755d38plyvzwfjqxvjgfqkbjs9rvzx33qfhm2zvmgbwrfrfh";
-      kaz = "0hc36w7zz5waycsk220v0r83sg991gd5f5r937mvz44viql80sgm";
-      khm = "1gb2nv5qdq5fz9w9xq4fj68p46b62sd1m986ra5qbnskxqizr12s";
-      kir = "1b1ing6qqi8qqfh4xpk76rp4gxp69wdjdl5m777ayx3v02d7nhh3";
-      kor = "1rldj6f8h1nn5wpx57b0ci7p0fnivnwzgaf0d3576xls26z2wcgv";
-      kur = "1cp2pfd6g662gvxi7ywkxfbfq1lwbis888bf1gg8ynzy342mx1ic";
-      lao = "03bdaxakmxpbbr9vsnbzzfksvm6js0l5i0ijwl71piqyxqjj1gxf";
-      lat = "1q7v7drnwpna9k2l79jbdlxiv1j617rqzjc9d48h3lfrma5z97sj";
-      lav = "0fxzyvw7n67rmw2irvlghkf1bii4w47200zv26p0v3a9dwvhc7sg";
-      lit = "0f00ggjjqrl94kwwjmjqwajyfprsml0br8vhn2gvn11gaxvm52hm";
-      mal = "1i83plhin3m6sq8p92vzlyng5z59gvvqypyh7rnmvdmm9rranx8a";
-      mar = "0ay7q53yl3709crvn5l9c9jx7hw6m5d3x2crmvnvczsh83ayfdik";
-      mkd = "1q1wadcr4j1dzssyyqz43qmizc6vfqkbivr6xi2p7p4h9rl11x73";
-      mlt = "1qp4v6habak1l7xrw322wglvjjndrfp4j7bj8d4npwbzk1sh4s0h";
-      msa = "048p6mkx9zr40s9s5vbi0gnizhvqwn0g8i1hf1l8db7igbax5xyj";
-      mya = "17nyr5bd42kzvid3421n3mwckd49vzrjhjahd8rnfsmbsy1x382l";
-      nep = "154375r32sdmvcnp1ckvgbp3wxvb2xiiypb8bxbsvrabrz4wzjqc";
-      nld = "1clwbky71zkz55zd3f8r9hj8fhpnbkply80p1js4fvs7x12r715x";
-      nor = "1ynvrz6s0vmlq1xkjd8k2w6bx8770x6v29qgx83d4nl17ngjd459";
-      ori = "0dsakc8gnwhs6z5kxc2wdkbn31gkkiqk5vriw0swghychp164aac";
-      osd = "1zq0dfliavglmix7zzrqdxz1w01rm1f1x1352bqn8xf4zivdbxcw";
-      pan = "1fwdpwkydfmr6drwgkqzn89z12r2rdm02a75vvdxhxg2a9yiwmbv";
-      pol = "155z870ygzws476kp7qpzi8jcjcv3jb5px8rbzhnag1fklqr48hx";
-      por = "1814cff2rffpzlg4hyyrjzpf5ps2i95rmpa4c8ikblbvrlcv97q8";
-      pus = "1iz5nn1zfvn1l9gb1jriwx991d2hwwc7x4k1nvzjlwpzscplx25b";
-      ron = "11lr80zhvnnngvwwk01z1d3prfpbh3qbwpl1nl5fp7h09d6n3wzl";
-      rus = "1d6a8lg4bmd3np16jds1py3qpkaq4ahnhwghd5r0159y0jpxq00q";
-      san = "169f4ajgwn99yfdfrlwfvdgvv1abal7fpdp31sknvq8l7w2sak3g";
-      sin = "1411g18r6f6j6f4n0sn7ajgs4gkplb892s6ak0hi9nyyxwv3r1gm";
-      slk = "0bxfbrg1nf6px0xzkh6ihdi71fmr1rxxs99qb191k7pm16x2lpds";
-      slk_frak = "0zyqnn1y5cyx1y7wzgw743k4584ljl0rhvk2q1ni6jnjx9ciwzqy";
-      slv = "1kjn9m9hbwp0m0p2v8c3skpzr6f8x42hz8x48zl22550a7hq8n1h";
-      spa = "1npgl8ylvfm60hd4214z8a3lriy1hckhijschrbjpzmwdfcqafgj";
-      spa_old = "0w4ivkv8flyn7bjlyjcrcrdnslkvrrfs7l33mvird1jhhkyqd8sx";
-      sqi = "15wzvh6qm3yx7yf0k5j7g1imsaqxvq7r2xh6a0xgmkqbyypbbkdf";
-      srp = "05blqriv30x02c80ds3x7zhw0y21nc6lkqlv5jwgwnjgw4yfpgrm";
-      srp_latn = "0ss8s3q60aq8sd2a3sbnzvp13qqarxnjw4hij8hd9ab5gsjw0nwr";
-      swa = "1pwwhx7ldq21cv06cchws8gvwsmkwn5sjcy9z3nk3nbp9qjsf44f";
-      swe = "0l10iyn2cr7ibgk0akmpg8725mpwpydawgv3s77izsw7y6xhfr1a";
-      syr = "08bxil13wyp5h4hvbxjcys7ypgqgg46rrp653m7gyv5q94ycjgb0";
-      tam = "1g155kyba2wjfgzgy48g6yd2csinwbfjdi5r7vw0wm3dh1z39dvz";
-      tel = "0fydrcb54b6mmqazb337x4s36i2a64sb4xm7y7g3nqqmk9afsipv";
-      tgk = "0f6j37friywj7y132fv0jm6aj4sx8f0b7brspj3pbjqqpi4v5ws0";
-      tgl = "0f1r0gicif57qhyw8xaa1sqgny720q3z5cpd5srrn9i6fihaz577";
-      tha = "1y2hw55jfpidk95y8qbsiczgg2r2khabac97s1y3gl0v93a44jna";
-      tir = "1y7iryhjr83ca4yh5jjz7qlnrx4kbrp0a0p650whjvk2gnv8m98h";
-      tur = "0xqnq99b2jb4v74bj95py6wmg14dm31zp5s3l48dmcv6zdgcxg2w";
-      uig = "1sdddr15zlb33kd1d7hzi5lfd15bfhqn105d7x6snfpqp7vq4bxv";
-      ukr = "0cdwjnfnnmzz7jdn49l96vqgaimclfxcxaw09cm63f5my382r2rg";
-      urd = "10xcn1zs2lfswp5yai0ckyg7js587qhr5cf7qib3i35qjbw7nc18";
-      uzb = "1jkkd5j6vsx5jv5gwprbfwg1vwh714prm8j446wzvp74brmk949l";
-      uzb_cyrl = "1kdia38rgm2qd3ly80a412jyagxxryr09h1nz2d0iw71bmfn4855";
-      vie = "1ja18jxxaw282y4jljxpjf1gj15il61vc2ykpfy22vn88wvydxff";
-      yid = "1jddd0g8mm5v00z5kb8rbpfs7ppzgq9kzm1xlhhvv960yfdbi6fd";
+      afr = "sha256-birhlXVhETYI4SYipFROA0xGpJtvnEqjEVGlSPy3upU=";
+      amh = "sha256-BJ73M3RYuc7ZuLBLr52GLilxdA9mUhXkUK9vPXDTbPE=";
+      ara = "sha256-IcmKr3rroicawMxKNj02TYBmSdfLC8q4XUuaOF9JZFo=";
+      asm = "sha256-0LW2Utq5Resb+MKweGRxLHwzQXLDaqHJ6QfD60vAfDA=";
+      aze = "sha256-vCtISRgsNyDAmEf1pkXR40gawizvUahZUKFP3OE44F8=";
+      aze_cyrl = "sha256-uFMD0kJq6x0Ho2ofBvd5pghZMzbmgCuslmx6JPpzSzY=";
+      bel = "sha256-QvPRVfIO6TNpeKrOZD14FM4JJUfXXWXwVMyBGTfy+BM=";
+      ben = "sha256-FXgmuvSAY1R7d5PhveDJ+C1IQ0iPtcfgIVX2YqcI6GA=";
+      bod = "sha256-Vql4san2bCVfcUVEG6YHdXIWfhkluAV0R9r9n0Y5mGc=";
+      bos = "sha256-5J2i7uhl7cHYHW6izqvAvb638nW22Hj7O2R0emQjIOM=";
+      bul = "sha256-ygvSU7SrYgLbXoss7LxCGbT3JeUUaMq/W8mTOOLD3jM=";
+      cat = "sha256-Ka9nRn7Bsf/U0tl0jwIZ8iIJdLDlOmbscjTxdotD/E0=";
+      ceb = "sha256-wSEDsspJiHLcctcemjMAZjU6zSx1is4dP1nBTa4lNrw=";
+      ces = "sha256-YMWOzZeHWkHsyuSEai5L90yw5LwGbRvEMJGcdqGfs38=";
+      chi_sim = "sha256-MjrnTUov9J6TLbtNYoL+Dmfd+v2gdeyFgD7NB3IHRUw=";
+      chi_tra = "sha256-d01Wa9CzbktsB0Fd+ltrV/6yV1sfXyMdf+AaUtrF3Q4=";
+      chr = "sha256-i7IPinjjGkgC+p8eB1y33o18LqxbezOUKm2Cq+B4Osw=";
+      cym = "sha256-B8jj1qE5cR3NtMkvkNGIAvbhXeOTMViNcT/nypJb3DQ=";
+      dan = "sha256-+VIag4GrGCO+CAj5M6m7jxFylopE45HjcLH+m02RPug=";
+      dan_frak = "sha256-cYNhenunY/WcHth+vItIhdoDqbuiuZ1GAK+sWP0osa8=";
+      deu = "sha256-y360Kn6XLOx++QT+gYJde1R8Rt9oTIFP2xGpMLE7yjo=";
+      deu_frak = "sha256-y7IA45RIXFtRXeIDljwqdsFL3vLPJYIZ7PK8rPbMk/g=";
+      dzo = "sha256-tR/wbc8wEjWfqoIcPSReTIofS2WuX2FOSrH/E2sEn7k=";
+      ell = "sha256-u+DtB1jGkEMRSxP8jwCkI0LGR/J741LAW0l44mU4DmQ=";
+      eng = "sha256-wFFcnx4MeeEGn8wFwrL2poQfteEILWldsWAzPBFU8G0=";
+      enm = "sha256-hliaWydvYxeD4DhyNkD/JAYIixdivVw+ftcHPnYPxoM=";
+      epo = "sha256-xCTSmiNBRpNT//JfRmtn3jkEFWvBUXwqG6OzVUuBtPg=";
+      equ = "sha256-OvQ6JCDOkn285oR01kRiWUcYmoLOauT9MhBjmRRoGds=";
+      est = "sha256-j6jyZJrjFok4lnlTzjrLwZ2MDgcCjARhwppJGDBFlIo=";
+      eus = "sha256-3Jo0mQQMYA6sBwNiabvBauHlhFyrMuG2Jypwem5Nmgw=";
+      fas = "sha256-XUZC4yxm6UULypwM7SLK6TGINArP2MbKcX8C5he5wVQ=";
+      fin = "sha256-+DDGJfY1pjfLEaalZRJrGuEFwkrp/Xy5LI1RMMcYTPE=";
+      fra = "sha256-hq+yOtFGRn8mPoreVv05UbHMKPjE7rw0+ZPTwC2Ip6s=";
+      frk = "sha256-t0UWINMKPabRxryZiwiplt++USa4lh7mJuKMdMPJ1Zo=";
+      frm = "sha256-trW44scT9PZqr2+Vb7dh6oxlGLkq9MURpiozfj4c3wM=";
+      gle = "sha256-6n4lfOjP5yJ5UFoVTB1VyhBoeAS7/PdpRsLUYutEH9k=";
+      glg = "sha256-X5AhWWqOUwYWWhNCnNFtJ9UXYFZ0wV1p5XEwer2Ktjk=";
+      grc = "sha256-q9sWDD0MNCTjVPFUWRmL/KRw3EK2o5TKUh53hkcKIhM=";
+      guj = "sha256-VAUO0X64PQ4lihJ9kjCLA3zeNAKFgdfQ4qkDVzut6DY=";
+      hat = "sha256-aIsDZWV2q8ffaG9OT6y3h5j/Gd0NygECYgms1WmtIx0=";
+      heb = "sha256-T3koiv3pFi7ieEHw3pmeaQAizx470XI+NMqPGJxL6ps=";
+      hin = "sha256-bplFnb3MQL/sEydHvCMwVJFr7Z2gL4lWfJOIwy4v1u4=";
+      hrv = "sha256-w3oh7zZ4gBP3GpG6ZJ9K3EwP+O7Z6LKoqm2JHbtpOJc=";
+      hun = "sha256-pnBNLo2uYiQFlzQsM3Ns172DaojhiPx02wOOyHvj/6c=";
+      iku = "sha256-q4GeYBOPhDJQiLEZcxe14hAjLywQRrKeZB6TFALbPuw=";
+      ind = "sha256-NzjesAe6+fAbOmAYNQA/ccMU0blV+KdDY09vHsgiDYg=";
+      isl = "sha256-v2tsHHb4vLn3gNwXLYth02X6tDSxXoQnfc1s19B8dgA=";
+      ita = "sha256-Wk5ugm4CHQTzSUwr107Rr1l3tn/e3Os8mqMP9seks9M=";
+      ita_old = "sha256-P9C5+JRtoRTt7weyQv0RvGhoQjvBI+aZD+qG4oNfD6E=";
+      jav = "sha256-d/G12l/6oJZyTsNpmuTb/en4VE9LdLtcLJpCJu2XXro=";
+      jpn = "sha256-PDyVfLv7b+ZrOLRrwX+GFY39sWiKKijt5+4OyJH0qvI=";
+      kan = "sha256-bxsg1jOTODXA7K7OQuZMYf1pDsAQ0N9S24lDPkoiU0E=";
+      kat = "sha256-I9aIBop6SWlLEMh7cl44nJ3Mxm5w61KtNqztzU4BYJo=";
+      kat_old = "sha256-0GWX+Xp1f1Ghw2P0v3PSck3sntwdS8f/9vSi0Uo59Ak=";
+      kaz = "sha256-9WmAKI6bkL/rGSkXV9oLKT09UAYbCDE184qX/w83g0E=";
+      khm = "sha256-WoT8I+5T24WLygalGpoWZhlykZGO4J54+q7ghsu2Yr0=";
+      kir = "sha256-A0J7mgB7dK/OObXQJhtP5vZHbjZn3k6gwxhFjM2zMaw=";
+      kor = "sha256-+zEuvhGadnPKaMCp97nd0TpwT2RgndIvL9YGiJyRjeY=";
+      kur = "sha256-LIZeBRn+W4/eC24hhHRcnAbsluuT+xP7fsKYZ5q74rI=";
+      lao = "sha256-rr8gJe4exxsO5TKCWCjQ0tStp/t/Wb1TXuv2OlVXbQ0=";
+      lat = "sha256-Up/0i6rZ0QERaYnJj/MJRoYdO21LpkPFTMpebnM7++A=";
+      lav = "sha256-Tx8GN29JjQ2uEfsDIA7hJMYV3ISP7hwFr/kYe/j2vzs=";
+      lit = "sha256-FYpSd1cvBLufsHCjvACtOl/npeJYVsn5JIlmLOV7ADg=";
+      mal = "sha256-CnWrck61tl1tPtBfj/d+qfzyrKd/i3QR1qYOGyG9A8U=";
+      mar = "sha256-Mzbn1UBQf7btrpmJPlqphsPTZWKJFrszS+AM6kfBxys=";
+      mkd = "sha256-4/QQaE6Q3HNF7CbvuCZ227AfKx7kY++1/i1IkllTPOA=";
+      mlt = "sha256-EGgCdZh/8WtJQ3IdSa7LzUq56eNCDJ77oWGqpaDZ5OI=";
+      msa = "sha256-0vfS1XrxrIZocDBE9IDleMMf7QNx7aKTBiT/1Gc1FxE=";
+      mya = "sha256-VKDRg9eramczalBJKPPfibTJeB02CDJa3H8K0lbJ3p4=";
+      nep = "sha256-DMvPyc9L5a1XX2hdH2MXa3c+7np7snAt27VpMXI5g5Q=";
+      nld = "sha256-vYSTRehHb0e0DBcgT+9c9kKHJEwZudF+KX/+cPxcnLI=";
+      nor = "sha256-qZAmnz2BWtIG6g8nsU0H56C+DBcTNTl7wLRuoM3P2/o=";
+      ori = "sha256-TCliwoXMw8c14DHvMnGc84Vh12xcsD7LNxpy+xCbSjc=";
+      osd = "sha256-nPXVdvzEdWTxEmWEHlyoOQAefm84/396rPRtFalrAP8=";
+      pan = "sha256-e1UefVLiddjb3uUoAWrLIovwE7Ifz8dzM7m65ie/jbs=";
+      pol = "sha256-HSKSMZ0uPGXhXxn1W5Ycm0kmUfwXnzvNIZr/58FBv5Q=";
+      por = "sha256-CJ+0Gc170TUjYkTdmkuKQt/i7pfZe0ge/de5LJxjJKA=";
+      pus = "sha256-q4hOL9P/cir/tmGSfhjnULSQUucxy7BeosFu94O15cc=";
+      ron = "sha256-9PNhTUsAnusKtYFevvCA67p8Rws/gMn5ftbaDT9AmYY=";
+      rus = "sha256-GADcrwQ+lQByafBxaKEiWM2Lh79BN2nCtaPVRR5FyrQ=";
+      san = "sha256-b0ylBT8U4W2nDuO26w5VS4W9X9uO0+ya8ylZ/qQiLpk=";
+      sin = "sha256-9YU8Nu/e2xQhmMpokdCidz6in1THamCJM9I4k1F4IZA=";
+      slk = "sha256-ul0qugn1nhlSWDgl3XsOubpwYoPRwPk76Nc4G15eri8=";
+      slk_frak = "sha256-Hn8eWerSShNtwGJumAGVlKBC5iCHv8+PD92z4oO12H8=";
+      slv = "sha256-MFiE4VGgFCHoR6SjDwXpyJn879SDoS0uqODyBVNNVs4=";
+      spa = "sha256-8jmFmWu8/itXhkzLCCeDwcdMh0KfBEEaBKa6TT2i79o=";
+      spa_old = "sha256-XaOG/YRQhpbjrmPQo13Oe1JtW2aZSU/lOtZTh/bckXA=";
+      sqi = "sha256-rs21rvcLz/o6UAZ2kQ/eHStdY3hHlgmcP92Pig3cn5c=";
+      srp = "sha256-Nb/rPOFPWv64LJviSQ2zQXjA4T996AYQE6CDsWPGdBU=";
+      srp_latn = "sha256-mVvApX5lqdQgkhESLm3PCuMR7v526aFE0wgrYPDQSGs=";
+      swa = "sha256-jhCnJU532THt+MkzqYvls2q+H9IcMmbAZkHgRk+HnN8=";
+      swe = "sha256-KmQHu/GH6x/P0WM/rpq//NYiDnq3TgXmW/FkJqyPIFA=";
+      syr = "sha256-YD3JPEm4bP9OHcXcnA15D7/rj/ZM9rUhgeV6PgKNfSE=";
+      tam = "sha256-f7c0foBtVA74PrnEJt3iNmommjcPEf/+c5ILtfwsJbw=";
+      tel = "sha256-+0btVJoVYzve8ad2sjQxSkQzNOlnjPUVrtUsUhbLzTs=";
+      tgk = "sha256-QPOySbwYy3WHvDqvs4BDXROpTJVgOzGCP5L7mN0Z0jg=";
+      tgl = "sha256-55SvYHQmJpuzLu2y8gcG4nj7sA5KdcQ9xKe4yOIDOTg=";
+      tha = "sha256-ykpC1Egb0Dd80CcxtRScIov3Pot6YeRLmi1eJ0vhUPg=";
+      tir = "sha256-EKWKtn1ibgk5KOYCBW5ek/RsKT5fygI9UWygLKHP8fg=";
+      tur = "sha256-XLzOXvtms9oQoUOX+8OojYRXufG3JLnI2WRJsVLCFnc=";
+      uig = "sha256-uy+C97n4OqtNP62AYDF0q4TmaIkfnhbaHGPRX0Jurek=";
+      ukr = "sha256-L4ss0PC1uGEqS4CrzrqjrEb18DaJJmKbPP9Xa52VvDE=";
+      urd = "sha256-KDB7+JK4jDhWxMexkiE+qGh5np8MROXL5dpRoX+wrIM=";
+      uzb = "sha256-NJE0a17k3P25IUSimi8JB/IdHncrX/7KlqXrbWRpc8o=";
+      uzb_cyrl = "sha256-pSBiXV3h8Aia+DbABLLPvT/lpQhEAeTpaFjUl9FQsc0=";
+      vie = "sha256-zvXmN0fIbiG8u9MLtoOhsQT5gpO3SyqJF0hw1btEQck=";
+      yid = "sha256-zZm4mvPApL0hpD3UPxN+/96j3V0ZrVk+ALvUih5orck=";
+
     };
   };
 
   v4 = makeLanguages {
-    tessdataRev = "4.0.0";
-    tessdata = "1chw1ya5zf8aaj2ixr9x013x7vwwwjjmx6f2ag0d6i14lypygy28";
-    all = "0dqgkp369rcvq72yhgnzj1pj8yrv7kqzc7y6sqs7nzcq7l5qazlg";
+    tessdataRev = "4.1.0";
+    tessdata = "sha256-70bp4prs1zUbSzQmcqd7v736cyYWv8oNNbmZXypik5I=";
+    all = "sha256-hk+DjoVWf7RW9S+Gu9XUX8aWYYsL5dU5c6jLSKJp+MY=";
 
     # Run `./fetch-language-hashes <tessdataRev>` to generate these hashes
     languages = {
-      afr = "1a9f8pnrspfmcq9gpjnxn2kkhjlsmh912bnpx671fjizxpmiri2y";
-      amh = "0m1vdyxjx57kmf2qra0p31k509y1cqn4pyckzw00i5n3wx11d2j0";
-      ara = "0nswl6n0s94g900j5k1gwzp7m140c0yd9a2fdb2lzhdvg1krf190";
-      asm = "025d9vrjcrwyd6cc6hrw1x8xqhicgrb9wpvhhmlw71ql04dadslf";
-      aze = "01shcs78a6xn3my8p3y42x1c9f5hzfn83w2n2nwpffbgz4y2nsgf";
-      aze_cyrl = "1sbd89i5r7rnkjh2in8j0plrxnfiill9jl8pr68iw77ghih6q1vg";
-      bel = "0dhyymsxcyzwal8474q7ag3m2akv0b92hkdz7rka5z1cxry1cn8c";
-      ben = "0a7q9414k3frn37x2qcglz722ysg2iivj6kqaaa0ik7z14ibc8v0";
-      bod = "0rh7x54nlh6ir6ldccj8hi7g8hwlp13r3fkljw8gndvhwmgfkkar";
-      bos = "1szym4n605hlx12a9vpz4jjs76jscajh22rgkqwbv4qdsl0gi3nd";
-      bre = "070f4c84iznblsw4jkwpzh9dss8nfb678160szm5r8dlv2yinrrk";
-      bul = "03bg2yw79lg8rl43y9288313jrfh0h69vl4s4cmlgbmnbx8pvxwj";
-      cat = "19xs691aj8yy2ff07c3gzm07zicd5ha0gmcjxjh9pknqf2gfy7qv";
-      ceb = "1896vn41hqc4anm6hjvrnn022i0p8pmhwsp5rv9w2cvr6738l79r";
-      ces = "0fh2g47msfr91285rnccxcmcshihm126sqy496s4vrr0vk8ix1nf";
-      chi_sim = "0qxkvbpm5l7gzsshnn72wfx473pprf5nmw8hd4i4x2qxnfddh1gw";
-      chi_sim_vert = "1f75pzvxbda82vxa2zb1z9b9f13sh81kzaw45vg5118ncsklj8w7";
-      chi_tra = "056vjws1fir1v5iv44pzykkxs5q1dbb2j8blhj47i53w1zf6g42m";
-      chi_tra_vert = "10c9cdycg1a5kwlgg60sh8yp07w2fl4whinpxfhlzrzs56allql4";
-      chr = "19qq8a6c27973djsc4xpcklis92r58x21fg4mz5azdyka5i1n46l";
-      cos = "0z9kx1hw8h5n00pcahxla808wya50wrkk8cz7x676pd93ibyrlyx";
-      cym = "13pk9cpf43xxqbz3blfz2av2yd1ma6ds6jbdiqw8anhhj7l9ch2d";
-      dan = "1jirmahxvyyswhhyzhinvcqaycz7m3ixchqrj3lgfcdi3anvabr2";
-      dan_frak = "17wcgdqxmbzn7qchnx5gsa05aj4wmhbwk43w173bl3wr6h5ylmh0";
-      deu = "194rqsg4nlycca9bg2fqf15xgcl110rxp182l7dbjfjhar4knsw9";
-      deu_frak = "12hhhp32f15c7fw2jp05mwim9ps14kmamhh6vmalvm7r2033vbm7";
-      div = "09mm9r5hxhsc4qpyg10ym9mc2kdpawx8zk0aiv1xpgd35rzpyz41";
-      dzo = "1zk7crgcazgqy5zmslp6iw4jws07nja31qdxx0rpzhn3c0bjgw1b";
-      ell = "1hhym18a9411953j47xjk47jx9ij9xi2qwlx05c93zl41528nsqg";
-      eng = "0iy07z182lwhqfa0q288ha691scpsry330aynaizn68wcmywk86s";
-      enm = "1dhr1qvil38bil43wk5ci645sbm3my2y9y7qlcbnwz2p4pflayvm";
-      epo = "1jig4db7050vww32vxsqyig3j1b0vgz9ipxbsw0jpkjia84k44n9";
-      equ = "02qwg6s1z7pynwm0p6dvpwi04ivfkr1s7qgssbla1dx7v0ih6rlg";
-      est = "1jxygahy6by7fbirbmjmd68k6560q1a3h5mvpzdx15h5fw0q58gl";
-      eus = "0cai7nm7si8680avrrls8bf9ski980rvsj560fh9y6n9rz7mh9mp";
-      fao = "1n3434jf18bzakbylzyg3jaw2ad4h376g56dsql32bgh2yvyww8a";
-      fas = "17wjkfka9725rz32clgqgk9msmbz4axs59vz30jmhhxyrkliafqb";
-      fil = "0p713k8g27df9z384ns111xqxii5kq20m8brflsmd3yckw1mibhz";
-      fin = "1wc3y9nnm7rb2c2c5fkj7cv7jb27jlkb2bh0g8kaz57h6imfmb2g";
-      fra = "04qrfvi6irlaahh1pgn5azyfhbhavm12yyybza8603alf8firh7a";
-      frk = "05cqmxxxjqdl5hjyzi6dpmixnjpd6f3jr6741yapdmnxvkzxkiyp";
-      frm = "0a86yy6hd0lvlbzvnzjmyapzc0rn7mnkdadqycd65bw1b714cvy2";
-      fry = "0i84r8g9hlkr9nlhypl4lq6ncrhbcpskqkdcijgk88c2fdknh57h";
-      gla = "17idyhb505waz9dnb8dsk54faw7y0xvvb12yw71k0skq3i90akar";
-      gle = "1q87h5zzcva54pg364d3hl6q9hdlydlyj1qmq8n5k7hqk11msxmk";
-      glg = "01xssz1rhpy3a0sm4i43nba61wc2srz6wv327vdw1kg8ijm0s0g4";
-      grc = "00x0s3smx4wg5h12y2b9al0j2jk1y3f0yy2x6f2qf7ps831drgyl";
-      guj = "028v4fgn0zi2044vk6j2rlqklc9i0kj22s52vhifmx1g02kz9154";
-      hat = "1bca516pr2cnyjlwycc7pr6gfmdjb8565hp06pw9nwpr20ry0hss";
-      heb = "1qfkffjh29b21frs0mv6llsrchixl5kjkpj1if7fq816g9mym9kx";
-      hin = "1rkfam5c6qil2590lfffzndhq3bncdgf4ij0cyjcglgyljgx0xnc";
-      hrv = "0da7b6mk0rwc9zlbqkycwjpddp3qpy07l643i00ia5a1zq35fmgp";
-      hun = "0w2s4mn9p74zqzmp9hh2017zgsh5v43k4lid4pv29f4b0y5gj9xi";
-      hye = "0ifzm875wlbjh4vkpmj1n6f14m8i174413l6pc6i44y4p5fpgxrf";
-      iku = "19arnv82xbxhbcy8pf9fv1sl5zc5707mk34nh7w46dlz86qkidmn";
-      ind = "1d421hizwni4m6sr4f3nqqpr1g744hzn0krk130m7x8mhzgamba5";
-      isl = "1hjjw8k2r9qa990ziq5wxr36kyf16mnmrqfmq5vbcjprka9h08pq";
-      ita = "1qyrvlf7pjxzyb29sc7aq3gq61bww14sijka44scxggfw7134l3r";
-      ita_old = "1pf8461jbj0vpyry0b54crmkf2bk9mh4klxvmj09jvf0aq2vm9s6";
-      jav = "18vvbyimj0y462amjmwvqa6h9n8l122j9v0w3hfp63hlxpfprm0m";
-      jpn = "16hma9w32vdh41ihymp894jza72b0d235hwriv18r78j5n86nhbg";
-      jpn_vert = "0yca09l9sbpfjgb2slnpb9q7qd7vz3a1wb6bkln30d3nl0d9r1rn";
-      kan = "0lcmx37rjfxkbhhbrld1ndmkwkm9w9b3pzxhas0cv5dqsx2f84jd";
-      kat = "1b164bgwa7bbvw4177h8fxfh0fbh4bycfl9pkaa184dpjpaiqpia";
-      kat_old = "1mgff7sh93hdp3wh0ckikdggrdgf0syp75s39pickpbkp9ic41ai";
-      kaz = "0h37y0kb5lwsp5zpl7bvxg3ryqldl5hxfnardliwgyqgnag951vi";
-      khm = "0m7x1fynr18sid2kjjw8xa9ika0a0fc6a6hvc7ihizi47893hdfb";
-      kir = "09kxwqpqf6kxjii07qlqsiii83zk12rszp88xnzzjp8rjsnk78s3";
-      kor = "0nsr43fwrp9876ia1fc0zcviv2n8hw16n0wfh158vhygwglvy84m";
-      kor_vert = "1wmvdznmikk9fq7wdffvn22scxmcl26vjh26jhicqwxpc7kg4bh8";
-      kur = "0gbsf3ny3n5mgb30v54bz3crgnimdpg19jn633pbpzryzg3xhd25";
-      kur_ara = "1sbj0cczhi9q119fbzpi0m6zr9kjp3k76bv9w8szkv1wc5y4fng6";
-      lao = "1gvxlg8bw3a4c9izg3c2a2yl7q6rsy7z9y64axdw9a04pz2ndbl5";
-      lat = "0b7an3q3xrf9c55bhiqqh7l45ga88l0kwvkp1akmlr98piach3vr";
-      lav = "0fqsmy47cygamddxyjfrdgkfa9bvmrvf4csvppnkdvfzy6iiv0c2";
-      lit = "0wjgbkwc3bf5khdqali7ylnhhs4xvpx19m3zx2y9s27v2wjbb6kv";
-      ltz = "02zdxbniiqfl87fzsiaaqgldqfsv15z5hja1xhxnqpl0nds7shfc";
-      mal = "0a41ifz8i6lj2ywxjkwvymxzxahkz2cjv4apbrawdj1h42bn7frd";
-      mar = "00swhlh9bckvmlxanfmlw5j4n9qqhggl84bsq0827bmijsqwnl44";
-      mkd = "1bqfiwxlzfpz4fs4z5ci2wbv01qhrcayk1inmk3dxq7dsywx1ajg";
-      mlt = "1rmmga2aw88hr7q7cfr5cvhnsgnf1mi069d5k7z66zp4vzbl4zyz";
-      mon = "1jksvcavn9plsmjdmhg40mwq5rlvrd1b9gvghdjg7zkf6qqqynlh";
-      mri = "0jlfawx20s5clsnk82ndy3v2zidh4cfh4acrh8nindk21xmiwh5i";
-      msa = "0m7zs8anaa3l4z5f3xvbhs4syp41dp4all2yfpi1plyr0hy784an";
-      mya = "0hljm5haadlr4k5rhw4mvhkygcnrr709rvl7amz7av3nskmi8mb1";
-      nep = "1dhy0m2h6xfgwibf92iwxsn926dmrhfvkg9rafkdaqcr4pq6w563";
-      nld = "0bspf5bv1s7qzm6k4aqbpq91zvk4kxxhx5zv08w91xfsa1zpdxmi";
-      nor = "08majhc9m0fjvac50yq52ia2af9kscclimwkv403klnj4kgf8ndq";
-      oci = "1mzrw9gsdjrd1xj3zv7l5gzgjq5jrygxf8cfkz20d9lls0wj1xdv";
-      ori = "1sh42mjzb1hv6l6lljp3wifjmz7wrv818f9f16m8qjikwqxm0s78";
-      osd = "03mvfk1q1xp1klpf4bwna903rnp51bkqr3gl5hvxybvrc3l2m7z1";
-      pan = "0165kr94p6x5yxzs4p8sfppvg9cywp65ps0xaym5rqz9iashz32h";
-      pol = "0g0b71ms6ddgykmkna4mlavgzgmh9vj6s62fi8l4ja93nfpr37hp";
-      por = "132jbhzmcsq8skanm15bw2niyx9xpbrqr411wn7w9r5i3cvnlv01";
-      pus = "0iiglnkn478al11avigsav625pn7ifscycnxpj6fg8835vjww3xr";
-      que = "01vkmfi9idjwskv5pllmrxpil0v5h7f7rzv5viclxrzkmbvrz9b5";
-      ron = "0ag6vs0cn3sryavs1mfrallgdgi4h28114g7m61rhlhq0z484g0m";
-      rus = "1hippm3w5d73sh50r136x0xff2p6x128ry2x4fywf6xdpv1f46v8";
-      san = "1qlpqkr5c5wqcf1bvlipy72advqnvd4wm61vghmrj2sda8mx87sx";
-      sin = "097d2s4ma0zsq0ab5qs1ylgl9l5phw91fnpsvb7vjmz2mw3ic964";
-      slk = "0c97pp5iffhdzyma605x8q3rx1qq9pq2h6cai1kppaj92rz3ji9k";
-      slk_frak = "16ivsam1g18zlpw6pgidvzwb7h8rvw1s10nigs6yfwir8hjxsgki";
-      slv = "0644jlm55p0dg4zchgrashmbv36zb4x649ckmf2jkbss8bzx7wsf";
-      snd = "1i2mfi4414l3v9nznjy7959y2jcr8ymvf6w8zpyrw6nad4d1aak7";
-      spa = "15kwvr7cpcnlxm1ja1yyc022dmsd04gmk7h1p0df12aicsscn3qb";
-      spa_old = "1jq80c4mi3rmwnfhb3mbaaq0ci101mgbibkji9ala4l5dkcwjra3";
-      sqi = "19cvvixhz9906p4c9i2grpr386rbp5alp4fp14xm9nd81bmq4701";
-      srp = "1jd25n13h6vxsa3gzbj6q6mdh02rjl4qrd1bffr5psp33asqvw0l";
-      srp_latn = "1k7577mn3z0bm5ma9d8l14sn5wpvw50hq1nxwbc36yn3a5b3mhiz";
-      sun = "0lvlaw3jfvr7b5v09669kq8mm19jdsk9g5h09jsa2gr6fvsq11pa";
-      swa = "0qy9qc5pa1dzzqrh1z40gk845z1r4d2smywnzydknbb3n240lhz0";
-      swe = "1y56r7bgzw0pqkdylbah07r1f0v03sblkggiql8x5200rhaxvqi4";
-      syr = "1vfj5fsiv170jghryrxwyz0i9mdsaki1kglxrklkb2caal9kwy38";
-      tam = "0rhhdbnp0a2hpg00vpc0xyxcl2w36i1kn63mrvwx1f9q7m3y1fmf";
-      tat = "0a74rp8pyp4yivv2xcy2m8xgwch8scr3wmk1fzniwzf43fsrqp76";
-      tel = "0gcq8hxhxvilyh7x7kiikq07hllqysc8sfyr88gvpj4xi092h2bx";
-      tgk = "1458gk0k6gk49n8lr6fj7l7cwkhxn0lrhybzq10zl1ly7yzjhf67";
-      tgl = "12yscwckdy3l21mvsrj1021gxw2isjrg369r08rsf7lh96wn4wkn";
-      tha = "01f0j7gsc5slxaaql1gqbhk4wlwaxc29dlmfxwjzikxc46gjl0w8";
-      tir = "1q6w48b1jchv55713pq20inzjjdymh32fw8wxfaj1qi7bjqfb9fk";
-      ton = "06g60ga8rys8jaimqrvd4svh40qs1nz4bszdnf2hdv05ibryibdq";
-      tur = "0g9g1wvibp61qbriy8ys948yfkl88xk9g8f93bnq8w8dx029b6s8";
-      uig = "09sajx21lw3a3ph62dyqr10pjaq2mij10sdhkhvvjiydk34dn548";
-      ukr = "14q8ls8gkrg7c9pc6qzm6yf5ady3i3303vs1hz4d2idcl6yry334";
-      urd = "15vszhqraxqdcng1069p6i4xq3ck3904q207nkbap6dfpcpjig40";
-      uzb = "03hyw0vavmjirqs4wkd5r85g91w2avsyl14z624fhm3gc66pqg7n";
-      uzb_cyrl = "1433lrrp2lfgb1k0a4sc20b35b2jcl8f1z92vm2936y7w04xpaq7";
-      vie = "02k40d3wji74d1jgvkr3zrn9gpzlmp0lqhrrdmc48r2sgvnrnk8n";
-      yid = "0xnbvi04xv1qapqg72wa3bjwbw51pkdnyncjpjp37vn6dzh04l0z";
-      yor = "07w3aci52ng6i6nyp97q5zb2dqlj08w6im90y1h691qah1x44zlv";
+      afr = "sha256-XsQc6+0/SheO6dcuERKsmko4p7DdyvsSZtVdne1FLqk=";
+      amh = "sha256-QIoWQufDlggA/5P5SyxmwSdQZhgXqIyFq/OULrtvO1Q=";
+      ara = "sha256-IAWXZ3i7wU/Fak6o1DxggIR67ucvzCIBSI8kDayhXFs=";
+      asm = "sha256-juqmGgEUh8NphXBfnlZ+LELcUQ88Q8OYaZ5nJvNOrQg=";
+      aze = "sha256-7mkrPPlvOXe5FVbwgaz7sLjEQhfEj4t8HbYbhY5mUAc=";
+      aze_cyrl = "sha256-bwdsYITvHB6RyRdRmSiN0dme6QUS2SignDafXGJCbek=";
+      bel = "sha256-DFkWfO4s/KJmPr9NKNICeypRx1MHk0MQVfx71nX1HjY=";
+      ben = "sha256-YCO2Ign/zAiUUngauWMUT3shzqePYdHPsNmNSQJJ+Cg=";
+      bod = "sha256-Wc3pXuVwN/sQl3S6kUe4lEP0ToRIMtaoydFAaknpB2Y=";
+      bos = "sha256-zY74ANUNk704ni8LAaViWpqjpST/7qRE6BQWYCyp/us=";
+      bre = "sha256-M2cbvdi0oVzq18AEdMxyFmndEvyXT0m4psv+SBAjDhw=";
+      bul = "sha256-kvd9UV+2rkcrI5rQnQwE0GU5wkBIJD8IzejRdLgXbw0=";
+      cat = "sha256-Gx/vnnDYzpug7JLVBxQsjcV/QP1vsAOcE94jqUIyuqc=";
+      ceb = "sha256-OR2KxjF5M8HTzuVqDutFF0QhgLV5S2iqVYRhGIjdJqE=";
+      ces = "sha256-zoYe0dwg5020ScRjbUSoMELNKuuM2VyQCCk7XQ95Ajo=";
+      chi_sim = "sha256-/AXYmrMdi04iaRDxaovL945DuuPiWAu1/u/QUu/as2M=";
+      chi_sim_vert = "sha256-hyNJp2YWhVDeLoSrPwOCegSXVvphfaH6Fki11fe/5bg=";
+      chi_tra = "sha256-VZBn3A98lHiIhHQhKdZqARfd5/T/ErJj2SFHFzSX2xQ=";
+      chi_tra_vert = "sha256-hGJKlSn650+h69dGyAl1gh9wPYIamPcon0WFx3xjiYE=";
+      chr = "sha256-1BAbYlHTt6/Kr+S5IDoqWSQd6WS3E6ZlGycdwYxCGKc=";
+      cos = "sha256-3dPsVxypXXNMP5+hOTMHRXmOAFK0Q8UuALZAxGHoM30=";
+      cym = "sha256-TUCW6JEQWoU4jm1Jo5tRNTQvthLf0TX+wr0P4i5L844=";
+      dan = "sha256-Ii+1rRqxMffokBlD1uOo5zOvMNs2wu8h5Nr73aGqOco=";
+      dan_frak = "sha256-AFbqCzSZD7rGCXyQyResnEhVgNKvdAsZPvav2nF7jJ8=";
+      deu = "sha256-iWs7SVZQOrnaoQKF2zMIgbLXS3DYibeSYsxTS57GmaQ=";
+      deu_frak = "sha256-p649BhD51E1V3QbCquokQd9UI68FXCm4O6wEJ8aFEIo=";
+      div = "sha256-gXx/fy6jvdvDjgrMjzpXt03BaqoehOcvJkzDDktOtSY=";
+      dzo = "sha256-K/AnF2DDwn8z6L3hMJS0B2guCY/mUl1/8fh9xV5mZ/4=";
+      ell = "sha256-D2uLRAmE/pFYAZ1yLGJPMqYuD5myHyJHSSGQpFCoHsI=";
+      eng = "sha256-2qDJfWUcGfujsl6BMXzWl+mQjIIICQyUw5BTgcI/wEc=";
+      enm = "sha256-dXtF3SVXfG4Xo/j45IWvoy5diImsTD4IjQsNGjcOGbY=";
+      epo = "sha256-yRIyCVJRzisB16vfmP7bYAU5XvRY9y0G5xsUcFYjL8o=";
+      equ = "sha256-j2YDI9int6Do0vrho0OebkcCIr+7mQsqt/6eH7R5HAs=";
+      est = "sha256-9KGCAXcFltDbv7sWOFTAwBQzkWlV1pXjcscv46F6vss=";
+      eus = "sha256-tyZYz8/JGp+gA6ZIvTNAKU6d3EKa5rwVQAZFfao9UTE=";
+      fao = "sha256-CnHutxfwLTEo1s2UZ86ApCnBlRzPf+rXVH+h4CQZZNg=";
+      fas = "sha256-CzsV6cy+Q1glGH+norsif1Vd03z4USbGz0WcpKabkp8=";
+      fil = "sha256-H65YA5/Mj1Y1dXmhCgSeJcaOewhBW4LGT64d8dAc4Vw=";
+      fin = "sha256-T6zqajTwlK8megAusSaVRyx5NjtyusIEEyufam3yg/E=";
+      fra = "sha256-6sAcHXJUDWCQ+st7L0LdCi7o/FfFvhsgVIrmaOJ2GRM=";
+      frk = "sha256-18fZ/9zd1naVD+SYLIcz7UrbY73NxO8lLLRh2XuvmBU=";
+      frm = "sha256-wm9GwlmBr2Ia87ipNm09NgP2r/JVfrv/opuCBo33Bik=";
+      fry = "sha256-8BRoZ3OCITSfjKxNPPVlC2ZmDaaEXg+pTXlSmB7KBEU=";
+      gla = "sha256-WU0FUhx4ajDD4V6EtXcH/nDlSJm6oWVb+ooXUBb0LZ4=";
+      gle = "sha256-s3ZdQ5gYnlkswhUH6WnztMGEDYWjETPeJUVt9n+BB+E=";
+      glg = "sha256-5AENqozozcDbPmJsbn7WgvFg1LKDRFI1UMNfmMPXugc=";
+      grc = "sha256-1L/cwkD6HoeFM114D9zwYUohAVVpCS8CLI+TXvXQoAM=";
+      guj = "sha256-pIT0pwAv9Ooi3KJoIeQEMTE6Mc1CmrkJASJ+YJ8jGwk=";
+      hat = "sha256-WkPgMxD5cpv4NeDCYgpaslX3TL6HMc+p9JaJfE0oiq0=";
+      heb = "sha256-fabqa3omIOyOi0HeKWehPUKWNaVmV6CzC2IlAaVz0+E=";
+      hin = "sha256-zHbQn6T+0cekZ0BG4l5jdg0Mm/3OOQpSETRiw0pVbuY=";
+      hrv = "sha256-91VXBv5BFRUBiIMYeoC/eNzWruTMT7zoT4xnMKtZRzU=";
+      hun = "sha256-sSf5igeLuCT2JS1SMgfZBer3TwACwnTrx5+cm2wlWnA=";
+      hye = "sha256-Lvd3XbnEExINu4aOQMgJEVUSnLFB1js3gXJRXg6q30U=";
+      iku = "sha256-trY4sUGfNkP4gZaMWQ84hf1CddguuYs8W7CvLtC2WaU=";
+      ind = "sha256-Ra2q3ocV9VPBCDNPYD8k5LyQL8Z2OJK1qSRa/iMMgrQ=";
+      isl = "sha256-+CIAk5r5SrZ2wdXhXG01wflpRu684PhBSgqnLCbiUsI=";
+      ita = "sha256-T3R2xhExK+uPjhgoiNoI6mQtmCSuRALMYjX2GrFAZAY=";
+      ita_old = "sha256-Rqe6BVbAbZmArLvTSWBNcwk3a2akLOCzvxvIJYMhyN0=";
+      jav = "sha256-FdR83e0UDnMdHBzsJIUIFNkEjcKbV1mVMMQDWaNfe6M=";
+      jpn = "sha256-b0FrkC0SnYzCjpnDMkQDSxz1JUnoVg9jILBtMXhSFZo=";
+      jpn_vert = "sha256-NoecGqB2NDAsncssHtT4+zR8cFrXUi3Wk+4unWgCink=";
+      kan = "sha256-TRLkRNe4lc2AVrD/O1biqU4+a7Oh0bwgXLM7mc/olVE=";
+      kat = "sha256-Kl4c1ZW3ERSUmjdRx/wicDkAXXcInhMI32sdxd8iJqw=";
+      kat_old = "sha256-UQXCYrpz3cniTUOXc70G7rX8XptxMgD5uA2OBPVx7tU=";
+      kaz = "sha256-cYeSnrIP+8cjbVlZ12GhjWKfx+t7HXp/uZrTsibwZ0A=";
+      khm = "sha256-yzU4Ejok/gjjYRsaZZgDCqgZk+qISzlFixqFbL0L/VQ=";
+      kir = "sha256-Q6MzrZYZXfm/7Qjdr7MI8w8UY9SY4gNilH0ahy/mfSY=";
+      kmr = "sha256-5llHfGE87Pk14mkvc+a4cqb8TQXx/uVSCDhF+BkDcuk=";
+      kor = "sha256-lSC/6ePPw41KgI4DawKHyIodN/uAuaCiOSjdzN0gWVs=";
+      kor_vert = "sha256-CC7y5mG3c8wilEZAuY2grHamhbDbucYPdmnOWO1vu/I=";
+      lao = "sha256-ha5mxb8EqMRbV8T49I/X2eBDvVCCjfdjYkQNvtCjfb8=";
+      lat = "sha256-eQ/IVLwoZVqnCnduPgFFSL1C6IEYR7hKYcnlPvCw6iw=";
+      lav = "sha256-goEdo/Hf7TbtvVsz4naueyXl5mvZSd9bq+p5doivGjs=";
+      lit = "sha256-e5q1JBf7CJ286H/UFPrdnWgILfUnUoUbnMWtwfhcT3I=";
+      ltz = "sha256-zEF9dLOAXmw77EFJWH4JWzvc6MNKRf3dQdThGO3q7Qs=";
+      mal = "sha256-LbtjlyAwyMZVXleRLZn4E6r+e/WbT9m5F5KaiL6LgSg=";
+      mar = "sha256-hFDLsZaxriMQwHoRRN+DGCdLZOG0Oqs6rXuylSCFXAM=";
+      mkd = "sha256-T6rQudft4N7GrDaG6RXLEAewFxeRlU+0I/+6TzuPDq8=";
+      mlt = "sha256-339C19/kfmP+maUlA2INzj5t4WYlO3bwyRAhroR6teY=";
+      mon = "sha256-kFqPMTZu/vNkg2+/tELLm+aCeQXkwdpk1fQmuxXbeso=";
+      mri = "sha256-sUAeaw9iNhstgpkpAh0jsMUv9vDNCjStpqxoIDpXjko=";
+      msa = "sha256-VhF0PATZ0xvidV5QqshtgVyviYZr9+HKJ3QoZRXS/1Q=";
+      mya = "sha256-YVUU69R2bHV+VYfunMDJ2bLnJ9yVcJjLJJk2pWCpkkI=";
+      nep = "sha256-wxRu8CWZYdWmUzm9uR3MtRmRrO48iuRW5M91A0UFHrY=";
+      nld = "sha256-sfZ2f1Da9ZA4AvuXDnufZO4fEr4LKzJN/fjosFdxVy8=";
+      nor = "sha256-uFnk3iTS0jkA2ZPXSBnTMzklVBQFe1CY2tKBmhiUqiI=";
+      oci = "sha256-u/UgOdCUpgbEn44h15/PsmD5/iv07D9kDy3Lpl/i+dc=";
+      ori = "sha256-6GhQO+YzSoyqCS45FNDO/PwqXeTjSkoNNRuG9WUVBOo=";
+      osd = "sha256-4Z8q6GB5L983LPSNjOcK5do8QFKWL+IuneH2gMN0uw4=";
+      pan = "sha256-UIwPtYrp41yqVx3oW8zlnqW373UaXaJ/96WbS1KexQQ=";
+      pol = "sha256-F56Rr7MjKUkoik4YbeROsL7/tqKVKDvr9K81o2s4Czw=";
+      por = "sha256-AWxqNxux5MSP5SGQjPO6PXUfreCrhGrV1AhrVj9cUow=";
+      pus = "sha256-uQ/O5S4DoeeMvN0yz7SLx94izFb6xa1CoAodYqelL0Y=";
+      que = "sha256-ZaWf96rz505Z3GX/fNyBZQMab8+V0lv21Fy2mKKrcwc=";
+      ron = "sha256-FTyCyAcYUpiDqeeREJCAJL72KFXZ1aC38lkPy4De5ik=";
+      rus = "sha256-aBviwr6tG8e9I134jETo5grnOuhmhAwK1OO0wke9N8I=";
+      san = "sha256-XR/UK1JNC5krfDuYyknbFu+mxPE30r2CY5gXVvLEl+I=";
+      sin = "sha256-xCQWB6/iV7nP2vpaFxKHt9BEH/VB47IUwPoDVYkW7SQ=";
+      slk = "sha256-M0U5fhZJqntniIoZKPBNGIeeB0a9AKOq/w06F8u9JzE=";
+      slk_frak = "sha256-cT7dJUQ5cueNftGCoAPfGcGz+N8tvmv4pR+FF6rSO5o=";
+      slv = "sha256-TvPT/0JarymFq5MlYjpZ34y9KtQqP8g+eQ3cUiqVhBg=";
+      snd = "sha256-ZyoVGmnKGp79/Ygbt6tHmUnhU0nHS/tt2oOSQEh0VcQ=";
+      spa = "sha256-Cw/LtGZRieAauAGeWR8BTdcmBGDeByVD7dSyy07efJY=";
+      spa_old = "sha256-Q2XJ2WyFEkVVinKuuF4NIEQGsFKrjgWd5TWPWAkDCMs=";
+      sqi = "sha256-ARyC6wqo2VQ7CdeRS1W5Kxs08s1PxMTINSClD3vcm6U=";
+      srp = "sha256-FPCNtRrj6luycyu0jAmVWQDYqsFGrv+G0n0bOIItosk=";
+      srp_latn = "sha256-P8I6VlHDejPY4t0GDEHh+/JiNQkUtaRqqQv8Yes55cw=";
+      sun = "sha256-6oaA9XYmP6G0TACWl6ZuMoVaEZ7JmAR2WSdvJwdXdFM=";
+      swa = "sha256-4EMKiLBjLTub/5b7qkUjOfxC0HyA/AAz/r8FdQvDyWM=";
+      swe = "sha256-JOLdFcwAiNIRxfG9SZceYAMX8gFQLerbxBfw/9bJpvg=";
+      syr = "sha256-aHg+E1WKiTXpzJ2+GeJUutUUwfe8Z5/hk+CEHbUr0u0=";
+      tam = "sha256-rrrgRz04udD5znUYO0M0gwvKuu+A3Q3Au1AocO1qEGY=";
+      tat = "sha256-5lyctRvEfR7td2FWPjLTCDL+OqrCsy72jp5cf9HN5Cg=";
+      tel = "sha256-fQkoEoidyLsfQtk7jZj2mFJ4AJ4xztMP9DTuDjtEmD0=";
+      tgk = "sha256-xzgovz+eBvpBwH95mCmwHU7ODj3SmUyRTWQ+M8F8qJA=";
+      tgl = "sha256-dnJiuUmQHqczAjmZ8bLUUfD+ggBBZr1rEHT4Nhln2os=";
+      tha = "sha256-iAMqnyGsz/gl767SlgTrilNOJlz4BYqV6lQXpt+RwAU=";
+      tir = "sha256-06XlsFwn4iCV6xxxJwasvkn5bQQC3xFOKRsyGRYi3OA=";
+      ton = "sha256-uK3o84oF7AaFs+3rRb4NGgMCtyZtZ1yjkkj7jNQD5hk=";
+      tur = "sha256-SJuVBOgNcYTtGsmhl2ZHiE7nEUnaIx/zwsHcFTcPLz0=";
+      uig = "sha256-iBTbyJjNR7k3nLBpEGSsAit5QcjYN2HgHWpwGkSXSic=";
+      ukr = "sha256-ZAyfvaGsRdHIh0HvAcaIwzdVnDf1Y8NuYufl+ZCmCJM=";
+      urd = "sha256-gLwoL7uumavWtAcITEAakw3cSTQ3GRCeZQ13lTH8epc=";
+      uzb = "sha256-9jx8jWFvVOiIMJ8E6vVWgof0CsqlTU40zlHWrTbgHg4=";
+      uzb_cyrl = "sha256-B6vbCeDHm5FE3SL94BBlUqwyFhBMEwVmWM9RcXOmY5A=";
+      vie = "sha256-Fk2b7X5aZERYbTlDTMGt9N+XbP4jz/1kaOREyUcDZAo=";
+      yid = "sha256-H1AC4G/G7jOuvJJZb9u8ofDF5RqKi/PwVTjsTkDcy3Y=";
+      yor = "sha256-m35CeoAKh2Rg8CDVaDgCkuIm1i/4pOutieZZUSJTgx8=";
     };
   };
 }
diff --git a/pkgs/applications/graphics/tesseract/tesseract3.nix b/pkgs/applications/graphics/tesseract/tesseract3.nix
index 7b9669bc465..0e5f38ae791 100644
--- a/pkgs/applications/graphics/tesseract/tesseract3.nix
+++ b/pkgs/applications/graphics/tesseract/tesseract3.nix
@@ -9,13 +9,24 @@ stdenv.mkDerivation rec {
     owner = "tesseract-ocr";
     repo = "tesseract";
     rev = version;
-    sha256 = "11wrpcfl118wxsv2c3w2scznwb48c4547qml42s2bpdz079g8y30";
+    hash = "sha256-YHj00gG/3SW0ILTiQwphiCxuP9OCDya27hyFQB27mYc=";
   };
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkg-config autoreconfHook ];
-  buildInputs = [ leptonica libpng libtiff icu pango opencl-headers ];
+  nativeBuildInputs = [
+    pkg-config
+    autoreconfHook
+  ];
+
+  buildInputs = [
+    leptonica
+    libpng
+    libtiff
+    icu
+    pango
+    opencl-headers
+  ];
 
   LIBLEPT_HEADERSDIR = "${leptonica}/include";
 
diff --git a/pkgs/applications/graphics/tesseract/tesseract4.nix b/pkgs/applications/graphics/tesseract/tesseract4.nix
index f78220d2f40..d1f936fab07 100644
--- a/pkgs/applications/graphics/tesseract/tesseract4.nix
+++ b/pkgs/applications/graphics/tesseract/tesseract4.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     owner = "tesseract-ocr";
     repo = "tesseract";
     rev = version;
-    sha256 = "1ca27zbjpx35nxh9fha410z3jskwyj06i5hqiqdc08s2d7kdivwn";
+    hash = "sha256-lu/Y5mlCI8AajhiWaID0fGo5PghEQZdgt2X0K9c/QrE=";
   };
 
   patches = [
@@ -26,8 +26,20 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkg-config autoreconfHook autoconf-archive ];
-  buildInputs = [ leptonica libpng libtiff icu pango opencl-headers ];
+  nativeBuildInputs = [
+    pkg-config
+    autoreconfHook
+    autoconf-archive
+  ];
+
+  buildInputs = [
+    leptonica
+    libpng
+    libtiff
+    icu
+    pango
+    opencl-headers
+  ];
 
   meta = {
     description = "OCR engine";
diff --git a/pkgs/applications/graphics/tesseract/tesseract5.nix b/pkgs/applications/graphics/tesseract/tesseract5.nix
new file mode 100644
index 00000000000..dd4d6cb2791
--- /dev/null
+++ b/pkgs/applications/graphics/tesseract/tesseract5.nix
@@ -0,0 +1,39 @@
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, autoconf-archive, pkg-config
+, leptonica, libpng, libtiff, icu, pango, opencl-headers, fetchpatch }:
+
+stdenv.mkDerivation rec {
+  pname = "tesseract";
+  version = "5.1.0";
+
+  src = fetchFromGitHub {
+    owner = "tesseract-ocr";
+    repo = "tesseract";
+    rev = version;
+    sha256 = "sha256-B1x3wxr9Sn2rsG8AHncPTEErhDo7YtpDRxfW9ZOPWoU=";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [
+    pkg-config
+    autoreconfHook
+    autoconf-archive
+  ];
+
+  buildInputs = [
+    leptonica
+    libpng
+    libtiff
+    icu
+    pango
+    opencl-headers
+  ];
+
+  meta = {
+    description = "OCR engine";
+    homepage = "https://github.com/tesseract-ocr/tesseract";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ anselmschueler ];
+    platforms = with lib.platforms; linux ++ darwin;
+  };
+}
diff --git a/pkgs/applications/graphics/tesseract/wrapper.nix b/pkgs/applications/graphics/tesseract/wrapper.nix
index 1dfc4393c46..59686e3251f 100644
--- a/pkgs/applications/graphics/tesseract/wrapper.nix
+++ b/pkgs/applications/graphics/tesseract/wrapper.nix
@@ -1,4 +1,5 @@
 { lib, makeWrapper, tesseractBase, languages
+, runCommand, imagemagick
 
 # A list of languages like [ "eng" "spa" … ] or `null` for all available languages
 , enableLanguages ? null
@@ -12,8 +13,6 @@
 }:
 
 let
-  passthru = { inherit tesseractBase languages tessdata; };
-
   tesseractWithData = tesseractBase.overrideAttrs (_: {
     inherit tesseractBase tessdata;
 
@@ -47,9 +46,36 @@ let
          exit 1
       fi
     '';
+
   });
 
-  tesseract = (if enableLanguages == [] then tesseractBase else tesseractWithData) // passthru;
+  passthru = { inherit tesseractBase languages tessdata; };
+
+  # Only run test when all languages are available
+  test = lib.optionalAttrs (enableLanguages == null) {
+    tests.default = runCommand "tesseract-test-ocr" {
+      buildInputs = [
+        tesseractWithData
+        imagemagick
+      ];
+    } ''
+      text="hello nix"
+
+      convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 \
+        -fill black -annotate +5+20 "$text" /tmp/test-img.png 2>/dev/null
+      ocrResult=$(tesseract /tmp/test-img.png - | tr -d "\f")
+
+      if [[ $ocrResult != $text ]]; then
+        echo "OCR test failed"
+        echo "expected: '$text'"
+        echo "actual: '$ocrResult'"
+        exit 1
+      fi
+      touch $out
+    '';
+  };
+
+  tesseract = (if enableLanguages == [] then tesseractBase else tesseractWithData) // passthru // test;
 in
   if enableLanguagesHash == null then
     tesseract
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index d8838587d76..c390e004c8c 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -86,6 +86,7 @@ let
       dragon = callPackage ./dragon.nix {};
       elisa = callPackage ./elisa.nix {};
       eventviews = callPackage ./eventviews.nix {};
+      falkon = callPackage ./falkon.nix {};
       ffmpegthumbs = callPackage ./ffmpegthumbs.nix { };
       filelight = callPackage ./filelight.nix {};
       granatier = callPackage ./granatier.nix {};
@@ -97,7 +98,7 @@ let
       kaccounts-providers = callPackage ./kaccounts-providers.nix {};
       kaddressbook = callPackage ./kaddressbook.nix {};
       kalarm = callPackage ./kalarm.nix {};
-      kalarmcal = callPackage ./kalarmcal.nix {};
+      kalendar = callPackage ./kalendar.nix {};
       kalzium = callPackage ./kalzium.nix {};
       kamoso = callPackage ./kamoso.nix {};
       kapman = callPackage ./kapman.nix {};
@@ -153,6 +154,7 @@ let
       kmime = callPackage ./kmime.nix {};
       kmines = callPackage ./kmines.nix {};
       kmix = callPackage ./kmix.nix {};
+      kmousetool = callPackage ./kmousetool.nix {};
       kmplot = callPackage ./kmplot.nix {};
       knavalbattle = callPackage ./knavalbattle.nix {};
       knetwalk = callPackage ./knetwalk.nix {};
@@ -219,6 +221,7 @@ let
       print-manager = callPackage ./print-manager.nix {};
       rocs = callPackage ./rocs.nix {};
       skanlite = callPackage ./skanlite.nix {};
+      skanpage = callPackage ./skanpage.nix {};
       spectacle = callPackage ./spectacle.nix {};
       yakuake = callPackage ./yakuake.nix {};
       zanshin = callPackage ./zanshin.nix {};
diff --git a/pkgs/applications/networking/browsers/falkon/default.nix b/pkgs/applications/kde/falkon.nix
index 6b525fbca9f..94cf6f5cfd2 100644
--- a/pkgs/applications/networking/browsers/falkon/default.nix
+++ b/pkgs/applications/kde/falkon.nix
@@ -1,21 +1,13 @@
 { stdenv, mkDerivation, lib, fetchFromGitHub, fetchpatch
-, cmake, extra-cmake-modules, pkg-config, qmake
+, cmake, extra-cmake-modules, pkg-config
 , libpthreadstubs, libxcb, libXdmcp
 , qtsvg, qttools, qtwebengine, qtx11extras
 , qtwayland, wrapQtAppsHook
-, kwallet
+, kwallet, kpurpose, karchive, kio
 }:
 
 mkDerivation rec {
   pname = "falkon";
-  version = "3.2.0";
-
-  src = fetchFromGitHub {
-    owner  = "KDE";
-    repo   = "falkon";
-    rev    = "v${version}";
-    sha256 = "sha256-esi9YWd1PtQpDBhI1NtWEjZIoMoNUpAF+kQad67mLzE=";
-  };
 
   preConfigure = ''
     export NONBLOCK_JS_DIALOGS=true
@@ -27,21 +19,20 @@ mkDerivation rec {
   buildInputs = [
     libpthreadstubs libxcb libXdmcp
     qtsvg qttools qtwebengine qtx11extras
-    kwallet
+    kwallet kpurpose karchive kio
   ] ++ lib.optionals stdenv.isLinux [ qtwayland ];
 
   nativeBuildInputs = [
     cmake
     extra-cmake-modules
     pkg-config
-    qmake
     qttools
     wrapQtAppsHook
   ];
 
   meta = with lib; {
     description = "QtWebEngine based cross-platform web browser";
-    homepage    = "https://community.kde.org/Incubator/Projects/Falkon";
+    homepage    = "https://www.falkon.org";
     license     = licenses.gpl3;
     maintainers = with maintainers; [ peterhoeg ];
     platforms   = platforms.unix;
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index a24ef563f3e..28d0371cd8c 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/release-service/21.12.3/src -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/release-service/22.04.0/src -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/kaddressbook.nix b/pkgs/applications/kde/kaddressbook.nix
index 7a2a319c655..6080ad5db34 100644
--- a/pkgs/applications/kde/kaddressbook.nix
+++ b/pkgs/applications/kde/kaddressbook.nix
@@ -21,4 +21,8 @@ mkDerivation {
     kdbusaddons ki18n kontactinterface kparts kpimtextedit
     kxmlgui libkdepim libkleo mailcommon pimcommon prison qgpgme qtbase
   ];
+  postInstall = ''
+    # added as an include directory by cmake files and fails to compile if it's missing
+    mkdir -p "$out/include/KF5"
+  '';
 }
diff --git a/pkgs/applications/kde/kalarm.nix b/pkgs/applications/kde/kalarm.nix
index 87bc95a2494..b99098c56f9 100644
--- a/pkgs/applications/kde/kalarm.nix
+++ b/pkgs/applications/kde/kalarm.nix
@@ -7,7 +7,7 @@
   kio, knotifications, knotifyconfig, kservice, kwidgetsaddons,
   kwindowsystem, kxmlgui, phonon,
 
-  kimap, akonadi, akonadi-contacts, akonadi-mime, kalarmcal, kcalendarcore, kcalutils,
+  kimap, akonadi, akonadi-contacts, akonadi-mime, kcalendarcore, kcalutils,
   kholidays, kidentitymanagement, libkdepim, mailcommon, kmailtransport, kmime,
   pimcommon, kpimtextedit, messagelib,
 
@@ -31,7 +31,7 @@ mkDerivation {
     kio knotifications knotifyconfig kservice kwidgetsaddons kwindowsystem
     kxmlgui phonon
 
-    kimap akonadi akonadi-contacts akonadi-mime kalarmcal kcalendarcore
+    kimap akonadi akonadi-contacts akonadi-mime kcalendarcore
     kcalutils kholidays kidentitymanagement libkdepim mailcommon kmailtransport
     kmime pimcommon kpimtextedit messagelib
 
diff --git a/pkgs/applications/kde/kalarmcal.nix b/pkgs/applications/kde/kalarmcal.nix
deleted file mode 100644
index 9296fe024e9..00000000000
--- a/pkgs/applications/kde/kalarmcal.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-  mkDerivation, lib, kdepimTeam,
-  extra-cmake-modules, kdoctools,
-  akonadi, kcalendarcore, kholidays, kidentitymanagement,
-  kpimtextedit, kcalutils
-}:
-
-mkDerivation {
-  pname = "kalarmcal";
-  meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
-    maintainers = kdepimTeam;
-  };
-  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  propagatedBuildInputs = [
-    akonadi kcalendarcore kholidays kidentitymanagement kpimtextedit kcalutils
-  ];
-  outputs = [ "out" "dev" ];
-}
diff --git a/pkgs/applications/office/kalendar/default.nix b/pkgs/applications/kde/kalendar.nix
index 32cc2f5de57..a762d605a32 100644
--- a/pkgs/applications/office/kalendar/default.nix
+++ b/pkgs/applications/kde/kalendar.nix
@@ -39,15 +39,6 @@
 
 mkDerivation rec {
   pname = "kalendar";
-  version = "1.0.0";
-
-  src = fetchFromGitLab {
-    domain = "invent.kde.org";
-    owner = "pim";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-kjtLVU+8wbIa7R6J1XOjuvS3AnJNngxNBCx24Dy1QzM=";
-  };
 
   nativeBuildInputs = [
     cmake
@@ -95,7 +86,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "A calendar application using Akonadi to sync with external services (Nextcloud, GMail, ...)";
-    homepage = "https://invent.kde.org/pim/kalendar/";
+    homepage = "https://apps.kde.org/kalendar/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ chuangzhu ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/kde/kdegraphics-thumbnailers.nix b/pkgs/applications/kde/kdegraphics-thumbnailers.nix
index 10280be3c30..f0d9fea5d0e 100644
--- a/pkgs/applications/kde/kdegraphics-thumbnailers.nix
+++ b/pkgs/applications/kde/kdegraphics-thumbnailers.nix
@@ -1,6 +1,6 @@
 {
   mkDerivation, lib, fetchpatch,
-  extra-cmake-modules, karchive, kio, libkexiv2, libkdcraw
+  extra-cmake-modules, karchive, kio, libkexiv2, libkdcraw, kdegraphics-mobipocket
 }:
 
 mkDerivation {
@@ -10,5 +10,5 @@ mkDerivation {
     maintainers = [ lib.maintainers.ttuegel ];
   };
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ karchive kio libkexiv2 libkdcraw ];
+  buildInputs = [ karchive kio libkexiv2 libkdcraw kdegraphics-mobipocket ];
 }
diff --git a/pkgs/applications/kde/kdepim-addons.nix b/pkgs/applications/kde/kdepim-addons.nix
index 42532644a1a..2baf991f2fb 100644
--- a/pkgs/applications/kde/kdepim-addons.nix
+++ b/pkgs/applications/kde/kdepim-addons.nix
@@ -5,7 +5,7 @@
   incidenceeditor, kcalendarcore, kcalutils, kconfig, kdbusaddons, kdeclarative,
   kholidays, ki18n, kmime, ktexteditor, ktnef, libgravatar,
   libksieve, mailcommon, mailimporter, messagelib, poppler, prison, kpkpass,
-  kitinerary, kontactinterface
+  kitinerary, kontactinterface, kaddressbook, discount
 }:
 
 mkDerivation {
@@ -20,6 +20,6 @@ mkDerivation {
     incidenceeditor kcalendarcore kcalutils kconfig kdbusaddons kdeclarative
     kholidays ki18n kmime ktexteditor ktnef libgravatar
     libksieve mailcommon mailimporter messagelib poppler prison kpkpass
-    kitinerary kontactinterface
+    kitinerary kontactinterface kaddressbook discount
   ];
 }
diff --git a/pkgs/applications/kde/kdepim-runtime/default.nix b/pkgs/applications/kde/kdepim-runtime/default.nix
index 16ec7ccd213..5c64d8826f6 100644
--- a/pkgs/applications/kde/kdepim-runtime/default.nix
+++ b/pkgs/applications/kde/kdepim-runtime/default.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules, kdoctools,
   shared-mime-info,
   akonadi, akonadi-calendar, akonadi-contacts, akonadi-mime, akonadi-notes,
-  kalarmcal, kcalutils, kcontacts, kdav, kidentitymanagement,
+  kholidays, kcalutils, kcontacts, kdav, kidentitymanagement,
   kimap, kldap, kmailtransport, kmbox, kmime, knotifications, knotifyconfig,
   pimcommon, libkgapi, libsecret,
   qca-qt5, qtkeychain, qtnetworkauth, qtspeech, qtwebengine, qtxmlpatterns,
@@ -18,7 +18,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules kdoctools shared-mime-info ];
   buildInputs = [
     akonadi akonadi-calendar akonadi-contacts akonadi-mime akonadi-notes
-    kalarmcal kcalutils kcontacts kdav kidentitymanagement kimap
+    kholidays kcalutils kcontacts kdav kidentitymanagement kimap
     kldap kmailtransport kmbox kmime knotifications knotifyconfig qtwebengine
     pimcommon libkgapi libsecret
     qca-qt5 qtkeychain qtnetworkauth qtspeech qtxmlpatterns
diff --git a/pkgs/applications/kde/kmousetool.nix b/pkgs/applications/kde/kmousetool.nix
new file mode 100644
index 00000000000..fb4323455b7
--- /dev/null
+++ b/pkgs/applications/kde/kmousetool.nix
@@ -0,0 +1,35 @@
+{ mkDerivation
+, lib
+, extra-cmake-modules
+, kdoctools
+, ki18n
+, kiconthemes
+, knotifications
+, kxmlgui
+, kwindowsystem
+, phonon
+, libXtst
+, libXt
+}:
+
+mkDerivation {
+  pname = "kmousetool";
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [
+    ki18n
+    kiconthemes
+    knotifications
+    kxmlgui
+    kwindowsystem
+    phonon
+    libXtst
+    libXt
+  ];
+  meta = {
+    homepage = "https://github.com/KDE/kmousetool";
+    description = "Program that clicks the mouse for you";
+    license = with lib.licenses; [ gpl2 fdl12 ];
+    maintainers = [ lib.maintainers.jayesh-bhoot ];
+  };
+}
+
diff --git a/pkgs/applications/kde/picmi.nix b/pkgs/applications/kde/picmi.nix
index 205f1bd5d12..30ee9fa8436 100644
--- a/pkgs/applications/kde/picmi.nix
+++ b/pkgs/applications/kde/picmi.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, fetchpatch
+{ mkDerivation, lib
 , libkdegames, extra-cmake-modules
 , kdeclarative, knewstuff
 }:
@@ -16,16 +16,6 @@ mkDerivation {
     platforms = platforms.linux;
   };
 
-  patches = [
-    # fix compile error due to usage of deprecated things
-    # probably can be removed with the next kde bump
-    (fetchpatch {
-      url = "https://invent.kde.org/games/picmi/-/commit/99639fb499fe35eb463621efca1c0e4ff2a52bad.patch";
-      revert = true;
-      sha256 = "sha256-rRhTvUB1Hpc3bLv9b5yIf/G7uJy2/OgBfXToZwV4jrg=";
-    })
-  ];
-
   nativeBuildInputs = [
     extra-cmake-modules
   ];
diff --git a/pkgs/applications/kde/pimcommon.nix b/pkgs/applications/kde/pimcommon.nix
index dff5e883cb5..40153af70e8 100644
--- a/pkgs/applications/kde/pimcommon.nix
+++ b/pkgs/applications/kde/pimcommon.nix
@@ -16,11 +16,11 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     akonadi-mime grantlee karchive kcmutils kcodecs kcompletion kconfigwidgets
-    kdbusaddons kiconthemes kio kitemmodels kjobwidgets knewstuff kldap kpimtextedit
+    kdbusaddons kiconthemes kio kitemmodels kjobwidgets knewstuff kldap
     kpurpose kwallet kwindowsystem libkdepim qtwebengine
   ];
   propagatedBuildInputs = [
-    akonadi akonadi-contacts akonadi-search kconfig kcontacts kimap
+    akonadi akonadi-contacts akonadi-search kconfig kcontacts kimap kpimtextedit
   ];
   outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/applications/graphics/skanpage/default.nix b/pkgs/applications/kde/skanpage.nix
index 17a22880897..d06ff7746bb 100644
--- a/pkgs/applications/graphics/skanpage/default.nix
+++ b/pkgs/applications/kde/skanpage.nix
@@ -6,16 +6,11 @@
 , ktextwidgets
 , libksane
 , qtquickcontrols2
+, kpurpose
 }:
 
 mkDerivation rec {
   pname = "skanpage";
-  version = "1.0.0";
-
-  src = fetchurl {
-    url = "mirror://kde/stable/skanpage/${version}/${pname}-${version}.tar.xz";
-    hash = "sha256-kPVAG64oPkKF3ztHB4V7M2xc1AcvwiHnYpMMLMQNYGA=";
-  };
 
   nativeBuildInputs = [ extra-cmake-modules ];
 
@@ -24,13 +19,14 @@ mkDerivation rec {
     ktextwidgets
     libksane
     qtquickcontrols2
+    kpurpose
   ];
 
   meta = with lib; {
     description = "KDE utility to scan images and multi-page documents";
     homepage = "https://apps.kde.org/skanpage";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ samuelgrf ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index 3d5948c290d..2e5c70fb4c4 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -4,1843 +4,1859 @@
 
 {
   akonadi = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-21.12.3.tar.xz";
-      sha256 = "026srxk7da20vfhbj7jh8aip3sylpm61czwblj3wxxps0vbxxs2g";
-      name = "akonadi-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/akonadi-22.04.0.tar.xz";
+      sha256 = "1v4bpnd7335f6rf7sy7xv3pjgay28lf9cbhy6g63v1sv2vicrih7";
+      name = "akonadi-22.04.0.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-calendar-21.12.3.tar.xz";
-      sha256 = "0hzy6y9pxa06k0pp5yr84i0sv15qgzjn7nrlmsylm6iy7fspqqbq";
-      name = "akonadi-calendar-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/akonadi-calendar-22.04.0.tar.xz";
+      sha256 = "0pnr2bzw7kl2mj88d75alzrsrwanrc28z7jbkmi2wqbw9jz0icy1";
+      name = "akonadi-calendar-22.04.0.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-calendar-tools-21.12.3.tar.xz";
-      sha256 = "1idh6kf8h9158rgw3b5lld7z9mvvif00jrvpz891cziblvr19p4a";
-      name = "akonadi-calendar-tools-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/akonadi-calendar-tools-22.04.0.tar.xz";
+      sha256 = "1q727irnq0gi86ynp62wlmmd9zkpywcnfrazlv2zvp1gyfnlhira";
+      name = "akonadi-calendar-tools-22.04.0.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-contacts-21.12.3.tar.xz";
-      sha256 = "04ixj09s27q8pbmfrb1475bc0h84sb5ikfxzpc4i5b3whx40g9dm";
-      name = "akonadi-contacts-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/akonadi-contacts-22.04.0.tar.xz";
+      sha256 = "0yl8rj4sbcd8nc2fjk2xgyp5mr6y39d2qdb3ig3aklkl5czbg2ml";
+      name = "akonadi-contacts-22.04.0.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-import-wizard-21.12.3.tar.xz";
-      sha256 = "1fbxx53zdcqp98mzdx45ccncppnxqfhc7j9qwwxcik0ygrmg9wcj";
-      name = "akonadi-import-wizard-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/akonadi-import-wizard-22.04.0.tar.xz";
+      sha256 = "025sm93dm01msjlxsp8p364nqix9cpwy0zk86774w5lq0m7q3cmr";
+      name = "akonadi-import-wizard-22.04.0.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-mime-21.12.3.tar.xz";
-      sha256 = "1bcrbf5z9175p206cvm5s6zq882nb32cf9akdcbnadqiibrpxkxv";
-      name = "akonadi-mime-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/akonadi-mime-22.04.0.tar.xz";
+      sha256 = "0rr8zi8xczfbmy83ds7r3gv08s5cck5w3wyz3h42b96vr7wkxbri";
+      name = "akonadi-mime-22.04.0.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-notes-21.12.3.tar.xz";
-      sha256 = "0xkcw9izgxfzglciig2i4wiz6iflzjg0d6dp1nq6p1kwxwc899sb";
-      name = "akonadi-notes-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/akonadi-notes-22.04.0.tar.xz";
+      sha256 = "0w0d7m5q5n56772yhixdfzmijlvd5l490z59mhidvcxl72iz8ka1";
+      name = "akonadi-notes-22.04.0.tar.xz";
     };
   };
   akonadi-search = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-search-21.12.3.tar.xz";
-      sha256 = "1id6zzjxc9zvpz1ryj2zn1yff5ak04r1mlk9cklbj99frzf0wv6p";
-      name = "akonadi-search-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/akonadi-search-22.04.0.tar.xz";
+      sha256 = "1ra4vgmxghyi6j6v5nmw579ms4xiw4wcgqcm2gdq29cax7yaw5w2";
+      name = "akonadi-search-22.04.0.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/akonadiconsole-21.12.3.tar.xz";
-      sha256 = "1chb0ars9w05pq6ij2l8qfj1ac7pmzwg2mq1i4z8syhdklyryir1";
-      name = "akonadiconsole-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/akonadiconsole-22.04.0.tar.xz";
+      sha256 = "10x3dg83fvsjvv652gi4c3zn6cq0c86j1p00aajxr4ailk72f3l0";
+      name = "akonadiconsole-22.04.0.tar.xz";
     };
   };
   akregator = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/akregator-21.12.3.tar.xz";
-      sha256 = "1yy5c29zxpli4cddknmdvjkgii3j7pvw6lhwqfrqjc8jh83gm8f8";
-      name = "akregator-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/akregator-22.04.0.tar.xz";
+      sha256 = "12caw8ms5gzkda0ac8yx1swpsb0rqa01igqnfbn5l2z42mb511zi";
+      name = "akregator-22.04.0.tar.xz";
     };
   };
   analitza = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/analitza-21.12.3.tar.xz";
-      sha256 = "0rgims4c80nficibg3lh764csh0kjsfnf7h303kyfd9yk59xa3in";
-      name = "analitza-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/analitza-22.04.0.tar.xz";
+      sha256 = "0npi7x9x9s24jdzqjkrycxvjxnn43hbak5mjzrmifx98k1k3caqc";
+      name = "analitza-22.04.0.tar.xz";
     };
   };
   ark = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ark-21.12.3.tar.xz";
-      sha256 = "1p30bgnb3aw0f2jnaksz7jfqqcz45b2x3bjrri0w5w580204a5s8";
-      name = "ark-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ark-22.04.0.tar.xz";
+      sha256 = "1pjz0y0863daf4qcn9m1sf6z68a7f8asdald8vcgw0p2c5yln1yb";
+      name = "ark-22.04.0.tar.xz";
     };
   };
   artikulate = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/artikulate-21.12.3.tar.xz";
-      sha256 = "0fbgmd3yfyv1pzz24874a0v7cl4yk6wlfryn8sn21smi054wqz6z";
-      name = "artikulate-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/artikulate-22.04.0.tar.xz";
+      sha256 = "0ly407s60q8mi6li3n84hcpcxzdw0a55v6wnvr5ibnw6g6xxd01q";
+      name = "artikulate-22.04.0.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/audiocd-kio-21.12.3.tar.xz";
-      sha256 = "1alyn7w0v1by3fkb6xfnwj0hayjrrnmwnajnrnpvn8skbqsbzlgc";
-      name = "audiocd-kio-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/audiocd-kio-22.04.0.tar.xz";
+      sha256 = "103c1168g83jj6q4azyzc45766alci52r9y43p0068s3p57v94fr";
+      name = "audiocd-kio-22.04.0.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/baloo-widgets-21.12.3.tar.xz";
-      sha256 = "0cfcfmsgbaxi53a3r0f013lskm5yll7zaxw98nlj6r8fsq2slrhv";
-      name = "baloo-widgets-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/baloo-widgets-22.04.0.tar.xz";
+      sha256 = "0ngiwlnjmk2arclf2kbs97vkmz0rn34daxv3s1vvbjc19mb0g9iq";
+      name = "baloo-widgets-22.04.0.tar.xz";
     };
   };
   blinken = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/blinken-21.12.3.tar.xz";
-      sha256 = "1pbwb7q4p705k31kd62gira0x9qccjsn07d6h1w44wydc3lfdjnc";
-      name = "blinken-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/blinken-22.04.0.tar.xz";
+      sha256 = "18bbpp6n92i6fx6dk9s9cy3v9rnw8wnaiywamaal4xg2qk4dkj63";
+      name = "blinken-22.04.0.tar.xz";
     };
   };
   bomber = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/bomber-21.12.3.tar.xz";
-      sha256 = "1mlxs2dbsycq7mw9g1hl2l17gl0z33mrry5r0zmz74i67nfijg8w";
-      name = "bomber-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/bomber-22.04.0.tar.xz";
+      sha256 = "13rnxc4dmgspcacslgw8ikzzha7la0591nsnfwf0kjnqskh13kyz";
+      name = "bomber-22.04.0.tar.xz";
     };
   };
   bovo = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/bovo-21.12.3.tar.xz";
-      sha256 = "1jzvazqy5vcwkyhnbzw7sh8ngff5clclq98vbbhzd9dmnacirdbq";
-      name = "bovo-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/bovo-22.04.0.tar.xz";
+      sha256 = "0lv6zzsaan3wfj7l3gdc7ksh2lbhmkkaksgs20mrh2mhwd8xz0gn";
+      name = "bovo-22.04.0.tar.xz";
     };
   };
   calendarsupport = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/calendarsupport-21.12.3.tar.xz";
-      sha256 = "0annni037cp1ga2lj2gkjxlkygnaxna4fs095lbaqp5zljz3g8vp";
-      name = "calendarsupport-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/calendarsupport-22.04.0.tar.xz";
+      sha256 = "0hnsrmwy3422azd13v70gkfaj02gwd7h1q568qhyaipdfbwb3sjl";
+      name = "calendarsupport-22.04.0.tar.xz";
     };
   };
   cantor = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/cantor-21.12.3.tar.xz";
-      sha256 = "0v0xcgaz3rag044wmpiq8gs7pp6n7wcca0q1hzav7i651pgqjjks";
-      name = "cantor-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/cantor-22.04.0.tar.xz";
+      sha256 = "1rs7w6vzm8kir348j63jrhld888ivdl2i7vb27yh7lrdgiydlkmp";
+      name = "cantor-22.04.0.tar.xz";
     };
   };
   cervisia = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/cervisia-21.12.3.tar.xz";
-      sha256 = "106x0xrscc6xvgijmqy892r1hrirjh32nj8lqhc7g7dzjaa7lhsj";
-      name = "cervisia-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/cervisia-22.04.0.tar.xz";
+      sha256 = "02dgvvqag96fr2dhz50pa6g4v2mn7msviqzg8ih6sr30hv6qa9v9";
+      name = "cervisia-22.04.0.tar.xz";
     };
   };
   dolphin = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/dolphin-21.12.3.tar.xz";
-      sha256 = "0m5nqa8j0mcsrx9wxfcf8z39kxas51k03lschr721vm4x65j64jq";
-      name = "dolphin-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/dolphin-22.04.0.tar.xz";
+      sha256 = "007ilkgmg4wzqg1m0q9k8n60qf4jmln358jy1s443b5qsg8cvijq";
+      name = "dolphin-22.04.0.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/dolphin-plugins-21.12.3.tar.xz";
-      sha256 = "0rbz6fw98c71h10ry1xjc0pgzvphajmj18lnjm4hf7bbrizsmdb5";
-      name = "dolphin-plugins-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/dolphin-plugins-22.04.0.tar.xz";
+      sha256 = "0l41h8f21rnwx5a00mkr2dfkgp0wpgf5si2ygc725ryzr00jkl8w";
+      name = "dolphin-plugins-22.04.0.tar.xz";
     };
   };
   dragon = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/dragon-21.12.3.tar.xz";
-      sha256 = "09iwwlbv4jmxs92dz20z9fqg1sfnqih54izz8459ibl8vydfgfp1";
-      name = "dragon-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/dragon-22.04.0.tar.xz";
+      sha256 = "0haavk3igyfw9c4q3jc972q9h6ziwazpzfwjr0658n68qmqyg4lh";
+      name = "dragon-22.04.0.tar.xz";
     };
   };
   elisa = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/elisa-21.12.3.tar.xz";
-      sha256 = "0cg9v438fclqnv1rgx2k86mzfp5ggfcp7d5kr8xh4kjbmy17rzca";
-      name = "elisa-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/elisa-22.04.0.tar.xz";
+      sha256 = "0gm3llind6v6g4biy5mn7ks6pcr5vviasg1ksgvh51af5ah7kcxq";
+      name = "elisa-22.04.0.tar.xz";
     };
   };
   eventviews = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/eventviews-21.12.3.tar.xz";
-      sha256 = "01x9ccwspn1dwkmcxcr8p6pazj6w31pxhx0bzlfr6bgpccicp2w2";
-      name = "eventviews-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/eventviews-22.04.0.tar.xz";
+      sha256 = "1b9lk3xnjky9k04jcad1w3iynd57c3jfjzlz798qhz8pfvbkwd39";
+      name = "eventviews-22.04.0.tar.xz";
+    };
+  };
+  falkon = {
+    version = "22.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/release-service/22.04.0/src/falkon-22.04.0.tar.xz";
+      sha256 = "1vwgifx0g2ih23l0pvpfg46khyb69sa39mnvdap6hk0ayx6x4094";
+      name = "falkon-22.04.0.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ffmpegthumbs-21.12.3.tar.xz";
-      sha256 = "0x2gpx30azkz61p3xj1nm7hckyrmyh0qhs29ah30z6a5xw7336ws";
-      name = "ffmpegthumbs-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ffmpegthumbs-22.04.0.tar.xz";
+      sha256 = "1gp13sn95wq487fxpj3z928ppjcc4mblpwp627s8s1d5d1pmvjmn";
+      name = "ffmpegthumbs-22.04.0.tar.xz";
     };
   };
   filelight = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/filelight-21.12.3.tar.xz";
-      sha256 = "1w3q0l9p5ry2crwdzcyb1d4ms2y4gp3y0a3j5drpy8clmxn0gz18";
-      name = "filelight-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/filelight-22.04.0.tar.xz";
+      sha256 = "11z5wjl1f2a02vd6zvkiag65ysp8i4n6sdycam35r41jjx1sfks3";
+      name = "filelight-22.04.0.tar.xz";
     };
   };
   granatier = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/granatier-21.12.3.tar.xz";
-      sha256 = "16yriharl66frglmdy6750nixczh0l4c19nnr6dav15m8qfb3g6b";
-      name = "granatier-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/granatier-22.04.0.tar.xz";
+      sha256 = "18bjz42bqg65k9ddyn5170fq1yngw92q1j0fr09q2bn3gxqh5654";
+      name = "granatier-22.04.0.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/grantlee-editor-21.12.3.tar.xz";
-      sha256 = "00qy1ncgwylc995g051x5l679s16wjpcj7il62ck7d0j02rah0n2";
-      name = "grantlee-editor-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/grantlee-editor-22.04.0.tar.xz";
+      sha256 = "00ycnjh4dh4xqbf5nbmlqnmlzyv66shdhq2p5625x85bkdx7fvih";
+      name = "grantlee-editor-22.04.0.tar.xz";
     };
   };
   grantleetheme = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/grantleetheme-21.12.3.tar.xz";
-      sha256 = "1w83slbkj2y1wk78srq2k95ybs66sb4mbaa0zm7fl9pkwhqxbnb7";
-      name = "grantleetheme-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/grantleetheme-22.04.0.tar.xz";
+      sha256 = "1ldx62lw20qj8k04vrm1p4sfr2bv9qxv5cp8g225iw8wwhhmzx2q";
+      name = "grantleetheme-22.04.0.tar.xz";
     };
   };
   gwenview = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/gwenview-21.12.3.tar.xz";
-      sha256 = "0zbsyrwlwbc9zmdxcgk02dvcb0f8izhlcbbzqw8cgr4l2c90xl98";
-      name = "gwenview-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/gwenview-22.04.0.tar.xz";
+      sha256 = "01dbf8ij7wc2bxnjmd1a5ard0zv7sxqqzk36sn63hncci6b30s3k";
+      name = "gwenview-22.04.0.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/incidenceeditor-21.12.3.tar.xz";
-      sha256 = "1sbflfggpqhwhg3iw46462z3p83sjhlx6f1fvgz251m020vqq9xa";
-      name = "incidenceeditor-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/incidenceeditor-22.04.0.tar.xz";
+      sha256 = "19p9jyp6ygisvzsvcbzcwly22kyhxvmw6wsjnm7jaw3iwbr6276i";
+      name = "incidenceeditor-22.04.0.tar.xz";
     };
   };
   itinerary = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/itinerary-21.12.3.tar.xz";
-      sha256 = "0gvkhwnxichvpwrsb6wjiv5q80v8k2yqvgpvfdapxnd7sx6qp7fp";
-      name = "itinerary-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/itinerary-22.04.0.tar.xz";
+      sha256 = "0qa0rzm6anaiilmfiy714zvs6iy2h1mjjrc0f4n6qkfzmbzhls71";
+      name = "itinerary-22.04.0.tar.xz";
     };
   };
   juk = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/juk-21.12.3.tar.xz";
-      sha256 = "1ipzx031996h83f9w3fzbx5vf5nnskq9kf71a6aypqckk65vcqcs";
-      name = "juk-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/juk-22.04.0.tar.xz";
+      sha256 = "05sj9pj032havlp68zk8x2mri3i56aw2j14pvk7xk31iipvly5yx";
+      name = "juk-22.04.0.tar.xz";
     };
   };
   k3b = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/k3b-21.12.3.tar.xz";
-      sha256 = "0igqb6zw76j2hl9xclcwfny2831phdg9s2msa1y87zyc3c7g9nxc";
-      name = "k3b-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/k3b-22.04.0.tar.xz";
+      sha256 = "0135gck2fd4zghji2d6zk6nb8s8qa9pgf1v1ckmi8zygslgxfmjq";
+      name = "k3b-22.04.0.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kaccounts-integration-21.12.3.tar.xz";
-      sha256 = "13q4d7ln98vdpb6ryk49zakx5bysdnjxifi7cma10fgk9gcqqhpb";
-      name = "kaccounts-integration-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kaccounts-integration-22.04.0.tar.xz";
+      sha256 = "1f089p9i8wbldqy787iwir33ripkj9ac1p6wbgfr5knxqz0rfl9y";
+      name = "kaccounts-integration-22.04.0.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kaccounts-providers-21.12.3.tar.xz";
-      sha256 = "0kcyvpa0b872q7s4amagqcrzpl8cxlb91nwc9yg91wg56mmfv7m0";
-      name = "kaccounts-providers-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kaccounts-providers-22.04.0.tar.xz";
+      sha256 = "0d0fr8f3m1aj02mazcq8v4zy4jla4gd1f3xp06arwdr6zay5ayi9";
+      name = "kaccounts-providers-22.04.0.tar.xz";
     };
   };
   kaddressbook = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kaddressbook-21.12.3.tar.xz";
-      sha256 = "1hzq0fdy99l1kqw14d582l0s56gvrw86abihib6k4az4c6g3c0md";
-      name = "kaddressbook-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kaddressbook-22.04.0.tar.xz";
+      sha256 = "0va36dsa8yy35zi4rkvwdvm5ga45nwwyyh366nhzymm4ni6fwlf0";
+      name = "kaddressbook-22.04.0.tar.xz";
     };
   };
   kajongg = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kajongg-21.12.3.tar.xz";
-      sha256 = "1sffssfpzsd83ippkwpmqdx8rfh9cpd7i22nsv8asnaylylvy3zd";
-      name = "kajongg-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kajongg-22.04.0.tar.xz";
+      sha256 = "1k595k1vqd3fqw985193g7wf5pyl9d3ar4fwi79ai08xwk6rf4nm";
+      name = "kajongg-22.04.0.tar.xz";
     };
   };
   kalarm = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kalarm-21.12.3.tar.xz";
-      sha256 = "1miwcxim46hiabp2rbs874np544ip4x5nl1dc62h9li9784a9k3i";
-      name = "kalarm-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kalarm-22.04.0.tar.xz";
+      sha256 = "150zj57bl528xyjs0lvdyr425q8da3l24xz1wn44w1w29i3i3m8q";
+      name = "kalarm-22.04.0.tar.xz";
     };
   };
-  kalarmcal = {
-    version = "21.12.3";
+  kalendar = {
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kalarmcal-21.12.3.tar.xz";
-      sha256 = "160pmr702b68hys9l02azvrv6pagy1r2whw0zp3jlf6863p9fkqr";
-      name = "kalarmcal-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kalendar-22.04.0.tar.xz";
+      sha256 = "0bma75va1nkyinmkjhm3bknrp880ngklz0c21rsgykmbb8sa0zvz";
+      name = "kalendar-22.04.0.tar.xz";
     };
   };
   kalgebra = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kalgebra-21.12.3.tar.xz";
-      sha256 = "0870kdqha0nk2cm8hq8d9l2fqfw6hn0rx2qc9f9w8l4014rcn127";
-      name = "kalgebra-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kalgebra-22.04.0.tar.xz";
+      sha256 = "17mfjv3xbn02f9jzhpw2xd1rp6rvjqzksa3cqlwjjd06k3l1q414";
+      name = "kalgebra-22.04.0.tar.xz";
     };
   };
   kalzium = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kalzium-21.12.3.tar.xz";
-      sha256 = "1qha1dh638ms785j1b73j19pj8y3c7v1n4jd1m93026a292m8jll";
-      name = "kalzium-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kalzium-22.04.0.tar.xz";
+      sha256 = "07glndlclws8kq3jkfsh4a12zh7ly2w4m2ws77mc4a8zsjc33hdv";
+      name = "kalzium-22.04.0.tar.xz";
     };
   };
   kamera = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kamera-21.12.3.tar.xz";
-      sha256 = "1xwxmlnra9qdhvf1hhy04v72ar02pqxkg0l16a53809ilyss2wrm";
-      name = "kamera-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kamera-22.04.0.tar.xz";
+      sha256 = "06xfls262p8x7p8j04y6c59ssjcbq4f2aqiw381k5pyam81hhrah";
+      name = "kamera-22.04.0.tar.xz";
     };
   };
   kamoso = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kamoso-21.12.3.tar.xz";
-      sha256 = "1q98f6ni4p19pk0svbfw4mbfwnc9i5p9csms2aj76mp2dn78xpib";
-      name = "kamoso-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kamoso-22.04.0.tar.xz";
+      sha256 = "01ghfjrl97x4kn9g7wlgwi9wmplwqgayxqma8ywhbaf2wafqbsgs";
+      name = "kamoso-22.04.0.tar.xz";
     };
   };
   kanagram = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kanagram-21.12.3.tar.xz";
-      sha256 = "131flw9pjvin4w1m36qkwgzna3llvxp1vq0ynzwfnvhs49i3g5gc";
-      name = "kanagram-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kanagram-22.04.0.tar.xz";
+      sha256 = "0laa9vnrh7k8f2800gz64zxr8hx0qrgypg8jh3iccmg8v53b38lz";
+      name = "kanagram-22.04.0.tar.xz";
     };
   };
   kapman = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kapman-21.12.3.tar.xz";
-      sha256 = "1974z7g3ylvf48xh3xhf3gr7iphgmj83ir9hss1a2ba0hpgg463k";
-      name = "kapman-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kapman-22.04.0.tar.xz";
+      sha256 = "0a5k1jdh9qrm5bdx3z1f97sa92i781d1myp7pjc7s0hvjxprz5wy";
+      name = "kapman-22.04.0.tar.xz";
     };
   };
   kapptemplate = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kapptemplate-21.12.3.tar.xz";
-      sha256 = "16jgybcq3ixqwi7wli11ns7w4zdlj8rgw4chzsjcqxn6c0sqy8zq";
-      name = "kapptemplate-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kapptemplate-22.04.0.tar.xz";
+      sha256 = "0qbaa1ndqq7fk2azbj2rwlakg8amg572ji86vijf2f0fd26jbv2p";
+      name = "kapptemplate-22.04.0.tar.xz";
     };
   };
   kate = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kate-21.12.3.tar.xz";
-      sha256 = "1pp0k00kvih0xkkv1q1gha4na2bwqc7dhyyrla7c2vvln8gi99dg";
-      name = "kate-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kate-22.04.0.tar.xz";
+      sha256 = "1jy87zliqh9j4r0xy5gd3q1zklphmyvbzdp6brqlda0kf4isv46a";
+      name = "kate-22.04.0.tar.xz";
     };
   };
   katomic = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/katomic-21.12.3.tar.xz";
-      sha256 = "1y4mnvkd6ajk0m0j2xph5zbw3a14clm2sswc4y8c9r4ipk3hqsgh";
-      name = "katomic-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/katomic-22.04.0.tar.xz";
+      sha256 = "02s4v4clylf2wq7ifpb786m11vmvfrfj6wr6rszn77h116ckfs3j";
+      name = "katomic-22.04.0.tar.xz";
     };
   };
   kbackup = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kbackup-21.12.3.tar.xz";
-      sha256 = "0r1cqkfzpdqpwv5pds8l0p7lxlwpv0mr7rjys1icsp8gl4hbpv60";
-      name = "kbackup-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kbackup-22.04.0.tar.xz";
+      sha256 = "122g4bn2cs4vyj30lf0nd603sibjdycwkiz5b9lh42kcnkjghs8l";
+      name = "kbackup-22.04.0.tar.xz";
     };
   };
   kblackbox = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kblackbox-21.12.3.tar.xz";
-      sha256 = "10j8rnpr3gjaqspx4mxqj9cncqj6v2jn5rkldr46bv7yxgjb5rw3";
-      name = "kblackbox-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kblackbox-22.04.0.tar.xz";
+      sha256 = "08gjg0abp1c58m7b6xb99ynz8fkl537bcmz4iryyd3v7ibswdr91";
+      name = "kblackbox-22.04.0.tar.xz";
     };
   };
   kblocks = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kblocks-21.12.3.tar.xz";
-      sha256 = "1n3jc96ws8078gk1il61dc96p3pzvj3z9brnwi274pk4cif63bli";
-      name = "kblocks-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kblocks-22.04.0.tar.xz";
+      sha256 = "18n9vy3xv1g4wafwiwnf5ghh3irrxlm1jxn19m322ajs8qk53qcg";
+      name = "kblocks-22.04.0.tar.xz";
     };
   };
   kbounce = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kbounce-21.12.3.tar.xz";
-      sha256 = "1am4j11cjzlmav2zh5802kasy0kdcx78slycadnf96bmhxs8hvyv";
-      name = "kbounce-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kbounce-22.04.0.tar.xz";
+      sha256 = "0xk41pja2kxzrmrrza23xnfnxk9k4ag3xcjjp6c8hj6brzd6g9a9";
+      name = "kbounce-22.04.0.tar.xz";
     };
   };
   kbreakout = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kbreakout-21.12.3.tar.xz";
-      sha256 = "0vqlxaggzvvrb439ybsvd5kr9j2jzpwk4xy3yni83y830h1mmhhc";
-      name = "kbreakout-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kbreakout-22.04.0.tar.xz";
+      sha256 = "0z8x0i5yh6hcn2b296mx05b0lm6wv4gkwk20g82ypzbwanj269pl";
+      name = "kbreakout-22.04.0.tar.xz";
     };
   };
   kbruch = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kbruch-21.12.3.tar.xz";
-      sha256 = "1kcwbpa5lawkqqwn40r6d7savwvi7kkdgdxfxqxkviwnif2qkssx";
-      name = "kbruch-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kbruch-22.04.0.tar.xz";
+      sha256 = "1kpl9zk88sm4l17ndx25anlff6f1l13h4k4m39pryi5ywpsajjk9";
+      name = "kbruch-22.04.0.tar.xz";
     };
   };
   kcachegrind = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kcachegrind-21.12.3.tar.xz";
-      sha256 = "1cssjywnhfbnsvly4mralpx3af2pqkmhg1jj2q3cjiqx44i3gkyx";
-      name = "kcachegrind-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kcachegrind-22.04.0.tar.xz";
+      sha256 = "03c9r0zwslsv6sb5i91bk59pzi0ia7pyssgdfr6f5b01vjjrxl5f";
+      name = "kcachegrind-22.04.0.tar.xz";
     };
   };
   kcalc = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kcalc-21.12.3.tar.xz";
-      sha256 = "15yqzhrlzcix8wvgaah8wf12msylgzyqwk58f58k5agxh97ahv4q";
-      name = "kcalc-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kcalc-22.04.0.tar.xz";
+      sha256 = "1gg7wqm1vb22pa1a791sdvg1pf4l6pnzq1wsvxa8ih6dkdplcmrg";
+      name = "kcalc-22.04.0.tar.xz";
     };
   };
   kcalutils = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kcalutils-21.12.3.tar.xz";
-      sha256 = "006sfkjzyid8byl2mmyn1is4nra9wjqh21ksd5g1kv948hf1jdcs";
-      name = "kcalutils-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kcalutils-22.04.0.tar.xz";
+      sha256 = "0wn9mc4myi8mj9qc3lmswqj9y3lfgfpxg0vdzxsa0ai8i3g3g0j7";
+      name = "kcalutils-22.04.0.tar.xz";
     };
   };
   kcharselect = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kcharselect-21.12.3.tar.xz";
-      sha256 = "1aaiz9f9y2fmf284617pfnncgxjjjyfvdv08h900sc0bdlfmh4y7";
-      name = "kcharselect-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kcharselect-22.04.0.tar.xz";
+      sha256 = "1av1w906cy2dcdn0k7xjc1s897bgm9f8b79k97pk6x5f3rfnvy71";
+      name = "kcharselect-22.04.0.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kcolorchooser-21.12.3.tar.xz";
-      sha256 = "0jnnbwaj9xb0ifcc95xay8yc4bx9f29wqkj3h4kffzdlwvw3vp7s";
-      name = "kcolorchooser-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kcolorchooser-22.04.0.tar.xz";
+      sha256 = "0cn5zgrsf3xji7y5ipa9zv5njyx94rg617d6l0qxjh4n94x2d4yj";
+      name = "kcolorchooser-22.04.0.tar.xz";
     };
   };
   kcron = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kcron-21.12.3.tar.xz";
-      sha256 = "0ffc71inp1kyd4xh39x6vbfggz0kpipd6r6vabfn187lpnpwcmpm";
-      name = "kcron-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kcron-22.04.0.tar.xz";
+      sha256 = "0j067izv16646hjaw5swnxyf4gbg1gz5wxjcnrvscfv3hryf9b6q";
+      name = "kcron-22.04.0.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kde-dev-scripts-21.12.3.tar.xz";
-      sha256 = "04w4kk7vpfkjj2fzylmq590kk7xskw3a0id3wndw8066pfafsfg3";
-      name = "kde-dev-scripts-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kde-dev-scripts-22.04.0.tar.xz";
+      sha256 = "0a7vsdizayl53dadcs3aiki8pl2wmibn9rjink97jl20pj8m22dx";
+      name = "kde-dev-scripts-22.04.0.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kde-dev-utils-21.12.3.tar.xz";
-      sha256 = "1jdqv5zdigwazh3m580rmnylr6h6a6l5g2cpxy54v9sdvh3qb1yr";
-      name = "kde-dev-utils-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kde-dev-utils-22.04.0.tar.xz";
+      sha256 = "12ci9aw82hb6z651r1jsgrkc5ywq6dcas8j12gbxllcd0033pfkp";
+      name = "kde-dev-utils-22.04.0.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdebugsettings-21.12.3.tar.xz";
-      sha256 = "19ng7hvqpyh3kh0pahrknh89c113mqx1kxjq4r26xbww1ypkz8zq";
-      name = "kdebugsettings-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdebugsettings-22.04.0.tar.xz";
+      sha256 = "1jh3syvy0k611jmk615ba74zl62l5nw9fhb8y8mk6mgw23i16c21";
+      name = "kdebugsettings-22.04.0.tar.xz";
     };
   };
   kdeconnect-kde = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdeconnect-kde-21.12.3.tar.xz";
-      sha256 = "1n9km7czif19cvrsdfcjbb02i1xgpa1z4ycn20d3g8azmli4zj4g";
-      name = "kdeconnect-kde-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdeconnect-kde-22.04.0.tar.xz";
+      sha256 = "17zza0s5lnk8rvklv4hpl877jviwv8q6y5zp7an4h12lqni3f8cv";
+      name = "kdeconnect-kde-22.04.0.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdeedu-data-21.12.3.tar.xz";
-      sha256 = "11mxxcca6jxz4qcmba12p6xbv845xa16b8ag529409f3276w4915";
-      name = "kdeedu-data-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdeedu-data-22.04.0.tar.xz";
+      sha256 = "025qmwsm9h957sfa230ah2kgdsj8gs09p0nb7xpvs6wr8fhfwn1l";
+      name = "kdeedu-data-22.04.0.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdegraphics-mobipocket-21.12.3.tar.xz";
-      sha256 = "091ix343p9vs4iyj8abq6mw9lbm1fx5167gykhm4g8bjk5vdri2q";
-      name = "kdegraphics-mobipocket-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdegraphics-mobipocket-22.04.0.tar.xz";
+      sha256 = "0jinblf52nkr4jgr53szqz1l9dx9xgnwrilvzvdz2yfkyv70yr1k";
+      name = "kdegraphics-mobipocket-22.04.0.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdegraphics-thumbnailers-21.12.3.tar.xz";
-      sha256 = "0shdrl6n1724i8jrkmy8z6ayhflg93401jia87mcc1apaw9s8y83";
-      name = "kdegraphics-thumbnailers-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdegraphics-thumbnailers-22.04.0.tar.xz";
+      sha256 = "1ywdd0dfcsssnwp5x450bhwjwjgkbhqdckk0mnf2zmw8rrspkcii";
+      name = "kdegraphics-thumbnailers-22.04.0.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdenetwork-filesharing-21.12.3.tar.xz";
-      sha256 = "1y6sa22j2165j3x6ql1cfm30vv9ifb94mczbqbcjzmhqsypp5pw2";
-      name = "kdenetwork-filesharing-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdenetwork-filesharing-22.04.0.tar.xz";
+      sha256 = "1njjfvc5wlmdl3gsdv3ms4cx0z1dahnabjjn3hkls91ipd0gbgfl";
+      name = "kdenetwork-filesharing-22.04.0.tar.xz";
     };
   };
   kdenlive = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdenlive-21.12.3.tar.xz";
-      sha256 = "1hamdi2v3rx5zjmvpx1bximdppmzgsk9gbjxwgr691lkybkgx8vs";
-      name = "kdenlive-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdenlive-22.04.0.tar.xz";
+      sha256 = "0ybd5ixjrsldsz3fr1y1phnns4lvklzcrr0mv9gg1xic38ppn536";
+      name = "kdenlive-22.04.0.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdepim-addons-21.12.3.tar.xz";
-      sha256 = "1pv780z29ccx05z12l2w5zdmby9d1q993jr0cyzvpapnmck9146h";
-      name = "kdepim-addons-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdepim-addons-22.04.0.tar.xz";
+      sha256 = "0x4ja60ywrhp7qjhpb8iakhz39kxpi98iwnsfvd6drrmm1291ql1";
+      name = "kdepim-addons-22.04.0.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdepim-runtime-21.12.3.tar.xz";
-      sha256 = "1ahrnnc9vn0556s4nrsjgc9vbf5rb6yby7fn33p3jjnpgja0mc7m";
-      name = "kdepim-runtime-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdepim-runtime-22.04.0.tar.xz";
+      sha256 = "1ra39060yr8nplr855sjgwfp874vi8g76k6iyi1wh9fsxvsrnbj2";
+      name = "kdepim-runtime-22.04.0.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdesdk-kioslaves-21.12.3.tar.xz";
-      sha256 = "1nhsvx5pznm3adf0scrcqqb2ibl52a241ki2gbwvxk2qpwwwx6jd";
-      name = "kdesdk-kioslaves-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdesdk-kioslaves-22.04.0.tar.xz";
+      sha256 = "1055gdimlaxklf93670134sf3js220wg4iv074bx3022dbvirws5";
+      name = "kdesdk-kioslaves-22.04.0.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdesdk-thumbnailers-21.12.3.tar.xz";
-      sha256 = "0337rhgil42wychi5anq2v61xq8mbcvma4gb50smapcrjfl7fkdy";
-      name = "kdesdk-thumbnailers-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdesdk-thumbnailers-22.04.0.tar.xz";
+      sha256 = "1nk0asq2ff267jvb44v7j9lpnnzrmq21fmwh2wvbiwb4mibnwh44";
+      name = "kdesdk-thumbnailers-22.04.0.tar.xz";
     };
   };
   kdev-php = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdev-php-21.12.3.tar.xz";
-      sha256 = "0z5iqgsh7w0hw0pw2522zlh5sd88zlplrxm3vjp3yvmza65471aa";
-      name = "kdev-php-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdev-php-22.04.0.tar.xz";
+      sha256 = "00jmyrbnzar1afalx7byb3jbjqa0w0fa8aq669j6h3j52vsnr15y";
+      name = "kdev-php-22.04.0.tar.xz";
     };
   };
   kdev-python = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdev-python-21.12.3.tar.xz";
-      sha256 = "1iyg1cfldf5mk62anw8schiw3ii0gp20qwg6ljk1r9hv583iwrq6";
-      name = "kdev-python-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdev-python-22.04.0.tar.xz";
+      sha256 = "1p28lld358c1wyqqb50v8bh6y5k3wzbkryhyhbspr40a1ym2gr8i";
+      name = "kdev-python-22.04.0.tar.xz";
     };
   };
   kdevelop = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdevelop-21.12.3.tar.xz";
-      sha256 = "1shp8zlxr7iyysn1c8d3fp6rg6g2krj2v3zw5apalxcnal16bww6";
-      name = "kdevelop-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdevelop-22.04.0.tar.xz";
+      sha256 = "05jamqizsbfx5bj3p5d4s4320xps8nr3lq2gv22mqiv7mcl1hymb";
+      name = "kdevelop-22.04.0.tar.xz";
     };
   };
   kdf = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdf-21.12.3.tar.xz";
-      sha256 = "179ygy4kxkapfyxqj8h5xlvp1160vd72af34vd0a4r5az7wfd1m7";
-      name = "kdf-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdf-22.04.0.tar.xz";
+      sha256 = "1xy0pm7sggcwf5mf0n9514n7skbaz9w1kwahgd135s7cxw3wd9aw";
+      name = "kdf-22.04.0.tar.xz";
     };
   };
   kdialog = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdialog-21.12.3.tar.xz";
-      sha256 = "04d1dqc5f02s867lllx1ix0nc55xw9hrpg7jxiy3v4c8vlzg0w53";
-      name = "kdialog-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdialog-22.04.0.tar.xz";
+      sha256 = "1285jdcv2bbnq3292qx08i5bashvjj2vdx325nlfi1vbaydlfixc";
+      name = "kdialog-22.04.0.tar.xz";
     };
   };
   kdiamond = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kdiamond-21.12.3.tar.xz";
-      sha256 = "1d3c4pckddnri9i19g2pi2ygpqakllrgy6azgvnh5hn20kgsw7d9";
-      name = "kdiamond-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kdiamond-22.04.0.tar.xz";
+      sha256 = "1qvjrklq2vdbq26k531ddwgjjfgnj77qc9c84c7x4bjyv3j2jhry";
+      name = "kdiamond-22.04.0.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/keditbookmarks-21.12.3.tar.xz";
-      sha256 = "0wfb7j1lhhdfw2x03p692mglmy9i9qys8mn4f3gxlb5imrd2hmnk";
-      name = "keditbookmarks-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/keditbookmarks-22.04.0.tar.xz";
+      sha256 = "09vkp0ingzf8naa7d5hvsj7nxab5z4ci1nh12jn9ri6f1bvapnnn";
+      name = "keditbookmarks-22.04.0.tar.xz";
     };
   };
   kfind = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kfind-21.12.3.tar.xz";
-      sha256 = "1v1yxsbmzv4q5m5rbvl9n095d9fq0b1zphnl6vrzff5r8i53pzx0";
-      name = "kfind-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kfind-22.04.0.tar.xz";
+      sha256 = "0db9iclzq89ykb9lw90wycb1057qrys02sv6z71kzyv4pv8clcsi";
+      name = "kfind-22.04.0.tar.xz";
     };
   };
   kfloppy = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kfloppy-21.12.3.tar.xz";
-      sha256 = "1phkigxd6bkwlcjrsfhlhn44ra9imfq0flcvp4vmza6c9ylsx6m8";
-      name = "kfloppy-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kfloppy-22.04.0.tar.xz";
+      sha256 = "07vixy0fdvvvjwchci77a32lz2bam02smnyvl5jx446gxra3kbxd";
+      name = "kfloppy-22.04.0.tar.xz";
     };
   };
   kfourinline = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kfourinline-21.12.3.tar.xz";
-      sha256 = "0rb5jcmmf19bidwywj56dn0wfrnrfi5kc75c20d7mxnlgygfdnkg";
-      name = "kfourinline-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kfourinline-22.04.0.tar.xz";
+      sha256 = "1kvpilvsfb4zz59jmz8qk688xf9j4v8xijahxnsfrx3a216nd5wx";
+      name = "kfourinline-22.04.0.tar.xz";
     };
   };
   kgeography = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kgeography-21.12.3.tar.xz";
-      sha256 = "1s1xyfffqkhmf4n74a4ksjz62rdiyl1fk1v57s9gnr6qw71wqql0";
-      name = "kgeography-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kgeography-22.04.0.tar.xz";
+      sha256 = "1f75av03iw1glsxar6ipbch2xvb9if59r3h85ndkpd7f8azdmam5";
+      name = "kgeography-22.04.0.tar.xz";
     };
   };
   kget = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kget-21.12.3.tar.xz";
-      sha256 = "1w249gvzz47ac7n1mnxxf20d9l7jmbh18m5dijy55ck61s4zcq4l";
-      name = "kget-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kget-22.04.0.tar.xz";
+      sha256 = "01s73qb2658hryq639yiqjl696z6k4c6m7vmm0x9iglacl0qihdd";
+      name = "kget-22.04.0.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kgoldrunner-21.12.3.tar.xz";
-      sha256 = "0gzz58407zjmk311kyyj5l2c1ciczcq9i8ckpwbd341dvwaww27q";
-      name = "kgoldrunner-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kgoldrunner-22.04.0.tar.xz";
+      sha256 = "1d6z2fslxpjdnixh372p78zk1apavnn9pvhdhnz9isq1yyvbwabx";
+      name = "kgoldrunner-22.04.0.tar.xz";
     };
   };
   kgpg = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kgpg-21.12.3.tar.xz";
-      sha256 = "1mzq3g4xwg459k0mp9xvg8bhilizadbh4gck1764wq69bxlcyav3";
-      name = "kgpg-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kgpg-22.04.0.tar.xz";
+      sha256 = "0g78r1lya4vv09yiq9jmhcy4d3824n70ps71x1z6dvrpf6fnri49";
+      name = "kgpg-22.04.0.tar.xz";
     };
   };
   khangman = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/khangman-21.12.3.tar.xz";
-      sha256 = "000vn11pp4hwfh2689rmnwrrssrmrhx5569k02h4ynswkiykvbv6";
-      name = "khangman-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/khangman-22.04.0.tar.xz";
+      sha256 = "0dl4rdifgxbxcxslnjcgl8ni3fw30zkp90mzdrp4hbg1rql8pav9";
+      name = "khangman-22.04.0.tar.xz";
     };
   };
   khelpcenter = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/khelpcenter-21.12.3.tar.xz";
-      sha256 = "1fj1c57bqs009rx9db4ifvfmhhl4b35r5sfly3wvbfr4dapjqfqr";
-      name = "khelpcenter-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/khelpcenter-22.04.0.tar.xz";
+      sha256 = "1nfa9q688l151196mbfdn5i7k2x2a5sz1kn07j8flxhwpkcbyrgm";
+      name = "khelpcenter-22.04.0.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kidentitymanagement-21.12.3.tar.xz";
-      sha256 = "18xwvlmqhih5jmig2mj3a6mc5awlxdv8f81da6cgm123imhrirk4";
-      name = "kidentitymanagement-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kidentitymanagement-22.04.0.tar.xz";
+      sha256 = "1xw5q12la5p34lg8pwndx4pnr1cf5pv36611209v2qcfwjfk5570";
+      name = "kidentitymanagement-22.04.0.tar.xz";
     };
   };
   kig = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kig-21.12.3.tar.xz";
-      sha256 = "0rl0z1djsf9ha0q94v0cnj5qm4ij6yjsil2s57r3v666h64yradn";
-      name = "kig-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kig-22.04.0.tar.xz";
+      sha256 = "0rbrvkflm0199vz4zpqs08dqzsrqw7r8xzgr034s9g7hwf0f5nbd";
+      name = "kig-22.04.0.tar.xz";
     };
   };
   kigo = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kigo-21.12.3.tar.xz";
-      sha256 = "14pp73b9mbf0ny75b90vs7z9l61m7zp8cll7hl4bplqh1kig1szf";
-      name = "kigo-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kigo-22.04.0.tar.xz";
+      sha256 = "0whiza2xqzi33ppaz1d72aicg53f1zmwg47drg1s42sx5rj7jmpg";
+      name = "kigo-22.04.0.tar.xz";
     };
   };
   killbots = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/killbots-21.12.3.tar.xz";
-      sha256 = "1ncr55xq04vrx6bss1ahk86c3l9ckhv4zjbc6gq4krhjw0lkdfiv";
-      name = "killbots-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/killbots-22.04.0.tar.xz";
+      sha256 = "0aaip213gc6ngan122r2rm7mc794mlir3qx1krhsg6gh8i1qvj91";
+      name = "killbots-22.04.0.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kimagemapeditor-21.12.3.tar.xz";
-      sha256 = "0qdmyrlf0jp3737p7x31wk428676xv77lx0mgyd9h2hdl0ipnbvr";
-      name = "kimagemapeditor-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kimagemapeditor-22.04.0.tar.xz";
+      sha256 = "0yh7sb5pk31q1pksb74yg94mrf752baj767gq0kgmp6ymmw83i6x";
+      name = "kimagemapeditor-22.04.0.tar.xz";
     };
   };
   kimap = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kimap-21.12.3.tar.xz";
-      sha256 = "11jd9zkvflfh3gqs36fhj8mla3k44xf7zdb0z4nl9sk5nhhgm5px";
-      name = "kimap-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kimap-22.04.0.tar.xz";
+      sha256 = "12n0fjqh9mpwdii3gkvfvg33b6lzdrl2n3v94j29hq4nk8k1y8gf";
+      name = "kimap-22.04.0.tar.xz";
     };
   };
   kio-extras = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kio-extras-21.12.3.tar.xz";
-      sha256 = "11zpnjdri7z4sz6zx26d9iv52aj4vf5lr9c114gg4pvz2l4h4h5i";
-      name = "kio-extras-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kio-extras-22.04.0.tar.xz";
+      sha256 = "1ikjhimw12c9kvq15zjwxvmrd4mfx66dxl9scfvkh6pvw8l9hy76";
+      name = "kio-extras-22.04.0.tar.xz";
     };
   };
   kio-gdrive = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kio-gdrive-21.12.3.tar.xz";
-      sha256 = "0bm3c7g6q7z2ydnha2x5c456x9wlgachi9453mlrd2zcsc7c5h87";
-      name = "kio-gdrive-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kio-gdrive-22.04.0.tar.xz";
+      sha256 = "1v445kclcdnb6ajjrjmkqzvr5f84n7qx79cxikrd21zphym0p4cz";
+      name = "kio-gdrive-22.04.0.tar.xz";
     };
   };
   kipi-plugins = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kipi-plugins-21.12.3.tar.xz";
-      sha256 = "1h6107d2a6jcyjsd191cg2ykgwm580j7wr0blg328ff6wwk1aizy";
-      name = "kipi-plugins-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kipi-plugins-22.04.0.tar.xz";
+      sha256 = "0cxn6h5vglip14ydap0wnnwm5y33x9lha4r05kwyjlvi754dx4qs";
+      name = "kipi-plugins-22.04.0.tar.xz";
     };
   };
   kirigami-gallery = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kirigami-gallery-21.12.3.tar.xz";
-      sha256 = "0pjd9bq965v9x433p8rbhd7w3fj0808qd7x4c11ziyhy4cg9gwml";
-      name = "kirigami-gallery-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kirigami-gallery-22.04.0.tar.xz";
+      sha256 = "1ggg4ak997ax03zaspx09z0jxh0lf10sm5hh262p1v96xnlc7kz3";
+      name = "kirigami-gallery-22.04.0.tar.xz";
     };
   };
   kiriki = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kiriki-21.12.3.tar.xz";
-      sha256 = "0qbm0zjjqnbcdm39zi8h240nblpa1pa7g1ls9mghzbqrdrh7n3a0";
-      name = "kiriki-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kiriki-22.04.0.tar.xz";
+      sha256 = "041xiw7s7r94115wvlnzk1443af9gb06scsvbqj92hdc9a2p6318";
+      name = "kiriki-22.04.0.tar.xz";
     };
   };
   kiten = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kiten-21.12.3.tar.xz";
-      sha256 = "0z0haqxxkh7m2510b5qfwbx8s45vcahbk503jp1x0bwz03mrwflw";
-      name = "kiten-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kiten-22.04.0.tar.xz";
+      sha256 = "0n19a4ch2rgzq7s2f6dnhgbcqdi22xqd8vhy5hnbw4mw4xa9f6xm";
+      name = "kiten-22.04.0.tar.xz";
     };
   };
   kitinerary = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kitinerary-21.12.3.tar.xz";
-      sha256 = "0kccrjiyib2zljr6rnc89y29jgi8cnhwfh1yq8psyzmca2n8lpxi";
-      name = "kitinerary-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kitinerary-22.04.0.tar.xz";
+      sha256 = "1q2dwdycajab3w7w4898s3s2jcy541qgsandfzi7yapplw238gm7";
+      name = "kitinerary-22.04.0.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kjumpingcube-21.12.3.tar.xz";
-      sha256 = "1wlk6my6pawmdv3zgcpnyyzpjwz0wii0h8i1z0gxhbpg9nc8iy1r";
-      name = "kjumpingcube-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kjumpingcube-22.04.0.tar.xz";
+      sha256 = "1q8wnyympajijzsnddrf21pzwshbvkj4r5diydgavd23zgspfkp3";
+      name = "kjumpingcube-22.04.0.tar.xz";
     };
   };
   kldap = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kldap-21.12.3.tar.xz";
-      sha256 = "13llsfhx9lfvhf90a3vmpkyh02fjg5sp4fmrwrqyx9hjrbmy1g0a";
-      name = "kldap-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kldap-22.04.0.tar.xz";
+      sha256 = "1z6kmkryc9sz3g0hf0dh7plmv59w03rzxyrnacrc94bjkbf56y1i";
+      name = "kldap-22.04.0.tar.xz";
     };
   };
   kleopatra = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kleopatra-21.12.3.tar.xz";
-      sha256 = "10f61m0qrs0qipn94jd32gibyj8pcvprs8j7gmac0mym0b3djjls";
-      name = "kleopatra-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kleopatra-22.04.0.tar.xz";
+      sha256 = "0aaz3mwyyr2i8lbkrfz9hbz8358bqhf2zzxla1i9p177cfrdv60i";
+      name = "kleopatra-22.04.0.tar.xz";
     };
   };
   klettres = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/klettres-21.12.3.tar.xz";
-      sha256 = "0l4zgfqd6l2bk67s2a0zldbcy8v7nwbv7yahvnyw4jf4jyv9q9rv";
-      name = "klettres-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/klettres-22.04.0.tar.xz";
+      sha256 = "1ih7q2rd6ajky719dikyfhy03dyw4x4bm9032l8vd51rv9zcjbp3";
+      name = "klettres-22.04.0.tar.xz";
     };
   };
   klickety = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/klickety-21.12.3.tar.xz";
-      sha256 = "03liv3fax764ngfkwp3ga96irn8qb509b08ljnhz5aw5v9yrssnk";
-      name = "klickety-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/klickety-22.04.0.tar.xz";
+      sha256 = "1fl76vj1qrlp8giy6ing3qnm76i4scx0q5sn7dflwix5cjvsjyss";
+      name = "klickety-22.04.0.tar.xz";
     };
   };
   klines = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/klines-21.12.3.tar.xz";
-      sha256 = "1ypi64wdsw1zsj03wcxj02v27y1by113v89as8dyk9wr0pfmbpqf";
-      name = "klines-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/klines-22.04.0.tar.xz";
+      sha256 = "0s7vqsg5lh7znxij0fygawww8fhga3rn0dv5k147jbvrzhfn01yn";
+      name = "klines-22.04.0.tar.xz";
     };
   };
   kmag = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kmag-21.12.3.tar.xz";
-      sha256 = "067x65gmip89rdgii2nwnxn7zi96cf7vfbhqzg0499pd2d69p3sl";
-      name = "kmag-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kmag-22.04.0.tar.xz";
+      sha256 = "1bwp7psf2vdl7q0s8ymji9zhmrfp6vxilwmf9cw1bhl0wjislnp6";
+      name = "kmag-22.04.0.tar.xz";
     };
   };
   kmahjongg = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kmahjongg-21.12.3.tar.xz";
-      sha256 = "02yvvpwkk5gbj445zv5xhfragk8220rlx0pkxf32pj0jsv7dnz1x";
-      name = "kmahjongg-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kmahjongg-22.04.0.tar.xz";
+      sha256 = "1hs0pv8bvxbk8c4ag7kbmylddh0wqzzi953xggpi86fzinpgzmq9";
+      name = "kmahjongg-22.04.0.tar.xz";
     };
   };
   kmail = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kmail-21.12.3.tar.xz";
-      sha256 = "1knh6cf72hidc6jyiw250b708b410fla0c5w83zaavmwv37ah8z0";
-      name = "kmail-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kmail-22.04.0.tar.xz";
+      sha256 = "1rp65m1y4rynzxc0497d4kbppqj9gz5r1kd769msq01v72if7xvr";
+      name = "kmail-22.04.0.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kmail-account-wizard-21.12.3.tar.xz";
-      sha256 = "0ar2rm6viissfipbak07fxivrgqgsdfilsprsqmvab44inw2g4pg";
-      name = "kmail-account-wizard-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kmail-account-wizard-22.04.0.tar.xz";
+      sha256 = "0pvbq8x16m08v3fdmd7gjnsh5p7c77fgz1f0d11hkbnpza9x72d7";
+      name = "kmail-account-wizard-22.04.0.tar.xz";
     };
   };
   kmailtransport = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kmailtransport-21.12.3.tar.xz";
-      sha256 = "0l3pgs781a6is937i0bkz9ykr40l36rwlrirsr4g8wh0gkc3ifi6";
-      name = "kmailtransport-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kmailtransport-22.04.0.tar.xz";
+      sha256 = "1bglr299xn5z65zl49kp6ahcf229aga5fwn6ij2bv3cm9xa4f6iv";
+      name = "kmailtransport-22.04.0.tar.xz";
     };
   };
   kmbox = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kmbox-21.12.3.tar.xz";
-      sha256 = "04cl2khj3a7n81nlmxsg8kgszrl22qm6s2kvbrhz39yfzi31cwqr";
-      name = "kmbox-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kmbox-22.04.0.tar.xz";
+      sha256 = "1ysjjz8v338l8n47dxg5jskbilsybwx6vd3lmlajw5iqfwpjk6k1";
+      name = "kmbox-22.04.0.tar.xz";
     };
   };
   kmime = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kmime-21.12.3.tar.xz";
-      sha256 = "03s7l4lywdvp97h4qjgq06qqcclvnhy83qsrfzv0w2wcl631nnpw";
-      name = "kmime-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kmime-22.04.0.tar.xz";
+      sha256 = "0h9dsw3jl2jpfsb19yh4v8rzjd930xbglgzasl87f0f2nawkmdik";
+      name = "kmime-22.04.0.tar.xz";
     };
   };
   kmines = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kmines-21.12.3.tar.xz";
-      sha256 = "1wxy0cyz733wvnxfjhirqf41wnda4f6aqdiqmb5r1ngzzllgbglc";
-      name = "kmines-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kmines-22.04.0.tar.xz";
+      sha256 = "1dzfi9r2zrn0rn96l42g12srqgmz8gkw6glyjadzay1mkhin7zp4";
+      name = "kmines-22.04.0.tar.xz";
     };
   };
   kmix = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kmix-21.12.3.tar.xz";
-      sha256 = "1zk2xljis1pv3m4vs5zr6wza6iv5y6wmh1csx3rn8ylfkrpk7h8k";
-      name = "kmix-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kmix-22.04.0.tar.xz";
+      sha256 = "0yjykslaynf6vcv33s3hwm2s03acp2k97dljmq8dwgq3nwyaah9z";
+      name = "kmix-22.04.0.tar.xz";
     };
   };
   kmousetool = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kmousetool-21.12.3.tar.xz";
-      sha256 = "013qr1md3gbin7hcahnv14y9i2cg35r433s2w81fvgcakd38qvkj";
-      name = "kmousetool-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kmousetool-22.04.0.tar.xz";
+      sha256 = "0a0gcq0295x3ckdhxv77lnvv8yms04xg5pkza5612k3zr386f0b5";
+      name = "kmousetool-22.04.0.tar.xz";
     };
   };
   kmouth = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kmouth-21.12.3.tar.xz";
-      sha256 = "0xvkp2pm2szbgzdsfmwrykma8npmlwmx2pb1iakbx3x1wyyjsbim";
-      name = "kmouth-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kmouth-22.04.0.tar.xz";
+      sha256 = "05v0frgl6im5yv6ah8qsrgqcrjziiycnnnqq2z859psxnysvmsiz";
+      name = "kmouth-22.04.0.tar.xz";
     };
   };
   kmplot = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kmplot-21.12.3.tar.xz";
-      sha256 = "1vmrzfcdyaxgvyp9la2gvy3h5fhksmn24lsnrpvr6alj880mh8bq";
-      name = "kmplot-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kmplot-22.04.0.tar.xz";
+      sha256 = "063bxm619jkd63jv70a4g6bj2q4fcg5a7lxjkwas9qm1qhlz2vzy";
+      name = "kmplot-22.04.0.tar.xz";
     };
   };
   knavalbattle = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/knavalbattle-21.12.3.tar.xz";
-      sha256 = "1mpj1783za6b7a7cjawy4v0z24dvcd34gdb25qch4gi9cx1lc28z";
-      name = "knavalbattle-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/knavalbattle-22.04.0.tar.xz";
+      sha256 = "1hdgmjvsv7skck64w4j4sxyq7b8c7f5i2vcvkfbqxrrzf3wcq649";
+      name = "knavalbattle-22.04.0.tar.xz";
     };
   };
   knetwalk = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/knetwalk-21.12.3.tar.xz";
-      sha256 = "0ahms3imvkdknp1z2h6j42k9g1i20ygd2633icjv37d2cbij128m";
-      name = "knetwalk-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/knetwalk-22.04.0.tar.xz";
+      sha256 = "0ws9sgn3ygl4012irkjk82j7b08cbhpq7ca7sncw9il7lfxbis6l";
+      name = "knetwalk-22.04.0.tar.xz";
     };
   };
   knights = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/knights-21.12.3.tar.xz";
-      sha256 = "1m2big16rdw3w347m5vi0qhypnb2rgz6804kkxs7ln0yx658y4x4";
-      name = "knights-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/knights-22.04.0.tar.xz";
+      sha256 = "0dfxk811f9yjklfr01djppms86fqj3112cfh41z2zwsl4wgbyrma";
+      name = "knights-22.04.0.tar.xz";
     };
   };
   knotes = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/knotes-21.12.3.tar.xz";
-      sha256 = "07pj0aqwsy1xi5mx7x0h3zmxfg0n4afgjax9a9ihc553xs6k48d7";
-      name = "knotes-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/knotes-22.04.0.tar.xz";
+      sha256 = "023rv1cvy2ykpv9p0862csixxn65fkhis8jjf9vmdq33j7mmflsm";
+      name = "knotes-22.04.0.tar.xz";
     };
   };
   kolf = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kolf-21.12.3.tar.xz";
-      sha256 = "00dhjy82d9964z94nn4vkkwynql3bfa6djwrgsq93f9d7grgkd7g";
-      name = "kolf-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kolf-22.04.0.tar.xz";
+      sha256 = "0i3j9wbhjgxd1j58brjnbyb7862h6iz8kvb6vnnqwgzybwy09n88";
+      name = "kolf-22.04.0.tar.xz";
     };
   };
   kollision = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kollision-21.12.3.tar.xz";
-      sha256 = "0avin6s1lglfps6qlvz19i27nb0x0hgrl4q2brpq4kax7azs1nc3";
-      name = "kollision-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kollision-22.04.0.tar.xz";
+      sha256 = "18vp7iqkm9pbrcl5cppwb6qngfbw75d2vjqngm5kjz124jn6hxxa";
+      name = "kollision-22.04.0.tar.xz";
     };
   };
   kolourpaint = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kolourpaint-21.12.3.tar.xz";
-      sha256 = "0kbz8jz33bk4zr7kk6mb1y42mdq6nykdfqm2cs08sxldd3nrs6fj";
-      name = "kolourpaint-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kolourpaint-22.04.0.tar.xz";
+      sha256 = "0qwibnpr5zgpwdk44xl43xlr02w75j8c01z8arsiv6rdycwy9cmf";
+      name = "kolourpaint-22.04.0.tar.xz";
     };
   };
   kompare = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kompare-21.12.3.tar.xz";
-      sha256 = "097aawmziplsndj42bdjf3x3smal1fy67c2y7cik9p1qw9wgn24h";
-      name = "kompare-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kompare-22.04.0.tar.xz";
+      sha256 = "1381kih1ywd5k2wslasp0ap69kmbd05nm8jy67cric1f9d4fxq72";
+      name = "kompare-22.04.0.tar.xz";
     };
   };
   konqueror = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/konqueror-21.12.3.tar.xz";
-      sha256 = "0z3zq71n0lnpx5ggfg835zbmgf2ly4zsmz01yyyxn9n9d9b6d3px";
-      name = "konqueror-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/konqueror-22.04.0.tar.xz";
+      sha256 = "0s0cf41p2ciwmgywv5g59cnw9fzy2065grk9g058d522qqadcmfv";
+      name = "konqueror-22.04.0.tar.xz";
     };
   };
   konquest = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/konquest-21.12.3.tar.xz";
-      sha256 = "0lrahq9s70rx24dw4cgpvchr4s6pcl565vh343ggg24s1rd3ly80";
-      name = "konquest-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/konquest-22.04.0.tar.xz";
+      sha256 = "0kpjakww8kaqf7b18v5r7xhg9z07c22959gygcq22b0dahqsgy1w";
+      name = "konquest-22.04.0.tar.xz";
     };
   };
   konsole = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/konsole-21.12.3.tar.xz";
-      sha256 = "06sqm2xmairicrdcxnf7imvyvw0wyknrrym334scx2w7mfhjg5qs";
-      name = "konsole-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/konsole-22.04.0.tar.xz";
+      sha256 = "1wyvfwky8p5ryc101bfxfbzrbvhw6sl9yaqk057wkqvav2h6k6xz";
+      name = "konsole-22.04.0.tar.xz";
     };
   };
   kontact = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kontact-21.12.3.tar.xz";
-      sha256 = "16p17b4llral0g48l3s9yg838x6hhc4dprlcpd00b8sy58c27f90";
-      name = "kontact-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kontact-22.04.0.tar.xz";
+      sha256 = "19jpwazr553bb1qw9lkp89gbxabjbalc1f31sf6j074zxjn7p29v";
+      name = "kontact-22.04.0.tar.xz";
     };
   };
   kontactinterface = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kontactinterface-21.12.3.tar.xz";
-      sha256 = "1qwx0q4bbk3d720ij37wbd54g9alw6ispjl1mq19hkk3gs5l1c78";
-      name = "kontactinterface-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kontactinterface-22.04.0.tar.xz";
+      sha256 = "1v0yyb81dq98dgmlzc3ry36nhsl29sh1dj7c9y3y926dkv6s3khp";
+      name = "kontactinterface-22.04.0.tar.xz";
     };
   };
   kontrast = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kontrast-21.12.3.tar.xz";
-      sha256 = "1rp279mfq18p5kzw3788m8w6kkj8w7zfdv97rnl3n5jir4j94yxl";
-      name = "kontrast-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kontrast-22.04.0.tar.xz";
+      sha256 = "1nznd3ir87r3rhmpqxdcnvivczfybqdqzabwa0f6zlryixcvqmqb";
+      name = "kontrast-22.04.0.tar.xz";
     };
   };
   konversation = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/konversation-21.12.3.tar.xz";
-      sha256 = "05dxzkpadz29b5fm6pf225xqq0gaz9w50paz9341kzz4k3rnzq80";
-      name = "konversation-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/konversation-22.04.0.tar.xz";
+      sha256 = "12lvgxzdchcyg0jy3qcvfssdad5c6asiadkszz7brnnnxma3i77q";
+      name = "konversation-22.04.0.tar.xz";
     };
   };
   kopeninghours = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kopeninghours-21.12.3.tar.xz";
-      sha256 = "0pfkrns576ll6wc33c8i6pgzd9wf543w2isbvh393zyb1rr3bzgd";
-      name = "kopeninghours-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kopeninghours-22.04.0.tar.xz";
+      sha256 = "17yxbr86dqyxpgdr35lfvfal1qf38hx8alk2p0j7l8k9yd5zgw5h";
+      name = "kopeninghours-22.04.0.tar.xz";
     };
   };
   kopete = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kopete-21.12.3.tar.xz";
-      sha256 = "1v519sw2lzlap6xci3j55k8c48755sc9p3mgvj566b6jjq64xi5k";
-      name = "kopete-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kopete-22.04.0.tar.xz";
+      sha256 = "1hy9z5148c9grh56pr4865hq62x85lnn83kg9f7kx6dnbkwyq408";
+      name = "kopete-22.04.0.tar.xz";
     };
   };
   korganizer = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/korganizer-21.12.3.tar.xz";
-      sha256 = "072pyzs38dv07mwi4hlfb4rh9jx40dpxac3ywy7kj6nyvbfjmh0r";
-      name = "korganizer-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/korganizer-22.04.0.tar.xz";
+      sha256 = "12qdp5wwii55prc7wih70r1sw7c3dnrwmczhsm3m6gsf4p2px4si";
+      name = "korganizer-22.04.0.tar.xz";
     };
   };
   kosmindoormap = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kosmindoormap-21.12.3.tar.xz";
-      sha256 = "06i616c873lkkpy2iwdjcgwnm6adjrr6rcain2rrb1j4pgzmmbvw";
-      name = "kosmindoormap-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kosmindoormap-22.04.0.tar.xz";
+      sha256 = "1gxw614nydmqc8s83wi6aranw4jd24zvbjky2sdfryph0gr14zg1";
+      name = "kosmindoormap-22.04.0.tar.xz";
     };
   };
   kpat = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kpat-21.12.3.tar.xz";
-      sha256 = "1jd9457hf15d2l6njkfyj9a7lfyabcm80vz3zjb2cykm16x3sdb8";
-      name = "kpat-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kpat-22.04.0.tar.xz";
+      sha256 = "0kd4cxgwg7336q27api51g2xa7d20nypm32rpm9vq3cq112jwpi7";
+      name = "kpat-22.04.0.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kpimtextedit-21.12.3.tar.xz";
-      sha256 = "19hrqbjcmpi81vmnggrkrv0fcc9inhz5aa5klx0141aylnzfgwsl";
-      name = "kpimtextedit-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kpimtextedit-22.04.0.tar.xz";
+      sha256 = "0j01yn28j58y05v9cf6fyjal79n0rydddsga00aqkbksf80pd93p";
+      name = "kpimtextedit-22.04.0.tar.xz";
     };
   };
   kpkpass = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kpkpass-21.12.3.tar.xz";
-      sha256 = "05f88hlqxfak94jy8afiv91dgzxd9qgrkarnqi9rv1f5a3j7k3k7";
-      name = "kpkpass-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kpkpass-22.04.0.tar.xz";
+      sha256 = "0fk789wgx9ks99cfd7b8w62nw7820s53mb9zv9vkzy9mma4640q3";
+      name = "kpkpass-22.04.0.tar.xz";
     };
   };
   kpmcore = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kpmcore-21.12.3.tar.xz";
-      sha256 = "19h0ag54xzv4hwh950hshjghd4fb9xkdg8rlx6lvqa0w9b8admva";
-      name = "kpmcore-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kpmcore-22.04.0.tar.xz";
+      sha256 = "1fwdyr37q8bk7mwr2v7q9704q4ykwgg6ak08ss3vvlzsj981dvxh";
+      name = "kpmcore-22.04.0.tar.xz";
     };
   };
   kpublictransport = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kpublictransport-21.12.3.tar.xz";
-      sha256 = "1jcba5bq320afzfs5ly3vyyicdix8fprpr02x67v8p7mdzg58cq6";
-      name = "kpublictransport-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kpublictransport-22.04.0.tar.xz";
+      sha256 = "1nc7z7czr24wbwdpgj9vv8p3kn2hdqpf88q7q2776zh64ghi1mrc";
+      name = "kpublictransport-22.04.0.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kqtquickcharts-21.12.3.tar.xz";
-      sha256 = "0gl9c8zfn440202l82y4nfng0hyhivby8a4hf91rphi8f1xfxxmr";
-      name = "kqtquickcharts-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kqtquickcharts-22.04.0.tar.xz";
+      sha256 = "1pn0c8wpbd88g26g65yd0pv5xzz27k5bmx7k6as7k3s41y96lpn5";
+      name = "kqtquickcharts-22.04.0.tar.xz";
     };
   };
   krdc = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/krdc-21.12.3.tar.xz";
-      sha256 = "09np9clvmdll7v2p9aswnlhz4cgsnly82za7k3k9fs66h5c8q20j";
-      name = "krdc-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/krdc-22.04.0.tar.xz";
+      sha256 = "1rykh19g4fb7kadzg2i3kgf1s1qdm31z5hdq4yx60v009lmsa2r5";
+      name = "krdc-22.04.0.tar.xz";
     };
   };
   kreversi = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kreversi-21.12.3.tar.xz";
-      sha256 = "0lbypkh6lc5af43c2p19gs2c53icxd26abxf5rhs2c8182gr39b8";
-      name = "kreversi-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kreversi-22.04.0.tar.xz";
+      sha256 = "0mzwjkgzv3f8y7wkbfy5gvww2gl6kww8wq2s1kwayv8cimvxmlzq";
+      name = "kreversi-22.04.0.tar.xz";
     };
   };
   krfb = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/krfb-21.12.3.tar.xz";
-      sha256 = "1r8lvvh2z8xi0l3pizlpl12nm4fnbpgiwqmx18w8i51x4j27dv0n";
-      name = "krfb-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/krfb-22.04.0.tar.xz";
+      sha256 = "145wi252ah38c45p08jjwzd7f07d993mvn7nq30xc6vvs5mwgmia";
+      name = "krfb-22.04.0.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kross-interpreters-21.12.3.tar.xz";
-      sha256 = "0wyr3xwdkb2fiadzh5lhjli1g0mbxjw353q7k1vbi2wxg5b9042g";
-      name = "kross-interpreters-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kross-interpreters-22.04.0.tar.xz";
+      sha256 = "0nff5k9372yj8aqnbgfb4ljcmdg598jkfwrcpkay9vf51krimspp";
+      name = "kross-interpreters-22.04.0.tar.xz";
     };
   };
   kruler = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kruler-21.12.3.tar.xz";
-      sha256 = "0jmb3a907jx0s80865lmd7in8ggdf30gdbgykpalzfrv7nkjamzr";
-      name = "kruler-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kruler-22.04.0.tar.xz";
+      sha256 = "0ifd32x0xwrzx6whjja71qhwvzgsv956dxs05vsb4gw10sv8kwgl";
+      name = "kruler-22.04.0.tar.xz";
     };
   };
   kshisen = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kshisen-21.12.3.tar.xz";
-      sha256 = "1i11gh87gfza58rpdd44pjb423an9a44cls117ba9gznxm67cph5";
-      name = "kshisen-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kshisen-22.04.0.tar.xz";
+      sha256 = "0p1bxyayl5nlik9ksssqy1sa543zv9chi6cq10sic46gwz6cxbhr";
+      name = "kshisen-22.04.0.tar.xz";
     };
   };
   ksirk = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ksirk-21.12.3.tar.xz";
-      sha256 = "1ipnkg2mgj37g5s5ihlys176kn2c11f3d57xr9zhqf8fvkvrkfm0";
-      name = "ksirk-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ksirk-22.04.0.tar.xz";
+      sha256 = "1ys3k3y4gkyd7691yd7r7pr1csm05hmfvm60iwkv6g1a7imsanp7";
+      name = "ksirk-22.04.0.tar.xz";
     };
   };
   ksmtp = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ksmtp-21.12.3.tar.xz";
-      sha256 = "0kdy5gsg1sgccvdk1fpf866xl9m8v8z034jpgf6s7n2pr5r5mni2";
-      name = "ksmtp-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ksmtp-22.04.0.tar.xz";
+      sha256 = "15v7bqx6y2cvj71v30zdscddv5xc1vqxq2h6r1f2c1i1ppg0x91d";
+      name = "ksmtp-22.04.0.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ksnakeduel-21.12.3.tar.xz";
-      sha256 = "06rill73xhhxra7kmbvwwriv9vbi91641z334ry1m4rr1qm2cdd6";
-      name = "ksnakeduel-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ksnakeduel-22.04.0.tar.xz";
+      sha256 = "0d03ixx8fid3wagcajasasd1h9j87wxxix7521fmnq5qhdd77nyl";
+      name = "ksnakeduel-22.04.0.tar.xz";
     };
   };
   kspaceduel = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kspaceduel-21.12.3.tar.xz";
-      sha256 = "0dv539jlpkj8hr4cz0ncqm3scg6ja3s41p37bpqd94zicfvzxw84";
-      name = "kspaceduel-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kspaceduel-22.04.0.tar.xz";
+      sha256 = "0gyblvlcrbdspdf740mp4587f04lnl8jm5qq0gl5gmfads7l90bh";
+      name = "kspaceduel-22.04.0.tar.xz";
     };
   };
   ksquares = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ksquares-21.12.3.tar.xz";
-      sha256 = "1wbrakq1wnwp558y140j9vbid3g0k332rwbilky7z11c0giiv76x";
-      name = "ksquares-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ksquares-22.04.0.tar.xz";
+      sha256 = "122i3wwbvvc66i8mzmql3z4s23nmjc9k9rfbl9v0202hcalgzhv8";
+      name = "ksquares-22.04.0.tar.xz";
     };
   };
   ksudoku = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ksudoku-21.12.3.tar.xz";
-      sha256 = "1gw0ybwhvg1z8pcs72f73y52jvzvrw367g275axf2rw50iik6jwv";
-      name = "ksudoku-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ksudoku-22.04.0.tar.xz";
+      sha256 = "088bkzx1n81al774h2n9nvkhsg42alc5n4fffh490lx3ys8ckdgq";
+      name = "ksudoku-22.04.0.tar.xz";
     };
   };
   ksystemlog = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ksystemlog-21.12.3.tar.xz";
-      sha256 = "0jkd0rx0xlzwsxa3s40sp5x4r19a9rg1x9klpnjfw0b326vgf2m9";
-      name = "ksystemlog-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ksystemlog-22.04.0.tar.xz";
+      sha256 = "1927515lh64qk041d5qpshx4fy3k5hsnzv6c2jqdsa39fll5wli5";
+      name = "ksystemlog-22.04.0.tar.xz";
     };
   };
   kteatime = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kteatime-21.12.3.tar.xz";
-      sha256 = "0i3ps1a8y8crmxf1631q4zjfa0zglqhq1rk6id5v2xx8f10rkh54";
-      name = "kteatime-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kteatime-22.04.0.tar.xz";
+      sha256 = "1xhxz2x1a35vsibgn8myqg976gqdhipsw48c961f0vfzyw9q62gk";
+      name = "kteatime-22.04.0.tar.xz";
     };
   };
   ktimer = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktimer-21.12.3.tar.xz";
-      sha256 = "0s6zbygxnk69dciyz1iv1d6whfcv637licsd07n7fc8bsygqjl5p";
-      name = "ktimer-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktimer-22.04.0.tar.xz";
+      sha256 = "0zg5hk69wz395b8faz7s8sxl3ncr6vkybz0zd3m70cm85cxv5jwv";
+      name = "ktimer-22.04.0.tar.xz";
     };
   };
   ktnef = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktnef-21.12.3.tar.xz";
-      sha256 = "1in991n8alkxf40p0wvkr7gdaaz8w4kdw1rsq6sbjil6cs4cr5nl";
-      name = "ktnef-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktnef-22.04.0.tar.xz";
+      sha256 = "0kk50qf8k7q9qsdqwr2fy580adw3a4a6x0q4a825smch1m35wih0";
+      name = "ktnef-22.04.0.tar.xz";
     };
   };
   ktorrent = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktorrent-21.12.3.tar.xz";
-      sha256 = "021x6qcbk4kdh5ay5mqmf92129s42j2rhrs0q350b0wcnpad55zd";
-      name = "ktorrent-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktorrent-22.04.0.tar.xz";
+      sha256 = "1yclmg4hjvss0l2q0pzc1j9gz2nqwgj37kcvacxa38n6l5clfxb2";
+      name = "ktorrent-22.04.0.tar.xz";
     };
   };
   ktouch = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktouch-21.12.3.tar.xz";
-      sha256 = "0wi01gr85sxs4qhvnwkkp1230wnvz7gdr74zar03rc3wzwgv22nd";
-      name = "ktouch-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktouch-22.04.0.tar.xz";
+      sha256 = "03qr1q4nhayklkwyskh3wf5c101l90b9h8lp9v11y63gpzicsxhh";
+      name = "ktouch-22.04.0.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktp-accounts-kcm-21.12.3.tar.xz";
-      sha256 = "1ydsfiw67avgwswvpy85s3siggyi4w610yqz5dyl535i6my1kl5n";
-      name = "ktp-accounts-kcm-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktp-accounts-kcm-22.04.0.tar.xz";
+      sha256 = "0crhb1p09varma77awfq0a4dx9cjyqra5h7inlv0d4bb7vm7zd43";
+      name = "ktp-accounts-kcm-22.04.0.tar.xz";
     };
   };
   ktp-approver = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktp-approver-21.12.3.tar.xz";
-      sha256 = "0mvczpc0dy2m0dn25r2h2js3hw7s0qr8zl3syvqbyqqs51s59xnl";
-      name = "ktp-approver-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktp-approver-22.04.0.tar.xz";
+      sha256 = "1zgii0sclcxi1dhainpcbqyadcwmks84clmchld47kq1wjm5w0xa";
+      name = "ktp-approver-22.04.0.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktp-auth-handler-21.12.3.tar.xz";
-      sha256 = "0lgg0ify9mbsd8has8ingkq3m0g91r9gvfq85s2xf90cwc1s429c";
-      name = "ktp-auth-handler-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktp-auth-handler-22.04.0.tar.xz";
+      sha256 = "0cf6swv24pp7s5hf5nv3c6ipk2zmr6w6ikg16wzwcyva56h8izq8";
+      name = "ktp-auth-handler-22.04.0.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktp-call-ui-21.12.3.tar.xz";
-      sha256 = "1npr8qbpxx25pm9mky9sd0qngc5wphmy5blvl6qy7nvs2rqszgam";
-      name = "ktp-call-ui-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktp-call-ui-22.04.0.tar.xz";
+      sha256 = "0gy6sw403j129i81nhvcnvahlymvj5k8y8p37w935lzws0vr0r0p";
+      name = "ktp-call-ui-22.04.0.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktp-common-internals-21.12.3.tar.xz";
-      sha256 = "0spr2gs5d561agvipkipwcxk2zjlhzvp6swdh8rcv23qr6igqjq6";
-      name = "ktp-common-internals-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktp-common-internals-22.04.0.tar.xz";
+      sha256 = "1fd5wvmirlaxv43c72d3z7hncf434nb8fvr4g5nxiw69i0il8mvr";
+      name = "ktp-common-internals-22.04.0.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktp-contact-list-21.12.3.tar.xz";
-      sha256 = "1qn3bmwl4kvm5ikbr0ycy2znm4c2yv4m5863d4vakr8xhhappamp";
-      name = "ktp-contact-list-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktp-contact-list-22.04.0.tar.xz";
+      sha256 = "1nqr6qq12rg1vf20v89q7qvp9b7karybk4662ci7qbjyj9s2xgj9";
+      name = "ktp-contact-list-22.04.0.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktp-contact-runner-21.12.3.tar.xz";
-      sha256 = "0bwi0j733jnwiqlxv8nik1whdvk4aggfayy2bcwwpj5zdzr3mbga";
-      name = "ktp-contact-runner-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktp-contact-runner-22.04.0.tar.xz";
+      sha256 = "1s1dkp5cybia28k07xwa7180h8m2cm8y381kkpkg4pi6izadqfn8";
+      name = "ktp-contact-runner-22.04.0.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktp-desktop-applets-21.12.3.tar.xz";
-      sha256 = "01h26jsdb7mkw8isxpy4sfpdn11q209xqhhpnk7xvchs8fpl5fni";
-      name = "ktp-desktop-applets-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktp-desktop-applets-22.04.0.tar.xz";
+      sha256 = "1n5vlhlh1jasc87zdm9k8srpr7y67lzal36vdc4jbl9jlc96gm8n";
+      name = "ktp-desktop-applets-22.04.0.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktp-filetransfer-handler-21.12.3.tar.xz";
-      sha256 = "0aq5ii7b2kk0qan4qph9glapp81sgqm2zzbdknggxz7vkhj5y6lk";
-      name = "ktp-filetransfer-handler-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktp-filetransfer-handler-22.04.0.tar.xz";
+      sha256 = "01b1xid6zbvgnyp5fm5sp7gli0hhpa3a538pn469i50d61rhhnrv";
+      name = "ktp-filetransfer-handler-22.04.0.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktp-kded-module-21.12.3.tar.xz";
-      sha256 = "0921lahpqjx094ngk68pphkv306ajgxbp6yb0hkckmlic4f2hm37";
-      name = "ktp-kded-module-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktp-kded-module-22.04.0.tar.xz";
+      sha256 = "0m1rslk778j1kvx3f4cgiz925sd72kg4b3dhg3hjlmm95ypnf8d0";
+      name = "ktp-kded-module-22.04.0.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktp-send-file-21.12.3.tar.xz";
-      sha256 = "0vvg0qz2zxckqqwfibsl88w0mpa7a0lzskwhzbvzir03x14rwjlc";
-      name = "ktp-send-file-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktp-send-file-22.04.0.tar.xz";
+      sha256 = "1v7gzq2pivbxf4ypqg8k3ihya7cpyw3bmxda3f7a8x1n60z7pfx7";
+      name = "ktp-send-file-22.04.0.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktp-text-ui-21.12.3.tar.xz";
-      sha256 = "046611abkdn7qqh6n4v8ssdzg10q4g14rji7klypmccfng0px2xg";
-      name = "ktp-text-ui-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktp-text-ui-22.04.0.tar.xz";
+      sha256 = "1v25qqclqssdq2v9h010jib3cm5an5h7cyyrlmc4f5jx76d82rzj";
+      name = "ktp-text-ui-22.04.0.tar.xz";
     };
   };
   ktuberling = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/ktuberling-21.12.3.tar.xz";
-      sha256 = "1awsn285j9nggyypkra9ladgi46w2m7m09d8364w5d0sygpzmgsg";
-      name = "ktuberling-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/ktuberling-22.04.0.tar.xz";
+      sha256 = "19cxpxwyzcy3vif7q5rmzzr1qa1bhql2l309psi66b4yndxs1n8q";
+      name = "ktuberling-22.04.0.tar.xz";
     };
   };
   kturtle = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kturtle-21.12.3.tar.xz";
-      sha256 = "1689skwk2dwm4mrl2mrakb1cn74nyxd6xa8ipxsip5zhjgkkvg23";
-      name = "kturtle-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kturtle-22.04.0.tar.xz";
+      sha256 = "09w4wf7w5bck2ca59gsszjdyvyfwir9vwk5wwp0xciky1qwb2hpx";
+      name = "kturtle-22.04.0.tar.xz";
     };
   };
   kubrick = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kubrick-21.12.3.tar.xz";
-      sha256 = "0hx81cp1lql74c9067dw7mi78c6sp6p1a035j2nzjn9drpxal6p2";
-      name = "kubrick-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kubrick-22.04.0.tar.xz";
+      sha256 = "0k624kl2cv06r04b7y1dp7zyhcqampqa10cy77df6am20v6n0za3";
+      name = "kubrick-22.04.0.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kwalletmanager-21.12.3.tar.xz";
-      sha256 = "01xif44iz1ik32swlrzzjycizy4hjlis1f336qc9p7affjyv2797";
-      name = "kwalletmanager-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kwalletmanager-22.04.0.tar.xz";
+      sha256 = "05zc9aib2wnzn45mrcg59qkyfrwzxanddnnpv7z74ydw1ap28f6k";
+      name = "kwalletmanager-22.04.0.tar.xz";
     };
   };
   kwave = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kwave-21.12.3.tar.xz";
-      sha256 = "07xbbii5gpllbpmkxfv5kwxawd390zp0angh94xjk0yq71lvdav2";
-      name = "kwave-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kwave-22.04.0.tar.xz";
+      sha256 = "17a2gzawp9pg5aqmj3433qrqrh03yj5ldivnzr7alf5qdvj7p1c6";
+      name = "kwave-22.04.0.tar.xz";
     };
   };
   kwordquiz = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/kwordquiz-21.12.3.tar.xz";
-      sha256 = "1p06ki75zy4il6k9siavqddpr9j02z3lbnd14pxwk42fhfmbx057";
-      name = "kwordquiz-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/kwordquiz-22.04.0.tar.xz";
+      sha256 = "0pss1vz890hmv03g9gl1v6bmf73ga484qzp2j5x3mp1w3ks93s73";
+      name = "kwordquiz-22.04.0.tar.xz";
     };
   };
   libgravatar = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libgravatar-21.12.3.tar.xz";
-      sha256 = "1bihy3dfagwc7aday40myqjbn555mkzzaaq7c14ywkmhh99dhvh7";
-      name = "libgravatar-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libgravatar-22.04.0.tar.xz";
+      sha256 = "0zkbs3zniahfbhzf7qghm7d478vbhm1ifvv44xl4m596rhm18ibs";
+      name = "libgravatar-22.04.0.tar.xz";
     };
   };
   libkcddb = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libkcddb-21.12.3.tar.xz";
-      sha256 = "14f1mzsfm0vyqzsyja0p8ln1105sw5dr6fssj25j0qw4rnf9yw32";
-      name = "libkcddb-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libkcddb-22.04.0.tar.xz";
+      sha256 = "0x87pg6djih6sssd7zjqarnry9v9n6kbk2zirjgp8nic272irjfx";
+      name = "libkcddb-22.04.0.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libkcompactdisc-21.12.3.tar.xz";
-      sha256 = "1vmaf3b41sj0sm4k9zdliy5ba4ps5z0cwabggfish152wzw34kgn";
-      name = "libkcompactdisc-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libkcompactdisc-22.04.0.tar.xz";
+      sha256 = "152zq2c23cf13lmc6895pcw36plhb8is4hilf9jvcgx0jmzgs5kz";
+      name = "libkcompactdisc-22.04.0.tar.xz";
     };
   };
   libkdcraw = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libkdcraw-21.12.3.tar.xz";
-      sha256 = "1pyqsaaficwxbg6hk8xg8srq79i6xdxvghkn2rf54zj1435d9kva";
-      name = "libkdcraw-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libkdcraw-22.04.0.tar.xz";
+      sha256 = "0y9yvdfhbn0fy81y6d16r1vjcfxiq8g4wy6y5gqmkvzxhydfwb7r";
+      name = "libkdcraw-22.04.0.tar.xz";
     };
   };
   libkdegames = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libkdegames-21.12.3.tar.xz";
-      sha256 = "0x5mw25c8hmnxhcxc2xm19xmgdxfbx89nrxfl6mzfrh8myr3ybsb";
-      name = "libkdegames-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libkdegames-22.04.0.tar.xz";
+      sha256 = "0xif6jpdm9x0c6f4p8wy7lkyhxd1ckgw5vxn1d16v06jpw6xin2d";
+      name = "libkdegames-22.04.0.tar.xz";
     };
   };
   libkdepim = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libkdepim-21.12.3.tar.xz";
-      sha256 = "0g9jx6z5jf9yqn01xc1k038b4ljr9sil7bwvifc64s38qxl9wmww";
-      name = "libkdepim-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libkdepim-22.04.0.tar.xz";
+      sha256 = "14cq8zm2ldhql91v8cc9g9v81ny0g1x06qfj2jwlqjccmphywncd";
+      name = "libkdepim-22.04.0.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libkeduvocdocument-21.12.3.tar.xz";
-      sha256 = "16kk7ij2qxy5abgv9hgk1ycbx0f2gnpc9lxqbhl5sq9vxd4nblv0";
-      name = "libkeduvocdocument-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libkeduvocdocument-22.04.0.tar.xz";
+      sha256 = "0d4pxjvnnri45q8dn7r7qi9vv7kd8g35mhkc9jh80mqw5817pl5h";
+      name = "libkeduvocdocument-22.04.0.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libkexiv2-21.12.3.tar.xz";
-      sha256 = "0r2m6d9rw0r6rm6xqpj1i3w0hplhivy8h90zggqynfzvfyr9c529";
-      name = "libkexiv2-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libkexiv2-22.04.0.tar.xz";
+      sha256 = "0h3zjldpjz2jvkwp6scpxwjmxm5l0bcs25ivrl8s3yjjggil53wx";
+      name = "libkexiv2-22.04.0.tar.xz";
     };
   };
   libkgapi = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libkgapi-21.12.3.tar.xz";
-      sha256 = "1vbk8786mk1irm94bsm97270gnd149nz7w0zqnvwz499f72d21jx";
-      name = "libkgapi-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libkgapi-22.04.0.tar.xz";
+      sha256 = "0gvr1ins5sbf8q10waqgjpricvz5v5d8q0i6q4q3r0hncg7i21rw";
+      name = "libkgapi-22.04.0.tar.xz";
     };
   };
   libkipi = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libkipi-21.12.3.tar.xz";
-      sha256 = "0w2kwi6djwp8mhmpfrr16v8fgmwjmsc89rcwpfhgii1p68xia8gc";
-      name = "libkipi-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libkipi-22.04.0.tar.xz";
+      sha256 = "0xcwjx5kidqbf64b2pd4vlf9vzyjwm1jbbm89pyb2myiadkngzkj";
+      name = "libkipi-22.04.0.tar.xz";
     };
   };
   libkleo = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libkleo-21.12.3.tar.xz";
-      sha256 = "19q128ldi0aspy7vc03r54vrf7wz7l1181x9pbmax8340nbnaz7l";
-      name = "libkleo-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libkleo-22.04.0.tar.xz";
+      sha256 = "1vwfa38wh0di2q4999bnw8dfyn8ckph5b88z0v218gl1iwwsxgsf";
+      name = "libkleo-22.04.0.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libkmahjongg-21.12.3.tar.xz";
-      sha256 = "114viyqq7zlwsdnm96iyyvj8ma4p06m69hs641yv42xlbkspwbal";
-      name = "libkmahjongg-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libkmahjongg-22.04.0.tar.xz";
+      sha256 = "0g50qks245zw9g9inzkk9n9bbzambi3pf5sd0m4qcd4hlkq494q3";
+      name = "libkmahjongg-22.04.0.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libkomparediff2-21.12.3.tar.xz";
-      sha256 = "1j93lf9adyw581a9i8kc1pj6vadscibw49wvwfs750f0kxn5p0d2";
-      name = "libkomparediff2-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libkomparediff2-22.04.0.tar.xz";
+      sha256 = "0487grz2q8g3cxmirp2mzzk87xljdnakh0lqvjqc0773siwg97ww";
+      name = "libkomparediff2-22.04.0.tar.xz";
     };
   };
   libksane = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libksane-21.12.3.tar.xz";
-      sha256 = "0ci2284ysh4q8sbhqcg5bis2v02bp5x64h8n0qik14yy24x852zg";
-      name = "libksane-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libksane-22.04.0.tar.xz";
+      sha256 = "055x396jhkzqzfk54flig4cpn12hfvmsm5x5ini2vhjfdc986fkk";
+      name = "libksane-22.04.0.tar.xz";
     };
   };
   libksieve = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libksieve-21.12.3.tar.xz";
-      sha256 = "1li9cc5y6xbn4m4qa21qmsjd4xzshp67mxwh2nvr17mfs8ray7vd";
-      name = "libksieve-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libksieve-22.04.0.tar.xz";
+      sha256 = "0ybmccxrsfvlsxrhbk4f1szj6y2gz520j5a7mdqwarwj2ba2fnvy";
+      name = "libksieve-22.04.0.tar.xz";
     };
   };
   libktorrent = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/libktorrent-21.12.3.tar.xz";
-      sha256 = "0i976al9bsc3gbplqbxkxr03sdhxv3yzjlfkdaghga8fkihzkkl0";
-      name = "libktorrent-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/libktorrent-22.04.0.tar.xz";
+      sha256 = "0xgh27yi06sx4jc6bfdayc2jx4fbf66939k9amg7m728sgd3yq1h";
+      name = "libktorrent-22.04.0.tar.xz";
     };
   };
   lokalize = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/lokalize-21.12.3.tar.xz";
-      sha256 = "1gzfiajy377kx0iar85z72zqxh7y9vhp1hs03zzqymazawm9lqnn";
-      name = "lokalize-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/lokalize-22.04.0.tar.xz";
+      sha256 = "1r6r3bkcnqaj7r398pl30plzs81bwj83lzbmch8pl25v8vksd0w0";
+      name = "lokalize-22.04.0.tar.xz";
     };
   };
   lskat = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/lskat-21.12.3.tar.xz";
-      sha256 = "1cfs1lfwgxwpn2g56y7jb2c6ijd81bi8ba8ap0yyx6nhv6na072b";
-      name = "lskat-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/lskat-22.04.0.tar.xz";
+      sha256 = "0nr78krgf6hy3brn94g0lcwkw6bif5ivhhmmx62b4p3iqy6155c0";
+      name = "lskat-22.04.0.tar.xz";
     };
   };
   mailcommon = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/mailcommon-21.12.3.tar.xz";
-      sha256 = "1zi8zkhv9g4vsylqzjm2wr9v6b20irfxhf4q467cmpqqrqpcp3af";
-      name = "mailcommon-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/mailcommon-22.04.0.tar.xz";
+      sha256 = "0yx2j9j3pylgliadbc1j2w4jmqb3ydciy7x9swhgf0zm8a0gj0k6";
+      name = "mailcommon-22.04.0.tar.xz";
     };
   };
   mailimporter = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/mailimporter-21.12.3.tar.xz";
-      sha256 = "0lcr9zzdf16f82spr9x33jnzr23sx7xk2zvfpzdki3b5jxvapnsk";
-      name = "mailimporter-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/mailimporter-22.04.0.tar.xz";
+      sha256 = "07rkcnylpalhd774dsvsyv1lg5i8ya2wkn3zmgswvsnlxiymlv2s";
+      name = "mailimporter-22.04.0.tar.xz";
     };
   };
   marble = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/marble-21.12.3.tar.xz";
-      sha256 = "0v6qd9cl6g8k55mjq2lswsfcxzf88w33nlm1193ps3ac0awjaaa4";
-      name = "marble-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/marble-22.04.0.tar.xz";
+      sha256 = "0qlrg5vy2rvvgimg1bxlyia5czygqn5gwf1nfkjdm1xk6scj2fgb";
+      name = "marble-22.04.0.tar.xz";
     };
   };
   markdownpart = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/markdownpart-21.12.3.tar.xz";
-      sha256 = "1drvjrvmd2c36xj3x7kxb7lvk23cmaw8mi976pdfnxn5pdamv6wl";
-      name = "markdownpart-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/markdownpart-22.04.0.tar.xz";
+      sha256 = "130vm0h07phzg7rdcdijcnr8nlyif7gcf80a7pfxjirxszy3l5zw";
+      name = "markdownpart-22.04.0.tar.xz";
     };
   };
   mbox-importer = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/mbox-importer-21.12.3.tar.xz";
-      sha256 = "01bh0yzv23vkicc7lj217rp8c36kyyjlxmkwylss3hakr4b3afan";
-      name = "mbox-importer-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/mbox-importer-22.04.0.tar.xz";
+      sha256 = "1j4l6lziyj1vb7m3m6cxlydk3k66iy2ivmrqarl040r2c2xp36wa";
+      name = "mbox-importer-22.04.0.tar.xz";
     };
   };
   messagelib = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/messagelib-21.12.3.tar.xz";
-      sha256 = "0xrhnkahqirsz37lbvx505ll7bfhr25lbq89yqq81bxbzkbvamsw";
-      name = "messagelib-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/messagelib-22.04.0.tar.xz";
+      sha256 = "0ny9qv26a8vi0vg5990bw82jz25balk3j0419ssbgakwybgfgkkb";
+      name = "messagelib-22.04.0.tar.xz";
     };
   };
   minuet = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/minuet-21.12.3.tar.xz";
-      sha256 = "0r68z3j0j2gbwzj77wvsx1idrfkagj0pjai9j7fbqa0r6q833flr";
-      name = "minuet-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/minuet-22.04.0.tar.xz";
+      sha256 = "1q74jkkc0yd03xar6bpg62kvwh6kfpvipqvramg91sdi5k77rr56";
+      name = "minuet-22.04.0.tar.xz";
     };
   };
   okular = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/okular-21.12.3.tar.xz";
-      sha256 = "054rzdqsqkjx2sncyfcnfdvm9bp45sdw3rycmpzicnwpn5j4hcb3";
-      name = "okular-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/okular-22.04.0.tar.xz";
+      sha256 = "1gz3nal7m0jlcblrzy4d3fszcj03h7z2wmvyj12v459l1k0vmvj7";
+      name = "okular-22.04.0.tar.xz";
     };
   };
   palapeli = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/palapeli-21.12.3.tar.xz";
-      sha256 = "076igql89sx55hfxjb79248ih4cjbkr1s1jnz46y3dk793rscm8g";
-      name = "palapeli-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/palapeli-22.04.0.tar.xz";
+      sha256 = "0wixgr17z0mwmb78wn126bvg512z9dbd5gm6k1x9wikhlfi91mkd";
+      name = "palapeli-22.04.0.tar.xz";
     };
   };
   parley = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/parley-21.12.3.tar.xz";
-      sha256 = "10hv885l0gz5aymf72f42bhkncfarj768nb12q9fxqk4x5rviiw0";
-      name = "parley-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/parley-22.04.0.tar.xz";
+      sha256 = "0wkjkyddx95rai0p5q6hd47swrykk20g62c5n5hh5picr9yacr98";
+      name = "parley-22.04.0.tar.xz";
     };
   };
   partitionmanager = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/partitionmanager-21.12.3.tar.xz";
-      sha256 = "0x0k3vsbngcb7kvcgqj2w025fn9xvfd2232lx51xfar5r3jb7h1p";
-      name = "partitionmanager-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/partitionmanager-22.04.0.tar.xz";
+      sha256 = "06lhxgwal3fjxyb2v4vvd67r6dyd5hf08hz7lnyp0b0xx7f6fa3q";
+      name = "partitionmanager-22.04.0.tar.xz";
     };
   };
   picmi = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/picmi-21.12.3.tar.xz";
-      sha256 = "0gk1yq5ac55k6lxbxszxpd393fb9k6yphisb71lx2zv9gchl44n6";
-      name = "picmi-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/picmi-22.04.0.tar.xz";
+      sha256 = "0q2wrn323wwwfnf0w6cvw0fhv3fsxhqj3a2qdki9yzz5rb5mc2y9";
+      name = "picmi-22.04.0.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/pim-data-exporter-21.12.3.tar.xz";
-      sha256 = "0qcwsbb4zsjgc15fhq9pp341wwm35y9v1lq8gnpjdsvfq2pczq5q";
-      name = "pim-data-exporter-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/pim-data-exporter-22.04.0.tar.xz";
+      sha256 = "02h76ividjadlmfmxnc1x2bif3mmgrc4q7yjxzf2jpjqdha80xyq";
+      name = "pim-data-exporter-22.04.0.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/pim-sieve-editor-21.12.3.tar.xz";
-      sha256 = "1gp4gpagv6pfiy6gyfh14z1rb16iqm1npmngw6ybjlhh6d424n90";
-      name = "pim-sieve-editor-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/pim-sieve-editor-22.04.0.tar.xz";
+      sha256 = "1c9w4bnh3a9w79lakqsv780zqdpl8g6wsax994p6lglzs56xs299";
+      name = "pim-sieve-editor-22.04.0.tar.xz";
     };
   };
   pimcommon = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/pimcommon-21.12.3.tar.xz";
-      sha256 = "1k1d100lr277lgwyzn2ssxsx9x2yd9nfd5657r95vmdnkh2qs517";
-      name = "pimcommon-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/pimcommon-22.04.0.tar.xz";
+      sha256 = "0iqmyb9xx8h8ay6yzf9xbrg7c67jlsrywwlljynj7lh4n2wjg3sc";
+      name = "pimcommon-22.04.0.tar.xz";
     };
   };
   poxml = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/poxml-21.12.3.tar.xz";
-      sha256 = "19hrb75fbh102fw8ajflj4777s7hq7vxv6kbwjir6wzsvdfanwdb";
-      name = "poxml-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/poxml-22.04.0.tar.xz";
+      sha256 = "15m55qb2wn66nxg0j7jwz0r4zg180dbm1ynnx1yj39iprra9j9k7";
+      name = "poxml-22.04.0.tar.xz";
     };
   };
   print-manager = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/print-manager-21.12.3.tar.xz";
-      sha256 = "1q9vv5v9hivm583hcx8qa7xik9yv4zicrd02abcsn6hvgwmdav8b";
-      name = "print-manager-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/print-manager-22.04.0.tar.xz";
+      sha256 = "0fq4q57nxiingwmkj6hsgvg3gaix6rkgfskpg442vbhc70s280q9";
+      name = "print-manager-22.04.0.tar.xz";
     };
   };
   rocs = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/rocs-21.12.3.tar.xz";
-      sha256 = "1fgjap71qnaydar9q155is7vwjlkpa8wi1162dsqxr5ywy464wrg";
-      name = "rocs-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/rocs-22.04.0.tar.xz";
+      sha256 = "1x80ln8px5fywb1zhc569nrpnpv5iyr73vxl1ckh3s337xn44pd7";
+      name = "rocs-22.04.0.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/signon-kwallet-extension-21.12.3.tar.xz";
-      sha256 = "0sv0g50bxxd442ia7wzk2lkqwr8lsjxk5wm3zsskxhql851y0ybm";
-      name = "signon-kwallet-extension-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/signon-kwallet-extension-22.04.0.tar.xz";
+      sha256 = "1s6jjhqkz2pv2ki87ka8y4b4gqv8wmlc332hrrlfa8cafldrpl9k";
+      name = "signon-kwallet-extension-22.04.0.tar.xz";
     };
   };
   skanlite = {
-    version = "21.12.3";
+    version = "22.04.0";
+    src = fetchurl {
+      url = "${mirror}/stable/release-service/22.04.0/src/skanlite-22.04.0.tar.xz";
+      sha256 = "155d62q26xfba7ihbj6mz5vyydl6bkcxzwa6fxn62kgnpq8axdxf";
+      name = "skanlite-22.04.0.tar.xz";
+    };
+  };
+  skanpage = {
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/skanlite-21.12.3.tar.xz";
-      sha256 = "06dwmdjrss7cqqigg4rwsy5dya35577qwdaxj2jbvs2pkzp9rq3p";
-      name = "skanlite-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/skanpage-22.04.0.tar.xz";
+      sha256 = "1n72796546x9fh0bhnlc43mlcrpdqlkph605f8nb7vznkpdnb8zq";
+      name = "skanpage-22.04.0.tar.xz";
     };
   };
   spectacle = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/spectacle-21.12.3.tar.xz";
-      sha256 = "155xin26lkjr0swb281afha906nqy2821lf2spmzzxa3xalzq3sv";
-      name = "spectacle-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/spectacle-22.04.0.tar.xz";
+      sha256 = "07dx9jg9i5s1cg0zsz9s06qipz80dv0bq2q1dfy82p6xrji30pdc";
+      name = "spectacle-22.04.0.tar.xz";
     };
   };
   step = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/step-21.12.3.tar.xz";
-      sha256 = "0j3w63bxj3b4lrfb0mnchlvsr987v5zwwjw5jrgvqidrhv1rh7dc";
-      name = "step-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/step-22.04.0.tar.xz";
+      sha256 = "007zbkg8gg56f733wp2dbb0xskja5c6pm3n181lirqq831ai9rnb";
+      name = "step-22.04.0.tar.xz";
     };
   };
   svgpart = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/svgpart-21.12.3.tar.xz";
-      sha256 = "0yg8sn1z9zfb7a6y61nw7vya516sfaydkgxh7cfwiz7sljl87z8j";
-      name = "svgpart-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/svgpart-22.04.0.tar.xz";
+      sha256 = "16nz12sc1zgyaa6rilqymfcw0waj0ha8xydlsbgv83v1wqlxlfwj";
+      name = "svgpart-22.04.0.tar.xz";
     };
   };
   sweeper = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/sweeper-21.12.3.tar.xz";
-      sha256 = "1l4ag2nhy0da9z4nlf7fmjrim7pmwpm3m4v4y50jlpdv73f63246";
-      name = "sweeper-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/sweeper-22.04.0.tar.xz";
+      sha256 = "1fvjq1pcqnadpvkh5jdlb62l54x7r99zshd59jdxy6h7fji3pkbs";
+      name = "sweeper-22.04.0.tar.xz";
     };
   };
   umbrello = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/umbrello-21.12.3.tar.xz";
-      sha256 = "1i94l5hnn8hl0dgdq8sj5xm2vk372zfcnch9qvf9gcvhg08gdif6";
-      name = "umbrello-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/umbrello-22.04.0.tar.xz";
+      sha256 = "1n3jvsrzmfzm7x9f125hsf8i80r0iiqzv80ddc7fpzdyxpd83xpl";
+      name = "umbrello-22.04.0.tar.xz";
     };
   };
   yakuake = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/yakuake-21.12.3.tar.xz";
-      sha256 = "10mkr8svkjf2s023mf21cil2c5v986s5b2yp1hm0fzdgmawpwrh9";
-      name = "yakuake-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/yakuake-22.04.0.tar.xz";
+      sha256 = "01i0ddgz81mzqlnj6cvslzv2h1nbz238hg75izfpbajvzm46pydp";
+      name = "yakuake-22.04.0.tar.xz";
     };
   };
   zanshin = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/zanshin-21.12.3.tar.xz";
-      sha256 = "1cwawpmx5hc60zkdkyh484lp3bwiipn6c3yh164gzw769vz9zr71";
-      name = "zanshin-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/zanshin-22.04.0.tar.xz";
+      sha256 = "1d0sn9km4xdxs28avhxpc1xpkm5bcmg8i06x97xvls4cxh3nbgm9";
+      name = "zanshin-22.04.0.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "21.12.3";
+    version = "22.04.0";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.3/src/zeroconf-ioslave-21.12.3.tar.xz";
-      sha256 = "09jmf233njbqam1swzvpzfgdplpjzdx48vjy6kcpmjvg2qlm7i2l";
-      name = "zeroconf-ioslave-21.12.3.tar.xz";
+      url = "${mirror}/stable/release-service/22.04.0/src/zeroconf-ioslave-22.04.0.tar.xz";
+      sha256 = "0nppr0qm5aqail1y370b26ky9snz033j3ij9sykc1yq9il8kkpp4";
+      name = "zeroconf-ioslave-22.04.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/kde/yakuake.nix b/pkgs/applications/kde/yakuake.nix
index 10bf27038ae..7c98275b917 100644
--- a/pkgs/applications/kde/yakuake.nix
+++ b/pkgs/applications/kde/yakuake.nix
@@ -23,6 +23,8 @@ mkDerivation {
     extra-cmake-modules kdoctools
   ];
 
+  outputs = [ "out" "dev" ];
+
   meta = {
     homepage = "https://yakuake.kde.org";
     description = "Quad-style terminal emulator for KDE";
diff --git a/pkgs/applications/logging/sosreport/default.nix b/pkgs/applications/logging/sosreport/default.nix
new file mode 100644
index 00000000000..eb4f812767a
--- /dev/null
+++ b/pkgs/applications/logging/sosreport/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, gettext
+, pexpect
+}:
+
+buildPythonPackage rec {
+  pname = "sosreport";
+  version = "4.3";
+
+  src = fetchFromGitHub {
+    owner = "sosreport";
+    repo = "sos";
+    rev = version;
+    sha256 = "sha256-fLEYRRQap7xqSyUU9MAV8cxxYKydHjn8J147VTXSf78=";
+  };
+
+  patches = [
+    (fetchpatch {
+      # fix sos --help
+      url = "https://github.com/sosreport/sos/commit/ac4eb48fa35c13b99ada41540831412480babf8d.patch";
+      sha256 = "sha256-6ZRoDDZN2KkHTXOKuHTAquB/HTIUppodmx83WxxYFP0=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    gettext
+  ];
+
+  propagatedBuildInputs = [
+    pexpect
+  ];
+
+  # requires avocado-framework 94.0, latest version as of writing is 96.0
+  doCheck = false;
+
+  preCheck = ''
+    export PYTHONPATH=$PWD/tests:$PYTHONPATH
+  '';
+
+  pythonImportsCheck = [ "sos" ];
+
+  meta = with lib; {
+    description = "Unified tool for collecting system logs and other debug information";
+    homepage = "https://github.com/sosreport/sos";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix
index 9d7a4fcd94c..ffd4103e214 100644
--- a/pkgs/applications/misc/1password/default.nix
+++ b/pkgs/applications/misc/1password/default.nix
@@ -12,12 +12,12 @@ let
     if extension == "zip" then fetchzip args else fetchurl args;
 
   pname = "1password-cli";
-  version = "2.0.0";
+  version = "2.1.0";
   sources = rec {
-    aarch64-linux = fetch "linux_arm64" "sha256-NhCs68on8LzoeOmM5eP8LwmFaVWz6aghqtHzfUlACiA=" "zip";
-    i686-linux = fetch "linux_386" "sha256-vCxgEBq4YVfljq2zUpvBdZUbIiam4z64P1m9OMWq1f4=" "zip";
-    x86_64-linux = fetch "linux_amd64" "sha256-CDwrJ5ksXf9kwHobw4jvRUi1hLQzq4/yRlk+kHPN7UE=" "zip";
-    aarch64-darwin = fetch "apple_universal" "sha256-DC9hdzRjQ9iNjbe6PfRpMXzDeInq4rYSAa2nDHQMTRo=" "pkg";
+    aarch64-linux = fetch "linux_arm64" "sha256-DTYWqhawyAQBIxMUksZheyN8WSVPyhCghZC8orxKsBk=" "zip";
+    i686-linux = fetch "linux_386" "sha256-JBjiKxbJnFILSOVnOUIcY3GpbOT2UOJlasTSPRyYz4I=" "zip";
+    x86_64-linux = fetch "linux_amd64" "sha256-PfVOvUF8Rls29VzfIj1U6/VFv1H6lj2K3Dz6DWmh2fs=" "zip";
+    aarch64-darwin = fetch "apple_universal" "sha256-Cn3/+Dvk5hW9rvxu4I9ghHSS1yWSAeQq3gx+6dvFiIk=" "pkg";
     x86_64-darwin = aarch64-darwin;
   };
   platforms = builtins.attrNames sources;
diff --git a/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix b/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix
index db2f3333280..7b0148457fa 100644
--- a/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix
+++ b/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix
@@ -55,12 +55,12 @@
   (fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.13.14"; sha256 = "07xsdx8j1rhp712kwy8jx9ang6f9zljqrvaggf0ssj5zqbliz93p"; })
   (fetchNuGet { pname = "JetBrains.Annotations"; version = "2021.3.0"; sha256 = "01ssylllbwpana2w3iybi533zlvcsbhzjc8kr0g4kg307kjbfn8v"; })
   (fetchNuGet { pname = "Markdig.Signed"; version = "0.26.0"; sha256 = "1giwdvmy6n4vfb0g7sxmdf9bklb4r2vdfhm1xfxvqys8rfm15d4z"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "6.0.3"; sha256 = "0s874cs94p1rxdy6n22ch3vr1ad1w0nkh7cnjxvxcjim2b4lfvln"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.3"; sha256 = "1jpw4s862j4aa7b7wchi03gxcy02j6hhpbsfbcayiyx6ry788i15"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.3"; sha256 = "0rrrfgkr7rzhlnsnajvzb1ijkybp99d992bqxy9pbawmq7d60bdk"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.3"; sha256 = "0s0xpqd0nc9kldfay5j1krbc1nyfasxw4xxjx1mwpnbr7n99wbms"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.3"; sha256 = "09whyl3i9mzy10n5zxlq66lj3l4p29hm75igmdip2fb376zxyam3"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.3"; sha256 = "11kv50kll3iq88kn40f5v5qlq8mydv6y6xz2cbzjw4aadd44njwq"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "6.0.4"; sha256 = "195yldf6ws9qbb2aqrrr9bbaq9f8i0dvyb8jgrvg7jhay8j775ay"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.4"; sha256 = "0s1hkanhfv7virdynxxx28kp3w596iiplvi0jqv3dsr63gl0m0m7"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.4"; sha256 = "1fvv5ri32pbl43628zqnim6fbv6hjxf66p0v793xdh57dzkdyh0j"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.4"; sha256 = "0244kxk61hddbgwkg7d7b3lf3w545w31m7hkmdb09b6jhk0kdf16"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.4"; sha256 = "1m8iaq78kii0z4lxwq1igm8f4yv010blrifab4zp491b0j0qg1d4"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.4"; sha256 = "1sqv7vhkm4j11rl7mfvs4mmmclcdps2n4pf31ck2mcx54nr4d2kj"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "6.0.0-rc.1.21452.15"; sha256 = "0c3vnaag8gxlxij77n18m3hawpjkjjamsnq5kfjz5cvc7sfg3fwh"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; version = "6.0.0-rc.1.21452.15"; sha256 = "1xyx358w4fqzxr9cy358agnm86rjijbnvikiqlngz2msgmldxi2z"; })
   (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.0.0"; sha256 = "18gdbsqf6i79ld4ikqr4jhx9ndsggm865b5xj1xmnmgg12ydp19a"; })
@@ -75,18 +75,17 @@
   (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "5.0.0"; sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; })
   (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.0.0"; sha256 = "0bknyf5kig5icwjxls7pcn51x2b2qf91dz9qv67fl70v6cczaz2r"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.3"; sha256 = "14lypnhdby9939l75y6i077x4ccb22yakzjrbapl8an438h09yf8"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.3"; sha256 = "1swbrmpsayy99ycwaq68dx9ydd5h3qv9brwig6ryff1xfn1llndq"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.3"; sha256 = "1py3nrfvllqlnb9mhs0qwgy7c14n33b2hfb0qc49rx22sqv8ylbp"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.3"; sha256 = "0rshhsygm3id8wig8mqs846l8dck65drszpzjh1d00d1fk2bxzs4"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.3"; sha256 = "0k9gc94cvn36p0v3pj296asg2sq9a8ah6lfw0xvvmd4hq2k72s79"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.3"; sha256 = "1y428glba68s76icjzfl1v3p61pcz7rd78wybhabs8zq8w9cp2pj"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "6.0.3"; sha256 = "0ws9vxias9iynhcajkl9lz4c8f6hc4b5spypxd0ha33lcjaj408a"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.3"; sha256 = "0gjj6p2nnxzhyrmmmwiyrll782famhll9lbgj8cji1i93amxq1pb"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.3"; sha256 = "0f04srx6q0jk81a60n956hz32fdngzp0xmdb2x7gyl77gsq8yijj"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.3"; sha256 = "003s3x2ffk4g76jy4b60n6vizly03amjbli4lngsy0wzc86c0ij1"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.3"; sha256 = "0180ipzzz9pc6f6l17rg5bxz1ghzbapmiqq66kdl33bmbny6vmm9"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.3"; sha256 = "1rjkzs2013razi2xs943q62ys1jh8blhjcnj75qkvirf859d11qw"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.4"; sha256 = "1zm9q9yvglsn5w786c9cjdfj1a8z4sipmvn9rhg3ps23rllxwmcc"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.4"; sha256 = "0g1vw0wr88zlfpdg2gz8c0mriasci1kzvjia4nj19j7b0zaga7f0"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.4"; sha256 = "08mrvb71kldzla2j7v10ifxrc6bwsrd4bms2rqfb7rmx00qs6yj0"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.4"; sha256 = "0vgjwpy55mf6x22a634cdidckyq5hi941i9p10jqyrbnc637frv2"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.4"; sha256 = "1qasm6j25lmcc4xn7f7s3jli1pypz1kfnj7j9dkjlx9mc8r356zp"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "6.0.4"; sha256 = "026kl3cdbk35rjcnbj92bv7pvx20jd80hxxrnz1s4kzlm4rsp0bv"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.4"; sha256 = "09i8ca56szmvyp1xlddyv3124rrcar8vgsq3pmprcylfdjarck6x"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.4"; sha256 = "1gibwhplbanv6bz3l71w8vhzlgqsh21bms30dbf1n60v7p02fl3h"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.4"; sha256 = "0h7vkcxaqjll65qka6hsz2hi0vmsizg4ys38a0qg76r0blsnk2yr"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.4"; sha256 = "0gkzqsmj12wwdh548rb9drjgmyzvqalmwwq0fzvgj9c7zm1gdndi"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.4"; sha256 = "1x4ysack9n57h8w1ybfyczkf3w6jsgz7ila0czm2011w4sjnyqj0"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
diff --git a/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix b/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix
index db2f3333280..7b0148457fa 100644
--- a/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix
+++ b/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix
@@ -55,12 +55,12 @@
   (fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.13.14"; sha256 = "07xsdx8j1rhp712kwy8jx9ang6f9zljqrvaggf0ssj5zqbliz93p"; })
   (fetchNuGet { pname = "JetBrains.Annotations"; version = "2021.3.0"; sha256 = "01ssylllbwpana2w3iybi533zlvcsbhzjc8kr0g4kg307kjbfn8v"; })
   (fetchNuGet { pname = "Markdig.Signed"; version = "0.26.0"; sha256 = "1giwdvmy6n4vfb0g7sxmdf9bklb4r2vdfhm1xfxvqys8rfm15d4z"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "6.0.3"; sha256 = "0s874cs94p1rxdy6n22ch3vr1ad1w0nkh7cnjxvxcjim2b4lfvln"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.3"; sha256 = "1jpw4s862j4aa7b7wchi03gxcy02j6hhpbsfbcayiyx6ry788i15"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.3"; sha256 = "0rrrfgkr7rzhlnsnajvzb1ijkybp99d992bqxy9pbawmq7d60bdk"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.3"; sha256 = "0s0xpqd0nc9kldfay5j1krbc1nyfasxw4xxjx1mwpnbr7n99wbms"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.3"; sha256 = "09whyl3i9mzy10n5zxlq66lj3l4p29hm75igmdip2fb376zxyam3"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.3"; sha256 = "11kv50kll3iq88kn40f5v5qlq8mydv6y6xz2cbzjw4aadd44njwq"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "6.0.4"; sha256 = "195yldf6ws9qbb2aqrrr9bbaq9f8i0dvyb8jgrvg7jhay8j775ay"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.4"; sha256 = "0s1hkanhfv7virdynxxx28kp3w596iiplvi0jqv3dsr63gl0m0m7"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.4"; sha256 = "1fvv5ri32pbl43628zqnim6fbv6hjxf66p0v793xdh57dzkdyh0j"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.4"; sha256 = "0244kxk61hddbgwkg7d7b3lf3w545w31m7hkmdb09b6jhk0kdf16"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.4"; sha256 = "1m8iaq78kii0z4lxwq1igm8f4yv010blrifab4zp491b0j0qg1d4"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.4"; sha256 = "1sqv7vhkm4j11rl7mfvs4mmmclcdps2n4pf31ck2mcx54nr4d2kj"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "6.0.0-rc.1.21452.15"; sha256 = "0c3vnaag8gxlxij77n18m3hawpjkjjamsnq5kfjz5cvc7sfg3fwh"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; version = "6.0.0-rc.1.21452.15"; sha256 = "1xyx358w4fqzxr9cy358agnm86rjijbnvikiqlngz2msgmldxi2z"; })
   (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.0.0"; sha256 = "18gdbsqf6i79ld4ikqr4jhx9ndsggm865b5xj1xmnmgg12ydp19a"; })
@@ -75,18 +75,17 @@
   (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "5.0.0"; sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; })
   (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.0.0"; sha256 = "0bknyf5kig5icwjxls7pcn51x2b2qf91dz9qv67fl70v6cczaz2r"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.3"; sha256 = "14lypnhdby9939l75y6i077x4ccb22yakzjrbapl8an438h09yf8"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.3"; sha256 = "1swbrmpsayy99ycwaq68dx9ydd5h3qv9brwig6ryff1xfn1llndq"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.3"; sha256 = "1py3nrfvllqlnb9mhs0qwgy7c14n33b2hfb0qc49rx22sqv8ylbp"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.3"; sha256 = "0rshhsygm3id8wig8mqs846l8dck65drszpzjh1d00d1fk2bxzs4"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.3"; sha256 = "0k9gc94cvn36p0v3pj296asg2sq9a8ah6lfw0xvvmd4hq2k72s79"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.3"; sha256 = "1y428glba68s76icjzfl1v3p61pcz7rd78wybhabs8zq8w9cp2pj"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "6.0.3"; sha256 = "0ws9vxias9iynhcajkl9lz4c8f6hc4b5spypxd0ha33lcjaj408a"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.3"; sha256 = "0gjj6p2nnxzhyrmmmwiyrll782famhll9lbgj8cji1i93amxq1pb"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.3"; sha256 = "0f04srx6q0jk81a60n956hz32fdngzp0xmdb2x7gyl77gsq8yijj"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.3"; sha256 = "003s3x2ffk4g76jy4b60n6vizly03amjbli4lngsy0wzc86c0ij1"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.3"; sha256 = "0180ipzzz9pc6f6l17rg5bxz1ghzbapmiqq66kdl33bmbny6vmm9"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.3"; sha256 = "1rjkzs2013razi2xs943q62ys1jh8blhjcnj75qkvirf859d11qw"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.4"; sha256 = "1zm9q9yvglsn5w786c9cjdfj1a8z4sipmvn9rhg3ps23rllxwmcc"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.4"; sha256 = "0g1vw0wr88zlfpdg2gz8c0mriasci1kzvjia4nj19j7b0zaga7f0"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.4"; sha256 = "08mrvb71kldzla2j7v10ifxrc6bwsrd4bms2rqfb7rmx00qs6yj0"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.4"; sha256 = "0vgjwpy55mf6x22a634cdidckyq5hi941i9p10jqyrbnc637frv2"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.4"; sha256 = "1qasm6j25lmcc4xn7f7s3jli1pypz1kfnj7j9dkjlx9mc8r356zp"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "6.0.4"; sha256 = "026kl3cdbk35rjcnbj92bv7pvx20jd80hxxrnz1s4kzlm4rsp0bv"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.4"; sha256 = "09i8ca56szmvyp1xlddyv3124rrcar8vgsq3pmprcylfdjarck6x"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.4"; sha256 = "1gibwhplbanv6bz3l71w8vhzlgqsh21bms30dbf1n60v7p02fl3h"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.4"; sha256 = "0h7vkcxaqjll65qka6hsz2hi0vmsizg4ys38a0qg76r0blsnk2yr"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.4"; sha256 = "0gkzqsmj12wwdh548rb9drjgmyzvqalmwwq0fzvgj9c7zm1gdndi"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.4"; sha256 = "1x4ysack9n57h8w1ybfyczkf3w6jsgz7ila0czm2011w4sjnyqj0"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
diff --git a/pkgs/applications/misc/anytype/default.nix b/pkgs/applications/misc/anytype/default.nix
index 4603bea9238..07cbee42694 100644
--- a/pkgs/applications/misc/anytype/default.nix
+++ b/pkgs/applications/misc/anytype/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "anytype";
-  version = "0.25.0";
+  version = "0.25.4";
   name = "Anytype-${version}";
   nameExecutable = pname;
   src = fetchurl {
     url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage";
     name = "Anytype-${version}.AppImage";
-    sha256 = "sha256-cfiSZLfaVmxsZWDwulbMHKzHCG7zMKCWwg8q/2MolVs=";
+    sha256 = "sha256-v6Zecv/m1GvPJk/SmLlxHFyeYbNbIB+x17+AKCI45AM=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 in
diff --git a/pkgs/applications/misc/archivy/default.nix b/pkgs/applications/misc/archivy/default.nix
index 2f07b6dbf95..e7146052702 100644
--- a/pkgs/applications/misc/archivy/default.nix
+++ b/pkgs/applications/misc/archivy/default.nix
@@ -1,4 +1,8 @@
-{ lib, stdenv, python3, fetchPypi }:
+{ lib
+, stdenv
+, python3
+, fetchPypi
+}:
 
 let
   defaultOverrides = [
@@ -37,11 +41,12 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "archivy";
-  version = "1.7.1";
+  version = "1.7.2";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-UNGl5Dl/E3+uQ4HIxzHYliHF4lqD3GYdeoL+DtqUwCo=";
+    hash = "sha256-o5dVJDbdKgo6hMMU9mKzoouSgVWl7xSAp+Aq61VcfeU=";
   };
 
   # Relax some dependencies
@@ -54,6 +59,7 @@ buildPythonApplication rec {
       --replace 'python_frontmatter == 0.5.0' 'python_frontmatter' \
       --replace 'requests ==' 'requests >=' \
       --replace 'validators ==' 'validators >=' \
+      --replace 'flask-login == ' 'flask-login >= ' \
       --replace 'tinydb ==' 'tinydb >=' \
       --replace 'Flask_WTF == 0.14.3' 'Flask_WTF' \
       --replace 'Flask ==' 'Flask >='
diff --git a/pkgs/applications/misc/audio/wavesurfer/default.nix b/pkgs/applications/misc/audio/wavesurfer/default.nix
deleted file mode 100644
index 99cdc9ade21..00000000000
--- a/pkgs/applications/misc/audio/wavesurfer/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, fetchurl, snack, tcl, tk, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "wavesurfer";
-  version = "1.8.5";
-
-  src = fetchurl {
-    url = "https://www.speech.kth.se/wavesurfer/wavesurfer-${version}.tar.gz";
-    sha256 = "1yx9s1j47cq0v40cwq2gn7bdizpw46l95ba4zl9z4gg31mfvm807";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ snack tcl tk ];
-
-  installPhase = ''
-    mkdir -p $out/{bin,nix-support,share/wavesurfer/}
-    mv doc $out/share/wavesurfer
-    mv * $out/nix-support
-    ln -s $out/{nix-support,bin}/wavesurfer.tcl
-    wrapProgram "$out/nix-support/wavesurfer.tcl"  \
-                 --set TCLLIBPATH "${snack}/lib" \
-                 --prefix PATH : "${lib.makeBinPath [ tcl tk ]}"
-  '';
-
-  meta = {
-    description = "Tool for recording, playing, editing, viewing and labeling of audio";
-    homepage = "https://www.speech.kth.se/wavesurfer/";
-    license = lib.licenses.bsd0;
-  };
-}
diff --git a/pkgs/applications/misc/ausweisapp2/default.nix b/pkgs/applications/misc/ausweisapp2/default.nix
index 9f3c1c82b5e..6f55e5dd17c 100644
--- a/pkgs/applications/misc/ausweisapp2/default.nix
+++ b/pkgs/applications/misc/ausweisapp2/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "AusweisApp2";
-  version = "1.22.4";
+  version = "1.22.5";
 
   src = fetchFromGitHub {
     owner = "Governikus";
     repo = "AusweisApp2";
     rev = version;
-    sha256 = "sha256-Mms7Vibq1Rlb2XbxiV4o1UsjDRJcwG5ZZdPOWHjnW2A=";
+    sha256 = "sha256-EuHg8JrI6ZoyTXqD3v4cfk4/NovAj4fF2NY1V2ZF64c=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/applications/misc/authy/default.nix b/pkgs/applications/misc/authy/default.nix
index 70a5075ae6b..1dfe075fa84 100644
--- a/pkgs/applications/misc/authy/default.nix
+++ b/pkgs/applications/misc/authy/default.nix
@@ -1,7 +1,29 @@
-{ alsa-lib, at-spi2-atk, at-spi2-core, atk, autoPatchelfHook, cairo, cups
-, dbus, electron_9, expat, fetchurl, gdk-pixbuf, glib, gtk3, lib
-, libappindicator-gtk3, libdbusmenu-gtk3, libuuid, makeWrapper
-, nspr, nss, pango, squashfsTools, stdenv, systemd, xorg
+{ alsa-lib
+, at-spi2-atk
+, at-spi2-core
+, atk
+, autoPatchelfHook
+, cairo
+, cups
+, dbus
+, electron_9
+, expat
+, fetchurl
+, gdk-pixbuf
+, glib
+, gtk3
+, lib
+, libappindicator-gtk3
+, libdbusmenu-gtk3
+, libuuid
+, makeWrapper
+, nspr
+, nss
+, pango
+, squashfsTools
+, stdenv
+, systemd
+, xorg
 }:
 
 let
@@ -11,8 +33,9 @@ in
 
 stdenv.mkDerivation rec {
   pname = "authy";
-  version = "1.9.0";
-  rev = "7";
+  # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/authy?channel=stable' | jq '.download_url,.version'
+  version = "2.1.0";
+  rev = "9";
 
   buildInputs = [
     alsa-lib
@@ -50,7 +73,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_${rev}.snap";
-    sha256 = "10az47cc3lgsdi0ixmmna08nqf9xm7gsl1ph00wfwrxzsi05ygx3";
+    sha256 = "sha256-RxjxOYrbneVctyTJTMvoN/UdREohaZWb1kTdEeI6mUU=";
   };
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper squashfsTools ];
diff --git a/pkgs/applications/misc/barrier/default.nix b/pkgs/applications/misc/barrier/default.nix
index 63a04d18115..66ad4046d1f 100644
--- a/pkgs/applications/misc/barrier/default.nix
+++ b/pkgs/applications/misc/barrier/default.nix
@@ -1,6 +1,7 @@
 { lib, fetchFromGitHub, cmake, curl, xorg, avahi, qtbase, mkDerivation,
   openssl, wrapGAppsHook,
-  avahiWithLibdnssdCompat ? avahi.override { withLibdnssdCompat = true; }
+  avahiWithLibdnssdCompat ? avahi.override { withLibdnssdCompat = true; },
+  fetchpatch
 }:
 
 mkDerivation rec {
@@ -15,6 +16,16 @@ mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = [
+    # This patch can be removed when a new version of barrier (greater than 2.4.0)
+    # is released, which will contain this commit.
+    (fetchpatch {
+      name = "add-missing-cstddef-header.patch";
+      url = "https://github.com/debauchee/barrier/commit/4b12265ae5d324b942698a3177e1d8b1749414d7.patch";
+      sha256 = "sha256-ajMxP7szBFi4h8cMT3qswfa3k/QiJ1FGI3q9fkCFQQk=";
+    })
+  ];
+
   buildInputs = [ curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ];
   nativeBuildInputs = [ cmake wrapGAppsHook ];
 
diff --git a/pkgs/applications/misc/bottles/default.nix b/pkgs/applications/misc/bottles/default.nix
index 45a91522a2a..242fc499b65 100644
--- a/pkgs/applications/misc/bottles/default.nix
+++ b/pkgs/applications/misc/bottles/default.nix
@@ -20,13 +20,13 @@ let
 in
 python3Packages.buildPythonApplication rec {
   pname = "bottles";
-  version = "2022.4.14-trento-1";
+  version = "2022.5.2-trento";
 
   src = fetchFromGitHub {
     owner = "bottlesdevs";
     repo = pname;
     rev = version;
-    sha256 = "16cb01fhxa64f8fadwpr0mawfmchig6xlbx20mz4q9yh5fnagywj";
+    sha256 = "sha256-9auQm8rmySjPQmhueGMRj4DsQiKhCGtE97byc/h+v84=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/calcurse/default.nix b/pkgs/applications/misc/calcurse/default.nix
index 837fcc5c27d..740c463038c 100644
--- a/pkgs/applications/misc/calcurse/default.nix
+++ b/pkgs/applications/misc/calcurse/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "calcurse";
-  version = "4.7.1";
+  version = "4.8.0";
 
   src = fetchurl {
     url = "https://calcurse.org/files/${pname}-${version}.tar.gz";
-    sha256 = "sha256-CnxV0HZ0Vp0WbAsOdYeyly09qBYM231gsdvSiVgDr7A=";
+    sha256 = "sha256-SKc2ZmzEtrUwEtc7OqcBUsGLQebHtIB/qw8WjWRa4yw=";
   };
 
   buildInputs = [ ncurses gettext python3 python3Packages.wrapPython ];
@@ -28,7 +28,8 @@ stdenv.mkDerivation rec {
       be used to filter and format appointments, making it suitable for use in scripts.
     '';
     homepage = "https://calcurse.org/";
+    changelog = "https://git.calcurse.org/calcurse.git/plain/CHANGES.md?h=v${version}";
     license = licenses.bsd2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index b3754fed179..8f672deb693 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -104,7 +104,6 @@ mkDerivation rec {
       pillow
       pyqt-builder
       pyqt5
-      pyqtwebengine
       python
       regex
       sip
@@ -114,6 +113,11 @@ mkDerivation rec {
       pycryptodome
       # the following are distributed with calibre, but we use upstream instead
       odfpy
+    ] ++ lib.optionals (lib.lists.any (p: p == stdenv.hostPlatform.system) pyqtwebengine.meta.platforms) [
+      # much of calibre's functionality is usable without a web
+      # browser, so we enable building on platforms which qtwebengine
+      # does not support by simply omitting qtwebengine.
+      pyqtwebengine
     ] ++ lib.optional (unrarSupport) unrardll
   );
 
diff --git a/pkgs/applications/misc/charm/default.nix b/pkgs/applications/misc/charm/default.nix
index 0db2be5151a..faaea86a664 100644
--- a/pkgs/applications/misc/charm/default.nix
+++ b/pkgs/applications/misc/charm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "charm";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "charm";
     rev = "v${version}";
-    sha256 = "sha256-98TUiFy4X7lMUostkgZikk6r6wzBPF0pqWthrS9nU+U=";
+    sha256 = "sha256-XXKzK5MXJsB3LE7iE5BqnLm0hPs7WbyHR0x9aTldrj4=";
   };
 
-  vendorSha256 = "sha256-enkt7BUAntbB75LR12NB0vW6z9dTPzk0bGdRrn3JHm4=";
+  vendorSha256 = "sha256-6PGdM7aa1BGNZc3M35PJpmrlPUqkykxfTELdgeKcJD4=";
 
   ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
 
diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix
index 317613ffd53..7506f57e73f 100644
--- a/pkgs/applications/misc/dasel/default.nix
+++ b/pkgs/applications/misc/dasel/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dasel";
-  version = "1.24.1";
+  version = "1.24.3";
 
   src = fetchFromGitHub {
     owner = "TomWright";
     repo = "dasel";
     rev = "v${version}";
-    sha256 = "sha256-B6MWoGYNjFBUxnSqAXt2DRRjSlmgbqIC7qEoMFGQ+zU=";
+    sha256 = "sha256-aAP5hyo4t5IX4wLwyNDuXxAYbAkS36S1UewYs9ZFJM4=";
   };
 
-  vendorSha256 = "sha256-NP+Is7Dxz4LGzx5vpv8pJOJhodAYHia1JXYfhJD54as=";
+  vendorSha256 = "sha256-zli9SEBU6n0JusAquqb9+O2W4yPZS7zmC5PCebVSeIA=";
 
   ldflags = [
     "-s" "-w" "-X github.com/tomwright/dasel/internal.Version=${version}"
diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix
index 116d5430c2a..6afd9ee6242 100644
--- a/pkgs/applications/misc/dunst/default.nix
+++ b/pkgs/applications/misc/dunst/default.nix
@@ -3,7 +3,7 @@
 , cairo, dbus, systemd, gdk-pixbuf, glib, libX11, libXScrnSaver
 , wayland, wayland-protocols
 , libXinerama, libnotify, pango, xorgproto, librsvg
-, testVersion, dunst
+, testers, dunst
 }:
 
 stdenv.mkDerivation rec {
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
   '';
 
-  passthru.tests.version = testVersion { package = dunst; };
+  passthru.tests.version = testers.testVersion { package = dunst; };
 
   meta = with lib; {
     description = "Lightweight and customizable notification daemon";
diff --git a/pkgs/applications/misc/evtest/default.nix b/pkgs/applications/misc/evtest/default.nix
index 84fae703a0c..c4b0df2cc0d 100644
--- a/pkgs/applications/misc/evtest/default.nix
+++ b/pkgs/applications/misc/evtest/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://anongit.freedesktop.org/${pname}";
     rev = "refs/tags/${pname}-${version}";
-    sha256 = "168gdhzj11f4nk94a6z696sm8v1njzwww69bn6wr97l17897913g";
+    sha256 = "sha256-0UGcoGkNF/19aSTWNEFAmZP7seL/yObXsOLlZLiyG2Q=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/ff2mpv/default.nix b/pkgs/applications/misc/ff2mpv/default.nix
new file mode 100644
index 00000000000..b26e09012cf
--- /dev/null
+++ b/pkgs/applications/misc/ff2mpv/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv, fetchFromGitHub, python3, mpv }:
+
+stdenv.mkDerivation rec {
+  pname = "ff2mpv";
+  version = "4.0.0";
+
+  src = fetchFromGitHub {
+    owner = "woodruffw";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-sxUp/JlmnYW2sPDpIO2/q40cVJBVDveJvbQMT70yjP4=";
+  };
+
+  buildInputs = [ python3 mpv ];
+
+  postPatch = ''
+    patchShebangs .
+    substituteInPlace ff2mpv.json \
+      --replace '/home/william/scripts/ff2mpv' "$out/bin/ff2mpv.py"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/lib/mozilla/native-messaging-hosts
+    cp ff2mpv.py $out/bin
+    cp ff2mpv.json $out/lib/mozilla/native-messaging-hosts
+  '';
+
+  meta = {
+    description = "Native Messaging Host for ff2mpv firefox addon.";
+    homepage = "https://github.com/woodruffw/ff2mpv";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ Enzime ];
+  };
+}
diff --git a/pkgs/applications/misc/fluidd/default.nix b/pkgs/applications/misc/fluidd/default.nix
index 766b05b2e14..5d709235741 100644
--- a/pkgs/applications/misc/fluidd/default.nix
+++ b/pkgs/applications/misc/fluidd/default.nix
@@ -2,12 +2,12 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "fluidd";
-  version = "1.17.1";
+  version = "1.17.2";
 
   src = fetchurl {
     name = "fluidd-v${version}.zip";
     url = "https://github.com/cadriel/fluidd/releases/download/v${version}/fluidd.zip";
-    sha256 = "sha256-F4hAFLsZmRg/zeTHo9eYoT0BasorynGaSzNSbKr2/JE=";
+    sha256 = "sha256-kb7t3H2gpiN6/N/LxyG/Vu5Cp/zytAePsXmacxVyWCk=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/misc/fspy/default.nix b/pkgs/applications/misc/fspy/default.nix
index 4baf053d713..f3a5094831e 100644
--- a/pkgs/applications/misc/fspy/default.nix
+++ b/pkgs/applications/misc/fspy/default.nix
@@ -2,7 +2,6 @@
 let
   pname = "fspy";
   version = "1.0.3";
-  name = "${pname}-v${version}";
 
   src = fetchurl {
     url = "https://github.com/stuffmatic/fSpy/releases/download/v${version}/${pname}-${version}-x86_64.AppImage";
@@ -10,10 +9,10 @@ let
   };
 
 in appimageTools.wrapType2 {
-  inherit name src;
+  inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
+    mv $out/bin/${pname}-v${version} $out/bin/${pname}
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix
index 46bd189fcf8..0d563da0edd 100644
--- a/pkgs/applications/misc/gallery-dl/default.nix
+++ b/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonApplication rec {
   pname = "gallery_dl";
-  version = "1.21.1";
+  version = "1.21.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-oLVrYM7F9JFDYgQL/XgJS9LeUexqcSlvmkwyAk1bpoY=";
+    sha256 = "sha256-xn+Y8WOIH6zkExO3ZNya3ZBwh90oSjSk00xfO0c23To=";
   };
 
   propagatedBuildInputs = [ requests yt-dlp ];
diff --git a/pkgs/applications/misc/gnome-secrets/default.nix b/pkgs/applications/misc/gnome-secrets/default.nix
index 00e55b9e7a8..f937b123026 100644
--- a/pkgs/applications/misc/gnome-secrets/default.nix
+++ b/pkgs/applications/misc/gnome-secrets/default.nix
@@ -5,7 +5,6 @@
 , gettext
 , fetchFromGitLab
 , python3Packages
-, libpwquality
 , wrapGAppsHook4
 , gtk4
 , glib
@@ -17,7 +16,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gnome-secrets";
-  version = "6.1";
+  version = "6.4";
   format = "other";
   strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
 
@@ -26,7 +25,7 @@ python3Packages.buildPythonApplication rec {
     owner = "World";
     repo = "secrets";
     rev = version;
-    sha256 = "sha256-TBGNiiR0GW8s/Efi4/Qqvwd87Ir0gCLGPfBmmqqSwQ8=";
+    sha256 = "sha256-qO2DJ/Eb9+G1R3un2+n9Tf6oxpGrEuH3SBrajQ9tCPU=";
   };
 
   nativeBuildInputs = [
@@ -45,6 +44,7 @@ python3Packages.buildPythonApplication rec {
     glib
     gdk-pixbuf
     libadwaita
+    python3Packages.libpwquality.dev # Use python-enabled libpwquality
   ];
 
   propagatedBuildInputs = with python3Packages; [
@@ -52,14 +52,9 @@ python3Packages.buildPythonApplication rec {
     construct
     pykeepass
     pyotp
-  ] ++ [
-    libpwquality # using the python bindings
+    libpwquality
   ];
 
-  postPatch = ''
-    substituteInPlace meson_post_install.py --replace "gtk-update-icon-cache" "gtk4-update-icon-cache";
-  '';
-
   # Prevent double wrapping, let the Python wrapper use the args in preFixup.
   dontWrapGApps = true;
 
@@ -76,4 +71,3 @@ python3Packages.buildPythonApplication rec {
     maintainers = with maintainers; [ mvnetbiz ];
   };
 }
-
diff --git a/pkgs/applications/misc/gremlin-console/default.nix b/pkgs/applications/misc/gremlin-console/default.nix
index 9e505bf8ae9..1c8fe38ea8e 100644
--- a/pkgs/applications/misc/gremlin-console/default.nix
+++ b/pkgs/applications/misc/gremlin-console/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "gremlin-console";
-  version = "3.5.3";
+  version = "3.6.0";
   src = fetchzip {
     url = "https://downloads.apache.org/tinkerpop/${version}/apache-tinkerpop-gremlin-console-${version}-bin.zip";
-    sha256 = "sha256-pcxJYK+hBFlJ8CmuHGcI+U3x3nE/f9Nu37Nkd3C2Hy8=";
+    sha256 = "sha256-gYlHZuRKpBpC0will4EoJGyHW41vSjAT8Yg8yK6PCms=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/hello/default.nix b/pkgs/applications/misc/hello/default.nix
index ecb78928217..c82de2ae027 100644
--- a/pkgs/applications/misc/hello/default.nix
+++ b/pkgs/applications/misc/hello/default.nix
@@ -1,25 +1,25 @@
-{ lib
+{ callPackage
+, lib
 , stdenv
 , fetchurl
 , nixos
-, testVersion
 , testers
 , hello
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "hello";
   version = "2.12";
 
   src = fetchurl {
-    url = "mirror://gnu/hello/${pname}-${version}.tar.gz";
+    url = "mirror://gnu/hello/hello-${finalAttrs.version}.tar.gz";
     sha256 = "1ayhp9v4m4rdhjmnl2bq3cibrbqqkgjbl3s7yk2nhlh8vj3ay16g";
   };
 
   doCheck = true;
 
   passthru.tests = {
-    version = testVersion { package = hello; };
+    version = testers.testVersion { package = hello; };
 
     invariant-under-noXlibs =
       testers.testEqualDerivation
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
         (nixos { environment.noXlibs = true; }).pkgs.hello;
   };
 
+  passthru.tests.run = callPackage ./test.nix { hello = finalAttrs.finalPackage; };
+
   meta = with lib; {
     description = "A program that produces a familiar, friendly greeting";
     longDescription = ''
@@ -35,9 +37,9 @@ stdenv.mkDerivation rec {
       It is fully customizable.
     '';
     homepage = "https://www.gnu.org/software/hello/manual/";
-    changelog = "https://git.savannah.gnu.org/cgit/hello.git/plain/NEWS?h=v${version}";
+    changelog = "https://git.savannah.gnu.org/cgit/hello.git/plain/NEWS?h=v${finalAttrs.version}";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.eelco ];
     platforms = platforms.all;
   };
-}
+})
diff --git a/pkgs/applications/misc/hello/test.nix b/pkgs/applications/misc/hello/test.nix
new file mode 100644
index 00000000000..7acded2a16f
--- /dev/null
+++ b/pkgs/applications/misc/hello/test.nix
@@ -0,0 +1,8 @@
+{ runCommand, hello }:
+
+runCommand "hello-test-run" {
+  nativeBuildInputs = [ hello ];
+} ''
+  diff -U3 --color=auto <(hello) <(echo 'Hello, world!')
+  touch $out
+''
diff --git a/pkgs/applications/misc/hubstaff/default.nix b/pkgs/applications/misc/hubstaff/default.nix
index a164654b1a6..44169f6a539 100644
--- a/pkgs/applications/misc/hubstaff/default.nix
+++ b/pkgs/applications/misc/hubstaff/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation {
     ln -s $opt/data/resources $opt/x86_64/resources
   '';
 
-  updateScript = writeShellScript "hubstaff-updater" ''
+  passthru.updateScript = writeShellScript "hubstaff-updater" ''
     set -eu -o pipefail
 
     installation_script_url=$(curl --fail --head --location --silent --output /dev/null --write-out %{url_effective} https://app.hubstaff.com/download/linux)
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 8be9c83e50a..32144870cf1 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.96.0";
+  version = "0.98.0";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3O+ZdOloh5gILPQssztt7s/MwRgDOnpJItwLn7FXnPU=";
+    sha256 = "sha256-oZzjnuu6C522qBs/A83jKIZ3dUrJRmKJ/C8NRX31yvw=";
   };
 
-  vendorSha256 = "sha256-TgE/ToHBg2QBgtk0gPZTV/icIbQN14RpVAbL/8b+W0U=";
+  vendorSha256 = "sha256-HM5IE/rVNWyTfjUtVOlw+69+YoWYlLtU2FOXeH2BAi8=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/ipmiview/default.nix b/pkgs/applications/misc/ipmiview/default.nix
index 4c01e52aa5d..a25806533ef 100644
--- a/pkgs/applications/misc/ipmiview/default.nix
+++ b/pkgs/applications/misc/ipmiview/default.nix
@@ -13,12 +13,12 @@
 
 stdenv.mkDerivation rec {
   pname = "IPMIView";
-  version = "2.19.0";
-  buildVersion = "210401";
+  version = "2.20.0";
+  buildVersion = "220309";
 
   src = fetchurl {
     url = "https://www.supermicro.com/wftp/utility/IPMIView/Linux/IPMIView_${version}_build.${buildVersion}_bundleJRE_Linux_x64.tar.gz";
-    sha256 = "sha256-6hxOu/Wkcrp9MaMYlxOR2DZW21Wi3BIFZp3Vm8NRBWs=";
+    hash = "sha256-qtklBMuK0jb9Ye0IkYM2WYFRMAfZg9tk08a1JQ64cjA=";
   };
 
   nativeBuildInputs = [ patchelf makeWrapper ];
diff --git a/pkgs/applications/misc/joplin-desktop/default.nix b/pkgs/applications/misc/joplin-desktop/default.nix
index 42d87b41fc9..c842b7c4b36 100644
--- a/pkgs/applications/misc/joplin-desktop/default.nix
+++ b/pkgs/applications/misc/joplin-desktop/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "joplin-desktop";
-  version = "2.7.13";
+  version = "2.7.15";
   name = "${pname}-${version}";
 
   inherit (stdenv.hostPlatform) system;
@@ -16,8 +16,8 @@ let
   src = fetchurl {
     url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.${suffix}";
     sha256 = {
-      x86_64-linux = "sha256-ObuBcFV5fq2sryC+ETTAH+S19EW+nVlxdVOtOpiBeDs=";
-      x86_64-darwin = "sha256-f0+/kUukP+zIzTSSGO1ctUBd/uCSrAKz+uBnrzpPy5k=";
+      x86_64-linux = "sha256-PtfDH2W8wolqa10BoI9hazcj+1bszlnpt+D+sbzSRts=";
+      x86_64-darwin = "sha256-CPD/2x5FxHL9CsYz9EZJX5SYiFGz7/fjntOlDMKHYEA=";
     }.${system} or throwSystem;
   };
 
diff --git a/pkgs/applications/misc/k4dirstat/default.nix b/pkgs/applications/misc/k4dirstat/default.nix
index e2e43ae0997..552a63240d5 100644
--- a/pkgs/applications/misc/k4dirstat/default.nix
+++ b/pkgs/applications/misc/k4dirstat/default.nix
@@ -7,7 +7,7 @@
 , kjobwidgets
 , kxmlgui
 , lib
-, testVersion
+, testers
 , k4dirstat
 }:
 
@@ -26,7 +26,7 @@ mkDerivation rec {
   buildInputs = [ kiconthemes kio kjobwidgets kxmlgui ];
 
   passthru.tests.version =
-    testVersion {
+    testers.testVersion {
       package = k4dirstat;
       command = "k4dirstat -platform offscreen --version &>/dev/stdout";
     };
diff --git a/pkgs/applications/misc/kiln/default.nix b/pkgs/applications/misc/kiln/default.nix
index dfa114f446a..2eb329dd511 100644
--- a/pkgs/applications/misc/kiln/default.nix
+++ b/pkgs/applications/misc/kiln/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "kiln";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchFromSourcehut {
     owner = "~adnano";
     repo = pname;
     rev = version;
-    hash = "sha256-c6ed62Nn++qw+U/DCiYeGwF77YsBxexWKZ7UQ3LE4fI=";
+    hash = "sha256-owON9ZNi8BufkeARjC6SwxzM81YJYu+bakhH5quzMrA=";
   };
 
   nativeBuildInputs = [ scdoc ];
 
-  vendorSha256 = "sha256-bMpzebwbVHAbBtw0uuGyWd4wnM9z6tlsEQN4S/iucgk=";
+  vendorSha256 = "sha256-C1ueL/zmPzFbpNo5BF56/t74nwCUvb2Vu1exssPqOPE=";
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/applications/misc/kjv/default.nix b/pkgs/applications/misc/kjv/default.nix
index 08a1b5a71af..ee599fd3b6c 100644
--- a/pkgs/applications/misc/kjv/default.nix
+++ b/pkgs/applications/misc/kjv/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, fetchpatch, readline }:
 
 let
-  patchPrefix = "https://github.com/samuelgrf/kjv/commit/";
+  patchPrefix = "https://web.archive.org/web/20220422205751/https://github.com/samuelgrf/kjv/commit/";
 
   add-apocrypha = fetchpatch {
     url = patchPrefix + "0856fa0d37b45de0d6b47d163b5ea9a0b7f2c061.patch";
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
     description = "The Bible, King James Version";
     homepage = "https://github.com/bontibon/kjv";
     license = licenses.unlicense;
-    maintainers = with maintainers; [ jtobin samuelgrf ];
+    maintainers = with maintainers; [ jtobin ];
     mainProgram = "kjv";
   };
 }
diff --git a/pkgs/applications/misc/libosmocore/default.nix b/pkgs/applications/misc/libosmocore/default.nix
index 273ca0245a2..2b825705b00 100644
--- a/pkgs/applications/misc/libosmocore/default.nix
+++ b/pkgs/applications/misc/libosmocore/default.nix
@@ -1,16 +1,25 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config
-, pcsclite, talloc, python2, gnutls
+{ lib, stdenv
+, autoreconfHook
+, fetchFromGitHub
+, gnutls
+, libmnl
+, libusb1
+, lksctp-tools
+, pcsclite
+, pkg-config
+, python3
+, talloc
 }:
 
 stdenv.mkDerivation rec {
   pname = "libosmocore";
-  version = "1.2.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "osmocom";
     repo = "libosmocore";
     rev = version;
-    sha256 = "1535y6r4csvslrxcki80ya6zhhc5jw2nvy9bymb55ln77pf853vg";
+    hash = "sha256-AjOyZiLlXhsetbyMBuUssoNxk22LzGOkZpeLt4vKli4=";
   };
 
   propagatedBuildInputs = [
@@ -18,11 +27,17 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    autoreconfHook pkg-config
+    autoreconfHook
+    pkg-config
+    python3
   ];
 
   buildInputs = [
-    pcsclite python2 gnutls
+    gnutls
+    libmnl
+    libusb1
+    lksctp-tools
+    pcsclite
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/misc/lighthouse/default.nix b/pkgs/applications/misc/lighthouse/default.nix
deleted file mode 100644
index 01ffb7a9ffe..00000000000
--- a/pkgs/applications/misc/lighthouse/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config
-, libX11, libxcb, cairo, gtk2, pango, python27, python3
-}:
-
-stdenv.mkDerivation rec {
-  pname = "lighthouse";
-  version = "unstable-2016-07-20";
-
-  src = fetchFromGitHub {
-    owner = "emgram769";
-    repo = "lighthouse";
-    rev = "d1813ef8e2aca9f6b3609b1e0c6d1d5ee683281a";
-    sha256 = "0v6ylm49f1b44zwq1y1gqxp2csyqblplr24ajllc2q3r0sc9m1ys";
-   };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    libX11 libxcb cairo gtk2 pango python27 python3
-  ];
-
-  makeFlags = [ "PREFIX=\${out}" ];
-
-  preFixup = "chmod +x $out/share/lighthouse/.config/lighthouse/google.py";
-
-  postFixup = "chmod -x $out/share/lighthouse/.config/lighthouse/google.py";
-
-  meta = with lib; {
-    description = "A simple flexible popup dialog to run on X";
-    homepage = "https://github.com/emgram769/lighthouse";
-    license = licenses.mit;
-    maintainers = with maintainers; [ ramkromberg ];
-    platforms = platforms.linux;
-  };
-
-}
diff --git a/pkgs/applications/misc/marktext/default.nix b/pkgs/applications/misc/marktext/default.nix
index 16886390837..fc83e543dcf 100644
--- a/pkgs/applications/misc/marktext/default.nix
+++ b/pkgs/applications/misc/marktext/default.nix
@@ -2,20 +2,19 @@
 
 let
   pname = "marktext";
-  version = "v0.17.1";
-  name = "${pname}-${version}-binary";
+  version = "0.17.1";
 
   src = fetchurl {
-    url = "https://github.com/marktext/marktext/releases/download/${version}/marktext-x86_64.AppImage";
+    url = "https://github.com/marktext/marktext/releases/download/v${version}/marktext-x86_64.AppImage";
     sha256 = "2e2555113e37df830ba3958efcccce7020907b12fd4162368cfd906aeda630b7";
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 in
 appimageTools.wrapType2 rec {
-  inherit name src;
+  inherit pname version src;
 
   profile = ''
     export LC_ALL=C.UTF-8
@@ -35,7 +34,7 @@ appimageTools.wrapType2 rec {
 
   extraInstallCommands = ''
     # Strip version from binary name.
-    mv $out/bin/${name} $out/bin/${pname}
+    mv $out/bin/${pname}-${version} $out/bin/${pname}
 
     install -m 444 -D ${appimageContents}/marktext.desktop $out/share/applications/marktext.desktop
     substituteInPlace $out/share/applications/marktext.desktop \
diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix
index cab136d55dc..68453252ba5 100644
--- a/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/pkgs/applications/misc/masterpdfeditor/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "masterpdfeditor";
-  version = "5.8.33";
+  version = "5.8.46";
 
   src = fetchurl {
     url = "https://code-industry.net/public/master-pdf-editor-${version}-qt5.x86_64.tar.gz";
-    sha256 = "sha256-sgLF/NpaNlkL5iA1l7QzMiYKwRcMDu2DHdTIaeHOtfI=";
+    sha256 = "sha256-xms4aqIxYXR6v226RMf+abrFU1xz2aDIL6iQ+Yfff1k=";
   };
 
   nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ];
diff --git a/pkgs/applications/misc/megacmd/default.nix b/pkgs/applications/misc/megacmd/default.nix
index 698925220aa..afdfc6c905e 100644
--- a/pkgs/applications/misc/megacmd/default.nix
+++ b/pkgs/applications/misc/megacmd/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "megacmd";
-  version = "1.5.0";
+  version = "1.5.0c";
 
   src = fetchFromGitHub {
     owner = "meganz";
     repo = "MEGAcmd";
     rev = "${version}_Linux";
-    sha256 = "Y/FkbN9mTuBpcKCSQg0M+3/IPzJ58X4iZhX2kMVDv7A=";
+    sha256 = "sha256-JHuGkf6TBOZMvoP7Izm5/T9AWxyjaqrxR99x4bm7tVE=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/mepo/default.nix b/pkgs/applications/misc/mepo/default.nix
index 72e05d19bbd..1b5178bb14a 100644
--- a/pkgs/applications/misc/mepo/default.nix
+++ b/pkgs/applications/misc/mepo/default.nix
@@ -3,27 +3,39 @@
 , fetchFromSourcehut
 , pkg-config
 , zig
+, makeWrapper
 , curl
 , SDL2
 , SDL2_gfx
 , SDL2_image
 , SDL2_ttf
+, jq
+, ncurses
+, inconsolata-nerdfont
+, dmenu
+, xdotool
+, bemenu
+, withX11 ? false
 }:
 
-stdenv.mkDerivation rec {
+let
+  menuInputs = if withX11 then [ dmenu xdotool ] else [ bemenu ];
+in stdenv.mkDerivation rec {
   pname = "mepo";
-  version = "0.3";
+  version = "0.4.1";
 
   src = fetchFromSourcehut {
     owner = "~mil";
     repo = pname;
     rev = version;
-    hash = "sha256-B7BOAFhiOTILUdzh49hTMrNNHZpCNRDLW2uekXyptqQ=";
+    hash = "sha256-soIAQgo8Cyii/zzJapgJmC5hN/ySnHKoSbOg/XgTnGg=";
   };
 
-  nativeBuildInputs = [ pkg-config zig ];
+  nativeBuildInputs = [ pkg-config zig makeWrapper ];
 
-  buildInputs = [ curl SDL2 SDL2_gfx SDL2_image SDL2_ttf ];
+  buildInputs = [
+    curl SDL2 SDL2_gfx SDL2_image SDL2_ttf inconsolata-nerdfont jq ncurses
+  ] ++ menuInputs;
 
   preBuild = ''
     export HOME=$TMPDIR
@@ -46,12 +58,26 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  postInstall = ''
+    wrapProgram $out/bin/mepo_dl.sh\
+      --suffix PATH : ${lib.makeBinPath [ jq ncurses ]}
+    wrapProgram $out/bin/mepo_ui_helper_menu.sh\
+      --suffix PATH : ${lib.makeBinPath menuInputs}
+    for script in $(grep -l jq out/bin/mepo_ui_menu_*.sh); do
+      wrapProgram $script --suffix PATH : $out/bin:${lib.makeBinPath [ jq ]}
+    done
+    for prog in $out/bin/mepo*; do
+      if [ ! -f $out/bin/.$(basename $prog)-wrapped ]; then
+        wrapProgram $prog --suffix PATH : $out/bin
+      fi
+    done
+  '';
+
   meta = with lib; {
     description = "Fast, simple, and hackable OSM map viewer";
     homepage = "https://sr.ht/~mil/mepo/";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ sikmir ];
-    platforms = platforms.unix;
-    broken = stdenv.isDarwin; # See https://github.com/NixOS/nixpkgs/issues/86299
+    maintainers = with maintainers; [ sikmir McSinyx ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/minigalaxy/default.nix b/pkgs/applications/misc/minigalaxy/default.nix
index 2786492d47a..2be567f2a14 100644
--- a/pkgs/applications/misc/minigalaxy/default.nix
+++ b/pkgs/applications/misc/minigalaxy/default.nix
@@ -31,6 +31,10 @@ python3Packages.buildPythonApplication rec {
     runHook postCheck
   '';
 
+  # Cannot find GSettings schemas when opening settings,
+  # probably https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
   nativeBuildInputs = [
     gettext
     wrapGAppsHook
diff --git a/pkgs/applications/misc/mob/default.nix b/pkgs/applications/misc/mob/default.nix
index 2b9c847bac8..e83ed045b0d 100644
--- a/pkgs/applications/misc/mob/default.nix
+++ b/pkgs/applications/misc/mob/default.nix
@@ -9,13 +9,13 @@
 
 buildGoPackage rec {
   pname = "mob";
-  version = "2.6.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "remotemobprogramming";
     repo = pname;
-    sha256 = "sha256-GJ4V4GQRUoXelk0ksHPoFL4iB1W7pe2UydK2AhYjysg=";
+    sha256 = "sha256-silAgScvhl388Uf6HkWqEkNmr/K6aUt/lj/rxzkk/f0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/moonlight-qt/default.nix b/pkgs/applications/misc/moonlight-qt/default.nix
index c2981351749..c486b25c44c 100644
--- a/pkgs/applications/misc/moonlight-qt/default.nix
+++ b/pkgs/applications/misc/moonlight-qt/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "moonlight-qt";
-  version = "3.2.0";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "moonlight-stream";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nvVBjBcuHKSn66Q7iTzslGOCkH6zMFf62zx5dDXSosI=";
+    sha256 = "sha256-CfOphr8QILCZg+UrImp5JO/1DTqoan5EwiQeTKR15Fo=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/nnn/default.nix b/pkgs/applications/misc/nnn/default.nix
index 8ea024320c3..87c43628c4f 100644
--- a/pkgs/applications/misc/nnn/default.nix
+++ b/pkgs/applications/misc/nnn/default.nix
@@ -20,13 +20,13 @@ assert withNerdIcons -> withIcons == false;
 
 stdenv.mkDerivation rec {
   pname = "nnn";
-  version = "4.4";
+  version = "4.5";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-g9GaCc/IWKtih0/A2AZEPImjj7ymJIdYwC5I/6GUh5c=";
+    sha256 = "sha256-uToAgWpGaTPTMYJh1D0xgvE23GSIshv1OBlWxXI07Mk=";
   };
 
   configFile = lib.optionalString (conf != null) (builtins.toFile "nnn.h" conf);
diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix
index 41f46ff1c00..e0e196ac143 100644
--- a/pkgs/applications/misc/nut/default.nix
+++ b/pkgs/applications/misc/nut/default.nix
@@ -36,6 +36,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  NIX_CFLAGS_COMPILE = [ "-std=c++14" ];
+
   postInstall = ''
     wrapProgram $out/bin/nut-scanner --prefix LD_LIBRARY_PATH : \
       "$out/lib:${neon}/lib:${libusb-compat-0_1.out}/lib:${avahi}/lib:${freeipmi}/lib"
diff --git a/pkgs/applications/misc/obsidian/default.nix b/pkgs/applications/misc/obsidian/default.nix
index d34770051d0..8daf50f82e7 100644
--- a/pkgs/applications/misc/obsidian/default.nix
+++ b/pkgs/applications/misc/obsidian/default.nix
@@ -12,20 +12,20 @@
 let
   inherit (stdenv.hostPlatform) system;
   pname = "obsidian";
-  version = "0.14.2";
+  version = "0.14.6";
   appname = "Obsidian";
   meta = with lib; {
     description = "A powerful knowledge base that works on top of a local folder of plain text Markdown files";
     homepage = "https://obsidian.md";
     downloadPage = "https://github.com/obsidianmd/obsidian-releases/releases";
     license = licenses.obsidian;
-    maintainers = with maintainers; [ conradmearns zaninime opeik ];
+    maintainers = with maintainers; [ atila conradmearns zaninime opeik ];
   };
 
   filename = if stdenv.isDarwin then "Obsidian-${version}-universal.dmg" else "obsidian-${version}.tar.gz";
   src = fetchurl {
     url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/${filename}";
-    sha256 = if stdenv.isDarwin then "128kgqkf54ljkglwqa6i0qnfqhhmsv7hwbaqnml95n5dzyxrbm4s" else "00gip6pvkbywywlx71j87sxyh8yhkd36i1ydncbpnhsplr6smsq3";
+    sha256 = if stdenv.isDarwin then "1zzccwlim3gi6f5czzyddqjzy1xsk6ayx1hljhw6bmnid72km3q2" else "sha256-KieAE13SIYHDoXTqzk1QY+TPjwF9LRzlfm1yFg9hsTc=";
   };
 
   icon = fetchurl {
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index b7b0f8ae46b..dbdc15cb9c7 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -9,251 +9,11 @@
 , packageOverrides ? self: super: { }
 }:
 let
-  mkOverride = attrname: version: sha256:
-    self: super: {
-      ${attrname} = super.${attrname}.overridePythonAttrs (
-        oldAttrs: {
-          inherit version;
-          src = oldAttrs.src.override {
-            inherit version sha256;
-          };
-        }
-      );
-    };
 
   py = python3.override {
     self = py;
     packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) (
       [
-        # the following dependencies are non trivial to update since later versions introduce backwards incompatible
-        # changes that might affect plugins, or due to other observed problems
-        (mkOverride "click" "7.1.2" "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a")
-        (mkOverride "flask-babel" "1.0.0" "0gmb165vkwv5v7dxsxa2i3zhafns0fh938m2zdcrv4d8z5l099yn")
-        (mkOverride "itsdangerous" "1.1.0" "321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19")
-        (mkOverride "jinja2" "2.11.3" "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6")
-        (mkOverride "markdown" "3.1.1" "2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a")
-        (mkOverride "markupsafe" "1.1.1" "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b")
-
-        # black uses hash, not sha256 identifier. Newer black version requires newer click version
-        (
-          self: super: {
-            black = super.black.overridePythonAttrs (oldAttrs: rec {
-              version = "21.12b0";
-              src = oldAttrs.src.override {
-                inherit version;
-                hash = "sha256-d7gPaTpWni5SeVhFljTxjfmwuiYluk4MLV2lvkLm8rM=";
-              };
-              doCheck = false;
-            });
-          }
-        )
-
-        # tests need network
-        (
-          self: super: {
-            curio = super.curio.overridePythonAttrs (oldAttrs: rec {
-              disabledTests = [
-                "test_timeout"
-                "test_ssl_outgoing"
-              ];
-            });
-          }
-        )
-
-        # tests need network
-        (
-          self: super: {
-            trio = super.trio.overridePythonAttrs (oldAttrs: rec {
-              disabledTests = [
-                "test_local_address_real"
-              ];
-              disabledTestPaths = [
-                "trio/tests/test_exports.py"
-                "trio/tests/test_socket.py"
-              ];
-            });
-          }
-        )
-
-        # Requires flask<2, cannot mkOverride because tests need to be disabled
-        (
-          self: super: {
-            flask = super.flask.overridePythonAttrs (oldAttrs: rec {
-              version = "1.1.4";
-              src = oldAttrs.src.override {
-                inherit version;
-                sha256 = "15ni4xlm57a15f5hipp8w0c9zba20179bvfns2392fiq1lcbdghg";
-              };
-              doCheck = false;
-            });
-          }
-        )
-
-        # Requires werkezug<2, cannot mkOverride because tests need to be disabled
-        (
-          self: super: {
-            werkzeug = super.werkzeug.overridePythonAttrs (oldAttrs: rec {
-              version = "1.0.1";
-              src = oldAttrs.src.override {
-                inherit version;
-                sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
-              };
-              doCheck = false;
-            });
-          }
-        )
-
-        # Requires unidecode>=0.04.14,<0.05. Upstream changed the source naming between releases
-        (
-          self: super: {
-            unidecode = super.unidecode.overridePythonAttrs (oldAttrs: rec {
-              version = "0.04.21";
-              src = fetchFromGitHub {
-                owner = "avian2";
-                repo = "unidecode";
-                rev = "release-${version}";
-                sha256 = "0p5bkibv0xm1265dlfrz3zq3k9bbx07gl8zyq8mvvb8hi7p5lifg";
-              };
-            });
-          }
-        )
-
-        # Requires websocket-client <1.0, >=0.57. Cannot do mkOverride b/c differing underscore/hyphen in pypi source name
-        (
-          self: super: {
-            websocket-client = super.websocket-client.overridePythonAttrs (
-              oldAttrs: rec {
-                version = "0.59.0";
-                src = oldAttrs.src.override {
-                  inherit version;
-                  sha256 = "0p0cz2mdissq7iw1n7jrmsfir0jfmgs1dvnpnrx477ffx9hbsxnk";
-                };
-                propagatedBuildInputs = with self; [
-                  six
-                  pysocks
-                ];
-                disabledTests = [
-                  "testConnect" # requires network access
-                ];
-              }
-            );
-          }
-        )
-
-        # Octoprint needs zeroconf >=0.24 <0.25. This can't be done via mkOverride, because in zeroconf 0.32
-        # the super package was migrated to fetchFromGitHub.
-        (
-          self: super: {
-            zeroconf = super.zeroconf.overrideAttrs (oldAttrs: rec {
-              version = "0.24.5";
-              src = super.fetchPypi {
-                inherit (oldAttrs) pname;
-                inherit version;
-                sha256 = "0jpgd0rk91si93857mjrizan5gc42kj1q4fi4160qgk68la88fl9";
-              };
-              pythonImportsCheck = [
-                "zeroconf"
-              ];
-              buildInputs = with self; [
-                pytestCheckHook
-                nose
-              ];
-              pytestFlagsArray = [ "zeroconf/test.py" ];
-            });
-          }
-        )
-
-        # Octoprint pulls in celery indirectly but has no support for the up-to-date releases
-        (
-          self: super: {
-            celery = super.celery.overrideAttrs (oldAttrs: rec {
-              version = "5.0.0";
-              src = oldAttrs.src.override {
-                inherit version;
-                hash = "sha256-MTkw/d3nA9jjcCmjBL+RQpzRGu72PFfebayp2Vjh8lU=";
-              };
-              disabledTestPaths = [
-                "t/unit/backends/test_mongodb.py"
-              ];
-            });
-          }
-        )
-
-        # Octoprint would allow later sentry-sdk releases but not later click releases
-        (
-          self: super: {
-            sentry-sdk = super.sentry-sdk.overrideAttrs (oldAttrs: rec {
-              pname = "sentry-sdk";
-              version = "1.4.3";
-
-              src = fetchFromGitHub {
-                owner = "getsentry";
-                repo = "sentry-python";
-                rev = version;
-                sha256 = "sha256-vdE6eqELMM69CWHaNYhF0HMCTV3tQsJlMHAA96oCy8c=";
-              };
-              disabledTests = [
-                "test_apply_simulates_delivery_info"
-                "test_auto_enabling_integrations_catches_import_error"
-                "test_leaks"
-              ];
-              disabledTestPaths = [
-                # Don't test integrations
-                "tests/integrations"
-                # test crashes on aarch64
-                "tests/test_transport.py"
-              ];
-            });
-          }
-        )
-
-        # Octoprint fails due to a newly added test in pytest-httpbin
-        # see https://github.com/NixOS/nixpkgs/issues/159864
-        (
-          self: super: {
-            pytest-httpbin = super.pytest-httpbin.overridePythonAttrs (oldAttrs: rec {
-              disabledTests = [
-                "test_redirect_location_is_https_for_secure_server"
-              ];
-            });
-          }
-        )
-
-        # All test fail on aarch64
-        (
-          self: super: {
-            azure-core = super.azure-core.overridePythonAttrs (oldAttrs: rec {
-              doCheck = stdenv.buildPlatform == "x86_64-linux";
-            });
-          }
-        )
-
-        # needs network
-        (
-          self: super: {
-            falcon = super.falcon.overridePythonAttrs (oldAttrs: rec {
-              #pytestFlagsArray = [ "-W ignore::DeprecationWarning" ];
-              disabledTestPaths = oldAttrs.disabledTestPaths or [] ++ [
-                "tests/asgi/test_asgi_servers.py"
-              ];
-            });
-          }
-        )
-
-        # update broke some tests
-        (
-          self: super: {
-            sanic = super.sanic.overridePythonAttrs (oldAttrs: rec {
-              disabledTestPaths = oldAttrs.disabledTestPaths or [] ++ [
-                "test_cli.py"
-                "test_cookies.py"
-                # requires network
-                "test_worker.py"
-              ];
-            });
-          }
-        )
-
         # Built-in dependency
         (
           self: super: {
@@ -294,14 +54,14 @@ let
           self: super: {
             octoprint-pisupport = self.buildPythonPackage rec {
               pname = "OctoPrint-PiSupport";
-              version = "2021.10.28";
+              version = "2022.3.28";
               format = "setuptools";
 
               src = fetchFromGitHub {
                 owner = "OctoPrint";
                 repo = "OctoPrint-PiSupport";
                 rev = version;
-                sha256 = "01bpvv1sn3113fdpw6b90c2rj8lqay118x609yy64z9ccm93khl9";
+                sha256 = "yzE/jz604nX/CHcW3aa7goH1ey8qZ7rLw31SMfNKJZM=";
               };
 
               # requires octoprint itself during tests
@@ -314,13 +74,13 @@ let
           self: super: {
             octoprint = self.buildPythonPackage rec {
               pname = "OctoPrint";
-              version = "1.7.3";
+              version = "1.8.0rc5";
 
               src = fetchFromGitHub {
                 owner = "OctoPrint";
                 repo = "OctoPrint";
                 rev = version;
-                sha256 = "sha256-U6g7WysHHOlZ4p5BM4tw3GGAxQmxv6ltYgAp1rO/eCg=";
+                sha256 = "sha256-FeT45w6VXaFV4BsuOMk58nxxiu9jhCNnA2F7Uh/3sB0=";
               };
 
               propagatedBuildInputs = with super; [
@@ -368,7 +128,7 @@ let
                 werkzeug
                 wrapt
                 zeroconf
-                zipstream-new
+                zipstream-ng
               ] ++ lib.optionals stdenv.isDarwin [
                 py.pkgs.appdirs
               ];
@@ -406,6 +166,8 @@ let
                     "watchdog"
                     "wrapt"
                     "zeroconf"
+                    "Flask-Login"
+                    "werkzeug"
                   ];
                 in
                 ''
diff --git a/pkgs/applications/misc/opencpn/default.nix b/pkgs/applications/misc/opencpn/default.nix
index 522c5739a88..1e726f81bfb 100644
--- a/pkgs/applications/misc/opencpn/default.nix
+++ b/pkgs/applications/misc/opencpn/default.nix
@@ -1,31 +1,100 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, gtk2, wxGTK30, libpulseaudio, curl,
-  gettext, glib, portaudio }:
+{ stdenv, lib
+, alsa-utils
+, at-spi2-core
+, cmake
+, curl
+, dbus
+, epoxy
+, fetchFromGitHub
+, flac
+, gtk3
+, jasper
+, libGLU
+, libarchive
+, libdatrie
+, libelf
+, libexif
+, libogg
+, libopus
+, libselinux
+, libsepol
+, libsndfile
+, libthai
+, libunarr
+, libusb
+, libvorbis
+, libxkbcommon
+, lsb-release
+, lz4
+, pcre
+, pkg-config
+, portaudio
+, sqlite
+, tinyxml
+, udev
+, util-linux
+, wxGTK31-gtk3
+, xorg
+}:
 
 stdenv.mkDerivation rec {
-  pname = "opencpn-unstable";
-  version = "2019-11-21";
+  pname = "opencpn";
+  version = "5.6.2";
 
   src = fetchFromGitHub {
     owner = "OpenCPN";
     repo = "OpenCPN";
-    rev = "e73dc935545b2bbcf193cc61d987a0178c52d7a7";
-    sha256 = "0yiqahkzwcbzgabc5xgxmwlngapkfiaqyva3mwz29xj0c5lg2bdk";
+    rev = "Release_${version}";
+    hash = "sha256-sNZYf/2gtjRrrGPuazVnKTgcuIQpKPazhexqlK21T4g=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ gtk2 wxGTK30 libpulseaudio curl gettext
-                  glib portaudio ];
-
-  cmakeFlags = [
-    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
-    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
+  nativeBuildInputs = [ cmake lsb-release pkg-config ];
+  buildInputs = [
+    alsa-utils
+    at-spi2-core
+    curl
+    dbus
+    epoxy
+    flac
+    gtk3
+    jasper
+    libGLU
+    libarchive
+    libdatrie
+    libelf
+    libexif
+    libogg
+    libopus
+    libselinux
+    libsepol
+    libsndfile
+    libthai
+    libunarr
+    libusb
+    libvorbis
+    libxkbcommon
+    lz4
+    pcre
+    portaudio
+    sqlite
+    tinyxml
+    udev
+    util-linux
+    wxGTK31-gtk3
+    xorg.libXdmcp
+    xorg.libXtst
   ];
 
-  meta = {
+
+  cmakeFlags = [ "-DOCPN_BUNDLE_DOCS=true" ];
+
+  doCheck = true;
+
+  meta = with lib; {
     description = "A concise ChartPlotter/Navigator";
-    maintainers = [ lib.maintainers.kragniz ];
+    maintainers = with maintainers; [ kragniz lovesegfault ];
     platforms = [ "x86_64-linux" ];
-    license = lib.licenses.gpl2;
+    license = licenses.gpl2;
     homepage = "https://opencpn.org/";
   };
 }
diff --git a/pkgs/applications/misc/organicmaps/default.nix b/pkgs/applications/misc/organicmaps/default.nix
index 7e320e5f367..fa4b5457e4f 100644
--- a/pkgs/applications/misc/organicmaps/default.nix
+++ b/pkgs/applications/misc/organicmaps/default.nix
@@ -20,13 +20,13 @@
 
 mkDerivation rec {
   pname = "organicmaps";
-  version = "2022.03.23-4-android";
+  version = "2022.04.27-2";
 
   src = fetchFromGitHub {
     owner = "organicmaps";
     repo = "organicmaps";
-    rev = version;
-    sha256 = "sha256-4VBsHq8z/odD7Nrk9e0sYMEBBLeTAHsWsdgPIN1KVZo=";
+    rev = "${version}-android";
+    sha256 = "sha256-HsskddXne5xClBZoT3aXP+51VRQQJhlUPda/M20SrH0=";
     fetchSubmodules = true;
   };
 
@@ -35,7 +35,7 @@ mkDerivation rec {
     echo "exit 0" > tools/unix/check_cert.sh
 
     # crude fix for https://github.com/organicmaps/organicmaps/issues/1862
-    echo "echo ${lib.replaceStrings ["." "-" "android"] ["" "" ""] version}" > tools/unix/version.sh
+    echo "echo ${lib.replaceStrings ["." "-"] ["" ""] version}" > tools/unix/version.sh
   '';
 
   nativeBuildInputs = [
@@ -64,19 +64,14 @@ mkDerivation rec {
     bash ./configure.sh
   '';
 
+  # Tell the program that the read-only and the read-write data locations
+  # are different, and create the read-write one.
+  # https://github.com/organicmaps/organicmaps/issues/2387
   postInstall = ''
-    install -Dm755 OMaps $out/bin/OMaps
-    # Tell the program that the read-only and the read-write data locations
-    # are different, and create the read-write one.
     wrapProgram $out/bin/OMaps \
       --add-flags "-resources_path $out/share/organicmaps/data" \
       --add-flags '-data_path "''${XDG_DATA_HOME:-''${HOME}/.local/share}/OMaps"' \
       --run 'mkdir -p "''${XDG_DATA_HOME:-''${HOME}/.local/share}/OMaps"'
-
-    mkdir -p $out/share/organicmaps
-    cp -r ../data $out/share/organicmaps/data
-    install -Dm644 ../qt/res/logo.png $out/share/icons/hicolor/96x96/apps/organicmaps.png
-    install -Dm644 ../qt/res/OrganicMaps.desktop $out/share/applications/OrganicMaps.desktop
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/osmscout-server/default.nix b/pkgs/applications/misc/osmscout-server/default.nix
index d6041554705..cefce001eba 100644
--- a/pkgs/applications/misc/osmscout-server/default.nix
+++ b/pkgs/applications/misc/osmscout-server/default.nix
@@ -1,4 +1,4 @@
-{ lib, mkDerivation, fetchFromGitHub, fetchpatch, pkg-config
+{ lib, mkDerivation, fetchFromGitHub, pkg-config
 , qmake, qttools, kirigami2, qtquickcontrols2, qtlocation
 , libosmscout, valhalla, libpostal, osrm-backend, protobuf
 , libmicrohttpd_0_9_70, sqlite, marisa, kyotocabinet, boost
@@ -14,30 +14,16 @@ let
 in
 mkDerivation rec {
   pname = "osmscout-server";
-  version = "1.17.1";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "rinigus";
     repo = "osmscout-server";
     rev = version;
-    sha256 = "0rpsi6nyhcz6bv0jab4vixkxhjmn84xi0q2xz15a097hn46cklx9";
+    sha256 = "sha256-I14nQL0H2rMga+RDdAjykqmf7QIZveA6oGWu5PfZ89s=";
     fetchSubmodules = true;
   };
 
-  # Two patches required to work with valhalla 3.1
-  patches = [
-    # require C++14 to match latest Valhalla
-    (fetchpatch {
-      url = "https://github.com/rinigus/osmscout-server/commit/78b41b9b4c607fe9bfd6fbd61ae31cb7c8a725cd.patch";
-      sha256 = "0gk9mdwa75awl0bj30gm8waj454d8k2yixxwh05m0p550cbv3lg0";
-    })
-    # add Valhalla 3.1 config
-    (fetchpatch {
-      url = "https://github.com/rinigus/osmscout-server/commit/584de8bd47700053960fa139a2d7f8d3d184c876.patch";
-      sha256 = "0liz72n83q93bzzyyiqjkxa6hp9zjx7v9rgsmpwf88gc4caqm2dz";
-    })
-  ];
-
   nativeBuildInputs = [ qmake pkg-config qttools ];
   buildInputs = [
     kirigami2 qtquickcontrols2 qtlocation
@@ -45,13 +31,6 @@ mkDerivation rec {
     libpostal sqlite marisa kyotocabinet boost protobuf date
   ];
 
-  # OSMScout server currently defaults to an earlier version of valhalla,
-  # but valhalla 3.1 support has been added. (See patches above)
-  # Replace the default valhalla.json with the valhalla 3.1 version
-  postPatch = ''
-    mv data/valhalla.json-3.1 data/valhalla.json
-  '';
-
   qmakeFlags = [
     "SCOUT_FLAVOR=kirigami" # Choose to build the kirigami UI variant
     "CONFIG+=disable_mapnik" # Disable the optional mapnik backend
diff --git a/pkgs/applications/misc/phwmon/default.nix b/pkgs/applications/misc/phwmon/default.nix
index 22d94006ddc..719c3dc9998 100644
--- a/pkgs/applications/misc/phwmon/default.nix
+++ b/pkgs/applications/misc/phwmon/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
 
   pythonPath = [ python2Packages.pygtk python2Packages.psutil ];
 
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace install.sh --replace "/usr/local" "$out"
   '';
 
diff --git a/pkgs/applications/misc/prusa-slicer/default.nix b/pkgs/applications/misc/prusa-slicer/default.nix
index dd6184f4ff6..8f7e371a8e5 100644
--- a/pkgs/applications/misc/prusa-slicer/default.nix
+++ b/pkgs/applications/misc/prusa-slicer/default.nix
@@ -4,7 +4,7 @@
 }:
 stdenv.mkDerivation rec {
   pname = "prusa-slicer";
-  version = "2.4.1";
+  version = "2.4.2";
 
   nativeBuildInputs = [
     cmake
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "prusa3d";
     repo = "PrusaSlicer";
-    sha256 = "sha256-4L/x8cMQee3n20iyWEiXd62NtA6BYM1SHkCn8ZlDNWA=";
+    sha256 = "17p56f0zmiryy8k4da02in1l6yxniz286gf9yz8s1gaz5ksqj4af";
     rev = "version_${version}";
   };
 
diff --git a/pkgs/applications/misc/pure-maps/default.nix b/pkgs/applications/misc/pure-maps/default.nix
index 0914d2599c2..d634f2dd4af 100644
--- a/pkgs/applications/misc/pure-maps/default.nix
+++ b/pkgs/applications/misc/pure-maps/default.nix
@@ -6,13 +6,13 @@
 
 mkDerivation rec {
   pname = "pure-maps";
-  version = "2.9.2";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "rinigus";
     repo = "pure-maps";
     rev = version;
-    hash = "sha256-pMPjY6OXR6THiSQZ4mw9Kz+tAXJaOwzJEcpPOyZ+YKI=";
+    hash = "sha256-r36/Vpt4ZIWV1+VhqRBuo4uT7nmEGiFGIt3QGG3ijjs=";
     fetchSubmodules = true;
   };
 
@@ -37,6 +37,7 @@ mkDerivation rec {
   meta = with lib; {
     description = "Display vector and raster maps, places, routes, and provide navigation instructions with a flexible selection of data and service providers";
     homepage = "https://github.com/rinigus/pure-maps";
+    changelog = "https://github.com/rinigus/pure-maps/blob/${src.rev}/NEWS.md";
     license = licenses.gpl3Only;
     maintainers = [ maintainers.Thra11 ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/misc/ranger/default.nix b/pkgs/applications/misc/ranger/default.nix
index 4bd8a182d6f..95f85430ba0 100644
--- a/pkgs/applications/misc/ranger/default.nix
+++ b/pkgs/applications/misc/ranger/default.nix
@@ -1,5 +1,9 @@
-{ lib, fetchFromGitHub, python3Packages, file, less, highlight
-, imagePreviewSupport ? true, w3m }:
+{ lib, fetchFromGitHub, python3Packages, file, less, highlight, w3m
+, imagePreviewSupport ? true
+, neoVimSupport ? true
+, improvedEncodingDetection ? true
+, rightToLeftTextSupport ? false
+}:
 
 python3Packages.buildPythonApplication rec {
   pname = "ranger";
@@ -15,8 +19,13 @@ python3Packages.buildPythonApplication rec {
   LC_ALL = "en_US.UTF-8";
 
   checkInputs = with python3Packages; [ pytestCheckHook ];
-  propagatedBuildInputs = [ file ]
-    ++ lib.optionals (imagePreviewSupport) [ python3Packages.pillow ];
+  propagatedBuildInputs = [
+    less
+    file
+  ] ++ lib.optionals imagePreviewSupport [ python3Packages.pillow ]
+    ++ lib.optionals neoVimSupport [ python3Packages.pynvim ]
+    ++ lib.optionals improvedEncodingDetection [ python3Packages.chardet ]
+    ++ lib.optionals rightToLeftTextSupport [ python3Packages.python-bidi ];
 
   preConfigure = ''
     ${lib.optionalString (highlight != null) ''
diff --git a/pkgs/applications/misc/sampler/default.nix b/pkgs/applications/misc/sampler/default.nix
index 2e1b94b6b6c..a020b15eea3 100644
--- a/pkgs/applications/misc/sampler/default.nix
+++ b/pkgs/applications/misc/sampler/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, alsa-lib }:
+{ lib, buildGoModule, fetchFromGitHub, darwin, libiconv, alsa-lib, stdenv }:
 
 buildGoModule rec {
   pname = "sampler";
@@ -17,7 +17,10 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  buildInputs = [ alsa-lib ];
+  buildInputs = lib.optional stdenv.isLinux alsa-lib
+    ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.OpenAL
+  ];
 
   meta = with lib; {
     description = "Tool for shell commands execution, visualization and alerting";
diff --git a/pkgs/applications/misc/sigal/default.nix b/pkgs/applications/misc/sigal/default.nix
index 20b944efd5d..928a71b6904 100644
--- a/pkgs/applications/misc/sigal/default.nix
+++ b/pkgs/applications/misc/sigal/default.nix
@@ -1,17 +1,19 @@
-{ lib, python3Packages, ffmpeg }:
+{ lib
+, python3
+, ffmpeg
+}:
 
-python3Packages.buildPythonApplication rec {
-  version = "2.2";
-  pname   = "sigal";
+python3.pkgs.buildPythonApplication rec {
+  pname = "sigal";
+  version = "2.3";
+  format = "setuptools";
 
-  src = python3Packages.fetchPypi {
+  src = python3.pkgs.fetchPypi {
     inherit version pname;
-    sha256 = "sha256-49XsNdZuicsiYJZuF1UdqMA4q33Ly/Ug/Hc4ybJKmPo=";
+    hash = "sha256-4Zsb/OBtU/jV0gThEYe8bcrb+6hW+hnzQS19q1H409Q=";
   };
 
-  disabled = !(python3Packages.pythonAtLeast "3.6");
-
-  propagatedBuildInputs = with python3Packages; [
+  propagatedBuildInputs = with python3.pkgs; [
     # install_requires
     jinja2
     markdown
@@ -29,16 +31,18 @@ python3Packages.buildPythonApplication rec {
 
   checkInputs = [
     ffmpeg
-  ] ++ (with python3Packages; [
+  ] ++ (with python3.pkgs; [
     pytestCheckHook
   ]);
 
-  makeWrapperArgs = [ "--prefix PATH : ${ffmpeg}/bin" ];
+  makeWrapperArgs = [
+    "--prefix PATH : ${lib.makeBinPath [ ffmpeg ]}"
+  ];
 
   meta = with lib; {
     description = "Yet another simple static gallery generator";
-    homepage    = "http://sigal.saimon.org/en/latest/index.html";
-    license     = licenses.mit;
+    homepage = "http://sigal.saimon.org/";
+    license = licenses.mit;
     maintainers = with maintainers; [ domenkozar matthiasbeyer ];
   };
 }
diff --git a/pkgs/applications/misc/sigi/default.nix b/pkgs/applications/misc/sigi/default.nix
index 2513476ad74..ff74d8b098f 100644
--- a/pkgs/applications/misc/sigi/default.nix
+++ b/pkgs/applications/misc/sigi/default.nix
@@ -1,4 +1,4 @@
-{ lib, rustPlatform, fetchCrate, installShellFiles, testVersion, sigi }:
+{ lib, rustPlatform, fetchCrate, installShellFiles, testers, sigi }:
 
 rustPlatform.buildRustPackage rec {
   pname = "sigi";
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
     installManPage sigi.1
   '';
 
-  passthru.tests.version = testVersion { package = sigi; };
+  passthru.tests.version = testers.testVersion { package = sigi; };
 
   meta = with lib; {
     description = "Organizing CLI for people who don't love organizing.";
diff --git a/pkgs/applications/misc/skytemple/default.nix b/pkgs/applications/misc/skytemple/default.nix
index e8c6445d5f8..0f331ef6e2c 100644
--- a/pkgs/applications/misc/skytemple/default.nix
+++ b/pkgs/applications/misc/skytemple/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "skytemple";
-  version = "1.3.2";
+  version = "1.3.10";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    sha256 = "1sx2rib0la3mifvh84ia3jnnq4qw9jxc13vxyidsdkp6x82nbvcg";
+    sha256 = "sha256-CyYGTXdQsGpDR/gpqViEQO1xUPHaXTES592nRJixa1o=";
   };
 
   buildInputs = [
@@ -26,7 +26,10 @@ python3Packages.buildPythonApplication rec {
     packaging
     pycairo
     pygal
+    psutil
+    gbulb
     pypresence
+    sentry-sdk
     setuptools
     skytemple-dtef
     skytemple-eventserver
diff --git a/pkgs/applications/misc/solaar/default.nix b/pkgs/applications/misc/solaar/default.nix
index 39eadc84370..230abcf2851 100644
--- a/pkgs/applications/misc/solaar/default.nix
+++ b/pkgs/applications/misc/solaar/default.nix
@@ -13,19 +13,20 @@
 # logitech-udev-rules instead of adding this to services.udev.packages on NixOS
 python3Packages.buildPythonApplication rec {
   pname = "solaar";
-  version = "1.1.1";
+  version = "1.1.3";
 
   src = fetchFromGitHub {
     owner = "pwr-Solaar";
     repo = "Solaar";
     rev = version;
-    sha256 = "1yqxk6nfxc1xhk59qbz9m3wqkxv446g17pazvanpavriiysjzbrs";
+    hash = "sha256-6z22MnhUL9Da3G7UDmZsBAi2gHLNpiFEwe+pAtnP91s=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook gdk-pixbuf ];
   buildInputs = [ libappindicator librsvg ];
 
   propagatedBuildInputs = with python3Packages; [
+    evdev
     gobject-introspection
     gtk3
     psutil
diff --git a/pkgs/applications/misc/sqls/default.nix b/pkgs/applications/misc/sqls/default.nix
index 2c89d31df35..6ac9275570a 100644
--- a/pkgs/applications/misc/sqls/default.nix
+++ b/pkgs/applications/misc/sqls/default.nix
@@ -2,19 +2,21 @@
 
 buildGoModule rec {
   pname = "sqls";
-  version = "0.2.20";
+  version = "0.2.22";
 
   src = fetchFromGitHub {
     owner = "lighttiger2505";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QYxiWxgzuD+JymlXlVmzZOtex70JC93VmWljAFQJMPQ=";
+    sha256 = "sha256-xtvm/NVL98dRzQL1id/WwT/NdsnB7qTRVR7jfrRsabY=";
   };
 
-  vendorSha256 = "sha256-fo5g6anMcKqdzLG8KCJ/T4uTOp1Z5Du4EtCHYkLgUpo=";
+  vendorSha256 = "sha256-sowzyhvNr7Ek3ex4BP415HhHSKnqPHy5EbnECDVZOGw=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.revision=${src.rev}" ];
 
+  doCheck = false;
+
   meta = with lib; {
     homepage = "https://github.com/lighttiger2505/sqls";
     description = "SQL language server written in Go";
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index f2c8e6075d9..3ea247f4b08 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -10,6 +10,7 @@
 , gtk3
 , gsettings-desktop-schemas
 , p7zip
+, autoPatchelfHook
 , libXxf86vm
 , unzip
 }:
@@ -41,14 +42,17 @@ let
     };
 
     postPatch = ''
-      patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/amd64/libnativewindow_awt.so
-      patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/amd64/libnativewindow_x11.so
-      patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/i586/libnativewindow_awt.so
-      patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/i586/libnativewindow_x11.so
+      addAutoPatchelfSearchPath ${jre8}/lib/openjdk/jre/lib/
+      autoPatchelf lib
+
+      # Nix cannot see the runtime references to the paths we just patched in
+      # once they've been compressed into the .jar. Scan for and remember them
+      # as plain text so they don't get overlooked.
+      find . -name '*.so' | xargs strings | { grep '/nix/store' || :; } >> ./.jar-paths
     '';
 
-    nativeBuildInputs = [ makeWrapper unzip ];
-    buildInputs = [ ant jdk8 p7zip gtk3 gsettings-desktop-schemas ];
+    nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
+    buildInputs = [ ant jdk8 p7zip gtk3 gsettings-desktop-schemas libXxf86vm ];
 
     buildPhase = ''
       runHook preBuild
@@ -80,6 +84,13 @@ let
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
         --add-flags "-Dsun.java2d.opengl=true -jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}"
 
+
+      # remember the store paths found inside the .jar libraries. note that
+      # which file they are in does not matter in particular, just that some
+      # file somewhere lists them in plain-text
+      mkdir -p $out/nix-support
+      cp .jar-paths $out/nix-support/depends
+
       runHook postInstall
     '';
 
diff --git a/pkgs/applications/misc/tut/default.nix b/pkgs/applications/misc/tut/default.nix
index 2c4cc1a11c0..e7299326e87 100644
--- a/pkgs/applications/misc/tut/default.nix
+++ b/pkgs/applications/misc/tut/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tut";
-  version = "0.0.42";
+  version = "0.0.46";
 
   src = fetchFromGitHub {
     owner = "RasmusLindroth";
     repo = pname;
     rev = version;
-    sha256 = "sha256-zWhG9lzerzDqqFN8IG5JSv3voLzvtp/gg6jBisbodMc=";
+    sha256 = "sha256-C9kyA6QuL8sqzCooaPzSP7VOpu7jcSFCUx9oaZLZ7/w=";
   };
 
   vendorSha256 = "sha256-kMGEAN/I2XsIc6zCDbhbbstYlyjDpXQsOPUzjaJqJBk=";
diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix
index fb9c7021b15..d5d4b766e77 100644
--- a/pkgs/applications/misc/udiskie/default.nix
+++ b/pkgs/applications/misc/udiskie/default.nix
@@ -1,42 +1,47 @@
 { lib
+, asciidoc
 , fetchFromGitHub
-, buildPythonApplication
-, asciidoc-full
-, docopt
-, gettext
 , gobject-introspection
 , gtk3
-, keyutils
+, installShellFiles
 , libappindicator-gtk3
 , libnotify
 , librsvg
-, nose
-, pygobject3
-, pyyaml
+, python3
 , udisks2
 , wrapGAppsHook
 }:
 
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "udiskie";
-  version = "2.4.0";
+  version = "2.4.2";
+
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "coldfix";
     repo = "udiskie";
     rev = "v${version}";
-    hash = "sha256-T4kMPMXfehZT7P+TOd1llR2TbHPA/quNL545xxlmJfE=";
+    hash = "sha256-lQMJVSY3JeZYYOFDyV29Ye2j8r+ngE/ta2wQYipy4hU=";
   };
 
-  outputs = [ "out" "man" ];
+  patches = [
+    ./locale-path.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace udiskie/locale.py --subst-var out
+  '';
 
   nativeBuildInputs = [
-    asciidoc-full # Man page
-    gettext
+    asciidoc # Man page
     gobject-introspection
+    installShellFiles
     wrapGAppsHook
   ];
 
+  dontWrapGApps = true;
+
   buildInputs = [
     gobject-introspection
     gtk3
@@ -46,8 +51,9 @@ buildPythonApplication rec {
     udisks2
   ];
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python3.pkgs; [
     docopt
+    keyutils
     pygobject3
     pyyaml
   ];
@@ -57,21 +63,20 @@ buildPythonApplication rec {
   '';
 
   postInstall = ''
-    mkdir -p $man/share/man/man8
-    cp -v doc/udiskie.8 $man/share/man/man8/
+    installManPage doc/udiskie.8
   '';
 
-  checkInputs = [
-    keyutils
-    nose
-  ];
-
-  checkPhase = ''
-    nosetests
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
   '';
 
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/coldfix/udiskie";
+    changelog = "https://github.com/coldfix/udiskie/blob/${src.rev}/CHANGES.rst";
     description = "Removable disk automounter for udisks";
     longDescription = ''
       udiskie is a udisks2 front-end that allows to manage removeable media such
@@ -88,6 +93,6 @@ buildPythonApplication rec {
       - password caching (requires python keyutils 0.3)
     '';
     license = licenses.mit;
-    maintainers = with maintainers; [ AndersonTorres ];
+    maintainers = with maintainers; [ AndersonTorres dotlambda ];
   };
 }
diff --git a/pkgs/applications/misc/udiskie/locale-path.patch b/pkgs/applications/misc/udiskie/locale-path.patch
new file mode 100644
index 00000000000..f454bee467d
--- /dev/null
+++ b/pkgs/applications/misc/udiskie/locale-path.patch
@@ -0,0 +1,17 @@
+diff --git a/udiskie/locale.py b/udiskie/locale.py
+index f12bea9..450e38b 100644
+--- a/udiskie/locale.py
++++ b/udiskie/locale.py
+@@ -10,10 +10,8 @@ from gettext import translation
+ testdirs = [
+     # manual override:
+     os.environ.get('TEXTDOMAINDIR'),
+-    # editable installation:
+-    os.path.join(os.path.dirname(__file__), '../build/locale'),
+-    # user or virtualenv installation:
+-    os.path.join(sys.prefix, 'share/locale'),
++    # Nix installation:
++    os.path.join('@out@', 'share/locale'),
+ ]
+ testfile = 'en_US/LC_MESSAGES/udiskie.mo'
+ localedir = next(
diff --git a/pkgs/applications/misc/upwork/default.nix b/pkgs/applications/misc/upwork/default.nix
index c6a79aa0e61..34cc9702398 100644
--- a/pkgs/applications/misc/upwork/default.nix
+++ b/pkgs/applications/misc/upwork/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "upwork";
-  version = "5.6.10.7";
+  version = "5.6.10.13";
 
   src = fetchurl {
-    url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_6_10_7_f806fd1250954801/${pname}_${version}_amd64.deb";
-    sha256 = "6fe11cd53ffb66a02aa771153c4f58af34fea25847ee5bc13802fec9b0db0280";
+    url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_6_10_13_3c485d1dd2af4f61/${pname}_${version}_amd64.deb";
+    sha256 = "c3e1ecf14c99596f434edf93a2e08f031fbaa167025d1280cf19f68b829d6b79";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/veracrypt/default.nix b/pkgs/applications/misc/veracrypt/default.nix
index 33d0da5c93a..2897bb996c8 100644
--- a/pkgs/applications/misc/veracrypt/default.nix
+++ b/pkgs/applications/misc/veracrypt/default.nix
@@ -18,11 +18,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "veracrypt";
-  version = "1.24-Update7";
+  version = "1.25.9";
 
   src = fetchurl {
     url = "https://launchpad.net/${pname}/trunk/${toLower version}/+download/VeraCrypt_${version}_Source.tar.bz2";
-    sha256 = "0i7h44zn2mjzgh416l7kfs0dk6qc7b1bxsaxqqqcvgrpl453n7bc";
+    sha256 = "sha256-drbhgYS8IaQdKUn/Y9ch1JBUpxbO/zpL13tcNRC3lK8=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/vit/default.nix b/pkgs/applications/misc/vit/default.nix
index d5c454a06e8..890a69f3b16 100644
--- a/pkgs/applications/misc/vit/default.nix
+++ b/pkgs/applications/misc/vit/default.nix
@@ -8,18 +8,16 @@ with python3Packages;
 
 buildPythonApplication rec {
   pname = "vit";
-  version = "2.1.0";
-  disabled = lib.versionOlder python.version "3.6";
+  version = "2.2.0";
+  disabled = lib.versionOlder python.version "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fd34f0b827953dfdecdc39f8416d41c50c24576c33a512a047a71c1263eb3e0f";
+    sha256 = "sha256-6GbIc5giuecxUqswyaAJw675R1M8BvelyyRNFcTqKW8=";
   };
 
   propagatedBuildInputs = [
-    pytz
     tasklib
-    tzlocal
     urwid
   ];
 
diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix
index 927b04d5e21..58c0c066d83 100644
--- a/pkgs/applications/misc/xpdf/default.nix
+++ b/pkgs/applications/misc/xpdf/default.nix
@@ -12,11 +12,11 @@ assert enablePrinting -> cups != null;
 
 stdenv.mkDerivation rec {
   pname = "xpdf";
-  version = "4.03";
+  version = "4.04";
 
   src = fetchzip {
     url = "https://dl.xpdfreader.com/xpdf-${version}.tar.gz";
-    sha256 = "09yhvmh1vxjy763nnmawynygp5bh3j4i8ixqja64j11676yl77n6";
+    hash = "sha256-ujH9KDwFRjPIKwdMg79Mab9BfA2HooY5+2PESUgnGDY=";
   };
 
   # Fix "No known features for CXX compiler", see
diff --git a/pkgs/applications/misc/xplr/default.nix b/pkgs/applications/misc/xplr/default.nix
index db28952c31f..578c08b207e 100644
--- a/pkgs/applications/misc/xplr/default.nix
+++ b/pkgs/applications/misc/xplr/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "xplr";
-  version = "0.17.3";
+  version = "0.17.6";
 
   src = fetchFromGitHub {
     owner = "sayanarijit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BbD0Z/WGNaqpPowZqc4kmFLbL9/+JotKm7dWIgS3NjM=";
+    sha256 = "1lgfa1y5vsm3gqxizdgbn816klcamqmshw817mwan5i5yx9nk6xz";
   };
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
-  cargoSha256 = "sha256-qsicWf15U5b4xMqkXDOrhGNrQmiZkoxBQwV58asQa8k=";
+  cargoSha256 = "sha256-va+MKnHVdkQNq1SFvvoYnb28tW61W7d97LoCMNzwZHE=";
 
   meta = with lib; {
     description = "A hackable, minimal, fast TUI file explorer";
diff --git a/pkgs/applications/misc/zola/default.nix b/pkgs/applications/misc/zola/default.nix
index f6ed2daf8ec..24511096f1d 100644
--- a/pkgs/applications/misc/zola/default.nix
+++ b/pkgs/applications/misc/zola/default.nix
@@ -10,7 +10,7 @@
 , installShellFiles
 , libsass
 , zola
-, testVersion
+, testers
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -48,7 +48,7 @@ rustPlatform.buildRustPackage rec {
       --bash completions/zola.bash
   '';
 
-  passthru.tests.version = testVersion { package = zola; };
+  passthru.tests.version = testers.testVersion { package = zola; };
 
   meta = with lib; {
     description = "A fast static site generator with everything built-in";
diff --git a/pkgs/applications/networking/alpnpass/default.nix b/pkgs/applications/networking/alpnpass/default.nix
new file mode 100644
index 00000000000..5cc0ac1cf05
--- /dev/null
+++ b/pkgs/applications/networking/alpnpass/default.nix
@@ -0,0 +1,34 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+
+buildGoModule rec {
+  pname = "alpnpass";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "VerSprite";
+    repo = "alpnpass";
+    rev = version;
+    hash = "sha256-hNZqGTV17rFSKLhZzNqH2E4SSb6Jhk7YQ4TN0HnE+9g=";
+  };
+
+  vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+
+  meta = with lib; {
+    description = "Inspect the plaintext payload inside of proxied TLS connections";
+    longDescription = ''
+      This tool will listen on a given port, strip SSL encryption,
+      forward traffic through a plain TCP proxy,
+      then encrypt the returning traffic again
+      and send it to the target of your choice.
+
+      Unlike most SSL stripping solutions this tool will negotiate ALPN and
+      preserve the negotiated protocol all the way to the target.
+    '';
+    homepage = "https://github.com/VerSprite/alpnpass";
+    license = licenses.unlicense;
+    maintainers = [ maintainers.raboof ];
+  };
+}
diff --git a/pkgs/applications/networking/bee/bee.nix b/pkgs/applications/networking/bee/bee.nix
index d2f1740a573..fd6177c4647 100644
--- a/pkgs/applications/networking/bee/bee.nix
+++ b/pkgs/applications/networking/bee/bee.nix
@@ -1,4 +1,4 @@
-{ version ? "release", lib, fetchFromGitHub, buildGoModule, coreutils }:
+{ version ? "release", lib, fetchFromGitHub, buildGoModule }:
 
 let
 
@@ -39,8 +39,6 @@ buildGoModule {
     inherit (versionSpec) rev sha256;
   };
 
-  nativeBuildInputs = [ coreutils ];
-
   subPackages = [ "cmd/bee" ];
 
   # no symbol table, no debug info, and pass the commit for the version string
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index 5d6df5dac0d..20ee39b549a 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl
+{ lib, stdenv, fetchurl, wrapGAppsHook
 , dpkg
 , alsa-lib
 , at-spi2-atk
@@ -15,7 +15,6 @@
 , gnome
 , gsettings-desktop-schemas
 , gtk3
-, libpulseaudio
 , libuuid
 , libdrm
 , libX11
@@ -41,63 +40,61 @@
 , xorg
 , zlib
 , xdg-utils
-, wrapGAppsHook
+, snappy
+
+# command line arguments which are always set e.g "--disable-gpu"
 , commandLineArgs ? ""
-}:
 
-let
+# Necessary for USB audio devices.
+, pulseSupport ? stdenv.isLinux
+, libpulseaudio
 
-rpath = lib.makeLibraryPath [
-  alsa-lib
-  at-spi2-atk
-  at-spi2-core
-  atk
-  cairo
-  cups
-  dbus
-  expat
-  fontconfig
-  freetype
-  gdk-pixbuf
-  glib
-  gtk3
-  libdrm
-  libpulseaudio
-  libX11
-  libxkbcommon
-  libXScrnSaver
-  libXcomposite
-  libXcursor
-  libXdamage
-  libXext
-  libXfixes
-  libXi
-  libXrandr
-  libXrender
-  libxshmfence
-  libXtst
-  libuuid
-  mesa
-  nspr
-  nss
-  pango
-  pipewire
-  udev
-  wayland
-  xdg-utils
-  xorg.libxcb
-  zlib
-];
+# For GPU acceleration support on Wayland (without the lib it doesn't seem to work)
+, libGL
 
+# For video acceleration via VA-API (--enable-features=VaapiVideoDecoder,VaapiVideoEncoder)
+, libvaSupport ? stdenv.isLinux
+, libva
+, enableVideoAcceleration ? libvaSupport
+
+# For Vulkan support (--enable-features=Vulkan); disabled by default as it seems to break VA-API
+, vulkanSupport ? false
+, addOpenGLRunpath
+, enableVulkan ? vulkanSupport
+}:
+
+let
+  inherit (lib) optional optionals makeLibraryPath makeSearchPathOutput makeBinPath
+    optionalString strings escapeShellArg;
+
+  deps = [
+    alsa-lib at-spi2-atk at-spi2-core atk cairo cups dbus expat
+    fontconfig freetype gdk-pixbuf glib gtk3 libdrm libX11 libGL
+    libxkbcommon libXScrnSaver libXcomposite libXcursor libXdamage
+    libXext libXfixes libXi libXrandr libXrender libxshmfence
+    libXtst libuuid mesa nspr nss pango pipewire udev wayland
+    xdg-utils xorg.libxcb zlib snappy
+  ]
+    ++ optional pulseSupport libpulseaudio
+    ++ optional libvaSupport libva;
+
+  rpath = makeLibraryPath deps + ":" + makeSearchPathOutput "lib" "lib64" deps;
+  binpath = makeBinPath deps;
+
+  enableFeatures = optionals enableVideoAcceleration [ "VaapiVideoDecoder" "VaapiVideoEncoder" ]
+    ++ optional enableVulkan "Vulkan";
+
+    # The feature disable is needed for VAAPI to work correctly: https://github.com/brave/brave-browser/issues/20935
+  disableFeatures = optional enableVideoAcceleration "UseChromeOSDirectVideoDecoder";
 in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.37.116";
+  version = "1.38.109";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "HoqmzUyYas5ho9S8ZeXHj+LuNspejuQ69B6HxuKXWtw=";
+    sha256 = "sha256-w/Wm8msW4etF6E1UDujLfixhxmKBcnB+uw/CMcj4jGI=";
   };
 
   dontConfigure = true;
@@ -107,7 +104,13 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ dpkg wrapGAppsHook ];
 
-  buildInputs = [ glib gsettings-desktop-schemas gnome.adwaita-icon-theme ];
+  buildInputs = [
+    # needed for GSETTINGS_SCHEMAS_PATH
+    glib gsettings-desktop-schemas gtk3
+
+    # needed for XDG_ICON_DIRS
+    gnome.adwaita-icon-theme
+  ];
 
   unpackPhase = "dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner";
 
@@ -128,9 +131,9 @@ stdenv.mkDerivation rec {
       ln -sf $BINARYWRAPPER $out/bin/brave
 
       for exe in $out/opt/brave.com/brave/{brave,chrome_crashpad_handler}; do
-      patchelf \
-          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath "${rpath}" $exe
+          patchelf \
+              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+              --set-rpath "${rpath}" $exe
       done
 
       # Fix paths
@@ -161,8 +164,21 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     # Add command line args to wrapGApp.
-    gappsWrapperArgs+=(--add-flags ${lib.escapeShellArg commandLineArgs})
-    gappsWrapperArgs+=(--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland}}")
+    gappsWrapperArgs+=(
+      --prefix LD_LIBRARY_PATH : ${rpath}
+      --prefix PATH : ${binpath}
+      ${optionalString (enableFeatures != []) ''
+      --add-flags "--enable-features=${strings.concatStringsSep "," enableFeatures}"
+      ''}
+      ${optionalString (disableFeatures != []) ''
+      --add-flags "--disable-features=${strings.concatStringsSep "," disableFeatures}"
+      ''}
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland}}"
+      ${optionalString vulkanSupport ''
+      --prefix XDG_DATA_DIRS  : "${addOpenGLRunpath.driverLink}/share"
+      --add-flags ${escapeShellArg commandLineArgs}
+      ''}
+    )
   '';
 
   installCheckPhase = ''
@@ -175,7 +191,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://brave.com/";
     description = "Privacy-oriented browser for Desktop and Laptop computers";
-    changelog = "https://github.com/brave/brave-browser/blob/master/CHANGELOG_DESKTOP.md#" + lib.replaceStrings [ "." ] [ "" ] version;
+    changelog = "https://github.com/brave/brave-browser/blob/master/CHANGELOG_DESKTOP.md#" + replaceStrings [ "." ] [ "" ] version;
     longDescription = ''
       Brave browser blocks the ads and trackers that slow you down,
       chew up your bandwidth, and invade your privacy. Brave lets you
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 0eca082db28..3b22761cbc0 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -7,7 +7,7 @@
 # Native build inputs:
 , ninja, pkg-config
 , python3, perl
-, gnutar, which
+, which
 , llvmPackages
 # postPatch:
 , pkgsBuildHost
@@ -61,13 +61,6 @@ let
     url = "https://chromium.googlesource.com/chromium/tools/build/+/e77882e0dde52c2ccf33c5570929b75b4a2a2522/recipes/recipe_modules/chromium/resources/clang-format?format=TEXT";
     sha256 = "0ic3hn65dimgfhakli1cyf9j3cxcqsf1qib706ihfhmlzxf7256l";
   };
-  # https://webrtc-review.googlesource.com/c/src/+/255601
-  webrtcWaylandScreenshareCoredumpFix = fetchurl {
-    # PipeWire capturer: check existence of cursor metadata
-    name = "webrtc-wayland-screenshare-coredump-fix.patch";
-    url = "https://webrtc-review.googlesource.com/changes/src~255601/revisions/2/patch?download";
-    hash = "sha256-PHGwEoYhMa+ZL2ner10FwdGUWUxsVr+HWuZOAEugYDY=";
-  };
 
   # The additional attributes for creating derivations based on the chromium
   # source tree.
@@ -133,7 +126,7 @@ let
     nativeBuildInputs = [
       ninja pkg-config
       python3WithPackages perl
-      gnutar which
+      which
       llvmPackages.bintools
     ];
 
@@ -169,8 +162,14 @@ let
       ./patches/widevine-79.patch
     ];
 
-    postPatch = optionalString (versionRange "100" "101") ''
-      base64 --decode ${webrtcWaylandScreenshareCoredumpFix} | patch -p1 -d third_party/webrtc
+    postPatch = optionalString (chromiumVersionAtLeast "102") ''
+      # Workaround/fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1313361:
+      substituteInPlace BUILD.gn \
+        --replace '"//infra/orchestrator:orchestrator_all",' ""
+      # Disable build flags that require LLVM 15:
+      substituteInPlace build/config/compiler/BUILD.gn \
+        --replace '"-Xclang",' "" \
+        --replace '"-no-opaque-pointers",' ""
     '' + ''
       # remove unused third-party
       for lib in ${toString gnSystemLibraries}; do
@@ -191,6 +190,7 @@ let
           --replace "/usr/bin/env -S make -f" "/usr/bin/make -f"
       fi
       chmod -x third_party/webgpu-cts/src/tools/run_deno
+      ${lib.optionalString (chromiumVersionAtLeast "102") "chmod -x third_party/dawn/third_party/webgpu-cts/tools/run_deno"}
 
       # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX
       substituteInPlace sandbox/linux/suid/client/setuid_sandbox_host.cc \
@@ -288,7 +288,6 @@ let
       enable_widevine = true;
       # Provides the enable-webrtc-pipewire-capturer flag to support Wayland screen capture:
       rtc_use_pipewire = true;
-    } // optionalAttrs (chromiumVersionAtLeast "101") {
       # Disable PGO because the profile data requires a newer compiler version (LLVM 14 isn't sufficient):
       chrome_pgo_phase = 0;
     } // optionalAttrs proprietaryCodecs {
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 3d27f5b2f4c..bb994f7008f 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,63 +1,63 @@
 {
   "stable": {
-    "version": "100.0.4896.127",
-    "sha256": "0kgq38dy9mjyc44556i9gxhlsgd7dfvv1xi1ibk92b4p7i2y6427",
-    "sha256bin64": "0mm6lix14bf4ca440dyccnq54z0qvn5c886ghfyzy2q0bqzbq4nh",
+    "version": "101.0.4951.41",
+    "sha256": "0dzsbr309n70jg7fpq2qfnrgcm4553akvdmnzhss1fc85s467609",
+    "sha256bin64": "12nzzsp4040mwc7jah5w0p58ckv8s16wv6ylf6vlmfby06a4xlkq",
     "deps": {
       "gn": {
-        "version": "2022-01-21",
+        "version": "2022-03-14",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "0725d7827575b239594fbc8fd5192873a1d62f44",
-        "sha256": "1dzdvcn2r5c9giknvasf3y5y4901kav7igivjvrpww66ywsj8fzr"
+        "rev": "bd99dbf98cbdefe18a4128189665c5761263bcfb",
+        "sha256": "0nql15ckjqkm001xajq3qyn4h4q80i7x6dm9zinxxr1a8q5lppx3"
       }
     },
     "chromedriver": {
-      "version": "100.0.4896.60",
-      "sha256_linux": "0q9ddwhccd0jmzi8jksxlfjavmm913c9bmb4lz1ahxplsnxd8z31",
-      "sha256_darwin": "0q0ikhf5pkbrqln91fklbbfmqi33nfcjdg5dm7zb66b4alxwwas9",
-      "sha256_darwin_aarch64": "1vf3s0gq61riqsv85pr6xj0c2afdnv1b2w4gp2bwlfq4ffkfq38y"
+      "version": "101.0.4951.15",
+      "sha256_linux": "1i8ay83gh1q6nd0v14qv7gjar9h4fccb50a8b6fg671pg0l6vn24",
+      "sha256_darwin": "0ldxy1dxb99xps0h1d1264njc55q4bd000bdnaaks9kyx2djn54b",
+      "sha256_darwin_aarch64": "14awsldpqz2y187jwbcli8v7f1r6gsybk8yx8jqg26y8iyg3lrx9"
     }
   },
   "beta": {
-    "version": "101.0.4951.34",
-    "sha256": "1pqglzc8k31a4x06jn9pd6y8m4nmmb7rv5b3zancmh0d3z0nz3v5",
-    "sha256bin64": "1zhif47j8nqglaj1z3ism3dl6z8n5ilyyr835an32mf6igkfj217",
+    "version": "102.0.5005.27",
+    "sha256": "0fznry72w50dpijg55yxkaz1hv1zkvvxini3yxadwpfa5y0mpn3m",
+    "sha256bin64": "0k543zz3njsn5kh1wf90hqywll9s6g4xrnh2zqph066l91gj17rx",
     "deps": {
       "gn": {
-        "version": "2022-03-14",
+        "version": "2022-04-14",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "bd99dbf98cbdefe18a4128189665c5761263bcfb",
-        "sha256": "0nql15ckjqkm001xajq3qyn4h4q80i7x6dm9zinxxr1a8q5lppx3"
+        "rev": "fd9f2036f26d83f9fcfe93042fb952e5a7fe2167",
+        "sha256": "0b5xs0chcv3hfhy71rycsmgxnqbm375a333hwav8929k9cbi5p9h"
       }
     }
   },
   "dev": {
-    "version": "102.0.4997.0",
-    "sha256": "05y9b426wcarq18faw5i79qrfqy158dinvba5d7lwrcjnbqyfr1f",
-    "sha256bin64": "0846y3dbs7vghrb8s2s57a2lk7a0x2dha5q0d915qrn29g5x9c6p",
+    "version": "103.0.5028.0",
+    "sha256": "06i6kgsdril5gfbjl1sh0z5hqvq64bchhb2z8w0h8cw9977bvqk6",
+    "sha256bin64": "09hxvcv5n1kd4qnwh6pxzmrlnc8xijm7rwb1c8c57v0jjb32x9ry",
     "deps": {
       "gn": {
-        "version": "2022-04-07",
+        "version": "2022-04-26",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "ae110f8b525009255ba1f9ae96982176d3bfad3d",
-        "sha256": "131y1v2m59hn7s00zc9p7rhfi956p744mp96g2i80f0i020dyl6w"
+        "rev": "ced9fbfe6943854e65ada4ac1849d1fa4cb19348",
+        "sha256": "14fgjsfqihmma1cr8n30n37vxkf20paa6swq2yxn1agjvfr9cdvl"
       }
     }
   },
   "ungoogled-chromium": {
-    "version": "100.0.4896.127",
-    "sha256": "0kgq38dy9mjyc44556i9gxhlsgd7dfvv1xi1ibk92b4p7i2y6427",
-    "sha256bin64": "0mm6lix14bf4ca440dyccnq54z0qvn5c886ghfyzy2q0bqzbq4nh",
+    "version": "101.0.4951.54",
+    "sha256": "1d808a7mvg0nd0mm20c1ny5kdvb2xvrs8vz4nnk456ix8pywcv62",
+    "sha256bin64": "1m6s6xf2wvz535w6jskk3pnibvsjpzmbxvd9rlxmqr08y219gp5y",
     "deps": {
       "gn": {
-        "version": "2022-01-21",
+        "version": "2022-03-14",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "0725d7827575b239594fbc8fd5192873a1d62f44",
-        "sha256": "1dzdvcn2r5c9giknvasf3y5y4901kav7igivjvrpww66ywsj8fzr"
+        "rev": "bd99dbf98cbdefe18a4128189665c5761263bcfb",
+        "sha256": "0nql15ckjqkm001xajq3qyn4h4q80i7x6dm9zinxxr1a8q5lppx3"
       },
       "ungoogled-patches": {
-        "rev": "100.0.4896.127-1",
-        "sha256": "192kyhr0fa97csciv5kp496y9zwcsknwlrmdr4jic3rvv8ig1q9y"
+        "rev": "101.0.4951.54-1",
+        "sha256": "0zhzy7llqddvym992pwhkgqh2f6ywjqqg0bhahl6c0np95gzhpbs"
       }
     }
   }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index a294a870805..f05ccab2975 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "100.0b6";
+  version = "101.0b2";
   sources = [
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ach/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ach/firefox-101.0b2.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "6b5ac2e733e44616405f31b16bc995f945740477d00988ce5dd4f16c4ec74085";
+      sha256 = "84d818f3e3533fa8d0f92c00d654023c036238db4a9a9048a0d71c0b60017eb6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/af/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/af/firefox-101.0b2.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "5b25ad2870b33002060f493368f79921046f5b19e4adf0c5e1836b7d00347790";
+      sha256 = "1d60a63bdf28d4e0ad1ffe1459cd949704bed08864d0a1118032acb6f9e9cd82";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/an/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/an/firefox-101.0b2.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "9fc4a88d9216ba0b5979e939092314f135da9e33a3d8df7cadcf142f19b0b71f";
+      sha256 = "b779cd24703b623d06cf69b60c92e244ed6f8c0df5f30ccf8c3d5d9d08841af1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ar/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ar/firefox-101.0b2.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "23f33752d3df64ee98cdbdc569b8cb4cea2dbbae71810a3a14a82a6361f97b9e";
+      sha256 = "b8121d4f1a9b04814933df8e15c7e7c01ed24aba78ce1f43d29ec0130aeb7d50";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ast/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ast/firefox-101.0b2.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "a5d357ed9b58fe0a2b7c95e24cb18659c7aee29cb1cda0071b7afdee9c3ac9eb";
+      sha256 = "cffaf3288650509a3d25988ba32bcb0e7af0bd787b7b5ea297490f236ee91d5e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/az/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/az/firefox-101.0b2.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "1191a7c0a3222d55a605bbb5f25d064414d08b9bfb6dc6ad74dd1de357177701";
+      sha256 = "c9e62710701996c4d556320583209402dc955296117e8d70a6ead33472e07d0c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/be/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/be/firefox-101.0b2.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "69445ca3cf31d63162ddd0aab1538655a08e325aad57a3d343ac310193a942a3";
+      sha256 = "4bb469f3523bdff58e83d9de56a80f1d9396df2fae2c048ea91cefa14d89def2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/bg/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/bg/firefox-101.0b2.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "f2ff0a6bf22b9ed16b0656d4e0848c509cee2de9a638d556500909e1352ae5b3";
+      sha256 = "bbe96de47df523971ad2f7e72b4c5ef040b94dcf3d88dcded6a3808098aeb1c2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/bn/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/bn/firefox-101.0b2.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "1fbfdb8d6f22567eb1112c63ab6192cb439b9d2cd5e57c10401c76f9f9cd215b";
+      sha256 = "0973eae62bf490af5bdf71d5e33dffe291809a2c4389fb8c9cdf33670ab497cb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/br/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/br/firefox-101.0b2.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "e05895d70c72aadcb77dc6d84a6a054a8410b29e05d5da6eeac0fdee1b66b130";
+      sha256 = "f693b340a2d7ac5bf40705b51333bf7bc22e9a62a9dd14952e6835a8d5374267";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/bs/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/bs/firefox-101.0b2.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "ba125689cbd845e9bf8df940bbfd0796326939ba9b45d4bc0c0a8ddf64dd6f61";
+      sha256 = "de631ff909d671164e52e7194c1f5f5ac6156ef66877f4642c5f067e806281b3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ca-valencia/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ca-valencia/firefox-101.0b2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "37a5ba26d10cbc2aa8222a2f19133a12710adeb389234ff53a91b43ddd5e901a";
+      sha256 = "eb73e92b05b37a7aa042b8b865a630a95fdeed41e9881f659a3589c2dcf3fd99";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ca/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ca/firefox-101.0b2.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "5f11f3a11b93f06235981200b690cb9aaf95ed8d459ea8e1d6ac7c6a73d9d9e4";
+      sha256 = "d227042106358cfc9025f3bdc84e12494550e29ba4a8a622fa6c1b88a6cfe7cc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/cak/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/cak/firefox-101.0b2.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "1d4a103b8c2c601b908a635d2b5edaec068c1a2e644e1924022a94e57e1b2f6a";
+      sha256 = "6831c152ec2fcab6fe7e6792887c7b813c2e226836135acbfc4ca66a9b114014";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/cs/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/cs/firefox-101.0b2.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "358b2c3c3c5a9945b35f1c71eadaf7d5305d214ecfe37fda811fd37d326dfd35";
+      sha256 = "c7c52ee04dbc90417e6c6d35cefe315daffddb6b13b7a239254bc15cb22f197c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/cy/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/cy/firefox-101.0b2.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "bcbab842e30d22f7d646d2494451e0e676c40c16c1e3532b4c6cd6eb501fb7c2";
+      sha256 = "e6315de3fc02ab229e1e8422f614ceb0ac4ee1aa913492a24f200dd922dfb2ae";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/da/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/da/firefox-101.0b2.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "3b462ea57616171ebe43e218d7fbcc8c45d508fa2b91490d5b107842bf936d25";
+      sha256 = "1dbcc3ad30cae0c8e5cd29dc480373fe80989d8636d42e45698b8f7a76bb7781";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/de/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/de/firefox-101.0b2.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "067a586989c84a280366c6021daf270652d443465b63d03e0fb9ff02eeb3f3ee";
+      sha256 = "43189166f2f1e7a3366922270b62e95027f2d750206bd1878b764a5a7572d360";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/dsb/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/dsb/firefox-101.0b2.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "42621cd070dc172b08bdce256c91d6faeede97b116b353f1edf2354c0e37ec3a";
+      sha256 = "2016ca15c4ef78eb8c698646cf6a7ca605f2316cde2df5e1648510c117fa32dc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/el/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/el/firefox-101.0b2.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "f079ccc06590277ccf09d4e34b73d3b363d79651d6e2a07d7e127a42ab552bac";
+      sha256 = "7aa33608bd1e9ce1bf3a7b1943644873a7e3d91a5bbc72ac03be5fa1bc4ec8aa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/en-CA/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/en-CA/firefox-101.0b2.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "e3f239da659c77662a10ba061f806d615f9a57fe89d1207ac04cacc603a9a587";
+      sha256 = "e31cc0e5dd155c22b1b3a6219b154544b729e700496e8d8f83a895174e6ecb7e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/en-GB/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/en-GB/firefox-101.0b2.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "e41640386bbceef99290458576da3272ea400e78641cbae73ece0e07045396ab";
+      sha256 = "7521c0e6c083d26d1f5a67f695354e64947ec3335d07991e97429e569aa17e23";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/en-US/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/en-US/firefox-101.0b2.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "7f5888e7c0480f4f1626943f1878945166179ab94d995e23d0b8f5eb9d83ab4e";
+      sha256 = "e1ad655ed971655a6b56446b5e09fb7f0415c8ff09370ad8fccf7f28dbbd17b0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/eo/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/eo/firefox-101.0b2.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "6c07749b176c7c533a824357da81a42ef10fc78f09b58e7a090d3e36fd77a6d5";
+      sha256 = "9afae49a33f2a0aa02a346fe6e456d09dbe88a0c655a015be5e50a307c472d95";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/es-AR/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/es-AR/firefox-101.0b2.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "2d23cfea40e6948fd330b2e72f40edab597e5261fb9abcbd539d0b9f513fd946";
+      sha256 = "f8919da0647b6e6a6587f4856ce20be5f6054f4e5b6d71562fbffbac594853cf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/es-CL/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/es-CL/firefox-101.0b2.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "eef75de09e6fa7d21ca4aa799ea4b279dcdeefa79d9b4ef7f3b5266c90c2a8ff";
+      sha256 = "b31b8a41ac391aefff8c1d85a29ab129983bd39474a15672cb3e74d916e0c9eb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/es-ES/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/es-ES/firefox-101.0b2.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "31d985ab2af1ba15fc6b41580fed4a06fa33fb8cf3dfcf96b1a5ea4e361058f5";
+      sha256 = "f4f6e6100d85050d381beaa4f2dfeb6b5e7170cf2c079257ebbfbd80219904b4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/es-MX/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/es-MX/firefox-101.0b2.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "1fdc9e77eadf9abb55224bf0db1e555eb99f4a7c525f6021fe226ea7de9db026";
+      sha256 = "c2e3bd2ccbfe64fc5eb1d4f920554ba3d170c0e2e478791d9cc19da955960200";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/et/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/et/firefox-101.0b2.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "2df8328fcf9f10b84b2110f31ec32a5dce7054845c37f7e30b023daee4701322";
+      sha256 = "cc0b56f513294b0742023e37a06a462b107a480c1fcab118bfba6894c2e72375";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/eu/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/eu/firefox-101.0b2.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "30037fbdb33703b894bb0e33b192d23aa1b67ab9b944b1381d27f95e0c44bdf9";
+      sha256 = "8a18e5428a9dc60cd39ff3a1b0900282178efe54c11b43a8015b86d33368804b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/fa/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/fa/firefox-101.0b2.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "37af6700e54f98541fe1f703c13ccad70a72bb7e28200762bf636bd3494b443d";
+      sha256 = "75fce16479f2e95c9a00f369364c279b362c0248e787ade7f14f6aba934cc624";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ff/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ff/firefox-101.0b2.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "3612950e42cf9532bb5be99f9f73e2f6b480c58570b1092f8eb337aba1257234";
+      sha256 = "90081b6c7b487292a14e2a488a14e9d560183ff6313a67076f1a07033df54a80";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/fi/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/fi/firefox-101.0b2.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "a8a2bace3af643c6b82bdfb043f90d4cd6ec10abfed6ada230786ef7eaaf9ee4";
+      sha256 = "308fbcc9086fc3f899703a58cd95f55b7e10b7ab4fc0c4cac02c01f5dfd2ffc0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/fr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/fr/firefox-101.0b2.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "296f91da1aec6481bdfecf311db4560268082d6f75f0354c6b09ab64494c211c";
+      sha256 = "91cca9bb622e3546d683a8e3af9984ab63e6aff56a8f0b7a61c84795d452e198";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/fy-NL/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/fy-NL/firefox-101.0b2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "3bdd5b38483c8a8fdab13767ad8f38d60e9c12359740d8017ec8a7a83338e99d";
+      sha256 = "37f87b1b0df5efce58dbc6366028b069bfd61007bba8a4835b8c72966ebfb584";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ga-IE/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ga-IE/firefox-101.0b2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "5f734b553ce52eaa91bc3ee1ac2afea09aefb35e886ba68d56cf3b1e55dfbebc";
+      sha256 = "d4a347e9ee59e1eae54783c9d4c99f88d6fe5eddd541d54f6efb1d2d0c494657";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/gd/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/gd/firefox-101.0b2.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "c2b3ef9590646143e48ffebc75d7f9c4a688ae0d3c3a648683a5f7a02aaee74c";
+      sha256 = "907d68789cfe8e2be69d85cff2b846d91bd9ccf7c3a183891472509db54a5e49";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/gl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/gl/firefox-101.0b2.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "513ca5b29b690986d0aef335cb98406d599a18ee44ed2b8fdf7687ff3dc87ba2";
+      sha256 = "1d1e107df695c76652207006ed060fcdf2133508c7ea0fee4f402816a4eed53e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/gn/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/gn/firefox-101.0b2.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "4a5974953f144ffff20a946073aa8891225d80e3dcc405d0230bc601973e8634";
+      sha256 = "b62af16daf08e4a2574bb6b96b4a61cfc64967328dc19fdc56ea56cc431019de";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/gu-IN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/gu-IN/firefox-101.0b2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "a2e780ccad66a9a741551b5f7425be3e91f5a225a50e39ebf5770808fac484d7";
+      sha256 = "ef2f317ae3aaf608e74dc882b202a195ad4146295f00bff2673cda02338ae499";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/he/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/he/firefox-101.0b2.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "093fef7512fc82efe8aaef9108bf84ab7a9730e2fa94b8092206c0804068bcd5";
+      sha256 = "4f5cd8a8f6dc9c0588d9a41cc9e68b0f643581cfc42b6f17bde51dc60c3ec2a4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/hi-IN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/hi-IN/firefox-101.0b2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "1b6955622ff8fda11d439dcb4f425a3d84c16c49ee30b1e6eb246555fa07bd09";
+      sha256 = "16e96c75e96d656d8a5338c6692ee3c4d94af325b51e3e3326a5024549360f6f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/hr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/hr/firefox-101.0b2.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "571c7bc2b25002094425eaa8878aaa4b339027a5932d5a073b23fa7d3cf9c945";
+      sha256 = "55a692fd61adb3c0cfe05317dac407f5804518d07ad1bdb6aa49a6e7d7635270";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/hsb/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/hsb/firefox-101.0b2.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "7443ddc6143f466712de34ebffb4d41633aec8c0d7b253c3008f68b600a59b3c";
+      sha256 = "d2786cb3a58bfaa5156c9efd5e36743bd30461e922f8d1f8421fc60ba743738f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/hu/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/hu/firefox-101.0b2.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "7413002d74a0c2a0dbc19f783e84fb79a71c73fb28034ad4894a7d64d1745b03";
+      sha256 = "e4100b8208dfb367de6ea92252de3730728651d54027a7d8da989f52afae2f10";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/hy-AM/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/hy-AM/firefox-101.0b2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "a8169b877a7f2e85bbf363c5f0b6a05b28f2aa948689535b2b608cdb8d4c5af5";
+      sha256 = "5f247f00eb048e01f8ac6f1e7cf8bd9a4e2d012e2534acc2dde7e9cd659ba48e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ia/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ia/firefox-101.0b2.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "54245a95072f8b98a6d556ccb79547d56291b9f915f7e5723f49ff97a1bc1098";
+      sha256 = "68a040005c7e2db14d380e36a28725d59635ad6166c3a918676e870207a790e6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/id/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/id/firefox-101.0b2.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "43fb95f81026dfae3b889d085b2584cbee7f6b1bec6edd0378d3965b056f8c8b";
+      sha256 = "f9dba308d0e9f6e1cdf70c26a914acd234cf8d35aecd5374d8661f2d025492f3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/is/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/is/firefox-101.0b2.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "79e94ad99e19f325915231ce35fa741ed617c5595d5a2d1233ff0b2f2cf20733";
+      sha256 = "5d50987e3ffb7a7818479161ad4d019d59b259575cfcbc4ede9a4a6a5cf1b6ab";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/it/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/it/firefox-101.0b2.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "0f2147837a3b3d90cddd387125a8579cc576e1613a520fab8265de36ba1039c2";
+      sha256 = "b786c212f61213e69010d930f2eaf5bb3dd9c798446725f4822fc3bb37adc01c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ja/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ja/firefox-101.0b2.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "b755262db8331612cc447c6c5c944374338cd7d52fad732803c1b2d3b8744921";
+      sha256 = "825af27cf52551dfbc83d7b95e47e64ed0ac7f7db3095bf1debfea87b39a4378";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ka/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ka/firefox-101.0b2.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "3dffe30c39f3fee7ef4fdd0f02e619a79f1d67eb3b49efdf35838090e0c03bd9";
+      sha256 = "e009b3f2944e6a67d85f8937e5e7472c18049b2569bb2c9f234de468e636862c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/kab/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/kab/firefox-101.0b2.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "c675eaf355c484362f3b9586a30eac9362452f548d90fa8f70ede88f33f7b30f";
+      sha256 = "168c16ddfe42858333d1f53ffae9baa16292687a3d65b29fc9f4605411a4a712";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/kk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/kk/firefox-101.0b2.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "cefa5aed2f200c3ebb263695c4192fd16b73861edb20085e956332f9f9c009ab";
+      sha256 = "e12266f2f186570c1aa382067f9cbf1cf78e0b14e14cce4b9c822f29366c2b05";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/km/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/km/firefox-101.0b2.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "02f6a77a412311af0ea581fafa12826bec93c333c14ff6d1f9da0dd783c8aa0d";
+      sha256 = "77f90b4c24f1dd8ef8ab06f299abfa734da6d74ae1b4298d3b425b08c28fce9f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/kn/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/kn/firefox-101.0b2.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "e6dedf44d9a0f1a8d379b8f07add326581b06223b335935f81f7c9a442bac2b0";
+      sha256 = "c9015d588d9e1d07499b7f910d9b2236b81a6c3e5002bcc8d18ea970bf2ee8a5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ko/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ko/firefox-101.0b2.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "022550ce534cdf4ba489bbcd553052c535fb0ee908155b728718619f33f95630";
+      sha256 = "0c880beec3dad250b3e224c2e7b73b15253bda3bc043110aa874cf555d475094";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/lij/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/lij/firefox-101.0b2.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "f2e075a6ef35fd8c802cd929f9c81043d9221f947269ca13be695b58edd603b8";
+      sha256 = "ba25d461f97dc3f359a4d525143c5a19859a2c051db87017469ba848c421aef4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/lt/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/lt/firefox-101.0b2.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "4ac54a885a81db97df5940cac5429c59442de591fba560c9608cc0f9ba1df74d";
+      sha256 = "e73fe6e7477b4c37d33cb31fb872a845f8a67ab659d93752d936a2ce7a1e3d31";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/lv/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/lv/firefox-101.0b2.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "413dee96d7535b5a276a34871db10b37ae9b6ed233df8a81db0d9080b1cc2ae9";
+      sha256 = "4b4d510eac153ceb3c2953d1141e893aeb913000cf6d557e4564f8983adf5b29";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/mk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/mk/firefox-101.0b2.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "9fa2653fb6cbd77e874b1306c9c070097c4728deec0972edf9b7b03aa79a2b9d";
+      sha256 = "8a56b192d42351d40e2d35164f5809ffa5ceb52e16e5d6e85f4819f250deb67b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/mr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/mr/firefox-101.0b2.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "e26dc9319727f9f7c0fb98efae44d89228499b52edda8f02328586bfae4c79a5";
+      sha256 = "efe2bcf5f97709240a09680c54c61ae25be5e8019003d67bae8cc166bb6de15c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ms/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ms/firefox-101.0b2.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "0001655c4a42a6c113f428315200b5cd1eee08cc417fd82464db87c322f5e949";
+      sha256 = "a5a1b3d542478648efdbed1f174f87f885593209dceb1b41d5090948a46f8c8b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/my/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/my/firefox-101.0b2.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "78fcac093123a0b4b6ebffb1e9f10ee5906d526b96d5be1b249a1e60acc4fcb9";
+      sha256 = "baf5d8a4e2ccfc40fb9383ad84c15d9e47ddb81dca203ac2df5faa2aec6e2031";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/nb-NO/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/nb-NO/firefox-101.0b2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "6c218dc369434feb3ff30840cd940c19e10d3e900325246445fdb7113c22c284";
+      sha256 = "980c1a26381596b76f5519021327f5d3ab104f231e637e9bade9bf34e9f17df2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ne-NP/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ne-NP/firefox-101.0b2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "9a1a9a2380ebc3da9035066bb212b14b1b8bb6fb80feb6ed220cad1a3969ca6b";
+      sha256 = "15bc3ecc249798080feee3214a76fe843f16a68344673c5cbdfc6557d171b77d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/nl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/nl/firefox-101.0b2.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "6ff75975cb1ba028e78aad213837b17fe0b06e5f522996b3b9cd450beab24b51";
+      sha256 = "cad9d94763528115c4ab4af90a722492eb3752066483bbdacea7d6933d2b4b2d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/nn-NO/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/nn-NO/firefox-101.0b2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "911e765ba62cfc8d69d7e4d68f1a5d44a1b311400731a3593e98ad72516c47dd";
+      sha256 = "27ada324b58968fe5b9e2b6e367dea00097d83d10aa110d4d76db06bd22e9d5b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/oc/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/oc/firefox-101.0b2.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "23341acf2319454172a718a0123fa15bc9367028984449c7a2cdb50644a618b7";
+      sha256 = "9c4dfdfd16cfc0bb8502f31359acb01bda905089781edc89e15eeac4e52d0513";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/pa-IN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/pa-IN/firefox-101.0b2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "bae2060e37bd636ffdab3d3f84b73078c4dc78d7ec7eb7bb9504be4dbc3398bb";
+      sha256 = "b10709e964787898a2c5e15c0856b8b580a3221dd33ea441073437f833770552";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/pl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/pl/firefox-101.0b2.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "cc397c80e75d00507fa6e170ec43df337450796c829e44d518523b871e33f585";
+      sha256 = "dd8b9baf6d1083f08695fbee6fdf3a3a14e3831d6cc797bc1e9e8ec0818ab0f0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/pt-BR/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/pt-BR/firefox-101.0b2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "2bcb44821f106ad7478fe7b61c7952c20be135a2efe1185d91123930729f78a4";
+      sha256 = "14cd1b927d3dcdfdea02026c3b6a6fb0ecd331652d26f8c7fd344233514ee030";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/pt-PT/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/pt-PT/firefox-101.0b2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "7f4c5713972e5bca35b891bd850fd90fcf60d254ebc15435e5b814a212428b44";
+      sha256 = "906bf971747d018c847dd949756618c923cfe72b461636fa4ab809e99c0b0428";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/rm/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/rm/firefox-101.0b2.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "67316b932226848b73a95687e6d218983d8056a966771c3bf16344f158578a53";
+      sha256 = "9a4d70191390d408104f77595fb8c3442b9133c529152a14edd8b81eb2a9b91b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ro/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ro/firefox-101.0b2.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "7e61a6ce962f1ae0a74ff7a29b6edd7106fe95e4c2df399c22a17f1cf4d0dde9";
+      sha256 = "778a0242484198f61e747680eacf4391061255cc4969e1c1ea7d23261f92182a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ru/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ru/firefox-101.0b2.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "bcad404db75ebac101f503fb793572ac010219f41c6716d33cec0552821bb281";
+      sha256 = "f68bd731b44cb75c82f800a0944ff69f738692fb981dd27a097b60efd96bee1f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/sco/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/sco/firefox-101.0b2.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "4b01c6ae78219c122ae455627b24594966be61d335dcca8e8547784e8050051f";
+      sha256 = "f7f92d0fbc485d099a63b5bb71b349148bd4e475c212e8c4e49f1793f4bf16ad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/si/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/si/firefox-101.0b2.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "5aed65aa84e19c8a270cbf6ad3284c23c83dbff841b4639a15af6cdd9148560f";
+      sha256 = "0b6e76241d452954a0438f9e3849743034c47089d6352cb22c1957b40a674c75";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/sk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/sk/firefox-101.0b2.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "a06083cf85f88232898d99dd0174e7999c3e65bc8f893c144775722975410235";
+      sha256 = "aaecf4614bc84130ae7ea552704e375abccbbd80bdde0848718287d46b61a0db";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/sl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/sl/firefox-101.0b2.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "fce1013364e0f49f9cf56b4d50be3f17ec92d4dfe77a0ba6672404abbfd954e6";
+      sha256 = "9fcf2320a0b7ce031ee2d607570177ec3eefe56b5a3e05f29022b6f6b1d4df49";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/son/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/son/firefox-101.0b2.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "be37a85ae43d646b5b0249303c65d6f0e3c7e15b65986da7e221119d3b8537aa";
+      sha256 = "70d0fcc6a8ab38fead293a2bf41a4548e027ab34cb1981c0b5cef12301031e5f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/sq/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/sq/firefox-101.0b2.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "dbbcd4da798dca36965a408f74deef86001cdefdbeedd93d3d5c8c34cfd5e4e6";
+      sha256 = "bfd2966ffc4f244c1af4b115a559865a86358125ca7485df838fa3c4d863237f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/sr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/sr/firefox-101.0b2.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "cb8a4d3af1f8e5af4c6121afaab85eb51239d0a98e9caae0e87df435d9d746ad";
+      sha256 = "6f2044c48819edcbb611d7455d30b212206a6427df74c186e7deff84d46607a2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/sv-SE/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/sv-SE/firefox-101.0b2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "941b3175289f26cc8102c5c436a477cb04af6a35e15861d2473d55b3dc36a04b";
+      sha256 = "9fbd49d8dbb4c89447786380e468e74150ed8a94191fb9d942a3bc5fdd1eed23";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/szl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/szl/firefox-101.0b2.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "48fb048a32877082ff1511484cc1eb7847198da4af366c136bcc260879e30970";
+      sha256 = "9248fc2d9ae25129ea1dd440d6f3e8168c33809156c0ac28c89cf7a849ab71b8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ta/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ta/firefox-101.0b2.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "16ad13edf164a8867a56dcd59e4bb8c09d2cb3cabbab8c2d7e0a4ed0c02db587";
+      sha256 = "fa62feaac98df16853e98d40796679105efba2f2b133959d57a8c516d7bc679d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/te/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/te/firefox-101.0b2.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "9c4e9fb72917b2e7b6abec7872366d687874af3c4e0d2acd862363120e3ceae0";
+      sha256 = "6ff13809cd57fc9415a78776cd809a07ca2731ffc3297c1315f70a80507a402c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/th/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/th/firefox-101.0b2.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "2a14cee27f951ec1e9e6e342cafee68a18513ed1b4d210e0490862296b12f0a9";
+      sha256 = "984722c2760f9162ea166c004295b529d50e87e983c30e223c19217bf2957349";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/tl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/tl/firefox-101.0b2.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "dd1bf5dbb47615dc2f3a473ab541686fe53cd7d3ac3e5bedab37ce436db5fe07";
+      sha256 = "c7c3570c25909af183593a9cc47dda28417163036af62522b1e762609c906408";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/tr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/tr/firefox-101.0b2.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "eb9b3f14fa9c2c57784f1e37e198b9eb4bdb8cd3f11ebb52b2a51ba47cc10ccf";
+      sha256 = "c09188f66bc7e84ecf36c316f6858786a76b6431b223141d7ddcfe5801017efa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/trs/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/trs/firefox-101.0b2.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "d39ad94019221ecb2cc895ca16d71f4d461a52eef741b5728447ab054ffe12aa";
+      sha256 = "4e0a2711a19e334ea2b0b2b0c9e1f6b2e2dd8946ac5afc017f0b360ce92b1597";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/uk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/uk/firefox-101.0b2.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "9fbc6fa34062cb64fc6c5eb09df6e3736865e09124efd465c6b30c1bc8329494";
+      sha256 = "16c3317d11f94a098e3998e18d6af803e6cacd9cebf3d8aa7be64bb031ed4a1d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ur/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ur/firefox-101.0b2.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "ca1ed7e7746e5a2085328158185715b7b850e8129adf77b1d6f4e90580563563";
+      sha256 = "59d7c4dd6cb4a62e01863cfdd176d23dea36c7ba9ffcd0e8f4a87803df25772e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/uz/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/uz/firefox-101.0b2.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "ad05af6f178de687697e7f98b18a64c2cbcc1bad2b167d5bb35e13ac57d03880";
+      sha256 = "1874d3bc10804a1bb6ac7b934109649751f694d8eb36ac04c4bfb18df6d7ad49";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/vi/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/vi/firefox-101.0b2.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "22b133203f3bb3c901c225e1275215c0c7e3ab5714e640d218532a9db8c636eb";
+      sha256 = "f4b6bac19de341c1dfec87263e41b4382f8716a9ed1ab61336a29270988bf17e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/xh/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/xh/firefox-101.0b2.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "570c959de8351eb8ffaae05292be916bd94f34f51a1ffcc84e3176b7f23d230b";
+      sha256 = "33e01f8d8e6c21afc055f73415c4c4be324cfbc73bfdc42d262ffde0e87301ce";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/zh-CN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/zh-CN/firefox-101.0b2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "f0e4fa1b580f778be335285b1154abdfde0b95c6d2c67f7547ab07bcc7fd5172";
+      sha256 = "a17b7f914930ebcbe92e5e8fa8ec0ca8fa121939d65c68287ab668db460097f0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/zh-TW/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/zh-TW/firefox-101.0b2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "cd49d2954a7014a926cc012c1e439926af1f58c5e11234e2f9d2489c417388f7";
+      sha256 = "ad987a76a4f4b5b521c7ac6eb1784c84086a7f11d9f9810f95b9219ed9d22c4c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ach/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ach/firefox-101.0b2.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "a3b67450658e8c34ce17f5f3b63afc4116cccdd2d786c72958afdb468c0c7eab";
+      sha256 = "ee933397cb0be5acac1b67853871c5df8ccfca7bf2d8ffbdadd5575218ae317c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/af/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/af/firefox-101.0b2.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "c7a9ca1c35ed17fe138df0608d02b345c6e358612a03f3408bd46a792f3bed2b";
+      sha256 = "c6d21ddbd2eda266e11dc5cb132b0549868706e8d6897a12c570044f0eeafa48";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/an/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/an/firefox-101.0b2.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "242731960f5b500d25f9b328731437a4229aa4d668fc849d2111506dc4741b97";
+      sha256 = "ae66f452b5ff50aa82867184a0111692d8fcdbfe17a5f8fbc88d2345a058cd1d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ar/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ar/firefox-101.0b2.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "4adf2045f911f74323a9e65b4fd2cf249a5369ad5143daa36eb0b1999b5adacc";
+      sha256 = "1feea62c9a13828854257a5edd93a139881179f52d735558920f21a67c58f895";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ast/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ast/firefox-101.0b2.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "d0827bf52bf91304a0a17c9f5edbc6081be1f1d9eaeba6dc24b63e8b251dbe11";
+      sha256 = "05f800f114645ef5859d78d57d3c14ae8af37b27cb0fee766e948faac3548124";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/az/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/az/firefox-101.0b2.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "41de2d574563135721d0a975d8d90f4eccac60f3be51d4cca5e957473793629d";
+      sha256 = "7170b694f972a73c88d32b1ce8f95d0c29cd549afc77dcc19b0ddb09bc138a1e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/be/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/be/firefox-101.0b2.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "736900d6a404a97e13cfeeef68681ec7980266ba983f62c0779fd6a8b502e22b";
+      sha256 = "503e5f53a9fc97e25df4d7b67b5c97fbb809a2bd6a72a99776f1d30acd628f81";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/bg/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/bg/firefox-101.0b2.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "77351b45bc0bd3749c54ea1efb1ebb2ba1ced97f9885906a9b86523e85eb011d";
+      sha256 = "121339b4ced135ecaa3cfa01e8a120f82b8f49d7a12886e81777fddfc9a86d8a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/bn/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/bn/firefox-101.0b2.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "5d9b274d20b5137e531660f92a7ac3b481abd756870af815159ac30e7df47e8d";
+      sha256 = "e94b39bafbcb6d414608b607fda8ac366bc64e498ecc2d6f7ee29f3a807a0cce";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/br/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/br/firefox-101.0b2.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "22239f50b370747d3029e7f4ab8ac47de15cd5aa8b6d421193299fed9f9b556e";
+      sha256 = "e35d8795752d5389d9cb6dba5657ff03326dc52f53b4523e568cb14a9d7ea812";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/bs/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/bs/firefox-101.0b2.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "5e2d51cf768f00ab8a30f8d54e2bb88eed75baf20c381e87b7186f5927447137";
+      sha256 = "11ab8f6430b63a8ac4a84418a17bb5d7b347a7a887498b528fa3b07c5f69dc86";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ca-valencia/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ca-valencia/firefox-101.0b2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "cdbee7378c4584d51a7142c695401ebe21a05c87961171fae2fc71e76485e92e";
+      sha256 = "d9d5848da4d1818619e0b9641cffbee9c63358157be344dc6a30ad0e2230faac";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ca/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ca/firefox-101.0b2.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "1f8f6e0a3917828f7e30deff842c6d5f0c5a2389c87969783d46950c6b072722";
+      sha256 = "3791d8354df11c7fd77f6e5dae3ee988fe93226ecf57db1d04d31830ee4cfd07";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/cak/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/cak/firefox-101.0b2.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "42996e08427b937cb2e2aa4d7ea569b729c9002d293be5288e02ab1588e3cbfc";
+      sha256 = "2d38dc2c29dca9c6618da8bd15a7be4fba88a866247fe975172556378d703a94";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/cs/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/cs/firefox-101.0b2.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "692d99947185928b46142ae910c76d4c1ee2328aa2e67212919aef39741d67db";
+      sha256 = "987ab6a31f40aeb3ba4b4321ff755f8909f7bc78ed1568e01bc0936861d756dd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/cy/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/cy/firefox-101.0b2.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "b2f7ee9c016bc107e63dee850688b048c43f5d1caca1aa81d22cde4ffbe6c964";
+      sha256 = "df843641be4d316cd6630a30158422c023d48bb0a4dd30622cef4e27b97c99ad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/da/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/da/firefox-101.0b2.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "095ae3d0657a68903c4d60a21240b9c3fc399284063e5c366ccedcf58361c80b";
+      sha256 = "ca5e5b23e9b4615f5a982b9217dd42b82c1f72b832b3aade4955f9f46f0e3e9a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/de/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/de/firefox-101.0b2.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "359364e7ee5ed03556c7b7390cdb4b1e91e027598a74231cfc20fd5d5c601b1d";
+      sha256 = "e07f89f21b1952310ce310a54428840053ae8f2dcaad5472b38b1761ef32b649";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/dsb/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/dsb/firefox-101.0b2.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "24f7caf5bbc8edefa104c6b4a646a1afa254da9bb8a1965193b7e4a97ef848ae";
+      sha256 = "c6e32545afdec0bfccc5f568892fc77cb226715fde84bdf2651627ab7d69cbe7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/el/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/el/firefox-101.0b2.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "97bfe8f01d8f6024b85a6f25ee084642dc2e2c50dc189d1b6bccfa7835120bad";
+      sha256 = "0a3d7ec83f0a64c6dec14f3649bd6335bb3118120d7b3da50fd0c8498fd899c0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/en-CA/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/en-CA/firefox-101.0b2.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "fa534341dcfeeb5778d19d5c38fdd8a56e92e756212d256c2fd40c499435e6cc";
+      sha256 = "ce43791e216aa63a250c3d542c4f89eb7199b6d2805b0994f8479a6871f38bfc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/en-GB/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/en-GB/firefox-101.0b2.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "a38f383c06a2cce4ddc49fd304b1b5742dcbc2cdd189dd5b6e91b1494231504a";
+      sha256 = "61a60147594bea4ce7755d002edc914066f31ac4bab1f2933948b0c0f8987f01";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/en-US/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/en-US/firefox-101.0b2.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "c5ad47cc4f5829eb3d01c7031833e3f8aa24d07947415947d5e86e492be37c20";
+      sha256 = "503b87ed02399c0804edcc99bced3ba07da78781c59616f7469bfbcf8a2ca07e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/eo/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/eo/firefox-101.0b2.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "d96ddc5a07581ac62078cac8d702425d6764cbffd93ea1a35ddcbfa5258e01ca";
+      sha256 = "564b49b4ce197b4237c514a7cbd8cba982b3aa979e5b2ada991b951edee4d9e4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/es-AR/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/es-AR/firefox-101.0b2.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "e5c069a162cd02c3449b6b6c800c491f80270cbd9e29bb418351b40ca318d08e";
+      sha256 = "5f0b4e2c1078456a41f74b284ae424fa7fee61e99df08b1d1fce565bc65d1e25";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/es-CL/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/es-CL/firefox-101.0b2.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "e45ea8d1bfc96f500e1061eed4694f2c7c81fb5b5ea76411cb7bdf7df8e74b1b";
+      sha256 = "333b857e916d2a98c38f61561ad9a1203e82cb8ba232f164b4c863c5d5921273";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/es-ES/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/es-ES/firefox-101.0b2.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "a86e913fce09abd34f69f72f338e5d276360b39584266fcb160aa4cb5ef15e10";
+      sha256 = "ee9ccde18f190f18abed18fb068cbd10fb81ccd16c0644316d22f838ac68191f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/es-MX/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/es-MX/firefox-101.0b2.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "d39ac7c519aa5ab3c2b02da50f882480d657672573ac13b76ffa1620a7c31dea";
+      sha256 = "ee18e46695e277001331493060354387cc2dce231e58ddc4c70b693b8a73ea30";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/et/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/et/firefox-101.0b2.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "2d83aecece8c35f11bd3190da1d91100779c4516292fb683792c09a9df63297b";
+      sha256 = "1d2a7947d04503f57098d3e1384c5cd5462674dc423cb5ee9f60d6055cf8d82b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/eu/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/eu/firefox-101.0b2.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "acb38b6a8d2111511d31cb967da094d68eb4bc5e1fb4af613392cdb931a81b69";
+      sha256 = "bce92157723f47e97d252be307413b3d2423910e37f2d3064f28065391e4c6be";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/fa/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/fa/firefox-101.0b2.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "4c509afe344db0cf9eff8f3bafabdc80b25f78537dfcc931d05a326d97b3793b";
+      sha256 = "33fce9fcd652f9d79cbb4f06f8c6566df7227698ff191d5f2a8135e537018ce8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ff/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ff/firefox-101.0b2.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "23c02e6d2f18351c72917c02f6795b1183482e35c6fa5990ecab8e724959c4ce";
+      sha256 = "8f7d299182ca59d040316254a5acad58c133af5f5199b2531388705e9ee74582";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/fi/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/fi/firefox-101.0b2.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "30f696e3e0b419017fed38ab434a99ffb303eaa4d9d96bd2525ad84cebb20d51";
+      sha256 = "f8f49abdcd30b1b9df88a38320235f470aa9932c554a274fb802e2b4b52fe8ed";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/fr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/fr/firefox-101.0b2.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "40d631f78caf08e8a04a4dc1286cd749d66130a9b3f887f8a74d1f15ed7247a3";
+      sha256 = "3be37bda9be1c9a5fc4fe899010680499dec0e71ddb151f19e18e55a6450b771";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/fy-NL/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/fy-NL/firefox-101.0b2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "62563d3d7c5755f1163d956f1bf82cb81c48b5349db293e66185c95b8e65caa6";
+      sha256 = "76598f5d5ab6be41b003e7648458d1f03dac48d82716d1072a47047dd4d0aa28";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ga-IE/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ga-IE/firefox-101.0b2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "72914c49d6b5384987942a6c8127891c7eaa088d08bf9192ce448b11342f512e";
+      sha256 = "d297c383365b1ff0fab543b42621671e96d831f0620751209f04b75b8022e1c1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/gd/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/gd/firefox-101.0b2.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "1a127b1a4a8407476f1ed73ebd982fc5d0262e2fc413748b4228d9bc9d28a59e";
+      sha256 = "86bd993b81b67f5d907a87f88666cac72413ecd9450d8c482c31738bd22135e2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/gl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/gl/firefox-101.0b2.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "1a84a2d00d065f69492a73e6917e07de8824b185139e3acb75b0f0dd5f82d604";
+      sha256 = "e33cffea73148da8b24e59dd7a2e203285af2d08e356e0892dab1a70a40cd4b4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/gn/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/gn/firefox-101.0b2.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "6ddf864b2b2258d0ced011ac2d0ed13455e99d3c093642a477f95ca13a3349cc";
+      sha256 = "574df608df5b04549b2d89edd99a829afd2eea768a7dd33b12c21b8db4e00612";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/gu-IN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/gu-IN/firefox-101.0b2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "86688035900e5bf2dabfb7e8c7320dc4ccf33b46d8c9e963216a750ba2e2b300";
+      sha256 = "910a1eae44a979c09edac6d470fd5cf19428028c8ebe5a04b27c8029700ce682";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/he/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/he/firefox-101.0b2.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "d35c7ac5d61d9253ab69da2a77bbaef7037e7cfa2339d4730201fe41776adc90";
+      sha256 = "17b634d9c38d21b8dcb6e8b8ae3d89c54099a2b17b68f7acfc56f10191163193";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/hi-IN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/hi-IN/firefox-101.0b2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "48872f0b68ccf4df855e58a4520f5f8347b05de318a0991d83088521b4d178e6";
+      sha256 = "e9fb302f798ede6c518ec72eb103dd087aae86826a61f6ff260bba146bd66cd0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/hr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/hr/firefox-101.0b2.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "9c1c1303aadb4071a82b558fd470c96671872cd480e444686ec74f41afd46e2f";
+      sha256 = "a976d4bb564eba983412a3301f3ccea463887d3e3c115fe702fc009059c92490";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/hsb/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/hsb/firefox-101.0b2.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "828330501590e2ad3021397cb7b37a86c015b93536e4e2383fc5c5a1e8d6a6f1";
+      sha256 = "4ef0f578d5deb079d5cbec68e61e756b6c44b36a197740dbbcf473d17576d4d8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/hu/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/hu/firefox-101.0b2.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "592c69c6377657bccbf2b81ae54bc8f37fa6d081dc36d0465c20eaf6d673f32f";
+      sha256 = "0aca5d7dea85d3e0b823f8a209e39b54afe405c9a168d92f04cf8893272d8e45";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/hy-AM/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/hy-AM/firefox-101.0b2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "a95989dbd6b7b499840f5cc65a765129ca23392455afd21c0ff865112900b5b6";
+      sha256 = "a9595bab34e8034662f6ffc9827e22a97909793bc632ce20f5a12bde711fe77d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ia/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ia/firefox-101.0b2.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "a9b225d969b0d8c621a2b545cbb42ce7188d78c09c248422d6379d83934201b6";
+      sha256 = "bf9e13c8c9ea858875d8940fa3ac3b8440f88279bd1e520bf2e8df3cfa1209a0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/id/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/id/firefox-101.0b2.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "304f4d04d3e73a477598a034d3fd016948c5e1662bc236d640219b4b96159690";
+      sha256 = "0a6e0a680e37d53960cfd41c7218dacf359a2dfd9046e4957a64d1cb70cbb9c2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/is/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/is/firefox-101.0b2.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "3cd144b87e3ef57703ce60c57a09ea8c6ab910408a7c891f9b9b653dca51c55c";
+      sha256 = "1a4029b76fa9239669fabb61daeda9dce78198e92c47b24225d01bf3ab38fd1e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/it/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/it/firefox-101.0b2.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "b024d3b0fe4ac5691c6cf1e0c18ce2bff91083746bb988799f2eb3ab74e22e80";
+      sha256 = "45b29a5e11f55e3775b3fb8079549edb7d2d51ab70a1486f9b119dea3cc1c5a8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ja/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ja/firefox-101.0b2.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "fe3d9b0c7d0e8f47e9f1bc12429200aeb951b303946365bb32f51c9d807259cf";
+      sha256 = "2ae2d1acb31d8d2cd8aa926b7650b81406444e4abed8fd6e2e1bd245c443405c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ka/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ka/firefox-101.0b2.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "2e4d0f5f2eab6787db359c47a48b35a202b713de0807299a41a751b527a9ccf3";
+      sha256 = "730c2582c36982e81a3e86ad8d4c7f817bb32a1812eed3d0ca7692ee45b24180";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/kab/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/kab/firefox-101.0b2.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "49166beef9b6952940d1ce420afd77777fbe84143b65693f9b75db6768b88e01";
+      sha256 = "b72a7e0310bc67576d4e3f882999077e7a8f0604dcbad55aa2c854b2cee858bf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/kk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/kk/firefox-101.0b2.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "24aec891a8189714c9299c695346a3d0a4ea52621f08b890d5db63ba36bc627d";
+      sha256 = "9fa815efcb23f0cc91f1de66b33b9d6fa8e76aa5c03179e0f3808632be25bf60";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/km/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/km/firefox-101.0b2.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "90f5b7811a2f0bdfefd14261d1e0e7fe85466dc96c666316134c97095606c6ce";
+      sha256 = "d4c451d65b82ef753b651b6404240b2bba5e6798285d3fa2737709e4eabee9a2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/kn/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/kn/firefox-101.0b2.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "e423d1231edbef812e8cbd50f53dba4b48dc9083cbd5d91825392229015c38c8";
+      sha256 = "a1d0ba8d2b61f5c554a7193e1f2e25f3901b667107b1a926f8ab2d8b28fafe1a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ko/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ko/firefox-101.0b2.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "cadd481242635d64b224e080adc1bdcfff9f7ced4715b0ea9655ab333ac7d039";
+      sha256 = "c52a38a7c830aecea014596aa035dca5f6b2e8cc28e3455657fd58ccc8dc0a4f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/lij/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/lij/firefox-101.0b2.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "4798691d44767027a39c1124053b2351523e615a06b32bd2bf4f9da7b858159a";
+      sha256 = "472d0a005d350dc9c358b62b6c428139e5ca784cd6364d73209683c5cdf73a72";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/lt/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/lt/firefox-101.0b2.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "ac49b6d34eb8caac4a6900246adb3562eb2228a50fcdc543f79903ea267b339e";
+      sha256 = "e07ebe646f72849afdb0d8e5c41a7654eab3034bf476216cf58a3b7f8e0c3648";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/lv/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/lv/firefox-101.0b2.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "4f6e6a26a2b8a23855dbdeabd2363ee0155914542e4c48c655d6b52da6289b34";
+      sha256 = "441ee8be6452b90fe669843410a07b47db7f87ed47795dcbf81d91053ae263d5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/mk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/mk/firefox-101.0b2.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "522590d926022cbe833ce0050e5d23db47bab2c8de1e1e0ae3e96941b53dfb6c";
+      sha256 = "a2dbd0436ebf1ee64300668771960d0021c744c2dae8ecc5bf976d7a821a1640";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/mr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/mr/firefox-101.0b2.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "4df57dacc8b71070aa077281beffc04bfc632666b2b26caedc1fda4e484e59d9";
+      sha256 = "1311f1b8754f93669011358d574f970f258ca8b32cb5638a12266dc7e2a47595";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ms/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ms/firefox-101.0b2.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "005506663901ad539817197972864f67812a9f5e3f1055e7418ab4bb052ecdad";
+      sha256 = "8e78f3a12c599a29a01c9a84373ee799c3b8a8478e452b0a8ba27f4be9e7ed93";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/my/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/my/firefox-101.0b2.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "aeb8445d5425640ceb8d2b823a7dd3e79fbd355f07420d015af4559d2bf2cebe";
+      sha256 = "d6be222fb3161f2737f2e54d0e26f208298162be21197b6b5a6e3c05d8948f1c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/nb-NO/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/nb-NO/firefox-101.0b2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "d41588beac0fc9a3eeab9f2843b8aef53e61a7c15dcdc34eb89e73838d9dab24";
+      sha256 = "c4a2f49f516a19542759296d61ffd5af32640d0e022aa960d6d7f2ec645bb353";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ne-NP/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ne-NP/firefox-101.0b2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "c3c981a5a701118e70b6b03338451d7d50325234be03838e403e57b822b6fb61";
+      sha256 = "4b9fba6e4cf8e9ef0878bdda30b12f89b857dba2475adccff386bb492f4efc4f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/nl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/nl/firefox-101.0b2.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "ee902a63548299b6ceb9cfa263991233c32b0bf8534dc5256ce84714eab01f12";
+      sha256 = "2561300f8fd8e53ac16506734f17aea5d9cb5b7d970e4070084f944de54c287c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/nn-NO/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/nn-NO/firefox-101.0b2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "e3fcf444660a2e8b3abe10d9d3a512985e9791fb7916ffafac564d9849816241";
+      sha256 = "f2b880d35f85122c92efa10268f3bacb70063720fb93f85f565ff9d75f4d6a58";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/oc/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/oc/firefox-101.0b2.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "0b80101b082209ead23287d0d7efa136eea099b9895b9a4a8906abafb8a7dbcd";
+      sha256 = "ea51d91008fef8163059b1b35403c049b236441c5e87df06f7cf5319dd480680";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/pa-IN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/pa-IN/firefox-101.0b2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "14f8fe19c6cea1d38eba2f4aff8a8787875632e7ef867b44a48bcda59ad0c32f";
+      sha256 = "c0332f06388fe11e17599fbd0d2bf4074576d693355f05e0c0ac74b78e8a185a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/pl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/pl/firefox-101.0b2.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "796b575f4ada12cd1aa0fdeae8b5c198eb2e6a327bd0cede066b1beff4961d96";
+      sha256 = "ce584b3d90775742be1c521c6e79bc57248eab426d6ea4bba00da22a7e9ced29";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/pt-BR/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/pt-BR/firefox-101.0b2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "a1a83e3e317bc7465922b40327031fd48610627c0e1554569710a7b40fedd98c";
+      sha256 = "6ab1beb2ea5aa1390127fc13f8e0de6555f5ccdee64a96fb382dd0d411e5d280";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/pt-PT/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/pt-PT/firefox-101.0b2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "0ff375602235a96b6197366ae22f4c05cbb3c9068d48cdb08a035e3af084d3f3";
+      sha256 = "641396a068e0de827b6feb03edf4f71f343baef24e5409d892c68e4ce48ec51c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/rm/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/rm/firefox-101.0b2.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "5599c540c50162d1a79ea16196bb15fda9fed825508b60b4961d91255709593d";
+      sha256 = "a7cdb00dddcee0ce416c36c160ce9ab5fedc6de4ad3caaa4c8b14f9a6e1ea05c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ro/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ro/firefox-101.0b2.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "771be3da68642a15baa1e054bf23e9df272d0b0ab46f1e42c6fdf35e85035b9f";
+      sha256 = "eb360965ed5379374b31030b0db3a66e6637687c2b1ee6dcc893c0308bf5ee41";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ru/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ru/firefox-101.0b2.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "bcca4b9aace48ed4da4c881ed47b0bbc3d20fddd07273ecf1c84758633f350b4";
+      sha256 = "7da4c79b922a9e03c0ba677ae01271f10c0408ed0125d6c020182572bc6989d5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/sco/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/sco/firefox-101.0b2.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "1ca439331c6437dee10d1f2cd72907499894bd98af036dbedc964248217ff510";
+      sha256 = "af1717f13e40806345ca2042fdcaa5105cbf23845ce63f1e89cbf43e57cf8edd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/si/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/si/firefox-101.0b2.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "b643cfd20a0bc56b1989dc1c4dc96535d6585a53bb5d13c85ca53bb1027e1732";
+      sha256 = "673f9978ea53996d6021990373484eede873a13e75bd32caab8d9c8a915e046d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/sk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/sk/firefox-101.0b2.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "5aa1dc132c3d2a42b6086cf824c8b6ae7a30d8b55341a05acfc3eaaa8dd4cad0";
+      sha256 = "db60bfe2a7cb89acc6250304c36c4e665de6c27f788dbb133a68989998e87c27";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/sl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/sl/firefox-101.0b2.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "92b2a15a04c4cee559e0a6565509a546ac7a2c4e3fadbba0c6197356e99f71f9";
+      sha256 = "22faba05601722a2e01e93bee941dc8065f35bf235037b5ec2259bcbd6c3c229";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/son/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/son/firefox-101.0b2.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "8a25e8af341178bbbcc0731788b1116ab64fbb55480836b94ad6e7830b6b5f16";
+      sha256 = "b6d6278671e2c7204b5ca7c357390c0abb8ac3fde1ec3f504c808455db990fb0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/sq/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/sq/firefox-101.0b2.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "66b7ea3b488b980c425576fdad6009d2c246bdb4686b24b519604a54dba6f756";
+      sha256 = "5571154a698ee65c6f10cebd318b425b265b36c20b6deac8a6a1fb8699aedee1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/sr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/sr/firefox-101.0b2.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "1aecc3a24dab4a843a967b8c023bbe01488dc113e451cfd7d39e7c2caac1c153";
+      sha256 = "130bb0c0fcad5bb8c7f54bf274a6d4dcb69bd4dc622fda9c32361a2859166231";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/sv-SE/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/sv-SE/firefox-101.0b2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "d5189ed627ac49286cec9733c8658c271ee99930f2d07754993e776a58eacfa0";
+      sha256 = "02199add3347abd89f5ec93f759cf12fd353b63fd4a2f91ee6b3f094f5512a49";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/szl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/szl/firefox-101.0b2.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "45c48d7381499d5aeca0fe340ecc8af33016821fa8f081f6c52c878a9af3640f";
+      sha256 = "c1a99c03d63bea1b1130a02d30c051778648c73f18f38b294c53be83f7f978dd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ta/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ta/firefox-101.0b2.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "1a8a9fe5eb0e9e8d213d667cc1aa478f9f381d5a444f8d2be518fb04926e4f64";
+      sha256 = "c01c7a1f56317f2d415bd777e5434366b0b3b2f4ff3a599a25011ef8b90420c4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/te/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/te/firefox-101.0b2.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "1f3aa559af38662aea444f52974c2843ffede5505e71e83d73e331d2c4b92275";
+      sha256 = "fcda6af3a7611243dac789fec6bf78a8517389ba3df5ccbb50157969281aa8fd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/th/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/th/firefox-101.0b2.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "05bbf88a5b9e914d86244555d06d560b328e8e873e380e67d40edb6d3971d383";
+      sha256 = "2d38c379f9d8aa9e7b7367eeccdf656cc9374858e5bd0cecc19eddd6b1a51cad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/tl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/tl/firefox-101.0b2.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "8cd7f71325ce2a54403032bc80fe366acfd7a8ce3e3871ae1a8f4e0b5315ddf9";
+      sha256 = "18e0bc9c89a0e89151b1edfe498760fecdb66b369e49ca4fa7ef3d5fdb0c4151";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/tr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/tr/firefox-101.0b2.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "41275c3dcfc9624390a2d3ce9d0aa0e746c4e3122f433924227299d46ff8ab42";
+      sha256 = "bde092819c9f0771bb463df750fb35eb422862a7e28a308209953461be9c9d9e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/trs/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/trs/firefox-101.0b2.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "c04aafe011c8626d749990e0ba293a22c8a623c6eab9bc4bff2782708832a648";
+      sha256 = "fca0c955097a04619e834f7bbce4d8bd7f65283dc0dc9bcb07cea7b4d31aa526";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/uk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/uk/firefox-101.0b2.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "965f445606d8c81d1745a7028ffd15af7cb9bf2473bfba5e673e3621afeaa6e2";
+      sha256 = "31c97b928c9a5e7e80ffdcbec67485702de9fb82acc4f0a7cfc7195e8d214d75";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ur/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ur/firefox-101.0b2.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "8955e64902aca993d110401fe36b56c84b53a414b2da569525653ee28801d9ca";
+      sha256 = "ec9dc26f00786e8dd084d08e7e9c5612e42ada7e5381e889d940915c9360c837";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/uz/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/uz/firefox-101.0b2.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "e05ef7856c3c4777da187ed7212ebab01900881702d1fa8e221a86c57c6ef4f9";
+      sha256 = "9d4de951bfd5d1cf65718f0118807596ce48b2a6a4ce8d29c8ff3c963e39907d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/vi/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/vi/firefox-101.0b2.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "baca088760ee065eb8ad86d93c6b0325d23f88d18359693ba9c2a3971e9e5061";
+      sha256 = "12726a8b22fdfe5d3e9637d665d7d4583e8762362032688367d3a8a5b96665a4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/xh/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/xh/firefox-101.0b2.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "c679216fca120982454a15087890fda40d21bb269a940d96dbe37428672db65f";
+      sha256 = "64ee875cda3543a780a6da399ea7750027e85e4abe62d3eef4e4b21f3b0daa77";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/zh-CN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/zh-CN/firefox-101.0b2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "ba77a6dc02a406174a79a99b510c2cf7f8be6f877acc57822ee174cc5a99931d";
+      sha256 = "694bc6bfb4a8ac1bd95f756278fb68514a69e58c17e1a6576aa2574cdafbacd6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/zh-TW/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/zh-TW/firefox-101.0b2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "108fbd9c48b974cfd533c514d8459990b5d278ac5381ba5cfb8fad8d885dcfac";
+      sha256 = "1a7fb5edb2ce72fb7e2b62f2e6e48f56d44522ef7f11af208b8a2a52e945bd98";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 4a561e9126c..d076c843fb7 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "99.0.1";
+  version = "100.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ach/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ach/firefox-100.0.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "e2054f03b413f783f287c14fb670ee97415e89181e2ca1f9bbe05a18fb529330";
+      sha256 = "3e85609f0b3e4eb15262cd8567d8973bed2195f6a19199d76a99ed361cc0d0cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/af/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/af/firefox-100.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "102c4460ae7a8242c770bda09baee07004f84d95a885c621fbe23f2fdb585398";
+      sha256 = "0950ef9c6c9c386df1e2d9f85312d9f3fe0dbc1668aff6710da54f8a3cdbc5de";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/an/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/an/firefox-100.0.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "0f8aeacc3a7abbb5f571aff8a6580c9779336bccb0d30005b46d336447123b10";
+      sha256 = "af97c6a4dcc34e7edd52111c6ba9480f5ecd2765ca972cb43745ecb54ba01d7b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ar/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ar/firefox-100.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "720c5d872243631ddf67102e6a54504912b33f6e21c666d84e73a399f10a2559";
+      sha256 = "0f9947456cee9db27baffd0476e62ce529b349213ad1a0c2196bcf6d7f0e582c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ast/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ast/firefox-100.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "194345cdce1e9c6462a80423d1b97be4c757dc69b1f5a0055ac14e2624d1d145";
+      sha256 = "c0da6abaaecee287732a5e00520d2bacfd61a3a7ca64a5bffe37830f53cf5d20";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/az/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/az/firefox-100.0.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "9936c9d172ddd291d34679c33f28d7ec425e4835abdfb25dd0252e50ab5eca09";
+      sha256 = "1d57a9d3038dff5a354f24e7ebc7d93d11dccc57be72644988dbbb20c734d243";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/be/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/be/firefox-100.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "420f519aa954b708da735605e32acf9f11bfa2195e7a9bd2ebd954a58df2db10";
+      sha256 = "d20e556064f10c5730f094b55b4014816df7b49840d0e9934fe3167e135bd789";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/bg/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/bg/firefox-100.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "2a7cbc2903894934024fb8ea2212e7f23a47c7db707e4c88a33656366b810dfc";
+      sha256 = "2d26cdef7ee0d7c263599c38d5352268380125ccc3f901f48ed60134badae1c7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/bn/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/bn/firefox-100.0.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "46984d43f628ecdc1674d41f45c57177dfe24eb6dec0e5ae5e6a8efec7157791";
+      sha256 = "61395cb64c519a14ef879b6b1f9444f727a6ac73074d0e67e3e68a89428c7651";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/br/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/br/firefox-100.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "1427aaca5903a1ecb3e17aa7e3351334b1a2183a1180c9a4942535b50f64c0db";
+      sha256 = "486b59f31c0a63155d04cf0818d5c8629e846b313cd6eabcc762bb0c51adf35a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/bs/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/bs/firefox-100.0.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "8377ad8c27236c5336e370acf70e901f4dbb53dd25142a74dc61f98fd2beab91";
+      sha256 = "656911e5fdd030ee191f1bcab6dc9f2a66f888a6fa726007e528716df5d6667e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ca-valencia/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ca-valencia/firefox-100.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "78f8dd650fb9398b1cb999db887bb5764f4b015539c3aac0eee2fdd05477bf3e";
+      sha256 = "f31c75df5bf3639bfa4db86cc0237f7602a725b242e6330259ca4cbb61dd715d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ca/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ca/firefox-100.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "18b0acda5e75ec1412273a016d2cc36f6c65b68ebae5251ef13289cf73ef00d6";
+      sha256 = "7f53e06ccec188fb5e85a33c7968ba90c88bf1d3a782aee179e3fef5010a33b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/cak/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/cak/firefox-100.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "505c3f2c8f39aeea7ca4f8285d59fcef995e5c6c64d318d7b143e7060982d7a7";
+      sha256 = "a1b8349ffe436cce151c5358b2e1d5a928a0ef3e623ef2c98e9f55b0ce2f405b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/cs/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/cs/firefox-100.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "d33f7f5adf068743a523f54fb2dec1edf7302993ef3684dd86cbab25b96c3247";
+      sha256 = "b11f724a20c13ccec73c9058e90387a031e6a9b22e02ae4ab59357d8f191ce65";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/cy/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/cy/firefox-100.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "8a0d5e3a4ad8650d4e8e77e92c24b27da1d5c0b44878e97462ec94597020e548";
+      sha256 = "71e1faa584d6c9243ab806f694e548fec92672f44d6239828fb7f3c5363850b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/da/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/da/firefox-100.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "c9c8355c3cab4e189a4ba322f4a7e2a189617786e912930f0c17b217ff89c1c6";
+      sha256 = "e811e13df31bf0e55904a696b69ca0fd0785c7e60f9bc79fae920cc7bb55ee39";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/de/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/de/firefox-100.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "83468180a67fae5a5df8810e3b7bfdc6b01faaf60dd18a0914715ac89531c7a4";
+      sha256 = "22c6c8d312db6b64dabc7d401751ce7aecd3b5889eb8e5538433bbf5aeb55d5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/dsb/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/dsb/firefox-100.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "feeda2e3f021d459c98371e244d29b9e6e6fdaa6250a8a6700b34a981f3dcf13";
+      sha256 = "76d7d9ba4483c6b727568dfbf497940dc38871cc18f5cf6823cdbd539d9f559d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/el/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/el/firefox-100.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "4fc65f4b6d84a01c79165ee9e058c980659089e86da72b016cfc5efbe973e592";
+      sha256 = "59f4fab29a3888a7b86b8f50281eff8d3c7ed512a92fbceb5ab3ebfaaa4faad6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/en-CA/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/en-CA/firefox-100.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "10e324101932b7290814ea2ab747657363023a88857ca90e25d54f89115ffbcf";
+      sha256 = "1c493929d5ab703f59b2e6e6ca86004725dcda7ca23c3a2b34de425e6a969cad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/en-GB/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/en-GB/firefox-100.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "83ba931e4f6afd0d0c32b3bf0db55a7ff0fdfda080e906bb3ada5b4e61a4c3f1";
+      sha256 = "2e48068db4bed6722568a35d7a2aaa84b68a8e18304744940c36437cf88b10d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/en-US/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/en-US/firefox-100.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "7bc57f06fc9c52e16815f1a4208c33bc5819423c68da441d001f7c2200591bcd";
+      sha256 = "528845df1a15acf081fdc9e1e7276f0b4601acc9df3553324e02c9c6fb9b7d9d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/eo/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/eo/firefox-100.0.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "3fc945331b62f9998d2adb6a99d3390528975c97b6776f97a4c461eb124da462";
+      sha256 = "0fa2f3f4a7cbe7e9e41d0d08ba8649efa84b727d9adb621b408cf7732312fc6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/es-AR/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/es-AR/firefox-100.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "908723c7445b92b4c4e26fc999562681e4bf3ffffee0ea1db6362aed0f615c0e";
+      sha256 = "6afb61b7e361735321934a4189063cc5f424c79022b7482b0923a0204160c2b0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/es-CL/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/es-CL/firefox-100.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "77363cfa3c2ce655a9f6203c495f8f54700b44e0b66d021050cea59e2b0e0a3e";
+      sha256 = "382ba75ab94f81ecdaeeb98b41467969b103e9feb73cbbad18b69d5f39013dc0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/es-ES/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/es-ES/firefox-100.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "ee59faf4bd7472a14fd8e420aa7f408abccd72f31d162da0c5f9b530593722f2";
+      sha256 = "1a09045c93cceb449e6f0dd9d644abcab2ec30bd39f5c9aab091fc49f32a2592";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/es-MX/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/es-MX/firefox-100.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "732b1edb21462281e029de794ccdb3c20ceea0c6d5c0f1c885ef76ad57df7abf";
+      sha256 = "68f0ef188418452de2efc73d3f94a5c1e515bd07b6907168b20b909f7739be84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/et/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/et/firefox-100.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "b816c47c20a674256dc176a15dbeec830b47f8c3eecde31c615f003260e69668";
+      sha256 = "7142bcf0d715b73f11cba9f181f3a02cfeef9e07e825dae7120df51b10697765";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/eu/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/eu/firefox-100.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "4f54fa8f7718bc55b733c6986c8ffa17517afac92383dae03fb972beed876665";
+      sha256 = "563fed2bb7c6168aa9d973d1578e59c2ed1e785ca82d796de4aecebb8d6dc404";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/fa/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/fa/firefox-100.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "ee716492cc2cc0a11c98ea8e8bd7d142ec21c006e2f12a96707d9dad82bf92b5";
+      sha256 = "f7ec308585ab8aa0e112057cd0af1df524e6712611b7ae93e893e681c8b117c6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ff/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ff/firefox-100.0.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "36d1c4b3966a807c6bc90c4f6fecbef327442398a463167535dae318f286d222";
+      sha256 = "d678cc64bba6370a300a64dbdc52343b7eaae73953ddec584038d70dee8f09ed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/fi/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/fi/firefox-100.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "9855e6d25d34d6df614ef2b48b4b1e60d527fe00c0da132a0609ac6262354623";
+      sha256 = "998746f48e543897806e8024e8e6c6cac3dd63471b3896d83ebd80279d8f026e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/fr/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/fr/firefox-100.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "b999d3ed98eb594335e810a4a81de86e7e3466a2c32cc6bef0bc260ae883a6d4";
+      sha256 = "11bd3ad17ad680049dcb262ffa18a477d9d8285040e403b26a2f45a449a63139";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/fy-NL/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/fy-NL/firefox-100.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "be9fce28930fb80a94cc5c6343b34ff6b05538a08cee657d995d647f3d9dec7d";
+      sha256 = "508f784775df7b89e6144d9290f98e05b17b831f43f81fde5f45cadb0355bfcf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ga-IE/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ga-IE/firefox-100.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "92bbd149f59a6c2594d6fe1e2ba8e545bd7f9040ae35ec924414c59d06d0f4c7";
+      sha256 = "3185a57d4a065ed4cc85fac6c3ee14597b25b5f3acdf9f0c9232d7b1935ad25b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/gd/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/gd/firefox-100.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "bb2cd80e2d1c9b08363a0025b428473334596f3e34ff321e3d6c69f723fb18f0";
+      sha256 = "580397f6ec486a571768f9eb4b4d1b5b7e10a9e791c90907c7b0be0eccfb355a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/gl/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/gl/firefox-100.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "f74e552aea8622136679cfb162b2c192ccefa91705e8352830efdec3cae9a0b1";
+      sha256 = "485a806aeaafda44d687fc41eab57a276cca691c01a67eae6baf10288e7aec67";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/gn/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/gn/firefox-100.0.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "261cb7858277e012b8d67f890312b3fa333522542a6a7c71019f06e1340e0349";
+      sha256 = "44a2699e0c3d79bfb2dbf3d4da4bcb92e7a4453daebfd57a53d9a0a6ac3e3248";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/gu-IN/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/gu-IN/firefox-100.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "7a3421aa896d08984f9d2cb38fea3e4bf93d9d0dbcb74bdf06dccb3f5039db44";
+      sha256 = "5d817fdcff89b4c440580facabb01d30915962d8b076e7e79781f7209bf83023";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/he/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/he/firefox-100.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "f734cef92e78b3713e179959c6af917a64c4b16d00d834c776652337d42bc65e";
+      sha256 = "1756cb46aa5cae3d4cdedd720441a2ef97dfc5cfb22eed734f0b649eb65a282f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/hi-IN/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/hi-IN/firefox-100.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "e0694ff508e38ae758a96ef5023e7d7d39cabc2b7bbb56cff2854b51009a0732";
+      sha256 = "27dcf3edd4b9fa67132c761dc3186d8ddbc0f63b32d5606abd43140a4f2a58b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/hr/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/hr/firefox-100.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "438665aa04f02cb9275c8b76ee5c0ff6d7814fc0c1439f50f714613fb902b9c6";
+      sha256 = "1aa433ebcb2b0fc185efd98b8312dc1c5b5315ffb6710e3ab69ceac0d22e1871";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/hsb/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/hsb/firefox-100.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "1b17d24231fd22db70f6f7bcfe793d31390a441355275771749352221320d4cd";
+      sha256 = "a0d343a341c593f6b746acb81eab4386a68cd023a5409e0182d908786243e5e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/hu/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/hu/firefox-100.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "d2be4860a0019e9385f48b989300ad42ced0ab2c3873e8074a6863f3afc4719a";
+      sha256 = "de0a800eef3f292b7157dda727878d9ed953c1ffff1c7ecdd2cf49c1024dfcf0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/hy-AM/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/hy-AM/firefox-100.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "b9decd8f427362e1070c17242a906d170122c2bcc17641a2132d87ab24e52467";
+      sha256 = "44c824309b419151fcc634d4d20774fee6f514df428c6203990ffbe7cb56e6bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ia/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ia/firefox-100.0.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "97a9ec4317bc432ed6c79f796fd0547fab0a156d9c9c959235f6b941ad4fb6fe";
+      sha256 = "edf777a9904981d1b345390a7ab06c23e543f600a57d3e0ce0e41ab7dcca2ee0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/id/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/id/firefox-100.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "621add55642a28cf95ff1f0acde8881862c1d4487500e5cc0705bf3ba0055c56";
+      sha256 = "458ad2e7a89dfb4c50376114f270d36220c9986bad5103ccfdb11eb5452d6f5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/is/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/is/firefox-100.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "9293bce28c6252e9ee561f41e54b39e6a66d916e18e34965d1fec77a2d8088de";
+      sha256 = "5bf8868b2dbea3f4d08a4201864dab6682c351912a7cd3622dcda5eb0fc67e20";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/it/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/it/firefox-100.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "aeeface0275cdb426fe851d91bd49014aa8aadc7becf18f4763b44f0526260a4";
+      sha256 = "057b3ee3698696b59b49a66a8622d281c50c35c2b900fcfc95aedf4cb06701b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ja/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ja/firefox-100.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "dc51a842e0a8aaeea874fc73e99de5978615c250afc17309e7edaf80802acb56";
+      sha256 = "168207c2ed591603529d9f281f0fba5be8c775d130082fa6016ab77a06e392b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ka/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ka/firefox-100.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "85562b0af98292e923c39de4b0c15d2ea0e95cd8fcb7d86c4d941eabdf9a1827";
+      sha256 = "92564e5dda8d74245d00d83ef06c29fbff798db36d665cdd69b88d4e00474299";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/kab/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/kab/firefox-100.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "c06e7fd59bcb82a989c90a2095c467eccdd1a98b4e704348befc89061ad9a6da";
+      sha256 = "c6641d1b22d9fd07885e18ac4ae6d0770ff6c1f88c04d41c6e43020c774a47cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/kk/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/kk/firefox-100.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "d041abeb5f207a234fde69fd265ec98b5bc94a29ba5d231334d74caccd7c1d16";
+      sha256 = "24dce49c8e0c343f3178b0280e01c34716654fa705cfc16f22b5815f2d4c524b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/km/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/km/firefox-100.0.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "b02b241b7ca07732c26aad728d1d15b637d4bb032673d92b0ff1a65fefca0d80";
+      sha256 = "662aabaa2dfb2d6d217f359979770cc698063816d4f2db28d959cde88931aa4f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/kn/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/kn/firefox-100.0.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "0ad5133784a27dec78031db198ee762e4ee0d0514d03dc175130a64eab93d302";
+      sha256 = "343213168dd6522af4e206a33c9c6f8872853207ecfa34e85189439a46be6aa3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ko/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ko/firefox-100.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "01adfa538c52df224c6b982cb96ed50a3f19b8e0608d323003f2264e6d1c18c1";
+      sha256 = "31cfa145a16c339911b9374f70b9124fcdc94c7fd630263fd19676279f257ab6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/lij/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/lij/firefox-100.0.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "1cd93f13d9cc732f7b580c611f31ce8a71ba20436bc7acc996fa1d22c4c8b954";
+      sha256 = "7b3cf0ac4286c6ba3dd8167349cefee9f55979651566e82e2d4e979d5f8b47ea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/lt/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/lt/firefox-100.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "fd92972d632c5c3d1822feaf2372bd6a06ea957b0c8a5663b0eda787da53e4c4";
+      sha256 = "47715eb38d43b6cf2c873d7d7c9f643c3e895dc31e64b0481fe46d20ea670572";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/lv/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/lv/firefox-100.0.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "cfb5112aca7d7e7af298a0c035ca2d549c849d9ef1536bcc958726df81f64665";
+      sha256 = "77afd745728346eeba893bb8eb7bc2517c69f68ade939fd2273c595607f7a4f1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/mk/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/mk/firefox-100.0.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "bd1c8a1175326fce66cd32ebf394585fe09c5a65cf72e0e0598e572583e46515";
+      sha256 = "2c287aa2b2854e45b3a49df38d3aa8ded24d63a931c7f37ff320bc8d4358e0a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/mr/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/mr/firefox-100.0.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "9912aff12281b1ec3b4605ae72fba291f24e193ff976658e638fdb35a9d40cd0";
+      sha256 = "4212b8ddb9cd59bc692921d2ab70613ea738ca3a4a23bda0cb038707dda1262e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ms/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ms/firefox-100.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "4f155ab0ce5420d272a86eb8b52cb816b90aabf34900bc5ba56d869e44408733";
+      sha256 = "a0b878c3171af29ab631b734c20dac581ec7c1cd0487835bdb23db6ca72ca378";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/my/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/my/firefox-100.0.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "5b01096123e71ff94e6a44ba44edaf9453d2770f8918019e349f20f55f4fbe04";
+      sha256 = "afeeea7ec03567ec058c5d77e813997f8cda6a654771da1a433a69bc27bf254a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/nb-NO/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/nb-NO/firefox-100.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "2d4b0706d46e92438a3ec1067515ca4eaa37aa168f6c633339a7c78c1e447f62";
+      sha256 = "a359e3b9a83aec399890324ab484c811a9a5f615ee8237bf1a1f58d9140432f5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ne-NP/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ne-NP/firefox-100.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "3f6e8d2b081bd23bc0a6425b0f956fbb8431c301b01563d43d1ec976ec5daa32";
+      sha256 = "2aa43032307675ce450c2e35a2e833edddd9ab94626be008785c8226f0d62ecc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/nl/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/nl/firefox-100.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "00d8fb594fd4ced7ab5c7fe3de74bc193630547b5a537f0025a1ac11ec2adc53";
+      sha256 = "ca8eaebfbbc6843f1273ff8ae8bca03209a436a3de86784049aafe52d7a3e950";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/nn-NO/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/nn-NO/firefox-100.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "de3b36fabf65ff0d6f8f24c2dd0490214f08fe4216645c7af0a0f271f443aec5";
+      sha256 = "5472b83b2e26c8ce88a959cc3e97c140f6e3efdff5f0c9208fb2d599f43081e0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/oc/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/oc/firefox-100.0.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "df7391bdfbf21175f3e935dbdb6985b0fbd3550824d4203c93b91d52ef0841e8";
+      sha256 = "19552e9822f186ec64e38ce170f0d93f433ba1d15fa25fd7388567af48925bc4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/pa-IN/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/pa-IN/firefox-100.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "653b0bb83de0787c37985968822c1637e4707a9dd96a521450048e25d220f1fd";
+      sha256 = "75f3516e0f14233bb158cde3a57be644fcd6b01256ade0a9cef21ad81d434454";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/pl/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/pl/firefox-100.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "31e861138205a8d69503550dff92e3a530b5d4212bd2f1f905298cceb53dbf40";
+      sha256 = "2cbb208a9f23b39c66c9e50be0a873d989083f0abf9ab56e48e9b7ada91718e6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/pt-BR/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/pt-BR/firefox-100.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "20e992c16e7dc1d0c2e641a7ecac46e29fb00bcbe1ddca3a34cfe7a9344eadd1";
+      sha256 = "2b9a5b1d37a000d86fb7cc41977c3ff8444047330ab0b2e10da288e418569905";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/pt-PT/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/pt-PT/firefox-100.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "5be572a2928648ba36d1e775c79967ac17810f341dc84a2c69e8d7bad07e3a21";
+      sha256 = "73de91287952c4bc9dc53099ce911aab140bcda6356788e8bab5c667f1d363c4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/rm/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/rm/firefox-100.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "47d11d7f4ba7fa8753845f3ab2cb4c36c2a20fa31cd9dd561d7032f3c28a9b22";
+      sha256 = "39c934e5c3b08e41889ed47f63e2e9f24a08602e40d20497cc7d9edb42132aff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ro/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ro/firefox-100.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "c533fb1f8f845970e647a2d612c6ca23962d476b51696d12dde01e143ec50857";
+      sha256 = "d23606050f9956d22efd779f09db6cb439cf8624cdc3e509f0ec6a7f0e3c9e46";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ru/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ru/firefox-100.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "571b016d12ec198148d52fa3e8ed25781cde49f3aaf8187ba881764b52d1c3f9";
+      sha256 = "b940390f3199cba2de06ef37a48ce6d0a892c8edd6e0125be088d50fa6c2e06b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/sco/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/sco/firefox-100.0.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "b30a42bd17bd2ee8843d791a00ac29f3ac91aa3d4de7b70ae603fe6365fc7906";
+      sha256 = "3a1bb5b617b7a1633c79b6d7c80e559de15e6e6c9265d574de89628cc246e2f8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/si/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/si/firefox-100.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "509f987eac7b593cf24f6446ac7b78b2dc8e43dbf8b29dd82d0a107a596207f0";
+      sha256 = "e90f56c11a25fd023b3fe282858d93504e49cace7c26fd542fef10565f844742";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/sk/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/sk/firefox-100.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "4f44c500b355c5100dc476a807e8b212962e12c45b058b14cc0b5f84abac81b5";
+      sha256 = "a33f598ef8e2d9865cc01ef4a03a1a0e6ea96231dec4301ada4d128bb672d35f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/sl/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/sl/firefox-100.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "6ecd0f30d8ecf6e6b63512f59363c7a4a17389f468a21ac1119a98b467ecee39";
+      sha256 = "939ffbab94871eb84bf36719debfaad1f160e0b10e0481082e5a1cf534537a54";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/son/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/son/firefox-100.0.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "ddefd1ef806f3b39a51cd52d33a286f0145fc106c479e3f14a45a9e63c8ee374";
+      sha256 = "ecb166da7e16c925f14cbc3fb4748a039b942f20088ff6f9ba02489f1602c0c4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/sq/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/sq/firefox-100.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "b69459ef0165648ba0b13b6d4ff6b27e80ad81181bf65b415e87574b21a2a021";
+      sha256 = "53b31c2c83fd1aab0b54cbbcf77459c38a8d466b4df866a49b1a0474038651d9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/sr/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/sr/firefox-100.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "8d53bd7943aa99bbea08be26cd4e5465b3889c8ee0dfb718c82f1ab65ce9e2fe";
+      sha256 = "15b9b971d1ca2a7ab1422b040b813de9e984c451ea41eab8bad2939c5b9ae604";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/sv-SE/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/sv-SE/firefox-100.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "d70d78df84a39f921253c613518e0737439d1e516248b64c8b79fe29eadf4520";
+      sha256 = "7f44e7cec1f32a69b173ef832501dcb38002c0b690284af21a53b4862053c596";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/szl/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/szl/firefox-100.0.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "c02e86f128049d894f1d2144bc1baa3ceac4b58745c19428f2de5def7dc8ca36";
+      sha256 = "df3d1186c2472d0e42e36efedd231b6beef43c1dbf18bcb1a27f86aee47257d2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ta/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ta/firefox-100.0.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "18754112a15bd8d25ebc8ee456e43fd7bc97b5af014a8bb6ebc481e0fc18559d";
+      sha256 = "d14d94ab5bed1b3c2118d5ac1dd31caf950f287b3b40de80e136b3500bdc773c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/te/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/te/firefox-100.0.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "afeb892e3656d2d3c802d548bc78bada5a9a2d4f7300d5dccbb4af0b96902371";
+      sha256 = "e11c66e7eae928a06f3d705ce3024cda3961c52727bed2217ac6dce444367107";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/th/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/th/firefox-100.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "049baf07a0db7abecdc3477c9965119c4acb0da26a9e8a4201fc2311ae3bc966";
+      sha256 = "4b29e95c96b9c8c5ff9fce146c3d85a1313c849a74694b56de177d921173956d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/tl/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/tl/firefox-100.0.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "9898714292846b9ec1bd277c279d6bc3a33186ad02e1c09a995c766044d168a2";
+      sha256 = "0d9c3749adc06152e7bf8a72f81e1652901a020abee1a46c9e68b1a37009f96c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/tr/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/tr/firefox-100.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "378a940ecc44d0016f5e1764f667abd60fa2241ac11477811eda477621085475";
+      sha256 = "fea26051836eaec249373404e594329c7a0f357cf94edd93f494989a80e8b6c6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/trs/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/trs/firefox-100.0.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "c338b68e0fb85bde3949abe2bb739e127453acd692e0460ffe1914ea4a5cf150";
+      sha256 = "cef307d45f53e95ee954731106a66bc313a007dbaf96ec3b670acc392345cea8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/uk/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/uk/firefox-100.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "2602c70ef4e449e15f95e661e916a4f5b978158f8e2e998f552ef79c4462d319";
+      sha256 = "20b1054ed238bf426ecdc511a86e1a01c946522caed30a21f8d0b470949db921";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/ur/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/ur/firefox-100.0.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "bc195325efa7668db62c3307d488b721843c620d804e75754d540789b0545950";
+      sha256 = "3009c02b5983a89dcb331daedc49bfc6bd629161a755a5e29f28405b4706ca32";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/uz/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/uz/firefox-100.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "14cff13fe9ba0bc91629b95cc3f2f6df5164b538be5e285acd54cb8d6656e109";
+      sha256 = "2ecf4078582f805b624f6ac612ceb10c22d1c2c3fd1a855cb86704addb9f9180";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/vi/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/vi/firefox-100.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "5852f4eee3136058d7228c5eccc173153706d72b90c61ca632623d926aa84d7b";
+      sha256 = "a73072f4a152256972a41a38ebd7dd72f1cae40bbb568bd6384bef2ffa8c7d64";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/xh/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/xh/firefox-100.0.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "ca10968059585ceb6bdc0902f94bb69798c9b0666e2dec1cbcf42e5979be97c3";
+      sha256 = "eec036004690e9fbd1e1d6934b594787e8e269e2a2a10a818096ea5854da481f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/zh-CN/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/zh-CN/firefox-100.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "f9d5c1a1aef830b4276e0af88c783b419674219d599c52c414bc8da3eb99fd4f";
+      sha256 = "b65ee16996593d88be41f19fae95f7f5826db828b3f0d7e40f1dbd9c45f43fbc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-x86_64/zh-TW/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-x86_64/zh-TW/firefox-100.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "6857ee348392d9cedc4f2bbe1c355bcbdaa1a886d4babc65ccfb2c95421219c5";
+      sha256 = "c3e5b7119b95c3da1145cdecded90b8194b99f722d41855e5282d615ae2a86f9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ach/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ach/firefox-100.0.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "9b8a8950e770bf53cb85b0fb79f63d6aaed9a09df86421ef2ee30dab3b250ede";
+      sha256 = "6ada766fccaa1e54ecbf0ee75bd807a42ecbfcedd9f218ff65443aa43f4e18e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/af/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/af/firefox-100.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "fd464ccc673892932cf98fc4696146034928078de14f8c5df68a9103c20076df";
+      sha256 = "6925ff4e7b2746249c526c11b65a87b95ccfaaa2e3f57dfe38fa5ed8bfde7637";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/an/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/an/firefox-100.0.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "76837e6555079a23fc33e83bbf9e507d4eb6e896501d43ae78cf5b8536e88a62";
+      sha256 = "bf146035e88c2b2c80bd3e352a251f4bf527089fd0252ef320b13752e045b0d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ar/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ar/firefox-100.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "8346570bb699370f34d19ee93a705c9f81b57164ca14f7758c339be0837e9319";
+      sha256 = "f891728a186e9746b46b12cdaf7a28e81152bf71a361f49b3fb9e048050b216d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ast/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ast/firefox-100.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "f14088ae65cda0b3ae518cc517d6d786fa4c7a471510ddf4d45f6c268761d324";
+      sha256 = "3fe9530affb6eee7fd3c35d8f3274c0659f54ff45a51e04b02d4685b22283d97";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/az/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/az/firefox-100.0.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "e15d3764842a0febc41882c9f82e607b0b4dd875d765ab4079880b1cf8d0f327";
+      sha256 = "7d62e6cb2de5130e24aef684a014ae72db408cfd3227e0b67f080a8395004d71";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/be/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/be/firefox-100.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "e7336bcf602bb95697eb5c134da3ef96cdb9229233a4f135e44d7439fbc3d972";
+      sha256 = "2c7c9285e61e0b74f7fec985462098459475e9932b6e2a44243bf54c649add52";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/bg/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/bg/firefox-100.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "a5c9d5cb091f4a643293879f7f0f0e2afa4a2e53efe08a97eca1fc8f5c77cb41";
+      sha256 = "31ba288d27f7b045cc7c685e83f49ec8b9b6579745f7c1ab373a18c8e8264aa8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/bn/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/bn/firefox-100.0.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "2edcbeebb3a7afdb1322c55ad1ac1a8cd4f2dae7e45a009d113cfee4d159ef2e";
+      sha256 = "927749fadf833f84120c36996e1364e714bf353de6cff38cc68f78af6143390e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/br/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/br/firefox-100.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "dc78c6a0a71856b42c6654b3f3d2f93bd30808878a90c49dfecf2b724f42532c";
+      sha256 = "82f398c8b1ae36706b8d5e0e1bd12a568de584d342141eab4d35a40abcf14fcb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/bs/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/bs/firefox-100.0.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "f9ba0d138252aff3abbd8f8447680b59f24f1a9b7a40d6ec753fccb74344a853";
+      sha256 = "01609251ed3198064326e99c9e97b2c9128f1216581971896ccbd692ea9aaefa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ca-valencia/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ca-valencia/firefox-100.0.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "68a8522e03191f286514b648d1cc7d6c9b7d1683638bb7a88d2ba33c3c8031c1";
+      sha256 = "c35d207480e63f3b2538290e74fe6859e1de3061eeebddc10de4e44d040080b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ca/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ca/firefox-100.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "71b29981fe6da252296c9669e3b05bcfa8914282b982455f6c21e1e47fc6c452";
+      sha256 = "3419b0ce1e30db92646c4675701eb6a7201c0c65b722b3f86bbd90c4cc236ace";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/cak/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/cak/firefox-100.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "0964328bc005e028371852ecfeefed0b1bb4334840dd9e343ed15b3e0add3cfa";
+      sha256 = "3f19b7d4a9ab541b12f2a2156039d38af9c13b10ff2f80a22dc365e41d307d96";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/cs/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/cs/firefox-100.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "b72dbc0d7bc48884fb55d1e419680d753175e2d2d7fc91b362337e5963c59339";
+      sha256 = "2df78b68ddf8771f5e0bb2b24d024a04972a75b2b4aacfb85ac5d1b122cfc47d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/cy/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/cy/firefox-100.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "553ba01218ca17602bf67fc4cd7940d6259fd1cedf1d70665d06053b7336311f";
+      sha256 = "263fc246ede739f74cdb5d266a871cfc063fc162c42ace9cd111c2522bd7044a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/da/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/da/firefox-100.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "41c01f3979fdec4823e18031497fcccba3380393a3b5e142ab8b1e59e247c87a";
+      sha256 = "225a09327f2d8bdcd2084eeb5cba8995b899150fe5a42f97efd34e39ca9b9693";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/de/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/de/firefox-100.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "7d88786442c856c8502019d494d8c3b5bd09ad9aa0ce1e5a45216594ac915b5b";
+      sha256 = "e636784c7a794d8a18741aa4915c8028dfb8259381c1a0dcccd8a17796a9e340";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/dsb/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/dsb/firefox-100.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "4b94ebf19d6fdd64e7fd1181bb47f1b89d68f04a5e9b3c29a3cd8e43c36ac898";
+      sha256 = "f9bad69c8fda65665c556f736401a4ce522fcc90592aedc7576076fa530a3599";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/el/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/el/firefox-100.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "12f61d5b97c906a9532028b14c7d86ef8ee04398460ecdb08496922f4c6abe34";
+      sha256 = "b825735e8461779f3dab037360e67fe4fa8d849881f811a179f8db33d49f44f6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/en-CA/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/en-CA/firefox-100.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "b5804a8edc39eca3b04ec76fd87f5fc228a3df02b47094ca1a9d2020de0c1c29";
+      sha256 = "e944d750a11e9ab1ee653402e058cb3f65b46eadf551a29d31919ee1640b1272";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/en-GB/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/en-GB/firefox-100.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "211b7adde34ffc0ef075cc4d34fb5bbc50d00543920747db7e434268c0948e74";
+      sha256 = "0039ab82d3eb22e9c8d1036f2d3ada46d37faeb192209b447d3e20dbe0450163";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/en-US/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/en-US/firefox-100.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "da446e05101a645ebc51cb9fb60bb33e68b8570448072c56baea4561b638338a";
+      sha256 = "5013a7a3d601c4f532becf4efad8090e73fab442a1bc8599f4195c65d5813dc0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/eo/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/eo/firefox-100.0.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "e217817389a32bfd05272210b7bef6c80547c58e51d7df69b26e2931b2e89ec9";
+      sha256 = "b05d2600e407bf47c1eeeda8a5154495dfee6f0aa7044f089d5fad558134ff3f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/es-AR/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/es-AR/firefox-100.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "5f5c35e50809f33b769344c986fe468a404dad2b5c0a933f5dccf9481bad32c3";
+      sha256 = "27e30ab50cf1be112c8dcc625d98de5a14495bdc639de9b0e5d8795eab90f4c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/es-CL/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/es-CL/firefox-100.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "12434003ff87d5269cbe751adc53ce5396f98f36c8df7ab5535236cf778deb26";
+      sha256 = "c82b39f32baf5a63bed4ddd4bd97e7c45ba213957d114559506039986cc78c0d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/es-ES/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/es-ES/firefox-100.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "eef66f4f53ef38baf4b664b0428528117e376fbc57a743cade265adebe451d62";
+      sha256 = "1ca07d869f0f36cfb79b00cc24f374f546f8e8ed9061caeba9ccd82ea1890b62";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/es-MX/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/es-MX/firefox-100.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "e56dfa4f160d60b70d905c4acde1b78d4598dadaa63a0833f638cdadcc850e35";
+      sha256 = "8775da0ec29b758d82e2c33defe858c45a50eaeb824c34c1e31f97a07c9a9f48";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/et/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/et/firefox-100.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "ab7b3244b55e3d663a89e46f7cf1ee211ab643c6f92112cf921b05343ded25e7";
+      sha256 = "29655eefbcbb0975f4d73124881c13ce465d0422088d33ea2c62bcc23a94a372";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/eu/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/eu/firefox-100.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "b626fa244d85a9c266e2c11f311133e6704adfcfcaa0ebd00a7dbf487e0d7a8b";
+      sha256 = "47394c402cbb327335d7ed47670cc3f0c16a875581637d171d3c714d03e859c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/fa/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/fa/firefox-100.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "743f58643846d3a769da6ba2fec2ba50f7c00a7f4a4447b684ef08f64d8be16d";
+      sha256 = "133433694832d6b4d0a03ff93f1a51a52543e67da3b58d171ee9ddf8caf10d24";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ff/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ff/firefox-100.0.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "3cd80abe0d157427d17cc502cdfb67fb4f48f237de97c7ba9e9d4af5f8ee1fc7";
+      sha256 = "16078dcca2ef7dff68d20f29cdf941f08df9ca2b3c247be26e0386e88fc1b16e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/fi/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/fi/firefox-100.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "d7ddda88e29c89e34c56e7467aabd3262430267fda1814933b2b03e1201b549d";
+      sha256 = "2c2a44c45a3f4e449f270b8eabfbf279c922eaa0596794c0fa80b06d2f17db19";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/fr/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/fr/firefox-100.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "b442b7cd5b1dafe98fb04ef68ef3d21fdb6a6beeacda3537c0fb2ff26a5d0a67";
+      sha256 = "59b0f88988d896144cbf6c9f4ed607fc318e8357b2d96c6df6ad3488f73fc9e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/fy-NL/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/fy-NL/firefox-100.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "fbbe401d602c88cec32ea608eab714ebfa873ccf70d07102bfd3b8c59bcc39e4";
+      sha256 = "97a98a714e543c101e159d7f3ca052a970421a1f74e2bcbbfdb9b9755388caa2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ga-IE/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ga-IE/firefox-100.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "fe6c9544bf67a30bd8266fafa92c56e1825c0e155d6e30225b5587719a683fe1";
+      sha256 = "3221dda3f7d232f986e1e111a6cfb945bc1c1768464cc18d0a345ba140eef706";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/gd/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/gd/firefox-100.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "d62bad0b209df9b74173e894af3a5e6c48b8d9321a2bbc3ef05e40f24db972e2";
+      sha256 = "c61156527cfe9966916573cfd7005a16313b134e353258b05e2362414ef0d9f8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/gl/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/gl/firefox-100.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "caa93a08ac9fe456f6f1480b514492ba884814dada450845a86cfb486463ef90";
+      sha256 = "16f762ba8291f190b165b05f9980c22d93a1612ed2251d6ec1ec18fa465044b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/gn/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/gn/firefox-100.0.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "eb44f048ae40e1c5693bcb31f7c2b50644b55c7f7229fb087b3757ad7c232fc3";
+      sha256 = "c1d51a4e5629a0f04187d76edd1dd94bb5d55ff2e0757932aa218eec3a50027c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/gu-IN/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/gu-IN/firefox-100.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "5a536e35bb8734541b9a8266def5418c8b4eae66a60323c40dca7e0bc11e2ecd";
+      sha256 = "a3f92bc8d213b0cdd4df2a853951a5f446786ae5d08bebef2799e866fcde06bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/he/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/he/firefox-100.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "b045e3b0a9789804775fdb9f28cf7c8a1293b12adb06f105afc4001648f22dd9";
+      sha256 = "ea432d8c4cb390f92d42c27101b7b1b3c331d7b1f18a88f6acfbd3ef1b2c1544";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/hi-IN/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/hi-IN/firefox-100.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "955ba8c9936da6b12f1422b0de5a696a849a72a352b994d62818477b07af5890";
+      sha256 = "a6aa3110e9b792398860bbb2ceed29d6fa619a8ac73af96b858813d2d388855e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/hr/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/hr/firefox-100.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "bbbc1d1bd23b49197861fe389d2ab92580def84ce97f1643e50f4cd8de748e8c";
+      sha256 = "ea1e36606ac218db3dd39891fb17ce2ac398381ab41102a3dd3170ccc37fd329";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/hsb/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/hsb/firefox-100.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "23afed3429959fee426a2e5fc08cb0cba058e2544b5f8c742fbcbdd51ac31afe";
+      sha256 = "ec80f48bcc37a517bacc258411da614c472a5179743717cb47561f8968c395e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/hu/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/hu/firefox-100.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "2a42af969db30183a5fc547f4cdc75db99a8405550a2791de4303e5604a24133";
+      sha256 = "d8622685ea6132887d8f9657d2e09d5dbcf6b9571cc7c64a85646219e5c972b0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/hy-AM/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/hy-AM/firefox-100.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "79d134d0c95fb3be213ded965d02ec898891efe2c07dd82046e02adeb24641e4";
+      sha256 = "dd3eb9c5db97fe3e6c6dd0705406eed897e955423a96e773eb842d2e4d65f845";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ia/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ia/firefox-100.0.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "3e9f078057e53822a59509f1658f64b8d5563ffc69528193aa1473668e390f62";
+      sha256 = "7e94b98322ad8cbcbe5ee4bebd84f2ac82a4b78673ed357bbb02a4f0b2c63c6c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/id/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/id/firefox-100.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "5133875012d3165d3941740b80addfa3adcd0eec015dc21a6b1261b4d48b824c";
+      sha256 = "b4bc9b6384b44b392a70144cb71fbd9e6d5afc3cccec4e7c86ad023bcc52dd72";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/is/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/is/firefox-100.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "d59c86f8c71468cbbb7d8d4641e8baa8672fae0ee38a232782a63f29d1ad4d10";
+      sha256 = "951d6273c916a84e9139f74f916a9db4b4a976f83900d3e5506356b8817943ee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/it/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/it/firefox-100.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "d583c577d73623e06aec514635c4191a9dbfc14a8cfd88880bc50abb0f5ae308";
+      sha256 = "ac5c51fb5e42544696d975d769edf81c07e2a42bd5279eddb016e434c1945f1e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ja/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ja/firefox-100.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "31fd6b653338050651b8432a84278ae26bccdd7cdf0d4c2674a6208f5a3ad9a0";
+      sha256 = "99c6b533a3e3ddab8dfd9b4a66f6e403bc79ab214027d604671d9f27ae897041";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ka/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ka/firefox-100.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "09e6a905151bcf7d373c6b9ec3bb00043361a4e06e08752834d581f6f211a595";
+      sha256 = "73eb8f1c4f22fda48ba752982265363730e23d4695fe2296b30cd74191da3c08";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/kab/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/kab/firefox-100.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "117bd25831806d7d8774907a49288ea91c8160add23d0decce9d1dd95bd3c918";
+      sha256 = "a3ee102058a90cc02c745434178fe519aead9ed4552d3923eaddfaed8fbea207";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/kk/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/kk/firefox-100.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "6511f3a53cea4f210b52d37e7298427382c7a5738e1a055b38a4d41b6eb9fe3d";
+      sha256 = "0858af4f79d5b8592ce18701968331a19ac0d35d50117dc95096bb9f7d3cbca1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/km/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/km/firefox-100.0.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "af231614cea8b247215d79c101bd59a135ff86965b6aaab2226016215164d240";
+      sha256 = "b4509b98696f18d19850320f6b9e3d97dbcc0f5f55019cf3e0e62581ebd5d747";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/kn/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/kn/firefox-100.0.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "abe0ba12cad7eb53f8592476efe3fbd93a1cf3d1108828db7eb3d9d6d3b639a5";
+      sha256 = "8b9e139b3e0e98f266a77cba5d5a7deb3ee714176cffd5cb2b8f9e8ae85189e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ko/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ko/firefox-100.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "6415de365af3c132afacaf114a804446d4df566693254e6659551d95016ed830";
+      sha256 = "a43471bf0cb5e36f8e8db03e6d9e8be46bf4cb3209f66c6d721cd8ddcaf1b560";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/lij/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/lij/firefox-100.0.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "d882562d34ea5e49cd035cda2aa2489bc75db90b1e777be1a74dedc394d02e8f";
+      sha256 = "8dadda12fef18c64ed1331eac980c87772a45b821f524f48d73384758a003357";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/lt/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/lt/firefox-100.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "59add081878210ffbb9445dacf12f999ea6995fddec1444fb11b9c93c615abb5";
+      sha256 = "93dbe1924d766b5dce326597c7a5557b26bf1137bae68bed6a319ce5caf63ab1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/lv/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/lv/firefox-100.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "d11227308bb407aedc6d2559256d92fe931e5ea34498b511f5e23b8091e91766";
+      sha256 = "a161963a911846e93e64beff2eda2db9bf449f266697214a4483dafa97d1a2fb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/mk/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/mk/firefox-100.0.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "34e1a97d0944d241d12b8a5d2f64ff34f7bc7a3c43b23ac05d13d794bf36e960";
+      sha256 = "77db19a56be146f189436ca7d6c71defa6006ba3e34f2e10a8d1d362526dad71";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/mr/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/mr/firefox-100.0.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "98746bc7f75898bbd5ca5c38b47f311d09d43a2264da85b0303ea4bd01d7a0fb";
+      sha256 = "fbdf4862658eb780d499f089c1fa89b4374945e1990ed8892b2fdbaeffb28ed5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ms/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ms/firefox-100.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "48a1a0892ad1ef2ab03e3e66f05401c1d6e231801d5f03ac63a7984225624818";
+      sha256 = "16e5dcdba19020f498c767732f3426915cb5f9b8f5b2be3adb2825d0db52a1d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/my/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/my/firefox-100.0.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "745a7e7c73d3161aff4bcaba915ed9939970d8e4478cbaebbb32f47380f1c029";
+      sha256 = "c19ed3d409233f055ac633b4baa40de0e2be99d731f3091f0cccf772eaa39f2b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/nb-NO/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/nb-NO/firefox-100.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "c67804a726c68c534fc763893f0e7cc94ab55b9fd4844113ffffb467cefb63ed";
+      sha256 = "c36dd328395d5fe3e7907d990e1f8185144e93961da9d8aaf81a1bbede55eed8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ne-NP/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ne-NP/firefox-100.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "69073cf042a8e78184f7f01db3ca88bd3b3d59960a3e51124cb9908150452115";
+      sha256 = "6672d29f0fb08645f7cd4b7b7de2edff850da86e29f078fe7e49c10dbf4c35ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/nl/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/nl/firefox-100.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "24d30ce7f9cc2ad445c9aca32616a2efb9a3d392e62f855bbf5709d8160823bd";
+      sha256 = "71f9339624aa2014238c35c78142a1fda6762c61f5b199becc0682532c9c8de8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/nn-NO/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/nn-NO/firefox-100.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "d3a5034cb8ce135ec245c2ef94e799a31744a8592e6c5ba3935b19a77c087d53";
+      sha256 = "5f9f59d3ef36aaa01d3b058adb9a08f09e184ed408d1b5b25ec415c3e83b404a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/oc/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/oc/firefox-100.0.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "dbe0dfd961a543017ca8dcca6fae7168ca4d85a637f4d2dae7b02b6ea671b28f";
+      sha256 = "76d7b330ba2f5c7df4df6bdddda7a887a5222f0ba3caa13f77d6ea956ec7e685";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/pa-IN/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/pa-IN/firefox-100.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "1bcfb488ec1f3934415ee4af684e7dd40966265be65f43488d3d670d14790124";
+      sha256 = "569b151ad53b47338ad8f78d4266247e7e7fa4ef207ee58b3606dc299b0f16af";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/pl/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/pl/firefox-100.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "484a8ee788ab6edce6b66f31c94f7fd0e671269ae470569129662ed4b7e9294b";
+      sha256 = "af4ca741d8eb82e40775b0a2cc9338c2e81854df5107815bab8f4b6188c7189a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/pt-BR/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/pt-BR/firefox-100.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "d764f17b9eb2c8ac61c92490a20bcb4dd83810635b89a6405c4a0389ab15104f";
+      sha256 = "16ed593e6c116418ca5969a07fbcbd9f93af3972edc2227271256d269066b61d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/pt-PT/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/pt-PT/firefox-100.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "1a9b64665abf305dd38c6441e22448fa0cd5d142a69de96220b2f8683230a341";
+      sha256 = "2a5b5a26185ff4560691d5f32fbb29ecd9123df63020492aa2829e0088aa6b1b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/rm/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/rm/firefox-100.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "8870c35cf68d654db389cea3df9951660d371c53804cb2d9fb5d8006155cb82c";
+      sha256 = "e80cf9ebb3010c97acd5d2f6cc672aa6ce4fdca930974238a148c2683f8a8dd8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ro/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ro/firefox-100.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "cb72b5316bc807095a64d8767822732ad18a2cec28c7a23bd603dcafbfd08f1a";
+      sha256 = "4db1842a3ead551700c83be677aacdd00e1957ecb6534f2b8933a19a6eedb38b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ru/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ru/firefox-100.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "a5456041bc8cfc22d3f7a96a610c6d37b77bcba32b630fdab7fdb2753e46b40c";
+      sha256 = "6f821c7186343dc0bc5860bce1ae24f45c3de253223a0e99d05e582f037e7447";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/sco/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/sco/firefox-100.0.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "539014a44ac79130666c6c4f5205ababf3bbb17d357632a0ba584a73c63bda93";
+      sha256 = "e213b13f3ffc309feb993239308053d029f200fa58cb35f27a52e540e544e83c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/si/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/si/firefox-100.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "5f231e14acf1c896fdb9778d7821dfda13a756d4f861e74076b8fb02848dd08d";
+      sha256 = "a59e9a00f0e1b054e08706abb823ec7c6a87ca0975b97444f6cfd265e0c25b22";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/sk/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/sk/firefox-100.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "17c32fb881566fa09759d1374e957023c5fc6123b24791d4e8c94d4c2e971405";
+      sha256 = "b6602ad437d41c679d43cbe7e705bb5ed31909591a8ef51ef4b5604b3a4c884e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/sl/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/sl/firefox-100.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "d6121d2dcf47504111e924150cdf8360b039a5d7c4cef2a42b80ddb876a47127";
+      sha256 = "b82f1f2745235271d7a99ad0c36f664b67826276a447285165100678f4de3030";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/son/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/son/firefox-100.0.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "e83f6e4da3820c91cdb3125d49a71e4417cb37c0e7598fcf1bf138f21d94f485";
+      sha256 = "508c90bede375fe243f39a6ee26b972e0ec86bfa2978f3d01d0e83784731cafb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/sq/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/sq/firefox-100.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "dcf6ed239eb78e370db2a60b9fc0eed96f71e741be66f9ac2a537357648304b2";
+      sha256 = "db2799e56ade9c1b691d41803255a5fd1ddc08c69e199f5c1b253df11249cf67";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/sr/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/sr/firefox-100.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "d724ad02d8153aa15bfeba33e476bbbc937c5a5210a3747a5ba253ab3605b725";
+      sha256 = "d3502cba898ee0009292f942c2e3fc2ca0225cdd2470667bd943103fa7770201";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/sv-SE/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/sv-SE/firefox-100.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "6c6ce7c4a7bf73b3cc26af264e4d6dfabcf75d88226903ffb11142657cfbf94e";
+      sha256 = "eca5f29ebd1e756206dde952980c03b8d4fb19c544bdf814bdab5ed05ce5fef3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/szl/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/szl/firefox-100.0.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "d9996d12531225e5d181a2304326ca8de19cd6c0f02efedc890f90e4d5d1b72e";
+      sha256 = "fbc098de33187fde99bbf3d205882d281e404140619d624961d0b8d1af7e3fed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ta/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ta/firefox-100.0.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "d4b3776a8728da72a233db501eed0014cb60e87dd0c3b76cb4e5fd834dc323da";
+      sha256 = "a3f3f3472932be60c4f8296a13538bd12b898057a977dd7c33edc12016438dbd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/te/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/te/firefox-100.0.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "8246cfb157b68d09a7e57f910ae33d522495120112a6debc3cfeb60a3e238d92";
+      sha256 = "d0b562f554afa76bcc034eca7a167151a7ee38c6e82005d9a47273df08e6c0f5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/th/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/th/firefox-100.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "80c37b977ae6eaf6da2647800584a6ff9c430d6fd368ad89713a1ed7166cb197";
+      sha256 = "c362a365677131af77786b0f6390b62bd224ba26b7f79e69ad1826a6a15800db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/tl/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/tl/firefox-100.0.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "f7757f0e751989854f240bf5eb13b8c660a587bdb7f44616ee8e7a41bb71b2d3";
+      sha256 = "8249e0d3bb2aaf5c0be9def1842874af417bae275ba224c912371049de62a43d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/tr/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/tr/firefox-100.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "533a04e78947202d86dbd79b170495e9027c81bd2db8be3d5f281d665e3505d6";
+      sha256 = "82a3a504ba862849c4574ed96bdc5a737479a06a21f011f6cd74b2001bb192ff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/trs/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/trs/firefox-100.0.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "eda683d0df13db0de392bd136ed86c3abbaf41a0617d559ee1d308e28f519487";
+      sha256 = "da6f0d69580df77ae2b1d091aecfbeda640440d3a15348ac38221209c6674079";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/uk/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/uk/firefox-100.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "4c1cce01a785b8fa7c31fd5394337231db614cd96dacfa7963bb612996fc287c";
+      sha256 = "c04848cd11abb05635e33977c98f76b4acda3a6807c8f5bc8b5d2a9b49208f1d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/ur/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/ur/firefox-100.0.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "628baa7d2e0f200ba2b623aada71bd0e69856b903a92d98c46f0552df8acca4c";
+      sha256 = "ba779105d6a9dfe3138f4b73ba60078ec66ad9fe8468f2d72f57dd19161fa09c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/uz/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/uz/firefox-100.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "626cc29fd753802c3a57d2521553d5957f985b925561eee6c2046464ded084f4";
+      sha256 = "190691fd5777153daa29d56542f6792356aa916073d5e842845fe1c9444e632b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/vi/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/vi/firefox-100.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "963ea1b4758b64b67fe05a25d6775a1f8601a438d639bdda0d3ed740fe9ad8a5";
+      sha256 = "b5ea01ae5980892d6379eac4ba7d0f3d2643c54ade18452d39be84e44c676c01";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/xh/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/xh/firefox-100.0.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "030f5a08c37ecaae8ef9c59f58e007b3c3484b9eabba33dbae91d89710390d85";
+      sha256 = "6c2f218caa8effa6fd6d9553088f7eb9a8ccf6297e3a9cd8c57d0ec5902c4c19";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/zh-CN/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/zh-CN/firefox-100.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "097b3e3912b1b024d7cb615ed400ea244af47ef90cdb0c89d7223915a040108d";
+      sha256 = "61838f9c25bec8dbb0d386ae8412f34be8701e0d6f593503eab51c2009c5e069";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0.1/linux-i686/zh-TW/firefox-99.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/100.0/linux-i686/zh-TW/firefox-100.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "ca10fd6cafa25cdbd12b4e087d80a8212c947099a848b0b9f754ec6dbe8c6be9";
+      sha256 = "48ea7e4ae524dbb9ef83aada60b597524091be85a1dfc3665d1fdc9dba16498b";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index e43251be80c..e1506239f45 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -19,12 +19,10 @@
 
 { lib
 , stdenv
-, fetchpatch
 
 # build time
 , autoconf
 , cargo
-, gnused
 , makeWrapper
 , nodejs
 , perl
@@ -112,7 +110,6 @@
 ## other
 
 , crashreporterSupport ? false
-, safeBrowsingSupport ? false
 
 # As stated by Sylvestre Ledru (@sylvestre) on Nov 22, 2017 at
 # https://github.com/NixOS/nixpkgs/issues/31843#issuecomment-346372756 we
@@ -180,14 +177,6 @@ buildStdenv.mkDerivation ({
   ];
 
   patches = [
-    (fetchpatch {
-      # RDD Sandbox paths for NixOS, remove with Firefox>=100
-      # https://hg.mozilla.org/integration/autoland/rev/5ac6a69a01f47ca050d90704a9791b8224d30f14
-      # https://bugzilla.mozilla.org/show_bug.cgi?id=1761692
-      name = "mozbz-1761692-rdd-sandbox-paths.patch";
-      url = "https://hg.mozilla.org/integration/autoland/raw-rev/5ac6a69a01f47ca050d90704a9791b8224d30f14";
-      hash = "sha256-+NGRUxXA7HGvPaAwvDveqRsdXof5nBIc+l4hdf7cC/Y=";
-    })
   ]
   ++ lib.optional (lib.versionAtLeast version "86") ./env_var_for_system_dir-ff86.patch
   ++ lib.optional (lib.versionAtLeast version "90" && lib.versionOlder version "95") ./no-buildconfig-ffx90.patch
@@ -208,7 +197,6 @@ buildStdenv.mkDerivation ({
   nativeBuildInputs = [
     autoconf
     cargo
-    gnused
     llvmPackages.llvm # llvm-objdump
     makeWrapper
     nodejs
diff --git a/pkgs/applications/networking/browsers/firefox/librewolf/src.json b/pkgs/applications/networking/browsers/firefox/librewolf/src.json
index 9b770c743d2..8f36d68e7f2 100644
--- a/pkgs/applications/networking/browsers/firefox/librewolf/src.json
+++ b/pkgs/applications/networking/browsers/firefox/librewolf/src.json
@@ -1,11 +1,11 @@
 {
-  "packageVersion": "99.0.1-3",
+  "packageVersion": "100.0-2",
   "source": {
-    "rev": "99.0.1-3",
-    "sha256": "0ag4n86hvyp6kx3hp60yn7q45rgjbx7054frj6226ni2ribjx4ln"
+    "rev": "100.0-2",
+    "sha256": "0pr7fb91zw5qlnfvaavzksd3c2xzgn1344mmfnz9yx2g42vcyi7d"
   },
   "firefox": {
-    "version": "99.0.1",
-    "sha512": "0006b773ef1057a6e0b959d4f39849ad4a79272b38d565da98062b9aaf0effd2b729349c1f9fa10fccf7d2462d2c536b02c167ae6ad4556d6e519c6d22c25a7f"
+    "version": "100.0",
+    "sha512": "29c56391c980209ff94c02a9aba18fe27bea188bdcbcf7fe0c0f27f61e823f4507a3ec343b27cb5285cf3901843e9cc4aca8e568beb623c4b69b7282e662b2aa"
   }
 }
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index d52ec29abcf..e34120de9c0 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -7,10 +7,10 @@ in
 rec {
   firefox = common rec {
     pname = "firefox";
-    version = "99.0.1";
+    version = "100.0";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "0006b773ef1057a6e0b959d4f39849ad4a79272b38d565da98062b9aaf0effd2b729349c1f9fa10fccf7d2462d2c536b02c167ae6ad4556d6e519c6d22c25a7f";
+      sha512 = "29c56391c980209ff94c02a9aba18fe27bea188bdcbcf7fe0c0f27f61e823f4507a3ec343b27cb5285cf3901843e9cc4aca8e568beb623c4b69b7282e662b2aa";
     };
 
     meta = {
@@ -32,10 +32,10 @@ rec {
 
   firefox-esr-91 = common rec {
     pname = "firefox-esr";
-    version = "91.8.0esr";
+    version = "91.9.0esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "edea2c7d4d3d0322091b20b623019ef041090d9f89f33c8e3140f66a54624261f278257393db70d2038154de8ee02da0bee6ecf85c281f3558338da71fc173c3";
+      sha512 = "fd69d489429052013d2c1b8b766a47920ecee62f0688505758f593b27ae66d6343b9107163749406251aedebdf836147e4d562415a811b04d7ab2ae31e32f133";
     };
 
     meta = {
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
index 5ba831b2102..4d096f46ce0 100644
--- a/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -32,7 +32,7 @@
 , channel ? "stable"
 
 # Necessary for USB audio devices.
-, pulseSupport ? true, libpulseaudio ? null
+, pulseSupport ? true, libpulseaudio
 
 # Only needed for getting information about upstream binaries
 , chromium
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index e744f2a31c6..681de76dda3 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lagrange";
-  version = "1.12.1";
+  version = "1.12.2";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${version}";
-    sha256 = "sha256-CpvoovTn++RTQjyeOlHTG+cjn32F+9qP32+YHpoLB8M=";
+    sha256 = "sha256-AVitXfHIJmCBBkhg+DLkHeCSoyH6YMaTMaa4REDXEFg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/default.nix b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
index 6598ba27a87..4acdd563d66 100644
--- a/pkgs/applications/networking/browsers/microsoft-edge/default.nix
+++ b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
@@ -1,20 +1,20 @@
 {
   beta = import ./browser.nix {
     channel = "beta";
-    version = "99.0.1150.16";
+    version = "101.0.1210.19";
     revision = "1";
-    sha256 = "sha256:0qsgs889d6qwxz9qf42psmjqfhmrqgp07srq5r38npl5pncr137h";
+    sha256 = "sha256:1kgc19ryw69xiqppz90d6sa45g99hzkh7x5yk9d3xlh1gc1xn54p";
   };
   dev = import ./browser.nix {
     channel = "dev";
-    version = "100.0.1163.1";
+    version = "102.0.1227.0";
     revision = "1";
-    sha256 = "sha256:153faqxyw5f5b6cqnvd71dl7941znkzci8dwbcgaxway0b6882jq";
+    sha256 = "sha256:0dnyandri7yg7c9812pnsxqszxyqcssxf87yskjg2vw95hawf11x";
   };
   stable = import ./browser.nix {
     channel = "stable";
-    version = "98.0.1108.56";
+    version = "100.0.1185.44";
     revision = "1";
-    sha256 = "sha256:03jbj2s2fs60fzfgsmyb284q7nckji87qgb86mvl5g0hbl19aza7";
+    sha256 = "sha256:0zv1zyijh620xz36a6nmhv7rbv4ln5f245hyh0w1sngynsl1rz89";
   };
 }
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index 70442e47e66..eacc66271d5 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -31,7 +31,7 @@
 , zip
 , zlib
 , withGTK3 ? true, gtk3, gtk2
-, testVersion
+, testers
 , palemoon
 }:
 
@@ -211,7 +211,7 @@ stdenv.mkDerivation rec {
       )"
       update-source-version ${pname} "$version"
     '';
-    tests.version = testVersion {
+    tests.version = testers.testVersion {
       package = palemoon;
     };
   };
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index ecce98c9b46..2e96266fd73 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -132,5 +132,6 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
     description = "Keyboard-focused browser with a minimal GUI";
     license     = licenses.gpl3Plus;
     maintainers = with maintainers; [ jagajaga rnhmjoj ebzzry dotlambda ];
+    inherit (backendPackage.meta) platforms;
   };
 }
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 12ff0aa75ec..56c7083fee6 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -366,6 +366,11 @@ stdenv.mkDerivation rec {
       PULSE_SERVER="\''${PULSE_SERVER:-}" \
       PULSE_COOKIE="\''${PULSE_COOKIE:-}" \
       \
+      MOZ_ENABLE_WAYLAND=\$MOZ_ENABLE_WAYLAND \
+      WAYLAND_DISPLAY="\$WAYLAND_DISPLAY" \
+      XDG_RUNTIME_DIR="\$XDG_RUNTIME_DIR" \
+      XCURSOR_PATH="\$XCURSOR_PATH" \
+      \
       APULSE_PLAYBACK_DEVICE="\''${APULSE_PLAYBACK_DEVICE:-plug:dmix}" \
       \
       TOR_SKIP_LAUNCH="\''${TOR_SKIP_LAUNCH:-}" \
@@ -404,7 +409,9 @@ stdenv.mkDerivation rec {
     LD_LIBRARY_PATH=$libPath $TBB_IN_STORE/TorBrowser/Tor/tor --version >/dev/null
 
     echo "Checking tor-browser wrapper ..."
-    DISPLAY="" XAUTHORITY="" DBUS_SESSION_BUS_ADDRESS="" TBB_HOME=$(mktemp -d) \
+    DISPLAY="" MOZ_ENABLE_WAYLAND="" WAYLAND_DISPLAY="" XAUTHORITY="" \
+      XCURSOR_PATH="" XDG_RUNTIME_DIR="" XDG_SESSION_TYPE="" \
+      DBUS_SESSION_BUS_ADDRESS="" TBB_HOME=$(mktemp -d) \
       $out/bin/tor-browser --version >/dev/null
   '';
 
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 87be80bda8c..6e496c30ecf 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -20,11 +20,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "5.2.2623.39-1";
+  version = "5.2.2623.41-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "1dd44b109gdbjqcbf5rhvgyiqb6qi8vpimsh5fb359dmnqfan1hk";
+    sha256 = "1kyjplymibvs82bqyjmm0vyv08yg4acl2jghh24rm9x53si6qf2d";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/c14/default.nix b/pkgs/applications/networking/c14/default.nix
deleted file mode 100644
index 3a9192164ad..00000000000
--- a/pkgs/applications/networking/c14/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
-
-buildGoPackage rec {
-  pname = "c14-cli";
-  version = "0.3";
-
-  goPackagePath = "github.com/online-net/c14-cli";
-
-  src = fetchFromGitHub {
-    owner = "online-net";
-    repo = "c14-cli";
-    rev = version;
-    sha256 = "0b1piviy6vvdbak8y8bc24rk3c1fi67vv3352pmnzvrhsar2r5yf";
-  };
-
-  meta = with lib; {
-    description = "C14 is designed for data archiving & long-term backups";
-    homepage = "https://www.online.net/en/storage/c14-cold-storage";
-    license = licenses.mit;
-    maintainers = with maintainers; [ apeyroux ];
-  };
-}
diff --git a/pkgs/applications/networking/cloudflare-dyndns/default.nix b/pkgs/applications/networking/cloudflare-dyndns/default.nix
new file mode 100644
index 00000000000..ee7573cf713
--- /dev/null
+++ b/pkgs/applications/networking/cloudflare-dyndns/default.nix
@@ -0,0 +1,53 @@
+{ buildPythonApplication
+, attrs
+, click
+, cloudflare
+, fetchFromGitHub
+, lib
+, poetry
+, pydantic
+, pytestCheckHook
+, requests
+}:
+
+buildPythonApplication rec {
+  pname = "cloudflare-dyndns";
+  version = "4.1";
+
+  src = fetchFromGitHub {
+    owner = "kissgyorgy";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-6Q5fpJ+HuQ+hc3xTtB5tR43pn9WZ0nZZR723iLAkpis=";
+  };
+
+  format = "pyproject";
+
+  nativeBuildInputs = [ poetry ];
+
+  propagatedBuildInputs = [
+    attrs
+    click
+    cloudflare
+    pydantic
+    requests
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'click = "^7.0"' 'click = "*"'
+  '';
+
+  checkInputs = [ pytestCheckHook ];
+
+  disabledTests = [
+    "test_get_ipv4"
+  ];
+
+  meta = with lib; {
+    description = " CloudFlare Dynamic DNS client ";
+    homepage = "https://github.com/kissgyorgy/cloudflare-dyndns";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lovesegfault ];
+  };
+}
diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix
index 566178d8305..c75c5824283 100644
--- a/pkgs/applications/networking/cloudflared/default.nix
+++ b/pkgs/applications/networking/cloudflared/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cloudflared";
-  version = "2022.4.1";
+  version = "2022.5.0";
 
   src = fetchFromGitHub {
     owner  = "cloudflare";
     repo   = "cloudflared";
     rev    = version;
-    hash   = "sha256-dgvXbWtLP6sXBlqcx/xpw9LIbcE4VlYZQO5rrS34+9I=";
+    hash   = "sha256-vz0fxSzx0vOpZy6/MVfZ467c9qdHUWZIL5wklTnnBBA=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix
index de1310f55d7..1881009f3e2 100644
--- a/pkgs/applications/networking/cluster/argo/default.nix
+++ b/pkgs/applications/networking/cluster/argo/default.nix
@@ -19,16 +19,16 @@ let
 in
 buildGoModule rec {
   pname = "argo";
-  version = "3.3.1";
+  version = "3.3.2";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "v${version}";
-    sha256 = "sha256-IcKueb/bxPNwJ9bZWwmz4ywCtZGk0PSuH3KYDMp6Qd4=";
+    sha256 = "sha256-tl1UpoXBuIyJyMLHeIhQ6EHG1XqAGE6Tw5jU6rW+DXc=";
   };
 
-  vendorSha256 = "sha256-YeSeaYOkNRjQgxsK9G7iPbVpfrPs4HRRFwfoUDxoCm0=";
+  vendorSha256 = "sha256-cq452XEGMVbLvfJ/UiVyOvnUSJr196owB3SyBYnAmZ0=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/argocd-autopilot/default.nix b/pkgs/applications/networking/cluster/argocd-autopilot/default.nix
index 4bc1d2d1c20..c56f937223c 100644
--- a/pkgs/applications/networking/cluster/argocd-autopilot/default.nix
+++ b/pkgs/applications/networking/cluster/argocd-autopilot/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "argocd-autopilot";
-  version = "0.3.2";
+  version = "0.3.5";
 
   src = fetchFromGitHub {
     owner = "argoproj-labs";
     repo = "argocd-autopilot";
     rev = "v${version}";
-    sha256 = "sha256-9si2zqYhmAqzhdUWMkfQ/yLeyNcZSAWypvZTbDDrPvA=";
+    sha256 = "sha256-YqnmtDVtprQQFbL++X9rUJFGj+fMD+fvDRWsQ+uOxxo=";
   };
 
-  vendorSha256 = "sha256-UfZCGG24JjPoc5nbX9vPeFCP8YGMNF5oUrdwTC6RpKI=";
+  vendorSha256 = "sha256-r8RTwMzFS/BkxW08+wfAovuFLpIOReDsuHi/Hx9cVPc=";
 
   proxyVendor = true;
 
diff --git a/pkgs/applications/networking/cluster/cilium/default.nix b/pkgs/applications/networking/cluster/cilium/default.nix
index cf1ada47189..bde7a21b33e 100644
--- a/pkgs/applications/networking/cluster/cilium/default.nix
+++ b/pkgs/applications/networking/cluster/cilium/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cilium-cli";
-  version = "0.10.4";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1/WXpXZ6f4p4IZ/yropCjH3hHt+t5HGw0aq0HFk04mo=";
+    sha256 = "sha256-8twqA8aUuk5+LzjxMRbRA3m6qiEbk60A0q3nw9uzCvU=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/flink/default.nix b/pkgs/applications/networking/cluster/flink/default.nix
index b5250a3bd7f..131cee6af03 100644
--- a/pkgs/applications/networking/cluster/flink/default.nix
+++ b/pkgs/applications/networking/cluster/flink/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "flink";
-  version = "1.14.3";
+  version = "1.14.4";
 
   src = fetchurl {
     url = "mirror://apache/flink/${pname}-${version}/${pname}-${version}-bin-scala_2.11.tgz";
-    sha256 = "sha256-dst0Q1AlDdggtOwYROoV6QcBLRNfmGTo7DL2BV/5PB4=";
+    sha256 = "sha256-qvWUh+EQT/MljN5LCX2JLMEapIEGAbAljrCMTYsFqtw=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix
index 5dc34224742..3889082ec0c 100644
--- a/pkgs/applications/networking/cluster/fluxcd/default.nix
+++ b/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -1,9 +1,9 @@
 { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
 
 let
-  version = "0.29.1";
-  sha256 = "0sqavlylkbcgk9yfblh85rfi3lxv23rlcrq8cw1ikn832gncg7dk";
-  manifestsSha256 = "1ph0qbjc1l3h5n0myza3dw71x30iva34nx6f7vfiy8fpapcf1qbi";
+  version = "0.30.2";
+  sha256 = "0z4f0vf2n7vfp6ff0lxcl5qyl65ihd4absad8cd16hncz15nyjgl";
+  manifestsSha256 = "04dlxzlrhggq54nkywn9nwdagdn43f0rb7cjkqdn3hlm4hwd07pb";
 
   manifests = fetchzip {
     url =
@@ -23,7 +23,7 @@ in buildGoModule rec {
     inherit sha256;
   };
 
-  vendorSha256 = "sha256-v208yuWWPzLxrbkgXikE2PiFv9NXNEG4K1zrLHyaleI=";
+  vendorSha256 = "sha256-POziJtCdD4klu23WuGmWdt72Ugr4KwCAjXRTCuzikSk=";
 
   postUnpack = ''
     cp -r ${manifests} source/cmd/flux/manifests
@@ -65,6 +65,6 @@ in buildGoModule rec {
     '';
     homepage = "https://fluxcd.io";
     license = licenses.asl20;
-    maintainers = with maintainers; [ jlesquembre bryanasdev000 ];
+    maintainers = with maintainers; [ bryanasdev000 jlesquembre superherointj ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/fluxcd/update.sh b/pkgs/applications/networking/cluster/fluxcd/update.sh
index 1ded63d4d86..2d25eee6f34 100755
--- a/pkgs/applications/networking/cluster/fluxcd/update.sh
+++ b/pkgs/applications/networking/cluster/fluxcd/update.sh
@@ -3,36 +3,43 @@
 
 set -x -eu -o pipefail
 
-cd $(dirname "${BASH_SOURCE[0]}")
-
-TAG=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} --silent https://api.github.com/repos/fluxcd/flux2/releases/latest | jq -r '.tag_name')
-
-VERSION=$(echo ${TAG} | sed 's/^v//')
-
-SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/fluxcd/flux2/archive/refs/tags/${TAG}.tar.gz)
-
-SPEC_SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/fluxcd/flux2/releases/download/${TAG}/manifests.tar.gz)
-
-setKV () {
-    sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix
-}
-
-setKV version ${VERSION}
-setKV sha256 ${SHA256}
-setKV manifestsSha256 ${SPEC_SHA256}
-setKV vendorSha256 "0000000000000000000000000000000000000000000000000000" # The same as lib.fakeSha256
-
-cd ../../../../../
-set +e
-VENDOR_SHA256=$(nix-build --no-out-link -A fluxcd 2>&1 >/dev/null | grep "got:" | cut -d':' -f2 | sed 's| ||g')
-set -e
-
-cd - > /dev/null
-
-if [ -n "${VENDOR_SHA256:-}" ]; then
-    setKV vendorSha256 ${VENDOR_SHA256}
+NIXPKGS_PATH="$(git rev-parse --show-toplevel)"
+FLUXCD_PATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
+
+OLD_VERSION="$(nix-instantiate --eval -E "with import $NIXPKGS_PATH {}; fluxcd.version or (builtins.parseDrvName fluxcd.name).version" | tr -d '"')"
+LATEST_TAG=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} --silent https://api.github.com/repos/fluxcd/flux2/releases/latest | jq -r '.tag_name')
+LATEST_VERSION=$(echo ${LATEST_TAG} | sed 's/^v//')
+
+if [ ! "$OLD_VERSION" = "$LATEST_VERSION" ]; then
+    SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/fluxcd/flux2/archive/refs/tags/${LATEST_TAG}.tar.gz)
+    SPEC_SHA256=$(nix-prefetch-url --quiet --unpack https://github.com/fluxcd/flux2/releases/download/${LATEST_TAG}/manifests.tar.gz)
+
+    setKV () {
+        sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" "${FLUXCD_PATH}/default.nix"
+    }
+
+    setKV version ${LATEST_VERSION}
+    setKV sha256 ${SHA256}
+    setKV manifestsSha256 ${SPEC_SHA256}
+    setKV vendorSha256 "0000000000000000000000000000000000000000000000000000" # The same as lib.fakeSha256
+
+    set +e
+    VENDOR_SHA256=$(nix-build --no-out-link -A fluxcd $NIXPKGS_PATH 2>&1 >/dev/null | grep "got:" | cut -d':' -f2 | sed 's| ||g')
+    set -e
+
+    if [ -n "${VENDOR_SHA256:-}" ]; then
+        setKV vendorSha256 ${VENDOR_SHA256}
+    else
+        echo "Update failed. VENDOR_SHA256 is empty."
+        exit 1
+    fi
+
+    # `git` flag here is to be used by local maintainers to speed up the bump process
+    if [ $# -eq 1 ] && [ "$1" = "git" ]; then
+        git switch -c "package-fluxcd-${LATEST_VERSION}"
+        git add "$FLUXCD_PATH"/default.nix
+        git commit -m "fluxcd: ${OLD_VERSION} -> ${LATEST_VERSION}"
+    fi
 else
-    echo "Update failed. VENDOR_SHA256 is empty."
-    exit 1
+    echo "fluxcd is already up-to-date at $OLD_VERSION"
 fi
-
diff --git a/pkgs/applications/networking/cluster/helm-docs/default.nix b/pkgs/applications/networking/cluster/helm-docs/default.nix
index f7c05843bcf..1d3c9f43e90 100644
--- a/pkgs/applications/networking/cluster/helm-docs/default.nix
+++ b/pkgs/applications/networking/cluster/helm-docs/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helm-docs";
-  version = "1.7.0";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "norwoodj";
     repo = "helm-docs";
     rev = "v${version}";
-    sha256 = "sha256-TXwEVyRYRiVqCDL7IR+DIu1iKqaq81W5xkvz+laxVek=";
+    sha256 = "sha256-OpS/CYBb2Ll6ktvEhqkw/bWMSrFa4duidK3Glu8EnPw=";
   };
 
-  vendorSha256 = "sha256-XTV0gyUWe6G5gxucsXOaDOUQoKMCfhrWzlKwUOaA6y4=";
+  vendorSha256 = "sha256-FpmeOQ8nV+sEVu2+nY9o9aFbCpwSShQUFOmyzwEQ9Pw=";
 
   subPackages = [ "cmd/helm-docs" ];
   ldflags = [
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index 408f1bd3ed8..b6f9028d52a 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -1,19 +1,17 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles }:
 
 buildGoModule rec {
-  pname = "helm";
-  version = "3.8.1";
-  gitCommit = "5cb9af4b1b271d11d7a97a71df3ac337dd94ad37";
+  pname = "kubernetes-helm";
+  version = "3.8.2";
+  gitCommit = "6e3701edea09e5d55a8ca2aae03a68917630e91b";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "sha256-AjNrn46l9gVC7MtGF59QWv+l6qYn+jzopsZtM/2faXY=";
+    sha256 = "sha256-lFAzp7ZxyMZAEO1cNFkEPLgTLEGa6azv36xiTIz4FZY=";
   };
-  vendorSha256 = "sha256-ffbp7J8XDxo/s79pjoiDVbft0pr/lJpuJuKiMpQwkT0=";
-
-  doCheck = false;
+  vendorSha256 = "sha256-FLEydmR+UEZ80VYLxBU1ZdwpdLgTjUpqiMItnt9UuLY=";
 
   subPackages = [ "cmd/helm" ];
   ldflags = [
@@ -23,6 +21,19 @@ buildGoModule rec {
     "-X helm.sh/helm/v3/internal/version.gitCommit=${gitCommit}"
   ];
 
+  preCheck = ''
+    # skipping version tests because they require dot git directory
+    substituteInPlace cmd/helm/version_test.go \
+      --replace "TestVersion" "SkipVersion"
+  '' + lib.optionalString stdenv.isLinux ''
+    # skipping plugin tests on linux
+    substituteInPlace cmd/helm/plugin_test.go \
+      --replace "TestPluginDynamicCompletion" "SkipPluginDynamicCompletion" \
+      --replace "TestLoadPlugins" "SkipLoadPlugins"
+    substituteInPlace cmd/helm/helm_test.go \
+      --replace "TestPluginExitCode" "SkipPluginExitCode"
+  '';
+
   nativeBuildInputs = [ installShellFiles ];
   postInstall = ''
     $out/bin/helm completion bash > helm.bash
@@ -33,7 +44,8 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://github.com/kubernetes/helm";
     description = "A package manager for kubernetes";
+    mainProgram = "helm";
     license = licenses.asl20;
-    maintainers = with maintainers; [ rlupton20 edude03 saschagrunert Frostman Chili-Man ];
+    maintainers = with maintainers; [ rlupton20 edude03 saschagrunert Frostman Chili-Man techknowlogick ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/istioctl/default.nix b/pkgs/applications/networking/cluster/istioctl/default.nix
index 6c88926ca24..1f2e9859352 100644
--- a/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.13.2";
+  version = "1.13.3";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    sha256 = "sha256-7YtszdwauTz9LfZ77d13fDU6vQm5hiJrIOiqpqIginQ=";
+    sha256 = "sha256-XvV6OlGHW/eB0EUrmyTlFVbDjbxUpVo6WvrEnh6Q68I=";
   };
-  vendorSha256 = "sha256-AOcWkcw+2DcgBxvxRO/sdb339a7hmI7Oy5I4kW4oE+k=";
+  vendorSha256 = "sha256-Ex86yLMTqqiSkJns/eeodmGswAzPVQAQOf8Wqi7DRaE=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -26,6 +26,11 @@ buildGoModule rec {
 
   subPackages = [ "istioctl/cmd/istioctl" ];
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/istioctl version --remote=false | grep ${version} > /dev/null
+  '';
+
   postInstall = ''
     $out/bin/istioctl collateral --man --bash --zsh
     installManPage *.1
diff --git a/pkgs/applications/networking/cluster/kn/default.nix b/pkgs/applications/networking/cluster/kn/default.nix
index 93ccd873f77..69142045fee 100644
--- a/pkgs/applications/networking/cluster/kn/default.nix
+++ b/pkgs/applications/networking/cluster/kn/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kn";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "knative";
     repo = "client";
     rev = "knative-v${version}";
-    sha256 = "sha256-xpSnirdEZ/Cua/wicu62HzeDm0E8Xo/Jt2eMfUS7mDo=";
+    sha256 = "sha256-Q67dictDE+HWw99lFAiidBvIL30mMAkjYb2CDLDcalw=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/kompose/default.nix b/pkgs/applications/networking/cluster/kompose/default.nix
index c01e1c8c004..2b80dfc6815 100644
--- a/pkgs/applications/networking/cluster/kompose/default.nix
+++ b/pkgs/applications/networking/cluster/kompose/default.nix
@@ -1,19 +1,24 @@
-{ lib, buildGoPackage, fetchFromGitHub, installShellFiles }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, kompose }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "kompose";
-  version = "1.21.0";
-
-  goPackagePath = "github.com/kubernetes/kompose";
+  version = "1.26.1";
 
   src = fetchFromGitHub {
-    rev = "v${version}";
     owner = "kubernetes";
     repo = "kompose";
-    sha256 = "15a1alf6ywwfc4z5kdcnv64fp3cfy3qrcw62ny6xyn1kh1w24vkh";
+    rev = "v${version}";
+    sha256 = "sha256-NfzqGG5ZwPpmjhvcvXN1AA+kfZG/oujbAEtXkm1mzeU=";
   };
 
+  vendorSha256 = "sha256-OR5U2PnebO0a+lwU09Dveh0Yxk91cmSRorTxQIO5lHc=";
+
   nativeBuildInputs = [ installShellFiles ];
+
+  ldflags = [ "-s" "-w" ];
+
+  checkFlags = [ "-short" ];
+
   postInstall = ''
     for shell in bash zsh; do
       $out/bin/kompose completion $shell > kompose.$shell
@@ -21,6 +26,11 @@ buildGoPackage rec {
     done
   '';
 
+  passthru.tests.version = testers.testVersion {
+    package = kompose;
+    command = "kompose version";
+  };
+
   meta = with lib; {
     description = "A tool to help users who are familiar with docker-compose move to Kubernetes";
     homepage = "https://kompose.io";
diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix
index da8e14d1f30..69eafdddf93 100644
--- a/pkgs/applications/networking/cluster/kops/default.nix
+++ b/pkgs/applications/networking/cluster/kops/default.nix
@@ -65,8 +65,8 @@ rec {
   };
 
   kops_1_23 = mkKops rec {
-    version = "1.23.0";
-    sha256 = "sha256-tiVNUaW0an6C8M9bxEX5pvB/W5IjZ/S24RdPikzm3bc=";
+    version = "1.23.1";
+    sha256 = "sha256-SiseHs5cMj8DR1f6z9PTbtF/h3Bn9riiLWW5KMYwVUg=";
     rev = "v${version}";
   };
 }
diff --git a/pkgs/applications/networking/cluster/krane/Gemfile.lock b/pkgs/applications/networking/cluster/krane/Gemfile.lock
index 1c1b8dc7b71..ba7e5bb0a63 100644
--- a/pkgs/applications/networking/cluster/krane/Gemfile.lock
+++ b/pkgs/applications/networking/cluster/krane/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (7.0.1)
+    activesupport (7.0.2.3)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -9,11 +9,11 @@ GEM
     addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
     colorize (0.8.1)
-    concurrent-ruby (1.1.9)
+    concurrent-ruby (1.1.10)
     domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.0)
     ejson (1.3.1)
-    faraday (1.9.3)
+    faraday (1.10.0)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
       faraday-excon (~> 1.1)
@@ -58,12 +58,12 @@ GEM
     http-form_data (2.3.0)
     http-parser (1.2.3)
       ffi-compiler (>= 1.0, < 2.0)
-    i18n (1.8.11)
+    i18n (1.10.0)
       concurrent-ruby (~> 1.0)
-    jsonpath (1.1.0)
+    jsonpath (1.1.1)
       multi_json
     jwt (2.3.0)
-    krane (2.4.0)
+    krane (2.4.6)
       activesupport (>= 5.0)
       colorize (~> 0.8)
       concurrent-ruby (~> 1.1)
@@ -74,7 +74,7 @@ GEM
       oj (~> 3.0)
       statsd-instrument (>= 2.8, < 4)
       thor (>= 1.0, < 2.0)
-    kubeclient (4.9.2)
+    kubeclient (4.9.3)
       http (>= 3.0, < 5.0)
       jsonpath (~> 1.0)
       recursive-open-struct (~> 1.1, >= 1.1.1)
@@ -89,7 +89,7 @@ GEM
     netrc (0.11.0)
     oj (3.13.11)
     os (1.1.4)
-    public_suffix (4.0.6)
+    public_suffix (4.0.7)
     rake (13.0.6)
     recursive-open-struct (1.1.3)
     rest-client (2.1.0)
@@ -98,9 +98,9 @@ GEM
       mime-types (>= 1.16, < 4.0)
       netrc (~> 0.8)
     ruby2_keywords (0.0.5)
-    signet (0.16.0)
+    signet (0.16.1)
       addressable (~> 2.8)
-      faraday (>= 0.17.3, < 2.0)
+      faraday (>= 0.17.5, < 3.0)
       jwt (>= 1.5, < 3.0)
       multi_json (~> 1.10)
     statsd-instrument (3.1.2)
@@ -109,7 +109,7 @@ GEM
       concurrent-ruby (~> 1.0)
     unf (0.1.4)
       unf_ext
-    unf_ext (0.0.8)
+    unf_ext (0.0.8.1)
 
 PLATFORMS
   ruby
@@ -118,4 +118,4 @@ DEPENDENCIES
   krane
 
 BUNDLED WITH
-   2.2.24
+   2.3.9
diff --git a/pkgs/applications/networking/cluster/krane/gemset.nix b/pkgs/applications/networking/cluster/krane/gemset.nix
index e14b6902fe2..058910072a7 100644
--- a/pkgs/applications/networking/cluster/krane/gemset.nix
+++ b/pkgs/applications/networking/cluster/krane/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02lys9pnb99hsczs551iqzjn008i8k7c728xxba7acfi9rdw9pa6";
+      sha256 = "1jpydd414j0fig3r0f6ci67mchclg6cq2qgqbq9zplrbg40pzfi8";
       type = "gem";
     };
-    version = "7.0.1";
+    version = "7.0.2.3";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -36,10 +36,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
+      sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
       type = "gem";
     };
-    version = "1.1.9";
+    version = "1.1.10";
   };
   domain_name = {
     dependencies = ["unf"];
@@ -68,10 +68,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y32gj994ll3zlcqjmwp78r7s03iiwayij6fz2pjpkfywgvp71s6";
+      sha256 = "00palwawk897p5gypw5wjrh93d4p0xz2yl9w93yicb4kq7amh8d4";
       type = "gem";
     };
-    version = "1.9.3";
+    version = "1.10.0";
   };
   faraday-em_http = {
     groups = ["default"];
@@ -265,10 +265,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vdd1kii40qhbr9n8qx71k2gskq6rkl8ygy8hw5hfj8bb5a364xf";
+      sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg";
       type = "gem";
     };
-    version = "1.8.11";
+    version = "1.10.0";
   };
   jsonpath = {
     dependencies = ["multi_json"];
@@ -276,10 +276,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12hjsr0plnx6v0bh1rhhimfi7z3rqm19xb47ybdkc1h9yhynnmdq";
+      sha256 = "0slr38w21gwizkq4nk6c7l7lcqc2c733zfn5fq1pmbwy5bwiggad";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.1.1";
   };
   jwt = {
     groups = ["default"];
@@ -297,10 +297,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xnf0cw5i1i8l5nm1c9z02h184ad6hvy7fydr4bdzckjkyinamv9";
+      sha256 = "16rf7qzwshlbhrc9fdgq44fcf2qbgjwik1kwkv1gncy12lvwfdmz";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.4.6";
   };
   kubeclient = {
     dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
@@ -308,10 +308,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kld1w4706dfd6jx3snsi4h2pvqfazz1fni5al2ln60s3b8sybq4";
+      sha256 = "0ih04d0vgj91rl66iaqh8jmpskwz3g6mgajid0wlzi5skxqqxlym";
       type = "gem";
     };
-    version = "4.9.2";
+    version = "4.9.3";
   };
   memoist = {
     groups = ["default"];
@@ -409,10 +409,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
+      sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb";
       type = "gem";
     };
-    version = "4.0.6";
+    version = "4.0.7";
   };
   rake = {
     groups = ["default"];
@@ -461,10 +461,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cgmadrpgkpcklvvm2cga9mnrfqwqlydwpask1wx617h5ha6954k";
+      sha256 = "1jwyggz80xb3yi2hycmmw214c4072g8i56y0b0gsmpkiyk5d0vh1";
       type = "gem";
     };
-    version = "0.16.0";
+    version = "0.16.1";
   };
   statsd-instrument = {
     groups = ["default"];
@@ -513,9 +513,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jmbimpnpjdzz8hlrppgl9spm99qh3qzbx0b81k3gkgwba8nk3yd";
+      sha256 = "0bf120xbq23zjyf8zi8h1576d71g58srr8rndig0whn10w72vrxz";
       type = "gem";
     };
-    version = "0.0.8";
+    version = "0.0.8.1";
   };
 }
diff --git a/pkgs/applications/networking/cluster/kube3d/default.nix b/pkgs/applications/networking/cluster/kube3d/default.nix
index 21469e57a75..355ef154555 100644
--- a/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -1,16 +1,28 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles, k3sVersion ? "1.22.2-k3s2" }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+, k3sVersion ? null
+}:
 
+let
+  hasVPrefix = ver: (builtins.elemAt (lib.stringToCharacters ver) 0) == "v";
+  k3sVersionSet =
+    if k3sVersion != null then
+      if hasVPrefix k3sVersion then throw "k3sVersion should not have a v prefix" else true
+    else
+      false;
+in
 buildGoModule rec {
   pname = "kube3d";
-  version = "5.3.0";
+  version = "5.4.1";
 
   src = fetchFromGitHub {
-    owner = "rancher";
+    owner = "k3d-io";
     repo = "k3d";
     rev = "v${version}";
-    sha256 = "sha256-ZuUjk1wb7iRZX+OpjLJHp1T0WYNjCHU6DpYF4V/heVc=";
+    sha256 = "sha256-DVQrD4JMei9yRFzuiVb6AcydEupNSlpgYLfGWWRiaao=";
   };
-
   vendorSha256 = null;
 
   nativeBuildInputs = [ installShellFiles ];
@@ -18,10 +30,14 @@ buildGoModule rec {
   excludedPackages = [ "tools" "docgen" ];
 
   ldflags =
-    let t = "github.com/rancher/k3d/v5/version"; in
-    [ "-s" "-w" "-X ${t}.Version=v${version}" "-X ${t}.K3sVersion=v${k3sVersion}" ];
+    let t = "github.com/k3d-io/k3d/v5/version"; in
+    [ "-s" "-w" "-X ${t}.Version=v${version}" ] ++ lib.optionals k3sVersionSet [ "-X ${t}.K3sVersion=v${k3sVersion}" ];
 
-  doCheck = false;
+   preCheck = ''
+    # skip test that uses networking
+    substituteInPlace version/version_test.go \
+      --replace "TestGetK3sVersion" "SkipGetK3sVersion"
+  '';
 
   postInstall = ''
     installShellCompletion --cmd k3d \
@@ -34,13 +50,13 @@ buildGoModule rec {
   installCheckPhase = ''
     runHook preInstallCheck
     $out/bin/k3d --help
-    $out/bin/k3d --version | grep -e "k3d version v${version}" -e "k3s version v${k3sVersion}"
+    $out/bin/k3d --version | grep -e "k3d version v${version}" ${lib.optionalString k3sVersionSet "-e \"k3s version v${k3sVersion}\""}
     runHook postInstallCheck
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/rancher/k3d";
-    changelog = "https://github.com/rancher/k3d/blob/v${version}/CHANGELOG.md";
+    homepage = "https://github.com/k3d-io/k3d/";
+    changelog = "https://github.com/k3d-io/k3d/blob/v${version}/CHANGELOG.md";
     description = "A helper to run k3s (Lightweight Kubernetes. 5 less than k8s) in a docker container - k3d";
     longDescription = ''
       k3s is the lightweight Kubernetes distribution by Rancher: rancher/k3s
@@ -50,7 +66,7 @@ buildGoModule rec {
     '';
     license = licenses.mit;
     maintainers = with maintainers; [ kuznero jlesquembre ngerstle jk ricochet ];
-    mainProgram = "k3d";
     platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "k3d";
   };
 }
diff --git a/pkgs/applications/networking/cluster/kubecfg/default.nix b/pkgs/applications/networking/cluster/kubecfg/default.nix
index 0169442e1bf..4bf05a7e1e1 100644
--- a/pkgs/applications/networking/cluster/kubecfg/default.nix
+++ b/pkgs/applications/networking/cluster/kubecfg/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildGoPackage, fetchFromGitHub, installShellFiles }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "kubecfg";
-  version = "0.22.0";
+  version = "0.26.0";
 
   src = fetchFromGitHub {
-    owner = "bitnami";
+    owner = "kubecfg";
     repo = "kubecfg";
     rev = "v${version}";
-    sha256 = "sha256-8U/A4F4DboS46ftpuk5fQGT2Y0V+X0y0L3/o4x8qpnY=";
+    sha256 = "sha256-ekojX7gl8wC7GlHG3Y+dwry7jxjIm5dbS7cNN1xu4kY=";
   };
 
-  goPackagePath = "github.com/bitnami/kubecfg";
+  vendorSha256 = "sha256-dPdF3qTrYRbKUepgo6WVIVyGnaWxhQ0371fzXlBD8rE=";
 
   ldflags = [ "-s" "-w" "-X main.version=v${version}" ];
 
@@ -25,7 +25,7 @@ buildGoPackage rec {
 
   meta = {
     description = "A tool for managing Kubernetes resources as code";
-    homepage = "https://github.com/bitnami/kubecfg";
+    homepage = "https://github.com/kubecfg/kubecfg";
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ benley ];
     platforms = lib.platforms.unix;
diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix
index 936e7682348..acc3370ce83 100644
--- a/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "0.18.0";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gkfy/tKzh6EO+nyjuiU3InSErKvGcJp/X7oqYk0Msr0=";
+    sha256 = "sha256-FuWfHd4LfFHX5oRopDIDTi90cARi8cYjJBK0BgeCD/U=";
   };
 
-  vendorSha256 = "sha256-hjhZYNpqt9yFNrDVpFlguESUAAqU+AhpUQTCvyMadPk=";
+  vendorSha256 = "sha256-mHitGjOfSRlqORWFtB16buSSJrCf7Li9+oHX4rcO4ek=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/nomad-pack/default.nix b/pkgs/applications/networking/cluster/nomad-pack/default.nix
index 93d1d3badad..394e75f9112 100644
--- a/pkgs/applications/networking/cluster/nomad-pack/default.nix
+++ b/pkgs/applications/networking/cluster/nomad-pack/default.nix
@@ -5,17 +5,17 @@
 
 buildGoModule rec {
   pname = "nomad-pack";
-  version = "2022-02-11";
-  rev   = "568ac5e42bc41172a1fa3c8b18af2f42b9e341ff";
+  version = "2022-04-12";
+  rev   = "50ad747d2a5a2b90af1b3564483510cb04fefbea";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     inherit rev;
-    sha256 = "sha256-0hvnGdUT72sWvMER67ZBxcC+VTbuFMIos2NudOjeTB8=";
+    sha256 = "sha256-VG6Dmx5WD2AzKReMbmrpzXCNhrJqaZY3aQV9P+4ET68=";
   };
 
-  vendorSha256 = "sha256-wmoXZIogKj4i9+AsEjY7QaT2Tn4LQyGQcEFHrRO0W9s=";
+  vendorSha256 = "sha256-7ovR2F9N94iFK/B5OXRcqfykOYHST3354+Ge2L8yzq0=";
 
   # skip running go tests as they require network access
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/nomad/1.1.nix b/pkgs/applications/networking/cluster/nomad/1.1.nix
index 750e49fc1e1..bbc1dc9949b 100644
--- a/pkgs/applications/networking/cluster/nomad/1.1.nix
+++ b/pkgs/applications/networking/cluster/nomad/1.1.nix
@@ -6,7 +6,7 @@
 
 callPackage ./generic.nix {
   inherit buildGoModule nvidia_x11 nvidiaGpuSupport;
-  version = "1.1.8";
-  sha256 = "05k1r157h3jaqzzsrkgc96zcny3mi8dvixc2v1w0lwcxixqk0y2l";
-  vendorSha256 = "03hjin9nybf7fpbj5r82qh19qh3cc8m0b236mk0ajhsyjqrk8pir";
+  version = "1.1.12";
+  sha256 = "19y52sn4qz0vx9s188nf7rkr7y2cbq6h33l98sr4w85kmainn86s";
+  vendorSha256 = "0p582y2q6zpyn7vmv1p8p8r2gbh786pqc6lpipgr7rpxbnxf5v4b";
 }
diff --git a/pkgs/applications/networking/cluster/ocm/default.nix b/pkgs/applications/networking/cluster/ocm/default.nix
index 1bacd8510dc..73a5d964f34 100644
--- a/pkgs/applications/networking/cluster/ocm/default.nix
+++ b/pkgs/applications/networking/cluster/ocm/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, testVersion, ocm }:
+{ lib, buildGoModule, fetchFromGitHub, testers, ocm }:
 
 buildGoModule rec {
   pname = "ocm";
@@ -18,7 +18,7 @@ buildGoModule rec {
     ln -s $GOPATH/bin/ocm ocm
   '';
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = ocm;
     command = "ocm version";
   };
diff --git a/pkgs/applications/networking/cluster/odo/default.nix b/pkgs/applications/networking/cluster/odo/default.nix
index be85981f7bf..fb1888d6235 100644
--- a/pkgs/applications/networking/cluster/odo/default.nix
+++ b/pkgs/applications/networking/cluster/odo/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, testVersion, odo }:
+{ lib, buildGoModule, fetchFromGitHub, testers, odo }:
 
 buildGoModule rec {
   pname = "odo";
@@ -22,7 +22,7 @@ buildGoModule rec {
     cp -a odo $out/bin
   '';
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = odo;
     command = "odo version";
     version = "v${version}";
diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix
index aade6c549f3..bab73c41f5f 100644
--- a/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/pkgs/applications/networking/cluster/openshift/default.nix
@@ -4,7 +4,7 @@
 , libkrb5
 , git
 , installShellFiles
-, testVersion
+, testers
 , openshift
 }:
 
@@ -52,7 +52,7 @@ buildGoModule rec {
     installShellCompletion --zsh contrib/completions/zsh/*
   '';
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = openshift;
     command = "oc version";
     version = "v${version}";
diff --git a/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix b/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
index 2caa0dc2280..1fd71cb8e99 100644
--- a/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
+++ b/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, fetchurl, autoPatchelfHook, dpkg, awscli, unzip }:
 let
-  ver = "1.2.54.0";
+  ver = "1.2.312.0";
   source =
     if stdenv.isDarwin then {
       url = "https://s3.amazonaws.com/session-manager-downloads/plugin/${ver}/mac/sessionmanager-bundle.zip";
-      sha256 = "kgxoQrtu2tsV5t/3oA+Z2juY24hPOznPGjlQMsqOIZg=";
+      sha256 = "50aac34a4dedddf20c20be24989ee5d33b46a72187791715fb9b395b54db8ef9";
     } else {
       url = "https://s3.amazonaws.com/session-manager-downloads/plugin/${ver}/ubuntu_64bit/session-manager-plugin.deb";
-      sha256 = "uug1cT4yRxNQcf+zWz0mi72G4EGa3eZHVuG36INSqrM=";
+      sha256 = "2e51ce5bf8f23a1e590fff866bbdadcf82aa03c5054c671d9115482a1b263cc7";
     };
   archivePath = if stdenv.isDarwin then "sessionmanager-bundle" else "usr/local/sessionmanagerplugin";
 in
diff --git a/pkgs/applications/networking/cluster/talosctl/default.nix b/pkgs/applications/networking/cluster/talosctl/default.nix
index 704d5a85682..7eb4f43e479 100644
--- a/pkgs/applications/networking/cluster/talosctl/default.nix
+++ b/pkgs/applications/networking/cluster/talosctl/default.nix
@@ -1,10 +1,10 @@
 { lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 let
   # look for GO_LDFLAGS getting set in the Makefile
-  version = "1.0.3";
-  sha256 = "sha256-unGr+T2uYg7/4pAXf8vp9Hpi6IrCsLCqGbyBC7QXGX8=";
-  vendorSha256 = "sha256-9NYr5Ok9oQ1ajYFiTeU9ztmX/55UROBjNawLGjm4HYU=";
-  pkgsVersion = "v1.0.0-8-g76f8c5b";
+  version = "1.0.4";
+  sha256 = "sha256-kO48MRQDQGDUvFfsxAt+CAHn2EGU44NMpSKDWnNwAdk=";
+  vendorSha256 = "sha256-QcD5MKQO51ZZ/NvVIiAmDsN6wLI2N8YkhA387KB77W8=";
+  pkgsVersion = "v1.0.0-10-gbf81bd2";
   extrasVersion = "v1.0.0-2-gc5d3ab0";
 in
 buildGoModule rec {
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index cd3af80f1e5..26a51711654 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -17,33 +17,42 @@
     "vendorSha256": "1gpbc72q7mjyjxk75dyfi3j2fk6glgz0a15m2pq7clyc35kapnkc",
     "version": "2.8.0"
   },
+  "age": {
+    "owner": "clementblaise",
+    "provider-source-address": "registry.terraform.io/clementblaise/age",
+    "repo": "terraform-provider-age",
+    "rev": "v0.1.1",
+    "sha256": "sha256-bJrzjvkrCX93bNqCA+FdRibHnAw6cb61StqtwUY5ok4=",
+    "vendorSha256": "sha256-jK7JuARpoxq7hvq5+vTtUwcYot0YqlOZdtDwq4IqKvk=",
+    "version": "0.1.1"
+  },
   "aiven": {
     "owner": "aiven",
     "provider-source-address": "registry.terraform.io/aiven/aiven",
     "repo": "terraform-provider-aiven",
-    "rev": "v2.7.1",
-    "sha256": "sha256-tXg9VpP3kj32Q9ktU5FrcQStIRlDtMLXYzn0RvLQCRk=",
-    "vendorSha256": "sha256-1Eenm7dgQc4jCPm7BfuiXR2B3IJRBAYdGD7CSs49koo=",
-    "version": "2.7.1"
+    "rev": "v2.7.2",
+    "sha256": "sha256-1Y3m431KlWU+0cgZsU644WEO1i/9Gp1HomXvuCesVNU=",
+    "vendorSha256": "sha256-nBVLgOrtINrDziQLdqo5rFWfeY/cOdBW/XVDjtNaNhE=",
+    "version": "2.7.2"
   },
   "akamai": {
     "owner": "akamai",
     "provider-source-address": "registry.terraform.io/akamai/akamai",
     "repo": "terraform-provider-akamai",
-    "rev": "v1.12.1",
-    "sha256": "sha256-UQD1RiXIRcP0CvVO8Tx/qkBhRD3LFj/KI3WP/yKeBek=",
-    "vendorSha256": "sha256-GZFLnKHk6YaMwFGgy79ric388EMIH6NUVw4JVLNxWZY=",
-    "version": "1.12.1"
+    "rev": "v2.0.0",
+    "sha256": "sha256-LcqP4gO1dhNaLkpaZIRxmC8B7DUTLC1fPZutohBqKSQ=",
+    "vendorSha256": "sha256-Vu5vyCEkZNf8TXryDalI5RKM/hjWeEkXbnYLhGwc2y8=",
+    "version": "2.0.0"
   },
   "alicloud": {
     "deleteVendor": true,
     "owner": "aliyun",
     "provider-source-address": "registry.terraform.io/aliyun/alicloud",
     "repo": "terraform-provider-alicloud",
-    "rev": "v1.164.0",
-    "sha256": "sha256-UZ+/l8eBpzo0KBW6x8koLzBt0QniHjP73zdjKIw8ByI=",
+    "rev": "v1.165.0",
+    "sha256": "sha256-Mq0Ob6U2v3onn5wIvAzXhbSBzjUCP4kF6irbwREdGFI=",
     "vendorSha256": "sha256-xxq+VOG6FkX1perAcXOiFtL/bjsHl9IWIJb5dfaIkpY=",
-    "version": "1.164.0"
+    "version": "1.165.0"
   },
   "ansible": {
     "owner": "nbering",
@@ -94,28 +103,28 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/aws",
     "repo": "terraform-provider-aws",
-    "rev": "v4.10.0",
-    "sha256": "sha256-FhW7+Ot1cVxTdDFuwP+Xq9LCfogRTJ7wlTU5TR98UPA=",
-    "vendorSha256": "sha256-91SSNiWHFcNWg6Ssr8XA+uiOoAbuBpivDPmkzWlFvPk=",
-    "version": "4.10.0"
+    "rev": "v4.12.1",
+    "sha256": "sha256-z19DTiio6dXIgTmOxehOjIno6XhSUIS/YFtXKocq2Kk=",
+    "vendorSha256": "sha256-zxOiLStuGuylsKTJteR/9Xs/XcVgDlihCBmnMNLTTd4=",
+    "version": "4.12.1"
   },
   "azuread": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/azuread",
     "repo": "terraform-provider-azuread",
-    "rev": "v2.20.0",
-    "sha256": "sha256-x1tSrejqsw3A/1n+PbG9wWx7q7qRciCjdwPAFT4lc2E=",
+    "rev": "v2.22.0",
+    "sha256": "sha256-x3SRTGCokEZGoG2l46PSelI8+FkHp5sbDdd14Iyei54=",
     "vendorSha256": null,
-    "version": "2.20.0"
+    "version": "2.22.0"
   },
   "azurerm": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/azurerm",
     "repo": "terraform-provider-azurerm",
-    "rev": "v3.2.0",
-    "sha256": "sha256-GKI6d2zSaaEaKnt6MLqzEbLjLYdrIOa+aeIlFPa5hM4=",
+    "rev": "v3.4.0",
+    "sha256": "sha256-hfjwlW7tbs/b7mvtbmFnNXr82b2exCRC4WxfCdZ6bbw=",
     "vendorSha256": null,
-    "version": "3.2.0"
+    "version": "3.4.0"
   },
   "azurestack": {
     "owner": "hashicorp",
@@ -162,6 +171,15 @@
     "vendorSha256": "03761vl8xcirmas38q8xivx2r312c07fmg1y80lklmswbd8d0f71",
     "version": "2.2.0"
   },
+  "buildkite": {
+    "owner": "buildkite",
+    "provider-source-address": "registry.terraform.io/buildkite/buildkite",
+    "repo": "terraform-provider-buildkite",
+    "rev": "v0.8.0",
+    "sha256": "1v4kzsvzkzf0bb6vpyjh0n2kbcfrqa193idvm4jgbcrdb0y3xzn5",
+    "vendorSha256": "12kqjpyy80pfrasicmdi1f43mr846rad3c6xaa4dvzn7hq640q5j",
+    "version": "0.8.0"
+  },
   "checkly": {
     "owner": "checkly",
     "provider-source-address": "registry.terraform.io/checkly/checkly",
@@ -194,10 +212,10 @@
     "owner": "cloudflare",
     "provider-source-address": "registry.terraform.io/cloudflare/cloudflare",
     "repo": "terraform-provider-cloudflare",
-    "rev": "v3.12.2",
-    "sha256": "sha256-vshZlMLfyRxbzsk6H34PZb5+RowpEJEvWhNVYzrySeg=",
-    "vendorSha256": "sha256-v6fUzYwrYt4rk5LT0LyNd8e9X79r3dwtd3s1QIV/w/s=",
-    "version": "3.12.2"
+    "rev": "v3.13.0",
+    "sha256": "sha256-ZG8F6cbJOmQdtudkVUGjKsq2Hs4uYlb/pxrF6Fkk4w0=",
+    "vendorSha256": "sha256-4usFr3aseHGGUa/bseSRAjE1NTZxh8UXPd66HG3hwOM=",
+    "version": "3.13.0"
   },
   "cloudfoundry": {
     "owner": "cloudfoundry-community",
@@ -258,10 +276,10 @@
     "owner": "DataDog",
     "provider-source-address": "registry.terraform.io/DataDog/datadog",
     "repo": "terraform-provider-datadog",
-    "rev": "v3.10.0",
-    "sha256": "sha256-M9Pbvcg6HJY4S7Syu3XFsyjsCfeZxS17Ke2FpN+2HV4=",
-    "vendorSha256": "sha256-IJ8K2pRfvajdPkM3EjJe1B9PstJozETMert+O6Xpa88=",
-    "version": "3.10.0"
+    "rev": "v3.11.0",
+    "sha256": "sha256-9ugNj/D6VPaERckV0cCPlBjNtzS9tLJj+rc/8MhxCVU=",
+    "vendorSha256": "sha256-XxOOOljx+p4onI6SF8UY+gy7x7G2pduEqODT1UX4zfg=",
+    "version": "3.11.0"
   },
   "dhall": {
     "owner": "awakesecurity",
@@ -321,28 +339,28 @@
     "owner": "dome9",
     "provider-source-address": "registry.terraform.io/dome9/dome9",
     "repo": "terraform-provider-dome9",
-    "rev": "v1.24.5",
-    "sha256": "0a4q5lf11xxfc9ndicdmjir77rdsiq5a8fwb6065879qaamvaxqi",
+    "rev": "v1.25.3",
+    "sha256": "sha256-0Pde+xVToBP5gavr0ckEIUmgCmRBbqSP5C0YkMthQGQ=",
     "vendorSha256": null,
-    "version": "1.24.5"
+    "version": "1.25.3"
   },
   "elasticsearch": {
     "owner": "phillbaker",
     "provider-source-address": "registry.terraform.io/phillbaker/elasticsearch",
     "repo": "terraform-provider-elasticsearch",
-    "rev": "v2.0.0",
-    "sha256": "sha256-wl8pRAB97JObpZvi2rdyDZP5itKcOnm6Gsbku1+5oqQ=",
-    "vendorSha256": "sha256-OCXTZg0JkaxJDEgoF2Qs4BcMSiYkQpLmehWdCpEmTzk=",
-    "version": "2.0.0"
+    "rev": "v2.0.1",
+    "sha256": "sha256-WdGwLQe4jInZiMxJ7BasfwVBsei0V02D6vAA4dLLoAI=",
+    "vendorSha256": "sha256-gBC5+6bGJzfb0yLKlolfrZNuhpPacqX3p1HjIB4i3IU=",
+    "version": "2.0.1"
   },
   "exoscale": {
     "owner": "exoscale",
     "provider-source-address": "registry.terraform.io/exoscale/exoscale",
     "repo": "terraform-provider-exoscale",
-    "rev": "v0.34.0",
-    "sha256": "sha256-GDN3cN+zNiTxJlKeQr4PGOFybIrVLL31VBMRhZ9PDQ4=",
+    "rev": "v0.35.0",
+    "sha256": "sha256-iIClnbCldGnihpML9xF0kyR4viXZzAsTF8MFT53wg+A=",
     "vendorSha256": null,
-    "version": "0.34.0"
+    "version": "0.35.0"
   },
   "external": {
     "owner": "hashicorp",
@@ -357,28 +375,28 @@
     "owner": "fastly",
     "provider-source-address": "registry.terraform.io/fastly/fastly",
     "repo": "terraform-provider-fastly",
-    "rev": "v1.1.2",
-    "sha256": "sha256-CxyVW9uE9mK+ZF8fyjAsrFKY82xAyGn9k1jOFqTaAhA=",
+    "rev": "v1.1.4",
+    "sha256": "sha256-sLVeVXVCvhSx51B4unYEOs0UpNsChF9guB22gpsratw=",
     "vendorSha256": null,
-    "version": "1.1.2"
+    "version": "1.1.4"
   },
   "flexibleengine": {
     "owner": "FlexibleEngineCloud",
     "provider-source-address": "registry.terraform.io/FlexibleEngineCloud/flexibleengine",
     "repo": "terraform-provider-flexibleengine",
-    "rev": "v1.28.0",
-    "sha256": "sha256-UeRgbPHwKZ6HfoHOG3yYLFhv6GqzGhLB3fETYWq6k7A=",
-    "vendorSha256": "sha256-/Z8VbNtwBYROyzvhwFwpmyGMWF1LeWEKxgwbFd9M+Gw=",
-    "version": "1.28.0"
+    "rev": "v1.29.0",
+    "sha256": "sha256-HPcJRLP20fDt3qr2edkol2jXSsWLotJkx13ZV7n7w8g=",
+    "vendorSha256": "sha256-De4NRWTdE4QutQkB0m0YlJg6LNysxi4bSSIxYY6lRP0=",
+    "version": "1.29.0"
   },
   "fortios": {
     "owner": "fortinetdev",
     "provider-source-address": "registry.terraform.io/fortinetdev/fortios",
     "repo": "terraform-provider-fortios",
-    "rev": "v1.14.0",
-    "sha256": "078wvbihrs6j5yrbqsx5g6l7z05y98kwlyanq5w99fsazz78rr4h",
+    "rev": "v1.14.1",
+    "sha256": "sha256-9e1PEg8RtJa7DR5g3cCdAhubFxt7vN5dPjaBA+F7Y4E=",
     "vendorSha256": null,
-    "version": "1.14.0"
+    "version": "1.14.1"
   },
   "gandi": {
     "owner": "go-gandi",
@@ -393,10 +411,10 @@
     "owner": "integrations",
     "provider-source-address": "registry.terraform.io/integrations/github",
     "repo": "terraform-provider-github",
-    "rev": "v4.23.0",
-    "sha256": "sha256-N7PFLh7qr8OPB92ePLS1B/KexipKV5LFRWvrxdS8cGk=",
+    "rev": "v4.24.1",
+    "sha256": "sha256-1fwHMN2HIVl+8ZL7OtP1U5ORc41e7Tm3qEpMqIgWL20=",
     "vendorSha256": null,
-    "version": "4.23.0"
+    "version": "4.24.1"
   },
   "gitlab": {
     "owner": "gitlabhq",
@@ -412,29 +430,29 @@
     "provider-source-address": "registry.terraform.io/hashicorp/google",
     "proxyVendor": true,
     "repo": "terraform-provider-google",
-    "rev": "v4.17.0",
-    "sha256": "sha256-7yGZpCErpriLrqHpCnXmkJkrGMQPkD70NmzuZ0ghF7o=",
+    "rev": "v4.19.0",
+    "sha256": "sha256-b6oEKiz8REeJIDFLDI80+kA4f32KRjZy/GhKg0qeN24=",
     "vendorSha256": "sha256-l2OviwplP/Sg2ShaEA88pMwVTkREnLkFAzterjr2kvU=",
-    "version": "4.17.0"
+    "version": "4.19.0"
   },
   "google-beta": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/google-beta",
     "proxyVendor": true,
     "repo": "terraform-provider-google-beta",
-    "rev": "v4.17.0",
-    "sha256": "sha256-JaZZRjQR9+aH9KTJrazLXlbQ1drIOfE8sOVYi29F1fs=",
+    "rev": "v4.19.0",
+    "sha256": "sha256-MPB/ca0GIIs7yEfIyqeOkzK2mkEdkE/DkEbaSqpaF0U=",
     "vendorSha256": "sha256-l2OviwplP/Sg2ShaEA88pMwVTkREnLkFAzterjr2kvU=",
-    "version": "4.17.0"
+    "version": "4.19.0"
   },
   "grafana": {
     "owner": "grafana",
     "provider-source-address": "registry.terraform.io/grafana/grafana",
     "repo": "terraform-provider-grafana",
-    "rev": "v1.21.1",
-    "sha256": "sha256-2eTVJB0Scs6cZzwy+DQLgKqP0JPNnQMjUcG7THH2Cgg=",
-    "vendorSha256": "sha256-YfE5ob/gB+X9x0Zx6gqjUR3+P+EhQrZ6aNiHOkbkNIc=",
-    "version": "1.21.1"
+    "rev": "v1.22.0",
+    "sha256": "sha256-0OkFf2YiwJHwXheYkN1HA1DG5vadyhZOzVjmu0BNDHI=",
+    "vendorSha256": "sha256-Pd4cSmDzRhu8MD2osXg6mVYiKG2VM6MQ67aC6jDy59U=",
+    "version": "1.22.0"
   },
   "gridscale": {
     "owner": "gridscale",
@@ -449,10 +467,10 @@
     "owner": "hetznercloud",
     "provider-source-address": "registry.terraform.io/hetznercloud/hcloud",
     "repo": "terraform-provider-hcloud",
-    "rev": "v1.33.1",
-    "sha256": "1mskbr0adhnri72fa3afghxpcfbzq0qnpslhh9gdnymvs3afjbdg",
-    "vendorSha256": "0rc4pznb16fm5dhi54fwka44zvngy3hp0cfwlrh84ifmzqgx0mlv",
-    "version": "1.33.1"
+    "rev": "v1.33.2",
+    "sha256": "sha256-kERpOIEy6UsT2BEY9kkINuWbncDXJuwWjR/Kzua97m8=",
+    "vendorSha256": "sha256-p+NFt9QjbR12bGnCrhUTJzwtBagjXn5w1UcQFMQpY+I=",
+    "version": "1.33.2"
   },
   "helm": {
     "owner": "hashicorp",
@@ -494,10 +512,10 @@
     "owner": "huaweicloud",
     "provider-source-address": "registry.terraform.io/huaweicloud/huaweicloud",
     "repo": "terraform-provider-huaweicloud",
-    "rev": "v1.35.1",
-    "sha256": "sha256-EC2o+olQaGCAX/0JGlXNMF8QE1k6BjC/4SttbGOxFFw=",
+    "rev": "v1.35.2",
+    "sha256": "sha256-D1ZaYz+leYU2UNq9c589KVISSNdcjFnDO4JccSVRPYw=",
     "vendorSha256": null,
-    "version": "1.35.1"
+    "version": "1.35.2"
   },
   "huaweicloudstack": {
     "owner": "huaweicloud",
@@ -521,10 +539,10 @@
     "owner": "IBM-Cloud",
     "provider-source-address": "registry.terraform.io/IBM-Cloud/ibm",
     "repo": "terraform-provider-ibm",
-    "rev": "v1.40.1",
-    "sha256": "sha256-7NdpMWEpkcqEwi7xAedc/NPJ6e+RZZ4HdrKtmb/H6xU=",
-    "vendorSha256": "sha256-rVV6oeqIj4o9qxw2V67G3cgERJaccejaAAtEOJVLm4U=",
-    "version": "1.40.1"
+    "rev": "v1.41.0-beta0",
+    "sha256": "sha256-0SANOw6mSXnH/bLRZRjG2R9aPTsp8jZvqYNNtNsiYPw=",
+    "vendorSha256": "sha256-8s32A0qgODZZy3rSrHnnBkQyKLBj0fcCBJ9ja9gXc5Q=",
+    "version": "1.41.0-beta0"
   },
   "icinga2": {
     "owner": "Icinga",
@@ -593,10 +611,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/kubernetes",
     "repo": "terraform-provider-kubernetes",
-    "rev": "v2.10.0",
-    "sha256": "sha256-pA0yI59iRBmiT3rdvoP4vkSz/+bH29O4eLGPCBjfiZU=",
+    "rev": "v2.11.0",
+    "sha256": "sha256-qrADveCJUvYcseTUmqQzmRKn4Whb/KfJjwz2+6V7yZc=",
     "vendorSha256": null,
-    "version": "2.10.0"
+    "version": "2.11.0"
   },
   "launchdarkly": {
     "owner": "launchdarkly",
@@ -647,10 +665,10 @@
     "owner": "logicmonitor",
     "provider-source-address": "registry.terraform.io/logicmonitor/logicmonitor",
     "repo": "terraform-provider-logicmonitor",
-    "rev": "v2.0.0",
-    "sha256": "sha256-wamP36zV5HZ1qQlNZWIZyAYx/jOiRO1ODQpcd10Sl4w=",
+    "rev": "v2.0.1",
+    "sha256": "sha256-LW88NTWwzGrpOpliVqc1AOjxaZ4p/8gq9twEpjY3FzE=",
     "vendorSha256": null,
-    "version": "2.0.0"
+    "version": "2.0.1"
   },
   "lxd": {
     "owner": "terraform-lxd",
@@ -737,10 +755,10 @@
     "owner": "newrelic",
     "provider-source-address": "registry.terraform.io/newrelic/newrelic",
     "repo": "terraform-provider-newrelic",
-    "rev": "v2.42.1",
-    "sha256": "sha256-3lrO3BOP3X6Pr9wPnWsuQenesRTEDHzlkenIia6YiS8=",
-    "vendorSha256": "sha256-G/GWIE+XeLiHW0xxyjbIpncAnpBmC/+iZnI8MFmi80k=",
-    "version": "2.42.1"
+    "rev": "v2.43.4",
+    "sha256": "sha256-7ckPPU5ieVEZogW7lWd5vMHyXSlTuSqXj1suxKfEyis=",
+    "vendorSha256": "sha256-HhjTcdw8LbwMJ7P5LcZtgtEojLsqnsiBDrRIp62EZhQ=",
+    "version": "2.43.4"
   },
   "nomad": {
     "owner": "hashicorp",
@@ -792,19 +810,19 @@
     "owner": "oracle",
     "provider-source-address": "registry.terraform.io/oracle/oci",
     "repo": "terraform-provider-oci",
-    "rev": "v4.71.0",
-    "sha256": "sha256-8v9zfYlWqeKQlk1hNL7iif/AfEjI5lC0clUwgpA132U=",
+    "rev": "v4.73.0",
+    "sha256": "sha256-duONflOa+ZmWNAOZTcjLJUaeIUSiDR3VC4+SC4UXBBg=",
     "vendorSha256": null,
-    "version": "4.71.0"
+    "version": "4.73.0"
   },
   "okta": {
     "owner": "okta",
     "provider-source-address": "registry.terraform.io/okta/okta",
     "repo": "terraform-provider-okta",
-    "rev": "v3.23.0",
-    "sha256": "sha256-azqWTQA4FW79U+GrdCBO4BWA5c+Cce3ELANS2Os5bSs=",
-    "vendorSha256": "sha256-S4HVfl/PbgpgWFedkWM+EGyYAL5P0cdkLMYL+y+aX8w=",
-    "version": "3.23.0"
+    "rev": "v3.25.1",
+    "sha256": "sha256-+XCpk/vfAD8TWxMdi/WqXxDEh6cEZ684Zr+vkHnNMsI=",
+    "vendorSha256": "sha256-LHiOQNFkMajqytrv387yIhAyCQCaG2Kw5OCI8Xe7u2k=",
+    "version": "3.25.1"
   },
   "oktaasa": {
     "owner": "oktadeveloper",
@@ -846,10 +864,10 @@
     "owner": "opentelekomcloud",
     "provider-source-address": "registry.terraform.io/opentelekomcloud/opentelekomcloud",
     "repo": "terraform-provider-opentelekomcloud",
-    "rev": "v1.29.1",
-    "sha256": "sha256-c7kRS3c+n/5oN3PDKsJzkiK8ravRjBTJHhhqLHy9nhQ=",
-    "vendorSha256": "sha256-kSZvxbovF2/oCqFY/0zpGmAhLFuCw6nWG3B4ppyxzLY=",
-    "version": "1.29.1"
+    "rev": "v1.29.2",
+    "sha256": "sha256-V5EGRd5/JmCDaF1fQkpwHA4DNVFKwvGnMR/AyKvgLtk=",
+    "vendorSha256": "sha256-FOcddb1+uG5avqYZMvzR1UXDvtDDwtxBzf7FsN6ZROM=",
+    "version": "1.29.2"
   },
   "opsgenie": {
     "owner": "opsgenie",
@@ -882,10 +900,10 @@
     "owner": "PagerDuty",
     "provider-source-address": "registry.terraform.io/PagerDuty/pagerduty",
     "repo": "terraform-provider-pagerduty",
-    "rev": "v2.4.0",
-    "sha256": "sha256-pWfpist6nG6lQ1ep+Aje6LQgN/1ab5FtSoJKkoLDxAs=",
+    "rev": "v2.4.1",
+    "sha256": "sha256-2Ot6TxWN+t33EfT5wmkkPjj9DUrPum9whl5wimgjAp0=",
     "vendorSha256": null,
-    "version": "2.4.0"
+    "version": "2.4.1"
   },
   "panos": {
     "owner": "PaloAltoNetworks",
@@ -918,10 +936,10 @@
     "owner": "pan-net",
     "provider-source-address": "registry.terraform.io/pan-net/powerdns",
     "repo": "terraform-provider-powerdns",
-    "rev": "v1.4.1",
-    "sha256": "1v1qs042jpin5454yqbdfp2xsgf68cgwlsqfah5hqy1qnq5zbl3z",
+    "rev": "v1.5.0",
+    "sha256": "sha256-NtJs2oNJbjUYNFsbrfo2RYhqOlKA15GJt9gi1HuTIw0=",
     "vendorSha256": null,
-    "version": "1.4.1"
+    "version": "1.5.0"
   },
   "rabbitmq": {
     "owner": "cyrilgdn",
@@ -945,10 +963,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/random",
     "repo": "terraform-provider-random",
-    "rev": "v3.1.2",
-    "sha256": "sha256-Yk1CPR9gN70E+Qpc20vBQG2MY/RCO5cvaNtD8N++d5A=",
-    "vendorSha256": "sha256-/IjOv7/kQlGuV9+9Vhc7zUrr6hbcoxZyKi+q52YA/kk=",
-    "version": "3.1.2"
+    "rev": "v3.1.3",
+    "sha256": "sha256-q4j3DXbLiVeSyWGywwLiJspmE08ip3zL8vabfVDWnUo=",
+    "vendorSha256": "sha256-sg89QS0ncCrBGoLvsWFlyCYwNZHNG6iadNJIHWRmhXE=",
+    "version": "3.1.3"
   },
   "rundeck": {
     "owner": "rundeck",
@@ -1008,10 +1026,10 @@
     "owner": "splunk-terraform",
     "provider-source-address": "registry.terraform.io/splunk-terraform/signalfx",
     "repo": "terraform-provider-signalfx",
-    "rev": "v6.12.0",
-    "sha256": "sha256-mTPiJc2AbtSAHM5J9Wr9fb/M/GDFMCIHod0DAT9DDvI=",
-    "vendorSha256": "sha256-hI0yz796+xxAFQg+O/2g5ueNx/wrx/40DlQyxtx11aQ=",
-    "version": "6.12.0"
+    "rev": "v6.13.0",
+    "sha256": "sha256-te5+WjbvU7RV22o22iWu8rGEnBfPkZNzkigziOlxMQg=",
+    "vendorSha256": "sha256-yWqUsObvABwmA6V9ecz8SFtk1Bhdq2/dUpnNLKQtuNM=",
+    "version": "6.13.0"
   },
   "skytap": {
     "owner": "skytap",
@@ -1026,10 +1044,10 @@
     "owner": "chanzuckerberg",
     "provider-source-address": "registry.terraform.io/chanzuckerberg/snowflake",
     "repo": "terraform-provider-snowflake",
-    "rev": "v0.31.0",
-    "sha256": "sha256-KYgvtdGkzju1qpECVX5vtY7U8JNa8anSmaTq8PwJEl8=",
+    "rev": "v0.32.0",
+    "sha256": "sha256-Y4apbAQ4Up1VoQxB9w/4EYwhFX9sqYNLLBVxyOqmffE=",
     "vendorSha256": "sha256-l++IzY3/W4qsdFJY7ik0xF6tZWluLb4EcW5KQtBVY5s=",
-    "version": "0.31.0"
+    "version": "0.32.0"
   },
   "sops": {
     "owner": "carlpett",
@@ -1044,10 +1062,10 @@
     "owner": "spotinst",
     "provider-source-address": "registry.terraform.io/spotinst/spotinst",
     "repo": "terraform-provider-spotinst",
-    "rev": "v1.72.0",
-    "sha256": "sha256-h70Tcp+VODMgUDBBcR4Vhqvln76rhwgnfKjIK2+hphw=",
-    "vendorSha256": "sha256-pI9jX/Wp6Nu1ix82ZE2CBZYu0j4S+HH2+dD5G679VrE=",
-    "version": "1.72.0"
+    "rev": "v1.73.2",
+    "sha256": "sha256-Q5DNFJ1g6jfHQVYF5Xf5Phx/4b2nbUvE651JNp/zgJg=",
+    "vendorSha256": "sha256-szdzI/42RExYQlHnm178RM3wlKOLax+nwgRVzonxXoI=",
+    "version": "1.73.2"
   },
   "stackpath": {
     "owner": "stackpath",
@@ -1062,10 +1080,10 @@
     "owner": "StatusCakeDev",
     "provider-source-address": "registry.terraform.io/StatusCakeDev/statuscake",
     "repo": "terraform-provider-statuscake",
-    "rev": "v2.0.1-pre",
-    "sha256": "sha256-/SWmGy6kMAt4TAswlpmfs4rVAa/DZBFoE1Yv+EcWfGo=",
-    "vendorSha256": "sha256-sFKhbOsE2eQ4Qxfbtab19nZRIKhJXNdsg274tWRjoVg=",
-    "version": "2.0.1-pre"
+    "rev": "v2.0.2-pre",
+    "sha256": "sha256-a8F6jDSYDal6U0Uu/iXprUb2lrwwUMOOkIZDftIiaLI=",
+    "vendorSha256": "sha256-E6DvzloOaamSX3jLKUQQmIccGiI6sFo4oNwU86td05E=",
+    "version": "2.0.2-pre"
   },
   "sumologic": {
     "owner": "SumoLogic",
@@ -1089,19 +1107,19 @@
     "owner": "tencentcloudstack",
     "provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.69.0",
-    "sha256": "sha256-GArlBMlQdEjITqvAAcnhurJtYjs03U8pAzcdbuXzbss=",
+    "rev": "v1.71.0",
+    "sha256": "sha256-syj6fOBmErKsPQXYQ0U9bFC3butI06FJVLkD6RvWbFE=",
     "vendorSha256": null,
-    "version": "1.69.0"
+    "version": "1.71.0"
   },
   "tfe": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/tfe",
     "repo": "terraform-provider-tfe",
-    "rev": "v0.30.2",
-    "sha256": "sha256-qJGHOZdnigflapWHhmvALNMzqDxJ4RSAgGFzm+3z7GA=",
+    "rev": "v0.31.0",
+    "sha256": "sha256-BvA+1oCh8xB0XcXMGOmAEdi/lEwGdRed5vDEDVBUMhE=",
     "vendorSha256": "sha256-7TFfIk+aPbl3CLuNdeJg1O2n3WlCuG5tsayCtbo77I0=",
-    "version": "0.30.2"
+    "version": "0.31.0"
   },
   "thunder": {
     "owner": "a10networks",
@@ -1162,19 +1180,19 @@
     "owner": "cloudposse",
     "provider-source-address": "registry.terraform.io/cloudposse/utils",
     "repo": "terraform-provider-utils",
-    "rev": "0.17.20",
-    "sha256": "sha256-+pk2cUmYzQsa40iMvbdkYmZtoXOb5ALU/p0EEZx2AIw=",
-    "vendorSha256": "sha256-cb8Hqe3lGfjNpGmhrJ64x6w/iFW22Ma4AJo2w29kjR0=",
-    "version": "0.17.20"
+    "rev": "0.17.23",
+    "sha256": "sha256-/m2K91I1BtzfKTO6sbYL6r0N6GGtd4Ux+GSL0Ut4GUg=",
+    "vendorSha256": "sha256-Rmv3B8Sczvohlfwu248a1pi1VmFGNCB77/IFTBKKeiM=",
+    "version": "0.17.23"
   },
   "vault": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/vault",
     "repo": "terraform-provider-vault",
-    "rev": "v3.4.1",
-    "sha256": "sha256-xG16n25upU9giQ76FEx6as2GvyhAk6kZixmJCJFti2s=",
-    "vendorSha256": "sha256-JiNYM8P6ExGVVOVBYA2WJSZOpZ0PAyoncENqYRXPo7c=",
-    "version": "3.4.1"
+    "rev": "v3.5.0",
+    "sha256": "sha256-Ap96unJFTJ8HKcIs3LYSHfTXszh1gAcZSTEWpS2W2AQ=",
+    "vendorSha256": "sha256-UvczG/31YPIxPBZhwoBC3QS+QA8PRtRqgA/0W8tcXD0=",
+    "version": "3.5.0"
   },
   "vcd": {
     "owner": "vmware",
@@ -1252,9 +1270,9 @@
     "owner": "yandex-cloud",
     "provider-source-address": "registry.terraform.io/yandex-cloud/yandex",
     "repo": "terraform-provider-yandex",
-    "rev": "v0.73.0",
-    "sha256": "sha256-nhmy/DlO8JCjPRnm/o9R/+qq8k5kjEuNgYrGAdZWnVI=",
-    "vendorSha256": "sha256-GyLvc6mDA6F2xkT0bP3zjTWFmrOWodLCB4apYsBE95Q=",
-    "version": "0.73.0"
+    "rev": "v0.74.0",
+    "sha256": "sha256-TeApvGYWBlCzxE7/t6cbb47L1oGUfx2B/cEW8UQieoU=",
+    "vendorSha256": "sha256-n1qcrvBKftKYm7nlTCeAOU/Q40xMpVlyKUKxR7wgPu4=",
+    "version": "0.74.0"
   }
 }
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index 9d6e91fd0a6..6ff362bb0e0 100644
--- a/pkgs/applications/networking/cluster/werf/default.nix
+++ b/pkgs/applications/networking/cluster/werf/default.nix
@@ -12,15 +12,15 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "1.2.87";
+  version = "1.2.91";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    sha256 = "sha256-DMP//gh79WuQ8VY4sV6lQlwR+k+rwqODf/pagOBP+4U=";
+    sha256 = "sha256-ZafIG4D5TvAbXbo07gFajt8orTsju1GfF9a1OR0t1Oo=";
   };
-  vendorSha256 = "sha256-OrvGDNj48W1tVAs3tdtAuesHnh8fHRsGd6KL0Uaf9Zg=";
+  vendorSha256 = "sha256-U4eVQR/ExAENOg2XEYM+mFXANk+basdMLEcqSHuTsh4=";
   proxyVendor = true;
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
diff --git a/pkgs/applications/networking/firewalld/default.nix b/pkgs/applications/networking/firewalld/default.nix
new file mode 100644
index 00000000000..b937c35a3f9
--- /dev/null
+++ b/pkgs/applications/networking/firewalld/default.nix
@@ -0,0 +1,104 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, bash
+, docbook_xml_dtd_42
+, docbook-xsl-nons
+, glib
+, gobject-introspection
+, gtk3
+, intltool
+, libnotify
+, libxml2
+, libxslt
+, networkmanagerapplet
+, pkg-config
+, python3
+, wrapGAppsNoGuiHook
+, withGui ? false
+}:
+
+let
+  pythonPath = python3.withPackages (ps: with ps; [
+    dbus-python
+    nftables
+    pygobject3
+  ] ++ lib.optionals withGui [
+    pyqt5
+    pyqt5_sip
+  ]);
+in
+stdenv.mkDerivation rec {
+  pname = "firewalld";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "firewalld";
+    repo = "firewalld";
+    rev = "v${version}";
+    sha256 = "sha256-w8TbovIhOhJAUZWbKdBd/+db8Hro/ttlxWZDcrCXX4Q=";
+  };
+
+  patches = [
+    ./respect-xml-catalog-files-var.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace src/firewall/config/__init__.py.in \
+      --replace "/usr/share" "$out/share"
+
+    for file in config/firewall-{applet,config}.desktop.in; do
+      substituteInPlace $file \
+        --replace "/usr/bin/" "$out/bin/"
+    done
+  '' + lib.optionalString withGui ''
+    substituteInPlace src/firewall-applet.in \
+      --replace "/usr/bin/nm-connection-editor" "${networkmanagerapplet}/bin/nm-conenction-editor"
+  '';
+
+  nativeBuildInputs = [
+    autoreconfHook
+    docbook_xml_dtd_42
+    docbook-xsl-nons
+    glib
+    intltool
+    libxml2
+    libxslt
+    pkg-config
+    python3
+    python3.pkgs.wrapPython
+  ] ++ lib.optionals withGui [
+    gobject-introspection
+    wrapGAppsNoGuiHook
+  ];
+
+  buildInputs = [
+    bash
+    glib
+  ] ++ lib.optionals withGui [
+    gtk3
+    libnotify
+    pythonPath
+  ];
+
+  dontWrapGApps = true;
+
+  preFixup = lib.optionalString withGui ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
+  postFixup = ''
+    chmod +x $out/share/firewalld/*.py $out/share/firewalld/testsuite/python/*.py $out/share/firewalld/testsuite/{,integration/}testsuite
+    patchShebangs --host $out/share/firewalld/testsuite/{,integration/}testsuite $out/share/firewalld/*.py
+    wrapPythonProgramsIn "$out/bin" "$out ${pythonPath}"
+    wrapPythonProgramsIn "$out/share/firewalld/testsuite/python" "$out ${pythonPath}"
+  '';
+
+  meta = with lib; {
+    description = "Firewall daemon with D-Bus interface";
+    homepage = "https://github.com/firewalld/firewalld";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/applications/networking/firewalld/respect-xml-catalog-files-var.patch b/pkgs/applications/networking/firewalld/respect-xml-catalog-files-var.patch
new file mode 100644
index 00000000000..03a10121c6b
--- /dev/null
+++ b/pkgs/applications/networking/firewalld/respect-xml-catalog-files-var.patch
@@ -0,0 +1,13 @@
+--- a/m4/jh_path_xml_catalog.m4
++++ b/m4/jh_path_xml_catalog.m4
+@@ -40,8 +40,8 @@ AC_DEFUN([JH_CHECK_XML_CATALOG],
+ [
+   AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
+   AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
+-  if $jh_found_xmlcatalog && \
+-     AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
++  # empty argument forces libxml to use XML_CATALOG_FILES variable
++  if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then
+     AC_MSG_RESULT([found])
+     ifelse([$3],,,[$3
+ ])dnl
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index ad18f4e1e61..8421a077d00 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -21,7 +21,7 @@ python3Packages.buildPythonApplication rec {
     ln -sf requirements.in requirements.txt
 
     # remove dependency constraints
-    sed 's/[>=]=.*//' -i requirements.txt
+    sed 's/[~<>=].*//' -i requirements.txt
 
     # "zxcvbn-python" was renamed to "zxcvbn", and we don't have the former in
     # nixpkgs. See: https://github.com/NixOS/nixpkgs/issues/62110
@@ -35,6 +35,8 @@ python3Packages.buildPythonApplication rec {
     # See https://github.com/Flexget/Flexget/blob/master/requirements.in
     APScheduler
     beautifulsoup4
+    click
+    colorama
     feedparser
     guessit
     html5lib
@@ -62,6 +64,7 @@ python3Packages.buildPythonApplication rec {
     flask-restx
     flask
     pyparsing
+    werkzeug
     zxcvbn
 
     # Plugins requirements
diff --git a/pkgs/applications/networking/gmailctl/default.nix b/pkgs/applications/networking/gmailctl/default.nix
index 9fc1e25a92d..e1ce1914db9 100644
--- a/pkgs/applications/networking/gmailctl/default.nix
+++ b/pkgs/applications/networking/gmailctl/default.nix
@@ -6,18 +6,16 @@
 
 buildGoModule rec {
   pname = "gmailctl";
-  # on an unstable version because of https://github.com/mbrt/gmailctl/issues/232
-  # and https://github.com/mbrt/gmailctl/commit/484bb689866987580e0576165180ef06375a543f
-  version = "unstable-2022-03-24";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "mbrt";
     repo = "gmailctl";
-    rev = "484bb689866987580e0576165180ef06375a543f";
-    sha256 = "sha256-hIoS64QEDJ1qq3KJ2H8HjgQl8SxuIo+xz7Ot8CdjjQA=";
+    rev = "v${version}";
+    sha256 = "sha256-tj+jKJuKwuqic/qfaUbf+Tao1X2FW0VVoGwqyx3q+go=";
   };
 
-  vendorSha256 = "sha256-KWM20a38jZ3/a45313kxY2LaCQyiNMEdfdIV78phrBo=";
+  vendorSha256 = "sha256-aBw9C488a3Wxde3QCCU0eiagiRYOS9mkjcCsB2Mrdr0=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix
index 5bb125c1007..7f6ff3be034 100644
--- a/pkgs/applications/networking/gns3/default.nix
+++ b/pkgs/applications/networking/gns3/default.nix
@@ -1,7 +1,9 @@
-{ callPackage, libsForQt5 }:
+{ callPackage
+, libsForQt5
+}:
 
 let
-  stableVersion = "2.2.29";
+  stableVersion = "2.2.31";
   previewVersion = stableVersion;
   addVersion = args:
     let version = if args.stable then stableVersion else previewVersion;
@@ -18,16 +20,13 @@ let
         });
       };
     commonOverrides = [
-      (mkOverride "psutil" "5.8.0"
-        "sha256-DJzLmat2Al8vC77PNB1GVunBNR24zIoDzNYuMYq0tcY=")
-      (mkOverride "jsonschema" "3.2.0"
-        "0ykr61yiiizgvm3bzipa3l73rvj49wmrybbfwhvpgk3pscl5pa68")
+      (mkOverride "jsonschema" "3.2.0" "0ykr61yiiizgvm3bzipa3l73rvj49wmrybbfwhvpgk3pscl5pa68")
     ];
   };
   mkGui = args: libsForQt5.callPackage (import ./gui.nix (addVersion args // extraArgs)) { };
   mkServer = args: callPackage (import ./server.nix (addVersion args // extraArgs)) { };
-  guiSrcHash = "04yqh0kq5pkmadcxf090ilh9sqqxajcg65nf7ai1iikxi3x7z3r8";
-  serverSrcHash = "0p6q421rldmyqi0padssgrssf4d9mb5ifiqjm5y8vfhwfl5a2cqk";
+  guiSrcHash = "sha256-o9j/avuapiUKIDO6aO/uWFF/5gu+xdfhL7ZSDSaQ858=";
+  serverSrcHash = "sha256-8r8nWNqbHUDtJ6x+/SxHxaw1isSuWF/5as3YXLB6LFw=";
 in {
   guiStable = mkGui {
     stable = true;
diff --git a/pkgs/applications/networking/gns3/gui.nix b/pkgs/applications/networking/gns3/gui.nix
index 95ec995cbfd..8d1ab4e590c 100644
--- a/pkgs/applications/networking/gns3/gui.nix
+++ b/pkgs/applications/networking/gns3/gui.nix
@@ -1,6 +1,16 @@
-{ stable, branch, version, sha256Hash, mkOverride, commonOverrides }:
+{ stable
+, branch
+, version
+, sha256Hash
+, mkOverride
+, commonOverrides
+}:
 
-{ lib, python3, fetchFromGitHub, wrapQtAppsHook }:
+{ lib
+, python3
+, fetchFromGitHub
+, wrapQtAppsHook
+}:
 
 let
   defaultOverrides = commonOverrides ++ [
@@ -34,21 +44,33 @@ in python.pkgs.buildPythonPackage rec {
     sha256 = sha256Hash;
   };
 
-  nativeBuildInputs = [ wrapQtAppsHook ];
+  nativeBuildInputs = [
+    wrapQtAppsHook
+  ];
+
   propagatedBuildInputs = with python.pkgs; [
-    sentry-sdk psutil jsonschema # tox for check
-    # Runtime dependencies
-    sip_4 (pyqt5.override { withWebSockets = true; }) distro setuptools
+    distro
+    jsonschema
+    psutil
+    sentry-sdk
+    setuptools
+    sip_4 (pyqt5.override { withWebSockets = true; })
   ];
 
   doCheck = false; # Failing
+
   dontWrapQtApps = true;
+
   postFixup = ''
       wrapQtApp "$out/bin/gns3"
   '';
+
   postPatch = ''
     substituteInPlace requirements.txt \
-      --replace "sentry-sdk==1.3.1" "sentry-sdk>=1.3.1" \
+      --replace "sentry-sdk==" "sentry-sdk>=" \
+      --replace "psutil==" "psutil>=" \
+      --replace "distro==" "distro>=" \
+      --replace "setuptools==" "setuptools>="
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix
index 818c01a89ab..50a2453b040 100644
--- a/pkgs/applications/networking/gns3/server.nix
+++ b/pkgs/applications/networking/gns3/server.nix
@@ -1,23 +1,20 @@
-{ stable, branch, version, sha256Hash, mkOverride, commonOverrides }:
+{ stable
+, branch
+, version
+, sha256Hash
+, mkOverride
+, commonOverrides
+}:
 
-{ lib, python3, fetchFromGitHub, packageOverrides ? self: super: {}
- }:
+{ lib
+, python3
+, fetchFromGitHub
+, packageOverrides ? self: super: {}
+}:
 
 let
   defaultOverrides = commonOverrides ++ [
     (self: super: {
-      aiofiles = super.aiofiles.overridePythonAttrs (oldAttrs: rec {
-        pname = "aiofiles";
-        version = "0.7.0";
-        src = fetchFromGitHub {
-          owner = "Tinche";
-          repo = pname;
-          rev = "v${version}";
-          sha256 = "sha256-njQ7eRYJO+dUrwO5pZwKHXn9nVSGYcEhwhs3x5BMc28=";
-        };
-        doCheck = false;
-      });
-
       jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec {
         version = "3.2.0";
 
@@ -51,16 +48,33 @@ in python.pkgs.buildPythonApplication {
 
   postPatch = ''
     substituteInPlace requirements.txt \
-      --replace "aiohttp==3.7.4" "aiohttp>=3.7.4" \
-      --replace "Jinja2==3.0.1" "Jinja2>=3.0.1" \
-      --replace "sentry-sdk==1.3.1" "sentry-sdk>=1.3.1" \
-      --replace "async-timeout==3.0.1" "async-timeout>=3.0.1" \
+      --replace "aiohttp==" "aiohttp>=" \
+      --replace "aiofiles==" "aiofiles>=" \
+      --replace "Jinja2==" "Jinja2>=" \
+      --replace "sentry-sdk==" "sentry-sdk>=" \
+      --replace "async-timeout==" "async-timeout>=" \
+      --replace "psutil==" "psutil>=" \
+      --replace "distro==" "distro>=" \
+      --replace "py-cpuinfo==" "py-cpuinfo>=" \
+      --replace "setuptools==" "setuptools>="
   '';
 
   propagatedBuildInputs = with python.pkgs; [
-    aiohttp-cors yarl aiohttp multidict setuptools
-    jinja2 psutil zipstream sentry-sdk jsonschema distro async_generator aiofiles
-    prompt-toolkit py-cpuinfo
+    aiofiles
+    aiohttp
+    aiohttp-cors
+    async_generator
+    distro
+    jinja2
+    jsonschema
+    multidict
+    prompt-toolkit
+    psutil
+    py-cpuinfo
+    sentry-sdk
+    setuptools
+    yarl
+    zipstream
   ];
 
   # Requires network access
diff --git a/pkgs/applications/networking/ids/zeek/default.nix b/pkgs/applications/networking/ids/zeek/default.nix
index e91b517e815..adbda434b42 100644
--- a/pkgs/applications/networking/ids/zeek/default.nix
+++ b/pkgs/applications/networking/ids/zeek/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "zeek";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "https://download.zeek.org/zeek-${version}.tar.gz";
-    sha256 = "sha256-jZoCjKn+x61KnkinY+KWBSOEz0AupM03FXe/8YPCdFE=";
+    sha256 = "sha256-axNImzBJTHxd2kU/xQmB5ZQ9ZxW2ybW3qFq7gLvm0RY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/alfaview/default.nix b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
index a810dbdc3a1..eae63701d4d 100644
--- a/pkgs/applications/networking/instant-messengers/alfaview/default.nix
+++ b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alfaview";
-  version = "8.41.0";
+  version = "8.42.0";
 
   src = fetchurl {
     url = "https://production-alfaview-assets.alfaview.com/stable/linux/${pname}_${version}.deb";
-    sha256 = "sha256-qW+MB71sylKJQycSX6hiBgxAO4MuhnBaPGFjm+6y4vk=";
+    sha256 = "sha256-O440sk6OJUsO+5TuzLxkUELnCfxKd5byoxSD+Rs4h1c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
index ad57e2c6623..c902a7e67c5 100644
--- a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
@@ -44,11 +44,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "bluejeans";
-  version = "2.26.0.136";
+  version = "2.27.0.130";
 
   src = fetchurl {
     url = "https://swdl.bluejeans.com/desktop-app/linux/${getFirst 3 version}/BlueJeans_${version}.rpm";
-    sha256 = "sha256-9QiE7CjCepDXQCzduqGzNUGqUgYS+PWBS71ouzHa83o=";
+    sha256 = "sha256-J0BGL03k1NAJLLEUOfvKjZEsBlupeHJR2Bp3c0ANBwg=";
   };
 
   nativeBuildInputs = [ rpmextract makeWrapper ];
diff --git a/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix b/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix
new file mode 100644
index 00000000000..aa0a8f7bfc4
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix
@@ -0,0 +1,50 @@
+{ lib
+, fetchurl
+, appimageTools
+, gtk3
+, gsettings-desktop-schemas
+, xorg
+, pname
+, version
+, sha256
+, metaCommon ? { }
+}:
+
+let
+  name = "${pname}-${version}";
+  src = fetchurl {
+    url = "https://github.com/sindresorhus/caprine/releases/download/v${version}/Caprine-${version}.AppImage";
+    name = "Caprine-${version}.AppImage";
+    inherit sha256;
+  };
+  extracted = appimageTools.extractType2 { inherit name src; };
+in
+(appimageTools.wrapType2 {
+  inherit name src;
+
+  profile = ''
+    export LC_ALL=C.UTF-8
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+  '';
+
+  extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs;
+
+  extraInstallCommands = ''
+    mv $out/bin/{${name},caprine}
+
+    mkdir -p $out/share
+    "${xorg.lndir}/bin/lndir" -silent "${extracted}/usr/share" "$out/share"
+    ln -s ${extracted}/caprine.png $out/share/icons/caprine.png
+    mkdir $out/share/applications
+    cp ${extracted}/caprine.desktop $out/share/applications/
+    substituteInPlace $out/share/applications/caprine.desktop \
+        --replace AppRun caprine
+  '';
+
+  meta = metaCommon // {
+    platforms = [ "x86_64-linux" ];
+    mainProgram = "caprine";
+  };
+}) // {
+  inherit pname version;
+}
diff --git a/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-dmg.nix b/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-dmg.nix
new file mode 100644
index 00000000000..3dc457c4882
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-dmg.nix
@@ -0,0 +1,35 @@
+{ stdenvNoCC
+, lib
+, fetchurl
+, undmg
+, pname
+, version
+, sha256
+, metaCommon ? { }
+}:
+
+stdenvNoCC.mkDerivation {
+  inherit pname version;
+
+  src = fetchurl {
+    url = "https://github.com/sindresorhus/caprine/releases/download/v${version}/Caprine-${version}.dmg";
+    name = "Caprine-${version}.dmg";
+    inherit sha256;
+  };
+
+  sourceRoot = "Caprine.app";
+
+  nativeBuildInputs = [ undmg ];
+
+  installPhase = ''
+    mkdir -p "$out/Applications/Caprine.app"
+    cp -R . "$out/Applications/Caprine.app"
+    mkdir "$out/bin"
+    ln -s "$out/Applications/Caprine.app/Contents/MacOS/Caprine" "$out/bin/caprine"
+  '';
+
+  meta = metaCommon // {
+    platforms = with lib.platforms; darwin;
+    mainProgram = "caprine";
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/caprine-bin/default.nix b/pkgs/applications/networking/instant-messengers/caprine-bin/default.nix
new file mode 100644
index 00000000000..04e0e91ddc2
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/caprine-bin/default.nix
@@ -0,0 +1,25 @@
+{ lib, callPackage, stdenvNoCC }:
+let
+  pname = "caprine";
+  version = "2.55.4";
+  metaCommon = with lib; {
+    description = "An elegant Facebook Messenger desktop app";
+    homepage = "https://sindresorhus.com/caprine";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ShamrockLee ];
+  };
+  x86_64-appimage = callPackage ./build-from-appimage.nix {
+    inherit pname version metaCommon;
+    sha256 = "221PyDoCkWqDdewCkFycpjMTcVOcl58blCjrC7O7xyk=";
+  };
+  x86_64-dmg = callPackage ./build-from-dmg.nix {
+    inherit pname version metaCommon;
+    sha256 = "6SOqlH7Z9DuQVR4i1OltnSb4dJscFUxaXxgNkE5FVUE=";
+  };
+in
+(if stdenvNoCC.isDarwin then x86_64-dmg else x86_64-appimage).overrideAttrs (oldAttrs: {
+  passthru = (oldAttrs.passthru or { }) // { inherit x86_64-appimage x86_64-dmg; };
+  meta = oldAttrs.meta // {
+    platforms = x86_64-appimage.meta.platforms ++ x86_64-dmg.meta.platforms;
+  };
+})
diff --git a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
index 266f3958adf..009ece90b4c 100644
--- a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
@@ -31,6 +31,7 @@ let
       name = "${old.pname}-${version}";
       hash = "sha256-sBFXcLXpAkX+HzRKrLKaHhi5ieS8Yc/Uf30WcXyWrok=";
     };
+    patches = [ ./libdeltachat-darwin-dylib.patch ] ++ old.patches;
   });
   electronExec = if stdenv.isDarwin then
     "${electron_16}/Applications/Electron.app/Contents/MacOS/Electron"
diff --git a/pkgs/development/libraries/libdeltachat/darwin-dylib.patch b/pkgs/applications/networking/instant-messengers/deltachat-desktop/libdeltachat-darwin-dylib.patch
index caa44a62a06..caa44a62a06 100644
--- a/pkgs/development/libraries/libdeltachat/darwin-dylib.patch
+++ b/pkgs/applications/networking/instant-messengers/deltachat-desktop/libdeltachat-darwin-dylib.patch
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
index 960336d50a5..a244a2ab2a7 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "element-desktop",
   "productName": "Element",
   "main": "lib/electron-main.js",
-  "version": "1.10.10",
+  "version": "1.10.11",
   "description": "A feature-rich client for Matrix.org",
   "author": "Element",
   "repository": {
@@ -89,6 +89,7 @@
   },
   "build": {
     "appId": "im.riot.app",
+    "asarUnpack": "**/*.node",
     "files": [
       "package.json",
       {
diff --git a/pkgs/applications/networking/instant-messengers/element/pin.json b/pkgs/applications/networking/instant-messengers/element/pin.json
index 1b42ed12f34..70b5f7f65ef 100644
--- a/pkgs/applications/networking/instant-messengers/element/pin.json
+++ b/pkgs/applications/networking/instant-messengers/element/pin.json
@@ -1,6 +1,6 @@
 {
-  "version": "1.10.10",
-  "desktopSrcHash": "Atgcu+K28pScYokS/lTu+/mMeEC+1yTcn3Akq+KZJNY=",
+  "version": "1.10.11",
+  "desktopSrcHash": "n74KFmHI6ZQWBEJCR55VZHS//myh2RePcJRVOmZ6XHo=",
   "desktopYarnHash": "0jm0i1yyfkg1ll11pb3qif1vdxx6rp0yl9kd8jg9nhsg2jzw66pr",
-  "webHash": "1xp0rhw3k2znwvqqikhd771l2n6xyx8npcz87m9d4cisl82lpnr0"
+  "webHash": "02m64bhg1ls4a5igmizkkxnqfmbfhs0xy24ycr75vxmn0zmwa3yd"
 }
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index 3c56d84db4b..118a35381a6 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -63,7 +63,7 @@ python3.pkgs.buildPythonApplication rec {
   '';
 
   propagatedBuildInputs = with python3.pkgs; [
-    nbxmpp pygobject3 dbus-python pillow css-parser precis-i18n keyring setuptools
+    nbxmpp pygobject3 dbus-python pillow css-parser precis-i18n keyring setuptools packaging
   ] ++ lib.optionals enableE2E [ pycrypto python-gnupg ]
     ++ lib.optional enableRST docutils
     ++ lib.optionals enableOmemoPluginDependencies [ python-axolotl qrcode ]
diff --git a/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix b/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
index 2395a196f60..9625f8dcb2c 100644
--- a/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jitsi-meet-electron";
-  version = "2022.1.1";
+  version = "2022.3.1";
 
   src = fetchurl {
     url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
-    sha256 = "0x3fdqgjnsd570b7nszfx3h8l5c8x2kg32ig85n2a2g481c7xi6l";
+    sha256 = "sha256-/5WpjmTLwQN73m7nHg4DKPbXIbD9WyJ+YBbFMD4ZDfg=";
     name = "${pname}-${version}.AppImage";
   };
 
@@ -46,7 +46,8 @@ stdenv.mkDerivation rec {
   postFixup = ''
     makeWrapper ${electron}/bin/electron $out/bin/${pname} \
       --add-flags $out/share/${pname}/resources/app.asar \
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc xorg.libXtst pipewire ]}"
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc xorg.libXtst pipewire ]}" \
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/linphone/default.nix b/pkgs/applications/networking/instant-messengers/linphone/default.nix
index 47ee2a68a51..3b11f7fc1a8 100644
--- a/pkgs/applications/networking/instant-messengers/linphone/default.nix
+++ b/pkgs/applications/networking/instant-messengers/linphone/default.nix
@@ -13,7 +13,6 @@
 , ffmpeg
 , gdk-pixbuf
 , glib
-, gnused
 , graphviz
 , gtk2
 , intltool
@@ -49,9 +48,25 @@
 , zlib
 }:
 
+# How to update Linphone? (The Qt desktop app)
+#
+# Belledonne Communications (BC), the company making Linphone, has split the
+# project into several sub-projects that they maintain, plus some third-party
+# dependencies that they also extend with commits of their own, specific to
+# Linphone and not (yet?) upstreamed.
+#
+# All of this is organised in a Software Development Kit (SDK) meta-repository
+# with git submodules to pin all those repositories into a coherent whole.
+#
+# The Linphone Qt desktop app uses this SDK as submodule as well.
+#
+# So, in order to update the desktop app to a new release, one has to follow
+# the submodule chain and update the corresponding derivations here, in nixpkgs,
+# with the corresponding version number (or commit hash)
+
 mkDerivation rec {
   pname = "linphone-desktop";
-  version = "4.2.5";
+  version = "4.4.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -59,12 +74,13 @@ mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "1gq4l9p21rbrcksa7fbkzn9fzbbynqmn6ni6lhnvzk359sb1xvbz";
+    sha256 = "sha256-BBOTyKMZikkxMJSmzAuChVHpVeCvbAimn1K3REGbqEg=";
   };
 
   patches = [
     ./do-not-build-linphone-sdk.patch
     ./remove-bc_compute_full_version-usage.patch
+    ./no-store-path-in-autostart.patch
   ];
 
   # See: https://gitlab.linphone.org/BC/public/linphone-desktop/issues/21
@@ -78,12 +94,21 @@ mkDerivation rec {
   # there might be some build inputs here that aren't needed for
   # linphone-desktop.
   buildInputs = [
+    # Made by BC
     bcg729
     bctoolbox
     belcard
     belle-sip
     belr
     bzrtp
+    liblinphone
+    mediastreamer
+    mediastreamer-openh264
+    ortp
+
+    # Vendored by BC but we use upstream, might cause problems
+    libmatroska
+
     cairo
     cyrus_sasl
     ffmpeg
@@ -92,19 +117,14 @@ mkDerivation rec {
     gtk2
     libX11
     libexosip
-    liblinphone
-    libmatroska
     libnotify
     libosip
     libsoup
     libupnp
     libxml2
     mbedtls
-    mediastreamer
-    mediastreamer-openh264
     minizip2
     openldap
-    ortp
     pango
     qtbase
     qtgraphicaleffects
@@ -118,9 +138,10 @@ mkDerivation rec {
   ];
 
   nativeBuildInputs = [
+    # Made by BC
     bcunit
+
     cmake
-    gnused
     graphviz
     intltool
     makeWrapper
@@ -128,7 +149,6 @@ mkDerivation rec {
   ];
 
   cmakeFlags = [
-    "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
     "-DMINIZIP_INCLUDE_DIRS=${minizip2}/include"
     "-DMINIZIP_LIBRARIES=minizip"
   ];
@@ -162,18 +182,25 @@ mkDerivation rec {
   # Linphone will randomly crash when it tries to access those files. Then,
   # those just need to be copied manually below.
   installPhase = ''
-    mkdir -p $out/bin
+    mkdir -p $out/bin $out/lib
     cp linphone-app/linphone $out/bin/
+    cp linphone-app/libapp-plugin.so $out/lib/
+    mkdir -p $out/lib/mediastreamer/plugins
+    ln -s ${mediastreamer-openh264}/lib/mediastreamer/plugins/* $out/lib/mediastreamer/plugins/
+    ln -s ${mediastreamer}/lib/mediastreamer/plugins/* $out/lib/mediastreamer/plugins/
     wrapProgram $out/bin/linphone \
       --set MEDIASTREAMER_PLUGINS_DIR \
-            ${mediastreamer-openh264}/lib/mediastreamer/plugins
+            $out/lib/mediastreamer/plugins
     mkdir -p $out/share/applications
     cp linphone-app/linphone.desktop $out/share/applications/
-    cp -r ../linphone-app/assets/icons $out/share/
+    mkdir -p $out/share/icons/hicolor/scalable/apps
+    cp ../linphone-app/assets/images/linphone_logo.svg $out/share/icons/hicolor/scalable/apps/linphone.svg
     mkdir -p $out/share/belr/grammars
     ln -s ${liblinphone}/share/belr/grammars/* $out/share/belr/grammars/
+    ln -s ${belle-sip}/share/belr/grammars/* $out/share/belr/grammars/
     mkdir -p $out/share/linphone
     ln -s ${liblinphone}/share/linphone/* $out/share/linphone/
+    ln -s ${liblinphone}/share/sounds $out/share/sounds
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/linphone/do-not-build-linphone-sdk.patch b/pkgs/applications/networking/instant-messengers/linphone/do-not-build-linphone-sdk.patch
index fe774a479fa..dc635b32a03 100644
--- a/pkgs/applications/networking/instant-messengers/linphone/do-not-build-linphone-sdk.patch
+++ b/pkgs/applications/networking/instant-messengers/linphone/do-not-build-linphone-sdk.patch
@@ -1,30 +1,31 @@
-From 08b8b1811a1ad079fa713d19a8cc6bf2dc782bb7 Mon Sep 17 00:00:00 2001
-From: David P <megver83@parabola.nu>
-Date: Thu, 26 Nov 2020 15:56:30 -0300
-Subject: [PATCH 1/2] do not build linphone-sdk
+From e6a9992461f368d08d1ad63ffe454714ec0c59ce Mon Sep 17 00:00:00 2001
+From: Lorenz Brun <lorenz@brun.one>
+Date: Fri, 28 Jan 2022 02:36:01 +0100
+Subject: [PATCH] Remove Linphone SDK build
 
-Signed-off-by: David P <megver83@parabola.nu>
 ---
- CMakeLists.txt                                | 61 +------------------
- .../cmake_builder/additional_steps.cmake      |  9 ---
- 2 files changed, 3 insertions(+), 67 deletions(-)
+ CMakeLists.txt                                | 86 ++-----------------
+ .../cmake_builder/additional_steps.cmake      |  9 --
+ 2 files changed, 5 insertions(+), 90 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f7eb05f2..5921ee5b 100644
+index 2002b925..6d92a8e5 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -118,7 +118,6 @@ list(APPEND APP_OPTIONS "-DENABLE_RELATIVE_PREFIX=${ENABLE_RELATIVE_PREFIX}")
- 
+@@ -152,7 +152,6 @@ list(APPEND APP_OPTIONS "-DENABLE_RELATIVE_PREFIX=${ENABLE_RELATIVE_PREFIX}")
  list(APPEND APP_OPTIONS "-DLINPHONE_OUTPUT_DIR=${LINPHONE_OUTPUT_DIR}")
+ list(APPEND APP_OPTIONS "-DENABLE_QT_GL=${ENABLE_VIDEO}")#Activate on video
  
 -include(ExternalProject)
  set(PROJECT_BUILD_COMMAND "")
  if(CMAKE_BUILD_PARALLEL_LEVEL)
  	list(APPEND APP_OPTIONS "-DCMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL}")
-@@ -136,29 +135,8 @@ if(UNIX AND NOT APPLE)
- 	set(CMAKE_INSTALL_RPATH "$ORIGIN:$ORIGIN/lib64:$ORIGIN/../lib64:$ORIGIN/lib:$ORIGIN/../lib:${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}")
- 	list(APPEND APP_OPTIONS "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}")
+@@ -190,30 +189,8 @@ if(ENABLE_BUILD_APP_PLUGINS)
+ 	endif()
  endif()
+ 
+-
+-if(NOT LINPHONE_QT_ONLY)
 -ExternalProject_Add(sdk PREFIX "${CMAKE_BINARY_DIR}/sdk"
 -    SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-sdk"
 -    INSTALL_DIR "${LINPHONE_OUTPUT_DIR}"
@@ -35,7 +36,7 @@ index f7eb05f2..5921ee5b 100644
 -    INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
 -    LIST_SEPARATOR | # Use the alternate list separator
 -    CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
--    #BUILD_ALWAYS NO #${DO_BUILD}
+-    BUILD_ALWAYS NO #${DO_BUILD}
 -)
 -ExternalProject_Add_Step(sdk force_build
 -	COMMENT "Forcing build for 'desktop'"
@@ -43,18 +44,17 @@ index f7eb05f2..5921ee5b 100644
 -	DEPENDERS build
 -	ALWAYS 1
 -)
+-endif()
  include(FindPkgConfig)
  
 -set(APP_DEPENDS sdk)
--
--
- find_package(Qt5 5.12 COMPONENTS Core REQUIRED)
+ find_package(Qt5 5.10 COMPONENTS Core REQUIRED)
  
  if ( NOT Qt5_FOUND )
-@@ -173,39 +151,6 @@ find_package(Mediastreamer2 CONFIG QUIET)
+@@ -227,62 +204,9 @@ find_package(belcard CONFIG QUIET)
+ find_package(Mediastreamer2 CONFIG QUIET)
  find_package(ortp CONFIG QUIET)
  
- 
 -if(NOT (LinphoneCxx_FOUND) OR NOT (Linphone_FOUND) OR NOT (bctoolbox_FOUND) OR NOT (belcard_FOUND) OR NOT (Mediastreamer2_FOUND) OR NOT (ortp_FOUND) OR FORCE_APP_EXTERNAL_PROJECTS)
 -	message("Projects are set as External projects. You can start building them by using for example : cmake --build . --target install")
 -	ExternalProject_Add(linphone-qt PREFIX "${CMAKE_BINARY_DIR}/linphone-app"
@@ -63,23 +63,51 @@ index f7eb05f2..5921ee5b 100644
 -		BINARY_DIR "${CMAKE_BINARY_DIR}/linphone-app"
 -		DEPENDS ${APP_DEPENDS}
 -		BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
--		INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step will not be done by external project"
+-		INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
 -		LIST_SEPARATOR | # Use the alternate list separator
 -		CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
 -	# ${APP_OPTIONS}
 -		BUILD_ALWAYS ON
 -	)
+-	if( ENABLE_BUILD_APP_PLUGINS)
+-		ExternalProject_Add(app-plugins PREFIX "${CMAKE_BINARY_DIR}/plugins-app"
+-			SOURCE_DIR "${CMAKE_SOURCE_DIR}/plugins"
+-			INSTALL_DIR "${APPLICATION_OUTPUT_DIR}"
+-			BINARY_DIR "${CMAKE_BINARY_DIR}/plugins-app"
+-			DEPENDS linphone-qt
+-			BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
+-			INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
+-			LIST_SEPARATOR | # Use the alternate list separator
+-			CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
+-		)
+-	endif()
 -	install(CODE "message(STATUS Running install)")
 -	set(AUTO_REGENERATION auto_regeneration)
--	add_custom_target(${AUTO_REGENERATION} ALL
--		COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}
--		DEPENDS linphone-qt)
+-	if(	ENABLE_BUILD_APP_PLUGINS)
+-		add_custom_target(${AUTO_REGENERATION} ALL
+-			COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}
+-			DEPENDS app-plugins)
+-	else()
+-		add_custom_target(${AUTO_REGENERATION} ALL
+-			COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}
+-			DEPENDS linphone-qt)
+-	endif()
 -else()
 -	message("Adding Linphone Desktop in an IDE-friendly state")
 -	set(CMAKE_INSTALL_PREFIX "${APPLICATION_OUTPUT_DIR}")
 -	add_subdirectory(${CMAKE_SOURCE_DIR}/linphone-app)
--	add_dependencies(app-library ${APP_DEPENDS})
--endif()
+-	if(NOT LINPHONE_QT_ONLY)
+-		add_dependencies(app-library ${APP_DEPENDS})
+-	endif()
+-	if( ENABLE_BUILD_APP_PLUGINS)
+-		add_subdirectory(${CMAKE_SOURCE_DIR}/plugins "plugins-app")
+-	endif()
++message("Adding Linphone Desktop in an IDE-friendly state")
++set(CMAKE_INSTALL_PREFIX "${APPLICATION_OUTPUT_DIR}")
++add_subdirectory(${CMAKE_SOURCE_DIR}/linphone-app)
++if( ENABLE_BUILD_APP_PLUGINS)
++	add_subdirectory(${CMAKE_SOURCE_DIR}/plugins "plugins-app")
+ endif()
 -ExternalProject_Add(linphone-qt-only PREFIX "${CMAKE_BINARY_DIR}/linphone-app"
 -    SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-app"
 -    INSTALL_DIR "${APPLICATION_OUTPUT_DIR}"
@@ -89,11 +117,8 @@ index f7eb05f2..5921ee5b 100644
 -    LIST_SEPARATOR | # Use the alternate list separator
 -    CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
 -    EXCLUDE_FROM_ALL ON
--    BUILD_ALWAYS ON
+-    #BUILD_ALWAYS ON
 -)
-+message("Adding Linphone Desktop in an IDE-friendly state")
-+set(CMAKE_INSTALL_PREFIX "${APPLICATION_OUTPUT_DIR}")
-+add_subdirectory(${CMAKE_SOURCE_DIR}/linphone-app)
 diff --git a/linphone-app/cmake_builder/additional_steps.cmake b/linphone-app/cmake_builder/additional_steps.cmake
 index 7f7fd573..a69a04e8 100644
 --- a/linphone-app/cmake_builder/additional_steps.cmake
@@ -114,5 +139,5 @@ index 7f7fd573..a69a04e8 100644
    endif ()
  endif ()
 -- 
-2.29.2
+2.25.1
 
diff --git a/pkgs/applications/networking/instant-messengers/linphone/no-store-path-in-autostart.patch b/pkgs/applications/networking/instant-messengers/linphone/no-store-path-in-autostart.patch
new file mode 100644
index 00000000000..dc1b0be916c
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/linphone/no-store-path-in-autostart.patch
@@ -0,0 +1,27 @@
+From 6a26922e5e4363de36057d635a1bf889160b2533 Mon Sep 17 00:00:00 2001
+From: Lorenz Brun <lorenz@brun.one>
+Date: Fri, 28 Jan 2022 18:44:43 +0100
+Subject: [PATCH] Do not use store path for autostart on Nix
+
+---
+ linphone-app/src/app/App.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/linphone-app/src/app/App.cpp b/linphone-app/src/app/App.cpp
+index 868f8f44..2c61c648 100644
+--- a/linphone-app/src/app/App.cpp
++++ b/linphone-app/src/app/App.cpp
+@@ -858,6 +858,10 @@ void App::setAutoStart (bool enabled) {
+ 		exec = QProcessEnvironment::systemEnvironment().value(QStringLiteral("APPIMAGE"));
+ 		qDebug() << "exec path autostart set appimage=" << exec;
+ 	}
++	else if (binPath.startsWith("/nix/store")) { // Nix/NixOS
++		exec = QStringLiteral("linphone");
++		qDebug() << "exec path autostart set nix=" << exec;
++	}
+ 	else { //classic package
+ 		exec = binPath;
+ 		qDebug() << "exec path autostart set classic package=" << exec;
+-- 
+2.25.1
+
diff --git a/pkgs/applications/networking/instant-messengers/linphone/remove-bc_compute_full_version-usage.patch b/pkgs/applications/networking/instant-messengers/linphone/remove-bc_compute_full_version-usage.patch
index 547652d3af7..225f0e78db2 100644
--- a/pkgs/applications/networking/instant-messengers/linphone/remove-bc_compute_full_version-usage.patch
+++ b/pkgs/applications/networking/instant-messengers/linphone/remove-bc_compute_full_version-usage.patch
@@ -1,7 +1,7 @@
-From 6fc23da651d54979e73776fcda38614e290d65dc Mon Sep 17 00:00:00 2001
+From 4849d5633b98e6d3514355436eab5ba537cbfd99 Mon Sep 17 00:00:00 2001
 From: David P <megver83@parabola.nu>
 Date: Fri, 23 Oct 2020 16:44:17 -0300
-Subject: [PATCH 2/2] remove bc_compute_full_version usage
+Subject: [PATCH] remove bc_compute_full_version usage
 
 ---
  linphone-app/CMakeLists.txt                           | 11 +----------
@@ -10,7 +10,7 @@ Subject: [PATCH 2/2] remove bc_compute_full_version usage
  3 files changed, 2 insertions(+), 24 deletions(-)
 
 diff --git a/linphone-app/CMakeLists.txt b/linphone-app/CMakeLists.txt
-index 3bc9420a..27b418ee 100644
+index de7f917f..ee14ff78 100644
 --- a/linphone-app/CMakeLists.txt
 +++ b/linphone-app/CMakeLists.txt
 @@ -21,17 +21,8 @@
@@ -30,8 +30,8 @@ index 3bc9420a..27b418ee 100644
 -
 -project(linphoneqt VERSION "${version_major}.${version_minor}.${version_patch}")
  
+ 
  if(ENABLE_BUILD_VERBOSE)
- 	#message("CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}")
 diff --git a/linphone-app/build/CMakeLists.txt b/linphone-app/build/CMakeLists.txt
 index 8ef03faa..97d94bd6 100644
 --- a/linphone-app/build/CMakeLists.txt
@@ -49,7 +49,7 @@ index 8ef03faa..97d94bd6 100644
  
  set(CPACK_SOURCE_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME})
 diff --git a/linphone-app/cmake_builder/linphone_package/CMakeLists.txt b/linphone-app/cmake_builder/linphone_package/CMakeLists.txt
-index baea03cf..08ffc1b5 100644
+index ac85c68a..e6af5a66 100644
 --- a/linphone-app/cmake_builder/linphone_package/CMakeLists.txt
 +++ b/linphone-app/cmake_builder/linphone_package/CMakeLists.txt
 @@ -38,15 +38,7 @@ set(LINPHONE_QML_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../ui")
@@ -70,5 +70,5 @@ index baea03cf..08ffc1b5 100644
  endif ()
  string(REGEX REPLACE "([0-9.]+)-?.*" "\\1" LINPHONE_VERSION "${APP_PROJECT_VERSION}")
 -- 
-2.29.2
+2.25.1
 
diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index aeb20d6779e..fe3f90346f1 100644
--- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -43,13 +43,13 @@ assert enablePsiMedia -> enablePlugins;
 
 mkDerivation rec {
   pname = "psi-plus";
-  version = "1.5.1615";
+  version = "1.5.1618";
 
   src = fetchFromGitHub {
     owner = "psi-plus";
     repo = "psi-plus-snapshots";
     rev = version;
-    sha256 = "sha256-aD+JVGmBWHUav2bH9rXGtgqI+/5lJTMrYLRP7E65JxI=";
+    sha256 = "sha256-ueZYFOZFCPQrg9etZCrY5ZTn7PZMkcuwbXVPPbW9S/A=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix b/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix
index ac17f759088..71379039de6 100644
--- a/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix
@@ -4,11 +4,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "rocketchat-desktop";
-  version = "3.7.8";
+  version = "3.8.5";
 
   src = fetchurl {
-    url = "https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/${version}/rocketchat_${version}_amd64.deb";
-    sha256 = "sha256-61HSJIFir+ikwui7KtPm2BDstIRWY/WruGX3WSfY5ZI=";
+    url = "https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/${version}/rocketchat-${version}-linux-amd64.deb";
+    sha256 = "sha256-nKEfdbHfLjM4w79hzQdKiC4+IT3WXdDdlXkzelCKqOw";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix b/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
index 4518627fe2b..0c11beb9ebc 100644
--- a/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
+++ b/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
@@ -7,12 +7,12 @@
 }:
 
 let
-  version = "1.7.9";
+  version = "1.8.4";
   pname = "session-desktop-appimage";
 
   src = fetchurl {
     url = "https://github.com/oxen-io/session-desktop/releases/download/v${version}/session-desktop-linux-x86_64-${version}.AppImage";
-    sha256 = "ca7754e59146633b71e66b02a90cff87e4f2574e57ff831ca4a5f983b7e2fbef";
+    sha256 = "Az9NEsqU4ZcmuSno38zflT4M4lI6/4ShEh3FVTcyRJg=";
   };
   appimage = appimageTools.wrapType2 {
     inherit version pname src;
diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index 44507807022..c848cb55c0d 100644
--- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20220411";
+  version = "20220425";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ia+8RZ1wQTyUCs+6o9AMCH4Kh2neHjPWbXWjLkDb6/w=";
+    sha256 = "sha256-FWW4rVaoShT55ZWN/siFHoTTNcarnfTa2h/J2GWxLW8=";
   };
 
   # Remove when Apple SDK is >= 10.13
diff --git a/pkgs/applications/networking/instant-messengers/teams/default.nix b/pkgs/applications/networking/instant-messengers/teams/default.nix
index 84310498eee..684fb8454d6 100644
--- a/pkgs/applications/networking/instant-messengers/teams/default.nix
+++ b/pkgs/applications/networking/instant-messengers/teams/default.nix
@@ -22,7 +22,7 @@
 
 let
   pname = "teams";
-  version = "1.4.00.26453";
+  version = "1.5.00.10453";
   meta = with lib; {
     description = "Microsoft Teams";
     homepage = "https://teams.microsoft.com";
@@ -37,7 +37,7 @@ let
 
     src = fetchurl {
       url = "https://packages.microsoft.com/repos/ms-teams/pool/main/t/teams/teams_${version}_amd64.deb";
-      sha256 = "0ndqk893l17m42hf5fiiv6mka0v7v8r54kblvb67jsxajdvva5gf";
+      hash = "sha256-fLVw2axSMetuaoRzjg+x4DRYY8WP5TQbL7LbfF6LFfA=";
     };
 
     nativeBuildInputs = [ dpkg autoPatchelfHook wrapGAppsHook nodePackages.asar ];
@@ -134,7 +134,7 @@ let
 
     src = fetchurl {
       url = "https://statics.teams.cdn.office.net/production-osx/${version}/Teams_osx.pkg";
-      sha256 = "1mg6a3b3954w4xy5rlcrwxczymygl61dv2rxqp45sjcsh3hp39q0";
+      hash = "sha256-vLUEvOSBUyAJIWHOAIkTqTW/W6TkgmeyRzQbquZP810=";
     };
 
     buildInputs = [ xar cpio makeWrapper ];
diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix
index f46a918d3c6..d7dbff715ba 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix
@@ -98,6 +98,7 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
+    ./kf594.patch
     ./shortcuts-binary-path.patch
     # let it build with nixpkgs 10.12 sdk
     ./kotato-10.12-sdk.patch
diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/kf594.patch b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/kf594.patch
new file mode 100644
index 00000000000..0fa2d8bc8f6
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/kf594.patch
@@ -0,0 +1,57 @@
+diff --git a/Telegram/SourceFiles/platform/linux/linux_wayland_integration.cpp b/Telegram/SourceFiles/platform/linux/linux_wayland_integration.cpp
+index 7641579aa..3c195e397 100644
+--- a/Telegram/SourceFiles/platform/linux/linux_wayland_integration.cpp
++++ b/Telegram/SourceFiles/platform/linux/linux_wayland_integration.cpp
+@@ -9,10 +9,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
+ 
+ #include "base/platform/base_platform_info.h"
+ 
+-#include <connection_thread.h>
+-#include <registry.h>
+-#include <surface.h>
+-#include <plasmashell.h>
++#include <KWayland/Client/connection_thread.h>
++#include <KWayland/Client/registry.h>
++#include <KWayland/Client/surface.h>
++#include <KWayland/Client/plasmashell.h>
+ 
+ using namespace KWayland::Client;
+ 
+Submodule Telegram/lib_base contains modified content
+diff --git a/Telegram/lib_base/base/platform/linux/base_linux_wayland_integration.cpp b/Telegram/lib_base/base/platform/linux/base_linux_wayland_integration.cpp
+index 32f0de6..30a087f 100644
+--- a/Telegram/lib_base/base/platform/linux/base_linux_wayland_integration.cpp
++++ b/Telegram/lib_base/base/platform/linux/base_linux_wayland_integration.cpp
+@@ -13,11 +13,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
+ #include <QtCore/QPointer>
+ #include <QtGui/QWindow>
+ 
+-#include <connection_thread.h>
+-#include <registry.h>
+-#include <surface.h>
+-#include <xdgforeign.h>
+-#include <idleinhibit.h>
++#include <KWayland/Client/connection_thread.h>
++#include <KWayland/Client/registry.h>
++#include <KWayland/Client/surface.h>
++#include <KWayland/Client/xdgforeign.h>
++#include <KWayland/Client/idleinhibit.h>
+ 
+ using namespace KWayland::Client;
+ 
+Submodule Telegram/lib_ui contains modified content
+diff --git a/Telegram/lib_ui/ui/platform/linux/ui_linux_wayland_integration.cpp b/Telegram/lib_ui/ui/platform/linux/ui_linux_wayland_integration.cpp
+index 01f1e80..163cb6a 100644
+--- a/Telegram/lib_ui/ui/platform/linux/ui_linux_wayland_integration.cpp
++++ b/Telegram/lib_ui/ui/platform/linux/ui_linux_wayland_integration.cpp
+@@ -24,8 +24,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
+ #include <private/qwaylandwindow_p.h>
+ #include <private/qwaylandshellsurface_p.h>
+ 
+-#include <connection_thread.h>
+-#include <registry.h>
++#include <KWayland/Client/connection_thread.h>
++#include <KWayland/Client/registry.h>
+ 
+ Q_DECLARE_METATYPE(QMargins);
+ 
diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix
index f49f5ef214c..9146da94530 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix
@@ -63,12 +63,9 @@ stdenv.mkDerivation {
 
   postPatch = lib.optionalString stdenv.isLinux ''
     substituteInPlace src/modules/desktop_capture/linux/egl_dmabuf.cc \
-      --replace '"libEGL.so.1"' '"${libGL}/lib/libEGL.so.1"'
-    substituteInPlace src/modules/desktop_capture/linux/egl_dmabuf.cc \
-      --replace '"libGL.so.1"' '"${libGL}/lib/libGL.so.1"'
-    substituteInPlace src/modules/desktop_capture/linux/egl_dmabuf.cc \
-      --replace '"libgbm.so.1"' '"${mesa}/lib/libgbm.so.1"'
-    substituteInPlace src/modules/desktop_capture/linux/egl_dmabuf.cc \
+      --replace '"libEGL.so.1"' '"${libGL}/lib/libEGL.so.1"' \
+      --replace '"libGL.so.1"' '"${libGL}/lib/libGL.so.1"' \
+      --replace '"libgbm.so.1"' '"${mesa}/lib/libgbm.so.1"' \
       --replace '"libdrm.so.2"' '"${libdrm}/lib/libdrm.so.2"'
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index b55eb6e36ed..db38a2d0e86 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -2,6 +2,8 @@
 , lib
 , fetchurl
 , makeWrapper
+, xar
+, cpio
   # Dynamic libraries
 , alsa-lib
 , atk
@@ -28,8 +30,27 @@
 }:
 
 let
-  version = "5.9.6.2225";
+  inherit (stdenv.hostPlatform) system;
+  throwSystem = throw "Unsupported system: ${system}";
+
+  # Zoom versions are released at different times for each platform and linux
+  # is stuck on 5.9.6 until https://github.com/NixOS/nixpkgs/pull/166085 is
+  # resolved
+  version = {
+    aarch64-darwin = "5.10.4.6592";
+    x86_64-darwin = "5.10.4.6592";
+    x86_64-linux = "5.9.6.2225";
+   }.${system} or throwSystem;
+
   srcs = {
+    aarch64-darwin = fetchurl {
+       url = "https://zoom.us/client/${version}/Zoom.pkg?archType=arm64";
+       sha256 = "0jg5f9hvb67hhfnifpx5fzz65fcijldy1znlia6pqflxwci3m5rq";
+    };
+    x86_64-darwin = fetchurl {
+      url = "https://zoom.us/client/${version}/Zoom.pkg";
+      sha256 = "1p83691bid8kz5mw09x6l9zvjglfszi5vbhfmbbpiqhiqcxlfz83";
+    };
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
       sha256 = "0rynpw2fjn9j75f34rk0rgqn9wzyzgzmwh1a3xcx7hqingv45k53";
@@ -69,23 +90,41 @@ stdenv.mkDerivation rec {
   pname = "zoom";
   inherit version;
 
-  src = srcs.${stdenv.hostPlatform.system};
+  src = srcs.${system} or throwSystem;
 
-  dontUnpack = true;
+  dontUnpack = stdenv.isLinux;
+  unpackPhase = lib.optionalString stdenv.isDarwin ''
+    xar -xf $src
+    zcat < zoomus.pkg/Payload | cpio -i
+  '';
 
   nativeBuildInputs = [
     makeWrapper
+  ]
+  ++ lib.optionals stdenv.isDarwin [
+    xar
+    cpio
   ];
 
   installPhase = ''
     runHook preInstall
-    mkdir $out
-    tar -C $out -xf $src
-    mv $out/usr/* $out/
+    ${rec {
+      aarch64-darwin = ''
+        mkdir -p $out/Applications
+        cp -R zoom.us.app $out/Applications/
+      '';
+      # darwin steps same on both architectures
+      x86_64-darwin = aarch64-darwin;
+      x86_64-linux = ''
+        mkdir $out
+        tar -C $out -xf $src
+        mv $out/usr/* $out/
+      '';
+    }.${system} or throwSystem}
     runHook postInstall
   '';
 
-  postFixup = ''
+  postFixup = lib.optionalString stdenv.isLinux ''
     # Desktop File
     substituteInPlace $out/share/applications/Zoom.desktop \
         --replace "Exec=/usr/bin/zoom" "Exec=$out/bin/zoom"
diff --git a/pkgs/applications/networking/instant-messengers/zulip/default.nix b/pkgs/applications/networking/instant-messengers/zulip/default.nix
index c2bff0b6b26..c56e78b9f94 100644
--- a/pkgs/applications/networking/instant-messengers/zulip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zulip/default.nix
@@ -5,12 +5,12 @@
 
 let
   pname = "zulip";
-  version = "5.9.2";
+  version = "5.9.3";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage";
-    hash = "sha256-PJ7/KOtfjH1RHMzAKSr9Y/82Z0vL2wBy3GgI/0JrlpM=";
+    hash = "sha256-Hws9vENGzCLQqav4uXtbbI0iNoS3JozC5m2DG38+3Fk=";
     name="${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/networking/ipfs-cluster/default.nix b/pkgs/applications/networking/ipfs-cluster/default.nix
index de4bb988d76..85ad97f41b0 100644
--- a/pkgs/applications/networking/ipfs-cluster/default.nix
+++ b/pkgs/applications/networking/ipfs-cluster/default.nix
@@ -2,26 +2,17 @@
 
 buildGoModule rec {
   pname = "ipfs-cluster";
-  version = "0.14.5";
+  version = "1.0.0";
 
-  vendorSha256 = "sha256-ykUjq7Svp3+kUNnFkwsBlC+C4nws6Yvu3bk2Wb4c8vY=";
+  vendorSha256 = "sha256-b0k1V1+JikGemSQjyiKcH7cgyDEt0Nn5aVUf6nnE+/0=";
 
   src = fetchFromGitHub {
     owner = "ipfs";
     repo = "ipfs-cluster";
     rev = "v${version}";
-    sha256 = "sha256-Xb7QbBmCJKgokxvdbtWxtnNIS/iUsYFLlRzgfoABAq8=";
+    sha256 = "sha256-vwu+Fj7PegbK9pmnsNuEl/AQz2gejRiFAAAov5+VNMQ=";
   };
 
-  # Remove patch when updating to >0.14.5
-  patches = [
-    (fetchpatch {
-      name = "remove-distribution-test.patch";
-      url = "https://github.com/ipfs/ipfs-cluster/pull/1589/commits/49825d1df76f848806f1d76abce5e279221cc8c5.patch";
-      sha256 = "sha256-mM2rc4ai/qhbvxnoRw5jO7BTRlD2/Tp037EuqqS49DE=";
-    })
-  ];
-
   meta = with lib; {
     description = "Allocate, replicate, and track Pins across a cluster of IPFS daemons";
     homepage = "https://cluster.ipfs.io/";
diff --git a/pkgs/applications/networking/irc/senpai/default.nix b/pkgs/applications/networking/irc/senpai/default.nix
index 0fc0284a183..0d5f6bfbfa8 100644
--- a/pkgs/applications/networking/irc/senpai/default.nix
+++ b/pkgs/applications/networking/irc/senpai/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "senpai";
-  version = "unstable-2021-12-14";
+  version = "unstable-2022-04-29";
 
   src = fetchFromSourcehut {
     owner = "~taiite";
     repo = "senpai";
-    rev = "8091752a67781273944e7a79a803b7a671378313";
-    sha256 = "sha256-tZp0ra/Sq/5MAFlAFHPJ94jYxtHbDiG1wSD4NOH1x7I=";
+    rev = "859b8fdb7d433a848668c6f1a00406f107fe00e5";
+    sha256 = "sha256-grVv/bcUEU6Aaf+4MbkocY/75u7q6Q7r26xK0ybULUg=";
   };
 
-  vendorSha256 = "sha256-xkJh7k8GZmoZqE0HgbFp2xMJQOVDkPEXOZEl6bJZz1A=";
+  vendorSha256 = "sha256-hgojB1D0/SZWLEzJ48EBoT/InYYmqD/1qoTknfk/aTo=";
 
   subPackages = [
     "cmd/senpai"
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index 541ad8c68f2..1b5f797e98c 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -28,14 +28,14 @@ let
   in
     assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
     stdenv.mkDerivation rec {
-      version = "3.4.1";
+      version = "3.5";
       pname = "weechat";
 
       hardeningEnable = [ "pie" ];
 
       src = fetchurl {
         url = "https://weechat.org/files/src/weechat-${version}.tar.bz2";
-        sha256 = "sha256-TJ4JI97WiobkBxgnkUGh/XQAIlDV+PDgIxCzTqefiMw=";
+        sha256 = "sha256-8ZSa2dQPTiChGW00T5OASHmd0C2PatUtTu9Gr4CF4Oc=";
       };
 
       outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix
index 987271e4ffa..fd5f376ad26 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix
@@ -24,6 +24,9 @@ let
 
     buildInputs = [ gmp ];
 
+    # Tests are relying on old Python 2 modules.
+    doCheck = false;
+
     preConfigure = ''
       sed -i 's,/usr/include,/no-such-dir,' configure
       sed -i "s!,'/usr/include/'!!" setup.py
@@ -66,5 +69,9 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ oxzi ];
     description = "WeeChat script for Off-the-Record messaging";
+    knownVulnerabilities = [
+      "There is no upstream release since 2018-03."
+      "Utilizes deprecated and vulnerable pycrypto library with Debian patches from 2020-04."
+    ];
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
index db7771bc3c9..d678e3b517b 100644
--- a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-ews";
-  version = "3.44.0";
+  version = "3.44.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "q4Cg6eLOdn+56EruBl0Ote9QLNebLiykUeyoQpIpeoA=";
+    sha256 = "LJNidefwnQtOtWgMVb/4Xw2A0lU4R2Gm0Z3XfOaU/oM=";
   };
 
   nativeBuildInputs = [ cmake gettext intltool pkg-config ];
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
index 2fae122fc1b..1581790c3d4 100644
--- a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
@@ -46,11 +46,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution";
-  version = "3.44.0";
+  version = "3.44.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "3yHT31Ik36hC6ikO/82QKv1LFBhgik37aQejt9TZlPk=";
+    sha256 = "dEx+CK0R4bYQPO60u/2Jo7Yo4SbOOGe7AI80F8wEnqk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/meli/default.nix b/pkgs/applications/networking/mailreaders/meli/default.nix
index d4076c88bb8..160065effef 100644
--- a/pkgs/applications/networking/mailreaders/meli/default.nix
+++ b/pkgs/applications/networking/mailreaders/meli/default.nix
@@ -6,7 +6,6 @@
 , dbus
 , sqlite
 , file
-, gzip
 , makeWrapper
 , notmuch
   # Build with support for notmuch backend
@@ -25,7 +24,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-ZE653OtXyZ9454bKPApmuL2kVko/hGBWEAya1L1KIoc=";
 
-  nativeBuildInputs = [ pkg-config gzip makeWrapper ];
+  nativeBuildInputs = [ pkg-config makeWrapper ];
 
   buildInputs = [ openssl dbus sqlite ] ++ lib.optional withNotmuch notmuch;
 
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index c22c7b2c17e..5af97fa0f93 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -27,11 +27,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "mutt";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
-    sha256 = "12cds5qm0x51wj1bz1a2f4q4qwbyfssq9pnisxz48ks5mg6xv2lp";
+    sha256 = "0q70qrsjvmkfns1qxc0il2rlmfjwzbmfg89zlch0iqghpyz7c9xq";
   };
 
   patches = optional smimeSupport (fetchpatch {
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 43cd7183c51..2bcfd839e28 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "20220415";
+  version = "20220429";
   pname = "neomutt";
 
   src = fetchFromGitHub {
     owner  = "neomutt";
     repo   = "neomutt";
     rev    = version;
-    sha256 = "sha256-iVKDgVN7YFPEMP+OISS7jRG9Whs2QG60yH1r2kw3MUQ=";
+    sha256 = "sha256-LBY7WtmEMg/PcMS/Tc5XEYunIWjoI4IQfUJURKgy1YA=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix b/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
index feca7bd2018..46115f4a56d 100644
--- a/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, gawk, mercury, pandoc, ncurses, gpgme }:
+{ lib, stdenv, fetchFromGitHub, mercury, pandoc, ncurses, gpgme }:
 
 stdenv.mkDerivation rec {
   pname = "notmuch-bower";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0r5s16pc3ym5nd33lv9ljv1p1gpb7yysrdni4g7w7yvjrnwk35l6";
   };
 
-  nativeBuildInputs = [ gawk mercury pandoc ];
+  nativeBuildInputs = [ mercury pandoc ];
 
   buildInputs = [ ncurses gpgme ];
 
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index e89216802e5..18e09326f35 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -6,7 +6,7 @@
 , pythonPackages
 , emacs
 , ruby
-, testVersion
+, testers
 , which, dtach, openssl, bash, gdb, man
 , withEmacs ? true
 , withRuby ? true
@@ -102,7 +102,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     pythonSourceRoot = "notmuch-${version}/bindings/python";
-    tests.version = testVersion { package = notmuch; };
+    tests.version = testers.testVersion { package = notmuch; };
     inherit version;
   };
 
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index 7fc6492af7f..4705eab1293 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,655 +1,655 @@
 {
-  version = "91.8.0";
+  version = "91.8.1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/af/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/af/thunderbird-91.8.1.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "9f6fe7d931b4f9ec06e6d22e69ad6e638a82fcd709cfaabd52ed6283a75a8d31";
+      sha256 = "b7a5a88216d094bce6d1f18f506dc4c500c13340e0c6a9da2aeadc32d9ae0062";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/ar/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ar/thunderbird-91.8.1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "f8523e3b9b4229a7f977c25ba08dad4edad0fd56c90c8c8bb473db2a1e00265d";
+      sha256 = "33f807c2a2182149f2da7a394e455775027753a082b998db766c036d0aa7c976";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/ast/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ast/thunderbird-91.8.1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "3a95ba998b4f863fe39fb3e3dfecb827108b92c317ed5594e4a409ccecc8b303";
+      sha256 = "08a38759b492ac47e567774b5a4fe5ee75f5a4c513ee046b7ace9636cd61a00a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/be/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/be/thunderbird-91.8.1.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "fd41c8189eb64d70038b0a3551b46386c3d6e4afc1474bc7e50d0b88208a5547";
+      sha256 = "09644be773dea25b602b30c0e783a2be3de406d63a1aa528e80830357cec8756";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/bg/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/bg/thunderbird-91.8.1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "c7957994f4e3bb70b4f118ff6b939f52f46bc0d471a6098e18abbe23dbb58675";
+      sha256 = "546bc2422a40ed4c04b1d8fa2c203a60fbb8c2a060b7c63ae4464109d08c440e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/br/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/br/thunderbird-91.8.1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "6987eb50cb3460d42794f9192c57262479ed7082662395893bb3a5b9e094c0f3";
+      sha256 = "1977584751a826bb52e8bd154880f34b009df777481915f0cb84e018f7a3a1fe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/ca/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ca/thunderbird-91.8.1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "b09400e218281f8b09d688f5dbab2c732761da8e47141726941dcaedc3780097";
+      sha256 = "e2c6e403fbcdb58eaf747f36796d4a0af1d8f112715c068ca98f85198189e884";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/cak/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/cak/thunderbird-91.8.1.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "02efc2043ddc4485a239b19d5b3593bb68f5780ccd11f6d4eb968594192a1bf5";
+      sha256 = "f5992ea2ab6acf94993f6bc590e95e36c5ab87b650e0f38ee5e808a2bf9189da";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/cs/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/cs/thunderbird-91.8.1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "13af2518a999650cebff031813b812141b014b3fcd9a7bd3953b64229e870dac";
+      sha256 = "4770e0c95ba84953aab5585f4059c1e20e69b9ee98578ebda34ded2a1b170a25";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/cy/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/cy/thunderbird-91.8.1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "ec9def864905036110381f901de0d9c7609116cd1d9bee9414627a133d5fb19e";
+      sha256 = "a9729784e7a05d763e6dd715da80ca7f65e42f27b25e58ed2139f26f12061855";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/da/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/da/thunderbird-91.8.1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "d6cc0667d1be9fc73491bc57a0b44715433eae3743ea8aba59229e19fd24a642";
+      sha256 = "a917c157c7507d2ee457a5c8dcff3b1b23225b5ea946be547e801e93c10d4a5d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/de/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/de/thunderbird-91.8.1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "112bf23c33cacbf54319ac4534cff5be85d49704e69498f039cc45fd3abd0c8b";
+      sha256 = "73141650aba88315828e5419d9a9a05861dcd504b9256c8a184396e3824211f2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/dsb/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/dsb/thunderbird-91.8.1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "7e190cf921b1b76cb3702e3ce534e1575b7dcc63ccc94d3d8bf384bd42000a60";
+      sha256 = "7b7adb5c1e01efa9a0129a22308eb878f45d1ed0190b7430aae92b55f061fb35";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/el/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/el/thunderbird-91.8.1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "74917356bab02953ba56acf5736b3d2c9a1847f49fb4a75a273655e7678b80f0";
+      sha256 = "ffa921418d6d334e48aa51f4fff1b4855f3cf7ce3ac77ed38c6b0b699606d971";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/en-CA/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/en-CA/thunderbird-91.8.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "813d6df5de5768a3c82d3fc042907fd16f1f18695c5c294bb345cc593b71dfd7";
+      sha256 = "caa62088b677cbf18cd95a80ebc57b97597df35f8172d27a7cc55ded145e29c9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/en-GB/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/en-GB/thunderbird-91.8.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "0cbefc0c52f32b7654d045cc85c5ae882ca83b6ca138b3f6b82e194b53b0940f";
+      sha256 = "6dff28a894f3b48798939105a9742b3f9dcc3c4389160f71126cdd08ff573c74";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/en-US/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/en-US/thunderbird-91.8.1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "d57fd4df24d4acb36ddcca83062114d16a8fa4e9255606e5f2ffcd4ac9b5ea5d";
+      sha256 = "3a6c1302f51a86297960d40f40fe6273349ae407b07e634b1c01758bc8cc3a0b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/es-AR/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/es-AR/thunderbird-91.8.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "ffc858a7474ea2b6c95a6bacf2f0a9257c95f9ae67ea3d04bbb2f5499a58d618";
+      sha256 = "383d13f5094543f99dd64e29df261c956e6f13782c3158d4ac831a8c734b7d18";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/es-ES/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/es-ES/thunderbird-91.8.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "d3d77d80550c1ea96dff1f7fe59d12cd2bcf8b6d4f8db558c1c80d42e3767871";
+      sha256 = "d2753f076d929933cb51e79c0c0b66f2fc3457e3f25bb68b9b10c84566cfb70d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/et/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/et/thunderbird-91.8.1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "03b95415f92d446bf24e392a14ddb3f1256158f711e65156745270fe61d2c565";
+      sha256 = "a71e3bdee857892bd62d582fd6cd9e7df41be92854c65d34b26b57fbad16ce2f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/eu/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/eu/thunderbird-91.8.1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "272f5e568abe042c6ce3d9ea53693bd1f2a18cc4ddcb0729fd2825a62ceb89af";
+      sha256 = "40f3aa9558eab5511c0176dd817880142e49bfc157546676ce15d559ace8e359";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/fi/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/fi/thunderbird-91.8.1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "7171f34f07c49206eecfb1c3cf4d122b8fa9f24e68dd4075dd5c7313ba140fd4";
+      sha256 = "c758f45ff3b714e6e7fd1c66421a0f815ac54fa3590df682c11bd05f604bd848";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/fr/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/fr/thunderbird-91.8.1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "45004e1b26c234969a805fe13a56ce3ed53e30d400965f61a6e95b4be79fd811";
+      sha256 = "1e2588b80017f6f10ada4675c4af5165de9216d65881f20feb844fa59fa60fbe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/fy-NL/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/fy-NL/thunderbird-91.8.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "bdd6a130ae5a1c12a49a2d2b84410b445e7d8b62bd3aa1eb64cf66fbb7436047";
+      sha256 = "c3ab99f1539a40f60cb2b3ca68178307b39b013a763a671ffd05124ed8d82988";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/ga-IE/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ga-IE/thunderbird-91.8.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "c03c8f98c0850402d909d1d802bc6fe189d145ed45bc576a821536a79e492bd7";
+      sha256 = "7af72cd55c26e368378a3b86844b6ee72f08b7f2c207170817ccbeaad1a114a0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/gd/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/gd/thunderbird-91.8.1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "b55a5edafa3ca381544c1e2d2ecf23a1557cdd9b10f937cc6f45c7a40e0a0831";
+      sha256 = "9a91e7b6d3572ee78a4df915a2b30e5dbd10351e6f16316e6dbbbffdbe1217d4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/gl/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/gl/thunderbird-91.8.1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "89f1cafa62a8334ea2250c6c8b9c07716fc99745aeafa6a689760c8eb288ad5a";
+      sha256 = "2c8f4043668dfa15ab191ed05218c1772472dbee932ea98e3cc08c05764812cb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/he/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/he/thunderbird-91.8.1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "82f9405f187471371a137838a8d39d289f2160ca3ffde007fbc5f643c11c0a0a";
+      sha256 = "e3b038e94553d388eb4cf53c250d8297531ddb2fb0fc7c678291fa48c46fbc12";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/hr/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/hr/thunderbird-91.8.1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "4920edd369b2317976d98707e4f59febe0b252a85666ddfe29e7f7043c502509";
+      sha256 = "a66c1c904f58879e11ceeba5c214302fc982468718af1567634ec53d16850cc4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/hsb/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/hsb/thunderbird-91.8.1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "88a84bf4f2a599527da8dc082bfc8e7d2e94fec446057bde2296c52cd1d25e76";
+      sha256 = "e2f3b04485ba430799e1049ed9cdc4cf191014f6a2aa44c3f8e51d87d47332dc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/hu/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/hu/thunderbird-91.8.1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "a996700c6846850579b599cf31f837320859861f4b459554cabe35fe75f07059";
+      sha256 = "611bd8281d26324503fac16bd6e25175c988f6fb12b6bcf6f3016dcfa6ec44d8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/hy-AM/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/hy-AM/thunderbird-91.8.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "05d31752442946111c5b35873bf2b2c4a87e3739bac6a4704d94c54f199a3c6c";
+      sha256 = "88cd6e24ae4a54f0b4684bf3ab7116fcdce2dbe2d6a074af5cb50c3967ebda1f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/id/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/id/thunderbird-91.8.1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "c8df7bf840268f4493403e849757eb6cfcd0cf59137bae948252eb9e9ace96ac";
+      sha256 = "1be3f82fc0a8254548c35a08d2fd4ef77b86df774acbe5bb17784d25af802eb7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/is/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/is/thunderbird-91.8.1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "697487eba3eaf49d2613d877a2d58a1e357ad2f772ae2de031695902ad4514ad";
+      sha256 = "332e85aba591c744a9d53b70e06218fafbdc94600643963c63f6a693edbfd035";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/it/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/it/thunderbird-91.8.1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "0749d5dcd105b82aea94bc704e10812bfd3fa375a776f7a95b94bb4886e543ce";
+      sha256 = "95ca9342dd991d8306922df03c5f09adeb63dc93f678384989315ddf1df622d3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/ja/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ja/thunderbird-91.8.1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "ac6aa38f830a8f3eea7d0c7d0c9695ce1351e84a19a831e3d87d212369353ef7";
+      sha256 = "977a0e4ca8d9e8d8d6c289608a9318971553b011bbcda66ee888624ef6b9d56b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/ka/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ka/thunderbird-91.8.1.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "b051d95f3b69a7c2d8de178e517abd37afec4502de1a580788f150c77c0187dc";
+      sha256 = "1a8360cd576a4e2a0b6d316441eff481c2a1d9b80e7f9eeeb0fc6fc38df08d1f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/kab/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/kab/thunderbird-91.8.1.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "2e635bdf5de067b57ba639be3465fcff3bbe00119d0c3f031d6471aab7a9b9f8";
+      sha256 = "d318ccb72f4476d8222eb4423c755378f10cf187cc6ea73152833953375cac35";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/kk/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/kk/thunderbird-91.8.1.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "369cc371e500bc6ce224f9563c6bd586fb4748181372754c4b2c58e81d9f19c6";
+      sha256 = "854f310728f2c1c2e3e3dec57787bb293f344a31cb1f0b8a131f0768c409fb08";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/ko/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ko/thunderbird-91.8.1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "6b4270b67c7e2e47201cb37c7bc9b22599cc65ea3efc87e35b0fddedc0af8170";
+      sha256 = "c740a972a708627d9700c9dd3b2bb56a5b1a3e0ac6f438021aa56033e6e6b40e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/lt/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/lt/thunderbird-91.8.1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "a140ae146bb64c704130e6e84a63ccf7ccac77433a95964b0b5d1c2a52485e7c";
+      sha256 = "7a1c14eb2fd539dc9e2681a8868fb6e82ed2e9ce0b9523a613e20a48ec52d2ac";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/lv/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/lv/thunderbird-91.8.1.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "5f88b779588a36ff7eac1c652400ebdaad501b00c83101e6614f1689bb0aebfa";
+      sha256 = "bde11f8e943b462f4c8a084ee7d1328f59e93a6bf2d39fed8a3dd1408b0ee716";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/ms/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ms/thunderbird-91.8.1.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "48632dc4e44bae95dc2c435f334c4d65a7058b0f5cdaf492ba4b7788d2c5df9d";
+      sha256 = "f76f9bde41a1be40c32bb3fa1990adba3460bdca0b98e466e6dcbbc6d8d944a0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/nb-NO/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/nb-NO/thunderbird-91.8.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "c065ca752ff112aeafb51684b2f8877af8a61a52a6e1a70b884967c78fb30880";
+      sha256 = "e8a052e7c841feda1c54b5f349181695c03f2549f95ca1d9108b60e8dd13c85e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/nl/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/nl/thunderbird-91.8.1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "44c9ea3d19b1f4b9151b49e3b8221eec179558bfe398076f5fc5b41266f8194f";
+      sha256 = "5eea4e47045706a621ca398a55a76a2165d461c061ea3e410418839a9a069ca7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/nn-NO/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/nn-NO/thunderbird-91.8.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "6347f87681652379ccda8564dbd2572bab1fa04b0c487ff43e3f51f3719ac7d5";
+      sha256 = "a819e0ede22abce7d3e10ab1dbe3d4571889c63284e6f1c917834f766ad3c73a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/pa-IN/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/pa-IN/thunderbird-91.8.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "6db940a4482f404fa89abc36a2e9737c835fa51d7c98503055fb98484f7586c0";
+      sha256 = "523f7c451f618b1f7705d0892b50700f61c0c3a12ca85957630e5e146ed7eccd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/pl/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/pl/thunderbird-91.8.1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "dffeffd240e5ba3f1e3de024ffe7a51ebc72eb3035bb994d02bffd106203dc2b";
+      sha256 = "45d17f737b24ab1ca34e7dc5d16493203e1673c4592a099b3dffa8559908b64b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/pt-BR/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/pt-BR/thunderbird-91.8.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "5a05e3d9174bd26f3c9f62f82dc50e0e40965771d861bbb662bfc4cdf29ef83e";
+      sha256 = "d4d3cc55f0924a9eefb2b76d3cf524238e87ee0f016b5fcb4df59c28a6f8539c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/pt-PT/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/pt-PT/thunderbird-91.8.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "dfe5055edaea41dba221a2b39d2fef7493a508d12e9cb39e29201a20f95afdbd";
+      sha256 = "1a6b22cc0fca62a1fac036b87f04a7ef2d101e8a4323e370856338ceffd3193f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/rm/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/rm/thunderbird-91.8.1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "17a587c8b3eb1b548089b70bff06f379fd1d6aaa234a024b2b1c17a1f2a6f60d";
+      sha256 = "cd9b4f7274a3fe1c5c29ac68377b82ac134a9d23828700399009021ae6920c1e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/ro/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ro/thunderbird-91.8.1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "cc43a35c544bc15fb86a12538d70d20b5b22f5666b5467b7f8e87b31a12c5abe";
+      sha256 = "0c0dd2e9612c64eb2f70d52f32fad70af989537018d2d1457941d773e5d8200c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/ru/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/ru/thunderbird-91.8.1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "82b05f1e853fdcb4cbce513dc87f9fe2784bc4bc5836274be15b1cff831a5dfc";
+      sha256 = "4f89db6c6bff251b9e642b6525e2d6dab30fd5faddff814a8566e3db0109f895";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/sk/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/sk/thunderbird-91.8.1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "31ca758cacb9f5ffbdb901f4a2b59b2b63a2b4f0f0b63a35ec45c1d1b642654e";
+      sha256 = "9b7c6e1536dd288634f1e635cf65b59bfd8953853143ad4611b66189119fe8ea";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/sl/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/sl/thunderbird-91.8.1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "8ce25c995945f164756d3b6727c5c2d49397520a0fdc1ec5b448bd04664f1314";
+      sha256 = "9b55f025b7b64d57c0ae1ffb54fcfd24dfffedaf8dcfb0cff870e5023e018e22";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/sq/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/sq/thunderbird-91.8.1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "db65e73da83a12d1e10713b0ace13250c127e798e91e81893ccb8f38bc635186";
+      sha256 = "a7c42d3f546482eec81a021f299bc57fc05d349cfbfdd65ad3dbe46019e29851";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/sr/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/sr/thunderbird-91.8.1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "0cf912a9d51cb3ffb6cf7aa3eeaa61a54c253a617abce216c37770dcf5c36344";
+      sha256 = "c990d6f1d94f50ba0edc2683acb89fd17dc94ceb0406549309c85be3e294c43a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/sv-SE/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/sv-SE/thunderbird-91.8.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "86578eaf49e4ea08c0ce7573ff13c8f0c5e2a3e0d03028c04b37042ed0739b1a";
+      sha256 = "cff7a55dd6a5ef6a3bff8757decda52e685fd500ba00ddc9f96724a6e803759e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/th/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/th/thunderbird-91.8.1.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "44e9e7ea1807e41e51d531b6a5badd5ea660f19b52943ab012a1868c907d7a0b";
+      sha256 = "e04a3b749f86f8f13b26d58c1562f7249e9d298431f348709678d6b5eb2d56c4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/tr/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/tr/thunderbird-91.8.1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "d95e9d475c73d31d90d1a1b4056501850386d0b727d4941a6927b92a7e1c1d6f";
+      sha256 = "f3bc44135cc943509e5f821b011b30df42ba9e44884be588130326dd123ffc13";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/uk/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/uk/thunderbird-91.8.1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "a563e3da2a8f3f58b085ed06fb4a81ec0e7c36b2cbb777aa584857ee23793dcb";
+      sha256 = "c93fbc4795bc051ff6e55ced73765673c347a6fcea5c0b0f12d5a2b7e4ea13f6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/uz/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/uz/thunderbird-91.8.1.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "0005df2daa394d44ab2a413fc0f58b23569bfe30dc9a0d0789f86c2072158937";
+      sha256 = "4737baf26dd8ae9a9fe4a52c56e75a2e76e76a976dac66cb02cc9175a432d114";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/vi/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/vi/thunderbird-91.8.1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "7d987211388a37975dc93cb38a72e8e7e9a5a7535af5efecf5293ca5b1da6718";
+      sha256 = "8962b27c70530ad685753df464c4f4c982258abb82fc9788c623eebd2bd319fd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/zh-CN/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/zh-CN/thunderbird-91.8.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "c043d0e5e1804090ab8cc8c740b2458c825def839c128391c0d6e71b36af4894";
+      sha256 = "e9343251571b2922f5ab2f84590759e41fb0734c38541336215f9984c4fe6882";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-x86_64/zh-TW/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-x86_64/zh-TW/thunderbird-91.8.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "3870ceaa2ea5c049877452a6b0c76dd7de9b85985b358076c0fc1c476d04a10c";
+      sha256 = "efbcb13dcb468a82b0ec71d67af4addefce97addfca6befaba0b96c92617091b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/af/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/af/thunderbird-91.8.1.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "f004dc6825310f3f7554682816b0848e4461ca86d8d31b1f5f0287064be5af48";
+      sha256 = "d96e9de630ad5502fd86de653337ff7df4444ea5bdc22e07cb77f67f1dc4d04f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/ar/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ar/thunderbird-91.8.1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "be9fae6a15d1e3d7b4da462eaaa2cfa0317162c2ecfdbff8704d2f0239278380";
+      sha256 = "d5273d01309d15e77a897fa25a142851470f9569b25b253e66d09dee6984d061";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/ast/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ast/thunderbird-91.8.1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "5f92a809cf6d6a2df8477f54d1cf7a3ef65e27426fe184178bcc8c691a08487a";
+      sha256 = "8466aa8df2090de75cd7140b58c03856b351536f14875569c18abeaebdcb3249";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/be/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/be/thunderbird-91.8.1.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "c87c60eee9c7cb082e7a06e608835d1e29154a06a77b688c564fceab1546eaa5";
+      sha256 = "f2940433250516531cd782e5f7a2c85dbb81d5fae83b29ff2fba93450dcb14ef";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/bg/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/bg/thunderbird-91.8.1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "f07c5dab6db9aec61478942a0b7add0fea0fb078c9be150efad19e606fcf7ebc";
+      sha256 = "70198e5c4857d84b0c84c158fabf269d759fcd7b966d82e2f529c540d833a244";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/br/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/br/thunderbird-91.8.1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "d1b5d7c7de3ecb1b0b58989a25bbac3768b105730c6ddb87d1d3072001efa313";
+      sha256 = "02391abf4167231531b8e8490fd2d7feab36cf89ddc5cb6d072cb33a67d4520a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/ca/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ca/thunderbird-91.8.1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "1e8e7f215c8a80504eaafcf3e867c6f8090953f685fc2bc7606f77efd11bd612";
+      sha256 = "7178baf7bdc7914bb803995b8d1fc66087f9c65264b100e8876fa1be463623d2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/cak/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/cak/thunderbird-91.8.1.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "43a0355b20dbc71adc4a6c35bba3e91d717ba08547c767303828f931b7cd26e6";
+      sha256 = "579bdce1b8b4a2ebf2688c95e5ee4f2e20347a983874633bcdb92c3d6c19ee8e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/cs/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/cs/thunderbird-91.8.1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "987a95eadb174ac453cc619b97ab4b5dbdc474de821f16a2e9f4906483792656";
+      sha256 = "2eccefb9c82eae0f339ec9d5291c82a873ddcdc80822a7588e686ffaa50e7763";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/cy/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/cy/thunderbird-91.8.1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "1ee7b2902fa1fe373dd2ae2529af1c2f87f442c91618f2a470052641a6e963a2";
+      sha256 = "0616bd3fb1baa79b4dbfddf260d013c03829edcdf761e25980b8600e63922f52";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/da/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/da/thunderbird-91.8.1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "09e15245d38b7d2963f1558c42ed13452737679459b9f78769dc0726cb8e42c8";
+      sha256 = "56c3cf0930c0966212d607589a32cec910d6b0a7bc7db314b317e0f717321fc6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/de/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/de/thunderbird-91.8.1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "1fcdd9e52197d1925a42fe193980bd1415d6c280afc8e0148f7ea3903fb79a7e";
+      sha256 = "5ef59f3d0575ec3f570f4b1d0a401ac3eaf42a901ccece9bbb46cd4bab4a61b1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/dsb/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/dsb/thunderbird-91.8.1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "362cef9146611f09d969893c4b4c7a8ba7b3d46a1b49183cba0eb8d7d46d2db9";
+      sha256 = "e4ba253ee1f3629d5e3bde8475a49b8a95fb1a0bb76c14cb62a53a6e6f545804";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/el/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/el/thunderbird-91.8.1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "7360fcb00c20b8dfdb2434d2347e8bffadcadc7fd50773dd96bc9173b3e800a7";
+      sha256 = "7c342ff901eb195ee06b0b67d4a52b118053ee8153d9dffae48c83e937a04be4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/en-CA/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/en-CA/thunderbird-91.8.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "86025c58c29acf2cc98ba6be305629605a3ad10304c87d6f4d55cb9948ddbb46";
+      sha256 = "35cc280dfa58eeb62c12d133d4bccfcd85e694121129e154770c840f6e87169d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/en-GB/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/en-GB/thunderbird-91.8.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "2535a948b23327f66c186387a50eeec44ab3eb42859be5ce9beeb660a47e1b1e";
+      sha256 = "ac393ceb36bcf7afefdaa1f6fdbdc49ef739781979878f055d623cae78cc0468";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/en-US/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/en-US/thunderbird-91.8.1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "889e6f3f8d0b5b372b08ea3b85b9cc890ad62ef60d9bd41b3e4e9387e1361e7b";
+      sha256 = "bac3f4695e762b67b21b399edd406340a6500a8a5bcf4973a74904b9065078c8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/es-AR/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/es-AR/thunderbird-91.8.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "f99012407c06c6b913207ac706fd542da011045b5503ff3290590332da09a7a1";
+      sha256 = "5ec79874c0a76555e68a84aa8f41ceff5ff72877d4636301cae99ef56ea16e74";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/es-ES/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/es-ES/thunderbird-91.8.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "ef8d7946c1c4475dcbe4144012630119e64bdcb3b809b4a00cebaa5d8effb5fb";
+      sha256 = "3465df8574f3d9dcb86a458147c388ae662cd17b998176591eb3841a448c543a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/et/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/et/thunderbird-91.8.1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "5e2cefaaa8d44e3a90e7b31ac29ff62f9f3b50dff5b29ca1703bbe907a770d61";
+      sha256 = "58a1a76c81c6687a5673150ad5effa421b5a32a8825c52a7106a5a77cf4d66bf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/eu/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/eu/thunderbird-91.8.1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "7c89425da0c4c46e9291b7f039d7b42aae9442538b3afff0477b490f158ee473";
+      sha256 = "c90e4acc10b1157d3f1009f55d5ebe70828288ebf057f01d0cfc78f306536d19";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/fi/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/fi/thunderbird-91.8.1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "a861e4b0763b98c8d6361c2f36cee43cd12c6e7b9fcfa49010da9f861121fbbe";
+      sha256 = "249943c795ac7b7d94331399c7badfd2d7ea86ccbf96e7eb653985ead8d50975";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/fr/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/fr/thunderbird-91.8.1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "0aab665a007cf87767f78a42c0ac3a767776895e9c0990a475545157878cbd87";
+      sha256 = "6464ce3e03ec947fe8752096d3049390b307ed44eaea036194c6d58750064a1d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/fy-NL/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/fy-NL/thunderbird-91.8.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "1ed753c85bf519406001833b3ca3848262c6208eaec1899167704624a5b52701";
+      sha256 = "a45de5dd3f37b9a7c39b260ba84a03cef94b103787235cd34ad45cf4592e7ed2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/ga-IE/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ga-IE/thunderbird-91.8.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "e2b75f8d236dd3a217c21461e2c0ae501fb23f0cabcc11a501aae8f0ca28175b";
+      sha256 = "ed509287d305e2457137d051b1842d26401b5b337a5272562a7b19922e874c2c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/gd/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/gd/thunderbird-91.8.1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "6517d28e08abe6ae9cffb2e0d6cfe7407b137c7e4a2bd1fffd1f2d74592db168";
+      sha256 = "2c8a2c587bb522aa2dceb3fb3d68e338f9e22b1be57745e26441c4c72257b22b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/gl/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/gl/thunderbird-91.8.1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "4bc16ea1a9939f1c0b363a34b580a4bf6601f646fdcd9c6d686fb07b1db4951b";
+      sha256 = "4dd7eb1c72eca568c03c233f5078bbcf24da14e123106ce877096ab2b1637b61";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/he/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/he/thunderbird-91.8.1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "1b60dde842257b9d9526618f5f7a13cacf6d9a8d7f9320073e9ca95a80633a32";
+      sha256 = "82f8168ab4eceaf92f03fd777160ec28d25f4801944469a5ac3f6df8de1773e1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/hr/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/hr/thunderbird-91.8.1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "a11ba48e82c8a78f21c0d38f947ea699f926842c5b8665d5e6b132754d063bbc";
+      sha256 = "80221f2fc08812f864dd09edc4e6b7693d5966b292d8ea66c2931a51f35bfaa8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/hsb/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/hsb/thunderbird-91.8.1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "dfdd15a264d58454a721d7036db0659af9c920b71f1835a488338acab1540056";
+      sha256 = "9e6b7c4cd402675cbac43088328e321a6f738cd7d83406d7cd7f8ac6060b6f11";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/hu/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/hu/thunderbird-91.8.1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "126d2155fc30f15b6efa061d340d91926e0f72ff133411dad9fdfefaffa25210";
+      sha256 = "4cea9f48504060e31006f69eecafe3c352440f54d599f637d4a1a536d48e27a3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/hy-AM/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/hy-AM/thunderbird-91.8.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "cc4d0984fe5caa81cf463a166a08af8d35bd7d68bef8a0b40b2edab4ffab3eb3";
+      sha256 = "55d887cf63952b1eec43bf2449fa3eb8c543d91ee4cdeaa1e54a00cd4a009357";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/id/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/id/thunderbird-91.8.1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "4dc4f402a2c3fb1d9f0f3fc10f937274f87bbb99f7442fbb782e6c91b6bef1a5";
+      sha256 = "32dcdae28370e35f61a3f5c12085830f6263b0b4b9b272d780f2c748d1474961";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/is/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/is/thunderbird-91.8.1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "9a52dec2873649da8e11105456e8d6cbb631b754f9988404c0985f03d10001d2";
+      sha256 = "df47af9356ee1b9bed415421f14f797499402dccc96f3aef18538d64b4b5b8b9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/it/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/it/thunderbird-91.8.1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "7764c87c166229b9b25410cbd816a49afcbf6ab37dae5ee071fc2940a068fc3d";
+      sha256 = "1cf50c518e5d8137c52bf37eaeac618007e2efbc8f94deb9461a01b2787df434";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/ja/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ja/thunderbird-91.8.1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "9e858818a36ede51a15e2cf9e3b2b2d30dd83b6fe2cd5f66188776e3351e12f5";
+      sha256 = "031d2db07bc2dfc8dbb4c86119a993725a661ad4f6596241bd5590ebbdc01e3c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/ka/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ka/thunderbird-91.8.1.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "2e46a4036b32b90224e555691441c6a59e8e07fc6f0d6cae3aa591af3a2b04c2";
+      sha256 = "18f1b2a900381ce85cded1046e0bc10c015eb3ab5602497e93190229aea26bcd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/kab/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/kab/thunderbird-91.8.1.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "0ae98410d16a73a4c42149b7b5c6325a58dacdd02ac8df0f263c51b8aad26e57";
+      sha256 = "10b42a83af77d82343297439f8c56cdb3ab85fa4ea88aa77e49aeb6a01a90c99";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/kk/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/kk/thunderbird-91.8.1.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "b74a98dda02f144ecc4a1fb76f014689d3c5a0d95805ca2adaccc7739f397296";
+      sha256 = "1e0b1740eaf8c48ecb2a41c3687f51afc07b9243c098637d60c5452259ae9192";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/ko/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ko/thunderbird-91.8.1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "074f6f4ac2ebd983490f6cc42a4ac8603da13f056145aa5dc577b2fe3fa4a4da";
+      sha256 = "da9a00752a4e6a3aca2f298eecae39e661435f95c723f7327ed60eeb0e75d50d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/lt/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/lt/thunderbird-91.8.1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "afb32ea82d83808ab40f33db0fa95462479bae8f237defa0c702a3d95fcc91d5";
+      sha256 = "7ece24971b0a7b901ab165ff30c3b5239161a488be02c7f5cf5d6a2dfc6dce3e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/lv/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/lv/thunderbird-91.8.1.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "91661ab053978137acb9bb6e820dfba0ee5007bc12b440504efaa6aa6c62f444";
+      sha256 = "baf96d476ec159bbc4567e4beae29d3c61fef9683190cdc7c207163ed67797fb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/ms/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ms/thunderbird-91.8.1.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "ba06582eb17d830d0805040810098db7fef4a001f8b5f8228491c0449ccb29f5";
+      sha256 = "3b356c61079130bd3d5b5023116f74961ed84595222284fadc45f3224281bbfc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/nb-NO/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/nb-NO/thunderbird-91.8.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "c2463574caf1bbf6dee227ec57fae53178a713dcfd05e866b6458d9dc0f8febd";
+      sha256 = "225a885cc788b64c864efab9cb0adbb0399a7e68e747551bb98cfba903898bec";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/nl/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/nl/thunderbird-91.8.1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "2e84666be34fb7883a4ded36ab0a71ba987c554abb08c959330689ef15d3ac04";
+      sha256 = "1c75e3df164a37c46f83421e0df28dd1cd4fd9e725a4e6c8d03378c800c53f04";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/nn-NO/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/nn-NO/thunderbird-91.8.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "2e08edd2b0d198b1d6614af26fa86c3c6b646f6b53324aa6d7cda4629ab2dbf3";
+      sha256 = "fc154d52fa4e19ef4e727663a1bc4599da9e7c3aba0e563d823a3d4995d2632e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/pa-IN/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/pa-IN/thunderbird-91.8.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "9b5562cfa1a3c36b8f4f8a703ed232e5045812346cbb604f310b8c1861a99213";
+      sha256 = "27a95c486a5a075fa8011add5c06c616ffafa7cb266afc26f7511cd510f8f403";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/pl/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/pl/thunderbird-91.8.1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "5ce1e65dc07f4f1d720abd18e31252aa74bdbb22f29305dfd23825fc9aec9062";
+      sha256 = "34563d04912e27e93f122c47eca56a368f2b723406498f98f312f92459265f87";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/pt-BR/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/pt-BR/thunderbird-91.8.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "440af4305a7a2d8382e6d791b1cde11673b4a0b35973126b6f5b44f7ab236e84";
+      sha256 = "6ab98477ca80c945c4b780aa704b231e7831fd2334a70c57937b2815357f3150";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/pt-PT/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/pt-PT/thunderbird-91.8.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "47f456163ee3036b9a20542b3a5fb0e6997fa9c3ea431c38964c887669191c42";
+      sha256 = "0919ca9a0125a8545de083f629a4f338e8db0f0e7a87bb7c55172f163605f8d1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/rm/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/rm/thunderbird-91.8.1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "7c26dd177759f7c40a3106b9189cf245ef43be2e732d187ed1cdce44ba533073";
+      sha256 = "31d4de40f1ad6c284e388ffd760d3758174ce99c01ca23b0ccbf9d1a4f343bab";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/ro/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ro/thunderbird-91.8.1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "0297de849e5f1a5400023b40682980ec886fbe54087f8db6b3a316d5cdb2d5d7";
+      sha256 = "3e0a763faa79aa775e29907e018f81d506fbaa025d9900516447c6081e6c31b1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/ru/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/ru/thunderbird-91.8.1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "c766d619d8bacc87fd729d3aa6b3a16741070a91181416243b389d5b25dd4829";
+      sha256 = "ee485a4f7287d770107d9d41d678ace5873079e1fdc726a30800b6d055f68267";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/sk/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/sk/thunderbird-91.8.1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "9ba8276dab20f0e7c9820f2aae046ab4bbfd8a032b07282f1fd09bab167793da";
+      sha256 = "e8cc9b1a9e767ab548de614da8feb1b42213444e91e4a1382b2cdc7323872215";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/sl/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/sl/thunderbird-91.8.1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "a15a3cf75610b0acb93fe067a9fc4f2c7298bfa7654175275a96c0ee8e7fdd89";
+      sha256 = "271b3fa48e9f1cedfe3fbfbd72fd23b0b477e9993108996dbc897835de0750c9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/sq/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/sq/thunderbird-91.8.1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "f1578326fdca0beeb09ed4bbe80178a5878a1bcac2f480a7e4155ee882f29197";
+      sha256 = "7fac9e56f3e5070f0b9e038483f0b0fb97a42d947410c3f8677b7e6d8ebf3828";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/sr/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/sr/thunderbird-91.8.1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "8fcd6be0a44a115630544bd5fb652a4dd3c4659a8233ab5aaeea7326c89d2c90";
+      sha256 = "903c9408c4bce12a78cf5941b9413f65d946b49c5c6819c1cc1c7006373d6802";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/sv-SE/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/sv-SE/thunderbird-91.8.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "f4dac959ee9f29349228f055ae7409cadf2be0de9461bcaac940da4ea9f33c6c";
+      sha256 = "c6ff664cd1d80bd36f1bbcffa239f3f8d7b31e5b68918001b1a26bd91ea49376";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/th/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/th/thunderbird-91.8.1.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "a3306d06a99bd4ae38b3289e9feaef2cb3e21fb46936ca1e369a21d114d033ec";
+      sha256 = "ad27252f979daad7e7e842ff1144ab731fa4e588adc015f3e388ba26f2cf21de";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/tr/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/tr/thunderbird-91.8.1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "03cda6244d38a28e3420028288e3768fa668fb5358d047c6ea463a644e655c53";
+      sha256 = "55581a2277ea6fa27389fa4ffdda72a02a8c3f8b2c92b0b04e7deb2d24840ee4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/uk/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/uk/thunderbird-91.8.1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "29800c3dd81f9851c19ef5c54c6a7bc18fbda218ef76cf5edd22a142b2d2d791";
+      sha256 = "5b687b3839f6c4ce67c71c56965eccd85eab94063fb9bfc5d4e2f30336f3fe0d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/uz/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/uz/thunderbird-91.8.1.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "bb6020331a871f28003df188628cbc157409f3b97160efd02b71127faeff67d9";
+      sha256 = "41344413282a295db0c33e7ba01074b46c69d6267f94b36d10200f2adb42b39e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/vi/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/vi/thunderbird-91.8.1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "8bc4c487dcda84a4a103ef287388c418b95c4ed78c80e2e5936fb654a6df3c43";
+      sha256 = "57bfaac37e13e218d631af0830cef177d342f45a64fc19f86bfc5aa9c940e632";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/zh-CN/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/zh-CN/thunderbird-91.8.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "a41ca9b5e47f7628721ebb397f04e5cab625c5eb297b793a08f8103d9578c45f";
+      sha256 = "417a2b7ca7f3981d171e453ca7ea709fbb05bc2283d874d82a4b002d8e64f816";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.0/linux-i686/zh-TW/thunderbird-91.8.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.8.1/linux-i686/zh-TW/thunderbird-91.8.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "22489a052fc34ab1d364ee305c26b6d495b6ef4381e038427869a85d78ffe274";
+      sha256 = "2c92131700a89dc2c590901cf356705d308aa3520ad3f713ba866fce04edb8c7";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
index 91db452356f..b99d5dedd4b 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
@@ -10,12 +10,12 @@ in
 rec {
   thunderbird = (common rec {
     pname = "thunderbird";
-    version = "91.8.0";
+    version = "91.8.1";
     application = "comm/mail";
     binaryName = pname;
     src = fetchurl {
       url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-      sha512 = "147c7ad68b0a32cc0fd4405935836af1fa77bbce6a1e367b51ef9871e7fc2a8fe908a1d200be34326f4f339d272e62f619b75680201fe82d301ddd02e23824d5";
+      sha512 = "1591f3e9c76c1f2ea7fa5e194a7d030c8657a7855a95c8a177e8067c5aa838f0d8ca2652cd049b4bc88d0c9e604285a47b0c8316c190e2ceadfc1130d1e4de6c";
     };
     extraPatches = [
       # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
diff --git a/pkgs/applications/networking/modem-manager-gui/default.nix b/pkgs/applications/networking/modem-manager-gui/default.nix
index 2723f342043..0eb0a02ed01 100644
--- a/pkgs/applications/networking/modem-manager-gui/default.nix
+++ b/pkgs/applications/networking/modem-manager-gui/default.nix
@@ -2,6 +2,7 @@
 , pkg-config
 , python3
 , fetchFromGitLab
+, fetchpatch
 , gtk3
 , glib
 , gdbm
@@ -44,6 +45,20 @@ stdenv.mkDerivation rec {
     libayatana-appindicator-gtk3
   ];
 
+  patches = [
+    # Fix missing tray icon
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian/modem-manager-gui/-/raw/7c3e67a1cf7788d7a4b86be12803870d79aa27f2/debian/patches/fix-tray-icon.patch";
+      sha256 = "sha256-9LjCEQl8YfraVlO1W7+Yy7egLAPu5YfnvGvCI3uGFh8=";
+    })
+    # Fix build with meson 0.61
+    # appdata/meson.build:3:5: ERROR: Function does not take positional arguments.
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian/modem-manager-gui/-/raw/7c3e67a1cf7788d7a4b86be12803870d79aa27f2/debian/patches/meson0.61.patch";
+      sha256 = "sha256-B+tBPIz5RxOwZWYEWttqSKGw2Wbfk0mnBY0Zy0evvAQ=";
+    })
+  ];
+
   postPatch = ''
     patchShebangs man/manhelper.py
   '';
diff --git a/pkgs/applications/networking/n8n/node-packages.nix b/pkgs/applications/networking/n8n/node-packages.nix
index 54740d72894..c0a2b9a5fd9 100644
--- a/pkgs/applications/networking/n8n/node-packages.nix
+++ b/pkgs/applications/networking/n8n/node-packages.nix
@@ -148,6 +148,24 @@ let
         sha512 = "3b94XDdRLqL7OlE7OjWg/4pgG825Juw8PLVEDm6h5pio0gMU89ICxfatGxHsBxMGfqad+wnvdmUweZWlELDFpQ==";
       };
     };
+    "@fortawesome/fontawesome-common-types-6.1.1" = {
+      name = "_at_fortawesome_slash_fontawesome-common-types";
+      packageName = "@fortawesome/fontawesome-common-types";
+      version = "6.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz";
+        sha512 = "wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==";
+      };
+    };
+    "@fortawesome/free-regular-svg-icons-6.1.1" = {
+      name = "_at_fortawesome_slash_free-regular-svg-icons";
+      packageName = "@fortawesome/free-regular-svg-icons";
+      version = "6.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.1.1.tgz";
+        sha512 = "xXiW7hcpgwmWtndKPOzG+43fPH7ZjxOaoeyooptSztGmJxCAflHZxXNK0GcT0uEsR4jTGQAfGklDZE5NHoBhKg==";
+      };
+    };
     "@icetee/ftp-0.3.15" = {
       name = "_at_icetee_slash_ftp";
       packageName = "@icetee/ftp";
@@ -337,6 +355,15 @@ let
         sha512 = "/5O7Fq6Vnv8L6ucmPjaWbVG1XkP4FO+w5glqfkIsq3Xw4oyNAdJddbnYodNDAfjVUvo/rrSCTom4kAND7T1o5Q==";
       };
     };
+    "@techteamer/ocsp-1.0.0" = {
+      name = "_at_techteamer_slash_ocsp";
+      packageName = "@techteamer/ocsp";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@techteamer/ocsp/-/ocsp-1.0.0.tgz";
+        sha512 = "lNAOoFHaZN+4huo30ukeqVrUmfC+avoEBYQ11QAnAw1PFhnI5oBCg8O/TNiCoEWix7gNGBIEjrQwtPREqKMPog==";
+      };
+    };
     "@tokenizer/token-0.1.1" = {
       name = "_at_tokenizer_slash_token";
       packageName = "@tokenizer/token";
@@ -481,22 +508,22 @@ let
         sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
       };
     };
-    "@types/node-12.20.48" = {
+    "@types/node-12.20.50" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.20.48";
+      version = "12.20.50";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.20.48.tgz";
-        sha512 = "4kxzqkrpwYtn6okJUcb2lfUu9ilnb3yhUOH6qX3nug8D2DupZ2drIkff2yJzYcNJVl3begnlcaBJ7tqiTTzjnQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.20.50.tgz";
+        sha512 = "+9axpWx2b2JCVovr7Ilgt96uc6C1zBKOQMpGtRbWT9IoR/8ue32GGMfGA4woP8QyP2gBs6GQWEVM3tCybGCxDA==";
       };
     };
-    "@types/node-17.0.25" = {
+    "@types/node-17.0.31" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "17.0.25";
+      version = "17.0.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.25.tgz";
-        sha512 = "wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz";
+        sha512 = "AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==";
       };
     };
     "@types/node-fetch-2.6.1" = {
@@ -634,13 +661,13 @@ let
         sha512 = "H5aqjkogmFxfaOrfn/e42vyspHVXuJ8er63KuljJXpOyJ1ZO/U5CrHfO8BLKIy2w7mBM02L5quL0vbfQqrGQbA==";
       };
     };
-    "acorn-8.7.0" = {
+    "acorn-8.7.1" = {
       name = "acorn";
       packageName = "acorn";
-      version = "8.7.0";
+      version = "8.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz";
-        sha512 = "V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==";
+        url = "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz";
+        sha512 = "Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==";
       };
     };
     "acorn-walk-8.2.0" = {
@@ -850,15 +877,6 @@ let
         sha512 = "ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==";
       };
     };
-    "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==";
-      };
-    };
     "asn1.js-5.4.1" = {
       name = "asn1.js";
       packageName = "asn1.js";
@@ -868,15 +886,6 @@ let
         sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==";
       };
     };
-    "asn1.js-rfc2560-4.0.6" = {
-      name = "asn1.js-rfc2560";
-      packageName = "asn1.js-rfc2560";
-      version = "4.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asn1.js-rfc2560/-/asn1.js-rfc2560-4.0.6.tgz";
-        sha512 = "ysf48ni+f/efNPilq4+ApbifUPcSW/xbDeQAh055I+grr2gXgNRQqHew7kkO70WSMQ2tEOURVwsK+dJqUNjIIg==";
-      };
-    };
     "asn1.js-rfc2560-5.0.1" = {
       name = "asn1.js-rfc2560";
       packageName = "asn1.js-rfc2560";
@@ -886,15 +895,6 @@ let
         sha512 = "1PrVg6kuBziDN3PGFmRk3QrjpKvP9h/Hv5yMrFZvC1kpzP6dQRzf5BpKstANqHBkaOUmTpakJWhicTATOA/SbA==";
       };
     };
-    "asn1.js-rfc5280-2.0.1" = {
-      name = "asn1.js-rfc5280";
-      packageName = "asn1.js-rfc5280";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asn1.js-rfc5280/-/asn1.js-rfc5280-2.0.1.tgz";
-        sha512 = "1e2ypnvTbYD/GdxWK77tdLBahvo1fZUHlQJqAVUuZWdYj0rdjGcf2CWYUtbsyRYpYUMwMWLZFUtLxog8ZXTrcg==";
-      };
-    };
     "asn1.js-rfc5280-3.0.0" = {
       name = "asn1.js-rfc5280";
       packageName = "asn1.js-rfc5280";
@@ -922,15 +922,6 @@ let
         sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
       };
     };
-    "async-1.5.2" = {
-      name = "async";
-      packageName = "async";
-      version = "1.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-1.5.2.tgz";
-        sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
-      };
-    };
     "async-2.6.4" = {
       name = "async";
       packageName = "async";
@@ -949,6 +940,15 @@ let
         sha512 = "spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==";
       };
     };
+    "async-validator-1.8.5" = {
+      name = "async-validator";
+      packageName = "async-validator";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz";
+        sha512 = "tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==";
+      };
+    };
     "asynckit-0.4.0" = {
       name = "asynckit";
       packageName = "asynckit";
@@ -976,13 +976,13 @@ let
         sha512 = "z4oo33lmnvvNRqfUe3YjDGGpqu/L2+wXBIhMtwq6oqZ+exOUAkQYM6zd2VWKF7AIlajOF8ZZuPFfryTG9iLC/w==";
       };
     };
-    "aws-sdk-2.1116.0" = {
+    "aws-sdk-2.1125.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1116.0";
+      version = "2.1125.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1116.0.tgz";
-        sha512 = "36JFrxPPh/fRQWsgGrZZbzTxRu7dq4KyCKKXPxgVMXylEJsG/KEAVMB1f3eq4PiI5eGxYrpt2OkKoMQZQZLjPA==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1125.0.tgz";
+        sha512 = "2syNkKDqDcDmB/chc61a5xx+KYzaarLs1/KshE0b1Opp2oSq2FARyUBbk59HgwKaDUB61uPF33ZG9sHiIVx2hQ==";
       };
     };
     "aws-sign2-0.7.0" = {
@@ -1012,13 +1012,31 @@ let
         sha512 = "ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==";
       };
     };
-    "axios-retry-3.2.4" = {
+    "axios-retry-3.2.5" = {
       name = "axios-retry";
       packageName = "axios-retry";
-      version = "3.2.4";
+      version = "3.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/axios-retry/-/axios-retry-3.2.5.tgz";
+        sha512 = "a8umkKbfIkTiYJQLx3v3TzKM85TGKB8ZQYz4zwykt2fpO64TsRlUhjaPaAb3fqMWCXFm2YhWcd8V5FHDKO9bSA==";
+      };
+    };
+    "babel-helper-vue-jsx-merge-props-2.0.3" = {
+      name = "babel-helper-vue-jsx-merge-props";
+      packageName = "babel-helper-vue-jsx-merge-props";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios-retry/-/axios-retry-3.2.4.tgz";
-        sha512 = "Co3UXiv4npi6lM963mfnuH90/YFLKWWDmoBYfxkHT5xtkSSWNqK9zdG3fw5/CP/dsoKB5aMMJCsgab+tp1OxLQ==";
+        url = "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz";
+        sha512 = "gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==";
+      };
+    };
+    "babel-runtime-6.26.0" = {
+      name = "babel-runtime";
+      packageName = "babel-runtime";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz";
+        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
       };
     };
     "balanced-match-1.0.2" = {
@@ -1174,15 +1192,6 @@ let
         sha512 = "c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==";
       };
     };
-    "body-parser-1.19.2" = {
-      name = "body-parser";
-      packageName = "body-parser";
-      version = "1.19.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz";
-        sha512 = "SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==";
-      };
-    };
     "body-parser-1.20.0" = {
       name = "body-parser";
       packageName = "body-parser";
@@ -1624,13 +1633,13 @@ let
         sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
       };
     };
-    "color-string-1.9.0" = {
+    "color-string-1.9.1" = {
       name = "color-string";
       packageName = "color-string";
-      version = "1.9.0";
+      version = "1.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz";
-        sha512 = "9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==";
+        url = "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz";
+        sha512 = "shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==";
       };
     };
     "color-support-1.1.3" = {
@@ -1813,13 +1822,13 @@ let
         sha512 = "ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==";
       };
     };
-    "cookie-0.4.2" = {
+    "cookie-0.5.0" = {
       name = "cookie";
       packageName = "cookie";
-      version = "0.4.2";
+      version = "0.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz";
-        sha512 = "aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==";
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz";
+        sha512 = "YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==";
       };
     };
     "cookie-parser-1.4.6" = {
@@ -1840,13 +1849,22 @@ let
         sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
       };
     };
-    "core-js-3.22.0" = {
+    "core-js-2.6.12" = {
+      name = "core-js";
+      packageName = "core-js";
+      version = "2.6.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz";
+        sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
+      };
+    };
+    "core-js-3.22.3" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.22.0";
+      version = "3.22.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.22.0.tgz";
-        sha512 = "8h9jBweRjMiY+ORO7bdWSeWfHhLPO7whobj7Z2Bl0IDo00C228EdGgH7FE4jGumbEjzcFfkfW8bXgdkEDhnwHQ==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.22.3.tgz";
+        sha512 = "1t+2a/d2lppW1gkLXx3pKPVGbBdxXAkqztvWb1EJ8oF8O2gIGiytzflNiFEehYwVK/t2ryUsGBoOFFvNx95mbg==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -2011,6 +2029,15 @@ let
         sha1 = "aa24ffb9ac3df9a2351837cfb2d279360cd78492";
       };
     };
+    "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";
@@ -2065,15 +2092,6 @@ let
         sha512 = "tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==";
       };
     };
-    "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";
-      };
-    };
     "depd-2.0.0" = {
       name = "depd";
       packageName = "depd";
@@ -2083,15 +2101,6 @@ let
         sha512 = "g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==";
       };
     };
-    "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";
-      };
-    };
     "destroy-1.2.0" = {
       name = "destroy";
       packageName = "destroy";
@@ -2245,6 +2254,15 @@ let
         sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
       };
     };
+    "element-ui-2.15.8" = {
+      name = "element-ui";
+      packageName = "element-ui";
+      version = "2.15.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/element-ui/-/element-ui-2.15.8.tgz";
+        sha512 = "N54zxosRFqpYax3APY3GeRmtOZwIls6Z756WM0kdPZ5Q92PIeKHnZgF1StlamIg9bLxP1k+qdhTZvIeQlim09A==";
+      };
+    };
     "emoji-regex-8.0.0" = {
       name = "emoji-regex";
       packageName = "emoji-regex";
@@ -2281,13 +2299,13 @@ let
         sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
       };
     };
-    "encoding-japanese-1.0.30" = {
+    "encoding-japanese-2.0.0" = {
       name = "encoding-japanese";
       packageName = "encoding-japanese";
-      version = "1.0.30";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/encoding-japanese/-/encoding-japanese-1.0.30.tgz";
-        sha512 = "bd/DFLAoJetvv7ar/KIpE3CNO8wEuyrt9Xuw6nSMiZ+Vrz/Q21BPsMHvARL2Wz6IKHKXgb+DWZqtRg1vql9cBg==";
+        url = "https://registry.npmjs.org/encoding-japanese/-/encoding-japanese-2.0.0.tgz";
+        sha512 = "++P0RhebUC8MJAwJOsT93dT+5oc5oPImp1HubZpAuCZ5kTLnhuuBhKHj2jJeO/Gj93idPBWmIuQ9QWMe5rX3pQ==";
       };
     };
     "end-of-stream-1.4.4" = {
@@ -2470,13 +2488,13 @@ let
         sha1 = "97e801aa052df02454de46b02bf621642cdc8502";
       };
     };
-    "express-4.17.3" = {
+    "express-4.18.1" = {
       name = "express";
       packageName = "express";
-      version = "4.17.3";
+      version = "4.18.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express/-/express-4.17.3.tgz";
-        sha512 = "yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==";
+        url = "https://registry.npmjs.org/express/-/express-4.18.1.tgz";
+        sha512 = "zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==";
       };
     };
     "extend-3.0.2" = {
@@ -2596,13 +2614,13 @@ let
         sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
       };
     };
-    "finalhandler-1.1.2" = {
+    "finalhandler-1.2.0" = {
       name = "finalhandler";
       packageName = "finalhandler";
-      version = "1.1.2";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz";
-        sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz";
+        sha512 = "5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==";
       };
     };
     "flatted-3.2.5" = {
@@ -2965,13 +2983,13 @@ let
         sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
       };
     };
-    "has-bigints-1.0.1" = {
+    "has-bigints-1.0.2" = {
       name = "has-bigints";
       packageName = "has-bigints";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz";
-        sha512 = "LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==";
+        url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz";
+        sha512 = "tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==";
       };
     };
     "has-flag-4.0.0" = {
@@ -3073,13 +3091,13 @@ let
         sha512 = "eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==";
       };
     };
-    "html-to-text-8.0.0" = {
+    "html-to-text-8.2.0" = {
       name = "html-to-text";
       packageName = "html-to-text";
-      version = "8.0.0";
+      version = "8.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/html-to-text/-/html-to-text-8.0.0.tgz";
-        sha512 = "fEtul1OerF2aMEV+Wpy+Ue20tug134jOY1GIudtdqZi7D0uTudB2tVJBKfVhTL03dtqeJoF8gk8EPX9SyMEvLg==";
+        url = "https://registry.npmjs.org/html-to-text/-/html-to-text-8.2.0.tgz";
+        sha512 = "CLXExYn1b++Lgri+ZyVvbUEFwzkLZppjjZOwB7X1qv2jIi8MrMEvxWX5KQ7zATAzTvcqgmtO00M2kCRMtEdOKQ==";
       };
     };
     "htmlparser2-6.1.0" = {
@@ -3091,15 +3109,6 @@ let
         sha512 = "gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==";
       };
     };
-    "http-errors-1.8.1" = {
-      name = "http-errors";
-      packageName = "http-errors";
-      version = "1.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz";
-        sha512 = "Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==";
-      };
-    };
     "http-errors-2.0.0" = {
       name = "http-errors";
       packageName = "http-errors";
@@ -3127,15 +3136,6 @@ let
         sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
       };
     };
-    "http-signature-1.3.6" = {
-      name = "http-signature";
-      packageName = "http-signature";
-      version = "1.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz";
-        sha512 = "3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==";
-      };
-    };
     "https-proxy-agent-5.0.1" = {
       name = "https-proxy-agent";
       packageName = "https-proxy-agent";
@@ -3163,15 +3163,6 @@ let
         sha512 = "kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==";
       };
     };
-    "iconv-lite-0.6.2" = {
-      name = "iconv-lite";
-      packageName = "iconv-lite";
-      version = "0.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz";
-        sha512 = "2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==";
-      };
-    };
     "iconv-lite-0.6.3" = {
       name = "iconv-lite";
       packageName = "iconv-lite";
@@ -3469,6 +3460,15 @@ let
         sha512 = "k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==";
       };
     };
+    "is-plain-object-5.0.0" = {
+      name = "is-plain-object";
+      packageName = "is-plain-object";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz";
+        sha512 = "VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==";
+      };
+    };
     "is-promise-1.0.1" = {
       name = "is-promise";
       packageName = "is-promise";
@@ -3766,15 +3766,6 @@ let
         sha512 = "P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==";
       };
     };
-    "jsprim-2.0.2" = {
-      name = "jsprim";
-      packageName = "jsprim";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz";
-        sha512 = "gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==";
-      };
-    };
     "jwa-1.4.1" = {
       name = "jwa";
       packageName = "jwa";
@@ -3847,22 +3838,22 @@ let
         sha512 = "l+nePcPbIG1fNlqMzrh68MLkX/gTxk/+vdvAb388Ssi7UuUN31MI44w4Yf33mM3Cm4xDfw48mdf3rkdHszLNew==";
       };
     };
-    "libmime-5.0.0" = {
+    "libmime-5.1.0" = {
       name = "libmime";
       packageName = "libmime";
-      version = "5.0.0";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libmime/-/libmime-5.0.0.tgz";
-        sha512 = "2Bm96d5ktnE217Ib1FldvUaPAaOst6GtZrsxJCwnJgi9lnsoAKIHyU0sae8rNx6DNYbjdqqh8lv5/b9poD8qOg==";
+        url = "https://registry.npmjs.org/libmime/-/libmime-5.1.0.tgz";
+        sha512 = "xOqorG21Va+3CjpFOfFTU7SWohHH2uIX9ZY4Byz6J+lvpfvc486tOAT/G9GfbrKtJ9O7NCX9o0aC2lxqbnZ9EA==";
       };
     };
-    "libphonenumber-js-1.9.51" = {
+    "libphonenumber-js-1.9.52" = {
       name = "libphonenumber-js";
       packageName = "libphonenumber-js";
-      version = "1.9.51";
+      version = "1.9.52";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.51.tgz";
-        sha512 = "MGidRDs7s2nUybwrB/UjZT4nPXZPYQZQTu/sF3/O2v/DocmD8N6G+a9kwDt2qm7DaOo35XRt7hAIbYL+ml942Q==";
+        url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.52.tgz";
+        sha512 = "8k83chc+zMj+J/RkaBxi0PpSTAdzHmpqzCMqquSJVRfbZFr8DCp6vPC7ms2PIPGxeqajZLI6CBLW5nLCJCJrYg==";
       };
     };
     "libqp-1.1.0" = {
@@ -3883,13 +3874,13 @@ let
         sha512 = "FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==";
       };
     };
-    "linkify-it-3.0.3" = {
+    "linkify-it-4.0.0" = {
       name = "linkify-it";
       packageName = "linkify-it";
-      version = "3.0.3";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz";
-        sha512 = "ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==";
+        url = "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.0.tgz";
+        sha512 = "QAxkXyzT/TXgwGyY4rTgC95Ex6/lZ5/lYTV9nug6eJt93BCBQGOE47D/g2+/m5J1MrVLr2ot97OXkBZ9bBpR4A==";
       };
     };
     "localtunnel-2.0.2" = {
@@ -4162,22 +4153,22 @@ let
         sha512 = "MlAQQVMFhGk4WUA6gpfsy0QycnKP0+NlCBJRVRNPxxSIbjrCbQ65nrpJD3FVyJNZLuJ0uoqL57ye6BmDYgHaSw==";
       };
     };
-    "mailparser-3.4.0" = {
+    "mailparser-3.5.0" = {
       name = "mailparser";
       packageName = "mailparser";
-      version = "3.4.0";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mailparser/-/mailparser-3.4.0.tgz";
-        sha512 = "u2pfpLg+xr7m2FKDl+ohQhy2gMok1QZ+S9E5umS9ez5DSJWttrqSmBGswyj9F68pZMVTwbhLpBt7Kd04q/W4Vw==";
+        url = "https://registry.npmjs.org/mailparser/-/mailparser-3.5.0.tgz";
+        sha512 = "mdr2DFgz8LKC0/Q6io6znA0HVnzaPFT0a4TTnLeZ7mWHlkfnm227Wxlq7mHh7AgeP32h7gOUpXvyhSfJJIEeyg==";
       };
     };
-    "mailsplit-5.3.1" = {
+    "mailsplit-5.3.2" = {
       name = "mailsplit";
       packageName = "mailsplit";
-      version = "5.3.1";
+      version = "5.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mailsplit/-/mailsplit-5.3.1.tgz";
-        sha512 = "o6R6HCzqWYmI2/IYlB+v2IMPgYqC2EynmagZQICAhR7zAq0CO6fPcsO6CrYmVuYT+SSwvLAEZR5WniohBELcAA==";
+        url = "https://registry.npmjs.org/mailsplit/-/mailsplit-5.3.2.tgz";
+        sha512 = "coES12hhKqagkuBTJoqERX+y9bXNpxbxw3Esd07auuwKYmcagouVlgucyIVRp48fnswMKxcUtLoFn/L1a75ynQ==";
       };
     };
     "make-dir-3.1.0" = {
@@ -4513,49 +4504,49 @@ let
         sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
       };
     };
-    "n8n-core-0.114.0" = {
+    "n8n-core-0.116.0" = {
       name = "n8n-core";
       packageName = "n8n-core";
-      version = "0.114.0";
+      version = "0.116.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.114.0.tgz";
-        sha512 = "B1cDM9OCEJ2xeatvTHtMm3TQvaef5/7NA0kULX6XsvnMhv21k5/Nzvb5Ky1lrXB5DxkdzQdiAwtojh/GDQs4UA==";
+        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.116.0.tgz";
+        sha512 = "D9X+D7gsUTKMacHIixEJuZpOB7DW/g42W+FBKLrj+6BUP1JMKG02G0C+Ef38e2XuNObMoLdLkI70snyvi1oq1g==";
       };
     };
-    "n8n-design-system-0.17.0" = {
+    "n8n-design-system-0.19.0" = {
       name = "n8n-design-system";
       packageName = "n8n-design-system";
-      version = "0.17.0";
+      version = "0.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.17.0.tgz";
-        sha512 = "7Gcy0uAiNjLIuVEPOb4UABhUgFA7ov287g2RMnAysC2edI4G7oeSvzMl/rlRojOGlTY4zjKiV6Wz4bkDlkiVbw==";
+        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.19.0.tgz";
+        sha512 = "qIcmHAtVJotgiYo3vVMLwC9qaU5ih5ti4+aPu2I1onD6WEu8GMNF38AzIAceYl6U8EhvDB+DOsF/SjYHfl26iw==";
       };
     };
-    "n8n-editor-ui-0.140.0" = {
+    "n8n-editor-ui-0.142.0" = {
       name = "n8n-editor-ui";
       packageName = "n8n-editor-ui";
-      version = "0.140.0";
+      version = "0.142.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.140.0.tgz";
-        sha512 = "FzJhsid5OxdUvL5R4IYA6iflrGdpuwJUwe1SqeP5OQJVHw345PJ+MeJ7I5+viDF2nJ8rZRQ9boFSW+N/YHh+ZQ==";
+        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.142.0.tgz";
+        sha512 = "aDXm64Y+tcLicd0z9pIxhSfqCb/JjsMIAOJ7DB35HKg7riOE7TGBHkWQ6F61XEjusJLl6ZGr15V+9EoCTu+02g==";
       };
     };
-    "n8n-nodes-base-0.171.0" = {
+    "n8n-nodes-base-0.173.0" = {
       name = "n8n-nodes-base";
       packageName = "n8n-nodes-base";
-      version = "0.171.0";
+      version = "0.173.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.171.0.tgz";
-        sha512 = "qYOjGs95rNItY+65pXoSJWkXQIKh2CxDTOBmx4LPKrWUJ1oLNQBxhFakmlJOQ37+J4nwkwe/wE5WfwHzs2BfdA==";
+        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.173.0.tgz";
+        sha512 = "9ya0cgRMk6iz01m2shZHahe4KurL89/T+iGLywrUZdPdIRni7LR4ywSG51B4jko73+zsKPNYjya650BGNz7TaQ==";
       };
     };
-    "n8n-workflow-0.96.0" = {
+    "n8n-workflow-0.98.0" = {
       name = "n8n-workflow";
       packageName = "n8n-workflow";
-      version = "0.96.0";
+      version = "0.98.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.96.0.tgz";
-        sha512 = "FLghjASJdhcWjYPL1C6AJeWXsK79vQJuniFL7p1mIg8s4bHdyU+M+9mDLOwzZqAnEktOWzxTAoorDRnfEY67ug==";
+        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.98.0.tgz";
+        sha512 = "MrlEpSUueIkMc9P75h09ozXN2SQyV26qEe2PlQ9+nwRnCPYkikQQtgYZDqQI+bHVHFCMdBZOnq59fse0cMpYfQ==";
       };
     };
     "named-placeholders-1.1.2" = {
@@ -4657,22 +4648,22 @@ let
         sha512 = "ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==";
       };
     };
-    "node-html-markdown-1.1.3" = {
+    "node-html-markdown-1.2.0" = {
       name = "node-html-markdown";
       packageName = "node-html-markdown";
-      version = "1.1.3";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-html-markdown/-/node-html-markdown-1.1.3.tgz";
-        sha512 = "iB5Nb8eQjeKHr1k9ot0FkVo5uah6IvYzSbOiNPbmtMt8OWf8os9TCsGEg1Xf51xwYLW461AvKl74HVjiMxvblg==";
+        url = "https://registry.npmjs.org/node-html-markdown/-/node-html-markdown-1.2.0.tgz";
+        sha512 = "mGA53bSqo7j62PjmMuFPdO0efNT9pqiGYhQTNVCWkY7PdduRIECJF7n7NOrr5cb+d/js1GdYRLpoTYDwawRk6A==";
       };
     };
-    "node-html-parser-4.1.5" = {
+    "node-html-parser-5.3.3" = {
       name = "node-html-parser";
       packageName = "node-html-parser";
-      version = "4.1.5";
+      version = "5.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-html-parser/-/node-html-parser-4.1.5.tgz";
-        sha512 = "NLgqUXtftqnBqIjlRjYSaApaqE7TTxfTiH4VqKCjdUJKFOtUzRwney83EHz2qYc0XoxXAkYdmLjENCuZHvsIFg==";
+        url = "https://registry.npmjs.org/node-html-parser/-/node-html-parser-5.3.3.tgz";
+        sha512 = "ncg1033CaX9UexbyA7e1N0aAoAYRDiV8jkTvzEnfd1GDvzFdrsXLzR4p4ik8mwLgnaKP/jyUFWDy9q3jvRT2Jw==";
       };
     };
     "node-ssh-12.0.4" = {
@@ -4693,22 +4684,22 @@ let
         sha1 = "64ab69a7bdbaf03ce107b4f0335c87c0b9e91b1d";
       };
     };
-    "nodemailer-6.7.0" = {
+    "nodemailer-6.7.3" = {
       name = "nodemailer";
       packageName = "nodemailer";
-      version = "6.7.0";
+      version = "6.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.0.tgz";
-        sha512 = "AtiTVUFHLiiDnMQ43zi0YgkzHOEWUkhDgPlBXrsDzJiJvB29Alo4OKxHQ0ugF3gRqRQIneCLtZU3yiUo7pItZw==";
+        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.3.tgz";
+        sha512 = "KUdDsspqx89sD4UUyUKzdlUOper3hRkDVkrKh/89G+d9WKsU5ox51NWS4tB1XR5dPUdR4SP0E3molyEfOvSa3g==";
       };
     };
-    "nodemailer-6.7.3" = {
+    "nodemailer-6.7.4" = {
       name = "nodemailer";
       packageName = "nodemailer";
-      version = "6.7.3";
+      version = "6.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.3.tgz";
-        sha512 = "KUdDsspqx89sD4UUyUKzdlUOper3hRkDVkrKh/89G+d9WKsU5ox51NWS4tB1XR5dPUdR4SP0E3molyEfOvSa3g==";
+        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.4.tgz";
+        sha512 = "TBSS3qS8WG45ycUwEvEA/3UM1o3sLz9jUl4TPUKPz4ImWWM6UgRCb5pLO+HOouDKEj57yNLOrzQlO8+9IjWZoA==";
       };
     };
     "nopt-5.0.0" = {
@@ -4738,6 +4729,15 @@ let
         sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
       };
     };
+    "normalize-wheel-1.0.1" = {
+      name = "normalize-wheel";
+      packageName = "normalize-wheel";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz";
+        sha1 = "aec886affdb045070d856447df62ecf86146ec45";
+      };
+    };
     "npmlog-5.0.1" = {
       name = "npmlog";
       packageName = "npmlog";
@@ -4819,24 +4819,6 @@ let
         sha512 = "VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==";
       };
     };
-    "ocsp-1.2.0" = {
-      name = "ocsp";
-      packageName = "ocsp";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ocsp/-/ocsp-1.2.0.tgz";
-        sha1 = "469a1776b457dee67eb0201408c1946bac4076cc";
-      };
-    };
-    "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-finished-2.4.1" = {
       name = "on-finished";
       packageName = "on-finished";
@@ -5017,6 +4999,15 @@ let
         sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6";
       };
     };
+    "parse-srcset-1.0.2" = {
+      name = "parse-srcset";
+      packageName = "parse-srcset";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz";
+        sha1 = "f2bd221f6cc970a938d88556abc589caaaa2bde1";
+      };
+    };
     "parse5-5.1.1" = {
       name = "parse5";
       packageName = "parse5";
@@ -5278,6 +5269,15 @@ let
         sha512 = "FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==";
       };
     };
+    "picocolors-1.0.0" = {
+      name = "picocolors";
+      packageName = "picocolors";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz";
+        sha512 = "1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==";
+      };
+    };
     "picomatch-2.3.1" = {
       name = "picomatch";
       packageName = "picomatch";
@@ -5350,6 +5350,15 @@ let
         sha512 = "epKaq3TTfTzXcxBxjpoKYMcTTcAX8Rykus6QZu77XNhJuRHSRxMd+JJrbX/3PFI0opFGSN0BabbAYCbGxbu0mA==";
       };
     };
+    "postcss-8.4.13" = {
+      name = "postcss";
+      packageName = "postcss";
+      version = "8.4.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz";
+        sha512 = "jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==";
+      };
+    };
     "postgres-array-2.0.0" = {
       name = "postgres-array";
       packageName = "postgres-array";
@@ -5584,15 +5593,6 @@ let
         sha512 = "qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==";
       };
     };
-    "qs-6.9.7" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.9.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz";
-        sha512 = "IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==";
-      };
-    };
     "querystring-0.2.0" = {
       name = "querystring";
       packageName = "querystring";
@@ -5674,15 +5674,6 @@ let
         sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==";
       };
     };
-    "raw-body-2.4.3" = {
-      name = "raw-body";
-      packageName = "raw-body";
-      version = "2.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz";
-        sha512 = "UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==";
-      };
-    };
     "raw-body-2.5.1" = {
       name = "raw-body";
       packageName = "raw-body";
@@ -5782,6 +5773,15 @@ let
         sha512 = "Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==";
       };
     };
+    "regenerator-runtime-0.11.1" = {
+      name = "regenerator-runtime";
+      packageName = "regenerator-runtime";
+      version = "0.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
+        sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==";
+      };
+    };
     "regenerator-runtime-0.13.9" = {
       name = "regenerator-runtime";
       packageName = "regenerator-runtime";
@@ -5845,13 +5845,13 @@ let
         sha512 = "wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==";
       };
     };
-    "requestretry-7.0.2" = {
+    "requestretry-7.1.0" = {
       name = "requestretry";
       packageName = "requestretry";
-      version = "7.0.2";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/requestretry/-/requestretry-7.0.2.tgz";
-        sha512 = "Zz8z7G2OuVs4F0wR0shKMEMm7lNvPNHM0UIHNns9qfyuBDKSExoTsZGtSjKst6nPEwlMrbA9G+m/yC0AbGj+8w==";
+        url = "https://registry.npmjs.org/requestretry/-/requestretry-7.1.0.tgz";
+        sha512 = "TqVDgp251BW4b8ddQ2ptaj/57Z3LZHLscAUT7v6qs70buqF2/IoOVjYbpjJ6HiW7j5+waqegGI8xKJ/+uzgDmw==";
       };
     };
     "require-at-1.0.6" = {
@@ -5881,6 +5881,15 @@ let
         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==";
+      };
+    };
     "restore-cursor-3.1.0" = {
       name = "restore-cursor";
       packageName = "restore-cursor";
@@ -6025,6 +6034,15 @@ let
         sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
+    "sanitize-html-2.7.0" = {
+      name = "sanitize-html";
+      packageName = "sanitize-html";
+      version = "2.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.7.0.tgz";
+        sha512 = "jfQelabOn5voO7FAfnQF7v+jsA6z9zC/O4ec0z3E35XPEtHYJT/OdUziVWlKW4irCr2kXaQAyXTXDHWAibg1tA==";
+      };
+    };
     "sax-1.2.1" = {
       name = "sax";
       packageName = "sax";
@@ -6106,13 +6124,13 @@ let
         sha512 = "QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==";
       };
     };
-    "send-0.17.2" = {
+    "send-0.18.0" = {
       name = "send";
       packageName = "send";
-      version = "0.17.2";
+      version = "0.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.17.2.tgz";
-        sha512 = "UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==";
+        url = "https://registry.npmjs.org/send/-/send-0.18.0.tgz";
+        sha512 = "qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==";
       };
     };
     "sentence-case-3.0.4" = {
@@ -6142,13 +6160,13 @@ let
         sha512 = "SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==";
       };
     };
-    "serve-static-1.14.2" = {
+    "serve-static-1.15.0" = {
       name = "serve-static";
       packageName = "serve-static";
-      version = "1.14.2";
+      version = "1.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz";
-        sha512 = "+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==";
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz";
+        sha512 = "XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==";
       };
     };
     "servie-4.3.3" = {
@@ -6205,13 +6223,13 @@ let
         sha1 = "68fd025eb0490b4f567a027f0bf22480b5f84133";
       };
     };
-    "showdown-2.0.3" = {
+    "showdown-2.1.0" = {
       name = "showdown";
       packageName = "showdown";
-      version = "2.0.3";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/showdown/-/showdown-2.0.3.tgz";
-        sha512 = "jHytkv5c5YFTAOYIIaTT1zLL/aC+7C1FiP0CIGQozhHnnFSbor1oYkaNqWFL6CpB3zJNPPSxJrAlsHgzN14knQ==";
+        url = "https://registry.npmjs.org/showdown/-/showdown-2.1.0.tgz";
+        sha512 = "/6NVYu4U819R2pUIk79n67SYgJHWCce0a5xTP979WbNp0FL9MN1I1QK662IDU1b6JzKTvmhgI7T7JYIxBi3kMQ==";
       };
     };
     "side-channel-1.0.4" = {
@@ -6232,13 +6250,13 @@ let
         sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
       };
     };
-    "simple-git-3.6.0" = {
+    "simple-git-3.7.1" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "3.6.0";
+      version = "3.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.6.0.tgz";
-        sha512 = "2e+4QhOVO59GeLsHgwSMKNrSKCnuACeA/gMNrLCYR8ID9qwm4hViVt4WsODcUGjx//KDv6GMLC6Hs/MeosgXxg==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.7.1.tgz";
+        sha512 = "+Osjtsumbtew2y9to0pOYjNzSIr4NkKGBg7Po5SUtjQhaJf2QBmiTX/9E9cv9rmc7oUiSGFIB9e7ys5ibnT9+A==";
       };
     };
     "simple-lru-cache-0.0.2" = {
@@ -6277,13 +6295,13 @@ let
         sha512 = "LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==";
       };
     };
-    "snowflake-sdk-1.6.8" = {
+    "snowflake-sdk-1.6.9" = {
       name = "snowflake-sdk";
       packageName = "snowflake-sdk";
-      version = "1.6.8";
+      version = "1.6.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snowflake-sdk/-/snowflake-sdk-1.6.8.tgz";
-        sha512 = "ZmzeR2W4mQVri546mUxUW+jBxTn0JRKm06EtndO7MUFLcS8YChf60tXTa+s7A0hO8FxQkSQAFonCmtz4nzPoSA==";
+        url = "https://registry.npmjs.org/snowflake-sdk/-/snowflake-sdk-1.6.9.tgz";
+        sha512 = "Rt16zh5t++mZH+CXUBq3sYUUaEQnEMKT86mFtzfgIUk8MnZFJ4qBOwdheSWYU7OI9QnLqLmy8nZN40o9CFgm5A==";
       };
     };
     "source-map-0.6.1" = {
@@ -6295,6 +6313,15 @@ let
         sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
       };
     };
+    "source-map-js-1.0.2" = {
+      name = "source-map-js";
+      packageName = "source-map-js";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz";
+        sha512 = "R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==";
+      };
+    };
     "spex-3.2.0" = {
       name = "spex";
       packageName = "spex";
@@ -6340,13 +6367,13 @@ let
         sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
       };
     };
-    "sqlite3-5.0.4" = {
+    "sqlite3-5.0.6" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "5.0.4";
+      version = "5.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.4.tgz";
-        sha512 = "ATvAe7JutFv/d+KTbLS58KsKn/t1raL/WGn2qZfZxwsrL/oGSP+0OlbQ2tX5jISvyu6/7JuKze3WkaiP1JAH6A==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.6.tgz";
+        sha512 = "uT1dC6N3ReF+jchY01zvl1wVFFJ5xO86wSnCpK39uA/zmAHBDm6TiAq1v876QKv8JgiijxQ7/fb5C2LPm7ZAJA==";
       };
     };
     "sqlstring-2.3.3" = {
@@ -6376,13 +6403,13 @@ let
         sha512 = "+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==";
       };
     };
-    "ssh2-1.9.0" = {
+    "ssh2-1.10.0" = {
       name = "ssh2";
       packageName = "ssh2";
-      version = "1.9.0";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssh2/-/ssh2-1.9.0.tgz";
-        sha512 = "rhhIZT0eMPvCBSOG8CpqZZ7gre2vgXaIqmb3Jb83t88rjsxIsFzDanqBJM9Ns8BmP1835A5IbQ199io4EUZwOA==";
+        url = "https://registry.npmjs.org/ssh2/-/ssh2-1.10.0.tgz";
+        sha512 = "OnKAAmf4j8wCRrXXZv3Tp5lCZkLJZtgZbn45ELiShCg27djDQ3XFGvIzuGsIsf4hdHslP+VdhA9BhUQdTdfd9w==";
       };
     };
     "ssh2-sftp-client-7.2.3" = {
@@ -6421,15 +6448,6 @@ let
         sha512 = "qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==";
       };
     };
-    "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";
-      };
-    };
     "statuses-2.0.1" = {
       name = "statuses";
       packageName = "statuses";
@@ -6637,6 +6655,15 @@ let
         sha1 = "1a1918d402d8fc3f98fbf234db0bcc8cc10e9726";
       };
     };
+    "throttle-debounce-1.1.0" = {
+      name = "throttle-debounce";
+      packageName = "throttle-debounce";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz";
+        sha512 = "XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==";
+      };
+    };
     "through-2.3.8" = {
       name = "through";
       packageName = "through";
@@ -6691,13 +6718,13 @@ let
         sha512 = "vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==";
       };
     };
-    "tlds-1.224.0" = {
+    "tlds-1.231.0" = {
       name = "tlds";
       packageName = "tlds";
-      version = "1.224.0";
+      version = "1.231.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tlds/-/tlds-1.224.0.tgz";
-        sha512 = "Jgdc8SEijbDFUsmCn6Wk/f7E6jBLFZOG3U1xK0amGSfEH55Xx97ItUS/d2NngsuApjn11UeWCWj8Um3VRhseZQ==";
+        url = "https://registry.npmjs.org/tlds/-/tlds-1.231.0.tgz";
+        sha512 = "L7UQwueHSkGxZHQBXHVmXW64oi+uqNtzFt2x6Ssk7NVnpIbw16CRs4eb/jmKOZ9t2JnqZ/b3Cfvo97lnXqKrhw==";
       };
     };
     "tmp-0.0.33" = {
@@ -6835,13 +6862,13 @@ let
         sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
       };
     };
-    "tslib-2.3.1" = {
+    "tslib-2.4.0" = {
       name = "tslib";
       packageName = "tslib";
-      version = "2.3.1";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz";
-        sha512 = "77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==";
+        url = "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz";
+        sha512 = "d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==";
       };
     };
     "tsscmp-1.0.6" = {
@@ -6943,13 +6970,13 @@ let
         sha512 = "KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==";
       };
     };
-    "unbox-primitive-1.0.1" = {
+    "unbox-primitive-1.0.2" = {
       name = "unbox-primitive";
       packageName = "unbox-primitive";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz";
-        sha512 = "tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==";
+        url = "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz";
+        sha512 = "61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==";
       };
     };
     "unc-path-regex-0.1.2" = {
@@ -6961,13 +6988,13 @@ let
         sha1 = "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa";
       };
     };
-    "underscore-1.13.2" = {
+    "underscore-1.13.3" = {
       name = "underscore";
       packageName = "underscore";
-      version = "1.13.2";
+      version = "1.13.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz";
-        sha512 = "ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==";
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.13.3.tgz";
+        sha512 = "QvjkYpiD+dJJraRA8+dGAU4i7aBbb2s0S3jA45TFOvg2VgqvdCDd/3N6CqA8gluk1W91GLoXg5enMUx560QzuA==";
       };
     };
     "unique-stream-2.3.1" = {
@@ -7507,47 +7534,47 @@ in
   n8n = nodeEnv.buildNodePackage {
     name = "n8n";
     packageName = "n8n";
-    version = "0.173.0";
+    version = "0.175.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/n8n/-/n8n-0.173.0.tgz";
-      sha512 = "V4VPLLYpTWoSs3RE5s6IunrKlEdQEEpwXYYdLqZld4/nTyFrJkFcrTa7LlbmpYUSrLAL7VAPfjJLz/8gUxKTRw==";
+      url = "https://registry.npmjs.org/n8n/-/n8n-0.175.0.tgz";
+      sha512 = "FKIroWsEZNZ/HUdM6iQ8QY6WxYs4uQufodBoKpbcu6JJKF/ufYO4U8lpIM0nV2YCMaB+JAVvswim0SUDB6KF3A==";
     };
     dependencies = [
       (sources."@azure/abort-controller-1.0.5" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."@azure/core-asynciterator-polyfill-1.0.2"
       (sources."@azure/core-auth-1.3.2" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       (sources."@azure/core-http-2.2.4" // {
         dependencies = [
           sources."tough-cookie-4.0.0"
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       (sources."@azure/core-lro-2.2.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       (sources."@azure/core-paging-1.2.1" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       (sources."@azure/core-tracing-1.0.0-preview.13" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       (sources."@azure/logger-1.0.3" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."@azure/ms-rest-azure-env-2.0.0"
@@ -7559,7 +7586,7 @@ in
       sources."@azure/ms-rest-nodeauth-3.1.1"
       (sources."@azure/storage-blob-12.9.0" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."@babel/runtime-7.17.9"
@@ -7571,6 +7598,8 @@ in
         ];
       })
       sources."@fontsource/open-sans-4.5.8"
+      sources."@fortawesome/fontawesome-common-types-6.1.1"
+      sources."@fortawesome/free-regular-svg-icons-6.1.1"
       sources."@icetee/ftp-0.3.15"
       sources."@kafkajs/confluent-schema-registry-1.0.6"
       sources."@kwsites/file-exists-1.1.1"
@@ -7582,7 +7611,7 @@ in
       sources."@oclif/command-1.8.16"
       (sources."@oclif/config-1.18.3" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       (sources."@oclif/errors-1.3.5" // {
@@ -7593,13 +7622,13 @@ in
       (sources."@oclif/help-1.0.1" // {
         dependencies = [
           sources."@oclif/config-1.18.2"
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."@oclif/linewrap-1.0.0"
       (sources."@oclif/parser-3.8.7" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."@opentelemetry/api-1.1.0"
@@ -7608,6 +7637,11 @@ in
       sources."@selderee/plugin-htmlparser2-0.6.0"
       sources."@servie/events-1.0.0"
       sources."@sqltools/formatter-1.2.2"
+      (sources."@techteamer/ocsp-1.0.0" // {
+        dependencies = [
+          sources."async-3.2.3"
+        ];
+      })
       sources."@tokenizer/token-0.3.0"
       sources."@tootallnate/once-1.1.2"
       sources."@types/bluebird-3.5.36"
@@ -7623,7 +7657,7 @@ in
       sources."@types/lodash-4.14.182"
       sources."@types/lossless-json-1.0.1"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.25"
+      sources."@types/node-17.0.31"
       (sources."@types/node-fetch-2.6.1" // {
         dependencies = [
           sources."form-data-3.0.1"
@@ -7643,7 +7677,7 @@ in
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.8"
       sources."access-control-1.0.1"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-walk-8.2.0"
       (sources."adal-node-0.2.3" // {
         dependencies = [
@@ -7683,6 +7717,7 @@ in
       sources."assert-options-0.7.0"
       sources."assert-plus-1.0.0"
       sources."async-2.6.4"
+      sources."async-validator-1.8.5"
       sources."asynckit-0.4.0"
       (sources."auto-changelog-1.16.4" // {
         dependencies = [
@@ -7690,7 +7725,7 @@ in
         ];
       })
       sources."avsc-5.7.4"
-      (sources."aws-sdk-2.1116.0" // {
+      (sources."aws-sdk-2.1125.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."events-1.1.1"
@@ -7705,7 +7740,14 @@ in
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."axios-0.21.4"
-      sources."axios-retry-3.2.4"
+      sources."axios-retry-3.2.5"
+      sources."babel-helper-vue-jsx-merge-props-2.0.3"
+      (sources."babel-runtime-6.26.0" // {
+        dependencies = [
+          sources."core-js-2.6.12"
+          sources."regenerator-runtime-0.11.1"
+        ];
+      })
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       (sources."basic-auth-2.0.1" // {
@@ -7769,12 +7811,12 @@ in
       sources."callsites-3.1.0"
       (sources."camel-case-4.1.2" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       (sources."capital-case-1.0.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."caseless-0.12.0"
@@ -7786,7 +7828,7 @@ in
       sources."chalk-4.1.2"
       (sources."change-case-4.1.2" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."chardet-0.7.0"
@@ -7823,7 +7865,7 @@ in
       })
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."color-support-1.1.3"
       sources."colornames-1.1.1"
       sources."colorspace-1.1.4"
@@ -7851,7 +7893,7 @@ in
       sources."console-control-strings-1.1.0"
       (sources."constant-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."content-disposition-0.5.4"
@@ -7860,7 +7902,7 @@ in
       sources."cookie-0.4.1"
       sources."cookie-parser-1.4.6"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.22.0"
+      sources."core-js-3.22.3"
       sources."core-util-is-1.0.2"
       sources."crc-32-1.2.2"
       sources."cron-1.7.2"
@@ -7881,7 +7923,7 @@ in
       sources."date-utils-1.2.21"
       sources."debug-4.3.4"
       sources."debuglog-1.0.1"
-      sources."deepmerge-4.2.2"
+      sources."deepmerge-1.5.2"
       sources."define-properties-1.1.4"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
@@ -7899,7 +7941,7 @@ in
       sources."domutils-2.8.0"
       (sources."dot-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."dotenv-8.6.0"
@@ -7915,10 +7957,11 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ecdsa-sig-formatter-1.0.11"
       sources."ee-first-1.1.1"
+      sources."element-ui-2.15.8"
       sources."emoji-regex-8.0.0"
       sources."enabled-1.0.2"
       sources."encodeurl-1.0.2"
-      sources."encoding-japanese-1.0.30"
+      sources."encoding-japanese-2.0.0"
       sources."end-of-stream-1.4.4"
       sources."entities-2.2.0"
       sources."env-variable-0.0.6"
@@ -7937,18 +7980,11 @@ in
       sources."eventsource-1.1.0"
       sources."exit-on-epipe-1.0.1"
       sources."expand-tilde-2.0.2"
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
-          sources."body-parser-1.19.2"
-          sources."cookie-0.4.2"
+          sources."cookie-0.5.0"
           sources."debug-2.6.9"
-          sources."depd-1.1.2"
-          sources."http-errors-1.8.1"
           sources."ms-2.0.0"
-          sources."on-finished-2.3.0"
-          sources."qs-6.9.7"
-          sources."raw-body-2.4.3"
-          sources."statuses-1.5.0"
         ];
       })
       sources."extend-3.0.2"
@@ -7968,12 +8004,10 @@ in
       })
       sources."file-type-14.7.1"
       sources."fill-range-7.0.1"
-      (sources."finalhandler-1.1.2" // {
+      (sources."finalhandler-1.2.0" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
         ];
       })
       sources."flatted-3.2.5"
@@ -8028,7 +8062,7 @@ in
           sources."ansi-regex-2.1.1"
         ];
       })
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-flag-4.0.0"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
@@ -8037,14 +8071,18 @@ in
       sources."he-1.2.0"
       (sources."header-case-2.0.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."heap-0.2.7"
       sources."help-me-1.1.0"
       sources."highlight.js-10.7.3"
       sources."homedir-polyfill-1.0.3"
-      sources."html-to-text-8.0.0"
+      (sources."html-to-text-8.2.0" // {
+        dependencies = [
+          sources."deepmerge-4.2.2"
+        ];
+      })
       sources."htmlparser2-6.1.0"
       sources."http-errors-2.0.0"
       sources."http-proxy-agent-4.0.1"
@@ -8081,6 +8119,7 @@ in
       sources."is-negative-zero-2.0.2"
       sources."is-number-7.0.0"
       sources."is-number-object-1.0.7"
+      sources."is-plain-object-5.0.0"
       sources."is-promise-1.0.1"
       sources."is-property-1.0.2"
       sources."is-regex-1.1.4"
@@ -8124,15 +8163,15 @@ in
       sources."kuler-1.0.1"
       sources."leven-2.1.0"
       sources."libbase64-1.2.1"
-      (sources."libmime-5.0.0" // {
+      (sources."libmime-5.1.0" // {
         dependencies = [
-          sources."iconv-lite-0.6.2"
+          sources."iconv-lite-0.6.3"
         ];
       })
-      sources."libphonenumber-js-1.9.51"
+      sources."libphonenumber-js-1.9.52"
       sources."libqp-1.1.0"
       sources."limiter-1.1.5"
-      sources."linkify-it-3.0.3"
+      sources."linkify-it-4.0.0"
       (sources."localtunnel-2.0.2" // {
         dependencies = [
           sources."debug-4.3.2"
@@ -8163,7 +8202,7 @@ in
       sources."lossless-json-1.0.5"
       (sources."lower-case-2.0.2" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."lru-cache-6.0.0"
@@ -8174,13 +8213,13 @@ in
         ];
       })
       sources."luxon-2.3.2"
-      (sources."mailparser-3.4.0" // {
+      (sources."mailparser-3.5.0" // {
         dependencies = [
           sources."iconv-lite-0.6.3"
-          sources."nodemailer-6.7.0"
+          sources."nodemailer-6.7.3"
         ];
       })
-      sources."mailsplit-5.3.1"
+      sources."mailsplit-5.3.2"
       (sources."make-dir-3.1.0" // {
         dependencies = [
           sources."semver-6.3.0"
@@ -8241,15 +8280,15 @@ in
         ];
       })
       sources."mz-2.7.0"
-      sources."n8n-core-0.114.0"
-      sources."n8n-design-system-0.17.0"
-      sources."n8n-editor-ui-0.140.0"
-      (sources."n8n-nodes-base-0.171.0" // {
+      sources."n8n-core-0.116.0"
+      sources."n8n-design-system-0.19.0"
+      sources."n8n-editor-ui-0.142.0"
+      (sources."n8n-nodes-base-0.173.0" // {
         dependencies = [
           sources."iconv-lite-0.6.3"
         ];
       })
-      sources."n8n-workflow-0.96.0"
+      sources."n8n-workflow-0.98.0"
       (sources."named-placeholders-1.1.2" // {
         dependencies = [
           sources."lru-cache-4.1.5"
@@ -8268,19 +8307,20 @@ in
       sources."neo-async-2.6.2"
       (sources."no-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."node-addon-api-4.3.0"
       sources."node-ensure-0.0.0"
       sources."node-fetch-2.6.7"
-      sources."node-html-markdown-1.1.3"
-      sources."node-html-parser-4.1.5"
+      sources."node-html-markdown-1.2.0"
+      sources."node-html-parser-5.3.3"
       sources."node-ssh-12.0.4"
       sources."nodeify-1.0.1"
-      sources."nodemailer-6.7.3"
+      sources."nodemailer-6.7.4"
       sources."nopt-5.0.0"
       sources."normalize-path-3.0.0"
+      sources."normalize-wheel-1.0.1"
       sources."npmlog-5.0.1"
       sources."nth-check-2.0.1"
       sources."oauth-1.0a-2.2.6"
@@ -8290,14 +8330,6 @@ in
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
       sources."object.getownpropertydescriptors-2.1.3"
-      (sources."ocsp-1.2.0" // {
-        dependencies = [
-          sources."asn1.js-4.10.1"
-          sources."asn1.js-rfc2560-4.0.6"
-          sources."asn1.js-rfc5280-2.0.1"
-          sources."async-1.5.2"
-        ];
-      })
       sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
@@ -8323,19 +8355,20 @@ in
       sources."packet-reader-1.0.0"
       (sources."param-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."parent-require-1.0.0"
       sources."parse-github-url-1.0.2"
       sources."parse-passwd-1.0.0"
+      sources."parse-srcset-1.0.2"
       sources."parse5-6.0.1"
       sources."parse5-htmlparser2-tree-adapter-6.0.1"
       sources."parseley-0.7.0"
       sources."parseurl-1.3.3"
       (sources."pascal-case-3.1.2" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."passport-0.5.2"
@@ -8344,7 +8377,7 @@ in
       sources."passport-strategy-1.0.0"
       (sources."path-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."path-dirname-1.0.2"
@@ -8376,6 +8409,7 @@ in
           sources."split2-4.1.0"
         ];
       })
+      sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
       sources."popsicle-12.1.0"
       sources."popsicle-content-encoding-1.0.0"
@@ -8384,6 +8418,7 @@ in
       sources."popsicle-transport-http-1.2.1"
       sources."popsicle-transport-xhr-2.0.0"
       sources."popsicle-user-agent-1.0.0"
+      sources."postcss-8.4.13"
       sources."postgres-array-2.0.0"
       sources."postgres-bytea-1.0.0"
       sources."postgres-date-1.0.7"
@@ -8451,10 +8486,11 @@ in
           sources."tough-cookie-2.5.0"
         ];
       })
-      sources."requestretry-7.0.2"
+      sources."requestretry-7.1.0"
       sources."require-at-1.0.6"
       sources."require-directory-2.1.1"
       sources."requires-port-1.0.0"
+      sources."resize-observer-polyfill-1.5.1"
       sources."restore-cursor-3.1.0"
       sources."ret-0.1.15"
       sources."retry-0.12.0"
@@ -8474,66 +8510,65 @@ in
       sources."safe-buffer-5.2.1"
       sources."safe-stable-stringify-2.3.1"
       sources."safer-buffer-2.1.2"
+      (sources."sanitize-html-2.7.0" // {
+        dependencies = [
+          sources."deepmerge-4.2.2"
+        ];
+      })
       sources."sax-1.2.4"
       sources."sb-promise-queue-2.1.0"
       sources."sb-scandir-3.1.0"
       sources."selderee-0.6.0"
       sources."semver-7.3.7"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
               sources."ms-2.0.0"
             ];
           })
-          sources."depd-1.1.2"
-          sources."destroy-1.0.4"
-          sources."http-errors-1.8.1"
           sources."ms-2.1.3"
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
         ];
       })
       (sources."sentence-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."seq-queue-0.0.5"
       sources."serialize-javascript-5.0.1"
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."servie-4.3.3"
       sources."set-blocking-2.0.0"
       sources."setheader-1.0.2"
       sources."setprototypeof-1.2.0"
       sources."sha.js-2.4.11"
       sources."shell-escape-0.2.0"
-      (sources."showdown-2.0.3" // {
+      (sources."showdown-2.1.0" // {
         dependencies = [
           sources."commander-9.2.0"
         ];
       })
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
-      sources."simple-git-3.6.0"
+      sources."simple-git-3.7.1"
       sources."simple-lru-cache-0.0.2"
       sources."simple-swizzle-0.2.2"
       sources."slash-3.0.0"
       (sources."snake-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
-      (sources."snowflake-sdk-1.6.8" // {
+      (sources."snowflake-sdk-1.6.9" // {
         dependencies = [
           sources."debug-3.2.7"
-          sources."http-signature-1.3.6"
-          sources."jsprim-2.0.2"
           sources."tmp-0.2.1"
           sources."uuid-3.4.0"
         ];
       })
       sources."source-map-0.6.1"
+      sources."source-map-js-1.0.2"
       sources."spex-3.2.0"
       (sources."split2-3.2.2" // {
         dependencies = [
@@ -8542,11 +8577,11 @@ in
         ];
       })
       sources."sprintf-js-1.1.2"
-      sources."sqlite3-5.0.4"
+      sources."sqlite3-5.0.6"
       sources."sqlstring-2.3.3"
       sources."sse-channel-3.1.1"
       sources."ssf-0.11.2"
-      sources."ssh2-1.9.0"
+      sources."ssh2-1.10.0"
       sources."ssh2-sftp-client-7.2.3"
       sources."sshpk-1.17.0"
       sources."stack-trace-0.0.10"
@@ -8567,7 +8602,7 @@ in
       sources."tdigest-0.1.1"
       (sources."tedious-6.7.1" // {
         dependencies = [
-          sources."@types/node-12.20.48"
+          sources."@types/node-12.20.50"
           sources."bl-3.0.1"
           sources."iconv-lite-0.5.2"
           sources."readable-stream-3.6.0"
@@ -8578,6 +8613,7 @@ in
       sources."text-hex-1.0.0"
       sources."thenify-3.3.1"
       sources."thenify-all-1.6.0"
+      sources."throttle-debounce-1.1.0"
       sources."through-2.3.8"
       (sources."through2-2.0.5" // {
         dependencies = [
@@ -8591,7 +8627,7 @@ in
       sources."throwback-4.1.0"
       sources."timeago.js-4.0.2"
       sources."tinycolor2-1.4.2"
-      sources."tlds-1.224.0"
+      sources."tlds-1.231.0"
       sources."tmp-0.0.33"
       (sources."tmp-promise-3.0.3" // {
         dependencies = [
@@ -8627,20 +8663,20 @@ in
       })
       sources."uc.micro-1.0.6"
       sources."uid-safe-2.1.5"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."unc-path-regex-0.1.2"
-      sources."underscore-1.13.2"
+      sources."underscore-1.13.3"
       sources."unique-stream-2.3.1"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       (sources."upper-case-2.0.2" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       (sources."upper-case-first-2.0.2" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."uri-js-4.4.1"
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index f4e4c8279de..4d62cc4c828 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "liferea";
-  version = "1.12.9";
+  version = "1.13.8";
 
   src = fetchurl {
     url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
-    sha256 = "06ybr1wjlfir8iqjx6x0v1knd4b2hsy30qmkk4kssy6ky2ahc66q";
+    sha256 = "0x2857nhn98hlzqxmxb2h2wcasr5jkhciih71wcnp0cja60aw20h";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 3afdbec0ac5..2c07d637bd4 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -26,7 +26,7 @@
 
 mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.4.4";
+  version = "3.5.0";
 
   outputs = [ "out" "dev" ];
 
@@ -34,7 +34,7 @@ mkDerivation rec {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    sha256 = "sha256-e4me4mpK0N3UyM5MuJP3jxwM5h1dGBd+JzAr5f3BOGQ=";
+    sha256 = "sha256-eFtBdnwHaLirzZaHDw6SRfmsqO3dmBB8Y9csJuiTf1A=";
   };
 
   patches = [
@@ -50,15 +50,18 @@ mkDerivation rec {
     done
   '';
 
+  # required to not include inkscape in the wrapper
+  strictDeps = true;
+
   nativeBuildInputs = [
     pkg-config
     cmake
-    extra-cmake-modules
     inkscape
     sphinx
   ];
 
   buildInputs = [
+    extra-cmake-modules
     inotify-tools
     libcloudproviders
     libsecret
@@ -95,7 +98,7 @@ mkDerivation rec {
     description = "Nextcloud themed desktop client";
     homepage = "https://nextcloud.com";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ kranzes ];
+    maintainers = with maintainers; [ kranzes SuperSandro2000 ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index f24f74e5ae0..541570a3ada 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnunet";
-  version = "0.16.0";
+  version = "0.16.3";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
-    sha256 = "sha256-0y2m8T/xzYZwUlcZ6g956fdtLef2Bphg4Kd/xpo2AGg=";
+    sha256 = "sha256-MjkFLxNTepqrqqZuxCh12+4vaDjF8Ys674VOa1Mew4o=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/networking/p2p/jesec-rtorrent/rtorrent.nix b/pkgs/applications/networking/p2p/jesec-rtorrent/default.nix
index 7fe444228d3..a760a0f96c3 100644
--- a/pkgs/tools/networking/p2p/jesec-rtorrent/rtorrent.nix
+++ b/pkgs/applications/networking/p2p/jesec-rtorrent/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jesec-rtorrent";
-  version = "0.9.8-r15";
+  version = "0.9.8-r16";
 
   src = fetchFromGitHub {
     owner = "jesec";
     repo = "rtorrent";
     rev = "v${version}";
-    hash = "sha256-yYOw8wsiQd478JijLgPtEWsw2/ewd46re+t9D705rmk=";
+    hash = "sha256-i7c1jSawHshj1kaXl8tdpelIKU24okeg9K5/+ht6t2k=";
   };
 
   nativeBuildInputs = [
@@ -39,8 +39,8 @@ stdenv.mkDerivation rec {
   ++ lib.optional (!jsonRpcSupport) "-DUSE_JSONRPC=NO"
   ++ lib.optional (!xmlRpcSupport) "-DUSE_XMLRPC=NO";
 
-
   doCheck = true;
+
   checkInputs = [
     gtest
   ];
diff --git a/pkgs/tools/networking/p2p/jesec-rtorrent/libtorrent.nix b/pkgs/applications/networking/p2p/jesec-rtorrent/libtorrent.nix
index d46e4a15939..ac7e15b6a2e 100644
--- a/pkgs/tools/networking/p2p/jesec-rtorrent/libtorrent.nix
+++ b/pkgs/applications/networking/p2p/jesec-rtorrent/libtorrent.nix
@@ -9,27 +9,31 @@
 
 stdenv.mkDerivation rec {
   pname = "jesec-libtorrent";
-  version = "0.13.8-r3";
+  version = "0.13.8-r4";
 
   src = fetchFromGitHub {
     owner = "jesec";
     repo = "libtorrent";
     rev = "v${version}";
-    hash = "sha256-S3DOKzXkvU+ZJxfrxwLXCVBnepzmiZ+3iiQqz084BEk=";
+    hash = "sha256-jC/hgGSi2qy+ToZgdxl1PhASLYbUL0O8trX0th2v5H0=";
   };
 
   nativeBuildInputs = [
     cmake
   ];
+
   buildInputs = [
     openssl
     zlib
   ];
 
-  doCheck = true;
+  # Disabled because a test is flaky; see https://github.com/jesec/libtorrent/issues/4.
+  # doCheck = true;
+
   preCheck = ''
     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD
   '';
+
   checkInputs = [
     gtest
   ];
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index 3c05398df0e..e00af5fdc80 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -12,13 +12,13 @@ assert trackerSearch -> (python3 != null);
 with lib;
 mkDerivation rec {
   pname = "qbittorrent";
-  version = "4.4.1";
+  version = "4.4.2";
 
   src = fetchFromGitHub {
     owner = "qbittorrent";
     repo = "qBittorrent";
     rev = "release-${version}";
-    sha256 = "sha256-HNgegPL7M0zwkn7+lcNcsgWgrCbY9/d0nuIlIC5hkAM=";
+    sha256 = "sha256-xBNN9YYKMDcoL1wvERjlAjV8vb2GVgwwlHtb5y0+f+8=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/networking/p2p/rakshasa-rtorrent/rtorrent.nix b/pkgs/applications/networking/p2p/rakshasa-rtorrent/default.nix
index f166f6d0e29..f166f6d0e29 100644
--- a/pkgs/tools/networking/p2p/rakshasa-rtorrent/rtorrent.nix
+++ b/pkgs/applications/networking/p2p/rakshasa-rtorrent/default.nix
diff --git a/pkgs/tools/networking/p2p/rakshasa-rtorrent/libtorrent.nix b/pkgs/applications/networking/p2p/rakshasa-rtorrent/libtorrent.nix
index fff4cbb36cf..fff4cbb36cf 100644
--- a/pkgs/tools/networking/p2p/rakshasa-rtorrent/libtorrent.nix
+++ b/pkgs/applications/networking/p2p/rakshasa-rtorrent/libtorrent.nix
diff --git a/pkgs/applications/networking/p2p/twister/default.nix b/pkgs/applications/networking/p2p/twister/default.nix
deleted file mode 100644
index 979ac955caf..00000000000
--- a/pkgs/applications/networking/p2p/twister/default.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, autoconf, automake, libtool, pkg-config, python2
-, boost, db, openssl, geoip, libiconv, miniupnpc, srcOnly
-}:
-
-let
-  twisterHTML = srcOnly {
-    name = "twister-html";
-    src = fetchFromGitHub {
-      owner = "miguelfreitas";
-      repo = "twister-html";
-      rev = "01e7f7ca9b7e42ed90f91bc42da2c909ca5c0b9b";
-      sha256 = "sha256-Hi/VAEwujWhKAPaYIuvrxRIuPQa9AYwXiHUGbWxckmk=";
-    };
-  };
-
-  boostPython = boost.override {
-    enablePython = true;
-    python = python2;
-  };
-
-in stdenv.mkDerivation rec {
-  pname = "twister";
-  version = "2019-08-19";
-
-  src = fetchFromGitHub {
-    owner = "miguelfreitas";
-    repo = "twister-core";
-    rev = "31faf3f63e461ea0a9b23081567a4a552cf06873";
-    sha256 = "0xh1lgnl9nd86jr0mp7m8bkd7r5j4d6chd0y73h2xv4aq5sld0sp";
-  };
-
-  configureFlags = [
-    "--with-libgeoip"
-    "--with-libiconv"
-    "--disable-deprecated-functions"
-    "--enable-tests"
-    "--enable-python-binding"
-    "--with-boost-libdir=${boostPython.out}/lib"
-  ];
-
-  nativeBuildInputs = [ pkg-config automake autoconf ];
-  buildInputs = [
-    libtool python2
-    boostPython db openssl geoip miniupnpc libiconv
-  ];
-
-  postPatch = ''
-    sed -i -e '/-htmldir/s|(default: [^)]*)|(default: ${twisterHTML})|' \
-      src/init.cpp
-    sed -i -e '/GetDataDir.*html/s|path *= *[^;]*|path = "${twisterHTML}"|' \
-      src/util.cpp
-  '';
-
-  preConfigure = ''
-    sh autotool.sh
-  '';
-
-  installPhase = ''
-    install -vD twisterd "$out/bin/twisterd"
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = "http://www.twister.net.co/";
-    description = "Peer-to-peer microblogging";
-    license = lib.licenses.mit;
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index 852fcf68987..99a81fd1a80 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -52,13 +52,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "freerdp";
-  version = "2.6.1";
+  version = "2.7.0";
 
   src = fetchFromGitHub {
     owner = "FreeRDP";
     repo = "FreeRDP";
     rev = version;
-    sha256 = "sha256-+yKdB/glNf74drv9EvBwVMWrqr5ADBkSJVVDH+UKb2U=";
+    sha256 = "sha256-XBYRhbwknVa8eXxk31b7n9gMWBcTjCecDN+j2FGcpw0=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix
index f2cd1282fc6..adda284a6b8 100644
--- a/pkgs/applications/networking/seafile-client/default.nix
+++ b/pkgs/applications/networking/seafile-client/default.nix
@@ -4,13 +4,15 @@
 
 mkDerivation rec {
   pname = "seafile-client";
-  version = "8.0.6";
+  version = "8.0.7";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile-client";
-    rev = "v${version}";
-    sha256 = "sha256-pImSrQ63AS1hi9CUvFAR91ZHgPCJB0ZOAA0fEZ24O8o=";
+    # Tag v8.0.7 used to point to this commit, but was re-tagged later to a state
+    # that fails to link properly
+    rev = "8b96abf64e6aa19e3beeff6b322bcd6d28120bdd";
+    sha256 = "00wfr7dvbyl7pg1xgssgz8a94c7c4n5r9266lhy9qcbz456hdcgj";
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix
index cbabc6b10c7..bd6df5ef6be 100644
--- a/pkgs/applications/networking/seaweedfs/default.nix
+++ b/pkgs/applications/networking/seaweedfs/default.nix
@@ -1,7 +1,7 @@
 { lib
 , fetchFromGitHub
 , buildGoModule
-, testVersion
+, testers
 , seaweedfs
 }:
 
@@ -21,7 +21,7 @@ buildGoModule rec {
   subPackages = [ "weed" ];
 
   passthru.tests.version =
-    testVersion { package = seaweedfs; command = "weed version"; };
+    testers.testVersion { package = seaweedfs; command = "weed version"; };
 
   meta = with lib; {
     description = "Simple and highly scalable distributed file system";
diff --git a/pkgs/applications/networking/sync/onedrive/default.nix b/pkgs/applications/networking/sync/onedrive/default.nix
index 68af0bd2890..a76be3d318c 100644
--- a/pkgs/applications/networking/sync/onedrive/default.nix
+++ b/pkgs/applications/networking/sync/onedrive/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "onedrive";
-  version = "2.4.16";
+  version = "2.4.17";
 
   src = fetchFromGitHub {
     owner = "abraunegg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GoufEcCu/Cg2Fu0RcjTi4te/7+gZfQRTj+AtK0YnF5I=";
+    hash = "sha256-+ADAPxAZNDqLKLz6rAProqSDINDiTZhc2trxJFFMQeA=";
   };
 
   nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkg-config ];
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index 9ebd9db67f9..a08c0101920 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "rclone";
-  version = "1.58.0";
+  version = "1.58.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zCKXi3qeiq2AGT7UioVfCbB4bc5F2tXJ507zPa+O0pc=";
+    sha256 = "sha256-Hh0IVNaLAUOmdYJ6cbYFyDCLwL+0HyZdRzKnXAT0CB8=";
   };
 
-  vendorSha256 = "sha256-mgupx5SNQ3wUkQCeTVnw3wwdSCrTcwLYxcX6tlqXTyQ=";
+  vendorSha256 = "sha256-MPo1t1gzlrzAzbTOv/dSs2BH8NwlXmf6vo1DOFP2TrM=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/networking/termius/default.nix b/pkgs/applications/networking/termius/default.nix
index 318ac876239..b96210529e7 100644
--- a/pkgs/applications/networking/termius/default.nix
+++ b/pkgs/applications/networking/termius/default.nix
@@ -13,7 +13,7 @@
 
 stdenv.mkDerivation rec {
   pname = "termius";
-  version = "7.37.0";
+  version = "7.39.0";
 
   src = fetchurl {
     # find the latest version with
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
     # curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_url' -r
     # and the sha512 with
     # curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_sha512' -r
-    url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_108.snap";
-    sha512 = "05c4a0baeee8c1ff9547017288d099a9ef7b3049647ef0318ca4b1112df26f9f3a844bbae5f9ada59adaf07838987e2a685aee21ea494945202009236fe5f6bc";
+    url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_111.snap";
+    sha512 = "1c90f249fd1802d4ed032b85ee835ca04e84e673caff339b6ce9b35188fec65a3ccce0e2a8a9afef46354ed5886ab17c612468ad7281c660c904b180753a1729";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/applications/networking/zerobin/default.nix b/pkgs/applications/networking/zerobin/default.nix
index 56d5274751f..ca55085d808 100644
--- a/pkgs/applications/networking/zerobin/default.nix
+++ b/pkgs/applications/networking/zerobin/default.nix
@@ -40,7 +40,7 @@ python3Packages.buildPythonApplication rec {
     # relax version constraints of some dependencies
     substituteInPlace setup.cfg \
       --replace "clize==4.1.1" "clize" \
-      --replace "bleach==3.1.5" "bleach>=3.1.5,<5" \
+      --replace "bleach==3.1.5" "bleach>=3.1.5,<6" \
       --replace "bottle==0.12.18" "bottle>=0.12.18,<1" \
       --replace "Paste==3.4.3" "Paste>=3.4.3,<4"
   '';
diff --git a/pkgs/applications/office/beamerpresenter/default.nix b/pkgs/applications/office/beamerpresenter/default.nix
index aee809eb824..5f8d3adf8c2 100644
--- a/pkgs/applications/office/beamerpresenter/default.nix
+++ b/pkgs/applications/office/beamerpresenter/default.nix
@@ -1,46 +1,69 @@
-{ lib, stdenv, fetchFromGitHub, installShellFiles,
-  qmake, qtbase, qtmultimedia, wrapQtAppsHook,
-  poppler, mupdf, freetype, jbig2dec, openjpeg, gumbo,
-  renderer ? "mupdf" }:
+{ lib,
+  stdenv,
+  fetchFromGitHub,
+  installShellFiles,
+  pkg-config,
+  cmake,
+  qtbase,
+  qtmultimedia,
+  qttools,
+  wrapQtAppsHook,
+  bash,
+  zlib,
+  gcc,
+  gnumake,
+  coreutils,
+  # only required when using poppler
+  poppler,
+  # only required when using mupdf
+  mupdf,
+  freetype,
+  jbig2dec,
+  openjpeg,
+  gumbo,
+  # choose renderer: mupdf or poppler or both (not recommended)
+  renderer ? "mupdf",
+  # choose major Qt version: "5" or "6" (only 5 is tested)
+  qt_version ? "5"}:
 
 let
   renderers = {
     mupdf.buildInputs = [ mupdf freetype jbig2dec openjpeg gumbo ];
     poppler.buildInputs = [ poppler ];
   };
-
+  use_poppler = if "${renderer}" == "poppler" || "${renderer}" == "both" then "ON" else "OFF";
+  use_mupdf = if "${renderer}" == "mupdf" || "${renderer}" == "both" then "ON" else "OFF";
 in
 
 stdenv.mkDerivation rec {
   pname = "beamerpresenter";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "stiglers-eponym";
     repo = "BeamerPresenter";
     rev = "v${version}";
-    sha256 = "sha256-+ZxllYL2wco4bG2pqInIbL9qfOoqoUJJUReqDyEBRcI=";
+    sha256 = "16v263nnnipih3lxg95rmwz0ihnvpl4n1wlj9r6zavnspzlp9dvb";
   };
 
-  nativeBuildInputs = [ qmake installShellFiles wrapQtAppsHook ];
-  buildInputs = [ qtbase qtmultimedia ] ++ renderers.${renderer}.buildInputs;
-
-  qmakeFlags = [ "RENDERER=${renderer}" ];
+  nativeBuildInputs = [ pkg-config installShellFiles wrapQtAppsHook ];
+  buildInputs = [ gcc cmake coreutils gnumake bash zlib qtbase qtmultimedia qttools ] ++ renderers.${renderer}.buildInputs;
 
-  postPatch = ''
-    shopt -s globstar
-    for f in **/*.{pro,conf,h,cpp}; do
-      substituteInPlace "$f" \
-        --replace "/usr/" "$out/" \
-        --replace "/etc/" "$out/etc/" \
-        --replace '$${GUI_CONFIG_PATH}' "$out/etc/xdg/beamerpresenter/gui.json"
-    done
-  '';
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE='Release'"
+    "-DGIT_VERSION=OFF"
+    "-DUSE_POPPLER=${use_poppler}"
+    "-DUSE_MUPDF=${use_mupdf}"
+    "-DUSE_MUJS=OFF"
+    "-DUSE_GUMBO=ON"
+    "-DUSE_TRANSLATIONS=ON"
+    "-DQT_VERSION_MAJOR=${qt_version}"
+  ];
 
   meta = with lib; {
-    description = "Modular multi screen pdf presentation software respecting your window manager";
+    description = "Modular multi screen pdf presentation viewer";
     homepage = "https://github.com/stiglers-eponym/BeamerPresenter";
-    license = licenses.agpl3Plus;
+    license = with licenses; [ agpl3 gpl3Plus ];
     platforms = platforms.all;
     maintainers = with maintainers; [ pacien ];
   };
diff --git a/pkgs/applications/office/bookworm/default.nix b/pkgs/applications/office/bookworm/default.nix
index 9cdbd14e105..c30b9ede2bb 100644
--- a/pkgs/applications/office/bookworm/default.nix
+++ b/pkgs/applications/office/bookworm/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , fetchFromGitHub
 , appstream
-, bash
 , coreutils
 , curl
 , desktop-file-utils
@@ -40,7 +39,6 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    bash
     meson
     ninja
     pkg-config
diff --git a/pkgs/applications/office/buho/default.nix b/pkgs/applications/office/buho/default.nix
new file mode 100644
index 00000000000..997b1c9d502
--- /dev/null
+++ b/pkgs/applications/office/buho/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, applet-window-buttons
+, karchive
+, kcoreaddons
+, ki18n
+, kio
+, kirigami2
+, mauikit
+, mauikit-filebrowsing
+, mauikit-accounts
+, mauikit-texteditor
+, qtmultimedia
+, qtquickcontrols2
+}:
+
+mkDerivation rec {
+  pname = "buho";
+  version = "2.1.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "maui";
+    repo = "buho";
+    rev = "v${version}";
+    sha256 = "sha256-rHjjvjRY2WsyZfj3fzp46copZ1g2ae6PVv9lBNZDzcI=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    applet-window-buttons
+    karchive
+    kcoreaddons
+    ki18n
+    kio
+    kirigami2
+    mauikit
+    mauikit-filebrowsing
+    mauikit-accounts
+    mauikit-texteditor
+    qtmultimedia
+    qtquickcontrols2
+  ];
+
+  meta = with lib; {
+    description = "Task and Note Keeper";
+    homepage = "https://invent.kde.org/maui/buho";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index 234d4910288..e18c0f21ae3 100644
--- a/pkgs/applications/office/calligra/default.nix
+++ b/pkgs/applications/office/calligra/default.nix
@@ -30,7 +30,23 @@ mkDerivation rec {
       sha256 = "11dzrp9q05dmvnwp4vk4ihcibqcf4xyr0ijscpi716cyy730flma";
       excludes = [ "CMakeLists.txt" ];
     })
+    # Fixes for building calligra with modern poppler[-qt5]
+    (fetchpatch {
+      name = "poppler-22.03.0.patch";
+      url = "https://github.com/archlinux/svntogit-packages/raw/8f328bef497a9e3bc628e4e294c1a70b0c8b0eab/trunk/poppler-22.03.0.patch";
+      sha256 = "sha256-bOTnQcavXF49LIshNgzhXhyoEjzLmQJC/U7hO5P0bfY=";
+    })
+    # Fixes for building calligra with gcc11/c++17
+    (fetchpatch {
+      name = "build_c++17_poppler.patch";
+      url = "https://github.com/archlinux/svntogit-packages/raw/bbbe35f97eb1033798f1cf95d427890168598199/trunk/068cd9ae.patch";
+      sha256 = "sha256-d9/ILwSeW+ov11DF191hzIaUafO/rjQrAeONwqDSKbA=";
+    })
   ];
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace 'CMAKE_CXX_STANDARD 11' 'CMAKE_CXX_STANDARD 17'
+  '';
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
 
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index 13b0c84cfaa..c9b4ef13912 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -7,11 +7,11 @@ let
   inherit (python3Packages) python pygobject3;
 in stdenv.mkDerivation rec {
   pname = "gnumeric";
-  version = "1.12.51";
+  version = "1.12.52";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "oA5sbk7N2tq9mwrhgBPXsFk3/cuPmq1ac7lZI8eusd0=";
+    sha256 = "c89zBJoiodgoUGJ1ssk3jsN8X/N7aLsfL0lPDWQAgjs=";
   };
 
   configureFlags = [ "--disable-component" ];
@@ -38,6 +38,7 @@ in stdenv.mkDerivation rec {
     license = lib.licenses.gpl2Plus;
     homepage = "http://projects.gnome.org/gnumeric/";
     platforms = platforms.unix;
+    broken = with stdenv; isDarwin && isAarch64;
     maintainers = [ maintainers.vcunat ];
   };
 }
diff --git a/pkgs/applications/office/ledger/default.nix b/pkgs/applications/office/ledger/default.nix
index 5478382cbd8..0ea9b908ada 100644
--- a/pkgs/applications/office/ledger/default.nix
+++ b/pkgs/applications/office/ledger/default.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     (boost.override { enablePython = usePython; python = python3; })
-    gmp mpfr libedit python3 gnused
-  ];
+    gmp mpfr libedit gnused
+  ] ++ lib.optional usePython python3;
 
   nativeBuildInputs = [ cmake texinfo ];
 
diff --git a/pkgs/applications/office/libreoffice/soffice-template.desktop b/pkgs/applications/office/libreoffice/soffice-template.desktop
new file mode 100644
index 00000000000..4adb91284a9
--- /dev/null
+++ b/pkgs/applications/office/libreoffice/soffice-template.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Name=LibreOffice @app@...
+Comment=Enter LibreOffice @app@ filename:
+Type=Link
+URL=.source/soffice.@ext@
+Icon=libreoffice-oasis-@type@
diff --git a/pkgs/applications/office/libreoffice/wrapper.nix b/pkgs/applications/office/libreoffice/wrapper.nix
index 08b01a4a051..fd9ef63dc73 100644
--- a/pkgs/applications/office/libreoffice/wrapper.nix
+++ b/pkgs/applications/office/libreoffice/wrapper.nix
@@ -1,19 +1,32 @@
-{ libreoffice, runCommand, dbus, bash }:
-let
-  jdk = libreoffice.jdk;
-in
-(runCommand libreoffice.name {
-  inherit dbus libreoffice jdk bash;
-} ''
+{ lib, runCommand
+, libreoffice, dbus, bash, substituteAll
+, dolphinTemplates ? true
+}:
+runCommand libreoffice.name {
+  inherit (libreoffice) jdk meta;
+  inherit dbus libreoffice bash;
+} (''
   mkdir -p "$out/bin"
-  ln -s "${libreoffice}/share" "$out/share"
   substituteAll "${./wrapper.sh}" "$out/bin/soffice"
   chmod a+x "$out/bin/soffice"
 
   for i in $(ls "${libreoffice}/bin/"); do
     test "$i" = "soffice" || ln -s soffice "$out/bin/$(basename "$i")"
   done
-'') // {
-  inherit libreoffice dbus;
-  meta = libreoffice.meta;
-}
+
+  mkdir -p "$out/share"
+  ln -s "${libreoffice}/share"/* $out/share
+'' + lib.optionalString dolphinTemplates ''
+  # Add templates to dolphin "Create new" menu - taken from debian
+
+  # We need to unpack the core source since the necessary files aren't available in the libreoffice output
+  unpackFile "${libreoffice.src}"
+
+  install -D "${libreoffice.name}"/extras/source/shellnew/soffice.* --target-directory="$out/share/templates/.source"
+
+  cp ${substituteAll {src = ./soffice-template.desktop; app="Writer";  ext="odt"; type="text";        }} $out/share/templates/soffice.odt.desktop
+  cp ${substituteAll {src = ./soffice-template.desktop; app="Calc";    ext="ods"; type="spreadsheet"; }} $out/share/templates/soffice.ods.desktop
+  cp ${substituteAll {src = ./soffice-template.desktop; app="Impress"; ext="odp"; type="presentation";}} $out/share/templates/soffice.odp.desktop
+  cp ${substituteAll {src = ./soffice-template.desktop; app="Draw";    ext="odg"; type="drawing";     }} $out/share/templates/soffice.odg.desktop
+'')
+
diff --git a/pkgs/applications/office/paperwork/paperwork-gtk.nix b/pkgs/applications/office/paperwork/paperwork-gtk.nix
index f80f40929a1..81fc8c075f1 100644
--- a/pkgs/applications/office/paperwork/paperwork-gtk.nix
+++ b/pkgs/applications/office/paperwork/paperwork-gtk.nix
@@ -138,7 +138,7 @@ python3Packages.buildPythonApplication rec {
   passthru.updateScript = writeScript "update.sh" ''
     #!/usr/bin/env nix-shell
     #!nix-shell -i bash -p curl common-updater-scripts
-    version=$(list-git-tags https://gitlab.gnome.org/World/OpenPaperwork/paperwork.git | sed 's/^v//' | sort -V | tail -n1)
+    version=$(list-git-tags | sed 's/^v//' | sort -V | tail -n1)
     update-source-version paperwork "$version" --file=pkgs/applications/office/paperwork/src.nix
     docs_version="$(curl https://gitlab.gnome.org/World/OpenPaperwork/paperwork/-/raw/$version/paperwork-gtk/src/paperwork_gtk/model/help/screenshot.sh | grep TEST_DOCS_TAG= | cut -d'"' -f2)"
     update-source-version paperwork.sample_docs "$docs_version" --file=pkgs/applications/office/paperwork/src.nix --version-key=rev
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index 5e154510940..653e72a163e 100644
--- a/pkgs/applications/office/portfolio/default.nix
+++ b/pkgs/applications/office/portfolio/default.nix
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.57.1";
+  version = "0.57.2";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "sha256-uEEFkHyApf+TObcu+Yo5vBOs2Erq0IXGhbjzlEe8NmI=";
+    sha256 = "sha256-ftLKlNzr46iL/V+P3J1wtoUByGHHl7wrh4xctU4JYkM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index b40085e8529..3fd9c341069 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "qownnotes";
-  version = "22.3.4";
+  version = "22.5.0";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
     # Fetch the checksum of current version with curl:
     # curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256
-    sha256 = "bec1ee9735821a7c4556c00790e3acfef06f21490ec8b7d99d9e002c9c0a1207";
+    sha256 = "52a81401a4a03c77e28f37f56c3ebdc6696ff43c75cc9330d10ba7e801f48ccd";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/office/timeular/default.nix b/pkgs/applications/office/timeular/default.nix
index 477ae48b5f4..50298247d5a 100644
--- a/pkgs/applications/office/timeular/default.nix
+++ b/pkgs/applications/office/timeular/default.nix
@@ -7,13 +7,13 @@
 }:
 
 let
-  version = "3.9.1";
+  version = "4.7.1";
   pname = "timeular";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
-    sha256 = "103hy443p697jdkz6li8s1n6kg1r55jmiw2vbjz12kskf7njg4y4";
+    sha256 = "sha256:0k8ywbdb41imq10ya9y27zks67a6drjb1h0hn8ycd7a6z6703rjz";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -35,7 +35,7 @@ in appimageTools.wrapType2 rec {
     install -m 444 -D ${appimageContents}/timeular.desktop $out/share/applications/timeular.desktop
     install -m 444 -D ${appimageContents}/timeular.png $out/share/icons/hicolor/512x512/apps/timeular.png
     substituteInPlace $out/share/applications/timeular.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
+      --replace "Exec=AppRun --no-sandbox %U" "Exec=$out/bin/${pname}"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/office/tusk/default.nix b/pkgs/applications/office/tusk/default.nix
index 5bfc8ebc970..f23e88a323c 100644
--- a/pkgs/applications/office/tusk/default.nix
+++ b/pkgs/applications/office/tusk/default.nix
@@ -21,7 +21,8 @@ let
   };
 
 in appimageTools.wrapType2 rec {
-  name = "${pname}-v${version}";
+  inherit pname version;
+
   src = fetchurl {
     url = "https://github.com/klaussinani/tusk/releases/download/v${version}/${pname}-${version}-x86_64.AppImage";
     sha256 = "02q7wsnhlyq8z74avflrm7805ny8fzlmsmz4bmafp4b4pghjh5ky";
@@ -36,7 +37,7 @@ in appimageTools.wrapType2 rec {
   multiPkgs = null; # no 32bit needed
   extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
   extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
+    mv $out/bin/{${pname}-${version},${pname}}
     mkdir "$out/share"
     ln -s "${desktopItem}/share/applications" "$out/share/"
   '';
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 749b6959b74..7baac9f35fd 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -41,12 +41,12 @@
 
 stdenv.mkDerivation rec {
   pname = "zotero";
-  version = "6.0";
+  version = "6.0.4";
 
   src = fetchurl {
     url =
       "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
-    sha256 = "0zkgmmflcj6vbyv8rs51jf3vx1zq8pl7b5d5asgayhrdlwi0qgff";
+    sha256 = "sha256-KPvsyN3qpnG8/qRwTlWe2mZWnI9OfxlHu6OUubItJZc=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/applications/radio/flrig/default.nix b/pkgs/applications/radio/flrig/default.nix
index c927d77bef4..43f22398017 100644
--- a/pkgs/applications/radio/flrig/default.nix
+++ b/pkgs/applications/radio/flrig/default.nix
@@ -3,21 +3,23 @@
 , fetchurl
 , fltk13
 , libjpeg
+, eudev
 , pkg-config
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.54";
+  version = "1.4.5";
   pname = "flrig";
 
   src = fetchurl {
     url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
-    sha256 = "sha256-zw0xi4AVnm8Vi/oWkh13C9BjabOKUtZaVmLN++zKGug=";
+    sha256 = "sha256-Zj/LkP1nSm1zLKLxuGfaKuVuP8jaVlvK/TzX504VKHk=";
   };
 
   buildInputs = [
     fltk13
     libjpeg
+    eudev
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/radio/gnuradio/wrapper.nix b/pkgs/applications/radio/gnuradio/wrapper.nix
index 6765c877437..57d8f75320b 100644
--- a/pkgs/applications/radio/gnuradio/wrapper.nix
+++ b/pkgs/applications/radio/gnuradio/wrapper.nix
@@ -137,8 +137,8 @@ let
   self = if doWrap then
     stdenv.mkDerivation {
       inherit pname version passthru;
+      nativeBuildInputs = [ makeWrapper ];
       buildInputs = [
-        makeWrapper
         xorg.lndir
       ];
       buildCommand = ''
diff --git a/pkgs/applications/radio/kalibrate-rtl/default.nix b/pkgs/applications/radio/kalibrate-rtl/default.nix
index 4fe9ad08678..eb5937bbc3c 100644
--- a/pkgs/applications/radio/kalibrate-rtl/default.nix
+++ b/pkgs/applications/radio/kalibrate-rtl/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "kalibrate-rtl";
-  version = "unstable-2013-12-14";
+  version = "unstable-2022-02-02";
 
   src = fetchFromGitHub {
     owner = "steve-m";
     repo = "kalibrate-rtl";
-    rev = "aae11c8a8dc79692a94ccfee39ba01e8c8c05d38";
-    sha256 = "1spbfflkqnw9s8317ppsf7b1nnkicqsmaqsnz1zf8i49ix70i6kn";
+    rev = "340003eb0846b069c3edef19ed3363b8ac7b5215";
+    sha256 = "n9mfu8H2OS8dKPNhtJxBfMDp8aHEIcxg/R+kcRNOBpk=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
     '';
     homepage = "https://github.com/steve-m/kalibrate-rtl";
     license = licenses.bsd2;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ bjornfor ];
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ bjornfor viraptor ];
   };
 }
diff --git a/pkgs/applications/radio/rtl-sdr/default.nix b/pkgs/applications/radio/rtl-sdr/default.nix
index ff06eb4c044..e7fbb50cfd0 100644
--- a/pkgs/applications/radio/rtl-sdr/default.nix
+++ b/pkgs/applications/radio/rtl-sdr/default.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, fetchgit
+, fetchFromGitHub
 , cmake
 , pkg-config
 , libusb1
@@ -8,12 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rtl-sdr";
-  version = "0.6.0";
+  version = "0.8.0";
 
-  src = fetchgit {
-    url = "git://git.osmocom.org/rtl-sdr.git";
-    rev = "refs/tags/${version}";
-    sha256 = "0lmvsnb4xw4hmz6zs0z5ilsah5hjz29g1s0050n59fllskqr3b8k";
+  src = fetchFromGitHub {
+    owner = "librtlsdr";
+    repo = "librtlsdr";
+    rev = "v${version}";
+    sha256 = "1fgxlkgmdchbrf0nn98ivjr6css5hak3608nr4xrf2qzf7xy2kdk";
   };
 
   postPatch = ''
@@ -28,7 +29,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libusb1 ];
 
-  cmakeFlags = lib.optional stdenv.isLinux "-DINSTALL_UDEV_RULES=ON";
+  cmakeFlags = lib.optional stdenv.isLinux [
+    "-DINSTALL_UDEV_RULES=ON"
+    "-DWITH_RPC=ON"
+  ];
 
   meta = with lib; {
     description = "Turns your Realtek RTL2832 based DVB dongle into a SDR receiver";
diff --git a/pkgs/applications/radio/uhd/default.nix b/pkgs/applications/radio/uhd/default.nix
index 2928b19f29d..6fa8462ec10 100644
--- a/pkgs/applications/radio/uhd/default.nix
+++ b/pkgs/applications/radio/uhd/default.nix
@@ -41,6 +41,8 @@ stdenv.mkDerivation rec {
   # and xxx.yyy.zzz. Hrmpf... style keeps changing
   version = "4.1.0.5";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchFromGitHub {
     owner = "EttusResearch";
     repo = "uhd";
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 7b5f28fbd84..df73df2ec28 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -6,13 +6,13 @@
 
 mkDerivation rec {
   pname = "stellarium";
-  version = "0.22.0";
+  version = "0.22.1";
 
   src = fetchFromGitHub {
     owner = "Stellarium";
     repo = "stellarium";
     rev = "v${version}";
-    sha256 = "sha256-scG/SS9emEmrZunv6n3Vzcchoh0Cf9rDOkuxAMnxNk4=";
+    sha256 = "sha256-zDYZBV/76BDWWfiug0fFvMe3pdE4xfKgSmVJJd3Qu9Y=";
   };
 
   nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
diff --git a/pkgs/applications/science/biology/blast/default.nix b/pkgs/applications/science/biology/blast/default.nix
index 15e1b3eb989..eb94a06944e 100644
--- a/pkgs/applications/science/biology/blast/default.nix
+++ b/pkgs/applications/science/biology/blast/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "blast";
-  version = "2.12.0";
+  version = "2.13.0";
 
   src = fetchurl {
     url = "https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/${version}/ncbi-blast-${version}+-src.tar.gz";
-    sha256 = "122bf45cyj3s3zv2lw1y1rhz7g22v0va560ai30xdjl8sk4wk8zx";
+    sha256 = "sha256-iVU3FNEz2vKMR3+D0zN5Szxi5BSECMByobRiDl7E/rI=";
   };
 
   sourceRoot = "ncbi-blast-${version}+-src/c++";
diff --git a/pkgs/applications/science/biology/bwa/default.nix b/pkgs/applications/science/biology/bwa/default.nix
index a2a11b1d451..d4727b41bd0 100644
--- a/pkgs/applications/science/biology/bwa/default.nix
+++ b/pkgs/applications/science/biology/bwa/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
     sed -i '/^CC/d' Makefile
   '';
 
+  makeFlags = lib.optional stdenv.hostPlatform.isStatic "AR=${stdenv.cc.targetPrefix}ar";
+
   # it's unclear which headers are intended to be part of the public interface
   # so we may find ourselves having to add more here over time
   installPhase = ''
diff --git a/pkgs/applications/science/biology/dcm2niix/default.nix b/pkgs/applications/science/biology/dcm2niix/default.nix
index 36dddad5db5..90eef027a84 100644
--- a/pkgs/applications/science/biology/dcm2niix/default.nix
+++ b/pkgs/applications/science/biology/dcm2niix/default.nix
@@ -1,10 +1,26 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
+, substituteAll
 , cmake
+, openjpeg
 , libyamlcpp
-, git
+, batchVersion ? false
+, withJpegLs ? true
+, withOpenJpeg ? true
+, withCloudflareZlib ? true
 }:
 
+let
+  cloudflareZlib = fetchFromGitHub {
+    owner = "ningfei";
+    repo = "zlib";
+    # HEAD revision of the gcc.amd64 branch on 2022-04-14. Reminder to update
+    # whenever bumping package version.
+    rev = "fda61188d1d4dcd21545c34c2a2f5cc9b0f5db4b";
+    sha256 = "sha256-qySFwY0VI2BQLO2XoCZeYshXEDnHh6SmJ3MvcBUROWU=";
+  };
+in
 stdenv.mkDerivation rec {
   version = "1.0.20211006";
   pname = "dcm2niix";
@@ -16,18 +32,37 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-fQAVOzynMdSLDfhcYWcaXkFW/mnv4zySGLVJNE7ql/c=";
   };
 
-  nativeBuildInputs = [ cmake git ];
-  buildInputs = [ libyamlcpp ];
+  patches = lib.optionals withCloudflareZlib [
+    (substituteAll {
+      src = ./dont-fetch-external-libs.patch;
+      inherit cloudflareZlib;
+    })
+  ];
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = lib.optionals batchVersion [ libyamlcpp ]
+    ++ lib.optionals withOpenJpeg [ openjpeg openjpeg.dev ];
+
+  cmakeFlags = lib.optionals batchVersion [
+    "-DBATCH_VERSION=ON"
+    "-DYAML-CPP_DIR=${libyamlcpp}/lib/cmake/yaml-cpp"
+  ] ++ lib.optionals withJpegLs [
+    "-DUSE_JPEGLS=ON"
+  ] ++ lib.optionals withOpenJpeg [
+    "-DUSE_OPENJPEG=ON"
+    "-DOpenJPEG_DIR=${openjpeg}/lib/${openjpeg.pname}-${lib.versions.majorMinor openjpeg.version}"
+  ] ++ lib.optionals withCloudflareZlib [
+    "-DZLIB_IMPLEMENTATION=Cloudflare"
+  ];
 
   meta = with lib; {
     description = "DICOM to NIfTI converter";
     longDescription = ''
-      dcm2niix is a designed to convert neuroimaging data from the
-      DICOM format to the NIfTI format.
+      dcm2niix is designed to convert neuroimaging data from the DICOM format to the NIfTI format.
     '';
     homepage = "https://www.nitrc.org/projects/dcm2nii";
     license = licenses.bsd3;
-    maintainers = [ maintainers.ashgillman ];
+    maintainers = with maintainers; [ ashgillman rbreslow ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/science/biology/dcm2niix/dont-fetch-external-libs.patch b/pkgs/applications/science/biology/dcm2niix/dont-fetch-external-libs.patch
new file mode 100644
index 00000000000..493f0fb11f4
--- /dev/null
+++ b/pkgs/applications/science/biology/dcm2niix/dont-fetch-external-libs.patch
@@ -0,0 +1,36 @@
+diff --git a/SuperBuild/External-CLOUDFLARE-ZLIB.cmake b/SuperBuild/External-CLOUDFLARE-ZLIB.cmake
+index 9f064eb..fe74df5 100644
+--- a/SuperBuild/External-CLOUDFLARE-ZLIB.cmake
++++ b/SuperBuild/External-CLOUDFLARE-ZLIB.cmake
+@@ -1,8 +1,5 @@
+-set(CLOUDFLARE_BRANCH gcc.amd64) # Cloudflare zlib branch
+-
+ ExternalProject_Add(zlib
+-    GIT_REPOSITORY "${git_protocol}://github.com/ningfei/zlib.git"
+-    GIT_TAG "${CLOUDFLARE_BRANCH}"
++    URL file://@cloudflareZlib@
+     SOURCE_DIR cloudflare-zlib
+     BINARY_DIR cloudflare-zlib-build
+     CMAKE_ARGS
+diff --git a/SuperBuild/SuperBuild.cmake b/SuperBuild/SuperBuild.cmake
+index 2a0a956..81354a7 100644
+--- a/SuperBuild/SuperBuild.cmake
++++ b/SuperBuild/SuperBuild.cmake
+@@ -1,17 +1,3 @@
+-# Check if git exists
+-find_package(Git)
+-if(NOT GIT_FOUND)
+-    message(FATAL_ERROR "Cannot find Git. Git is required for Superbuild")
+-endif()
+-
+-# Use git protocol or not
+-option(USE_GIT_PROTOCOL "If behind a firewall turn this off to use http instead." ON)
+-if(USE_GIT_PROTOCOL)
+-    set(git_protocol "git")
+-else()
+-    set(git_protocol "https")
+-endif()
+-
+ # Basic CMake build settings
+ if(NOT CMAKE_BUILD_TYPE)
+     set(CMAKE_BUILD_TYPE "Release" CACHE STRING
diff --git a/pkgs/applications/science/biology/megahit/default.nix b/pkgs/applications/science/biology/megahit/default.nix
index ee2f16f389b..45cb7560502 100644
--- a/pkgs/applications/science/biology/megahit/default.nix
+++ b/pkgs/applications/science/biology/megahit/default.nix
@@ -14,6 +14,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ zlib ];
 
+  cmakeFlags = lib.optional stdenv.hostPlatform.isStatic [
+    "-DSTATIC_BUILD=ON"
+    ];
   meta = with lib; {
     description = "An ultra-fast single-node solution for large and complex metagenomics assembly via succinct de Bruijn graph";
     license     = licenses.gpl3;
diff --git a/pkgs/applications/science/biology/quast/default.nix b/pkgs/applications/science/biology/quast/default.nix
index 553fb1de539..ed3fc116dda 100644
--- a/pkgs/applications/science/biology/quast/default.nix
+++ b/pkgs/applications/science/biology/quast/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, python3Packages, zlib, bash, coreutils }:
+{ lib, stdenv, fetchurl, python3Packages, zlib, bash }:
 
 let
   pythonPackages = python3Packages;
@@ -16,8 +16,6 @@ pythonPackages.buildPythonApplication rec {
 
   pythonPath = with pythonPackages; [ simplejson joblib setuptools matplotlib ];
 
-  nativeBuildInputs = [ coreutils ];
-
   buildInputs = [ zlib ] ++ pythonPath;
 
   dontConfigure = true;
diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix
index 98b0394c35f..ec61e0bd7ce 100644
--- a/pkgs/applications/science/biology/samtools/default.nix
+++ b/pkgs/applications/science/biology/samtools/default.nix
@@ -22,8 +22,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib ncurses htslib ];
 
+  preConfigure = lib.optional stdenv.hostPlatform.isStatic ''
+    export LIBS="-lz -lbz2 -llzma"
+  '';
+  makeFlags = lib.optional stdenv.hostPlatform.isStatic "AR=${stdenv.cc.targetPrefix}ar";
+
   configureFlags = [ "--with-htslib=${htslib}" ]
-    ++ lib.optional (ncurses == null) "--without-curses";
+    ++ lib.optional (ncurses == null) "--without-curses"
+    ++ lib.optional stdenv.hostPlatform.isStatic ["--without-curses" ]
+    ;
 
   preCheck = ''
     patchShebangs test/
diff --git a/pkgs/applications/science/biology/tebreak/default.nix b/pkgs/applications/science/biology/tebreak/default.nix
index e56d91dc2cd..a046aee1c6c 100644
--- a/pkgs/applications/science/biology/tebreak/default.nix
+++ b/pkgs/applications/science/biology/tebreak/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchFromGitHub, last, exonerate, minia, python3, bwa
-, samtools, findutils }:
+, samtools }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "tebreak";
@@ -12,7 +12,7 @@ python3.pkgs.buildPythonApplication rec {
     sha256 = "13mgh775d8hkl340923lfwwm4r5ps70girn8d6wgfxzwzxylz8iz";
   };
 
-  nativeBuildInputs = [ findutils python3.pkgs.cython ];
+  nativeBuildInputs = [ python3.pkgs.cython ];
   propagatedBuildInputs = with python3.pkgs; [
     pysam
     scipy
diff --git a/pkgs/applications/science/computer-architecture/qtrvsim/default.nix b/pkgs/applications/science/computer-architecture/qtrvsim/default.nix
index fc840fe45fb..c4bb788798d 100644
--- a/pkgs/applications/science/computer-architecture/qtrvsim/default.nix
+++ b/pkgs/applications/science/computer-architecture/qtrvsim/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "QtRVSim";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "cvut";
     repo = "qtrvsim";
     rev = "refs/tags/v${version}";
-    sha256 = "B1l+ysrodeDbxYfdLLMF8yk4/uPXTcDrTaMtYm89HuU=";
+    sha256 = "BV/nHRvimPaBtY1nfK1PZ2yJ9xWZpNlwiTRfI/9KQec=";
   };
 
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index a9fb2168158..c078287b85e 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -56,8 +56,8 @@ let
     args.version;
   version = fetched.version;
   coq-version = args.coq-version or (if version != "dev" then versions.majorMinor version else "dev");
-  versionAtLeast = v: (coq-version == "dev") || (lib.versionAtLeast coq-version v);
-  ideFlags = optionalString (buildIde && !versionAtLeast "8.10")
+  coqAtLeast = v: coq-version == "dev" || versionAtLeast coq-version v;
+  ideFlags = optionalString (buildIde && !coqAtLeast "8.10")
     "-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt";
   csdpPatch = if csdp != null then ''
     substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp"
@@ -71,11 +71,11 @@ let
       { case = range "8.5" "8.6";   out = ocamlPackages_4_05; }
     ] ocamlPackages_4_12;
   ocamlNativeBuildInputs = [ ocamlPackages.ocaml ocamlPackages.findlib ]
-    ++ optional (versionAtLeast "8.14") ocamlPackages.dune_2;
+    ++ optional (coqAtLeast "8.14") ocamlPackages.dune_2;
   ocamlBuildInputs = []
-    ++ optional (!versionAtLeast "8.10") ocamlPackages.camlp5
-    ++ optional (!versionAtLeast "8.13") ocamlPackages.num
-    ++ optional (versionAtLeast "8.13") ocamlPackages.zarith;
+    ++ optional (!coqAtLeast "8.10") ocamlPackages.camlp5
+    ++ optional (!coqAtLeast "8.13") ocamlPackages.num
+    ++ optional (coqAtLeast "8.13") ocamlPackages.zarith;
 self = stdenv.mkDerivation {
   pname = "coq";
   inherit (fetched) version src;
@@ -134,11 +134,11 @@ self = stdenv.mkDerivation {
   nativeBuildInputs = [ pkg-config ]
     ++ ocamlNativeBuildInputs
     ++ optional buildIde copyDesktopItems
-    ++ optional (buildIde && versionAtLeast "8.10") wrapGAppsHook
-    ++ optional (!versionAtLeast "8.6") gnumake42;
+    ++ optional (buildIde && coqAtLeast "8.10") wrapGAppsHook
+    ++ optional (!coqAtLeast "8.6") gnumake42;
   buildInputs = [ ncurses ] ++ ocamlBuildInputs
     ++ optionals buildIde
-      (if versionAtLeast "8.10"
+      (if coqAtLeast "8.10"
        then [ ocamlPackages.lablgtk3-sourceview3 glib gnome.adwaita-icon-theme ]
        else [ ocamlPackages.lablgtk ])
   ;
@@ -147,7 +147,7 @@ self = stdenv.mkDerivation {
     UNAME=$(type -tp uname)
     RM=$(type -tp rm)
     substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM"
-    ${if !versionAtLeast "8.7" then "substituteInPlace configure.ml --replace \"md5 -q\" \"md5sum\"" else ""}
+    ${if !coqAtLeast "8.7" then "substituteInPlace configure.ml --replace \"md5 -q\" \"md5sum\"" else ""}
     ${csdpPatch}
   '';
 
@@ -161,7 +161,7 @@ self = stdenv.mkDerivation {
     addEnvHooks "$targetOffset" addCoqPath
   '';
 
-  preConfigure = if versionAtLeast "8.10" then ''
+  preConfigure = if coqAtLeast "8.10" then ''
     patchShebangs dev/tools/
   '' else ''
     configureFlagsArray=(
@@ -171,7 +171,7 @@ self = stdenv.mkDerivation {
 
   prefixKey = "-prefix ";
 
-  buildFlags = [ "revision" "coq" ] ++ optional buildIde "coqide" ++ optional (!versionAtLeast "8.14") "bin/votour";
+  buildFlags = [ "revision" "coq" ] ++ optional buildIde "coqide" ++ optional (!coqAtLeast "8.14") "bin/votour";
   enableParallelBuilding = true;
 
   createFindlibDestdir = true;
@@ -185,10 +185,10 @@ self = stdenv.mkDerivation {
     categories = [ "Development" "Science" "Math" "IDE" "GTK" ];
   });
 
-  postInstall = let suffix = if versionAtLeast "8.14" then "-core" else ""; in ''
+  postInstall = let suffix = if coqAtLeast "8.14" then "-core" else ""; in ''
     cp bin/votour $out/bin/
     ln -s $out/lib/coq${suffix} $OCAMLFIND_DESTDIR/coq${suffix}
-  '' + optionalString (versionAtLeast "8.14") ''
+  '' + optionalString (coqAtLeast "8.14") ''
     ln -s $out/lib/coqide-server $OCAMLFIND_DESTDIR/coqide-server
   '' + optionalString buildIde ''
     mkdir -p "$out/share/pixmaps"
diff --git a/pkgs/applications/science/logic/easycrypt/default.nix b/pkgs/applications/science/logic/easycrypt/default.nix
new file mode 100644
index 00000000000..5f28ca73c4e
--- /dev/null
+++ b/pkgs/applications/science/logic/easycrypt/default.nix
@@ -0,0 +1,50 @@
+{ lib, stdenv, fetchFromGitHub, ocamlPackages, why3 }:
+
+stdenv.mkDerivation rec {
+  pname = "easycrypt";
+  version = "2022.04";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "r${version}";
+    sha256 = "sha256:09rdwcj70lkamkhd895p284rfpz4bcnsf55mcimhiqncd2a21ml7";
+  };
+
+  nativeBuildInputs = with ocamlPackages; [
+    dune_3
+    findlib
+    menhir
+    ocaml
+  ];
+  buildInputs = with ocamlPackages; [
+    batteries
+    dune-build-info
+    inifiles
+    yojson
+    zarith
+  ];
+
+  propagatedBuildInputs = [ why3 ];
+
+  strictDeps = true;
+
+  postPatch = ''
+    substituteInPlace dune-project --replace '(name easycrypt)' '(name easycrypt)(version ${version})'
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    dune install --prefix $out ${pname}
+    rm $out/bin/ec-runtest
+    runHook postInstall
+  '';
+
+  meta = {
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+    platforms = lib.platforms.all;
+    homepage = "https://easycrypt.info/";
+    description = "Computer-Aided Cryptographic Proofs";
+  };
+}
diff --git a/pkgs/applications/science/logic/easycrypt/runtest.nix b/pkgs/applications/science/logic/easycrypt/runtest.nix
new file mode 100644
index 00000000000..79a034b9369
--- /dev/null
+++ b/pkgs/applications/science/logic/easycrypt/runtest.nix
@@ -0,0 +1,24 @@
+{ python3Packages, easycrypt }:
+
+python3Packages.buildPythonApplication rec {
+  inherit (easycrypt) src version;
+
+  pname = "easycrypt-runtest";
+
+  dontConfigure = true;
+  dontBuild = true;
+  doCheck = false;
+
+  pythonPath = with python3Packages; [ pyyaml ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp scripts/testing/runtest $out/bin/ec-runtest
+    runHook postInstall
+  '';
+
+  meta = easycrypt.meta // {
+    description = "Testing program for EasyCrypt formalizations";
+  };
+}
diff --git a/pkgs/applications/science/logic/elan/default.nix b/pkgs/applications/science/logic/elan/default.nix
index 7e4cc08d358..1c16de8ad95 100644
--- a/pkgs/applications/science/logic/elan/default.nix
+++ b/pkgs/applications/science/logic/elan/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "elan";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "leanprover";
     repo = "elan";
     rev = "v${version}";
-    sha256 = "sha256-86O2P48wcib22IRB8niqVLIukGECbBV9ZufEUZEkvnQ=";
+    sha256 = "sha256-jHECNSXSATLuNHNSVwi7mBTI8l6+cLPDISc5T/4yHDg=";
   };
 
-  cargoSha256 = "sha256-2kTAFyFDeFQn7x2oVHZvFzJVs4jLBgl0pSOCcj6Vzdk=";
+  cargoSha256 = "sha256-/XwlTmUboDbB6RTanhKyO6o2GBUhxpH/NQjeNsKpse0=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
diff --git a/pkgs/applications/science/logic/key/default.nix b/pkgs/applications/science/logic/key/default.nix
index 85a7ecb08c3..aee1a9c63f8 100644
--- a/pkgs/applications/science/logic/key/default.nix
+++ b/pkgs/applications/science/logic/key/default.nix
@@ -7,7 +7,7 @@
 , makeWrapper
 , makeDesktopItem
 , copyDesktopItems
-, testVersion
+, testers
 , key
 }:
 
@@ -98,7 +98,7 @@ in stdenv.mkDerivation rec {
   '';
 
   passthru.tests.version =
-    testVersion {
+    testers.testVersion {
       package = key;
       command = "KeY --help";
     };
@@ -118,4 +118,3 @@ in stdenv.mkDerivation rec {
     platforms = platforms.all;
   };
 }
-
diff --git a/pkgs/applications/science/math/adolc/default.nix b/pkgs/applications/science/math/adolc/default.nix
new file mode 100644
index 00000000000..636c3ea177a
--- /dev/null
+++ b/pkgs/applications/science/math/adolc/default.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "adolc";
+  version = "2.7.2";
+
+  src = fetchFromGitHub {
+    owner = "coin-or";
+    repo = "ADOL-C";
+    sha256 = "1w0x0p32r1amfmh2lyx33j4cb5bpkwjr5z0ll43zi5wf5gsvckd1";
+    rev = "releases/${version}";
+  };
+
+  configureFlags = [ "--with-openmp-flag=-fopenmp" ];
+
+  meta = with lib; {
+    description = "Automatic Differentiation of C/C++";
+    homepage = "https://github.com/coin-or/ADOL-C";
+    maintainers = [ maintainers.bzizou ];
+    license = licenses.gpl2Plus;
+  };
+}
+
diff --git a/pkgs/applications/science/math/calculix/calculix.patch b/pkgs/applications/science/math/calculix/calculix.patch
index 2334d54711e..36048546948 100644
--- a/pkgs/applications/science/math/calculix/calculix.patch
+++ b/pkgs/applications/science/math/calculix/calculix.patch
@@ -1,7 +1,8 @@
-diff -Naur a/ccx_2.17/src/Makefile b/ccx_2.17/src/Makefile
---- a/ccx_2.17/src/Makefile	2020-07-23 21:41:38.507761972 +0200
-+++ b/ccx_2.17/src/Makefile	2020-08-22 16:53:50.004938281 +0200
-@@ -18,15 +18,10 @@
+diff --git a/ccx_2.19/src/Makefile b/ccx_2.19/src/Makefile
+index c503513..8a69a0c 100755
+--- a/ccx_2.19/src/Makefile
++++ b/ccx_2.19/src/Makefile
+@@ -18,15 +18,10 @@ OCCXF = $(SCCXF:.f=.o)
  OCCXC = $(SCCXC:.c=.o)
  OCCXMAIN = $(SCCXMAIN:.c=.o)
  
@@ -13,10 +14,10 @@ diff -Naur a/ccx_2.17/src/Makefile b/ccx_2.17/src/Makefile
 -	../../../ARPACK/libarpack_INTEL.a \
 -       -lpthread -lm -lc
 -
--ccx_2.17: $(OCCXMAIN) ccx_2.17.a  $(LIBS)
--	./date.pl; $(CC) $(CFLAGS) -c ccx_2.17.c; $(FC)  -Wall -O2 -o $@ $(OCCXMAIN) ccx_2.17.a $(LIBS)
-+ccx_2.17: $(OCCXMAIN) ccx_2.17.a
-+	$(CC) $(CFLAGS) -c ccx_2.17.c; $(FC)  -Wall -O2 -o $@ $(OCCXMAIN) ccx_2.17.a $(LIBS)
+-ccx_2.19: $(OCCXMAIN) ccx_2.19.a  $(LIBS)
+-	./date.pl; $(CC) $(CFLAGS) -c ccx_2.19.c; $(FC)  -Wall -O2 -o $@ $(OCCXMAIN) ccx_2.19.a $(LIBS) -fopenmp
++ccx_2.19: $(OCCXMAIN) ccx_2.19.a
++	$(CC) $(CFLAGS) -c ccx_2.19.c; $(FC)  -Wall -O2 -o $@ $(OCCXMAIN) ccx_2.19.a $(LIBS) -fopenmp
  
- ccx_2.17.a: $(OCCXF) $(OCCXC)
+ ccx_2.19.a: $(OCCXF) $(OCCXC)
  	ar vr $@ $?
diff --git a/pkgs/applications/science/math/calculix/default.nix b/pkgs/applications/science/math/calculix/default.nix
index e9766b32c2a..df943277a62 100644
--- a/pkgs/applications/science/math/calculix/default.nix
+++ b/pkgs/applications/science/math/calculix/default.nix
@@ -2,18 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "calculix";
-  version = "2.17";
+  version = "2.19";
 
   src = fetchurl {
     url = "http://www.dhondt.de/ccx_${version}.src.tar.bz2";
-    sha256 = "0l3fizxfdj2mpdp62wnk9v47q2yc3cy39fpsm629z7bjmba8lw6a";
+    sha256 = "01vdy9sns58hkm39z6d0r5y7gzqf5z493d18jin9krqib1l6jnn7";
   };
 
   nativeBuildInputs = [ gfortran ];
 
   buildInputs = [ arpack spooles blas lapack ];
 
-  NIX_CFLAGS_COMPILE = "-I${spooles}/include/spooles";
+  NIX_CFLAGS_COMPILE = [
+    "-I${spooles}/include/spooles"
+    "-std=legacy"
+  ];
 
   patches = [
     ./calculix.patch
diff --git a/pkgs/applications/science/misc/bada-bib/default.nix b/pkgs/applications/science/misc/bada-bib/default.nix
index 6dfc6f7ea55..8f840b2998d 100644
--- a/pkgs/applications/science/misc/bada-bib/default.nix
+++ b/pkgs/applications/science/misc/bada-bib/default.nix
@@ -17,15 +17,15 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "bada-bib";
-  version = "0.6.1";
+  version = "0.6.2";
   format = "other";
   strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
 
   src = fetchFromGitHub {
     owner = "RogerCrocker";
     repo = "BadaBib";
-    rev = "v${version}";
-    sha256 = "sha256-fuGGKBScdo9rI3tLSBWIcWEME8nSuct0IUyfmI7PzCc=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-3dXtBwqEqiXLjntmqLYeuwLv0RDb774+yOXc7vdf8+Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/misc/colmap/default.nix b/pkgs/applications/science/misc/colmap/default.nix
index c41c8593a5c..8dc8f749897 100644
--- a/pkgs/applications/science/misc/colmap/default.nix
+++ b/pkgs/applications/science/misc/colmap/default.nix
@@ -1,10 +1,14 @@
 { mkDerivation, lib, fetchFromGitHub, cmake, boost17x, ceres-solver, eigen,
   freeimage, glog, libGLU, glew, qtbase,
-  cudaSupport ? false, cudatoolkit ? null }:
+  cudaSupport ? false, cudaPackages }:
 
-assert !cudaSupport || cudatoolkit != null;
+assert cudaSupport -> cudaPackages != { };
 
-let boost_static = boost17x.override { enableStatic = true; };
+let
+  boost_static = boost17x.override { enableStatic = true; };
+
+  # TODO: migrate to redist packages
+  inherit (cudaPackages) cudatoolkit;
 in
 mkDerivation rec {
   version = "3.7";
@@ -13,15 +17,27 @@ mkDerivation rec {
      owner = "colmap";
      repo = "colmap";
      rev = version;
-     sha256 = "sha256-uVAw6qwhpgIpHkXgxttKupU9zU+vD0Za0maw2Iv4x+I=";
+     hash = "sha256-uVAw6qwhpgIpHkXgxttKupU9zU+vD0Za0maw2Iv4x+I=";
   };
 
+  # TODO: rm once the gcc11 issue is closed, https://github.com/colmap/colmap/issues/1418#issuecomment-1049305256
+  cmakeFlags = lib.optionals cudaSupport [
+    "-DCUDA_ENABLED=ON"
+    "-DCUDA_NVCC_FLAGS=--std=c++14"
+  ];
+
   buildInputs = [
     boost_static ceres-solver eigen
     freeimage glog libGLU glew qtbase
-  ] ++ lib.optional cudaSupport cudatoolkit;
+  ] ++ lib.optionals cudaSupport [
+    cudatoolkit
+  ];
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [
+    cmake
+  ] ++ lib.optionals cudaSupport [
+    cudaPackages.autoAddOpenGLRunpathHook
+  ];
 
   meta = with lib; {
     description = "COLMAP - Structure-From-Motion and Multi-View Stereo pipeline";
diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix
index f4a3da9711d..47d46dcd128 100644
--- a/pkgs/applications/science/misc/snakemake/default.nix
+++ b/pkgs/applications/science/misc/snakemake/default.nix
@@ -1,10 +1,21 @@
-{ lib, python3Packages, fetchFromGitHub }:
+{ lib
+, fetchFromGitHub
+, python3
+}:
 
-python3Packages.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "snakemake";
-  version = "6.15.5";
+  version = "7.6.1";
+  format = "setuptools";
 
-  propagatedBuildInputs = with python3Packages; [
+  src = fetchFromGitHub {
+    owner = "snakemake";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-McknAQDzpTE1WdIBr8HsFpGzXuJT2kDNvLzK2gn75GM=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
     appdirs
     configargparse
     connection-pool
@@ -22,26 +33,21 @@ python3Packages.buildPythonApplication rec {
     pyyaml
     ratelimiter
     requests
+    retry
     smart-open
     stopit
     tabulate
     toposort
     wrapt
+    yte
   ];
 
-  src = fetchFromGitHub {
-    owner = "snakemake";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-i8C7gPLzUzSxNH9xwpr+fUKI1SvpYFsFBlspS74LoWU=";
-  };
-
   # See
   # https://github.com/snakemake/snakemake/blob/main/.github/workflows/main.yml#L99
   # for the current basic test suite. Tibanna and Tes require extra
   # setup.
 
-  checkInputs = with python3Packages; [
+  checkInputs = with python3.pkgs; [
     pandas
     pytestCheckHook
     requests-mock
@@ -53,7 +59,15 @@ python3Packages.buildPythonApplication rec {
     "tests/test_linting.py"
   ];
 
-  pythonImportsCheck = [ "snakemake" ];
+  disabledTests = [
+    # Tests require network access
+    "test_github_issue1396"
+    "test_github_issue1460"
+  ];
+
+  pythonImportsCheck = [
+    "snakemake"
+  ];
 
   meta = with lib; {
     homepage = "https://snakemake.github.io";
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index 69810f95b84..b3a3eb2bd2a 100644
--- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -19,11 +19,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "gromacs";
-  version = "2022";
+  version = "2022.1";
 
   src = fetchurl {
     url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-${version}.tar.gz";
-    sha256 = "0s1bv8nvmdpiyk2yhcmzq8q936hm5jgnqb393101drh2dih0vmps";
+    sha256 = "sha256-hd2rUZfXlSSnAsSVnCxDvodeD8Rx3zo1Ikk53OhRJFA=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/robotics/mavproxy/default.nix b/pkgs/applications/science/robotics/mavproxy/default.nix
index 802fe1f946e..8b69539d6bc 100644
--- a/pkgs/applications/science/robotics/mavproxy/default.nix
+++ b/pkgs/applications/science/robotics/mavproxy/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonApplication rec {
   pname = "MAVProxy";
-  version = "1.8.48";
+  version = "1.8.49";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-BigJdAz52D8hg2bQs7tngFqnITut/wENGZ0+gLlAeoY=";
+    sha256 = "sha256-eJ/QxtMUq7DN/cH9qUHNIJv48r0NJrbZfML74DpYamQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/terminal-emulators/alacritty/default.nix b/pkgs/applications/terminal-emulators/alacritty/default.nix
index e6762f543cb..32d1286ab1b 100644
--- a/pkgs/applications/terminal-emulators/alacritty/default.nix
+++ b/pkgs/applications/terminal-emulators/alacritty/default.nix
@@ -6,7 +6,6 @@
 , nixosTests
 
 , cmake
-, gzip
 , installShellFiles
 , makeWrapper
 , ncurses
@@ -68,7 +67,6 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [
     cmake
-    gzip
     installShellFiles
     makeWrapper
     ncurses
diff --git a/pkgs/applications/terminal-emulators/foot/default.nix b/pkgs/applications/terminal-emulators/foot/default.nix
index 41154cc1034..abcea5f69a0 100644
--- a/pkgs/applications/terminal-emulators/foot/default.nix
+++ b/pkgs/applications/terminal-emulators/foot/default.nix
@@ -27,7 +27,7 @@
 }:
 
 let
-  version = "1.11.0";
+  version = "1.12.1";
 
   # build stimuli file for PGO build and the script to generate it
   # independently of the foot's build, so we can cache the result
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
     owner = "dnkl";
     repo = pname;
     rev = version;
-    sha256 = "1d9bk8lhmw5lc8k0mw80g0vbwgxyh3gw5c7ppy3sir07s9y0y0fn";
+    sha256 = "14jqs4sarxbrgi5pxz0afqa9jxq90cb5ayqd21qj2n65whqa5bpk";
   };
 
   depsBuildBuild = [
@@ -144,6 +144,7 @@ stdenv.mkDerivation rec {
   mesonBuildType = "release";
 
   # See https://codeberg.org/dnkl/foot/src/tag/1.9.2/INSTALL.md#options
+  # TODO(@sternenseemann): install systemd user units
   mesonFlags = [
     # Use lto
     "-Db_lto=true"
diff --git a/pkgs/applications/terminal-emulators/wezterm/default.nix b/pkgs/applications/terminal-emulators/wezterm/default.nix
index c51aee52686..8f15a38111c 100644
--- a/pkgs/applications/terminal-emulators/wezterm/default.nix
+++ b/pkgs/applications/terminal-emulators/wezterm/default.nix
@@ -23,14 +23,13 @@
 , Foundation
 , libiconv
 , nixosTests
+, runCommand
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "wezterm";
   version = "20220408-101518-b908e2dd";
 
-  outputs = [ "out" "terminfo" ];
-
   src = fetchFromGitHub {
     owner = "wez";
     repo = pname;
@@ -75,10 +74,8 @@ rustPlatform.buildRustPackage rec {
   ];
 
   postInstall = ''
-    # terminfo
-    mkdir -p $terminfo/share/terminfo/w $out/nix-support
-    tic -x -o $terminfo/share/terminfo termwiz/data/wezterm.terminfo
-    echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
+    mkdir -p $out/nix-support
+    echo "${passthru.terminfo}" >> $out/nix-support/propagated-user-env-packages
 
     # desktop icon
     install -Dm644 assets/icon/terminal.png $out/share/icons/hicolor/128x128/apps/org.wezfurlong.wezterm.png
@@ -100,9 +97,20 @@ rustPlatform.buildRustPackage rec {
     ln -s $out/bin/{wezterm,wezterm-mux-server,wezterm-gui,strip-ansi-escapes} "$OUT_APP"
   '';
 
-  passthru.tests = {
-    all-terminfo = nixosTests.allTerminfo;
-    test = nixosTests.terminal-emulators.wezterm;
+  passthru = {
+    tests = {
+      all-terminfo = nixosTests.allTerminfo;
+      terminal-emulators = nixosTests.terminal-emulators.wezterm;
+    };
+    terminfo = runCommand "wezterm-terminfo"
+      {
+        nativeBuildInputs = [
+          ncurses
+        ];
+      } ''
+      mkdir -p $out/share/terminfo $out/nix-support
+      tic -x -o $out/share/terminfo ${src}/termwiz/data/wezterm.terminfo
+    '';
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/gh/default.nix b/pkgs/applications/version-management/git-and-tools/gh/default.nix
index 7e9b6e00650..43311216e65 100644
--- a/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.8.0";
+  version = "2.9.0";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-oPLnc3Fv8oGbfQMujcVIwKJrQ3vCV9yIB4rUtjeVOV0=";
+    sha256 = "sha256-k8td9YKtlkit3YzpAncocZE7+Cl8v9ZNyPD4ZysCFRI=";
   };
 
   vendorSha256 = "sha256-YLkNua0Pz0gVIYnWOzOlV5RuLBaoZ4l7l1Pf4QIfUVQ=";
diff --git a/pkgs/applications/version-management/git-and-tools/ghorg/default.nix b/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
index 87d11dd9c1e..f991bccf0e2 100644
--- a/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/ghorg/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ghorg";
-  version = "1.7.12";
+  version = "1.7.13";
 
   src = fetchFromGitHub {
     owner = "gabrie30";
     repo = "ghorg";
     rev = "v${version}";
-    sha256 = "sha256-y5o4yY5M9eDKN9LtbrPR29EafN3X7J51ARCEpFtLxCo=";
+    sha256 = "sha256-EQCu+2qMKu+e6G5iXAQn5cz0MZqHrF2wnKNO8Fkpp/Y=";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix b/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix
index c9bf60a1eb9..ced8244256a 100644
--- a/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-cliff";
-  version = "0.6.1";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = "git-cliff";
     rev = "v${version}";
-    sha256 = "sha256-CJ/2Cv/XoLq9U7u5mexH8iCCHbGtV6xohP3FapqO3+g=";
+    sha256 = "sha256-wVHL2+didmiN7UlEeIuSr+8LhkFKCOD3of4rKVg1i1o=";
   };
 
-  cargoSha256 = "sha256-pYStKDgvvV/Z96TAonpDW7DIs1YSO6gAoiUCieVa9QY=";
+  cargoSha256 = "sha256-5jhloUnaGXXDu2LCO86SMJo8ETIxLAivv3hx9gEqtJ4=";
 
   # attempts to run the program on .git in src which is not deterministic
   doCheck = false;
diff --git a/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix b/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
index f0184c66377..1cf29fbd6c2 100644
--- a/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
@@ -1,23 +1,32 @@
-{ fetchFromGitHub, git, gnupg, makeWrapper, openssl, lib, stdenv
-, libxslt, docbook_xsl
+{ fetchFromGitHub
+, git
+, gnupg
+, makeWrapper
+, openssl
+, lib
+, stdenv
+, libxslt
+, docbook_xsl
 }:
 
 stdenv.mkDerivation rec {
   pname = "git-crypt";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "AGWA";
     repo = pname;
     rev = version;
-    sha256 = "13m9y0m6gc3mlw3pqv9x4i0him2ycbysizigdvdanhh514kga602";
+    sha256 = "sha256-GcGCX6hoKL+sNLAeGEzZpaM+cdFjcNlwYExfOFEPi0I=";
   };
 
+  strictDeps = true;
+
   nativeBuildInputs = [ libxslt makeWrapper ];
 
   buildInputs = [ openssl ];
 
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace commands.cpp \
       --replace '(escape_shell_arg(our_exe_path()))' '= "git-crypt"'
   '';
@@ -29,7 +38,8 @@ stdenv.mkDerivation rec {
   ];
 
   postFixup = ''
-    wrapProgram $out/bin/git-crypt --prefix PATH : $out/bin:${git}/bin:${gnupg}/bin
+    wrapProgram $out/bin/git-crypt \
+      --suffix PATH : ${lib.makeBinPath [ git gnupg ]}
   '';
 
   meta = with lib; {
@@ -48,7 +58,7 @@ stdenv.mkDerivation rec {
     '';
     downloadPage = "https://github.com/AGWA/git-crypt/releases";
     license = licenses.gpl3;
-    maintainers = [ maintainers.dochang ];
+    maintainers = with maintainers; [ dochang SuperSandro2000 ];
     platforms = platforms.unix;
   };
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
index 2037122bf27..f0932fde2d5 100644
--- a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-extras";
-  version = "6.3.0";
+  version = "6.4.0";
 
   src = fetchFromGitHub {
     owner = "tj";
     repo = "git-extras";
     rev = version;
-    sha256 = "sha256-mmvDsK+SgBXQSKNKuPt+K4sgtdrtqPx9Df2E3kKLdJM=";
+    sha256 = "sha256-Cn7IXMzgg0QIsNIHz+X14Gkmop0UbsSBlGlGkmg71ek=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix b/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix
index 2f999ec3d87..b85f6d973cf 100644
--- a/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-interactive-rebase-tool/default.nix
@@ -1,25 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, rustPlatform, libiconv, Security }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "git-interactive-rebase-tool";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "MitMaro";
     repo = pname;
     rev = version;
-    sha256 = "sha256-DYl/GUbeNtKmXoR3gq8mK8EfsZNVNlrdngAwfzG+epw=";
+    sha256 = "sha256-++KTMzTt84dowoZP+Bc9E/jUS21YN5ybKrlpQUKCir0=";
   };
 
-  cargoPatches = [
-    # update git2 crate to fix a compile error
-    (fetchpatch {
-      url = "https://github.com/MitMaro/git-interactive-rebase-tool/commit/f4d3026f23118d29a263bbca6c83f963e76c34c4.patch";
-      sha256 = "sha256-6ErPRcPbPRXbEslNiNInbbUhbOWb9ZRll7ZDRgTpWS4=";
-    })
-  ];
-
-  cargoSha256 = "sha256-2aHW9JIiqkO0X0B0D44tSZ8QkmKH/QZoYvKNEQWldo4=";
+  cargoSha256 = "sha256-OUaP/nDs589FYaGYcleRMTQNu3/q/2wBjHSv2q8OyjA=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
index 573f69fef00..6b6da70bb94 100644
--- a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -4,19 +4,19 @@
 , installShellFiles
 , git
 , nix-update-script
-, testVersion
+, testers
 , git-machete
 }:
 
 buildPythonApplication rec {
   pname = "git-machete";
-  version = "3.8.0";
+  version = "3.9.0";
 
   src = fetchFromGitHub {
     owner = "virtuslab";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WVPcyooShgFPZaIfEzV2zUA6tCHhuTM8MbrGVNr0neM=";
+    sha256 = "sha256-AuF4KUayMRQ2TsvjzpMHpppM+0e6igs7MrAXzGP9yp0=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 262cd332c66..c09de996851 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -13,7 +13,7 @@
 , pythonSupport ? true
 , withpcre2 ? true
 , sendEmailSupport ? false
-, darwin
+, Security, CoreServices
 , nixosTests
 , withLibsecret ? false
 , pkg-config, glib, libsecret
@@ -26,7 +26,7 @@ assert sendEmailSupport -> perlSupport;
 assert svnSupport -> perlSupport;
 
 let
-  version = "2.35.3";
+  version = "2.36.0";
   svn = subversionClient.override { perlBindings = perlSupport; };
   gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
 in
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "sha256-FenbT5vy7Z//MMtioAxcfAkBAV9asEjNtOiwTd7gD6I=";
+    sha256 = "sha256-r16/wWWEZPXQ1For/YhMk1+2B6EMwCHZW8gHeIYcwdM=";
   };
 
   outputs = [ "out" ] ++ lib.optional withManual "doc";
@@ -79,7 +79,7 @@ stdenv.mkDerivation {
     ++ lib.optionals perlSupport [ perlPackages.perl ]
     ++ lib.optionals guiSupport [tcl tk]
     ++ lib.optionals withpcre2 [ pcre2 ]
-    ++ lib.optionals stdenv.isDarwin [ darwin.Security ]
+    ++ lib.optionals stdenv.isDarwin [ Security CoreServices ]
     ++ lib.optionals withLibsecret [ pkg-config glib libsecret ];
 
   # required to support pthread_cancel()
@@ -354,6 +354,8 @@ stdenv.mkDerivation {
     disable_test t9902-completion
     # not ok 1 - populate workdir (with 2.33.1 on x86_64-darwin)
     disable_test t5003-archive-zip
+  '' + lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) ''
+    disable_test t7527-builtin-fsmonitor
   '' + lib.optionalString stdenv.hostPlatform.isMusl ''
     # Test fails (as of 2.17.0, musl 1.1.19)
     disable_test t3900-i18n-commit
diff --git a/pkgs/applications/version-management/git-and-tools/gitbatch/default.nix b/pkgs/applications/version-management/git-and-tools/gitbatch/default.nix
index 25f7e95d184..75fea7bf871 100644
--- a/pkgs/applications/version-management/git-and-tools/gitbatch/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitbatch/default.nix
@@ -1,20 +1,22 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
-  pname = "gitbatch-unstable";
-  version = "2019-12-19";
-
-  goPackagePath = "github.com/isacikgoz/gitbatch";
-
-  goDeps = ./deps.nix;
+buildGoModule rec {
+  pname = "gitbatch";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "isacikgoz";
     repo = "gitbatch";
-    rev = "381b0df7f86056c625c0d4d2d979733c1ee5def7";
-    sha256 = "0613vfqdn3k0w7fm25rqnqdr67w9vii3i56dfslqcn1vqjfrff3q";
+    rev = "v${version}";
+    sha256 = "sha256-ovmdbyPRSebwmW6AW55jBgBKaNdY6w5/wrpUF2cMKw8=";
   };
 
+  vendorSha256 = "sha256-wwpaJO5cXMsvqFXj+qGiIm4zg/SL4YCm2mNnG/qdilw=";
+
+  ldflags = [ "-s" "-w" ];
+
+  checkFlags = [ "-short" ];
+
   meta = with lib; {
     description = "Running git UI commands";
     homepage = "https://github.com/isacikgoz/gitbatch";
diff --git a/pkgs/applications/version-management/git-and-tools/gitbatch/deps.nix b/pkgs/applications/version-management/git-and-tools/gitbatch/deps.nix
deleted file mode 100644
index 53784b4eacf..00000000000
--- a/pkgs/applications/version-management/git-and-tools/gitbatch/deps.nix
+++ /dev/null
@@ -1,543 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
-[
-  {
-    goPackagePath = "github.com/alcortesm/tgz";
-    fetch = {
-      type = "git";
-      url = "https://github.com/alcortesm/tgz";
-      rev = "9c5fe88206d7";
-      sha256 = "04dcwnz2c2i4wbq2vx3g2wrdgqpncr2r1h6p1k08rdwk4bq1h8c5";
-    };
-  }
-  {
-    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/anmitsu/go-shlex";
-    fetch = {
-      type = "git";
-      url = "https://github.com/anmitsu/go-shlex";
-      rev = "648efa622239";
-      sha256 = "10rgdp5d106iisgz25ic8k6f44s9adh4sjh6fyxq9ccm21gw49b7";
-    };
-  }
-  {
-    goPackagePath = "github.com/armon/consul-api";
-    fetch = {
-      type = "git";
-      url = "https://github.com/armon/consul-api";
-      rev = "eb2c6b5be1b6";
-      sha256 = "1j6fdr1sg36qy4n4xjl7brq739fpm5npq98cmvklzjc9qrx98nk9";
-    };
-  }
-  {
-    goPackagePath = "github.com/coreos/etcd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/coreos/etcd";
-      rev = "v3.3.10";
-      sha256 = "1x2ii1hj8jraba8rbxz6dmc03y3sjxdnzipdvg6fywnlq1f3l3wl";
-    };
-  }
-  {
-    goPackagePath = "github.com/coreos/go-etcd";
-    fetch = {
-      type = "git";
-      url = "https://github.com/coreos/go-etcd";
-      rev = "v2.0.0";
-      sha256 = "1xb34hzaa1lkbq5vkzy9vcz6gqwj7hp6cdbvyack2bf28dwn33jj";
-    };
-  }
-  {
-    goPackagePath = "github.com/coreos/go-semver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/coreos/go-semver";
-      rev = "v0.2.0";
-      sha256 = "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0";
-    };
-  }
-  {
-    goPackagePath = "github.com/davecgh/go-spew";
-    fetch = {
-      type = "git";
-      url = "https://github.com/davecgh/go-spew";
-      rev = "v1.1.1";
-      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
-    };
-  }
-  {
-    goPackagePath = "github.com/emirpasic/gods";
-    fetch = {
-      type = "git";
-      url = "https://github.com/emirpasic/gods";
-      rev = "v1.9.0";
-      sha256 = "1zhkppqzy149fp561pif8d5d92jd9chl3l9z4yi5f8n60ibdmmjf";
-    };
-  }
-  {
-    goPackagePath = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev = "v1.7.0";
-      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
-    };
-  }
-  {
-    goPackagePath = "github.com/flynn/go-shlex";
-    fetch = {
-      type = "git";
-      url = "https://github.com/flynn/go-shlex";
-      rev = "3f9db97f8568";
-      sha256 = "1j743lysygkpa2s2gii2xr32j7bxgc15zv4113b0q9jhn676ysia";
-    };
-  }
-  {
-    goPackagePath = "github.com/fsnotify/fsnotify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fsnotify/fsnotify";
-      rev = "v1.4.7";
-      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
-    };
-  }
-  {
-    goPackagePath = "github.com/gliderlabs/ssh";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gliderlabs/ssh";
-      rev = "v0.1.1";
-      sha256 = "0bylkc7yg8bxxffhchikcnzwli5n95cfmbji6v2a4mn1h5n36mdm";
-    };
-  }
-  {
-    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/hashicorp/hcl";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/hcl";
-      rev = "v1.0.0";
-      sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66";
-    };
-  }
-  {
-    goPackagePath = "github.com/jbenet/go-context";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jbenet/go-context";
-      rev = "d14ea06fba99";
-      sha256 = "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl";
-    };
-  }
-  {
-    goPackagePath = "github.com/jessevdk/go-flags";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jessevdk/go-flags";
-      rev = "v1.4.0";
-      sha256 = "0algnnigph27spgn655zm4723yfjxjjvlf4k14z9drj3682df25a";
-    };
-  }
-  {
-    goPackagePath = "github.com/jroimartin/gocui";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jroimartin/gocui";
-      rev = "v0.4.0";
-      sha256 = "1b1cbjg925l1c5v3ls8amni9716190yzf847cqs9wjnj82z8qa47";
-    };
-  }
-  {
-    goPackagePath = "github.com/kevinburke/ssh_config";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kevinburke/ssh_config";
-      rev = "81db2a75821e";
-      sha256 = "0hwmv2h83aa7r6l7yqwsxdyldnlhb4gbbkc3ww9nys7impjcjnsp";
-    };
-  }
-  {
-    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
-    fetch = {
-      type = "git";
-      url = "https://github.com/konsorten/go-windows-terminal-sequences";
-      rev = "v1.0.1";
-      sha256 = "1lchgf27n276vma6iyxa0v1xds68n2g8lih5lavqnx5x6q5pw2ip";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/pretty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pretty";
-      rev = "v0.1.0";
-      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/pty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pty";
-      rev = "v1.1.1";
-      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/text";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/text";
-      rev = "v0.1.0";
-      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
-    };
-  }
-  {
-    goPackagePath = "github.com/magiconair/properties";
-    fetch = {
-      type = "git";
-      url = "https://github.com/magiconair/properties";
-      rev = "v1.8.0";
-      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev = "v0.1.1";
-      sha256 = "0l640974j804c1yyjfgyxqlsivz0yrzmbql4mhcw2azryigkp08p";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "v0.0.7";
-      sha256 = "1i77aq4gf9as03m8fpfh8fq49n4z9j7548blrcsidm1xhslzk5xd";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-runewidth";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "v0.0.4";
-      sha256 = "00b3ssm7wiqln3k54z2wcnxr3k3c7m1ybyhb9h8ixzbzspld0qzs";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/go-homedir";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/go-homedir";
-      rev = "v1.0.0";
-      sha256 = "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/mapstructure";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/mapstructure";
-      rev = "v1.1.2";
-      sha256 = "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr";
-    };
-  }
-  {
-    goPackagePath = "github.com/nsf/termbox-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/nsf/termbox-go";
-      rev = "288510b9734e";
-      sha256 = "0hdyisfaf8yb55h3p03p4sbq19546mp9fy28f2kn659mycmhxqk4";
-    };
-  }
-  {
-    goPackagePath = "github.com/pelletier/go-buffruneio";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-buffruneio";
-      rev = "v0.2.0";
-      sha256 = "0l83p1gg6g5mmhmxjisrhfimhbm71lwn1r2w7d6siwwqm9q08sd2";
-    };
-  }
-  {
-    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 = "v0.8.0";
-      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
-    };
-  }
-  {
-    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/sergi/go-diff";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sergi/go-diff";
-      rev = "v1.0.0";
-      sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7";
-    };
-  }
-  {
-    goPackagePath = "github.com/sirupsen/logrus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sirupsen/logrus";
-      rev = "v1.4.0";
-      sha256 = "1y1qjcg19z7q9sy32rhc148kdql2aw7xkcm9d6r1blrl0mdgpx0w";
-    };
-  }
-  {
-    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";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/jwalterweatherman";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/jwalterweatherman";
-      rev = "v1.0.0";
-      sha256 = "093fmmvavv84pv4q84hav7ph3fmrq87bvspjj899q0qsx37yvdr8";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "v1.0.3";
-      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/viper";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/viper";
-      rev = "v1.3.2";
-      sha256 = "1829hvf805kda65l59r17wvid7y0vr390s23zfhf4w7vdb4wp3zh";
-    };
-  }
-  {
-    goPackagePath = "github.com/src-d/gcfg";
-    fetch = {
-      type = "git";
-      url = "https://github.com/src-d/gcfg";
-      rev = "v1.4.0";
-      sha256 = "044j95skmyrwjw5fwjk6ka32rjgsg0ar0mfp9np19sh1acwv4x4r";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/objx";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/objx";
-      rev = "v0.1.1";
-      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/testify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev = "v1.2.2";
-      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
-    };
-  }
-  {
-    goPackagePath = "github.com/ugorji/go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ugorji/go";
-      rev = "d75b2dcb6bc8";
-      sha256 = "0di1k35gpq9bp958ywranpbskx2vdwlb38s22vl9rybm3wa5g3ps";
-    };
-  }
-  {
-    goPackagePath = "github.com/xanzy/ssh-agent";
-    fetch = {
-      type = "git";
-      url = "https://github.com/xanzy/ssh-agent";
-      rev = "v0.2.0";
-      sha256 = "069nlriymqswg52ggiwi60qhwrin9nzhd2g65a7h59z2qbcvk2hy";
-    };
-  }
-  {
-    goPackagePath = "github.com/xordataexchange/crypt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/xordataexchange/crypt";
-      rev = "b2862e3d0a77";
-      sha256 = "04q3856anpzl4gdfgmg7pbp9cx231nkz3ymq2xp27rnmmwhfxr8y";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "505ab145d0a9";
-      sha256 = "1vbsvcvmjz6c00p5vf8ls533p52fx2y3gy6v4k5qrdlzl4wf0i5s";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "161cd47e91fd";
-      sha256 = "0254ld010iijygbzykib2vags1dc0wlmcmhgh4jl8iny159lhbcv";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sync";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sync";
-      rev = "e225da77a7e6";
-      sha256 = "0bh3583smcfw6jw3w6lp0za93rz7hpxfdz8vhxng75b7a6vdlw4p";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "a9d3bda3a223";
-      sha256 = "1w45zc13xrjzl19s1sx74r5mg3lf2z2nm13wygcdq5r5pyjlhdz9";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "v0.3.0";
-      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
-    };
-  }
-  {
-    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/src-d/go-billy.v4";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/src-d/go-billy.v4";
-      rev = "v4.2.1";
-      sha256 = "1n8nc0m2hidbrlcl643cd0bdm07pjr0qji47gbfpfj99791sv1d1";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/src-d/go-git-fixtures.v3";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/src-d/go-git-fixtures.v3";
-      rev = "v3.1.1";
-      sha256 = "1fq3j5chck6883jbn33gwm6dxdgzsphjq97psyn81hz9bc1ili8p";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/src-d/go-git.v4";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/src-d/go-git.v4";
-      rev = "v4.10.0";
-      sha256 = "18bx3m5ddvb20figd8pc3lgf9hn85pifc6xy72bb83lv2nxii2rx";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/warnings.v0";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/warnings.v0";
-      rev = "v0.1.2";
-      sha256 = "1kzj50jn708cingn7a13c2wdlzs6qv89dr2h4zj8d09647vlnd81";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.2";
-      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
-    };
-  }
-]
diff --git a/pkgs/applications/version-management/git-and-tools/scmpuff/default.nix b/pkgs/applications/version-management/git-and-tools/scmpuff/default.nix
index 3396718edbc..65ca1b476d4 100644
--- a/pkgs/applications/version-management/git-and-tools/scmpuff/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/scmpuff/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, testVersion, scmpuff }:
+{ lib, buildGoModule, fetchFromGitHub, testers, scmpuff }:
 
 buildGoModule rec {
   pname = "scmpuff";
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ];
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = scmpuff;
     command = "scmpuff version";
   };
diff --git a/pkgs/applications/version-management/git-lfs/default.nix b/pkgs/applications/version-management/git-lfs/default.nix
index 9f0126d9ac4..8871ac2306e 100644
--- a/pkgs/applications/version-management/git-lfs/default.nix
+++ b/pkgs/applications/version-management/git-lfs/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "git-lfs";
-  version = "3.1.2";
+  version = "3.1.4";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "git-lfs";
     repo = "git-lfs";
-    sha256 = "sha256-IEo8poEYPjAbBGk+SQdJqyhwgMYjNLdibI+AktVIg1g=";
+    sha256 = "sha256-dGqb7gw7l2SPGwhHIFbEq6XqMB9QRw3+3Pfbk2S4kW4=";
   };
 
   goPackagePath = "github.com/git-lfs/git-lfs";
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index eb87a20e3eb..ad41afe5ac1 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-repo";
-  version = "2.23";
+  version = "2.25";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "sha256-YW6MBX/NGQXuFWvzISWKJZkvxWc0jasxmzy/Zh1TjY0=";
+    sha256 = "sha256-3S4peybytlO432ui+bECVWQTbyNfs2kSMqcqQyVc1os=";
   };
 
   # Fix 'NameError: name 'ssl' is not defined'
diff --git a/pkgs/applications/version-management/git-review/default.nix b/pkgs/applications/version-management/git-review/default.nix
index 98c9c5312e6..1eaedf218cd 100644
--- a/pkgs/applications/version-management/git-review/default.nix
+++ b/pkgs/applications/version-management/git-review/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonApplication rec {
   pname = "git-review";
-  version = "2.2.0";
+  version = "2.3.1";
 
   # Manually set version because prb wants to get it from the git
   # upstream repository (and we are installing from tarball instead)
@@ -20,7 +20,7 @@ buildPythonApplication rec {
     owner = "opendev";
     repo = pname;
     rev = version;
-    sha256 = "sha256-2+X5fPxB2FIp1fwqEUc+W0gH2NjhF/V+La+maE+XEpo=";
+    sha256 = "sha256-C8M4b/paHJB9geizc1eIhXsTuLeeS4dDisCfCQF1RuU=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/applications/version-management/git-sizer/default.nix b/pkgs/applications/version-management/git-sizer/default.nix
index daabe71bebb..ed7239b80cb 100644
--- a/pkgs/applications/version-management/git-sizer/default.nix
+++ b/pkgs/applications/version-management/git-sizer/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, testVersion, git-sizer }:
+{ lib, buildGoModule, fetchFromGitHub, testers, git-sizer }:
 
 buildGoModule rec {
   pname = "git-sizer";
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   doCheck = false;
 
-  passthru.tests.vesion = testVersion {
+  passthru.tests.vesion = testers.testVersion {
     package = git-sizer;
   };
 
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 57147e360a2..6ad600e07cc 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -16,12 +16,12 @@ with lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.16.6";
+  version = "1.16.7";
 
   # not fetching directly from the git repo, because that lacks several vendor files for the web UI
   src = fetchurl {
     url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
-    sha256 = "sha256-LlAnTTFuqbMa7QPf51D6+RalWuYqTKlSlxGXyt4h0aE=";
+    sha256 = "sha256-UVmbFtHC4W3WF+DptdHMMUoe8UE5TVgoM9QRuczSrEg=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index dbae269aab8..4585eda4947 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,14 +1,14 @@
 {
-  "version": "14.9.2",
-  "repo_hash": "sha256-+tZN6isOb7LtUVwGshx9TP+P42sftJmQGVk1L9UJqcY=",
-  "yarn_hash": "1mya6y0cb9x8491gpf7f1i7qi2rb0l7d9g5yzj44vvy3mb4rcqaj",
+  "version": "14.10.1",
+  "repo_hash": "13868wb0zr862xaxapp8nxh16gjsawklw66rlxx95bhhm3r81nrp",
+  "yarn_hash": "17wxqvig34namf8kvh8bwci3y0f3k2nl4zs99jcvskdad9p45rlc",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v14.9.2-ee",
+  "rev": "v14.10.1-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "14.9.2",
+    "GITALY_SERVER_VERSION": "14.10.1",
     "GITLAB_PAGES_VERSION": "1.56.1",
-    "GITLAB_SHELL_VERSION": "13.24.0",
-    "GITLAB_WORKHORSE_VERSION": "14.9.2"
+    "GITLAB_SHELL_VERSION": "13.25.1",
+    "GITLAB_WORKHORSE_VERSION": "14.10.1"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
index 78296dff887..787e705f945 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
@@ -3,7 +3,7 @@ source 'https://rubygems.org'
 gem 'rugged', '~> 1.2'
 gem 'github-linguist', '~> 7.12', require: 'linguist'
 gem 'gitlab-markup', '~> 1.7.1'
-gem 'activesupport', '~> 6.1.4.6'
+gem 'activesupport', '~> 6.1.4.7'
 gem 'rdoc', '~> 6.0'
 gem 'gitlab-gollum-lib', '~> 4.2.7.10.gitlab.2', require: false
 gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.4.gitlab.1', require: false
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index 752883d801d..cc37adacce6 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -2,20 +2,20 @@ GEM
   remote: https://rubygems.org/
   specs:
     abstract_type (0.0.7)
-    actionpack (6.1.4.6)
-      actionview (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    actionpack (6.1.4.7)
+      actionview (= 6.1.4.7)
+      activesupport (= 6.1.4.7)
       rack (~> 2.0, >= 2.0.9)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actionview (6.1.4.6)
-      activesupport (= 6.1.4.6)
+    actionview (6.1.4.7)
+      activesupport (= 6.1.4.7)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activesupport (6.1.4.6)
+    activesupport (6.1.4.7)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -34,7 +34,7 @@ GEM
     concord (0.1.5)
       adamantium (~> 0.2.0)
       equalizer (~> 0.0.9)
-    concurrent-ruby (1.1.9)
+    concurrent-ruby (1.1.10)
     crass (1.0.6)
     diff-lcs (1.3)
     dotenv (2.7.6)
@@ -88,7 +88,7 @@ GEM
       google-protobuf (~> 3.18)
       googleapis-common-protos-types (~> 1.0)
     grpc-tools (1.42.0)
-    i18n (1.9.1)
+    i18n (1.10.0)
       concurrent-ruby (~> 1.0)
     ice_nine (0.11.2)
     jaeger-client (1.1.0)
@@ -101,7 +101,7 @@ GEM
       reverse_markdown (~> 1.0)
       rugged (>= 0.24, < 2.0)
       thor (>= 0.19, < 2.0)
-    loofah (2.14.0)
+    loofah (2.16.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     memoizable (0.4.2)
@@ -111,12 +111,12 @@ GEM
       mime-types-data (~> 3.2015)
     mime-types-data (3.2020.1104)
     mini_mime (1.0.2)
-    mini_portile2 (2.6.1)
+    mini_portile2 (2.8.0)
     minitest (5.15.0)
     msgpack (1.3.3)
     multipart-post (2.1.1)
-    nokogiri (1.12.5)
-      mini_portile2 (~> 2.6.1)
+    nokogiri (1.13.3)
+      mini_portile2 (~> 2.8.0)
       racc (~> 1.4)
     octokit (4.20.0)
       faraday (>= 0.9)
@@ -225,7 +225,7 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  activesupport (~> 6.1.4.6)
+  activesupport (~> 6.1.4.7)
   factory_bot
   faraday (~> 1.0)
   github-linguist (~> 7.12)
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index cd76768aee4..3126ce718e8 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -11,7 +11,7 @@ let
     gemdir = ./.;
   };
 
-  version = "14.9.2";
+  version = "14.10.1";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}";
 in
 
@@ -23,10 +23,10 @@ buildGoModule {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "sha256-eEo+WZ2N/5bLfvwJCNf9qt+h/V5dIVqCjVJeomzw/Ps=";
+    sha256 = "sha256-4TbCfe41Nea1p0aDqGbF4SskUl5r9LRHKA16DH97jMI=";
   };
 
-  vendorSha256 = "sha256-kEjgWA/Task23PScPYrqdDu3vdVR/FJl7OilUug/Bds=";
+  vendorSha256 = "sha256-ZL61t+Ii2Ns3TmitiF93exinod54+RCqrbdpU67HeY0=";
 
   passthru = {
     inherit rubyEnv;
@@ -42,7 +42,7 @@ buildGoModule {
   postInstall = ''
     mkdir -p $ruby
     cp -rv $src/ruby/{bin,lib,proto} $ruby
-    mv $out/bin/gitaly-git2go $out/bin/gitaly-git2go-${version}
+    mv $out/bin/gitaly-git2go-v${lib.versions.major version} $out/bin/gitaly-git2go-${version}
   '';
 
   outputs = [ "out" "ruby" ];
diff --git a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index c55d094db5f..21db54b6ed5 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -13,10 +13,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d4nxv0p3wv4w0pf89nmxzg10balny5rwbchwsscgiminzh3mg7y";
+      sha256 = "0cr02mj9wic0xbdrhjipk58cdljsfl4mplhqr9whn3l5qg8x5814";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -24,10 +24,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cmxc80gg7pm6d9y7ah5qr4ymzks8rp51jv0a2qdq2m9p6llzlkk";
+      sha256 = "02x8cxq2bhgj5r9vpdjz8a56awg22gqvnqn01dqwyx8ny6sirzac";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -35,10 +35,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vrz4vgqz4grr2ykwkd8zhhd0rg12z89n89zl6aff17zrdhhad35";
+      sha256 = "04j9cgv729mcz2jwr312nr5aswv07s6kjynmf59w61j395dfcvw9";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   adamantium = {
     dependencies = ["ice_nine" "memoizable"];
@@ -122,10 +122,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
+      sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
       type = "gem";
     };
-    version = "1.1.9";
+    version = "1.1.10";
   };
   crass = {
     groups = ["default"];
@@ -343,10 +343,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nancdgq51wk3c1pkxps0rkjsfdwnkx60hzkm947m5rzsz8b2sw8";
+      sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg";
       type = "gem";
     };
-    version = "1.9.1";
+    version = "1.10.0";
   };
   ice_nine = {
     source = {
@@ -394,10 +394,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z8bdcmw66j3dy6ivcc02yq32lx3n9bavx497llln8qy014xjm4w";
+      sha256 = "15s6z5bvhdhnqv4wg8zcz3mhbc7i4dbqskv5jvhprz33ak7682km";
       type = "gem";
     };
-    version = "2.14.0";
+    version = "2.16.0";
   };
   memoizable = {
     dependencies = ["thread_safe"];
@@ -452,10 +452,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
+      sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy";
       type = "gem";
     };
-    version = "2.6.1";
+    version = "2.8.0";
   };
   minitest = {
     groups = ["default" "development" "test"];
@@ -493,10 +493,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b";
+      sha256 = "1p6b3q411h2mw4dsvhjrp1hh66hha5cm69fqg85vn2lizz71n6xz";
       type = "gem";
     };
-    version = "1.12.5";
+    version = "1.13.3";
   };
   octokit = {
     dependencies = ["faraday" "sawyer"];
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index 971ef2af955..915d52f1635 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -2,19 +2,19 @@
 
 buildGoModule rec {
   pname = "gitlab-shell";
-  version = "13.24.0";
+  version = "13.25.1";
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "sha256-/SH1YNmZr/NuCvyL6tmyTj1C2LUuxldeHwmJHWKPz2M=";
+    sha256 = "sha256-JItk6gfpBNxabI0vsIOHIBhK7L6E1ijPgrnzhQiKPYw=";
   };
 
   buildInputs = [ ruby ];
 
   patches = [ ./remove-hardcoded-locations.patch ];
 
-  vendorSha256 = "sha256-RLV01CM5O0K4R8XDDcas2LjIig0S7GoyAo/S8+Vx2bY=";
+  vendorSha256 = "sha256-S7bVQxb+p6o0LPAdx7S6dlsHLecPwMS7myjQZwYhHcU=";
 
   postInstall = ''
     cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 9fcecc53a07..602d8650f33 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "14.9.2";
+  version = "14.10.1";
 
   src = fetchFromGitLab {
     owner = data.owner;
@@ -16,7 +16,7 @@ buildGoModule rec {
 
   sourceRoot = "source/workhorse";
 
-  vendorSha256 = "sha256-ubuMuO8tDjdVZWehsmsJqUgvmySIBJ15D9GHZFzApFw=";
+  vendorSha256 = "sha256-TNZtggUBMwIPO6ZZGk/EkRcilh7sztlAT7Hu4vhME0w=";
   buildInputs = [ git ];
   ldflags = [ "-X main.Version=${version}" ];
   doCheck = false;
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index ae8a8e01241..732591ae170 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -2,7 +2,7 @@
 
 source 'https://rubygems.org'
 
-gem 'rails', '~> 6.1.4.6'
+gem 'rails', '~> 6.1.4.7'
 
 gem 'bootsnap', '~> 1.9.1', require: false
 
@@ -41,6 +41,7 @@ gem 'omniauth-azure-activedirectory-v2', '~> 1.0'
 gem 'omniauth-azure-oauth2', '~> 0.0.9' # Deprecated v1 version
 gem 'omniauth-cas3', '~> 1.1.4'
 gem 'omniauth-dingtalk-oauth2', '~> 1.0'
+gem 'omniauth-alicloud', '~> 1.0.1'
 gem 'omniauth-facebook', '~> 4.0.0'
 gem 'omniauth-github', '~> 1.4'
 gem 'omniauth-gitlab', '~> 1.0.2'
@@ -163,7 +164,7 @@ gem 'org-ruby', '~> 0.9.12'
 gem 'creole', '~> 0.5.0'
 gem 'wikicloth', '0.8.1'
 gem 'asciidoctor', '~> 2.0.10'
-gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
+gem 'asciidoctor-include-ext', '~> 0.4.0', require: false
 gem 'asciidoctor-plantuml', '~> 0.0.12'
 gem 'asciidoctor-kroki', '~> 0.5.0', require: false
 gem 'rouge', '~> 3.27.0'
@@ -285,7 +286,7 @@ gem 'fast_blank'
 gem 'gitlab-chronic', '~> 0.10.5'
 gem 'gitlab_chronic_duration', '~> 0.10.6.2'
 
-gem 'rack-proxy', '~> 0.6.0'
+gem 'rack-proxy', '~> 0.7.2'
 
 gem 'sassc-rails', '~> 2.1.0'
 gem 'autoprefixer-rails', '10.2.5.1'
@@ -344,7 +345,7 @@ gem 'warning', '~> 1.2.0'
 
 group :development do
   gem 'lefthook', '~> 0.7.0', require: false
-  gem 'solargraph', '~> 0.43', require: false
+  gem 'solargraph', '~> 0.44.3', require: false
 
   gem 'letter_opener_web', '~> 2.0.0'
 
@@ -389,7 +390,7 @@ group :development, :test do
   gem 'knapsack', '~> 1.21.1'
   gem 'crystalball', '~> 0.7.0', require: false
 
-  gem 'simple_po_parser', '~> 1.1.2', require: false
+  gem 'simple_po_parser', '~> 1.1.6', require: false
 
   gem 'timecop', '~> 0.9.1'
 
@@ -403,7 +404,7 @@ group :development, :test do
 end
 
 group :development, :test, :danger do
-  gem 'gitlab-dangerfiles', '~> 2.11.0', require: false
+  gem 'gitlab-dangerfiles', '~> 3.0', require: false
 end
 
 group :development, :test, :coverage do
@@ -481,7 +482,7 @@ gem 'ssh_data', '~> 1.2'
 gem 'spamcheck', '~> 0.1.0'
 
 # Gitaly GRPC protocol definitions
-gem 'gitaly', '~> 14.9.0.pre.rc4'
+gem 'gitaly', '~> 14.10.0-rc1'
 
 # KAS GRPC protocol definitions
 gem 'kas-grpc', '~> 0.0.2'
@@ -497,7 +498,7 @@ gem 'flipper', '~> 0.21.0'
 gem 'flipper-active_record', '~> 0.21.0'
 gem 'flipper-active_support_cache_store', '~> 0.21.0'
 gem 'unleash', '~> 3.2.2'
-gem 'gitlab-experiment', '~> 0.7.0'
+gem 'gitlab-experiment', '~> 0.7.1'
 
 # Structured logging
 gem 'lograge', '~> 0.5'
@@ -542,4 +543,4 @@ gem 'ipaddress', '~> 0.8.3'
 
 gem 'parslet', '~> 1.8'
 
-gem 'ipynbdiff', '0.4.4'
+gem 'ipynbdiff', '0.4.5'
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 658d79dfcc6..eeb2a8d8a73 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -4,63 +4,63 @@ GEM
     RedCloth (4.3.2)
     acme-client (2.0.9)
       faraday (>= 0.17, < 2.0.0)
-    actioncable (6.1.4.6)
-      actionpack (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    actioncable (6.1.4.7)
+      actionpack (= 6.1.4.7)
+      activesupport (= 6.1.4.7)
       nio4r (~> 2.0)
       websocket-driver (>= 0.6.1)
-    actionmailbox (6.1.4.6)
-      actionpack (= 6.1.4.6)
-      activejob (= 6.1.4.6)
-      activerecord (= 6.1.4.6)
-      activestorage (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    actionmailbox (6.1.4.7)
+      actionpack (= 6.1.4.7)
+      activejob (= 6.1.4.7)
+      activerecord (= 6.1.4.7)
+      activestorage (= 6.1.4.7)
+      activesupport (= 6.1.4.7)
       mail (>= 2.7.1)
-    actionmailer (6.1.4.6)
-      actionpack (= 6.1.4.6)
-      actionview (= 6.1.4.6)
-      activejob (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    actionmailer (6.1.4.7)
+      actionpack (= 6.1.4.7)
+      actionview (= 6.1.4.7)
+      activejob (= 6.1.4.7)
+      activesupport (= 6.1.4.7)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 2.0)
-    actionpack (6.1.4.6)
-      actionview (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    actionpack (6.1.4.7)
+      actionview (= 6.1.4.7)
+      activesupport (= 6.1.4.7)
       rack (~> 2.0, >= 2.0.9)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actiontext (6.1.4.6)
-      actionpack (= 6.1.4.6)
-      activerecord (= 6.1.4.6)
-      activestorage (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    actiontext (6.1.4.7)
+      actionpack (= 6.1.4.7)
+      activerecord (= 6.1.4.7)
+      activestorage (= 6.1.4.7)
+      activesupport (= 6.1.4.7)
       nokogiri (>= 1.8.5)
-    actionview (6.1.4.6)
-      activesupport (= 6.1.4.6)
+    actionview (6.1.4.7)
+      activesupport (= 6.1.4.7)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activejob (6.1.4.6)
-      activesupport (= 6.1.4.6)
+    activejob (6.1.4.7)
+      activesupport (= 6.1.4.7)
       globalid (>= 0.3.6)
-    activemodel (6.1.4.6)
-      activesupport (= 6.1.4.6)
-    activerecord (6.1.4.6)
-      activemodel (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    activemodel (6.1.4.7)
+      activesupport (= 6.1.4.7)
+    activerecord (6.1.4.7)
+      activemodel (= 6.1.4.7)
+      activesupport (= 6.1.4.7)
     activerecord-explain-analyze (0.1.0)
       activerecord (>= 4)
       pg
-    activestorage (6.1.4.6)
-      actionpack (= 6.1.4.6)
-      activejob (= 6.1.4.6)
-      activerecord (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    activestorage (6.1.4.7)
+      actionpack (= 6.1.4.7)
+      activejob (= 6.1.4.7)
+      activerecord (= 6.1.4.7)
+      activesupport (= 6.1.4.7)
       marcel (~> 1.0.0)
       mini_mime (>= 1.1.0)
-    activesupport (6.1.4.6)
+    activesupport (6.1.4.7)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -82,7 +82,7 @@ GEM
       faraday_middleware-multi_json (~> 0.0)
       oauth2 (~> 1.4)
     asciidoctor (2.0.15)
-    asciidoctor-include-ext (0.3.1)
+    asciidoctor-include-ext (0.4.0)
       asciidoctor (>= 1.5.6, < 3.0.0)
     asciidoctor-kroki (0.5.0)
       asciidoctor (~> 2.0)
@@ -130,7 +130,7 @@ GEM
     base32 (0.3.2)
     batch-loader (2.0.1)
     bcrypt (3.1.16)
-    benchmark (0.1.1)
+    benchmark (0.2.0)
     benchmark-ips (2.3.0)
     benchmark-malloc (0.2.0)
     benchmark-memory (0.1.2)
@@ -196,7 +196,7 @@ GEM
     coderay (1.1.3)
     colored2 (3.1.2)
     commonmarker (0.23.4)
-    concurrent-ruby (1.1.9)
+    concurrent-ruby (1.1.10)
     connection_pool (2.2.5)
     contracts (0.11.0)
     cork (0.3.0)
@@ -217,7 +217,7 @@ GEM
     css_parser (1.7.0)
       addressable
     daemons (1.3.1)
-    danger (8.4.5)
+    danger (8.5.0)
       claide (~> 1.0)
       claide-plugins (>= 0.9.2)
       colored2 (~> 3.1)
@@ -448,7 +448,7 @@ GEM
       rails (>= 3.2.0)
     git (1.7.0)
       rchardet (~> 1.8)
-    gitaly (14.9.0.pre.rc4)
+    gitaly (14.10.0.pre.rc1)
       grpc (~> 1.0)
     github-markup (1.7.0)
     gitlab (4.16.1)
@@ -456,10 +456,11 @@ GEM
       terminal-table (~> 1.5, >= 1.5.1)
     gitlab-chronic (0.10.5)
       numerizer (~> 0.2)
-    gitlab-dangerfiles (2.11.0)
+    gitlab-dangerfiles (3.0.0)
       danger (>= 8.4.5)
       danger-gitlab (>= 8.0.0)
-    gitlab-experiment (0.7.0)
+      rake
+    gitlab-experiment (0.7.1)
       activesupport (>= 3.0)
       request_store (>= 1.0)
     gitlab-fog-azure-rm (1.2.0)
@@ -526,7 +527,7 @@ GEM
       signet (~> 0.12)
     google-cloud-env (1.5.0)
       faraday (>= 0.17.3, < 2.0)
-    google-protobuf (3.19.1)
+    google-protobuf (3.19.4)
     googleapis-common-protos-types (1.3.0)
       google-protobuf (~> 3.14)
     googleauth (0.14.0)
@@ -647,7 +648,7 @@ GEM
     invisible_captcha (1.1.0)
       rails (>= 4.2)
     ipaddress (0.8.3)
-    ipynbdiff (0.4.4)
+    ipynbdiff (0.4.5)
       diffy (~> 3.3)
       json (~> 2.5, >= 2.5.1)
     jaeger-client (1.1.0)
@@ -729,7 +730,7 @@ GEM
       activesupport (>= 4)
       railties (>= 4)
       request_store (~> 1.0)
-    loofah (2.12.0)
+    loofah (2.16.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     lru_redux (1.1.0)
@@ -748,8 +749,8 @@ GEM
     mime-types-data (3.2020.0512)
     mini_histogram (0.3.1)
     mini_magick (4.10.1)
-    mini_mime (1.1.1)
-    mini_portile2 (2.6.1)
+    mini_mime (1.1.2)
+    mini_portile2 (2.8.0)
     minitest (5.11.3)
     mixlib-cli (2.1.8)
     mixlib-config (3.0.9)
@@ -787,8 +788,8 @@ GEM
     netrc (0.11.0)
     nio4r (2.5.8)
     no_proxy_fix (0.1.2)
-    nokogiri (1.12.5)
-      mini_portile2 (~> 2.6.1)
+    nokogiri (1.13.3)
+      mini_portile2 (~> 2.8.0)
       racc (~> 1.4)
     notiffany (0.1.3)
       nenv (~> 0.1)
@@ -821,6 +822,8 @@ GEM
     omniauth (1.9.1)
       hashie (>= 3.4.6)
       rack (>= 1.6.2, < 3)
+    omniauth-alicloud (1.0.1)
+      omniauth-oauth2 (~> 1.7.1)
     omniauth-atlassian-oauth2 (0.2.0)
       omniauth (>= 1.1.1)
       omniauth-oauth2 (>= 1.5)
@@ -961,25 +964,25 @@ GEM
       httpclient
       json-jwt (>= 1.11.0)
       rack (>= 2.1.0)
-    rack-proxy (0.6.0)
+    rack-proxy (0.7.2)
       rack
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
     rack-timeout (0.5.2)
-    rails (6.1.4.6)
-      actioncable (= 6.1.4.6)
-      actionmailbox (= 6.1.4.6)
-      actionmailer (= 6.1.4.6)
-      actionpack (= 6.1.4.6)
-      actiontext (= 6.1.4.6)
-      actionview (= 6.1.4.6)
-      activejob (= 6.1.4.6)
-      activemodel (= 6.1.4.6)
-      activerecord (= 6.1.4.6)
-      activestorage (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    rails (6.1.4.7)
+      actioncable (= 6.1.4.7)
+      actionmailbox (= 6.1.4.7)
+      actionmailer (= 6.1.4.7)
+      actionpack (= 6.1.4.7)
+      actiontext (= 6.1.4.7)
+      actionview (= 6.1.4.7)
+      activejob (= 6.1.4.7)
+      activemodel (= 6.1.4.7)
+      activerecord (= 6.1.4.7)
+      activestorage (= 6.1.4.7)
+      activesupport (= 6.1.4.7)
       bundler (>= 1.15.0)
-      railties (= 6.1.4.6)
+      railties (= 6.1.4.7)
       sprockets-rails (>= 2.0.0)
     rails-controller-testing (1.0.5)
       actionpack (>= 5.0.1.rc1)
@@ -993,9 +996,9 @@ GEM
     rails-i18n (6.0.0)
       i18n (>= 0.7, < 2)
       railties (>= 6.0.0, < 7)
-    railties (6.1.4.6)
-      actionpack (= 6.1.4.6)
-      activesupport (= 6.1.4.6)
+    railties (6.1.4.7)
+      actionpack (= 6.1.4.7)
+      activesupport (= 6.1.4.7)
       method_source
       rake (>= 0.13)
       thor (~> 1.0)
@@ -1199,7 +1202,7 @@ GEM
       faraday (>= 0.17.3, < 2.0)
       jwt (>= 1.5, < 3.0)
       multi_json (~> 1.10)
-    simple_po_parser (1.1.2)
+    simple_po_parser (1.1.6)
     simplecov (0.21.2)
       docile (~> 1.1)
       simplecov-html (~> 0.11)
@@ -1213,7 +1216,7 @@ GEM
     slack-messenger (2.3.4)
     snowplow-tracker (0.6.1)
       contracts (~> 0.7, <= 0.11)
-    solargraph (0.43.0)
+    solargraph (0.44.3)
       backport (~> 1.2)
       benchmark
       bundler (>= 1.17.2)
@@ -1240,11 +1243,11 @@ GEM
     sprockets (3.7.2)
       concurrent-ruby (~> 1.0)
       rack (> 1, < 3)
-    sprockets-rails (3.2.2)
-      actionpack (>= 4.0)
-      activesupport (>= 4.0)
+    sprockets-rails (3.4.2)
+      actionpack (>= 5.2)
+      activesupport (>= 5.2)
       sprockets (>= 3.0.0)
-    sqlite3 (1.3.13)
+    sqlite3 (1.4.2)
     ssh_data (1.2.0)
     ssrf_filter (1.0.7)
     stackprof (0.2.15)
@@ -1410,7 +1413,7 @@ DEPENDENCIES
   apollo_upload_server (~> 2.1.0)
   asana (~> 0.10.3)
   asciidoctor (~> 2.0.10)
-  asciidoctor-include-ext (~> 0.3.1)
+  asciidoctor-include-ext (~> 0.4.0)
   asciidoctor-kroki (~> 0.5.0)
   asciidoctor-plantuml (~> 0.0.12)
   atlassian-jwt (~> 0.2.0)
@@ -1484,11 +1487,11 @@ DEPENDENCIES
   gettext (~> 3.3)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.3)
-  gitaly (~> 14.9.0.pre.rc4)
+  gitaly (~> 14.10.0.pre.rc1)
   github-markup (~> 1.7.0)
   gitlab-chronic (~> 0.10.5)
-  gitlab-dangerfiles (~> 2.11.0)
-  gitlab-experiment (~> 0.7.0)
+  gitlab-dangerfiles (~> 3.0)
+  gitlab-experiment (~> 0.7.1)
   gitlab-fog-azure-rm (~> 1.2.0)
   gitlab-labkit (~> 0.22.0)
   gitlab-license (~> 2.1.0)
@@ -1528,7 +1531,7 @@ DEPENDENCIES
   icalendar
   invisible_captcha (~> 1.1.0)
   ipaddress (~> 0.8.3)
-  ipynbdiff (= 0.4.4)
+  ipynbdiff (= 0.4.5)
   jira-ruby (~> 2.1.4)
   js_regex (~> 3.7)
   json (~> 2.5.1)
@@ -1561,6 +1564,7 @@ DEPENDENCIES
   ohai (~> 16.10)
   oj (~> 3.10.6)
   omniauth (~> 1.8)
+  omniauth-alicloud (~> 1.0.1)
   omniauth-atlassian-oauth2 (~> 0.2.0)
   omniauth-auth0 (~> 2.0.0)
   omniauth-authentiq (~> 0.3.3)
@@ -1597,9 +1601,9 @@ DEPENDENCIES
   rack-attack (~> 6.3.0)
   rack-cors (~> 1.0.6)
   rack-oauth2 (~> 1.16.0)
-  rack-proxy (~> 0.6.0)
+  rack-proxy (~> 0.7.2)
   rack-timeout (~> 0.5.1)
-  rails (~> 6.1.4.6)
+  rails (~> 6.1.4.7)
   rails-controller-testing
   rails-i18n (~> 6.0)
   rainbow (~> 3.0)
@@ -1644,13 +1648,13 @@ DEPENDENCIES
   sidekiq (~> 6.4)
   sidekiq-cron (~> 1.2)
   sigdump (~> 0.2.4)
-  simple_po_parser (~> 1.1.2)
+  simple_po_parser (~> 1.1.6)
   simplecov (~> 0.21)
   simplecov-cobertura (~> 1.3.1)
   simplecov-lcov (~> 0.8.0)
   slack-messenger (~> 2.3.4)
   snowplow-tracker (~> 0.6.1)
-  solargraph (~> 0.43)
+  solargraph (~> 0.44.3)
   spamcheck (~> 0.1.0)
   spring (~> 2.1.0)
   spring-commands-rspec (~> 1.0.4)
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index cc88cbbbab5..e9bd35cea58 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0abclh3rd7s2k88bj40jn9wcmal8dcybvn5xrnl80xknmxh3zigp";
+      sha256 = "0knrmrqmjl4gdzvmxk5plc9i5ipclncg7l0l0yhvy07779j3xqpd";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qhnkz4fs45zid30lnc77m4rw7an6pp2pdmkwkn6cczikqz5sklw";
+      sha256 = "1ksps8lzmggdhbr0d45qyp2s70kfapx1x0j77xmacw9c749y5jxd";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mqcmxv28wy2jrpk9vghq7njjr03drw0ab3hw64j2d9kbpnpb8w8";
+      sha256 = "0rjm6rx3qbqgxczy2a8l6hff72166hsf878fy2v1ik4pp8rh9cxa";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d4nxv0p3wv4w0pf89nmxzg10balny5rwbchwsscgiminzh3mg7y";
+      sha256 = "0cr02mj9wic0xbdrhjipk58cdljsfl4mplhqr9whn3l5qg8x5814";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1n2n52m5j6h370r5j18w76kgqzzkcv8x72p040l16ax40ysglq7p";
+      sha256 = "0dwinzhsfcysz9khk137z92qr5kx6aw5f2ybkdjk1yqml8avv1wd";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -71,10 +71,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cmxc80gg7pm6d9y7ah5qr4ymzks8rp51jv0a2qdq2m9p6llzlkk";
+      sha256 = "02x8cxq2bhgj5r9vpdjz8a56awg22gqvnqn01dqwyx8ny6sirzac";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -82,10 +82,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02dnr16mgwp98n9q733nprfx7dn09z6pa11cfk0pivj8daad5x1l";
+      sha256 = "1g8dpxjzj7k3sjfjhfia21bwzmgc721lafpk2napravmq1qi0rkj";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -93,10 +93,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0izra8g3g1agv3mz72b0474adkj4ldszj3nwk3l0szgrln7df0lv";
+      sha256 = "01mzgr5pdxcki023p96bj77by1iblv9bq6pwmbly931bjwhr5irv";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15v0dwp2122yzwlw8ca0lgx5qbw8fsasbn8zzcks1mvmc9afisss";
+      sha256 = "1idirwh7dzhzcjsssnghqyjl87inh84za0cmrf8g323p9qsx879l";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   activerecord-explain-analyze = {
     dependencies = ["activerecord" "pg"];
@@ -126,10 +126,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kngq1555jphy5yhmz4yfigpk3ms4b65ynzy5yssrlhbmdf8r430";
+      sha256 = "18gxckrydsyciaiq5j981sf522kfqpq74yvf405dgn688y5927il";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -137,10 +137,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vrz4vgqz4grr2ykwkd8zhhd0rg12z89n89zl6aff17zrdhhad35";
+      sha256 = "04j9cgv729mcz2jwr312nr5aswv07s6kjynmf59w61j395dfcvw9";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   acts-as-taggable-on = {
     dependencies = ["activerecord"];
@@ -232,10 +232,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1alaqfh31hd98yhqq8fsc50zzqw04p3d83pc35gdx3x9p3j1ds7d";
+      sha256 = "0y3qixbssfrzp04ng7g4lh3dq16pgrw3p8cwc0v5bhmz5yfxnsj0";
       type = "gem";
     };
-    version = "0.3.1";
+    version = "0.4.0";
   };
   asciidoctor-kroki = {
     dependencies = ["asciidoctor"];
@@ -484,10 +484,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jvrl7400fv7v2jjri1r7ilj3sri36hzipwwgpn5psib4c9c59c6";
+      sha256 = "0xwcnbwnbqq8jp92mvawn6y69cb53wsz84wwmk9vsfk1jjvqfw2z";
       type = "gem";
     };
-    version = "0.1.1";
+    version = "0.2.0";
   };
   benchmark-ips = {
     groups = ["development" "test"];
@@ -824,10 +824,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
+      sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
       type = "gem";
     };
-    version = "1.1.9";
+    version = "1.1.10";
   };
   connection_pool = {
     groups = ["default"];
@@ -951,10 +951,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bmbqxscz0whc3kf5622ffp83k96h0vx71bhb5rzi3zzmg6b4vkl";
+      sha256 = "0xmckbl41v27x9ri6snrl01alsbwxcqsfc4a1nfhgx0py6y0dmjg";
       type = "gem";
     };
-    version = "8.4.5";
+    version = "8.5.0";
   };
   danger-gitlab = {
     dependencies = ["danger" "gitlab"];
@@ -1916,10 +1916,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13yq0ln40iy0wjapdg5phkqgr2bbdfk3xccyr1828yxpgkd44716";
+      sha256 = "0ls4x3h1c3axx9kqmvs1mpcmjqchl297sh1bzzl5zjgdz25w24di";
       type = "gem";
     };
-    version = "14.9.0.pre.rc4";
+    version = "14.10.0.pre.rc1";
   };
   github-markup = {
     groups = ["default"];
@@ -1954,15 +1954,15 @@
     version = "0.10.5";
   };
   gitlab-dangerfiles = {
-    dependencies = ["danger" "danger-gitlab"];
+    dependencies = ["danger" "danger-gitlab" "rake"];
     groups = ["danger" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1in56r2mdi6ghwx4nxvfihb2sg73xhnpw0w42wc5f57wwy6m1s24";
+      sha256 = "1kyp5kxp0jsk224y2nq4yg37wnn824ialdjvsf8fv3a20q9w4k7i";
       type = "gem";
     };
-    version = "2.11.0";
+    version = "3.0.0";
   };
   gitlab-experiment = {
     dependencies = ["activesupport" "request_store"];
@@ -1970,10 +1970,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ph12qxhml2iq02sad7hybi5yrc5zvz2spav2ahfh3ks2fvs7cbx";
+      sha256 = "093q9b2nv010n10axlhz68gxdi0xs176hd9wm758nhl3marxsv8n";
       type = "gem";
     };
-    version = "0.7.0";
+    version = "0.7.1";
   };
   gitlab-fog-azure-rm = {
     dependencies = ["azure-storage-blob" "azure-storage-common" "fog-core" "fog-json" "mime-types" "ms_rest_azure"];
@@ -2152,10 +2152,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dwx4ns39bpmzmhglyip9d68i117zspf5lp865pf6hrsmmdf2k53";
+      sha256 = "1q0aknwpr8k1v92qcm1rz1zyrgdpf1i1b9mxa1gi48y0aawlnb7j";
       type = "gem";
     };
-    version = "3.19.1";
+    version = "3.19.4";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -2623,10 +2623,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cgrr3pc0y11gas6k2js33qghj7rpdh99vavda712wbq3hz42jx2";
+      sha256 = "1r1pl4imiqi75bksh17r2j3w74x561z4bx1mpgv6cin1fcrzw9zy";
       type = "gem";
     };
-    version = "0.4.4";
+    version = "0.4.5";
   };
   jaeger-client = {
     dependencies = ["opentracing" "thrift"];
@@ -2944,10 +2944,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nqcya57x2n58y1dify60i0dpla40n4yir928khp4nj5jrn9mgmw";
+      sha256 = "15s6z5bvhdhnqv4wg8zcz3mhbc7i4dbqskv5jvhprz33ak7682km";
       type = "gem";
     };
-    version = "2.12.0";
+    version = "2.16.0";
   };
   lru_redux = {
     groups = ["default"];
@@ -3081,20 +3081,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "173dp4vqvx1sl6aq83daxwn5xvb5rn3jgynjmb91swl7gmgp17yl";
+      sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.1.2";
   };
   mini_portile2 = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
+      sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy";
       type = "gem";
     };
-    version = "2.6.1";
+    version = "2.8.0";
   };
   minitest = {
     groups = ["development" "test"];
@@ -3350,10 +3350,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b";
+      sha256 = "1p6b3q411h2mw4dsvhjrp1hh66hha5cm69fqg85vn2lizz71n6xz";
       type = "gem";
     };
-    version = "1.12.5";
+    version = "1.13.3";
   };
   notiffany = {
     dependencies = ["nenv" "shellany"];
@@ -3440,6 +3440,17 @@
     };
     version = "1.9.1";
   };
+  omniauth-alicloud = {
+    dependencies = ["omniauth-oauth2"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0yk9vlqm7warm83l5vy44z7q4rg4mismqmb4bmgapllqiw5yr09g";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
   omniauth-atlassian-oauth2 = {
     dependencies = ["omniauth" "omniauth-oauth2"];
     groups = ["default"];
@@ -4081,10 +4092,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bpbcb9ch94ha2q7gdri88ry7ch0z6ian289kah9ayxyqg19j6f4";
+      sha256 = "1dpl6vi9yiv6k8gnr3zrsq7kd1dwbn8vkn70sw7dp975sgb4ziw9";
       type = "gem";
     };
-    version = "0.6.0";
+    version = "0.7.2";
   };
   rack-test = {
     dependencies = ["rack"];
@@ -4113,10 +4124,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01mvxg2rmwiqcw0alfd526axg7y1knj0lhy4i2mmxa3q0v7xb8za";
+      sha256 = "0kwpw06ylmjbfldqjzhy5m6chr6q6g0gm6p6h98sbjj8awri72n5";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -4168,10 +4179,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1snhwpbnmsyhr297qmin8i5i631aimjca1hiazi128i1355255hb";
+      sha256 = "0g6hvhvqdmgabcpmdiby4b77ni3rsgd5p7sd1qkqj34r4an0ldyd";
       type = "gem";
     };
-    version = "6.1.4.6";
+    version = "6.1.4.7";
   };
   rainbow = {
     groups = ["default" "development" "test"];
@@ -5101,10 +5112,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "08wkp4gcrd89k5yari9j94if9ffkj3rka4llcwrhdgsi3l15p5f3";
+      sha256 = "1wybcipkfawg4pragmayiig03xc084x3hbwywsh1dr9x9pa8f9hj";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.1.6";
   };
   simplecov = {
     dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"];
@@ -5195,10 +5206,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i2prnczlg871l3kyqy08z8axsilgv3wm4zw061wjyzqglx7xghg";
+      sha256 = "1h3i4fkn028ylhgbqac0bgpbbikjcd5ks7id8wm94ahnq89z4mh8";
       type = "gem";
     };
-    version = "0.43.0";
+    version = "0.44.3";
   };
   sorted_set = {
     dependencies = ["rbtree" "set"];
@@ -5270,20 +5281,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mwmz36265646xqfyczgr1mhkm1hfxgxxvgdgr4xfcbf2g72p1k2";
+      sha256 = "1b9i14qb27zs56hlcc2hf139l0ghbqnjpmfi0054dxycaxvk5min";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.4.2";
   };
   sqlite3 = {
-    groups = ["default" "development" "test"];
+    groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01ifzp8nwzqppda419c9wcvr8n82ysmisrs0hph9pdmv1lpa4f5i";
+      sha256 = "0lja01cp9xd5m6vmx99zwn4r7s97r1w5cb76gqd8xhbm1wxyzf78";
       type = "gem";
     };
-    version = "1.3.13";
+    version = "1.4.2";
   };
   ssh_data = {
     groups = ["default"];
diff --git a/pkgs/applications/version-management/gitoxide/default.nix b/pkgs/applications/version-management/gitoxide/default.nix
index 570a4c06abf..5b1bdeb22b4 100644
--- a/pkgs/applications/version-management/gitoxide/default.nix
+++ b/pkgs/applications/version-management/gitoxide/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gitoxide";
-  version = "0.10.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "Byron";
     repo = "gitoxide";
     rev = "v${version}";
-    sha256 = "sha256-c29gmmkIOyS+HNq2kv53yq+sdEDmQbSmcvVGcd55/hk=";
+    sha256 = "sha256-hDNlnNGm9of6Yu9WRVTRH5g4fAXlUxAexdufbZ0vMOo=";
   };
 
-  cargoSha256 = "sha256-oc7XpiOZj4bfqdwrEHj/CzNtWzYWFkgMJOySJNgxAGQ=";
+  cargoSha256 = "sha256-026DFEWu7PTvhJZP7YW3KOBOkzFRoxrc+THilit87jU=";
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = if stdenv.isDarwin
diff --git a/pkgs/applications/version-management/got/default.nix b/pkgs/applications/version-management/got/default.nix
index 9e444fb3b39..f38bb042c43 100644
--- a/pkgs/applications/version-management/got/default.nix
+++ b/pkgs/applications/version-management/got/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchurl, pkg-config, openssl, libuuid, libmd, zlib, ncurses }:
+{ lib, stdenv, fetchurl, pkg-config, openssl, libbsd, libuuid, libmd, zlib, ncurses }:
 
 stdenv.mkDerivation rec {
   pname = "got";
-  version = "0.68.1";
+  version = "0.69";
 
   src = fetchurl {
     url = "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
-    sha256 = "122wignzrhsw00mfnh7mxcxvjyp9rk73yxzfyvmg7f5kmb0hng35";
+    sha256 = "1cnl0yk866wzjwgas587kvb08njq7db71b5xqsdrwd1varp010vm";
   };
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ openssl libuuid libmd zlib ncurses ];
+  buildInputs = [ openssl libbsd libuuid libmd zlib ncurses ];
 
   doInstallCheck = true;
 
diff --git a/pkgs/applications/version-management/jujutsu/default.nix b/pkgs/applications/version-management/jujutsu/default.nix
index 30ea7e1524a..c99bb409c3e 100644
--- a/pkgs/applications/version-management/jujutsu/default.nix
+++ b/pkgs/applications/version-management/jujutsu/default.nix
@@ -9,7 +9,7 @@
 , Security
 , SystemConfiguration
 , libiconv
-, testVersion
+, testers
 , jujutsu
 }:
 
@@ -44,7 +44,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   passthru.tests = {
-    version = testVersion {
+    version = testers.testVersion {
       package = jujutsu;
       command = "jj --version";
     };
diff --git a/pkgs/applications/version-management/monotone/default.nix b/pkgs/applications/version-management/monotone/default.nix
index 6ea66b296d7..34c3e611d40 100644
--- a/pkgs/applications/version-management/monotone/default.nix
+++ b/pkgs/applications/version-management/monotone/default.nix
@@ -39,6 +39,8 @@ stdenv.mkDerivation rec {
     sed -e 's@/usr/bin/less@${less}/bin/less@' -i src/unix/terminal.cc
   '';
 
+  CXXFLAGS=" --std=c++11 ";
+
   nativeBuildInputs = [ pkg-config autoreconfHook texinfo ];
   buildInputs = [ boost zlib botan2 libidn lua pcre sqlite expect
     openssl gmp bzip2 perl ];
diff --git a/pkgs/applications/version-management/p4v/default.nix b/pkgs/applications/version-management/p4v/default.nix
index 476df99d232..2e0e01e5c98 100644
--- a/pkgs/applications/version-management/p4v/default.nix
+++ b/pkgs/applications/version-management/p4v/default.nix
@@ -1,12 +1,38 @@
-{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebengine, qtwebkit, openssl, xkeyboard_config, patchelfUnstable, wrapQtAppsHook }:
+{ stdenv
+, fetchurl
+, lib
+, qtbase
+, qtwebengine
+, qtdeclarative
+, qtwebchannel
+, syntax-highlighting
+, openssl
+, xkeyboard_config
+, patchelfUnstable
+, wrapQtAppsHook
+, writeText
+}:
+let
+  # This abomination exists because p4v calls CRYPTO_set_mem_functions and
+  # expects it to succeed. The function will fail if CRYPTO_malloc has already
+  # been called, which happens at init time via qtwebengine -> ... -> libssh. I
+  # suspect it was meant to work with a version of Qt where openssl is
+  # statically linked or some other library is used.
+  crypto-hack = writeText "crypto-hack.c" ''
+      #include <stddef.h>
+      int CRYPTO_set_mem_functions(
+            void *(*m)(size_t, const char *, int),
+            void *(*r)(void *, size_t, const char *, int),
+            void (*f)(void *, const char *, int)) { return 1; }
+    '';
 
-stdenv.mkDerivation rec {
+in stdenv.mkDerivation rec {
   pname = "p4v";
-  version = "2020.1.1966006";
+  version = "2021.3.2186916";
 
   src = fetchurl {
-    url = "https://cdist2.perforce.com/perforce/r20.1/bin.linux26x86_64/p4v.tgz";
-    sha256 = "0zc70d7jgdrd2jli338n1h05hgb7jmmv8hvq205wh78vvllrlv10";
+    url = "http://web.archive.org/web/20211118024745/https://cdist2.perforce.com/perforce/r21.3/bin.linux26x86_64/p4v.tgz";
+    sha256 = "1zldg21xq4srww9pcfbv3p8320ghjnh333pz5r70z1gwbq4vf3jq";
   };
 
   dontBuild = true;
@@ -15,11 +41,10 @@ stdenv.mkDerivation rec {
   ldLibraryPath = lib.makeLibraryPath [
       stdenv.cc.cc.lib
       qtbase
-      qtmultimedia
-      qtscript
-      qtsensors
       qtwebengine
-      qtwebkit
+      qtdeclarative
+      qtwebchannel
+      syntax-highlighting
       openssl
   ];
 
@@ -29,14 +54,17 @@ stdenv.mkDerivation rec {
     cp -r bin $out
     mkdir -p $out/lib
     cp -r lib/P4VResources $out/lib
+    $CC -fPIC -shared -o $out/lib/libcrypto-hack.so ${crypto-hack}
 
     for f in $out/bin/*.bin ; do
       patchelf --set-rpath $ldLibraryPath --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $f
       # combining this with above breaks rpath (patchelf bug?)
-      patchelf --add-needed libstdc++.so $f \
+      patchelf --add-needed libstdc++.so \
+               --add-needed $out/lib/libcrypto-hack.so \
                --clear-symbol-version _ZNSt20bad_array_new_lengthD1Ev \
                --clear-symbol-version _ZTVSt20bad_array_new_length \
                --clear-symbol-version _ZTISt20bad_array_new_length \
+               --clear-symbol-version _ZdlPvm \
                $f
       wrapQtApp $f \
         --suffix QT_XKB_CONFIG_ROOT : ${xkeyboard_config}/share/X11/xkb
diff --git a/pkgs/applications/version-management/rcs/default.nix b/pkgs/applications/version-management/rcs/default.nix
index 6982bd43b26..5f2f9aab2b3 100644
--- a/pkgs/applications/version-management/rcs/default.nix
+++ b/pkgs/applications/version-management/rcs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, buildPackages, diffutils, ed, lzip }:
+{ lib, stdenv, fetchurl, buildPackages, diffutils, ed, lzip }:
 
 stdenv.mkDerivation rec {
   pname = "rcs";
@@ -9,14 +9,6 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-Q93+EHJKi4XiRo9kA7YABzcYbwHmDgvWL95p2EIjTMU=";
   };
 
-  patches = [
-    # glibc 2.34 compat
-    (fetchpatch {
-      url = "https://src.fedoraproject.org/rpms/rcs/raw/f8e07cd37f4abfb36e37d41852bb8f9e234d3fb1/f/rcs-5.10.0-SIGSTKSZ.patch";
-      sha256 = "sha256-mc6Uye9mdEsLBcOnf1m1TUb1BV0ncNU//iKBpLGBjho=";
-    })
-  ];
-
   ac_cv_path_ED = "${ed}/bin/ed";
   DIFF = "${diffutils}/bin/diff";
   DIFF3 = "${diffutils}/bin/diff3";
diff --git a/pkgs/applications/version-management/redmine/Gemfile b/pkgs/applications/version-management/redmine/Gemfile
index c3c25dafd54..3b1ac09c8a4 100644
--- a/pkgs/applications/version-management/redmine/Gemfile
+++ b/pkgs/applications/version-management/redmine/Gemfile
@@ -3,7 +3,7 @@ source 'https://rubygems.org'
 ruby '>= 2.4.0', '< 2.8.0'
 gem 'bundler', '>= 1.12.0'
 
-gem 'rails', '5.2.6.2'
+gem 'rails', '5.2.6.3'
 gem 'sprockets', '~> 3.7.2' if RUBY_VERSION < '2.5'
 gem 'globalid', '~> 0.4.2' if Gem.ruby_version < Gem::Version.new('2.6.0')
 gem 'rouge', '~> 3.26.0'
@@ -24,7 +24,7 @@ gem 'rubyzip', '~> 2.3.0'
 gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
 
 # TOTP-based 2-factor authentication
-gem 'rotp'
+gem 'rotp', '>= 5.0.0'
 gem 'rqrcode'
 
 # Optional gem for LDAP authentication
diff --git a/pkgs/applications/version-management/redmine/Gemfile.lock b/pkgs/applications/version-management/redmine/Gemfile.lock
index b745c54520b..2643918716a 100644
--- a/pkgs/applications/version-management/redmine/Gemfile.lock
+++ b/pkgs/applications/version-management/redmine/Gemfile.lock
@@ -1,19 +1,19 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    actioncable (5.2.6.2)
-      actionpack (= 5.2.6.2)
+    actioncable (5.2.6.3)
+      actionpack (= 5.2.6.3)
       nio4r (~> 2.0)
       websocket-driver (>= 0.6.1)
-    actionmailer (5.2.6.2)
-      actionpack (= 5.2.6.2)
-      actionview (= 5.2.6.2)
-      activejob (= 5.2.6.2)
+    actionmailer (5.2.6.3)
+      actionpack (= 5.2.6.3)
+      actionview (= 5.2.6.3)
+      activejob (= 5.2.6.3)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 2.0)
-    actionpack (5.2.6.2)
-      actionview (= 5.2.6.2)
-      activesupport (= 5.2.6.2)
+    actionpack (5.2.6.3)
+      actionview (= 5.2.6.3)
+      activesupport (= 5.2.6.3)
       rack (~> 2.0, >= 2.0.8)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
@@ -21,26 +21,26 @@ GEM
     actionpack-xml_parser (2.0.1)
       actionpack (>= 5.0)
       railties (>= 5.0)
-    actionview (5.2.6.2)
-      activesupport (= 5.2.6.2)
+    actionview (5.2.6.3)
+      activesupport (= 5.2.6.3)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activejob (5.2.6.2)
-      activesupport (= 5.2.6.2)
+    activejob (5.2.6.3)
+      activesupport (= 5.2.6.3)
       globalid (>= 0.3.6)
-    activemodel (5.2.6.2)
-      activesupport (= 5.2.6.2)
-    activerecord (5.2.6.2)
-      activemodel (= 5.2.6.2)
-      activesupport (= 5.2.6.2)
+    activemodel (5.2.6.3)
+      activesupport (= 5.2.6.3)
+    activerecord (5.2.6.3)
+      activemodel (= 5.2.6.3)
+      activesupport (= 5.2.6.3)
       arel (>= 9.0)
-    activestorage (5.2.6.2)
-      actionpack (= 5.2.6.2)
-      activerecord (= 5.2.6.2)
+    activestorage (5.2.6.3)
+      actionpack (= 5.2.6.3)
+      activerecord (= 5.2.6.3)
       marcel (~> 1.0.0)
-    activesupport (5.2.6.2)
+    activesupport (5.2.6.3)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
@@ -60,7 +60,7 @@ GEM
       xpath (~> 3.2)
     childprocess (4.1.0)
     chunky_png (1.4.0)
-    concurrent-ruby (1.1.9)
+    concurrent-ruby (1.1.10)
     crass (1.0.6)
     css_parser (1.11.0)
       addressable
@@ -72,7 +72,7 @@ GEM
     htmlentities (4.3.4)
     i18n (1.8.11)
       concurrent-ruby (~> 1.0)
-    loofah (2.14.0)
+    loofah (2.16.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     mail (2.7.1)
@@ -81,21 +81,19 @@ GEM
     method_source (1.0.0)
     mini_magick (4.11.0)
     mini_mime (1.0.3)
-    mini_portile2 (2.5.3)
     minitest (5.15.0)
     mocha (1.13.0)
     mysql2 (0.5.3)
     net-ldap (0.17.0)
     nio4r (2.5.8)
     nokogiri (1.11.7)
-      mini_portile2 (~> 2.5.0)
       racc (~> 1.4)
-    parallel (1.21.0)
-    parser (3.1.1.0)
+    parallel (1.22.1)
+    parser (3.1.2.0)
       ast (~> 2.4.1)
     pg (1.2.3)
-    public_suffix (4.0.6)
-    puma (5.6.2)
+    public_suffix (4.0.7)
+    puma (5.6.4)
       nio4r (~> 2.0)
     racc (1.6.0)
     rack (2.2.3)
@@ -104,27 +102,27 @@ GEM
       ruby-openid (>= 2.1.8)
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
-    rails (5.2.6.2)
-      actioncable (= 5.2.6.2)
-      actionmailer (= 5.2.6.2)
-      actionpack (= 5.2.6.2)
-      actionview (= 5.2.6.2)
-      activejob (= 5.2.6.2)
-      activemodel (= 5.2.6.2)
-      activerecord (= 5.2.6.2)
-      activestorage (= 5.2.6.2)
-      activesupport (= 5.2.6.2)
+    rails (5.2.6.3)
+      actioncable (= 5.2.6.3)
+      actionmailer (= 5.2.6.3)
+      actionpack (= 5.2.6.3)
+      actionview (= 5.2.6.3)
+      activejob (= 5.2.6.3)
+      activemodel (= 5.2.6.3)
+      activerecord (= 5.2.6.3)
+      activestorage (= 5.2.6.3)
+      activesupport (= 5.2.6.3)
       bundler (>= 1.3.0)
-      railties (= 5.2.6.2)
+      railties (= 5.2.6.3)
       sprockets-rails (>= 2.0.0)
     rails-dom-testing (2.0.3)
       activesupport (>= 4.2.0)
       nokogiri (>= 1.6)
     rails-html-sanitizer (1.4.2)
       loofah (~> 2.3)
-    railties (5.2.6.2)
-      actionpack (= 5.2.6.2)
-      activesupport (= 5.2.6.2)
+    railties (5.2.6.3)
+      actionpack (= 5.2.6.3)
+      activesupport (= 5.2.6.3)
       method_source
       rake (>= 0.8.7)
       thor (>= 0.19.0, < 2.0)
@@ -160,7 +158,7 @@ GEM
       rubocop-ast (>= 1.2.0, < 2.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 1.4.0, < 3.0)
-    rubocop-ast (1.16.0)
+    rubocop-ast (1.17.0)
       parser (>= 3.1.1.0)
     rubocop-performance (1.10.2)
       rubocop (>= 0.90.0, < 2.0)
@@ -180,7 +178,7 @@ GEM
       docile (~> 1.1)
       simplecov-html (~> 0.11)
     simplecov-html (0.12.3)
-    sprockets (4.0.2)
+    sprockets (4.0.3)
       concurrent-ruby (~> 1.0)
       rack (> 1, < 3)
     sprockets-rails (3.4.2)
@@ -227,13 +225,13 @@ DEPENDENCIES
   pg (~> 1.2.2)
   puma
   rack-openid
-  rails (= 5.2.6.2)
+  rails (= 5.2.6.3)
   rails-dom-testing
   rbpdf (~> 1.20.0)
   redcarpet (~> 3.5.1)
   request_store (~> 1.5.0)
   roadie-rails (~> 2.2.0)
-  rotp
+  rotp (>= 5.0.0)
   rouge (~> 3.26.0)
   rqrcode
   rubocop (~> 1.12.0)
@@ -248,7 +246,7 @@ DEPENDENCIES
   yard
 
 RUBY VERSION
-   ruby 2.7.4p191
+   ruby 2.7.6p219
 
 BUNDLED WITH
-   2.1.4
+   2.2.33
diff --git a/pkgs/applications/version-management/redmine/default.nix b/pkgs/applications/version-management/redmine/default.nix
index 39e46d90b88..1f0f9f4e788 100644
--- a/pkgs/applications/version-management/redmine/default.nix
+++ b/pkgs/applications/version-management/redmine/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, bundlerEnv, ruby, makeWrapper }:
 
 let
-  version = "4.2.4";
+  version = "4.2.5";
   rubyEnv = bundlerEnv {
     name = "redmine-env-${version}";
 
@@ -15,10 +15,8 @@ in
     inherit version;
 
     src = fetchurl {
-      # https://www.redmine.org/news/134
-      # > "These releases are not available yet on the releases page from a technical reason, we are sorry for this and we expected to have them uploaded next week. I'll post here an update after we have them uploaded."
-      url = "https://www.redmine.org/attachments/download/28862/${pname}-${version}.tar.gz";
-      sha256 = "7f50fd4a6cf1c1e48091a87696b813ba264e11f04dec67fb006858a1b49a5c7d";
+      url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz";
+      sha256 = "112rc2sjx6x7046fjz7np0ilszvkqapc180ld02ncwmdxaq88w6r";
     };
 
     nativeBuildInputs = [ makeWrapper ];
@@ -47,7 +45,7 @@ in
     meta = with lib; {
       homepage = "https://www.redmine.org/";
       platforms = platforms.linux;
-      maintainers = [ maintainers.aanderse ];
+      maintainers = with maintainers; [ aanderse felixsinger ];
       license = licenses.gpl2;
     };
   }
diff --git a/pkgs/applications/version-management/redmine/gemset.nix b/pkgs/applications/version-management/redmine/gemset.nix
index a18e819fc90..77d1d997fd8 100644
--- a/pkgs/applications/version-management/redmine/gemset.nix
+++ b/pkgs/applications/version-management/redmine/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0il9l30jz1gfjccrahfk2gl57b31dqgjlzjc8cfifm76ggywmz67";
+      sha256 = "1gmwailk92znzrdpi4116ih6bq609a38rpnszzh5piq7b507ikpn";
       type = "gem";
     };
-    version = "5.2.6.2";
+    version = "5.2.6.3";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cci24da56d467ldq40n3l176h9qdw691w1b703c251izh6c4n5d";
+      sha256 = "103a1nixkazzdk21bg42vs722m6gm0vf17ag2fdad5dycwk3ycpp";
       type = "gem";
     };
-    version = "5.2.6.2";
+    version = "5.2.6.3";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xis55xvs4hja6fnmj4785rzafk553k5f0xb7jprqf38c6dzmiak";
+      sha256 = "15fz3rjk85svpx9lsqfdwlvyd972zf0g5jasnsllcbf6d300gdj6";
       type = "gem";
     };
-    version = "5.2.6.2";
+    version = "5.2.6.3";
   };
   actionpack-xml_parser = {
     dependencies = ["actionpack" "railties"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00a9g63xwfimnzsrcrnr4vmdwhg7jaic49jas70r695nznwkxr9x";
+      sha256 = "00cfpmbk8gw9c589xnqazsbd860p2368gyh8nyzixcsa6k28wfwv";
       type = "gem";
     };
-    version = "5.2.6.2";
+    version = "5.2.6.3";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fm5qxrv8pxhl7m88p17xxpizddasm9kknaldkax8im3b9vrgnr9";
+      sha256 = "1gczbnk7qy4rjhv0q82nd70xawc9lb1vinvwr4ngpim5rqwzm6d6";
       type = "gem";
     };
-    version = "5.2.6.2";
+    version = "5.2.6.3";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -71,10 +71,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k0xizwbcadmslc8rkg2vnsbrsqivm6yj2yjrzb6rhqwphcr9zjf";
+      sha256 = "0ib8qlbwr9hp5284c6bmx08lrfy45zzd4inzmawz08alkgdcrzca";
       type = "gem";
     };
-    version = "5.2.6.2";
+    version = "5.2.6.3";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport" "arel"];
@@ -82,10 +82,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m00zh62rfn2h15vfn89jg39wxmghc88v2vjb5r4m0c7g24vrb14";
+      sha256 = "0ky3zc8i5rjg2dpdb95icsgb443siim9sv71xwcmryjxp5rhkqyx";
       type = "gem";
     };
-    version = "5.2.6.2";
+    version = "5.2.6.3";
   };
   activestorage = {
     dependencies = ["actionpack" "activerecord" "marcel"];
@@ -93,10 +93,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h3z331xli0j5didh0g9cv4zrlx32b5csp1566fpy0fr2kgqmpi9";
+      sha256 = "1risg5jklxrm7j5i4rzaqpb94822ivbjaasblppwmx5f33vhfpca";
       type = "gem";
     };
-    version = "5.2.6.2";
+    version = "5.2.6.3";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "164lmi9w96wdwd00dnly8f9dcak3blv49ymyqz30q2fdjn45c775";
+      sha256 = "09vif5aajkvrsdcl51kvk8crz8hl38awprh7d5wj93nscpxmqgns";
       type = "gem";
     };
-    version = "5.2.6.2";
+    version = "5.2.6.3";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -186,10 +186,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
+      sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
       type = "gem";
     };
-    version = "1.1.9";
+    version = "1.1.10";
   };
   crass = {
     groups = ["default"];
@@ -280,10 +280,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z8bdcmw66j3dy6ivcc02yq32lx3n9bavx497llln8qy014xjm4w";
+      sha256 = "15s6z5bvhdhnqv4wg8zcz3mhbc7i4dbqskv5jvhprz33ak7682km";
       type = "gem";
     };
-    version = "2.14.0";
+    version = "2.16.0";
   };
   mail = {
     dependencies = ["mini_mime"];
@@ -336,16 +336,6 @@
     };
     version = "1.0.3";
   };
-  mini_portile2 = {
-    groups = ["default" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ad0mli9rc0f17zw4ibp24dbj1y39zkykijsjmnzl4gwpg5s0j6k";
-      type = "gem";
-    };
-    version = "2.5.3";
-  };
   minitest = {
     groups = ["default" "test"];
     platforms = [];
@@ -405,7 +395,7 @@
     version = "2.5.8";
   };
   nokogiri = {
-    dependencies = ["mini_portile2" "racc"];
+    dependencies = ["racc"];
     groups = ["default" "test"];
     platforms = [];
     source = {
@@ -420,10 +410,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hkfpm78c2vs1qblnva3k1grijvxh87iixcnyd83s3lxrxsjvag4";
+      sha256 = "07vnk6bb54k4yc06xnwck7php50l09vvlw1ga8wdz0pia461zpzb";
       type = "gem";
     };
-    version = "1.21.0";
+    version = "1.22.1";
   };
   parser = {
     dependencies = ["ast"];
@@ -431,10 +421,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zaghgvva2q4jqbachg8jvpwgbg3w1jqr0d00m8rqciqznjgsw3c";
+      sha256 = "0xhfghgidj8cbdnqp01f7kvnrv1f60izpkd9dhxsvpdzkfsdg97d";
       type = "gem";
     };
-    version = "3.1.1.0";
+    version = "3.1.2.0";
   };
   pg = {
     groups = ["default"];
@@ -459,10 +449,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
+      sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb";
       type = "gem";
     };
-    version = "4.0.6";
+    version = "4.0.7";
   };
   puma = {
     dependencies = ["nio4r"];
@@ -470,10 +460,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1np2myaxlk5iab1zarwgmp7zsjvm5j8ssg35ijv8b6dpvc3cjd56";
+      sha256 = "0dgr2rybayih2naz3658mbzqwfrg9fxl80zsvhscf6b972kp3jdw";
       type = "gem";
     };
-    version = "5.6.2";
+    version = "5.6.4";
   };
   racc = {
     groups = ["default" "test"];
@@ -523,10 +513,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fgbld733j2j85pf8kpv1mvp8rmlkqs7ccv77q2mwfm7ri4yisy0";
+      sha256 = "19962nkjssr77753a8893yz17kmvb63h9rl3ajq6r8rx9xifq8fn";
       type = "gem";
     };
-    version = "5.2.6.2";
+    version = "5.2.6.3";
   };
   rails-dom-testing = {
     dependencies = ["activesupport" "nokogiri"];
@@ -556,10 +546,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fgyw80j2mss3hdhzxa1b12c7j17az55znq0d16md69if8dwfmic";
+      sha256 = "0waa50li6vvckz9mznyz4jhks46ba09fmbdadrrj35mzwahyb6fy";
       type = "gem";
     };
-    version = "5.2.6.2";
+    version = "5.2.6.3";
   };
   rainbow = {
     groups = ["default" "test"];
@@ -723,10 +713,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bd2z82ly7fix8415gvfiwzb6bjialz5rs3sr72kv1lk68rd23wv";
+      sha256 = "1k9izkr5rhw3zc309yjp17z7496l74j4li3zrcgpgqfnqwz695qx";
       type = "gem";
     };
-    version = "1.16.0";
+    version = "1.17.0";
   };
   rubocop-performance = {
     dependencies = ["rubocop" "rubocop-ast"];
@@ -818,10 +808,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ikgwbl6jv3frfiy3xhg5yxw9d0064rgzghar1rg391xmrc4gm38";
+      sha256 = "19k5cwg8gyb6lkmz4kab7c5nlplpgj64jy7vw8p5l2i2ysq5hym0";
       type = "gem";
     };
-    version = "4.0.2";
+    version = "4.0.3";
   };
   sprockets-rails = {
     dependencies = ["actionpack" "activesupport" "sprockets"];
diff --git a/pkgs/applications/version-management/redmine/update.sh b/pkgs/applications/version-management/redmine/update.sh
new file mode 100755
index 00000000000..de59f4685d5
--- /dev/null
+++ b/pkgs/applications/version-management/redmine/update.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env nix-shell
+#!nix-shell --pure -i bash -p cacert bundix
+
+# Do these steps before running this script:
+#   1. Copy Gemfile from new Redmine version to this folder
+#   2. Manually modify the database lines in Gemfile (diff the two files, it's obvious)
+
+pkg_dir="$(dirname "$0")"
+cd ${pkg_dir}
+
+for file in "gemset.nix" "Gemfile.lock"; do
+  if [ -f ${file} ]; then
+    rm ${file}
+  fi
+done
+
+bundix -l
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index 2960560b515..13bdc31f735 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -119,11 +119,6 @@ let
   });
 
 in {
-  subversion_1_10 = common {
-    version = "1.10.8";
-    sha256 = "sha256-CnO6MSe1ov/7j+4rcCmE8qgI3nEKjbKLfdQBDYvlDlo=";
-  };
-
   subversion = common {
     version = "1.14.2";
     sha256 = "sha256-yRMOjQt1copm8OcDj8dwUuZxgw14W1YWqtU7SBDTzCg=";
diff --git a/pkgs/applications/video/ani-cli/default.nix b/pkgs/applications/video/ani-cli/default.nix
index 1cd44bd3488..720df51a34e 100644
--- a/pkgs/applications/video/ani-cli/default.nix
+++ b/pkgs/applications/video/ani-cli/default.nix
@@ -12,13 +12,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "ani-cli";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "pystardust";
     repo = "ani-cli";
     rev = "v${version}";
-    sha256 = "sha256-cDxb/IcpzR5akWnA8RN+fKQn0+QnpBV8tAbUjjPICsA=";
+    sha256 = "sha256-A1c7YdBh2VOhw/xTvhNV50j9n+SELyRTHI5w+AeiWDs=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/video/clickshare-csc1/default.nix b/pkgs/applications/video/clickshare-csc1/default.nix
index 09b24663080..ce63b924030 100644
--- a/pkgs/applications/video/clickshare-csc1/default.nix
+++ b/pkgs/applications/video/clickshare-csc1/default.nix
@@ -4,7 +4,6 @@
 , alsa-lib
 , autoPatchelfHook
 , binutils-unwrapped
-, gnutar
 , libav_0_8
 , libnotify
 , libresample
@@ -35,7 +34,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     autoPatchelfHook
     binutils-unwrapped
-    gnutar
     rpmextract
     unzip
   ];
diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix
index 5a3e76ffcaf..6ae5759f6d1 100644
--- a/pkgs/applications/video/davinci-resolve/default.nix
+++ b/pkgs/applications/video/davinci-resolve/default.nix
@@ -16,7 +16,7 @@
 , xkeyboard_config
 , glib
 , libarchive
-, python
+, python2
 }:
 
 let
@@ -155,7 +155,7 @@ buildFHSUserEnv {
     glib
     libarchive
     xdg-utils # xdg-open needed to open URLs
-    python
+    python2
     # currently they want python 3.6 which is EOL
     #python3
   ];
diff --git a/pkgs/applications/video/epgstation/default.nix b/pkgs/applications/video/epgstation/default.nix
index a8ec353d788..b8919361727 100644
--- a/pkgs/applications/video/epgstation/default.nix
+++ b/pkgs/applications/video/epgstation/default.nix
@@ -1,8 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, common-updater-scripts
-, genericUpdater
+, gitUpdater
 , writers
 , makeWrapper
 , bash
@@ -130,8 +129,7 @@ let
       inherit
         pname
         version
-        common-updater-scripts
-        genericUpdater
+        gitUpdater
         writers
         jq
         yq;
diff --git a/pkgs/applications/video/epgstation/update.nix b/pkgs/applications/video/epgstation/update.nix
index 5eb23be6c52..387fbe0db62 100644
--- a/pkgs/applications/video/epgstation/update.nix
+++ b/pkgs/applications/video/epgstation/update.nix
@@ -2,19 +2,17 @@
 , version
 , homepage
 , lib
-, common-updater-scripts
-, genericUpdater
+, gitUpdater
 , writers
 , jq
 , yq
 }:
 
 let
-  updater = genericUpdater {
+  updater = gitUpdater {
     inherit pname version;
     attrPath = lib.toLower pname;
     rev-prefix = "v";
-    versionLister = "${common-updater-scripts}/bin/list-git-tags --url=${homepage}";
   };
   updateScript = builtins.elemAt updater 0;
   updateArgs = map (lib.escapeShellArg) (builtins.tail updater);
diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix
index 841604399ed..3c73e7f5994 100644
--- a/pkgs/applications/video/handbrake/default.nix
+++ b/pkgs/applications/video/handbrake/default.nix
@@ -11,7 +11,7 @@
 , lib
 , fetchFromGitHub
   # For tests
-, testVersion
+, testers
 , runCommand
 , fetchurl
   # Main build tools
@@ -230,7 +230,7 @@ let self = stdenv.mkDerivation rec {
         HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160
         test -e test.mkv
       '';
-    version = testVersion { package = self; command = "HandBrakeCLI --version"; };
+    version = testers.testVersion { package = self; command = "HandBrakeCLI --version"; };
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/video/hdhomerun-config-gui/default.nix b/pkgs/applications/video/hdhomerun-config-gui/default.nix
index 62726dff411..32f4267d9fc 100644
--- a/pkgs/applications/video/hdhomerun-config-gui/default.nix
+++ b/pkgs/applications/video/hdhomerun-config-gui/default.nix
@@ -16,7 +16,9 @@ stdenv.mkDerivation rec {
   makeFlags = [ "SUBDIRS=src" ];
 
   installPhase = ''
-    install -vDm 755 src/hdhomerun_config_gui $out/usr/bin/hdhomerun_config_gui
+    runHook preInstall
+    install -vDm 755 src/hdhomerun_config_gui $out/bin/hdhomerun_config_gui
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/video/hyperion-ng/default.nix b/pkgs/applications/video/hyperion-ng/default.nix
new file mode 100644
index 00000000000..9bee8715b98
--- /dev/null
+++ b/pkgs/applications/video/hyperion-ng/default.nix
@@ -0,0 +1,50 @@
+{ avahi-compat, cmake, fetchFromGitHub, flatbuffers, hidapi, lib, libcec
+, libusb1, libX11, libxcb, libXrandr, mbedtls, mkDerivation, protobuf, python3
+, qtbase, qtserialport, qtsvg, qtx11extras, wrapQtAppsHook }:
+
+mkDerivation rec {
+  pname = "hyperion.ng";
+  version = "2.0.12";
+
+  src = fetchFromGitHub {
+    owner = "hyperion-project";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-J31QaWwGNhIpnZmWN9lZEI6fC0VheY5X8fGchQqtAlQ=";
+  };
+
+  buildInputs = [
+    avahi-compat
+    flatbuffers
+    hidapi
+    libcec
+    libusb1
+    libX11
+    libxcb
+    libXrandr
+    mbedtls
+    protobuf
+    python3
+    qtbase
+    qtserialport
+    qtsvg
+    qtx11extras
+  ];
+
+  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DUSE_SYSTEM_MBEDTLS_LIBS=ON"
+    "-DUSE_SYSTEM_FLATBUFFERS_LIBS=ON"
+    "-DUSE_SYSTEM_PROTO_LIBS=ON"
+  ];
+
+  meta = with lib; {
+    description = "Open Source Ambilight solution";
+    homepage = "https://github.com/hyperion-project/hyperion.ng";
+    license = licenses.mit;
+    maintainers = with maintainers; [ algram ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/video/kodi/add-KODI_WEBSERVER_EXTRA_WHITELIST.patch b/pkgs/applications/video/kodi/add-KODI_WEBSERVER_EXTRA_WHITELIST.patch
new file mode 100644
index 00000000000..ae221eff604
--- /dev/null
+++ b/pkgs/applications/video/kodi/add-KODI_WEBSERVER_EXTRA_WHITELIST.patch
@@ -0,0 +1,88 @@
+From 620c3eb38f0dbea6e877e37e97508513e87a0732 Mon Sep 17 00:00:00 2001
+From: Jeremy Fleischman <jeremyfleischman@gmail.com>
+Date: Sun, 27 Mar 2022 00:44:52 -0700
+Subject: [PATCH] Add new KODI_WEBSERVER_EXTRA_WHITELIST cmake var to allow
+ access to more directories
+
+(This is a backport of
+https://github.com/xbmc/xbmc/commit/a6dedce7ba1f03bdd83b019941d1e369a06f7888
+to Kodi 19.4 Matrix)
+
+This is useful for NixOS, which often ends up creating a `KODI_HOME`
+with symlinks to other files (including the chorus2 interface). Kodi's
+webserver cautiously refuses to follow these symlinks, and you end up
+getting 404s rather than the web page.
+
+See https://forum.kodi.tv/showthread.php?tid=366338&pid=3079493 for a
+discussion of this on the Kodi forum.
+---
+ CMakeLists.txt           | 1 +
+ xbmc/CompileInfo.cpp.in  | 5 +++++
+ xbmc/CompileInfo.h       | 1 +
+ xbmc/utils/FileUtils.cpp | 6 +++++-
+ 4 files changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2d5369798df23..d5ef6d9390ef0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -243,6 +243,7 @@ add_custom_command(OUTPUT ${CORE_BUILD_DIR}/xbmc/CompileInfo.cpp
+                                             -DAPP_BUILD_DATE=${APP_BUILD_DATE}
+                                             -DAPP_SHARED_LIBRARY_SUFFIX="${APP_SHARED_LIBRARY_SUFFIX}"
+                                             -Dprefix=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}
++                                            -DKODI_WEBSERVER_EXTRA_WHITELIST="${KODI_WEBSERVER_EXTRA_WHITELIST}"
+                                             -P ${CMAKE_SOURCE_DIR}/cmake/scripts/common/GenerateVersionedFiles.cmake
+                    DEPENDS ${CMAKE_SOURCE_DIR}/version.txt
+                            export-files
+diff --git a/xbmc/CompileInfo.cpp.in b/xbmc/CompileInfo.cpp.in
+index f81fe77902236..4f19203a89cde 100644
+--- a/xbmc/CompileInfo.cpp.in
++++ b/xbmc/CompileInfo.cpp.in
+@@ -105,3 +105,8 @@ std::vector<std::string> CCompileInfo::GetAvailableWindowSystems()
+ {
+   return StringUtils::Split("@CORE_PLATFORM_NAME_LC@", ' ');
+ }
++
++const std::vector<std::string> CCompileInfo::GetWebserverExtraWhitelist()
++{
++  return StringUtils::Split("@KODI_WEBSERVER_EXTRA_WHITELIST@", ',');
++}
+diff --git a/xbmc/CompileInfo.h b/xbmc/CompileInfo.h
+index 553a0194ee77f..e2521324e6576 100644
+--- a/xbmc/CompileInfo.h
++++ b/xbmc/CompileInfo.h
+@@ -32,4 +32,5 @@ class CCompileInfo
+   static const char* GetVersionCode();
+   static std::vector<std::string> GetAvailableWindowSystems();
+   static std::vector<ADDON::RepoInfo> LoadOfficialRepoInfos();
++  static const std::vector<std::string> GetWebserverExtraWhitelist();
+ };
+diff --git a/xbmc/utils/FileUtils.cpp b/xbmc/utils/FileUtils.cpp
+index e51f3d631c256..fc717c9608098 100644
+--- a/xbmc/utils/FileUtils.cpp
++++ b/xbmc/utils/FileUtils.cpp
+@@ -6,6 +6,7 @@
+  *  See LICENSES/README.md for more information.
+  */
+ 
++#include "CompileInfo.h"
+ #include "FileUtils.h"
+ #include "ServiceBroker.h"
+ #include "guilib/GUIKeyboardFactory.h"
+@@ -261,12 +262,15 @@ bool CFileUtils::CheckFileAccessAllowed(const std::string &filePath)
+     "/.ssh/",
+   };
+   // ALLOW kodi paths
+-  const std::vector<std::string> whitelist = {
++  std::vector<std::string> whitelist = {
+     CSpecialProtocol::TranslatePath("special://home"),
+     CSpecialProtocol::TranslatePath("special://xbmc"),
+     CSpecialProtocol::TranslatePath("special://musicartistsinfo")
+   };
+ 
++  auto kodiExtraWhitelist = CCompileInfo::GetWebserverExtraWhitelist();
++  whitelist.insert(whitelist.end(), kodiExtraWhitelist.begin(), kodiExtraWhitelist.end());
++
+   // image urls come in the form of image://... sometimes with a / appended at the end
+   // and can be embedded in a music or video file image://music@...
+   // strip this off to get the real file path
diff --git a/pkgs/applications/video/kodi/unwrapped.nix b/pkgs/applications/video/kodi/unwrapped.nix
index 18319468eae..a37e5c92e24 100644
--- a/pkgs/applications/video/kodi/unwrapped.nix
+++ b/pkgs/applications/video/kodi/unwrapped.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, makeWrapper
-, pkg-config, cmake, gnumake, yasm, python3Packages
+, pkg-config, cmake, yasm, python3Packages
 , libgcrypt, libgpg-error, libunistring
 , boost, avahi, lame
 , gettext, pcre-cpp, yajl, fribidi, which
@@ -107,6 +107,15 @@ in stdenv.mkDerivation {
 
     src = kodi_src;
 
+    # This is a backport of
+    # https://github.com/xbmc/xbmc/commit/a6dedce7ba1f03bdd83b019941d1e369a06f7888
+    # to Kodi 19.4 Matrix.
+    # This can be removed once a new release of Kodi comes out and we upgrade
+    # to it.
+    patches = [
+      ./add-KODI_WEBSERVER_EXTRA_WHITELIST.patch
+    ];
+
     buildInputs = [
       gnutls libidn libtasn1 nasm p11-kit
       libxml2 python3Packages.python
@@ -160,7 +169,7 @@ in stdenv.mkDerivation {
       doxygen
       makeWrapper
       which
-      pkg-config gnumake
+      pkg-config
       autoconf automake libtool # still needed for some components. Check if that is the case with 19.0
       jre_headless yasm gettext python3Packages.python flatbuffers
 
@@ -185,6 +194,12 @@ in stdenv.mkDerivation {
       "-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig"
       "-DFLATBUFFERS_FLATC_EXECUTABLE=${buildPackages.flatbuffers}/bin/flatc"
       "-DPYTHON_EXECUTABLE=${buildPackages.python3Packages.python}/bin/python"
+      # When wrapped KODI_HOME will likely contain symlinks to static assets
+      # that Kodi's built in webserver will cautiously refuse to serve up
+      # (because their realpaths are outside of KODI_HOME and the other
+      # whitelisted directories). This adds the entire nix store to the Kodi
+      # webserver whitelist to avoid this problem.
+      "-DKODI_WEBSERVER_EXTRA_WHITELIST=${builtins.storeDir}"
     ] ++ lib.optional waylandSupport [
       "-DWAYLANDPP_SCANNER=${buildPackages.waylandpp}/bin/wayland-scanner++"
     ];
diff --git a/pkgs/applications/video/kodi/wrapper.nix b/pkgs/applications/video/kodi/wrapper.nix
index 2380d0023d5..52b7679a325 100644
--- a/pkgs/applications/video/kodi/wrapper.nix
+++ b/pkgs/applications/video/kodi/wrapper.nix
@@ -35,11 +35,5 @@ buildEnv {
           (lib.concatMap
             (plugin: plugin.extraRuntimeDependencies or []) addons)}"
     done
-
-    # makeWrapper just created webinterface.default as a symlink. However,
-    # kodi's webserver carefully refuses to follow symlinks, so we need to copy
-    # these assets instead.
-    rm $out/share/kodi/addons/webinterface.default
-    cp -r ${kodi}/share/kodi/addons/webinterface.default/ $out/share/kodi/addons/webinterface.default
   '';
 }
diff --git a/pkgs/applications/video/lightworks/default.nix b/pkgs/applications/video/lightworks/default.nix
index affc585ed35..6bec6e25533 100644
--- a/pkgs/applications/video/lightworks/default.nix
+++ b/pkgs/applications/video/lightworks/default.nix
@@ -23,15 +23,15 @@ let
   ];
 
   lightworks = stdenv.mkDerivation rec {
-    version = "2021.2.1";
-    rev = "128456";
+    version = "2022.1.1";
+    rev = "132926";
     pname = "lightworks";
 
     src =
       if stdenv.hostPlatform.system == "x86_64-linux" then
         fetchurl {
-          url = "https://cdn.lwks.com/releases/${version}/lightworks_${lib.versions.majorMinor version}_r${rev}.deb";
-          sha256 = "sha256-GkTg43IUF1NgEm/wT9CZw68Dw/R2BYBU/F4bsCxQowQ=";
+          url = "https://cdn.lwks.com/releases/${version}/lightworks_${version}_r${rev}.deb";
+          sha256 = "sha256-f2lxfv0sFESpDnINDKlfVcR0pySAueMeOMbkgBWzz7Q=";
         }
       else throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}";
 
diff --git a/pkgs/applications/video/mirakurun/default.nix b/pkgs/applications/video/mirakurun/default.nix
index 53f1467ee8e..d0d52ade25a 100644
--- a/pkgs/applications/video/mirakurun/default.nix
+++ b/pkgs/applications/video/mirakurun/default.nix
@@ -6,9 +6,8 @@
 { lib
 , stdenvNoCC
 , bash
-, common-updater-scripts
 , fetchFromGitHub
-, genericUpdater
+, gitUpdater
 , jq
 , makeWrapper
 , mkYarnPackage
@@ -80,8 +79,7 @@ stdenvNoCC.mkDerivation rec {
     inherit
       pname
       version
-      common-updater-scripts
-      genericUpdater
+      gitUpdater
       writers
       jq
       yarn
diff --git a/pkgs/applications/video/mirakurun/update.nix b/pkgs/applications/video/mirakurun/update.nix
index 18a4d0ab256..6fd13f81b87 100644
--- a/pkgs/applications/video/mirakurun/update.nix
+++ b/pkgs/applications/video/mirakurun/update.nix
@@ -2,8 +2,7 @@
 , version
 , homepage
 , lib
-, common-updater-scripts
-, genericUpdater
+, gitUpdater
 , writers
 , jq
 , yarn
@@ -11,15 +10,12 @@
 }:
 
 let
-  updater = genericUpdater {
+  updater = gitUpdater {
     inherit pname version;
     attrPath = lib.toLower pname;
 
     # exclude prerelease versions
-    versionLister = writers.writeBash "list-mirakurun-versions" ''
-      ${common-updater-scripts}/bin/list-git-tags --url=${homepage} \
-        | grep '^[0-9]\+\.[0-9]\+\.[0-9]\+$'
-    '';
+    ignoredVersions = "-";
   };
   updateScript = builtins.elemAt updater 0;
   updateArgs = map (lib.escapeShellArg) (builtins.tail updater);
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 137731312b0..e44471c6f85 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -47,13 +47,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "66.0.0";
+  version = "67.0.0";
 
   src = fetchFromGitLab {
     owner = "mbunkus";
     repo = "mkvtoolnix";
     rev = "release-${version}";
-    sha256 = "sha256-JTPayZhV3Z+o1v+TbHp9SGMAZk1oEzMdNhk67BYB75A=";
+    sha256 = "0gyjgp5iyr9kvgpgl064w025ji1w8dy0cnw4fmbp71wis7qp7yl1";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix
index 95b41c1c86f..844d4a50b85 100644
--- a/pkgs/applications/video/obs-studio/plugins/default.nix
+++ b/pkgs/applications/video/obs-studio/plugins/default.nix
@@ -9,4 +9,5 @@
   wlrobs = callPackage ./wlrobs.nix {};
   looking-glass-obs = callPackage ./looking-glass-obs.nix {};
   obs-nvfbc = callPackage ./obs-nvfbc.nix {};
+  obs-vkcapture = callPackage ./obs-vkcapture.nix {};
 }
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
new file mode 100644
index 00000000000..bd74feb3bcc
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
@@ -0,0 +1,35 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, ninja
+, wayland
+, obs-studio
+, libX11
+, vulkan-headers
+, vulkan-loader
+, libGL
+}:
+
+stdenv.mkDerivation rec {
+  pname = "obs-vkcapture";
+  version = "1.1.3";
+
+  src = fetchFromGitHub {
+    owner = "nowrep";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-iIV9ke2yPEt2Lf4bwiEHFip4tLhMS4raWGyCWpao74w=";
+  };
+
+  nativeBuildInputs = [ cmake ninja ];
+  buildInputs = [ libGL libX11 obs-studio vulkan-headers vulkan-loader wayland ];
+
+  meta = with lib; {
+    description = "OBS Linux Vulkan/OpenGL game capture";
+    homepage = "https://github.com/nowrep/obs-vkcapture";
+    maintainers = with maintainers; [ atila ];
+    license = licenses.gpl2Only;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/pkgs/applications/video/peek/default.nix b/pkgs/applications/video/peek/default.nix
index 27064077a9f..c39363ee363 100644
--- a/pkgs/applications/video/peek/default.nix
+++ b/pkgs/applications/video/peek/default.nix
@@ -10,7 +10,6 @@
 , appstream-glib
 , pkg-config
 , txt2man
-, gzip
 , vala
 , wrapGAppsHook
 , gsettings-desktop-schemas
@@ -50,7 +49,6 @@ stdenv.mkDerivation rec {
     appstream-glib
     desktop-file-utils
     gettext
-    gzip
     meson
     ninja
     libxml2
diff --git a/pkgs/applications/video/vdr/plugins.nix b/pkgs/applications/video/vdr/plugins.nix
index f7eb5f201e8..e8675263720 100644
--- a/pkgs/applications/video/vdr/plugins.nix
+++ b/pkgs/applications/video/vdr/plugins.nix
@@ -238,94 +238,19 @@ in {
     };
   };
 
-  fritzbox = let
-    libconvpp = stdenv.mkDerivation {
-      name = "jowi24-libconv++-20130216";
-      propagatedBuildInputs = [ libiconv ];
-      CXXFLAGS = "-std=gnu++11 -Os";
-      src = fetchFromGitHub {
-        owner = "jowi24";
-        repo = "libconvpp";
-        rev = "90769b2216bc66c5ea5e41a929236c20d367c63b";
-        sha256 = "0bf0dwxrzd42l84p8nxcsjdk1gvzlhad93nsbn97z6kr61n4cr33";
-      };
-      installPhase = ''
-        mkdir -p $out/lib $out/include/libconv++
-        cp source.a $out/lib/libconv++.a
-        cp *.h $out/include/libconv++
-      '';
-    };
-
-    liblogpp = stdenv.mkDerivation {
-      name = "jowi24-liblogpp-20130216";
-      CXXFLAGS = "-std=gnu++11 -Os";
-      src = fetchFromGitHub {
-        owner = "jowi24";
-        repo = "liblogpp";
-        rev = "eee4046d2ae440974bcc8ceec00b069f0a2c62b9";
-        sha256 = "01aqvwmwh5kk3mncqpim8llwha9gj5qq0c4cvqfn4h8wqi3d9l3p";
-      };
-      installPhase = ''
-        mkdir -p $out/lib $out/include/liblog++
-        cp source.a $out/lib/liblog++.a
-        cp *.h $out/include/liblog++
-      '';
-    };
-
-    libnetpp = stdenv.mkDerivation {
-      name = "jowi24-libnet++-20180628";
-      CXXFLAGS = "-std=gnu++11 -Os";
-      src = fetchFromGitHub {
-        owner = "jowi24";
-        repo = "libnetpp";
-        rev = "212847f0efaeffee8422059b8e202d844174aaf3";
-        sha256 = "0vjl6ld6aj25rzxm26yjv3h2gy7gp7qnbinpw6sf1shg2xim9x0b";
-      };
-      installPhase = ''
-        mkdir -p $out/lib $out/include/libnet++
-        cp source.a $out/lib/libnet++.a
-        cp *.h $out/include/libnet++
-      '';
-      buildInputs = [ boost liblogpp libconvpp ];
-    };
-
-    libfritzpp = stdenv.mkDerivation {
-      name = "jowi24-libfritzpp-20131201";
-      CXXFLAGS = "-std=gnu++11 -Os";
-      src = fetchFromGitHub {
-        owner = "jowi24";
-        repo = "libfritzpp";
-        rev = "ca19013c9451cbac7a90155b486ea9959ced0f67";
-        sha256 = "0jk93zm3qzl9z96gfs6xl1c8ip8lckgbzibf7jay7dbgkg9kyjfg";
-      };
-      installPhase = ''
-        mkdir -p $out/lib $out/include/libfritz++
-        cp source.a $out/lib/libfritz++.a
-        cp *.h $out/include/libfritz++
-      '';
-      propagatedBuildInputs = [ libgcrypt ];
-      buildInputs = [ boost liblogpp libconvpp libnetpp ];
-    };
-
-  in stdenv.mkDerivation rec {
+  fritzbox = stdenv.mkDerivation rec {
     pname = "vdr-fritzbox";
-    version = "1.5.3";
+    version = "1.5.4";
 
     src = fetchFromGitHub {
       owner = "jowi24";
       repo = "vdr-fritz";
       rev = version;
-      sha256 = "0wab1kyma9jzhm6j33cv9hd2a5d1334ghgdi2051nmr1bdcfcsw8";
+      sha256 = "sha256-DGD73i+ZHFgtCo+pMj5JaMovvb5vS1x20hmc5t29//o=";
+      fetchSubmodules = true;
     };
 
-    postUnpack = ''
-      cp ${libfritzpp}/lib/* $sourceRoot/libfritz++
-      cp ${liblogpp}/lib/* $sourceRoot/liblog++
-      cp ${libnetpp}/lib/* $sourceRoot/libnet++
-      cp ${libconvpp}/lib/* $sourceRoot/libconv++
-    '';
-
-    buildInputs = [ vdr boost libconvpp libfritzpp libnetpp liblogpp ];
+    buildInputs = [ vdr boost libgcrypt ];
 
     installFlags = [ "DESTDIR=$(out)" ];
 
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index c19b8fa15cd..700730a57fc 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -82,11 +82,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "${optionalString onlyLibVLC "lib"}vlc";
-  version = "3.0.17";
+  version = "3.0.17.3";
 
   src = fetchurl {
     url = "http://get.videolan.org/vlc/${version}/vlc-${version}.tar.xz";
-    sha256 = "sha256-SL2b8zeqEHoVJOulfFLcSpHin1qX+97pL2pNupA4PNA=";
+    sha256 = "sha256-b36Q74lz0x2W3mTbgXFz40UVCClxepQISxu4MhzeIBQ=";
   };
 
   # VLC uses a *ton* of libraries for various pieces of functionality, many of
diff --git a/pkgs/applications/video/webcamoid/default.nix b/pkgs/applications/video/webcamoid/default.nix
index 63f1e885af3..b9c21b7ad7d 100644
--- a/pkgs/applications/video/webcamoid/default.nix
+++ b/pkgs/applications/video/webcamoid/default.nix
@@ -1,13 +1,13 @@
-{ lib, fetchFromGitHub, pkg-config, libxcb, mkDerivation, qmake
+{ lib, fetchFromGitHub, pkg-config, libxcb, mkDerivation, cmake
 , qtbase, qtdeclarative, qtquickcontrols, qtquickcontrols2
 , ffmpeg-full, gst_all_1, libpulseaudio, alsa-lib, jack2
 , v4l-utils }:
 mkDerivation rec {
   pname = "webcamoid";
-  version = "8.8.0";
+  version = "9.0.0";
 
   src = fetchFromGitHub {
-    sha256 = "0a8M9GQ6Ea9jBCyfbORVyB6HC/O6jdcIZruQZj9Aai4=";
+    sha256 = "sha256-NV1BmG+fgy+ZcvHl+05VX5J1BAz8PxKiZ3z9BxjhMU0=";
     rev = version;
     repo = "webcamoid";
     owner = "webcamoid";
@@ -22,12 +22,7 @@ mkDerivation rec {
     v4l-utils
   ];
 
-  nativeBuildInputs = [ pkg-config qmake ];
-
-  qmakeFlags = [
-    "Webcamoid.pro"
-    "INSTALLQMLDIR=${placeholder "out"}/lib/qt/qml"
-  ];
+  nativeBuildInputs = [ pkg-config cmake ];
 
   meta = with lib; {
     description = "Webcam Capture Software";
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index 367f43deb80..c1302ac2de4 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.6.2";
+  version = "1.6.4";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "sha256-l/9jOvZ4nn/wy+XPRoT1lojfGvPEXhPz2FJjLpZ/EE8=";
+    sha256 = "sha256-425BcVHCliAHFQqGn6sWH/ahDX3JR6l/sYZWHpgmZW0=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix
index 5855eee6379..2d35b1c4a03 100644
--- a/pkgs/applications/virtualization/crun/default.nix
+++ b/pkgs/applications/virtualization/crun/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "1.4.4";
+  version = "1.4.5";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ITUj905ZSdCH0mcw8tubyVKqI6p/oNcC4OW7/NbkR5o=";
+    sha256 = "sha256-YXbyGUY/E8odjljDok+yYyU8yZSyUFc22zumrUuuXXQ=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/virtualization/distrobox/default.nix b/pkgs/applications/virtualization/distrobox/default.nix
index e67509c54f8..e29de7a52fd 100644
--- a/pkgs/applications/virtualization/distrobox/default.nix
+++ b/pkgs/applications/virtualization/distrobox/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "distrobox";
-  version = "1.2.14";
+  version = "1.2.15";
 
   src = fetchFromGitHub {
     owner = "89luca89";
     repo = pname;
     rev = version;
-    sha256 = "sha256-gHKyuIL4K/SLBJw8xNuPdNifDcHI91AFTiHaiv38gus=";
+    sha256 = "sha256-9rivXnHyEE1MoGY+CwUeDStLGPVq+4FvwPjV7Nblk60=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/virtualization/docker-slim/default.nix b/pkgs/applications/virtualization/docker-slim/default.nix
index a7261dac6d1..dbf4bb734d8 100644
--- a/pkgs/applications/virtualization/docker-slim/default.nix
+++ b/pkgs/applications/virtualization/docker-slim/default.nix
@@ -6,7 +6,7 @@
 
 buildGoPackage rec {
   pname = "docker-slim";
-  version = "1.37.5";
+  version = "1.37.6";
 
   goPackagePath = "github.com/docker-slim/docker-slim";
 
@@ -14,7 +14,7 @@ buildGoPackage rec {
     owner = "docker-slim";
     repo = "docker-slim";
     rev = version;
-    sha256 = "sha256-MBs0ybBXsanNFt6R7+ZYvtCh7iHE3FtWXE9uy9tbrE4=";
+    sha256 = "sha256-Jzi6JC6DRklZhNqmFx6eHx6qR8/fb/JuSpgwtPThcc4=";
   };
 
   subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ];
diff --git a/pkgs/applications/virtualization/firectl/default.nix b/pkgs/applications/virtualization/firectl/default.nix
index ac531b36dd2..458e2ffc7e5 100644
--- a/pkgs/applications/virtualization/firectl/default.nix
+++ b/pkgs/applications/virtualization/firectl/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "firectl";
-  version = "0.1.0";
-
-  patches = [ ./gomod.patch ];
+  # The latest upstream 0.1.0 is incompatible with firecracker
+  # v0.1.0. See issue: https://github.com/firecracker-microvm/firectl/issues/82
+  version = "unstable-2022-03-01";
 
   src = fetchFromGitHub {
     owner = "firecracker-microvm";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "1ni3yx4rjhrkqk2038c6hkb2jwsdj2llx233wd5wgpvb6c57652p";
+    rev = "9f1b639a446e8d75f31787a00b9f273c1e68f12c";
+    sha256 = "TjzzHY9VYPpWoPt6nHYUerKX94O03sm524wGM9lGzno=";
   };
 
-  vendorSha256 = "1xbpck1gvzl75xgrajf5yzl199l4f2f6j3mac5586i7b00b9jxqj";
+  vendorSha256 = "3SVEvvGNx6ienyJZg0EOofHNHCPSpJUGXwHxokdRG1c=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/virtualization/firectl/gomod.patch b/pkgs/applications/virtualization/firectl/gomod.patch
deleted file mode 100644
index 96c65e72822..00000000000
--- a/pkgs/applications/virtualization/firectl/gomod.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/go.mod b/go.mod
-index 1044001..7bafeda 100644
---- a/go.mod
-+++ b/go.mod
-@@ -1,7 +1,10 @@
- module github.com/firecracker-microvm/firectl
- 
-+go 1.14
-+
- require (
- 	github.com/firecracker-microvm/firecracker-go-sdk v0.15.1
-+	github.com/go-openapi/strfmt v0.17.1
- 	github.com/jessevdk/go-flags v1.4.0
- 	github.com/pkg/errors v0.8.0
- 	github.com/sirupsen/logrus v1.1.1
diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix
index db3ed3500e3..c937cce79b1 100644
--- a/pkgs/applications/virtualization/lima/default.nix
+++ b/pkgs/applications/virtualization/lima/default.nix
@@ -8,19 +8,24 @@
 
 buildGoModule rec {
   pname = "lima";
-  version = "0.9.2";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "lima-vm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GS/mzBoVL78U7vMxkbnQfb89U640w8YdA8YhPH4Iwrc=";
+    sha256 = "sha256-xlpNJjSBw1iL8CjbWE6v4u7Vq5PjkGv0tQKU5eRN13w=";
   };
 
-  vendorSha256 = "sha256-funVyM0RhDzGQPyzsABzXu3ETPYJwRosqkQreGBADZc=";
+  vendorSha256 = "sha256-uTkCi969RQ4K0ZJ2vOgqv3OJgzVVRX7b2sXNfmR6qoA=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
+  # clean fails with read only vendor dir
+  postPatch = ''
+    substituteInPlace Makefile --replace 'binaries: clean' 'binaries:'
+  '';
+
   buildPhase = ''
     runHook preBuild
     make "VERSION=v${version}" binaries
diff --git a/pkgs/applications/virtualization/podman-tui/default.nix b/pkgs/applications/virtualization/podman-tui/default.nix
index 17272acd86e..bfd6ba4135b 100644
--- a/pkgs/applications/virtualization/podman-tui/default.nix
+++ b/pkgs/applications/virtualization/podman-tui/default.nix
@@ -6,18 +6,18 @@
 , gpgme
 , libassuan
 , lvm2
-, testVersion
+, testers
 , podman-tui
 }:
 buildGoModule rec {
   pname = "podman-tui";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman-tui";
     rev = "v${version}";
-    sha256 = "sha256-1WbDmnKyFosp4Kz9QINr3lOR/wD0UW2QZf7nAAaoClM=";
+    sha256 = "sha256-Xc6F87evQiv4jRbxxRBzJBeI8653HvlQL+UwcVWY0wk=";
   };
 
   vendorSha256 = null;
@@ -33,7 +33,7 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" ];
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = podman-tui;
     command = "podman-tui version";
     version = "v${version}";
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 1f596c60906..89568129918 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -88,6 +88,7 @@ buildGoModule rec {
       podman-tls-ghostunnel
       podman-dnsname
       ;
+    oci-containers-podman = nixosTests.oci-containers.podman;
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/virtualization/vmware-workstation/default.nix b/pkgs/applications/virtualization/vmware-workstation/default.nix
new file mode 100755
index 00000000000..58cd4092a95
--- /dev/null
+++ b/pkgs/applications/virtualization/vmware-workstation/default.nix
@@ -0,0 +1,341 @@
+{ stdenv
+, buildFHSUserEnv
+, fetchurl
+, lib
+, zlib
+, gdbm
+, bzip2
+, libxslt
+, libxml2
+, libuuid
+, readline
+, xz
+, cups
+, glibc
+, libaio
+, vulkan-loader
+, alsa-lib
+, libpulseaudio
+, libGL
+, numactl
+, libX11
+, libXi
+, kmod
+, python3
+, autoPatchelfHook
+, makeWrapper
+, sqlite
+, enableInstaller ? false
+}:
+
+let
+  vmware-unpack-env = buildFHSUserEnv rec {
+    name = "vmware-unpack-env";
+    targetPkgs = pkgs: [ zlib ];
+  };
+  gdbm3 = gdbm.overrideAttrs (old: rec {
+    version = "1.8.3";
+
+    src = fetchurl {
+      url = "mirror://gnu/gdbm/gdbm-${version}.tar.gz";
+      sha256 = "sha256-zDQDOKLii0AFirnrU1SiHVP4ihWC6iG6C7GFw3ooHck=";
+    };
+
+    installPhase = ''
+      mkdir -p $out/lib
+      cp .libs/libgdbm*.so* $out/lib/
+    '';
+  });
+in
+stdenv.mkDerivation rec {
+  pname = "vmware-workstation";
+  version = "16.2.3";
+  build = "19376536";
+
+  buildInputs = [
+    libxslt
+    libxml2
+    libuuid
+    gdbm3
+    readline
+    xz
+    cups
+    glibc
+    libaio
+    vulkan-loader
+    alsa-lib
+    libpulseaudio
+    libGL
+    numactl
+    libX11
+    libXi
+    kmod
+  ];
+
+  nativeBuildInputs = [ python3 vmware-unpack-env autoPatchelfHook makeWrapper ]
+    ++ lib.optionals enableInstaller [ sqlite bzip2 ];
+
+  src = fetchurl {
+    url = "https://download3.vmware.com/software/WKST-1623-LX-New/VMware-Workstation-Full-${version}-${build}.x86_64.bundle";
+    sha256 = "sha256-+JE1KnRfawcaBannIyEr1TNZTF7YXRYYaFMVq0/erbM=";
+  };
+
+  unpackPhase = ''
+    ${vmware-unpack-env}/bin/vmware-unpack-env -c "sh ${src} --extract unpacked"
+  '';
+
+  installPhase = ''
+    mkdir -p \
+      $out/bin \
+      $out/etc/vmware \
+      $out/etc/init.d \
+      $out/lib/vmware \
+      $out/share/doc
+
+    #### Replicate vmware-installer's order but VMX first because of appLoader
+    ${lib.optionalString enableInstaller ''
+      ## VMware installer
+      echo "Installing VMware Installer"
+      unpacked="unpacked/vmware-installer"
+      vmware_installer_version=$(cat "unpacked/vmware-installer/manifest.xml" | grep -oPm1 "(?<=<version>)[^<]+")
+      dest="$out/lib/vmware-installer/$vmware_installer_version"
+
+      mkdir -p $dest
+      cp -r $unpacked/vmis* $dest/
+      cp -r $unpacked/sopython $dest/
+      cp -r $unpacked/python $dest/
+      cp -r $unpacked/cdsHelper $dest/
+      cp -r $unpacked/vmware* $dest/
+      cp -r $unpacked/bin $dest/
+      cp -r $unpacked/lib $dest/
+
+      chmod +x $dest/vmis-launcher $dest/sopython/* $dest/python/init.sh $dest/vmware-*
+      ln -s $dest/vmware-installer $out/bin/vmware-installer
+
+      mkdir -p $out/etc/vmware-installer
+      cp ${./vmware-installer-bootstrap} $out/etc/vmware-installer/bootstrap
+      sed -i -e "s,@@INSTALLERDIR@@,$dest," $out/etc/vmware-installer/bootstrap
+      sed -i -e "s,@@IVERSION@@,$vmware_installer_version," $out/etc/vmware-installer/bootstrap
+      sed -i -e "s,@@BUILD@@,${build}," $out/etc/vmware-installer/bootstrap
+
+      # create database of vmware guest tools (avoids vmware fetching them later)
+      mkdir -p $out/etc/vmware-installer/components
+      database_filename=$out/etc/vmware-installer/database
+      touch $database_filename
+      sqlite3 "$database_filename" "CREATE TABLE settings(key VARCHAR PRIMARY KEY, value VARCHAR NOT NULL, component_name VARCHAR NOT NULL);"
+      sqlite3 "$database_filename" "INSERT INTO settings(key,value,component_name) VALUES('db.schemaVersion','2','vmware-installer');"
+      sqlite3 "$database_filename" "CREATE TABLE components(id INTEGER PRIMARY KEY, name VARCHAR NOT NULL, version VARCHAR NOT NULL, buildNumber INTEGER NOT NULL, component_core_id INTEGER NOT NULL, longName VARCHAR NOT NULL, description VARCHAR, type INTEGER NOT NULL);"
+      for folder in unpacked/**/.installer ; do
+        component="$(basename $(dirname $folder))"
+        component_version=$(cat unpacked/$component/manifest.xml | grep -oPm1 "(?<=<version>)[^<]+")
+        component_core_id=$([ "$component" == "vmware-installer" ] && echo "-1" || echo "1")
+        type=$([ "$component" == "vmware-workstation" ] && echo "0" || echo "1")
+        sqlite3 "$database_filename" "INSERT INTO components(name,version,buildNumber,component_core_id,longName,description,type) VALUES(\"$component\",\"$component_version\",\"${build}\",$component_core_id,\"$component\",\"$component\",$type);"
+        mkdir -p $out/etc/vmware-installer/components/$component
+        cp -r $folder/* $out/etc/vmware-installer/components/$component
+      done
+    ''}
+
+    ## VMware Bootstrap
+    echo "Installing VMware Bootstrap"
+    cp ${./vmware-bootstrap} $out/etc/vmware/bootstrap
+    sed -i -e "s,@@PREFIXDIR@@,$out," $out/etc/vmware/bootstrap
+
+    ## VMware Config
+    echo "Installing VMware Config"
+    cp ${./vmware-config} $out/etc/vmware/config
+    sed -i -e "s,@@VERSION@@,${version}," $out/etc/vmware/config
+    sed -i -e "s,@@BUILD@@,${build}," $out/etc/vmware/config
+    sed -i -e "s,@@PREFIXDIR@@,$out," $out/etc/vmware/config
+
+    ## VMware VMX
+    echo "Installing VMware VMX"
+    unpacked="unpacked/vmware-vmx"
+    cp -r $unpacked/bin/* $out/bin/
+    cp -r $unpacked/etc/modprobe.d $out/etc/
+    cp -r $unpacked/etc/init.d/* $out/etc/init.d/
+    cp -r $unpacked/roms $out/lib/vmware/
+    cp -r $unpacked/sbin/* $out/bin/
+
+    cp -r $unpacked/lib/libconf $out/lib/vmware/
+    cp -r $unpacked/lib/bin $out/lib/vmware/
+    cp -r $unpacked/lib/lib $out/lib/vmware/
+    cp -r $unpacked/lib/scripts $out/lib/vmware/
+    cp -r $unpacked/lib/icu $out/lib/vmware/
+    cp -r $unpacked/lib/share $out/lib/vmware/
+    cp -r $unpacked/lib/modules $out/lib/vmware/
+    cp -r $unpacked/lib/include $out/lib/vmware/
+
+    cp -r $unpacked/extra/checkvm $out/bin/
+    cp -r $unpacked/extra/modules.xml $out/lib/vmware/modules/
+
+    ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/vmware-vmblock-fuse
+    ln -s $out/lib/vmware/icu $out/etc/vmware/icu
+
+    # Replace vmware-modconfig with simple error dialog
+    cp ${./vmware-modconfig} $out/bin/vmware-modconfig
+    sed -i -e "s,ETCDIR=/etc/vmware,ETCDIR=$out/etc/vmware," $out/bin/vmware-modconfig
+
+    # Patch dynamic libs in
+    for binary in "mksSandbox" "mksSandbox-debug" "mksSandbox-stats" "vmware-vmx" "vmware-vmx-debug" "vmware-vmx-stats"
+    do
+      patchelf \
+        --add-needed ${libaio}/lib/libaio.so.1 \
+        --add-needed ${vulkan-loader}/lib/libvulkan.so.1 \
+        --add-needed ${alsa-lib}/lib/libasound.so \
+        --add-needed ${libpulseaudio}/lib/libpulse.so.0 \
+        --add-needed ${libGL}/lib/libEGL.so.1 \
+        --add-needed ${numactl}/lib/libnuma.so.1 \
+        --add-needed ${libX11}/lib/libX11.so.6 \
+        --add-needed ${libXi}/lib/libXi.so.6 \
+        --add-needed ${libGL}/lib/libGL.so.1 \
+        $out/lib/vmware/bin/$binary
+    done
+
+    ## VMware USB Arbitrator
+    echo "Installing VMware USB Arbitrator"
+    unpacked="unpacked/vmware-usbarbitrator"
+    cp -r $unpacked/etc/init.d/* $out/etc/init.d/
+    cp -r $unpacked/bin/* $out/bin/
+    ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/vmware-usbarbitrator
+
+    ## VMware Player Setup
+    echo "Installing VMware Player Setup"
+    unpacked="unpacked/vmware-player-setup"
+    mkdir -p $out/lib/vmware/setup
+    cp $unpacked/vmware-config $out/lib/vmware/setup/
+
+    ## VMware Network Editor
+    echo "Installing VMware Network Editor"
+    unpacked="unpacked/vmware-network-editor"
+    cp -r $unpacked/lib $out/lib/vmware/
+
+    ## VMware Tools + Virtual Printer
+    echo "Installing VMware Tools + Virtual Printer"
+    mkdir -p $out/lib/vmware/isoimages/
+    cp unpacked/vmware-tools-linuxPreGlibc25/linuxPreGlibc25.iso \
+       unpacked/vmware-tools-windows/windows.iso \
+       unpacked/vmware-tools-winPreVista/winPreVista.iso \
+       unpacked/vmware-virtual-printer/VirtualPrinter-Linux.iso \
+       unpacked/vmware-virtual-printer/VirtualPrinter-Windows.iso \
+       unpacked/vmware-tools-winPre2k/winPre2k.iso \
+       unpacked/vmware-tools-linux/linux.iso \
+       unpacked/vmware-tools-netware/netware.iso \
+       unpacked/vmware-tools-solaris/solaris.iso \
+       $out/lib/vmware/isoimages/
+
+    ## VMware Player Application
+    echo "Installing VMware Player Application"
+    unpacked="unpacked/vmware-player-app"
+    cp -r $unpacked/lib/* $out/lib/vmware/
+    cp -r $unpacked/etc/* $out/etc/
+    cp -r $unpacked/share/* $out/share/
+    cp -r $unpacked/bin/* $out/bin/
+    cp -r $unpacked/doc/* $out/share/doc/ # Licences
+
+    mkdir -p $out/etc/thnuclnt
+    cp -r $unpacked/extras/.thnumod $out/etc/thnuclnt/
+
+    mkdir -p $out/lib/cups/filter
+    cp -r $unpacked/extras/thnucups $out/lib/cups/filter/
+
+    for target in "vmplayer" "vmware-enter-serial" "vmware-setup-helper" "licenseTool" "vmware-mount" "vmware-fuseUI" "vmware-app-control" "vmware-zenity"
+    do
+      ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/$target
+    done
+
+    ln -s $out/lib/vmware/bin/vmware-mount $out/bin/vmware-mount
+    ln -s $out/lib/vmware/bin/vmware-fuseUI $out/bin/vmware-fuseUI
+    ln -s $out/lib/vmware/bin/vmrest $out/bin/vmrest
+
+    # Patch vmplayer
+    sed -i -e "s,ETCDIR=/etc/vmware,ETCDIR=$out/etc/vmware," $out/bin/vmplayer
+    sed -i -e "s,/sbin/modprobe,${kmod}/bin/modprobe," $out/bin/vmplayer
+    sed -i -e "s,@@BINARY@@,$out/bin/vmplayer," $out/share/applications/vmware-player.desktop
+
+    ## VMware OVF Tool compoment
+    echo "Installing VMware OVF Tool for Linux"
+    unpacked="unpacked/vmware-ovftool"
+    mkdir -p $out/lib/vmware-ovftool/
+
+    cp -r $unpacked/* $out/lib/vmware-ovftool/
+    chmod 755 $out/lib/vmware-ovftool/ovftool*
+    makeWrapper "$out/lib/vmware-ovftool/ovftool.bin" "$out/bin/ovftool"
+
+    ## VMware Network Editor User Interface
+    echo "Installing VMware Network Editor User Interface"
+    unpacked="unpacked/vmware-network-editor-ui"
+    cp -r $unpacked/share/* $out/share/
+
+    ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/vmware-netcfg
+    ln -s $out/lib/vmware/bin/vmware-netcfg $out/bin/vmware-netcfg
+
+    # Patch network editor ui
+
+    sed -i -e "s,@@BINARY@@,$out/bin/vmware-netcfg," $out/share/applications/vmware-netcfg.desktop
+
+    ## VMware VIX Core Library
+    echo "Installing VMware VIX Core Library"
+    unpacked="unpacked/vmware-vix-core"
+    mkdir -p $out/lib/vmware-vix
+    cp -r $unpacked/lib/* $out/lib/vmware-vix/
+    cp -r $unpacked/bin/* $out/bin/
+    cp $unpacked/*.txt $out/lib/vmware-vix/
+
+    mkdir -p $out/share/doc/vmware-vix/
+    cp -r $unpacked/doc/* $out/share/doc/vmware-vix/
+
+    mkdir -p $out/include/
+    cp -r $unpacked/include/* $out/include/
+
+    ## VMware VIX Workstation-16.0.0 Library
+    echo "Installing VMware VIX Workstation-16.0.0 Library"
+    unpacked="unpacked/vmware-vix-lib-Workstation1600"
+    cp -r $unpacked/lib/* $out/lib/vmware-vix/
+
+    ## VMware VProbes component for Linux
+    echo "Installing VMware VProbes component for Linux"
+    unpacked="unpacked/vmware-vprobe"
+    cp -r $unpacked/bin/* $out/bin/
+    cp -r $unpacked/lib/* $out/lib/vmware/
+
+    ## VMware Workstation
+    echo "Installing VMware Workstation"
+    unpacked="unpacked/vmware-workstation"
+    cp -r $unpacked/bin/* $out/bin/
+    cp -r $unpacked/lib/* $out/lib/vmware/
+    cp -r $unpacked/share/* $out/share/
+    cp -r $unpacked/man $out/share/
+    cp -r $unpacked/doc $out/share/
+
+    ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/vmware
+    ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/vmware-tray
+    ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/vmware-vprobe
+
+    # Patch vmware
+    sed -i -e "s,ETCDIR=/etc/vmware,ETCDIR=$out/etc/vmware,g" $out/bin/vmware
+    sed -i -e "s,/sbin/modprobe,${kmod}/bin/modprobe,g" $out/bin/vmware
+    sed -i -e "s,@@BINARY@@,$out/bin/vmware," $out/share/applications/vmware-workstation.desktop
+
+    chmod +x $out/bin/* $out/lib/vmware/bin/* $out/lib/vmware/setup/*
+
+    # Harcoded pkexec hack
+    for lib in "lib/vmware/lib/libvmware-mount.so/libvmware-mount.so" "lib/vmware/lib/libvmwareui.so/libvmwareui.so" "lib/vmware/lib/libvmware-fuseUI.so/libvmware-fuseUI.so"
+    do
+      sed -i -e "s,/usr/local/sbin,/run/vmware/bin," "$out/$lib"
+    done
+
+    # SUID hack
+    wrapProgram $out/lib/vmware/bin/vmware-vmx
+    rm $out/lib/vmware/bin/vmware-vmx
+    ln -s /run/wrappers/bin/vmware-vmx $out/lib/vmware/bin/vmware-vmx
+  '';
+
+  meta = with lib; {
+    description = "Industry standard desktop hypervisor for x86-64 architecture";
+    homepage = "https://www.vmware.com/products/workstation-pro.html";
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ deinferno ];
+  };
+}
diff --git a/pkgs/applications/virtualization/vmware-workstation/vmware-bootstrap b/pkgs/applications/virtualization/vmware-workstation/vmware-bootstrap
new file mode 100644
index 00000000000..93787870ec3
--- /dev/null
+++ b/pkgs/applications/virtualization/vmware-workstation/vmware-bootstrap
@@ -0,0 +1,11 @@
+PREFIX="@@PREFIXDIR@@"
+BINDIR="@@PREFIXDIR@@/bin"
+SBINDIR="@@PREFIXDIR@@/sbin"
+LIBDIR="@@PREFIXDIR@@/lib"
+DATADIR="@@PREFIXDIR@@/share"
+SYSCONFDIR="@@PREFIXDIR@@/etc"
+DOCDIR="@@PREFIXDIR@@/share/doc"
+MANDIR="@@PREFIXDIR@@/share/man"
+INCLUDEDIR="@@PREFIXDIR@@/include"
+INITDIR="@@PREFIXDIR@@/etc"
+INITSCRIPTDIR="@@PREFIXDIR@@/etc/init.d"
diff --git a/pkgs/applications/virtualization/vmware-workstation/vmware-config b/pkgs/applications/virtualization/vmware-workstation/vmware-config
new file mode 100644
index 00000000000..9b3714bc313
--- /dev/null
+++ b/pkgs/applications/virtualization/vmware-workstation/vmware-config
@@ -0,0 +1,21 @@
+.encoding = "UTF-8"
+product.name = "VMware Workstation"
+product.version = "@@VERSION@@"
+product.buildNumber = "@@BUILD@@"
+workstation.product.version = "@@VERSION@@"
+player.product.version = "@@VERSION@@"
+vix.config.version = "1"
+bindir = "@@PREFIXDIR@@/bin"
+libdir = "@@PREFIXDIR@@/lib/vmware"
+vix.libdir = "@@PREFIXDIR@@/lib/vmware-vix"
+initscriptdir = "@@PREFIXDIR@@/lib/systemd/scripts"
+vmware.fullpath = "@@PREFIXDIR@@/bin/vmware"
+authd.fullpath = "@@PREFIXDIR@@/bin/vmware-authd"
+gksu.rootMethod = "su"
+NETWORKING = "yes"
+installerDefaults.autoSoftwareUpdateEnabled = "no"
+installerDefaults.dataCollectionEnabled = "no"
+installerDefaults.componentDownloadEnabled = "no"
+installerDefaults.transferVersion = "1"
+acceptOVFEULA = "yes"
+acceptEULA = "yes"
diff --git a/pkgs/applications/virtualization/vmware-workstation/vmware-installer-bootstrap b/pkgs/applications/virtualization/vmware-workstation/vmware-installer-bootstrap
new file mode 100644
index 00000000000..4db8f7a1b45
--- /dev/null
+++ b/pkgs/applications/virtualization/vmware-workstation/vmware-installer-bootstrap
@@ -0,0 +1,5 @@
+VMWARE_INSTALLER="@@INSTALLERDIR@@"
+VERSION="@@IVERSION@@" # For backwards compability
+VMISVERSION="@@IVERSION@@"
+VMISBUILDNUM="@@BUILD@@"
+VMISPYVERSION="39"
diff --git a/pkgs/applications/virtualization/vmware-workstation/vmware-modconfig b/pkgs/applications/virtualization/vmware-workstation/vmware-modconfig
new file mode 100644
index 00000000000..c93a3715796
--- /dev/null
+++ b/pkgs/applications/virtualization/vmware-workstation/vmware-modconfig
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+set -e
+
+ETCDIR=/etc/vmware
+. $ETCDIR/bootstrap
+
+exec "$LIBDIR"/vmware/bin/vmware-zenity --error --text "Reboot is required to load VMware kernel modules (make sure that 'virtualisation.vmware.host.enable' is enabled)"
diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix
index 83406d33961..c3d8d96bba4 100644
--- a/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/pkgs/applications/window-managers/i3/status-rust.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.21.9";
+  version = "0.21.10";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UbQEPY/Qzu3akWqCTdbhO8V46KyNh/4XCA+PySQyNaw=";
+    sha256 = "sha256-HtPgl52ysE/CVX706YeKBFc6CgGpHzvHwZoS+DzHADY=";
   };
 
-  cargoSha256 = "sha256-Bb4kkS0eSg0ue24UIy8f0kwD9w4kSCVTd1OqwEggyVs=";
+  cargoSha256 = "sha256-ini0AIYwvTskNFMSC+Gy23ohL75PTET95e1mjpjCsWE=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
diff --git a/pkgs/applications/window-managers/phosh/default.nix b/pkgs/applications/window-managers/phosh/default.nix
index 77a65eef667..6a37809bb5f 100644
--- a/pkgs/applications/window-managers/phosh/default.nix
+++ b/pkgs/applications/window-managers/phosh/default.nix
@@ -31,7 +31,7 @@
 
 stdenv.mkDerivation rec {
   pname = "phosh";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true; # including gvc and libcall-ui which are designated as subprojects
-    sha256 = "sha256-nxQYVWUXT1fNgOTRB3iWCLWYI/STk8vtguTbPPNTHdg=";
+    sha256 = "sha256-o/0NJZo1EPpXguN/tkUc+/9XaVTQWaLGe+2pU0B91Cg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/window-managers/sway/lock-effects.nix b/pkgs/applications/window-managers/sway/lock-effects.nix
index 25714f1f8a9..9e919d3f88e 100644
--- a/pkgs/applications/window-managers/sway/lock-effects.nix
+++ b/pkgs/applications/window-managers/sway/lock-effects.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -24,6 +25,13 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-71IX0fC4xCPP6pK63KtvDMb3KoP1rw/Iz3S7BgiLSpg=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/mortie/swaylock-effects/commit/dfff235b09b475e79d75a040a0307a359974d360.patch";
+      sha256 = "t8Xz2wRSBlwGtkpWZyIGWX7V/y0P1r/50P8MfauMh4c=";
+    })
+  ];
+
   postPatch = ''
     sed -iE "s/version: '1\.3',/version: '${version}',/" meson.build
   '';
diff --git a/pkgs/applications/window-managers/wmfs/default.nix b/pkgs/applications/window-managers/wmfs/default.nix
index 83c7d787d88..9169aea4f51 100644
--- a/pkgs/applications/window-managers/wmfs/default.nix
+++ b/pkgs/applications/window-managers/wmfs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, gnumake,
+{ lib, stdenv, fetchFromGitHub,
   libX11, libXinerama, libXrandr, libXpm, libXft, imlib2 }:
 stdenv.mkDerivation {
   pname = "wmfs";
@@ -12,10 +12,6 @@ stdenv.mkDerivation {
     rev = "b7b8ff812d28c79cb22a73db2739989996fdc6c2";
   };
 
-  nativeBuildInputs = [
-    gnumake
-  ];
-
   buildInputs = [
     imlib2
     libX11
diff --git a/pkgs/applications/window-managers/wmii-hg/default.nix b/pkgs/applications/window-managers/wmii-hg/default.nix
deleted file mode 100644
index 6759e15ee83..00000000000
--- a/pkgs/applications/window-managers/wmii-hg/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, stdenv, fetchurl, unzip, pkg-config, libixp_hg, txt2tags, dash, python2, which
-, libX11 , libXrender, libXext, libXinerama, libXrandr, libXft }:
-
-stdenv.mkDerivation rec {
-  rev = "2823";
-  version = "hg-2012-12-09";
-  pname = "wmii";
-
-  src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/wmii/source-archive.zip";
-    sha256 = "1wmkq14zvmfrmydl8752xz852cy7agrx3qp4fy2cc5asb2r9abaz";
-  };
-
-  # for dlopen-ing
-  patchPhase = ''
-    substituteInPlace lib/libstuff/x11/xft.c --replace "libXft.so" "$(pkg-config --variable=libdir xft)/libXft.so.2"
-    substituteInPlace cmd/wmii.sh.sh --replace "\$(which which)" "${which}/bin/which"
-  '';
-
-  configurePhase = ''
-    for file in $(grep -lr '#!.*sh'); do
-      sed -i 's|#!.*sh|#!${dash}/bin/dash|' $file
-    done
-
-    cat <<EOF >> config.mk
-    PREFIX = $out
-    LIBIXP = ${libixp_hg}/lib/libixp.a
-    BINSH = ${dash}/bin/dash
-    EOF
-  '';
-
-  nativeBuildInputs = [ pkg-config unzip ];
-  buildInputs = [ libixp_hg txt2tags dash python2 which
-                  libX11 libXrender libXext libXinerama libXrandr libXft ];
-
-  # For some reason including mercurial in buildInputs did not help
-  makeFlags = [ "WMII_HGVERSION=hg${rev}" ];
-
-  meta = {
-    homepage = "https://suckless.org/"; # https://wmii.suckless.org/ does not exist anymore
-    description = "A small window manager controlled by a 9P filesystem";
-    maintainers = with lib.maintainers; [ kovirobi ];
-    license = lib.licenses.mit;
-    platforms = with lib.platforms; linux;
-  };
-}
diff --git a/pkgs/applications/window-managers/wmii/default.nix b/pkgs/applications/window-managers/wmii/default.nix
new file mode 100644
index 00000000000..11f669da37a
--- /dev/null
+++ b/pkgs/applications/window-managers/wmii/default.nix
@@ -0,0 +1,72 @@
+{ lib, stdenv
+, fetchFromGitHub
+, dash
+, libX11
+, libXext
+, libXft
+, libXinerama
+, libXrandr
+, libXrender
+, libixp
+, pkg-config
+, txt2tags
+, unzip
+, which
+}:
+
+stdenv.mkDerivation rec {
+  pname = "wmii";
+  version = "unstable-2022-04-04";
+
+  src = fetchFromGitHub {
+    owner = "0intro";
+    repo = "wmii";
+    rev = "ff120c7fee6e1b3a30a4a800074394327fb1da9d";
+    hash = "sha256-KEmWnobpT/5TdgT2HGPCpG1duz9Q6Z6PFSEBs2Ce+7g=";
+  };
+
+  # for dlopen-ing
+  postPatch = ''
+    substituteInPlace lib/libstuff/x11/xft.c --replace "libXft.so" "$(pkg-config --variable=libdir xft)/libXft.so.2"
+    substituteInPlace cmd/wmii.sh.sh --replace "\$(which which)" "${which}/bin/which"
+  '';
+
+  postConfigure = ''
+    for file in $(grep -lr '#!.*sh'); do
+      sed -i 's|#!.*sh|#!${dash}/bin/dash|' $file
+    done
+
+    cat <<EOF >> config.mk
+    PREFIX = $out
+    LIBIXP = ${libixp}/lib/libixp.a
+    BINSH = ${dash}/bin/dash
+    EOF
+  '';
+
+  # Remove optional python2 functionality
+  postInstall = ''
+    rm -rf $out/lib/python* $out/etc/wmii-hg/python
+  '';
+
+  nativeBuildInputs = [ pkg-config unzip ];
+  buildInputs = [
+    dash
+    libX11
+    libXext
+    libXft
+    libXinerama
+    libXrandr
+    libXrender
+    libixp
+    txt2tags
+    which
+  ];
+
+  meta = {
+    homepage = "https://github.com/0intro/wmii";
+    description = "A small, scriptable window manager, with a 9P filesystem interface and an acme-like layout";
+    maintainers = with lib.maintainers; [ kovirobi ];
+    license = lib.licenses.mit;
+    platforms = with lib.platforms; linux;
+  };
+}
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 5a4e30ede8a..75e0d52d921 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -8,7 +8,6 @@
 , fakechroot
 , fakeNss
 , fakeroot
-, findutils
 , go
 , jq
 , jshon
@@ -556,7 +555,7 @@ rec {
           };
       result = runCommand "docker-image-${baseName}.tar.gz"
         {
-          nativeBuildInputs = [ jshon pigz coreutils findutils jq moreutils ];
+          nativeBuildInputs = [ jshon pigz jq moreutils ];
           # Image name must be lowercase
           imageName = lib.toLower name;
           imageTag = if tag == null then "" else tag;
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/default.nix b/pkgs/build-support/dotnet/build-dotnet-module/default.nix
index b5651d72a92..6e7388a4a75 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/default.nix
+++ b/pkgs/build-support/dotnet/build-dotnet-module/default.nix
@@ -74,13 +74,16 @@ let
     inherit dotnet-sdk dotnet-test-sdk disabledTests nuget-source dotnet-runtime runtimeDeps buildType;
   }) dotnetConfigureHook dotnetBuildHook dotnetCheckHook dotnetInstallHook dotnetFixupHook;
 
-  _nugetDeps = mkNugetDeps { name = "${name}-nuget-deps"; nugetDeps = import nugetDeps; };
-  _localDeps = linkFarmFromDrvs "${name}-local-nuget-deps" projectReferences;
+  localDeps = if (projectReferences != [])
+    then linkFarmFromDrvs "${name}-project-references" projectReferences
+    else null;
+
+  _nugetDeps = mkNugetDeps { inherit name; nugetDeps = import nugetDeps; };
 
   nuget-source = mkNugetSource {
-    name = "${args.pname}-nuget-source";
-    description = "A Nuget source with the dependencies for ${args.pname}";
-    deps = [ _nugetDeps _localDeps ];
+    name = "${name}-nuget-source";
+    description = "A Nuget source with the dependencies for ${name}";
+    deps = [ _nugetDeps ] ++ lib.optional (localDeps != null) localDeps;
   };
 
 in stdenvNoCC.mkDerivation (args // {
@@ -103,6 +106,8 @@ in stdenvNoCC.mkDerivation (args // {
   dontWrapGApps = args.dontWrapGApps or true;
 
   passthru = {
+    inherit nuget-source;
+
     fetch-deps = writeScript "fetch-${pname}-deps" ''
       set -euo pipefail
       cd "$(dirname "''${BASH_SOURCE[0]}")"
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh
index a1dc80a77fd..0e2650da51c 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh
@@ -1,4 +1,5 @@
-declare -a projectFile testProjectFile dotnetBuildFlags dotnetFlags
+# inherit arguments from derivation
+dotnetBuildFlags=( ${dotnetBuildFlags[@]-} )
 
 dotnetBuildHook() {
     echo "Executing dotnetBuildHook"
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-check-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-check-hook.sh
index e3098908fe2..6b3deaa52f9 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-check-hook.sh
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-check-hook.sh
@@ -1,4 +1,5 @@
-declare -a testProjectFile dotnetTestFlags dotnetFlags
+# inherit arguments from derivation
+dotnetTestFlags=( ${dotnetTestFlags[@]-} )
 
 dotnetCheckHook() {
     echo "Executing dotnetCheckHook"
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh
index 59daacbac0e..f8ba8b8df2e 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh
@@ -1,4 +1,8 @@
-declare -a projectFile testProjectFile dotnetRestoreFlags dotnetFlags
+declare -a projectFile testProjectFile
+
+# inherit arguments from derivation
+dotnetFlags=( ${dotnetFlags[@]-} )
+dotnetRestoreFlags=( ${dotnetRestoreFlags[@]-} )
 
 dotnetConfigureHook() {
     echo "Executing dotnetConfigureHook"
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-fixup-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-fixup-hook.sh
index f8bbb7b1805..675006508f6 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-fixup-hook.sh
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-fixup-hook.sh
@@ -1,4 +1,5 @@
-declare -a makeWrapperArgs gappsWrapperArgs
+# Inherit arguments from the derivation
+makeWrapperArgs=( ${makeWrapperArgs-} )
 
 # First argument is the executable you want to wrap,
 # the second is the destination for the wrapper.
@@ -15,9 +16,9 @@ wrapDotnetProgram() {
 dotnetFixupHook() {
     echo "Executing dotnetFixupPhase"
 
-    if [ "${executables-}" ]; then
+    if [ "${executables}" ]; then
         for executable in ${executables[@]}; do
-            execPath="$out/lib/${pname-}/$executable"
+            execPath="$out/lib/${pname}/$executable"
 
             if [[ -f "$execPath" && -x "$execPath" ]]; then
                 wrapDotnetProgram "$execPath" "$out/bin/$(basename "$executable")"
@@ -27,7 +28,7 @@ dotnetFixupHook() {
             fi
         done
     else
-        for executable in $out/lib/${pname-}/*; do
+        for executable in $out/lib/${pname}/*; do
             if [[ -f "$executable" && -x "$executable" && "$executable" != *"dll"* ]]; then
                 wrapDotnetProgram "$executable" "$out/bin/$(basename "$executable")"
             fi
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh
index ed2c9160cd2..ac9bc873ee9 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh
@@ -1,4 +1,5 @@
-declare -a projectFile dotnetInstallFlags dotnetFlags
+# inherit arguments from derivation
+dotnetInstallFlags=( ${dotnetInstallFlags[@]-} )
 
 dotnetInstallHook() {
     echo "Executing dotnetInstallHook"
diff --git a/pkgs/build-support/dotnet/make-nuget-source/default.nix b/pkgs/build-support/dotnet/make-nuget-source/default.nix
index 0690a05aa2b..8dc77f3aac0 100644
--- a/pkgs/build-support/dotnet/make-nuget-source/default.nix
+++ b/pkgs/build-support/dotnet/make-nuget-source/default.nix
@@ -1,30 +1,38 @@
 { dotnetPackages, lib, xml2, stdenvNoCC }:
-{ name, description ? "", deps ? [] }:
+
+{ name
+, description ? ""
+, deps ? []
+}:
+
 let
-  _nuget-source = stdenvNoCC.mkDerivation rec {
+  nuget-source = stdenvNoCC.mkDerivation rec {
     inherit name;
-    meta.description = description;
 
+    meta.description = description;
     nativeBuildInputs = [ dotnetPackages.Nuget xml2 ];
+
     buildCommand = ''
       export HOME=$(mktemp -d)
       mkdir -p $out/{lib,share}
 
-      nuget sources Add -Name nixos -Source "$out/lib"
-      ${ lib.concatMapStringsSep "\n" (dep:
-          ''nuget init "${dep}" "$out/lib"''
-        ) deps }
+      ${lib.concatMapStringsSep "\n" (dep: ''
+        nuget init "${dep}" "$out/lib"
+      '') deps}
 
-      # Generates a list of all unique licenses' spdx ids.
+      # Generates a list of all licenses' spdx ids, if available.
+      # Note that this currently ignores any license provided in plain text (e.g. "LICENSE.txt")
       find "$out/lib" -name "*.nuspec" -exec sh -c \
-        "xml2 < {} | grep "license=" | cut -d'=' -f2" \; | sort -u > $out/share/licenses
+        "NUSPEC=\$(xml2 < {}) && echo "\$NUSPEC" | grep license/@type=expression | tr -s \  '\n' | grep "license=" | cut -d'=' -f2" \
+      \; | sort -u > $out/share/licenses
     '';
-} // { # This is done because we need data from `$out` for `meta`. We have to use overrides as to not hit infinite recursion.
-  meta.licence = let
-    depLicenses = lib.splitString "\n" (builtins.readFile "${_nuget-source}/share/licenses");
-    getLicence = spdx: lib.filter (license: license.spdxId or null == spdx) (builtins.attrValues lib.licenses);
-  in (lib.flatten (lib.forEach depLicenses (spdx:
-    if (getLicence spdx) != [] then (getLicence spdx) else [] ++ lib.optional (spdx != "") spdx
-  )));
-};
-in _nuget-source
+  } // { # We need data from `$out` for `meta`, so we have to use overrides as to not hit infinite recursion.
+    meta.licence = let
+      depLicenses = lib.splitString "\n" (builtins.readFile "${nuget-source}/share/licenses");
+    in (lib.flatten (lib.forEach depLicenses (spdx:
+      if (spdx != "")
+        then lib.getLicenseFromSpdxId spdx
+        else []
+    )));
+  };
+in nuget-source
diff --git a/pkgs/build-support/dotnet/nuget-to-nix/default.nix b/pkgs/build-support/dotnet/nuget-to-nix/default.nix
index a5fc4e209cd..5267bc24a76 100644
--- a/pkgs/build-support/dotnet/nuget-to-nix/default.nix
+++ b/pkgs/build-support/dotnet/nuget-to-nix/default.nix
@@ -1,5 +1,27 @@
-{ runCommand }:
+{ lib
+, runCommandLocal
+, runtimeShell
+, substituteAll
+, nix
+, coreutils
+, findutils
+, gnused
+}:
 
-runCommand "nuget-to-nix" { preferLocalBuild = true; } ''
-  install -D -m755 ${./nuget-to-nix.sh} $out/bin/nuget-to-nix
+runCommandLocal "nuget-to-nix" {
+  script = substituteAll {
+    src = ./nuget-to-nix.sh;
+    inherit runtimeShell;
+
+    binPath = lib.makeBinPath [
+      nix
+      coreutils
+      findutils
+      gnused
+    ];
+  };
+
+  meta.description = "Convert a nuget packages directory to a lockfile for buildDotnetModule";
+} ''
+  install -Dm755 $script $out/bin/nuget-to-nix
 ''
diff --git a/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
index d2e7882caf6..d9eaa041754 100755
--- a/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
+++ b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
@@ -1,7 +1,9 @@
-#!/usr/bin/env bash
+#!@runtimeShell@
 
 set -euo pipefail
 
+export PATH="@binPath@"
+
 if [ $# -eq 0 ]; then
   >&2 echo "Usage: $0 [packages directory] > deps.nix"
   exit 1
diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix
index 2bf8eaf2d7a..d61f6967c4b 100644
--- a/pkgs/build-support/emacs/wrapper.nix
+++ b/pkgs/build-support/emacs/wrapper.nix
@@ -227,6 +227,8 @@ runCommand
       substitute ${./wrapper.sh} $out/Applications/Emacs.app/Contents/MacOS/Emacs \
         --subst-var-by bash ${emacs.stdenv.shell} \
         --subst-var-by wrapperSiteLisp "$deps/share/emacs/site-lisp" \
+        --subst-var-by wrapperSiteLispNative "$deps/share/emacs/native-lisp:" \
+        --subst-var-by autoloadExpression "-l cl-loaddefs -l nix-generated-autoload" \
         --subst-var-by prog "$emacs/Applications/Emacs.app/Contents/MacOS/Emacs"
       chmod +x $out/Applications/Emacs.app/Contents/MacOS/Emacs
     fi
diff --git a/pkgs/build-support/fetchfirefoxaddon/default.nix b/pkgs/build-support/fetchfirefoxaddon/default.nix
index 79014fd23c4..0fa51e69840 100644
--- a/pkgs/build-support/fetchfirefoxaddon/default.nix
+++ b/pkgs/build-support/fetchfirefoxaddon/default.nix
@@ -1,4 +1,4 @@
-{stdenv, lib, coreutils, unzip, jq, zip, fetchurl,writeScript,  ...}:
+{stdenv, unzip, jq, zip, fetchurl,writeScript,  ...}:
 
 {
   name
@@ -40,5 +40,5 @@ stdenv.mkDerivation {
     zip -r -q -FS "$out/$UUID.xpi" *
     rm -r "$out/$UUID"
   '';
-  nativeBuildInputs = [ coreutils unzip zip jq  ];
+  nativeBuildInputs = [ unzip zip jq  ];
 }
diff --git a/pkgs/build-support/fetchnextcloudapp/default.nix b/pkgs/build-support/fetchnextcloudapp/default.nix
index 7fe5b35e259..094228ad3aa 100644
--- a/pkgs/build-support/fetchnextcloudapp/default.nix
+++ b/pkgs/build-support/fetchnextcloudapp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, gnutar, findutils, fetchurl, ... }:
+{ stdenv, fetchurl, ... }:
 { name
 , url
 , version
@@ -13,11 +13,6 @@ stdenv.mkDerivation {
     inherit url sha256;
   };
 
-  nativeBuildInputs = [
-    gnutar
-    findutils
-  ];
-
   unpackPhase = ''
     tar -xzpf $src
   '';
diff --git a/pkgs/build-support/kernel/make-initrd-ng-tool.nix b/pkgs/build-support/kernel/make-initrd-ng-tool.nix
index 66ffc09d43c..654b1036781 100644
--- a/pkgs/build-support/kernel/make-initrd-ng-tool.nix
+++ b/pkgs/build-support/kernel/make-initrd-ng-tool.nix
@@ -1,4 +1,4 @@
-{ rustPlatform }:
+{ rustPlatform, lib, makeWrapper, patchelf, glibc, binutils }:
 
 rustPlatform.buildRustPackage {
   pname = "make-initrd-ng";
@@ -6,4 +6,11 @@ rustPlatform.buildRustPackage {
 
   src = ./make-initrd-ng;
   cargoLock.lockFile = ./make-initrd-ng/Cargo.lock;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    wrapProgram $out/bin/make-initrd-ng \
+      --prefix PATH : ${lib.makeBinPath [ patchelf glibc binutils ]}
+  '';
 }
diff --git a/pkgs/build-support/kernel/make-initrd-ng.nix b/pkgs/build-support/kernel/make-initrd-ng.nix
index 1890bbcd173..5f0a70f8a96 100644
--- a/pkgs/build-support/kernel/make-initrd-ng.nix
+++ b/pkgs/build-support/kernel/make-initrd-ng.nix
@@ -8,7 +8,7 @@ let
   # compression type and filename extension.
   compressorName = fullCommand: builtins.elemAt (builtins.match "([^ ]*/)?([^ ]+).*" fullCommand) 1;
 in
-{ stdenvNoCC, perl, cpio, ubootTools, lib, pkgsBuildHost, makeInitrdNGTool, patchelf, runCommand, glibc
+{ stdenvNoCC, perl, cpio, ubootTools, lib, pkgsBuildHost, makeInitrdNGTool, patchelf, runCommand
 # Name of the derivation (not of the resulting file!)
 , name ? "initrd"
 
@@ -72,7 +72,7 @@ in
   passAsFile = ["contents"];
   contents = lib.concatMapStringsSep "\n" ({ object, symlink, ... }: "${object}\n${if symlink == null then "" else symlink}") contents + "\n";
 
-  nativeBuildInputs = [makeInitrdNGTool patchelf glibc cpio] ++ lib.optional makeUInitrd ubootTools;
+  nativeBuildInputs = [makeInitrdNGTool patchelf cpio] ++ lib.optional makeUInitrd ubootTools;
 } ''
   mkdir ./root
   make-initrd-ng "$contentsPath" ./root
diff --git a/pkgs/build-support/kernel/make-initrd-ng/src/main.rs b/pkgs/build-support/kernel/make-initrd-ng/src/main.rs
index 1342734590f..294c570a374 100644
--- a/pkgs/build-support/kernel/make-initrd-ng/src/main.rs
+++ b/pkgs/build-support/kernel/make-initrd-ng/src/main.rs
@@ -6,7 +6,7 @@ use std::hash::Hash;
 use std::io::{BufReader, BufRead, Error, ErrorKind};
 use std::os::unix;
 use std::path::{Component, Path, PathBuf};
-use std::process::{Command, Stdio};
+use std::process::Command;
 
 struct NonRepeatingQueue<T> {
     queue: VecDeque<T>,
@@ -42,7 +42,6 @@ fn patch_elf<S: AsRef<OsStr>, P: AsRef<OsStr>>(mode: S, path: P) -> Result<Strin
     let output = Command::new("patchelf")
         .arg(&mode)
         .arg(&path)
-        .stderr(Stdio::inherit())
         .output()?;
     if output.status.success() {
         Ok(String::from_utf8(output.stdout).expect("Failed to parse output"))
@@ -51,16 +50,15 @@ fn patch_elf<S: AsRef<OsStr>, P: AsRef<OsStr>>(mode: S, path: P) -> Result<Strin
     }
 }
 
-fn copy_file<P: AsRef<Path> + AsRef<OsStr>, S: AsRef<Path>>(
+fn copy_file<P: AsRef<Path> + AsRef<OsStr>, S: AsRef<Path> + AsRef<OsStr>>(
     source: P,
     target: S,
     queue: &mut NonRepeatingQueue<Box<Path>>,
 ) -> Result<(), Error> {
-    fs::copy(&source, target)?;
+    fs::copy(&source, &target)?;
 
     if !Command::new("ldd").arg(&source).output()?.status.success() {
-        //stdout(Stdio::inherit()).stderr(Stdio::inherit()).
-        println!("{:?} is not dynamically linked. Not recursing.", OsStr::new(&source));
+        // Not dynamically linked - no need to recurse
         return Ok(());
     }
 
@@ -91,6 +89,17 @@ fn copy_file<P: AsRef<Path> + AsRef<OsStr>, S: AsRef<Path>>(
         }
     }
 
+    // Make file writable to strip it
+    let mut permissions = fs::metadata(&target)?.permissions();
+    permissions.set_readonly(false);
+    fs::set_permissions(&target, permissions)?;
+
+    // Strip further than normal
+    if !Command::new("strip").arg("--strip-all").arg(OsStr::new(&target)).output()?.status.success() {
+        println!("{:?} was not successfully stripped.", OsStr::new(&target));
+    }
+
+
     Ok(())
 }
 
@@ -200,7 +209,6 @@ fn main() -> Result<(), Error> {
         }
     }
     while let Some(obj) = queue.pop_front() {
-        println!("{:?}", obj);
         handle_path(out_path, &*obj, &mut queue)?;
     }
 
diff --git a/pkgs/build-support/make-darwin-bundle/default.nix b/pkgs/build-support/make-darwin-bundle/default.nix
index b8f58882fff..52dd54b0b2c 100644
--- a/pkgs/build-support/make-darwin-bundle/default.nix
+++ b/pkgs/build-support/make-darwin-bundle/default.nix
@@ -12,14 +12,14 @@
 
 writeShellScript "make-darwin-bundle-${name}" (''
   function makeDarwinBundlePhase() {
-    mkdir -p "$out/Applications/${name}.app/Contents/MacOS"
-    mkdir -p "$out/Applications/${name}.app/Contents/Resources"
+    mkdir -p "''${!outputBin}/Applications/${name}.app/Contents/MacOS"
+    mkdir -p "''${!outputBin}/Applications/${name}.app/Contents/Resources"
 
     if [ -n "${icon}" ]; then
-      ln -s "${icon}" "$out/Applications/${name}.app/Contents/Resources"
+      ln -s "${icon}" "''${!outputBin}/Applications/${name}.app/Contents/Resources"
     fi
 
-    ${writeDarwinBundle}/bin/write-darwin-bundle "$out" "${name}" "${exec}"
+    ${writeDarwinBundle}/bin/write-darwin-bundle "''${!outputBin}" "${name}" "${exec}"
   }
 
   preDistPhases+=" makeDarwinBundlePhase"
diff --git a/pkgs/build-support/ocaml/dune.nix b/pkgs/build-support/ocaml/dune.nix
index f82bac7d199..2ded76d3cd4 100644
--- a/pkgs/build-support/ocaml/dune.nix
+++ b/pkgs/build-support/ocaml/dune.nix
@@ -7,8 +7,8 @@ let Dune =
   { "1" = dune_1; "2" = dune_2; "3" = dune_3; }."${dune-version}"
 ; in
 
-if (args ? minimumOCamlVersion && ! lib.versionAtLeast ocaml.version args.minimumOCamlVersion) ||
-   (args ? minimalOCamlVersion && ! lib.versionAtLeast ocaml.version args.minimalOCamlVersion)
+if (args ? minimumOCamlVersion && lib.versionOlder ocaml.version args.minimumOCamlVersion) ||
+   (args ? minimalOCamlVersion && lib.versionOlder ocaml.version args.minimalOCamlVersion)
 then throw "${pname}-${version} is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/build-support/ocaml/oasis.nix b/pkgs/build-support/ocaml/oasis.nix
index 8f81344daf0..91daad59050 100644
--- a/pkgs/build-support/ocaml/oasis.nix
+++ b/pkgs/build-support/ocaml/oasis.nix
@@ -8,7 +8,7 @@
 }@args:
 
 if args ? minimumOCamlVersion &&
-   ! lib.versionAtLeast ocaml.version args.minimumOCamlVersion
+   lib.versionOlder ocaml.version args.minimumOCamlVersion
 then throw "${pname}-${version} is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/build-support/rust/build-rust-crate/build-crate.nix b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
index 42c5f6ab3c0..b5db1ffa7fb 100644
--- a/pkgs/build-support/rust/build-rust-crate/build-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
@@ -4,14 +4,15 @@
   crateFeatures, crateRenames, libName, release, libPath,
   crateType, metadata, crateBin, hasCrateBin,
   extraRustcOpts, verbose, colors,
-  buildTests
+  buildTests,
+  codegenUnits
 }:
 
   let
     baseRustcOpts =
       [
         (if release then "-C opt-level=3" else "-C debuginfo=2")
-        "-C codegen-units=$NIX_BUILD_CORES"
+        "-C codegen-units=${toString codegenUnits}"
         "--remap-path-prefix=$NIX_BUILD_TOP=/"
         (mkRustcDepArgs dependencies crateRenames)
         (mkRustcFeatureArgs crateFeatures)
diff --git a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
index 1a9705591d6..5129777c9d5 100644
--- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
@@ -2,6 +2,7 @@
 {
   build
 , buildDependencies
+, codegenUnits
 , colors
 , completeBuildDeps
 , completeDeps
@@ -24,7 +25,7 @@ let version_ = lib.splitString "-" crateVersion;
     version = lib.splitVersion (lib.head version_);
     rustcOpts = lib.foldl' (opts: opt: opts + " " + opt)
         (if release then "-C opt-level=3" else "-C debuginfo=2")
-        (["-C codegen-units=$NIX_BUILD_CORES"] ++ extraRustcOptsForBuildRs);
+        (["-C codegen-units=${toString codegenUnits}"] ++ extraRustcOptsForBuildRs);
     buildDeps = mkRustcDepArgs buildDependencies crateRenames;
     authors = lib.concatStringsSep ":" crateAuthors;
     optLevel = if release then 3 else 0;
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index 20b93b1921f..eea1e3baeec 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -228,6 +228,7 @@ crate_: lib.makeOverridable
         "colors"
         "edition"
         "buildTests"
+        "codegenUnits"
       ];
       extraDerivationAttrs = builtins.removeAttrs crate processedAttrs;
       nativeBuildInputs_ = nativeBuildInputs;
@@ -315,6 +316,7 @@ crate_: lib.makeOverridable
       colors = lib.attrByPath [ "colors" ] "always" crate;
       extraLinkFlags = lib.concatStringsSep " " (crate.extraLinkFlags or [ ]);
       edition = crate.edition or null;
+      codegenUnits = if crate ? codegenUnits then crate.codegenUnits else 1;
       extraRustcOpts =
         lib.optionals (crate ? extraRustcOpts) crate.extraRustcOpts
           ++ extraRustcOpts_
@@ -329,13 +331,13 @@ crate_: lib.makeOverridable
         inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription
           crateFeatures crateRenames libName build workspace_member release libPath crateVersion
           extraLinkFlags extraRustcOptsForBuildRs
-          crateAuthors crateHomepage verbose colors;
+          crateAuthors crateHomepage verbose colors codegenUnits;
       };
       buildPhase = buildCrate {
         inherit crateName dependencies
           crateFeatures crateRenames libName release libPath crateType
           metadata hasCrateBin crateBin verbose colors
-          extraRustcOpts buildTests;
+          extraRustcOpts buildTests codegenUnits;
       };
       installPhase = installCrate crateName metadata buildTests;
 
diff --git a/pkgs/build-support/rust/default-crate-overrides.nix b/pkgs/build-support/rust/default-crate-overrides.nix
index 841cad09efa..9f88e8a067b 100644
--- a/pkgs/build-support/rust/default-crate-overrides.nix
+++ b/pkgs/build-support/rust/default-crate-overrides.nix
@@ -170,7 +170,7 @@ in
   };
 
   security-framework-sys = attr: {
-    propagatedBuildInputs = [ Security ];
+    propagatedBuildInputs = lib.optional stdenv.isDarwin Security;
   };
 
   sequoia-openpgp = attrs: {
diff --git a/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh b/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh
index 72c1b973666..74c8f6d0b33 100644
--- a/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh
+++ b/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh
@@ -200,12 +200,12 @@ convertDesktopFile() {
     local -r iconName=$(getDesktopParam "${file}" "^Icon")
     local -r squircle=$(getDesktopParam "${file}" "X-macOS-SquircleIcon")
 
-    mkdir -p "$out/Applications/${name}.app/Contents/MacOS"
-    mkdir -p "$out/Applications/${name}.app/Contents/Resources"
+    mkdir -p "${!outputBin}/Applications/${name}.app/Contents/MacOS"
+    mkdir -p "${!outputBin}/Applications/${name}.app/Contents/Resources"
 
-    convertIconTheme "$out/Applications/${name}.app/Contents/Resources" "$sharePath" "$iconName"
+    convertIconTheme "${!outputBin}/Applications/${name}.app/Contents/Resources" "$sharePath" "$iconName"
 
-    write-darwin-bundle "$out" "$name" "$exec" "$iconName" "$squircle"
+    write-darwin-bundle "${!outputBin}" "$name" "$exec" "$iconName" "$squircle"
 }
 
 convertDesktopFiles() {
diff --git a/pkgs/build-support/testers/default.nix b/pkgs/build-support/testers/default.nix
index 1d1effa3730..8b79843b833 100644
--- a/pkgs/build-support/testers/default.nix
+++ b/pkgs/build-support/testers/default.nix
@@ -1,4 +1,18 @@
-{ pkgs, lib, callPackage }:
+{ pkgs, lib, callPackage, runCommand }:
+# Documentation is in doc/builders/testers.chapter.md
 {
   testEqualDerivation = callPackage ./test-equal-derivation.nix { };
+
+  testVersion =
+    { package,
+      command ? "${package.meta.mainProgram or package.pname or package.name} --version",
+      version ? package.version,
+    }: runCommand "${package.name}-test-version" { nativeBuildInputs = [ package ]; meta.timeout = 60; } ''
+      if output=$(${command} 2>&1); then
+        grep -Fw "${version}" - <<< "$output"
+        touch $out
+      else
+        echo "$output" >&2 && exit 1
+      fi
+    '';
 }
diff --git a/pkgs/build-support/testers/test-equal-derivation.nix b/pkgs/build-support/testers/test-equal-derivation.nix
index 652f3716b2a..610d5f58557 100644
--- a/pkgs/build-support/testers/test-equal-derivation.nix
+++ b/pkgs/build-support/testers/test-equal-derivation.nix
@@ -1,22 +1,5 @@
 { lib, runCommand, emptyFile, nix-diff }:
 
-/*
-  Checks that two packages produce the exact same build instructions.
-
-  This can be used to make sure that a certain difference of configuration,
-  such as the presence of an overlay does not cause a cache miss.
-
-  When the derivations are equal, the return value is an empty file.
-  Otherwise, the build log explains the difference via `nix-diff`.
-
-  Example:
-
-      testEqualDerivation
-        "The hello package must stay the same when enabling checks."
-        hello
-        (hello.overrideAttrs(o: { doCheck = true; }))
-
-*/
 assertion: a: b:
 let
   drvA = builtins.unsafeDiscardOutputDependency a.drvPath or (throw "testEqualDerivation second argument must be a package");
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index 1f9543f808e..bd14971fe78 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -784,41 +784,4 @@ rec {
     outputHash = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
     preferLocalBuild = true;
   } "mkdir $out";
-
-  /* Checks the command output contains the specified version
-   *
-   * Although simplistic, this test assures that the main program
-   * can run. While there's no substitute for a real test case,
-   * it does catch dynamic linking errors and such. It also provides
-   * some protection against accidentally building the wrong version,
-   * for example when using an 'old' hash in a fixed-output derivation.
-   *
-   * Examples:
-   *
-   * passthru.tests.version = testVersion { package = hello; };
-   *
-   * passthru.tests.version = testVersion {
-   *   package = seaweedfs;
-   *   command = "weed version";
-   * };
-   *
-   * passthru.tests.version = testVersion {
-   *   package = key;
-   *   command = "KeY --help";
-   *   # Wrong '2.5' version in the code. Drop on next version.
-   *   version = "2.5";
-   * };
-   */
-  testVersion =
-    { package,
-      command ? "${package.meta.mainProgram or package.pname or package.name} --version",
-      version ? package.version,
-    }: runCommand "${package.name}-test-version" { nativeBuildInputs = [ package ]; meta.timeout = 60; } ''
-      if output=$(${command} 2>&1); then
-        grep -Fw "${version}" - <<< "$output"
-        touch $out
-      else
-        echo "$output" >&2 && exit 1
-      fi
-    '';
 }
diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix
index 2eb021236f9..cf9362ca072 100644
--- a/pkgs/build-support/writers/default.nix
+++ b/pkgs/build-support/writers/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, config, buildPackages, lib, stdenv, libiconv, mkNugetDeps, mkNugetSource, gawk, gnused, gixy }:
+{ pkgs, config, buildPackages, lib, stdenv, libiconv, mkNugetDeps, mkNugetSource, gixy }:
 
 let
   aliases = if config.allowAliases then (import ./aliases.nix lib) else prev: {};
@@ -205,7 +205,7 @@ let
   writeNginxConfig = name: text: pkgs.runCommandLocal name {
     inherit text;
     passAsFile = [ "text" ];
-    nativeBuildInputs = [ gawk gnused gixy ];
+    nativeBuildInputs = [ gixy ];
   } /* sh */ ''
     # nginx-config-formatter has an error - https://github.com/1connect/nginx-config-formatter/issues/16
     awk -f ${awkFormatNginx} "$textPath" | sed '/^\s*$/d' > $out
diff --git a/pkgs/common-updater/git-updater.nix b/pkgs/common-updater/git-updater.nix
index edeb2dfb2c6..b68f4a29011 100644
--- a/pkgs/common-updater/git-updater.nix
+++ b/pkgs/common-updater/git-updater.nix
@@ -10,8 +10,8 @@
 , rev-prefix ? ""
 , odd-unstable ? false
 , patchlevel-unstable ? false
-# explicit url is useful when git protocol is used only for tags listing
-# while actual release is referred by tarball
+# an explicit url is needed when src.meta.homepage or src.url don't
+# point to a git repo (eg. when using fetchurl, fetchzip, ...)
 , url ? null
 }:
 
diff --git a/pkgs/common-updater/scripts/list-git-tags b/pkgs/common-updater/scripts/list-git-tags
index 176e647eb2e..86b4949f055 100755
--- a/pkgs/common-updater/scripts/list-git-tags
+++ b/pkgs/common-updater/scripts/list-git-tags
@@ -31,7 +31,7 @@ done
 # By default we set url to src.url or src.meta.homepage
 if [[ -z "$url" ]]; then
     url="$(nix-instantiate $systemArg --eval -E \
-               "with import ./. {}; $UPDATE_NIX_ATTR_PATH.src.url or $UPDATE_NIX_ATTR_PATH.src.meta.homepage" \
+               "with import ./. {}; $UPDATE_NIX_ATTR_PATH.src.meta.homepage or $UPDATE_NIX_ATTR_PATH.src.url" \
         | tr -d '"')"
 fi
 
diff --git a/pkgs/data/documentation/scheme-manpages/default.nix b/pkgs/data/documentation/scheme-manpages/default.nix
index 900f28edc8d..aaa7007d026 100644
--- a/pkgs/data/documentation/scheme-manpages/default.nix
+++ b/pkgs/data/documentation/scheme-manpages/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "scheme-manpages-unstable";
-  version = "2021-03-11";
+  version = "2022-04-21";
 
   src = fetchFromGitHub {
     owner = "schemedoc";
     repo = "manpages";
-    rev = "d0163a4e29d29b2f0beb762be4095775134f5ef9";
-    sha256 = "0a8f7rq458c7985chwn1qb9yxcwyr0hl39r9vlvm5j687hy3igs2";
+    rev = "e3faaa1b80b3493ee644958a105f84f2995a0436";
+    sha256 = "sha256-28e6tFRTqX/PWMhdoUZ4nQU1e/JL2uR+NjVXGBwogMM=";
   };
 
   dontBuild = true;
diff --git a/pkgs/data/fonts/amiri/default.nix b/pkgs/data/fonts/amiri/default.nix
index 9867b84757a..ffceeb6ac8f 100644
--- a/pkgs/data/fonts/amiri/default.nix
+++ b/pkgs/data/fonts/amiri/default.nix
@@ -1,14 +1,14 @@
 { lib, fetchzip }:
 
 let
-  version = "0.113";
+  version = "0.114";
 
 in fetchzip rec {
   name = "Amiri-${version}";
 
   url = "https://github.com/alif-type/amiri/releases/download/${version}/${name}.zip";
 
-  sha256 = "0v5xm4spyww8wy6j9kpb01ixrakw7wp6jng4xnh220iy6yqcxm7v";
+  sha256 = "sha256-6FA46j1shP0R8iEi/Xop2kXS0OKW1jaGUEOthT3Z5b4=";
 
   postFetch = ''
     unzip $downloadedFile
diff --git a/pkgs/data/fonts/annapurna-sil/default.nix b/pkgs/data/fonts/annapurna-sil/default.nix
new file mode 100644
index 00000000000..f14602eccf2
--- /dev/null
+++ b/pkgs/data/fonts/annapurna-sil/default.nix
@@ -0,0 +1,29 @@
+{ lib, fetchzip }:
+
+let
+  version = "1.204";
+in
+  fetchzip rec {
+    name = "annapurna-sil-${version}";
+
+    url = "https://software.sil.org/downloads/r/annapurna/AnnapurnaSIL-${version}.zip";
+
+    postFetch = ''
+      mkdir -p $out/share/{doc,fonts}
+      unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
+      unzip -j $downloadedFile \*OFL.txt \*OFL-FAQ.txt \*README.txt \*FONTLOG.txt -d "$out/share/doc/${name}"
+    '';
+
+    sha256 = "sha256-kVeP9ZX8H+Wn6jzmH1UQvUKY6vJjadMTdEusS7LodFM=";
+
+    meta = with lib; {
+      homepage = "https://software.sil.org/annapurna";
+      description = "Unicode-based font family with broad support for writing systems that use the Devanagari script";
+      longDescription = ''
+        Annapurna SIL is a Unicode-based font family with broad support for writing systems that use the Devanagari script. Inspired by traditional calligraphic forms, the design is intended to be highly readable, reasonably compact, and visually attractive.
+      '';
+      license = licenses.ofl;
+      platforms = platforms.all;
+      maintainers = [ maintainers.kmein ];
+    };
+  }
diff --git a/pkgs/data/fonts/comic-mono/comic-mono-weight.conf b/pkgs/data/fonts/comic-mono/comic-mono-weight.conf
new file mode 100644
index 00000000000..97cfa3d83fd
--- /dev/null
+++ b/pkgs/data/fonts/comic-mono/comic-mono-weight.conf
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+<fontconfig>
+    <!-- Fix missing/incorrect font weight data in Comic Mono. -->
+
+    <match target="scan">
+        <test name="fullname">
+            <string>Comic Mono</string>
+        </test>
+        <edit name="weight">
+            <const>book</const>
+        </edit>
+    </match>
+</fontconfig>
diff --git a/pkgs/data/fonts/comic-mono/default.nix b/pkgs/data/fonts/comic-mono/default.nix
new file mode 100644
index 00000000000..0c915f21c13
--- /dev/null
+++ b/pkgs/data/fonts/comic-mono/default.nix
@@ -0,0 +1,35 @@
+{ lib, fetchFromGitHub }:
+
+let
+  version = "2020-12-28";
+in fetchFromGitHub {
+  name = "comic-mono-font-${version}";
+
+  owner = "dtinth";
+  repo = "comic-mono-font";
+  rev = "9a96d04cdd2919964169192e7d9de5012ef66de4";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts
+    tar -z -f $downloadedFile --wildcards -x \*.ttf --one-top-level=$out/share/fonts
+
+    mkdir -p $out/etc/fonts/conf.d
+    ln -s ${./comic-mono-weight.conf} $out/etc/fonts/conf.d/30-comic-mono.conf
+  '';
+
+  hash = "sha256-poMU+WfDZcsyWyFiiXKJ284X22CJlxQIzcJtApnIdAY=";
+
+  meta = with lib; {
+    description = "A legible monospace font that looks like Comic Sans";
+    longDescription = ''
+      A legible monospace font... the very typeface you’ve been trained to
+      recognize since childhood. This font is a fork of Shannon Miwa’s Comic
+      Shanns (version 1).
+    '';
+    homepage = "https://dtinth.github.io/comic-mono-font/";
+
+    license = licenses.mit;
+    maintainers = with maintainers; [ an-empty-string totoroot ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/ezra-sil/default.nix b/pkgs/data/fonts/ezra-sil/default.nix
new file mode 100644
index 00000000000..8489ab03562
--- /dev/null
+++ b/pkgs/data/fonts/ezra-sil/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchzip }:
+
+let
+  version = "2.51";
+in
+  fetchzip rec {
+    name = "ezra-sil-${version}";
+
+    url = "https://software.sil.org/downloads/r/ezra/EzraSIL-${version}.zip";
+
+    postFetch = ''
+      mkdir -p $out/share/{doc,fonts}
+      unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
+      unzip -j $downloadedFile \*OFL-FAQ.txt \*README.txt \*FONTLOG.txt -d "$out/share/doc/${name}"
+    '';
+
+    sha256 = "sha256-1LGw/RPFeNtEvcBWFWZf8+dABvWye2RfZ/jt8rwQewM=";
+
+    meta = with lib; {
+      homepage = "https://software.sil.org/ezra";
+      description = "Typeface fashioned after the square letter forms of the typography of the Biblia Hebraica Stuttgartensia (BHS)";
+      license = licenses.ofl;
+      platforms = platforms.all;
+      maintainers = [ maintainers.kmein ];
+    };
+  }
diff --git a/pkgs/data/fonts/galatia-sil/default.nix b/pkgs/data/fonts/galatia-sil/default.nix
new file mode 100644
index 00000000000..99ae5802005
--- /dev/null
+++ b/pkgs/data/fonts/galatia-sil/default.nix
@@ -0,0 +1,29 @@
+{ lib, fetchzip }:
+
+let
+  version = "2.1";
+in
+  fetchzip rec {
+    name = "galatia-sil-${version}";
+
+    url = "https://software.sil.org/downloads/r/galatia/GalatiaSIL-${version}.zip";
+
+    postFetch = ''
+      mkdir -p $out/share/{doc,fonts}
+      unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
+      unzip -j $downloadedFile \*OFL.txt \*OFL-FAQ.txt \*FONTLOG.txt -d "$out/share/doc/${name}"
+    '';
+
+    sha256 = "sha256-zLL/7LMcJul2LilhEafpvm+tiYlgv1y1jj85VvG+wiI=";
+
+    meta = with lib; {
+      homepage = "https://software.sil.org/galatia";
+      description = "Font designed to support Biblical Polytonic Greek";
+      longDescription = ''
+        Galatia SIL, designed to support Biblical Polytonic Greek, is a Unicode 3.1 font released under the SIL Open Font License. The font supports precomposed characters rather than decomposed characters. Thus, you must use a keyboard that outputs NFC encoding (precomposed).
+      '';
+      license = licenses.ofl;
+      platforms = platforms.all;
+      maintainers = [ maintainers.kmein ];
+    };
+  }
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index 0d8f0a2eb6e..859dae4e49c 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -11,7 +11,7 @@ let
     (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
 in stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "15.0.1";
+  version = "15.2.0";
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix
index f67f97dfaaf..3e9e69ae9df 100644
--- a/pkgs/data/fonts/iosevka/variants.nix
+++ b/pkgs/data/fonts/iosevka/variants.nix
@@ -1,95 +1,95 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  iosevka = "1g8x2bjhnhiq46mx02rhp0wphi7rj21m1nh2gx6rxly2ybms3pnw";
-  iosevka-aile = "1hvrzycsilvjl3a90n2sk5sznkjvrn9r6yqaad397rbd309w46ai";
-  iosevka-curly = "0df15zbjs9xpqm5032vmjmnp4ay545bs4i8xr6rd37slb8a8x2bf";
-  iosevka-curly-slab = "0n57gz1v12l01khy3y0i0yd4w88jz6izwl4iav4679qjfhhd206c";
-  iosevka-etoile = "1mq1mqxkj5y3r9xwjy7pbrvnv72zkj2hnh48kac0xr414yrqql3n";
-  iosevka-slab = "0srnbwxj03is9d8q0y0k55dr35s747p8xbiz7xany5piljl68f42";
-  iosevka-ss01 = "1rm514g3x510dcpn9hn98kl2pv4h9rxmkgp2wvxxhg3s47x0462n";
-  iosevka-ss02 = "0p8h1khzxsi4c6wmwri9vvbcv2qy4nksnhmyhksb0b8yw22s9iyk";
-  iosevka-ss03 = "1rsw5gx5l5mi8ljvgrrir4bnhy8mvx3rkr9d4vba8wzvvqvc74nv";
-  iosevka-ss04 = "02rcdfrnhqdjlks26968mxsrdyfalk3h985bf9vi03sf9nqmmfpz";
-  iosevka-ss05 = "1qn323iawpvjqhmx6s7i8irjqkxq9yya5dxp87m452hq9zm2jynq";
-  iosevka-ss06 = "0zyg2afzmzdm7gd2c9i9vp751xapajabjm85sri3mcyvgkbcxqai";
-  iosevka-ss07 = "1qfalhxl2vxflwn3f73bdq5q1p8zblmswdfw5mrl3b5nzy8y40nw";
-  iosevka-ss08 = "0idj19nk7mq6z4yphmxa09c5azgxyi38zlq7y872s0dl9j2qbi5f";
-  iosevka-ss09 = "1zwwlb9c34q36kflc6r4wygv3rpkd7y6n1xpkql02w6rb1gp7nd9";
-  iosevka-ss10 = "0j01j7frkv2ldz3hqn65r3b56yn63fchhhkghs95v4cln27qzmxx";
-  iosevka-ss11 = "0imwzcxh7cqmqcsdlg5nay12jql8dq1hk0h7a0i1igrn3fflga5g";
-  iosevka-ss12 = "0z5smyxx5szz5ky4lxmscf44a5pzkjm590cihmcnjw3nxiw84bs1";
-  iosevka-ss13 = "0pyq12n7h1adhs5rbkrx9b64rpwvd9nj8vjmwzf3qmdc39bx6rfv";
-  iosevka-ss14 = "0v3aipgvw1ygs6v839cw17arm5iag57aqdkr35n0wx3yl5h3v9wg";
-  iosevka-ss15 = "0vhwi4b2nmshx7lh5d4fr3swfx58sxwn6w38kvp5p27jp68azbbz";
-  iosevka-ss16 = "1rzrd0swjaacbjpxniglkkwsn4dfhvb8f70g8nigc2mah3md62gp";
-  iosevka-ss17 = "184acjrqdlw38lzizwxp02lwmc8jznrb55krlvrxkd2lkj4r6gni";
-  iosevka-ss18 = "0sza6q6yisjsk5gkkj1z7qbrhpvqv18nykgdwqraa3im66bkl1v9";
-  sgr-iosevka = "1n1i12d9891il20ry3vkv5503d9j541w17imh09dbn5r0lrjr40r";
-  sgr-iosevka-aile = "0y1nx1xk7fn8dj5jc6zyva593vdxngjc61j717jlqh855fpz5v04";
-  sgr-iosevka-curly = "03x2w2arkbhnpl3rlsdgpldqnfrd14q55kf5rf5lsrnmdndg706s";
-  sgr-iosevka-curly-slab = "0vncsw3k56cqzpp5rpllz4azklib0vq7rah0ssz2syh43zffsyw3";
-  sgr-iosevka-etoile = "0plk2c7ckxm0f7aa9wd1qpi3dfb2gap0222jhx906clx04kb6bp0";
-  sgr-iosevka-fixed = "147qjfqwdr0l29ljbn0c73m2wg1vm9qdn5fjika8z1wy7mbrmbsl";
-  sgr-iosevka-fixed-curly = "1222ms9kpgcah531ik7h9qkprpq4dd98p41xrsxad3hvr4aa6x05";
-  sgr-iosevka-fixed-curly-slab = "1fcg0afhan0ym15c10qikfa4hadgzj0aabymac0qq74l5dn8lmx7";
-  sgr-iosevka-fixed-slab = "174xgxrwy50gnm53qhr9mf5cwkbwgalw6ypbz6r68fhyk70dbjvx";
-  sgr-iosevka-fixed-ss01 = "16wpj0yvkavhlvz5xzfa5mr219wlynqlfg1am1y1b9w647ypx6q6";
-  sgr-iosevka-fixed-ss02 = "1ya9riiiphv6fmirg5r0va06xvcgq8j41vmibqrzld7sjk26yrll";
-  sgr-iosevka-fixed-ss03 = "1l6dc7sl5a9p076a7jp2lfwrn1xh0rlp8v3d9k5m9gjghr62b288";
-  sgr-iosevka-fixed-ss04 = "1fmbdjgkvaw30x9wycdfzk9n9c1a2vznx8fnxc3xjps4xw5vd4h3";
-  sgr-iosevka-fixed-ss05 = "1f66q69wgqxqzkf5r54cjqg66lnfpk7w9lf1hk59v3vmxjxy39xh";
-  sgr-iosevka-fixed-ss06 = "1lfjnjn3k6wj03gxpvzc73zj98iy0x447pigxln911ai3v2mcmz5";
-  sgr-iosevka-fixed-ss07 = "0567x6rvikpn2cn9prrym0rlw5swa4rb7wihmhpgal64ygysipq4";
-  sgr-iosevka-fixed-ss08 = "0b81a3841c2fdfrpsiq8cyly9mzrk0974na53b505wasj5jvikqb";
-  sgr-iosevka-fixed-ss09 = "1p5w7m5r11m94icyv8fnwzmpnsih9s8p8iq8hg6iasawqzh60ll3";
-  sgr-iosevka-fixed-ss10 = "0c0dhi2c84km1vhbiifv95x4yf03jz12jax2vvc68hhi3w4gmg68";
-  sgr-iosevka-fixed-ss11 = "10jp3i36sv4jl2887g1ir1dc2gy1iyhzf2f396jchi5dadzfpgwj";
-  sgr-iosevka-fixed-ss12 = "14pq3l6241ylpxlx2n483g1ghlhqahk8dla0frvb572k0bvl4vh5";
-  sgr-iosevka-fixed-ss13 = "0js73rildzz24v4alj2xfl5n5wvmlxk18qzdchzrb78lq6bifvvd";
-  sgr-iosevka-fixed-ss14 = "0f47d6khi5kr10xlm61pbwr1xk5kqgj82abcaxmvbf5c3jj3v1lr";
-  sgr-iosevka-fixed-ss15 = "1nkyfmx4ps8mbnz7ap0vzgwgrxm6nbi4fhvalr6w2dk521inyfn7";
-  sgr-iosevka-fixed-ss16 = "0fykkgksdmni80v3q513xwxnay9l73viwj9qbn4bc58ljzd5hffr";
-  sgr-iosevka-fixed-ss17 = "09n1vl8m2drg5zs05hvdp7yy47a9s927a8ndxqsa34klanz7c04j";
-  sgr-iosevka-fixed-ss18 = "1rmfnnsi9c6alifhnfa4yc9gfgk687zxhrsyrjizwg9r19b2k34m";
-  sgr-iosevka-slab = "1nffh7iy3gn5v2yqilq57x6nvk25jh9jmbdmdfyra19nwfn601ja";
-  sgr-iosevka-ss01 = "1nwl7psz11jnyldry3wa3wfki28wghqq8f7vz8gmmcvv98caga80";
-  sgr-iosevka-ss02 = "1clk233v4ycfqmbv7whmbvm2l1qr1kf75kdca1r4c5y4wjmsh1ap";
-  sgr-iosevka-ss03 = "1lxn8hgz0qxs39d1jvr855h8zi3dv1k56v99q0ivrnp5y7aclia5";
-  sgr-iosevka-ss04 = "03nz6864i5s6gpjy7jjj52062ivd57wh90j6p8x4lj72479fwfsy";
-  sgr-iosevka-ss05 = "1bfgdnc44vmj3hxifz0kb5bfbv3bj9dglp4l7p781chi0m9yrmm8";
-  sgr-iosevka-ss06 = "1zcqq2kv080xsfll6zap3hm2l0kx6sr378iq7qrfpavmfifc3rk8";
-  sgr-iosevka-ss07 = "1phy7gdx5j5rww54mmzvi5f401lxqxxrwmh0hrhl0bvsxybhdcgm";
-  sgr-iosevka-ss08 = "1wyznlzpbv8vb1sny4f1v8x4azfbcp2ajml4aram9k9cx3zkvd8s";
-  sgr-iosevka-ss09 = "0q4sla496pdhfv4v15y5ax0h4pr4n47bfrvs27lq26x4p1fhgwdg";
-  sgr-iosevka-ss10 = "1iyr4vfs2dp26vi26libv5k18mvdnfzmwmvzdczkh8cyc9hwp36d";
-  sgr-iosevka-ss11 = "083pfql4nlq2847csqskb2qxrsnlvfwz198ybnfd97lxa1zczj6k";
-  sgr-iosevka-ss12 = "08isy55m7dqpyhbzf5jkamnr8c135850dwpqp380g991h5sp3vnm";
-  sgr-iosevka-ss13 = "1vjv198pkvnnxxcbyc5fy54ld4phf52nhybqc9hyf8d7806wrvyn";
-  sgr-iosevka-ss14 = "1y4iclzcfb2q0172xag3zqabw03q89jqb7asi0x9zkrhcd1i512y";
-  sgr-iosevka-ss15 = "1zxxn6s418gpx2ndknqdwp132p0sr3smsqhavpl5kw5cxrgxa9q6";
-  sgr-iosevka-ss16 = "132xmf4rlsa3d0j2s9hmfih6s32wm1na0hs72h7padnh6c7di3rl";
-  sgr-iosevka-ss17 = "1bb94ladk0qvzmvb2gc1561xfy7ddgqkqgcgigkkhdab7cfw0cxq";
-  sgr-iosevka-ss18 = "15rrngd4qnzqk06whczsmfdf5c1k3nm4m8ga691i1rjxwc5dwycc";
-  sgr-iosevka-term = "09m74mqczkm0pirahlisdw2mafyzq7wpzplyqg51221x2m01px7z";
-  sgr-iosevka-term-curly = "19ralig26akrabclnniwvimqkcrd0agcwyxakinb7qcbm8p4x30x";
-  sgr-iosevka-term-curly-slab = "01zwrlkrp840ah5fclxxl17vckcx4wnv3vwlz6nch2igy965k6qs";
-  sgr-iosevka-term-slab = "0520d21x04fvc2b3aa6kzdhwvf24s8yd8vkbl400i0x78gyrlnzv";
-  sgr-iosevka-term-ss01 = "0q64vcp4djk0mdfc05a9bz0nqc2a7dr0gdvj2d2kfpbqsg4i32qq";
-  sgr-iosevka-term-ss02 = "0h8a4wc5ck1p7gaf1r08h4irj10kqbpm2jkb2p63gybi9gp6ivwg";
-  sgr-iosevka-term-ss03 = "0608yhvkbv1hkdj7c347r9q7wbm9bvy6lnhhs6gb0ndkx596pnzm";
-  sgr-iosevka-term-ss04 = "1yfpkczgfjfr52ilinzi2dfyw11mmsilxjpl9r9yh0fxmr48c976";
-  sgr-iosevka-term-ss05 = "1brrfhkj7wlyhfdfhafkqw8kgsfy7fsi7567ayxii5b05wn9g6mr";
-  sgr-iosevka-term-ss06 = "0vksv1k9wvyfiifxnajvmi8b5mx8w72d80y3r9ic7rz36l0rbl3x";
-  sgr-iosevka-term-ss07 = "0n5hz3zdp7flbr2xh4yddwkxvpcd0v55m274w15s9q6wln0knwhy";
-  sgr-iosevka-term-ss08 = "1qknqr11imcrr0iqpa9qpf70m7505wl81k48igdyqgmimgksrlji";
-  sgr-iosevka-term-ss09 = "1j53n5fv2y97bj7n4kx8h8v5isflbmgdqh0hz58ilp06v6rd6j5i";
-  sgr-iosevka-term-ss10 = "1bzi39n4x4qa7vyhv5yh875n8gbyjkiaqfhj2xh8pj88b8064cw0";
-  sgr-iosevka-term-ss11 = "0xxyh1zxy1jdy0b110f7rallhf0vicsw0snyh3bf3v0mnkimk0y4";
-  sgr-iosevka-term-ss12 = "1hpbpqnkd4jzcqkg424y3d6i6nn5gyqlpqsfxrvfvx4igmm75vs5";
-  sgr-iosevka-term-ss13 = "12fg2j5xw6vcpczc5kgq6q29cq579l1wyv5ag9r4kxqg541s3frl";
-  sgr-iosevka-term-ss14 = "02qkmzr5kn5p69nqk59j6431313apy861yphbzpy56k4g80j0gy4";
-  sgr-iosevka-term-ss15 = "0pcb91b8iic6blsgz0sw5hv2d9add355dizpvhc6m8rmp6l5pnqq";
-  sgr-iosevka-term-ss16 = "081g07cav6k36k78bmdrx0z9jj2xzx3p1midzsxgsqp3ns2qxk7s";
-  sgr-iosevka-term-ss17 = "1bx7mx75344i4807aq1xk0rw03hnv24wn3kj247hv3b1lxx14285";
-  sgr-iosevka-term-ss18 = "068vy78d710aszk5s9kwf56rxg17qm8pphd329cmwknxsyan139g";
+  iosevka = "0yyz8vmpi8pww0p9na564lvbkwhdhpk4bcyrli91dn5gq0pc1pvv";
+  iosevka-aile = "1lciycahvxgvmcniq4h3m1v3rc42nmv8ydb0fpbl9g4sc0qp81hq";
+  iosevka-curly = "02jvrj7kzd4bx3maj1bq2p9j746b8c5713d8lqkxx4fn9fm0zppq";
+  iosevka-curly-slab = "1bhvf95xs74wm8srsvl4yxwvl36llk93mpl1y9acc5z9rdcpzjqq";
+  iosevka-etoile = "1zmgfxfsbxv1k4fwnc7g2jlfhmlzp5kap8m3f10fqanpnkd0yf08";
+  iosevka-slab = "1qy86kdl6lgq5k1qb97adibpfjm4vg1wdnxbqizhqka5bc7avyzb";
+  iosevka-ss01 = "1k451iv9fvp86arw0z685xyixlkpnsg3mxl6k9s47xxf9r82ab2a";
+  iosevka-ss02 = "066l1jamvlnksl1jn4l5qqll4wi19w0jr9x7bw0lpdic9478cs8g";
+  iosevka-ss03 = "0qh5ds9s7rghmar90ymxvcninmcm2hc05f83ixjadjfg9a27sff7";
+  iosevka-ss04 = "1zl2m68wqync8n93n06yj49r6n652yakrvdcsdvqm3agajnz0wnk";
+  iosevka-ss05 = "0rxakr04kwrwjfq7a6y2vdyjfgn162d8353pn7nc9wsfyrjbqpc2";
+  iosevka-ss06 = "0lfv6cvqy1mcn7zds7c6w68ky4y3clmvxcrg5knilm7sfql1jis1";
+  iosevka-ss07 = "1cc15rnnq2vzp22p8ld94jl2lyn6k8bra5792yqvyg23lf493jk2";
+  iosevka-ss08 = "0ysrq40kpvgfiapk1x9nzvvd81r0kyl1jlywwhmm3f4qca86a3ja";
+  iosevka-ss09 = "1535y8gmlkd1nqywcbmp7x9y9ahmskmwgs138baaj642jbq85l1b";
+  iosevka-ss10 = "01z7nwyqqda6jw819ajr9cd691yxd0b3irj4amdwnl6b46a278q7";
+  iosevka-ss11 = "0zi2n6h7jqf4vbg6r5vjzk0y8fj1lfjifsa1s3j0dmgs05m2bzc8";
+  iosevka-ss12 = "1h5bw4fp6kgszzwd9dpi461yf3mnkm0b5cgpaliyl2qpd8jivmm1";
+  iosevka-ss13 = "06v5angxqnbz9a53358ls0w78ib1d57g3svnfyplw7ynd0rrvw93";
+  iosevka-ss14 = "0ic0hh6xh1pl1jzkmp1ddbzhvfzislimlgwsdcnimzxk6ga5k44j";
+  iosevka-ss15 = "1mg363g47j90z00dpha81jk0n2ck59ca172g165m7cmz1bb425iq";
+  iosevka-ss16 = "0bs3rhwgnv9cwzgmsgzgjgv6awz5igxcvq64xpycw0dp17wbfl1z";
+  iosevka-ss17 = "0ssi56j8jdkhpsq7acczy3z9v8q3amr6a6jxv49rd4473fxzh3zc";
+  iosevka-ss18 = "13s77f1ki09szpa64qb00421kj2n5q2lv0vb2ahnlvphsbgik1j6";
+  sgr-iosevka = "0pqhpm13q23f82lkcimk8pinm41j6xmdlqxmfzg1y7m50gzdm10r";
+  sgr-iosevka-aile = "1malyfkc9dd552p04vq2b2nlv613pjzw84q8gnlpy8bycgx5np3s";
+  sgr-iosevka-curly = "0b8gnk8hsily9wp91hi66xjyj5hwqcab7j64x1xzzdc7fnfaz0qq";
+  sgr-iosevka-curly-slab = "0i9k38a7fb9z6jwds92kz3pgf1ryjz1m12ad1mslwq82kwy00h3f";
+  sgr-iosevka-etoile = "0rw4dhivxf3yls28zs34xia56dzx1w2as2j619ji36dpmh1v3ljn";
+  sgr-iosevka-fixed = "1zcr7zcpca5bhgaisjjlbn7zn1ih6mz6k4nj27y4ya8hnasfqxlh";
+  sgr-iosevka-fixed-curly = "17jvx2rvfqx6ip8h8srr6iwy55nnwvkrrflr4hxdyv8ggi8d8y7d";
+  sgr-iosevka-fixed-curly-slab = "01s3wz0r2wmybws96s1mcplx7zrbciqabsgaa5jy4kwn8rg0ajpi";
+  sgr-iosevka-fixed-slab = "1xbsrywi413r6gkmwc11yw8pkrc6hkf5309dfr25qwnn6c8wvqiy";
+  sgr-iosevka-fixed-ss01 = "17776y4lv7vyqhcanmayvksh85v0907vys4f3hpxjbw86497f4zj";
+  sgr-iosevka-fixed-ss02 = "0cwz8bfj05vr2800r35nd8d7r05hr4fd2wbx26dga3qnddawcgbp";
+  sgr-iosevka-fixed-ss03 = "1df1aigpy5g46g68l9fln2af4fafl9fs197nz49biw66ndraym4c";
+  sgr-iosevka-fixed-ss04 = "02g22kfd4nw8cvfkcjw9mixvw2abfzpbalcwcqidyn8qd3s51x1v";
+  sgr-iosevka-fixed-ss05 = "12zwmzh0ilclkpw18lqkp4dpawngwf21ah90ywi3spzl9whqk5wc";
+  sgr-iosevka-fixed-ss06 = "01ajn8gwqljx8da9fv9dlawwafcnqvf9pld9h8lygrg67kf3p1j6";
+  sgr-iosevka-fixed-ss07 = "000sk29gfp9z7690880kixmk08swnwpp8zs89idgpg5qhs5479qm";
+  sgr-iosevka-fixed-ss08 = "1fcw4wmz12ar5hy3r5hmagwss46yjsckk4hxhjfphbapznmyw2dx";
+  sgr-iosevka-fixed-ss09 = "0jxpf854njzjw7r1q1jaizbfhaal7idhs9v5l64c03q40s2cycxr";
+  sgr-iosevka-fixed-ss10 = "0n40gl7ygcc03n6673rkjdfqshd6fx7f0a831fz007s61c38rdl9";
+  sgr-iosevka-fixed-ss11 = "0r0wlmpa5nmgwx92f6x2jimgyh5x05id39wsmxpyhjfrl4dchkgm";
+  sgr-iosevka-fixed-ss12 = "02dvkr2vim8zyd1gngjk41bbg5ncjr6yfxigy5l9gjm64x6q2szz";
+  sgr-iosevka-fixed-ss13 = "14vz894yxw5252krpwh9981hmslwmyxdgp96kpq37lp35w7bhkc0";
+  sgr-iosevka-fixed-ss14 = "0jaz1g89dj27s3xgcginxx4s3kr7114x7wqqda96jyc1zrg79am4";
+  sgr-iosevka-fixed-ss15 = "1h12kcik341vp3yra8izcbj3490payjqy8b0y739s4bj6zmx7zb3";
+  sgr-iosevka-fixed-ss16 = "0yiyxbi1snd33ys8ip29xprwm0876j818g3fr2g6d955lp94crkp";
+  sgr-iosevka-fixed-ss17 = "1sv4zf5w7amhd591cjky7z2fc90hiiwj1g987scwcbvc0fb5gj86";
+  sgr-iosevka-fixed-ss18 = "09yh76152ar2lkw1gavd9x5i6a6vswhw9qyic0zixzr2rmcm2j35";
+  sgr-iosevka-slab = "0xdljj5bh4jsbwjgicpbi91hkjqvzxis9asd4g0vy3qqdr393i9k";
+  sgr-iosevka-ss01 = "0fllywsy23d6nfvgpb98af76cwbq8pizjvcah0p8j4qql6353d5y";
+  sgr-iosevka-ss02 = "0mlp4l3bbm2rm9gjb4pa8k730x3yb85qck7a1n5wdfz881mz6z59";
+  sgr-iosevka-ss03 = "0kcimy2i28a82s74987f6dxkdxzr06fzsi6rb7wz5v4rn5v7vmm9";
+  sgr-iosevka-ss04 = "0ynrq7di10349lfqm34vzr6z9z5hx6lz4q2z73ri91si224qsgih";
+  sgr-iosevka-ss05 = "1p2062x9wd5kkas3j5aqkx7r4asm2727i0sjf207w4lh3r37k9by";
+  sgr-iosevka-ss06 = "0zcpnw5mk3js5rc0cgpn5fncqqwf5s032z04xbaagzsmp7f3f1p9";
+  sgr-iosevka-ss07 = "09h686i2jq2p9i0684kjmsfgdpfwkbncbg3zxhz4m1x4wpfblhk8";
+  sgr-iosevka-ss08 = "0jbzr6saijbmbj1dkc4djawr75agp2c8krsnwskqr9dhisrmnjfk";
+  sgr-iosevka-ss09 = "10ffzi57gibz6w7yn4ign8vn6cagc680jrv81aqdkgav2bx71z9g";
+  sgr-iosevka-ss10 = "0d0wn7564zyvfk79hfqgnm3aa94k8xbddgmmxpq5jk918a1m6614";
+  sgr-iosevka-ss11 = "1zmbnhr1jz53yhighcn8dkj72s4y66ma61qjf5y3z64j7ql99kxi";
+  sgr-iosevka-ss12 = "06czjy90yx7pv958agwwnwn2vpfv1ha2j90bmcjg2c6shvnz5hsr";
+  sgr-iosevka-ss13 = "19k47hb167l6jsymznivdy6mgz228vcc4r5mzjjcszy4ba6n5qvg";
+  sgr-iosevka-ss14 = "0nkj7jmpbwfq7pl7s3ih30zs0szqf7xsbjn70w5i5x2g8fc3sffj";
+  sgr-iosevka-ss15 = "18l78cg3vxibngdbx2ikqhgz1v499ihf7bmdd5w92wrkkjgd0q8m";
+  sgr-iosevka-ss16 = "00mn81r50aw3ymp3mnwb8j6z6n98y03z0g5b8jfybpah65rgsrra";
+  sgr-iosevka-ss17 = "07vpvldkph4wn50vj5179h6zrw7vaf9mylksscw4wyqalinhiiqk";
+  sgr-iosevka-ss18 = "1h0jq8d2lbh0lfsmqcwbw6q9fbhbfrnn3c58xnknr9ys32xc88l2";
+  sgr-iosevka-term = "1j7sv5k4pbrq278nwfxshw23f7hdigy90w82a11s8nkq5b7f81wd";
+  sgr-iosevka-term-curly = "1v3vcvq6p4a3y1alkg45l2jipf0mwsv4x57yxl0dd41fb30araxw";
+  sgr-iosevka-term-curly-slab = "05is4yw7v32yf1h3b5j86wmz0x9fgbp5q99jw2zgn5lmv8x71dgh";
+  sgr-iosevka-term-slab = "1a0fn07ykx93y2myxdmg4xnz67dwmdl66n8la8x1h502b4hacqpl";
+  sgr-iosevka-term-ss01 = "1bwnyd6g0c185ny3d34pza1szc8pzkj15hk76g7s3jancgyajcj8";
+  sgr-iosevka-term-ss02 = "17srbkd4pbr2wwzcw6ycm1c4n5jlk4p5wlm1baqfzvffldbp609k";
+  sgr-iosevka-term-ss03 = "1w9ydkm0lsd0chyhi3b24n6syns55jwgnxkbnn7z7hh9llglplsj";
+  sgr-iosevka-term-ss04 = "1znabmm2plb5w5f8qj61shzm4v6kdqdak547j64w768g6pgc61hh";
+  sgr-iosevka-term-ss05 = "0pg3zannb29pxbfcjarj39my2lhwnid3yr7sbhk5i6sxy8klwjdv";
+  sgr-iosevka-term-ss06 = "0n25hc5gfi4zcc2zr0r5zh0q8v16z8ak2iphh5406pdgj3n9lmi9";
+  sgr-iosevka-term-ss07 = "0kmv8p689wf3mpiaq3749a3361nsckg0v4hsaw2mlshvhp4159h4";
+  sgr-iosevka-term-ss08 = "04g0q2pgimj73hgxr9nv8qmbc6n6fsadhy5x3l3cwcw7wh7s0g37";
+  sgr-iosevka-term-ss09 = "19qssfrmkvdq7bl0bg3a9v6sgnn2hg93kq0qh4j9chr7ffxnlmb2";
+  sgr-iosevka-term-ss10 = "1qc3cfw9f959h1gafhsddrlw2cbvazv17yllsj6rw4rff3bqscaq";
+  sgr-iosevka-term-ss11 = "1jbz5qg2vgrqmhbz8yvmampv7zkmksilvd7y2zrz4h5s2jbr32sg";
+  sgr-iosevka-term-ss12 = "0afcjcpb4dw4d3dggm82yls09rl71x4jqavbil4z7br96vgipdg9";
+  sgr-iosevka-term-ss13 = "04zbhi5mpycb9c6gf5ci1h6pbghy8vmajmzifcpg8d0fb9vyz370";
+  sgr-iosevka-term-ss14 = "0bps3zgarjdq5xn92rgdasnhcqlrmxwpa4bv9wr40df7zxhlvkr4";
+  sgr-iosevka-term-ss15 = "0ylxgmrsl596zdlph2f2lcfy9a37wi0x7418y53g43bdd33kcpxp";
+  sgr-iosevka-term-ss16 = "1ql8x3r19sa36424wijrzxnl3mfz7rjnwlavd0bz8qinfdvjvdsf";
+  sgr-iosevka-term-ss17 = "0plhqk7j64wfs61snly0m49lghk4srmribfqlzdk9xrvnv9h7zv1";
+  sgr-iosevka-term-ss18 = "1h7z1cnd4ia1pbyj5sq1718z8n747cq8kdy97c4vdmw6gjl8wp5x";
 }
diff --git a/pkgs/data/fonts/kacst/default.nix b/pkgs/data/fonts/kacst/default.nix
new file mode 100644
index 00000000000..38f85d2ad0f
--- /dev/null
+++ b/pkgs/data/fonts/kacst/default.nix
@@ -0,0 +1,22 @@
+{ fetchzip, lib }:
+
+let
+  version = "2.01";
+in
+fetchzip {
+  name = "kacst-${version}";
+  url = "mirror://debian/pool/main/f/fonts-kacst/fonts-kacst_${version}+mry.orig.tar.bz2";
+  sha256 = "sha256-pIO58CXfmKYRKYJ1oI+tjTwlKBRnkZ/CpIM2Xa0CDA4=";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts
+    tar xjf $downloadedFile --strip-components=1 -C $out/share/fonts
+  '';
+
+  meta = with lib; {
+    description = "KACST Latin-Arabic TrueType fonts";
+    license = licenses.gpl2Only;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/lao/default.nix b/pkgs/data/fonts/lao/default.nix
new file mode 100644
index 00000000000..abe359410b3
--- /dev/null
+++ b/pkgs/data/fonts/lao/default.nix
@@ -0,0 +1,22 @@
+{ fetchzip, lib }:
+
+let
+  version = "0.0.20060226";
+in
+fetchzip {
+  name = "lao-${version}";
+  url = "mirror://debian/pool/main/f/fonts-lao/fonts-lao_${version}.orig.tar.xz";
+  sha256 = "sha256-Ti3DNOgLR5VBJ1mSe8M+qs4UYbCR7qOPgqxRfmHa+jY=";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts
+    tar xf $downloadedFile --strip-components=1 -C $out/share/fonts fonts-lao-${version}/Phetsarath_OT.ttf
+  '';
+
+  meta = with lib; {
+    description = "TrueType font for Lao language";
+    license = licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/times-newer-roman/default.nix b/pkgs/data/fonts/times-newer-roman/default.nix
index 6122883c615..4bfe358d13e 100644
--- a/pkgs/data/fonts/times-newer-roman/default.nix
+++ b/pkgs/data/fonts/times-newer-roman/default.nix
@@ -19,7 +19,7 @@ fetchzip {
     description = "A font that looks just like Times New Roman, except each character is 5-10% wider";
     homepage = "https://timesnewerroman.com/";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ samuelgrf ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/uni-vga/default.nix b/pkgs/data/fonts/uni-vga/default.nix
index 56ba36b1eb4..fea90e8b8e7 100644
--- a/pkgs/data/fonts/uni-vga/default.nix
+++ b/pkgs/data/fonts/uni-vga/default.nix
@@ -2,8 +2,6 @@
 , libfaketime, fonttosfnt, mkfontscale
 }:
 
-with lib;
-
 stdenv.mkDerivation {
   name = "uni-vga";
 
@@ -15,7 +13,7 @@ stdenv.mkDerivation {
   nativeBuildInputs =
     [ bdftopcf libfaketime
       fonttosfnt mkfontscale
-    ] ++ optionals stdenv.isLinux [ perl kbd ];
+    ] ++ lib.optionals stdenv.isLinux [ perl kbd ];
 
   postPatch = "patchShebangs .";
 
@@ -26,7 +24,7 @@ stdenv.mkDerivation {
     # convert bdf font to otb
     faketime -f "1970-01-01 00:00:01" \
     fonttosfnt -v -o u_vga16.otb u_vga16.bdf
-  '' + optionalString stdenv.isLinux ''
+  '' + lib.optionalString stdenv.isLinux ''
     # convert font to compressed psf
     ./bdf2psf.pl -s UniCyrX.sfm u_vga16.bdf \
       | psfaddtable - UniCyrX.sfm - \
@@ -42,14 +40,14 @@ stdenv.mkDerivation {
     install -m 644 -D *.bdf -t "$bdf/share/fonts"
     mkfontdir "$bdf/share/fonts"
 
-  '' + optionalString stdenv.isLinux ''
+  '' + lib.optionalString stdenv.isLinux ''
     # install psf (for linux virtual terminal)
     install -m 644 -D *.psf.gz -t "$out/share/consolefonts"
   '';
 
   outputs = [ "out" "bdf" ];
 
-  meta = {
+  meta = with lib; {
     description = "Unicode VGA font";
     maintainers = [ maintainers.ftrvxmtrx ];
     homepage = "http://www.inp.nsk.su/~bolkhov/files/fonts/univga/";
diff --git a/pkgs/data/icons/comixcursors/default.nix b/pkgs/data/icons/comixcursors/default.nix
index aa744878bcb..2b52b703353 100644
--- a/pkgs/data/icons/comixcursors/default.nix
+++ b/pkgs/data/icons/comixcursors/default.nix
@@ -90,31 +90,11 @@ stdenv.mkDerivation rec {
       opacity, edge thickness, and right- or left-handedness, for this cursor
       theme.  This package's derivation has an output for each of these
       variants, named following the upstream convention, and the attribute for
-      an output must be used to install a variant.  E.g.:
-      <programlisting language="nix">
-      environment.systemPackages = [
-        comixcursors.Blue
-        comixcursors.Opaque_Orange
-        comixcursors.Slim_Red
-        comixcursors.Opaque_Slim_White
-        comixcursors.LH_Green
-        comixcursors.LH_Opaque_Black
-        comixcursors.LH_Slim_Orange
-        comixcursors.LH_Opaque_Slim_Blue
-      ];
-      </programlisting>
-
-      Attempting to use just <literal>comixcursors</literal>, i.e. without an
-      output attribute, will not install any variants.  To install all the
-      variants, use <literal>comixcursors.all</literal> (which is a list), e.g.:
-      <programlisting language="nix">
-      environment.systemPackages = comixcursors.all ++ [...];
-      </programlisting>
-
-      The complete list of output attributes is:
-      <programlisting>
-      ${concatStringsSep "\n" variants}
-      </programlisting>
+      an output must be used to install a variant,
+      e.g. `comixcursors.LH_Opaque_Slim_Blue`.  Attempting to use only
+      `comixcursors`, i.e. without an output attribute, will not install any
+      variants.  To install all the variants, use `comixcursors.all` (which is a
+      list).
     '';
     homepage = "https://gitlab.com/limitland/comixcursors";
     changelog = "https://gitlab.com/limitland/comixcursors/-/blob/HEAD/NEWS";
diff --git a/pkgs/data/icons/luna-icons/default.nix b/pkgs/data/icons/luna-icons/default.nix
index 99c31edd2fd..ed87d6a8ad8 100644
--- a/pkgs/data/icons/luna-icons/default.nix
+++ b/pkgs/data/icons/luna-icons/default.nix
@@ -5,17 +5,18 @@
 , breeze-icons
 , hicolor-icon-theme
 , pantheon
+, gitUpdater
 }:
 
 stdenv.mkDerivation rec {
   pname = "luna-icons";
-  version = "1.9.1";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ZUSG9lui07ICG/4M6LBEAhJo9KuKd+wMb2VoKu5Ifmg=";
+    sha256 = "sha256-aNN7ZoD4hZTw39Rwef4HRHzNzCM6O8Ev+37jZOfzN7s=";
   };
 
   nativeBuildInputs = [
@@ -43,6 +44,8 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.updateScript = gitUpdater {inherit pname version; };
+
   meta = with lib; {
     description = "Icon pack based on marwaita and papirus icons";
     homepage = "https://github.com/darkomarko42/Luna-Icons";
diff --git a/pkgs/data/misc/cldr-emoji-annotation/default.nix b/pkgs/data/misc/cldr-emoji-annotation/default.nix
deleted file mode 100644
index e51f5639cbc..00000000000
--- a/pkgs/data/misc/cldr-emoji-annotation/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv
-, fetchFromGitHub
-, autoreconfHook
-}:
-
-stdenv.mkDerivation rec {
-  pname = "cldr-emoji-annotation";
-  version = "37.0_13.0_0_2";
-
-  src = fetchFromGitHub {
-    owner = "fujiwarat";
-    repo = "cldr-emoji-annotation";
-    rev = version;
-    sha256 = "0la3h6l58j9jfjvzwz65x56ijx7sppirwpqbqc06if4c2g0kzswj";
-  };
-
-  nativeBuildInputs = [
-    autoreconfHook
-  ];
-
-  meta = with lib; {
-    description = "Emoji annotation files in CLDR";
-    homepage = "https://www.unicode.org/";
-    license = licenses.unicode-dfs-2016;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index 13efe11b33d..e99d660bcf3 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "e5167f06cba67fa268ebafb97f5ccbffe412cd2a",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/e5167f06cba67fa268ebafb97f5ccbffe412cd2a.tar.gz",
-  "sha256": "1ihkrjk7a24wbzjz4wlx3mdh88bbq4665l1ld7gxs5jaimcmhn5j",
-  "msg": "Update from Hackage at 2022-04-09T11:23:17Z"
+  "commit": "762464dcc5ce93f1c6a9a746feb6bd1bd0c47006",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/762464dcc5ce93f1c6a9a746feb6bd1bd0c47006.tar.gz",
+  "sha256": "0k1qp34lsc08a99p669v8n0fxs6mdzwc2bz87v0hdah4qagi4z4g",
+  "msg": "Update from Hackage at 2022-04-20T23:34:08Z"
 }
diff --git a/pkgs/data/misc/nixos-artwork/wallpapers.nix b/pkgs/data/misc/nixos-artwork/wallpapers.nix
index f8d22637cf3..4d5f30e94b9 100644
--- a/pkgs/data/misc/nixos-artwork/wallpapers.nix
+++ b/pkgs/data/misc/nixos-artwork/wallpapers.nix
@@ -14,6 +14,22 @@ let
         mkdir -p $out/share/backgrounds/nixos
         ln -s $src $out/share/backgrounds/nixos/${src.name}
 
+        mkdir -p $out/share/gnome-background-properties/
+        cat <<EOF > $out/share/gnome-background-properties/${name}.xml
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
+<wallpapers>
+  <wallpaper deleted="false">
+    <name>${name}</name>
+    <filename>${src}</filename>
+    <options>zoom</options>
+    <shade_type>solid</shade_type>
+    <pcolor>#ffffff</pcolor>
+    <scolor>#000000</scolor>
+  </wallpaper>
+</wallpapers>
+EOF
+
         # TODO: is this path still needed?
         mkdir -p $out/share/artwork/gnome
         ln -s $src $out/share/artwork/gnome/${src.name}
diff --git a/pkgs/data/themes/flat-remix-gnome/default.nix b/pkgs/data/themes/flat-remix-gnome/default.nix
index 178a761d957..475f9ecdfe3 100644
--- a/pkgs/data/themes/flat-remix-gnome/default.nix
+++ b/pkgs/data/themes/flat-remix-gnome/default.nix
@@ -7,25 +7,25 @@
 let
   # make install will use dconf to find desktop background file uri.
   # consider adding an args to allow specify pictures manually.
-  # https://github.com/daniruiz/flat-remix-gnome/blob/20220407/Makefile#L38
+  # https://github.com/daniruiz/flat-remix-gnome/blob/20220422/Makefile#L38
   fake-dconf = writeScriptBin "dconf" "echo -n";
 in
 stdenv.mkDerivation rec {
   pname = "flat-remix-gnome";
-  version = "20220407";
+  version = "20220422";
 
   src = fetchFromGitHub {
     owner = "daniruiz";
     repo = pname;
     rev = version;
-    hash = "sha256-Q54uF49NbvupN6LH80bgRtvyW7Cqm9vqsWXDkQrF4HQ=";
+    hash = "sha256-W/BNn10SggtBacelNljPh42jVMBfykJFRWBCaj/ar7U=";
   };
 
   nativeBuildInputs = [ glib fake-dconf ];
   makeFlags = [ "PREFIX=$(out)" ];
   preInstall = ''
     # make install will back up this file, it will fail if the file doesn't exist.
-    # https://github.com/daniruiz/flat-remix-gnome/blob/20220407/Makefile#L56
+    # https://github.com/daniruiz/flat-remix-gnome/blob/20220422/Makefile#L56
     mkdir -p $out/share/gnome-shell/
     touch $out/share/gnome-shell/gnome-shell-theme.gresource
   '';
diff --git a/pkgs/data/themes/flat-remix-gtk/default.nix b/pkgs/data/themes/flat-remix-gtk/default.nix
index 177e606a0e6..7bea0226195 100644
--- a/pkgs/data/themes/flat-remix-gtk/default.nix
+++ b/pkgs/data/themes/flat-remix-gtk/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flat-remix-gtk";
-  version = "20220330";
+  version = "20220412";
 
   src = fetchFromGitHub {
     owner = "daniruiz";
     repo = pname;
     rev = version;
-    sha256 = "sha256-TRBjttAYpx3M/Qza6N9dJy50vQtUOJGmdLNdobnAt2Y=";
+    sha256 = "sha256-LIGYPsOoPN3KIe0XrjCIf7yV3p3Gfzx8zci57+HzW18=";
   };
 
   dontBuild = true;
diff --git a/pkgs/data/themes/gnome-breeze/default.nix b/pkgs/data/themes/gnome-breeze/default.nix
deleted file mode 100644
index 38733590a34..00000000000
--- a/pkgs/data/themes/gnome-breeze/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchFromGitHub }:
-
-stdenv.mkDerivation {
-  pname = "gnome-breeze";
-  version = "unstable-2016-05-26";
-
-  src = fetchFromGitHub {
-    owner = "dirruk1";
-    repo = "gnome-breeze";
-    rev = "49a5cd67a270e13a4c04a4b904f126ef728e9221";
-    sha256 = "sha256-lQYVOhFBDOYT+glUHleuymGTfHEE5bIyqUFnS/EDc0I=";
-  };
-
-  installPhase = ''
-    mkdir -p $out/share/themes
-    cp -r Breeze* $out/share/themes
-  '';
-
-  preferLocalBuild = true;
-
-  meta = with lib; {
-    description = "A GTK theme built to match KDE's breeze theme";
-    homepage = "https://github.com/dirruk1/gnome-breeze";
-    license = licenses.lgpl2;
-    maintainers = with maintainers; [ bennofs ];
-    platforms = platforms.all;
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/data/themes/orchis-theme/default.nix b/pkgs/data/themes/orchis-theme/default.nix
index ccaee7f6552..793547bbeaf 100644
--- a/pkgs/data/themes/orchis-theme/default.nix
+++ b/pkgs/data/themes/orchis-theme/default.nix
@@ -21,13 +21,13 @@ assert lib.assertMsg (unknownTweaks == [ ]) ''
 stdenvNoCC.mkDerivation
 rec {
   pname = "orchis-theme";
-  version = "2022-02-18";
+  version = "2022-05-01";
 
   src = fetchFromGitHub {
     repo = "Orchis-theme";
     owner = "vinceliuice";
     rev = version;
-    sha256 = "sha256-SqptW8DEDCB6LMHalRlf71TWK93gW+blbu6Q1Oommes=";
+    sha256 = "sha256-OYB/TnVm8AOQTdF+rGiY5tQjUjkSSpMrqFo0+TXSHzA=";
   };
 
   nativeBuildInputs = [ gtk3 sassc ];
diff --git a/pkgs/data/themes/vimix/default.nix b/pkgs/data/themes/vimix/default.nix
index d92ff42f48c..dc13b4abfb6 100644
--- a/pkgs/data/themes/vimix/default.nix
+++ b/pkgs/data/themes/vimix/default.nix
@@ -4,21 +4,24 @@
 , gnome-shell
 , gtk-engine-murrine
 , gtk_engines
+, sassc
+, gitUpdater
 }:
 
 stdenv.mkDerivation rec {
   pname = "vimix-gtk-themes";
-  version = "2021-08-17";
+  version = "2022-04-24";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "1pn737w99j4ij8qkgw0rrzhbcqzni73z5wnkfqgqqbhj38rafbpv";
+    sha256 = "0q0ahm060qvr7r9j3x9lxidjnwf032c2g1pcqw9mz93iy7vfn358";
   };
 
   nativeBuildInputs = [
     gnome-shell  # needed to determine the gnome-shell version
+    sassc
   ];
 
   buildInputs = [
@@ -29,15 +32,20 @@ stdenv.mkDerivation rec {
     gtk-engine-murrine
   ];
 
+  postPatch = ''
+    patchShebangs install.sh
+  '';
+
   installPhase = ''
     runHook preInstall
-    patchShebangs .
     mkdir -p $out/share/themes
-    name= ./install.sh --all --dest $out/share/themes
+    name= HOME="$TMPDIR" ./install.sh --all --dest $out/share/themes
     rm $out/share/themes/*/{AUTHORS,LICENSE}
     runHook postInstall
   '';
 
+  passthru.updateScript = gitUpdater {inherit pname version; };
+
   meta = with lib; {
     description = "Flat Material Design theme for GTK based desktop environments";
     homepage = "https://github.com/vinceliuice/vimix-gtk-themes";
diff --git a/pkgs/desktops/cdesktopenv/default.nix b/pkgs/desktops/cdesktopenv/default.nix
index b506ed3663b..8039caa74be 100644
--- a/pkgs/desktops/cdesktopenv/default.nix
+++ b/pkgs/desktops/cdesktopenv/default.nix
@@ -3,7 +3,7 @@
 , xorgproto, libX11, bison, ksh, perl, gnum4
 , libXinerama, libXt, libXext, libtirpc, motif, libXft, xbitmaps
 , libjpeg, libXmu, libXdmcp, libXScrnSaver, symlinkJoin, bdftopcf
-, ncompress, mkfontdir, tcl, libXaw, gcc, glibcLocales, gawk
+, ncompress, mkfontdir, tcl, libXaw, gcc, glibcLocales
 , autoPatchelfHook, libredirect, makeWrapper, xset, xrdb, fakeroot
 , rpcsvc-proto }:
 
@@ -43,7 +43,7 @@ in stdenv.mkDerivation rec {
     libjpeg libXmu libXdmcp libXScrnSaver tcl libXaw ksh
   ];
   nativeBuildInputs = [
-    bison ncompress gawk autoPatchelfHook makeWrapper fakeroot
+    bison ncompress autoPatchelfHook makeWrapper fakeroot
     rpcsvc-proto
   ];
   # build fails otherwise
diff --git a/pkgs/desktops/enlightenment/econnman/default.nix b/pkgs/desktops/enlightenment/econnman/default.nix
index a781aa230b6..d593b5cdcdc 100644
--- a/pkgs/desktops/enlightenment/econnman/default.nix
+++ b/pkgs/desktops/enlightenment/econnman/default.nix
@@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
     wrapPythonPrograms
   '';
 
-  meta = {
+  meta = with lib; {
     description = "A user interface for the connman network connection manager";
     homepage = "https://enlightenment.org/";
-    license = lib.licenses.lgpl3;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ matejc tstrobel ftrvxmtrx romildo ];
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = with lib.maintainers; [ matejc tstrobel ftrvxmtrx ] ++ teams.enlightenment.members;
   };
 }
diff --git a/pkgs/desktops/enlightenment/ecrire/default.nix b/pkgs/desktops/enlightenment/ecrire/default.nix
index d152c943d58..1f466b2d048 100644
--- a/pkgs/desktops/enlightenment/ecrire/default.nix
+++ b/pkgs/desktops/enlightenment/ecrire/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.enlightenment.org/";
     license = licenses.gpl3Only;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.enlightenment.members;
   };
 }
diff --git a/pkgs/desktops/enlightenment/efl/default.nix b/pkgs/desktops/enlightenment/efl/default.nix
index 7ab1bd79c30..21b31dfa6a7 100644
--- a/pkgs/desktops/enlightenment/efl/default.nix
+++ b/pkgs/desktops/enlightenment/efl/default.nix
@@ -208,6 +208,6 @@ stdenv.mkDerivation rec {
     homepage = "https://enlightenment.org/";
     license = with licenses; [ bsd2 lgpl2Only licenses.zlib ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx romildo ];
+    maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx ] ++ teams.enlightenment.members;
   };
 }
diff --git a/pkgs/desktops/enlightenment/enlightenment/default.nix b/pkgs/desktops/enlightenment/enlightenment/default.nix
index 3fe63ade488..781d6a4daee 100644
--- a/pkgs/desktops/enlightenment/enlightenment/default.nix
+++ b/pkgs/desktops/enlightenment/enlightenment/default.nix
@@ -75,6 +75,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.enlightenment.org";
     license = licenses.bsd2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx romildo ];
+    maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx ] ++ teams.enlightenment.members;
   };
 }
diff --git a/pkgs/desktops/enlightenment/ephoto/default.nix b/pkgs/desktops/enlightenment/ephoto/default.nix
index 7e06122c4a9..33c116872fe 100644
--- a/pkgs/desktops/enlightenment/ephoto/default.nix
+++ b/pkgs/desktops/enlightenment/ephoto/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.smhouston.us/ephoto/";
     license = licenses.bsd2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.enlightenment.members;
   };
 }
diff --git a/pkgs/desktops/enlightenment/evisum/default.nix b/pkgs/desktops/enlightenment/evisum/default.nix
index 0d9837f8d0c..a8a61edad4d 100644
--- a/pkgs/desktops/enlightenment/evisum/default.nix
+++ b/pkgs/desktops/enlightenment/evisum/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.enlightenment.org";
     license = with licenses; [ isc ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.enlightenment.members;
   };
 }
diff --git a/pkgs/desktops/enlightenment/rage/default.nix b/pkgs/desktops/enlightenment/rage/default.nix
index 40e0f6aef94..7fdc9a5e663 100644
--- a/pkgs/desktops/enlightenment/rage/default.nix
+++ b/pkgs/desktops/enlightenment/rage/default.nix
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = "https://enlightenment.org/";
     license = licenses.bsd2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ matejc ftrvxmtrx romildo ];
+    maintainers = with maintainers; [ matejc ftrvxmtrx ] ++ teams.enlightenment.members;
   };
 }
diff --git a/pkgs/desktops/enlightenment/terminology/default.nix b/pkgs/desktops/enlightenment/terminology/default.nix
index 7b3ffe2f112..54f619b3117 100644
--- a/pkgs/desktops/enlightenment/terminology/default.nix
+++ b/pkgs/desktops/enlightenment/terminology/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
     homepage = "https://www.enlightenment.org/about-terminology";
     license = licenses.bsd2;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx romildo ];
+    maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx ] ++ teams.enlightenment.members;
   };
 }
diff --git a/pkgs/desktops/gnome-2/platform/libglade/default.nix b/pkgs/desktops/gnome-2/platform/libglade/default.nix
index 3ed162cd8d5..2f2641a9a5c 100644
--- a/pkgs/desktops/gnome-2/platform/libglade/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libglade/default.nix
@@ -1,6 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gtk2, libxml2, python2 ? null, withLibgladeConvert ? false, gettext }:
-
-assert withLibgladeConvert -> python2 != null;
+{ lib, stdenv, fetchurl, pkg-config, gtk2, libxml2, gettext }:
 
 stdenv.mkDerivation rec {
   pname = "libglade";
@@ -14,8 +12,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ gtk2 gettext ]
-    ++ lib.optional withLibgladeConvert python2;
+  buildInputs = [ gtk2 gettext ];
 
   NIX_LDFLAGS = "-lgmodule-2.0";
 
diff --git a/pkgs/desktops/gnome/apps/ghex/default.nix b/pkgs/desktops/gnome/apps/ghex/default.nix
index 3cbc2b2cfdd..5a0722af21c 100644
--- a/pkgs/desktops/gnome/apps/ghex/default.nix
+++ b/pkgs/desktops/gnome/apps/ghex/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ghex";
-  version = "42.1";
+  version = "42.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/ghex/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "8QMj08MvvRqDFU+/0qJ+yj7pDZwbJSNfGxX+3l+xE6M=";
+    sha256 = "Rd6Oa4ofMd5amRC+GMB/CaMo2HU434BAOuxa+IF8ljE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
index 10267a6c870..058984ca747 100644
--- a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
@@ -22,11 +22,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-calendar";
-  version = "42.0";
+  version = "42.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "tj9z9VAy/BOQRC+UzfazyrnJHHdN3S5cYez+ydLF6ao=";
+    sha256 = "0SKBy78a+GxyN1/mrZNG7Q4sLziKHq6FjOzmQGCm66g=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/apps/gnome-maps/default.nix b/pkgs/desktops/gnome/apps/gnome-maps/default.nix
index 0efb5faa3c7..a0d566c7ef9 100644
--- a/pkgs/desktops/gnome/apps/gnome-maps/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-maps/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchurl
-, fetchpatch
 , meson
 , ninja
 , gettext
@@ -31,22 +30,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-maps";
-  version = "42.0";
+  version = "42.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-BUSG03dAc3BqdqmBQXl40VG+O3Ik1yN3W74xbvoked8=";
+    sha256 = "sha256-CC+ElBAf080xvU8a6YgXEOMqUz+y3belcSJ5bJRm0q4=";
   };
 
-  patches = [
-    # Do not pin to GWeather 3.0, the used API did not change in 4.0.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-maps/-/commit/759d3087b70341b2c5f1af575ce44338d926690e.patch";
-      sha256 = "Qp9Hta00TLf2lOb9+g9vnPoK17mP3eHpCG2i1ewaw+w=";
-      revert = true;
-    })
-  ];
-
   doCheck = true;
 
   nativeBuildInputs = [
@@ -66,7 +56,6 @@ stdenv.mkDerivation rec {
     geocode-glib
     gjs
     gnome-online-accounts
-    gnome.adwaita-icon-theme
     gobject-introspection
     gsettings-desktop-schemas
     gtk3
diff --git a/pkgs/desktops/gnome/apps/gnome-music/default.nix b/pkgs/desktops/gnome/apps/gnome-music/default.nix
index 4676710bfc6..8d5f5e5f28d 100644
--- a/pkgs/desktops/gnome/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-music/default.nix
@@ -8,7 +8,7 @@
 , libxml2
 , python3
 , libnotify
-, wrapGAppsHook
+, wrapGAppsHook4
 , libmediaart
 , gobject-introspection
 , gnome-online-accounts
@@ -30,13 +30,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gnome-music";
-  version = "42.0";
+  version = "42.1";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "nWgZj5hSveD4NFhLlqgSiX0xDLcXKLak8Ji8spsZxdA=";
+    sha256 = "x3R/pqhrVrGK1v+VD/kB5Z7n+sEcaLKmcnr4bq7tgnA=";
   };
 
   nativeBuildInputs = [
@@ -46,7 +46,7 @@ python3.pkgs.buildPythonApplication rec {
     itstool
     pkg-config
     libxml2
-    wrapGAppsHook
+    wrapGAppsHook4
     desktop-file-utils
     appstream-glib
     gobject-introspection
@@ -60,7 +60,6 @@ python3.pkgs.buildPythonApplication rec {
     gnome-online-accounts
     gobject-introspection
     gdk-pixbuf
-    gnome.adwaita-icon-theme
     python3
     grilo
     grilo-plugins
diff --git a/pkgs/desktops/gnome/apps/gnome-text-editor/default.nix b/pkgs/desktops/gnome/apps/gnome-text-editor/default.nix
index ac065aaaec7..f14c57cde69 100644
--- a/pkgs/desktops/gnome/apps/gnome-text-editor/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-text-editor/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-text-editor";
-  version = "42.0";
+  version = "42.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-text-editor/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-DjIUDuHBNChWO81feE5h7iL/0a0n2MAig7Q1ioHfq1A=";
+    sha256 = "sha256-o8hQgDO/tjqLSKBirB5nssMzugFTh5s4xmGWihA60Vw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/apps/gnome-todo/default.nix b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
index cdcf0d69a33..293ac197bbf 100644
--- a/pkgs/desktops/gnome/apps/gnome-todo/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
@@ -27,14 +27,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-todo";
-  version = "unstable-2022-03-11";
+  version = "unstable-2022-04-07";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = "gnome-todo";
-    rev = "07791399742366b4e3a6897430054d91df4594b4";
-    sha256 = "821KgxkkW4T6bdGuttAz9ao/WStM1QEfn4hY/b0d0jI=";
+    rev = "ebc683746c705faa7c080aa96eecb83e523a8c15";
+    sha256 = "YMRol1XSQUuwdlpOKNgjUnTZthbMvV/l4dqtBoBnjSU=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/eog/default.nix b/pkgs/desktops/gnome/core/eog/default.nix
index 9a152921994..5a2c410c2c0 100644
--- a/pkgs/desktops/gnome/core/eog/default.nix
+++ b/pkgs/desktops/gnome/core/eog/default.nix
@@ -29,13 +29,13 @@
 
 stdenv.mkDerivation rec {
   pname = "eog";
-  version = "42.0";
+  version = "42.1";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-+zW/tRZ6QhIfWae5t6wNdbvQUXua/W2Rgx6E01c13fg=";
+    sha256 = "sha256-/LEtXbyFYY3xSzDmMB5eHO+Dgq4nItL1WmQ1Adx8n60=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/epiphany/default.nix b/pkgs/desktops/gnome/core/epiphany/default.nix
index 649cc71cde0..2dcd037fa50 100644
--- a/pkgs/desktops/gnome/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome/core/epiphany/default.nix
@@ -40,11 +40,11 @@
 
 stdenv.mkDerivation rec {
   pname = "epiphany";
-  version = "42.1";
+  version = "42.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "aKzDxcYpF/G0ORaltGvsE29bMH8DqtpY23QMeLED8Dg=";
+    sha256 = "ksAs+IbRDSzP9d5ljhpCDqsx0gu1DnRtQw6VNbSFGS0=";
   };
 
   patches = lib.optionals withPantheon [
diff --git a/pkgs/desktops/gnome/core/evolution-data-server/default.nix b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
index e43fe60eb7e..15d22674b3c 100644
--- a/pkgs/desktops/gnome/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
@@ -45,13 +45,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.44.0";
+  version = "3.44.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "DYiBtcUeG5F2GxlF2yZKRqq/VKc+6hyo9EiyB4FdWC4=";
+    sha256 = "bgWpAgSidvmdkyCX8QMswX3R2OJlx8VnJ8YyQP1MDM8=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
index d2efa4d6e2a..07f6274e01c 100644
--- a/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
@@ -36,11 +36,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-initial-setup";
-  version = "42.1";
+  version = "42.1.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "hmE2yjKSL3zEJNOtxrHbp86+B6qWoZ+XyAdw4/Lupxs=";
+    sha256 = "kRfuQpH2/oX95/Fh4FBEA8PPquX3GxjwHjAmUZY2UtI=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix b/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
index 61252d60814..03788d94378 100644
--- a/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
@@ -28,11 +28,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-remote-desktop";
-  version = "42.0";
+  version = "42.1.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-s9wrt1x4Pe2quWqNu6wW3ZqhOebTooo9s+pAxgRluY8=";
+    hash = "sha256-pEZqYsL+7GLn9XLwkpxY24iyXWCVuv5LFZHpnPqaDuY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-software/default.nix b/pkgs/desktops/gnome/core/gnome-software/default.nix
index e89f616680c..2dc810ee050 100644
--- a/pkgs/desktops/gnome/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-software/default.nix
@@ -42,11 +42,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnome-software";
-  version = "42.0";
+  version = "42.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "QsaF4u95li6zCo6VjHA8mh899zFQQiOgYos7Yk733B4=";
+    sha256 = "MtAFaYoAuK5er5Hk5/hlnvQwCnmPyuaiK3TC1/z2pIY=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/nautilus/default.nix b/pkgs/desktops/gnome/core/nautilus/default.nix
index b3665e46fa4..ccc19728b0b 100644
--- a/pkgs/desktops/gnome/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome/core/nautilus/default.nix
@@ -34,13 +34,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nautilus";
-  version = "42.0";
+  version = "42.1.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "PJBPM7otKgeIkr7ir3FITNYIkjzXjsfooVF7whVRE9U=";
+    sha256 = "hRnUVl6EKqPTHQ/jmyHUisVO3A8GWP4djqLaTnBMG2Y=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/zenity/default.nix b/pkgs/desktops/gnome/core/zenity/default.nix
index bca93ca7bc5..8429282ab36 100644
--- a/pkgs/desktops/gnome/core/zenity/default.nix
+++ b/pkgs/desktops/gnome/core/zenity/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "zenity";
-  version = "3.42.0";
+  version = "3.42.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/zenity/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "wkx/5rtDFjztit8jLVg7LgE9O6bCjetfz4B5hePete8=";
+    sha256 = "oI4MjmJmFe4sI/90Yo66b4tIaHXdVDccp+LXYFtyqHw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/extensions/collisions.json b/pkgs/desktops/gnome/extensions/collisions.json
index 573d043e7f7..b389b947d94 100644
--- a/pkgs/desktops/gnome/extensions/collisions.json
+++ b/pkgs/desktops/gnome/extensions/collisions.json
@@ -87,6 +87,10 @@
       "panel-date-format@keiii.github.com",
       "panel-date-format@atareao.es"
     ],
+    "fullscreen-hot-corner": [
+      "fullscreen-hot-corner@sorrow.about.alice.pm.me",
+      "fullscreen-hot-corner@richardblaha.cz"
+    ],
     "disable-unredirect-fullscreen-windows": [
       "unredirect@vaina.lt",
       "unredirect@aunetx"
@@ -129,6 +133,10 @@
       "fuzzy-clock@keepawayfromfire.co.uk",
       "FuzzyClock@johngoetz"
     ],
+    "fullscreen-hot-corner": [
+      "fullscreen-hot-corner@sorrow.about.alice.pm.me",
+      "fullscreen-hot-corner@richardblaha.cz"
+    ],
     "disable-unredirect-fullscreen-windows": [
       "unredirect@vaina.lt",
       "unredirect@aunetx"
@@ -140,6 +148,10 @@
     "wireguard-indicator": [
       "wireguard-indicator@gregos.me",
       "wireguard-indicator@atareao.es"
+    ],
+    "volume-scroller": [
+      "volume_scroller@trflynn89.pm.me",
+      "volume_scroller@noskoski"
     ]
   },
   "42": {
@@ -155,9 +167,17 @@
       "lockkeys@vaina.lt",
       "lockkeys@fawtytoo"
     ],
+    "fullscreen-hot-corner": [
+      "fullscreen-hot-corner@sorrow.about.alice.pm.me",
+      "fullscreen-hot-corner@richardblaha.cz"
+    ],
     "wireguard-indicator": [
       "wireguard-indicator@gregos.me",
       "wireguard-indicator@atareao.es"
+    ],
+    "volume-scroller": [
+      "volume_scroller@trflynn89.pm.me",
+      "volume_scroller@noskoski"
     ]
   }
 }
diff --git a/pkgs/desktops/gnome/extensions/extensionRenames.nix b/pkgs/desktops/gnome/extensions/extensionRenames.nix
index d509958712c..9e55eb498c3 100644
--- a/pkgs/desktops/gnome/extensions/extensionRenames.nix
+++ b/pkgs/desktops/gnome/extensions/extensionRenames.nix
@@ -9,9 +9,15 @@
   "apps-menu@gnome-shell-extensions.gcampax.github.com" = "applications-menu";
   "Applications_Menu@rmy.pobox.com" = "frippery-applications-menu";
 
+  "fullscreen-hot-corner@sorrow.about.alice.pm.me" = "fullscreen-hot-corner";
+  "fullscreen-hot-corner@richardblaha.cz" = "fullscreen-hot-corner-2";
+
   "lockkeys@vaina.lt" = "lock-keys";
   "lockkeys@fawtytoo" = "lock-keys-2";
 
+  "volume_scroller@trflynn89.pm.me" = "volume-scroller";
+  "volume_scroller@noskoski" = "volume-scroller-2";
+
   "wireguard-indicator@gregos.me" = "wireguard-indicator-2";
   "wireguard-indicator@atareao.es" = "wireguard-indicator";
 
@@ -57,9 +63,6 @@
   "extension-list@tu.berry" = "extension-list";
   "screen-lock@garciabaameiro.com" = "screen-lock"; # Don't know why they got 'extension-list' as slug
 
-  "volume_scroller@trflynn89.pm.me" = "volume-scroller";
-  "volume_scroller@noskoski" = "volume-scroller-2";
-
   # ####### GNOME 3.38 #######
 
   "bottompanel@tmoer93" = "bottompanel";
diff --git a/pkgs/desktops/gnome/extensions/extensions.json b/pkgs/desktops/gnome/extensions/extensions.json
index 5acddff2921..8cdc7b1a901 100644
--- a/pkgs/desktops/gnome/extensions/extensions.json
+++ b/pkgs/desktops/gnome/extensions/extensions.json
@@ -14,10 +14,10 @@
 , {"uuid": "lockkeys@vaina.lt", "name": "Lock Keys", "pname": "lock-keys", "description": "Numlock & Capslock status on the panel. Gnome version 3.30 and earlier users please install 44 version of the extension https://extensions.gnome.org/download-extension/lockkeys%40vaina.lt.shell-extension.zip?version_tag=26229 ", "link": "https://extensions.gnome.org/extension/36/lock-keys/", "shell_version_map": {"38": {"version": "47", "sha256": "1lsnmf6lsp92g1clxl190hx30p03a11w4hs3m9v0pav12cq8agfi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiBHbm9tZSB2ZXJzaW9uIDMuMzAgYW5kIGVhcmxpZXIgdXNlcnMgcGxlYXNlIGluc3RhbGwgNDQgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZG93bmxvYWQtZXh0ZW5zaW9uL2xvY2trZXlzJTQwdmFpbmEubHQuc2hlbGwtZXh0ZW5zaW9uLnppcD92ZXJzaW9uX3RhZz0yNjIyOSAiLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSwgUmFwaGFcdTAwZWJsIFJvY2hldCwgTHVpeiBOaWNrZWwsIEplc3NlLCBEdVx1MDE2MWFuIEthemlrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2F6eXNtYXN0ZXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxvY2trZXlzIiwKICAidXVpZCI6ICJsb2Nra2V5c0B2YWluYS5sdCIsCiAgInZlcnNpb24iOiA0Nwp9"}, "40": {"version": "47", "sha256": "1lsnmf6lsp92g1clxl190hx30p03a11w4hs3m9v0pav12cq8agfi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiBHbm9tZSB2ZXJzaW9uIDMuMzAgYW5kIGVhcmxpZXIgdXNlcnMgcGxlYXNlIGluc3RhbGwgNDQgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZG93bmxvYWQtZXh0ZW5zaW9uL2xvY2trZXlzJTQwdmFpbmEubHQuc2hlbGwtZXh0ZW5zaW9uLnppcD92ZXJzaW9uX3RhZz0yNjIyOSAiLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSwgUmFwaGFcdTAwZWJsIFJvY2hldCwgTHVpeiBOaWNrZWwsIEplc3NlLCBEdVx1MDE2MWFuIEthemlrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2F6eXNtYXN0ZXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxvY2trZXlzIiwKICAidXVpZCI6ICJsb2Nra2V5c0B2YWluYS5sdCIsCiAgInZlcnNpb24iOiA0Nwp9"}, "41": {"version": "47", "sha256": "1lsnmf6lsp92g1clxl190hx30p03a11w4hs3m9v0pav12cq8agfi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiBHbm9tZSB2ZXJzaW9uIDMuMzAgYW5kIGVhcmxpZXIgdXNlcnMgcGxlYXNlIGluc3RhbGwgNDQgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZG93bmxvYWQtZXh0ZW5zaW9uL2xvY2trZXlzJTQwdmFpbmEubHQuc2hlbGwtZXh0ZW5zaW9uLnppcD92ZXJzaW9uX3RhZz0yNjIyOSAiLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSwgUmFwaGFcdTAwZWJsIFJvY2hldCwgTHVpeiBOaWNrZWwsIEplc3NlLCBEdVx1MDE2MWFuIEthemlrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2F6eXNtYXN0ZXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxvY2trZXlzIiwKICAidXVpZCI6ICJsb2Nra2V5c0B2YWluYS5sdCIsCiAgInZlcnNpb24iOiA0Nwp9"}, "42": {"version": "47", "sha256": "1lsnmf6lsp92g1clxl190hx30p03a11w4hs3m9v0pav12cq8agfi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgJiBDYXBzbG9jayBzdGF0dXMgb24gdGhlIHBhbmVsLiBHbm9tZSB2ZXJzaW9uIDMuMzAgYW5kIGVhcmxpZXIgdXNlcnMgcGxlYXNlIGluc3RhbGwgNDQgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZG93bmxvYWQtZXh0ZW5zaW9uL2xvY2trZXlzJTQwdmFpbmEubHQuc2hlbGwtZXh0ZW5zaW9uLnppcD92ZXJzaW9uX3RhZz0yNjIyOSAiLAogICJuYW1lIjogIkxvY2sgS2V5cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSwgUmFwaGFcdTAwZWJsIFJvY2hldCwgTHVpeiBOaWNrZWwsIEplc3NlLCBEdVx1MDE2MWFuIEthemlrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2F6eXNtYXN0ZXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxvY2trZXlzIiwKICAidXVpZCI6ICJsb2Nra2V5c0B2YWluYS5sdCIsCiAgInZlcnNpb24iOiA0Nwp9"}}}
 , {"uuid": "putWindow@clemens.lab21.org", "name": "Put Windows", "pname": "put-windows", "description": "Fully customizable replacement for the old compiz put plugin. \n * Move windows to left/right side, bottom/top, center or corner \n * Move window to other screen \n * Select focused window using the keyboard \n * Application based window placement \n\n Please check github if your gnome-shell version is not supported", "link": "https://extensions.gnome.org/extension/39/put-windows/", "shell_version_map": {"38": {"version": "32", "sha256": "1n4hk2sqdbcn25lxk02vljc9xxbidragimvc4b6dj2m72625lx67", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IGN1c3RvbWl6YWJsZSByZXBsYWNlbWVudCBmb3IgdGhlIG9sZCBjb21waXogcHV0IHBsdWdpbi4gXG4gKiBNb3ZlIHdpbmRvd3MgdG8gbGVmdC9yaWdodCBzaWRlLCBib3R0b20vdG9wLCBjZW50ZXIgb3IgY29ybmVyIFxuICogTW92ZSB3aW5kb3cgdG8gb3RoZXIgc2NyZWVuIFxuICogU2VsZWN0IGZvY3VzZWQgd2luZG93IHVzaW5nIHRoZSBrZXlib2FyZCBcbiAqIEFwcGxpY2F0aW9uIGJhc2VkIHdpbmRvdyBwbGFjZW1lbnQgXG5cbiBQbGVhc2UgY2hlY2sgZ2l0aHViIGlmIHlvdXIgZ25vbWUtc2hlbGwgdmVyc2lvbiBpcyBub3Qgc3VwcG9ydGVkIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicHV0V2luZG93IiwKICAibmFtZSI6ICJQdXQgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcmctbGFiMjEtcHV0d2luZG93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVnZXN0aS9nbm9tZS1zaGVsbC1leHRlbnNpb25zLW5lZ2VzdGkiLAogICJ1dWlkIjogInB1dFdpbmRvd0BjbGVtZW5zLmxhYjIxLm9yZyIsCiAgInZlcnNpb24iOiAzMgp9"}}}
 , {"uuid": "permanent-notifications@bonzini.gnu.org", "name": "Permanent notifications", "pname": "permanent-notifications", "description": "Keep notifications on the message tray until clicked", "link": "https://extensions.gnome.org/extension/41/permanent-notifications/", "shell_version_map": {"40": {"version": "8", "sha256": "13s0h7b9216xi7p6lsnipsm0lrxzr2dc94nm87fn580m43gx24lk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktlZXAgbm90aWZpY2F0aW9ucyBvbiB0aGUgbWVzc2FnZSB0cmF5IHVudGlsIGNsaWNrZWQiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlBlcm1hbmVudCBub3RpZmljYXRpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJib256aW5pQGdudS5vcmciCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIiLAogICAgIjMuMi4xIiwKICAgICIzLjQiLAogICAgIjMuMy45MCIsCiAgICAiMy4zLjkxIiwKICAgICIzLjMuOTIiLAogICAgIjMuNiIsCiAgICAiMy40LjEiLAogICAgIjMuMy45MyIsCiAgICAiMy4zLjk0IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ib256aW5pL2dub21lLXNoZWxsLXBlcm1hbmVudC1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJwZXJtYW5lbnQtbm90aWZpY2F0aW9uc0Bib256aW5pLmdudS5vcmciLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "13s0h7b9216xi7p6lsnipsm0lrxzr2dc94nm87fn580m43gx24lk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktlZXAgbm90aWZpY2F0aW9ucyBvbiB0aGUgbWVzc2FnZSB0cmF5IHVudGlsIGNsaWNrZWQiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlBlcm1hbmVudCBub3RpZmljYXRpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJib256aW5pQGdudS5vcmciCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIiLAogICAgIjMuMi4xIiwKICAgICIzLjQiLAogICAgIjMuMy45MCIsCiAgICAiMy4zLjkxIiwKICAgICIzLjMuOTIiLAogICAgIjMuNiIsCiAgICAiMy40LjEiLAogICAgIjMuMy45MyIsCiAgICAiMy4zLjk0IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ib256aW5pL2dub21lLXNoZWxsLXBlcm1hbmVudC1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJwZXJtYW5lbnQtbm90aWZpY2F0aW9uc0Bib256aW5pLmdudS5vcmciLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "13s0h7b9216xi7p6lsnipsm0lrxzr2dc94nm87fn580m43gx24lk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktlZXAgbm90aWZpY2F0aW9ucyBvbiB0aGUgbWVzc2FnZSB0cmF5IHVudGlsIGNsaWNrZWQiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlBlcm1hbmVudCBub3RpZmljYXRpb25zIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJib256aW5pQGdudS5vcmciCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIiLAogICAgIjMuMi4xIiwKICAgICIzLjQiLAogICAgIjMuMy45MCIsCiAgICAiMy4zLjkxIiwKICAgICIzLjMuOTIiLAogICAgIjMuNiIsCiAgICAiMy40LjEiLAogICAgIjMuMy45MyIsCiAgICAiMy4zLjk0IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ib256aW5pL2dub21lLXNoZWxsLXBlcm1hbmVudC1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJwZXJtYW5lbnQtbm90aWZpY2F0aW9uc0Bib256aW5pLmdudS5vcmciLAogICJ2ZXJzaW9uIjogOAp9"}}}
-, {"uuid": "gnome-shell-trash-extension", "name": "Trash", "pname": "trash", "description": "A Trash button for the GNOME shell panel", "link": "https://extensions.gnome.org/extension/48/trash/", "shell_version_map": {"38": {"version": "18", "sha256": "1cysvxrgi7lnig7d8blhqqbxz0phd4fvn7nww6zpihjnw32rvm4z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgVHJhc2ggYnV0dG9uIGZvciB0aGUgR05PTUUgc2hlbGwgcGFuZWwiLAogICJsb2NhbGVkaXIiOiAibG9jYWxlIiwKICAibmFtZSI6ICJUcmFzaCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiQXhlbCB2b24gQmVydG9sZGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9iZXJ0b2xkaWEvZ25vbWUtc2hlbGwtdHJhc2gtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC10cmFzaC1leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
+, {"uuid": "gnome-shell-trash-extension", "name": "Trash", "pname": "trash", "description": "A Trash button for the GNOME shell panel", "link": "https://extensions.gnome.org/extension/48/trash/", "shell_version_map": {"38": {"version": "19", "sha256": "16454yr755s5qsb2dic5afljxy1b1malxv37xvpw7i2f9anxh7hz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgVHJhc2ggYnV0dG9uIGZvciB0aGUgR05PTUUgc2hlbGwgcGFuZWwiLAogICJsb2NhbGVkaXIiOiAibG9jYWxlIiwKICAibmFtZSI6ICJUcmFzaCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiQXhlbCB2b24gQmVydG9sZGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2JlcnRvbGRpYS9nbm9tZS1zaGVsbC10cmFzaC1leHRlbnNpb24iLAogICJ1dWlkIjogImdub21lLXNoZWxsLXRyYXNoLWV4dGVuc2lvbiIsCiAgInZlcnNpb24iOiAxOQp9"}, "41": {"version": "19", "sha256": "16454yr755s5qsb2dic5afljxy1b1malxv37xvpw7i2f9anxh7hz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgVHJhc2ggYnV0dG9uIGZvciB0aGUgR05PTUUgc2hlbGwgcGFuZWwiLAogICJsb2NhbGVkaXIiOiAibG9jYWxlIiwKICAibmFtZSI6ICJUcmFzaCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiQXhlbCB2b24gQmVydG9sZGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2JlcnRvbGRpYS9nbm9tZS1zaGVsbC10cmFzaC1leHRlbnNpb24iLAogICJ1dWlkIjogImdub21lLXNoZWxsLXRyYXNoLWV4dGVuc2lvbiIsCiAgInZlcnNpb24iOiAxOQp9"}, "42": {"version": "19", "sha256": "16454yr755s5qsb2dic5afljxy1b1malxv37xvpw7i2f9anxh7hz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgVHJhc2ggYnV0dG9uIGZvciB0aGUgR05PTUUgc2hlbGwgcGFuZWwiLAogICJsb2NhbGVkaXIiOiAibG9jYWxlIiwKICAibmFtZSI6ICJUcmFzaCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiQXhlbCB2b24gQmVydG9sZGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2JlcnRvbGRpYS9nbm9tZS1zaGVsbC10cmFzaC1leHRlbnNpb24iLAogICJ1dWlkIjogImdub21lLXNoZWxsLXRyYXNoLWV4dGVuc2lvbiIsCiAgInZlcnNpb24iOiAxOQp9"}}}
 , {"uuid": "RecentItems@bananenfisch.net", "name": "Recent Items", "pname": "recent-items", "description": "Adds an icon for recently used items at the top panel; clear list by click; left click: open file, right click: open containing folder; Settings for: number of items, number of items under \"more\" and blacklisting options are defined at the top of extension.js (see https://github.com/bananenfisch/RecentItems for more infos).", "link": "https://extensions.gnome.org/extension/72/recent-items/", "shell_version_map": {"40": {"version": "20", "sha256": "0ys8lanv0xxbwfmqkfvdqvhbnv4vfjpzvpqjj11c1lxbv4wp2mbj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gaWNvbiBmb3IgcmVjZW50bHkgdXNlZCBpdGVtcyBhdCB0aGUgdG9wIHBhbmVsOyBjbGVhciBsaXN0IGJ5IGNsaWNrOyBsZWZ0IGNsaWNrOiBvcGVuIGZpbGUsIHJpZ2h0IGNsaWNrOiBvcGVuIGNvbnRhaW5pbmcgZm9sZGVyOyBTZXR0aW5ncyBmb3I6IG51bWJlciBvZiBpdGVtcywgbnVtYmVyIG9mIGl0ZW1zIHVuZGVyIFwibW9yZVwiIGFuZCBibGFja2xpc3Rpbmcgb3B0aW9ucyBhcmUgZGVmaW5lZCBhdCB0aGUgdG9wIG9mIGV4dGVuc2lvbi5qcyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9iYW5hbmVuZmlzY2gvUmVjZW50SXRlbXMgZm9yIG1vcmUgaW5mb3MpLiIsCiAgIm5hbWUiOiAiUmVjZW50IEl0ZW1zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHA6Ly93d3cuYmFuYW5lbmZpc2NoLm5ldC9nbm9tZSIsCiAgInV1aWQiOiAiUmVjZW50SXRlbXNAYmFuYW5lbmZpc2NoLm5ldCIsCiAgInZlcnNpb24iOiAyMAp9"}, "41": {"version": "20", "sha256": "0ys8lanv0xxbwfmqkfvdqvhbnv4vfjpzvpqjj11c1lxbv4wp2mbj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gaWNvbiBmb3IgcmVjZW50bHkgdXNlZCBpdGVtcyBhdCB0aGUgdG9wIHBhbmVsOyBjbGVhciBsaXN0IGJ5IGNsaWNrOyBsZWZ0IGNsaWNrOiBvcGVuIGZpbGUsIHJpZ2h0IGNsaWNrOiBvcGVuIGNvbnRhaW5pbmcgZm9sZGVyOyBTZXR0aW5ncyBmb3I6IG51bWJlciBvZiBpdGVtcywgbnVtYmVyIG9mIGl0ZW1zIHVuZGVyIFwibW9yZVwiIGFuZCBibGFja2xpc3Rpbmcgb3B0aW9ucyBhcmUgZGVmaW5lZCBhdCB0aGUgdG9wIG9mIGV4dGVuc2lvbi5qcyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9iYW5hbmVuZmlzY2gvUmVjZW50SXRlbXMgZm9yIG1vcmUgaW5mb3MpLiIsCiAgIm5hbWUiOiAiUmVjZW50IEl0ZW1zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHA6Ly93d3cuYmFuYW5lbmZpc2NoLm5ldC9nbm9tZSIsCiAgInV1aWQiOiAiUmVjZW50SXRlbXNAYmFuYW5lbmZpc2NoLm5ldCIsCiAgInZlcnNpb24iOiAyMAp9"}}}
 , {"uuid": "lockscreen@sri.ramkrishna.me", "name": "Lock Screen", "pname": "lock-screen", "description": "Add lock icon to the panel and lock the screen instead of using ctrl-alt-l", "link": "https://extensions.gnome.org/extension/83/lock-screen/", "shell_version_map": {"40": {"version": "14", "sha256": "1dh02rbq7pfvpjpgjq7rlx7lld2qhq602apn1g17hbxbcpdzz004", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBsb2NrIGljb24gdG8gdGhlIHBhbmVsIGFuZCBsb2NrIHRoZSBzY3JlZW4gaW5zdGVhZCBvZiB1c2luZyBjdHJsLWFsdC1sIiwKICAibmFtZSI6ICJMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiNDAuMCIsCiAgICAiNDIuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NyYW1rcmlzaG5hL2dub21lMy1leHRlbnNpb25zIiwKICAidXVpZCI6ICJsb2Nrc2NyZWVuQHNyaS5yYW1rcmlzaG5hLm1lIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "42": {"version": "14", "sha256": "1dh02rbq7pfvpjpgjq7rlx7lld2qhq602apn1g17hbxbcpdzz004", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBsb2NrIGljb24gdG8gdGhlIHBhbmVsIGFuZCBsb2NrIHRoZSBzY3JlZW4gaW5zdGVhZCBvZiB1c2luZyBjdHJsLWFsdC1sIiwKICAibmFtZSI6ICJMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiNDAuMCIsCiAgICAiNDIuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NyYW1rcmlzaG5hL2dub21lMy1leHRlbnNpb25zIiwKICAidXVpZCI6ICJsb2Nrc2NyZWVuQHNyaS5yYW1rcmlzaG5hLm1lIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
-, {"uuid": "CoverflowAltTab@palatis.blogspot.com", "name": "Coverflow Alt-Tab", "pname": "coverflow-alt-tab", "description": "Replacement of Alt-Tab, iterates through windows in a cover-flow manner.", "link": "https://extensions.gnome.org/extension/97/coverflow-alt-tab/", "shell_version_map": {"38": {"version": "44", "sha256": "18qpriqi0h6la45bl584hglnni0ka2d5q4qv61wdcan28a7kywq4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNpbm5hbW9uLXZlcnNpb24iOiBbCiAgICAiMS4yIiwKICAgICIxLjQiLAogICAgIjEuNiIsCiAgICAiMS44IiwKICAgICIxLjkiLAogICAgIjIuMCIsCiAgICAiMi4xIiwKICAgICIyLjIiLAogICAgIjIuMyIsCiAgICAiMi40IiwKICAgICIyLjgiLAogICAgIjMuMCIKICBdLAogICJkZXNjcmlwdGlvbiI6ICJSZXBsYWNlbWVudCBvZiBBbHQtVGFiLCBpdGVyYXRlcyB0aHJvdWdoIHdpbmRvd3MgaW4gYSBjb3Zlci1mbG93IG1hbm5lci4iLAogICJuYW1lIjogIkNvdmVyZmxvdyBBbHQtVGFiIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG1vNjAvQ292ZXJmbG93QWx0VGFiIiwKICAidXVpZCI6ICJDb3ZlcmZsb3dBbHRUYWJAcGFsYXRpcy5ibG9nc3BvdC5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}, "40": {"version": "49", "sha256": "0mmz5qrlx2gjfahpyy6c050wcif3pwwfff7i8wxf7xcmj21nqlwx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VtZW50IG9mIEFsdC1UYWIsIGl0ZXJhdGVzIHRocm91Z2ggd2luZG93cyBpbiBhIGNvdmVyLWZsb3cgbWFubmVyLiIsCiAgIm5hbWUiOiAiQ292ZXJmbG93IEFsdC1UYWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RtbzYwL0NvdmVyZmxvd0FsdFRhYiIsCiAgInV1aWQiOiAiQ292ZXJmbG93QWx0VGFiQHBhbGF0aXMuYmxvZ3Nwb3QuY29tIiwKICAidmVyc2lvbiI6IDQ5Cn0="}, "41": {"version": "49", "sha256": "0mmz5qrlx2gjfahpyy6c050wcif3pwwfff7i8wxf7xcmj21nqlwx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VtZW50IG9mIEFsdC1UYWIsIGl0ZXJhdGVzIHRocm91Z2ggd2luZG93cyBpbiBhIGNvdmVyLWZsb3cgbWFubmVyLiIsCiAgIm5hbWUiOiAiQ292ZXJmbG93IEFsdC1UYWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RtbzYwL0NvdmVyZmxvd0FsdFRhYiIsCiAgInV1aWQiOiAiQ292ZXJmbG93QWx0VGFiQHBhbGF0aXMuYmxvZ3Nwb3QuY29tIiwKICAidmVyc2lvbiI6IDQ5Cn0="}}}
+, {"uuid": "CoverflowAltTab@palatis.blogspot.com", "name": "Coverflow Alt-Tab", "pname": "coverflow-alt-tab", "description": "Replacement of Alt-Tab, iterates through windows in a cover-flow manner.", "link": "https://extensions.gnome.org/extension/97/coverflow-alt-tab/", "shell_version_map": {"38": {"version": "44", "sha256": "18qpriqi0h6la45bl584hglnni0ka2d5q4qv61wdcan28a7kywq4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNpbm5hbW9uLXZlcnNpb24iOiBbCiAgICAiMS4yIiwKICAgICIxLjQiLAogICAgIjEuNiIsCiAgICAiMS44IiwKICAgICIxLjkiLAogICAgIjIuMCIsCiAgICAiMi4xIiwKICAgICIyLjIiLAogICAgIjIuMyIsCiAgICAiMi40IiwKICAgICIyLjgiLAogICAgIjMuMCIKICBdLAogICJkZXNjcmlwdGlvbiI6ICJSZXBsYWNlbWVudCBvZiBBbHQtVGFiLCBpdGVyYXRlcyB0aHJvdWdoIHdpbmRvd3MgaW4gYSBjb3Zlci1mbG93IG1hbm5lci4iLAogICJuYW1lIjogIkNvdmVyZmxvdyBBbHQtVGFiIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG1vNjAvQ292ZXJmbG93QWx0VGFiIiwKICAidXVpZCI6ICJDb3ZlcmZsb3dBbHRUYWJAcGFsYXRpcy5ibG9nc3BvdC5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}, "40": {"version": "49", "sha256": "0mmz5qrlx2gjfahpyy6c050wcif3pwwfff7i8wxf7xcmj21nqlwx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VtZW50IG9mIEFsdC1UYWIsIGl0ZXJhdGVzIHRocm91Z2ggd2luZG93cyBpbiBhIGNvdmVyLWZsb3cgbWFubmVyLiIsCiAgIm5hbWUiOiAiQ292ZXJmbG93IEFsdC1UYWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RtbzYwL0NvdmVyZmxvd0FsdFRhYiIsCiAgInV1aWQiOiAiQ292ZXJmbG93QWx0VGFiQHBhbGF0aXMuYmxvZ3Nwb3QuY29tIiwKICAidmVyc2lvbiI6IDQ5Cn0="}, "41": {"version": "49", "sha256": "0mmz5qrlx2gjfahpyy6c050wcif3pwwfff7i8wxf7xcmj21nqlwx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VtZW50IG9mIEFsdC1UYWIsIGl0ZXJhdGVzIHRocm91Z2ggd2luZG93cyBpbiBhIGNvdmVyLWZsb3cgbWFubmVyLiIsCiAgIm5hbWUiOiAiQ292ZXJmbG93IEFsdC1UYWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RtbzYwL0NvdmVyZmxvd0FsdFRhYiIsCiAgInV1aWQiOiAiQ292ZXJmbG93QWx0VGFiQHBhbGF0aXMuYmxvZ3Nwb3QuY29tIiwKICAidmVyc2lvbiI6IDQ5Cn0="}, "42": {"version": "51", "sha256": "0pa96ksxv5c5rygdxq7r6gjif14qq9x72f4qfgpyf6972nrfw74q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VtZW50IG9mIEFsdC1UYWIsIGl0ZXJhdGVzIHRocm91Z2ggd2luZG93cyBpbiBhIGNvdmVyLWZsb3cgbWFubmVyLiIsCiAgIm5hbWUiOiAiQ292ZXJmbG93IEFsdC1UYWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG1vNjAvQ292ZXJmbG93QWx0VGFiIiwKICAidXVpZCI6ICJDb3ZlcmZsb3dBbHRUYWJAcGFsYXRpcy5ibG9nc3BvdC5jb20iLAogICJ2ZXJzaW9uIjogNTEKfQ=="}}}
 , {"uuid": "netspeed@hedayaty.gmail.com", "name": "NetSpeed", "pname": "netspeed", "description": "Displays Internet Speed", "link": "https://extensions.gnome.org/extension/104/netspeed/", "shell_version_map": {"40": {"version": "34", "sha256": "04137rwnnf2mbp228wl9qjcix6i7757cqsdamabdrjwclg147vql", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIEludGVybmV0IFNwZWVkIiwKICAibmFtZSI6ICJOZXRTcGVlZCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJoZWRheWF0eUBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlZGF5YXR5L05ldFNwZWVkIiwKICAidXVpZCI6ICJuZXRzcGVlZEBoZWRheWF0eS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "41": {"version": "34", "sha256": "04137rwnnf2mbp228wl9qjcix6i7757cqsdamabdrjwclg147vql", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIEludGVybmV0IFNwZWVkIiwKICAibmFtZSI6ICJOZXRTcGVlZCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJoZWRheWF0eUBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlZGF5YXR5L05ldFNwZWVkIiwKICAidXVpZCI6ICJuZXRzcGVlZEBoZWRheWF0eS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}}}
 , {"uuid": "favorites@cvine.org", "name": "Favorites Menu", "pname": "favorites-menu", "description": "Provide panel menu for favorites", "link": "https://extensions.gnome.org/extension/115/favorites-menu/", "shell_version_map": {"40": {"version": "15", "sha256": "02s0p33dcr6wrxivjd47rwb42whqc6qswr3qdvd7p6jym4zddbi2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgcGFuZWwgbWVudSBmb3IgZmF2b3JpdGVzIiwKICAibmFtZSI6ICJGYXZvcml0ZXMgTWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHA6Ly93d3cuY3ZpbmUucGx1cy5jb20vZmF2b3JpdGVzL2luZGV4Lmh0bWwiLAogICJ1dWlkIjogImZhdm9yaXRlc0BjdmluZS5vcmciLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "18", "sha256": "1ibamk57121qdd0g0mlbg569sk2qqpap1914vfg1ip3nh1n4fym5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgcGFuZWwgbWVudSBmb3IgZmF2b3JpdGVzIiwKICAibmFtZSI6ICJGYXZvcml0ZXMgTWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwOi8vd3d3LmN2aW5lLnBsdXMuY29tL2Zhdm9yaXRlcy9pbmRleC5odG1sIiwKICAidXVpZCI6ICJmYXZvcml0ZXNAY3ZpbmUub3JnIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "42": {"version": "18", "sha256": "1ibamk57121qdd0g0mlbg569sk2qqpap1914vfg1ip3nh1n4fym5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgcGFuZWwgbWVudSBmb3IgZmF2b3JpdGVzIiwKICAibmFtZSI6ICJGYXZvcml0ZXMgTWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwOi8vd3d3LmN2aW5lLnBsdXMuY29tL2Zhdm9yaXRlcy9pbmRleC5odG1sIiwKICAidXVpZCI6ICJmYXZvcml0ZXNAY3ZpbmUub3JnIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
 , {"uuid": "system-monitor@paradoxxx.zero.gmail.com", "name": "system-monitor", "pname": "system-monitor", "description": "Display system information in GNOME Shell status bar, such as memory, CPU, disk and battery usages, network rates…", "link": "https://extensions.gnome.org/extension/120/system-monitor/", "shell_version_map": {"40": {"version": "40", "sha256": "05xmpbwwjzax5y7p7a492k6mmv9rjiyinnrfkzrzm16yncn3mbvj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogInN5c3RlbS1tb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcmFkb3h4eHplcm8vZ25vbWUtc2hlbGwtc3lzdGVtLW1vbml0b3ItYXBwbGV0IiwKICAidXVpZCI6ICJzeXN0ZW0tbW9uaXRvckBwYXJhZG94eHguemVyby5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}}}
@@ -29,7 +29,7 @@
 , {"uuid": "dash-to-dock@micxgx.gmail.com", "name": "Dash to Dock", "pname": "dash-to-dock", "description": "A dock for the Gnome Shell. This extension moves the dash out of the overview transforming it in a dock for an easier launching of applications and a faster switching between windows and desktops. Side and bottom placement options are available.", "link": "https://extensions.gnome.org/extension/307/dash-to-dock/", "shell_version_map": {"38": {"version": "69", "sha256": "1nmqg875lxbxn8plwgmsrkhq126hcv56yl6iyq5wc4ljp98niaw0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZG9jayBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBvdXQgb2YgdGhlIG92ZXJ2aWV3IHRyYW5zZm9ybWluZyBpdCBpbiBhIGRvY2sgZm9yIGFuIGVhc2llciBsYXVuY2hpbmcgb2YgYXBwbGljYXRpb25zIGFuZCBhIGZhc3RlciBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIGFuZCBkZXNrdG9wcy4gU2lkZSBhbmQgYm90dG9tIHBsYWNlbWVudCBvcHRpb25zIGFyZSBhdmFpbGFibGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaHRvZG9jayIsCiAgIm5hbWUiOiAiRGFzaCB0byBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vbWljaGVsZWcuZ2l0aHViLmlvL2Rhc2gtdG8tZG9jay8iLAogICJ1dWlkIjogImRhc2gtdG8tZG9ja0BtaWN4Z3guZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDY5Cn0="}, "40": {"version": "71", "sha256": "071zxnbkh946x1fm16ddwlknaig15cm0dl7kvw97vhx6cw6668c3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZG9jayBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBvdXQgb2YgdGhlIG92ZXJ2aWV3IHRyYW5zZm9ybWluZyBpdCBpbiBhIGRvY2sgZm9yIGFuIGVhc2llciBsYXVuY2hpbmcgb2YgYXBwbGljYXRpb25zIGFuZCBhIGZhc3RlciBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIGFuZCBkZXNrdG9wcy4gU2lkZSBhbmQgYm90dG9tIHBsYWNlbWVudCBvcHRpb25zIGFyZSBhdmFpbGFibGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaHRvZG9jayIsCiAgIm5hbWUiOiAiRGFzaCB0byBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9taWNoZWxlZy5naXRodWIuaW8vZGFzaC10by1kb2NrLyIsCiAgInV1aWQiOiAiZGFzaC10by1kb2NrQG1pY3hneC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNzEKfQ=="}, "41": {"version": "71", "sha256": "071zxnbkh946x1fm16ddwlknaig15cm0dl7kvw97vhx6cw6668c3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZG9jayBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBvdXQgb2YgdGhlIG92ZXJ2aWV3IHRyYW5zZm9ybWluZyBpdCBpbiBhIGRvY2sgZm9yIGFuIGVhc2llciBsYXVuY2hpbmcgb2YgYXBwbGljYXRpb25zIGFuZCBhIGZhc3RlciBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIGFuZCBkZXNrdG9wcy4gU2lkZSBhbmQgYm90dG9tIHBsYWNlbWVudCBvcHRpb25zIGFyZSBhdmFpbGFibGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaHRvZG9jayIsCiAgIm5hbWUiOiAiRGFzaCB0byBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9taWNoZWxlZy5naXRodWIuaW8vZGFzaC10by1kb2NrLyIsCiAgInV1aWQiOiAiZGFzaC10by1kb2NrQG1pY3hneC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNzEKfQ=="}}}
 , {"uuid": "mythtv-fnx@fnxweb.com", "name": "MythTV", "pname": "mythtv", "description": "Displays MythTV status (free space and upcoming recordings)", "link": "https://extensions.gnome.org/extension/321/mythtv/", "shell_version_map": {"38": {"version": "10", "sha256": "070h11gk5zpxn5xbc71skdz174hbb72l0isia2vp7d9wy4ackl0k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIE15dGhUViBzdGF0dXMgKGZyZWUgc3BhY2UgYW5kIHVwY29taW5nIHJlY29yZGluZ3MpIiwKICAibmFtZSI6ICJNeXRoVFYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mbnh3ZWIvZ25vbWUtc2hlbGwtbXl0aHR2IiwKICAidXVpZCI6ICJteXRodHYtZm54QGZueHdlYi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "middleclickclose@paolo.tranquilli.gmail.com", "name": "Quick Close in Overview", "pname": "middle-click-to-close-in-overview", "description": "Close windows with a button click (the middle one by default) when in overview mode", "link": "https://extensions.gnome.org/extension/352/middle-click-to-close-in-overview/", "shell_version_map": {"38": {"version": "17", "sha256": "1nv6cjyiz1i7fddh21h0zmrvzfi3y70y1f0xsv2zd0rfg6rf0r77", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHdpbmRvd3Mgd2l0aCBhIGJ1dHRvbiBjbGljayAodGhlIG1pZGRsZSBvbmUgYnkgZGVmYXVsdCkgd2hlbiBpbiBvdmVydmlldyBtb2RlIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJRdWljayBDbG9zZSBpbiBPdmVydmlldyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiUGFvbG8gVHJhbnF1aWxsaSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWlkZGxlY2xpY2tjbG9zZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3A5MXBhdWwvbWlkZGxlY2xpY2tjbG9zZSIsCiAgInV1aWQiOiAibWlkZGxlY2xpY2tjbG9zZUBwYW9sby50cmFucXVpbGxpLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "40": {"version": "23", "sha256": "1zbnizandqdsakncs3q7p6ylagdf49v5wz658vx47mh4mzbmisfa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHdpbmRvd3Mgd2l0aCBhIGJ1dHRvbiBjbGljayAodGhlIG1pZGRsZSBvbmUgYnkgZGVmYXVsdCkgd2hlbiBpbiBvdmVydmlldyBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWlkZGxlY2xpY2tjbG9zZSIsCiAgImxvY2FsZSI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiUXVpY2sgQ2xvc2UgaW4gT3ZlcnZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIlBhb2xvIFRyYW5xdWlsbGkiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pZGRsZWNsaWNrY2xvc2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3A5MXBhdWwvbWlkZGxlY2xpY2tjbG9zZSIsCiAgInV1aWQiOiAibWlkZGxlY2xpY2tjbG9zZUBwYW9sby50cmFucXVpbGxpLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"}, "41": {"version": "23", "sha256": "1zbnizandqdsakncs3q7p6ylagdf49v5wz658vx47mh4mzbmisfa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHdpbmRvd3Mgd2l0aCBhIGJ1dHRvbiBjbGljayAodGhlIG1pZGRsZSBvbmUgYnkgZGVmYXVsdCkgd2hlbiBpbiBvdmVydmlldyBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWlkZGxlY2xpY2tjbG9zZSIsCiAgImxvY2FsZSI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiUXVpY2sgQ2xvc2UgaW4gT3ZlcnZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIlBhb2xvIFRyYW5xdWlsbGkiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pZGRsZWNsaWNrY2xvc2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3A5MXBhdWwvbWlkZGxlY2xpY2tjbG9zZSIsCiAgInV1aWQiOiAibWlkZGxlY2xpY2tjbG9zZUBwYW9sby50cmFucXVpbGxpLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"}}}
-, {"uuid": "status-area-horizontal-spacing@mathematical.coffee.gmail.com", "name": "Status Area Horizontal Spacing", "pname": "status-area-horizontal-spacing", "description": "Reduce the horizontal spacing between icons in the top-right status area", "link": "https://extensions.gnome.org/extension/355/status-area-horizontal-spacing/", "shell_version_map": {"38": {"version": "16", "sha256": "05hhj10hlcpbgd9sbvq89vxzqj6ndf21syas8zidy6yfy613b6l3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjQiLAogICAgIjMuNiIsCiAgICAiMy44IiwKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcDkxcGF1bC9zdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmdAbWF0aGVtYXRpY2FsLmNvZmZlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "40": {"version": "20", "sha256": "1hj58i77bm3maczinvwp2lyxyvnxjf49p7afylp5jwfin4wkw7m5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9wOTFwYXVsL3N0YXR1cy1hcmVhLWhvcml6b250YWwtc3BhY2luZy1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInN0YXR1cy1hcmVhLWhvcml6b250YWwtc3BhY2luZ0BtYXRoZW1hdGljYWwuY29mZmVlLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}, "41": {"version": "20", "sha256": "1hj58i77bm3maczinvwp2lyxyvnxjf49p7afylp5jwfin4wkw7m5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9wOTFwYXVsL3N0YXR1cy1hcmVhLWhvcml6b250YWwtc3BhY2luZy1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInN0YXR1cy1hcmVhLWhvcml6b250YWwtc3BhY2luZ0BtYXRoZW1hdGljYWwuY29mZmVlLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}}}
+, {"uuid": "status-area-horizontal-spacing@mathematical.coffee.gmail.com", "name": "Status Area Horizontal Spacing", "pname": "status-area-horizontal-spacing", "description": "Reduce the horizontal spacing between icons in the top-right status area", "link": "https://extensions.gnome.org/extension/355/status-area-horizontal-spacing/", "shell_version_map": {"38": {"version": "16", "sha256": "05hhj10hlcpbgd9sbvq89vxzqj6ndf21syas8zidy6yfy613b6l3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjQiLAogICAgIjMuNiIsCiAgICAiMy44IiwKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcDkxcGF1bC9zdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmdAbWF0aGVtYXRpY2FsLmNvZmZlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "40": {"version": "21", "sha256": "1szpxz6ybvq76di2a6bkyv234v0afw2bn12xjcgdzpzvxzr9y3da", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcDkxcGF1bC9zdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmdAbWF0aGVtYXRpY2FsLmNvZmZlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "41": {"version": "21", "sha256": "1szpxz6ybvq76di2a6bkyv234v0afw2bn12xjcgdzpzvxzr9y3da", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcDkxcGF1bC9zdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmdAbWF0aGVtYXRpY2FsLmNvZmZlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "42": {"version": "21", "sha256": "1szpxz6ybvq76di2a6bkyv234v0afw2bn12xjcgdzpzvxzr9y3da", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcDkxcGF1bC9zdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmdAbWF0aGVtYXRpY2FsLmNvZmZlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}}}
 , {"uuid": "activities-config@nls1729", "name": "Activities Configurator", "pname": "activities-configurator", "description": "Activities Configurator, activities-config@nls1729 -  Effective March 29, 2021 the extension is NOT MAINTAINED.  I give my permission to anyone who may want to become the maintainer.  I do not have the free time or energy necessary to maintain the extension.\n\nConfigure the Activities Button and Top Panel. Select an icon. Change the text. Disable Hot Corner or set the Hot Corner Threshold. Set Panel Background color and transparency plus much more to enhance your desktop.  Click the icon or text with the secondary mouse button to launch the GS Extension Prefs.", "link": "https://extensions.gnome.org/extension/358/activities-configurator/", "shell_version_map": {"38": {"version": "89", "sha256": "1z00smimg5fj6ri35g80bvfzzy5xxxrgwy4idsakphszdwryi8ny", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2aXRpZXMgQ29uZmlndXJhdG9yLCBhY3Rpdml0aWVzLWNvbmZpZ0BubHMxNzI5IC0gIEVmZmVjdGl2ZSBNYXJjaCAyOSwgMjAyMSB0aGUgZXh0ZW5zaW9uIGlzIE5PVCBNQUlOVEFJTkVELiAgSSBnaXZlIG15IHBlcm1pc3Npb24gdG8gYW55b25lIHdobyBtYXkgd2FudCB0byBiZWNvbWUgdGhlIG1haW50YWluZXIuICBJIGRvIG5vdCBoYXZlIHRoZSBmcmVlIHRpbWUgb3IgZW5lcmd5IG5lY2Vzc2FyeSB0byBtYWludGFpbiB0aGUgZXh0ZW5zaW9uLlxuXG5Db25maWd1cmUgdGhlIEFjdGl2aXRpZXMgQnV0dG9uIGFuZCBUb3AgUGFuZWwuIFNlbGVjdCBhbiBpY29uLiBDaGFuZ2UgdGhlIHRleHQuIERpc2FibGUgSG90IENvcm5lciBvciBzZXQgdGhlIEhvdCBDb3JuZXIgVGhyZXNob2xkLiBTZXQgUGFuZWwgQmFja2dyb3VuZCBjb2xvciBhbmQgdHJhbnNwYXJlbmN5IHBsdXMgbXVjaCBtb3JlIHRvIGVuaGFuY2UgeW91ciBkZXNrdG9wLiAgQ2xpY2sgdGhlIGljb24gb3IgdGV4dCB3aXRoIHRoZSBzZWNvbmRhcnkgbW91c2UgYnV0dG9uIHRvIGxhdW5jaCB0aGUgR1MgRXh0ZW5zaW9uIFByZWZzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhY3Rpdml0aWVzLWNvbmZpZyIsCiAgImdldHRleHQtZG9tYWluIjogImFjdGl2aXRpZXMtY29uZmlnLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBDb25maWd1cmF0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWN0aXZpdGllcy1jb25maWciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vbmxzMTcyOS5naXRodWIuaW8vYWN0aXZpdGllc19jb25maWcuaHRtbCIsCiAgInV1aWQiOiAiYWN0aXZpdGllcy1jb25maWdAbmxzMTcyOSIsCiAgInZlcnNpb24iOiA4OQp9"}}}
 , {"uuid": "calc@danigm.wadobo.com", "name": "calc", "pname": "calc", "description": "Simple run dialog calculation", "link": "https://extensions.gnome.org/extension/388/calc/", "shell_version_map": {"40": {"version": "10", "sha256": "0zp9riszgiagai57mkl9pzj34fwg30l33ib611dddapvvj19y5cg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBydW4gZGlhbG9nIGNhbGN1bGF0aW9uIiwKICAibmFtZSI6ICJjYWxjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNhbGNAZGFuaWdtLndhZG9iby5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "0zp9riszgiagai57mkl9pzj34fwg30l33ib611dddapvvj19y5cg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBydW4gZGlhbG9nIGNhbGN1bGF0aW9uIiwKICAibmFtZSI6ICJjYWxjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNhbGNAZGFuaWdtLndhZG9iby5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "0zp9riszgiagai57mkl9pzj34fwg30l33ib611dddapvvj19y5cg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBydW4gZGlhbG9nIGNhbGN1bGF0aW9uIiwKICAibmFtZSI6ICJjYWxjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNhbGNAZGFuaWdtLndhZG9iby5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "remmina-search-provider@alexmurray.github.com", "name": "Remmina Search Provider", "pname": "remmina-search-provider", "description": "Search for Remmina Remote Desktop Connections\n\nEasily search for and launch connections to remote machines by name and protocol.", "link": "https://extensions.gnome.org/extension/473/remmina-search-provider/", "shell_version_map": {"40": {"version": "13", "sha256": "04wxydmbx0nm5ss2i10y4alxsr6fkia2is85ln23k25bqn8b4csi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBmb3IgUmVtbWluYSBSZW1vdGUgRGVza3RvcCBDb25uZWN0aW9uc1xuXG5FYXNpbHkgc2VhcmNoIGZvciBhbmQgbGF1bmNoIGNvbm5lY3Rpb25zIHRvIHJlbW90ZSBtYWNoaW5lcyBieSBuYW1lIGFuZCBwcm90b2NvbC4iLAogICJuYW1lIjogIlJlbW1pbmEgU2VhcmNoIFByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjMyIiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleG11cnJheS9yZW1taW5hLXNlYXJjaC1wcm92aWRlci8iLAogICJ1dWlkIjogInJlbW1pbmEtc2VhcmNoLXByb3ZpZGVyQGFsZXhtdXJyYXkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
@@ -41,7 +41,7 @@
 , {"uuid": "hdate@hatul.info", "name": "Gnome HDate", "pname": "gnome-hdate", "description": "Show Hebrew Date in the Panel.\nRequires libhdate-glib", "link": "https://extensions.gnome.org/extension/554/gnome-hdate/", "shell_version_map": {"40": {"version": "23", "sha256": "14n41x3808gp35wkd89cwprxgmh9w5sqfi5jx7i8rpa0cb1jzw34", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSGVicmV3IERhdGUgaW4gdGhlIFBhbmVsLlxuUmVxdWlyZXMgbGliaGRhdGUtZ2xpYiIsCiAgIm5hbWUiOiAiR25vbWUgSERhdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtaWFkL2dub21lLWhkYXRlIiwKICAidXVpZCI6ICJoZGF0ZUBoYXR1bC5pbmZvIiwKICAidmVyc2lvbiI6IDIzCn0="}, "41": {"version": "23", "sha256": "14n41x3808gp35wkd89cwprxgmh9w5sqfi5jx7i8rpa0cb1jzw34", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSGVicmV3IERhdGUgaW4gdGhlIFBhbmVsLlxuUmVxdWlyZXMgbGliaGRhdGUtZ2xpYiIsCiAgIm5hbWUiOiAiR25vbWUgSERhdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtaWFkL2dub21lLWhkYXRlIiwKICAidXVpZCI6ICJoZGF0ZUBoYXR1bC5pbmZvIiwKICAidmVyc2lvbiI6IDIzCn0="}, "42": {"version": "23", "sha256": "14n41x3808gp35wkd89cwprxgmh9w5sqfi5jx7i8rpa0cb1jzw34", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSGVicmV3IERhdGUgaW4gdGhlIFBhbmVsLlxuUmVxdWlyZXMgbGliaGRhdGUtZ2xpYiIsCiAgIm5hbWUiOiAiR25vbWUgSERhdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtaWFkL2dub21lLWhkYXRlIiwKICAidXVpZCI6ICJoZGF0ZUBoYXR1bC5pbmZvIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
 , {"uuid": "todo.txt@bart.libert.gmail.com", "name": "Todo.txt", "pname": "todotxt", "description": "A Gnome shell interface for todo.txt. \n\nTodo.txt is a future-proof syntax for tasks (not made by me), for more info: http://todotxt.com/\n\nSome examples:\nTask: Basic task\n(A) Task: High priority task\nTask @project +context: Task is part of project and has a certain context\nx 2013-08-22 Task: Task was completed on the 22nd of August\n\nFor more info about the syntax: https://github.com/ginatrapani/todo.txt-cli/wiki/The-Todo.txt-Format\n\nQuick start:\nWhen you first enable the extension, chances are high you'll see a [X] in your top panel. If you click the [X], you will be able to choose between creating the necessary files automatically or selecting your own existing files to be used with the extension.\n\nPlease use the issue tracker on the homepage to report bugs and/or file feature requests, this makes tracking easier for me. Thanks!\n\nSee the included CHANGELOG.md for info about changes between different versions, or see it online: https://gitlab.com/bartl/todo-txt-gnome-shell-extension/raw/master/CHANGELOG.md", "link": "https://extensions.gnome.org/extension/570/todotxt/", "shell_version_map": {"38": {"version": "33", "sha256": "1spq0i8w9xw8zgq3niqzs2dslg01l0gsbcys26p8lpydz0dsy7xa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3Jhdy9tYXN0ZXIvQ0hBTkdFTE9HLm1kIiwKICAibmFtZSI6ICJUb2RvLnR4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2JhcnRsL3RvZG8tdHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidG9kby50eHRAYmFydC5saWJlcnQuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMzCn0="}, "40": {"version": "35", "sha256": "18vc11nls6giskq94kw48kbcx399706rglaqsmla4yvix0jkd8lz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3Jhdy9tYXN0ZXIvQ0hBTkdFTE9HLm1kIiwKICAibmFtZSI6ICJUb2RvLnR4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9iYXJ0bC90b2RvLXR4dC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZG8udHh0QGJhcnQubGliZXJ0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzNQp9"}, "41": {"version": "37", "sha256": "0nixk7nwn987qrkmcbf5lkq2yj4ijq4hszmhz7fqrvvhlivp8xix", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3Jhdy9tYXN0ZXIvQ0hBTkdFTE9HLm1kIiwKICAibmFtZSI6ICJUb2RvLnR4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0b2RvLnR4dEBiYXJ0LmxpYmVydC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="}, "42": {"version": "37", "sha256": "0nixk7nwn987qrkmcbf5lkq2yj4ijq4hszmhz7fqrvvhlivp8xix", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3Jhdy9tYXN0ZXIvQ0hBTkdFTE9HLm1kIiwKICAibmFtZSI6ICJUb2RvLnR4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0b2RvLnR4dEBiYXJ0LmxpYmVydC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="}}}
 , {"uuid": "text_translator@awamper.gmail.com", "name": "Text Translator", "pname": "text-translator", "description": "** Needs the package translate-shell **\nTranslation of the text by different translators (currently Google.Translate, Yandex.Translate).\nShortcuts:\nSuper+T - open translator dialog.\nSuper+Shift+T - open translator dialog and translate text from clipboard.\nSuper+Alt+T - open translator dialog and translate from primary selection.\nCtrl+Enter+ - Translate text.\nCtrl+Shift+C - copy translated text to clipboard.\nCtrl+S - swap languages.\nCtrl+D - reset languages to default\nTab+ - toggle transliteration of result text.", "link": "https://extensions.gnome.org/extension/593/text-translator/", "shell_version_map": {"38": {"version": "36", "sha256": "1idzgg4vb791k5dryjvznr6mfwfx59vlgabw2n3spysbwvjv2a48", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIioqIE5lZWRzIHRoZSBwYWNrYWdlIHRyYW5zbGF0ZS1zaGVsbCAqKlxuVHJhbnNsYXRpb24gb2YgdGhlIHRleHQgYnkgZGlmZmVyZW50IHRyYW5zbGF0b3JzIChjdXJyZW50bHkgR29vZ2xlLlRyYW5zbGF0ZSwgWWFuZGV4LlRyYW5zbGF0ZSkuXG5TaG9ydGN1dHM6XG5TdXBlcitUIC0gb3BlbiB0cmFuc2xhdG9yIGRpYWxvZy5cblN1cGVyK1NoaWZ0K1QgLSBvcGVuIHRyYW5zbGF0b3IgZGlhbG9nIGFuZCB0cmFuc2xhdGUgdGV4dCBmcm9tIGNsaXBib2FyZC5cblN1cGVyK0FsdCtUIC0gb3BlbiB0cmFuc2xhdG9yIGRpYWxvZyBhbmQgdHJhbnNsYXRlIGZyb20gcHJpbWFyeSBzZWxlY3Rpb24uXG5DdHJsK0VudGVyKyAtIFRyYW5zbGF0ZSB0ZXh0LlxuQ3RybCtTaGlmdCtDIC0gY29weSB0cmFuc2xhdGVkIHRleHQgdG8gY2xpcGJvYXJkLlxuQ3RybCtTIC0gc3dhcCBsYW5ndWFnZXMuXG5DdHJsK0QgLSByZXNldCBsYW5ndWFnZXMgdG8gZGVmYXVsdFxuVGFiKyAtIHRvZ2dsZSB0cmFuc2xpdGVyYXRpb24gb2YgcmVzdWx0IHRleHQuIiwKICAibmFtZSI6ICJUZXh0IFRyYW5zbGF0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGV4dC10cmFuc2xhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ3Vmb2UvdGV4dC10cmFuc2xhdG9yIiwKICAidXVpZCI6ICJ0ZXh0X3RyYW5zbGF0b3JAYXdhbXBlci5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzYKfQ=="}}}
-, {"uuid": "autohide-battery@sitnik.ru", "name": "Autohide Battery", "pname": "autohide-battery", "description": "Hide battery icon in top panel, if battery is fully charged and AC is connected", "link": "https://extensions.gnome.org/extension/595/autohide-battery/", "shell_version_map": {"40": {"version": "26", "sha256": "0y9gy7y2y43z3vhcbqrjlbzv4yph8y3h3l3hapawbdzdp4nm337z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvYXV0b2hpZGUtYmF0dGVyeSIsCiAgInV1aWQiOiAiYXV0b2hpZGUtYmF0dGVyeUBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}, "41": {"version": "26", "sha256": "0y9gy7y2y43z3vhcbqrjlbzv4yph8y3h3l3hapawbdzdp4nm337z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvYXV0b2hpZGUtYmF0dGVyeSIsCiAgInV1aWQiOiAiYXV0b2hpZGUtYmF0dGVyeUBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}, "42": {"version": "26", "sha256": "0y9gy7y2y43z3vhcbqrjlbzv4yph8y3h3l3hapawbdzdp4nm337z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvYXV0b2hpZGUtYmF0dGVyeSIsCiAgInV1aWQiOiAiYXV0b2hpZGUtYmF0dGVyeUBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}}}
+, {"uuid": "autohide-battery@sitnik.ru", "name": "Autohide Battery", "pname": "autohide-battery", "description": "Hide battery icon in top panel, if battery is fully charged and AC is connected", "link": "https://extensions.gnome.org/extension/595/autohide-battery/", "shell_version_map": {"40": {"version": "27", "sha256": "0wgsnqnn5mgrr2sn1bsjrsl028swbwfdmf9zclb7sz859ia88zlp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvYXV0b2hpZGUtYmF0dGVyeSIsCiAgInV1aWQiOiAiYXV0b2hpZGUtYmF0dGVyeUBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogMjcKfQ=="}, "41": {"version": "27", "sha256": "0wgsnqnn5mgrr2sn1bsjrsl028swbwfdmf9zclb7sz859ia88zlp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvYXV0b2hpZGUtYmF0dGVyeSIsCiAgInV1aWQiOiAiYXV0b2hpZGUtYmF0dGVyeUBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogMjcKfQ=="}, "42": {"version": "27", "sha256": "0wgsnqnn5mgrr2sn1bsjrsl028swbwfdmf9zclb7sz859ia88zlp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvYXV0b2hpZGUtYmF0dGVyeSIsCiAgInV1aWQiOiAiYXV0b2hpZGUtYmF0dGVyeUBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogMjcKfQ=="}}}
 , {"uuid": "launch-new-instance@gnome-shell-extensions.gcampax.github.com", "name": "Launch new instance", "pname": "launch-new-instance", "description": "Always launch a new instance when clicking in the dash or the application view.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "link": "https://extensions.gnome.org/extension/600/launch-new-instance/", "shell_version_map": {"38": {"version": "29", "sha256": "0qb1ajjwm076zxsd314n7f5vl72ih7j4h9y84bqwb9cxa53mp4g4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJMYXVuY2ggbmV3IGluc3RhbmNlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJsYXVuY2gtbmV3LWluc3RhbmNlQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI5Cn0="}, "40": {"version": "31", "sha256": "0c667wdrpfd8bh2wygglzk1bp63z6xvknhj2rhw8v3vlmhpn8994", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJMYXVuY2ggbmV3IGluc3RhbmNlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAibGF1bmNoLW5ldy1pbnN0YW5jZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzMQp9"}, "41": {"version": "33", "sha256": "1z2kjrqaziw5v5sig92kng302w3pdkkkcl7dlhwjqlgfhkhpdxlm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "42": {"version": "34", "sha256": "1vx1dbb8sq5ss3ilqah92nja6ivqnijywj2wkg29akz8ijbss19f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}}}
 , {"uuid": "window-list@gnome-shell-extensions.gcampax.github.com", "name": "Window List", "pname": "window-list", "description": "Display a window list at the bottom of the screen.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "link": "https://extensions.gnome.org/extension/602/window-list/", "shell_version_map": {"38": {"version": "34", "sha256": "06jww5sv3a32plbvnl1xch10y19q807dx6zn6z5gwpvq8n0nvnx3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIldpbmRvdyBMaXN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndpbmRvdy1saXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "40": {"version": "41", "sha256": "16vf0b3wqr5s6fqxqlz3ly28nkvsv3ygvfk1sqxgrpqnw823x8bl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDEKfQ=="}, "41": {"version": "42", "sha256": "1jhgnzlrpnbhqx4rkr9nf7yrwdbc9h6n46aindfpp7kdgv2spymi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDIKfQ=="}, "42": {"version": "43", "sha256": "1dslg2dn48jqjd8mh2bcxrzp98skf1wgfhygw3l9fjaw41jvv1jv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDMKfQ=="}}}
 , {"uuid": "MultiClock@mibus.org", "name": "MultiClock", "pname": "multiclock", "description": "A clock for showing a second timezone in the panel.", "link": "https://extensions.gnome.org/extension/605/multiclock/", "shell_version_map": {"40": {"version": "8", "sha256": "1pp1cnmpix668mrywpv6mkyb45lw7f6cwibjl6bc7cgb01hkzd53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgY2xvY2sgZm9yIHNob3dpbmcgYSBzZWNvbmQgdGltZXpvbmUgaW4gdGhlIHBhbmVsLiIsCiAgIm5hbWUiOiAiTXVsdGlDbG9jayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5taWJ1c011bHRpQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWJ1cy9NdWx0aUNsb2NrIiwKICAidXVpZCI6ICJNdWx0aUNsb2NrQG1pYnVzLm9yZyIsCiAgInZlcnNpb24iOiA4Cn0="}}}
@@ -56,14 +56,14 @@
 , {"uuid": "pixel-saver@deadalnix.me", "name": "Pixel Saver", "pname": "pixel-saver", "description": "Pixel Saver is designed to save pixel by fusing activity bar and title bar in a natural way", "link": "https://extensions.gnome.org/extension/723/pixel-saver/", "shell_version_map": {"38": {"version": "26", "sha256": "1i284r5443cypw7jq31rrbc4f075piaq872331qnrrynv4s1k8cn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkiLAogICJuYW1lIjogIlBpeGVsIFNhdmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0MS4xIiwKICAgICI0MS4yIiwKICAgICI0MS4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVhZGFsbml4L3BpeGVsLXNhdmVyIiwKICAidXVpZCI6ICJwaXhlbC1zYXZlckBkZWFkYWxuaXgubWUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}, "40": {"version": "26", "sha256": "1i284r5443cypw7jq31rrbc4f075piaq872331qnrrynv4s1k8cn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkiLAogICJuYW1lIjogIlBpeGVsIFNhdmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0MS4xIiwKICAgICI0MS4yIiwKICAgICI0MS4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVhZGFsbml4L3BpeGVsLXNhdmVyIiwKICAidXVpZCI6ICJwaXhlbC1zYXZlckBkZWFkYWxuaXgubWUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}, "41": {"version": "26", "sha256": "1i284r5443cypw7jq31rrbc4f075piaq872331qnrrynv4s1k8cn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkiLAogICJuYW1lIjogIlBpeGVsIFNhdmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0MS4xIiwKICAgICI0MS4yIiwKICAgICI0MS4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVhZGFsbml4L3BpeGVsLXNhdmVyIiwKICAidXVpZCI6ICJwaXhlbC1zYXZlckBkZWFkYWxuaXgubWUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}, "42": {"version": "26", "sha256": "1i284r5443cypw7jq31rrbc4f075piaq872331qnrrynv4s1k8cn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkiLAogICJuYW1lIjogIlBpeGVsIFNhdmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0MS4xIiwKICAgICI0MS4yIiwKICAgICI0MS4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVhZGFsbml4L3BpeGVsLXNhdmVyIiwKICAidXVpZCI6ICJwaXhlbC1zYXZlckBkZWFkYWxuaXgubWUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}}}
 , {"uuid": "breakreminder@danielfalk22.gmail.com", "name": "Break Reminder", "pname": "break-reminder", "description": "Get a reminder to take a break", "link": "https://extensions.gnome.org/extension/734/break-reminder/", "shell_version_map": {"38": {"version": "6", "sha256": "0k21wj98ldx52m7s8sgndqziqnn7n0g2j45lsi31kfjydhyj3dmk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBhIHJlbWluZGVyIHRvIHRha2UgYSBicmVhayIsCiAgIm5hbWUiOiAiQnJlYWsgUmVtaW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZWxmYWxrL2dub21lM2JyZWFrcmVtaW5kZXIiLAogICJ1dWlkIjogImJyZWFrcmVtaW5kZXJAZGFuaWVsZmFsazIyLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "Hide_Activities@shay.shayel.org", "name": "Hide Activities Button", "pname": "hide-activities-button", "description": "Hides the Activities button from the status bar (the hot corner and keyboard shortcut keeps working). To disable top left hot corner use 'No Topleft Hot Corner' extension — https://extensions.gnome.org/extension/118/no-topleft-hot-corner/ .", "link": "https://extensions.gnome.org/extension/744/hide-activities-button/", "shell_version_map": {"38": {"version": "13", "sha256": "0kr8ygb5wv2p2fzkd5gm7v9kcc54mdcrb4v1v3x1sniqgq69d856", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQWN0aXZpdGllc0BzaGF5LnNoYXllbC5vcmciLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "40": {"version": "13", "sha256": "0kr8ygb5wv2p2fzkd5gm7v9kcc54mdcrb4v1v3x1sniqgq69d856", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQWN0aXZpdGllc0BzaGF5LnNoYXllbC5vcmciLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "0kr8ygb5wv2p2fzkd5gm7v9kcc54mdcrb4v1v3x1sniqgq69d856", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQWN0aXZpdGllc0BzaGF5LnNoYXllbC5vcmciLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "42": {"version": "13", "sha256": "0kr8ygb5wv2p2fzkd5gm7v9kcc54mdcrb4v1v3x1sniqgq69d856", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQWN0aXZpdGllc0BzaGF5LnNoYXllbC5vcmciLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
-, {"uuid": "openweather-extension@jenslody.de", "name": "OpenWeather", "pname": "openweather", "description": "I'm sorry to say, that I am not able to  work on this project anymore.\nI simply don't have the power to do it any longer.\nIf anybody wants to take it over, feel free to fork it.\nBest wishes to all the users.\n\nJens\n\nWeather extension to display weather information from https://openweathermap.org/ or https://darksky.net for almost all locations in the world.\nFor openweathermap.org, you can either use the extensions default-key or register at https://openweathermap.org/appid and set the appropriate switch in the preferences dialog to \"off\".\nFor Dark Sky you have to register at https://darksky.net/dev/register and get a personal API-key.\n\nSince version 29 this extensions uses coordinates to store the locations and makes the names editable to support multiple weather-providers!\nIf you update from versions prior to 29 to 29 or greater (with darksky.net - support) you have to recreate your locations.", "link": "https://extensions.gnome.org/extension/750/openweather/", "shell_version_map": {"38": {"version": "105", "sha256": "05zwhm3fjjbjas8diiza00vf8808qnbyhxbs1mfbxqv8wmsvwvw8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkknbSBzb3JyeSB0byBzYXksIHRoYXQgSSBhbSBub3QgYWJsZSB0byAgd29yayBvbiB0aGlzIHByb2plY3QgYW55bW9yZS5cbkkgc2ltcGx5IGRvbid0IGhhdmUgdGhlIHBvd2VyIHRvIGRvIGl0IGFueSBsb25nZXIuXG5JZiBhbnlib2R5IHdhbnRzIHRvIHRha2UgaXQgb3ZlciwgZmVlbCBmcmVlIHRvIGZvcmsgaXQuXG5CZXN0IHdpc2hlcyB0byBhbGwgdGhlIHVzZXJzLlxuXG5KZW5zXG5cbldlYXRoZXIgZXh0ZW5zaW9uIHRvIGRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmcm9tIGh0dHBzOi8vb3BlbndlYXRoZXJtYXAub3JnLyBvciBodHRwczovL2Rhcmtza3kubmV0IGZvciBhbG1vc3QgYWxsIGxvY2F0aW9ucyBpbiB0aGUgd29ybGQuXG5Gb3Igb3BlbndlYXRoZXJtYXAub3JnLCB5b3UgY2FuIGVpdGhlciB1c2UgdGhlIGV4dGVuc2lvbnMgZGVmYXVsdC1rZXkgb3IgcmVnaXN0ZXIgYXQgaHR0cHM6Ly9vcGVud2VhdGhlcm1hcC5vcmcvYXBwaWQgYW5kIHNldCB0aGUgYXBwcm9wcmlhdGUgc3dpdGNoIGluIHRoZSBwcmVmZXJlbmNlcyBkaWFsb2cgdG8gXCJvZmZcIi5cbkZvciBEYXJrIFNreSB5b3UgaGF2ZSB0byByZWdpc3RlciBhdCBodHRwczovL2Rhcmtza3kubmV0L2Rldi9yZWdpc3RlciBhbmQgZ2V0IGEgcGVyc29uYWwgQVBJLWtleS5cblxuU2luY2UgdmVyc2lvbiAyOSB0aGlzIGV4dGVuc2lvbnMgdXNlcyBjb29yZGluYXRlcyB0byBzdG9yZSB0aGUgbG9jYXRpb25zIGFuZCBtYWtlcyB0aGUgbmFtZXMgZWRpdGFibGUgdG8gc3VwcG9ydCBtdWx0aXBsZSB3ZWF0aGVyLXByb3ZpZGVycyFcbklmIHlvdSB1cGRhdGUgZnJvbSB2ZXJzaW9ucyBwcmlvciB0byAyOSB0byAyOSBvciBncmVhdGVyICh3aXRoIGRhcmtza3kubmV0IC0gc3VwcG9ydCkgeW91IGhhdmUgdG8gcmVjcmVhdGUgeW91ciBsb2NhdGlvbnMuIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJPcGVuV2VhdGhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2plbnNsb2R5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1vcGVud2VhdGhlciIsCiAgInV1aWQiOiAib3BlbndlYXRoZXItZXh0ZW5zaW9uQGplbnNsb2R5LmRlIiwKICAidmVyc2lvbiI6IDEwNQp9"}, "40": {"version": "106", "sha256": "14srszaxzr11fh9s545pdgwg5rqim5lyqvjdga5rvbmp53d71qmx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkknbSBzb3JyeSB0byBzYXksIHRoYXQgSSBhbSBub3QgYWJsZSB0byAgd29yayBvbiB0aGlzIHByb2plY3QgYW55bW9yZS5cbkkgc2ltcGx5IGRvbid0IGhhdmUgdGhlIHBvd2VyIHRvIGRvIGl0IGFueSBsb25nZXIuXG5JZiBhbnlib2R5IHdhbnRzIHRvIHRha2UgaXQgb3ZlciwgZmVlbCBmcmVlIHRvIGZvcmsgaXQuXG5CZXN0IHdpc2hlcyB0byBhbGwgdGhlIHVzZXJzLlxuXG5KZW5zXG5cbldlYXRoZXIgZXh0ZW5zaW9uIHRvIGRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmcm9tIGh0dHBzOi8vb3BlbndlYXRoZXJtYXAub3JnLyBvciBodHRwczovL2Rhcmtza3kubmV0IGZvciBhbG1vc3QgYWxsIGxvY2F0aW9ucyBpbiB0aGUgd29ybGQuXG5Gb3Igb3BlbndlYXRoZXJtYXAub3JnLCB5b3UgY2FuIGVpdGhlciB1c2UgdGhlIGV4dGVuc2lvbnMgZGVmYXVsdC1rZXkgb3IgcmVnaXN0ZXIgYXQgaHR0cHM6Ly9vcGVud2VhdGhlcm1hcC5vcmcvYXBwaWQgYW5kIHNldCB0aGUgYXBwcm9wcmlhdGUgc3dpdGNoIGluIHRoZSBwcmVmZXJlbmNlcyBkaWFsb2cgdG8gXCJvZmZcIi5cbkZvciBEYXJrIFNreSB5b3UgaGF2ZSB0byByZWdpc3RlciBhdCBodHRwczovL2Rhcmtza3kubmV0L2Rldi9yZWdpc3RlciBhbmQgZ2V0IGEgcGVyc29uYWwgQVBJLWtleS5cblxuU2luY2UgdmVyc2lvbiAyOSB0aGlzIGV4dGVuc2lvbnMgdXNlcyBjb29yZGluYXRlcyB0byBzdG9yZSB0aGUgbG9jYXRpb25zIGFuZCBtYWtlcyB0aGUgbmFtZXMgZWRpdGFibGUgdG8gc3VwcG9ydCBtdWx0aXBsZSB3ZWF0aGVyLXByb3ZpZGVycyFcbklmIHlvdSB1cGRhdGUgZnJvbSB2ZXJzaW9ucyBwcmlvciB0byAyOSB0byAyOSBvciBncmVhdGVyICh3aXRoIGRhcmtza3kubmV0IC0gc3VwcG9ydCkgeW91IGhhdmUgdG8gcmVjcmVhdGUgeW91ciBsb2NhdGlvbnMuIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJPcGVuV2VhdGhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qZW5zbG9keS9nbm9tZS1zaGVsbC1leHRlbnNpb24tb3BlbndlYXRoZXIiLAogICJ1dWlkIjogIm9wZW53ZWF0aGVyLWV4dGVuc2lvbkBqZW5zbG9keS5kZSIsCiAgInZlcnNpb24iOiAxMDYKfQ=="}}}
+, {"uuid": "openweather-extension@jenslody.de", "name": "OpenWeather", "pname": "openweather", "description": "Display weather information for any location on Earth in the GNOME Shell", "link": "https://extensions.gnome.org/extension/750/openweather/", "shell_version_map": {"38": {"version": "105", "sha256": "0mz63xcvd8v6kyak2n0fs0rd07vwy2j3mdbj9nzvcd71askdm5rd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmb3IgYW55IGxvY2F0aW9uIG9uIEVhcnRoIGluIHRoZSBHTk9NRSBTaGVsbCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiT3BlbldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9za3Jld2JhbGwvb3BlbndlYXRoZXIiLAogICJ1dWlkIjogIm9wZW53ZWF0aGVyLWV4dGVuc2lvbkBqZW5zbG9keS5kZSIsCiAgInZlcnNpb24iOiAxMDUKfQ=="}, "40": {"version": "107", "sha256": "1j5q7m2mig0yamhpgq9bh9amwc9dxxqlkfvkbs4j1w1yk8syji3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmb3IgYW55IGxvY2F0aW9uIG9uIEVhcnRoIGluIHRoZSBHTk9NRSBTaGVsbCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiT3BlbldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9za3Jld2JhbGwvb3BlbndlYXRoZXIiLAogICJ1dWlkIjogIm9wZW53ZWF0aGVyLWV4dGVuc2lvbkBqZW5zbG9keS5kZSIsCiAgInZlcnNpb24iOiAxMDcKfQ=="}, "41": {"version": "107", "sha256": "1j5q7m2mig0yamhpgq9bh9amwc9dxxqlkfvkbs4j1w1yk8syji3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmb3IgYW55IGxvY2F0aW9uIG9uIEVhcnRoIGluIHRoZSBHTk9NRSBTaGVsbCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiT3BlbldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9za3Jld2JhbGwvb3BlbndlYXRoZXIiLAogICJ1dWlkIjogIm9wZW53ZWF0aGVyLWV4dGVuc2lvbkBqZW5zbG9keS5kZSIsCiAgInZlcnNpb24iOiAxMDcKfQ=="}, "42": {"version": "107", "sha256": "1j5q7m2mig0yamhpgq9bh9amwc9dxxqlkfvkbs4j1w1yk8syji3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmb3IgYW55IGxvY2F0aW9uIG9uIEVhcnRoIGluIHRoZSBHTk9NRSBTaGVsbCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiT3BlbldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9za3Jld2JhbGwvb3BlbndlYXRoZXIiLAogICJ1dWlkIjogIm9wZW53ZWF0aGVyLWV4dGVuc2lvbkBqZW5zbG9keS5kZSIsCiAgInZlcnNpb24iOiAxMDcKfQ=="}}}
 , {"uuid": "audio-output-switcher@anduchs", "name": "Audio Output Switcher", "pname": "audio-output-switcher", "description": "Adds a switch for choosing audio output to the system menu.", "link": "https://extensions.gnome.org/extension/751/audio-output-switcher/", "shell_version_map": {"38": {"version": "19", "sha256": "02z1smlc0k308sr462l9pwf2gsldqdzjalbc364i4b7286qyakxc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIG91dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJBdWRpbyBPdXRwdXQgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2FkYXhpL2F1ZGlvLW91dHB1dC1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYXVkaW8tb3V0cHV0LXN3aXRjaGVyQGFuZHVjaHMiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "40": {"version": "19", "sha256": "02z1smlc0k308sr462l9pwf2gsldqdzjalbc364i4b7286qyakxc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIG91dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJBdWRpbyBPdXRwdXQgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2FkYXhpL2F1ZGlvLW91dHB1dC1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYXVkaW8tb3V0cHV0LXN3aXRjaGVyQGFuZHVjaHMiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "41": {"version": "19", "sha256": "02z1smlc0k308sr462l9pwf2gsldqdzjalbc364i4b7286qyakxc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIG91dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJBdWRpbyBPdXRwdXQgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2FkYXhpL2F1ZGlvLW91dHB1dC1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYXVkaW8tb3V0cHV0LXN3aXRjaGVyQGFuZHVjaHMiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "42": {"version": "19", "sha256": "02z1smlc0k308sr462l9pwf2gsldqdzjalbc364i4b7286qyakxc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIG91dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJBdWRpbyBPdXRwdXQgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2FkYXhpL2F1ZGlvLW91dHB1dC1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYXVkaW8tb3V0cHV0LXN3aXRjaGVyQGFuZHVjaHMiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
-, {"uuid": "hibernate-status@dromi", "name": "Hibernate Status Button", "pname": "hibernate-status-button", "description": "Adds a Hibernate button in Status menu. Using Alt modifier, you can also select Hybrid Sleep instead.", "link": "https://extensions.gnome.org/extension/755/hibernate-status-button/", "shell_version_map": {"38": {"version": "27", "sha256": "0yqzg2nz040vsv0ilwkjkza03qxns18gq4055gq0c3k051jy6d4v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAibmFtZSI6ICJIaWJlcm5hdGUgU3RhdHVzIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FyZWxhbmdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1oaWJlcm5hdGUtc3RhdHVzIiwKICAidXVpZCI6ICJoaWJlcm5hdGUtc3RhdHVzQGRyb21pIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "40": {"version": "32", "sha256": "1jx687q54n14vyn8mmlzq6yrhg5ksda3cph26wzzdhd7nz940rv7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlLXN0YXR1cy1idXR0b24iLAogICJuYW1lIjogIkhpYmVybmF0ZSBTdGF0dXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmVsYW5nZS9nbm9tZS1zaGVsbC1leHRlbnNpb24taGliZXJuYXRlLXN0YXR1cyIsCiAgInV1aWQiOiAiaGliZXJuYXRlLXN0YXR1c0Bkcm9taSIsCiAgInZlcnNpb24iOiAzMgp9"}, "41": {"version": "32", "sha256": "1jx687q54n14vyn8mmlzq6yrhg5ksda3cph26wzzdhd7nz940rv7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlLXN0YXR1cy1idXR0b24iLAogICJuYW1lIjogIkhpYmVybmF0ZSBTdGF0dXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmVsYW5nZS9nbm9tZS1zaGVsbC1leHRlbnNpb24taGliZXJuYXRlLXN0YXR1cyIsCiAgInV1aWQiOiAiaGliZXJuYXRlLXN0YXR1c0Bkcm9taSIsCiAgInZlcnNpb24iOiAzMgp9"}}}
+, {"uuid": "hibernate-status@dromi", "name": "Hibernate Status Button", "pname": "hibernate-status-button", "description": "Adds a Hibernate button in Status menu. Using Alt modifier, you can also select Hybrid Sleep instead.", "link": "https://extensions.gnome.org/extension/755/hibernate-status-button/", "shell_version_map": {"38": {"version": "27", "sha256": "0yqzg2nz040vsv0ilwkjkza03qxns18gq4055gq0c3k051jy6d4v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAibmFtZSI6ICJIaWJlcm5hdGUgU3RhdHVzIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FyZWxhbmdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1oaWJlcm5hdGUtc3RhdHVzIiwKICAidXVpZCI6ICJoaWJlcm5hdGUtc3RhdHVzQGRyb21pIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "40": {"version": "33", "sha256": "181j95bhmrkvxvpam8ysrxzsaznfkgnn92xxfkg86lavvyl1alv5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlLXN0YXR1cy1idXR0b24iLAogICJuYW1lIjogIkhpYmVybmF0ZSBTdGF0dXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJlbGFuZ2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWhpYmVybmF0ZS1zdGF0dXMiLAogICJ1dWlkIjogImhpYmVybmF0ZS1zdGF0dXNAZHJvbWkiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "41": {"version": "33", "sha256": "181j95bhmrkvxvpam8ysrxzsaznfkgnn92xxfkg86lavvyl1alv5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlLXN0YXR1cy1idXR0b24iLAogICJuYW1lIjogIkhpYmVybmF0ZSBTdGF0dXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJlbGFuZ2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWhpYmVybmF0ZS1zdGF0dXMiLAogICJ1dWlkIjogImhpYmVybmF0ZS1zdGF0dXNAZHJvbWkiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "42": {"version": "33", "sha256": "181j95bhmrkvxvpam8ysrxzsaznfkgnn92xxfkg86lavvyl1alv5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlLXN0YXR1cy1idXR0b24iLAogICJuYW1lIjogIkhpYmVybmF0ZSBTdGF0dXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJlbGFuZ2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWhpYmVybmF0ZS1zdGF0dXMiLAogICJ1dWlkIjogImhpYmVybmF0ZS1zdGF0dXNAZHJvbWkiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}}}
 , {"uuid": "minimizeall@scharlessantos.org", "name": "Minimize All", "pname": "minimize-all", "description": "Minimize all windows in current workspace", "link": "https://extensions.gnome.org/extension/760/minimize-all/", "shell_version_map": {"38": {"version": "20", "sha256": "15v6h4wcznrylip57spjdkz0jk6y7hcp47607pj0yx5dmxjaws86", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplIGFsbCB3aW5kb3dzIGluIGN1cnJlbnQgd29ya3NwYWNlIiwKICAibmFtZSI6ICJNaW5pbWl6ZSBBbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vc2NoYXJsZXNzYW50b3MvbWluaW1pemVhbGwiLAogICJ1dWlkIjogIm1pbmltaXplYWxsQHNjaGFybGVzc2FudG9zLm9yZyIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "20", "sha256": "15v6h4wcznrylip57spjdkz0jk6y7hcp47607pj0yx5dmxjaws86", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplIGFsbCB3aW5kb3dzIGluIGN1cnJlbnQgd29ya3NwYWNlIiwKICAibmFtZSI6ICJNaW5pbWl6ZSBBbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vc2NoYXJsZXNzYW50b3MvbWluaW1pemVhbGwiLAogICJ1dWlkIjogIm1pbmltaXplYWxsQHNjaGFybGVzc2FudG9zLm9yZyIsCiAgInZlcnNpb24iOiAyMAp9"}}}
-, {"uuid": "fq@megh", "name": "Force Quit", "pname": "force-quit", "description": "Adds a force quit button.\nOn accidental click, right click or press [ESC] to undo.\nCustomize position by tweaking line 50 of extension.js", "link": "https://extensions.gnome.org/extension/770/force-quit/", "shell_version_map": {"38": {"version": "18", "sha256": "0xanpg1j01c8sngadxqavbi28187gnpzg32fwwdd091b1ijd235w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBmb3JjZSBxdWl0IGJ1dHRvbi5cbk9uIGFjY2lkZW50YWwgY2xpY2ssIHJpZ2h0IGNsaWNrIG9yIHByZXNzIFtFU0NdIHRvIHVuZG8uXG5DdXN0b21pemUgcG9zaXRpb24gYnkgdHdlYWtpbmcgbGluZSA1MCBvZiBleHRlbnNpb24uanMiLAogICJuYW1lIjogIkZvcmNlIFF1aXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWVnaHBya2gvZm9yY2UtcXVpdC8iLAogICJ1dWlkIjogImZxQG1lZ2giLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "40": {"version": "22", "sha256": "150x1zl55msv98frbgb718g2dxjhi96cgivb7kfgm65aj9kkfbgp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBmb3JjZSBxdWl0IGJ1dHRvbi5cbk9uIGFjY2lkZW50YWwgY2xpY2ssIHJpZ2h0IGNsaWNrIG9yIHByZXNzIFtFU0NdIHRvIHVuZG8uXG5DdXN0b21pemUgcG9zaXRpb24gYnkgdHdlYWtpbmcgbGluZSA1MCBvZiBleHRlbnNpb24uanMiLAogICJuYW1lIjogIkZvcmNlIFF1aXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZWdocHJraC9mb3JjZS1xdWl0LyIsCiAgInV1aWQiOiAiZnFAbWVnaCIsCiAgInZlcnNpb24iOiAyMgp9"}, "41": {"version": "22", "sha256": "150x1zl55msv98frbgb718g2dxjhi96cgivb7kfgm65aj9kkfbgp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBmb3JjZSBxdWl0IGJ1dHRvbi5cbk9uIGFjY2lkZW50YWwgY2xpY2ssIHJpZ2h0IGNsaWNrIG9yIHByZXNzIFtFU0NdIHRvIHVuZG8uXG5DdXN0b21pemUgcG9zaXRpb24gYnkgdHdlYWtpbmcgbGluZSA1MCBvZiBleHRlbnNpb24uanMiLAogICJuYW1lIjogIkZvcmNlIFF1aXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZWdocHJraC9mb3JjZS1xdWl0LyIsCiAgInV1aWQiOiAiZnFAbWVnaCIsCiAgInZlcnNpb24iOiAyMgp9"}, "42": {"version": "22", "sha256": "150x1zl55msv98frbgb718g2dxjhi96cgivb7kfgm65aj9kkfbgp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBmb3JjZSBxdWl0IGJ1dHRvbi5cbk9uIGFjY2lkZW50YWwgY2xpY2ssIHJpZ2h0IGNsaWNrIG9yIHByZXNzIFtFU0NdIHRvIHVuZG8uXG5DdXN0b21pemUgcG9zaXRpb24gYnkgdHdlYWtpbmcgbGluZSA1MCBvZiBleHRlbnNpb24uanMiLAogICJuYW1lIjogIkZvcmNlIFF1aXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZWdocHJraC9mb3JjZS1xdWl0LyIsCiAgInV1aWQiOiAiZnFAbWVnaCIsCiAgInZlcnNpb24iOiAyMgp9"}}}
+, {"uuid": "fq@megh", "name": "Force Quit", "pname": "force-quit", "description": "Adds a force quit button.\nOn accidental click, right click or press [ESC] to undo.\nCustomize position by tweaking line 50 of extension.js", "link": "https://extensions.gnome.org/extension/770/force-quit/", "shell_version_map": {"38": {"version": "18", "sha256": "0xanpg1j01c8sngadxqavbi28187gnpzg32fwwdd091b1ijd235w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBmb3JjZSBxdWl0IGJ1dHRvbi5cbk9uIGFjY2lkZW50YWwgY2xpY2ssIHJpZ2h0IGNsaWNrIG9yIHByZXNzIFtFU0NdIHRvIHVuZG8uXG5DdXN0b21pemUgcG9zaXRpb24gYnkgdHdlYWtpbmcgbGluZSA1MCBvZiBleHRlbnNpb24uanMiLAogICJuYW1lIjogIkZvcmNlIFF1aXQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWVnaHBya2gvZm9yY2UtcXVpdC8iLAogICJ1dWlkIjogImZxQG1lZ2giLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "40": {"version": "25", "sha256": "17gb04r5d6ha0c0kg51dqn2kanry63f1yzv9rcbxh282c5m0sr6n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBmb3JjZSBxdWl0IGJ1dHRvbi5cbk9uIGFjY2lkZW50YWwgY2xpY2ssIHJpZ2h0IGNsaWNrIG9yIHByZXNzIFtFU0NdIHRvIHVuZG8uXG5DdXN0b21pemUgcG9zaXRpb24gYnkgdHdlYWtpbmcgbGluZSA1MCBvZiBleHRlbnNpb24uanMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcUBtZWdoIiwKICAibmFtZSI6ICJGb3JjZSBRdWl0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWVnaHBya2gvZm9yY2UtcXVpdC8iLAogICJ1dWlkIjogImZxQG1lZ2giLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "41": {"version": "25", "sha256": "17gb04r5d6ha0c0kg51dqn2kanry63f1yzv9rcbxh282c5m0sr6n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBmb3JjZSBxdWl0IGJ1dHRvbi5cbk9uIGFjY2lkZW50YWwgY2xpY2ssIHJpZ2h0IGNsaWNrIG9yIHByZXNzIFtFU0NdIHRvIHVuZG8uXG5DdXN0b21pemUgcG9zaXRpb24gYnkgdHdlYWtpbmcgbGluZSA1MCBvZiBleHRlbnNpb24uanMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcUBtZWdoIiwKICAibmFtZSI6ICJGb3JjZSBRdWl0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWVnaHBya2gvZm9yY2UtcXVpdC8iLAogICJ1dWlkIjogImZxQG1lZ2giLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "42": {"version": "25", "sha256": "17gb04r5d6ha0c0kg51dqn2kanry63f1yzv9rcbxh282c5m0sr6n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBmb3JjZSBxdWl0IGJ1dHRvbi5cbk9uIGFjY2lkZW50YWwgY2xpY2ssIHJpZ2h0IGNsaWNrIG9yIHByZXNzIFtFU0NdIHRvIHVuZG8uXG5DdXN0b21pemUgcG9zaXRpb24gYnkgdHdlYWtpbmcgbGluZSA1MCBvZiBleHRlbnNpb24uanMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcUBtZWdoIiwKICAibmFtZSI6ICJGb3JjZSBRdWl0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWVnaHBya2gvZm9yY2UtcXVpdC8iLAogICJ1dWlkIjogImZxQG1lZ2giLAogICJ2ZXJzaW9uIjogMjUKfQ=="}}}
 , {"uuid": "ProxySwitcher@flannaghan.com", "name": "Proxy Switcher", "pname": "proxy-switcher", "description": "Switches between the system proxy settings profiles defined in Network Settings.", "link": "https://extensions.gnome.org/extension/771/proxy-switcher/", "shell_version_map": {"38": {"version": "17", "sha256": "0ap55mxnhwzxzv95jfc4l3bz9v6z04yn53yf233vbjsdpx55vh38", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGJldHdlZW4gdGhlIHN5c3RlbSBwcm94eSBzZXR0aW5ncyBwcm9maWxlcyBkZWZpbmVkIGluIE5ldHdvcmsgU2V0dGluZ3MuIiwKICAibmFtZSI6ICJQcm94eSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvbWZsYW5uYWdoYW4vcHJveHktc3dpdGNoZXIiLAogICJ1dWlkIjogIlByb3h5U3dpdGNoZXJAZmxhbm5hZ2hhbi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "17", "sha256": "0ap55mxnhwzxzv95jfc4l3bz9v6z04yn53yf233vbjsdpx55vh38", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGJldHdlZW4gdGhlIHN5c3RlbSBwcm94eSBzZXR0aW5ncyBwcm9maWxlcyBkZWZpbmVkIGluIE5ldHdvcmsgU2V0dGluZ3MuIiwKICAibmFtZSI6ICJQcm94eSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvbWZsYW5uYWdoYW4vcHJveHktc3dpdGNoZXIiLAogICJ1dWlkIjogIlByb3h5U3dpdGNoZXJAZmxhbm5hZ2hhbi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "0ap55mxnhwzxzv95jfc4l3bz9v6z04yn53yf233vbjsdpx55vh38", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGJldHdlZW4gdGhlIHN5c3RlbSBwcm94eSBzZXR0aW5ncyBwcm9maWxlcyBkZWZpbmVkIGluIE5ldHdvcmsgU2V0dGluZ3MuIiwKICAibmFtZSI6ICJQcm94eSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvbWZsYW5uYWdoYW4vcHJveHktc3dpdGNoZXIiLAogICJ1dWlkIjogIlByb3h5U3dpdGNoZXJAZmxhbm5hZ2hhbi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "42": {"version": "17", "sha256": "0ap55mxnhwzxzv95jfc4l3bz9v6z04yn53yf233vbjsdpx55vh38", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGJldHdlZW4gdGhlIHN5c3RlbSBwcm94eSBzZXR0aW5ncyBwcm9maWxlcyBkZWZpbmVkIGluIE5ldHdvcmsgU2V0dGluZ3MuIiwKICAibmFtZSI6ICJQcm94eSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvbWZsYW5uYWdoYW4vcHJveHktc3dpdGNoZXIiLAogICJ1dWlkIjogIlByb3h5U3dpdGNoZXJAZmxhbm5hZ2hhbi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
-, {"uuid": "clipboard-indicator@tudmotu.com", "name": "Clipboard Indicator", "pname": "clipboard-indicator", "description": "Clipboard Manager extension for Gnome-Shell - Adds a clipboard indicator to the top panel, and caches clipboard history.", "link": "https://extensions.gnome.org/extension/779/clipboard-indicator/", "shell_version_map": {"38": {"version": "37", "sha256": "1nd6ydp5wmd56zf3vwrsi2wflrw15krdbvqv2fkmla8rndallp1i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsaXBib2FyZCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgR25vbWUtU2hlbGwgLSBBZGRzIGEgY2xpcGJvYXJkIGluZGljYXRvciB0byB0aGUgdG9wIHBhbmVsLCBhbmQgY2FjaGVzIGNsaXBib2FyZCBoaXN0b3J5LiIsCiAgIm5hbWUiOiAiQ2xpcGJvYXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1R1ZG1vdHUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsaXBib2FyZC1pbmRpY2F0b3IiLAogICJ1dWlkIjogImNsaXBib2FyZC1pbmRpY2F0b3JAdHVkbW90dS5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="}, "40": {"version": "39", "sha256": "19zwg7jnf24cgqv75hzcz2a5w750kfc6yi6pn2azzknmwnsz0i7c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsaXBib2FyZCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgR25vbWUtU2hlbGwgLSBBZGRzIGEgY2xpcGJvYXJkIGluZGljYXRvciB0byB0aGUgdG9wIHBhbmVsLCBhbmQgY2FjaGVzIGNsaXBib2FyZCBoaXN0b3J5LiIsCiAgIm5hbWUiOiAiQ2xpcGJvYXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVHVkbW90dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xpcGJvYXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAiY2xpcGJvYXJkLWluZGljYXRvckB0dWRtb3R1LmNvbSIsCiAgInZlcnNpb24iOiAzOQp9"}, "41": {"version": "39", "sha256": "19zwg7jnf24cgqv75hzcz2a5w750kfc6yi6pn2azzknmwnsz0i7c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsaXBib2FyZCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgR25vbWUtU2hlbGwgLSBBZGRzIGEgY2xpcGJvYXJkIGluZGljYXRvciB0byB0aGUgdG9wIHBhbmVsLCBhbmQgY2FjaGVzIGNsaXBib2FyZCBoaXN0b3J5LiIsCiAgIm5hbWUiOiAiQ2xpcGJvYXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVHVkbW90dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xpcGJvYXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAiY2xpcGJvYXJkLWluZGljYXRvckB0dWRtb3R1LmNvbSIsCiAgInZlcnNpb24iOiAzOQp9"}}}
-, {"uuid": "pidgin@muffinmad", "name": "Pidgin IM integration", "pname": "pidgin-im-integration", "description": "Integrate Pidgin IMs in the Gnome Shell message tray", "link": "https://extensions.gnome.org/extension/782/pidgin-im-integration/", "shell_version_map": {"40": {"version": "41", "sha256": "1g2iflmb8rjzfc82yv8wcii99df5aaqx5czqkhxpf9pfsrkknhs9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBQaWRnaW4gSU1zIGluIHRoZSBHbm9tZSBTaGVsbCBtZXNzYWdlIHRyYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tcGlkZ2luIiwKICAibmFtZSI6ICJQaWRnaW4gSU0gaW50ZWdyYXRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGlkZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tdWZmaW5tYWQvcGlkZ2luLWltLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAicGlkZ2luQG11ZmZpbm1hZCIsCiAgInZlcnNpb24iOiA0MQp9"}, "41": {"version": "41", "sha256": "1g2iflmb8rjzfc82yv8wcii99df5aaqx5czqkhxpf9pfsrkknhs9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBQaWRnaW4gSU1zIGluIHRoZSBHbm9tZSBTaGVsbCBtZXNzYWdlIHRyYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tcGlkZ2luIiwKICAibmFtZSI6ICJQaWRnaW4gSU0gaW50ZWdyYXRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGlkZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tdWZmaW5tYWQvcGlkZ2luLWltLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAicGlkZ2luQG11ZmZpbm1hZCIsCiAgInZlcnNpb24iOiA0MQp9"}}}
+, {"uuid": "clipboard-indicator@tudmotu.com", "name": "Clipboard Indicator", "pname": "clipboard-indicator", "description": "Clipboard Manager extension for Gnome-Shell - Adds a clipboard indicator to the top panel, and caches clipboard history.\n\nSee contributors here:\nhttps://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator/graphs/contributors", "link": "https://extensions.gnome.org/extension/779/clipboard-indicator/", "shell_version_map": {"38": {"version": "37", "sha256": "1a9b5h4i17m3lmgs6qpmr30v2hjffsiad9rx0lgwcv7915a68pxp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsaXBib2FyZCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgR25vbWUtU2hlbGwgLSBBZGRzIGEgY2xpcGJvYXJkIGluZGljYXRvciB0byB0aGUgdG9wIHBhbmVsLCBhbmQgY2FjaGVzIGNsaXBib2FyZCBoaXN0b3J5LlxuXG5TZWUgY29udHJpYnV0b3JzIGhlcmU6XG5odHRwczovL2dpdGh1Yi5jb20vVHVkbW90dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xpcGJvYXJkLWluZGljYXRvci9ncmFwaHMvY29udHJpYnV0b3JzIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVHVkbW90dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xpcGJvYXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAiY2xpcGJvYXJkLWluZGljYXRvckB0dWRtb3R1LmNvbSIsCiAgInZlcnNpb24iOiAzNwp9"}, "40": {"version": "38", "sha256": "1vd51yczzs2yhfql8n0hqnphfw05nkqkqrwnz4wcp1xqslrryi6g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsaXBib2FyZCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgR25vbWUtU2hlbGwgLSBBZGRzIGEgY2xpcGJvYXJkIGluZGljYXRvciB0byB0aGUgdG9wIHBhbmVsLCBhbmQgY2FjaGVzIGNsaXBib2FyZCBoaXN0b3J5LlxuXG5TZWUgY29udHJpYnV0b3JzIGhlcmU6XG5odHRwczovL2dpdGh1Yi5jb20vVHVkbW90dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xpcGJvYXJkLWluZGljYXRvci9ncmFwaHMvY29udHJpYnV0b3JzIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1R1ZG1vdHUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsaXBib2FyZC1pbmRpY2F0b3IiLAogICJ1dWlkIjogImNsaXBib2FyZC1pbmRpY2F0b3JAdHVkbW90dS5jb20iLAogICJ2ZXJzaW9uIjogMzgKfQ=="}, "42": {"version": "42", "sha256": "1sgssg61z5dbqdcwychaxv0sv9g8392qa271iyn75p78l8lg03x9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsaXBib2FyZCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgR25vbWUtU2hlbGwgLSBBZGRzIGEgY2xpcGJvYXJkIGluZGljYXRvciB0byB0aGUgdG9wIHBhbmVsLCBhbmQgY2FjaGVzIGNsaXBib2FyZCBoaXN0b3J5LlxuXG5TZWUgY29udHJpYnV0b3JzIGhlcmU6XG5odHRwczovL2dpdGh1Yi5jb20vVHVkbW90dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2xpcGJvYXJkLWluZGljYXRvci9ncmFwaHMvY29udHJpYnV0b3JzIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1R1ZG1vdHUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsaXBib2FyZC1pbmRpY2F0b3IiLAogICJ1dWlkIjogImNsaXBib2FyZC1pbmRpY2F0b3JAdHVkbW90dS5jb20iLAogICJ2ZXJzaW9uIjogNDIKfQ=="}}}
+, {"uuid": "pidgin@muffinmad", "name": "Pidgin IM integration", "pname": "pidgin-im-integration", "description": "Integrate Pidgin IMs in the Gnome Shell message tray", "link": "https://extensions.gnome.org/extension/782/pidgin-im-integration/", "shell_version_map": {"40": {"version": "42", "sha256": "05cs3s6q54la1rrbrmr39dsdfi4ldcp6zrh2h61g2q5ysm38h3rc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBQaWRnaW4gSU1zIGluIHRoZSBHbm9tZSBTaGVsbCBtZXNzYWdlIHRyYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tcGlkZ2luIiwKICAibmFtZSI6ICJQaWRnaW4gSU0gaW50ZWdyYXRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGlkZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXVmZmlubWFkL3BpZGdpbi1pbS1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBpZGdpbkBtdWZmaW5tYWQiLAogICJ2ZXJzaW9uIjogNDIKfQ=="}, "41": {"version": "42", "sha256": "05cs3s6q54la1rrbrmr39dsdfi4ldcp6zrh2h61g2q5ysm38h3rc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBQaWRnaW4gSU1zIGluIHRoZSBHbm9tZSBTaGVsbCBtZXNzYWdlIHRyYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tcGlkZ2luIiwKICAibmFtZSI6ICJQaWRnaW4gSU0gaW50ZWdyYXRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGlkZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXVmZmlubWFkL3BpZGdpbi1pbS1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBpZGdpbkBtdWZmaW5tYWQiLAogICJ2ZXJzaW9uIjogNDIKfQ=="}, "42": {"version": "42", "sha256": "05cs3s6q54la1rrbrmr39dsdfi4ldcp6zrh2h61g2q5ysm38h3rc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBQaWRnaW4gSU1zIGluIHRoZSBHbm9tZSBTaGVsbCBtZXNzYWdlIHRyYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tcGlkZ2luIiwKICAibmFtZSI6ICJQaWRnaW4gSU0gaW50ZWdyYXRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucGlkZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXVmZmlubWFkL3BpZGdpbi1pbS1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBpZGdpbkBtdWZmaW5tYWQiLAogICJ2ZXJzaW9uIjogNDIKfQ=="}}}
 , {"uuid": "ShutdownTimer@neumann", "name": "ShutdownTimer", "pname": "shutdowntimer", "description": "Shutdown/suspend the device after a specific time.\n\nMaximum timer value und default slider position can be modified in the settings.", "link": "https://extensions.gnome.org/extension/792/shutdowntimer/", "shell_version_map": {"38": {"version": "34", "sha256": "1glzjcdv90w5mx0xqj57i0s3qgazr5dcdcin1kwb5mqvc362dd68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgdGhlIGRldmljZSBhZnRlciBhIHNwZWNpZmljIHRpbWUuXG5cbk1heGltdW0gdGltZXIgdmFsdWUgdW5kIGRlZmF1bHQgc2xpZGVyIHBvc2l0aW9uIGNhbiBiZSBtb2RpZmllZCBpbiB0aGUgc2V0dGluZ3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2h1dGRvd25UaW1lciIsCiAgIm5hbWUiOiAiU2h1dGRvd25UaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLW5ldW1hbm4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "40": {"version": "34", "sha256": "1glzjcdv90w5mx0xqj57i0s3qgazr5dcdcin1kwb5mqvc362dd68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgdGhlIGRldmljZSBhZnRlciBhIHNwZWNpZmljIHRpbWUuXG5cbk1heGltdW0gdGltZXIgdmFsdWUgdW5kIGRlZmF1bHQgc2xpZGVyIHBvc2l0aW9uIGNhbiBiZSBtb2RpZmllZCBpbiB0aGUgc2V0dGluZ3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2h1dGRvd25UaW1lciIsCiAgIm5hbWUiOiAiU2h1dGRvd25UaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLW5ldW1hbm4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "41": {"version": "34", "sha256": "1glzjcdv90w5mx0xqj57i0s3qgazr5dcdcin1kwb5mqvc362dd68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3N1c3BlbmQgdGhlIGRldmljZSBhZnRlciBhIHNwZWNpZmljIHRpbWUuXG5cbk1heGltdW0gdGltZXIgdmFsdWUgdW5kIGRlZmF1bHQgc2xpZGVyIHBvc2l0aW9uIGNhbiBiZSBtb2RpZmllZCBpbiB0aGUgc2V0dGluZ3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2h1dGRvd25UaW1lciIsCiAgIm5hbWUiOiAiU2h1dGRvd25UaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLW5ldW1hbm4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25ldW1hbm4tZC9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQG5ldW1hbm4iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}}}
 , {"uuid": "hide-dash@xenatt.github.com", "name": "Hide Dash X", "pname": "hide-dash", "description": "Hide the dash from the activities overview.", "link": "https://extensions.gnome.org/extension/805/hide-dash/", "shell_version_map": {"38": {"version": "10", "sha256": "059cy18awzv9qyn803zjyxiznacnf6pai8px2mb9mrbyf98153xz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGhlIGRhc2ggZnJvbSB0aGUgYWN0aXZpdGllcyBvdmVydmlldy4iLAogICJuYW1lIjogIkhpZGUgRGFzaCBYIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInphY2JhcnRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0VkZW5ob2Zlci9NaW5pbWFsaXNtLUdub21lLVNoZWxsIiwKICAidXVpZCI6ICJoaWRlLWRhc2hAeGVuYXR0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "hide-workspace@xenatt.github.com", "name": "Hide Workspace Thumbnails", "pname": "hide-workspace-thumbnails", "description": "Hide workspace thumbnails from the overview. But don't worry they are still present and one can switch between them like usual with e.g. shortcuts..", "link": "https://extensions.gnome.org/extension/808/hide-workspace-thumbnails/", "shell_version_map": {"40": {"version": "16", "sha256": "0443zyqr2hwq5fj3h8zch8iav83xzj4bqn1k6qd5f2z46kvzj611", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgd29ya3NwYWNlIHRodW1ibmFpbHMgZnJvbSB0aGUgb3ZlcnZpZXcuIEJ1dCBkb24ndCB3b3JyeSB0aGV5IGFyZSBzdGlsbCBwcmVzZW50IGFuZCBvbmUgY2FuIHN3aXRjaCBiZXR3ZWVuIHRoZW0gbGlrZSB1c3VhbCB3aXRoIGUuZy4gc2hvcnRjdXRzLi4iLAogICJuYW1lIjogIkhpZGUgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWRlbmhvZmVyL01pbmltYWxpc20tR25vbWUtU2hlbGwiLAogICJ1dWlkIjogImhpZGUtd29ya3NwYWNlQHhlbmF0dC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
@@ -79,9 +79,10 @@
 , {"uuid": "mailnag@pulb.github.com", "name": "Mailnag", "pname": "mailnag", "description": "Mail indicator (GMail, IMAP, POP) for GNOME.\n\nPlease note that this extension requires the mailnag daemon.\nInstall it from your distros package repositories or get it here:\nhttps://github.com/pulb/mailnag\n\nPlease also note that this version of the extension does not support avatars (as shown in the screenshot).\nIf you like to have avatar support install this extension from your distros package repositories or get a package from here:\nhttps://github.com/pulb/mailnag-gnome-shell\n\nIMPORTANT:\nI do not get notifications for user comments. Please always report bugs here:\nhttps://github.com/pulb/mailnag-gnome-shell/issues", "link": "https://extensions.gnome.org/extension/886/mailnag/", "shell_version_map": {"38": {"version": "20", "sha256": "15n816y34qlc7va72q75ngzw1my3n5j7xhg9a6dc0g8q4dd0g2r9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1haWwgaW5kaWNhdG9yIChHTWFpbCwgSU1BUCwgUE9QKSBmb3IgR05PTUUuXG5cblBsZWFzZSBub3RlIHRoYXQgdGhpcyBleHRlbnNpb24gcmVxdWlyZXMgdGhlIG1haWxuYWcgZGFlbW9uLlxuSW5zdGFsbCBpdCBmcm9tIHlvdXIgZGlzdHJvcyBwYWNrYWdlIHJlcG9zaXRvcmllcyBvciBnZXQgaXQgaGVyZTpcbmh0dHBzOi8vZ2l0aHViLmNvbS9wdWxiL21haWxuYWdcblxuUGxlYXNlIGFsc28gbm90ZSB0aGF0IHRoaXMgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGRvZXMgbm90IHN1cHBvcnQgYXZhdGFycyAoYXMgc2hvd24gaW4gdGhlIHNjcmVlbnNob3QpLlxuSWYgeW91IGxpa2UgdG8gaGF2ZSBhdmF0YXIgc3VwcG9ydCBpbnN0YWxsIHRoaXMgZXh0ZW5zaW9uIGZyb20geW91ciBkaXN0cm9zIHBhY2thZ2UgcmVwb3NpdG9yaWVzIG9yIGdldCBhIHBhY2thZ2UgZnJvbSBoZXJlOlxuaHR0cHM6Ly9naXRodWIuY29tL3B1bGIvbWFpbG5hZy1nbm9tZS1zaGVsbFxuXG5JTVBPUlRBTlQ6XG5JIGRvIG5vdCBnZXQgbm90aWZpY2F0aW9ucyBmb3IgdXNlciBjb21tZW50cy4gUGxlYXNlIGFsd2F5cyByZXBvcnQgYnVncyBoZXJlOlxuaHR0cHM6Ly9naXRodWIuY29tL3B1bGIvbWFpbG5hZy1nbm9tZS1zaGVsbC9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJtYWlsbmFnLWdub21lLXNoZWxsIiwKICAibmFtZSI6ICJNYWlsbmFnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1haWxuYWciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibWFpbG5hZ0BwdWxiLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "40": {"version": "21", "sha256": "060lmc6jacjv1p4a6n7c3l0kmfskq012pgrf2gar0kf49lqrp665", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1haWwgaW5kaWNhdG9yIChHTWFpbCwgSU1BUCwgUE9QKSBmb3IgR05PTUUuXG5cblBsZWFzZSBub3RlIHRoYXQgdGhpcyBleHRlbnNpb24gcmVxdWlyZXMgdGhlIG1haWxuYWcgZGFlbW9uLlxuSW5zdGFsbCBpdCBmcm9tIHlvdXIgZGlzdHJvcyBwYWNrYWdlIHJlcG9zaXRvcmllcyBvciBnZXQgaXQgaGVyZTpcbmh0dHBzOi8vZ2l0aHViLmNvbS9wdWxiL21haWxuYWdcblxuUGxlYXNlIGFsc28gbm90ZSB0aGF0IHRoaXMgdmVyc2lvbiBvZiB0aGUgZXh0ZW5zaW9uIGRvZXMgbm90IHN1cHBvcnQgYXZhdGFycyAoYXMgc2hvd24gaW4gdGhlIHNjcmVlbnNob3QpLlxuSWYgeW91IGxpa2UgdG8gaGF2ZSBhdmF0YXIgc3VwcG9ydCBpbnN0YWxsIHRoaXMgZXh0ZW5zaW9uIGZyb20geW91ciBkaXN0cm9zIHBhY2thZ2UgcmVwb3NpdG9yaWVzIG9yIGdldCBhIHBhY2thZ2UgZnJvbSBoZXJlOlxuaHR0cHM6Ly9naXRodWIuY29tL3B1bGIvbWFpbG5hZy1nbm9tZS1zaGVsbFxuXG5JTVBPUlRBTlQ6XG5JIGRvIG5vdCBnZXQgbm90aWZpY2F0aW9ucyBmb3IgdXNlciBjb21tZW50cy4gUGxlYXNlIGFsd2F5cyByZXBvcnQgYnVncyBoZXJlOlxuaHR0cHM6Ly9naXRodWIuY29tL3B1bGIvbWFpbG5hZy1nbm9tZS1zaGVsbC9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJtYWlsbmFnLWdub21lLXNoZWxsIiwKICAibmFtZSI6ICJNYWlsbmFnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1haWxuYWciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm1haWxuYWdAcHVsYi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIxCn0="}}}
 , {"uuid": "mmod-panel@mmogp.com", "name": "MMOD Panel", "pname": "mmod-panel", "description": "Upgrades the Topbar in Gnome3, creating a customizable panel and providing options for fine-tuning your Desktop Experience.\n\nFeatures include:\n▸ Set comfort levels to provide theme support and fine-tune the overall look and feel of the panel.\n▸ Set the location/position of the panel (bottom by default).\n▸ Add a button to the panel in place of the activities link, using an icon of your preference.\n▸ Auto-hide the panel when not active/in-focus (makes use of pressure/gesture for showing the panel).\n▸ Display and manage your favorites/running apps directly on the panel.\n▸ Move the date menu to the aggregate/tray area.\n▸ Access and manage your extension preferences directly from the aggregate menu.\n▸ Customize behavior of the overview and panel(hot-corners/animations/effects) to suit your preferences.\n▸ More to come soon!\n\nThis project is loosely based on the Panel Settings extension:\nhttps://github.com/eddiefullmetal/gnome-shell-extensions/tree/master/panelSettings%40eddiefullmetal.gr\n\nSadly, Panel Settings has not seen any maintenance in years, though this is why I decided to create MMOD Panel.\n\nI also took inspiration from the following Gnome extensions: System-Monitor, Taskbar, and DashToDock.\n\nFor those of you who are wondering, the theme used in the screen shot is the Zukitwo-Dark-Shell Shell Theme; \neverything else is default Gnome on Debian Buster. However, the author of the aforementioned shell theme has \nchanged the name for various reasons to Ciliora-Prima-Shell - which can be found here:\n\n  http://gnome-look.org/content/show.php?content=165096\n\nFor Gnome-Shell: 3.10, 3.12, 3.12.2, 3.14, 3.14.4, 3.16, 3.16.2, 3.18, 3.20, 3.22, 3.24, 3.26, 3.26.2, 3.28, 3.30, 3.32, 3.34, 3.35, 3.35.91, 3.36, 3.36.3, 3.36.4, 3.36.6, 3.38, 3.38.2, 40.0, 40.5, 41.0 (since version 12.0.0) f\nRik <rik@mmod.co>\n\nGerman Translation(s) for MMOD-Panel courtesy of Jonius Zeidler <jonatan_zeidler@gmx.de>\n\nSource Repository: https://gitlab.com/mmod/mmod-panel/\n", "link": "https://extensions.gnome.org/extension/898/mmod-panel/", "shell_version_map": {"38": {"version": "12", "sha256": "00sr6dcn7z5a8p9zq2xvvdac828m8f0akz3skb9sb9v8jay0m0hr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZ3JhZGVzIHRoZSBUb3BiYXIgaW4gR25vbWUzLCBjcmVhdGluZyBhIGN1c3RvbWl6YWJsZSBwYW5lbCBhbmQgcHJvdmlkaW5nIG9wdGlvbnMgZm9yIGZpbmUtdHVuaW5nIHlvdXIgRGVza3RvcCBFeHBlcmllbmNlLlxuXG5GZWF0dXJlcyBpbmNsdWRlOlxuXHUyNWI4IFNldCBjb21mb3J0IGxldmVscyB0byBwcm92aWRlIHRoZW1lIHN1cHBvcnQgYW5kIGZpbmUtdHVuZSB0aGUgb3ZlcmFsbCBsb29rIGFuZCBmZWVsIG9mIHRoZSBwYW5lbC5cblx1MjViOCBTZXQgdGhlIGxvY2F0aW9uL3Bvc2l0aW9uIG9mIHRoZSBwYW5lbCAoYm90dG9tIGJ5IGRlZmF1bHQpLlxuXHUyNWI4IEFkZCBhIGJ1dHRvbiB0byB0aGUgcGFuZWwgaW4gcGxhY2Ugb2YgdGhlIGFjdGl2aXRpZXMgbGluaywgdXNpbmcgYW4gaWNvbiBvZiB5b3VyIHByZWZlcmVuY2UuXG5cdTI1YjggQXV0by1oaWRlIHRoZSBwYW5lbCB3aGVuIG5vdCBhY3RpdmUvaW4tZm9jdXMgKG1ha2VzIHVzZSBvZiBwcmVzc3VyZS9nZXN0dXJlIGZvciBzaG93aW5nIHRoZSBwYW5lbCkuXG5cdTI1YjggRGlzcGxheSBhbmQgbWFuYWdlIHlvdXIgZmF2b3JpdGVzL3J1bm5pbmcgYXBwcyBkaXJlY3RseSBvbiB0aGUgcGFuZWwuXG5cdTI1YjggTW92ZSB0aGUgZGF0ZSBtZW51IHRvIHRoZSBhZ2dyZWdhdGUvdHJheSBhcmVhLlxuXHUyNWI4IEFjY2VzcyBhbmQgbWFuYWdlIHlvdXIgZXh0ZW5zaW9uIHByZWZlcmVuY2VzIGRpcmVjdGx5IGZyb20gdGhlIGFnZ3JlZ2F0ZSBtZW51LlxuXHUyNWI4IEN1c3RvbWl6ZSBiZWhhdmlvciBvZiB0aGUgb3ZlcnZpZXcgYW5kIHBhbmVsKGhvdC1jb3JuZXJzL2FuaW1hdGlvbnMvZWZmZWN0cykgdG8gc3VpdCB5b3VyIHByZWZlcmVuY2VzLlxuXHUyNWI4IE1vcmUgdG8gY29tZSBzb29uIVxuXG5UaGlzIHByb2plY3QgaXMgbG9vc2VseSBiYXNlZCBvbiB0aGUgUGFuZWwgU2V0dGluZ3MgZXh0ZW5zaW9uOlxuaHR0cHM6Ly9naXRodWIuY29tL2VkZGllZnVsbG1ldGFsL2dub21lLXNoZWxsLWV4dGVuc2lvbnMvdHJlZS9tYXN0ZXIvcGFuZWxTZXR0aW5ncyU0MGVkZGllZnVsbG1ldGFsLmdyXG5cblNhZGx5LCBQYW5lbCBTZXR0aW5ncyBoYXMgbm90IHNlZW4gYW55IG1haW50ZW5hbmNlIGluIHllYXJzLCB0aG91Z2ggdGhpcyBpcyB3aHkgSSBkZWNpZGVkIHRvIGNyZWF0ZSBNTU9EIFBhbmVsLlxuXG5JIGFsc28gdG9vayBpbnNwaXJhdGlvbiBmcm9tIHRoZSBmb2xsb3dpbmcgR25vbWUgZXh0ZW5zaW9uczogU3lzdGVtLU1vbml0b3IsIFRhc2tiYXIsIGFuZCBEYXNoVG9Eb2NrLlxuXG5Gb3IgdGhvc2Ugb2YgeW91IHdobyBhcmUgd29uZGVyaW5nLCB0aGUgdGhlbWUgdXNlZCBpbiB0aGUgc2NyZWVuIHNob3QgaXMgdGhlIFp1a2l0d28tRGFyay1TaGVsbCBTaGVsbCBUaGVtZTsgXG5ldmVyeXRoaW5nIGVsc2UgaXMgZGVmYXVsdCBHbm9tZSBvbiBEZWJpYW4gQnVzdGVyLiBIb3dldmVyLCB0aGUgYXV0aG9yIG9mIHRoZSBhZm9yZW1lbnRpb25lZCBzaGVsbCB0aGVtZSBoYXMgXG5jaGFuZ2VkIHRoZSBuYW1lIGZvciB2YXJpb3VzIHJlYXNvbnMgdG8gQ2lsaW9yYS1QcmltYS1TaGVsbCAtIHdoaWNoIGNhbiBiZSBmb3VuZCBoZXJlOlxuXG4gIGh0dHA6Ly9nbm9tZS1sb29rLm9yZy9jb250ZW50L3Nob3cucGhwP2NvbnRlbnQ9MTY1MDk2XG5cbkZvciBHbm9tZS1TaGVsbDogMy4xMCwgMy4xMiwgMy4xMi4yLCAzLjE0LCAzLjE0LjQsIDMuMTYsIDMuMTYuMiwgMy4xOCwgMy4yMCwgMy4yMiwgMy4yNCwgMy4yNiwgMy4yNi4yLCAzLjI4LCAzLjMwLCAzLjMyLCAzLjM0LCAzLjM1LCAzLjM1LjkxLCAzLjM2LCAzLjM2LjMsIDMuMzYuNCwgMy4zNi42LCAzLjM4LCAzLjM4LjIsIDQwLjAsIDQwLjUsIDQxLjAgKHNpbmNlIHZlcnNpb24gMTIuMC4wKSBmXG5SaWsgPHJpa0BtbW9kLmNvPlxuXG5HZXJtYW4gVHJhbnNsYXRpb24ocykgZm9yIE1NT0QtUGFuZWwgY291cnRlc3kgb2YgSm9uaXVzIFplaWRsZXIgPGpvbmF0YW5femVpZGxlckBnbXguZGU+XG5cblNvdXJjZSBSZXBvc2l0b3J5OiBodHRwczovL2dpdGxhYi5jb20vbW1vZC9tbW9kLXBhbmVsL1xuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibW1vZC1wYW5lbCIsCiAgIm5hbWUiOiAiTU1PRCBQYW5lbCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJyaWtAbW1vZC5jbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiMy4zNi4zIiwKICAgICIzLjM2LjQiLAogICAgIjMuMzYuNiIsCiAgICAiMy4zOC4yIiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0MC41IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbW1vZC9tbW9kLXBhbmVsLyIsCiAgInV1aWQiOiAibW1vZC1wYW5lbEBtbW9ncC5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "40": {"version": "12", "sha256": "00sr6dcn7z5a8p9zq2xvvdac828m8f0akz3skb9sb9v8jay0m0hr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZ3JhZGVzIHRoZSBUb3BiYXIgaW4gR25vbWUzLCBjcmVhdGluZyBhIGN1c3RvbWl6YWJsZSBwYW5lbCBhbmQgcHJvdmlkaW5nIG9wdGlvbnMgZm9yIGZpbmUtdHVuaW5nIHlvdXIgRGVza3RvcCBFeHBlcmllbmNlLlxuXG5GZWF0dXJlcyBpbmNsdWRlOlxuXHUyNWI4IFNldCBjb21mb3J0IGxldmVscyB0byBwcm92aWRlIHRoZW1lIHN1cHBvcnQgYW5kIGZpbmUtdHVuZSB0aGUgb3ZlcmFsbCBsb29rIGFuZCBmZWVsIG9mIHRoZSBwYW5lbC5cblx1MjViOCBTZXQgdGhlIGxvY2F0aW9uL3Bvc2l0aW9uIG9mIHRoZSBwYW5lbCAoYm90dG9tIGJ5IGRlZmF1bHQpLlxuXHUyNWI4IEFkZCBhIGJ1dHRvbiB0byB0aGUgcGFuZWwgaW4gcGxhY2Ugb2YgdGhlIGFjdGl2aXRpZXMgbGluaywgdXNpbmcgYW4gaWNvbiBvZiB5b3VyIHByZWZlcmVuY2UuXG5cdTI1YjggQXV0by1oaWRlIHRoZSBwYW5lbCB3aGVuIG5vdCBhY3RpdmUvaW4tZm9jdXMgKG1ha2VzIHVzZSBvZiBwcmVzc3VyZS9nZXN0dXJlIGZvciBzaG93aW5nIHRoZSBwYW5lbCkuXG5cdTI1YjggRGlzcGxheSBhbmQgbWFuYWdlIHlvdXIgZmF2b3JpdGVzL3J1bm5pbmcgYXBwcyBkaXJlY3RseSBvbiB0aGUgcGFuZWwuXG5cdTI1YjggTW92ZSB0aGUgZGF0ZSBtZW51IHRvIHRoZSBhZ2dyZWdhdGUvdHJheSBhcmVhLlxuXHUyNWI4IEFjY2VzcyBhbmQgbWFuYWdlIHlvdXIgZXh0ZW5zaW9uIHByZWZlcmVuY2VzIGRpcmVjdGx5IGZyb20gdGhlIGFnZ3JlZ2F0ZSBtZW51LlxuXHUyNWI4IEN1c3RvbWl6ZSBiZWhhdmlvciBvZiB0aGUgb3ZlcnZpZXcgYW5kIHBhbmVsKGhvdC1jb3JuZXJzL2FuaW1hdGlvbnMvZWZmZWN0cykgdG8gc3VpdCB5b3VyIHByZWZlcmVuY2VzLlxuXHUyNWI4IE1vcmUgdG8gY29tZSBzb29uIVxuXG5UaGlzIHByb2plY3QgaXMgbG9vc2VseSBiYXNlZCBvbiB0aGUgUGFuZWwgU2V0dGluZ3MgZXh0ZW5zaW9uOlxuaHR0cHM6Ly9naXRodWIuY29tL2VkZGllZnVsbG1ldGFsL2dub21lLXNoZWxsLWV4dGVuc2lvbnMvdHJlZS9tYXN0ZXIvcGFuZWxTZXR0aW5ncyU0MGVkZGllZnVsbG1ldGFsLmdyXG5cblNhZGx5LCBQYW5lbCBTZXR0aW5ncyBoYXMgbm90IHNlZW4gYW55IG1haW50ZW5hbmNlIGluIHllYXJzLCB0aG91Z2ggdGhpcyBpcyB3aHkgSSBkZWNpZGVkIHRvIGNyZWF0ZSBNTU9EIFBhbmVsLlxuXG5JIGFsc28gdG9vayBpbnNwaXJhdGlvbiBmcm9tIHRoZSBmb2xsb3dpbmcgR25vbWUgZXh0ZW5zaW9uczogU3lzdGVtLU1vbml0b3IsIFRhc2tiYXIsIGFuZCBEYXNoVG9Eb2NrLlxuXG5Gb3IgdGhvc2Ugb2YgeW91IHdobyBhcmUgd29uZGVyaW5nLCB0aGUgdGhlbWUgdXNlZCBpbiB0aGUgc2NyZWVuIHNob3QgaXMgdGhlIFp1a2l0d28tRGFyay1TaGVsbCBTaGVsbCBUaGVtZTsgXG5ldmVyeXRoaW5nIGVsc2UgaXMgZGVmYXVsdCBHbm9tZSBvbiBEZWJpYW4gQnVzdGVyLiBIb3dldmVyLCB0aGUgYXV0aG9yIG9mIHRoZSBhZm9yZW1lbnRpb25lZCBzaGVsbCB0aGVtZSBoYXMgXG5jaGFuZ2VkIHRoZSBuYW1lIGZvciB2YXJpb3VzIHJlYXNvbnMgdG8gQ2lsaW9yYS1QcmltYS1TaGVsbCAtIHdoaWNoIGNhbiBiZSBmb3VuZCBoZXJlOlxuXG4gIGh0dHA6Ly9nbm9tZS1sb29rLm9yZy9jb250ZW50L3Nob3cucGhwP2NvbnRlbnQ9MTY1MDk2XG5cbkZvciBHbm9tZS1TaGVsbDogMy4xMCwgMy4xMiwgMy4xMi4yLCAzLjE0LCAzLjE0LjQsIDMuMTYsIDMuMTYuMiwgMy4xOCwgMy4yMCwgMy4yMiwgMy4yNCwgMy4yNiwgMy4yNi4yLCAzLjI4LCAzLjMwLCAzLjMyLCAzLjM0LCAzLjM1LCAzLjM1LjkxLCAzLjM2LCAzLjM2LjMsIDMuMzYuNCwgMy4zNi42LCAzLjM4LCAzLjM4LjIsIDQwLjAsIDQwLjUsIDQxLjAgKHNpbmNlIHZlcnNpb24gMTIuMC4wKSBmXG5SaWsgPHJpa0BtbW9kLmNvPlxuXG5HZXJtYW4gVHJhbnNsYXRpb24ocykgZm9yIE1NT0QtUGFuZWwgY291cnRlc3kgb2YgSm9uaXVzIFplaWRsZXIgPGpvbmF0YW5femVpZGxlckBnbXguZGU+XG5cblNvdXJjZSBSZXBvc2l0b3J5OiBodHRwczovL2dpdGxhYi5jb20vbW1vZC9tbW9kLXBhbmVsL1xuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibW1vZC1wYW5lbCIsCiAgIm5hbWUiOiAiTU1PRCBQYW5lbCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJyaWtAbW1vZC5jbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiMy4zNi4zIiwKICAgICIzLjM2LjQiLAogICAgIjMuMzYuNiIsCiAgICAiMy4zOC4yIiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0MC41IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbW1vZC9tbW9kLXBhbmVsLyIsCiAgInV1aWQiOiAibW1vZC1wYW5lbEBtbW9ncC5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "00sr6dcn7z5a8p9zq2xvvdac828m8f0akz3skb9sb9v8jay0m0hr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZ3JhZGVzIHRoZSBUb3BiYXIgaW4gR25vbWUzLCBjcmVhdGluZyBhIGN1c3RvbWl6YWJsZSBwYW5lbCBhbmQgcHJvdmlkaW5nIG9wdGlvbnMgZm9yIGZpbmUtdHVuaW5nIHlvdXIgRGVza3RvcCBFeHBlcmllbmNlLlxuXG5GZWF0dXJlcyBpbmNsdWRlOlxuXHUyNWI4IFNldCBjb21mb3J0IGxldmVscyB0byBwcm92aWRlIHRoZW1lIHN1cHBvcnQgYW5kIGZpbmUtdHVuZSB0aGUgb3ZlcmFsbCBsb29rIGFuZCBmZWVsIG9mIHRoZSBwYW5lbC5cblx1MjViOCBTZXQgdGhlIGxvY2F0aW9uL3Bvc2l0aW9uIG9mIHRoZSBwYW5lbCAoYm90dG9tIGJ5IGRlZmF1bHQpLlxuXHUyNWI4IEFkZCBhIGJ1dHRvbiB0byB0aGUgcGFuZWwgaW4gcGxhY2Ugb2YgdGhlIGFjdGl2aXRpZXMgbGluaywgdXNpbmcgYW4gaWNvbiBvZiB5b3VyIHByZWZlcmVuY2UuXG5cdTI1YjggQXV0by1oaWRlIHRoZSBwYW5lbCB3aGVuIG5vdCBhY3RpdmUvaW4tZm9jdXMgKG1ha2VzIHVzZSBvZiBwcmVzc3VyZS9nZXN0dXJlIGZvciBzaG93aW5nIHRoZSBwYW5lbCkuXG5cdTI1YjggRGlzcGxheSBhbmQgbWFuYWdlIHlvdXIgZmF2b3JpdGVzL3J1bm5pbmcgYXBwcyBkaXJlY3RseSBvbiB0aGUgcGFuZWwuXG5cdTI1YjggTW92ZSB0aGUgZGF0ZSBtZW51IHRvIHRoZSBhZ2dyZWdhdGUvdHJheSBhcmVhLlxuXHUyNWI4IEFjY2VzcyBhbmQgbWFuYWdlIHlvdXIgZXh0ZW5zaW9uIHByZWZlcmVuY2VzIGRpcmVjdGx5IGZyb20gdGhlIGFnZ3JlZ2F0ZSBtZW51LlxuXHUyNWI4IEN1c3RvbWl6ZSBiZWhhdmlvciBvZiB0aGUgb3ZlcnZpZXcgYW5kIHBhbmVsKGhvdC1jb3JuZXJzL2FuaW1hdGlvbnMvZWZmZWN0cykgdG8gc3VpdCB5b3VyIHByZWZlcmVuY2VzLlxuXHUyNWI4IE1vcmUgdG8gY29tZSBzb29uIVxuXG5UaGlzIHByb2plY3QgaXMgbG9vc2VseSBiYXNlZCBvbiB0aGUgUGFuZWwgU2V0dGluZ3MgZXh0ZW5zaW9uOlxuaHR0cHM6Ly9naXRodWIuY29tL2VkZGllZnVsbG1ldGFsL2dub21lLXNoZWxsLWV4dGVuc2lvbnMvdHJlZS9tYXN0ZXIvcGFuZWxTZXR0aW5ncyU0MGVkZGllZnVsbG1ldGFsLmdyXG5cblNhZGx5LCBQYW5lbCBTZXR0aW5ncyBoYXMgbm90IHNlZW4gYW55IG1haW50ZW5hbmNlIGluIHllYXJzLCB0aG91Z2ggdGhpcyBpcyB3aHkgSSBkZWNpZGVkIHRvIGNyZWF0ZSBNTU9EIFBhbmVsLlxuXG5JIGFsc28gdG9vayBpbnNwaXJhdGlvbiBmcm9tIHRoZSBmb2xsb3dpbmcgR25vbWUgZXh0ZW5zaW9uczogU3lzdGVtLU1vbml0b3IsIFRhc2tiYXIsIGFuZCBEYXNoVG9Eb2NrLlxuXG5Gb3IgdGhvc2Ugb2YgeW91IHdobyBhcmUgd29uZGVyaW5nLCB0aGUgdGhlbWUgdXNlZCBpbiB0aGUgc2NyZWVuIHNob3QgaXMgdGhlIFp1a2l0d28tRGFyay1TaGVsbCBTaGVsbCBUaGVtZTsgXG5ldmVyeXRoaW5nIGVsc2UgaXMgZGVmYXVsdCBHbm9tZSBvbiBEZWJpYW4gQnVzdGVyLiBIb3dldmVyLCB0aGUgYXV0aG9yIG9mIHRoZSBhZm9yZW1lbnRpb25lZCBzaGVsbCB0aGVtZSBoYXMgXG5jaGFuZ2VkIHRoZSBuYW1lIGZvciB2YXJpb3VzIHJlYXNvbnMgdG8gQ2lsaW9yYS1QcmltYS1TaGVsbCAtIHdoaWNoIGNhbiBiZSBmb3VuZCBoZXJlOlxuXG4gIGh0dHA6Ly9nbm9tZS1sb29rLm9yZy9jb250ZW50L3Nob3cucGhwP2NvbnRlbnQ9MTY1MDk2XG5cbkZvciBHbm9tZS1TaGVsbDogMy4xMCwgMy4xMiwgMy4xMi4yLCAzLjE0LCAzLjE0LjQsIDMuMTYsIDMuMTYuMiwgMy4xOCwgMy4yMCwgMy4yMiwgMy4yNCwgMy4yNiwgMy4yNi4yLCAzLjI4LCAzLjMwLCAzLjMyLCAzLjM0LCAzLjM1LCAzLjM1LjkxLCAzLjM2LCAzLjM2LjMsIDMuMzYuNCwgMy4zNi42LCAzLjM4LCAzLjM4LjIsIDQwLjAsIDQwLjUsIDQxLjAgKHNpbmNlIHZlcnNpb24gMTIuMC4wKSBmXG5SaWsgPHJpa0BtbW9kLmNvPlxuXG5HZXJtYW4gVHJhbnNsYXRpb24ocykgZm9yIE1NT0QtUGFuZWwgY291cnRlc3kgb2YgSm9uaXVzIFplaWRsZXIgPGpvbmF0YW5femVpZGxlckBnbXguZGU+XG5cblNvdXJjZSBSZXBvc2l0b3J5OiBodHRwczovL2dpdGxhYi5jb20vbW1vZC9tbW9kLXBhbmVsL1xuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibW1vZC1wYW5lbCIsCiAgIm5hbWUiOiAiTU1PRCBQYW5lbCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJyaWtAbW1vZC5jbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiMy4zNi4zIiwKICAgICIzLjM2LjQiLAogICAgIjMuMzYuNiIsCiAgICAiMy4zOC4yIiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0MC41IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbW1vZC9tbW9kLXBhbmVsLyIsCiAgInV1aWQiOiAibW1vZC1wYW5lbEBtbW9ncC5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
 , {"uuid": "modern-calc@kaer", "name": "Modern Calc", "pname": "modern-calc", "description": "A full featured calculator for gnome-shell.", "link": "https://extensions.gnome.org/extension/900/modern-calc/", "shell_version_map": {"38": {"version": "11", "sha256": "0f0fmldcr8ywghp8w61wvi2qb29yc82xmgkqb7khj14zgv4l6apw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZnVsbCBmZWF0dXJlZCBjYWxjdWxhdG9yIGZvciBnbm9tZS1zaGVsbC4iLAogICJuYW1lIjogIk1vZGVybiBDYWxjIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkthZXIgKHRoZS50aGluLmtpbmcud2F5KzIwMTRAZ21haWwuY29tKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tb2Rlcm4tY2FsYyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thZXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1vZGVybi1jYWxjIiwKICAidXVpZCI6ICJtb2Rlcm4tY2FsY0BrYWVyIiwKICAidmVyc2lvbiI6IDExCn0="}}}
-, {"uuid": "disconnect-wifi@kgshank.net", "name": "Disconnect Wifi", "pname": "disconnect-wifi", "description": "Adds a Disconnect option for Wifi in status menu, when a network is connected. Shows a Reconnect option, after network is disconnected.", "link": "https://extensions.gnome.org/extension/904/disconnect-wifi/", "shell_version_map": {"38": {"version": "30", "sha256": "1i7x0zxswdr9cyhf3y5frq4phg9pr7ygh5y1k5hnd85lhi855kaq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBEaXNjb25uZWN0IG9wdGlvbiBmb3IgV2lmaSBpbiBzdGF0dXMgbWVudSwgd2hlbiBhIG5ldHdvcmsgaXMgY29ubmVjdGVkLiBTaG93cyBhIFJlY29ubmVjdCBvcHRpb24sIGFmdGVyIG5ldHdvcmsgaXMgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiRGlzY29ubmVjdCBXaWZpIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkdvcEkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tnc2hhbmsvZ3NlLWRpc2Nvbm5lY3Qtd2lmaSIsCiAgInV1aWQiOiAiZGlzY29ubmVjdC13aWZpQGtnc2hhbmsubmV0IiwKICAidmVyc2lvbiI6IDMwCn0="}, "40": {"version": "30", "sha256": "1i7x0zxswdr9cyhf3y5frq4phg9pr7ygh5y1k5hnd85lhi855kaq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBEaXNjb25uZWN0IG9wdGlvbiBmb3IgV2lmaSBpbiBzdGF0dXMgbWVudSwgd2hlbiBhIG5ldHdvcmsgaXMgY29ubmVjdGVkLiBTaG93cyBhIFJlY29ubmVjdCBvcHRpb24sIGFmdGVyIG5ldHdvcmsgaXMgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiRGlzY29ubmVjdCBXaWZpIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkdvcEkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tnc2hhbmsvZ3NlLWRpc2Nvbm5lY3Qtd2lmaSIsCiAgInV1aWQiOiAiZGlzY29ubmVjdC13aWZpQGtnc2hhbmsubmV0IiwKICAidmVyc2lvbiI6IDMwCn0="}, "41": {"version": "30", "sha256": "1i7x0zxswdr9cyhf3y5frq4phg9pr7ygh5y1k5hnd85lhi855kaq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBEaXNjb25uZWN0IG9wdGlvbiBmb3IgV2lmaSBpbiBzdGF0dXMgbWVudSwgd2hlbiBhIG5ldHdvcmsgaXMgY29ubmVjdGVkLiBTaG93cyBhIFJlY29ubmVjdCBvcHRpb24sIGFmdGVyIG5ldHdvcmsgaXMgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiRGlzY29ubmVjdCBXaWZpIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkdvcEkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tnc2hhbmsvZ3NlLWRpc2Nvbm5lY3Qtd2lmaSIsCiAgInV1aWQiOiAiZGlzY29ubmVjdC13aWZpQGtnc2hhbmsubmV0IiwKICAidmVyc2lvbiI6IDMwCn0="}}}
-, {"uuid": "refresh-wifi@kgshank.net", "name": "Refresh Wifi Connections", "pname": "refresh-wifi-connections", "description": "This extension adds a refresh button to the Wi-Fi connection selection dialog to manually request for a network scan.\n\nNOTE: In GNOME Shell 3.32 and above, the available network list is automatically updated every 15 seconds, so most people probably don't need this extension anymore.", "link": "https://extensions.gnome.org/extension/905/refresh-wifi-connections/", "shell_version_map": {"38": {"version": "15", "sha256": "1ck4agyvab61nb0sy1qcwpiyv4c3c1z0bmjrimmmfw6bmaw351dv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFkZHMgYSByZWZyZXNoIGJ1dHRvbiB0byB0aGUgV2ktRmkgY29ubmVjdGlvbiBzZWxlY3Rpb24gZGlhbG9nIHRvIG1hbnVhbGx5IHJlcXVlc3QgZm9yIGEgbmV0d29yayBzY2FuLlxuXG5OT1RFOiBJbiBHTk9NRSBTaGVsbCAzLjMyIGFuZCBhYm92ZSwgdGhlIGF2YWlsYWJsZSBuZXR3b3JrIGxpc3QgaXMgYXV0b21hdGljYWxseSB1cGRhdGVkIGV2ZXJ5IDE1IHNlY29uZHMsIHNvIG1vc3QgcGVvcGxlIHByb2JhYmx5IGRvbid0IG5lZWQgdGhpcyBleHRlbnNpb24gYW55bW9yZS4iLAogICJuYW1lIjogIlJlZnJlc2ggV2lmaSBDb25uZWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJHb3BJIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1yZWZyZXNoLXdpZmkiLAogICJ1dWlkIjogInJlZnJlc2gtd2lmaUBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiAxNQp9"}, "40": {"version": "15", "sha256": "1ck4agyvab61nb0sy1qcwpiyv4c3c1z0bmjrimmmfw6bmaw351dv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFkZHMgYSByZWZyZXNoIGJ1dHRvbiB0byB0aGUgV2ktRmkgY29ubmVjdGlvbiBzZWxlY3Rpb24gZGlhbG9nIHRvIG1hbnVhbGx5IHJlcXVlc3QgZm9yIGEgbmV0d29yayBzY2FuLlxuXG5OT1RFOiBJbiBHTk9NRSBTaGVsbCAzLjMyIGFuZCBhYm92ZSwgdGhlIGF2YWlsYWJsZSBuZXR3b3JrIGxpc3QgaXMgYXV0b21hdGljYWxseSB1cGRhdGVkIGV2ZXJ5IDE1IHNlY29uZHMsIHNvIG1vc3QgcGVvcGxlIHByb2JhYmx5IGRvbid0IG5lZWQgdGhpcyBleHRlbnNpb24gYW55bW9yZS4iLAogICJuYW1lIjogIlJlZnJlc2ggV2lmaSBDb25uZWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJHb3BJIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1yZWZyZXNoLXdpZmkiLAogICJ1dWlkIjogInJlZnJlc2gtd2lmaUBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiAxNQp9"}, "41": {"version": "15", "sha256": "1ck4agyvab61nb0sy1qcwpiyv4c3c1z0bmjrimmmfw6bmaw351dv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFkZHMgYSByZWZyZXNoIGJ1dHRvbiB0byB0aGUgV2ktRmkgY29ubmVjdGlvbiBzZWxlY3Rpb24gZGlhbG9nIHRvIG1hbnVhbGx5IHJlcXVlc3QgZm9yIGEgbmV0d29yayBzY2FuLlxuXG5OT1RFOiBJbiBHTk9NRSBTaGVsbCAzLjMyIGFuZCBhYm92ZSwgdGhlIGF2YWlsYWJsZSBuZXR3b3JrIGxpc3QgaXMgYXV0b21hdGljYWxseSB1cGRhdGVkIGV2ZXJ5IDE1IHNlY29uZHMsIHNvIG1vc3QgcGVvcGxlIHByb2JhYmx5IGRvbid0IG5lZWQgdGhpcyBleHRlbnNpb24gYW55bW9yZS4iLAogICJuYW1lIjogIlJlZnJlc2ggV2lmaSBDb25uZWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJHb3BJIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1yZWZyZXNoLXdpZmkiLAogICJ1dWlkIjogInJlZnJlc2gtd2lmaUBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiAxNQp9"}}}
-, {"uuid": "sound-output-device-chooser@kgshank.net", "name": "Sound Input & Output Device Chooser", "pname": "sound-output-device-chooser", "description": "Shows a list of sound output and input devices (similar to gnome sound settings) in the status menu below the volume slider. Various active ports like HDMI , Speakers etc. of the same device are also displayed for selection. V20+ needs python as dependency. If you want to continue with the old method without Python, use options to switch off New Port identification. But it works with only English", "link": "https://extensions.gnome.org/extension/906/sound-output-device-chooser/", "shell_version_map": {"38": {"version": "42", "sha256": "151arzkx68ccz3d8pwfs37zi66vip2hsh3d06zzqfjbh2f6zwp5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgbGlzdCBvZiBzb3VuZCBvdXRwdXQgYW5kIGlucHV0IGRldmljZXMgKHNpbWlsYXIgdG8gZ25vbWUgc291bmQgc2V0dGluZ3MpIGluIHRoZSBzdGF0dXMgbWVudSBiZWxvdyB0aGUgdm9sdW1lIHNsaWRlci4gVmFyaW91cyBhY3RpdmUgcG9ydHMgbGlrZSBIRE1JICwgU3BlYWtlcnMgZXRjLiBvZiB0aGUgc2FtZSBkZXZpY2UgYXJlIGFsc28gZGlzcGxheWVkIGZvciBzZWxlY3Rpb24uIFYyMCsgbmVlZHMgcHl0aG9uIGFzIGRlcGVuZGVuY3kuIElmIHlvdSB3YW50IHRvIGNvbnRpbnVlIHdpdGggdGhlIG9sZCBtZXRob2Qgd2l0aG91dCBQeXRob24sIHVzZSBvcHRpb25zIHRvIHN3aXRjaCBvZmYgTmV3IFBvcnQgaWRlbnRpZmljYXRpb24uIEJ1dCBpdCB3b3JrcyB3aXRoIG9ubHkgRW5nbGlzaCIsCiAgImdldHRleHQtZG9tYWluIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlciIsCiAgIm5hbWUiOiAiU291bmQgSW5wdXQgJiBPdXRwdXQgRGV2aWNlIENob29zZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiR29wSSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJ1dWlkIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlckBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiA0Mgp9"}, "40": {"version": "42", "sha256": "151arzkx68ccz3d8pwfs37zi66vip2hsh3d06zzqfjbh2f6zwp5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgbGlzdCBvZiBzb3VuZCBvdXRwdXQgYW5kIGlucHV0IGRldmljZXMgKHNpbWlsYXIgdG8gZ25vbWUgc291bmQgc2V0dGluZ3MpIGluIHRoZSBzdGF0dXMgbWVudSBiZWxvdyB0aGUgdm9sdW1lIHNsaWRlci4gVmFyaW91cyBhY3RpdmUgcG9ydHMgbGlrZSBIRE1JICwgU3BlYWtlcnMgZXRjLiBvZiB0aGUgc2FtZSBkZXZpY2UgYXJlIGFsc28gZGlzcGxheWVkIGZvciBzZWxlY3Rpb24uIFYyMCsgbmVlZHMgcHl0aG9uIGFzIGRlcGVuZGVuY3kuIElmIHlvdSB3YW50IHRvIGNvbnRpbnVlIHdpdGggdGhlIG9sZCBtZXRob2Qgd2l0aG91dCBQeXRob24sIHVzZSBvcHRpb25zIHRvIHN3aXRjaCBvZmYgTmV3IFBvcnQgaWRlbnRpZmljYXRpb24uIEJ1dCBpdCB3b3JrcyB3aXRoIG9ubHkgRW5nbGlzaCIsCiAgImdldHRleHQtZG9tYWluIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlciIsCiAgIm5hbWUiOiAiU291bmQgSW5wdXQgJiBPdXRwdXQgRGV2aWNlIENob29zZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiR29wSSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJ1dWlkIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlckBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiA0Mgp9"}, "41": {"version": "42", "sha256": "151arzkx68ccz3d8pwfs37zi66vip2hsh3d06zzqfjbh2f6zwp5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgbGlzdCBvZiBzb3VuZCBvdXRwdXQgYW5kIGlucHV0IGRldmljZXMgKHNpbWlsYXIgdG8gZ25vbWUgc291bmQgc2V0dGluZ3MpIGluIHRoZSBzdGF0dXMgbWVudSBiZWxvdyB0aGUgdm9sdW1lIHNsaWRlci4gVmFyaW91cyBhY3RpdmUgcG9ydHMgbGlrZSBIRE1JICwgU3BlYWtlcnMgZXRjLiBvZiB0aGUgc2FtZSBkZXZpY2UgYXJlIGFsc28gZGlzcGxheWVkIGZvciBzZWxlY3Rpb24uIFYyMCsgbmVlZHMgcHl0aG9uIGFzIGRlcGVuZGVuY3kuIElmIHlvdSB3YW50IHRvIGNvbnRpbnVlIHdpdGggdGhlIG9sZCBtZXRob2Qgd2l0aG91dCBQeXRob24sIHVzZSBvcHRpb25zIHRvIHN3aXRjaCBvZmYgTmV3IFBvcnQgaWRlbnRpZmljYXRpb24uIEJ1dCBpdCB3b3JrcyB3aXRoIG9ubHkgRW5nbGlzaCIsCiAgImdldHRleHQtZG9tYWluIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlciIsCiAgIm5hbWUiOiAiU291bmQgSW5wdXQgJiBPdXRwdXQgRGV2aWNlIENob29zZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiR29wSSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJ1dWlkIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlckBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiA0Mgp9"}, "42": {"version": "42", "sha256": "151arzkx68ccz3d8pwfs37zi66vip2hsh3d06zzqfjbh2f6zwp5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgbGlzdCBvZiBzb3VuZCBvdXRwdXQgYW5kIGlucHV0IGRldmljZXMgKHNpbWlsYXIgdG8gZ25vbWUgc291bmQgc2V0dGluZ3MpIGluIHRoZSBzdGF0dXMgbWVudSBiZWxvdyB0aGUgdm9sdW1lIHNsaWRlci4gVmFyaW91cyBhY3RpdmUgcG9ydHMgbGlrZSBIRE1JICwgU3BlYWtlcnMgZXRjLiBvZiB0aGUgc2FtZSBkZXZpY2UgYXJlIGFsc28gZGlzcGxheWVkIGZvciBzZWxlY3Rpb24uIFYyMCsgbmVlZHMgcHl0aG9uIGFzIGRlcGVuZGVuY3kuIElmIHlvdSB3YW50IHRvIGNvbnRpbnVlIHdpdGggdGhlIG9sZCBtZXRob2Qgd2l0aG91dCBQeXRob24sIHVzZSBvcHRpb25zIHRvIHN3aXRjaCBvZmYgTmV3IFBvcnQgaWRlbnRpZmljYXRpb24uIEJ1dCBpdCB3b3JrcyB3aXRoIG9ubHkgRW5nbGlzaCIsCiAgImdldHRleHQtZG9tYWluIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlciIsCiAgIm5hbWUiOiAiU291bmQgSW5wdXQgJiBPdXRwdXQgRGV2aWNlIENob29zZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiR29wSSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJ1dWlkIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlckBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiA0Mgp9"}}}
+, {"uuid": "disconnect-wifi@kgshank.net", "name": "Disconnect Wifi", "pname": "disconnect-wifi", "description": "Adds a Disconnect option for Wifi in status menu, when a network is connected. Shows a Reconnect option, after network is disconnected.", "link": "https://extensions.gnome.org/extension/904/disconnect-wifi/", "shell_version_map": {"38": {"version": "31", "sha256": "01qn80gk0zvsblby0x0rgji6azim2vr5inr1y5l7sxnp2wkd5f2h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBEaXNjb25uZWN0IG9wdGlvbiBmb3IgV2lmaSBpbiBzdGF0dXMgbWVudSwgd2hlbiBhIG5ldHdvcmsgaXMgY29ubmVjdGVkLiBTaG93cyBhIFJlY29ubmVjdCBvcHRpb24sIGFmdGVyIG5ldHdvcmsgaXMgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiRGlzY29ubmVjdCBXaWZpIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkdvcEkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1kaXNjb25uZWN0LXdpZmkiLAogICJ1dWlkIjogImRpc2Nvbm5lY3Qtd2lmaUBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiAzMQp9"}, "40": {"version": "31", "sha256": "01qn80gk0zvsblby0x0rgji6azim2vr5inr1y5l7sxnp2wkd5f2h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBEaXNjb25uZWN0IG9wdGlvbiBmb3IgV2lmaSBpbiBzdGF0dXMgbWVudSwgd2hlbiBhIG5ldHdvcmsgaXMgY29ubmVjdGVkLiBTaG93cyBhIFJlY29ubmVjdCBvcHRpb24sIGFmdGVyIG5ldHdvcmsgaXMgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiRGlzY29ubmVjdCBXaWZpIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkdvcEkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1kaXNjb25uZWN0LXdpZmkiLAogICJ1dWlkIjogImRpc2Nvbm5lY3Qtd2lmaUBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiAzMQp9"}, "41": {"version": "31", "sha256": "01qn80gk0zvsblby0x0rgji6azim2vr5inr1y5l7sxnp2wkd5f2h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBEaXNjb25uZWN0IG9wdGlvbiBmb3IgV2lmaSBpbiBzdGF0dXMgbWVudSwgd2hlbiBhIG5ldHdvcmsgaXMgY29ubmVjdGVkLiBTaG93cyBhIFJlY29ubmVjdCBvcHRpb24sIGFmdGVyIG5ldHdvcmsgaXMgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiRGlzY29ubmVjdCBXaWZpIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkdvcEkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1kaXNjb25uZWN0LXdpZmkiLAogICJ1dWlkIjogImRpc2Nvbm5lY3Qtd2lmaUBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiAzMQp9"}, "42": {"version": "31", "sha256": "01qn80gk0zvsblby0x0rgji6azim2vr5inr1y5l7sxnp2wkd5f2h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBEaXNjb25uZWN0IG9wdGlvbiBmb3IgV2lmaSBpbiBzdGF0dXMgbWVudSwgd2hlbiBhIG5ldHdvcmsgaXMgY29ubmVjdGVkLiBTaG93cyBhIFJlY29ubmVjdCBvcHRpb24sIGFmdGVyIG5ldHdvcmsgaXMgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiRGlzY29ubmVjdCBXaWZpIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkdvcEkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1kaXNjb25uZWN0LXdpZmkiLAogICJ1dWlkIjogImRpc2Nvbm5lY3Qtd2lmaUBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiAzMQp9"}}}
+, {"uuid": "refresh-wifi@kgshank.net", "name": "Refresh Wifi Connections", "pname": "refresh-wifi-connections", "description": "This extension adds a refresh button to the Wi-Fi connection selection dialog to manually request for a network scan.\n\nNOTE: In GNOME Shell 3.32 and above, the available network list is automatically updated every 15 seconds, so most people probably don't need this extension anymore.", "link": "https://extensions.gnome.org/extension/905/refresh-wifi-connections/", "shell_version_map": {"38": {"version": "16", "sha256": "1hdbdb1jgi0siqy6cmwn323rzsa8apw858q14k083ifiks5xzdhr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFkZHMgYSByZWZyZXNoIGJ1dHRvbiB0byB0aGUgV2ktRmkgY29ubmVjdGlvbiBzZWxlY3Rpb24gZGlhbG9nIHRvIG1hbnVhbGx5IHJlcXVlc3QgZm9yIGEgbmV0d29yayBzY2FuLlxuXG5OT1RFOiBJbiBHTk9NRSBTaGVsbCAzLjMyIGFuZCBhYm92ZSwgdGhlIGF2YWlsYWJsZSBuZXR3b3JrIGxpc3QgaXMgYXV0b21hdGljYWxseSB1cGRhdGVkIGV2ZXJ5IDE1IHNlY29uZHMsIHNvIG1vc3QgcGVvcGxlIHByb2JhYmx5IGRvbid0IG5lZWQgdGhpcyBleHRlbnNpb24gYW55bW9yZS4iLAogICJuYW1lIjogIlJlZnJlc2ggV2lmaSBDb25uZWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJHb3BJIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2dzaGFuay9nc2UtcmVmcmVzaC13aWZpIiwKICAidXVpZCI6ICJyZWZyZXNoLXdpZmlAa2dzaGFuay5uZXQiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "40": {"version": "16", "sha256": "1hdbdb1jgi0siqy6cmwn323rzsa8apw858q14k083ifiks5xzdhr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFkZHMgYSByZWZyZXNoIGJ1dHRvbiB0byB0aGUgV2ktRmkgY29ubmVjdGlvbiBzZWxlY3Rpb24gZGlhbG9nIHRvIG1hbnVhbGx5IHJlcXVlc3QgZm9yIGEgbmV0d29yayBzY2FuLlxuXG5OT1RFOiBJbiBHTk9NRSBTaGVsbCAzLjMyIGFuZCBhYm92ZSwgdGhlIGF2YWlsYWJsZSBuZXR3b3JrIGxpc3QgaXMgYXV0b21hdGljYWxseSB1cGRhdGVkIGV2ZXJ5IDE1IHNlY29uZHMsIHNvIG1vc3QgcGVvcGxlIHByb2JhYmx5IGRvbid0IG5lZWQgdGhpcyBleHRlbnNpb24gYW55bW9yZS4iLAogICJuYW1lIjogIlJlZnJlc2ggV2lmaSBDb25uZWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJHb3BJIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2dzaGFuay9nc2UtcmVmcmVzaC13aWZpIiwKICAidXVpZCI6ICJyZWZyZXNoLXdpZmlAa2dzaGFuay5uZXQiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "16", "sha256": "1hdbdb1jgi0siqy6cmwn323rzsa8apw858q14k083ifiks5xzdhr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFkZHMgYSByZWZyZXNoIGJ1dHRvbiB0byB0aGUgV2ktRmkgY29ubmVjdGlvbiBzZWxlY3Rpb24gZGlhbG9nIHRvIG1hbnVhbGx5IHJlcXVlc3QgZm9yIGEgbmV0d29yayBzY2FuLlxuXG5OT1RFOiBJbiBHTk9NRSBTaGVsbCAzLjMyIGFuZCBhYm92ZSwgdGhlIGF2YWlsYWJsZSBuZXR3b3JrIGxpc3QgaXMgYXV0b21hdGljYWxseSB1cGRhdGVkIGV2ZXJ5IDE1IHNlY29uZHMsIHNvIG1vc3QgcGVvcGxlIHByb2JhYmx5IGRvbid0IG5lZWQgdGhpcyBleHRlbnNpb24gYW55bW9yZS4iLAogICJuYW1lIjogIlJlZnJlc2ggV2lmaSBDb25uZWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJHb3BJIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2dzaGFuay9nc2UtcmVmcmVzaC13aWZpIiwKICAidXVpZCI6ICJyZWZyZXNoLXdpZmlAa2dzaGFuay5uZXQiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "42": {"version": "16", "sha256": "1hdbdb1jgi0siqy6cmwn323rzsa8apw858q14k083ifiks5xzdhr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFkZHMgYSByZWZyZXNoIGJ1dHRvbiB0byB0aGUgV2ktRmkgY29ubmVjdGlvbiBzZWxlY3Rpb24gZGlhbG9nIHRvIG1hbnVhbGx5IHJlcXVlc3QgZm9yIGEgbmV0d29yayBzY2FuLlxuXG5OT1RFOiBJbiBHTk9NRSBTaGVsbCAzLjMyIGFuZCBhYm92ZSwgdGhlIGF2YWlsYWJsZSBuZXR3b3JrIGxpc3QgaXMgYXV0b21hdGljYWxseSB1cGRhdGVkIGV2ZXJ5IDE1IHNlY29uZHMsIHNvIG1vc3QgcGVvcGxlIHByb2JhYmx5IGRvbid0IG5lZWQgdGhpcyBleHRlbnNpb24gYW55bW9yZS4iLAogICJuYW1lIjogIlJlZnJlc2ggV2lmaSBDb25uZWN0aW9ucyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJHb3BJIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2dzaGFuay9nc2UtcmVmcmVzaC13aWZpIiwKICAidXVpZCI6ICJyZWZyZXNoLXdpZmlAa2dzaGFuay5uZXQiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
+, {"uuid": "sound-output-device-chooser@kgshank.net", "name": "Sound Input & Output Device Chooser", "pname": "sound-output-device-chooser", "description": "Shows a list of sound output and input devices (similar to gnome sound settings) in the status menu below the volume slider. Various active ports like HDMI , Speakers etc. of the same device are also displayed for selection. V20+ needs python as dependency. If you want to continue with the old method without Python, use options to switch off New Port identification. But it works with only English", "link": "https://extensions.gnome.org/extension/906/sound-output-device-chooser/", "shell_version_map": {"38": {"version": "43", "sha256": "0jizq4g8q535vqm6zl4275qyqcx3nra8dp4sz0ql3q2vcdh8x1xr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgbGlzdCBvZiBzb3VuZCBvdXRwdXQgYW5kIGlucHV0IGRldmljZXMgKHNpbWlsYXIgdG8gZ25vbWUgc291bmQgc2V0dGluZ3MpIGluIHRoZSBzdGF0dXMgbWVudSBiZWxvdyB0aGUgdm9sdW1lIHNsaWRlci4gVmFyaW91cyBhY3RpdmUgcG9ydHMgbGlrZSBIRE1JICwgU3BlYWtlcnMgZXRjLiBvZiB0aGUgc2FtZSBkZXZpY2UgYXJlIGFsc28gZGlzcGxheWVkIGZvciBzZWxlY3Rpb24uIFYyMCsgbmVlZHMgcHl0aG9uIGFzIGRlcGVuZGVuY3kuIElmIHlvdSB3YW50IHRvIGNvbnRpbnVlIHdpdGggdGhlIG9sZCBtZXRob2Qgd2l0aG91dCBQeXRob24sIHVzZSBvcHRpb25zIHRvIHN3aXRjaCBvZmYgTmV3IFBvcnQgaWRlbnRpZmljYXRpb24uIEJ1dCBpdCB3b3JrcyB3aXRoIG9ubHkgRW5nbGlzaCIsCiAgImdldHRleHQtZG9tYWluIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlciIsCiAgIm5hbWUiOiAiU291bmQgSW5wdXQgJiBPdXRwdXQgRGV2aWNlIENob29zZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiR29wSSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJ1dWlkIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlckBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiA0Mwp9"}, "40": {"version": "43", "sha256": "0jizq4g8q535vqm6zl4275qyqcx3nra8dp4sz0ql3q2vcdh8x1xr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgbGlzdCBvZiBzb3VuZCBvdXRwdXQgYW5kIGlucHV0IGRldmljZXMgKHNpbWlsYXIgdG8gZ25vbWUgc291bmQgc2V0dGluZ3MpIGluIHRoZSBzdGF0dXMgbWVudSBiZWxvdyB0aGUgdm9sdW1lIHNsaWRlci4gVmFyaW91cyBhY3RpdmUgcG9ydHMgbGlrZSBIRE1JICwgU3BlYWtlcnMgZXRjLiBvZiB0aGUgc2FtZSBkZXZpY2UgYXJlIGFsc28gZGlzcGxheWVkIGZvciBzZWxlY3Rpb24uIFYyMCsgbmVlZHMgcHl0aG9uIGFzIGRlcGVuZGVuY3kuIElmIHlvdSB3YW50IHRvIGNvbnRpbnVlIHdpdGggdGhlIG9sZCBtZXRob2Qgd2l0aG91dCBQeXRob24sIHVzZSBvcHRpb25zIHRvIHN3aXRjaCBvZmYgTmV3IFBvcnQgaWRlbnRpZmljYXRpb24uIEJ1dCBpdCB3b3JrcyB3aXRoIG9ubHkgRW5nbGlzaCIsCiAgImdldHRleHQtZG9tYWluIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlciIsCiAgIm5hbWUiOiAiU291bmQgSW5wdXQgJiBPdXRwdXQgRGV2aWNlIENob29zZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiR29wSSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJ1dWlkIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlckBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiA0Mwp9"}, "41": {"version": "43", "sha256": "0jizq4g8q535vqm6zl4275qyqcx3nra8dp4sz0ql3q2vcdh8x1xr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgbGlzdCBvZiBzb3VuZCBvdXRwdXQgYW5kIGlucHV0IGRldmljZXMgKHNpbWlsYXIgdG8gZ25vbWUgc291bmQgc2V0dGluZ3MpIGluIHRoZSBzdGF0dXMgbWVudSBiZWxvdyB0aGUgdm9sdW1lIHNsaWRlci4gVmFyaW91cyBhY3RpdmUgcG9ydHMgbGlrZSBIRE1JICwgU3BlYWtlcnMgZXRjLiBvZiB0aGUgc2FtZSBkZXZpY2UgYXJlIGFsc28gZGlzcGxheWVkIGZvciBzZWxlY3Rpb24uIFYyMCsgbmVlZHMgcHl0aG9uIGFzIGRlcGVuZGVuY3kuIElmIHlvdSB3YW50IHRvIGNvbnRpbnVlIHdpdGggdGhlIG9sZCBtZXRob2Qgd2l0aG91dCBQeXRob24sIHVzZSBvcHRpb25zIHRvIHN3aXRjaCBvZmYgTmV3IFBvcnQgaWRlbnRpZmljYXRpb24uIEJ1dCBpdCB3b3JrcyB3aXRoIG9ubHkgRW5nbGlzaCIsCiAgImdldHRleHQtZG9tYWluIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlciIsCiAgIm5hbWUiOiAiU291bmQgSW5wdXQgJiBPdXRwdXQgRGV2aWNlIENob29zZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiR29wSSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJ1dWlkIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlckBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiA0Mwp9"}, "42": {"version": "43", "sha256": "0jizq4g8q535vqm6zl4275qyqcx3nra8dp4sz0ql3q2vcdh8x1xr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgbGlzdCBvZiBzb3VuZCBvdXRwdXQgYW5kIGlucHV0IGRldmljZXMgKHNpbWlsYXIgdG8gZ25vbWUgc291bmQgc2V0dGluZ3MpIGluIHRoZSBzdGF0dXMgbWVudSBiZWxvdyB0aGUgdm9sdW1lIHNsaWRlci4gVmFyaW91cyBhY3RpdmUgcG9ydHMgbGlrZSBIRE1JICwgU3BlYWtlcnMgZXRjLiBvZiB0aGUgc2FtZSBkZXZpY2UgYXJlIGFsc28gZGlzcGxheWVkIGZvciBzZWxlY3Rpb24uIFYyMCsgbmVlZHMgcHl0aG9uIGFzIGRlcGVuZGVuY3kuIElmIHlvdSB3YW50IHRvIGNvbnRpbnVlIHdpdGggdGhlIG9sZCBtZXRob2Qgd2l0aG91dCBQeXRob24sIHVzZSBvcHRpb25zIHRvIHN3aXRjaCBvZmYgTmV3IFBvcnQgaWRlbnRpZmljYXRpb24uIEJ1dCBpdCB3b3JrcyB3aXRoIG9ubHkgRW5nbGlzaCIsCiAgImdldHRleHQtZG9tYWluIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlciIsCiAgIm5hbWUiOiAiU291bmQgSW5wdXQgJiBPdXRwdXQgRGV2aWNlIENob29zZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiR29wSSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rZ3NoYW5rL2dzZS1zb3VuZC1vdXRwdXQtZGV2aWNlLWNob29zZXIiLAogICJ1dWlkIjogInNvdW5kLW91dHB1dC1kZXZpY2UtY2hvb3NlckBrZ3NoYW5rLm5ldCIsCiAgInZlcnNpb24iOiA0Mwp9"}}}
+, {"uuid": "files-menu", "name": "Files Menu", "pname": "files-menu", "description": "Quickly navigate your file system and open files through a menu.", "link": "https://extensions.gnome.org/extension/907/files-menu/", "shell_version_map": {"41": {"version": "15", "sha256": "0aliry9bx3zncwywsz040kb42iz4x2nwdr9ihz3d9d92im0y8n7m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgbmF2aWdhdGUgeW91ciBmaWxlIHN5c3RlbSBhbmQgb3BlbiBmaWxlcyB0aHJvdWdoIGEgbWVudS4iLAogICJsb2NhbGVkaXIiOiAibG9jYWxlIiwKICAibmFtZSI6ICJGaWxlcyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJBeGVsIHZvbiBCZXJ0b2xkaSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYmVydG9sZGlhL2ZpbGVzLW1lbnUiLAogICJ1dWlkIjogImZpbGVzLW1lbnUiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "42": {"version": "15", "sha256": "0aliry9bx3zncwywsz040kb42iz4x2nwdr9ihz3d9d92im0y8n7m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgbmF2aWdhdGUgeW91ciBmaWxlIHN5c3RlbSBhbmQgb3BlbiBmaWxlcyB0aHJvdWdoIGEgbWVudS4iLAogICJsb2NhbGVkaXIiOiAibG9jYWxlIiwKICAibmFtZSI6ICJGaWxlcyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJBeGVsIHZvbiBCZXJ0b2xkaSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYmVydG9sZGlhL2ZpbGVzLW1lbnUiLAogICJ1dWlkIjogImZpbGVzLW1lbnUiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
 , {"uuid": "multi-monitors-add-on@spin83", "name": "Multi Monitors Add-On", "pname": "multi-monitors-add-on", "description": "Add multiple monitors overview and panel for gnome-shell.", "link": "https://extensions.gnome.org/extension/921/multi-monitors-add-on/", "shell_version_map": {"38": {"version": "23", "sha256": "1snj6xhl7qf3lmjvrn7sbgkmb3rpq4b4q88yfdlx5vrzn6sw5bzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBtdWx0aXBsZSBtb25pdG9ycyBvdmVydmlldyBhbmQgcGFuZWwgZm9yIGdub21lLXNoZWxsLiIsCiAgImdldHRleHQtZG9tYWluIjogIm11bHRpLW1vbml0b3JzLWFkZC1vbiIsCiAgIm5hbWUiOiAiTXVsdGkgTW9uaXRvcnMgQWRkLU9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm11bHRpLW1vbml0b3JzLWFkZC1vbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NwaW44My9tdWx0aS1tb25pdG9ycy1hZGQtb24uZ2l0IiwKICAidXVpZCI6ICJtdWx0aS1tb25pdG9ycy1hZGQtb25Ac3BpbjgzIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
 , {"uuid": "ping_indicator@trifonovkv.gmail.com", "name": "Ping Indicator", "pname": "ping-indicator", "description": "Display ping time", "link": "https://extensions.gnome.org/extension/923/ping-indicator/", "shell_version_map": {"38": {"version": "24", "sha256": "0arxcaxpybc1as2d9dqmmswjnjj7p11rvss4s84x6kz8i4xbhjy3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcGluZyB0aW1lIiwKICAibmFtZSI6ICJQaW5nIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOC4xIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHJpZm9ub3Zrdi9waW5nX2luZGljYXRvciIsCiAgInV1aWQiOiAicGluZ19pbmRpY2F0b3JAdHJpZm9ub3Zrdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjQKfQ=="}}}
 , {"uuid": "transcode-appsearch@k.kubusha@gmail.com", "name": "Transcode App Search", "pname": "transcodeappsearch", "description": "Searching apps both direct and transcoded name (English, Russian, Ukrainian langs)", "link": "https://extensions.gnome.org/extension/928/transcodeappsearch/", "shell_version_map": {"38": {"version": "9", "sha256": "0ia3f8pmnyzjvg7di0cgy7n6ppbpkma6y0xlwjb8hhp5wz3a11s1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaGluZyBhcHBzIGJvdGggZGlyZWN0IGFuZCB0cmFuc2NvZGVkIG5hbWUgKEVuZ2xpc2gsIFJ1c3NpYW4sIFVrcmFpbmlhbiBsYW5ncykiLAogICJuYW1lIjogIlRyYW5zY29kZSBBcHAgU2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdGF0eWFuL2dub21lLWV4dGVuc2lvbi10cmFuc2NvZGUtc2VhcmNoYXBwIiwKICAidXVpZCI6ICJ0cmFuc2NvZGUtYXBwc2VhcmNoQGsua3VidXNoYUBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "40": {"version": "9", "sha256": "0ia3f8pmnyzjvg7di0cgy7n6ppbpkma6y0xlwjb8hhp5wz3a11s1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaGluZyBhcHBzIGJvdGggZGlyZWN0IGFuZCB0cmFuc2NvZGVkIG5hbWUgKEVuZ2xpc2gsIFJ1c3NpYW4sIFVrcmFpbmlhbiBsYW5ncykiLAogICJuYW1lIjogIlRyYW5zY29kZSBBcHAgU2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdGF0eWFuL2dub21lLWV4dGVuc2lvbi10cmFuc2NvZGUtc2VhcmNoYXBwIiwKICAidXVpZCI6ICJ0cmFuc2NvZGUtYXBwc2VhcmNoQGsua3VidXNoYUBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "0ia3f8pmnyzjvg7di0cgy7n6ppbpkma6y0xlwjb8hhp5wz3a11s1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaGluZyBhcHBzIGJvdGggZGlyZWN0IGFuZCB0cmFuc2NvZGVkIG5hbWUgKEVuZ2xpc2gsIFJ1c3NpYW4sIFVrcmFpbmlhbiBsYW5ncykiLAogICJuYW1lIjogIlRyYW5zY29kZSBBcHAgU2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdGF0eWFuL2dub21lLWV4dGVuc2lvbi10cmFuc2NvZGUtc2VhcmNoYXBwIiwKICAidXVpZCI6ICJ0cmFuc2NvZGUtYXBwc2VhcmNoQGsua3VidXNoYUBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}}}
@@ -93,16 +94,16 @@
 , {"uuid": "bottompanel@tmoer93", "name": "BottomPanel", "pname": "bottompanel", "description": "Moves the GNOME panel to the bottom of the screen\n\nSource here: https://github.com/Thoma5/gnome-shell-extension-bottompanel", "link": "https://extensions.gnome.org/extension/949/bottompanel/", "shell_version_map": {"38": {"version": "11", "sha256": "0r4z1pww6w8q0f7gzsmc363hd2178r40ifsppyigj67mwwik3mkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSBHTk9NRSBwYW5lbCB0byB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW5cblxuU291cmNlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9UaG9tYTUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWJvdHRvbXBhbmVsIiwKICAibmFtZSI6ICJCb3R0b21QYW5lbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJib3R0b21wYW5lbEB0bW9lcjkzIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"uuid": "dejadup-backup@fthx", "name": "Déjà Dup Backup Button", "pname": "deja-dup-backup-button", "description": "Button that directly starts Déjà Dup backup, following Déjà Dup backup settings.\n\n It simply runs 'deja-dup --backup' and shows Déjà Dup window during backup.", "link": "https://extensions.gnome.org/extension/955/deja-dup-backup-button/", "shell_version_map": {"38": {"version": "7", "sha256": "1d5xl18297zlw6g6jqwvwf32yiiqbz7jqyb4pz691d8ngqvvlwpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiB0aGF0IGRpcmVjdGx5IHN0YXJ0cyBEXHUwMGU5alx1MDBlMCBEdXAgYmFja3VwLCBmb2xsb3dpbmcgRFx1MDBlOWpcdTAwZTAgRHVwIGJhY2t1cCBzZXR0aW5ncy5cblxuIEl0IHNpbXBseSBydW5zICdkZWphLWR1cCAtLWJhY2t1cCcgYW5kIHNob3dzIERcdTAwZTlqXHUwMGUwIER1cCB3aW5kb3cgZHVyaW5nIGJhY2t1cC4iLAogICJuYW1lIjogIkRcdTAwZTlqXHUwMGUwIER1cCBCYWNrdXAgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvZGVqYWR1cC1iYWNrdXAiLAogICJ1dWlkIjogImRlamFkdXAtYmFja3VwQGZ0aHgiLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "1d5xl18297zlw6g6jqwvwf32yiiqbz7jqyb4pz691d8ngqvvlwpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiB0aGF0IGRpcmVjdGx5IHN0YXJ0cyBEXHUwMGU5alx1MDBlMCBEdXAgYmFja3VwLCBmb2xsb3dpbmcgRFx1MDBlOWpcdTAwZTAgRHVwIGJhY2t1cCBzZXR0aW5ncy5cblxuIEl0IHNpbXBseSBydW5zICdkZWphLWR1cCAtLWJhY2t1cCcgYW5kIHNob3dzIERcdTAwZTlqXHUwMGUwIER1cCB3aW5kb3cgZHVyaW5nIGJhY2t1cC4iLAogICJuYW1lIjogIkRcdTAwZTlqXHUwMGUwIER1cCBCYWNrdXAgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvZGVqYWR1cC1iYWNrdXAiLAogICJ1dWlkIjogImRlamFkdXAtYmFja3VwQGZ0aHgiLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "ISS_Above@mcepl.cepl.eu", "name": "ISS Above", "pname": "iss-above", "description": "Shows an icon when ISS is above you (+- 1000km)", "link": "https://extensions.gnome.org/extension/956/iss-above/", "shell_version_map": {"40": {"version": "4", "sha256": "00r5clklx8wbwdqyniz1lxf864jk71q7j36icq6jkp65v8av5cjn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGFuIGljb24gd2hlbiBJU1MgaXMgYWJvdmUgeW91ICgrLSAxMDAwa20pIiwKICAibmFtZSI6ICJJU1MgQWJvdmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWNlcGwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLUlTU19BYm92ZS8iLAogICJ1dWlkIjogIklTU19BYm92ZUBtY2VwbC5jZXBsLmV1IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "switcher@landau.fi", "name": "Switcher", "pname": "switcher", "description": "Switch windows or launch applications quickly by typing\n\nUse the configured global hotkey (Super+w by default) to open a list of current windows. Type a part of the name or title of the application window you want to activate and hit enter or click on the item you wish to activate. You can use the arrow keys to navigate among the filtered selection and type several space separated search terms to filter further. If your search matches launchable apps, those are shown in the list too. Use Esc or click anywhere outside the switcher to cancel.\n\nYou can customize the look and feel and functionality in the preferences.", "link": "https://extensions.gnome.org/extension/973/switcher/", "shell_version_map": {"38": {"version": "32", "sha256": "188bfj4b0kslja757fc70xhjqj5blk2jcdjfd2pvm6g2cxslfjg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuaWVsbGFuZGF1L3N3aXRjaGVyIiwKICAidXVpZCI6ICJzd2l0Y2hlckBsYW5kYXUuZmkiLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "40": {"version": "33", "sha256": "1dk91bvmjqr4hrsldb6ikvrd6ihk5flbg8wfhfnmq4c18kynsv9i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmllbGxhbmRhdS9zd2l0Y2hlciIsCiAgInV1aWQiOiAic3dpdGNoZXJAbGFuZGF1LmZpIiwKICAidmVyc2lvbiI6IDMzCn0="}, "41": {"version": "34", "sha256": "1bgj8w7qlz4kv70k6rjmm5f5rygn2n5fp0rd29jj1wfm50hfvzg1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmllbGxhbmRhdS9zd2l0Y2hlciIsCiAgInV1aWQiOiAic3dpdGNoZXJAbGFuZGF1LmZpIiwKICAidmVyc2lvbiI6IDM0Cn0="}, "42": {"version": "35", "sha256": "1v5rd89ahmw8sisxa3ymyg4njfzjxan9qn5l8kfcsrh8fq210ggq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmllbGxhbmRhdS9zd2l0Y2hlciIsCiAgInV1aWQiOiAic3dpdGNoZXJAbGFuZGF1LmZpIiwKICAidmVyc2lvbiI6IDM1Cn0="}}}
+, {"uuid": "switcher@landau.fi", "name": "Switcher", "pname": "switcher", "description": "Switch windows or launch applications quickly by typing\n\nUse the configured global hotkey (Super+w by default) to open a list of current windows. Type a part of the name or title of the application window you want to activate and hit enter or click on the item you wish to activate. You can use the arrow keys to navigate among the filtered selection and type several space separated search terms to filter further. If your search matches launchable apps, those are shown in the list too. Use Esc or click anywhere outside the switcher to cancel.\n\nYou can customize the look and feel and functionality in the preferences.", "link": "https://extensions.gnome.org/extension/973/switcher/", "shell_version_map": {"38": {"version": "32", "sha256": "188bfj4b0kslja757fc70xhjqj5blk2jcdjfd2pvm6g2cxslfjg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuaWVsbGFuZGF1L3N3aXRjaGVyIiwKICAidXVpZCI6ICJzd2l0Y2hlckBsYW5kYXUuZmkiLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "40": {"version": "33", "sha256": "1dk91bvmjqr4hrsldb6ikvrd6ihk5flbg8wfhfnmq4c18kynsv9i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmllbGxhbmRhdS9zd2l0Y2hlciIsCiAgInV1aWQiOiAic3dpdGNoZXJAbGFuZGF1LmZpIiwKICAidmVyc2lvbiI6IDMzCn0="}, "41": {"version": "34", "sha256": "1bgj8w7qlz4kv70k6rjmm5f5rygn2n5fp0rd29jj1wfm50hfvzg1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmllbGxhbmRhdS9zd2l0Y2hlciIsCiAgInV1aWQiOiAic3dpdGNoZXJAbGFuZGF1LmZpIiwKICAidmVyc2lvbiI6IDM0Cn0="}, "42": {"version": "36", "sha256": "06ayifrf49bdf61y9502fcwf9937py3zlmcf1idlp1f3y18s5i8c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmllbGxhbmRhdS9zd2l0Y2hlciIsCiAgInV1aWQiOiAic3dpdGNoZXJAbGFuZGF1LmZpIiwKICAidmVyc2lvbiI6IDM2Cn0="}}}
 , {"uuid": "keyboard_modifiers_status@sneetsher", "name": "Keyboard Modifiers Status", "pname": "keyboard-modifiers-status", "description": "Shows keyboard modifiers status. It's useful when sticky keys are active.", "link": "https://extensions.gnome.org/extension/975/keyboard-modifiers-status/", "shell_version_map": {"38": {"version": "13", "sha256": "0wfwy67r53ilp96yig70nf75a4bxd7cmn8gbnqlpin8virv66kfh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "13", "sha256": "0wfwy67r53ilp96yig70nf75a4bxd7cmn8gbnqlpin8virv66kfh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "0wfwy67r53ilp96yig70nf75a4bxd7cmn8gbnqlpin8virv66kfh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"uuid": "harddiskled@bijidroid.gmail.com", "name": "Harddisk LED", "pname": "harddisk-led", "description": "Show harddisk activity (IO speed read/write and LED). Click to change led size", "link": "https://extensions.gnome.org/extension/988/harddisk-led/", "shell_version_map": {"38": {"version": "30", "sha256": "064bma3maxx82f0mgnb7nfmmgjf2wk1z09kqrnlqlvlbqrigyanh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBsZWQgc2l6ZSIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9oYXJkZGlza2xlZCIsCiAgInV1aWQiOiAiaGFyZGRpc2tsZWRAYmlqaWRyb2lkLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "40": {"version": "30", "sha256": "064bma3maxx82f0mgnb7nfmmgjf2wk1z09kqrnlqlvlbqrigyanh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBsZWQgc2l6ZSIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9oYXJkZGlza2xlZCIsCiAgInV1aWQiOiAiaGFyZGRpc2tsZWRAYmlqaWRyb2lkLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "41": {"version": "30", "sha256": "064bma3maxx82f0mgnb7nfmmgjf2wk1z09kqrnlqlvlbqrigyanh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBsZWQgc2l6ZSIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9oYXJkZGlza2xlZCIsCiAgInV1aWQiOiAiaGFyZGRpc2tsZWRAYmlqaWRyb2lkLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "42": {"version": "30", "sha256": "064bma3maxx82f0mgnb7nfmmgjf2wk1z09kqrnlqlvlbqrigyanh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBsZWQgc2l6ZSIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9oYXJkZGlza2xlZCIsCiAgInV1aWQiOiAiaGFyZGRpc2tsZWRAYmlqaWRyb2lkLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}}}
 , {"uuid": "syncthingicon@jay.strict@posteo.de", "name": "Syncthing Icon", "pname": "syncthing-icon", "description": "Display Syncthing Icon in Top Bar", "link": "https://extensions.gnome.org/extension/989/syncthing-icon/", "shell_version_map": {"40": {"version": "33", "sha256": "0lg2k9p033w9dff5g16xai9rvjmw85qvhrx17dw8f228nfm93fik", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgU3luY3RoaW5nIEljb24gaW4gVG9wIEJhciIsCiAgIm5hbWUiOiAiU3luY3RoaW5nIEljb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3luY3RoaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qYXlzdHJpY3Rvci9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3luY3RoaW5nIiwKICAidXVpZCI6ICJzeW5jdGhpbmdpY29uQGpheS5zdHJpY3RAcG9zdGVvLmRlIiwKICAidmVyc2lvbiI6IDMzCn0="}, "41": {"version": "33", "sha256": "0lg2k9p033w9dff5g16xai9rvjmw85qvhrx17dw8f228nfm93fik", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgU3luY3RoaW5nIEljb24gaW4gVG9wIEJhciIsCiAgIm5hbWUiOiAiU3luY3RoaW5nIEljb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3luY3RoaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qYXlzdHJpY3Rvci9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3luY3RoaW5nIiwKICAidXVpZCI6ICJzeW5jdGhpbmdpY29uQGpheS5zdHJpY3RAcG9zdGVvLmRlIiwKICAidmVyc2lvbiI6IDMzCn0="}}}
 , {"uuid": "window-search-provider@quelltexter.org", "name": "Window Search Provider", "pname": "window-search-provider", "description": "Provide active windows as search results in overview", "link": "https://extensions.gnome.org/extension/1001/window-search-provider/", "shell_version_map": {"38": {"version": "2", "sha256": "030s38akm3fw7nq9v4wfgzhw716b51l2z3szns0gcwc0gx5zpfjv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYWN0aXZlIHdpbmRvd3MgYXMgc2VhcmNoIHJlc3VsdHMgaW4gb3ZlcnZpZXciLAogICJuYW1lIjogIldpbmRvdyBTZWFyY2ggUHJvdmlkZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjMuNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rbG9yZW56L2dub21lLXNoZWxsLXdpbmRvdy1zZWFyY2gtcHJvdmlkZXIiLAogICJ1dWlkIjogIndpbmRvdy1zZWFyY2gtcHJvdmlkZXJAcXVlbGx0ZXh0ZXIub3JnIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
-, {"uuid": "windowIsReady_Remover@nunofarruca@gmail.com", "name": "Window Is Ready - Notification Remover", "pname": "window-is-ready-notification-remover", "description": "Removes window is ready Notification", "link": "https://extensions.gnome.org/extension/1007/window-is-ready-notification-remover/", "shell_version_map": {"38": {"version": "14", "sha256": "007dv1rqpmiiv9r4ic55wh69920yswldgk9xxikzwrzzxxzc0pvj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9udW5vZmFycnVjYS9XaW5kb3dJc1JlYWR5X1JlbW92ZXIiLAogICJ1dWlkIjogIndpbmRvd0lzUmVhZHlfUmVtb3ZlckBudW5vZmFycnVjYUBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "14", "sha256": "007dv1rqpmiiv9r4ic55wh69920yswldgk9xxikzwrzzxxzc0pvj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9udW5vZmFycnVjYS9XaW5kb3dJc1JlYWR5X1JlbW92ZXIiLAogICJ1dWlkIjogIndpbmRvd0lzUmVhZHlfUmVtb3ZlckBudW5vZmFycnVjYUBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "007dv1rqpmiiv9r4ic55wh69920yswldgk9xxikzwrzzxxzc0pvj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9udW5vZmFycnVjYS9XaW5kb3dJc1JlYWR5X1JlbW92ZXIiLAogICJ1dWlkIjogIndpbmRvd0lzUmVhZHlfUmVtb3ZlckBudW5vZmFycnVjYUBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "42": {"version": "14", "sha256": "007dv1rqpmiiv9r4ic55wh69920yswldgk9xxikzwrzzxxzc0pvj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9udW5vZmFycnVjYS9XaW5kb3dJc1JlYWR5X1JlbW92ZXIiLAogICJ1dWlkIjogIndpbmRvd0lzUmVhZHlfUmVtb3ZlckBudW5vZmFycnVjYUBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
+, {"uuid": "windowIsReady_Remover@nunofarruca@gmail.com", "name": "Window Is Ready - Notification Remover", "pname": "window-is-ready-notification-remover", "description": "Removes window is ready Notification", "link": "https://extensions.gnome.org/extension/1007/window-is-ready-notification-remover/", "shell_version_map": {"38": {"version": "18", "sha256": "1s5a2v302hkw14dps8b0wah72krsya8qs18l6j8f488yq5j1p2av", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9udW5vZmFycnVjYS9XaW5kb3dJc1JlYWR5X1JlbW92ZXIiLAogICJ1dWlkIjogIndpbmRvd0lzUmVhZHlfUmVtb3ZlckBudW5vZmFycnVjYUBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "40": {"version": "18", "sha256": "1s5a2v302hkw14dps8b0wah72krsya8qs18l6j8f488yq5j1p2av", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9udW5vZmFycnVjYS9XaW5kb3dJc1JlYWR5X1JlbW92ZXIiLAogICJ1dWlkIjogIndpbmRvd0lzUmVhZHlfUmVtb3ZlckBudW5vZmFycnVjYUBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "41": {"version": "18", "sha256": "1s5a2v302hkw14dps8b0wah72krsya8qs18l6j8f488yq5j1p2av", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9udW5vZmFycnVjYS9XaW5kb3dJc1JlYWR5X1JlbW92ZXIiLAogICJ1dWlkIjogIndpbmRvd0lzUmVhZHlfUmVtb3ZlckBudW5vZmFycnVjYUBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "42": {"version": "18", "sha256": "1s5a2v302hkw14dps8b0wah72krsya8qs18l6j8f488yq5j1p2av", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgd2luZG93IGlzIHJlYWR5IE5vdGlmaWNhdGlvbiIsCiAgImxpY2Vuc2UiOiAiQXBhY2hlLTIuMCIsCiAgIm5hbWUiOiAiV2luZG93IElzIFJlYWR5IC0gTm90aWZpY2F0aW9uIFJlbW92ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9udW5vZmFycnVjYS9XaW5kb3dJc1JlYWR5X1JlbW92ZXIiLAogICJ1dWlkIjogIndpbmRvd0lzUmVhZHlfUmVtb3ZlckBudW5vZmFycnVjYUBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
 , {"uuid": "arch-update@RaphaelRochet", "name": "Arch Linux Updates Indicator", "pname": "archlinux-updates-indicator", "description": "Update indicator for Arch Linux and GNOME Shell.\n** Note : you now need to install the package pacman-contrib to use the checkupdates script. **\n  Can support AUR or other distros by changing command used to check for and apply updates.\n See README about Gnome42 Console", "link": "https://extensions.gnome.org/extension/1010/archlinux-updates-indicator/", "shell_version_map": {"38": {"version": "39", "sha256": "0cm66wacw6qpf0lpd38hnic1ydjg11za6pq1bprpm5r3sdl7bmhg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy5cbiBTZWUgUkVBRE1FIGFib3V0IEdub21lNDIgQ29uc29sZSIsCiAgIm5hbWUiOiAiQXJjaCBMaW51eCBVcGRhdGVzIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNi4xIiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmFwaGFlbFJvY2hldC9hcmNoLXVwZGF0ZSIsCiAgInV1aWQiOiAiYXJjaC11cGRhdGVAUmFwaGFlbFJvY2hldCIsCiAgInZlcnNpb24iOiAzOQp9"}, "40": {"version": "47", "sha256": "1c7fl0s2izqfw74fnnw44qrsd56l0vj51bd5lk9l3mfcxi6c2sk1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy5cbiBTZWUgUkVBRE1FIGFib3V0IEdub21lNDIgQ29uc29sZSIsCiAgIm5hbWUiOiAiQXJjaCBMaW51eCBVcGRhdGVzIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhcGhhZWxSb2NoZXQvYXJjaC11cGRhdGUiLAogICJ1dWlkIjogImFyY2gtdXBkYXRlQFJhcGhhZWxSb2NoZXQiLAogICJ2ZXJzaW9uIjogNDcKfQ=="}, "41": {"version": "47", "sha256": "1c7fl0s2izqfw74fnnw44qrsd56l0vj51bd5lk9l3mfcxi6c2sk1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy5cbiBTZWUgUkVBRE1FIGFib3V0IEdub21lNDIgQ29uc29sZSIsCiAgIm5hbWUiOiAiQXJjaCBMaW51eCBVcGRhdGVzIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhcGhhZWxSb2NoZXQvYXJjaC11cGRhdGUiLAogICJ1dWlkIjogImFyY2gtdXBkYXRlQFJhcGhhZWxSb2NoZXQiLAogICJ2ZXJzaW9uIjogNDcKfQ=="}, "42": {"version": "47", "sha256": "1c7fl0s2izqfw74fnnw44qrsd56l0vj51bd5lk9l3mfcxi6c2sk1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEFyY2ggTGludXggYW5kIEdOT01FIFNoZWxsLlxuKiogTm90ZSA6IHlvdSBub3cgbmVlZCB0byBpbnN0YWxsIHRoZSBwYWNrYWdlIHBhY21hbi1jb250cmliIHRvIHVzZSB0aGUgY2hlY2t1cGRhdGVzIHNjcmlwdC4gKipcbiAgQ2FuIHN1cHBvcnQgQVVSIG9yIG90aGVyIGRpc3Ryb3MgYnkgY2hhbmdpbmcgY29tbWFuZCB1c2VkIHRvIGNoZWNrIGZvciBhbmQgYXBwbHkgdXBkYXRlcy5cbiBTZWUgUkVBRE1FIGFib3V0IEdub21lNDIgQ29uc29sZSIsCiAgIm5hbWUiOiAiQXJjaCBMaW51eCBVcGRhdGVzIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhcGhhZWxSb2NoZXQvYXJjaC11cGRhdGUiLAogICJ1dWlkIjogImFyY2gtdXBkYXRlQFJhcGhhZWxSb2NoZXQiLAogICJ2ZXJzaW9uIjogNDcKfQ=="}}}
 , {"uuid": "dynamic-panel-transparency@rockon999.github.io", "name": "Dynamic Panel Transparency", "pname": "dynamic-panel-transparency", "description": "Miss dynamic panel transparency in 3.32 and up? Try the original dynamic panel with much more customization! This extension will fade your top panel to nothingness when there are no maximized windows present! Never again will the panel be abruptly darkened.\n\nMay be incompatible with some extensions that make extensive changes to the panel.\n\nIf your theme isn't working correctly with this extension enable 'Remove Excessive Panel Styling' in the Background section of preferences. This particularly impacts the default *Ubuntu* theme!", "link": "https://extensions.gnome.org/extension/1011/dynamic-panel-transparency/", "shell_version_map": {"38": {"version": "34", "sha256": "10w5kvmspy4rp4jnwx0rj2crbdyi1lxv81vhi8zx490fhwgmlkvl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pc3MgZHluYW1pYyBwYW5lbCB0cmFuc3BhcmVuY3kgaW4gMy4zMiBhbmQgdXA/IFRyeSB0aGUgb3JpZ2luYWwgZHluYW1pYyBwYW5lbCB3aXRoIG11Y2ggbW9yZSBjdXN0b21pemF0aW9uISBUaGlzIGV4dGVuc2lvbiB3aWxsIGZhZGUgeW91ciB0b3AgcGFuZWwgdG8gbm90aGluZ25lc3Mgd2hlbiB0aGVyZSBhcmUgbm8gbWF4aW1pemVkIHdpbmRvd3MgcHJlc2VudCEgTmV2ZXIgYWdhaW4gd2lsbCB0aGUgcGFuZWwgYmUgYWJydXB0bHkgZGFya2VuZWQuXG5cbk1heSBiZSBpbmNvbXBhdGlibGUgd2l0aCBzb21lIGV4dGVuc2lvbnMgdGhhdCBtYWtlIGV4dGVuc2l2ZSBjaGFuZ2VzIHRvIHRoZSBwYW5lbC5cblxuSWYgeW91ciB0aGVtZSBpc24ndCB3b3JraW5nIGNvcnJlY3RseSB3aXRoIHRoaXMgZXh0ZW5zaW9uIGVuYWJsZSAnUmVtb3ZlIEV4Y2Vzc2l2ZSBQYW5lbCBTdHlsaW5nJyBpbiB0aGUgQmFja2dyb3VuZCBzZWN0aW9uIG9mIHByZWZlcmVuY2VzLiBUaGlzIHBhcnRpY3VsYXJseSBpbXBhY3RzIHRoZSBkZWZhdWx0ICpVYnVudHUqIHRoZW1lISIsCiAgImdldHRleHQtZG9tYWluIjogImR5bmFtaWMtcGFuZWwtdHJhbnNwYXJlbmN5IiwKICAibmFtZSI6ICJEeW5hbWljIFBhbmVsIFRyYW5zcGFyZW5jeSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5keW5hbWljLXBhbmVsLXRyYW5zcGFyZW5jeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V3bHNoL2R5bmFtaWMtcGFuZWwtdHJhbnNwYXJlbmN5LyIsCiAgInV1aWQiOiAiZHluYW1pYy1wYW5lbC10cmFuc3BhcmVuY3lAcm9ja29uOTk5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzNAp9"}, "40": {"version": "35", "sha256": "1znc564xd7n4k2klfc0kkip6hmadqdsa50p0sq0717h407m9p0vx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pc3MgZHluYW1pYyBwYW5lbCB0cmFuc3BhcmVuY3kgaW4gMy4zMiBhbmQgdXA/IFRyeSB0aGUgb3JpZ2luYWwgZHluYW1pYyBwYW5lbCB3aXRoIG11Y2ggbW9yZSBjdXN0b21pemF0aW9uISBUaGlzIGV4dGVuc2lvbiB3aWxsIGZhZGUgeW91ciB0b3AgcGFuZWwgdG8gbm90aGluZ25lc3Mgd2hlbiB0aGVyZSBhcmUgbm8gbWF4aW1pemVkIHdpbmRvd3MgcHJlc2VudCEgTmV2ZXIgYWdhaW4gd2lsbCB0aGUgcGFuZWwgYmUgYWJydXB0bHkgZGFya2VuZWQuXG5cbk1heSBiZSBpbmNvbXBhdGlibGUgd2l0aCBzb21lIGV4dGVuc2lvbnMgdGhhdCBtYWtlIGV4dGVuc2l2ZSBjaGFuZ2VzIHRvIHRoZSBwYW5lbC5cblxuSWYgeW91ciB0aGVtZSBpc24ndCB3b3JraW5nIGNvcnJlY3RseSB3aXRoIHRoaXMgZXh0ZW5zaW9uIGVuYWJsZSAnUmVtb3ZlIEV4Y2Vzc2l2ZSBQYW5lbCBTdHlsaW5nJyBpbiB0aGUgQmFja2dyb3VuZCBzZWN0aW9uIG9mIHByZWZlcmVuY2VzLiBUaGlzIHBhcnRpY3VsYXJseSBpbXBhY3RzIHRoZSBkZWZhdWx0ICpVYnVudHUqIHRoZW1lISIsCiAgImdldHRleHQtZG9tYWluIjogImR5bmFtaWMtcGFuZWwtdHJhbnNwYXJlbmN5IiwKICAibmFtZSI6ICJEeW5hbWljIFBhbmVsIFRyYW5zcGFyZW5jeSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5keW5hbWljLXBhbmVsLXRyYW5zcGFyZW5jeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ld2xzaC9keW5hbWljLXBhbmVsLXRyYW5zcGFyZW5jeS8iLAogICJ1dWlkIjogImR5bmFtaWMtcGFuZWwtdHJhbnNwYXJlbmN5QHJvY2tvbjk5OS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMzUKfQ=="}}}
 , {"uuid": "icinga-checker@sosulski.net", "name": "Icinga checker", "pname": "icinga-checker", "description": "Icinga/Nagios checker", "link": "https://extensions.gnome.org/extension/1029/icinga-checker/", "shell_version_map": {"38": {"version": "14", "sha256": "1avd9ggqa6zv5r61kj49cfal223iz68yijyzzr6p483031xxpc4r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJpY2luZ2EtY2hlY2tlckBzb3N1bHNraS5uZXQiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "14", "sha256": "1avd9ggqa6zv5r61kj49cfal223iz68yijyzzr6p483031xxpc4r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJpY2luZ2EtY2hlY2tlckBzb3N1bHNraS5uZXQiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "1avd9ggqa6zv5r61kj49cfal223iz68yijyzzr6p483031xxpc4r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJpY2luZ2EtY2hlY2tlckBzb3N1bHNraS5uZXQiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "42": {"version": "14", "sha256": "1avd9ggqa6zv5r61kj49cfal223iz68yijyzzr6p483031xxpc4r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkljaW5nYS9OYWdpb3MgY2hlY2tlciIsCiAgImV4dGVuc2lvbi1pZCI6ICJpY2luZ2EtY2hlY2tlciIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkljaW5nYSBjaGVja2VyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhd2VsQHNvc3Vsc2tpLm5ldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pY2luZ2EtY2hlY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJpY2luZ2EtY2hlY2tlckBzb3N1bHNraS5uZXQiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
-, {"uuid": "taskwhisperer-extension@infinicode.de", "name": "TaskWhisperer", "pname": "taskwhisperer", "description": "Taskwhisperer is a extension for TaskWarrior Application https://taskwarrior.org. It is to display upcoming tasks and task details as well as to create and modify them.\n", "link": "https://extensions.gnome.org/extension/1039/taskwhisperer/", "shell_version_map": {"38": {"version": "20", "sha256": "067z3j2px4rz5yspfjx2s6p5j4l1svxllclahnf3zmv1nlbhzq8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2t3aGlzcGVyZXIgaXMgYSBleHRlbnNpb24gZm9yIFRhc2tXYXJyaW9yIEFwcGxpY2F0aW9uIGh0dHBzOi8vdGFza3dhcnJpb3Iub3JnLiBJdCBpcyB0byBkaXNwbGF5IHVwY29taW5nIHRhc2tzIGFuZCB0YXNrIGRldGFpbHMgYXMgd2VsbCBhcyB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGVtLlxuIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJUYXNrV2hpc3BlcmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvdGFza3doaXNwZXJlciIsCiAgInV1aWQiOiAidGFza3doaXNwZXJlci1leHRlbnNpb25AaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "20", "sha256": "067z3j2px4rz5yspfjx2s6p5j4l1svxllclahnf3zmv1nlbhzq8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2t3aGlzcGVyZXIgaXMgYSBleHRlbnNpb24gZm9yIFRhc2tXYXJyaW9yIEFwcGxpY2F0aW9uIGh0dHBzOi8vdGFza3dhcnJpb3Iub3JnLiBJdCBpcyB0byBkaXNwbGF5IHVwY29taW5nIHRhc2tzIGFuZCB0YXNrIGRldGFpbHMgYXMgd2VsbCBhcyB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGVtLlxuIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJUYXNrV2hpc3BlcmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvdGFza3doaXNwZXJlciIsCiAgInV1aWQiOiAidGFza3doaXNwZXJlci1leHRlbnNpb25AaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiAyMAp9"}}}
+, {"uuid": "taskwhisperer-extension@infinicode.de", "name": "TaskWhisperer", "pname": "taskwhisperer", "description": "Taskwhisperer is a extension for TaskWarrior Application https://taskwarrior.org. It is to display upcoming tasks and task details as well as to create and modify them.\n", "link": "https://extensions.gnome.org/extension/1039/taskwhisperer/", "shell_version_map": {"38": {"version": "20", "sha256": "067z3j2px4rz5yspfjx2s6p5j4l1svxllclahnf3zmv1nlbhzq8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2t3aGlzcGVyZXIgaXMgYSBleHRlbnNpb24gZm9yIFRhc2tXYXJyaW9yIEFwcGxpY2F0aW9uIGh0dHBzOi8vdGFza3dhcnJpb3Iub3JnLiBJdCBpcyB0byBkaXNwbGF5IHVwY29taW5nIHRhc2tzIGFuZCB0YXNrIGRldGFpbHMgYXMgd2VsbCBhcyB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGVtLlxuIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJUYXNrV2hpc3BlcmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvdGFza3doaXNwZXJlciIsCiAgInV1aWQiOiAidGFza3doaXNwZXJlci1leHRlbnNpb25AaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "23", "sha256": "1mcw358833mwsb09g3ycs1yjibg0dx0333cd0imz1mg0clngprm5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2t3aGlzcGVyZXIgaXMgYSBleHRlbnNpb24gZm9yIFRhc2tXYXJyaW9yIEFwcGxpY2F0aW9uIGh0dHBzOi8vdGFza3dhcnJpb3Iub3JnLiBJdCBpcyB0byBkaXNwbGF5IHVwY29taW5nIHRhc2tzIGFuZCB0YXNrIGRldGFpbHMgYXMgd2VsbCBhcyB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGVtLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2t3aGlzcGVyZXIiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlRhc2tXaGlzcGVyZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFza3doaXNwZXJlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvdGFza3doaXNwZXJlciIsCiAgInV1aWQiOiAidGFza3doaXNwZXJlci1leHRlbnNpb25AaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiAyMwp9"}, "41": {"version": "23", "sha256": "1mcw358833mwsb09g3ycs1yjibg0dx0333cd0imz1mg0clngprm5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2t3aGlzcGVyZXIgaXMgYSBleHRlbnNpb24gZm9yIFRhc2tXYXJyaW9yIEFwcGxpY2F0aW9uIGh0dHBzOi8vdGFza3dhcnJpb3Iub3JnLiBJdCBpcyB0byBkaXNwbGF5IHVwY29taW5nIHRhc2tzIGFuZCB0YXNrIGRldGFpbHMgYXMgd2VsbCBhcyB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGVtLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2t3aGlzcGVyZXIiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlRhc2tXaGlzcGVyZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFza3doaXNwZXJlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvdGFza3doaXNwZXJlciIsCiAgInV1aWQiOiAidGFza3doaXNwZXJlci1leHRlbnNpb25AaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiAyMwp9"}, "42": {"version": "23", "sha256": "1mcw358833mwsb09g3ycs1yjibg0dx0333cd0imz1mg0clngprm5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2t3aGlzcGVyZXIgaXMgYSBleHRlbnNpb24gZm9yIFRhc2tXYXJyaW9yIEFwcGxpY2F0aW9uIGh0dHBzOi8vdGFza3dhcnJpb3Iub3JnLiBJdCBpcyB0byBkaXNwbGF5IHVwY29taW5nIHRhc2tzIGFuZCB0YXNrIGRldGFpbHMgYXMgd2VsbCBhcyB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGVtLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2t3aGlzcGVyZXIiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlRhc2tXaGlzcGVyZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFza3doaXNwZXJlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvdGFza3doaXNwZXJlciIsCiAgInV1aWQiOiAidGFza3doaXNwZXJlci1leHRlbnNpb25AaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiAyMwp9"}}}
 , {"uuid": "randomwallpaper@iflow.space", "name": "Random Wallpaper", "pname": "random-wallpaper", "description": "Fetch a random wallpaper from an online source and set it as a desktop background. \nThe desktop background can be updated periodically or manually.\n\nFeatures:\nMany different online sources with filters:\n        - Unsplash (https://unsplash.com/)\n        - Wallhaven (https://wallhaven.cc/)\n        - Reddit (https://reddit.com)\n        - Basically any JSON API/File (see Examples on GitHub)\nHistory of previous images\nSet lock screen image\nAutomatic renewal (Auto-Fetching)", "link": "https://extensions.gnome.org/extension/1040/random-wallpaper/", "shell_version_map": {"38": {"version": "22", "sha256": "1mnc7k1816r0q8c95y36ryzl9cni6zms5xm587wmdmy4xi92i8ic", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZldGNoIGEgcmFuZG9tIHdhbGxwYXBlciBmcm9tIGFuIG9ubGluZSBzb3VyY2UgYW5kIHNldCBpdCBhcyBhIGRlc2t0b3AgYmFja2dyb3VuZC4gXG5UaGUgZGVza3RvcCBiYWNrZ3JvdW5kIGNhbiBiZSB1cGRhdGVkIHBlcmlvZGljYWxseSBvciBtYW51YWxseS5cblxuRmVhdHVyZXM6XG5NYW55IGRpZmZlcmVudCBvbmxpbmUgc291cmNlcyB3aXRoIGZpbHRlcnM6XG4gICAgICAgIC0gVW5zcGxhc2ggKGh0dHBzOi8vdW5zcGxhc2guY29tLylcbiAgICAgICAgLSBXYWxsaGF2ZW4gKGh0dHBzOi8vd2FsbGhhdmVuLmNjLylcbiAgICAgICAgLSBSZWRkaXQgKGh0dHBzOi8vcmVkZGl0LmNvbSlcbiAgICAgICAgLSBCYXNpY2FsbHkgYW55IEpTT04gQVBJL0ZpbGUgKHNlZSBFeGFtcGxlcyBvbiBHaXRIdWIpXG5IaXN0b3J5IG9mIHByZXZpb3VzIGltYWdlc1xuU2V0IGxvY2sgc2NyZWVuIGltYWdlXG5BdXRvbWF0aWMgcmVuZXdhbCAoQXV0by1GZXRjaGluZykiLAogICJuYW1lIjogIlJhbmRvbSBXYWxscGFwZXIiLAogICJzZW1hbnRpYy12ZXJzaW9uIjogIjIuNC41IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwYWNlLmlmbG93LnJhbmRvbXdhbGxwYXBlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2lmbDB3L1JhbmRvbVdhbGxwYXBlckdub21lMyIsCiAgInV1aWQiOiAicmFuZG9td2FsbHBhcGVyQGlmbG93LnNwYWNlIiwKICAidmVyc2lvbiI6IDIyCn0="}, "40": {"version": "28", "sha256": "1j6hvpfqzf2js0hq23j1vyff3pfrwxxd8r2zxcsk2s7wk1vbqjg7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZldGNoIGEgcmFuZG9tIHdhbGxwYXBlciBmcm9tIGFuIG9ubGluZSBzb3VyY2UgYW5kIHNldCBpdCBhcyBhIGRlc2t0b3AgYmFja2dyb3VuZC4gXG5UaGUgZGVza3RvcCBiYWNrZ3JvdW5kIGNhbiBiZSB1cGRhdGVkIHBlcmlvZGljYWxseSBvciBtYW51YWxseS5cblxuRmVhdHVyZXM6XG5NYW55IGRpZmZlcmVudCBvbmxpbmUgc291cmNlcyB3aXRoIGZpbHRlcnM6XG4gICAgICAgIC0gVW5zcGxhc2ggKGh0dHBzOi8vdW5zcGxhc2guY29tLylcbiAgICAgICAgLSBXYWxsaGF2ZW4gKGh0dHBzOi8vd2FsbGhhdmVuLmNjLylcbiAgICAgICAgLSBSZWRkaXQgKGh0dHBzOi8vcmVkZGl0LmNvbSlcbiAgICAgICAgLSBCYXNpY2FsbHkgYW55IEpTT04gQVBJL0ZpbGUgKHNlZSBFeGFtcGxlcyBvbiBHaXRIdWIpXG5IaXN0b3J5IG9mIHByZXZpb3VzIGltYWdlc1xuU2V0IGxvY2sgc2NyZWVuIGltYWdlXG5BdXRvbWF0aWMgcmVuZXdhbCAoQXV0by1GZXRjaGluZykiLAogICJuYW1lIjogIlJhbmRvbSBXYWxscGFwZXIiLAogICJzZW1hbnRpYy12ZXJzaW9uIjogIjIuNy4xIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwYWNlLmlmbG93LnJhbmRvbXdhbGxwYXBlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIsCiAgICAiNDAuMSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWZsMHcvUmFuZG9tV2FsbHBhcGVyR25vbWUzIiwKICAidXVpZCI6ICJyYW5kb213YWxscGFwZXJAaWZsb3cuc3BhY2UiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}, "41": {"version": "28", "sha256": "1j6hvpfqzf2js0hq23j1vyff3pfrwxxd8r2zxcsk2s7wk1vbqjg7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZldGNoIGEgcmFuZG9tIHdhbGxwYXBlciBmcm9tIGFuIG9ubGluZSBzb3VyY2UgYW5kIHNldCBpdCBhcyBhIGRlc2t0b3AgYmFja2dyb3VuZC4gXG5UaGUgZGVza3RvcCBiYWNrZ3JvdW5kIGNhbiBiZSB1cGRhdGVkIHBlcmlvZGljYWxseSBvciBtYW51YWxseS5cblxuRmVhdHVyZXM6XG5NYW55IGRpZmZlcmVudCBvbmxpbmUgc291cmNlcyB3aXRoIGZpbHRlcnM6XG4gICAgICAgIC0gVW5zcGxhc2ggKGh0dHBzOi8vdW5zcGxhc2guY29tLylcbiAgICAgICAgLSBXYWxsaGF2ZW4gKGh0dHBzOi8vd2FsbGhhdmVuLmNjLylcbiAgICAgICAgLSBSZWRkaXQgKGh0dHBzOi8vcmVkZGl0LmNvbSlcbiAgICAgICAgLSBCYXNpY2FsbHkgYW55IEpTT04gQVBJL0ZpbGUgKHNlZSBFeGFtcGxlcyBvbiBHaXRIdWIpXG5IaXN0b3J5IG9mIHByZXZpb3VzIGltYWdlc1xuU2V0IGxvY2sgc2NyZWVuIGltYWdlXG5BdXRvbWF0aWMgcmVuZXdhbCAoQXV0by1GZXRjaGluZykiLAogICJuYW1lIjogIlJhbmRvbSBXYWxscGFwZXIiLAogICJzZW1hbnRpYy12ZXJzaW9uIjogIjIuNy4xIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwYWNlLmlmbG93LnJhbmRvbXdhbGxwYXBlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuMCIsCiAgICAiNDAuMSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWZsMHcvUmFuZG9tV2FsbHBhcGVyR25vbWUzIiwKICAidXVpZCI6ICJyYW5kb213YWxscGFwZXJAaWZsb3cuc3BhY2UiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}}}
 , {"uuid": "gse-haguichi-indicator@ztefn.github.com", "name": "Haguichi Indicator", "pname": "haguichi-indicator", "description": "Lets you control Haguichi directly from the system status area in GNOME Shell.", "link": "https://extensions.gnome.org/extension/1045/haguichi-indicator/", "shell_version_map": {"38": {"version": "18", "sha256": "1vknvsrn92g0dq890pnrxsqq2kva5d6pzd7dx3q7ssgclqwfv81r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldHMgeW91IGNvbnRyb2wgSGFndWljaGkgZGlyZWN0bHkgZnJvbSB0aGUgc3lzdGVtIHN0YXR1cyBhcmVhIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiSGFndWljaGkgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20venRlZm4vZ3NlLWhhZ3VpY2hpLWluZGljYXRvciIsCiAgInV1aWQiOiAiZ3NlLWhhZ3VpY2hpLWluZGljYXRvckB6dGVmbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "18", "sha256": "1vknvsrn92g0dq890pnrxsqq2kva5d6pzd7dx3q7ssgclqwfv81r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldHMgeW91IGNvbnRyb2wgSGFndWljaGkgZGlyZWN0bHkgZnJvbSB0aGUgc3lzdGVtIHN0YXR1cyBhcmVhIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiSGFndWljaGkgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20venRlZm4vZ3NlLWhhZ3VpY2hpLWluZGljYXRvciIsCiAgInV1aWQiOiAiZ3NlLWhhZ3VpY2hpLWluZGljYXRvckB6dGVmbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "41": {"version": "18", "sha256": "1vknvsrn92g0dq890pnrxsqq2kva5d6pzd7dx3q7ssgclqwfv81r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldHMgeW91IGNvbnRyb2wgSGFndWljaGkgZGlyZWN0bHkgZnJvbSB0aGUgc3lzdGVtIHN0YXR1cyBhcmVhIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiSGFndWljaGkgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20venRlZm4vZ3NlLWhhZ3VpY2hpLWluZGljYXRvciIsCiAgInV1aWQiOiAiZ3NlLWhhZ3VpY2hpLWluZGljYXRvckB6dGVmbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "42": {"version": "18", "sha256": "1vknvsrn92g0dq890pnrxsqq2kva5d6pzd7dx3q7ssgclqwfv81r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldHMgeW91IGNvbnRyb2wgSGFndWljaGkgZGlyZWN0bHkgZnJvbSB0aGUgc3lzdGVtIHN0YXR1cyBhcmVhIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiSGFndWljaGkgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20venRlZm4vZ3NlLWhhZ3VpY2hpLWluZGljYXRvciIsCiAgInV1aWQiOiAiZ3NlLWhhZ3VpY2hpLWluZGljYXRvckB6dGVmbi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
 , {"uuid": "timezone@jwendell", "name": "Timezone", "pname": "timezone", "description": "See people with their timezones from the Shell", "link": "https://extensions.gnome.org/extension/1060/timezone/", "shell_version_map": {"40": {"version": "18", "sha256": "1ksb8pm2y4lxjcwn2l0yj6piz5cqgmzx6k4rygx1mbh5y76mwdji", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSBwZW9wbGUgd2l0aCB0aGVpciB0aW1lem9uZXMgZnJvbSB0aGUgU2hlbGwiLAogICJuYW1lIjogIlRpbWV6b25lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRpbWV6b25lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2p3ZW5kZWxsL2dub21lLXNoZWxsLWV4dGVuc2lvbi10aW1lem9uZSIsCiAgInV1aWQiOiAidGltZXpvbmVAandlbmRlbGwiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "41": {"version": "19", "sha256": "0mjqwf1i8arrvdhp8m17azh1xahrhxivncscb8shyq87817cfkp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSBwZW9wbGUgd2l0aCB0aGVpciB0aW1lem9uZXMgZnJvbSB0aGUgU2hlbGwiLAogICJuYW1lIjogIlRpbWV6b25lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRpbWV6b25lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2p3ZW5kZWxsL2dub21lLXNoZWxsLWV4dGVuc2lvbi10aW1lem9uZSIsCiAgInV1aWQiOiAidGltZXpvbmVAandlbmRlbGwiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
@@ -115,7 +116,7 @@
 , {"uuid": "simplenetspeed@biji.extension", "name": "Simple net speed", "pname": "simple-net-speed", "description": "Simply showing network speed. Left click to change modes:\n\n1. Total net speed in bits per second\n2. Total net speed in Bytes per second\n3. Up & down speed in bits per second\n4. Up & down speed in Bytes per second\n5. Total of downloaded in Bytes (Right click to reset counter)\n\nMiddle click to change font size", "link": "https://extensions.gnome.org/extension/1085/simple-net-speed/", "shell_version_map": {"38": {"version": "28", "sha256": "16cilh0rki5pp4kwhd9y51c5602l4l953x4sl4h7sqdnpwxnzibs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBzaG93aW5nIG5ldHdvcmsgc3BlZWQuIExlZnQgY2xpY2sgdG8gY2hhbmdlIG1vZGVzOlxuXG4xLiBUb3RhbCBuZXQgc3BlZWQgaW4gYml0cyBwZXIgc2Vjb25kXG4yLiBUb3RhbCBuZXQgc3BlZWQgaW4gQnl0ZXMgcGVyIHNlY29uZFxuMy4gVXAgJiBkb3duIHNwZWVkIGluIGJpdHMgcGVyIHNlY29uZFxuNC4gVXAgJiBkb3duIHNwZWVkIGluIEJ5dGVzIHBlciBzZWNvbmRcbjUuIFRvdGFsIG9mIGRvd25sb2FkZWQgaW4gQnl0ZXMgKFJpZ2h0IGNsaWNrIHRvIHJlc2V0IGNvdW50ZXIpXG5cbk1pZGRsZSBjbGljayB0byBjaGFuZ2UgZm9udCBzaXplIiwKICAibmFtZSI6ICJTaW1wbGUgbmV0IHNwZWVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9zaW1wbGVuZXRzcGVlZCIsCiAgInV1aWQiOiAic2ltcGxlbmV0c3BlZWRAYmlqaS5leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMjgKfQ=="}, "40": {"version": "28", "sha256": "16cilh0rki5pp4kwhd9y51c5602l4l953x4sl4h7sqdnpwxnzibs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBzaG93aW5nIG5ldHdvcmsgc3BlZWQuIExlZnQgY2xpY2sgdG8gY2hhbmdlIG1vZGVzOlxuXG4xLiBUb3RhbCBuZXQgc3BlZWQgaW4gYml0cyBwZXIgc2Vjb25kXG4yLiBUb3RhbCBuZXQgc3BlZWQgaW4gQnl0ZXMgcGVyIHNlY29uZFxuMy4gVXAgJiBkb3duIHNwZWVkIGluIGJpdHMgcGVyIHNlY29uZFxuNC4gVXAgJiBkb3duIHNwZWVkIGluIEJ5dGVzIHBlciBzZWNvbmRcbjUuIFRvdGFsIG9mIGRvd25sb2FkZWQgaW4gQnl0ZXMgKFJpZ2h0IGNsaWNrIHRvIHJlc2V0IGNvdW50ZXIpXG5cbk1pZGRsZSBjbGljayB0byBjaGFuZ2UgZm9udCBzaXplIiwKICAibmFtZSI6ICJTaW1wbGUgbmV0IHNwZWVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9zaW1wbGVuZXRzcGVlZCIsCiAgInV1aWQiOiAic2ltcGxlbmV0c3BlZWRAYmlqaS5leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMjgKfQ=="}, "41": {"version": "28", "sha256": "16cilh0rki5pp4kwhd9y51c5602l4l953x4sl4h7sqdnpwxnzibs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBzaG93aW5nIG5ldHdvcmsgc3BlZWQuIExlZnQgY2xpY2sgdG8gY2hhbmdlIG1vZGVzOlxuXG4xLiBUb3RhbCBuZXQgc3BlZWQgaW4gYml0cyBwZXIgc2Vjb25kXG4yLiBUb3RhbCBuZXQgc3BlZWQgaW4gQnl0ZXMgcGVyIHNlY29uZFxuMy4gVXAgJiBkb3duIHNwZWVkIGluIGJpdHMgcGVyIHNlY29uZFxuNC4gVXAgJiBkb3duIHNwZWVkIGluIEJ5dGVzIHBlciBzZWNvbmRcbjUuIFRvdGFsIG9mIGRvd25sb2FkZWQgaW4gQnl0ZXMgKFJpZ2h0IGNsaWNrIHRvIHJlc2V0IGNvdW50ZXIpXG5cbk1pZGRsZSBjbGljayB0byBjaGFuZ2UgZm9udCBzaXplIiwKICAibmFtZSI6ICJTaW1wbGUgbmV0IHNwZWVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9zaW1wbGVuZXRzcGVlZCIsCiAgInV1aWQiOiAic2ltcGxlbmV0c3BlZWRAYmlqaS5leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMjgKfQ=="}, "42": {"version": "28", "sha256": "16cilh0rki5pp4kwhd9y51c5602l4l953x4sl4h7sqdnpwxnzibs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBzaG93aW5nIG5ldHdvcmsgc3BlZWQuIExlZnQgY2xpY2sgdG8gY2hhbmdlIG1vZGVzOlxuXG4xLiBUb3RhbCBuZXQgc3BlZWQgaW4gYml0cyBwZXIgc2Vjb25kXG4yLiBUb3RhbCBuZXQgc3BlZWQgaW4gQnl0ZXMgcGVyIHNlY29uZFxuMy4gVXAgJiBkb3duIHNwZWVkIGluIGJpdHMgcGVyIHNlY29uZFxuNC4gVXAgJiBkb3duIHNwZWVkIGluIEJ5dGVzIHBlciBzZWNvbmRcbjUuIFRvdGFsIG9mIGRvd25sb2FkZWQgaW4gQnl0ZXMgKFJpZ2h0IGNsaWNrIHRvIHJlc2V0IGNvdW50ZXIpXG5cbk1pZGRsZSBjbGljayB0byBjaGFuZ2UgZm9udCBzaXplIiwKICAibmFtZSI6ICJTaW1wbGUgbmV0IHNwZWVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9zaW1wbGVuZXRzcGVlZCIsCiAgInV1aWQiOiAic2ltcGxlbmV0c3BlZWRAYmlqaS5leHRlbnNpb24iLAogICJ2ZXJzaW9uIjogMjgKfQ=="}}}
 , {"uuid": "gnome-shell-go-to-last-workspace@github.com", "name": "Go To Last Workspace", "pname": "go-to-last-workspace", "description": "Quickly toggle between two workspaces with one key", "link": "https://extensions.gnome.org/extension/1089/go-to-last-workspace/", "shell_version_map": {"38": {"version": "7", "sha256": "19jyrfhniz65xfrwzpph4i33mwpbfshy5bc79vxd5fy4qa0p6scp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgdG9nZ2xlIGJldHdlZW4gdHdvIHdvcmtzcGFjZXMgd2l0aCBvbmUga2V5IiwKICAibmFtZSI6ICJHbyBUbyBMYXN0IFdvcmtzcGFjZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nby10by1sYXN0LXdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmphbi9nbm9tZS1zaGVsbC1nby10by1sYXN0LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiZ25vbWUtc2hlbGwtZ28tdG8tbGFzdC13b3Jrc3BhY2VAZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "19jyrfhniz65xfrwzpph4i33mwpbfshy5bc79vxd5fy4qa0p6scp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgdG9nZ2xlIGJldHdlZW4gdHdvIHdvcmtzcGFjZXMgd2l0aCBvbmUga2V5IiwKICAibmFtZSI6ICJHbyBUbyBMYXN0IFdvcmtzcGFjZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nby10by1sYXN0LXdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmphbi9nbm9tZS1zaGVsbC1nby10by1sYXN0LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiZ25vbWUtc2hlbGwtZ28tdG8tbGFzdC13b3Jrc3BhY2VAZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "KeepAwake@jepfa.de", "name": "Keep awake!", "pname": "keep-awake", "description": "Keep your computer awake! Forbid your computer to activate sceensaver, turn off the screen or suspend when it is idle for a while. Click the indicator icon (in the taskbar) once to keep your computer awake for the session. Click again to enable persistance of this setting between restarts (indicated by a small lock icon on the indicator). Switch off by clicking again.", "link": "https://extensions.gnome.org/extension/1097/keep-awake/", "shell_version_map": {"38": {"version": "6", "sha256": "1lmwq4ng14jvpzd3fnwc8bilvyigya46d8il8m16g1596p3hikdk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktlZXAgeW91ciBjb21wdXRlciBhd2FrZSEgRm9yYmlkIHlvdXIgY29tcHV0ZXIgdG8gYWN0aXZhdGUgc2NlZW5zYXZlciwgdHVybiBvZmYgdGhlIHNjcmVlbiBvciBzdXNwZW5kIHdoZW4gaXQgaXMgaWRsZSBmb3IgYSB3aGlsZS4gQ2xpY2sgdGhlIGluZGljYXRvciBpY29uIChpbiB0aGUgdGFza2Jhcikgb25jZSB0byBrZWVwIHlvdXIgY29tcHV0ZXIgYXdha2UgZm9yIHRoZSBzZXNzaW9uLiBDbGljayBhZ2FpbiB0byBlbmFibGUgcGVyc2lzdGFuY2Ugb2YgdGhpcyBzZXR0aW5nIGJldHdlZW4gcmVzdGFydHMgKGluZGljYXRlZCBieSBhIHNtYWxsIGxvY2sgaWNvbiBvbiB0aGUgaW5kaWNhdG9yKS4gU3dpdGNoIG9mZiBieSBjbGlja2luZyBhZ2Fpbi4iLAogICJuYW1lIjogIktlZXAgYXdha2UhIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLktlZXBBd2FrZUBqZXBmYS5kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2plbnNwZmFobC9LZWVwQXdha2UiLAogICJ1dWlkIjogIktlZXBBd2FrZUBqZXBmYS5kZSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
-, {"uuid": "todolist@tomMoral.org", "name": "Section Todo List", "pname": "section-todo-list", "description": "Manage todo list with an applet\n\n* Add and remove task on your list in different sections.\n* Click an item to rename it.\n* Access the extension using Hot-Key (default: Ctrl+Space)\n", "link": "https://extensions.gnome.org/extension/1104/section-todo-list/", "shell_version_map": {"38": {"version": "11", "sha256": "02b5gccsx6ifgv2jyrniwagdf09jg7lvwzwlgm11qbrv7w7bn0qp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSB0b2RvIGxpc3Qgd2l0aCBhbiBhcHBsZXRcblxuKiBBZGQgYW5kIHJlbW92ZSB0YXNrIG9uIHlvdXIgbGlzdCBpbiBkaWZmZXJlbnQgc2VjdGlvbnMuXG4qIENsaWNrIGFuIGl0ZW0gdG8gcmVuYW1lIGl0LlxuKiBBY2Nlc3MgdGhlIGV4dGVuc2lvbiB1c2luZyBIb3QtS2V5IChkZWZhdWx0OiBDdHJsK1NwYWNlKVxuIiwKICAibmFtZSI6ICJTZWN0aW9uIFRvZG8gTGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90b21Nb3JhbC9Ub0RvTGlzdCIsCiAgInV1aWQiOiAidG9kb2xpc3RAdG9tTW9yYWwub3JnIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "02b5gccsx6ifgv2jyrniwagdf09jg7lvwzwlgm11qbrv7w7bn0qp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSB0b2RvIGxpc3Qgd2l0aCBhbiBhcHBsZXRcblxuKiBBZGQgYW5kIHJlbW92ZSB0YXNrIG9uIHlvdXIgbGlzdCBpbiBkaWZmZXJlbnQgc2VjdGlvbnMuXG4qIENsaWNrIGFuIGl0ZW0gdG8gcmVuYW1lIGl0LlxuKiBBY2Nlc3MgdGhlIGV4dGVuc2lvbiB1c2luZyBIb3QtS2V5IChkZWZhdWx0OiBDdHJsK1NwYWNlKVxuIiwKICAibmFtZSI6ICJTZWN0aW9uIFRvZG8gTGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90b21Nb3JhbC9Ub0RvTGlzdCIsCiAgInV1aWQiOiAidG9kb2xpc3RAdG9tTW9yYWwub3JnIiwKICAidmVyc2lvbiI6IDExCn0="}}}
+, {"uuid": "todolist@tomMoral.org", "name": "Section Todo List", "pname": "section-todo-list", "description": "Manage todo list with an applet\n\n* Add and remove task on your list in different sections.\n* Click an item to rename it.\n* Access the extension using Hot-Key (default: Ctrl+Space)\n", "link": "https://extensions.gnome.org/extension/1104/section-todo-list/", "shell_version_map": {"38": {"version": "12", "sha256": "1r88kl6vw62pznqva17cf0n4bka5n0hlkr5mb1gybw1mfy63af7c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSB0b2RvIGxpc3Qgd2l0aCBhbiBhcHBsZXRcblxuKiBBZGQgYW5kIHJlbW92ZSB0YXNrIG9uIHlvdXIgbGlzdCBpbiBkaWZmZXJlbnQgc2VjdGlvbnMuXG4qIENsaWNrIGFuIGl0ZW0gdG8gcmVuYW1lIGl0LlxuKiBBY2Nlc3MgdGhlIGV4dGVuc2lvbiB1c2luZyBIb3QtS2V5IChkZWZhdWx0OiBDdHJsK1NwYWNlKVxuIiwKICAibmFtZSI6ICJTZWN0aW9uIFRvZG8gTGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdG9tTW9yYWwvVG9Eb0xpc3QiLAogICJ1dWlkIjogInRvZG9saXN0QHRvbU1vcmFsLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "1r88kl6vw62pznqva17cf0n4bka5n0hlkr5mb1gybw1mfy63af7c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSB0b2RvIGxpc3Qgd2l0aCBhbiBhcHBsZXRcblxuKiBBZGQgYW5kIHJlbW92ZSB0YXNrIG9uIHlvdXIgbGlzdCBpbiBkaWZmZXJlbnQgc2VjdGlvbnMuXG4qIENsaWNrIGFuIGl0ZW0gdG8gcmVuYW1lIGl0LlxuKiBBY2Nlc3MgdGhlIGV4dGVuc2lvbiB1c2luZyBIb3QtS2V5IChkZWZhdWx0OiBDdHJsK1NwYWNlKVxuIiwKICAibmFtZSI6ICJTZWN0aW9uIFRvZG8gTGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdG9tTW9yYWwvVG9Eb0xpc3QiLAogICJ1dWlkIjogInRvZG9saXN0QHRvbU1vcmFsLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}, "42": {"version": "12", "sha256": "1r88kl6vw62pznqva17cf0n4bka5n0hlkr5mb1gybw1mfy63af7c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSB0b2RvIGxpc3Qgd2l0aCBhbiBhcHBsZXRcblxuKiBBZGQgYW5kIHJlbW92ZSB0YXNrIG9uIHlvdXIgbGlzdCBpbiBkaWZmZXJlbnQgc2VjdGlvbnMuXG4qIENsaWNrIGFuIGl0ZW0gdG8gcmVuYW1lIGl0LlxuKiBBY2Nlc3MgdGhlIGV4dGVuc2lvbiB1c2luZyBIb3QtS2V5IChkZWZhdWx0OiBDdHJsK1NwYWNlKVxuIiwKICAibmFtZSI6ICJTZWN0aW9uIFRvZG8gTGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdG9tTW9yYWwvVG9Eb0xpc3QiLAogICJ1dWlkIjogInRvZG9saXN0QHRvbU1vcmFsLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"uuid": "add-username-toppanel@brendaw.com", "name": "Add Username to Top Panel", "pname": "add-username-to-top-panel", "description": "Simply add your username to topbar panel aggregate menu", "link": "https://extensions.gnome.org/extension/1108/add-username-to-top-panel/", "shell_version_map": {"38": {"version": "4", "sha256": "1b2p8924id4shzpvj58958r7j422ppkw7bsfmng9sq25k3w4xvb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBhZGQgeW91ciB1c2VybmFtZSB0byB0b3BiYXIgcGFuZWwgYWdncmVnYXRlIG1lbnUiLAogICJuYW1lIjogIkFkZCBVc2VybmFtZSB0byBUb3AgUGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndpbGxpYW1icmVuZGF3QHByb3Rvbm1haWwuY29tIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4yMC40IiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9icmVuZGF3L2FkZC11c2VybmFtZS10b3BwYW5lbCIsCiAgInV1aWQiOiAiYWRkLXVzZXJuYW1lLXRvcHBhbmVsQGJyZW5kYXcuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1b2p8924id4shzpvj58958r7j422ppkw7bsfmng9sq25k3w4xvb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBhZGQgeW91ciB1c2VybmFtZSB0byB0b3BiYXIgcGFuZWwgYWdncmVnYXRlIG1lbnUiLAogICJuYW1lIjogIkFkZCBVc2VybmFtZSB0byBUb3AgUGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndpbGxpYW1icmVuZGF3QHByb3Rvbm1haWwuY29tIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4yMC40IiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9icmVuZGF3L2FkZC11c2VybmFtZS10b3BwYW5lbCIsCiAgInV1aWQiOiAiYWRkLXVzZXJuYW1lLXRvcHBhbmVsQGJyZW5kYXcuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1b2p8924id4shzpvj58958r7j422ppkw7bsfmng9sq25k3w4xvb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBhZGQgeW91ciB1c2VybmFtZSB0byB0b3BiYXIgcGFuZWwgYWdncmVnYXRlIG1lbnUiLAogICJuYW1lIjogIkFkZCBVc2VybmFtZSB0byBUb3AgUGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndpbGxpYW1icmVuZGF3QHByb3Rvbm1haWwuY29tIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4yMC40IiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9icmVuZGF3L2FkZC11c2VybmFtZS10b3BwYW5lbCIsCiAgInV1aWQiOiAiYWRkLXVzZXJuYW1lLXRvcHBhbmVsQGJyZW5kYXcuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "Hide_Clock@grantmcwilliams.com", "name": "Hide Clock", "pname": "hide-clock", "description": "Hide title bar clock", "link": "https://extensions.gnome.org/extension/1110/hide-clock/", "shell_version_map": {"38": {"version": "4", "sha256": "0vxlc72gzin16xl5h6i0ixlmm6x9ahp3w3phyg0jk8b0q7qdflzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGl0bGUgYmFyIGNsb2NrIiwKICAibmFtZSI6ICJIaWRlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiSGlkZV9DbG9ja0BncmFudG1jd2lsbGlhbXMuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "0vxlc72gzin16xl5h6i0ixlmm6x9ahp3w3phyg0jk8b0q7qdflzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGl0bGUgYmFyIGNsb2NrIiwKICAibmFtZSI6ICJIaWRlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiSGlkZV9DbG9ja0BncmFudG1jd2lsbGlhbXMuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0vxlc72gzin16xl5h6i0ixlmm6x9ahp3w3phyg0jk8b0q7qdflzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGl0bGUgYmFyIGNsb2NrIiwKICAibmFtZSI6ICJIaWRlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiSGlkZV9DbG9ja0BncmFudG1jd2lsbGlhbXMuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "gnome-shell-screenshot@ttll.de", "name": "Screenshot Tool", "pname": "screenshot-tool", "description": "Conveniently create, copy, store and upload screenshots. Please log out and log in again after updating.", "link": "https://extensions.gnome.org/extension/1112/screenshot-tool/", "shell_version_map": {"38": {"version": "56", "sha256": "1ga2ray64aq1d1vn0rsscfxjiidbiln3vx42rn9i4q2a59b00znq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY1NiIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLXNjcmVlbnNob3QvIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90QHR0bGwuZGUiLAogICJ2ZXJzaW9uIjogNTYKfQ=="}, "40": {"version": "68", "sha256": "1py94s1v5vjnf8w7as7ypprbk2504a0kkh6p6ppm9glcr2vl8w2r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY2OCIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLXNjcmVlbnNob3QvIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90QHR0bGwuZGUiLAogICJ2ZXJzaW9uIjogNjgKfQ=="}, "41": {"version": "68", "sha256": "1py94s1v5vjnf8w7as7ypprbk2504a0kkh6p6ppm9glcr2vl8w2r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY2OCIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLXNjcmVlbnNob3QvIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90QHR0bGwuZGUiLAogICJ2ZXJzaW9uIjogNjgKfQ=="}, "42": {"version": "68", "sha256": "1py94s1v5vjnf8w7as7ypprbk2504a0kkh6p6ppm9glcr2vl8w2r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY2OCIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLXNjcmVlbnNob3QvIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90QHR0bGwuZGUiLAogICJ2ZXJzaW9uIjogNjgKfQ=="}}}
@@ -128,7 +129,7 @@
 , {"uuid": "sensory-perception@HarlemSquirrel.github.io", "name": "Sensory Perception", "pname": "sensory-perception", "description": "Requires lm-sensors (or lm_sensors). Shows CPU temperature, disk temperature, video card temperature, voltage and fan RPM.", "link": "https://extensions.gnome.org/extension/1145/sensory-perception/", "shell_version_map": {"38": {"version": "13", "sha256": "16wc49khyk5arsis8kzpjgl6nl8gccc2y5sspq8rwnab22jnzwjh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcXVpcmVzIGxtLXNlbnNvcnMgKG9yIGxtX3NlbnNvcnMpLiBTaG93cyBDUFUgdGVtcGVyYXR1cmUsIGRpc2sgdGVtcGVyYXR1cmUsIHZpZGVvIGNhcmQgdGVtcGVyYXR1cmUsIHZvbHRhZ2UgYW5kIGZhbiBSUE0uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2Vuc29yeS1wZXJjZXB0aW9uIiwKICAibmFtZSI6ICJTZW5zb3J5IFBlcmNlcHRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSGFybGVtU3F1aXJyZWwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNlbnNvcnktcGVyY2VwdGlvbiIsCiAgInV1aWQiOiAic2Vuc29yeS1wZXJjZXB0aW9uQEhhcmxlbVNxdWlycmVsLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "17", "sha256": "1565vy6wy0fjjbhxn90d8w4ifjb2adacijf71k18j7n390k00djw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcXVpcmVzIGxtLXNlbnNvcnMgKG9yIGxtX3NlbnNvcnMpLiBTaG93cyBDUFUgdGVtcGVyYXR1cmUsIGRpc2sgdGVtcGVyYXR1cmUsIHZpZGVvIGNhcmQgdGVtcGVyYXR1cmUsIHZvbHRhZ2UgYW5kIGZhbiBSUE0uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2Vuc29yeS1wZXJjZXB0aW9uIiwKICAibmFtZSI6ICJTZW5zb3J5IFBlcmNlcHRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IYXJsZW1TcXVpcnJlbC9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAidXVpZCI6ICJzZW5zb3J5LXBlcmNlcHRpb25ASGFybGVtU3F1aXJyZWwuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE3Cn0="}, "41": {"version": "17", "sha256": "1565vy6wy0fjjbhxn90d8w4ifjb2adacijf71k18j7n390k00djw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcXVpcmVzIGxtLXNlbnNvcnMgKG9yIGxtX3NlbnNvcnMpLiBTaG93cyBDUFUgdGVtcGVyYXR1cmUsIGRpc2sgdGVtcGVyYXR1cmUsIHZpZGVvIGNhcmQgdGVtcGVyYXR1cmUsIHZvbHRhZ2UgYW5kIGZhbiBSUE0uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2Vuc29yeS1wZXJjZXB0aW9uIiwKICAibmFtZSI6ICJTZW5zb3J5IFBlcmNlcHRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IYXJsZW1TcXVpcnJlbC9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAidXVpZCI6ICJzZW5zb3J5LXBlcmNlcHRpb25ASGFybGVtU3F1aXJyZWwuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE3Cn0="}}}
 , {"uuid": "activityAppLauncher@rastersoft.com", "name": "Activity App Launcher", "pname": "activity-app-launcher", "description": "Integrates a category-based application launcher in the activities window. IMPORTANT: it needs the 'gnome-menus' and 'libgnome-menu-3-dev'; they must be installed in the system before installing this extension.", "link": "https://extensions.gnome.org/extension/1149/activity-app-launcher/", "shell_version_map": {"38": {"version": "31", "sha256": "18jqnk4psdvdx1hydfss1870v0gnpxkmsm5yasnb0m5m484in0qv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9hY3Rpdml0eUFwcExhdW5jaGVyIiwKICAidXVpZCI6ICJhY3Rpdml0eUFwcExhdW5jaGVyQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDMxCn0="}, "40": {"version": "34", "sha256": "0mjifm9dx3gwswdrjk1qr2kfan87dapkgn6adg2vw87dz0291q0k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9hY3Rpdml0eUFwcExhdW5jaGVyIiwKICAidXVpZCI6ICJhY3Rpdml0eUFwcExhdW5jaGVyQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDM0Cn0="}, "41": {"version": "34", "sha256": "0mjifm9dx3gwswdrjk1qr2kfan87dapkgn6adg2vw87dz0291q0k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9hY3Rpdml0eUFwcExhdW5jaGVyIiwKICAidXVpZCI6ICJhY3Rpdml0eUFwcExhdW5jaGVyQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDM0Cn0="}, "42": {"version": "34", "sha256": "0mjifm9dx3gwswdrjk1qr2kfan87dapkgn6adg2vw87dz0291q0k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9hY3Rpdml0eUFwcExhdW5jaGVyIiwKICAidXVpZCI6ICJhY3Rpdml0eUFwcExhdW5jaGVyQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDM0Cn0="}}}
 , {"uuid": "shutdown-timer-gnome-shell-extension", "name": "ShutdownTimer", "pname": "shutdowntimer", "description": "Allows to shutdown, restart and suspend computer after selected amount of time or in selected time.", "link": "https://extensions.gnome.org/extension/1152/shutdowntimer/", "shell_version_map": {"40": {"version": "9", "sha256": "1y69lv3mq66xxfxabngnbb104d26i05cyhmx3dqf4kyf1kd6jqvx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBzaHV0ZG93biwgcmVzdGFydCBhbmQgc3VzcGVuZCBjb21wdXRlciBhZnRlciBzZWxlY3RlZCBhbW91bnQgb2YgdGltZSBvciBpbiBzZWxlY3RlZCB0aW1lLiIsCiAgImdldHRleHQtZG9tYWluIjogIkF1dG9tYXRpY1NodXRkb3duVGltZXIiLAogICJuYW1lIjogIlNodXRkb3duVGltZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXV0b21hdGljLXNodXRkb3duLXRpbWVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21rcmFqbmFrL3NodXRkb3duLXRpbWVyLWdub21lLXNoZWxsLWV4dGVuc2lvbi8iLAogICJ1dWlkIjogInNodXRkb3duLXRpbWVyLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInZlcnNpb24iOiA5Cn0="}}}
-, {"uuid": "dash-to-panel@jderose9.github.com", "name": "Dash to Panel", "pname": "dash-to-panel", "description": "An icon taskbar for the Gnome Shell. This extension moves the dash into the gnome main panel so that the application launchers and system tray are combined into a single panel, similar to that found in KDE Plasma and Windows 7+. A separate dock is no longer needed for easy access to running and favorited applications.\n\nFor a more traditional experience, you may also want to use Tweak Tool to enable Windows Titlebars -> Titlebar Buttons -> Minimize & Maximize.\n\nFor the best support, please report any issues on Github. Dash-to-panel is developed and maintained by @jderose9 and @charlesg99.", "link": "https://extensions.gnome.org/extension/1160/dash-to-panel/", "shell_version_map": {"38": {"version": "42", "sha256": "1g81l5cmip1p5xiz15dpa0dpzwl0r4allrw9jskd63krcs6psi9f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyBUaXRsZWJhcnMgLT4gVGl0bGViYXIgQnV0dG9ucyAtPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob21lLXN3ZWV0LWdub21lL2Rhc2gtdG8tcGFuZWwiLAogICJ1dWlkIjogImRhc2gtdG8tcGFuZWxAamRlcm9zZTkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Mgp9"}, "40": {"version": "44", "sha256": "1a6agjpbpbl286m2ilb5ayd1m5dd52lwmqhryysqc6g2nrqy3x95", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyBUaXRsZWJhcnMgLT4gVGl0bGViYXIgQnV0dG9ucyAtPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG9tZS1zd2VldC1nbm9tZS9kYXNoLXRvLXBhbmVsIiwKICAidXVpZCI6ICJkYXNoLXRvLXBhbmVsQGpkZXJvc2U5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}, "41": {"version": "46", "sha256": "1w9qvjcafqvxwwpj21xxx9biiig6jb5n85bcblmim0airf84vma2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyBUaXRsZWJhcnMgLT4gVGl0bGViYXIgQnV0dG9ucyAtPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvbWUtc3dlZXQtZ25vbWUvZGFzaC10by1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC10by1wYW5lbEBqZGVyb3NlOS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}, "42": {"version": "46", "sha256": "1w9qvjcafqvxwwpj21xxx9biiig6jb5n85bcblmim0airf84vma2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyBUaXRsZWJhcnMgLT4gVGl0bGViYXIgQnV0dG9ucyAtPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvbWUtc3dlZXQtZ25vbWUvZGFzaC10by1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC10by1wYW5lbEBqZGVyb3NlOS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}}}
+, {"uuid": "dash-to-panel@jderose9.github.com", "name": "Dash to Panel", "pname": "dash-to-panel", "description": "An icon taskbar for the Gnome Shell. This extension moves the dash into the gnome main panel so that the application launchers and system tray are combined into a single panel, similar to that found in KDE Plasma and Windows 7+. A separate dock is no longer needed for easy access to running and favorited applications.\n\nFor a more traditional experience, you may also want to use Tweak Tool to enable Windows > Titlebar Buttons > Minimize & Maximize.\n\nFor the best support, please report any issues on Github. Dash-to-panel is developed and maintained by @jderose9 and @charlesg99.", "link": "https://extensions.gnome.org/extension/1160/dash-to-panel/", "shell_version_map": {"38": {"version": "42", "sha256": "1v9n4g9gx5kv21mb15i7b3k6svcv7jynw4zjfi2gh2pr7ii98b5z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob21lLXN3ZWV0LWdub21lL2Rhc2gtdG8tcGFuZWwiLAogICJ1dWlkIjogImRhc2gtdG8tcGFuZWxAamRlcm9zZTkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Mgp9"}, "40": {"version": "44", "sha256": "0vdi0dznbawdavqr9j8w480av04r8m0k9czizzvk9bia33cqryi1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG9tZS1zd2VldC1nbm9tZS9kYXNoLXRvLXBhbmVsIiwKICAidXVpZCI6ICJkYXNoLXRvLXBhbmVsQGpkZXJvc2U5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}, "41": {"version": "50", "sha256": "09zz5z5djnpzjhglh863djvmanl4hr3z0b6iqb0c8r0g420jfkrm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvbWUtc3dlZXQtZ25vbWUvZGFzaC10by1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC10by1wYW5lbEBqZGVyb3NlOS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUwCn0="}, "42": {"version": "50", "sha256": "09zz5z5djnpzjhglh863djvmanl4hr3z0b6iqb0c8r0g420jfkrm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvbWUtc3dlZXQtZ25vbWUvZGFzaC10by1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC10by1wYW5lbEBqZGVyb3NlOS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUwCn0="}}}
 , {"uuid": "emoji-selector@maestroschan.fr", "name": "Emoji Selector", "pname": "emoji-selector", "description": "This extension provides a parametrable popup menu displaying most emojis, clicking on an emoji copies it to the clipboard. An appropriate font like 'Twitter Color Emoji' or 'JoyPixels Color' should be installed on your system for a better visual result.", "link": "https://extensions.gnome.org/extension/1162/emoji-selector/", "shell_version_map": {"38": {"version": "20", "sha256": "1i6py149m46xig5a0ry7y5v887nlzw644mw72gcr2hkfsn8b0gnd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHByb3ZpZGVzIGEgcGFyYW1ldHJhYmxlIHBvcHVwIG1lbnUgZGlzcGxheWluZyBtb3N0IGVtb2ppcywgY2xpY2tpbmcgb24gYW4gZW1vamkgY29waWVzIGl0IHRvIHRoZSBjbGlwYm9hcmQuIEFuIGFwcHJvcHJpYXRlIGZvbnQgbGlrZSAnVHdpdHRlciBDb2xvciBFbW9qaScgb3IgJ0pveVBpeGVscyBDb2xvcicgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbSBmb3IgYSBiZXR0ZXIgdmlzdWFsIHJlc3VsdC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1zZWxlY3RvciIsCiAgIm5hbWUiOiAiRW1vamkgU2VsZWN0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZW1vamktc2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovZW1vamktc2VsZWN0b3ItZm9yLWdub21lIiwKICAidXVpZCI6ICJlbW9qaS1zZWxlY3RvckBtYWVzdHJvc2NoYW4uZnIiLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
 , {"uuid": "gnome-kinit@bonzini.gnu.org", "name": "Kerberos login", "pname": "kerberos-login", "description": "Provide a system menu item to renew Kerberos tickets", "link": "https://extensions.gnome.org/extension/1165/kerberos-login/", "shell_version_map": {"40": {"version": "5", "sha256": "08rp128drriv5929lwwv9yy77yhn1arfc6snwsipibaby0c5jvsf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZ25vbWUta2luaXRAYm9uemluaS5nbnUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "08rp128drriv5929lwwv9yy77yhn1arfc6snwsipibaby0c5jvsf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZ25vbWUta2luaXRAYm9uemluaS5nbnUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "7", "sha256": "1rrp6iqm4j83qk9z470ipmw6wrw9akl5dp8gzplijaq5sw4kpvvv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnbm9tZS1raW5pdEBib256aW5pLmdudS5vcmciLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "calculator-button@amivaleo", "name": "Calculator Button", "pname": "calculator-button", "description": "A button to easily open gnome-calculator.\n Credits to extensions.gnome.org/extension/939/display-button/\n\nv10:\n1 - added support for gnome 3.38\n2 - added support for flatpak version of gnome-calculator", "link": "https://extensions.gnome.org/extension/1168/calculator-button/", "shell_version_map": {"38": {"version": "10", "sha256": "1c6b53im6xj4yaf4skvchvgipxfjs2yh3i5r75cw9avnw7imnwk6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYnV0dG9uIHRvIGVhc2lseSBvcGVuIGdub21lLWNhbGN1bGF0b3IuXG4gQ3JlZGl0cyB0byBleHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vOTM5L2Rpc3BsYXktYnV0dG9uL1xuXG52MTA6XG4xIC0gYWRkZWQgc3VwcG9ydCBmb3IgZ25vbWUgMy4zOFxuMiAtIGFkZGVkIHN1cHBvcnQgZm9yIGZsYXRwYWsgdmVyc2lvbiBvZiBnbm9tZS1jYWxjdWxhdG9yIiwKICAibmFtZSI6ICJDYWxjdWxhdG9yIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtaXZhbGVvL0NhbGN1bGF0b3ItQnV0dG9uIiwKICAidXVpZCI6ICJjYWxjdWxhdG9yLWJ1dHRvbkBhbWl2YWxlbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
@@ -136,20 +137,20 @@
 , {"uuid": "utcclock@injcristianrojas.github.com", "name": "UTCClock", "pname": "utcclock", "description": "UTC clock for the top bar", "link": "https://extensions.gnome.org/extension/1183/utcclock/", "shell_version_map": {"38": {"version": "24", "sha256": "0yjbpmrq8y52yn4q2yp6bgg4b6r60h9spccrc0d7jn6vi3a4ns4s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVUQyBjbG9jayBmb3IgdGhlIHRvcCBiYXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJVVENDbG9jayIsCiAgIm5hbWUiOiAiVVRDQ2xvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXRjY2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pbmpjcmlzdGlhbnJvamFzL1VUQ0Nsb2NrIiwKICAidXVpZCI6ICJ1dGNjbG9ja0BpbmpjcmlzdGlhbnJvamFzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjQKfQ=="}, "40": {"version": "29", "sha256": "0dchib117mr3w133wqp8ylcfxmr08brqjf3pf2706mdplwk61wci", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVUQyBjbG9jayBmb3IgdGhlIHRvcCBiYXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJVVENDbG9jayIsCiAgIm5hbWUiOiAiVVRDQ2xvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXRjY2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pbmpjcmlzdGlhbnJvamFzL1VUQ0Nsb2NrIiwKICAidXVpZCI6ICJ1dGNjbG9ja0BpbmpjcmlzdGlhbnJvamFzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "41": {"version": "29", "sha256": "0dchib117mr3w133wqp8ylcfxmr08brqjf3pf2706mdplwk61wci", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVUQyBjbG9jayBmb3IgdGhlIHRvcCBiYXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJVVENDbG9jayIsCiAgIm5hbWUiOiAiVVRDQ2xvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXRjY2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pbmpjcmlzdGlhbnJvamFzL1VUQ0Nsb2NrIiwKICAidXVpZCI6ICJ1dGNjbG9ja0BpbmpjcmlzdGlhbnJvamFzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "42": {"version": "29", "sha256": "0dchib117mr3w133wqp8ylcfxmr08brqjf3pf2706mdplwk61wci", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVUQyBjbG9jayBmb3IgdGhlIHRvcCBiYXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJVVENDbG9jayIsCiAgIm5hbWUiOiAiVVRDQ2xvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXRjY2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pbmpjcmlzdGlhbnJvamFzL1VUQ0Nsb2NrIiwKICAidXVpZCI6ICJ1dGNjbG9ja0BpbmpjcmlzdGlhbnJvamFzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjkKfQ=="}}}
 , {"uuid": "show-desktop-button@amivaleo", "name": "Show Desktop Button", "pname": "show-desktop-button", "description": "Minimize/unminimize all open windows with a single click.", "link": "https://extensions.gnome.org/extension/1194/show-desktop-button/", "shell_version_map": {"38": {"version": "17", "sha256": "15cym2gka8g10bvprnxf6s0jbwchscw81fh9pvjybqmb9kc8ivvw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYnV0dG9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWJ1dHRvbiIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEJ1dHRvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1pdmFsZW8vU2hvdy1EZXNrdG9wLUJ1dHRvbiIsCiAgInV1aWQiOiAic2hvdy1kZXNrdG9wLWJ1dHRvbkBhbWl2YWxlbyIsCiAgInZlcnNpb24iOiAxNwp9"}, "40": {"version": "24", "sha256": "0gk4mx2bpbndy9iwlni98r2c222p40fvf038bafw4pq77k4x9c3r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYnV0dG9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWJ1dHRvbiIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEJ1dHRvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1pdmFsZW8vU2hvdy1EZXNrdG9wLUJ1dHRvbiIsCiAgInV1aWQiOiAic2hvdy1kZXNrdG9wLWJ1dHRvbkBhbWl2YWxlbyIsCiAgInZlcnNpb24iOiAyNAp9"}, "41": {"version": "24", "sha256": "0gk4mx2bpbndy9iwlni98r2c222p40fvf038bafw4pq77k4x9c3r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYnV0dG9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWJ1dHRvbiIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEJ1dHRvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1pdmFsZW8vU2hvdy1EZXNrdG9wLUJ1dHRvbiIsCiAgInV1aWQiOiAic2hvdy1kZXNrdG9wLWJ1dHRvbkBhbWl2YWxlbyIsCiAgInZlcnNpb24iOiAyNAp9"}, "42": {"version": "24", "sha256": "0gk4mx2bpbndy9iwlni98r2c222p40fvf038bafw4pq77k4x9c3r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYnV0dG9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWJ1dHRvbiIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEJ1dHRvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1pdmFsZW8vU2hvdy1EZXNrdG9wLUJ1dHRvbiIsCiAgInV1aWQiOiAic2hvdy1kZXNrdG9wLWJ1dHRvbkBhbWl2YWxlbyIsCiAgInZlcnNpb24iOiAyNAp9"}}}
 , {"uuid": "walkpaper@walkpaper.blinkbp.github.com", "name": "Walkpaper", "pname": "walkpaper", "description": "Set different wallpaper for each workspace by having the wallpaper switch on workspace change.", "link": "https://extensions.gnome.org/extension/1200/walkpaper/", "shell_version_map": {"40": {"version": "9", "sha256": "1ckrf3y20wp3dv4aig44rycj7kbrxj14gh3rzs17vcqma3aw76bq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBkaWZmZXJlbnQgd2FsbHBhcGVyIGZvciBlYWNoIHdvcmtzcGFjZSBieSBoYXZpbmcgdGhlIHdhbGxwYXBlciBzd2l0Y2ggb24gd29ya3NwYWNlIGNoYW5nZS4iLAogICJleHRlbnNpb24taWQiOiAid2Fsa3BhcGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZW5nbGlzaCIsCiAgIm5hbWUiOiAiV2Fsa3BhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndhbGtwYXBlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmxpbmtCUC93YWxrcGFwZXIiLAogICJ1dWlkIjogIndhbGtwYXBlckB3YWxrcGFwZXIuYmxpbmticC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "1ckrf3y20wp3dv4aig44rycj7kbrxj14gh3rzs17vcqma3aw76bq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBkaWZmZXJlbnQgd2FsbHBhcGVyIGZvciBlYWNoIHdvcmtzcGFjZSBieSBoYXZpbmcgdGhlIHdhbGxwYXBlciBzd2l0Y2ggb24gd29ya3NwYWNlIGNoYW5nZS4iLAogICJleHRlbnNpb24taWQiOiAid2Fsa3BhcGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZW5nbGlzaCIsCiAgIm5hbWUiOiAiV2Fsa3BhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndhbGtwYXBlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmxpbmtCUC93YWxrcGFwZXIiLAogICJ1dWlkIjogIndhbGtwYXBlckB3YWxrcGFwZXIuYmxpbmticC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
-, {"uuid": "nasa_apod@elinvention.ovh", "name": "NASA APOD Wallpaper Changer", "pname": "nasa-apod", "description": "Change your wallpaper daily to the NASA's astronomy picture of the day", "link": "https://extensions.gnome.org/extension/1202/nasa-apod/", "shell_version_map": {"40": {"version": "32", "sha256": "0sc2jyzv5xzwyvmycy73fs2fqxhl8mxl1wqadjagapaw9g7mk7r5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDMyCn0="}, "41": {"version": "32", "sha256": "0sc2jyzv5xzwyvmycy73fs2fqxhl8mxl1wqadjagapaw9g7mk7r5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDMyCn0="}, "42": {"version": "32", "sha256": "0sc2jyzv5xzwyvmycy73fs2fqxhl8mxl1wqadjagapaw9g7mk7r5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDMyCn0="}}}
+, {"uuid": "nasa_apod@elinvention.ovh", "name": "NASA APOD Wallpaper Changer", "pname": "nasa-apod", "description": "Change your wallpaper daily to the NASA's astronomy picture of the day", "link": "https://extensions.gnome.org/extension/1202/nasa-apod/", "shell_version_map": {"40": {"version": "33", "sha256": "1x0si8w2mzvb6msck3nvcgsn7day00cva58il04l9z53sj04d6b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDMzCn0="}, "41": {"version": "33", "sha256": "1x0si8w2mzvb6msck3nvcgsn7day00cva58il04l9z53sj04d6b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDMzCn0="}, "42": {"version": "33", "sha256": "1x0si8w2mzvb6msck3nvcgsn7day00cva58il04l9z53sj04d6b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FbGludmVudGlvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFzYS1hcG9kIiwKICAidXVpZCI6ICJuYXNhX2Fwb2RAZWxpbnZlbnRpb24ub3ZoIiwKICAidmVyc2lvbiI6IDMzCn0="}}}
 , {"uuid": "SystemMenu@jonnius.github.com", "name": "System Menu", "pname": "system-menu", "description": "System menu with usefull shortcuts", "link": "https://extensions.gnome.org/extension/1204/system-menu/", "shell_version_map": {"38": {"version": "5", "sha256": "10zfr3fhqvq0fxqjzqmnxmhmdw5xcw9m5k3jm1apcjqnm38r896w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBtZW51IHdpdGggdXNlZnVsbCBzaG9ydGN1dHMiLAogICJuYW1lIjogIlN5c3RlbSBNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLlN5c3RlbU1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2pvbm5pdXMvZ25vbWUtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogIlN5c3RlbU1lbnVAam9ubml1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "undecorate@sun.wxg@gmail.com", "name": "Undecorate Window", "pname": "undecorate", "description": "Add undecorate item in window menu. Use ALT+Space to show window menu.", "link": "https://extensions.gnome.org/extension/1208/undecorate/", "shell_version_map": {"40": {"version": "6", "sha256": "1m9rjm8vc35aalyrnyzm1afcvv9lj2n3pffikhk9vb0isv0yj03r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB1bmRlY29yYXRlIGl0ZW0gaW4gd2luZG93IG1lbnUuIFVzZSBBTFQrU3BhY2UgdG8gc2hvdyB3aW5kb3cgbWVudS4iLAogICJuYW1lIjogIlVuZGVjb3JhdGUgV2luZG93IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJzdW4ud3hnQGdtYWlsLmNvbSIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuZGVjb3JhdGUiLAogICJ1dWlkIjogInVuZGVjb3JhdGVAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "1m9rjm8vc35aalyrnyzm1afcvv9lj2n3pffikhk9vb0isv0yj03r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB1bmRlY29yYXRlIGl0ZW0gaW4gd2luZG93IG1lbnUuIFVzZSBBTFQrU3BhY2UgdG8gc2hvdyB3aW5kb3cgbWVudS4iLAogICJuYW1lIjogIlVuZGVjb3JhdGUgV2luZG93IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJzdW4ud3hnQGdtYWlsLmNvbSIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuZGVjb3JhdGUiLAogICJ1dWlkIjogInVuZGVjb3JhdGVAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "1m9rjm8vc35aalyrnyzm1afcvv9lj2n3pffikhk9vb0isv0yj03r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB1bmRlY29yYXRlIGl0ZW0gaW4gd2luZG93IG1lbnUuIFVzZSBBTFQrU3BhY2UgdG8gc2hvdyB3aW5kb3cgbWVudS4iLAogICJuYW1lIjogIlVuZGVjb3JhdGUgV2luZG93IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJzdW4ud3hnQGdtYWlsLmNvbSIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuZGVjb3JhdGUiLAogICJ1dWlkIjogInVuZGVjb3JhdGVAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "rcd@criztovyl.space", "name": "Right Click Down", "pname": "right-click-down", "description": "Moves windows one workspace down by right-clicking them in the overview.", "link": "https://extensions.gnome.org/extension/1210/right-click-down/", "shell_version_map": {"38": {"version": "3", "sha256": "1vh9capapzbbwg2zlw9iphdk48q6fqk0qsmaylvsvw59xc7f9bia", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHdpbmRvd3Mgb25lIHdvcmtzcGFjZSBkb3duIGJ5IHJpZ2h0LWNsaWNraW5nIHRoZW0gaW4gdGhlIG92ZXJ2aWV3LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJyY2QiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbmlvbnMtcmlnaHQtY2xpY2stZG93biIsCiAgIm5hbWUiOiAiUmlnaHQgQ2xpY2sgRG93biIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yaWdodC1jbGljay1kb3duIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4LjAiLAogICAgIjMuMzguMSIsCiAgICAiMy4zOC4yIiwKICAgICI0MC5hbHBoYSIsCiAgICAiNDAuYWxwaGEiLAogICAgIjMuMzguMyIsCiAgICAiMy4zNy45MiIsCiAgICAiMy4zNy45MSIsCiAgICAiMy4zNy45MCIsCiAgICAiMy4zNy4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vY3JpenRvdnlsL2dub21lLXJpZ2h0LWNsaWNrLWRvd24iLAogICJ1dWlkIjogInJjZEBjcml6dG92eWwuc3BhY2UiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1vh9capapzbbwg2zlw9iphdk48q6fqk0qsmaylvsvw59xc7f9bia", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHdpbmRvd3Mgb25lIHdvcmtzcGFjZSBkb3duIGJ5IHJpZ2h0LWNsaWNraW5nIHRoZW0gaW4gdGhlIG92ZXJ2aWV3LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJyY2QiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbmlvbnMtcmlnaHQtY2xpY2stZG93biIsCiAgIm5hbWUiOiAiUmlnaHQgQ2xpY2sgRG93biIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yaWdodC1jbGljay1kb3duIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4LjAiLAogICAgIjMuMzguMSIsCiAgICAiMy4zOC4yIiwKICAgICI0MC5hbHBoYSIsCiAgICAiNDAuYWxwaGEiLAogICAgIjMuMzguMyIsCiAgICAiMy4zNy45MiIsCiAgICAiMy4zNy45MSIsCiAgICAiMy4zNy45MCIsCiAgICAiMy4zNy4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vY3JpenRvdnlsL2dub21lLXJpZ2h0LWNsaWNrLWRvd24iLAogICJ1dWlkIjogInJjZEBjcml6dG92eWwuc3BhY2UiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "printers@linux-man.org", "name": "Printers", "pname": "printers", "description": "Manage Jobs and Printers. Required package: cups-bsd", "link": "https://extensions.gnome.org/extension/1218/printers/", "shell_version_map": {"38": {"version": "12", "sha256": "1q2k5b4z159nfr5mn4ah8fz9x8dq35x5sz99s8yhalbkb0ba0d1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "18", "sha256": "0ymwfkcb7d20lv5wvsqsbh1n5c6cn90iy8g49fnmaja8gm5wazd6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxOAp9"}, "41": {"version": "18", "sha256": "0ymwfkcb7d20lv5wvsqsbh1n5c6cn90iy8g49fnmaja8gm5wazd6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxOAp9"}, "42": {"version": "18", "sha256": "0ymwfkcb7d20lv5wvsqsbh1n5c6cn90iy8g49fnmaja8gm5wazd6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxOAp9"}}}
 , {"uuid": "move-osd-windows@maestroschan.fr", "name": "Move OSD Windows", "pname": "move-osd-windows", "description": "Change the position of OSD windows (sound & luminosity popups).", "link": "https://extensions.gnome.org/extension/1220/move-osd-windows/", "shell_version_map": {"38": {"version": "3", "sha256": "1nmvbx7qbr9a9al5wirnsfwn4qb1qbql2w9f7fpajipasill9hkd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgcG9zaXRpb24gb2YgT1NEIHdpbmRvd3MgKHNvdW5kICYgbHVtaW5vc2l0eSBwb3B1cHMpLiIsCiAgImdldHRleHQtZG9tYWluIjogIm1vdmUtb3NkLXdpbmRvd3MiLAogICJuYW1lIjogIk1vdmUgT1NEIFdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYWVzdHJvc2NoYW4vTW92ZS1PU0QtV2luZG93cy1HTk9NRS1FeHRlbnNpb24iLAogICJ1dWlkIjogIm1vdmUtb3NkLXdpbmRvd3NAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "arc-menu@linxgem33.com", "name": "Arc Menu", "pname": "arc-menu", "description": "## UNMAINTAINED ##\n\nThe original version of Arc Menu and all attached repositories apart from the disaster recovery branch will no longer receive updates or further development.\n\nKind Regards - LinxGem33 (Andy C)", "link": "https://extensions.gnome.org/extension/1228/arc-menu/", "shell_version_map": {"38": {"version": "49", "sha256": "0x1kr339qarkviinf13s6ih01ssdh321nw8ncnnrq7ihqpzysf8z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiMjIFVOTUFJTlRBSU5FRCAjI1xuXG5UaGUgb3JpZ2luYWwgdmVyc2lvbiBvZiBBcmMgTWVudSBhbmQgYWxsIGF0dGFjaGVkIHJlcG9zaXRvcmllcyBhcGFydCBmcm9tIHRoZSBkaXNhc3RlciByZWNvdmVyeSBicmFuY2ggd2lsbCBubyBsb25nZXIgcmVjZWl2ZSB1cGRhdGVzIG9yIGZ1cnRoZXIgZGV2ZWxvcG1lbnQuXG5cbktpbmQgUmVnYXJkcyAtIExpbnhHZW0zMyAoQW5keSBDKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImFyYy1tZW51IiwKICAibmFtZSI6ICJBcmMgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmMtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0xpbnhHZW0zMy9BcmMtTWVudSIsCiAgInV1aWQiOiAiYXJjLW1lbnVAbGlueGdlbTMzLmNvbSIsCiAgInZlcnNpb24iOiA0OQp9"}}}
+, {"uuid": "arc-menu@linxgem33.com", "name": "Arc Menu", "pname": "arc-menu", "description": "## Unmaintained Project ##\n\nThis project and all related repositories have been officially archived. \n\nYou can now locate the Forked ArcMenu project, which is currently maintained and developed by Andrew Zeach, the URL is below.\n\n-- https://extensions.gnome.org/extension/3628/arcmenu/\n\nKind Regards - LinxGem33 (Andy C)", "link": "https://extensions.gnome.org/extension/1228/arc-menu/", "shell_version_map": {"38": {"version": "49", "sha256": "0mabrw2fxhjiyvmjdmbhbjmwljlvnz9g7jrwvr9xpsjzcr8qxfyg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiMjIFVubWFpbnRhaW5lZCBQcm9qZWN0ICMjXG5cblRoaXMgcHJvamVjdCBhbmQgYWxsIHJlbGF0ZWQgcmVwb3NpdG9yaWVzIGhhdmUgYmVlbiBvZmZpY2lhbGx5IGFyY2hpdmVkLiBcblxuWW91IGNhbiBub3cgbG9jYXRlIHRoZSBGb3JrZWQgQXJjTWVudSBwcm9qZWN0LCB3aGljaCBpcyBjdXJyZW50bHkgbWFpbnRhaW5lZCBhbmQgZGV2ZWxvcGVkIGJ5IEFuZHJldyBaZWFjaCwgdGhlIFVSTCBpcyBiZWxvdy5cblxuLS0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzYyOC9hcmNtZW51L1xuXG5LaW5kIFJlZ2FyZHMgLSBMaW54R2VtMzMgKEFuZHkgQykiLAogICJleHRlbnNpb24taWQiOiAiYXJjLW1lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcmMtbWVudSIsCiAgIm5hbWUiOiAiQXJjIE1lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXJjLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9MaW54R2VtMzMvQXJjLU1lbnUiLAogICJ1dWlkIjogImFyYy1tZW51QGxpbnhnZW0zMy5jb20iLAogICJ2ZXJzaW9uIjogNDkKfQ=="}}}
 , {"uuid": "GmailMessageTray@shuming0207.gmail.com", "name": "Gnome Email Notifications", "pname": "gmail-message-tray", "description": "Shows Gmail and Outlook notifications in Gnome Message Tray using Gnome Online Accounts\n", "link": "https://extensions.gnome.org/extension/1230/gmail-message-tray/", "shell_version_map": {"40": {"version": "22", "sha256": "1hsjqhm0gb7iisg3drwyav166w8zvbfbsdwr47v997xf4mfaycbn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEdtYWlsIGFuZCBPdXRsb29rIG5vdGlmaWNhdGlvbnMgaW4gR25vbWUgTWVzc2FnZSBUcmF5IHVzaW5nIEdub21lIE9ubGluZSBBY2NvdW50c1xuIiwKICAibmFtZSI6ICJHbm9tZSBFbWFpbCBOb3RpZmljYXRpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NodW1pbmdjaC9nbm9tZS1lbWFpbC1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJHbWFpbE1lc3NhZ2VUcmF5QHNodW1pbmcwMjA3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMgp9"}, "41": {"version": "24", "sha256": "0vldilmp2vzfl99fw0ainnlj9sz0a95zjlqnzybsz7dasin39i9z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEdtYWlsIGFuZCBPdXRsb29rIG5vdGlmaWNhdGlvbnMgaW4gR25vbWUgTWVzc2FnZSBUcmF5IHVzaW5nIEdub21lIE9ubGluZSBBY2NvdW50c1xuIiwKICAibmFtZSI6ICJHbm9tZSBFbWFpbCBOb3RpZmljYXRpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NodW1pbmdjaC9nbm9tZS1lbWFpbC1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJHbWFpbE1lc3NhZ2VUcmF5QHNodW1pbmcwMjA3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyNAp9"}}}
 , {"uuid": "switchWorkSpace@sun.wxg@gmail.com", "name": "Switch Workspace", "pname": "switch-workspace", "description": "Switch workspace like using ALT+TAB key to switch windows \n\n Default shortcut key to switch workspace is Ctrl+Above_Tab .", "link": "https://extensions.gnome.org/extension/1231/switch-workspace/", "shell_version_map": {"38": {"version": "30", "sha256": "1z6dafy981y2kjbnk9dncnkkpgqk45njbh3k08s3jg385qvfryvg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zd2l0Y2h3b3Jrc3BhY2UiLAogICJ1dWlkIjogInN3aXRjaFdvcmtTcGFjZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "40": {"version": "33", "sha256": "0bdhgv3sgsdfh1zrdjc2iyg1dwjg2mn9gx287yhljl7v2yd73i5m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zd2l0Y2h3b3Jrc3BhY2UiLAogICJ1dWlkIjogInN3aXRjaFdvcmtTcGFjZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMwp9"}, "41": {"version": "33", "sha256": "0bdhgv3sgsdfh1zrdjc2iyg1dwjg2mn9gx287yhljl7v2yd73i5m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zd2l0Y2h3b3Jrc3BhY2UiLAogICJ1dWlkIjogInN3aXRjaFdvcmtTcGFjZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMwp9"}, "42": {"version": "33", "sha256": "0bdhgv3sgsdfh1zrdjc2iyg1dwjg2mn9gx287yhljl7v2yd73i5m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zd2l0Y2h3b3Jrc3BhY2UiLAogICJ1dWlkIjogInN3aXRjaFdvcmtTcGFjZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMwp9"}}}
 , {"uuid": "noannoyance@sindex.com", "name": "NoAnnoyance", "pname": "noannoyance", "description": "Disable the “Window is ready” notification.", "link": "https://extensions.gnome.org/extension/1236/noannoyance/", "shell_version_map": {"38": {"version": "5", "sha256": "0x7p3i9qws8pgj3y2raw2vfgjwqm6rprrn3s7lck5bjx9ydri5b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIFx1MjAxY1dpbmRvdyBpcyByZWFkeVx1MjAxZCBub3RpZmljYXRpb24uIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kZXgvbm8tYW5ub3lhbmNlIiwKICAidXVpZCI6ICJub2Fubm95YW5jZUBzaW5kZXguY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0x7p3i9qws8pgj3y2raw2vfgjwqm6rprrn3s7lck5bjx9ydri5b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIFx1MjAxY1dpbmRvdyBpcyByZWFkeVx1MjAxZCBub3RpZmljYXRpb24uIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kZXgvbm8tYW5ub3lhbmNlIiwKICAidXVpZCI6ICJub2Fubm95YW5jZUBzaW5kZXguY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "SomaFm-Radio@alireza6677.gmail.com", "name": "SomaFM internet radio", "pname": "somafm-internet-radio", "description": "Listen to SomaFm free internet radio in your GNOME desktop\n\n* Featues:\n- 32+ Channels\n- Volume slider\n- Favorites menu\n- Good sound quality\n- Supports most gnome-shell versions\n- Channel logos\n\n* Requirements:\n- Gstreamer and plugins:\nYou need to install 'gstreamer' and multimedia codecs/plugins for your distro.", "link": "https://extensions.gnome.org/extension/1237/somafm-internet-radio/", "shell_version_map": {"38": {"version": "29", "sha256": "07l6sa58azf3sav6858q48cbqazavq9bflfxdn0p9ys29h6mf50c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vVGhlV2VpcmREZXYvc29tYWZtLXJhZGlvLWdub21lLWV4dCIsCiAgInV1aWQiOiAiU29tYUZtLVJhZGlvQGFsaXJlemE2Njc3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOQp9"}, "40": {"version": "29", "sha256": "07l6sa58azf3sav6858q48cbqazavq9bflfxdn0p9ys29h6mf50c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vVGhlV2VpcmREZXYvc29tYWZtLXJhZGlvLWdub21lLWV4dCIsCiAgInV1aWQiOiAiU29tYUZtLVJhZGlvQGFsaXJlemE2Njc3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOQp9"}}}
 , {"uuid": "timepp@zagortenay333", "name": "Time ++", "pname": "time", "description": "A todo.txt manager, time tracker, timer, stopwatch, pomodoro, and alarm clock", "link": "https://extensions.gnome.org/extension/1238/time/", "shell_version_map": {"38": {"version": "155", "sha256": "1v71hlwrw9kbxfvka5w8cfqmvcjw3k9xjdwhwlk4i4q5k6kgjih3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQSB0b2RvLnR4dCBtYW5hZ2VyLCB0aW1lIHRyYWNrZXIsIHRpbWVyLCBzdG9wd2F0Y2gsIHBvbW9kb3JvLCBhbmQgYWxhcm0gY2xvY2siLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lICsrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInRyYW5zbGF0aW9uc191cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMvdGltZXBwX19nbm9tZS90cmVlL21hc3Rlci9kYXRhL3BvX2ZpbGVzIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUiLAogICJ1dWlkIjogInRpbWVwcEB6YWdvcnRlbmF5MzMzIiwKICAidmVyc2lvbiI6IDE1NQp9"}, "40": {"version": "163", "sha256": "0qb28jgpqz4nrigx2vjpsv2wfbnvkfk9rrc6aqgmh1mhhw3f7wfa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQSB0b2RvLnR4dCBtYW5hZ2VyLCB0aW1lIHRyYWNrZXIsIHRpbWVyLCBzdG9wd2F0Y2gsIHBvbW9kb3JvLCBhbmQgYWxhcm0gY2xvY2siLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lICsrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidHJhbnNsYXRpb25zX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemFnb3J0ZW5heTMzMy90aW1lcHBfX2dub21lL3RyZWUvbWFzdGVyL2RhdGEvcG9fZmlsZXMiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMvdGltZXBwX19nbm9tZSIsCiAgInV1aWQiOiAidGltZXBwQHphZ29ydGVuYXkzMzMiLAogICJ2ZXJzaW9uIjogMTYzCn0="}, "41": {"version": "163", "sha256": "0qb28jgpqz4nrigx2vjpsv2wfbnvkfk9rrc6aqgmh1mhhw3f7wfa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQSB0b2RvLnR4dCBtYW5hZ2VyLCB0aW1lIHRyYWNrZXIsIHRpbWVyLCBzdG9wd2F0Y2gsIHBvbW9kb3JvLCBhbmQgYWxhcm0gY2xvY2siLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lICsrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidHJhbnNsYXRpb25zX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemFnb3J0ZW5heTMzMy90aW1lcHBfX2dub21lL3RyZWUvbWFzdGVyL2RhdGEvcG9fZmlsZXMiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMvdGltZXBwX19nbm9tZSIsCiAgInV1aWQiOiAidGltZXBwQHphZ29ydGVuYXkzMzMiLAogICJ2ZXJzaW9uIjogMTYzCn0="}}}
 , {"uuid": "obmin@konkor", "name": "Obmin", "pname": "obmin", "description": "One-Click File Sharing for your network.\nObmin is lightweight HTTP(S) File Server for GNU/Linux systems.\n\nFeatures:\n⚫ Easy installation.\n⚫ Easy setup just choose file(s) locations and tune Obmin on.\n⚫ Doesn't require ROOT privileges.\n⚫ Doesn't require any special client side installation.\n⚫ HTTP transfer protocol available everywhere Linux, OSX, Windows, Android, iOS so.\n⚫ More ...\n\nFor more information and how-to see README.md", "link": "https://extensions.gnome.org/extension/1254/obmin/", "shell_version_map": {"38": {"version": "25", "sha256": "14liv381k2gdgcsgaqsarfg0ycrg0whhq0jzzzdzvnk9vs8jdni8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZS1DbGljayBGaWxlIFNoYXJpbmcgZm9yIHlvdXIgbmV0d29yay5cbk9ibWluIGlzIGxpZ2h0d2VpZ2h0IEhUVFAoUykgRmlsZSBTZXJ2ZXIgZm9yIEdOVS9MaW51eCBzeXN0ZW1zLlxuXG5GZWF0dXJlczpcblx1MjZhYiBFYXN5IGluc3RhbGxhdGlvbi5cblx1MjZhYiBFYXN5IHNldHVwIGp1c3QgY2hvb3NlIGZpbGUocykgbG9jYXRpb25zIGFuZCB0dW5lIE9ibWluIG9uLlxuXHUyNmFiIERvZXNuJ3QgcmVxdWlyZSBST09UIHByaXZpbGVnZXMuXG5cdTI2YWIgRG9lc24ndCByZXF1aXJlIGFueSBzcGVjaWFsIGNsaWVudCBzaWRlIGluc3RhbGxhdGlvbi5cblx1MjZhYiBIVFRQIHRyYW5zZmVyIHByb3RvY29sIGF2YWlsYWJsZSBldmVyeXdoZXJlIExpbnV4LCBPU1gsIFdpbmRvd3MsIEFuZHJvaWQsIGlPUyBzby5cblx1MjZhYiBNb3JlIC4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLW9ibWluIiwKICAibmFtZSI6ICJPYm1pbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vYm1pbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL29ibWluLmdpdGh1Yi5pbyIsCiAgInV1aWQiOiAib2JtaW5Aa29ua29yIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "40": {"version": "25", "sha256": "14liv381k2gdgcsgaqsarfg0ycrg0whhq0jzzzdzvnk9vs8jdni8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZS1DbGljayBGaWxlIFNoYXJpbmcgZm9yIHlvdXIgbmV0d29yay5cbk9ibWluIGlzIGxpZ2h0d2VpZ2h0IEhUVFAoUykgRmlsZSBTZXJ2ZXIgZm9yIEdOVS9MaW51eCBzeXN0ZW1zLlxuXG5GZWF0dXJlczpcblx1MjZhYiBFYXN5IGluc3RhbGxhdGlvbi5cblx1MjZhYiBFYXN5IHNldHVwIGp1c3QgY2hvb3NlIGZpbGUocykgbG9jYXRpb25zIGFuZCB0dW5lIE9ibWluIG9uLlxuXHUyNmFiIERvZXNuJ3QgcmVxdWlyZSBST09UIHByaXZpbGVnZXMuXG5cdTI2YWIgRG9lc24ndCByZXF1aXJlIGFueSBzcGVjaWFsIGNsaWVudCBzaWRlIGluc3RhbGxhdGlvbi5cblx1MjZhYiBIVFRQIHRyYW5zZmVyIHByb3RvY29sIGF2YWlsYWJsZSBldmVyeXdoZXJlIExpbnV4LCBPU1gsIFdpbmRvd3MsIEFuZHJvaWQsIGlPUyBzby5cblx1MjZhYiBNb3JlIC4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLW9ibWluIiwKICAibmFtZSI6ICJPYm1pbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vYm1pbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL29ibWluLmdpdGh1Yi5pbyIsCiAgInV1aWQiOiAib2JtaW5Aa29ua29yIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "41": {"version": "25", "sha256": "14liv381k2gdgcsgaqsarfg0ycrg0whhq0jzzzdzvnk9vs8jdni8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZS1DbGljayBGaWxlIFNoYXJpbmcgZm9yIHlvdXIgbmV0d29yay5cbk9ibWluIGlzIGxpZ2h0d2VpZ2h0IEhUVFAoUykgRmlsZSBTZXJ2ZXIgZm9yIEdOVS9MaW51eCBzeXN0ZW1zLlxuXG5GZWF0dXJlczpcblx1MjZhYiBFYXN5IGluc3RhbGxhdGlvbi5cblx1MjZhYiBFYXN5IHNldHVwIGp1c3QgY2hvb3NlIGZpbGUocykgbG9jYXRpb25zIGFuZCB0dW5lIE9ibWluIG9uLlxuXHUyNmFiIERvZXNuJ3QgcmVxdWlyZSBST09UIHByaXZpbGVnZXMuXG5cdTI2YWIgRG9lc24ndCByZXF1aXJlIGFueSBzcGVjaWFsIGNsaWVudCBzaWRlIGluc3RhbGxhdGlvbi5cblx1MjZhYiBIVFRQIHRyYW5zZmVyIHByb3RvY29sIGF2YWlsYWJsZSBldmVyeXdoZXJlIExpbnV4LCBPU1gsIFdpbmRvd3MsIEFuZHJvaWQsIGlPUyBzby5cblx1MjZhYiBNb3JlIC4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLW9ibWluIiwKICAibmFtZSI6ICJPYm1pbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vYm1pbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL29ibWluLmdpdGh1Yi5pbyIsCiAgInV1aWQiOiAib2JtaW5Aa29ua29yIiwKICAidmVyc2lvbiI6IDI1Cn0="}}}
-, {"uuid": "BingWallpaper@ineffable-gmail.com", "name": "Bing Wallpaper", "pname": "bing-wallpaper-changer", "description": "Lightweight GNOME shell extension to set your wallpaper to today's Microsoft Bing image of the day (the image you see when you visit Bing.com).\n\n *Disclaimer*: this extension is unofficial and not affiliated with Bing or Microsoft in any way. Images are protected by copyright and are licensed only for use as wallpapers.\n\nThis extension is based extensively on the NASA APOD extension by Elinvention (https://github.com/Elinvention) and inspired by Bing Desktop Wallpaper Changer by Utkarsh Gupta (https://github.com/UtkarshGpta).\n\nFeatures:\n* Fetches Bing wallpaper of the day and sets as both lock screen and desktop wallpaper (user selectable on GNOME versions that support it)\n* Optionally force a specific region (i.e. locale)\n* UHD supported resolutions\n* Only attempts to download wallpapers when they have been updated\n* Doesn't poll continuously - only once per day and on startup (schedules a refresh when Bing is due to update)\n *NEW: random mode\n *NEW: select wallpaper from previously downloaded images\n* English (en), German (de), Dutch (nl), Italian (it), Polish (pl), Chinese (zh_CN), French (fr_FR), Portuguese (pt, pt_BR), Russian (ru_RU), Spanish (es), Korean (ko, ko_KR, ko_KP), Indonesian (id), Catalan (ca), Norwegian Bokmål (nb) & Nynorsk (ni), Swedish (sv), Arabic (ar), Hungarian (hu) and Finnish (fi_FI) - a HUGE thanks to the translators\n\nAlways restart GNOME after manually updating extensions. Please report bugs to the GitHub page below:", "link": "https://extensions.gnome.org/extension/1262/bing-wallpaper-changer/", "shell_version_map": {"38": {"version": "39", "sha256": "098z2pz1hg11nhkjxxkcmg83g76qyx3ggpyn2xma1mfalv6b6fyr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT25seSBhdHRlbXB0cyB0byBkb3dubG9hZCB3YWxscGFwZXJzIHdoZW4gdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuKiBEb2Vzbid0IHBvbGwgY29udGludW91c2x5IC0gb25seSBvbmNlIHBlciBkYXkgYW5kIG9uIHN0YXJ0dXAgKHNjaGVkdWxlcyBhIHJlZnJlc2ggd2hlbiBCaW5nIGlzIGR1ZSB0byB1cGRhdGUpXG4gKk5FVzogcmFuZG9tIG1vZGVcbiAqTkVXOiBzZWxlY3Qgd2FsbHBhcGVyIGZyb20gcHJldmlvdXNseSBkb3dubG9hZGVkIGltYWdlc1xuKiBFbmdsaXNoIChlbiksIEdlcm1hbiAoZGUpLCBEdXRjaCAobmwpLCBJdGFsaWFuIChpdCksIFBvbGlzaCAocGwpLCBDaGluZXNlICh6aF9DTiksIEZyZW5jaCAoZnJfRlIpLCBQb3J0dWd1ZXNlIChwdCwgcHRfQlIpLCBSdXNzaWFuIChydV9SVSksIFNwYW5pc2ggKGVzKSwgS29yZWFuIChrbywga29fS1IsIGtvX0tQKSwgSW5kb25lc2lhbiAoaWQpLCBDYXRhbGFuIChjYSksIE5vcndlZ2lhbiBCb2ttXHUwMGU1bCAobmIpICYgTnlub3JzayAobmkpLCBTd2VkaXNoIChzdiksIEFyYWJpYyAoYXIpLCBIdW5nYXJpYW4gKGh1KSBhbmQgRmlubmlzaCAoZmlfRkkpIC0gYSBIVUdFIHRoYW5rcyB0byB0aGUgdHJhbnNsYXRvcnNcblxuQWx3YXlzIHJlc3RhcnQgR05PTUUgYWZ0ZXIgbWFudWFsbHkgdXBkYXRpbmcgZXh0ZW5zaW9ucy4gUGxlYXNlIHJlcG9ydCBidWdzIHRvIHRoZSBHaXRIdWIgcGFnZSBiZWxvdzoiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJCaW5nV2FsbHBhcGVyIiwKICAibmFtZSI6ICJCaW5nIFdhbGxwYXBlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iaW5nd2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vYmluZy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJCaW5nV2FsbHBhcGVyQGluZWZmYWJsZS1nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "40": {"version": "39", "sha256": "098z2pz1hg11nhkjxxkcmg83g76qyx3ggpyn2xma1mfalv6b6fyr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT25seSBhdHRlbXB0cyB0byBkb3dubG9hZCB3YWxscGFwZXJzIHdoZW4gdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuKiBEb2Vzbid0IHBvbGwgY29udGludW91c2x5IC0gb25seSBvbmNlIHBlciBkYXkgYW5kIG9uIHN0YXJ0dXAgKHNjaGVkdWxlcyBhIHJlZnJlc2ggd2hlbiBCaW5nIGlzIGR1ZSB0byB1cGRhdGUpXG4gKk5FVzogcmFuZG9tIG1vZGVcbiAqTkVXOiBzZWxlY3Qgd2FsbHBhcGVyIGZyb20gcHJldmlvdXNseSBkb3dubG9hZGVkIGltYWdlc1xuKiBFbmdsaXNoIChlbiksIEdlcm1hbiAoZGUpLCBEdXRjaCAobmwpLCBJdGFsaWFuIChpdCksIFBvbGlzaCAocGwpLCBDaGluZXNlICh6aF9DTiksIEZyZW5jaCAoZnJfRlIpLCBQb3J0dWd1ZXNlIChwdCwgcHRfQlIpLCBSdXNzaWFuIChydV9SVSksIFNwYW5pc2ggKGVzKSwgS29yZWFuIChrbywga29fS1IsIGtvX0tQKSwgSW5kb25lc2lhbiAoaWQpLCBDYXRhbGFuIChjYSksIE5vcndlZ2lhbiBCb2ttXHUwMGU1bCAobmIpICYgTnlub3JzayAobmkpLCBTd2VkaXNoIChzdiksIEFyYWJpYyAoYXIpLCBIdW5nYXJpYW4gKGh1KSBhbmQgRmlubmlzaCAoZmlfRkkpIC0gYSBIVUdFIHRoYW5rcyB0byB0aGUgdHJhbnNsYXRvcnNcblxuQWx3YXlzIHJlc3RhcnQgR05PTUUgYWZ0ZXIgbWFudWFsbHkgdXBkYXRpbmcgZXh0ZW5zaW9ucy4gUGxlYXNlIHJlcG9ydCBidWdzIHRvIHRoZSBHaXRIdWIgcGFnZSBiZWxvdzoiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJCaW5nV2FsbHBhcGVyIiwKICAibmFtZSI6ICJCaW5nIFdhbGxwYXBlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iaW5nd2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vYmluZy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJCaW5nV2FsbHBhcGVyQGluZWZmYWJsZS1nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "41": {"version": "39", "sha256": "098z2pz1hg11nhkjxxkcmg83g76qyx3ggpyn2xma1mfalv6b6fyr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT25seSBhdHRlbXB0cyB0byBkb3dubG9hZCB3YWxscGFwZXJzIHdoZW4gdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuKiBEb2Vzbid0IHBvbGwgY29udGludW91c2x5IC0gb25seSBvbmNlIHBlciBkYXkgYW5kIG9uIHN0YXJ0dXAgKHNjaGVkdWxlcyBhIHJlZnJlc2ggd2hlbiBCaW5nIGlzIGR1ZSB0byB1cGRhdGUpXG4gKk5FVzogcmFuZG9tIG1vZGVcbiAqTkVXOiBzZWxlY3Qgd2FsbHBhcGVyIGZyb20gcHJldmlvdXNseSBkb3dubG9hZGVkIGltYWdlc1xuKiBFbmdsaXNoIChlbiksIEdlcm1hbiAoZGUpLCBEdXRjaCAobmwpLCBJdGFsaWFuIChpdCksIFBvbGlzaCAocGwpLCBDaGluZXNlICh6aF9DTiksIEZyZW5jaCAoZnJfRlIpLCBQb3J0dWd1ZXNlIChwdCwgcHRfQlIpLCBSdXNzaWFuIChydV9SVSksIFNwYW5pc2ggKGVzKSwgS29yZWFuIChrbywga29fS1IsIGtvX0tQKSwgSW5kb25lc2lhbiAoaWQpLCBDYXRhbGFuIChjYSksIE5vcndlZ2lhbiBCb2ttXHUwMGU1bCAobmIpICYgTnlub3JzayAobmkpLCBTd2VkaXNoIChzdiksIEFyYWJpYyAoYXIpLCBIdW5nYXJpYW4gKGh1KSBhbmQgRmlubmlzaCAoZmlfRkkpIC0gYSBIVUdFIHRoYW5rcyB0byB0aGUgdHJhbnNsYXRvcnNcblxuQWx3YXlzIHJlc3RhcnQgR05PTUUgYWZ0ZXIgbWFudWFsbHkgdXBkYXRpbmcgZXh0ZW5zaW9ucy4gUGxlYXNlIHJlcG9ydCBidWdzIHRvIHRoZSBHaXRIdWIgcGFnZSBiZWxvdzoiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJCaW5nV2FsbHBhcGVyIiwKICAibmFtZSI6ICJCaW5nIFdhbGxwYXBlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iaW5nd2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vYmluZy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJCaW5nV2FsbHBhcGVyQGluZWZmYWJsZS1nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "42": {"version": "39", "sha256": "098z2pz1hg11nhkjxxkcmg83g76qyx3ggpyn2xma1mfalv6b6fyr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT25seSBhdHRlbXB0cyB0byBkb3dubG9hZCB3YWxscGFwZXJzIHdoZW4gdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuKiBEb2Vzbid0IHBvbGwgY29udGludW91c2x5IC0gb25seSBvbmNlIHBlciBkYXkgYW5kIG9uIHN0YXJ0dXAgKHNjaGVkdWxlcyBhIHJlZnJlc2ggd2hlbiBCaW5nIGlzIGR1ZSB0byB1cGRhdGUpXG4gKk5FVzogcmFuZG9tIG1vZGVcbiAqTkVXOiBzZWxlY3Qgd2FsbHBhcGVyIGZyb20gcHJldmlvdXNseSBkb3dubG9hZGVkIGltYWdlc1xuKiBFbmdsaXNoIChlbiksIEdlcm1hbiAoZGUpLCBEdXRjaCAobmwpLCBJdGFsaWFuIChpdCksIFBvbGlzaCAocGwpLCBDaGluZXNlICh6aF9DTiksIEZyZW5jaCAoZnJfRlIpLCBQb3J0dWd1ZXNlIChwdCwgcHRfQlIpLCBSdXNzaWFuIChydV9SVSksIFNwYW5pc2ggKGVzKSwgS29yZWFuIChrbywga29fS1IsIGtvX0tQKSwgSW5kb25lc2lhbiAoaWQpLCBDYXRhbGFuIChjYSksIE5vcndlZ2lhbiBCb2ttXHUwMGU1bCAobmIpICYgTnlub3JzayAobmkpLCBTd2VkaXNoIChzdiksIEFyYWJpYyAoYXIpLCBIdW5nYXJpYW4gKGh1KSBhbmQgRmlubmlzaCAoZmlfRkkpIC0gYSBIVUdFIHRoYW5rcyB0byB0aGUgdHJhbnNsYXRvcnNcblxuQWx3YXlzIHJlc3RhcnQgR05PTUUgYWZ0ZXIgbWFudWFsbHkgdXBkYXRpbmcgZXh0ZW5zaW9ucy4gUGxlYXNlIHJlcG9ydCBidWdzIHRvIHRoZSBHaXRIdWIgcGFnZSBiZWxvdzoiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJCaW5nV2FsbHBhcGVyIiwKICAibmFtZSI6ICJCaW5nIFdhbGxwYXBlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iaW5nd2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vYmluZy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJCaW5nV2FsbHBhcGVyQGluZWZmYWJsZS1nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}}}
+, {"uuid": "BingWallpaper@ineffable-gmail.com", "name": "Bing Wallpaper", "pname": "bing-wallpaper-changer", "description": "Lightweight GNOME shell extension to set your wallpaper to today's Microsoft Bing image of the day (the image you see when you visit Bing.com).\n\n *Disclaimer*: this extension is unofficial and not affiliated with Bing or Microsoft in any way. Images are protected by copyright and are licensed only for use as wallpapers.\n\nThis extension is based extensively on the NASA APOD extension by Elinvention (https://github.com/Elinvention) and inspired by Bing Desktop Wallpaper Changer by Utkarsh Gupta (https://github.com/UtkarshGpta).\n\nFeatures:\n* Fetches Bing wallpaper of the day and sets as both lock screen and desktop wallpaper (user selectable on GNOME versions that support it)\n* Optionally force a specific region (i.e. locale)\n* UHD supported resolutions\n* Only attempts to download wallpapers when they have been updated\n* Doesn't poll continuously - only once per day and on startup (schedules a refresh when Bing is due to update)\n *NEW: random mode\n *NEW: select wallpaper from previously downloaded images\n* English (en), German (de), Dutch (nl), Italian (it), Polish (pl), Chinese (zh_CN), French (fr_FR), Portuguese (pt, pt_BR), Russian (ru_RU), Spanish (es), Korean (ko, ko_KR, ko_KP), Indonesian (id), Catalan (ca), Norwegian Bokmål (nb) & Nynorsk (ni), Swedish (sv), Arabic (ar), Hungarian (hu) and Finnish (fi_FI) - a HUGE thanks to the translators\n\nAlways restart GNOME after manually updating extensions. Please report bugs to the GitHub page below:", "link": "https://extensions.gnome.org/extension/1262/bing-wallpaper-changer/", "shell_version_map": {"38": {"version": "40", "sha256": "1zsi177c2qcd5mfnngxlflw8j1af8lbq8fdc634d2fhpzvifhjvp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT25seSBhdHRlbXB0cyB0byBkb3dubG9hZCB3YWxscGFwZXJzIHdoZW4gdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuKiBEb2Vzbid0IHBvbGwgY29udGludW91c2x5IC0gb25seSBvbmNlIHBlciBkYXkgYW5kIG9uIHN0YXJ0dXAgKHNjaGVkdWxlcyBhIHJlZnJlc2ggd2hlbiBCaW5nIGlzIGR1ZSB0byB1cGRhdGUpXG4gKk5FVzogcmFuZG9tIG1vZGVcbiAqTkVXOiBzZWxlY3Qgd2FsbHBhcGVyIGZyb20gcHJldmlvdXNseSBkb3dubG9hZGVkIGltYWdlc1xuKiBFbmdsaXNoIChlbiksIEdlcm1hbiAoZGUpLCBEdXRjaCAobmwpLCBJdGFsaWFuIChpdCksIFBvbGlzaCAocGwpLCBDaGluZXNlICh6aF9DTiksIEZyZW5jaCAoZnJfRlIpLCBQb3J0dWd1ZXNlIChwdCwgcHRfQlIpLCBSdXNzaWFuIChydV9SVSksIFNwYW5pc2ggKGVzKSwgS29yZWFuIChrbywga29fS1IsIGtvX0tQKSwgSW5kb25lc2lhbiAoaWQpLCBDYXRhbGFuIChjYSksIE5vcndlZ2lhbiBCb2ttXHUwMGU1bCAobmIpICYgTnlub3JzayAobmkpLCBTd2VkaXNoIChzdiksIEFyYWJpYyAoYXIpLCBIdW5nYXJpYW4gKGh1KSBhbmQgRmlubmlzaCAoZmlfRkkpIC0gYSBIVUdFIHRoYW5rcyB0byB0aGUgdHJhbnNsYXRvcnNcblxuQWx3YXlzIHJlc3RhcnQgR05PTUUgYWZ0ZXIgbWFudWFsbHkgdXBkYXRpbmcgZXh0ZW5zaW9ucy4gUGxlYXNlIHJlcG9ydCBidWdzIHRvIHRoZSBHaXRIdWIgcGFnZSBiZWxvdzoiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJCaW5nV2FsbHBhcGVyIiwKICAibmFtZSI6ICJCaW5nIFdhbGxwYXBlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iaW5nd2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vYmluZy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJCaW5nV2FsbHBhcGVyQGluZWZmYWJsZS1nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}, "40": {"version": "40", "sha256": "1zsi177c2qcd5mfnngxlflw8j1af8lbq8fdc634d2fhpzvifhjvp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT25seSBhdHRlbXB0cyB0byBkb3dubG9hZCB3YWxscGFwZXJzIHdoZW4gdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuKiBEb2Vzbid0IHBvbGwgY29udGludW91c2x5IC0gb25seSBvbmNlIHBlciBkYXkgYW5kIG9uIHN0YXJ0dXAgKHNjaGVkdWxlcyBhIHJlZnJlc2ggd2hlbiBCaW5nIGlzIGR1ZSB0byB1cGRhdGUpXG4gKk5FVzogcmFuZG9tIG1vZGVcbiAqTkVXOiBzZWxlY3Qgd2FsbHBhcGVyIGZyb20gcHJldmlvdXNseSBkb3dubG9hZGVkIGltYWdlc1xuKiBFbmdsaXNoIChlbiksIEdlcm1hbiAoZGUpLCBEdXRjaCAobmwpLCBJdGFsaWFuIChpdCksIFBvbGlzaCAocGwpLCBDaGluZXNlICh6aF9DTiksIEZyZW5jaCAoZnJfRlIpLCBQb3J0dWd1ZXNlIChwdCwgcHRfQlIpLCBSdXNzaWFuIChydV9SVSksIFNwYW5pc2ggKGVzKSwgS29yZWFuIChrbywga29fS1IsIGtvX0tQKSwgSW5kb25lc2lhbiAoaWQpLCBDYXRhbGFuIChjYSksIE5vcndlZ2lhbiBCb2ttXHUwMGU1bCAobmIpICYgTnlub3JzayAobmkpLCBTd2VkaXNoIChzdiksIEFyYWJpYyAoYXIpLCBIdW5nYXJpYW4gKGh1KSBhbmQgRmlubmlzaCAoZmlfRkkpIC0gYSBIVUdFIHRoYW5rcyB0byB0aGUgdHJhbnNsYXRvcnNcblxuQWx3YXlzIHJlc3RhcnQgR05PTUUgYWZ0ZXIgbWFudWFsbHkgdXBkYXRpbmcgZXh0ZW5zaW9ucy4gUGxlYXNlIHJlcG9ydCBidWdzIHRvIHRoZSBHaXRIdWIgcGFnZSBiZWxvdzoiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJCaW5nV2FsbHBhcGVyIiwKICAibmFtZSI6ICJCaW5nIFdhbGxwYXBlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iaW5nd2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vYmluZy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJCaW5nV2FsbHBhcGVyQGluZWZmYWJsZS1nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}, "41": {"version": "40", "sha256": "1zsi177c2qcd5mfnngxlflw8j1af8lbq8fdc634d2fhpzvifhjvp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT25seSBhdHRlbXB0cyB0byBkb3dubG9hZCB3YWxscGFwZXJzIHdoZW4gdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuKiBEb2Vzbid0IHBvbGwgY29udGludW91c2x5IC0gb25seSBvbmNlIHBlciBkYXkgYW5kIG9uIHN0YXJ0dXAgKHNjaGVkdWxlcyBhIHJlZnJlc2ggd2hlbiBCaW5nIGlzIGR1ZSB0byB1cGRhdGUpXG4gKk5FVzogcmFuZG9tIG1vZGVcbiAqTkVXOiBzZWxlY3Qgd2FsbHBhcGVyIGZyb20gcHJldmlvdXNseSBkb3dubG9hZGVkIGltYWdlc1xuKiBFbmdsaXNoIChlbiksIEdlcm1hbiAoZGUpLCBEdXRjaCAobmwpLCBJdGFsaWFuIChpdCksIFBvbGlzaCAocGwpLCBDaGluZXNlICh6aF9DTiksIEZyZW5jaCAoZnJfRlIpLCBQb3J0dWd1ZXNlIChwdCwgcHRfQlIpLCBSdXNzaWFuIChydV9SVSksIFNwYW5pc2ggKGVzKSwgS29yZWFuIChrbywga29fS1IsIGtvX0tQKSwgSW5kb25lc2lhbiAoaWQpLCBDYXRhbGFuIChjYSksIE5vcndlZ2lhbiBCb2ttXHUwMGU1bCAobmIpICYgTnlub3JzayAobmkpLCBTd2VkaXNoIChzdiksIEFyYWJpYyAoYXIpLCBIdW5nYXJpYW4gKGh1KSBhbmQgRmlubmlzaCAoZmlfRkkpIC0gYSBIVUdFIHRoYW5rcyB0byB0aGUgdHJhbnNsYXRvcnNcblxuQWx3YXlzIHJlc3RhcnQgR05PTUUgYWZ0ZXIgbWFudWFsbHkgdXBkYXRpbmcgZXh0ZW5zaW9ucy4gUGxlYXNlIHJlcG9ydCBidWdzIHRvIHRoZSBHaXRIdWIgcGFnZSBiZWxvdzoiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJCaW5nV2FsbHBhcGVyIiwKICAibmFtZSI6ICJCaW5nIFdhbGxwYXBlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iaW5nd2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vYmluZy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJCaW5nV2FsbHBhcGVyQGluZWZmYWJsZS1nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}, "42": {"version": "40", "sha256": "1zsi177c2qcd5mfnngxlflw8j1af8lbq8fdc634d2fhpzvifhjvp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT25seSBhdHRlbXB0cyB0byBkb3dubG9hZCB3YWxscGFwZXJzIHdoZW4gdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuKiBEb2Vzbid0IHBvbGwgY29udGludW91c2x5IC0gb25seSBvbmNlIHBlciBkYXkgYW5kIG9uIHN0YXJ0dXAgKHNjaGVkdWxlcyBhIHJlZnJlc2ggd2hlbiBCaW5nIGlzIGR1ZSB0byB1cGRhdGUpXG4gKk5FVzogcmFuZG9tIG1vZGVcbiAqTkVXOiBzZWxlY3Qgd2FsbHBhcGVyIGZyb20gcHJldmlvdXNseSBkb3dubG9hZGVkIGltYWdlc1xuKiBFbmdsaXNoIChlbiksIEdlcm1hbiAoZGUpLCBEdXRjaCAobmwpLCBJdGFsaWFuIChpdCksIFBvbGlzaCAocGwpLCBDaGluZXNlICh6aF9DTiksIEZyZW5jaCAoZnJfRlIpLCBQb3J0dWd1ZXNlIChwdCwgcHRfQlIpLCBSdXNzaWFuIChydV9SVSksIFNwYW5pc2ggKGVzKSwgS29yZWFuIChrbywga29fS1IsIGtvX0tQKSwgSW5kb25lc2lhbiAoaWQpLCBDYXRhbGFuIChjYSksIE5vcndlZ2lhbiBCb2ttXHUwMGU1bCAobmIpICYgTnlub3JzayAobmkpLCBTd2VkaXNoIChzdiksIEFyYWJpYyAoYXIpLCBIdW5nYXJpYW4gKGh1KSBhbmQgRmlubmlzaCAoZmlfRkkpIC0gYSBIVUdFIHRoYW5rcyB0byB0aGUgdHJhbnNsYXRvcnNcblxuQWx3YXlzIHJlc3RhcnQgR05PTUUgYWZ0ZXIgbWFudWFsbHkgdXBkYXRpbmcgZXh0ZW5zaW9ucy4gUGxlYXNlIHJlcG9ydCBidWdzIHRvIHRoZSBHaXRIdWIgcGFnZSBiZWxvdzoiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJCaW5nV2FsbHBhcGVyIiwKICAibmFtZSI6ICJCaW5nIFdhbGxwYXBlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iaW5nd2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vYmluZy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJCaW5nV2FsbHBhcGVyQGluZWZmYWJsZS1nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}}}
 , {"uuid": "gnomesome@chwick.github.com", "name": "Gnomesome", "pname": "gnomesome", "description": "Tiling window manager with awesome keybindings", "link": "https://extensions.gnome.org/extension/1268/gnomesome/", "shell_version_map": {"38": {"version": "15", "sha256": "1dn67is3qk80xxfkc2pd43jrsyylmsprd7v3axvl677wdjgaq83z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGF3ZXNvbWUga2V5YmluZGluZ3MiLAogICJuYW1lIjogIkdub21lc29tZSIsCiAgInNldHRpbmdzLWtleWJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lc29tZS5rZXliaW5kaW5ncyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Nod2ljay9nbm9tZXNvbWUiLAogICJ1dWlkIjogImdub21lc29tZUBjaHdpY2suZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNQp9"}}}
 , {"uuid": "gnome-vagrant-indicator@gnome-shell-exstensions.fffilo.github.com", "name": "GNOME Vagrant Indicator", "pname": "gnome-vagrant-indicator", "description": "Easily manage your vagrant machines from status area", "link": "https://extensions.gnome.org/extension/1269/gnome-vagrant-indicator/", "shell_version_map": {"40": {"version": "14", "sha256": "194kfjbv8wc4krxcdazm03c0rnzz11n5xa0m11zq3nczw9pasvwf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVhc2lseSBtYW5hZ2UgeW91ciB2YWdyYW50IG1hY2hpbmVzIGZyb20gc3RhdHVzIGFyZWEiLAogICJkZXNjcmlwdGlvbi1odG1sIjogIkluc3BpcmVkIGJ5IDxhIGhyZWY9XCJodHRwczovL2dpdGh1Yi5jb20vY2FuZGlkdGltL3ZhZ3JhbnQtYXBwaW5kaWNhdG9yXCI+dmdhcHBsZXQ8L2E+LFxuPGI+R05PTUUgVmFncmFudCBJbmRpY2F0b3I8L2I+IGxldHMgeW91IGVhc2lseSBtYW5hZ2UgeW91ciB2YWdyYW50IG1hY2hpbmVzIGZyb20gc3RhdHVzIGFyZWEuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtdmFncmFudC1pbmRpY2F0b3IiLAogICJsaWNlbnNlIjogIkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYzLjAiLAogICJsaWNlbnNlLWh0bWwiOiAiVGhpcyBwcm9ncmFtIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS5cblNlZSB0aGUgPGEgaHJlZj1cImh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC5odG1sXCI+R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMDwvYT4gZm9yIGRldGFpbHMuIiwKICAibmFtZSI6ICJHTk9NRSBWYWdyYW50IEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJGcmFuam8gRmlsbyA8ZmZmaWxvNjY2QGdtYWlsLmNvbT4iLAogICJvcmlnaW5hbC1hdXRob3ItaHRtbCI6ICJGcmFuam8gRmlsbyA8YSBocmVmPVwibWFpbHRvOmZmZmlsbzY2NkBnbWFpbC5jb21cIj4mbHQ7ZmZmaWxvNjY2QGdtYWlsLmNvbSZndDs8L2E+IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lLXZhZ3JhbnQtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZmZmlsby9nbm9tZS12YWdyYW50LWluZGljYXRvciIsCiAgInV1aWQiOiAiZ25vbWUtdmFncmFudC1pbmRpY2F0b3JAZ25vbWUtc2hlbGwtZXhzdGVuc2lvbnMuZmZmaWxvLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"uuid": "prime-indicator@gnome-shell-exstensions.fffilo.github.com", "name": "Prime Indicator", "pname": "prime-indicator", "description": "Intel/NVIDIA GPU Switch", "link": "https://extensions.gnome.org/extension/1275/prime-indicator/", "shell_version_map": {"40": {"version": "9", "sha256": "144qshljqc680w296w49fbfdf63zggl1in12y7dfmhra5ph4mk3n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVsL05WSURJQSBHUFUgU3dpdGNoIiwKICAiZGVzY3JpcHRpb24taHRtbCI6ICJHTk9NRSBzaGVsbCBleHRlbnNpb24gdGhhdCBhZGRzIEludGVsL05WSURJQSBHUFUgc3dpdGNoIHRvIGFnZ3JlZ2F0ZSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInByaW1lLWluZGljYXRvciIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIlByaW1lIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJGcmFuam8gRmlsbyA8ZmZmaWxvNjY2QGdtYWlsLmNvbT4iLAogICJvcmlnaW5hbC1hdXRob3ItaHRtbCI6ICJGcmFuam8gRmlsbyAmbHQ7PGEgaHJlZj1cIm1haWx0bzpmZmZpbG82NjZAZ21haWwuY29tXCI+ZmZmaWxvNjY2QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW1lLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mZmZpbG8vcHJpbWUtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJwcmltZS1pbmRpY2F0b3JAZ25vbWUtc2hlbGwtZXhzdGVuc2lvbnMuZmZmaWxvLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}}}
@@ -157,15 +158,15 @@
 , {"uuid": "fuzzy-clock@keepawayfromfire.co.uk", "name": "Fuzzy Clock", "pname": "fuzzy-clock", "description": "Make the top bar clock fuzzy", "link": "https://extensions.gnome.org/extension/1281/fuzzy-clock/", "shell_version_map": {"38": {"version": "4", "sha256": "1dvpkwkzagw23fhvmz9ncjldmhlv4493gn08r6rqslp4hqlmwqfy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHRvcCBiYXIgY2xvY2sgZnV6enkiLAogICJuYW1lIjogIkZ1enp5IENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2otTWFsb25lL0Z1enp5LUNsb2NrIiwKICAidXVpZCI6ICJmdXp6eS1jbG9ja0BrZWVwYXdheWZyb21maXJlLmNvLnVrIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1dvpkwkzagw23fhvmz9ncjldmhlv4493gn08r6rqslp4hqlmwqfy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHRvcCBiYXIgY2xvY2sgZnV6enkiLAogICJuYW1lIjogIkZ1enp5IENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2otTWFsb25lL0Z1enp5LUNsb2NrIiwKICAidXVpZCI6ICJmdXp6eS1jbG9ja0BrZWVwYXdheWZyb21maXJlLmNvLnVrIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1dvpkwkzagw23fhvmz9ncjldmhlv4493gn08r6rqslp4hqlmwqfy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHRvcCBiYXIgY2xvY2sgZnV6enkiLAogICJuYW1lIjogIkZ1enp5IENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2otTWFsb25lL0Z1enp5LUNsb2NrIiwKICAidXVpZCI6ICJmdXp6eS1jbG9ja0BrZWVwYXdheWZyb21maXJlLmNvLnVrIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "ds4battery@slie.ru", "name": "Dual Shock 4 battery percentage", "pname": "dual-shock-4-battery-percentage", "description": "Show DS4/DS3 battery remaining power percentage at the top panel", "link": "https://extensions.gnome.org/extension/1283/dual-shock-4-battery-percentage/", "shell_version_map": {"38": {"version": "7", "sha256": "0yb1j3hlza96zbd82gjc7wyjqkj5vjzcaj8l5n8xhfrdi7icxf6j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgRFM0L0RTMyBiYXR0ZXJ5IHJlbWFpbmluZyBwb3dlciBwZXJjZW50YWdlIGF0IHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIkR1YWwgU2hvY2sgNCBiYXR0ZXJ5IHBlcmNlbnRhZ2UiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIm1lQHNsaWUucnUiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGhhbmtqdXJhL2RzNGJhdHRlcnkiLAogICJ1dWlkIjogImRzNGJhdHRlcnlAc2xpZS5ydSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "0yb1j3hlza96zbd82gjc7wyjqkj5vjzcaj8l5n8xhfrdi7icxf6j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgRFM0L0RTMyBiYXR0ZXJ5IHJlbWFpbmluZyBwb3dlciBwZXJjZW50YWdlIGF0IHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIkR1YWwgU2hvY2sgNCBiYXR0ZXJ5IHBlcmNlbnRhZ2UiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIm1lQHNsaWUucnUiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGhhbmtqdXJhL2RzNGJhdHRlcnkiLAogICJ1dWlkIjogImRzNGJhdHRlcnlAc2xpZS5ydSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "hotel-manager@hardpixel.eu", "name": "Hotel Manager", "pname": "hotel-manager", "description": "Hotel Manager allows to start and stop the Hotel daemon and your development servers via a menu in the status area.", "link": "https://extensions.gnome.org/extension/1285/hotel-manager/", "shell_version_map": {"38": {"version": "15", "sha256": "1sifyxpc9ldllkzfy109dpwpx1rgz23mvpkc0c2gjqw13pqswdsf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvdGVsIE1hbmFnZXIgYWxsb3dzIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSBIb3RlbCBkYWVtb24gYW5kIHlvdXIgZGV2ZWxvcG1lbnQgc2VydmVycyB2aWEgYSBtZW51IGluIHRoZSBzdGF0dXMgYXJlYS4iLAogICJuYW1lIjogIkhvdGVsIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvaG90ZWwtbWFuYWdlciIsCiAgInV1aWQiOiAiaG90ZWwtbWFuYWdlckBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "40": {"version": "15", "sha256": "1sifyxpc9ldllkzfy109dpwpx1rgz23mvpkc0c2gjqw13pqswdsf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvdGVsIE1hbmFnZXIgYWxsb3dzIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSBIb3RlbCBkYWVtb24gYW5kIHlvdXIgZGV2ZWxvcG1lbnQgc2VydmVycyB2aWEgYSBtZW51IGluIHRoZSBzdGF0dXMgYXJlYS4iLAogICJuYW1lIjogIkhvdGVsIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvaG90ZWwtbWFuYWdlciIsCiAgInV1aWQiOiAiaG90ZWwtbWFuYWdlckBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "15", "sha256": "1sifyxpc9ldllkzfy109dpwpx1rgz23mvpkc0c2gjqw13pqswdsf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvdGVsIE1hbmFnZXIgYWxsb3dzIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSBIb3RlbCBkYWVtb24gYW5kIHlvdXIgZGV2ZWxvcG1lbnQgc2VydmVycyB2aWEgYSBtZW51IGluIHRoZSBzdGF0dXMgYXJlYS4iLAogICJuYW1lIjogIkhvdGVsIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvaG90ZWwtbWFuYWdlciIsCiAgInV1aWQiOiAiaG90ZWwtbWFuYWdlckBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "42": {"version": "15", "sha256": "1sifyxpc9ldllkzfy109dpwpx1rgz23mvpkc0c2gjqw13pqswdsf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvdGVsIE1hbmFnZXIgYWxsb3dzIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSBIb3RlbCBkYWVtb24gYW5kIHlvdXIgZGV2ZWxvcG1lbnQgc2VydmVycyB2aWEgYSBtZW51IGluIHRoZSBzdGF0dXMgYXJlYS4iLAogICJuYW1lIjogIkhvdGVsIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvaG90ZWwtbWFuYWdlciIsCiAgInV1aWQiOiAiaG90ZWwtbWFuYWdlckBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
-, {"uuid": "unite@hardpixel.eu", "name": "Unite", "pname": "unite", "description": "Unite is a GNOME Shell extension which makes a few layout tweaks to the top panel and removes window decorations to make it look like Ubuntu Unity Shell.\n\n- Adds window buttons to the top panel for maximized windows.\n- Shows current window title in the app menu for maximized windows.\n- Removes titlebars on maximized windows.\n- Hides window controls on maximized windows with headerbars.\n- Moves the date to the right, reduces panel spacing and removes dropdown arrows.\n- Moves legacy tray icons to the top panel.\n- Moves notifications to the right.\n- Hides activities button.\n- Adds desktop name to the top panel.\n\nThis extension depends on some Xorg utilities. To install them:\n- Debian/Ubuntu: apt install x11-utils\n- Fedora/RHEL: dnf install xprop\n- Fedora Silverblue: rpm-ostree install xprop\n- Arch: pacman -S xorg-xprop\n\n*Settings are provided to enable/disable or customize the available tweaks.\n* Since version 2 applications on wayland with client side decorations are supported using CSS.", "link": "https://extensions.gnome.org/extension/1287/unite/", "shell_version_map": {"38": {"version": "64", "sha256": "1cwy765h9g7zq7vkaha59i25117bq78ykg2ybz7fy6zkpflk7ila", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeHByb3Bcbi0gRmVkb3JhIFNpbHZlcmJsdWU6IHJwbS1vc3RyZWUgaW5zdGFsbCB4cHJvcFxuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIG9yIGN1c3RvbWl6ZSB0aGUgYXZhaWxhYmxlIHR3ZWFrcy5cbiogU2luY2UgdmVyc2lvbiAyIGFwcGxpY2F0aW9ucyBvbiB3YXlsYW5kIHdpdGggY2xpZW50IHNpZGUgZGVjb3JhdGlvbnMgYXJlIHN1cHBvcnRlZCB1c2luZyBDU1MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidW5pdGUiLAogICJuYW1lIjogIlVuaXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVuaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3VuaXRlLXNoZWxsIiwKICAidXVpZCI6ICJ1bml0ZUBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNjQKfQ=="}, "40": {"version": "64", "sha256": "1cwy765h9g7zq7vkaha59i25117bq78ykg2ybz7fy6zkpflk7ila", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeHByb3Bcbi0gRmVkb3JhIFNpbHZlcmJsdWU6IHJwbS1vc3RyZWUgaW5zdGFsbCB4cHJvcFxuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIG9yIGN1c3RvbWl6ZSB0aGUgYXZhaWxhYmxlIHR3ZWFrcy5cbiogU2luY2UgdmVyc2lvbiAyIGFwcGxpY2F0aW9ucyBvbiB3YXlsYW5kIHdpdGggY2xpZW50IHNpZGUgZGVjb3JhdGlvbnMgYXJlIHN1cHBvcnRlZCB1c2luZyBDU1MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidW5pdGUiLAogICJuYW1lIjogIlVuaXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVuaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3VuaXRlLXNoZWxsIiwKICAidXVpZCI6ICJ1bml0ZUBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNjQKfQ=="}, "41": {"version": "64", "sha256": "1cwy765h9g7zq7vkaha59i25117bq78ykg2ybz7fy6zkpflk7ila", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeHByb3Bcbi0gRmVkb3JhIFNpbHZlcmJsdWU6IHJwbS1vc3RyZWUgaW5zdGFsbCB4cHJvcFxuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIG9yIGN1c3RvbWl6ZSB0aGUgYXZhaWxhYmxlIHR3ZWFrcy5cbiogU2luY2UgdmVyc2lvbiAyIGFwcGxpY2F0aW9ucyBvbiB3YXlsYW5kIHdpdGggY2xpZW50IHNpZGUgZGVjb3JhdGlvbnMgYXJlIHN1cHBvcnRlZCB1c2luZyBDU1MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidW5pdGUiLAogICJuYW1lIjogIlVuaXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVuaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3VuaXRlLXNoZWxsIiwKICAidXVpZCI6ICJ1bml0ZUBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNjQKfQ=="}, "42": {"version": "64", "sha256": "1cwy765h9g7zq7vkaha59i25117bq78ykg2ybz7fy6zkpflk7ila", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeHByb3Bcbi0gRmVkb3JhIFNpbHZlcmJsdWU6IHJwbS1vc3RyZWUgaW5zdGFsbCB4cHJvcFxuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIG9yIGN1c3RvbWl6ZSB0aGUgYXZhaWxhYmxlIHR3ZWFrcy5cbiogU2luY2UgdmVyc2lvbiAyIGFwcGxpY2F0aW9ucyBvbiB3YXlsYW5kIHdpdGggY2xpZW50IHNpZGUgZGVjb3JhdGlvbnMgYXJlIHN1cHBvcnRlZCB1c2luZyBDU1MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidW5pdGUiLAogICJuYW1lIjogIlVuaXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVuaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3VuaXRlLXNoZWxsIiwKICAidXVpZCI6ICJ1bml0ZUBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNjQKfQ=="}}}
+, {"uuid": "unite@hardpixel.eu", "name": "Unite", "pname": "unite", "description": "Unite is a GNOME Shell extension which makes a few layout tweaks to the top panel and removes window decorations to make it look like Ubuntu Unity Shell.\n\n- Adds window buttons to the top panel for maximized windows.\n- Shows current window title in the app menu for maximized windows.\n- Removes titlebars on maximized windows.\n- Hides window controls on maximized windows with headerbars.\n- Moves the date to the right, reduces panel spacing and removes dropdown arrows.\n- Moves legacy tray icons to the top panel.\n- Moves notifications to the right.\n- Hides activities button.\n- Adds desktop name to the top panel.\n\nThis extension depends on some Xorg utilities. To install them:\n- Debian/Ubuntu: apt install x11-utils\n- Fedora/RHEL: dnf install xprop\n- Fedora Silverblue: rpm-ostree install xprop\n- Arch: pacman -S xorg-xprop\n\n*Settings are provided to enable/disable or customize the available tweaks.\n* Since version 2 applications on wayland with client side decorations are supported using CSS.", "link": "https://extensions.gnome.org/extension/1287/unite/", "shell_version_map": {"38": {"version": "65", "sha256": "18a3233phjr15zq23qi617bwjagan9hki197a55y9f90yx9mb8xn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeHByb3Bcbi0gRmVkb3JhIFNpbHZlcmJsdWU6IHJwbS1vc3RyZWUgaW5zdGFsbCB4cHJvcFxuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIG9yIGN1c3RvbWl6ZSB0aGUgYXZhaWxhYmxlIHR3ZWFrcy5cbiogU2luY2UgdmVyc2lvbiAyIGFwcGxpY2F0aW9ucyBvbiB3YXlsYW5kIHdpdGggY2xpZW50IHNpZGUgZGVjb3JhdGlvbnMgYXJlIHN1cHBvcnRlZCB1c2luZyBDU1MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidW5pdGUiLAogICJuYW1lIjogIlVuaXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVuaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3VuaXRlLXNoZWxsIiwKICAidXVpZCI6ICJ1bml0ZUBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNjUKfQ=="}, "40": {"version": "65", "sha256": "18a3233phjr15zq23qi617bwjagan9hki197a55y9f90yx9mb8xn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeHByb3Bcbi0gRmVkb3JhIFNpbHZlcmJsdWU6IHJwbS1vc3RyZWUgaW5zdGFsbCB4cHJvcFxuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIG9yIGN1c3RvbWl6ZSB0aGUgYXZhaWxhYmxlIHR3ZWFrcy5cbiogU2luY2UgdmVyc2lvbiAyIGFwcGxpY2F0aW9ucyBvbiB3YXlsYW5kIHdpdGggY2xpZW50IHNpZGUgZGVjb3JhdGlvbnMgYXJlIHN1cHBvcnRlZCB1c2luZyBDU1MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidW5pdGUiLAogICJuYW1lIjogIlVuaXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVuaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3VuaXRlLXNoZWxsIiwKICAidXVpZCI6ICJ1bml0ZUBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNjUKfQ=="}, "41": {"version": "65", "sha256": "18a3233phjr15zq23qi617bwjagan9hki197a55y9f90yx9mb8xn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeHByb3Bcbi0gRmVkb3JhIFNpbHZlcmJsdWU6IHJwbS1vc3RyZWUgaW5zdGFsbCB4cHJvcFxuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIG9yIGN1c3RvbWl6ZSB0aGUgYXZhaWxhYmxlIHR3ZWFrcy5cbiogU2luY2UgdmVyc2lvbiAyIGFwcGxpY2F0aW9ucyBvbiB3YXlsYW5kIHdpdGggY2xpZW50IHNpZGUgZGVjb3JhdGlvbnMgYXJlIHN1cHBvcnRlZCB1c2luZyBDU1MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidW5pdGUiLAogICJuYW1lIjogIlVuaXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVuaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3VuaXRlLXNoZWxsIiwKICAidXVpZCI6ICJ1bml0ZUBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNjUKfQ=="}, "42": {"version": "65", "sha256": "18a3233phjr15zq23qi617bwjagan9hki197a55y9f90yx9mb8xn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeHByb3Bcbi0gRmVkb3JhIFNpbHZlcmJsdWU6IHJwbS1vc3RyZWUgaW5zdGFsbCB4cHJvcFxuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIG9yIGN1c3RvbWl6ZSB0aGUgYXZhaWxhYmxlIHR3ZWFrcy5cbiogU2luY2UgdmVyc2lvbiAyIGFwcGxpY2F0aW9ucyBvbiB3YXlsYW5kIHdpdGggY2xpZW50IHNpZGUgZGVjb3JhdGlvbnMgYXJlIHN1cHBvcnRlZCB1c2luZyBDU1MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidW5pdGUiLAogICJuYW1lIjogIlVuaXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVuaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3VuaXRlLXNoZWxsIiwKICAidXVpZCI6ICJ1bml0ZUBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNjUKfQ=="}}}
 , {"uuid": "GoogleEarthWallpaper@neffo.github.com", "name": "Google Earth Wallpaper", "pname": "google-earth-wallpaper", "description": "Lightweight GNOME shell extension to sets your wallpaper to a random photo from the curated Google Earth collection (2604 photos).\n\n*Disclaimer*: this extension is unofficial and not affiliated with Google in any way. Images are protected by copyright and are licensed only for use as wallpapers.\n\nSee also my other extension, Bing Wallpaper Changer (https://github.com/neffo/bing-wallpaper-gnome-extension).\n\nFeatures:\n* Fetches a random Google Earth wallpaper and sets as both lock screen and desktop wallpaper\n* User selectable refresh intervals (default is once per day)\n* View location on Google Maps, Bing Maps, Gnome Maps, OpenStreetMaps\n*  German, Dutch and Chinese translations\n\nPlease report any bugs or suggestions to extension GitHub page below.", "link": "https://extensions.gnome.org/extension/1295/google-earth-wallpaper/", "shell_version_map": {"38": {"version": "15", "sha256": "0r68krvgjgkf8fdllb2k02zdg0xd6iidmn5nnz8w2hzx1jdvsmf9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXRzIHlvdXIgd2FsbHBhcGVyIHRvIGEgcmFuZG9tIHBob3RvIGZyb20gdGhlIGN1cmF0ZWQgR29vZ2xlIEVhcnRoIGNvbGxlY3Rpb24gKDI2MDQgcGhvdG9zKS5cblxuKkRpc2NsYWltZXIqOiB0aGlzIGV4dGVuc2lvbiBpcyB1bm9mZmljaWFsIGFuZCBub3QgYWZmaWxpYXRlZCB3aXRoIEdvb2dsZSBpbiBhbnkgd2F5LiBJbWFnZXMgYXJlIHByb3RlY3RlZCBieSBjb3B5cmlnaHQgYW5kIGFyZSBsaWNlbnNlZCBvbmx5IGZvciB1c2UgYXMgd2FsbHBhcGVycy5cblxuU2VlIGFsc28gbXkgb3RoZXIgZXh0ZW5zaW9uLCBCaW5nIFdhbGxwYXBlciBDaGFuZ2VyIChodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vYmluZy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgYSByYW5kb20gR29vZ2xlIEVhcnRoIHdhbGxwYXBlciBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlclxuKiBVc2VyIHNlbGVjdGFibGUgcmVmcmVzaCBpbnRlcnZhbHMgKGRlZmF1bHQgaXMgb25jZSBwZXIgZGF5KVxuKiBWaWV3IGxvY2F0aW9uIG9uIEdvb2dsZSBNYXBzLCBCaW5nIE1hcHMsIEdub21lIE1hcHMsIE9wZW5TdHJlZXRNYXBzXG4qICBHZXJtYW4sIER1dGNoIGFuZCBDaGluZXNlIHRyYW5zbGF0aW9uc1xuXG5QbGVhc2UgcmVwb3J0IGFueSBidWdzIG9yIHN1Z2dlc3Rpb25zIHRvIGV4dGVuc2lvbiBHaXRIdWIgcGFnZSBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJHb29nbGVFYXJ0aFdhbGxwYXBlciIsCiAgIm5hbWUiOiAiR29vZ2xlIEVhcnRoIFdhbGxwYXBlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nb29nbGVlYXJ0aHdhbGxwYXBlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25lZmZvL2VhcnRoLXZpZXctd2FsbHBhcGVyLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiR29vZ2xlRWFydGhXYWxscGFwZXJAbmVmZm8uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNQp9"}, "40": {"version": "15", "sha256": "0r68krvgjgkf8fdllb2k02zdg0xd6iidmn5nnz8w2hzx1jdvsmf9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXRzIHlvdXIgd2FsbHBhcGVyIHRvIGEgcmFuZG9tIHBob3RvIGZyb20gdGhlIGN1cmF0ZWQgR29vZ2xlIEVhcnRoIGNvbGxlY3Rpb24gKDI2MDQgcGhvdG9zKS5cblxuKkRpc2NsYWltZXIqOiB0aGlzIGV4dGVuc2lvbiBpcyB1bm9mZmljaWFsIGFuZCBub3QgYWZmaWxpYXRlZCB3aXRoIEdvb2dsZSBpbiBhbnkgd2F5LiBJbWFnZXMgYXJlIHByb3RlY3RlZCBieSBjb3B5cmlnaHQgYW5kIGFyZSBsaWNlbnNlZCBvbmx5IGZvciB1c2UgYXMgd2FsbHBhcGVycy5cblxuU2VlIGFsc28gbXkgb3RoZXIgZXh0ZW5zaW9uLCBCaW5nIFdhbGxwYXBlciBDaGFuZ2VyIChodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vYmluZy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgYSByYW5kb20gR29vZ2xlIEVhcnRoIHdhbGxwYXBlciBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlclxuKiBVc2VyIHNlbGVjdGFibGUgcmVmcmVzaCBpbnRlcnZhbHMgKGRlZmF1bHQgaXMgb25jZSBwZXIgZGF5KVxuKiBWaWV3IGxvY2F0aW9uIG9uIEdvb2dsZSBNYXBzLCBCaW5nIE1hcHMsIEdub21lIE1hcHMsIE9wZW5TdHJlZXRNYXBzXG4qICBHZXJtYW4sIER1dGNoIGFuZCBDaGluZXNlIHRyYW5zbGF0aW9uc1xuXG5QbGVhc2UgcmVwb3J0IGFueSBidWdzIG9yIHN1Z2dlc3Rpb25zIHRvIGV4dGVuc2lvbiBHaXRIdWIgcGFnZSBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJHb29nbGVFYXJ0aFdhbGxwYXBlciIsCiAgIm5hbWUiOiAiR29vZ2xlIEVhcnRoIFdhbGxwYXBlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nb29nbGVlYXJ0aHdhbGxwYXBlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25lZmZvL2VhcnRoLXZpZXctd2FsbHBhcGVyLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiR29vZ2xlRWFydGhXYWxscGFwZXJAbmVmZm8uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNQp9"}, "41": {"version": "15", "sha256": "0r68krvgjgkf8fdllb2k02zdg0xd6iidmn5nnz8w2hzx1jdvsmf9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXRzIHlvdXIgd2FsbHBhcGVyIHRvIGEgcmFuZG9tIHBob3RvIGZyb20gdGhlIGN1cmF0ZWQgR29vZ2xlIEVhcnRoIGNvbGxlY3Rpb24gKDI2MDQgcGhvdG9zKS5cblxuKkRpc2NsYWltZXIqOiB0aGlzIGV4dGVuc2lvbiBpcyB1bm9mZmljaWFsIGFuZCBub3QgYWZmaWxpYXRlZCB3aXRoIEdvb2dsZSBpbiBhbnkgd2F5LiBJbWFnZXMgYXJlIHByb3RlY3RlZCBieSBjb3B5cmlnaHQgYW5kIGFyZSBsaWNlbnNlZCBvbmx5IGZvciB1c2UgYXMgd2FsbHBhcGVycy5cblxuU2VlIGFsc28gbXkgb3RoZXIgZXh0ZW5zaW9uLCBCaW5nIFdhbGxwYXBlciBDaGFuZ2VyIChodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vYmluZy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgYSByYW5kb20gR29vZ2xlIEVhcnRoIHdhbGxwYXBlciBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlclxuKiBVc2VyIHNlbGVjdGFibGUgcmVmcmVzaCBpbnRlcnZhbHMgKGRlZmF1bHQgaXMgb25jZSBwZXIgZGF5KVxuKiBWaWV3IGxvY2F0aW9uIG9uIEdvb2dsZSBNYXBzLCBCaW5nIE1hcHMsIEdub21lIE1hcHMsIE9wZW5TdHJlZXRNYXBzXG4qICBHZXJtYW4sIER1dGNoIGFuZCBDaGluZXNlIHRyYW5zbGF0aW9uc1xuXG5QbGVhc2UgcmVwb3J0IGFueSBidWdzIG9yIHN1Z2dlc3Rpb25zIHRvIGV4dGVuc2lvbiBHaXRIdWIgcGFnZSBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJHb29nbGVFYXJ0aFdhbGxwYXBlciIsCiAgIm5hbWUiOiAiR29vZ2xlIEVhcnRoIFdhbGxwYXBlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nb29nbGVlYXJ0aHdhbGxwYXBlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25lZmZvL2VhcnRoLXZpZXctd2FsbHBhcGVyLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiR29vZ2xlRWFydGhXYWxscGFwZXJAbmVmZm8uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNQp9"}, "42": {"version": "15", "sha256": "0r68krvgjgkf8fdllb2k02zdg0xd6iidmn5nnz8w2hzx1jdvsmf9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXRzIHlvdXIgd2FsbHBhcGVyIHRvIGEgcmFuZG9tIHBob3RvIGZyb20gdGhlIGN1cmF0ZWQgR29vZ2xlIEVhcnRoIGNvbGxlY3Rpb24gKDI2MDQgcGhvdG9zKS5cblxuKkRpc2NsYWltZXIqOiB0aGlzIGV4dGVuc2lvbiBpcyB1bm9mZmljaWFsIGFuZCBub3QgYWZmaWxpYXRlZCB3aXRoIEdvb2dsZSBpbiBhbnkgd2F5LiBJbWFnZXMgYXJlIHByb3RlY3RlZCBieSBjb3B5cmlnaHQgYW5kIGFyZSBsaWNlbnNlZCBvbmx5IGZvciB1c2UgYXMgd2FsbHBhcGVycy5cblxuU2VlIGFsc28gbXkgb3RoZXIgZXh0ZW5zaW9uLCBCaW5nIFdhbGxwYXBlciBDaGFuZ2VyIChodHRwczovL2dpdGh1Yi5jb20vbmVmZm8vYmluZy13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgYSByYW5kb20gR29vZ2xlIEVhcnRoIHdhbGxwYXBlciBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlclxuKiBVc2VyIHNlbGVjdGFibGUgcmVmcmVzaCBpbnRlcnZhbHMgKGRlZmF1bHQgaXMgb25jZSBwZXIgZGF5KVxuKiBWaWV3IGxvY2F0aW9uIG9uIEdvb2dsZSBNYXBzLCBCaW5nIE1hcHMsIEdub21lIE1hcHMsIE9wZW5TdHJlZXRNYXBzXG4qICBHZXJtYW4sIER1dGNoIGFuZCBDaGluZXNlIHRyYW5zbGF0aW9uc1xuXG5QbGVhc2UgcmVwb3J0IGFueSBidWdzIG9yIHN1Z2dlc3Rpb25zIHRvIGV4dGVuc2lvbiBHaXRIdWIgcGFnZSBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJHb29nbGVFYXJ0aFdhbGxwYXBlciIsCiAgIm5hbWUiOiAiR29vZ2xlIEVhcnRoIFdhbGxwYXBlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nb29nbGVlYXJ0aHdhbGxwYXBlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25lZmZvL2VhcnRoLXZpZXctd2FsbHBhcGVyLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiR29vZ2xlRWFydGhXYWxscGFwZXJAbmVmZm8uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNQp9"}}}
 , {"uuid": "gsconnect@andyholmes.github.io", "name": "GSConnect", "pname": "gsconnect", "description": "GSConnect is a complete implementation of KDE Connect especially for GNOME Shell with Nautilus, Chrome and Firefox integration. It does not rely on the KDE Connect desktop application and will not work with it installed.\n\nKDE Connect allows devices to securely share content like notifications or files and other features like SMS messaging and remote control. The KDE Connect team has applications for Linux, BSD, Android, Sailfish and Windows.\n\nPlease report issues on Github!", "link": "https://extensions.gnome.org/extension/1319/gsconnect/", "shell_version_map": {"38": {"version": "51", "sha256": "00mb2w724526gs0jskav00bc0y5dq1qybzczlahgc2znykqf1x8l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdTQ29ubmVjdCBpcyBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEtERSBDb25uZWN0IGVzcGVjaWFsbHkgZm9yIEdOT01FIFNoZWxsIHdpdGggTmF1dGlsdXMsIENocm9tZSBhbmQgRmlyZWZveCBpbnRlZ3JhdGlvbi4gSXQgZG9lcyBub3QgcmVseSBvbiB0aGUgS0RFIENvbm5lY3QgZGVza3RvcCBhcHBsaWNhdGlvbiBhbmQgd2lsbCBub3Qgd29yayB3aXRoIGl0IGluc3RhbGxlZC5cblxuS0RFIENvbm5lY3QgYWxsb3dzIGRldmljZXMgdG8gc2VjdXJlbHkgc2hhcmUgY29udGVudCBsaWtlIG5vdGlmaWNhdGlvbnMgb3IgZmlsZXMgYW5kIG90aGVyIGZlYXR1cmVzIGxpa2UgU01TIG1lc3NhZ2luZyBhbmQgcmVtb3RlIGNvbnRyb2wuIFRoZSBLREUgQ29ubmVjdCB0ZWFtIGhhcyBhcHBsaWNhdGlvbnMgZm9yIExpbnV4LCBCU0QsIEFuZHJvaWQsIFNhaWxmaXNoIGFuZCBXaW5kb3dzLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBHaXRodWIhIiwKICAibmFtZSI6ICJHU0Nvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HU0Nvbm5lY3QvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWdzY29ubmVjdC93aWtpIiwKICAidXVpZCI6ICJnc2Nvbm5lY3RAYW5keWhvbG1lcy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNTEKfQ=="}, "40": {"version": "47", "sha256": "0795yd6j8z2rgcv3fc8y2i4cnl4c8mni512jf776cfk745j5ck6p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdTQ29ubmVjdCBpcyBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEtERSBDb25uZWN0IGVzcGVjaWFsbHkgZm9yIEdOT01FIFNoZWxsIHdpdGggTmF1dGlsdXMsIENocm9tZSBhbmQgRmlyZWZveCBpbnRlZ3JhdGlvbi4gSXQgZG9lcyBub3QgcmVseSBvbiB0aGUgS0RFIENvbm5lY3QgZGVza3RvcCBhcHBsaWNhdGlvbiBhbmQgd2lsbCBub3Qgd29yayB3aXRoIGl0IGluc3RhbGxlZC5cblxuS0RFIENvbm5lY3QgYWxsb3dzIGRldmljZXMgdG8gc2VjdXJlbHkgc2hhcmUgY29udGVudCBsaWtlIG5vdGlmaWNhdGlvbnMgb3IgZmlsZXMgYW5kIG90aGVyIGZlYXR1cmVzIGxpa2UgU01TIG1lc3NhZ2luZyBhbmQgcmVtb3RlIGNvbnRyb2wuIFRoZSBLREUgQ29ubmVjdCB0ZWFtIGhhcyBhcHBsaWNhdGlvbnMgZm9yIExpbnV4LCBCU0QsIEFuZHJvaWQsIFNhaWxmaXNoIGFuZCBXaW5kb3dzLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBHaXRodWIhIiwKICAibmFtZSI6ICJHU0Nvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR1NDb25uZWN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1nc2Nvbm5lY3Qvd2lraSIsCiAgInV1aWQiOiAiZ3Njb25uZWN0QGFuZHlob2xtZXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQ3Cn0="}, "41": {"version": "49", "sha256": "15dh5qn9bmizgq9mcbk7nbja2arnc1bd9fvkkvhqm4kf4zlzf018", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdTQ29ubmVjdCBpcyBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEtERSBDb25uZWN0IGVzcGVjaWFsbHkgZm9yIEdOT01FIFNoZWxsIHdpdGggTmF1dGlsdXMsIENocm9tZSBhbmQgRmlyZWZveCBpbnRlZ3JhdGlvbi4gSXQgZG9lcyBub3QgcmVseSBvbiB0aGUgS0RFIENvbm5lY3QgZGVza3RvcCBhcHBsaWNhdGlvbiBhbmQgd2lsbCBub3Qgd29yayB3aXRoIGl0IGluc3RhbGxlZC5cblxuS0RFIENvbm5lY3QgYWxsb3dzIGRldmljZXMgdG8gc2VjdXJlbHkgc2hhcmUgY29udGVudCBsaWtlIG5vdGlmaWNhdGlvbnMgb3IgZmlsZXMgYW5kIG90aGVyIGZlYXR1cmVzIGxpa2UgU01TIG1lc3NhZ2luZyBhbmQgcmVtb3RlIGNvbnRyb2wuIFRoZSBLREUgQ29ubmVjdCB0ZWFtIGhhcyBhcHBsaWNhdGlvbnMgZm9yIExpbnV4LCBCU0QsIEFuZHJvaWQsIFNhaWxmaXNoIGFuZCBXaW5kb3dzLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBHaXRodWIhIiwKICAibmFtZSI6ICJHU0Nvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR1NDb25uZWN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1nc2Nvbm5lY3Qvd2lraSIsCiAgInV1aWQiOiAiZ3Njb25uZWN0QGFuZHlob2xtZXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQ5Cn0="}, "42": {"version": "50", "sha256": "1px9dm4zrn79zgvdc05mppi3jh09sjmkw07pbxrb8yhix3lhzal4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdTQ29ubmVjdCBpcyBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEtERSBDb25uZWN0IGVzcGVjaWFsbHkgZm9yIEdOT01FIFNoZWxsIHdpdGggTmF1dGlsdXMsIENocm9tZSBhbmQgRmlyZWZveCBpbnRlZ3JhdGlvbi4gSXQgZG9lcyBub3QgcmVseSBvbiB0aGUgS0RFIENvbm5lY3QgZGVza3RvcCBhcHBsaWNhdGlvbiBhbmQgd2lsbCBub3Qgd29yayB3aXRoIGl0IGluc3RhbGxlZC5cblxuS0RFIENvbm5lY3QgYWxsb3dzIGRldmljZXMgdG8gc2VjdXJlbHkgc2hhcmUgY29udGVudCBsaWtlIG5vdGlmaWNhdGlvbnMgb3IgZmlsZXMgYW5kIG90aGVyIGZlYXR1cmVzIGxpa2UgU01TIG1lc3NhZ2luZyBhbmQgcmVtb3RlIGNvbnRyb2wuIFRoZSBLREUgQ29ubmVjdCB0ZWFtIGhhcyBhcHBsaWNhdGlvbnMgZm9yIExpbnV4LCBCU0QsIEFuZHJvaWQsIFNhaWxmaXNoIGFuZCBXaW5kb3dzLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBHaXRodWIhIiwKICAibmFtZSI6ICJHU0Nvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR1NDb25uZWN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1nc2Nvbm5lY3Qvd2lraSIsCiAgInV1aWQiOiAiZ3Njb25uZWN0QGFuZHlob2xtZXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUwCn0="}}}
-, {"uuid": "nvidiautil@ethanwharris", "name": "NVIDIA GPU Stats Tool", "pname": "nvidia-gpu-stats-tool", "description": "Shows NVIDIA GPU stats in the toolbar. Requires nvidia-settings or nvidia-smi. Includes Bumblebee support.", "link": "https://extensions.gnome.org/extension/1320/nvidia-gpu-stats-tool/", "shell_version_map": {"38": {"version": "8", "sha256": "12yi2kcq2rm1ddb8djjlffvk6dhpfd996wjhwdf4jch1r85r8a30", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIE5WSURJQSBHUFUgc3RhdHMgaW4gdGhlIHRvb2xiYXIuIFJlcXVpcmVzIG52aWRpYS1zZXR0aW5ncyBvciBudmlkaWEtc21pLiBJbmNsdWRlcyBCdW1ibGViZWUgc3VwcG9ydC4iLAogICJuYW1lIjogIk5WSURJQSBHUFUgU3RhdHMgVG9vbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udmlkaWF1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXRoYW53aGFycmlzL2dub21lLW52aWRpYS1leHRlbnNpb24iLAogICJ1dWlkIjogIm52aWRpYXV0aWxAZXRoYW53aGFycmlzIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
+, {"uuid": "nvidiautil@ethanwharris", "name": "NVIDIA GPU Stats Tool", "pname": "nvidia-gpu-stats-tool", "description": "Shows NVIDIA GPU stats in the toolbar. Requires nvidia-settings or nvidia-smi. Includes Bumblebee support.", "link": "https://extensions.gnome.org/extension/1320/nvidia-gpu-stats-tool/", "shell_version_map": {"38": {"version": "8", "sha256": "12yi2kcq2rm1ddb8djjlffvk6dhpfd996wjhwdf4jch1r85r8a30", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIE5WSURJQSBHUFUgc3RhdHMgaW4gdGhlIHRvb2xiYXIuIFJlcXVpcmVzIG52aWRpYS1zZXR0aW5ncyBvciBudmlkaWEtc21pLiBJbmNsdWRlcyBCdW1ibGViZWUgc3VwcG9ydC4iLAogICJuYW1lIjogIk5WSURJQSBHUFUgU3RhdHMgVG9vbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udmlkaWF1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXRoYW53aGFycmlzL2dub21lLW52aWRpYS1leHRlbnNpb24iLAogICJ1dWlkIjogIm52aWRpYXV0aWxAZXRoYW53aGFycmlzIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "10", "sha256": "1x6ifcdmvfvp1y5xj2fmb50gw9m9jrhxrq9jpqjgx7y4mbp6xazb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIE5WSURJQSBHUFUgc3RhdHMgaW4gdGhlIHRvb2xiYXIuIFJlcXVpcmVzIG52aWRpYS1zZXR0aW5ncyBvciBudmlkaWEtc21pLiBJbmNsdWRlcyBCdW1ibGViZWUgc3VwcG9ydC4iLAogICJuYW1lIjogIk5WSURJQSBHUFUgU3RhdHMgVG9vbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udmlkaWF1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXRoYW53aGFycmlzL2dub21lLW52aWRpYS1leHRlbnNpb24iLAogICJ1dWlkIjogIm52aWRpYXV0aWxAZXRoYW53aGFycmlzIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "1x6ifcdmvfvp1y5xj2fmb50gw9m9jrhxrq9jpqjgx7y4mbp6xazb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIE5WSURJQSBHUFUgc3RhdHMgaW4gdGhlIHRvb2xiYXIuIFJlcXVpcmVzIG52aWRpYS1zZXR0aW5ncyBvciBudmlkaWEtc21pLiBJbmNsdWRlcyBCdW1ibGViZWUgc3VwcG9ydC4iLAogICJuYW1lIjogIk5WSURJQSBHUFUgU3RhdHMgVG9vbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udmlkaWF1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXRoYW53aGFycmlzL2dub21lLW52aWRpYS1leHRlbnNpb24iLAogICJ1dWlkIjogIm52aWRpYXV0aWxAZXRoYW53aGFycmlzIiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "1x6ifcdmvfvp1y5xj2fmb50gw9m9jrhxrq9jpqjgx7y4mbp6xazb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIE5WSURJQSBHUFUgc3RhdHMgaW4gdGhlIHRvb2xiYXIuIFJlcXVpcmVzIG52aWRpYS1zZXR0aW5ncyBvciBudmlkaWEtc21pLiBJbmNsdWRlcyBCdW1ibGViZWUgc3VwcG9ydC4iLAogICJuYW1lIjogIk5WSURJQSBHUFUgU3RhdHMgVG9vbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udmlkaWF1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXRoYW53aGFycmlzL2dub21lLW52aWRpYS1leHRlbnNpb24iLAogICJ1dWlkIjogIm52aWRpYXV0aWxAZXRoYW53aGFycmlzIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "pause-night-light@tijnschuurmans.nl", "name": "Pause Night Light", "pname": "pause-night-light", "description": "Disable Night Light for 10 seconds. This short interruption allows you to scan a colour code (e.g. Crontosign) from your screen.", "link": "https://extensions.gnome.org/extension/1327/pause-night-light/", "shell_version_map": {"40": {"version": "8", "sha256": "1j4yywvmwplbyjjwp79rxmfgsf7kv67v0d9rhbg6bnqw04bq91ki", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgTmlnaHQgTGlnaHQgZm9yIDEwIHNlY29uZHMuIFRoaXMgc2hvcnQgaW50ZXJydXB0aW9uIGFsbG93cyB5b3UgdG8gc2NhbiBhIGNvbG91ciBjb2RlIChlLmcuIENyb250b3NpZ24pIGZyb20geW91ciBzY3JlZW4uIiwKICAibmFtZSI6ICJQYXVzZSBOaWdodCBMaWdodCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNiIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rpam4vcGF1c2UtbmlnaHQtbGlnaHQiLAogICJ1dWlkIjogInBhdXNlLW5pZ2h0LWxpZ2h0QHRpam5zY2h1dXJtYW5zLm5sIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "disableworkspaceanim@owilliams.mixxx.org", "name": "Disable Workspace Switch Animation", "pname": "disable-workspace-switch-animation", "description": "Makes switching between workspaces instant without disabling other animations", "link": "https://extensions.gnome.org/extension/1328/disable-workspace-switch-animation/", "shell_version_map": {"38": {"version": "4", "sha256": "0yy5yddzaswfl5yv19layls3g2nwfj47x5zg131f43y7abgp7z4l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHN3aXRjaGluZyBiZXR3ZWVuIHdvcmtzcGFjZXMgaW5zdGFudCB3aXRob3V0IGRpc2FibGluZyBvdGhlciBhbmltYXRpb25zIiwKICAibmFtZSI6ICJEaXNhYmxlIFdvcmtzcGFjZSBTd2l0Y2ggQW5pbWF0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImRpc2FibGV3b3Jrc3BhY2VhbmltQG93aWxsaWFtcy5taXh4eC5vcmciLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "5", "sha256": "1w7gxcgz5729vwfw3ih2ha4y3r07cgqh1kykqfnrhraqrjd4zvfc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHN3aXRjaGluZyBiZXR3ZWVuIHdvcmtzcGFjZXMgaW5zdGFudCB3aXRob3V0IGRpc2FibGluZyBvdGhlciBhbmltYXRpb25zIiwKICAibmFtZSI6ICJEaXNhYmxlIFdvcmtzcGFjZSBTd2l0Y2ggQW5pbWF0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZXdvcmtzcGFjZWFuaW1Ab3dpbGxpYW1zLm1peHh4Lm9yZyIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1w7gxcgz5729vwfw3ih2ha4y3r07cgqh1kykqfnrhraqrjd4zvfc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHN3aXRjaGluZyBiZXR3ZWVuIHdvcmtzcGFjZXMgaW5zdGFudCB3aXRob3V0IGRpc2FibGluZyBvdGhlciBhbmltYXRpb25zIiwKICAibmFtZSI6ICJEaXNhYmxlIFdvcmtzcGFjZSBTd2l0Y2ggQW5pbWF0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZXdvcmtzcGFjZWFuaW1Ab3dpbGxpYW1zLm1peHh4Lm9yZyIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "app-switcher_current_workspace_first@fawtytoo", "name": "App-Switcher Current Workspace First", "pname": "app-switcher-current-workspace-first", "description": "App-Switcher modification that sorts applications by current workspace first. It separates apps into 2 separate icons if the app also has windows on other workspaces.\n\nNOTE: The App Switcher is invoked by a keyboard shortcut which you can set in Gnome Settings > Navigation > Switch applications", "link": "https://extensions.gnome.org/extension/1329/app-switcher-current-workspace-first/", "shell_version_map": {"38": {"version": "13", "sha256": "0wjjk3fr5j3hkr4zk6wxhhilpylcz6jb830halyddf6b52ssjhyh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyBhcHBsaWNhdGlvbnMgYnkgY3VycmVudCB3b3Jrc3BhY2UgZmlyc3QuIEl0IHNlcGFyYXRlcyBhcHBzIGludG8gMiBzZXBhcmF0ZSBpY29ucyBpZiB0aGUgYXBwIGFsc28gaGFzIHdpbmRvd3Mgb24gb3RoZXIgd29ya3NwYWNlcy5cblxuTk9URTogVGhlIEFwcCBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIGFwcGxpY2F0aW9ucyIsCiAgIm5hbWUiOiAiQXBwLVN3aXRjaGVyIEN1cnJlbnQgV29ya3NwYWNlIEZpcnN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vQXBwLVN3aXRjaGVyLUN1cnJlbnQtV29ya3NwYWNlLUZpcnN0IiwKICAidXVpZCI6ICJhcHAtc3dpdGNoZXJfY3VycmVudF93b3Jrc3BhY2VfZmlyc3RAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "40": {"version": "13", "sha256": "0wjjk3fr5j3hkr4zk6wxhhilpylcz6jb830halyddf6b52ssjhyh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyBhcHBsaWNhdGlvbnMgYnkgY3VycmVudCB3b3Jrc3BhY2UgZmlyc3QuIEl0IHNlcGFyYXRlcyBhcHBzIGludG8gMiBzZXBhcmF0ZSBpY29ucyBpZiB0aGUgYXBwIGFsc28gaGFzIHdpbmRvd3Mgb24gb3RoZXIgd29ya3NwYWNlcy5cblxuTk9URTogVGhlIEFwcCBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIGFwcGxpY2F0aW9ucyIsCiAgIm5hbWUiOiAiQXBwLVN3aXRjaGVyIEN1cnJlbnQgV29ya3NwYWNlIEZpcnN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vQXBwLVN3aXRjaGVyLUN1cnJlbnQtV29ya3NwYWNlLUZpcnN0IiwKICAidXVpZCI6ICJhcHAtc3dpdGNoZXJfY3VycmVudF93b3Jrc3BhY2VfZmlyc3RAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "0wjjk3fr5j3hkr4zk6wxhhilpylcz6jb830halyddf6b52ssjhyh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyBhcHBsaWNhdGlvbnMgYnkgY3VycmVudCB3b3Jrc3BhY2UgZmlyc3QuIEl0IHNlcGFyYXRlcyBhcHBzIGludG8gMiBzZXBhcmF0ZSBpY29ucyBpZiB0aGUgYXBwIGFsc28gaGFzIHdpbmRvd3Mgb24gb3RoZXIgd29ya3NwYWNlcy5cblxuTk9URTogVGhlIEFwcCBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIGFwcGxpY2F0aW9ucyIsCiAgIm5hbWUiOiAiQXBwLVN3aXRjaGVyIEN1cnJlbnQgV29ya3NwYWNlIEZpcnN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vQXBwLVN3aXRjaGVyLUN1cnJlbnQtV29ya3NwYWNlLUZpcnN0IiwKICAidXVpZCI6ICJhcHAtc3dpdGNoZXJfY3VycmVudF93b3Jrc3BhY2VfZmlyc3RAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "42": {"version": "13", "sha256": "0wjjk3fr5j3hkr4zk6wxhhilpylcz6jb830halyddf6b52ssjhyh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyBhcHBsaWNhdGlvbnMgYnkgY3VycmVudCB3b3Jrc3BhY2UgZmlyc3QuIEl0IHNlcGFyYXRlcyBhcHBzIGludG8gMiBzZXBhcmF0ZSBpY29ucyBpZiB0aGUgYXBwIGFsc28gaGFzIHdpbmRvd3Mgb24gb3RoZXIgd29ya3NwYWNlcy5cblxuTk9URTogVGhlIEFwcCBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIGFwcGxpY2F0aW9ucyIsCiAgIm5hbWUiOiAiQXBwLVN3aXRjaGVyIEN1cnJlbnQgV29ya3NwYWNlIEZpcnN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vQXBwLVN3aXRjaGVyLUN1cnJlbnQtV29ya3NwYWNlLUZpcnN0IiwKICAidXVpZCI6ICJhcHAtc3dpdGNoZXJfY3VycmVudF93b3Jrc3BhY2VfZmlyc3RAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
 , {"uuid": "window-switcher_current_workspace_first@fawtytoo", "name": "Window-Switcher Current Workspace First", "pname": "window-switcher-current-workspace-first", "description": "Window-Switcher modification that sorts windows by current workspace first. The other windows are added according to their workspace.\n\nNOTE: The Window Switcher is invoked by a keyboard shortcut which you can set in Gnome Settings > Navigation > Switch windows", "link": "https://extensions.gnome.org/extension/1330/window-switcher-current-workspace-first/", "shell_version_map": {"38": {"version": "15", "sha256": "1fblvd5g8bsn4qmbnl2dyinh8l1v0p6yrc64ii9z3njy7ja79d7p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpbmRvdy1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyB3aW5kb3dzIGJ5IGN1cnJlbnQgd29ya3NwYWNlIGZpcnN0LiBUaGUgb3RoZXIgd2luZG93cyBhcmUgYWRkZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHdvcmtzcGFjZS5cblxuTk9URTogVGhlIFdpbmRvdyBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIHdpbmRvd3MiLAogICJuYW1lIjogIldpbmRvdy1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Zhd3R5dG9vL1dpbmRvdy1Td2l0Y2hlci1DdXJyZW50LVdvcmtzcGFjZS1GaXJzdCIsCiAgInV1aWQiOiAid2luZG93LXN3aXRjaGVyX2N1cnJlbnRfd29ya3NwYWNlX2ZpcnN0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "40": {"version": "15", "sha256": "1fblvd5g8bsn4qmbnl2dyinh8l1v0p6yrc64ii9z3njy7ja79d7p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpbmRvdy1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyB3aW5kb3dzIGJ5IGN1cnJlbnQgd29ya3NwYWNlIGZpcnN0LiBUaGUgb3RoZXIgd2luZG93cyBhcmUgYWRkZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHdvcmtzcGFjZS5cblxuTk9URTogVGhlIFdpbmRvdyBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIHdpbmRvd3MiLAogICJuYW1lIjogIldpbmRvdy1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Zhd3R5dG9vL1dpbmRvdy1Td2l0Y2hlci1DdXJyZW50LVdvcmtzcGFjZS1GaXJzdCIsCiAgInV1aWQiOiAid2luZG93LXN3aXRjaGVyX2N1cnJlbnRfd29ya3NwYWNlX2ZpcnN0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "41": {"version": "15", "sha256": "1fblvd5g8bsn4qmbnl2dyinh8l1v0p6yrc64ii9z3njy7ja79d7p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpbmRvdy1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyB3aW5kb3dzIGJ5IGN1cnJlbnQgd29ya3NwYWNlIGZpcnN0LiBUaGUgb3RoZXIgd2luZG93cyBhcmUgYWRkZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHdvcmtzcGFjZS5cblxuTk9URTogVGhlIFdpbmRvdyBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIHdpbmRvd3MiLAogICJuYW1lIjogIldpbmRvdy1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Zhd3R5dG9vL1dpbmRvdy1Td2l0Y2hlci1DdXJyZW50LVdvcmtzcGFjZS1GaXJzdCIsCiAgInV1aWQiOiAid2luZG93LXN3aXRjaGVyX2N1cnJlbnRfd29ya3NwYWNlX2ZpcnN0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "42": {"version": "15", "sha256": "1fblvd5g8bsn4qmbnl2dyinh8l1v0p6yrc64ii9z3njy7ja79d7p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpbmRvdy1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyB3aW5kb3dzIGJ5IGN1cnJlbnQgd29ya3NwYWNlIGZpcnN0LiBUaGUgb3RoZXIgd2luZG93cyBhcmUgYWRkZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHdvcmtzcGFjZS5cblxuTk9URTogVGhlIFdpbmRvdyBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIHdpbmRvd3MiLAogICJuYW1lIjogIldpbmRvdy1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Zhd3R5dG9vL1dpbmRvdy1Td2l0Y2hlci1DdXJyZW50LVdvcmtzcGFjZS1GaXJzdCIsCiAgInV1aWQiOiAid2luZG93LXN3aXRjaGVyX2N1cnJlbnRfd29ya3NwYWNlX2ZpcnN0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
-, {"uuid": "run-or-raise@edvard.cz", "name": "Run or raise", "pname": "run-or-raise", "description": "Launch or focus the window or define custom shortcuts in a text file", "link": "https://extensions.gnome.org/extension/1336/run-or-raise/", "shell_version_map": {"38": {"version": "17", "sha256": "0gy12njkdz697zc8mnwj453r6806rq11c300wv47xxaqd5mhiz9j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAiZGlzYWJsZS1leHRlbnNpb24tdmVyc2lvbi12YWxpZGF0aW9uIjogdHJ1ZSwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzYiLAogICAgIjMuMzguMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NaLU5JQy9ydW4tb3ItcmFpc2UiLAogICJ1dWlkIjogInJ1bi1vci1yYWlzZUBlZHZhcmQuY3oiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "23", "sha256": "0krj6yj68mqdjxr6zrdr9s8xyqcyf2c82xcnnddb2w42rcmq7n75", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAiZGlzYWJsZS1leHRlbnNpb24tdmVyc2lvbi12YWxpZGF0aW9uIjogdHJ1ZSwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ1otTklDL3J1bi1vci1yYWlzZSIsCiAgInV1aWQiOiAicnVuLW9yLXJhaXNlQGVkdmFyZC5jeiIsCiAgInZlcnNpb24iOiAyMwp9"}, "41": {"version": "23", "sha256": "0krj6yj68mqdjxr6zrdr9s8xyqcyf2c82xcnnddb2w42rcmq7n75", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAiZGlzYWJsZS1leHRlbnNpb24tdmVyc2lvbi12YWxpZGF0aW9uIjogdHJ1ZSwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ1otTklDL3J1bi1vci1yYWlzZSIsCiAgInV1aWQiOiAicnVuLW9yLXJhaXNlQGVkdmFyZC5jeiIsCiAgInZlcnNpb24iOiAyMwp9"}, "42": {"version": "23", "sha256": "0krj6yj68mqdjxr6zrdr9s8xyqcyf2c82xcnnddb2w42rcmq7n75", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAiZGlzYWJsZS1leHRlbnNpb24tdmVyc2lvbi12YWxpZGF0aW9uIjogdHJ1ZSwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ1otTklDL3J1bi1vci1yYWlzZSIsCiAgInV1aWQiOiAicnVuLW9yLXJhaXNlQGVkdmFyZC5jeiIsCiAgInZlcnNpb24iOiAyMwp9"}}}
+, {"uuid": "run-or-raise@edvard.cz", "name": "Run or raise", "pname": "run-or-raise", "description": "Launch or focus the window or define custom shortcuts in a text file", "link": "https://extensions.gnome.org/extension/1336/run-or-raise/", "shell_version_map": {"38": {"version": "17", "sha256": "0gy12njkdz697zc8mnwj453r6806rq11c300wv47xxaqd5mhiz9j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAiZGlzYWJsZS1leHRlbnNpb24tdmVyc2lvbi12YWxpZGF0aW9uIjogdHJ1ZSwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzYiLAogICAgIjMuMzguMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NaLU5JQy9ydW4tb3ItcmFpc2UiLAogICJ1dWlkIjogInJ1bi1vci1yYWlzZUBlZHZhcmQuY3oiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "25", "sha256": "1r4jh72ypd34wn59fjd3v9p6mgfdis20rk1nc513rarf3n3zvnnf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAiZGlzYWJsZS1leHRlbnNpb24tdmVyc2lvbi12YWxpZGF0aW9uIjogdHJ1ZSwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ1otTklDL3J1bi1vci1yYWlzZSIsCiAgInV1aWQiOiAicnVuLW9yLXJhaXNlQGVkdmFyZC5jeiIsCiAgInZlcnNpb24iOiAyNQp9"}, "41": {"version": "25", "sha256": "1r4jh72ypd34wn59fjd3v9p6mgfdis20rk1nc513rarf3n3zvnnf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAiZGlzYWJsZS1leHRlbnNpb24tdmVyc2lvbi12YWxpZGF0aW9uIjogdHJ1ZSwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ1otTklDL3J1bi1vci1yYWlzZSIsCiAgInV1aWQiOiAicnVuLW9yLXJhaXNlQGVkdmFyZC5jeiIsCiAgInZlcnNpb24iOiAyNQp9"}, "42": {"version": "25", "sha256": "1r4jh72ypd34wn59fjd3v9p6mgfdis20rk1nc513rarf3n3zvnnf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAiZGlzYWJsZS1leHRlbnNpb24tdmVyc2lvbi12YWxpZGF0aW9uIjogdHJ1ZSwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ1otTklDL3J1bi1vci1yYWlzZSIsCiAgInV1aWQiOiAicnVuLW9yLXJhaXNlQGVkdmFyZC5jeiIsCiAgInZlcnNpb24iOiAyNQp9"}}}
 , {"uuid": "show_applications_instead_of_overview@fawtytoo", "name": "Show Applications Instead Of Workspaces", "pname": "show-applications-instead-of-overview", "description": "The Overview will show Applications instead of Workspaces when invoked.", "link": "https://extensions.gnome.org/extension/1337/show-applications-instead-of-overview/", "shell_version_map": {"38": {"version": "8", "sha256": "0dj704fq6g8jfl13gkfljyq360s6in77vd61w8ds8azysarmaww3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBPdmVydmlldyB3aWxsIHNob3cgQXBwbGljYXRpb25zIGluc3RlYWQgb2YgV29ya3NwYWNlcyB3aGVuIGludm9rZWQuIiwKICAibmFtZSI6ICJTaG93IEFwcGxpY2F0aW9ucyBJbnN0ZWFkIE9mIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic2hvd19hcHBsaWNhdGlvbnNfaW5zdGVhZF9vZl9vdmVydmlld0BmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "8", "sha256": "0dj704fq6g8jfl13gkfljyq360s6in77vd61w8ds8azysarmaww3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBPdmVydmlldyB3aWxsIHNob3cgQXBwbGljYXRpb25zIGluc3RlYWQgb2YgV29ya3NwYWNlcyB3aGVuIGludm9rZWQuIiwKICAibmFtZSI6ICJTaG93IEFwcGxpY2F0aW9ucyBJbnN0ZWFkIE9mIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic2hvd19hcHBsaWNhdGlvbnNfaW5zdGVhZF9vZl9vdmVydmlld0BmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "0dj704fq6g8jfl13gkfljyq360s6in77vd61w8ds8azysarmaww3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBPdmVydmlldyB3aWxsIHNob3cgQXBwbGljYXRpb25zIGluc3RlYWQgb2YgV29ya3NwYWNlcyB3aGVuIGludm9rZWQuIiwKICAibmFtZSI6ICJTaG93IEFwcGxpY2F0aW9ucyBJbnN0ZWFkIE9mIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic2hvd19hcHBsaWNhdGlvbnNfaW5zdGVhZF9vZl9vdmVydmlld0BmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA4Cn0="}, "42": {"version": "8", "sha256": "0dj704fq6g8jfl13gkfljyq360s6in77vd61w8ds8azysarmaww3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBPdmVydmlldyB3aWxsIHNob3cgQXBwbGljYXRpb25zIGluc3RlYWQgb2YgV29ya3NwYWNlcyB3aGVuIGludm9rZWQuIiwKICAibmFtZSI6ICJTaG93IEFwcGxpY2F0aW9ucyBJbnN0ZWFkIE9mIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic2hvd19hcHBsaWNhdGlvbnNfaW5zdGVhZF9vZl9vdmVydmlld0BmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"uuid": "hplip-menu@grizzlysmit.smit.id.au", "name": "Alternate Menu for Hplip", "pname": "hplip-menu", "description": "control your hp printers by calling the device manager hp-toolbox, also some useful links\nMotivation: the hp-systray doesn't work reliably under gnome shell\nyou need to have installed hplip in order to use this\nChoice of using a printer icon or a hp_logo.png if it's installed in the same place as mine on Ubuntu\nyou could use symbolic links to fake the path.", "link": "https://extensions.gnome.org/extension/1339/hplip-menu/", "shell_version_map": {"38": {"version": "11", "sha256": "1754xb6mn0jbkizm79kyjwbhyf1yld0jw8blddia9fn4s223j2rs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLiIsCiAgIm5hbWUiOiAiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhwbGlwLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzguMSIsCiAgICAiMy4zOC4yIiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImhwbGlwLW1lbnVAZ3JpenpseXNtaXQuc21pdC5pZC5hdSIsCiAgInZlcnNpb24iOiAxMQp9"}, "40": {"version": "11", "sha256": "1754xb6mn0jbkizm79kyjwbhyf1yld0jw8blddia9fn4s223j2rs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLiIsCiAgIm5hbWUiOiAiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhwbGlwLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzguMSIsCiAgICAiMy4zOC4yIiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImhwbGlwLW1lbnVAZ3JpenpseXNtaXQuc21pdC5pZC5hdSIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "notes@maestroschan.fr", "name": "Notes", "pname": "notes", "description": "Sticky notes for the GNOME Shell desktop.", "link": "https://extensions.gnome.org/extension/1357/notes/", "shell_version_map": {"38": {"version": "22", "sha256": "0svx60711cphswiigd1sswczk17cjxr7gr3davk4krkhya04llp1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0aWNreSBub3RlcyBmb3IgdGhlIEdOT01FIFNoZWxsIGRlc2t0b3AuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90ZXMtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJOb3RlcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3Rlcy1leHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovbm90ZXMtZXh0ZW5zaW9uLWdub21lIiwKICAidXVpZCI6ICJub3Rlc0BtYWVzdHJvc2NoYW4uZnIiLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
@@ -180,41 +181,42 @@
 , {"uuid": "bluetooth-quick-connect@bjarosze.gmail.com", "name": "Bluetooth Quick Connect", "pname": "bluetooth-quick-connect", "description": "Allow to connect to paired devices from gnome control panel.\n", "link": "https://extensions.gnome.org/extension/1401/bluetooth-quick-connect/", "shell_version_map": {"38": {"version": "16", "sha256": "1fkx12xx1m8pchyfvq0vmyd21m79s9s0jw4ackqg1nqcpwyqd1c3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmphcm9zemUvZ25vbWUtYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogImJsdWV0b290aC1xdWljay1jb25uZWN0QGJqYXJvc3plLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"}, "40": {"version": "29", "sha256": "0nb8glzh9gn8i22rmnv74gxyky6pbj67h4dcql92saqj3wa4bkpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmphcm9zemUvZ25vbWUtYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogImJsdWV0b290aC1xdWljay1jb25uZWN0QGJqYXJvc3plLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOQp9"}, "41": {"version": "29", "sha256": "0nb8glzh9gn8i22rmnv74gxyky6pbj67h4dcql92saqj3wa4bkpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmphcm9zemUvZ25vbWUtYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogImJsdWV0b290aC1xdWljay1jb25uZWN0QGJqYXJvc3plLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOQp9"}, "42": {"version": "29", "sha256": "0nb8glzh9gn8i22rmnv74gxyky6pbj67h4dcql92saqj3wa4bkpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmphcm9zemUvZ25vbWUtYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogImJsdWV0b290aC1xdWljay1jb25uZWN0QGJqYXJvc3plLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOQp9"}}}
 , {"uuid": "syspeek-gs@gs.eros2.info", "name": "SysPeek-GS", "pname": "syspeek-gs", "description": "Minimalistic CPU load monitor widget inspired by SysPeek indicator", "link": "https://extensions.gnome.org/extension/1409/syspeek-gs/", "shell_version_map": {"38": {"version": "10", "sha256": "1hv65wfhd24i773pngr4s5if9n0ailb1lmn9dk01b93nhcxdbynf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltYWxpc3RpYyBDUFUgbG9hZCBtb25pdG9yIHdpZGdldCBpbnNwaXJlZCBieSBTeXNQZWVrIGluZGljYXRvciIsCiAgIm5hbWUiOiAiU3lzUGVlay1HUyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V1Z2VuZS1yb20vc3lzcGVlay1ncyIsCiAgInV1aWQiOiAic3lzcGVlay1nc0Bncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "10", "sha256": "1hv65wfhd24i773pngr4s5if9n0ailb1lmn9dk01b93nhcxdbynf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltYWxpc3RpYyBDUFUgbG9hZCBtb25pdG9yIHdpZGdldCBpbnNwaXJlZCBieSBTeXNQZWVrIGluZGljYXRvciIsCiAgIm5hbWUiOiAiU3lzUGVlay1HUyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V1Z2VuZS1yb20vc3lzcGVlay1ncyIsCiAgInV1aWQiOiAic3lzcGVlay1nc0Bncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "1hv65wfhd24i773pngr4s5if9n0ailb1lmn9dk01b93nhcxdbynf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltYWxpc3RpYyBDUFUgbG9hZCBtb25pdG9yIHdpZGdldCBpbnNwaXJlZCBieSBTeXNQZWVrIGluZGljYXRvciIsCiAgIm5hbWUiOiAiU3lzUGVlay1HUyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V1Z2VuZS1yb20vc3lzcGVlay1ncyIsCiAgInV1aWQiOiAic3lzcGVlay1nc0Bncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "1hv65wfhd24i773pngr4s5if9n0ailb1lmn9dk01b93nhcxdbynf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltYWxpc3RpYyBDUFUgbG9hZCBtb25pdG9yIHdpZGdldCBpbnNwaXJlZCBieSBTeXNQZWVrIGluZGljYXRvciIsCiAgIm5hbWUiOiAiU3lzUGVlay1HUyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V1Z2VuZS1yb20vc3lzcGVlay1ncyIsCiAgInV1aWQiOiAic3lzcGVlay1nc0Bncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "discrete-brightness@gs.eros2.info", "name": "Discrete brightness", "pname": "discrete-brightness", "description": "Discrete brightness indicator change brightness in discrete steps, unlike default smooth brightness bar in Gnome Shell", "link": "https://extensions.gnome.org/extension/1410/discrete-brightness/", "shell_version_map": {"38": {"version": "7", "sha256": "0kn8c4zm9d7n56qg5wmj8q3cqqhrzd2h2jj6r7x718gyv84m14mv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2NyZXRlIGJyaWdodG5lc3MgaW5kaWNhdG9yIGNoYW5nZSBicmlnaHRuZXNzIGluIGRpc2NyZXRlIHN0ZXBzLCB1bmxpa2UgZGVmYXVsdCBzbW9vdGggYnJpZ2h0bmVzcyBiYXIgaW4gR25vbWUgU2hlbGwiLAogICJuYW1lIjogIkRpc2NyZXRlIGJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldWdlbmUtcm9tL2Rpc2NyZXRlLWJyaWdodG5lc3MiLAogICJ1dWlkIjogImRpc2NyZXRlLWJyaWdodG5lc3NAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "0kn8c4zm9d7n56qg5wmj8q3cqqhrzd2h2jj6r7x718gyv84m14mv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2NyZXRlIGJyaWdodG5lc3MgaW5kaWNhdG9yIGNoYW5nZSBicmlnaHRuZXNzIGluIGRpc2NyZXRlIHN0ZXBzLCB1bmxpa2UgZGVmYXVsdCBzbW9vdGggYnJpZ2h0bmVzcyBiYXIgaW4gR25vbWUgU2hlbGwiLAogICJuYW1lIjogIkRpc2NyZXRlIGJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldWdlbmUtcm9tL2Rpc2NyZXRlLWJyaWdodG5lc3MiLAogICJ1dWlkIjogImRpc2NyZXRlLWJyaWdodG5lc3NAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "0kn8c4zm9d7n56qg5wmj8q3cqqhrzd2h2jj6r7x718gyv84m14mv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2NyZXRlIGJyaWdodG5lc3MgaW5kaWNhdG9yIGNoYW5nZSBicmlnaHRuZXNzIGluIGRpc2NyZXRlIHN0ZXBzLCB1bmxpa2UgZGVmYXVsdCBzbW9vdGggYnJpZ2h0bmVzcyBiYXIgaW4gR25vbWUgU2hlbGwiLAogICJuYW1lIjogIkRpc2NyZXRlIGJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldWdlbmUtcm9tL2Rpc2NyZXRlLWJyaWdodG5lc3MiLAogICJ1dWlkIjogImRpc2NyZXRlLWJyaWdodG5lc3NAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "42": {"version": "7", "sha256": "0kn8c4zm9d7n56qg5wmj8q3cqqhrzd2h2jj6r7x718gyv84m14mv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2NyZXRlIGJyaWdodG5lc3MgaW5kaWNhdG9yIGNoYW5nZSBicmlnaHRuZXNzIGluIGRpc2NyZXRlIHN0ZXBzLCB1bmxpa2UgZGVmYXVsdCBzbW9vdGggYnJpZ2h0bmVzcyBiYXIgaW4gR25vbWUgU2hlbGwiLAogICJuYW1lIjogIkRpc2NyZXRlIGJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldWdlbmUtcm9tL2Rpc2NyZXRlLWJyaWdodG5lc3MiLAogICJ1dWlkIjogImRpc2NyZXRlLWJyaWdodG5lc3NAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
-, {"uuid": "quake-mode@repsac-by.github.com", "name": "quake-mode", "pname": "quake-mode", "description": "Drop-down mode for any application", "link": "https://extensions.gnome.org/extension/1411/quake-mode/", "shell_version_map": {"38": {"version": "3", "sha256": "17498v2jw85fhrsldvgnj3x01h00wqarsp9zqp6ym4h7syzbjxrw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJuYW1lIjogInF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yZXBzYWMtYnkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXF1YWtlLW1vZGUiLAogICJ1dWlkIjogInF1YWtlLW1vZGVAcmVwc2FjLWJ5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "6", "sha256": "1gfdlm7l7fj592pq1zwaxgkl5hhg4w37jh590qi24xgwa81c8hvd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJxdWFrZS1tb2RlQHJlcHNhYy1ieS5naXRodWIuY29tIiwKICAibmFtZSI6ICJxdWFrZS1tb2RlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIucmVwc2FjLWJ5LnF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yZXBzYWMtYnkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXF1YWtlLW1vZGUiLAogICJ1dWlkIjogInF1YWtlLW1vZGVAcmVwc2FjLWJ5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "1gfdlm7l7fj592pq1zwaxgkl5hhg4w37jh590qi24xgwa81c8hvd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJxdWFrZS1tb2RlQHJlcHNhYy1ieS5naXRodWIuY29tIiwKICAibmFtZSI6ICJxdWFrZS1tb2RlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIucmVwc2FjLWJ5LnF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yZXBzYWMtYnkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXF1YWtlLW1vZGUiLAogICJ1dWlkIjogInF1YWtlLW1vZGVAcmVwc2FjLWJ5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "1gfdlm7l7fj592pq1zwaxgkl5hhg4w37jh590qi24xgwa81c8hvd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJxdWFrZS1tb2RlQHJlcHNhYy1ieS5naXRodWIuY29tIiwKICAibmFtZSI6ICJxdWFrZS1tb2RlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIucmVwc2FjLWJ5LnF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yZXBzYWMtYnkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXF1YWtlLW1vZGUiLAogICJ1dWlkIjogInF1YWtlLW1vZGVAcmVwc2FjLWJ5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"uuid": "quake-mode@repsac-by.github.com", "name": "quake-mode", "pname": "quake-mode", "description": "Drop-down mode for any application", "link": "https://extensions.gnome.org/extension/1411/quake-mode/", "shell_version_map": {"38": {"version": "3", "sha256": "17498v2jw85fhrsldvgnj3x01h00wqarsp9zqp6ym4h7syzbjxrw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJuYW1lIjogInF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yZXBzYWMtYnkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXF1YWtlLW1vZGUiLAogICJ1dWlkIjogInF1YWtlLW1vZGVAcmVwc2FjLWJ5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "7", "sha256": "04crfzkw1dl52v899axpx7igkhdk0v1b0jrhagd9hvqbcxz9zgiy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJxdWFrZS1tb2RlQHJlcHNhYy1ieS5naXRodWIuY29tIiwKICAibmFtZSI6ICJxdWFrZS1tb2RlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIucmVwc2FjLWJ5LnF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yZXBzYWMtYnkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXF1YWtlLW1vZGUiLAogICJ1dWlkIjogInF1YWtlLW1vZGVAcmVwc2FjLWJ5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "04crfzkw1dl52v899axpx7igkhdk0v1b0jrhagd9hvqbcxz9zgiy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJxdWFrZS1tb2RlQHJlcHNhYy1ieS5naXRodWIuY29tIiwKICAibmFtZSI6ICJxdWFrZS1tb2RlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIucmVwc2FjLWJ5LnF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yZXBzYWMtYnkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXF1YWtlLW1vZGUiLAogICJ1dWlkIjogInF1YWtlLW1vZGVAcmVwc2FjLWJ5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "42": {"version": "7", "sha256": "04crfzkw1dl52v899axpx7igkhdk0v1b0jrhagd9hvqbcxz9zgiy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJxdWFrZS1tb2RlQHJlcHNhYy1ieS5naXRodWIuY29tIiwKICAibmFtZSI6ICJxdWFrZS1tb2RlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIucmVwc2FjLWJ5LnF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yZXBzYWMtYnkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXF1YWtlLW1vZGUiLAogICJ1dWlkIjogInF1YWtlLW1vZGVAcmVwc2FjLWJ5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "unblank@sun.wxg@gmail.com", "name": "Unblank lock screen", "pname": "unblank", "description": "Unblank lock screen.", "link": "https://extensions.gnome.org/extension/1414/unblank/", "shell_version_map": {"38": {"version": "20", "sha256": "0fb2vbjgl93a0maw9wxw1x47ndfg40gf087rmfk7lgxr8b6vp9si", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5ibGFuayIsCiAgInV1aWQiOiAidW5ibGFua0BzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "22", "sha256": "1kb7l1q7dvz5z5xrmhgm48jabblh81n8cm34ck711psy4rv1ljy2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuYmxhbmsiLAogICJ1dWlkIjogInVuYmxhbmtAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "41": {"version": "27", "sha256": "10g526zajd9ispj0cgjqrvl7g6zlfpvfmadh1b86qarllaqs060m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi11bmJsYW5rIiwKICAidXVpZCI6ICJ1bmJsYW5rQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "42": {"version": "27", "sha256": "10g526zajd9ispj0cgjqrvl7g6zlfpvfmadh1b86qarllaqs060m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi11bmJsYW5rIiwKICAidXVpZCI6ICJ1bmJsYW5rQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="}}}
 , {"uuid": "vbox-applet@gs.eros2.info", "name": "VirtualBox applet", "pname": "virtualbox-applet", "description": "Provide menu to run VirtualBox machines and switch between running VMs", "link": "https://extensions.gnome.org/extension/1415/virtualbox-applet/", "shell_version_map": {"38": {"version": "11", "sha256": "0sw84xiz1r2i0iza76ybywd9mcw0npgls08hzms4kl4fpbd1g3ym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgbWVudSB0byBydW4gVmlydHVhbEJveCBtYWNoaW5lcyBhbmQgc3dpdGNoIGJldHdlZW4gcnVubmluZyBWTXMiLAogICJuYW1lIjogIlZpcnR1YWxCb3ggYXBwbGV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZib3gtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXVnZW5lLXJvbS92Ym94LWFwcGxldCIsCiAgInV1aWQiOiAidmJveC1hcHBsZXRAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiAxMQp9"}, "40": {"version": "11", "sha256": "0sw84xiz1r2i0iza76ybywd9mcw0npgls08hzms4kl4fpbd1g3ym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgbWVudSB0byBydW4gVmlydHVhbEJveCBtYWNoaW5lcyBhbmQgc3dpdGNoIGJldHdlZW4gcnVubmluZyBWTXMiLAogICJuYW1lIjogIlZpcnR1YWxCb3ggYXBwbGV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZib3gtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXVnZW5lLXJvbS92Ym94LWFwcGxldCIsCiAgInV1aWQiOiAidmJveC1hcHBsZXRAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "0sw84xiz1r2i0iza76ybywd9mcw0npgls08hzms4kl4fpbd1g3ym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgbWVudSB0byBydW4gVmlydHVhbEJveCBtYWNoaW5lcyBhbmQgc3dpdGNoIGJldHdlZW4gcnVubmluZyBWTXMiLAogICJuYW1lIjogIlZpcnR1YWxCb3ggYXBwbGV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZib3gtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXVnZW5lLXJvbS92Ym94LWFwcGxldCIsCiAgInV1aWQiOiAidmJveC1hcHBsZXRAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiAxMQp9"}, "42": {"version": "11", "sha256": "0sw84xiz1r2i0iza76ybywd9mcw0npgls08hzms4kl4fpbd1g3ym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgbWVudSB0byBydW4gVmlydHVhbEJveCBtYWNoaW5lcyBhbmQgc3dpdGNoIGJldHdlZW4gcnVubmluZyBWTXMiLAogICJuYW1lIjogIlZpcnR1YWxCb3ggYXBwbGV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZib3gtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXVnZW5lLXJvbS92Ym94LWFwcGxldCIsCiAgInV1aWQiOiAidmJveC1hcHBsZXRAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiAxMQp9"}}}
-, {"uuid": "stocks@infinicode.de", "name": "Stocks Extension", "pname": "stocks-extension", "description": "Stocks Extension brings stock quotes to your GNOME Shell Panel", "link": "https://extensions.gnome.org/extension/1422/stocks-extension/", "shell_version_map": {"38": {"version": "19", "sha256": "1414cksayqpv0w0q632yi33ifqlwyfggwf684aci6qj81fs644y2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0b2NrcyBFeHRlbnNpb24gYnJpbmdzIHN0b2NrIHF1b3RlcyB0byB5b3VyIEdOT01FIFNoZWxsIFBhbmVsIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJTdG9ja3MgRXh0ZW5zaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvc3RvY2tzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RvY2tzQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "40": {"version": "19", "sha256": "1414cksayqpv0w0q632yi33ifqlwyfggwf684aci6qj81fs644y2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0b2NrcyBFeHRlbnNpb24gYnJpbmdzIHN0b2NrIHF1b3RlcyB0byB5b3VyIEdOT01FIFNoZWxsIFBhbmVsIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJTdG9ja3MgRXh0ZW5zaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvc3RvY2tzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RvY2tzQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
+, {"uuid": "stocks@infinicode.de", "name": "Stocks Extension", "pname": "stocks-extension", "description": "Stocks Extension brings stock quotes to your GNOME Shell Panel", "link": "https://extensions.gnome.org/extension/1422/stocks-extension/", "shell_version_map": {"38": {"version": "19", "sha256": "1414cksayqpv0w0q632yi33ifqlwyfggwf684aci6qj81fs644y2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0b2NrcyBFeHRlbnNpb24gYnJpbmdzIHN0b2NrIHF1b3RlcyB0byB5b3VyIEdOT01FIFNoZWxsIFBhbmVsIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJTdG9ja3MgRXh0ZW5zaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvc3RvY2tzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RvY2tzQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "40": {"version": "19", "sha256": "1414cksayqpv0w0q632yi33ifqlwyfggwf684aci6qj81fs644y2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0b2NrcyBFeHRlbnNpb24gYnJpbmdzIHN0b2NrIHF1b3RlcyB0byB5b3VyIEdOT01FIFNoZWxsIFBhbmVsIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJTdG9ja3MgRXh0ZW5zaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvc3RvY2tzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RvY2tzQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "42": {"version": "24", "sha256": "18d34l47mf4v04kd0vx8ljyfwlrr9jjygi5hl526v1bddyz8xy5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0b2NrcyBFeHRlbnNpb24gYnJpbmdzIHN0b2NrIHF1b3RlcyB0byB5b3VyIEdOT01FIFNoZWxsIFBhbmVsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3RvY2tzQGluZmluaWNvZGUuZGUiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlN0b2NrcyBFeHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RvY2tzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvc3RvY2tzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RvY2tzQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogMjQKfQ=="}}}
 , {"uuid": "showtime@xenlism.github.io", "name": "Showtime  - Desktop Widget", "pname": "showtime", "description": "Date &amp;amp;amp;amp;amp;amp;amp; Clock Desktop Widget\n\nMove Widget by Press Super + Drag Widget\nhttps://github.com/xenlism/showtime", "link": "https://extensions.gnome.org/extension/1429/showtime/", "shell_version_map": {"38": {"version": "4", "sha256": "12k6spjhg2ykgh5x3mily0dps450pyj9vyv1bay5w919y9swplaf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRhdGUgJmFtcDthbXA7YW1wO2FtcDthbXA7YW1wO2FtcDsgQ2xvY2sgRGVza3RvcCBXaWRnZXRcblxuTW92ZSBXaWRnZXQgYnkgUHJlc3MgU3VwZXIgKyBEcmFnIFdpZGdldFxuaHR0cHM6Ly9naXRodWIuY29tL3hlbmxpc20vc2hvd3RpbWUiLAogICJuYW1lIjogIlNob3d0aW1lICAtIERlc2t0b3AgV2lkZ2V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNob3d0aW1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veGVubGlzbS9zaG93dGltZSIsCiAgInV1aWQiOiAic2hvd3RpbWVAeGVubGlzbS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "5", "sha256": "0p10as2k6lkh3vj5860hvmj98by18ih8r2k7y36iqrxqpl3s8fd4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRhdGUgJmFtcDthbXA7YW1wO2FtcDthbXA7YW1wO2FtcDsgQ2xvY2sgRGVza3RvcCBXaWRnZXRcblxuTW92ZSBXaWRnZXQgYnkgUHJlc3MgU3VwZXIgKyBEcmFnIFdpZGdldFxuaHR0cHM6Ly9naXRodWIuY29tL3hlbmxpc20vc2hvd3RpbWUiLAogICJuYW1lIjogIlNob3d0aW1lICAtIERlc2t0b3AgV2lkZ2V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNob3d0aW1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hlbmxpc20vc2hvd3RpbWUiLAogICJ1dWlkIjogInNob3d0aW1lQHhlbmxpc20uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "Current_screen_only_for_Alternate_Tab@bourcereau.fr", "name": "Current screen only on window switcher", "pname": "current-screen-only-for-alternate-tab", "description": "Limits the windows shown on the switcher to those of the current monitor", "link": "https://extensions.gnome.org/extension/1437/current-screen-only-for-alternate-tab/", "shell_version_map": {"40": {"version": "9", "sha256": "1808015iaci5pknzdcgh0icakxd2wmina10winii7hf644gxjcdd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpbWl0cyB0aGUgd2luZG93cyBzaG93biBvbiB0aGUgc3dpdGNoZXIgdG8gdGhvc2Ugb2YgdGhlIGN1cnJlbnQgbW9uaXRvciIsCiAgIm5hbWUiOiAiQ3VycmVudCBzY3JlZW4gb25seSBvbiB3aW5kb3cgc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tbWFpL0N1cnJlbnRfc2NyZWVuX29ubHlfb25fd2luZG93X3N3aXRjaGVyIiwKICAidXVpZCI6ICJDdXJyZW50X3NjcmVlbl9vbmx5X2Zvcl9BbHRlcm5hdGVfVGFiQGJvdXJjZXJlYXUuZnIiLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "1808015iaci5pknzdcgh0icakxd2wmina10winii7hf644gxjcdd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpbWl0cyB0aGUgd2luZG93cyBzaG93biBvbiB0aGUgc3dpdGNoZXIgdG8gdGhvc2Ugb2YgdGhlIGN1cnJlbnQgbW9uaXRvciIsCiAgIm5hbWUiOiAiQ3VycmVudCBzY3JlZW4gb25seSBvbiB3aW5kb3cgc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tbWFpL0N1cnJlbnRfc2NyZWVuX29ubHlfb25fd2luZG93X3N3aXRjaGVyIiwKICAidXVpZCI6ICJDdXJyZW50X3NjcmVlbl9vbmx5X2Zvcl9BbHRlcm5hdGVfVGFiQGJvdXJjZXJlYXUuZnIiLAogICJ2ZXJzaW9uIjogOQp9"}, "42": {"version": "9", "sha256": "1808015iaci5pknzdcgh0icakxd2wmina10winii7hf644gxjcdd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpbWl0cyB0aGUgd2luZG93cyBzaG93biBvbiB0aGUgc3dpdGNoZXIgdG8gdGhvc2Ugb2YgdGhlIGN1cnJlbnQgbW9uaXRvciIsCiAgIm5hbWUiOiAiQ3VycmVudCBzY3JlZW4gb25seSBvbiB3aW5kb3cgc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tbWFpL0N1cnJlbnRfc2NyZWVuX29ubHlfb25fd2luZG93X3N3aXRjaGVyIiwKICAidXVpZCI6ICJDdXJyZW50X3NjcmVlbl9vbmx5X2Zvcl9BbHRlcm5hdGVfVGFiQGJvdXJjZXJlYXUuZnIiLAogICJ2ZXJzaW9uIjogOQp9"}}}
-, {"uuid": "kube_config@vvbogdanov87.gmail.com", "name": "Kube Config", "pname": "kube-config", "description": "Switches kube config context", "link": "https://extensions.gnome.org/extension/1442/kube-config/", "shell_version_map": {"40": {"version": "14", "sha256": "125gbiim4d3kpycjncvqmxqgz3i1c15kkyx2rmgkc2wpzx0gyc6i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92dmJvZ2Rhbm92ODcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWt1YmVjb25maWciLAogICJ1dWlkIjogImt1YmVfY29uZmlnQHZ2Ym9nZGFub3Y4Ny5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "125gbiim4d3kpycjncvqmxqgz3i1c15kkyx2rmgkc2wpzx0gyc6i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92dmJvZ2Rhbm92ODcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWt1YmVjb25maWciLAogICJ1dWlkIjogImt1YmVfY29uZmlnQHZ2Ym9nZGFub3Y4Ny5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
+, {"uuid": "kube_config@vvbogdanov87.gmail.com", "name": "Kube Config", "pname": "kube-config", "description": "Switches kube config context", "link": "https://extensions.gnome.org/extension/1442/kube-config/", "shell_version_map": {"40": {"version": "15", "sha256": "13fcxxj49cr4dagcwqcvqhc604xiq8cx59ngy853l85ldvlr83q0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnZib2dkYW5vdjg3L2dub21lLXNoZWxsLWV4dGVuc2lvbi1rdWJlY29uZmlnIiwKICAidXVpZCI6ICJrdWJlX2NvbmZpZ0B2dmJvZ2Rhbm92ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "41": {"version": "15", "sha256": "13fcxxj49cr4dagcwqcvqhc604xiq8cx59ngy853l85ldvlr83q0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnZib2dkYW5vdjg3L2dub21lLXNoZWxsLWV4dGVuc2lvbi1rdWJlY29uZmlnIiwKICAidXVpZCI6ICJrdWJlX2NvbmZpZ0B2dmJvZ2Rhbm92ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "42": {"version": "15", "sha256": "13fcxxj49cr4dagcwqcvqhc604xiq8cx59ngy853l85ldvlr83q0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnZib2dkYW5vdjg3L2dub21lLXNoZWxsLWV4dGVuc2lvbi1rdWJlY29uZmlnIiwKICAidXVpZCI6ICJrdWJlX2NvbmZpZ0B2dmJvZ2Rhbm92ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
 , {"uuid": "transparent-window-moving@noobsai.github.com", "name": "Transparent Window Moving", "pname": "transparent-window-moving", "description": "Makes the window semi-transparent when moving or resizing", "link": "https://extensions.gnome.org/extension/1446/transparent-window-moving/", "shell_version_map": {"38": {"version": "6", "sha256": "0vllnrscjaqx77wb44803q6n3wk590dxacjfsw7ympbgqhikzc0p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS90cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nQG5vb2JzYWkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "10", "sha256": "1cygayp1kaykm7ldsdbn6qpxi80ddipvlhl6i89sca33yrwisz3n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS90cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nQG5vb2JzYWkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "1cygayp1kaykm7ldsdbn6qpxi80ddipvlhl6i89sca33yrwisz3n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS90cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nQG5vb2JzYWkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}, "42": {"version": "10", "sha256": "1cygayp1kaykm7ldsdbn6qpxi80ddipvlhl6i89sca33yrwisz3n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS90cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nQG5vb2JzYWkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "transparent-window@pbxqdown.github.com", "name": "Transparent Window", "pname": "transparent-window", "description": "Change the opacity of windows by compiz-style shortcut Alt+scroll.\nYou can customize hotkey in Preference page if Alt key doesn't work.", "link": "https://extensions.gnome.org/extension/1454/transparent-window/", "shell_version_map": {"38": {"version": "7", "sha256": "09nhn8f7d8c1kp8hgw49y0d9165ckvgn6my339k0pzga02d277a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIsCiAgICAiMy4zOC40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGJ4cWRvd24vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXdpbmRvdyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93QHBieHFkb3duLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
-, {"uuid": "miniview@thesecretaryofwar.com", "name": "Miniview", "pname": "miniview", "description": "Shows a mini preview of another window (like picture-in-picture on a TV)\n- Left-mouse drag: move preview window\n- Right-mouse drag (or ctrl + left mouse drag): resize preview window\n- Scroll wheel: change target window\n- Double click: raise target window\n- Shift + F12: toggle preview window (this can be changed or disabled in preferences)\n- Ctrl + scroll wheel: adjust opacity", "link": "https://extensions.gnome.org/extension/1459/miniview/", "shell_version_map": {"38": {"version": "13", "sha256": "0nf2jxd9kvw7nzb992730xidg7kf4iywy8yr5mj9152bi2nmblz6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgbWluaSBwcmV2aWV3IG9mIGFub3RoZXIgd2luZG93IChsaWtlIHBpY3R1cmUtaW4tcGljdHVyZSBvbiBhIFRWKVxuLSBMZWZ0LW1vdXNlIGRyYWc6IG1vdmUgcHJldmlldyB3aW5kb3dcbi0gUmlnaHQtbW91c2UgZHJhZyAob3IgY3RybCArIGxlZnQgbW91c2UgZHJhZyk6IHJlc2l6ZSBwcmV2aWV3IHdpbmRvd1xuLSBTY3JvbGwgd2hlZWw6IGNoYW5nZSB0YXJnZXQgd2luZG93XG4tIERvdWJsZSBjbGljazogcmFpc2UgdGFyZ2V0IHdpbmRvd1xuLSBTaGlmdCArIEYxMjogdG9nZ2xlIHByZXZpZXcgd2luZG93ICh0aGlzIGNhbiBiZSBjaGFuZ2VkIG9yIGRpc2FibGVkIGluIHByZWZlcmVuY2VzKVxuLSBDdHJsICsgc2Nyb2xsIHdoZWVsOiBhZGp1c3Qgb3BhY2l0eSIsCiAgImV4dGVuc2lvbi1pZCI6ICJtaW5pdmlldyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIk1pbml2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aGVzZWNyZXRhcnlvZndhckBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pbml2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWFtbGVtZWMvbWluaXZpZXciLAogICJ1dWlkIjogIm1pbml2aWV3QHRoZXNlY3JldGFyeW9md2FyLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "12", "sha256": "0p26h4dgxja8iww5mjzxzwmr2fx0hz8wphxqal14xm83k1nsl4ih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgbWluaSBwcmV2aWV3IG9mIGFub3RoZXIgd2luZG93IChsaWtlIHBpY3R1cmUtaW4tcGljdHVyZSBvbiBhIFRWKVxuLSBMZWZ0LW1vdXNlIGRyYWc6IG1vdmUgcHJldmlldyB3aW5kb3dcbi0gUmlnaHQtbW91c2UgZHJhZyAob3IgY3RybCArIGxlZnQgbW91c2UgZHJhZyk6IHJlc2l6ZSBwcmV2aWV3IHdpbmRvd1xuLSBTY3JvbGwgd2hlZWw6IGNoYW5nZSB0YXJnZXQgd2luZG93XG4tIERvdWJsZSBjbGljazogcmFpc2UgdGFyZ2V0IHdpbmRvd1xuLSBTaGlmdCArIEYxMjogdG9nZ2xlIHByZXZpZXcgd2luZG93ICh0aGlzIGNhbiBiZSBjaGFuZ2VkIG9yIGRpc2FibGVkIGluIHByZWZlcmVuY2VzKVxuLSBDdHJsICsgc2Nyb2xsIHdoZWVsOiBhZGp1c3Qgb3BhY2l0eSIsCiAgImV4dGVuc2lvbi1pZCI6ICJtaW5pdmlldyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIk1pbml2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aGVzZWNyZXRhcnlvZndhckBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pbml2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC5hbHBoYSIsCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWFtbGVtZWMvbWluaXZpZXciLAogICJ1dWlkIjogIm1pbml2aWV3QHRoZXNlY3JldGFyeW9md2FyLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "0p26h4dgxja8iww5mjzxzwmr2fx0hz8wphxqal14xm83k1nsl4ih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgbWluaSBwcmV2aWV3IG9mIGFub3RoZXIgd2luZG93IChsaWtlIHBpY3R1cmUtaW4tcGljdHVyZSBvbiBhIFRWKVxuLSBMZWZ0LW1vdXNlIGRyYWc6IG1vdmUgcHJldmlldyB3aW5kb3dcbi0gUmlnaHQtbW91c2UgZHJhZyAob3IgY3RybCArIGxlZnQgbW91c2UgZHJhZyk6IHJlc2l6ZSBwcmV2aWV3IHdpbmRvd1xuLSBTY3JvbGwgd2hlZWw6IGNoYW5nZSB0YXJnZXQgd2luZG93XG4tIERvdWJsZSBjbGljazogcmFpc2UgdGFyZ2V0IHdpbmRvd1xuLSBTaGlmdCArIEYxMjogdG9nZ2xlIHByZXZpZXcgd2luZG93ICh0aGlzIGNhbiBiZSBjaGFuZ2VkIG9yIGRpc2FibGVkIGluIHByZWZlcmVuY2VzKVxuLSBDdHJsICsgc2Nyb2xsIHdoZWVsOiBhZGp1c3Qgb3BhY2l0eSIsCiAgImV4dGVuc2lvbi1pZCI6ICJtaW5pdmlldyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIk1pbml2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aGVzZWNyZXRhcnlvZndhckBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pbml2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC5hbHBoYSIsCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWFtbGVtZWMvbWluaXZpZXciLAogICJ1dWlkIjogIm1pbml2aWV3QHRoZXNlY3JldGFyeW9md2FyLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
-, {"uuid": "Vitals@CoreCoding.com", "name": "Vitals", "pname": "vitals", "description": "A glimpse into your computer's temperature, voltage, fan speed, memory usage, processor load, system resources, network speed and storage stats. This is a one stop shop to monitor all of your vital sensors. Uses asynchronous polling to provide a smooth user experience. Feature requests or bugs? Please use GitHub.", "link": "https://extensions.gnome.org/extension/1460/vitals/", "shell_version_map": {"38": {"version": "52", "sha256": "07v6g5yg3pzzghja1yvzgafvzw8mn9zfydx3mxk8phixbkj93cdn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1Mgp9"}, "40": {"version": "52", "sha256": "07v6g5yg3pzzghja1yvzgafvzw8mn9zfydx3mxk8phixbkj93cdn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1Mgp9"}, "41": {"version": "52", "sha256": "07v6g5yg3pzzghja1yvzgafvzw8mn9zfydx3mxk8phixbkj93cdn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1Mgp9"}, "42": {"version": "52", "sha256": "07v6g5yg3pzzghja1yvzgafvzw8mn9zfydx3mxk8phixbkj93cdn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1Mgp9"}}}
+, {"uuid": "miniview@thesecretaryofwar.com", "name": "Miniview", "pname": "miniview", "description": "Mini preview of another window (like picture-in-picture on a TV)\n- Left-mouse drag: move preview window\n- Right-mouse drag (or ctrl + left mouse drag): resize preview window\n- Scroll wheel (or shift + click): change target window\n- Double click: raise target window\n- Shift + F12: toggle preview window (this can be changed or disabled in preferences)\n- Ctrl + scroll wheel: adjust opacity", "link": "https://extensions.gnome.org/extension/1459/miniview/", "shell_version_map": {"38": {"version": "13", "sha256": "135mg4d49cm6ba72z9174kv31y49wpvlfddh04pmbj2cy95wai46", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmkgcHJldmlldyBvZiBhbm90aGVyIHdpbmRvdyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVilcbi0gTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG4tIFJpZ2h0LW1vdXNlIGRyYWcgKG9yIGN0cmwgKyBsZWZ0IG1vdXNlIGRyYWcpOiByZXNpemUgcHJldmlldyB3aW5kb3dcbi0gU2Nyb2xsIHdoZWVsIChvciBzaGlmdCArIGNsaWNrKTogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "14", "sha256": "0ylnjpwvdzxsdh68k197rk5dhv1211vcrjhc5w9k39hd2mdhw4ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmkgcHJldmlldyBvZiBhbm90aGVyIHdpbmRvdyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVilcbi0gTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG4tIFJpZ2h0LW1vdXNlIGRyYWcgKG9yIGN0cmwgKyBsZWZ0IG1vdXNlIGRyYWcpOiByZXNpemUgcHJldmlldyB3aW5kb3dcbi0gU2Nyb2xsIHdoZWVsIChvciBzaGlmdCArIGNsaWNrKTogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "41": {"version": "14", "sha256": "0ylnjpwvdzxsdh68k197rk5dhv1211vcrjhc5w9k39hd2mdhw4ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmkgcHJldmlldyBvZiBhbm90aGVyIHdpbmRvdyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVilcbi0gTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG4tIFJpZ2h0LW1vdXNlIGRyYWcgKG9yIGN0cmwgKyBsZWZ0IG1vdXNlIGRyYWcpOiByZXNpemUgcHJldmlldyB3aW5kb3dcbi0gU2Nyb2xsIHdoZWVsIChvciBzaGlmdCArIGNsaWNrKTogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "42": {"version": "14", "sha256": "0ylnjpwvdzxsdh68k197rk5dhv1211vcrjhc5w9k39hd2mdhw4ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmkgcHJldmlldyBvZiBhbm90aGVyIHdpbmRvdyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVilcbi0gTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG4tIFJpZ2h0LW1vdXNlIGRyYWcgKG9yIGN0cmwgKyBsZWZ0IG1vdXNlIGRyYWcpOiByZXNpemUgcHJldmlldyB3aW5kb3dcbi0gU2Nyb2xsIHdoZWVsIChvciBzaGlmdCArIGNsaWNrKTogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
+, {"uuid": "Vitals@CoreCoding.com", "name": "Vitals", "pname": "vitals", "description": "A glimpse into your computer's temperature, voltage, fan speed, memory usage, processor load, system resources, network speed and storage stats. This is a one stop shop to monitor all of your vital sensors. Uses asynchronous polling to provide a smooth user experience. Feature requests or bugs? Please use GitHub.", "link": "https://extensions.gnome.org/extension/1460/vitals/", "shell_version_map": {"38": {"version": "53", "sha256": "0zifd8v3qf90fdr3l6fmff2649jcw98b97ilqxxav9fj735nkqjm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1Mwp9"}, "40": {"version": "53", "sha256": "0zifd8v3qf90fdr3l6fmff2649jcw98b97ilqxxav9fj735nkqjm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1Mwp9"}, "41": {"version": "53", "sha256": "0zifd8v3qf90fdr3l6fmff2649jcw98b97ilqxxav9fj735nkqjm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1Mwp9"}, "42": {"version": "53", "sha256": "0zifd8v3qf90fdr3l6fmff2649jcw98b97ilqxxav9fj735nkqjm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1Mwp9"}}}
 , {"uuid": "panel-date-format@keiii.github.com", "name": "Panel Date Format", "pname": "panel-date-format", "description": "Allows to customize the date format on the panel.", "link": "https://extensions.gnome.org/extension/1462/panel-date-format/", "shell_version_map": {"40": {"version": "7", "sha256": "0afqf8hkmg1fmnz0nn6jq6k7yl7vs69w0malqhf1bqfsn5w7ksdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vS0VJSUkvZ25vbWUtc2hlbGwtcGFuZWwtZGF0ZS1mb3JtYXQiLAogICJ1dWlkIjogInBhbmVsLWRhdGUtZm9ybWF0QGtlaWlpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "0afqf8hkmg1fmnz0nn6jq6k7yl7vs69w0malqhf1bqfsn5w7ksdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vS0VJSUkvZ25vbWUtc2hlbGwtcGFuZWwtZGF0ZS1mb3JtYXQiLAogICJ1dWlkIjogInBhbmVsLWRhdGUtZm9ybWF0QGtlaWlpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "42": {"version": "7", "sha256": "0afqf8hkmg1fmnz0nn6jq6k7yl7vs69w0malqhf1bqfsn5w7ksdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vS0VJSUkvZ25vbWUtc2hlbGwtcGFuZWwtZGF0ZS1mb3JtYXQiLAogICJ1dWlkIjogInBhbmVsLWRhdGUtZm9ybWF0QGtlaWlpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "desktop-icons@csoriano", "name": "Desktop Icons", "pname": "desktop-icons", "description": "Add icons to the desktop", "link": "https://extensions.gnome.org/extension/1465/desktop-icons/", "shell_version_map": {"38": {"version": "19", "sha256": "01qdh1kigl3ck1mzgha1a9218lpam5b54ai72mpvr64gkaax2mcv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBpY29ucyB0byB0aGUgZGVza3RvcCIsCiAgIm5hbWUiOiAiRGVza3RvcCBJY29ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvV29ybGQvU2hlbGxFeHRlbnNpb25zL2Rlc2t0b3AtaWNvbnMiLAogICJ1dWlkIjogImRlc2t0b3AtaWNvbnNAY3Nvcmlhbm8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
 , {"uuid": "fullbattery@categulario.tk", "name": "Full Battery indicator", "pname": "full-battery-indicator", "description": "Notifies when battery is full", "link": "https://extensions.gnome.org/extension/1466/full-battery-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "167d84phf68fi5bg9fvm4l7l8jq7k86a80adm0l56ngqygxqsyy8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWVzIHdoZW4gYmF0dGVyeSBpcyBmdWxsIiwKICAibmFtZSI6ICJGdWxsIEJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjMyIiwKICAgICIzLjI4LjMiLAogICAgIjMuMzQuNCIsCiAgICAiMy4zNi4wIiwKICAgICIzLjM4IiwKICAgICI0MC4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2F0ZWd1bGFyaW8vZnVsbC1iYXR0ZXJ5LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZnVsbGJhdHRlcnlAY2F0ZWd1bGFyaW8udGsiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "167d84phf68fi5bg9fvm4l7l8jq7k86a80adm0l56ngqygxqsyy8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWVzIHdoZW4gYmF0dGVyeSBpcyBmdWxsIiwKICAibmFtZSI6ICJGdWxsIEJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjMyIiwKICAgICIzLjI4LjMiLAogICAgIjMuMzQuNCIsCiAgICAiMy4zNi4wIiwKICAgICIzLjM4IiwKICAgICI0MC4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2F0ZWd1bGFyaW8vZnVsbC1iYXR0ZXJ5LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZnVsbGJhdHRlcnlAY2F0ZWd1bGFyaW8udGsiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "rdesktop-menu@bastien.git.geekwu.org", "name": "Rdesktop launcher", "pname": "rdesktop-launcher", "description": "Add a servers status menu for quickly running rdesktop", "link": "https://extensions.gnome.org/extension/1467/rdesktop-launcher/", "shell_version_map": {"38": {"version": "15", "sha256": "1vhlx80jhghg38g13cn1i8410gi4nmhsqqhqklkfkz761rvg8fq7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHNlcnZlcnMgc3RhdHVzIG1lbnUgZm9yIHF1aWNrbHkgcnVubmluZyByZGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJyZGVza3RvcC1tZW51IiwKICAibmFtZSI6ICJSZGVza3RvcCBsYXVuY2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXQuZ2Vla3d1Lm9yZy9iYXN0aWVuL3JkZXNrdG9wLW1lbnUiLAogICJ1dWlkIjogInJkZXNrdG9wLW1lbnVAYmFzdGllbi5naXQuZ2Vla3d1Lm9yZyIsCiAgInZlcnNpb24iOiAxNQp9"}, "40": {"version": "15", "sha256": "1vhlx80jhghg38g13cn1i8410gi4nmhsqqhqklkfkz761rvg8fq7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHNlcnZlcnMgc3RhdHVzIG1lbnUgZm9yIHF1aWNrbHkgcnVubmluZyByZGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJyZGVza3RvcC1tZW51IiwKICAibmFtZSI6ICJSZGVza3RvcCBsYXVuY2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXQuZ2Vla3d1Lm9yZy9iYXN0aWVuL3JkZXNrdG9wLW1lbnUiLAogICJ1dWlkIjogInJkZXNrdG9wLW1lbnVAYmFzdGllbi5naXQuZ2Vla3d1Lm9yZyIsCiAgInZlcnNpb24iOiAxNQp9"}, "41": {"version": "15", "sha256": "1vhlx80jhghg38g13cn1i8410gi4nmhsqqhqklkfkz761rvg8fq7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHNlcnZlcnMgc3RhdHVzIG1lbnUgZm9yIHF1aWNrbHkgcnVubmluZyByZGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJyZGVza3RvcC1tZW51IiwKICAibmFtZSI6ICJSZGVza3RvcCBsYXVuY2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXQuZ2Vla3d1Lm9yZy9iYXN0aWVuL3JkZXNrdG9wLW1lbnUiLAogICJ1dWlkIjogInJkZXNrdG9wLW1lbnVAYmFzdGllbi5naXQuZ2Vla3d1Lm9yZyIsCiAgInZlcnNpb24iOiAxNQp9"}, "42": {"version": "15", "sha256": "1vhlx80jhghg38g13cn1i8410gi4nmhsqqhqklkfkz761rvg8fq7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHNlcnZlcnMgc3RhdHVzIG1lbnUgZm9yIHF1aWNrbHkgcnVubmluZyByZGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJyZGVza3RvcC1tZW51IiwKICAibmFtZSI6ICJSZGVza3RvcCBsYXVuY2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXQuZ2Vla3d1Lm9yZy9iYXN0aWVuL3JkZXNrdG9wLW1lbnUiLAogICJ1dWlkIjogInJkZXNrdG9wLW1lbnVAYmFzdGllbi5naXQuZ2Vla3d1Lm9yZyIsCiAgInZlcnNpb24iOiAxNQp9"}}}
 , {"uuid": "tint-all@amarovita.github.com", "name": "Tint All", "pname": "tint-all", "description": "Colorize the entire gnome workspace. Amber, green, cyan, sepia and grayscale - just keep clicking extension icon. Scroll over extension icon to change fx level.", "link": "https://extensions.gnome.org/extension/1471/tint-all/", "shell_version_map": {"38": {"version": "7", "sha256": "1lflpza6kbdh4ql338vidij9c2gh2r116gfgih7lk4inkj1hqmmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbG9yaXplIHRoZSBlbnRpcmUgZ25vbWUgd29ya3NwYWNlLiBBbWJlciwgZ3JlZW4sIGN5YW4sIHNlcGlhIGFuZCBncmF5c2NhbGUgLSBqdXN0IGtlZXAgY2xpY2tpbmcgZXh0ZW5zaW9uIGljb24uIFNjcm9sbCBvdmVyIGV4dGVuc2lvbiBpY29uIHRvIGNoYW5nZSBmeCBsZXZlbC4iLAogICJuYW1lIjogIlRpbnQgQWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidGludC1hbGxAYW1hcm92aXRhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "1lflpza6kbdh4ql338vidij9c2gh2r116gfgih7lk4inkj1hqmmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbG9yaXplIHRoZSBlbnRpcmUgZ25vbWUgd29ya3NwYWNlLiBBbWJlciwgZ3JlZW4sIGN5YW4sIHNlcGlhIGFuZCBncmF5c2NhbGUgLSBqdXN0IGtlZXAgY2xpY2tpbmcgZXh0ZW5zaW9uIGljb24uIFNjcm9sbCBvdmVyIGV4dGVuc2lvbiBpY29uIHRvIGNoYW5nZSBmeCBsZXZlbC4iLAogICJuYW1lIjogIlRpbnQgQWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidGludC1hbGxAYW1hcm92aXRhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "1lflpza6kbdh4ql338vidij9c2gh2r116gfgih7lk4inkj1hqmmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbG9yaXplIHRoZSBlbnRpcmUgZ25vbWUgd29ya3NwYWNlLiBBbWJlciwgZ3JlZW4sIGN5YW4sIHNlcGlhIGFuZCBncmF5c2NhbGUgLSBqdXN0IGtlZXAgY2xpY2tpbmcgZXh0ZW5zaW9uIGljb24uIFNjcm9sbCBvdmVyIGV4dGVuc2lvbiBpY29uIHRvIGNoYW5nZSBmeCBsZXZlbC4iLAogICJuYW1lIjogIlRpbnQgQWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidGludC1hbGxAYW1hcm92aXRhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
-, {"uuid": "batime@martin.zurowietz.de", "name": "Battery Time", "pname": "battery-time", "description": "Show the remaining time until fully charged/discharged instead of the battery charge in percent in the panel.", "link": "https://extensions.gnome.org/extension/1475/battery-time/", "shell_version_map": {"40": {"version": "10", "sha256": "0kfajnbkg7xgqsqhkxl111j21k3jr35yxbylip6iryyxjmsxx5bl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBpbnN0ZWFkIG9mIHRoZSBiYXR0ZXJ5IGNoYXJnZSBpbiBwZXJjZW50IGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXRpbWUiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXRpbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtYmF0aW1lIiwKICAidXVpZCI6ICJiYXRpbWVAbWFydGluLnp1cm93aWV0ei5kZSIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "0kfajnbkg7xgqsqhkxl111j21k3jr35yxbylip6iryyxjmsxx5bl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBpbnN0ZWFkIG9mIHRoZSBiYXR0ZXJ5IGNoYXJnZSBpbiBwZXJjZW50IGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXRpbWUiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXRpbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtYmF0aW1lIiwKICAidXVpZCI6ICJiYXRpbWVAbWFydGluLnp1cm93aWV0ei5kZSIsCiAgInZlcnNpb24iOiAxMAp9"}}}
+, {"uuid": "batime@martin.zurowietz.de", "name": "Battery Time", "pname": "battery-time", "description": "Show the remaining time until fully charged/discharged instead of the battery charge in percent in the panel.", "link": "https://extensions.gnome.org/extension/1475/battery-time/", "shell_version_map": {"40": {"version": "11", "sha256": "0n6pnkfzwdsafkwf302vg9bvih70mpqvhn25k8l8h5r83x17q41a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBpbnN0ZWFkIG9mIHRoZSBiYXR0ZXJ5IGNoYXJnZSBpbiBwZXJjZW50IGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXRpbWUiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXRpbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLWJhdGltZSIsCiAgInV1aWQiOiAiYmF0aW1lQG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "0n6pnkfzwdsafkwf302vg9bvih70mpqvhn25k8l8h5r83x17q41a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBpbnN0ZWFkIG9mIHRoZSBiYXR0ZXJ5IGNoYXJnZSBpbiBwZXJjZW50IGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXRpbWUiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXRpbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLWJhdGltZSIsCiAgInV1aWQiOiAiYmF0aW1lQG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "0n6pnkfzwdsafkwf302vg9bvih70mpqvhn25k8l8h5r83x17q41a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBpbnN0ZWFkIG9mIHRoZSBiYXR0ZXJ5IGNoYXJnZSBpbiBwZXJjZW50IGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXRpbWUiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXRpbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLWJhdGltZSIsCiAgInV1aWQiOiAiYmF0aW1lQG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "unlockDialogBackground@sun.wxg@gmail.com", "name": "Lock screen background", "pname": "unlock-dialog-background", "description": "Change lock screen background.\nIf you use Ubuntu, install package gir1.2-clutter-1.0 first.", "link": "https://extensions.gnome.org/extension/1476/unlock-dialog-background/", "shell_version_map": {"38": {"version": "18", "sha256": "1j9m4qkd0i6l4nxwpxjwvp3nh0zifpzvp0xwp4cqqlr2flb6lwps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiMy4zNi40IiwKICAgICIzLjM2LjUiLAogICAgIjMuMzYuNiIsCiAgICAiMy4zNi43IiwKICAgICIzLjM2LjgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVubG9ja0RpYWxvZ0JhY2tncm91bmQiLAogICJ1dWlkIjogInVubG9ja0RpYWxvZ0JhY2tncm91bmRAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "40": {"version": "20", "sha256": "1gin7mpafmx8h177alhhlrjqpq5354napc0jqaj4l4f7ynzn4843", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVubG9ja0RpYWxvZ0JhY2tncm91bmQiLAogICJ1dWlkIjogInVubG9ja0RpYWxvZ0JhY2tncm91bmRAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "41": {"version": "23", "sha256": "0j4mhrdmkwwsf52lcqbl0ln7rl3s64nb24862gahs26y4kpbaiv3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVubG9ja0RpYWxvZ0JhY2tncm91bmQiLAogICJ1dWlkIjogInVubG9ja0RpYWxvZ0JhY2tncm91bmRAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="}, "42": {"version": "26", "sha256": "0ix4f8l6hdv7w75z6zjrklb75lkwii09vz20rckg429ga15yaqls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVubG9ja0RpYWxvZ0JhY2tncm91bmQiLAogICJ1dWlkIjogInVubG9ja0RpYWxvZ0JhY2tncm91bmRAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjYKfQ=="}}}
-, {"uuid": "wsmatrix@martin.zurowietz.de", "name": "Workspace Matrix", "pname": "workspace-matrix", "description": "Arrange workspaces in a two dimensional grid with workspace thumbnails.", "link": "https://extensions.gnome.org/extension/1485/workspace-matrix/", "shell_version_map": {"38": {"version": "27", "sha256": "0b76x0li5a8x42l67ykbw34k4cfmbxqvz36zighhfw4qmxsc36cr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLXdzbWF0cml4IiwKICAidXVpZCI6ICJ3c21hdHJpeEBtYXJ0aW4uenVyb3dpZXR6LmRlIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "40": {"version": "33", "sha256": "1pfq2sgz3h97xyqnxjzzjij3abd6132xjibhl2y3423ylwqg5xf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtd3NtYXRyaXgiLAogICJ1dWlkIjogIndzbWF0cml4QG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "41": {"version": "33", "sha256": "1pfq2sgz3h97xyqnxjzzjij3abd6132xjibhl2y3423ylwqg5xf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtd3NtYXRyaXgiLAogICJ1dWlkIjogIndzbWF0cml4QG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}}}
+, {"uuid": "wsmatrix@martin.zurowietz.de", "name": "Workspace Matrix", "pname": "workspace-matrix", "description": "Arrange workspaces in a two dimensional grid with workspace thumbnails.", "link": "https://extensions.gnome.org/extension/1485/workspace-matrix/", "shell_version_map": {"38": {"version": "27", "sha256": "0b76x0li5a8x42l67ykbw34k4cfmbxqvz36zighhfw4qmxsc36cr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLXdzbWF0cml4IiwKICAidXVpZCI6ICJ3c21hdHJpeEBtYXJ0aW4uenVyb3dpZXR6LmRlIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "40": {"version": "33", "sha256": "1pfq2sgz3h97xyqnxjzzjij3abd6132xjibhl2y3423ylwqg5xf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtd3NtYXRyaXgiLAogICJ1dWlkIjogIndzbWF0cml4QG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "41": {"version": "33", "sha256": "1pfq2sgz3h97xyqnxjzzjij3abd6132xjibhl2y3423ylwqg5xf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtd3NtYXRyaXgiLAogICJ1dWlkIjogIndzbWF0cml4QG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "42": {"version": "34", "sha256": "1q3c6rfzz98l13dbhhlx2sywyjyhpdawrp3nsfxcjlssss5cadiz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXp1ci9nbm9tZS1zaGVsbC13c21hdHJpeCIsCiAgInV1aWQiOiAid3NtYXRyaXhAbWFydGluLnp1cm93aWV0ei5kZSIsCiAgInZlcnNpb24iOiAzNAp9"}}}
 , {"uuid": "extensions-sync@elhan.io", "name": "Extensions Sync", "pname": "extensions-sync", "description": "Syncs gnome shell keybindings, tweaks settings and extensions with their configuration across all gnome installations", "link": "https://extensions.gnome.org/extension/1486/extensions-sync/", "shell_version_map": {"38": {"version": "12", "sha256": "170hljy4ygb3fw429fkmfalwlyb6p0fb4p48yvn99wbbfqgz4jsb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5bmNzIGdub21lIHNoZWxsIGtleWJpbmRpbmdzLCB0d2Vha3Mgc2V0dGluZ3MgYW5kIGV4dGVuc2lvbnMgd2l0aCB0aGVpciBjb25maWd1cmF0aW9uIGFjcm9zcyBhbGwgZ25vbWUgaW5zdGFsbGF0aW9ucyIsCiAgIm5hbWUiOiAiRXh0ZW5zaW9ucyBTeW5jIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmV4dGVuc2lvbnMtc3luYyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29hZS9nbm9tZS1zaGVsbC1leHRlbnNpb25zLXN5bmMiLAogICJ1dWlkIjogImV4dGVuc2lvbnMtc3luY0BlbGhhbi5pbyIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "17", "sha256": "0dd9xhnkzd69crxv2lx5gghz3jjnjsl530ywwv4ks06n7ff218fn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5bmNzIGdub21lIHNoZWxsIGtleWJpbmRpbmdzLCB0d2Vha3Mgc2V0dGluZ3MgYW5kIGV4dGVuc2lvbnMgd2l0aCB0aGVpciBjb25maWd1cmF0aW9uIGFjcm9zcyBhbGwgZ25vbWUgaW5zdGFsbGF0aW9ucyIsCiAgIm5hbWUiOiAiRXh0ZW5zaW9ucyBTeW5jIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmV4dGVuc2lvbnMtc3luYyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29hZS9nbm9tZS1zaGVsbC1leHRlbnNpb25zLXN5bmMiLAogICJ1dWlkIjogImV4dGVuc2lvbnMtc3luY0BlbGhhbi5pbyIsCiAgInZlcnNpb24iOiAxNwp9"}, "41": {"version": "17", "sha256": "0dd9xhnkzd69crxv2lx5gghz3jjnjsl530ywwv4ks06n7ff218fn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5bmNzIGdub21lIHNoZWxsIGtleWJpbmRpbmdzLCB0d2Vha3Mgc2V0dGluZ3MgYW5kIGV4dGVuc2lvbnMgd2l0aCB0aGVpciBjb25maWd1cmF0aW9uIGFjcm9zcyBhbGwgZ25vbWUgaW5zdGFsbGF0aW9ucyIsCiAgIm5hbWUiOiAiRXh0ZW5zaW9ucyBTeW5jIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmV4dGVuc2lvbnMtc3luYyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29hZS9nbm9tZS1zaGVsbC1leHRlbnNpb25zLXN5bmMiLAogICJ1dWlkIjogImV4dGVuc2lvbnMtc3luY0BlbGhhbi5pbyIsCiAgInZlcnNpb24iOiAxNwp9"}, "42": {"version": "17", "sha256": "0dd9xhnkzd69crxv2lx5gghz3jjnjsl530ywwv4ks06n7ff218fn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5bmNzIGdub21lIHNoZWxsIGtleWJpbmRpbmdzLCB0d2Vha3Mgc2V0dGluZ3MgYW5kIGV4dGVuc2lvbnMgd2l0aCB0aGVpciBjb25maWd1cmF0aW9uIGFjcm9zcyBhbGwgZ25vbWUgaW5zdGFsbGF0aW9ucyIsCiAgIm5hbWUiOiAiRXh0ZW5zaW9ucyBTeW5jIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmV4dGVuc2lvbnMtc3luYyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29hZS9nbm9tZS1zaGVsbC1leHRlbnNpb25zLXN5bmMiLAogICJ1dWlkIjogImV4dGVuc2lvbnMtc3luY0BlbGhhbi5pbyIsCiAgInZlcnNpb24iOiAxNwp9"}}}
 , {"uuid": "containers@royg", "name": "Containers", "pname": "containers", "description": "Manage podman containers through a gnome-shell menu", "link": "https://extensions.gnome.org/extension/1500/containers/", "shell_version_map": {"40": {"version": "19", "sha256": "16z5978jwpf6cbasnfdi5w8s9dx929r8yh7a4dsrd5isnrnyi22x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBwb2RtYW4gY29udGFpbmVycyB0aHJvdWdoIGEgZ25vbWUtc2hlbGwgbWVudSIsCiAgIm5hbWUiOiAiQ29udGFpbmVycyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmdvbGFuZ2gvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNvbnRhaW5lcnMiLAogICJ1dWlkIjogImNvbnRhaW5lcnNAcm95ZyIsCiAgInZlcnNpb24iOiAxOQp9"}, "41": {"version": "19", "sha256": "16z5978jwpf6cbasnfdi5w8s9dx929r8yh7a4dsrd5isnrnyi22x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBwb2RtYW4gY29udGFpbmVycyB0aHJvdWdoIGEgZ25vbWUtc2hlbGwgbWVudSIsCiAgIm5hbWUiOiAiQ29udGFpbmVycyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmdvbGFuZ2gvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNvbnRhaW5lcnMiLAogICJ1dWlkIjogImNvbnRhaW5lcnNAcm95ZyIsCiAgInZlcnNpb24iOiAxOQp9"}}}
-, {"uuid": "fullscreenworkspace@satran.in", "name": "Fullscreen On New Workspace", "pname": "fullscreen-on-new-workspace", "description": "Move window to a new workspace when you maximize or make it fullscreen.", "link": "https://extensions.gnome.org/extension/1502/fullscreen-on-new-workspace/", "shell_version_map": {"38": {"version": "6", "sha256": "1lyfn0p9djdkmhaxj9f95jf6iknb688d81ls3ycf667i4jk5qnrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd2luZG93IHRvIGEgbmV3IHdvcmtzcGFjZSB3aGVuIHlvdSBtYXhpbWl6ZSBvciBtYWtlIGl0IGZ1bGxzY3JlZW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBPbiBOZXcgV29ya3NwYWNlIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW53b3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NhdHJhbi9mdWxsc2NyZWVud29ya3NwYWNlLXNhdHJhbi5pbiIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbndvcmtzcGFjZUBzYXRyYW4uaW4iLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "1lyfn0p9djdkmhaxj9f95jf6iknb688d81ls3ycf667i4jk5qnrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd2luZG93IHRvIGEgbmV3IHdvcmtzcGFjZSB3aGVuIHlvdSBtYXhpbWl6ZSBvciBtYWtlIGl0IGZ1bGxzY3JlZW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBPbiBOZXcgV29ya3NwYWNlIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW53b3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NhdHJhbi9mdWxsc2NyZWVud29ya3NwYWNlLXNhdHJhbi5pbiIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbndvcmtzcGFjZUBzYXRyYW4uaW4iLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "1lyfn0p9djdkmhaxj9f95jf6iknb688d81ls3ycf667i4jk5qnrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd2luZG93IHRvIGEgbmV3IHdvcmtzcGFjZSB3aGVuIHlvdSBtYXhpbWl6ZSBvciBtYWtlIGl0IGZ1bGxzY3JlZW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBPbiBOZXcgV29ya3NwYWNlIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW53b3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NhdHJhbi9mdWxsc2NyZWVud29ya3NwYWNlLXNhdHJhbi5pbiIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbndvcmtzcGFjZUBzYXRyYW4uaW4iLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"uuid": "fullscreenworkspace@satran.in", "name": "Fullscreen On New Workspace", "pname": "fullscreen-on-new-workspace", "description": "Move window to a new workspace when you maximize or make it fullscreen.", "link": "https://extensions.gnome.org/extension/1502/fullscreen-on-new-workspace/", "shell_version_map": {"38": {"version": "7", "sha256": "1cdp6xgrvch2mb2b25n98izd9lpbp5nq90cglknd4p4pb5my77sb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd2luZG93IHRvIGEgbmV3IHdvcmtzcGFjZSB3aGVuIHlvdSBtYXhpbWl6ZSBvciBtYWtlIGl0IGZ1bGxzY3JlZW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBPbiBOZXcgV29ya3NwYWNlIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW53b3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zYXRyYW4vZnVsbHNjcmVlbndvcmtzcGFjZS1zYXRyYW4uaW4iLAogICJ1dWlkIjogImZ1bGxzY3JlZW53b3Jrc3BhY2VAc2F0cmFuLmluIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "1cdp6xgrvch2mb2b25n98izd9lpbp5nq90cglknd4p4pb5my77sb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd2luZG93IHRvIGEgbmV3IHdvcmtzcGFjZSB3aGVuIHlvdSBtYXhpbWl6ZSBvciBtYWtlIGl0IGZ1bGxzY3JlZW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBPbiBOZXcgV29ya3NwYWNlIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW53b3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zYXRyYW4vZnVsbHNjcmVlbndvcmtzcGFjZS1zYXRyYW4uaW4iLAogICJ1dWlkIjogImZ1bGxzY3JlZW53b3Jrc3BhY2VAc2F0cmFuLmluIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "1cdp6xgrvch2mb2b25n98izd9lpbp5nq90cglknd4p4pb5my77sb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd2luZG93IHRvIGEgbmV3IHdvcmtzcGFjZSB3aGVuIHlvdSBtYXhpbWl6ZSBvciBtYWtlIGl0IGZ1bGxzY3JlZW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBPbiBOZXcgV29ya3NwYWNlIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW53b3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zYXRyYW4vZnVsbHNjcmVlbndvcmtzcGFjZS1zYXRyYW4uaW4iLAogICJ1dWlkIjogImZ1bGxzY3JlZW53b3Jrc3BhY2VAc2F0cmFuLmluIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "7", "sha256": "1cdp6xgrvch2mb2b25n98izd9lpbp5nq90cglknd4p4pb5my77sb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd2luZG93IHRvIGEgbmV3IHdvcmtzcGFjZSB3aGVuIHlvdSBtYXhpbWl6ZSBvciBtYWtlIGl0IGZ1bGxzY3JlZW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBPbiBOZXcgV29ya3NwYWNlIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW53b3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zYXRyYW4vZnVsbHNjcmVlbndvcmtzcGFjZS1zYXRyYW4uaW4iLAogICJ1dWlkIjogImZ1bGxzY3JlZW53b3Jrc3BhY2VAc2F0cmFuLmluIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "tray-icons@zhangkaizhao.com", "name": "Tray Icons", "pname": "tray-icons", "description": "Tray icons", "link": "https://extensions.gnome.org/extension/1503/tray-icons/", "shell_version_map": {"38": {"version": "6", "sha256": "0q5kk8yp7cg61d4hcimrxrghsq7v8qaxjbmzvkj5apbg4cmz3s7v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgaWNvbnMiLAogICJuYW1lIjogIlRyYXkgSWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIuMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3poYW5na2Fpemhhby9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJheS1pY29ucyIsCiAgInV1aWQiOiAidHJheS1pY29uc0B6aGFuZ2thaXpoYW8uY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "0q5kk8yp7cg61d4hcimrxrghsq7v8qaxjbmzvkj5apbg4cmz3s7v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgaWNvbnMiLAogICJuYW1lIjogIlRyYXkgSWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIuMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3poYW5na2Fpemhhby9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJheS1pY29ucyIsCiAgInV1aWQiOiAidHJheS1pY29uc0B6aGFuZ2thaXpoYW8uY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "new-mail-indicator@fthx", "name": "New Mail Indicator", "pname": "new-mail-indicator", "description": "An icon beside the date in the topbar to show if there are unread emails when running your default email client.\n\n It checks the notifications in the message tray related to a new mail, no extra configuration needed, very light extension. Click on the icon does toggle your email client window.*** Do not disable the notifications of your default email client! *** It is not a standalone mail checker, you need your email client to be running. *** Please check that the xdg-utils package is installed.\n\n Email clients verified at the moment are: Thunderbird, Evolution, Geary, Mailspring. Please ask to add the client, including special packaging (snap/flatpak), that you need. If you report an error, please provide at least the distribution and the email client you use through the GitHub link.\n\n For persistent notifications only, see: https://extensions.gnome.org/extension/3951/persistent-email-notifications .", "link": "https://extensions.gnome.org/extension/1505/new-mail-indicator/", "shell_version_map": {"38": {"version": "33", "sha256": "1azppcny8f70ish2p1gzmyf0dy4ycj5x8ccwb1c73m452ac561vm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gYmVzaWRlIHRoZSBkYXRlIGluIHRoZSB0b3BiYXIgdG8gc2hvdyBpZiB0aGVyZSBhcmUgdW5yZWFkIGVtYWlscyB3aGVuIHJ1bm5pbmcgeW91ciBkZWZhdWx0IGVtYWlsIGNsaWVudC5cblxuIEl0IGNoZWNrcyB0aGUgbm90aWZpY2F0aW9ucyBpbiB0aGUgbWVzc2FnZSB0cmF5IHJlbGF0ZWQgdG8gYSBuZXcgbWFpbCwgbm8gZXh0cmEgY29uZmlndXJhdGlvbiBuZWVkZWQsIHZlcnkgbGlnaHQgZXh0ZW5zaW9uLiBDbGljayBvbiB0aGUgaWNvbiBkb2VzIHRvZ2dsZSB5b3VyIGVtYWlsIGNsaWVudCB3aW5kb3cuKioqIERvIG5vdCBkaXNhYmxlIHRoZSBub3RpZmljYXRpb25zIG9mIHlvdXIgZGVmYXVsdCBlbWFpbCBjbGllbnQhICoqKiBJdCBpcyBub3QgYSBzdGFuZGFsb25lIG1haWwgY2hlY2tlciwgeW91IG5lZWQgeW91ciBlbWFpbCBjbGllbnQgdG8gYmUgcnVubmluZy4gKioqIFBsZWFzZSBjaGVjayB0aGF0IHRoZSB4ZGctdXRpbHMgcGFja2FnZSBpcyBpbnN0YWxsZWQuXG5cbiBFbWFpbCBjbGllbnRzIHZlcmlmaWVkIGF0IHRoZSBtb21lbnQgYXJlOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZy4gUGxlYXNlIGFzayB0byBhZGQgdGhlIGNsaWVudCwgaW5jbHVkaW5nIHNwZWNpYWwgcGFja2FnaW5nIChzbmFwL2ZsYXRwYWspLCB0aGF0IHlvdSBuZWVkLiBJZiB5b3UgcmVwb3J0IGFuIGVycm9yLCBwbGVhc2UgcHJvdmlkZSBhdCBsZWFzdCB0aGUgZGlzdHJpYnV0aW9uIGFuZCB0aGUgZW1haWwgY2xpZW50IHlvdSB1c2UgdGhyb3VnaCB0aGUgR2l0SHViIGxpbmsuXG5cbiBGb3IgcGVyc2lzdGVudCBub3RpZmljYXRpb25zIG9ubHksIHNlZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzk1MS9wZXJzaXN0ZW50LWVtYWlsLW5vdGlmaWNhdGlvbnMgLiIsCiAgIm5hbWUiOiAiTmV3IE1haWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L25ldy1tYWlsLWluZGljYXRvciIsCiAgInV1aWQiOiAibmV3LW1haWwtaW5kaWNhdG9yQGZ0aHgiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "40": {"version": "33", "sha256": "1azppcny8f70ish2p1gzmyf0dy4ycj5x8ccwb1c73m452ac561vm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gYmVzaWRlIHRoZSBkYXRlIGluIHRoZSB0b3BiYXIgdG8gc2hvdyBpZiB0aGVyZSBhcmUgdW5yZWFkIGVtYWlscyB3aGVuIHJ1bm5pbmcgeW91ciBkZWZhdWx0IGVtYWlsIGNsaWVudC5cblxuIEl0IGNoZWNrcyB0aGUgbm90aWZpY2F0aW9ucyBpbiB0aGUgbWVzc2FnZSB0cmF5IHJlbGF0ZWQgdG8gYSBuZXcgbWFpbCwgbm8gZXh0cmEgY29uZmlndXJhdGlvbiBuZWVkZWQsIHZlcnkgbGlnaHQgZXh0ZW5zaW9uLiBDbGljayBvbiB0aGUgaWNvbiBkb2VzIHRvZ2dsZSB5b3VyIGVtYWlsIGNsaWVudCB3aW5kb3cuKioqIERvIG5vdCBkaXNhYmxlIHRoZSBub3RpZmljYXRpb25zIG9mIHlvdXIgZGVmYXVsdCBlbWFpbCBjbGllbnQhICoqKiBJdCBpcyBub3QgYSBzdGFuZGFsb25lIG1haWwgY2hlY2tlciwgeW91IG5lZWQgeW91ciBlbWFpbCBjbGllbnQgdG8gYmUgcnVubmluZy4gKioqIFBsZWFzZSBjaGVjayB0aGF0IHRoZSB4ZGctdXRpbHMgcGFja2FnZSBpcyBpbnN0YWxsZWQuXG5cbiBFbWFpbCBjbGllbnRzIHZlcmlmaWVkIGF0IHRoZSBtb21lbnQgYXJlOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZy4gUGxlYXNlIGFzayB0byBhZGQgdGhlIGNsaWVudCwgaW5jbHVkaW5nIHNwZWNpYWwgcGFja2FnaW5nIChzbmFwL2ZsYXRwYWspLCB0aGF0IHlvdSBuZWVkLiBJZiB5b3UgcmVwb3J0IGFuIGVycm9yLCBwbGVhc2UgcHJvdmlkZSBhdCBsZWFzdCB0aGUgZGlzdHJpYnV0aW9uIGFuZCB0aGUgZW1haWwgY2xpZW50IHlvdSB1c2UgdGhyb3VnaCB0aGUgR2l0SHViIGxpbmsuXG5cbiBGb3IgcGVyc2lzdGVudCBub3RpZmljYXRpb25zIG9ubHksIHNlZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzk1MS9wZXJzaXN0ZW50LWVtYWlsLW5vdGlmaWNhdGlvbnMgLiIsCiAgIm5hbWUiOiAiTmV3IE1haWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L25ldy1tYWlsLWluZGljYXRvciIsCiAgInV1aWQiOiAibmV3LW1haWwtaW5kaWNhdG9yQGZ0aHgiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "41": {"version": "33", "sha256": "1azppcny8f70ish2p1gzmyf0dy4ycj5x8ccwb1c73m452ac561vm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gYmVzaWRlIHRoZSBkYXRlIGluIHRoZSB0b3BiYXIgdG8gc2hvdyBpZiB0aGVyZSBhcmUgdW5yZWFkIGVtYWlscyB3aGVuIHJ1bm5pbmcgeW91ciBkZWZhdWx0IGVtYWlsIGNsaWVudC5cblxuIEl0IGNoZWNrcyB0aGUgbm90aWZpY2F0aW9ucyBpbiB0aGUgbWVzc2FnZSB0cmF5IHJlbGF0ZWQgdG8gYSBuZXcgbWFpbCwgbm8gZXh0cmEgY29uZmlndXJhdGlvbiBuZWVkZWQsIHZlcnkgbGlnaHQgZXh0ZW5zaW9uLiBDbGljayBvbiB0aGUgaWNvbiBkb2VzIHRvZ2dsZSB5b3VyIGVtYWlsIGNsaWVudCB3aW5kb3cuKioqIERvIG5vdCBkaXNhYmxlIHRoZSBub3RpZmljYXRpb25zIG9mIHlvdXIgZGVmYXVsdCBlbWFpbCBjbGllbnQhICoqKiBJdCBpcyBub3QgYSBzdGFuZGFsb25lIG1haWwgY2hlY2tlciwgeW91IG5lZWQgeW91ciBlbWFpbCBjbGllbnQgdG8gYmUgcnVubmluZy4gKioqIFBsZWFzZSBjaGVjayB0aGF0IHRoZSB4ZGctdXRpbHMgcGFja2FnZSBpcyBpbnN0YWxsZWQuXG5cbiBFbWFpbCBjbGllbnRzIHZlcmlmaWVkIGF0IHRoZSBtb21lbnQgYXJlOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZy4gUGxlYXNlIGFzayB0byBhZGQgdGhlIGNsaWVudCwgaW5jbHVkaW5nIHNwZWNpYWwgcGFja2FnaW5nIChzbmFwL2ZsYXRwYWspLCB0aGF0IHlvdSBuZWVkLiBJZiB5b3UgcmVwb3J0IGFuIGVycm9yLCBwbGVhc2UgcHJvdmlkZSBhdCBsZWFzdCB0aGUgZGlzdHJpYnV0aW9uIGFuZCB0aGUgZW1haWwgY2xpZW50IHlvdSB1c2UgdGhyb3VnaCB0aGUgR2l0SHViIGxpbmsuXG5cbiBGb3IgcGVyc2lzdGVudCBub3RpZmljYXRpb25zIG9ubHksIHNlZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzk1MS9wZXJzaXN0ZW50LWVtYWlsLW5vdGlmaWNhdGlvbnMgLiIsCiAgIm5hbWUiOiAiTmV3IE1haWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L25ldy1tYWlsLWluZGljYXRvciIsCiAgInV1aWQiOiAibmV3LW1haWwtaW5kaWNhdG9yQGZ0aHgiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}}}
+, {"uuid": "tandem-raise@tomdryer.com", "name": "Tandem Raise", "pname": "tandem-raise", "description": "Raise pairs of tiled windows in tandem.", "link": "https://extensions.gnome.org/extension/1506/tandem-raise/", "shell_version_map": {"42": {"version": "3", "sha256": "0f828j1pcad18i8z8n4691zm6rxl99ziigb8sj4qjbc0bn70nvmy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJhaXNlIHBhaXJzIG9mIHRpbGVkIHdpbmRvd3MgaW4gdGFuZGVtLiIsCiAgIm5hbWUiOiAiVGFuZGVtIFJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM2IiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rkcnllci90YW5kZW0tcmFpc2UiLAogICJ1dWlkIjogInRhbmRlbS1yYWlzZUB0b21kcnllci5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "drop-down-terminal-x@bigbn.pro", "name": "Drop Down Terminal X", "pname": "drop-down-terminal-x", "description": "THIS EXTENSION IS NO LONGER SUPPORTED.\n\nIf you are looking for an alternative please look at that https://extensions.gnome.org/extension/3780/ddterm \nawesome extension.\n\nA GNOME Shell drop down terminal with extra feautures.\n \nSpecial thanks to:\n- Osman Alperen Elhan (https://github.com/oae)\n- Balder Claassen (https://github.com/balderclaassen)\n- Adrien Pyke (https://github.com/kufii)\n- Alan J Carvajal (https://github.com/ajcarvajal)\n- Massimo Mund (https://github.com/masmu)\n- Jakub Żywiec (https://github.com/jakubzet)\n- Mattias Eriksson (https://github.com/snaggen)\n- Henry78 (https://github.com/Henry78)\n- Maxim Toropov (https://github.com/MaxMaxoff)\nfor active contribution.\n\nBased on original extension \"gs-extensions-drop-down-terminal\" from Stéphane Démurget (https://github.com/zzrough)", "link": "https://extensions.gnome.org/extension/1509/drop-down-terminal-x/", "shell_version_map": {"38": {"version": "17", "sha256": "1k90g6bndw1xr56k7lwlxyw89aqbl47spkfmj1lq224z83w6hzdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRISVMgRVhURU5TSU9OIElTIE5PIExPTkdFUiBTVVBQT1JURUQuXG5cbklmIHlvdSBhcmUgbG9va2luZyBmb3IgYW4gYWx0ZXJuYXRpdmUgcGxlYXNlIGxvb2sgYXQgdGhhdCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zNzgwL2RkdGVybSBcbmF3ZXNvbWUgZXh0ZW5zaW9uLlxuXG5BIEdOT01FIFNoZWxsIGRyb3AgZG93biB0ZXJtaW5hbCB3aXRoIGV4dHJhIGZlYXV0dXJlcy5cbiBcblNwZWNpYWwgdGhhbmtzIHRvOlxuLSBPc21hbiBBbHBlcmVuIEVsaGFuIChodHRwczovL2dpdGh1Yi5jb20vb2FlKVxuLSBCYWxkZXIgQ2xhYXNzZW4gKGh0dHBzOi8vZ2l0aHViLmNvbS9iYWxkZXJjbGFhc3Nlbilcbi0gQWRyaWVuIFB5a2UgKGh0dHBzOi8vZ2l0aHViLmNvbS9rdWZpaSlcbi0gQWxhbiBKIENhcnZhamFsIChodHRwczovL2dpdGh1Yi5jb20vYWpjYXJ2YWphbClcbi0gTWFzc2ltbyBNdW5kIChodHRwczovL2dpdGh1Yi5jb20vbWFzbXUpXG4tIEpha3ViIFx1MDE3Ynl3aWVjIChodHRwczovL2dpdGh1Yi5jb20vamFrdWJ6ZXQpXG4tIE1hdHRpYXMgRXJpa3Nzb24gKGh0dHBzOi8vZ2l0aHViLmNvbS9zbmFnZ2VuKVxuLSBIZW5yeTc4IChodHRwczovL2dpdGh1Yi5jb20vSGVucnk3OClcbi0gTWF4aW0gVG9yb3BvdiAoaHR0cHM6Ly9naXRodWIuY29tL01heE1heG9mZilcbmZvciBhY3RpdmUgY29udHJpYnV0aW9uLlxuXG5CYXNlZCBvbiBvcmlnaW5hbCBleHRlbnNpb24gXCJncy1leHRlbnNpb25zLWRyb3AtZG93bi10ZXJtaW5hbFwiIGZyb20gU3RcdTAwZTlwaGFuZSBEXHUwMGU5bXVyZ2V0IChodHRwczovL2dpdGh1Yi5jb20venpyb3VnaCkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkcm9wLWRvd24tdGVybWluYWwteCIsCiAgImlkIjogImRyb3AtZG93bi10ZXJtaW5hbC14IiwKICAibmFtZSI6ICJEcm9wIERvd24gVGVybWluYWwgWCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4wIiwKICAgICIzLjI4LjEiLAogICAgIjMuMjguMiIsCiAgICAiMy4zMC4wIiwKICAgICIzLjMwLjEiLAogICAgIjMuMzAuMiIsCiAgICAiMy4zMi4wIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzIuMiIsCiAgICAiMy4zNC4wIiwKICAgICIzLjM0LjQiLAogICAgIjMuMzYuMCIsCiAgICAiMy4zNi4xIiwKICAgICIzLjM2LjIiLAogICAgIjMuMzguMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JpZ2JuL2dzLWV4dGVuc2lvbnMtZHJvcC1kb3duLXRlcm1pbmFsIiwKICAidXVpZCI6ICJkcm9wLWRvd24tdGVybWluYWwteEBiaWdibi5wcm8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
-, {"uuid": "Rounded_Corners@lennart-k", "name": "Rounded Corners", "pname": "rounded-corners", "description": "Creates rounded corners for every monitor", "link": "https://extensions.gnome.org/extension/1514/rounded-corners/", "shell_version_map": {"38": {"version": "4", "sha256": "0pvbnv97g2mjbklszxvp6df50iw9kyr1ssfza8ia9779x5zq9bk9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgcm91bmRlZCBjb3JuZXJzIGZvciBldmVyeSBtb25pdG9yIiwKICAibmFtZSI6ICJSb3VuZGVkIENvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sZW5uYXJ0LWsvZ25vbWUtcm91bmRlZC1jb3JuZXJzIiwKICAidXVpZCI6ICJSb3VuZGVkX0Nvcm5lcnNAbGVubmFydC1rIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "7", "sha256": "11accb4w8cx3gfrrs2x15h53arjkpqk566cp24c3k32alvqx1jgs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgcm91bmRlZCBjb3JuZXJzIGZvciBldmVyeSBtb25pdG9yIiwKICAibmFtZSI6ICJSb3VuZGVkIENvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xlbm5hcnQtay9nbm9tZS1yb3VuZGVkLWNvcm5lcnMiLAogICJ1dWlkIjogIlJvdW5kZWRfQ29ybmVyc0BsZW5uYXJ0LWsiLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "11accb4w8cx3gfrrs2x15h53arjkpqk566cp24c3k32alvqx1jgs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgcm91bmRlZCBjb3JuZXJzIGZvciBldmVyeSBtb25pdG9yIiwKICAibmFtZSI6ICJSb3VuZGVkIENvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xlbm5hcnQtay9nbm9tZS1yb3VuZGVkLWNvcm5lcnMiLAogICJ1dWlkIjogIlJvdW5kZWRfQ29ybmVyc0BsZW5uYXJ0LWsiLAogICJ2ZXJzaW9uIjogNwp9"}}}
+, {"uuid": "Rounded_Corners@lennart-k", "name": "Rounded Corners", "pname": "rounded-corners", "description": "Creates rounded corners for every monitor", "link": "https://extensions.gnome.org/extension/1514/rounded-corners/", "shell_version_map": {"38": {"version": "4", "sha256": "0pvbnv97g2mjbklszxvp6df50iw9kyr1ssfza8ia9779x5zq9bk9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgcm91bmRlZCBjb3JuZXJzIGZvciBldmVyeSBtb25pdG9yIiwKICAibmFtZSI6ICJSb3VuZGVkIENvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sZW5uYXJ0LWsvZ25vbWUtcm91bmRlZC1jb3JuZXJzIiwKICAidXVpZCI6ICJSb3VuZGVkX0Nvcm5lcnNAbGVubmFydC1rIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "8", "sha256": "0jc4fa9jrx8rk563j6a26mnal77nx949ngrffr4x3dx8ba97gc8n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgcm91bmRlZCBjb3JuZXJzIGZvciBldmVyeSBtb25pdG9yIiwKICAibmFtZSI6ICJSb3VuZGVkIENvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sZW5uYXJ0LWsvZ25vbWUtcm91bmRlZC1jb3JuZXJzIiwKICAidXVpZCI6ICJSb3VuZGVkX0Nvcm5lcnNAbGVubmFydC1rIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "0jc4fa9jrx8rk563j6a26mnal77nx949ngrffr4x3dx8ba97gc8n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgcm91bmRlZCBjb3JuZXJzIGZvciBldmVyeSBtb25pdG9yIiwKICAibmFtZSI6ICJSb3VuZGVkIENvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sZW5uYXJ0LWsvZ25vbWUtcm91bmRlZC1jb3JuZXJzIiwKICAidXVpZCI6ICJSb3VuZGVkX0Nvcm5lcnNAbGVubmFydC1rIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "42": {"version": "8", "sha256": "0jc4fa9jrx8rk563j6a26mnal77nx949ngrffr4x3dx8ba97gc8n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgcm91bmRlZCBjb3JuZXJzIGZvciBldmVyeSBtb25pdG9yIiwKICAibmFtZSI6ICJSb3VuZGVkIENvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sZW5uYXJ0LWsvZ25vbWUtcm91bmRlZC1jb3JuZXJzIiwKICAidXVpZCI6ICJSb3VuZGVkX0Nvcm5lcnNAbGVubmFydC1rIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "scrovol@andyholmes.github.io", "name": "Scrovol", "pname": "scrovol", "description": "Change the volume by scrolling anywhere on the System Tray.\n\nWith this extension, you can scroll over Night Light, WiFi, Volume, Battery or any other icon in the system status tray to change the volume, instead of just the Volume icon.", "link": "https://extensions.gnome.org/extension/1519/scrovol/", "shell_version_map": {"40": {"version": "4", "sha256": "1md52ygz481nvhq00bkq2ymby7f647cfvw4wx1wqkwp7b796d59c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgdm9sdW1lIGJ5IHNjcm9sbGluZyBhbnl3aGVyZSBvbiB0aGUgU3lzdGVtIFRyYXkuXG5cbldpdGggdGhpcyBleHRlbnNpb24sIHlvdSBjYW4gc2Nyb2xsIG92ZXIgTmlnaHQgTGlnaHQsIFdpRmksIFZvbHVtZSwgQmF0dGVyeSBvciBhbnkgb3RoZXIgaWNvbiBpbiB0aGUgc3lzdGVtIHN0YXR1cyB0cmF5IHRvIGNoYW5nZSB0aGUgdm9sdW1lLCBpbnN0ZWFkIG9mIGp1c3QgdGhlIFZvbHVtZSBpY29uLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3Jvdm9sIiwKICAibmFtZSI6ICJTY3Jvdm9sIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW5keWhvbG1lcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2Nyb3ZvbC8iLAogICJ1dWlkIjogInNjcm92b2xAYW5keWhvbG1lcy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "notification-center@Selenium-H", "name": "Notification Center", "pname": "notification-centerselenium-h", "description": "Detach notification center to top panel and customizations.Please reset the extension after updating.\nThe Extension will stop when upgraded to an incompatible version.\nIn that case an Update tab is created to easily reset the extension.\nA Reset button is also always present in Preferences option in the Top Right Application menu of the extension preferences window.", "link": "https://extensions.gnome.org/extension/1526/notification-centerselenium-h/", "shell_version_map": {"38": {"version": "24", "sha256": "1449kl7fss2fyj1ks8ra3qy60jvn5fcl1iyv813s8vdkkp5dv8a2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiRGV0YWNoIG5vdGlmaWNhdGlvbiBjZW50ZXIgdG8gdG9wIHBhbmVsIGFuZCBjdXN0b21pemF0aW9ucy4iLAogICJkZXNjcmlwdGlvbiI6ICJEZXRhY2ggbm90aWZpY2F0aW9uIGNlbnRlciB0byB0b3AgcGFuZWwgYW5kIGN1c3RvbWl6YXRpb25zLlBsZWFzZSByZXNldCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0aW5nLlxuVGhlIEV4dGVuc2lvbiB3aWxsIHN0b3Agd2hlbiB1cGdyYWRlZCB0byBhbiBpbmNvbXBhdGlibGUgdmVyc2lvbi5cbkluIHRoYXQgY2FzZSBhbiBVcGRhdGUgdGFiIGlzIGNyZWF0ZWQgdG8gZWFzaWx5IHJlc2V0IHRoZSBleHRlbnNpb24uXG5BIFJlc2V0IGJ1dHRvbiBpcyBhbHNvIGFsd2F5cyBwcmVzZW50IGluIFByZWZlcmVuY2VzIG9wdGlvbiBpbiB0aGUgVG9wIFJpZ2h0IEFwcGxpY2F0aW9uIG1lbnUgb2YgdGhlIGV4dGVuc2lvbiBwcmVmZXJlbmNlcyB3aW5kb3cuIiwKICAibmFtZSI6ICJOb3RpZmljYXRpb24gQ2VudGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGlmaWNhdGlvbi1jZW50ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInN0YXR1cyI6ICIiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NlbGVuaXVtLUgvTm90aWZpY2F0aW9uLUNlbnRlciIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLWNlbnRlckBTZWxlbml1bS1IIiwKICAidmVyc2lvbiI6IDI0Cn0="}, "40": {"version": "24", "sha256": "1449kl7fss2fyj1ks8ra3qy60jvn5fcl1iyv813s8vdkkp5dv8a2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiRGV0YWNoIG5vdGlmaWNhdGlvbiBjZW50ZXIgdG8gdG9wIHBhbmVsIGFuZCBjdXN0b21pemF0aW9ucy4iLAogICJkZXNjcmlwdGlvbiI6ICJEZXRhY2ggbm90aWZpY2F0aW9uIGNlbnRlciB0byB0b3AgcGFuZWwgYW5kIGN1c3RvbWl6YXRpb25zLlBsZWFzZSByZXNldCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0aW5nLlxuVGhlIEV4dGVuc2lvbiB3aWxsIHN0b3Agd2hlbiB1cGdyYWRlZCB0byBhbiBpbmNvbXBhdGlibGUgdmVyc2lvbi5cbkluIHRoYXQgY2FzZSBhbiBVcGRhdGUgdGFiIGlzIGNyZWF0ZWQgdG8gZWFzaWx5IHJlc2V0IHRoZSBleHRlbnNpb24uXG5BIFJlc2V0IGJ1dHRvbiBpcyBhbHNvIGFsd2F5cyBwcmVzZW50IGluIFByZWZlcmVuY2VzIG9wdGlvbiBpbiB0aGUgVG9wIFJpZ2h0IEFwcGxpY2F0aW9uIG1lbnUgb2YgdGhlIGV4dGVuc2lvbiBwcmVmZXJlbmNlcyB3aW5kb3cuIiwKICAibmFtZSI6ICJOb3RpZmljYXRpb24gQ2VudGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGlmaWNhdGlvbi1jZW50ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInN0YXR1cyI6ICIiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NlbGVuaXVtLUgvTm90aWZpY2F0aW9uLUNlbnRlciIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLWNlbnRlckBTZWxlbml1bS1IIiwKICAidmVyc2lvbiI6IDI0Cn0="}}}
 , {"uuid": "lockkeys@fawtytoo", "name": "Lock Keys", "pname": "lock-keys", "description": "Numlock and Capslock status on the panel. Icons are auto hidden. Simplified with no menus, notifications or settings.\n\nWayland is only supported for Gnome Shell 3.38.", "link": "https://extensions.gnome.org/extension/1532/lock-keys/", "shell_version_map": {"38": {"version": "14", "sha256": "15gp2ncmh7ad1pdr2wc8jilwcp47mgchi82ldk0zpfbkl2f8cpm0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgYW5kIENhcHNsb2NrIHN0YXR1cyBvbiB0aGUgcGFuZWwuIEljb25zIGFyZSBhdXRvIGhpZGRlbi4gU2ltcGxpZmllZCB3aXRoIG5vIG1lbnVzLCBub3RpZmljYXRpb25zIG9yIHNldHRpbmdzLlxuXG5XYXlsYW5kIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBHbm9tZSBTaGVsbCAzLjM4LiIsCiAgIm5hbWUiOiAiTG9jayBLZXlzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTdGV2ZSBDbGFyaywgS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJsb2Nra2V5c0BmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxNAp9"}, "40": {"version": "14", "sha256": "15gp2ncmh7ad1pdr2wc8jilwcp47mgchi82ldk0zpfbkl2f8cpm0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgYW5kIENhcHNsb2NrIHN0YXR1cyBvbiB0aGUgcGFuZWwuIEljb25zIGFyZSBhdXRvIGhpZGRlbi4gU2ltcGxpZmllZCB3aXRoIG5vIG1lbnVzLCBub3RpZmljYXRpb25zIG9yIHNldHRpbmdzLlxuXG5XYXlsYW5kIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBHbm9tZSBTaGVsbCAzLjM4LiIsCiAgIm5hbWUiOiAiTG9jayBLZXlzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTdGV2ZSBDbGFyaywgS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJsb2Nra2V5c0BmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxNAp9"}, "41": {"version": "14", "sha256": "15gp2ncmh7ad1pdr2wc8jilwcp47mgchi82ldk0zpfbkl2f8cpm0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgYW5kIENhcHNsb2NrIHN0YXR1cyBvbiB0aGUgcGFuZWwuIEljb25zIGFyZSBhdXRvIGhpZGRlbi4gU2ltcGxpZmllZCB3aXRoIG5vIG1lbnVzLCBub3RpZmljYXRpb25zIG9yIHNldHRpbmdzLlxuXG5XYXlsYW5kIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBHbm9tZSBTaGVsbCAzLjM4LiIsCiAgIm5hbWUiOiAiTG9jayBLZXlzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTdGV2ZSBDbGFyaywgS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJsb2Nra2V5c0BmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxNAp9"}, "42": {"version": "14", "sha256": "15gp2ncmh7ad1pdr2wc8jilwcp47mgchi82ldk0zpfbkl2f8cpm0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgYW5kIENhcHNsb2NrIHN0YXR1cyBvbiB0aGUgcGFuZWwuIEljb25zIGFyZSBhdXRvIGhpZGRlbi4gU2ltcGxpZmllZCB3aXRoIG5vIG1lbnVzLCBub3RpZmljYXRpb25zIG9yIHNldHRpbmdzLlxuXG5XYXlsYW5kIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBHbm9tZSBTaGVsbCAzLjM4LiIsCiAgIm5hbWUiOiAiTG9jayBLZXlzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTdGV2ZSBDbGFyaywgS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJsb2Nra2V5c0BmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxNAp9"}}}
 , {"uuid": "LetItSnow@mateusz.banaszek.op.pl", "name": "Let it snow", "pname": "let-it-snow", "description": "Bring winter to your desktop: unicode snowflakes falling on your screens.\n\nFeatures:\n- snow doesn't fall over currently active window\n- use slider to choose how much snow you want\n- works with multiple monitors\n\nInspired by gsnow (https://extensions.gnome.org/extension/1156/gsnow/).", "link": "https://extensions.gnome.org/extension/1547/let-it-snow/", "shell_version_map": {"38": {"version": "5", "sha256": "07znrbba154277lxx1bvidn4kz5bgkxpgy7rv3sm472qdbsljl35", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIHdpbnRlciB0byB5b3VyIGRlc2t0b3A6IHVuaWNvZGUgc25vd2ZsYWtlcyBmYWxsaW5nIG9uIHlvdXIgc2NyZWVucy5cblxuRmVhdHVyZXM6XG4tIHNub3cgZG9lc24ndCBmYWxsIG92ZXIgY3VycmVudGx5IGFjdGl2ZSB3aW5kb3dcbi0gdXNlIHNsaWRlciB0byBjaG9vc2UgaG93IG11Y2ggc25vdyB5b3Ugd2FudFxuLSB3b3JrcyB3aXRoIG11bHRpcGxlIG1vbml0b3JzXG5cbkluc3BpcmVkIGJ5IGdzbm93IChodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTU2L2dzbm93LykuIiwKICAibmFtZSI6ICJMZXQgaXQgc25vdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9iaXRidWNrZXQub3JnL21hdGJhbi9sZXQtaXQtc25vdyIsCiAgInV1aWQiOiAiTGV0SXRTbm93QG1hdGV1c3ouYmFuYXN6ZWsub3AucGwiLAogICJ2ZXJzaW9uIjogNQp9"}}}
-, {"uuid": "fullscreen-hot-corner@sorrow.about.alice.pm.me", "name": "Fullscreen Hot Corner", "pname": "fullscreen-hot-corner", "description": "Enables hot corner in fullscreen mode", "link": "https://extensions.gnome.org/extension/1562/fullscreen-hot-corner/", "shell_version_map": {"38": {"version": "6", "sha256": "1lcpw06aqja4q7qqfvds5nv2zvzrjh56lymj1al4kiql92gbwzp1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGUiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZnVsbHNjcmVlbi1ob3QtY29ybmVyIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWhvdC1jb3JuZXJAc29ycm93LmFib3V0LmFsaWNlLnBtLm1lIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "9", "sha256": "0zx11gpacjd259cxd80ggffixpyqprvzcx1971ysvm7jrayrm058", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGUiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc29hbC9nbm9tZS1zaGVsbC1mdWxsc2NyZWVuLWhvdC1jb3JuZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4taG90LWNvcm5lckBzb3Jyb3cuYWJvdXQuYWxpY2UucG0ubWUiLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "0zx11gpacjd259cxd80ggffixpyqprvzcx1971ysvm7jrayrm058", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGUiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc29hbC9nbm9tZS1zaGVsbC1mdWxsc2NyZWVuLWhvdC1jb3JuZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4taG90LWNvcm5lckBzb3Jyb3cuYWJvdXQuYWxpY2UucG0ubWUiLAogICJ2ZXJzaW9uIjogOQp9"}}}
+, {"uuid": "fullscreen-hot-corner@sorrow.about.alice.pm.me", "name": "Fullscreen Hot Corner", "pname": "fullscreen-hot-corner", "description": "Enables hot corner in fullscreen mode", "link": "https://extensions.gnome.org/extension/1562/fullscreen-hot-corner/", "shell_version_map": {"38": {"version": "6", "sha256": "1lcpw06aqja4q7qqfvds5nv2zvzrjh56lymj1al4kiql92gbwzp1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGUiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZnVsbHNjcmVlbi1ob3QtY29ybmVyIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWhvdC1jb3JuZXJAc29ycm93LmFib3V0LmFsaWNlLnBtLm1lIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "10", "sha256": "1v8nibi910axllycphivwclk74zdsvngbn71lby01kfjxzpzy7rh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGUiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZnVsbHNjcmVlbi1ob3QtY29ybmVyIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWhvdC1jb3JuZXJAc29ycm93LmFib3V0LmFsaWNlLnBtLm1lIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "1v8nibi910axllycphivwclk74zdsvngbn71lby01kfjxzpzy7rh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGUiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZnVsbHNjcmVlbi1ob3QtY29ybmVyIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWhvdC1jb3JuZXJAc29ycm93LmFib3V0LmFsaWNlLnBtLm1lIiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "1v8nibi910axllycphivwclk74zdsvngbn71lby01kfjxzpzy7rh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGUiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZnVsbHNjcmVlbi1ob3QtY29ybmVyIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWhvdC1jb3JuZXJAc29ycm93LmFib3V0LmFsaWNlLnBtLm1lIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "worksets@blipk.xyz", "name": "Customised Workspaces", "pname": "worksets", "description": "Customised Workspaces enables creating isolated and customised workspaces.\n\n* Customise the dash to be unique for each workspace, each with their own favourites\n* Only show running applications on the dash in their respective workspace\n* Choose a custom background image for each workspace\n* Minor UI tweaks to the overview workspaces\n* Save each customisation, set them to autoload on specific workspaces\n* Hide the extension once you've configured your preferences to enjoy seamlessly upgraded workspaces in gnome shell\n\nCompatible for use with any of these extensions to complete your workspace upgrade:\n\n* Dash to Panel - https://extensions.gnome.org/extension/1160/dash-to-panel/\n* Dash to Dock - https://extensions.gnome.org/extension/307/dash-to-dock/\n* Auto Move Windows - https://extensions.gnome.org/extension/16/auto-move-windows/\n* Vertical Overview - https://github.com/RensAlthuis/vertical-overview", "link": "https://extensions.gnome.org/extension/1583/worksets/", "shell_version_map": {"38": {"version": "30", "sha256": "0mjah9nx66caqmfbz8wrvg6iyhxp7jmbgwx1gnp8k2a2z536n1iw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIEN1c3RvbWlzZSB0aGUgZGFzaCB0byBiZSB1bmlxdWUgZm9yIGVhY2ggd29ya3NwYWNlLCBlYWNoIHdpdGggdGhlaXIgb3duIGZhdm91cml0ZXNcbiogT25seSBzaG93IHJ1bm5pbmcgYXBwbGljYXRpb25zIG9uIHRoZSBkYXNoIGluIHRoZWlyIHJlc3BlY3RpdmUgd29ya3NwYWNlXG4qIENob29zZSBhIGN1c3RvbSBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBNaW5vciBVSSB0d2Vha3MgdG8gdGhlIG92ZXJ2aWV3IHdvcmtzcGFjZXNcbiogU2F2ZSBlYWNoIGN1c3RvbWlzYXRpb24sIHNldCB0aGVtIHRvIGF1dG9sb2FkIG9uIHNwZWNpZmljIHdvcmtzcGFjZXNcbiogSGlkZSB0aGUgZXh0ZW5zaW9uIG9uY2UgeW91J3ZlIGNvbmZpZ3VyZWQgeW91ciBwcmVmZXJlbmNlcyB0byBlbmpveSBzZWFtbGVzc2x5IHVwZ3JhZGVkIHdvcmtzcGFjZXMgaW4gZ25vbWUgc2hlbGxcblxuQ29tcGF0aWJsZSBmb3IgdXNlIHdpdGggYW55IG9mIHRoZXNlIGV4dGVuc2lvbnMgdG8gY29tcGxldGUgeW91ciB3b3Jrc3BhY2UgdXBncmFkZTpcblxuKiBEYXNoIHRvIFBhbmVsIC0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuKiBEYXNoIHRvIERvY2sgLSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zMDcvZGFzaC10by1kb2NrL1xuKiBBdXRvIE1vdmUgV2luZG93cyAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE2L2F1dG8tbW92ZS13aW5kb3dzL1xuKiBWZXJ0aWNhbCBPdmVydmlldyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9SZW5zQWx0aHVpcy92ZXJ0aWNhbC1vdmVydmlldyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc2V0cyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYWRtaW5Aa3Jvbm9zb3VsLnh5eiIsCiAgInJlc291cmNlLXBhdGgiOiAiL29yZy9rcm9ub3NvdWwvd29ya3NldHMvIiwKICAic2V0dGluZ3MtcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvd29ya3NldHMvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsaXBrL0N1c3RvbWlzZWQtV29ya3NwYWNlcyIsCiAgInV1aWQiOiAid29ya3NldHNAYmxpcGsueHl6IiwKICAidmVyc2lvbiI6IDMwCn0="}, "40": {"version": "43", "sha256": "0crrciyngn4jb005hb2dl9pmyd5j4n5spladk395czwi9h4df7l4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIEN1c3RvbWlzZSB0aGUgZGFzaCB0byBiZSB1bmlxdWUgZm9yIGVhY2ggd29ya3NwYWNlLCBlYWNoIHdpdGggdGhlaXIgb3duIGZhdm91cml0ZXNcbiogT25seSBzaG93IHJ1bm5pbmcgYXBwbGljYXRpb25zIG9uIHRoZSBkYXNoIGluIHRoZWlyIHJlc3BlY3RpdmUgd29ya3NwYWNlXG4qIENob29zZSBhIGN1c3RvbSBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBNaW5vciBVSSB0d2Vha3MgdG8gdGhlIG92ZXJ2aWV3IHdvcmtzcGFjZXNcbiogU2F2ZSBlYWNoIGN1c3RvbWlzYXRpb24sIHNldCB0aGVtIHRvIGF1dG9sb2FkIG9uIHNwZWNpZmljIHdvcmtzcGFjZXNcbiogSGlkZSB0aGUgZXh0ZW5zaW9uIG9uY2UgeW91J3ZlIGNvbmZpZ3VyZWQgeW91ciBwcmVmZXJlbmNlcyB0byBlbmpveSBzZWFtbGVzc2x5IHVwZ3JhZGVkIHdvcmtzcGFjZXMgaW4gZ25vbWUgc2hlbGxcblxuQ29tcGF0aWJsZSBmb3IgdXNlIHdpdGggYW55IG9mIHRoZXNlIGV4dGVuc2lvbnMgdG8gY29tcGxldGUgeW91ciB3b3Jrc3BhY2UgdXBncmFkZTpcblxuKiBEYXNoIHRvIFBhbmVsIC0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuKiBEYXNoIHRvIERvY2sgLSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zMDcvZGFzaC10by1kb2NrL1xuKiBBdXRvIE1vdmUgV2luZG93cyAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE2L2F1dG8tbW92ZS13aW5kb3dzL1xuKiBWZXJ0aWNhbCBPdmVydmlldyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9SZW5zQWx0aHVpcy92ZXJ0aWNhbC1vdmVydmlldyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc2V0cyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYmxpcGsiLAogICJyZXNvdXJjZS1wYXRoIjogIi9vcmcva3Jvbm9zb3VsL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc2V0cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxpcGsvQ3VzdG9taXNlZC1Xb3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ3b3Jrc2V0c0BibGlway54eXoiLAogICJ2ZXJzaW9uIjogNDMKfQ=="}, "41": {"version": "43", "sha256": "0crrciyngn4jb005hb2dl9pmyd5j4n5spladk395czwi9h4df7l4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIEN1c3RvbWlzZSB0aGUgZGFzaCB0byBiZSB1bmlxdWUgZm9yIGVhY2ggd29ya3NwYWNlLCBlYWNoIHdpdGggdGhlaXIgb3duIGZhdm91cml0ZXNcbiogT25seSBzaG93IHJ1bm5pbmcgYXBwbGljYXRpb25zIG9uIHRoZSBkYXNoIGluIHRoZWlyIHJlc3BlY3RpdmUgd29ya3NwYWNlXG4qIENob29zZSBhIGN1c3RvbSBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBNaW5vciBVSSB0d2Vha3MgdG8gdGhlIG92ZXJ2aWV3IHdvcmtzcGFjZXNcbiogU2F2ZSBlYWNoIGN1c3RvbWlzYXRpb24sIHNldCB0aGVtIHRvIGF1dG9sb2FkIG9uIHNwZWNpZmljIHdvcmtzcGFjZXNcbiogSGlkZSB0aGUgZXh0ZW5zaW9uIG9uY2UgeW91J3ZlIGNvbmZpZ3VyZWQgeW91ciBwcmVmZXJlbmNlcyB0byBlbmpveSBzZWFtbGVzc2x5IHVwZ3JhZGVkIHdvcmtzcGFjZXMgaW4gZ25vbWUgc2hlbGxcblxuQ29tcGF0aWJsZSBmb3IgdXNlIHdpdGggYW55IG9mIHRoZXNlIGV4dGVuc2lvbnMgdG8gY29tcGxldGUgeW91ciB3b3Jrc3BhY2UgdXBncmFkZTpcblxuKiBEYXNoIHRvIFBhbmVsIC0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuKiBEYXNoIHRvIERvY2sgLSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zMDcvZGFzaC10by1kb2NrL1xuKiBBdXRvIE1vdmUgV2luZG93cyAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE2L2F1dG8tbW92ZS13aW5kb3dzL1xuKiBWZXJ0aWNhbCBPdmVydmlldyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9SZW5zQWx0aHVpcy92ZXJ0aWNhbC1vdmVydmlldyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc2V0cyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYmxpcGsiLAogICJyZXNvdXJjZS1wYXRoIjogIi9vcmcva3Jvbm9zb3VsL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc2V0cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxpcGsvQ3VzdG9taXNlZC1Xb3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ3b3Jrc2V0c0BibGlway54eXoiLAogICJ2ZXJzaW9uIjogNDMKfQ=="}}}
 , {"uuid": "NordVPN_Connect@poilrouge.fr", "name": "NordVPN Connect", "pname": "nordvpn-connect", "description": "Unofficial Gnome-Shell Extension to provide a GUI for the official NordVPN CLI Tool.", "link": "https://extensions.gnome.org/extension/1595/nordvpn-connect/", "shell_version_map": {"38": {"version": "15", "sha256": "0xccvy3kqgglhcjhixlxi65sa49lbm896lra2sks65arkx3fh63k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgR25vbWUtU2hlbGwgRXh0ZW5zaW9uIHRvIHByb3ZpZGUgYSBHVUkgZm9yIHRoZSBvZmZpY2lhbCBOb3JkVlBOIENMSSBUb29sLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMtbnZwbmNvbm5lY3QiLAogICJuYW1lIjogIk5vcmRWUE4gQ29ubmVjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udnBuY29ubmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FsZXhQb2lscm91Z2UvTm9yZFZQTi1jb25uZWN0IiwKICAidXVpZCI6ICJOb3JkVlBOX0Nvbm5lY3RAcG9pbHJvdWdlLmZyIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "40": {"version": "18", "sha256": "0isn56fj58aikld1fy8q3afqg2acsz4wbfskzip25xsbc0hpy9qf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgR25vbWUtU2hlbGwgRXh0ZW5zaW9uIHRvIHByb3ZpZGUgYSBHVUkgZm9yIHRoZSBvZmZpY2lhbCBOb3JkVlBOIENMSSBUb29sLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMtbnZwbmNvbm5lY3QiLAogICJuYW1lIjogIk5vcmRWUE4gQ29ubmVjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udnBuY29ubmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWxleFBvaWxyb3VnZS9Ob3JkVlBOLWNvbm5lY3QiLAogICJ1dWlkIjogIk5vcmRWUE5fQ29ubmVjdEBwb2lscm91Z2UuZnIiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "41": {"version": "18", "sha256": "0isn56fj58aikld1fy8q3afqg2acsz4wbfskzip25xsbc0hpy9qf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgR25vbWUtU2hlbGwgRXh0ZW5zaW9uIHRvIHByb3ZpZGUgYSBHVUkgZm9yIHRoZSBvZmZpY2lhbCBOb3JkVlBOIENMSSBUb29sLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMtbnZwbmNvbm5lY3QiLAogICJuYW1lIjogIk5vcmRWUE4gQ29ubmVjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udnBuY29ubmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWxleFBvaWxyb3VnZS9Ob3JkVlBOLWNvbm5lY3QiLAogICJ1dWlkIjogIk5vcmRWUE5fQ29ubmVjdEBwb2lscm91Z2UuZnIiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
 , {"uuid": "arrangeWindows@sun.wxg@gmail.com", "name": "Arrange Windows", "pname": "arrange-windows", "description": "Arrange windows on the monitors\n\nHotkeys:\n Ctrl+Alt+1 Cascade windows\n Ctrl+Alt+2 Tiling windows\n Ctrl+Alt+3 Side by side windows\n Ctrl+Alt+4 Stack windows", "link": "https://extensions.gnome.org/extension/1604/arrange-windows/", "shell_version_map": {"38": {"version": "22", "sha256": "1isqbl1w53jkpvkgns4qg3zvz5hr84qixjb6qa5y1x0in0md3m6q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcnJhbmdlV2luZG93cyIsCiAgInV1aWQiOiAiYXJyYW5nZVdpbmRvd3NAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "40": {"version": "22", "sha256": "1isqbl1w53jkpvkgns4qg3zvz5hr84qixjb6qa5y1x0in0md3m6q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcnJhbmdlV2luZG93cyIsCiAgInV1aWQiOiAiYXJyYW5nZVdpbmRvd3NAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "41": {"version": "22", "sha256": "1isqbl1w53jkpvkgns4qg3zvz5hr84qixjb6qa5y1x0in0md3m6q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcnJhbmdlV2luZG93cyIsCiAgInV1aWQiOiAiYXJyYW5nZVdpbmRvd3NAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "42": {"version": "22", "sha256": "1isqbl1w53jkpvkgns4qg3zvz5hr84qixjb6qa5y1x0in0md3m6q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcnJhbmdlV2luZG93cyIsCiAgInV1aWQiOiAiYXJyYW5nZVdpbmRvd3NAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
-, {"uuid": "fullscreen-notifications@sorrow.about.alice.pm.me", "name": "Fullscreen Notifications", "pname": "fullscreen-notifications", "description": "Enables all notifications in fullscreen mode", "link": "https://extensions.gnome.org/extension/1610/fullscreen-notifications/", "shell_version_map": {"38": {"version": "3", "sha256": "1g1dgrhbif7qcxga7302bhhdjrr2v3vkp6dfavyclzsdkkrr2wwh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzAuMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZ1bGxzY3JlZW4tbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbi1ub3RpZmljYXRpb25zQHNvcnJvdy5hYm91dC5hbGljZS5wbS5tZSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "5", "sha256": "1cxpgvkpm1r8d14wvl8pic7p6wd4im8cj3dklnzb7ni2ks2h0cps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZ1bGxzY3JlZW4tbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbi1ub3RpZmljYXRpb25zQHNvcnJvdy5hYm91dC5hbGljZS5wbS5tZSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1cxpgvkpm1r8d14wvl8pic7p6wd4im8cj3dklnzb7ni2ks2h0cps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZ1bGxzY3JlZW4tbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbi1ub3RpZmljYXRpb25zQHNvcnJvdy5hYm91dC5hbGljZS5wbS5tZSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "fullscreen-notifications@sorrow.about.alice.pm.me", "name": "Fullscreen Notifications", "pname": "fullscreen-notifications", "description": "Enables all notifications in fullscreen mode", "link": "https://extensions.gnome.org/extension/1610/fullscreen-notifications/", "shell_version_map": {"38": {"version": "3", "sha256": "1g1dgrhbif7qcxga7302bhhdjrr2v3vkp6dfavyclzsdkkrr2wwh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzAuMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZ1bGxzY3JlZW4tbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbi1ub3RpZmljYXRpb25zQHNvcnJvdy5hYm91dC5hbGljZS5wbS5tZSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "6", "sha256": "00klclxdknknbv30acqsgzz43wsbp8gxmfgammm1xjg9kncp030j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zb2FsL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mdWxsc2NyZWVuLW5vdGlmaWNhdGlvbnMiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4tbm90aWZpY2F0aW9uc0Bzb3Jyb3cuYWJvdXQuYWxpY2UucG0ubWUiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "00klclxdknknbv30acqsgzz43wsbp8gxmfgammm1xjg9kncp030j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zb2FsL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mdWxsc2NyZWVuLW5vdGlmaWNhdGlvbnMiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4tbm90aWZpY2F0aW9uc0Bzb3Jyb3cuYWJvdXQuYWxpY2UucG0ubWUiLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "00klclxdknknbv30acqsgzz43wsbp8gxmfgammm1xjg9kncp030j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zb2FsL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mdWxsc2NyZWVuLW5vdGlmaWNhdGlvbnMiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4tbm90aWZpY2F0aW9uc0Bzb3Jyb3cuYWJvdXQuYWxpY2UucG0ubWUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "panelScroll@sun.wxg@gmail.com", "name": "panel scroll", "pname": "panel-scroll", "description": "Switch windows or workspace by mouse scroll on the panel.\nPointer on left of panel, switch windows.\nPointer on right of panel, switch workspaces.", "link": "https://extensions.gnome.org/extension/1616/panel-scroll/", "shell_version_map": {"38": {"version": "10", "sha256": "1llw16wszrkrrzrlyd1ppw8kn1cqp2z4irzi9q7v2nr47hrk14kd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWxTY3JvbGwiLAogICJ1dWlkIjogInBhbmVsU2Nyb2xsQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "16", "sha256": "151813j8hhh4apgfj4dmxy07jwym1lixyn86937r2dz1qvk1s9l2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWxTY3JvbGwiLAogICJ1dWlkIjogInBhbmVsU2Nyb2xsQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "151813j8hhh4apgfj4dmxy07jwym1lixyn86937r2dz1qvk1s9l2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWxTY3JvbGwiLAogICJ1dWlkIjogInBhbmVsU2Nyb2xsQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "151813j8hhh4apgfj4dmxy07jwym1lixyn86937r2dz1qvk1s9l2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWxTY3JvbGwiLAogICJ1dWlkIjogInBhbmVsU2Nyb2xsQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"uuid": "soft-brightness@fifi.org", "name": "Soft brightness", "pname": "soft-brightness", "description": "Add or override the brightness slider to change the brightness via an alpha layer (and optionally stop using or cooperate with the exising backlight, if present).\nEither internal, external or all monitors can be dimmed.\nSee the GitHub page for details.\n\nNote that this extension will keep running on the lock screen, as you'd also want the brightness setting to apply to the lock screen as well. Please report on GitHub if this gives you any trouble.", "link": "https://extensions.gnome.org/extension/1625/soft-brightness/", "shell_version_map": {"38": {"version": "29", "sha256": "1bkcjlax2s6ly68lpc53axxrmsicdkqg8kjr91n02nlqjdxsaz6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzb2Z0LWJyaWdodG5lc3MiLAogICJuYW1lIjogIlNvZnQgYnJpZ2h0bmVzcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzMuOTAiLAogICAgIjMuMzYiLAogICAgIjMuMzUuMSIsCiAgICAiMy4zNS45MiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc29mdC1icmlnaHRuZXNzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3NAZmlmaS5vcmciLAogICJ2Y3NfcmV2aXNpb24iOiAidjI5LTAtZ2JiMTA1ZTQiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "40": {"version": "29", "sha256": "1bkcjlax2s6ly68lpc53axxrmsicdkqg8kjr91n02nlqjdxsaz6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzb2Z0LWJyaWdodG5lc3MiLAogICJuYW1lIjogIlNvZnQgYnJpZ2h0bmVzcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzMuOTAiLAogICAgIjMuMzYiLAogICAgIjMuMzUuMSIsCiAgICAiMy4zNS45MiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc29mdC1icmlnaHRuZXNzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3NAZmlmaS5vcmciLAogICJ2Y3NfcmV2aXNpb24iOiAidjI5LTAtZ2JiMTA1ZTQiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "41": {"version": "29", "sha256": "1bkcjlax2s6ly68lpc53axxrmsicdkqg8kjr91n02nlqjdxsaz6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzb2Z0LWJyaWdodG5lc3MiLAogICJuYW1lIjogIlNvZnQgYnJpZ2h0bmVzcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzMuOTAiLAogICAgIjMuMzYiLAogICAgIjMuMzUuMSIsCiAgICAiMy4zNS45MiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc29mdC1icmlnaHRuZXNzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3NAZmlmaS5vcmciLAogICJ2Y3NfcmV2aXNpb24iOiAidjI5LTAtZ2JiMTA1ZTQiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}}}
 , {"uuid": "Resource_Monitor@Ory0n", "name": "Resource Monitor", "pname": "resource-monitor", "description": "Monitor the use of system resources like cpu, ram, disk, network and display them in gnome shell top bar.", "link": "https://extensions.gnome.org/extension/1634/resource-monitor/", "shell_version_map": {"38": {"version": "14", "sha256": "0mg6b54cinplc4i3kzn6p397a8flyivcyzg30pnfq7phhgpcnxwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vMHJ5MG4vUmVzb3VyY2VfTW9uaXRvci8iLAogICJ1dWlkIjogIlJlc291cmNlX01vbml0b3JAT3J5MG4iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "16", "sha256": "0jpamw200p1q0g7h1llvaq3hrqijgzkp7apgyvbgw8mg529q3xyj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8wcnkwbi9SZXNvdXJjZV9Nb25pdG9yLyIsCiAgInV1aWQiOiAiUmVzb3VyY2VfTW9uaXRvckBPcnkwbiIsCiAgInZlcnNpb24iOiAxNgp9"}, "41": {"version": "16", "sha256": "0jpamw200p1q0g7h1llvaq3hrqijgzkp7apgyvbgw8mg529q3xyj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8wcnkwbi9SZXNvdXJjZV9Nb25pdG9yLyIsCiAgInV1aWQiOiAiUmVzb3VyY2VfTW9uaXRvckBPcnkwbiIsCiAgInZlcnNpb24iOiAxNgp9"}}}
@@ -231,28 +233,28 @@
 , {"uuid": "focusli@armonge.info", "name": "Focusli", "pname": "focusli", "description": "Improve focus and increase your productive by listening to different sounds", "link": "https://extensions.gnome.org/extension/1726/focusli/", "shell_version_map": {"40": {"version": "7", "sha256": "0061krhxrp5wrqi4dflmd8anw3szqq335y2z2ka48pf662vkp7km", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgZm9jdXMgYW5kIGluY3JlYXNlIHlvdXIgcHJvZHVjdGl2ZSBieSBsaXN0ZW5pbmcgdG8gZGlmZmVyZW50IHNvdW5kcyIsCiAgIm5hbWUiOiAiRm9jdXNsaSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcm1vbmdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1c2xpIiwKICAidXVpZCI6ICJmb2N1c2xpQGFybW9uZ2UuaW5mbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "gtktitlebar@velitasali.github.io", "name": "GTK Title Bar", "pname": "gtk-title-bar", "description": "Remove title bars for non-GTK apps with minimal interference with the default workflow", "link": "https://extensions.gnome.org/extension/1732/gtk-title-bar/", "shell_version_map": {"40": {"version": "10", "sha256": "100mb5ga559jcv0f3a7drcki682vpgnkl8p1hga7w8mbckkybwkx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aXRsZSBiYXJzIGZvciBub24tR1RLIGFwcHMgd2l0aCBtaW5pbWFsIGludGVyZmVyZW5jZSB3aXRoIHRoZSBkZWZhdWx0IHdvcmtmbG93IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RrdGl0bGViYXIiLAogICJuYW1lIjogIkdUSyBUaXRsZSBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ3RrdGl0bGViYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92ZWxpdGFzYWxpL2d0a3RpdGxlYmFyIiwKICAidXVpZCI6ICJndGt0aXRsZWJhckB2ZWxpdGFzYWxpLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "100mb5ga559jcv0f3a7drcki682vpgnkl8p1hga7w8mbckkybwkx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aXRsZSBiYXJzIGZvciBub24tR1RLIGFwcHMgd2l0aCBtaW5pbWFsIGludGVyZmVyZW5jZSB3aXRoIHRoZSBkZWZhdWx0IHdvcmtmbG93IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RrdGl0bGViYXIiLAogICJuYW1lIjogIkdUSyBUaXRsZSBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ3RrdGl0bGViYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92ZWxpdGFzYWxpL2d0a3RpdGxlYmFyIiwKICAidXVpZCI6ICJndGt0aXRsZWJhckB2ZWxpdGFzYWxpLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "42": {"version": "10", "sha256": "100mb5ga559jcv0f3a7drcki682vpgnkl8p1hga7w8mbckkybwkx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aXRsZSBiYXJzIGZvciBub24tR1RLIGFwcHMgd2l0aCBtaW5pbWFsIGludGVyZmVyZW5jZSB3aXRoIHRoZSBkZWZhdWx0IHdvcmtmbG93IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3RrdGl0bGViYXIiLAogICJuYW1lIjogIkdUSyBUaXRsZSBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ3RrdGl0bGViYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92ZWxpdGFzYWxpL2d0a3RpdGxlYmFyIiwKICAidXVpZCI6ICJndGt0aXRsZWJhckB2ZWxpdGFzYWxpLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "quicklists@maestroschan.fr", "name": "Quicklists", "pname": "quicklists", "description": "Add dynamic quicklists to app icons, such as file manager bookmarks and recent files.", "link": "https://extensions.gnome.org/extension/1747/quicklists/", "shell_version_map": {"38": {"version": "7", "sha256": "1cck1k1kf116z85m5fby0hhaa7fplhryv0nv1pdc3h8200i39580", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBkeW5hbWljIHF1aWNrbGlzdHMgdG8gYXBwIGljb25zLCBzdWNoIGFzIGZpbGUgbWFuYWdlciBib29rbWFya3MgYW5kIHJlY2VudCBmaWxlcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJxdWlja2xpc3RzIiwKICAibmFtZSI6ICJRdWlja2xpc3RzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnF1aWNrbGlzdHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovcXVpY2tsaXN0cy1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInF1aWNrbGlzdHNAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
-, {"uuid": "lan-ip-address@mrhuber.com", "name": "LAN IP Address", "pname": "lan-ip-address", "description": "Show LAN IP address on GNOME panel. Do not show loopback addresses (127.0.0.0/8) or Docker networks.", "link": "https://extensions.gnome.org/extension/1762/lan-ip-address/", "shell_version_map": {"38": {"version": "8", "sha256": "0l81fiznq3q7q2m0ryjcmba9kzqhf0a7hq8j2sahr49acd6ih9wq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgTEFOIElQIGFkZHJlc3Mgb24gR05PTUUgcGFuZWwuIERvIG5vdCBzaG93IGxvb3BiYWNrIGFkZHJlc3NlcyAoMTI3LjAuMC4wLzgpIG9yIERvY2tlciBuZXR3b3Jrcy4iLAogICJuYW1lIjogIkxBTiBJUCBBZGRyZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Kb3Nob2xpdGgvZ25vbWUtZXh0ZW5zaW9uLWxhbi1pcC1hZGRyZXNzIiwKICAidXVpZCI6ICJsYW4taXAtYWRkcmVzc0Btcmh1YmVyLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "8", "sha256": "0l81fiznq3q7q2m0ryjcmba9kzqhf0a7hq8j2sahr49acd6ih9wq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgTEFOIElQIGFkZHJlc3Mgb24gR05PTUUgcGFuZWwuIERvIG5vdCBzaG93IGxvb3BiYWNrIGFkZHJlc3NlcyAoMTI3LjAuMC4wLzgpIG9yIERvY2tlciBuZXR3b3Jrcy4iLAogICJuYW1lIjogIkxBTiBJUCBBZGRyZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Kb3Nob2xpdGgvZ25vbWUtZXh0ZW5zaW9uLWxhbi1pcC1hZGRyZXNzIiwKICAidXVpZCI6ICJsYW4taXAtYWRkcmVzc0Btcmh1YmVyLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "0l81fiznq3q7q2m0ryjcmba9kzqhf0a7hq8j2sahr49acd6ih9wq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgTEFOIElQIGFkZHJlc3Mgb24gR05PTUUgcGFuZWwuIERvIG5vdCBzaG93IGxvb3BiYWNrIGFkZHJlc3NlcyAoMTI3LjAuMC4wLzgpIG9yIERvY2tlciBuZXR3b3Jrcy4iLAogICJuYW1lIjogIkxBTiBJUCBBZGRyZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Kb3Nob2xpdGgvZ25vbWUtZXh0ZW5zaW9uLWxhbi1pcC1hZGRyZXNzIiwKICAidXVpZCI6ICJsYW4taXAtYWRkcmVzc0Btcmh1YmVyLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
+, {"uuid": "lan-ip-address@mrhuber.com", "name": "LAN IP Address", "pname": "lan-ip-address", "description": "Show LAN IP address on GNOME panel. Do not show loopback addresses (127.0.0.0/8) or Docker networks.", "link": "https://extensions.gnome.org/extension/1762/lan-ip-address/", "shell_version_map": {"38": {"version": "8", "sha256": "0l81fiznq3q7q2m0ryjcmba9kzqhf0a7hq8j2sahr49acd6ih9wq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgTEFOIElQIGFkZHJlc3Mgb24gR05PTUUgcGFuZWwuIERvIG5vdCBzaG93IGxvb3BiYWNrIGFkZHJlc3NlcyAoMTI3LjAuMC4wLzgpIG9yIERvY2tlciBuZXR3b3Jrcy4iLAogICJuYW1lIjogIkxBTiBJUCBBZGRyZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Kb3Nob2xpdGgvZ25vbWUtZXh0ZW5zaW9uLWxhbi1pcC1hZGRyZXNzIiwKICAidXVpZCI6ICJsYW4taXAtYWRkcmVzc0Btcmh1YmVyLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "10", "sha256": "0hngfri4bczk2y2pa381hsgg8fxd4fqm1wcb47ykdkjbvdkx8lr8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgTEFOIElQIGFkZHJlc3Mgb24gR05PTUUgcGFuZWwuIERvIG5vdCBzaG93IGxvb3BiYWNrIGFkZHJlc3NlcyAoMTI3LjAuMC4wLzgpIG9yIERvY2tlciBuZXR3b3Jrcy4iLAogICJuYW1lIjogIkxBTiBJUCBBZGRyZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSm9zaG9saXRoL2dub21lLWV4dGVuc2lvbi1sYW4taXAtYWRkcmVzcyIsCiAgInV1aWQiOiAibGFuLWlwLWFkZHJlc3NAbXJodWJlci5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "0hngfri4bczk2y2pa381hsgg8fxd4fqm1wcb47ykdkjbvdkx8lr8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgTEFOIElQIGFkZHJlc3Mgb24gR05PTUUgcGFuZWwuIERvIG5vdCBzaG93IGxvb3BiYWNrIGFkZHJlc3NlcyAoMTI3LjAuMC4wLzgpIG9yIERvY2tlciBuZXR3b3Jrcy4iLAogICJuYW1lIjogIkxBTiBJUCBBZGRyZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSm9zaG9saXRoL2dub21lLWV4dGVuc2lvbi1sYW4taXAtYWRkcmVzcyIsCiAgInV1aWQiOiAibGFuLWlwLWFkZHJlc3NAbXJodWJlci5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "0hngfri4bczk2y2pa381hsgg8fxd4fqm1wcb47ykdkjbvdkx8lr8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgTEFOIElQIGFkZHJlc3Mgb24gR05PTUUgcGFuZWwuIERvIG5vdCBzaG93IGxvb3BiYWNrIGFkZHJlc3NlcyAoMTI3LjAuMC4wLzgpIG9yIERvY2tlciBuZXR3b3Jrcy4iLAogICJuYW1lIjogIkxBTiBJUCBBZGRyZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSm9zaG9saXRoL2dub21lLWV4dGVuc2lvbi1sYW4taXAtYWRkcmVzcyIsCiAgInV1aWQiOiAibGFuLWlwLWFkZHJlc3NAbXJodWJlci5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "TransparentTopbar@enrico.sorio.net", "name": "Transparent Topbar", "pname": "transparent-topbar", "description": "Transparent Topbar with Multi monitors support", "link": "https://extensions.gnome.org/extension/1765/transparent-topbar/", "shell_version_map": {"38": {"version": "2", "sha256": "0rv7ddwrsmk7zrwyf2fkjhiv38pm4h0ijx1mppwji7vgvips0602", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IFRvcGJhciB3aXRoIE11bHRpIG1vbml0b3JzIHN1cHBvcnQiLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiVHJhbnNwYXJlbnRUb3BiYXJAZW5yaWNvLnNvcmlvLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0rv7ddwrsmk7zrwyf2fkjhiv38pm4h0ijx1mppwji7vgvips0602", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IFRvcGJhciB3aXRoIE11bHRpIG1vbml0b3JzIHN1cHBvcnQiLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiVHJhbnNwYXJlbnRUb3BiYXJAZW5yaWNvLnNvcmlvLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "colortint@matt.serverus.co.uk", "name": "ColorTint", "pname": "colortint", "description": "Tint your desktop with a color of your choice to help with dyslexia, scopic sensitivity, and related conditions.", "link": "https://extensions.gnome.org/extension/1789/colortint/", "shell_version_map": {"40": {"version": "11", "sha256": "0cidkbkw74gy1wdv7m0pr06nlzs3a343jjlagmq9j9i56fz28i1q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbnQgeW91ciBkZXNrdG9wIHdpdGggYSBjb2xvciBvZiB5b3VyIGNob2ljZSB0byBoZWxwIHdpdGggZHlzbGV4aWEsIHNjb3BpYyBzZW5zaXRpdml0eSwgYW5kIHJlbGF0ZWQgY29uZGl0aW9ucy4iLAogICJuYW1lIjogIkNvbG9yVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hdHRCeU5hbWUvY29sb3ItdGludCIsCiAgInV1aWQiOiAiY29sb3J0aW50QG1hdHQuc2VydmVydXMuY28udWsiLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "0cidkbkw74gy1wdv7m0pr06nlzs3a343jjlagmq9j9i56fz28i1q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbnQgeW91ciBkZXNrdG9wIHdpdGggYSBjb2xvciBvZiB5b3VyIGNob2ljZSB0byBoZWxwIHdpdGggZHlzbGV4aWEsIHNjb3BpYyBzZW5zaXRpdml0eSwgYW5kIHJlbGF0ZWQgY29uZGl0aW9ucy4iLAogICJuYW1lIjogIkNvbG9yVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hdHRCeU5hbWUvY29sb3ItdGludCIsCiAgInV1aWQiOiAiY29sb3J0aW50QG1hdHQuc2VydmVydXMuY28udWsiLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "0cidkbkw74gy1wdv7m0pr06nlzs3a343jjlagmq9j9i56fz28i1q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbnQgeW91ciBkZXNrdG9wIHdpdGggYSBjb2xvciBvZiB5b3VyIGNob2ljZSB0byBoZWxwIHdpdGggZHlzbGV4aWEsIHNjb3BpYyBzZW5zaXRpdml0eSwgYW5kIHJlbGF0ZWQgY29uZGl0aW9ucy4iLAogICJuYW1lIjogIkNvbG9yVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hdHRCeU5hbWUvY29sb3ItdGludCIsCiAgInV1aWQiOiAiY29sb3J0aW50QG1hdHQuc2VydmVydXMuY28udWsiLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "sermon@rovellipaolo-gmail.com", "name": "SerMon: Service Monitor", "pname": "sermon", "description": "SerMon: an extension for monitoring and managing systemd services, cron jobs, docker and podman containers", "link": "https://extensions.gnome.org/extension/1804/sermon/", "shell_version_map": {"38": {"version": "16", "sha256": "1dgyphy5wka0b6jaqkdgb2kyy70f9ccgdmrcna9p04i2kcy4hm9i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlck1vbjogYW4gZXh0ZW5zaW9uIGZvciBtb25pdG9yaW5nIGFuZCBtYW5hZ2luZyBzeXN0ZW1kIHNlcnZpY2VzLCBjcm9uIGpvYnMsIGRvY2tlciBhbmQgcG9kbWFuIGNvbnRhaW5lcnMiLAogICJuYW1lIjogIlNlck1vbjogU2VydmljZSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNlcm1vbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcm92ZWxsaXBhb2xvL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZXJtb24iLAogICJ1dWlkIjogInNlcm1vbkByb3ZlbGxpcGFvbG8tZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "40": {"version": "16", "sha256": "1dgyphy5wka0b6jaqkdgb2kyy70f9ccgdmrcna9p04i2kcy4hm9i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlck1vbjogYW4gZXh0ZW5zaW9uIGZvciBtb25pdG9yaW5nIGFuZCBtYW5hZ2luZyBzeXN0ZW1kIHNlcnZpY2VzLCBjcm9uIGpvYnMsIGRvY2tlciBhbmQgcG9kbWFuIGNvbnRhaW5lcnMiLAogICJuYW1lIjogIlNlck1vbjogU2VydmljZSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNlcm1vbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcm92ZWxsaXBhb2xvL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZXJtb24iLAogICJ1dWlkIjogInNlcm1vbkByb3ZlbGxpcGFvbG8tZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "1dgyphy5wka0b6jaqkdgb2kyy70f9ccgdmrcna9p04i2kcy4hm9i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlck1vbjogYW4gZXh0ZW5zaW9uIGZvciBtb25pdG9yaW5nIGFuZCBtYW5hZ2luZyBzeXN0ZW1kIHNlcnZpY2VzLCBjcm9uIGpvYnMsIGRvY2tlciBhbmQgcG9kbWFuIGNvbnRhaW5lcnMiLAogICJuYW1lIjogIlNlck1vbjogU2VydmljZSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNlcm1vbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcm92ZWxsaXBhb2xvL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZXJtb24iLAogICJ1dWlkIjogInNlcm1vbkByb3ZlbGxpcGFvbG8tZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"uuid": "dict@sun.wxg@gmail.com", "name": "Screen word translate", "pname": "screen-word-translate", "description": "Translate word on the screen.\nDefault web address is translate.google.com, you can add the web address for your own language. Also you can contribute your web address to my github repo.\nUse hotkey Ctrl+Alt+j to toggle the function.\nUse hotkey Ctrl+Alt+o to show popup window", "link": "https://extensions.gnome.org/extension/1849/screen-word-translate/", "shell_version_map": {"38": {"version": "32", "sha256": "0wh9d0siggr49bfcx1308xx8rxc58nadnhp3mjj53i6fvja3cx62", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRpY3QiLAogICJ1dWlkIjogImRpY3RAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "40": {"version": "39", "sha256": "1dgnx3vpqgmpl9vr7bli7aifyr367jifbqyxjdb0ygqd7j4fav5f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRpY3QiLAogICJ1dWlkIjogImRpY3RAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "41": {"version": "39", "sha256": "1dgnx3vpqgmpl9vr7bli7aifyr367jifbqyxjdb0ygqd7j4fav5f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRpY3QiLAogICJ1dWlkIjogImRpY3RAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "42": {"version": "39", "sha256": "1dgnx3vpqgmpl9vr7bli7aifyr367jifbqyxjdb0ygqd7j4fav5f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRpY3QiLAogICJ1dWlkIjogImRpY3RAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}}}
-, {"uuid": "gamemode@christian.kellner.me", "name": "GameMode", "pname": "gamemode", "description": "Status indicator for GameMode", "link": "https://extensions.gnome.org/extension/1852/gamemode/", "shell_version_map": {"38": {"version": "6", "sha256": "05256a7rcw1db983w557cpl5vilkb0wg82xpja91j2lqnp7als5l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9naWNtby9nYW1lbW9kZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdhbWVtb2RlQGNocmlzdGlhbi5rZWxsbmVyLm1lIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "05256a7rcw1db983w557cpl5vilkb0wg82xpja91j2lqnp7als5l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9naWNtby9nYW1lbW9kZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdhbWVtb2RlQGNocmlzdGlhbi5rZWxsbmVyLm1lIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "05256a7rcw1db983w557cpl5vilkb0wg82xpja91j2lqnp7als5l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9naWNtby9nYW1lbW9kZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdhbWVtb2RlQGNocmlzdGlhbi5rZWxsbmVyLm1lIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
+, {"uuid": "gamemode@christian.kellner.me", "name": "GameMode", "pname": "gamemode", "description": "Status indicator for GameMode", "link": "https://extensions.gnome.org/extension/1852/gamemode/", "shell_version_map": {"38": {"version": "7", "sha256": "1vkrwbdqgpbs5m6gq7awar53bflr59a1c3lgr3g642gswdnr2230", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2ljbW8vZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnYW1lbW9kZUBjaHJpc3RpYW4ua2VsbG5lci5tZSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "1vkrwbdqgpbs5m6gq7awar53bflr59a1c3lgr3g642gswdnr2230", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2ljbW8vZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnYW1lbW9kZUBjaHJpc3RpYW4ua2VsbG5lci5tZSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1vkrwbdqgpbs5m6gq7awar53bflr59a1c3lgr3g642gswdnr2230", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2ljbW8vZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnYW1lbW9kZUBjaHJpc3RpYW4ua2VsbG5lci5tZSIsCiAgInZlcnNpb24iOiA3Cn0="}, "42": {"version": "7", "sha256": "1vkrwbdqgpbs5m6gq7awar53bflr59a1c3lgr3g642gswdnr2230", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2ljbW8vZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnYW1lbW9kZUBjaHJpc3RpYW4ua2VsbG5lci5tZSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "unredirect@vaina.lt", "name": "Disable unredirect fullscreen windows", "pname": "disable-unredirect-fullscreen-windows", "description": "Disables unredirect fullscreen windows in gnome-shell to workaround https://bugzilla.redhat.com/show_bug.cgi?id=767397 and https://bugzilla.gnome.org/show_bug.cgi?id=738719", "link": "https://extensions.gnome.org/extension/1873/disable-unredirect-fullscreen-windows/", "shell_version_map": {"38": {"version": "5", "sha256": "0nv3rj4v9ix1f84d55cki9l27fafxc84ijs6xk6dl47h2h5fjnnl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIGluIGdub21lLXNoZWxsIHRvIHdvcmthcm91bmQgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD03NjczOTcgYW5kIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3MTkiLAogICJuYW1lIjogIkRpc2FibGUgdW5yZWRpcmVjdCBmdWxsc2NyZWVuIHdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thenlzbWFzdGVyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNhYmxlLXVucmVkaXJlY3QiLAogICJ1dWlkIjogInVucmVkaXJlY3RAdmFpbmEubHQiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "0nv3rj4v9ix1f84d55cki9l27fafxc84ijs6xk6dl47h2h5fjnnl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIGluIGdub21lLXNoZWxsIHRvIHdvcmthcm91bmQgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD03NjczOTcgYW5kIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3MTkiLAogICJuYW1lIjogIkRpc2FibGUgdW5yZWRpcmVjdCBmdWxsc2NyZWVuIHdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thenlzbWFzdGVyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNhYmxlLXVucmVkaXJlY3QiLAogICJ1dWlkIjogInVucmVkaXJlY3RAdmFpbmEubHQiLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "0nv3rj4v9ix1f84d55cki9l27fafxc84ijs6xk6dl47h2h5fjnnl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIGluIGdub21lLXNoZWxsIHRvIHdvcmthcm91bmQgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD03NjczOTcgYW5kIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3MTkiLAogICJuYW1lIjogIkRpc2FibGUgdW5yZWRpcmVjdCBmdWxsc2NyZWVuIHdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thenlzbWFzdGVyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNhYmxlLXVucmVkaXJlY3QiLAogICJ1dWlkIjogInVucmVkaXJlY3RAdmFpbmEubHQiLAogICJ2ZXJzaW9uIjogNQp9"}, "42": {"version": "5", "sha256": "0nv3rj4v9ix1f84d55cki9l27fafxc84ijs6xk6dl47h2h5fjnnl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIGluIGdub21lLXNoZWxsIHRvIHdvcmthcm91bmQgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD03NjczOTcgYW5kIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3MTkiLAogICJuYW1lIjogIkRpc2FibGUgdW5yZWRpcmVjdCBmdWxsc2NyZWVuIHdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIkthemltaWVyYXMgVmFpbmEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thenlzbWFzdGVyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNhYmxlLXVucmVkaXJlY3QiLAogICJ1dWlkIjogInVucmVkaXJlY3RAdmFpbmEubHQiLAogICJ2ZXJzaW9uIjogNQp9"}}}
-, {"uuid": "krypto@sereneblue", "name": "krypto", "pname": "krypto", "description": "Cryptocurrency utility", "link": "https://extensions.gnome.org/extension/1913/krypto/", "shell_version_map": {"38": {"version": "5", "sha256": "0pmga4iqpm0i853lgqfhvnkxhji8m79pk9hgf24lvbpv8alkxzz3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "19", "sha256": "1ni75fbyxcha4ff7amd4gkc1fnvzylhammp60lnj0hmvab75r02v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "41": {"version": "19", "sha256": "1ni75fbyxcha4ff7amd4gkc1fnvzylhammp60lnj0hmvab75r02v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "42": {"version": "19", "sha256": "1ni75fbyxcha4ff7amd4gkc1fnvzylhammp60lnj0hmvab75r02v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
+, {"uuid": "krypto@sereneblue", "name": "krypto", "pname": "krypto", "description": "Cryptocurrency utility", "link": "https://extensions.gnome.org/extension/1913/krypto/", "shell_version_map": {"38": {"version": "5", "sha256": "0pmga4iqpm0i853lgqfhvnkxhji8m79pk9hgf24lvbpv8alkxzz3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "20", "sha256": "0whzxvf7a1j1plm9fxvnzfavbc45npz6kpy09hmlcbrvqakcxvwh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "41": {"version": "20", "sha256": "0whzxvf7a1j1plm9fxvnzfavbc45npz6kpy09hmlcbrvqakcxvwh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "42": {"version": "20", "sha256": "0whzxvf7a1j1plm9fxvnzfavbc45npz6kpy09hmlcbrvqakcxvwh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
 , {"uuid": "cmus-status@yagreg7.gmail.com", "name": "cmus status", "pname": "cmus-status", "description": "Shows cmus status", "link": "https://extensions.gnome.org/extension/1934/cmus-status/", "shell_version_map": {"38": {"version": "8", "sha256": "1a6b10kirzbjlllcnffznjlljicah172kpvs0p8rmwhcpn88i8hx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGNtdXMgc3RhdHVzIiwKICAibmFtZSI6ICJjbXVzIHN0YXR1cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jbXVzLXN0YXR1cy5nc2NoZW1hLnhtbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0dyZWdUaGVNYWRNb25rL2dub21lLWNtdXMtc3RhdHVzIiwKICAidXVpZCI6ICJjbXVzLXN0YXR1c0B5YWdyZWc3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "10", "sha256": "0a1g8l2w46nky88db7vjpv3iz87jk967vfm3vnvi7rw9wqphkn9z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGNtdXMgc3RhdHVzIiwKICAibmFtZSI6ICJjbXVzIHN0YXR1cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jbXVzLXN0YXR1cy5nc2NoZW1hLnhtbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR3JlZ1RoZU1hZE1vbmsvZ25vbWUtY211cy1zdGF0dXMiLAogICJ1dWlkIjogImNtdXMtc3RhdHVzQHlhZ3JlZzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "0a1g8l2w46nky88db7vjpv3iz87jk967vfm3vnvi7rw9wqphkn9z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGNtdXMgc3RhdHVzIiwKICAibmFtZSI6ICJjbXVzIHN0YXR1cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jbXVzLXN0YXR1cy5nc2NoZW1hLnhtbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR3JlZ1RoZU1hZE1vbmsvZ25vbWUtY211cy1zdGF0dXMiLAogICJ1dWlkIjogImNtdXMtc3RhdHVzQHlhZ3JlZzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "no-title-bar@jonaspoehler.de", "name": "No Title Bar - Forked", "pname": "no-title-bar-forked", "description": "No Title Bar removes the title bar from non-GTK applications and moves the window title and buttons to the top panel.\n\nTitlebars are also hidden for Wayland-native clients that don't use CSD. Some of the options may be incompatible with this. For issues on Wayland please visit github!\n\nThis is a fork of https://extensions.gnome.org/extension/1267/no-title-bar/ with added compatibility for Gnome 3.32+.\n\nThis extension depends on some Xorg utilities. To install them:\n\n⚫ Debian/Ubuntu: apt install x11-utils\n⚫ Fedora/RHEL: dnf install xorg-x11-utils\n⚫ Arch: pacman -S xorg-xprop", "link": "https://extensions.gnome.org/extension/2015/no-title-bar-forked/", "shell_version_map": {"38": {"version": "5", "sha256": "0kch8yra13813gg3wa90lm57skqshmj3j1147lrqwhl9va9rk4q6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIFRpdGxlIEJhciByZW1vdmVzIHRoZSB0aXRsZSBiYXIgZnJvbSBub24tR1RLIGFwcGxpY2F0aW9ucyBhbmQgbW92ZXMgdGhlIHdpbmRvdyB0aXRsZSBhbmQgYnV0dG9ucyB0byB0aGUgdG9wIHBhbmVsLlxuXG5UaXRsZWJhcnMgYXJlIGFsc28gaGlkZGVuIGZvciBXYXlsYW5kLW5hdGl2ZSBjbGllbnRzIHRoYXQgZG9uJ3QgdXNlIENTRC4gU29tZSBvZiB0aGUgb3B0aW9ucyBtYXkgYmUgaW5jb21wYXRpYmxlIHdpdGggdGhpcy4gRm9yIGlzc3VlcyBvbiBXYXlsYW5kIHBsZWFzZSB2aXNpdCBnaXRodWIhXG5cblRoaXMgaXMgYSBmb3JrIG9mIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyNjcvbm8tdGl0bGUtYmFyLyB3aXRoIGFkZGVkIGNvbXBhdGliaWxpdHkgZm9yIEdub21lIDMuMzIrLlxuXG5UaGlzIGV4dGVuc2lvbiBkZXBlbmRzIG9uIHNvbWUgWG9yZyB1dGlsaXRpZXMuIFRvIGluc3RhbGwgdGhlbTpcblxuXHUyNmFiIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuXHUyNmFiIEZlZG9yYS9SSEVMOiBkbmYgaW5zdGFsbCB4b3JnLXgxMS11dGlsc1xuXHUyNmFiIEFyY2g6IHBhY21hbiAtUyB4b3JnLXhwcm9wIiwKICAibmFtZSI6ICJObyBUaXRsZSBCYXIgLSBGb3JrZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb2VobGVyai9uby10aXRsZS1iYXIiLAogICJ1dWlkIjogIm5vLXRpdGxlLWJhckBqb25hc3BvZWhsZXIuZGUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "6", "sha256": "1plnj999qynsfvab6s01rfrdvw6m0s19b4zirhmlqrpax9vjl3zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIFRpdGxlIEJhciByZW1vdmVzIHRoZSB0aXRsZSBiYXIgZnJvbSBub24tR1RLIGFwcGxpY2F0aW9ucyBhbmQgbW92ZXMgdGhlIHdpbmRvdyB0aXRsZSBhbmQgYnV0dG9ucyB0byB0aGUgdG9wIHBhbmVsLlxuXG5UaXRsZWJhcnMgYXJlIGFsc28gaGlkZGVuIGZvciBXYXlsYW5kLW5hdGl2ZSBjbGllbnRzIHRoYXQgZG9uJ3QgdXNlIENTRC4gU29tZSBvZiB0aGUgb3B0aW9ucyBtYXkgYmUgaW5jb21wYXRpYmxlIHdpdGggdGhpcy4gRm9yIGlzc3VlcyBvbiBXYXlsYW5kIHBsZWFzZSB2aXNpdCBnaXRodWIhXG5cblRoaXMgaXMgYSBmb3JrIG9mIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyNjcvbm8tdGl0bGUtYmFyLyB3aXRoIGFkZGVkIGNvbXBhdGliaWxpdHkgZm9yIEdub21lIDMuMzIrLlxuXG5UaGlzIGV4dGVuc2lvbiBkZXBlbmRzIG9uIHNvbWUgWG9yZyB1dGlsaXRpZXMuIFRvIGluc3RhbGwgdGhlbTpcblxuXHUyNmFiIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuXHUyNmFiIEZlZG9yYS9SSEVMOiBkbmYgaW5zdGFsbCB4b3JnLXgxMS11dGlsc1xuXHUyNmFiIEFyY2g6IHBhY21hbiAtUyB4b3JnLXhwcm9wIiwKICAibmFtZSI6ICJObyBUaXRsZSBCYXIgLSBGb3JrZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcG9laGxlcmovbm8tdGl0bGUtYmFyIiwKICAidXVpZCI6ICJuby10aXRsZS1iYXJAam9uYXNwb2VobGVyLmRlIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "application_view_when_empty@fawtytoo", "name": "Show Application View When Workspace Empty", "pname": "show-application-view-when-workspace-empty", "description": "Shows the application view when the workspace is or becomes empty, such as switching to an empty workspace, when all windows on a workspace are closed, or after login. Starting applications or switching to a workspace with open windows will hide the application view if it's showing.\nFrom version 22, this extension waits for any window closing animation to complete (if enabled) before showing the application view.", "link": "https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/", "shell_version_map": {"38": {"version": "25", "sha256": "1810bd4wqxblwc8y4gzwlc8ld4li2ggb6xpiqilag6aa8pz8y1yq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBhcHBsaWNhdGlvbiB2aWV3IGlmIGl0J3Mgc2hvd2luZy5cbkZyb20gdmVyc2lvbiAyMiwgdGhpcyBleHRlbnNpb24gd2FpdHMgZm9yIGFueSB3aW5kb3cgY2xvc2luZyBhbmltYXRpb24gdG8gY29tcGxldGUgKGlmIGVuYWJsZWQpIGJlZm9yZSBzaG93aW5nIHRoZSBhcHBsaWNhdGlvbiB2aWV3LiIsCiAgIm5hbWUiOiAiU2hvdyBBcHBsaWNhdGlvbiBWaWV3IFdoZW4gV29ya3NwYWNlIEVtcHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vU2hvdy1BcHBsaWNhdGlvbi1WaWV3LVdoZW4tV29ya3NwYWNlLUVtcHR5IiwKICAidXVpZCI6ICJhcHBsaWNhdGlvbl92aWV3X3doZW5fZW1wdHlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "40": {"version": "25", "sha256": "1810bd4wqxblwc8y4gzwlc8ld4li2ggb6xpiqilag6aa8pz8y1yq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBhcHBsaWNhdGlvbiB2aWV3IGlmIGl0J3Mgc2hvd2luZy5cbkZyb20gdmVyc2lvbiAyMiwgdGhpcyBleHRlbnNpb24gd2FpdHMgZm9yIGFueSB3aW5kb3cgY2xvc2luZyBhbmltYXRpb24gdG8gY29tcGxldGUgKGlmIGVuYWJsZWQpIGJlZm9yZSBzaG93aW5nIHRoZSBhcHBsaWNhdGlvbiB2aWV3LiIsCiAgIm5hbWUiOiAiU2hvdyBBcHBsaWNhdGlvbiBWaWV3IFdoZW4gV29ya3NwYWNlIEVtcHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vU2hvdy1BcHBsaWNhdGlvbi1WaWV3LVdoZW4tV29ya3NwYWNlLUVtcHR5IiwKICAidXVpZCI6ICJhcHBsaWNhdGlvbl92aWV3X3doZW5fZW1wdHlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "41": {"version": "25", "sha256": "1810bd4wqxblwc8y4gzwlc8ld4li2ggb6xpiqilag6aa8pz8y1yq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBhcHBsaWNhdGlvbiB2aWV3IGlmIGl0J3Mgc2hvd2luZy5cbkZyb20gdmVyc2lvbiAyMiwgdGhpcyBleHRlbnNpb24gd2FpdHMgZm9yIGFueSB3aW5kb3cgY2xvc2luZyBhbmltYXRpb24gdG8gY29tcGxldGUgKGlmIGVuYWJsZWQpIGJlZm9yZSBzaG93aW5nIHRoZSBhcHBsaWNhdGlvbiB2aWV3LiIsCiAgIm5hbWUiOiAiU2hvdyBBcHBsaWNhdGlvbiBWaWV3IFdoZW4gV29ya3NwYWNlIEVtcHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vU2hvdy1BcHBsaWNhdGlvbi1WaWV3LVdoZW4tV29ya3NwYWNlLUVtcHR5IiwKICAidXVpZCI6ICJhcHBsaWNhdGlvbl92aWV3X3doZW5fZW1wdHlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "42": {"version": "25", "sha256": "1810bd4wqxblwc8y4gzwlc8ld4li2ggb6xpiqilag6aa8pz8y1yq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBhcHBsaWNhdGlvbiB2aWV3IGlmIGl0J3Mgc2hvd2luZy5cbkZyb20gdmVyc2lvbiAyMiwgdGhpcyBleHRlbnNpb24gd2FpdHMgZm9yIGFueSB3aW5kb3cgY2xvc2luZyBhbmltYXRpb24gdG8gY29tcGxldGUgKGlmIGVuYWJsZWQpIGJlZm9yZSBzaG93aW5nIHRoZSBhcHBsaWNhdGlvbiB2aWV3LiIsCiAgIm5hbWUiOiAiU2hvdyBBcHBsaWNhdGlvbiBWaWV3IFdoZW4gV29ya3NwYWNlIEVtcHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vU2hvdy1BcHBsaWNhdGlvbi1WaWV3LVdoZW4tV29ya3NwYWNlLUVtcHR5IiwKICAidXVpZCI6ICJhcHBsaWNhdGlvbl92aWV3X3doZW5fZW1wdHlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}}}
 , {"uuid": "activities_icon_menu@fawtytoo", "name": "Activities Icon Menu", "pname": "activities-menu-for-apps-and-windows", "description": "This extension turns the Activities button into a popup menu with icons for selecting either Applications or Workspaces in the Overview. Selecting the same view again will hide the overview.\n\nThis is particularly useful for tablet users that find the Activities button difficult to click on, whereas a menu can be more easily invoked.", "link": "https://extensions.gnome.org/extension/2048/activities-menu-for-apps-and-windows/", "shell_version_map": {"38": {"version": "11", "sha256": "028nrx3hakj8mcr3n6nsnrzg2mfikn49m4j2pjyq67y7vikjr4af", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYWN0aXZpdGllc19pY29uX21lbnVAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "11", "sha256": "028nrx3hakj8mcr3n6nsnrzg2mfikn49m4j2pjyq67y7vikjr4af", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYWN0aXZpdGllc19pY29uX21lbnVAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "028nrx3hakj8mcr3n6nsnrzg2mfikn49m4j2pjyq67y7vikjr4af", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYWN0aXZpdGllc19pY29uX21lbnVAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "028nrx3hakj8mcr3n6nsnrzg2mfikn49m4j2pjyq67y7vikjr4af", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYWN0aXZpdGllc19pY29uX21lbnVAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "Gold_Price_Monitor@wotmshuaisi_github", "name": "Gold Price Monitor", "pname": "gold-price-monitor", "description": "simple gnome extension helps you tracking gold price in realtime", "link": "https://extensions.gnome.org/extension/2075/gold-price-monitor/", "shell_version_map": {"40": {"version": "22", "sha256": "04gqhg2am27iifzgfibcs28cqqq6lkb5lmmhzvba6pyqa9i175lr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhbmdlcm91cyI6IGZhbHNlLAogICJkZXNjcmlwdGlvbiI6ICJzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIGhlbHBzIHlvdSB0cmFja2luZyBnb2xkIHByaWNlIGluIHJlYWx0aW1lIiwKICAibmFtZSI6ICJHb2xkIFByaWNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29sZC1wcmljZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93b3Rtc2h1YWlzaS9nb2xkcHJpY2Vtb25pdG9yIiwKICAidXVpZCI6ICJHb2xkX1ByaWNlX01vbml0b3JAd290bXNodWFpc2lfZ2l0aHViIiwKICAidmVyc2lvbiI6IDIyCn0="}, "41": {"version": "22", "sha256": "04gqhg2am27iifzgfibcs28cqqq6lkb5lmmhzvba6pyqa9i175lr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhbmdlcm91cyI6IGZhbHNlLAogICJkZXNjcmlwdGlvbiI6ICJzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIGhlbHBzIHlvdSB0cmFja2luZyBnb2xkIHByaWNlIGluIHJlYWx0aW1lIiwKICAibmFtZSI6ICJHb2xkIFByaWNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29sZC1wcmljZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93b3Rtc2h1YWlzaS9nb2xkcHJpY2Vtb25pdG9yIiwKICAidXVpZCI6ICJHb2xkX1ByaWNlX01vbml0b3JAd290bXNodWFpc2lfZ2l0aHViIiwKICAidmVyc2lvbiI6IDIyCn0="}}}
 , {"uuid": "ding@rastersoft.com", "name": "Desktop Icons NG (DING)", "pname": "desktop-icons-ng-ding", "description": "Adds icons to the desktop. Fork of the original Desktop Icons extension, with several enhancements .", "link": "https://extensions.gnome.org/extension/2087/desktop-icons-ng-ding/", "shell_version_map": {"38": {"version": "44", "sha256": "0nr4xcyvl4133ms7ph96gxps1h5fkc1b5r2npafw5fqw4v3969ls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQ0Cn0="}, "40": {"version": "44", "sha256": "0nr4xcyvl4133ms7ph96gxps1h5fkc1b5r2npafw5fqw4v3969ls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQ0Cn0="}, "41": {"version": "44", "sha256": "0nr4xcyvl4133ms7ph96gxps1h5fkc1b5r2npafw5fqw4v3969ls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQ0Cn0="}, "42": {"version": "44", "sha256": "0nr4xcyvl4133ms7ph96gxps1h5fkc1b5r2npafw5fqw4v3969ls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQ0Cn0="}}}
-, {"uuid": "order-extensions@wa4557.github.com", "name": "Order Gnome Shell extensions", "pname": "order-gnome-shell-extensions", "description": "Fixes order of gnome-shell extensions", "link": "https://extensions.gnome.org/extension/2114/order-gnome-shell-extensions/", "shell_version_map": {"38": {"version": "6", "sha256": "0hcbjrhrg11f5p23bhss75nhc9sqlh6p1bmfq7p7m7d276ckdmkk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICIzLjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm9yZGVyLWV4dGVuc2lvbnNAd2E0NTU3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"uuid": "order-extensions@wa4557.github.com", "name": "Order Gnome Shell extensions", "pname": "order-gnome-shell-extensions", "description": "Fixes order of gnome-shell extensions\n\nhttps://github.com/andia89/order-icons", "link": "https://extensions.gnome.org/extension/2114/order-gnome-shell-extensions/", "shell_version_map": {"38": {"version": "6", "sha256": "1nc7kg43xv02ndy1c9q2a32ca558ah21kdpwqy98xp0gyxc3sppy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zXG5cbmh0dHBzOi8vZ2l0aHViLmNvbS9hbmRpYTg5L29yZGVyLWljb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICIzLjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm9yZGVyLWV4dGVuc2lvbnNAd2E0NTU3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "12", "sha256": "12v52sr6yfgxjmpva5c4navgx7h16cm4a5dq88jqwzkq0a9iilic", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zXG5cbmh0dHBzOi8vZ2l0aHViLmNvbS9hbmRpYTg5L29yZGVyLWljb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm9yZGVyLWV4dGVuc2lvbnNAd2E0NTU3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "12v52sr6yfgxjmpva5c4navgx7h16cm4a5dq88jqwzkq0a9iilic", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zXG5cbmh0dHBzOi8vZ2l0aHViLmNvbS9hbmRpYTg5L29yZGVyLWljb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm9yZGVyLWV4dGVuc2lvbnNAd2E0NTU3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "42": {"version": "12", "sha256": "12v52sr6yfgxjmpva5c4navgx7h16cm4a5dq88jqwzkq0a9iilic", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zXG5cbmh0dHBzOi8vZ2l0aHViLmNvbS9hbmRpYTg5L29yZGVyLWljb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm9yZGVyLWV4dGVuc2lvbnNAd2E0NTU3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
 , {"uuid": "horizontal-workspaces@gnome-shell-extensions.gcampax.github.com", "name": "Horizontal workspaces", "pname": "horizontal-workspaces", "description": "Use a horizontal workspace layout", "link": "https://extensions.gnome.org/extension/2141/horizontal-workspaces/", "shell_version_map": {"38": {"version": "5", "sha256": "0kbqcrs96v72yk0rf8jghy1a31651fyvgpi97yp46n4wmvc41vk7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVzZSBhIGhvcml6b250YWwgd29ya3NwYWNlIGxheW91dCIsCiAgImV4dGVuc2lvbi1pZCI6ICJob3Jpem9udGFsLXdvcmtzcGFjZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJIb3Jpem9udGFsIHdvcmtzcGFjZXMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiaG9yaXpvbnRhbC13b3Jrc3BhY2VzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "threefingerwindowmove@do.sch.dev.gmail.com", "name": "Three Finger Window Move", "pname": "three-finger-window-move", "description": "Allows moving windows around with a three finger trackpad gesture (Wayland only)", "link": "https://extensions.gnome.org/extension/2164/three-finger-window-move/", "shell_version_map": {"38": {"version": "7", "sha256": "1m7vwr6s6w297b0x0bmnj8fs2hl73pbys6m93lnb9inh5pmgiv1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBtb3Zpbmcgd2luZG93cyBhcm91bmQgd2l0aCBhIHRocmVlIGZpbmdlciB0cmFja3BhZCBnZXN0dXJlIChXYXlsYW5kIG9ubHkpIiwKICAibmFtZSI6ICJUaHJlZSBGaW5nZXIgV2luZG93IE1vdmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kby1zY2gvZ25vbWUtc2hlbGwtdG91Y2hwYWQtd2luZG93LW1vdmUiLAogICJ1dWlkIjogInRocmVlZmluZ2Vyd2luZG93bW92ZUBkby5zY2guZGV2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
-, {"uuid": "spotify-ad-block@danigm.net", "name": "Mute spotify ads", "pname": "mute-spotify-ads", "description": "Mute spotify ads", "link": "https://extensions.gnome.org/extension/2176/mute-spotify-ads/", "shell_version_map": {"38": {"version": "13", "sha256": "0js8rzksy464lrl8870fik2lv8in108n24dl3qq42fj0qhib0qmg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vc3BvdGlmeS1hZC1ibG9ja2VyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFkLWJsb2NrQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "40": {"version": "13", "sha256": "0js8rzksy464lrl8870fik2lv8in108n24dl3qq42fj0qhib0qmg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vc3BvdGlmeS1hZC1ibG9ja2VyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFkLWJsb2NrQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "0js8rzksy464lrl8870fik2lv8in108n24dl3qq42fj0qhib0qmg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vc3BvdGlmeS1hZC1ibG9ja2VyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFkLWJsb2NrQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "42": {"version": "13", "sha256": "0js8rzksy464lrl8870fik2lv8in108n24dl3qq42fj0qhib0qmg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vc3BvdGlmeS1hZC1ibG9ja2VyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFkLWJsb2NrQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
+, {"uuid": "spotify-ad-block@danigm.net", "name": "Mute spotify ads", "pname": "mute-spotify-ads", "description": "Mute spotify ads", "link": "https://extensions.gnome.org/extension/2176/mute-spotify-ads/", "shell_version_map": {"38": {"version": "15", "sha256": "1sxqira8hgdjam2b3fya1zpgdl3539vhy6r87jvss4x4r92r8jyr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vc3BvdGlmeS1hZC1ibG9ja2VyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFkLWJsb2NrQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "40": {"version": "15", "sha256": "1sxqira8hgdjam2b3fya1zpgdl3539vhy6r87jvss4x4r92r8jyr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vc3BvdGlmeS1hZC1ibG9ja2VyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFkLWJsb2NrQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "15", "sha256": "1sxqira8hgdjam2b3fya1zpgdl3539vhy6r87jvss4x4r92r8jyr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vc3BvdGlmeS1hZC1ibG9ja2VyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFkLWJsb2NrQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "42": {"version": "15", "sha256": "1sxqira8hgdjam2b3fya1zpgdl3539vhy6r87jvss4x4r92r8jyr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vc3BvdGlmeS1hZC1ibG9ja2VyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFkLWJsb2NrQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
 , {"uuid": "noannoyance@daase.net", "name": "NoAnnoyance v2", "pname": "noannoyance", "description": "Another extension, that removes the 'Window is ready' notification and puts the window into focus. In contrast to all the other extensions, this uses ES6 syntax and is actively maintained.", "link": "https://extensions.gnome.org/extension/2182/noannoyance/", "shell_version_map": {"38": {"version": "12", "sha256": "1wr1wxmaxb569m3wsfdhs0jdpq1zqx3bkk6dgn9iswbbr060bnd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uLCB0aGF0IHJlbW92ZXMgdGhlICdXaW5kb3cgaXMgcmVhZHknIG5vdGlmaWNhdGlvbiBhbmQgcHV0cyB0aGUgd2luZG93IGludG8gZm9jdXMuIEluIGNvbnRyYXN0IHRvIGFsbCB0aGUgb3RoZXIgZXh0ZW5zaW9ucywgdGhpcyB1c2VzIEVTNiBzeW50YXggYW5kIGlzIGFjdGl2ZWx5IG1haW50YWluZWQuIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSB2MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Jqb2VybkRhYXNlL25vYW5ub3lhbmNlIiwKICAidXVpZCI6ICJub2Fubm95YW5jZUBkYWFzZS5uZXQiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "40": {"version": "12", "sha256": "1wr1wxmaxb569m3wsfdhs0jdpq1zqx3bkk6dgn9iswbbr060bnd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uLCB0aGF0IHJlbW92ZXMgdGhlICdXaW5kb3cgaXMgcmVhZHknIG5vdGlmaWNhdGlvbiBhbmQgcHV0cyB0aGUgd2luZG93IGludG8gZm9jdXMuIEluIGNvbnRyYXN0IHRvIGFsbCB0aGUgb3RoZXIgZXh0ZW5zaW9ucywgdGhpcyB1c2VzIEVTNiBzeW50YXggYW5kIGlzIGFjdGl2ZWx5IG1haW50YWluZWQuIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSB2MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Jqb2VybkRhYXNlL25vYW5ub3lhbmNlIiwKICAidXVpZCI6ICJub2Fubm95YW5jZUBkYWFzZS5uZXQiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "1wr1wxmaxb569m3wsfdhs0jdpq1zqx3bkk6dgn9iswbbr060bnd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uLCB0aGF0IHJlbW92ZXMgdGhlICdXaW5kb3cgaXMgcmVhZHknIG5vdGlmaWNhdGlvbiBhbmQgcHV0cyB0aGUgd2luZG93IGludG8gZm9jdXMuIEluIGNvbnRyYXN0IHRvIGFsbCB0aGUgb3RoZXIgZXh0ZW5zaW9ucywgdGhpcyB1c2VzIEVTNiBzeW50YXggYW5kIGlzIGFjdGl2ZWx5IG1haW50YWluZWQuIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSB2MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Jqb2VybkRhYXNlL25vYW5ub3lhbmNlIiwKICAidXVpZCI6ICJub2Fubm95YW5jZUBkYWFzZS5uZXQiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "42": {"version": "12", "sha256": "1wr1wxmaxb569m3wsfdhs0jdpq1zqx3bkk6dgn9iswbbr060bnd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uLCB0aGF0IHJlbW92ZXMgdGhlICdXaW5kb3cgaXMgcmVhZHknIG5vdGlmaWNhdGlvbiBhbmQgcHV0cyB0aGUgd2luZG93IGludG8gZm9jdXMuIEluIGNvbnRyYXN0IHRvIGFsbCB0aGUgb3RoZXIgZXh0ZW5zaW9ucywgdGhpcyB1c2VzIEVTNiBzeW50YXggYW5kIGlzIGFjdGl2ZWx5IG1haW50YWluZWQuIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSB2MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Jqb2VybkRhYXNlL25vYW5ub3lhbmNlIiwKICAidXVpZCI6ICJub2Fubm95YW5jZUBkYWFzZS5uZXQiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
-, {"uuid": "vim-altTab@kokong.info", "name": "VIM Alt-Tab", "pname": "vim-alt-tab", "description": "Add the ability to switch between windows and applications using vim-like keypresses (h, j, k, l)", "link": "https://extensions.gnome.org/extension/2212/vim-alt-tab/", "shell_version_map": {"38": {"version": "5", "sha256": "0r69cnr4r1vwny8jxc6yymmmiyy5fac4634r8kr0k5b7j1y6f0cw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29rby1uZy92aW0tYWx0VGFiIiwKICAidXVpZCI6ICJ2aW0tYWx0VGFiQGtva29uZy5pbmZvIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0r69cnr4r1vwny8jxc6yymmmiyy5fac4634r8kr0k5b7j1y6f0cw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29rby1uZy92aW0tYWx0VGFiIiwKICAidXVpZCI6ICJ2aW0tYWx0VGFiQGtva29uZy5pbmZvIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "0r69cnr4r1vwny8jxc6yymmmiyy5fac4634r8kr0k5b7j1y6f0cw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29rby1uZy92aW0tYWx0VGFiIiwKICAidXVpZCI6ICJ2aW0tYWx0VGFiQGtva29uZy5pbmZvIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
+, {"uuid": "vim-altTab@kokong.info", "name": "VIM Alt-Tab", "pname": "vim-alt-tab", "description": "Add the ability to switch between windows and applications using vim-like keypresses (h, j, k, l)", "link": "https://extensions.gnome.org/extension/2212/vim-alt-tab/", "shell_version_map": {"38": {"version": "6", "sha256": "0k7k4fa5b8vdvycwwycwisrf5js2c65ixc88hi8x7czwkzml7mgd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tva28tbmcvdmltLWFsdFRhYiIsCiAgInV1aWQiOiAidmltLWFsdFRhYkBrb2tvbmcuaW5mbyIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "0k7k4fa5b8vdvycwwycwisrf5js2c65ixc88hi8x7czwkzml7mgd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tva28tbmcvdmltLWFsdFRhYiIsCiAgInV1aWQiOiAidmltLWFsdFRhYkBrb2tvbmcuaW5mbyIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0k7k4fa5b8vdvycwwycwisrf5js2c65ixc88hi8x7czwkzml7mgd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tva28tbmcvdmltLWFsdFRhYiIsCiAgInV1aWQiOiAidmltLWFsdFRhYkBrb2tvbmcuaW5mbyIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "0k7k4fa5b8vdvycwwycwisrf5js2c65ixc88hi8x7czwkzml7mgd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tva28tbmcvdmltLWFsdFRhYiIsCiAgInV1aWQiOiAidmltLWFsdFRhYkBrb2tvbmcuaW5mbyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "easy_docker_containers@red.software.systems", "name": "Easy Docker Containers", "pname": "easy-docker-containers", "description": "A GNOME Shell extension (GNOME Panel applet) to be able to generally control your available Docker containers.", "link": "https://extensions.gnome.org/extension/2224/easy-docker-containers/", "shell_version_map": {"38": {"version": "14", "sha256": "0k73mbcalr7m614yi4s1395881ci8sb40hfyvhz53cw3slx73b0s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIGJlIGFibGUgdG8gZ2VuZXJhbGx5IGNvbnRyb2wgeW91ciBhdmFpbGFibGUgRG9ja2VyIGNvbnRhaW5lcnMuIiwKICAibmFtZSI6ICJFYXN5IERvY2tlciBDb250YWluZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmVkU29mdHdhcmVTeXN0ZW1zL2Vhc3lfZG9ja2VyX2NvbnRhaW5lcnMiLAogICJ1dWlkIjogImVhc3lfZG9ja2VyX2NvbnRhaW5lcnNAcmVkLnNvZnR3YXJlLnN5c3RlbXMiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "14", "sha256": "0k73mbcalr7m614yi4s1395881ci8sb40hfyvhz53cw3slx73b0s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIGJlIGFibGUgdG8gZ2VuZXJhbGx5IGNvbnRyb2wgeW91ciBhdmFpbGFibGUgRG9ja2VyIGNvbnRhaW5lcnMuIiwKICAibmFtZSI6ICJFYXN5IERvY2tlciBDb250YWluZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmVkU29mdHdhcmVTeXN0ZW1zL2Vhc3lfZG9ja2VyX2NvbnRhaW5lcnMiLAogICJ1dWlkIjogImVhc3lfZG9ja2VyX2NvbnRhaW5lcnNAcmVkLnNvZnR3YXJlLnN5c3RlbXMiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "0k73mbcalr7m614yi4s1395881ci8sb40hfyvhz53cw3slx73b0s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIGJlIGFibGUgdG8gZ2VuZXJhbGx5IGNvbnRyb2wgeW91ciBhdmFpbGFibGUgRG9ja2VyIGNvbnRhaW5lcnMuIiwKICAibmFtZSI6ICJFYXN5IERvY2tlciBDb250YWluZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmVkU29mdHdhcmVTeXN0ZW1zL2Vhc3lfZG9ja2VyX2NvbnRhaW5lcnMiLAogICJ1dWlkIjogImVhc3lfZG9ja2VyX2NvbnRhaW5lcnNAcmVkLnNvZnR3YXJlLnN5c3RlbXMiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "42": {"version": "14", "sha256": "0k73mbcalr7m614yi4s1395881ci8sb40hfyvhz53cw3slx73b0s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIGJlIGFibGUgdG8gZ2VuZXJhbGx5IGNvbnRyb2wgeW91ciBhdmFpbGFibGUgRG9ja2VyIGNvbnRhaW5lcnMuIiwKICAibmFtZSI6ICJFYXN5IERvY2tlciBDb250YWluZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUmVkU29mdHdhcmVTeXN0ZW1zL2Vhc3lfZG9ja2VyX2NvbnRhaW5lcnMiLAogICJ1dWlkIjogImVhc3lfZG9ja2VyX2NvbnRhaW5lcnNAcmVkLnNvZnR3YXJlLnN5c3RlbXMiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
-, {"uuid": "nightthemeswitcher@romainvigier.fr", "name": "Night Theme Switcher", "pname": "night-theme-switcher", "description": "Make your desktop easy on the eye, day and night.\n\nAutomatically toggle the color scheme between light and dark, switch backgrounds and run custom commands at sunset and sunrise.\n\nSupports Night Light, Location Services, manual schedule and on-demand switch modes.", "link": "https://extensions.gnome.org/extension/2236/night-theme-switcher/", "shell_version_map": {"38": {"version": "46", "sha256": "0x3mggffn6ydfkv09gwq62wgkm8zga214616jp60mpwp4ly0xphm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91ciBkZXNrdG9wIGVhc3kgb24gdGhlIGV5ZSwgZGF5IGFuZCBuaWdodC5cblxuQXV0b21hdGljYWxseSB0b2dnbGUgdGhlIGNvbG9yIHNjaGVtZSBiZXR3ZWVuIGxpZ2h0IGFuZCBkYXJrLCBzd2l0Y2ggYmFja2dyb3VuZHMgYW5kIHJ1biBjdXN0b20gY29tbWFuZHMgYXQgc3Vuc2V0IGFuZCBzdW5yaXNlLlxuXG5TdXBwb3J0cyBOaWdodCBMaWdodCwgTG9jYXRpb24gU2VydmljZXMsIG1hbnVhbCBzY2hlZHVsZSBhbmQgb24tZGVtYW5kIHN3aXRjaCBtb2Rlcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAibmFtZSI6ICJOaWdodCBUaGVtZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uaWdodHRoZW1lc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vbmlnaHR0aGVtZXN3aXRjaGVyLnJvbWFpbnZpZ2llci5mciIsCiAgInV1aWQiOiAibmlnaHR0aGVtZXN3aXRjaGVyQHJvbWFpbnZpZ2llci5mciIsCiAgInZlcnNpb24iOiA0Ngp9"}, "40": {"version": "51", "sha256": "1pnljdl2syh0lv2ih2ps2im2pnyzkwsbzsvv3f8q7zf669jxca9g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91ciBkZXNrdG9wIGVhc3kgb24gdGhlIGV5ZSwgZGF5IGFuZCBuaWdodC5cblxuQXV0b21hdGljYWxseSB0b2dnbGUgdGhlIGNvbG9yIHNjaGVtZSBiZXR3ZWVuIGxpZ2h0IGFuZCBkYXJrLCBzd2l0Y2ggYmFja2dyb3VuZHMgYW5kIHJ1biBjdXN0b20gY29tbWFuZHMgYXQgc3Vuc2V0IGFuZCBzdW5yaXNlLlxuXG5TdXBwb3J0cyBOaWdodCBMaWdodCwgTG9jYXRpb24gU2VydmljZXMsIG1hbnVhbCBzY2hlZHVsZSBhbmQgb24tZGVtYW5kIHN3aXRjaCBtb2Rlcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAibmFtZSI6ICJOaWdodCBUaGVtZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uaWdodHRoZW1lc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL25pZ2h0dGhlbWVzd2l0Y2hlci5yb21haW52aWdpZXIuZnIiLAogICJ1dWlkIjogIm5pZ2h0dGhlbWVzd2l0Y2hlckByb21haW52aWdpZXIuZnIiLAogICJ2ZXJzaW9uIjogNTEKfQ=="}, "41": {"version": "55", "sha256": "151lwn6qlh1b91f9c58s7xw5jd7ygvqpr68299qqgn7hvjg0qh6z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91ciBkZXNrdG9wIGVhc3kgb24gdGhlIGV5ZSwgZGF5IGFuZCBuaWdodC5cblxuQXV0b21hdGljYWxseSB0b2dnbGUgdGhlIGNvbG9yIHNjaGVtZSBiZXR3ZWVuIGxpZ2h0IGFuZCBkYXJrLCBzd2l0Y2ggYmFja2dyb3VuZHMgYW5kIHJ1biBjdXN0b20gY29tbWFuZHMgYXQgc3Vuc2V0IGFuZCBzdW5yaXNlLlxuXG5TdXBwb3J0cyBOaWdodCBMaWdodCwgTG9jYXRpb24gU2VydmljZXMsIG1hbnVhbCBzY2hlZHVsZSBhbmQgb24tZGVtYW5kIHN3aXRjaCBtb2Rlcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAibmFtZSI6ICJOaWdodCBUaGVtZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uaWdodHRoZW1lc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL25pZ2h0dGhlbWVzd2l0Y2hlci5yb21haW52aWdpZXIuZnIiLAogICJ1dWlkIjogIm5pZ2h0dGhlbWVzd2l0Y2hlckByb21haW52aWdpZXIuZnIiLAogICJ2ZXJzaW9uIjogNTUKfQ=="}, "42": {"version": "63", "sha256": "0aaz6vl3839ixvhfvyj6srlrb044j4q16jxlgnkb8053b70fbyvg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91ciBkZXNrdG9wIGVhc3kgb24gdGhlIGV5ZSwgZGF5IGFuZCBuaWdodC5cblxuQXV0b21hdGljYWxseSB0b2dnbGUgdGhlIGNvbG9yIHNjaGVtZSBiZXR3ZWVuIGxpZ2h0IGFuZCBkYXJrLCBzd2l0Y2ggYmFja2dyb3VuZHMgYW5kIHJ1biBjdXN0b20gY29tbWFuZHMgYXQgc3Vuc2V0IGFuZCBzdW5yaXNlLlxuXG5TdXBwb3J0cyBOaWdodCBMaWdodCwgTG9jYXRpb24gU2VydmljZXMsIG1hbnVhbCBzY2hlZHVsZSBhbmQgb24tZGVtYW5kIHN3aXRjaCBtb2Rlcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAibmFtZSI6ICJOaWdodCBUaGVtZSBTd2l0Y2hlciIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidW5sb2NrLWRpYWxvZyIsCiAgICAidXNlciIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubmlnaHR0aGVtZXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9uaWdodHRoZW1lc3dpdGNoZXIucm9tYWludmlnaWVyLmZyIiwKICAidXVpZCI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAidmVyc2lvbiI6IDYzCn0="}}}
+, {"uuid": "nightthemeswitcher@romainvigier.fr", "name": "Night Theme Switcher", "pname": "night-theme-switcher", "description": "Make your desktop easy on the eye, day and night.", "link": "https://extensions.gnome.org/extension/2236/night-theme-switcher/", "shell_version_map": {"38": {"version": "46", "sha256": "05z77ncchmlk3ncvz3pfvqp075xy39g6zrxqlpj1f8cp999czyv0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91ciBkZXNrdG9wIGVhc3kgb24gdGhlIGV5ZSwgZGF5IGFuZCBuaWdodC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAibmFtZSI6ICJOaWdodCBUaGVtZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uaWdodHRoZW1lc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vbmlnaHR0aGVtZXN3aXRjaGVyLnJvbWFpbnZpZ2llci5mciIsCiAgInV1aWQiOiAibmlnaHR0aGVtZXN3aXRjaGVyQHJvbWFpbnZpZ2llci5mciIsCiAgInZlcnNpb24iOiA0Ngp9"}, "40": {"version": "51", "sha256": "0js9iwmffw7v3libzl8cmxm3p5j79i9a2003j5bg281g4r26rvvr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91ciBkZXNrdG9wIGVhc3kgb24gdGhlIGV5ZSwgZGF5IGFuZCBuaWdodC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAibmFtZSI6ICJOaWdodCBUaGVtZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uaWdodHRoZW1lc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL25pZ2h0dGhlbWVzd2l0Y2hlci5yb21haW52aWdpZXIuZnIiLAogICJ1dWlkIjogIm5pZ2h0dGhlbWVzd2l0Y2hlckByb21haW52aWdpZXIuZnIiLAogICJ2ZXJzaW9uIjogNTEKfQ=="}, "41": {"version": "55", "sha256": "16gqs754g6dy6dz811zkd3vvj3aipd46h8zzxicvr2099dfz83sj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91ciBkZXNrdG9wIGVhc3kgb24gdGhlIGV5ZSwgZGF5IGFuZCBuaWdodC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAibmFtZSI6ICJOaWdodCBUaGVtZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uaWdodHRoZW1lc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL25pZ2h0dGhlbWVzd2l0Y2hlci5yb21haW52aWdpZXIuZnIiLAogICJ1dWlkIjogIm5pZ2h0dGhlbWVzd2l0Y2hlckByb21haW52aWdpZXIuZnIiLAogICJ2ZXJzaW9uIjogNTUKfQ=="}, "42": {"version": "64", "sha256": "1ch8f0hwz1dvxp866cc6fybk5vz8mgrdfjsbnsjk5p8jswygsvgk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91ciBkZXNrdG9wIGVhc3kgb24gdGhlIGV5ZSwgZGF5IGFuZCBuaWdodC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAibmFtZSI6ICJOaWdodCBUaGVtZSBTd2l0Y2hlciIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidW5sb2NrLWRpYWxvZyIsCiAgICAidXNlciIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubmlnaHR0aGVtZXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9uaWdodHRoZW1lc3dpdGNoZXIucm9tYWludmlnaWVyLmZyIiwKICAidXVpZCI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAidmVyc2lvbiI6IDY0Cn0="}}}
 , {"uuid": "binaryclock@vancha.march", "name": "binaryclock", "pname": "binaryclock", "description": "adds a binary clock to the gnome bar", "link": "https://extensions.gnome.org/extension/2284/binaryclock/", "shell_version_map": {"38": {"version": "6", "sha256": "1bvzlqfhwlk1sh9q3538yipjwzgndd4wnn2l8wc3sshb93ggvpg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFkZHMgYSBiaW5hcnkgY2xvY2sgdG8gdGhlIGdub21lIGJhciIsCiAgIm5hbWUiOiAiYmluYXJ5Y2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzIuMiIsCiAgICAiMy4zOCIsCiAgICAiMy4zNi43IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZhbmNoYS9nbm9tZVNoZWxsQmluYXJ5Q2xvY2svIiwKICAidXVpZCI6ICJiaW5hcnljbG9ja0B2YW5jaGEubWFyY2giLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "1bvzlqfhwlk1sh9q3538yipjwzgndd4wnn2l8wc3sshb93ggvpg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFkZHMgYSBiaW5hcnkgY2xvY2sgdG8gdGhlIGdub21lIGJhciIsCiAgIm5hbWUiOiAiYmluYXJ5Y2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzIuMiIsCiAgICAiMy4zOCIsCiAgICAiMy4zNi43IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZhbmNoYS9nbm9tZVNoZWxsQmluYXJ5Q2xvY2svIiwKICAidXVpZCI6ICJiaW5hcnljbG9ja0B2YW5jaGEubWFyY2giLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "lgbutton@glerro.gnome.gitlab.io", "name": "Looking Glass Button", "pname": "looking-glass-button", "description": "Toggle the Looking Glass visibility by clicking on a panel icon.\n\nAnd from version 4 left clicking on the icon show a menu with new features like Restart Gnome Shell (not available on Wayland), Reload Theme, Open Extension Folder and Open Theme Folder (the last two require that xdg-open is installed).\n\nVersion 4 also drop the compatibility with Gnome Shell 3.30.", "link": "https://extensions.gnome.org/extension/2296/looking-glass-button/", "shell_version_map": {"38": {"version": "8", "sha256": "0rkk1mivq0drvpjbg89gi7plpaza71r08cyvkymygwwi2sfwpy9l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgTG9va2luZyBHbGFzcyB2aXNpYmlsaXR5IGJ5IGNsaWNraW5nIG9uIGEgcGFuZWwgaWNvbi5cblxuQW5kIGZyb20gdmVyc2lvbiA0IGxlZnQgY2xpY2tpbmcgb24gdGhlIGljb24gc2hvdyBhIG1lbnUgd2l0aCBuZXcgZmVhdHVyZXMgbGlrZSBSZXN0YXJ0IEdub21lIFNoZWxsIChub3QgYXZhaWxhYmxlIG9uIFdheWxhbmQpLCBSZWxvYWQgVGhlbWUsIE9wZW4gRXh0ZW5zaW9uIEZvbGRlciBhbmQgT3BlbiBUaGVtZSBGb2xkZXIgKHRoZSBsYXN0IHR3byByZXF1aXJlIHRoYXQgeGRnLW9wZW4gaXMgaW5zdGFsbGVkKS5cblxuVmVyc2lvbiA0IGFsc28gZHJvcCB0aGUgY29tcGF0aWJpbGl0eSB3aXRoIEdub21lIFNoZWxsIDMuMzAuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxnYnV0dG9uIiwKICAibmFtZSI6ICJMb29raW5nIEdsYXNzIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2dsZXJyby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbGdidXR0b24iLAogICJ1dWlkIjogImxnYnV0dG9uQGdsZXJyby5nbm9tZS5naXRsYWIuaW8iLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "0rkk1mivq0drvpjbg89gi7plpaza71r08cyvkymygwwi2sfwpy9l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgTG9va2luZyBHbGFzcyB2aXNpYmlsaXR5IGJ5IGNsaWNraW5nIG9uIGEgcGFuZWwgaWNvbi5cblxuQW5kIGZyb20gdmVyc2lvbiA0IGxlZnQgY2xpY2tpbmcgb24gdGhlIGljb24gc2hvdyBhIG1lbnUgd2l0aCBuZXcgZmVhdHVyZXMgbGlrZSBSZXN0YXJ0IEdub21lIFNoZWxsIChub3QgYXZhaWxhYmxlIG9uIFdheWxhbmQpLCBSZWxvYWQgVGhlbWUsIE9wZW4gRXh0ZW5zaW9uIEZvbGRlciBhbmQgT3BlbiBUaGVtZSBGb2xkZXIgKHRoZSBsYXN0IHR3byByZXF1aXJlIHRoYXQgeGRnLW9wZW4gaXMgaW5zdGFsbGVkKS5cblxuVmVyc2lvbiA0IGFsc28gZHJvcCB0aGUgY29tcGF0aWJpbGl0eSB3aXRoIEdub21lIFNoZWxsIDMuMzAuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxnYnV0dG9uIiwKICAibmFtZSI6ICJMb29raW5nIEdsYXNzIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2dsZXJyby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbGdidXR0b24iLAogICJ1dWlkIjogImxnYnV0dG9uQGdsZXJyby5nbm9tZS5naXRsYWIuaW8iLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "0rkk1mivq0drvpjbg89gi7plpaza71r08cyvkymygwwi2sfwpy9l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgTG9va2luZyBHbGFzcyB2aXNpYmlsaXR5IGJ5IGNsaWNraW5nIG9uIGEgcGFuZWwgaWNvbi5cblxuQW5kIGZyb20gdmVyc2lvbiA0IGxlZnQgY2xpY2tpbmcgb24gdGhlIGljb24gc2hvdyBhIG1lbnUgd2l0aCBuZXcgZmVhdHVyZXMgbGlrZSBSZXN0YXJ0IEdub21lIFNoZWxsIChub3QgYXZhaWxhYmxlIG9uIFdheWxhbmQpLCBSZWxvYWQgVGhlbWUsIE9wZW4gRXh0ZW5zaW9uIEZvbGRlciBhbmQgT3BlbiBUaGVtZSBGb2xkZXIgKHRoZSBsYXN0IHR3byByZXF1aXJlIHRoYXQgeGRnLW9wZW4gaXMgaW5zdGFsbGVkKS5cblxuVmVyc2lvbiA0IGFsc28gZHJvcCB0aGUgY29tcGF0aWJpbGl0eSB3aXRoIEdub21lIFNoZWxsIDMuMzAuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxnYnV0dG9uIiwKICAibmFtZSI6ICJMb29raW5nIEdsYXNzIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2dsZXJyby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbGdidXR0b24iLAogICJ1dWlkIjogImxnYnV0dG9uQGdsZXJyby5nbm9tZS5naXRsYWIuaW8iLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "0rkk1mivq0drvpjbg89gi7plpaza71r08cyvkymygwwi2sfwpy9l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgTG9va2luZyBHbGFzcyB2aXNpYmlsaXR5IGJ5IGNsaWNraW5nIG9uIGEgcGFuZWwgaWNvbi5cblxuQW5kIGZyb20gdmVyc2lvbiA0IGxlZnQgY2xpY2tpbmcgb24gdGhlIGljb24gc2hvdyBhIG1lbnUgd2l0aCBuZXcgZmVhdHVyZXMgbGlrZSBSZXN0YXJ0IEdub21lIFNoZWxsIChub3QgYXZhaWxhYmxlIG9uIFdheWxhbmQpLCBSZWxvYWQgVGhlbWUsIE9wZW4gRXh0ZW5zaW9uIEZvbGRlciBhbmQgT3BlbiBUaGVtZSBGb2xkZXIgKHRoZSBsYXN0IHR3byByZXF1aXJlIHRoYXQgeGRnLW9wZW4gaXMgaW5zdGFsbGVkKS5cblxuVmVyc2lvbiA0IGFsc28gZHJvcCB0aGUgY29tcGF0aWJpbGl0eSB3aXRoIEdub21lIFNoZWxsIDMuMzAuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxnYnV0dG9uIiwKICAibmFtZSI6ICJMb29raW5nIEdsYXNzIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2dsZXJyby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbGdidXR0b24iLAogICJ1dWlkIjogImxnYnV0dG9uQGdsZXJyby5nbm9tZS5naXRsYWIuaW8iLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "tp_wattmeter@gistart", "name": "tp_wattmeter", "pname": "tp_wattmeter", "description": "Shows battery power consumption of ThinkPad laptops", "link": "https://extensions.gnome.org/extension/2308/tp_wattmeter/", "shell_version_map": {"40": {"version": "4", "sha256": "1v8rw7msfy2d8nwnppdpci62sl6iw8973z5gsl8024awl27ni38z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGJhdHRlcnkgcG93ZXIgY29uc3VtcHRpb24gb2YgVGhpbmtQYWQgbGFwdG9wcyIsCiAgIm5hbWUiOiAidHBfd2F0dG1ldGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2LjAiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9naXN0YXJ0L3RwX3dhdHRtZXRlciIsCiAgInV1aWQiOiAidHBfd2F0dG1ldGVyQGdpc3RhcnQiLAogICJ2ZXJzaW9uIjogNAp9"}}}
@@ -264,17 +266,17 @@
 , {"uuid": "reminder_alarm_clock@trifonovkv.gmail.com", "name": "Reminder Alarm Clock", "pname": "reminder-alarm-clock", "description": "The reminder alarm clock will remind you of an important event at the appointed time.", "link": "https://extensions.gnome.org/extension/2482/reminder-alarm-clock/", "shell_version_map": {"38": {"version": "40", "sha256": "0yljdig44gly3fky4ls42shbpvf2387kgnn1dfla9zmxxzjdkryq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSByZW1pbmRlciBhbGFybSBjbG9jayB3aWxsIHJlbWluZCB5b3Ugb2YgYW4gaW1wb3J0YW50IGV2ZW50IGF0IHRoZSBhcHBvaW50ZWQgdGltZS4iLAogICJuYW1lIjogIlJlbWluZGVyIEFsYXJtIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4LjEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90cmlmb25vdmt2L1JlbWluZGVyQWxhcm1DbG9jayIsCiAgInV1aWQiOiAicmVtaW5kZXJfYWxhcm1fY2xvY2tAdHJpZm9ub3Zrdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}}}
 , {"uuid": "TaskBar@c0ldplasma", "name": "TaskBar 2020", "pname": "taskbar-updated", "description": "!!! Development stopped !!!!  Look at Dash to Panel as an alternative: https://extensions.gnome.org/extension/1160/dash-to-panel/\n\n----------------------------------------------------------------------\n\nTaskBar 2020 displays icons of running applications and favorites on the top panel or alternatively on a new bottom panel. Activate, minimize or close tasks with a simple click. \n\nTaskBar 2020 is a dock-like windows list on the top/bottom bar. \n\nFork of zpydr/gnome-shell-extension-taskbar to support newer versions of GNOME", "link": "https://extensions.gnome.org/extension/2506/taskbar-updated/", "shell_version_map": {"38": {"version": "5", "sha256": "09yn1p0vmq70ll7vi3jdjvj479cm38r4am0mw08nca8hl4zdiamj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiEhISBEZXZlbG9wbWVudCBzdG9wcGVkICEhISEgIExvb2sgYXQgRGFzaCB0byBQYW5lbCBhcyBhbiBhbHRlcm5hdGl2ZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblRhc2tCYXIgMjAyMCBkaXNwbGF5cyBpY29ucyBvZiBydW5uaW5nIGFwcGxpY2F0aW9ucyBhbmQgZmF2b3JpdGVzIG9uIHRoZSB0b3AgcGFuZWwgb3IgYWx0ZXJuYXRpdmVseSBvbiBhIG5ldyBib3R0b20gcGFuZWwuIEFjdGl2YXRlLCBtaW5pbWl6ZSBvciBjbG9zZSB0YXNrcyB3aXRoIGEgc2ltcGxlIGNsaWNrLiBcblxuVGFza0JhciAyMDIwIGlzIGEgZG9jay1saWtlIHdpbmRvd3MgbGlzdCBvbiB0aGUgdG9wL2JvdHRvbSBiYXIuIFxuXG5Gb3JrIG9mIHpweWRyL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrYmFyIHRvIHN1cHBvcnQgbmV3ZXIgdmVyc2lvbnMgb2YgR05PTUUiLAogICJuYW1lIjogIlRhc2tCYXIgMjAyMCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2MwbGRwbGFzbWEvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2tiYXIiLAogICJ1dWlkIjogIlRhc2tCYXJAYzBsZHBsYXNtYSIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "8", "sha256": "0a2fwmm1n5n2ifryb6yfzh4nj4h11qkphpxvp876fyll03y9p2m5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiEhISBEZXZlbG9wbWVudCBzdG9wcGVkICEhISEgIExvb2sgYXQgRGFzaCB0byBQYW5lbCBhcyBhbiBhbHRlcm5hdGl2ZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblRhc2tCYXIgMjAyMCBkaXNwbGF5cyBpY29ucyBvZiBydW5uaW5nIGFwcGxpY2F0aW9ucyBhbmQgZmF2b3JpdGVzIG9uIHRoZSB0b3AgcGFuZWwgb3IgYWx0ZXJuYXRpdmVseSBvbiBhIG5ldyBib3R0b20gcGFuZWwuIEFjdGl2YXRlLCBtaW5pbWl6ZSBvciBjbG9zZSB0YXNrcyB3aXRoIGEgc2ltcGxlIGNsaWNrLiBcblxuVGFza0JhciAyMDIwIGlzIGEgZG9jay1saWtlIHdpbmRvd3MgbGlzdCBvbiB0aGUgdG9wL2JvdHRvbSBiYXIuIFxuXG5Gb3JrIG9mIHpweWRyL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrYmFyIHRvIHN1cHBvcnQgbmV3ZXIgdmVyc2lvbnMgb2YgR05PTUUiLAogICJuYW1lIjogIlRhc2tCYXIgMjAyMCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jMGxkcGxhc21hL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrYmFyIiwKICAidXVpZCI6ICJUYXNrQmFyQGMwbGRwbGFzbWEiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "kernel-indicator@elboulangero.gitlab.com", "name": "Kernel Indicator", "pname": "kernel-indicator", "description": "Display the kernel version in the top bar", "link": "https://extensions.gnome.org/extension/2512/kernel-indicator/", "shell_version_map": {"40": {"version": "4", "sha256": "0v3vxk9adzwk18vpvhpwxp7893wh7my8bh8j5vp4fdiq3l06v4sp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGtlcm5lbCB2ZXJzaW9uIGluIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJLZXJuZWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9lbGJvdWxhbmdlcm8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtlcm5lbC1pbmRpY2F0b3IiLAogICJ1dWlkIjogImtlcm5lbC1pbmRpY2F0b3JAZWxib3VsYW5nZXJvLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0v3vxk9adzwk18vpvhpwxp7893wh7my8bh8j5vp4fdiq3l06v4sp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGtlcm5lbCB2ZXJzaW9uIGluIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJLZXJuZWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9lbGJvdWxhbmdlcm8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtlcm5lbC1pbmRpY2F0b3IiLAogICJ1dWlkIjogImtlcm5lbC1pbmRpY2F0b3JAZWxib3VsYW5nZXJvLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"uuid": "floatingDock@sun.wxg@gmail.com", "name": "Floating Dock", "pname": "floating-dock", "description": "Move dock anywhere on the desktop\n\nPress Ctrl+Alt+k to vi mode\nPress lowercase alphabet, open new window or active the window\nPress uppercase alphabet, force to open new window\n\nPoint on the main button, change workspace by mouse scroll\nRight click the main button, show some selections", "link": "https://extensions.gnome.org/extension/2542/floating-dock/", "shell_version_map": {"38": {"version": "12", "sha256": "1844hhr0z4wd0wvh29q0sxh6xmwq7chg3kr3sa3c46q8n97i78x2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZmxvYXRpbmdEb2NrIiwKICAidXVpZCI6ICJmbG9hdGluZ0RvY2tAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "40": {"version": "21", "sha256": "0qj1vqd44clpr72j5lccvva48kzaz76zd48k6nxzvnkgh2n5dh29", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nRG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmdEb2NrQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIxCn0="}, "41": {"version": "23", "sha256": "0ag8pq9sgk885912mqiyhsacfmgkn9n4jvyp0rk4nw0fghd1mgd9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nRG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmdEb2NrQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}, "42": {"version": "28", "sha256": "1f12ar7l3rlycszjj4hwi07l00w6ldl3lzq3awpv0hy7k9w0zd9g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nRG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmdEb2NrQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI4Cn0="}}}
+, {"uuid": "floatingDock@sun.wxg@gmail.com", "name": "Floating Dock", "pname": "floating-dock", "description": "Move dock anywhere on the desktop\n\nPress Ctrl+Alt+k to vi mode\nPress lowercase alphabet, open new window or active the window\nPress uppercase alphabet, force to open new window\n\nPoint on the main button, change workspace by mouse scroll\nRight click the main button, show some selections", "link": "https://extensions.gnome.org/extension/2542/floating-dock/", "shell_version_map": {"38": {"version": "12", "sha256": "1844hhr0z4wd0wvh29q0sxh6xmwq7chg3kr3sa3c46q8n97i78x2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZmxvYXRpbmdEb2NrIiwKICAidXVpZCI6ICJmbG9hdGluZ0RvY2tAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "40": {"version": "21", "sha256": "0qj1vqd44clpr72j5lccvva48kzaz76zd48k6nxzvnkgh2n5dh29", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nRG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmdEb2NrQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIxCn0="}, "41": {"version": "23", "sha256": "0ag8pq9sgk885912mqiyhsacfmgkn9n4jvyp0rk4nw0fghd1mgd9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nRG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmdEb2NrQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}, "42": {"version": "30", "sha256": "07bi19lnzfd1nrkdy19d36pbrf24yl5wkxirq7vdbvwng02l7rhj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nRG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmdEb2NrQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMwCn0="}}}
 , {"uuid": "maxi@darkretailer.github.com", "name": "Maxi", "pname": "maxi", "description": "Maximize your windows vertical and/or horizontal (based on https://github.com/aXe1/gnome-shell-extension-maximized-by-default)", "link": "https://extensions.gnome.org/extension/2554/maxi/", "shell_version_map": {"40": {"version": "5", "sha256": "121nd6ggr9id3yfsrkiza7rjq19638p156ym83i3j57ikz6r3ky5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1heGltaXplIHlvdXIgd2luZG93cyB2ZXJ0aWNhbCBhbmQvb3IgaG9yaXpvbnRhbCAoYmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2FYZTEvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplZC1ieS1kZWZhdWx0KSIsCiAgImV4dGVuc2lvbi1pZCI6ICJtYXhpIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWF4aSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXhpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhcmtyZXRhaWxlci9nbm9tZS1zaGVsbC1leHRlbnNpb25fbWF4aSIsCiAgInV1aWQiOiAibWF4aUBkYXJrcmV0YWlsZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "gnordvpn-local@isopolito", "name": "gNordVPN-Local", "pname": "gnordvpn-local", "description": "A Gnome extension that shows the NordVPN status in the top bar and provides the ability to configure certain aspects of the connection.", "link": "https://extensions.gnome.org/extension/2569/gnordvpn-local/", "shell_version_map": {"38": {"version": "9", "sha256": "103ddz7n14n4ahks90w60sqgq8w07mpjqln5va7kxnjh3rdwlk3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2hvd3MgdGhlIE5vcmRWUE4gc3RhdHVzIGluIHRoZSB0b3AgYmFyIGFuZCBwcm92aWRlcyB0aGUgYWJpbGl0eSB0byBjb25maWd1cmUgY2VydGFpbiBhc3BlY3RzIG9mIHRoZSBjb25uZWN0aW9uLiIsCiAgIm5hbWUiOiAiZ05vcmRWUE4tTG9jYWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICIzLjM4LjQiLAogICAgIjQwLjUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Jc29wb2xpdG8vZ05vcmRWUE4tTG9jYWwiLAogICJ1dWlkIjogImdub3JkdnBuLWxvY2FsQGlzb3BvbGl0byIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "9", "sha256": "103ddz7n14n4ahks90w60sqgq8w07mpjqln5va7kxnjh3rdwlk3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2hvd3MgdGhlIE5vcmRWUE4gc3RhdHVzIGluIHRoZSB0b3AgYmFyIGFuZCBwcm92aWRlcyB0aGUgYWJpbGl0eSB0byBjb25maWd1cmUgY2VydGFpbiBhc3BlY3RzIG9mIHRoZSBjb25uZWN0aW9uLiIsCiAgIm5hbWUiOiAiZ05vcmRWUE4tTG9jYWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICIzLjM4LjQiLAogICAgIjQwLjUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Jc29wb2xpdG8vZ05vcmRWUE4tTG9jYWwiLAogICJ1dWlkIjogImdub3JkdnBuLWxvY2FsQGlzb3BvbGl0byIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"uuid": "fully-transparent-top-bar@aunetx", "name": "Smart transparent topbar", "pname": "fully-transparent-top-bar", "description": "Permits to change topbar's look and feel when free-floating.\n\nIf you have issues or recommandations, you can tell me on github so I can see them!", "link": "https://extensions.gnome.org/extension/2588/fully-transparent-top-bar/", "shell_version_map": {"38": {"version": "11", "sha256": "1mksqaxw7jzzdghzii1bhhkbsccxb23qa69f3x6hg32ig9qi762x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBlcm1pdHMgdG8gY2hhbmdlIHRvcGJhcidzIGxvb2sgYW5kIGZlZWwgd2hlbiBmcmVlLWZsb2F0aW5nLlxuXG5JZiB5b3UgaGF2ZSBpc3N1ZXMgb3IgcmVjb21tYW5kYXRpb25zLCB5b3UgY2FuIHRlbGwgbWUgb24gZ2l0aHViIHNvIEkgY2FuIHNlZSB0aGVtISIsCiAgIm5hbWUiOiAiU21hcnQgdHJhbnNwYXJlbnQgdG9wYmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc3BhcmVudC10b3AtYmFyIiwKICAidXVpZCI6ICJmdWxseS10cmFuc3BhcmVudC10b3AtYmFyQGF1bmV0eCIsCiAgInZlcnNpb24iOiAxMQp9"}}}
-, {"uuid": "always-indicator@martin.zurowietz.de", "name": "Always Indicator", "pname": "always-indicator", "description": "Always show the new messages indicator on new messages. Features: 1) New message indicator is always shown if there are notifications. 2) The color of the indicator can be customized. 3) If 'do not disturb' is active, the icon is displayed in the custom color if there are notifications.", "link": "https://extensions.gnome.org/extension/2594/always-indicator/", "shell_version_map": {"40": {"version": "7", "sha256": "1hryk0ispnxpfmfskj29nii72vwbaly4bcb4idyg2z3c1c71qhdy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHRoZSBuZXcgbWVzc2FnZXMgaW5kaWNhdG9yIG9uIG5ldyBtZXNzYWdlcy4gRmVhdHVyZXM6IDEpIE5ldyBtZXNzYWdlIGluZGljYXRvciBpcyBhbHdheXMgc2hvd24gaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIDIpIFRoZSBjb2xvciBvZiB0aGUgaW5kaWNhdG9yIGNhbiBiZSBjdXN0b21pemVkLiAzKSBJZiAnZG8gbm90IGRpc3R1cmInIGlzIGFjdGl2ZSwgdGhlIGljb24gaXMgZGlzcGxheWVkIGluIHRoZSBjdXN0b20gY29sb3IgaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx3YXlzLWluZGljYXRvciIsCiAgIm5hbWUiOiAiQWx3YXlzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHdheXMtaW5kaWNhdG9yLXNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLWFsd2F5cy1pbmRpY2F0b3IiLAogICJ1dWlkIjogImFsd2F5cy1pbmRpY2F0b3JAbWFydGluLnp1cm93aWV0ei5kZSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1hryk0ispnxpfmfskj29nii72vwbaly4bcb4idyg2z3c1c71qhdy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHRoZSBuZXcgbWVzc2FnZXMgaW5kaWNhdG9yIG9uIG5ldyBtZXNzYWdlcy4gRmVhdHVyZXM6IDEpIE5ldyBtZXNzYWdlIGluZGljYXRvciBpcyBhbHdheXMgc2hvd24gaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIDIpIFRoZSBjb2xvciBvZiB0aGUgaW5kaWNhdG9yIGNhbiBiZSBjdXN0b21pemVkLiAzKSBJZiAnZG8gbm90IGRpc3R1cmInIGlzIGFjdGl2ZSwgdGhlIGljb24gaXMgZGlzcGxheWVkIGluIHRoZSBjdXN0b20gY29sb3IgaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx3YXlzLWluZGljYXRvciIsCiAgIm5hbWUiOiAiQWx3YXlzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHdheXMtaW5kaWNhdG9yLXNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLWFsd2F5cy1pbmRpY2F0b3IiLAogICJ1dWlkIjogImFsd2F5cy1pbmRpY2F0b3JAbWFydGluLnp1cm93aWV0ei5kZSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
+, {"uuid": "always-indicator@martin.zurowietz.de", "name": "Always Indicator", "pname": "always-indicator", "description": "Always show the new messages indicator on new messages. Features: 1) New message indicator is always shown if there are notifications. 2) The color of the indicator can be customized. 3) If 'do not disturb' is active, the icon is displayed in the custom color if there are notifications.", "link": "https://extensions.gnome.org/extension/2594/always-indicator/", "shell_version_map": {"40": {"version": "8", "sha256": "006pxfxpvw41fjbqpyyifr9r7fai5ghvfgb0wmdl8xm9ix1sh4j2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHRoZSBuZXcgbWVzc2FnZXMgaW5kaWNhdG9yIG9uIG5ldyBtZXNzYWdlcy4gRmVhdHVyZXM6IDEpIE5ldyBtZXNzYWdlIGluZGljYXRvciBpcyBhbHdheXMgc2hvd24gaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIDIpIFRoZSBjb2xvciBvZiB0aGUgaW5kaWNhdG9yIGNhbiBiZSBjdXN0b21pemVkLiAzKSBJZiAnZG8gbm90IGRpc3R1cmInIGlzIGFjdGl2ZSwgdGhlIGljb24gaXMgZGlzcGxheWVkIGluIHRoZSBjdXN0b20gY29sb3IgaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx3YXlzLWluZGljYXRvciIsCiAgIm5hbWUiOiAiQWx3YXlzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHdheXMtaW5kaWNhdG9yLXNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXp1ci9nbm9tZS1zaGVsbC1hbHdheXMtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJhbHdheXMtaW5kaWNhdG9yQG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "006pxfxpvw41fjbqpyyifr9r7fai5ghvfgb0wmdl8xm9ix1sh4j2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHRoZSBuZXcgbWVzc2FnZXMgaW5kaWNhdG9yIG9uIG5ldyBtZXNzYWdlcy4gRmVhdHVyZXM6IDEpIE5ldyBtZXNzYWdlIGluZGljYXRvciBpcyBhbHdheXMgc2hvd24gaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIDIpIFRoZSBjb2xvciBvZiB0aGUgaW5kaWNhdG9yIGNhbiBiZSBjdXN0b21pemVkLiAzKSBJZiAnZG8gbm90IGRpc3R1cmInIGlzIGFjdGl2ZSwgdGhlIGljb24gaXMgZGlzcGxheWVkIGluIHRoZSBjdXN0b20gY29sb3IgaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx3YXlzLWluZGljYXRvciIsCiAgIm5hbWUiOiAiQWx3YXlzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHdheXMtaW5kaWNhdG9yLXNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXp1ci9nbm9tZS1zaGVsbC1hbHdheXMtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJhbHdheXMtaW5kaWNhdG9yQG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "006pxfxpvw41fjbqpyyifr9r7fai5ghvfgb0wmdl8xm9ix1sh4j2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHRoZSBuZXcgbWVzc2FnZXMgaW5kaWNhdG9yIG9uIG5ldyBtZXNzYWdlcy4gRmVhdHVyZXM6IDEpIE5ldyBtZXNzYWdlIGluZGljYXRvciBpcyBhbHdheXMgc2hvd24gaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIDIpIFRoZSBjb2xvciBvZiB0aGUgaW5kaWNhdG9yIGNhbiBiZSBjdXN0b21pemVkLiAzKSBJZiAnZG8gbm90IGRpc3R1cmInIGlzIGFjdGl2ZSwgdGhlIGljb24gaXMgZGlzcGxheWVkIGluIHRoZSBjdXN0b20gY29sb3IgaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx3YXlzLWluZGljYXRvciIsCiAgIm5hbWUiOiAiQWx3YXlzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHdheXMtaW5kaWNhdG9yLXNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXp1ci9nbm9tZS1zaGVsbC1hbHdheXMtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJhbHdheXMtaW5kaWNhdG9yQG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "eruption-profile-switcher@x3n0m0rph59.org", "name": "Eruption Profile Switcher", "pname": "eruption-profile-switcher", "description": "Runtime profile switcher for the Eruption Linux input and LED driver for keyboards, mice and other devices", "link": "https://extensions.gnome.org/extension/2621/eruption-profile-switcher/", "shell_version_map": {"38": {"version": "15", "sha256": "1jy9m2inx8jjwsy666hg67i7d8py2ar4drn2i8si7d80cba45al4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLmJldGEiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWDNuMG0wcnBoNTkvZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlckB4M24wbTBycGg1OS5vcmciLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "40": {"version": "25", "sha256": "12klzvzv28im89pdd74zyzhj8xhnbvqlh85q1i5ca4r81mmg7q3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1gzbjBtMHJwaDU5L2VydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJ1dWlkIjogImVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXJAeDNuMG0wcnBoNTkub3JnIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "41": {"version": "25", "sha256": "12klzvzv28im89pdd74zyzhj8xhnbvqlh85q1i5ca4r81mmg7q3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1gzbjBtMHJwaDU5L2VydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJ1dWlkIjogImVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXJAeDNuMG0wcnBoNTkub3JnIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "42": {"version": "25", "sha256": "12klzvzv28im89pdd74zyzhj8xhnbvqlh85q1i5ca4r81mmg7q3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1gzbjBtMHJwaDU5L2VydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJ1dWlkIjogImVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXJAeDNuMG0wcnBoNTkub3JnIiwKICAidmVyc2lvbiI6IDI1Cn0="}}}
 , {"uuid": "nbfcindicator@mgokcaykdev.gmail.com", "name": "Nbfc Indicator", "pname": "nbfc-indicator", "description": "Notebook Fan Control Indicator for Gnome Shell", "link": "https://extensions.gnome.org/extension/2624/nbfc-indicator/", "shell_version_map": {"40": {"version": "7", "sha256": "0hp7giwdcsk8p442q0x9214dv59ziyjswli6mccyb8v814k3p8ic", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGVib29rIEZhbiBDb250cm9sIEluZGljYXRvciBmb3IgR25vbWUgU2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYmZjaW5kaWNhdG9yIiwKICAibmFtZSI6ICJOYmZjIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYmZjaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01Hb2tjYXlLL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtbmJmY2luZGljYXRvciIsCiAgInV1aWQiOiAibmJmY2luZGljYXRvckBtZ29rY2F5a2Rldi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "user-id-in-top-panel@fthx", "name": "User id in top panel", "pname": "user-id-in-top-panel", "description": "Add ( user name :: user id @ host ) in top panel.", "link": "https://extensions.gnome.org/extension/2633/user-id-in-top-panel/", "shell_version_map": {"38": {"version": "6", "sha256": "16s1782mzb5ckshsy86ac9xj5xfk15hwzvzk4cfiimphfvkkw8x4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ1c2VyLWlkLWluLXRvcC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "16s1782mzb5ckshsy86ac9xj5xfk15hwzvzk4cfiimphfvkkw8x4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ1c2VyLWlkLWluLXRvcC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "16s1782mzb5ckshsy86ac9xj5xfk15hwzvzk4cfiimphfvkkw8x4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ1c2VyLWlkLWluLXRvcC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDYKfQ=="}, "42": {"version": "6", "sha256": "16s1782mzb5ckshsy86ac9xj5xfk15hwzvzk4cfiimphfvkkw8x4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ1c2VyLWlkLWluLXRvcC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "hide-minimized@danigm.net", "name": "Hide minimized", "pname": "hide-minimized", "description": "Hide minimized in overview", "link": "https://extensions.gnome.org/extension/2639/hide-minimized/", "shell_version_map": {"38": {"version": "5", "sha256": "00b2mv92c5zvyajkgqs3nm781aqgc47m2jix8phx1fbbgi2vx2a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "00b2mv92c5zvyajkgqs3nm781aqgc47m2jix8phx1fbbgi2vx2a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "00b2mv92c5zvyajkgqs3nm781aqgc47m2jix8phx1fbbgi2vx2a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "00b2mv92c5zvyajkgqs3nm781aqgc47m2jix8phx1fbbgi2vx2a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA1Cn0="}}}
-, {"uuid": "display-brightness-ddcutil@themightydeity.github.com", "name": "Brightness control using ddcutil", "pname": "brightness-control-using-ddcutil", "description": "Brightness control for all the monitors detected by ddcutil\nThis tool uses ddcutil as backend for communication with your display.\n\nUpdated 2022-Jan-05: There are multiple ways of listing the control sliders, either in top bar or in system menu, with or without value labels.\n\nRead setup instructions from: https://github.com/daitj/gnome-display-brightness-ddcutil/blob/master/README.md", "link": "https://extensions.gnome.org/extension/2645/brightness-control-using-ddcutil/", "shell_version_map": {"38": {"version": "10", "sha256": "0r8l1iipfxrsmmch0pgi9jpxk58cqn93igs1cp8sx73l1cxr5ik4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJuYW1lIjogIkJyaWdodG5lc3MgY29udHJvbCB1c2luZyBkZGN1dGlsIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJ1dWlkIjogImRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsQHRoZW1pZ2h0eWRlaXR5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "30", "sha256": "14xvsd4irbhqicz8hkwny0mm9kb3230qyjypz61q1ip1i6sr8f26", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInV1aWQiOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWxAdGhlbWlnaHR5ZGVpdHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "41": {"version": "30", "sha256": "14xvsd4irbhqicz8hkwny0mm9kb3230qyjypz61q1ip1i6sr8f26", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInV1aWQiOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWxAdGhlbWlnaHR5ZGVpdHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "42": {"version": "30", "sha256": "14xvsd4irbhqicz8hkwny0mm9kb3230qyjypz61q1ip1i6sr8f26", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInV1aWQiOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWxAdGhlbWlnaHR5ZGVpdHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}}}
-, {"uuid": "timezones@masquerade-circus.net", "name": "Timezones extension", "pname": "timezones-extension", "description": "Show multiple clocks in the panel. For those who need more than one additional clock.", "link": "https://extensions.gnome.org/extension/2657/timezones-extension/", "shell_version_map": {"38": {"version": "2", "sha256": "0vkqwrn0kvmng003h26zvzd5ym4h971hvcspb5iq7042lhxxc2hf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFzcXVlcmFkZS1DaXJjdXMvZ25vbWUtdGltZXpvbmVzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0vkqwrn0kvmng003h26zvzd5ym4h971hvcspb5iq7042lhxxc2hf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFzcXVlcmFkZS1DaXJjdXMvZ25vbWUtdGltZXpvbmVzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "0vkqwrn0kvmng003h26zvzd5ym4h971hvcspb5iq7042lhxxc2hf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFzcXVlcmFkZS1DaXJjdXMvZ25vbWUtdGltZXpvbmVzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "display-brightness-ddcutil@themightydeity.github.com", "name": "Brightness control using ddcutil", "pname": "brightness-control-using-ddcutil", "description": "Brightness control for all the monitors detected by ddcutil\nThis tool uses ddcutil as backend for communication with your display.\n\nThere are multiple ways of listing the control sliders, either in top bar or in system menu, with or without value labels.\n\nRead setup instructions from: https://github.com/daitj/gnome-display-brightness-ddcutil/blob/master/README.md", "link": "https://extensions.gnome.org/extension/2645/brightness-control-using-ddcutil/", "shell_version_map": {"38": {"version": "10", "sha256": "14kfnf2cjdv15s41fdvfyb7z11bbv5ajvpmsggwy3m4lwxn0p9bw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJuYW1lIjogIkJyaWdodG5lc3MgY29udHJvbCB1c2luZyBkZGN1dGlsIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJ1dWlkIjogImRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsQHRoZW1pZ2h0eWRlaXR5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "30", "sha256": "11mavab95dmzjz6cn37zrhz4zp175rjvdmcsbfc4dl5wbi8rkj5k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInV1aWQiOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWxAdGhlbWlnaHR5ZGVpdHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "41": {"version": "30", "sha256": "11mavab95dmzjz6cn37zrhz4zp175rjvdmcsbfc4dl5wbi8rkj5k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInV1aWQiOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWxAdGhlbWlnaHR5ZGVpdHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "42": {"version": "31", "sha256": "125cx5jv23c5kwldlvqkyxm528zs4p8dlfk2igsv00ryw6nxpnji", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJ1dWlkIjogImRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsQHRoZW1pZ2h0eWRlaXR5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzEKfQ=="}}}
+, {"uuid": "timezones@masquerade-circus.net", "name": "Timezones extension", "pname": "timezones-extension", "description": "Show multiple clocks in the panel. For those who need more than one additional clock.", "link": "https://extensions.gnome.org/extension/2657/timezones-extension/", "shell_version_map": {"38": {"version": "3", "sha256": "178yi4wm7h52al01a9l0q765rm6hwj0j19sg29jw4pgm0c11kywq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hc3F1ZXJhZGUtQ2lyY3VzL2dub21lLXRpbWV6b25lcy1leHRlbnNpb24iLAogICJ1dWlkIjogInRpbWV6b25lc0BtYXNxdWVyYWRlLWNpcmN1cy5uZXQiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "178yi4wm7h52al01a9l0q765rm6hwj0j19sg29jw4pgm0c11kywq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hc3F1ZXJhZGUtQ2lyY3VzL2dub21lLXRpbWV6b25lcy1leHRlbnNpb24iLAogICJ1dWlkIjogInRpbWV6b25lc0BtYXNxdWVyYWRlLWNpcmN1cy5uZXQiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "178yi4wm7h52al01a9l0q765rm6hwj0j19sg29jw4pgm0c11kywq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hc3F1ZXJhZGUtQ2lyY3VzL2dub21lLXRpbWV6b25lcy1leHRlbnNpb24iLAogICJ1dWlkIjogInRpbWV6b25lc0BtYXNxdWVyYWRlLWNpcmN1cy5uZXQiLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "178yi4wm7h52al01a9l0q765rm6hwj0j19sg29jw4pgm0c11kywq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hc3F1ZXJhZGUtQ2lyY3VzL2dub21lLXRpbWV6b25lcy1leHRlbnNpb24iLAogICJ1dWlkIjogInRpbWV6b25lc0BtYXNxdWVyYWRlLWNpcmN1cy5uZXQiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "transparent-panel@fthx", "name": "Ubuntu-like Panel", "pname": "transparent-panel", "description": "Panel: transparent, straight, reduced height, non-bold fonts. Nothing more.\n\nLooks roughly like Ubuntu session's panel (Yaru). You can easily modify the transparency level through the CSS stylesheet in the extensions's folder.", "link": "https://extensions.gnome.org/extension/2660/transparent-panel/", "shell_version_map": {"40": {"version": "3", "sha256": "042cbxdvh4nxv72dd6ikm37brgb2wc1yaxsznyavjwr53awjbbzm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBhbmVsOiB0cmFuc3BhcmVudCwgc3RyYWlnaHQsIHJlZHVjZWQgaGVpZ2h0LCBub24tYm9sZCBmb250cy4gTm90aGluZyBtb3JlLlxuXG5Mb29rcyByb3VnaGx5IGxpa2UgVWJ1bnR1IHNlc3Npb24ncyBwYW5lbCAoWWFydSkuIFlvdSBjYW4gZWFzaWx5IG1vZGlmeSB0aGUgdHJhbnNwYXJlbmN5IGxldmVsIHRocm91Z2ggdGhlIENTUyBzdHlsZXNoZWV0IGluIHRoZSBleHRlbnNpb25zJ3MgZm9sZGVyLiIsCiAgIm5hbWUiOiAiVWJ1bnR1LWxpa2UgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "042cbxdvh4nxv72dd6ikm37brgb2wc1yaxsznyavjwr53awjbbzm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBhbmVsOiB0cmFuc3BhcmVudCwgc3RyYWlnaHQsIHJlZHVjZWQgaGVpZ2h0LCBub24tYm9sZCBmb250cy4gTm90aGluZyBtb3JlLlxuXG5Mb29rcyByb3VnaGx5IGxpa2UgVWJ1bnR1IHNlc3Npb24ncyBwYW5lbCAoWWFydSkuIFlvdSBjYW4gZWFzaWx5IG1vZGlmeSB0aGUgdHJhbnNwYXJlbmN5IGxldmVsIHRocm91Z2ggdGhlIENTUyBzdHlsZXNoZWV0IGluIHRoZSBleHRlbnNpb25zJ3MgZm9sZGVyLiIsCiAgIm5hbWUiOiAiVWJ1bnR1LWxpa2UgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "42": {"version": "4", "sha256": "1af8hyfvrpl7slqc1sdnc82zkrqrrvw16qw47qqxfdiybyk7381z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBhbmVsOiB0cmFuc3BhcmVudCwgc3RyYWlnaHQsIHJlZHVjZWQgaGVpZ2h0LCBub24tYm9sZCBmb250cy4gTm90aGluZyBtb3JlLlxuXG5Mb29rcyByb3VnaGx5IGxpa2UgVWJ1bnR1IHNlc3Npb24ncyBwYW5lbCAoWWFydSkuIFlvdSBjYW4gZWFzaWx5IG1vZGlmeSB0aGUgdHJhbnNwYXJlbmN5IGxldmVsIHRocm91Z2ggdGhlIENTUyBzdHlsZXNoZWV0IGluIHRoZSBleHRlbnNpb25zJ3MgZm9sZGVyLiIsCiAgIm5hbWUiOiAiVWJ1bnR1LWxpa2UgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInRyYW5zcGFyZW50LXBhbmVsQGZ0aHgiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "mounter@heartmire", "name": "Mounter", "pname": "mounter", "description": "Mount and umount fstab entries with 'noauto,user' options.\n\n/etc/fstab example that will be picked up and listed by the extension:\n192.168.1.1:/mnt/data/users/martin  /mnt/server-martin  nfs  noauto,user,noatime,rw  0  0\n\nToggle the menu with the shortcut: CTRL + ALT + m", "link": "https://extensions.gnome.org/extension/2666/mounter/", "shell_version_map": {"38": {"version": "5", "sha256": "13nxnpiv8f9bzxqgv3iinb92ib9zk3jmmx273acs25lcjcw8v6l0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdW50IGFuZCB1bW91bnQgZnN0YWIgZW50cmllcyB3aXRoICdub2F1dG8sdXNlcicgb3B0aW9ucy5cblxuL2V0Yy9mc3RhYiBleGFtcGxlIHRoYXQgd2lsbCBiZSBwaWNrZWQgdXAgYW5kIGxpc3RlZCBieSB0aGUgZXh0ZW5zaW9uOlxuMTkyLjE2OC4xLjE6L21udC9kYXRhL3VzZXJzL21hcnRpbiAgL21udC9zZXJ2ZXItbWFydGluICBuZnMgIG5vYXV0byx1c2VyLG5vYXRpbWUscncgIDAgIDBcblxuVG9nZ2xlIHRoZSBtZW51IHdpdGggdGhlIHNob3J0Y3V0OiBDVFJMICsgQUxUICsgbSIsCiAgIm5hbWUiOiAiTW91bnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tb3VudGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJ0aW5oamFydG15ci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbW91bnRlciIsCiAgInV1aWQiOiAibW91bnRlckBoZWFydG1pcmUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "13nxnpiv8f9bzxqgv3iinb92ib9zk3jmmx273acs25lcjcw8v6l0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdW50IGFuZCB1bW91bnQgZnN0YWIgZW50cmllcyB3aXRoICdub2F1dG8sdXNlcicgb3B0aW9ucy5cblxuL2V0Yy9mc3RhYiBleGFtcGxlIHRoYXQgd2lsbCBiZSBwaWNrZWQgdXAgYW5kIGxpc3RlZCBieSB0aGUgZXh0ZW5zaW9uOlxuMTkyLjE2OC4xLjE6L21udC9kYXRhL3VzZXJzL21hcnRpbiAgL21udC9zZXJ2ZXItbWFydGluICBuZnMgIG5vYXV0byx1c2VyLG5vYXRpbWUscncgIDAgIDBcblxuVG9nZ2xlIHRoZSBtZW51IHdpdGggdGhlIHNob3J0Y3V0OiBDVFJMICsgQUxUICsgbSIsCiAgIm5hbWUiOiAiTW91bnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tb3VudGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJ0aW5oamFydG15ci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbW91bnRlciIsCiAgInV1aWQiOiAibW91bnRlckBoZWFydG1pcmUiLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "13nxnpiv8f9bzxqgv3iinb92ib9zk3jmmx273acs25lcjcw8v6l0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdW50IGFuZCB1bW91bnQgZnN0YWIgZW50cmllcyB3aXRoICdub2F1dG8sdXNlcicgb3B0aW9ucy5cblxuL2V0Yy9mc3RhYiBleGFtcGxlIHRoYXQgd2lsbCBiZSBwaWNrZWQgdXAgYW5kIGxpc3RlZCBieSB0aGUgZXh0ZW5zaW9uOlxuMTkyLjE2OC4xLjE6L21udC9kYXRhL3VzZXJzL21hcnRpbiAgL21udC9zZXJ2ZXItbWFydGluICBuZnMgIG5vYXV0byx1c2VyLG5vYXRpbWUscncgIDAgIDBcblxuVG9nZ2xlIHRoZSBtZW51IHdpdGggdGhlIHNob3J0Y3V0OiBDVFJMICsgQUxUICsgbSIsCiAgIm5hbWUiOiAiTW91bnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tb3VudGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJ0aW5oamFydG15ci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbW91bnRlciIsCiAgInV1aWQiOiAibW91bnRlckBoZWFydG1pcmUiLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "simple-task-bar@fthx", "name": "Simple Task Bar", "pname": "simple-task-bar", "description": "*** Superseeded by https://extensions.gnome.org/extension/4000/babar. ***\n\nTask bar in the top panel, tasks on all workspaces.\n\n Basic actions, nothing more : activate, minimize, switch, per-desktop overview. Some settings through GNOME Extensions manager, thanks @leleat.\n\n This extension can hide the Activities button and makes the Places Menu extension's label become a folder icon.\n\n This extension is *light* and should *not interfere* with GNOME Shell behaviour+logic. If you want more, please consider installing Dash to Panel.", "link": "https://extensions.gnome.org/extension/2672/simple-task-bar/", "shell_version_map": {"38": {"version": "33", "sha256": "0rsvfymmnljqikarihmgs2fdi14pclfdhwrsz06zxzxd6nvmj4x1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIioqKiBTdXBlcnNlZWRlZCBieSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80MDAwL2JhYmFyLiAqKipcblxuVGFzayBiYXIgaW4gdGhlIHRvcCBwYW5lbCwgdGFza3Mgb24gYWxsIHdvcmtzcGFjZXMuXG5cbiBCYXNpYyBhY3Rpb25zLCBub3RoaW5nIG1vcmUgOiBhY3RpdmF0ZSwgbWluaW1pemUsIHN3aXRjaCwgcGVyLWRlc2t0b3Agb3ZlcnZpZXcuIFNvbWUgc2V0dGluZ3MgdGhyb3VnaCBHTk9NRSBFeHRlbnNpb25zIG1hbmFnZXIsIHRoYW5rcyBAbGVsZWF0LlxuXG4gVGhpcyBleHRlbnNpb24gY2FuIGhpZGUgdGhlIEFjdGl2aXRpZXMgYnV0dG9uIGFuZCBtYWtlcyB0aGUgUGxhY2VzIE1lbnUgZXh0ZW5zaW9uJ3MgbGFiZWwgYmVjb21lIGEgZm9sZGVyIGljb24uXG5cbiBUaGlzIGV4dGVuc2lvbiBpcyAqbGlnaHQqIGFuZCBzaG91bGQgKm5vdCBpbnRlcmZlcmUqIHdpdGggR05PTUUgU2hlbGwgYmVoYXZpb3VyK2xvZ2ljLiBJZiB5b3Ugd2FudCBtb3JlLCBwbGVhc2UgY29uc2lkZXIgaW5zdGFsbGluZyBEYXNoIHRvIFBhbmVsLiIsCiAgIm5hbWUiOiAiU2ltcGxlIFRhc2sgQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9zaW1wbGUtdGFzay1iYXIiLAogICJ1dWlkIjogInNpbXBsZS10YXNrLWJhckBmdGh4IiwKICAidmVyc2lvbiI6IDMzCn0="}}}
@@ -285,7 +287,7 @@
 , {"uuid": "customgestures@raushankumar27.github.com", "name": "Custom 3 Finger Gestures", "pname": "custom-3-finger-gestures", "description": "3 Finger touchpad gestures into gnome-shell", "link": "https://extensions.gnome.org/extension/2781/custom-3-finger-gestures/", "shell_version_map": {"38": {"version": "7", "sha256": "1a51rlf5fjlzlm2y3cv1ncf4glqa48rkpi0z1b8hd5m1fzgdx6m9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIjMgRmluZ2VyIHRvdWNocGFkIGdlc3R1cmVzIGludG8gZ25vbWUtc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b21nZXN0dXJlcyIsCiAgIm5hbWUiOiAiQ3VzdG9tIDMgRmluZ2VyIEdlc3R1cmVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbWdlc3R1cmVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmF1c2hhbmt1bWFyMjcvY3VzdG9tZ2VzdHVyZSIsCiAgInV1aWQiOiAiY3VzdG9tZ2VzdHVyZXNAcmF1c2hhbmt1bWFyMjcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "overview-improved@human.experience", "name": "Overview Improved", "pname": "overview-improved", "description": "Improved, more Unity like overview\n\n* Dash-To-Dock or Ubuntu Dock integration creates Unity-like experience showing windows of specific type\n* Windows search in overview\nConfigurable keybinding (Super+w) to trigger current window overlay\n* Clicking empty space in overview closes\n* Do not show overview when showing application on multiple monitors\n* Multi Monitors Add-On Overview integration\n\nCaveat: may clash with other extensions that modify overview experience", "link": "https://extensions.gnome.org/extension/2802/overview-improved/", "shell_version_map": {"38": {"version": "8", "sha256": "0pzk6kzhbm15rmd540gv2sc0yqbiv31lil4ra3k5k7cpnr9ipsy6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVkLCBtb3JlIFVuaXR5IGxpa2Ugb3ZlcnZpZXdcblxuKiBEYXNoLVRvLURvY2sgb3IgVWJ1bnR1IERvY2sgaW50ZWdyYXRpb24gY3JlYXRlcyBVbml0eS1saWtlIGV4cGVyaWVuY2Ugc2hvd2luZyB3aW5kb3dzIG9mIHNwZWNpZmljIHR5cGVcbiogV2luZG93cyBzZWFyY2ggaW4gb3ZlcnZpZXdcbkNvbmZpZ3VyYWJsZSBrZXliaW5kaW5nIChTdXBlcit3KSB0byB0cmlnZ2VyIGN1cnJlbnQgd2luZG93IG92ZXJsYXlcbiogQ2xpY2tpbmcgZW1wdHkgc3BhY2UgaW4gb3ZlcnZpZXcgY2xvc2VzXG4qIERvIG5vdCBzaG93IG92ZXJ2aWV3IHdoZW4gc2hvd2luZyBhcHBsaWNhdGlvbiBvbiBtdWx0aXBsZSBtb25pdG9yc1xuKiBNdWx0aSBNb25pdG9ycyBBZGQtT24gT3ZlcnZpZXcgaW50ZWdyYXRpb25cblxuQ2F2ZWF0OiBtYXkgY2xhc2ggd2l0aCBvdGhlciBleHRlbnNpb25zIHRoYXQgbW9kaWZ5IG92ZXJ2aWV3IGV4cGVyaWVuY2UiLAogICJuYW1lIjogIk92ZXJ2aWV3IEltcHJvdmVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm92ZXJ2aWV3LWltcHJvdmVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9odW1hbi5leHBlcmllbmNlL2dub21lLXNoZWxsLW92ZXJ2aWV3LWltcHJvdmVkIiwKICAidXVpZCI6ICJvdmVydmlldy1pbXByb3ZlZEBodW1hbi5leHBlcmllbmNlIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "brightnesspanelmenuindicator@do.sch.dev.gmail.com", "name": "Brightness Panel Menu Indicator", "pname": "brightness-panel-menu-indicator", "description": "If a backlight device is available, this extension shows a brightness indicator on panel menu, that allows changing brightness through scrolling on it. Useful, when using ddcci-driver-linux on a desktop PC without native keyboard buttons to change brightness.", "link": "https://extensions.gnome.org/extension/2808/brightness-panel-menu-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "14c6klkpi0y6lxi0vkpgq86kjwf2ckkjl80530sybqfbfvbcffvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RvLXNjaC9nbm9tZS1zaGVsbC1icmlnaHRuZXNzLXBhbmVsLW1lbnUtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJicmlnaHRuZXNzcGFuZWxtZW51aW5kaWNhdG9yQGRvLnNjaC5kZXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "14c6klkpi0y6lxi0vkpgq86kjwf2ckkjl80530sybqfbfvbcffvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RvLXNjaC9nbm9tZS1zaGVsbC1icmlnaHRuZXNzLXBhbmVsLW1lbnUtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJicmlnaHRuZXNzcGFuZWxtZW51aW5kaWNhdG9yQGRvLnNjaC5kZXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "14c6klkpi0y6lxi0vkpgq86kjwf2ckkjl80530sybqfbfvbcffvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RvLXNjaC9nbm9tZS1zaGVsbC1icmlnaHRuZXNzLXBhbmVsLW1lbnUtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJicmlnaHRuZXNzcGFuZWxtZW51aW5kaWNhdG9yQGRvLnNjaC5kZXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "crypto@alipirpiran.github", "name": "Crypto Price Tracker", "pname": "crypto-price-tracker", "description": "Simple extension to track price of Crypto Currencies\n\nadd coins by Binance symbols, for example: \"BTC/USDT\"\ncomplete list on binance: https://www.binance.com/indexSpa.html\n*\n** If it faced error after update:\n**Restart Gnome-shell. (ALT+F2, r, Enter)\n*", "link": "https://extensions.gnome.org/extension/2817/crypto-price-tracker/", "shell_version_map": {"40": {"version": "15", "sha256": "1smgc04n6vr92gr919w1b9zc2rj2rvvnc9j2hvlkzh0dvf8zxk16", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuYWRkIGNvaW5zIGJ5IEJpbmFuY2Ugc3ltYm9scywgZm9yIGV4YW1wbGU6IFwiQlRDL1VTRFRcIlxuY29tcGxldGUgbGlzdCBvbiBiaW5hbmNlOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9pbmRleFNwYS5odG1sXG4qXG4qKiBJZiBpdCBmYWNlZCBlcnJvciBhZnRlciB1cGRhdGU6XG4qKlJlc3RhcnQgR25vbWUtc2hlbGwuIChBTFQrRjIsIHIsIEVudGVyKVxuKiIsCiAgIm5hbWUiOiAiQ3J5cHRvIFByaWNlIFRyYWNrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3J5cHRvLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAxNQp9"}, "41": {"version": "15", "sha256": "1smgc04n6vr92gr919w1b9zc2rj2rvvnc9j2hvlkzh0dvf8zxk16", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuYWRkIGNvaW5zIGJ5IEJpbmFuY2Ugc3ltYm9scywgZm9yIGV4YW1wbGU6IFwiQlRDL1VTRFRcIlxuY29tcGxldGUgbGlzdCBvbiBiaW5hbmNlOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9pbmRleFNwYS5odG1sXG4qXG4qKiBJZiBpdCBmYWNlZCBlcnJvciBhZnRlciB1cGRhdGU6XG4qKlJlc3RhcnQgR25vbWUtc2hlbGwuIChBTFQrRjIsIHIsIEVudGVyKVxuKiIsCiAgIm5hbWUiOiAiQ3J5cHRvIFByaWNlIFRyYWNrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3J5cHRvLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAxNQp9"}}}
+, {"uuid": "crypto@alipirpiran.github", "name": "Crypto Price Tracker", "pname": "crypto-price-tracker", "description": "Simple extension to track price of Crypto Currencies\n\nadd coins by Binance symbols, for example: \"BTC/USDT\"\ncomplete list on binance: https://www.binance.com/indexSpa.html\n\n** if it faced error after update:\n**Restart Gnome-shell. (ALT+F2, r, Enter)", "link": "https://extensions.gnome.org/extension/2817/crypto-price-tracker/", "shell_version_map": {"40": {"version": "20", "sha256": "1bm2ycybxdbkasviij4q61pf9cy7jwk99w9qvinghyd4iagsvxwi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuYWRkIGNvaW5zIGJ5IEJpbmFuY2Ugc3ltYm9scywgZm9yIGV4YW1wbGU6IFwiQlRDL1VTRFRcIlxuY29tcGxldGUgbGlzdCBvbiBiaW5hbmNlOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9pbmRleFNwYS5odG1sXG5cbioqIGlmIGl0IGZhY2VkIGVycm9yIGFmdGVyIHVwZGF0ZTpcbioqUmVzdGFydCBHbm9tZS1zaGVsbC4gKEFMVCtGMiwgciwgRW50ZXIpIiwKICAibmFtZSI6ICJDcnlwdG8gUHJpY2UgVHJhY2tlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG8tdHJhY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAyMAp9"}, "41": {"version": "20", "sha256": "1bm2ycybxdbkasviij4q61pf9cy7jwk99w9qvinghyd4iagsvxwi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuYWRkIGNvaW5zIGJ5IEJpbmFuY2Ugc3ltYm9scywgZm9yIGV4YW1wbGU6IFwiQlRDL1VTRFRcIlxuY29tcGxldGUgbGlzdCBvbiBiaW5hbmNlOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9pbmRleFNwYS5odG1sXG5cbioqIGlmIGl0IGZhY2VkIGVycm9yIGFmdGVyIHVwZGF0ZTpcbioqUmVzdGFydCBHbm9tZS1zaGVsbC4gKEFMVCtGMiwgciwgRW50ZXIpIiwKICAibmFtZSI6ICJDcnlwdG8gUHJpY2UgVHJhY2tlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG8tdHJhY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAyMAp9"}, "42": {"version": "20", "sha256": "1bm2ycybxdbkasviij4q61pf9cy7jwk99w9qvinghyd4iagsvxwi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuYWRkIGNvaW5zIGJ5IEJpbmFuY2Ugc3ltYm9scywgZm9yIGV4YW1wbGU6IFwiQlRDL1VTRFRcIlxuY29tcGxldGUgbGlzdCBvbiBiaW5hbmNlOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9pbmRleFNwYS5odG1sXG5cbioqIGlmIGl0IGZhY2VkIGVycm9yIGFmdGVyIHVwZGF0ZTpcbioqUmVzdGFydCBHbm9tZS1zaGVsbC4gKEFMVCtGMiwgciwgRW50ZXIpIiwKICAibmFtZSI6ICJDcnlwdG8gUHJpY2UgVHJhY2tlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG8tdHJhY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAyMAp9"}}}
 , {"uuid": "ibus-tweaker@tuberry.github.com", "name": "IBus Tweaker", "pname": "ibus-tweaker", "description": "Tweaker of IBus for orientation, theme, font, input mode and clipboard history\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/2820/ibus-tweaker/", "shell_version_map": {"38": {"version": "28", "sha256": "1ahhcq8hpxkdvq1fp8gd8qp1cfsgqsm9swn4ph9kyrzr7j8jvc3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250LCBpbnB1dCBtb2RlIGFuZCBjbGlwYm9hcmQgaGlzdG9yeVxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpYnVzLXR3ZWFrZXIiLAogICJuYW1lIjogIklCdXMgVHdlYWtlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pYnVzLXR3ZWFrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2lidXMtdHdlYWtlciIsCiAgInV1aWQiOiAiaWJ1cy10d2Vha2VyQHR1YmVycnkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyOAp9"}, "40": {"version": "34", "sha256": "0fs0hlxdnhssx9vcghbicg1fn3clws9q2f3nzdi4virpm8wksf3f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250LCBpbnB1dCBtb2RlIGFuZCBjbGlwYm9hcmQgaGlzdG9yeVxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpYnVzLXR3ZWFrZXIiLAogICJuYW1lIjogIklCdXMgVHdlYWtlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pYnVzLXR3ZWFrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9pYnVzLXR3ZWFrZXIiLAogICJ1dWlkIjogImlidXMtdHdlYWtlckB0dWJlcnJ5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "41": {"version": "36", "sha256": "0f819v8n1rvvwrir7qf8fp0bvn5zk899lpc4dr8f9jk9g8w57q7d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250LCBpbnB1dCBtb2RlIGFuZCBjbGlwYm9hcmQgaGlzdG9yeVxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24taWJ1cy10d2Vha2VyIiwKICAibmFtZSI6ICJJQnVzIFR3ZWFrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaWJ1cy10d2Vha2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvaWJ1cy10d2Vha2VyIiwKICAidXVpZCI6ICJpYnVzLXR3ZWFrZXJAdHViZXJyeS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM2Cn0="}, "42": {"version": "38", "sha256": "0crdw1z2yan0mbc36v8vw0iinqbv4lyqzsvdyhz8zsi9q4asrlg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250LCBpbnB1dCBtb2RlIGFuZCBjbGlwYm9hcmQgaGlzdG9yeVxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24taWJ1cy10d2Vha2VyIiwKICAibmFtZSI6ICJJQnVzIFR3ZWFrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaWJ1cy10d2Vha2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvaWJ1cy10d2Vha2VyIiwKICAidXVpZCI6ICJpYnVzLXR3ZWFrZXJAdHViZXJyeS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM4Cn0="}}}
 , {"uuid": "generic-monitor@gnome-shell-extensions", "name": "Generic Monitor", "pname": "generic-monitor", "description": "Display text & icon on systray using DBUS", "link": "https://extensions.gnome.org/extension/2826/generic-monitor/", "shell_version_map": {"38": {"version": "10", "sha256": "0kvniacvxv57f6jfcrlrd7ggwj4h0bfs60r59p150m6nldm9zf23", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9pbmRlZmVyby5zb3V0YWRlLmZyL3AvZ2VuZXJpY21vbml0b3IiLAogICJ1dWlkIjogImdlbmVyaWMtbW9uaXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "10", "sha256": "0kvniacvxv57f6jfcrlrd7ggwj4h0bfs60r59p150m6nldm9zf23", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9pbmRlZmVyby5zb3V0YWRlLmZyL3AvZ2VuZXJpY21vbml0b3IiLAogICJ1dWlkIjogImdlbmVyaWMtbW9uaXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "0kvniacvxv57f6jfcrlrd7ggwj4h0bfs60r59p150m6nldm9zf23", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9pbmRlZmVyby5zb3V0YWRlLmZyL3AvZ2VuZXJpY21vbml0b3IiLAogICJ1dWlkIjogImdlbmVyaWMtbW9uaXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "0kvniacvxv57f6jfcrlrd7ggwj4h0bfs60r59p150m6nldm9zf23", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9pbmRlZmVyby5zb3V0YWRlLmZyL3AvZ2VuZXJpY21vbml0b3IiLAogICJ1dWlkIjogImdlbmVyaWMtbW9uaXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "hide-keyboard-layout@sitnik.ru", "name": "Hide Keyboard Layout", "pname": "hide-keyboard-layout", "description": "Hide keyboard layout indicator in status bar", "link": "https://extensions.gnome.org/extension/2848/hide-keyboard-layout/", "shell_version_map": {"38": {"version": "4", "sha256": "01cb7rjbsvg1d0ns70mdfmbac1bad5rb96dkjnbv6p97351d92hj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FpL2hpZGUta2V5Ym9hcmQtbGF5b3V0IiwKICAidXVpZCI6ICJoaWRlLWtleWJvYXJkLWxheW91dEBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "01cb7rjbsvg1d0ns70mdfmbac1bad5rb96dkjnbv6p97351d92hj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FpL2hpZGUta2V5Ym9hcmQtbGF5b3V0IiwKICAidXVpZCI6ICJoaWRlLWtleWJvYXJkLWxheW91dEBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "01cb7rjbsvg1d0ns70mdfmbac1bad5rb96dkjnbv6p97351d92hj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FpL2hpZGUta2V5Ym9hcmQtbGF5b3V0IiwKICAidXVpZCI6ICJoaWRlLWtleWJvYXJkLWxheW91dEBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "01cb7rjbsvg1d0ns70mdfmbac1bad5rb96dkjnbv6p97351d92hj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FpL2hpZGUta2V5Ym9hcmQtbGF5b3V0IiwKICAidXVpZCI6ICJoaWRlLWtleWJvYXJkLWxheW91dEBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogNAp9"}}}
@@ -310,7 +312,7 @@
 , {"uuid": "runcat@kolesnikov.se", "name": "RunCat", "pname": "runcat", "description": "The cat tells you the CPU usage by running speed", "link": "https://extensions.gnome.org/extension/2986/runcat/", "shell_version_map": {"38": {"version": "18", "sha256": "142qhz0ry330gcj9wg2hwa83d9xlsnrcajj0d9c4xaar9mhqc22d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2luMGVyci9nbm9tZS1ydW5jYXQiLAogICJ1dWlkIjogInJ1bmNhdEBrb2xlc25pa292LnNlIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "18", "sha256": "142qhz0ry330gcj9wg2hwa83d9xlsnrcajj0d9c4xaar9mhqc22d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2luMGVyci9nbm9tZS1ydW5jYXQiLAogICJ1dWlkIjogInJ1bmNhdEBrb2xlc25pa292LnNlIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "41": {"version": "18", "sha256": "142qhz0ry330gcj9wg2hwa83d9xlsnrcajj0d9c4xaar9mhqc22d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2luMGVyci9nbm9tZS1ydW5jYXQiLAogICJ1dWlkIjogInJ1bmNhdEBrb2xlc25pa292LnNlIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "42": {"version": "18", "sha256": "142qhz0ry330gcj9wg2hwa83d9xlsnrcajj0d9c4xaar9mhqc22d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2luMGVyci9nbm9tZS1ydW5jYXQiLAogICJ1dWlkIjogInJ1bmNhdEBrb2xlc25pa292LnNlIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
 , {"uuid": "bowser-gnome@kronosoul.xyz", "name": "Bowser Gnome Extension", "pname": "bowser-gnome-extension", "description": "Create rules to open specific websites in specific web browsers for links clicked in any application on your computer. (emails, chat etc)", "link": "https://extensions.gnome.org/extension/2989/bowser-gnome-extension/", "shell_version_map": {"38": {"version": "10", "sha256": "0y41xz4j24lc50ai8dcvl1l773ral59ixcpvkjq1l82x7baq60pk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwuQm93c2VyIiwKICAiZGVzY3JpcHRpb24iOiAiQ3JlYXRlIHJ1bGVzIHRvIG9wZW4gc3BlY2lmaWMgd2Vic2l0ZXMgaW4gc3BlY2lmaWMgd2ViIGJyb3dzZXJzIGZvciBsaW5rcyBjbGlja2VkIGluIGFueSBhcHBsaWNhdGlvbiBvbiB5b3VyIGNvbXB1dGVyLiAoZW1haWxzLCBjaGF0IGV0YykiLAogICJleHRlbnNpb24taWQiOiAiYm93c2VyLWdub21lIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYm93c2VyLWdub21lIiwKICAibmFtZSI6ICJCb3dzZXIgR25vbWUgRXh0ZW5zaW9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFkbWluQGtyb25vc291bC54eXoiLAogICJyZXNvdXJjZS1wYXRoIjogIi9vcmcva3Jvbm9zb3VsL0Jvd3Nlci8iLAogICJzZXR0aW5ncy1wYXRoIjogIi9vcmcvZ25vbWUvc2hlbGwvZXh0ZW5zaW9ucy9Cb3dzZXIvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkJvd3NlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsaXBrL2Jvd3Nlci1nbm9tZSIsCiAgInV1aWQiOiAiYm93c2VyLWdub21lQGtyb25vc291bC54eXoiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "ideapad@laurento.frittella", "name": "IdeaPad", "pname": "ideapad", "description": "Lenovo IdeaPad goodies for Gnome Shell\n\nAt the moment the extension only provides an easy and user-friendly way to toggle battery conservation mode available on Levono Ideapad laptops and visually get its current state.\n\nConfiguration needed! Please check the instruction on the homepage.", "link": "https://extensions.gnome.org/extension/2992/ideapad/", "shell_version_map": {"38": {"version": "11", "sha256": "0p0crv91n0lals20hkrvivj00yhsadkwy9s2bfdyzmk6slwa35rb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWlkZWFwYWQiLAogICJ1dWlkIjogImlkZWFwYWRAbGF1cmVudG8uZnJpdHRlbGxhIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "0p0crv91n0lals20hkrvivj00yhsadkwy9s2bfdyzmk6slwa35rb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWlkZWFwYWQiLAogICJ1dWlkIjogImlkZWFwYWRAbGF1cmVudG8uZnJpdHRlbGxhIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "0p0crv91n0lals20hkrvivj00yhsadkwy9s2bfdyzmk6slwa35rb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWlkZWFwYWQiLAogICJ1dWlkIjogImlkZWFwYWRAbGF1cmVudG8uZnJpdHRlbGxhIiwKICAidmVyc2lvbiI6IDExCn0="}, "42": {"version": "11", "sha256": "0p0crv91n0lals20hkrvivj00yhsadkwy9s2bfdyzmk6slwa35rb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWlkZWFwYWQiLAogICJ1dWlkIjogImlkZWFwYWRAbGF1cmVudG8uZnJpdHRlbGxhIiwKICAidmVyc2lvbiI6IDExCn0="}}}
-, {"uuid": "system-monitor-next@paradoxxx.zero.gmail.com", "name": "system-monitor-next", "pname": "system-monitor-next", "description": "Display system information in GNOME Shell status bar, such as memory, CPU, disk and battery usages, network rates…\n\nThis fork of paradoxxxzero/gnome-shell-system-monitor-applet is for packaging purposes only. This extension is built and updated continuously with the upstream master branch.\n\nThis is preferable for users on bleeding edge distributions that prefer not to wait for a stable release from the main repo. Of course, since we're releasing directly from master some instability is inevitable.\n\nIf you get an error after updating, try restarting Gnome Shell with Alt-F2 then 'r'.", "link": "https://extensions.gnome.org/extension/3010/system-monitor-next/", "shell_version_map": {"40": {"version": "41", "sha256": "1gpkkvmgqc5pxbg4ss71m227xvmsmk4syhjj800hmxkgx66kvs8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2XG5cblRoaXMgZm9yayBvZiBwYXJhZG94eHh6ZXJvL2dub21lLXNoZWxsLXN5c3RlbS1tb25pdG9yLWFwcGxldCBpcyBmb3IgcGFja2FnaW5nIHB1cnBvc2VzIG9ubHkuIFRoaXMgZXh0ZW5zaW9uIGlzIGJ1aWx0IGFuZCB1cGRhdGVkIGNvbnRpbnVvdXNseSB3aXRoIHRoZSB1cHN0cmVhbSBtYXN0ZXIgYnJhbmNoLlxuXG5UaGlzIGlzIHByZWZlcmFibGUgZm9yIHVzZXJzIG9uIGJsZWVkaW5nIGVkZ2UgZGlzdHJpYnV0aW9ucyB0aGF0IHByZWZlciBub3QgdG8gd2FpdCBmb3IgYSBzdGFibGUgcmVsZWFzZSBmcm9tIHRoZSBtYWluIHJlcG8uIE9mIGNvdXJzZSwgc2luY2Ugd2UncmUgcmVsZWFzaW5nIGRpcmVjdGx5IGZyb20gbWFzdGVyIHNvbWUgaW5zdGFiaWxpdHkgaXMgaW5ldml0YWJsZS5cblxuSWYgeW91IGdldCBhbiBlcnJvciBhZnRlciB1cGRhdGluZywgdHJ5IHJlc3RhcnRpbmcgR25vbWUgU2hlbGwgd2l0aCBBbHQtRjIgdGhlbiAncicuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogInN5c3RlbS1tb25pdG9yLW5leHQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3lzdGVtLW1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZ2FsZ3MvZ25vbWUtc2hlbGwtc3lzdGVtLW1vbml0b3ItYXBwbGV0IiwKICAidXVpZCI6ICJzeXN0ZW0tbW9uaXRvci1uZXh0QHBhcmFkb3h4eC56ZXJvLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0MQp9"}, "41": {"version": "41", "sha256": "1gpkkvmgqc5pxbg4ss71m227xvmsmk4syhjj800hmxkgx66kvs8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2XG5cblRoaXMgZm9yayBvZiBwYXJhZG94eHh6ZXJvL2dub21lLXNoZWxsLXN5c3RlbS1tb25pdG9yLWFwcGxldCBpcyBmb3IgcGFja2FnaW5nIHB1cnBvc2VzIG9ubHkuIFRoaXMgZXh0ZW5zaW9uIGlzIGJ1aWx0IGFuZCB1cGRhdGVkIGNvbnRpbnVvdXNseSB3aXRoIHRoZSB1cHN0cmVhbSBtYXN0ZXIgYnJhbmNoLlxuXG5UaGlzIGlzIHByZWZlcmFibGUgZm9yIHVzZXJzIG9uIGJsZWVkaW5nIGVkZ2UgZGlzdHJpYnV0aW9ucyB0aGF0IHByZWZlciBub3QgdG8gd2FpdCBmb3IgYSBzdGFibGUgcmVsZWFzZSBmcm9tIHRoZSBtYWluIHJlcG8uIE9mIGNvdXJzZSwgc2luY2Ugd2UncmUgcmVsZWFzaW5nIGRpcmVjdGx5IGZyb20gbWFzdGVyIHNvbWUgaW5zdGFiaWxpdHkgaXMgaW5ldml0YWJsZS5cblxuSWYgeW91IGdldCBhbiBlcnJvciBhZnRlciB1cGRhdGluZywgdHJ5IHJlc3RhcnRpbmcgR25vbWUgU2hlbGwgd2l0aCBBbHQtRjIgdGhlbiAncicuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogInN5c3RlbS1tb25pdG9yLW5leHQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3lzdGVtLW1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZ2FsZ3MvZ25vbWUtc2hlbGwtc3lzdGVtLW1vbml0b3ItYXBwbGV0IiwKICAidXVpZCI6ICJzeXN0ZW0tbW9uaXRvci1uZXh0QHBhcmFkb3h4eC56ZXJvLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0MQp9"}, "42": {"version": "41", "sha256": "1gpkkvmgqc5pxbg4ss71m227xvmsmk4syhjj800hmxkgx66kvs8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2XG5cblRoaXMgZm9yayBvZiBwYXJhZG94eHh6ZXJvL2dub21lLXNoZWxsLXN5c3RlbS1tb25pdG9yLWFwcGxldCBpcyBmb3IgcGFja2FnaW5nIHB1cnBvc2VzIG9ubHkuIFRoaXMgZXh0ZW5zaW9uIGlzIGJ1aWx0IGFuZCB1cGRhdGVkIGNvbnRpbnVvdXNseSB3aXRoIHRoZSB1cHN0cmVhbSBtYXN0ZXIgYnJhbmNoLlxuXG5UaGlzIGlzIHByZWZlcmFibGUgZm9yIHVzZXJzIG9uIGJsZWVkaW5nIGVkZ2UgZGlzdHJpYnV0aW9ucyB0aGF0IHByZWZlciBub3QgdG8gd2FpdCBmb3IgYSBzdGFibGUgcmVsZWFzZSBmcm9tIHRoZSBtYWluIHJlcG8uIE9mIGNvdXJzZSwgc2luY2Ugd2UncmUgcmVsZWFzaW5nIGRpcmVjdGx5IGZyb20gbWFzdGVyIHNvbWUgaW5zdGFiaWxpdHkgaXMgaW5ldml0YWJsZS5cblxuSWYgeW91IGdldCBhbiBlcnJvciBhZnRlciB1cGRhdGluZywgdHJ5IHJlc3RhcnRpbmcgR25vbWUgU2hlbGwgd2l0aCBBbHQtRjIgdGhlbiAncicuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogInN5c3RlbS1tb25pdG9yLW5leHQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3lzdGVtLW1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZ2FsZ3MvZ25vbWUtc2hlbGwtc3lzdGVtLW1vbml0b3ItYXBwbGV0IiwKICAidXVpZCI6ICJzeXN0ZW0tbW9uaXRvci1uZXh0QHBhcmFkb3h4eC56ZXJvLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0MQp9"}}}
+, {"uuid": "system-monitor-next@paradoxxx.zero.gmail.com", "name": "system-monitor-next", "pname": "system-monitor-next", "description": "Display system information in GNOME Shell status bar, such as memory, CPU, disk and battery usages, network rates…\n\nThis fork of paradoxxxzero/gnome-shell-system-monitor-applet is for packaging purposes only. This extension is built and updated continuously with the upstream master branch.\n\nThis is preferable for users on bleeding edge distributions that prefer not to wait for a stable release from the main repo. Of course, since we're releasing directly from master some instability is inevitable.\n\nIf you get an error after updating, try restarting Gnome Shell with Alt-F2 then 'r'.", "link": "https://extensions.gnome.org/extension/3010/system-monitor-next/", "shell_version_map": {"40": {"version": "42", "sha256": "0b0h18vifbzwqifcm8hk8cm66hpc1g9ijf96ib3pplsidlvx49b3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2XG5cblRoaXMgZm9yayBvZiBwYXJhZG94eHh6ZXJvL2dub21lLXNoZWxsLXN5c3RlbS1tb25pdG9yLWFwcGxldCBpcyBmb3IgcGFja2FnaW5nIHB1cnBvc2VzIG9ubHkuIFRoaXMgZXh0ZW5zaW9uIGlzIGJ1aWx0IGFuZCB1cGRhdGVkIGNvbnRpbnVvdXNseSB3aXRoIHRoZSB1cHN0cmVhbSBtYXN0ZXIgYnJhbmNoLlxuXG5UaGlzIGlzIHByZWZlcmFibGUgZm9yIHVzZXJzIG9uIGJsZWVkaW5nIGVkZ2UgZGlzdHJpYnV0aW9ucyB0aGF0IHByZWZlciBub3QgdG8gd2FpdCBmb3IgYSBzdGFibGUgcmVsZWFzZSBmcm9tIHRoZSBtYWluIHJlcG8uIE9mIGNvdXJzZSwgc2luY2Ugd2UncmUgcmVsZWFzaW5nIGRpcmVjdGx5IGZyb20gbWFzdGVyIHNvbWUgaW5zdGFiaWxpdHkgaXMgaW5ldml0YWJsZS5cblxuSWYgeW91IGdldCBhbiBlcnJvciBhZnRlciB1cGRhdGluZywgdHJ5IHJlc3RhcnRpbmcgR25vbWUgU2hlbGwgd2l0aCBBbHQtRjIgdGhlbiAncicuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogInN5c3RlbS1tb25pdG9yLW5leHQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3lzdGVtLW1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZ2FsZ3MvZ25vbWUtc2hlbGwtc3lzdGVtLW1vbml0b3ItYXBwbGV0IiwKICAidXVpZCI6ICJzeXN0ZW0tbW9uaXRvci1uZXh0QHBhcmFkb3h4eC56ZXJvLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Mgp9"}, "41": {"version": "42", "sha256": "0b0h18vifbzwqifcm8hk8cm66hpc1g9ijf96ib3pplsidlvx49b3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2XG5cblRoaXMgZm9yayBvZiBwYXJhZG94eHh6ZXJvL2dub21lLXNoZWxsLXN5c3RlbS1tb25pdG9yLWFwcGxldCBpcyBmb3IgcGFja2FnaW5nIHB1cnBvc2VzIG9ubHkuIFRoaXMgZXh0ZW5zaW9uIGlzIGJ1aWx0IGFuZCB1cGRhdGVkIGNvbnRpbnVvdXNseSB3aXRoIHRoZSB1cHN0cmVhbSBtYXN0ZXIgYnJhbmNoLlxuXG5UaGlzIGlzIHByZWZlcmFibGUgZm9yIHVzZXJzIG9uIGJsZWVkaW5nIGVkZ2UgZGlzdHJpYnV0aW9ucyB0aGF0IHByZWZlciBub3QgdG8gd2FpdCBmb3IgYSBzdGFibGUgcmVsZWFzZSBmcm9tIHRoZSBtYWluIHJlcG8uIE9mIGNvdXJzZSwgc2luY2Ugd2UncmUgcmVsZWFzaW5nIGRpcmVjdGx5IGZyb20gbWFzdGVyIHNvbWUgaW5zdGFiaWxpdHkgaXMgaW5ldml0YWJsZS5cblxuSWYgeW91IGdldCBhbiBlcnJvciBhZnRlciB1cGRhdGluZywgdHJ5IHJlc3RhcnRpbmcgR25vbWUgU2hlbGwgd2l0aCBBbHQtRjIgdGhlbiAncicuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogInN5c3RlbS1tb25pdG9yLW5leHQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3lzdGVtLW1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZ2FsZ3MvZ25vbWUtc2hlbGwtc3lzdGVtLW1vbml0b3ItYXBwbGV0IiwKICAidXVpZCI6ICJzeXN0ZW0tbW9uaXRvci1uZXh0QHBhcmFkb3h4eC56ZXJvLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Mgp9"}, "42": {"version": "42", "sha256": "0b0h18vifbzwqifcm8hk8cm66hpc1g9ijf96ib3pplsidlvx49b3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2XG5cblRoaXMgZm9yayBvZiBwYXJhZG94eHh6ZXJvL2dub21lLXNoZWxsLXN5c3RlbS1tb25pdG9yLWFwcGxldCBpcyBmb3IgcGFja2FnaW5nIHB1cnBvc2VzIG9ubHkuIFRoaXMgZXh0ZW5zaW9uIGlzIGJ1aWx0IGFuZCB1cGRhdGVkIGNvbnRpbnVvdXNseSB3aXRoIHRoZSB1cHN0cmVhbSBtYXN0ZXIgYnJhbmNoLlxuXG5UaGlzIGlzIHByZWZlcmFibGUgZm9yIHVzZXJzIG9uIGJsZWVkaW5nIGVkZ2UgZGlzdHJpYnV0aW9ucyB0aGF0IHByZWZlciBub3QgdG8gd2FpdCBmb3IgYSBzdGFibGUgcmVsZWFzZSBmcm9tIHRoZSBtYWluIHJlcG8uIE9mIGNvdXJzZSwgc2luY2Ugd2UncmUgcmVsZWFzaW5nIGRpcmVjdGx5IGZyb20gbWFzdGVyIHNvbWUgaW5zdGFiaWxpdHkgaXMgaW5ldml0YWJsZS5cblxuSWYgeW91IGdldCBhbiBlcnJvciBhZnRlciB1cGRhdGluZywgdHJ5IHJlc3RhcnRpbmcgR25vbWUgU2hlbGwgd2l0aCBBbHQtRjIgdGhlbiAncicuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogInN5c3RlbS1tb25pdG9yLW5leHQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3lzdGVtLW1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZ2FsZ3MvZ25vbWUtc2hlbGwtc3lzdGVtLW1vbml0b3ItYXBwbGV0IiwKICAidXVpZCI6ICJzeXN0ZW0tbW9uaXRvci1uZXh0QHBhcmFkb3h4eC56ZXJvLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Mgp9"}}}
 , {"uuid": "user-theme-x@tuberry.github.io", "name": "User Themes X", "pname": "user-themes-x", "description": "Customizable user-theme with user stylesheet and dark theme auto-switch support\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/3019/user-themes-x/", "shell_version_map": {"38": {"version": "21", "sha256": "08992jny17mbw3gvlfwzgis1ld3wfkkd5fwdyq2c4s6l412fr0mz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBkYXJrIHRoZW1lIGF1dG8tc3dpdGNoIHN1cHBvcnRcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUteCIsCiAgImdldHRleHQtZG9tYWluIjogInVzZXItdGhlbWUteCIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMgWCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiam9obi5zdG93ZXJzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXNlci10aGVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvdXNlci10aGVtZS14IiwKICAidXVpZCI6ICJ1c2VyLXRoZW1lLXhAdHViZXJyeS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "40": {"version": "24", "sha256": "12scyi48nfbrl2bvhq4rwdcj7vyvpdc86sa8iw1fg3y0cw6vlvq6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBkYXJrIHRoZW1lIGF1dG8tc3dpdGNoIHN1cHBvcnRcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUteCIsCiAgImdldHRleHQtZG9tYWluIjogInVzZXItdGhlbWUteCIsCiAgIm5hbWUiOiAiVXNlciBUaGVtZXMgWCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiam9obi5zdG93ZXJzQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXNlci10aGVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L3VzZXItdGhlbWUteCIsCiAgInV1aWQiOiAidXNlci10aGVtZS14QHR1YmVycnkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDI0Cn0="}, "41": {"version": "25", "sha256": "101y4msarf1dglh0g4wybz4dx8zsz2yg8ny2q5rz3xy1cjj8ac5a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBkYXJrIHRoZW1lIGF1dG8tc3dpdGNoIHN1cHBvcnRcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUteCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi11c2VyLXRoZW1lLXgiLAogICJuYW1lIjogIlVzZXIgVGhlbWVzIFgiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS91c2VyLXRoZW1lLXgiLAogICJ1dWlkIjogInVzZXItdGhlbWUteEB0dWJlcnJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyNQp9"}, "42": {"version": "28", "sha256": "0bszimlk03j49v9f8ab6kv3chg8p29zg6ms3l1nvicdifxyp534g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBkYXJrIHRoZW1lIGF1dG8tc3dpdGNoIHN1cHBvcnRcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUteCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi11c2VyLXRoZW1lLXgiLAogICJuYW1lIjogIlVzZXIgVGhlbWVzIFgiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS91c2VyLXRoZW1lLXgiLAogICJ1dWlkIjogInVzZXItdGhlbWUteEB0dWJlcnJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyOAp9"}}}
 , {"uuid": "app_view_text@fawtytoo", "name": "Application View Text", "pname": "application-view-text", "description": "The text in the Application view can be hard to read on a light coloured background. This extension makes the text bolder with a drop shadow.\nAlso improves the visibility of the app running dot.", "link": "https://extensions.gnome.org/extension/3028/application-view-text/", "shell_version_map": {"38": {"version": "7", "sha256": "1dnf1rqg27y1c50sfmqcnswac93lkgml1hdaalq6lfzm8pbnpx0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSB0ZXh0IGluIHRoZSBBcHBsaWNhdGlvbiB2aWV3IGNhbiBiZSBoYXJkIHRvIHJlYWQgb24gYSBsaWdodCBjb2xvdXJlZCBiYWNrZ3JvdW5kLiBUaGlzIGV4dGVuc2lvbiBtYWtlcyB0aGUgdGV4dCBib2xkZXIgd2l0aCBhIGRyb3Agc2hhZG93LlxuQWxzbyBpbXByb3ZlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYXBwIHJ1bm5pbmcgZG90LiIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb24gVmlldyBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwX3ZpZXdfdGV4dEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "1dnf1rqg27y1c50sfmqcnswac93lkgml1hdaalq6lfzm8pbnpx0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSB0ZXh0IGluIHRoZSBBcHBsaWNhdGlvbiB2aWV3IGNhbiBiZSBoYXJkIHRvIHJlYWQgb24gYSBsaWdodCBjb2xvdXJlZCBiYWNrZ3JvdW5kLiBUaGlzIGV4dGVuc2lvbiBtYWtlcyB0aGUgdGV4dCBib2xkZXIgd2l0aCBhIGRyb3Agc2hhZG93LlxuQWxzbyBpbXByb3ZlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYXBwIHJ1bm5pbmcgZG90LiIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb24gVmlldyBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwX3ZpZXdfdGV4dEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1dnf1rqg27y1c50sfmqcnswac93lkgml1hdaalq6lfzm8pbnpx0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSB0ZXh0IGluIHRoZSBBcHBsaWNhdGlvbiB2aWV3IGNhbiBiZSBoYXJkIHRvIHJlYWQgb24gYSBsaWdodCBjb2xvdXJlZCBiYWNrZ3JvdW5kLiBUaGlzIGV4dGVuc2lvbiBtYWtlcyB0aGUgdGV4dCBib2xkZXIgd2l0aCBhIGRyb3Agc2hhZG93LlxuQWxzbyBpbXByb3ZlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYXBwIHJ1bm5pbmcgZG90LiIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb24gVmlldyBUZXh0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwX3ZpZXdfdGV4dEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "vpn-snx-indicator@als.kz", "name": "VPN and SNX Indicator", "pname": "vpn-and-snx-indicator", "description": "A status indicator for a VPN and SNX(Check Point) connection.", "link": "https://extensions.gnome.org/extension/3049/vpn-and-snx-indicator/", "shell_version_map": {"38": {"version": "8", "sha256": "1mns39frrabpfdvmc7jcqxrlxs1mnjimdwa69hv5lawf0r498h9g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgYSBWUE4gYW5kIFNOWChDaGVjayBQb2ludCkgY29ubmVjdGlvbi4iLAogICJuYW1lIjogIlZQTiBhbmQgU05YIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNi4wIiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleGV5bG92Y2hpa292L3Zwbi1pbmRpY2F0b3Itc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ2cG4tc254LWluZGljYXRvckBhbHMua3oiLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "1mns39frrabpfdvmc7jcqxrlxs1mnjimdwa69hv5lawf0r498h9g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgYSBWUE4gYW5kIFNOWChDaGVjayBQb2ludCkgY29ubmVjdGlvbi4iLAogICJuYW1lIjogIlZQTiBhbmQgU05YIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNi4wIiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleGV5bG92Y2hpa292L3Zwbi1pbmRpY2F0b3Itc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ2cG4tc254LWluZGljYXRvckBhbHMua3oiLAogICJ2ZXJzaW9uIjogOAp9"}}}
@@ -318,11 +320,11 @@
 , {"uuid": "ssss@tu.berry", "name": "Simple Subscriber", "pname": "ss-subscriber", "description": "Simple shadowsocks subscriber (SSD only), yet another proxy switcher for GNOME Shell\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/3073/ss-subscriber/", "shell_version_map": {"38": {"version": "18", "sha256": "03gryl577559h2l1s3adi5gxa8ivp454p4lq7jng1db6smlpj95a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBzaGFkb3dzb2NrcyBzdWJzY3JpYmVyIChTU0Qgb25seSksIHlldCBhbm90aGVyIHByb3h5IHN3aXRjaGVyIGZvciBHTk9NRSBTaGVsbFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzcy1zdWJzY3JpYmVyIiwKICAibmFtZSI6ICJTaW1wbGUgU3Vic2NyaWJlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcy1zdWJzY3JpYmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9zcy1zdWJzY3JpYmVyIiwKICAidXVpZCI6ICJzc3NzQHR1LmJlcnJ5IiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "20", "sha256": "075d00xsbmr4qs554p2anddhkmgcx7xd4nn8prgmf4wpyfk87552", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBzaGFkb3dzb2NrcyBzdWJzY3JpYmVyIChTU0Qgb25seSksIHlldCBhbm90aGVyIHByb3h5IHN3aXRjaGVyIGZvciBHTk9NRSBTaGVsbFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzcy1zdWJzY3JpYmVyIiwKICAibmFtZSI6ICJTaW1wbGUgU3Vic2NyaWJlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcy1zdWJzY3JpYmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvc3Mtc3Vic2NyaWJlciIsCiAgInV1aWQiOiAic3Nzc0B0dS5iZXJyeSIsCiAgInZlcnNpb24iOiAyMAp9"}, "41": {"version": "21", "sha256": "06ybzk62fbi88iqssl4pw0amsbcp09pnw99wxanh2jlvaakqgday", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBzaGFkb3dzb2NrcyBzdWJzY3JpYmVyIChTU0Qgb25seSksIHlldCBhbm90aGVyIHByb3h5IHN3aXRjaGVyIGZvciBHTk9NRSBTaGVsbFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tc3Mtc3Vic2NyaWJlciIsCiAgIm5hbWUiOiAiU2ltcGxlIFN1YnNjcmliZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3Mtc3Vic2NyaWJlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L3NzLXN1YnNjcmliZXIiLAogICJ1dWlkIjogInNzc3NAdHUuYmVycnkiLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "42": {"version": "23", "sha256": "078111h68zv03n6i4yw9jgdn9idxb91qpami64xl5g1rc75sc91w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBzaGFkb3dzb2NrcyBzdWJzY3JpYmVyIChTU0Qgb25seSksIHlldCBhbm90aGVyIHByb3h5IHN3aXRjaGVyIGZvciBHTk9NRSBTaGVsbFxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tc3Mtc3Vic2NyaWJlciIsCiAgIm5hbWUiOiAiU2ltcGxlIFN1YnNjcmliZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3Mtc3Vic2NyaWJlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L3NzLXN1YnNjcmliZXIiLAogICJ1dWlkIjogInNzc3NAdHUuYmVycnkiLAogICJ2ZXJzaW9uIjogMjMKfQ=="}}}
 , {"uuid": "extension-list@tu.berry", "name": "Extension List", "pname": "extension-list", "description": "Simple GNOME Shell extension manager in the top panel\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/3088/extension-list/", "shell_version_map": {"38": {"version": "25", "sha256": "0cwabswbb5p0z156488ag095h558hf541650vfnjgw4nas7v2ccx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBTaGVsbCBleHRlbnNpb24gbWFuYWdlciBpbiB0aGUgdG9wIHBhbmVsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImV4dGVuc2lvbi1saXN0IiwKICAibmFtZSI6ICJFeHRlbnNpb24gTGlzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5leHRlbnNpb24tbGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvZXh0ZW5zaW9uLWxpc3QiLAogICJ1dWlkIjogImV4dGVuc2lvbi1saXN0QHR1LmJlcnJ5IiwKICAidmVyc2lvbiI6IDI1Cn0="}, "40": {"version": "27", "sha256": "0m13qzzbbx5rnq8a9xn09nvr3dy9zqkp8y9529y12250wyjafl1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBTaGVsbCBleHRlbnNpb24gbWFuYWdlciBpbiB0aGUgdG9wIHBhbmVsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImV4dGVuc2lvbi1saXN0IiwKICAibmFtZSI6ICJFeHRlbnNpb24gTGlzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5leHRlbnNpb24tbGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2V4dGVuc2lvbi1saXN0IiwKICAidXVpZCI6ICJleHRlbnNpb24tbGlzdEB0dS5iZXJyeSIsCiAgInZlcnNpb24iOiAyNwp9"}, "41": {"version": "29", "sha256": "1yl2b9phvrgsdpkwqjfqpaqi2xcj5bcd4zabqkrfwngqsg17s85j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBTaGVsbCBleHRlbnNpb24gbWFuYWdlciBpbiB0aGUgdG9wIHBhbmVsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1leHRlbnNpb24tbGlzdCIsCiAgIm5hbWUiOiAiRXh0ZW5zaW9uIExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXh0ZW5zaW9uLWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9leHRlbnNpb24tbGlzdCIsCiAgInV1aWQiOiAiZXh0ZW5zaW9uLWxpc3RAdHUuYmVycnkiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "42": {"version": "30", "sha256": "1hnidb1f6cawfhmkql4y8kz3rq0ibqcfk678yz1n12l2gp3vvvz3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBTaGVsbCBleHRlbnNpb24gbWFuYWdlciBpbiB0aGUgdG9wIHBhbmVsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1leHRlbnNpb24tbGlzdCIsCiAgIm5hbWUiOiAiRXh0ZW5zaW9uIExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXh0ZW5zaW9uLWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9leHRlbnNpb24tbGlzdCIsCiAgInV1aWQiOiAiZXh0ZW5zaW9uLWxpc3RAdHUuYmVycnkiLAogICJ2ZXJzaW9uIjogMzAKfQ=="}}}
 , {"uuid": "MaximizeToEmptyWorkspace-extension@kaisersite.de", "name": "Maximize To Empty Workspace", "pname": "maximize-to-empty-workspace", "description": "New and maximized windows will be moved to empty workspaces.\nSupports multiple monitors.", "link": "https://extensions.gnome.org/extension/3100/maximize-to-empty-workspace/", "shell_version_map": {"38": {"version": "11", "sha256": "1cbbdgbgnara45152byr5yx52cbsfd48dpkick93ih2plk1gbm3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWlzZXJhY20vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplLXRvLWVtcHR5LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiTWF4aW1pemVUb0VtcHR5V29ya3NwYWNlLWV4dGVuc2lvbkBrYWlzZXJzaXRlLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "1cbbdgbgnara45152byr5yx52cbsfd48dpkick93ih2plk1gbm3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWlzZXJhY20vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplLXRvLWVtcHR5LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiTWF4aW1pemVUb0VtcHR5V29ya3NwYWNlLWV4dGVuc2lvbkBrYWlzZXJzaXRlLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "1cbbdgbgnara45152byr5yx52cbsfd48dpkick93ih2plk1gbm3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWlzZXJhY20vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplLXRvLWVtcHR5LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiTWF4aW1pemVUb0VtcHR5V29ya3NwYWNlLWV4dGVuc2lvbkBrYWlzZXJzaXRlLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}, "42": {"version": "11", "sha256": "1cbbdgbgnara45152byr5yx52cbsfd48dpkick93ih2plk1gbm3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWlzZXJhY20vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplLXRvLWVtcHR5LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiTWF4aW1pemVUb0VtcHR5V29ya3NwYWNlLWV4dGVuc2lvbkBrYWlzZXJzaXRlLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}}}
-, {"uuid": "eye-extended@als.kz", "name": "Eye and Mouse Extended", "pname": "eye-extended", "description": "Adds an eye to the indicator bar that follows your cursor \nYou can also display the mouse indicator, perhaps it will help you with the problem of displaying the mouse cursor in Skype", "link": "https://extensions.gnome.org/extension/3139/eye-extended/", "shell_version_map": {"38": {"version": "9", "sha256": "1y2bgk2kww0g3f1d93s1w15g5xihjbipq40wr08f41jr8l53v9ay", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZXlsb3ZjaGlrb3YvZXllLWV4dGVuZGVkLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZXllLWV4dGVuZGVkQGFscy5reiIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "9", "sha256": "1y2bgk2kww0g3f1d93s1w15g5xihjbipq40wr08f41jr8l53v9ay", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZXlsb3ZjaGlrb3YvZXllLWV4dGVuZGVkLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZXllLWV4dGVuZGVkQGFscy5reiIsCiAgInZlcnNpb24iOiA5Cn0="}, "41": {"version": "9", "sha256": "1y2bgk2kww0g3f1d93s1w15g5xihjbipq40wr08f41jr8l53v9ay", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZXlsb3ZjaGlrb3YvZXllLWV4dGVuZGVkLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZXllLWV4dGVuZGVkQGFscy5reiIsCiAgInZlcnNpb24iOiA5Cn0="}}}
+, {"uuid": "eye-extended@als.kz", "name": "Eye and Mouse Extended", "pname": "eye-extended", "description": "Adds an eye to the indicator bar that follows your cursor \nYou can also display the mouse indicator, perhaps it will help you with the problem of displaying the mouse cursor in Skype", "link": "https://extensions.gnome.org/extension/3139/eye-extended/", "shell_version_map": {"38": {"version": "10", "sha256": "15d8w18s0chk5w0b9bfm9xyhnlrwmgkf833yg144wxc1l5c23lrz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleGV5bG92Y2hpa292L2V5ZS1leHRlbmRlZC1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImV5ZS1leHRlbmRlZEBhbHMua3oiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "15d8w18s0chk5w0b9bfm9xyhnlrwmgkf833yg144wxc1l5c23lrz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleGV5bG92Y2hpa292L2V5ZS1leHRlbmRlZC1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImV5ZS1leHRlbmRlZEBhbHMua3oiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "15d8w18s0chk5w0b9bfm9xyhnlrwmgkf833yg144wxc1l5c23lrz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleGV5bG92Y2hpa292L2V5ZS1leHRlbmRlZC1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImV5ZS1leHRlbmRlZEBhbHMua3oiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "15d8w18s0chk5w0b9bfm9xyhnlrwmgkf833yg144wxc1l5c23lrz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleGV5bG92Y2hpa292L2V5ZS1leHRlbmRlZC1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImV5ZS1leHRlbmRlZEBhbHMua3oiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "wireguard-indicator@gregos.me", "name": "Wireguard Indicator", "pname": "wireguard-indicator", "description": "Enable, disable, and view details of Wireguard.\nDeveloped by Gregos-Winus.", "link": "https://extensions.gnome.org/extension/3160/wireguard-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "1r12pw550v3h5f6zxl0psnsx031b5c7sj374f9h078lwqs85wb8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSwgZGlzYWJsZSwgYW5kIHZpZXcgZGV0YWlscyBvZiBXaXJlZ3VhcmQuXG5EZXZlbG9wZWQgYnkgR3JlZ29zLVdpbnVzLiIsCiAgIm5hbWUiOiAiV2lyZWd1YXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGdyZWdvcy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "1r12pw550v3h5f6zxl0psnsx031b5c7sj374f9h078lwqs85wb8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSwgZGlzYWJsZSwgYW5kIHZpZXcgZGV0YWlscyBvZiBXaXJlZ3VhcmQuXG5EZXZlbG9wZWQgYnkgR3JlZ29zLVdpbnVzLiIsCiAgIm5hbWUiOiAiV2lyZWd1YXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGdyZWdvcy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1r12pw550v3h5f6zxl0psnsx031b5c7sj374f9h078lwqs85wb8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSwgZGlzYWJsZSwgYW5kIHZpZXcgZGV0YWlscyBvZiBXaXJlZ3VhcmQuXG5EZXZlbG9wZWQgYnkgR3JlZ29zLVdpbnVzLiIsCiAgIm5hbWUiOiAiV2lyZWd1YXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGdyZWdvcy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "1r12pw550v3h5f6zxl0psnsx031b5c7sj374f9h078lwqs85wb8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSwgZGlzYWJsZSwgYW5kIHZpZXcgZGV0YWlscyBvZiBXaXJlZ3VhcmQuXG5EZXZlbG9wZWQgYnkgR3JlZ29zLVdpbnVzLiIsCiAgIm5hbWUiOiAiV2lyZWd1YXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGdyZWdvcy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "blur-my-shell@aunetx", "name": "Blur my Shell", "pname": "blur-my-shell", "description": "Adds a blur look to different parts of the GNOME Shell, including the top panel, dash and overview.\n\nYou can support my work by sponsoring me on:\n- github: https://github.com/sponsors/aunetx\n- ko-fi: https://ko-fi.com/aunetx\n\nNote: if the extension shows an error after updating, please make sure to restart your session to see if it persists. This is due to a bug in gnome shell, which I can't fix by myself.", "link": "https://extensions.gnome.org/extension/3193/blur-my-shell/", "shell_version_map": {"38": {"version": "22", "sha256": "1ss5vhzjkp2bpllxpjlk1l2i8n7p4xjpzkn0q6jg3gd472kkanfx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eFxuXG5Ob3RlOiBpZiB0aGUgZXh0ZW5zaW9uIHNob3dzIGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCBwbGVhc2UgbWFrZSBzdXJlIHRvIHJlc3RhcnQgeW91ciBzZXNzaW9uIHRvIHNlZSBpZiBpdCBwZXJzaXN0cy4gVGhpcyBpcyBkdWUgdG8gYSBidWcgaW4gZ25vbWUgc2hlbGwsIHdoaWNoIEkgY2FuJ3QgZml4IGJ5IG15c2VsZi4iLAogICJuYW1lIjogIkJsdXIgbXkgU2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdW5ldHgvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWJsdXItbXktc2hlbGwiLAogICJ1dWlkIjogImJsdXItbXktc2hlbGxAYXVuZXR4IiwKICAidmVyc2lvbiI6IDIyCn0="}, "40": {"version": "29", "sha256": "09zflyqk5mlybc4avm812hqr32q0yzrkkw0qy5q4lbkdid7cpqpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eFxuXG5Ob3RlOiBpZiB0aGUgZXh0ZW5zaW9uIHNob3dzIGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCBwbGVhc2UgbWFrZSBzdXJlIHRvIHJlc3RhcnQgeW91ciBzZXNzaW9uIHRvIHNlZSBpZiBpdCBwZXJzaXN0cy4gVGhpcyBpcyBkdWUgdG8gYSBidWcgaW4gZ25vbWUgc2hlbGwsIHdoaWNoIEkgY2FuJ3QgZml4IGJ5IG15c2VsZi4iLAogICJuYW1lIjogIkJsdXIgbXkgU2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F1bmV0eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmx1ci1teS1zaGVsbCIsCiAgInV1aWQiOiAiYmx1ci1teS1zaGVsbEBhdW5ldHgiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "41": {"version": "29", "sha256": "09zflyqk5mlybc4avm812hqr32q0yzrkkw0qy5q4lbkdid7cpqpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eFxuXG5Ob3RlOiBpZiB0aGUgZXh0ZW5zaW9uIHNob3dzIGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCBwbGVhc2UgbWFrZSBzdXJlIHRvIHJlc3RhcnQgeW91ciBzZXNzaW9uIHRvIHNlZSBpZiBpdCBwZXJzaXN0cy4gVGhpcyBpcyBkdWUgdG8gYSBidWcgaW4gZ25vbWUgc2hlbGwsIHdoaWNoIEkgY2FuJ3QgZml4IGJ5IG15c2VsZi4iLAogICJuYW1lIjogIkJsdXIgbXkgU2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F1bmV0eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmx1ci1teS1zaGVsbCIsCiAgInV1aWQiOiAiYmx1ci1teS1zaGVsbEBhdW5ldHgiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "42": {"version": "32", "sha256": "1w97pa6w90xvrc5qs3xaj0mw8yydlxl1ri977wbh1pqzid1l0pk5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eFxuXG5Ob3RlOiBpZiB0aGUgZXh0ZW5zaW9uIHNob3dzIGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCBwbGVhc2UgbWFrZSBzdXJlIHRvIHJlc3RhcnQgeW91ciBzZXNzaW9uIHRvIHNlZSBpZiBpdCBwZXJzaXN0cy4gVGhpcyBpcyBkdWUgdG8gYSBidWcgaW4gZ25vbWUgc2hlbGwsIHdoaWNoIEkgY2FuJ3QgZml4IGJ5IG15c2VsZi4iLAogICJuYW1lIjogIkJsdXIgbXkgU2hlbGwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIm1lQGF1bmV0eC5kZXYiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdXItbXktc2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L2dub21lLXNoZWxsLWV4dGVuc2lvbi1ibHVyLW15LXNoZWxsIiwKICAidXVpZCI6ICJibHVyLW15LXNoZWxsQGF1bmV0eCIsCiAgInZlcnNpb24iOiAzMgp9"}}}
 , {"uuid": "escape-overview@raelgc", "name": "ESCape Overview", "pname": "escape-overview", "description": "Close the Overview with a single ESC press when searchbox is empty.\n\nThe default gnome-shell behaviour is, during first ESC press, clean the searchbox, then second ESC press get back to Activities overview and then third ESC press will finally close the overview.", "link": "https://extensions.gnome.org/extension/3204/escape-overview/", "shell_version_map": {"38": {"version": "5", "sha256": "12jycfdlywlc2gf7hcpa1draqsy8jgb2dgr8sihh2f97b31dk1nh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBPdmVydmlldyB3aXRoIGEgc2luZ2xlIEVTQyBwcmVzcyB3aGVuIHNlYXJjaGJveCBpcyBlbXB0eS5cblxuVGhlIGRlZmF1bHQgZ25vbWUtc2hlbGwgYmVoYXZpb3VyIGlzLCBkdXJpbmcgZmlyc3QgRVNDIHByZXNzLCBjbGVhbiB0aGUgc2VhcmNoYm94LCB0aGVuIHNlY29uZCBFU0MgcHJlc3MgZ2V0IGJhY2sgdG8gQWN0aXZpdGllcyBvdmVydmlldyBhbmQgdGhlbiB0aGlyZCBFU0MgcHJlc3Mgd2lsbCBmaW5hbGx5IGNsb3NlIHRoZSBvdmVydmlldy4iLAogICJuYW1lIjogIkVTQ2FwZSBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhZWxnYy9lc2NhcGUtb3ZlcnZpZXciLAogICJ1dWlkIjogImVzY2FwZS1vdmVydmlld0ByYWVsZ2MiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "12jycfdlywlc2gf7hcpa1draqsy8jgb2dgr8sihh2f97b31dk1nh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBPdmVydmlldyB3aXRoIGEgc2luZ2xlIEVTQyBwcmVzcyB3aGVuIHNlYXJjaGJveCBpcyBlbXB0eS5cblxuVGhlIGRlZmF1bHQgZ25vbWUtc2hlbGwgYmVoYXZpb3VyIGlzLCBkdXJpbmcgZmlyc3QgRVNDIHByZXNzLCBjbGVhbiB0aGUgc2VhcmNoYm94LCB0aGVuIHNlY29uZCBFU0MgcHJlc3MgZ2V0IGJhY2sgdG8gQWN0aXZpdGllcyBvdmVydmlldyBhbmQgdGhlbiB0aGlyZCBFU0MgcHJlc3Mgd2lsbCBmaW5hbGx5IGNsb3NlIHRoZSBvdmVydmlldy4iLAogICJuYW1lIjogIkVTQ2FwZSBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhZWxnYy9lc2NhcGUtb3ZlcnZpZXciLAogICJ1dWlkIjogImVzY2FwZS1vdmVydmlld0ByYWVsZ2MiLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "12jycfdlywlc2gf7hcpa1draqsy8jgb2dgr8sihh2f97b31dk1nh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBPdmVydmlldyB3aXRoIGEgc2luZ2xlIEVTQyBwcmVzcyB3aGVuIHNlYXJjaGJveCBpcyBlbXB0eS5cblxuVGhlIGRlZmF1bHQgZ25vbWUtc2hlbGwgYmVoYXZpb3VyIGlzLCBkdXJpbmcgZmlyc3QgRVNDIHByZXNzLCBjbGVhbiB0aGUgc2VhcmNoYm94LCB0aGVuIHNlY29uZCBFU0MgcHJlc3MgZ2V0IGJhY2sgdG8gQWN0aXZpdGllcyBvdmVydmlldyBhbmQgdGhlbiB0aGlyZCBFU0MgcHJlc3Mgd2lsbCBmaW5hbGx5IGNsb3NlIHRoZSBvdmVydmlldy4iLAogICJuYW1lIjogIkVTQ2FwZSBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhZWxnYy9lc2NhcGUtb3ZlcnZpZXciLAogICJ1dWlkIjogImVzY2FwZS1vdmVydmlld0ByYWVsZ2MiLAogICJ2ZXJzaW9uIjogNQp9"}, "42": {"version": "5", "sha256": "12jycfdlywlc2gf7hcpa1draqsy8jgb2dgr8sihh2f97b31dk1nh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBPdmVydmlldyB3aXRoIGEgc2luZ2xlIEVTQyBwcmVzcyB3aGVuIHNlYXJjaGJveCBpcyBlbXB0eS5cblxuVGhlIGRlZmF1bHQgZ25vbWUtc2hlbGwgYmVoYXZpb3VyIGlzLCBkdXJpbmcgZmlyc3QgRVNDIHByZXNzLCBjbGVhbiB0aGUgc2VhcmNoYm94LCB0aGVuIHNlY29uZCBFU0MgcHJlc3MgZ2V0IGJhY2sgdG8gQWN0aXZpdGllcyBvdmVydmlldyBhbmQgdGhlbiB0aGlyZCBFU0MgcHJlc3Mgd2lsbCBmaW5hbGx5IGNsb3NlIHRoZSBvdmVydmlldy4iLAogICJuYW1lIjogIkVTQ2FwZSBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhZWxnYy9lc2NhcGUtb3ZlcnZpZXciLAogICJ1dWlkIjogImVzY2FwZS1vdmVydmlld0ByYWVsZ2MiLAogICJ2ZXJzaW9uIjogNQp9"}}}
-, {"uuid": "compiz-windows-effect@hermes83.github.com", "name": "Compiz windows effect", "pname": "compiz-windows-effect", "description": "Compiz wobbly windows effect thanks to libanimation engine.\n\nThe use of the \"js engine\" option NOT requires any external library, orherwise you need to install the LIBANIMATION library patched for Gnome Shell: \nhttps://github.com/hermes83/libanimation\n\nNB:\nIn case of update error please restart Gnome Shell (on Xorg press ALT+F2 then write r and press enter, on Wayland end the session and log in again)\n\n-----------------------------------\n  Video\n-----------------------------------\nhttps://youtu.be/G8bAVIB9A7A", "link": "https://extensions.gnome.org/extension/3210/compiz-windows-effect/", "shell_version_map": {"38": {"version": "12", "sha256": "10jdlgjbk2xa1qkk7hq4g17lbjdp5bk3pxwrf5irfdjix05l1zpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGxpYmFuaW1hdGlvbiBlbmdpbmUuXG5cblRoZSB1c2Ugb2YgdGhlIFwianMgZW5naW5lXCIgb3B0aW9uIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeSwgb3JoZXJ3aXNlIHlvdSBuZWVkIHRvIGluc3RhbGwgdGhlIExJQkFOSU1BVElPTiBsaWJyYXJ5IHBhdGNoZWQgZm9yIEdub21lIFNoZWxsOiBcbmh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9saWJhbmltYXRpb25cblxuTkI6XG5JbiBjYXNlIG9mIHVwZGF0ZSBlcnJvciBwbGVhc2UgcmVzdGFydCBHbm9tZSBTaGVsbCAob24gWG9yZyBwcmVzcyBBTFQrRjIgdGhlbiB3cml0ZSByIGFuZCBwcmVzcyBlbnRlciwgb24gV2F5bGFuZCBlbmQgdGhlIHNlc3Npb24gYW5kIGxvZyBpbiBhZ2FpbilcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgVmlkZW9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5odHRwczovL3lvdXR1LmJlL0c4YkFWSUI5QTdBIiwKICAibmFtZSI6ICJDb21waXogd2luZG93cyBlZmZlY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9jb21waXotd2luZG93cy1lZmZlY3QiLAogICJ1dWlkIjogImNvbXBpei13aW5kb3dzLWVmZmVjdEBoZXJtZXM4My5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}, "40": {"version": "12", "sha256": "10jdlgjbk2xa1qkk7hq4g17lbjdp5bk3pxwrf5irfdjix05l1zpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGxpYmFuaW1hdGlvbiBlbmdpbmUuXG5cblRoZSB1c2Ugb2YgdGhlIFwianMgZW5naW5lXCIgb3B0aW9uIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeSwgb3JoZXJ3aXNlIHlvdSBuZWVkIHRvIGluc3RhbGwgdGhlIExJQkFOSU1BVElPTiBsaWJyYXJ5IHBhdGNoZWQgZm9yIEdub21lIFNoZWxsOiBcbmh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9saWJhbmltYXRpb25cblxuTkI6XG5JbiBjYXNlIG9mIHVwZGF0ZSBlcnJvciBwbGVhc2UgcmVzdGFydCBHbm9tZSBTaGVsbCAob24gWG9yZyBwcmVzcyBBTFQrRjIgdGhlbiB3cml0ZSByIGFuZCBwcmVzcyBlbnRlciwgb24gV2F5bGFuZCBlbmQgdGhlIHNlc3Npb24gYW5kIGxvZyBpbiBhZ2FpbilcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgVmlkZW9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5odHRwczovL3lvdXR1LmJlL0c4YkFWSUI5QTdBIiwKICAibmFtZSI6ICJDb21waXogd2luZG93cyBlZmZlY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9jb21waXotd2luZG93cy1lZmZlY3QiLAogICJ1dWlkIjogImNvbXBpei13aW5kb3dzLWVmZmVjdEBoZXJtZXM4My5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}, "41": {"version": "12", "sha256": "10jdlgjbk2xa1qkk7hq4g17lbjdp5bk3pxwrf5irfdjix05l1zpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGxpYmFuaW1hdGlvbiBlbmdpbmUuXG5cblRoZSB1c2Ugb2YgdGhlIFwianMgZW5naW5lXCIgb3B0aW9uIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeSwgb3JoZXJ3aXNlIHlvdSBuZWVkIHRvIGluc3RhbGwgdGhlIExJQkFOSU1BVElPTiBsaWJyYXJ5IHBhdGNoZWQgZm9yIEdub21lIFNoZWxsOiBcbmh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9saWJhbmltYXRpb25cblxuTkI6XG5JbiBjYXNlIG9mIHVwZGF0ZSBlcnJvciBwbGVhc2UgcmVzdGFydCBHbm9tZSBTaGVsbCAob24gWG9yZyBwcmVzcyBBTFQrRjIgdGhlbiB3cml0ZSByIGFuZCBwcmVzcyBlbnRlciwgb24gV2F5bGFuZCBlbmQgdGhlIHNlc3Npb24gYW5kIGxvZyBpbiBhZ2FpbilcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgVmlkZW9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5odHRwczovL3lvdXR1LmJlL0c4YkFWSUI5QTdBIiwKICAibmFtZSI6ICJDb21waXogd2luZG93cyBlZmZlY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9jb21waXotd2luZG93cy1lZmZlY3QiLAogICJ1dWlkIjogImNvbXBpei13aW5kb3dzLWVmZmVjdEBoZXJtZXM4My5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}, "42": {"version": "12", "sha256": "10jdlgjbk2xa1qkk7hq4g17lbjdp5bk3pxwrf5irfdjix05l1zpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGxpYmFuaW1hdGlvbiBlbmdpbmUuXG5cblRoZSB1c2Ugb2YgdGhlIFwianMgZW5naW5lXCIgb3B0aW9uIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeSwgb3JoZXJ3aXNlIHlvdSBuZWVkIHRvIGluc3RhbGwgdGhlIExJQkFOSU1BVElPTiBsaWJyYXJ5IHBhdGNoZWQgZm9yIEdub21lIFNoZWxsOiBcbmh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9saWJhbmltYXRpb25cblxuTkI6XG5JbiBjYXNlIG9mIHVwZGF0ZSBlcnJvciBwbGVhc2UgcmVzdGFydCBHbm9tZSBTaGVsbCAob24gWG9yZyBwcmVzcyBBTFQrRjIgdGhlbiB3cml0ZSByIGFuZCBwcmVzcyBlbnRlciwgb24gV2F5bGFuZCBlbmQgdGhlIHNlc3Npb24gYW5kIGxvZyBpbiBhZ2FpbilcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgVmlkZW9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5odHRwczovL3lvdXR1LmJlL0c4YkFWSUI5QTdBIiwKICAibmFtZSI6ICJDb21waXogd2luZG93cyBlZmZlY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9jb21waXotd2luZG93cy1lZmZlY3QiLAogICJ1dWlkIjogImNvbXBpei13aW5kb3dzLWVmZmVjdEBoZXJtZXM4My5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}}}
+, {"uuid": "compiz-windows-effect@hermes83.github.com", "name": "Compiz windows effect", "pname": "compiz-windows-effect", "description": "Compiz wobbly windows effect thanks to compiz plugin engine.\n\nDoes NOT requires any external library\n\nNB:\nIn case of update error please restart Gnome Shell (on Xorg press ALT+F2 then write r and press enter, on Wayland end the session and log in again)\n\n-----------------------------------\n  Video\n-----------------------------------\nhttps://youtu.be/G8bAVIB9A7A", "link": "https://extensions.gnome.org/extension/3210/compiz-windows-effect/", "shell_version_map": {"38": {"version": "14", "sha256": "1j7nrd7j8376d6l8v4n2rkgx986msdpkaqrlszl5sz8mjg7n044j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGNvbXBpeiBwbHVnaW4gZW5naW5lLlxuXG5Eb2VzIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeVxuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBWaWRlb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmh0dHBzOi8veW91dHUuYmUvRzhiQVZJQjlBN0EiLAogICJuYW1lIjogIkNvbXBpeiB3aW5kb3dzIGVmZmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "14", "sha256": "1j7nrd7j8376d6l8v4n2rkgx986msdpkaqrlszl5sz8mjg7n044j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGNvbXBpeiBwbHVnaW4gZW5naW5lLlxuXG5Eb2VzIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeVxuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBWaWRlb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmh0dHBzOi8veW91dHUuYmUvRzhiQVZJQjlBN0EiLAogICJuYW1lIjogIkNvbXBpeiB3aW5kb3dzIGVmZmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "1j7nrd7j8376d6l8v4n2rkgx986msdpkaqrlszl5sz8mjg7n044j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGNvbXBpeiBwbHVnaW4gZW5naW5lLlxuXG5Eb2VzIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeVxuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBWaWRlb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmh0dHBzOi8veW91dHUuYmUvRzhiQVZJQjlBN0EiLAogICJuYW1lIjogIkNvbXBpeiB3aW5kb3dzIGVmZmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "42": {"version": "14", "sha256": "1j7nrd7j8376d6l8v4n2rkgx986msdpkaqrlszl5sz8mjg7n044j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGNvbXBpeiBwbHVnaW4gZW5naW5lLlxuXG5Eb2VzIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeVxuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBWaWRlb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmh0dHBzOi8veW91dHUuYmUvRzhiQVZJQjlBN0EiLAogICJuYW1lIjogIkNvbXBpeiB3aW5kb3dzIGVmZmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"uuid": "EndSessionTimer@pratap.fastmail.fm", "name": "End Session Timer", "pname": "end-session-timer", "description": "Set End Session Timer between 5 to 60 Seconds", "link": "https://extensions.gnome.org/extension/3216/end-session-timer/", "shell_version_map": {"38": {"version": "7", "sha256": "0c3wfx1iksb67fq3hm8cprhwb2f6xykkr4fv4y4drf78f15sh5gm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBFbmQgU2Vzc2lvbiBUaW1lciBiZXR3ZWVuIDUgdG8gNjAgU2Vjb25kcyIsCiAgIm5hbWUiOiAiRW5kIFNlc3Npb24gVGltZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiRW5kU2Vzc2lvblRpbWVyQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "8", "sha256": "0mm9g2ldl2lw52plx3hpbaniqlci1c10q9blkbdpwcmyv53z1dq4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBFbmQgU2Vzc2lvbiBUaW1lciBiZXR3ZWVuIDUgdG8gNjAgU2Vjb25kcyIsCiAgIm5hbWUiOiAiRW5kIFNlc3Npb24gVGltZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkVuZFNlc3Npb25UaW1lckBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "block-caribou-36@lxylxy123456.ercli.dev", "name": "Block Caribou 36", "pname": "block-caribou-36", "description": "Blocks caribou (the on screen keyboard) from popping up when you use a touchscreen. Even if it's disabled in the accessibility services menu. Continuation of keringar's work. Tested on GNOME Shell version 3.36 - 41 on Fedora 32 - 35. For a higher version see https://github.com/lxylxy123456/cariboublocker#installing-on-high-gnome-shell-version .", "link": "https://extensions.gnome.org/extension/3222/block-caribou-36/", "shell_version_map": {"40": {"version": "4", "sha256": "1bnkwdsmsjr7x9cx31lfzs3dnfqzmdy8cq1zc26hgpvchd02ac60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsb2NrcyBjYXJpYm91ICh0aGUgb24gc2NyZWVuIGtleWJvYXJkKSBmcm9tIHBvcHBpbmcgdXAgd2hlbiB5b3UgdXNlIGEgdG91Y2hzY3JlZW4uIEV2ZW4gaWYgaXQncyBkaXNhYmxlZCBpbiB0aGUgYWNjZXNzaWJpbGl0eSBzZXJ2aWNlcyBtZW51LiBDb250aW51YXRpb24gb2Yga2VyaW5nYXIncyB3b3JrLiBUZXN0ZWQgb24gR05PTUUgU2hlbGwgdmVyc2lvbiAzLjM2IC0gNDEgb24gRmVkb3JhIDMyIC0gMzUuIEZvciBhIGhpZ2hlciB2ZXJzaW9uIHNlZSBodHRwczovL2dpdGh1Yi5jb20vbHh5bHh5MTIzNDU2L2Nhcmlib3VibG9ja2VyI2luc3RhbGxpbmctb24taGlnaC1nbm9tZS1zaGVsbC12ZXJzaW9uIC4iLAogICJuYW1lIjogIkJsb2NrIENhcmlib3UgMzYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x4eWx4eTEyMzQ1Ni9jYXJpYm91YmxvY2tlciIsCiAgInV1aWQiOiAiYmxvY2stY2FyaWJvdS0zNkBseHlseHkxMjM0NTYuZXJjbGkuZGV2IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1bnkwdsmsjr7x9cx31lfzs3dnfqzmdy8cq1zc26hgpvchd02ac60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsb2NrcyBjYXJpYm91ICh0aGUgb24gc2NyZWVuIGtleWJvYXJkKSBmcm9tIHBvcHBpbmcgdXAgd2hlbiB5b3UgdXNlIGEgdG91Y2hzY3JlZW4uIEV2ZW4gaWYgaXQncyBkaXNhYmxlZCBpbiB0aGUgYWNjZXNzaWJpbGl0eSBzZXJ2aWNlcyBtZW51LiBDb250aW51YXRpb24gb2Yga2VyaW5nYXIncyB3b3JrLiBUZXN0ZWQgb24gR05PTUUgU2hlbGwgdmVyc2lvbiAzLjM2IC0gNDEgb24gRmVkb3JhIDMyIC0gMzUuIEZvciBhIGhpZ2hlciB2ZXJzaW9uIHNlZSBodHRwczovL2dpdGh1Yi5jb20vbHh5bHh5MTIzNDU2L2Nhcmlib3VibG9ja2VyI2luc3RhbGxpbmctb24taGlnaC1nbm9tZS1zaGVsbC12ZXJzaW9uIC4iLAogICJuYW1lIjogIkJsb2NrIENhcmlib3UgMzYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x4eWx4eTEyMzQ1Ni9jYXJpYm91YmxvY2tlciIsCiAgInV1aWQiOiAiYmxvY2stY2FyaWJvdS0zNkBseHlseHkxMjM0NTYuZXJjbGkuZGV2IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "unmaximize_double_click@gonza.gmail.com", "name": "Unmaximize Double Click Panel", "pname": "unmaximize-double-click-panel", "description": "Unmaximize the current window on double click on the top panel. You can also maximize horizontally and vertically with middle and right click.", "link": "https://extensions.gnome.org/extension/3228/unmaximize-double-click-panel/", "shell_version_map": {"38": {"version": "6", "sha256": "0ay3cfysw23y5pdhm7mhjihcwwmpcj4d0rridsvfxxxnzrq1c9df", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0ay3cfysw23y5pdhm7mhjihcwwmpcj4d0rridsvfxxxnzrq1c9df", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0ay3cfysw23y5pdhm7mhjihcwwmpcj4d0rridsvfxxxnzrq1c9df", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "0ay3cfysw23y5pdhm7mhjihcwwmpcj4d0rridsvfxxxnzrq1c9df", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
@@ -338,8 +340,8 @@
 , {"uuid": "color-picker@tuberry", "name": "Color Picker", "pname": "color-picker", "description": "Simple color picker for gnome shell\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/3396/color-picker/", "shell_version_map": {"38": {"version": "20", "sha256": "1ss4r8dpa7smxbyz41rw3wl1gy20bvy89xdvwfz6zfhv3db5vl86", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjb2xvciBwaWNrZXIgZm9yIGdub21lIHNoZWxsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbG9yLXBpY2tlciIsCiAgIm5hbWUiOiAiQ29sb3IgUGlja2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNvbG9yLXBpY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvY29sb3ItcGlja2VyIiwKICAidXVpZCI6ICJjb2xvci1waWNrZXJAdHViZXJyeSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "25", "sha256": "0lx4bs7yfqkphb5cwmakl6xjf14q89m0yn70a882drakfhzgnagw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjb2xvciBwaWNrZXIgZm9yIGdub21lIHNoZWxsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbG9yLXBpY2tlciIsCiAgIm5hbWUiOiAiQ29sb3IgUGlja2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNvbG9yLXBpY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2NvbG9yLXBpY2tlciIsCiAgInV1aWQiOiAiY29sb3ItcGlja2VyQHR1YmVycnkiLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "41": {"version": "27", "sha256": "1scc0cgdzrg9rmpr090myrsxhfgp03aqld9jh4grqbfza6lrz4jd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjb2xvciBwaWNrZXIgZm9yIGdub21lIHNoZWxsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvci1waWNrZXIiLAogICJuYW1lIjogIkNvbG9yIFBpY2tlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb2xvci1waWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9jb2xvci1waWNrZXIiLAogICJ1dWlkIjogImNvbG9yLXBpY2tlckB0dWJlcnJ5IiwKICAidmVyc2lvbiI6IDI3Cn0="}, "42": {"version": "29", "sha256": "1hkjym4nkx3d984bm2j7lppg9k837vbm50wb65z1rjnm872r4vk8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjb2xvciBwaWNrZXIgZm9yIGdub21lIHNoZWxsXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvci1waWNrZXIiLAogICJuYW1lIjogIkNvbG9yIFBpY2tlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb2xvci1waWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9jb2xvci1waWNrZXIiLAogICJ1dWlkIjogImNvbG9yLXBpY2tlckB0dWJlcnJ5IiwKICAidmVyc2lvbiI6IDI5Cn0="}}}
 , {"uuid": "yaru-remix-theme-toggle@muqtxdir.me", "name": "Yaru remix theme toggle", "pname": "yaru-remix-theme-toggle", "description": "Switches GTK3, Gnome-shell, cursor and icon themes to Yaru-remix variants", "link": "https://extensions.gnome.org/extension/3402/yaru-remix-theme-toggle/", "shell_version_map": {"38": {"version": "2", "sha256": "04dh163dshjnq3fa1y5kbkgl94q4cifvffq6i2pr4zd1v7d4zrf6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvcnMiOiBbCiAgICAibXVxdGFkaXI1NTU1QGdtYWlsLmNvbSIKICBdLAogICJkZXNjcmlwdGlvbiI6ICJTd2l0Y2hlcyBHVEszLCBHbm9tZS1zaGVsbCwgY3Vyc29yIGFuZCBpY29uIHRoZW1lcyB0byBZYXJ1LXJlbWl4IHZhcmlhbnRzIiwKICAibmFtZSI6ICJZYXJ1IHJlbWl4IHRoZW1lIHRvZ2dsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL011cXR4ZGlyL3lhcnUtcmVtaXgtdGhlbWUtdG9nZ2xlIiwKICAidXVpZCI6ICJ5YXJ1LXJlbWl4LXRoZW1lLXRvZ2dsZUBtdXF0eGRpci5tZSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "ascii_emoji_buckets@HarshKhandeparkar", "name": "ASCII Emoji Buckets", "pname": "ascii-emoji-buckets", "description": "Buckets of ASCII emojis for your messaging pleasure. A fork of Emoji Buckets.", "link": "https://extensions.gnome.org/extension/3408/ascii-emoji-buckets/", "shell_version_map": {"38": {"version": "9", "sha256": "1srqsjzcywywlhapaca41v4pc99w503m5532g6cc6qwz9f2r4w5h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1Y2tldHMgb2YgQVNDSUkgZW1vamlzIGZvciB5b3VyIG1lc3NhZ2luZyBwbGVhc3VyZS4gQSBmb3JrIG9mIEVtb2ppIEJ1Y2tldHMuIiwKICAibmFtZSI6ICJBU0NJSSBFbW9qaSBCdWNrZXRzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFzY2lpLWVtb2ppLWJ1Y2tldHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjMuMzguMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0hhcnNoS2hhbmRlcGFya2FyL2dub21lLWFzY2lpLWVtb2ppLWJ1Y2tldHMiLAogICJ1dWlkIjogImFzY2lpX2Vtb2ppX2J1Y2tldHNASGFyc2hLaGFuZGVwYXJrYXIiLAogICJ2ZXJzaW9uIjogOQp9"}}}
-, {"uuid": "user-stylesheet@tomaszgasior.pl", "name": "User style sheet & font", "pname": "user-stylesheet-font", "description": "Load custom style sheet from ~/.config/gnome-shell/gnome-shell.css. Use GTK font family and font size from GNOME Tweaks in GNOME Shell.", "link": "https://extensions.gnome.org/extension/3414/user-stylesheet-font/", "shell_version_map": {"38": {"version": "4", "sha256": "1ibmhj1ixw063r7p8fwnanf4k21k8vxmll78ydqia5gdwkv79i8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1RvbWFzekdhc2lvci9nbm9tZS1zaGVsbC11c2VyLXN0eWxlc2hlZXQtYW5kLWZvbnQiLAogICJ1dWlkIjogInVzZXItc3R5bGVzaGVldEB0b21hc3pnYXNpb3IucGwiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "1ibmhj1ixw063r7p8fwnanf4k21k8vxmll78ydqia5gdwkv79i8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1RvbWFzekdhc2lvci9nbm9tZS1zaGVsbC11c2VyLXN0eWxlc2hlZXQtYW5kLWZvbnQiLAogICJ1dWlkIjogInVzZXItc3R5bGVzaGVldEB0b21hc3pnYXNpb3IucGwiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "1ibmhj1ixw063r7p8fwnanf4k21k8vxmll78ydqia5gdwkv79i8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1RvbWFzekdhc2lvci9nbm9tZS1zaGVsbC11c2VyLXN0eWxlc2hlZXQtYW5kLWZvbnQiLAogICJ1dWlkIjogInVzZXItc3R5bGVzaGVldEB0b21hc3pnYXNpb3IucGwiLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"uuid": "wg-indicator@dpf12110.gmail.com", "name": "WG Indicator", "pname": "wg-indicator", "description": "A status indicator for Wireguard connections.", "link": "https://extensions.gnome.org/extension/3418/wg-indicator/", "shell_version_map": {"40": {"version": "13", "sha256": "126n9gbvh1yshbvx74af01f7jyrjr4p0299x9ki171d1f40djrvs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgV2lyZWd1YXJkIGNvbm5lY3Rpb25zLiIsCiAgIm5hbWUiOiAiV0cgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjEiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N5bmMxMjExL3dnLWluZGljYXRvciIsCiAgInV1aWQiOiAid2ctaW5kaWNhdG9yQGRwZjEyMTEwLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "126n9gbvh1yshbvx74af01f7jyrjr4p0299x9ki171d1f40djrvs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgV2lyZWd1YXJkIGNvbm5lY3Rpb25zLiIsCiAgIm5hbWUiOiAiV0cgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjEiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N5bmMxMjExL3dnLWluZGljYXRvciIsCiAgInV1aWQiOiAid2ctaW5kaWNhdG9yQGRwZjEyMTEwLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
+, {"uuid": "user-stylesheet@tomaszgasior.pl", "name": "User style sheet & font", "pname": "user-stylesheet-font", "description": "Load custom style sheet from ~/.config/gnome-shell/gnome-shell.css. Use GTK font family and font size from GNOME Tweaks in GNOME Shell.", "link": "https://extensions.gnome.org/extension/3414/user-stylesheet-font/", "shell_version_map": {"38": {"version": "5", "sha256": "0mwrn429l71v8fhx6i1gm17a61lk5bzkl42svj7khdasbh42m49j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Ub21hc3pHYXNpb3IvZ25vbWUtc2hlbGwtdXNlci1zdHlsZXNoZWV0LWFuZC1mb250IiwKICAidXVpZCI6ICJ1c2VyLXN0eWxlc2hlZXRAdG9tYXN6Z2FzaW9yLnBsIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0mwrn429l71v8fhx6i1gm17a61lk5bzkl42svj7khdasbh42m49j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Ub21hc3pHYXNpb3IvZ25vbWUtc2hlbGwtdXNlci1zdHlsZXNoZWV0LWFuZC1mb250IiwKICAidXVpZCI6ICJ1c2VyLXN0eWxlc2hlZXRAdG9tYXN6Z2FzaW9yLnBsIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "0mwrn429l71v8fhx6i1gm17a61lk5bzkl42svj7khdasbh42m49j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Ub21hc3pHYXNpb3IvZ25vbWUtc2hlbGwtdXNlci1zdHlsZXNoZWV0LWFuZC1mb250IiwKICAidXVpZCI6ICJ1c2VyLXN0eWxlc2hlZXRAdG9tYXN6Z2FzaW9yLnBsIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "0mwrn429l71v8fhx6i1gm17a61lk5bzkl42svj7khdasbh42m49j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Ub21hc3pHYXNpb3IvZ25vbWUtc2hlbGwtdXNlci1zdHlsZXNoZWV0LWFuZC1mb250IiwKICAidXVpZCI6ICJ1c2VyLXN0eWxlc2hlZXRAdG9tYXN6Z2FzaW9yLnBsIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
+, {"uuid": "wg-indicator@dpf12110.gmail.com", "name": "WG Indicator", "pname": "wg-indicator", "description": "A status indicator for Wireguard connections.", "link": "https://extensions.gnome.org/extension/3418/wg-indicator/", "shell_version_map": {"40": {"version": "15", "sha256": "1zzr04l03aka1rk2rhqvj102dan80zdywgizxfygffvy4fjh99n0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgV2lyZWd1YXJkIGNvbm5lY3Rpb25zLiIsCiAgIm5hbWUiOiAiV0cgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3luYzEyMTEvd2ctaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ3Zy1pbmRpY2F0b3JAZHBmMTIxMTAuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "41": {"version": "15", "sha256": "1zzr04l03aka1rk2rhqvj102dan80zdywgizxfygffvy4fjh99n0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgV2lyZWd1YXJkIGNvbm5lY3Rpb25zLiIsCiAgIm5hbWUiOiAiV0cgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3luYzEyMTEvd2ctaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ3Zy1pbmRpY2F0b3JAZHBmMTIxMTAuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "42": {"version": "15", "sha256": "1zzr04l03aka1rk2rhqvj102dan80zdywgizxfygffvy4fjh99n0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgV2lyZWd1YXJkIGNvbm5lY3Rpb25zLiIsCiAgIm5hbWUiOiAiV0cgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3luYzEyMTEvd2ctaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ3Zy1pbmRpY2F0b3JAZHBmMTIxMTAuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
 , {"uuid": "flypie@schneegans.github.com", "name": "Fly-Pie", "pname": "fly-pie", "description": "A marking menu which can be used to launch applications, simulate hotkeys, open URLs and much more.", "link": "https://extensions.gnome.org/extension/3433/fly-pie/", "shell_version_map": {"38": {"version": "16", "sha256": "0bawjcr5zcp7h96085mn5gf0nz5blvfb6j6rfykn3fasfdwc8qv2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0ZseS1QaWUiLAogICJ1dWlkIjogImZseXBpZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "40": {"version": "16", "sha256": "0bawjcr5zcp7h96085mn5gf0nz5blvfb6j6rfykn3fasfdwc8qv2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0ZseS1QaWUiLAogICJ1dWlkIjogImZseXBpZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "16", "sha256": "0bawjcr5zcp7h96085mn5gf0nz5blvfb6j6rfykn3fasfdwc8qv2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0ZseS1QaWUiLAogICJ1dWlkIjogImZseXBpZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "42": {"version": "16", "sha256": "0bawjcr5zcp7h96085mn5gf0nz5blvfb6j6rfykn3fasfdwc8qv2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0ZseS1QaWUiLAogICJ1dWlkIjogImZseXBpZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
 , {"uuid": "jiggle@jeffchannell.com", "name": "Jiggle", "pname": "jiggle", "description": "Jiggle is a Gnome Shell extension that highlights the cursor position when the mouse is moved rapidly.", "link": "https://extensions.gnome.org/extension/3438/jiggle/", "shell_version_map": {"38": {"version": "8", "sha256": "0f5zwvcqz648sn11nl49r0ki6zy5c2hp4imgba0dlc02fags7pxz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkppZ2dsZSBpcyBhIEdub21lIFNoZWxsIGV4dGVuc2lvbiB0aGF0IGhpZ2hsaWdodHMgdGhlIGN1cnNvciBwb3NpdGlvbiB3aGVuIHRoZSBtb3VzZSBpcyBtb3ZlZCByYXBpZGx5LiIsCiAgIm5hbWUiOiAiSmlnZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2LjMiLAogICAgIjMuMzguMSIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2plZmZjaGFubmVsbC9qaWdnbGUiLAogICJ1dWlkIjogImppZ2dsZUBqZWZmY2hhbm5lbGwuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "0f5zwvcqz648sn11nl49r0ki6zy5c2hp4imgba0dlc02fags7pxz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkppZ2dsZSBpcyBhIEdub21lIFNoZWxsIGV4dGVuc2lvbiB0aGF0IGhpZ2hsaWdodHMgdGhlIGN1cnNvciBwb3NpdGlvbiB3aGVuIHRoZSBtb3VzZSBpcyBtb3ZlZCByYXBpZGx5LiIsCiAgIm5hbWUiOiAiSmlnZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2LjMiLAogICAgIjMuMzguMSIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2plZmZjaGFubmVsbC9qaWdnbGUiLAogICJ1dWlkIjogImppZ2dsZUBqZWZmY2hhbm5lbGwuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "showtime-horizontal@xenlism.github.io", "name": "Showtime Horizontal - Desktop Widget", "pname": "showtime-horizontal", "description": "Horizontal Style Date &amp; Clock Widget base on Budgie Desktop Widget", "link": "https://extensions.gnome.org/extension/3442/showtime-horizontal/", "shell_version_map": {"38": {"version": "5", "sha256": "1rdf1alxfyi29wnz2bzm20j9k5q8sn3a6d4si841cjbhmvqdcqhj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvcml6b250YWwgU3R5bGUgRGF0ZSAmYW1wOyBDbG9jayBXaWRnZXQgYmFzZSBvbiBCdWRnaWUgRGVza3RvcCBXaWRnZXQiLAogICJleHRlbnNpb24taWQiOiAic2hvd3RpbWUtaG9yaXpvbnRhbCIsCiAgIm5hbWUiOiAiU2hvd3RpbWUgSG9yaXpvbnRhbCAtIERlc2t0b3AgV2lkZ2V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNob3d0aW1lLWhvcml6b250YWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS94ZW5saXNtL3Nob3d0aW1lIiwKICAidXVpZCI6ICJzaG93dGltZS1ob3Jpem9udGFsQHhlbmxpc20uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "6", "sha256": "1zy7lkkmcjxkc30hys98s0xlmi93cyc6jz6qx7zfv1v7w03iw3ld", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvcml6b250YWwgU3R5bGUgRGF0ZSAmYW1wOyBDbG9jayBXaWRnZXQgYmFzZSBvbiBCdWRnaWUgRGVza3RvcCBXaWRnZXQiLAogICJleHRlbnNpb24taWQiOiAic2hvd3RpbWUtaG9yaXpvbnRhbCIsCiAgIm5hbWUiOiAiU2hvd3RpbWUgSG9yaXpvbnRhbCAtIERlc2t0b3AgV2lkZ2V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNob3d0aW1lLWhvcml6b250YWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veGVubGlzbS9zaG93dGltZSIsCiAgInV1aWQiOiAic2hvd3RpbWUtaG9yaXpvbnRhbEB4ZW5saXNtLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
@@ -351,8 +353,8 @@
 , {"uuid": "creative-control@sau.li", "name": "Creative Sound Blaster control", "pname": "creative-sound-blaster-control", "description": "Control Creative Sound Blaster", "link": "https://extensions.gnome.org/extension/3505/creative-sound-blaster-control/", "shell_version_map": {"38": {"version": "2", "sha256": "0pqps21c2p8fqndy9hd77j979h0wjbw0yzbmv6jmwk7rskv6zysg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgQ3JlYXRpdmUgU291bmQgQmxhc3RlciIsCiAgIm5hbWUiOiAiQ3JlYXRpdmUgU291bmQgQmxhc3RlciBjb250cm9sIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaXNhdWwzMi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY3JlYXRpdmUtY29udHJvbCIsCiAgInV1aWQiOiAiY3JlYXRpdmUtY29udHJvbEBzYXUubGkiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "day-night-wallpaper@swapnilmadavi.github.io", "name": "Day Night Wallpaper", "pname": "day-night-wallpaper", "description": "Set separate wallpapers for day and night time.", "link": "https://extensions.gnome.org/extension/3512/day-night-wallpaper/", "shell_version_map": {"38": {"version": "2", "sha256": "082wrffxsa6qnp120ghlvhkb3isnnf9qizxfk6bbgqbzcvsax059", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBzZXBhcmF0ZSB3YWxscGFwZXJzIGZvciBkYXkgYW5kIG5pZ2h0IHRpbWUuIiwKICAibmFtZSI6ICJEYXkgTmlnaHQgV2FsbHBhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRheS1uaWdodC13YWxscGFwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zd2FwbmlsbWFkYXZpL2RheS1uaWdodC13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJkYXktbmlnaHQtd2FsbHBhcGVyQHN3YXBuaWxtYWRhdmkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "transparent-shell@siroj42.github.io", "name": "Transparent Shell", "pname": "transparent-shell", "description": "Make the main shell components (Top bar, dash, search box) transparent.", "link": "https://extensions.gnome.org/extension/3518/transparent-shell/", "shell_version_map": {"38": {"version": "6", "sha256": "109c5w2p7w9arfy4wrqmyyi7vd5fwdr8n2cz250bpxiij6zq140k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIG1haW4gc2hlbGwgY29tcG9uZW50cyAoVG9wIGJhciwgZGFzaCwgc2VhcmNoIGJveCkgdHJhbnNwYXJlbnQuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1Npcm9qNDIvZ25vbWUtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXNoZWxsIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC1zaGVsbEBzaXJvajQyLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "7", "sha256": "0nzx401vvzn8n9xnkd13v5jim0l7zd01p1lf0lbgydrr8gh67i95", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIG1haW4gc2hlbGwgY29tcG9uZW50cyAoVG9wIGJhciwgZGFzaCwgc2VhcmNoIGJveCkgdHJhbnNwYXJlbnQuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TaXJvajQyL2dub21lLWV4dGVuc2lvbi10cmFuc3BhcmVudC1zaGVsbCIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtc2hlbGxAc2lyb2o0Mi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}}}
-, {"uuid": "true-color-invert@jackkenney", "name": "True Color Invert", "pname": "true-color-invert", "description": "Inverts the color of individual windows so they are hue-preserved.\nDefault shortcut is Super+I", "link": "https://extensions.gnome.org/extension/3530/true-color-invert/", "shell_version_map": {"38": {"version": "8", "sha256": "0l8sz8w8l6cmkn19sg34gmbh79sx49jdx1gk8xzh7yyxgqxhayzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFja2tlbm5leS9nbm9tZS10cnVlLWNvbG9yLWludmVydCIsCiAgInV1aWQiOiAidHJ1ZS1jb2xvci1pbnZlcnRAamFja2tlbm5leSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "8", "sha256": "0l8sz8w8l6cmkn19sg34gmbh79sx49jdx1gk8xzh7yyxgqxhayzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFja2tlbm5leS9nbm9tZS10cnVlLWNvbG9yLWludmVydCIsCiAgInV1aWQiOiAidHJ1ZS1jb2xvci1pbnZlcnRAamFja2tlbm5leSIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "0l8sz8w8l6cmkn19sg34gmbh79sx49jdx1gk8xzh7yyxgqxhayzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFja2tlbm5leS9nbm9tZS10cnVlLWNvbG9yLWludmVydCIsCiAgInV1aWQiOiAidHJ1ZS1jb2xvci1pbnZlcnRAamFja2tlbm5leSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
-, {"uuid": "gitlab-extension@infinicode.de", "name": "GitLab Extension", "pname": "gitlab-extension", "description": "GitLab extension utilizes the official GitLab API to provide a comfortable overview about your projects, commits & pipelines.\n", "link": "https://extensions.gnome.org/extension/3535/gitlab-extension/", "shell_version_map": {"38": {"version": "4", "sha256": "04hclkbj95alqv9lq5qa5dnf7wb8ssd08q0lzd9wxzw95hiqcvwd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdExhYiBleHRlbnNpb24gdXRpbGl6ZXMgdGhlIG9mZmljaWFsIEdpdExhYiBBUEkgdG8gcHJvdmlkZSBhIGNvbWZvcnRhYmxlIG92ZXJ2aWV3IGFib3V0IHlvdXIgcHJvamVjdHMsIGNvbW1pdHMgJiBwaXBlbGluZXMuXG4iLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkdpdExhYiBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2luYXRpYy9naXRsYWItZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnaXRsYWItZXh0ZW5zaW9uQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "04hclkbj95alqv9lq5qa5dnf7wb8ssd08q0lzd9wxzw95hiqcvwd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdExhYiBleHRlbnNpb24gdXRpbGl6ZXMgdGhlIG9mZmljaWFsIEdpdExhYiBBUEkgdG8gcHJvdmlkZSBhIGNvbWZvcnRhYmxlIG92ZXJ2aWV3IGFib3V0IHlvdXIgcHJvamVjdHMsIGNvbW1pdHMgJiBwaXBlbGluZXMuXG4iLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkdpdExhYiBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2luYXRpYy9naXRsYWItZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnaXRsYWItZXh0ZW5zaW9uQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}}}
+, {"uuid": "true-color-invert@jackkenney", "name": "True Color Invert", "pname": "true-color-invert", "description": "Inverts the color of individual windows so they are hue-preserved.\nDefault shortcut is Super+I", "link": "https://extensions.gnome.org/extension/3530/true-color-invert/", "shell_version_map": {"38": {"version": "10", "sha256": "062501b7i5abrl32hcpdshbrrd9sjyr9830xvg5w5879ynsyc874", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2phY2trZW5uZXkvZ25vbWUtdHJ1ZS1jb2xvci1pbnZlcnQiLAogICJ1dWlkIjogInRydWUtY29sb3ItaW52ZXJ0QGphY2trZW5uZXkiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "062501b7i5abrl32hcpdshbrrd9sjyr9830xvg5w5879ynsyc874", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2phY2trZW5uZXkvZ25vbWUtdHJ1ZS1jb2xvci1pbnZlcnQiLAogICJ1dWlkIjogInRydWUtY29sb3ItaW52ZXJ0QGphY2trZW5uZXkiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "062501b7i5abrl32hcpdshbrrd9sjyr9830xvg5w5879ynsyc874", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2phY2trZW5uZXkvZ25vbWUtdHJ1ZS1jb2xvci1pbnZlcnQiLAogICJ1dWlkIjogInRydWUtY29sb3ItaW52ZXJ0QGphY2trZW5uZXkiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "062501b7i5abrl32hcpdshbrrd9sjyr9830xvg5w5879ynsyc874", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2phY2trZW5uZXkvZ25vbWUtdHJ1ZS1jb2xvci1pbnZlcnQiLAogICJ1dWlkIjogInRydWUtY29sb3ItaW52ZXJ0QGphY2trZW5uZXkiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
+, {"uuid": "gitlab-extension@infinicode.de", "name": "GitLab Extension", "pname": "gitlab-extension", "description": "GitLab extension utilizes the official GitLab API to provide a comfortable overview about your projects, commits & pipelines.\n", "link": "https://extensions.gnome.org/extension/3535/gitlab-extension/", "shell_version_map": {"38": {"version": "4", "sha256": "04hclkbj95alqv9lq5qa5dnf7wb8ssd08q0lzd9wxzw95hiqcvwd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdExhYiBleHRlbnNpb24gdXRpbGl6ZXMgdGhlIG9mZmljaWFsIEdpdExhYiBBUEkgdG8gcHJvdmlkZSBhIGNvbWZvcnRhYmxlIG92ZXJ2aWV3IGFib3V0IHlvdXIgcHJvamVjdHMsIGNvbW1pdHMgJiBwaXBlbGluZXMuXG4iLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkdpdExhYiBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2luYXRpYy9naXRsYWItZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnaXRsYWItZXh0ZW5zaW9uQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "04hclkbj95alqv9lq5qa5dnf7wb8ssd08q0lzd9wxzw95hiqcvwd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdExhYiBleHRlbnNpb24gdXRpbGl6ZXMgdGhlIG9mZmljaWFsIEdpdExhYiBBUEkgdG8gcHJvdmlkZSBhIGNvbWZvcnRhYmxlIG92ZXJ2aWV3IGFib3V0IHlvdXIgcHJvamVjdHMsIGNvbW1pdHMgJiBwaXBlbGluZXMuXG4iLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkdpdExhYiBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2luYXRpYy9naXRsYWItZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJnaXRsYWItZXh0ZW5zaW9uQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "7", "sha256": "063d61mk4wavrclf09vxbl1qxd66475fblqhnl2yq5rv7zrl5ys6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdExhYiBleHRlbnNpb24gdXRpbGl6ZXMgdGhlIG9mZmljaWFsIEdpdExhYiBBUEkgdG8gcHJvdmlkZSBhIGNvbWZvcnRhYmxlIG92ZXJ2aWV3IGFib3V0IHlvdXIgcHJvamVjdHMsIGNvbW1pdHMgJiBwaXBlbGluZXMuXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tZ2l0bGFiIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJHaXRMYWIgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdpdGxhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5hdGljL2dpdGxhYi1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGxhYi1leHRlbnNpb25AaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "downfall@torculus.github.com", "name": "DownFall", "pname": "downfall", "description": "Moves text of your choice across the screen. Can simulate leaves, snow, fireworks, ufos, and more!", "link": "https://extensions.gnome.org/extension/3539/downfall/", "shell_version_map": {"38": {"version": "19", "sha256": "0dmkjqmn2x7bg7fndq4fdvllhpzd3in39z2ykm1g6f0zyv4gq2i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvcmN1bHVzL0Rvd25GYWxsIiwKICAidXVpZCI6ICJkb3duZmFsbEB0b3JjdWx1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "40": {"version": "19", "sha256": "0dmkjqmn2x7bg7fndq4fdvllhpzd3in39z2ykm1g6f0zyv4gq2i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvcmN1bHVzL0Rvd25GYWxsIiwKICAidXVpZCI6ICJkb3duZmFsbEB0b3JjdWx1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "0dmkjqmn2x7bg7fndq4fdvllhpzd3in39z2ykm1g6f0zyv4gq2i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvcmN1bHVzL0Rvd25GYWxsIiwKICAidXVpZCI6ICJkb3duZmFsbEB0b3JjdWx1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "19", "sha256": "0dmkjqmn2x7bg7fndq4fdvllhpzd3in39z2ykm1g6f0zyv4gq2i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvcmN1bHVzL0Rvd25GYWxsIiwKICAidXVpZCI6ICJkb3duZmFsbEB0b3JjdWx1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
 , {"uuid": "time-awareness@gnome-extensions.kapranoff.ru", "name": "Time Awareness", "pname": "time-awareness", "description": "Tracks the time you have been actively using your computer", "link": "https://extensions.gnome.org/extension/3556/time-awareness/", "shell_version_map": {"38": {"version": "7", "sha256": "0a9a7524ddwb2hxf3q5amgbd57fy17m994vj3gbkddk7mp8m06a7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3NyLmh0L35rYXBwYS9nbm9tZS1zaGVsbC10aW1lLWF3YXJlbmVzcy8iLAogICJ1dWlkIjogInRpbWUtYXdhcmVuZXNzQGdub21lLWV4dGVuc2lvbnMua2FwcmFub2ZmLnJ1IiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "0a9a7524ddwb2hxf3q5amgbd57fy17m994vj3gbkddk7mp8m06a7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3NyLmh0L35rYXBwYS9nbm9tZS1zaGVsbC10aW1lLWF3YXJlbmVzcy8iLAogICJ1dWlkIjogInRpbWUtYXdhcmVuZXNzQGdub21lLWV4dGVuc2lvbnMua2FwcmFub2ZmLnJ1IiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "0a9a7524ddwb2hxf3q5amgbd57fy17m994vj3gbkddk7mp8m06a7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3NyLmh0L35rYXBwYS9nbm9tZS1zaGVsbC10aW1lLWF3YXJlbmVzcy8iLAogICJ1dWlkIjogInRpbWUtYXdhcmVuZXNzQGdub21lLWV4dGVuc2lvbnMua2FwcmFub2ZmLnJ1IiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "7", "sha256": "0a9a7524ddwb2hxf3q5amgbd57fy17m994vj3gbkddk7mp8m06a7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3NyLmh0L35rYXBwYS9nbm9tZS1zaGVsbC10aW1lLWF3YXJlbmVzcy8iLAogICJ1dWlkIjogInRpbWUtYXdhcmVuZXNzQGdub21lLWV4dGVuc2lvbnMua2FwcmFub2ZmLnJ1IiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "mullvadindicator@pobega.github.com", "name": "Mullvad Indicator", "pname": "mullvad-indicator", "description": "Mullvad connection status indicator", "link": "https://extensions.gnome.org/extension/3560/mullvad-indicator/", "shell_version_map": {"38": {"version": "5", "sha256": "0xzb1bc8y0chkg6pkg2ax11g2xfrxqd9cjnmxhrahmabh30db451", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11bGx2YWQgY29ubmVjdGlvbiBzdGF0dXMgaW5kaWNhdG9yIiwKICAibmFtZSI6ICJNdWxsdmFkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BvYmVnYS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbXVsbHZhZC1pbmRpY2F0b3IiLAogICJ1dWlkIjogIm11bGx2YWRpbmRpY2F0b3JAcG9iZWdhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "0xzb1bc8y0chkg6pkg2ax11g2xfrxqd9cjnmxhrahmabh30db451", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11bGx2YWQgY29ubmVjdGlvbiBzdGF0dXMgaW5kaWNhdG9yIiwKICAibmFtZSI6ICJNdWxsdmFkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BvYmVnYS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbXVsbHZhZC1pbmRpY2F0b3IiLAogICJ1dWlkIjogIm11bGx2YWRpbmRpY2F0b3JAcG9iZWdhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "0xzb1bc8y0chkg6pkg2ax11g2xfrxqd9cjnmxhrahmabh30db451", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11bGx2YWQgY29ubmVjdGlvbiBzdGF0dXMgaW5kaWNhdG9yIiwKICAibmFtZSI6ICJNdWxsdmFkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BvYmVnYS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbXVsbHZhZC1pbmRpY2F0b3IiLAogICJ1dWlkIjogIm11bGx2YWRpbmRpY2F0b3JAcG9iZWdhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "42": {"version": "5", "sha256": "0xzb1bc8y0chkg6pkg2ax11g2xfrxqd9cjnmxhrahmabh30db451", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11bGx2YWQgY29ubmVjdGlvbiBzdGF0dXMgaW5kaWNhdG9yIiwKICAibmFtZSI6ICJNdWxsdmFkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BvYmVnYS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbXVsbHZhZC1pbmRpY2F0b3IiLAogICJ1dWlkIjogIm11bGx2YWRpbmRpY2F0b3JAcG9iZWdhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
@@ -362,9 +364,9 @@
 , {"uuid": "azan@hatem.masmoudi.org", "name": "Azan Islamic Prayer Times", "pname": "azan-islamic-prayer-times", "description": "Azan is an Islamic prayer times extension for Gnome Shell based on the extension by Fahrinh.\n\nFeatures\n- List compulsory prayer times\n Optionally display Imsak, Sunrise, Sunset and Midnight\n- Show remaining time for the upcoming prayer.\n- Show current date in Hijri calendar.\n- Display a notification when it's time for prayer.\n- Automatic Geoclue2 location detection\n- Show times in 24 hour and 12 hour formats\n- Hijri date adjusment\n- Moon status icon", "link": "https://extensions.gnome.org/extension/3602/azan-islamic-prayer-times/", "shell_version_map": {"38": {"version": "2", "sha256": "1z58m1w04mdddq9p3102jv852zks41f2l7xbx7j8jcljy4ahiqll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF6YW4gaXMgYW4gSXNsYW1pYyBwcmF5ZXIgdGltZXMgZXh0ZW5zaW9uIGZvciBHbm9tZSBTaGVsbCBiYXNlZCBvbiB0aGUgZXh0ZW5zaW9uIGJ5IEZhaHJpbmguXG5cbkZlYXR1cmVzXG4tIExpc3QgY29tcHVsc29yeSBwcmF5ZXIgdGltZXNcbiBPcHRpb25hbGx5IGRpc3BsYXkgSW1zYWssIFN1bnJpc2UsIFN1bnNldCBhbmQgTWlkbmlnaHRcbi0gU2hvdyByZW1haW5pbmcgdGltZSBmb3IgdGhlIHVwY29taW5nIHByYXllci5cbi0gU2hvdyBjdXJyZW50IGRhdGUgaW4gSGlqcmkgY2FsZW5kYXIuXG4tIERpc3BsYXkgYSBub3RpZmljYXRpb24gd2hlbiBpdCdzIHRpbWUgZm9yIHByYXllci5cbi0gQXV0b21hdGljIEdlb2NsdWUyIGxvY2F0aW9uIGRldGVjdGlvblxuLSBTaG93IHRpbWVzIGluIDI0IGhvdXIgYW5kIDEyIGhvdXIgZm9ybWF0c1xuLSBIaWpyaSBkYXRlIGFkanVzbWVudFxuLSBNb29uIHN0YXR1cyBpY29uIiwKICAibmFtZSI6ICJBemFuIElzbGFtaWMgUHJheWVyIFRpbWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF6YW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMSIsCiAgICAiMy4zOC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vaG1hc21vdWRpL2F6YW4tZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhemFuQGhhdGVtLm1hc21vdWRpLm9yZyIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "blur-provider@corvettecole.github.com", "name": "blur-provider", "pname": "blur-provider", "description": "Provides an easy way for applications to request blur, and allows users to set blur on applications", "link": "https://extensions.gnome.org/extension/3607/blur-provider/", "shell_version_map": {"38": {"version": "2", "sha256": "1p0cyq1bfi18ysk1fvydjvk6qdl87qi9p3kpc165q5i0d4b41ffp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGVzIGFuIGVhc3kgd2F5IGZvciBhcHBsaWNhdGlvbnMgdG8gcmVxdWVzdCBibHVyLCBhbmQgYWxsb3dzIHVzZXJzIHRvIHNldCBibHVyIG9uIGFwcGxpY2F0aW9ucyIsCiAgImV4dGVuc2lvbi1pZCI6ICJibHVyLXByb3ZpZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiYmx1ci1wcm92aWRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ibHVyLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29ydmV0dGVjb2xlL2JsdXItcHJvdmlkZXIiLAogICJ1dWlkIjogImJsdXItcHJvdmlkZXJAY29ydmV0dGVjb2xlLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "wireguard-indicator@atareao.es", "name": "WireGuard Indicator", "pname": "wireguard-indicator", "description": "Manage WireGuard VPN from Desktop", "link": "https://extensions.gnome.org/extension/3612/wireguard-indicator/", "shell_version_map": {"40": {"version": "8", "sha256": "0fg5pmy4npdh84yjzbhi6q7zm2vha7n0pyg7fp2286bqs1yk9i05", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBXaXJlR3VhcmQgVlBOIGZyb20gRGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJpY29uIjogIndpcmVndWFyZC1pY29uIiwKICAibmFtZSI6ICJXaXJlR3VhcmQgSW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImVzLmF0YXJlYW8ud2lyZWd1YXJkLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F0YXJlYW8vd2lyZWd1YXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAid2lyZWd1YXJkLWluZGljYXRvckBhdGFyZWFvLmVzIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "0fg5pmy4npdh84yjzbhi6q7zm2vha7n0pyg7fp2286bqs1yk9i05", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBXaXJlR3VhcmQgVlBOIGZyb20gRGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJpY29uIjogIndpcmVndWFyZC1pY29uIiwKICAibmFtZSI6ICJXaXJlR3VhcmQgSW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImVzLmF0YXJlYW8ud2lyZWd1YXJkLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F0YXJlYW8vd2lyZWd1YXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAid2lyZWd1YXJkLWluZGljYXRvckBhdGFyZWFvLmVzIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "42": {"version": "8", "sha256": "0fg5pmy4npdh84yjzbhi6q7zm2vha7n0pyg7fp2286bqs1yk9i05", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBXaXJlR3VhcmQgVlBOIGZyb20gRGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJpY29uIjogIndpcmVndWFyZC1pY29uIiwKICAibmFtZSI6ICJXaXJlR3VhcmQgSW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImVzLmF0YXJlYW8ud2lyZWd1YXJkLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F0YXJlYW8vd2lyZWd1YXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAid2lyZWd1YXJkLWluZGljYXRvckBhdGFyZWFvLmVzIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
-, {"uuid": "shamsi-calendar@gnome.scr.ir", "name": "Iranian Persian Calendar", "pname": "shamsi-calendar", "description": "تقویم هجری شمسی،قمری و میلادی در میز‌کار گنوم لینوکس\nقابلیت نمایش اوقات شرعی و پخش اذان\nدرج تعطیلی‌ها و مناسبت‌های رسمی تقویم\nزبان کاملاً فارسی\nتاریخ قمری هلالی ایران\nسازگار با اکثر نسخه‌های گنوم\nدر حال توسعه...\n\nShows Persian + Islamic + Gregorian date in the panel of gnome.\n\nIt shows:\n1- Persian calendar\n2- It can show, today is holiday or not!\n3- Show notification onDayChanged!\n4- Date converter between Persian, Gregorian and Lunar Hijri(Islamic)\n5- Show calendar Events.\n6- Show PrayTimes and play sound (Azan).\n\nPlease \"rate\" here and \"star\" project in GitHub.\nPlease open an issue in GitHub if you found something or have an idea!\nگزارش مشکلات:\nhttps://github.com/SCR-IR/gnome-shamsi-calendar/issues", "link": "https://extensions.gnome.org/extension/3618/shamsi-calendar/", "shell_version_map": {"38": {"version": "18", "sha256": "1bgrw9wn3ni49m54515gwpc6xpz2w4p1qa25sjlwb8521qwiqp03", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "18", "sha256": "1bgrw9wn3ni49m54515gwpc6xpz2w4p1qa25sjlwb8521qwiqp03", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "41": {"version": "18", "sha256": "1bgrw9wn3ni49m54515gwpc6xpz2w4p1qa25sjlwb8521qwiqp03", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "42": {"version": "18", "sha256": "1bgrw9wn3ni49m54515gwpc6xpz2w4p1qa25sjlwb8521qwiqp03", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
+, {"uuid": "shamsi-calendar@gnome.scr.ir", "name": "Iranian Persian Calendar", "pname": "shamsi-calendar", "description": "تقویم هجری شمسی،قمری و میلادی در میز‌کار گنوم لینوکس\nقابلیت نمایش اوقات شرعی و پخش اذان\nدرج تعطیلی‌ها و مناسبت‌های رسمی تقویم\nزبان کاملاً فارسی\nتاریخ قمری هلالی ایران\nسازگار با اکثر نسخه‌های گنوم\nدر حال توسعه...\n\nShows Persian + Islamic + Gregorian date in the panel of gnome.\n\nIt shows:\n1- Persian calendar\n2- It can show, today is holiday or not!\n3- Show notification onDayChanged!\n4- Date converter between Persian, Gregorian and Lunar Hijri(Islamic)\n5- Show calendar Events.\n6- Show PrayTimes and play sound (Azan).\n\nPlease \"rate\" here and \"star\" project in GitHub.\nPlease open an issue in GitHub if you found something or have an idea!\nگزارش مشکلات:\nhttps://github.com/SCR-IR/gnome-shamsi-calendar/issues", "link": "https://extensions.gnome.org/extension/3618/shamsi-calendar/", "shell_version_map": {"38": {"version": "19", "sha256": "01c8v8nh0qixilhzhff9fbi90hc3cw07myhwhlaf2i4f3ykkvmbl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "40": {"version": "19", "sha256": "01c8v8nh0qixilhzhff9fbi90hc3cw07myhwhlaf2i4f3ykkvmbl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "01c8v8nh0qixilhzhff9fbi90hc3cw07myhwhlaf2i4f3ykkvmbl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "19", "sha256": "01c8v8nh0qixilhzhff9fbi90hc3cw07myhwhlaf2i4f3ykkvmbl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
 , {"uuid": "tunnel-indicator@atareao.es", "name": "Tunnel Indicator", "pname": "tunnel-indicator", "description": "Manage SSH Tunnels from Desktop", "link": "https://extensions.gnome.org/extension/3622/tunnel-indicator/", "shell_version_map": {"40": {"version": "2", "sha256": "0ma4a711mgjxyhy4d21p2m7wvbnmmwlfdsf6xk9i36ranjcqs9as", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBTU0ggVHVubmVscyBmcm9tIERlc2t0b3AiLAogICJleHRlbnNpb24taWQiOiAidHVubmVsLWluZGljYXRvckBhdGFyZWFvLmVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidHVubmVsLWluZGljYXRvckBhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJ0dW5uZWwtaWNvbiIsCiAgIm5hbWUiOiAiVHVubmVsIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJlcy5hdGFyZWFvLnR1bm5lbC1pbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXRhcmVhby90dW5uZWwtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ0dW5uZWwtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJ2ZXJzaW9uIjogMgp9"}}}
-, {"uuid": "arcmenu@arcmenu.com", "name": "ArcMenu", "pname": "arcmenu", "description": "Application menu for GNOME Shell\n\nFeatures include: various menu layouts, built in GNOME search, quick access to system shortcuts, and much more!\n\nCommon solutions for ERROR message:\n - Restart your GNOME session after updating ArcMenu.\n - Install one of the following packages: 'gir1.2-gmenu-3.0' or 'gnome-menus'\n\nGeneral Help:\n - Visit https://gitlab.com/arcmenu/ArcMenu/-/wikis/home", "link": "https://extensions.gnome.org/extension/3628/arcmenu/", "shell_version_map": {"38": {"version": "17", "sha256": "0hfrfwbala1iyw5sialwfshg0kp2lh9xwg8msk3f1fqa1q7qymjb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IHZhcmlvdXMgbWVudSBsYXlvdXRzLCBidWlsdCBpbiBHTk9NRSBzZWFyY2gsIHF1aWNrIGFjY2VzcyB0byBzeXN0ZW0gc2hvcnRjdXRzLCBhbmQgbXVjaCBtb3JlIVxuXG5Db21tb24gc29sdXRpb25zIGZvciBFUlJPUiBtZXNzYWdlOlxuIC0gUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbiAtIEluc3RhbGwgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6ICdnaXIxLjItZ21lbnUtMy4wJyBvciAnZ25vbWUtbWVudXMnXG5cbkdlbmVyYWwgSGVscDpcbiAtIFZpc2l0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUvLS93aWtpcy9ob21lIiwKICAiZXh0ZW5zaW9uLWlkIjogImFyY21lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcmNtZW51IiwKICAibmFtZSI6ICJBcmNNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFyY21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJ1dWlkIjogImFyY21lbnVAYXJjbWVudS5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "27", "sha256": "0ihy71gsa651gv8anvzhzsjcqbcpqk7zpw381jaz49bbz5lbs59f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IHZhcmlvdXMgbWVudSBsYXlvdXRzLCBidWlsdCBpbiBHTk9NRSBzZWFyY2gsIHF1aWNrIGFjY2VzcyB0byBzeXN0ZW0gc2hvcnRjdXRzLCBhbmQgbXVjaCBtb3JlIVxuXG5Db21tb24gc29sdXRpb25zIGZvciBFUlJPUiBtZXNzYWdlOlxuIC0gUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbiAtIEluc3RhbGwgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6ICdnaXIxLjItZ21lbnUtMy4wJyBvciAnZ25vbWUtbWVudXMnXG5cbkdlbmVyYWwgSGVscDpcbiAtIFZpc2l0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUvLS93aWtpcy9ob21lIiwKICAiZXh0ZW5zaW9uLWlkIjogImFyY21lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcmNtZW51IiwKICAibmFtZSI6ICJBcmNNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFyY21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgInV1aWQiOiAiYXJjbWVudUBhcmNtZW51LmNvbSIsCiAgInZlcnNpb24iOiAyNwp9"}, "41": {"version": "27", "sha256": "0ihy71gsa651gv8anvzhzsjcqbcpqk7zpw381jaz49bbz5lbs59f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IHZhcmlvdXMgbWVudSBsYXlvdXRzLCBidWlsdCBpbiBHTk9NRSBzZWFyY2gsIHF1aWNrIGFjY2VzcyB0byBzeXN0ZW0gc2hvcnRjdXRzLCBhbmQgbXVjaCBtb3JlIVxuXG5Db21tb24gc29sdXRpb25zIGZvciBFUlJPUiBtZXNzYWdlOlxuIC0gUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbiAtIEluc3RhbGwgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6ICdnaXIxLjItZ21lbnUtMy4wJyBvciAnZ25vbWUtbWVudXMnXG5cbkdlbmVyYWwgSGVscDpcbiAtIFZpc2l0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUvLS93aWtpcy9ob21lIiwKICAiZXh0ZW5zaW9uLWlkIjogImFyY21lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcmNtZW51IiwKICAibmFtZSI6ICJBcmNNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFyY21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgInV1aWQiOiAiYXJjbWVudUBhcmNtZW51LmNvbSIsCiAgInZlcnNpb24iOiAyNwp9"}, "42": {"version": "30", "sha256": "095rza1h8fdswv7ifppf7q9j61i17fp259xhf6mj7l08jx5hi2dm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IHZhcmlvdXMgbWVudSBsYXlvdXRzLCBidWlsdCBpbiBHTk9NRSBzZWFyY2gsIHF1aWNrIGFjY2VzcyB0byBzeXN0ZW0gc2hvcnRjdXRzLCBhbmQgbXVjaCBtb3JlIVxuXG5Db21tb24gc29sdXRpb25zIGZvciBFUlJPUiBtZXNzYWdlOlxuIC0gUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbiAtIEluc3RhbGwgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6ICdnaXIxLjItZ21lbnUtMy4wJyBvciAnZ25vbWUtbWVudXMnXG5cbkdlbmVyYWwgSGVscDpcbiAtIFZpc2l0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUvLS93aWtpcy9ob21lIiwKICAiZXh0ZW5zaW9uLWlkIjogImFyY21lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcmNtZW51IiwKICAibmFtZSI6ICJBcmNNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFyY21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAidXVpZCI6ICJhcmNtZW51QGFyY21lbnUuY29tIiwKICAidmVyc2lvbiI6IDMwCn0="}}}
+, {"uuid": "arcmenu@arcmenu.com", "name": "ArcMenu", "pname": "arcmenu", "description": "Application menu for GNOME Shell\n\nFeatures include: various menu layouts, built in GNOME search, quick access to system shortcuts, and much more!\n\nCommon solutions for ERROR message:\n - Restart your GNOME session after updating ArcMenu.\n - Install one of the following packages: 'gir1.2-gmenu-3.0' or 'gnome-menus'\n\nGeneral Help:\n - Visit https://gitlab.com/arcmenu/ArcMenu/-/wikis/home\n\nPlease report all bugs or issues at https://gitlab.com/arcmenu/ArcMenu", "link": "https://extensions.gnome.org/extension/3628/arcmenu/", "shell_version_map": {"38": {"version": "17", "sha256": "1w6br4q9yvngyprl6w1iddv90nssd89rqqqi5ragsxvpbgd448rc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IHZhcmlvdXMgbWVudSBsYXlvdXRzLCBidWlsdCBpbiBHTk9NRSBzZWFyY2gsIHF1aWNrIGFjY2VzcyB0byBzeXN0ZW0gc2hvcnRjdXRzLCBhbmQgbXVjaCBtb3JlIVxuXG5Db21tb24gc29sdXRpb25zIGZvciBFUlJPUiBtZXNzYWdlOlxuIC0gUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbiAtIEluc3RhbGwgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6ICdnaXIxLjItZ21lbnUtMy4wJyBvciAnZ25vbWUtbWVudXMnXG5cbkdlbmVyYWwgSGVscDpcbiAtIFZpc2l0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUvLS93aWtpcy9ob21lXG5cblBsZWFzZSByZXBvcnQgYWxsIGJ1Z3Mgb3IgaXNzdWVzIGF0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJleHRlbnNpb24taWQiOiAiYXJjbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImFyY21lbnUiLAogICJuYW1lIjogIkFyY01lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXJjbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgInV1aWQiOiAiYXJjbWVudUBhcmNtZW51LmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "40": {"version": "27", "sha256": "01h4r7alddj1fly4l4rxpji17ilmf0v56559rdnsl0sy1lx8bkrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IHZhcmlvdXMgbWVudSBsYXlvdXRzLCBidWlsdCBpbiBHTk9NRSBzZWFyY2gsIHF1aWNrIGFjY2VzcyB0byBzeXN0ZW0gc2hvcnRjdXRzLCBhbmQgbXVjaCBtb3JlIVxuXG5Db21tb24gc29sdXRpb25zIGZvciBFUlJPUiBtZXNzYWdlOlxuIC0gUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbiAtIEluc3RhbGwgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6ICdnaXIxLjItZ21lbnUtMy4wJyBvciAnZ25vbWUtbWVudXMnXG5cbkdlbmVyYWwgSGVscDpcbiAtIFZpc2l0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUvLS93aWtpcy9ob21lXG5cblBsZWFzZSByZXBvcnQgYWxsIGJ1Z3Mgb3IgaXNzdWVzIGF0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJleHRlbnNpb24taWQiOiAiYXJjbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImFyY21lbnUiLAogICJuYW1lIjogIkFyY01lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXJjbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAidXVpZCI6ICJhcmNtZW51QGFyY21lbnUuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "41": {"version": "27", "sha256": "01h4r7alddj1fly4l4rxpji17ilmf0v56559rdnsl0sy1lx8bkrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IHZhcmlvdXMgbWVudSBsYXlvdXRzLCBidWlsdCBpbiBHTk9NRSBzZWFyY2gsIHF1aWNrIGFjY2VzcyB0byBzeXN0ZW0gc2hvcnRjdXRzLCBhbmQgbXVjaCBtb3JlIVxuXG5Db21tb24gc29sdXRpb25zIGZvciBFUlJPUiBtZXNzYWdlOlxuIC0gUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbiAtIEluc3RhbGwgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6ICdnaXIxLjItZ21lbnUtMy4wJyBvciAnZ25vbWUtbWVudXMnXG5cbkdlbmVyYWwgSGVscDpcbiAtIFZpc2l0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUvLS93aWtpcy9ob21lXG5cblBsZWFzZSByZXBvcnQgYWxsIGJ1Z3Mgb3IgaXNzdWVzIGF0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJleHRlbnNpb24taWQiOiAiYXJjbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImFyY21lbnUiLAogICJuYW1lIjogIkFyY01lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXJjbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAidXVpZCI6ICJhcmNtZW51QGFyY21lbnUuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "42": {"version": "32", "sha256": "109fjxmbm3wqb7zqdkn6iq11a4rndwhk8k9300ca8sbxi9j1ky08", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IHZhcmlvdXMgbWVudSBsYXlvdXRzLCBidWlsdCBpbiBHTk9NRSBzZWFyY2gsIHF1aWNrIGFjY2VzcyB0byBzeXN0ZW0gc2hvcnRjdXRzLCBhbmQgbXVjaCBtb3JlIVxuXG5Db21tb24gc29sdXRpb25zIGZvciBFUlJPUiBtZXNzYWdlOlxuIC0gUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbiAtIEluc3RhbGwgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6ICdnaXIxLjItZ21lbnUtMy4wJyBvciAnZ25vbWUtbWVudXMnXG5cbkdlbmVyYWwgSGVscDpcbiAtIFZpc2l0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUvLS93aWtpcy9ob21lXG5cblBsZWFzZSByZXBvcnQgYWxsIGJ1Z3Mgb3IgaXNzdWVzIGF0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJleHRlbnNpb24taWQiOiAiYXJjbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImFyY21lbnUiLAogICJuYW1lIjogIkFyY01lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXJjbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJ1dWlkIjogImFyY21lbnVAYXJjbWVudS5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}}}
 , {"uuid": "fixedimelist@alynx.one", "name": "Fixed IME List", "pname": "fixed-ime-list", "description": "Make the IME list in fixed sequence instead of MRU.", "link": "https://extensions.gnome.org/extension/3663/fixed-ime-list/", "shell_version_map": {"38": {"version": "6", "sha256": "0v99flnb23cjv32wr7r077q29jvgs7j5fjx6dc6qm2n04f1qiibz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIElNRSBsaXN0IGluIGZpeGVkIHNlcXVlbmNlIGluc3RlYWQgb2YgTVJVLiIsCiAgIm5hbWUiOiAiRml4ZWQgSU1FIExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWx5bnhaaG91L2dub21lLXNoZWxsLWV4dGVuc2lvbi1maXhlZC1pbWUtbGlzdC8iLAogICJ1dWlkIjogImZpeGVkaW1lbGlzdEBhbHlueC5vbmUiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0v99flnb23cjv32wr7r077q29jvgs7j5fjx6dc6qm2n04f1qiibz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIElNRSBsaXN0IGluIGZpeGVkIHNlcXVlbmNlIGluc3RlYWQgb2YgTVJVLiIsCiAgIm5hbWUiOiAiRml4ZWQgSU1FIExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWx5bnhaaG91L2dub21lLXNoZWxsLWV4dGVuc2lvbi1maXhlZC1pbWUtbGlzdC8iLAogICJ1dWlkIjogImZpeGVkaW1lbGlzdEBhbHlueC5vbmUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "topindicatorapp@quiro9.com", "name": "Top Indicator App", "pname": "top-indicator-app", "description": "This extension is 'appindicators' from ubuntu, renamed 'top indicator app' under the terms of the GPL v2 +. it is the extension itself that Ubuntu offers as a native experience on your system, but so you can install it in other distros since the current one in gnome-extensions is empty.I will offer stable updates when possible.", "link": "https://extensions.gnome.org/extension/3681/top-indicator-app/", "shell_version_map": {"38": {"version": "2", "sha256": "12r4fxgsgd7jn001vlzqrsd86ci62zxk0b9p3bkdqh6g5hj3la35", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGlzICdhcHBpbmRpY2F0b3JzJyBmcm9tIHVidW50dSwgcmVuYW1lZCAndG9wIGluZGljYXRvciBhcHAnIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR1BMIHYyICsuIGl0IGlzIHRoZSBleHRlbnNpb24gaXRzZWxmIHRoYXQgVWJ1bnR1IG9mZmVycyBhcyBhIG5hdGl2ZSBleHBlcmllbmNlIG9uIHlvdXIgc3lzdGVtLCBidXQgc28geW91IGNhbiBpbnN0YWxsIGl0IGluIG90aGVyIGRpc3Ryb3Mgc2luY2UgdGhlIGN1cnJlbnQgb25lIGluIGdub21lLWV4dGVuc2lvbnMgaXMgZW1wdHkuSSB3aWxsIG9mZmVyIHN0YWJsZSB1cGRhdGVzIHdoZW4gcG9zc2libGUuIiwKICAibmFtZSI6ICJUb3AgSW5kaWNhdG9yIEFwcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3VidW50dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYXBwaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ0b3BpbmRpY2F0b3JhcHBAcXVpcm85LmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "reorder-workspaces@jer.dev", "name": "Reorder Workspaces", "pname": "reorder-workspaces", "description": "Move workspaces up or down in the overview with Alt+Up/Alt+Down", "link": "https://extensions.gnome.org/extension/3685/reorder-workspaces/", "shell_version_map": {"38": {"version": "9", "sha256": "0imddvqpahlqm67pzr2afws29ang8kqc3kab58qbg0qz3nds21zz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd29ya3NwYWNlcyB1cCBvciBkb3duIGluIHRoZSBvdmVydmlldyB3aXRoIEFsdCtVcC9BbHQrRG93biIsCiAgIm5hbWUiOiAiUmVvcmRlciBXb3Jrc3BhY2VzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJlb3JkZXItd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qZXJlbWlhaG1lZ2VsL2dub21lLXJlb3JkZXItd29ya3NwYWNlcyIsCiAgInV1aWQiOiAicmVvcmRlci13b3Jrc3BhY2VzQGplci5kZXYiLAogICJ2ZXJzaW9uIjogOQp9"}, "40": {"version": "9", "sha256": "0imddvqpahlqm67pzr2afws29ang8kqc3kab58qbg0qz3nds21zz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd29ya3NwYWNlcyB1cCBvciBkb3duIGluIHRoZSBvdmVydmlldyB3aXRoIEFsdCtVcC9BbHQrRG93biIsCiAgIm5hbWUiOiAiUmVvcmRlciBXb3Jrc3BhY2VzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJlb3JkZXItd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qZXJlbWlhaG1lZ2VsL2dub21lLXJlb3JkZXItd29ya3NwYWNlcyIsCiAgInV1aWQiOiAicmVvcmRlci13b3Jrc3BhY2VzQGplci5kZXYiLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "0imddvqpahlqm67pzr2afws29ang8kqc3kab58qbg0qz3nds21zz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd29ya3NwYWNlcyB1cCBvciBkb3duIGluIHRoZSBvdmVydmlldyB3aXRoIEFsdCtVcC9BbHQrRG93biIsCiAgIm5hbWUiOiAiUmVvcmRlciBXb3Jrc3BhY2VzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJlb3JkZXItd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qZXJlbWlhaG1lZ2VsL2dub21lLXJlb3JkZXItd29ya3NwYWNlcyIsCiAgInV1aWQiOiAicmVvcmRlci13b3Jrc3BhY2VzQGplci5kZXYiLAogICJ2ZXJzaW9uIjogOQp9"}, "42": {"version": "9", "sha256": "0imddvqpahlqm67pzr2afws29ang8kqc3kab58qbg0qz3nds21zz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd29ya3NwYWNlcyB1cCBvciBkb3duIGluIHRoZSBvdmVydmlldyB3aXRoIEFsdCtVcC9BbHQrRG93biIsCiAgIm5hbWUiOiAiUmVvcmRlciBXb3Jrc3BhY2VzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJlb3JkZXItd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDMiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qZXJlbWlhaG1lZ2VsL2dub21lLXJlb3JkZXItd29ya3NwYWNlcyIsCiAgInV1aWQiOiAicmVvcmRlci13b3Jrc3BhY2VzQGplci5kZXYiLAogICJ2ZXJzaW9uIjogOQp9"}}}
@@ -388,7 +390,7 @@
 , {"uuid": "miniCal2@breiq", "name": "Minimalist Calendar 2", "pname": "minimalist-calendar-2", "description": "Remove event list and clock/calendar app buttons from the calendar window.", "link": "https://extensions.gnome.org/extension/3775/minimalist-calendar-2/", "shell_version_map": {"38": {"version": "1", "sha256": "1nh10ik3zk3r4jr31mr8nw8nnamgj3mk1f3im06657wv18x9wvam", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBldmVudCBsaXN0IGFuZCBjbG9jay9jYWxlbmRhciBhcHAgYnV0dG9ucyBmcm9tIHRoZSBjYWxlbmRhciB3aW5kb3cuIiwKICAibmFtZSI6ICJNaW5pbWFsaXN0IENhbGVuZGFyIDIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibWluaUNhbDJAYnJlaXEiLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "ddterm@amezin.github.com", "name": "ddterm", "pname": "ddterm", "description": "Another drop down terminal extension for GNOME Shell. With tabs. Works on Wayland natively", "link": "https://extensions.gnome.org/extension/3780/ddterm/", "shell_version_map": {"38": {"version": "29", "sha256": "072111hsp5qc1kjc3zp5j188padq1db9wwrpph0bdng9hz5cgdph", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtZXppbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGR0ZXJtIiwKICAidXVpZCI6ICJkZHRlcm1AYW1lemluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "40": {"version": "29", "sha256": "072111hsp5qc1kjc3zp5j188padq1db9wwrpph0bdng9hz5cgdph", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtZXppbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGR0ZXJtIiwKICAidXVpZCI6ICJkZHRlcm1AYW1lemluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "41": {"version": "29", "sha256": "072111hsp5qc1kjc3zp5j188padq1db9wwrpph0bdng9hz5cgdph", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtZXppbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGR0ZXJtIiwKICAidXVpZCI6ICJkZHRlcm1AYW1lemluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "42": {"version": "29", "sha256": "072111hsp5qc1kjc3zp5j188padq1db9wwrpph0bdng9hz5cgdph", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZHJvcCBkb3duIHRlcm1pbmFsIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwuIFdpdGggdGFicy4gV29ya3Mgb24gV2F5bGFuZCBuYXRpdmVseSIsCiAgIm5hbWUiOiAiZGR0ZXJtIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImNvbS5naXRodWIuYW1lemluLmRkdGVybSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtZXppbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGR0ZXJtIiwKICAidXVpZCI6ICJkZHRlcm1AYW1lemluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjkKfQ=="}}}
 , {"uuid": "favorites-only-dash@nahuelwexd.github.io", "name": "Favorites-only Dash", "pname": "favorites-only-dash", "description": "Show only favorite apps on Dash", "link": "https://extensions.gnome.org/extension/3789/favorites-only-dash/", "shell_version_map": {"38": {"version": "1", "sha256": "110h019563j33gksaq5fs0z71sz1mslq1sbsmhk9mj3qggd9vs65", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgb25seSBmYXZvcml0ZSBhcHBzIG9uIERhc2giLAogICJuYW1lIjogIkZhdm9yaXRlcy1vbmx5IERhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZmF2b3JpdGVzLW9ubHktZGFzaEBuYWh1ZWx3ZXhkLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxCn0="}}}
-, {"uuid": "notification-timeout@chlumskyvaclav.gmail.com", "name": "Notification Timeout", "pname": "notification-timeout", "description": "This extension allows configuring the same timeout for all notifications. It also allows ignoring the idle state.", "link": "https://extensions.gnome.org/extension/3795/notification-timeout/", "shell_version_map": {"38": {"version": "4", "sha256": "14hns3mw3rk6az31pck3rnsj74n98swaiv1ky57d0gs9409zha6n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmNobHVtL25vdGlmaWNhdGlvbi10aW1lb3V0IiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tdGltZW91dEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "14hns3mw3rk6az31pck3rnsj74n98swaiv1ky57d0gs9409zha6n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmNobHVtL25vdGlmaWNhdGlvbi10aW1lb3V0IiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tdGltZW91dEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "14hns3mw3rk6az31pck3rnsj74n98swaiv1ky57d0gs9409zha6n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmNobHVtL25vdGlmaWNhdGlvbi10aW1lb3V0IiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tdGltZW91dEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
+, {"uuid": "notification-timeout@chlumskyvaclav.gmail.com", "name": "Notification Timeout", "pname": "notification-timeout", "description": "This extension allows configuring the same timeout for all notifications. It also allows ignoring the idle state.", "link": "https://extensions.gnome.org/extension/3795/notification-timeout/", "shell_version_map": {"38": {"version": "5", "sha256": "1az6bbfzsq57nn83i4f4jl61z1n965iayfk7aavwya9z965lyafk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9ub3RpZmljYXRpb24tdGltZW91dCIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXRpbWVvdXRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "1az6bbfzsq57nn83i4f4jl61z1n965iayfk7aavwya9z965lyafk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9ub3RpZmljYXRpb24tdGltZW91dCIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXRpbWVvdXRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "1az6bbfzsq57nn83i4f4jl61z1n965iayfk7aavwya9z965lyafk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9ub3RpZmljYXRpb24tdGltZW91dCIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXRpbWVvdXRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "1az6bbfzsq57nn83i4f4jl61z1n965iayfk7aavwya9z965lyafk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9ub3RpZmljYXRpb24tdGltZW91dCIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXRpbWVvdXRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "podman-as-docker@alberto.yomerengues.xyz", "name": "Podman and Docker", "pname": "podman-as-docker", "description": "podman extension as docker\nIn order to get it work on podman, you just need to create an alias\nSimply put: alias docker=podman\nand install podman-docker", "link": "https://extensions.gnome.org/extension/3799/podman-as-docker/", "shell_version_map": {"38": {"version": "1", "sha256": "18bkd6z5hm6zidh7xv8v3jvj36lmxzx4dar7nwa7nq3p51km6crz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInBvZG1hbiBleHRlbnNpb24gYXMgZG9ja2VyXG5JbiBvcmRlciB0byBnZXQgaXQgd29yayBvbiBwb2RtYW4sIHlvdSBqdXN0IG5lZWQgdG8gY3JlYXRlIGFuIGFsaWFzXG5TaW1wbHkgcHV0OiBhbGlhcyBkb2NrZXI9cG9kbWFuXG5hbmQgaW5zdGFsbCBwb2RtYW4tZG9ja2VyIiwKICAibmFtZSI6ICJQb2RtYW4gYW5kIERvY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJwb2RtYW4tYXMtZG9ja2VyQGFsYmVydG8ueW9tZXJlbmd1ZXMueHl6IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "wacom-indicator@fthx", "name": "Wacom Indicator", "pname": "wacom-indicator", "description": "Wacom tablet indicator in the top bar: connection state and power level.\n\n On click: open GNOME Settings Wacom section. On hover or every minute: update connection state and power level.\n\n Settings (in extension.js file headers): show/hide model label, refresh delay, update/do nothing on indicator hover, show/hide if disconnected.", "link": "https://extensions.gnome.org/extension/3809/wacom-indicator/", "shell_version_map": {"38": {"version": "7", "sha256": "1sda66n1s3d28jd98xcznw5ljv10iwndpcbq7bfm5hqzrk8zimid", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhY29tIHRhYmxldCBpbmRpY2F0b3IgaW4gdGhlIHRvcCBiYXI6IGNvbm5lY3Rpb24gc3RhdGUgYW5kIHBvd2VyIGxldmVsLlxuXG4gT24gY2xpY2s6IG9wZW4gR05PTUUgU2V0dGluZ3MgV2Fjb20gc2VjdGlvbi4gT24gaG92ZXIgb3IgZXZlcnkgbWludXRlOiB1cGRhdGUgY29ubmVjdGlvbiBzdGF0ZSBhbmQgcG93ZXIgbGV2ZWwuXG5cbiBTZXR0aW5ncyAoaW4gZXh0ZW5zaW9uLmpzIGZpbGUgaGVhZGVycyk6IHNob3cvaGlkZSBtb2RlbCBsYWJlbCwgcmVmcmVzaCBkZWxheSwgdXBkYXRlL2RvIG5vdGhpbmcgb24gaW5kaWNhdG9yIGhvdmVyLCBzaG93L2hpZGUgaWYgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiV2Fjb20gSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvd2Fjb20taW5kaWNhdG9yIiwKICAidXVpZCI6ICJ3YWNvbS1pbmRpY2F0b3JAZnRoeCIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "1sda66n1s3d28jd98xcznw5ljv10iwndpcbq7bfm5hqzrk8zimid", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhY29tIHRhYmxldCBpbmRpY2F0b3IgaW4gdGhlIHRvcCBiYXI6IGNvbm5lY3Rpb24gc3RhdGUgYW5kIHBvd2VyIGxldmVsLlxuXG4gT24gY2xpY2s6IG9wZW4gR05PTUUgU2V0dGluZ3MgV2Fjb20gc2VjdGlvbi4gT24gaG92ZXIgb3IgZXZlcnkgbWludXRlOiB1cGRhdGUgY29ubmVjdGlvbiBzdGF0ZSBhbmQgcG93ZXIgbGV2ZWwuXG5cbiBTZXR0aW5ncyAoaW4gZXh0ZW5zaW9uLmpzIGZpbGUgaGVhZGVycyk6IHNob3cvaGlkZSBtb2RlbCBsYWJlbCwgcmVmcmVzaCBkZWxheSwgdXBkYXRlL2RvIG5vdGhpbmcgb24gaW5kaWNhdG9yIGhvdmVyLCBzaG93L2hpZGUgaWYgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiV2Fjb20gSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvd2Fjb20taW5kaWNhdG9yIiwKICAidXVpZCI6ICJ3YWNvbS1pbmRpY2F0b3JAZnRoeCIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "hibernate@dafne.rocks", "name": "System Action - Hibernate", "pname": "system-action-hibernate", "description": "A GNOME extension that adds the option to hibernate amongst other system actions", "link": "https://extensions.gnome.org/extension/3814/system-action-hibernate/", "shell_version_map": {"38": {"version": "8", "sha256": "1rriknzx54f4wlfjm6wrcy9s86vchi5n3p3qp8lx52dsv36a22an", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRoYXQgYWRkcyB0aGUgb3B0aW9uIHRvIGhpYmVybmF0ZSBhbW9uZ3N0IG90aGVyIHN5c3RlbSBhY3Rpb25zIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlQGRhZm5lLnJvY2tzIiwKICAibmFtZSI6ICJTeXN0ZW0gQWN0aW9uIC0gSGliZXJuYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1oaWJlcm5hdGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoaWJlcm5hdGVAZGFmbmUucm9ja3MiLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "1rriknzx54f4wlfjm6wrcy9s86vchi5n3p3qp8lx52dsv36a22an", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRoYXQgYWRkcyB0aGUgb3B0aW9uIHRvIGhpYmVybmF0ZSBhbW9uZ3N0IG90aGVyIHN5c3RlbSBhY3Rpb25zIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlQGRhZm5lLnJvY2tzIiwKICAibmFtZSI6ICJTeXN0ZW0gQWN0aW9uIC0gSGliZXJuYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1oaWJlcm5hdGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoaWJlcm5hdGVAZGFmbmUucm9ja3MiLAogICJ2ZXJzaW9uIjogOAp9"}}}
@@ -408,13 +410,13 @@
 , {"uuid": "snowy@exposedcat", "name": "Snowy", "pname": "snowy", "description": "Make you festive mood with falling snow on your GNOME DE system", "link": "https://extensions.gnome.org/extension/3921/snowy/", "shell_version_map": {"40": {"version": "12", "sha256": "17y10r06dmfilbax4f55jxn2xxsjfbykrijxc4b96p3szi69110r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91IGZlc3RpdmUgbW9vZCB3aXRoIGZhbGxpbmcgc25vdyBvbiB5b3VyIEdOT01FIERFIHN5c3RlbSIsCiAgIm5hbWUiOiAiU25vd3kiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0V4cG9zZWRDYXQvc25vd3kiLAogICJ1dWlkIjogInNub3d5QGV4cG9zZWRjYXQiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "17y10r06dmfilbax4f55jxn2xxsjfbykrijxc4b96p3szi69110r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91IGZlc3RpdmUgbW9vZCB3aXRoIGZhbGxpbmcgc25vdyBvbiB5b3VyIEdOT01FIERFIHN5c3RlbSIsCiAgIm5hbWUiOiAiU25vd3kiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0V4cG9zZWRDYXQvc25vd3kiLAogICJ1dWlkIjogInNub3d5QGV4cG9zZWRjYXQiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
 , {"uuid": "focus@scaryrawr.github.io", "name": "Focus", "pname": "focus", "description": "Transparent inactive windows", "link": "https://extensions.gnome.org/extension/3924/focus/", "shell_version_map": {"38": {"version": "7", "sha256": "01sh4wxnizgszwggrkp5l5j7iiayrz1wys06hnrq03014kgkd829", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IGluYWN0aXZlIHdpbmRvd3MiLAogICJuYW1lIjogIkZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY2FyeXJhd3IvZ25vbWUtZm9jdXMiLAogICJ1dWlkIjogImZvY3VzQHNjYXJ5cmF3ci5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "01sh4wxnizgszwggrkp5l5j7iiayrz1wys06hnrq03014kgkd829", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IGluYWN0aXZlIHdpbmRvd3MiLAogICJuYW1lIjogIkZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY2FyeXJhd3IvZ25vbWUtZm9jdXMiLAogICJ1dWlkIjogImZvY3VzQHNjYXJ5cmF3ci5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "01sh4wxnizgszwggrkp5l5j7iiayrz1wys06hnrq03014kgkd829", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IGluYWN0aXZlIHdpbmRvd3MiLAogICJuYW1lIjogIkZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY2FyeXJhd3IvZ25vbWUtZm9jdXMiLAogICJ1dWlkIjogImZvY3VzQHNjYXJ5cmF3ci5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "autoselectheadset@josephlbarnett.github.com", "name": "Auto select headset", "pname": "auto-select-headset", "description": "Auto selects headsets when possible instead of showing a dialog", "link": "https://extensions.gnome.org/extension/3928/auto-select-headset/", "shell_version_map": {"38": {"version": "5", "sha256": "1lzn5ah6djggb8qcj9r70fmnvs5dpd342f5izx1scpk6h48rna8q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2pvc2VwaGxiYXJuZXR0L2F1dG9zZWxlY3RoZWFkc2V0LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXV0b3NlbGVjdGhlYWRzZXRAam9zZXBobGJhcm5ldHQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "1lzn5ah6djggb8qcj9r70fmnvs5dpd342f5izx1scpk6h48rna8q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2pvc2VwaGxiYXJuZXR0L2F1dG9zZWxlY3RoZWFkc2V0LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXV0b3NlbGVjdGhlYWRzZXRAam9zZXBobGJhcm5ldHQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1lzn5ah6djggb8qcj9r70fmnvs5dpd342f5izx1scpk6h48rna8q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2pvc2VwaGxiYXJuZXR0L2F1dG9zZWxlY3RoZWFkc2V0LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXV0b3NlbGVjdGhlYWRzZXRAam9zZXBobGJhcm5ldHQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "1lzn5ah6djggb8qcj9r70fmnvs5dpd342f5izx1scpk6h48rna8q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2pvc2VwaGxiYXJuZXR0L2F1dG9zZWxlY3RoZWFkc2V0LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXV0b3NlbGVjdGhlYWRzZXRAam9zZXBobGJhcm5ldHQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
-, {"uuid": "toggle-night-light@cansozbir.github.io", "name": "Toggle Night Light", "pname": "toggle-night-light", "description": "This extension lets you toggle night-light from the top-bar by clicking it.", "link": "https://extensions.gnome.org/extension/3933/toggle-night-light/", "shell_version_map": {"38": {"version": "5", "sha256": "1r7mjixc2r8p5cmgk94sbj7gsx9xfx5sfnaxa01prqrpd3pqlhzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IHRvZ2dsZSBuaWdodC1saWdodCBmcm9tIHRoZSB0b3AtYmFyIGJ5IGNsaWNraW5nIGl0LiIsCiAgIm5hbWUiOiAiVG9nZ2xlIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jYW5zb3piaXIvZ25vbWUtc2hlbGwtdG9nZ2xlLW5pZ2h0LWxpZ2h0LWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidG9nZ2xlLW5pZ2h0LWxpZ2h0QGNhbnNvemJpci5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "1r7mjixc2r8p5cmgk94sbj7gsx9xfx5sfnaxa01prqrpd3pqlhzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IHRvZ2dsZSBuaWdodC1saWdodCBmcm9tIHRoZSB0b3AtYmFyIGJ5IGNsaWNraW5nIGl0LiIsCiAgIm5hbWUiOiAiVG9nZ2xlIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jYW5zb3piaXIvZ25vbWUtc2hlbGwtdG9nZ2xlLW5pZ2h0LWxpZ2h0LWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidG9nZ2xlLW5pZ2h0LWxpZ2h0QGNhbnNvemJpci5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "1r7mjixc2r8p5cmgk94sbj7gsx9xfx5sfnaxa01prqrpd3pqlhzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IHRvZ2dsZSBuaWdodC1saWdodCBmcm9tIHRoZSB0b3AtYmFyIGJ5IGNsaWNraW5nIGl0LiIsCiAgIm5hbWUiOiAiVG9nZ2xlIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jYW5zb3piaXIvZ25vbWUtc2hlbGwtdG9nZ2xlLW5pZ2h0LWxpZ2h0LWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidG9nZ2xlLW5pZ2h0LWxpZ2h0QGNhbnNvemJpci5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}}}
+, {"uuid": "toggle-night-light@cansozbir.github.io", "name": "Toggle Night Light", "pname": "toggle-night-light", "description": "This extension lets you toggle night-light from the top-bar by clicking it.", "link": "https://extensions.gnome.org/extension/3933/toggle-night-light/", "shell_version_map": {"38": {"version": "7", "sha256": "13s25az5g1n500jih7n1n7mprm70c2mg4r9cfdrxvivvmy080s5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IHRvZ2dsZSBuaWdodC1saWdodCBmcm9tIHRoZSB0b3AtYmFyIGJ5IGNsaWNraW5nIGl0LiIsCiAgIm5hbWUiOiAiVG9nZ2xlIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2Fuc296YmlyL2dub21lLXNoZWxsLXRvZ2dsZS1uaWdodC1saWdodC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZ2dsZS1uaWdodC1saWdodEBjYW5zb3piaXIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "13s25az5g1n500jih7n1n7mprm70c2mg4r9cfdrxvivvmy080s5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IHRvZ2dsZSBuaWdodC1saWdodCBmcm9tIHRoZSB0b3AtYmFyIGJ5IGNsaWNraW5nIGl0LiIsCiAgIm5hbWUiOiAiVG9nZ2xlIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2Fuc296YmlyL2dub21lLXNoZWxsLXRvZ2dsZS1uaWdodC1saWdodC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZ2dsZS1uaWdodC1saWdodEBjYW5zb3piaXIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "13s25az5g1n500jih7n1n7mprm70c2mg4r9cfdrxvivvmy080s5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IHRvZ2dsZSBuaWdodC1saWdodCBmcm9tIHRoZSB0b3AtYmFyIGJ5IGNsaWNraW5nIGl0LiIsCiAgIm5hbWUiOiAiVG9nZ2xlIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2Fuc296YmlyL2dub21lLXNoZWxsLXRvZ2dsZS1uaWdodC1saWdodC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZ2dsZS1uaWdodC1saWdodEBjYW5zb3piaXIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "7", "sha256": "13s25az5g1n500jih7n1n7mprm70c2mg4r9cfdrxvivvmy080s5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IHRvZ2dsZSBuaWdodC1saWdodCBmcm9tIHRoZSB0b3AtYmFyIGJ5IGNsaWNraW5nIGl0LiIsCiAgIm5hbWUiOiAiVG9nZ2xlIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2Fuc296YmlyL2dub21lLXNoZWxsLXRvZ2dsZS1uaWdodC1saWdodC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZ2dsZS1uaWdodC1saWdodEBjYW5zb3piaXIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "adwaita-theme-switcher@fthx", "name": "Adwaita Theme Switcher", "pname": "adwaita-theme-switcher", "description": "Button in panel: switch between Adwaita dark and light themes.", "link": "https://extensions.gnome.org/extension/3936/adwaita-theme-switcher/", "shell_version_map": {"38": {"version": "4", "sha256": "0015j3vqwvb0fs2n90lz0i66f23nr7mmvqzgwnsah46x8lkm2kpr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiBpbiBwYW5lbDogc3dpdGNoIGJldHdlZW4gQWR3YWl0YSBkYXJrIGFuZCBsaWdodCB0aGVtZXMuIiwKICAibmFtZSI6ICJBZHdhaXRhIFRoZW1lIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Fkd2FpdGEtdGhlbWUtc3dpdGNoZXIiLAogICJ1dWlkIjogImFkd2FpdGEtdGhlbWUtc3dpdGNoZXJAZnRoeCIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "0015j3vqwvb0fs2n90lz0i66f23nr7mmvqzgwnsah46x8lkm2kpr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiBpbiBwYW5lbDogc3dpdGNoIGJldHdlZW4gQWR3YWl0YSBkYXJrIGFuZCBsaWdodCB0aGVtZXMuIiwKICAibmFtZSI6ICJBZHdhaXRhIFRoZW1lIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Fkd2FpdGEtdGhlbWUtc3dpdGNoZXIiLAogICJ1dWlkIjogImFkd2FpdGEtdGhlbWUtc3dpdGNoZXJAZnRoeCIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "0015j3vqwvb0fs2n90lz0i66f23nr7mmvqzgwnsah46x8lkm2kpr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiBpbiBwYW5lbDogc3dpdGNoIGJldHdlZW4gQWR3YWl0YSBkYXJrIGFuZCBsaWdodCB0aGVtZXMuIiwKICAibmFtZSI6ICJBZHdhaXRhIFRoZW1lIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Fkd2FpdGEtdGhlbWUtc3dpdGNoZXIiLAogICJ1dWlkIjogImFkd2FpdGEtdGhlbWUtc3dpdGNoZXJAZnRoeCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "fnlock-switch-tp-comp-usb-kb@goloshubov.github.io", "name": "FnLock switch (ThinkPad Compact USB Keyboard) ", "pname": "fnlock-switch-thinkpad-compact-usb-keyboard", "description": "FnLock switch for Lenovo ThinkPad Compact USB Keyboard ", "link": "https://extensions.gnome.org/extension/3939/fnlock-switch-thinkpad-compact-usb-keyboard/", "shell_version_map": {"38": {"version": "4", "sha256": "1nybwgfp354zn1z1lkl3wvvz2zddk6nbm9n2h5f5gbp58vhl8mw4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZuTG9jayBzd2l0Y2ggZm9yIExlbm92byBUaGlua1BhZCBDb21wYWN0IFVTQiBLZXlib2FyZCAiLAogICJuYW1lIjogIkZuTG9jayBzd2l0Y2ggKFRoaW5rUGFkIENvbXBhY3QgVVNCIEtleWJvYXJkKSAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbG9zaHVib3YvZm5sb2NrLXN3aXRjaC10cC1jb21wLXVzYi1rYiIsCiAgInV1aWQiOiAiZm5sb2NrLXN3aXRjaC10cC1jb21wLXVzYi1rYkBnb2xvc2h1Ym92LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "1nybwgfp354zn1z1lkl3wvvz2zddk6nbm9n2h5f5gbp58vhl8mw4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZuTG9jayBzd2l0Y2ggZm9yIExlbm92byBUaGlua1BhZCBDb21wYWN0IFVTQiBLZXlib2FyZCAiLAogICJuYW1lIjogIkZuTG9jayBzd2l0Y2ggKFRoaW5rUGFkIENvbXBhY3QgVVNCIEtleWJvYXJkKSAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbG9zaHVib3YvZm5sb2NrLXN3aXRjaC10cC1jb21wLXVzYi1rYiIsCiAgInV1aWQiOiAiZm5sb2NrLXN3aXRjaC10cC1jb21wLXVzYi1rYkBnb2xvc2h1Ym92LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1nybwgfp354zn1z1lkl3wvvz2zddk6nbm9n2h5f5gbp58vhl8mw4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZuTG9jayBzd2l0Y2ggZm9yIExlbm92byBUaGlua1BhZCBDb21wYWN0IFVTQiBLZXlib2FyZCAiLAogICJuYW1lIjogIkZuTG9jayBzd2l0Y2ggKFRoaW5rUGFkIENvbXBhY3QgVVNCIEtleWJvYXJkKSAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbG9zaHVib3YvZm5sb2NrLXN3aXRjaC10cC1jb21wLXVzYi1rYiIsCiAgInV1aWQiOiAiZm5sb2NrLXN3aXRjaC10cC1jb21wLXVzYi1rYkBnb2xvc2h1Ym92LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "toggle-alacritty@itstime.tech", "name": "Toggle Alacritty", "pname": "toggle-alacritty", "description": "Toggles Alacritty window via hotkey: Alt+z\n\nIf Alacritty is not launched, attempts to start it (/usr/bin/alacritty)\n\nWorks under both Wayland and X11\n\nTo change hotkey please follow instruction in the README.md:", "link": "https://extensions.gnome.org/extension/3942/toggle-alacritty/", "shell_version_map": {"38": {"version": "4", "sha256": "1kz5a8x9fpvilcd4p9pn6cmsj6gvq44cg85yhkgdi9x2qpd52fn1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZXMgQWxhY3JpdHR5IHdpbmRvdyB2aWEgaG90a2V5OiBBbHQrelxuXG5JZiBBbGFjcml0dHkgaXMgbm90IGxhdW5jaGVkLCBhdHRlbXB0cyB0byBzdGFydCBpdCAoL3Vzci9iaW4vYWxhY3JpdHR5KVxuXG5Xb3JrcyB1bmRlciBib3RoIFdheWxhbmQgYW5kIFgxMVxuXG5UbyBjaGFuZ2UgaG90a2V5IHBsZWFzZSBmb2xsb3cgaW5zdHJ1Y3Rpb24gaW4gdGhlIFJFQURNRS5tZDoiLAogICJuYW1lIjogIlRvZ2dsZSBBbGFjcml0dHkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudG9nZ2xlLWFsYWNyaXR0eSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLWFsYWNyaXR0eS10b2dnbGUiLAogICJ1dWlkIjogInRvZ2dsZS1hbGFjcml0dHlAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1kz5a8x9fpvilcd4p9pn6cmsj6gvq44cg85yhkgdi9x2qpd52fn1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZXMgQWxhY3JpdHR5IHdpbmRvdyB2aWEgaG90a2V5OiBBbHQrelxuXG5JZiBBbGFjcml0dHkgaXMgbm90IGxhdW5jaGVkLCBhdHRlbXB0cyB0byBzdGFydCBpdCAoL3Vzci9iaW4vYWxhY3JpdHR5KVxuXG5Xb3JrcyB1bmRlciBib3RoIFdheWxhbmQgYW5kIFgxMVxuXG5UbyBjaGFuZ2UgaG90a2V5IHBsZWFzZSBmb2xsb3cgaW5zdHJ1Y3Rpb24gaW4gdGhlIFJFQURNRS5tZDoiLAogICJuYW1lIjogIlRvZ2dsZSBBbGFjcml0dHkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudG9nZ2xlLWFsYWNyaXR0eSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLWFsYWNyaXR0eS10b2dnbGUiLAogICJ1dWlkIjogInRvZ2dsZS1hbGFjcml0dHlAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1kz5a8x9fpvilcd4p9pn6cmsj6gvq44cg85yhkgdi9x2qpd52fn1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZXMgQWxhY3JpdHR5IHdpbmRvdyB2aWEgaG90a2V5OiBBbHQrelxuXG5JZiBBbGFjcml0dHkgaXMgbm90IGxhdW5jaGVkLCBhdHRlbXB0cyB0byBzdGFydCBpdCAoL3Vzci9iaW4vYWxhY3JpdHR5KVxuXG5Xb3JrcyB1bmRlciBib3RoIFdheWxhbmQgYW5kIFgxMVxuXG5UbyBjaGFuZ2UgaG90a2V5IHBsZWFzZSBmb2xsb3cgaW5zdHJ1Y3Rpb24gaW4gdGhlIFJFQURNRS5tZDoiLAogICJuYW1lIjogIlRvZ2dsZSBBbGFjcml0dHkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudG9nZ2xlLWFsYWNyaXR0eSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLWFsYWNyaXR0eS10b2dnbGUiLAogICJ1dWlkIjogInRvZ2dsZS1hbGFjcml0dHlAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "hide-panel@fthx", "name": "Hide Panel", "pname": "hide-panel", "description": "Hide top panel except in overview. Switch button in panel.\n\nVery very light extension. There is a 1 pixel wide line at the top of the screen that allows to blindly use the panel menus. This is needed to keep the native hot corner active without having to recreate it.", "link": "https://extensions.gnome.org/extension/3948/hide-panel/", "shell_version_map": {"38": {"version": "8", "sha256": "0nrj0kxfdxx7nmw0zai070ca5lv5r43bpgm2binv31xjyh385849", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdG9wIHBhbmVsIGV4Y2VwdCBpbiBvdmVydmlldy4gU3dpdGNoIGJ1dHRvbiBpbiBwYW5lbC5cblxuVmVyeSB2ZXJ5IGxpZ2h0IGV4dGVuc2lvbi4gVGhlcmUgaXMgYSAxIHBpeGVsIHdpZGUgbGluZSBhdCB0aGUgdG9wIG9mIHRoZSBzY3JlZW4gdGhhdCBhbGxvd3MgdG8gYmxpbmRseSB1c2UgdGhlIHBhbmVsIG1lbnVzLiBUaGlzIGlzIG5lZWRlZCB0byBrZWVwIHRoZSBuYXRpdmUgaG90IGNvcm5lciBhY3RpdmUgd2l0aG91dCBoYXZpbmcgdG8gcmVjcmVhdGUgaXQuIiwKICAibmFtZSI6ICJIaWRlIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvaGlkZS1wYW5lbCIsCiAgInV1aWQiOiAiaGlkZS1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "0nrj0kxfdxx7nmw0zai070ca5lv5r43bpgm2binv31xjyh385849", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdG9wIHBhbmVsIGV4Y2VwdCBpbiBvdmVydmlldy4gU3dpdGNoIGJ1dHRvbiBpbiBwYW5lbC5cblxuVmVyeSB2ZXJ5IGxpZ2h0IGV4dGVuc2lvbi4gVGhlcmUgaXMgYSAxIHBpeGVsIHdpZGUgbGluZSBhdCB0aGUgdG9wIG9mIHRoZSBzY3JlZW4gdGhhdCBhbGxvd3MgdG8gYmxpbmRseSB1c2UgdGhlIHBhbmVsIG1lbnVzLiBUaGlzIGlzIG5lZWRlZCB0byBrZWVwIHRoZSBuYXRpdmUgaG90IGNvcm5lciBhY3RpdmUgd2l0aG91dCBoYXZpbmcgdG8gcmVjcmVhdGUgaXQuIiwKICAibmFtZSI6ICJIaWRlIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvaGlkZS1wYW5lbCIsCiAgInV1aWQiOiAiaGlkZS1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "persistent-email-notifications@fthx", "name": "Persistent Email Notifications", "pname": "persistent-email-notifications", "description": "Never hide a new mail notification, except if you close it.\n\nVery very light extension. Email clients supported: Thunderbird, Evolution, Geary, Mailspring, TypeApp, BlueMail. Please ask for another email client if needed.", "link": "https://extensions.gnome.org/extension/3951/persistent-email-notifications/", "shell_version_map": {"38": {"version": "3", "sha256": "06m6fhs50vlrwkgdk6cvkcl5f155a1w8szs1g9pzryf8mmldgmdd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldmVyIGhpZGUgYSBuZXcgbWFpbCBub3RpZmljYXRpb24sIGV4Y2VwdCBpZiB5b3UgY2xvc2UgaXQuXG5cblZlcnkgdmVyeSBsaWdodCBleHRlbnNpb24uIEVtYWlsIGNsaWVudHMgc3VwcG9ydGVkOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZywgVHlwZUFwcCwgQmx1ZU1haWwuIFBsZWFzZSBhc2sgZm9yIGFub3RoZXIgZW1haWwgY2xpZW50IGlmIG5lZWRlZC4iLAogICJuYW1lIjogIlBlcnNpc3RlbnQgRW1haWwgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L3BlcnNpc3RlbnQtZW1haWwtbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAicGVyc2lzdGVudC1lbWFpbC1ub3RpZmljYXRpb25zQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "06m6fhs50vlrwkgdk6cvkcl5f155a1w8szs1g9pzryf8mmldgmdd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldmVyIGhpZGUgYSBuZXcgbWFpbCBub3RpZmljYXRpb24sIGV4Y2VwdCBpZiB5b3UgY2xvc2UgaXQuXG5cblZlcnkgdmVyeSBsaWdodCBleHRlbnNpb24uIEVtYWlsIGNsaWVudHMgc3VwcG9ydGVkOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZywgVHlwZUFwcCwgQmx1ZU1haWwuIFBsZWFzZSBhc2sgZm9yIGFub3RoZXIgZW1haWwgY2xpZW50IGlmIG5lZWRlZC4iLAogICJuYW1lIjogIlBlcnNpc3RlbnQgRW1haWwgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L3BlcnNpc3RlbnQtZW1haWwtbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAicGVyc2lzdGVudC1lbWFpbC1ub3RpZmljYXRpb25zQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"uuid": "horizontal-workspace-indicator@tty2.io", "name": "Workspace indicator", "pname": "workspace-indicator", "description": "Workspace indicator shows the amount of opened workspaces and highlights the current one using unicode characters.\n\nYou can use it as an indicator only but widget is clickable. Left button click: move to left, right click: move right.\n\nThere could be an error with the extension after update. The solution is to logout and login again.\n\nIf you have ideas for enhancement add an issue in github extension page. \nIf you want scroll to change workspace functionality, consider to use this extension https://extensions.gnome.org/extension/1616/panel-scroll/ . They work well together. There are no plans to add scroll functionality to workspace indicator directly.", "link": "https://extensions.gnome.org/extension/3952/workspace-indicator/", "shell_version_map": {"38": {"version": "9", "sha256": "00k4bhl2ln5x199m1b3c73hqv5ajf1nyjgjfc9xvia1ivpb45jj3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLlxuXG5JZiB5b3UgaGF2ZSBpZGVhcyBmb3IgZW5oYW5jZW1lbnQgYWRkIGFuIGlzc3VlIGluIGdpdGh1YiBleHRlbnNpb24gcGFnZS4gXG5JZiB5b3Ugd2FudCBzY3JvbGwgdG8gY2hhbmdlIHdvcmtzcGFjZSBmdW5jdGlvbmFsaXR5LCBjb25zaWRlciB0byB1c2UgdGhpcyBleHRlbnNpb24gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTYxNi9wYW5lbC1zY3JvbGwvIC4gVGhleSB3b3JrIHdlbGwgdG9nZXRoZXIuIFRoZXJlIGFyZSBubyBwbGFucyB0byBhZGQgc2Nyb2xsIGZ1bmN0aW9uYWxpdHkgdG8gd29ya3NwYWNlIGluZGljYXRvciBkaXJlY3RseS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R0eTIvaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3JAdHR5Mi5pbyIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "12", "sha256": "0ccbwbifgan8jazaw5nb8wmadi12q7gyfqhy6ssq37k71gwjh8pj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLlxuXG5JZiB5b3UgaGF2ZSBpZGVhcyBmb3IgZW5oYW5jZW1lbnQgYWRkIGFuIGlzc3VlIGluIGdpdGh1YiBleHRlbnNpb24gcGFnZS4gXG5JZiB5b3Ugd2FudCBzY3JvbGwgdG8gY2hhbmdlIHdvcmtzcGFjZSBmdW5jdGlvbmFsaXR5LCBjb25zaWRlciB0byB1c2UgdGhpcyBleHRlbnNpb24gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTYxNi9wYW5lbC1zY3JvbGwvIC4gVGhleSB3b3JrIHdlbGwgdG9nZXRoZXIuIFRoZXJlIGFyZSBubyBwbGFucyB0byBhZGQgc2Nyb2xsIGZ1bmN0aW9uYWxpdHkgdG8gd29ya3NwYWNlIGluZGljYXRvciBkaXJlY3RseS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDEyCn0="}, "41": {"version": "12", "sha256": "0ccbwbifgan8jazaw5nb8wmadi12q7gyfqhy6ssq37k71gwjh8pj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLlxuXG5JZiB5b3UgaGF2ZSBpZGVhcyBmb3IgZW5oYW5jZW1lbnQgYWRkIGFuIGlzc3VlIGluIGdpdGh1YiBleHRlbnNpb24gcGFnZS4gXG5JZiB5b3Ugd2FudCBzY3JvbGwgdG8gY2hhbmdlIHdvcmtzcGFjZSBmdW5jdGlvbmFsaXR5LCBjb25zaWRlciB0byB1c2UgdGhpcyBleHRlbnNpb24gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTYxNi9wYW5lbC1zY3JvbGwvIC4gVGhleSB3b3JrIHdlbGwgdG9nZXRoZXIuIFRoZXJlIGFyZSBubyBwbGFucyB0byBhZGQgc2Nyb2xsIGZ1bmN0aW9uYWxpdHkgdG8gd29ya3NwYWNlIGluZGljYXRvciBkaXJlY3RseS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDEyCn0="}, "42": {"version": "12", "sha256": "0ccbwbifgan8jazaw5nb8wmadi12q7gyfqhy6ssq37k71gwjh8pj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLlxuXG5JZiB5b3UgaGF2ZSBpZGVhcyBmb3IgZW5oYW5jZW1lbnQgYWRkIGFuIGlzc3VlIGluIGdpdGh1YiBleHRlbnNpb24gcGFnZS4gXG5JZiB5b3Ugd2FudCBzY3JvbGwgdG8gY2hhbmdlIHdvcmtzcGFjZSBmdW5jdGlvbmFsaXR5LCBjb25zaWRlciB0byB1c2UgdGhpcyBleHRlbnNpb24gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTYxNi9wYW5lbC1zY3JvbGwvIC4gVGhleSB3b3JrIHdlbGwgdG9nZXRoZXIuIFRoZXJlIGFyZSBubyBwbGFucyB0byBhZGQgc2Nyb2xsIGZ1bmN0aW9uYWxpdHkgdG8gd29ya3NwYWNlIGluZGljYXRvciBkaXJlY3RseS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDEyCn0="}}}
+, {"uuid": "horizontal-workspace-indicator@tty2.io", "name": "Workspace indicator", "pname": "workspace-indicator", "description": "Workspace indicator shows the amount of opened workspaces and highlights the current one using unicode characters.\n\nYou can use it as an indicator only but widget is clickable. Left button click: move to left, right click: move right. Middle click calls overview.\n\nThere could be an error with the extension after update. The solution is to logout and login again.\n", "link": "https://extensions.gnome.org/extension/3952/workspace-indicator/", "shell_version_map": {"38": {"version": "9", "sha256": "09p4jjc00jqb99lpxff4jkpkf7fzaflkljqxa9sf5xld8w7vsh9c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuIE1pZGRsZSBjbGljayBjYWxscyBvdmVydmlldy5cblxuVGhlcmUgY291bGQgYmUgYW4gZXJyb3Igd2l0aCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0ZS4gVGhlIHNvbHV0aW9uIGlzIHRvIGxvZ291dCBhbmQgbG9naW4gYWdhaW4uXG4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R0eTIvaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3JAdHR5Mi5pbyIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "13", "sha256": "1mm2y2k30i8j6szcap2dx6jzvfd0dbgdxda1zvdbq28nx25dg3l6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuIE1pZGRsZSBjbGljayBjYWxscyBvdmVydmlldy5cblxuVGhlcmUgY291bGQgYmUgYW4gZXJyb3Igd2l0aCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0ZS4gVGhlIHNvbHV0aW9uIGlzIHRvIGxvZ291dCBhbmQgbG9naW4gYWdhaW4uXG4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "1mm2y2k30i8j6szcap2dx6jzvfd0dbgdxda1zvdbq28nx25dg3l6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuIE1pZGRsZSBjbGljayBjYWxscyBvdmVydmlldy5cblxuVGhlcmUgY291bGQgYmUgYW4gZXJyb3Igd2l0aCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0ZS4gVGhlIHNvbHV0aW9uIGlzIHRvIGxvZ291dCBhbmQgbG9naW4gYWdhaW4uXG4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDEzCn0="}, "42": {"version": "13", "sha256": "1mm2y2k30i8j6szcap2dx6jzvfd0dbgdxda1zvdbq28nx25dg3l6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuIE1pZGRsZSBjbGljayBjYWxscyBvdmVydmlldy5cblxuVGhlcmUgY291bGQgYmUgYW4gZXJyb3Igd2l0aCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0ZS4gVGhlIHNvbHV0aW9uIGlzIHRvIGxvZ291dCBhbmQgbG9naW4gYWdhaW4uXG4iLAogICJuYW1lIjogIldvcmtzcGFjZSBpbmRpY2F0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"uuid": "kitchentimer@blackjackshellac.ca", "name": "Kitchen Timer", "pname": "kitchen-timer", "description": "General purpose timer extension for Gnome Shell\n\nPlease report issues on github\n\nIf updating the extension reports an ERROR, it should work after the next reboot or if you logout and login again.", "link": "https://extensions.gnome.org/extension/3955/kitchen-timer/", "shell_version_map": {"38": {"version": "28", "sha256": "0k1ahswl2ipjz1v1z1j96lndbk26rgfr2ra2g78lvzjiv6j42sdf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYWwgcHVycG9zZSB0aW1lciBleHRlbnNpb24gZm9yIEdub21lIFNoZWxsXG5cblBsZWFzZSByZXBvcnQgaXNzdWVzIG9uIGdpdGh1YlxuXG5JZiB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uIHJlcG9ydHMgYW4gRVJST1IsIGl0IHNob3VsZCB3b3JrIGFmdGVyIHRoZSBuZXh0IHJlYm9vdCBvciBpZiB5b3UgbG9nb3V0IGFuZCBsb2dpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJraXRjaGVuLXRpbWVyLWJsYWNramFja3NoZWxsYWMiLAogICJuYW1lIjogIktpdGNoZW4gVGltZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2l0Y2hlbi10aW1lci1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMva2l0Y2hlblRpbWVyIiwKICAidXVpZCI6ICJraXRjaGVudGltZXJAYmxhY2tqYWNrc2hlbGxhYy5jYSIsCiAgInZlcnNpb24iOiAyOAp9"}, "40": {"version": "28", "sha256": "0k1ahswl2ipjz1v1z1j96lndbk26rgfr2ra2g78lvzjiv6j42sdf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYWwgcHVycG9zZSB0aW1lciBleHRlbnNpb24gZm9yIEdub21lIFNoZWxsXG5cblBsZWFzZSByZXBvcnQgaXNzdWVzIG9uIGdpdGh1YlxuXG5JZiB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uIHJlcG9ydHMgYW4gRVJST1IsIGl0IHNob3VsZCB3b3JrIGFmdGVyIHRoZSBuZXh0IHJlYm9vdCBvciBpZiB5b3UgbG9nb3V0IGFuZCBsb2dpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJraXRjaGVuLXRpbWVyLWJsYWNramFja3NoZWxsYWMiLAogICJuYW1lIjogIktpdGNoZW4gVGltZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2l0Y2hlbi10aW1lci1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMva2l0Y2hlblRpbWVyIiwKICAidXVpZCI6ICJraXRjaGVudGltZXJAYmxhY2tqYWNrc2hlbGxhYy5jYSIsCiAgInZlcnNpb24iOiAyOAp9"}}}
 , {"uuid": "gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com", "name": "GNOME Fuzzy App Search", "pname": "gnome-fuzzy-app-search", "description": "Fuzzy application search results for Gnome Search", "link": "https://extensions.gnome.org/extension/3956/gnome-fuzzy-app-search/", "shell_version_map": {"38": {"version": "16", "sha256": "0yhc4rrxdqkd2in0vi3kxc7q3llbk88r47fqbvvlbcf8viv7blkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQ3phcmxpZS9nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAidXVpZCI6ICJnbm9tZS1mdXp6eS1hcHAtc2VhcmNoQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuQ3phcmxpZS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "40": {"version": "16", "sha256": "0yhc4rrxdqkd2in0vi3kxc7q3llbk88r47fqbvvlbcf8viv7blkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQ3phcmxpZS9nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAidXVpZCI6ICJnbm9tZS1mdXp6eS1hcHAtc2VhcmNoQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuQ3phcmxpZS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "0yhc4rrxdqkd2in0vi3kxc7q3llbk88r47fqbvvlbcf8viv7blkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQ3phcmxpZS9nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAidXVpZCI6ICJnbm9tZS1mdXp6eS1hcHAtc2VhcmNoQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuQ3phcmxpZS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "0yhc4rrxdqkd2in0vi3kxc7q3llbk88r47fqbvvlbcf8viv7blkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQ3phcmxpZS9nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAidXVpZCI6ICJnbm9tZS1mdXp6eS1hcHAtc2VhcmNoQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuQ3phcmxpZS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"uuid": "e-ink-mode@fujimo-t.github.io", "name": "E Ink Mode", "pname": "e-ink-mode", "description": "Make desktop suitable for E Ink monitors.\n\nUnmaintenanced.\nPlease migrate to theme:\nhttps://github.com/fujimo-t/gnome-shell-theme-e-ink\nSee below to detail:\nhttps://github.com/fujimo-t/gnome-shell-extension-e-ink-mode/issues/3#issuecomment-1019159171", "link": "https://extensions.gnome.org/extension/3957/e-ink-mode/", "shell_version_map": {"40": {"version": "3", "sha256": "0khqna60a0vblygriiky0jzg92ib8i44i6wkr8s3vxi0bcfa2zhm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgZGVza3RvcCBzdWl0YWJsZSBmb3IgRSBJbmsgbW9uaXRvcnMuXG5cblVubWFpbnRlbmFuY2VkLlxuUGxlYXNlIG1pZ3JhdGUgdG8gdGhlbWU6XG5odHRwczovL2dpdGh1Yi5jb20vZnVqaW1vLXQvZ25vbWUtc2hlbGwtdGhlbWUtZS1pbmtcblNlZSBiZWxvdyB0byBkZXRhaWw6XG5odHRwczovL2dpdGh1Yi5jb20vZnVqaW1vLXQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWUtaW5rLW1vZGUvaXNzdWVzLzMjaXNzdWVjb21tZW50LTEwMTkxNTkxNzEiLAogICJuYW1lIjogIkUgSW5rIE1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnVqaW1vLXQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWUtaW5rLW1vZGUiLAogICJ1dWlkIjogImUtaW5rLW1vZGVAZnVqaW1vLXQuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
@@ -425,13 +427,13 @@
 , {"uuid": "shuzhi@tuberry", "name": "Shu Zhi", "pname": "shu-zhi", "description": "Wallpaper generation extension for GNOME Shell, inspired by Jizhi\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/3985/shu-zhi/", "shell_version_map": {"38": {"version": "7", "sha256": "1yk39q1ydv7kmb8shi4cp7pf5zvpmj99gjl9svack4773dj9rrwi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhbGxwYXBlciBnZW5lcmF0aW9uIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwsIGluc3BpcmVkIGJ5IEppemhpXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogInNodXpoaSIsCiAgIm5hbWUiOiAiU2h1IFpoaSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV6aGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L3NodXpoaSIsCiAgInV1aWQiOiAic2h1emhpQHR1YmVycnkiLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "17", "sha256": "1n0ajmm6d7y6kify6k9g3j2kc3ass9s7zyif5jhr1djzsi6knpq0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhbGxwYXBlciBnZW5lcmF0aW9uIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwsIGluc3BpcmVkIGJ5IEppemhpXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zaHV6aGkiLAogICJuYW1lIjogIlNodSBaaGkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1emhpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvc2h1emhpIiwKICAidXVpZCI6ICJzaHV6aGlAdHViZXJyeSIsCiAgInZlcnNpb24iOiAxNwp9"}, "41": {"version": "19", "sha256": "1ib82yf7gh97hygbrxccpsh75jpg65rp834vygi25kyf0b8fykff", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhbGxwYXBlciBnZW5lcmF0aW9uIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwsIGluc3BpcmVkIGJ5IEppemhpXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zaHV6aGkiLAogICJuYW1lIjogIlNodSBaaGkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1emhpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvc2h1emhpIiwKICAidXVpZCI6ICJzaHV6aGlAdHViZXJyeSIsCiAgInZlcnNpb24iOiAxOQp9"}, "42": {"version": "21", "sha256": "1pbldn51jjfq45d3bl7nfciff1mn3krl7dhiwp9hqrp3hchlassd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhbGxwYXBlciBnZW5lcmF0aW9uIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwsIGluc3BpcmVkIGJ5IEppemhpXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zaHV6aGkiLAogICJuYW1lIjogIlNodSBaaGkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1emhpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvc2h1emhpIiwKICAidXVpZCI6ICJzaHV6aGlAdHViZXJyeSIsCiAgInZlcnNpb24iOiAyMQp9"}}}
 , {"uuid": "zilence@apankowski.github.com", "name": "Zilence", "pname": "zilence", "description": "Turns off notifications while sharing screen during a Zoom call", "link": "https://extensions.gnome.org/extension/3988/zilence/", "shell_version_map": {"38": {"version": "2", "sha256": "0ffpwwhx4pn8dfpcbi6yvxvaybwfxklyw5ig9ns71ydckzvn1n9y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1pdCI6ICIyYzdiZjFhNDJlMTFkODM4YTU2NGE2NWQ4MzY5YTgwNjM3M2I2NjdiIiwKICAiZGVzY3JpcHRpb24iOiAiVHVybnMgb2ZmIG5vdGlmaWNhdGlvbnMgd2hpbGUgc2hhcmluZyBzY3JlZW4gZHVyaW5nIGEgWm9vbSBjYWxsIiwKICAibmFtZSI6ICJaaWxlbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXBhbmtvd3NraS96aWxlbmNlIiwKICAidXVpZCI6ICJ6aWxlbmNlQGFwYW5rb3dza2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "bluetooth-battery@michalw.github.com", "name": "Bluetooth battery indicator", "pname": "bluetooth-battery", "description": "Bluetooth battery indicator", "link": "https://extensions.gnome.org/extension/3991/bluetooth-battery/", "shell_version_map": {"38": {"version": "26", "sha256": "07p56424nlhcs8rmbxyywc86jvhrr83hwzs1xq4jv338kiprp04j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNgp9"}, "40": {"version": "26", "sha256": "07p56424nlhcs8rmbxyywc86jvhrr83hwzs1xq4jv338kiprp04j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNgp9"}, "41": {"version": "26", "sha256": "07p56424nlhcs8rmbxyywc86jvhrr83hwzs1xq4jv338kiprp04j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNgp9"}}}
-, {"uuid": "gnome-extension-all-ip-addresses@havekes.eu", "name": "All IP Addresses", "pname": "all-ip-addresses", "description": "Show IP addresses for LAN, WAN IPv6 and VPN in the GNOME panel. Click on the address to cycle trough different interfaces.", "link": "https://extensions.gnome.org/extension/3994/all-ip-addresses/", "shell_version_map": {"38": {"version": "3", "sha256": "1s08inwbr9g50g275sxsjggqgwh59gz664ay944ngn755vnr9y1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9waGF2ZWtlcy9nbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3NlcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXNAaGF2ZWtlcy5ldSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1s08inwbr9g50g275sxsjggqgwh59gz664ay944ngn755vnr9y1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9waGF2ZWtlcy9nbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3NlcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXNAaGF2ZWtlcy5ldSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "1s08inwbr9g50g275sxsjggqgwh59gz664ay944ngn755vnr9y1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9waGF2ZWtlcy9nbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3NlcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXNAaGF2ZWtlcy5ldSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "gnome-extension-all-ip-addresses@havekes.eu", "name": "All IP Addresses", "pname": "all-ip-addresses", "description": "Show IP addresses for LAN, WAN IPv6 and VPN in the GNOME panel. Click on the address to cycle trough different interfaces.", "link": "https://extensions.gnome.org/extension/3994/all-ip-addresses/", "shell_version_map": {"38": {"version": "6", "sha256": "0yvz5mlbksgk2jgv0rzszcqrx0jkyir5b465dmy8lv950224g77v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGhhdmVrZXMvZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXMiLAogICJ1dWlkIjogImdub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzQGhhdmVrZXMuZXUiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0yvz5mlbksgk2jgv0rzszcqrx0jkyir5b465dmy8lv950224g77v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGhhdmVrZXMvZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXMiLAogICJ1dWlkIjogImdub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzQGhhdmVrZXMuZXUiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0yvz5mlbksgk2jgv0rzszcqrx0jkyir5b465dmy8lv950224g77v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGhhdmVrZXMvZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXMiLAogICJ1dWlkIjogImdub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzQGhhdmVrZXMuZXUiLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "0yvz5mlbksgk2jgv0rzszcqrx0jkyir5b465dmy8lv950224g77v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGhhdmVrZXMvZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXMiLAogICJ1dWlkIjogImdub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzQGhhdmVrZXMuZXUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "app-grid-tweaks@Selenium-H", "name": "App Grid Tweaks", "pname": "app-grid-tweaks", "description": "Customize the application grid view.\n\nSet the rows, columns and the app icon size for a particular configuration to work.\nIf the screen space is out numbered, reduce the icon size to fit all the rows and columns.\nOr reduce the number of rows and columns.\n\nPress the Refresh button on the left of header bar to apply changes", "link": "https://extensions.gnome.org/extension/3997/app-grid-tweaks/", "shell_version_map": {"38": {"version": "4", "sha256": "17hriwcwhkjp3n20q7bm7iylr8862ghvnagf2xk0ci2hxwwbyc92", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuIiwKICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuXG5cblNldCB0aGUgcm93cywgY29sdW1ucyBhbmQgdGhlIGFwcCBpY29uIHNpemUgZm9yIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIHRvIHdvcmsuXG5JZiB0aGUgc2NyZWVuIHNwYWNlIGlzIG91dCBudW1iZXJlZCwgcmVkdWNlIHRoZSBpY29uIHNpemUgdG8gZml0IGFsbCB0aGUgcm93cyBhbmQgY29sdW1ucy5cbk9yIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuXG5cblByZXNzIHRoZSBSZWZyZXNoIGJ1dHRvbiBvbiB0aGUgbGVmdCBvZiBoZWFkZXIgYmFyIHRvIGFwcGx5IGNoYW5nZXMiLAogICJuYW1lIjogIkFwcCBHcmlkIFR3ZWFrcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcHAtZ3JpZC10d2Vha3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FwcC1HcmlkLVR3ZWFrcyIsCiAgInV1aWQiOiAiYXBwLWdyaWQtdHdlYWtzQFNlbGVuaXVtLUgiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "17hriwcwhkjp3n20q7bm7iylr8862ghvnagf2xk0ci2hxwwbyc92", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuIiwKICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuXG5cblNldCB0aGUgcm93cywgY29sdW1ucyBhbmQgdGhlIGFwcCBpY29uIHNpemUgZm9yIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIHRvIHdvcmsuXG5JZiB0aGUgc2NyZWVuIHNwYWNlIGlzIG91dCBudW1iZXJlZCwgcmVkdWNlIHRoZSBpY29uIHNpemUgdG8gZml0IGFsbCB0aGUgcm93cyBhbmQgY29sdW1ucy5cbk9yIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuXG5cblByZXNzIHRoZSBSZWZyZXNoIGJ1dHRvbiBvbiB0aGUgbGVmdCBvZiBoZWFkZXIgYmFyIHRvIGFwcGx5IGNoYW5nZXMiLAogICJuYW1lIjogIkFwcCBHcmlkIFR3ZWFrcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcHAtZ3JpZC10d2Vha3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FwcC1HcmlkLVR3ZWFrcyIsCiAgInV1aWQiOiAiYXBwLWdyaWQtdHdlYWtzQFNlbGVuaXVtLUgiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "17hriwcwhkjp3n20q7bm7iylr8862ghvnagf2xk0ci2hxwwbyc92", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuIiwKICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuXG5cblNldCB0aGUgcm93cywgY29sdW1ucyBhbmQgdGhlIGFwcCBpY29uIHNpemUgZm9yIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIHRvIHdvcmsuXG5JZiB0aGUgc2NyZWVuIHNwYWNlIGlzIG91dCBudW1iZXJlZCwgcmVkdWNlIHRoZSBpY29uIHNpemUgdG8gZml0IGFsbCB0aGUgcm93cyBhbmQgY29sdW1ucy5cbk9yIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuXG5cblByZXNzIHRoZSBSZWZyZXNoIGJ1dHRvbiBvbiB0aGUgbGVmdCBvZiBoZWFkZXIgYmFyIHRvIGFwcGx5IGNoYW5nZXMiLAogICJuYW1lIjogIkFwcCBHcmlkIFR3ZWFrcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcHAtZ3JpZC10d2Vha3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FwcC1HcmlkLVR3ZWFrcyIsCiAgInV1aWQiOiAiYXBwLWdyaWQtdHdlYWtzQFNlbGVuaXVtLUgiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "babar@fthx", "name": "BaBar Task Bar", "pname": "babar", "description": "Task bar. App grid, favorites, workspaces and tasks in panel. Light extension.\n\n Replace 'Activities' button by all current workspaces and apps buttons. Switch workspace/app or toggle overview by clicking on these buttons. Drag and drop favorite, task, dash item or app grid item to any workspace (you cannot reorder tasks inside a workspace). Persistent window preview with right-click (right-click again or click on preview to close it). You can move this preview anywhere. Change 'Places' label to an icon. Settings in preferences UI.\n\n You can use names for workspaces: there are two ways for that. 1) Edit the string array 'org.gnome.desktop.wm.preferences.workspace-names' gsettings key (through dconf editor, e.g.). 2) Use official GNOME extension Workspaces Indicator's settings. You don't have to write a long enough list: numbers are displayed if no workspace name is defined.\n\n Changelog: https://github.com/fthx/babar/issues/2", "link": "https://extensions.gnome.org/extension/4000/babar/", "shell_version_map": {"38": {"version": "58", "sha256": "0sgsz9skc0d3rx9lap6g8fnmb5ki4ylr8s5f8yk5wkpvzvh3gkgy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIiLAogICJ1dWlkIjogImJhYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}, "40": {"version": "58", "sha256": "0sgsz9skc0d3rx9lap6g8fnmb5ki4ylr8s5f8yk5wkpvzvh3gkgy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIiLAogICJ1dWlkIjogImJhYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}, "41": {"version": "58", "sha256": "0sgsz9skc0d3rx9lap6g8fnmb5ki4ylr8s5f8yk5wkpvzvh3gkgy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIiLAogICJ1dWlkIjogImJhYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}, "42": {"version": "58", "sha256": "0sgsz9skc0d3rx9lap6g8fnmb5ki4ylr8s5f8yk5wkpvzvh3gkgy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIiLAogICJ1dWlkIjogImJhYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}}}
 , {"uuid": "kitsch@fopdoodle.net", "name": "Kitsch", "pname": "kitsch", "description": "Kitsch is a collection of cheap, popular, and marketable improvements to Gnome. One could consider it applying a cosmetic surgery to Gnome.\n\nKitsch can easily be configured and offers the following features:\n- remove application menu from the top bar\n- remove the activity button from the top bar\n- periodically change the background picture\n\nThis extension does not come with any button on the panel. Visit the website for a documentation.", "link": "https://extensions.gnome.org/extension/4001/kitsch/", "shell_version_map": {"38": {"version": "2", "sha256": "16zwz0p4f8zizr14k4jmdixgnjd0a67d0i3w6clrqgfl49cpdcdv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpdHNjaCBpcyBhIGNvbGxlY3Rpb24gb2YgY2hlYXAsIHBvcHVsYXIsIGFuZCBtYXJrZXRhYmxlIGltcHJvdmVtZW50cyB0byBHbm9tZS4gT25lIGNvdWxkIGNvbnNpZGVyIGl0IGFwcGx5aW5nIGEgY29zbWV0aWMgc3VyZ2VyeSB0byBHbm9tZS5cblxuS2l0c2NoIGNhbiBlYXNpbHkgYmUgY29uZmlndXJlZCBhbmQgb2ZmZXJzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6XG4tIHJlbW92ZSBhcHBsaWNhdGlvbiBtZW51IGZyb20gdGhlIHRvcCBiYXJcbi0gcmVtb3ZlIHRoZSBhY3Rpdml0eSBidXR0b24gZnJvbSB0aGUgdG9wIGJhclxuLSBwZXJpb2RpY2FsbHkgY2hhbmdlIHRoZSBiYWNrZ3JvdW5kIHBpY3R1cmVcblxuVGhpcyBleHRlbnNpb24gZG9lcyBub3QgY29tZSB3aXRoIGFueSBidXR0b24gb24gdGhlIHBhbmVsLiBWaXNpdCB0aGUgd2Vic2l0ZSBmb3IgYSBkb2N1bWVudGF0aW9uLiIsCiAgIm5hbWUiOiAiS2l0c2NoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtpdHNjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VudGU3Ni9raXRzY2gvIiwKICAidXVpZCI6ICJraXRzY2hAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "6", "sha256": "0qil706632ff90f2m9fc1a2zlrsiyjzx56b8xxxv7f0jdj08rp1n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpdHNjaCBpcyBhIGNvbGxlY3Rpb24gb2YgY2hlYXAsIHBvcHVsYXIsIGFuZCBtYXJrZXRhYmxlIGltcHJvdmVtZW50cyB0byBHbm9tZS4gT25lIGNvdWxkIGNvbnNpZGVyIGl0IGFwcGx5aW5nIGEgY29zbWV0aWMgc3VyZ2VyeSB0byBHbm9tZS5cblxuS2l0c2NoIGNhbiBlYXNpbHkgYmUgY29uZmlndXJlZCBhbmQgb2ZmZXJzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6XG4tIHJlbW92ZSBhcHBsaWNhdGlvbiBtZW51IGZyb20gdGhlIHRvcCBiYXJcbi0gcmVtb3ZlIHRoZSBhY3Rpdml0eSBidXR0b24gZnJvbSB0aGUgdG9wIGJhclxuLSBwZXJpb2RpY2FsbHkgY2hhbmdlIHRoZSBiYWNrZ3JvdW5kIHBpY3R1cmVcblxuVGhpcyBleHRlbnNpb24gZG9lcyBub3QgY29tZSB3aXRoIGFueSBidXR0b24gb24gdGhlIHBhbmVsLiBWaXNpdCB0aGUgd2Vic2l0ZSBmb3IgYSBkb2N1bWVudGF0aW9uLiIsCiAgIm5hbWUiOiAiS2l0c2NoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtpdHNjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VudGU3Ni9raXRzY2gvIiwKICAidXVpZCI6ICJraXRzY2hAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0qil706632ff90f2m9fc1a2zlrsiyjzx56b8xxxv7f0jdj08rp1n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpdHNjaCBpcyBhIGNvbGxlY3Rpb24gb2YgY2hlYXAsIHBvcHVsYXIsIGFuZCBtYXJrZXRhYmxlIGltcHJvdmVtZW50cyB0byBHbm9tZS4gT25lIGNvdWxkIGNvbnNpZGVyIGl0IGFwcGx5aW5nIGEgY29zbWV0aWMgc3VyZ2VyeSB0byBHbm9tZS5cblxuS2l0c2NoIGNhbiBlYXNpbHkgYmUgY29uZmlndXJlZCBhbmQgb2ZmZXJzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6XG4tIHJlbW92ZSBhcHBsaWNhdGlvbiBtZW51IGZyb20gdGhlIHRvcCBiYXJcbi0gcmVtb3ZlIHRoZSBhY3Rpdml0eSBidXR0b24gZnJvbSB0aGUgdG9wIGJhclxuLSBwZXJpb2RpY2FsbHkgY2hhbmdlIHRoZSBiYWNrZ3JvdW5kIHBpY3R1cmVcblxuVGhpcyBleHRlbnNpb24gZG9lcyBub3QgY29tZSB3aXRoIGFueSBidXR0b24gb24gdGhlIHBhbmVsLiBWaXNpdCB0aGUgd2Vic2l0ZSBmb3IgYSBkb2N1bWVudGF0aW9uLiIsCiAgIm5hbWUiOiAiS2l0c2NoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtpdHNjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VudGU3Ni9raXRzY2gvIiwKICAidXVpZCI6ICJraXRzY2hAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "0qil706632ff90f2m9fc1a2zlrsiyjzx56b8xxxv7f0jdj08rp1n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpdHNjaCBpcyBhIGNvbGxlY3Rpb24gb2YgY2hlYXAsIHBvcHVsYXIsIGFuZCBtYXJrZXRhYmxlIGltcHJvdmVtZW50cyB0byBHbm9tZS4gT25lIGNvdWxkIGNvbnNpZGVyIGl0IGFwcGx5aW5nIGEgY29zbWV0aWMgc3VyZ2VyeSB0byBHbm9tZS5cblxuS2l0c2NoIGNhbiBlYXNpbHkgYmUgY29uZmlndXJlZCBhbmQgb2ZmZXJzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6XG4tIHJlbW92ZSBhcHBsaWNhdGlvbiBtZW51IGZyb20gdGhlIHRvcCBiYXJcbi0gcmVtb3ZlIHRoZSBhY3Rpdml0eSBidXR0b24gZnJvbSB0aGUgdG9wIGJhclxuLSBwZXJpb2RpY2FsbHkgY2hhbmdlIHRoZSBiYWNrZ3JvdW5kIHBpY3R1cmVcblxuVGhpcyBleHRlbnNpb24gZG9lcyBub3QgY29tZSB3aXRoIGFueSBidXR0b24gb24gdGhlIHBhbmVsLiBWaXNpdCB0aGUgd2Vic2l0ZSBmb3IgYSBkb2N1bWVudGF0aW9uLiIsCiAgIm5hbWUiOiAiS2l0c2NoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtpdHNjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VudGU3Ni9raXRzY2gvIiwKICAidXVpZCI6ICJraXRzY2hAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "gnome-visuals-top-bar@evendanan.net", "name": "Top Bar Visuals - transparent and blur", "pname": "top-bar-visuals-transparent-and-blur", "description": "Fork of: https://github.com/lamarios/gnome-shell-extension-transparent-top-bar\n\nBring back the adjustable transparency top bar (panel) in GNOME Shell and add blur while at it.\n\nDoes not work well with custom shell themes.", "link": "https://extensions.gnome.org/extension/4003/top-bar-visuals-transparent-and-blur/", "shell_version_map": {"38": {"version": "2", "sha256": "0h1qx7bh4gb3xkc8g8byynfa3imxkx332kh88pm4g9zaa20fxzwr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS9sYW1hcmlvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSBhZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSB0b3AgYmFyIChwYW5lbCkgaW4gR05PTUUgU2hlbGwgYW5kIGFkZCBibHVyIHdoaWxlIGF0IGl0LlxuXG5Eb2VzIG5vdCB3b3JrIHdlbGwgd2l0aCBjdXN0b20gc2hlbGwgdGhlbWVzLiIsCiAgIm5hbWUiOiAiVG9wIEJhciBWaXN1YWxzIC0gdHJhbnNwYXJlbnQgYW5kIGJsdXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZW5ueS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhciIsCiAgInV1aWQiOiAiZ25vbWUtdmlzdWFscy10b3AtYmFyQGV2ZW5kYW5hbi5uZXQiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "desktop-lyric@tuberry", "name": "Desktop Lyric", "pname": "desktop-lyric", "description": "Show the lyric of playing songs on the desktop\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/4006/desktop-lyric/", "shell_version_map": {"38": {"version": "3", "sha256": "1fxlszj21ppdl5k2x2samggxlnay5bqly604szv1sjsnfriqzz3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGx5cmljIG9mIHBsYXlpbmcgc29uZ3Mgb24gdGhlIGRlc2t0b3BcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVza3RvcC1seXJpYyIsCiAgIm5hbWUiOiAiRGVza3RvcCBMeXJpYyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kZXNrdG9wLWx5cmljIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9kZXNrdG9wLWx5cmljIiwKICAidXVpZCI6ICJkZXNrdG9wLWx5cmljQHR1YmVycnkiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "7", "sha256": "1dd8i7845fshc2d04fgzjr1chrnwsfr7qyjjki1svw36mx1qsjm2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGx5cmljIG9mIHBsYXlpbmcgc29uZ3Mgb24gdGhlIGRlc2t0b3BcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVza3RvcC1seXJpYyIsCiAgIm5hbWUiOiAiRGVza3RvcCBMeXJpYyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kZXNrdG9wLWx5cmljIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvZGVza3RvcC1seXJpYyIsCiAgInV1aWQiOiAiZGVza3RvcC1seXJpY0B0dWJlcnJ5IiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "12", "sha256": "056cdiw7rlqpxkmca3f1aic7wr9dppvhp1z7wfxl905xn21p9pqf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGx5cmljIG9mIHBsYXlpbmcgc29uZ3Mgb24gdGhlIGRlc2t0b3BcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRlc2t0b3AtbHlyaWMiLAogICJuYW1lIjogIkRlc2t0b3AgTHlyaWMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVza3RvcC1seXJpYyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2Rlc2t0b3AtbHlyaWMiLAogICJ1dWlkIjogImRlc2t0b3AtbHlyaWNAdHViZXJyeSIsCiAgInZlcnNpb24iOiAxMgp9"}, "42": {"version": "13", "sha256": "0j23i2gl956r2wffqky5vg6ca24gn3hkibhrhsvkqd87g90cjdq6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGx5cmljIG9mIHBsYXlpbmcgc29uZ3Mgb24gdGhlIGRlc2t0b3BcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRlc2t0b3AtbHlyaWMiLAogICJuYW1lIjogIkRlc2t0b3AgTHlyaWMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVza3RvcC1seXJpYyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2Rlc2t0b3AtbHlyaWMiLAogICJ1dWlkIjogImRlc2t0b3AtbHlyaWNAdHViZXJyeSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
-, {"uuid": "alttab-mod@leleat-on-github", "name": "AltTab Mod", "pname": "alttab-mod", "description": "Alt/Super+Tab can also be navigated with WASD and hjkl. Q just closes the selected item and only the first window will be raised on app activation. Optionally, only show windows from the current workspace or monitor and remove the slight popup delay.", "link": "https://extensions.gnome.org/extension/4007/alttab-mod/", "shell_version_map": {"38": {"version": "6", "sha256": "069086j1855s0zrawx49h40l3qmzbsjl0n58wr74lxfk1s6sirww", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsdC9TdXBlcitUYWIgY2FuIGFsc28gYmUgbmF2aWdhdGVkIHdpdGggV0FTRCBhbmQgaGprbC4gUSBqdXN0IGNsb3NlcyB0aGUgc2VsZWN0ZWQgaXRlbSBhbmQgb25seSB0aGUgZmlyc3Qgd2luZG93IHdpbGwgYmUgcmFpc2VkIG9uIGFwcCBhY3RpdmF0aW9uLiBPcHRpb25hbGx5LCBvbmx5IHNob3cgd2luZG93cyBmcm9tIHRoZSBjdXJyZW50IHdvcmtzcGFjZSBvciBtb25pdG9yIGFuZCByZW1vdmUgdGhlIHNsaWdodCBwb3B1cCBkZWxheS4iLAogICJuYW1lIjogIkFsdFRhYiBNb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xlbGVhdC9BbHRUYWItTW9kIiwKICAidXVpZCI6ICJhbHR0YWItbW9kQGxlbGVhdC1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "7", "sha256": "1qnbga30wvsj6xny7ajvy8y6c4vm3cpwz3zkm5njr2d0qg4svsq0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsdC9TdXBlcitUYWIgY2FuIGFsc28gYmUgbmF2aWdhdGVkIHdpdGggV0FTRCBhbmQgaGprbC4gUSBqdXN0IGNsb3NlcyB0aGUgc2VsZWN0ZWQgaXRlbSBhbmQgb25seSB0aGUgZmlyc3Qgd2luZG93IHdpbGwgYmUgcmFpc2VkIG9uIGFwcCBhY3RpdmF0aW9uLiBPcHRpb25hbGx5LCBvbmx5IHNob3cgd2luZG93cyBmcm9tIHRoZSBjdXJyZW50IHdvcmtzcGFjZSBvciBtb25pdG9yIGFuZCByZW1vdmUgdGhlIHNsaWdodCBwb3B1cCBkZWxheS4iLAogICJuYW1lIjogIkFsdFRhYiBNb2QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWx0VGFiLW1vZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTGVsZWF0L0FsdFRhYi1Nb2QiLAogICJ1dWlkIjogImFsdHRhYi1tb2RAbGVsZWF0LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1qnbga30wvsj6xny7ajvy8y6c4vm3cpwz3zkm5njr2d0qg4svsq0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsdC9TdXBlcitUYWIgY2FuIGFsc28gYmUgbmF2aWdhdGVkIHdpdGggV0FTRCBhbmQgaGprbC4gUSBqdXN0IGNsb3NlcyB0aGUgc2VsZWN0ZWQgaXRlbSBhbmQgb25seSB0aGUgZmlyc3Qgd2luZG93IHdpbGwgYmUgcmFpc2VkIG9uIGFwcCBhY3RpdmF0aW9uLiBPcHRpb25hbGx5LCBvbmx5IHNob3cgd2luZG93cyBmcm9tIHRoZSBjdXJyZW50IHdvcmtzcGFjZSBvciBtb25pdG9yIGFuZCByZW1vdmUgdGhlIHNsaWdodCBwb3B1cCBkZWxheS4iLAogICJuYW1lIjogIkFsdFRhYiBNb2QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWx0VGFiLW1vZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTGVsZWF0L0FsdFRhYi1Nb2QiLAogICJ1dWlkIjogImFsdHRhYi1tb2RAbGVsZWF0LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA3Cn0="}}}
+, {"uuid": "alttab-mod@leleat-on-github", "name": "AltTab Mod", "pname": "alttab-mod", "description": "Add some QoL changes to the App Switcher (Alt/Super+Tab)...\n- use `WASD`, `hjkl` or the arrow keys for navigation\n- `Q` only closes the selected window instead of the entire app\n- only raise the first window instead of every instance\n- optionally: only show windows from the current workspace\n- optionally: only show windows from the current monitor\n- optionally: remove the App Switcher's delayed appearance", "link": "https://extensions.gnome.org/extension/4007/alttab-mod/", "shell_version_map": {"38": {"version": "6", "sha256": "1010nmdyga6lqk78vlc9r02h3kcgimlvamb7xhp5vw7i71gay4jv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBzb21lIFFvTCBjaGFuZ2VzIHRvIHRoZSBBcHAgU3dpdGNoZXIgKEFsdC9TdXBlcitUYWIpLi4uXG4tIHVzZSBgV0FTRGAsIGBoamtsYCBvciB0aGUgYXJyb3cga2V5cyBmb3IgbmF2aWdhdGlvblxuLSBgUWAgb25seSBjbG9zZXMgdGhlIHNlbGVjdGVkIHdpbmRvdyBpbnN0ZWFkIG9mIHRoZSBlbnRpcmUgYXBwXG4tIG9ubHkgcmFpc2UgdGhlIGZpcnN0IHdpbmRvdyBpbnN0ZWFkIG9mIGV2ZXJ5IGluc3RhbmNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgd29ya3NwYWNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgbW9uaXRvclxuLSBvcHRpb25hbGx5OiByZW1vdmUgdGhlIEFwcCBTd2l0Y2hlcidzIGRlbGF5ZWQgYXBwZWFyYW5jZSIsCiAgIm5hbWUiOiAiQWx0VGFiIE1vZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTGVsZWF0L0FsdFRhYi1Nb2QiLAogICJ1dWlkIjogImFsdHRhYi1tb2RAbGVsZWF0LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "7", "sha256": "1kxrjyhqh0f1dc21sv0y0hq852nrh5sxjamqn54vjki9k4jqpw0m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBzb21lIFFvTCBjaGFuZ2VzIHRvIHRoZSBBcHAgU3dpdGNoZXIgKEFsdC9TdXBlcitUYWIpLi4uXG4tIHVzZSBgV0FTRGAsIGBoamtsYCBvciB0aGUgYXJyb3cga2V5cyBmb3IgbmF2aWdhdGlvblxuLSBgUWAgb25seSBjbG9zZXMgdGhlIHNlbGVjdGVkIHdpbmRvdyBpbnN0ZWFkIG9mIHRoZSBlbnRpcmUgYXBwXG4tIG9ubHkgcmFpc2UgdGhlIGZpcnN0IHdpbmRvdyBpbnN0ZWFkIG9mIGV2ZXJ5IGluc3RhbmNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgd29ya3NwYWNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgbW9uaXRvclxuLSBvcHRpb25hbGx5OiByZW1vdmUgdGhlIEFwcCBTd2l0Y2hlcidzIGRlbGF5ZWQgYXBwZWFyYW5jZSIsCiAgIm5hbWUiOiAiQWx0VGFiIE1vZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHRUYWItbW9kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvQWx0VGFiLU1vZCIsCiAgInV1aWQiOiAiYWx0dGFiLW1vZEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "1kxrjyhqh0f1dc21sv0y0hq852nrh5sxjamqn54vjki9k4jqpw0m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBzb21lIFFvTCBjaGFuZ2VzIHRvIHRoZSBBcHAgU3dpdGNoZXIgKEFsdC9TdXBlcitUYWIpLi4uXG4tIHVzZSBgV0FTRGAsIGBoamtsYCBvciB0aGUgYXJyb3cga2V5cyBmb3IgbmF2aWdhdGlvblxuLSBgUWAgb25seSBjbG9zZXMgdGhlIHNlbGVjdGVkIHdpbmRvdyBpbnN0ZWFkIG9mIHRoZSBlbnRpcmUgYXBwXG4tIG9ubHkgcmFpc2UgdGhlIGZpcnN0IHdpbmRvdyBpbnN0ZWFkIG9mIGV2ZXJ5IGluc3RhbmNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgd29ya3NwYWNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgbW9uaXRvclxuLSBvcHRpb25hbGx5OiByZW1vdmUgdGhlIEFwcCBTd2l0Y2hlcidzIGRlbGF5ZWQgYXBwZWFyYW5jZSIsCiAgIm5hbWUiOiAiQWx0VGFiIE1vZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHRUYWItbW9kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvQWx0VGFiLU1vZCIsCiAgInV1aWQiOiAiYWx0dGFiLW1vZEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "8", "sha256": "1wg4cgnkf0z1lackj13w55vpn07pal15nljc6c0imnm3fc34hjx2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBzb21lIFFvTCBjaGFuZ2VzIHRvIHRoZSBBcHAgU3dpdGNoZXIgKEFsdC9TdXBlcitUYWIpLi4uXG4tIHVzZSBgV0FTRGAsIGBoamtsYCBvciB0aGUgYXJyb3cga2V5cyBmb3IgbmF2aWdhdGlvblxuLSBgUWAgb25seSBjbG9zZXMgdGhlIHNlbGVjdGVkIHdpbmRvdyBpbnN0ZWFkIG9mIHRoZSBlbnRpcmUgYXBwXG4tIG9ubHkgcmFpc2UgdGhlIGZpcnN0IHdpbmRvdyBpbnN0ZWFkIG9mIGV2ZXJ5IGluc3RhbmNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgd29ya3NwYWNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgbW9uaXRvclxuLSBvcHRpb25hbGx5OiByZW1vdmUgdGhlIEFwcCBTd2l0Y2hlcidzIGRlbGF5ZWQgYXBwZWFyYW5jZSIsCiAgIm5hbWUiOiAiQWx0VGFiIE1vZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHRUYWItbW9kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xlbGVhdC9BbHRUYWItTW9kIiwKICAidXVpZCI6ICJhbHR0YWItbW9kQGxlbGVhdC1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "personalize@Selenium-H", "name": "Personalize", "pname": "personalize", "description": "Personalize the looks of GNOME Desktop.\n\nSet the theme variant, window corner curvature and select accent color.\nThe Colors section contains colors generated from the selected accent color.\nThe color generation is not accurate. However, individual colors can be customised.\n\nNot all settings are applied automatically.\nPress Refresh button on the left of the headerbar to reload the extension \n\nCurrently, only Adwaita theme is supported. Also, Adwaita and Adwaita-dark gtk-2 themes\nmust be installed for the extension to work properly. Not all widgets are themed perfectly.", "link": "https://extensions.gnome.org/extension/4010/personalize/", "shell_version_map": {"38": {"version": "1", "sha256": "1rgh2zq7086ymf0222pbrx5n8q11v3f45095w4x3ikw7k12j9s0n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiUGVyc29uYWxpemUgR05PTUUgdGhlbWUgYW5kIGN1c3RvbWl6ZSB0aGVtLiIsCiAgImRlc2NyaXB0aW9uIjogIlBlcnNvbmFsaXplIHRoZSBsb29rcyBvZiBHTk9NRSBEZXNrdG9wLlxuXG5TZXQgdGhlIHRoZW1lIHZhcmlhbnQsIHdpbmRvdyBjb3JuZXIgY3VydmF0dXJlIGFuZCBzZWxlY3QgYWNjZW50IGNvbG9yLlxuVGhlIENvbG9ycyBzZWN0aW9uIGNvbnRhaW5zIGNvbG9ycyBnZW5lcmF0ZWQgZnJvbSB0aGUgc2VsZWN0ZWQgYWNjZW50IGNvbG9yLlxuVGhlIGNvbG9yIGdlbmVyYXRpb24gaXMgbm90IGFjY3VyYXRlLiBIb3dldmVyLCBpbmRpdmlkdWFsIGNvbG9ycyBjYW4gYmUgY3VzdG9taXNlZC5cblxuTm90IGFsbCBzZXR0aW5ncyBhcmUgYXBwbGllZCBhdXRvbWF0aWNhbGx5LlxuUHJlc3MgUmVmcmVzaCBidXR0b24gb24gdGhlIGxlZnQgb2YgdGhlIGhlYWRlcmJhciB0byByZWxvYWQgdGhlIGV4dGVuc2lvbiBcblxuQ3VycmVudGx5LCBvbmx5IEFkd2FpdGEgdGhlbWUgaXMgc3VwcG9ydGVkLiBBbHNvLCBBZHdhaXRhIGFuZCBBZHdhaXRhLWRhcmsgZ3RrLTIgdGhlbWVzXG5tdXN0IGJlIGluc3RhbGxlZCBmb3IgdGhlIGV4dGVuc2lvbiB0byB3b3JrIHByb3Blcmx5LiBOb3QgYWxsIHdpZGdldHMgYXJlIHRoZW1lZCBwZXJmZWN0bHkuIiwKICAibmFtZSI6ICJQZXJzb25hbGl6ZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wZXJzb25hbGl6ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJzdGF0dXMiOiAiICIsCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2VsZW5pdW0tSC9QZXJzb25hbGl6ZSIsCiAgInV1aWQiOiAicGVyc29uYWxpemVAU2VsZW5pdW0tSCIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "gnomebedtime@ionutbortis.gmail.com", "name": "Bedtime Mode", "pname": "gnome-bedtime", "description": "Hey Gnome, it's bedtime! Converts to grayscale the entire Gnome workspace by using a smooth transition. Best to use during evening/night.\n\nThis behaviour is similar to Android's bedtime mode which converts the phone screen to grayscale. It should somewhat make your device less appealing and limit the usage of it before bedtime. On my side, at least, it still requires a fair amount of self control in order to make that happen.\n\nThe extension has a nice Settings UI where you can customize it to your liking:\n- Set an automatic schedule for turning on/off the Bedtime Mode\n- Add an On Demand button to Top Bar or System Menu to manually toggle the mode\n- Control the On Demand button visibility, appearance and position in Top Bar\n- Choose another color preset and intensity, if you prefer a different color scheme\n- Change color intensity on the fly by scrolling over the On Demand button in Top Bar\n\nMulti language support is also available, please check the GitHub page if you want to help with the translations. So far, the extension is fully translated to Spanish, Dutch, German, Romanian and English.\n\nIf you want to use a keyboard shortcut in order to toggle the Bedtime Mode then you can use this command for the shortcut:\n\nbash -c 'schema_id=org.gnome.shell.extensions.bedtime-mode; schema_dir=~/.local/share/gnome-shell/extensions/gnomebedtime@ionutbortis.gmail.com/schemas/; if [[ $(gsettings --schemadir $schema_dir get $schema_id bedtime-mode-active) == \"true\" ]]; then turn_on=false; else turn_on=true; fi; gsettings --schemadir $schema_dir set $schema_id bedtime-mode-active $turn_on;'\n", "link": "https://extensions.gnome.org/extension/4012/gnome-bedtime/", "shell_version_map": {"38": {"version": "10", "sha256": "0biakzi3szz2czl6mdhacysq4apz3pslxqi9hhp6lyp1hnch7jll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhleSBHbm9tZSwgaXQncyBiZWR0aW1lISBDb252ZXJ0cyB0byBncmF5c2NhbGUgdGhlIGVudGlyZSBHbm9tZSB3b3Jrc3BhY2UgYnkgdXNpbmcgYSBzbW9vdGggdHJhbnNpdGlvbi4gQmVzdCB0byB1c2UgZHVyaW5nIGV2ZW5pbmcvbmlnaHQuXG5cblRoaXMgYmVoYXZpb3VyIGlzIHNpbWlsYXIgdG8gQW5kcm9pZCdzIGJlZHRpbWUgbW9kZSB3aGljaCBjb252ZXJ0cyB0aGUgcGhvbmUgc2NyZWVuIHRvIGdyYXlzY2FsZS4gSXQgc2hvdWxkIHNvbWV3aGF0IG1ha2UgeW91ciBkZXZpY2UgbGVzcyBhcHBlYWxpbmcgYW5kIGxpbWl0IHRoZSB1c2FnZSBvZiBpdCBiZWZvcmUgYmVkdGltZS4gT24gbXkgc2lkZSwgYXQgbGVhc3QsIGl0IHN0aWxsIHJlcXVpcmVzIGEgZmFpciBhbW91bnQgb2Ygc2VsZiBjb250cm9sIGluIG9yZGVyIHRvIG1ha2UgdGhhdCBoYXBwZW4uXG5cblRoZSBleHRlbnNpb24gaGFzIGEgbmljZSBTZXR0aW5ncyBVSSB3aGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSBpdCB0byB5b3VyIGxpa2luZzpcbi0gU2V0IGFuIGF1dG9tYXRpYyBzY2hlZHVsZSBmb3IgdHVybmluZyBvbi9vZmYgdGhlIEJlZHRpbWUgTW9kZVxuLSBBZGQgYW4gT24gRGVtYW5kIGJ1dHRvbiB0byBUb3AgQmFyIG9yIFN5c3RlbSBNZW51IHRvIG1hbnVhbGx5IHRvZ2dsZSB0aGUgbW9kZVxuLSBDb250cm9sIHRoZSBPbiBEZW1hbmQgYnV0dG9uIHZpc2liaWxpdHksIGFwcGVhcmFuY2UgYW5kIHBvc2l0aW9uIGluIFRvcCBCYXJcbi0gQ2hvb3NlIGFub3RoZXIgY29sb3IgcHJlc2V0IGFuZCBpbnRlbnNpdHksIGlmIHlvdSBwcmVmZXIgYSBkaWZmZXJlbnQgY29sb3Igc2NoZW1lXG4tIENoYW5nZSBjb2xvciBpbnRlbnNpdHkgb24gdGhlIGZseSBieSBzY3JvbGxpbmcgb3ZlciB0aGUgT24gRGVtYW5kIGJ1dHRvbiBpbiBUb3AgQmFyXG5cbk11bHRpIGxhbmd1YWdlIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUsIHBsZWFzZSBjaGVjayB0aGUgR2l0SHViIHBhZ2UgaWYgeW91IHdhbnQgdG8gaGVscCB3aXRoIHRoZSB0cmFuc2xhdGlvbnMuIFNvIGZhciwgdGhlIGV4dGVuc2lvbiBpcyBmdWxseSB0cmFuc2xhdGVkIHRvIFNwYW5pc2gsIER1dGNoLCBHZXJtYW4sIFJvbWFuaWFuIGFuZCBFbmdsaXNoLlxuXG5JZiB5b3Ugd2FudCB0byB1c2UgYSBrZXlib2FyZCBzaG9ydGN1dCBpbiBvcmRlciB0byB0b2dnbGUgdGhlIEJlZHRpbWUgTW9kZSB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgY29tbWFuZCBmb3IgdGhlIHNob3J0Y3V0OlxuXG5iYXNoIC1jICdzY2hlbWFfaWQ9b3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmVkdGltZS1tb2RlOyBzY2hlbWFfZGlyPX4vLmxvY2FsL3NoYXJlL2dub21lLXNoZWxsL2V4dGVuc2lvbnMvZ25vbWViZWR0aW1lQGlvbnV0Ym9ydGlzLmdtYWlsLmNvbS9zY2hlbWFzLzsgaWYgW1sgJChnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgZ2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSkgPT0gXCJ0cnVlXCIgXV07IHRoZW4gdHVybl9vbj1mYWxzZTsgZWxzZSB0dXJuX29uPXRydWU7IGZpOyBnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgc2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSAkdHVybl9vbjsnXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiZWR0aW1lLW1vZGUiLAogICJuYW1lIjogIkJlZHRpbWUgTW9kZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iZWR0aW1lLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pb251dGJvcnRpcy9nbm9tZS1iZWR0aW1lLW1vZGUiLAogICJ1dWlkIjogImdub21lYmVkdGltZUBpb251dGJvcnRpcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "0biakzi3szz2czl6mdhacysq4apz3pslxqi9hhp6lyp1hnch7jll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhleSBHbm9tZSwgaXQncyBiZWR0aW1lISBDb252ZXJ0cyB0byBncmF5c2NhbGUgdGhlIGVudGlyZSBHbm9tZSB3b3Jrc3BhY2UgYnkgdXNpbmcgYSBzbW9vdGggdHJhbnNpdGlvbi4gQmVzdCB0byB1c2UgZHVyaW5nIGV2ZW5pbmcvbmlnaHQuXG5cblRoaXMgYmVoYXZpb3VyIGlzIHNpbWlsYXIgdG8gQW5kcm9pZCdzIGJlZHRpbWUgbW9kZSB3aGljaCBjb252ZXJ0cyB0aGUgcGhvbmUgc2NyZWVuIHRvIGdyYXlzY2FsZS4gSXQgc2hvdWxkIHNvbWV3aGF0IG1ha2UgeW91ciBkZXZpY2UgbGVzcyBhcHBlYWxpbmcgYW5kIGxpbWl0IHRoZSB1c2FnZSBvZiBpdCBiZWZvcmUgYmVkdGltZS4gT24gbXkgc2lkZSwgYXQgbGVhc3QsIGl0IHN0aWxsIHJlcXVpcmVzIGEgZmFpciBhbW91bnQgb2Ygc2VsZiBjb250cm9sIGluIG9yZGVyIHRvIG1ha2UgdGhhdCBoYXBwZW4uXG5cblRoZSBleHRlbnNpb24gaGFzIGEgbmljZSBTZXR0aW5ncyBVSSB3aGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSBpdCB0byB5b3VyIGxpa2luZzpcbi0gU2V0IGFuIGF1dG9tYXRpYyBzY2hlZHVsZSBmb3IgdHVybmluZyBvbi9vZmYgdGhlIEJlZHRpbWUgTW9kZVxuLSBBZGQgYW4gT24gRGVtYW5kIGJ1dHRvbiB0byBUb3AgQmFyIG9yIFN5c3RlbSBNZW51IHRvIG1hbnVhbGx5IHRvZ2dsZSB0aGUgbW9kZVxuLSBDb250cm9sIHRoZSBPbiBEZW1hbmQgYnV0dG9uIHZpc2liaWxpdHksIGFwcGVhcmFuY2UgYW5kIHBvc2l0aW9uIGluIFRvcCBCYXJcbi0gQ2hvb3NlIGFub3RoZXIgY29sb3IgcHJlc2V0IGFuZCBpbnRlbnNpdHksIGlmIHlvdSBwcmVmZXIgYSBkaWZmZXJlbnQgY29sb3Igc2NoZW1lXG4tIENoYW5nZSBjb2xvciBpbnRlbnNpdHkgb24gdGhlIGZseSBieSBzY3JvbGxpbmcgb3ZlciB0aGUgT24gRGVtYW5kIGJ1dHRvbiBpbiBUb3AgQmFyXG5cbk11bHRpIGxhbmd1YWdlIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUsIHBsZWFzZSBjaGVjayB0aGUgR2l0SHViIHBhZ2UgaWYgeW91IHdhbnQgdG8gaGVscCB3aXRoIHRoZSB0cmFuc2xhdGlvbnMuIFNvIGZhciwgdGhlIGV4dGVuc2lvbiBpcyBmdWxseSB0cmFuc2xhdGVkIHRvIFNwYW5pc2gsIER1dGNoLCBHZXJtYW4sIFJvbWFuaWFuIGFuZCBFbmdsaXNoLlxuXG5JZiB5b3Ugd2FudCB0byB1c2UgYSBrZXlib2FyZCBzaG9ydGN1dCBpbiBvcmRlciB0byB0b2dnbGUgdGhlIEJlZHRpbWUgTW9kZSB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgY29tbWFuZCBmb3IgdGhlIHNob3J0Y3V0OlxuXG5iYXNoIC1jICdzY2hlbWFfaWQ9b3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmVkdGltZS1tb2RlOyBzY2hlbWFfZGlyPX4vLmxvY2FsL3NoYXJlL2dub21lLXNoZWxsL2V4dGVuc2lvbnMvZ25vbWViZWR0aW1lQGlvbnV0Ym9ydGlzLmdtYWlsLmNvbS9zY2hlbWFzLzsgaWYgW1sgJChnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgZ2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSkgPT0gXCJ0cnVlXCIgXV07IHRoZW4gdHVybl9vbj1mYWxzZTsgZWxzZSB0dXJuX29uPXRydWU7IGZpOyBnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgc2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSAkdHVybl9vbjsnXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiZWR0aW1lLW1vZGUiLAogICJuYW1lIjogIkJlZHRpbWUgTW9kZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iZWR0aW1lLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pb251dGJvcnRpcy9nbm9tZS1iZWR0aW1lLW1vZGUiLAogICJ1dWlkIjogImdub21lYmVkdGltZUBpb251dGJvcnRpcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "0biakzi3szz2czl6mdhacysq4apz3pslxqi9hhp6lyp1hnch7jll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhleSBHbm9tZSwgaXQncyBiZWR0aW1lISBDb252ZXJ0cyB0byBncmF5c2NhbGUgdGhlIGVudGlyZSBHbm9tZSB3b3Jrc3BhY2UgYnkgdXNpbmcgYSBzbW9vdGggdHJhbnNpdGlvbi4gQmVzdCB0byB1c2UgZHVyaW5nIGV2ZW5pbmcvbmlnaHQuXG5cblRoaXMgYmVoYXZpb3VyIGlzIHNpbWlsYXIgdG8gQW5kcm9pZCdzIGJlZHRpbWUgbW9kZSB3aGljaCBjb252ZXJ0cyB0aGUgcGhvbmUgc2NyZWVuIHRvIGdyYXlzY2FsZS4gSXQgc2hvdWxkIHNvbWV3aGF0IG1ha2UgeW91ciBkZXZpY2UgbGVzcyBhcHBlYWxpbmcgYW5kIGxpbWl0IHRoZSB1c2FnZSBvZiBpdCBiZWZvcmUgYmVkdGltZS4gT24gbXkgc2lkZSwgYXQgbGVhc3QsIGl0IHN0aWxsIHJlcXVpcmVzIGEgZmFpciBhbW91bnQgb2Ygc2VsZiBjb250cm9sIGluIG9yZGVyIHRvIG1ha2UgdGhhdCBoYXBwZW4uXG5cblRoZSBleHRlbnNpb24gaGFzIGEgbmljZSBTZXR0aW5ncyBVSSB3aGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSBpdCB0byB5b3VyIGxpa2luZzpcbi0gU2V0IGFuIGF1dG9tYXRpYyBzY2hlZHVsZSBmb3IgdHVybmluZyBvbi9vZmYgdGhlIEJlZHRpbWUgTW9kZVxuLSBBZGQgYW4gT24gRGVtYW5kIGJ1dHRvbiB0byBUb3AgQmFyIG9yIFN5c3RlbSBNZW51IHRvIG1hbnVhbGx5IHRvZ2dsZSB0aGUgbW9kZVxuLSBDb250cm9sIHRoZSBPbiBEZW1hbmQgYnV0dG9uIHZpc2liaWxpdHksIGFwcGVhcmFuY2UgYW5kIHBvc2l0aW9uIGluIFRvcCBCYXJcbi0gQ2hvb3NlIGFub3RoZXIgY29sb3IgcHJlc2V0IGFuZCBpbnRlbnNpdHksIGlmIHlvdSBwcmVmZXIgYSBkaWZmZXJlbnQgY29sb3Igc2NoZW1lXG4tIENoYW5nZSBjb2xvciBpbnRlbnNpdHkgb24gdGhlIGZseSBieSBzY3JvbGxpbmcgb3ZlciB0aGUgT24gRGVtYW5kIGJ1dHRvbiBpbiBUb3AgQmFyXG5cbk11bHRpIGxhbmd1YWdlIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUsIHBsZWFzZSBjaGVjayB0aGUgR2l0SHViIHBhZ2UgaWYgeW91IHdhbnQgdG8gaGVscCB3aXRoIHRoZSB0cmFuc2xhdGlvbnMuIFNvIGZhciwgdGhlIGV4dGVuc2lvbiBpcyBmdWxseSB0cmFuc2xhdGVkIHRvIFNwYW5pc2gsIER1dGNoLCBHZXJtYW4sIFJvbWFuaWFuIGFuZCBFbmdsaXNoLlxuXG5JZiB5b3Ugd2FudCB0byB1c2UgYSBrZXlib2FyZCBzaG9ydGN1dCBpbiBvcmRlciB0byB0b2dnbGUgdGhlIEJlZHRpbWUgTW9kZSB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgY29tbWFuZCBmb3IgdGhlIHNob3J0Y3V0OlxuXG5iYXNoIC1jICdzY2hlbWFfaWQ9b3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmVkdGltZS1tb2RlOyBzY2hlbWFfZGlyPX4vLmxvY2FsL3NoYXJlL2dub21lLXNoZWxsL2V4dGVuc2lvbnMvZ25vbWViZWR0aW1lQGlvbnV0Ym9ydGlzLmdtYWlsLmNvbS9zY2hlbWFzLzsgaWYgW1sgJChnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgZ2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSkgPT0gXCJ0cnVlXCIgXV07IHRoZW4gdHVybl9vbj1mYWxzZTsgZWxzZSB0dXJuX29uPXRydWU7IGZpOyBnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgc2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSAkdHVybl9vbjsnXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiZWR0aW1lLW1vZGUiLAogICJuYW1lIjogIkJlZHRpbWUgTW9kZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iZWR0aW1lLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pb251dGJvcnRpcy9nbm9tZS1iZWR0aW1lLW1vZGUiLAogICJ1dWlkIjogImdub21lYmVkdGltZUBpb251dGJvcnRpcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "0biakzi3szz2czl6mdhacysq4apz3pslxqi9hhp6lyp1hnch7jll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhleSBHbm9tZSwgaXQncyBiZWR0aW1lISBDb252ZXJ0cyB0byBncmF5c2NhbGUgdGhlIGVudGlyZSBHbm9tZSB3b3Jrc3BhY2UgYnkgdXNpbmcgYSBzbW9vdGggdHJhbnNpdGlvbi4gQmVzdCB0byB1c2UgZHVyaW5nIGV2ZW5pbmcvbmlnaHQuXG5cblRoaXMgYmVoYXZpb3VyIGlzIHNpbWlsYXIgdG8gQW5kcm9pZCdzIGJlZHRpbWUgbW9kZSB3aGljaCBjb252ZXJ0cyB0aGUgcGhvbmUgc2NyZWVuIHRvIGdyYXlzY2FsZS4gSXQgc2hvdWxkIHNvbWV3aGF0IG1ha2UgeW91ciBkZXZpY2UgbGVzcyBhcHBlYWxpbmcgYW5kIGxpbWl0IHRoZSB1c2FnZSBvZiBpdCBiZWZvcmUgYmVkdGltZS4gT24gbXkgc2lkZSwgYXQgbGVhc3QsIGl0IHN0aWxsIHJlcXVpcmVzIGEgZmFpciBhbW91bnQgb2Ygc2VsZiBjb250cm9sIGluIG9yZGVyIHRvIG1ha2UgdGhhdCBoYXBwZW4uXG5cblRoZSBleHRlbnNpb24gaGFzIGEgbmljZSBTZXR0aW5ncyBVSSB3aGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSBpdCB0byB5b3VyIGxpa2luZzpcbi0gU2V0IGFuIGF1dG9tYXRpYyBzY2hlZHVsZSBmb3IgdHVybmluZyBvbi9vZmYgdGhlIEJlZHRpbWUgTW9kZVxuLSBBZGQgYW4gT24gRGVtYW5kIGJ1dHRvbiB0byBUb3AgQmFyIG9yIFN5c3RlbSBNZW51IHRvIG1hbnVhbGx5IHRvZ2dsZSB0aGUgbW9kZVxuLSBDb250cm9sIHRoZSBPbiBEZW1hbmQgYnV0dG9uIHZpc2liaWxpdHksIGFwcGVhcmFuY2UgYW5kIHBvc2l0aW9uIGluIFRvcCBCYXJcbi0gQ2hvb3NlIGFub3RoZXIgY29sb3IgcHJlc2V0IGFuZCBpbnRlbnNpdHksIGlmIHlvdSBwcmVmZXIgYSBkaWZmZXJlbnQgY29sb3Igc2NoZW1lXG4tIENoYW5nZSBjb2xvciBpbnRlbnNpdHkgb24gdGhlIGZseSBieSBzY3JvbGxpbmcgb3ZlciB0aGUgT24gRGVtYW5kIGJ1dHRvbiBpbiBUb3AgQmFyXG5cbk11bHRpIGxhbmd1YWdlIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUsIHBsZWFzZSBjaGVjayB0aGUgR2l0SHViIHBhZ2UgaWYgeW91IHdhbnQgdG8gaGVscCB3aXRoIHRoZSB0cmFuc2xhdGlvbnMuIFNvIGZhciwgdGhlIGV4dGVuc2lvbiBpcyBmdWxseSB0cmFuc2xhdGVkIHRvIFNwYW5pc2gsIER1dGNoLCBHZXJtYW4sIFJvbWFuaWFuIGFuZCBFbmdsaXNoLlxuXG5JZiB5b3Ugd2FudCB0byB1c2UgYSBrZXlib2FyZCBzaG9ydGN1dCBpbiBvcmRlciB0byB0b2dnbGUgdGhlIEJlZHRpbWUgTW9kZSB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgY29tbWFuZCBmb3IgdGhlIHNob3J0Y3V0OlxuXG5iYXNoIC1jICdzY2hlbWFfaWQ9b3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmVkdGltZS1tb2RlOyBzY2hlbWFfZGlyPX4vLmxvY2FsL3NoYXJlL2dub21lLXNoZWxsL2V4dGVuc2lvbnMvZ25vbWViZWR0aW1lQGlvbnV0Ym9ydGlzLmdtYWlsLmNvbS9zY2hlbWFzLzsgaWYgW1sgJChnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgZ2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSkgPT0gXCJ0cnVlXCIgXV07IHRoZW4gdHVybl9vbj1mYWxzZTsgZWxzZSB0dXJuX29uPXRydWU7IGZpOyBnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgc2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSAkdHVybl9vbjsnXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiZWR0aW1lLW1vZGUiLAogICJuYW1lIjogIkJlZHRpbWUgTW9kZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iZWR0aW1lLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pb251dGJvcnRpcy9nbm9tZS1iZWR0aW1lLW1vZGUiLAogICJ1dWlkIjogImdub21lYmVkdGltZUBpb251dGJvcnRpcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "spotify-controller@koolskateguy89", "name": "Spotify Controller", "pname": "spotify-controller", "description": "Control Spotify from the topbar!\n\nCredit to Marcus Heine (https://github.com/mheine) for most of the code in this extension.", "link": "https://extensions.gnome.org/extension/4013/spotify-controller/", "shell_version_map": {"38": {"version": "8", "sha256": "08wdv54rkp18b4b6152b55jqc9b0j37pr8rvh0ixl7wsdmkxga4r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgU3BvdGlmeSBmcm9tIHRoZSB0b3BiYXIhXG5cbkNyZWRpdCB0byBNYXJjdXMgSGVpbmUgKGh0dHBzOi8vZ2l0aHViLmNvbS9taGVpbmUpIGZvciBtb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiU3BvdGlmeSBDb250cm9sbGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwb3RpZnktY29udHJvbGxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rb29sc2thdGVndXk4OS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3BvdGlmeS1jb250cm9sbGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWNvbnRyb2xsZXJAa29vbHNrYXRlZ3V5ODkiLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "08wdv54rkp18b4b6152b55jqc9b0j37pr8rvh0ixl7wsdmkxga4r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgU3BvdGlmeSBmcm9tIHRoZSB0b3BiYXIhXG5cbkNyZWRpdCB0byBNYXJjdXMgSGVpbmUgKGh0dHBzOi8vZ2l0aHViLmNvbS9taGVpbmUpIGZvciBtb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiU3BvdGlmeSBDb250cm9sbGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwb3RpZnktY29udHJvbGxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rb29sc2thdGVndXk4OS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3BvdGlmeS1jb250cm9sbGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWNvbnRyb2xsZXJAa29vbHNrYXRlZ3V5ODkiLAogICJ2ZXJzaW9uIjogOAp9"}}}
@@ -461,7 +463,7 @@
 , {"uuid": "translate-clipboard@lsnow.github.io", "name": "Translate clipboard", "pname": "translate-clipboard", "description": "Translate clipboard text", "link": "https://extensions.gnome.org/extension/4097/translate-clipboard/", "shell_version_map": {"38": {"version": "1", "sha256": "071x3q6y7s8qx4i3lis79g5nc68ld8ln5q8qgc713nvjgfsg05hs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAiVHJhbnNsYXRlIGNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xzbm93L3RyYW5zbGF0ZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1jbGlwYm9hcmRAbHNub3cuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "16", "sha256": "11r7r4azaf94f453ima2sms0ycaygh0l3k30dm5zpbkdp4pbczbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAiVHJhbnNsYXRlIGNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDEuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xzbm93L3RyYW5zbGF0ZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1jbGlwYm9hcmRAbHNub3cuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "11r7r4azaf94f453ima2sms0ycaygh0l3k30dm5zpbkdp4pbczbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAiVHJhbnNsYXRlIGNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDEuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xzbm93L3RyYW5zbGF0ZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1jbGlwYm9hcmRAbHNub3cuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "11r7r4azaf94f453ima2sms0ycaygh0l3k30dm5zpbkdp4pbczbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAiVHJhbnNsYXRlIGNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDEuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xzbm93L3RyYW5zbGF0ZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1jbGlwYm9hcmRAbHNub3cuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"uuid": "no-overview@fthx", "name": "No overview at start-up", "pname": "no-overview", "description": "No overview at start-up. For GNOME Shell 40+.", "link": "https://extensions.gnome.org/extension/4099/no-overview/", "shell_version_map": {"40": {"version": "11", "sha256": "15abz4w5n4md1b0f7c403hiyifslgw7dw2jlhzpn47r7k7giwpdk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIG92ZXJ2aWV3IGF0IHN0YXJ0LXVwLiBGb3IgR05PTUUgU2hlbGwgNDArLiIsCiAgIm5hbWUiOiAiTm8gb3ZlcnZpZXcgYXQgc3RhcnQtdXAiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImZ0aHgiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9uby1vdmVydmlldyIsCiAgInV1aWQiOiAibm8tb3ZlcnZpZXdAZnRoeCIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "15abz4w5n4md1b0f7c403hiyifslgw7dw2jlhzpn47r7k7giwpdk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIG92ZXJ2aWV3IGF0IHN0YXJ0LXVwLiBGb3IgR05PTUUgU2hlbGwgNDArLiIsCiAgIm5hbWUiOiAiTm8gb3ZlcnZpZXcgYXQgc3RhcnQtdXAiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImZ0aHgiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9uby1vdmVydmlldyIsCiAgInV1aWQiOiAibm8tb3ZlcnZpZXdAZnRoeCIsCiAgInZlcnNpb24iOiAxMQp9"}, "42": {"version": "11", "sha256": "15abz4w5n4md1b0f7c403hiyifslgw7dw2jlhzpn47r7k7giwpdk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIG92ZXJ2aWV3IGF0IHN0YXJ0LXVwLiBGb3IgR05PTUUgU2hlbGwgNDArLiIsCiAgIm5hbWUiOiAiTm8gb3ZlcnZpZXcgYXQgc3RhcnQtdXAiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImZ0aHgiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9uby1vdmVydmlldyIsCiAgInV1aWQiOiAibm8tb3ZlcnZpZXdAZnRoeCIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "notification-position@drugo.dev", "name": "Notification Banner Position", "pname": "notification-banner-position", "description": "Changes position of the notification banner from the default to the right side of the screen.", "link": "https://extensions.gnome.org/extension/4105/notification-banner-position/", "shell_version_map": {"38": {"version": "6", "sha256": "0fknms2di01y348zal27s109z6m12hw9pnra3i2ajkci7nq5x7vl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgcG9zaXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgZnJvbSB0aGUgZGVmYXVsdCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2NyZWVuLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JydW5vZHJ1Z293aWNrL25vdGlmaWNhdGlvbi1wb3NpdGlvbi1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1wb3NpdGlvbkBkcnVnby5kZXYiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0fknms2di01y348zal27s109z6m12hw9pnra3i2ajkci7nq5x7vl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgcG9zaXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgZnJvbSB0aGUgZGVmYXVsdCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2NyZWVuLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JydW5vZHJ1Z293aWNrL25vdGlmaWNhdGlvbi1wb3NpdGlvbi1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1wb3NpdGlvbkBkcnVnby5kZXYiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0fknms2di01y348zal27s109z6m12hw9pnra3i2ajkci7nq5x7vl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgcG9zaXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgZnJvbSB0aGUgZGVmYXVsdCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2NyZWVuLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JydW5vZHJ1Z293aWNrL25vdGlmaWNhdGlvbi1wb3NpdGlvbi1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1wb3NpdGlvbkBkcnVnby5kZXYiLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "0fknms2di01y348zal27s109z6m12hw9pnra3i2ajkci7nq5x7vl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgcG9zaXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgZnJvbSB0aGUgZGVmYXVsdCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2NyZWVuLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JydW5vZHJ1Z293aWNrL25vdGlmaWNhdGlvbi1wb3NpdGlvbi1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbi1wb3NpdGlvbkBkcnVnby5kZXYiLAogICJ2ZXJzaW9uIjogNgp9"}}}
-, {"uuid": "volume_scroller@trflynn89.pm.me", "name": "Volume Scroller", "pname": "volume-scroller", "description": "Scroll up or down in the Top Bar to adjust volume.", "link": "https://extensions.gnome.org/extension/4109/volume-scroller/", "shell_version_map": {"38": {"version": "5", "sha256": "035gkl1g3k3jqmksgmh2aip3v4k8kkbc6gdnndg6lnhz6czn9c12", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RyZmx5bm44OS9nbm9tZS1zaGVsbC12b2x1bWUtc2Nyb2xsZXIiLAogICJ1dWlkIjogInZvbHVtZV9zY3JvbGxlckB0cmZseW5uODkucG0ubWUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "035gkl1g3k3jqmksgmh2aip3v4k8kkbc6gdnndg6lnhz6czn9c12", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RyZmx5bm44OS9nbm9tZS1zaGVsbC12b2x1bWUtc2Nyb2xsZXIiLAogICJ1dWlkIjogInZvbHVtZV9zY3JvbGxlckB0cmZseW5uODkucG0ubWUiLAogICJ2ZXJzaW9uIjogNQp9"}}}
+, {"uuid": "volume_scroller@trflynn89.pm.me", "name": "Volume Scroller", "pname": "volume-scroller", "description": "Scroll up or down in the Top Bar to adjust volume.", "link": "https://extensions.gnome.org/extension/4109/volume-scroller/", "shell_version_map": {"38": {"version": "6", "sha256": "0q96yv2sda29w6qgaw0rdqahkb2f4d6fwd3g6paqaphjlv7b0n65", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHJmbHlubjg5L2dub21lLXNoZWxsLXZvbHVtZS1zY3JvbGxlciIsCiAgInV1aWQiOiAidm9sdW1lX3Njcm9sbGVyQHRyZmx5bm44OS5wbS5tZSIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "0q96yv2sda29w6qgaw0rdqahkb2f4d6fwd3g6paqaphjlv7b0n65", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHJmbHlubjg5L2dub21lLXNoZWxsLXZvbHVtZS1zY3JvbGxlciIsCiAgInV1aWQiOiAidm9sdW1lX3Njcm9sbGVyQHRyZmx5bm44OS5wbS5tZSIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0q96yv2sda29w6qgaw0rdqahkb2f4d6fwd3g6paqaphjlv7b0n65", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHJmbHlubjg5L2dub21lLXNoZWxsLXZvbHVtZS1zY3JvbGxlciIsCiAgInV1aWQiOiAidm9sdW1lX3Njcm9sbGVyQHRyZmx5bm44OS5wbS5tZSIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "0q96yv2sda29w6qgaw0rdqahkb2f4d6fwd3g6paqaphjlv7b0n65", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHJmbHlubjg5L2dub21lLXNoZWxsLXZvbHVtZS1zY3JvbGxlciIsCiAgInV1aWQiOiAidm9sdW1lX3Njcm9sbGVyQHRyZmx5bm44OS5wbS5tZSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "Mock-Universal-Menu@zacharygough", "name": "Mock Universal Menu", "pname": "mock-universal-menu", "description": "Creates a Mock Apple Menu (THIS DOES NOTHING WHEN CLICKED)", "link": "https://extensions.gnome.org/extension/4111/mock-universal-menu/", "shell_version_map": {"40": {"version": "5", "sha256": "0irq4aamfdvnsjcb9cj4grp7z0s2rg5dv349v095ss7n7jxcmdx2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgYSBNb2NrIEFwcGxlIE1lbnUgKFRISVMgRE9FUyBOT1RISU5HIFdIRU4gQ0xJQ0tFRCkiLAogICJuYW1lIjogIk1vY2sgVW5pdmVyc2FsIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1phbnktWmFjaGFyeTEvTW9jay1Vbml2ZXJzYWwtTWVudSIsCiAgInV1aWQiOiAiTW9jay1Vbml2ZXJzYWwtTWVudUB6YWNoYXJ5Z291Z2giLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "0irq4aamfdvnsjcb9cj4grp7z0s2rg5dv349v095ss7n7jxcmdx2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgYSBNb2NrIEFwcGxlIE1lbnUgKFRISVMgRE9FUyBOT1RISU5HIFdIRU4gQ0xJQ0tFRCkiLAogICJuYW1lIjogIk1vY2sgVW5pdmVyc2FsIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1phbnktWmFjaGFyeTEvTW9jay1Vbml2ZXJzYWwtTWVudSIsCiAgInV1aWQiOiAiTW9jay1Vbml2ZXJzYWwtTWVudUB6YWNoYXJ5Z291Z2giLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "customize-ibus@hollowman.ml", "name": "Customize IBus", "pname": "customize-ibus", "description": "Full customization of appearance, behavior, system tray and input source indicator for IBus\n\nSupport Customization of:\n* Candidate Box Orientation\n* Candidate Box Animation\n* Right-click Candidate Box to Switch the Input Mode or Open the Tray Menu\n* Scroll on Candidate Box to Switch among Pages or Candidates\n* Fix Candidate Box to Not Follow the Caret and Set Fixed Position\n* Candidate Box Font\n* Input Mode Remember and Auto-switch by APP\n* Change Candidate Box Opacity\n* Fix IME List Order\n* Drag Candidate Box to Reposition\n* Show or Hide Candidate Box Page Buttons\n* System Tray Menus and Interaction Settings\n* * Show or Hide Tray Icon\n* * Directly Click Tray Icon to Switch Input Mode\n* * Add Additional Menu\n* Input Source Indicator Appearance and Interaction Settings\n* * Enable Indicator\n* * Only Indicate when Switching Input Mode\n* * Only Indicate when Using ASCII Input Mode\n* * Not Indicate when Using Single Mode IME\n* * Right-click Indicator to Hide\n* * Scroll on Indicator to Switch Input Mode\n* * Indicator Animation\n* * Customize Font\n* * Left-click Indicator to Drag to Move Indicator or Switch Input Mode\n* * Change Opacity\n* * Enable Indicator Show Delay and Configure Showing Timeout\n* * Enable Auto-hide Indicator and Configure Auto-hide Timeout\n* Theme (Stylesheet Provided or Extracted from GNOME Shell Themes, Refer to Help Instructions in Extension for More)\n* Candidate Box Background and its Displaying Style\n* Theme and Background Picture Follow GNOME Night Light Mode\n\nUser Guide: https://hollowmansblog.wordpress.com/2021/08/21/customize-ibus-user-guide/\n\n深度定制 IBus 的外观、行为、系统托盘以及输入指示\n\n支持自定义:\n* 候选框方向\n* 候选框动画\n* 右键单击候选框以切换输入源或打开任务栏菜单\n* 候选框上滚动以切换页面或候选词\n* 固定候选框使其不跟随光标以及设定固定位置\n* 候选框字体\n* 输入模式根据应用记忆并自动切换\n* 更改候选框透明度\n* 固定输入法列表顺序\n* 拖拽移动候选框\n* 显示或隐藏候选框调页按钮\n* 系统任务栏托盘显示和交互设置\n* * 显示或隐藏托盘图标\n* * 直接点击托盘图标切换输入源\n* * 添加额外菜单\n* 输入源指示器及其显示和交互设置\n* * 启用指示器\n* * 仅在切换输入法时指示\n* * 仅在英文输入时指示\n* * 使用单模式输入法时不指示\n* * 右击指示器来将其隐藏\n* * 指示器上滚动来切换输入源\n* * 指示器显示动画\n* * 自定义字体\n* * 左击指示器以拖拽移动或者切换输入源\n* * 更改透明度\n* * 启用延时显示以及配置显示时延\n* * 启用自动隐藏以及配置自动隐藏时延\n* 皮肤样式主题(提供的或者从GNOME Shell主题中提取的样式表,参见扩展的帮助部分来获取更多指导)\n* 候选框背景图片及其显示样式\n* 主题和背景图片跟随GNOME夜灯\n\n使用指南:https://blog.csdn.net/qq_18572023/article/details/116331601", "link": "https://extensions.gnome.org/extension/4112/customize-ibus/", "shell_version_map": {"38": {"version": "82", "sha256": "1rn0zskj5s7xp11p8sbgybghngqyf5chs469w51vn8n24k4bgdp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGwgY3VzdG9taXphdGlvbiBvZiBhcHBlYXJhbmNlLCBiZWhhdmlvciwgc3lzdGVtIHRyYXkgYW5kIGlucHV0IHNvdXJjZSBpbmRpY2F0b3IgZm9yIElCdXNcblxuU3VwcG9ydCBDdXN0b21pemF0aW9uIG9mOlxuKiBDYW5kaWRhdGUgQm94IE9yaWVudGF0aW9uXG4qIENhbmRpZGF0ZSBCb3ggQW5pbWF0aW9uXG4qIFJpZ2h0LWNsaWNrIENhbmRpZGF0ZSBCb3ggdG8gU3dpdGNoIHRoZSBJbnB1dCBNb2RlIG9yIE9wZW4gdGhlIFRyYXkgTWVudVxuKiBTY3JvbGwgb24gQ2FuZGlkYXRlIEJveCB0byBTd2l0Y2ggYW1vbmcgUGFnZXMgb3IgQ2FuZGlkYXRlc1xuKiBGaXggQ2FuZGlkYXRlIEJveCB0byBOb3QgRm9sbG93IHRoZSBDYXJldCBhbmQgU2V0IEZpeGVkIFBvc2l0aW9uXG4qIENhbmRpZGF0ZSBCb3ggRm9udFxuKiBJbnB1dCBNb2RlIFJlbWVtYmVyIGFuZCBBdXRvLXN3aXRjaCBieSBBUFBcbiogQ2hhbmdlIENhbmRpZGF0ZSBCb3ggT3BhY2l0eVxuKiBGaXggSU1FIExpc3QgT3JkZXJcbiogRHJhZyBDYW5kaWRhdGUgQm94IHRvIFJlcG9zaXRpb25cbiogU2hvdyBvciBIaWRlIENhbmRpZGF0ZSBCb3ggUGFnZSBCdXR0b25zXG4qIFN5c3RlbSBUcmF5IE1lbnVzIGFuZCBJbnRlcmFjdGlvbiBTZXR0aW5nc1xuKiAqIFNob3cgb3IgSGlkZSBUcmF5IEljb25cbiogKiBEaXJlY3RseSBDbGljayBUcmF5IEljb24gdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBBZGQgQWRkaXRpb25hbCBNZW51XG4qIElucHV0IFNvdXJjZSBJbmRpY2F0b3IgQXBwZWFyYW5jZSBhbmQgSW50ZXJhY3Rpb24gU2V0dGluZ3NcbiogKiBFbmFibGUgSW5kaWNhdG9yXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFN3aXRjaGluZyBJbnB1dCBNb2RlXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFVzaW5nIEFTQ0lJIElucHV0IE1vZGVcbiogKiBOb3QgSW5kaWNhdGUgd2hlbiBVc2luZyBTaW5nbGUgTW9kZSBJTUVcbiogKiBSaWdodC1jbGljayBJbmRpY2F0b3IgdG8gSGlkZVxuKiAqIFNjcm9sbCBvbiBJbmRpY2F0b3IgdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBJbmRpY2F0b3IgQW5pbWF0aW9uXG4qICogQ3VzdG9taXplIEZvbnRcbiogKiBMZWZ0LWNsaWNrIEluZGljYXRvciB0byBEcmFnIHRvIE1vdmUgSW5kaWNhdG9yIG9yIFN3aXRjaCBJbnB1dCBNb2RlXG4qICogQ2hhbmdlIE9wYWNpdHlcbiogKiBFbmFibGUgSW5kaWNhdG9yIFNob3cgRGVsYXkgYW5kIENvbmZpZ3VyZSBTaG93aW5nIFRpbWVvdXRcbiogKiBFbmFibGUgQXV0by1oaWRlIEluZGljYXRvciBhbmQgQ29uZmlndXJlIEF1dG8taGlkZSBUaW1lb3V0XG4qIFRoZW1lIChTdHlsZXNoZWV0IFByb3ZpZGVkIG9yIEV4dHJhY3RlZCBmcm9tIEdOT01FIFNoZWxsIFRoZW1lcywgUmVmZXIgdG8gSGVscCBJbnN0cnVjdGlvbnMgaW4gRXh0ZW5zaW9uIGZvciBNb3JlKVxuKiBDYW5kaWRhdGUgQm94IEJhY2tncm91bmQgYW5kIGl0cyBEaXNwbGF5aW5nIFN0eWxlXG4qIFRoZW1lIGFuZCBCYWNrZ3JvdW5kIFBpY3R1cmUgRm9sbG93IEdOT01FIE5pZ2h0IExpZ2h0IE1vZGVcblxuVXNlciBHdWlkZTogaHR0cHM6Ly9ob2xsb3dtYW5zYmxvZy53b3JkcHJlc3MuY29tLzIwMjEvMDgvMjEvY3VzdG9taXplLWlidXMtdXNlci1ndWlkZS9cblxuXHU2ZGYxXHU1ZWE2XHU1YjlhXHU1MjM2IElCdXMgXHU3Njg0XHU1OTE2XHU4OWMyXHUzMDAxXHU4ODRjXHU0ZTNhXHUzMDAxXHU3Y2ZiXHU3ZWRmXHU2MjU4XHU3NmQ4XHU0ZWU1XHU1M2NhXHU4ZjkzXHU1MTY1XHU2MzA3XHU3OTNhXG5cblx1NjUyZlx1NjMwMVx1ODFlYVx1NWI5YVx1NGU0OVx1ZmYxYVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTY1YjlcdTU0MTFcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU1MmE4XHU3NTNiXG4qIFx1NTNmM1x1OTUyZVx1NTM1NVx1NTFmYlx1NTAxOVx1OTAwOVx1Njg0Nlx1NGVlNVx1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFx1NjIxNlx1NjI1M1x1NWYwMFx1NGVmYlx1NTJhMVx1NjgwZlx1ODNkY1x1NTM1NVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTRlMGFcdTZlZGFcdTUyYThcdTRlZTVcdTUyMDdcdTYzNjJcdTk4NzVcdTk3NjJcdTYyMTZcdTUwMTlcdTkwMDlcdThiY2RcbiogXHU1NmZhXHU1YjlhXHU1MDE5XHU5MDA5XHU2ODQ2XHU0ZjdmXHU1MTc2XHU0ZTBkXHU4ZGRmXHU5NjhmXHU1MTQ5XHU2ODA3XHU0ZWU1XHU1M2NhXHU4YmJlXHU1YjlhXHU1NmZhXHU1YjlhXHU0ZjRkXHU3ZjZlXG4qIFx1NTAxOVx1OTAwOVx1Njg0Nlx1NWI1N1x1NGY1M1xuKiBcdThmOTNcdTUxNjVcdTZhMjFcdTVmMGZcdTY4MzlcdTYzNmVcdTVlOTRcdTc1MjhcdThiYjBcdTVmYzZcdTVlNzZcdTgxZWFcdTUyYThcdTUyMDdcdTYzNjJcbiogXHU2NmY0XHU2NTM5XHU1MDE5XHU5MDA5XHU2ODQ2XHU5MDBmXHU2NjBlXHU1ZWE2XG4qIFx1NTZmYVx1NWI5YVx1OGY5M1x1NTE2NVx1NmNkNVx1NTIxN1x1ODg2OFx1OTg3YVx1NWU4ZlxuKiBcdTYyZDZcdTYyZmRcdTc5ZmJcdTUyYThcdTUwMTlcdTkwMDlcdTY4NDZcbiogXHU2NjNlXHU3OTNhXHU2MjE2XHU5NjkwXHU4NWNmXHU1MDE5XHU5MDA5XHU2ODQ2XHU4YzAzXHU5ODc1XHU2MzA5XHU5NGFlXG4qIFx1N2NmYlx1N2VkZlx1NGVmYlx1NTJhMVx1NjgwZlx1NjI1OFx1NzZkOFx1NjYzZVx1NzkzYVx1NTQ4Y1x1NGVhNFx1NGU5Mlx1OGJiZVx1N2Y2ZVxuKiAqIFx1NjYzZVx1NzkzYVx1NjIxNlx1OTY5MFx1ODVjZlx1NjI1OFx1NzZkOFx1NTZmZVx1NjgwN1xuKiAqIFx1NzZmNFx1NjNhNVx1NzBiOVx1NTFmYlx1NjI1OFx1NzZkOFx1NTZmZVx1NjgwN1x1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFxuKiAqIFx1NmRmYlx1NTJhMFx1OTg5ZFx1NTkxNlx1ODNkY1x1NTM1NVxuKiBcdThmOTNcdTUxNjVcdTZlOTBcdTYzMDdcdTc5M2FcdTU2NjhcdTUzY2FcdTUxNzZcdTY2M2VcdTc5M2FcdTU0OGNcdTRlYTRcdTRlOTJcdThiYmVcdTdmNmVcbiogKiBcdTU0MmZcdTc1MjhcdTYzMDdcdTc5M2FcdTU2NjhcbiogKiBcdTRlYzVcdTU3MjhcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZjZDVcdTY1ZjZcdTYzMDdcdTc5M2FcbiogKiBcdTRlYzVcdTU3MjhcdTgyZjFcdTY1ODdcdThmOTNcdTUxNjVcdTY1ZjZcdTYzMDdcdTc5M2FcbiogKiBcdTRmN2ZcdTc1MjhcdTUzNTVcdTZhMjFcdTVmMGZcdThmOTNcdTUxNjVcdTZjZDVcdTY1ZjZcdTRlMGRcdTYzMDdcdTc5M2FcbiogKiBcdTUzZjNcdTUxZmJcdTYzMDdcdTc5M2FcdTU2NjhcdTY3NjVcdTVjMDZcdTUxNzZcdTk2OTBcdTg1Y2ZcbiogKiBcdTYzMDdcdTc5M2FcdTU2NjhcdTRlMGFcdTZlZGFcdTUyYThcdTY3NjVcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZlOTBcbiogKiBcdTYzMDdcdTc5M2FcdTU2NjhcdTY2M2VcdTc5M2FcdTUyYThcdTc1M2JcbiogKiBcdTgxZWFcdTViOWFcdTRlNDlcdTViNTdcdTRmNTNcbiogKiBcdTVkZTZcdTUxZmJcdTYzMDdcdTc5M2FcdTU2NjhcdTRlZTVcdTYyZDZcdTYyZmRcdTc5ZmJcdTUyYThcdTYyMTZcdTgwMDVcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZlOTBcbiogKiBcdTY2ZjRcdTY1MzlcdTkwMGZcdTY2MGVcdTVlYTZcbiogKiBcdTU0MmZcdTc1MjhcdTVlZjZcdTY1ZjZcdTY2M2VcdTc5M2FcdTRlZTVcdTUzY2FcdTkxNGRcdTdmNmVcdTY2M2VcdTc5M2FcdTY1ZjZcdTVlZjZcbiogKiBcdTU0MmZcdTc1MjhcdTgxZWFcdTUyYThcdTk2OTBcdTg1Y2ZcdTRlZTVcdTUzY2FcdTkxNGRcdTdmNmVcdTgxZWFcdTUyYThcdTk2OTBcdTg1Y2ZcdTY1ZjZcdTVlZjZcbiogXHU3NmFlXHU4MGE0XHU2ODM3XHU1ZjBmXHU0ZTNiXHU5ODk4XHVmZjA4XHU2M2QwXHU0ZjliXHU3Njg0XHU2MjE2XHU4MDA1XHU0ZWNlR05PTUUgU2hlbGxcdTRlM2JcdTk4OThcdTRlMmRcdTYzZDBcdTUzZDZcdTc2ODRcdTY4MzdcdTVmMGZcdTg4NjhcdWZmMGNcdTUzYzJcdTg5YzFcdTYyNjlcdTVjNTVcdTc2ODRcdTVlMmVcdTUyYTlcdTkwZThcdTUyMDZcdTY3NjVcdTgzYjdcdTUzZDZcdTY2ZjRcdTU5MWFcdTYzMDdcdTViZmNcdWZmMDlcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU4MGNjXHU2NjZmXHU1NmZlXHU3MjQ3XHU1M2NhXHU1MTc2XHU2NjNlXHU3OTNhXHU2ODM3XHU1ZjBmXG4qIFx1NGUzYlx1OTg5OFx1NTQ4Y1x1ODBjY1x1NjY2Zlx1NTZmZVx1NzI0N1x1OGRkZlx1OTY4ZkdOT01FXHU1OTFjXHU3MDZmXG5cblx1NGY3Zlx1NzUyOFx1NjMwN1x1NTM1N1x1ZmYxYWh0dHBzOi8vYmxvZy5jc2RuLm5ldC9xcV8xODU3MjAyMy9hcnRpY2xlL2RldGFpbHMvMTE2MzMxNjAxIiwKICAiZXh0ZW5zaW9uLWlkIjogImN1c3RvbWl6ZS1pYnVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9taXplLWlidXMiLAogICJuYW1lIjogIkN1c3RvbWl6ZSBJQnVzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJob2xsb3dtYW5Ab3BlbnN1c2Uub3JnIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b21pemUtaWJ1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL0N1c3RvbWl6ZS1JQnVzIiwKICAidXVpZCI6ICJjdXN0b21pemUtaWJ1c0Bob2xsb3dtYW4ubWwiLAogICJ2ZXJzaW9uIjogODIKfQ=="}, "40": {"version": "82", "sha256": "1rn0zskj5s7xp11p8sbgybghngqyf5chs469w51vn8n24k4bgdp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGwgY3VzdG9taXphdGlvbiBvZiBhcHBlYXJhbmNlLCBiZWhhdmlvciwgc3lzdGVtIHRyYXkgYW5kIGlucHV0IHNvdXJjZSBpbmRpY2F0b3IgZm9yIElCdXNcblxuU3VwcG9ydCBDdXN0b21pemF0aW9uIG9mOlxuKiBDYW5kaWRhdGUgQm94IE9yaWVudGF0aW9uXG4qIENhbmRpZGF0ZSBCb3ggQW5pbWF0aW9uXG4qIFJpZ2h0LWNsaWNrIENhbmRpZGF0ZSBCb3ggdG8gU3dpdGNoIHRoZSBJbnB1dCBNb2RlIG9yIE9wZW4gdGhlIFRyYXkgTWVudVxuKiBTY3JvbGwgb24gQ2FuZGlkYXRlIEJveCB0byBTd2l0Y2ggYW1vbmcgUGFnZXMgb3IgQ2FuZGlkYXRlc1xuKiBGaXggQ2FuZGlkYXRlIEJveCB0byBOb3QgRm9sbG93IHRoZSBDYXJldCBhbmQgU2V0IEZpeGVkIFBvc2l0aW9uXG4qIENhbmRpZGF0ZSBCb3ggRm9udFxuKiBJbnB1dCBNb2RlIFJlbWVtYmVyIGFuZCBBdXRvLXN3aXRjaCBieSBBUFBcbiogQ2hhbmdlIENhbmRpZGF0ZSBCb3ggT3BhY2l0eVxuKiBGaXggSU1FIExpc3QgT3JkZXJcbiogRHJhZyBDYW5kaWRhdGUgQm94IHRvIFJlcG9zaXRpb25cbiogU2hvdyBvciBIaWRlIENhbmRpZGF0ZSBCb3ggUGFnZSBCdXR0b25zXG4qIFN5c3RlbSBUcmF5IE1lbnVzIGFuZCBJbnRlcmFjdGlvbiBTZXR0aW5nc1xuKiAqIFNob3cgb3IgSGlkZSBUcmF5IEljb25cbiogKiBEaXJlY3RseSBDbGljayBUcmF5IEljb24gdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBBZGQgQWRkaXRpb25hbCBNZW51XG4qIElucHV0IFNvdXJjZSBJbmRpY2F0b3IgQXBwZWFyYW5jZSBhbmQgSW50ZXJhY3Rpb24gU2V0dGluZ3NcbiogKiBFbmFibGUgSW5kaWNhdG9yXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFN3aXRjaGluZyBJbnB1dCBNb2RlXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFVzaW5nIEFTQ0lJIElucHV0IE1vZGVcbiogKiBOb3QgSW5kaWNhdGUgd2hlbiBVc2luZyBTaW5nbGUgTW9kZSBJTUVcbiogKiBSaWdodC1jbGljayBJbmRpY2F0b3IgdG8gSGlkZVxuKiAqIFNjcm9sbCBvbiBJbmRpY2F0b3IgdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBJbmRpY2F0b3IgQW5pbWF0aW9uXG4qICogQ3VzdG9taXplIEZvbnRcbiogKiBMZWZ0LWNsaWNrIEluZGljYXRvciB0byBEcmFnIHRvIE1vdmUgSW5kaWNhdG9yIG9yIFN3aXRjaCBJbnB1dCBNb2RlXG4qICogQ2hhbmdlIE9wYWNpdHlcbiogKiBFbmFibGUgSW5kaWNhdG9yIFNob3cgRGVsYXkgYW5kIENvbmZpZ3VyZSBTaG93aW5nIFRpbWVvdXRcbiogKiBFbmFibGUgQXV0by1oaWRlIEluZGljYXRvciBhbmQgQ29uZmlndXJlIEF1dG8taGlkZSBUaW1lb3V0XG4qIFRoZW1lIChTdHlsZXNoZWV0IFByb3ZpZGVkIG9yIEV4dHJhY3RlZCBmcm9tIEdOT01FIFNoZWxsIFRoZW1lcywgUmVmZXIgdG8gSGVscCBJbnN0cnVjdGlvbnMgaW4gRXh0ZW5zaW9uIGZvciBNb3JlKVxuKiBDYW5kaWRhdGUgQm94IEJhY2tncm91bmQgYW5kIGl0cyBEaXNwbGF5aW5nIFN0eWxlXG4qIFRoZW1lIGFuZCBCYWNrZ3JvdW5kIFBpY3R1cmUgRm9sbG93IEdOT01FIE5pZ2h0IExpZ2h0IE1vZGVcblxuVXNlciBHdWlkZTogaHR0cHM6Ly9ob2xsb3dtYW5zYmxvZy53b3JkcHJlc3MuY29tLzIwMjEvMDgvMjEvY3VzdG9taXplLWlidXMtdXNlci1ndWlkZS9cblxuXHU2ZGYxXHU1ZWE2XHU1YjlhXHU1MjM2IElCdXMgXHU3Njg0XHU1OTE2XHU4OWMyXHUzMDAxXHU4ODRjXHU0ZTNhXHUzMDAxXHU3Y2ZiXHU3ZWRmXHU2MjU4XHU3NmQ4XHU0ZWU1XHU1M2NhXHU4ZjkzXHU1MTY1XHU2MzA3XHU3OTNhXG5cblx1NjUyZlx1NjMwMVx1ODFlYVx1NWI5YVx1NGU0OVx1ZmYxYVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTY1YjlcdTU0MTFcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU1MmE4XHU3NTNiXG4qIFx1NTNmM1x1OTUyZVx1NTM1NVx1NTFmYlx1NTAxOVx1OTAwOVx1Njg0Nlx1NGVlNVx1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFx1NjIxNlx1NjI1M1x1NWYwMFx1NGVmYlx1NTJhMVx1NjgwZlx1ODNkY1x1NTM1NVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTRlMGFcdTZlZGFcdTUyYThcdTRlZTVcdTUyMDdcdTYzNjJcdTk4NzVcdTk3NjJcdTYyMTZcdTUwMTlcdTkwMDlcdThiY2RcbiogXHU1NmZhXHU1YjlhXHU1MDE5XHU5MDA5XHU2ODQ2XHU0ZjdmXHU1MTc2XHU0ZTBkXHU4ZGRmXHU5NjhmXHU1MTQ5XHU2ODA3XHU0ZWU1XHU1M2NhXHU4YmJlXHU1YjlhXHU1NmZhXHU1YjlhXHU0ZjRkXHU3ZjZlXG4qIFx1NTAxOVx1OTAwOVx1Njg0Nlx1NWI1N1x1NGY1M1xuKiBcdThmOTNcdTUxNjVcdTZhMjFcdTVmMGZcdTY4MzlcdTYzNmVcdTVlOTRcdTc1MjhcdThiYjBcdTVmYzZcdTVlNzZcdTgxZWFcdTUyYThcdTUyMDdcdTYzNjJcbiogXHU2NmY0XHU2NTM5XHU1MDE5XHU5MDA5XHU2ODQ2XHU5MDBmXHU2NjBlXHU1ZWE2XG4qIFx1NTZmYVx1NWI5YVx1OGY5M1x1NTE2NVx1NmNkNVx1NTIxN1x1ODg2OFx1OTg3YVx1NWU4ZlxuKiBcdTYyZDZcdTYyZmRcdTc5ZmJcdTUyYThcdTUwMTlcdTkwMDlcdTY4NDZcbiogXHU2NjNlXHU3OTNhXHU2MjE2XHU5NjkwXHU4NWNmXHU1MDE5XHU5MDA5XHU2ODQ2XHU4YzAzXHU5ODc1XHU2MzA5XHU5NGFlXG4qIFx1N2NmYlx1N2VkZlx1NGVmYlx1NTJhMVx1NjgwZlx1NjI1OFx1NzZkOFx1NjYzZVx1NzkzYVx1NTQ4Y1x1NGVhNFx1NGU5Mlx1OGJiZVx1N2Y2ZVxuKiAqIFx1NjYzZVx1NzkzYVx1NjIxNlx1OTY5MFx1ODVjZlx1NjI1OFx1NzZkOFx1NTZmZVx1NjgwN1xuKiAqIFx1NzZmNFx1NjNhNVx1NzBiOVx1NTFmYlx1NjI1OFx1NzZkOFx1NTZmZVx1NjgwN1x1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFxuKiAqIFx1NmRmYlx1NTJhMFx1OTg5ZFx1NTkxNlx1ODNkY1x1NTM1NVxuKiBcdThmOTNcdTUxNjVcdTZlOTBcdTYzMDdcdTc5M2FcdTU2NjhcdTUzY2FcdTUxNzZcdTY2M2VcdTc5M2FcdTU0OGNcdTRlYTRcdTRlOTJcdThiYmVcdTdmNmVcbiogKiBcdTU0MmZcdTc1MjhcdTYzMDdcdTc5M2FcdTU2NjhcbiogKiBcdTRlYzVcdTU3MjhcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZjZDVcdTY1ZjZcdTYzMDdcdTc5M2FcbiogKiBcdTRlYzVcdTU3MjhcdTgyZjFcdTY1ODdcdThmOTNcdTUxNjVcdTY1ZjZcdTYzMDdcdTc5M2FcbiogKiBcdTRmN2ZcdTc1MjhcdTUzNTVcdTZhMjFcdTVmMGZcdThmOTNcdTUxNjVcdTZjZDVcdTY1ZjZcdTRlMGRcdTYzMDdcdTc5M2FcbiogKiBcdTUzZjNcdTUxZmJcdTYzMDdcdTc5M2FcdTU2NjhcdTY3NjVcdTVjMDZcdTUxNzZcdTk2OTBcdTg1Y2ZcbiogKiBcdTYzMDdcdTc5M2FcdTU2NjhcdTRlMGFcdTZlZGFcdTUyYThcdTY3NjVcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZlOTBcbiogKiBcdTYzMDdcdTc5M2FcdTU2NjhcdTY2M2VcdTc5M2FcdTUyYThcdTc1M2JcbiogKiBcdTgxZWFcdTViOWFcdTRlNDlcdTViNTdcdTRmNTNcbiogKiBcdTVkZTZcdTUxZmJcdTYzMDdcdTc5M2FcdTU2NjhcdTRlZTVcdTYyZDZcdTYyZmRcdTc5ZmJcdTUyYThcdTYyMTZcdTgwMDVcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZlOTBcbiogKiBcdTY2ZjRcdTY1MzlcdTkwMGZcdTY2MGVcdTVlYTZcbiogKiBcdTU0MmZcdTc1MjhcdTVlZjZcdTY1ZjZcdTY2M2VcdTc5M2FcdTRlZTVcdTUzY2FcdTkxNGRcdTdmNmVcdTY2M2VcdTc5M2FcdTY1ZjZcdTVlZjZcbiogKiBcdTU0MmZcdTc1MjhcdTgxZWFcdTUyYThcdTk2OTBcdTg1Y2ZcdTRlZTVcdTUzY2FcdTkxNGRcdTdmNmVcdTgxZWFcdTUyYThcdTk2OTBcdTg1Y2ZcdTY1ZjZcdTVlZjZcbiogXHU3NmFlXHU4MGE0XHU2ODM3XHU1ZjBmXHU0ZTNiXHU5ODk4XHVmZjA4XHU2M2QwXHU0ZjliXHU3Njg0XHU2MjE2XHU4MDA1XHU0ZWNlR05PTUUgU2hlbGxcdTRlM2JcdTk4OThcdTRlMmRcdTYzZDBcdTUzZDZcdTc2ODRcdTY4MzdcdTVmMGZcdTg4NjhcdWZmMGNcdTUzYzJcdTg5YzFcdTYyNjlcdTVjNTVcdTc2ODRcdTVlMmVcdTUyYTlcdTkwZThcdTUyMDZcdTY3NjVcdTgzYjdcdTUzZDZcdTY2ZjRcdTU5MWFcdTYzMDdcdTViZmNcdWZmMDlcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU4MGNjXHU2NjZmXHU1NmZlXHU3MjQ3XHU1M2NhXHU1MTc2XHU2NjNlXHU3OTNhXHU2ODM3XHU1ZjBmXG4qIFx1NGUzYlx1OTg5OFx1NTQ4Y1x1ODBjY1x1NjY2Zlx1NTZmZVx1NzI0N1x1OGRkZlx1OTY4ZkdOT01FXHU1OTFjXHU3MDZmXG5cblx1NGY3Zlx1NzUyOFx1NjMwN1x1NTM1N1x1ZmYxYWh0dHBzOi8vYmxvZy5jc2RuLm5ldC9xcV8xODU3MjAyMy9hcnRpY2xlL2RldGFpbHMvMTE2MzMxNjAxIiwKICAiZXh0ZW5zaW9uLWlkIjogImN1c3RvbWl6ZS1pYnVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9taXplLWlidXMiLAogICJuYW1lIjogIkN1c3RvbWl6ZSBJQnVzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJob2xsb3dtYW5Ab3BlbnN1c2Uub3JnIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b21pemUtaWJ1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL0N1c3RvbWl6ZS1JQnVzIiwKICAidXVpZCI6ICJjdXN0b21pemUtaWJ1c0Bob2xsb3dtYW4ubWwiLAogICJ2ZXJzaW9uIjogODIKfQ=="}, "41": {"version": "82", "sha256": "1rn0zskj5s7xp11p8sbgybghngqyf5chs469w51vn8n24k4bgdp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGwgY3VzdG9taXphdGlvbiBvZiBhcHBlYXJhbmNlLCBiZWhhdmlvciwgc3lzdGVtIHRyYXkgYW5kIGlucHV0IHNvdXJjZSBpbmRpY2F0b3IgZm9yIElCdXNcblxuU3VwcG9ydCBDdXN0b21pemF0aW9uIG9mOlxuKiBDYW5kaWRhdGUgQm94IE9yaWVudGF0aW9uXG4qIENhbmRpZGF0ZSBCb3ggQW5pbWF0aW9uXG4qIFJpZ2h0LWNsaWNrIENhbmRpZGF0ZSBCb3ggdG8gU3dpdGNoIHRoZSBJbnB1dCBNb2RlIG9yIE9wZW4gdGhlIFRyYXkgTWVudVxuKiBTY3JvbGwgb24gQ2FuZGlkYXRlIEJveCB0byBTd2l0Y2ggYW1vbmcgUGFnZXMgb3IgQ2FuZGlkYXRlc1xuKiBGaXggQ2FuZGlkYXRlIEJveCB0byBOb3QgRm9sbG93IHRoZSBDYXJldCBhbmQgU2V0IEZpeGVkIFBvc2l0aW9uXG4qIENhbmRpZGF0ZSBCb3ggRm9udFxuKiBJbnB1dCBNb2RlIFJlbWVtYmVyIGFuZCBBdXRvLXN3aXRjaCBieSBBUFBcbiogQ2hhbmdlIENhbmRpZGF0ZSBCb3ggT3BhY2l0eVxuKiBGaXggSU1FIExpc3QgT3JkZXJcbiogRHJhZyBDYW5kaWRhdGUgQm94IHRvIFJlcG9zaXRpb25cbiogU2hvdyBvciBIaWRlIENhbmRpZGF0ZSBCb3ggUGFnZSBCdXR0b25zXG4qIFN5c3RlbSBUcmF5IE1lbnVzIGFuZCBJbnRlcmFjdGlvbiBTZXR0aW5nc1xuKiAqIFNob3cgb3IgSGlkZSBUcmF5IEljb25cbiogKiBEaXJlY3RseSBDbGljayBUcmF5IEljb24gdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBBZGQgQWRkaXRpb25hbCBNZW51XG4qIElucHV0IFNvdXJjZSBJbmRpY2F0b3IgQXBwZWFyYW5jZSBhbmQgSW50ZXJhY3Rpb24gU2V0dGluZ3NcbiogKiBFbmFibGUgSW5kaWNhdG9yXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFN3aXRjaGluZyBJbnB1dCBNb2RlXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFVzaW5nIEFTQ0lJIElucHV0IE1vZGVcbiogKiBOb3QgSW5kaWNhdGUgd2hlbiBVc2luZyBTaW5nbGUgTW9kZSBJTUVcbiogKiBSaWdodC1jbGljayBJbmRpY2F0b3IgdG8gSGlkZVxuKiAqIFNjcm9sbCBvbiBJbmRpY2F0b3IgdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBJbmRpY2F0b3IgQW5pbWF0aW9uXG4qICogQ3VzdG9taXplIEZvbnRcbiogKiBMZWZ0LWNsaWNrIEluZGljYXRvciB0byBEcmFnIHRvIE1vdmUgSW5kaWNhdG9yIG9yIFN3aXRjaCBJbnB1dCBNb2RlXG4qICogQ2hhbmdlIE9wYWNpdHlcbiogKiBFbmFibGUgSW5kaWNhdG9yIFNob3cgRGVsYXkgYW5kIENvbmZpZ3VyZSBTaG93aW5nIFRpbWVvdXRcbiogKiBFbmFibGUgQXV0by1oaWRlIEluZGljYXRvciBhbmQgQ29uZmlndXJlIEF1dG8taGlkZSBUaW1lb3V0XG4qIFRoZW1lIChTdHlsZXNoZWV0IFByb3ZpZGVkIG9yIEV4dHJhY3RlZCBmcm9tIEdOT01FIFNoZWxsIFRoZW1lcywgUmVmZXIgdG8gSGVscCBJbnN0cnVjdGlvbnMgaW4gRXh0ZW5zaW9uIGZvciBNb3JlKVxuKiBDYW5kaWRhdGUgQm94IEJhY2tncm91bmQgYW5kIGl0cyBEaXNwbGF5aW5nIFN0eWxlXG4qIFRoZW1lIGFuZCBCYWNrZ3JvdW5kIFBpY3R1cmUgRm9sbG93IEdOT01FIE5pZ2h0IExpZ2h0IE1vZGVcblxuVXNlciBHdWlkZTogaHR0cHM6Ly9ob2xsb3dtYW5zYmxvZy53b3JkcHJlc3MuY29tLzIwMjEvMDgvMjEvY3VzdG9taXplLWlidXMtdXNlci1ndWlkZS9cblxuXHU2ZGYxXHU1ZWE2XHU1YjlhXHU1MjM2IElCdXMgXHU3Njg0XHU1OTE2XHU4OWMyXHUzMDAxXHU4ODRjXHU0ZTNhXHUzMDAxXHU3Y2ZiXHU3ZWRmXHU2MjU4XHU3NmQ4XHU0ZWU1XHU1M2NhXHU4ZjkzXHU1MTY1XHU2MzA3XHU3OTNhXG5cblx1NjUyZlx1NjMwMVx1ODFlYVx1NWI5YVx1NGU0OVx1ZmYxYVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTY1YjlcdTU0MTFcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU1MmE4XHU3NTNiXG4qIFx1NTNmM1x1OTUyZVx1NTM1NVx1NTFmYlx1NTAxOVx1OTAwOVx1Njg0Nlx1NGVlNVx1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFx1NjIxNlx1NjI1M1x1NWYwMFx1NGVmYlx1NTJhMVx1NjgwZlx1ODNkY1x1NTM1NVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTRlMGFcdTZlZGFcdTUyYThcdTRlZTVcdTUyMDdcdTYzNjJcdTk4NzVcdTk3NjJcdTYyMTZcdTUwMTlcdTkwMDlcdThiY2RcbiogXHU1NmZhXHU1YjlhXHU1MDE5XHU5MDA5XHU2ODQ2XHU0ZjdmXHU1MTc2XHU0ZTBkXHU4ZGRmXHU5NjhmXHU1MTQ5XHU2ODA3XHU0ZWU1XHU1M2NhXHU4YmJlXHU1YjlhXHU1NmZhXHU1YjlhXHU0ZjRkXHU3ZjZlXG4qIFx1NTAxOVx1OTAwOVx1Njg0Nlx1NWI1N1x1NGY1M1xuKiBcdThmOTNcdTUxNjVcdTZhMjFcdTVmMGZcdTY4MzlcdTYzNmVcdTVlOTRcdTc1MjhcdThiYjBcdTVmYzZcdTVlNzZcdTgxZWFcdTUyYThcdTUyMDdcdTYzNjJcbiogXHU2NmY0XHU2NTM5XHU1MDE5XHU5MDA5XHU2ODQ2XHU5MDBmXHU2NjBlXHU1ZWE2XG4qIFx1NTZmYVx1NWI5YVx1OGY5M1x1NTE2NVx1NmNkNVx1NTIxN1x1ODg2OFx1OTg3YVx1NWU4ZlxuKiBcdTYyZDZcdTYyZmRcdTc5ZmJcdTUyYThcdTUwMTlcdTkwMDlcdTY4NDZcbiogXHU2NjNlXHU3OTNhXHU2MjE2XHU5NjkwXHU4NWNmXHU1MDE5XHU5MDA5XHU2ODQ2XHU4YzAzXHU5ODc1XHU2MzA5XHU5NGFlXG4qIFx1N2NmYlx1N2VkZlx1NGVmYlx1NTJhMVx1NjgwZlx1NjI1OFx1NzZkOFx1NjYzZVx1NzkzYVx1NTQ4Y1x1NGVhNFx1NGU5Mlx1OGJiZVx1N2Y2ZVxuKiAqIFx1NjYzZVx1NzkzYVx1NjIxNlx1OTY5MFx1ODVjZlx1NjI1OFx1NzZkOFx1NTZmZVx1NjgwN1xuKiAqIFx1NzZmNFx1NjNhNVx1NzBiOVx1NTFmYlx1NjI1OFx1NzZkOFx1NTZmZVx1NjgwN1x1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFxuKiAqIFx1NmRmYlx1NTJhMFx1OTg5ZFx1NTkxNlx1ODNkY1x1NTM1NVxuKiBcdThmOTNcdTUxNjVcdTZlOTBcdTYzMDdcdTc5M2FcdTU2NjhcdTUzY2FcdTUxNzZcdTY2M2VcdTc5M2FcdTU0OGNcdTRlYTRcdTRlOTJcdThiYmVcdTdmNmVcbiogKiBcdTU0MmZcdTc1MjhcdTYzMDdcdTc5M2FcdTU2NjhcbiogKiBcdTRlYzVcdTU3MjhcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZjZDVcdTY1ZjZcdTYzMDdcdTc5M2FcbiogKiBcdTRlYzVcdTU3MjhcdTgyZjFcdTY1ODdcdThmOTNcdTUxNjVcdTY1ZjZcdTYzMDdcdTc5M2FcbiogKiBcdTRmN2ZcdTc1MjhcdTUzNTVcdTZhMjFcdTVmMGZcdThmOTNcdTUxNjVcdTZjZDVcdTY1ZjZcdTRlMGRcdTYzMDdcdTc5M2FcbiogKiBcdTUzZjNcdTUxZmJcdTYzMDdcdTc5M2FcdTU2NjhcdTY3NjVcdTVjMDZcdTUxNzZcdTk2OTBcdTg1Y2ZcbiogKiBcdTYzMDdcdTc5M2FcdTU2NjhcdTRlMGFcdTZlZGFcdTUyYThcdTY3NjVcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZlOTBcbiogKiBcdTYzMDdcdTc5M2FcdTU2NjhcdTY2M2VcdTc5M2FcdTUyYThcdTc1M2JcbiogKiBcdTgxZWFcdTViOWFcdTRlNDlcdTViNTdcdTRmNTNcbiogKiBcdTVkZTZcdTUxZmJcdTYzMDdcdTc5M2FcdTU2NjhcdTRlZTVcdTYyZDZcdTYyZmRcdTc5ZmJcdTUyYThcdTYyMTZcdTgwMDVcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZlOTBcbiogKiBcdTY2ZjRcdTY1MzlcdTkwMGZcdTY2MGVcdTVlYTZcbiogKiBcdTU0MmZcdTc1MjhcdTVlZjZcdTY1ZjZcdTY2M2VcdTc5M2FcdTRlZTVcdTUzY2FcdTkxNGRcdTdmNmVcdTY2M2VcdTc5M2FcdTY1ZjZcdTVlZjZcbiogKiBcdTU0MmZcdTc1MjhcdTgxZWFcdTUyYThcdTk2OTBcdTg1Y2ZcdTRlZTVcdTUzY2FcdTkxNGRcdTdmNmVcdTgxZWFcdTUyYThcdTk2OTBcdTg1Y2ZcdTY1ZjZcdTVlZjZcbiogXHU3NmFlXHU4MGE0XHU2ODM3XHU1ZjBmXHU0ZTNiXHU5ODk4XHVmZjA4XHU2M2QwXHU0ZjliXHU3Njg0XHU2MjE2XHU4MDA1XHU0ZWNlR05PTUUgU2hlbGxcdTRlM2JcdTk4OThcdTRlMmRcdTYzZDBcdTUzZDZcdTc2ODRcdTY4MzdcdTVmMGZcdTg4NjhcdWZmMGNcdTUzYzJcdTg5YzFcdTYyNjlcdTVjNTVcdTc2ODRcdTVlMmVcdTUyYTlcdTkwZThcdTUyMDZcdTY3NjVcdTgzYjdcdTUzZDZcdTY2ZjRcdTU5MWFcdTYzMDdcdTViZmNcdWZmMDlcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU4MGNjXHU2NjZmXHU1NmZlXHU3MjQ3XHU1M2NhXHU1MTc2XHU2NjNlXHU3OTNhXHU2ODM3XHU1ZjBmXG4qIFx1NGUzYlx1OTg5OFx1NTQ4Y1x1ODBjY1x1NjY2Zlx1NTZmZVx1NzI0N1x1OGRkZlx1OTY4ZkdOT01FXHU1OTFjXHU3MDZmXG5cblx1NGY3Zlx1NzUyOFx1NjMwN1x1NTM1N1x1ZmYxYWh0dHBzOi8vYmxvZy5jc2RuLm5ldC9xcV8xODU3MjAyMy9hcnRpY2xlL2RldGFpbHMvMTE2MzMxNjAxIiwKICAiZXh0ZW5zaW9uLWlkIjogImN1c3RvbWl6ZS1pYnVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9taXplLWlidXMiLAogICJuYW1lIjogIkN1c3RvbWl6ZSBJQnVzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJob2xsb3dtYW5Ab3BlbnN1c2Uub3JnIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b21pemUtaWJ1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL0N1c3RvbWl6ZS1JQnVzIiwKICAidXVpZCI6ICJjdXN0b21pemUtaWJ1c0Bob2xsb3dtYW4ubWwiLAogICJ2ZXJzaW9uIjogODIKfQ=="}, "42": {"version": "82", "sha256": "1rn0zskj5s7xp11p8sbgybghngqyf5chs469w51vn8n24k4bgdp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGwgY3VzdG9taXphdGlvbiBvZiBhcHBlYXJhbmNlLCBiZWhhdmlvciwgc3lzdGVtIHRyYXkgYW5kIGlucHV0IHNvdXJjZSBpbmRpY2F0b3IgZm9yIElCdXNcblxuU3VwcG9ydCBDdXN0b21pemF0aW9uIG9mOlxuKiBDYW5kaWRhdGUgQm94IE9yaWVudGF0aW9uXG4qIENhbmRpZGF0ZSBCb3ggQW5pbWF0aW9uXG4qIFJpZ2h0LWNsaWNrIENhbmRpZGF0ZSBCb3ggdG8gU3dpdGNoIHRoZSBJbnB1dCBNb2RlIG9yIE9wZW4gdGhlIFRyYXkgTWVudVxuKiBTY3JvbGwgb24gQ2FuZGlkYXRlIEJveCB0byBTd2l0Y2ggYW1vbmcgUGFnZXMgb3IgQ2FuZGlkYXRlc1xuKiBGaXggQ2FuZGlkYXRlIEJveCB0byBOb3QgRm9sbG93IHRoZSBDYXJldCBhbmQgU2V0IEZpeGVkIFBvc2l0aW9uXG4qIENhbmRpZGF0ZSBCb3ggRm9udFxuKiBJbnB1dCBNb2RlIFJlbWVtYmVyIGFuZCBBdXRvLXN3aXRjaCBieSBBUFBcbiogQ2hhbmdlIENhbmRpZGF0ZSBCb3ggT3BhY2l0eVxuKiBGaXggSU1FIExpc3QgT3JkZXJcbiogRHJhZyBDYW5kaWRhdGUgQm94IHRvIFJlcG9zaXRpb25cbiogU2hvdyBvciBIaWRlIENhbmRpZGF0ZSBCb3ggUGFnZSBCdXR0b25zXG4qIFN5c3RlbSBUcmF5IE1lbnVzIGFuZCBJbnRlcmFjdGlvbiBTZXR0aW5nc1xuKiAqIFNob3cgb3IgSGlkZSBUcmF5IEljb25cbiogKiBEaXJlY3RseSBDbGljayBUcmF5IEljb24gdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBBZGQgQWRkaXRpb25hbCBNZW51XG4qIElucHV0IFNvdXJjZSBJbmRpY2F0b3IgQXBwZWFyYW5jZSBhbmQgSW50ZXJhY3Rpb24gU2V0dGluZ3NcbiogKiBFbmFibGUgSW5kaWNhdG9yXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFN3aXRjaGluZyBJbnB1dCBNb2RlXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFVzaW5nIEFTQ0lJIElucHV0IE1vZGVcbiogKiBOb3QgSW5kaWNhdGUgd2hlbiBVc2luZyBTaW5nbGUgTW9kZSBJTUVcbiogKiBSaWdodC1jbGljayBJbmRpY2F0b3IgdG8gSGlkZVxuKiAqIFNjcm9sbCBvbiBJbmRpY2F0b3IgdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBJbmRpY2F0b3IgQW5pbWF0aW9uXG4qICogQ3VzdG9taXplIEZvbnRcbiogKiBMZWZ0LWNsaWNrIEluZGljYXRvciB0byBEcmFnIHRvIE1vdmUgSW5kaWNhdG9yIG9yIFN3aXRjaCBJbnB1dCBNb2RlXG4qICogQ2hhbmdlIE9wYWNpdHlcbiogKiBFbmFibGUgSW5kaWNhdG9yIFNob3cgRGVsYXkgYW5kIENvbmZpZ3VyZSBTaG93aW5nIFRpbWVvdXRcbiogKiBFbmFibGUgQXV0by1oaWRlIEluZGljYXRvciBhbmQgQ29uZmlndXJlIEF1dG8taGlkZSBUaW1lb3V0XG4qIFRoZW1lIChTdHlsZXNoZWV0IFByb3ZpZGVkIG9yIEV4dHJhY3RlZCBmcm9tIEdOT01FIFNoZWxsIFRoZW1lcywgUmVmZXIgdG8gSGVscCBJbnN0cnVjdGlvbnMgaW4gRXh0ZW5zaW9uIGZvciBNb3JlKVxuKiBDYW5kaWRhdGUgQm94IEJhY2tncm91bmQgYW5kIGl0cyBEaXNwbGF5aW5nIFN0eWxlXG4qIFRoZW1lIGFuZCBCYWNrZ3JvdW5kIFBpY3R1cmUgRm9sbG93IEdOT01FIE5pZ2h0IExpZ2h0IE1vZGVcblxuVXNlciBHdWlkZTogaHR0cHM6Ly9ob2xsb3dtYW5zYmxvZy53b3JkcHJlc3MuY29tLzIwMjEvMDgvMjEvY3VzdG9taXplLWlidXMtdXNlci1ndWlkZS9cblxuXHU2ZGYxXHU1ZWE2XHU1YjlhXHU1MjM2IElCdXMgXHU3Njg0XHU1OTE2XHU4OWMyXHUzMDAxXHU4ODRjXHU0ZTNhXHUzMDAxXHU3Y2ZiXHU3ZWRmXHU2MjU4XHU3NmQ4XHU0ZWU1XHU1M2NhXHU4ZjkzXHU1MTY1XHU2MzA3XHU3OTNhXG5cblx1NjUyZlx1NjMwMVx1ODFlYVx1NWI5YVx1NGU0OVx1ZmYxYVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTY1YjlcdTU0MTFcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU1MmE4XHU3NTNiXG4qIFx1NTNmM1x1OTUyZVx1NTM1NVx1NTFmYlx1NTAxOVx1OTAwOVx1Njg0Nlx1NGVlNVx1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFx1NjIxNlx1NjI1M1x1NWYwMFx1NGVmYlx1NTJhMVx1NjgwZlx1ODNkY1x1NTM1NVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTRlMGFcdTZlZGFcdTUyYThcdTRlZTVcdTUyMDdcdTYzNjJcdTk4NzVcdTk3NjJcdTYyMTZcdTUwMTlcdTkwMDlcdThiY2RcbiogXHU1NmZhXHU1YjlhXHU1MDE5XHU5MDA5XHU2ODQ2XHU0ZjdmXHU1MTc2XHU0ZTBkXHU4ZGRmXHU5NjhmXHU1MTQ5XHU2ODA3XHU0ZWU1XHU1M2NhXHU4YmJlXHU1YjlhXHU1NmZhXHU1YjlhXHU0ZjRkXHU3ZjZlXG4qIFx1NTAxOVx1OTAwOVx1Njg0Nlx1NWI1N1x1NGY1M1xuKiBcdThmOTNcdTUxNjVcdTZhMjFcdTVmMGZcdTY4MzlcdTYzNmVcdTVlOTRcdTc1MjhcdThiYjBcdTVmYzZcdTVlNzZcdTgxZWFcdTUyYThcdTUyMDdcdTYzNjJcbiogXHU2NmY0XHU2NTM5XHU1MDE5XHU5MDA5XHU2ODQ2XHU5MDBmXHU2NjBlXHU1ZWE2XG4qIFx1NTZmYVx1NWI5YVx1OGY5M1x1NTE2NVx1NmNkNVx1NTIxN1x1ODg2OFx1OTg3YVx1NWU4ZlxuKiBcdTYyZDZcdTYyZmRcdTc5ZmJcdTUyYThcdTUwMTlcdTkwMDlcdTY4NDZcbiogXHU2NjNlXHU3OTNhXHU2MjE2XHU5NjkwXHU4NWNmXHU1MDE5XHU5MDA5XHU2ODQ2XHU4YzAzXHU5ODc1XHU2MzA5XHU5NGFlXG4qIFx1N2NmYlx1N2VkZlx1NGVmYlx1NTJhMVx1NjgwZlx1NjI1OFx1NzZkOFx1NjYzZVx1NzkzYVx1NTQ4Y1x1NGVhNFx1NGU5Mlx1OGJiZVx1N2Y2ZVxuKiAqIFx1NjYzZVx1NzkzYVx1NjIxNlx1OTY5MFx1ODVjZlx1NjI1OFx1NzZkOFx1NTZmZVx1NjgwN1xuKiAqIFx1NzZmNFx1NjNhNVx1NzBiOVx1NTFmYlx1NjI1OFx1NzZkOFx1NTZmZVx1NjgwN1x1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFxuKiAqIFx1NmRmYlx1NTJhMFx1OTg5ZFx1NTkxNlx1ODNkY1x1NTM1NVxuKiBcdThmOTNcdTUxNjVcdTZlOTBcdTYzMDdcdTc5M2FcdTU2NjhcdTUzY2FcdTUxNzZcdTY2M2VcdTc5M2FcdTU0OGNcdTRlYTRcdTRlOTJcdThiYmVcdTdmNmVcbiogKiBcdTU0MmZcdTc1MjhcdTYzMDdcdTc5M2FcdTU2NjhcbiogKiBcdTRlYzVcdTU3MjhcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZjZDVcdTY1ZjZcdTYzMDdcdTc5M2FcbiogKiBcdTRlYzVcdTU3MjhcdTgyZjFcdTY1ODdcdThmOTNcdTUxNjVcdTY1ZjZcdTYzMDdcdTc5M2FcbiogKiBcdTRmN2ZcdTc1MjhcdTUzNTVcdTZhMjFcdTVmMGZcdThmOTNcdTUxNjVcdTZjZDVcdTY1ZjZcdTRlMGRcdTYzMDdcdTc5M2FcbiogKiBcdTUzZjNcdTUxZmJcdTYzMDdcdTc5M2FcdTU2NjhcdTY3NjVcdTVjMDZcdTUxNzZcdTk2OTBcdTg1Y2ZcbiogKiBcdTYzMDdcdTc5M2FcdTU2NjhcdTRlMGFcdTZlZGFcdTUyYThcdTY3NjVcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZlOTBcbiogKiBcdTYzMDdcdTc5M2FcdTU2NjhcdTY2M2VcdTc5M2FcdTUyYThcdTc1M2JcbiogKiBcdTgxZWFcdTViOWFcdTRlNDlcdTViNTdcdTRmNTNcbiogKiBcdTVkZTZcdTUxZmJcdTYzMDdcdTc5M2FcdTU2NjhcdTRlZTVcdTYyZDZcdTYyZmRcdTc5ZmJcdTUyYThcdTYyMTZcdTgwMDVcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZlOTBcbiogKiBcdTY2ZjRcdTY1MzlcdTkwMGZcdTY2MGVcdTVlYTZcbiogKiBcdTU0MmZcdTc1MjhcdTVlZjZcdTY1ZjZcdTY2M2VcdTc5M2FcdTRlZTVcdTUzY2FcdTkxNGRcdTdmNmVcdTY2M2VcdTc5M2FcdTY1ZjZcdTVlZjZcbiogKiBcdTU0MmZcdTc1MjhcdTgxZWFcdTUyYThcdTk2OTBcdTg1Y2ZcdTRlZTVcdTUzY2FcdTkxNGRcdTdmNmVcdTgxZWFcdTUyYThcdTk2OTBcdTg1Y2ZcdTY1ZjZcdTVlZjZcbiogXHU3NmFlXHU4MGE0XHU2ODM3XHU1ZjBmXHU0ZTNiXHU5ODk4XHVmZjA4XHU2M2QwXHU0ZjliXHU3Njg0XHU2MjE2XHU4MDA1XHU0ZWNlR05PTUUgU2hlbGxcdTRlM2JcdTk4OThcdTRlMmRcdTYzZDBcdTUzZDZcdTc2ODRcdTY4MzdcdTVmMGZcdTg4NjhcdWZmMGNcdTUzYzJcdTg5YzFcdTYyNjlcdTVjNTVcdTc2ODRcdTVlMmVcdTUyYTlcdTkwZThcdTUyMDZcdTY3NjVcdTgzYjdcdTUzZDZcdTY2ZjRcdTU5MWFcdTYzMDdcdTViZmNcdWZmMDlcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU4MGNjXHU2NjZmXHU1NmZlXHU3MjQ3XHU1M2NhXHU1MTc2XHU2NjNlXHU3OTNhXHU2ODM3XHU1ZjBmXG4qIFx1NGUzYlx1OTg5OFx1NTQ4Y1x1ODBjY1x1NjY2Zlx1NTZmZVx1NzI0N1x1OGRkZlx1OTY4ZkdOT01FXHU1OTFjXHU3MDZmXG5cblx1NGY3Zlx1NzUyOFx1NjMwN1x1NTM1N1x1ZmYxYWh0dHBzOi8vYmxvZy5jc2RuLm5ldC9xcV8xODU3MjAyMy9hcnRpY2xlL2RldGFpbHMvMTE2MzMxNjAxIiwKICAiZXh0ZW5zaW9uLWlkIjogImN1c3RvbWl6ZS1pYnVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9taXplLWlidXMiLAogICJuYW1lIjogIkN1c3RvbWl6ZSBJQnVzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJob2xsb3dtYW5Ab3BlbnN1c2Uub3JnIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b21pemUtaWJ1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL0N1c3RvbWl6ZS1JQnVzIiwKICAidXVpZCI6ICJjdXN0b21pemUtaWJ1c0Bob2xsb3dtYW4ubWwiLAogICJ2ZXJzaW9uIjogODIKfQ=="}}}
 , {"uuid": "fildemGMenu@gonza.com", "name": "Fildem global menu", "pname": "fildem-global-menu", "description": "Global menu for Gnome", "link": "https://extensions.gnome.org/extension/4114/fildem-global-menu/", "shell_version_map": {"38": {"version": "2", "sha256": "0776vx09b1nxf6j5w9gmzg1gmzijh1mpsnfzv41svbfqyfc8zv2w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdsb2JhbCBtZW51IGZvciBHbm9tZSIsCiAgIm5hbWUiOiAiRmlsZGVtIGdsb2JhbCBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZpbGRlbS1nbG9iYWwtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL0ZpbGRlbSIsCiAgInV1aWQiOiAiZmlsZGVtR01lbnVAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "0776vx09b1nxf6j5w9gmzg1gmzijh1mpsnfzv41svbfqyfc8zv2w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdsb2JhbCBtZW51IGZvciBHbm9tZSIsCiAgIm5hbWUiOiAiRmlsZGVtIGdsb2JhbCBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZpbGRlbS1nbG9iYWwtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL0ZpbGRlbSIsCiAgInV1aWQiOiAiZmlsZGVtR01lbnVAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "0776vx09b1nxf6j5w9gmzg1gmzijh1mpsnfzv41svbfqyfc8zv2w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdsb2JhbCBtZW51IGZvciBHbm9tZSIsCiAgIm5hbWUiOiAiRmlsZGVtIGdsb2JhbCBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZpbGRlbS1nbG9iYWwtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL0ZpbGRlbSIsCiAgInV1aWQiOiAiZmlsZGVtR01lbnVAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
@@ -474,15 +476,15 @@
 , {"uuid": "user-at-host@cmm.github.com", "name": "Add user@host to top panel", "pname": "add-userhost-to-panel", "description": "Adds user@host to the top panel, on the left.\n\nNothing fancy, no support -- fork at will, the thing is very simple.", "link": "https://extensions.gnome.org/extension/4141/add-userhost-to-panel/", "shell_version_map": {"38": {"version": "7", "sha256": "1kpi9zp1lahaps44fy0xxjfjflxhaadczrfnbw0knmwjwby246f4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlckBob3N0IHRvIHRoZSB0b3AgcGFuZWwsIG9uIHRoZSBsZWZ0LlxuXG5Ob3RoaW5nIGZhbmN5LCBubyBzdXBwb3J0IC0tIGZvcmsgYXQgd2lsbCwgdGhlIHRoaW5nIGlzIHZlcnkgc2ltcGxlLiIsCiAgIm5hbWUiOiAiQWRkIHVzZXJAaG9zdCB0byB0b3AgcGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiZGFuZGFtYW45NiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NtbS9nbm9tZS11c2VyLWF0LWhvc3QiLAogICJ1dWlkIjogInVzZXItYXQtaG9zdEBjbW0uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "1kpi9zp1lahaps44fy0xxjfjflxhaadczrfnbw0knmwjwby246f4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlckBob3N0IHRvIHRoZSB0b3AgcGFuZWwsIG9uIHRoZSBsZWZ0LlxuXG5Ob3RoaW5nIGZhbmN5LCBubyBzdXBwb3J0IC0tIGZvcmsgYXQgd2lsbCwgdGhlIHRoaW5nIGlzIHZlcnkgc2ltcGxlLiIsCiAgIm5hbWUiOiAiQWRkIHVzZXJAaG9zdCB0byB0b3AgcGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiZGFuZGFtYW45NiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NtbS9nbm9tZS11c2VyLWF0LWhvc3QiLAogICJ1dWlkIjogInVzZXItYXQtaG9zdEBjbW0uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1kpi9zp1lahaps44fy0xxjfjflxhaadczrfnbw0knmwjwby246f4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlckBob3N0IHRvIHRoZSB0b3AgcGFuZWwsIG9uIHRoZSBsZWZ0LlxuXG5Ob3RoaW5nIGZhbmN5LCBubyBzdXBwb3J0IC0tIGZvcmsgYXQgd2lsbCwgdGhlIHRoaW5nIGlzIHZlcnkgc2ltcGxlLiIsCiAgIm5hbWUiOiAiQWRkIHVzZXJAaG9zdCB0byB0b3AgcGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiZGFuZGFtYW45NiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NtbS9nbm9tZS11c2VyLWF0LWhvc3QiLAogICJ1dWlkIjogInVzZXItYXQtaG9zdEBjbW0uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "42": {"version": "7", "sha256": "1kpi9zp1lahaps44fy0xxjfjflxhaadczrfnbw0knmwjwby246f4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlckBob3N0IHRvIHRoZSB0b3AgcGFuZWwsIG9uIHRoZSBsZWZ0LlxuXG5Ob3RoaW5nIGZhbmN5LCBubyBzdXBwb3J0IC0tIGZvcmsgYXQgd2lsbCwgdGhlIHRoaW5nIGlzIHZlcnkgc2ltcGxlLiIsCiAgIm5hbWUiOiAiQWRkIHVzZXJAaG9zdCB0byB0b3AgcGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiZGFuZGFtYW45NiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NtbS9nbm9tZS11c2VyLWF0LWhvc3QiLAogICJ1dWlkIjogInVzZXItYXQtaG9zdEBjbW0uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "vertical-overview@RensAlthuis.github.com", "name": "Vertical overview", "pname": "vertical-overview", "description": "Bringing back vertically stacked workspaces", "link": "https://extensions.gnome.org/extension/4144/vertical-overview/", "shell_version_map": {"40": {"version": "8", "sha256": "0h865ipn97k9yrj4r0qhfdj2vnwk92720ahim22sw86605ljc77z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5naW5nIGJhY2sgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIG92ZXJ2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9yIjogInJlbnMuYWx0aHVpc0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC1vdmVydmlld0BSZW5zQWx0aHVpcy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "0h865ipn97k9yrj4r0qhfdj2vnwk92720ahim22sw86605ljc77z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5naW5nIGJhY2sgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIG92ZXJ2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9yIjogInJlbnMuYWx0aHVpc0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC1vdmVydmlld0BSZW5zQWx0aHVpcy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "workspace-isolated_app-switcher@lestibournes", "name": "Workspace-Isolated App-Switcher", "pname": "workspace-isolated-app-switcher", "description": "App-Switcher modification that shows only the apps that are running on the current workspace. Fork of App-Switcher Current Workspace First by fawtytoo.", "link": "https://extensions.gnome.org/extension/4145/workspace-isolated-app-switcher/", "shell_version_map": {"38": {"version": "1", "sha256": "0bcf8l1sb73f0ggvavkfjk10s67k7w4f3yr0s9inil6z8pbk7bsr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzaG93cyBvbmx5IHRoZSBhcHBzIHRoYXQgYXJlIHJ1bm5pbmcgb24gdGhlIGN1cnJlbnQgd29ya3NwYWNlLiBGb3JrIG9mIEFwcC1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCBieSBmYXd0eXRvby4iLAogICJuYW1lIjogIldvcmtzcGFjZS1Jc29sYXRlZCBBcHAtU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAid29ya3NwYWNlLWlzb2xhdGVkX2FwcC1zd2l0Y2hlckBsZXN0aWJvdXJuZXMiLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "kubectl@infinicode.de", "name": "Kubectl Extension", "pname": "kubectl-extension", "description": "Quick panel access to kubernetes resources utilizing kubectl CLI", "link": "https://extensions.gnome.org/extension/4147/kubectl-extension/", "shell_version_map": {"38": {"version": "4", "sha256": "1lcmkyns6s4nv9ag9h80vs4cxrjxw907b3bxzqvs7ig9s1h41rqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHBhbmVsIGFjY2VzcyB0byBrdWJlcm5ldGVzIHJlc291cmNlcyB1dGlsaXppbmcga3ViZWN0bCBDTEkiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkt1YmVjdGwgRXh0ZW5zaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMva3ViZWN0bC1leHRlbnNpb24iLAogICJ1dWlkIjogImt1YmVjdGxAaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "1lcmkyns6s4nv9ag9h80vs4cxrjxw907b3bxzqvs7ig9s1h41rqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHBhbmVsIGFjY2VzcyB0byBrdWJlcm5ldGVzIHJlc291cmNlcyB1dGlsaXppbmcga3ViZWN0bCBDTEkiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkt1YmVjdGwgRXh0ZW5zaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMva3ViZWN0bC1leHRlbnNpb24iLAogICJ1dWlkIjogImt1YmVjdGxAaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"uuid": "alwaysshowworkspacethumbnails@alynx.one", "name": "Always Show Workspace Thumbnails", "pname": "always-show-workspace-thumbnails", "description": "Always show workspace thumbnails even there is only one workspace.", "link": "https://extensions.gnome.org/extension/4156/always-show-workspace-thumbnails/", "shell_version_map": {"40": {"version": "3", "sha256": "08z8ij9cj198g7cw3mr9spy1pirqhxkhmqwhg2vysql9bwhc3w1q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FseW54WmhvdS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYWx3YXlzLXNob3ctd29ya3NwYWNlLXRodW1ibmFpbHMvIiwKICAidXVpZCI6ICJhbHdheXNzaG93d29ya3NwYWNldGh1bWJuYWlsc0BhbHlueC5vbmUiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "08z8ij9cj198g7cw3mr9spy1pirqhxkhmqwhg2vysql9bwhc3w1q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FseW54WmhvdS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYWx3YXlzLXNob3ctd29ya3NwYWNlLXRodW1ibmFpbHMvIiwKICAidXVpZCI6ICJhbHdheXNzaG93d29ya3NwYWNldGh1bWJuYWlsc0BhbHlueC5vbmUiLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"uuid": "gnome-ui-tune@itstime.tech", "name": "Gnome 4x UI Improvements", "pname": "gnome-40-ui-improvements", "description": "Tunes gnome 40/41/42's Overview UI to make it more usable.\n\nChanges:\n- Search textbox is hidden by default and shown only when user begins to type-to-search\n- Scale of workspaces' thumbnails increased 2x\n- Restores wallpaper on workspaces' thumbnails. No more gray background\n- Show workspaces' thumbnails even when there is only one workspace\n- Firefox's PIP (picture in picture) window is now displayed on the overview screen\n\nAll modifications can be disabled in the extension's settings.\n\nATTENTION!\nAfter extension update, gnome-shell restart is required:\nX11: Alt+F2 => r\nWayland: logout => login", "link": "https://extensions.gnome.org/extension/4158/gnome-40-ui-improvements/", "shell_version_map": {"40": {"version": "9", "sha256": "1712psni5pnqi99pgk27aan3iw5v6z8pv7qszgjkwl6ckzjijcnx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "1712psni5pnqi99pgk27aan3iw5v6z8pv7qszgjkwl6ckzjijcnx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "1712psni5pnqi99pgk27aan3iw5v6z8pv7qszgjkwl6ckzjijcnx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
+, {"uuid": "kubectl@infinicode.de", "name": "Kubectl Extension", "pname": "kubectl-extension", "description": "Quick panel access to kubernetes resources utilizing kubectl CLI", "link": "https://extensions.gnome.org/extension/4147/kubectl-extension/", "shell_version_map": {"38": {"version": "6", "sha256": "1avc1k7lhzwnzys5296s4wcj71bvzngn2r1bsjxjdfdam58vpghw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHBhbmVsIGFjY2VzcyB0byBrdWJlcm5ldGVzIHJlc291cmNlcyB1dGlsaXppbmcga3ViZWN0bCBDTEkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkt1YmVjdGwgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmVjdGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5hdGljL2t1YmVjdGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "1avc1k7lhzwnzys5296s4wcj71bvzngn2r1bsjxjdfdam58vpghw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHBhbmVsIGFjY2VzcyB0byBrdWJlcm5ldGVzIHJlc291cmNlcyB1dGlsaXppbmcga3ViZWN0bCBDTEkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkt1YmVjdGwgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmVjdGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5hdGljL2t1YmVjdGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "1avc1k7lhzwnzys5296s4wcj71bvzngn2r1bsjxjdfdam58vpghw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHBhbmVsIGFjY2VzcyB0byBrdWJlcm5ldGVzIHJlc291cmNlcyB1dGlsaXppbmcga3ViZWN0bCBDTEkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkt1YmVjdGwgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmVjdGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5hdGljL2t1YmVjdGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "1avc1k7lhzwnzys5296s4wcj71bvzngn2r1bsjxjdfdam58vpghw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHBhbmVsIGFjY2VzcyB0byBrdWJlcm5ldGVzIHJlc291cmNlcyB1dGlsaXppbmcga3ViZWN0bCBDTEkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkt1YmVjdGwgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmVjdGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5hdGljL2t1YmVjdGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"uuid": "alwaysshowworkspacethumbnails@alynx.one", "name": "Always Show Workspace Thumbnails", "pname": "always-show-workspace-thumbnails", "description": "Always show workspace thumbnails even there is only one workspace.", "link": "https://extensions.gnome.org/extension/4156/always-show-workspace-thumbnails/", "shell_version_map": {"40": {"version": "4", "sha256": "0yxg7dmlkm4islaz1y3as5p04b80r192vc3n4zx0ga1nnp80w8p9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BbHlueFpob3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFsd2F5cy1zaG93LXdvcmtzcGFjZS10aHVtYm5haWxzLyIsCiAgInV1aWQiOiAiYWx3YXlzc2hvd3dvcmtzcGFjZXRodW1ibmFpbHNAYWx5bngub25lIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0yxg7dmlkm4islaz1y3as5p04b80r192vc3n4zx0ga1nnp80w8p9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BbHlueFpob3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFsd2F5cy1zaG93LXdvcmtzcGFjZS10aHVtYm5haWxzLyIsCiAgInV1aWQiOiAiYWx3YXlzc2hvd3dvcmtzcGFjZXRodW1ibmFpbHNAYWx5bngub25lIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "0yxg7dmlkm4islaz1y3as5p04b80r192vc3n4zx0ga1nnp80w8p9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BbHlueFpob3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFsd2F5cy1zaG93LXdvcmtzcGFjZS10aHVtYm5haWxzLyIsCiAgInV1aWQiOiAiYWx3YXlzc2hvd3dvcmtzcGFjZXRodW1ibmFpbHNAYWx5bngub25lIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "gnome-ui-tune@itstime.tech", "name": "Gnome 4x UI Improvements", "pname": "gnome-40-ui-improvements", "description": "Tunes gnome 40/41/42's Overview UI to make it more usable.\n\nChanges:\n- Search textbox is hidden by default and shown only when user begins to type-to-search\n- Scale of workspaces' thumbnails increased 2x\n- Restores wallpaper on workspaces' thumbnails. No more gray background\n- Show workspaces' thumbnails even when there is only one workspace\n- Firefox's PIP (picture in picture) window is now displayed on the overview screen\n\nAll modifications can be disabled in the extension's settings.\n\nATTENTION!\nAfter extension update, gnome-shell restart is required:\nX11: Alt+F2 => r\nWayland: logout => login", "link": "https://extensions.gnome.org/extension/4158/gnome-40-ui-improvements/", "shell_version_map": {"40": {"version": "11", "sha256": "1j5hw0y6ynw9jknnl85gk4lfq63lzqzsrw88jri04m0zfdrsgl76", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "1j5hw0y6ynw9jknnl85gk4lfq63lzqzsrw88jri04m0zfdrsgl76", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDExCn0="}, "42": {"version": "11", "sha256": "1j5hw0y6ynw9jknnl85gk4lfq63lzqzsrw88jri04m0zfdrsgl76", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"uuid": "monitor-window-switcher@thefungusrocket.com", "name": "Monitor window switcher", "pname": "monitor-window-switcher", "description": "Improves the window switcher on dual (or more) monitor setups", "link": "https://extensions.gnome.org/extension/4164/monitor-window-switcher/", "shell_version_map": {"38": {"version": "6", "sha256": "0pazjbi0aikpnvnfxyamqy70xi1xclydyxdkf908c6ybwnc5956z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVzIHRoZSB3aW5kb3cgc3dpdGNoZXIgb24gZHVhbCAob3IgbW9yZSkgbW9uaXRvciBzZXR1cHMiLAogICJuYW1lIjogIk1vbml0b3Igd2luZG93IHN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZWR6ZXBwZWxpbi9tb25pdG9yLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAibW9uaXRvci13aW5kb3ctc3dpdGNoZXJAdGhlZnVuZ3Vzcm9ja2V0LmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "0pazjbi0aikpnvnfxyamqy70xi1xclydyxdkf908c6ybwnc5956z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVzIHRoZSB3aW5kb3cgc3dpdGNoZXIgb24gZHVhbCAob3IgbW9yZSkgbW9uaXRvciBzZXR1cHMiLAogICJuYW1lIjogIk1vbml0b3Igd2luZG93IHN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZWR6ZXBwZWxpbi9tb25pdG9yLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAibW9uaXRvci13aW5kb3ctc3dpdGNoZXJAdGhlZnVuZ3Vzcm9ja2V0LmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0pazjbi0aikpnvnfxyamqy70xi1xclydyxdkf908c6ybwnc5956z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVzIHRoZSB3aW5kb3cgc3dpdGNoZXIgb24gZHVhbCAob3IgbW9yZSkgbW9uaXRvciBzZXR1cHMiLAogICJuYW1lIjogIk1vbml0b3Igd2luZG93IHN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZWR6ZXBwZWxpbi9tb25pdG9yLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAibW9uaXRvci13aW5kb3ctc3dpdGNoZXJAdGhlZnVuZ3Vzcm9ja2V0LmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "custom-hot-corners-extended@G-dH.github.com", "name": "Custom Hot Corners - Extended", "pname": "custom-hot-corners-extended", "description": "Give a function to any corner or edge of your monitors and expand your keyboard capabilities.\nMouse pointer pressure, clicks and scrolls over the corners/edges or keyboard shortcuts can trigger any of dozens of built-in actions that helps you navigate and control your desktop environment or your own shell commands.\n\nThis extension is a big collection of actions that allows you navigate and control the Gnome Shell environment and windows and launch applications and scripts not only through the corners and edges of your monitors, but also using the custom keyboard shortcuts.\nSignificant part of available actions are visual adjustments (contrast, brightness, opacity) and color filters (red, green, desaturate, lightness and color inversions) , including correction filters for colorblind users and cb simulation filters for developers.\n\nRestart your Gnome Shell after each update of the extension to load new code, and reload this site to get rid of the error message, before you post a bug report.\nPlease report bugs/issues on GitHub linked below.\n\nkeywords: overview, app grid, command, brightness, contrast, transparent, opacity, color effect, invert lightness, color tint, color blind filter, simulation, desaturate, night lights, dark theme, volume, mute, magnifier, zoom, screen keyboard, reader, large text, force close, kill -9, show desktop, reorder workspace, window thumbnail / preview, looking glass, custom menu, window, workspace, switcher, hide panel", "link": "https://extensions.gnome.org/extension/4167/custom-hot-corners-extended/", "shell_version_map": {"38": {"version": "16", "sha256": "03hxg1lws0d9i8s1xn4m596afs9d9k75s4gfjr93rp8br7y1icfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "40": {"version": "16", "sha256": "03hxg1lws0d9i8s1xn4m596afs9d9k75s4gfjr93rp8br7y1icfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "03hxg1lws0d9i8s1xn4m596afs9d9k75s4gfjr93rp8br7y1icfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "03hxg1lws0d9i8s1xn4m596afs9d9k75s4gfjr93rp8br7y1icfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
-, {"uuid": "hass-gshell@geoph9-on-github", "name": "Home Assistant Extension", "pname": "home-assistant-extension", "description": "A simple gnome shell extension for Home Assistant. Check the README on github for additional help!\n\nMain points:\n- You need to provide the url of your hass, a long live access token obtained from your profile page (on your hass web instance) and the entity ids of the entities you want to have as togglable.\n- In order to add some local temperature/humidity sensor, you may also provide a temperature and/or a humidity entity id (which should match the corresponding ids of your hass instance).", "link": "https://extensions.gnome.org/extension/4170/home-assistant-extension/", "shell_version_map": {"38": {"version": "3", "sha256": "04p2hvxyyc1zv441sv0l1dcxbdvzqp46mii3zvw0nhq8jg5pz8rr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "6", "sha256": "1wajx49ci9146wi10z2nvhgc1iw7mfqp8a8z5gr708f90vfy93lc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2VvcGg5L2hhc3MtZ3NoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiaGFzcy1nc2hlbGxAZ2VvcGg5LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "1wajx49ci9146wi10z2nvhgc1iw7mfqp8a8z5gr708f90vfy93lc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2VvcGg5L2hhc3MtZ3NoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiaGFzcy1nc2hlbGxAZ2VvcGg5LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA2Cn0="}}}
+, {"uuid": "hass-gshell@geoph9-on-github", "name": "Home Assistant Extension", "pname": "home-assistant-extension", "description": "A simple gnome shell extension for Home Assistant. Check the README on github for additional help!\n\nMain points:\n- You need to provide the url of your hass, a long live access token obtained from your profile page (on your hass web instance) and the entity ids of the entities you want to have as togglable.\n- In order to add some local temperature/humidity sensor, you may also provide a temperature and/or a humidity entity id (which should match the corresponding ids of your hass instance).", "link": "https://extensions.gnome.org/extension/4170/home-assistant-extension/", "shell_version_map": {"38": {"version": "3", "sha256": "04p2hvxyyc1zv441sv0l1dcxbdvzqp46mii3zvw0nhq8jg5pz8rr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "10", "sha256": "1h6lms1szjp2rz6q3hs8s0jsv71lyiabgygy4cqp1lj834k9hqpd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "1h6lms1szjp2rz6q3hs8s0jsv71lyiabgygy4cqp1lj834k9hqpd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "1h6lms1szjp2rz6q3hs8s0jsv71lyiabgygy4cqp1lj834k9hqpd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "clear-top-bar@superterran.net", "name": "Clear Top Bar", "pname": "clear-top-bar", "description": "Fully transparent topbar, pairs with the zhanghai transparent top bar extension to make bar opaque when window is maximized", "link": "https://extensions.gnome.org/extension/4173/clear-top-bar/", "shell_version_map": {"40": {"version": "6", "sha256": "1xfq9i816p0djfidimgci5xk1mjfrka0xrvxrs44lsqq109xf8pc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IHRyYW5zcGFyZW50IHRvcGJhciwgcGFpcnMgd2l0aCB0aGUgemhhbmdoYWkgdHJhbnNwYXJlbnQgdG9wIGJhciBleHRlbnNpb24gdG8gbWFrZSBiYXIgb3BhcXVlIHdoZW4gd2luZG93IGlzIG1heGltaXplZCIsCiAgIm5hbWUiOiAiQ2xlYXIgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1cGVydGVycmFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jbGVhci10b3AtYmFyIiwKICAidXVpZCI6ICJjbGVhci10b3AtYmFyQHN1cGVydGVycmFuLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "1xfq9i816p0djfidimgci5xk1mjfrka0xrvxrs44lsqq109xf8pc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IHRyYW5zcGFyZW50IHRvcGJhciwgcGFpcnMgd2l0aCB0aGUgemhhbmdoYWkgdHJhbnNwYXJlbnQgdG9wIGJhciBleHRlbnNpb24gdG8gbWFrZSBiYXIgb3BhcXVlIHdoZW4gd2luZG93IGlzIG1heGltaXplZCIsCiAgIm5hbWUiOiAiQ2xlYXIgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1cGVydGVycmFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jbGVhci10b3AtYmFyIiwKICAidXVpZCI6ICJjbGVhci10b3AtYmFyQHN1cGVydGVycmFuLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "1xfq9i816p0djfidimgci5xk1mjfrka0xrvxrs44lsqq109xf8pc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IHRyYW5zcGFyZW50IHRvcGJhciwgcGFpcnMgd2l0aCB0aGUgemhhbmdoYWkgdHJhbnNwYXJlbnQgdG9wIGJhciBleHRlbnNpb24gdG8gbWFrZSBiYXIgb3BhcXVlIHdoZW4gd2luZG93IGlzIG1heGltaXplZCIsCiAgIm5hbWUiOiAiQ2xlYXIgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1cGVydGVycmFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jbGVhci10b3AtYmFyIiwKICAidXVpZCI6ICJjbGVhci10b3AtYmFyQHN1cGVydGVycmFuLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "systemd-manager@hardpixel.eu", "name": "Systemd Manager", "pname": "systemd-manager", "description": "Toggle systemd services on/off from a popup menu in the top gnome panel. Can be used to start services like apache2, mysql, postgres. It uses `pkexec' to run `sytemctl'. If you want to start services without entering a password you have to polkit policy file. An example policy file can be found in the github repository.", "link": "https://extensions.gnome.org/extension/4174/systemd-manager/", "shell_version_map": {"38": {"version": "7", "sha256": "11c26d8iwii76i0zwvrdsjypqrq1qi6xsjlx31128pnxsacbj4bs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9zeXN0ZW1kLW1hbmFnZXIiLAogICJ1dWlkIjogInN5c3RlbWQtbWFuYWdlckBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "11c26d8iwii76i0zwvrdsjypqrq1qi6xsjlx31128pnxsacbj4bs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9zeXN0ZW1kLW1hbmFnZXIiLAogICJ1dWlkIjogInN5c3RlbWQtbWFuYWdlckBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "11c26d8iwii76i0zwvrdsjypqrq1qi6xsjlx31128pnxsacbj4bs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9zeXN0ZW1kLW1hbmFnZXIiLAogICJ1dWlkIjogInN5c3RlbWQtbWFuYWdlckBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNwp9"}, "42": {"version": "7", "sha256": "11c26d8iwii76i0zwvrdsjypqrq1qi6xsjlx31128pnxsacbj4bs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9zeXN0ZW1kLW1hbmFnZXIiLAogICJ1dWlkIjogInN5c3RlbWQtbWFuYWdlckBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNwp9"}}}
-, {"uuid": "auto-activities@acedron.github.io", "name": "Auto Activities", "pname": "auto-activities", "description": "Show activities overview when there are no windows, or hide it when there are new windows.", "link": "https://extensions.gnome.org/extension/4179/auto-activities/", "shell_version_map": {"40": {"version": "14", "sha256": "0sfxqafflmj62i6p1sjfqy8l86wg9c23kjn7nxfpgf9cbsbgdp7w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLCBvciBoaWRlIGl0IHdoZW4gdGhlcmUgYXJlIG5ldyB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogImF1dG8tYWN0aXZpdGllcyIsCiAgIm5hbWUiOiAiQXV0byBBY3Rpdml0aWVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFjZWRyb25zQHlhaG9vLmNvLmpwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFuLW5laWtvL2F1dG8tYWN0aXZpdGllcyIsCiAgInV1aWQiOiAiYXV0by1hY3Rpdml0aWVzQGFjZWRyb24uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "41": {"version": "14", "sha256": "0sfxqafflmj62i6p1sjfqy8l86wg9c23kjn7nxfpgf9cbsbgdp7w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLCBvciBoaWRlIGl0IHdoZW4gdGhlcmUgYXJlIG5ldyB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogImF1dG8tYWN0aXZpdGllcyIsCiAgIm5hbWUiOiAiQXV0byBBY3Rpdml0aWVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFjZWRyb25zQHlhaG9vLmNvLmpwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFuLW5laWtvL2F1dG8tYWN0aXZpdGllcyIsCiAgInV1aWQiOiAiYXV0by1hY3Rpdml0aWVzQGFjZWRyb24uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "42": {"version": "14", "sha256": "0sfxqafflmj62i6p1sjfqy8l86wg9c23kjn7nxfpgf9cbsbgdp7w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLCBvciBoaWRlIGl0IHdoZW4gdGhlcmUgYXJlIG5ldyB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogImF1dG8tYWN0aXZpdGllcyIsCiAgIm5hbWUiOiAiQXV0byBBY3Rpdml0aWVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFjZWRyb25zQHlhaG9vLmNvLmpwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFuLW5laWtvL2F1dG8tYWN0aXZpdGllcyIsCiAgInV1aWQiOiAiYXV0by1hY3Rpdml0aWVzQGFjZWRyb24uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
+, {"uuid": "auto-activities@acedron.github.io", "name": "Auto Activities", "pname": "auto-activities", "description": "Show activities overview when there are no windows, or hide it when there are new windows.", "link": "https://extensions.gnome.org/extension/4179/auto-activities/", "shell_version_map": {"40": {"version": "14", "sha256": "1ccaf3v4pz0kqxcchcwwqx7654fnfvs5dldhdjdxsnf2419cgvg0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLCBvciBoaWRlIGl0IHdoZW4gdGhlcmUgYXJlIG5ldyB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogImF1dG8tYWN0aXZpdGllcyIsCiAgIm5hbWUiOiAiQXV0byBBY3Rpdml0aWVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFjZWRyb25zQHlhaG9vLmNvLmpwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFuLW5ld2lrby9hdXRvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImF1dG8tYWN0aXZpdGllc0BhY2Vkcm9uLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxNAp9"}, "41": {"version": "14", "sha256": "1ccaf3v4pz0kqxcchcwwqx7654fnfvs5dldhdjdxsnf2419cgvg0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLCBvciBoaWRlIGl0IHdoZW4gdGhlcmUgYXJlIG5ldyB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogImF1dG8tYWN0aXZpdGllcyIsCiAgIm5hbWUiOiAiQXV0byBBY3Rpdml0aWVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFjZWRyb25zQHlhaG9vLmNvLmpwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFuLW5ld2lrby9hdXRvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImF1dG8tYWN0aXZpdGllc0BhY2Vkcm9uLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxNAp9"}, "42": {"version": "14", "sha256": "1ccaf3v4pz0kqxcchcwwqx7654fnfvs5dldhdjdxsnf2419cgvg0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYWN0aXZpdGllcyBvdmVydmlldyB3aGVuIHRoZXJlIGFyZSBubyB3aW5kb3dzLCBvciBoaWRlIGl0IHdoZW4gdGhlcmUgYXJlIG5ldyB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogImF1dG8tYWN0aXZpdGllcyIsCiAgIm5hbWUiOiAiQXV0byBBY3Rpdml0aWVzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFjZWRyb25zQHlhaG9vLmNvLmpwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamFuLW5ld2lrby9hdXRvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImF1dG8tYWN0aXZpdGllc0BhY2Vkcm9uLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxNAp9"}}}
 , {"uuid": "clippie@blackjackshellac.ca", "name": "clippie [replaced by eclipse]", "pname": "clippie", "description": "clippie has been rereleased as 'eclipse'\n\nClipboard interface to gpaste-client output\n\nhttps://extensions.gnome.org/extension/4246/eclipse/\n\nClippie now uses dbus to communicate with the gpaste daemon\nAdded encryption of clipboard items with eclipse feature", "link": "https://extensions.gnome.org/extension/4182/clippie/", "shell_version_map": {"38": {"version": "6", "sha256": "05kd2pq605k21yq6wcaqcm2lrpnlc6mbiq1wxgmwdnpvi7ib2h8k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNsaXBwaWUgaGFzIGJlZW4gcmVyZWxlYXNlZCBhcyAnZWNsaXBzZSdcblxuQ2xpcGJvYXJkIGludGVyZmFjZSB0byBncGFzdGUtY2xpZW50IG91dHB1dFxuXG5odHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80MjQ2L2VjbGlwc2UvXG5cbkNsaXBwaWUgbm93IHVzZXMgZGJ1cyB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBncGFzdGUgZGFlbW9uXG5BZGRlZCBlbmNyeXB0aW9uIG9mIGNsaXBib2FyZCBpdGVtcyB3aXRoIGVjbGlwc2UgZmVhdHVyZSIsCiAgImdldHRleHQtZG9tYWluIjogImNsaXBwaWUtYmxhY2tqYWNrc2hlbGxhYyIsCiAgIm5hbWUiOiAiY2xpcHBpZSBbcmVwbGFjZWQgYnkgZWNsaXBzZV0iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY2xpcHBpZS1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMvZWNsaXBzZSIsCiAgInV1aWQiOiAiY2xpcHBpZUBibGFja2phY2tzaGVsbGFjLmNhIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "05kd2pq605k21yq6wcaqcm2lrpnlc6mbiq1wxgmwdnpvi7ib2h8k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNsaXBwaWUgaGFzIGJlZW4gcmVyZWxlYXNlZCBhcyAnZWNsaXBzZSdcblxuQ2xpcGJvYXJkIGludGVyZmFjZSB0byBncGFzdGUtY2xpZW50IG91dHB1dFxuXG5odHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80MjQ2L2VjbGlwc2UvXG5cbkNsaXBwaWUgbm93IHVzZXMgZGJ1cyB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBncGFzdGUgZGFlbW9uXG5BZGRlZCBlbmNyeXB0aW9uIG9mIGNsaXBib2FyZCBpdGVtcyB3aXRoIGVjbGlwc2UgZmVhdHVyZSIsCiAgImdldHRleHQtZG9tYWluIjogImNsaXBwaWUtYmxhY2tqYWNrc2hlbGxhYyIsCiAgIm5hbWUiOiAiY2xpcHBpZSBbcmVwbGFjZWQgYnkgZWNsaXBzZV0iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY2xpcHBpZS1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMvZWNsaXBzZSIsCiAgInV1aWQiOiAiY2xpcHBpZUBibGFja2phY2tzaGVsbGFjLmNhIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "screen-autorotate@kosmospredanie.yandex.ru", "name": "Screen Autorotate", "pname": "screen-autorotate", "description": "Enable screen rotation regardless of touch mode", "link": "https://extensions.gnome.org/extension/4191/screen-autorotate/", "shell_version_map": {"40": {"version": "3", "sha256": "1sfk9801zqg2cd7w5mkm5qr2zkjm5dbhvi3bcxkf9ikg2ilxcq9h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBzY3JlZW4gcm90YXRpb24gcmVnYXJkbGVzcyBvZiB0b3VjaCBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNjcmVlbi1hdXRvcm90YXRlIiwKICAibmFtZSI6ICJTY3JlZW4gQXV0b3JvdGF0ZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zY3JlZW4tYXV0b3JvdGF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29zbW9zcHJlZGFuaWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNjcmVlbi1hdXRvcm90YXRlIiwKICAidXVpZCI6ICJzY3JlZW4tYXV0b3JvdGF0ZUBrb3Ntb3NwcmVkYW5pZS55YW5kZXgucnUiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1sfk9801zqg2cd7w5mkm5qr2zkjm5dbhvi3bcxkf9ikg2ilxcq9h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBzY3JlZW4gcm90YXRpb24gcmVnYXJkbGVzcyBvZiB0b3VjaCBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNjcmVlbi1hdXRvcm90YXRlIiwKICAibmFtZSI6ICJTY3JlZW4gQXV0b3JvdGF0ZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zY3JlZW4tYXV0b3JvdGF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29zbW9zcHJlZGFuaWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNjcmVlbi1hdXRvcm90YXRlIiwKICAidXVpZCI6ICJzY3JlZW4tYXV0b3JvdGF0ZUBrb3Ntb3NwcmVkYW5pZS55YW5kZXgucnUiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "Low_Latency_Loopback@jacebennest87.gmail.com", "name": "Low Latency Loopback", "pname": "low-latency-loopback", "description": "Enables a low latency PulseAudio loopback device", "link": "https://extensions.gnome.org/extension/4194/low-latency-loopback/", "shell_version_map": {"38": {"version": "4", "sha256": "1683m3x0sm9v0aw6lfw5b6k8kqdzjdi7cjwqki2gh3wy3rrmmsyx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYSBsb3cgbGF0ZW5jeSBQdWxzZUF1ZGlvIGxvb3BiYWNrIGRldmljZSIsCiAgIm5hbWUiOiAiTG93IExhdGVuY3kgTG9vcGJhY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3RoZWphY2VyODcvbG93LWxhdGVuY3ktbG9vcGJhY2siLAogICJ1dWlkIjogIkxvd19MYXRlbmN5X0xvb3BiYWNrQGphY2ViZW5uZXN0ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1683m3x0sm9v0aw6lfw5b6k8kqdzjdi7cjwqki2gh3wy3rrmmsyx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYSBsb3cgbGF0ZW5jeSBQdWxzZUF1ZGlvIGxvb3BiYWNrIGRldmljZSIsCiAgIm5hbWUiOiAiTG93IExhdGVuY3kgTG9vcGJhY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3RoZWphY2VyODcvbG93LWxhdGVuY3ktbG9vcGJhY2siLAogICJ1dWlkIjogIkxvd19MYXRlbmN5X0xvb3BiYWNrQGphY2ViZW5uZXN0ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1683m3x0sm9v0aw6lfw5b6k8kqdzjdi7cjwqki2gh3wy3rrmmsyx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYSBsb3cgbGF0ZW5jeSBQdWxzZUF1ZGlvIGxvb3BiYWNrIGRldmljZSIsCiAgIm5hbWUiOiAiTG93IExhdGVuY3kgTG9vcGJhY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3RoZWphY2VyODcvbG93LWxhdGVuY3ktbG9vcGJhY2siLAogICJ1dWlkIjogIkxvd19MYXRlbmN5X0xvb3BiYWNrQGphY2ViZW5uZXN0ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
@@ -497,11 +499,11 @@
 , {"uuid": "better-osd@hllvc", "name": "Better OSD - Gnome 40", "pname": "better-osd-gnome-40", "description": "Customize your OSD popups. Move, resize, set delay and transparency!", "link": "https://extensions.gnome.org/extension/4231/better-osd-gnome-40/", "shell_version_map": {"40": {"version": "6", "sha256": "0945xh7a607x3f9796gi3l5zylqa8gj1pnw44hcaak5sc6zpahgv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIE9TRCBwb3B1cHMuIE1vdmUsIHJlc2l6ZSwgc2V0IGRlbGF5IGFuZCB0cmFuc3BhcmVuY3khIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmV0dGVyLW9zZCIsCiAgIm5hbWUiOiAiQmV0dGVyIE9TRCAtIEdub21lIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQxLjEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9obGx2Yy9iZXR0ZXItb3NkIiwKICAidXVpZCI6ICJiZXR0ZXItb3NkQGhsbHZjIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0945xh7a607x3f9796gi3l5zylqa8gj1pnw44hcaak5sc6zpahgv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIE9TRCBwb3B1cHMuIE1vdmUsIHJlc2l6ZSwgc2V0IGRlbGF5IGFuZCB0cmFuc3BhcmVuY3khIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmV0dGVyLW9zZCIsCiAgIm5hbWUiOiAiQmV0dGVyIE9TRCAtIEdub21lIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQxLjEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9obGx2Yy9iZXR0ZXItb3NkIiwKICAidXVpZCI6ICJiZXR0ZXItb3NkQGhsbHZjIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "arbttstats@gervasioperez.ar", "name": "Arbtt stats", "pname": "arbtt-stats", "description": "Show simple arbtt stats on the panel\n*** This extension requires arbtt running and configured", "link": "https://extensions.gnome.org/extension/4234/arbtt-stats/", "shell_version_map": {"38": {"version": "9", "sha256": "0x3sxg8dv9gfq1f4m9bk4rb3395rdcf0srijxqphpwjmm0nsizql", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIGFyYnR0IHN0YXRzIG9uIHRoZSBwYW5lbFxuKioqIFRoaXMgZXh0ZW5zaW9uIHJlcXVpcmVzIGFyYnR0IHJ1bm5pbmcgYW5kIGNvbmZpZ3VyZWQiLAogICJuYW1lIjogIkFyYnR0IHN0YXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NoZXJ3b29kaW5jL2FyYnR0LXN0YXRzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXJidHRzdGF0c0BnZXJ2YXNpb3BlcmV6LmFyIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "9", "sha256": "0x3sxg8dv9gfq1f4m9bk4rb3395rdcf0srijxqphpwjmm0nsizql", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIGFyYnR0IHN0YXRzIG9uIHRoZSBwYW5lbFxuKioqIFRoaXMgZXh0ZW5zaW9uIHJlcXVpcmVzIGFyYnR0IHJ1bm5pbmcgYW5kIGNvbmZpZ3VyZWQiLAogICJuYW1lIjogIkFyYnR0IHN0YXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NoZXJ3b29kaW5jL2FyYnR0LXN0YXRzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXJidHRzdGF0c0BnZXJ2YXNpb3BlcmV6LmFyIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "blur-me@nunchucks", "name": "Blur Me", "pname": "blur-me", "description": "Blur: Applications | Top Panel | Overview | Dash | More!\n\n\nCredit where it's due: Overview and dash blur are based on blur my shell", "link": "https://extensions.gnome.org/extension/4236/blur-me/", "shell_version_map": {"40": {"version": "13", "sha256": "0sdmp9q6g8xyaxvvmk47niad5csnlfpdnmx0lnlfm1dc6kchyaxa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdXI6IEFwcGxpY2F0aW9ucyB8IFRvcCBQYW5lbCB8IE92ZXJ2aWV3IHwgRGFzaCB8IE1vcmUhXG5cblxuQ3JlZGl0IHdoZXJlIGl0J3MgZHVlOiBPdmVydmlldyBhbmQgZGFzaCBibHVyIGFyZSBiYXNlZCBvbiBibHVyIG15IHNoZWxsIiwKICAibmFtZSI6ICJCbHVyIE1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ja2lzc2FuZS9ibHVyLW1lIiwKICAidXVpZCI6ICJibHVyLW1lQG51bmNodWNrcyIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "0sdmp9q6g8xyaxvvmk47niad5csnlfpdnmx0lnlfm1dc6kchyaxa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdXI6IEFwcGxpY2F0aW9ucyB8IFRvcCBQYW5lbCB8IE92ZXJ2aWV3IHwgRGFzaCB8IE1vcmUhXG5cblxuQ3JlZGl0IHdoZXJlIGl0J3MgZHVlOiBPdmVydmlldyBhbmQgZGFzaCBibHVyIGFyZSBiYXNlZCBvbiBibHVyIG15IHNoZWxsIiwKICAibmFtZSI6ICJCbHVyIE1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ja2lzc2FuZS9ibHVyLW1lIiwKICAidXVpZCI6ICJibHVyLW1lQG51bmNodWNrcyIsCiAgInZlcnNpb24iOiAxMwp9"}}}
-, {"uuid": "gestureImprovements@gestures", "name": "Gesture Improvements", "pname": "gesture-improvements", "description": "Improve touchpad gestures for Wayland/X11\n\nThis extension adds following features:\n\n• Switch windows from current workspace using 3-finger horizontal swipe\n• Cyclic gestures between Desktop/Overview/AppGrid using 4 vertical swipe\n• Switch app-pages using 3-finger swipe gesture on AppGrid\n• Unmaximize/maximize/fullscreen/half-tiling using 3-finger vertical & horizontal gesture\n• Optional minimize a window gesture\n• Override 3-finger gesture with 4-finger for switching workspace\n• Pinch to show desktop\n• Configure speed of gestures\n• Support for X11\n   \nOn X11, you need to install https://github.com/harshadgavali/gnome-x11-gesture-daemon\n\nReport any bugs/requests on GitHub (link directly below)\n", "link": "https://extensions.gnome.org/extension/4245/gesture-improvements/", "shell_version_map": {"40": {"version": "19", "sha256": "06s4igjx5r7k01yvylr0clg8j2m6sdywn00hr5xdp1a9v2r5v5ry", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgdG91Y2hwYWQgZ2VzdHVyZXMgZm9yIFdheWxhbmQvWDExXG5cblRoaXMgZXh0ZW5zaW9uIGFkZHMgZm9sbG93aW5nIGZlYXR1cmVzOlxuXG5cdTIwMjIgU3dpdGNoIHdpbmRvd3MgZnJvbSBjdXJyZW50IHdvcmtzcGFjZSB1c2luZyAzLWZpbmdlciBob3Jpem9udGFsIHN3aXBlXG5cdTIwMjIgQ3ljbGljIGdlc3R1cmVzIGJldHdlZW4gRGVza3RvcC9PdmVydmlldy9BcHBHcmlkIHVzaW5nIDQgdmVydGljYWwgc3dpcGVcblx1MjAyMiBTd2l0Y2ggYXBwLXBhZ2VzIHVzaW5nIDMtZmluZ2VyIHN3aXBlIGdlc3R1cmUgb24gQXBwR3JpZFxuXHUyMDIyIFVubWF4aW1pemUvbWF4aW1pemUvZnVsbHNjcmVlbi9oYWxmLXRpbGluZyB1c2luZyAzLWZpbmdlciB2ZXJ0aWNhbCAmIGhvcml6b250YWwgZ2VzdHVyZVxuXHUyMDIyIE9wdGlvbmFsIG1pbmltaXplIGEgd2luZG93IGdlc3R1cmVcblx1MjAyMiBPdmVycmlkZSAzLWZpbmdlciBnZXN0dXJlIHdpdGggNC1maW5nZXIgZm9yIHN3aXRjaGluZyB3b3Jrc3BhY2Vcblx1MjAyMiBQaW5jaCB0byBzaG93IGRlc2t0b3Bcblx1MjAyMiBDb25maWd1cmUgc3BlZWQgb2YgZ2VzdHVyZXNcblx1MjAyMiBTdXBwb3J0IGZvciBYMTFcbiAgIFxuT24gWDExLCB5b3UgbmVlZCB0byBpbnN0YWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLXgxMS1nZXN0dXJlLWRhZW1vblxuXG5SZXBvcnQgYW55IGJ1Z3MvcmVxdWVzdHMgb24gR2l0SHViIChsaW5rIGRpcmVjdGx5IGJlbG93KVxuIiwKICAibmFtZSI6ICJHZXN0dXJlIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZXN0dXJlSW1wcm92ZW1lbnRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLWdlc3R1cmUtaW1wcm92ZW1lbnRzIiwKICAidXVpZCI6ICJnZXN0dXJlSW1wcm92ZW1lbnRzQGdlc3R1cmVzIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "06s4igjx5r7k01yvylr0clg8j2m6sdywn00hr5xdp1a9v2r5v5ry", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgdG91Y2hwYWQgZ2VzdHVyZXMgZm9yIFdheWxhbmQvWDExXG5cblRoaXMgZXh0ZW5zaW9uIGFkZHMgZm9sbG93aW5nIGZlYXR1cmVzOlxuXG5cdTIwMjIgU3dpdGNoIHdpbmRvd3MgZnJvbSBjdXJyZW50IHdvcmtzcGFjZSB1c2luZyAzLWZpbmdlciBob3Jpem9udGFsIHN3aXBlXG5cdTIwMjIgQ3ljbGljIGdlc3R1cmVzIGJldHdlZW4gRGVza3RvcC9PdmVydmlldy9BcHBHcmlkIHVzaW5nIDQgdmVydGljYWwgc3dpcGVcblx1MjAyMiBTd2l0Y2ggYXBwLXBhZ2VzIHVzaW5nIDMtZmluZ2VyIHN3aXBlIGdlc3R1cmUgb24gQXBwR3JpZFxuXHUyMDIyIFVubWF4aW1pemUvbWF4aW1pemUvZnVsbHNjcmVlbi9oYWxmLXRpbGluZyB1c2luZyAzLWZpbmdlciB2ZXJ0aWNhbCAmIGhvcml6b250YWwgZ2VzdHVyZVxuXHUyMDIyIE9wdGlvbmFsIG1pbmltaXplIGEgd2luZG93IGdlc3R1cmVcblx1MjAyMiBPdmVycmlkZSAzLWZpbmdlciBnZXN0dXJlIHdpdGggNC1maW5nZXIgZm9yIHN3aXRjaGluZyB3b3Jrc3BhY2Vcblx1MjAyMiBQaW5jaCB0byBzaG93IGRlc2t0b3Bcblx1MjAyMiBDb25maWd1cmUgc3BlZWQgb2YgZ2VzdHVyZXNcblx1MjAyMiBTdXBwb3J0IGZvciBYMTFcbiAgIFxuT24gWDExLCB5b3UgbmVlZCB0byBpbnN0YWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLXgxMS1nZXN0dXJlLWRhZW1vblxuXG5SZXBvcnQgYW55IGJ1Z3MvcmVxdWVzdHMgb24gR2l0SHViIChsaW5rIGRpcmVjdGx5IGJlbG93KVxuIiwKICAibmFtZSI6ICJHZXN0dXJlIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZXN0dXJlSW1wcm92ZW1lbnRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLWdlc3R1cmUtaW1wcm92ZW1lbnRzIiwKICAidXVpZCI6ICJnZXN0dXJlSW1wcm92ZW1lbnRzQGdlc3R1cmVzIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "20", "sha256": "17zqr5867jcf6lmkbg5h77la39nbd2afqm3b99ahc15lc3d1qvw7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgdG91Y2hwYWQgZ2VzdHVyZXMgZm9yIFdheWxhbmQvWDExXG5cblRoaXMgZXh0ZW5zaW9uIGFkZHMgZm9sbG93aW5nIGZlYXR1cmVzOlxuXG5cdTIwMjIgU3dpdGNoIHdpbmRvd3MgZnJvbSBjdXJyZW50IHdvcmtzcGFjZSB1c2luZyAzLWZpbmdlciBob3Jpem9udGFsIHN3aXBlXG5cdTIwMjIgQ3ljbGljIGdlc3R1cmVzIGJldHdlZW4gRGVza3RvcC9PdmVydmlldy9BcHBHcmlkIHVzaW5nIDQgdmVydGljYWwgc3dpcGVcblx1MjAyMiBTd2l0Y2ggYXBwLXBhZ2VzIHVzaW5nIDMtZmluZ2VyIHN3aXBlIGdlc3R1cmUgb24gQXBwR3JpZFxuXHUyMDIyIFVubWF4aW1pemUvbWF4aW1pemUvZnVsbHNjcmVlbi9oYWxmLXRpbGluZyB1c2luZyAzLWZpbmdlciB2ZXJ0aWNhbCAmIGhvcml6b250YWwgZ2VzdHVyZVxuXHUyMDIyIE9wdGlvbmFsIG1pbmltaXplIGEgd2luZG93IGdlc3R1cmVcblx1MjAyMiBPdmVycmlkZSAzLWZpbmdlciBnZXN0dXJlIHdpdGggNC1maW5nZXIgZm9yIHN3aXRjaGluZyB3b3Jrc3BhY2Vcblx1MjAyMiBQaW5jaCB0byBzaG93IGRlc2t0b3Bcblx1MjAyMiBDb25maWd1cmUgc3BlZWQgb2YgZ2VzdHVyZXNcblx1MjAyMiBTdXBwb3J0IGZvciBYMTFcbiAgIFxuT24gWDExLCB5b3UgbmVlZCB0byBpbnN0YWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLXgxMS1nZXN0dXJlLWRhZW1vblxuXG5SZXBvcnQgYW55IGJ1Z3MvcmVxdWVzdHMgb24gR2l0SHViIChsaW5rIGRpcmVjdGx5IGJlbG93KVxuIiwKICAibmFtZSI6ICJHZXN0dXJlIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZXN0dXJlSW1wcm92ZW1lbnRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcnNoYWRnYXZhbGkvZ25vbWUtZ2VzdHVyZS1pbXByb3ZlbWVudHMiLAogICJ1dWlkIjogImdlc3R1cmVJbXByb3ZlbWVudHNAZ2VzdHVyZXMiLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
+, {"uuid": "gestureImprovements@gestures", "name": "Gesture Improvements", "pname": "gesture-improvements", "description": "Improve touchpad gestures for Wayland/X11\n\nThis extension adds following features:\n\n• Switch windows from current workspace using 3-finger horizontal swipe\n• Cyclic gestures between Desktop/Overview/AppGrid using 4 vertical swipe\n• Switch app-pages using 3-finger swipe gesture on AppGrid\n• Unmaximize/maximize/fullscreen/half-tiling using 3-finger vertical & horizontal gesture\n• Optional minimize a window gesture\n• Override 3-finger gesture with 4-finger for switching workspace\n• Pinch to show desktop\n• Application specific keyboard shortcut based hold-swipe gestures (e.g., navigating browser tabs)\n• Configure speed of gestures\n• Support for X11\n   \nOn X11, you need to install https://github.com/harshadgavali/gnome-x11-gesture-daemon\n\nReport any bugs/requests on GitHub (link directly below)\n", "link": "https://extensions.gnome.org/extension/4245/gesture-improvements/", "shell_version_map": {"40": {"version": "19", "sha256": "0srrlqk0h62d9ivhkv1gciw0zgp4rs6p6pc9p1w4gsayhh7zsqf2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgdG91Y2hwYWQgZ2VzdHVyZXMgZm9yIFdheWxhbmQvWDExXG5cblRoaXMgZXh0ZW5zaW9uIGFkZHMgZm9sbG93aW5nIGZlYXR1cmVzOlxuXG5cdTIwMjIgU3dpdGNoIHdpbmRvd3MgZnJvbSBjdXJyZW50IHdvcmtzcGFjZSB1c2luZyAzLWZpbmdlciBob3Jpem9udGFsIHN3aXBlXG5cdTIwMjIgQ3ljbGljIGdlc3R1cmVzIGJldHdlZW4gRGVza3RvcC9PdmVydmlldy9BcHBHcmlkIHVzaW5nIDQgdmVydGljYWwgc3dpcGVcblx1MjAyMiBTd2l0Y2ggYXBwLXBhZ2VzIHVzaW5nIDMtZmluZ2VyIHN3aXBlIGdlc3R1cmUgb24gQXBwR3JpZFxuXHUyMDIyIFVubWF4aW1pemUvbWF4aW1pemUvZnVsbHNjcmVlbi9oYWxmLXRpbGluZyB1c2luZyAzLWZpbmdlciB2ZXJ0aWNhbCAmIGhvcml6b250YWwgZ2VzdHVyZVxuXHUyMDIyIE9wdGlvbmFsIG1pbmltaXplIGEgd2luZG93IGdlc3R1cmVcblx1MjAyMiBPdmVycmlkZSAzLWZpbmdlciBnZXN0dXJlIHdpdGggNC1maW5nZXIgZm9yIHN3aXRjaGluZyB3b3Jrc3BhY2Vcblx1MjAyMiBQaW5jaCB0byBzaG93IGRlc2t0b3Bcblx1MjAyMiBBcHBsaWNhdGlvbiBzcGVjaWZpYyBrZXlib2FyZCBzaG9ydGN1dCBiYXNlZCBob2xkLXN3aXBlIGdlc3R1cmVzIChlLmcuLCBuYXZpZ2F0aW5nIGJyb3dzZXIgdGFicylcblx1MjAyMiBDb25maWd1cmUgc3BlZWQgb2YgZ2VzdHVyZXNcblx1MjAyMiBTdXBwb3J0IGZvciBYMTFcbiAgIFxuT24gWDExLCB5b3UgbmVlZCB0byBpbnN0YWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLXgxMS1nZXN0dXJlLWRhZW1vblxuXG5SZXBvcnQgYW55IGJ1Z3MvcmVxdWVzdHMgb24gR2l0SHViIChsaW5rIGRpcmVjdGx5IGJlbG93KVxuIiwKICAibmFtZSI6ICJHZXN0dXJlIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZXN0dXJlSW1wcm92ZW1lbnRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLWdlc3R1cmUtaW1wcm92ZW1lbnRzIiwKICAidXVpZCI6ICJnZXN0dXJlSW1wcm92ZW1lbnRzQGdlc3R1cmVzIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "0srrlqk0h62d9ivhkv1gciw0zgp4rs6p6pc9p1w4gsayhh7zsqf2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgdG91Y2hwYWQgZ2VzdHVyZXMgZm9yIFdheWxhbmQvWDExXG5cblRoaXMgZXh0ZW5zaW9uIGFkZHMgZm9sbG93aW5nIGZlYXR1cmVzOlxuXG5cdTIwMjIgU3dpdGNoIHdpbmRvd3MgZnJvbSBjdXJyZW50IHdvcmtzcGFjZSB1c2luZyAzLWZpbmdlciBob3Jpem9udGFsIHN3aXBlXG5cdTIwMjIgQ3ljbGljIGdlc3R1cmVzIGJldHdlZW4gRGVza3RvcC9PdmVydmlldy9BcHBHcmlkIHVzaW5nIDQgdmVydGljYWwgc3dpcGVcblx1MjAyMiBTd2l0Y2ggYXBwLXBhZ2VzIHVzaW5nIDMtZmluZ2VyIHN3aXBlIGdlc3R1cmUgb24gQXBwR3JpZFxuXHUyMDIyIFVubWF4aW1pemUvbWF4aW1pemUvZnVsbHNjcmVlbi9oYWxmLXRpbGluZyB1c2luZyAzLWZpbmdlciB2ZXJ0aWNhbCAmIGhvcml6b250YWwgZ2VzdHVyZVxuXHUyMDIyIE9wdGlvbmFsIG1pbmltaXplIGEgd2luZG93IGdlc3R1cmVcblx1MjAyMiBPdmVycmlkZSAzLWZpbmdlciBnZXN0dXJlIHdpdGggNC1maW5nZXIgZm9yIHN3aXRjaGluZyB3b3Jrc3BhY2Vcblx1MjAyMiBQaW5jaCB0byBzaG93IGRlc2t0b3Bcblx1MjAyMiBBcHBsaWNhdGlvbiBzcGVjaWZpYyBrZXlib2FyZCBzaG9ydGN1dCBiYXNlZCBob2xkLXN3aXBlIGdlc3R1cmVzIChlLmcuLCBuYXZpZ2F0aW5nIGJyb3dzZXIgdGFicylcblx1MjAyMiBDb25maWd1cmUgc3BlZWQgb2YgZ2VzdHVyZXNcblx1MjAyMiBTdXBwb3J0IGZvciBYMTFcbiAgIFxuT24gWDExLCB5b3UgbmVlZCB0byBpbnN0YWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLXgxMS1nZXN0dXJlLWRhZW1vblxuXG5SZXBvcnQgYW55IGJ1Z3MvcmVxdWVzdHMgb24gR2l0SHViIChsaW5rIGRpcmVjdGx5IGJlbG93KVxuIiwKICAibmFtZSI6ICJHZXN0dXJlIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZXN0dXJlSW1wcm92ZW1lbnRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLWdlc3R1cmUtaW1wcm92ZW1lbnRzIiwKICAidXVpZCI6ICJnZXN0dXJlSW1wcm92ZW1lbnRzQGdlc3R1cmVzIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "22", "sha256": "0rpgknf4lqyapdi7r54in4yx1b1zm1r921bvvr92svyc8ywv15yg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgdG91Y2hwYWQgZ2VzdHVyZXMgZm9yIFdheWxhbmQvWDExXG5cblRoaXMgZXh0ZW5zaW9uIGFkZHMgZm9sbG93aW5nIGZlYXR1cmVzOlxuXG5cdTIwMjIgU3dpdGNoIHdpbmRvd3MgZnJvbSBjdXJyZW50IHdvcmtzcGFjZSB1c2luZyAzLWZpbmdlciBob3Jpem9udGFsIHN3aXBlXG5cdTIwMjIgQ3ljbGljIGdlc3R1cmVzIGJldHdlZW4gRGVza3RvcC9PdmVydmlldy9BcHBHcmlkIHVzaW5nIDQgdmVydGljYWwgc3dpcGVcblx1MjAyMiBTd2l0Y2ggYXBwLXBhZ2VzIHVzaW5nIDMtZmluZ2VyIHN3aXBlIGdlc3R1cmUgb24gQXBwR3JpZFxuXHUyMDIyIFVubWF4aW1pemUvbWF4aW1pemUvZnVsbHNjcmVlbi9oYWxmLXRpbGluZyB1c2luZyAzLWZpbmdlciB2ZXJ0aWNhbCAmIGhvcml6b250YWwgZ2VzdHVyZVxuXHUyMDIyIE9wdGlvbmFsIG1pbmltaXplIGEgd2luZG93IGdlc3R1cmVcblx1MjAyMiBPdmVycmlkZSAzLWZpbmdlciBnZXN0dXJlIHdpdGggNC1maW5nZXIgZm9yIHN3aXRjaGluZyB3b3Jrc3BhY2Vcblx1MjAyMiBQaW5jaCB0byBzaG93IGRlc2t0b3Bcblx1MjAyMiBBcHBsaWNhdGlvbiBzcGVjaWZpYyBrZXlib2FyZCBzaG9ydGN1dCBiYXNlZCBob2xkLXN3aXBlIGdlc3R1cmVzIChlLmcuLCBuYXZpZ2F0aW5nIGJyb3dzZXIgdGFicylcblx1MjAyMiBDb25maWd1cmUgc3BlZWQgb2YgZ2VzdHVyZXNcblx1MjAyMiBTdXBwb3J0IGZvciBYMTFcbiAgIFxuT24gWDExLCB5b3UgbmVlZCB0byBpbnN0YWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLXgxMS1nZXN0dXJlLWRhZW1vblxuXG5SZXBvcnQgYW55IGJ1Z3MvcmVxdWVzdHMgb24gR2l0SHViIChsaW5rIGRpcmVjdGx5IGJlbG93KVxuIiwKICAibmFtZSI6ICJHZXN0dXJlIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZXN0dXJlSW1wcm92ZW1lbnRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcnNoYWRnYXZhbGkvZ25vbWUtZ2VzdHVyZS1pbXByb3ZlbWVudHMiLAogICJ1dWlkIjogImdlc3R1cmVJbXByb3ZlbWVudHNAZ2VzdHVyZXMiLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
 , {"uuid": "eclipse@blackjackshellac.ca", "name": "eclipse", "pname": "eclipse", "description": "eclipse clipboard interface with item encryption\n\nAdded encryption of clipboard items. Encrypted items can be\nsaved to disk in a folder of your choice. These items are persisted\nbetween sessions using openssl to encrypt the content.\n\nEclipse uses dbus to communicate with the gpaste daemon.\n\nThe following utilities are required,\n\n# for example, on fedora (add gpaste-ui for gpaste settings gui)\n$ sudo dnf install gpaste openssl\n# ubuntu\n$ sudo apt install gpaste openssl\n\nNow works with Gpaste 1 and Gpaste 2 on GS 3.36, 3.38 and 40\n\nIf updating the extension reports an ERROR it should work after the next reboot or if you logout and login again. If you're not running on Wayland you should be able to just restart the shell (Alt+F2,r).\n\nPlease report issues on github.\n", "link": "https://extensions.gnome.org/extension/4246/eclipse/", "shell_version_map": {"38": {"version": "8", "sha256": "09j5f8p23m4v2bdad582497r194z05x4izc2wywp9nhv1nldcs3n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImVjbGlwc2UgY2xpcGJvYXJkIGludGVyZmFjZSB3aXRoIGl0ZW0gZW5jcnlwdGlvblxuXG5BZGRlZCBlbmNyeXB0aW9uIG9mIGNsaXBib2FyZCBpdGVtcy4gRW5jcnlwdGVkIGl0ZW1zIGNhbiBiZVxuc2F2ZWQgdG8gZGlzayBpbiBhIGZvbGRlciBvZiB5b3VyIGNob2ljZS4gVGhlc2UgaXRlbXMgYXJlIHBlcnNpc3RlZFxuYmV0d2VlbiBzZXNzaW9ucyB1c2luZyBvcGVuc3NsIHRvIGVuY3J5cHQgdGhlIGNvbnRlbnQuXG5cbkVjbGlwc2UgdXNlcyBkYnVzIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIGdwYXN0ZSBkYWVtb24uXG5cblRoZSBmb2xsb3dpbmcgdXRpbGl0aWVzIGFyZSByZXF1aXJlZCxcblxuIyBmb3IgZXhhbXBsZSwgb24gZmVkb3JhIChhZGQgZ3Bhc3RlLXVpIGZvciBncGFzdGUgc2V0dGluZ3MgZ3VpKVxuJCBzdWRvIGRuZiBpbnN0YWxsIGdwYXN0ZSBvcGVuc3NsXG4jIHVidW50dVxuJCBzdWRvIGFwdCBpbnN0YWxsIGdwYXN0ZSBvcGVuc3NsXG5cbk5vdyB3b3JrcyB3aXRoIEdwYXN0ZSAxIGFuZCBHcGFzdGUgMiBvbiBHUyAzLjM2LCAzLjM4IGFuZCA0MFxuXG5JZiB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uIHJlcG9ydHMgYW4gRVJST1IgaXQgc2hvdWxkIHdvcmsgYWZ0ZXIgdGhlIG5leHQgcmVib290IG9yIGlmIHlvdSBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiBJZiB5b3UncmUgbm90IHJ1bm5pbmcgb24gV2F5bGFuZCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8ganVzdCByZXN0YXJ0IHRoZSBzaGVsbCAoQWx0K0YyLHIpLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBnaXRodWIuXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlY2xpcHNlLWJsYWNramFja3NoZWxsYWMiLAogICJuYW1lIjogImVjbGlwc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZWNsaXBzZS1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMvZWNsaXBzZSIsCiAgInV1aWQiOiAiZWNsaXBzZUBibGFja2phY2tzaGVsbGFjLmNhIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "09j5f8p23m4v2bdad582497r194z05x4izc2wywp9nhv1nldcs3n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImVjbGlwc2UgY2xpcGJvYXJkIGludGVyZmFjZSB3aXRoIGl0ZW0gZW5jcnlwdGlvblxuXG5BZGRlZCBlbmNyeXB0aW9uIG9mIGNsaXBib2FyZCBpdGVtcy4gRW5jcnlwdGVkIGl0ZW1zIGNhbiBiZVxuc2F2ZWQgdG8gZGlzayBpbiBhIGZvbGRlciBvZiB5b3VyIGNob2ljZS4gVGhlc2UgaXRlbXMgYXJlIHBlcnNpc3RlZFxuYmV0d2VlbiBzZXNzaW9ucyB1c2luZyBvcGVuc3NsIHRvIGVuY3J5cHQgdGhlIGNvbnRlbnQuXG5cbkVjbGlwc2UgdXNlcyBkYnVzIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIGdwYXN0ZSBkYWVtb24uXG5cblRoZSBmb2xsb3dpbmcgdXRpbGl0aWVzIGFyZSByZXF1aXJlZCxcblxuIyBmb3IgZXhhbXBsZSwgb24gZmVkb3JhIChhZGQgZ3Bhc3RlLXVpIGZvciBncGFzdGUgc2V0dGluZ3MgZ3VpKVxuJCBzdWRvIGRuZiBpbnN0YWxsIGdwYXN0ZSBvcGVuc3NsXG4jIHVidW50dVxuJCBzdWRvIGFwdCBpbnN0YWxsIGdwYXN0ZSBvcGVuc3NsXG5cbk5vdyB3b3JrcyB3aXRoIEdwYXN0ZSAxIGFuZCBHcGFzdGUgMiBvbiBHUyAzLjM2LCAzLjM4IGFuZCA0MFxuXG5JZiB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uIHJlcG9ydHMgYW4gRVJST1IgaXQgc2hvdWxkIHdvcmsgYWZ0ZXIgdGhlIG5leHQgcmVib290IG9yIGlmIHlvdSBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiBJZiB5b3UncmUgbm90IHJ1bm5pbmcgb24gV2F5bGFuZCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8ganVzdCByZXN0YXJ0IHRoZSBzaGVsbCAoQWx0K0YyLHIpLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBnaXRodWIuXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlY2xpcHNlLWJsYWNramFja3NoZWxsYWMiLAogICJuYW1lIjogImVjbGlwc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZWNsaXBzZS1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMvZWNsaXBzZSIsCiAgInV1aWQiOiAiZWNsaXBzZUBibGFja2phY2tzaGVsbGFjLmNhIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "audio-switcher@albertomosconi", "name": "Audio Switcher 40", "pname": "audio-switcher-40", "description": "Adds a switch for choosing audio input/output to the system menu in GNOME 40. (Makes InputSlider always visible)", "link": "https://extensions.gnome.org/extension/4248/audio-switcher-40/", "shell_version_map": {"38": {"version": "4", "sha256": "0mvc4f6i7vsqijq8l4adcixdyycfxmd7kvw13d5h0vx4hg6vam1g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIGlucHV0L291dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUgaW4gR05PTUUgNDAuIChNYWtlcyBJbnB1dFNsaWRlciBhbHdheXMgdmlzaWJsZSkiLAogICJuYW1lIjogIkF1ZGlvIFN3aXRjaGVyIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4xIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vYWxiZXJ0b21vc2NvbmkvYXVkaW8tc3dpdGNoZXIiLAogICJ1dWlkIjogImF1ZGlvLXN3aXRjaGVyQGFsYmVydG9tb3Njb25pIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "0mvc4f6i7vsqijq8l4adcixdyycfxmd7kvw13d5h0vx4hg6vam1g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIGlucHV0L291dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUgaW4gR05PTUUgNDAuIChNYWtlcyBJbnB1dFNsaWRlciBhbHdheXMgdmlzaWJsZSkiLAogICJuYW1lIjogIkF1ZGlvIFN3aXRjaGVyIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4xIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vYWxiZXJ0b21vc2NvbmkvYXVkaW8tc3dpdGNoZXIiLAogICJ1dWlkIjogImF1ZGlvLXN3aXRjaGVyQGFsYmVydG9tb3Njb25pIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "shell-configurator@adeswanta", "name": "Shell Configurator", "pname": "shell-configurator", "description": "Configure and customize GNOME Shell with advanced settings.", "link": "https://extensions.gnome.org/extension/4254/shell-configurator/", "shell_version_map": {"38": {"version": "4", "sha256": "18dcbxizgj295v34m2dsz1dq9wxlk1s9cgqcgwd1k6r2v2f4p00z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyZSBhbmQgY3VzdG9taXplIEdOT01FIFNoZWxsIHdpdGggYWR2YW5jZWQgc2V0dGluZ3MuIiwKICAiaWQiOiAic2hlbGwtY29uZmlndXJhdG9yIiwKICAiaW5zdGFsbC10eXBlIjogIlVzZXIiLAogICJuYW1lIjogIlNoZWxsIENvbmZpZ3VyYXRvciIsCiAgInJlbGVhc2Utc3RhdGUiOiAicmVsZWFzZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYWRlc3dhbnRhVGVjaHMvc2hlbGwtY29uZmlndXJhdG9yIiwKICAidXVpZCI6ICJzaGVsbC1jb25maWd1cmF0b3JAYWRlc3dhbnRhIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "18dcbxizgj295v34m2dsz1dq9wxlk1s9cgqcgwd1k6r2v2f4p00z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyZSBhbmQgY3VzdG9taXplIEdOT01FIFNoZWxsIHdpdGggYWR2YW5jZWQgc2V0dGluZ3MuIiwKICAiaWQiOiAic2hlbGwtY29uZmlndXJhdG9yIiwKICAiaW5zdGFsbC10eXBlIjogIlVzZXIiLAogICJuYW1lIjogIlNoZWxsIENvbmZpZ3VyYXRvciIsCiAgInJlbGVhc2Utc3RhdGUiOiAicmVsZWFzZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYWRlc3dhbnRhVGVjaHMvc2hlbGwtY29uZmlndXJhdG9yIiwKICAidXVpZCI6ICJzaGVsbC1jb25maWd1cmF0b3JAYWRlc3dhbnRhIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "io.github.mreditor.gnome-shell-extensions.scroll-panel", "name": "Scroll Panel", "pname": "scroll-panel", "description": "This extension allows switching between windows or workspaces by scrolling Gnome Shell topbar with mouse (both in overview and workspace modes).", "link": "https://extensions.gnome.org/extension/4257/scroll-panel/", "shell_version_map": {"40": {"version": "6", "sha256": "0505zv1sbdd00pk1nfsjwqycq4mzih19r128aqpm35q4wj6frpn0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIG9yIHdvcmtzcGFjZXMgYnkgc2Nyb2xsaW5nIEdub21lIFNoZWxsIHRvcGJhciB3aXRoIG1vdXNlIChib3RoIGluIG92ZXJ2aWV3IGFuZCB3b3Jrc3BhY2UgbW9kZXMpLiIsCiAgImdldHRleHQtZG9tYWluIjogImlvLmdpdGh1Yi5tcmVkaXRvci5nbm9tZS1zaGVsbC1leHRlbnNpb25zLnNjcm9sbC1wYW5lbCIsCiAgIm5hbWUiOiAiU2Nyb2xsIFBhbmVsIiwKICAic2VtYW50aWMtdmVyc2lvbiI6ICI0LjEuNCtnaXQtMzdmMGM3YyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJpby5naXRodWIubXJlZGl0b3IuZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5zY3JvbGwtcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21yRURpdG9yL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zY3JvbGwtcGFuZWwiLAogICJ1dWlkIjogImlvLmdpdGh1Yi5tcmVkaXRvci5nbm9tZS1zaGVsbC1leHRlbnNpb25zLnNjcm9sbC1wYW5lbCIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0505zv1sbdd00pk1nfsjwqycq4mzih19r128aqpm35q4wj6frpn0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIG9yIHdvcmtzcGFjZXMgYnkgc2Nyb2xsaW5nIEdub21lIFNoZWxsIHRvcGJhciB3aXRoIG1vdXNlIChib3RoIGluIG92ZXJ2aWV3IGFuZCB3b3Jrc3BhY2UgbW9kZXMpLiIsCiAgImdldHRleHQtZG9tYWluIjogImlvLmdpdGh1Yi5tcmVkaXRvci5nbm9tZS1zaGVsbC1leHRlbnNpb25zLnNjcm9sbC1wYW5lbCIsCiAgIm5hbWUiOiAiU2Nyb2xsIFBhbmVsIiwKICAic2VtYW50aWMtdmVyc2lvbiI6ICI0LjEuNCtnaXQtMzdmMGM3YyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJpby5naXRodWIubXJlZGl0b3IuZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5zY3JvbGwtcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21yRURpdG9yL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zY3JvbGwtcGFuZWwiLAogICJ1dWlkIjogImlvLmdpdGh1Yi5tcmVkaXRvci5nbm9tZS1zaGVsbC1leHRlbnNpb25zLnNjcm9sbC1wYW5lbCIsCiAgInZlcnNpb24iOiA2Cn0="}}}
+, {"uuid": "io.github.mreditor.gnome-shell-extensions.scroll-panel", "name": "Scroll Panel", "pname": "scroll-panel", "description": "This extension allows switching between windows or workspaces by scrolling Gnome Shell topbar with mouse (both in overview and workspace modes).", "link": "https://extensions.gnome.org/extension/4257/scroll-panel/", "shell_version_map": {"40": {"version": "8", "sha256": "1xvmwk0r3rqpzjzgj4k9m8wmlly4y4z5miznkskayi4wa4wm0bcx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIG9yIHdvcmtzcGFjZXMgYnkgc2Nyb2xsaW5nIEdub21lIFNoZWxsIHRvcGJhciB3aXRoIG1vdXNlIChib3RoIGluIG92ZXJ2aWV3IGFuZCB3b3Jrc3BhY2UgbW9kZXMpLiIsCiAgImdldHRleHQtZG9tYWluIjogImlvLmdpdGh1Yi5tcmVkaXRvci5nbm9tZS1zaGVsbC1leHRlbnNpb25zLnNjcm9sbC1wYW5lbCIsCiAgIm5hbWUiOiAiU2Nyb2xsIFBhbmVsIiwKICAic2VtYW50aWMtdmVyc2lvbiI6ICI0LjEuNitnaXQtNmE2ZWZlYSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJpby5naXRodWIubXJlZGl0b3IuZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5zY3JvbGwtcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tckVEaXRvci9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2Nyb2xsLXBhbmVsIiwKICAidXVpZCI6ICJpby5naXRodWIubXJlZGl0b3IuZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5zY3JvbGwtcGFuZWwiLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "1xvmwk0r3rqpzjzgj4k9m8wmlly4y4z5miznkskayi4wa4wm0bcx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIG9yIHdvcmtzcGFjZXMgYnkgc2Nyb2xsaW5nIEdub21lIFNoZWxsIHRvcGJhciB3aXRoIG1vdXNlIChib3RoIGluIG92ZXJ2aWV3IGFuZCB3b3Jrc3BhY2UgbW9kZXMpLiIsCiAgImdldHRleHQtZG9tYWluIjogImlvLmdpdGh1Yi5tcmVkaXRvci5nbm9tZS1zaGVsbC1leHRlbnNpb25zLnNjcm9sbC1wYW5lbCIsCiAgIm5hbWUiOiAiU2Nyb2xsIFBhbmVsIiwKICAic2VtYW50aWMtdmVyc2lvbiI6ICI0LjEuNitnaXQtNmE2ZWZlYSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJpby5naXRodWIubXJlZGl0b3IuZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5zY3JvbGwtcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tckVEaXRvci9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2Nyb2xsLXBhbmVsIiwKICAidXVpZCI6ICJpby5naXRodWIubXJlZGl0b3IuZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5zY3JvbGwtcGFuZWwiLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "1xvmwk0r3rqpzjzgj4k9m8wmlly4y4z5miznkskayi4wa4wm0bcx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIG9yIHdvcmtzcGFjZXMgYnkgc2Nyb2xsaW5nIEdub21lIFNoZWxsIHRvcGJhciB3aXRoIG1vdXNlIChib3RoIGluIG92ZXJ2aWV3IGFuZCB3b3Jrc3BhY2UgbW9kZXMpLiIsCiAgImdldHRleHQtZG9tYWluIjogImlvLmdpdGh1Yi5tcmVkaXRvci5nbm9tZS1zaGVsbC1leHRlbnNpb25zLnNjcm9sbC1wYW5lbCIsCiAgIm5hbWUiOiAiU2Nyb2xsIFBhbmVsIiwKICAic2VtYW50aWMtdmVyc2lvbiI6ICI0LjEuNitnaXQtNmE2ZWZlYSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJpby5naXRodWIubXJlZGl0b3IuZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5zY3JvbGwtcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tckVEaXRvci9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2Nyb2xsLXBhbmVsIiwKICAidXVpZCI6ICJpby5naXRodWIubXJlZGl0b3IuZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5zY3JvbGwtcGFuZWwiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "wb@pwall.github.com", "name": "WindowButtons", "pname": "windowbuttons", "description": "This is an extension for Gnome 3.38 which puts minimize and close buttons in the top panel.", "link": "https://extensions.gnome.org/extension/4261/windowbuttons/", "shell_version_map": {"38": {"version": "6", "sha256": "1w9j3rmn8yhppfkxrgyfvws2hsr24ki60vi8d73hdhifpnfps2sy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgaXMgYW4gZXh0ZW5zaW9uIGZvciBHbm9tZSAzLjM4IHdoaWNoIHB1dHMgbWluaW1pemUgYW5kIGNsb3NlIGJ1dHRvbnMgaW4gdGhlIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIldpbmRvd0J1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QV2FsbDIyMjIvV0IiLAogICJ1dWlkIjogIndiQHB3YWxsLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "rippleremove@slippinggitty", "name": "Ripple Remove", "pname": "ripple-remove", "description": "Removes the ripple effect from the Activities hot corner", "link": "https://extensions.gnome.org/extension/4264/ripple-remove/", "shell_version_map": {"40": {"version": "1", "sha256": "1dnk8nfnv5hp8c11fzhn5vscicij4lk9i1vz25fz6sjc3rn1a9pq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgdGhlIHJpcHBsZSBlZmZlY3QgZnJvbSB0aGUgQWN0aXZpdGllcyBob3QgY29ybmVyIiwKICAibmFtZSI6ICJSaXBwbGUgUmVtb3ZlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5zbGlwcGluZ2l0dHkucmlwcGxlcmVtb3ZlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJyaXBwbGVyZW1vdmVAc2xpcHBpbmdnaXR0eSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "quickmenu@slippinggitty", "name": "Quick Menu [DEAD]", "pname": "quick-menu", "description": "This is a fork of fedoramenu (which is a fork of Big Sur Menu by fausto) that scrubs references of Fedora by replacing the icon with the GNOME logo.\n\nQuick Menu is a panel applet similar to the Apple menu found on macOS.\n\nEDIT: This extension's purpose is dead. Check out Tofu Menu, which is fedoramenu, but with the ability to change the icon. https://extensions.gnome.org/extension/4272/tofu-menu/", "link": "https://extensions.gnome.org/extension/4266/quick-menu/", "shell_version_map": {"40": {"version": "1", "sha256": "1qla029n79366a7xvg2d9v0wa7272bqj40ggvbjrfsbd8x066aca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgaXMgYSBmb3JrIG9mIGZlZG9yYW1lbnUgKHdoaWNoIGlzIGEgZm9yayBvZiBCaWcgU3VyIE1lbnUgYnkgZmF1c3RvKSB0aGF0IHNjcnVicyByZWZlcmVuY2VzIG9mIEZlZG9yYSBieSByZXBsYWNpbmcgdGhlIGljb24gd2l0aCB0aGUgR05PTUUgbG9nby5cblxuUXVpY2sgTWVudSBpcyBhIHBhbmVsIGFwcGxldCBzaW1pbGFyIHRvIHRoZSBBcHBsZSBtZW51IGZvdW5kIG9uIG1hY09TLlxuXG5FRElUOiBUaGlzIGV4dGVuc2lvbidzIHB1cnBvc2UgaXMgZGVhZC4gQ2hlY2sgb3V0IFRvZnUgTWVudSwgd2hpY2ggaXMgZmVkb3JhbWVudSwgYnV0IHdpdGggdGhlIGFiaWxpdHkgdG8gY2hhbmdlIHRoZSBpY29uLiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80MjcyL3RvZnUtbWVudS8iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJxdWljay1tZW51IiwKICAibmFtZSI6ICJRdWljayBNZW51IFtERUFEXSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuc2xpcHBpbmdpdHR5LnF1aWNrLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2xpcHBpbmdHaXR0eS9xdWlja21lbnUiLAogICJ1dWlkIjogInF1aWNrbWVudUBzbGlwcGluZ2dpdHR5IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
@@ -561,7 +563,7 @@
 , {"uuid": "typewriter-kb@zzzheka97.gmail.com", "name": "Typewriter Keyboard", "pname": "typewriter-keyboard", "description": "Add a typewriter effect to your keyboard.\n \nThis extension is based on typewriter-kb application \n(https://github.com/ZhekehZ/linux-typewriter-kb), which \nis required to run the extension, but is not part of it.\n \n-------------------------------------------\nIcons made by Freepik from www.flaticon.com", "link": "https://extensions.gnome.org/extension/4427/typewriter-keyboard/", "shell_version_map": {"38": {"version": "2", "sha256": "1zmlmijkm6sgpp00qbrwnxmd4q5dfh07g9w9nynq3ciwxs9fjnai", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHR5cGV3cml0ZXIgZWZmZWN0IHRvIHlvdXIga2V5Ym9hcmQuXG4gXG5UaGlzIGV4dGVuc2lvbiBpcyBiYXNlZCBvbiB0eXBld3JpdGVyLWtiIGFwcGxpY2F0aW9uIFxuKGh0dHBzOi8vZ2l0aHViLmNvbS9aaGVrZWhaL2xpbnV4LXR5cGV3cml0ZXIta2IpLCB3aGljaCBcbmlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgZXh0ZW5zaW9uLCBidXQgaXMgbm90IHBhcnQgb2YgaXQuXG4gXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JY29ucyBtYWRlIGJ5IEZyZWVwaWsgZnJvbSB3d3cuZmxhdGljb24uY29tIiwKICAibmFtZSI6ICJUeXBld3JpdGVyIEtleWJvYXJkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInR5cGV3cml0ZXIta2JAenp6aGVrYTk3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "dark-side@kamil-galek.pl", "name": "Dark side of Gnome", "pname": "dark-side-of-gnome", "description": "Join the dark side with some of your apps. For now it won't work with every app.", "link": "https://extensions.gnome.org/extension/4430/dark-side-of-gnome/", "shell_version_map": {"40": {"version": "2", "sha256": "08kzwpn22qwgyrps4khwkarn4rakr1rn57wg94wpfgd9pfbgb7ri", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkpvaW4gdGhlIGRhcmsgc2lkZSB3aXRoIHNvbWUgb2YgeW91ciBhcHBzLiBGb3Igbm93IGl0IHdvbid0IHdvcmsgd2l0aCBldmVyeSBhcHAuIiwKICAibmFtZSI6ICJEYXJrIHNpZGUgb2YgR25vbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImRhcmstc2lkZUBrYW1pbC1nYWxlay5wbCIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "wizlight@iabhilashjoshi", "name": "Wiz Light", "pname": "wiz-light", "description": "Control Wiz Connected Lights Through Gnome Shell\n\nRequirements:\n        #Wiz enabled smart bulb\n        #python3  (To install  use command \"sudo apt install python3\")\n        #pywizlight (To install use command \"pip3 install pywizlight\")\n\nTo Use go to the location where extension is installed (usually stored in \"~/.local/share/gnome-shell/extensions\") and change IP address in extension.js file to your smart bulb's IP address and then extension should work.", "link": "https://extensions.gnome.org/extension/4436/wiz-light/", "shell_version_map": {"38": {"version": "4", "sha256": "0pby93ivqz2ymdskyjp6ajc2c588dbpq7vjj7b7d8mc03hvkap5z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgV2l6IENvbm5lY3RlZCBMaWdodHMgVGhyb3VnaCBHbm9tZSBTaGVsbFxuXG5SZXF1aXJlbWVudHM6XG4gICAgICAgICNXaXogZW5hYmxlZCBzbWFydCBidWxiXG4gICAgICAgICNweXRob24zICAoVG8gaW5zdGFsbCAgdXNlIGNvbW1hbmQgXCJzdWRvIGFwdCBpbnN0YWxsIHB5dGhvbjNcIilcbiAgICAgICAgI3B5d2l6bGlnaHQgKFRvIGluc3RhbGwgdXNlIGNvbW1hbmQgXCJwaXAzIGluc3RhbGwgcHl3aXpsaWdodFwiKVxuXG5UbyBVc2UgZ28gdG8gdGhlIGxvY2F0aW9uIHdoZXJlIGV4dGVuc2lvbiBpcyBpbnN0YWxsZWQgKHVzdWFsbHkgc3RvcmVkIGluIFwifi8ubG9jYWwvc2hhcmUvZ25vbWUtc2hlbGwvZXh0ZW5zaW9uc1wiKSBhbmQgY2hhbmdlIElQIGFkZHJlc3MgaW4gZXh0ZW5zaW9uLmpzIGZpbGUgdG8geW91ciBzbWFydCBidWxiJ3MgSVAgYWRkcmVzcyBhbmQgdGhlbiBleHRlbnNpb24gc2hvdWxkIHdvcmsuIiwKICAibmFtZSI6ICJXaXogTGlnaHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYXNwZWFyL1dpei1MaWdodCIsCiAgInV1aWQiOiAid2l6bGlnaHRAaWFiaGlsYXNoam9zaGkiLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"uuid": "gSnap@micahosborne", "name": "gSnap", "pname": "gsnap", "description": "Organize windows in customizable snap zones like FancyZones on windows.", "link": "https://extensions.gnome.org/extension/4442/gsnap/", "shell_version_map": {"40": {"version": "6", "sha256": "1sm3kmc4i5m9jimly95bf39p5vjl2rnavkkkiiqq0blk725fsa2j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIHdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNhaG9zYm9ybmUvZ1NuYXAiLAogICJ1dWlkIjogImdTbmFwQG1pY2Fob3Nib3JuZSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
+, {"uuid": "gSnap@micahosborne", "name": "gSnap", "pname": "gsnap", "description": "Organize windows in customizable snap zones like FancyZones on Windows.", "link": "https://extensions.gnome.org/extension/4442/gsnap/", "shell_version_map": {"40": {"version": "9", "sha256": "0ar2kj0y999n2zprl3m2b0q2xkyjw28xbbfcsngy9isnim40qz1f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2Fob3Nib3JuZS9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "0ar2kj0y999n2zprl3m2b0q2xkyjw28xbbfcsngy9isnim40qz1f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2Fob3Nib3JuZS9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "0ar2kj0y999n2zprl3m2b0q2xkyjw28xbbfcsngy9isnim40qz1f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2Fob3Nib3JuZS9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "appswitcheronlyoncurrentworkspace@ermesonsampaio.com", "name": "Alt + Tab only on current workspace", "pname": "alt-tab-only-on-current-workspace", "description": "Force alt + tab to switch only in the current workspace.", "link": "https://extensions.gnome.org/extension/4443/alt-tab-only-on-current-workspace/", "shell_version_map": {"40": {"version": "3", "sha256": "1jl7gi45gz9fliggkwdg44rdqcirh6qxfkvc639vbw2sgmpbmcvw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmNlIGFsdCArIHRhYiB0byBzd2l0Y2ggb25seSBpbiB0aGUgY3VycmVudCB3b3Jrc3BhY2UuIiwKICAibmFtZSI6ICJBbHQgKyBUYWIgb25seSBvbiBjdXJyZW50IHdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lcm1lc29uc2FtcGFpby9hcHAtc3dpdGNoZXItb25seS1vbi1jdXJyZW50LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiYXBwc3dpdGNoZXJvbmx5b25jdXJyZW50d29ya3NwYWNlQGVybWVzb25zYW1wYWlvLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "logomenu@aryan_k", "name": "Logo Menu", "pname": "logo-menu", "description": "Logo Menu - Menu similar to Apple's macOS menu for the GNOME Desktop\nThis extension gives a simple menu along with the ability to get the icon of your distro on top left part of the panel for a great look.\nThe Icon can be customized through settings, it has both Linux and BSD logos.\nfor more screenshots, visit GitHub.\n\nThe default Terminal and Software center can also be changed.\n\nThis extension is a fork of - https://github.com/tofutech/tofumenu\n\nThe original project is no more supported thus I made this.", "link": "https://extensions.gnome.org/extension/4451/logo-menu/", "shell_version_map": {"38": {"version": "10", "sha256": "0d7xmiyj07d8sfw6fsvj5i8pjkmn5m44l0lh0hvbaxsk9h72gj00", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "10", "sha256": "0d7xmiyj07d8sfw6fsvj5i8pjkmn5m44l0lh0hvbaxsk9h72gj00", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "0d7xmiyj07d8sfw6fsvj5i8pjkmn5m44l0lh0hvbaxsk9h72gj00", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "0d7xmiyj07d8sfw6fsvj5i8pjkmn5m44l0lh0hvbaxsk9h72gj00", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "rog-manager@rog", "name": "Rog Asus Manager", "pname": "rog-asus-manager", "description": "Asus ROG manager", "link": "https://extensions.gnome.org/extension/4452/rog-asus-manager/", "shell_version_map": {"38": {"version": "4", "sha256": "194k3qzjd05rki20ww0nv8001aiyp4ih9abv82g64058x8rmnff5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFzdXMgUk9HIG1hbmFnZXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJyb2ctbWFuYWdlciIsCiAgIm5hbWUiOiAiUm9nIEFzdXMgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yb2dtYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxlamFuZHJvLW1vdXJhcy9yb2ctbWFuYWdlciIsCiAgInV1aWQiOiAicm9nLW1hbmFnZXJAcm9nIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
@@ -589,7 +591,7 @@
 , {"uuid": "autohide-volume@unboiled.info", "name": "Autohide Volume", "pname": "autohide-volume", "description": "Autohide volume indicator when muted\n\nI'm not interested in the fact my output audio device is muted: this is how it's supposed to be. But if it's unmuted, then I want to see the icon.\n\nExcept when the mic is on, then I'm probably in a call, frantically figuring out what's wrong.", "link": "https://extensions.gnome.org/extension/4539/autohide-volume/", "shell_version_map": {"41": {"version": "2", "sha256": "1mxzrj5a9zdnkb2hvlmqnwnshnnyw43al59x466jp2pa7si6qy17", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9oaWRlIHZvbHVtZSBpbmRpY2F0b3Igd2hlbiBtdXRlZFxuXG5JJ20gbm90IGludGVyZXN0ZWQgaW4gdGhlIGZhY3QgbXkgb3V0cHV0IGF1ZGlvIGRldmljZSBpcyBtdXRlZDogdGhpcyBpcyBob3cgaXQncyBzdXBwb3NlZCB0byBiZS4gQnV0IGlmIGl0J3MgdW5tdXRlZCwgdGhlbiBJIHdhbnQgdG8gc2VlIHRoZSBpY29uLlxuXG5FeGNlcHQgd2hlbiB0aGUgbWljIGlzIG9uLCB0aGVuIEknbSBwcm9iYWJseSBpbiBhIGNhbGwsIGZyYW50aWNhbGx5IGZpZ3VyaW5nIG91dCB3aGF0J3Mgd3JvbmcuIiwKICAibmFtZSI6ICJBdXRvaGlkZSBWb2x1bWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vdDE4NDI1Ni9nbm9tZS1zaGVsbC1leHRlbnNpb24tYXV0b2hpZGUtdm9sdW1lIiwKICAidXVpZCI6ICJhdXRvaGlkZS12b2x1bWVAdW5ib2lsZWQuaW5mbyIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "1mxzrj5a9zdnkb2hvlmqnwnshnnyw43al59x466jp2pa7si6qy17", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9oaWRlIHZvbHVtZSBpbmRpY2F0b3Igd2hlbiBtdXRlZFxuXG5JJ20gbm90IGludGVyZXN0ZWQgaW4gdGhlIGZhY3QgbXkgb3V0cHV0IGF1ZGlvIGRldmljZSBpcyBtdXRlZDogdGhpcyBpcyBob3cgaXQncyBzdXBwb3NlZCB0byBiZS4gQnV0IGlmIGl0J3MgdW5tdXRlZCwgdGhlbiBJIHdhbnQgdG8gc2VlIHRoZSBpY29uLlxuXG5FeGNlcHQgd2hlbiB0aGUgbWljIGlzIG9uLCB0aGVuIEknbSBwcm9iYWJseSBpbiBhIGNhbGwsIGZyYW50aWNhbGx5IGZpZ3VyaW5nIG91dCB3aGF0J3Mgd3JvbmcuIiwKICAibmFtZSI6ICJBdXRvaGlkZSBWb2x1bWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vdDE4NDI1Ni9nbm9tZS1zaGVsbC1leHRlbnNpb24tYXV0b2hpZGUtdm9sdW1lIiwKICAidXVpZCI6ICJhdXRvaGlkZS12b2x1bWVAdW5ib2lsZWQuaW5mbyIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "cloudflare@adam.gadmz", "name": "Cloudflare", "pname": "cloudflare", "description": "Warp Connect", "link": "https://extensions.gnome.org/extension/4542/cloudflare/", "shell_version_map": {"38": {"version": "7", "sha256": "0wizvqfcsyh43786zhci4j5b8z28y95cjajvqrb51x4r489l67lw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiV2FycCBDb25uZWN0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsb3VkZmxhcmUiLAogICJuYW1lIjogIkNsb3VkZmxhcmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZHVvbmdnaWFraGFuaGIvQ2xvdWRmbGFyZV9HTk9NRV9FeHRlbnNpb24iLAogICJ1dWlkIjogImNsb3VkZmxhcmVAYWRhbS5nYWRteiIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "0wizvqfcsyh43786zhci4j5b8z28y95cjajvqrb51x4r489l67lw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiV2FycCBDb25uZWN0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsb3VkZmxhcmUiLAogICJuYW1lIjogIkNsb3VkZmxhcmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZHVvbmdnaWFraGFuaGIvQ2xvdWRmbGFyZV9HTk9NRV9FeHRlbnNpb24iLAogICJ1dWlkIjogImNsb3VkZmxhcmVAYWRhbS5nYWRteiIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "dell-command-configure-menu@vsimkus.github.io", "name": "Dell Command Configure menu", "pname": "dell-command-configure-menu", "description": "Adds submenu in gnome shell to access Dell Command Configure options.\n\nCurrently, only battery charge settings are implemented.\n\nThe Dell Command Configure tool must be installed separately from Dell https://www.dell.com/support/kbdoc/en-uk/000178000/dell-command-configure#Downloads.", "link": "https://extensions.gnome.org/extension/4545/dell-command-configure-menu/", "shell_version_map": {"38": {"version": "3", "sha256": "0mf9vibjzq1l9g6f3y7l7hx6dvqxbasdyhbrc8vfbczy9lar4v7h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSBzaGVsbCB0byBhY2Nlc3MgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBvcHRpb25zLlxuXG5DdXJyZW50bHksIG9ubHkgYmF0dGVyeSBjaGFyZ2Ugc2V0dGluZ3MgYXJlIGltcGxlbWVudGVkLlxuXG5UaGUgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSB0b29sIG11c3QgYmUgaW5zdGFsbGVkIHNlcGFyYXRlbHkgZnJvbSBEZWxsIGh0dHBzOi8vd3d3LmRlbGwuY29tL3N1cHBvcnQva2Jkb2MvZW4tdWsvMDAwMTc4MDAwL2RlbGwtY29tbWFuZC1jb25maWd1cmUjRG93bmxvYWRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgIm5hbWUiOiAiRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlbGxjb21tYW5kY29uZmlndXJlbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnNpbWt1cy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51IiwKICAidXVpZCI6ICJkZWxsLWNvbW1hbmQtY29uZmlndXJlLW1lbnVAdnNpbWt1cy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "7", "sha256": "03n0xyadr41s4izrckljrw04nv23izshlga8h8as9kkxcpq6msc3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSBzaGVsbCB0byBhY2Nlc3MgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBvcHRpb25zLlxuXG5DdXJyZW50bHksIG9ubHkgYmF0dGVyeSBjaGFyZ2Ugc2V0dGluZ3MgYXJlIGltcGxlbWVudGVkLlxuXG5UaGUgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSB0b29sIG11c3QgYmUgaW5zdGFsbGVkIHNlcGFyYXRlbHkgZnJvbSBEZWxsIGh0dHBzOi8vd3d3LmRlbGwuY29tL3N1cHBvcnQva2Jkb2MvZW4tdWsvMDAwMTc4MDAwL2RlbGwtY29tbWFuZC1jb25maWd1cmUjRG93bmxvYWRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgIm5hbWUiOiAiRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlbGxjb21tYW5kY29uZmlndXJlbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnNpbWt1cy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51IiwKICAidXVpZCI6ICJkZWxsLWNvbW1hbmQtY29uZmlndXJlLW1lbnVAdnNpbWt1cy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "03n0xyadr41s4izrckljrw04nv23izshlga8h8as9kkxcpq6msc3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSBzaGVsbCB0byBhY2Nlc3MgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBvcHRpb25zLlxuXG5DdXJyZW50bHksIG9ubHkgYmF0dGVyeSBjaGFyZ2Ugc2V0dGluZ3MgYXJlIGltcGxlbWVudGVkLlxuXG5UaGUgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSB0b29sIG11c3QgYmUgaW5zdGFsbGVkIHNlcGFyYXRlbHkgZnJvbSBEZWxsIGh0dHBzOi8vd3d3LmRlbGwuY29tL3N1cHBvcnQva2Jkb2MvZW4tdWsvMDAwMTc4MDAwL2RlbGwtY29tbWFuZC1jb25maWd1cmUjRG93bmxvYWRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgIm5hbWUiOiAiRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlbGxjb21tYW5kY29uZmlndXJlbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnNpbWt1cy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51IiwKICAidXVpZCI6ICJkZWxsLWNvbW1hbmQtY29uZmlndXJlLW1lbnVAdnNpbWt1cy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}}}
-, {"uuid": "tactile@lundal.io", "name": "Tactile", "pname": "tactile", "description": "Tile windows on a custom grid using your keyboard. Type Super-T to show the grid, then type two tiles (or the same tile twice) to move the active window.\n\nThe grid can be up to 4x3 (corresponding to one hand on the keyboard) and each row/column can be weighted to take up more or less space.", "link": "https://extensions.gnome.org/extension/4548/tactile/", "shell_version_map": {"38": {"version": "17", "sha256": "1gq7jmnh5scd33yq9hq97scq8dfjxh4k5c2mwqlp9qrpp57qkivy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "17", "sha256": "1gq7jmnh5scd33yq9hq97scq8dfjxh4k5c2mwqlp9qrpp57qkivy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "1gq7jmnh5scd33yq9hq97scq8dfjxh4k5c2mwqlp9qrpp57qkivy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "42": {"version": "17", "sha256": "1gq7jmnh5scd33yq9hq97scq8dfjxh4k5c2mwqlp9qrpp57qkivy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
+, {"uuid": "tactile@lundal.io", "name": "Tactile", "pname": "tactile", "description": "Tile windows on a custom grid using your keyboard. Type Super-T to show the grid, then type two tiles (or the same tile twice) to move the active window.\n\nThe grid can be up to 4x3 (corresponding to one hand on the keyboard) and each row/column can be weighted to take up more or less space.", "link": "https://extensions.gnome.org/extension/4548/tactile/", "shell_version_map": {"38": {"version": "19", "sha256": "1j1ccn04znxpgbmyn9xbh18hjvnhf95lv71sfx5m4rb5wsp1zn2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "40": {"version": "19", "sha256": "1j1ccn04znxpgbmyn9xbh18hjvnhf95lv71sfx5m4rb5wsp1zn2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "41": {"version": "19", "sha256": "1j1ccn04znxpgbmyn9xbh18hjvnhf95lv71sfx5m4rb5wsp1zn2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "42": {"version": "19", "sha256": "1j1ccn04znxpgbmyn9xbh18hjvnhf95lv71sfx5m4rb5wsp1zn2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
 , {"uuid": "killapp@adam.gadmz", "name": "Kill App", "pname": "kill-app", "description": "Force quit or kill application", "link": "https://extensions.gnome.org/extension/4551/kill-app/", "shell_version_map": {"38": {"version": "3", "sha256": "0gc6bk4piblqmm6qhb0jicdg571b23b0mns6mqhws4glznn4ckry", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiRm9yY2UgcXVpdCBvciBraWxsIGFwcGxpY2F0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbGxhcHAiLAogICJuYW1lIjogIktpbGwgQXBwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2R1b25nZ2lha2hhbmhiL0tpbGxhcHBfR05PTUVfRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJraWxsYXBwQGFkYW0uZ2FkbXoiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "0gc6bk4piblqmm6qhb0jicdg571b23b0mns6mqhws4glznn4ckry", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiRm9yY2UgcXVpdCBvciBraWxsIGFwcGxpY2F0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbGxhcHAiLAogICJuYW1lIjogIktpbGwgQXBwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2R1b25nZ2lha2hhbmhiL0tpbGxhcHBfR05PTUVfRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJraWxsYXBwQGFkYW0uZ2FkbXoiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "hotkeys-popup@pimsnel.com", "name": "Hotkeys Popup", "pname": "hotkeys-popup", "description": "Pop-up cheatsheet with currently configured keyboard shortcuts.", "link": "https://extensions.gnome.org/extension/4553/hotkeys-popup/", "shell_version_map": {"40": {"version": "5", "sha256": "1nygr81qcg62imd28cb360l1n49b2q64c3az9w6n46zx04bk1y0b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcC11cCBjaGVhdHNoZWV0IHdpdGggY3VycmVudGx5IGNvbmZpZ3VyZWQga2V5Ym9hcmQgc2hvcnRjdXRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImhvdGtleXMtcG9wdXAiLAogICJuYW1lIjogIkhvdGtleXMgUG9wdXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG90a2V5cy1wb3B1cCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL21pcG1pcC5naXRodWIuaW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy1ob3RrZXlzLXBvcHVwLyIsCiAgInV1aWQiOiAiaG90a2V5cy1wb3B1cEBwaW1zbmVsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1nygr81qcg62imd28cb360l1n49b2q64c3az9w6n46zx04bk1y0b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcC11cCBjaGVhdHNoZWV0IHdpdGggY3VycmVudGx5IGNvbmZpZ3VyZWQga2V5Ym9hcmQgc2hvcnRjdXRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImhvdGtleXMtcG9wdXAiLAogICJuYW1lIjogIkhvdGtleXMgUG9wdXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG90a2V5cy1wb3B1cCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL21pcG1pcC5naXRodWIuaW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy1ob3RrZXlzLXBvcHVwLyIsCiAgInV1aWQiOiAiaG90a2V5cy1wb3B1cEBwaW1zbmVsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "inotch@alynx.one", "name": "iNotch", "pname": "inotch", "description": "Add a useless notch to your screen.", "link": "https://extensions.gnome.org/extension/4556/inotch/", "shell_version_map": {"40": {"version": "3", "sha256": "0x4zx4ph20maf5gw08j0j6v2whvviqs220vlr903nbcc5cxy7yil", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHVzZWxlc3Mgbm90Y2ggdG8geW91ciBzY3JlZW4uIiwKICAibmFtZSI6ICJpTm90Y2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FseW54WmhvdS9nbm9tZS1zaGVsbC1leHRlbnNpb24taW5vdGNoLyIsCiAgInV1aWQiOiAiaW5vdGNoQGFseW54Lm9uZSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0x4zx4ph20maf5gw08j0j6v2whvviqs220vlr903nbcc5cxy7yil", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHVzZWxlc3Mgbm90Y2ggdG8geW91ciBzY3JlZW4uIiwKICAibmFtZSI6ICJpTm90Y2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FseW54WmhvdS9nbm9tZS1zaGVsbC1leHRlbnNpb24taW5vdGNoLyIsCiAgInV1aWQiOiAiaW5vdGNoQGFseW54Lm9uZSIsCiAgInZlcnNpb24iOiAzCn0="}}}
@@ -600,7 +602,7 @@
 , {"uuid": "dollar@dotpyc.com", "name": "Dollar", "pname": "dollar", "description": "Cotações do dólar USD para o real BRL em tempo real.", "link": "https://extensions.gnome.org/extension/4573/dollar/", "shell_version_map": {"38": {"version": "4", "sha256": "0g2zy1yk5cgfb02mlgznhl2kpy0k6aipjyh8gps4lmc92wihml53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdGFcdTAwZTdcdTAwZjVlcyBkbyBkXHUwMGYzbGFyIFVTRCBwYXJhIG8gcmVhbCBCUkwgZW0gdGVtcG8gcmVhbC4iLAogICJuYW1lIjogIkRvbGxhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MS40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWljaGFlbGRlbWF0dG9zL2RvbGxhci1kb3RweWMuY29tIiwKICAidXVpZCI6ICJkb2xsYXJAZG90cHljLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "0g2zy1yk5cgfb02mlgznhl2kpy0k6aipjyh8gps4lmc92wihml53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdGFcdTAwZTdcdTAwZjVlcyBkbyBkXHUwMGYzbGFyIFVTRCBwYXJhIG8gcmVhbCBCUkwgZW0gdGVtcG8gcmVhbC4iLAogICJuYW1lIjogIkRvbGxhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MS40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWljaGFlbGRlbWF0dG9zL2RvbGxhci1kb3RweWMuY29tIiwKICAidXVpZCI6ICJkb2xsYXJAZG90cHljLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "0g2zy1yk5cgfb02mlgznhl2kpy0k6aipjyh8gps4lmc92wihml53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdGFcdTAwZTdcdTAwZjVlcyBkbyBkXHUwMGYzbGFyIFVTRCBwYXJhIG8gcmVhbCBCUkwgZW0gdGVtcG8gcmVhbC4iLAogICJuYW1lIjogIkRvbGxhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MS40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWljaGFlbGRlbWF0dG9zL2RvbGxhci1kb3RweWMuY29tIiwKICAidXVpZCI6ICJkb2xsYXJAZG90cHljLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "activate_gnome@isjerryxiao", "name": "Activate GNOME", "pname": "activate_gnome", "description": "Shows Activate GNOME watermark on your screen.", "link": "https://extensions.gnome.org/extension/4574/activate_gnome/", "shell_version_map": {"40": {"version": "6", "sha256": "0dhb8fhzs9gb1blvgswdxvnzf9ac6ix0zdmhkw87cswsj0dgqj0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEFjdGl2YXRlIEdOT01FIHdhdGVybWFyayBvbiB5b3VyIHNjcmVlbi4iLAogICJuYW1lIjogIkFjdGl2YXRlIEdOT01FIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFjdGl2YXRlX2dub21lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaXNqZXJyeXhpYW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFjdGl2YXRlLWdub21lIiwKICAidXVpZCI6ICJhY3RpdmF0ZV9nbm9tZUBpc2plcnJ5eGlhbyIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0dhb8fhzs9gb1blvgswdxvnzf9ac6ix0zdmhkw87cswsj0dgqj0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEFjdGl2YXRlIEdOT01FIHdhdGVybWFyayBvbiB5b3VyIHNjcmVlbi4iLAogICJuYW1lIjogIkFjdGl2YXRlIEdOT01FIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFjdGl2YXRlX2dub21lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaXNqZXJyeXhpYW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFjdGl2YXRlLWdub21lIiwKICAidXVpZCI6ICJhY3RpdmF0ZV9nbm9tZUBpc2plcnJ5eGlhbyIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "0dhb8fhzs9gb1blvgswdxvnzf9ac6ix0zdmhkw87cswsj0dgqj0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEFjdGl2YXRlIEdOT01FIHdhdGVybWFyayBvbiB5b3VyIHNjcmVlbi4iLAogICJuYW1lIjogIkFjdGl2YXRlIEdOT01FIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFjdGl2YXRlX2dub21lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaXNqZXJyeXhpYW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFjdGl2YXRlLWdub21lIiwKICAidXVpZCI6ICJhY3RpdmF0ZV9nbm9tZUBpc2plcnJ5eGlhbyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "huawei-wmi@apps.sdore.me", "name": "Huawei WMI controls", "pname": "huawei-wmi-controls", "description": "Control various Huawei and Honor laptops WMI functions, such as battery protection, Fn-lock, power unlock and keyboard backlight.", "link": "https://extensions.gnome.org/extension/4580/huawei-wmi-controls/", "shell_version_map": {"40": {"version": "5", "sha256": "1c19l31bp6viwbc9brp19jnyhqzrjk1jfjfp6b6qbjgbyd1fwa5x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9hcHBzLnNkb3JlLm1lL2dub21lLWV4dGVuc2lvbi1odWF3ZWktd21pIiwKICAidXVpZCI6ICJodWF3ZWktd21pQGFwcHMuc2RvcmUubWUiLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "1c19l31bp6viwbc9brp19jnyhqzrjk1jfjfp6b6qbjgbyd1fwa5x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9hcHBzLnNkb3JlLm1lL2dub21lLWV4dGVuc2lvbi1odWF3ZWktd21pIiwKICAidXVpZCI6ICJodWF3ZWktd21pQGFwcHMuc2RvcmUubWUiLAogICJ2ZXJzaW9uIjogNQp9"}, "42": {"version": "5", "sha256": "1c19l31bp6viwbc9brp19jnyhqzrjk1jfjfp6b6qbjgbyd1fwa5x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9hcHBzLnNkb3JlLm1lL2dub21lLWV4dGVuc2lvbi1odWF3ZWktd21pIiwKICAidXVpZCI6ICJodWF3ZWktd21pQGFwcHMuc2RvcmUubWUiLAogICJ2ZXJzaW9uIjogNQp9"}}}
-, {"uuid": "username-hotname@it-und-entwicklung-fg.de", "name": "Username and Hostname to panel", "pname": "username-and-hostname-to-panel", "description": "Adds your avatar icon, user displayname und username to the menu panel. Also it adds the hostname to the left of the panel.", "link": "https://extensions.gnome.org/extension/4583/username-and-hostname-to-panel/", "shell_version_map": {"38": {"version": "4", "sha256": "0v98gymiw2pdczvndrvj3lsyhwi8ps0jldry1ykm9aghb05s13gx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2l0LWVudHdpY2tsdW5nLWZnL1VzZXJuYW1lLWFuZC1Ib3N0bmFtZSIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "0v98gymiw2pdczvndrvj3lsyhwi8ps0jldry1ykm9aghb05s13gx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2l0LWVudHdpY2tsdW5nLWZnL1VzZXJuYW1lLWFuZC1Ib3N0bmFtZSIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0v98gymiw2pdczvndrvj3lsyhwi8ps0jldry1ykm9aghb05s13gx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2l0LWVudHdpY2tsdW5nLWZnL1VzZXJuYW1lLWFuZC1Ib3N0bmFtZSIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}}}
+, {"uuid": "username-hotname@it-und-entwicklung-fg.de", "name": "Username and Hostname to panel", "pname": "username-and-hostname-to-panel", "description": "Adds your avatar icon, user displayname und username to the menu panel. Also it adds the hostname to the left of the panel.", "link": "https://extensions.gnome.org/extension/4583/username-and-hostname-to-panel/", "shell_version_map": {"38": {"version": "5", "sha256": "0kydfjc76h3jfaa096jrp1n5dzpxzljck2ikirsa96rw5mwyyaa8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pdC1lbnR3aWNrbHVuZy1mZy9Vc2VybmFtZS1hbmQtSG9zdG5hbWUiLAogICJ1dWlkIjogInVzZXJuYW1lLWhvdG5hbWVAaXQtdW5kLWVudHdpY2tsdW5nLWZnLmRlIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0kydfjc76h3jfaa096jrp1n5dzpxzljck2ikirsa96rw5mwyyaa8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pdC1lbnR3aWNrbHVuZy1mZy9Vc2VybmFtZS1hbmQtSG9zdG5hbWUiLAogICJ1dWlkIjogInVzZXJuYW1lLWhvdG5hbWVAaXQtdW5kLWVudHdpY2tsdW5nLWZnLmRlIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "0kydfjc76h3jfaa096jrp1n5dzpxzljck2ikirsa96rw5mwyyaa8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pdC1lbnR3aWNrbHVuZy1mZy9Vc2VybmFtZS1hbmQtSG9zdG5hbWUiLAogICJ1dWlkIjogInVzZXJuYW1lLWhvdG5hbWVAaXQtdW5kLWVudHdpY2tsdW5nLWZnLmRlIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "0kydfjc76h3jfaa096jrp1n5dzpxzljck2ikirsa96rw5mwyyaa8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pdC1lbnR3aWNrbHVuZy1mZy9Vc2VybmFtZS1hbmQtSG9zdG5hbWUiLAogICJ1dWlkIjogInVzZXJuYW1lLWhvdG5hbWVAaXQtdW5kLWVudHdpY2tsdW5nLWZnLmRlIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "InternetSpeedMonitor@Rishu", "name": "Internet Speed Monitor", "pname": "internet-speed-monitor", "description": "Extension to Monitor Internet Speed and Daily Data Usage minimally.\n It is a fork of InternetSpeedMeter", "link": "https://extensions.gnome.org/extension/4585/internet-speed-monitor/", "shell_version_map": {"38": {"version": "6", "sha256": "1addh1pdb49zijqsjv10xrqs7rp6k8x26h91vkry6pvzdc9arqln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBNb25pdG9yIEludGVybmV0IFNwZWVkIGFuZCBEYWlseSBEYXRhIFVzYWdlIG1pbmltYWxseS5cbiBJdCBpcyBhIGZvcmsgb2YgSW50ZXJuZXRTcGVlZE1ldGVyIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmlzaHVpbmZpbml0eS9JbnRlcm5ldFNwZWVkTW9uaXRvciIsCiAgInV1aWQiOiAiSW50ZXJuZXRTcGVlZE1vbml0b3JAUmlzaHUiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "1addh1pdb49zijqsjv10xrqs7rp6k8x26h91vkry6pvzdc9arqln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBNb25pdG9yIEludGVybmV0IFNwZWVkIGFuZCBEYWlseSBEYXRhIFVzYWdlIG1pbmltYWxseS5cbiBJdCBpcyBhIGZvcmsgb2YgSW50ZXJuZXRTcGVlZE1ldGVyIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmlzaHVpbmZpbml0eS9JbnRlcm5ldFNwZWVkTW9uaXRvciIsCiAgInV1aWQiOiAiSW50ZXJuZXRTcGVlZE1vbml0b3JAUmlzaHUiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "1addh1pdb49zijqsjv10xrqs7rp6k8x26h91vkry6pvzdc9arqln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBNb25pdG9yIEludGVybmV0IFNwZWVkIGFuZCBEYWlseSBEYXRhIFVzYWdlIG1pbmltYWxseS5cbiBJdCBpcyBhIGZvcmsgb2YgSW50ZXJuZXRTcGVlZE1ldGVyIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmlzaHVpbmZpbml0eS9JbnRlcm5ldFNwZWVkTW9uaXRvciIsCiAgInV1aWQiOiAiSW50ZXJuZXRTcGVlZE1vbml0b3JAUmlzaHUiLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "1addh1pdb49zijqsjv10xrqs7rp6k8x26h91vkry6pvzdc9arqln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBNb25pdG9yIEludGVybmV0IFNwZWVkIGFuZCBEYWlseSBEYXRhIFVzYWdlIG1pbmltYWxseS5cbiBJdCBpcyBhIGZvcmsgb2YgSW50ZXJuZXRTcGVlZE1ldGVyIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmlzaHVpbmZpbml0eS9JbnRlcm5ldFNwZWVkTW9uaXRvciIsCiAgInV1aWQiOiAiSW50ZXJuZXRTcGVlZE1vbml0b3JAUmlzaHUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "simulate-switching-workspaces-on-active-monitor@micheledaros.com", "name": "Switch workspaces on active monitor", "pname": "switch-workspaces-on-active-monitor", "description": "Simulates switching the workspace on the active monitor only. Ctrl+Alt+q switches to the previous workspace, Ctrl+Alt+a switches to the next", "link": "https://extensions.gnome.org/extension/4586/switch-workspaces-on-active-monitor/", "shell_version_map": {"38": {"version": "8", "sha256": "1yakh03r6qz08994bigzr9m5qqgm9ab2c02s1rab5rwym0a4d0vq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWljaGVsZWRhcm9zL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW11bGF0ZS1zd2l0Y2hpbmctd29ya3NwYWNlcy1vbi1hY3RpdmUtbW9uaXRvciIsCiAgInV1aWQiOiAic2ltdWxhdGUtc3dpdGNoaW5nLXdvcmtzcGFjZXMtb24tYWN0aXZlLW1vbml0b3JAbWljaGVsZWRhcm9zLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "8", "sha256": "1yakh03r6qz08994bigzr9m5qqgm9ab2c02s1rab5rwym0a4d0vq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWljaGVsZWRhcm9zL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW11bGF0ZS1zd2l0Y2hpbmctd29ya3NwYWNlcy1vbi1hY3RpdmUtbW9uaXRvciIsCiAgInV1aWQiOiAic2ltdWxhdGUtc3dpdGNoaW5nLXdvcmtzcGFjZXMtb24tYWN0aXZlLW1vbml0b3JAbWljaGVsZWRhcm9zLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "1yakh03r6qz08994bigzr9m5qqgm9ab2c02s1rab5rwym0a4d0vq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWljaGVsZWRhcm9zL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW11bGF0ZS1zd2l0Y2hpbmctd29ya3NwYWNlcy1vbi1hY3RpdmUtbW9uaXRvciIsCiAgInV1aWQiOiAic2ltdWxhdGUtc3dpdGNoaW5nLXdvcmtzcGFjZXMtb24tYWN0aXZlLW1vbml0b3JAbWljaGVsZWRhcm9zLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "42": {"version": "8", "sha256": "1yakh03r6qz08994bigzr9m5qqgm9ab2c02s1rab5rwym0a4d0vq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWljaGVsZWRhcm9zL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW11bGF0ZS1zd2l0Y2hpbmctd29ya3NwYWNlcy1vbi1hY3RpdmUtbW9uaXRvciIsCiAgInV1aWQiOiAic2ltdWxhdGUtc3dpdGNoaW5nLXdvcmtzcGFjZXMtb24tYWN0aXZlLW1vbml0b3JAbWljaGVsZWRhcm9zLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"uuid": "newworkspaceshortcut@barnix.io", "name": "New Workspace Shortcut", "pname": "new-workspace-shortcut", "description": "This extension will enable the following:\n\nMove-window-to-new-workspace Shortcut:\nUse a shortcut to move the in-focus window to a new workspace on the right of your current workspace: Super + Alt + Shift + n\nOr to the left / backward: Super + Alt + Shift + b\n\nNew-empty-workspace Shortcut:\nUse a shortcut to create an empty workspace on the right: Super + Alt + n\nOr to the left / backward: Super + Alt + b\n\nReorder-workspace Shortcut:\nUse a shortcut to move an entire workspace left or right of the current workspace: Ctl + Super + Left or Ctl + Super + Right\nBy default, this shorcut with automatically trigger the Overview to provide a limited form of visual feedback. However, this preference can be changed via the extension's Settings panel.\n\nThese shortcuts are created to work logically with the vanilla gnome shortcuts including change-workspace (Super + ALT + Left/Right) and move-window-to-next-workspace (Shift + Super + ALT + Left/Right).", "link": "https://extensions.gnome.org/extension/4597/new-workspace-shortcut/", "shell_version_map": {"41": {"version": "5", "sha256": "0anj72nb9wf80xyhymzr0v97v6hkpi95nmpmpajg5a3w05dz8y7n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHdpbGwgZW5hYmxlIHRoZSBmb2xsb3dpbmc6XG5cbk1vdmUtd2luZG93LXRvLW5ldy13b3Jrc3BhY2UgU2hvcnRjdXQ6XG5Vc2UgYSBzaG9ydGN1dCB0byBtb3ZlIHRoZSBpbi1mb2N1cyB3aW5kb3cgdG8gYSBuZXcgd29ya3NwYWNlIG9uIHRoZSByaWdodCBvZiB5b3VyIGN1cnJlbnQgd29ya3NwYWNlOiBTdXBlciArIEFsdCArIFNoaWZ0ICsgblxuT3IgdG8gdGhlIGxlZnQgLyBiYWNrd2FyZDogU3VwZXIgKyBBbHQgKyBTaGlmdCArIGJcblxuTmV3LWVtcHR5LXdvcmtzcGFjZSBTaG9ydGN1dDpcblVzZSBhIHNob3J0Y3V0IHRvIGNyZWF0ZSBhbiBlbXB0eSB3b3Jrc3BhY2Ugb24gdGhlIHJpZ2h0OiBTdXBlciArIEFsdCArIG5cbk9yIHRvIHRoZSBsZWZ0IC8gYmFja3dhcmQ6IFN1cGVyICsgQWx0ICsgYlxuXG5SZW9yZGVyLXdvcmtzcGFjZSBTaG9ydGN1dDpcblVzZSBhIHNob3J0Y3V0IHRvIG1vdmUgYW4gZW50aXJlIHdvcmtzcGFjZSBsZWZ0IG9yIHJpZ2h0IG9mIHRoZSBjdXJyZW50IHdvcmtzcGFjZTogQ3RsICsgU3VwZXIgKyBMZWZ0IG9yIEN0bCArIFN1cGVyICsgUmlnaHRcbkJ5IGRlZmF1bHQsIHRoaXMgc2hvcmN1dCB3aXRoIGF1dG9tYXRpY2FsbHkgdHJpZ2dlciB0aGUgT3ZlcnZpZXcgdG8gcHJvdmlkZSBhIGxpbWl0ZWQgZm9ybSBvZiB2aXN1YWwgZmVlZGJhY2suIEhvd2V2ZXIsIHRoaXMgcHJlZmVyZW5jZSBjYW4gYmUgY2hhbmdlZCB2aWEgdGhlIGV4dGVuc2lvbidzIFNldHRpbmdzIHBhbmVsLlxuXG5UaGVzZSBzaG9ydGN1dHMgYXJlIGNyZWF0ZWQgdG8gd29yayBsb2dpY2FsbHkgd2l0aCB0aGUgdmFuaWxsYSBnbm9tZSBzaG9ydGN1dHMgaW5jbHVkaW5nIGNoYW5nZS13b3Jrc3BhY2UgKFN1cGVyICsgQUxUICsgTGVmdC9SaWdodCkgYW5kIG1vdmUtd2luZG93LXRvLW5leHQtd29ya3NwYWNlIChTaGlmdCArIFN1cGVyICsgQUxUICsgTGVmdC9SaWdodCkuIiwKICAibmFtZSI6ICJOZXcgV29ya3NwYWNlIFNob3J0Y3V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ld3dvcmtzcGFjZXNob3J0Y3V0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Jhcm5zY290dC9uZXd3b3Jrc3BhY2VzaG9ydGN1dC1iYXJuaXguaW8iLAogICJ1dWlkIjogIm5ld3dvcmtzcGFjZXNob3J0Y3V0QGJhcm5peC5pbyIsCiAgInZlcnNpb24iOiA1Cn0="}}}
@@ -613,18 +615,18 @@
 , {"uuid": "hideTopBarWindow@kinzoku.one", "name": "Hide Top Bar Window", "pname": "hide-top-bar-window", "description": "Hides the selected window entry in the top bar.", "link": "https://extensions.gnome.org/extension/4621/hide-top-bar-window/", "shell_version_map": {"41": {"version": "1", "sha256": "0r7f8qb23ilz42pbbcd4rh22nnczqa9bags6msri1hl68lbv1qwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBzZWxlY3RlZCB3aW5kb3cgZW50cnkgaW4gdGhlIHRvcCBiYXIuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIgV2luZG93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDEuMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9raW56b2t1Lm9uZSIsCiAgInV1aWQiOiAiaGlkZVRvcEJhcldpbmRvd0BraW56b2t1Lm9uZSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "alphatint@saifulbkhan.github.com", "name": "AlphaTint", "pname": "alphatint", "description": "Artificially reduce brightness of your displays (including external monitors).\n\nIt is a fork of ColorTint modified to reduce brightness without an alpha channel.", "link": "https://extensions.gnome.org/extension/4624/alphatint/", "shell_version_map": {"40": {"version": "4", "sha256": "0yzip19k148y7yjkgxirhmi5sqj8brgnxij310ka5sl3big95rqb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2FpZnVsYmtoYW4vYWxwaGEtdGludCIsCiAgInV1aWQiOiAiYWxwaGF0aW50QHNhaWZ1bGJraGFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0yzip19k148y7yjkgxirhmi5sqj8brgnxij310ka5sl3big95rqb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2FpZnVsYmtoYW4vYWxwaGEtdGludCIsCiAgInV1aWQiOiAiYWxwaGF0aW50QHNhaWZ1bGJraGFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "focus-changer@heartmire", "name": "Focus changer", "pname": "focus-changer", "description": "Change focus between windows in all directions.\n\nThe extension will first try to find a suitable window within the same monitor. If there is none, it will try to find one on the next monitor in that direction (in a multi-monitor setup).\n\nDefault shortcuts (can be changed in preferences):\n<Super>+h = Focus left\n<Super>+j = Focus down\n<Super>+k = Focus up\n<Super>+l = Focus right", "link": "https://extensions.gnome.org/extension/4627/focus-changer/", "shell_version_map": {"38": {"version": "9", "sha256": "0ngn0bw0f2fpp0vv4hq7gb0vx2xq2gk3nkkb6p393i9qbr42l3y1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "11", "sha256": "1d9j2acgm5qf5vr3pid2yk52h45yy4bnqx9pw7nk65hmxyswca3y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "1d9j2acgm5qf5vr3pid2yk52h45yy4bnqx9pw7nk65hmxyswca3y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiAxMQp9"}, "42": {"version": "11", "sha256": "1d9j2acgm5qf5vr3pid2yk52h45yy4bnqx9pw7nk65hmxyswca3y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiAxMQp9"}}}
-, {"uuid": "no-titlebar-when-maximized@alec.ninja", "name": "No Titlebar When Maximized", "pname": "no-titlebar-when-maximized", "description": "Hides the classic title bar of maximized X.Org windows", "link": "https://extensions.gnome.org/extension/4630/no-titlebar-when-maximized/", "shell_version_map": {"41": {"version": "4", "sha256": "08vdlmv471b7v0c3h0p2yky7rmrrjrazn3in7qqmfvlp28j3hasl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBjbGFzc2ljIHRpdGxlIGJhciBvZiBtYXhpbWl6ZWQgWC5Pcmcgd2luZG93cyIsCiAgIm5hbWUiOiAiTm8gVGl0bGViYXIgV2hlbiBNYXhpbWl6ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxlY2RvdG5pbmphL25vLXRpdGxlYmFyLXdoZW4tbWF4aW1pemVkIiwKICAidXVpZCI6ICJuby10aXRsZWJhci13aGVuLW1heGltaXplZEBhbGVjLm5pbmphIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "no-titlebar-when-maximized@alec.ninja", "name": "No Titlebar When Maximized", "pname": "no-titlebar-when-maximized", "description": "Hides the classic title bar of maximized X.Org windows", "link": "https://extensions.gnome.org/extension/4630/no-titlebar-when-maximized/", "shell_version_map": {"41": {"version": "5", "sha256": "0gawpvbybkm4mlvx4h9d2bzqgll6rdgbmd9m1ia90bb2rzplmhii", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBjbGFzc2ljIHRpdGxlIGJhciBvZiBtYXhpbWl6ZWQgWC5Pcmcgd2luZG93cyIsCiAgIm5hbWUiOiAiTm8gVGl0bGViYXIgV2hlbiBNYXhpbWl6ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZWNkb3RuaW5qYS9uby10aXRsZWJhci13aGVuLW1heGltaXplZCIsCiAgInV1aWQiOiAibm8tdGl0bGViYXItd2hlbi1tYXhpbWl6ZWRAYWxlYy5uaW5qYSIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "0gawpvbybkm4mlvx4h9d2bzqgll6rdgbmd9m1ia90bb2rzplmhii", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBjbGFzc2ljIHRpdGxlIGJhciBvZiBtYXhpbWl6ZWQgWC5Pcmcgd2luZG93cyIsCiAgIm5hbWUiOiAiTm8gVGl0bGViYXIgV2hlbiBNYXhpbWl6ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZWNkb3RuaW5qYS9uby10aXRsZWJhci13aGVuLW1heGltaXplZCIsCiAgInV1aWQiOiAibm8tdGl0bGViYXItd2hlbi1tYXhpbWl6ZWRAYWxlYy5uaW5qYSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "cryptowatch@d0x2f.github.com", "name": "CryptoWatch", "pname": "cryptowatch", "description": "Display live crypto portfolio balances.", "link": "https://extensions.gnome.org/extension/4633/cryptowatch/", "shell_version_map": {"40": {"version": "8", "sha256": "1bknqhdr1vjw2v68nmpbvff2k93yd58wa5r17gm6zg6ir9q43crw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2QweDJmL0NyeXB0b1dhdGNoIiwKICAidXVpZCI6ICJjcnlwdG93YXRjaEBkMHgyZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "1bknqhdr1vjw2v68nmpbvff2k93yd58wa5r17gm6zg6ir9q43crw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2QweDJmL0NyeXB0b1dhdGNoIiwKICAidXVpZCI6ICJjcnlwdG93YXRjaEBkMHgyZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "42": {"version": "8", "sha256": "1bknqhdr1vjw2v68nmpbvff2k93yd58wa5r17gm6zg6ir9q43crw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2QweDJmL0NyeXB0b1dhdGNoIiwKICAidXVpZCI6ICJjcnlwdG93YXRjaEBkMHgyZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "mousefollowsfocus@matthes.biz", "name": "Mouse Follows Focus", "pname": "mouse-follows-focus", "description": "Are you a power-user?\nDo you like using Super+1,2,3 to access your favorite apps?\nAre you annoyed that you have to manually move your mouse between screens because it can't keep up with your keyboard shortcuts?\nThen this extension is for you!\n\nThis simple GNOME shell extension does the opposite of the 'focus follows mouse' setting. It makes the mouse follow your keyboard focus. Whenever you focus a window, if the cursor isn't already in it, it will jump to the windows center, making it easy to interact with it.", "link": "https://extensions.gnome.org/extension/4642/mouse-follows-focus/", "shell_version_map": {"41": {"version": "4", "sha256": "1zsy76sab87s74p30sxdp1cki1w956gm0sw27anpx1z6yih50rdv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFyZSB5b3UgYSBwb3dlci11c2VyP1xuRG8geW91IGxpa2UgdXNpbmcgU3VwZXIrMSwyLDMgdG8gYWNjZXNzIHlvdXIgZmF2b3JpdGUgYXBwcz9cbkFyZSB5b3UgYW5ub3llZCB0aGF0IHlvdSBoYXZlIHRvIG1hbnVhbGx5IG1vdmUgeW91ciBtb3VzZSBiZXR3ZWVuIHNjcmVlbnMgYmVjYXVzZSBpdCBjYW4ndCBrZWVwIHVwIHdpdGggeW91ciBrZXlib2FyZCBzaG9ydGN1dHM/XG5UaGVuIHRoaXMgZXh0ZW5zaW9uIGlzIGZvciB5b3UhXG5cblRoaXMgc2ltcGxlIEdOT01FIHNoZWxsIGV4dGVuc2lvbiBkb2VzIHRoZSBvcHBvc2l0ZSBvZiB0aGUgJ2ZvY3VzIGZvbGxvd3MgbW91c2UnIHNldHRpbmcuIEl0IG1ha2VzIHRoZSBtb3VzZSBmb2xsb3cgeW91ciBrZXlib2FyZCBmb2N1cy4gV2hlbmV2ZXIgeW91IGZvY3VzIGEgd2luZG93LCBpZiB0aGUgY3Vyc29yIGlzbid0IGFscmVhZHkgaW4gaXQsIGl0IHdpbGwganVtcCB0byB0aGUgd2luZG93cyBjZW50ZXIsIG1ha2luZyBpdCBlYXN5IHRvIGludGVyYWN0IHdpdGggaXQuIiwKICAibmFtZSI6ICJNb3VzZSBGb2xsb3dzIEZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xlb25NYXR0aGVzL21vdXNlZm9sbG93c2ZvY3VzIiwKICAidXVpZCI6ICJtb3VzZWZvbGxvd3Nmb2N1c0BtYXR0aGVzLmJpeiIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "gnome-extension-pass-search-provider.lavrov.github.com", "name": "Pass Search Provider", "pname": "pass-search-provider", "description": "Shows matching pass entries in gnome search", "link": "https://extensions.gnome.org/extension/4645/pass-search-provider/", "shell_version_map": {"40": {"version": "6", "sha256": "06msk4zds1q6jjdw6g7akbsiyfz0avwvydpykcylhhc9ribzsncn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG1hdGNoaW5nIHBhc3MgZW50cmllcyBpbiBnbm9tZSBzZWFyY2giLAogICJuYW1lIjogIlBhc3MgU2VhcmNoIFByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdnJvdi9nbm9tZS1leHRlbnNpb24tcGFzcy1zZWFyY2gtcHJvdmlkZXIiLAogICJ1dWlkIjogImdub21lLWV4dGVuc2lvbi1wYXNzLXNlYXJjaC1wcm92aWRlci5sYXZyb3YuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
-, {"uuid": "desktop-cube@schneegans.github.com", "name": "Desktop Cube", "pname": "desktop-cube", "description": "Indulge in nostalgia with useless 3D effects.", "link": "https://extensions.gnome.org/extension/4648/desktop-cube/", "shell_version_map": {"40": {"version": "9", "sha256": "0ijp96f1xyr7md04v5ls9pn7i7i0pibvrn60fsm71jl0f8i9v6i7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRGVza3RvcC1DdWJlIiwKICAidXVpZCI6ICJkZXNrdG9wLWN1YmVAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "0ijp96f1xyr7md04v5ls9pn7i7i0pibvrn60fsm71jl0f8i9v6i7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRGVza3RvcC1DdWJlIiwKICAidXVpZCI6ICJkZXNrdG9wLWN1YmVAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "0ijp96f1xyr7md04v5ls9pn7i7i0pibvrn60fsm71jl0f8i9v6i7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRGVza3RvcC1DdWJlIiwKICAidXVpZCI6ICJkZXNrdG9wLWN1YmVAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
+, {"uuid": "desktop-cube@schneegans.github.com", "name": "Desktop Cube", "pname": "desktop-cube", "description": "Indulge in nostalgia with useless 3D effects.", "link": "https://extensions.gnome.org/extension/4648/desktop-cube/", "shell_version_map": {"40": {"version": "10", "sha256": "1cpal5shcf1p2lsls05rr1l2a2crajbwjdb0idany1psrzwn1z9p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRGVza3RvcC1DdWJlIiwKICAidXVpZCI6ICJkZXNrdG9wLWN1YmVAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "1cpal5shcf1p2lsls05rr1l2a2crajbwjdb0idany1psrzwn1z9p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRGVza3RvcC1DdWJlIiwKICAidXVpZCI6ICJkZXNrdG9wLWN1YmVAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "1cpal5shcf1p2lsls05rr1l2a2crajbwjdb0idany1psrzwn1z9p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRGVza3RvcC1DdWJlIiwKICAidXVpZCI6ICJkZXNrdG9wLWN1YmVAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "notification-banner-reloaded@marcinjakubowski.github.com", "name": "Notification Banner Reloaded", "pname": "notification-banner-reloaded", "description": "Configure notification banner position and animation to your liking", "link": "https://extensions.gnome.org/extension/4651/notification-banner-reloaded/", "shell_version_map": {"40": {"version": "4", "sha256": "092b997khrxlndq4p905wx4ajm00gx94xf7dr6995383hmlh7zpf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyZSBub3RpZmljYXRpb24gYmFubmVyIHBvc2l0aW9uIGFuZCBhbmltYXRpb24gdG8geW91ciBsaWtpbmciLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBCYW5uZXIgUmVsb2FkZWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubm90aWZpY2F0aW9uLWJhbm5lci1yZWxvYWRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcmNpbmpha3Vib3dza2kvbm90aWZpY2F0aW9uLXBvc2l0aW9uLXJlbG9hZGVkIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tYmFubmVyLXJlbG9hZGVkQG1hcmNpbmpha3Vib3dza2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "092b997khrxlndq4p905wx4ajm00gx94xf7dr6995383hmlh7zpf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyZSBub3RpZmljYXRpb24gYmFubmVyIHBvc2l0aW9uIGFuZCBhbmltYXRpb24gdG8geW91ciBsaWtpbmciLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBCYW5uZXIgUmVsb2FkZWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubm90aWZpY2F0aW9uLWJhbm5lci1yZWxvYWRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcmNpbmpha3Vib3dza2kvbm90aWZpY2F0aW9uLXBvc2l0aW9uLXJlbG9hZGVkIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tYmFubmVyLXJlbG9hZGVkQG1hcmNpbmpha3Vib3dza2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "092b997khrxlndq4p905wx4ajm00gx94xf7dr6995383hmlh7zpf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyZSBub3RpZmljYXRpb24gYmFubmVyIHBvc2l0aW9uIGFuZCBhbmltYXRpb24gdG8geW91ciBsaWtpbmciLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBCYW5uZXIgUmVsb2FkZWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubm90aWZpY2F0aW9uLWJhbm5lci1yZWxvYWRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcmNpbmpha3Vib3dza2kvbm90aWZpY2F0aW9uLXBvc2l0aW9uLXJlbG9hZGVkIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tYmFubmVyLXJlbG9hZGVkQG1hcmNpbmpha3Vib3dza2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "gnome-extension-brightness@bruno.englert.gitlab.com", "name": "Adjust Display Brightness", "pname": "adjust-display-brightness", "description": "Simple GNOME extension to control displays' brightness via DDC. It requires ddcutil to be installed, I2C permissions for non-root users configured.", "link": "https://extensions.gnome.org/extension/4652/adjust-display-brightness/", "shell_version_map": {"40": {"version": "20", "sha256": "0ldlghrlvlifqpnjpysacahfm4v504k7vhzrvay6w36w8v0yadav", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyB2aWEgRERDLiBJdCByZXF1aXJlcyBkZGN1dGlsIHRvIGJlIGluc3RhbGxlZCwgSTJDIHBlcm1pc3Npb25zIGZvciBub24tcm9vdCB1c2VycyBjb25maWd1cmVkLiIsCiAgIm5hbWUiOiAiQWRqdXN0IERpc3BsYXkgQnJpZ2h0bmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYnJ1bm8uZW5nbGVydC9nbm9tZS1leHRlbnNpb24tYnJpZ2h0bmVzcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWJyaWdodG5lc3NAYnJ1bm8uZW5nbGVydC5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}, "41": {"version": "20", "sha256": "0ldlghrlvlifqpnjpysacahfm4v504k7vhzrvay6w36w8v0yadav", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyB2aWEgRERDLiBJdCByZXF1aXJlcyBkZGN1dGlsIHRvIGJlIGluc3RhbGxlZCwgSTJDIHBlcm1pc3Npb25zIGZvciBub24tcm9vdCB1c2VycyBjb25maWd1cmVkLiIsCiAgIm5hbWUiOiAiQWRqdXN0IERpc3BsYXkgQnJpZ2h0bmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYnJ1bm8uZW5nbGVydC9nbm9tZS1leHRlbnNpb24tYnJpZ2h0bmVzcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWJyaWdodG5lc3NAYnJ1bm8uZW5nbGVydC5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}}}
 , {"uuid": "date-menu-formatter@marcinjakubowski.github.com", "name": "Date Menu Formatter", "pname": "date-menu-formatter", "description": "Allows customization of the date display in the panel.\n\nMight be especially useful if you're using a horizontal panel which does not at all work well with the default date display.\n\nCHANGELOG\nVersion 5: added support for multiple Dash To Panel panels\nVersion 6: fixed issues on earlier Gnome Shell versions", "link": "https://extensions.gnome.org/extension/4655/date-menu-formatter/", "shell_version_map": {"40": {"version": "7", "sha256": "0l6fx4dfqr1pkpg7ckiynicwjzjrdn31mcbksk1a199scivkhilk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBjdXN0b21pemF0aW9uIG9mIHRoZSBkYXRlIGRpc3BsYXkgaW4gdGhlIHBhbmVsLlxuXG5NaWdodCBiZSBlc3BlY2lhbGx5IHVzZWZ1bCBpZiB5b3UncmUgdXNpbmcgYSBob3Jpem9udGFsIHBhbmVsIHdoaWNoIGRvZXMgbm90IGF0IGFsbCB3b3JrIHdlbGwgd2l0aCB0aGUgZGVmYXVsdCBkYXRlIGRpc3BsYXkuXG5cbkNIQU5HRUxPR1xuVmVyc2lvbiA1OiBhZGRlZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBEYXNoIFRvIFBhbmVsIHBhbmVsc1xuVmVyc2lvbiA2OiBmaXhlZCBpc3N1ZXMgb24gZWFybGllciBHbm9tZSBTaGVsbCB2ZXJzaW9ucyIsCiAgIm5hbWUiOiAiRGF0ZSBNZW51IEZvcm1hdHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXRlLW1lbnUtZm9ybWF0dGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImRhdGUtbWVudS1mb3JtYXR0ZXJAbWFyY2luamFrdWJvd3NraS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "0l6fx4dfqr1pkpg7ckiynicwjzjrdn31mcbksk1a199scivkhilk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBjdXN0b21pemF0aW9uIG9mIHRoZSBkYXRlIGRpc3BsYXkgaW4gdGhlIHBhbmVsLlxuXG5NaWdodCBiZSBlc3BlY2lhbGx5IHVzZWZ1bCBpZiB5b3UncmUgdXNpbmcgYSBob3Jpem9udGFsIHBhbmVsIHdoaWNoIGRvZXMgbm90IGF0IGFsbCB3b3JrIHdlbGwgd2l0aCB0aGUgZGVmYXVsdCBkYXRlIGRpc3BsYXkuXG5cbkNIQU5HRUxPR1xuVmVyc2lvbiA1OiBhZGRlZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBEYXNoIFRvIFBhbmVsIHBhbmVsc1xuVmVyc2lvbiA2OiBmaXhlZCBpc3N1ZXMgb24gZWFybGllciBHbm9tZSBTaGVsbCB2ZXJzaW9ucyIsCiAgIm5hbWUiOiAiRGF0ZSBNZW51IEZvcm1hdHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXRlLW1lbnUtZm9ybWF0dGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImRhdGUtbWVudS1mb3JtYXR0ZXJAbWFyY2luamFrdWJvd3NraS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "7", "sha256": "0l6fx4dfqr1pkpg7ckiynicwjzjrdn31mcbksk1a199scivkhilk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBjdXN0b21pemF0aW9uIG9mIHRoZSBkYXRlIGRpc3BsYXkgaW4gdGhlIHBhbmVsLlxuXG5NaWdodCBiZSBlc3BlY2lhbGx5IHVzZWZ1bCBpZiB5b3UncmUgdXNpbmcgYSBob3Jpem9udGFsIHBhbmVsIHdoaWNoIGRvZXMgbm90IGF0IGFsbCB3b3JrIHdlbGwgd2l0aCB0aGUgZGVmYXVsdCBkYXRlIGRpc3BsYXkuXG5cbkNIQU5HRUxPR1xuVmVyc2lvbiA1OiBhZGRlZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBEYXNoIFRvIFBhbmVsIHBhbmVsc1xuVmVyc2lvbiA2OiBmaXhlZCBpc3N1ZXMgb24gZWFybGllciBHbm9tZSBTaGVsbCB2ZXJzaW9ucyIsCiAgIm5hbWUiOiAiRGF0ZSBNZW51IEZvcm1hdHRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXRlLW1lbnUtZm9ybWF0dGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImRhdGUtbWVudS1mb3JtYXR0ZXJAbWFyY2luamFrdWJvd3NraS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "surf@diegonz.github.io", "name": "Surf", "pname": "surf", "description": "Visit URL or perform a web search with the terms provided directly from GNOME Shell", "link": "https://extensions.gnome.org/extension/4661/surf/", "shell_version_map": {"38": {"version": "2", "sha256": "04rs32jzy89vr2fyw44vmjx47l2kkdhqklqms9fqckf8ii3l4h56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpc2l0IFVSTCBvciBwZXJmb3JtIGEgd2ViIHNlYXJjaCB3aXRoIHRoZSB0ZXJtcyBwcm92aWRlZCBkaXJlY3RseSBmcm9tIEdOT01FIFNoZWxsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN1cmYiLAogICJuYW1lIjogIlN1cmYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3VyZiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGllZ29uei9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3VyZiIsCiAgInV1aWQiOiAic3VyZkBkaWVnb256LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "04rs32jzy89vr2fyw44vmjx47l2kkdhqklqms9fqckf8ii3l4h56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpc2l0IFVSTCBvciBwZXJmb3JtIGEgd2ViIHNlYXJjaCB3aXRoIHRoZSB0ZXJtcyBwcm92aWRlZCBkaXJlY3RseSBmcm9tIEdOT01FIFNoZWxsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN1cmYiLAogICJuYW1lIjogIlN1cmYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3VyZiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGllZ29uei9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3VyZiIsCiAgInV1aWQiOiAic3VyZkBkaWVnb256LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "04rs32jzy89vr2fyw44vmjx47l2kkdhqklqms9fqckf8ii3l4h56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpc2l0IFVSTCBvciBwZXJmb3JtIGEgd2ViIHNlYXJjaCB3aXRoIHRoZSB0ZXJtcyBwcm92aWRlZCBkaXJlY3RseSBmcm9tIEdOT01FIFNoZWxsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN1cmYiLAogICJuYW1lIjogIlN1cmYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3VyZiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGllZ29uei9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3VyZiIsCiAgInV1aWQiOiAic3VyZkBkaWVnb256LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "CustomizeClockOnLockScreen@pratap.fastmail.fm", "name": "Customize Clock on Lock Screen", "pname": "customize-clock-on-lock-screen", "description": "Customize Clock on Lock Screen.", "link": "https://extensions.gnome.org/extension/4663/customize-clock-on-lock-screen/", "shell_version_map": {"41": {"version": "2", "sha256": "1rw16avp8svfhkis6ifljkwffy67f22zpql31nmhgsdsm4bsp3pw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBDbG9jayBvbiBMb2NrIFNjcmVlbi4iLAogICJuYW1lIjogIkN1c3RvbWl6ZSBDbG9jayBvbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvY3VzdG9taXplLWNsb2NrLW9uLWxvY2stc2NyZWVuIiwKICAidXVpZCI6ICJDdXN0b21pemVDbG9ja09uTG9ja1NjcmVlbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "LeftClock@adityashrivastava.tk", "name": "Left Clock", "pname": "left-clock", "description": "Replaces the activity button with clock and moves it to left side of top bar.", "link": "https://extensions.gnome.org/extension/4667/left-clock/", "shell_version_map": {"40": {"version": "4", "sha256": "0lsihlkx9is0cisx7wsz9jy5h91gqhcpqqpq3lpl3msvn90dlmj9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VzIHRoZSBhY3Rpdml0eSBidXR0b24gd2l0aCBjbG9jayBhbmQgbW92ZXMgaXQgdG8gbGVmdCBzaWRlIG9mIHRvcCBiYXIuIiwKICAibmFtZSI6ICJMZWZ0IENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiTGVmdENsb2NrQGFkaXR5YXNocml2YXN0YXZhLnRrIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0lsihlkx9is0cisx7wsz9jy5h91gqhcpqqpq3lpl3msvn90dlmj9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VzIHRoZSBhY3Rpdml0eSBidXR0b24gd2l0aCBjbG9jayBhbmQgbW92ZXMgaXQgdG8gbGVmdCBzaWRlIG9mIHRvcCBiYXIuIiwKICAibmFtZSI6ICJMZWZ0IENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiTGVmdENsb2NrQGFkaXR5YXNocml2YXN0YXZhLnRrIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "keyboard-backlight-menu@ophir.dev", "name": "Keyboard Backlight Slider", "pname": "keyboard-backlight-slider", "description": "Allow setting the keyboard backlight brightness with a slider in the main menu", "link": "https://extensions.gnome.org/extension/4669/keyboard-backlight-slider/", "shell_version_map": {"40": {"version": "4", "sha256": "1afrdqjb5xvg57m5y7h33drs8yzwrblyddxypyrmc4xam37nq3lb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHNldHRpbmcgdGhlIGtleWJvYXJkIGJhY2tsaWdodCBicmlnaHRuZXNzIHdpdGggYSBzbGlkZXIgaW4gdGhlIG1haW4gbWVudSIsCiAgIm5hbWUiOiAiS2V5Ym9hcmQgQmFja2xpZ2h0IFNsaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbG92YXNvYS9nbm9tZS1rZXlib2FyZC1iYWNrbGlnaHQtbWVudSIsCiAgInV1aWQiOiAia2V5Ym9hcmQtYmFja2xpZ2h0LW1lbnVAb3BoaXIuZGV2IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1afrdqjb5xvg57m5y7h33drs8yzwrblyddxypyrmc4xam37nq3lb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHNldHRpbmcgdGhlIGtleWJvYXJkIGJhY2tsaWdodCBicmlnaHRuZXNzIHdpdGggYSBzbGlkZXIgaW4gdGhlIG1haW4gbWVudSIsCiAgIm5hbWUiOiAiS2V5Ym9hcmQgQmFja2xpZ2h0IFNsaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbG92YXNvYS9nbm9tZS1rZXlib2FyZC1iYWNrbGlnaHQtbWVudSIsCiAgInV1aWQiOiAia2V5Ym9hcmQtYmFja2xpZ2h0LW1lbnVAb3BoaXIuZGV2IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "keyboard-backlight-menu@ophir.dev", "name": "Keyboard Backlight Slider", "pname": "keyboard-backlight-slider", "description": "Allow setting the keyboard backlight brightness with a slider in the main menu", "link": "https://extensions.gnome.org/extension/4669/keyboard-backlight-slider/", "shell_version_map": {"40": {"version": "5", "sha256": "06sp86ffvplyc1k937mg5lmfggbakr7fks74b4klxxg9595lg91q", "metadata": "ewogICJ2ZXJzaW9uIjogMiwKICAibmFtZSI6ICJLZXlib2FyZCBCYWNrbGlnaHQgU2xpZGVyIiwKICAiZGVzY3JpcHRpb24iOiAiQWxsb3cgc2V0dGluZyB0aGUga2V5Ym9hcmQgYmFja2xpZ2h0IGJyaWdodG5lc3Mgd2l0aCBhIHNsaWRlciBpbiB0aGUgbWFpbiBtZW51IiwKICAidXVpZCI6ICJrZXlib2FyZC1iYWNrbGlnaHQtbWVudUBvcGhpci5kZXYiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xvdmFzb2EvZ25vbWUta2V5Ym9hcmQtYmFja2xpZ2h0LW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXQp9Cg=="}, "41": {"version": "5", "sha256": "06sp86ffvplyc1k937mg5lmfggbakr7fks74b4klxxg9595lg91q", "metadata": "ewogICJ2ZXJzaW9uIjogMiwKICAibmFtZSI6ICJLZXlib2FyZCBCYWNrbGlnaHQgU2xpZGVyIiwKICAiZGVzY3JpcHRpb24iOiAiQWxsb3cgc2V0dGluZyB0aGUga2V5Ym9hcmQgYmFja2xpZ2h0IGJyaWdodG5lc3Mgd2l0aCBhIHNsaWRlciBpbiB0aGUgbWFpbiBtZW51IiwKICAidXVpZCI6ICJrZXlib2FyZC1iYWNrbGlnaHQtbWVudUBvcGhpci5kZXYiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xvdmFzb2EvZ25vbWUta2V5Ym9hcmQtYmFja2xpZ2h0LW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXQp9Cg=="}, "42": {"version": "5", "sha256": "06sp86ffvplyc1k937mg5lmfggbakr7fks74b4klxxg9595lg91q", "metadata": "ewogICJ2ZXJzaW9uIjogMiwKICAibmFtZSI6ICJLZXlib2FyZCBCYWNrbGlnaHQgU2xpZGVyIiwKICAiZGVzY3JpcHRpb24iOiAiQWxsb3cgc2V0dGluZyB0aGUga2V5Ym9hcmQgYmFja2xpZ2h0IGJyaWdodG5lc3Mgd2l0aCBhIHNsaWRlciBpbiB0aGUgbWFpbiBtZW51IiwKICAidXVpZCI6ICJrZXlib2FyZC1iYWNrbGlnaHQtbWVudUBvcGhpci5kZXYiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xvdmFzb2EvZ25vbWUta2V5Ym9hcmQtYmFja2xpZ2h0LW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXQp9Cg=="}}}
 , {"uuid": "cloudflare-warp-gnome@harshan01", "name": "Cloudflare 1.1.1.1 WARP Switcher", "pname": "cloudflare-1111-warp-switcher", "description": "Unofficial Cloudflare 1.1.1.1 WARP Switcher extension for GNOME shell", "link": "https://extensions.gnome.org/extension/4670/cloudflare-1111-warp-switcher/", "shell_version_map": {"38": {"version": "3", "sha256": "03i5v3g6drhsxs915q4940xnsv4nzpa887lj04gji32dcgb10vr3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIgZXh0ZW5zaW9uIGZvciBHTk9NRSBzaGVsbCIsCiAgIm5hbWUiOiAiQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IYXJzaGFuMDEvQ2xvdWRmbGFyZS1XQVJQLUdOT01FLVN3aXRjaGVyIiwKICAidXVpZCI6ICJjbG91ZGZsYXJlLXdhcnAtZ25vbWVAaGFyc2hhbjAxIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "03i5v3g6drhsxs915q4940xnsv4nzpa887lj04gji32dcgb10vr3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIgZXh0ZW5zaW9uIGZvciBHTk9NRSBzaGVsbCIsCiAgIm5hbWUiOiAiQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IYXJzaGFuMDEvQ2xvdWRmbGFyZS1XQVJQLUdOT01FLVN3aXRjaGVyIiwKICAidXVpZCI6ICJjbG91ZGZsYXJlLXdhcnAtZ25vbWVAaGFyc2hhbjAxIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "03i5v3g6drhsxs915q4940xnsv4nzpa887lj04gji32dcgb10vr3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIgZXh0ZW5zaW9uIGZvciBHTk9NRSBzaGVsbCIsCiAgIm5hbWUiOiAiQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IYXJzaGFuMDEvQ2xvdWRmbGFyZS1XQVJQLUdOT01FLVN3aXRjaGVyIiwKICAidXVpZCI6ICJjbG91ZGZsYXJlLXdhcnAtZ25vbWVAaGFyc2hhbjAxIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "42": {"version": "3", "sha256": "03i5v3g6drhsxs915q4940xnsv4nzpa887lj04gji32dcgb10vr3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIgZXh0ZW5zaW9uIGZvciBHTk9NRSBzaGVsbCIsCiAgIm5hbWUiOiAiQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IYXJzaGFuMDEvQ2xvdWRmbGFyZS1XQVJQLUdOT01FLVN3aXRjaGVyIiwKICAidXVpZCI6ICJjbG91ZGZsYXJlLXdhcnAtZ25vbWVAaGFyc2hhbjAxIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "alt-tab-move-mouse@buzztaiki.github.com", "name": "Alt-Tab Move Mouse", "pname": "alt-tab-move-mouse", "description": "Move mouse pointer onto active window after Alt-Tab. This extension is workaround of some sloppy focus problems", "link": "https://extensions.gnome.org/extension/4673/alt-tab-move-mouse/", "shell_version_map": {"40": {"version": "2", "sha256": "0ncpa84dh632wix9cdfiaykzz3d2k3kz1wsbh7y5kwmsib2rjp1y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgbW91c2UgcG9pbnRlciBvbnRvIGFjdGl2ZSB3aW5kb3cgYWZ0ZXIgQWx0LVRhYi4gVGhpcyBleHRlbnNpb24gaXMgd29ya2Fyb3VuZCBvZiBzb21lIHNsb3BweSBmb2N1cyBwcm9ibGVtcyIsCiAgIm5hbWUiOiAiQWx0LVRhYiBNb3ZlIE1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYnV6enRhaWtpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbHQtdGFiLW1vdmUtbW91c2UiLAogICJ1dWlkIjogImFsdC10YWItbW92ZS1tb3VzZUBidXp6dGFpa2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "0ncpa84dh632wix9cdfiaykzz3d2k3kz1wsbh7y5kwmsib2rjp1y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgbW91c2UgcG9pbnRlciBvbnRvIGFjdGl2ZSB3aW5kb3cgYWZ0ZXIgQWx0LVRhYi4gVGhpcyBleHRlbnNpb24gaXMgd29ya2Fyb3VuZCBvZiBzb21lIHNsb3BweSBmb2N1cyBwcm9ibGVtcyIsCiAgIm5hbWUiOiAiQWx0LVRhYiBNb3ZlIE1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYnV6enRhaWtpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbHQtdGFiLW1vdmUtbW91c2UiLAogICJ1dWlkIjogImFsdC10YWItbW92ZS1tb3VzZUBidXp6dGFpa2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "0ncpa84dh632wix9cdfiaykzz3d2k3kz1wsbh7y5kwmsib2rjp1y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgbW91c2UgcG9pbnRlciBvbnRvIGFjdGl2ZSB3aW5kb3cgYWZ0ZXIgQWx0LVRhYi4gVGhpcyBleHRlbnNpb24gaXMgd29ya2Fyb3VuZCBvZiBzb21lIHNsb3BweSBmb2N1cyBwcm9ibGVtcyIsCiAgIm5hbWUiOiAiQWx0LVRhYiBNb3ZlIE1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYnV6enRhaWtpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbHQtdGFiLW1vdmUtbW91c2UiLAogICJ1dWlkIjogImFsdC10YWItbW92ZS1tb3VzZUBidXp6dGFpa2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "Server@sven.kramer", "name": "Server", "pname": "server", "description": "A simple Indicator that shows my home-server status (online / offline) on the main panel. Furthermore a wake on lan can be triggered. For WOL functionality, its necessary that you have 'wakeonlan' installed. This extension is only tested with Gnome 40+. Didnt test it yet with older versions.", "link": "https://extensions.gnome.org/extension/4676/server/", "shell_version_map": {"38": {"version": "3", "sha256": "1dcy5kw5797wjjdg85hc16vh82c3xjs2xdn3m573rqs3fjayy507", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiBUaGlzIGV4dGVuc2lvbiBpcyBvbmx5IHRlc3RlZCB3aXRoIEdub21lIDQwKy4gRGlkbnQgdGVzdCBpdCB5ZXQgd2l0aCBvbGRlciB2ZXJzaW9ucy4iLAogICJuYW1lIjogIlNlcnZlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5TZXJ2ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJTZXJ2ZXJAc3Zlbi5rcmFtZXIiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1dcy5kw5797wjjdg85hc16vh82c3xjs2xdn3m573rqs3fjayy507", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiBUaGlzIGV4dGVuc2lvbiBpcyBvbmx5IHRlc3RlZCB3aXRoIEdub21lIDQwKy4gRGlkbnQgdGVzdCBpdCB5ZXQgd2l0aCBvbGRlciB2ZXJzaW9ucy4iLAogICJuYW1lIjogIlNlcnZlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5TZXJ2ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJTZXJ2ZXJAc3Zlbi5rcmFtZXIiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1dcy5kw5797wjjdg85hc16vh82c3xjs2xdn3m573rqs3fjayy507", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiBUaGlzIGV4dGVuc2lvbiBpcyBvbmx5IHRlc3RlZCB3aXRoIEdub21lIDQwKy4gRGlkbnQgdGVzdCBpdCB5ZXQgd2l0aCBvbGRlciB2ZXJzaW9ucy4iLAogICJuYW1lIjogIlNlcnZlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5TZXJ2ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJTZXJ2ZXJAc3Zlbi5rcmFtZXIiLAogICJ2ZXJzaW9uIjogMwp9"}}}
@@ -646,15 +648,15 @@
 , {"uuid": "countdown-timer@eexpss.gmail.com", "name": "Countdown & Timer", "pname": "countdown-timer", "description": "Countdown in minutes, or enter text containing HH:MM format to set the Timer.", "link": "https://extensions.gnome.org/extension/4720/countdown-timer/", "shell_version_map": {"40": {"version": "9", "sha256": "08va385j93b9d1n8w7b3sia656abl4x25ka1kff4kzg0rd0b74c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdW50ZG93biBpbiBtaW51dGVzLCBvciBlbnRlciB0ZXh0IGNvbnRhaW5pbmcgSEg6TU0gZm9ybWF0IHRvIHNldCB0aGUgVGltZXIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY291bnRkb3duLXRpbWVyIiwKICAibmFtZSI6ICJDb3VudGRvd24gJiBUaW1lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNvdW50ZG93bi10aW1lci8iLAogICJ1dWlkIjogImNvdW50ZG93bi10aW1lckBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "08va385j93b9d1n8w7b3sia656abl4x25ka1kff4kzg0rd0b74c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdW50ZG93biBpbiBtaW51dGVzLCBvciBlbnRlciB0ZXh0IGNvbnRhaW5pbmcgSEg6TU0gZm9ybWF0IHRvIHNldCB0aGUgVGltZXIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY291bnRkb3duLXRpbWVyIiwKICAibmFtZSI6ICJDb3VudGRvd24gJiBUaW1lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNvdW50ZG93bi10aW1lci8iLAogICJ1dWlkIjogImNvdW50ZG93bi10aW1lckBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "08va385j93b9d1n8w7b3sia656abl4x25ka1kff4kzg0rd0b74c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdW50ZG93biBpbiBtaW51dGVzLCBvciBlbnRlciB0ZXh0IGNvbnRhaW5pbmcgSEg6TU0gZm9ybWF0IHRvIHNldCB0aGUgVGltZXIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY291bnRkb3duLXRpbWVyIiwKICAibmFtZSI6ICJDb3VudGRvd24gJiBUaW1lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNvdW50ZG93bi10aW1lci8iLAogICJ1dWlkIjogImNvdW50ZG93bi10aW1lckBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "workspace-dry-names@benmoussatmouad.github.io", "name": "Worksapce Dry Names", "pname": "worksapce-dry-names", "description": "Workspace dry-names is a simple gnome extension that enables tags for desktop workspaces. It shows text labels on the left side of the main panel with randomly generated cities names (or an other category of names). Names can also be modified.\n\nhttps://github.com/benmoussatMouad/gnome-workspace-dry-names.git", "link": "https://extensions.gnome.org/extension/4721/worksapce-dry-names/", "shell_version_map": {"38": {"version": "1", "sha256": "0ljprv3ar01p1y24p6j7hc8g7afca7ir0b2zyapjpzndz7mv1zcl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBkcnktbmFtZXMgaXMgYSBzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIHRoYXQgZW5hYmxlcyB0YWdzIGZvciBkZXNrdG9wIHdvcmtzcGFjZXMuIEl0IHNob3dzIHRleHQgbGFiZWxzIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIG1haW4gcGFuZWwgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgY2l0aWVzIG5hbWVzIChvciBhbiBvdGhlciBjYXRlZ29yeSBvZiBuYW1lcykuIE5hbWVzIGNhbiBhbHNvIGJlIG1vZGlmaWVkLlxuXG5odHRwczovL2dpdGh1Yi5jb20vYmVubW91c3NhdE1vdWFkL2dub21lLXdvcmtzcGFjZS1kcnktbmFtZXMuZ2l0IiwKICAibmFtZSI6ICJXb3Jrc2FwY2UgRHJ5IE5hbWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1kcnktbmFtZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtZHJ5LW5hbWVzQGJlbm1vdXNzYXRtb3VhZC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}, "40": {"version": "1", "sha256": "0ljprv3ar01p1y24p6j7hc8g7afca7ir0b2zyapjpzndz7mv1zcl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBkcnktbmFtZXMgaXMgYSBzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIHRoYXQgZW5hYmxlcyB0YWdzIGZvciBkZXNrdG9wIHdvcmtzcGFjZXMuIEl0IHNob3dzIHRleHQgbGFiZWxzIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIG1haW4gcGFuZWwgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgY2l0aWVzIG5hbWVzIChvciBhbiBvdGhlciBjYXRlZ29yeSBvZiBuYW1lcykuIE5hbWVzIGNhbiBhbHNvIGJlIG1vZGlmaWVkLlxuXG5odHRwczovL2dpdGh1Yi5jb20vYmVubW91c3NhdE1vdWFkL2dub21lLXdvcmtzcGFjZS1kcnktbmFtZXMuZ2l0IiwKICAibmFtZSI6ICJXb3Jrc2FwY2UgRHJ5IE5hbWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1kcnktbmFtZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtZHJ5LW5hbWVzQGJlbm1vdXNzYXRtb3VhZC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}, "41": {"version": "1", "sha256": "0ljprv3ar01p1y24p6j7hc8g7afca7ir0b2zyapjpzndz7mv1zcl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBkcnktbmFtZXMgaXMgYSBzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIHRoYXQgZW5hYmxlcyB0YWdzIGZvciBkZXNrdG9wIHdvcmtzcGFjZXMuIEl0IHNob3dzIHRleHQgbGFiZWxzIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIG1haW4gcGFuZWwgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgY2l0aWVzIG5hbWVzIChvciBhbiBvdGhlciBjYXRlZ29yeSBvZiBuYW1lcykuIE5hbWVzIGNhbiBhbHNvIGJlIG1vZGlmaWVkLlxuXG5odHRwczovL2dpdGh1Yi5jb20vYmVubW91c3NhdE1vdWFkL2dub21lLXdvcmtzcGFjZS1kcnktbmFtZXMuZ2l0IiwKICAibmFtZSI6ICJXb3Jrc2FwY2UgRHJ5IE5hbWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1kcnktbmFtZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtZHJ5LW5hbWVzQGJlbm1vdXNzYXRtb3VhZC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "window-calls@domandoman.xyz", "name": "Window Calls", "pname": "window-calls", "description": "Add new dbus call for windows to get windows list and some of theirs properties", "link": "https://extensions.gnome.org/extension/4724/window-calls/", "shell_version_map": {"41": {"version": "2", "sha256": "02z265maw4a0rkw5y4an2j7spjqif44nxf47q5qr6cwnvmfpw6ci", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBuZXcgZGJ1cyBjYWxsIGZvciB3aW5kb3dzIHRvIGdldCB3aW5kb3dzIGxpc3QgYW5kIHNvbWUgb2YgdGhlaXJzIHByb3BlcnRpZXMiLAogICJuYW1lIjogIldpbmRvdyBDYWxscyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pY2t5aWNreS93aW5kb3ctY2FsbHMiLAogICJ1dWlkIjogIndpbmRvdy1jYWxsc0Bkb21hbmRvbWFuLnh5eiIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"uuid": "primary_input_on_lockscreen@sagidayan.com", "name": "Primary Input on LockScreen", "pname": "primary-input-on-lockscreen", "description": "Automatically change input layout to primary on lock screen", "link": "https://extensions.gnome.org/extension/4727/primary-input-on-lockscreen/", "shell_version_map": {"40": {"version": "2", "sha256": "0m1hk3hhr5y4i7fk3x2pc9ln6rjlq7y9fvcv3imygs3w5q1bx1ll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hhbmdlIGlucHV0IGxheW91dCB0byBwcmltYXJ5IG9uIGxvY2sgc2NyZWVuIiwKICAibmFtZSI6ICJQcmltYXJ5IElucHV0IG9uIExvY2tTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3NhZ2lkYXlhbi9wcmltYXJ5LWlucHV0LW9uLWxvY2tzY3JlZW4iLAogICJ1dWlkIjogInByaW1hcnlfaW5wdXRfb25fbG9ja3NjcmVlbkBzYWdpZGF5YW4uY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "0m1hk3hhr5y4i7fk3x2pc9ln6rjlq7y9fvcv3imygs3w5q1bx1ll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hhbmdlIGlucHV0IGxheW91dCB0byBwcmltYXJ5IG9uIGxvY2sgc2NyZWVuIiwKICAibmFtZSI6ICJQcmltYXJ5IElucHV0IG9uIExvY2tTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3NhZ2lkYXlhbi9wcmltYXJ5LWlucHV0LW9uLWxvY2tzY3JlZW4iLAogICJ1dWlkIjogInByaW1hcnlfaW5wdXRfb25fbG9ja3NjcmVlbkBzYWdpZGF5YW4uY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "primary_input_on_lockscreen@sagidayan.com", "name": "Primary Input on LockScreen", "pname": "primary-input-on-lockscreen", "description": "Automatically change input layout to primary on lock screen", "link": "https://extensions.gnome.org/extension/4727/primary-input-on-lockscreen/", "shell_version_map": {"40": {"version": "3", "sha256": "00i0wl4yb5gmj35zzj0b8kbdbm7y50b0kls6dlackdxbqgh88ji3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hhbmdlIGlucHV0IGxheW91dCB0byBwcmltYXJ5IG9uIGxvY2sgc2NyZWVuIiwKICAibmFtZSI6ICJQcmltYXJ5IElucHV0IG9uIExvY2tTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9zYWdpZGF5YW4vcHJpbWFyeS1pbnB1dC1vbi1sb2Nrc2NyZWVuIiwKICAidXVpZCI6ICJwcmltYXJ5X2lucHV0X29uX2xvY2tzY3JlZW5Ac2FnaWRheWFuLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "00i0wl4yb5gmj35zzj0b8kbdbm7y50b0kls6dlackdxbqgh88ji3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hhbmdlIGlucHV0IGxheW91dCB0byBwcmltYXJ5IG9uIGxvY2sgc2NyZWVuIiwKICAibmFtZSI6ICJQcmltYXJ5IElucHV0IG9uIExvY2tTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9zYWdpZGF5YW4vcHJpbWFyeS1pbnB1dC1vbi1sb2Nrc2NyZWVuIiwKICAidXVpZCI6ICJwcmltYXJ5X2lucHV0X29uX2xvY2tzY3JlZW5Ac2FnaWRheWFuLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "00i0wl4yb5gmj35zzj0b8kbdbm7y50b0kls6dlackdxbqgh88ji3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hhbmdlIGlucHV0IGxheW91dCB0byBwcmltYXJ5IG9uIGxvY2sgc2NyZWVuIiwKICAibmFtZSI6ICJQcmltYXJ5IElucHV0IG9uIExvY2tTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9zYWdpZGF5YW4vcHJpbWFyeS1pbnB1dC1vbi1sb2Nrc2NyZWVuIiwKICAidXVpZCI6ICJwcmltYXJ5X2lucHV0X29uX2xvY2tzY3JlZW5Ac2FnaWRheWFuLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "browser-tabs@com.github.harshadgavali", "name": "Browser tabs", "pname": "browser-tabs", "description": "Search provider for browser tabs\n\nSee following github link for installing browser extension and host app for searches to appear!", "link": "https://extensions.gnome.org/extension/4733/browser-tabs/", "shell_version_map": {"40": {"version": "4", "sha256": "1ag30ai0frxbw3s67ir1i5jdxpzx52b9rp47sqpnjcqw46xc97b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBwcm92aWRlciBmb3IgYnJvd3NlciB0YWJzXG5cblNlZSBmb2xsb3dpbmcgZ2l0aHViIGxpbmsgZm9yIGluc3RhbGxpbmcgYnJvd3NlciBleHRlbnNpb24gYW5kIGhvc3QgYXBwIGZvciBzZWFyY2hlcyB0byBhcHBlYXIhIiwKICAibmFtZSI6ICJCcm93c2VyIHRhYnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL3NlYXJjaHByb3ZpZGVyLWZvci1icm93c2VyLXRhYnMuZ2l0LyIsCiAgInV1aWQiOiAiYnJvd3Nlci10YWJzQGNvbS5naXRodWIuaGFyc2hhZGdhdmFsaSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1ag30ai0frxbw3s67ir1i5jdxpzx52b9rp47sqpnjcqw46xc97b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBwcm92aWRlciBmb3IgYnJvd3NlciB0YWJzXG5cblNlZSBmb2xsb3dpbmcgZ2l0aHViIGxpbmsgZm9yIGluc3RhbGxpbmcgYnJvd3NlciBleHRlbnNpb24gYW5kIGhvc3QgYXBwIGZvciBzZWFyY2hlcyB0byBhcHBlYXIhIiwKICAibmFtZSI6ICJCcm93c2VyIHRhYnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL3NlYXJjaHByb3ZpZGVyLWZvci1icm93c2VyLXRhYnMuZ2l0LyIsCiAgInV1aWQiOiAiYnJvd3Nlci10YWJzQGNvbS5naXRodWIuaGFyc2hhZGdhdmFsaSIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "1ag30ai0frxbw3s67ir1i5jdxpzx52b9rp47sqpnjcqw46xc97b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBwcm92aWRlciBmb3IgYnJvd3NlciB0YWJzXG5cblNlZSBmb2xsb3dpbmcgZ2l0aHViIGxpbmsgZm9yIGluc3RhbGxpbmcgYnJvd3NlciBleHRlbnNpb24gYW5kIGhvc3QgYXBwIGZvciBzZWFyY2hlcyB0byBhcHBlYXIhIiwKICAibmFtZSI6ICJCcm93c2VyIHRhYnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL3NlYXJjaHByb3ZpZGVyLWZvci1icm93c2VyLXRhYnMuZ2l0LyIsCiAgInV1aWQiOiAiYnJvd3Nlci10YWJzQGNvbS5naXRodWIuaGFyc2hhZGdhdmFsaSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"uuid": "smart-auto-move@khimaros.com", "name": "Smart Auto Move", "pname": "smart-auto-move", "description": "Smart Auto Move learns the size and position of your application windows and restores them to the correct place on subsequent launches. Supports Wayland.\n\nNOTE: Optimized for use with static workspaces. For more control, can be set to default IGNORE and then selectively RESTORE only desired apps.", "link": "https://extensions.gnome.org/extension/4736/smart-auto-move/", "shell_version_map": {"41": {"version": "15", "sha256": "1i5czxzkhd3h19q4din4psj6swl8s7fjlb93blz0zvj6y6mx948g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNtYXJ0IEF1dG8gTW92ZSBsZWFybnMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIHlvdXIgYXBwbGljYXRpb24gd2luZG93cyBhbmQgcmVzdG9yZXMgdGhlbSB0byB0aGUgY29ycmVjdCBwbGFjZSBvbiBzdWJzZXF1ZW50IGxhdW5jaGVzLiBTdXBwb3J0cyBXYXlsYW5kLlxuXG5OT1RFOiBPcHRpbWl6ZWQgZm9yIHVzZSB3aXRoIHN0YXRpYyB3b3Jrc3BhY2VzLiBGb3IgbW9yZSBjb250cm9sLCBjYW4gYmUgc2V0IHRvIGRlZmF1bHQgSUdOT1JFIGFuZCB0aGVuIHNlbGVjdGl2ZWx5IFJFU1RPUkUgb25seSBkZXNpcmVkIGFwcHMuIiwKICAibmFtZSI6ICJTbWFydCBBdXRvIE1vdmUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAia2hpbWFyb3MiLAogICJzZXR0aW5ncy1wYXRoIjogIi9vcmcvZ25vbWUvc2hlbGwvZXh0ZW5zaW9ucy9zbWFydC1hdXRvLW1vdmUvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNtYXJ0LWF1dG8tbW92ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9raGltYXJvcy9zbWFydC1hdXRvLW1vdmUiLAogICJ1dWlkIjogInNtYXJ0LWF1dG8tbW92ZUBraGltYXJvcy5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
+, {"uuid": "smart-auto-move@khimaros.com", "name": "Smart Auto Move", "pname": "smart-auto-move", "description": "Smart Auto Move learns the size and position of your application windows and restores them to the correct place on subsequent launches. Supports Wayland.\n\nNOTE: Optimized for use with static workspaces. For more control, can be set to default IGNORE and then selectively RESTORE only desired apps.", "link": "https://extensions.gnome.org/extension/4736/smart-auto-move/", "shell_version_map": {"41": {"version": "16", "sha256": "1lzz38qplz2qgfrkjnx72mkjixcmv8ydna3kfnysbisr0ab9klh6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNtYXJ0IEF1dG8gTW92ZSBsZWFybnMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIHlvdXIgYXBwbGljYXRpb24gd2luZG93cyBhbmQgcmVzdG9yZXMgdGhlbSB0byB0aGUgY29ycmVjdCBwbGFjZSBvbiBzdWJzZXF1ZW50IGxhdW5jaGVzLiBTdXBwb3J0cyBXYXlsYW5kLlxuXG5OT1RFOiBPcHRpbWl6ZWQgZm9yIHVzZSB3aXRoIHN0YXRpYyB3b3Jrc3BhY2VzLiBGb3IgbW9yZSBjb250cm9sLCBjYW4gYmUgc2V0IHRvIGRlZmF1bHQgSUdOT1JFIGFuZCB0aGVuIHNlbGVjdGl2ZWx5IFJFU1RPUkUgb25seSBkZXNpcmVkIGFwcHMuIiwKICAibmFtZSI6ICJTbWFydCBBdXRvIE1vdmUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAia2hpbWFyb3MiLAogICJzZXR0aW5ncy1wYXRoIjogIi9vcmcvZ25vbWUvc2hlbGwvZXh0ZW5zaW9ucy9zbWFydC1hdXRvLW1vdmUvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNtYXJ0LWF1dG8tbW92ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2hpbWFyb3Mvc21hcnQtYXV0by1tb3ZlIiwKICAidXVpZCI6ICJzbWFydC1hdXRvLW1vdmVAa2hpbWFyb3MuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "1lzz38qplz2qgfrkjnx72mkjixcmv8ydna3kfnysbisr0ab9klh6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNtYXJ0IEF1dG8gTW92ZSBsZWFybnMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIHlvdXIgYXBwbGljYXRpb24gd2luZG93cyBhbmQgcmVzdG9yZXMgdGhlbSB0byB0aGUgY29ycmVjdCBwbGFjZSBvbiBzdWJzZXF1ZW50IGxhdW5jaGVzLiBTdXBwb3J0cyBXYXlsYW5kLlxuXG5OT1RFOiBPcHRpbWl6ZWQgZm9yIHVzZSB3aXRoIHN0YXRpYyB3b3Jrc3BhY2VzLiBGb3IgbW9yZSBjb250cm9sLCBjYW4gYmUgc2V0IHRvIGRlZmF1bHQgSUdOT1JFIGFuZCB0aGVuIHNlbGVjdGl2ZWx5IFJFU1RPUkUgb25seSBkZXNpcmVkIGFwcHMuIiwKICAibmFtZSI6ICJTbWFydCBBdXRvIE1vdmUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAia2hpbWFyb3MiLAogICJzZXR0aW5ncy1wYXRoIjogIi9vcmcvZ25vbWUvc2hlbGwvZXh0ZW5zaW9ucy9zbWFydC1hdXRvLW1vdmUvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNtYXJ0LWF1dG8tbW92ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2hpbWFyb3Mvc21hcnQtYXV0by1tb3ZlIiwKICAidXVpZCI6ICJzbWFydC1hdXRvLW1vdmVAa2hpbWFyb3MuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"uuid": "hplip-menu2@grizzlysmit.smit.id.au", "name": "Alternate Menu for Hplip2", "pname": "alternate-menu-for-hplip2", "description": "control your hp printers by calling the device manager hp-toolbox, also some useful links\nMotivation: the hp-systray doesn't work reliably under gnome shell\nyou need to have installed hplip in order to use this\nChoice of using a printer icon or a hp_logo.png if it's installed in the same place as mine on Ubuntu\nyou could use symbolic links to fake the path.\nThis is a replacement for the old \"Alternate Menu for Hplip\" which doesn't work under the new Gome-Shell I have cleaned it up a bit and it has a few new menu's but it is still basically the same thing.\n Added even more menus all most all system settings ones.\n\nNote: the menu will be too big if your resolution is way too low like 800x600 I have no soln for this just now.", "link": "https://extensions.gnome.org/extension/4739/alternate-menu-for-hplip2/", "shell_version_map": {"40": {"version": "4", "sha256": "1l1b0ybii5ilvk1x4jdr70wbvl3k4jw53yxapmkj2naskq1gasb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy4iLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1l1b0ybii5ilvk1x4jdr70wbvl3k4jw53yxapmkj2naskq1gasb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy4iLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "1l1b0ybii5ilvk1x4jdr70wbvl3k4jw53yxapmkj2naskq1gasb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy4iLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "dash-from-panel@fthx", "name": "Dash from Panel", "pname": "dash-from-panel", "description": "Top dock for GNOME 40+. Hover top panel and GNOME Shell dash appears without overview.\n\n Scroll on dock or panel changes workspace. Preferences UI.\n\n Does use native GNOME Shell Dash. Very light extension.\n\n Please report bugs through GitHub.", "link": "https://extensions.gnome.org/extension/4741/dash-from-panel/", "shell_version_map": {"40": {"version": "3", "sha256": "10lcxqkg9i7gjvgdb01b6fahj5yr7c614yj4jcz9ywi5v571b1hw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBkb2NrIGZvciBHTk9NRSA0MCsuIEhvdmVyIHRvcCBwYW5lbCBhbmQgR05PTUUgU2hlbGwgZGFzaCBhcHBlYXJzIHdpdGhvdXQgb3ZlcnZpZXcuXG5cbiBTY3JvbGwgb24gZG9jayBvciBwYW5lbCBjaGFuZ2VzIHdvcmtzcGFjZS4gUHJlZmVyZW5jZXMgVUkuXG5cbiBEb2VzIHVzZSBuYXRpdmUgR05PTUUgU2hlbGwgRGFzaC4gVmVyeSBsaWdodCBleHRlbnNpb24uXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJEYXNoIGZyb20gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Rhc2gtZnJvbS1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC1mcm9tLXBhbmVsQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "10lcxqkg9i7gjvgdb01b6fahj5yr7c614yj4jcz9ywi5v571b1hw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBkb2NrIGZvciBHTk9NRSA0MCsuIEhvdmVyIHRvcCBwYW5lbCBhbmQgR05PTUUgU2hlbGwgZGFzaCBhcHBlYXJzIHdpdGhvdXQgb3ZlcnZpZXcuXG5cbiBTY3JvbGwgb24gZG9jayBvciBwYW5lbCBjaGFuZ2VzIHdvcmtzcGFjZS4gUHJlZmVyZW5jZXMgVUkuXG5cbiBEb2VzIHVzZSBuYXRpdmUgR05PTUUgU2hlbGwgRGFzaC4gVmVyeSBsaWdodCBleHRlbnNpb24uXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJEYXNoIGZyb20gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Rhc2gtZnJvbS1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC1mcm9tLXBhbmVsQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "10lcxqkg9i7gjvgdb01b6fahj5yr7c614yj4jcz9ywi5v571b1hw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBkb2NrIGZvciBHTk9NRSA0MCsuIEhvdmVyIHRvcCBwYW5lbCBhbmQgR05PTUUgU2hlbGwgZGFzaCBhcHBlYXJzIHdpdGhvdXQgb3ZlcnZpZXcuXG5cbiBTY3JvbGwgb24gZG9jayBvciBwYW5lbCBjaGFuZ2VzIHdvcmtzcGFjZS4gUHJlZmVyZW5jZXMgVUkuXG5cbiBEb2VzIHVzZSBuYXRpdmUgR05PTUUgU2hlbGwgRGFzaC4gVmVyeSBsaWdodCBleHRlbnNpb24uXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJEYXNoIGZyb20gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Rhc2gtZnJvbS1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC1mcm9tLXBhbmVsQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "clip-translator@eexpss.gmail.com", "name": "Clip Translator", "pname": "clip-translator", "description": "* Translate from Clipboard content", "link": "https://extensions.gnome.org/extension/4744/clip-translator/", "shell_version_map": {"40": {"version": "13", "sha256": "0i5gcmxxl8p0zfh6jbdrhb6s4dw7wrfl74h0z527zwfzb454yj20", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogVHJhbnNsYXRlIGZyb20gQ2xpcGJvYXJkIGNvbnRlbnQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLXRyYW5zbGF0b3IiLAogICJuYW1lIjogIkNsaXAgVHJhbnNsYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLWNsaXAtdHJhbnNsYXRvciIsCiAgInV1aWQiOiAiY2xpcC10cmFuc2xhdG9yQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "0i5gcmxxl8p0zfh6jbdrhb6s4dw7wrfl74h0z527zwfzb454yj20", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogVHJhbnNsYXRlIGZyb20gQ2xpcGJvYXJkIGNvbnRlbnQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLXRyYW5zbGF0b3IiLAogICJuYW1lIjogIkNsaXAgVHJhbnNsYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLWNsaXAtdHJhbnNsYXRvciIsCiAgInV1aWQiOiAiY2xpcC10cmFuc2xhdG9yQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "42": {"version": "13", "sha256": "0i5gcmxxl8p0zfh6jbdrhb6s4dw7wrfl74h0z527zwfzb454yj20", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogVHJhbnNsYXRlIGZyb20gQ2xpcGJvYXJkIGNvbnRlbnQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLXRyYW5zbGF0b3IiLAogICJuYW1lIjogIkNsaXAgVHJhbnNsYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLWNsaXAtdHJhbnNsYXRvciIsCiAgInV1aWQiOiAiY2xpcC10cmFuc2xhdG9yQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
 , {"uuid": "hidedate@hidedate.com", "name": "Hide Date", "pname": "hide-date", "description": "hides date and clocks", "link": "https://extensions.gnome.org/extension/4747/hide-date/", "shell_version_map": {"38": {"version": "3", "sha256": "1k0dbq26lnc2dj6w0jmjv2xyih405k02w9c7m220nspbwhspzpw6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIGRhdGUgYW5kIGNsb2NrcyIsCiAgIm5hbWUiOiAiSGlkZSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9idXNyYWNhZ2xpeWFuL0dub21lLUV4dGVuc2lvbi1FeGFtcGxlcy90cmVlL21haW4vaGlkZWRhdGUlNDBoaWRlZGF0ZS5jb20iLAogICJ1dWlkIjogImhpZGVkYXRlQGhpZGVkYXRlLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1k0dbq26lnc2dj6w0jmjv2xyih405k02w9c7m220nspbwhspzpw6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIGRhdGUgYW5kIGNsb2NrcyIsCiAgIm5hbWUiOiAiSGlkZSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9idXNyYWNhZ2xpeWFuL0dub21lLUV4dGVuc2lvbi1FeGFtcGxlcy90cmVlL21haW4vaGlkZWRhdGUlNDBoaWRlZGF0ZS5jb20iLAogICJ1dWlkIjogImhpZGVkYXRlQGhpZGVkYXRlLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "1k0dbq26lnc2dj6w0jmjv2xyih405k02w9c7m220nspbwhspzpw6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGVzIGRhdGUgYW5kIGNsb2NrcyIsCiAgIm5hbWUiOiAiSGlkZSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9idXNyYWNhZ2xpeWFuL0dub21lLUV4dGVuc2lvbi1FeGFtcGxlcy90cmVlL21haW4vaGlkZWRhdGUlNDBoaWRlZGF0ZS5jb20iLAogICJ1dWlkIjogImhpZGVkYXRlQGhpZGVkYXRlLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
-, {"uuid": "toggleimwheel@mijorus.it", "name": "Toggle imwheel", "pname": "toggle-imwheel", "description": "This simple extension wants to mitigate the lack of a dedicated mouse wheel control on most of the modern linux distributions. Many are using imwheel as a temporary fix; however, if you are using laptop, you might want to have two different settings for the touchpad and the mouse. \n This extension will add an icon in the top bar which lets you toggle imwheel between two custom settings.\n\n\nhttps://github.com/mijorus/toggle-imwheel", "link": "https://extensions.gnome.org/extension/4748/toggle-imwheel/", "shell_version_map": {"40": {"version": "2", "sha256": "1fjqap51g7gy3jra7r1qq4j61iifx13l5lj8sw2csbvzliacsr62", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGxlIGV4dGVuc2lvbiB3YW50cyB0byBtaXRpZ2F0ZSB0aGUgbGFjayBvZiBhIGRlZGljYXRlZCBtb3VzZSB3aGVlbCBjb250cm9sIG9uIG1vc3Qgb2YgdGhlIG1vZGVybiBsaW51eCBkaXN0cmlidXRpb25zLiBNYW55IGFyZSB1c2luZyBpbXdoZWVsIGFzIGEgdGVtcG9yYXJ5IGZpeDsgaG93ZXZlciwgaWYgeW91IGFyZSB1c2luZyBsYXB0b3AsIHlvdSBtaWdodCB3YW50IHRvIGhhdmUgdHdvIGRpZmZlcmVudCBzZXR0aW5ncyBmb3IgdGhlIHRvdWNocGFkIGFuZCB0aGUgbW91c2UuIFxuIFRoaXMgZXh0ZW5zaW9uIHdpbGwgYWRkIGFuIGljb24gaW4gdGhlIHRvcCBiYXIgd2hpY2ggbGV0cyB5b3UgdG9nZ2xlIGltd2hlZWwgYmV0d2VlbiB0d28gY3VzdG9tIHNldHRpbmdzLlxuXG5cbmh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3RvZ2dsZS1pbXdoZWVsIiwKICAibmFtZSI6ICJUb2dnbGUgaW13aGVlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidG9nZ2xlaW13aGVlbEBtaWpvcnVzLml0IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
-, {"uuid": "yakuake-extension@kde.org", "name": "Yakuake", "pname": "yakuake", "description": "A Gnome shell extension to use Yakuake on Gnome. Adds a global shortcut to show/hide yakuake and makes the console appear focussed.", "link": "https://extensions.gnome.org/extension/4757/yakuake/", "shell_version_map": {"40": {"version": "4", "sha256": "0rdrcbsscchvi8i9f6c9sjgnn4546i33l0q135jvav7c1a6bb9mq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlIGFuZCBtYWtlcyB0aGUgY29uc29sZSBhcHBlYXIgZm9jdXNzZWQuIiwKICAibmFtZSI6ICJZYWt1YWtlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJlcnR2YWthL3lha3Vha2UtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ5YWt1YWtlLWV4dGVuc2lvbkBrZGUub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0rdrcbsscchvi8i9f6c9sjgnn4546i33l0q135jvav7c1a6bb9mq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlIGFuZCBtYWtlcyB0aGUgY29uc29sZSBhcHBlYXIgZm9jdXNzZWQuIiwKICAibmFtZSI6ICJZYWt1YWtlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJlcnR2YWthL3lha3Vha2UtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ5YWt1YWtlLWV4dGVuc2lvbkBrZGUub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "toggleimwheel@mijorus.it", "name": "Toggle imwheel", "pname": "toggle-imwheel", "description": "This simple extension wants to mitigate the lack of a dedicated mouse wheel control on most of the modern linux distributions. Many are using imwheel as a temporary fix; however, if you are using a laptop, you might want to have two different settings for the touchpad and the mouse. \n This extension will add an icon in the top bar which lets you toggle imwheel between two custom settings. \n https://github.com/mijorus/toggle-imwheel", "link": "https://extensions.gnome.org/extension/4748/toggle-imwheel/", "shell_version_map": {"40": {"version": "6", "sha256": "0kf477yyhqy0lkg4r48lgwzadpjs4fxyw0v6yaf412swz7h7713c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGxlIGV4dGVuc2lvbiB3YW50cyB0byBtaXRpZ2F0ZSB0aGUgbGFjayBvZiBhIGRlZGljYXRlZCBtb3VzZSB3aGVlbCBjb250cm9sIG9uIG1vc3Qgb2YgdGhlIG1vZGVybiBsaW51eCBkaXN0cmlidXRpb25zLiBNYW55IGFyZSB1c2luZyBpbXdoZWVsIGFzIGEgdGVtcG9yYXJ5IGZpeDsgaG93ZXZlciwgaWYgeW91IGFyZSB1c2luZyBhIGxhcHRvcCwgeW91IG1pZ2h0IHdhbnQgdG8gaGF2ZSB0d28gZGlmZmVyZW50IHNldHRpbmdzIGZvciB0aGUgdG91Y2hwYWQgYW5kIHRoZSBtb3VzZS4gXG4gVGhpcyBleHRlbnNpb24gd2lsbCBhZGQgYW4gaWNvbiBpbiB0aGUgdG9wIGJhciB3aGljaCBsZXRzIHlvdSB0b2dnbGUgaW13aGVlbCBiZXR3ZWVuIHR3byBjdXN0b20gc2V0dGluZ3MuIFxuIGh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3RvZ2dsZS1pbXdoZWVsIiwKICAibmFtZSI6ICJUb2dnbGUgaW13aGVlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b2dnbGVpbXdoZWVsQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0kf477yyhqy0lkg4r48lgwzadpjs4fxyw0v6yaf412swz7h7713c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGxlIGV4dGVuc2lvbiB3YW50cyB0byBtaXRpZ2F0ZSB0aGUgbGFjayBvZiBhIGRlZGljYXRlZCBtb3VzZSB3aGVlbCBjb250cm9sIG9uIG1vc3Qgb2YgdGhlIG1vZGVybiBsaW51eCBkaXN0cmlidXRpb25zLiBNYW55IGFyZSB1c2luZyBpbXdoZWVsIGFzIGEgdGVtcG9yYXJ5IGZpeDsgaG93ZXZlciwgaWYgeW91IGFyZSB1c2luZyBhIGxhcHRvcCwgeW91IG1pZ2h0IHdhbnQgdG8gaGF2ZSB0d28gZGlmZmVyZW50IHNldHRpbmdzIGZvciB0aGUgdG91Y2hwYWQgYW5kIHRoZSBtb3VzZS4gXG4gVGhpcyBleHRlbnNpb24gd2lsbCBhZGQgYW4gaWNvbiBpbiB0aGUgdG9wIGJhciB3aGljaCBsZXRzIHlvdSB0b2dnbGUgaW13aGVlbCBiZXR3ZWVuIHR3byBjdXN0b20gc2V0dGluZ3MuIFxuIGh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3RvZ2dsZS1pbXdoZWVsIiwKICAibmFtZSI6ICJUb2dnbGUgaW13aGVlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b2dnbGVpbXdoZWVsQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "0kf477yyhqy0lkg4r48lgwzadpjs4fxyw0v6yaf412swz7h7713c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGxlIGV4dGVuc2lvbiB3YW50cyB0byBtaXRpZ2F0ZSB0aGUgbGFjayBvZiBhIGRlZGljYXRlZCBtb3VzZSB3aGVlbCBjb250cm9sIG9uIG1vc3Qgb2YgdGhlIG1vZGVybiBsaW51eCBkaXN0cmlidXRpb25zLiBNYW55IGFyZSB1c2luZyBpbXdoZWVsIGFzIGEgdGVtcG9yYXJ5IGZpeDsgaG93ZXZlciwgaWYgeW91IGFyZSB1c2luZyBhIGxhcHRvcCwgeW91IG1pZ2h0IHdhbnQgdG8gaGF2ZSB0d28gZGlmZmVyZW50IHNldHRpbmdzIGZvciB0aGUgdG91Y2hwYWQgYW5kIHRoZSBtb3VzZS4gXG4gVGhpcyBleHRlbnNpb24gd2lsbCBhZGQgYW4gaWNvbiBpbiB0aGUgdG9wIGJhciB3aGljaCBsZXRzIHlvdSB0b2dnbGUgaW13aGVlbCBiZXR3ZWVuIHR3byBjdXN0b20gc2V0dGluZ3MuIFxuIGh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3RvZ2dsZS1pbXdoZWVsIiwKICAibmFtZSI6ICJUb2dnbGUgaW13aGVlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b2dnbGVpbXdoZWVsQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"uuid": "yakuake-extension@kde.org", "name": "Yakuake", "pname": "yakuake", "description": "A Gnome shell extension to use Yakuake on Gnome. Adds a global shortcut to show/hide yakuake. Assumes QT_QPA_PLATFORM=wayland is set in ~/.pam_environment", "link": "https://extensions.gnome.org/extension/4757/yakuake/", "shell_version_map": {"40": {"version": "5", "sha256": "0zlg70l4j2p1fl2a4rg8s7k37sg62ncvvzp7v1la0cr1lw4j1d5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlLiBBc3N1bWVzIFFUX1FQQV9QTEFURk9STT13YXlsYW5kIGlzIHNldCBpbiB+Ly5wYW1fZW52aXJvbm1lbnQiLAogICJuYW1lIjogIllha3Vha2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJlcnR2YWthL3lha3Vha2UtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ5YWt1YWtlLWV4dGVuc2lvbkBrZGUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "0zlg70l4j2p1fl2a4rg8s7k37sg62ncvvzp7v1la0cr1lw4j1d5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlLiBBc3N1bWVzIFFUX1FQQV9QTEFURk9STT13YXlsYW5kIGlzIHNldCBpbiB+Ly5wYW1fZW52aXJvbm1lbnQiLAogICJuYW1lIjogIllha3Vha2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJlcnR2YWthL3lha3Vha2UtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ5YWt1YWtlLWV4dGVuc2lvbkBrZGUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "0zlg70l4j2p1fl2a4rg8s7k37sg62ncvvzp7v1la0cr1lw4j1d5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlLiBBc3N1bWVzIFFUX1FQQV9QTEFURk9STT13YXlsYW5kIGlzIHNldCBpbiB+Ly5wYW1fZW52aXJvbm1lbnQiLAogICJuYW1lIjogIllha3Vha2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJlcnR2YWthL3lha3Vha2UtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ5YWt1YWtlLWV4dGVuc2lvbkBrZGUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "dnf-shotcuts@rx1310", "name": "Shortcuts for DNF", "pname": "shortcuts-for-dnf", "description": "A small extension that adds buttons to the panel to check for DNF updates through the terminal without entering commands.", "link": "https://extensions.gnome.org/extension/4758/shortcuts-for-dnf/", "shell_version_map": {"38": {"version": "4", "sha256": "0hknf92ijxg6xcadk7sac3qvlc8lpyf80013vkmzai7bbbbcypsm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgRE5GIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgRE5GIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcngxMzEwL2dub21lLWV4dGVuc2lvbl9hcHR1cGRhdGUiLAogICJ1dWlkIjogImRuZi1zaG90Y3V0c0ByeDEzMTAiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "0hknf92ijxg6xcadk7sac3qvlc8lpyf80013vkmzai7bbbbcypsm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgRE5GIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgRE5GIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcngxMzEwL2dub21lLWV4dGVuc2lvbl9hcHR1cGRhdGUiLAogICJ1dWlkIjogImRuZi1zaG90Y3V0c0ByeDEzMTAiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0hknf92ijxg6xcadk7sac3qvlc8lpyf80013vkmzai7bbbbcypsm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgRE5GIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgRE5GIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcngxMzEwL2dub21lLWV4dGVuc2lvbl9hcHR1cGRhdGUiLAogICJ1dWlkIjogImRuZi1zaG90Y3V0c0ByeDEzMTAiLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "0hknf92ijxg6xcadk7sac3qvlc8lpyf80013vkmzai7bbbbcypsm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgZXh0ZW5zaW9uIHRoYXQgYWRkcyBidXR0b25zIHRvIHRoZSBwYW5lbCB0byBjaGVjayBmb3IgRE5GIHVwZGF0ZXMgdGhyb3VnaCB0aGUgdGVybWluYWwgd2l0aG91dCBlbnRlcmluZyBjb21tYW5kcy4iLAogICJuYW1lIjogIlNob3J0Y3V0cyBmb3IgRE5GIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcngxMzEwL2dub21lLWV4dGVuc2lvbl9hcHR1cGRhdGUiLAogICJ1dWlkIjogImRuZi1zaG90Y3V0c0ByeDEzMTAiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "speedbackground@luke.vader", "name": "Speed background", "pname": "speed-background", "description": "Increase how often Gnome will check the background.", "link": "https://extensions.gnome.org/extension/4761/speed-background/", "shell_version_map": {"40": {"version": "6", "sha256": "1dwq6v0w15ycrfmma67csjha8axdc11y0dj05fpp2y4b4sgahy53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluY3JlYXNlIGhvdyBvZnRlbiBHbm9tZSB3aWxsIGNoZWNrIHRoZSBiYWNrZ3JvdW5kLiIsCiAgIm5hbWUiOiAiU3BlZWQgYmFja2dyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0x1a2VWYWRlci1JVi9nbm9tZS1zcGVlZC1iYWNrZ3JvdW5kLWV4dGVuc2lvbi8iLAogICJ1dWlkIjogInNwZWVkYmFja2dyb3VuZEBsdWtlLnZhZGVyIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "1dwq6v0w15ycrfmma67csjha8axdc11y0dj05fpp2y4b4sgahy53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluY3JlYXNlIGhvdyBvZnRlbiBHbm9tZSB3aWxsIGNoZWNrIHRoZSBiYWNrZ3JvdW5kLiIsCiAgIm5hbWUiOiAiU3BlZWQgYmFja2dyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0x1a2VWYWRlci1JVi9nbm9tZS1zcGVlZC1iYWNrZ3JvdW5kLWV4dGVuc2lvbi8iLAogICJ1dWlkIjogInNwZWVkYmFja2dyb3VuZEBsdWtlLnZhZGVyIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "42": {"version": "6", "sha256": "1dwq6v0w15ycrfmma67csjha8axdc11y0dj05fpp2y4b4sgahy53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluY3JlYXNlIGhvdyBvZnRlbiBHbm9tZSB3aWxsIGNoZWNrIHRoZSBiYWNrZ3JvdW5kLiIsCiAgIm5hbWUiOiAiU3BlZWQgYmFja2dyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0x1a2VWYWRlci1JVi9nbm9tZS1zcGVlZC1iYWNrZ3JvdW5kLWV4dGVuc2lvbi8iLAogICJ1dWlkIjogInNwZWVkYmFja2dyb3VuZEBsdWtlLnZhZGVyIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "bottom-panel@sulincix", "name": "Bottom Panel", "pname": "bottompanel", "description": "move top panel to bottom", "link": "https://extensions.gnome.org/extension/4764/bottompanel/", "shell_version_map": {"38": {"version": "2", "sha256": "0xfmhgd9pgbwjwclf5v9gbhr5mhkh5yl5cxb5wbj9gi20ppl8366", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG9wIHBhbmVsIHRvIGJvdHRvbSIsCiAgIm5hbWUiOiAiQm90dG9tIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYm90dG9tLXBhbmVsQHN1bGluY2l4IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "0xfmhgd9pgbwjwclf5v9gbhr5mhkh5yl5cxb5wbj9gi20ppl8366", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG9wIHBhbmVsIHRvIGJvdHRvbSIsCiAgIm5hbWUiOiAiQm90dG9tIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYm90dG9tLXBhbmVsQHN1bGluY2l4IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "0xfmhgd9pgbwjwclf5v9gbhr5mhkh5yl5cxb5wbj9gi20ppl8366", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG9wIHBhbmVsIHRvIGJvdHRvbSIsCiAgIm5hbWUiOiAiQm90dG9tIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYm90dG9tLXBhbmVsQHN1bGluY2l4IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
@@ -662,12 +664,12 @@
 , {"uuid": "clip-note@eexpss.gmail.com", "name": "Clip Note", "pname": "clip-note", "description": "Save clip contents to multiple notes with separate tags. Notes locate at ~/.local/share/clip-note/. Dots in filename means splited tags.", "link": "https://extensions.gnome.org/extension/4774/clip-note/", "shell_version_map": {"40": {"version": "11", "sha256": "0bfpxlvyibcpd7vi1a65r5awggmh8i9yc705mfb6vpm92ry7iny3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNhdmUgY2xpcCBjb250ZW50cyB0byBtdWx0aXBsZSBub3RlcyB3aXRoIHNlcGFyYXRlIHRhZ3MuIE5vdGVzIGxvY2F0ZSBhdCB+Ly5sb2NhbC9zaGFyZS9jbGlwLW5vdGUvLiBEb3RzIGluIGZpbGVuYW1lIG1lYW5zIHNwbGl0ZWQgdGFncy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLW5vdGUiLAogICJuYW1lIjogIkNsaXAgTm90ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNsaXAtbm90ZSIsCiAgInV1aWQiOiAiY2xpcC1ub3RlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "0bfpxlvyibcpd7vi1a65r5awggmh8i9yc705mfb6vpm92ry7iny3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNhdmUgY2xpcCBjb250ZW50cyB0byBtdWx0aXBsZSBub3RlcyB3aXRoIHNlcGFyYXRlIHRhZ3MuIE5vdGVzIGxvY2F0ZSBhdCB+Ly5sb2NhbC9zaGFyZS9jbGlwLW5vdGUvLiBEb3RzIGluIGZpbGVuYW1lIG1lYW5zIHNwbGl0ZWQgdGFncy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLW5vdGUiLAogICJuYW1lIjogIkNsaXAgTm90ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNsaXAtbm90ZSIsCiAgInV1aWQiOiAiY2xpcC1ub3RlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "0bfpxlvyibcpd7vi1a65r5awggmh8i9yc705mfb6vpm92ry7iny3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNhdmUgY2xpcCBjb250ZW50cyB0byBtdWx0aXBsZSBub3RlcyB3aXRoIHNlcGFyYXRlIHRhZ3MuIE5vdGVzIGxvY2F0ZSBhdCB+Ly5sb2NhbC9zaGFyZS9jbGlwLW5vdGUvLiBEb3RzIGluIGZpbGVuYW1lIG1lYW5zIHNwbGl0ZWQgdGFncy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLW5vdGUiLAogICJuYW1lIjogIkNsaXAgTm90ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNsaXAtbm90ZSIsCiAgInV1aWQiOiAiY2xpcC1ub3RlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "ssh-tray@mario.cardia.com.br", "name": "SSH Tray", "pname": "ssh-tray", "description": "Simple SSH extension to allow you to connect to your hosts at ~/.ssh/config and ~/ssh/know_hosts file from Gnome top bar.", "link": "https://extensions.gnome.org/extension/4779/ssh-tray/", "shell_version_map": {"41": {"version": "1", "sha256": "1c7ndcv3bnsc95sijdkq39fshybpaq9fqdk3gvwm1lx40r1ibgih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBTU0ggZXh0ZW5zaW9uIHRvIGFsbG93IHlvdSB0byBjb25uZWN0IHRvIHlvdXIgaG9zdHMgYXQgfi8uc3NoL2NvbmZpZyBhbmQgfi9zc2gva25vd19ob3N0cyBmaWxlIGZyb20gR25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIlNTSCBUcmF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzc2gtdHJheUBtYXJpby5jYXJkaWEuY29tLmJyIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "glasa@lyrahgames.github.io", "name": "Glasa", "pname": "glasa", "description": "This extension puts an icon in the panel consisting of two comic-like eyes following the cursor.", "link": "https://extensions.gnome.org/extension/4780/glasa/", "shell_version_map": {"38": {"version": "2", "sha256": "0j45y91xal9vpk5iznkxydhq4dw55hvwqyfhvq48i5zlzxfirrvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x5cmFoZ2FtZXMvZ25vbWUtZXh0ZW5zaW9uLWdsYXNhIiwKICAidXVpZCI6ICJnbGFzYUBseXJhaGdhbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "7", "sha256": "1nkv8bjsjdp4scklmpn7f74fhnyqd65dvhlplzn54qad74afdjdj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x5cmFoZ2FtZXMvZ25vbWUtZXh0ZW5zaW9uLWdsYXNhIiwKICAidXVpZCI6ICJnbGFzYUBseXJhaGdhbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1nkv8bjsjdp4scklmpn7f74fhnyqd65dvhlplzn54qad74afdjdj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x5cmFoZ2FtZXMvZ25vbWUtZXh0ZW5zaW9uLWdsYXNhIiwKICAidXVpZCI6ICJnbGFzYUBseXJhaGdhbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "42": {"version": "8", "sha256": "0g82ks2kcn7a9jc31yj8lqyblbhxqph9h5kh1n8srqgz03lzx8pv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHlyYWhnYW1lcy9nbm9tZS1leHRlbnNpb24tZ2xhc2EiLAogICJ1dWlkIjogImdsYXNhQGx5cmFoZ2FtZXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
-, {"uuid": "avatar@pawel.swiszcz.com", "name": "Avatar", "pname": "avatar", "description": "The Avatar Extension can add into the panel: \n * Avatar (horizontal/vertical, shades, visibility of username and hostname) \n * Primary buttons \n * MPRIS \n * Top image (can be Your own image from system) ", "link": "https://extensions.gnome.org/extension/4782/avatar/", "shell_version_map": {"41": {"version": "14", "sha256": "0d09fwy2jrzl94xy9k08q85pm6jqgnv6lf52a15n4bfcawsrhxxg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBdmF0YXIgRXh0ZW5zaW9uIGNhbiBhZGQgaW50byB0aGUgcGFuZWw6IFxuICogQXZhdGFyIChob3Jpem9udGFsL3ZlcnRpY2FsLCBzaGFkZXMsIHZpc2liaWxpdHkgb2YgdXNlcm5hbWUgYW5kIGhvc3RuYW1lKSBcbiAqIFByaW1hcnkgYnV0dG9ucyBcbiAqIE1QUklTIFxuICogVG9wIGltYWdlIChjYW4gYmUgWW91ciBvd24gaW1hZ2UgZnJvbSBzeXN0ZW0pICIsCiAgIm5hbWUiOiAiQXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXdlbHN3aXN6Y3ovQXZhdGFyLUdub21lLVNoZWxsLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXZhdGFyQHBhd2VsLnN3aXN6Y3ouY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "42": {"version": "14", "sha256": "0d09fwy2jrzl94xy9k08q85pm6jqgnv6lf52a15n4bfcawsrhxxg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBdmF0YXIgRXh0ZW5zaW9uIGNhbiBhZGQgaW50byB0aGUgcGFuZWw6IFxuICogQXZhdGFyIChob3Jpem9udGFsL3ZlcnRpY2FsLCBzaGFkZXMsIHZpc2liaWxpdHkgb2YgdXNlcm5hbWUgYW5kIGhvc3RuYW1lKSBcbiAqIFByaW1hcnkgYnV0dG9ucyBcbiAqIE1QUklTIFxuICogVG9wIGltYWdlIChjYW4gYmUgWW91ciBvd24gaW1hZ2UgZnJvbSBzeXN0ZW0pICIsCiAgIm5hbWUiOiAiQXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXdlbHN3aXN6Y3ovQXZhdGFyLUdub21lLVNoZWxsLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXZhdGFyQHBhd2VsLnN3aXN6Y3ouY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
+, {"uuid": "avatar@pawel.swiszcz.com", "name": "Avatar", "pname": "avatar", "description": "The Avatar Extension can add into the panel: \n * Avatar (horizontal/vertical, shades, visibility of username and hostname) \n * Primary buttons \n * MPRIS \n * Top image (can be Your own image from system) ", "link": "https://extensions.gnome.org/extension/4782/avatar/", "shell_version_map": {"41": {"version": "16", "sha256": "0qcrwh2w34vwm21nls6r2m2dha62342nz5prmq46ww3lbqc3gyff", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBdmF0YXIgRXh0ZW5zaW9uIGNhbiBhZGQgaW50byB0aGUgcGFuZWw6IFxuICogQXZhdGFyIChob3Jpem9udGFsL3ZlcnRpY2FsLCBzaGFkZXMsIHZpc2liaWxpdHkgb2YgdXNlcm5hbWUgYW5kIGhvc3RuYW1lKSBcbiAqIFByaW1hcnkgYnV0dG9ucyBcbiAqIE1QUklTIFxuICogVG9wIGltYWdlIChjYW4gYmUgWW91ciBvd24gaW1hZ2UgZnJvbSBzeXN0ZW0pICIsCiAgIm5hbWUiOiAiQXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXdlbHN3aXN6Y3ovQXZhdGFyLUdub21lLVNoZWxsLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXZhdGFyQHBhd2VsLnN3aXN6Y3ouY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "0qcrwh2w34vwm21nls6r2m2dha62342nz5prmq46ww3lbqc3gyff", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBdmF0YXIgRXh0ZW5zaW9uIGNhbiBhZGQgaW50byB0aGUgcGFuZWw6IFxuICogQXZhdGFyIChob3Jpem9udGFsL3ZlcnRpY2FsLCBzaGFkZXMsIHZpc2liaWxpdHkgb2YgdXNlcm5hbWUgYW5kIGhvc3RuYW1lKSBcbiAqIFByaW1hcnkgYnV0dG9ucyBcbiAqIE1QUklTIFxuICogVG9wIGltYWdlIChjYW4gYmUgWW91ciBvd24gaW1hZ2UgZnJvbSBzeXN0ZW0pICIsCiAgIm5hbWUiOiAiQXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXdlbHN3aXN6Y3ovQXZhdGFyLUdub21lLVNoZWxsLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXZhdGFyQHBhd2VsLnN3aXN6Y3ouY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"uuid": "default-workspace@mateusrodcosta.com", "name": "Default Workspace", "pname": "default-workspace", "description": "Switches to the specified workspace on login.\nUseful for fixed number of workspace setups where the first workspace isn't the main one.", "link": "https://extensions.gnome.org/extension/4783/default-workspace/", "shell_version_map": {"40": {"version": "2", "sha256": "05s1bzh917vv3j7xfx2gljwfzxkb9lsvp8zgcgch75hfvywvpgb9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIHRvIHRoZSBzcGVjaWZpZWQgd29ya3NwYWNlIG9uIGxvZ2luLlxuVXNlZnVsIGZvciBmaXhlZCBudW1iZXIgb2Ygd29ya3NwYWNlIHNldHVwcyB3aGVyZSB0aGUgZmlyc3Qgd29ya3NwYWNlIGlzbid0IHRoZSBtYWluIG9uZS4iLAogICJuYW1lIjogIkRlZmF1bHQgV29ya3NwYWNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXRldXNSb2RDb3N0YS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVmYXVsdC13b3Jrc3BhY2UiLAogICJ1dWlkIjogImRlZmF1bHQtd29ya3NwYWNlQG1hdGV1c3JvZGNvc3RhLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "05s1bzh917vv3j7xfx2gljwfzxkb9lsvp8zgcgch75hfvywvpgb9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIHRvIHRoZSBzcGVjaWZpZWQgd29ya3NwYWNlIG9uIGxvZ2luLlxuVXNlZnVsIGZvciBmaXhlZCBudW1iZXIgb2Ygd29ya3NwYWNlIHNldHVwcyB3aGVyZSB0aGUgZmlyc3Qgd29ya3NwYWNlIGlzbid0IHRoZSBtYWluIG9uZS4iLAogICJuYW1lIjogIkRlZmF1bHQgV29ya3NwYWNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXRldXNSb2RDb3N0YS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVmYXVsdC13b3Jrc3BhY2UiLAogICJ1dWlkIjogImRlZmF1bHQtd29ya3NwYWNlQG1hdGV1c3JvZGNvc3RhLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "alt-mouse@eexpss.gmail.com", "name": "Alt Mouse", "pname": "alt-mouse", "description": "* Alt + Mouse control window\nDetailed instructions are on the home page and in config interface. \nDisable desktop BackgroundMenu, Disable Panel dragMode. \nAdd a gap at right screen edge. \nAdd Top-Left and Top-Right corner as hot coner.", "link": "https://extensions.gnome.org/extension/4786/alt-mouse/", "shell_version_map": {"40": {"version": "12", "sha256": "1kcsbvvm6wigw0h2d23rx4vsqdawa7m5gfynjdc9xzxn3q8sxx0b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3dcbkRldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgaW4gY29uZmlnIGludGVyZmFjZS4gXG5EaXNhYmxlIGRlc2t0b3AgQmFja2dyb3VuZE1lbnUsIERpc2FibGUgUGFuZWwgZHJhZ01vZGUuIFxuQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBcbkFkZCBUb3AtTGVmdCBhbmQgVG9wLVJpZ2h0IGNvcm5lciBhcyBob3QgY29uZXIuIiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1hbHQtbW91c2UiLAogICJ1dWlkIjogImFsdC1tb3VzZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}, "41": {"version": "12", "sha256": "1kcsbvvm6wigw0h2d23rx4vsqdawa7m5gfynjdc9xzxn3q8sxx0b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3dcbkRldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgaW4gY29uZmlnIGludGVyZmFjZS4gXG5EaXNhYmxlIGRlc2t0b3AgQmFja2dyb3VuZE1lbnUsIERpc2FibGUgUGFuZWwgZHJhZ01vZGUuIFxuQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBcbkFkZCBUb3AtTGVmdCBhbmQgVG9wLVJpZ2h0IGNvcm5lciBhcyBob3QgY29uZXIuIiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1hbHQtbW91c2UiLAogICJ1dWlkIjogImFsdC1tb3VzZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}, "42": {"version": "24", "sha256": "1j20kzq4va9s0jpvcm2y91wjk0c772mx4xk1rmr49hy1rb2crdpc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3dcbkRldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgaW4gY29uZmlnIGludGVyZmFjZS4gXG5EaXNhYmxlIGRlc2t0b3AgQmFja2dyb3VuZE1lbnUsIERpc2FibGUgUGFuZWwgZHJhZ01vZGUuIFxuQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBcbkFkZCBUb3AtTGVmdCBhbmQgVG9wLVJpZ2h0IGNvcm5lciBhcyBob3QgY29uZXIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx0LW1vdXNlIiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWx0LW1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLWFsdC1tb3VzZSIsCiAgInV1aWQiOiAiYWx0LW1vdXNlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjQKfQ=="}}}
 , {"uuid": "workspace-switcher-manager@G-dH.github.com", "name": "Workspace Switcher Manager", "pname": "workspace-switcher-manager", "description": "Make the workspace switcher popup useful! Customize your workspace switcher behavior and the content, dimensions, position, orientation and colors of its OSD popup.\n\n- all GNOME workspace related options in one place\n- adds ws switcher Wraparoud and Ignore Last (empty) Workspace options\n- allows to disable or customize switcher popup\n- allows adding content to the workspace switcher popup - Workspace Name, Current Application Name, Workspace Index\n- ws switcher popup appearance customization includes position on screen, timings, size, colors , orientation", "link": "https://extensions.gnome.org/extension/4788/workspace-switcher-manager/", "shell_version_map": {"38": {"version": "3", "sha256": "195syngd2lj2pfhj1mmmi0b4x7rl6dzizsc9pxln8v5qyayj1rdh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBPU0QgcG9wdXAuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "195syngd2lj2pfhj1mmmi0b4x7rl6dzizsc9pxln8v5qyayj1rdh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBPU0QgcG9wdXAuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "195syngd2lj2pfhj1mmmi0b4x7rl6dzizsc9pxln8v5qyayj1rdh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBPU0QgcG9wdXAuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "195syngd2lj2pfhj1mmmi0b4x7rl6dzizsc9pxln8v5qyayj1rdh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBPU0QgcG9wdXAuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "compare@eexpss.gmail.com", "name": "Compare or Open", "pname": "compare-filedir-from-clip", "description": "Copy/Select two Dirs/Files from anywhere such as `nautilus` or `gnome-terminal`, and then compare them (use `meld`) or open with Ctrl-O or open with context-menu.", "link": "https://extensions.gnome.org/extension/4789/compare-filedir-from-clip/", "shell_version_map": {"40": {"version": "15", "sha256": "0is8y6cs3qfaljlmyfhjpp71fbd98bizldf0rhrblm91mjfhqi3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkvU2VsZWN0IHR3byBEaXJzL0ZpbGVzIGZyb20gYW55d2hlcmUgc3VjaCBhcyBgbmF1dGlsdXNgIG9yIGBnbm9tZS10ZXJtaW5hbGAsIGFuZCB0aGVuIGNvbXBhcmUgdGhlbSAodXNlIGBtZWxkYCkgb3Igb3BlbiB3aXRoIEN0cmwtTyBvciBvcGVuIHdpdGggY29udGV4dC1tZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbXBhcmUiLAogICJuYW1lIjogIkNvbXBhcmUgb3IgT3BlbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21wYXJlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY29tcGFyZSIsCiAgInV1aWQiOiAiY29tcGFyZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "41": {"version": "15", "sha256": "0is8y6cs3qfaljlmyfhjpp71fbd98bizldf0rhrblm91mjfhqi3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkvU2VsZWN0IHR3byBEaXJzL0ZpbGVzIGZyb20gYW55d2hlcmUgc3VjaCBhcyBgbmF1dGlsdXNgIG9yIGBnbm9tZS10ZXJtaW5hbGAsIGFuZCB0aGVuIGNvbXBhcmUgdGhlbSAodXNlIGBtZWxkYCkgb3Igb3BlbiB3aXRoIEN0cmwtTyBvciBvcGVuIHdpdGggY29udGV4dC1tZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbXBhcmUiLAogICJuYW1lIjogIkNvbXBhcmUgb3IgT3BlbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21wYXJlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY29tcGFyZSIsCiAgInV1aWQiOiAiY29tcGFyZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "42": {"version": "15", "sha256": "0is8y6cs3qfaljlmyfhjpp71fbd98bizldf0rhrblm91mjfhqi3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkvU2VsZWN0IHR3byBEaXJzL0ZpbGVzIGZyb20gYW55d2hlcmUgc3VjaCBhcyBgbmF1dGlsdXNgIG9yIGBnbm9tZS10ZXJtaW5hbGAsIGFuZCB0aGVuIGNvbXBhcmUgdGhlbSAodXNlIGBtZWxkYCkgb3Igb3BlbiB3aXRoIEN0cmwtTyBvciBvcGVuIHdpdGggY29udGV4dC1tZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbXBhcmUiLAogICJuYW1lIjogIkNvbXBhcmUgb3IgT3BlbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21wYXJlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY29tcGFyZSIsCiAgInV1aWQiOiAiY29tcGFyZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
-, {"uuid": "freq-boost-switch@metal03326", "name": "Frequency Boost Switch", "pname": "frequency-boost-switch", "description": "Add a toggle to enable/disable CPU frequency boost in Gnome Power Profiles menu.\n\nMain features:\n\n- Toggle Frequency Boost from the same place you set power profile\n- Toggle Frequency Boost regardless of the set power profile\n- Lightweight (no service is installed) 1 3\n- Option to set on boot (Persist) 2 3\n- Translation (currently only English and Bulgarian)\n\n1 Asks for permission every time user flips the switch\n2 Will prompt user for permission 5s after login, if boost needs to be changed\n3 Permission prompt can be removed by adding Polkit rules. Check extension preferences.\n\nRequirements:\n\n- GNOME >= 41 (power profiles menu doesn't exist before that)\n- power-profiles-daemon (power profiles menu doesn't show if not installed and enabled)\n- pkexec (needed to ask the user for permissions)\n\nAll tests are done on Fedora.\n\nIf you have any issues, please first check FAQ (https://gitlab.com/metal03326/gnome-frequency-boost-switch#faq) and if that doesn't help, open an issue (https://gitlab.com/metal03326/gnome-frequency-boost-switch/-/issues)", "link": "https://extensions.gnome.org/extension/4792/frequency-boost-switch/", "shell_version_map": {"41": {"version": "3", "sha256": "0cw3npc3ypp0cpzy0k2iim748dc7d4abkfmkd9cs6h27g9wgmfk6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBlbmFibGUvZGlzYWJsZSBDUFUgZnJlcXVlbmN5IGJvb3N0IGluIEdub21lIFBvd2VyIFByb2ZpbGVzIG1lbnUuXG5cbk1haW4gZmVhdHVyZXM6XG5cbi0gVG9nZ2xlIEZyZXF1ZW5jeSBCb29zdCBmcm9tIHRoZSBzYW1lIHBsYWNlIHlvdSBzZXQgcG93ZXIgcHJvZmlsZVxuLSBUb2dnbGUgRnJlcXVlbmN5IEJvb3N0IHJlZ2FyZGxlc3Mgb2YgdGhlIHNldCBwb3dlciBwcm9maWxlXG4tIExpZ2h0d2VpZ2h0IChubyBzZXJ2aWNlIGlzIGluc3RhbGxlZCkgMSAzXG4tIE9wdGlvbiB0byBzZXQgb24gYm9vdCAoUGVyc2lzdCkgMiAzXG4tIFRyYW5zbGF0aW9uIChjdXJyZW50bHkgb25seSBFbmdsaXNoIGFuZCBCdWxnYXJpYW4pXG5cbjEgQXNrcyBmb3IgcGVybWlzc2lvbiBldmVyeSB0aW1lIHVzZXIgZmxpcHMgdGhlIHN3aXRjaFxuMiBXaWxsIHByb21wdCB1c2VyIGZvciBwZXJtaXNzaW9uIDVzIGFmdGVyIGxvZ2luLCBpZiBib29zdCBuZWVkcyB0byBiZSBjaGFuZ2VkXG4zIFBlcm1pc3Npb24gcHJvbXB0IGNhbiBiZSByZW1vdmVkIGJ5IGFkZGluZyBQb2xraXQgcnVsZXMuIENoZWNrIGV4dGVuc2lvbiBwcmVmZXJlbmNlcy5cblxuUmVxdWlyZW1lbnRzOlxuXG4tIEdOT01FID49IDQxIChwb3dlciBwcm9maWxlcyBtZW51IGRvZXNuJ3QgZXhpc3QgYmVmb3JlIHRoYXQpXG4tIHBvd2VyLXByb2ZpbGVzLWRhZW1vbiAocG93ZXIgcHJvZmlsZXMgbWVudSBkb2Vzbid0IHNob3cgaWYgbm90IGluc3RhbGxlZCBhbmQgZW5hYmxlZClcbi0gcGtleGVjIChuZWVkZWQgdG8gYXNrIHRoZSB1c2VyIGZvciBwZXJtaXNzaW9ucylcblxuQWxsIHRlc3RzIGFyZSBkb25lIG9uIEZlZG9yYS5cblxuSWYgeW91IGhhdmUgYW55IGlzc3VlcywgcGxlYXNlIGZpcnN0IGNoZWNrIEZBUSAoaHR0cHM6Ly9naXRsYWIuY29tL21ldGFsMDMzMjYvZ25vbWUtZnJlcXVlbmN5LWJvb3N0LXN3aXRjaCNmYXEpIGFuZCBpZiB0aGF0IGRvZXNuJ3QgaGVscCwgb3BlbiBhbiBpc3N1ZSAoaHR0cHM6Ly9naXRsYWIuY29tL21ldGFsMDMzMjYvZ25vbWUtZnJlcXVlbmN5LWJvb3N0LXN3aXRjaC8tL2lzc3VlcykiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmVxLWJvb3N0LXN3aXRjaEBtZXRhbDAzMzI2IiwKICAibmFtZSI6ICJGcmVxdWVuY3kgQm9vc3QgU3dpdGNoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZyZXEtYm9vc3Qtc3dpdGNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21ldGFsMDMzMjYvZ25vbWUtZnJlcXVlbmN5LWJvb3N0LXN3aXRjaCIsCiAgInV1aWQiOiAiZnJlcS1ib29zdC1zd2l0Y2hAbWV0YWwwMzMyNiIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "freq-boost-switch@metal03326", "name": "Frequency Boost Switch", "pname": "frequency-boost-switch", "description": "Add a toggle to enable/disable CPU frequency boost in Gnome Power Profiles menu.", "link": "https://extensions.gnome.org/extension/4792/frequency-boost-switch/", "shell_version_map": {"41": {"version": "4", "sha256": "0hx77k7kfh4amlsxrqip3gj63cbx5hi7vhyfk48k9x1shibhl4vn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBlbmFibGUvZGlzYWJsZSBDUFUgZnJlcXVlbmN5IGJvb3N0IGluIEdub21lIFBvd2VyIFByb2ZpbGVzIG1lbnUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnJlcS1ib29zdC1zd2l0Y2hAbWV0YWwwMzMyNiIsCiAgIm5hbWUiOiAiRnJlcXVlbmN5IEJvb3N0IFN3aXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVxLWJvb3N0LXN3aXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWV0YWwwMzMyNi9nbm9tZS1mcmVxdWVuY3ktYm9vc3Qtc3dpdGNoIiwKICAidXVpZCI6ICJmcmVxLWJvb3N0LXN3aXRjaEBtZXRhbDAzMzI2IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "0hx77k7kfh4amlsxrqip3gj63cbx5hi7vhyfk48k9x1shibhl4vn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBlbmFibGUvZGlzYWJsZSBDUFUgZnJlcXVlbmN5IGJvb3N0IGluIEdub21lIFBvd2VyIFByb2ZpbGVzIG1lbnUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnJlcS1ib29zdC1zd2l0Y2hAbWV0YWwwMzMyNiIsCiAgIm5hbWUiOiAiRnJlcXVlbmN5IEJvb3N0IFN3aXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVxLWJvb3N0LXN3aXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWV0YWwwMzMyNi9nbm9tZS1mcmVxdWVuY3ktYm9vc3Qtc3dpdGNoIiwKICAidXVpZCI6ICJmcmVxLWJvb3N0LXN3aXRjaEBtZXRhbDAzMzI2IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "pop-launcher-super-key@ManeLippert", "name": "Pop Launcher Super-Key", "pname": "pop-launcher-super-key", "description": "Fork of Pop COSMIC: Binds Pop Launcher on Super-Key when Pop COSMIC Extension is disabled", "link": "https://extensions.gnome.org/extension/4797/pop-launcher-super-key/", "shell_version_map": {"38": {"version": "4", "sha256": "004h856a0mb8d4s6pqjbk6k855pnpig555f00wazgivgscv7x2r3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvcG9wLWxhdW5jaGVyLXN1cGVyLWtleSIsCiAgInV1aWQiOiAicG9wLWxhdW5jaGVyLXN1cGVyLWtleUBNYW5lTGlwcGVydCIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "004h856a0mb8d4s6pqjbk6k855pnpig555f00wazgivgscv7x2r3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvcG9wLWxhdW5jaGVyLXN1cGVyLWtleSIsCiAgInV1aWQiOiAicG9wLWxhdW5jaGVyLXN1cGVyLWtleUBNYW5lTGlwcGVydCIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "004h856a0mb8d4s6pqjbk6k855pnpig555f00wazgivgscv7x2r3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvcG9wLWxhdW5jaGVyLXN1cGVyLWtleSIsCiAgInV1aWQiOiAicG9wLWxhdW5jaGVyLXN1cGVyLWtleUBNYW5lTGlwcGVydCIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "004h856a0mb8d4s6pqjbk6k855pnpig555f00wazgivgscv7x2r3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvcG9wLWxhdW5jaGVyLXN1cGVyLWtleSIsCiAgInV1aWQiOiAicG9wLWxhdW5jaGVyLXN1cGVyLWtleUBNYW5lTGlwcGVydCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "thinkpad-battery-threshold@marcosdalvarez.org", "name": "Thinkpad Battery Threshold", "pname": "thinkpad-battery-threshold", "description": "Enable/Disable battery threshold on Lenovo Thinkpad laptops.\n\nIf you mainly use the system with the AC power adapter connected and only use the battery sporadically, you can increase battery life by setting the maximum charge value to less than 100%. This is useful because batteries that are used sporadically have a longer lifespan when kept at less than full charge.", "link": "https://extensions.gnome.org/extension/4798/thinkpad-battery-threshold/", "shell_version_map": {"41": {"version": "9", "sha256": "1x43rzbrini944ccfm7kfbly5gkpfg7z084vc60b5628m1kwcygq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogOQp9"}, "42": {"version": "9", "sha256": "1x43rzbrini944ccfm7kfbly5gkpfg7z084vc60b5628m1kwcygq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogOQp9"}}}
 , {"uuid": "lock-screen-message@advendradeswanta.gitlab.com", "name": "Lock Screen Message", "pname": "lock-screen-message", "description": "Simple extension that let's you add your message to the lock screen (unlockDialog)", "link": "https://extensions.gnome.org/extension/4801/lock-screen-message/", "shell_version_map": {"40": {"version": "2", "sha256": "12q3z5wdbbg9sa570ig5sw6qk70ykhy5zsx7ygvi2zgla52v0hq9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9jay1zY3JlZW4tbWVzc2FnZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQWR2ZW5kcmFEZXN3YW50YS9sb2NrLXNjcmVlbi1tZXNzYWdlIiwKICAidXVpZCI6ICJsb2NrLXNjcmVlbi1tZXNzYWdlQGFkdmVuZHJhZGVzd2FudGEuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "12q3z5wdbbg9sa570ig5sw6qk70ykhy5zsx7ygvi2zgla52v0hq9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9jay1zY3JlZW4tbWVzc2FnZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQWR2ZW5kcmFEZXN3YW50YS9sb2NrLXNjcmVlbi1tZXNzYWdlIiwKICAidXVpZCI6ICJsb2NrLXNjcmVlbi1tZXNzYWdlQGFkdmVuZHJhZGVzd2FudGEuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
@@ -683,11 +685,11 @@
 , {"uuid": "overview-keyboard-navigation@G-dH.github.com", "name": "Overview Keyboard Navigation Fix", "pname": "overview-keyboard-navigation-fix", "description": "Fix for GNOME Shell 40 and 41 that initiates keyboard navigation in the Activities overview and App Grid by pressing Tab or Arrow keys. It also changes Esc key behavior in the App Grid view - Esc closes the Overview instead of activating Windows Overview.", "link": "https://extensions.gnome.org/extension/4830/overview-keyboard-navigation-fix/", "shell_version_map": {"40": {"version": "2", "sha256": "12l9j8rcs61j1l375nm7dxbhhs3qw4y5i0hsdxcpq9jn7880y4f3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBmb3IgR05PTUUgU2hlbGwgNDAgYW5kIDQxIHRoYXQgaW5pdGlhdGVzIGtleWJvYXJkIG5hdmlnYXRpb24gaW4gdGhlIEFjdGl2aXRpZXMgb3ZlcnZpZXcgYW5kIEFwcCBHcmlkIGJ5IHByZXNzaW5nIFRhYiBvciBBcnJvdyBrZXlzLiBJdCBhbHNvIGNoYW5nZXMgRXNjIGtleSBiZWhhdmlvciBpbiB0aGUgQXBwIEdyaWQgdmlldyAtIEVzYyBjbG9zZXMgdGhlIE92ZXJ2aWV3IGluc3RlYWQgb2YgYWN0aXZhdGluZyBXaW5kb3dzIE92ZXJ2aWV3LiIsCiAgImdldHRleHQtZG9tYWluIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24tZml4IiwKICAibmFtZSI6ICJPdmVydmlldyBLZXlib2FyZCBOYXZpZ2F0aW9uIEZpeCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24iLAogICJ1dWlkIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb25ARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "12l9j8rcs61j1l375nm7dxbhhs3qw4y5i0hsdxcpq9jn7880y4f3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBmb3IgR05PTUUgU2hlbGwgNDAgYW5kIDQxIHRoYXQgaW5pdGlhdGVzIGtleWJvYXJkIG5hdmlnYXRpb24gaW4gdGhlIEFjdGl2aXRpZXMgb3ZlcnZpZXcgYW5kIEFwcCBHcmlkIGJ5IHByZXNzaW5nIFRhYiBvciBBcnJvdyBrZXlzLiBJdCBhbHNvIGNoYW5nZXMgRXNjIGtleSBiZWhhdmlvciBpbiB0aGUgQXBwIEdyaWQgdmlldyAtIEVzYyBjbG9zZXMgdGhlIE92ZXJ2aWV3IGluc3RlYWQgb2YgYWN0aXZhdGluZyBXaW5kb3dzIE92ZXJ2aWV3LiIsCiAgImdldHRleHQtZG9tYWluIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24tZml4IiwKICAibmFtZSI6ICJPdmVydmlldyBLZXlib2FyZCBOYXZpZ2F0aW9uIEZpeCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24iLAogICJ1dWlkIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb25ARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "42": {"version": "2", "sha256": "12l9j8rcs61j1l375nm7dxbhhs3qw4y5i0hsdxcpq9jn7880y4f3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBmb3IgR05PTUUgU2hlbGwgNDAgYW5kIDQxIHRoYXQgaW5pdGlhdGVzIGtleWJvYXJkIG5hdmlnYXRpb24gaW4gdGhlIEFjdGl2aXRpZXMgb3ZlcnZpZXcgYW5kIEFwcCBHcmlkIGJ5IHByZXNzaW5nIFRhYiBvciBBcnJvdyBrZXlzLiBJdCBhbHNvIGNoYW5nZXMgRXNjIGtleSBiZWhhdmlvciBpbiB0aGUgQXBwIEdyaWQgdmlldyAtIEVzYyBjbG9zZXMgdGhlIE92ZXJ2aWV3IGluc3RlYWQgb2YgYWN0aXZhdGluZyBXaW5kb3dzIE92ZXJ2aWV3LiIsCiAgImdldHRleHQtZG9tYWluIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24tZml4IiwKICAibmFtZSI6ICJPdmVydmlldyBLZXlib2FyZCBOYXZpZ2F0aW9uIEZpeCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24iLAogICJ1dWlkIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb25ARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "all-windows-srwp@jkavery.github.io", "name": "All Windows + Save/Restore Window Positions", "pname": "all-windows-saverestore-window-positions", "description": "List open windows of all workspaces, plus Save/Restore window positions (run automatically on Suspend/Resume, a workaround for Ubuntu bug #1778983).", "link": "https://extensions.gnome.org/extension/4833/all-windows-saverestore-window-positions/", "shell_version_map": {"40": {"version": "1", "sha256": "1ppgrvmf7lxzqig02p80bh3laxx8bhq6harza82qm8djj62g6kkk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3Qgb3BlbiB3aW5kb3dzIG9mIGFsbCB3b3Jrc3BhY2VzLCBwbHVzIFNhdmUvUmVzdG9yZSB3aW5kb3cgcG9zaXRpb25zIChydW4gYXV0b21hdGljYWxseSBvbiBTdXNwZW5kL1Jlc3VtZSwgYSB3b3JrYXJvdW5kIGZvciBVYnVudHUgYnVnICMxNzc4OTgzKS4iLAogICJuYW1lIjogIkFsbCBXaW5kb3dzICsgU2F2ZS9SZXN0b3JlIFdpbmRvdyBQb3NpdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamthdmVyeS9hbGwtd2luZG93cyIsCiAgInV1aWQiOiAiYWxsLXdpbmRvd3Mtc3J3cEBqa2F2ZXJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "clipboard-history@alexsaveau.dev", "name": "Clipboard History", "pname": "clipboard-history", "description": "Gnome Clipboard History is a Gnome extension that saves items you've copied into an easily accessible, searchable history panel.", "link": "https://extensions.gnome.org/extension/4839/clipboard-history/", "shell_version_map": {"40": {"version": "15", "sha256": "0y7gnpcjq871h1zadvd7j729qi2gii1k73l35m3rafnz8ns5vh5g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIENsaXBib2FyZCBIaXN0b3J5IGlzIGEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2F2ZXMgaXRlbXMgeW91J3ZlIGNvcGllZCBpbnRvIGFuIGVhc2lseSBhY2Nlc3NpYmxlLCBzZWFyY2hhYmxlIGhpc3RvcnkgcGFuZWwuIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSGlzdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NVUEVSQ0lMRVgvZ25vbWUtY2xpcGJvYXJkLWhpc3RvcnkiLAogICJ1dWlkIjogImNsaXBib2FyZC1oaXN0b3J5QGFsZXhzYXZlYXUuZGV2IiwKICAidmVyc2lvbiI6IDE1Cn0="}, "41": {"version": "15", "sha256": "0y7gnpcjq871h1zadvd7j729qi2gii1k73l35m3rafnz8ns5vh5g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIENsaXBib2FyZCBIaXN0b3J5IGlzIGEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2F2ZXMgaXRlbXMgeW91J3ZlIGNvcGllZCBpbnRvIGFuIGVhc2lseSBhY2Nlc3NpYmxlLCBzZWFyY2hhYmxlIGhpc3RvcnkgcGFuZWwuIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSGlzdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NVUEVSQ0lMRVgvZ25vbWUtY2xpcGJvYXJkLWhpc3RvcnkiLAogICJ1dWlkIjogImNsaXBib2FyZC1oaXN0b3J5QGFsZXhzYXZlYXUuZGV2IiwKICAidmVyc2lvbiI6IDE1Cn0="}, "42": {"version": "15", "sha256": "0y7gnpcjq871h1zadvd7j729qi2gii1k73l35m3rafnz8ns5vh5g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIENsaXBib2FyZCBIaXN0b3J5IGlzIGEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2F2ZXMgaXRlbXMgeW91J3ZlIGNvcGllZCBpbnRvIGFuIGVhc2lseSBhY2Nlc3NpYmxlLCBzZWFyY2hhYmxlIGhpc3RvcnkgcGFuZWwuIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSGlzdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NVUEVSQ0lMRVgvZ25vbWUtY2xpcGJvYXJkLWhpc3RvcnkiLAogICJ1dWlkIjogImNsaXBib2FyZC1oaXN0b3J5QGFsZXhzYXZlYXUuZGV2IiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
-, {"uuid": "strongdm@andybrown668.github.com", "name": "StrongDM", "pname": "strongdm", "description": "Access StrongDM resources", "link": "https://extensions.gnome.org/extension/4841/strongdm/", "shell_version_map": {"40": {"version": "1", "sha256": "0bk75y3i8f82bmv20vnhar37yni6ydlcdixc89npc9iiyj1a5mwg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjY2VzcyBTdHJvbmdETSByZXNvdXJjZXMiLAogICJuYW1lIjogIlN0cm9uZ0RNIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FuZHlicm93bjY2OC9zdHJvbmdkbS1nbm9tZS1zaGVsbC1leHRlbnNpb24uZ2l0IiwKICAidXVpZCI6ICJzdHJvbmdkbUBhbmR5YnJvd242NjguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
+, {"uuid": "strongdm@andybrown668.github.com", "name": "StrongDM", "pname": "strongdm", "description": "Access StrongDM resources", "link": "https://extensions.gnome.org/extension/4841/strongdm/", "shell_version_map": {"40": {"version": "3", "sha256": "02dfs597cs8zz7wwl3kqb8i9kxdi9p7ywvk22kvmy5p4gkc181j7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjY2VzcyBTdHJvbmdETSByZXNvdXJjZXMiLAogICJuYW1lIjogIlN0cm9uZ0RNIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbmR5YnJvd242Njgvc3Ryb25nZG0tZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLmdpdCIsCiAgInV1aWQiOiAic3Ryb25nZG1AYW5keWJyb3duNjY4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "02dfs597cs8zz7wwl3kqb8i9kxdi9p7ywvk22kvmy5p4gkc181j7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjY2VzcyBTdHJvbmdETSByZXNvdXJjZXMiLAogICJuYW1lIjogIlN0cm9uZ0RNIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbmR5YnJvd242Njgvc3Ryb25nZG0tZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLmdpdCIsCiAgInV1aWQiOiAic3Ryb25nZG1AYW5keWJyb3duNjY4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "pop-theme-switcher@dimitris47", "name": "Pop Theme Switcher", "pname": "pop-theme-switcher", "description": "Switch between Pop dark and light themes. It is a fork of adwaita-theme-switcher (https://github.com/fthx/adwaita-theme-switcher).", "link": "https://extensions.gnome.org/extension/4844/pop-theme-switcher/", "shell_version_map": {"38": {"version": "2", "sha256": "0z28xmqdbhvx6cvs4r2rrlyg3r22y5rldlm7dir5hjwyad1qwar2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCBiZXR3ZWVuIFBvcCBkYXJrIGFuZCBsaWdodCB0aGVtZXMuIEl0IGlzIGEgZm9yayBvZiBhZHdhaXRhLXRoZW1lLXN3aXRjaGVyIChodHRwczovL2dpdGh1Yi5jb20vZnRoeC9hZHdhaXRhLXRoZW1lLXN3aXRjaGVyKS4iLAogICJuYW1lIjogIlBvcCBUaGVtZSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGltaXRyaXM0Ny9wb3AtdGhlbWUtc3dpdGNoZXIiLAogICJ1dWlkIjogInBvcC10aGVtZS1zd2l0Y2hlckBkaW1pdHJpczQ3IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "0z28xmqdbhvx6cvs4r2rrlyg3r22y5rldlm7dir5hjwyad1qwar2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCBiZXR3ZWVuIFBvcCBkYXJrIGFuZCBsaWdodCB0aGVtZXMuIEl0IGlzIGEgZm9yayBvZiBhZHdhaXRhLXRoZW1lLXN3aXRjaGVyIChodHRwczovL2dpdGh1Yi5jb20vZnRoeC9hZHdhaXRhLXRoZW1lLXN3aXRjaGVyKS4iLAogICJuYW1lIjogIlBvcCBUaGVtZSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGltaXRyaXM0Ny9wb3AtdGhlbWUtc3dpdGNoZXIiLAogICJ1dWlkIjogInBvcC10aGVtZS1zd2l0Y2hlckBkaW1pdHJpczQ3IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "0z28xmqdbhvx6cvs4r2rrlyg3r22y5rldlm7dir5hjwyad1qwar2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCBiZXR3ZWVuIFBvcCBkYXJrIGFuZCBsaWdodCB0aGVtZXMuIEl0IGlzIGEgZm9yayBvZiBhZHdhaXRhLXRoZW1lLXN3aXRjaGVyIChodHRwczovL2dpdGh1Yi5jb20vZnRoeC9hZHdhaXRhLXRoZW1lLXN3aXRjaGVyKS4iLAogICJuYW1lIjogIlBvcCBUaGVtZSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGltaXRyaXM0Ny9wb3AtdGhlbWUtc3dpdGNoZXIiLAogICJ1dWlkIjogInBvcC10aGVtZS1zd2l0Y2hlckBkaW1pdHJpczQ3IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "dash-to-dock-toggle@kavoyaa.github.com", "name": "Dash to Dock Toggle", "pname": "dash-to-dock-toggle", "description": "Adds a button to top panel to switch Dash to Dock mode between \"always visible\" and \"autohide\".\n\n(Works only with the Dash-to-Dock extension)", "link": "https://extensions.gnome.org/extension/4845/dash-to-dock-toggle/", "shell_version_map": {"40": {"version": "2", "sha256": "0fy9wv78qhipsy5rqdbygi74ycgryvqm98svmpbzhbgg3rb8mdxs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBidXR0b24gdG8gdG9wIHBhbmVsIHRvIHN3aXRjaCBEYXNoIHRvIERvY2sgbW9kZSBiZXR3ZWVuIFwiYWx3YXlzIHZpc2libGVcIiBhbmQgXCJhdXRvaGlkZVwiLlxuXG4oV29ya3Mgb25seSB3aXRoIHRoZSBEYXNoLXRvLURvY2sgZXh0ZW5zaW9uKSIsCiAgIm5hbWUiOiAiRGFzaCB0byBEb2NrIFRvZ2dsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGFzaC10by1kb2NrLXRvZ2dsZUBrYXZveWFhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "open@eexpss.gmail.com", "name": "Open Anywhere", "pname": "open-anywhere", "description": "* Copy / Select a full path file / directory name, or incomplete path, or pure file name. Open a context menu to let you choose how to open it, or press Ctrl-Shift-O directlly.", "link": "https://extensions.gnome.org/extension/4848/open-anywhere/", "shell_version_map": {"40": {"version": "4", "sha256": "00lcrb7ijn587wq6sxm1x3mlgr02s691l1r7cgl6vmn1i6rsf5rm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQ29weSAvIFNlbGVjdCBhIGZ1bGwgcGF0aCBmaWxlIC8gZGlyZWN0b3J5IG5hbWUsIG9yIGluY29tcGxldGUgcGF0aCwgb3IgcHVyZSBmaWxlIG5hbWUuIE9wZW4gYSBjb250ZXh0IG1lbnUgdG8gbGV0IHlvdSBjaG9vc2UgaG93IHRvIG9wZW4gaXQsIG9yIHByZXNzIEN0cmwtU2hpZnQtTyBkaXJlY3RsbHkuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3BlbiIsCiAgIm5hbWUiOiAiT3BlbiBBbnl3aGVyZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcGVuIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3Mtb3BlbiIsCiAgInV1aWQiOiAib3BlbkBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "00lcrb7ijn587wq6sxm1x3mlgr02s691l1r7cgl6vmn1i6rsf5rm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQ29weSAvIFNlbGVjdCBhIGZ1bGwgcGF0aCBmaWxlIC8gZGlyZWN0b3J5IG5hbWUsIG9yIGluY29tcGxldGUgcGF0aCwgb3IgcHVyZSBmaWxlIG5hbWUuIE9wZW4gYSBjb250ZXh0IG1lbnUgdG8gbGV0IHlvdSBjaG9vc2UgaG93IHRvIG9wZW4gaXQsIG9yIHByZXNzIEN0cmwtU2hpZnQtTyBkaXJlY3RsbHkuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3BlbiIsCiAgIm5hbWUiOiAiT3BlbiBBbnl3aGVyZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcGVuIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3Mtb3BlbiIsCiAgInV1aWQiOiAib3BlbkBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "00lcrb7ijn587wq6sxm1x3mlgr02s691l1r7cgl6vmn1i6rsf5rm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQ29weSAvIFNlbGVjdCBhIGZ1bGwgcGF0aCBmaWxlIC8gZGlyZWN0b3J5IG5hbWUsIG9yIGluY29tcGxldGUgcGF0aCwgb3IgcHVyZSBmaWxlIG5hbWUuIE9wZW4gYSBjb250ZXh0IG1lbnUgdG8gbGV0IHlvdSBjaG9vc2UgaG93IHRvIG9wZW4gaXQsIG9yIHByZXNzIEN0cmwtU2hpZnQtTyBkaXJlY3RsbHkuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3BlbiIsCiAgIm5hbWUiOiAiT3BlbiBBbnl3aGVyZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcGVuIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3Mtb3BlbiIsCiAgInV1aWQiOiAib3BlbkBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "command-menu@arunk140.com", "name": "Command Menu", "pname": "command-menu", "description": "A GNOME Shell Extension to manage shortcuts in Top Bar (Inspired by Shuttle and SSHMenu). Edit the .commands.json file to add your own shortcuts.\n\nSample Config in the README - https://github.com/arunk140/gnome-command-menu/blob/main/README.md", "link": "https://extensions.gnome.org/extension/4850/command-menu/", "shell_version_map": {"40": {"version": "3", "sha256": "0sf063fkwfjnp56406hirsiadmpv79za162k80n82pl6r837qw1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgRXh0ZW5zaW9uIHRvIG1hbmFnZSBzaG9ydGN1dHMgaW4gVG9wIEJhciAoSW5zcGlyZWQgYnkgU2h1dHRsZSBhbmQgU1NITWVudSkuIEVkaXQgdGhlIC5jb21tYW5kcy5qc29uIGZpbGUgdG8gYWRkIHlvdXIgb3duIHNob3J0Y3V0cy5cblxuU2FtcGxlIENvbmZpZyBpbiB0aGUgUkVBRE1FIC0gaHR0cHM6Ly9naXRodWIuY29tL2FydW5rMTQwL2dub21lLWNvbW1hbmQtbWVudS9ibG9iL21haW4vUkVBRE1FLm1kIiwKICAibmFtZSI6ICJDb21tYW5kIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FydW5rMTQwL2dub21lLWNvbW1hbmQtbWVudSIsCiAgInV1aWQiOiAiY29tbWFuZC1tZW51QGFydW5rMTQwLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0sf063fkwfjnp56406hirsiadmpv79za162k80n82pl6r837qw1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgRXh0ZW5zaW9uIHRvIG1hbmFnZSBzaG9ydGN1dHMgaW4gVG9wIEJhciAoSW5zcGlyZWQgYnkgU2h1dHRsZSBhbmQgU1NITWVudSkuIEVkaXQgdGhlIC5jb21tYW5kcy5qc29uIGZpbGUgdG8gYWRkIHlvdXIgb3duIHNob3J0Y3V0cy5cblxuU2FtcGxlIENvbmZpZyBpbiB0aGUgUkVBRE1FIC0gaHR0cHM6Ly9naXRodWIuY29tL2FydW5rMTQwL2dub21lLWNvbW1hbmQtbWVudS9ibG9iL21haW4vUkVBRE1FLm1kIiwKICAibmFtZSI6ICJDb21tYW5kIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FydW5rMTQwL2dub21lLWNvbW1hbmQtbWVudSIsCiAgInV1aWQiOiAiY29tbWFuZC1tZW51QGFydW5rMTQwLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "command-menu@arunk140.com", "name": "Command Menu", "pname": "command-menu", "description": "A GNOME Shell Extension to manage shortcuts in Top Bar (Inspired by Shuttle and SSHMenu). Edit the .commands.json file to add your own shortcuts.\n\nSample Config in the README - https://github.com/arunk140/gnome-command-menu/blob/main/README.md", "link": "https://extensions.gnome.org/extension/4850/command-menu/", "shell_version_map": {"40": {"version": "4", "sha256": "0xqxyryzi1agsfyyp5diawwv6szlk2iygvsgjsn2ngyscz9zcg5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgRXh0ZW5zaW9uIHRvIG1hbmFnZSBzaG9ydGN1dHMgaW4gVG9wIEJhciAoSW5zcGlyZWQgYnkgU2h1dHRsZSBhbmQgU1NITWVudSkuIEVkaXQgdGhlIC5jb21tYW5kcy5qc29uIGZpbGUgdG8gYWRkIHlvdXIgb3duIHNob3J0Y3V0cy5cblxuU2FtcGxlIENvbmZpZyBpbiB0aGUgUkVBRE1FIC0gaHR0cHM6Ly9naXRodWIuY29tL2FydW5rMTQwL2dub21lLWNvbW1hbmQtbWVudS9ibG9iL21haW4vUkVBRE1FLm1kIiwKICAibmFtZSI6ICJDb21tYW5kIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcnVuazE0MC9nbm9tZS1jb21tYW5kLW1lbnUiLAogICJ1dWlkIjogImNvbW1hbmQtbWVudUBhcnVuazE0MC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0xqxyryzi1agsfyyp5diawwv6szlk2iygvsgjsn2ngyscz9zcg5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgRXh0ZW5zaW9uIHRvIG1hbmFnZSBzaG9ydGN1dHMgaW4gVG9wIEJhciAoSW5zcGlyZWQgYnkgU2h1dHRsZSBhbmQgU1NITWVudSkuIEVkaXQgdGhlIC5jb21tYW5kcy5qc29uIGZpbGUgdG8gYWRkIHlvdXIgb3duIHNob3J0Y3V0cy5cblxuU2FtcGxlIENvbmZpZyBpbiB0aGUgUkVBRE1FIC0gaHR0cHM6Ly9naXRodWIuY29tL2FydW5rMTQwL2dub21lLWNvbW1hbmQtbWVudS9ibG9iL21haW4vUkVBRE1FLm1kIiwKICAibmFtZSI6ICJDb21tYW5kIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcnVuazE0MC9nbm9tZS1jb21tYW5kLW1lbnUiLAogICJ1dWlkIjogImNvbW1hbmQtbWVudUBhcnVuazE0MC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "0xqxyryzi1agsfyyp5diawwv6szlk2iygvsgjsn2ngyscz9zcg5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgRXh0ZW5zaW9uIHRvIG1hbmFnZSBzaG9ydGN1dHMgaW4gVG9wIEJhciAoSW5zcGlyZWQgYnkgU2h1dHRsZSBhbmQgU1NITWVudSkuIEVkaXQgdGhlIC5jb21tYW5kcy5qc29uIGZpbGUgdG8gYWRkIHlvdXIgb3duIHNob3J0Y3V0cy5cblxuU2FtcGxlIENvbmZpZyBpbiB0aGUgUkVBRE1FIC0gaHR0cHM6Ly9naXRodWIuY29tL2FydW5rMTQwL2dub21lLWNvbW1hbmQtbWVudS9ibG9iL21haW4vUkVBRE1FLm1kIiwKICAibmFtZSI6ICJDb21tYW5kIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcnVuazE0MC9nbm9tZS1jb21tYW5kLW1lbnUiLAogICJ1dWlkIjogImNvbW1hbmQtbWVudUBhcnVuazE0MC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "s76-scheduler@mattjakeman.com", "name": "System76 Scheduler", "pname": "system76-scheduler", "description": "Integrates with System76 Scheduler to prioritise foreground processes.\nNote: system76-scheduler must be installed separately!\nThis extension is not affiliated with nor supported by System76.", "link": "https://extensions.gnome.org/extension/4854/system76-scheduler/", "shell_version_map": {"40": {"version": "2", "sha256": "0sa3skad3vxbiqq9cy74r6s2nfadxjnjwyl9hnp4p9qwnr5qiwhq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgd2l0aCBTeXN0ZW03NiBTY2hlZHVsZXIgdG8gcHJpb3JpdGlzZSBmb3JlZ3JvdW5kIHByb2Nlc3Nlcy5cbk5vdGU6IHN5c3RlbTc2LXNjaGVkdWxlciBtdXN0IGJlIGluc3RhbGxlZCBzZXBhcmF0ZWx5IVxuVGhpcyBleHRlbnNpb24gaXMgbm90IGFmZmlsaWF0ZWQgd2l0aCBub3Igc3VwcG9ydGVkIGJ5IFN5c3RlbTc2LiIsCiAgIm5hbWUiOiAiU3lzdGVtNzYgU2NoZWR1bGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWpha2VtYW4vczc2LXNjaGVkdWxlci1wbHVnaW4vIiwKICAidXVpZCI6ICJzNzYtc2NoZWR1bGVyQG1hdHRqYWtlbWFuLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "0sa3skad3vxbiqq9cy74r6s2nfadxjnjwyl9hnp4p9qwnr5qiwhq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgd2l0aCBTeXN0ZW03NiBTY2hlZHVsZXIgdG8gcHJpb3JpdGlzZSBmb3JlZ3JvdW5kIHByb2Nlc3Nlcy5cbk5vdGU6IHN5c3RlbTc2LXNjaGVkdWxlciBtdXN0IGJlIGluc3RhbGxlZCBzZXBhcmF0ZWx5IVxuVGhpcyBleHRlbnNpb24gaXMgbm90IGFmZmlsaWF0ZWQgd2l0aCBub3Igc3VwcG9ydGVkIGJ5IFN5c3RlbTc2LiIsCiAgIm5hbWUiOiAiU3lzdGVtNzYgU2NoZWR1bGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWpha2VtYW4vczc2LXNjaGVkdWxlci1wbHVnaW4vIiwKICAidXVpZCI6ICJzNzYtc2NoZWR1bGVyQG1hdHRqYWtlbWFuLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "0sa3skad3vxbiqq9cy74r6s2nfadxjnjwyl9hnp4p9qwnr5qiwhq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgd2l0aCBTeXN0ZW03NiBTY2hlZHVsZXIgdG8gcHJpb3JpdGlzZSBmb3JlZ3JvdW5kIHByb2Nlc3Nlcy5cbk5vdGU6IHN5c3RlbTc2LXNjaGVkdWxlciBtdXN0IGJlIGluc3RhbGxlZCBzZXBhcmF0ZWx5IVxuVGhpcyBleHRlbnNpb24gaXMgbm90IGFmZmlsaWF0ZWQgd2l0aCBub3Igc3VwcG9ydGVkIGJ5IFN5c3RlbTc2LiIsCiAgIm5hbWUiOiAiU3lzdGVtNzYgU2NoZWR1bGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWpha2VtYW4vczc2LXNjaGVkdWxlci1wbHVnaW4vIiwKICAidXVpZCI6ICJzNzYtc2NoZWR1bGVyQG1hdHRqYWtlbWFuLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "quarterwindows@troyready.com", "name": "Quarter Windows", "pname": "quarter-windows", "description": "Add additional window management shortcuts.\n\nSee extension homepage for list of shortcuts and commands to customize them.", "link": "https://extensions.gnome.org/extension/4857/quarter-windows/", "shell_version_map": {"41": {"version": "2", "sha256": "00yiqgswcl3psijxi46sb8bxqfxb1a9i93frb90a5292a0x7lmzi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhZGRpdGlvbmFsIHdpbmRvdyBtYW5hZ2VtZW50IHNob3J0Y3V0cy5cblxuU2VlIGV4dGVuc2lvbiBob21lcGFnZSBmb3IgbGlzdCBvZiBzaG9ydGN1dHMgYW5kIGNvbW1hbmRzIHRvIGN1c3RvbWl6ZSB0aGVtLiIsCiAgIm5hbWUiOiAiUXVhcnRlciBXaW5kb3dzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Ryb3lyZWFkeS9xdWFydGVyd2luZG93cyIsCiAgInV1aWQiOiAicXVhcnRlcndpbmRvd3NAdHJveXJlYWR5LmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "batt_consumption_wattmetter@wennaspeedy", "name": "Battery Consumption Watt Meter", "pname": "bat_consumption_wattmeter", "description": "Shows actual charging/discharging consumption (+/-) in Watt next to battery percentage level.\nEnable percentage label when disabled.\nDefault sync reload set to 4 seconds.\nNo consumption info when battery is full.\nSettings: interval, percentage label (also when full), battery selection", "link": "https://extensions.gnome.org/extension/4862/bat_consumption_wattmeter/", "shell_version_map": {"40": {"version": "10", "sha256": "12w9xy5yd8qlqagmzaky4s1c4i6m4pmndncz3lz7299yy913wn6k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGFjdHVhbCBjaGFyZ2luZy9kaXNjaGFyZ2luZyBjb25zdW1wdGlvbiAoKy8tKSBpbiBXYXR0IG5leHQgdG8gYmF0dGVyeSBwZXJjZW50YWdlIGxldmVsLlxuRW5hYmxlIHBlcmNlbnRhZ2UgbGFiZWwgd2hlbiBkaXNhYmxlZC5cbkRlZmF1bHQgc3luYyByZWxvYWQgc2V0IHRvIDQgc2Vjb25kcy5cbk5vIGNvbnN1bXB0aW9uIGluZm8gd2hlbiBiYXR0ZXJ5IGlzIGZ1bGwuXG5TZXR0aW5nczogaW50ZXJ2YWwsIHBlcmNlbnRhZ2UgbGFiZWwgKGFsc28gd2hlbiBmdWxsKSwgYmF0dGVyeSBzZWxlY3Rpb24iLAogICJuYW1lIjogIkJhdHRlcnkgQ29uc3VtcHRpb24gV2F0dCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dlbm5hc3BlZWR5L2JhdHRfY29uc3VtcHRpb25fd2F0dG1ldHRlciIsCiAgInV1aWQiOiAiYmF0dF9jb25zdW1wdGlvbl93YXR0bWV0dGVyQHdlbm5hc3BlZWR5IiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "12w9xy5yd8qlqagmzaky4s1c4i6m4pmndncz3lz7299yy913wn6k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGFjdHVhbCBjaGFyZ2luZy9kaXNjaGFyZ2luZyBjb25zdW1wdGlvbiAoKy8tKSBpbiBXYXR0IG5leHQgdG8gYmF0dGVyeSBwZXJjZW50YWdlIGxldmVsLlxuRW5hYmxlIHBlcmNlbnRhZ2UgbGFiZWwgd2hlbiBkaXNhYmxlZC5cbkRlZmF1bHQgc3luYyByZWxvYWQgc2V0IHRvIDQgc2Vjb25kcy5cbk5vIGNvbnN1bXB0aW9uIGluZm8gd2hlbiBiYXR0ZXJ5IGlzIGZ1bGwuXG5TZXR0aW5nczogaW50ZXJ2YWwsIHBlcmNlbnRhZ2UgbGFiZWwgKGFsc28gd2hlbiBmdWxsKSwgYmF0dGVyeSBzZWxlY3Rpb24iLAogICJuYW1lIjogIkJhdHRlcnkgQ29uc3VtcHRpb24gV2F0dCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dlbm5hc3BlZWR5L2JhdHRfY29uc3VtcHRpb25fd2F0dG1ldHRlciIsCiAgInV1aWQiOiAiYmF0dF9jb25zdW1wdGlvbl93YXR0bWV0dGVyQHdlbm5hc3BlZWR5IiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "12w9xy5yd8qlqagmzaky4s1c4i6m4pmndncz3lz7299yy913wn6k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGFjdHVhbCBjaGFyZ2luZy9kaXNjaGFyZ2luZyBjb25zdW1wdGlvbiAoKy8tKSBpbiBXYXR0IG5leHQgdG8gYmF0dGVyeSBwZXJjZW50YWdlIGxldmVsLlxuRW5hYmxlIHBlcmNlbnRhZ2UgbGFiZWwgd2hlbiBkaXNhYmxlZC5cbkRlZmF1bHQgc3luYyByZWxvYWQgc2V0IHRvIDQgc2Vjb25kcy5cbk5vIGNvbnN1bXB0aW9uIGluZm8gd2hlbiBiYXR0ZXJ5IGlzIGZ1bGwuXG5TZXR0aW5nczogaW50ZXJ2YWwsIHBlcmNlbnRhZ2UgbGFiZWwgKGFsc28gd2hlbiBmdWxsKSwgYmF0dGVyeSBzZWxlY3Rpb24iLAogICJuYW1lIjogIkJhdHRlcnkgQ29uc3VtcHRpb24gV2F0dCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dlbm5hc3BlZWR5L2JhdHRfY29uc3VtcHRpb25fd2F0dG1ldHRlciIsCiAgInV1aWQiOiAiYmF0dF9jb25zdW1wdGlvbl93YXR0bWV0dGVyQHdlbm5hc3BlZWR5IiwKICAidmVyc2lvbiI6IDEwCn0="}}}
@@ -703,7 +705,7 @@
 , {"uuid": "speed@eexpss.gmail.com", "name": "Screen Net Speed", "pname": "screen-net-speed", "description": "* Animation net speed show on the screen. You can click it to have fun and pass the time. Can be turned on / off at any time.\nScroll Mouse on panel icon, can change the shape.", "link": "https://extensions.gnome.org/extension/4901/screen-net-speed/", "shell_version_map": {"40": {"version": "5", "sha256": "12qqaadj1wxpwysxndvjsvqr9fk9hk4wkma5gqxhv7rjdq1c4jw2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQW5pbWF0aW9uIG5ldCBzcGVlZCBzaG93IG9uIHRoZSBzY3JlZW4uIFlvdSBjYW4gY2xpY2sgaXQgdG8gaGF2ZSBmdW4gYW5kIHBhc3MgdGhlIHRpbWUuIENhbiBiZSB0dXJuZWQgb24gLyBvZmYgYXQgYW55IHRpbWUuXG5TY3JvbGwgTW91c2Ugb24gcGFuZWwgaWNvbiwgY2FuIGNoYW5nZSB0aGUgc2hhcGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2NyZWVuLW5ldC1zcGVlZCIsCiAgIm5hbWUiOiAiU2NyZWVuIE5ldCBTcGVlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLXNwZWVkIiwKICAidXVpZCI6ICJzcGVlZEBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "12qqaadj1wxpwysxndvjsvqr9fk9hk4wkma5gqxhv7rjdq1c4jw2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQW5pbWF0aW9uIG5ldCBzcGVlZCBzaG93IG9uIHRoZSBzY3JlZW4uIFlvdSBjYW4gY2xpY2sgaXQgdG8gaGF2ZSBmdW4gYW5kIHBhc3MgdGhlIHRpbWUuIENhbiBiZSB0dXJuZWQgb24gLyBvZmYgYXQgYW55IHRpbWUuXG5TY3JvbGwgTW91c2Ugb24gcGFuZWwgaWNvbiwgY2FuIGNoYW5nZSB0aGUgc2hhcGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2NyZWVuLW5ldC1zcGVlZCIsCiAgIm5hbWUiOiAiU2NyZWVuIE5ldCBTcGVlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLXNwZWVkIiwKICAidXVpZCI6ICJzcGVlZEBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "12qqaadj1wxpwysxndvjsvqr9fk9hk4wkma5gqxhv7rjdq1c4jw2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQW5pbWF0aW9uIG5ldCBzcGVlZCBzaG93IG9uIHRoZSBzY3JlZW4uIFlvdSBjYW4gY2xpY2sgaXQgdG8gaGF2ZSBmdW4gYW5kIHBhc3MgdGhlIHRpbWUuIENhbiBiZSB0dXJuZWQgb24gLyBvZmYgYXQgYW55IHRpbWUuXG5TY3JvbGwgTW91c2Ugb24gcGFuZWwgaWNvbiwgY2FuIGNoYW5nZSB0aGUgc2hhcGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2NyZWVuLW5ldC1zcGVlZCIsCiAgIm5hbWUiOiAiU2NyZWVuIE5ldCBTcGVlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLXNwZWVkIiwKICAidXVpZCI6ICJzcGVlZEBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "addshutbutton@jerom@olika.ovh", "name": "Add Shutdown Button", "pname": "add-shutdown-button", "description": "Add a button power off", "link": "https://extensions.gnome.org/extension/4905/add-shutdown-button/", "shell_version_map": {"40": {"version": "2", "sha256": "1yq7cakknjq7inzg1bq6z4isivj25vkml89vmv4913fparvsx7n2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJ1dHRvbiBwb3dlciBvZmYiLAogICJuYW1lIjogIkFkZCBTaHV0ZG93biBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFkZHNodXRidXR0b25AamVyb21Ab2xpa2Eub3ZoIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "eepresetselector@ulville.github.io", "name": "EasyEffects Preset Selector", "pname": "easyeffects-preset-selector", "description": "Quickly show and load EasyEffects Presets", "link": "https://extensions.gnome.org/extension/4907/easyeffects-preset-selector/", "shell_version_map": {"38": {"version": "5", "sha256": "0p80w0zwwp5d8bgfffszdfa1mklj5w8d7p8wckcvwgc8gbq7i2ih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "0p80w0zwwp5d8bgfffszdfa1mklj5w8d7p8wckcvwgc8gbq7i2ih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "0p80w0zwwp5d8bgfffszdfa1mklj5w8d7p8wckcvwgc8gbq7i2ih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}, "42": {"version": "5", "sha256": "0p80w0zwwp5d8bgfffszdfa1mklj5w8d7p8wckcvwgc8gbq7i2ih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS91bHZpbGxlL2VlcHJlc2V0c2VsZWN0b3IiLAogICJ1dWlkIjogImVlcHJlc2V0c2VsZWN0b3JAdWx2aWxsZS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}}}
-, {"uuid": "gnomehub@gnome-hub.github.io", "name": "gnomehub", "pname": "gnomehub", "description": "An all in one extension which catagorizes notifications and displays system information", "link": "https://extensions.gnome.org/extension/4913/gnomehub/", "shell_version_map": {"38": {"version": "5", "sha256": "0kygq6c5ifmdv55j849n1yxc9mww27ih68fxvcywk28swkykgw2n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGFsbCBpbiBvbmUgZXh0ZW5zaW9uIHdoaWNoIGNhdGFnb3JpemVzIG5vdGlmaWNhdGlvbnMgYW5kIGRpc3BsYXlzIHN5c3RlbSBpbmZvcm1hdGlvbiIsCiAgIm5hbWUiOiAiZ25vbWVodWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dub21lLWh1Yi5naXRodWIuaW8vIiwKICAidXVpZCI6ICJnbm9tZWh1YkBnbm9tZS1odWIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0kygq6c5ifmdv55j849n1yxc9mww27ih68fxvcywk28swkykgw2n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGFsbCBpbiBvbmUgZXh0ZW5zaW9uIHdoaWNoIGNhdGFnb3JpemVzIG5vdGlmaWNhdGlvbnMgYW5kIGRpc3BsYXlzIHN5c3RlbSBpbmZvcm1hdGlvbiIsCiAgIm5hbWUiOiAiZ25vbWVodWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dub21lLWh1Yi5naXRodWIuaW8vIiwKICAidXVpZCI6ICJnbm9tZWh1YkBnbm9tZS1odWIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
+, {"uuid": "gnomehub@gnome-hub.github.io", "name": "gnomehub", "pname": "gnomehub", "description": "An all in one extension which catagorizes notifications and displays system information", "link": "https://extensions.gnome.org/extension/4913/gnomehub/", "shell_version_map": {"38": {"version": "6", "sha256": "15dgj0jbfhsa0p87gi0ai6c55kj4nj9yz5ydpzamwy69k9jjjcd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGFsbCBpbiBvbmUgZXh0ZW5zaW9uIHdoaWNoIGNhdGFnb3JpemVzIG5vdGlmaWNhdGlvbnMgYW5kIGRpc3BsYXlzIHN5c3RlbSBpbmZvcm1hdGlvbiIsCiAgIm5hbWUiOiAiZ25vbWVodWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dub21lLWh1Yi5naXRodWIuaW8vIiwKICAidXVpZCI6ICJnbm9tZWh1YkBnbm9tZS1odWIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "15dgj0jbfhsa0p87gi0ai6c55kj4nj9yz5ydpzamwy69k9jjjcd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGFsbCBpbiBvbmUgZXh0ZW5zaW9uIHdoaWNoIGNhdGFnb3JpemVzIG5vdGlmaWNhdGlvbnMgYW5kIGRpc3BsYXlzIHN5c3RlbSBpbmZvcm1hdGlvbiIsCiAgIm5hbWUiOiAiZ25vbWVodWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dub21lLWh1Yi5naXRodWIuaW8vIiwKICAidXVpZCI6ICJnbm9tZWh1YkBnbm9tZS1odWIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "volume_scroller@noskoski", "name": "Volume Scroller", "pname": "volume-scroller", "description": "Scroll up or down in the Top Bar to adjust volume.", "link": "https://extensions.gnome.org/extension/4916/volume-scroller/", "shell_version_map": {"38": {"version": "2", "sha256": "0524g5yc4k0sgdy1v6dah5y3nrf95zdl94nmqp5x77nwmdxvdpqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbm9za29za2kvZ25vbWUtc2hlbGwtdm9sdW1lLXNjcm9sbGVyIiwKICAidXVpZCI6ICJ2b2x1bWVfc2Nyb2xsZXJAbm9za29za2kiLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "0524g5yc4k0sgdy1v6dah5y3nrf95zdl94nmqp5x77nwmdxvdpqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbm9za29za2kvZ25vbWUtc2hlbGwtdm9sdW1lLXNjcm9sbGVyIiwKICAidXVpZCI6ICJ2b2x1bWVfc2Nyb2xsZXJAbm9za29za2kiLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "0524g5yc4k0sgdy1v6dah5y3nrf95zdl94nmqp5x77nwmdxvdpqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbm9za29za2kvZ25vbWUtc2hlbGwtdm9sdW1lLXNjcm9sbGVyIiwKICAidXVpZCI6ICJ2b2x1bWVfc2Nyb2xsZXJAbm9za29za2kiLAogICJ2ZXJzaW9uIjogMgp9"}, "42": {"version": "2", "sha256": "0524g5yc4k0sgdy1v6dah5y3nrf95zdl94nmqp5x77nwmdxvdpqm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbm9za29za2kvZ25vbWUtc2hlbGwtdm9sdW1lLXNjcm9sbGVyIiwKICAidXVpZCI6ICJ2b2x1bWVfc2Nyb2xsZXJAbm9za29za2kiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "weather@eexpss.gmail.com", "name": "Weather", "pname": "weather", "description": "Animation Weather. \nMouse 1: show weather\nMouse 2: refresh weather\nMouse 3: dismiss\nScrollUp: increase day\nScrollDown: decrease day", "link": "https://extensions.gnome.org/extension/4919/weather/", "shell_version_map": {"40": {"version": "3", "sha256": "0a9sgmpmj0xr9b2bqp0q11n4zzs47vfnbk24428b3g024cfhya75", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXkiLAogICJuYW1lIjogIldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy13ZWF0aGVyIiwKICAidXVpZCI6ICJ3ZWF0aGVyQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "0a9sgmpmj0xr9b2bqp0q11n4zzs47vfnbk24428b3g024cfhya75", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXkiLAogICJuYW1lIjogIldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy13ZWF0aGVyIiwKICAidXVpZCI6ICJ3ZWF0aGVyQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "8", "sha256": "128jbdkiaqajaii5byrhya7cly4gbfnlk9bpw1y5r3v5qpip4l14", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3ZWF0aGVyIiwKICAibmFtZSI6ICJXZWF0aGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3Mtd2VhdGhlciIsCiAgInV1aWQiOiAid2VhdGhlckBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "whiteborder@aaronbpaden.gmail.com", "name": "White Border Overlay", "pname": "white-border-overlay", "description": "Draw a white border around the desktop to enable (hopefully) universal application support for the Sinden Lightgun.", "link": "https://extensions.gnome.org/extension/4922/white-border-overlay/", "shell_version_map": {"38": {"version": "3", "sha256": "0wb4s9h3abygrdj2ynv16wc2fk0k7h9d1q97vd2kzxb20rhb87i5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyYXcgYSB3aGl0ZSBib3JkZXIgYXJvdW5kIHRoZSBkZXNrdG9wIHRvIGVuYWJsZSAoaG9wZWZ1bGx5KSB1bml2ZXJzYWwgYXBwbGljYXRpb24gc3VwcG9ydCBmb3IgdGhlIFNpbmRlbiBMaWdodGd1bi4iLAogICJuYW1lIjogIldoaXRlIEJvcmRlciBPdmVybGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWFyb25CUGFkZW4vd2hpdGVib3JkZXItYWFyb25icGFkZW4uZ21haWwuY29tIiwKICAidXVpZCI6ICJ3aGl0ZWJvcmRlckBhYXJvbmJwYWRlbi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "0wb4s9h3abygrdj2ynv16wc2fk0k7h9d1q97vd2kzxb20rhb87i5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyYXcgYSB3aGl0ZSBib3JkZXIgYXJvdW5kIHRoZSBkZXNrdG9wIHRvIGVuYWJsZSAoaG9wZWZ1bGx5KSB1bml2ZXJzYWwgYXBwbGljYXRpb24gc3VwcG9ydCBmb3IgdGhlIFNpbmRlbiBMaWdodGd1bi4iLAogICJuYW1lIjogIldoaXRlIEJvcmRlciBPdmVybGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWFyb25CUGFkZW4vd2hpdGVib3JkZXItYWFyb25icGFkZW4uZ21haWwuY29tIiwKICAidXVpZCI6ICJ3aGl0ZWJvcmRlckBhYXJvbmJwYWRlbi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "0wb4s9h3abygrdj2ynv16wc2fk0k7h9d1q97vd2kzxb20rhb87i5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyYXcgYSB3aGl0ZSBib3JkZXIgYXJvdW5kIHRoZSBkZXNrdG9wIHRvIGVuYWJsZSAoaG9wZWZ1bGx5KSB1bml2ZXJzYWwgYXBwbGljYXRpb24gc3VwcG9ydCBmb3IgdGhlIFNpbmRlbiBMaWdodGd1bi4iLAogICJuYW1lIjogIldoaXRlIEJvcmRlciBPdmVybGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWFyb25CUGFkZW4vd2hpdGVib3JkZXItYWFyb25icGFkZW4uZ21haWwuY29tIiwKICAidXVpZCI6ICJ3aGl0ZWJvcmRlckBhYXJvbmJwYWRlbi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "0wb4s9h3abygrdj2ynv16wc2fk0k7h9d1q97vd2kzxb20rhb87i5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyYXcgYSB3aGl0ZSBib3JkZXIgYXJvdW5kIHRoZSBkZXNrdG9wIHRvIGVuYWJsZSAoaG9wZWZ1bGx5KSB1bml2ZXJzYWwgYXBwbGljYXRpb24gc3VwcG9ydCBmb3IgdGhlIFNpbmRlbiBMaWdodGd1bi4iLAogICJuYW1lIjogIldoaXRlIEJvcmRlciBPdmVybGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWFyb25CUGFkZW4vd2hpdGVib3JkZXItYWFyb25icGFkZW4uZ21haWwuY29tIiwKICAidXVpZCI6ICJ3aGl0ZWJvcmRlckBhYXJvbmJwYWRlbi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
@@ -712,7 +714,7 @@
 , {"uuid": "captivate@rensoliemans.nl", "name": "Captivate", "pname": "captivate", "description": "Activate your CapsLock button.\nUsing gnome-tweaks, remap your CapsLock to a Menu key, and then this extension works perfectly. Alternatively, choose a different key in the extension settings.", "link": "https://extensions.gnome.org/extension/4932/captivate/", "shell_version_map": {"40": {"version": "5", "sha256": "0c1506lfm7iv59ha1gyc20v49xl3ivjn3qy9cxkdb68j37q50240", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlIHlvdXIgQ2Fwc0xvY2sgYnV0dG9uLlxuVXNpbmcgZ25vbWUtdHdlYWtzLCByZW1hcCB5b3VyIENhcHNMb2NrIHRvIGEgTWVudSBrZXksIGFuZCB0aGVuIHRoaXMgZXh0ZW5zaW9uIHdvcmtzIHBlcmZlY3RseS4gQWx0ZXJuYXRpdmVseSwgY2hvb3NlIGEgZGlmZmVyZW50IGtleSBpbiB0aGUgZXh0ZW5zaW9uIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiQ2FwdGl2YXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhcHRpdmF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmVuc29saWVtYW5zL2NhcHRpdmF0ZSIsCiAgInV1aWQiOiAiY2FwdGl2YXRlQHJlbnNvbGllbWFucy5ubCIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "0c1506lfm7iv59ha1gyc20v49xl3ivjn3qy9cxkdb68j37q50240", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlIHlvdXIgQ2Fwc0xvY2sgYnV0dG9uLlxuVXNpbmcgZ25vbWUtdHdlYWtzLCByZW1hcCB5b3VyIENhcHNMb2NrIHRvIGEgTWVudSBrZXksIGFuZCB0aGVuIHRoaXMgZXh0ZW5zaW9uIHdvcmtzIHBlcmZlY3RseS4gQWx0ZXJuYXRpdmVseSwgY2hvb3NlIGEgZGlmZmVyZW50IGtleSBpbiB0aGUgZXh0ZW5zaW9uIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiQ2FwdGl2YXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhcHRpdmF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmVuc29saWVtYW5zL2NhcHRpdmF0ZSIsCiAgInV1aWQiOiAiY2FwdGl2YXRlQHJlbnNvbGllbWFucy5ubCIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "goto-previous-workspaces@zubarev.net", "name": "Switch workspaces to previous", "pname": "switch-workspaces-to-previous", "description": "move to previous workspace", "link": "https://extensions.gnome.org/extension/4935/switch-workspaces-to-previous/", "shell_version_map": {"38": {"version": "1", "sha256": "0f2ri8w9zh49z81ya12rrfclmljhgv05yl30s0jbgafi9im396cv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG8gcHJldmlvdXMgd29ya3NwYWNlIiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyB0byBwcmV2aW91cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiYW5kcmV5QHp1YmFyZXYubmV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvdG8tcHJldmlvdXMtd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F6eW9za29sL2dub21lLXNoZWxsLWV4dGVuc2lvbi1nb3RvLXByZXZpb3VzLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogImdvdG8tcHJldmlvdXMtd29ya3NwYWNlc0B6dWJhcmV2Lm5ldCIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "0f2ri8w9zh49z81ya12rrfclmljhgv05yl30s0jbgafi9im396cv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG8gcHJldmlvdXMgd29ya3NwYWNlIiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyB0byBwcmV2aW91cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiYW5kcmV5QHp1YmFyZXYubmV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvdG8tcHJldmlvdXMtd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F6eW9za29sL2dub21lLXNoZWxsLWV4dGVuc2lvbi1nb3RvLXByZXZpb3VzLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogImdvdG8tcHJldmlvdXMtd29ya3NwYWNlc0B6dWJhcmV2Lm5ldCIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "0f2ri8w9zh49z81ya12rrfclmljhgv05yl30s0jbgafi9im396cv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG8gcHJldmlvdXMgd29ya3NwYWNlIiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyB0byBwcmV2aW91cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiYW5kcmV5QHp1YmFyZXYubmV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvdG8tcHJldmlvdXMtd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F6eW9za29sL2dub21lLXNoZWxsLWV4dGVuc2lvbi1nb3RvLXByZXZpb3VzLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogImdvdG8tcHJldmlvdXMtd29ya3NwYWNlc0B6dWJhcmV2Lm5ldCIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "0f2ri8w9zh49z81ya12rrfclmljhgv05yl30s0jbgafi9im396cv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG8gcHJldmlvdXMgd29ya3NwYWNlIiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyB0byBwcmV2aW91cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiYW5kcmV5QHp1YmFyZXYubmV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvdG8tcHJldmlvdXMtd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F6eW9za29sL2dub21lLXNoZWxsLWV4dGVuc2lvbi1nb3RvLXByZXZpb3VzLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogImdvdG8tcHJldmlvdXMtd29ya3NwYWNlc0B6dWJhcmV2Lm5ldCIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "draw-on-your-screen2@zhrexl.github.com", "name": "Draw On Your Screen 2", "pname": "draw-on-you-screen-2", "description": "Start drawing with Super+Alt+D and save your beautiful work by taking a screenshot", "link": "https://extensions.gnome.org/extension/4937/draw-on-you-screen-2/", "shell_version_map": {"40": {"version": "1", "sha256": "0ggqr3hn3cm4cd28qmwhz85fpc9lqxq9n4bc1mmyzb5b8y62smmg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhdGEtZGlyIjogImRyYXctb24teW91ci1zY3JlZW4iLAogICJkZXNjcmlwdGlvbiI6ICJTdGFydCBkcmF3aW5nIHdpdGggU3VwZXIrQWx0K0QgYW5kIHNhdmUgeW91ciBiZWF1dGlmdWwgd29yayBieSB0YWtpbmcgYSBzY3JlZW5zaG90IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZHJhdy1vbi15b3VyLXNjcmVlbiIsCiAgIm5hbWUiOiAiRHJhdyBPbiBZb3VyIFNjcmVlbiAyIiwKICAicGVyc2lzdGVudC1maWxlLW5hbWUiOiAicGVyc2lzdGVudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcmF3LW9uLXlvdXItc2NyZWVuIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAic3ZnLWZpbGUtbmFtZSI6ICJEcmF3T25Zb3VyU2NyZWVuIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96aHJleGwvRHJhd09uWW91clNjcmVlbjIiLAogICJ1dWlkIjogImRyYXctb24teW91ci1zY3JlZW4yQHpocmV4bC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "41": {"version": "1", "sha256": "0ggqr3hn3cm4cd28qmwhz85fpc9lqxq9n4bc1mmyzb5b8y62smmg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhdGEtZGlyIjogImRyYXctb24teW91ci1zY3JlZW4iLAogICJkZXNjcmlwdGlvbiI6ICJTdGFydCBkcmF3aW5nIHdpdGggU3VwZXIrQWx0K0QgYW5kIHNhdmUgeW91ciBiZWF1dGlmdWwgd29yayBieSB0YWtpbmcgYSBzY3JlZW5zaG90IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZHJhdy1vbi15b3VyLXNjcmVlbiIsCiAgIm5hbWUiOiAiRHJhdyBPbiBZb3VyIFNjcmVlbiAyIiwKICAicGVyc2lzdGVudC1maWxlLW5hbWUiOiAicGVyc2lzdGVudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcmF3LW9uLXlvdXItc2NyZWVuIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAic3ZnLWZpbGUtbmFtZSI6ICJEcmF3T25Zb3VyU2NyZWVuIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96aHJleGwvRHJhd09uWW91clNjcmVlbjIiLAogICJ1dWlkIjogImRyYXctb24teW91ci1zY3JlZW4yQHpocmV4bC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
-, {"uuid": "aztaskbar@aztaskbar.gitlab.com", "name": "App Icons Taskbar", "pname": "app-icons-taskbar", "description": "A simple app icon taskbar. Show running apps and favorites on the main panel.", "link": "https://extensions.gnome.org/extension/4944/app-icons-taskbar/", "shell_version_map": {"41": {"version": "7", "sha256": "1slix3771pmzdbhwsacssvbplfgsg7sq1in4xrja3wfz5ffikdb7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGFwcCBpY29uIHRhc2tiYXIuIFNob3cgcnVubmluZyBhcHBzIGFuZCBmYXZvcml0ZXMgb24gdGhlIG1haW4gcGFuZWwuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXp0YXNrYmFyIiwKICAibmFtZSI6ICJBcHAgSWNvbnMgVGFza2JhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5henRhc2tiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0FuZHJld1phZWNoL2F6dGFza2JhciIsCiAgInV1aWQiOiAiYXp0YXNrYmFyQGF6dGFza2Jhci5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "7", "sha256": "1slix3771pmzdbhwsacssvbplfgsg7sq1in4xrja3wfz5ffikdb7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGFwcCBpY29uIHRhc2tiYXIuIFNob3cgcnVubmluZyBhcHBzIGFuZCBmYXZvcml0ZXMgb24gdGhlIG1haW4gcGFuZWwuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXp0YXNrYmFyIiwKICAibmFtZSI6ICJBcHAgSWNvbnMgVGFza2JhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5henRhc2tiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0FuZHJld1phZWNoL2F6dGFza2JhciIsCiAgInV1aWQiOiAiYXp0YXNrYmFyQGF6dGFza2Jhci5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
+, {"uuid": "aztaskbar@aztaskbar.gitlab.com", "name": "App Icons Taskbar", "pname": "app-icons-taskbar", "description": "A simple app icon taskbar. Show running apps and favorites on the main panel.", "link": "https://extensions.gnome.org/extension/4944/app-icons-taskbar/", "shell_version_map": {"41": {"version": "7", "sha256": "1slix3771pmzdbhwsacssvbplfgsg7sq1in4xrja3wfz5ffikdb7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGFwcCBpY29uIHRhc2tiYXIuIFNob3cgcnVubmluZyBhcHBzIGFuZCBmYXZvcml0ZXMgb24gdGhlIG1haW4gcGFuZWwuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXp0YXNrYmFyIiwKICAibmFtZSI6ICJBcHAgSWNvbnMgVGFza2JhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5henRhc2tiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0FuZHJld1phZWNoL2F6dGFza2JhciIsCiAgInV1aWQiOiAiYXp0YXNrYmFyQGF6dGFza2Jhci5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "8", "sha256": "0nxw3d5x728gxfjk7qyaisbzkmym2zvx0c976sxa5ksisq2c3162", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1pdCI6ICI3YTY0YWE0N2M2MzdiYTk5MTJhYTNmZDIyZDE2Y2QxM2I4YjJjYmM5IiwKICAiZGVzY3JpcHRpb24iOiAiQSBzaW1wbGUgYXBwIGljb24gdGFza2Jhci4gU2hvdyBydW5uaW5nIGFwcHMgYW5kIGZhdm9yaXRlcyBvbiB0aGUgbWFpbiBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhenRhc2tiYXIiLAogICJuYW1lIjogIkFwcCBJY29ucyBUYXNrYmFyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF6dGFza2JhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9BbmRyZXdaYWVjaC9henRhc2tiYXIiLAogICJ1dWlkIjogImF6dGFza2JhckBhenRhc2tiYXIuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"uuid": "netSpeedMonitor@nidyran.github.io", "name": "net speed monitor", "pname": "net-speed-monitor", "description": "This extension helps tracking and monitoring network speed. \nThere are five modes: \n1 - download speed only. \n2 - upload speed only. \n3 - download speed and upload speed together. \n4 - download speed and upload speed summed. \n5 - total data usage \nTo switch between modes, use left mouse click. \nTo switch between available sources, use right mouse click. \nTo change refresh time 200 - 1000 use middle mouse click. \nThe first source with usage higher than zero will be picked by default. \nThe extension will pick the first source by default, and if no traffic is established it will switch to the next one and so on\nThe source code is available in the link below, update requests are welcome.", "link": "https://extensions.gnome.org/extension/4947/net-speed-monitor/", "shell_version_map": {"38": {"version": "5", "sha256": "1zvp8zx82kqbf9ck55csgcysld3z1gr3cigkl5y73s5rvqj3ks5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHRyYWNraW5nIGFuZCBtb25pdG9yaW5nIG5ldHdvcmsgc3BlZWQuIFxuVGhlcmUgYXJlIGZpdmUgbW9kZXM6IFxuMSAtIGRvd25sb2FkIHNwZWVkIG9ubHkuIFxuMiAtIHVwbG9hZCBzcGVlZCBvbmx5LiBcbjMgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHRvZ2V0aGVyLiBcbjQgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHN1bW1lZC4gXG41IC0gdG90YWwgZGF0YSB1c2FnZSBcblRvIHN3aXRjaCBiZXR3ZWVuIG1vZGVzLCB1c2UgbGVmdCBtb3VzZSBjbGljay4gXG5UbyBzd2l0Y2ggYmV0d2VlbiBhdmFpbGFibGUgc291cmNlcywgdXNlIHJpZ2h0IG1vdXNlIGNsaWNrLiBcblRvIGNoYW5nZSByZWZyZXNoIHRpbWUgMjAwIC0gMTAwMCB1c2UgbWlkZGxlIG1vdXNlIGNsaWNrLiBcblRoZSBmaXJzdCBzb3VyY2Ugd2l0aCB1c2FnZSBoaWdoZXIgdGhhbiB6ZXJvIHdpbGwgYmUgcGlja2VkIGJ5IGRlZmF1bHQuIFxuVGhlIGV4dGVuc2lvbiB3aWxsIHBpY2sgdGhlIGZpcnN0IHNvdXJjZSBieSBkZWZhdWx0LCBhbmQgaWYgbm8gdHJhZmZpYyBpcyBlc3RhYmxpc2hlZCBpdCB3aWxsIHN3aXRjaCB0byB0aGUgbmV4dCBvbmUgYW5kIHNvIG9uXG5UaGUgc291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGluIHRoZSBsaW5rIGJlbG93LCB1cGRhdGUgcmVxdWVzdHMgYXJlIHdlbGNvbWUuIiwKICAibmFtZSI6ICJuZXQgc3BlZWQgbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmlkeXJhbi9uZXRTcGVlZE1vbml0b3IvIiwKICAidXVpZCI6ICJuZXRTcGVlZE1vbml0b3JAbmlkeXJhbi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "1zvp8zx82kqbf9ck55csgcysld3z1gr3cigkl5y73s5rvqj3ks5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHRyYWNraW5nIGFuZCBtb25pdG9yaW5nIG5ldHdvcmsgc3BlZWQuIFxuVGhlcmUgYXJlIGZpdmUgbW9kZXM6IFxuMSAtIGRvd25sb2FkIHNwZWVkIG9ubHkuIFxuMiAtIHVwbG9hZCBzcGVlZCBvbmx5LiBcbjMgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHRvZ2V0aGVyLiBcbjQgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHN1bW1lZC4gXG41IC0gdG90YWwgZGF0YSB1c2FnZSBcblRvIHN3aXRjaCBiZXR3ZWVuIG1vZGVzLCB1c2UgbGVmdCBtb3VzZSBjbGljay4gXG5UbyBzd2l0Y2ggYmV0d2VlbiBhdmFpbGFibGUgc291cmNlcywgdXNlIHJpZ2h0IG1vdXNlIGNsaWNrLiBcblRvIGNoYW5nZSByZWZyZXNoIHRpbWUgMjAwIC0gMTAwMCB1c2UgbWlkZGxlIG1vdXNlIGNsaWNrLiBcblRoZSBmaXJzdCBzb3VyY2Ugd2l0aCB1c2FnZSBoaWdoZXIgdGhhbiB6ZXJvIHdpbGwgYmUgcGlja2VkIGJ5IGRlZmF1bHQuIFxuVGhlIGV4dGVuc2lvbiB3aWxsIHBpY2sgdGhlIGZpcnN0IHNvdXJjZSBieSBkZWZhdWx0LCBhbmQgaWYgbm8gdHJhZmZpYyBpcyBlc3RhYmxpc2hlZCBpdCB3aWxsIHN3aXRjaCB0byB0aGUgbmV4dCBvbmUgYW5kIHNvIG9uXG5UaGUgc291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGluIHRoZSBsaW5rIGJlbG93LCB1cGRhdGUgcmVxdWVzdHMgYXJlIHdlbGNvbWUuIiwKICAibmFtZSI6ICJuZXQgc3BlZWQgbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmlkeXJhbi9uZXRTcGVlZE1vbml0b3IvIiwKICAidXVpZCI6ICJuZXRTcGVlZE1vbml0b3JAbmlkeXJhbi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "1zvp8zx82kqbf9ck55csgcysld3z1gr3cigkl5y73s5rvqj3ks5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHRyYWNraW5nIGFuZCBtb25pdG9yaW5nIG5ldHdvcmsgc3BlZWQuIFxuVGhlcmUgYXJlIGZpdmUgbW9kZXM6IFxuMSAtIGRvd25sb2FkIHNwZWVkIG9ubHkuIFxuMiAtIHVwbG9hZCBzcGVlZCBvbmx5LiBcbjMgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHRvZ2V0aGVyLiBcbjQgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHN1bW1lZC4gXG41IC0gdG90YWwgZGF0YSB1c2FnZSBcblRvIHN3aXRjaCBiZXR3ZWVuIG1vZGVzLCB1c2UgbGVmdCBtb3VzZSBjbGljay4gXG5UbyBzd2l0Y2ggYmV0d2VlbiBhdmFpbGFibGUgc291cmNlcywgdXNlIHJpZ2h0IG1vdXNlIGNsaWNrLiBcblRvIGNoYW5nZSByZWZyZXNoIHRpbWUgMjAwIC0gMTAwMCB1c2UgbWlkZGxlIG1vdXNlIGNsaWNrLiBcblRoZSBmaXJzdCBzb3VyY2Ugd2l0aCB1c2FnZSBoaWdoZXIgdGhhbiB6ZXJvIHdpbGwgYmUgcGlja2VkIGJ5IGRlZmF1bHQuIFxuVGhlIGV4dGVuc2lvbiB3aWxsIHBpY2sgdGhlIGZpcnN0IHNvdXJjZSBieSBkZWZhdWx0LCBhbmQgaWYgbm8gdHJhZmZpYyBpcyBlc3RhYmxpc2hlZCBpdCB3aWxsIHN3aXRjaCB0byB0aGUgbmV4dCBvbmUgYW5kIHNvIG9uXG5UaGUgc291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGluIHRoZSBsaW5rIGJlbG93LCB1cGRhdGUgcmVxdWVzdHMgYXJlIHdlbGNvbWUuIiwKICAibmFtZSI6ICJuZXQgc3BlZWQgbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmlkeXJhbi9uZXRTcGVlZE1vbml0b3IvIiwKICAidXVpZCI6ICJuZXRTcGVlZE1vbml0b3JAbmlkeXJhbi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "gradienttopbar@pshow.org", "name": "Gradient Top Bar for Gnome 40+", "pname": "gradient-top-bar", "description": "Makes GNOME's topbar's background gradient. This extension is based on https://extensions.gnome.org/extension/1264/gradient-top-bar/", "link": "https://extensions.gnome.org/extension/4955/gradient-top-bar/", "shell_version_map": {"38": {"version": "2", "sha256": "0fljxnp8a6gxw13iaj5p5gh6zd2xy0hk4xc3ia3zl0vgs5jfhbby", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gVGhpcyBleHRlbnNpb24gaXMgYmFzZWQgb24gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTI2NC9ncmFkaWVudC10b3AtYmFyLyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciBmb3IgR25vbWUgNDArIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "0fljxnp8a6gxw13iaj5p5gh6zd2xy0hk4xc3ia3zl0vgs5jfhbby", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gVGhpcyBleHRlbnNpb24gaXMgYmFzZWQgb24gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTI2NC9ncmFkaWVudC10b3AtYmFyLyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciBmb3IgR25vbWUgNDArIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "0fljxnp8a6gxw13iaj5p5gh6zd2xy0hk4xc3ia3zl0vgs5jfhbby", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gVGhpcyBleHRlbnNpb24gaXMgYmFzZWQgb24gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTI2NC9ncmFkaWVudC10b3AtYmFyLyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciBmb3IgR25vbWUgNDArIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "42": {"version": "2", "sha256": "0fljxnp8a6gxw13iaj5p5gh6zd2xy0hk4xc3ia3zl0vgs5jfhbby", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gVGhpcyBleHRlbnNpb24gaXMgYmFzZWQgb24gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTI2NC9ncmFkaWVudC10b3AtYmFyLyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciBmb3IgR25vbWUgNDArIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "clipman@popov895.ukr.net", "name": "Clipman", "pname": "clipman", "description": "Simple clipboard manager.", "link": "https://extensions.gnome.org/extension/4958/clipman/", "shell_version_map": {"40": {"version": "9", "sha256": "1cn6qww5zaf0h8m5gxb2cg8ir3drjj4ag7al7zrsw2qb68lqg1jq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjbGlwYm9hcmQgbWFuYWdlci4iLAogICJuYW1lIjogIkNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "1cn6qww5zaf0h8m5gxb2cg8ir3drjj4ag7al7zrsw2qb68lqg1jq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjbGlwYm9hcmQgbWFuYWdlci4iLAogICJuYW1lIjogIkNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogOQp9"}, "42": {"version": "9", "sha256": "1cn6qww5zaf0h8m5gxb2cg8ir3drjj4ag7al7zrsw2qb68lqg1jq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjbGlwYm9hcmQgbWFuYWdlci4iLAogICJuYW1lIjogIkNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogOQp9"}}}
@@ -722,8 +724,19 @@
 , {"uuid": "window-calls-extended@hseliger.eu", "name": "Window Calls Extended", "pname": "window-calls-extended", "description": "Add new dbus call for windows to get windows list and some of theirs properties, plus details on window under focus.", "link": "https://extensions.gnome.org/extension/4974/window-calls-extended/", "shell_version_map": {"41": {"version": "1", "sha256": "0ah8f8v3597jiwgfniy46jqlhir3xhzhxpcmzg0c1nsx63dqcxkr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBuZXcgZGJ1cyBjYWxsIGZvciB3aW5kb3dzIHRvIGdldCB3aW5kb3dzIGxpc3QgYW5kIHNvbWUgb2YgdGhlaXJzIHByb3BlcnRpZXMsIHBsdXMgZGV0YWlscyBvbiB3aW5kb3cgdW5kZXIgZm9jdXMuIiwKICAibmFtZSI6ICJXaW5kb3cgQ2FsbHMgRXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaHNlbGlnZXIvd2luZG93LWNhbGxzLWV4dGVuZGVkIiwKICAidXVpZCI6ICJ3aW5kb3ctY2FsbHMtZXh0ZW5kZWRAaHNlbGlnZXIuZXUiLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "Sur_Clock@medaip90.com", "name": "Sur Clock", "pname": "sur-clock", "description": "Move the clock to the left or the right of the system indicators like in MacOs.", "link": "https://extensions.gnome.org/extension/4977/sur-clock/", "shell_version_map": {"40": {"version": "2", "sha256": "01689ldy0ghjj75i5pncb4nhl8w4yzwj0pb8y5q8wkiirv7h0cxy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIGNsb2NrIHRvIHRoZSBsZWZ0IG9yIHRoZSByaWdodCBvZiB0aGUgc3lzdGVtIGluZGljYXRvcnMgbGlrZSBpbiBNYWNPcy4iLAogICJuYW1lIjogIlN1ciBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01lZGFpUDkwL2dub21lLXN1ci1jbG9jayIsCiAgInV1aWQiOiAiU3VyX0Nsb2NrQG1lZGFpcDkwLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "01689ldy0ghjj75i5pncb4nhl8w4yzwj0pb8y5q8wkiirv7h0cxy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIGNsb2NrIHRvIHRoZSBsZWZ0IG9yIHRoZSByaWdodCBvZiB0aGUgc3lzdGVtIGluZGljYXRvcnMgbGlrZSBpbiBNYWNPcy4iLAogICJuYW1lIjogIlN1ciBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01lZGFpUDkwL2dub21lLXN1ci1jbG9jayIsCiAgInV1aWQiOiAiU3VyX0Nsb2NrQG1lZGFpcDkwLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "01689ldy0ghjj75i5pncb4nhl8w4yzwj0pb8y5q8wkiirv7h0cxy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIGNsb2NrIHRvIHRoZSBsZWZ0IG9yIHRoZSByaWdodCBvZiB0aGUgc3lzdGVtIGluZGljYXRvcnMgbGlrZSBpbiBNYWNPcy4iLAogICJuYW1lIjogIlN1ciBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01lZGFpUDkwL2dub21lLXN1ci1jbG9jayIsCiAgInV1aWQiOiAiU3VyX0Nsb2NrQG1lZGFpcDkwLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "disable-workspace-switcher@jbradaric.me", "name": "Disable Workspace Switcher", "pname": "disable-workspace-switcher", "description": "Disable the workspace switcher popup.", "link": "https://extensions.gnome.org/extension/4980/disable-workspace-switcher/", "shell_version_map": {"42": {"version": "1", "sha256": "0wpkcaqnlwg5065ygmmqiai9vqwwwl3kd22zhg2s6kcxz3b42is6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cC4iLAogICJuYW1lIjogIkRpc2FibGUgV29ya3NwYWNlIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2picmFkYXJpYy9kaXNhYmxlLXdvcmtzcGFjZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiZGlzYWJsZS13b3Jrc3BhY2Utc3dpdGNoZXJAamJyYWRhcmljLm1lIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
-, {"uuid": "nextcloud-folder@cosinus.org", "name": "Nextcloud Folder", "pname": "nextcloud-folder", "description": "Simple extension to open nextcloud folder", "link": "https://extensions.gnome.org/extension/4983/nextcloud-folder/", "shell_version_map": {"42": {"version": "3", "sha256": "1r6r2243n0ssy2qkm7vw5vn8mmklmka0giwwsnrdsz2dqrhqb6bs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gb3BlbiBuZXh0Y2xvdWQgZm9sZGVyIiwKICAibmFtZSI6ICJOZXh0Y2xvdWQgRm9sZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5leHRjbG91ZC1mb2xkZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxlc2NkYi9uZXh0Y2xvdWQtZm9sZGVyIiwKICAidXVpZCI6ICJuZXh0Y2xvdWQtZm9sZGVyQGNvc2ludXMub3JnIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
+, {"uuid": "nextcloud-folder@cosinus.org", "name": "Nextcloud Folder", "pname": "nextcloud-folder", "description": "Simple and lightweight GNOME 42+ extension to open Nextcloud folder in one click.", "link": "https://extensions.gnome.org/extension/4983/nextcloud-folder/", "shell_version_map": {"42": {"version": "4", "sha256": "1cdkfd03y0bfh09m40zikl51mcli311sarjqicnnqw6bzj1zqskj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBhbmQgbGlnaHR3ZWlnaHQgR05PTUUgNDIrIGV4dGVuc2lvbiB0byBvcGVuIE5leHRjbG91ZCBmb2xkZXIgaW4gb25lIGNsaWNrLiIsCiAgIm5hbWUiOiAiTmV4dGNsb3VkIEZvbGRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uZXh0Y2xvdWQtZm9sZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZXNjZGIvbmV4dGNsb3VkLWZvbGRlciIsCiAgInV1aWQiOiAibmV4dGNsb3VkLWZvbGRlckBjb3NpbnVzLm9yZyIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "php-laravel-valet@rahulhaque", "name": "PHP Laravel Valet", "pname": "php-laravel-valet", "description": "A PHP Laravel Valet status indicator and manager.", "link": "https://extensions.gnome.org/extension/4985/php-laravel-valet/", "shell_version_map": {"40": {"version": "3", "sha256": "0dkil646p1gzdi49gfdcmqkkgax8s0h3za9mr53dvk9cl1hlx091", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "0dkil646p1gzdi49gfdcmqkkgax8s0h3za9mr53dvk9cl1hlx091", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "0dkil646p1gzdi49gfdcmqkkgax8s0h3za9mr53dvk9cl1hlx091", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "Home-Server@sven.kramer", "name": "Home-Server", "pname": "home-server", "description": "A simple Indicator that shows my home-server status (online / offline) on the main panel. Furthermore a wake on lan can be triggered. For WOL functionality, its necessary that you have 'wakeonlan' installed.", "link": "https://extensions.gnome.org/extension/4989/home-server/", "shell_version_map": {"38": {"version": "1", "sha256": "05cwv23w1438pg38ixhrvm360g3s11vrl8wqk84ai2xgydy94z2f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiIsCiAgIm1pbm9yIjogMSwKICAibmFtZSI6ICJIb21lLVNlcnZlciIsCiAgInJldmlzaW9uIjogMSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkhvbWUtU2VydmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5zdmVuLWtyYW1lci5ldS9saW51eC9nbm9tZS1zaGVsbC1leHRlbnNpb24vaG9tZS1zZXJ2ZXIvIiwKICAidXVpZCI6ICJIb21lLVNlcnZlckBzdmVuLmtyYW1lciIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "05cwv23w1438pg38ixhrvm360g3s11vrl8wqk84ai2xgydy94z2f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiIsCiAgIm1pbm9yIjogMSwKICAibmFtZSI6ICJIb21lLVNlcnZlciIsCiAgInJldmlzaW9uIjogMSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkhvbWUtU2VydmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5zdmVuLWtyYW1lci5ldS9saW51eC9nbm9tZS1zaGVsbC1leHRlbnNpb24vaG9tZS1zZXJ2ZXIvIiwKICAidXVpZCI6ICJIb21lLVNlcnZlckBzdmVuLmtyYW1lciIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "05cwv23w1438pg38ixhrvm360g3s11vrl8wqk84ai2xgydy94z2f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiIsCiAgIm1pbm9yIjogMSwKICAibmFtZSI6ICJIb21lLVNlcnZlciIsCiAgInJldmlzaW9uIjogMSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkhvbWUtU2VydmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5zdmVuLWtyYW1lci5ldS9saW51eC9nbm9tZS1zaGVsbC1leHRlbnNpb24vaG9tZS1zZXJ2ZXIvIiwKICAidXVpZCI6ICJIb21lLVNlcnZlckBzdmVuLmtyYW1lciIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "05cwv23w1438pg38ixhrvm360g3s11vrl8wqk84ai2xgydy94z2f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiIsCiAgIm1pbm9yIjogMSwKICAibmFtZSI6ICJIb21lLVNlcnZlciIsCiAgInJldmlzaW9uIjogMSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkhvbWUtU2VydmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5zdmVuLWtyYW1lci5ldS9saW51eC9nbm9tZS1zaGVsbC1leHRlbnNpb24vaG9tZS1zZXJ2ZXIvIiwKICAidXVpZCI6ICJIb21lLVNlcnZlckBzdmVuLmtyYW1lciIsCiAgInZlcnNpb24iOiAxCn0="}}}
-, {"uuid": "animate@eexpss.gmail.com", "name": "animate", "pname": "animate", "description": "animate, useless cartoon man run thr the screen.", "link": "https://extensions.gnome.org/extension/4995/animate/", "shell_version_map": {"42": {"version": "2", "sha256": "1r7i10br5sl7cx9jjq31gld35x9m20aaabnnfgv7i6ng1p91nn79", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFuaW1hdGUsIHVzZWxlc3MgY2FydG9vbiBtYW4gcnVuIHRociB0aGUgc2NyZWVuLiIsCiAgImdldHRleHQtZG9tYWluIjogImFuaW1hdGUiLAogICJuYW1lIjogImFuaW1hdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFuaW1hdGVAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "dash2dock-lite@icedman.github.com", "name": "Dash2Dock Lite", "pname": "dash2dock-lite", "description": "minimal implementation of dash to dock", "link": "https://extensions.gnome.org/extension/4994/dash2dock-lite/", "shell_version_map": {"40": {"version": "3", "sha256": "0qc1g5lpag5195sxcsjnihqsjgxfif062dsqa7chq3ssaaqq8wwb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vZGFzaDJkb2NrLWxpdGUiLAogICJ1dWlkIjogImRhc2gyZG9jay1saXRlQGljZWRtYW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0qc1g5lpag5195sxcsjnihqsjgxfif062dsqa7chq3ssaaqq8wwb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vZGFzaDJkb2NrLWxpdGUiLAogICJ1dWlkIjogImRhc2gyZG9jay1saXRlQGljZWRtYW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "0qc1g5lpag5195sxcsjnihqsjgxfif062dsqa7chq3ssaaqq8wwb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vZGFzaDJkb2NrLWxpdGUiLAogICJ1dWlkIjogImRhc2gyZG9jay1saXRlQGljZWRtYW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "animate@eexpss.gmail.com", "name": "animate", "pname": "animate", "description": "Animated small man run through the screen. Scroll mouse can change deferent character. You can use your PNG characters instead of the original ones.", "link": "https://extensions.gnome.org/extension/4995/animate/", "shell_version_map": {"40": {"version": "4", "sha256": "1p110wz7wdr51z2fsn6z72lcnln13h8lfbw9a00hs9qb0y71qf5q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGVkIHNtYWxsIG1hbiBydW4gdGhyb3VnaCB0aGUgc2NyZWVuLiBTY3JvbGwgbW91c2UgY2FuIGNoYW5nZSBkZWZlcmVudCBjaGFyYWN0ZXIuIFlvdSBjYW4gdXNlIHlvdXIgUE5HIGNoYXJhY3RlcnMgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgb25lcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhbmltYXRlIiwKICAibmFtZSI6ICJhbmltYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3MtYW5pbWF0ZSIsCiAgInV1aWQiOiAiYW5pbWF0ZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1p110wz7wdr51z2fsn6z72lcnln13h8lfbw9a00hs9qb0y71qf5q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGVkIHNtYWxsIG1hbiBydW4gdGhyb3VnaCB0aGUgc2NyZWVuLiBTY3JvbGwgbW91c2UgY2FuIGNoYW5nZSBkZWZlcmVudCBjaGFyYWN0ZXIuIFlvdSBjYW4gdXNlIHlvdXIgUE5HIGNoYXJhY3RlcnMgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgb25lcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhbmltYXRlIiwKICAibmFtZSI6ICJhbmltYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3MtYW5pbWF0ZSIsCiAgInV1aWQiOiAiYW5pbWF0ZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "1p110wz7wdr51z2fsn6z72lcnln13h8lfbw9a00hs9qb0y71qf5q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGVkIHNtYWxsIG1hbiBydW4gdGhyb3VnaCB0aGUgc2NyZWVuLiBTY3JvbGwgbW91c2UgY2FuIGNoYW5nZSBkZWZlcmVudCBjaGFyYWN0ZXIuIFlvdSBjYW4gdXNlIHlvdXIgUE5HIGNoYXJhY3RlcnMgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgb25lcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhbmltYXRlIiwKICAibmFtZSI6ICJhbmltYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3MtYW5pbWF0ZSIsCiAgInV1aWQiOiAiYW5pbWF0ZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "legacyschemeautoswitcher@joshimukul29.gmail.com", "name": "Legacy (GTK3) Theme Scheme Auto Switcher", "pname": "legacy-gtk3-theme-scheme-auto-switcher", "description": "Change the GTK3 theme to light/dark variant based on the system color scheme on Gnome 42", "link": "https://extensions.gnome.org/extension/4998/legacy-gtk3-theme-scheme-auto-switcher/", "shell_version_map": {"42": {"version": "2", "sha256": "0wfp9ixy40d63r0c09dfgjdb3yv434yvjlcpk2g5zwzbbyicrv7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgR1RLMyB0aGVtZSB0byBsaWdodC9kYXJrIHZhcmlhbnQgYmFzZWQgb24gdGhlIHN5c3RlbSBjb2xvciBzY2hlbWUgb24gR25vbWUgNDIiLAogICJuYW1lIjogIkxlZ2FjeSAoR1RLMykgVGhlbWUgU2NoZW1lIEF1dG8gU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXVrdWwyOS9sZWdhY3ktdGhlbWUtYXV0by1zd2l0Y2hlci1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImxlZ2FjeXNjaGVtZWF1dG9zd2l0Y2hlckBqb3NoaW11a3VsMjkuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "dash-to-dock-cosmic-@halfmexicanhalfamazing@gmail.com", "name": "Dash to Dock for COSMIC", "pname": "dash-to-dock-for-cosmic", "description": "A Dash to Dock fork for the COSMIC/GNOME Shell, fixes conflict with Cosmic Workspace.  It prevents Cosmic Workspaces from breaking after suspend.", "link": "https://extensions.gnome.org/extension/5004/dash-to-dock-for-cosmic/", "shell_version_map": {"40": {"version": "1", "sha256": "09chdybydr3q3f630w42wx81g0zb4kzp3mnwijj9dqsvjimag8n2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgRGFzaCB0byBEb2NrIGZvcmsgZm9yIHRoZSBDT1NNSUMvR05PTUUgU2hlbGwsIGZpeGVzIGNvbmZsaWN0IHdpdGggQ29zbWljIFdvcmtzcGFjZS4gIEl0IHByZXZlbnRzIENvc21pYyBXb3Jrc3BhY2VzIGZyb20gYnJlYWtpbmcgYWZ0ZXIgc3VzcGVuZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNodG9kb2NrIiwKICAibmFtZSI6ICJEYXNoIHRvIERvY2sgZm9yIENPU01JQyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJtaWN4Z3hAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFsZm1leGljYW4vZGFzaC10by1kb2NrLXBvcC90cmVlL3VidW50dS1kb2NrIiwKICAidXVpZCI6ICJkYXNoLXRvLWRvY2stY29zbWljLUBoYWxmbWV4aWNhbmhhbGZhbWF6aW5nQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "09chdybydr3q3f630w42wx81g0zb4kzp3mnwijj9dqsvjimag8n2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgRGFzaCB0byBEb2NrIGZvcmsgZm9yIHRoZSBDT1NNSUMvR05PTUUgU2hlbGwsIGZpeGVzIGNvbmZsaWN0IHdpdGggQ29zbWljIFdvcmtzcGFjZS4gIEl0IHByZXZlbnRzIENvc21pYyBXb3Jrc3BhY2VzIGZyb20gYnJlYWtpbmcgYWZ0ZXIgc3VzcGVuZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNodG9kb2NrIiwKICAibmFtZSI6ICJEYXNoIHRvIERvY2sgZm9yIENPU01JQyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJtaWN4Z3hAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFsZm1leGljYW4vZGFzaC10by1kb2NrLXBvcC90cmVlL3VidW50dS1kb2NrIiwKICAidXVpZCI6ICJkYXNoLXRvLWRvY2stY29zbWljLUBoYWxmbWV4aWNhbmhhbGZhbWF6aW5nQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "09chdybydr3q3f630w42wx81g0zb4kzp3mnwijj9dqsvjimag8n2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgRGFzaCB0byBEb2NrIGZvcmsgZm9yIHRoZSBDT1NNSUMvR05PTUUgU2hlbGwsIGZpeGVzIGNvbmZsaWN0IHdpdGggQ29zbWljIFdvcmtzcGFjZS4gIEl0IHByZXZlbnRzIENvc21pYyBXb3Jrc3BhY2VzIGZyb20gYnJlYWtpbmcgYWZ0ZXIgc3VzcGVuZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNodG9kb2NrIiwKICAibmFtZSI6ICJEYXNoIHRvIERvY2sgZm9yIENPU01JQyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJtaWN4Z3hAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFsZm1leGljYW4vZGFzaC10by1kb2NrLXBvcC90cmVlL3VidW50dS1kb2NrIiwKICAidXVpZCI6ICJkYXNoLXRvLWRvY2stY29zbWljLUBoYWxmbWV4aWNhbmhhbGZhbWF6aW5nQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
+, {"uuid": "rclone-manager@germanztz.com", "name": "rclone-manager", "pname": "rclone-manager", "description": "Is like Dropbox sync client but for more than 30 services, adds an indicator to the top panel so you can manage the rclone profiles configured in your system, perform operations such as mount as remote, watch for file modifications, sync with remote storage, navigate it's main folder. Also, it shows the status of each profile so you can supervise the operations, and provides an easy access log of events", "link": "https://extensions.gnome.org/extension/5006/rclone-manager/", "shell_version_map": {"40": {"version": "1", "sha256": "15g675207z2ifsaw32y3909hwvwij3m6nikk8c2vq1b824yspsm3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklzIGxpa2UgRHJvcGJveCBzeW5jIGNsaWVudCBidXQgZm9yIG1vcmUgdGhhbiAzMCBzZXJ2aWNlcywgYWRkcyBhbiBpbmRpY2F0b3IgdG8gdGhlIHRvcCBwYW5lbCBzbyB5b3UgY2FuIG1hbmFnZSB0aGUgcmNsb25lIHByb2ZpbGVzIGNvbmZpZ3VyZWQgaW4geW91ciBzeXN0ZW0sIHBlcmZvcm0gb3BlcmF0aW9ucyBzdWNoIGFzIG1vdW50IGFzIHJlbW90ZSwgd2F0Y2ggZm9yIGZpbGUgbW9kaWZpY2F0aW9ucywgc3luYyB3aXRoIHJlbW90ZSBzdG9yYWdlLCBuYXZpZ2F0ZSBpdCdzIG1haW4gZm9sZGVyLiBBbHNvLCBpdCBzaG93cyB0aGUgc3RhdHVzIG9mIGVhY2ggcHJvZmlsZSBzbyB5b3UgY2FuIHN1cGVydmlzZSB0aGUgb3BlcmF0aW9ucywgYW5kIHByb3ZpZGVzIGFuIGVhc3kgYWNjZXNzIGxvZyBvZiBldmVudHMiLAogICJuYW1lIjogInJjbG9uZS1tYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlcm1hbnp0ei9nbm9tZS1zaGVsbC1leHRlbnNpb24tcmNsb25lLW1hbmFnZXIiLAogICJ1dWlkIjogInJjbG9uZS1tYW5hZ2VyQGdlcm1hbnp0ei5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"uuid": "GPU_profile_selector@lorenzo9904.gmail.com", "name": "GPU profile selector", "pname": "gpu-profile-selector", "description": "A simple gnome shell extension for switching GPU profiles on Nvidia Optimus systems (i.e laptops with Intel + Nvidia or AMD + Nvidia configurations). In particular this extension is a graphic interface for envycontrol (https://github.com/geminis3/envycontrol) program.", "link": "https://extensions.gnome.org/extension/5009/gpu-profile-selector/", "shell_version_map": {"38": {"version": "4", "sha256": "1drd5vw63a936sh72f6bhdj6cxzfzd8h3hymn8wxk0pp5n26wxnr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3Igc3dpdGNoaW5nIEdQVSBwcm9maWxlcyBvbiBOdmlkaWEgT3B0aW11cyBzeXN0ZW1zIChpLmUgbGFwdG9wcyB3aXRoIEludGVsICsgTnZpZGlhIG9yIEFNRCArIE52aWRpYSBjb25maWd1cmF0aW9ucykuIEluIHBhcnRpY3VsYXIgdGhpcyBleHRlbnNpb24gaXMgYSBncmFwaGljIGludGVyZmFjZSBmb3IgZW52eWNvbnRyb2wgKGh0dHBzOi8vZ2l0aHViLmNvbS9nZW1pbmlzMy9lbnZ5Y29udHJvbCkgcHJvZ3JhbS4iLAogICJuYW1lIjogIkdQVSBwcm9maWxlIHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTG9yZW56b01vcmVsbGkvR1BVX3Byb2ZpbGVfc2VsZWN0b3IiLAogICJ1dWlkIjogIkdQVV9wcm9maWxlX3NlbGVjdG9yQGxvcmVuem85OTA0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "1drd5vw63a936sh72f6bhdj6cxzfzd8h3hymn8wxk0pp5n26wxnr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3Igc3dpdGNoaW5nIEdQVSBwcm9maWxlcyBvbiBOdmlkaWEgT3B0aW11cyBzeXN0ZW1zIChpLmUgbGFwdG9wcyB3aXRoIEludGVsICsgTnZpZGlhIG9yIEFNRCArIE52aWRpYSBjb25maWd1cmF0aW9ucykuIEluIHBhcnRpY3VsYXIgdGhpcyBleHRlbnNpb24gaXMgYSBncmFwaGljIGludGVyZmFjZSBmb3IgZW52eWNvbnRyb2wgKGh0dHBzOi8vZ2l0aHViLmNvbS9nZW1pbmlzMy9lbnZ5Y29udHJvbCkgcHJvZ3JhbS4iLAogICJuYW1lIjogIkdQVSBwcm9maWxlIHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTG9yZW56b01vcmVsbGkvR1BVX3Byb2ZpbGVfc2VsZWN0b3IiLAogICJ1dWlkIjogIkdQVV9wcm9maWxlX3NlbGVjdG9yQGxvcmVuem85OTA0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1drd5vw63a936sh72f6bhdj6cxzfzd8h3hymn8wxk0pp5n26wxnr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3Igc3dpdGNoaW5nIEdQVSBwcm9maWxlcyBvbiBOdmlkaWEgT3B0aW11cyBzeXN0ZW1zIChpLmUgbGFwdG9wcyB3aXRoIEludGVsICsgTnZpZGlhIG9yIEFNRCArIE52aWRpYSBjb25maWd1cmF0aW9ucykuIEluIHBhcnRpY3VsYXIgdGhpcyBleHRlbnNpb24gaXMgYSBncmFwaGljIGludGVyZmFjZSBmb3IgZW52eWNvbnRyb2wgKGh0dHBzOi8vZ2l0aHViLmNvbS9nZW1pbmlzMy9lbnZ5Y29udHJvbCkgcHJvZ3JhbS4iLAogICJuYW1lIjogIkdQVSBwcm9maWxlIHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTG9yZW56b01vcmVsbGkvR1BVX3Byb2ZpbGVfc2VsZWN0b3IiLAogICJ1dWlkIjogIkdQVV9wcm9maWxlX3NlbGVjdG9yQGxvcmVuem85OTA0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "1drd5vw63a936sh72f6bhdj6cxzfzd8h3hymn8wxk0pp5n26wxnr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3Igc3dpdGNoaW5nIEdQVSBwcm9maWxlcyBvbiBOdmlkaWEgT3B0aW11cyBzeXN0ZW1zIChpLmUgbGFwdG9wcyB3aXRoIEludGVsICsgTnZpZGlhIG9yIEFNRCArIE52aWRpYSBjb25maWd1cmF0aW9ucykuIEluIHBhcnRpY3VsYXIgdGhpcyBleHRlbnNpb24gaXMgYSBncmFwaGljIGludGVyZmFjZSBmb3IgZW52eWNvbnRyb2wgKGh0dHBzOi8vZ2l0aHViLmNvbS9nZW1pbmlzMy9lbnZ5Y29udHJvbCkgcHJvZ3JhbS4iLAogICJuYW1lIjogIkdQVSBwcm9maWxlIHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTG9yZW56b01vcmVsbGkvR1BVX3Byb2ZpbGVfc2VsZWN0b3IiLAogICJ1dWlkIjogIkdQVV9wcm9maWxlX3NlbGVjdG9yQGxvcmVuem85OTA0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"uuid": "username-to-activities@deserts", "name": "Replace Activities text with username", "pname": "replce-activities-text-with-username", "description": "Replace Activities text with username.\nThis is a fork of Replace Activities Text by pratap@fastmail.fm", "link": "https://extensions.gnome.org/extension/5010/replce-activities-text-with-username/", "shell_version_map": {"38": {"version": "3", "sha256": "1zmg8xlwfcf82cd2l226b4kqcybcs8nrx916i3sqbpwdnwpc0d68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUuXG5UaGlzIGlzIGEgZm9yayBvZiBSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCBieSBwcmF0YXBAZmFzdG1haWwuZm0iLAogICJuYW1lIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAicHJhdGFwQGZhc3RtYWlsLmZtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVzZXJ0c3RzdW5nL3VzZXJuYW1lLXRvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogInVzZXJuYW1lLXRvLWFjdGl2aXRpZXNAZGVzZXJ0cyIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1zmg8xlwfcf82cd2l226b4kqcybcs8nrx916i3sqbpwdnwpc0d68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUuXG5UaGlzIGlzIGEgZm9yayBvZiBSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCBieSBwcmF0YXBAZmFzdG1haWwuZm0iLAogICJuYW1lIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAicHJhdGFwQGZhc3RtYWlsLmZtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVzZXJ0c3RzdW5nL3VzZXJuYW1lLXRvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogInVzZXJuYW1lLXRvLWFjdGl2aXRpZXNAZGVzZXJ0cyIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "1zmg8xlwfcf82cd2l226b4kqcybcs8nrx916i3sqbpwdnwpc0d68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUuXG5UaGlzIGlzIGEgZm9yayBvZiBSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCBieSBwcmF0YXBAZmFzdG1haWwuZm0iLAogICJuYW1lIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAicHJhdGFwQGZhc3RtYWlsLmZtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVzZXJ0c3RzdW5nL3VzZXJuYW1lLXRvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogInVzZXJuYW1lLXRvLWFjdGl2aXRpZXNAZGVzZXJ0cyIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "1zmg8xlwfcf82cd2l226b4kqcybcs8nrx916i3sqbpwdnwpc0d68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUuXG5UaGlzIGlzIGEgZm9yayBvZiBSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCBieSBwcmF0YXBAZmFzdG1haWwuZm0iLAogICJuYW1lIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAicHJhdGFwQGZhc3RtYWlsLmZtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVzZXJ0c3RzdW5nL3VzZXJuYW1lLXRvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogInVzZXJuYW1lLXRvLWFjdGl2aXRpZXNAZGVzZXJ0cyIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "overview-dash-hide@rokenz05.github.com", "name": "Overview Dash Hide", "pname": "overview-dash-hide", "description": "Hide dash to dock in activities overview", "link": "https://extensions.gnome.org/extension/5013/overview-dash-hide/", "shell_version_map": {"42": {"version": "1", "sha256": "1i0s0gjyml0q8lz08pwh1nva2yrf5vydpcrz2ncz46qvpjhik7dm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgZGFzaCB0byBkb2NrIGluIGFjdGl2aXRpZXMgb3ZlcnZpZXciLAogICJuYW1lIjogIk92ZXJ2aWV3IERhc2ggSGlkZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAib3ZlcnZpZXctZGFzaC1oaWRlQHJva2VuejA1LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"uuid": "fullscreen-hot-corner@richardblaha.cz", "name": "Fullscreen Hot Corner", "pname": "fullscreen-hot-corner", "description": "Enables hot corner in fullscreen mode\n\nfork of https://extensions.gnome.org/extension/1562/fullscreen-hot-corner/ updated for Gnome 42", "link": "https://extensions.gnome.org/extension/5016/fullscreen-hot-corner/", "shell_version_map": {"40": {"version": "1", "sha256": "0i8j86qysylwcpk1jif9z0j01p3h98mj22wc5l2jcczlm48g5aj5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGVcblxuZm9yayBvZiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xNTYyL2Z1bGxzY3JlZW4taG90LWNvcm5lci8gdXBkYXRlZCBmb3IgR25vbWUgNDIiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JpY2hhcmRibGFoYS9nbm9tZS1zaGVsbC1mdWxsc2NyZWVuLWhvdC1jb3JuZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4taG90LWNvcm5lckByaWNoYXJkYmxhaGEuY3oiLAogICJ2ZXJzaW9uIjogMQp9"}, "41": {"version": "1", "sha256": "0i8j86qysylwcpk1jif9z0j01p3h98mj22wc5l2jcczlm48g5aj5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGVcblxuZm9yayBvZiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xNTYyL2Z1bGxzY3JlZW4taG90LWNvcm5lci8gdXBkYXRlZCBmb3IgR25vbWUgNDIiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JpY2hhcmRibGFoYS9nbm9tZS1zaGVsbC1mdWxsc2NyZWVuLWhvdC1jb3JuZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4taG90LWNvcm5lckByaWNoYXJkYmxhaGEuY3oiLAogICJ2ZXJzaW9uIjogMQp9"}, "42": {"version": "1", "sha256": "0i8j86qysylwcpk1jif9z0j01p3h98mj22wc5l2jcczlm48g5aj5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGVcblxuZm9yayBvZiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xNTYyL2Z1bGxzY3JlZW4taG90LWNvcm5lci8gdXBkYXRlZCBmb3IgR25vbWUgNDIiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JpY2hhcmRibGFoYS9nbm9tZS1zaGVsbC1mdWxsc2NyZWVuLWhvdC1jb3JuZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4taG90LWNvcm5lckByaWNoYXJkYmxhaGEuY3oiLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"uuid": "simple-message@freddez", "name": "Simple Message", "pname": "simple-message", "description": "Show simple message on top bar", "link": "https://extensions.gnome.org/extension/5018/simple-message/", "shell_version_map": {"40": {"version": "3", "sha256": "1h0r025bwy73m8yqm5cr5qzwhxcj4p859rpw6rk49if3jn2f3c3x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIG1lc3NhZ2Ugb24gdG9wIGJhciIsCiAgIm5hbWUiOiAiU2ltcGxlIE1lc3NhZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2ltcGxlLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mcmVkZGV6L2dub21lLXNoZWxsLXNpbXBsZS1tZXNzYWdlIiwKICAidXVpZCI6ICJzaW1wbGUtbWVzc2FnZUBmcmVkZGV6IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "1h0r025bwy73m8yqm5cr5qzwhxcj4p859rpw6rk49if3jn2f3c3x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIG1lc3NhZ2Ugb24gdG9wIGJhciIsCiAgIm5hbWUiOiAiU2ltcGxlIE1lc3NhZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2ltcGxlLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mcmVkZGV6L2dub21lLXNoZWxsLXNpbXBsZS1tZXNzYWdlIiwKICAidXVpZCI6ICJzaW1wbGUtbWVzc2FnZUBmcmVkZGV6IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "42": {"version": "3", "sha256": "1h0r025bwy73m8yqm5cr5qzwhxcj4p859rpw6rk49if3jn2f3c3x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIG1lc3NhZ2Ugb24gdG9wIGJhciIsCiAgIm5hbWUiOiAiU2ltcGxlIE1lc3NhZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2ltcGxlLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mcmVkZGV6L2dub21lLXNoZWxsLXNpbXBsZS1tZXNzYWdlIiwKICAidXVpZCI6ICJzaW1wbGUtbWVzc2FnZUBmcmVkZGV6IiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
+, {"uuid": "activate-window-by-title@lucaswerkmeister.de", "name": "Activate Window By Title", "pname": "activate-window-by-title", "description": "Expose a D-Bus interface to activate a window by its title or WM_CLASS", "link": "https://extensions.gnome.org/extension/5021/activate-window-by-title/", "shell_version_map": {"42": {"version": "2", "sha256": "0w1msr6lk87vv3rkldn2mkz15l4lk5wnilf4vhx2cak95b2ycvbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cG9zZSBhIEQtQnVzIGludGVyZmFjZSB0byBhY3RpdmF0ZSBhIHdpbmRvdyBieSBpdHMgdGl0bGUgb3IgV01fQ0xBU1MiLAogICJuYW1lIjogIkFjdGl2YXRlIFdpbmRvdyBCeSBUaXRsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sdWNhc3dlcmttZWlzdGVyL2FjdGl2YXRlLXdpbmRvdy1ieS10aXRsZSIsCiAgInV1aWQiOiAiYWN0aXZhdGUtd2luZG93LWJ5LXRpdGxlQGx1Y2Fzd2Vya21laXN0ZXIuZGUiLAogICJ2ZXJzaW9uIjogMgp9"}}}
+, {"uuid": "nano-system-monitor@eeeeeio", "name": "Nano System Monitor", "pname": "nano-system-monitor", "description": "Show current status on GNOME Shell panel\n\nbar shows CPU|memory|swap usages,then the download|upload speed and CPU temperature\n\nDifferent colors represent different percentage states and CPU temperature\n\nplease use monospaced font for best experience", "link": "https://extensions.gnome.org/extension/5037/nano-system-monitor/", "shell_version_map": {"38": {"version": "1", "sha256": "0idj4vy2qygcxrrby028hd412i6s5gqdjv5cm7rmrpk2rhhjd2il", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxuRGlmZmVyZW50IGNvbG9ycyByZXByZXNlbnQgZGlmZmVyZW50IHBlcmNlbnRhZ2Ugc3RhdGVzIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxucGxlYXNlIHVzZSBtb25vc3BhY2VkIGZvbnQgZm9yIGJlc3QgZXhwZXJpZW5jZSIsCiAgIm5hbWUiOiAiTmFubyBTeXN0ZW0gTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VlZWVlaW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hbm8tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIm5hbm8tc3lzdGVtLW1vbml0b3JAZWVlZWVpbyIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "0idj4vy2qygcxrrby028hd412i6s5gqdjv5cm7rmrpk2rhhjd2il", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxuRGlmZmVyZW50IGNvbG9ycyByZXByZXNlbnQgZGlmZmVyZW50IHBlcmNlbnRhZ2Ugc3RhdGVzIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxucGxlYXNlIHVzZSBtb25vc3BhY2VkIGZvbnQgZm9yIGJlc3QgZXhwZXJpZW5jZSIsCiAgIm5hbWUiOiAiTmFubyBTeXN0ZW0gTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VlZWVlaW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hbm8tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIm5hbm8tc3lzdGVtLW1vbml0b3JAZWVlZWVpbyIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "0idj4vy2qygcxrrby028hd412i6s5gqdjv5cm7rmrpk2rhhjd2il", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxuRGlmZmVyZW50IGNvbG9ycyByZXByZXNlbnQgZGlmZmVyZW50IHBlcmNlbnRhZ2Ugc3RhdGVzIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxucGxlYXNlIHVzZSBtb25vc3BhY2VkIGZvbnQgZm9yIGJlc3QgZXhwZXJpZW5jZSIsCiAgIm5hbWUiOiAiTmFubyBTeXN0ZW0gTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VlZWVlaW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hbm8tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIm5hbm8tc3lzdGVtLW1vbml0b3JAZWVlZWVpbyIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "0idj4vy2qygcxrrby028hd412i6s5gqdjv5cm7rmrpk2rhhjd2il", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxuRGlmZmVyZW50IGNvbG9ycyByZXByZXNlbnQgZGlmZmVyZW50IHBlcmNlbnRhZ2Ugc3RhdGVzIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxucGxlYXNlIHVzZSBtb25vc3BhY2VkIGZvbnQgZm9yIGJlc3QgZXhwZXJpZW5jZSIsCiAgIm5hbWUiOiAiTmFubyBTeXN0ZW0gTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VlZWVlaW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hbm8tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIm5hbm8tc3lzdGVtLW1vbml0b3JAZWVlZWVpbyIsCiAgInZlcnNpb24iOiAxCn0="}}}
 ]
diff --git a/pkgs/desktops/gnome/extensions/update-extensions.py b/pkgs/desktops/gnome/extensions/update-extensions.py
index 581781fb11a..8feee4437f4 100755
--- a/pkgs/desktops/gnome/extensions/update-extensions.py
+++ b/pkgs/desktops/gnome/extensions/update-extensions.py
@@ -1,16 +1,15 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -I nixpkgs=../../../.. -i python3 -p python3
 
+import base64
 import json
-import urllib.request
-import urllib.error
-from typing import List, Dict, Optional, Any, Tuple
 import logging
-from operator import itemgetter
 import subprocess
-import zipfile
-import io
-import base64
+import urllib.error
+import urllib.request
+from operator import itemgetter
+from pathlib import Path
+from typing import List, Dict, Optional, Any, Tuple
 
 # We don't want all those deprecated legacy extensions
 # Group extensions by GNOME "major" version for compatibility reasons
@@ -21,14 +20,12 @@ supported_versions = {
     "42": "42",
 }
 
-
-# Some type alias to increase readility of complex compound types
+# Some type alias to increase readability of complex compound types
 PackageName = str
 ShellVersion = str
 Uuid = str
 ExtensionVersion = int
 
-
 # Keep track of all names that have been used till now to detect collisions.
 # This works because we deterministically process all extensions in historical order
 # The outer dict level is the shell version, as we are tracking duplicates only per same Shell version.
@@ -37,6 +34,8 @@ package_name_registry: Dict[ShellVersion, Dict[PackageName, List[Uuid]]] = {}
 for shell_version in supported_versions.keys():
     package_name_registry[shell_version] = {}
 
+updater_dir_path = Path(__file__).resolve().parent
+
 
 def fetch_extension_data(uuid: str, version: str) -> Tuple[str, str]:
     """
@@ -48,28 +47,32 @@ def fetch_extension_data(uuid: str, version: str) -> Tuple[str, str]:
     uuid = uuid.replace("@", "")
     url: str = f"https://extensions.gnome.org/extension-data/{uuid}.v{version}.shell-extension.zip"
 
-    # Yes, we download that file three times:
+    # TODO remove when Vitals@CoreCoding.com version != 53, this extension has a missing manifest.json
+    if url == 'https://extensions.gnome.org/extension-data/VitalsCoreCoding.com.v53.shell-extension.zip':
+        url = 'https://extensions.gnome.org/extension-data/VitalsCoreCoding.com.v53.shell-extension_v1BI2FB.zip'
+
+    # Download extension and add the zip content to nix-store
+    process = subprocess.run(
+        ["nix-prefetch-url", "--unpack", "--print-path", url], capture_output=True, text=True
+    )
+
+    lines = process.stdout.splitlines()
 
-    # The first time is for the maintainter, so they may have a personal backup to fix potential issues
-    # subprocess.run(
-    #     ["wget", url], capture_output=True, text=True
-    # )
+    # Get hash from first line of nix-prefetch-url output
+    hash = lines[0].strip()
 
-    # The second time, we extract the metadata.json because we need it too
-    with urllib.request.urlopen(url) as response:
-        data = zipfile.ZipFile(io.BytesIO(response.read()), 'r')
-        metadata = base64.b64encode(data.read('metadata.json')).decode()
+    # Get path from second line of nix-prefetch-url output
+    path = Path(lines[1].strip())
 
-    # The third time is to get the file into the store and to get its hash
-    hash = subprocess.run(
-        ["nix-prefetch-url", "--unpack", url], capture_output=True, text=True
-    ).stdout.strip()
+    # Get metadata.json content from nix-store
+    with open(path / "metadata.json", "r") as out:
+        metadata = base64.b64encode(out.read().encode("ascii")).decode()
 
     return hash, metadata
 
 
 def generate_extension_versions(
-    extension_version_map: Dict[ShellVersion, ExtensionVersion], uuid: str
+        extension_version_map: Dict[ShellVersion, ExtensionVersion], uuid: str
 ) -> Dict[ShellVersion, Dict[str, str]]:
     """
     Takes in a mapping from shell versions to extension versions and transforms it the way we need it:
@@ -114,7 +117,7 @@ def generate_extension_versions(
             "version": str(extension_version),
             "sha256": sha256,
             # The downloads are impure, their metadata.json may change at any time.
-            # Thus, be back it up / pin it to remain deterministic
+            # Thus, we back it up / pin it to remain deterministic
             # Upstream issue: https://gitlab.gnome.org/Infrastructure/extensions-web/-/issues/137
             "metadata": metadata,
         }
@@ -127,7 +130,7 @@ def pname_from_url(url: str) -> Tuple[str, str]:
     """
 
     url = url.split("/")  # type: ignore
-    return (url[3], url[2])
+    return url[3], url[2]
 
 
 def process_extension(extension: Dict[str, Any]) -> Optional[Dict[str, Any]]:
@@ -151,7 +154,7 @@ def process_extension(extension: Dict[str, Any]) -> Optional[Dict[str, Any]]:
                    Don't make any assumptions on it, and treat it like an opaque string!
             "link" follows the following schema: "/extension/$number/$string/"
                    The number is monotonically increasing and unique to every extension.
-                   The string is usually derived from the extensions's name (but shortened, kebab-cased and URL friendly).
+                   The string is usually derived from the extension name (but shortened, kebab-cased and URL friendly).
                    It may diverge from the actual name.
             The keys of "shell_version_map" are GNOME Shell version numbers.
 
@@ -196,7 +199,7 @@ def process_extension(extension: Dict[str, Any]) -> Optional[Dict[str, Any]]:
 
     for shell_version in shell_version_map.keys():
         if pname in package_name_registry[shell_version]:
-            logging.warning(f"Package name '{pname}' is colliding.")
+            logging.warning(f"Package name '{pname}' for GNOME '{shell_version}' is colliding.")
             package_name_registry[shell_version][pname].append(uuid)
         else:
             package_name_registry[shell_version][pname] = [uuid]
@@ -225,18 +228,18 @@ def scrape_extensions_index() -> List[Dict[str, Any]]:
         logging.info("Scraping page " + str(page))
         try:
             with urllib.request.urlopen(
-                f"https://extensions.gnome.org/extension-query/?n_per_page=25&page={page}"
+                    f"https://extensions.gnome.org/extension-query/?n_per_page=25&page={page}"
             ) as response:
                 data = json.loads(response.read().decode())["extensions"]
-                responseLength = len(data)
+                response_length = len(data)
 
                 for extension in data:
                     extensions.append(extension)
 
                 # If our page isn't "full", it must have been the last one
-                if responseLength < 25:
+                if response_length < 25:
                     logging.debug(
-                        f"\tThis page only has {responseLength} entries, so it must be the last one."
+                        f"\tThis page only has {response_length} entries, so it must be the last one."
                     )
                     break
         except urllib.error.HTTPError as e:
@@ -265,11 +268,7 @@ if __name__ == "__main__":
             processed_extensions.append(processed_extension)
             logging.debug(f"Processed {num + 1} / {len(raw_extensions)}")
 
-    logging.info(
-        f"Done. Writing results to extensions.json ({len(processed_extensions)} extensions in total)"
-    )
-
-    with open("extensions.json", "w") as out:
+    with open(updater_dir_path / "extensions.json", "w") as out:
         # Manually pretty-print the outer level, but then do one compact line per extension
         # This allows for the diffs to be manageable (one line of change per extension) despite their quantity
         for index, extension in enumerate(processed_extensions):
@@ -281,14 +280,15 @@ if __name__ == "__main__":
             out.write("\n")
         out.write("]\n")
 
-    with open("extensions.json", "r") as out:
+    logging.info(
+        f"Done. Writing results to extensions.json ({len(processed_extensions)} extensions in total)"
+    )
+
+    with open(updater_dir_path / "extensions.json", "r") as out:
         # Check that the generated file actually is valid JSON, just to be sure
         json.load(out)
 
-    logging.info(
-        "Done. Writing name collisions to collisions.json (please check manually)"
-    )
-    with open("collisions.json", "w") as out:
+    with open(updater_dir_path / "collisions.json", "w") as out:
         # Filter out those that are not duplicates
         package_name_registry_filtered: Dict[ShellVersion, Dict[PackageName, List[Uuid]]] = {
             # The outer level keys are shell versions
@@ -299,3 +299,7 @@ if __name__ == "__main__":
         }
         json.dump(package_name_registry_filtered, out, indent=2, ensure_ascii=False)
         out.write("\n")
+
+    logging.info(
+        "Done. Writing name collisions to collisions.json (please check manually)"
+    )
diff --git a/pkgs/desktops/gnome/games/tali/default.nix b/pkgs/desktops/gnome/games/tali/default.nix
index c12853e5dae..40107fe4a26 100644
--- a/pkgs/desktops/gnome/games/tali/default.nix
+++ b/pkgs/desktops/gnome/games/tali/default.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tali";
-  version = "40.6";
+  version = "40.7";
 
   src = fetchurl {
     url = "mirror://gnome/sources/tali/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "g/ugR+3s0ZbTBxmnDi9NCYa7Jswr1flVoKkgDqY/BhI=";
+    sha256 = "cXqJfV0H4X4K89ZpI/USNhPEEPZSOdqX0JKeScf7C2c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/lumina/lumina-calculator/default.nix b/pkgs/desktops/lumina/lumina-calculator/default.nix
index d0f09bbfae2..1c9a87b64aa 100644
--- a/pkgs/desktops/lumina/lumina-calculator/default.nix
+++ b/pkgs/desktops/lumina/lumina-calculator/default.nix
@@ -27,6 +27,6 @@ mkDerivation rec {
     homepage = "https://github.com/lumina-desktop/lumina-calculator";
     license = licenses.bsd3;
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.lumina.members;
   };
 }
diff --git a/pkgs/desktops/lumina/lumina-pdf/default.nix b/pkgs/desktops/lumina/lumina-pdf/default.nix
index 679dfa65b5a..c102e20e799 100644
--- a/pkgs/desktops/lumina/lumina-pdf/default.nix
+++ b/pkgs/desktops/lumina/lumina-pdf/default.nix
@@ -33,6 +33,6 @@ mkDerivation rec {
     homepage = "https://github.com/lumina-desktop/lumina-pdf";
     license = licenses.bsd3;
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.lumina.members;
   };
 }
diff --git a/pkgs/desktops/lumina/lumina/default.nix b/pkgs/desktops/lumina/lumina/default.nix
index 54a39ded409..a7c533b42ce 100644
--- a/pkgs/desktops/lumina/lumina/default.nix
+++ b/pkgs/desktops/lumina/lumina/default.nix
@@ -108,6 +108,6 @@ mkDerivation rec {
     homepage = "https://lumina-desktop.org";
     license = licenses.bsd3;
     platforms = platforms.unix;
-    maintainers = [ maintainers.romildo ];
+    maintainers = teams.lumina.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/compton-conf/default.nix b/pkgs/desktops/lxqt/compton-conf/default.nix
index 111f7f175da..807dcc92e84 100644
--- a/pkgs/desktops/lxqt/compton-conf/default.nix
+++ b/pkgs/desktops/lxqt/compton-conf/default.nix
@@ -44,6 +44,6 @@ mkDerivation rec {
     description = "GUI configuration tool for compton X composite manager";
     license = licenses.lgpl21Plus;
     platforms = with platforms; unix;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/default.nix b/pkgs/desktops/lxqt/default.nix
index 5404c0c7753..193db77c366 100644
--- a/pkgs/desktops/lxqt/default.nix
+++ b/pkgs/desktops/lxqt/default.nix
@@ -49,6 +49,7 @@ let
     screengrab = callPackage ./screengrab {};
     qlipper = callPackage ./qlipper {};
     lxqt-archiver = callPackage ./lxqt-archiver {};
+    xdg-desktop-portal-lxqt = callPackage ./xdg-desktop-portal-lxqt {};
 
     preRequisitePackages = [
       libsForQt5.kwindowsystem # provides some QT5 plugins needed by lxqt-panel
@@ -92,7 +93,6 @@ let
     optionalPackages = [
       ### LXQt project
       qterminal
-      compton-conf
       obconf-qt
       lximage-qt
       lxqt-archiver
@@ -101,11 +101,8 @@ let
       qps
       screengrab
 
-      ### Qlipper
-      qlipper
-
       ### Default icon theme
-      libsForQt5.oxygen-icons5
+      libsForQt5.breeze-icons
 
       ### Screen saver
       pkgs.xscreensaver
diff --git a/pkgs/desktops/lxqt/libfm-qt/default.nix b/pkgs/desktops/lxqt/libfm-qt/default.nix
index fd7c7758f2b..3ce80110b01 100644
--- a/pkgs/desktops/lxqt/libfm-qt/default.nix
+++ b/pkgs/desktops/lxqt/libfm-qt/default.nix
@@ -16,13 +16,13 @@
 
 mkDerivation rec {
   pname = "libfm-qt";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = "libfm-qt";
     rev = version;
-    sha256 = "1kk2cv9cp2gdj2pzdgm72c009iyl3mhrvsiz05kdxd4v1kn38ci1";
+    sha256 = "kF3u1Eh45l/HvL5R0PazIfGIdOVYyB2VAI33NwRfLJk=";
   };
 
   nativeBuildInputs = [
@@ -50,6 +50,6 @@ mkDerivation rec {
     description = "Core library of PCManFM-Qt (Qt binding for libfm)";
     license = licenses.lgpl21Plus;
     platforms = with platforms; unix;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/liblxqt/default.nix b/pkgs/desktops/lxqt/liblxqt/default.nix
index 8e17437b472..5a15e94ef7a 100644
--- a/pkgs/desktops/lxqt/liblxqt/default.nix
+++ b/pkgs/desktops/lxqt/liblxqt/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "liblxqt";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "08cqvq99pvz8lz13273hlpv8160r6zyz4f7h4kl1g8xdga7m45gr";
+    sha256 = "vfqEB9Vh/BL47dlEvnyWwDBO0pRIUS1IuixW8A0PRds=";
   };
 
   nativeBuildInputs = [
@@ -57,6 +57,6 @@ mkDerivation rec {
     homepage = "https://github.com/lxqt/liblxqt";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/libqtxdg/default.nix b/pkgs/desktops/lxqt/libqtxdg/default.nix
index b6294e20dce..521fdacf583 100644
--- a/pkgs/desktops/lxqt/libqtxdg/default.nix
+++ b/pkgs/desktops/lxqt/libqtxdg/default.nix
@@ -10,13 +10,13 @@
 
 mkDerivation rec {
   pname = "libqtxdg";
-  version = "3.8.0";
+  version = "3.9.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "14jrzwdmhgn6bcggmhxx5rdapjzm93cfkjjls3nii1glnkwzncxz";
+    sha256 = "llE4OxI4I/n0P8Pv5tKT3tXM7IfD3VMQSxdaLkBJ4Gk=";
   };
 
   nativeBuildInputs = [
@@ -44,6 +44,6 @@ mkDerivation rec {
     description = "Qt implementation of freedesktop.org xdg specs";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/libsysstat/default.nix b/pkgs/desktops/lxqt/libsysstat/default.nix
index bd5b6679259..35c7acd301a 100644
--- a/pkgs/desktops/lxqt/libsysstat/default.nix
+++ b/pkgs/desktops/lxqt/libsysstat/default.nix
@@ -34,6 +34,6 @@ mkDerivation rec {
     homepage = "https://github.com/lxqt/libsysstat";
     license = licenses.lgpl21Plus;
     platforms = with platforms; unix;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lximage-qt/default.nix b/pkgs/desktops/lxqt/lximage-qt/default.nix
index 510339b46f5..22f253ad973 100644
--- a/pkgs/desktops/lxqt/lximage-qt/default.nix
+++ b/pkgs/desktops/lxqt/lximage-qt/default.nix
@@ -16,13 +16,13 @@
 
 mkDerivation rec {
   pname = "lximage-qt";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1bf0smkawyibrabw7zcynwr2afpsv7pnnyxn4nqgh6mxnp7al157";
+    sha256 = "QvQ0LBGP9XD7vwuUD+A1x8oGDvqTeCkYyd2XyjU0fUo=";
   };
 
   nativeBuildInputs = [
@@ -49,6 +49,6 @@ mkDerivation rec {
     description = "The image viewer and screenshot tool for lxqt";
     license = licenses.gpl2Plus;
     platforms = with platforms; unix;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-about/default.nix b/pkgs/desktops/lxqt/lxqt-about/default.nix
index abab373430b..d38b37281f0 100644
--- a/pkgs/desktops/lxqt/lxqt-about/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-about/default.nix
@@ -14,13 +14,13 @@
 
 mkDerivation rec {
   pname = "lxqt-about";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1fr2mx19ks4crh7cjc080vkrzldzgmghxvrzjqq7lspkzd5a0pjb";
+    sha256 = "GTnjmMVbkO5CeNLxNisD6XncqX32otaATZSka4YVNHo=";
   };
 
   nativeBuildInputs = [
@@ -44,6 +44,6 @@ mkDerivation rec {
     description = "Dialogue window providing information about LXQt and the system it's running on";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-admin/default.nix b/pkgs/desktops/lxqt/lxqt-admin/default.nix
index 120014b25f6..7917ce1f4fb 100644
--- a/pkgs/desktops/lxqt/lxqt-admin/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-admin/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "lxqt-admin";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "06l7vs8aqx37bhrxf9xa16g7rdmia8j73q78qfj6syw57f3ssjr9";
+    sha256 = "A5dpw/vG92tC4W1q1wpDyMdRn1ScEH7m287MCEGOp9w=";
   };
 
   nativeBuildInputs = [
@@ -54,6 +54,6 @@ mkDerivation rec {
     description = "LXQt system administration tool";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-archiver/default.nix b/pkgs/desktops/lxqt/lxqt-archiver/default.nix
index a6560198f6b..fc33e5a683e 100644
--- a/pkgs/desktops/lxqt/lxqt-archiver/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-archiver/default.nix
@@ -14,13 +14,13 @@
 
 mkDerivation rec {
   pname = "lxqt-archiver";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = "lxqt-archiver";
     rev = version;
-    sha256 = "033lq7n34a5qk2zv8kr1633p5x2cjimv4w4n86w33xmcwya4yiji";
+    sha256 = "ay0nWCe/uMsJFFtBAQnsuxR6I/8q3xv6zK/qYr3BQyw=";
   };
 
   nativeBuildInputs = [
@@ -46,6 +46,6 @@ mkDerivation rec {
     description = "Archive tool for the LXQt desktop environment";
     license = licenses.gpl2Plus;
     platforms = with platforms; unix;
-    maintainers = with maintainers; [ jchw ];
+    maintainers = with maintainers; [ jchw ] ++ teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
index 5d5134d38d2..f72394a0982 100644
--- a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
@@ -13,13 +13,13 @@
 
 mkDerivation rec {
   pname = "lxqt-build-tools";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1hb04zgpalxv6da3myf1dxsbjix15dczzfq8a24g5dg2zfhwpx21";
+    sha256 = "vzppKTDwADBG5pOaluT858cWCKFFRaSbHz2Qhe6799E=";
   };
 
   postPatch = ''
@@ -66,6 +66,6 @@ mkDerivation rec {
     description = "Various packaging tools and scripts for LXQt applications";
     license = licenses.lgpl21Plus;
     platforms = with platforms; unix;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-config/default.nix b/pkgs/desktops/lxqt/lxqt-config/default.nix
index 85fd5aa7034..4981723c354 100644
--- a/pkgs/desktops/lxqt/lxqt-config/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-config/default.nix
@@ -20,13 +20,13 @@
 
 mkDerivation rec {
   pname = "lxqt-config";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0yllqjmj4xbqi5681ffjxmlwlf9k9bpy3hgs7li6lnn90yy46qmr";
+    sha256 = "ncoJLpKzE1tqOV+KuUiGLDWiDvzJg0le4m4BMKFw6Mg=";
   };
 
   nativeBuildInputs = [
@@ -71,7 +71,7 @@ mkDerivation rec {
     description = "Tools to configure LXQt and the underlying operating system";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 
 }
diff --git a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
index 2f3afec364f..8e589f2b0c6 100644
--- a/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "lxqt-globalkeys";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "ccvDcEstSUVvJ7gf0bsCxCPPMRXSkZh+tKOKWNnzMt4=";
+    sha256 = "6io6gH+n7dodTDQjvCqxjvaafQ4E9H7kx+s2QiAm3mY=";
   };
 
   nativeBuildInputs = [
@@ -46,6 +46,6 @@ mkDerivation rec {
     description = "LXQt service for global keyboard shortcuts registration";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
index baa9784e4ef..76f2a4a7018 100644
--- a/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "lxqt-notificationd";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "06gb8k1p24gm5axy42npq7n4lmsxb03a9kvzqby44qmgwh8pn069";
+    sha256 = "YXwWqab6OW1KE7Zct92xdK/f/QaDVqEMVM+Cb9kNe7E=";
   };
 
   nativeBuildInputs = [
@@ -46,6 +46,6 @@ mkDerivation rec {
     description = "The LXQt notification daemon";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
index 7f5f1e74f35..605f87baad6 100644
--- a/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "lxqt-openssh-askpass";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0fp5jq3j34p81y200jbyp7wcz04r7jk07bfwrigjwcyj2xknkrgw";
+    sha256 = "s1ywmlcHsbeaRi5zrhFMPS0SJ1s8IYnDXWkFvB1kaI4=";
   };
 
   nativeBuildInputs = [
@@ -46,6 +46,6 @@ mkDerivation rec {
     description = "GUI to query passwords on behalf of SSH agents";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-panel/default.nix b/pkgs/desktops/lxqt/lxqt-panel/default.nix
index b9b9936893f..9451e578402 100644
--- a/pkgs/desktops/lxqt/lxqt-panel/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-panel/default.nix
@@ -30,13 +30,13 @@
 
 mkDerivation rec {
   pname = "lxqt-panel";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0i63jyjg31336davjdak7z3as34gazx1lri65fk2f07kka9dx1jl";
+    sha256 = "w5/uS8kRb5yFUXd1NImWMXxx40YtzxMZMS87e9syb6A=";
   };
 
   nativeBuildInputs = [
@@ -67,6 +67,7 @@ mkDerivation rec {
     qtx11extras
     solid
     xorg.libXdmcp
+    xorg.libXtst
     xorg.libpthreadstubs
   ];
 
@@ -77,6 +78,6 @@ mkDerivation rec {
     description = "The LXQt desktop panel";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-policykit/default.nix b/pkgs/desktops/lxqt/lxqt-policykit/default.nix
index 51e46b00ce8..58fdc88576d 100644
--- a/pkgs/desktops/lxqt/lxqt-policykit/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-policykit/default.nix
@@ -19,13 +19,13 @@
 
 mkDerivation rec {
   pname = "lxqt-policykit";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0hmxzkkggnpci305xax9663cbjqdh6n0j0dawwcpwj4ks8mp7xh7";
+    sha256 = "Fs3N9r8RkawbXnX8jv8Fx63ijwAfy+OfrCpjeHDjKio=";
   };
 
   nativeBuildInputs = [
@@ -54,6 +54,6 @@ mkDerivation rec {
     description = "The LXQt PolicyKit agent";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
index 90f03f6b3a1..3d09030ebf4 100644
--- a/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
@@ -18,13 +18,13 @@
 
 mkDerivation rec {
   pname = "lxqt-powermanagement";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0dwz8z3463dz49d5k5bh7splb1zdi617xc4xzlqxxrxbf3n8x4ix";
+    sha256 = "+FpJD5PEH2/HOSWDQEwMX2sV2JJH0kjcoohBolhSP1A=";
   };
 
   nativeBuildInputs = [
@@ -52,6 +52,6 @@ mkDerivation rec {
     description = "Power management module for LXQt";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
index 05119e9da40..c123d6cd1e6 100644
--- a/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "lxqt-qtplugin";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1vr2hlv1q9xwkh9bapy29g9fi90d33xw7pr9zc1bfma6j152qs36";
+    sha256 = "mTA+3sXFWFYUEQhZOnAy6D/tYVAU+9AXbuLmLi7axlc=";
   };
 
   nativeBuildInputs = [
@@ -51,6 +51,6 @@ mkDerivation rec {
     description = "LXQt Qt platform integration plugin";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-runner/default.nix b/pkgs/desktops/lxqt/lxqt-runner/default.nix
index b1d8ad35272..ee1da2e8dc9 100644
--- a/pkgs/desktops/lxqt/lxqt-runner/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-runner/default.nix
@@ -20,13 +20,13 @@
 
 mkDerivation rec {
   pname = "lxqt-runner";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "06b7l2jkh0h4ikddh82nxkz7qhg5ap7l016klg3jl2x659z59hpj";
+    sha256 = "hnuzoHKXqM6xEzN0jvHVjVWUXRxuwdhD3BiBfFMmZSk=";
   };
 
   nativeBuildInputs = [
@@ -56,6 +56,6 @@ mkDerivation rec {
     description = "Tool used to launch programs quickly by typing their names";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-session/default.nix b/pkgs/desktops/lxqt/lxqt-session/default.nix
index bfed8bb13e7..7cd30e09f5e 100644
--- a/pkgs/desktops/lxqt/lxqt-session/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-session/default.nix
@@ -19,13 +19,13 @@
 
 mkDerivation rec {
   pname = "lxqt-session";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "6/HTCngjz0GpNAYf66CUiCZtEs5EsBbjDjcObIe3qSk=";
+    sha256 = "urm4Ehd26fmssJwu/V9Uu/lZ0J8yDOtAA0DIihTPxng=";
   };
 
   nativeBuildInputs = [
@@ -55,6 +55,6 @@ mkDerivation rec {
     description = "An alternative session manager ported from the original razor-session";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-sudo/default.nix b/pkgs/desktops/lxqt/lxqt-sudo/default.nix
index bef00af4feb..7a9ca126287 100644
--- a/pkgs/desktops/lxqt/lxqt-sudo/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-sudo/default.nix
@@ -16,13 +16,13 @@
 
 mkDerivation rec {
   pname = "lxqt-sudo";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1y2vq3n5sv6cxqpnz79kl3dybfbw65z93cahdz8m6gplzpp24gn4";
+    sha256 = "Oa4OYIDXQUIQ96pEY7rGBq+spwVSU+kgDS7250tYNuc=";
   };
 
   nativeBuildInputs = [
@@ -48,6 +48,6 @@ mkDerivation rec {
     description = "GUI frontend for sudo/su";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/lxqt-themes/default.nix b/pkgs/desktops/lxqt/lxqt-themes/default.nix
index 7f7278528c4..0ad382b4b1d 100644
--- a/pkgs/desktops/lxqt/lxqt-themes/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-themes/default.nix
@@ -8,13 +8,13 @@
 
 mkDerivation rec {
   pname = "lxqt-themes";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1viaqmcq4axwsq5vrr08j95swapbqnwmv064kaijm1jj9csadsvv";
+    sha256 = "OEl6ZfMKdqjONRA1LPZ69KyFjp1c21Uib/riYDWSRWE=";
   };
 
   nativeBuildInputs = [
@@ -29,6 +29,6 @@ mkDerivation rec {
     description = "Themes, graphics and icons for LXQt";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/obconf-qt/default.nix b/pkgs/desktops/lxqt/obconf-qt/default.nix
index db27bfbbd3f..b52ec327989 100644
--- a/pkgs/desktops/lxqt/obconf-qt/default.nix
+++ b/pkgs/desktops/lxqt/obconf-qt/default.nix
@@ -48,6 +48,6 @@ mkDerivation rec {
     description = "The Qt port of obconf, the Openbox configuration tool";
     license = licenses.gpl2Plus;
     platforms = with platforms; unix;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/pavucontrol-qt/default.nix b/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
index 314a7554319..e08a04aee76 100644
--- a/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
+++ b/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
@@ -13,13 +13,13 @@
 
 mkDerivation rec {
   pname = "pavucontrol-qt";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1n8h8flcm0na7n295lkjv49brj6razwml21wwrinwllw7s948qp0";
+    sha256 = "zHV9tR5gDjKDbfhnhVnCnw7whJDugMAGARA3UNs/6aA=";
   };
 
   nativeBuildInputs = [
@@ -43,6 +43,6 @@ mkDerivation rec {
     description = "A Pulseaudio mixer in Qt (port of pavucontrol)";
     license = licenses.gpl2Plus;
     platforms = with platforms; linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
index 9f06d9f76d3..ad74d0fca70 100644
--- a/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
+++ b/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "pcmanfm-qt";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1g7pl9ygk4k72rsrcsfjnr7h2yzp3pfmlc5wq6bhyq9rqpr5yv7l";
+    sha256 = "AgNupKdjSigrgY2U9bnkQCV0BrRCw2X9WR4jUH6YmEU=";
   };
 
   nativeBuildInputs = [
@@ -51,6 +51,6 @@ mkDerivation rec {
     description = "File manager and desktop icon manager (Qt port of PCManFM and libfm)";
     license = licenses.gpl2Plus;
     platforms = with platforms; unix;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/qlipper/default.nix b/pkgs/desktops/lxqt/qlipper/default.nix
index fca585c4593..75862dfc7d5 100644
--- a/pkgs/desktops/lxqt/qlipper/default.nix
+++ b/pkgs/desktops/lxqt/qlipper/default.nix
@@ -34,6 +34,6 @@ mkDerivation rec {
     homepage = "https://github.com/pvanek/qlipper";
     license = licenses.gpl2Plus;
     platforms = with platforms; unix;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/qps/default.nix b/pkgs/desktops/lxqt/qps/default.nix
index f8f13403775..ab43b35615a 100644
--- a/pkgs/desktops/lxqt/qps/default.nix
+++ b/pkgs/desktops/lxqt/qps/default.nix
@@ -14,13 +14,13 @@
 
 mkDerivation rec {
   pname = "qps";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "11mbzn4syfghb3zvdrw2011njagcw206ng6c8l9z9h3zlhmhcd57";
+    sha256 = "hkcl9bBQP994TGr4CQQlRZR88IZiRdcbUNOXXf4kXdg=";
   };
 
   nativeBuildInputs = [
@@ -44,6 +44,6 @@ mkDerivation rec {
     description = "Qt based process manager";
     license = licenses.gpl2Plus;
     platforms = with platforms; linux; # does not build on darwin
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/qterminal/default.nix b/pkgs/desktops/lxqt/qterminal/default.nix
index 9412506385b..a32881c4532 100644
--- a/pkgs/desktops/lxqt/qterminal/default.nix
+++ b/pkgs/desktops/lxqt/qterminal/default.nix
@@ -13,13 +13,13 @@
 
 mkDerivation rec {
   pname = "qterminal";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "12p3fnbkpj6z0iplg75304l8kvnn145iq6bpw30n9bwflxrd6yhd";
+    sha256 = "x+rgDrijDsMMdpU7afkn0dsSQbuBbEI9agoaLVsR/q8=";
   };
 
   nativeBuildInputs = [
@@ -43,6 +43,6 @@ mkDerivation rec {
     description = "A lightweight Qt-based terminal emulator";
     license = licenses.gpl2Plus;
     platforms = with platforms; unix;
-    maintainers = with maintainers; [ romildo globin ];
+    maintainers = with maintainers; [ globin ] ++ teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/qtermwidget/default.nix b/pkgs/desktops/lxqt/qtermwidget/default.nix
index 20602573d28..e6c99904262 100644
--- a/pkgs/desktops/lxqt/qtermwidget/default.nix
+++ b/pkgs/desktops/lxqt/qtermwidget/default.nix
@@ -10,13 +10,13 @@
 
 mkDerivation rec {
   pname = "qtermwidget";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0i1w5wgac7r4p0jjrrswlvvwivkwrp1b88xh5ijjw6k9irjc7zf6";
+    sha256 = "tb1Vlkv8HsNlFCFOYfPnJlhdJmhyDmLE9SaTXZT0gGs=";
   };
 
   nativeBuildInputs = [
@@ -36,6 +36,6 @@ mkDerivation rec {
     description = "A terminal emulator widget for Qt 5";
     license = licenses.gpl2Plus;
     platforms = with platforms; unix;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/screengrab/default.nix b/pkgs/desktops/lxqt/screengrab/default.nix
index 2e1c568a489..f73fd1036c8 100644
--- a/pkgs/desktops/lxqt/screengrab/default.nix
+++ b/pkgs/desktops/lxqt/screengrab/default.nix
@@ -17,13 +17,13 @@
 
 mkDerivation rec {
   pname = "screengrab";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1ca5yyvcahabyrdjcsznz9j66yrdlvnfa3650iwlz6922c3dkn2k";
+    sha256 = "EWmEbXY2EEUW2Hq7JwLW/KDgQ8KHs4DZzuGgFjNthPQ=";
   };
 
   nativeBuildInputs = [
@@ -51,6 +51,6 @@ mkDerivation rec {
     description = "Crossplatform tool for fast making screenshots";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ romildo ];
+    maintainers = teams.lxqt.members;
   };
 }
diff --git a/pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix b/pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix
new file mode 100644
index 00000000000..bda71c00e62
--- /dev/null
+++ b/pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, cmake
+, kwindowsystem
+, libfm-qt
+, qtx11extras
+, lxqtUpdateScript
+}:
+
+mkDerivation rec {
+  pname = "xdg-desktop-portal-lxqt";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "lxqt";
+    repo = pname;
+    rev = version;
+    sha256 = "15wld2p07sbf2i2qv86ljm479q0nr9r65wavmabmn3fkzkz5vlgf";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    kwindowsystem
+    libfm-qt
+    qtx11extras
+  ];
+
+  passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
+
+  meta = with lib; {
+    homepage = "https://github.com/lxqt/xdg-desktop-portal-lxqt";
+    description = "Backend implementation for xdg-desktop-portal that is using Qt/KF5/libfm-qt";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/pantheon/apps/switchboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard/default.nix
index ee43903a00a..cc719e65dfa 100644
--- a/pkgs/desktops/pantheon/apps/switchboard/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , nix-update-script
 , pkg-config
 , meson
@@ -18,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard";
-  version = "6.0.0";
+  version = "6.0.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "02dfsrfmr297cxpyd5m3746ihcgjyfnb3d42ng9m4ljdvh0dxgim";
+    sha256 = "sha256-QMh9m6Xc0BeprZHrOgcmSireWb8Ja7Td0COYMgYw+5M=";
   };
 
   nativeBuildInputs = [
@@ -46,18 +45,6 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./plugs-path-env.patch
-    # Upstream code not respecting our localedir
-    # https://github.com/elementary/switchboard/pull/214
-    (fetchpatch {
-      url = "https://github.com/elementary/switchboard/commit/8d6b5f4cbbaf134880252afbf1e25d70033e6402.patch";
-      sha256 = "0gwq3wwj45jrnlhsmxfclbjw6xjr8kf6pp3a84vbnrazw76lg5nc";
-    })
-    # Fix build with meson 0.61
-    # https://github.com/elementary/switchboard/pull/226
-    (fetchpatch {
-      url = "https://github.com/elementary/switchboard/commit/ecf2a6c42122946cc84150f6927ef69c1f67c909.patch";
-      sha256 = "sha256-J62tMeDfOpliBLHMSa3uBGTc0RBNzC6eDjDBDYySL+0=";
-    })
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
index 558c61d986a..82b44038ab2 100644
--- a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
+++ b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
@@ -1,31 +1,38 @@
 { lib
-, stdenv
+, stdenvNoCC
 , fetchFromGitHub
 , nix-update-script
+, gettext
 , meson
 , ninja
-, gettext
+, python3
 , sassc
 }:
 
-stdenv.mkDerivation rec {
+stdenvNoCC.mkDerivation rec {
   pname = "elementary-gtk-theme";
-  version = "6.1.1";
+  version = "7.0.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "stylesheet";
     rev = version;
-    sha256 = "sha256-gciBn5MQ5Cu+dROL5kCt2GCbNA7W4HOWXyjMBd4OP+8=";
+    sha256 = "sha256-ZnQ54ktH0/ZyFH6c180YzbkK/TyIDziiwAXi/zqHpe4=";
   };
 
   nativeBuildInputs = [
     gettext
     meson
     ninja
+    python3
     sassc
   ];
 
+  postPatch = ''
+    chmod +x meson/install-to-dir.py
+    patchShebangs meson/install-to-dir.py
+  '';
+
   passthru = {
     updateScript = nix-update-script {
       attrPath = "pantheon.${pname}";
diff --git a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
index 046f1fbdc97..7be3b6d44c1 100644
--- a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
+++ b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix
@@ -1,5 +1,5 @@
 { lib
-, stdenv
+, stdenvNoCC
 , fetchFromGitHub
 , nix-update-script
 , meson
@@ -7,19 +7,19 @@
 , ninja
 , hicolor-icon-theme
 , gtk3
-, xorg
+, xcursorgen
 , librsvg
 }:
 
-stdenv.mkDerivation rec {
+stdenvNoCC.mkDerivation rec {
   pname = "elementary-icon-theme";
-  version = "6.1.0";
+  version = "7.0.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "icons";
     rev = version;
-    sha256 = "sha256-WR4HV0nJKj0WeSFHXLK64O0LhX8myAJE4w0aztyhPn4=";
+    sha256 = "sha256-tyhKhZPoZ8xVy1KVUWd8BK2meTT3Z6qM787spjE+NL8=";
   };
 
   nativeBuildInputs = [
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     meson
     ninja
     python3
-    xorg.xcursorgen
+    xcursorgen
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix
index ea65a09224f..77f8d356803 100644
--- a/pkgs/desktops/pantheon/default.nix
+++ b/pkgs/desktops/pantheon/default.nix
@@ -121,6 +121,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   granite = callPackage ./granite { };
 
+  granite7 = callPackage ./granite/7 { };
+
   #### SERVICES
 
   contractor = callPackage ./services/contractor { };
diff --git a/pkgs/desktops/pantheon/granite/7/default.nix b/pkgs/desktops/pantheon/granite/7/default.nix
new file mode 100644
index 00000000000..08b7548167b
--- /dev/null
+++ b/pkgs/desktops/pantheon/granite/7/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, nix-update-script
+, python3
+, meson
+, ninja
+, vala
+, pkg-config
+, libgee
+, gtk4
+, glib
+, gettext
+, gsettings-desktop-schemas
+, gobject-introspection
+, wrapGAppsHook4
+}:
+
+stdenv.mkDerivation rec {
+  pname = "granite";
+  version = "7.0.0";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-fuyjQDH3C8qRYuAfQDDeW3aSWVTLtGzMAjcuAHCB1Zw=";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    meson
+    ninja
+    pkg-config
+    python3
+    vala
+    wrapGAppsHook4
+  ];
+
+  propagatedBuildInputs = [
+    glib
+    gsettings-desktop-schemas # is_clock_format_12h uses "org.gnome.desktop.interface clock-format"
+    gtk4
+    libgee
+  ];
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = "pantheon.granite7";
+    };
+  };
+
+  meta = with lib; {
+    description = "An extension to GTK used by elementary OS";
+    longDescription = ''
+      Granite is a companion library for GTK and GLib. Among other things, it provides complex widgets and convenience functions
+      designed for use in apps built for elementary OS.
+    '';
+    homepage = "https://github.com/elementary/granite";
+    license = licenses.lgpl3Plus;
+    platforms = platforms.linux;
+    maintainers = teams.pantheon.members;
+    mainProgram = "granite-7-demo";
+  };
+}
diff --git a/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
index b009954bc84..7ffa02fad7f 100644
--- a/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
+++ b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pantheon-agent-polkit";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1acqjjarl225yk0f68wkldsamcrzrj0ibpcxma04wq9w7jlmz60c";
+    sha256 = "sha256-sC+Ec8a/17EfHsSRKQflBlzv9XAFjUVhjX691gIVa2A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/dynamic-workspaces.nix b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/dynamic-workspaces.nix
index cea788f2640..043f52c37ef 100644
--- a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/dynamic-workspaces.nix
+++ b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/dynamic-workspaces.nix
@@ -32,7 +32,7 @@ mkDerivation rec {
   meta = with lib; {
     description = "KWin script that automatically adds/removes virtual desktops";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ samuelgrf ];
+    maintainers = with maintainers; [ ];
     inherit (src.meta) homepage;
     inherit (kwindowsystem.meta) platforms;
   };
diff --git a/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
index 65611f73a1d..b2dc9096269 100644
--- a/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
@@ -3,9 +3,9 @@
 mkXfceDerivation {
   category = "apps";
   pname = "xfce4-terminal";
-  version = "0.8.10";
+  version = "1.0.2";
 
-  sha256 = "sha256-FINoED7C2PXeDJf9sKD7bk+b5FGZMMqXFe3i2zLDqGw=";
+  sha256 = "sha256-d69SjV7dkiYmc0R5OyU5DV5RM3h51an4idWV872QoE4=";
 
   nativeBuildInputs = [ libxslt docbook_xml_dtd_45 docbook_xsl ];
 
diff --git a/pkgs/desktops/xfce/core/xfce4-panel/default.nix b/pkgs/desktops/xfce/core/xfce4-panel/default.nix
index 4fa26b3da02..5ac7fa9e79b 100644
--- a/pkgs/desktops/xfce/core/xfce4-panel/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-panel/default.nix
@@ -17,9 +17,9 @@
 mkXfceDerivation {
   category = "xfce";
   pname = "xfce4-panel";
-  version = "4.16.3";
+  version = "4.16.4";
 
-  sha256 = "sha256-PdE64WKdluKfof/l1wTPi7JdpJMYWIvi0yIdpyntsCA=";
+  sha256 = "sha256-DlGcec5oUPDMzVztADw9fROmBIIO7isZ8gZEMGeDVcA=";
 
   nativeBuildInputs = [
     gobject-introspection
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix
index 08434ad2522..e4a252c7ed0 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix
@@ -15,11 +15,11 @@ let
   category = "panel-plugins";
 in stdenv.mkDerivation rec {
   pname  = "xfce4-eyes-plugin";
-  version = "4.5.1";
+  version = "4.6.0";
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-TbeAF45Sk5HVPaGA5JOGkE5ppaM7O9UYWDXQp+b/WsU=";
+    sha256 = "sha256-rQ/wXYi6OTt8iSL4Iz7dM/wKTosAC2HeH486EMWuUyQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/beam-modules/elvis-erlang/default.nix b/pkgs/development/beam-modules/elvis-erlang/default.nix
index c4dda478c4a..7b145455419 100644
--- a/pkgs/development/beam-modules/elvis-erlang/default.nix
+++ b/pkgs/development/beam-modules/elvis-erlang/default.nix
@@ -24,7 +24,7 @@ in rebar3Relx rec {
 
     set -euo pipefail
 
-    latest=$(list-git-tags --url=https://github.com/${owner}/${repo}.git | sort -V | tail -1)
+    latest=$(list-git-tags | sort -V | tail -1)
     if [ "$latest" != "${version}" ]; then
       nixpkgs="$(git rev-parse --show-toplevel)"
       nix_path="$nixpkgs/pkgs/development/beam-modules/elvis-erlang"
diff --git a/pkgs/development/beam-modules/erlang-ls/default.nix b/pkgs/development/beam-modules/erlang-ls/default.nix
index e27e65a08f7..47fbcc5f38e 100644
--- a/pkgs/development/beam-modules/erlang-ls/default.nix
+++ b/pkgs/development/beam-modules/erlang-ls/default.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub, fetchgit, fetchHex, rebar3Relx, buildRebar3, rebar3-proper
 , stdenv, writeScript, lib }:
 let
-  version = "0.24.0";
+  version = "0.31.0";
   owner = "erlang-ls";
   repo = "erlang_ls";
   deps = import ./rebar-deps.nix {
@@ -19,7 +19,7 @@ rebar3Relx {
   inherit version;
   src = fetchFromGitHub {
     inherit owner repo;
-    sha256 = "sha256-fKe6vsY40lexnkUP4PEsc53WFaUAw5LGLEC/zJauogg=";
+    sha256 = "sha256-tpJUCHrSFNEzNrln7nKwav0GSBW+4fwjSB3WI1MKW9A=";
     rev = version;
   };
   releaseType = "escript";
@@ -51,7 +51,7 @@ rebar3Relx {
     #! nix-shell -i bash -p common-updater-scripts coreutils git gnused gnutar gzip "rebar3WithPlugins { globalPlugins = [ beamPackages.rebar3-nix ]; }"
 
     set -ox errexit
-    latest=$(list-git-tags --url=https://github.com/${owner}/${repo}.git | sed -n '/[\d\.]\+/p' | sort -V | tail -1)
+    latest=$(list-git-tags | sed -n '/[\d\.]\+/p' | sort -V | tail -1)
     if [[ "$latest" != "${version}" ]]; then
       nixpkgs="$(git rev-parse --show-toplevel)"
       nix_path="$nixpkgs/pkgs/development/beam-modules/erlang-ls"
diff --git a/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix b/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
index 9d1fa9aef06..18de8cfc72a 100644
--- a/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
+++ b/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
@@ -66,11 +66,12 @@ let
     };
     yamerl = builder {
       name = "yamerl";
-      version = "0.8.1";
-      src = fetchHex {
-        pkg = "yamerl";
-        version = "0.8.1";
-        sha256 = "sha256-lssw+dZDRP7Q74qS6fFvIH3mwE3/9PNmdSynn1vOsj8=";
+      version = "git";
+      src = fetchFromGitHub {
+        owner = "erlang-ls";
+        repo = "yamerl";
+        rev = "9a9f7a2e84554992f2e8e08a8060bfe97776a5b7";
+        sha256 = "1gb44v27paxwxm443m5f554wiziqi2kd300hgjjdg6fyvy3mvhss";
       };
       beamDeps = [ ];
     };
@@ -130,8 +131,8 @@ let
       src = fetchFromGitHub {
         owner = "josefs";
         repo = "gradualizer";
-        rev = "e93db1c6725760def005c69d72f53b1a889b4c2f";
-        sha256 = "0i1mh0dw2qknrjwpbxhgpwspqv12bznylv17sznid3kbb31pslay";
+        rev = "6e89b4e1cd489637a848cc5ca55058c8a241bf7d";
+        sha256 = "1ix0xgd0267ibx6y68fx4pq8q3j0y7rjs7j3cv3v2gdiy190psy9";
       };
       beamDeps = [ ];
     };
diff --git a/pkgs/development/compilers/abcl/default.nix b/pkgs/development/compilers/abcl/default.nix
index f3a3541e7cf..756e6c917c3 100644
--- a/pkgs/development/compilers/abcl/default.nix
+++ b/pkgs/development/compilers/abcl/default.nix
@@ -18,13 +18,18 @@ stdenv.mkDerivation rec {
   buildPhase = ''
     ant
   '';
+  # Fix for https://github.com/armedbear/abcl/issues/484
+  javaOpts =
+    lib.optionalString
+      (lib.versionAtLeast jre.version "17")
+      "--add-opens=java.base/java.util.jar=ALL-UNNAMED";
   installPhase = ''
     mkdir -p "$out"/{bin,share/doc/abcl,lib/abcl}
     cp -r README COPYING CHANGES examples/  "$out/share/doc/abcl/"
     cp -r dist/*.jar contrib/ "$out/lib/abcl/"
 
     echo "#! ${stdenv.shell}" >> "$out/bin/abcl"
-    echo "${jre}/bin/java -cp \"$out/lib/abcl/abcl.jar:$out/lib/abcl/abcl-contrib.jar:\$CLASSPATH\" org.armedbear.lisp.Main \"\$@\"" >> "$out/bin/abcl"
+    echo "${jre}/bin/java $javaOpts -cp \"$out/lib/abcl/abcl.jar:$out/lib/abcl/abcl-contrib.jar:\$CLASSPATH\" org.armedbear.lisp.Main \"\$@\"" >> "$out/bin/abcl"
     chmod a+x "$out"/bin/*
   '';
   buildInputs = [jre ant jdk jre];
diff --git a/pkgs/development/compilers/bupc/default.nix b/pkgs/development/compilers/bupc/default.nix
index 94256ed4373..07395ed5ae1 100644
--- a/pkgs/development/compilers/bupc/default.nix
+++ b/pkgs/development/compilers/bupc/default.nix
@@ -16,7 +16,6 @@ stdenv.mkDerivation rec {
   # Used during the configure phase
   ENVCMD = "${coreutils}/bin/env";
 
-  nativeBuildInputs = [ coreutils ];
   buildInputs = [ perl ];
 
   meta = with lib; {
diff --git a/pkgs/development/compilers/chez/default.nix b/pkgs/development/compilers/chez/default.nix
index 82035e45634..67fa1efd2a6 100644
--- a/pkgs/development/compilers/chez/default.nix
+++ b/pkgs/development/compilers/chez/default.nix
@@ -5,17 +5,17 @@
 
 stdenv.mkDerivation rec {
   pname = "chez-scheme";
-  version = "9.5.6";
+  version = "9.5.8";
 
   src = fetchFromGitHub {
     owner  = "cisco";
     repo   = "ChezScheme";
     rev    = "refs/tags/v${version}";
-    sha256 = "sha256-1C5fEbVIpFXlDQ5wFmYZ2nrDUq9jBmvnku/7f0MH7vc=";
+    sha256 = "sha256-esCWEzny/I+Ors6+upKlt4h13oN0bRLWN9OTKuSqdl8=";
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ coreutils ] ++ lib.optional stdenv.isDarwin cctools;
+  nativeBuildInputs = lib.optional stdenv.isDarwin cctools;
   buildInputs = [ ncurses libiconv libX11 libuuid ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/chicken/5/eggs.nix b/pkgs/development/compilers/chicken/5/eggs.nix
index 1c1377350d2..83bfc1cbb71 100644
--- a/pkgs/development/compilers/chicken/5/eggs.nix
+++ b/pkgs/development/compilers/chicken/5/eggs.nix
@@ -1,7 +1,39 @@
-{ pkgs }:
+{ pkgs, stdenv }:
 rec {
   inherit (pkgs) eggDerivation fetchegg;
 
+  address-info = eggDerivation {
+    name = "address-info-1.0.5";
+
+    src = fetchegg {
+      name = "address-info";
+      version = "1.0.5";
+      sha256 = "1nv87ghfv8szmi2l0rybrgrds6fs5w6jxafqslnzw0mw5sfj6jyk";
+    };
+
+    buildInputs = [
+      srfi-1
+    ];
+  };
+
+  apropos = eggDerivation {
+    name = "apropos-3.6.0";
+
+    src = fetchegg {
+      name = "apropos";
+      version = "3.6.0";
+      sha256 = "0jq5d4zijbf5dw2vsfn89smp7zjpgp82y5hs10xkysf831x7l551";
+    };
+
+    buildInputs = [
+      srfi-1
+      srfi-13
+      check-errors
+      string-utils
+      symbol-utils
+    ];
+  };
+
   args = eggDerivation {
     name = "args-1.6.0";
 
@@ -18,6 +50,125 @@ rec {
     ];
   };
 
+  base64 = eggDerivation {
+    name = "base64-1.0";
+
+    src = fetchegg {
+      name = "base64";
+      version = "1.0";
+      sha256 = "01lid9wxf94nr7gmskamxlfngack1hyxig8rl9swwgnbmz9qgysi";
+    };
+
+    buildInputs = [
+      srfi-13
+    ];
+  };
+
+  check-errors = eggDerivation {
+    name = "check-errors-3.2.0";
+
+    src = fetchegg {
+      name = "check-errors";
+      version = "3.2.0";
+      sha256 = "0d0hpq1nmwyvbg162bqzgk62f70rin0pxsr5a3pgx6xin5i3ngah";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  defstruct = eggDerivation {
+    name = "defstruct-2.0";
+
+    src = fetchegg {
+      name = "defstruct";
+      version = "2.0";
+      sha256 = "0q1v1gdwqlpmwcsa4jnqldfqky9k7kvb83qgkhdyqym52bm5aln8";
+    };
+
+    buildInputs = [
+      srfi-1
+    ];
+  };
+
+  feature-test = eggDerivation {
+    name = "feature-test-0.2.0";
+
+    src = fetchegg {
+      name = "feature-test";
+      version = "0.2.0";
+      sha256 = "1dxdisv64d8alg6r45cwxf5gmdpcvql1hvlq808lgwphd7kvfpgr";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  foreigners = eggDerivation {
+    name = "foreigners-1.5";
+
+    src = fetchegg {
+      name = "foreigners";
+      version = "1.5";
+      sha256 = "1mm91y61nlawgb7iqdrkz2fi9sc3fic07f5m1ig541b2hbscfiqy";
+    };
+
+    buildInputs = [
+      matchable
+    ];
+  };
+
+  intarweb = eggDerivation {
+    name = "intarweb-2.0.1";
+
+    src = fetchegg {
+      name = "intarweb";
+      version = "2.0.1";
+      sha256 = "0md226jikqhj993cw17588ipmnz0v7l34zrvylamyrs6zbvj3scm";
+    };
+
+    buildInputs = [
+      srfi-1
+      srfi-13
+      srfi-14
+      defstruct
+      uri-common
+      base64
+    ];
+  };
+
+  iset = eggDerivation {
+    name = "iset-2.2";
+
+    src = fetchegg {
+      name = "iset";
+      version = "2.2";
+      sha256 = "0yfkcd07cw6xnnqfbbvjy81x0vc54k40vdjp2m7gwxx64is6m3rz";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  json = eggDerivation {
+    name = "json-1.6";
+
+    src = fetchegg {
+      name = "json";
+      version = "1.6";
+      sha256 = "0sb8285dqrm27c8zaqfzc0gixvfmvf0cq2nbza8c4z7j5snxzs2w";
+    };
+
+    buildInputs = [
+      packrat
+      srfi-1
+      srfi-69
+    ];
+  };
+
   matchable = eggDerivation {
     name = "matchable-1.1";
 
@@ -32,6 +183,158 @@ rec {
     ];
   };
 
+  r7rs = eggDerivation {
+    name = "r7rs-1.0.5";
+
+    src = fetchegg {
+      name = "r7rs";
+      version = "1.0.5";
+      sha256 = "0zyi1z4m1995hm2wfc5wpi8jjgxcwk03qknq5v2ygff3akxazsf6";
+    };
+
+    buildInputs = [
+      matchable
+      srfi-1
+      srfi-13
+    ];
+  };
+
+  memory-mapped-files = eggDerivation {
+    name = "memory-mapped-files-0.4";
+
+    src = fetchegg {
+      name = "memory-mapped-files";
+      version = "0.4";
+      sha256 = "0by3r18bj9fs0bs9w5czx84vssmr58br3x7pz1m3myb4mns3mpsc";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  message-digest-primitive = eggDerivation {
+    name = "message-digest-primitive-4.3.2";
+
+    src = fetchegg {
+      name = "message-digest-primitive";
+      version = "4.3.2";
+      sha256 = "1wfmyyp1fv0sz70m0rgzbhkiqgzjc15ppz7fwmpnxg12rvfzdvq0";
+    };
+
+    buildInputs = [
+      check-errors
+    ];
+  };
+
+  miscmacros = eggDerivation {
+    name = "miscmacros-1.0";
+
+    src = fetchegg {
+      name = "miscmacros";
+      version = "1.0";
+      sha256 = "0n2ia4ib4f18hcbkm5byph07ncyx61pcpfp2qr5zijf8ykp8nbvr";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  packrat = eggDerivation {
+    name = "packrat-1.5";
+
+    src = fetchegg {
+      name = "packrat";
+      version = "1.5";
+      sha256 = "0hfnh57a8yga3byrk8522al5wdj7dyz48lixvvcgnsn3vdy333hq";
+    };
+
+    buildInputs = [
+      srfi-1
+    ];
+  };
+
+  regex = eggDerivation {
+    name = "regex-2.0";
+
+    src = fetchegg {
+      name = "regex";
+      version = "2.0";
+      sha256 = "0qgqrrdr95yqggw8xyvb693nhizwqvf1fp9cjx9p3z80c4ih8j4j";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  sendfile = eggDerivation {
+    name = "sendfile-1.8.3";
+
+    src = fetchegg {
+      name = "sendfile";
+      version = "1.8.3";
+      sha256 = "0acmydjxlrbq7bdspmrzv9q9l3gh4xxnbpi5g1d5mz1g2mjwgm63";
+    };
+
+    buildInputs = [
+      memory-mapped-files
+    ];
+  };
+
+  sha2 = eggDerivation {
+    name = "sha2-4.0.5";
+
+    src = fetchegg {
+      name = "sha2";
+      version = "4.0.5";
+      sha256 = "020yc41gkpg2s48v5n1nnq02dii340yly2y1zsi71bbfbkai2vcs";
+    };
+
+    buildInputs = [
+      message-digest-primitive
+    ];
+  };
+
+  socket = eggDerivation {
+    name = "socket-0.3.3";
+
+    src = fetchegg {
+      name = "socket";
+      version = "0.3.3";
+      sha256 = "04wfxrwjizvf1jdpfqp3r7381rp9lscrm3z21ihq2dc2lfzjgrxw";
+    };
+
+    buildInputs = [
+      srfi-13
+      srfi-18
+      foreigners
+      feature-test
+    ];
+  };
+
+  spiffy = eggDerivation {
+    name = "spiffy-6.3";
+
+    src = fetchegg {
+      name = "spiffy";
+      version = "6.3";
+      sha256 = "0f22gfdyysgbm3q6cjibn1z1yavks3imxi1mxcyfmms3x91k5k3c";
+    };
+
+    buildInputs = [
+      intarweb
+      uri-common
+      uri-generic
+      sendfile
+      srfi-1
+      srfi-13
+      srfi-14
+      srfi-18
+    ];
+  };
+
   srfi-1 = eggDerivation {
     name = "srfi-1-0.5.1";
 
@@ -47,12 +350,12 @@ rec {
   };
 
   srfi-13 = eggDerivation {
-    name = "srfi-13-0.3";
+    name = "srfi-13-0.3.1";
 
     src = fetchegg {
       name = "srfi-13";
-      version = "0.3";
-      sha256 = "0yaw9i6zhpxl1794pirh168clprjgmsb0xlr96drirjzsslgm3zp";
+      version = "0.3.1";
+      sha256 = "12ryxs3w3las0wjdh0yp52g1xmyq1fb48xi3i26l5a9sfx7gbilp";
     };
 
     buildInputs = [
@@ -74,6 +377,50 @@ rec {
     ];
   };
 
+  srfi-145 = eggDerivation {
+    name = "srfi-145-0.1";
+
+    src = fetchegg {
+      name = "srfi-145";
+      version = "0.1";
+      sha256 = "1r4278xhpmm8gww64j6akpyv3qjnn14b6nsisyb9qm7yx3pkpim9";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  srfi-189 = eggDerivation {
+    name = "srfi-189-0.1";
+
+    src = fetchegg {
+      name = "srfi-189";
+      version = "0.1";
+      sha256 = "1nmrywpi9adi5mm1vcbxxsgw0j3v6m7s4j1mii7icj83xn81cgvx";
+    };
+
+    buildInputs = [
+      r7rs
+      srfi-1
+      srfi-145
+    ];
+  };
+
+  srfi-18 = eggDerivation {
+    name = "srfi-18-0.1.6";
+
+    src = fetchegg {
+      name = "srfi-18";
+      version = "0.1.6";
+      sha256 = "00lykm5lqbrcxl3dab9dqwimpgm36v4ys2957k3vdlg4xdb1abfa";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
   srfi-37 = eggDerivation {
     name = "srfi-37-1.4";
 
@@ -87,5 +434,118 @@ rec {
       
     ];
   };
+
+  srfi-69 = eggDerivation {
+    name = "srfi-69-0.4.1";
+
+    src = fetchegg {
+      name = "srfi-69";
+      version = "0.4.1";
+      sha256 = "1l102kppncz27acsr4jyi46q0r7g2lb6gdbkd6p3h1xmvwcnk2hl";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  string-utils = eggDerivation {
+    name = "string-utils-2.4.0";
+
+    src = fetchegg {
+      name = "string-utils";
+      version = "2.4.0";
+      sha256 = "09m3s0p199r2nmvc8qnqvbxjbq967gvwqrzp236wsw3hdcil6p8v";
+    };
+
+    buildInputs = [
+      srfi-1
+      srfi-13
+      srfi-69
+      miscmacros
+      check-errors
+      utf8
+    ];
+  };
+
+  symbol-utils = eggDerivation {
+    name = "symbol-utils-2.1.0";
+
+    src = fetchegg {
+      name = "symbol-utils";
+      version = "2.1.0";
+      sha256 = "17nq8bj18f3bbf3mdfx1m8agy97izn1xcl8ymvgvvd5g384b2xil";
+    };
+
+    buildInputs = [
+      check-errors
+    ];
+  };
+
+  tcp6 = eggDerivation {
+    name = "tcp6-0.2.1";
+
+    src = fetchegg {
+      name = "tcp6";
+      version = "0.2.1";
+      sha256 = "14dynnjgac28f46v781hi6kam326q6rh57pf0pvl0chdva4hlf3q";
+    };
+
+    buildInputs = [
+      socket
+      srfi-1
+    ];
+  };
+
+  uri-common = eggDerivation {
+    name = "uri-common-2.0";
+
+    src = fetchegg {
+      name = "uri-common";
+      version = "2.0";
+      sha256 = "07rq7ppkyk3i85vqspc048pnj6gmjhj236z00chslli9xybqkgrd";
+    };
+
+    buildInputs = [
+      uri-generic
+      defstruct
+      matchable
+      srfi-1
+      srfi-13
+      srfi-14
+    ];
+  };
+
+  uri-generic = eggDerivation {
+    name = "uri-generic-3.2";
+
+    src = fetchegg {
+      name = "uri-generic";
+      version = "3.2";
+      sha256 = "1lpvnk1mnhmrga149km7ygpy7fkq7z2pvw0mvpx2aql03l8gpdsj";
+    };
+
+    buildInputs = [
+      matchable
+      srfi-1
+      srfi-14
+    ];
+  };
+
+  utf8 = eggDerivation {
+    name = "utf8-3.6.2";
+
+    src = fetchegg {
+      name = "utf8";
+      version = "3.6.2";
+      sha256 = "10wzp3qmwik4gx3hhaqm2n83wza0rllgy57363h5ccv8fga5nnm6";
+    };
+
+    buildInputs = [
+      srfi-69
+      iset
+      regex
+    ];
+  };
 }
 
diff --git a/pkgs/development/compilers/chicken/5/eggs.scm b/pkgs/development/compilers/chicken/5/eggs.scm
index b743d6e3229..6e3405b95ec 100644
--- a/pkgs/development/compilers/chicken/5/eggs.scm
+++ b/pkgs/development/compilers/chicken/5/eggs.scm
@@ -1,3 +1,11 @@
 ;; Eggs used by egg2nix
 args
 matchable
+apropos
+spiffy
+json
+tcp6
+sha2
+
+;; other eggs to include in nixpkgs
+srfi-189
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix
index 280e0fdd230..f682ecfb06c 100644
--- a/pkgs/development/compilers/crystal/default.nix
+++ b/pkgs/development/compilers/crystal/default.nix
@@ -216,7 +216,7 @@ let
         description = "A compiled language with Ruby like syntax and type inference";
         homepage = "https://crystal-lang.org/";
         license = licenses.asl20;
-        maintainers = with maintainers; [ david50407 fabianhjr manveru peterhoeg ];
+        maintainers = with maintainers; [ david50407 manveru peterhoeg ];
         platforms = let archNames = builtins.attrNames archs; in
           if (lib.versionOlder version "1.2.0") then remove "aarch64-darwin" archNames else archNames;
         broken = lib.versionOlder version "0.36.1" && stdenv.isDarwin;
diff --git a/pkgs/development/compilers/dotnet/default.nix b/pkgs/development/compilers/dotnet/default.nix
index 6ae8240c7f0..87256e95b02 100644
--- a/pkgs/development/compilers/dotnet/default.nix
+++ b/pkgs/development/compilers/dotnet/default.nix
@@ -132,67 +132,67 @@ rec {
 
   # v6.0 (lts)
   aspnetcore_6_0 = buildAspNetCore {
-    version = "6.0.3";
+    version = "6.0.4";
     srcs = {
       x86_64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/3af854b6-80fb-425a-972f-c7f0d693bf1b/cd458a4feae5a98646ee12a14ab34151/aspnetcore-runtime-6.0.3-linux-x64.tar.gz";
-        sha512  = "9ea54220468d922ef2c40433c4b8c70df6c60d8ea63a3ac1ff5e5ce712606ae5cfe1e57d321b87eff1b5dc34d7823a4b4b964180587383f22d9a0ff5bb3a8c88";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/de3f6658-5d5b-4986-aeb1-7efdf5818437/7df572051df15117a0f52be1b79e1823/aspnetcore-runtime-6.0.4-linux-x64.tar.gz";
+        sha512  = "eaff93db0a4cc0adc2fc54de5e9a6e4b0844398451c06bcf6b2867471b8ed4fd0528ad04fe7150aa5ed306d5e08a5e4219c6029b96da03ad2d1c58e7a0ddacaf";
       };
       aarch64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/1e7933b2-1202-4aeb-bb70-a6f9cecac61a/b12b5666b3d4cf508f8575581abd4033/aspnetcore-runtime-6.0.3-linux-arm64.tar.gz";
-        sha512  = "745586b64d3e01f856c366821f6fb8ca97c55b2a90ba36d528fdf99c98938574805153e7d4fff0560afe8382bea14b35ddeba391a2dc2328285f02e125c9b702";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/ba1662bf-50e6-451a-957f-0d55bc6e5713/921fe0e68428ac47c098e97418d3126a/aspnetcore-runtime-6.0.4-linux-arm64.tar.gz";
+        sha512  = "18ffa72b38dcd01bbfd9f656996e994dbcdb7b6b196771fc498bbaea774ad844f7fd5418487d0a5a7f83a76b3683f8913e22275bc25d66ee0c0d84ea4e279971";
       };
       x86_64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/2cfe2a02-dd59-4cb7-9788-76c620eaa0ff/dfd0d449289a042be9bc62e4466bf350/aspnetcore-runtime-6.0.3-osx-x64.tar.gz";
-        sha512  = "bda83cf36fc9aa62ff3e16a26b5f8f37efa3221ab826467fe26f3072517a428c64e44bc52f8a90f5c77bc60eeeddb8c3d59d2a509999edce3b51b835dd7edf83";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/b39aa0b4-27e2-4fce-bf36-fb6d46f89e5e/6b8ca3b4c7026db460df1d49f5366f1b/aspnetcore-runtime-6.0.4-osx-x64.tar.gz";
+        sha512  = "33b1b24496296242dd78714564e52e6be575f46d681a5093a0aca842aff5e29778cbf31259f11ce395fc9a2368fa6bfde2e12a074ccf310f9b661c0bdaf39d2d";
       };
       aarch64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/d7cf4456-d9ba-4a31-98e9-4681e1b0d8b8/b9c4cfded00e9940756e62c4486f64c6/aspnetcore-runtime-6.0.3-osx-arm64.tar.gz";
-        sha512  = "03d1d4e8a8370856120e045ed4a83b3383d00fb56b5fdaf7db0de8bab5e3de60d03c02deaed6f72bde0d6b0e12511fe1202c4e2c25fdeeb489ad61a5902d71d3";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/d7b60e75-6901-4f68-8943-ce32cadeaf29/f14e40b3e9a69cbd79d47375b16a76e7/aspnetcore-runtime-6.0.4-osx-arm64.tar.gz";
+        sha512  = "9ff8ecc60f70d8cfa53396761610282358aa7bcbd3f013aedc639be7b8f502a8cb121777c7e8a0a7d64d74b99211751ea8a8c1819861b72ad11d80590ba9ed2b";
       };
     };
   };
 
   runtime_6_0 = buildNetRuntime {
-    version = "6.0.3";
+    version = "6.0.4";
     srcs = {
       x86_64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/4e766615-57e6-4b1d-a574-25eeb7a71107/9f95f74c33711e085302ffd644ef86ee/dotnet-runtime-6.0.3-linux-x64.tar.gz";
-        sha512  = "083d9e6e72f0d8f175b341f5229277374e630c5358cfd3602fe611aeef59abec715edbe18d62135a5d13a650e99ef49f19b17e8c81663d0b5bee757519bec894";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/5b08d331-15ac-4a53-82a5-522fa45b1b99/65ae300dd160ae0b88b91dd78834ce3e/dotnet-runtime-6.0.4-linux-x64.tar.gz";
+        sha512  = "001487bfb337d0f737c4e3dedc4bc41b3185922c07c07e8f1d47e4578914fdeeed7421d7af2c4bb5e17ebddd05fde4cb9aea1e8145018dcffeaca70c1fa49bbb";
       };
       aarch64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/89b5d16e-cb5e-4e6c-90f6-7332e93d20ae/7a0146aa4fc59154a3256c5196a622c7/dotnet-runtime-6.0.3-linux-arm64.tar.gz";
-        sha512  = "f0f9fb191054dea2e4151a86c3de1a11ce574cc843cde429850db0996c7df403dfa348a277f1af96f13fec718ae77f3be75379ed3829b027e561564ff22c7258";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/3641affa-8bb0-486f-93d9-68adff4f4af7/1e3df9fb86cba7299b9e575233975734/dotnet-runtime-6.0.4-linux-arm64.tar.gz";
+        sha512  = "acbb50f2a1cde2bb8f59ec2059cd90f669748ce0da519ddbb831d8f279c4b896cc7a8f4275fb2c4726c5caf3d6430ee6d9823baa6f65238c7017ecbc2b8a6444";
       };
       x86_64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/1f354e35-ff3f-4de7-b6be-f5001b7c3976/b7c8814ab28a6f00f063440e63903105/dotnet-runtime-6.0.3-osx-x64.tar.gz";
-        sha512  = "98c457cbc0ac8f5f0acd7807bb45726b78e87d4f554fd30123cc8d9568b5341cc5bba16c8e4c85537ec4798d7e4d7f2f11701d2045b124f1b36bca75d80458e8";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/c0bc0428-852d-4884-b536-3d0969a400ba/fe0a9a221c3e665e88b7020633f2cf8e/dotnet-runtime-6.0.4-osx-x64.tar.gz";
+        sha512  = "7a798ce54880533151cc9290129e1a6224e81e657026e5be580ee24742d54e8e8e5f8f3bdee2cb94d5129082e3a2ffd1460f490abb848aaf3558e584e2e2df43";
       };
       aarch64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/03047609-269e-4ca6-bf2e-406c496b27e3/3b19ad4d3fbc5d9a92f436db13e9e3d1/dotnet-runtime-6.0.3-osx-arm64.tar.gz";
-        sha512  = "1debd4acab3c6408c849323e6dfba28a626850c40f93a0debe46c54f0c0b39526f4118d5b2bcf0307efeba0bc2656a92187a685400095ae078227698a0aabfb3";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/dd2f6b72-bf47-4ae5-8a3d-4d394569cc34/87d408439ac5feffe2abf622dbfa5084/dotnet-runtime-6.0.4-osx-arm64.tar.gz";
+        sha512  = "3070af5d9dc44820dc93ca89489f1dfa8024958f64a9d62fafddb49fa16325f0845cc53027703495dc524515e613f3e7701ef148da06653070cb2e3928fb0aca";
       };
     };
   };
 
   sdk_6_0 = buildNetSdk {
-    version = "6.0.201";
+    version = "6.0.202";
     srcs = {
       x86_64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/c505a449-9ecf-4352-8629-56216f521616/bd6807340faae05b61de340c8bf161e8/dotnet-sdk-6.0.201-linux-x64.tar.gz";
-        sha512  = "a4d96b6ca2abb7d71cc2c64282f9bd07cedc52c03d8d6668346ae0cd33a9a670d7185ab0037c8f0ecd6c212141038ed9ea9b19a188d1df2aae10b2683ce818ce";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/9d8c7137-2091-4fc6-a419-60ba59c8b9de/db0c5cda94f31d2260d369123de32d59/dotnet-sdk-6.0.202-linux-x64.tar.gz";
+        sha512  = "81e9c368d445d9e92e3af471d52dc2aa05e3ecb75ce95c13a2ed1d117852dae43d23d913bbe92eab730aef7f38a14488a1ac65c3b79444026a629647322c5798";
       };
       aarch64-linux = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/33c6e1e3-e81f-44e8-9de8-91934fba3c94/9105f95a9e37cda6bd0c33651be2b90a/dotnet-sdk-6.0.201-linux-arm64.tar.gz";
-        sha512  = "2ea443c27ab7ca9d566e4df0e842063642394fd22fe2a8620371171c8207ae6a4a72c8c54fc6af5b6b053be25cf9c09a74504f08b963e5bd84544619aed9afc2";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/952f5525-7227-496f-85e5-09cadfb44629/eefd0f6eb8f809bfaf4f0661809ed826/dotnet-sdk-6.0.202-linux-arm64.tar.gz";
+        sha512  = "2d0021bb4cd221ffba6888dbd6300e459f45f4f9d3cf7323f3b97ee0f093ef678f5a36d1c982296f4e15bbcbd7275ced72c3e9b2fc754039ba663d0612ffd866";
       };
       x86_64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/cecaa095-3254-4987-b105-6bb9b594a89c/df29881aea827565a96d5e47dc337749/dotnet-sdk-6.0.201-osx-x64.tar.gz";
-        sha512  = "1df27ca5a1db1a8712acd95083aa00ec7b266618770e164d6460d0cf781b3643a7365ef35232140c83b588f7aa4e2d7e5f5b6d627f1851b2d0ec197172f9fb4d";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/1a014dee-ff5f-48e3-a817-82b9bd536b56/fed3a710f5e0add13844a6ce400775a1/dotnet-sdk-6.0.202-osx-x64.tar.gz";
+        sha512  = "ff7df20ce9054ed50d521eba88e063422efa4d48cb3117cf733cc6ecea24012c2ac34f6df10d88f64fe7a952bb96455a3c2eb877f1d50c0b7bcaedf11f98ce82";
       };
       aarch64-darwin = {
-        url     = "https://download.visualstudio.microsoft.com/download/pr/628be5e6-7fc7-42b6-99c9-ea46fbcc3d14/d94bb4198af2d5013c75b1c70751ec8f/dotnet-sdk-6.0.201-osx-arm64.tar.gz";
-        sha512  = "0796a81339788fbc160885548983889dcffd26a5c0ac935b497b290ae99920386f3929cebfbef9bb22f644a207ba329cf8b90ffe7bbb49d1d99d0d8a05ce50c9";
+        url     = "https://download.visualstudio.microsoft.com/download/pr/032fc69b-f437-4d17-9e6c-c204ce18a0b0/76386390762a9ba205666a6e45a2ac47/dotnet-sdk-6.0.202-osx-arm64.tar.gz";
+        sha512  = "8bf9ff3f89ac0f2d04b09d3f5df72efeac8007b9e33980c9c80eb735d050275a5594b11d902d0304ac9967111971bcd690be3adf34d4acbef6d247e8f2071f60";
       };
     };
   };
diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix
index 1e8917ef6cf..88d4831812f 100644
--- a/pkgs/development/compilers/gcc/10/default.nix
+++ b/pkgs/development/compilers/gcc/10/default.nix
@@ -288,6 +288,7 @@ stdenv.mkDerivation ({
     maintainers = lib.teams.gcc.members;
 
     platforms = lib.platforms.unix;
+    badPlatforms = [ "aarch64-darwin" ];
   };
 }
 
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index ef1a04635f9..8cd0d3c9ce8 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -312,7 +312,7 @@ stdenv.mkDerivation ({
     maintainers = with lib.maintainers; [ veprbl ];
 
     platforms = lib.platforms.unix;
-    badPlatforms = [ "x86_64-darwin" ];
+    badPlatforms = lib.platforms.darwin;
   };
 }
 
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index 289df07d031..b3d0f8d5d50 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -328,7 +328,7 @@ stdenv.mkDerivation ({
     maintainers = with lib.maintainers; [ veprbl ];
 
     platforms = lib.platforms.unix;
-    badPlatforms = [ "x86_64-darwin" ];
+    badPlatforms = lib.platforms.darwin;
   };
 }
 
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index a577c61bdf5..62b46df1ab0 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -341,6 +341,7 @@ stdenv.mkDerivation ({
     '';
 
     platforms = lib.platforms.unix;
+    badPlatforms = [ "aarch64-darwin" ];
   };
 }
 
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
index 937ccbb3510..1abf14c8a8c 100644
--- a/pkgs/development/compilers/gcc/7/default.nix
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -297,6 +297,7 @@ stdenv.mkDerivation ({
     maintainers = lib.teams.gcc.members;
 
     platforms = lib.platforms.unix;
+    badPlatforms = [ "aarch64-darwin" ];
   };
 }
 
diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix
index e9819783695..2dd265b648c 100644
--- a/pkgs/development/compilers/gcc/8/default.nix
+++ b/pkgs/development/compilers/gcc/8/default.nix
@@ -276,6 +276,7 @@ stdenv.mkDerivation ({
     maintainers = lib.teams.gcc.members;
 
     platforms = lib.platforms.unix;
+    badPlatforms = [ "aarch64-darwin" ];
   };
 }
 
diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix
index dd1a53e172a..2ecfa1bb1cf 100644
--- a/pkgs/development/compilers/gcc/9/default.nix
+++ b/pkgs/development/compilers/gcc/9/default.nix
@@ -307,6 +307,7 @@ stdenv.mkDerivation ({
     maintainers = lib.teams.gcc.members;
 
     platforms = lib.platforms.unix;
+    badPlatforms = [ "aarch64-darwin" ];
   };
 }
 
diff --git a/pkgs/development/compilers/ghc/8.10.2-binary.nix b/pkgs/development/compilers/ghc/8.10.2-binary.nix
index a29a5b0b5ab..10ee40f710c 100644
--- a/pkgs/development/compilers/ghc/8.10.2-binary.nix
+++ b/pkgs/development/compilers/ghc/8.10.2-binary.nix
@@ -272,6 +272,20 @@ stdenv.mkDerivation rec {
     lib.optionalString stdenv.isLinux ''
       find . -type f -executable -exec patchelf \
           --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \;
+    '' +
+    # The hadrian install Makefile uses 'xxx' as a temporary placeholder in path
+    # substitution. Which can break the build if the store path / prefix happens
+    # to contain this string. This will be fixed with 9.4 bindists.
+    # https://gitlab.haskell.org/ghc/ghc/-/issues/21402
+    ''
+      # Detect hadrian Makefile by checking for the target that has the problem
+      if grep '^update_package_db' ghc-${version}*/Makefile > /dev/null; then
+        echo Hadrian bindist, applying workaround for xxx path substitution.
+        # based on https://gitlab.haskell.org/ghc/ghc/-/commit/dd5fecb0e2990b192d92f4dfd7519ecb33164fad.patch
+        substituteInPlace ghc-${version}*/Makefile --replace 'xxx' '\0xxx\0'
+      else
+        echo Not a hadrian bindist, not applying xxx path workaround.
+      fi
     '';
 
   # fix for `configure: error: Your linker is affected by binutils #16177`
diff --git a/pkgs/development/compilers/ghc/8.10.7-binary.nix b/pkgs/development/compilers/ghc/8.10.7-binary.nix
index bf3ace0240c..94ad5a78a0a 100644
--- a/pkgs/development/compilers/ghc/8.10.7-binary.nix
+++ b/pkgs/development/compilers/ghc/8.10.7-binary.nix
@@ -270,6 +270,20 @@ stdenv.mkDerivation rec {
     lib.optionalString stdenv.isLinux ''
       find . -type f -executable -exec patchelf \
           --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \;
+    '' +
+    # The hadrian install Makefile uses 'xxx' as a temporary placeholder in path
+    # substitution. Which can break the build if the store path / prefix happens
+    # to contain this string. This will be fixed with 9.4 bindists.
+    # https://gitlab.haskell.org/ghc/ghc/-/issues/21402
+    ''
+      # Detect hadrian Makefile by checking for the target that has the problem
+      if grep '^update_package_db' ghc-${version}*/Makefile > /dev/null; then
+        echo Hadrian bindist, applying workaround for xxx path substitution.
+        # based on https://gitlab.haskell.org/ghc/ghc/-/commit/dd5fecb0e2990b192d92f4dfd7519ecb33164fad.patch
+        substituteInPlace ghc-${version}*/Makefile --replace 'xxx' '\0xxx\0'
+      else
+        echo Not a hadrian bindist, not applying xxx path workaround.
+      fi
     '';
 
   # fix for `configure: error: Your linker is affected by binutils #16177`
diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix
index fd14501097c..cdf4faf3ffc 100644
--- a/pkgs/development/compilers/ghc/8.10.7.nix
+++ b/pkgs/development/compilers/ghc/8.10.7.nix
@@ -212,7 +212,7 @@ stdenv.mkDerivation (rec {
       url = "https://gitlab.haskell.org/ghc/ghc/-/commit/97d0b0a367e4c6a52a17c3299439ac7de129da24.patch";
       sha256 = "0r4zjj0bv1x1m2dgxp3adsf2xkr94fjnyj1igsivd9ilbs5ja0b5";
     })
-  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+  ] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
 
     # Prevent the paths module from emitting symbols that we don't use
     # when building with separate outputs.
diff --git a/pkgs/development/compilers/ghc/9.0.2.nix b/pkgs/development/compilers/ghc/9.0.2.nix
index 1f94dd3bbde..a4cefe7294d 100644
--- a/pkgs/development/compilers/ghc/9.0.2.nix
+++ b/pkgs/development/compilers/ghc/9.0.2.nix
@@ -192,7 +192,7 @@ stdenv.mkDerivation (rec {
       url = "https://gitlab.haskell.org/ghc/ghc/-/commit/c6132c782d974a7701e7f6447bdcd2bf6db4299a.patch?merge_request_iid=7423";
       sha256 = "sha256-b4feGZIaKDj/UKjWTNY6/jH4s2iate0wAgMxG3rAbZI=";
     })
-  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+  ] ++ lib.optionals (stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64) [
 
     # Prevent the paths module from emitting symbols that we don't use
     # when building with separate outputs.
diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix
index 7295db0d9d3..b1f12304a06 100644
--- a/pkgs/development/compilers/glslang/default.nix
+++ b/pkgs/development/compilers/glslang/default.nix
@@ -9,13 +9,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "glslang";
-  version = "1.2.198.0";
+  version = "1.3.211.0";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "glslang";
     rev = "sdk-${version}";
-    sha256 = "sha256-FRiqsfoyjUW2kbbphxcy0Hn0TLVaszatM/nnWBrchRY=";
+    sha256 = "sha256-YLn/Mxuk6mXPGtBBgfwky5Nl1TCAW6i2g+AZLzqVz+A=";
   };
 
   # These get set at all-packages, keep onto them for child drvs
diff --git a/pkgs/development/compilers/go-jsonnet/default.nix b/pkgs/development/compilers/go-jsonnet/default.nix
index 25bedd397b2..3c4d90ccb05 100644
--- a/pkgs/development/compilers/go-jsonnet/default.nix
+++ b/pkgs/development/compilers/go-jsonnet/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, testVersion }:
+{ lib, buildGoModule, fetchFromGitHub, testers }:
 
 let self = buildGoModule rec {
   pname = "go-jsonnet";
@@ -17,7 +17,7 @@ let self = buildGoModule rec {
 
   subPackages = [ "cmd/jsonnet*" ];
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = self;
     version = "v${version}";
   };
diff --git a/pkgs/development/compilers/graalvm/community-edition/default.nix b/pkgs/development/compilers/graalvm/community-edition/default.nix
index 167aaa95c5f..6badaa3b4c8 100644
--- a/pkgs/development/compilers/graalvm/community-edition/default.nix
+++ b/pkgs/development/compilers/graalvm/community-edition/default.nix
@@ -12,11 +12,11 @@ let
   /*
     Looks a bit ugly but makes version update in the update script using sed
     much easier
+
+    Don't change these values! They will be updated by the update script, see ./update.nix.
   */
-  graalvm11-ce-release-version = "22.0.0.2";
-  graalvm17-ce-release-version = "22.0.0.2";
-  graalvm11-ce-dev-version = "22.2.0-dev-20220415_1945";
-  graalvm17-ce-dev-version = "22.2.0-dev-20220415_1945";
+  graalvm11-ce-release-version = "22.1.0";
+  graalvm17-ce-release-version = "22.1.0";
 
   products = [
     "graalvm-ce"
@@ -40,7 +40,6 @@ in
       aarch64-darwin = {
         inherit products;
         arch = "darwin-aarch64";
-        version = graalvm11-ce-dev-version;
       };
       aarch64-linux = {
         inherit products;
@@ -64,7 +63,6 @@ in
       aarch64-darwin = {
         inherit products;
         arch = "darwin-aarch64";
-        version = graalvm17-ce-dev-version;
       };
       aarch64-linux = {
         inherit products;
diff --git a/pkgs/development/compilers/graalvm/community-edition/graalvm11-ce-sources.json b/pkgs/development/compilers/graalvm/community-edition/graalvm11-ce-sources.json
index 732cefbdf73..38f4a4eda9a 100644
--- a/pkgs/development/compilers/graalvm/community-edition/graalvm11-ce-sources.json
+++ b/pkgs/development/compilers/graalvm/community-edition/graalvm11-ce-sources.json
@@ -1,42 +1,42 @@
 {
   "darwin-aarch64": {
-    "graalvm-ce|java11|22.2.0-dev-20220415_1945": {
-      "sha256": "ab81b00177124d746a3871b6e48ce7611e93dd3b4f6dee45d77300ef214fbab8",
-      "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220415_1945/graalvm-ce-java11-darwin-aarch64-dev.tar.gz"
+    "graalvm-ce|java11|22.1.0": {
+      "sha256": "06bc19a0b1e93aa3df5e15c08e97f8cef624cb6070eeae40a69a51ec7fd41152",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/graalvm-ce-java11-darwin-aarch64-22.1.0.tar.gz"
     },
-    "native-image-installable-svm|java11|22.2.0-dev-20220415_1945": {
-      "sha256": "9d3753736fe71f55f3fb3bcbdf43271dd96dda0c4b731d11f3f890d5bddf3bbb",
-      "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220415_1945/native-image-installable-svm-java11-darwin-aarch64-dev.jar"
+    "native-image-installable-svm|java11|22.1.0": {
+      "sha256": "21f84ccf7b979dccc9091032fe76b5737b38e0092f282107cef75143dadb3bdb",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/native-image-installable-svm-java11-darwin-aarch64-22.1.0.jar"
     }
   },
   "darwin-amd64": {
-    "graalvm-ce|java11|22.0.0.2": {
-      "sha256": "8280159b8a66c51a839c8079d885928a7f759d5da0632f3af7300df2b63a6323",
-      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java11-darwin-amd64-22.0.0.2.tar.gz"
+    "graalvm-ce|java11|22.1.0": {
+      "sha256": "c4c9df94ca47b83b582758b87d39042732ba0193fc63f1ab93f6818005a1fe6b",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/graalvm-ce-java11-darwin-amd64-22.1.0.tar.gz"
     },
-    "native-image-installable-svm|java11|22.0.0.2": {
-      "sha256": "03c27de6cce61ee8073e89252212457f3fbac2c0bc9bfa4acbff12176476c176",
-      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java11-darwin-amd64-22.0.0.2.jar"
+    "native-image-installable-svm|java11|22.1.0": {
+      "sha256": "e0758687f4bd46f15fcee9b0a5bdd65d702ec81c41d465ee7229d3f4465bcf13",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/native-image-installable-svm-java11-darwin-amd64-22.1.0.jar"
     }
   },
   "linux-aarch64": {
-    "graalvm-ce|java11|22.0.0.2": {
-      "sha256": "1cc0263d95f642dada4e290dca7f49c0456cefa7b690b67e3e5c159b537b2c58",
-      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java11-linux-aarch64-22.0.0.2.tar.gz"
+    "graalvm-ce|java11|22.1.0": {
+      "sha256": "050a4d471247d91935f7f485e92d678f0163e1d6209e26e8fe75d7c924f73e71",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/graalvm-ce-java11-linux-aarch64-22.1.0.tar.gz"
     },
-    "native-image-installable-svm|java11|22.0.0.2": {
-      "sha256": "51d41e890a5aabf8e7b9d4f4e0f88206ee70a261f7dbb0315d51770ab8f3009e",
-      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java11-linux-aarch64-22.0.0.2.jar"
+    "native-image-installable-svm|java11|22.1.0": {
+      "sha256": "12715793b223ce1db7ec7d0a339f0b578a0c9fb6dcc6607044e5af4fd33b25a7",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/native-image-installable-svm-java11-linux-aarch64-22.1.0.jar"
     }
   },
   "linux-amd64": {
-    "graalvm-ce|java11|22.0.0.2": {
-      "sha256": "bc86083bb7e2778c7e4fe4f55d74790e42255b96f7806a7fefa51d06f3bc7103",
-      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java11-linux-amd64-22.0.0.2.tar.gz"
+    "graalvm-ce|java11|22.1.0": {
+      "sha256": "78c628707007bb97b09562932ee16f50beb1c3fa4a36e4311a0465a4a718e683",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/graalvm-ce-java11-linux-amd64-22.1.0.tar.gz"
     },
-    "native-image-installable-svm|java11|22.0.0.2": {
-      "sha256": "8504a3441f5b28b8fd625f676674a9216f082ae63a4e30d43930c80f9672e71d",
-      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java11-linux-amd64-22.0.0.2.jar"
+    "native-image-installable-svm|java11|22.1.0": {
+      "sha256": "36e4a2a9a73a19b03883f9e783bc8bde7c214bb0fa4b617379cb81798de425bf",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/native-image-installable-svm-java11-linux-amd64-22.1.0.jar"
     }
   }
 }
diff --git a/pkgs/development/compilers/graalvm/community-edition/graalvm17-ce-sources.json b/pkgs/development/compilers/graalvm/community-edition/graalvm17-ce-sources.json
index 57fdd4c2884..dba9d9c9da0 100644
--- a/pkgs/development/compilers/graalvm/community-edition/graalvm17-ce-sources.json
+++ b/pkgs/development/compilers/graalvm/community-edition/graalvm17-ce-sources.json
@@ -1,42 +1,42 @@
 {
   "darwin-aarch64": {
-    "graalvm-ce|java17|22.2.0-dev-20220415_1945": {
-      "sha256": "1dbb0e0b9c85391ea6f1a0bd95ae252a396152d83e3a0e79cffd988144259e68",
-      "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220415_1945/graalvm-ce-java17-darwin-aarch64-dev.tar.gz"
+    "graalvm-ce|java17|22.1.0": {
+      "sha256": "06075cd390bd261721392cd6fd967b1d28c0500d1b5625272ea906038e5cd533",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/graalvm-ce-java17-darwin-aarch64-22.1.0.tar.gz"
     },
-    "native-image-installable-svm|java17|22.2.0-dev-20220415_1945": {
-      "sha256": "029499c011ceb1a4560957db651805325a201488b5f0b7467f007c7385d004e2",
-      "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220415_1945/native-image-installable-svm-java17-darwin-aarch64-dev.jar"
+    "native-image-installable-svm|java17|22.1.0": {
+      "sha256": "beabecdd5b87e7536772d4dfe70abf4c5dd9847e87615464cf309138d21c39af",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/native-image-installable-svm-java17-darwin-aarch64-22.1.0.jar"
     }
   },
   "darwin-amd64": {
-    "graalvm-ce|java17|22.0.0.2": {
-      "sha256": "d54af9d1f4d0d351827395a714ed84d2489b023b74a9c13a431cc9d31d1e8f9a",
-      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java17-darwin-amd64-22.0.0.2.tar.gz"
+    "graalvm-ce|java17|22.1.0": {
+      "sha256": "b9327fa73531a822d9a27d25980396353869eefbd73fdcef89b4fceb9f529c75",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/graalvm-ce-java17-darwin-amd64-22.1.0.tar.gz"
     },
-    "native-image-installable-svm|java17|22.0.0.2": {
-      "sha256": "007fa742cd139d447f83d776b6d78e717c9df11d56a61061a5937547c20028b7",
-      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java17-darwin-amd64-22.0.0.2.jar"
+    "native-image-installable-svm|java17|22.1.0": {
+      "sha256": "e6bfe208bb28cd1d98da55e00fa705890a7f69286b919947b07d18cc9bb9c270",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/native-image-installable-svm-java17-darwin-amd64-22.1.0.jar"
     }
   },
   "linux-aarch64": {
-    "graalvm-ce|java17|22.0.0.2": {
-      "sha256": "c7d78387d2a144944f26773697c1b61d3478a081a1c5e7fc20f47f1f5f3c82c7",
-      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java17-linux-aarch64-22.0.0.2.tar.gz"
+    "graalvm-ce|java17|22.1.0": {
+      "sha256": "05128e361ed44beebc89495faaa504b0b975bf93aa5e512e217b3cf5e42dfada",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/graalvm-ce-java17-linux-aarch64-22.1.0.tar.gz"
     },
-    "native-image-installable-svm|java17|22.0.0.2": {
-      "sha256": "798947d0a93988929d2b8e3555f7c65225e789124cd99fbc0c3aae5f350175db",
-      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java17-linux-aarch64-22.0.0.2.jar"
+    "native-image-installable-svm|java17|22.1.0": {
+      "sha256": "6e10f6953ec8b9509c7a7d0194d57f265cf2a05dcb8f3272a6a8e847bda49cda",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/native-image-installable-svm-java17-linux-aarch64-22.1.0.jar"
     }
   },
   "linux-amd64": {
-    "graalvm-ce|java17|22.0.0.2": {
-      "sha256": "4f743e0ed3d974b7d619ca2ed6014554e8c12e5ebbb38b9bc9e820b182169bd4",
-      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java17-linux-amd64-22.0.0.2.tar.gz"
+    "graalvm-ce|java17|22.1.0": {
+      "sha256": "f11d46098efbf78465a875c502028767e3de410a31e45d92a9c5cf5046f42aa2",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/graalvm-ce-java17-linux-amd64-22.1.0.tar.gz"
     },
-    "native-image-installable-svm|java17|22.0.0.2": {
-      "sha256": "8c25f650d58c2649c97061cb806dfaec9e685d5d2b80afc7cf72fe61d6891831",
-      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java17-linux-amd64-22.0.0.2.jar"
+    "native-image-installable-svm|java17|22.1.0": {
+      "sha256": "d81eecea15ebbf4f24850860c14104eaf6f8ae74574330e22afac533b8f96738",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.1.0/native-image-installable-svm-java17-linux-amd64-22.1.0.jar"
     }
   }
 }
diff --git a/pkgs/development/compilers/graalvm/community-edition/update.nix b/pkgs/development/compilers/graalvm/community-edition/update.nix
index 77f9d0e095b..05963150eac 100644
--- a/pkgs/development/compilers/graalvm/community-edition/update.nix
+++ b/pkgs/development/compilers/graalvm/community-edition/update.nix
@@ -53,6 +53,7 @@ let
   getArchString = nixArchString:
     {
       "aarch64-linux" = "linux-aarch64";
+      "aarch64-darwin" = "darwin-aarch64";
       "x86_64-linux" = "linux-amd64";
       "x86_64-darwin" = "darwin-amd64";
     }.${nixArchString};
diff --git a/pkgs/development/compilers/hare/config-template.mk b/pkgs/development/compilers/hare/config-template.mk
new file mode 100644
index 00000000000..1d0783b118d
--- /dev/null
+++ b/pkgs/development/compilers/hare/config-template.mk
@@ -0,0 +1,27 @@
+## Template to generate config.mk via substitute-all
+
+# set PREFIX externally
+BINDIR = $(PREFIX)/bin
+MANDIR = $(PREFIX)/share/man
+SRCDIR = $(PREFIX)/src
+STDLIB = $(SRCDIR)/hare/stdlib
+
+HAREPATH = $(SRCDIR)/hare/stdlib:$(SRCDIR)/hare/third-party
+
+## Build configuration
+
+# Platform to build for
+PLATFORM = @platform@
+ARCH = @arch@
+
+# External tools and flags
+HAREC = harec
+HAREFLAGS = @hareflags@
+QBE = qbe
+AS = as
+LD = ld
+AR = ar
+SCDOC = scdoc
+
+# Where to store build artifacts
+# set HARECACHE externally
diff --git a/pkgs/development/compilers/hare/hare.nix b/pkgs/development/compilers/hare/hare.nix
new file mode 100644
index 00000000000..f5c0cd8e405
--- /dev/null
+++ b/pkgs/development/compilers/hare/hare.nix
@@ -0,0 +1,93 @@
+{ lib
+, stdenv
+, fetchFromSourcehut
+, binutils-unwrapped
+, harec
+, makeWrapper
+, qbe
+, scdoc
+, substituteAll
+}:
+
+stdenv.mkDerivation rec {
+  pname = "hare";
+  version = "0.pre+date=2022-04-27";
+
+  src = fetchFromSourcehut {
+    name = pname + "-src";
+    owner = "~sircmpwn";
+    repo = pname;
+    rev = "1bfb2e6dee850c675a8831b41420800d3c62c2a0";
+    hash = "sha256-1b7U5u3PM3jmnH/OnY9O++GTPyVOdFkJ0fwJBoDZgSU=";
+  };
+
+  nativeBuildInputs = [
+    binutils-unwrapped
+    harec
+    makeWrapper
+    qbe
+    scdoc
+  ];
+
+  buildInputs = [
+    binutils-unwrapped
+    harec
+    qbe
+  ];
+
+  strictDeps = true;
+
+  configurePhase =
+    let
+      # https://harelang.org/platforms/
+      arch =
+        if stdenv.isx86_64 then "x86_64"
+        else if stdenv.isAarch64 then "aarch64"
+        else if stdenv.isRiscV64 then "riscv64"
+        else "unsupported";
+      platform =
+        if stdenv.isLinux then "linux"
+        else if stdenv.isFreeBSD then "freebsd"
+        else "unsupported";
+      hareflags = "";
+      config-file = substituteAll {
+        src = ./config-template.mk;
+        inherit arch platform hareflags;
+      };
+    in
+      ''
+        runHook preConfigure
+
+        export HARECACHE="$NIX_BUILD_TOP/.harecache"
+        cat ${config-file} > config.mk
+
+        runHook postConfigure
+      '';
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  doCheck = true;
+
+  postInstall =
+    let
+      binPath = lib.makeBinPath [
+        binutils-unwrapped
+        harec
+        qbe
+      ];
+    in
+      ''
+        wrapProgram $out/bin/hare --prefix PATH : ${binPath}
+      '';
+
+  meta = with lib; {
+    homepage = "http://harelang.org/";
+    description =
+      "A systems programming language designed to be simple, stable, and robust";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ AndersonTorres ];
+    inherit (harec.meta) platforms badPlatforms;
+  };
+}
diff --git a/pkgs/development/compilers/hare/harec.nix b/pkgs/development/compilers/hare/harec.nix
new file mode 100644
index 00000000000..a3ad53350b0
--- /dev/null
+++ b/pkgs/development/compilers/hare/harec.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, fetchFromSourcehut
+, qbe
+}:
+
+stdenv.mkDerivation rec {
+  pname = "harec";
+  version = "0.pre+date=2022-04-26";
+
+  src = fetchFromSourcehut {
+    name = pname + "-src";
+    owner = "~sircmpwn";
+    repo = pname;
+    rev = "e5fb5176ba629e98ace5fcb3aa427b2c25d8fdf0";
+    hash = "sha256-sqt3q6sarzrpyJ/1QYM1WTukrZpflAmAYq6pQwAwe18=";
+  };
+
+  nativeBuildInputs = [
+    qbe
+  ];
+
+  buildInputs = [
+    qbe
+  ];
+
+  # TODO: report upstream
+  hardeningDisable = [ "fortify" ];
+
+  strictDeps = true;
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = "http://harelang.org/";
+    description = "Bootstrapping Hare compiler written in C for POSIX systems";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ AndersonTorres ];
+    # The upstream developers do not like proprietary operating systems; see
+    # https://harelang.org/platforms/
+    platforms = with platforms;
+      lib.intersectLists (freebsd ++ linux) (aarch64 ++ x86_64 ++ riscv64);
+    badPlatforms = with platforms; darwin;
+  };
+}
diff --git a/pkgs/development/compilers/inklecate/deps-darwin.nix b/pkgs/development/compilers/inklecate/deps-darwin.nix
index bd7e4399c95..d9c53d5e91e 100644
--- a/pkgs/development/compilers/inklecate/deps-darwin.nix
+++ b/pkgs/development/compilers/inklecate/deps-darwin.nix
@@ -1,6 +1,6 @@
 { fetchNuGet }: [
   (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "3.1.23"; sha256 = "0r2jd4ys31sgp2zcf8lzkji1xkyaxzgrkrh5rkk7p3r8b5f7fkcv"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "3.1.24"; sha256 = "0a4ra58nhh8q8r9lmzihjabx3dwyzh0wpdjlz4qxvjjbr6cqnhy9"; })
   (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
diff --git a/pkgs/development/compilers/inklecate/deps-linux.nix b/pkgs/development/compilers/inklecate/deps-linux.nix
index 1d5345147ed..c5b800a22fe 100644
--- a/pkgs/development/compilers/inklecate/deps-linux.nix
+++ b/pkgs/development/compilers/inklecate/deps-linux.nix
@@ -1,6 +1,6 @@
 { fetchNuGet }: [
   (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "3.1.10"; sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "3.1.23"; sha256 = "09cy79swsmrfczv92wmxrwin7djpdl22yzhriac7r1xcg2sc36yk"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "3.1.24"; sha256 = "16wn8f3aswbbp1ivh0rdmhq99924ba8jmgaw964h23ncy6xyh2ip"; })
   (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "3.1.0"; sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
diff --git a/pkgs/development/compilers/jasmin-compiler/default.nix b/pkgs/development/compilers/jasmin-compiler/default.nix
new file mode 100644
index 00000000000..7642ae4aff2
--- /dev/null
+++ b/pkgs/development/compilers/jasmin-compiler/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, lib, fetchurl, ocamlPackages, mpfr, ppl }:
+
+stdenv.mkDerivation rec {
+  pname = "jasmin-compiler";
+  version = "21.0";
+
+  src = fetchurl {
+    url = "https://github.com/jasmin-lang/jasmin/releases/download/v${version}/jasmin-compiler-v${version}.tar.bz2";
+    sha256 = "sha256:1px17fpc00gca5ayfcr4k008srkyw120c25rnyf7cgzfs1gpylj2";
+  };
+
+  sourceRoot = "jasmin-compiler-v${version}/compiler";
+
+  nativeBuildInputs = with ocamlPackages; [ ocaml findlib ocamlbuild menhir camlidl ];
+
+  buildInputs = [
+    mpfr
+    ppl
+  ] ++ (with ocamlPackages; [
+    apron
+    batteries
+    menhirLib
+    yojson
+    zarith
+  ]);
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp jasminc.native $out/bin/jasminc
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "A workbench for high-assurance and high-speed cryptography";
+    homepage = "https://github.com/jasmin-lang/jasmin/";
+    platforms = lib.platforms.all;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index fe0bd29a1b2..5f493394f04 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kotlin";
-  version = "1.6.20";
+  version = "1.6.21";
 
   src = fetchurl {
     url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
-    hash = "sha256-2vF9scGU9CBfOvZxKTZ6abOI+BkXeWPcU6e0ssTYziI=";
+    hash = "sha256-YyFm/tifP0MEgvWqB/LiC5I7cu9ojI9affOqFQLG2Lo=";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/compilers/kotlin/native.nix b/pkgs/development/compilers/kotlin/native.nix
index 0c0315d8766..4438a78608a 100644
--- a/pkgs/development/compilers/kotlin/native.nix
+++ b/pkgs/development/compilers/kotlin/native.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "kotlin-native";
-  version = "1.6.20";
+  version = "1.6.21";
 
   src = let
     getArch = {
@@ -20,9 +20,9 @@ stdenv.mkDerivation rec {
       "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-native-${arch}-${version}.tar.gz";
 
     getHash = arch: {
-      "macos-aarch64" = "sha256-Nb/5UrNnIOJI+5PdXX4FfhUvCChrfUTkjaMS7nN/eGg=";
-      "macos-x86_64" = "sha256-cgET1zjk14/o3EH/1t7jfCfXHwcjfAANKG+yxpQccMc=";
-      "linux-x86_64" = "sha256-qbXyvCTGqRK0mCav6Ei128y1Ok1vfZ1o0haZ+MJjmBQ=";
+      "macos-aarch64" = "sha256-kkJvlDtK0Y+zeht+9fLX2HL2fyKOIyo0qYkJk+35tMU=";
+      "macos-x86_64" = "sha256-znTMO8h0pC6bkSUVYmxWPe4HVQPQw/VcJM11ckmG8CA=";
+      "linux-x86_64" = "sha256-r1H2riRLsZl5+65tw6/cp7rkJWjWoz8PozHt1mWmEfo=";
     }.${arch};
   in
     fetchurl {
diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix
index 0573b43f5e2..2c6045c13a6 100644
--- a/pkgs/development/compilers/ocaml/generic.nix
+++ b/pkgs/development/compilers/ocaml/generic.nix
@@ -7,7 +7,7 @@ let
 in
 
 { lib, stdenv, fetchurl, ncurses, buildEnv, libunwind, fetchpatch
-, libX11, xorgproto, useX11 ? safeX11 stdenv && !lib.versionAtLeast version "4.09"
+, libX11, xorgproto, useX11 ? safeX11 stdenv && lib.versionOlder version "4.09"
 , aflSupport ? false
 , flambdaSupport ? false
 , spaceTimeSupport ? false
@@ -87,14 +87,14 @@ stdenv.mkDerivation (args // {
   buildFlags = if useNativeCompilers
     then ["nixpkgs_world_bootstrap_world_opt"]
     else ["nixpkgs_world"];
-  buildInputs = optional (!lib.versionAtLeast version "4.07") ncurses
+  buildInputs = optional (lib.versionOlder version "4.07") ncurses
     ++ optionals useX11 [ libX11 xorgproto ];
   propagatedBuildInputs = optional spaceTimeSupport libunwind;
   installTargets = [ "install" ] ++ optional useNativeCompilers "installopt";
-  preConfigure = optionalString (!lib.versionAtLeast version "4.04") ''
+  preConfigure = optionalString (lib.versionOlder version "4.04") ''
     CAT=$(type -tp cat)
     sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
-  '' + optionalString (stdenv.isDarwin && !lib.versionAtLeast version "4.13") ''
+  '' + optionalString (stdenv.isDarwin && lib.versionOlder version "4.13") ''
     # Do what upstream does by default now: https://github.com/ocaml/ocaml/pull/10176
     # This is required for aarch64-darwin, everything else works as is.
     AS="${stdenv.cc}/bin/cc -c" ASPP="${stdenv.cc}/bin/cc -c"
@@ -137,7 +137,7 @@ stdenv.mkDerivation (args // {
     '';
 
     platforms = with platforms; linux ++ darwin;
-    broken = stdenv.isAarch64 && !lib.versionAtLeast version "4.06";
+    broken = stdenv.isAarch64 && lib.versionOlder version "4.06";
   };
 
 })
diff --git a/pkgs/development/compilers/open-watcom/v2.nix b/pkgs/development/compilers/open-watcom/v2.nix
index 36eccd64dd6..77606d8a511 100644
--- a/pkgs/development/compilers/open-watcom/v2.nix
+++ b/pkgs/development/compilers/open-watcom/v2.nix
@@ -12,14 +12,14 @@
 
 stdenv.mkDerivation rec {
   pname = "open-watcom-v2";
-  version = "unstable-2022-04-21";
+  version = "unstable-2022-04-29";
   name = "${pname}-unwrapped-${version}";
 
   src = fetchFromGitHub {
     owner = "open-watcom";
     repo = "open-watcom-v2";
-    rev = "bec9e74cdcd048db527ccacc8894493d2ec6e12a";
-    sha256 = "iJG7+OQYZCRyKO/NXkM3gJjgWRbQk26O+66QaAIJAcc=";
+    rev = "520d9d7025b46b926123257b029b3dbce9a96065";
+    sha256 = "aACkkTzOH8F82GPyySjtb7CGozR8OjgzqZVRiNTiS10=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/compilers/opendylan/bin.nix b/pkgs/development/compilers/opendylan/bin.nix
index f105707f933..6e404f37ae9 100644
--- a/pkgs/development/compilers/opendylan/bin.nix
+++ b/pkgs/development/compilers/opendylan/bin.nix
@@ -1,6 +1,6 @@
 # Binaries provided by Open Dylan to be used to bootstrap from source.
 # The binaries can also be used as is.
-{lib, stdenv, fetchurl, patchelf, boehmgc, gnused, gcc, makeWrapper}:
+{lib, stdenv, fetchurl, patchelf, boehmgc, gcc, makeWrapper}:
 
 stdenv.mkDerivation rec {
   pname = "opendylan";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     }
     else throw "platform ${stdenv.hostPlatform.system} not supported.";
 
-  nativeBuildInputs = [ patchelf boehmgc gnused makeWrapper ];
+  nativeBuildInputs = [ patchelf boehmgc makeWrapper ];
 
   buildCommand = ''
     mkdir -p "$out"
diff --git a/pkgs/development/compilers/openjdk/11.nix b/pkgs/development/compilers/openjdk/11.nix
index 8c45bece9ad..1a74a78fc6c 100644
--- a/pkgs/development/compilers/openjdk/11.nix
+++ b/pkgs/development/compilers/openjdk/11.nix
@@ -11,8 +11,8 @@
 let
   major = "11";
   minor = "0";
-  update = "12";
-  build = "7";
+  update = "15";
+  build = "10";
 
   openjdk = stdenv.mkDerivation rec {
     pname = "openjdk" + lib.optionalString headless "-headless";
@@ -22,7 +22,7 @@ let
       owner = "openjdk";
       repo = "jdk${major}u";
       rev = "jdk-${version}";
-      sha256 = "0s8g6gj5vhm7hbp05cqaxasjrkwr41fm634qim8q6slklm4pkkli";
+      sha256 = "le2JDxPJPSuga4JxLJNRZwCaodptSb2kh4TsJXumTXs=";
     };
 
     nativeBuildInputs = [ pkg-config autoconf unzip ];
@@ -40,7 +40,6 @@ let
       ./currency-date-range-jdk10.patch
       ./increase-javadoc-heap.patch
       ./fix-library-path-jdk11.patch
-      ./fix-glibc-2.34.patch
     ] ++ lib.optionals (!headless && enableGnome2) [
       ./swing-use-gtk-jdk10.patch
     ];
@@ -61,13 +60,17 @@ let
       "--with-zlib=system"
       "--with-lcms=system"
       "--with-stdc++lib=dynamic"
+      "--disable-warnings-as-errors"
     ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc"
       ++ lib.optional headless "--enable-headless-only"
       ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}";
 
     separateDebugInfo = true;
 
-    NIX_CFLAGS_COMPILE = "-Wno-error";
+    # Workaround for
+    # `cc1plus: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security]`
+    # when building jtreg
+    NIX_CFLAGS_COMPILE = "-Wformat";
 
     NIX_LDFLAGS = toString (lib.optionals (!headless) [
       "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic"
diff --git a/pkgs/development/compilers/openjdk/17.nix b/pkgs/development/compilers/openjdk/17.nix
index 757fe8f101e..de12711894f 100644
--- a/pkgs/development/compilers/openjdk/17.nix
+++ b/pkgs/development/compilers/openjdk/17.nix
@@ -11,8 +11,8 @@
 let
   version = {
     feature = "17";
-    interim = ".0.1";
-    build = "12";
+    interim = ".0.3";
+    build = "7";
   };
 
   openjdk = stdenv.mkDerivation {
@@ -23,7 +23,7 @@ let
       owner = "openjdk";
       repo = "jdk${version.feature}u";
       rev = "jdk-${version.feature}${version.interim}+${version.build}";
-      sha256 = "1l1jgbz8q7zq66npfg88r0l5xga427vrz35iys09j44b6qllrldd";
+      sha256 = "qxiKz8HCNZXFdfgfiA16q5z0S65cZE/u7e+QxLlplWo=";
     };
 
     nativeBuildInputs = [ pkg-config autoconf unzip ];
diff --git a/pkgs/development/compilers/openjdk/darwin/8.nix b/pkgs/development/compilers/openjdk/darwin/8.nix
index 009802b2923..aeb60d8bc46 100644
--- a/pkgs/development/compilers/openjdk/darwin/8.nix
+++ b/pkgs/development/compilers/openjdk/darwin/8.nix
@@ -79,6 +79,12 @@ let
       EOF
     '';
 
+    # fixupPhase is moving the man to share/man which breaks it because it's a
+    # relative symlink.
+    postFixup = ''
+      ln -nsf ../zulu-${lib.versions.major version}.jdk/Contents/Home/man $out/share/man
+    '';
+
     passthru = {
       jre = jdk;
       home = jdk;
diff --git a/pkgs/development/compilers/openjdk/fix-library-path-jdk11.patch b/pkgs/development/compilers/openjdk/fix-library-path-jdk11.patch
index 21263dd6892..ce30edb7f1d 100644
--- a/pkgs/development/compilers/openjdk/fix-library-path-jdk11.patch
+++ b/pkgs/development/compilers/openjdk/fix-library-path-jdk11.patch
@@ -1,16 +1,31 @@
+From 83f97773ea99fe2191a49e551ea43d51c9a765cd Mon Sep 17 00:00:00 2001
+Subject: [PATCH] strip some hard-coded default paths for libs and extensions
+
+---
+ src/hotspot/os/linux/os_linux.cpp | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
 diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp
-index 0dbe03349e..847d56778d 100644
+index 476b1c2175..2695ed2301 100644
 --- a/src/hotspot/os/linux/os_linux.cpp
 +++ b/src/hotspot/os/linux/os_linux.cpp
-@@ -326,13 +326,13 @@ void os::init_system_properties_values() {
+@@ -417,20 +417,20 @@ void os::init_system_properties_values() {
    //        ...
    //        7: The default directories, normally /lib and /usr/lib.
  #if defined(AMD64) || (defined(_LP64) && defined(SPARC)) || defined(PPC64) || defined(S390)
 -  #define DEFAULT_LIBPATH "/usr/lib64:/lib64:/lib:/usr/lib"
 +  #define DEFAULT_LIBPATH ""
  #else
+ #if defined(AARCH64)
+   // Use 32-bit locations first for AARCH64 (a 64-bit architecture), since some systems
+   // might not adhere to the FHS and it would be a change in behaviour if we used
+   // DEFAULT_LIBPATH of other 64-bit architectures which prefer the 64-bit paths.
+-  #define DEFAULT_LIBPATH "/lib:/usr/lib:/usr/lib64:/lib64"
++  #define DEFAULT_LIBPATH ""
+ #else
 -  #define DEFAULT_LIBPATH "/lib:/usr/lib"
 +  #define DEFAULT_LIBPATH ""
+ #endif // AARCH64
  #endif
  
  // Base path of extensions installed on the system.
@@ -19,7 +34,7 @@ index 0dbe03349e..847d56778d 100644
  #define EXTENSIONS_DIR  "/lib/ext"
  
    // Buffer that fits several sprintfs.
-@@ -392,13 +392,13 @@ void os::init_system_properties_values() {
+@@ -490,13 +490,13 @@ void os::init_system_properties_values() {
                                                       strlen(v) + 1 +
                                                       sizeof(SYS_EXT_DIR) + sizeof("/lib/") + sizeof(DEFAULT_LIBPATH) + 1,
                                                       mtInternal);
@@ -35,3 +50,6 @@ index 0dbe03349e..847d56778d 100644
    Arguments::set_ext_dirs(buf);
  
    FREE_C_HEAP_ARRAY(char, buf);
+--
+2.35.1
+
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index c7ce1bbe436..fbb45735914 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation (rec {
   pname = "ponyc";
-  version = "0.49.0";
+  version = "0.50.0";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WS3/POC+2vdx6bA8314sjkdWCIWGu9lJG4kbKMWfnX8=";
+    sha256 = "sha256-FnzlFTiJrqoUfnys+q9is6OH9yit5ExDiRszQ679QbY=";
 
     fetchSubmodules = true;
   };
diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix
index cbf36516465..4c7311d5325 100644
--- a/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, pkgs, fetchurl, zlib, gmp, ncurses5, lib }:
+{ stdenv, pkgs, fetchurl, zlib, gmp, lib }:
 
 # from justinwoo/easy-purescript-nix
 # https://github.com/justinwoo/easy-purescript-nix/blob/d383972c82620a712ead4033db14110497bc2c9c/purs.nix
@@ -18,7 +18,7 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "purescript";
-  version = "0.14.7";
+  version = "0.15.0";
 
   # These hashes can be updated automatically by running the ./update.sh script.
   src =
@@ -26,18 +26,16 @@ in stdenv.mkDerivation rec {
     then
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
-      sha256 = "0pc07xv5h7jgiy04rcrnsjb97nk5zs7jrvcsqggn0izlnrcyi8rc";
+      sha256 = "09d9pwba6fzc08m3nkc7xni29yr12gw5fj00aa77n9kxmsba0fkb";
     }
     else
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
-      sha256 = "0vcjxb1v76wg4hmisnw0pp6wl0pwp4fa19cw08zdhgy62w06mqfa";
+      sha256 = "1ygp6wvbgl3y15wq1q41j9kg2ndaxr32rpgbzfzyd9zb8n9z8lpx";
     };
 
 
-  buildInputs = [ zlib
-                  gmp
-                  ncurses5 ];
+  buildInputs = [ zlib gmp ];
   libPath = lib.makeLibraryPath buildInputs;
   dontStrip = true;
 
diff --git a/pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.js b/pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.js
index a3547e206b7..3f53065d257 100644
--- a/pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.js
+++ b/pkgs/development/compilers/purescript/purescript/test-minimal-module/Main.js
@@ -1,6 +1,6 @@
 "use strict"
 
-exports.log = function (s) {
+export const log = function (s) {
     return function () {
         console.log(s);
         return {};
diff --git a/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix b/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix
index 5f01298960c..9bc694cd73f 100644
--- a/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/test-minimal-module/default.nix
@@ -3,9 +3,9 @@
 runCommand "purescript-test-minimal-module" {} ''
   ${purescript}/bin/purs compile -o ./output ${./.}/Main.purs
 
-  echo 'require("./output/Main/index.js").main()' > node.js
+  echo 'import {main} from "./output/Main/index.js"; main()' > node.mjs
 
-  ${nodejs}/bin/node node.js | grep "hello world" || echo "did not output hello world"
+  ${nodejs}/bin/node node.mjs | grep "hello world" || (echo "did not output hello world"; exit 1)
 
   touch $out
 ''
diff --git a/pkgs/development/compilers/sbcl/2.2.4.nix b/pkgs/development/compilers/sbcl/2.2.4.nix
new file mode 100644
index 00000000000..1be043f112e
--- /dev/null
+++ b/pkgs/development/compilers/sbcl/2.2.4.nix
@@ -0,0 +1,4 @@
+import ./common.nix {
+  version = "2.2.4";
+  sha256 = "sha256-/N0lHLxl9/gI7QrXckaEjRvhZqppoX90mWABhLelcgI=";
+}
diff --git a/pkgs/development/compilers/scryer-prolog/cargo.patch b/pkgs/development/compilers/scryer-prolog/cargo.patch
index e704798c3ac..ccce7ba357d 100644
--- a/pkgs/development/compilers/scryer-prolog/cargo.patch
+++ b/pkgs/development/compilers/scryer-prolog/cargo.patch
@@ -1,101 +1,44 @@
 diff --git a/Cargo.lock b/Cargo.lock
-index ef25833..d9de212 100644
+index 4d699f11..1eb894fc 100644
 --- a/Cargo.lock
 +++ b/Cargo.lock
-@@ -41,9 +41,9 @@ checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
- 
- [[package]]
- name = "az"
--version = "0.3.1"
-+version = "1.0.0"
+@@ -875,15 +875,6 @@ version = "0.1.4"
  source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "41a6b78289a33e09b00818ca8c90ab17c5dabb6e74f4b29a6de679c0e0886ade"
-+checksum = "e9bcd47d94aa4eb8c076b50fc61a75020789394ffb9bd74a180b3379130f6569"
- 
- [[package]]
- name = "base64"
-@@ -384,9 +384,9 @@ dependencies = [
- 
- [[package]]
- name = "gmp-mpfr-sys"
--version = "1.2.2"
-+version = "1.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "63d7f805cf9df081683d463f62864bda8b8e3ce7162a8e11cd0c49f27b8ce89b"
-+checksum = "ad4e8e85ec9fb902b4564deeb17b1a263d3ba1334bef56154418aa045b159508"
- dependencies = [
-  "libc",
-  "winapi 0.3.8",
-@@ -485,9 +487,9 @@ dependencies = [
- 
- [[package]]
- name = "lexical-core"
--version = "0.4.6"
-+version = "0.4.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "2304bccb228c4b020f3a4835d247df0a02a7c4686098d4167762cfbbe4c5cb14"
-+checksum = "34449d00c5d4066537f4dc72320b18e3aa421e8e92669250eecd664c618fefce"
- dependencies = [
-  "arrayvec 0.4.12",
-  "cfg-if",
-@@ -766,15 +766,6 @@ version = "0.1.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
+ checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a"
  
 -[[package]]
 -name = "openssl-src"
--version = "111.9.0+1.1.1g"
+-version = "300.0.2+3.0.0"
 -source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "a2dbe10ddd1eb335aba3780eb2eaa13e1b7b441d2562fd962398740927f39ec4"
+-checksum = "14a760a11390b1a5daf72074d4f6ff1a6e772534ae191f999f57e9ee8146d1fb"
 -dependencies = [
 - "cc",
 -]
 -
  [[package]]
  name = "openssl-sys"
- version = "0.9.58"
-@@ -784,7 +775,6 @@ dependencies = [
-  "autocfg 1.0.0",
+ version = "0.9.70"
+@@ -893,7 +884,6 @@ dependencies = [
+  "autocfg 1.0.1",
   "cc",
   "libc",
 - "openssl-src",
   "pkg-config",
   "vcpkg",
  ]
-@@ -1159,9 +1149,9 @@ dependencies = [
- 
- [[package]]
- name = "rug"
--version = "1.8.0"
-+version = "1.11.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "72315b6d9cb7d886fb99724330c47ceb29e923df657c31da3849fe88c0ded710"
-+checksum = "e538d00da450a8e48aac7e6322e67b2dc86ec71a1feeac0e3954c4f07f01bc45"
- dependencies = [
-  "az",
-  "gmp-mpfr-sys",
-@@ -1232,7 +1222,7 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
- 
- [[package]]
- name = "scryer-prolog"
--version = "0.8.126"
-+version = "0.8.127"
- dependencies = [
-  "base64 0.12.3",
-  "blake2",
-@@ -1243,6 +1233,7 @@ dependencies = [
+@@ -1432,6 +1422,7 @@ dependencies = [
   "divrem",
-  "downcast",
+  "fxhash",
   "git-version",
 + "gmp-mpfr-sys",
   "hostname",
   "indexmap",
-  "lazy_static",
+  "instructions-template",
 diff --git a/Cargo.toml b/Cargo.toml
-index c359e1b..75c4325 100644
+index 8e81a947..d21a8d49 100644
 --- a/Cargo.toml
 +++ b/Cargo.toml
-@@ -41,10 +41,14 @@ ring = "0.16.13"
+@@ -55,7 +55,7 @@ ring = "0.16.13"
  ripemd160 = "0.8.0"
  sha3 = "0.8.2"
  blake2 = "0.8.1"
@@ -104,10 +47,20 @@ index c359e1b..75c4325 100644
  native-tls = "0.2.4"
  chrono = "0.4.11"
  select = "0.4.3"
- roxmltree = "0.11.0"
- base64 = "0.12.3"
- sodiumoxide = "0.2.6"
-+
+@@ -66,10 +66,14 @@ sodiumoxide = "0.2.6"
+ static_assertions = "1.1.0"
+ slice-deque = "0.3.0"
+ 
 +[dependencies.gmp-mpfr-sys]
 +version = "1.4"
 +features = ["use-system-libs"]
++
+ [dev-dependencies]
+ assert_cmd = "1.0.3"
+ predicates-core = "1.0.2"
+ serial_test = "0.5.1"
+ 
+ [profile.release]
+-debug = true
+\ No newline at end of file
++debug = true
diff --git a/pkgs/development/compilers/scryer-prolog/default.nix b/pkgs/development/compilers/scryer-prolog/default.nix
index 7c9afefe10d..9010cdef1dd 100644
--- a/pkgs/development/compilers/scryer-prolog/default.nix
+++ b/pkgs/development/compilers/scryer-prolog/default.nix
@@ -1,6 +1,8 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 , rustPlatform
+, rustfmt
 , gmp
 , libmpc
 , mpfr
@@ -10,21 +12,32 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "scryer-prolog";
-  version = "0.8.127";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "mthom";
     repo = "scryer-prolog";
     rev = "v${version}";
-    sha256 = "0307yclslkdx6f0h0101a3da47rhz6qizf4i8q8rjh4id8wpdsn8";
+    sha256 = "3NHpEg6QaUaqbBCq8uM5hFcqS24q4XrOnKjMmn8Z1Dg=";
   };
 
-  # Use system openssl, gmp, mpc and mpfr.
-  cargoPatches = [ ./cargo.patch ];
+  cargoPatches = [
+    # Use system openssl, gmp, mpc and mpfr.
+    ./cargo.patch
 
-  cargoSha256 = "1vf7pfhvpk7ikzibdccw7xgbywv5n4vvshjwsdsf94bhl2knrlg3";
+    ./fix-tests.patch
 
-  nativeBuildInputs = [ pkg-config ];
+    # Avoid testing failing with "couldn't save history"
+    (fetchpatch {
+      name = "fix-tests-1";
+      url = "https://patch-diff.githubusercontent.com/raw/mthom/scryer-prolog/pull/1342.patch";
+      sha256 = "2N0AOkFuf+H/aUn2QTXgmqjmvShTxHxB6kNuNdNoVRI=";
+    })
+  ];
+
+  cargoSha256 = "nqAHVXAmTW9mdE2L2yhpOTz16JbYgQUmCgiFq9pBzUU=";
+
+  nativeBuildInputs = [ pkg-config rustfmt];
   buildInputs = [ openssl gmp libmpc mpfr ];
 
   meta = with lib; {
diff --git a/pkgs/development/compilers/scryer-prolog/fix-tests.patch b/pkgs/development/compilers/scryer-prolog/fix-tests.patch
new file mode 100644
index 00000000000..53ececfdc79
--- /dev/null
+++ b/pkgs/development/compilers/scryer-prolog/fix-tests.patch
@@ -0,0 +1,29 @@
+diff --git a/tests/scryer/src_tests.rs b/tests/scryer/src_tests.rs
+index b0b9efb5..8fddd842 100644
+--- a/tests/scryer/src_tests.rs
++++ b/tests/scryer/src_tests.rs
+@@ -46,24 +46,6 @@ fn rules() {
+     load_module_test("src/tests/rules.pl", "");
+ }
+ 
+-#[serial]
+-#[test]
+-fn setup_call_cleanup_load() {
+-    load_module_test(
+-        "src/tests/setup_call_cleanup.pl",
+-        "1+21+31+2>_17737+_177381+_158071+2>41+2>_177381+2>31+2>31+2>4ba"
+-    );
+-}
+-
+-#[test]
+-fn setup_call_cleanup_process() {
+-    run_top_level_test_with_args(
+-        &["src/tests/setup_call_cleanup.pl", "-f", "-g", "halt"],
+-        "",
+-        "1+21+31+2>_19590+_195911+_176601+2>41+2>_195911+2>31+2>31+2>4ba"
+-    );
+-}
+-
+ #[serial]
+ #[test]
+ fn clpz_load() {
diff --git a/pkgs/development/compilers/solc/default.nix b/pkgs/development/compilers/solc/default.nix
index 06aa048a260..6594872a258 100644
--- a/pkgs/development/compilers/solc/default.nix
+++ b/pkgs/development/compilers/solc/default.nix
@@ -1,4 +1,5 @@
 { lib, gccStdenv, fetchzip
+, pkgs
 , boost
 , cmake
 , coreutils
@@ -41,9 +42,17 @@ let
     sha256 = "1mnvxqsan034d2jiqnw2yvkljl7lwvhakmj5bscwp1fpkn655bbw";
   };
 
-  solc = gccStdenv.mkDerivation rec {
-    pname = "solc";
-    version = "0.8.13";
+  pname = "solc";
+  version = "0.8.13";
+  meta = with lib; {
+    description = "Compiler for Ethereum smart contract language Solidity";
+    homepage = "https://github.com/ethereum/solidity";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ dbrock akru lionello sifmelcara ];
+  };
+
+  solc = if gccStdenv.isLinux then gccStdenv.mkDerivation rec {
+    inherit pname version meta;
 
     # upstream suggests avoid using archive generated by github
     src = fetchzip {
@@ -62,9 +71,12 @@ let
 
     cmakeFlags = [
       "-DBoost_USE_STATIC_LIBS=OFF"
-    ] ++ lib.optionals (!z3Support) [
+
+    ] ++ (if z3Support then [
+      "-DSTRICT_Z3_VERSION=OFF"
+    ] else [
       "-DUSE_Z3=OFF"
-    ] ++ lib.optionals (!cvc4Support) [
+    ]) ++ lib.optionals (!cvc4Support) [
       "-DUSE_CVC4=OFF"
     ];
 
@@ -90,7 +102,7 @@ let
       for i in ./scripts/*.sh ./scripts/*.py ./test/*.sh ./test/*.py; do
         patchShebangs "$i"
       done
-      TERM=xterm ./scripts/tests.sh
+      TERM=xterm ./scripts/tests.sh ${if z3Support then "--no-smt" else ""}
       popd
     '';
 
@@ -102,13 +114,24 @@ let
     passthru.tests = {
       solcWithTests = solc.overrideAttrs (attrs: { doCheck = true; });
     };
+  } else gccStdenv.mkDerivation rec {
+    inherit pname version meta;
 
-    meta = with lib; {
-      description = "Compiler for Ethereum smart contract language Solidity";
-      homepage = "https://github.com/ethereum/solidity";
-      license = licenses.gpl3;
-      maintainers = with maintainers; [ dbrock akru lionello sifmelcara ];
+    src = pkgs.fetchurl {
+      url = "https://github.com/ethereum/solidity/releases/download/v${version}/solc-macos";
+      sha256 = "sha256-FNTvAT6oKtlekf2Um3+nt4JxpIP/GnnEPWzFi4JvW+o=";
     };
+    dontUnpack = true;
+
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/bin
+      cp ${src} $out/bin/solc
+      chmod +x $out/bin/solc
+
+      runHook postInstall
+    '';
   };
 in
   solc
diff --git a/pkgs/development/compilers/squeak/default.nix b/pkgs/development/compilers/squeak/default.nix
index 158c2639f11..55abcbc64dd 100644
--- a/pkgs/development/compilers/squeak/default.nix
+++ b/pkgs/development/compilers/squeak/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, fetchurl, fetchzip
-, autoconf, automake, autoreconfHook, bash, clang, dos2unix, file, gzip, perl
+, autoconf, automake, autoreconfHook, clang, dos2unix, file, perl
 , pkg-config
 , alsa-lib, coreutils, freetype, glib, glibc, gnugrep, libpulseaudio, libtool
 , libuuid, openssl, pango, xorg
@@ -75,11 +75,9 @@ in stdenv.mkDerivation {
     autoconf
     automake
     autoreconfHook
-    bash
     clang
     dos2unix
     file
-    gzip
     perl
     pkg-config
   ];
diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix
index f47d4cd818f..d09f7b77b72 100644
--- a/pkgs/development/compilers/swift/default.nix
+++ b/pkgs/development/compilers/swift/default.nix
@@ -10,7 +10,6 @@
 , pkg-config
 , sqlite
 , swig
-, bash
 , libxml2
 , clang_10
 , python3
@@ -29,7 +28,6 @@
 , libgit2
 , fetchFromGitHub
 , fetchpatch
-, findutils
 , makeWrapper
 , gnumake
 , file
@@ -188,12 +186,8 @@ stdenv.mkDerivation {
   nativeBuildInputs = [
     autoconf
     automake
-    bash
     cmake
-    coreutils
-    findutils
     git
-    gnumake
     libtool
     makeWrapper
     ninja
diff --git a/pkgs/development/compilers/uasm/default.nix b/pkgs/development/compilers/uasm/default.nix
index 7356175c87c..2c8d6eb21ae 100644
--- a/pkgs/development/compilers/uasm/default.nix
+++ b/pkgs/development/compilers/uasm/default.nix
@@ -2,7 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , fetchpatch
-, testVersion
+, testers
 , uasm
 }:
 
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = uasm;
     command = "uasm -h";
     version = "v${version}";
diff --git a/pkgs/development/coq-modules/coqtail-math/default.nix b/pkgs/development/coq-modules/coqtail-math/default.nix
index c9c3915414c..3491e6b21f2 100644
--- a/pkgs/development/coq-modules/coqtail-math/default.nix
+++ b/pkgs/development/coq-modules/coqtail-math/default.nix
@@ -6,7 +6,12 @@ mkCoqDerivation {
   pname = "coqtail-math";
   owner = "coq-community";
   inherit version;
-  defaultVersion = if versions.range "8.11" "8.13" coq.coq-version then "20201124" else null;
+  defaultVersion = with versions; switch coq.coq-version [
+    { case = range "8.11" "8.15"; out = "8.14"; }
+    { case = range "8.11" "8.13"; out = "20201124"; }
+  ] null;
+
+  release."8.14".sha256 = "sha256:1k8f8idjnx0mf4z479vcx55iz42rjxrbplbznv80m2famxakq03c";
   release."20201124".rev    = "5c22c3d7dcd8cf4c47cf84a281780f5915488e9e";
   release."20201124".sha256 = "sha256-wd+Lh7dpAD4zfpyKuztDmSFEZo5ZiFrR8ti2jUCVvoQ=";
 
diff --git a/pkgs/development/coq-modules/flocq/default.nix b/pkgs/development/coq-modules/flocq/default.nix
index ca82bbbed06..f13aec883e7 100644
--- a/pkgs/development/coq-modules/flocq/default.nix
+++ b/pkgs/development/coq-modules/flocq/default.nix
@@ -1,4 +1,4 @@
-{ lib, bash, which, autoconf, automake,
+{ lib, which, autoconf, automake,
   mkCoqDerivation, coq, version ? null }:
 
 with lib; mkCoqDerivation {
@@ -16,7 +16,7 @@ with lib; mkCoqDerivation {
   release."2.6.1".sha256 = "0q5a038ww5dn72yvwn5298d3ridkcngb1dik8hdyr3xh7gr5qibj";
   releaseRev = v: "flocq-${v}";
 
-  nativeBuildInputs = [ bash which autoconf ];
+  nativeBuildInputs = [ which autoconf ];
   mlPlugin = true;
   useMelquiondRemake.logpath = "Flocq";
 
diff --git a/pkgs/development/coq-modules/mathcomp-word/default.nix b/pkgs/development/coq-modules/mathcomp-word/default.nix
index 9c74edd5471..463c5e5f5e9 100644
--- a/pkgs/development/coq-modules/mathcomp-word/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-word/default.nix
@@ -10,11 +10,12 @@ mkCoqDerivation {
 
   releaseRev = v: "v${v}";
 
+  release."1.1".sha256 = "sha256:0jb28vgkr4xpg9d6k85rq7abpx5ch612iw9ps5w8q80q1jpjlc4z";
   release."1.0".sha256 = "sha256:0703m97rnivcbc7vvbd9rl2dxs6l8n52cbykynw61c6w9rhxspcg";
 
   inherit version;
   defaultVersion = with versions; switch [ coq.version mathcomp.version ] [
-    { cases = [ (range "8.12" "8.14") (isGe "1.12") ]; out = "1.0"; }
+    { cases = [ (range "8.12" "8.15") (isGe "1.12") ]; out = "1.1"; }
   ] null;
 
   propagatedBuildInputs = [ mathcomp.algebra mathcomp.ssreflect mathcomp.fingroup ];
diff --git a/pkgs/development/coq-modules/metacoq/default.nix b/pkgs/development/coq-modules/metacoq/default.nix
new file mode 100644
index 00000000000..583d8b7adb9
--- /dev/null
+++ b/pkgs/development/coq-modules/metacoq/default.nix
@@ -0,0 +1,76 @@
+{ lib, which, fetchzip,
+  mkCoqDerivation, recurseIntoAttrs,  single ? false,
+  coqPackages, coq, equations, version ? null }@args:
+with builtins // lib;
+let
+  repo  = "metacoq";
+  owner = "MetaCoq";
+  defaultVersion = with versions; switch coq.coq-version [
+      { case = "8.11"; out = "1.0-beta2-8.11"; }
+      { case = "8.12"; out = "1.0-beta2-8.12"; }
+      # Do not provide 8.13 because it does not compile with equations 1.3 provided by default (only 1.2.3)
+      # { case = "8.13"; out = "1.0-beta2-8.13"; }
+    ] null;
+  release = {
+    "1.0-beta2-8.11".sha256 = "sha256-I9YNk5Di6Udvq5/xpLSNflfjRyRH8fMnRzbo3uhpXNs=";
+    "1.0-beta2-8.12".sha256 = "sha256-I8gpmU9rUQJh0qfp5KOgDNscVvCybm5zX4TINxO1TVA=";
+    "1.0-beta2-8.13".sha256 = "sha256-IC56/lEDaAylUbMCfG/3cqOBZniEQk8jmI053DBO5l8=";
+  };
+  releaseRev = v: "v${v}";
+
+  # list of core metacoq packages sorted by dependency order
+  packages = [ "template-coq" "pcuic" "safechecker" "erasure" "all" ];
+
+  template-coq = metacoq_ "template-coq";
+
+  metacoq_ = package: let
+      metacoq-deps = if package == "single" then []
+        else map metacoq_ (head (splitList (pred.equal package) packages));
+      pkgpath = if package == "single" then "./" else "./${package}";
+      pname = if package == "all" then "metacoq" else "metacoq-${package}";
+      pkgallMake = ''
+          mkdir all
+          echo "all:" > all/Makefile
+          echo "install:" >> all/Makefile
+        '' ;
+      derivation = mkCoqDerivation ({
+        inherit version pname defaultVersion release releaseRev repo owner;
+
+        extraNativeBuildInputs = [ which ];
+        mlPlugin = true;
+        extraBuildInputs = [ coq.ocamlPackages.zarith ];
+        propagatedBuildInputs = [ equations ] ++ metacoq-deps;
+
+        patchPhase =  ''
+          patchShebangs ./configure.sh
+          patchShebangs ./template-coq/update_plugin.sh
+          patchShebangs ./template-coq/gen-src/to-lower.sh
+          patchShebangs ./pcuic/clean_extraction.sh
+          patchShebangs ./safechecker/clean_extraction.sh
+          patchShebangs ./erasure/clean_extraction.sh
+          echo "CAMLFLAGS+=-w -60 # Unused module" >> ./safechecker/Makefile.plugin.local
+          sed -i -e 's/mv $i $newi;/mv $i tmp; mv tmp $newi;/' ./template-coq/gen-src/to-lower.sh ./pcuic/clean_extraction.sh ./safechecker/clean_extraction.sh ./erasure/clean_extraction.sh
+        '' ;
+
+        configurePhase = optionalString (package == "all") pkgallMake + ''
+          touch ${pkgpath}/metacoq-config
+        '' + optionalString (elem package ["safechecker" "erasure"]) ''
+          echo  "-I ${template-coq}/lib/coq/${coq.coq-version}/user-contrib/MetaCoq/Template/" > ${pkgpath}/metacoq-config
+        '' + optionalString (package == "single") ''
+          ./configure.sh local
+        '';
+
+        preBuild = ''
+          cd ${pkgpath}
+        '' ;
+
+        meta = {
+          homepage    = "https://metacoq.github.io/";
+          license     = licenses.mit;
+          maintainers = with maintainers; [ cohencyril ];
+        };
+      } // optionalAttrs (package != "single")
+        { passthru = genAttrs packages metacoq_; });
+    in derivation;
+in
+metacoq_ (if single then "single" else "all")
diff --git a/pkgs/development/coq-modules/metalib/default.nix b/pkgs/development/coq-modules/metalib/default.nix
index 14f1bab574a..26bd38f72df 100644
--- a/pkgs/development/coq-modules/metalib/default.nix
+++ b/pkgs/development/coq-modules/metalib/default.nix
@@ -4,9 +4,13 @@ with lib; mkCoqDerivation {
   pname = "metalib";
   owner = "plclub";
   inherit version;
-  defaultVersion = if versions.range "8.10" "8.13" coq.coq-version then "20200527" else null;
-  release."20200527".rev    = "597fd7d0c93eb159274e84a39d554f10f1efccf8";
-  release."20200527".sha256 = "0wbypc05d2lqfm9qaw98ynr5yc1p0ipsvyc3bh1rk9nz7zwirmjs";
+  defaultVersion = with versions; switch coq.coq-version [
+    { case = range "8.14" "8.15"; out = "8.15"; }
+    { case = range "8.10" "8.13"; out = "8.10"; }
+  ] null;
+  releaseRev = v: "coq${v}";
+  release."8.15".sha256 = "0wbp058zwa4bkdjj38aysy2g1avf9nrh8q23a3dil0q00qczi616";
+  release."8.10".sha256 = "0wbypc05d2lqfm9qaw98ynr5yc1p0ipsvyc3bh1rk9nz7zwirmjs";
 
   sourceRoot = "source/Metalib";
   installFlags = "COQMF_COQLIB=$(out)/lib/coq/${coq.coq-version}";
diff --git a/pkgs/development/coq-modules/parsec/default.nix b/pkgs/development/coq-modules/parsec/default.nix
index fa1aa3c8399..fc8fef5a4d6 100644
--- a/pkgs/development/coq-modules/parsec/default.nix
+++ b/pkgs/development/coq-modules/parsec/default.nix
@@ -11,12 +11,16 @@ mkCoqDerivation {
   releaseRev = (v: "v${v}");
 
   inherit version;
-  defaultVersion = if versions.range "8.12" "8.13" coq.version then "0.1.0" else null;
+  defaultVersion = with versions; switch coq.version [
+    { case = range "8.12" "8.15"; out = "0.1.1"; }
+    { case = range "8.12" "8.13"; out = "0.1.0"; }
+  ] null;
+  release."0.1.1".sha256 = "sha256:1c0l18s68pzd4c8i3jimh2yz0pqm4g38pca4bm7fr18r8xmqf189";
   release."0.1.0".sha256 = "sha256:01avfcqirz2b9wjzi9iywbhz9szybpnnj3672dgkfsimyg9jgnsr";
 
   meta = {
     description = "Library for serialization to S-expressions";
-    license = licenses.mit;
+    license = licenses.bsd3;
     maintainers = with maintainers; [ Zimmi48 ];
   };
 }
diff --git a/pkgs/development/coq-modules/simple-io/default.nix b/pkgs/development/coq-modules/simple-io/default.nix
index 693ff2b01d6..bcc391c4f72 100644
--- a/pkgs/development/coq-modules/simple-io/default.nix
+++ b/pkgs/development/coq-modules/simple-io/default.nix
@@ -5,10 +5,17 @@ with lib; mkCoqDerivation {
   owner = "Lysxia";
   repo = "coq-simple-io";
   inherit version;
-  defaultVersion = if versions.range "8.7" "8.13" coq.coq-version then "1.3.0" else null;
+  defaultVersion = with versions; switch coq.coq-version [
+    { case = range "8.11" "8.15"; out = "1.7.0"; }
+    { case = range "8.7"  "8.13"; out = "1.3.0"; }
+  ] null;
+  release."1.7.0".sha256 = "sha256:1a1q9x2abx71hqvjdai3n12jxzd49mhf3nqqh3ya2ssl2lj609ci";
   release."1.3.0".sha256 = "1yp7ca36jyl9kz35ghxig45x6cd0bny2bpmy058359p94wc617ax";
-  extraNativeBuildInputs = (with coq.ocamlPackages; [ ocaml ocamlbuild ]);
-  propagatedBuildInputs = [ coq-ext-lib ];
+  extraNativeBuildInputs = (with coq.ocamlPackages; [ cppo zarith ]);
+  propagatedBuildInputs = [ coq-ext-lib ]
+  ++ (with coq.ocamlPackages; [ ocaml ocamlbuild ]);
+
+  mlPlugin = true;
 
   doCheck = true;
   checkTarget = "test";
diff --git a/pkgs/development/coq-modules/tlc/default.nix b/pkgs/development/coq-modules/tlc/default.nix
index 1e212b44e72..e129e016edf 100644
--- a/pkgs/development/coq-modules/tlc/default.nix
+++ b/pkgs/development/coq-modules/tlc/default.nix
@@ -6,10 +6,12 @@ with lib; (mkCoqDerivation {
   inherit version;
   displayVersion = { tlc = false; };
   defaultVersion = with versions; switch coq.coq-version [
+    { case = range "8.13" "8.15"; out = "20211215"; }
     { case = range "8.12" "8.13"; out = "20210316"; }
     { case = range "8.10" "8.12"; out = "20200328"; }
     { case = range "8.6"  "8.12"; out = "20181116"; }
   ] null;
+  release."20211215".sha256 = "sha256:0m4d4jhdcyq8p2gpz9j3nd6jqzmz2bjmbpc0q06b38b8i550mamp";
   release."20210316".sha256 = "1hlavnx20lxpf2iydbbxqmim9p8wdwv4phzp9ypij93yivih0g4a";
   release."20200328".sha256 = "16vzild9gni8zhgb3qhmka47f8zagdh03k6nssif7drpim8233lx";
   release."20181116".sha256 = "032lrbkxqm9d3fhf6nv1kq2z0mqd3czv3ijlbsjwnfh12xck4vpl";
diff --git a/pkgs/development/embedded/fpga/apio/default.nix b/pkgs/development/embedded/fpga/apio/default.nix
index 1bb5f336f1e..3b5ad601236 100644
--- a/pkgs/development/embedded/fpga/apio/default.nix
+++ b/pkgs/development/embedded/fpga/apio/default.nix
@@ -15,19 +15,20 @@
 
 buildPythonApplication rec {
   pname = "apio";
-  version = "0.8.0";
+  version = "0.8.1";
   format = "flit";
 
   src = fetchFromGitHub {
     owner = "FPGAwars";
     repo = "apio";
     rev = "v${version}";
-    sha256 = "sha256-nOZI+FHdZRnkJF/No8z0mZ4Q5aHFnF7c20ajTPI00N4=";
+    sha256 = "sha256-04qAGTzusMT3GsaRxDoXNJK1Mslzxu+ugQclBJx8xzE=";
   };
 
   postPatch = ''
-    substituteInPlace pyproject.toml --replace \
-      'scons==4.2.0' 'scons'
+    substituteInPlace pyproject.toml \
+      --replace 'scons==4.2.0' 'scons' \
+      --replace '==' '>='
 
     substituteInPlace apio/managers/scons.py --replace \
       'return "tinyprog --libusb --program"' \
diff --git a/pkgs/development/embedded/openocd/default.nix b/pkgs/development/embedded/openocd/default.nix
index 6b4fa923894..c80f5f3dd57 100644
--- a/pkgs/development/embedded/openocd/default.nix
+++ b/pkgs/development/embedded/openocd/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
   ];
 
   configureFlags = [
+    "--disable-werror"
     "--enable-jtag_vpi"
     "--enable-usb_blaster_libftdi"
     (lib.enableFeature (! stdenv.isDarwin) "amtjtagaccel")
diff --git a/pkgs/development/gnuradio-modules/osmosdr/default.nix b/pkgs/development/gnuradio-modules/osmosdr/default.nix
index 326a2b9d9bd..b0c7a43c8e4 100644
--- a/pkgs/development/gnuradio-modules/osmosdr/default.nix
+++ b/pkgs/development/gnuradio-modules/osmosdr/default.nix
@@ -39,6 +39,8 @@ in mkDerivation {
   inherit version src;
   disabledForGRafter = "3.9";
 
+  outputs = [ "out" "dev" ];
+
   buildInputs = [
     log4cpp
     mpir
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 5f02160c64e..8393d02a316 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -687,9 +687,6 @@ self: super: {
   # https://github.com/pxqr/base32-bytestring/issues/4
   base32-bytestring = dontCheck super.base32-bytestring;
 
-  # 2022-03-24: Strict aeson bound: https://github.com/berberman/nvfetcher/pull/63
-  nvfetcher = throwIfNot (super.nvfetcher.version == "0.4.0.0") "nvfetcher: remove jailbreak after update" doJailbreak super.nvfetcher;
-
   # 2022-03-24: Strict aeson bound:
   arch-web = throwIfNot (super.arch-web.version == "0.1.0") "arch-web: remove jailbreak after update"  doJailbreak super.arch-web;
 
@@ -854,6 +851,18 @@ self: super: {
   # test suite requires git and does a bunch of git operations
   restless-git = dontCheck super.restless-git;
 
+  # requires git at test-time *and* runtime, but we'll just rely on users to
+  # bring their own git at runtime
+  sensei = overrideCabal (drv: {
+    testHaskellDepends = drv.testHaskellDepends or [] ++ [ self.hspec-meta_2_9_3 ];
+    testToolDepends = drv.testToolDepends or [] ++ [ pkgs.git ];
+  }) (super.sensei.overrideScope (self: super: {
+    hspec-meta = self.hspec-meta_2_9_3;
+    hspec = self.hspec_2_9_7;
+    hspec-core = dontCheck self.hspec-core_2_9_7;
+    hspec-discover = self.hspec-discover_2_9_7;
+  }));
+
   # Depends on broken fluid.
   fluid-idl-http-client = markBroken super.fluid-idl-http-client;
   fluid-idl-scotty = markBroken super.fluid-idl-scotty;
@@ -1154,6 +1163,16 @@ self: super: {
   # https://github.com/danfran/cabal-macosx/issues/13
   cabal-macosx = dontCheck super.cabal-macosx;
 
+  # Causes Test.QuickCheck.resize: negative size crashes e.g. in test suites
+  # https://github.com/typeable/generic-arbitrary/issues/14
+  generic-arbitrary = appendPatches [
+    (pkgs.fetchpatch {
+      name = "generic-arbitrary-no-negative-resize.patch";
+      url = "https://github.com/typeable/generic-arbitrary/commit/c13d119d8ad0d43860ecdb93b357b0239e366a6c.patch";
+      sha256 = "1jgbd2jn575icqw9nfdzh57nacm3pn8n53ka52129pnfjqfzyhsi";
+    })
+  ] super.generic-arbitrary;
+
   # https://github.com/DanielG/cabal-helper/pull/123
   cabal-helper = doJailbreak super.cabal-helper;
 
@@ -2584,15 +2603,6 @@ self: super: {
   # 2022-03-16: Upstream stopped updating bounds https://github.com/haskell-hvr/base-noprelude/pull/15
   base-noprelude = doJailbreak super.base-noprelude;
 
-  # Manually upgrade cryptostore to work around
-  # https://github.com/ocheron/cryptostore/issues/7
-  cryptostore = assert super.cryptostore.version == "0.2.1.0"; overrideCabal {
-    version = "0.2.2.0";
-    sha256 = "0n70amg7y2qwfjhj4xaqjia46fbabba9l2g19ry191m7c4zp1skx";
-    revision = null;
-    editedCabalFile = null;
-  } super.cryptostore;
-
   # 2022-03-16: Bounds need to be loosened https://github.com/obsidiansystems/dependent-sum-aeson-orphans/issues/10
   dependent-sum-aeson-orphans = doJailbreak super.dependent-sum-aeson-orphans;
 
diff --git a/pkgs/development/haskell-modules/configuration-darwin.nix b/pkgs/development/haskell-modules/configuration-darwin.nix
index f8ae9807cd1..2eea5f8c58b 100644
--- a/pkgs/development/haskell-modules/configuration-darwin.nix
+++ b/pkgs/development/haskell-modules/configuration-darwin.nix
@@ -251,13 +251,6 @@ self: super: ({
   # Otherwise impure gcc is used, which is Apple's weird wrapper
   c2hsc = addTestToolDepends [ pkgs.gcc ] super.c2hsc;
 
-  # streamly depends on Cocoa starting with 0.8.0
-  streamly_0_8_1_1 = overrideCabal (drv: {
-    libraryFrameworkDepends = [
-      darwin.apple_sdk.frameworks.Cocoa
-    ] ++ (drv.libraryFrameworkDepends or []);
-  }) super.streamly_0_8_1_1;
-
   http-client-tls = overrideCabal (drv: {
     postPatch = ''
       # This comment has been inserted, so the derivation hash changes, forcing
@@ -290,4 +283,10 @@ self: super: ({
 
   # https://github.com/haskell-crypto/cryptonite/issues/360
   cryptonite = appendPatch ./patches/cryptonite-remove-argon2.patch super.cryptonite;
+
+} // lib.optionalAttrs pkgs.stdenv.isx86_64 {  # x86_64-darwin
+
+  # tests appear to be failing to link or something:
+  # https://hydra.nixos.org/build/174540882/nixlog/9
+  regex-rure = dontCheck super.regex-rure;
 })
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
index 5b13e0d036b..c8e7c8179e6 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
@@ -130,4 +130,11 @@ self: super: {
 
   # https://github.com/fpco/inline-c/issues/127 (recommend to upgrade to Nixpkgs GHC >=9.0)
   inline-c-cpp = (if isDarwin then dontCheck else x: x) super.inline-c-cpp;
+
+  # Depends on OneTuple for GHC < 9.0
+  universe-base = addBuildDepends [ self.OneTuple ] super.universe-base;
+
+  # Not possible to build in the main GHC 9.0 package set
+  # https://github.com/awakesecurity/spectacle/issues/49
+  spectacle = doDistribute (markUnbroken super.spectacle);
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index 9a6e8ccab16..98eaab70731 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -162,4 +162,7 @@ self: super: {
 
   # https://github.com/fpco/inline-c/issues/127 (recommend to upgrade to Nixpkgs GHC >=9.0)
   inline-c-cpp = (if isDarwin then dontCheck else x: x) super.inline-c-cpp;
+
+  # Depends on OneTuple for GHC < 9.0
+  universe-base = addBuildDepends [ self.OneTuple ] super.universe-base;
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
index 3a9e9f06fbe..249816cc49c 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
@@ -80,6 +80,7 @@ self: super: {
   constraints = doJailbreak super.constraints;
   cpphs = overrideCabal (drv: { postPatch = "sed -i -e 's,time >=1.5 && <1.11,time >=1.5 \\&\\& <1.12,' cpphs.cabal";}) super.cpphs;
   data-fix = doJailbreak super.data-fix;
+  dbus = super.dbus_1_2_24;
   dec = doJailbreak super.dec;
   ed25519 = doJailbreak super.ed25519;
   ghc-byteorder = doJailbreak super.ghc-byteorder;
@@ -170,7 +171,7 @@ self: super: {
   ];
 
   # lens >= 5.1 supports 9.2.1
-  lens = super.lens_5_1;
+  lens = doDistribute self.lens_5_1;
 
   # Syntax error in tests fixed in https://github.com/simonmar/alex/commit/84b29475e057ef744f32a94bc0d3954b84160760
   alex = dontCheck super.alex;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index f18d261ce1a..6afd1dc17d5 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -357,7 +357,6 @@ broken-packages:
   - binary-communicator
   - binary-derive
   - binary-ext
-  - binary-generic-combinators
   - binary-indexed-tree
   - binary-protocol
   - binary-tree
@@ -669,6 +668,8 @@ broken-packages:
   - citeproc-hs
   - cjk
   - cj-token
+  - cl3-hmatrix-interface
+  - cl3-linear-interface
   - clang-compilation-database
   - clang-pure
   - clanki
@@ -1048,6 +1049,7 @@ broken-packages:
   - dense-int-set
   - dependent-hashmap
   - dependent-monoidal-map
+  - dep-t
   - dep-t-dynamic
   - deptrack-core
   - derangement
@@ -1208,6 +1210,7 @@ broken-packages:
   - dynamic-object
   - dynamic-pipeline
   - DynamicTimeWarp
+  - dyna-processing
   - dynloader
   - DysFRP
   - dywapitchtrack
@@ -1600,6 +1603,7 @@ broken-packages:
   - gegl
   - gelatin
   - gemcap
+  - gemini-exports
   - gemstone
   - gencheck
   - gender
@@ -1736,6 +1740,7 @@ broken-packages:
   - gli
   - glicko
   - glider-nlp
+  - glirc
   - GLMatrix
   - global-variables
   - glob-posix
@@ -1774,6 +1779,7 @@ broken-packages:
   - gpah
   - GPipe
   - GPipe-GLFW4
+  - gpmf
   - gpx-conduit
   - graceful
   - grafana
@@ -1890,6 +1896,7 @@ broken-packages:
   - hakyll-typescript
   - HaLeX
   - halfs
+  - half-space
   - halipeto
   - halive
   - halma
@@ -2103,6 +2110,7 @@ broken-packages:
   - hedgehog-checkers
   - hedgehog-generic
   - hedgehog-golden
+  - hedgehog-lens
   - hedgehog-servant
   - hedis-config
   - hedis-namespace
@@ -2894,6 +2902,7 @@ broken-packages:
   - lazify
   - lazyarray
   - lazyboy
+  - lazy-bracket
   - lazy-priority-queue
   - lazyset
   - LazyVault
@@ -3334,7 +3343,6 @@ broken-packages:
   - msgpack
   - msgpack-binary
   - msgpack-persist
-  - msgpack-types
   - msh
   - msi-kb-backlit
   - MTGBuilder
@@ -3600,7 +3608,6 @@ broken-packages:
   - open-signals
   - opensoundcontrol-ht
   - openssh-protocol
-  - opentelemetry-extra
   - opentelemetry-http-client
   - opentheory-char
   - opentok
@@ -4337,7 +4344,6 @@ broken-packages:
   - robin
   - robots-txt
   - roc-cluster
-  - roc-id
   - roku-api
   - rollbar-client
   - rollbar-hs
@@ -4467,7 +4473,6 @@ broken-packages:
   - semigroups-actions
   - sendgrid-haskell
   - sendgrid-v3
-  - sensei
   - sensu-run
   - sentry
   - separated
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index 48a3181014c..b1bee72c8e2 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -251,6 +251,8 @@ package-maintainers:
     - mattermost-api
     - mattermost-api-qc
     - Unique
+  libjared:
+    - sensei
   maralorn:
     - cabal-fmt
     - ema
@@ -463,6 +465,7 @@ unsupported-platforms:
   libmodbus:                                    [ x86_64-darwin, aarch64-darwin ]
   libsystemd-journal:                           [ x86_64-darwin, aarch64-darwin ]
   libtelnet:                                    [ x86_64-darwin, aarch64-darwin ]
+  libvirt-hs:                                   [ x86_64-darwin ] # spidermonkey is not supported on darwin
   libzfs:                                       [ x86_64-darwin, aarch64-darwin ]
   linearEqSolver:                               [ aarch64-linux ]
   linux-evdev:                                  [ x86_64-darwin, aarch64-darwin ]
@@ -505,6 +508,7 @@ unsupported-platforms:
   scrypt:                                       [ aarch64-linux, armv7l-linux ] # https://github.com/informatikr/scrypt/issues/8
   sdl2-mixer:                                   [ x86_64-darwin, aarch64-darwin ]
   sdl2-ttf:                                     [ x86_64-darwin, aarch64-darwin ]
+  sensei:                                       [ x86_64-darwin ]
   synthesizer-alsa:                             [ x86_64-darwin, aarch64-darwin ]
   taffybar:                                     [ x86_64-darwin, aarch64-darwin ]
   termonad:                                     [ x86_64-darwin, aarch64-darwin ]
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index 85354eff6b1..e0e60d509a0 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,4 +1,4 @@
-# Stackage LTS 19.3
+# Stackage LTS 19.4
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -24,6 +24,7 @@ default-package-overrides:
   - aeson-casing ==0.2.0.0
   - aeson-commit ==1.4
   - aeson-compat ==0.3.10
+  - aeson-diff ==1.1.0.12
   - aeson-extra ==0.5.1
   - aeson-generic-compat ==0.0.1.3
   - aeson-optics ==1.1.1
@@ -117,6 +118,9 @@ default-package-overrides:
   - autoexporter ==2.0.0.1
   - auto-update ==0.1.6
   - aws-cloudfront-signed-cookies ==0.2.0.10
+  - aws-xray-client ==0.1.0.2
+  - aws-xray-client-persistent ==0.1.0.5
+  - aws-xray-client-wai ==0.1.0.2
   - backtracking ==0.1.0
   - bank-holidays-england ==0.2.0.7
   - barbies ==2.0.3.1
@@ -391,6 +395,7 @@ default-package-overrides:
   - conduino ==0.2.2.0
   - conduit ==1.3.4.2
   - conduit-aeson ==0.1.0.1
+  - conduit-algorithms ==0.0.12.0
   - conduit-combinators ==1.3.0
   - conduit-concurrent-map ==0.1.1
   - conduit-connection ==0.1.0.5
@@ -422,9 +427,9 @@ default-package-overrides:
   - convertible ==1.1.1.0
   - cookie ==0.4.5
   - copr-api ==0.1.0
-  - core-data ==0.3.1.1
+  - core-data ==0.3.2.1
   - core-program ==0.4.5.1
-  - core-telemetry ==0.1.9.2
+  - core-telemetry ==0.1.9.3
   - core-text ==0.3.5.0
   - countable ==1.0
   - covariance ==0.1.0.6
@@ -456,7 +461,7 @@ default-package-overrides:
   - crypto-pubkey-types ==0.4.3
   - crypto-random ==0.0.9
   - crypto-random-api ==0.2.0
-  - cryptostore ==0.2.1.0
+  - cryptostore ==0.2.2.0
   - crypt-sha512 ==0
   - csp ==1.4.0
   - css-text ==0.1.3.0
@@ -505,6 +510,7 @@ default-package-overrides:
   - data-default-instances-unordered-containers ==0.0.1
   - data-default-instances-vector ==0.0.1
   - data-diverse ==4.7.0.0
+  - datadog ==0.3.0.0
   - data-dword ==0.3.2.1
   - data-endian ==0.1.1
   - data-fix ==0.3.2
@@ -680,7 +686,7 @@ default-package-overrides:
   - errors ==2.3.0
   - errors-ext ==0.4.2
   - ersatz ==0.4.10
-  - esqueleto ==3.5.4.0
+  - esqueleto ==3.5.4.1
   - essence-of-live-coding ==0.2.6
   - essence-of-live-coding-gloss ==0.2.6
   - essence-of-live-coding-pulse ==0.2.6
@@ -998,7 +1004,7 @@ default-package-overrides:
   - haskell-src-meta ==0.8.9
   - haskey-btree ==0.3.0.1
   - haskintex ==0.8.0.0
-  - haskoin-core ==0.21.1
+  - haskoin-core ==0.21.2
   - hasktags ==0.72.0
   - hasql ==1.5.0.2
   - hasql-migration ==0.3.0
@@ -1011,7 +1017,7 @@ default-package-overrides:
   - has-transformers ==0.1.0.4
   - hasty-hamiltonian ==1.3.4
   - HaTeX ==3.22.3.1
-  - HaXml ==1.25.8
+  - HaXml ==1.25.9
   - haxr ==3000.11.4.1
   - HCodecs ==0.5.2
   - hdaemonize ==0.5.6
@@ -1537,7 +1543,7 @@ default-package-overrides:
   - mmark-cli ==0.0.5.1
   - mmark-ext ==0.2.1.5
   - mmorph ==1.1.5
-  - mnist-idx ==0.1.3.0
+  - mnist-idx ==0.1.3.1
   - mnist-idx-conduit ==0.4.0.0
   - mockery ==0.3.5
   - mock-time ==0.1.0
@@ -1747,7 +1753,7 @@ default-package-overrides:
   - pandoc-plot ==1.4.1
   - pandoc-throw ==0.1.0.0
   - pandoc-types ==1.22.2
-  - pantry ==0.5.4
+  - pantry ==0.5.5
   - parallel ==3.2.2.0
   - parallel-io ==0.3.5
   - parameterized ==0.5.0.0
@@ -1797,7 +1803,7 @@ default-package-overrides:
   - perf ==0.9.0
   - perfect-hash-generator ==0.2.0.6
   - persist ==0.1.1.5
-  - persistent ==2.13.3.4
+  - persistent ==2.13.3.5
   - persistent-discover ==0.1.0.5
   - persistent-documentation ==0.1.0.4
   - persistent-mongoDB ==2.13.0.1
@@ -1971,7 +1977,7 @@ default-package-overrides:
   - quickcheck-unicode ==1.0.1.0
   - quicklz ==1.5.0.11
   - quiet ==0.2
-  - quote-quot ==0.2.0.0
+  - quote-quot ==0.2.1.0
   - radius ==0.7.1.0
   - rainbow ==0.34.2.2
   - rainbox ==0.26.0.0
@@ -2050,7 +2056,7 @@ default-package-overrides:
   - repa ==3.4.1.5
   - repa-io ==3.4.1.2
   - replace-attoparsec ==1.4.5.0
-  - replace-megaparsec ==1.4.4.0
+  - replace-megaparsec ==1.4.5.0
   - repline ==0.4.0.0
   - req ==3.10.0
   - req-conduit ==1.0.1
@@ -2116,7 +2122,7 @@ default-package-overrides:
   - sandwich-quickcheck ==0.1.0.6
   - sandwich-slack ==0.1.0.6
   - say ==0.1.0.1
-  - sbp ==4.1.5
+  - sbp ==4.1.6
   - sbv ==8.17
   - scalpel ==0.6.2
   - scalpel-core ==0.6.2
@@ -2461,7 +2467,7 @@ default-package-overrides:
   - text-ansi ==0.1.1
   - text-binary ==0.2.1.1
   - text-builder ==0.6.6.5
-  - text-builder-dev ==0.2.0.1
+  - text-builder-dev ==0.2.1
   - text-conversions ==0.3.1
   - text-icu ==0.7.1.0
   - text-latin1 ==0.3.1
@@ -2843,8 +2849,34 @@ default-package-overrides:
   - yesod-newsfeed ==1.7.0.0
   - yesod-page-cursor ==2.0.0.10
   - yesod-paginator ==1.1.2.1
-  - yesod-persistent ==1.6.0.7
+  - yesod-persistent ==1.6.0.8
   - yesod-recaptcha2 ==1.0.2
   - yesod-routes-flow ==3.0.0.2
   - yesod-sitemap ==1.6.0
+  - yesod-static ==1.6.1.0
+  - yesod-test ==1.6.12
+  - yesod-websockets ==0.3.0.3
   - yes-precure5-command ==5.5.3
+  - yi-rope ==0.11
+  - yjsvg ==0.2.0.1
+  - yjtools ==0.9.18
+  - yoga ==0.0.0.5
+  - youtube ==0.2.1.1
+  - zenacy-html ==2.0.4
+  - zenacy-unicode ==1.0.1
+  - zero ==0.1.5
+  - zeromq4-haskell ==0.8.0
+  - zeromq4-patterns ==0.3.1.0
+  - zim-parser ==0.2.1.0
+  - zio ==0.1.0.2
+  - zip ==1.7.2
+  - zip-archive ==0.4.2.1
+  - zipper-extra ==0.1.3.2
+  - zippers ==0.3.2
+  - zip-stream ==0.2.1.0
+  - zlib ==0.6.2.3
+  - zlib-bindings ==0.1.1.5
+  - zlib-lens ==0.1.2.1
+  - zot ==0.0.3
+  - zstd ==0.1.3.0
+  - ztail ==1.2.0.3
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index b712cbcd153..198572573b8 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -663,6 +663,7 @@ dont-distribute-packages:
  - ascii
  - ascii-cows
  - ascii-table
+ - ascii_1_2_0_0
  - asic
  - asif
  - assert4hs-hspec
@@ -1203,6 +1204,8 @@ dont-distribute-packages:
  - delimiter-separated
  - delta
  - delta-h
+ - dep-t-advice
+ - dep-t-value
  - dependent-literals-plugin
  - dependent-state
  - depends
@@ -2811,11 +2814,9 @@ dont-distribute-packages:
  - mptcp-pm
  - mptcpanalyzer
  - msgpack-aeson
- - msgpack-arbitrary
  - msgpack-idl
  - msgpack-rpc
  - msgpack-rpc-conduit
- - msgpack-testsuite
  - mtgoxapi
  - mu-avro
  - mu-graphql
@@ -2967,8 +2968,6 @@ dont-distribute-packages:
  - openpgp-Crypto
  - openpgp-crypto-api
  - openssh-github-keys
- - opentelemetry-lightstep
- - opentelemetry-lightstep_0_8_0
  - optima-for-hasql
  - optimal-blocks
  - optimusprime
@@ -3325,6 +3324,7 @@ dont-distribute-packages:
  - regions-mtl
  - registry-hedgehog
  - registry-hedgehog-aeson
+ - registry-messagepack
  - regular-extras
  - regular-web
  - regular-xmlpickler
@@ -3764,6 +3764,9 @@ dont-distribute-packages:
  - sydtest-servant
  - sydtest-typed-process
  - sydtest-wai
+ - sydtest-webdriver
+ - sydtest-webdriver-screenshot
+ - sydtest-webdriver-yesod
  - sydtest-yesod
  - sylvia
  - sym-plot
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 59fe88f0b24..612b0a224c5 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -9846,8 +9846,8 @@ self: {
      }:
      mkDerivation {
        pname = "HaXml";
-       version = "1.25.8";
-       sha256 = "1n65s75l4manb65msh9fz97dzqf9554x58bqdhyylgsgk84mfg80";
+       version = "1.25.9";
+       sha256 = "0ia27ffpdx59sa4mnyhks2bngrgaahwg150znnvnna30s9ncdfq1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -15539,14 +15539,13 @@ self: {
      }) {};
 
   "PSQueue" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "PSQueue";
-       version = "1.1.0.1";
-       sha256 = "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza";
-       revision = "2";
-       editedCabalFile = "0n1yrv1x1dxbjn9hjr8lk4k5in9c75ixzldlmszayi26bvax7329";
+       version = "1.1.1";
+       sha256 = "02pgqzwxndi8cwa5fw668gfsh7z3lzbygkgcsf56bwrxwqjyz4bi";
        libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base QuickCheck ];
        description = "Priority Search Queue";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -25148,8 +25147,8 @@ self: {
     ({ mkDerivation, aeson, base, inspection-testing }:
      mkDerivation {
        pname = "aeson-modern-tojson";
-       version = "0.1.0.0";
-       sha256 = "066yrs4r0ymsf62y1fjaim5l5dddgk7x1ng9m76j36zc8n0xwiqy";
+       version = "0.1.1.0";
+       sha256 = "0x1798k4kyndilnm7fpkl8cc4fgn2f3jc1f9x8j2dc8kjkhv1fv7";
        libraryHaskellDepends = [ aeson base ];
        testHaskellDepends = [ aeson base inspection-testing ];
        description = "Provide a handy way for derving ToJSON proprely";
@@ -25198,6 +25197,24 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "aeson-optics_1_2" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, optics-core
+     , optics-extra, scientific, text, text-short, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "aeson-optics";
+       version = "1.2";
+       sha256 = "0p852w0ns9mkmydbhj1p3szvkw7pl83c0xaqhvn5jwdrpqj6ma74";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring optics-core optics-extra
+         scientific text text-short unordered-containers vector
+       ];
+       description = "Law-abiding optics for aeson";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "aeson-options" = callPackage
     ({ mkDerivation, aeson, base }:
      mkDerivation {
@@ -26083,8 +26100,8 @@ self: {
      }:
      mkDerivation {
        pname = "airship";
-       version = "0.9.4";
-       sha256 = "03wawmbd1dcf9bmv9046q93gn6isdlpcyvzb7bp0awqmzaymyw4z";
+       version = "0.9.5";
+       sha256 = "1x38pda1g1g6ihl3c39s3wmspn2qq09887apinwlna5cxbxjf3pc";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring blaze-builder bytestring
          bytestring-trie case-insensitive containers cryptohash directory
@@ -30771,8 +30788,8 @@ self: {
      }:
      mkDerivation {
        pname = "annotated-exception";
-       version = "0.1.2.1";
-       sha256 = "06nzxm6vxli3jlj940vjxa4j8cg76v5l4za2w1w3j3z9lfzms0h9";
+       version = "0.2.0.1";
+       sha256 = "0lqr283ql82kfpd6rvznwj4p0h4176mg9xnb1wnzdxxbl9rn3xgl";
        libraryHaskellDepends = [
          base containers safe-exceptions text unliftio-core
        ];
@@ -34054,6 +34071,25 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "ascii_1_2_0_0" = callPackage
+    ({ mkDerivation, ascii-case, ascii-char, ascii-group, ascii-numbers
+     , ascii-predicates, ascii-superset, ascii-th, base, bytestring
+     , hedgehog, text
+     }:
+     mkDerivation {
+       pname = "ascii";
+       version = "1.2.0.0";
+       sha256 = "1m043s6030mwz4gam83nb1dyxsbkaar6i7cdvzjfgawv9gdpwkbb";
+       libraryHaskellDepends = [
+         ascii-case ascii-char ascii-group ascii-numbers ascii-predicates
+         ascii-superset ascii-th base bytestring text
+       ];
+       testHaskellDepends = [ base hedgehog text ];
+       description = "The ASCII character set and encoding";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ascii-art-to-unicode" = callPackage
     ({ mkDerivation, base, comonad, doctest, strict }:
      mkDerivation {
@@ -34170,6 +34206,27 @@ self: {
        broken = true;
      }) {};
 
+  "ascii-numbers_1_1_0_0" = callPackage
+    ({ mkDerivation, ascii-case, ascii-char, ascii-superset, base
+     , bytestring, hashable, hedgehog, invert, text
+     }:
+     mkDerivation {
+       pname = "ascii-numbers";
+       version = "1.1.0.0";
+       sha256 = "041qyhgksqchj3x09fbirxba7s31aicaqnk8185g2l70zgxjz6iv";
+       libraryHaskellDepends = [
+         ascii-case ascii-char ascii-superset base bytestring hashable text
+       ];
+       testHaskellDepends = [
+         ascii-case ascii-char ascii-superset base bytestring hashable
+         hedgehog invert text
+       ];
+       description = "ASCII representations of numbers";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "ascii-predicates" = callPackage
     ({ mkDerivation, ascii-char, base, hedgehog }:
      mkDerivation {
@@ -34242,6 +34299,23 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "ascii-superset_1_0_1_13" = callPackage
+    ({ mkDerivation, ascii-char, base, bytestring, hashable, hedgehog
+     , text
+     }:
+     mkDerivation {
+       pname = "ascii-superset";
+       version = "1.0.1.13";
+       sha256 = "0pf1awrx0bfpgyc96r1ycybgpy801iqxr8qf3vp9pvbnfava1v8s";
+       libraryHaskellDepends = [
+         ascii-char base bytestring hashable text
+       ];
+       testHaskellDepends = [ ascii-char base hedgehog text ];
+       description = "Representing ASCII with refined supersets";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ascii-table" = callPackage
     ({ mkDerivation, aeson, base, containers, dlist, hashable, text
      , unordered-containers, vector, wl-pprint-extras
@@ -39413,8 +39487,8 @@ self: {
        pname = "base64-bytestring-type";
        version = "1.0.1";
        sha256 = "03kq4rjj6by02rf3hg815jfdqpdk0xygm5f46r2pn8mb99yd01zn";
-       revision = "11";
-       editedCabalFile = "0aj0av37xgxz6pyzwc8d3qr915a2d2pwz1g21ad8nd5ms4zpgz7l";
+       revision = "12";
+       editedCabalFile = "09ap4z85k3lncf27b2qzfks4lnjm8rzldmzvbik7il3ycc60dk5i";
        libraryHaskellDepends = [
          aeson base base-compat base64-bytestring binary bytestring cereal
          deepseq hashable http-api-data QuickCheck serialise text
@@ -41656,8 +41730,6 @@ self: {
        ];
        description = "Combinators and utilities to make Generic-based deriving of Binary easier and more expressive";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "binary-ieee754" = callPackage
@@ -45306,16 +45378,16 @@ self: {
 
   "bloodhound" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, containers
-     , errors, exceptions, hashable, hspec, http-client, http-types
-     , microlens, microlens-aeson, mtl, network-uri, pretty-simple
-     , QuickCheck, quickcheck-arbitrary-template, quickcheck-properties
-     , scientific, semigroups, semver, temporary, text, time
-     , transformers, unix-compat, unordered-containers, vector
+     , errors, exceptions, generic-random, hashable, hspec, http-client
+     , http-types, microlens, microlens-aeson, mtl, network-uri
+     , pretty-simple, QuickCheck, quickcheck-properties, scientific
+     , semigroups, semver, temporary, text, time, transformers
+     , unix-compat, unordered-containers, vector
      }:
      mkDerivation {
        pname = "bloodhound";
-       version = "0.19.0.0";
-       sha256 = "00kb7dr6xknws3pyx2qdapyb6b8sgbgjyn39vn052428ipyb3a6z";
+       version = "0.19.1.0";
+       sha256 = "0vflzwc90w69c78xpjldvgywl1ykn73wzq06501lnl6bwb07ahs0";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring containers exceptions hashable
          http-client http-types mtl network-uri scientific semigroups semver
@@ -45323,8 +45395,8 @@ self: {
        ];
        testHaskellDepends = [
          aeson base blaze-builder bytestring containers errors exceptions
-         hashable hspec http-client http-types microlens microlens-aeson mtl
-         network-uri pretty-simple QuickCheck quickcheck-arbitrary-template
+         generic-random hashable hspec http-client http-types microlens
+         microlens-aeson mtl network-uri pretty-simple QuickCheck
          quickcheck-properties scientific semigroups semver temporary text
          time transformers unix-compat unordered-containers vector
        ];
@@ -48715,8 +48787,8 @@ self: {
      }:
      mkDerivation {
        pname = "bytebuild";
-       version = "0.3.10.0";
-       sha256 = "1g3ayqdvvszh0jp22xh04pj6g8sff8m1mk06i5f4a0yxxwpvj3bg";
+       version = "0.3.11.0";
+       sha256 = "0yxss8r5msgbp812xb0k1xsmil02zmh7n8nh7jdfkm8byf3l4saf";
        libraryHaskellDepends = [
          base byteslice bytestring haskell-src-meta integer-logarithms
          natural-arithmetic primitive primitive-offset primitive-unlifted
@@ -48731,7 +48803,7 @@ self: {
        benchmarkHaskellDepends = [
          base byteslice gauge natural-arithmetic primitive text-short
        ];
-       description = "Serialize to a small byte arrays";
+       description = "Build byte arrays";
        license = lib.licenses.bsd3;
      }) {};
 
@@ -49771,12 +49843,15 @@ self: {
      }) {};
 
   "ca-patterns" = callPackage
-    ({ mkDerivation, base, parsec, text, vector }:
+    ({ mkDerivation, base, hspec, hspec-discover, parsec, text, vector
+     }:
      mkDerivation {
        pname = "ca-patterns";
-       version = "0.1.0.0";
-       sha256 = "1n5l7dxsci9dbrrngrc9q7f85i966i2vzidzrm3prjf8fq3i87b0";
+       version = "0.2.0.0";
+       sha256 = "1qqkkkv2qn7nmi7yrbj49836i9qkch63753smjyz9gj01mjqspbs";
        libraryHaskellDepends = [ base parsec text vector ];
+       testHaskellDepends = [ base hspec vector ];
+       testToolDepends = [ hspec-discover ];
        description = "Manipulate patterns in cellular automata, create and parse RLE files";
        license = lib.licenses.mit;
      }) {};
@@ -51692,25 +51767,25 @@ self: {
      , di-polysemy, exceptions, focus, generic-lens, hashable
      , http-api-data, http-client, http-date, http-types, lens
      , lens-aeson, megaparsec, mime-types, mtl, polysemy
-     , polysemy-plugin, PyF, reflection, req, safe-exceptions
+     , polysemy-plugin, PyF, random, reflection, req, safe-exceptions
      , scientific, stm, stm-chans, stm-containers, text, text-show, time
      , tls, typerep-map, unagi-chan, unboxing-vector
      , unordered-containers, vector, websockets, x509-system
      }:
      mkDerivation {
        pname = "calamity";
-       version = "0.2.0.2";
-       sha256 = "05yqh6prffcwdv4zl1xcw8p9xidrn95wffxjkiy5j5vh2yf5a7c0";
+       version = "0.3.0.0";
+       sha256 = "0cxcgm6xfwbqvzms8a6im7dl53p9pvhhjfakfjbr6vkg56jwn7a4";
        libraryHaskellDepends = [
          aeson async base bytestring calamity-commands colour
          concurrent-extra connection containers data-default-class
          data-flags deepseq deque df1 di-core di-polysemy exceptions focus
          generic-lens hashable http-api-data http-client http-date
          http-types lens lens-aeson megaparsec mime-types mtl polysemy
-         polysemy-plugin PyF reflection req safe-exceptions scientific stm
-         stm-chans stm-containers text text-show time tls typerep-map
-         unagi-chan unboxing-vector unordered-containers vector websockets
-         x509-system
+         polysemy-plugin PyF random reflection req safe-exceptions
+         scientific stm stm-chans stm-containers text text-show time tls
+         typerep-map unagi-chan unboxing-vector unordered-containers vector
+         websockets x509-system
        ];
        description = "A library for writing discord bots in haskell";
        license = lib.licenses.mit;
@@ -56857,14 +56932,18 @@ self: {
      }) {};
 
   "cl3" = callPackage
-    ({ mkDerivation, base, criterion, deepseq, random }:
+    ({ mkDerivation, base, criterion, deepseq, massiv, random, time
+     , vector, weigh
+     }:
      mkDerivation {
        pname = "cl3";
-       version = "2.0.0.0";
-       sha256 = "0ibril0fjhm848za1grvpi6pdcshbxbfjwkflzh7zw4b9y5b7g89";
+       version = "3.0.0.0";
+       sha256 = "1x5pmmlhk1g4sq8gfrfpaiv20gamhnv3iwscp25pmhq6dwavf641";
        libraryHaskellDepends = [ base deepseq random ];
        testHaskellDepends = [ base criterion random ];
-       benchmarkHaskellDepends = [ base criterion ];
+       benchmarkHaskellDepends = [
+         base criterion massiv time vector weigh
+       ];
        description = "Clifford Algebra of three dimensional space";
        license = lib.licenses.bsd3;
      }) {};
@@ -56878,6 +56957,8 @@ self: {
        libraryHaskellDepends = [ base cl3 hmatrix ];
        description = "Interface to/from Cl3 and HMatrix";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cl3-linear-interface" = callPackage
@@ -56889,6 +56970,8 @@ self: {
        libraryHaskellDepends = [ base cl3 linear ];
        description = "Interface to/from Cl3 and Linear";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "clac" = callPackage
@@ -57590,8 +57673,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks";
-       version = "0.27.2";
-       sha256 = "088wx15f81h45ykhibq7ays5yn2ivwvgffaa459r6b6v53npkqkr";
+       version = "0.28.0";
+       sha256 = "11cr4mql6jhskhk1hg2c7kkvv005bha7y9b3ccpgy1147grnp00m";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson aeson-qq attoparsec base blaze-html bytestring
@@ -57617,8 +57700,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-cli";
-       version = "0.3.0.4";
-       sha256 = "17ifv0awgx7fylc1pbdcdq9l8wl2shr6fy65rgb0xjv3zxnwx4i8";
+       version = "0.3.0.5";
+       sha256 = "198iixfqnv28vgx53dnyg4fn5a0g5lc0ybfr6z959xv02w6cfrqm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -60631,15 +60714,21 @@ self: {
   "colour-space" = callPackage
     ({ mkDerivation, base, call-stack, colour, constrained-categories
      , JuicyPixels, lens, linear, linearmap-category, manifolds
-     , semigroups, vector-space
+     , manifolds-core, QuickCheck, random, semigroups, tasty
+     , tasty-quickcheck, vector-space
      }:
      mkDerivation {
        pname = "colour-space";
-       version = "0.1.5.1";
-       sha256 = "18aqmppmq3czq38yn3rdblj6klvnax64jbkc524v9lsj45d7si43";
+       version = "0.2.0.0";
+       sha256 = "1ca62s0xdhc14jr123bzxpwqjaf8y8nakrm7a52srryr0d3mz7hg";
        libraryHaskellDepends = [
          base call-stack colour constrained-categories JuicyPixels lens
-         linear linearmap-category manifolds semigroups vector-space
+         linear linearmap-category manifolds manifolds-core QuickCheck
+         semigroups vector-space
+       ];
+       testHaskellDepends = [
+         base colour constrained-categories manifolds manifolds-core
+         QuickCheck random tasty tasty-quickcheck vector-space
        ];
        description = "Instances of the manifold-classes for colour types";
        license = lib.licenses.gpl3Only;
@@ -65315,8 +65404,8 @@ self: {
      }:
      mkDerivation {
        pname = "contiguous";
-       version = "0.6.1.1";
-       sha256 = "0r1l2qpnmv8xbf5wk7ibcmn9ry9xab7r0v84a1srqlm1dxr9xmh3";
+       version = "0.6.2.0";
+       sha256 = "0ykd3nrc2ywf3svrkqsvvhycjf6hf5jm5dhhd3zpl57877r5cz72";
        libraryHaskellDepends = [
          base deepseq primitive primitive-unlifted run-st
        ];
@@ -66285,8 +66374,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-data";
-       version = "0.3.1.1";
-       sha256 = "0i11m2k1xb97f0plvp9g7l4zhp9d1njn9z7xfhcmghbvlkk82vx2";
+       version = "0.3.2.1";
+       sha256 = "11ajh9lc3lg08czca18sn9jmb74skwdw0avzwimqphzvbkhdc0xj";
        libraryHaskellDepends = [
          aeson base bytestring containers core-text hashable prettyprinter
          scientific text unordered-containers vector
@@ -66341,8 +66430,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-telemetry";
-       version = "0.1.9.2";
-       sha256 = "07gb8ms3kchjvc0xbh36s1hzcmxaaci78gjgzdnkzap3lisjgcf0";
+       version = "0.1.9.3";
+       sha256 = "0rx2ji7g5a8bw7p394j52b3nj591h2d4zdvwryyxlwhg3y46iiv7";
        libraryHaskellDepends = [
          async base bytestring chronologique core-data core-program
          core-text exceptions http-streams io-streams mtl network-info
@@ -68999,8 +69088,8 @@ self: {
      }:
      mkDerivation {
        pname = "cryptostore";
-       version = "0.2.1.0";
-       sha256 = "03y9xdjnraa7kyj3c79rqzw9lqw1csww21assxhjkjyid1ps4gn5";
+       version = "0.2.2.0";
+       sha256 = "0n70amg7y2qwfjhj4xaqjia46fbabba9l2g19ry191m7c4zp1skx";
        libraryHaskellDepends = [
          asn1-encoding asn1-types base basement bytestring cryptonite
          hourglass memory pem x509 x509-validation
@@ -70306,7 +70395,7 @@ self: {
        ];
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) pocketsphinx; inherit (pkgs) sphinxbase;};
+     }) {pocketsphinx = null; sphinxbase = null;};
 
   "cutter" = callPackage
     ({ mkDerivation, base, bytestring, explicit-exception, spreadsheet
@@ -70358,14 +70447,14 @@ self: {
 
   "cybus" = callPackage
     ({ mkDerivation, adjunctions, base, checkers, deepseq, distributive
-     , indexed-traversable, lens, mtl, pos, pretty-simple, primus
-     , profunctors, QuickCheck, semigroupoids, tasty, tasty-hunit
-     , tasty-quickcheck, these, transformers, vector
+     , indexed-traversable, lens, mtl, pos, primus, profunctors
+     , QuickCheck, semigroupoids, tasty, tasty-hunit, tasty-quickcheck
+     , these, transformers, vector
      }:
      mkDerivation {
        pname = "cybus";
-       version = "0.2.0.0";
-       sha256 = "01bzczqs7r7c2wfpzn1c6xfnhr910yy6kzzvlx2qhp5d8wml32wj";
+       version = "0.3.0.0";
+       sha256 = "1difprnmylgaa9g35s5w32q6wp8awnvv3cpw0vprvmdiyvwb4hf0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -70378,9 +70467,8 @@ self: {
        ];
        testHaskellDepends = [
          adjunctions base checkers deepseq distributive indexed-traversable
-         lens mtl pos pretty-simple primus profunctors QuickCheck
-         semigroupoids tasty tasty-hunit tasty-quickcheck these transformers
-         vector
+         lens mtl pos primus profunctors QuickCheck semigroupoids tasty
+         tasty-hunit tasty-quickcheck these transformers vector
        ];
        description = "multi-dimensional arrays";
        license = lib.licenses.bsd3;
@@ -75258,10 +75346,8 @@ self: {
      }:
      mkDerivation {
        pname = "dep-t";
-       version = "0.6.1.0";
-       sha256 = "093zic45a0q3lr0shhc0yjp5gclskyk7ipva0khsqgk2wrqgwqx6";
-       revision = "1";
-       editedCabalFile = "126h9isb8lzrqvf1rgl7n95snjzj181mkxn6qhbl8jg4rxn2zj3l";
+       version = "0.6.2.0";
+       sha256 = "1wpb5p07vvny0bhapi87iwh43nykgy6b25xmsxsp403mbnv9g9ws";
        libraryHaskellDepends = [ base mtl transformers unliftio-core ];
        testHaskellDepends = [
          aeson barbies base bytestring containers doctest mtl rank2classes
@@ -75270,6 +75356,8 @@ self: {
        ];
        description = "Dependency injection for records-of-functions";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dep-t-advice" = callPackage
@@ -75297,6 +75385,7 @@ self: {
        ];
        description = "Giving good advice to functions in records-of-functions";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dep-t-dynamic" = callPackage
@@ -75307,8 +75396,8 @@ self: {
      }:
      mkDerivation {
        pname = "dep-t-dynamic";
-       version = "0.1.0.1";
-       sha256 = "1wa68s5mcsgwchdm0xm2qcgpxvcxi6banmjzyfq1dn6wzj8028vn";
+       version = "0.1.0.2";
+       sha256 = "0dv7ydxqgmgphcjgphrdf6jghkykvg5nnppgpgglwi2rg7yfmp7i";
        libraryHaskellDepends = [
          algebraic-graphs base dep-t hashable sop-core transformers
          unordered-containers
@@ -75325,6 +75414,28 @@ self: {
        broken = true;
      }) {};
 
+  "dep-t-value" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, dep-t
+     , directory, filepath, mtl, split, tasty, tasty-hunit, text
+     , transformers, unliftio-core
+     }:
+     mkDerivation {
+       pname = "dep-t-value";
+       version = "0.1.0.0";
+       sha256 = "0zyhqv60n392zvl70fx69l8h8r8syn3s184ccjg9bc3wq5xd6p4y";
+       libraryHaskellDepends = [
+         aeson base bytestring containers dep-t directory filepath mtl split
+         text transformers unliftio-core
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers dep-t directory filepath mtl split
+         tasty tasty-hunit text transformers unliftio-core
+       ];
+       description = "Pair resources files with types within your program";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "dependency" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, binary, containers
      , criterion, deepseq, hspec, microlens
@@ -79299,8 +79410,8 @@ self: {
        pname = "discord-haskell-voice";
        version = "2.2.2";
        sha256 = "0vbp8xdvb9ci49l1ifqghbv6smqx0ll902957yyxym6yj2xjfpmv";
-       revision = "2";
-       editedCabalFile = "11dylm637a0wgvdmk47rhznhfkvdssfl52mnaf3wmqvd3axfh1id";
+       revision = "3";
+       editedCabalFile = "0fpm9ch866d0aispl1priz6knkf1q5b99vhjyz6c4nm5p2gl89mc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -83841,6 +83952,85 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "dyna" = callPackage
+    ({ mkDerivation, async, base, Boolean, lifted-async, lifted-base
+     , monad-control, MonadRandom, mtl, random, stm, temporal-media
+     , time, unagi-chan, unbounded-delays, vector, vector-space
+     }:
+     mkDerivation {
+       pname = "dyna";
+       version = "0.1.0.0";
+       sha256 = "100ln6v4h2lx71pkzhxvfw7hgsld8xp828bhmn0985am82gd445i";
+       libraryHaskellDepends = [
+         async base Boolean lifted-async lifted-base monad-control
+         MonadRandom mtl random stm temporal-media time unagi-chan
+         unbounded-delays vector vector-space
+       ];
+       testHaskellDepends = [ base ];
+       description = "Minimal FRP library";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "dyna-brick" = callPackage
+    ({ mkDerivation, base, Boolean, brick, data-default, dyna
+     , lifted-base, monad-control, MonadRandom, mtl, random, stm
+     , temporal-media, text, time, transformers-base, unagi-chan
+     , vector-space, vty
+     }:
+     mkDerivation {
+       pname = "dyna-brick";
+       version = "0.1.0.0";
+       sha256 = "018da74l17s2fsdbsnwn4yjlwd02yjp25ahfgvpw9wn7vx3syzdq";
+       libraryHaskellDepends = [
+         base Boolean brick data-default dyna lifted-base monad-control
+         MonadRandom mtl random stm temporal-media text time
+         transformers-base unagi-chan vector-space vty
+       ];
+       testHaskellDepends = [ base ];
+       description = "FRP for brick Terminal user interface library";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "dyna-gloss" = callPackage
+    ({ mkDerivation, base, Boolean, dyna, gloss, lifted-base
+     , monad-control, MonadRandom, mtl, random, stm, temporal-media
+     , time, transformers-base, unagi-chan, vector-space
+     }:
+     mkDerivation {
+       pname = "dyna-gloss";
+       version = "0.1.0.0";
+       sha256 = "00797q1sqsbm9jk7jfkb9gjmrx6c6qbz9p1a31iak5g9ws8i41b7";
+       libraryHaskellDepends = [
+         base Boolean dyna gloss lifted-base monad-control MonadRandom mtl
+         random stm temporal-media time transformers-base unagi-chan
+         vector-space
+       ];
+       testHaskellDepends = [ base ];
+       description = "FRP for gloss graphics and animation library";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "dyna-processing" = callPackage
+    ({ mkDerivation, base, Boolean, dyna, lifted-base, monad-control
+     , MonadRandom, mtl, processing-for-haskell, random, stm
+     , temporal-media, time, transformers-base, unagi-chan, vector-space
+     }:
+     mkDerivation {
+       pname = "dyna-processing";
+       version = "0.1.0.0";
+       sha256 = "05yss5zxibic1i1sdwnl8c8lp6g6fn7jcmg9bivvk4v33wf3xahn";
+       libraryHaskellDepends = [
+         base Boolean dyna lifted-base monad-control MonadRandom mtl
+         processing-for-haskell random stm temporal-media time
+         transformers-base unagi-chan vector-space
+       ];
+       testHaskellDepends = [ base ];
+       description = "FRP library for processing-for-haskell package";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "dynamic" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cassava
      , containers, http-conduit, text, unordered-containers, vector
@@ -84022,10 +84212,8 @@ self: {
      }:
      mkDerivation {
        pname = "dynamic-plot";
-       version = "0.4.1.0";
-       sha256 = "1nly6ra0kd72q42hiaqism94vmyg5hp4ppyd024iiq9pcbgpq7r6";
-       revision = "2";
-       editedCabalFile = "1nszn52hpimz5hnkd6q0gsv6cv8rl3g1h939bhr41x2fr5bjzimi";
+       version = "0.4.2.0";
+       sha256 = "08zw03fijlshqkfx6vp97qhifz6air0yz9wkjn20k4laki9krkyy";
        libraryHaskellDepends = [
          base colour colour-space constrained-categories containers
          data-default deepseq diagrams-cairo diagrams-core diagrams-gtk
@@ -88686,30 +88874,32 @@ self: {
      }) {};
 
   "espial" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bcrypt, blaze-html
-     , bytestring, case-insensitive, classy-prelude
+    ({ mkDerivation, aeson, attoparsec, base, base64, bcrypt
+     , blaze-html, bytestring, case-insensitive, classy-prelude
      , classy-prelude-conduit, classy-prelude-yesod, conduit, connection
-     , containers, data-default, directory, entropy, esqueleto
-     , fast-logger, file-embed, foreign-store, hjsmin, hscolour, hspec
-     , html-entities, http-api-data, http-client, http-client-tls
-     , http-conduit, http-types, iso8601-time, microlens, monad-logger
-     , mtl, optparse-applicative, optparse-generic, parser-combinators
-     , persistent, persistent-sqlite, persistent-template, pretty-show
-     , safe, shakespeare, template-haskell, text, time, transformers
+     , containers, cryptohash-sha256, data-default, directory, entropy
+     , esqueleto, fast-logger, file-embed, foreign-store, hjsmin
+     , hscolour, hspec, html-entities, http-api-data, http-client
+     , http-client-tls, http-conduit, http-types, iso8601-time
+     , microlens, monad-logger, mtl, optparse-applicative
+     , optparse-generic, parser-combinators, persistent
+     , persistent-sqlite, persistent-template, pretty-show, safe
+     , shakespeare, template-haskell, text, time, transformers
      , unordered-containers, vector, wai, wai-extra, wai-logger, warp
      , yaml, yesod, yesod-auth, yesod-core, yesod-form, yesod-newsfeed
      , yesod-static, yesod-test
      }:
      mkDerivation {
        pname = "espial";
-       version = "0.0.10";
-       sha256 = "01xbnif1wwfr6w9mnc6fpsnf8vnfdi3r1gcg8gwdsg7mjxvjc0w1";
+       version = "0.0.11";
+       sha256 = "1y3hvrwb6sg2vgjrxakl27gh9i1kr8x4l64jc6sfxqx4gvrgi338";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson attoparsec base bcrypt blaze-html bytestring case-insensitive
-         classy-prelude classy-prelude-conduit classy-prelude-yesod conduit
-         connection containers data-default directory entropy esqueleto
+         aeson attoparsec base base64 bcrypt blaze-html bytestring
+         case-insensitive classy-prelude classy-prelude-conduit
+         classy-prelude-yesod conduit connection containers
+         cryptohash-sha256 data-default directory entropy esqueleto
          fast-logger file-embed foreign-store hjsmin hscolour html-entities
          http-api-data http-client http-client-tls http-conduit http-types
          iso8601-time microlens monad-logger mtl parser-combinators
@@ -88719,9 +88909,10 @@ self: {
          yesod yesod-auth yesod-core yesod-form yesod-newsfeed yesod-static
        ];
        executableHaskellDepends = [
-         aeson attoparsec base bcrypt blaze-html bytestring case-insensitive
-         classy-prelude classy-prelude-conduit classy-prelude-yesod conduit
-         connection containers data-default directory entropy esqueleto
+         aeson attoparsec base base64 bcrypt blaze-html bytestring
+         case-insensitive classy-prelude classy-prelude-conduit
+         classy-prelude-yesod conduit connection containers
+         cryptohash-sha256 data-default directory entropy esqueleto
          fast-logger file-embed foreign-store hjsmin hscolour html-entities
          http-api-data http-client http-client-tls http-conduit http-types
          iso8601-time microlens monad-logger mtl optparse-applicative
@@ -88732,9 +88923,10 @@ self: {
          yesod-newsfeed yesod-static
        ];
        testHaskellDepends = [
-         aeson attoparsec base bcrypt blaze-html bytestring case-insensitive
-         classy-prelude classy-prelude-conduit classy-prelude-yesod conduit
-         connection containers data-default directory entropy esqueleto
+         aeson attoparsec base base64 bcrypt blaze-html bytestring
+         case-insensitive classy-prelude classy-prelude-conduit
+         classy-prelude-yesod conduit connection containers
+         cryptohash-sha256 data-default directory entropy esqueleto
          fast-logger file-embed foreign-store hjsmin hscolour hspec
          html-entities http-api-data http-client http-client-tls
          http-conduit http-types iso8601-time microlens monad-logger mtl
@@ -88760,8 +88952,8 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "3.5.4.0";
-       sha256 = "1c38kx04nkk68bj76mkbjbmw9fhb3ljn3j8mwsls6q7m4z49m6yy";
+       version = "3.5.4.1";
+       sha256 = "05jnsaxmc5y1mh6n52agv9rfh6s11fidd30mr5f1f53568dw9c95";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-html bytestring conduit containers
          monad-logger persistent resourcet tagged text time transformers
@@ -100009,8 +100201,8 @@ self: {
        pname = "fsnotify";
        version = "0.3.0.1";
        sha256 = "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny";
-       revision = "1";
-       editedCabalFile = "1pa9pa0kflkqlb4dysagy0aihn452hmf6wwlsr7fp4ygg86m7fsq";
+       revision = "2";
+       editedCabalFile = "12m0y5583plk9pikvwqy1rc0yyvicxf8j5nz0nwxb4grsgfqrv7v";
        libraryHaskellDepends = [
          async base bytestring containers directory filepath hinotify shelly
          text time unix unix-compat
@@ -101156,17 +101348,17 @@ self: {
      , bytestring-to-vector, cmark-gfm, containers, cryptohash-md5
      , directory, directory-tree, dlist, file-embed, filepath, free
      , futhark-data, futhark-manifest, futhark-server, githash, half
-     , happy, haskeline, language-c-quote, mainland-pretty, megaparsec
-     , mtl, neat-interpolation, parallel, parser-combinators, process
-     , process-extras, QuickCheck, random, regex-tdfa, srcloc, tasty
-     , tasty-hunit, tasty-quickcheck, template-haskell, temporary
-     , terminal-size, text, time, transformers, vector, versions
-     , zip-archive, zlib
+     , happy, haskeline, hslogger, language-c-quote, lens, lsp
+     , mainland-pretty, megaparsec, mtl, mwc-random, neat-interpolation
+     , parallel, parser-combinators, process, process-extras, QuickCheck
+     , random, regex-tdfa, srcloc, statistics, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, temporary, terminal-size
+     , text, time, transformers, vector, versions, zip-archive, zlib
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.21.8";
-       sha256 = "16qvrmqrfsnj11f59xkb3cgibd1wq80bcssjfzbicwmrlxi86im6";
+       version = "0.21.10";
+       sha256 = "0mm0awd1sf5sfb6i1yjbcm67j2nhqpfnn11q8p61z3b2py6lnzzf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -101174,10 +101366,11 @@ self: {
          bmp bytestring bytestring-to-vector cmark-gfm containers
          cryptohash-md5 directory directory-tree dlist file-embed filepath
          free futhark-data futhark-manifest futhark-server githash half
-         haskeline language-c-quote mainland-pretty megaparsec mtl
-         neat-interpolation parallel process process-extras random
-         regex-tdfa srcloc template-haskell temporary terminal-size text
-         time transformers vector versions zip-archive zlib
+         haskeline hslogger language-c-quote lens lsp mainland-pretty
+         megaparsec mtl mwc-random neat-interpolation parallel process
+         process-extras random regex-tdfa srcloc statistics template-haskell
+         temporary terminal-size text time transformers vector versions
+         zip-archive zlib
        ];
        libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [ base text ];
@@ -102511,6 +102704,33 @@ self: {
        broken = true;
      }) {};
 
+  "gemini-exports" = callPackage
+    ({ mkDerivation, aeson, base, base64, bytestring, cassava, cmdargs
+     , containers, cryptonite, directory, hedgehog, http-client
+     , http-types, mtl, raw-strings-qq, req, safe-exceptions, scientific
+     , tasty, tasty-hedgehog, tasty-hunit, text, time, xdg-basedir, yaml
+     }:
+     mkDerivation {
+       pname = "gemini-exports";
+       version = "0.1.0.0";
+       sha256 = "0a50mb0na1b595gpbq8ynisg6g6dispjgz1dj2gc51k6q618jgly";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base64 bytestring cassava cmdargs containers cryptonite
+         directory http-client http-types mtl raw-strings-qq req
+         safe-exceptions scientific text time xdg-basedir yaml
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base hedgehog tasty tasty-hedgehog tasty-hunit
+       ];
+       description = "Generate CSV Exports of Your Gemini Trades, Transfers, & Earn Transactions";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "gemini-router" = callPackage
     ({ mkDerivation, base, gemini-server, HsOpenSSL, network-uri
      , transformers
@@ -104943,8 +105163,8 @@ self: {
        pname = "ghc-debug-common";
        version = "0.2.0.0";
        sha256 = "1fw9whgh2zayvaagn1f7x1qkwvznpjhpn4zkfnfav24pkmpf5ijy";
-       revision = "1";
-       editedCabalFile = "0p4n8ralbf8jsydjb1q42avrzya09hf0pq5zp1s1ggx3gm3q7ra8";
+       revision = "2";
+       editedCabalFile = "1cq2bgq9n6295912p8bfwkrg9jqx36x4zxzj468pkr3dsfhjqr23";
        libraryHaskellDepends = [
          array base binary bytestring containers cpu deepseq directory
          dom-lt filepath ghc-debug-convention ghc-heap hashable transformers
@@ -104976,6 +105196,8 @@ self: {
        pname = "ghc-debug-stub";
        version = "0.2.0.0";
        sha256 = "1zi388jwdad9qlj1v0ihrv67abknbhh7scr1fymc808xmkkwk701";
+       revision = "1";
+       editedCabalFile = "0irnhf32ghxch8r0p2vd7afj3282a1r9lval2an2mj99kcllhl6d";
        libraryHaskellDepends = [
          base directory filepath ghc-debug-convention ghc-prim
        ];
@@ -105001,8 +105223,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-dump-core";
-       version = "0.1.2.0";
-       sha256 = "0yv811iyjx4iklj44bhipmiwlxl8bx27866i32icnl5ds86ws7la";
+       version = "0.2.1.0";
+       sha256 = "01qbim2chc8kh76pza30nd5hgf4816ki130m71ajpsjghh34xrd9";
        libraryHaskellDepends = [
          base bytestring directory filepath ghc serialise text
        ];
@@ -105039,22 +105261,24 @@ self: {
      }) {};
 
   "ghc-dump-util" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, bytestring, ghc-dump-core
-     , hashable, optparse-applicative, regex-tdfa, serialise, text
+    ({ mkDerivation, ansi-terminal, base, bytestring, ghc-dump-core
+     , hashable, lucid, optparse-applicative, prettyprinter
+     , prettyprinter-ansi-terminal, regex-tdfa, serialise, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "ghc-dump-util";
-       version = "0.1.2.0";
-       sha256 = "1j85mscsc1g647r4d3v72lqclsi8bw174di6w9n24x0bq3rqskxi";
+       version = "0.2.1.0";
+       sha256 = "02gygafwdpz442pycal0gxsk9rryqcv6r0gzg55qwgqwdbdqyfp4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         ansi-wl-pprint base bytestring ghc-dump-core hashable serialise
-         text unordered-containers
+         base bytestring ghc-dump-core hashable lucid prettyprinter
+         serialise text unordered-containers
        ];
        executableHaskellDepends = [
-         ansi-wl-pprint base ghc-dump-core optparse-applicative regex-tdfa
+         ansi-terminal base ghc-dump-core optparse-applicative prettyprinter
+         prettyprinter-ansi-terminal regex-tdfa
        ];
        description = "Handy tools for working with ghc-dump dumps";
        license = lib.licenses.bsd3;
@@ -105093,6 +105317,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ghc-events_0_17_0_3" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers, text
+     , vector
+     }:
+     mkDerivation {
+       pname = "ghc-events";
+       version = "0.17.0.3";
+       sha256 = "0m50x2ycv43d7yzwksbs1zc11wlyiszjz662fj47v9r7hacx335v";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base binary bytestring containers text vector
+       ];
+       executableHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base ];
+       description = "Library and tool for parsing .eventlog files from GHC";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ghc-events-analyze" = callPackage
     ({ mkDerivation, base, blaze-svg, bytestring, containers
      , diagrams-lib, diagrams-svg, filepath, ghc-events, hashable, lens
@@ -110126,7 +110370,9 @@ self: {
        testHaskellDepends = [ base HUnit ];
        description = "Console IRC client";
        license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ kiwi ];
+       broken = true;
      }) {};
 
   "gll" = callPackage
@@ -114178,6 +114424,36 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "gpmf" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-binary, base, binary
+     , bytestring, containers, data-binary-ieee754, HUnit, lens, mtl
+     , tasty, tasty-golden, tasty-hunit, tasty-quickcheck, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "gpmf";
+       version = "0.1.1.0";
+       sha256 = "14xwfwy8d7nn15alllcs61zq0pa7llsjh18f7qd13b5qcf485mpx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec attoparsec-binary base binary bytestring containers
+         data-binary-ieee754 lens mtl time transformers
+       ];
+       executableHaskellDepends = [
+         attoparsec attoparsec-binary base binary bytestring containers
+         data-binary-ieee754 lens mtl time transformers
+       ];
+       testHaskellDepends = [
+         attoparsec attoparsec-binary base binary bytestring containers
+         data-binary-ieee754 HUnit lens mtl tasty tasty-golden tasty-hunit
+         tasty-quickcheck time transformers
+       ];
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "gpolyline" = callPackage
     ({ mkDerivation, base, split }:
      mkDerivation {
@@ -115081,8 +115357,8 @@ self: {
        pname = "graphql-client";
        version = "1.1.1";
        sha256 = "1d00ib9c8ps8vv1qgrkjfzrjbgbsdnp1jiz7779bwm76j88vggb4";
-       revision = "3";
-       editedCabalFile = "0pnkq0wxjmfk67ji6wr7b42lsr2gp026cx91ryq146gh4c9gwacv";
+       revision = "4";
+       editedCabalFile = "0aiwn7pwv67nwfgg6ga4lr60i9gq9n402dsdyfw88i66fllhgmkc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -119937,6 +120213,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "half-space" = callPackage
+    ({ mkDerivation, base, call-stack, equational-reasoning
+     , manifolds-core, vector-space
+     }:
+     mkDerivation {
+       pname = "half-space";
+       version = "0.1.0.0";
+       sha256 = "0pijcyxqsrzdp1jjcvi3xbrg878bp954j7n1i1y059riz9a7nyk6";
+       libraryHaskellDepends = [
+         base call-stack equational-reasoning manifolds-core vector-space
+       ];
+       description = "Additive monoids generalising vector spaces";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "halfs" = callPackage
     ({ mkDerivation, array, base, bytestring, cereal, containers
      , directory, filepath, fingertree, HFuse, mtl, QuickCheck, random
@@ -120838,23 +121131,24 @@ self: {
      , happstack-jmacro, happstack-server, hsp, hsx-jmacro, hsx2hs
      , http-conduit, http-types, ixset-typed, jmacro, jwt, lens
      , mime-mail, mtl, pwstore-purehaskell, random, safecopy
-     , shakespeare, text, time, unordered-containers, userid, web-routes
-     , web-routes-boomerang, web-routes-happstack, web-routes-hsp
-     , web-routes-th
+     , shakespeare, stm, text, time, unordered-containers, userid
+     , web-routes, web-routes-boomerang, web-routes-happstack
+     , web-routes-hsp, web-routes-th
      }:
      mkDerivation {
        pname = "happstack-authenticate";
-       version = "2.5.1";
-       sha256 = "13v128xcjdflzqiszal8iwbnp0ia02p2n52hwlhvb5ip2c4gipkm";
+       version = "2.6.0";
+       sha256 = "0sqldnhfp631vb3v69zm856zax89mgykvj4f9siisqn41qz097zx";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson authenticate base base64-bytestring boomerang
          bytestring containers data-default email-validate filepath
          happstack-hsp happstack-jmacro happstack-server hsp hsx-jmacro
          hsx2hs http-conduit http-types ixset-typed jmacro jwt lens
-         mime-mail mtl pwstore-purehaskell random safecopy shakespeare text
-         time unordered-containers userid web-routes web-routes-boomerang
-         web-routes-happstack web-routes-hsp web-routes-th
+         mime-mail mtl pwstore-purehaskell random safecopy shakespeare stm
+         text time unordered-containers userid web-routes
+         web-routes-boomerang web-routes-happstack web-routes-hsp
+         web-routes-th
        ];
        description = "Happstack Authentication Library";
        license = lib.licenses.bsd3;
@@ -121715,8 +122009,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "harp";
-       version = "0.4.3.4";
-       sha256 = "0n30bvpfijaji8p2lk3vc0dfcgd2sclwakvbi31jma4z1i03k89q";
+       version = "0.4.3.5";
+       sha256 = "0a9vhldmfrnzbv6ic311akcvyd39j8llkwpm8snaap6s593p7z5h";
        libraryHaskellDepends = [ base ];
        description = "HaRP allows pattern-matching with regular expressions";
        license = lib.licenses.bsd3;
@@ -125567,8 +125861,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-core";
-       version = "0.21.1";
-       sha256 = "0ld1a0pn5llnzdnffvcwh8zzh8143vkx3f5y1ixgb7qx6gpqnzrs";
+       version = "0.21.2";
+       sha256 = "12i490xjfb0aav18ay3ahh0hpa9l5095a4hmva1ka3497clm7cfr";
        libraryHaskellDepends = [
          aeson array base base16 binary bytes bytestring cereal conduit
          containers cryptonite deepseq entropy hashable hspec memory mtl
@@ -125707,8 +126001,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.65.0";
-       sha256 = "0fd160w771x2rzy68rxrc8ail4xlplgf9qc2g8xi8j2am9if4q7y";
+       version = "0.65.2";
+       sha256 = "0sfb0z29jzi42yk734gw70dwxjzgfk9bmw3pl9l91iy6iqxakian";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -125755,8 +126049,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store-data";
-       version = "0.65.0";
-       sha256 = "0758jsabbdkg2n9vi0b91bh3dwflpqq6vqkhvlxi1rdpdil4sl1l";
+       version = "0.65.2";
+       sha256 = "1nx2fiai27mycbqsxi1hbgwnsaa36836zzg65bdaj5wl03549ywj";
        libraryHaskellDepends = [
          aeson base binary bytes bytestring cereal containers data-default
          deepseq hashable haskoin-core http-client http-types lens mtl
@@ -127131,6 +127425,25 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "hasql-th_0_4_0_12" = callPackage
+    ({ mkDerivation, base, bytestring, containers, contravariant, foldl
+     , hasql, postgresql-syntax, template-haskell
+     , template-haskell-compat-v0208, text, uuid, vector
+     }:
+     mkDerivation {
+       pname = "hasql-th";
+       version = "0.4.0.12";
+       sha256 = "0fcfm2d66f7hzzc9s73dd9dxcjsrr33c1q0v04j3zqm159kk69jd";
+       libraryHaskellDepends = [
+         base bytestring containers contravariant foldl hasql
+         postgresql-syntax template-haskell template-haskell-compat-v0208
+         text uuid vector
+       ];
+       description = "Template Haskell utilities for Hasql";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hasql-transaction" = callPackage
     ({ mkDerivation, async, base, bytestring, bytestring-tree-builder
      , contravariant, contravariant-extras, hasql, mtl, rerebase
@@ -127716,8 +128029,8 @@ self: {
      }:
      mkDerivation {
        pname = "haxl";
-       version = "2.3.0.0";
-       sha256 = "149k26iaas3sb9qyagzjkb0n86k34nf0r06fyvvqyap1w476fd3c";
+       version = "2.4.0.0";
+       sha256 = "1vah61fs047h9v0c8z6ka0lcckhcsjrjxqcck0jipcppzpg68inw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -129605,6 +129918,19 @@ self: {
        broken = true;
      }) {};
 
+  "hedgehog-lens" = callPackage
+    ({ mkDerivation, base, hedgehog, lens }:
+     mkDerivation {
+       pname = "hedgehog-lens";
+       version = "0.1.0.0";
+       sha256 = "08zr8xyfb3ihbcy5y2afcl3a2fy68bfiyyb35hdqdjbzf80zlbhv";
+       libraryHaskellDepends = [ base hedgehog lens ];
+       description = "Hedgehog properties for lens laws";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hedgehog-optics" = callPackage
     ({ mkDerivation, base, hedgehog, optics-core }:
      mkDerivation {
@@ -130047,8 +130373,8 @@ self: {
      }:
      mkDerivation {
        pname = "helic";
-       version = "0.5.0.0";
-       sha256 = "11g3w3v61k5z7wc1swnmifhcw6q3l1m1fcn3m8gmqa0ri4hixjzj";
+       version = "0.5.1.0";
+       sha256 = "1gglcac10abszarmrgggrirf51jj0qcbp7gdqh93kghx1pqv4ldg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -137625,8 +137951,8 @@ self: {
      }:
      mkDerivation {
        pname = "hookup";
-       version = "0.6";
-       sha256 = "09rhsq0j2m1j87qsbsd3l1q3dv2zs4wrhcz2jhn4a6dx273w5528";
+       version = "0.7";
+       sha256 = "02prkwj4rj8g330z17bpjh7hpwfdvasaxsk74mcvbi03gjpydrib";
        libraryHaskellDepends = [
          async attoparsec base bytestring HsOpenSSL HsOpenSSL-x509-system
          network stm
@@ -143400,14 +143726,14 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hspec_2_9_6" = callPackage
+  "hspec_2_9_7" = callPackage
     ({ mkDerivation, base, hspec-core, hspec-discover
      , hspec-expectations, QuickCheck
      }:
      mkDerivation {
        pname = "hspec";
-       version = "2.9.6";
-       sha256 = "1x3mizv029qn9yyq3ipr2awlapbsiyksxzd9x7r3vjfxlwbjs4sr";
+       version = "2.9.7";
+       sha256 = "092sfqjkargxxszp9jjqa8ldjz0xv34jwn6k21q59ys5ckvsrpc1";
        libraryHaskellDepends = [
          base hspec-core hspec-discover hspec-expectations QuickCheck
        ];
@@ -143527,7 +143853,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hspec-core_2_9_6" = callPackage
+  "hspec-core_2_9_7" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, base-orphans
      , call-stack, clock, deepseq, directory, filepath, ghc, ghc-boot-th
      , hspec-expectations, hspec-meta, HUnit, process, QuickCheck
@@ -143536,8 +143862,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-core";
-       version = "2.9.6";
-       sha256 = "0mg8rdg8ga24fk6cv7p8vb0j33agay1nwaxqvfga6d4kj5g440fr";
+       version = "2.9.7";
+       sha256 = "040rzqiqwkp373jjpij8lkmv08pp2ya92zzcf95bw8px215rp08n";
        libraryHaskellDepends = [
          ansi-terminal array base call-stack clock deepseq directory
          filepath ghc ghc-boot-th hspec-expectations HUnit QuickCheck
@@ -143616,14 +143942,14 @@ self: {
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
-  "hspec-discover_2_9_6" = callPackage
+  "hspec-discover_2_9_7" = callPackage
     ({ mkDerivation, base, directory, filepath, hspec-meta, mockery
      , QuickCheck
      }:
      mkDerivation {
        pname = "hspec-discover";
-       version = "2.9.6";
-       sha256 = "1k77hn47b3l4m8qpp2zfv73k2in7pi2fybda0dkpfj3a1jsarpin";
+       version = "2.9.7";
+       sha256 = "0536kdxjw6p8b6gcwvmr22jbmb6cgzbddi0fkd01b2m847z37sb5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory filepath ];
@@ -144169,6 +144495,8 @@ self: {
        pname = "hspec-smallcheck";
        version = "0.5.2";
        sha256 = "06c1ym793zkdwi4bxk5f4l7m1n1bg5jmnm0p68q2pa9rlhk1lc4s";
+       revision = "1";
+       editedCabalFile = "0bih2r7pdfca8jw9jii84nsx3q6xfwjylsilgwxx02xl35dv0nkp";
        libraryHaskellDepends = [
          base call-stack hspec-core HUnit smallcheck
        ];
@@ -145207,8 +145535,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsx2hs";
-       version = "0.14.1.8";
-       sha256 = "1yx2bnwjqwghp2jg3kpk42wbbqswnxph46xjrmyaharlw1s8y0f2";
+       version = "0.14.1.9";
+       sha256 = "1154p6ki51h5wlq8431q9h8r1q7f409vaq5hzi5q9895nxd3lkr3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -147118,6 +147446,8 @@ self: {
        pname = "http2-client";
        version = "0.10.0.0";
        sha256 = "0kv4qa9cbwwj6b62manzpl1sk4jnsb5vx2y73w49drlfkrw1vpgy";
+       revision = "1";
+       editedCabalFile = "18ilcli28jfm914v1l059z74cj43m4xfwqk2wfhhw0vyvw2n8ryi";
        libraryHaskellDepends = [
          async base bytestring containers deepseq http2 lifted-async
          lifted-base mtl network stm time tls transformers-base
@@ -148098,8 +148428,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-aeson";
-       version = "0.1.5.0";
-       sha256 = "0dzwn1k467dij8ihqzxq6vhm5faqqjndvyw0ikwjhwh0lf1h38cz";
+       version = "0.1.6.0";
+       sha256 = "06xi9bj0jsp2g2d2wkxs6w2p96i927alrrm4r9vpm530cd1zxzwr";
        libraryHaskellDepends = [
          aeson base containers text text-short unordered-containers
        ];
@@ -150371,6 +150701,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "hyperloglog_0_4_6" = callPackage
+    ({ mkDerivation, approximate, base, binary, bits, bytes, bytestring
+     , cereal, cereal-vector, comonad, cpu, deepseq, distributive
+     , hashable, lens, reflection, semigroupoids, semigroups, tagged
+     , vector
+     }:
+     mkDerivation {
+       pname = "hyperloglog";
+       version = "0.4.6";
+       sha256 = "0zwg4dhgasa9sx7pbjjjb9kz2bnhb3r2daij2b572cszv65l91nv";
+       libraryHaskellDepends = [
+         approximate base binary bits bytes bytestring cereal cereal-vector
+         comonad cpu deepseq distributive hashable lens reflection
+         semigroupoids semigroups tagged vector
+       ];
+       description = "An approximate streaming (constant space) unique object counter";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hyperloglogplus" = callPackage
     ({ mkDerivation, base, bits, containers, HUnit, murmur-hash
      , semigroups, tasty, tasty-hunit, vector
@@ -151232,6 +151582,19 @@ self: {
        broken = true;
      }) {};
 
+  "idiomatic" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "idiomatic";
+       version = "0.1.1.0";
+       sha256 = "10mcccvxw5s5n2k481xlzd3sdfab5kh963izwf20z4am20plrqqi";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ];
+       description = "Deriving Applicative for sum types.. Idiomatically.";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "idna" = callPackage
     ({ mkDerivation, base, punycode, stringprep, text }:
      mkDerivation {
@@ -157419,8 +157782,8 @@ self: {
      }:
      mkDerivation {
        pname = "jacinda";
-       version = "1.0.0.0";
-       sha256 = "1yskpr3mvfhzxcjf0f9sf3mhsg892vqkx5kd4vz4w6wk3vv1iz3i";
+       version = "1.1.0.0";
+       sha256 = "0sx15lslkcvck7cvd55ykkifba9cv0ig0h53ycf0izbl3cxdr1j9";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -157552,14 +157915,14 @@ self: {
      }) {};
 
   "jailbreak-cabal" = callPackage
-    ({ mkDerivation, base, Cabal }:
+    ({ mkDerivation, base, Cabal, Cabal-syntax }:
      mkDerivation {
        pname = "jailbreak-cabal";
-       version = "1.3.5";
-       sha256 = "1221gxggyk3pjqkc72wxx9gjl8dvqna1rn9nh9zkcmdpv5yww7wd";
+       version = "1.3.6";
+       sha256 = "11vzq4yklsi7v04lch0540fgvbg6d5fnl4sdfdcg8n3ijkwqy49p";
        isLibrary = false;
        isExecutable = true;
-       executableHaskellDepends = [ base Cabal ];
+       executableHaskellDepends = [ base Cabal Cabal-syntax ];
        description = "Strip version restrictions from Cabal files";
        license = lib.licenses.bsd3;
        maintainers = with lib.maintainers; [ peti ];
@@ -162199,8 +162562,8 @@ self: {
      }:
      mkDerivation {
        pname = "keter";
-       version = "1.8.1";
-       sha256 = "0lnjvbfiz5w37ylvqmlgxqnd5p0akq4nl59gagdbc2w06gj0an4d";
+       version = "1.8.4";
+       sha256 = "10p8hc1jfzkg3s8shazkip95i6r5a8gyiz6m1khl7myvb05i21gc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -166787,6 +167150,20 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "lazy-bracket" = callPackage
+    ({ mkDerivation, base, doctest, exceptions, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "lazy-bracket";
+       version = "0.1.0.0";
+       sha256 = "1qaawj54hp68jy0qf4cbv37n67s7pbayyn5f59lj138fl15cj300";
+       libraryHaskellDepends = [ base exceptions ];
+       testHaskellDepends = [ base doctest exceptions tasty tasty-hunit ];
+       description = "A bracket with lazy resource allocation";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "lazy-csv" = callPackage
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
@@ -169620,6 +169997,10 @@ self: {
        libraryToolDepends = [ c2hs ];
        description = "FFI bindings to libvirt virtualization API (http://libvirt.org)";
        license = lib.licenses.bsd3;
+       platforms = [
+         "aarch64-darwin" "aarch64-linux" "armv7l-linux" "i686-linux"
+         "x86_64-linux"
+       ];
      }) {inherit (pkgs) libvirt;};
 
   "libvorbis" = callPackage
@@ -170733,8 +171114,8 @@ self: {
      }:
      mkDerivation {
        pname = "linearmap-category";
-       version = "0.4.1.0";
-       sha256 = "01cpl44wg5kyx9lxv23hcsxd8dw90psqj9sgaklhxklbdvn77bvr";
+       version = "0.4.2.0";
+       sha256 = "0iblymralldn1xljdl6qyvxcsxg6rmgj42qx254vaajijp51ycmp";
        libraryHaskellDepends = [
          base call-stack constrained-categories containers
          data-default-class free-vector-spaces hashable ieee754 lens linear
@@ -175163,6 +175544,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "lucid-aria" = callPackage
+    ({ mkDerivation, base, hspec, HUnit, lucid, text }:
+     mkDerivation {
+       pname = "lucid-aria";
+       version = "0.1.0.1";
+       sha256 = "125ha3v367nx0vfynv834gr8iyqklll0syk6g7p4w8p1fq746c7z";
+       libraryHaskellDepends = [ base lucid text ];
+       testHaskellDepends = [ base hspec HUnit lucid ];
+       description = "Provides ARIA attributes for Lucid templates";
+       license = lib.licenses.asl20;
+     }) {};
+
   "lucid-cdn" = callPackage
     ({ mkDerivation, base, lucid }:
      mkDerivation {
@@ -175222,8 +175615,8 @@ self: {
     ({ mkDerivation, base, lucid, servant, text }:
      mkDerivation {
        pname = "lucid-htmx";
-       version = "0.1.0.5";
-       sha256 = "1zbk1fdril0cm4cs5scrvk1fvfkds8pgkwnb5c9vxawv5v3kgpl5";
+       version = "0.1.0.6";
+       sha256 = "0jd0igz4hymx5fnjsgx2y97440djfz416phnczz52g2vw7amgqjw";
        libraryHaskellDepends = [ base lucid servant text ];
        testHaskellDepends = [ base lucid servant text ];
        description = "Use htmx in your lucid templates";
@@ -175862,14 +176255,16 @@ self: {
      }) {};
 
   "lzo" = callPackage
-    ({ mkDerivation, base, binary, bytestring, criterion, digest, tasty
-     , tasty-hunit
+    ({ mkDerivation, base, binary, bytestring, criterion, digest
+     , digest-sig, tasty, tasty-hunit
      }:
      mkDerivation {
        pname = "lzo";
-       version = "0.1.1.3";
-       sha256 = "13l9fzvwyq1z3pv2p33w8ylb8wriwf5q2lif68f8n16fzh07ki7p";
-       libraryHaskellDepends = [ base binary bytestring digest ];
+       version = "0.1.1.4";
+       sha256 = "1n6b2y2bmq3kl6h5mjl301r31rmvrcsc3l66jmnj3ilrj4506m1y";
+       libraryHaskellDepends = [
+         base binary bytestring digest digest-sig
+       ];
        testHaskellDepends = [ base bytestring tasty tasty-hunit ];
        benchmarkHaskellDepends = [ base bytestring criterion ];
        description = "minilzo bundled for Haskell";
@@ -177378,8 +177773,8 @@ self: {
      }:
      mkDerivation {
        pname = "manifold-random";
-       version = "0.5.1.0";
-       sha256 = "0zip7ni06zljhj94d5vdf6sb6fbsm9iidcsrl85bdh7i7dkb3avr";
+       version = "0.6.0.0";
+       sha256 = "088kvfap0lbpnzz0vraa4pclj3savm0m4a174digd1r9x025v4kv";
        libraryHaskellDepends = [
          base constrained-categories linearmap-category manifolds random-fu
          semigroups vector-space
@@ -177391,23 +177786,24 @@ self: {
 
   "manifolds" = callPackage
     ({ mkDerivation, array, base, binary, call-stack, comonad
-     , constrained-categories, containers, deepseq, free
-     , free-vector-spaces, ieee754, lens, linear, linearmap-category
-     , manifolds-core, MemoTrie, number-show, placeholders
-     , pragmatic-show, QuickCheck, semigroups, spatial-rotations, tagged
-     , tasty, tasty-hunit, tasty-quickcheck, transformers, vector
-     , vector-space, void
+     , constrained-categories, containers, deepseq, equational-reasoning
+     , free, free-vector-spaces, half-space, ieee754, lens, linear
+     , linearmap-category, manifolds-core, MemoTrie, number-show
+     , placeholders, pragmatic-show, QuickCheck, semigroups
+     , spatial-rotations, tagged, tasty, tasty-hunit, tasty-quickcheck
+     , transformers, vector, vector-space, void
      }:
      mkDerivation {
        pname = "manifolds";
-       version = "0.5.1.0";
-       sha256 = "12w1whsr8zbsvv06iwdd27hjnvs8s041hrsp5c85chl4xqxwkl5h";
+       version = "0.6.0.0";
+       sha256 = "1vp3lnp15s1qzkplxj8bss4s27gp7p9aj3rc0q99dzkr4ylbw2gz";
        libraryHaskellDepends = [
          array base binary call-stack comonad constrained-categories
-         containers deepseq free free-vector-spaces ieee754 lens linear
-         linearmap-category manifolds-core MemoTrie number-show placeholders
-         pragmatic-show QuickCheck semigroups spatial-rotations tagged
-         transformers vector vector-space void
+         containers deepseq equational-reasoning free free-vector-spaces
+         half-space ieee754 lens linear linearmap-category manifolds-core
+         MemoTrie number-show placeholders pragmatic-show QuickCheck
+         semigroups spatial-rotations tagged transformers vector
+         vector-space void
        ];
        testHaskellDepends = [
          base constrained-categories containers lens linear
@@ -177420,12 +177816,16 @@ self: {
      }) {};
 
   "manifolds-core" = callPackage
-    ({ mkDerivation, base, call-stack, tagged, vector-space }:
+    ({ mkDerivation, base, call-stack, equational-reasoning, tagged
+     , vector-space
+     }:
      mkDerivation {
        pname = "manifolds-core";
-       version = "0.5.1.0";
-       sha256 = "1bvmr0gcfj7zd0rff0qjlzjy8hqdbh52ljiiazrmqmb9abdsciq3";
-       libraryHaskellDepends = [ base call-stack tagged vector-space ];
+       version = "0.6.0.0";
+       sha256 = "000lfkvx6j3cf6dzccfncazlkqj9bjfl04x0d36k8w78d20md5kj";
+       libraryHaskellDepends = [
+         base call-stack equational-reasoning tagged vector-space
+       ];
        description = "The basic classes for the manifolds hierarchy";
        license = lib.licenses.gpl3Only;
      }) {};
@@ -183521,8 +183921,8 @@ self: {
      }:
      mkDerivation {
        pname = "mnist-idx";
-       version = "0.1.3.0";
-       sha256 = "0i65f83bs6l5gjf3wj3ad3c76ni3d22sac5qyi5hi5i93w0px32j";
+       version = "0.1.3.1";
+       sha256 = "12246lq1a0jc91yqyng9v2cgf4pqmfmf820jjwnc6aglx86vsmni";
        libraryHaskellDepends = [ base binary bytestring vector ];
        testHaskellDepends = [
          base binary directory hspec QuickCheck vector
@@ -187799,7 +188199,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A Haskell implementation of MessagePack";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "msgpack-binary" = callPackage
@@ -187941,7 +188340,6 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "A Haskell implementation of MessagePack";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "msgpack-types" = callPackage
@@ -187966,8 +188364,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A Haskell implementation of MessagePack";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "msh" = callPackage
@@ -197286,35 +197682,37 @@ self: {
      }) {};
 
   "nvfetcher" = callPackage
-    ({ mkDerivation, aeson, async, base, binary, binary-instances
-     , bytestring, containers, data-default, extra, free, hspec
-     , hspec-discover, microlens, microlens-th, neat-interpolation
-     , optparse-simple, parsec, shake, stm, text, tomland, transformers
-     , unliftio, unordered-containers, validation-selective
+    ({ mkDerivation, aeson, aeson-pretty, async, base, binary
+     , binary-instances, bytestring, containers, data-default, extra
+     , free, hspec, hspec-discover, microlens, microlens-th
+     , neat-interpolation, optparse-simple, parsec, prettyprinter
+     , regex-tdfa, shake, stm, text, tomland, transformers, unliftio
+     , unordered-containers, validation-selective
      }:
      mkDerivation {
        pname = "nvfetcher";
-       version = "0.4.0.0";
-       sha256 = "1mj2vmll0zpzx1f0j445h800lxvma30f9ainbnm54x3d4n6yvw7n";
+       version = "0.5.0.0";
+       sha256 = "0kglvniiqa3plxn973sl7dww75lxar5sf8ipjmgjryv9b0wxbv30";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base binary binary-instances bytestring containers
-         data-default extra free microlens microlens-th neat-interpolation
-         optparse-simple parsec shake text tomland transformers
-         unordered-containers
+         aeson aeson-pretty base binary binary-instances bytestring
+         containers data-default extra free microlens microlens-th
+         neat-interpolation optparse-simple parsec prettyprinter regex-tdfa
+         shake text tomland transformers unordered-containers
        ];
        executableHaskellDepends = [
-         aeson base binary binary-instances bytestring containers
-         data-default extra free microlens microlens-th neat-interpolation
-         optparse-simple parsec shake text tomland transformers
-         unordered-containers validation-selective
+         aeson aeson-pretty base binary binary-instances bytestring
+         containers data-default extra free microlens microlens-th
+         neat-interpolation optparse-simple parsec prettyprinter regex-tdfa
+         shake text tomland transformers unordered-containers
+         validation-selective
        ];
        testHaskellDepends = [
-         aeson async base binary binary-instances bytestring containers
-         data-default extra free hspec microlens microlens-th
-         neat-interpolation optparse-simple parsec shake stm text tomland
-         transformers unliftio unordered-containers
+         aeson aeson-pretty async base binary binary-instances bytestring
+         containers data-default extra free hspec microlens microlens-th
+         neat-interpolation optparse-simple parsec prettyprinter regex-tdfa
+         shake stm text tomland transformers unliftio unordered-containers
        ];
        testToolDepends = [ hspec-discover ];
        description = "Generate nix sources expr for the latest version of packages";
@@ -199887,8 +200285,6 @@ self: {
        testToolDepends = [ tasty-discover ];
        benchmarkHaskellDepends = [ base opentelemetry tasty-bench ];
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "opentelemetry-extra_0_8_0" = callPackage
@@ -199926,7 +200322,6 @@ self: {
        benchmarkHaskellDepends = [ base opentelemetry tasty-bench ];
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "opentelemetry-http-client" = callPackage
@@ -199968,7 +200363,6 @@ self: {
          splitmix text typed-process unordered-containers
        ];
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "opentelemetry-lightstep_0_8_0" = callPackage
@@ -201009,8 +201403,8 @@ self: {
      }:
      mkDerivation {
        pname = "optstream";
-       version = "0.1.0.0";
-       sha256 = "0514i983r1hsck6rqhk1ggs4f5zpghx6l5d140r3k7v0nrrya6y5";
+       version = "0.1.1.0";
+       sha256 = "1d9zpvfp31808zy574x7r00mckg6bm1bfn9zjrcfh3314wrhmm6x";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base QuickCheck test-framework test-framework-quickcheck2
@@ -201230,6 +201624,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ordering-util" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "ordering-util";
+       version = "0.1.3.1";
+       sha256 = "1f9dkrap8v9fpkj0s2991gqzi6hwascmx2g3n44njg4nn8r2an69";
+       libraryHaskellDepends = [ base ];
+       description = "Utilities for Orderings";
+       license = lib.licenses.mit;
+     }) {};
+
   "orderly-workers" = callPackage
     ({ mkDerivation, base, stm }:
      mkDerivation {
@@ -203503,8 +203908,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "pandora";
-       version = "0.5.3";
-       sha256 = "097vpsml5hma4acyrz26hmfddyz1j9kcbqw5z7lkhak1jmpdv2ac";
+       version = "0.5.4";
+       sha256 = "0mhhjny7djyg8m49klk5kxf4w4nb3hfj3if0qqamyzy3qlpfzpva";
        description = "A box of patterns and paradigms";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -203515,8 +203920,8 @@ self: {
     ({ mkDerivation, ghc-prim, pandora }:
      mkDerivation {
        pname = "pandora-io";
-       version = "0.5.3";
-       sha256 = "0m0cskpylr26sz6gs133j2p6yr6r22hksk7p4aimszbg88vayany";
+       version = "0.5.4";
+       sha256 = "0jymxxrcq9sj1xysqrrxcxfrygg5fjqq44zphxg0clh16kzzq8y7";
        libraryHaskellDepends = [ ghc-prim pandora ];
        description = "...";
        license = lib.licenses.mit;
@@ -203727,10 +204132,8 @@ self: {
      }:
      mkDerivation {
        pname = "pantry";
-       version = "0.5.4";
-       sha256 = "080j0pw8fmyb05klbi8vy3dpahiw3zxmykvqamvziwrznl1p4b2m";
-       revision = "1";
-       editedCabalFile = "0y1faym7qqcjn2f23sqhxaq83ih3h6nr7ql665k1pw93hi3jdv05";
+       version = "0.5.5";
+       sha256 = "0hdpngpq2i8kvw6lmpv99y7q1z6b1rwlcajngwjx46x55faw2gv4";
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring Cabal casa-client casa-types
          conduit conduit-extra containers cryptonite cryptonite-conduit
@@ -207907,8 +208310,44 @@ self: {
      }:
      mkDerivation {
        pname = "persistent";
-       version = "2.13.3.4";
-       sha256 = "1hl11iicgvvd8wxs6zgm2lbv593rqywjiay3f45pfzwr7kmd7r3z";
+       version = "2.13.3.5";
+       sha256 = "0z69yvk0rd29dp5qdhi4p587b891y90azrzzpa3g10cxp3gyywvm";
+       libraryHaskellDepends = [
+         aeson attoparsec base base64-bytestring blaze-html bytestring
+         conduit containers fast-logger http-api-data lift-type monad-logger
+         mtl path-pieces resource-pool resourcet scientific silently
+         template-haskell text th-lift-instances time transformers unliftio
+         unliftio-core unordered-containers vault vector
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base base64-bytestring blaze-html bytestring
+         conduit containers fast-logger hspec http-api-data monad-logger mtl
+         path-pieces QuickCheck quickcheck-instances resource-pool resourcet
+         scientific shakespeare silently template-haskell text
+         th-lift-instances time transformers unliftio unliftio-core
+         unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         base criterion deepseq file-embed template-haskell text
+       ];
+       description = "Type-safe, multi-backend data serialization";
+       license = lib.licenses.mit;
+       maintainers = with lib.maintainers; [ psibi ];
+     }) {};
+
+  "persistent_2_14_0_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , blaze-html, bytestring, conduit, containers, criterion, deepseq
+     , fast-logger, file-embed, hspec, http-api-data, lift-type
+     , monad-logger, mtl, path-pieces, QuickCheck, quickcheck-instances
+     , resource-pool, resourcet, scientific, shakespeare, silently
+     , template-haskell, text, th-lift-instances, time, transformers
+     , unliftio, unliftio-core, unordered-containers, vault, vector
+     }:
+     mkDerivation {
+       pname = "persistent";
+       version = "2.14.0.0";
+       sha256 = "16b3920zdp3cjvwkmp8yqm1p1gwzl4m4afr4kp567na5iczfih71";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html bytestring
          conduit containers fast-logger http-api-data lift-type monad-logger
@@ -207929,6 +208368,7 @@ self: {
        ];
        description = "Type-safe, multi-backend data serialization";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ psibi ];
      }) {};
 
@@ -208423,6 +208863,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "persistent-qq_2_12_0_3" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, fast-logger
+     , haskell-src-meta, hspec, HUnit, monad-logger, mtl, persistent
+     , persistent-sqlite, resourcet, template-haskell, text, unliftio
+     }:
+     mkDerivation {
+       pname = "persistent-qq";
+       version = "2.12.0.3";
+       sha256 = "0iv9x73g846grhb4vdh1xhpbwmk6hg5jh1xl2i7yh986pnqbl23g";
+       libraryHaskellDepends = [
+         base haskell-src-meta mtl persistent template-haskell text
+       ];
+       testHaskellDepends = [
+         aeson base bytestring fast-logger haskell-src-meta hspec HUnit
+         monad-logger mtl persistent persistent-sqlite resourcet
+         template-haskell text unliftio
+       ];
+       description = "Provides a quasi-quoter for raw SQL for persistent";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "persistent-ratelimit" = callPackage
     ({ mkDerivation, base, time, yesod }:
      mkDerivation {
@@ -208605,6 +209067,30 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "persistent-test_2_13_1_3" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, bytestring, conduit
+     , containers, exceptions, hspec, hspec-expectations, http-api-data
+     , HUnit, monad-control, monad-logger, mtl, path-pieces, persistent
+     , QuickCheck, quickcheck-instances, random, resourcet, text, time
+     , transformers, transformers-base, unliftio, unliftio-core
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "persistent-test";
+       version = "2.13.1.3";
+       sha256 = "0qqv00nlqpnfx4h3kkd8k0y41a8dfmgj0rc0smdf6p4kl2g1hrdl";
+       libraryHaskellDepends = [
+         aeson base blaze-html bytestring conduit containers exceptions
+         hspec hspec-expectations http-api-data HUnit monad-control
+         monad-logger mtl path-pieces persistent QuickCheck
+         quickcheck-instances random resourcet text time transformers
+         transformers-base unliftio unliftio-core unordered-containers
+       ];
+       description = "Tests for Persistent";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "persistent-typed-db" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, esqueleto, hspec
      , hspec-discover, http-api-data, monad-logger, path-pieces
@@ -212598,8 +213084,8 @@ self: {
      }:
      mkDerivation {
        pname = "ploterific";
-       version = "0.2.1.3";
-       sha256 = "0ggi653hjg9s3v9zqsapm3ryb37hfdbw21pznhsvzhyy3n0fv7jv";
+       version = "0.2.1.4";
+       sha256 = "1kss92ihn9gaif7c70az2pxbgrz2ab9g3257wspz6ivkds04lpip";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -214007,8 +214493,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-mocks";
-       version = "0.2.0.0";
-       sha256 = "1l17n7hxzb23y0vp9h8cxvfgdkwzbz8g0q37qppl4cqjkhcdq0ya";
+       version = "0.3.0.0";
+       sha256 = "03yq5pyrg2rhykyhvp3f8b816r9j035xr5d9d1cls73zh9pbbh7z";
        libraryHaskellDepends = [ base polysemy template-haskell ];
        testHaskellDepends = [ base hspec polysemy ];
        testToolDepends = [ hspec-discover ];
@@ -215109,8 +215595,8 @@ self: {
     ({ mkDerivation, base, deepseq, tasty, tasty-hunit }:
      mkDerivation {
        pname = "pos";
-       version = "0.2.0.0";
-       sha256 = "0c8zbfkbin97b9bavv56m1ym00q7bz9fv4aac45vlg4ns9b9yshv";
+       version = "0.3.0.0";
+       sha256 = "1cdy9025cqypx3lxa3gsjkidz0g3cbx2cxn0pzyr2ccrm3wf7mfp";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [ base deepseq tasty tasty-hunit ];
        description = "positive numbers";
@@ -218281,8 +218767,8 @@ self: {
     ({ mkDerivation, base, primitive }:
      mkDerivation {
        pname = "primitive-checked";
-       version = "0.7.2.0";
-       sha256 = "1swb10hd18w2xnxiwnscsv4fxmvrql3aw7fll5qlqi2hczbkd4lf";
+       version = "0.7.3.0";
+       sha256 = "1f4q6v70i8xllnphr894vcx35n0m9hplhlzgdyhrk76cv4fcwpl1";
        libraryHaskellDepends = [ base primitive ];
        description = "primitive functions with bounds-checking";
        license = lib.licenses.bsd3;
@@ -218550,8 +219036,8 @@ self: {
      }:
      mkDerivation {
        pname = "primus";
-       version = "0.2.0.0";
-       sha256 = "170lizshqraf2gqawfnahns019lsazmqvqs61yznzfj71xwr763c";
+       version = "0.3.0.0";
+       sha256 = "0g9b16cq9z6hbzdh49s952ihhfsv2z9cjfy1jh5nygg3zpvc8bdw";
        libraryHaskellDepends = [
          adjunctions base deepseq distributive pos profunctors semigroupoids
          these
@@ -220383,8 +220869,8 @@ self: {
      }:
      mkDerivation {
        pname = "proto-lens-jsonpb";
-       version = "0.2.0.2";
-       sha256 = "1r98841byxkg5941yjrw15n56i0x68qr3gk29bimwcfifdf0idm2";
+       version = "0.2.1";
+       sha256 = "0ax5zkg9qa7mh4x38nchahr1n1x2wyaasplknig4hgza7xkcmmas";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring bytestring
          proto-lens-runtime text vector
@@ -224597,8 +225083,8 @@ self: {
      }:
      mkDerivation {
        pname = "quote-quot";
-       version = "0.2.0.0";
-       sha256 = "0sj862037gdljwiv5s4yh0vjfppzf226z7sxb5f7y1k23rijsx0w";
+       version = "0.2.1.0";
+       sha256 = "1xsd5vs97dwp3wnz862mplakkryi44brr73aqrrv76svkj82bp37";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [
          base tasty tasty-quickcheck template-haskell
@@ -224609,15 +225095,12 @@ self: {
      }) {};
 
   "quotet" = callPackage
-    ({ mkDerivation, base, exceptions, mtl, template-haskell, th-compat
-     }:
+    ({ mkDerivation, base, mtl, template-haskell, th-compat }:
      mkDerivation {
        pname = "quotet";
-       version = "0.0.0.1";
-       sha256 = "030d1r5skmv0gayryy89yfxr5cq4qs01anbhaclil92g07ffblhz";
-       libraryHaskellDepends = [
-         base exceptions mtl template-haskell th-compat
-       ];
+       version = "0.0.1.0";
+       sha256 = "1ajxvhh2zl99ddvmvicsjq775l0k3d8lh433v1z6z6i7zra5hg4g";
+       libraryHaskellDepends = [ base mtl template-haskell th-compat ];
        description = "Monad transformer for Quote from template-haskell";
        license = lib.licenses.cc0;
      }) {};
@@ -225786,8 +226269,8 @@ self: {
        pname = "rapid";
        version = "0.1.4";
        sha256 = "0f86j4r3sm74w49v9x9s58wahgcgick6z7awl6piq83iqaiy4sh7";
-       revision = "1";
-       editedCabalFile = "1np33ba4d7crwsknw91igrrmkvzwsfmfijirsa7dxmap5npvn3ap";
+       revision = "2";
+       editedCabalFile = "1v31sadig136f7jv9cj7ddj2fn1ymhiahg4hg5n8l3czsjck7qmp";
        libraryHaskellDepends = [
          async base containers foreign-store stm
        ];
@@ -228823,8 +229306,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-dom-ionic";
-       version = "0.1.0.1";
-       sha256 = "0ka81047gk3hnpj9rcvyq8wnw6kxiwr2hxf8fwy3lclbgpk1sard";
+       version = "0.2.0.0";
+       sha256 = "0pc2kzfk3msd5yfvsvw3q27c32nfzazifipa1d7m4vlpbn5iwrq2";
        libraryHaskellDepends = [
          base containers ghcjs-dom lens ref-tf reflex reflex-dom-core text
        ];
@@ -228907,15 +229390,15 @@ self: {
   "reflex-dom-th" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, filepath
      , hspec, megaparsec, reflex-dom-core, stm, tasty, tasty-golden
-     , tasty-hspec, template-haskell, text
+     , tasty-hspec, template-haskell, text, th-lift-instances
      }:
      mkDerivation {
        pname = "reflex-dom-th";
-       version = "0.3.0.0";
-       sha256 = "19s8jhqrzdd5i4fsjp9870fh3hjy55naasf63d0gp0j6kcnb7ghd";
+       version = "0.3.0.1";
+       sha256 = "1dpzsgix1ldv7n8z8k4pbs3awjzyhyizrd047kx005kz2b1q1ban";
        libraryHaskellDepends = [
          array base containers megaparsec reflex-dom-core template-haskell
-         text
+         text th-lift-instances
        ];
        testHaskellDepends = [
          base bytestring filepath hspec megaparsec stm tasty tasty-golden
@@ -229339,6 +229822,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "reform_0_2_7_5" = callPackage
+    ({ mkDerivation, base, containers, mtl, semigroups, text }:
+     mkDerivation {
+       pname = "reform";
+       version = "0.2.7.5";
+       sha256 = "14p98i2682dm1n4drdrvilz67wfp2lr7m8f0wlmk40q3qmhc05xb";
+       libraryHaskellDepends = [ base containers mtl semigroups text ];
+       description = "reform is a type-safe HTML form generation and validation library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "reform-blaze" = callPackage
     ({ mkDerivation, base, blaze-html, blaze-markup, reform, text }:
      mkDerivation {
@@ -230400,6 +230895,28 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "registry-messagepack" = callPackage
+    ({ mkDerivation, base, containers, msgpack, protolude, registry
+     , registry-hedgehog, tasty, template-haskell, text, time
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "registry-messagepack";
+       version = "0.1.0.2";
+       sha256 = "0pwljb8zdq5m47zjfbmy8827g99y2fai6ib9z2p82kkknag1mg5q";
+       libraryHaskellDepends = [
+         base containers msgpack protolude registry template-haskell text
+         transformers vector
+       ];
+       testHaskellDepends = [
+         base containers msgpack protolude registry registry-hedgehog tasty
+         template-haskell text time transformers vector
+       ];
+       description = "MessagePack encoders / decoders";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "regress" = callPackage
     ({ mkDerivation, ad, base, vector }:
      mkDerivation {
@@ -231612,8 +232129,8 @@ self: {
      }:
      mkDerivation {
        pname = "replace-megaparsec";
-       version = "1.4.4.0";
-       sha256 = "1nlbs01ghm6gllkc7chv06hdrwlb94cipcwcx84wzasdqdzvcdl1";
+       version = "1.4.5.0";
+       sha256 = "1n9ik81hd5xgcbzzjrdqxp34q4qg6nklbg36124amdr14id03ylg";
        libraryHaskellDepends = [
          base bytestring megaparsec parser-combinators text
        ];
@@ -233162,8 +233679,8 @@ self: {
      }:
      mkDerivation {
        pname = "rex";
-       version = "0.6.1";
-       sha256 = "1zdsdwagrcjlfy2qfvn1gr8z9xz41s2vwf2y4dwrlvh11xswxvhb";
+       version = "0.6.2";
+       sha256 = "17lbpknqzly7h2gz3x4n4ykjirhqym7bk9wrvjhh23din6brg8p3";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers haskell-src-exts haskell-src-meta
@@ -234570,8 +235087,6 @@ self: {
        ];
        description = "Implementation of the ROC National ID standard";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "rock" = callPackage
@@ -235872,8 +236387,8 @@ self: {
        pname = "rss";
        version = "3000.2.0.7";
        sha256 = "0z48xb610k1h29rg03q19y08fp78agxp2gr48innw5y3rz00s6ym";
-       revision = "4";
-       editedCabalFile = "10gn0rqbg3ffsz9c87d0baq27vzvcq7gbqdijhp7s2wl5w70yff2";
+       revision = "5";
+       editedCabalFile = "197a9q8zmfx8imbnrwp7b62xahh2qs47mk67hzhrrz0f5v88qszm";
        libraryHaskellDepends = [ base HaXml network network-uri time ];
        description = "A library for generating RSS 2.0 feeds.";
        license = lib.licenses.publicDomain;
@@ -238136,8 +238651,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbp";
-       version = "4.1.5";
-       sha256 = "1f3i50i4mfxi8y5akg3kncgkwx2wflcgsv7rzxccd75bv3ynk45z";
+       version = "4.1.6";
+       sha256 = "0ph1bn95bxpmfs2xvbgj7kpz3ji6jf65ykah5srmhqgbw21d1wl7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -240610,6 +241125,30 @@ self: {
        license = lib.licenses.mit;
      }) {inherit (pkgs) secp256k1;};
 
+  "secp256k1-haskell_0_6_1" = callPackage
+    ({ mkDerivation, base, base16, bytestring, cereal, deepseq, entropy
+     , hashable, hspec, hspec-discover, HUnit, monad-par, mtl
+     , QuickCheck, secp256k1, string-conversions, unliftio-core
+     }:
+     mkDerivation {
+       pname = "secp256k1-haskell";
+       version = "0.6.1";
+       sha256 = "0abxwmls4rvsnck7p5gpajmha2vc9fbcrr2q1alkpw8acmgfhr76";
+       libraryHaskellDepends = [
+         base base16 bytestring cereal deepseq entropy hashable QuickCheck
+         string-conversions unliftio-core
+       ];
+       libraryPkgconfigDepends = [ secp256k1 ];
+       testHaskellDepends = [
+         base base16 bytestring cereal deepseq entropy hashable hspec HUnit
+         monad-par mtl QuickCheck string-conversions unliftio-core
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Bindings for secp256k1";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) secp256k1;};
+
   "secp256k1-legacy" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, Cabal, cereal
      , cryptohash, entropy, HUnit, mtl, QuickCheck, string-conversions
@@ -241438,8 +241977,8 @@ self: {
      }:
      mkDerivation {
        pname = "sensei";
-       version = "0.6.1";
-       sha256 = "1x5wvxfa08mmfwsyfm5h50lag5knyf19lycvjp3zb6ih70j2l390";
+       version = "0.6.2";
+       sha256 = "168znkrlciywsqpgbssnz2n2w1w6240j1cxk83bpzlflg7q934ps";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -241454,8 +241993,11 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Automatically run Hspec tests on file modifications";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       platforms = [
+         "aarch64-darwin" "aarch64-linux" "armv7l-linux" "i686-linux"
+         "x86_64-linux"
+       ];
+       maintainers = with lib.maintainers; [ libjared ];
      }) {};
 
   "sensenet" = callPackage
@@ -251774,6 +252316,8 @@ self: {
        pname = "snap-core";
        version = "1.0.5.0";
        sha256 = "0hf671g7h4nikfvi05q3mmcxhfcsh874dkansssn0mc68k9fsak4";
+       revision = "1";
+       editedCabalFile = "17ls02j8lxk0ml3pikxqkpmivzi49n2x5xh14gnrk2j1f8g06zk5";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder case-insensitive
          containers directory filepath hashable HUnit io-streams lifted-base
@@ -252533,20 +253077,19 @@ self: {
   "snaplet-persistent" = callPackage
     ({ mkDerivation, base, bytestring, clientsession, configurator
      , errors, heist, lens, map-syntax, monad-logger, mtl, persistent
-     , persistent-postgresql, persistent-template, readable
-     , resource-pool, resourcet, safe, snap, text, time, transformers
-     , unordered-containers
+     , persistent-postgresql, readable, resource-pool, resourcet, safe
+     , snap, text, time, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "snaplet-persistent";
-       version = "0.6.1";
-       sha256 = "1s1ay1kzmjg3gh14ggnb24hpr2gjyk0ip0jbn55ly5zgfqdb422v";
+       version = "0.7.1";
+       sha256 = "1vp114ddq5fjl3bwwnwry39flfb3d4b7zws9m3yh315qk85ji3s6";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring clientsession configurator errors heist lens
          map-syntax monad-logger mtl persistent persistent-postgresql
-         persistent-template readable resource-pool resourcet safe snap text
-         time transformers unordered-containers
+         readable resource-pool resourcet safe snap text time transformers
+         unordered-containers
        ];
        description = "persistent snaplet for the Snap Framework";
        license = lib.licenses.bsd3;
@@ -254670,10 +255213,8 @@ self: {
      }:
      mkDerivation {
        pname = "spatial-rotations";
-       version = "0.1.0.1";
-       sha256 = "02nysw4dbg5l37j83kdybxkrdzgjxn20h3lknnphwz0hr0n489ii";
-       revision = "3";
-       editedCabalFile = "03kjhr51w600cnm1jgdc9nbm9ay66fxq93z7r6xgph1a4dmcjvg4";
+       version = "0.1.0.2";
+       sha256 = "01jac0m6hjx89sp6wqs8f103gjd6wlmj7vxl3a6sy6xchk81irl9";
        libraryHaskellDepends = [
          base linear manifolds-core vector-space
        ];
@@ -258379,6 +258920,8 @@ self: {
        pname = "steeloverseer";
        version = "2.1.0.0";
        sha256 = "1l2pfk6fdnc2ssmcjmwj8w5wfk6ra4n880nbxr670kzrlnr2vqg1";
+       revision = "1";
+       editedCabalFile = "0vb2k7c02gmnn03zq84pb9ycsl8nkahkddwzn3nh0jsgb2jc9pln";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -263454,8 +263997,8 @@ self: {
      }:
      mkDerivation {
        pname = "syb-with-class";
-       version = "0.6.1.13";
-       sha256 = "1w767im0a2qdi6br6lx4kh946yryibjwjx4a64cijxfrj7gbfxk5";
+       version = "0.6.1.14";
+       sha256 = "1dm64pn06sc05sbkmgrnj5b6p33xaz65ghx8233h5jqq7phyjrlc";
        libraryHaskellDepends = [
          array base bytestring containers template-haskell
        ];
@@ -263488,13 +264031,13 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest";
-       version = "0.8.0.1";
-       sha256 = "0h524wiwmvx4gp73lsnl5bk93866z6ac1s37xbym7jlfbzn6q8x1";
+       version = "0.9.0.0";
+       sha256 = "1gp9kifyh88pjnk7vnb0p09fkcmnhy5akgfdacmrmgwcnyswx6f1";
        libraryHaskellDepends = [
          async autodocodec autodocodec-yaml base bytestring containers Diff
          dlist envparse filepath MonadRandom mtl optparse-applicative path
          path-io pretty-show QuickCheck quickcheck-io random-shuffle safe
-         safe-coloured-text safe-coloured-text-terminfo split text yaml
+         safe-coloured-text safe-coloured-text-terminfo split stm text yaml
        ];
        testHaskellDepends = [
          base bytestring path path-io QuickCheck random safe-coloured-text
@@ -263565,14 +264108,14 @@ self: {
      }) {};
 
   "sydtest-hedgehog" = callPackage
-    ({ mkDerivation, base, containers, hedgehog, sydtest
+    ({ mkDerivation, base, containers, hedgehog, stm, sydtest
      , sydtest-discover
      }:
      mkDerivation {
        pname = "sydtest-hedgehog";
-       version = "0.0.0.0";
-       sha256 = "0kxx2r4hjqzkrhplgfby2x7zcya05n42hna86zk27k2i9hkabhnh";
-       libraryHaskellDepends = [ base containers hedgehog sydtest ];
+       version = "0.1.0.0";
+       sha256 = "0p0aj2jd6cgi3mdzdlwksczikxsx9ajh0lcvd6k4059x1ddjxplb";
+       libraryHaskellDepends = [ base containers hedgehog stm sydtest ];
        testHaskellDepends = [ base hedgehog sydtest ];
        testToolDepends = [ sydtest-discover ];
        description = "A Hedgehog companion library for sydtest";
@@ -263601,15 +264144,17 @@ self: {
      }) {};
 
   "sydtest-hspec" = callPackage
-    ({ mkDerivation, base, hspec, hspec-core, mtl, sydtest
-     , sydtest-discover
+    ({ mkDerivation, base, hspec, hspec-core, mtl, QuickCheck, stm
+     , sydtest, sydtest-discover
      }:
      mkDerivation {
        pname = "sydtest-hspec";
-       version = "0.0.0.1";
-       sha256 = "14z15z0yihssy2s0cn570q61md3zbagf329gj26i5r7rfwr9mm7m";
-       libraryHaskellDepends = [ base hspec-core mtl sydtest ];
-       testHaskellDepends = [ base hspec sydtest ];
+       version = "0.1.0.0";
+       sha256 = "17j48cp7n0smci0m42yyvkz0rd5xfrysb2f6hwxaqhl703ifhlyy";
+       libraryHaskellDepends = [
+         base hspec-core mtl QuickCheck stm sydtest
+       ];
+       testHaskellDepends = [ base hspec stm sydtest ];
        testToolDepends = [ sydtest-discover ];
        description = "An Hspec companion library for sydtest";
        license = "unknown";
@@ -263796,6 +264341,77 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "sydtest-webdriver" = callPackage
+    ({ mkDerivation, aeson, base, http-client, http-types
+     , monad-control, mtl, network, network-uri, path, path-io
+     , port-utils, sydtest, sydtest-discover, sydtest-typed-process
+     , sydtest-wai, transformers-base, typed-process, wai, webdriver
+     }:
+     mkDerivation {
+       pname = "sydtest-webdriver";
+       version = "0.0.0.0";
+       sha256 = "030qv68sb075lqwz449yvliwg356ggn3ab90zcad6hc6hyz8x3vp";
+       libraryHaskellDepends = [
+         aeson base http-client http-types monad-control mtl network
+         network-uri path path-io port-utils sydtest sydtest-typed-process
+         sydtest-wai transformers-base typed-process webdriver
+       ];
+       testHaskellDepends = [
+         base http-types network-uri sydtest sydtest-wai wai
+       ];
+       testToolDepends = [ sydtest-discover ];
+       description = "A webdriver companion library for sydtest";
+       license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "sydtest-webdriver-screenshot" = callPackage
+    ({ mkDerivation, base, bytestring, http-types, JuicyPixels, mtl
+     , network-uri, path, path-io, sydtest, sydtest-discover
+     , sydtest-wai, sydtest-webdriver, wai, webdriver
+     }:
+     mkDerivation {
+       pname = "sydtest-webdriver-screenshot";
+       version = "0.0.0.0";
+       sha256 = "00w3ijgwwplgg0310qnc56c5a50i1vnzn94np4jscjv4aw849s1b";
+       libraryHaskellDepends = [
+         base bytestring http-types JuicyPixels mtl network-uri path path-io
+         sydtest sydtest-wai sydtest-webdriver webdriver
+       ];
+       testHaskellDepends = [
+         base http-types network-uri sydtest sydtest-wai sydtest-webdriver
+         wai
+       ];
+       testToolDepends = [ sydtest-discover ];
+       description = "A webdriver screenshot companion library for sydtest";
+       license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "sydtest-webdriver-yesod" = callPackage
+    ({ mkDerivation, base, bytestring, http-client, http-types, mtl
+     , network-uri, path, path-io, sydtest, sydtest-discover
+     , sydtest-wai, sydtest-webdriver, sydtest-yesod, text, webdriver
+     , yesod
+     }:
+     mkDerivation {
+       pname = "sydtest-webdriver-yesod";
+       version = "0.0.0.0";
+       sha256 = "10q112rsj5gh3ijy7pf93zslsxqk7jim1i1fslqpld71wqw2abr2";
+       libraryHaskellDepends = [
+         base bytestring http-client http-types mtl network-uri path path-io
+         sydtest sydtest-wai sydtest-webdriver sydtest-yesod text webdriver
+         yesod
+       ];
+       testHaskellDepends = [
+         base path path-io sydtest sydtest-webdriver yesod
+       ];
+       testToolDepends = [ sydtest-discover ];
+       description = "A webdriver+yesod companion library for sydtest";
+       license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "sydtest-yesod" = callPackage
     ({ mkDerivation, base, binary, blaze-builder, bytestring
      , case-insensitive, conduit, containers, cookie, exceptions
@@ -268234,6 +268850,32 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "telegram-bot-simple_0_5" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cron
+     , filepath, hashable, http-api-data, http-client, http-client-tls
+     , monad-control, mtl, pretty-show, profunctors, servant
+     , servant-client, servant-multipart-api, servant-multipart-client
+     , split, stm, template-haskell, text, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "telegram-bot-simple";
+       version = "0.5";
+       sha256 = "0mzzq7lfl56h1i9dr617h5vcv47j2nsf77pkq18s8wk5zrc67r2w";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring cron filepath hashable
+         http-api-data http-client http-client-tls monad-control mtl
+         pretty-show profunctors servant servant-client
+         servant-multipart-api servant-multipart-client split stm
+         template-haskell text time transformers unordered-containers
+       ];
+       description = "Easy to use library for building Telegram bots";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "telegram-raw-api" = callPackage
     ({ mkDerivation, aeson, base, bytestring, deriving-aeson
      , generic-lens, hashable, http-client, http-client-tls, http-media
@@ -270431,8 +271073,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-builder-dev";
-       version = "0.2.0.1";
-       sha256 = "196qnqr5pxx6s4dd37pbzfmbml379s1m91pkimkklf8r2jcvf1zn";
+       version = "0.2.1";
+       sha256 = "0jrzs4dcm2zq5gsn4lbmrasrsk31rs0z6n3vgs514x7p3fdv6lpj";
        libraryHaskellDepends = [
          base bytestring deferred-folds split text text-conversions tostring
          transformers
@@ -277373,8 +278015,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter";
-       version = "0.9.0.2";
-       sha256 = "1jw70m7z7yj4d2ivgynh8z7n5ndd978r21012hxj93sy87axz7mf";
+       version = "0.9.0.3";
+       sha256 = "0al8pywpg0xr7cq9bq7acppkpl6zlzggf0pdh8g0vgi5vipbscad";
        libraryHaskellDepends = [
          base bytestring containers directory filepath split
          template-haskell unordered-containers
@@ -277384,12 +278026,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "tree-sitter-c-sharp" = callPackage
+    ({ mkDerivation, base, tree-sitter }:
+     mkDerivation {
+       pname = "tree-sitter-c-sharp";
+       version = "0.1.0.1";
+       sha256 = "0cdp95djcjdb123hc87jrhcrvhi4s0r1x2c8l6sy58bhal4cgkhz";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base tree-sitter ];
+       description = "Tree-sitter grammar/parser for C#";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "tree-sitter-go" = callPackage
     ({ mkDerivation, base, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-go";
-       version = "0.5.0.2";
-       sha256 = "0zl8q96xffi4cqd3yl44x64q9440qragg8735lzwwfl8nayx78bj";
+       version = "0.5.0.3";
+       sha256 = "0z4x25dk6m34di829431gsa9gfh2ih2svpm73dj53p2fz78m4988";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base tree-sitter ];
        description = "Tree-sitter grammar/parser for Go";
@@ -277400,8 +278054,8 @@ self: {
     ({ mkDerivation, base, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-haskell";
-       version = "0.3.0.1";
-       sha256 = "194rws181v8pv3w9zxx9h8fqnilivwrdw27hwlps30kmmk26rraq";
+       version = "0.3.0.2";
+       sha256 = "0ir90y3nh3pvx0f3rs4k14y8fqjia9r964ir5pnj1f8wggiijnyz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base tree-sitter ];
@@ -277413,8 +278067,8 @@ self: {
     ({ mkDerivation, base, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-java";
-       version = "0.7.0.2";
-       sha256 = "1im1cwf20f02i244ggb5xl1cblkxr4rjk5h1c91vhzfv1hja37sn";
+       version = "0.7.0.3";
+       sha256 = "0d8cyrzpl00v3l01pr4sdm22r644781kac9fn93nm9ix7n3wj6fs";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base tree-sitter ];
        description = "Tree-sitter grammar/parser for Java";
@@ -277425,20 +278079,32 @@ self: {
     ({ mkDerivation, base, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-json";
-       version = "0.7.0.2";
-       sha256 = "02ly1dj4l8l1cvi5ymwqv85l0jdq9dixcpgqgyy1d744d214gg4g";
+       version = "0.7.0.3";
+       sha256 = "08h91b7sbl2i96w3gw6z9cs7q40bifliicl7pb1ghq4v9vzgmcm6";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base tree-sitter ];
        description = "Tree-sitter grammar/parser for JSON";
        license = lib.licenses.bsd3;
      }) {};
 
+  "tree-sitter-ocaml" = callPackage
+    ({ mkDerivation, base, tree-sitter }:
+     mkDerivation {
+       pname = "tree-sitter-ocaml";
+       version = "0.1.0.1";
+       sha256 = "1pgfz6zrpf62m7j20vx8r0x0m06y5dnv8ps2clxl4a8j8dmk7scn";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base tree-sitter ];
+       description = "Tree-sitter grammar/parser for OCaml";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "tree-sitter-php" = callPackage
     ({ mkDerivation, base, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-php";
-       version = "0.5.0.1";
-       sha256 = "05nfsw1mk27xiqr9ca8bky437xqin4zqb1mammcjpyi9qif9zzbh";
+       version = "0.5.0.2";
+       sha256 = "02g3mdj8cx4h1gx65v3s38kmmmrj7d3ki95qhrcifjwbjgn7nc36";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base tree-sitter ];
        description = "Tree-sitter grammar/parser for PHP";
@@ -277449,8 +278115,8 @@ self: {
     ({ mkDerivation, base, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-python";
-       version = "0.9.0.3";
-       sha256 = "1bjiddhm0zj01s7785xr7yldsbd1agbj4nc9cyxvkadxmf7cha7h";
+       version = "0.9.0.4";
+       sha256 = "0hx5vc03mvhd0m92n4m87iqxyr1i8hbyxhb33ziq7c510cr6c6gq";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base tree-sitter ];
        description = "Tree-sitter grammar/parser for Python";
@@ -277461,8 +278127,8 @@ self: {
     ({ mkDerivation, base, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-ql";
-       version = "0.1.0.4";
-       sha256 = "0pawzp1q160h6ccl2dkngrgkyxjs1szsyxjn55clbv4jla3zypni";
+       version = "0.1.0.5";
+       sha256 = "1xfr0rpzmxjwlhd1s99gi9jl0yjd3awa328z01x7hk8ww4jpbg00";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base tree-sitter ];
        description = "Tree-sitter grammar/parser for QL";
@@ -277473,8 +278139,8 @@ self: {
     ({ mkDerivation, base, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-ruby";
-       version = "0.5.0.3";
-       sha256 = "097wrscdjlr5nqyx2d3076gppfv3xm299b6iya5g50z24g5izfxn";
+       version = "0.5.0.4";
+       sha256 = "0rvlgw5d8ryinabq6520g1y5gwgrjdb1wjr6jc9ikhdsqppp17yy";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base tree-sitter ];
        description = "Tree-sitter grammar/parser for Ruby";
@@ -277485,8 +278151,8 @@ self: {
     ({ mkDerivation, base, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-rust";
-       version = "0.1.0.1";
-       sha256 = "0h8dbr4pn1qnqlg0fs1f6jxasjpfjs4j6x4h86dhz6sw3fih9g00";
+       version = "0.1.0.2";
+       sha256 = "0ql5x6bxsmqnzj2xz6dfqdp3ab87df9jv8vcjxywr8nx07fwi6zl";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base tree-sitter ];
        description = "Tree-sitter grammar/parser for Rust";
@@ -277497,8 +278163,8 @@ self: {
     ({ mkDerivation, base, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-tsx";
-       version = "0.5.0.2";
-       sha256 = "0ir4n732wd5i6m8jkkrwah7091i147pxbaa2mpl56zg8nya52490";
+       version = "0.5.0.3";
+       sha256 = "0d2qqqlqs5qr776b3wrnzbfk7iq635c1knpvmf8dc8a7cvqbrrhz";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base tree-sitter ];
        description = "Tree-sitter grammar/parser for TSX";
@@ -277509,8 +278175,8 @@ self: {
     ({ mkDerivation, base, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-typescript";
-       version = "0.5.0.2";
-       sha256 = "0qlwiks80861f9prps4x5ag6ivi9ihp8rq416jmmgmc3bj72bkfi";
+       version = "0.5.0.3";
+       sha256 = "0s7bp11jgj4381lln2z3zl7dxvyi10yiza08473nd8z5d3xr0kjh";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base tree-sitter ];
        description = "Tree-sitter grammar/parser for TypeScript";
@@ -284989,8 +285655,8 @@ self: {
      }:
      mkDerivation {
        pname = "userid";
-       version = "0.1.3.6";
-       sha256 = "02alsm7h42hjymmr2xn2cf9ks6sph6arccirpndbndyvbgrds7nn";
+       version = "0.1.3.7";
+       sha256 = "12ijma954vss6a2nicq17q5pz3l7qjgh1f6s8lcrrxcf8vc10m1c";
        libraryHaskellDepends = [
          aeson base boomerang cereal safecopy web-routes web-routes-th
        ];
@@ -286132,6 +286798,8 @@ self: {
        pname = "validity";
        version = "0.12.0.0";
        sha256 = "03md04q3ymilgc1pssczij392bphmg9ld6aa0fwfwjyjlqjj67fk";
+       revision = "1";
+       editedCabalFile = "1ifdx7vrr6n3zkgk6gp9djp0xcy8ndvrl585c01rq12rg3l0my8p";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "Validity typeclass";
@@ -286146,6 +286814,8 @@ self: {
        pname = "validity-aeson";
        version = "0.2.0.4";
        sha256 = "1k0x6va9mmz0z9hgd1is71ks4fgbziw53rm7r6jsidp4ksszdzm0";
+       revision = "1";
+       editedCabalFile = "1zhqg6hac0js33yn0xw10pcp11hbygr95vmcmgpp3sdxdhgpbnmy";
        libraryHaskellDepends = [
          aeson base validity validity-scientific validity-text
          validity-unordered-containers validity-vector
@@ -286234,6 +286904,8 @@ self: {
        pname = "validity-text";
        version = "0.3.1.2";
        sha256 = "00sfiykazz2iwwr43lxl0q6dn03jpf515k0s8hymqpychmflyqhi";
+       revision = "1";
+       editedCabalFile = "0d0gkp9wjbhq2p6zfnc2jx5ifh6xi84psiqrrxczdgi1kwl0af3j";
        libraryHaskellDepends = [ base bytestring text validity ];
        description = "Validity instances for text";
        license = lib.licenses.mit;
@@ -289480,6 +290152,37 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "wai-extra_3_1_10" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, base64-bytestring
+     , bytestring, call-stack, case-insensitive, containers, cookie
+     , data-default-class, directory, fast-logger, hspec, http-types
+     , http2, HUnit, iproute, network, resourcet, streaming-commons
+     , text, time, transformers, unix, vault, wai, wai-logger, word8
+     , zlib
+     }:
+     mkDerivation {
+       pname = "wai-extra";
+       version = "3.1.10";
+       sha256 = "0ldzwcjgj0k3ma25y4jaywv4g4bjjnn75ixlk1h4r4f3iapxm6kr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal base base64-bytestring bytestring call-stack
+         case-insensitive containers cookie data-default-class directory
+         fast-logger http-types http2 HUnit iproute network resourcet
+         streaming-commons text time transformers unix vault wai wai-logger
+         word8
+       ];
+       testHaskellDepends = [
+         aeson base bytestring case-insensitive cookie fast-logger hspec
+         http-types http2 HUnit iproute resourcet text time transformers wai
+         zlib
+       ];
+       description = "Provides some basic WAI handlers and middleware";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "wai-feature-flags" = callPackage
     ({ mkDerivation, aeson, base, bytestring, splitmix, text
      , unordered-containers, wai, warp
@@ -291906,6 +292609,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "web-routes_0_27_14_4" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, exceptions
+     , ghc-prim, hspec, http-types, HUnit, mtl, parsec, QuickCheck
+     , split, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "web-routes";
+       version = "0.27.14.4";
+       sha256 = "10zpyxigrmp97x7xd9aw8kn925ygjf0jv8hppxmksjf9a6pvyfn1";
+       libraryHaskellDepends = [
+         base blaze-builder bytestring exceptions ghc-prim http-types mtl
+         parsec split text utf8-string
+       ];
+       testHaskellDepends = [ base hspec HUnit QuickCheck text ];
+       description = "portable, type-safe URL routing";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "web-routes-boomerang" = callPackage
     ({ mkDerivation, base, boomerang, mtl, parsec, text, web-routes }:
      mkDerivation {
@@ -291919,6 +292641,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "web-routes-boomerang_0_28_4_3" = callPackage
+    ({ mkDerivation, base, boomerang, mtl, parsec, text, web-routes }:
+     mkDerivation {
+       pname = "web-routes-boomerang";
+       version = "0.28.4.3";
+       sha256 = "1cdn29084i2bvsh7pa6d4dr5bgpixix36dhi49q8nbcbp02qycap";
+       libraryHaskellDepends = [
+         base boomerang mtl parsec text web-routes
+       ];
+       description = "Use boomerang for type-safe URL parsers/printers";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "web-routes-generics" = callPackage
     ({ mkDerivation, base, parsec, text, web-routes }:
      mkDerivation {
@@ -291945,6 +292681,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "web-routes-happstack_0_23_12_2" = callPackage
+    ({ mkDerivation, base, bytestring, happstack-server, text
+     , web-routes
+     }:
+     mkDerivation {
+       pname = "web-routes-happstack";
+       version = "0.23.12.2";
+       sha256 = "01ks9c8bln8yiff7dqfm3ai7scci304q94w1zaqvzph57m1whrd6";
+       libraryHaskellDepends = [
+         base bytestring happstack-server text web-routes
+       ];
+       description = "Adds support for using web-routes with Happstack";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "web-routes-hsp" = callPackage
     ({ mkDerivation, base, hsp, text, web-routes }:
      mkDerivation {
@@ -291956,6 +292708,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "web-routes-hsp_0_24_6_2" = callPackage
+    ({ mkDerivation, base, hsp, text, web-routes }:
+     mkDerivation {
+       pname = "web-routes-hsp";
+       version = "0.24.6.2";
+       sha256 = "0cmijyklkrakcwfmwfa70kbm619p1dfl900lx57mca23k8m2aksn";
+       libraryHaskellDepends = [ base hsp text web-routes ];
+       description = "Adds XMLGenerator instance for RouteT monad";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "web-routes-mtl" = callPackage
     ({ mkDerivation, base, web-routes }:
      mkDerivation {
@@ -292000,8 +292764,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes-th";
-       version = "0.22.6.6";
-       sha256 = "0z5mcpnp38x6yzazdkdbj9z99837g9nlm4pp3lxzzsib7qs9a6sp";
+       version = "0.22.7";
+       sha256 = "0h3xaml18jgc66ylmwlymp1mqnf59lfvsd3xswdki8dk31ryaca4";
        libraryHaskellDepends = [
          base parsec split template-haskell text web-routes
        ];
@@ -292040,6 +292804,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "web-routes-wai_0_24_3_2" = callPackage
+    ({ mkDerivation, base, bytestring, http-types, text, wai
+     , web-routes
+     }:
+     mkDerivation {
+       pname = "web-routes-wai";
+       version = "0.24.3.2";
+       sha256 = "1cdahkpw0194gdx11g4h4313ni0b6sdj9j5r666rgwwzr22wgql7";
+       libraryHaskellDepends = [
+         base bytestring http-types text wai web-routes
+       ];
+       description = "Library for maintaining correctness of URLs within an application";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "web-routing" = callPackage
     ({ mkDerivation, base, bytestring, criterion, doctest, primitive
      , text, types-compat, unordered-containers
@@ -293391,40 +294171,42 @@ self: {
      }) {inherit (pkgs) SDL2;};
 
   "what4" = callPackage
-    ({ mkDerivation, attoparsec, base, bifunctors, bimap, bv-sized
-     , bytestring, config-value, containers, contravariant
-     , data-binary-ieee754, deepseq, deriving-compat, directory
-     , exceptions, extra, filepath, fingertree, ghc-prim, hashable
+    ({ mkDerivation, async, attoparsec, base, bifunctors, bimap
+     , bv-sized, bytestring, concurrent-extra, config-value, containers
+     , contravariant, data-binary-ieee754, deepseq, deriving-compat
+     , directory, exceptions, filepath, fingertree, ghc-prim, hashable
      , hashtables, hedgehog, io-streams, lens, libBF, lumberjack, mtl
      , panic, parameterized-utils, prettyprinter, process, QuickCheck
-     , scientific, tasty, tasty-checklist, tasty-hedgehog, tasty-hunit
-     , tasty-quickcheck, tasty-sugar, template-haskell, temporary, text
-     , th-abstraction, th-lift, th-lift-instances, transformers
-     , unordered-containers, utf8-string, vector, versions, zenc
+     , scientific, tasty, tasty-checklist, tasty-expected-failure
+     , tasty-hedgehog, tasty-hunit, tasty-quickcheck, tasty-sugar
+     , template-haskell, temporary, text, th-abstraction, th-lift
+     , th-lift-instances, transformers, unordered-containers
+     , utf8-string, vector, versions, zenc
      }:
      mkDerivation {
        pname = "what4";
-       version = "1.2.1";
-       sha256 = "0cbvdiszqzhw50m51kfm0qsadq04dxwb8836hibv61sshgckpsf3";
+       version = "1.3";
+       sha256 = "03p4sk543vygmah0mf1nzlxv9l3qzaiy023if3cszcwys22gr7kq";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         attoparsec base bifunctors bimap bv-sized bytestring config-value
-         containers data-binary-ieee754 deepseq deriving-compat directory
-         exceptions extra filepath fingertree ghc-prim hashable hashtables
-         io-streams lens libBF mtl panic parameterized-utils prettyprinter
-         process scientific template-haskell temporary text th-abstraction
-         th-lift th-lift-instances transformers unordered-containers
-         utf8-string vector versions zenc
+         async attoparsec base bifunctors bimap bv-sized bytestring
+         concurrent-extra config-value containers data-binary-ieee754
+         deepseq deriving-compat directory exceptions filepath fingertree
+         ghc-prim hashable hashtables io-streams lens libBF mtl panic
+         parameterized-utils prettyprinter process scientific
+         template-haskell temporary text th-abstraction th-lift
+         th-lift-instances transformers unordered-containers utf8-string
+         vector versions zenc
        ];
        executableHaskellDepends = [ base parameterized-utils ];
        testHaskellDepends = [
          base bv-sized bytestring containers contravariant
          data-binary-ieee754 exceptions hedgehog io-streams libBF lumberjack
-         parameterized-utils prettyprinter QuickCheck tasty tasty-checklist
-         tasty-hedgehog tasty-hunit tasty-quickcheck tasty-sugar text
-         transformers versions
+         parameterized-utils prettyprinter process QuickCheck tasty
+         tasty-checklist tasty-expected-failure tasty-hedgehog tasty-hunit
+         tasty-quickcheck tasty-sugar text transformers versions
        ];
        description = "Solver-agnostic symbolic values support for issuing queries";
        license = lib.licenses.bsd3;
@@ -294590,6 +295372,8 @@ self: {
        pname = "word24";
        version = "2.0.1";
        sha256 = "11m0qffpjngylmci73v7y3ap7v8244cylzgj3qai9wwdr1ya2jy3";
+       revision = "1";
+       editedCabalFile = "1mhjln83z2sz0pq9phlzjbdl7lny8fn3pb0smphm2rz09j6nmb0m";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [
          base deepseq QuickCheck test-framework test-framework-quickcheck2
@@ -299446,8 +300230,8 @@ self: {
      }:
      mkDerivation {
        pname = "yapb";
-       version = "0.2.3";
-       sha256 = "14909qgfvz19jqyj64y2mjg4nzrd3kk3zffg53mf6715y49y6npb";
+       version = "0.2.6";
+       sha256 = "1gdmnhafr7i4f4zxsiq3yw2kzlxrir9vygf2g41war9wnd9mfq8p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -301348,8 +302132,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-persistent";
-       version = "1.6.0.7";
-       sha256 = "102xmp7n08sk1g5rv31jpln2v9kqf1zsqsnmi83mnhmgggcbj1k4";
+       version = "1.6.0.8";
+       sha256 = "02vm0qm0yxqn6x61iir81wf6ibwnf8gkia8lw71fgpxgav154ig6";
        libraryHaskellDepends = [
          base blaze-builder conduit persistent persistent-template
          resource-pool resourcet transformers yesod-core
@@ -301891,6 +302675,33 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "yesod-test_1_6_13" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, blaze-html
+     , bytestring, case-insensitive, conduit, containers, cookie, hspec
+     , hspec-core, html-conduit, http-types, HUnit, memory, mtl, network
+     , pretty-show, text, time, transformers, unliftio, unliftio-core
+     , wai, wai-extra, xml-conduit, xml-types, yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-test";
+       version = "1.6.13";
+       sha256 = "1r5ip85x0shv00dvznd201fbl9gi90nkk33szmh0cz77x8960v19";
+       libraryHaskellDepends = [
+         aeson attoparsec base blaze-builder blaze-html bytestring
+         case-insensitive conduit containers cookie hspec-core html-conduit
+         http-types HUnit memory mtl network pretty-show text time
+         transformers wai wai-extra xml-conduit xml-types yesod-core
+       ];
+       testHaskellDepends = [
+         base bytestring containers cookie hspec html-conduit http-types
+         HUnit text unliftio unliftio-core wai wai-extra xml-conduit
+         yesod-core yesod-form
+       ];
+       description = "integration testing for WAI/Yesod Applications";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "yesod-test-json" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, hspec
      , http-types, HUnit, text, transformers, wai, wai-test
@@ -303275,8 +304086,8 @@ self: {
      }:
      mkDerivation {
        pname = "zeolite-lang";
-       version = "0.22.0.0";
-       sha256 = "1569qdpy2llvi4cvbmya89ll21rjjwbzxhm0f639aaaxal21szj5";
+       version = "0.22.1.0";
+       sha256 = "0gr3p9k7v44b09bcm1acyds5ai52cy72py2z975d6l08szvsbc5f";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -303816,6 +304627,8 @@ self: {
        pname = "zip";
        version = "1.7.2";
        sha256 = "1c5pr3hv11dpn4ybd4742qkpqmvb9l3l7xmzlsf65wm2p8071dvj";
+       revision = "1";
+       editedCabalFile = "1hazf2p31rzjycci8y40zm302msr0mgvb242lww21rxrpicbzl8d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
diff --git a/pkgs/development/interpreters/alda/default.nix b/pkgs/development/interpreters/alda/default.nix
index 355551d5ad0..269b8258aa4 100644
--- a/pkgs/development/interpreters/alda/default.nix
+++ b/pkgs/development/interpreters/alda/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "alda";
-  version = "2.2.0";
+  version = "2.2.3";
 
   src_alda = fetchurl {
     url = "https://alda-releases.nyc3.digitaloceanspaces.com/${version}/client/linux-amd64/alda";
-    sha256 = "0z3n81fmv3fxwgr641r6jjn1dmi5d3rw8d6r8jdfjhgpxanyi9a7";
+    hash = "sha256-cyOAXQ3ITIgy4QusjdYBNmNIzB6BzfbQEypvJbkbvWo=";
   };
 
   src_player = fetchurl {
     url = "https://alda-releases.nyc3.digitaloceanspaces.com/${version}/player/non-windows/alda-player";
-    sha256 = "11kji846hbn1f2w1s7rc1ing203jkamy89j1jmysajvirdpp8nha";
+    hash = "sha256-HsX0mNWrusL2FaK2oK8xhmr/ai+3ZiMmrJk7oS3b93g=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index 50b2a49fdc6..212e453b7a7 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure";
-  version = "1.11.1.1107";
+  version = "1.11.1.1113";
 
   src = fetchurl {
     # https://clojure.org/releases/tools
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "sha256-ItSKM546QW4DpnGotGzYs6917cbHYYkPvL9XezQBzOY=";
+    sha256 = "sha256-DJVKVqBx8zueA5+KuQX4NypaYBoNFKMuDM8jDqdgaiI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/interpreters/guile/1.8.nix b/pkgs/development/interpreters/guile/1.8.nix
index c8e15be2c01..f30270fcc83 100644
--- a/pkgs/development/interpreters/guile/1.8.nix
+++ b/pkgs/development/interpreters/guile/1.8.nix
@@ -38,7 +38,6 @@ stdenv.mkDerivation rec {
   ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
     pkgsBuildBuild.guile_1_8;
   nativeBuildInputs = [
-    gawk
     makeWrapper
     pkg-config
   ];
diff --git a/pkgs/development/interpreters/guile/2.0.nix b/pkgs/development/interpreters/guile/2.0.nix
index 8214ca2adcd..73fb564077a 100644
--- a/pkgs/development/interpreters/guile/2.0.nix
+++ b/pkgs/development/interpreters/guile/2.0.nix
@@ -42,7 +42,6 @@ builder rec {
 
   nativeBuildInputs = [
     makeWrapper
-    gawk
     pkg-config
   ];
   buildInputs = [
diff --git a/pkgs/development/interpreters/guile/2.2.nix b/pkgs/development/interpreters/guile/2.2.nix
index 04c60e80e8f..31803d9c166 100644
--- a/pkgs/development/interpreters/guile/2.2.nix
+++ b/pkgs/development/interpreters/guile/2.2.nix
@@ -40,7 +40,6 @@ builder rec {
   ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
     pkgsBuildBuild.guile;
   nativeBuildInputs = [
-    gawk
     makeWrapper
     pkg-config
   ];
diff --git a/pkgs/development/interpreters/guile/3.0.nix b/pkgs/development/interpreters/guile/3.0.nix
index d0f5aa5573b..380e983ab6f 100644
--- a/pkgs/development/interpreters/guile/3.0.nix
+++ b/pkgs/development/interpreters/guile/3.0.nix
@@ -40,7 +40,6 @@ builder rec {
   ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
     pkgsBuildBuild.guile;
   nativeBuildInputs = [
-    gawk
     makeWrapper
     pkg-config
   ];
diff --git a/pkgs/development/interpreters/joker/default.nix b/pkgs/development/interpreters/joker/default.nix
index 141bda75fa8..ae408f5fec5 100644
--- a/pkgs/development/interpreters/joker/default.nix
+++ b/pkgs/development/interpreters/joker/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "joker";
-  version = "0.18.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "candid82";
     repo = "joker";
-    sha256 = "sha256-Iia4sl8lRTpek5aZvQW/yy+TnMq5KNJH+pBnksqL/G0=";
+    sha256 = "sha256-SlkhxALJwrZ/DOuBbqjb+wHEfT5mhd3lSD6E0geFP4Y=";
   };
 
   vendorSha256 = "sha256-AYoespfzFLP/jIIxbw5K653wc7sSfLY8K7di8GZ64wA=";
diff --git a/pkgs/development/interpreters/nickel/default.nix b/pkgs/development/interpreters/nickel/default.nix
new file mode 100644
index 00000000000..7a097391ba5
--- /dev/null
+++ b/pkgs/development/interpreters/nickel/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "nickel";
+  version = "0.1.0";
+
+  src  = fetchFromGitHub {
+    owner = "tweag";
+    repo = pname;
+    rev = "refs/tags/${version}"; # because pure ${version} doesn't work
+    hash = "sha256-St8oK9vP2cAhsNindkebtAMeRPwYggP9E4CciSZc7oA=";
+  };
+
+  cargoSha256 = "sha256-VsyK/api8acIpADpXQ8RdbRLiZwHFSDH0vwQrZQ8zp4=";
+
+  meta = with lib; {
+    homepage = "https://nickel-lang.org/";
+    description = "Better configuration for less";
+    longDescription = ''
+      Nickel is the cheap configuration language.
+
+      Its purpose is to automate the generation of static configuration files -
+      think JSON, YAML, XML, or your favorite data representation language -
+      that are then fed to another system. It is designed to have a simple,
+      well-understood core: it is in essence JSON with functions.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix
index bf2ff11158e..7c0994d15b6 100644
--- a/pkgs/development/interpreters/php/generic.nix
+++ b/pkgs/development/interpreters/php/generic.nix
@@ -176,6 +176,10 @@ let
               if test -e $out/bin/phpdbg; then
                 wrapProgram $out/bin/phpdbg --set PHP_INI_SCAN_DIR $out/lib
               fi
+
+              if test -e $out/bin/php-cgi; then
+                wrapProgram $out/bin/php-cgi --set PHP_INI_SCAN_DIR $out/lib
+              fi
             '';
           };
         in
@@ -268,7 +272,7 @@ let
               export EXTENSION_DIR=$out/lib/php/extensions
             ''
             # PKG_CONFIG need not be a relative path
-            + lib.optionalString (!lib.versionAtLeast version "7.4") ''
+            + lib.optionalString (lib.versionOlder version "7.4") ''
               for i in $(find . -type f -name "*.m4"); do
                 substituteInPlace $i \
                   --replace 'test -x "$PKG_CONFIG"' 'type -P "$PKG_CONFIG" >/dev/null'
diff --git a/pkgs/development/interpreters/pixie/default.nix b/pkgs/development/interpreters/pixie/default.nix
deleted file mode 100644
index 5b93357b266..00000000000
--- a/pkgs/development/interpreters/pixie/default.nix
+++ /dev/null
@@ -1,94 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, python2, makeWrapper, pkg-config, gcc,
-  pypy, libffi, libedit, libuv, boost, zlib,
-  variant ? "jit", buildWithPypy ? false }:
-
-let
-  commit-count = "1364";
-  common-flags = "--thread --gcrootfinder=shadowstack --continuation";
-  variants = {
-    jit = { flags = "--opt=jit"; target = "target.py"; };
-    jit-preload = { flags = "--opt=jit"; target = "target_preload.py"; };
-    no-jit = { flags = ""; target = "target.py"; };
-    no-jit-preload = { flags = ""; target = "target_preload.py"; };
-  };
-  pixie-src = fetchFromGitHub {
-    owner = "pixie-lang";
-    repo = "pixie";
-    rev = "5eb0ccbe8b0087d3a5f2d0bbbc6998d624d3cd62";
-    sha256 = "sha256-dQ8ncH0IqU42WYxwBgjH6QQfvMIo7RZpv81UAUsPw10=";
-  };
-  pypy-tag = "91db1a9";
-  pypy-src = fetchurl {
-    name = "pypy-src-${pypy-tag}";
-    url = "https://bitbucket.org/pypy/pypy/get/${pypy-tag}.tar.bz2";
-    sha256 = "0ylbqvhbcp5m09l15i2q2h3a0vjd055x2r37cq71lkhgmmaxrwbq";
-  };
-  libs = [ libffi libedit libuv boost.dev boost.out zlib ];
-  include-path = lib.concatStringsSep ":"
-                   (map (p: "${p}/include") libs);
-  library-path = lib.concatStringsSep ":"
-                   (map (p: "${p}/lib") libs);
-  bin-path = lib.concatStringsSep ":"
-               (map (p: "${p}/bin") [ gcc ]);
-  build = {flags, target}: stdenv.mkDerivation rec {
-    pname = "pixie";
-    version = "0-r${commit-count}-${variant}";
-    nativeBuildInputs = [ makeWrapper pkg-config ];
-    buildInputs = libs;
-    PYTHON = if buildWithPypy
-      then "${pypy}/pypy-c/pypy-c"
-      else python2.interpreter;
-    unpackPhase = ''
-      cp -R ${pixie-src} pixie-src
-      mkdir pypy-src
-      (cd pypy-src
-       tar --strip-components=1 -xjf ${pypy-src})
-      chmod -R +w pypy-src pixie-src
-    '';
-    patchPhase = ''
-      (cd pixie-src
-       patch -p1 < ${./load_paths.patch}
-       libraryPaths='["${libuv}" "${libedit}" "${libffi.dev}" "${boost.dev}" "${boost.out}" "${zlib.dev}"]'
-       export libraryPaths
-       substituteAllInPlace ./pixie/ffi-infer.pxi)
-    '';
-    buildPhase = ''(
-      PYTHONPATH="`pwd`/pypy-src:$PYTHONPATH";
-      RPYTHON="`pwd`/pypy-src/rpython/bin/rpython";
-      cd pixie-src
-      $PYTHON $RPYTHON ${common-flags} ${target}
-      find pixie -name "*.pxi" -exec ./pixie-vm -c {} \;
-    )'';
-    LD_LIBRARY_PATH = library-path;
-    C_INCLUDE_PATH = include-path;
-    LIBRARY_PATH = library-path;
-    PATH = bin-path;
-    installPhase = ''
-      mkdir -p $out/share $out/bin
-      cp pixie-src/pixie-vm $out/share/pixie-vm
-      cp -R pixie-src/pixie $out/share/pixie
-      makeWrapper $out/share/pixie-vm $out/bin/pixie \
-        --prefix LD_LIBRARY_PATH : ${LD_LIBRARY_PATH} \
-        --prefix C_INCLUDE_PATH : ${C_INCLUDE_PATH} \
-        --prefix LIBRARY_PATH : ${LIBRARY_PATH} \
-        --prefix PATH : ${PATH}
-    '';
-    doCheck = true;
-    checkPhase = ''
-      RES=$(./pixie-src/pixie-vm -e "(print :ok)")
-      if [ "$RES" != ":ok" ]; then
-        echo "ERROR Unexpected output: '$RES'"
-        return 1
-      else
-        echo "$RES"
-      fi
-    '';
-    meta = {
-      description = "A clojure-like lisp, built with the pypy vm toolkit";
-      homepage = "https://github.com/pixie-lang/pixie";
-      license = lib.licenses.lgpl3;
-      platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
-      maintainers = with lib.maintainers; [ bendlas ];
-    };
-  };
-in build (builtins.getAttr variant variants)
diff --git a/pkgs/development/interpreters/pixie/dust.nix b/pkgs/development/interpreters/pixie/dust.nix
deleted file mode 100644
index 9c39b5c5ce6..00000000000
--- a/pkgs/development/interpreters/pixie/dust.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, stdenv, fetchFromGitHub
-, pixie, rlwrap
-}:
-
-stdenv.mkDerivation rec {
-  pname = "dust";
-  version = "0-91";
-
-  src = fetchFromGitHub {
-    owner = "pixie-lang";
-    repo = "dust";
-    rev = "efe469661e749a71e86858fd006f61464810575a";
-    sha256 = "09n57b6haxwask9m8vimv42ikczf7lgfc7m9izjrcqgs0padvfzc";
-  };
-
-  buildInputs = [ pixie ];
-
-  patches = [ ./make-paths-configurable.patch ];
-
-  configurePhase = ''
-    pixiePath="${pixie}/bin/pixie" \
-    basePath="$out/share/dust" \
-    rlwrapPath="${rlwrap}/bin/rlwrap" \
-      substituteAll dust.in dust
-    chmod +x dust
-  '';
-
-  # FIXME: AOT for dust
-  #  buildPhase = ''
-  #    find . -name "*.pxi" -exec pixie-vm -c {} \;
-  #  '';
-
-  installPhase = ''
-    mkdir -p $out/bin $out/share/dust
-    cp -a src/ run.pxi $out/share/dust
-    mv dust $out/bin/dust
-  '';
-
-  meta = with lib; {
-    description = "Provides tooling around pixie, e.g. a nicer repl, running tests and fetching dependencies";
-    homepage = src.meta.homepage;
-    maintainers = with maintainers; [ ];
-    license = licenses.lgpl3;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/interpreters/pixie/load_paths.patch b/pkgs/development/interpreters/pixie/load_paths.patch
deleted file mode 100644
index a36d280c586..00000000000
--- a/pkgs/development/interpreters/pixie/load_paths.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/pixie/ffi-infer.pxi b/pixie/ffi-infer.pxi
-index 9f13ac7..74301c2 100644
---- a/pixie/ffi-infer.pxi
-+++ b/pixie/ffi-infer.pxi
-@@ -1,15 +1,12 @@
- (ns pixie.ffi-infer
-   (:require [pixie.io-blocking :as io]))
- 
-+(defn -add-library-path [p]
-+  (swap! load-paths conj (str p "/include"))
-+  (swap! load-paths conj (str p "/lib")))
- 
--(defn -add-rel-path [rel]
--  (swap! load-paths conj (str (first @load-paths) "/" rel)))
--
--(-add-rel-path "lib")
--(-add-rel-path "include")
--(-add-rel-path "../lib")
--(-add-rel-path "../include")
--
-+(doseq [lp @libraryPaths@]
-+  (-add-library-path lp))
- 
- (def *config* nil)
- (set-dynamic! (var *config*))
diff --git a/pkgs/development/interpreters/pixie/make-paths-configurable.patch b/pkgs/development/interpreters/pixie/make-paths-configurable.patch
deleted file mode 100644
index e22e83d2ee7..00000000000
--- a/pkgs/development/interpreters/pixie/make-paths-configurable.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-From 0cbb82e606610d36e52c70d888995fbbf9b0d7c8 Mon Sep 17 00:00:00 2001
-From: Herwig Hochleitner <herwig@bendlas.net>
-Date: Sun, 28 Feb 2016 16:34:14 +0100
-Subject: [PATCH] make paths configurable
-
----
- dust    | 52 ----------------------------------------------------
- dust.in | 43 +++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 43 insertions(+), 52 deletions(-)
- delete mode 100755 dust
- create mode 100755 dust.in
-
-diff --git a/dust b/dust
-deleted file mode 100755
-index ffced9b..0000000
---- a/dust
-+++ /dev/null
-@@ -1,52 +0,0 @@
--#!/usr/bin/env bash
--
--base_path=$0
--if [ -L "$base_path" ]; then
--    base_path=`readlink $base_path`
--fi
--base_path=`dirname $base_path`
--
--pixie_path=`which pixie-vm`
--if [ -z "$pixie_path" ]; then
--    echo "Error: 'pixie-vm' must be on your PATH"
--    exit 1
--fi
--
--function set_load_path() {
--    load_path=""
--    if ([ -f "project.edn" ] || [ -f "project.pxi" ]) && [ -f ".load-path" ]; then
--        load_path="`cat .load-path`"
--    fi
--}
--
--if [ ! -f "project.edn" ] && [ -f "project.pxi" ]; then
--	echo "Warning: 'project.pxi' is deprecated, please use 'project.edn'."
--	echo "To start you can run the following command:"
--	echo "  pixie-vm -l $base_path/src -e '(require dust.project :as p) (p/load-project!) (prn (dissoc @p/*project* :path))'"
--	echo
--fi
--
--set_load_path
--run_dust="$pixie_path -l $base_path/src $load_path $base_path/run.pxi"
--
--case $1 in
--    ""|"repl")
--        rlwrap_cmd=""
--        if [ -n "`which rlwrap`" ]; then
--            rlwrap_cmd="rlwrap -aignored -n"
--        fi
--        $rlwrap_cmd $pixie_path $load_path
--        ;;
--    "run")
--        shift
--        file=$1
--        shift
--        $pixie_path $load_path $file $@
--        ;;
--    -h|--help)
--        $run_dust help
--        ;;
--    *)
--        $run_dust $@
--        ;;
--esac
-diff --git a/dust.in b/dust.in
-new file mode 100755
-index 0000000..44a7fbd
---- /dev/null
-+++ b/dust.in
-@@ -0,0 +1,40 @@
-+#!/usr/bin/env bash
-+
-+base_path=@basePath@
-+pixie_path=@pixiePath@
-+rlwrap_cmd=@rlwrapPath@
-+
-+function set_load_path() {
-+    load_path=""
-+    if ([ -f "project.edn" ] || [ -f "project.pxi" ]) && [ -f ".load-path" ]; then
-+        load_path="`cat .load-path`"
-+    fi
-+}
-+
-+if [ ! -f "project.edn" ] && [ -f "project.pxi" ]; then
-+	echo "Warning: 'project.pxi' is deprecated, please use 'project.edn'."
-+	echo "To start you can run the following command:"
-+	echo "  pixie-vm -l $base_path/src -e '(require dust.project :as p) (p/load-project!) (prn (dissoc @p/*project* :path))'"
-+	echo
-+fi
-+
-+set_load_path
-+run_dust="$pixie_path -l $base_path/src $load_path $base_path/run.pxi"
-+
-+case $1 in
-+    ""|"repl")
-+        $rlwrap_cmd -aignored -n $pixie_path $load_path
-+        ;;
-+    "run")
-+        shift
-+        file=$1
-+        shift
-+        $pixie_path $load_path $file $@
-+        ;;
-+    -h|--help)
-+        $run_dust help
-+        ;;
-+    *)
-+        $run_dust $@
-+        ;;
-+esac
--- 
-2.7.1
-
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 8198b25bd6a..d9ade27def6 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -300,11 +300,6 @@ in {
     inherit passthruFun;
   };
 
-  graalpython37 = callPackage ./graalpython/default.nix {
-    self = pythonInterpreters.graalpython37;
-    inherit passthruFun;
-  };
-
   rustpython = callPackage ./rustpython/default.nix {
     inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
   };
diff --git a/pkgs/development/interpreters/python/graalpython/default.nix b/pkgs/development/interpreters/python/graalpython/default.nix
deleted file mode 100644
index b5d7d130b5a..00000000000
--- a/pkgs/development/interpreters/python/graalpython/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ pkgs
-, lib
-, graalvm8
-, passthruFun
-, packageOverrides ? (self: super: {})
-, self
-}:
-
-let
-  passthru = passthruFun {
-    inherit self packageOverrides;
-    implementation = "graal";
-    sourceVersion = graalvm8.version;
-    pythonVersion = "3.7";
-    libPrefix = "graalvm";
-    sitePackages = "jre/languages/python/lib-python/3/site-packages";
-    executable = "graalpython";
-    hasDistutilsCxxPatch = false;
-    pythonForBuild = pkgs.buildPackages.pythonInterpreters.graalpython37;
-  };
-in lib.extendDerivation true passthru graalvm8
diff --git a/pkgs/development/interpreters/python/hooks/default.nix b/pkgs/development/interpreters/python/hooks/default.nix
index 1a0618225a3..cb5ef87826a 100644
--- a/pkgs/development/interpreters/python/hooks/default.nix
+++ b/pkgs/development/interpreters/python/hooks/default.nix
@@ -169,4 +169,10 @@ in rec {
       name = "wheel-unpack-hook.sh";
       deps = [ wheel ];
     } ./wheel-unpack-hook.sh) {};
+
+  sphinxHook = callPackage ({ sphinx }:
+    makeSetupHook {
+      name = "python${python.pythonVersion}-sphinx-hook";
+      deps = [ sphinx ];
+    } ./sphinx-hook.sh) {};
 }
diff --git a/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh b/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
index cc037744925..89a95e98219 100644
--- a/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
@@ -11,6 +11,9 @@ setuptoolsBuildPhase() {
     if [ -n "$setupPyGlobalFlags" ]; then
         args+="$setupPyGlobalFlags"
     fi
+    if [ -n "$enableParallelBuilding" ]; then
+        setupPyBuildFlags+="--parallel $NIX_BUILD_CORES"
+    fi
     if [ -n "$setupPyBuildFlags" ]; then
         args+="build_ext $setupPyBuildFlags"
     fi
diff --git a/pkgs/development/interpreters/python/hooks/sphinx-hook.sh b/pkgs/development/interpreters/python/hooks/sphinx-hook.sh
new file mode 100644
index 00000000000..0140958b231
--- /dev/null
+++ b/pkgs/development/interpreters/python/hooks/sphinx-hook.sh
@@ -0,0 +1,57 @@
+# This hook automatically finds Sphinx documentation, builds it in html format
+# and installs it.
+#
+# This hook knows about several popular locations in which subdirectory
+# documentation may be, but in very unusual cases $sphinxRoot directory can be
+# set explicitly.
+#
+# Name of the directory relative to ${doc:-$out}/share/doc is normally also
+# deduced automatically, but can be overridden with $sphinxOutdir variable.
+#
+# Sphinx build system can depend on arbitrary amount of python modules, client
+# code is responsible for ensuring that all dependencies are present.
+
+buildSphinxPhase() {
+    local __sphinxRoot="" o
+
+    runHook preBuildSphinx
+    if [[ -n "${sphinxRoot:-}" ]] ; then  # explicit root
+        if ! [[ -f "${sphinxRoot}/conf.py" ]] ; then
+            echo 2>&1 "$sphinxRoot/conf.py: no such file"
+            exit 1
+        fi
+        __sphinxRoot=$sphinxRoot
+    else
+        for o in doc docs doc/source docs/source ; do
+            if [[ -f "$o/conf.py" ]] ; then
+                echo "Sphinx documentation found in $o"
+                __sphinxRoot=$o
+                break
+            fi
+        done
+    fi
+
+    if [[ -z "${__sphinxRoot}" ]] ; then
+        echo 2>&1 "Sphinx documentation not found, use 'sphinxRoot' variable"
+        exit 1
+    fi
+    sphinx-build -M html "${__sphinxRoot}" ".sphinx/html" -v
+
+    runHook postBuildSphinx
+}
+
+installSphinxPhase() {
+    local docdir=""
+    runHook preInstallSphinx
+
+    docdir="${doc:-$out}/share/doc/${sphinxOutdir:-$name}"
+    mkdir -p "$docdir"
+
+    cp -r .sphinx/html/html "$docdir/"
+    rm -fr "${docdir}/html/_sources" "${docdir}/html/.buildinfo"
+
+    runHook postInstallSphinx
+}
+
+preBuildPhases+=" buildSphinxPhase"
+postPhases+=" installSphinxPhase"
diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix
index 514930db359..b36662335ab 100644
--- a/pkgs/development/interpreters/python/wrapper.nix
+++ b/pkgs/development/interpreters/python/wrapper.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildEnv, makeWrapper
+{ lib, stdenv, buildEnv, makeBinaryWrapper
 
 # manually pased
 , python
@@ -27,7 +27,7 @@ let
     inherit ignoreCollisions;
     extraOutputsToInstall = [ "out" ] ++ extraOutputsToInstall;
 
-    nativeBuildInputs = [ makeWrapper ];
+    nativeBuildInputs = [ makeBinaryWrapper ];
 
     postBuild = ''
       if [ -L "$out/bin" ]; then
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index bd96562d9e5..77dffd20595 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -49,7 +49,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "racket";
-  version = "8.4"; # always change at once with ./minimal.nix
+  version = "8.5"; # always change at once with ./minimal.nix
 
   src = (lib.makeOverridable ({ name, sha256 }:
     fetchurl {
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
     }
   )) {
     name = "${pname}-${version}";
-    sha256 = "sha256-uJ+vL+FtBNILkFbwi7qZ6yBA1Rcr7o886zmZ/tFuatM=";
+    sha256 = "sha256-dWnOnpxh5zmou9eqVdcfhuCr8ts1CTqqEF1j/dk0jhs=";
   };
 
   FONTCONFIG_FILE = fontsConf;
diff --git a/pkgs/development/interpreters/racket/minimal.nix b/pkgs/development/interpreters/racket/minimal.nix
index b73cdaff5d3..a5ddab67c41 100644
--- a/pkgs/development/interpreters/racket/minimal.nix
+++ b/pkgs/development/interpreters/racket/minimal.nix
@@ -6,7 +6,7 @@ racket.overrideAttrs (oldAttrs: rec {
   version = oldAttrs.version;
   src = oldAttrs.src.override {
     name = "${pname}-${version}";
-    sha256 = "sha256-FZlUWvjtioe4S8gPetj7vdneVX6jEFguJo4j2wJsKAw=";
+    sha256 = "sha256-VdWF46yfuqz76ECm7HTOPnvun+heMiE/Gz5Pb1k8rjk=";
   };
 
   meta = oldAttrs.meta // {
diff --git a/pkgs/development/interpreters/sollya/default.nix b/pkgs/development/interpreters/sollya/default.nix
index eb20f61a990..173263ee04d 100644
--- a/pkgs/development/interpreters/sollya/default.nix
+++ b/pkgs/development/interpreters/sollya/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sollya";
-  version = "7.0";
+  version = "8.0";
 
   src = fetchurl {
     url = "https://www.sollya.org/releases/sollya-${version}/sollya-${version}.tar.gz";
-    sha256 = "0amrxg7567yy5xqpgchxggjpfr11xyl27vy29c7vlh7v8a17nj1h";
+    sha256 = "sha256-WNc0+aL8jmczwR+W0t+aslvvJNccQBIw4p8KEzmoEZI=";
   };
 
   buildInputs = [ gmp mpfr mpfi libxml2 fplll ];
diff --git a/pkgs/development/interpreters/zuo/default.nix b/pkgs/development/interpreters/zuo/default.nix
new file mode 100644
index 00000000000..f70e674eda6
--- /dev/null
+++ b/pkgs/development/interpreters/zuo/default.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "zuo";
+  version = "unstable-2022-04-23";
+
+  src = fetchFromGitHub {
+    owner = "racket";
+    repo = "zuo";
+    rev = "2f3e23bd374f9a6504de6000989ebf2adf67c80c";
+    sha256 = "sha256-TxX3iinfL1hXFlQlGQ7x52O6zvYoJYXrMfEfSL4Axig=";
+  };
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "A Tiny Racket for Scripting";
+    homepage = "https://github.com/racket/zuo";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/development/java-modules/liquibase_redshift_extension/default.nix b/pkgs/development/java-modules/liquibase_redshift_extension/default.nix
new file mode 100644
index 00000000000..ba15086ae0a
--- /dev/null
+++ b/pkgs/development/java-modules/liquibase_redshift_extension/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchMavenArtifact }:
+
+stdenv.mkDerivation rec {
+  pname = "liquibase-redshift-extension";
+  version = "4.8.0";
+
+  src = fetchMavenArtifact {
+    artifactId = "liquibase-redshift";
+    groupId = "org.liquibase.ext";
+    sha256 = "sha256-jZdDKAC4Cvmkih8VH84Z3Q8BzsqGO55Uefr8vOlbDAk=";
+    inherit version;
+  };
+
+  installPhase = ''
+    runHook preInstall
+    install -m444 -D $src/share/java/liquibase-redshift-${version}.jar $out/share/java/liquibase-redshift.jar
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/liquibase/liquibase-redshift/";
+    description = "Amazon Redshift extension for Liquibase";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ sir4ur0n ];
+  };
+}
diff --git a/pkgs/development/java-modules/redshift_jdbc/default.nix b/pkgs/development/java-modules/redshift_jdbc/default.nix
new file mode 100644
index 00000000000..ab15b136e14
--- /dev/null
+++ b/pkgs/development/java-modules/redshift_jdbc/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, fetchMavenArtifact }:
+
+stdenv.mkDerivation rec {
+  pname = "redshift-jdbc";
+  version = "2.1.0.3";
+
+  src = fetchMavenArtifact {
+    artifactId = "redshift-jdbc42";
+    groupId = "com.amazon.redshift";
+    sha256 = "sha256-TO/JXh/pZ7tUZGfHqkzgZx18gLnISvnPVyGavzFv6vo=";
+    inherit version;
+  };
+
+  installPhase = ''
+    runHook preInstall
+    install -m444 -D $src/share/java/redshift-jdbc42-${version}.jar $out/share/java/redshift-jdbc42.jar
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/aws/amazon-redshift-jdbc-driver/";
+    description =
+      "JDBC 4.2 driver for Amazon Redshift allowing Java programs to connect to a Redshift database";
+    license = licenses.asl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ sir4ur0n ];
+  };
+}
diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix
index 8d57ce5b156..ce41240ecf7 100644
--- a/pkgs/development/libraries/armadillo/default.nix
+++ b/pkgs/development/libraries/armadillo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "armadillo";
-  version = "11.0.0";
+  version = "11.0.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "sha256-f91PBBpiTNm/I8nYSYLZGI7HA1L6jqA0YanU2hFl8NM=";
+    sha256 = "sha256-5D1ESTdsH8i1YglUMbuCz5xP+Yp5GiKiXQ+W5eeTfCI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index 675c930d9ed..606ff2b3404 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "at-spi2-core";
-  version = "2.44.0";
+  version = "2.44.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "fu488oWwiQYP1rblGz6yys91LMo6CCx/TCxauEHlE1M=";
+    sha256 = "S+sjJwumz3yvILWXNU11GU2Jr7adLvzxX0JxaIum90Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/audio/libspecbleach/default.nix b/pkgs/development/libraries/audio/libspecbleach/default.nix
new file mode 100644
index 00000000000..f9f147ab11a
--- /dev/null
+++ b/pkgs/development/libraries/audio/libspecbleach/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, fftwFloat}:
+
+stdenv.mkDerivation rec {
+  pname = "libspecbleach";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "lucianodato";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-WmUl8rA/+V+hv7FPG/5Or6aAQVqt1rIJtdb53KhSmuo=";
+  };
+
+  nativeBuildInputs = [ meson ninja pkg-config ];
+  buildInputs = [
+    fftwFloat
+  ];
+
+  meta = with lib; {
+    description = "C library for audio noise reduction";
+    homepage    = "https://github.com/lucianodato/libspecbleach";
+    license     = licenses.lgpl2;
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix
index 3cd846c87a1..8bf009ddacb 100644
--- a/pkgs/development/libraries/aws-sdk-cpp/default.nix
+++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , curl
 , openssl
@@ -30,13 +31,15 @@ in
 
 stdenv.mkDerivation rec {
   pname = "aws-sdk-cpp";
-  version = "1.9.238";
+  version = if stdenv.system == "i686-linux" then "1.9.150"
+    else "1.9.238";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-sdk-cpp";
     rev = version;
-    sha256 = "sha256-pEmsTfZXsvJMV79dGkjDNbUVajwyoYgzE5DCsC53pGY=";
+    sha256 = if version == "1.9.150" then "fgLdXWQKHaCwulrw9KV3vpQ71DjnQAL4heIRW7Rk7UY="
+      else "sha256-pEmsTfZXsvJMV79dGkjDNbUVajwyoYgzE5DCsC53pGY=";
   };
 
   postPatch = ''
@@ -109,7 +112,12 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./cmake-dirs.patch
-  ];
+  ]
+    ++ lib.optional (lib.versionOlder version "1.9.163")
+      (fetchpatch {
+        url = "https://github.com/aws/aws-sdk-cpp/commit/b102aaf5693c4165c84b616ab9ffb9edfb705239.diff";
+        sha256 = "sha256-38QBo3MEFpyHPb8jZEURRPkoeu4DqWhVeErJayiHKF0=";
+      });
 
   # Builds in 2+h with 2 cores, and ~10m with a big-parallel builder.
   requiredSystemFeatures = [ "big-parallel" ];
diff --git a/pkgs/development/libraries/bash/bash-preexec/default.nix b/pkgs/development/libraries/bash/bash-preexec/default.nix
index fe8f63c685c..fcdf5619047 100644
--- a/pkgs/development/libraries/bash/bash-preexec/default.nix
+++ b/pkgs/development/libraries/bash/bash-preexec/default.nix
@@ -1,6 +1,6 @@
 { stdenvNoCC, lib, fetchFromGitHub, bats }:
 
-let version = "0.4.1";
+let version = "0.5.0";
 in stdenvNoCC.mkDerivation {
   pname = "bash-preexec";
   inherit version;
@@ -9,7 +9,7 @@ in stdenvNoCC.mkDerivation {
     owner = "rcaloras";
     repo = "bash-preexec";
     rev = version;
-    sha256 = "062iigps285628p710i7vh7kmgra5gahq9qiwj7rxir167lg0ggw";
+    sha256 = "sha256-+FU5n7EkY78X5nUiW3WN9+6Bf6oiPjsG2MSRCleooFs=";
   };
 
   checkInputs = [ bats ];
diff --git a/pkgs/development/libraries/bc-decaf/default.nix b/pkgs/development/libraries/bc-decaf/default.nix
new file mode 100644
index 00000000000..acfd0e85d4f
--- /dev/null
+++ b/pkgs/development/libraries/bc-decaf/default.nix
@@ -0,0 +1,36 @@
+{ cmake
+, fetchFromGitLab
+, lib
+, python3
+, stdenv
+}:
+
+stdenv.mkDerivation rec {
+  pname = "bc-decaf";
+  version = "linphone-4.4.1";
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [
+    python3
+  ];
+
+  src = fetchFromGitLab {
+    domain = "gitlab.linphone.org";
+    group = "BC";
+    owner = "public/external";
+    repo = "decaf";
+    rev = "6e78a9beb24d1e3d7050dd52a65e4f88b101a1fc";
+    sha256 = "sha256-D2SzkinloL0Ya9p25YUsc+7lKvoTMUsdkKrkv/5AEeY=";
+  };
+
+  # Do not build static libraries and do not enable -Werror
+  cmakeFlags = [ "-DENABLE_STATIC=NO" "-DENABLE_STRICT=NO" ];
+
+  meta = with lib; {
+    description = "Elliptic curve library supporting Ed448-Goldilocks and Curve25519. Belledonne Communications' fork for Linphone.";
+    homepage = "https://gitlab.linphone.org/BC/public/bctoolbox";
+    license = licenses.mit;
+    maintainers = with maintainers; [ thibaultlemaire ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/bctoolbox/default.nix b/pkgs/development/libraries/bctoolbox/default.nix
index d1897526646..6c1c2cdefb9 100644
--- a/pkgs/development/libraries/bctoolbox/default.nix
+++ b/pkgs/development/libraries/bctoolbox/default.nix
@@ -1,16 +1,28 @@
 { bcunit
 , cmake
+, bc-decaf
 , fetchFromGitLab
 , mbedtls
-, lib, stdenv
+, lib
+, stdenv
 }:
 
 stdenv.mkDerivation rec {
   pname = "bctoolbox";
   version = "5.1.17";
 
-  nativeBuildInputs = [ cmake bcunit ];
-  buildInputs = [ mbedtls ];
+  nativeBuildInputs = [
+    cmake
+  ];
+  buildInputs = [
+    # Made by BC
+    bcunit
+
+    # Vendored by BC
+    bc-decaf
+
+    mbedtls
+  ];
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -22,9 +34,9 @@ stdenv.mkDerivation rec {
   };
 
   # Do not build static libraries
-  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+  cmakeFlags = [ "-DENABLE_STATIC=NO" "-DENABLE_STRICT=NO" ];
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=stringop-truncation" ];
+  strictDeps = true;
 
   meta = with lib; {
     description = "Utilities library for Linphone";
diff --git a/pkgs/development/libraries/belcard/default.nix b/pkgs/development/libraries/belcard/default.nix
index 740dbeee648..aace36c619c 100644
--- a/pkgs/development/libraries/belcard/default.nix
+++ b/pkgs/development/libraries/belcard/default.nix
@@ -2,12 +2,13 @@
 , belr
 , cmake
 , fetchFromGitLab
-, lib, stdenv
+, lib
+, stdenv
 }:
 
 stdenv.mkDerivation rec {
   pname = "belcard";
-  version = "5.1.10";
+  version = "5.1.12";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -25,7 +26,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = [ "-DENABLE_STATIC=NO" ];
 
   meta = with lib; {
-    description = "C++ library to manipulate VCard standard format";
+    description = "C++ library to manipulate VCard standard format. Part of the Linphone project.";
     homepage = "https://gitlab.linphone.org/BC/public/belcard";
     license = licenses.gpl3Plus;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/belle-sip/default.nix b/pkgs/development/libraries/belle-sip/default.nix
index e1b517f66bf..22817feaded 100644
--- a/pkgs/development/libraries/belle-sip/default.nix
+++ b/pkgs/development/libraries/belle-sip/default.nix
@@ -1,5 +1,5 @@
-{ antlr3_4
-, bctoolbox
+{ bctoolbox
+, belr
 , cmake
 , fetchFromGitLab
 , lib
@@ -11,18 +11,18 @@
 
 stdenv.mkDerivation rec {
   pname = "belle-sip";
-  version = "4.5.14";
+  version = "linphone-4.4.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
     owner = "public";
     group = "BC";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-L6dhgBJrzYgBuMNd2eMZJCqB/GIZjKipfn1SffxBFWw=";
+    rev = "44d5977570280763ee1fecdb920736715bad58a3";
+    sha256 = "sha256-w++v3YlDZfpCHAbUQA/RftjRNGkz9J/zYoxZqRgtvnA=";
   };
 
-  nativeBuildInputs = [ antlr3_4 cmake ];
+  nativeBuildInputs = [ cmake ];
 
   buildInputs = [ zlib ];
 
@@ -36,11 +36,11 @@ stdenv.mkDerivation rec {
     "-Wno-error=stringop-overflow"
   ];
 
-  propagatedBuildInputs = [ libantlr3c mbedtls bctoolbox ];
+  propagatedBuildInputs = [ libantlr3c mbedtls bctoolbox belr ];
 
   meta = with lib; {
     homepage = "https://linphone.org/technical-corner/belle-sip";
-    description = "Modern library implementing SIP (RFC 3261) transport, transaction and dialog layers";
+    description = "Modern library implementing SIP (RFC 3261) transport, transaction and dialog layers. Part of the Linphone project.";
     license = licenses.gpl3Plus;
     platforms = platforms.all;
     maintainers = with maintainers; [ jluttine ];
diff --git a/pkgs/development/libraries/belr/default.nix b/pkgs/development/libraries/belr/default.nix
index 05d6573beb8..91f1c91e220 100644
--- a/pkgs/development/libraries/belr/default.nix
+++ b/pkgs/development/libraries/belr/default.nix
@@ -1,12 +1,13 @@
 { bctoolbox
 , cmake
 , fetchFromGitLab
-, lib, stdenv
+, lib
+, stdenv
 }:
 
 stdenv.mkDerivation rec {
   pname = "belr";
-  version = "5.1.3";
+  version = "5.1.12";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -24,7 +25,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = [ "-DENABLE_STATIC=NO" ];
 
   meta = with lib; {
-    description = "Belledonne Communications' language recognition library";
+    description = "Belledonne Communications' language recognition library. Part of the Linphone project.";
     homepage = "https://gitlab.linphone.org/BC/public/belr";
     license = licenses.gpl3Plus;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 1881f06aa4a..34ab5554e74 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -32,7 +32,7 @@ assert enablePython -> stdenv.hostPlatform == stdenv.buildPlatform;
 assert enableNumpy -> enablePython;
 
 # Boost <1.69 can't be built on linux with clang >8, because pth was removed
-assert with lib; ((stdenv.isLinux && toolset == "clang" && !(versionOlder stdenv.cc.version "8.0.0")) -> !(versionOlder version "1.69"));
+assert with lib; (stdenv.isLinux && toolset == "clang" && versionAtLeast stdenv.cc.version "8.0.0") -> versionAtLeast version "1.69";
 
 with lib;
 let
@@ -143,7 +143,7 @@ stdenv.mkDerivation {
     stripLen = 1;
     extraPrefix = "libs/context/";
   })
-  ++ optional (and (versionAtLeast version "1.70") (!versionAtLeast version "1.73")) ./cmake-paths.patch
+  ++ optional (versionAtLeast version "1.70" && versionOlder version "1.73") ./cmake-paths.patch
   ++ optional (versionAtLeast version "1.73") ./cmake-paths-173.patch
   ++ optional (version == "1.77.0") (fetchpatch {
     url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch";
diff --git a/pkgs/development/libraries/bzrtp/default.nix b/pkgs/development/libraries/bzrtp/default.nix
index 29b665fec62..3a6ef0e3562 100644
--- a/pkgs/development/libraries/bzrtp/default.nix
+++ b/pkgs/development/libraries/bzrtp/default.nix
@@ -2,12 +2,13 @@
 , cmake
 , fetchFromGitLab
 , sqlite
-, lib, stdenv
+, lib
+, stdenv
 }:
 
 stdenv.mkDerivation rec {
   pname = "bzrtp";
-  version = "5.1.0";
+  version = "5.1.12";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -22,12 +23,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
 
   # Do not build static libraries
-  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
-
-  NIX_CFLAGS_COMPILE = "-Wno-error=cast-function-type";
+  cmakeFlags = [ "-DENABLE_STATIC=NO" "-DCMAKE_C_FLAGS=-Wno-error=cast-function-type" ];
 
   meta = with lib; {
-    description = "An opensource implementation of ZRTP keys exchange protocol";
+    description = "An opensource implementation of ZRTP keys exchange protocol. Part of the Linphone project.";
     homepage = "https://gitlab.linphone.org/BC/public/bzrtp";
     license = licenses.gpl3Plus;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/clucene-core/2.x.nix b/pkgs/development/libraries/clucene-core/2.x.nix
index 52caa26c9c5..861e9179e09 100644
--- a/pkgs/development/libraries/clucene-core/2.x.nix
+++ b/pkgs/development/libraries/clucene-core/2.x.nix
@@ -20,11 +20,14 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "-D_CL_HAVE_GCC_ATOMIC_FUNCTIONS=0"
     "-D_CL_HAVE_NAMESPACES_EXITCODE=0"
+    "-D_CL_HAVE_NAMESPACES_EXITCODE__TRYRUN_OUTPUT="
     "-D_CL_HAVE_NO_SNPRINTF_BUG_EXITCODE=0"
-    "-D_CL_HAVE_NO_SNWPRINTF_BUG_EXITCODE=0"
+    "-D_CL_HAVE_NO_SNPRINTF_BUG_EXITCODE__TRYRUN_OUTPUT="
     "-D_CL_HAVE_TRY_BLOCKS_EXITCODE=0"
+    "-D_CL_HAVE_TRY_BLOCKS_EXITCODE__TRYRUN_OUTPUT="
     "-D_CL_HAVE_PTHREAD_MUTEX_RECURSIVE=0"
     "-DLUCENE_STATIC_CONSTANT_SYNTAX_EXITCODE=0"
+    "-DLUCENE_STATIC_CONSTANT_SYNTAX_EXITCODE__TRYRUN_OUTPUT="
   ];
 
   patches = # From debian
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index a3c5bbbf70b..6e3a6ed5b30 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -43,6 +43,13 @@ stdenv.mkDerivation rec {
       url = "https://gitlab.freedesktop.org/dbus/dbus/-/commit/6bfaea0707ba1a7788c4b6d30c18fb094f3a1dd4.patch";
       sha256 = "1d8ay55n2ksw5faqx3hsdpfni3xl3gq9hnjl65073xcfnx67x8d2";
     })
+
+    # Fix dbus-daemon crashing when running tests due to long XDG_DATA_DIRS.
+    # https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/302
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/dbus/dbus/-/commit/b551b3e9737958216a1a9d359150a4110a9d0549.patch";
+      sha256 = "kOVjlklZzKvBZXmmrE1UiO4XWRoBLViGwdn6/eDH+DY=";
+    })
   ] ++ (lib.optional stdenv.isSunOS ./implement-getgrouplist.patch);
 
   postPatch = ''
diff --git a/pkgs/development/libraries/docopt_cpp/default.nix b/pkgs/development/libraries/docopt_cpp/default.nix
index 3de84b684e5..4fae1db9ba3 100644
--- a/pkgs/development/libraries/docopt_cpp/default.nix
+++ b/pkgs/development/libraries/docopt_cpp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python2 }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, python3 }:
 
 stdenv.mkDerivation rec {
   version = "0.6.3";
@@ -11,7 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "0cz3vv7g5snfbsqcf3q8bmd6kv5qp84gj3avwkn4vl00krw13bl7";
   };
 
-  nativeBuildInputs = [ cmake python2 ];
+  patches = [
+    (fetchpatch {
+      name = "python3-for-tests";
+      url = "https://github.com/docopt/docopt.cpp/commit/b3d909dc952ab102a4ad5a1541a41736f35b92ba.patch";
+      hash = "sha256-JJR09pbn3QhYaZAIAjs+pe28+g1VfgHUKspWorHzr8o=";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake python3 ];
 
   cmakeFlags = ["-DWITH_TESTS=ON"];
 
diff --git a/pkgs/development/libraries/doctest/default.nix b/pkgs/development/libraries/doctest/default.nix
index 11a2906b5c0..360c643f523 100644
--- a/pkgs/development/libraries/doctest/default.nix
+++ b/pkgs/development/libraries/doctest/default.nix
@@ -2,19 +2,19 @@
 
 stdenv.mkDerivation rec {
   pname = "doctest";
-  version = "2.4.7";
+  version = "2.4.8";
 
   src = fetchFromGitHub {
-    owner = "onqtam";
+    owner = "doctest";
     repo = "doctest";
-    rev = version;
-    sha256 = "sha256-pXUg+NHSCKOudkmDCU3ePZrvs8DlM/CEZntEd78oTJ0=";
+    rev = "v${version}";
+    sha256 = "sha256-/4lyCQZHsa32ozes5MJ0JZpQ99MECRlgFeSzN/Zs/BQ=";
   };
 
   nativeBuildInputs = [ cmake ];
 
   meta = with lib; {
-    homepage = "https://github.com/onqtam/doctest";
+    homepage = "https://github.com/doctest/doctest";
     description = "The fastest feature-rich C++11/14/17/20 single-header testing framework";
     platforms = platforms.all;
     license = licenses.mit;
diff --git a/pkgs/development/libraries/duckdb/default.nix b/pkgs/development/libraries/duckdb/default.nix
index 9e253588e2a..b128ed70945 100644
--- a/pkgs/development/libraries/duckdb/default.nix
+++ b/pkgs/development/libraries/duckdb/default.nix
@@ -16,13 +16,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "duckdb";
-  version = "0.3.3";
+  version = "0.3.4";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WxJj5hOJsRuKUHjpGZWsa0PxRZZJcX88p1/typ+yqEw=";
+    sha256 = "sha256-2PBc5qe2md87u2nvMTx/XZVzLsr8QrvUkw46/6VTlGs=";
   };
 
   patches = [ ./version.patch ];
@@ -31,18 +31,51 @@ stdenv.mkDerivation rec {
   '';
 
   cmakeFlags = [
+    "-DBUILD_EXCEL_EXTENSION=ON"
     "-DBUILD_FTS_EXTENSION=ON"
     "-DBUILD_HTTPFS_EXTENSION=${enableFeature withHttpFs}"
     "-DBUILD_ICU_EXTENSION=ON"
+    "-DBUILD_JSON_EXTENSION=ON"
     "-DBUILD_ODBC_DRIVER=${enableFeature withOdbc}"
     "-DBUILD_PARQUET_EXTENSION=ON"
-    "-DBUILD_REST_EXTENSION=ON"
+    "-DBUILD_REST=ON"
+    "-DBUILD_SUBSTRAIT_EXTENSION=ON"
     "-DBUILD_TPCDS_EXTENSION=ON"
+    "-DBUILD_TPCE=ON"
     "-DBUILD_TPCH_EXTENSION=ON"
     "-DBUILD_VISUALIZER_EXTENSION=ON"
     "-DJDBC_DRIVER=${enableFeature withJdbc}"
   ];
 
+  doInstallCheck = true;
+
+  preInstallCheck = lib.optionalString stdenv.isDarwin ''
+    export DYLD_LIBRARY_PATH="$out/lib''${DYLD_LIBRARY_PATH:+:}''${DYLD_LIBRARY_PATH}"
+  '';
+
+  installCheckPhase =
+    let
+      excludes = map (pattern: "exclude:'${pattern}'") [
+        "*test_slow"
+        "Test file buffers for reading/writing to file"
+        "[test_slow]"
+        "test/common/test_cast_hugeint.test"
+        "test/sql/copy/csv/test_csv_remote.test"
+        "test/sql/copy/parquet/test_parquet_remote.test"
+      ] ++ lib.optionals stdenv.isAarch64 [
+        "test/sql/aggregate/aggregates/test_kurtosis.test"
+        "test/sql/aggregate/aggregates/test_skewness.test"
+        "test/sql/function/list/aggregates/skewness.test"
+      ];
+    in
+    ''
+      runHook preInstallCheck
+
+      $PWD/test/unittest ${lib.concatStringsSep " " excludes}
+
+      runHook postInstallCheck
+    '';
+
   nativeBuildInputs = [ cmake ninja ];
   buildInputs = lib.optionals withHttpFs [ openssl ]
     ++ lib.optionals withJdbc [ openjdk11 ]
diff --git a/pkgs/development/libraries/entt/default.nix b/pkgs/development/libraries/entt/default.nix
index c514e3d7800..67886920cd3 100644
--- a/pkgs/development/libraries/entt/default.nix
+++ b/pkgs/development/libraries/entt/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 stdenv.mkDerivation rec {
   pname = "entt";
-  version = "3.9.0";
+  version = "3.10.0";
 
   src = fetchFromGitHub {
     owner = "skypjack";
     repo = "entt";
     rev = "v${version}";
-    sha256 = "sha256-7UeL8D+A0pH3TKNO5B8A1nhD7uDWeirHnHaI/YKVwyo=";
+    sha256 = "sha256-/4lc+/YiLPxrn+7Z67sEapYY0ocLWHPC8yeYD2VI+64=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/fcft/default.nix b/pkgs/development/libraries/fcft/default.nix
index 31e9e2fbbbd..f03c24e28cb 100644
--- a/pkgs/development/libraries/fcft/default.nix
+++ b/pkgs/development/libraries/fcft/default.nix
@@ -20,14 +20,14 @@ in
 
 stdenv.mkDerivation rec {
   pname = "fcft";
-  version = "3.0.1";
+  version = "3.1.1";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "dnkl";
     repo = "fcft";
     rev = version;
-    sha256 = "0jxy92ny8b7s7yvz1mr8zpf7l2zsn506fi9f98pvh9k25jprg0cx";
+    sha256 = "1b43sqp5hah374ns62pcrmbiriqsdisb60hp1nwqz3ny3rfjvn15";
   };
 
   depsBuildBuild = [ pkg-config ];
diff --git a/pkgs/development/libraries/ffmpegthumbnailer/default.nix b/pkgs/development/libraries/ffmpegthumbnailer/default.nix
index 9bfee290871..cb7b8214c57 100644
--- a/pkgs/development/libraries/ffmpegthumbnailer/default.nix
+++ b/pkgs/development/libraries/ffmpegthumbnailer/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ffmpegthumbnailer";
-  version = "unstable-2021-09-02";
+  version = "unstable-2022-02-18";
 
   src = fetchFromGitHub {
     owner = "dirkvdb";
     repo = "ffmpegthumbnailer";
-    rev = "d92e191dd793b12cee0a0f685f5a8d8252988399";
-    sha256 = "1ysfq3g74b8ivivrdpfi4vm23d3cyc3rfla5i6y8q9aycis9xv6q";
+    rev = "3db9fe895b2fa656bb40ddb7a62e27604a688171";
+    sha256 = "0606pbg391l4s8mpyyalm9zrcnm75fwqdlrxy2gif9n21i2fm3rc";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix
index 2b4b174ca31..b132b3fae8c 100644
--- a/pkgs/development/libraries/freeimage/default.nix
+++ b/pkgs/development/libraries/freeimage/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation {
   pname = "freeimage";
-  version = "unstable-2020-07-04";
+  version = "unstable-2021-11-01";
 
   src = fetchsvn {
     url = "svn://svn.code.sf.net/p/freeimage/svn/";
-    rev = "1859";
-    sha256 = "1d94935aqbkb994nqkw7m8xcynyz9rm6k7k59igrbjak8b63qpi6";
+    rev = "1900";
+    sha256 = "rWoNlU/BWKZBPzRb1HqU6T0sT7aK6dpqKPe88+o/4sA=";
   };
-  sourceRoot = "svn-r1859/FreeImage/trunk";
+  sourceRoot = "svn-r1900/FreeImage/trunk";
 
   # Ensure that the bundled libraries are not used at all
   prePatch = "rm -rf Source/Lib* Source/OpenEXR Source/ZLib";
diff --git a/pkgs/development/libraries/freeimage/unbundle.diff b/pkgs/development/libraries/freeimage/unbundle.diff
index 22dac720155..99a7cfb4ca3 100644
--- a/pkgs/development/libraries/freeimage/unbundle.diff
+++ b/pkgs/development/libraries/freeimage/unbundle.diff
@@ -1,5 +1,5 @@
 diff --git a/Makefile.fip b/Makefile.fip
-index 660a026..86b3040 100644
+index 660a0265..86b30401 100644
 --- a/Makefile.fip
 +++ b/Makefile.fip
 @@ -11,32 +11,21 @@ INSTALLDIR ?= $(DESTDIR)/usr/lib
@@ -54,7 +54,7 @@ index 660a026..86b3040 100644
  	ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME)	
  
 diff --git a/Makefile.gnu b/Makefile.gnu
-index a4f2601..be95476 100644
+index a4f26013..be954761 100644
 --- a/Makefile.gnu
 +++ b/Makefile.gnu
 @@ -11,32 +11,21 @@ INSTALLDIR ?= $(DESTDIR)/usr/lib
@@ -110,7 +110,7 @@ index a4f2601..be95476 100644
  clean:
  	rm -f core Dist/*.* u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)
 diff --git a/Makefile.osx b/Makefile.osx
-index c39121d..3800e39 100644
+index c39121db..3800e39d 100644
 --- a/Makefile.osx
 +++ b/Makefile.osx
 @@ -10,24 +10,25 @@ MACOSX_SYSROOT = $(shell xcrun --show-sdk-path)
@@ -185,21 +185,21 @@ index c39121d..3800e39 100644
  	ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME)
  
 diff --git a/Makefile.srcs b/Makefile.srcs
-index 0b8d3a0..b706fd0 100644
+index 692c6e56..212195b2 100644
 --- a/Makefile.srcs
 +++ b/Makefile.srcs
 @@ -1,6 +1,6 @@
  VER_MAJOR = 3
  VER_MINOR = 19.0
--SRCS = ./Source/FreeImage/BitmapAccess.cpp ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/ConversionRGBA16.cpp ./Source/FreeImage/ConversionRGBAF.cpp ./Source/FreeImage/FreeImage.cpp ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp ./Source/FreeImage/GetType.cpp ./Source/FreeImage/LFPQuantizer.cpp ./Source/FreeImage/MemoryIO.cpp ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp ./Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp ./Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp ./Source/FreeImage/PluginJPEG.cpp ./Source/FreeImage/PluginJXR.cpp ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp ./Source/FreeImage/PluginWBMP.cpp ./Source/FreeImage/PluginWebP.cpp ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp ./Source/FreeImage/ConversionRGB16.cpp ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp ./Source/FreeImage/ToneMapping.cpp ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp ./Source/FreeImageToolkit/Background.cpp ./Source/FreeImageToolkit/BSplineRotate.cpp ./Source/FreeImageToolkit/Channels.cpp ./Source/FreeImageToolkit/ClassicRotate.cpp ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp ./Source/FreeImageToolkit/JPEGTransform.cpp ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp Source/LibJPEG/jaricom.c Source/LibJPEG/jcapimin.c Source/LibJPEG/jcapistd.c Source/LibJPEG/jcarith.c Source/LibJPEG/jccoefct.c Source/LibJPEG/jccolor.c Source/LibJPEG/jcdctmgr.c Source/LibJPEG/jchuff.c Source/LibJPEG/jcinit.c Source/LibJPEG/jcmainct.c Source/LibJPEG/jcmarker.c Source/LibJPEG/jcmaster.c Source/LibJPEG/jcomapi.c Source/LibJPEG/jcparam.c Source/LibJPEG/jcprepct.c Source/LibJPEG/jcsample.c Source/LibJPEG/jctrans.c Source/LibJPEG/jdapimin.c Source/LibJPEG/jdapistd.c Source/LibJPEG/jdarith.c Source/LibJPEG/jdatadst.c Source/LibJPEG/jdatasrc.c Source/LibJPEG/jdcoefct.c Source/LibJPEG/jdcolor.c Source/LibJPEG/jddctmgr.c Source/LibJPEG/jdhuff.c Source/LibJPEG/jdinput.c Source/LibJPEG/jdmainct.c Source/LibJPEG/jdmarker.c Source/LibJPEG/jdmaster.c Source/LibJPEG/jdmerge.c Source/LibJPEG/jdpostct.c Source/LibJPEG/jdsample.c Source/LibJPEG/jdtrans.c Source/LibJPEG/jerror.c Source/LibJPEG/jfdctflt.c Source/LibJPEG/jfdctfst.c Source/LibJPEG/jfdctint.c Source/LibJPEG/jidctflt.c Source/LibJPEG/jidctfst.c Source/LibJPEG/jidctint.c Source/LibJPEG/jmemmgr.c Source/LibJPEG/jmemnobs.c Source/LibJPEG/jquant1.c Source/LibJPEG/jquant2.c Source/LibJPEG/jutils.c Source/LibJPEG/transupp.c Source/LibPNG/png.c Source/LibPNG/pngerror.c Source/LibPNG/pngget.c Source/LibPNG/pngmem.c Source/LibPNG/pngpread.c Source/LibPNG/pngread.c Source/LibPNG/pngrio.c Source/LibPNG/pngrtran.c Source/LibPNG/pngrutil.c Source/LibPNG/pngset.c Source/LibPNG/pngtrans.c Source/LibPNG/pngwio.c Source/LibPNG/pngwrite.c Source/LibPNG/pngwtran.c Source/LibPNG/pngwutil.c Source/LibTIFF4/tif_aux.c Source/LibTIFF4/tif_close.c Source/LibTIFF4/tif_codec.c Source/LibTIFF4/tif_color.c Source/LibTIFF4/tif_compress.c Source/LibTIFF4/tif_dir.c Source/LibTIFF4/tif_dirinfo.c Source/LibTIFF4/tif_dirread.c Source/LibTIFF4/tif_dirwrite.c Source/LibTIFF4/tif_dumpmode.c Source/LibTIFF4/tif_error.c Source/LibTIFF4/tif_extension.c Source/LibTIFF4/tif_fax3.c Source/LibTIFF4/tif_fax3sm.c Source/LibTIFF4/tif_flush.c Source/LibTIFF4/tif_getimage.c Source/LibTIFF4/tif_jpeg.c Source/LibTIFF4/tif_luv.c Source/LibTIFF4/tif_lzma.c Source/LibTIFF4/tif_lzw.c Source/LibTIFF4/tif_next.c Source/LibTIFF4/tif_ojpeg.c Source/LibTIFF4/tif_open.c Source/LibTIFF4/tif_packbits.c Source/LibTIFF4/tif_pixarlog.c Source/LibTIFF4/tif_predict.c Source/LibTIFF4/tif_print.c Source/LibTIFF4/tif_read.c Source/LibTIFF4/tif_strip.c Source/LibTIFF4/tif_swab.c Source/LibTIFF4/tif_thunder.c Source/LibTIFF4/tif_tile.c Source/LibTIFF4/tif_version.c Source/LibTIFF4/tif_warning.c Source/LibTIFF4/tif_write.c Source/LibTIFF4/tif_zip.c Source/ZLib/adler32.c Source/ZLib/compress.c Source/ZLib/crc32.c Source/ZLib/deflate.c Source/ZLib/gzclose.c Source/ZLib/gzlib.c Source/ZLib/gzread.c Source/ZLib/gzwrite.c Source/ZLib/infback.c Source/ZLib/inffast.c Source/ZLib/inflate.c Source/ZLib/inftrees.c Source/ZLib/trees.c Source/ZLib/uncompr.c Source/ZLib/zutil.c Source/LibOpenJPEG/bio.c Source/LibOpenJPEG/cio.c Source/LibOpenJPEG/dwt.c Source/LibOpenJPEG/event.c Source/LibOpenJPEG/function_list.c Source/LibOpenJPEG/image.c Source/LibOpenJPEG/invert.c Source/LibOpenJPEG/j2k.c Source/LibOpenJPEG/jp2.c Source/LibOpenJPEG/mct.c Source/LibOpenJPEG/mqc.c Source/LibOpenJPEG/openjpeg.c Source/LibOpenJPEG/opj_clock.c Source/LibOpenJPEG/pi.c Source/LibOpenJPEG/raw.c Source/LibOpenJPEG/t1.c Source/LibOpenJPEG/t2.c Source/LibOpenJPEG/tcd.c Source/LibOpenJPEG/tgt.c Source/OpenEXR/IexMath/IexMathFpu.cpp Source/OpenEXR/IlmImf/b44ExpLogTable.cpp Source/OpenEXR/IlmImf/ImfAcesFile.cpp Source/OpenEXR/IlmImf/ImfAttribute.cpp Source/OpenEXR/IlmImf/ImfB44Compressor.cpp Source/OpenEXR/IlmImf/ImfBoxAttribute.cpp Source/OpenEXR/IlmImf/ImfChannelList.cpp Source/OpenEXR/IlmImf/ImfChannelListAttribute.cpp Source/OpenEXR/IlmImf/ImfChromaticities.cpp Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.cpp Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.cpp Source/OpenEXR/IlmImf/ImfCompressionAttribute.cpp Source/OpenEXR/IlmImf/ImfCompressor.cpp Source/OpenEXR/IlmImf/ImfConvert.cpp Source/OpenEXR/IlmImf/ImfCRgbaFile.cpp Source/OpenEXR/IlmImf/ImfDeepCompositing.cpp Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfDoubleAttribute.cpp Source/OpenEXR/IlmImf/ImfDwaCompressor.cpp Source/OpenEXR/IlmImf/ImfEnvmap.cpp Source/OpenEXR/IlmImf/ImfEnvmapAttribute.cpp Source/OpenEXR/IlmImf/ImfFastHuf.cpp Source/OpenEXR/IlmImf/ImfFloatAttribute.cpp Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfFramesPerSecond.cpp Source/OpenEXR/IlmImf/ImfGenericInputFile.cpp Source/OpenEXR/IlmImf/ImfGenericOutputFile.cpp Source/OpenEXR/IlmImf/ImfHeader.cpp Source/OpenEXR/IlmImf/ImfHuf.cpp Source/OpenEXR/IlmImf/ImfInputFile.cpp Source/OpenEXR/IlmImf/ImfInputPart.cpp Source/OpenEXR/IlmImf/ImfInputPartData.cpp Source/OpenEXR/IlmImf/ImfIntAttribute.cpp Source/OpenEXR/IlmImf/ImfIO.cpp Source/OpenEXR/IlmImf/ImfKeyCode.cpp Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfLineOrderAttribute.cpp Source/OpenEXR/IlmImf/ImfLut.cpp Source/OpenEXR/IlmImf/ImfMatrixAttribute.cpp Source/OpenEXR/IlmImf/ImfMisc.cpp Source/OpenEXR/IlmImf/ImfMultiPartInputFile.cpp Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.cpp Source/OpenEXR/IlmImf/ImfMultiView.cpp Source/OpenEXR/IlmImf/ImfOpaqueAttribute.cpp Source/OpenEXR/IlmImf/ImfOutputFile.cpp Source/OpenEXR/IlmImf/ImfOutputPart.cpp Source/OpenEXR/IlmImf/ImfOutputPartData.cpp Source/OpenEXR/IlmImf/ImfPartType.cpp Source/OpenEXR/IlmImf/ImfPizCompressor.cpp Source/OpenEXR/IlmImf/ImfPreviewImage.cpp Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.cpp Source/OpenEXR/IlmImf/ImfPxr24Compressor.cpp Source/OpenEXR/IlmImf/ImfRational.cpp Source/OpenEXR/IlmImf/ImfRationalAttribute.cpp Source/OpenEXR/IlmImf/ImfRgbaFile.cpp Source/OpenEXR/IlmImf/ImfRgbaYca.cpp Source/OpenEXR/IlmImf/ImfRle.cpp Source/OpenEXR/IlmImf/ImfRleCompressor.cpp Source/OpenEXR/IlmImf/ImfScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfStandardAttributes.cpp Source/OpenEXR/IlmImf/ImfStdIO.cpp Source/OpenEXR/IlmImf/ImfStringAttribute.cpp Source/OpenEXR/IlmImf/ImfStringVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfSystemSpecific.cpp Source/OpenEXR/IlmImf/ImfTestFile.cpp Source/OpenEXR/IlmImf/ImfThreading.cpp Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.cpp Source/OpenEXR/IlmImf/ImfTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfTiledMisc.cpp Source/OpenEXR/IlmImf/ImfTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfTiledRgbaFile.cpp Source/OpenEXR/IlmImf/ImfTileOffsets.cpp Source/OpenEXR/IlmImf/ImfTimeCode.cpp Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfVecAttribute.cpp Source/OpenEXR/IlmImf/ImfVersion.cpp Source/OpenEXR/IlmImf/ImfWav.cpp Source/OpenEXR/IlmImf/ImfZip.cpp Source/OpenEXR/IlmImf/ImfZipCompressor.cpp Source/OpenEXR/Imath/ImathBox.cpp Source/OpenEXR/Imath/ImathColorAlgo.cpp Source/OpenEXR/Imath/ImathFun.cpp Source/OpenEXR/Imath/ImathMatrixAlgo.cpp Source/OpenEXR/Imath/ImathRandom.cpp Source/OpenEXR/Imath/ImathShear.cpp Source/OpenEXR/Imath/ImathVec.cpp Source/OpenEXR/Iex/IexBaseExc.cpp Source/OpenEXR/Iex/IexThrowErrnoExc.cpp Source/OpenEXR/Half/half.cpp Source/OpenEXR/IlmThread/IlmThread.cpp Source/OpenEXR/IlmThread/IlmThreadMutex.cpp Source/OpenEXR/IlmThread/IlmThreadPool.cpp Source/OpenEXR/IlmThread/IlmThreadSemaphore.cpp Source/OpenEXR/IexMath/IexMathFloatExc.cpp Source/LibRawLite/internal/dcraw_common.cpp Source/LibRawLite/internal/dcraw_fileio.cpp Source/LibRawLite/internal/demosaic_packs.cpp Source/LibRawLite/src/libraw_c_api.cpp Source/LibRawLite/src/libraw_cxx.cpp Source/LibRawLite/src/libraw_datastream.cpp Source/LibWebP/src/dec/alpha_dec.c Source/LibWebP/src/dec/buffer_dec.c Source/LibWebP/src/dec/frame_dec.c Source/LibWebP/src/dec/idec_dec.c Source/LibWebP/src/dec/io_dec.c Source/LibWebP/src/dec/quant_dec.c Source/LibWebP/src/dec/tree_dec.c Source/LibWebP/src/dec/vp8l_dec.c Source/LibWebP/src/dec/vp8_dec.c Source/LibWebP/src/dec/webp_dec.c Source/LibWebP/src/demux/anim_decode.c Source/LibWebP/src/demux/demux.c Source/LibWebP/src/dsp/alpha_processing.c Source/LibWebP/src/dsp/alpha_processing_mips_dsp_r2.c Source/LibWebP/src/dsp/alpha_processing_neon.c Source/LibWebP/src/dsp/alpha_processing_sse2.c Source/LibWebP/src/dsp/alpha_processing_sse41.c Source/LibWebP/src/dsp/cost.c Source/LibWebP/src/dsp/cost_mips32.c Source/LibWebP/src/dsp/cost_mips_dsp_r2.c Source/LibWebP/src/dsp/cost_neon.c Source/LibWebP/src/dsp/cost_sse2.c Source/LibWebP/src/dsp/cpu.c Source/LibWebP/src/dsp/dec.c Source/LibWebP/src/dsp/dec_clip_tables.c Source/LibWebP/src/dsp/dec_mips32.c Source/LibWebP/src/dsp/dec_mips_dsp_r2.c Source/LibWebP/src/dsp/dec_msa.c Source/LibWebP/src/dsp/dec_neon.c Source/LibWebP/src/dsp/dec_sse2.c Source/LibWebP/src/dsp/dec_sse41.c Source/LibWebP/src/dsp/enc.c Source/LibWebP/src/dsp/enc_avx2.c Source/LibWebP/src/dsp/enc_mips32.c Source/LibWebP/src/dsp/enc_mips_dsp_r2.c Source/LibWebP/src/dsp/enc_msa.c Source/LibWebP/src/dsp/enc_neon.c Source/LibWebP/src/dsp/enc_sse2.c Source/LibWebP/src/dsp/enc_sse41.c Source/LibWebP/src/dsp/filters.c Source/LibWebP/src/dsp/filters_mips_dsp_r2.c Source/LibWebP/src/dsp/filters_msa.c Source/LibWebP/src/dsp/filters_neon.c Source/LibWebP/src/dsp/filters_sse2.c Source/LibWebP/src/dsp/lossless.c Source/LibWebP/src/dsp/lossless_enc.c Source/LibWebP/src/dsp/lossless_enc_mips32.c Source/LibWebP/src/dsp/lossless_enc_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_enc_msa.c Source/LibWebP/src/dsp/lossless_enc_neon.c Source/LibWebP/src/dsp/lossless_enc_sse2.c Source/LibWebP/src/dsp/lossless_enc_sse41.c Source/LibWebP/src/dsp/lossless_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_msa.c Source/LibWebP/src/dsp/lossless_neon.c Source/LibWebP/src/dsp/lossless_sse2.c Source/LibWebP/src/dsp/rescaler.c Source/LibWebP/src/dsp/rescaler_mips32.c Source/LibWebP/src/dsp/rescaler_mips_dsp_r2.c Source/LibWebP/src/dsp/rescaler_msa.c Source/LibWebP/src/dsp/rescaler_neon.c Source/LibWebP/src/dsp/rescaler_sse2.c Source/LibWebP/src/dsp/ssim.c Source/LibWebP/src/dsp/ssim_sse2.c Source/LibWebP/src/dsp/upsampling.c Source/LibWebP/src/dsp/upsampling_mips_dsp_r2.c Source/LibWebP/src/dsp/upsampling_msa.c Source/LibWebP/src/dsp/upsampling_neon.c Source/LibWebP/src/dsp/upsampling_sse2.c Source/LibWebP/src/dsp/upsampling_sse41.c Source/LibWebP/src/dsp/yuv.c Source/LibWebP/src/dsp/yuv_mips32.c Source/LibWebP/src/dsp/yuv_mips_dsp_r2.c Source/LibWebP/src/dsp/yuv_neon.c Source/LibWebP/src/dsp/yuv_sse2.c Source/LibWebP/src/dsp/yuv_sse41.c Source/LibWebP/src/enc/alpha_enc.c Source/LibWebP/src/enc/analysis_enc.c Source/LibWebP/src/enc/backward_references_cost_enc.c Source/LibWebP/src/enc/backward_references_enc.c Source/LibWebP/src/enc/config_enc.c Source/LibWebP/src/enc/cost_enc.c Source/LibWebP/src/enc/filter_enc.c Source/LibWebP/src/enc/frame_enc.c Source/LibWebP/src/enc/histogram_enc.c Source/LibWebP/src/enc/iterator_enc.c Source/LibWebP/src/enc/near_lossless_enc.c Source/LibWebP/src/enc/picture_csp_enc.c Source/LibWebP/src/enc/picture_enc.c Source/LibWebP/src/enc/picture_psnr_enc.c Source/LibWebP/src/enc/picture_rescale_enc.c Source/LibWebP/src/enc/picture_tools_enc.c Source/LibWebP/src/enc/predictor_enc.c Source/LibWebP/src/enc/quant_enc.c Source/LibWebP/src/enc/syntax_enc.c Source/LibWebP/src/enc/token_enc.c Source/LibWebP/src/enc/tree_enc.c Source/LibWebP/src/enc/vp8l_enc.c Source/LibWebP/src/enc/webp_enc.c Source/LibWebP/src/mux/anim_encode.c Source/LibWebP/src/mux/muxedit.c Source/LibWebP/src/mux/muxinternal.c Source/LibWebP/src/mux/muxread.c Source/LibWebP/src/utils/bit_reader_utils.c Source/LibWebP/src/utils/bit_writer_utils.c Source/LibWebP/src/utils/color_cache_utils.c Source/LibWebP/src/utils/filters_utils.c Source/LibWebP/src/utils/huffman_encode_utils.c Source/LibWebP/src/utils/huffman_utils.c Source/LibWebP/src/utils/quant_levels_dec_utils.c Source/LibWebP/src/utils/quant_levels_utils.c Source/LibWebP/src/utils/random_utils.c Source/LibWebP/src/utils/rescaler_utils.c Source/LibWebP/src/utils/thread_utils.c Source/LibWebP/src/utils/utils.c Source/LibJXR/image/decode/decode.c Source/LibJXR/image/decode/JXRTranscode.c Source/LibJXR/image/decode/postprocess.c Source/LibJXR/image/decode/segdec.c Source/LibJXR/image/decode/strdec.c Source/LibJXR/image/decode/strdec_x86.c Source/LibJXR/image/decode/strInvTransform.c Source/LibJXR/image/decode/strPredQuantDec.c Source/LibJXR/image/encode/encode.c Source/LibJXR/image/encode/segenc.c Source/LibJXR/image/encode/strenc.c Source/LibJXR/image/encode/strenc_x86.c Source/LibJXR/image/encode/strFwdTransform.c Source/LibJXR/image/encode/strPredQuantEnc.c Source/LibJXR/image/sys/adapthuff.c Source/LibJXR/image/sys/image.c Source/LibJXR/image/sys/strcodec.c Source/LibJXR/image/sys/strPredQuant.c Source/LibJXR/image/sys/strTransform.c Source/LibJXR/jxrgluelib/JXRGlue.c Source/LibJXR/jxrgluelib/JXRGlueJxr.c Source/LibJXR/jxrgluelib/JXRGluePFC.c Source/LibJXR/jxrgluelib/JXRMeta.c 
--INCLS = ./Examples/OpenGL/TextureManager/TextureManager.h ./Examples/Plugin/PluginCradle.h ./Examples/Generic/FIIO_Mem.h ./Source/MapIntrospector.h ./Source/CacheFile.h ./Source/LibJPEG/cderror.h ./Source/LibJPEG/jmorecfg.h ./Source/LibJPEG/transupp.h ./Source/LibJPEG/jpeglib.h ./Source/LibJPEG/jversion.h ./Source/LibJPEG/jinclude.h ./Source/LibJPEG/jerror.h ./Source/LibJPEG/jconfig.h ./Source/LibJPEG/jdct.h ./Source/LibJPEG/cdjpeg.h ./Source/LibJPEG/jmemsys.h ./Source/LibJPEG/jpegint.h ./Source/Plugin.h ./Source/Metadata/FreeImageTag.h ./Source/Metadata/FIRational.h ./Source/ToneMapping.h ./Source/LibTIFF4/tiffconf.vc.h ./Source/LibTIFF4/tif_config.h ./Source/LibTIFF4/tif_fax3.h ./Source/LibTIFF4/tif_config.vc.h ./Source/LibTIFF4/tiffvers.h ./Source/LibTIFF4/tiffio.h ./Source/LibTIFF4/tif_config.wince.h ./Source/LibTIFF4/tiffconf.wince.h ./Source/LibTIFF4/tiff.h ./Source/LibTIFF4/uvcode.h ./Source/LibTIFF4/tif_dir.h ./Source/LibTIFF4/t4.h ./Source/LibTIFF4/tif_predict.h ./Source/LibTIFF4/tiffiop.h ./Source/LibTIFF4/tiffconf.h ./Source/LibWebP/src/dec/alphai_dec.h ./Source/LibWebP/src/dec/common_dec.h ./Source/LibWebP/src/dec/vp8i_dec.h ./Source/LibWebP/src/dec/webpi_dec.h ./Source/LibWebP/src/dec/vp8li_dec.h ./Source/LibWebP/src/dec/vp8_dec.h ./Source/LibWebP/src/enc/cost_enc.h ./Source/LibWebP/src/enc/histogram_enc.h ./Source/LibWebP/src/enc/vp8li_enc.h ./Source/LibWebP/src/enc/backward_references_enc.h ./Source/LibWebP/src/enc/vp8i_enc.h ./Source/LibWebP/src/utils/bit_reader_utils.h ./Source/LibWebP/src/utils/endian_inl_utils.h ./Source/LibWebP/src/utils/huffman_encode_utils.h ./Source/LibWebP/src/utils/bit_writer_utils.h ./Source/LibWebP/src/utils/random_utils.h ./Source/LibWebP/src/utils/bit_reader_inl_utils.h ./Source/LibWebP/src/utils/quant_levels_dec_utils.h ./Source/LibWebP/src/utils/color_cache_utils.h ./Source/LibWebP/src/utils/thread_utils.h ./Source/LibWebP/src/utils/filters_utils.h ./Source/LibWebP/src/utils/rescaler_utils.h ./Source/LibWebP/src/utils/huffman_utils.h ./Source/LibWebP/src/utils/quant_levels_utils.h ./Source/LibWebP/src/utils/utils.h ./Source/LibWebP/src/mux/muxi.h ./Source/LibWebP/src/mux/animi.h ./Source/LibWebP/src/webp/mux.h ./Source/LibWebP/src/webp/types.h ./Source/LibWebP/src/webp/format_constants.h ./Source/LibWebP/src/webp/demux.h ./Source/LibWebP/src/webp/encode.h ./Source/LibWebP/src/webp/decode.h ./Source/LibWebP/src/webp/mux_types.h ./Source/LibWebP/src/dsp/msa_macro.h ./Source/LibWebP/src/dsp/yuv.h ./Source/LibWebP/src/dsp/common_sse41.h ./Source/LibWebP/src/dsp/neon.h ./Source/LibWebP/src/dsp/common_sse2.h ./Source/LibWebP/src/dsp/quant.h ./Source/LibWebP/src/dsp/lossless_common.h ./Source/LibWebP/src/dsp/mips_macro.h ./Source/LibWebP/src/dsp/dsp.h ./Source/LibWebP/src/dsp/lossless.h ./Source/FreeImageIO.h ./Source/FreeImage.h ./Source/FreeImage/PSDParser.h ./Source/FreeImage/J2KHelper.h ./Source/ZLib/trees.h ./Source/ZLib/inffixed.h ./Source/ZLib/inflate.h ./Source/ZLib/zlib.h ./Source/ZLib/zconf.h ./Source/ZLib/inftrees.h ./Source/ZLib/zutil.h ./Source/ZLib/inffast.h ./Source/ZLib/crc32.h ./Source/ZLib/gzguts.h ./Source/ZLib/deflate.h ./Source/Quantizers.h ./Source/LibOpenJPEG/cio.h ./Source/LibOpenJPEG/mqc.h ./Source/LibOpenJPEG/cidx_manager.h ./Source/LibOpenJPEG/function_list.h ./Source/LibOpenJPEG/indexbox_manager.h ./Source/LibOpenJPEG/opj_config.h ./Source/LibOpenJPEG/opj_clock.h ./Source/LibOpenJPEG/event.h ./Source/LibOpenJPEG/opj_codec.h ./Source/LibOpenJPEG/pi.h ./Source/LibOpenJPEG/dwt.h ./Source/LibOpenJPEG/tgt.h ./Source/LibOpenJPEG/invert.h ./Source/LibOpenJPEG/opj_malloc.h ./Source/LibOpenJPEG/raw.h ./Source/LibOpenJPEG/jp2.h ./Source/LibOpenJPEG/bio.h ./Source/LibOpenJPEG/t2.h ./Source/LibOpenJPEG/mct.h ./Source/LibOpenJPEG/t1.h ./Source/LibOpenJPEG/t1_luts.h ./Source/LibOpenJPEG/j2k.h ./Source/LibOpenJPEG/opj_stdint.h ./Source/LibOpenJPEG/opj_config_private.h ./Source/LibOpenJPEG/opj_includes.h ./Source/LibOpenJPEG/opj_intmath.h ./Source/LibOpenJPEG/image.h ./Source/LibOpenJPEG/opj_inttypes.h ./Source/LibOpenJPEG/openjpeg.h ./Source/LibOpenJPEG/tcd.h ./Source/LibRawLite/libraw/libraw_version.h ./Source/LibRawLite/libraw/libraw_const.h ./Source/LibRawLite/libraw/libraw.h ./Source/LibRawLite/libraw/libraw_types.h ./Source/LibRawLite/libraw/libraw_alloc.h ./Source/LibRawLite/libraw/libraw_datastream.h ./Source/LibRawLite/libraw/libraw_internal.h ./Source/LibRawLite/internal/dmp_include.h ./Source/LibRawLite/internal/libraw_const.h ./Source/LibRawLite/internal/var_defines.h ./Source/LibRawLite/internal/x3f_tools.h ./Source/LibRawLite/internal/defines.h ./Source/LibRawLite/internal/dcraw_fileio_defs.h ./Source/LibRawLite/internal/dcraw_defs.h ./Source/LibRawLite/internal/libraw_cxx_defs.h ./Source/LibRawLite/internal/libraw_internal_funcs.h ./Source/LibPNG/png.h ./Source/LibPNG/pngdebug.h ./Source/LibPNG/pnginfo.h ./Source/LibPNG/pnglibconf.h ./Source/LibPNG/pngstruct.h ./Source/LibPNG/pngpriv.h ./Source/LibPNG/pngconf.h ./Source/LibJXR/common/include/wmspecstrings_strict.h ./Source/LibJXR/common/include/wmspecstring.h ./Source/LibJXR/common/include/guiddef.h ./Source/LibJXR/common/include/wmsal.h ./Source/LibJXR/common/include/wmspecstrings_undef.h ./Source/LibJXR/common/include/wmspecstrings_adt.h ./Source/LibJXR/jxrgluelib/JXRGlue.h ./Source/LibJXR/jxrgluelib/JXRMeta.h ./Source/LibJXR/image/sys/xplatform_image.h ./Source/LibJXR/image/sys/strTransform.h ./Source/LibJXR/image/sys/windowsmediaphoto.h ./Source/LibJXR/image/sys/strcodec.h ./Source/LibJXR/image/sys/ansi.h ./Source/LibJXR/image/sys/perfTimer.h ./Source/LibJXR/image/sys/common.h ./Source/LibJXR/image/decode/decode.h ./Source/LibJXR/image/x86/x86.h ./Source/LibJXR/image/encode/encode.h ./Source/Utilities.h ./Source/FreeImageToolkit/Resize.h ./Source/FreeImageToolkit/Filters.h ./Source/OpenEXR/OpenEXRConfig.h ./Source/OpenEXR/IexMath/IexMathFloatExc.h ./Source/OpenEXR/IexMath/IexMathFpu.h ./Source/OpenEXR/IexMath/IexMathIeeeExc.h ./Source/OpenEXR/IlmThread/IlmThread.h ./Source/OpenEXR/IlmThread/IlmThreadMutex.h ./Source/OpenEXR/IlmThread/IlmThreadForward.h ./Source/OpenEXR/IlmThread/IlmThreadExport.h ./Source/OpenEXR/IlmThread/IlmThreadSemaphore.h ./Source/OpenEXR/IlmThread/IlmThreadPool.h ./Source/OpenEXR/IlmThread/IlmThreadNamespace.h ./Source/OpenEXR/Iex/IexErrnoExc.h ./Source/OpenEXR/Iex/IexMacros.h ./Source/OpenEXR/Iex/IexForward.h ./Source/OpenEXR/Iex/IexExport.h ./Source/OpenEXR/Iex/IexThrowErrnoExc.h ./Source/OpenEXR/Iex/IexNamespace.h ./Source/OpenEXR/Iex/IexMathExc.h ./Source/OpenEXR/Iex/IexBaseExc.h ./Source/OpenEXR/Iex/Iex.h ./Source/OpenEXR/Imath/ImathColorAlgo.h ./Source/OpenEXR/Imath/ImathNamespace.h ./Source/OpenEXR/Imath/ImathVec.h ./Source/OpenEXR/Imath/ImathGL.h ./Source/OpenEXR/Imath/ImathSphere.h ./Source/OpenEXR/Imath/ImathEuler.h ./Source/OpenEXR/Imath/ImathLimits.h ./Source/OpenEXR/Imath/ImathQuat.h ./Source/OpenEXR/Imath/ImathRoots.h ./Source/OpenEXR/Imath/ImathFun.h ./Source/OpenEXR/Imath/ImathExport.h ./Source/OpenEXR/Imath/ImathShear.h ./Source/OpenEXR/Imath/ImathPlane.h ./Source/OpenEXR/Imath/ImathForward.h ./Source/OpenEXR/Imath/ImathHalfLimits.h ./Source/OpenEXR/Imath/ImathFrustumTest.h ./Source/OpenEXR/Imath/ImathMatrixAlgo.h ./Source/OpenEXR/Imath/ImathVecAlgo.h ./Source/OpenEXR/Imath/ImathInterval.h ./Source/OpenEXR/Imath/ImathBox.h ./Source/OpenEXR/Imath/ImathFrame.h ./Source/OpenEXR/Imath/ImathColor.h ./Source/OpenEXR/Imath/ImathMath.h ./Source/OpenEXR/Imath/ImathLine.h ./Source/OpenEXR/Imath/ImathBoxAlgo.h ./Source/OpenEXR/Imath/ImathFrustum.h ./Source/OpenEXR/Imath/ImathExc.h ./Source/OpenEXR/Imath/ImathLineAlgo.h ./Source/OpenEXR/Imath/ImathRandom.h ./Source/OpenEXR/Imath/ImathInt64.h ./Source/OpenEXR/Imath/ImathGLU.h ./Source/OpenEXR/Imath/ImathPlatform.h ./Source/OpenEXR/Imath/ImathMatrix.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.h ./Source/OpenEXR/IlmImf/ImfIO.h ./Source/OpenEXR/IlmImf/ImfStdIO.h ./Source/OpenEXR/IlmImf/ImfPreviewImage.h ./Source/OpenEXR/IlmImf/ImfAttribute.h ./Source/OpenEXR/IlmImf/ImfDwaCompressor.h ./Source/OpenEXR/IlmImf/ImfChannelList.h ./Source/OpenEXR/IlmImf/ImfInt64.h ./Source/OpenEXR/IlmImf/ImfGenericOutputFile.h ./Source/OpenEXR/IlmImf/ImfHuf.h ./Source/OpenEXR/IlmImf/ImfOptimizedPixelReading.h ./Source/OpenEXR/IlmImf/b44ExpLogTable.h ./Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.h ./Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.h ./Source/OpenEXR/IlmImf/ImfFastHuf.h ./Source/OpenEXR/IlmImf/dwaLookups.h ./Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.h ./Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.h ./Source/OpenEXR/IlmImf/ImfInputPartData.h ./Source/OpenEXR/IlmImf/ImfAcesFile.h ./Source/OpenEXR/IlmImf/ImfRgbaYca.h ./Source/OpenEXR/IlmImf/ImfThreading.h ./Source/OpenEXR/IlmImf/ImfWav.h ./Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.h ./Source/OpenEXR/IlmImf/ImfDwaCompressorSimd.h ./Source/OpenEXR/IlmImf/ImfNamespace.h ./Source/OpenEXR/IlmImf/ImfMatrixAttribute.h ./Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.h ./Source/OpenEXR/IlmImf/ImfInputFile.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.h ./Source/OpenEXR/IlmImf/ImfFloatAttribute.h ./Source/OpenEXR/IlmImf/ImfPxr24Compressor.h ./Source/OpenEXR/IlmImf/ImfCompressor.h ./Source/OpenEXR/IlmImf/ImfCRgbaFile.h ./Source/OpenEXR/IlmImf/ImfOutputFile.h ./Source/OpenEXR/IlmImf/ImfTiledInputPart.h ./Source/OpenEXR/IlmImf/ImfRationalAttribute.h ./Source/OpenEXR/IlmImf/ImfTileOffsets.h ./Source/OpenEXR/IlmImf/ImfInputStreamMutex.h ./Source/OpenEXR/IlmImf/ImfIntAttribute.h ./Source/OpenEXR/IlmImf/ImfTiledOutputPart.h ./Source/OpenEXR/IlmImf/ImfPartType.h ./Source/OpenEXR/IlmImf/ImfTiledInputFile.h ./Source/OpenEXR/IlmImf/ImfStringAttribute.h ./Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.h ./Source/OpenEXR/IlmImf/ImfRleCompressor.h ./Source/OpenEXR/IlmImf/ImfChromaticities.h ./Source/OpenEXR/IlmImf/ImfTestFile.h ./Source/OpenEXR/IlmImf/ImfInputPart.h ./Source/OpenEXR/IlmImf/ImfXdr.h ./Source/OpenEXR/IlmImf/ImfOutputPart.h ./Source/OpenEXR/IlmImf/ImfExport.h ./Source/OpenEXR/IlmImf/ImfRgba.h ./Source/OpenEXR/IlmImf/ImfLineOrder.h ./Source/OpenEXR/IlmImf/ImfCompression.h ./Source/OpenEXR/IlmImf/ImfTiledMisc.h ./Source/OpenEXR/IlmImf/ImfFramesPerSecond.h ./Source/OpenEXR/IlmImf/ImfZipCompressor.h ./Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.h ./Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.h ./Source/OpenEXR/IlmImf/ImfMultiPartInputFile.h ./Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.h ./Source/OpenEXR/IlmImf/ImfRational.h ./Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.h ./Source/OpenEXR/IlmImf/ImfChannelListAttribute.h ./Source/OpenEXR/IlmImf/ImfDeepCompositing.h ./Source/OpenEXR/IlmImf/ImfOutputPartData.h ./Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.h ./Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.h ./Source/OpenEXR/IlmImf/ImfFrameBuffer.h ./Source/OpenEXR/IlmImf/ImfDeepImageState.h ./Source/OpenEXR/IlmImf/ImfOpaqueAttribute.h ./Source/OpenEXR/IlmImf/ImfEnvmapAttribute.h ./Source/OpenEXR/IlmImf/ImfPizCompressor.h ./Source/OpenEXR/IlmImf/ImfStringVectorAttribute.h ./Source/OpenEXR/IlmImf/ImfMultiView.h ./Source/OpenEXR/IlmImf/ImfAutoArray.h ./Source/OpenEXR/IlmImf/ImfLut.h ./Source/OpenEXR/IlmImf/ImfTiledOutputFile.h ./Source/OpenEXR/IlmImf/ImfBoxAttribute.h ./Source/OpenEXR/IlmImf/ImfCheckedArithmetic.h ./Source/OpenEXR/IlmImf/ImfB44Compressor.h ./Source/OpenEXR/IlmImf/ImfSystemSpecific.h ./Source/OpenEXR/IlmImf/ImfRgbaFile.h ./Source/OpenEXR/IlmImf/ImfTimeCode.h ./Source/OpenEXR/IlmImf/ImfVecAttribute.h ./Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.h ./Source/OpenEXR/IlmImf/ImfZip.h ./Source/OpenEXR/IlmImf/ImfConvert.h ./Source/OpenEXR/IlmImf/ImfMisc.h ./Source/OpenEXR/IlmImf/ImfHeader.h ./Source/OpenEXR/IlmImf/ImfForward.h ./Source/OpenEXR/IlmImf/ImfPartHelper.h ./Source/OpenEXR/IlmImf/ImfKeyCode.h ./Source/OpenEXR/IlmImf/ImfVersion.h ./Source/OpenEXR/IlmImf/ImfStandardAttributes.h ./Source/OpenEXR/IlmImf/ImfPixelType.h ./Source/OpenEXR/IlmImf/ImfName.h ./Source/OpenEXR/IlmImf/ImfSimd.h ./Source/OpenEXR/IlmImf/ImfArray.h ./Source/OpenEXR/IlmImf/ImfOutputStreamMutex.h ./Source/OpenEXR/IlmImf/ImfTiledRgbaFile.h ./Source/OpenEXR/IlmImf/ImfRle.h ./Source/OpenEXR/IlmImf/ImfScanLineInputFile.h ./Source/OpenEXR/IlmImf/ImfDoubleAttribute.h ./Source/OpenEXR/IlmImf/ImfGenericInputFile.h ./Source/OpenEXR/IlmImf/ImfEnvmap.h ./Source/OpenEXR/IlmImf/ImfLineOrderAttribute.h ./Source/OpenEXR/IlmImf/ImfTileDescription.h ./Source/OpenEXR/IlmImf/ImfCompressionAttribute.h ./Source/OpenEXR/IlmBaseConfig.h ./Source/OpenEXR/Half/halfFunction.h ./Source/OpenEXR/Half/halfExport.h ./Source/OpenEXR/Half/half.h ./Source/OpenEXR/Half/eLut.h ./Source/OpenEXR/Half/halfLimits.h ./Source/OpenEXR/Half/toFloat.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/FreeImageIO.Net.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/Stdafx.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/resource.h ./Wrapper/FreeImagePlus/dist/x64/FreeImagePlus.h ./Wrapper/FreeImagePlus/FreeImagePlus.h ./Wrapper/FreeImagePlus/test/fipTest.h ./TestAPI/TestSuite.h
+-SRCS = ./Source/FreeImage/BitmapAccess.cpp ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/ConversionRGBA16.cpp ./Source/FreeImage/ConversionRGBAF.cpp ./Source/FreeImage/FreeImage.cpp ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp ./Source/FreeImage/GetType.cpp ./Source/FreeImage/LFPQuantizer.cpp ./Source/FreeImage/MemoryIO.cpp ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp ./Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp ./Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp ./Source/FreeImage/PluginJPEG.cpp ./Source/FreeImage/PluginJXR.cpp ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp ./Source/FreeImage/PluginWBMP.cpp ./Source/FreeImage/PluginWebP.cpp ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp ./Source/FreeImage/ConversionRGB16.cpp ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp ./Source/FreeImage/ToneMapping.cpp ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp ./Source/FreeImageToolkit/Background.cpp ./Source/FreeImageToolkit/BSplineRotate.cpp ./Source/FreeImageToolkit/Channels.cpp ./Source/FreeImageToolkit/ClassicRotate.cpp ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp ./Source/FreeImageToolkit/JPEGTransform.cpp ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp Source/LibJPEG/jaricom.c Source/LibJPEG/jcapimin.c Source/LibJPEG/jcapistd.c Source/LibJPEG/jcarith.c Source/LibJPEG/jccoefct.c Source/LibJPEG/jccolor.c Source/LibJPEG/jcdctmgr.c Source/LibJPEG/jchuff.c Source/LibJPEG/jcinit.c Source/LibJPEG/jcmainct.c Source/LibJPEG/jcmarker.c Source/LibJPEG/jcmaster.c Source/LibJPEG/jcomapi.c Source/LibJPEG/jcparam.c Source/LibJPEG/jcprepct.c Source/LibJPEG/jcsample.c Source/LibJPEG/jctrans.c Source/LibJPEG/jdapimin.c Source/LibJPEG/jdapistd.c Source/LibJPEG/jdarith.c Source/LibJPEG/jdatadst.c Source/LibJPEG/jdatasrc.c Source/LibJPEG/jdcoefct.c Source/LibJPEG/jdcolor.c Source/LibJPEG/jddctmgr.c Source/LibJPEG/jdhuff.c Source/LibJPEG/jdinput.c Source/LibJPEG/jdmainct.c Source/LibJPEG/jdmarker.c Source/LibJPEG/jdmaster.c Source/LibJPEG/jdmerge.c Source/LibJPEG/jdpostct.c Source/LibJPEG/jdsample.c Source/LibJPEG/jdtrans.c Source/LibJPEG/jerror.c Source/LibJPEG/jfdctflt.c Source/LibJPEG/jfdctfst.c Source/LibJPEG/jfdctint.c Source/LibJPEG/jidctflt.c Source/LibJPEG/jidctfst.c Source/LibJPEG/jidctint.c Source/LibJPEG/jmemmgr.c Source/LibJPEG/jmemnobs.c Source/LibJPEG/jquant1.c Source/LibJPEG/jquant2.c Source/LibJPEG/jutils.c Source/LibJPEG/transupp.c Source/LibPNG/png.c Source/LibPNG/pngerror.c Source/LibPNG/pngget.c Source/LibPNG/pngmem.c Source/LibPNG/pngpread.c Source/LibPNG/pngread.c Source/LibPNG/pngrio.c Source/LibPNG/pngrtran.c Source/LibPNG/pngrutil.c Source/LibPNG/pngset.c Source/LibPNG/pngtrans.c Source/LibPNG/pngwio.c Source/LibPNG/pngwrite.c Source/LibPNG/pngwtran.c Source/LibPNG/pngwutil.c Source/LibTIFF4/tif_aux.c Source/LibTIFF4/tif_close.c Source/LibTIFF4/tif_codec.c Source/LibTIFF4/tif_color.c Source/LibTIFF4/tif_compress.c Source/LibTIFF4/tif_dir.c Source/LibTIFF4/tif_dirinfo.c Source/LibTIFF4/tif_dirread.c Source/LibTIFF4/tif_dirwrite.c Source/LibTIFF4/tif_dumpmode.c Source/LibTIFF4/tif_error.c Source/LibTIFF4/tif_extension.c Source/LibTIFF4/tif_fax3.c Source/LibTIFF4/tif_fax3sm.c Source/LibTIFF4/tif_flush.c Source/LibTIFF4/tif_getimage.c Source/LibTIFF4/tif_jpeg.c Source/LibTIFF4/tif_lerc.c Source/LibTIFF4/tif_luv.c Source/LibTIFF4/tif_lzw.c Source/LibTIFF4/tif_next.c Source/LibTIFF4/tif_ojpeg.c Source/LibTIFF4/tif_open.c Source/LibTIFF4/tif_packbits.c Source/LibTIFF4/tif_pixarlog.c Source/LibTIFF4/tif_predict.c Source/LibTIFF4/tif_print.c Source/LibTIFF4/tif_read.c Source/LibTIFF4/tif_strip.c Source/LibTIFF4/tif_swab.c Source/LibTIFF4/tif_thunder.c Source/LibTIFF4/tif_tile.c Source/LibTIFF4/tif_version.c Source/LibTIFF4/tif_warning.c Source/LibTIFF4/tif_webp.c Source/LibTIFF4/tif_write.c Source/LibTIFF4/tif_zip.c Source/ZLib/adler32.c Source/ZLib/compress.c Source/ZLib/crc32.c Source/ZLib/deflate.c Source/ZLib/gzclose.c Source/ZLib/gzlib.c Source/ZLib/gzread.c Source/ZLib/gzwrite.c Source/ZLib/infback.c Source/ZLib/inffast.c Source/ZLib/inflate.c Source/ZLib/inftrees.c Source/ZLib/trees.c Source/ZLib/uncompr.c Source/ZLib/zutil.c Source/LibOpenJPEG/bio.c Source/LibOpenJPEG/cio.c Source/LibOpenJPEG/dwt.c Source/LibOpenJPEG/event.c Source/LibOpenJPEG/function_list.c Source/LibOpenJPEG/image.c Source/LibOpenJPEG/invert.c Source/LibOpenJPEG/j2k.c Source/LibOpenJPEG/jp2.c Source/LibOpenJPEG/mct.c Source/LibOpenJPEG/mqc.c Source/LibOpenJPEG/openjpeg.c Source/LibOpenJPEG/opj_clock.c Source/LibOpenJPEG/pi.c Source/LibOpenJPEG/raw.c Source/LibOpenJPEG/t1.c Source/LibOpenJPEG/t2.c Source/LibOpenJPEG/tcd.c Source/LibOpenJPEG/tgt.c Source/OpenEXR/IexMath/IexMathFpu.cpp Source/OpenEXR/IlmImf/b44ExpLogTable.cpp Source/OpenEXR/IlmImf/ImfAcesFile.cpp Source/OpenEXR/IlmImf/ImfAttribute.cpp Source/OpenEXR/IlmImf/ImfB44Compressor.cpp Source/OpenEXR/IlmImf/ImfBoxAttribute.cpp Source/OpenEXR/IlmImf/ImfChannelList.cpp Source/OpenEXR/IlmImf/ImfChannelListAttribute.cpp Source/OpenEXR/IlmImf/ImfChromaticities.cpp Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.cpp Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.cpp Source/OpenEXR/IlmImf/ImfCompressionAttribute.cpp Source/OpenEXR/IlmImf/ImfCompressor.cpp Source/OpenEXR/IlmImf/ImfConvert.cpp Source/OpenEXR/IlmImf/ImfCRgbaFile.cpp Source/OpenEXR/IlmImf/ImfDeepCompositing.cpp Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfDoubleAttribute.cpp Source/OpenEXR/IlmImf/ImfDwaCompressor.cpp Source/OpenEXR/IlmImf/ImfEnvmap.cpp Source/OpenEXR/IlmImf/ImfEnvmapAttribute.cpp Source/OpenEXR/IlmImf/ImfFastHuf.cpp Source/OpenEXR/IlmImf/ImfFloatAttribute.cpp Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfFramesPerSecond.cpp Source/OpenEXR/IlmImf/ImfGenericInputFile.cpp Source/OpenEXR/IlmImf/ImfGenericOutputFile.cpp Source/OpenEXR/IlmImf/ImfHeader.cpp Source/OpenEXR/IlmImf/ImfHuf.cpp Source/OpenEXR/IlmImf/ImfInputFile.cpp Source/OpenEXR/IlmImf/ImfInputPart.cpp Source/OpenEXR/IlmImf/ImfInputPartData.cpp Source/OpenEXR/IlmImf/ImfIntAttribute.cpp Source/OpenEXR/IlmImf/ImfIO.cpp Source/OpenEXR/IlmImf/ImfKeyCode.cpp Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfLineOrderAttribute.cpp Source/OpenEXR/IlmImf/ImfLut.cpp Source/OpenEXR/IlmImf/ImfMatrixAttribute.cpp Source/OpenEXR/IlmImf/ImfMisc.cpp Source/OpenEXR/IlmImf/ImfMultiPartInputFile.cpp Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.cpp Source/OpenEXR/IlmImf/ImfMultiView.cpp Source/OpenEXR/IlmImf/ImfOpaqueAttribute.cpp Source/OpenEXR/IlmImf/ImfOutputFile.cpp Source/OpenEXR/IlmImf/ImfOutputPart.cpp Source/OpenEXR/IlmImf/ImfOutputPartData.cpp Source/OpenEXR/IlmImf/ImfPartType.cpp Source/OpenEXR/IlmImf/ImfPizCompressor.cpp Source/OpenEXR/IlmImf/ImfPreviewImage.cpp Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.cpp Source/OpenEXR/IlmImf/ImfPxr24Compressor.cpp Source/OpenEXR/IlmImf/ImfRational.cpp Source/OpenEXR/IlmImf/ImfRationalAttribute.cpp Source/OpenEXR/IlmImf/ImfRgbaFile.cpp Source/OpenEXR/IlmImf/ImfRgbaYca.cpp Source/OpenEXR/IlmImf/ImfRle.cpp Source/OpenEXR/IlmImf/ImfRleCompressor.cpp Source/OpenEXR/IlmImf/ImfScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfStandardAttributes.cpp Source/OpenEXR/IlmImf/ImfStdIO.cpp Source/OpenEXR/IlmImf/ImfStringAttribute.cpp Source/OpenEXR/IlmImf/ImfStringVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfSystemSpecific.cpp Source/OpenEXR/IlmImf/ImfTestFile.cpp Source/OpenEXR/IlmImf/ImfThreading.cpp Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.cpp Source/OpenEXR/IlmImf/ImfTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfTiledMisc.cpp Source/OpenEXR/IlmImf/ImfTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfTiledRgbaFile.cpp Source/OpenEXR/IlmImf/ImfTileOffsets.cpp Source/OpenEXR/IlmImf/ImfTimeCode.cpp Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfVecAttribute.cpp Source/OpenEXR/IlmImf/ImfVersion.cpp Source/OpenEXR/IlmImf/ImfWav.cpp Source/OpenEXR/IlmImf/ImfZip.cpp Source/OpenEXR/IlmImf/ImfZipCompressor.cpp Source/OpenEXR/Imath/ImathBox.cpp Source/OpenEXR/Imath/ImathColorAlgo.cpp Source/OpenEXR/Imath/ImathFun.cpp Source/OpenEXR/Imath/ImathMatrixAlgo.cpp Source/OpenEXR/Imath/ImathRandom.cpp Source/OpenEXR/Imath/ImathShear.cpp Source/OpenEXR/Imath/ImathVec.cpp Source/OpenEXR/Iex/IexBaseExc.cpp Source/OpenEXR/Iex/IexThrowErrnoExc.cpp Source/OpenEXR/Half/half.cpp Source/OpenEXR/IlmThread/IlmThread.cpp Source/OpenEXR/IlmThread/IlmThreadMutex.cpp Source/OpenEXR/IlmThread/IlmThreadPool.cpp Source/OpenEXR/IlmThread/IlmThreadSemaphore.cpp Source/OpenEXR/IexMath/IexMathFloatExc.cpp Source/LibRawLite/src/decoders/canon_600.cpp Source/LibRawLite/src/decoders/crx.cpp Source/LibRawLite/src/decoders/decoders_dcraw.cpp Source/LibRawLite/src/decoders/decoders_libraw.cpp Source/LibRawLite/src/decoders/decoders_libraw_dcrdefs.cpp Source/LibRawLite/src/decoders/dng.cpp Source/LibRawLite/src/decoders/fp_dng.cpp Source/LibRawLite/src/decoders/fuji_compressed.cpp Source/LibRawLite/src/decoders/generic.cpp Source/LibRawLite/src/decoders/kodak_decoders.cpp Source/LibRawLite/src/decoders/load_mfbacks.cpp Source/LibRawLite/src/decoders/smal.cpp Source/LibRawLite/src/decoders/unpack.cpp Source/LibRawLite/src/decoders/unpack_thumb.cpp Source/LibRawLite/src/demosaic/aahd_demosaic.cpp Source/LibRawLite/src/demosaic/ahd_demosaic.cpp Source/LibRawLite/src/demosaic/dcb_demosaic.cpp Source/LibRawLite/src/demosaic/dht_demosaic.cpp Source/LibRawLite/src/demosaic/misc_demosaic.cpp Source/LibRawLite/src/demosaic/xtrans_demosaic.cpp Source/LibRawLite/src/integration/dngsdk_glue.cpp Source/LibRawLite/src/integration/rawspeed_glue.cpp Source/LibRawLite/src/libraw_datastream.cpp Source/LibRawLite/src/metadata/adobepano.cpp Source/LibRawLite/src/metadata/canon.cpp Source/LibRawLite/src/metadata/ciff.cpp Source/LibRawLite/src/metadata/cr3_parser.cpp Source/LibRawLite/src/metadata/epson.cpp Source/LibRawLite/src/metadata/exif_gps.cpp Source/LibRawLite/src/metadata/fuji.cpp Source/LibRawLite/src/metadata/hasselblad_model.cpp Source/LibRawLite/src/metadata/identify.cpp Source/LibRawLite/src/metadata/identify_tools.cpp Source/LibRawLite/src/metadata/kodak.cpp Source/LibRawLite/src/metadata/leica.cpp Source/LibRawLite/src/metadata/makernotes.cpp Source/LibRawLite/src/metadata/mediumformat.cpp Source/LibRawLite/src/metadata/minolta.cpp Source/LibRawLite/src/metadata/misc_parsers.cpp Source/LibRawLite/src/metadata/nikon.cpp Source/LibRawLite/src/metadata/normalize_model.cpp Source/LibRawLite/src/metadata/olympus.cpp Source/LibRawLite/src/metadata/p1.cpp Source/LibRawLite/src/metadata/pentax.cpp Source/LibRawLite/src/metadata/samsung.cpp Source/LibRawLite/src/metadata/sony.cpp Source/LibRawLite/src/metadata/tiff.cpp Source/LibRawLite/src/postprocessing/aspect_ratio.cpp Source/LibRawLite/src/postprocessing/dcraw_process.cpp Source/LibRawLite/src/postprocessing/mem_image.cpp Source/LibRawLite/src/postprocessing/postprocessing_aux.cpp Source/LibRawLite/src/postprocessing/postprocessing_utils.cpp Source/LibRawLite/src/postprocessing/postprocessing_utils_dcrdefs.cpp Source/LibRawLite/src/preprocessing/ext_preprocess.cpp Source/LibRawLite/src/preprocessing/raw2image.cpp Source/LibRawLite/src/preprocessing/subtract_black.cpp Source/LibRawLite/src/tables/cameralist.cpp Source/LibRawLite/src/tables/colorconst.cpp Source/LibRawLite/src/tables/colordata.cpp Source/LibRawLite/src/tables/wblists.cpp Source/LibRawLite/src/utils/curves.cpp Source/LibRawLite/src/utils/decoder_info.cpp Source/LibRawLite/src/utils/init_close_utils.cpp Source/LibRawLite/src/utils/open.cpp Source/LibRawLite/src/utils/phaseone_processing.cpp Source/LibRawLite/src/utils/read_utils.cpp Source/LibRawLite/src/utils/thumb_utils.cpp Source/LibRawLite/src/utils/utils_dcraw.cpp Source/LibRawLite/src/utils/utils_libraw.cpp Source/LibRawLite/src/write/file_write.cpp Source/LibRawLite/src/x3f/x3f_parse_process.cpp Source/LibRawLite/src/x3f/x3f_utils_patched.cpp Source/LibWebP/src/dec/alpha_dec.c Source/LibWebP/src/dec/buffer_dec.c Source/LibWebP/src/dec/frame_dec.c Source/LibWebP/src/dec/idec_dec.c Source/LibWebP/src/dec/io_dec.c Source/LibWebP/src/dec/quant_dec.c Source/LibWebP/src/dec/tree_dec.c Source/LibWebP/src/dec/vp8l_dec.c Source/LibWebP/src/dec/vp8_dec.c Source/LibWebP/src/dec/webp_dec.c Source/LibWebP/src/demux/anim_decode.c Source/LibWebP/src/demux/demux.c Source/LibWebP/src/dsp/alpha_processing.c Source/LibWebP/src/dsp/alpha_processing_mips_dsp_r2.c Source/LibWebP/src/dsp/alpha_processing_neon.c Source/LibWebP/src/dsp/alpha_processing_sse2.c Source/LibWebP/src/dsp/alpha_processing_sse41.c Source/LibWebP/src/dsp/cost.c Source/LibWebP/src/dsp/cost_mips32.c Source/LibWebP/src/dsp/cost_mips_dsp_r2.c Source/LibWebP/src/dsp/cost_neon.c Source/LibWebP/src/dsp/cost_sse2.c Source/LibWebP/src/dsp/cpu.c Source/LibWebP/src/dsp/dec.c Source/LibWebP/src/dsp/dec_clip_tables.c Source/LibWebP/src/dsp/dec_mips32.c Source/LibWebP/src/dsp/dec_mips_dsp_r2.c Source/LibWebP/src/dsp/dec_msa.c Source/LibWebP/src/dsp/dec_neon.c Source/LibWebP/src/dsp/dec_sse2.c Source/LibWebP/src/dsp/dec_sse41.c Source/LibWebP/src/dsp/enc.c Source/LibWebP/src/dsp/enc_avx2.c Source/LibWebP/src/dsp/enc_mips32.c Source/LibWebP/src/dsp/enc_mips_dsp_r2.c Source/LibWebP/src/dsp/enc_msa.c Source/LibWebP/src/dsp/enc_neon.c Source/LibWebP/src/dsp/enc_sse2.c Source/LibWebP/src/dsp/enc_sse41.c Source/LibWebP/src/dsp/filters.c Source/LibWebP/src/dsp/filters_mips_dsp_r2.c Source/LibWebP/src/dsp/filters_msa.c Source/LibWebP/src/dsp/filters_neon.c Source/LibWebP/src/dsp/filters_sse2.c Source/LibWebP/src/dsp/lossless.c Source/LibWebP/src/dsp/lossless_enc.c Source/LibWebP/src/dsp/lossless_enc_mips32.c Source/LibWebP/src/dsp/lossless_enc_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_enc_msa.c Source/LibWebP/src/dsp/lossless_enc_neon.c Source/LibWebP/src/dsp/lossless_enc_sse2.c Source/LibWebP/src/dsp/lossless_enc_sse41.c Source/LibWebP/src/dsp/lossless_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_msa.c Source/LibWebP/src/dsp/lossless_neon.c Source/LibWebP/src/dsp/lossless_sse2.c Source/LibWebP/src/dsp/lossless_sse41.c Source/LibWebP/src/dsp/rescaler.c Source/LibWebP/src/dsp/rescaler_mips32.c Source/LibWebP/src/dsp/rescaler_mips_dsp_r2.c Source/LibWebP/src/dsp/rescaler_msa.c Source/LibWebP/src/dsp/rescaler_neon.c Source/LibWebP/src/dsp/rescaler_sse2.c Source/LibWebP/src/dsp/ssim.c Source/LibWebP/src/dsp/ssim_sse2.c Source/LibWebP/src/dsp/upsampling.c Source/LibWebP/src/dsp/upsampling_mips_dsp_r2.c Source/LibWebP/src/dsp/upsampling_msa.c Source/LibWebP/src/dsp/upsampling_neon.c Source/LibWebP/src/dsp/upsampling_sse2.c Source/LibWebP/src/dsp/upsampling_sse41.c Source/LibWebP/src/dsp/yuv.c Source/LibWebP/src/dsp/yuv_mips32.c Source/LibWebP/src/dsp/yuv_mips_dsp_r2.c Source/LibWebP/src/dsp/yuv_neon.c Source/LibWebP/src/dsp/yuv_sse2.c Source/LibWebP/src/dsp/yuv_sse41.c Source/LibWebP/src/enc/alpha_enc.c Source/LibWebP/src/enc/analysis_enc.c Source/LibWebP/src/enc/backward_references_cost_enc.c Source/LibWebP/src/enc/backward_references_enc.c Source/LibWebP/src/enc/config_enc.c Source/LibWebP/src/enc/cost_enc.c Source/LibWebP/src/enc/filter_enc.c Source/LibWebP/src/enc/frame_enc.c Source/LibWebP/src/enc/histogram_enc.c Source/LibWebP/src/enc/iterator_enc.c Source/LibWebP/src/enc/near_lossless_enc.c Source/LibWebP/src/enc/picture_csp_enc.c Source/LibWebP/src/enc/picture_enc.c Source/LibWebP/src/enc/picture_psnr_enc.c Source/LibWebP/src/enc/picture_rescale_enc.c Source/LibWebP/src/enc/picture_tools_enc.c Source/LibWebP/src/enc/predictor_enc.c Source/LibWebP/src/enc/quant_enc.c Source/LibWebP/src/enc/syntax_enc.c Source/LibWebP/src/enc/token_enc.c Source/LibWebP/src/enc/tree_enc.c Source/LibWebP/src/enc/vp8l_enc.c Source/LibWebP/src/enc/webp_enc.c Source/LibWebP/src/mux/anim_encode.c Source/LibWebP/src/mux/muxedit.c Source/LibWebP/src/mux/muxinternal.c Source/LibWebP/src/mux/muxread.c Source/LibWebP/src/utils/bit_reader_utils.c Source/LibWebP/src/utils/bit_writer_utils.c Source/LibWebP/src/utils/color_cache_utils.c Source/LibWebP/src/utils/filters_utils.c Source/LibWebP/src/utils/huffman_encode_utils.c Source/LibWebP/src/utils/huffman_utils.c Source/LibWebP/src/utils/quant_levels_dec_utils.c Source/LibWebP/src/utils/quant_levels_utils.c Source/LibWebP/src/utils/random_utils.c Source/LibWebP/src/utils/rescaler_utils.c Source/LibWebP/src/utils/thread_utils.c Source/LibWebP/src/utils/utils.c Source/LibJXR/image/decode/decode.c Source/LibJXR/image/decode/JXRTranscode.c Source/LibJXR/image/decode/postprocess.c Source/LibJXR/image/decode/segdec.c Source/LibJXR/image/decode/strdec.c Source/LibJXR/image/decode/strdec_x86.c Source/LibJXR/image/decode/strInvTransform.c Source/LibJXR/image/decode/strPredQuantDec.c Source/LibJXR/image/encode/encode.c Source/LibJXR/image/encode/segenc.c Source/LibJXR/image/encode/strenc.c Source/LibJXR/image/encode/strenc_x86.c Source/LibJXR/image/encode/strFwdTransform.c Source/LibJXR/image/encode/strPredQuantEnc.c Source/LibJXR/image/sys/adapthuff.c Source/LibJXR/image/sys/image.c Source/LibJXR/image/sys/strcodec.c Source/LibJXR/image/sys/strPredQuant.c Source/LibJXR/image/sys/strTransform.c Source/LibJXR/jxrgluelib/JXRGlue.c Source/LibJXR/jxrgluelib/JXRGlueJxr.c Source/LibJXR/jxrgluelib/JXRGluePFC.c Source/LibJXR/jxrgluelib/JXRMeta.c 
+-INCLS = ./Dist/FreeImage.h ./Examples/Generic/FIIO_Mem.h ./Examples/OpenGL/TextureManager/TextureManager.h ./Examples/Plugin/PluginCradle.h ./Source/CacheFile.h ./Source/FreeImage/J2KHelper.h ./Source/FreeImage/PSDParser.h ./Source/FreeImage.h ./Source/FreeImageIO.h ./Source/FreeImageToolkit/Filters.h ./Source/FreeImageToolkit/Resize.h ./Source/LibJPEG/cderror.h ./Source/LibJPEG/cdjpeg.h ./Source/LibJPEG/jconfig.h ./Source/LibJPEG/jdct.h ./Source/LibJPEG/jerror.h ./Source/LibJPEG/jinclude.h ./Source/LibJPEG/jmemsys.h ./Source/LibJPEG/jmorecfg.h ./Source/LibJPEG/jpegint.h ./Source/LibJPEG/jpeglib.h ./Source/LibJPEG/jversion.h ./Source/LibJPEG/transupp.h ./Source/LibJXR/common/include/guiddef.h ./Source/LibJXR/common/include/wmsal.h ./Source/LibJXR/common/include/wmspecstring.h ./Source/LibJXR/common/include/wmspecstrings_adt.h ./Source/LibJXR/common/include/wmspecstrings_strict.h ./Source/LibJXR/common/include/wmspecstrings_undef.h ./Source/LibJXR/image/decode/decode.h ./Source/LibJXR/image/encode/encode.h ./Source/LibJXR/image/sys/ansi.h ./Source/LibJXR/image/sys/common.h ./Source/LibJXR/image/sys/perfTimer.h ./Source/LibJXR/image/sys/strcodec.h ./Source/LibJXR/image/sys/strTransform.h ./Source/LibJXR/image/sys/windowsmediaphoto.h ./Source/LibJXR/image/sys/xplatform_image.h ./Source/LibJXR/image/x86/x86.h ./Source/LibJXR/jxrgluelib/JXRGlue.h ./Source/LibJXR/jxrgluelib/JXRMeta.h ./Source/LibOpenJPEG/bio.h ./Source/LibOpenJPEG/cidx_manager.h ./Source/LibOpenJPEG/cio.h ./Source/LibOpenJPEG/dwt.h ./Source/LibOpenJPEG/event.h ./Source/LibOpenJPEG/function_list.h ./Source/LibOpenJPEG/image.h ./Source/LibOpenJPEG/indexbox_manager.h ./Source/LibOpenJPEG/invert.h ./Source/LibOpenJPEG/j2k.h ./Source/LibOpenJPEG/jp2.h ./Source/LibOpenJPEG/mct.h ./Source/LibOpenJPEG/mqc.h ./Source/LibOpenJPEG/openjpeg.h ./Source/LibOpenJPEG/opj_clock.h ./Source/LibOpenJPEG/opj_codec.h ./Source/LibOpenJPEG/opj_config.h ./Source/LibOpenJPEG/opj_config_private.h ./Source/LibOpenJPEG/opj_includes.h ./Source/LibOpenJPEG/opj_intmath.h ./Source/LibOpenJPEG/opj_inttypes.h ./Source/LibOpenJPEG/opj_malloc.h ./Source/LibOpenJPEG/opj_stdint.h ./Source/LibOpenJPEG/pi.h ./Source/LibOpenJPEG/raw.h ./Source/LibOpenJPEG/t1.h ./Source/LibOpenJPEG/t1_luts.h ./Source/LibOpenJPEG/t2.h ./Source/LibOpenJPEG/tcd.h ./Source/LibOpenJPEG/tgt.h ./Source/LibPNG/png.h ./Source/LibPNG/pngconf.h ./Source/LibPNG/pngdebug.h ./Source/LibPNG/pnginfo.h ./Source/LibPNG/pnglibconf.h ./Source/LibPNG/pngpriv.h ./Source/LibPNG/pngstruct.h ./Source/LibRawLite/internal/dcraw_defs.h ./Source/LibRawLite/internal/dcraw_fileio_defs.h ./Source/LibRawLite/internal/defines.h ./Source/LibRawLite/internal/dmp_include.h ./Source/LibRawLite/internal/libraw_cameraids.h ./Source/LibRawLite/internal/libraw_cxx_defs.h ./Source/LibRawLite/internal/libraw_internal_funcs.h ./Source/LibRawLite/internal/var_defines.h ./Source/LibRawLite/internal/x3f_tools.h ./Source/LibRawLite/libraw/libraw.h ./Source/LibRawLite/libraw/libraw_alloc.h ./Source/LibRawLite/libraw/libraw_const.h ./Source/LibRawLite/libraw/libraw_datastream.h ./Source/LibRawLite/libraw/libraw_internal.h ./Source/LibRawLite/libraw/libraw_types.h ./Source/LibRawLite/libraw/libraw_version.h ./Source/LibTIFF4/t4.h ./Source/LibTIFF4/tiff.h ./Source/LibTIFF4/tiffconf.h ./Source/LibTIFF4/tiffconf.vc.h ./Source/LibTIFF4/tiffconf.wince.h ./Source/LibTIFF4/tiffio.h ./Source/LibTIFF4/tiffiop.h ./Source/LibTIFF4/tiffvers.h ./Source/LibTIFF4/tif_config.h ./Source/LibTIFF4/tif_config.vc.h ./Source/LibTIFF4/tif_config.wince.h ./Source/LibTIFF4/tif_dir.h ./Source/LibTIFF4/tif_fax3.h ./Source/LibTIFF4/tif_predict.h ./Source/LibTIFF4/uvcode.h ./Source/LibWebP/src/dec/alphai_dec.h ./Source/LibWebP/src/dec/common_dec.h ./Source/LibWebP/src/dec/vp8i_dec.h ./Source/LibWebP/src/dec/vp8li_dec.h ./Source/LibWebP/src/dec/vp8_dec.h ./Source/LibWebP/src/dec/webpi_dec.h ./Source/LibWebP/src/dsp/common_sse2.h ./Source/LibWebP/src/dsp/common_sse41.h ./Source/LibWebP/src/dsp/dsp.h ./Source/LibWebP/src/dsp/lossless.h ./Source/LibWebP/src/dsp/lossless_common.h ./Source/LibWebP/src/dsp/mips_macro.h ./Source/LibWebP/src/dsp/msa_macro.h ./Source/LibWebP/src/dsp/neon.h ./Source/LibWebP/src/dsp/quant.h ./Source/LibWebP/src/dsp/yuv.h ./Source/LibWebP/src/enc/backward_references_enc.h ./Source/LibWebP/src/enc/cost_enc.h ./Source/LibWebP/src/enc/histogram_enc.h ./Source/LibWebP/src/enc/vp8i_enc.h ./Source/LibWebP/src/enc/vp8li_enc.h ./Source/LibWebP/src/mux/animi.h ./Source/LibWebP/src/mux/muxi.h ./Source/LibWebP/src/utils/bit_reader_inl_utils.h ./Source/LibWebP/src/utils/bit_reader_utils.h ./Source/LibWebP/src/utils/bit_writer_utils.h ./Source/LibWebP/src/utils/color_cache_utils.h ./Source/LibWebP/src/utils/endian_inl_utils.h ./Source/LibWebP/src/utils/filters_utils.h ./Source/LibWebP/src/utils/huffman_encode_utils.h ./Source/LibWebP/src/utils/huffman_utils.h ./Source/LibWebP/src/utils/quant_levels_dec_utils.h ./Source/LibWebP/src/utils/quant_levels_utils.h ./Source/LibWebP/src/utils/random_utils.h ./Source/LibWebP/src/utils/rescaler_utils.h ./Source/LibWebP/src/utils/thread_utils.h ./Source/LibWebP/src/utils/utils.h ./Source/LibWebP/src/webp/decode.h ./Source/LibWebP/src/webp/demux.h ./Source/LibWebP/src/webp/encode.h ./Source/LibWebP/src/webp/format_constants.h ./Source/LibWebP/src/webp/mux.h ./Source/LibWebP/src/webp/mux_types.h ./Source/LibWebP/src/webp/types.h ./Source/MapIntrospector.h ./Source/Metadata/FIRational.h ./Source/Metadata/FreeImageTag.h ./Source/OpenEXR/Half/eLut.h ./Source/OpenEXR/Half/half.h ./Source/OpenEXR/Half/halfExport.h ./Source/OpenEXR/Half/halfFunction.h ./Source/OpenEXR/Half/halfLimits.h ./Source/OpenEXR/Half/toFloat.h ./Source/OpenEXR/Iex/Iex.h ./Source/OpenEXR/Iex/IexBaseExc.h ./Source/OpenEXR/Iex/IexErrnoExc.h ./Source/OpenEXR/Iex/IexExport.h ./Source/OpenEXR/Iex/IexForward.h ./Source/OpenEXR/Iex/IexMacros.h ./Source/OpenEXR/Iex/IexMathExc.h ./Source/OpenEXR/Iex/IexNamespace.h ./Source/OpenEXR/Iex/IexThrowErrnoExc.h ./Source/OpenEXR/IexMath/IexMathFloatExc.h ./Source/OpenEXR/IexMath/IexMathFpu.h ./Source/OpenEXR/IexMath/IexMathIeeeExc.h ./Source/OpenEXR/IlmBaseConfig.h ./Source/OpenEXR/IlmImf/b44ExpLogTable.h ./Source/OpenEXR/IlmImf/dwaLookups.h ./Source/OpenEXR/IlmImf/ImfAcesFile.h ./Source/OpenEXR/IlmImf/ImfArray.h ./Source/OpenEXR/IlmImf/ImfAttribute.h ./Source/OpenEXR/IlmImf/ImfAutoArray.h ./Source/OpenEXR/IlmImf/ImfB44Compressor.h ./Source/OpenEXR/IlmImf/ImfBoxAttribute.h ./Source/OpenEXR/IlmImf/ImfChannelList.h ./Source/OpenEXR/IlmImf/ImfChannelListAttribute.h ./Source/OpenEXR/IlmImf/ImfCheckedArithmetic.h ./Source/OpenEXR/IlmImf/ImfChromaticities.h ./Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.h ./Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.h ./Source/OpenEXR/IlmImf/ImfCompression.h ./Source/OpenEXR/IlmImf/ImfCompressionAttribute.h ./Source/OpenEXR/IlmImf/ImfCompressor.h ./Source/OpenEXR/IlmImf/ImfConvert.h ./Source/OpenEXR/IlmImf/ImfCRgbaFile.h ./Source/OpenEXR/IlmImf/ImfDeepCompositing.h ./Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.h ./Source/OpenEXR/IlmImf/ImfDeepImageState.h ./Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.h ./Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.h ./Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.h ./Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.h ./Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.h ./Source/OpenEXR/IlmImf/ImfDoubleAttribute.h ./Source/OpenEXR/IlmImf/ImfDwaCompressor.h ./Source/OpenEXR/IlmImf/ImfDwaCompressorSimd.h ./Source/OpenEXR/IlmImf/ImfEnvmap.h ./Source/OpenEXR/IlmImf/ImfEnvmapAttribute.h ./Source/OpenEXR/IlmImf/ImfExport.h ./Source/OpenEXR/IlmImf/ImfFastHuf.h ./Source/OpenEXR/IlmImf/ImfFloatAttribute.h ./Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.h ./Source/OpenEXR/IlmImf/ImfForward.h ./Source/OpenEXR/IlmImf/ImfFrameBuffer.h ./Source/OpenEXR/IlmImf/ImfFramesPerSecond.h ./Source/OpenEXR/IlmImf/ImfGenericInputFile.h ./Source/OpenEXR/IlmImf/ImfGenericOutputFile.h ./Source/OpenEXR/IlmImf/ImfHeader.h ./Source/OpenEXR/IlmImf/ImfHuf.h ./Source/OpenEXR/IlmImf/ImfInputFile.h ./Source/OpenEXR/IlmImf/ImfInputPart.h ./Source/OpenEXR/IlmImf/ImfInputPartData.h ./Source/OpenEXR/IlmImf/ImfInputStreamMutex.h ./Source/OpenEXR/IlmImf/ImfInt64.h ./Source/OpenEXR/IlmImf/ImfIntAttribute.h ./Source/OpenEXR/IlmImf/ImfIO.h ./Source/OpenEXR/IlmImf/ImfKeyCode.h ./Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.h ./Source/OpenEXR/IlmImf/ImfLineOrder.h ./Source/OpenEXR/IlmImf/ImfLineOrderAttribute.h ./Source/OpenEXR/IlmImf/ImfLut.h ./Source/OpenEXR/IlmImf/ImfMatrixAttribute.h ./Source/OpenEXR/IlmImf/ImfMisc.h ./Source/OpenEXR/IlmImf/ImfMultiPartInputFile.h ./Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.h ./Source/OpenEXR/IlmImf/ImfMultiView.h ./Source/OpenEXR/IlmImf/ImfName.h ./Source/OpenEXR/IlmImf/ImfNamespace.h ./Source/OpenEXR/IlmImf/ImfOpaqueAttribute.h ./Source/OpenEXR/IlmImf/ImfOptimizedPixelReading.h ./Source/OpenEXR/IlmImf/ImfOutputFile.h ./Source/OpenEXR/IlmImf/ImfOutputPart.h ./Source/OpenEXR/IlmImf/ImfOutputPartData.h ./Source/OpenEXR/IlmImf/ImfOutputStreamMutex.h ./Source/OpenEXR/IlmImf/ImfPartHelper.h ./Source/OpenEXR/IlmImf/ImfPartType.h ./Source/OpenEXR/IlmImf/ImfPixelType.h ./Source/OpenEXR/IlmImf/ImfPizCompressor.h ./Source/OpenEXR/IlmImf/ImfPreviewImage.h ./Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.h ./Source/OpenEXR/IlmImf/ImfPxr24Compressor.h ./Source/OpenEXR/IlmImf/ImfRational.h ./Source/OpenEXR/IlmImf/ImfRationalAttribute.h ./Source/OpenEXR/IlmImf/ImfRgba.h ./Source/OpenEXR/IlmImf/ImfRgbaFile.h ./Source/OpenEXR/IlmImf/ImfRgbaYca.h ./Source/OpenEXR/IlmImf/ImfRle.h ./Source/OpenEXR/IlmImf/ImfRleCompressor.h ./Source/OpenEXR/IlmImf/ImfScanLineInputFile.h ./Source/OpenEXR/IlmImf/ImfSimd.h ./Source/OpenEXR/IlmImf/ImfStandardAttributes.h ./Source/OpenEXR/IlmImf/ImfStdIO.h ./Source/OpenEXR/IlmImf/ImfStringAttribute.h ./Source/OpenEXR/IlmImf/ImfStringVectorAttribute.h ./Source/OpenEXR/IlmImf/ImfSystemSpecific.h ./Source/OpenEXR/IlmImf/ImfTestFile.h ./Source/OpenEXR/IlmImf/ImfThreading.h ./Source/OpenEXR/IlmImf/ImfTileDescription.h ./Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.h ./Source/OpenEXR/IlmImf/ImfTiledInputFile.h ./Source/OpenEXR/IlmImf/ImfTiledInputPart.h ./Source/OpenEXR/IlmImf/ImfTiledMisc.h ./Source/OpenEXR/IlmImf/ImfTiledOutputFile.h ./Source/OpenEXR/IlmImf/ImfTiledOutputPart.h ./Source/OpenEXR/IlmImf/ImfTiledRgbaFile.h ./Source/OpenEXR/IlmImf/ImfTileOffsets.h ./Source/OpenEXR/IlmImf/ImfTimeCode.h ./Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.h ./Source/OpenEXR/IlmImf/ImfVecAttribute.h ./Source/OpenEXR/IlmImf/ImfVersion.h ./Source/OpenEXR/IlmImf/ImfWav.h ./Source/OpenEXR/IlmImf/ImfXdr.h ./Source/OpenEXR/IlmImf/ImfZip.h ./Source/OpenEXR/IlmImf/ImfZipCompressor.h ./Source/OpenEXR/IlmThread/IlmThread.h ./Source/OpenEXR/IlmThread/IlmThreadExport.h ./Source/OpenEXR/IlmThread/IlmThreadForward.h ./Source/OpenEXR/IlmThread/IlmThreadMutex.h ./Source/OpenEXR/IlmThread/IlmThreadNamespace.h ./Source/OpenEXR/IlmThread/IlmThreadPool.h ./Source/OpenEXR/IlmThread/IlmThreadSemaphore.h ./Source/OpenEXR/Imath/ImathBox.h ./Source/OpenEXR/Imath/ImathBoxAlgo.h ./Source/OpenEXR/Imath/ImathColor.h ./Source/OpenEXR/Imath/ImathColorAlgo.h ./Source/OpenEXR/Imath/ImathEuler.h ./Source/OpenEXR/Imath/ImathExc.h ./Source/OpenEXR/Imath/ImathExport.h ./Source/OpenEXR/Imath/ImathForward.h ./Source/OpenEXR/Imath/ImathFrame.h ./Source/OpenEXR/Imath/ImathFrustum.h ./Source/OpenEXR/Imath/ImathFrustumTest.h ./Source/OpenEXR/Imath/ImathFun.h ./Source/OpenEXR/Imath/ImathGL.h ./Source/OpenEXR/Imath/ImathGLU.h ./Source/OpenEXR/Imath/ImathHalfLimits.h ./Source/OpenEXR/Imath/ImathInt64.h ./Source/OpenEXR/Imath/ImathInterval.h ./Source/OpenEXR/Imath/ImathLimits.h ./Source/OpenEXR/Imath/ImathLine.h ./Source/OpenEXR/Imath/ImathLineAlgo.h ./Source/OpenEXR/Imath/ImathMath.h ./Source/OpenEXR/Imath/ImathMatrix.h ./Source/OpenEXR/Imath/ImathMatrixAlgo.h ./Source/OpenEXR/Imath/ImathNamespace.h ./Source/OpenEXR/Imath/ImathPlane.h ./Source/OpenEXR/Imath/ImathPlatform.h ./Source/OpenEXR/Imath/ImathQuat.h ./Source/OpenEXR/Imath/ImathRandom.h ./Source/OpenEXR/Imath/ImathRoots.h ./Source/OpenEXR/Imath/ImathShear.h ./Source/OpenEXR/Imath/ImathSphere.h ./Source/OpenEXR/Imath/ImathVec.h ./Source/OpenEXR/Imath/ImathVecAlgo.h ./Source/OpenEXR/OpenEXRConfig.h ./Source/Plugin.h ./Source/Quantizers.h ./Source/ToneMapping.h ./Source/Utilities.h ./Source/ZLib/crc32.h ./Source/ZLib/deflate.h ./Source/ZLib/gzguts.h ./Source/ZLib/inffast.h ./Source/ZLib/inffixed.h ./Source/ZLib/inflate.h ./Source/ZLib/inftrees.h ./Source/ZLib/trees.h ./Source/ZLib/zconf.h ./Source/ZLib/zlib.h ./Source/ZLib/zutil.h ./TestAPI/TestSuite.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/FreeImageIO.Net.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/resource.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/Stdafx.h ./Wrapper/FreeImagePlus/FreeImagePlus.h ./Wrapper/FreeImagePlus/test/fipTest.h
 +SRCS = ./Source/FreeImage/BitmapAccess.cpp ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/ConversionRGBA16.cpp ./Source/FreeImage/ConversionRGBAF.cpp ./Source/FreeImage/FreeImage.cpp ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp ./Source/FreeImage/GetType.cpp ./Source/FreeImage/LFPQuantizer.cpp ./Source/FreeImage/MemoryIO.cpp ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp ./Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp ./Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp ./Source/FreeImage/PluginJPEG.cpp ./Source/FreeImage/PluginJXR.cpp ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp ./Source/FreeImage/PluginWBMP.cpp ./Source/FreeImage/PluginWebP.cpp ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp ./Source/FreeImage/ConversionRGB16.cpp ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp ./Source/FreeImage/ToneMapping.cpp ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp ./Source/FreeImageToolkit/Background.cpp ./Source/FreeImageToolkit/BSplineRotate.cpp ./Source/FreeImageToolkit/Channels.cpp ./Source/FreeImageToolkit/ClassicRotate.cpp ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp ./Source/FreeImageToolkit/JPEGTransform.cpp ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp 
-+INCLS = ./Examples/OpenGL/TextureManager/TextureManager.h ./Examples/Generic/FIIO_Mem.h ./Examples/Plugin/PluginCradle.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/resource.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/FreeImageIO.Net.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/Stdafx.h ./Wrapper/FreeImagePlus/FreeImagePlus.h ./Wrapper/FreeImagePlus/test/fipTest.h ./TestAPI/TestSuite.h ./Source/FreeImage.h ./Source/FreeImage/PSDParser.h ./Source/FreeImage/J2KHelper.h ./Source/FreeImageToolkit/Filters.h ./Source/FreeImageToolkit/Resize.h ./Source/Metadata/FreeImageTag.h ./Source/Metadata/FIRational.h ./Source/ToneMapping.h ./Source/FreeImageIO.h ./Source/Plugin.h ./Source/CacheFile.h ./Source/Utilities.h ./Source/MapIntrospector.h ./Source/Quantizers.h
++INCLS = ./Dist/FreeImage.h ./Examples/Generic/FIIO_Mem.h ./Examples/OpenGL/TextureManager/TextureManager.h ./Examples/Plugin/PluginCradle.h ./Source/CacheFile.h ./Source/FreeImage/J2KHelper.h ./Source/FreeImage/PSDParser.h ./Source/FreeImage.h ./Source/FreeImageIO.h ./Source/FreeImageToolkit/Filters.h ./Source/FreeImageToolkit/Resize.h ./Source/MapIntrospector.h ./Source/Metadata/FIRational.h ./Source/Metadata/FreeImageTag.h ./Source/Plugin.h ./Source/Quantizers.h ./Source/ToneMapping.h ./Source/Utilities.h ./TestAPI/TestSuite.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/FreeImageIO.Net.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/resource.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/Stdafx.h ./Wrapper/FreeImagePlus/FreeImagePlus.h ./Wrapper/FreeImagePlus/test/fipTest.h
  
 -INCLUDE = -I. -ISource -ISource/Metadata -ISource/FreeImageToolkit -ISource/LibJPEG -ISource/LibPNG -ISource/LibTIFF4 -ISource/ZLib -ISource/LibOpenJPEG -ISource/OpenEXR -ISource/OpenEXR/Half -ISource/OpenEXR/Iex -ISource/OpenEXR/IlmImf -ISource/OpenEXR/IlmThread -ISource/OpenEXR/Imath -ISource/OpenEXR/IexMath -ISource/LibRawLite -ISource/LibRawLite/dcraw -ISource/LibRawLite/internal -ISource/LibRawLite/libraw -ISource/LibRawLite/src -ISource/LibWebP -ISource/LibJXR -ISource/LibJXR/common/include -ISource/LibJXR/image/sys -ISource/LibJXR/jxrgluelib
 +INCLUDE = -I. -ISource -ISource/Metadata -ISource/FreeImageToolkit
 diff --git a/Source/FreeImage.h b/Source/FreeImage.h
-index e8f1da6..235563e 100644
+index 2dfb9ee2..d2d32322 100644
 --- a/Source/FreeImage.h
 +++ b/Source/FreeImage.h
 @@ -155,8 +155,8 @@ typedef uint8_t BYTE;
@@ -214,20 +214,20 @@ index e8f1da6..235563e 100644
  // MS is not C99 ISO compliant
  typedef long BOOL;
 diff --git a/Source/FreeImage/J2KHelper.cpp b/Source/FreeImage/J2KHelper.cpp
-index 1776c3b..538f1c5 100644
+index 062b49ee..0e79fbc5 100644
 --- a/Source/FreeImage/J2KHelper.cpp
 +++ b/Source/FreeImage/J2KHelper.cpp
 @@ -21,7 +21,7 @@
- 
- #include "FreeImage.h"
- #include "Utilities.h"
--#include "../LibOpenJPEG/openjpeg.h"
-+#include <openjpeg.h>
- #include "J2KHelper.h"
- 
- // --------------------------------------------------------------------------
+ 

+ #include "FreeImage.h"

+ #include "Utilities.h"

+-#include "../LibOpenJPEG/openjpeg.h"

++#include <openjpeg.h>

+ #include "J2KHelper.h"

+ 

+ // --------------------------------------------------------------------------

 diff --git a/Source/FreeImage/PluginEXR.cpp b/Source/FreeImage/PluginEXR.cpp
-index b286430..9bf3ada 100644
+index b2864303..9bf3ada9 100644
 --- a/Source/FreeImage/PluginEXR.cpp
 +++ b/Source/FreeImage/PluginEXR.cpp
 @@ -28,16 +28,16 @@
@@ -258,7 +258,7 @@ index b286430..9bf3ada 100644
  
  // ==========================================================
 diff --git a/Source/FreeImage/PluginG3.cpp b/Source/FreeImage/PluginG3.cpp
-index 0a083b4..e2f1241 100644
+index 4680aa32..7d4b5ce6 100644
 --- a/Source/FreeImage/PluginG3.cpp
 +++ b/Source/FreeImage/PluginG3.cpp
 @@ -20,7 +20,7 @@
@@ -271,7 +271,7 @@ index 0a083b4..e2f1241 100644
  #include "FreeImage.h"
  #include "Utilities.h"
 diff --git a/Source/FreeImage/PluginJ2K.cpp b/Source/FreeImage/PluginJ2K.cpp
-index b8bcfc8..621a903 100644
+index b8bcfc8b..621a9037 100644
 --- a/Source/FreeImage/PluginJ2K.cpp
 +++ b/Source/FreeImage/PluginJ2K.cpp
 @@ -21,7 +21,7 @@
@@ -284,7 +284,7 @@ index b8bcfc8..621a903 100644
  
  // ==========================================================
 diff --git a/Source/FreeImage/PluginJP2.cpp b/Source/FreeImage/PluginJP2.cpp
-index 742fe2c..c57f626 100644
+index 742fe2c0..c57f6267 100644
 --- a/Source/FreeImage/PluginJP2.cpp
 +++ b/Source/FreeImage/PluginJP2.cpp
 @@ -21,7 +21,7 @@
@@ -297,7 +297,7 @@ index 742fe2c..c57f626 100644
  
  // ==========================================================
 diff --git a/Source/FreeImage/PluginJPEG.cpp b/Source/FreeImage/PluginJPEG.cpp
-index 8db177d..a7de637 100644
+index 8db177d2..a7de6378 100644
 --- a/Source/FreeImage/PluginJPEG.cpp
 +++ b/Source/FreeImage/PluginJPEG.cpp
 @@ -35,9 +35,9 @@ extern "C" {
@@ -431,7 +431,7 @@ index 8db177d..a7de637 100644
  	Read JPEG_APPD marker (IPTC or Adobe Photoshop profile)
  */
 diff --git a/Source/FreeImage/PluginJXR.cpp b/Source/FreeImage/PluginJXR.cpp
-index 85c6ff3..163a93b 100644
+index 85c6ff3e..163a93bd 100644
 --- a/Source/FreeImage/PluginJXR.cpp
 +++ b/Source/FreeImage/PluginJXR.cpp
 @@ -23,7 +23,7 @@
@@ -444,7 +444,7 @@ index 85c6ff3..163a93b 100644
  // ==========================================================

  // Plugin Interface

 diff --git a/Source/FreeImage/PluginPNG.cpp b/Source/FreeImage/PluginPNG.cpp
-index 661f160..504fafe 100644
+index 661f1602..504fafe1 100644
 --- a/Source/FreeImage/PluginPNG.cpp
 +++ b/Source/FreeImage/PluginPNG.cpp
 @@ -40,8 +40,8 @@
@@ -459,7 +459,7 @@ index 661f160..504fafe 100644
  // ----------------------------------------------------------
  
 diff --git a/Source/FreeImage/PluginRAW.cpp b/Source/FreeImage/PluginRAW.cpp
-index ab0499f..2d3c9fd 100644
+index 26134bcc..d7fa81e4 100644
 --- a/Source/FreeImage/PluginRAW.cpp
 +++ b/Source/FreeImage/PluginRAW.cpp
 @@ -19,12 +19,16 @@
@@ -481,7 +481,7 @@ index ab0499f..2d3c9fd 100644
  // Plugin Interface
  // ==========================================================
 diff --git a/Source/FreeImage/PluginTIFF.cpp b/Source/FreeImage/PluginTIFF.cpp
-index a805319..3e318ba 100644
+index 84554958..13a224dd 100644
 --- a/Source/FreeImage/PluginTIFF.cpp
 +++ b/Source/FreeImage/PluginTIFF.cpp
 @@ -37,9 +37,9 @@
@@ -497,7 +497,7 @@ index a805319..3e318ba 100644
  #include "FreeImageIO.h"

  #include "PSDParser.h"

 diff --git a/Source/FreeImage/PluginWebP.cpp b/Source/FreeImage/PluginWebP.cpp
-index 7c9f62f..c401447 100644
+index 7c9f62fd..c4014473 100644
 --- a/Source/FreeImage/PluginWebP.cpp
 +++ b/Source/FreeImage/PluginWebP.cpp
 @@ -24,9 +24,9 @@
@@ -514,7 +514,7 @@ index 7c9f62f..c401447 100644
  // ==========================================================
  // Plugin Interface
 diff --git a/Source/FreeImage/ZLibInterface.cpp b/Source/FreeImage/ZLibInterface.cpp
-index 3ab6d32..0973475 100644
+index 3ab6d321..09734755 100644
 --- a/Source/FreeImage/ZLibInterface.cpp
 +++ b/Source/FreeImage/ZLibInterface.cpp
 @@ -19,10 +19,9 @@
@@ -540,7 +540,7 @@ index 3ab6d32..0973475 100644
  	        memcpy(target + 4 + dest_len, &crc, 4);
  	        memcpy(target + 8 + dest_len, &source_size, 4);
 diff --git a/Source/FreeImageToolkit/JPEGTransform.cpp b/Source/FreeImageToolkit/JPEGTransform.cpp
-index 6f9ba8e..836bc90 100644
+index 6f9ba8e1..836bc901 100644
 --- a/Source/FreeImageToolkit/JPEGTransform.cpp
 +++ b/Source/FreeImageToolkit/JPEGTransform.cpp
 @@ -26,10 +26,10 @@ extern "C" {
@@ -559,26 +559,26 @@ index 6f9ba8e..836bc90 100644
  
  #include "FreeImage.h"
 diff --git a/Source/Metadata/XTIFF.cpp b/Source/Metadata/XTIFF.cpp
-index d5be902..b6ecd11 100644
+index 6919a8e8..ce3d7c6b 100644
 --- a/Source/Metadata/XTIFF.cpp
 +++ b/Source/Metadata/XTIFF.cpp
 @@ -29,7 +29,7 @@
- #pragma warning (disable : 4786) // identifier was truncated to 'number' characters
- #endif
- 
--#include "../LibTIFF4/tiffiop.h"
+ #pragma warning (disable : 4786) // identifier was truncated to 'number' characters

+ #endif

+ 

+-#include "../LibTIFF4/tiffiop.h"

 +#include <tiffiop.h>
- 
- #include "FreeImage.h"
- #include "Utilities.h"
+ 

+ #include "FreeImage.h"

+ #include "Utilities.h"

 diff --git a/fipMakefile.srcs b/fipMakefile.srcs
-index 15ec099..72ba4fb 100644
+index cc75e5e0..bedc9e3e 100644
 --- a/fipMakefile.srcs
 +++ b/fipMakefile.srcs
 @@ -1,4 +1,4 @@
  VER_MAJOR = 3
  VER_MINOR = 19.0
--SRCS = ./Source/FreeImage/BitmapAccess.cpp ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/ConversionRGBA16.cpp ./Source/FreeImage/ConversionRGBAF.cpp ./Source/FreeImage/FreeImage.cpp ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp ./Source/FreeImage/GetType.cpp ./Source/FreeImage/LFPQuantizer.cpp ./Source/FreeImage/MemoryIO.cpp ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp ./Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp ./Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp ./Source/FreeImage/PluginJPEG.cpp ./Source/FreeImage/PluginJXR.cpp ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp ./Source/FreeImage/PluginWBMP.cpp ./Source/FreeImage/PluginWebP.cpp ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp ./Source/FreeImage/ConversionRGB16.cpp ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp ./Source/FreeImage/ToneMapping.cpp ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp ./Source/FreeImageToolkit/Background.cpp ./Source/FreeImageToolkit/BSplineRotate.cpp ./Source/FreeImageToolkit/Channels.cpp ./Source/FreeImageToolkit/ClassicRotate.cpp ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp ./Source/FreeImageToolkit/JPEGTransform.cpp ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp Source/LibJPEG/jaricom.c Source/LibJPEG/jcapimin.c Source/LibJPEG/jcapistd.c Source/LibJPEG/jcarith.c Source/LibJPEG/jccoefct.c Source/LibJPEG/jccolor.c Source/LibJPEG/jcdctmgr.c Source/LibJPEG/jchuff.c Source/LibJPEG/jcinit.c Source/LibJPEG/jcmainct.c Source/LibJPEG/jcmarker.c Source/LibJPEG/jcmaster.c Source/LibJPEG/jcomapi.c Source/LibJPEG/jcparam.c Source/LibJPEG/jcprepct.c Source/LibJPEG/jcsample.c Source/LibJPEG/jctrans.c Source/LibJPEG/jdapimin.c Source/LibJPEG/jdapistd.c Source/LibJPEG/jdarith.c Source/LibJPEG/jdatadst.c Source/LibJPEG/jdatasrc.c Source/LibJPEG/jdcoefct.c Source/LibJPEG/jdcolor.c Source/LibJPEG/jddctmgr.c Source/LibJPEG/jdhuff.c Source/LibJPEG/jdinput.c Source/LibJPEG/jdmainct.c Source/LibJPEG/jdmarker.c Source/LibJPEG/jdmaster.c Source/LibJPEG/jdmerge.c Source/LibJPEG/jdpostct.c Source/LibJPEG/jdsample.c Source/LibJPEG/jdtrans.c Source/LibJPEG/jerror.c Source/LibJPEG/jfdctflt.c Source/LibJPEG/jfdctfst.c Source/LibJPEG/jfdctint.c Source/LibJPEG/jidctflt.c Source/LibJPEG/jidctfst.c Source/LibJPEG/jidctint.c Source/LibJPEG/jmemmgr.c Source/LibJPEG/jmemnobs.c Source/LibJPEG/jquant1.c Source/LibJPEG/jquant2.c Source/LibJPEG/jutils.c Source/LibJPEG/transupp.c Source/LibPNG/png.c Source/LibPNG/pngerror.c Source/LibPNG/pngget.c Source/LibPNG/pngmem.c Source/LibPNG/pngpread.c Source/LibPNG/pngread.c Source/LibPNG/pngrio.c Source/LibPNG/pngrtran.c Source/LibPNG/pngrutil.c Source/LibPNG/pngset.c Source/LibPNG/pngtrans.c Source/LibPNG/pngwio.c Source/LibPNG/pngwrite.c Source/LibPNG/pngwtran.c Source/LibPNG/pngwutil.c Source/LibTIFF4/tif_aux.c Source/LibTIFF4/tif_close.c Source/LibTIFF4/tif_codec.c Source/LibTIFF4/tif_color.c Source/LibTIFF4/tif_compress.c Source/LibTIFF4/tif_dir.c Source/LibTIFF4/tif_dirinfo.c Source/LibTIFF4/tif_dirread.c Source/LibTIFF4/tif_dirwrite.c Source/LibTIFF4/tif_dumpmode.c Source/LibTIFF4/tif_error.c Source/LibTIFF4/tif_extension.c Source/LibTIFF4/tif_fax3.c Source/LibTIFF4/tif_fax3sm.c Source/LibTIFF4/tif_flush.c Source/LibTIFF4/tif_getimage.c Source/LibTIFF4/tif_jpeg.c Source/LibTIFF4/tif_luv.c Source/LibTIFF4/tif_lzma.c Source/LibTIFF4/tif_lzw.c Source/LibTIFF4/tif_next.c Source/LibTIFF4/tif_ojpeg.c Source/LibTIFF4/tif_open.c Source/LibTIFF4/tif_packbits.c Source/LibTIFF4/tif_pixarlog.c Source/LibTIFF4/tif_predict.c Source/LibTIFF4/tif_print.c Source/LibTIFF4/tif_read.c Source/LibTIFF4/tif_strip.c Source/LibTIFF4/tif_swab.c Source/LibTIFF4/tif_thunder.c Source/LibTIFF4/tif_tile.c Source/LibTIFF4/tif_version.c Source/LibTIFF4/tif_warning.c Source/LibTIFF4/tif_write.c Source/LibTIFF4/tif_zip.c Source/ZLib/adler32.c Source/ZLib/compress.c Source/ZLib/crc32.c Source/ZLib/deflate.c Source/ZLib/gzclose.c Source/ZLib/gzlib.c Source/ZLib/gzread.c Source/ZLib/gzwrite.c Source/ZLib/infback.c Source/ZLib/inffast.c Source/ZLib/inflate.c Source/ZLib/inftrees.c Source/ZLib/trees.c Source/ZLib/uncompr.c Source/ZLib/zutil.c Source/LibOpenJPEG/bio.c Source/LibOpenJPEG/cio.c Source/LibOpenJPEG/dwt.c Source/LibOpenJPEG/event.c Source/LibOpenJPEG/function_list.c Source/LibOpenJPEG/image.c Source/LibOpenJPEG/invert.c Source/LibOpenJPEG/j2k.c Source/LibOpenJPEG/jp2.c Source/LibOpenJPEG/mct.c Source/LibOpenJPEG/mqc.c Source/LibOpenJPEG/openjpeg.c Source/LibOpenJPEG/opj_clock.c Source/LibOpenJPEG/pi.c Source/LibOpenJPEG/raw.c Source/LibOpenJPEG/t1.c Source/LibOpenJPEG/t2.c Source/LibOpenJPEG/tcd.c Source/LibOpenJPEG/tgt.c Source/OpenEXR/IexMath/IexMathFpu.cpp Source/OpenEXR/IlmImf/b44ExpLogTable.cpp Source/OpenEXR/IlmImf/ImfAcesFile.cpp Source/OpenEXR/IlmImf/ImfAttribute.cpp Source/OpenEXR/IlmImf/ImfB44Compressor.cpp Source/OpenEXR/IlmImf/ImfBoxAttribute.cpp Source/OpenEXR/IlmImf/ImfChannelList.cpp Source/OpenEXR/IlmImf/ImfChannelListAttribute.cpp Source/OpenEXR/IlmImf/ImfChromaticities.cpp Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.cpp Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.cpp Source/OpenEXR/IlmImf/ImfCompressionAttribute.cpp Source/OpenEXR/IlmImf/ImfCompressor.cpp Source/OpenEXR/IlmImf/ImfConvert.cpp Source/OpenEXR/IlmImf/ImfCRgbaFile.cpp Source/OpenEXR/IlmImf/ImfDeepCompositing.cpp Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfDoubleAttribute.cpp Source/OpenEXR/IlmImf/ImfDwaCompressor.cpp Source/OpenEXR/IlmImf/ImfEnvmap.cpp Source/OpenEXR/IlmImf/ImfEnvmapAttribute.cpp Source/OpenEXR/IlmImf/ImfFastHuf.cpp Source/OpenEXR/IlmImf/ImfFloatAttribute.cpp Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfFramesPerSecond.cpp Source/OpenEXR/IlmImf/ImfGenericInputFile.cpp Source/OpenEXR/IlmImf/ImfGenericOutputFile.cpp Source/OpenEXR/IlmImf/ImfHeader.cpp Source/OpenEXR/IlmImf/ImfHuf.cpp Source/OpenEXR/IlmImf/ImfInputFile.cpp Source/OpenEXR/IlmImf/ImfInputPart.cpp Source/OpenEXR/IlmImf/ImfInputPartData.cpp Source/OpenEXR/IlmImf/ImfIntAttribute.cpp Source/OpenEXR/IlmImf/ImfIO.cpp Source/OpenEXR/IlmImf/ImfKeyCode.cpp Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfLineOrderAttribute.cpp Source/OpenEXR/IlmImf/ImfLut.cpp Source/OpenEXR/IlmImf/ImfMatrixAttribute.cpp Source/OpenEXR/IlmImf/ImfMisc.cpp Source/OpenEXR/IlmImf/ImfMultiPartInputFile.cpp Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.cpp Source/OpenEXR/IlmImf/ImfMultiView.cpp Source/OpenEXR/IlmImf/ImfOpaqueAttribute.cpp Source/OpenEXR/IlmImf/ImfOutputFile.cpp Source/OpenEXR/IlmImf/ImfOutputPart.cpp Source/OpenEXR/IlmImf/ImfOutputPartData.cpp Source/OpenEXR/IlmImf/ImfPartType.cpp Source/OpenEXR/IlmImf/ImfPizCompressor.cpp Source/OpenEXR/IlmImf/ImfPreviewImage.cpp Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.cpp Source/OpenEXR/IlmImf/ImfPxr24Compressor.cpp Source/OpenEXR/IlmImf/ImfRational.cpp Source/OpenEXR/IlmImf/ImfRationalAttribute.cpp Source/OpenEXR/IlmImf/ImfRgbaFile.cpp Source/OpenEXR/IlmImf/ImfRgbaYca.cpp Source/OpenEXR/IlmImf/ImfRle.cpp Source/OpenEXR/IlmImf/ImfRleCompressor.cpp Source/OpenEXR/IlmImf/ImfScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfStandardAttributes.cpp Source/OpenEXR/IlmImf/ImfStdIO.cpp Source/OpenEXR/IlmImf/ImfStringAttribute.cpp Source/OpenEXR/IlmImf/ImfStringVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfSystemSpecific.cpp Source/OpenEXR/IlmImf/ImfTestFile.cpp Source/OpenEXR/IlmImf/ImfThreading.cpp Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.cpp Source/OpenEXR/IlmImf/ImfTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfTiledMisc.cpp Source/OpenEXR/IlmImf/ImfTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfTiledRgbaFile.cpp Source/OpenEXR/IlmImf/ImfTileOffsets.cpp Source/OpenEXR/IlmImf/ImfTimeCode.cpp Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfVecAttribute.cpp Source/OpenEXR/IlmImf/ImfVersion.cpp Source/OpenEXR/IlmImf/ImfWav.cpp Source/OpenEXR/IlmImf/ImfZip.cpp Source/OpenEXR/IlmImf/ImfZipCompressor.cpp Source/OpenEXR/Imath/ImathBox.cpp Source/OpenEXR/Imath/ImathColorAlgo.cpp Source/OpenEXR/Imath/ImathFun.cpp Source/OpenEXR/Imath/ImathMatrixAlgo.cpp Source/OpenEXR/Imath/ImathRandom.cpp Source/OpenEXR/Imath/ImathShear.cpp Source/OpenEXR/Imath/ImathVec.cpp Source/OpenEXR/Iex/IexBaseExc.cpp Source/OpenEXR/Iex/IexThrowErrnoExc.cpp Source/OpenEXR/Half/half.cpp Source/OpenEXR/IlmThread/IlmThread.cpp Source/OpenEXR/IlmThread/IlmThreadMutex.cpp Source/OpenEXR/IlmThread/IlmThreadPool.cpp Source/OpenEXR/IlmThread/IlmThreadSemaphore.cpp Source/OpenEXR/IexMath/IexMathFloatExc.cpp Source/LibRawLite/internal/dcraw_common.cpp Source/LibRawLite/internal/dcraw_fileio.cpp Source/LibRawLite/internal/demosaic_packs.cpp Source/LibRawLite/src/libraw_c_api.cpp Source/LibRawLite/src/libraw_cxx.cpp Source/LibRawLite/src/libraw_datastream.cpp Source/LibWebP/src/dec/alpha_dec.c Source/LibWebP/src/dec/buffer_dec.c Source/LibWebP/src/dec/frame_dec.c Source/LibWebP/src/dec/idec_dec.c Source/LibWebP/src/dec/io_dec.c Source/LibWebP/src/dec/quant_dec.c Source/LibWebP/src/dec/tree_dec.c Source/LibWebP/src/dec/vp8l_dec.c Source/LibWebP/src/dec/vp8_dec.c Source/LibWebP/src/dec/webp_dec.c Source/LibWebP/src/demux/anim_decode.c Source/LibWebP/src/demux/demux.c Source/LibWebP/src/dsp/alpha_processing.c Source/LibWebP/src/dsp/alpha_processing_mips_dsp_r2.c Source/LibWebP/src/dsp/alpha_processing_neon.c Source/LibWebP/src/dsp/alpha_processing_sse2.c Source/LibWebP/src/dsp/alpha_processing_sse41.c Source/LibWebP/src/dsp/cost.c Source/LibWebP/src/dsp/cost_mips32.c Source/LibWebP/src/dsp/cost_mips_dsp_r2.c Source/LibWebP/src/dsp/cost_neon.c Source/LibWebP/src/dsp/cost_sse2.c Source/LibWebP/src/dsp/cpu.c Source/LibWebP/src/dsp/dec.c Source/LibWebP/src/dsp/dec_clip_tables.c Source/LibWebP/src/dsp/dec_mips32.c Source/LibWebP/src/dsp/dec_mips_dsp_r2.c Source/LibWebP/src/dsp/dec_msa.c Source/LibWebP/src/dsp/dec_neon.c Source/LibWebP/src/dsp/dec_sse2.c Source/LibWebP/src/dsp/dec_sse41.c Source/LibWebP/src/dsp/enc.c Source/LibWebP/src/dsp/enc_avx2.c Source/LibWebP/src/dsp/enc_mips32.c Source/LibWebP/src/dsp/enc_mips_dsp_r2.c Source/LibWebP/src/dsp/enc_msa.c Source/LibWebP/src/dsp/enc_neon.c Source/LibWebP/src/dsp/enc_sse2.c Source/LibWebP/src/dsp/enc_sse41.c Source/LibWebP/src/dsp/filters.c Source/LibWebP/src/dsp/filters_mips_dsp_r2.c Source/LibWebP/src/dsp/filters_msa.c Source/LibWebP/src/dsp/filters_neon.c Source/LibWebP/src/dsp/filters_sse2.c Source/LibWebP/src/dsp/lossless.c Source/LibWebP/src/dsp/lossless_enc.c Source/LibWebP/src/dsp/lossless_enc_mips32.c Source/LibWebP/src/dsp/lossless_enc_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_enc_msa.c Source/LibWebP/src/dsp/lossless_enc_neon.c Source/LibWebP/src/dsp/lossless_enc_sse2.c Source/LibWebP/src/dsp/lossless_enc_sse41.c Source/LibWebP/src/dsp/lossless_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_msa.c Source/LibWebP/src/dsp/lossless_neon.c Source/LibWebP/src/dsp/lossless_sse2.c Source/LibWebP/src/dsp/rescaler.c Source/LibWebP/src/dsp/rescaler_mips32.c Source/LibWebP/src/dsp/rescaler_mips_dsp_r2.c Source/LibWebP/src/dsp/rescaler_msa.c Source/LibWebP/src/dsp/rescaler_neon.c Source/LibWebP/src/dsp/rescaler_sse2.c Source/LibWebP/src/dsp/ssim.c Source/LibWebP/src/dsp/ssim_sse2.c Source/LibWebP/src/dsp/upsampling.c Source/LibWebP/src/dsp/upsampling_mips_dsp_r2.c Source/LibWebP/src/dsp/upsampling_msa.c Source/LibWebP/src/dsp/upsampling_neon.c Source/LibWebP/src/dsp/upsampling_sse2.c Source/LibWebP/src/dsp/upsampling_sse41.c Source/LibWebP/src/dsp/yuv.c Source/LibWebP/src/dsp/yuv_mips32.c Source/LibWebP/src/dsp/yuv_mips_dsp_r2.c Source/LibWebP/src/dsp/yuv_neon.c Source/LibWebP/src/dsp/yuv_sse2.c Source/LibWebP/src/dsp/yuv_sse41.c Source/LibWebP/src/enc/alpha_enc.c Source/LibWebP/src/enc/analysis_enc.c Source/LibWebP/src/enc/backward_references_cost_enc.c Source/LibWebP/src/enc/backward_references_enc.c Source/LibWebP/src/enc/config_enc.c Source/LibWebP/src/enc/cost_enc.c Source/LibWebP/src/enc/filter_enc.c Source/LibWebP/src/enc/frame_enc.c Source/LibWebP/src/enc/histogram_enc.c Source/LibWebP/src/enc/iterator_enc.c Source/LibWebP/src/enc/near_lossless_enc.c Source/LibWebP/src/enc/picture_csp_enc.c Source/LibWebP/src/enc/picture_enc.c Source/LibWebP/src/enc/picture_psnr_enc.c Source/LibWebP/src/enc/picture_rescale_enc.c Source/LibWebP/src/enc/picture_tools_enc.c Source/LibWebP/src/enc/predictor_enc.c Source/LibWebP/src/enc/quant_enc.c Source/LibWebP/src/enc/syntax_enc.c Source/LibWebP/src/enc/token_enc.c Source/LibWebP/src/enc/tree_enc.c Source/LibWebP/src/enc/vp8l_enc.c Source/LibWebP/src/enc/webp_enc.c Source/LibWebP/src/mux/anim_encode.c Source/LibWebP/src/mux/muxedit.c Source/LibWebP/src/mux/muxinternal.c Source/LibWebP/src/mux/muxread.c Source/LibWebP/src/utils/bit_reader_utils.c Source/LibWebP/src/utils/bit_writer_utils.c Source/LibWebP/src/utils/color_cache_utils.c Source/LibWebP/src/utils/filters_utils.c Source/LibWebP/src/utils/huffman_encode_utils.c Source/LibWebP/src/utils/huffman_utils.c Source/LibWebP/src/utils/quant_levels_dec_utils.c Source/LibWebP/src/utils/quant_levels_utils.c Source/LibWebP/src/utils/random_utils.c Source/LibWebP/src/utils/rescaler_utils.c Source/LibWebP/src/utils/thread_utils.c Source/LibWebP/src/utils/utils.c Source/LibJXR/image/decode/decode.c Source/LibJXR/image/decode/JXRTranscode.c Source/LibJXR/image/decode/postprocess.c Source/LibJXR/image/decode/segdec.c Source/LibJXR/image/decode/strdec.c Source/LibJXR/image/decode/strdec_x86.c Source/LibJXR/image/decode/strInvTransform.c Source/LibJXR/image/decode/strPredQuantDec.c Source/LibJXR/image/encode/encode.c Source/LibJXR/image/encode/segenc.c Source/LibJXR/image/encode/strenc.c Source/LibJXR/image/encode/strenc_x86.c Source/LibJXR/image/encode/strFwdTransform.c Source/LibJXR/image/encode/strPredQuantEnc.c Source/LibJXR/image/sys/adapthuff.c Source/LibJXR/image/sys/image.c Source/LibJXR/image/sys/strcodec.c Source/LibJXR/image/sys/strPredQuant.c Source/LibJXR/image/sys/strTransform.c Source/LibJXR/jxrgluelib/JXRGlue.c Source/LibJXR/jxrgluelib/JXRGlueJxr.c Source/LibJXR/jxrgluelib/JXRGluePFC.c Source/LibJXR/jxrgluelib/JXRMeta.c Wrapper/FreeImagePlus/src/fipImage.cpp Wrapper/FreeImagePlus/src/fipMemoryIO.cpp Wrapper/FreeImagePlus/src/fipMetadataFind.cpp Wrapper/FreeImagePlus/src/fipMultiPage.cpp Wrapper/FreeImagePlus/src/fipTag.cpp Wrapper/FreeImagePlus/src/fipWinImage.cpp Wrapper/FreeImagePlus/src/FreeImagePlus.cpp 
+-SRCS = ./Source/FreeImage/BitmapAccess.cpp ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/ConversionRGBA16.cpp ./Source/FreeImage/ConversionRGBAF.cpp ./Source/FreeImage/FreeImage.cpp ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp ./Source/FreeImage/GetType.cpp ./Source/FreeImage/LFPQuantizer.cpp ./Source/FreeImage/MemoryIO.cpp ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp ./Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp ./Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp ./Source/FreeImage/PluginJPEG.cpp ./Source/FreeImage/PluginJXR.cpp ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp ./Source/FreeImage/PluginWBMP.cpp ./Source/FreeImage/PluginWebP.cpp ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp ./Source/FreeImage/ConversionRGB16.cpp ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp ./Source/FreeImage/ToneMapping.cpp ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp ./Source/FreeImageToolkit/Background.cpp ./Source/FreeImageToolkit/BSplineRotate.cpp ./Source/FreeImageToolkit/Channels.cpp ./Source/FreeImageToolkit/ClassicRotate.cpp ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp ./Source/FreeImageToolkit/JPEGTransform.cpp ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp Source/LibJPEG/jaricom.c Source/LibJPEG/jcapimin.c Source/LibJPEG/jcapistd.c Source/LibJPEG/jcarith.c Source/LibJPEG/jccoefct.c Source/LibJPEG/jccolor.c Source/LibJPEG/jcdctmgr.c Source/LibJPEG/jchuff.c Source/LibJPEG/jcinit.c Source/LibJPEG/jcmainct.c Source/LibJPEG/jcmarker.c Source/LibJPEG/jcmaster.c Source/LibJPEG/jcomapi.c Source/LibJPEG/jcparam.c Source/LibJPEG/jcprepct.c Source/LibJPEG/jcsample.c Source/LibJPEG/jctrans.c Source/LibJPEG/jdapimin.c Source/LibJPEG/jdapistd.c Source/LibJPEG/jdarith.c Source/LibJPEG/jdatadst.c Source/LibJPEG/jdatasrc.c Source/LibJPEG/jdcoefct.c Source/LibJPEG/jdcolor.c Source/LibJPEG/jddctmgr.c Source/LibJPEG/jdhuff.c Source/LibJPEG/jdinput.c Source/LibJPEG/jdmainct.c Source/LibJPEG/jdmarker.c Source/LibJPEG/jdmaster.c Source/LibJPEG/jdmerge.c Source/LibJPEG/jdpostct.c Source/LibJPEG/jdsample.c Source/LibJPEG/jdtrans.c Source/LibJPEG/jerror.c Source/LibJPEG/jfdctflt.c Source/LibJPEG/jfdctfst.c Source/LibJPEG/jfdctint.c Source/LibJPEG/jidctflt.c Source/LibJPEG/jidctfst.c Source/LibJPEG/jidctint.c Source/LibJPEG/jmemmgr.c Source/LibJPEG/jmemnobs.c Source/LibJPEG/jquant1.c Source/LibJPEG/jquant2.c Source/LibJPEG/jutils.c Source/LibJPEG/transupp.c Source/LibPNG/png.c Source/LibPNG/pngerror.c Source/LibPNG/pngget.c Source/LibPNG/pngmem.c Source/LibPNG/pngpread.c Source/LibPNG/pngread.c Source/LibPNG/pngrio.c Source/LibPNG/pngrtran.c Source/LibPNG/pngrutil.c Source/LibPNG/pngset.c Source/LibPNG/pngtrans.c Source/LibPNG/pngwio.c Source/LibPNG/pngwrite.c Source/LibPNG/pngwtran.c Source/LibPNG/pngwutil.c Source/LibTIFF4/tif_aux.c Source/LibTIFF4/tif_close.c Source/LibTIFF4/tif_codec.c Source/LibTIFF4/tif_color.c Source/LibTIFF4/tif_compress.c Source/LibTIFF4/tif_dir.c Source/LibTIFF4/tif_dirinfo.c Source/LibTIFF4/tif_dirread.c Source/LibTIFF4/tif_dirwrite.c Source/LibTIFF4/tif_dumpmode.c Source/LibTIFF4/tif_error.c Source/LibTIFF4/tif_extension.c Source/LibTIFF4/tif_fax3.c Source/LibTIFF4/tif_fax3sm.c Source/LibTIFF4/tif_flush.c Source/LibTIFF4/tif_getimage.c Source/LibTIFF4/tif_jpeg.c Source/LibTIFF4/tif_lerc.c Source/LibTIFF4/tif_luv.c Source/LibTIFF4/tif_lzw.c Source/LibTIFF4/tif_next.c Source/LibTIFF4/tif_ojpeg.c Source/LibTIFF4/tif_open.c Source/LibTIFF4/tif_packbits.c Source/LibTIFF4/tif_pixarlog.c Source/LibTIFF4/tif_predict.c Source/LibTIFF4/tif_print.c Source/LibTIFF4/tif_read.c Source/LibTIFF4/tif_strip.c Source/LibTIFF4/tif_swab.c Source/LibTIFF4/tif_thunder.c Source/LibTIFF4/tif_tile.c Source/LibTIFF4/tif_version.c Source/LibTIFF4/tif_warning.c Source/LibTIFF4/tif_webp.c Source/LibTIFF4/tif_write.c Source/LibTIFF4/tif_zip.c Source/ZLib/adler32.c Source/ZLib/compress.c Source/ZLib/crc32.c Source/ZLib/deflate.c Source/ZLib/gzclose.c Source/ZLib/gzlib.c Source/ZLib/gzread.c Source/ZLib/gzwrite.c Source/ZLib/infback.c Source/ZLib/inffast.c Source/ZLib/inflate.c Source/ZLib/inftrees.c Source/ZLib/trees.c Source/ZLib/uncompr.c Source/ZLib/zutil.c Source/LibOpenJPEG/bio.c Source/LibOpenJPEG/cio.c Source/LibOpenJPEG/dwt.c Source/LibOpenJPEG/event.c Source/LibOpenJPEG/function_list.c Source/LibOpenJPEG/image.c Source/LibOpenJPEG/invert.c Source/LibOpenJPEG/j2k.c Source/LibOpenJPEG/jp2.c Source/LibOpenJPEG/mct.c Source/LibOpenJPEG/mqc.c Source/LibOpenJPEG/openjpeg.c Source/LibOpenJPEG/opj_clock.c Source/LibOpenJPEG/pi.c Source/LibOpenJPEG/raw.c Source/LibOpenJPEG/t1.c Source/LibOpenJPEG/t2.c Source/LibOpenJPEG/tcd.c Source/LibOpenJPEG/tgt.c Source/OpenEXR/IexMath/IexMathFpu.cpp Source/OpenEXR/IlmImf/b44ExpLogTable.cpp Source/OpenEXR/IlmImf/ImfAcesFile.cpp Source/OpenEXR/IlmImf/ImfAttribute.cpp Source/OpenEXR/IlmImf/ImfB44Compressor.cpp Source/OpenEXR/IlmImf/ImfBoxAttribute.cpp Source/OpenEXR/IlmImf/ImfChannelList.cpp Source/OpenEXR/IlmImf/ImfChannelListAttribute.cpp Source/OpenEXR/IlmImf/ImfChromaticities.cpp Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.cpp Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.cpp Source/OpenEXR/IlmImf/ImfCompressionAttribute.cpp Source/OpenEXR/IlmImf/ImfCompressor.cpp Source/OpenEXR/IlmImf/ImfConvert.cpp Source/OpenEXR/IlmImf/ImfCRgbaFile.cpp Source/OpenEXR/IlmImf/ImfDeepCompositing.cpp Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfDoubleAttribute.cpp Source/OpenEXR/IlmImf/ImfDwaCompressor.cpp Source/OpenEXR/IlmImf/ImfEnvmap.cpp Source/OpenEXR/IlmImf/ImfEnvmapAttribute.cpp Source/OpenEXR/IlmImf/ImfFastHuf.cpp Source/OpenEXR/IlmImf/ImfFloatAttribute.cpp Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfFramesPerSecond.cpp Source/OpenEXR/IlmImf/ImfGenericInputFile.cpp Source/OpenEXR/IlmImf/ImfGenericOutputFile.cpp Source/OpenEXR/IlmImf/ImfHeader.cpp Source/OpenEXR/IlmImf/ImfHuf.cpp Source/OpenEXR/IlmImf/ImfInputFile.cpp Source/OpenEXR/IlmImf/ImfInputPart.cpp Source/OpenEXR/IlmImf/ImfInputPartData.cpp Source/OpenEXR/IlmImf/ImfIntAttribute.cpp Source/OpenEXR/IlmImf/ImfIO.cpp Source/OpenEXR/IlmImf/ImfKeyCode.cpp Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfLineOrderAttribute.cpp Source/OpenEXR/IlmImf/ImfLut.cpp Source/OpenEXR/IlmImf/ImfMatrixAttribute.cpp Source/OpenEXR/IlmImf/ImfMisc.cpp Source/OpenEXR/IlmImf/ImfMultiPartInputFile.cpp Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.cpp Source/OpenEXR/IlmImf/ImfMultiView.cpp Source/OpenEXR/IlmImf/ImfOpaqueAttribute.cpp Source/OpenEXR/IlmImf/ImfOutputFile.cpp Source/OpenEXR/IlmImf/ImfOutputPart.cpp Source/OpenEXR/IlmImf/ImfOutputPartData.cpp Source/OpenEXR/IlmImf/ImfPartType.cpp Source/OpenEXR/IlmImf/ImfPizCompressor.cpp Source/OpenEXR/IlmImf/ImfPreviewImage.cpp Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.cpp Source/OpenEXR/IlmImf/ImfPxr24Compressor.cpp Source/OpenEXR/IlmImf/ImfRational.cpp Source/OpenEXR/IlmImf/ImfRationalAttribute.cpp Source/OpenEXR/IlmImf/ImfRgbaFile.cpp Source/OpenEXR/IlmImf/ImfRgbaYca.cpp Source/OpenEXR/IlmImf/ImfRle.cpp Source/OpenEXR/IlmImf/ImfRleCompressor.cpp Source/OpenEXR/IlmImf/ImfScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfStandardAttributes.cpp Source/OpenEXR/IlmImf/ImfStdIO.cpp Source/OpenEXR/IlmImf/ImfStringAttribute.cpp Source/OpenEXR/IlmImf/ImfStringVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfSystemSpecific.cpp Source/OpenEXR/IlmImf/ImfTestFile.cpp Source/OpenEXR/IlmImf/ImfThreading.cpp Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.cpp Source/OpenEXR/IlmImf/ImfTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfTiledMisc.cpp Source/OpenEXR/IlmImf/ImfTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfTiledRgbaFile.cpp Source/OpenEXR/IlmImf/ImfTileOffsets.cpp Source/OpenEXR/IlmImf/ImfTimeCode.cpp Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfVecAttribute.cpp Source/OpenEXR/IlmImf/ImfVersion.cpp Source/OpenEXR/IlmImf/ImfWav.cpp Source/OpenEXR/IlmImf/ImfZip.cpp Source/OpenEXR/IlmImf/ImfZipCompressor.cpp Source/OpenEXR/Imath/ImathBox.cpp Source/OpenEXR/Imath/ImathColorAlgo.cpp Source/OpenEXR/Imath/ImathFun.cpp Source/OpenEXR/Imath/ImathMatrixAlgo.cpp Source/OpenEXR/Imath/ImathRandom.cpp Source/OpenEXR/Imath/ImathShear.cpp Source/OpenEXR/Imath/ImathVec.cpp Source/OpenEXR/Iex/IexBaseExc.cpp Source/OpenEXR/Iex/IexThrowErrnoExc.cpp Source/OpenEXR/Half/half.cpp Source/OpenEXR/IlmThread/IlmThread.cpp Source/OpenEXR/IlmThread/IlmThreadMutex.cpp Source/OpenEXR/IlmThread/IlmThreadPool.cpp Source/OpenEXR/IlmThread/IlmThreadSemaphore.cpp Source/OpenEXR/IexMath/IexMathFloatExc.cpp Source/LibRawLite/src/decoders/canon_600.cpp Source/LibRawLite/src/decoders/crx.cpp Source/LibRawLite/src/decoders/decoders_dcraw.cpp Source/LibRawLite/src/decoders/decoders_libraw.cpp Source/LibRawLite/src/decoders/decoders_libraw_dcrdefs.cpp Source/LibRawLite/src/decoders/dng.cpp Source/LibRawLite/src/decoders/fp_dng.cpp Source/LibRawLite/src/decoders/fuji_compressed.cpp Source/LibRawLite/src/decoders/generic.cpp Source/LibRawLite/src/decoders/kodak_decoders.cpp Source/LibRawLite/src/decoders/load_mfbacks.cpp Source/LibRawLite/src/decoders/smal.cpp Source/LibRawLite/src/decoders/unpack.cpp Source/LibRawLite/src/decoders/unpack_thumb.cpp Source/LibRawLite/src/demosaic/aahd_demosaic.cpp Source/LibRawLite/src/demosaic/ahd_demosaic.cpp Source/LibRawLite/src/demosaic/dcb_demosaic.cpp Source/LibRawLite/src/demosaic/dht_demosaic.cpp Source/LibRawLite/src/demosaic/misc_demosaic.cpp Source/LibRawLite/src/demosaic/xtrans_demosaic.cpp Source/LibRawLite/src/integration/dngsdk_glue.cpp Source/LibRawLite/src/integration/rawspeed_glue.cpp Source/LibRawLite/src/libraw_datastream.cpp Source/LibRawLite/src/metadata/adobepano.cpp Source/LibRawLite/src/metadata/canon.cpp Source/LibRawLite/src/metadata/ciff.cpp Source/LibRawLite/src/metadata/cr3_parser.cpp Source/LibRawLite/src/metadata/epson.cpp Source/LibRawLite/src/metadata/exif_gps.cpp Source/LibRawLite/src/metadata/fuji.cpp Source/LibRawLite/src/metadata/hasselblad_model.cpp Source/LibRawLite/src/metadata/identify.cpp Source/LibRawLite/src/metadata/identify_tools.cpp Source/LibRawLite/src/metadata/kodak.cpp Source/LibRawLite/src/metadata/leica.cpp Source/LibRawLite/src/metadata/makernotes.cpp Source/LibRawLite/src/metadata/mediumformat.cpp Source/LibRawLite/src/metadata/minolta.cpp Source/LibRawLite/src/metadata/misc_parsers.cpp Source/LibRawLite/src/metadata/nikon.cpp Source/LibRawLite/src/metadata/normalize_model.cpp Source/LibRawLite/src/metadata/olympus.cpp Source/LibRawLite/src/metadata/p1.cpp Source/LibRawLite/src/metadata/pentax.cpp Source/LibRawLite/src/metadata/samsung.cpp Source/LibRawLite/src/metadata/sony.cpp Source/LibRawLite/src/metadata/tiff.cpp Source/LibRawLite/src/postprocessing/aspect_ratio.cpp Source/LibRawLite/src/postprocessing/dcraw_process.cpp Source/LibRawLite/src/postprocessing/mem_image.cpp Source/LibRawLite/src/postprocessing/postprocessing_aux.cpp Source/LibRawLite/src/postprocessing/postprocessing_utils.cpp Source/LibRawLite/src/postprocessing/postprocessing_utils_dcrdefs.cpp Source/LibRawLite/src/preprocessing/ext_preprocess.cpp Source/LibRawLite/src/preprocessing/raw2image.cpp Source/LibRawLite/src/preprocessing/subtract_black.cpp Source/LibRawLite/src/tables/cameralist.cpp Source/LibRawLite/src/tables/colorconst.cpp Source/LibRawLite/src/tables/colordata.cpp Source/LibRawLite/src/tables/wblists.cpp Source/LibRawLite/src/utils/curves.cpp Source/LibRawLite/src/utils/decoder_info.cpp Source/LibRawLite/src/utils/init_close_utils.cpp Source/LibRawLite/src/utils/open.cpp Source/LibRawLite/src/utils/phaseone_processing.cpp Source/LibRawLite/src/utils/read_utils.cpp Source/LibRawLite/src/utils/thumb_utils.cpp Source/LibRawLite/src/utils/utils_dcraw.cpp Source/LibRawLite/src/utils/utils_libraw.cpp Source/LibRawLite/src/write/file_write.cpp Source/LibRawLite/src/x3f/x3f_parse_process.cpp Source/LibRawLite/src/x3f/x3f_utils_patched.cpp Source/LibWebP/src/dec/alpha_dec.c Source/LibWebP/src/dec/buffer_dec.c Source/LibWebP/src/dec/frame_dec.c Source/LibWebP/src/dec/idec_dec.c Source/LibWebP/src/dec/io_dec.c Source/LibWebP/src/dec/quant_dec.c Source/LibWebP/src/dec/tree_dec.c Source/LibWebP/src/dec/vp8l_dec.c Source/LibWebP/src/dec/vp8_dec.c Source/LibWebP/src/dec/webp_dec.c Source/LibWebP/src/demux/anim_decode.c Source/LibWebP/src/demux/demux.c Source/LibWebP/src/dsp/alpha_processing.c Source/LibWebP/src/dsp/alpha_processing_mips_dsp_r2.c Source/LibWebP/src/dsp/alpha_processing_neon.c Source/LibWebP/src/dsp/alpha_processing_sse2.c Source/LibWebP/src/dsp/alpha_processing_sse41.c Source/LibWebP/src/dsp/cost.c Source/LibWebP/src/dsp/cost_mips32.c Source/LibWebP/src/dsp/cost_mips_dsp_r2.c Source/LibWebP/src/dsp/cost_neon.c Source/LibWebP/src/dsp/cost_sse2.c Source/LibWebP/src/dsp/cpu.c Source/LibWebP/src/dsp/dec.c Source/LibWebP/src/dsp/dec_clip_tables.c Source/LibWebP/src/dsp/dec_mips32.c Source/LibWebP/src/dsp/dec_mips_dsp_r2.c Source/LibWebP/src/dsp/dec_msa.c Source/LibWebP/src/dsp/dec_neon.c Source/LibWebP/src/dsp/dec_sse2.c Source/LibWebP/src/dsp/dec_sse41.c Source/LibWebP/src/dsp/enc.c Source/LibWebP/src/dsp/enc_avx2.c Source/LibWebP/src/dsp/enc_mips32.c Source/LibWebP/src/dsp/enc_mips_dsp_r2.c Source/LibWebP/src/dsp/enc_msa.c Source/LibWebP/src/dsp/enc_neon.c Source/LibWebP/src/dsp/enc_sse2.c Source/LibWebP/src/dsp/enc_sse41.c Source/LibWebP/src/dsp/filters.c Source/LibWebP/src/dsp/filters_mips_dsp_r2.c Source/LibWebP/src/dsp/filters_msa.c Source/LibWebP/src/dsp/filters_neon.c Source/LibWebP/src/dsp/filters_sse2.c Source/LibWebP/src/dsp/lossless.c Source/LibWebP/src/dsp/lossless_enc.c Source/LibWebP/src/dsp/lossless_enc_mips32.c Source/LibWebP/src/dsp/lossless_enc_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_enc_msa.c Source/LibWebP/src/dsp/lossless_enc_neon.c Source/LibWebP/src/dsp/lossless_enc_sse2.c Source/LibWebP/src/dsp/lossless_enc_sse41.c Source/LibWebP/src/dsp/lossless_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_msa.c Source/LibWebP/src/dsp/lossless_neon.c Source/LibWebP/src/dsp/lossless_sse2.c Source/LibWebP/src/dsp/lossless_sse41.c Source/LibWebP/src/dsp/rescaler.c Source/LibWebP/src/dsp/rescaler_mips32.c Source/LibWebP/src/dsp/rescaler_mips_dsp_r2.c Source/LibWebP/src/dsp/rescaler_msa.c Source/LibWebP/src/dsp/rescaler_neon.c Source/LibWebP/src/dsp/rescaler_sse2.c Source/LibWebP/src/dsp/ssim.c Source/LibWebP/src/dsp/ssim_sse2.c Source/LibWebP/src/dsp/upsampling.c Source/LibWebP/src/dsp/upsampling_mips_dsp_r2.c Source/LibWebP/src/dsp/upsampling_msa.c Source/LibWebP/src/dsp/upsampling_neon.c Source/LibWebP/src/dsp/upsampling_sse2.c Source/LibWebP/src/dsp/upsampling_sse41.c Source/LibWebP/src/dsp/yuv.c Source/LibWebP/src/dsp/yuv_mips32.c Source/LibWebP/src/dsp/yuv_mips_dsp_r2.c Source/LibWebP/src/dsp/yuv_neon.c Source/LibWebP/src/dsp/yuv_sse2.c Source/LibWebP/src/dsp/yuv_sse41.c Source/LibWebP/src/enc/alpha_enc.c Source/LibWebP/src/enc/analysis_enc.c Source/LibWebP/src/enc/backward_references_cost_enc.c Source/LibWebP/src/enc/backward_references_enc.c Source/LibWebP/src/enc/config_enc.c Source/LibWebP/src/enc/cost_enc.c Source/LibWebP/src/enc/filter_enc.c Source/LibWebP/src/enc/frame_enc.c Source/LibWebP/src/enc/histogram_enc.c Source/LibWebP/src/enc/iterator_enc.c Source/LibWebP/src/enc/near_lossless_enc.c Source/LibWebP/src/enc/picture_csp_enc.c Source/LibWebP/src/enc/picture_enc.c Source/LibWebP/src/enc/picture_psnr_enc.c Source/LibWebP/src/enc/picture_rescale_enc.c Source/LibWebP/src/enc/picture_tools_enc.c Source/LibWebP/src/enc/predictor_enc.c Source/LibWebP/src/enc/quant_enc.c Source/LibWebP/src/enc/syntax_enc.c Source/LibWebP/src/enc/token_enc.c Source/LibWebP/src/enc/tree_enc.c Source/LibWebP/src/enc/vp8l_enc.c Source/LibWebP/src/enc/webp_enc.c Source/LibWebP/src/mux/anim_encode.c Source/LibWebP/src/mux/muxedit.c Source/LibWebP/src/mux/muxinternal.c Source/LibWebP/src/mux/muxread.c Source/LibWebP/src/utils/bit_reader_utils.c Source/LibWebP/src/utils/bit_writer_utils.c Source/LibWebP/src/utils/color_cache_utils.c Source/LibWebP/src/utils/filters_utils.c Source/LibWebP/src/utils/huffman_encode_utils.c Source/LibWebP/src/utils/huffman_utils.c Source/LibWebP/src/utils/quant_levels_dec_utils.c Source/LibWebP/src/utils/quant_levels_utils.c Source/LibWebP/src/utils/random_utils.c Source/LibWebP/src/utils/rescaler_utils.c Source/LibWebP/src/utils/thread_utils.c Source/LibWebP/src/utils/utils.c Source/LibJXR/image/decode/decode.c Source/LibJXR/image/decode/JXRTranscode.c Source/LibJXR/image/decode/postprocess.c Source/LibJXR/image/decode/segdec.c Source/LibJXR/image/decode/strdec.c Source/LibJXR/image/decode/strdec_x86.c Source/LibJXR/image/decode/strInvTransform.c Source/LibJXR/image/decode/strPredQuantDec.c Source/LibJXR/image/encode/encode.c Source/LibJXR/image/encode/segenc.c Source/LibJXR/image/encode/strenc.c Source/LibJXR/image/encode/strenc_x86.c Source/LibJXR/image/encode/strFwdTransform.c Source/LibJXR/image/encode/strPredQuantEnc.c Source/LibJXR/image/sys/adapthuff.c Source/LibJXR/image/sys/image.c Source/LibJXR/image/sys/strcodec.c Source/LibJXR/image/sys/strPredQuant.c Source/LibJXR/image/sys/strTransform.c Source/LibJXR/jxrgluelib/JXRGlue.c Source/LibJXR/jxrgluelib/JXRGlueJxr.c Source/LibJXR/jxrgluelib/JXRGluePFC.c Source/LibJXR/jxrgluelib/JXRMeta.c Wrapper/FreeImagePlus/src/fipImage.cpp Wrapper/FreeImagePlus/src/fipMemoryIO.cpp Wrapper/FreeImagePlus/src/fipMetadataFind.cpp Wrapper/FreeImagePlus/src/fipMultiPage.cpp Wrapper/FreeImagePlus/src/fipTag.cpp Wrapper/FreeImagePlus/src/fipWinImage.cpp Wrapper/FreeImagePlus/src/FreeImagePlus.cpp 
 -INCLUDE = -I. -ISource -ISource/Metadata -ISource/FreeImageToolkit -ISource/LibJPEG -ISource/LibPNG -ISource/LibTIFF4 -ISource/ZLib -ISource/LibOpenJPEG -ISource/OpenEXR -ISource/OpenEXR/Half -ISource/OpenEXR/Iex -ISource/OpenEXR/IlmImf -ISource/OpenEXR/IlmThread -ISource/OpenEXR/Imath -ISource/OpenEXR/IexMath -ISource/LibRawLite -ISource/LibRawLite/dcraw -ISource/LibRawLite/internal -ISource/LibRawLite/libraw -ISource/LibRawLite/src -ISource/LibWebP -ISource/LibJXR -ISource/LibJXR/common/include -ISource/LibJXR/image/sys -ISource/LibJXR/jxrgluelib -IWrapper/FreeImagePlus
 +SRCS = ./Source/FreeImage/BitmapAccess.cpp ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/ConversionRGBA16.cpp ./Source/FreeImage/ConversionRGBAF.cpp ./Source/FreeImage/FreeImage.cpp ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp ./Source/FreeImage/GetType.cpp ./Source/FreeImage/LFPQuantizer.cpp ./Source/FreeImage/MemoryIO.cpp ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp ./Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp ./Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp ./Source/FreeImage/PluginJPEG.cpp ./Source/FreeImage/PluginJXR.cpp ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp ./Source/FreeImage/PluginWBMP.cpp ./Source/FreeImage/PluginWebP.cpp ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp ./Source/FreeImage/ConversionRGB16.cpp ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp ./Source/FreeImage/ToneMapping.cpp ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp ./Source/FreeImageToolkit/Background.cpp ./Source/FreeImageToolkit/BSplineRotate.cpp ./Source/FreeImageToolkit/Channels.cpp ./Source/FreeImageToolkit/ClassicRotate.cpp ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp ./Source/FreeImageToolkit/JPEGTransform.cpp ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp Wrapper/FreeImagePlus/src/fipImage.cpp Wrapper/FreeImagePlus/src/fipMemoryIO.cpp Wrapper/FreeImagePlus/src/fipMetadataFind.cpp Wrapper/FreeImagePlus/src/fipMultiPage.cpp Wrapper/FreeImagePlus/src/fipTag.cpp Wrapper/FreeImagePlus/src/fipWinImage.cpp Wrapper/FreeImagePlus/src/FreeImagePlus.cpp 
 +INCLUDE = -I. -ISource -ISource/Metadata -ISource/FreeImageToolkit -IWrapper/FreeImagePlus
diff --git a/pkgs/development/libraries/gdal/2.4.nix b/pkgs/development/libraries/gdal/2.4.nix
index 0e57160f194..5d6e99e8bd7 100644
--- a/pkgs/development/libraries/gdal/2.4.nix
+++ b/pkgs/development/libraries/gdal/2.4.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, libjpeg, libtiff, zlib
+{ lib, stdenv, fetchurl, fetchpatch, libjpeg, libtiff, zlib
 , postgresql, libmysqlclient, libgeotiff, python3Packages, proj, geos, openssl
 , libpng, sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat
 , libiconv, libxml2
@@ -16,6 +16,16 @@ stdenv.mkDerivation rec {
     sha256 = "1n6w0m2603q9cldlz0wyscp75ci561dipc36jqbf3mjmylybv0x3";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/OSGeo/gdal/commit/7a18e2669a733ebe3544e4f5c735fd4d2ded5fa3.patch";
+      sha256 = "sha256-rBgIxJcgRzZR1gyzDWK/Sh7MdPWeczxEYVELbYEV8JY=";
+      relative = "gdal";
+      # this doesn't apply correctly because of line endings
+      excludes = [ "third_party/LercLib/Lerc2.h" ];
+    })
+  ];
+
   buildInputs = [ libjpeg libtiff libgeotiff libpng proj openssl sqlite
     libspatialite poppler hdf4 qhull giflib expat libxml2 proj ]
   ++ (with python3Packages; [ python numpy wrapPython ])
diff --git a/pkgs/development/libraries/gecode/3.nix b/pkgs/development/libraries/gecode/3.nix
index 5c660a99ef8..3cf5d590fa8 100644
--- a/pkgs/development/libraries/gecode/3.nix
+++ b/pkgs/development/libraries/gecode/3.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, bash, perl }:
+{ lib, stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
   pname = "gecode";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0k45jas6p3cyldgyir1314ja3174sayn2h2ly3z9b4dl3368pk77";
   };
 
-  nativeBuildInputs = [ bash perl ];
+  nativeBuildInputs = [ perl ];
 
   preConfigure = "patchShebangs configure";
 
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 97da2a7c3be..2c02bac92d2 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -45,23 +45,15 @@ in
 
 stdenv.mkDerivation rec {
   pname = "glib";
-  version = "2.72.0";
+  version = "2.72.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "177w1MTnpi4I77jl8lKgE1cAe5WIqH/ytGOjhXAR950=";
+    sha256 = "wH5XFHslTO+SzoCgN43AwCpDWOfeRwLp9AMGl4EJX+I=";
   };
 
   patches = optionals stdenv.isDarwin [
     ./darwin-compilation.patch
-
-    # Fix Inkscape compilation with clang++
-    # https://gitlab.gnome.org/GNOME/glib/-/issues/2625
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/glib/-/commit/97d39b745ff1f621424f68a41ce0a7c5bb554c87.patch";
-      sha256 = "wftuyf3ExFfrISngCQpEUpIGfHCCLXeYv/PEb/TE6a8=";
-      revert = true;
-    })
   ] ++ optionals stdenv.hostPlatform.isMusl [
     ./quark_init_on_demand.patch
     ./gobject_init_on_demand.patch
diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix
index 65a622f0467..ba782321559 100644
--- a/pkgs/development/libraries/glibc/default.nix
+++ b/pkgs/development/libraries/glibc/default.nix
@@ -40,13 +40,10 @@ callPackage ./common.nix { inherit stdenv; } {
       makeFlagsArray+=("bindir=$bin/bin" "sbindir=$bin/sbin" "rootsbindir=$bin/sbin")
     '';
 
-    # The stackprotector and fortify hardening flags are autodetected by glibc
-    # and enabled by default if supported. Setting it for every gcc invocation
-    # does not work.
-    hardeningDisable = [ "stackprotector" "fortify" ]
-    # XXX: Not actually musl-speciic but since only musl enables pie by default,
-    #      limit rebuilds by only disabling pie w/musl
-      ++ lib.optional stdenv.hostPlatform.isMusl "pie";
+    # The pie, stackprotector and fortify hardening flags are autodetected by
+    # glibc and enabled by default if supported. Setting it for every gcc
+    # invocation does not work.
+    hardeningDisable = [ "fortify" "pie" "stackprotector" ];
 
     NIX_CFLAGS_COMPILE = lib.concatStringsSep " "
       (builtins.concatLists [
diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix
index f409935372e..8ba33b98634 100644
--- a/pkgs/development/libraries/glibmm/default.nix
+++ b/pkgs/development/libraries/glibmm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "glibmm";
-  version = "2.66.2";
+  version = "2.66.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-sqTNe5rph3lMu1ob7MEM7LZRgrm7hBhoYl1ruxI+2x0=";
+    sha256 = "sha256-r7liAkkUhdP0QQLZghmhctotP563j848+5JVm6SW5Jk=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix
index 0617eaa1a26..4428b077a47 100644
--- a/pkgs/development/libraries/goffice/default.nix
+++ b/pkgs/development/libraries/goffice/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "goffice";
-  version = "0.10.51";
+  version = "0.10.52";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "LoQQiE1qUa4AyUIJKKv6c/elUsGqIiNx308txazDzSM=";
+    sha256 = "YLnv2UNw8JabOU8KrIxuuR4V68DOEja0Sqc16xyYhAw=";
   };
 
   nativeBuildInputs = [ pkg-config intltool ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libxslt librsvg ];
 
   enableParallelBuilding = true;
-  doCheck = true;
+  doCheck = !stdenv.hostPlatform.isPower64;
 
   passthru = {
     updateScript = gnome.updateScript {
diff --git a/pkgs/development/libraries/goocanvas/2.x.nix b/pkgs/development/libraries/goocanvas/2.x.nix
index 1f2966695d8..f59198a5528 100644
--- a/pkgs/development/libraries/goocanvas/2.x.nix
+++ b/pkgs/development/libraries/goocanvas/2.x.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, gtk-doc, gobject-introspection, python2, gtk3, cairo, glib, gnome }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, gtk-doc, gobject-introspection, python3, gtk3, cairo, glib, gnome }:
 
 stdenv.mkDerivation rec {
   pname = "goocanvas";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "141fm7mbqib0011zmkv3g8vxcjwa7hypmq71ahdyhnj2sjvy4a67";
   };
 
-  nativeBuildInputs = [ pkg-config gettext gtk-doc python2 ];
+  nativeBuildInputs = [ pkg-config gettext gtk-doc python3 ];
   buildInputs = [ gtk3 cairo glib gobject-introspection ];
 
   configureFlags = [
diff --git a/pkgs/development/libraries/graphene-hardened-malloc/default.nix b/pkgs/development/libraries/graphene-hardened-malloc/default.nix
index f3c16c8ac32..3d4af9db19c 100644
--- a/pkgs/development/libraries/graphene-hardened-malloc/default.nix
+++ b/pkgs/development/libraries/graphene-hardened-malloc/default.nix
@@ -1,14 +1,21 @@
-{ lib, stdenv, fetchFromGitHub, python3, runCommand, makeWrapper, stress-ng }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, python3
+, runCommand
+, makeWrapper
+, stress-ng
+}:
 
 lib.fix (self: stdenv.mkDerivation rec {
   pname = "graphene-hardened-malloc";
-  version = "8";
+  version = "11";
 
   src = fetchFromGitHub {
     owner = "GrapheneOS";
     repo = "hardened_malloc";
     rev = version;
-    sha256 = "sha256-+5kJb3hhuFTto7zsIymIXl3tpKUOm3v1DCY4EkAOCgo=";
+    sha256 = "sha256-BbjL0W12QXFmGCzFrFYY6CZZeFbUt0elCGhM+mbL/IU=";
   };
 
   doCheck = true;
@@ -20,7 +27,7 @@ lib.fix (self: stdenv.mkDerivation rec {
 
   installPhase = ''
     install -Dm444 -t $out/include include/*
-    install -Dm444 -t $out/lib libhardened_malloc.so
+    install -Dm444 -t $out/lib out/libhardened_malloc.so
 
     mkdir -p $out/bin
     substitute preload.sh $out/bin/preload-hardened-malloc --replace "\$dir" $out/lib
@@ -41,21 +48,21 @@ lib.fix (self: stdenv.mkDerivation rec {
       # standalone executables. this includes disabling tests for
       # malloc_object_size, which doesn't make sense to use via LD_PRELOAD.
       buildPhase = ''
-        pushd test/simple-memory-corruption
+        pushd test
         make LDLIBS= LDFLAGS=-Wl,--unresolved-symbols=ignore-all CXXFLAGS=-lstdc++
         substituteInPlace test_smc.py \
           --replace 'test_malloc_object_size' 'dont_test_malloc_object_size' \
           --replace 'test_invalid_malloc_object_size' 'dont_test_invalid_malloc_object_size'
-        popd # test/simple-memory-corruption
+        popd # test
       '';
 
       installPhase = ''
         mkdir -p $out/test
-        cp -r test/simple-memory-corruption $out/test/simple-memory-corruption
+        cp -r test $out/test
 
         mkdir -p $out/bin
         makeWrapper ${python3.interpreter} $out/bin/run-tests \
-          --add-flags "-I -m unittest discover --start-directory $out/test/simple-memory-corruption"
+          --add-flags "-I -m unittest discover --start-directory $out/test"
       '';
     };
     tests = {
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index 0e17e13e581..758c4b091cd 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -84,6 +84,7 @@
 , libxml2
 , srt
 , vo-aacenc
+, libfreeaptx
 , VideoToolbox
 , AudioToolbox
 , AVFoundation
@@ -96,13 +97,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-bad";
-  version = "1.20.0";
+  version = "1.20.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-AVuNTZo5Xr9ETUCHaGeiA03TMEs61IvDoN0MHucdwR0=";
+    sha256 = "0j1q89dl8369djibc5p27lyj8y8p4maplmdzlryvrw0ib77w5lq9";
   };
 
   nativeBuildInputs = [
@@ -170,6 +171,7 @@ stdenv.mkDerivation rec {
     libintl
     srt
     vo-aacenc
+    libfreeaptx
   ] ++ lib.optionals enableZbar [
     zbar
   ] ++ lib.optionals faacSupport [
@@ -261,7 +263,7 @@ stdenv.mkDerivation rec {
     "-Disac=disabled" # depends on `webrtc-audio-coding-1` not compatible with 0.3
     "-Dgs=disabled" # depends on `google-cloud-cpp`
     "-Donnx=disabled" # depends on `libonnxruntime` not packaged in nixpkgs as of writing
-    "-Dopenaptx=disabled" # depends on older version of `libopenaptx` due to licensing conflict https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2235
+    "-Dopenaptx=enabled" # since gstreamer-1.20.1 `libfreeaptx` is supported for circumventing the dubious license conflict with `libopenaptx`
   ]
   ++ lib.optionals (!stdenv.isLinux) [
     "-Dva=disabled" # see comment on `libva` in `buildInputs`
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 82d90845677..a6942445fc5 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -41,13 +41,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-base";
-  version = "1.20.0";
+  version = "1.20.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-TLZvzPcwsQN+ZTOGLCEomQkSpttOW70U4O+RRFDrTHw=";
+    sha256 = "0162ly7pscymq6bsf1d5fva2k9s16zvfwyi1q6z4yfd97d0sdn4n";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index fa118834773..dcb4fcaef93 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gstreamer";
-  version = "1.20.0";
+  version = "1.20.1";
 
   outputs = [
     "bin"
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-7fS///hVkdT/97Ibue1/D+q8EjrEpO/ynnPLzkVPnbc=";
+    sha256 = "0cghi6n4nhdbajz3wqcgbh5xm94myvnqgsi9g2bz9n1s9904l2fy";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix
index d1c7233f0d4..9b67dd49c82 100644
--- a/pkgs/development/libraries/gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/default.nix
@@ -13,6 +13,8 @@
 
   gst-plugins-ugly = callPackage ./ugly { inherit CoreFoundation DiskArbitration IOKit; };
 
+  gst-plugins-viperfx = callPackage ./viperfx { };
+
   gst-rtsp-server = callPackage ./rtsp-server { };
 
   gst-libav = callPackage ./libav { };
diff --git a/pkgs/development/libraries/gstreamer/devtools/default.nix b/pkgs/development/libraries/gstreamer/devtools/default.nix
index aa92410e0e4..31c25648cc7 100644
--- a/pkgs/development/libraries/gstreamer/devtools/default.nix
+++ b/pkgs/development/libraries/gstreamer/devtools/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-devtools";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-afyHVuydk+XFJYyZCIQ08gPpH9vFryjR8sWD/YGbeh0=";
+    sha256 = "0asbapgf485h2gqq0sn9c4qknwi0ccpraf1685ixp2sv23pwgwc1";
   };
 
   outputs = [
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index 4630ce6d0ce..50acba29d67 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -16,7 +16,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-editing-services";
-  version = "1.20.0";
+  version = "1.20.1";
 
   outputs = [
     "out"
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-+Detz0Bz0ZpZCJhOh5zQOfQZLKNo5x056MzYpWuf7t8=";
+    sha256 = "1ps887yyj6jkj8a2613n43b4fbvynxwryinxvavi00cfnlhipkka";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index 3b686e4c7f5..a51936591a5 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -48,13 +48,13 @@ assert raspiCameraSupport -> (stdenv.isLinux && stdenv.isAarch64);
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-good";
-  version = "1.20.0";
+  version = "1.20.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-LRGcFauMnnn4zTxr9YL/egULKMyuUqtIZeGhRkmRZZw=";
+    sha256 = "1al4f35mx41cy2h6agvmsqkjfchsyfs0iyxzpv6pnl0xh9pqfriw";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 0d9f22d7d65..31e127db083 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-libav";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Xu5e2NUIKjG1AESOQVNcci7jDNX4Ik8ymCu6ui7t7xc=";
+    sha256 = "1iwz7928yi48xia5kfkj54x5dfmhbj25g9125vainpmp6fv1z9wi";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
index 80190200c26..679560e8ee1 100644
--- a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
+++ b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-rtsp-server";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-wgn17ZBtpxP91EqIROkJqmyK89+2MCWbCSz7d6d1WEM=";
+    sha256 = "028maajlvfn96v3gqk2ws1k6w9hjfk7dsxnm84d73pnpi99bqia7";
   };
 
   outputs = [
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index 05133271f84..be8aaf5606e 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-ugly";
-  version = "1.20.0";
+  version = "1.20.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-To3LXSZVLwpJN/a8Ynm9kHD1XKauDqoy1y0mTEQAHC4=";
+    sha256 = "06fvgyjwcf4paqxgp1xmgd0d0glkxys7n818526k10wrw92m20s2";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix
index c8b6230cd59..1f144b6985f 100644
--- a/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gstreamer-vaapi";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-95pHNG39XlheBj53B45fxJiwbe6JW/y/R9iGP8rJ6jI=";
+    sha256 = "0dqiy8mhcpq3yla8dk69pkjid7hiv98ykvwskb4pk45g6z2zdyw7";
   };
 
   outputs = [
diff --git a/pkgs/development/libraries/gstreamer/viperfx/default.nix b/pkgs/development/libraries/gstreamer/viperfx/default.nix
new file mode 100644
index 00000000000..83c7d75e98c
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/viperfx/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, wrapGAppsHook
+, gst_all_1
+, cmake
+}:
+stdenv.mkDerivation rec {
+  pname = "gst-plugins-viperfx";
+  version = "unstable-2020-9-20";
+
+  src = fetchFromGitHub {
+    owner = "Audio4Linux";
+    repo = "gst-plugin-viperfx";
+    rev = "a5c1b03dfe1ab0822b717a5f9392e9f1237fdba0";
+    sha256 = "sha256-0so4jV56nl3tZHuZpvtyMrpOZ4tNJ59Pyj6zbV5bJ5Y=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ];
+
+  propagatedBuildInputs = [
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install -D libgstviperfx.so $out/lib/gstreamer-1.0/libgstviperfx.so
+    install -D $src/COPYING $out/share/licenses/gst-plugins-viperfx/LICENSE
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "ViPER FX core wrapper plug-in for GStreamer1";
+    homepage = "https://github.com/Audio4Linux/gst-plugin-viperfx";
+    license = licenses.unfreeRedistributable;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ rewine ];
+  };
+}
diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix
index eaf6d5bf1b2..e59e471a51e 100644
--- a/pkgs/development/libraries/gtk/4.x.nix
+++ b/pkgs/development/libraries/gtk/4.x.nix
@@ -62,7 +62,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gtk4";
-  version = "4.6.2";
+  version = "4.6.3";
 
   outputs = [ "out" "dev" ] ++ lib.optionals x11Support [ "devdoc" ];
   outputBin = "dev";
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz";
-    sha256 = "/yY69gmlDrdgVmU1ktkpRZrvSBmkRMQ29tUsb2PB+uw=";
+    sha256 = "pXrNDkSCmBcA/fhllsdBPLYe9H915HR/2oCegjG42Ww=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gtksourceview/5.x.nix b/pkgs/development/libraries/gtksourceview/5.x.nix
index 81c0abd61b6..29d85980acc 100644
--- a/pkgs/development/libraries/gtksourceview/5.x.nix
+++ b/pkgs/development/libraries/gtksourceview/5.x.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtksourceview";
-  version = "5.4.0";
+  version = "5.4.1";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "ADvCF+ZwqOyKo67OmUtw5wt9a4B0k4rdohcYVV2E5jc=";
+    sha256 = "6zWECZz6CtyaCx7eCN72MgvQmeeedKLQrvtAV82T1o4=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gusb/default.nix b/pkgs/development/libraries/gusb/default.nix
index 449a7a17623..e3dac6c4ec7 100644
--- a/pkgs/development/libraries/gusb/default.nix
+++ b/pkgs/development/libraries/gusb/default.nix
@@ -10,13 +10,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gusb";
-  version = "0.3.7";
+  version = "0.3.10";
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "https://people.freedesktop.org/~hughsient/releases/libgusb-${version}.tar.xz";
-    sha256 = "sha256-2l8l1oc2ImibM1FIbL4CjvwlRAP2Rt2BIl3+hULYxn0=";
+    sha256 = "sha256-DrC5qw+LugxZYxyAnDe2Fu806zyOAAsLm3HPEeSTG9w=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index e02a0be4d28..685a77bbd59 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -43,11 +43,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gvfs";
-  version = "1.50.0";
+  version = "1.50.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "y8L1ZNLp8Ax2BnP0LWgDvOPggat/+0RW3v//upM5tN0=";
+    sha256 = "dPb0EU9kJJOEroNKv6tjkjGLdCLOUyFV1rSbrh/cQFY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/htmlcxx/c++17.patch b/pkgs/development/libraries/htmlcxx/c++17.patch
new file mode 100644
index 00000000000..53fa9fbfc8c
--- /dev/null
+++ b/pkgs/development/libraries/htmlcxx/c++17.patch
@@ -0,0 +1,24 @@
+diff --color -Naur a/html/CharsetConverter.cc b/html/CharsetConverter.cc
+--- a/html/CharsetConverter.cc	2018-12-29 03:13:56.000000000 +0000
++++ b/html/CharsetConverter.cc	2021-05-31 23:03:10.705334580 +0100
+@@ -7,7 +7,7 @@
+ using namespace std;
+ using namespace htmlcxx;
+ 
+-CharsetConverter::CharsetConverter(const string &from, const string &to) throw (Exception)
++CharsetConverter::CharsetConverter(const string &from, const string &to)
+ {
+ 	mIconvDescriptor = iconv_open(to.c_str(), from.c_str());
+ 	if (mIconvDescriptor == (iconv_t)(-1))
+diff --color -Naur a/html/CharsetConverter.h b/html/CharsetConverter.h
+--- a/html/CharsetConverter.h	2018-12-29 03:13:56.000000000 +0000
++++ b/html/CharsetConverter.h	2021-05-31 23:03:19.042574598 +0100
+@@ -17,7 +17,7 @@
+ 						: std::runtime_error(arg) {}
+ 			};
+ 			
+-			CharsetConverter(const std::string &from, const std::string &to) throw (Exception);
++			CharsetConverter(const std::string &from, const std::string &to);
+ 			~CharsetConverter();
+ 			
+ 			std::string convert(const std::string &input);
diff --git a/pkgs/development/libraries/htmlcxx/default.nix b/pkgs/development/libraries/htmlcxx/default.nix
index d9072e46e40..221ec7622ff 100644
--- a/pkgs/development/libraries/htmlcxx/default.nix
+++ b/pkgs/development/libraries/htmlcxx/default.nix
@@ -2,15 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "htmlcxx";
-  version = "0.86";
+  version = "0.87";
 
   src = fetchurl {
-    url = "mirror://sourceforge/htmlcxx/htmlcxx/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1hgmyiad3qgbpf2dvv2jygzj6jpz4dl3n8ds4nql68a4l9g2nm07";
+    url = "mirror://sourceforge/htmlcxx/v${version}/${pname}-${version}.tar.gz";
+    sha256 = "sha256-XTj5OM9N+aKYpTRq8nGV//q/759GD8KgIjPLz6j8dcg=";
   };
 
   buildInputs = [ libiconv ];
-  patches = [ ./ptrdiff.patch ];
+  patches = [
+    ./ptrdiff.patch
+    ./c++17.patch
+  ];
 
   meta = with lib; {
     homepage = "http://htmlcxx.sourceforge.net/";
diff --git a/pkgs/development/libraries/hyperscan/default.nix b/pkgs/development/libraries/hyperscan/default.nix
index 10a53ff1d98..0e45b277a32 100644
--- a/pkgs/development/libraries/hyperscan/default.nix
+++ b/pkgs/development/libraries/hyperscan/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, cmake, ragel, python3
-, coreutils, gnused, util-linux, fetchpatch
+, util-linux, fetchpatch
 , boost
 , withStatic ? false # build only shared libs by default, build static+shared if true
 }:
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     cmake ragel python3
     # Consider simply using busybox for these
     # Need at least: rev, sed, cut, nm
-    coreutils gnused util-linux
+    util-linux
   ];
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/imath/default.nix b/pkgs/development/libraries/imath/default.nix
index b0a98f7b263..d16bfbc466b 100644
--- a/pkgs/development/libraries/imath/default.nix
+++ b/pkgs/development/libraries/imath/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imath";
-  version = "3.1.4";
+  version = "3.1.5";
 
   src = fetchFromGitHub {
     owner = "AcademySoftwareFoundation";
     repo = "imath";
     rev = "v${version}";
-    sha256 = "sha256-FZXIIzAxhd0QlJAV0q7spEa1pNFXutI0WFZbT3izN4M=";
+    sha256 = "sha256-pniIhpq2eXAZemq8LavXXv6+tGrBkqZ09Kjvi4aZdu8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/inih/default.nix b/pkgs/development/libraries/inih/default.nix
index cc979732787..aa2b3ec88d0 100644
--- a/pkgs/development/libraries/inih/default.nix
+++ b/pkgs/development/libraries/inih/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "inih";
-  version = "r53";
+  version = "53";
 
   src = fetchFromGitHub {
     owner = "benhoyt";
     repo = pname;
-    rev = version;
+    rev = "r${version}";
     sha256 = "0dqf5j2sw4hq68rqvxbrsf44ygfzx9ypiyzipk4cvp9aimbvsbc6";
   };
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Simple .INI file parser in C, good for embedded systems";
     homepage = "https://github.com/benhoyt/inih";
-    changelog = "https://github.com/benhoyt/inih/releases/tag/${version}";
+    changelog = "https://github.com/benhoyt/inih/releases/tag/r${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ TredwellGit ];
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/jarowinkler-cpp/default.nix b/pkgs/development/libraries/jarowinkler-cpp/default.nix
new file mode 100644
index 00000000000..f89c54121ca
--- /dev/null
+++ b/pkgs/development/libraries/jarowinkler-cpp/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, catch2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "jarowinkler-cpp";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "maxbachmann";
+    repo = "jarowinkler-cpp";
+    rev = "v${version}";
+    hash = "sha256-6dIyCyoPs/2wHyGqlE+NC0pwz5ggS5edhN4Jbltx0jg=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  cmakeFlags = lib.optionals doCheck [
+    "-DRAPIDFUZZ_BUILD_TESTING=ON"
+  ];
+
+  checkInputs = [
+    catch2
+  ];
+
+  # uses unreleased Catch2 version 3
+  doCheck = false;
+
+  meta = {
+    description = "Fast Jaro and Jaro-Winkler distance";
+    homepage = "https://github.com/maxbachmann/jarowinkler-cpp";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/java/commons/daemon/default.nix b/pkgs/development/libraries/java/commons/daemon/default.nix
index f6f909904cf..6a5749b9905 100644
--- a/pkgs/development/libraries/java/commons/daemon/default.nix
+++ b/pkgs/development/libraries/java/commons/daemon/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.4";
+  version = "1.3.0";
   pname = "commons-daemon";
 
   src = fetchurl {
     url    = "mirror://apache/commons/daemon/binaries/commons-daemon-${version}-bin.tar.gz";
-    sha256 = "0bsy4xn3gncgrxj3vkpplvyhx06c1470kycj0j5gwq46ylgady9s";
+    sha256 = "sha256-Fihsar8HR2adN2f9deo7bk8tRgeiD6BljVZ/mfkLUUA=";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/jellyfin-ffmpeg/default.nix b/pkgs/development/libraries/jellyfin-ffmpeg/default.nix
index 925e58d6a32..422f0c4f5e5 100644
--- a/pkgs/development/libraries/jellyfin-ffmpeg/default.nix
+++ b/pkgs/development/libraries/jellyfin-ffmpeg/default.nix
@@ -1,7 +1,7 @@
 { ffmpeg_4, ffmpeg-full, fetchFromGitHub, lib }:
 
 (ffmpeg-full.override { ffmpeg = ffmpeg_4; }).overrideAttrs (old: rec {
-  name = "jellyfin-ffmpeg";
+  pname = "jellyfin-ffmpeg";
   version = "4.4.1-4";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/libraries/kpmcore/default.nix b/pkgs/development/libraries/kpmcore/default.nix
index c3621d37587..81109194356 100644
--- a/pkgs/development/libraries/kpmcore/default.nix
+++ b/pkgs/development/libraries/kpmcore/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, fetchpatch, extra-cmake-modules
+{ stdenv, lib, fetchurl, extra-cmake-modules
 , qca-qt5, kauth, kio, polkit-qt, qtbase
 , util-linux
 }:
@@ -6,25 +6,14 @@
 stdenv.mkDerivation rec {
   pname = "kpmcore";
   # NOTE: When changing this version, also change the version of `partition-manager`.
-  version = "4.2.0";
+  version = "22.04.0";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
-    hash = "sha256-MvW0CqvFZtzcJlya6DIpzorPbKJai6fxt7nKsKpJn54=";
+    url = "mirror://kde/stable/release-service/${version}/src/${pname}-${version}.tar.xz";
+    hash = "sha256-sO8WUJL6072H1ghMZd7j0xNMwEn4bJF5PXMhfEb2jbs=";
   };
 
-  patches = [
-    # Fix build with `kcoreaddons` >= 5.77.0
-    (fetchpatch {
-      url = "https://github.com/KDE/kpmcore/commit/07e5a3ac2858e6d38cc698e0f740e7a693e9f302.patch";
-      sha256 = "sha256-LYzea888euo2HXM+acWaylSw28iwzOdZBvPBt/gjP1s=";
-    })
-    # Fix crash when `fstab` omits mount options.
-    (fetchpatch {
-      url = "https://github.com/KDE/kpmcore/commit/eea84fb60525803a789e55bb168afb968464c130.patch";
-      sha256 = "sha256-NJ3PvyRC6SKNSOlhJPrDDjepuw7IlAoufPgvml3fap0=";
-    })
-  ];
+  nativeBuildInputs = [ extra-cmake-modules ];
 
   buildInputs = [
     qca-qt5
@@ -35,10 +24,13 @@ stdenv.mkDerivation rec {
     util-linux # Needs blkid in configure script (note that this is not provided by util-linux-compat)
   ];
 
-  nativeBuildInputs = [ extra-cmake-modules ];
-
   dontWrapQtApps = true;
 
+  preConfigure = ''
+    substituteInPlace src/util/CMakeLists.txt \
+      --replace \$\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\} $out/share/polkit-1/actions
+  '';
+
   meta = with lib; {
     description = "KDE Partition Manager core library";
     homepage = "https://invent.kde.org/system/kpmcore";
diff --git a/pkgs/development/libraries/lasso/default.nix b/pkgs/development/libraries/lasso/default.nix
index 81cd3799a36..06825c5379d 100644
--- a/pkgs/development/libraries/lasso/default.nix
+++ b/pkgs/development/libraries/lasso/default.nix
@@ -1,22 +1,49 @@
-{ lib, stdenv, autoconf, automake, autoreconfHook, fetchurl, glib, gobject-introspection, gtk-doc, libtool, libxml2, libxslt, openssl, pkg-config, python27Packages, xmlsec, zlib }:
+{ lib, stdenv
+, autoreconfHook
+, fetchurl
+, glib
+, gobject-introspection
+, gtk-doc
+, libtool
+, libxml2
+, libxslt
+, openssl
+, pkg-config
+, python3
+, xmlsec
+, zlib
+}:
 
 stdenv.mkDerivation rec {
-
   pname = "lasso";
   version = "2.8.0";
 
   src = fetchurl {
     url = "https://dev.entrouvert.org/lasso/lasso-${version}.tar.gz";
-    sha256 = "sha256-/8vVhR2YWGx+HK9DutZhZCEaO2HRK/hgoFmESP+fKzg=";
-
+    hash = "sha256-/8vVhR2YWGx+HK9DutZhZCEaO2HRK/hgoFmESP+fKzg=";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config autoconf automake ];
-  buildInputs = [ glib gobject-introspection gtk-doc libtool libxml2 libxslt openssl python27Packages.six xmlsec zlib ];
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+    python3
+  ];
+
+  buildInputs = [
+    glib
+    gobject-introspection
+    gtk-doc
+    libtool
+    libxml2
+    libxslt
+    openssl
+    python3.pkgs.six
+    xmlsec
+    zlib
+  ];
 
   configurePhase = ''
     ./configure --with-pkg-config=$PKG_CONFIG_PATH \
-                --disable-python \
                 --disable-perl \
                 --prefix=$out
   '';
@@ -28,5 +55,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     maintainers = with maintainers; [ womfoo ];
   };
-
 }
diff --git a/pkgs/development/libraries/libadwaita/default.nix b/pkgs/development/libraries/libadwaita/default.nix
index 447ad06e9b8..f7bef8af2e4 100644
--- a/pkgs/development/libraries/libadwaita/default.nix
+++ b/pkgs/development/libraries/libadwaita/default.nix
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libadwaita";
-  version = "1.1.0";
+  version = "1.1.1";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "devdoc"; # demo app
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = "libadwaita";
     rev = version;
-    hash = "sha256-+bgCD2jy3M0gEAtbB+nOptQGEXXkvk1idoggJz4UMy0=";
+    hash = "sha256-iCMCQyhCUhp1f20+Qost9nnmfIUFE0iLKMKT/PfwOd4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index 240371917f1..76e5a32316d 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -37,6 +37,24 @@ stdenv.mkDerivation rec {
     hash = "sha256-G4wL5DDbX0FqaA4cnOlVLZ25ObN8dNsRtxyas29tpDA=";
   };
 
+  postPatch = ''
+    substituteInPlace Makefile.am --replace '/bin/pwd' "$(type -P pwd)"
+
+    declare -a skip_tests=(
+      # test won't work in nix sandbox
+      'test_write_disk_perms'
+      # can't be sure builder will have sparse-capable fs
+      'test_sparse_basic'
+      # can't even be sure builder will have hardlink-capable fs
+      'test_write_disk_hardlink'
+    )
+
+    for test_name in "''${skip_tests[@]}" ; do
+      sed -i "/$test_name/d" Makefile.am
+      rm "libarchive/test/$test_name.c"
+    done
+  '';
+
   outputs = [ "out" "lib" "dev" ];
 
   nativeBuildInputs = [
@@ -60,17 +78,12 @@ stdenv.mkDerivation rec {
 
   configureFlags = lib.optional (!xarSupport) "--without-xml2";
 
-  postPatch = ''
-     substituteInPlace Makefile.am --replace '/bin/pwd' 'pwd'
-  '';
-
   preBuild = lib.optionalString stdenv.isCygwin ''
     echo "#include <windows.h>" >> config.h
   '';
 
-  # 484: test_write_disk_perms FAIL
-  # TODO: how to disable it? Should it be reported upstream?
-  doCheck = false;
+  # https://github.com/libarchive/libarchive/issues/1475
+  doCheck = !stdenv.hostPlatform.isMusl;
 
   preFixup = ''
     sed -i $lib/lib/libarchive.la \
diff --git a/pkgs/development/libraries/libcef/default.nix b/pkgs/development/libraries/libcef/default.nix
index 7dfafe6bd06..bbc39a111b8 100644
--- a/pkgs/development/libraries/libcef/default.nix
+++ b/pkgs/development/libraries/libcef/default.nix
@@ -70,17 +70,17 @@ let
       projectArch = "x86_64";
     };
   };
-  platforms."aarch64-linux".sha256 = "0m12adzcs6xsmgnqsdc5g0xs6xmjbj560x4d9rnv9fpf1p7jv2fa";
-  platforms."i686-linux".sha256 = "00cy5kxx8hpifkwhn9qbfch7ng3crx0zb6ypllzip6qms956mama";
-  platforms."x86_64-linux".sha256 = "1f1hxx4xl0wljyrgj0m3zq47yz2cyqd52qigrkpcvavr1d2sx6m3";
+  platforms."aarch64-linux".sha256 = "0gmnmr0zn2ffn7xbhmfh6rhmwmxy5zzlj0s3lyp99knjn47lg2fg";
+  platforms."i686-linux".sha256 = "1lp2z9db89qk2wh900c2dzlhflwmcbmp4m7xnlj04pq4q2kgfm9p";
+  platforms."x86_64-linux".sha256 = "1ljrp0iky7rrj04sbqicrg1jr938xnid6jlirbf7gwlmzliz3wfs";
 
   platformInfo = builtins.getAttr stdenv.targetPlatform.system platforms;
 in
 stdenv.mkDerivation rec {
   pname = "cef-binary";
-  version = "98.1.21";
-  gitRevision = "9782362";
-  chromiumVersion = "98.0.4758.102";
+  version = "100.0.24";
+  gitRevision = "0783cf8";
+  chromiumVersion = "100.0.4896.127";
 
   src = fetchurl {
     url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_${platformInfo.platformStr}_minimal.tar.bz2";
diff --git a/pkgs/development/libraries/libdeltachat/default.nix b/pkgs/development/libraries/libdeltachat/default.nix
index 990a9e40960..dd1707ec96f 100644
--- a/pkgs/development/libraries/libdeltachat/default.nix
+++ b/pkgs/development/libraries/libdeltachat/default.nix
@@ -16,25 +16,23 @@
 
 stdenv.mkDerivation rec {
   pname = "libdeltachat";
-  version = "1.77.0";
+  version = "1.79.0";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-core-rust";
     rev = version;
-    hash = "sha256-SEsa83PQ2r3PBJuJhTMeje1n2mZUt/f61DvoVPwyxvs=";
+    hash = "sha256-jwAPbTwMSWDucAvip5KcA7fb4LCWo70SiIspacijMvQ=";
   };
 
   patches = [
-    # https://github.com/deltachat/deltachat-core-rust/pull/2589
-    ./darwin-dylib.patch
     ./no-static-lib.patch
   ];
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-6srybgs1DGaE6iMrnRUWRnoQM00VCsZwMNdKQ2eqqxg=";
+    hash = "sha256-Fn4M4CQV7VTE7SubvOszhpGBbmDyqemyUeZ0qDmcGUU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libe57format/default.nix b/pkgs/development/libraries/libe57format/default.nix
index 2ad8573ecb3..fe5558681ff 100644
--- a/pkgs/development/libraries/libe57format/default.nix
+++ b/pkgs/development/libraries/libe57format/default.nix
@@ -1,6 +1,7 @@
 {
   lib, stdenv,
   cmake,
+  fetchpatch,
   fetchFromGitHub,
   boost,
   xercesc,
@@ -18,6 +19,14 @@ stdenv.mkDerivation rec {
     sha256 = "15l23spjvak5h3n7aj3ggy0c3cwcg8mvnc9jlbd9yc2ra43bx7bp";
   };
 
+  patches = [
+    # gcc11 header fix
+    (fetchpatch {
+      url = "https://github.com/asmaloney/libE57Format/commit/13f6a16394ce3eb50ea4cd21f31f77f53294e8d0.patch";
+      sha256 = "sha256-4vVhKrCxnWO106DSAk+xxo4uk6zC89m9VQAPaDJ8Ed4=";
+    })
+  ];
+
   nativeBuildInputs = [
     cmake
   ];
diff --git a/pkgs/development/libraries/libechonest/default.nix b/pkgs/development/libraries/libechonest/default.nix
index 29a0a63a03e..6f160bdb6dc 100644
--- a/pkgs/development/libraries/libechonest/default.nix
+++ b/pkgs/development/libraries/libechonest/default.nix
@@ -11,6 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "0xbavf9f355dl1d3qv59x4ryypqrdanh9xdvw2d0q66l008crdkq";
   };
 
+  # Fix build with GCC 11.
+  NIX_CFLAGS_COMPILE = [ "-std=c++14" ];
+
   patches = [
     (fetchpatch {
       url = "https://github.com/lfranchi/libechonest/commit/009514f65044823ef29045397d4b58dd04d09977.patch";
diff --git a/pkgs/development/libraries/libhandy/default.nix b/pkgs/development/libraries/libhandy/default.nix
index c1d81f8043c..38e540efd4e 100644
--- a/pkgs/development/libraries/libhandy/default.nix
+++ b/pkgs/development/libraries/libhandy/default.nix
@@ -15,6 +15,7 @@
 , xvfb-run
 , gdk-pixbuf
 , librsvg
+, libxml2
 , hicolor-icon-theme
 , at-spi2-atk
 , at-spi2-core
@@ -25,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libhandy";
-  version = "1.6.1";
+  version = "1.6.2";
 
   outputs = [
     "out"
@@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-bqsDhEBNVr0bH6BZ2aCBF3d49q4ID/whIPKGVsp0YqQ=";
+    sha256 = "sha256-f6iaqoeWa20PX0700+/a9lTisB6ix84r1wMB0fn0LKM=";
   };
 
   nativeBuildInputs = [
@@ -48,6 +49,8 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     vala
+  ] ++ lib.optionals enableGlade [
+    libxml2 # for xmllint
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/libinjection/default.nix b/pkgs/development/libraries/libinjection/default.nix
index 81a1398147b..d4193f32ccc 100644
--- a/pkgs/development/libraries/libinjection/default.nix
+++ b/pkgs/development/libraries/libinjection/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchFromGitHub
-, python2
+{ lib, stdenv, fetchFromGitHub, fetchpatch
+, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -13,11 +13,19 @@ stdenv.mkDerivation rec {
     sha256 = "0chsgam5dqr9vjfhdcp8cgk7la6nf3lq44zs6z6si98cq743550g";
   };
 
-  nativeBuildInputs = [ python2 ];
+  nativeBuildInputs = [ python3 ];
 
   strictDeps = true;
 
-  patchPhase = ''
+  patches = [
+    (fetchpatch {
+      name = "support-python3-for-building";
+      url = "https://raw.githubusercontent.com/sysown/proxysql/bed58f92917eb651b80fd8ffa627a485eb320805/deps/libinjection/update-build-py3.diff";
+      hash = "sha256-SPdf57FIDDNpatWe5pjhAiZl5yPMDEv50k0Wj+eWTEM=";
+    })
+  ];
+
+  postPatch = ''
     patchShebangs src
     substituteInPlace src/Makefile \
       --replace /usr/local $out
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 5c06cd282da..9cc8395b9c2 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -45,7 +45,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "libinput";
-  version = "1.20.0";
+  version = "1.20.1";
 
   outputs = [ "bin" "out" "dev" ];
 
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
     owner = "libinput";
     repo = "libinput";
     rev = version;
-    sha256 = "Ey6ItBIrf1POACp2+6R0B4KxJq5V1HoO+y4j6hZSGAE=";
+    sha256 = "eujnabUaeNEJC/tPPhwcNS9sqDIorF52RjfqKBotbmc=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libixp-hg/default.nix b/pkgs/development/libraries/libixp-hg/default.nix
deleted file mode 100644
index 0aeef61dae9..00000000000
--- a/pkgs/development/libraries/libixp-hg/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchurl, unzip, txt2tags }:
-
-stdenv.mkDerivation rec {
-  rev = "148";
-  version = "hg-2012-12-02";
-  pname = "libixp";
-
-  src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/libixp/source-archive.zip";
-    sha256 = "0kcdvdcrkw6q39v563ncis6d7ini64xbgn5fd3b4aa95fp9sj3is";
-  };
-
-  configurePhase = ''
-   sed -i -e "s|^PREFIX.*=.*$|PREFIX = $out|" config.mk
-  '';
-
-  nativeBuildInputs = [ unzip ];
-  buildInputs = [ txt2tags ];
-
-  meta = {
-    homepage = "http://repo.cat-v.org/libixp/"; # see also https://libs.suckless.org/deprecated/libixp
-    description = "Portable, simple C-language 9P client and server libary";
-    maintainers = with lib.maintainers; [ kovirobi ];
-    license = lib.licenses.mit;
-    platforms = with lib.platforms; unix;
-  };
-}
diff --git a/pkgs/development/libraries/libixp/default.nix b/pkgs/development/libraries/libixp/default.nix
new file mode 100644
index 00000000000..255f4ef3056
--- /dev/null
+++ b/pkgs/development/libraries/libixp/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, fetchFromGitHub, unzip, txt2tags }:
+
+stdenv.mkDerivation rec {
+  pname = "libixp";
+  version = "unstable-2022-04-04";
+
+  src = fetchFromGitHub {
+    owner = "0intro";
+    repo = "libixp";
+    rev = "ca2acb2988e4f040022f0e2094c69ab65fa6ec53";
+    hash = "sha256-S25DmXJ7fN0gXLV0IzUdz8hXPTYEHmaSG7Mnli6GQVc=";
+  };
+
+  postConfigure = ''
+   sed -i -e "s|^PREFIX.*=.*$|PREFIX = $out|" config.mk
+  '';
+
+  nativeBuildInputs = [ unzip ];
+  buildInputs = [ txt2tags ];
+
+  meta = {
+    homepage = "https://github.com/0intro/libixp";
+    description = "Portable, simple C-language 9P client and server libary";
+    maintainers = with lib.maintainers; [ kovirobi ];
+    license = lib.licenses.mit;
+    platforms = with lib.platforms; unix;
+  };
+}
diff --git a/pkgs/development/libraries/libjcat/default.nix b/pkgs/development/libraries/libjcat/default.nix
index f40898d1181..ca4509ff3cc 100644
--- a/pkgs/development/libraries/libjcat/default.nix
+++ b/pkgs/development/libraries/libjcat/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchFromGitHub
 , docbook_xml_dtd_43
 , docbook-xsl-nons
@@ -18,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libjcat";
-  version = "0.1.10";
+  version = "0.1.11";
 
   outputs = [ "bin" "out" "dev" "devdoc" "man" "installedTests" ];
 
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "libjcat";
     rev = version;
-    sha256 = "sha256-6fqcP8LWvRoDf5gJz+kW0w5+3PP/luuoPMak1QLKzzM=";
+    sha256 = "2kdoOwgaLpo/Cp3wkCMgdyQ++BC3Cn7CRhXhVCHn/iM=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libkqueue/default.nix b/pkgs/development/libraries/libkqueue/default.nix
new file mode 100644
index 00000000000..39a6efeb6fd
--- /dev/null
+++ b/pkgs/development/libraries/libkqueue/default.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "libkqueue";
+  version = "2.6.0";
+
+  src = fetchFromGitHub {
+    owner = "mheily";
+    repo = "libkqueue";
+    rev = "v${version}";
+    sha256 = "sha256-qh1r95A/ngg4KWSVYlC8ldv2ClV+rRPNcJDH+aAGxHs=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "kqueue(2) compatibility library";
+    homepage = "https://github.com/mheily/libkqueue";
+    license = licenses.bsd2;
+    maintainers = [ maintainers.marsam ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/liblinphone/default.nix b/pkgs/development/libraries/liblinphone/default.nix
index 2d4a1004d87..89a23dccc7e 100644
--- a/pkgs/development/libraries/liblinphone/default.nix
+++ b/pkgs/development/libraries/liblinphone/default.nix
@@ -16,6 +16,7 @@
 , graphviz
 , gtk2
 , intltool
+, jsoncpp
 , libexosip
 , libmatroska
 , libnotify
@@ -34,11 +35,12 @@
 , pkg-config
 , python3
 , readline
-, soci
+, bc-soci
 , boost
 , speex
 , sqlite
-, lib, stdenv
+, lib
+, stdenv
 , udev
 , xercesc
 , xsd
@@ -47,7 +49,7 @@
 
 stdenv.mkDerivation rec {
   pname = "liblinphone";
-  version = "4.5.17";
+  version = "5.1.22";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -55,9 +57,11 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ryyT4bG3lnE72ydvCAoiT3IeHY4mZwX9nCqaTRC1wyc=";
+    sha256 = "sha256-hTyp/fUA1+7J1MtqX33kH8Vn1XNjx51Wy5REvrpdJTY=";
   };
 
+  patches = [ ./use-normal-jsoncpp.patch ];
+
   # Do not build static libraries
   cmakeFlags = [ "-DENABLE_STATIC=NO" ];
 
@@ -66,12 +70,24 @@ stdenv.mkDerivation rec {
   # of them might not be needed for liblinphone alone.
   buildInputs = [
     (python3.withPackages (ps: [ ps.pystache ps.six ]))
+
+    # Made by BC
     bcg729
     bctoolbox
     belcard
     belle-sip
     belr
     bzrtp
+    lime
+    mediastreamer
+    ortp
+
+    # Vendored by BC
+    bc-soci
+
+    # Vendored by BC but we use upstream, might cause problems
+    libmatroska
+
     cairo
     cyrus_sasl
     ffmpeg
@@ -80,20 +96,15 @@ stdenv.mkDerivation rec {
     gtk2
     libX11
     libexosip
-    libmatroska
     libnotify
     libosip
     libsoup
     libupnp
     libxml2
-    lime
     mbedtls
-    mediastreamer
     openldap
-    ortp
     pango
     readline
-    soci
     boost
     speex
     sqlite
@@ -101,10 +112,13 @@ stdenv.mkDerivation rec {
     xercesc
     xsd
     zlib
+    jsoncpp
   ];
 
   nativeBuildInputs = [
+    # Made by BC
     bcunit
+
     cmake
     doxygen
     graphviz
diff --git a/pkgs/development/libraries/liblinphone/use-normal-jsoncpp.patch b/pkgs/development/libraries/liblinphone/use-normal-jsoncpp.patch
new file mode 100644
index 00000000000..4685b327ecd
--- /dev/null
+++ b/pkgs/development/libraries/liblinphone/use-normal-jsoncpp.patch
@@ -0,0 +1,57 @@
+From ea6901c9ed0f804bd2d6d09e514610518c2f4f09 Mon Sep 17 00:00:00 2001
+From: Lorenz Brun <lorenz@brun.one>
+Date: Fri, 18 Mar 2022 17:36:22 +0100
+Subject: [PATCH] Use normal jsoncpp
+
+---
+ src/CMakeLists.txt    | 6 +++---
+ tester/CMakeLists.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 5cd87fe9a..822b2151e 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -34,7 +34,7 @@ if (ENABLE_FLEXIAPI)
+ 	if (XCODE)
+ 		list(APPEND LINK_LIBS jsoncpp_static)
+ 	else()
+-		list(APPEND LINK_LIBS jsoncpp_object)
++		list(APPEND LINK_LIBS jsoncpp)
+ 	endif()
+ endif()
+ 
+@@ -592,7 +592,7 @@ if(ENABLE_STATIC)
+ 		if (XCODE)
+ 			target_link_libraries(linphone PRIVATE jsoncpp_static)
+ 		else()
+-			target_link_libraries(linphone PRIVATE jsoncpp_object)
++			target_link_libraries(linphone PRIVATE jsoncpp)
+ 		endif()
+ 	endif()
+ 
+@@ -646,7 +646,7 @@ if(ENABLE_SHARED)
+ 		if (XCODE)
+ 			target_link_libraries(linphone PRIVATE jsoncpp_static)
+ 		else()
+-			target_link_libraries(linphone PRIVATE jsoncpp_object)
++			target_link_libraries(linphone PRIVATE jsoncpp)
+ 		endif()
+ 	endif()
+ 
+diff --git a/tester/CMakeLists.txt b/tester/CMakeLists.txt
+index b97042678..b4c5a5794 100644
+--- a/tester/CMakeLists.txt
++++ b/tester/CMakeLists.txt
+@@ -34,7 +34,7 @@ if (ENABLE_FLEXIAPI)
+ 	if (XCODE)
+ 		list(APPEND OTHER_LIBS_FOR_TESTER jsoncpp_static)
+ 	else()
+-		list(APPEND OTHER_LIBS_FOR_TESTER jsoncpp_object)
++		list(APPEND OTHER_LIBS_FOR_TESTER jsoncpp)
+ 	endif()
+ endif()
+ 
+-- 
+2.25.1
+
diff --git a/pkgs/development/libraries/libnftnl/default.nix b/pkgs/development/libraries/libnftnl/default.nix
index 2c351181ee2..66134eaffe0 100644
--- a/pkgs/development/libraries/libnftnl/default.nix
+++ b/pkgs/development/libraries/libnftnl/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A userspace library providing a low-level netlink API to the in-kernel nf_tables subsystem";
-    homepage = "http://netfilter.org/projects/libnftnl";
+    homepage = "https://netfilter.org/projects/libnftnl/";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ fpletz ajs124 ];
diff --git a/pkgs/development/libraries/libosmscout/default.nix b/pkgs/development/libraries/libosmscout/default.nix
index b11ec3eb94c..76a1ba534b7 100644
--- a/pkgs/development/libraries/libosmscout/default.nix
+++ b/pkgs/development/libraries/libosmscout/default.nix
@@ -1,20 +1,21 @@
-{ lib, mkDerivation, fetchgit, cmake, pkg-config
-, marisa, qtlocation }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config
+, marisa, qttools, qtlocation }:
 
 mkDerivation rec {
   pname = "libosmscout";
-  version = "2017.06.30";
+  version = "2022.04.25";
 
-  src = fetchgit {
-    url = "git://git.code.sf.net/p/libosmscout/code";
-    rev = "0c0fde4d9803539c99911389bc918377a93f350c";
-    sha256 = "1pa459h52kw88mvsdvkz83f4p35vvgsfy2qfjwcj61gj4y9d2rq4";
+  src = fetchFromGitHub {
+    owner = "Framstag";
+    repo = "libosmscout";
+    rev = "4c3b28472864b8e9cdda80a05ec73ef22cb39323";
+    sha256 = "sha256-Qe5TkF4BwlsEI7emC0gdc7SmS4QrSGLiO0QdjuJA09g=";
   };
 
   cmakeFlags = [ "-DOSMSCOUT_BUILD_TESTS=OFF" ];
 
   nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ marisa qtlocation ];
+  buildInputs = [ marisa qttools qtlocation ];
 
   meta = with lib; {
     description = "Simple, high-level interfaces for offline location and POI lokup, rendering and routing functionalities based on OpenStreetMap (OSM) data";
diff --git a/pkgs/development/libraries/libpinyin/default.nix b/pkgs/development/libraries/libpinyin/default.nix
index 4f6b2ed0050..2247c3b9406 100644
--- a/pkgs/development/libraries/libpinyin/default.nix
+++ b/pkgs/development/libraries/libpinyin/default.nix
@@ -16,13 +16,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "libpinyin";
-  version = "2.6.1";
+  version = "2.6.2";
 
   src = fetchFromGitHub {
     owner = "libpinyin";
     repo = "libpinyin";
     rev = version;
-    sha256 = "0izisma5g9a7mxfxs177pi1d7v9dklm0ar4z404nf2s8x4wcg3ib";
+    sha256 = "sha256-hafetjKWqImg3Jr1tSXjY0RwbBQ7LccXqx0OdtKCy/c=";
   };
 
   postUnpack = ''
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Library for intelligent sentence-based Chinese pinyin input method";
-    homepage = "https://sourceforge.net/projects/libpinyin";
+    homepage = "https://github.com/libpinyin/libpinyin";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ linsui ericsagnes ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/libpqxx/6.nix b/pkgs/development/libraries/libpqxx/6.nix
index feb9c7e6514..c9e55fd9c01 100644
--- a/pkgs/development/libraries/libpqxx/6.nix
+++ b/pkgs/development/libraries/libpqxx/6.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, postgresql, doxygen, xmlto, python2, gnused }:
+{ lib, stdenv, fetchFromGitHub, postgresql, doxygen, xmlto, python3, gnused }:
 
 stdenv.mkDerivation rec {
   pname = "libpqxx";
-  version = "6.4.5";
+  version = "6.4.8";
 
   src = fetchFromGitHub {
     owner = "jtv";
     repo = pname;
     rev = version;
-    sha256 = "0djmjr2b5x5nd2a4idv5j8s6w0kdmvil910iv1kyc7x94dirbrni";
+    hash = "sha256-ybnW9ip1QVadmbYLP+gvo49k9ExHfnsOhSnI6NjsAQk=";
   };
 
-  nativeBuildInputs = [ gnused python2 ];
+  nativeBuildInputs = [ gnused python3 ];
   buildInputs = [ postgresql doxygen xmlto ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/libpqxx/default.nix b/pkgs/development/libraries/libpqxx/default.nix
index d7eba4c8739..d0116a742d2 100644
--- a/pkgs/development/libraries/libpqxx/default.nix
+++ b/pkgs/development/libraries/libpqxx/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, postgresql, python3, gnused }:
+{ lib, stdenv, fetchFromGitHub, postgresql, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "libpqxx";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-O30czHwEDXz5xY4o3MWhmEK06OKTKMQCy0M6qwSEpy8=";
   };
 
-  nativeBuildInputs = [ gnused python3 ];
+  nativeBuildInputs = [ python3 ];
   buildInputs = [ postgresql ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/libraspberrypi/default.nix b/pkgs/development/libraries/libraspberrypi/default.nix
index 2a5b75a7b90..b7e528301e8 100644
--- a/pkgs/development/libraries/libraspberrypi/default.nix
+++ b/pkgs/development/libraries/libraspberrypi/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libraspberrypi";
-  version = "unstable-2021-10-25";
+  version = "unstable-2022-03-23";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "userland";
-    rev = "0093675e4aa6e152a3ffc318b51a124e96eb287b";
-    sha256 = "qpooQy9k2UZ94KaqlFwurV+tt0GrBSRffGdlvMcn1XU=";
+    rev = "c4fd1b8986c6d6d4ae5cd51e65a8bbeb495dfa4e";
+    hash = "sha256-sAfpfq7C9HXVS7ym3UFIO6bpEIWFCOfVCSN2n5q1RNg=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix
index 3ff7e725f3d..758b00febf5 100644
--- a/pkgs/development/libraries/libraw/default.nix
+++ b/pkgs/development/libraries/libraw/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, lcms2, pkg-config }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "libraw";
-  version = "0.20.2";
+  version = "0.20.2.p2";
 
   src = fetchFromGitHub {
     owner = "LibRaw";
     repo = "LibRaw";
-    rev = version;
-    sha256 = "16nm4r2l5501c9zvz25pzajq5id592jhn068scjxhr8np2cblybc";
+    rev = "fedad11e87daad7b7d389a3ef84ccf10b5e84710"; # current 0.20-stable branch
+    sha256 = "1mklf8lzybzyg75ja34822xlv6h9nw93griyrjjna7darl1dyvja";
   };
 
   outputs = [ "out" "lib" "dev" "doc" ];
diff --git a/pkgs/development/libraries/libraw/unstable.nix b/pkgs/development/libraries/libraw/unstable.nix
new file mode 100644
index 00000000000..3f19bb53c4e
--- /dev/null
+++ b/pkgs/development/libraries/libraw/unstable.nix
@@ -0,0 +1,12 @@
+{ libraw, fetchFromGitHub }:
+
+libraw.overrideAttrs (_: rec {
+  version = "unstable-2021-12-03";
+
+  src = fetchFromGitHub {
+    owner = "LibRaw";
+    repo = "LibRaw";
+    rev = "52b2fc52e93a566e7e05eaa44cada58e3360b6ad";
+    sha256 = "kW0R4iPuqnFuWYDrl46ok3kaPcGgY2MqZT7mqVX+BDQ=";
+  };
+})
diff --git a/pkgs/development/libraries/libslirp/default.nix b/pkgs/development/libraries/libslirp/default.nix
index f4eaa9c3199..06fb0d41b8b 100644
--- a/pkgs/development/libraries/libslirp/default.nix
+++ b/pkgs/development/libraries/libslirp/default.nix
@@ -9,14 +9,14 @@
 
 stdenv.mkDerivation rec {
   pname = "libslirp";
-  version = "4.6.1";
+  version = "4.7.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "slirp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-AM6NxO4hjFiUAzRYbXV3fe18xwCBmzdM63n93UOxjKw=";
+    sha256 = "sha256-avUbgXPPV3IhUwZyARxCvctbVlLqDKWmMhAjdVBA3jY=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/pkgs/development/libraries/libsystemtap/default.nix b/pkgs/development/libraries/libsystemtap/default.nix
index 17ac533732f..3525d057b97 100644
--- a/pkgs/development/libraries/libsystemtap/default.nix
+++ b/pkgs/development/libraries/libsystemtap/default.nix
@@ -1,19 +1,22 @@
-{lib, stdenv, fetchgit, gettext, python2, elfutils}:
+{ lib, stdenv, fetchgit
+, gettext
+, python3
+, elfutils
+}:
 
 stdenv.mkDerivation {
   pname = "libsystemtap";
-  version = "3.2";
+  version = "4.6";
 
   src = fetchgit {
     url = "git://sourceware.org/git/systemtap.git";
-    rev = "4051c70c9318c837981384cbb23f3e9eb1bd0892";
-    sha256 = "0sd8n3j3rishks3gyqj2jyqhps7hmlfjyz8i0w8v98cczhhh04rq";
-    fetchSubmodules = false;
+    rev = "release-4.6";
+    hash = "sha256-z7OUy0VGxK39aYCWFfvJnWk34Je0R+51kK5pGh7TzXM=";
   };
 
   dontBuild = true;
 
-  nativeBuildInputs = [ gettext python2 elfutils ];
+  nativeBuildInputs = [ gettext python3 elfutils ];
 
   installPhase = ''
     mkdir -p $out/include
diff --git a/pkgs/development/libraries/libvdpau/default.nix b/pkgs/development/libraries/libvdpau/default.nix
index a83893b01a7..e3be4db26cd 100644
--- a/pkgs/development/libraries/libvdpau/default.nix
+++ b/pkgs/development/libraries/libvdpau/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libvdpau";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchurl {
     url = "https://gitlab.freedesktop.org/vdpau/libvdpau/-/archive/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "0c1zsfr6ypzwv8g9z50kdahpb7pirarq4z8avqqyyma5b9684n22";
+    sha256 = "sha256-pdUKQrjCiP68BxUatkOsjeBqGERpZcckH4m06BCCGRM=";
   };
   patches = [ ./installdir.patch ];
 
diff --git a/pkgs/development/libraries/libviperfx/default.nix b/pkgs/development/libraries/libviperfx/default.nix
new file mode 100644
index 00000000000..3c980823f41
--- /dev/null
+++ b/pkgs/development/libraries/libviperfx/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "libviperfx";
+  version = "unstable-2018-01-15";
+
+  src = fetchFromGitHub {
+    owner = "vipersaudio";
+    repo = "viperfx_core_binary";
+    rev = "6f7d0da725affe854f083baf5d90c70e172e4488";
+    sha256 = "sha256-hfX46Kk91eQgiO3uhew91I6eEHxazhdGwSkhfNZ+HvQ=";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+    install -D libviperfx_x64_linux.so $out/lib/libviperfx.so
+    install -D README.md $out/share/licenses/libviperfx/LICENSE
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/vipersaudio/viperfx_core_binary";
+    description = "The ViPER FX core";
+    license = licenses.unfreeRedistributable;
+    maintainers = with maintainers; [ rewine ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 42ccf8fddcf..2c10689d729 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -26,6 +26,7 @@
 , ninja
 , perl
 , perlPackages
+, polkit
 , pkg-config
 , pmutils
 , python3
@@ -227,6 +228,9 @@ stdenv.mkDerivation rec {
         --replace "gmake" "make" \
         --replace "ggrep" "grep"
 
+      substituteInPlace src/util/virpolkit.h \
+        --replace '"/usr/bin/pkttyagent"' '"${polkit.bin}/bin/pkttyagent"'
+
       patchShebangs .
     ''
     + (lib.concatStringsSep "\n" (lib.mapAttrsToList patchBuilder overrides));
diff --git a/pkgs/development/libraries/libvmaf/default.nix b/pkgs/development/libraries/libvmaf/default.nix
index 03ca9b0d11b..a58f816e8af 100644
--- a/pkgs/development/libraries/libvmaf/default.nix
+++ b/pkgs/development/libraries/libvmaf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libvmaf";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "netflix";
     repo = "vmaf";
     rev = "v${version}";
-    sha256 = "12mwl7vxc3xi0qar386mkhkpah9zzgjb74mzc2qqsgz9zzxp16dm";
+    sha256 = "sha256-TkMy2tEdG1FPPWfH/wPnVbs5kocqe4Y0jU4yvbiRZ9k=";
   };
 
   sourceRoot = "source/libvmaf";
diff --git a/pkgs/development/libraries/libwebsockets/default.nix b/pkgs/development/libraries/libwebsockets/default.nix
index faf6acd40b9..e0ee94faf0d 100644
--- a/pkgs/development/libraries/libwebsockets/default.nix
+++ b/pkgs/development/libraries/libwebsockets/default.nix
@@ -5,12 +5,13 @@
 , openssl
 , zlib
 , libuv
+, fetchpatch
 # External poll is required for e.g. mosquitto, but discouraged by the maintainer.
 , withExternalPoll ? false
 }:
 
 let
-  generic = { version, sha256 }: stdenv.mkDerivation rec {
+  generic = { version, sha256, patches ? [] }: stdenv.mkDerivation rec {
     pname = "libwebsockets";
     inherit version;
 
@@ -21,6 +22,8 @@ let
       inherit sha256;
     };
 
+    inherit patches;
+
     buildInputs = [ openssl zlib libuv ];
 
     nativeBuildInputs = [ cmake ];
@@ -76,7 +79,15 @@ in {
   };
 
   libwebsockets_4_3 = generic {
-    version = "4.3.0";
-    sha256 = "13lxb487mqlzbsbv6fbj50r1717mfwdy87ps592lgfy3307yqpr4";
+    version = "4.3.1";
+    sha256 = "sha256-lB3JHh058cQc5rycLnHk3JAOgtku0nRCixN5U6lPKq8=";
+    patches = [
+      # fixes the propagated cmake files, fixing the build of ttyd
+      # see also https://github.com/tsl0922/ttyd/issues/918
+      (fetchpatch {
+        url = "https://github.com/warmcat/libwebsockets/commit/99a8b9c4422bed45c8b7412a1e121056f2a6132a.patch";
+        hash = "sha256-zHBo2ZEayvibM+jzeVaZqySxghaOLUglpSFwuGhl6HM=";
+      })
+    ];
   };
 }
diff --git a/pkgs/development/libraries/libxcrypt/default.nix b/pkgs/development/libraries/libxcrypt/default.nix
index 8bba9945abf..782655ef5ee 100644
--- a/pkgs/development/libraries/libxcrypt/default.nix
+++ b/pkgs/development/libraries/libxcrypt/default.nix
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
     ./autogen.sh
   '';
 
+  configureFlags = [
+    "--disable-werror"
+  ];
+
   nativeBuildInputs = [ autoconf automake libtool pkg-config perl ];
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libxmlb/default.nix b/pkgs/development/libraries/libxmlb/default.nix
index 80d6129f18a..c7dbfc8889c 100644
--- a/pkgs/development/libraries/libxmlb/default.nix
+++ b/pkgs/development/libraries/libxmlb/default.nix
@@ -1,9 +1,8 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , docbook_xml_dtd_43
-, docbook_xsl
+, docbook-xsl-nons
 , glib
 , gobject-introspection
 , gtk-doc
@@ -18,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libxmlb";
-  version = "0.3.7";
+  version = "0.3.8";
 
   outputs = [ "out" "lib" "dev" "devdoc" "installedTests" ];
 
@@ -26,23 +25,16 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "libxmlb";
     rev = version;
-    sha256 = "sha256-ZzA1YJYxTR91X79NU9dWd11Ze+PX2wuZeumuEuNdC48=";
+    sha256 = "vT/NGFDzP0ut+TKD8pYVQrjTkepzKEJUo3uKF4MX334=";
   };
 
   patches = [
     ./installed-tests-path.patch
-    # Fix darwin build, can be removed on next release
-    # `--version-script` isn't supported by the macOS linker
-    # https://github.com/hughsie/libxmlb/pull/119
-    (fetchpatch {
-      url = "https://github.com/hughsie/libxmlb/commit/d83aac5bd78cfbbfa2ecd428ff54b811071dfe4d.patch";
-      sha256 = "sha256-UNRMbyNzdxfTZ8xV6J8a622hPnr3mowooP1q8Dg19yw=";
-    })
   ];
 
   nativeBuildInputs = [
     docbook_xml_dtd_43
-    docbook_xsl
+    docbook-xsl-nons
     gobject-introspection
     gtk-doc
     meson
diff --git a/pkgs/development/libraries/libxsmm/default.nix b/pkgs/development/libraries/libxsmm/default.nix
index ebb402cc0dd..849aee854e2 100644
--- a/pkgs/development/libraries/libxsmm/default.nix
+++ b/pkgs/development/libraries/libxsmm/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, coreutils, gfortran, gnused
+{ lib, stdenv, fetchFromGitHub, gfortran
 , python3, util-linux, which
 
 , enableStatic ? stdenv.hostPlatform.isStatic
@@ -16,9 +16,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    coreutils
     gfortran
-    gnused
     python3
     util-linux
     which
diff --git a/pkgs/development/libraries/libyang/default.nix b/pkgs/development/libraries/libyang/default.nix
index d6efe0543db..cedc24909bc 100644
--- a/pkgs/development/libraries/libyang/default.nix
+++ b/pkgs/development/libraries/libyang/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libyang";
-  version = "2.0.112";
+  version = "2.0.164";
 
   src = fetchFromGitHub {
     owner = "CESNET";
     repo = "libyang";
     rev = "v${version}";
-    sha256 = "sha256-f8x0tC3XcQ9fnUE987GYw8qEo/B+J759vpCImqG3QWs=";
+    sha256 = "sha256-0Ou0j9KaNkX/SFmid+wphvtu3wDTXkw+8xdck6lEE3w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/lime/default.nix b/pkgs/development/libraries/lime/default.nix
index 7e7edff6bff..1d6a94a828a 100644
--- a/pkgs/development/libraries/lime/default.nix
+++ b/pkgs/development/libraries/lime/default.nix
@@ -3,7 +3,7 @@
 , cmake
 , fetchFromGitLab
 , lib
-, soci
+, bc-soci
 , sqlite
 , boost
 , stdenv
@@ -11,7 +11,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lime";
-  version = "5.0.53";
+  version = "5.1.12";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -19,17 +19,27 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-M+KdauIVsN3c+cEPw4CaMzXnQZwAPNXeJCriuk9NCWM=";
+    sha256 = "sha256-vgaxb8sfgtAhqG8kg3C4+UrTOHyTVR9QVO9iuKFgSBk=";
   };
 
-  buildInputs = [ bctoolbox soci belle-sip sqlite boost ];
+  buildInputs = [
+    # Made by BC
+    bctoolbox
+    belle-sip
+
+    # Vendored by BC
+    bc-soci
+
+    sqlite
+    boost
+  ];
   nativeBuildInputs = [ cmake ];
 
   # Do not build static libraries
   cmakeFlags = [ "-DENABLE_STATIC=NO" ];
 
   meta = with lib; {
-    description = "End-to-end encryption library for instant messaging";
+    description = "End-to-end encryption library for instant messaging. Part of the Linphone project.";
     homepage = "http://www.linphone.org/technical-corner/lime";
     license = licenses.gpl3Only;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/mapbox-gl-qml/default.nix b/pkgs/development/libraries/mapbox-gl-qml/default.nix
index 49a7f26220d..a9a2ad64d7a 100644
--- a/pkgs/development/libraries/mapbox-gl-qml/default.nix
+++ b/pkgs/development/libraries/mapbox-gl-qml/default.nix
@@ -6,31 +6,28 @@
 , curl
 , qtbase
 , qtlocation
-, mapbox-gl-native
+, maplibre-gl-native
 }:
 
 mkDerivation rec {
   pname = "mapbox-gl-qml";
-  version = "1.7.7.1";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "rinigus";
     repo = "mapbox-gl-qml";
     rev = version;
-    hash = "sha256-lmL9nawMY8rNNBV4zNF4N1gn9XZzIZ9Cw2ZRs9bjBaI=";
+    hash = "sha256-EVZbQXV8pI0QTqFDTTynVglsqX1O5oK0Pl5Y/wp+/q0=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ curl qtlocation mapbox-gl-native ];
+  buildInputs = [ curl qtlocation maplibre-gl-native ];
 
   postPatch = ''
     substituteInPlace src/CMakeLists.txt \
       --replace ' ''${QT_INSTALL_QML}' " $out/${qtbase.qtQmlPrefix}"
   '';
 
-  # Package expects qt5 subdirectory of mapbox-gl-native to be in the include path
-  NIX_CFLAGS_COMPILE = "-I${mapbox-gl-native}/include/qt5";
-
   meta = with lib; {
     description = "Unofficial Mapbox GL Native bindings for Qt QML";
     homepage = "https://github.com/rinigus/mapbox-gl-qml";
diff --git a/pkgs/development/libraries/maplibre-gl-native/default.nix b/pkgs/development/libraries/maplibre-gl-native/default.nix
new file mode 100644
index 00000000000..c680f6822b5
--- /dev/null
+++ b/pkgs/development/libraries/maplibre-gl-native/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, pkg-config
+, qtbase
+, curl
+, libuv
+, glfw3
+, rapidjson
+}:
+
+mkDerivation rec {
+  pname = "maplibre-gl-native";
+  version = "unstable-2022-04-07";
+
+  src = fetchFromGitHub {
+    owner = "maplibre";
+    repo = "maplibre-gl-native";
+    rev = "225f8a4bfe7ad30fd59d693c1fb3ca0ba70d2806";
+    fetchSubmodules = true;
+    hash = "sha256-NLtpi+bDLTHlnzMZ4YFQyF5B1xt9lzHyZPvEQLlBAnY=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "skip-license-check.patch";
+      url = "https://git.alpinelinux.org/aports/plain/testing/mapbox-gl-native/0002-skip-license-check.patch?id=6751a93dca26b0b3ceec9eb151272253a2fe497e";
+      sha256 = "1yybwzxbvn0lqb1br1fyg7763p2h117s6mkmywkl4l7qg9daa7ba";
+    })
+  ];
+
+  postPatch = ''
+    # don't use vendored rapidjson
+    rm -r vendor/mapbox-base/extras/rapidjson
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    curl
+    libuv
+    glfw3
+    qtbase
+    rapidjson
+  ];
+
+  cmakeFlags = [
+    "-DMBGL_WITH_QT=ON"
+    "-DMBGL_WITH_QT_LIB_ONLY=ON"
+    "-DMBGL_WITH_QT_HEADLESS=OFF"
+  ];
+
+  meta = with lib; {
+    description = "Open-source alternative to Mapbox GL Native";
+    homepage = "https://maplibre.org/";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ dotlambda ];
+    platforms = platforms.linux;
+    broken = lib.versionOlder qtbase.version "5.15";
+  };
+}
diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix
index aa584deddb8..2d9c559bcba 100644
--- a/pkgs/development/libraries/mediastreamer/default.nix
+++ b/pkgs/development/libraries/mediastreamer/default.nix
@@ -25,6 +25,8 @@
 , ortp
 , pkg-config
 , python3
+, qtbase
+, qtdeclarative
 , SDL
 , speex
 , srtp
@@ -33,7 +35,9 @@
 
 stdenv.mkDerivation rec {
   pname = "mediastreamer2";
-  version = "4.5.15";
+  version = "5.1.20";
+
+  dontWrapQtApps = true;
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -41,7 +45,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-n/EuXEQ9nJKC32PMvWkfP1G+E6uQQuu1/A168n8/cIY=";
+    sha256 = "sha256-u8YqF5BzyYIF9+XB90Eu6DlwXuu1FDOJUzxebj0errU=";
   };
 
   patches = [
@@ -59,12 +63,20 @@ stdenv.mkDerivation rec {
     intltool
     pkg-config
     python3
+    qtbase
+    qtdeclarative
   ];
 
   propagatedBuildInputs = [
-    alsa-lib
+    # Made by BC
     bctoolbox
     bzrtp
+    ortp
+
+    # Vendored by BC but we use upstream, might cause problems
+    libmatroska
+
+    alsa-lib
     ffmpeg
     glew
     gsm
@@ -73,7 +85,6 @@ stdenv.mkDerivation rec {
     libX11
     libXext
     libXv
-    libmatroska
     libopus
     libpcap
     libpulseaudio
@@ -81,7 +92,6 @@ stdenv.mkDerivation rec {
     libupnp
     libv4l
     libvpx
-    ortp
     SDL
     speex
     srtp
@@ -89,22 +99,17 @@ stdenv.mkDerivation rec {
 
   strictDeps = true;
 
-  # Do not build static libraries
-  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
-
-  NIX_CFLAGS_COMPILE = [
-    "-DGIT_VERSION=\"v${version}\""
-    "-Wno-error=deprecated-declarations"
-    "-Wno-error=cast-function-type"
-    "-Wno-error=stringop-truncation"
-    "-Wno-error=stringop-overflow"
-  ] ++ lib.optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11") [
-    "-Wno-error=stringop-overread"
+  cmakeFlags = [
+    "-DENABLE_STATIC=NO" # Do not build static libraries
+    "-DENABLE_QT_GL=ON" # Build necessary MSQOGL plugin for Linphone desktop
+    "-DCMAKE_C_FLAGS=-DGIT_VERSION=\"v${version}\""
+    "-DENABLE_STRICT=NO" # Disable -Werror
   ];
+
   NIX_LDFLAGS = "-lXext";
 
   meta = with lib; {
-    description = "A powerful and lightweight streaming engine specialized for voice/video telephony applications";
+    description = "A powerful and lightweight streaming engine specialized for voice/video telephony applications. Part of the Linphone project";
     homepage = "http://www.linphone.org/technical-corner/mediastreamer2";
     license = licenses.gpl3Only;
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/mediastreamer/msopenh264.nix b/pkgs/development/libraries/mediastreamer/msopenh264.nix
index 08842889f86..17f537b4d87 100644
--- a/pkgs/development/libraries/mediastreamer/msopenh264.nix
+++ b/pkgs/development/libraries/mediastreamer/msopenh264.nix
@@ -5,22 +5,21 @@
 , mediastreamer
 , openh264
 , pkg-config
-, lib, stdenv
+, lib
+, stdenv
 }:
 
 stdenv.mkDerivation rec {
   pname = "msopenh264";
-  # Using master branch for linphone-desktop caused a chain reaction that many
-  # of its dependencies needed to use master branch too.
-  version = "unstable-2020-03-03";
+  version = "linphone-4.4.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
     owner = "public";
     group = "BC";
     repo = pname;
-    rev = "2c3abf52824ad23a4caae7565ef158ef91767704";
-    sha256 = "140hs5lzpshzswvl39klcypankq3v2qck41696j22my7s4wsa0hr";
+    rev = "5603a432be2ed10f5d5a5ce068ef83ab2a996d6b";
+    sha256 = "sha256-AqZ7tsNZw2Djgyo1JBJbT/c3eQVyEn6r3CT6DQLD/B8=";
   };
 
   nativeBuildInputs = [ autoreconfHook cmake pkg-config ];
@@ -40,7 +39,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "H.264 encoder/decoder plugin for mediastreamer2";
+    description = "H.264 encoder/decoder plugin for mediastreamer2. Part of the Linphone project.";
     homepage = "https://www.linphone.org/technical-corner/mediastreamer2";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index f5dbb30d65f..1e84498d9a9 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -9,7 +9,7 @@
 , vulkanDrivers ? ["auto"]
 , eglPlatforms ? [ "x11" ] ++ lib.optionals stdenv.isLinux [ "wayland" ]
 , OpenGL, Xplugin
-, withValgrind ? !stdenv.isDarwin && lib.meta.availableOn stdenv.hostPlatform valgrind-light, valgrind-light
+, withValgrind ? lib.meta.availableOn stdenv.hostPlatform valgrind-light && !valgrind-light.meta.broken, valgrind-light
 , enableGalliumNine ? stdenv.isLinux
 , enableOSMesa ? stdenv.isLinux
 , enableOpenCL ? stdenv.isLinux && stdenv.isx86_64
@@ -33,7 +33,7 @@ with lib;
 let
   # Release calendar: https://www.mesa3d.org/release-calendar.html
   # Release frequency: https://www.mesa3d.org/releasing.html#schedule
-  version = "22.0.1";
+  version = "22.0.2";
   branch  = versions.major version;
 
 self = stdenv.mkDerivation {
@@ -47,7 +47,7 @@ self = stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
     ];
-    sha256 = "0vs20kyq9sxh52hd242yf7nz2wzw6di8jw7s19pb6q25qn19cpy0";
+    sha256 = "11b8mcplvis7nadcwi1jf3529i2za2q1bkb7609q0rnfvihaakyz";
   };
 
   # TODO:
diff --git a/pkgs/development/libraries/mimetic/default.nix b/pkgs/development/libraries/mimetic/default.nix
index 1638caa0d1f..5a965c3d7d9 100644
--- a/pkgs/development/libraries/mimetic/default.nix
+++ b/pkgs/development/libraries/mimetic/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, cutee }:
+{ lib, stdenv, fetchurl, fetchpatch, cutee }:
 
 stdenv.mkDerivation rec {
   pname = "mimetic";
@@ -11,7 +11,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ cutee ];
 
-  patches = lib.optional stdenv.isAarch64 ./narrowing.patch;
+  patches = [
+    # Fix build with gcc11
+    (fetchpatch {
+      url = "https://github.com/tat/mimetic/commit/bf84940f9021950c80846e6b1a5f8b0b55991b00.patch";
+      sha256 = "sha256-1JW9zPg67BgNsdIjK/jp9j7QMg50eRMz5FsDsbbzBlI=";
+    })
+  ] ++ lib.optional stdenv.isAarch64 ./narrowing.patch;
 
   meta = with lib; {
     description = "MIME handling library";
diff --git a/pkgs/development/libraries/mlt/qt-5.nix b/pkgs/development/libraries/mlt/qt-5.nix
index 5c58aa4f8ae..11a63a3cd5c 100644
--- a/pkgs/development/libraries/mlt/qt-5.nix
+++ b/pkgs/development/libraries/mlt/qt-5.nix
@@ -71,6 +71,7 @@ mkDerivation rec {
 
   passthru.updateScript = gitUpdater {
     inherit pname version;
+    attrPath = "libsForQt5.mlt";
     rev-prefix = "v";
   };
 
diff --git a/pkgs/development/libraries/nghttp3/default.nix b/pkgs/development/libraries/nghttp3/default.nix
index d9608b8e140..6a2ae909a0c 100644
--- a/pkgs/development/libraries/nghttp3/default.nix
+++ b/pkgs/development/libraries/nghttp3/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nghttp3";
-  version = "unstable-2022-04-10";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "ngtcp2";
     repo = pname;
-    rev = "1e4bef2cc45b1fd3971ca3606d08a1e1d1567b1a";
-    sha256 = "sha256-DHNxtu4X0S8l1ADwRJC3yQ+Z1ja3FT0Zb/boRh6PvYw=";
+    rev = "v${version}";
+    sha256 = "sha256-toGTkgJLdSLNWCPJFpT63IxF3xANbvtkhJo5NUg/ZBg=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config file ];
diff --git a/pkgs/development/libraries/ngtcp2/default.nix b/pkgs/development/libraries/ngtcp2/default.nix
index cb11df7f032..4b08a918647 100644
--- a/pkgs/development/libraries/ngtcp2/default.nix
+++ b/pkgs/development/libraries/ngtcp2/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ngtcp2";
-  version = "unstable-2022-04-11";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "ngtcp2";
     repo = pname;
-    rev = "825899c051ea2a1f06a0c4617f41782f37009a18";
-    sha256 = "sha256-VoSy0tyIXWNTmcVdsaiM9ijXLq41AOaPBajvsEIrfjo=";
+    rev = "v${version}";
+    sha256 = "sha256-nmVVK2lpz01hgSxPAMmBfF+nNVZu9PWRGzCWh/5yhj8=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config file ];
diff --git a/pkgs/development/libraries/nss/85_security_load_3.77+.patch b/pkgs/development/libraries/nss/85_security_load_3.77+.patch
new file mode 100644
index 00000000000..bae86c9d26a
--- /dev/null
+++ b/pkgs/development/libraries/nss/85_security_load_3.77+.patch
@@ -0,0 +1,76 @@
+diff --git nss/cmd/shlibsign/shlibsign.c nss/cmd/shlibsign/shlibsign.c
+index ad8f3b84e..74676d039 100644
+--- nss/cmd/shlibsign/shlibsign.c
++++ nss/cmd/shlibsign/shlibsign.c
+@@ -875,6 +875,8 @@ main(int argc, char **argv)
+         goto cleanup;
+     }
+     lib = PR_LoadLibrary(libname);
++    if (!lib)
++        lib = PR_LoadLibrary(NIX_NSS_LIBDIR"libsoftokn3.so");
+     assert(lib != NULL);
+     if (!lib) {
+         PR_fprintf(PR_STDERR, "loading softokn3 failed");
+diff --git nss/lib/pk11wrap/pk11load.c nss/lib/pk11wrap/pk11load.c
+index 119c8c512..720d39ccc 100644
+--- nss/lib/pk11wrap/pk11load.c
++++ nss/lib/pk11wrap/pk11load.c
+@@ -486,6 +486,15 @@ secmod_LoadPKCS11Module(SECMODModule *mod, SECMODModule **oldModule)
+ #else
+         library = PR_LoadLibrary(mod->dllName);
+ #endif // defined(_WIN32)
++#ifndef NSS_STATIC_SOFTOKEN
++        if ((library == NULL) &&
++            !rindex(mod->dllName, PR_GetDirectorySeparator())) {
++            library = PORT_LoadLibraryFromOrigin(my_shlib_name,
++                (PRFuncPtr) &softoken_LoadDSO,
++                mod->dllName);
++        }
++#endif
++
+         mod->library = (void *)library;
+ 
+         if (library == NULL) {
+diff --git nss/lib/util/secload.c nss/lib/util/secload.c
+index 12efd2f75..8b74478f6 100644
+--- nss/lib/util/secload.c
++++ nss/lib/util/secload.c
+@@ -70,9 +70,14 @@ loader_LoadLibInReferenceDir(const char* referencePath, const char* name)
+ 
+     /* Remove the trailing filename from referencePath and add the new one */
+     c = strrchr(referencePath, PR_GetDirectorySeparator());
++    if (!c) { /* referencePath doesn't contain a / means that dladdr gave us argv[0]
++               * and program was called from $PATH. Hack to get libs from NIX_NSS_LIBDIR */
++        referencePath = NIX_NSS_LIBDIR;
++        c = (char*) &referencePath[sizeof(NIX_NSS_LIBDIR) - 1]; /* last / */
++    }
+     if (c) {
+         size_t referencePathSize = 1 + c - referencePath;
+-        fullName = (char*)PORT_Alloc(strlen(name) + referencePathSize + 1);
++        fullName = (char*) PORT_Alloc(strlen(name) + referencePathSize + 5);
+         if (fullName) {
+             memcpy(fullName, referencePath, referencePathSize);
+             strcpy(fullName + referencePathSize, name);
+@@ -82,6 +87,11 @@ loader_LoadLibInReferenceDir(const char* referencePath, const char* name)
+ #endif
+             libSpec.type = PR_LibSpec_Pathname;
+             libSpec.value.pathname = fullName;
++            if ((referencePathSize >= 4) &&
++                (strncmp(fullName + referencePathSize - 4, "bin", 3) == 0)) {
++                memcpy(fullName + referencePathSize -4, "lib", 3);
++            }
++            strcpy(fullName + referencePathSize, name);
+             dlh = PR_LoadLibraryWithFlags(libSpec, PR_LD_NOW | PR_LD_LOCAL
+ #ifdef PR_LD_ALT_SEARCH_PATH
+                                                        /* allow library's dependencies to be found in the same directory
+@@ -89,6 +99,10 @@ loader_LoadLibInReferenceDir(const char* referencePath, const char* name)
+                                                        | PR_LD_ALT_SEARCH_PATH
+ #endif
+                                           );
++            if (! dlh) {
++                strcpy(fullName + referencePathSize, name);
++                dlh = PR_LoadLibraryWithFlags(libSpec, PR_LD_NOW | PR_LD_LOCAL);
++            }
+             PORT_Free(fullName);
+         }
+     }
diff --git a/pkgs/development/libraries/nss/generic.nix b/pkgs/development/libraries/nss/generic.nix
index 3d109b96790..3affffda082 100644
--- a/pkgs/development/libraries/nss/generic.nix
+++ b/pkgs/development/libraries/nss/generic.nix
@@ -62,7 +62,11 @@ stdenv.mkDerivation rec {
 
   patches = [
     # Based on http://patch-tracker.debian.org/patch/series/dl/nss/2:3.15.4-1/85_security_load.patch
-    ./85_security_load.patch
+    (if (lib.versionOlder version "3.77") then
+      ./85_security_load.patch
+    else
+      ./85_security_load_3.77+.patch
+    )
     ./ckpem.patch
     ./fix-cross-compilation.patch
   ];
diff --git a/pkgs/development/libraries/nss/latest.nix b/pkgs/development/libraries/nss/latest.nix
index db8d0179add..622c9fca858 100644
--- a/pkgs/development/libraries/nss/latest.nix
+++ b/pkgs/development/libraries/nss/latest.nix
@@ -5,6 +5,6 @@
 #       Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
 
 import ./generic.nix {
-  version = "3.76.1";
-  sha256 = "0ai37ncg50n4s5243bfvsip8isqq1y6w2swg1n4xgqg2fk1h8cg1";
+  version = "3.78";
+  sha256 = "sha256-9FXzQeeHwRZzKOgKhPd7mlV9WVBm3aZIahh01y2miAA=";
 }
diff --git a/pkgs/development/libraries/ntdb/default.nix b/pkgs/development/libraries/ntdb/default.nix
deleted file mode 100644
index 021436516c2..00000000000
--- a/pkgs/development/libraries/ntdb/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ lib, stdenv
-, fetchurl
-, python2
-, python3
-, pkg-config
-, readline
-, gettext
-, libxslt
-, docbook-xsl-nons
-, docbook_xml_dtd_42
-, wafHook
-}:
-
-stdenv.mkDerivation rec {
-  pname = "ntdb";
-  version = "1.0";
-
-  src = fetchurl {
-    url = "mirror://samba/tdb/${pname}-${version}.tar.gz";
-    sha256 = "0jdzgrz5sr25k83yrw7wqb3r0yj1v04z4s3lhsmnr5z6n5ifhyl1";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    gettext
-    libxslt
-    docbook-xsl-nons
-    docbook_xml_dtd_42
-    wafHook
-    python2 # For wafHook
-  ];
-
-  buildInputs = [
-    python3
-    readline # required to build python
-  ];
-
-  wafPath = "buildtools/bin/waf";
-
-  wafConfigureFlags = [
-    "--bundled-libraries=NONE"
-    "--builtin-libraries=replace,ccan"
-  ];
-
-  meta = with lib; {
-    description = "The not-so trivial database";
-    homepage = "https://tdb.samba.org/";
-    license = licenses.lgpl3Plus;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/openal-soft/default.nix b/pkgs/development/libraries/openal-soft/default.nix
index d2cdebdf355..23812229a9d 100644
--- a/pkgs/development/libraries/openal-soft/default.nix
+++ b/pkgs/development/libraries/openal-soft/default.nix
@@ -1,40 +1,46 @@
-{ lib, stdenv, fetchFromGitHub, cmake
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
 , alsaSupport ? !stdenv.isDarwin, alsa-lib
+, dbusSupport ? !stdenv.isDarwin, dbus
+, pipewireSupport ? !stdenv.isDarwin, pipewire
 , pulseSupport ? !stdenv.isDarwin, libpulseaudio
 , CoreServices, AudioUnit, AudioToolbox
 }:
 
 stdenv.mkDerivation rec {
   pname = "openal-soft";
-  version = "1.21.1";
+  version = "1.22.0";
 
   src = fetchFromGitHub {
     owner = "kcat";
     repo = "openal-soft";
     rev = version;
-    sha256 = "sha256-rgc6kjXaZb6sCR+e9Gu7BEEHIiCHMygpLIeSqgWkuAg=";
+    sha256 = "sha256-Y2KhPkwtG6tBzUhSqwV2DVnOjZwxPihidLKahjaIvyU=";
   };
 
   # this will make it find its own data files (e.g. HRTF profiles)
   # without any other configuration
   patches = [ ./search-out.patch ];
   postPatch = ''
-    substituteInPlace alc/helpers.cpp \
+    substituteInPlace core/helpers.cpp \
       --replace "@OUT@" $out
   '';
 
   strictDeps = true;
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) stdenv.cc.libc
     ++ lib.optional alsaSupport alsa-lib
+    ++ lib.optional dbusSupport dbus
+    ++ lib.optional pipewireSupport pipewire
     ++ lib.optional pulseSupport libpulseaudio
     ++ lib.optionals stdenv.isDarwin [ CoreServices AudioUnit AudioToolbox ];
 
-  NIX_LDFLAGS = toString (
-    lib.optional alsaSupport "-lasound"
-    ++ lib.optional pulseSupport "-lpulse");
+  cmakeFlags = [
+    # Automatically links dependencies without having to rely on dlopen, thus
+    # removes the need for NIX_LDFLAGS.
+    "-DALSOFT_DLOPEN=OFF"
+  ];
 
   meta = with lib; {
     description = "OpenAL alternative";
diff --git a/pkgs/development/libraries/openal-soft/search-out.patch b/pkgs/development/libraries/openal-soft/search-out.patch
index 796642aa3c8..5813cd48ee6 100644
--- a/pkgs/development/libraries/openal-soft/search-out.patch
+++ b/pkgs/development/libraries/openal-soft/search-out.patch
@@ -1,7 +1,7 @@
 diff --git a/alc/helpers.cpp b/alc/helpers.cpp
 index 8c1c856..19bbc0f 100644
---- a/alc/helpers.cpp
-+++ b/alc/helpers.cpp
+--- a/core/helpers.cpp
++++ b/core/helpers.cpp
 @@ -402,6 +402,7 @@ al::vector<std::string> SearchDataFiles(const char *ext, const char *subdir)
  
          DirectorySearch(path.c_str(), ext, &results);
diff --git a/pkgs/development/libraries/opendht/default.nix b/pkgs/development/libraries/opendht/default.nix
index 2cd76a7ca78..c588685eb99 100644
--- a/pkgs/development/libraries/opendht/default.nix
+++ b/pkgs/development/libraries/opendht/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opendht";
-  version = "2.3.5";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "savoirfairelinux";
     repo = "opendht";
     rev = version;
-    sha256 = "sha256-GGaq8ziOCUDMxILq2QYUkSP4usBjbufbHwQF4Pr6hHw=";
+    sha256 = "sha256-vfMzUzTfz8G+E4W/1pX5v2P0RntgSTR61urmxtsrOWM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/openfst/default.nix b/pkgs/development/libraries/openfst/default.nix
index 599d1cad0cc..cf498422912 100644
--- a/pkgs/development/libraries/openfst/default.nix
+++ b/pkgs/development/libraries/openfst/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "openfst";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchurl {
     url = "http://www.openfst.org/twiki/pub/FST/FstDownload/${pname}-${version}.tar.gz";
-    sha256 = "sha256-JPtTtyu2h+P6julscqMf8pINmbmAoKj2HdpCb8pnE/A=";
+    sha256 = "sha256-3ph782JHIcXVujIa+VdRiY5PS7Qcijbi1k8GJ2Vti0I=";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/openjpeg/default.nix b/pkgs/development/libraries/openjpeg/default.nix
index 32bfa6f2458..b26738c9ea1 100644
--- a/pkgs/development/libraries/openjpeg/default.nix
+++ b/pkgs/development/libraries/openjpeg/default.nix
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ libpng libtiff lcms2 ];
 
-  doCheck = (testsSupport && !stdenv.isAarch64); # tests fail on aarch64-linux
+  doCheck = (testsSupport && !stdenv.isAarch64 && !stdenv.hostPlatform.isPower64); # tests fail on aarch64-linux and powerpc64
   checkPhase = ''
     substituteInPlace ../tools/ctest_scripts/travis-ci.cmake \
       --replace "JPYLYZER_EXECUTABLE=" "JPYLYZER_EXECUTABLE=\"${jpylyzer}/bin/jpylyzer\" # "
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 8182a01cd52..6818418ad68 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -193,8 +193,8 @@ in {
   };
 
   openssl_3_0 = common {
-    version = "3.0.2";
-    sha256 = "sha256-mOkczq1NR1auPJzeXgkZGo5YbZ9NUIOOfsCdZBHf22M=";
+    version = "3.0.3";
+    sha256 = "sha256-7gB4rc7x3l8APGLIDMllJ3IWCcbzu0K3eV3zH4tVjAs=";
     patches = [
       ./3.0/nix-ssl-cert-file.patch
 
diff --git a/pkgs/development/libraries/ortp/default.nix b/pkgs/development/libraries/ortp/default.nix
index af924ad80d2..ada36487135 100644
--- a/pkgs/development/libraries/ortp/default.nix
+++ b/pkgs/development/libraries/ortp/default.nix
@@ -1,12 +1,13 @@
 { bctoolbox
 , cmake
 , fetchFromGitLab
-, lib, stdenv
+, lib
+, stdenv
 }:
 
 stdenv.mkDerivation rec {
   pname = "ortp";
-  version = "4.5.1";
+  version = "5.1.12";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -14,7 +15,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "1lc1j7wvkyp5lhcflq3h5y7n8aiwgwj84ffm81ggbsmavamgwkk7";
+    sha256 = "sha256-CD9xn1m6zpUEC+shmNeWfGAJxNto87UbznD+TLdeuEg=";
   };
 
   # Do not build static libraries
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
 
   meta = with lib; {
-    description = "A Real-Time Transport Protocol (RFC3550) stack";
+    description = "A Real-Time Transport Protocol (RFC3550) stack. Part of the Linphone project.";
     homepage = "https://linphone.org/technical-corner/ortp";
     license = licenses.gpl3Plus;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/pdal/default.nix b/pkgs/development/libraries/pdal/default.nix
index 2d971444416..354c68decfb 100644
--- a/pkgs/development/libraries/pdal/default.nix
+++ b/pkgs/development/libraries/pdal/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pdal";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "PDAL";
     repo = "PDAL";
     rev = version;
-    sha256 = "sha256-DKIraCyp8fcgnVp5dFrtQ4Wq96cQGC9SiAPLS6htUZc=";
+    sha256 = "sha256-w9Fu4Op6OdaxdvOUM+glpJUEZq//EwRD2lqzYrMXk8w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/physics/cernlib/default.nix b/pkgs/development/libraries/physics/cernlib/default.nix
index 7028c44b434..ca328e2bac4 100644
--- a/pkgs/development/libraries/physics/cernlib/default.nix
+++ b/pkgs/development/libraries/physics/cernlib/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, gfortran, gnumake, imake, makedepend, motif, xorg }:
+{ lib, stdenv, fetchurl, gfortran, imake, makedepend, motif, xorg }:
 
 stdenv.mkDerivation rec {
   version = "2006";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = with xorg; [ gfortran motif libX11 libXft libXt ];
-  nativeBuildInputs = [ gnumake imake makedepend ];
+  nativeBuildInputs = [ imake makedepend ];
   sourceRoot = ".";
 
   patches = [ ./patch.patch ./0001-Use-strerror-rather-than-sys_errlist-to-fix-compilat.patch ];
diff --git a/pkgs/development/libraries/physics/lhapdf/maintainer.sh b/pkgs/development/libraries/physics/lhapdf/maintainer.sh
index 6e263dcebfd..dc182ec99ea 100755
--- a/pkgs/development/libraries/physics/lhapdf/maintainer.sh
+++ b/pkgs/development/libraries/physics/lhapdf/maintainer.sh
@@ -4,9 +4,9 @@ set -xe
 
 : ${SED:="$(nix-build '<nixpkgs>' -A gnused --no-out-link)/bin/sed"}
 
-BASE_URL="https://lhapdfsets.web.cern.ch/lhapdfsets/current/"
+BASE_URL="https://lhapdfsets.web.cern.ch/current/"
 
-for pdf_set in `curl -L $BASE_URL 2>/dev/null | "$SED" -e "s/.*<a href=\"\([^\"/]*.tar.gz\)\".*/\1/;tx;d;:x" | sort -u`; do
+for pdf_set in `curl -L $BASE_URL 2>/dev/null | "$SED" -n -e 's/.*<a href=".*\/\([^"/]*\.tar\.gz\)".*/\1/p' | sort -u`; do
     echo -n "    \"${pdf_set%.tar.gz}\" = \""
     nix-prefetch-url "${BASE_URL}${pdf_set}" 2>/dev/null | tr -d '\n'
     echo "\";"
diff --git a/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix b/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix
index 694164f5af2..286cf8355b6 100644
--- a/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix
+++ b/pkgs/development/libraries/physics/lhapdf/pdf_sets.nix
@@ -59,6 +59,9 @@ in
     "ATLAS-epWZ16-VAR" = "1zkhlv8yxfla46gj57119w9prsd3zyy5vg275bayfwa6b71gmc0b";
     "ATLAS-epWZtop18-EIG" = "069rysd9mf3cshx7xkcv7735ydh2g6szvljbfkcqwckaqjg2x3v5";
     "ATLAS-epWZtop18-VAR" = "0hpyp52dwl8fnw47pyw8g7fsz97wr6sk4yli6sx0zbj8yy2j28yj";
+    "ATLASepWZVjet20-EIG" = "0lvd3zkmisx95rbjx7r9wkk0s0mxvaybp3pk66sxrxf1bj1l9r52";
+    "ATLASepWZVjet20-MOD" = "1iyb50isdsy3a5wnlm0185z9bfs6nxwlcl1aqlh4h3j1dbmz4ba9";
+    "ATLASepWZVjet20-PAR" = "1kfqii7sbcs8zdsyd9kiy3r233nawc9yfc23fb6ql0xcwfzpyb1d";
     "CJ12max" = "1vk2zkaiqbl6fixaxy7mrggmmxv7lvnw736lxm5sh25dapg6s8ag";
     "CJ12mid" = "0s2558ihypn0l9qqx25qwnawbc7fkbi2wwwhbyb108rjk2klaf8v";
     "CJ12min" = "1kdla638m3axr65ndid9irmqhby4gl084r297xw3jxxlrb0b7hj9";
@@ -171,7 +174,7 @@ in
     "CT14nnloIC" = "1wnpwy0mz0c5y29wi497jcn5k47bndd0h65d6a18qcfk0l15rfzx";
     "CT14nnlo_NF3" = "0ijns9bjkw8zcinba7rflc7ic03mn5701lqfrxqjyq4q6kh8fia7";
     "CT14nnlo_NF4" = "0fhyzaxnm17pi7wfh5hwaic9q4y0hb05ripd6r648wnnhhi353xy";
-    "CT14nnlo_NF6" = "1rnacbsh0y9qjd2x7ggs87zi9msrxrp2l6lidg92i2la4pri27zk";
+    "CT14nnlo_NF6" = "1dvabji3vrqk8ngln72xqiahm8fai3klgv5yz64b3bfxcr04wmg9";
     "CT14nnlo_as_0111" = "1hl88j40czr73h9fbz0zbliawlqwng7ikrmq01hsfns190axm8w9";
     "CT14nnlo_as_0112" = "1w9344v9ihr0w8vrfhhxn81gcnr0qm6ihwwijvcdds09jpdlp6vr";
     "CT14nnlo_as_0113" = "11symfb1ljislbksrars1k766fa2n1inbarzbw3kp01vxpw8gxf5";
@@ -190,133 +193,157 @@ in
     "CT14qed_neutron" = "0ck1vmqk17i7rq42hra79cz2rm8ngxv4da6dvz62l6m2nrga3l2k";
     "CT14qed_proton" = "1gijxkq5gpsljijblzd13kgr7xjjvnjv18v02jivylf73igsakd7";
     "CT18ANLO" = "16lbhgkbiym3njiffxdcm3hf7kkm33hyj2w1hwgb3mvxx2sja31c";
-    "CT18ANLO_as_0110" = "08hwxc99l645a9craimgawwynxcs5cmapgxgk0fy9ihvjvqs6jg2";
-    "CT18ANLO_as_0111" = "02ff3s127svdjzawbhzry04rcsw5waggmf3iwpqndzxhqpm0py8a";
-    "CT18ANLO_as_0112" = "063g7sqii0gf2rdjg9k9x95kzwg62w8lfq9cgyv3bnkpapnbqhia";
-    "CT18ANLO_as_0113" = "01zh34dg4cc8955ipg2i0k6s13h77jg8yaa4v2f4aw0020js9dn2";
-    "CT18ANLO_as_0114" = "061lvglsg4889q6qya83f7ngyzi2ibar1c9w6xyl462x5i4frx2x";
-    "CT18ANLO_as_0115" = "0a35axfjxywy4yh8pk4w4f57rfljvd593bx7a8wnix0cifnngg4j";
-    "CT18ANLO_as_0116" = "1cm3m3m6l93qlr9fxbc0d21gq3x0wn09qi8cxbx7lj0yqhjf2zh8";
-    "CT18ANLO_as_0117" = "1nrzrlp7i42z7pv550ggga0fk356i9rqbj60mdxvlw3xl6v4kkf4";
-    "CT18ANLO_as_0118" = "19p7x6q9flsz1s82scakgnsfsrjf8ym6ix3gp195fjgfdkannh9i";
-    "CT18ANLO_as_0119" = "1jz27f39dpg0g46p834vgvaajxspyqwd8f7zlpv44lfb43va6dgy";
-    "CT18ANLO_as_0120" = "0rp9hrvs44d8pbagmc3vipnh5d9amam3prkm2k7spvxahr6dp8dp";
-    "CT18ANLO_as_0121" = "15abhrjmmhyka9dxjmwz7103i0bpa605yhy6kisgzf7km5ca14h9";
-    "CT18ANLO_as_0122" = "15mxybppydzsxx308hqljahnmrw0islw2zl45kjlhxjxsmaai2nc";
-    "CT18ANLO_as_0123" = "19zlyapm5cp1hwvfqcjm3v6mgwdaa6f5d0mvnh68c05sn39xjhz2";
-    "CT18ANLO_as_0124" = "1fwzcs50bj6d6cjkvi4qj44mwrwxhjh25lxmk2q82wdmddgpaz0c";
+    "CT18ANLO_as_0110" = "1lkxicxmphi4mdc23vig4a5l4gp0n53jblzsl7bvrixbkhd5arv8";
+    "CT18ANLO_as_0111" = "1jk8siawnpnclgjc0jhx89ipym0jp94mrklwkn0awh0hgqxd26ra";
+    "CT18ANLO_as_0112" = "0rpfx10b5hjwzmlqzkk1zkk38ysn5jfgipk71zl5da6qk1ih5v2s";
+    "CT18ANLO_as_0113" = "0chhqgjddrb731y6haa94yypki6pzpjq5rvja61gfbghbvnc02fs";
+    "CT18ANLO_as_0114" = "0nvl1a588jvmh7a7przrzpvf9prrpvv610jmsnfrcp4i98ipdn1p";
+    "CT18ANLO_as_0115" = "1f757zlavyjxjwyda8rnkzg9kagmciywvvvdcsbks9ij3m4fcw5z";
+    "CT18ANLO_as_0116" = "13bdsnwkqzjq63m02vmb7z03rx6chcyy3br4m52gja0qz03rxhyj";
+    "CT18ANLO_as_0117" = "0w5pmqry5rd5jsfwiv43cy5z3hlk7gzllnk0vn1qgsjrgd284hj9";
+    "CT18ANLO_as_0118" = "1g137nw812zqdkr97hdwvfi4c4bxfazy1wyk30gwgrhqs6xdsmyp";
+    "CT18ANLO_as_0119" = "06pjg9nsq6pvda1yg6lg2qi15i3h2radampgk23rbz9g6zn5hw39";
+    "CT18ANLO_as_0120" = "0jh6f5jj81sppv5fhm8ccgzwpacfr1nql3r5466z0bl201fc9x6x";
+    "CT18ANLO_as_0121" = "0jh4x2y4rcp3l825dl3a89apmb0f94jrk0pl93lv8xg34f8jrb2i";
+    "CT18ANLO_as_0122" = "0ma8r5vgdw9hj6cafkj8fbpq8i18cbild4aw4q9lrsszwwcrlv9i";
+    "CT18ANLO_as_0123" = "1mv75gga1gdmnwkaxc0c89jxgapc38376xv5yxfqy2dn03pad9im";
+    "CT18ANLO_as_0124" = "0913a748xm6lbdci8vicz08h323hbkc4z1bjq1wq8qfrl1cx02ic";
     "CT18ANNLO" = "1kbsbvvkkchhwwjdrj4d91lbykid4dcy4ghanpdd9x0nfm5b4sgk";
-    "CT18ANNLO_as_0110" = "1a60p22r292hjjcrdkgis6d81hgihnjzyzlbcqrvx9bkbq447kjq";
-    "CT18ANNLO_as_0111" = "1gyl4h92xs4s64dm7cwrfqk2zrs1cbzp76dqckf7z44k4pm460m9";
-    "CT18ANNLO_as_0112" = "1bsn5q12bgkhyl1d6wkq32m3l7i0wqxpnjxh790xcd3ympbfx16h";
-    "CT18ANNLO_as_0113" = "1dri54s71ygnd1pdnmvr9vqbyfllwzr9x39zg01rpj02zy7kidb0";
-    "CT18ANNLO_as_0114" = "0f731ryn1031053zv40mak9m7mxmn6dvnhn6ik6kyag9d3az6lvx";
-    "CT18ANNLO_as_0115" = "107569wrkjic6xjp574i6r6n8wj2x9cx4h7dqh77wxl8g4aajkh6";
-    "CT18ANNLO_as_0116" = "0r951p0a4pan71lkhf701ysw6kyq1wvf15rbjdjr4j7khjfaykcp";
-    "CT18ANNLO_as_0117" = "0xsgzga5bya0ng6i7nvk33nrf792vzbd1rs174cix4v406g99xm8";
-    "CT18ANNLO_as_0118" = "049534355lxhppw2l85i677ysb2gwzccs0b5afm719sh06rv6jkn";
-    "CT18ANNLO_as_0119" = "034kd7pg103ldc3nmgsylv0ffl8v0sp9jkf9073ny11s7b3pb5wa";
-    "CT18ANNLO_as_0120" = "1ph23xpirkahpr9x1k2qm9pp3a1hc3i15bhc6xprpc29k53m4wsi";
-    "CT18ANNLO_as_0121" = "12qrg3jb1kar46b8lai56lb7wxjr950dzaixfncxvy38hrny6mxh";
-    "CT18ANNLO_as_0122" = "1wmkl2rlhkwzxi1yln0m9i6lvpbqkp3bxdnyzz7hp3hy1sa5f60s";
-    "CT18ANNLO_as_0123" = "1caz4rfmcmabfdw5b8xg2307bs1bjclgdcxq2k6gf73z3pqbjs8w";
-    "CT18ANNLO_as_0124" = "0mx8h8vdhlklgvysmhllkzga3g65zkmzpz7bmyvaqmvbvr6x5q0w";
+    "CT18ANNLO_as_0110" = "1inx20r83pfmwxfhyy3hhj2csp016d9cnald1rf8vl9riqxvx0j4";
+    "CT18ANNLO_as_0111" = "0zzi0b27xp4xykbwd2y7l2ka1k4kfvhaq7y2w82fky2b842ixsmg";
+    "CT18ANNLO_as_0112" = "0y031rslsmwxs76rz184mrjb07pdcxrf07yl5yab1y24vymqj4dy";
+    "CT18ANNLO_as_0113" = "1pgrcb6sbahl2jf3v08bki28w9x0ag5n3zj1fi0jc69fxwgkczzq";
+    "CT18ANNLO_as_0114" = "0ifzf428gxlmhc8wvpj3qaqr0cl6pripiabmnb5av43d5avwhagr";
+    "CT18ANNLO_as_0115" = "1bxf5rs33kfl3q570wm49ad0drlanzq8wkrbd85qjlvyhy52j8vs";
+    "CT18ANNLO_as_0116" = "0l43qn45wfj2lljpp8kri1n2p99lxj3gbbqh2p2s7v0my5ds5p06";
+    "CT18ANNLO_as_0117" = "0nfh9y2w8lvlqbghxx4i7j7gxq5bm67h3vz1wajg86zndarkq6mz";
+    "CT18ANNLO_as_0118" = "0m8s96rgnnl5xk7g3l2pf5qx7dwb8kgn18b9nyr8cyqxn90mh3vr";
+    "CT18ANNLO_as_0119" = "1lpkcrcfmn0kc9g21ca90j1shcf3ii89yrr17rgwynmylwvizs2y";
+    "CT18ANNLO_as_0120" = "0lmn2p57k7yvr5mpzykljhkpnb1c71f4ya2s4zbp2x84fqfg5wbk";
+    "CT18ANNLO_as_0121" = "0arbvp0sc67fsf7slhlv96iwq89yjqqkv84pf76fqdvrrjsmyn61";
+    "CT18ANNLO_as_0122" = "1nbkgb0wmjh2bfx944sqb810sn4bb0ppxgv2aw2y93jbfyx7x4ry";
+    "CT18ANNLO_as_0123" = "1rlxn70mc299v596y0dwp9a1pdy1yz0r8367cjw5l97y46yxhjrh";
+    "CT18ANNLO_as_0124" = "0sfkvhyxp9sqf75wj91h9h59vcs2y2n4qchsg0marjy849xxh6qb";
     "CT18NLO" = "04y2p6vz484l3yv6381pfavqs3xh78h3jn6bg7ncp5vywwqp44n9";
-    "CT18NLO_as_0110" = "0ncaacfw8dh45vaf84kkj93hwxgwz744qqd6llpy73zdilnl62a8";
-    "CT18NLO_as_0111" = "1cib3ggy0wajvvw908wr4bfymcw62iy5abwdadhq69crcg01619r";
-    "CT18NLO_as_0112" = "1x242x4y0vykfypm02g02qxpwmsq2p45bxqrqgfy29qagxz6j66d";
-    "CT18NLO_as_0113" = "0fkis7l0s1lb2k7qyfwnn5axbpiv9yky4j5qc8g3fa068czijmhi";
-    "CT18NLO_as_0114" = "1r6ih2gqiwm7z24iw9xgn2n35659v5nwl2d02f07j1k3d33j175n";
-    "CT18NLO_as_0115" = "0z4vm73l16mpjf3wcrv5q659f2mwkx85wpmnq8j1fnk0vhms59dx";
-    "CT18NLO_as_0116" = "0g4lxxc9g09alpsff9wr7w0jgi26h3klx8rk6nb71j9yzrwv12vv";
-    "CT18NLO_as_0117" = "0hmn5vkgi5981q0s5lyp9mq9jjrzhgr1f9w8np3i2nwcgn1awis5";
-    "CT18NLO_as_0118" = "1z6is1f3064wq56lfxrmqckk3yi6wsl42s2xigx87p8zqg3r4nkz";
-    "CT18NLO_as_0119" = "0p3r7w5v3pq2dgaq96r3khx1wwjq6i33l0bbf63dxs88gk5cx1s4";
-    "CT18NLO_as_0120" = "1h0rcra68yypf1yqwlzql385ks1agxc9njdpyx60j3yg3whk4h63";
-    "CT18NLO_as_0121" = "1by1iiy7qby73m8s3qmnrf0dyca3k4z00fclbrm651f79nz8scz7";
-    "CT18NLO_as_0122" = "1r8h2cw874dh1mj4r545wp9msr1358qw1lzznwvgkmgwjclndjg4";
-    "CT18NLO_as_0123" = "1d8c3bk6bvy3azbv9yqi45cwkcmjbxxw7qaxn6xnc5jfcf6wbsp1";
-    "CT18NLO_as_0124" = "1haqxq1jbcz9qbhnw4pxsvlr37908fkdlzyn7c1csrlr8a51s3z4";
+    "CT18NLO_as_0110" = "0nrydk44sp7hgabn6xk6r2hnkir7mgddcsbbnqmpwmq3x0xz27pn";
+    "CT18NLO_as_0111" = "17xwzcj4n1bmfwz02n2g8afzxc4lp5diij00f2w50pqh2w7vj6g9";
+    "CT18NLO_as_0112" = "0a6lsmpz3c1z7dm593nb3r9q7dgpskkls2i6wpdlrrg6s6cr8rmq";
+    "CT18NLO_as_0113" = "1kwz9yp0vzyiwy9avxjwibdc6jla32vddf23pvfiv0qjcwfnp6ii";
+    "CT18NLO_as_0114" = "161q98jr59vn1qldhd83qxx0qjq1rahgamwfqd3hw6dn6wy39970";
+    "CT18NLO_as_0115" = "1dp0683zfn7mg0bj1l5m7i9kdbyxjl0ahhwppvgi5gs5kbmhbs9n";
+    "CT18NLO_as_0116" = "0hpi5s175cpz251nav0v34l6qsfqj6181mhhp80kghyyvl7l22sw";
+    "CT18NLO_as_0117" = "1v32wxdsvms23sghcszw6csd08kw0xppjzwjnbdsc8k6w67r546m";
+    "CT18NLO_as_0118" = "1vd7vc7f49in1i5398p12b9vklxbsif89wv2q93k6m91kb38rm45";
+    "CT18NLO_as_0119" = "1h0dlys71cngsxl9dj9l5amikxrvzzb7bins2a6wn6s7zgfyvlck";
+    "CT18NLO_as_0120" = "126jfwml027mnpbr6ad7s8d94j3n1sv6fbdy5r5vcb64nyncjach";
+    "CT18NLO_as_0121" = "1khffdgqdfl1g4cxp4fnyb900722s6pwzys7cdxmwhzi9f0rwgw8";
+    "CT18NLO_as_0122" = "1w7q35igi7fnkrwnr1dnfq646qicz4549c6ddqbkyil10arvq7fk";
+    "CT18NLO_as_0123" = "1bl6rf69gjnblvfdh5p8flax9qb65vk25hcfjw2r7qwdz3dxs6sr";
+    "CT18NLO_as_0124" = "18mhpn4l3qqg9v79z2vz4jc8w3za726fndfl6sbc9mf94jy72chm";
     "CT18NNLO" = "1shkah5ma0hp101aklkz2p8n9y4i4sv6zwa5ifzyj3bgz1020l5f";
-    "CT18NNLO_as_0110" = "1smilnmhw8zjd0hl03v7wflbbia5qxqfmvyikbgwc29g212xbq71";
-    "CT18NNLO_as_0111" = "0mj77vshb9fmlvc1pp3m701nl574p0k013lg0l25r4nhvlfiiriz";
-    "CT18NNLO_as_0112" = "0a87crw7dygf9q28v95h9j02yq5f9rr5fdrxvqj5ggw839nazgmk";
-    "CT18NNLO_as_0113" = "011269haxlh2grq60qbmwrilgnkz6hlacd8x56iizl6ify7hcs2c";
-    "CT18NNLO_as_0114" = "0im03f2vr9pfd223skadmcfrypxlpka4pqizjcbqq75fddhljivq";
-    "CT18NNLO_as_0115" = "0pppdh2vq86iiar18c5wi2qbm6viv0hpyfah8pn1p6bcg1k99srs";
-    "CT18NNLO_as_0116" = "17wsn6jxp25klk3x3yfa5abxjjdl5j9vdwxqb51zg6ic3a7is764";
-    "CT18NNLO_as_0117" = "0nkdmqyqzzg19m98mqm9n2dcaiy4i97zrxmy7x1c3rxc0n7igkzh";
-    "CT18NNLO_as_0118" = "0v931kw5dzqq95940mxmkj1r6a75w525j99yf47pyf55vg22ybkb";
-    "CT18NNLO_as_0119" = "1z4kg4na0m2vrflnizxhjdxa9rdzp66mq66bxcjlvqiraf4ygkd4";
-    "CT18NNLO_as_0120" = "07bz7q5h0rfxf5989sarchsv2mcn4093b6x5094725p74sw41sq5";
-    "CT18NNLO_as_0121" = "0slw6m1scnajlfhxswd05if782k32gcyx9zz50gaiwqimrz188fa";
-    "CT18NNLO_as_0122" = "1jrzxq7mqhkfj96whqfr3ny2g1kggc047cvzb7ladlirmi05injg";
-    "CT18NNLO_as_0123" = "1zdmvp9pxjjs96yw05l5s0c0ym1hyj7d3an5siy3i20lvyxcgyz7";
-    "CT18NNLO_as_0124" = "1lb88y4c68n669c2g2q2zwjp92d9hgbxgpl0b7dxny9a7zdmw0mx";
+    "CT18NNLO_as_0110" = "0v7nsjcm1q7hgj726zlvfydl3arqkwyddd20z3g0nwdqcimv3qs9";
+    "CT18NNLO_as_0111" = "118444ygv03ryhbb28njbsayvv0rdlcb9djja6p62kk6rnbwi1wz";
+    "CT18NNLO_as_0112" = "0djxkvwk628sxgf62bff40m2m6vgzs08jss61f90rscvj6gxid5b";
+    "CT18NNLO_as_0113" = "1xg7qs33h8zgj4007r8g4drhm95551slhwv62dzyv9pwy5vrvgdn";
+    "CT18NNLO_as_0114" = "0i1g7kwfs39ps9ml0ckkcq7x4g1n764q1r06ilq7bci3m073cffn";
+    "CT18NNLO_as_0115" = "16q0hc3p0325bq9zgskkpf9qfyhmz9q0rk3b0jrzpc0d4vk7b5r5";
+    "CT18NNLO_as_0116" = "1mhnx8szpp4sfy592f8vzvjlzr9y46qndv3c42hf0jsygx5pc5cr";
+    "CT18NNLO_as_0117" = "1bmcnjfzwf4bl70qyx6csix3ps46pd32yb2h33y2f144vp8bmkpg";
+    "CT18NNLO_as_0118" = "1r1dmj42qrqprhq06i0h4kpjc1riql963n32icl0mfwjq9wpfa0g";
+    "CT18NNLO_as_0119" = "1rxyd21h407zmjn3nnr4cqvinw2nwcdhid6cbr0wif8p2b3gasic";
+    "CT18NNLO_as_0120" = "1llhnfijc7v6v4dkbsfgj2c3m0y4q42mvaynz06v2j3aqv3wzhza";
+    "CT18NNLO_as_0121" = "19dqq2jz5daq59gv2zdvygyvwi9sx6i3ih82yl82yy82gbw2568h";
+    "CT18NNLO_as_0122" = "0p8w4ypaxrpsyz3dn7f0964wgvd30iy4r1haa88hqwx74qrkb4pc";
+    "CT18NNLO_as_0123" = "1c1sw5md5xp8l6b3qxbnf994kz2rd60p4bl3s3l2af7f77w57wfv";
+    "CT18NNLO_as_0124" = "0ldf7dnzdlwqh0gmb6an0b8cwcjpkiaih49aa77j2irw2yja5p41";
     "CT18XNLO" = "1k0cli4j0z5hj24pk9f78flhlvsdfya51hgh90jv4myniapk616l";
-    "CT18XNLO_as_0110" = "0yahahfmzzwzxiqanm7029z05f3nx9cs2yjdvyvhazvicsq3ibid";
-    "CT18XNLO_as_0111" = "1n0q8d0j8smq2z6n9l091r2q8v319zcf896nk2m0s7n9g9a0vcjq";
-    "CT18XNLO_as_0112" = "1wj968g1vb58gz6vslzfmihvqg5f9f2cqgq8inlgdhai1y8vk1lz";
-    "CT18XNLO_as_0113" = "1gi939mxv99q2r1m8a6d4ky5nrp24xv16xw6d9h7ly27jrw8kzm5";
-    "CT18XNLO_as_0114" = "06gf4m01yr89xklch6ack012in2i1bifyzvp793x9w8m56dx12ms";
-    "CT18XNLO_as_0115" = "1g4705l0qb0immd4la2vrj9v4kw7r7i1wz1vn4knbqjwig5kcfws";
-    "CT18XNLO_as_0116" = "0vaxwg3ixf4x92vssh8gqrszbfa5zgzbsd5p81j14nlksshrs6bf";
-    "CT18XNLO_as_0117" = "10qg2yr63csg4nd62a8h0s1z08cmgbkwvcsh0wp7zkzpw70r7x78";
-    "CT18XNLO_as_0118" = "0kxhg2pn7ki4nxcs5jhxvx4fs6c414mq0d0qm3vldv0hsayqsbnd";
-    "CT18XNLO_as_0119" = "1xd4ib2fqzhg9c6z2zyc8h3il4msm7rv9kkaaapll4h0gpjdda6x";
-    "CT18XNLO_as_0120" = "0jyb8gs0avvlhiwwvrv09p47vs3jim3y315hg7wcy31xab90b91i";
-    "CT18XNLO_as_0121" = "1afizsl9phvvdjbyrifx3ii10gpxl51rvx311imz30l51i3fzl7v";
-    "CT18XNLO_as_0122" = "0wkpicsv9357lh96vjnrxzddaaaiaagyfph2jcyp97mjhixx2hlg";
-    "CT18XNLO_as_0123" = "0hr9m422shvp5yzjdd7lqansim7qcx3iv1p017fp1a4ihj661sra";
-    "CT18XNLO_as_0124" = "03zf75f6gx41g3fxrdc6sqkfcyzz03izchwfvabwfxr06yq94jxc";
+    "CT18XNLO_as_0110" = "07k9ga6n2gf9qz0flvrd4if0mssddrq1bbk0rpxsy8wfp41cjsl8";
+    "CT18XNLO_as_0111" = "1ysz50r2nc57c7srgqw1dcvyfr9h578dkz24sbimxq54akp9jkxy";
+    "CT18XNLO_as_0112" = "11wvnvsc6a5c2ygq39avai4xk2mrnfnvi4fqzmkjdcm0kby0swpb";
+    "CT18XNLO_as_0113" = "0cyv8y2m3514np7f3fwpf3g1mzy2cz905sc5lrjqff5djwjc23yg";
+    "CT18XNLO_as_0114" = "16vj7hhg3psmyr4vqvy8mz4bg7rp6jc6b64n2dfpq5jvb15w2fbv";
+    "CT18XNLO_as_0115" = "0ylw7d9g041fgrjfvq0i0ycpxwbm3s4jdgm5mkjk6yj0s4mrrqcy";
+    "CT18XNLO_as_0116" = "0mcfgih55zja7k0cdi1yd7gx1gjr6cpzz28gz4fxyxi2l4paxh2k";
+    "CT18XNLO_as_0117" = "0klzf5bchabcjc0c8h6f09g37jy6vwrpq7q8iwrfcmar2slx26r2";
+    "CT18XNLO_as_0118" = "0hd1bhlkmnchcv0xbrqjc3paa7fqp249sxi9hg71x3qbh03ab036";
+    "CT18XNLO_as_0119" = "1xlxw18hcsv7bij4dvnj9dfm8sai5xm9jggb8g7flmvkmcskgzmg";
+    "CT18XNLO_as_0120" = "1ixdg56qgm5701al85zkp81xx3h9hsipqka8l3sh0ghp563qxk32";
+    "CT18XNLO_as_0121" = "1msa7pp1a77wmvxa9mhr0sgjj4yv1msb0igqj53ahzgisyl3lnml";
+    "CT18XNLO_as_0122" = "1kin5bf9bcxadqibqfzb03bxdrj759mlgpbpjvvpxg4ishj0b7yv";
+    "CT18XNLO_as_0123" = "1mir3cpvbc30l3m84j1ql1d8phrx7nf0qd5xbq9jfl4gx1kjfw8c";
+    "CT18XNLO_as_0124" = "0ims3sl32rria896ckm9fg5dsmbf6ivcfl3drnqpl328ynrkbzlr";
     "CT18XNNLO" = "0j7bwzkhax4cm3wnbhqdv48j4wha9zdd7v77ihlgcvcmk79rx1fa";
-    "CT18XNNLO_as_0110" = "1vwaz00jwpyd1nafpfw0mw309v10zqxcsygdjsdd9mn5p1j6z3hv";
-    "CT18XNNLO_as_0111" = "0g6w519dc13mzgb2wpyy7chnl5wkl0ndrdiw7nymad0csg20yss2";
-    "CT18XNNLO_as_0112" = "06wlzpx9b83gblg4rvqv22k60pvjikqs5m5gp2kvrwmc2wxp73d2";
-    "CT18XNNLO_as_0113" = "0ybm5v0dprid7vvsnsihkd3vn5gqsqsmib63sh3xl45i58h1szzz";
-    "CT18XNNLO_as_0114" = "0hpznnkarzjmf5447jp9za1w52lqpysprnf14v31mda9k7a6kdkn";
-    "CT18XNNLO_as_0115" = "0lj637cwm726hqilrnfa064apdsqdav142dy3scz2gxzpzqpya7c";
-    "CT18XNNLO_as_0116" = "0m1zh15f975g628npifyqmlj578lpdlc67sdrxgdg97jfvxrq7s2";
-    "CT18XNNLO_as_0117" = "1r5kwl333ipq3g78cmn7h5yxk2gl3rfszm1ijzyf8hrjqz9m2p35";
-    "CT18XNNLO_as_0118" = "070jcd7y5w0h65ssk359w4kf2j7164pgdkg78mjwifi2garrlv0s";
-    "CT18XNNLO_as_0119" = "12nzzjyllr4vs422dxdccjy0qffg9gy8p2wa828cr3a26wjlipfr";
-    "CT18XNNLO_as_0120" = "1b9k3wd212nrhhncckj6fml58jzjagiskgmc6h248mcc8mcc2gyz";
-    "CT18XNNLO_as_0121" = "1wkgmkw5djzxc5g4iyr4h2cz08jv1clmp8x8xcidg5532zclavmd";
-    "CT18XNNLO_as_0122" = "1w7jhlk432qni1kn1big44yk16bxghbzrjb1g1rdxpibzy2jdkw3";
-    "CT18XNNLO_as_0123" = "15hqb1c4jx41119h2ahx6zacbigs9xw92jw7c4xsww9dkzr1qsr5";
-    "CT18XNNLO_as_0124" = "0fx7am4dv4d09hdk0yxvxzbdlhzc03y3q2x1hfx9wk07kcxw1mj5";
+    "CT18XNNLO_as_0110" = "1cxlps6kvm08lkgvrqjd8080ykc1dvd56986iwwzd0s6whlpfsi0";
+    "CT18XNNLO_as_0111" = "0bbp4qz3n9pwcfn6m623q2qqmx2wcgpy6759wzwpjnifym832j95";
+    "CT18XNNLO_as_0112" = "16p36jf8c8pliaxd6s30cmmmxg9slnmb2527vnwkka0kp9qw3ffq";
+    "CT18XNNLO_as_0113" = "15d4qx8x56kcg6p8980bslhfilkld8yf1mwpdzyf8v8ns50wrbw5";
+    "CT18XNNLO_as_0114" = "1zsfys0xkgf8zlbzzjmh1wvzxwjqi4rvgik26s5y4ibr68gshvaj";
+    "CT18XNNLO_as_0115" = "1x00d2q2lnl5w0l052v9cvkywav26b4r072dpn1jiak6n52yqqaw";
+    "CT18XNNLO_as_0116" = "1gm9m0rl9vghswcb4xgp54lc3h8wkh6c077625m9y0166xbv5x2d";
+    "CT18XNNLO_as_0117" = "0630arl5qwjhxw0avzlc0mr4hwi09ki8xfn4zvfccgpy2nd85q5b";
+    "CT18XNNLO_as_0118" = "1nx75pf5krazrk3ff3lb6zjnxz2qmffrk5vcf06iq5qci9zi5l0q";
+    "CT18XNNLO_as_0119" = "0dzjj9f2qkpwfr9pm3pfj6jw5ih2jis8wzc8d0vyh5mm084jlk6a";
+    "CT18XNNLO_as_0120" = "17pp23l0brnd0phq23888qbkf1c5j1lcskrbm3v3f2cd8p7jcvvw";
+    "CT18XNNLO_as_0121" = "0hlfx8zsxc1x6glny4cp2vpba8jgjix9cpsfixff9vkbqpm2ppk0";
+    "CT18XNNLO_as_0122" = "1918l55khrfyb3lcxsbbf9w6v8j54klszl2c32nmna0apf8zc3qm";
+    "CT18XNNLO_as_0123" = "02kak35pj6c4hml75na7452ryashfclglhahclzkpq8gs72l5w91";
+    "CT18XNNLO_as_0124" = "03wym12nvwdcr13dz6d2gr4bz3csffnn21zfdld42fsyq4glx431";
     "CT18ZNLO" = "0iv8laks2ymn5fygk6k9lxm3s7fld5g292n9bfkhn3nmcfxczi03";
-    "CT18ZNLO_as_0110" = "0q90c9nx0b3fbqq317qr0j13cc9m3zcgpk3pcn8s2sd6aaksa66i";
-    "CT18ZNLO_as_0111" = "0wnxj323k29xvcrrf68mfyhflfnblvvnx63p070l5x52qqbfjl7y";
-    "CT18ZNLO_as_0112" = "03qjvv004g99lbi022l9bvr82gvv6gzk651r8x5hwwyr0mar4j0v";
-    "CT18ZNLO_as_0113" = "0hw6w7x3bnx2fy03jj5yvbjjab9mj0fzca8bc46phjsmx3nqxq5k";
-    "CT18ZNLO_as_0114" = "0gnhqhxcsaslcldhyh69lxdx1misjz5qiwry57n31j6mqjrggqbi";
-    "CT18ZNLO_as_0115" = "1dn32bwarggnfq2s9drmdjikcrn0nm0mqih4f5wxr3zbmq70xw4q";
-    "CT18ZNLO_as_0116" = "17q8ysl7ar1n7wym55k8vzrx963rip9l9b0kxw2bqkha5ipwmnv3";
-    "CT18ZNLO_as_0117" = "1afaqy8afzib6fmyy7ysnfk8w5f92893nvh4fn1sx9ink7i2zqal";
-    "CT18ZNLO_as_0118" = "0sbhjzjsjd8m6sgz66vky3w7ymhwpss0dr2p603dxgm84fig1kzx";
-    "CT18ZNLO_as_0119" = "0fxplpy2l1fdh5p4csdlabg36xgbpdg8pcdfcnws2cfj3g0941as";
-    "CT18ZNLO_as_0120" = "05dk8bvwkn5y5j4rk18an25rg1f1am9vlddal84rbp8m15qnms65";
-    "CT18ZNLO_as_0121" = "0ymql1wjxng5i887lx2q6p8gryw29zs0d2hzkfxl4f0zzn2wlwpi";
-    "CT18ZNLO_as_0122" = "0gnl23n4ljlry340pwwfs0xs22bl2qp2b8p3f73gpp9xn42nwz1g";
-    "CT18ZNLO_as_0123" = "1wfx59iadvn85raa1bq81ipxpjbxli58hs8wpzm1vz10ilifn9d5";
-    "CT18ZNLO_as_0124" = "0jm0gnp8g1drz6a10wrdxkj2s8gws80ias1ixdnr5fdmnghf1wl7";
+    "CT18ZNLO_as_0110" = "1d0j9nmn9mk90698pxqlpgz7c7cyxswc88n89cr2h8mgcg2w8g2v";
+    "CT18ZNLO_as_0111" = "17l7j1j2x529mhk0andkdh83k9z6kg9v3ccfna08i7d4iilsdfrs";
+    "CT18ZNLO_as_0112" = "1b8mi0jwln2wvysrkbm1fvay053d17dzvlj9fkz36xmr03bv5mvj";
+    "CT18ZNLO_as_0113" = "13dkpjvh5a3p565mhpxqnhijl3jd2zr03np5psknvl121gr007fk";
+    "CT18ZNLO_as_0114" = "0drryvq2x42xpf9bmd6n4vz1f8ddh83c3rynnzm54qssxmfkb073";
+    "CT18ZNLO_as_0115" = "1wdj056rf02jksa2l2panvkijvvwr6rsb8kh3g2bvx0yjhff8g1c";
+    "CT18ZNLO_as_0116" = "1ibf0841irsa4vq9sg0kvrhvakyyshpvs38frz9v3zjbc012cldz";
+    "CT18ZNLO_as_0117" = "0l2nabywfsvb1sk44rqgrwf8h0lxkz8qf6pmzr8jc3zhq1fv04sl";
+    "CT18ZNLO_as_0118" = "0dnksqqshxqr0y3qr3diyvhfq1jxy1x0hrjw8xk76jzm61xi96x1";
+    "CT18ZNLO_as_0119" = "0qljv4d1qfc9rx3p4a8dghij11dv1mi03y30wdilfxrf98znvdyj";
+    "CT18ZNLO_as_0120" = "1w0p5gai8qhfjh4jxhyl26xrp8n210cp2a7zjd4id1s4pcvpzvn7";
+    "CT18ZNLO_as_0121" = "1ija1nqc4pbprcc3ddhl9rxxbaxngjr256zxiy7gg3wmg6364hjl";
+    "CT18ZNLO_as_0122" = "0d7h3vli13m1pm5w91js8skv198aqz9kjkx7w0sa4v2vhvz1rdyh";
+    "CT18ZNLO_as_0123" = "14cl8fmkl6jav7byqwcfa1z2ml6lnn6pzp0w4nqy75gc7wxsba0m";
+    "CT18ZNLO_as_0124" = "18riha0fflfbsgh7nnc3ghm8cpzpcss0z6l48d28bbq0i7caqad7";
     "CT18ZNNLO" = "0zsqrpab6vgcinsxjq3rqdadig5flxzk61wc1aa9rwnkbpm1paa5";
-    "CT18ZNNLO_as_0110" = "09ypj0yydkiw82bq3ymsp19i4iz82fm2z2xfplb3iasa86y377in";
-    "CT18ZNNLO_as_0111" = "00h0zd5indm57xhn467qffpx7aadzb73vyfazq09pl5vdqq9fn8x";
-    "CT18ZNNLO_as_0112" = "19vlb1bvp7r9jnknd2dvblggim1xqf4yjqyf5h04r90b89pyzxn8";
-    "CT18ZNNLO_as_0113" = "0h8i68dligavf051dpil2bqvlxm19156v1951n340pcncaxxi5d1";
-    "CT18ZNNLO_as_0114" = "1n2drxdd6f36njq0lcfm7s6cyignqdqvirh03ixvvar2pgj02yay";
-    "CT18ZNNLO_as_0115" = "0cv633f5gg6hcyhwfh22h5n4irnk1pxsk7949wiax7qkl84mcm1j";
-    "CT18ZNNLO_as_0116" = "17z25cky2ysrcplsxblrzka667npnnp42k6n8jsm73pagscsj91n";
-    "CT18ZNNLO_as_0117" = "1yrbrzbg5r2pvwhbnvfwcp9d9rvfmqqxwph0rd0sdfix9agwy2yd";
-    "CT18ZNNLO_as_0118" = "019lbvb8pjfbwz8hz8h2xw76nf1ly9mgnbz6pzi3v9msk0qbmlp1";
-    "CT18ZNNLO_as_0119" = "1x08wg3y3fqa8ah6m0c6x2fckjjyylkhnmry6vg93rp3n7qlvynw";
-    "CT18ZNNLO_as_0120" = "0m9mfr8553yrysbcksx17nz1gm1vi2zvs5bp8d3v82phsv5alhf5";
-    "CT18ZNNLO_as_0121" = "0snzl818ag926n0i67hdwkjclfvykx546vfnvsx7n2z5pabakd1j";
-    "CT18ZNNLO_as_0122" = "10i7dk1bllyk6f3l92kbiqdib8l2zvqf91g9c20k12sim6n6x2g5";
-    "CT18ZNNLO_as_0123" = "0v2h2fjkdsnyssb6ralw32c23l0nmdxbg3sx38vxh2y2s2nycz5h";
-    "CT18ZNNLO_as_0124" = "0w29hn728p8yip40mr27kqmv5wndfkq6nx0vnl53x41pwczkhkdl";
+    "CT18ZNNLO_as_0110" = "06qzlfshx8gwrhnmjfvz6sxq7h2is1dqvx5sz8jxrr1gl7gl92h9";
+    "CT18ZNNLO_as_0111" = "08k101cn9x9y44zcpn6iql85qqx89rv7xjhvak4y6s309p9rlnzi";
+    "CT18ZNNLO_as_0112" = "1c72mz93kha8mdfdcwj8fs8dqqylxmmc4vs7fjf9h7xbrqzmss7m";
+    "CT18ZNNLO_as_0113" = "0z7s1kmlrv99r5mb6p1xwrydx0s896kr3va0ld3gq39a0f6bqvfz";
+    "CT18ZNNLO_as_0114" = "0ir6n8i170czq7h3badim28540478cq5fb5vv4kdi0ncypsasr4d";
+    "CT18ZNNLO_as_0115" = "0dncvhp99v5s9746ql37gdm65byih9ppg30c77k50i2485a1zfap";
+    "CT18ZNNLO_as_0116" = "0qihfcsgxv66l781dmvmmpbr0s0c52s90jfmz5y52gyy1lplw569";
+    "CT18ZNNLO_as_0117" = "0agqd4vgj53w9p7ghfkrskqyvg7lw5g9ilj0fid0jia8adfh58xp";
+    "CT18ZNNLO_as_0118" = "07y1l00igx7d2yaj9gi60fvqz1p8f8z44fmxm84fpjikajabff5v";
+    "CT18ZNNLO_as_0119" = "16nnwwj16c8fmqh5mwnihzvbgfj3cnvw01i1il1gr0g4zqpn0yhi";
+    "CT18ZNNLO_as_0120" = "0yy0lxwm41aa727wdrq27l6ih7fdaqwiy4bkrbh0zrns0km9r958";
+    "CT18ZNNLO_as_0121" = "0yg70dx2wi9wf5914shfqaf2j90dnkfnbp1pq2jzxd0h0sxhlphj";
+    "CT18ZNNLO_as_0122" = "1bd4193ggv4nb48d0mw2n93ia30h4myfy197k9b0m3qc90xjq77z";
+    "CT18ZNNLO_as_0123" = "0r2vri1brq0xcrpj0cg9hf9kwhkh2czmimrsg5bfvx35adiiis19";
+    "CT18ZNNLO_as_0124" = "1wq0nz9jfb5fmzwnnh0xyra2j62kb5xpmh2nyy8ih4lvxhgi16mg";
+    "EPPS16_B_90CL_Au_hess" = "0ab3pnv8fq45mdp29m6lfmrhhnr88k6qvkq6lwxmn17k39v8j9w4";
+    "EPPS16_B_90CL_Pb_hess" = "1cjc79sygpxnir3qw9n6cdwvd3flfn11ajqs5y64svrpsqcx5ng0";
+    "EPPS16_B_c_90CL_Au_hess" = "1ijvnglq4wrjhhvksyd60s7c6nv50vwyk5vd8c3gs0qr8yz1fk69";
+    "EPPS16_B_c_90CL_Pb_hess" = "1347cqsfkim0xcds5imxmsdxh8x0h2n97x5zwpf035rbdk5mkr4n";
+    "EPPS16_B_d_90CL_Au_hess" = "088jrj6xf1ph19sypa5dizllydfzi6ikxq2gisdlxpj1qnwjymsg";
+    "EPPS16_B_d_90CL_Pb_hess" = "0x12r31l0nvqsc2ml1zkil0w1iji52xgbnxn3wss9pnmswrf3cah";
+    "EPPS16_B_u_90CL_Au_hess" = "1pq7agglirpk2w566c1ql15ps1aglmnph2p2dfa535zlv89s7c0d";
+    "EPPS16_B_u_90CL_Pb_hess" = "137jkcbikmcjaxp8rpr5j193cmr329mcvyy7j0s0a6ynglhpr76k";
+    "EPPS16_D_90CL_Au_hess" = "01ggm0xxwd3nc95cjcf36sy0pdb0xvk6bkiaq328w2sfajccr5mk";
+    "EPPS16_D_90CL_Pb_hess" = "1z3zam84m2kbs7zinn87xhlca90d5zwk8j72yj19nx3r92brnq8h";
+    "EPPS16_D_c_90CL_Au_hess" = "18sviyvm3rm9n7x79w1sx8j9mcc6dnc2il8hsw2avjgy2aqmwj87";
+    "EPPS16_D_c_90CL_Pb_hess" = "1ryv83iq1lrphgxvdsmh70j6iky993sax0s9cfrswpjyl2pcilq2";
+    "EPPS16_D_d_90CL_Au_hess" = "15j6s9mj1ci9wjgsfhbxfikcyxc5pilv56cyzxjhgjhfgwvi1xyz";
+    "EPPS16_D_d_90CL_Pb_hess" = "1qjyb57fhf6d3g7l48jcl6jizj2c5g63xahzanrmkm9r538hvhcc";
+    "EPPS16_D_u_90CL_Au_hess" = "0jjk2rccvv0ngxn7wf33j21y72wvs4dhwl56yhmf7bfzd6v70rp2";
+    "EPPS16_D_u_90CL_Pb_hess" = "09npz68wwvcsvd6h8lsgmlr19l0af4h4rppcd6jlwd88c2zpb3r3";
+    "EPPS16_Jpsi_90CL_Au_hess" = "0msvkihdmhap0bbiydxbp552k1sgk20wadvc2s2h9jldakdx0pk9";
+    "EPPS16_Jpsi_90CL_Pb_hess" = "13vc490k1769gbph3xn1lffj0ilvhz78by3lhw45lwkra4vx5zp4";
+    "EPPS16_Jpsi_c_90CL_Au_hess" = "069lzrnm5kx56rblr4lxqvr014nrf2yyf1iw42s37q2xsxpjip87";
+    "EPPS16_Jpsi_c_90CL_Pb_hess" = "1895iqzmcnaqkidcy96z4766wppycp1riwg9clg71cb404wz74as";
+    "EPPS16_Jpsi_d_90CL_Au_hess" = "0ndh23dyaszam144dsdbg4281c61vai8avgi4y7x8kb0paha4icm";
+    "EPPS16_Jpsi_d_90CL_Pb_hess" = "0xflijnwabg931z19v8c18dzh1lbqivkg94kpwm8j135ya1vpmm2";
+    "EPPS16_Jpsi_u_90CL_Au_hess" = "1hagv9akwm337kq3kvkpkdkcpnic7klnigh9pyif1gm16i1q40jf";
+    "EPPS16_Jpsi_u_90CL_Pb_hess" = "0dw68rky105lyaagkzkmfx6l9jk763m293m7s972jhnl5037bj74";
     "EPPS16nlo_CT14nlo_Ag108" = "1p7gckhv44h04rvknd6fdizy9c1jqfwic7ppf0ra14ic8wp1g7wg";
     "EPPS16nlo_CT14nlo_Al27" = "0hxyakfgknmixxndfj14i44afp5gcfz9afjvjdaj702sv42a7qa8";
     "EPPS16nlo_CT14nlo_Au197" = "1g272110y3a1fr6raxdfhagn68i0lcnwbdhiiqg4j6wb6v4m3p6i";
@@ -421,10 +448,15 @@ in
     "JAM19FF_kaon_nlo" = "05mcahzr0k5w0hqfbn902lmkwxlkbf8wrk6akpqnfsyqpbmhja5k";
     "JAM19FF_pion_nlo" = "06krcf0c9jbbpwf1rk1xd5z7rz904ji984xz05kv9p1j1vgk0ha0";
     "JAM19PDF_proton_nlo" = "1zrcijik60rci6km5d8pn8ivww8w3v8pb1m5dshqjs51lhf56ayp";
-    "JAM20-SIDIS_FF_hadron_nlo" = "11g4syy0r46m1wvzq0pb84s4kk2aihjmhx16mr8gzv5b11520a6d";
-    "JAM20-SIDIS_FF_kaon_nlo" = "1b2rz6k0g6ck3m28vdqjnnfc025ql5alhjmgn1l84cflf4fvkkgp";
-    "JAM20-SIDIS_FF_pion_nlo" = "15l98gmzsqxw615802si94dmj8ihsz6n1mraxkkwjl86hm8nalzi";
-    "JAM20-SIDIS_PDF_proton_nlo" = "07xwp9as0nscm4whl5x9bry1p54yl5qmj2r3hqh6vjsz6mxksdjp";
+    "JAM20-SIDIS_FF_hadron_nlo" = "0bx3igckr2dszxskz5f952vl0q7kwvxgyb28yksjk75325dp2f9c";
+    "JAM20-SIDIS_FF_kaon_nlo" = "060r6ah5843vm1r3rhjvlgp7w45z39cqgibfc2g2m1q7mwjqccjy";
+    "JAM20-SIDIS_FF_pion_nlo" = "0fpkbl5fw76wgk8l599kf51mqa0fy92bq9ksfjfks0c4m6ah1g5i";
+    "JAM20-SIDIS_PDF_proton_nlo" = "1g1g9n2ij58yzvgrw8g1f8jbqyhj9yvbvl9iqjxllkhkb2zbllpl";
+    "JAM21PionPDFnlo" = "0zn7p9ny6072dkhsiaq64f2gdzpqbqc06d9a21rvvg3cgsba9jg3";
+    "JAM21PionPDFnlo_pT" = "1wxpkk1wzx1z1kwxfj6kz14pxlckb96aqaq2fa4sf1a0ph1ibrc8";
+    "JAM21PionPDFnlonll_cosine" = "0nbmdc0744kl6r7r9lfs20gffpjyxpcfpkp7f336fn1mcl89wggn";
+    "JAM21PionPDFnlonll_double_Mellin" = "1n8fqar0dddc92054kg3pl1xlh6z7smm3glv5fvfxr933bxli5g8";
+    "JAM21PionPDFnlonll_expansion" = "0dmmalgmp4xjwimyfx0sa8yafzzm0xzqk557qwkli3ramzwrwy8p";
     "JR14NLO08FF" = "16azkqxf1yw1j32ay6j01gf8n9n7qm56jh4yzgjag0zdhm01lbip";
     "JR14NLO08VF" = "1ilw38pp4vy8c8v1glfi4ixca73wjkdg3di1wh9p8xqrifdb096p";
     "JR14NNLO08FF" = "1w0pywmjb4xi7bsvv1mdd4q2adf1g7khspfbkphmlh8zipx29nxx";
@@ -435,6 +467,9 @@ in
     "LUXqed17_plus_PDF4LHC15_nnlo_100" = "18y3pa6gjmcv2s21si9a5dvbq6xxqphbqz5qiy39c62g2zf8512c";
     "LUXqed17_plus_PDF4LHC15_nnlo_30" = "1bnwlxr8p4xmr36zd2flhqssil6w7jh50k46j0mxfnd8jgxgwn6n";
     "LUXqed_plus_PDF4LHC15_nnlo_100" = "08jzl4wcsrr9agycq1r5kd5bqxsx4b637nxk34s82vs7vwpq7qib";
+    "MAPFF10NLOPIm" = "0w875dh5klqgggcr84g0g7qmh4q2xim8nrf0xdnfc665xww7v4my";
+    "MAPFF10NLOPIp" = "1493k3p7b03sw0n7va60vqxcry2b3xgpww6fnk2gx8b4w1632yn2";
+    "MAPFF10NLOPIsum" = "0x6sashkhg1hs7wy6fyln12s1f4yavvc90zv4k7rclbah4hr75wm";
     "METAv10LHC" = "1vn4wnx1blz6wylbzirswdqqf0knmyh1pcfh62wvj695mh7i0w16";
     "METAv10LHCH" = "1p4wy7m1ksz0r1fylwz3cbq7jl8s58v817n3d898l83ic2ghp4vj";
     "METAv10LHCHfull" = "1w623939fjdyx1316rxyaavf6kmxff19himr00br57jrw3v49nfg";
@@ -486,7 +521,6 @@ in
     "MMHT2015qed_nnlo" = "1ypqiz0yz6hnxfml7ym83k4qqvqsbl39abbr38galns8xzzpi03m";
     "MMHT2015qed_nnlo_elastic" = "17in1cz5j7mm9qjk8i27fif6x276lcqmccl7kfz8a5yn73xxzja4";
     "MMHT2015qed_nnlo_inelastic" = "1ngk4p7w8l8b8sfg6hlm8ypxz97i1iwzlrc48szy7bi99kn8rmy1";
-    "MRST2004qed" = "1kdrzk2arvs36lnpkbc94w06hx3nh8nixh2qjhb271c2blwgahzh";
     "MRST2004qed_neutron" = "12vna0ic6gh313k22b44b0k9kd939v7zjl2hj65k1075j23mq425";
     "MRST2004qed_proton" = "10z0cr8pnr0lfxxi916naiz381a2cqn461jblfzvvddwqmqbllbc";
     "MRST2007lomod" = "13ar6hzw9al20zlm8lg0hvwmgrmv0dbam820gm36rj8p7i33qlr6";
@@ -494,9 +528,45 @@ in
     "MSHT20lo_as130" = "0ivjvqabk9jnrlrczjlqywmijx5ql8wy579j77qkl1vhv7sqccm1";
     "MSHT20nlo_as118" = "1qwbwcq8p4hrprz4ib18mp5142b0lbyyzc1bf5a4iq5jjvi5qm93";
     "MSHT20nlo_as120" = "10y1a6iryahrafzdqskypjrnad6xxq08gm72pa9yc61xdy6andc6";
+    "MSHT20nlo_as120_mbrange_nf3" = "0548pw6lkwwqhlrg7c4cyqh76bcyz78yh06fs7crdbx7hfl47cj7";
+    "MSHT20nlo_as120_mbrange_nf4" = "0pg49mad4845llj49a1piaggd8wpwb2s4ar7jydlhrv7im886by4";
+    "MSHT20nlo_as120_mbrange_nf5" = "0148agm89p7pwzdfjk8gjdaicll30xhz6sawca632kp5qwyd4g3d";
+    "MSHT20nlo_as120_mcrange_nf3" = "187hgg8klk5jhcadiy8viyrfi0jfb3i18jckv6d7nsapixz1wgkz";
+    "MSHT20nlo_as120_mcrange_nf4" = "12pjy0igjcsih100g238v143kq5cjjm5a13cghcipgcz2w4ldglf";
+    "MSHT20nlo_as120_mcrange_nf5" = "00mipn9ndnw1k4nx6pmxb95wddmh98hg9k0317vlirxrf2n2jy7g";
+    "MSHT20nlo_as120_nf3" = "1zy0j9qc28xpav3gx24r6r02zfz49r11ic66hkyq83d3q3fj751b";
+    "MSHT20nlo_as120_nf4" = "0fpyf9s9ppb6w49chsmb2xfp9gwkx3ky9v8gwwqxli9fpzsc2ywn";
+    "MSHT20nlo_as_largerange" = "1f57dvxas2c6qnv38ysnsyf0y8imafnrxkcqh3b0an19mkln5mmg";
     "MSHT20nlo_as_smallrange" = "1rygvj33g84whl24kgpqa47g11c48l93jlnpzqq8f5zr1ijqcq7i";
+    "MSHT20nlo_as_smallrange_nf3" = "1d6cr1akc25mwfyghvn1986i60l76fxb8fd02h7f4pl4lmnn6i8n";
+    "MSHT20nlo_as_smallrange_nf4" = "08js1l5g6knjx3813i0rf34xfjkbn3mdsrbawzkn00vf49xzcxdj";
+    "MSHT20nlo_mbrange_nf3" = "1bwl4inshg5h3sslss4lgvcqahb5q0n794ag73hyacxd1kmx7d2z";
+    "MSHT20nlo_mbrange_nf4" = "1sm995pzzr601wcs4rjgjs6alm74vc23szgmkqa5dvxghw7x8w55";
+    "MSHT20nlo_mbrange_nf5" = "1sal7iqma7770593ifxypl9zapvba693asc8m2fjsbgpbfjjid60";
+    "MSHT20nlo_mcrange_nf3" = "0lmv6m8m7zv0s8kjfm8parr9xlfy39dhwxn71z33f5x6cyp08zlg";
+    "MSHT20nlo_mcrange_nf4" = "0875zfv0dws8n44fqawa1jp5p8b9vky8yyq48wijhrcph8qbxbrx";
+    "MSHT20nlo_mcrange_nf5" = "0qjvam29zwibx54fgijry58vdwqkiwyavdwn736bmckjycncnv8p";
+    "MSHT20nlo_nf3" = "1v0mzsa2sxp0g3m3d8yqcs7dgi74am6cpx79f341ahpwybz5x829";
+    "MSHT20nlo_nf4" = "1lyii55adqaah6sm8b778q8scaq5yjycq3s8jdi3k48z8m23zqng";
     "MSHT20nnlo_as118" = "1yz0003ixjg97974648qba5d37vb4fhzzmq4k9xh4c37pnc3kgyn";
+    "MSHT20nnlo_as_largerange" = "014a9x6zsw3w7b6w3v6lg8qxdjicxslr79bnagi6ci0skqs2v7z9";
     "MSHT20nnlo_as_smallrange" = "1bv7cbdynp6dm5c9v7r32gqy1lch4428apw426pr0d7xpm0abnxv";
+    "MSHT20nnlo_as_smallrange_nf3" = "0n1j9dd069qdmgmd85m7wp29g96cnbgsdxrvlh6y51q063lkqbwb";
+    "MSHT20nnlo_as_smallrange_nf4" = "1jkdl3rd933czz753qbi7yvszg376r6bvwq2inqbslnzfkfav5bh";
+    "MSHT20nnlo_mbrange_nf3" = "095zcxhpfhlsb67ki4j6a8z4d1r5hzx92xlzprwkwd4v5ya4f732";
+    "MSHT20nnlo_mbrange_nf4" = "1114z5a0pk9svps918zifff23difxf37rbmr3jnzxnyp1vfgzws7";
+    "MSHT20nnlo_mbrange_nf5" = "12i6m01bmnzqadi6jg5gmah1jliq4wr4p0vpjgmpgyagsk4drx4b";
+    "MSHT20nnlo_mcrange_nf3" = "01wq537083dr9ibiahwdwdaxj0j2ys211m478w9wgvihdjjvjvvv";
+    "MSHT20nnlo_mcrange_nf4" = "04abrnlnbr94lksn29w9ws9a3b6sqkqvi9awmbk4715dxk2amnpk";
+    "MSHT20nnlo_mcrange_nf5" = "0za255xi66a1mfch2b91qqmsr305m0kvs4rzvqlzf7k0v141j90y";
+    "MSHT20nnlo_nf3" = "10yx59r32q4rl0yn4gpc29z8xskbvizkdr7k219qf16lnv892jpa";
+    "MSHT20nnlo_nf4" = "17d10rba8b0aqi1npnx93j1995has5sw2l4izd6lly3yhjynbgp6";
+    "MSHT20qed_nnlo" = "05c2hjgysyvkcyqg1lq3y00hqixgc8w984zivxkr76nj5csyf6m3";
+    "MSHT20qed_nnlo_elastic" = "0in0y27gn4k9h6ya77krhizv8rg3i6s3d6h4bk0fhz91hbi4l3gh";
+    "MSHT20qed_nnlo_inelastic" = "0vna0gbadf92w3xngb8gnsxd3lil8m029as8260wlki2axm4gqlw";
+    "MSHT20qed_nnlo_neutron" = "1hiq7m8j7736477vfs18mqwhkxyvjmcrs7jiqysa8v6rmhb4bali";
+    "MSHT20qed_nnlo_neutron_elastic" = "06dbvsysszpbvabgafb569vq88q1sm9mvz1iwv1m2b9vzin2ixiy";
+    "MSHT20qed_nnlo_neutron_inelastic" = "0gfh6nhl4vq4qz1jhnv5vhhz4h4wlkwgj4ffjqll6jqa5anfhbqr";
     "MSTW2008CPdeutnlo68cl" = "1x2y7hl8ckplx175bp3wi04xafm44dd7vzfgnmvvai1x0072xi51";
     "MSTW2008CPdeutnnlo68cl" = "1szsdqjkmny30mpw4pdzi97vj7i55agxm285dvnkzp06ycgp1ld3";
     "MSTW2008lo68cl" = "0j12mv286r4ds9v7piqh4n44yjnc51hm74lqa4vv5xznxhibng7l";
@@ -854,6 +924,32 @@ in
     "NNPDF31_nnlo_pch_hessian_pdfas" = "08baysni2lhbpr1scx7h0zf64gyncj2ahcv4y86142gl4zqrafvp";
     "NNPDF31_nnlo_pch_pdfas" = "09mw3gr7dz0vwdnralaplvlz2c464lmdizf673xsb0wlm12pqf6g";
     "NNPDF31_nnlo_pdfas" = "0l92q3xhdk5nrnhkmrirxnvplj531rdpnblnacd759cl4hgxcs2q";
+    "NNPDF40_lo_as_01180" = "0m630n5i7s0qnlxzk6ka43qfp6ipz2jgzr7ys42hdb66kg3z5lkc";
+    "NNPDF40_lo_pch_as_01180" = "0wrvmcgdaipi7vy7j85yszaa3c57hs3xll9lfn9cdbjscvmsx6x5";
+    "NNPDF40_nlo_as_01170" = "14j21qryc25k1jk4ypdcr3cgfkhyy4hsb57hy8x5pggfwc2w3f36";
+    "NNPDF40_nlo_as_01180" = "0399bnxvgl2h2ini198jmzjjb179f6dpxfv5x8imlfl515llivx2";
+    "NNPDF40_nlo_as_01180_nf_4" = "01kwziiyg8vbl26znv7khqdckm501d7ccxlkq1y0cd9s1f5ff8xi";
+    "NNPDF40_nlo_as_01180_nf_6" = "1gv8anb3vqpzdymp9g69702x64pbh6l2rn9257hdpz4i4m98rsjy";
+    "NNPDF40_nlo_as_01190" = "0wf8p2i4mxs3hkqvxg1clj082yinbdgccr6qx5kbwkzsck4yybar";
+    "NNPDF40_nlo_nf_4_pdfas" = "1ia9glingyds6bj6yxy867ahriqdhfkxczzc4nki933h6jbj74bf";
+    "NNPDF40_nlo_pch_as_01180" = "0gad0hjq9kwiymc9pljj4z52jsg794m3knb38zj9icgjk0p9lwxm";
+    "NNPDF40_nlo_pch_as_01180_nf_3" = "15j3vvc0vaf13d8cnyr4h7gwb7iznrcajnw59ryx6ksz7cn84sy4";
+    "NNPDF40_nnlo_as_01160" = "0y9115xlg14m1ahfffiam4zp0axga86bhzfxf0xiaxb36yzbmdhw";
+    "NNPDF40_nnlo_as_01170" = "1h6if1zw9dqlfnn7glbl5flj792i7fqiy7pprhwk93k4snh3800i";
+    "NNPDF40_nnlo_as_01175" = "1dkzzhmkmzm92gmb83lyirj3clicrg70h5grzh0j8nfcw0xlz4rm";
+    "NNPDF40_nnlo_as_01180" = "1bhysjkji0k7xy9njarkfvxff05kjl1byhkknxv0875p2znzkpva";
+    "NNPDF40_nnlo_as_01180_1000" = "04yai94qwd7187wg26icwf2wbwi20747l6zikd66ygsz9n34xn9y";
+    "NNPDF40_nnlo_as_01180_hessian" = "0cmpqgaz341hif0gdkzq8mnfh9apxn1zxjwa12fk5svbig9i1a81";
+    "NNPDF40_nnlo_as_01180_nf_4" = "1aj5y3fyvna2jwxbsrgr2cbc452aprxnwv78vh3ph20jlnww20pd";
+    "NNPDF40_nnlo_as_01180_nf_6" = "0bf6s6s0w7l592bm87mazwff05d8s4qlblzl9yj91am3xlv0cvn1";
+    "NNPDF40_nnlo_as_01185" = "0y1xn9qcv2l81sbz9rayzrpd1bjsdyixr42lzfgmqbq45sw2m04n";
+    "NNPDF40_nnlo_as_01190" = "1ibz4yfrw1n8plq4gi03yxi9afaca2yprxfk2y9lvbkycn608d0q";
+    "NNPDF40_nnlo_as_01200" = "1cfcn819aali7ylv9y6yb2ggqy0yghyj0dys9lf9gv5wiqjwh5q2";
+    "NNPDF40_nnlo_hessian_pdfas" = "1b5jvhdk7fmnz8gl38i3408h2qrqcsr7s9v7bh6ilc7x52xsg65k";
+    "NNPDF40_nnlo_nf_4_pdfas" = "1ssp315xcqpc4md5gijbi2c02r6hpazp8yw1661r4m7xy5qm62wc";
+    "NNPDF40_nnlo_pch_as_01180" = "173l2178plrir9fb3bq17l4dw5qfy9clic4m54wqg7y3r71bmv7p";
+    "NNPDF40_nnlo_pch_as_01180_nf_3" = "1mh0pl1f1ayx1fjj0q1fw9s7wc7gmj7a46jli87s4g5nxrhyki9f";
+    "NNPDF40_nnlo_pdfas" = "16d81h0pzxzgwwrfjghmradx4bijf08xbrdn79y9bxf6czacm8n6";
     "NNPDFpol10_100" = "0r5qfa8cyanalphgjdsh57s3viqv9i10v51p1pyamj1f90gb9pr8";
     "NNPDFpol11_100" = "0nny1lpw37jcillpfxjx82hq7wlzp4yksxialmc2ivr192qqdda8";
     "PDF4LHC15_nlo_100" = "0m9d4zy7608iryqy1ypgkr1d3yhw2wv1nrrc70zrfih7x0fp7lz7";
@@ -871,6 +967,14 @@ in
     "PDF4LHC15_nnlo_asvar" = "03fh1jcbmvla7n2jj3zq4ibwvq66h0rniply7h93d94zawcgsy4v";
     "PDF4LHC15_nnlo_mc" = "0c6nfkv3x1p5iw514knjvqcs1dcaryf74qqg1za8x234yr5ndi3p";
     "PDF4LHC15_nnlo_mc_pdfas" = "0l8hlcz69cdii7mpgargi9nsx7iy746nad5pnn7pvycrc40marij";
+    "PDF4LHC21_40" = "037bs1l7zr3z8zi6wzh5kxgml84bl64258fr2sm0dzv9yxh8lvp5";
+    "PDF4LHC21_40_nf4" = "0m2ki4qmgl1ggim2inlgynjzqr4ya3qgjph63jf72kia8ks2hfl0";
+    "PDF4LHC21_40_pdfas" = "0pigpix2x2bv1a5ib17zjlfjqygjpjra0pgvmf6knm7mbgwxhqm3";
+    "PDF4LHC21_40_pdfas_nf4" = "0dayiilh94cszqiphr487589qacawfp4za2cngr3da03yg1aswbd";
+    "PDF4LHC21_mc" = "17fbwk7fp2m3fd0xzp94sp7m0mmjmzakg870rbhg8vi88bimmwry";
+    "PDF4LHC21_mc_nf4" = "1n7h45yxw2mwppf6zblc8v415khy9vgrackmbfkm5lb9c79faas6";
+    "PDF4LHC21_mc_pdfas" = "1pn9a7z0xl1bn18z461j90sjglccswimm4p23nyq0fxal5ziidbl";
+    "PDF4LHC21_mc_pdfas_nf4" = "1andl5n1lw5iyd337czph5abd0sqc3l90b21g67af96am5pprcpk";
     "TUJU19_nlo_119_50" = "1q1dhsxz1kq75rpzv6gg6p6bzvvv0d44pc4y3wsiy9g14aff85vq";
     "TUJU19_nlo_12_6" = "006j6y4xbjss9apzagjcc3r1z6s61a1hzafhcyriiffqhn8bg50k";
     "TUJU19_nlo_131_54" = "0ymf35alyar6fwagmdny2zz2aag576f38kail7gh2lvqpmjmv6np";
@@ -916,7 +1020,6 @@ in
     "abm12lhc_3_nnlo" = "09k90vhjq7p0i0aaq2697pq2dc86bkmnv4q8zyqxjp3wnqx1v95f";
     "abm12lhc_4_nnlo" = "1hciv1z9b5fiz7swv21gr0rshijj9yj2n8x4l54v9g0jyd061jaz";
     "abm12lhc_5_nnlo" = "00xxkrhbfkxhg33mkpwwk5nsdp4nmi0zmllx5z5ygxl24rinsq9j";
-    "cteq6" = "0lp110wldhliad354v29f0rhdzf5qrs1ibklj0cmzp2rcbp8zrix";
     "cteq61" = "14hbc855b3wsjk7ypg86md46cjm1bj7n4hins9nr8kgzs69i6vss";
     "cteq66" = "09i69ac3gkrai5jmazjyjvi5sl8k2vm48m90ijn6pl24p31qf68y";
     "cteq6l1" = "1b5m7g7wawk72h76l9yr3gx3n67jggna1004lwffvj43gffwkjap";
@@ -943,6 +1046,162 @@ in
     "nCTEQ15FullNuc_7_3" = "1ncarbncfkqk6l3rx3zg34a3sj7mpm2diqsafyldpn92cw66bcs2";
     "nCTEQ15FullNuc_84_42" = "1z719mcx5lnx2ciwlnxxhgc4s00jrr9sfrxcimh69sj14hmzgx0d";
     "nCTEQ15FullNuc_9_4" = "180ipb4m2zy54h7n4s0jwqk9k6562bygvnv7mg9dp2f7vf5317a1";
+    "nCTEQ15HIX_108_47" = "0iqv6rsvvr5mqiaddn2cs6psrslw6ncqxca993v0z0hng9ahnnwd";
+    "nCTEQ15HIX_119_50" = "0gxdr596gk69sb76r90p5ksvx9bk4axj21qrsyxjf1bmgdg2rv72";
+    "nCTEQ15HIX_12_6" = "0vkkz3hq0irvfb08cpdijfvv17bcvzaba5c1bf8kwx1i2zl5s6xz";
+    "nCTEQ15HIX_131_54" = "0pbm6390cdglxqzrpl2slv65m943m32i10c49pf70fg68x3l2dff";
+    "nCTEQ15HIX_14_7" = "1yshwpa3zzzmf7s5v3c3130ysm1wciicz202hrraz4px102h8a06";
+    "nCTEQ15HIX_184_74" = "1wy1691pc776kv456cbjl5x5rg2z7cycyfny24caq1qvjifvbr94";
+    "nCTEQ15HIX_197_79" = "0ckbp8cw49ch78q4nsm1fccn6nizpipdp8q85nnipql53xsnr4zm";
+    "nCTEQ15HIX_1_1" = "13sfws9cmrsnp26mx4m2n03gary2m10l67bd8xic8pykgpr8c695";
+    "nCTEQ15HIX_208_82" = "0fqvzpqszkyqb4f2y44hrdj7rvadbqj6y8fzkl9xzk432lalm8w5";
+    "nCTEQ15HIX_27_13" = "0z356q82x6cm52f3qym7vkajlkf2amkz87as0jvfiygvi4gnilcn";
+    "nCTEQ15HIX_2_1" = "117dgz8nx1j64xgqlp40zmgpg0z8b0p1j75d1llvshmksba43avb";
+    "nCTEQ15HIX_3_2" = "1k1hxpcg39hrh629ml2kwnhir6pq41rpic48njq2lagmrcdpbn52";
+    "nCTEQ15HIX_40_20" = "0q1ggww4a5cdf802737kh7igb0br3q50xw205v4b5p7v237wsiym";
+    "nCTEQ15HIX_4_2" = "0n9zf4yxvp3b3ryxbkdw0yilsb21nrjh40ms883d6j42slzhf37f";
+    "nCTEQ15HIX_56_26" = "1z39vjgp6jryvqaxv6jq05jj0lfxsj212g17amch65pgxm4l7cwg";
+    "nCTEQ15HIX_64_29" = "1iy1g1226irrjxz9wwabwd6x0712dm1aap7ka6fy9wwwbn87f6d8";
+    "nCTEQ15HIX_6_3" = "0ljq0h0cdwbfvlpd40v2nypklimw4hh6k999mnyxqfvq47m13ffl";
+    "nCTEQ15HIX_7_3" = "1y9k2snzymzgs26ayfn2c8n6isqzqq14pzf05xvlxmc3k1fbsfyx";
+    "nCTEQ15HIX_84_36" = "130g553b22s7plgy51n56az05v1pnfgrg5knpg1knx8xr8a9xhh5";
+    "nCTEQ15HIX_9_4" = "05igk9g2i1gm7d7npdwd7y3k7xf39scx1mwiw4m39b52kbq7kszp";
+    "nCTEQ15HIX_FullNuc_108_47" = "1h2x2h2n02nwinf8ba3yyqa61384p4g29ib8vnrzwzc7q34940i0";
+    "nCTEQ15HIX_FullNuc_119_50" = "0m5z036py2m1863k62pzysjdr92dhyiwmb8lxgky5skd7514rrsd";
+    "nCTEQ15HIX_FullNuc_12_6" = "13rsl7lczf5qzjgy8m3dp4f1gyib2ffvf86iwci91sq51sma5kk9";
+    "nCTEQ15HIX_FullNuc_131_54" = "1bsi3y6b7sxykwablgghqc89s3vxrvjr9y4bvhwcm21c2i4y6vbp";
+    "nCTEQ15HIX_FullNuc_14_7" = "0w93qfiqdnzvrry9ddpbqcy6y16sszxfmvvgdy6r8i8py8dzfkyr";
+    "nCTEQ15HIX_FullNuc_184_74" = "1q93f9rvlc4z3hzfhdmmxlyqfschrf99a0xyrc78rq1z2pfgmm9b";
+    "nCTEQ15HIX_FullNuc_197_79" = "0kb2lnvh8mq25i5pkfis86ggs0s6hmpmyqqgimhcsamk8xnf2pcv";
+    "nCTEQ15HIX_FullNuc_1_1" = "1nk792chip0iamc6dlqgqqlc2qlxlbgvgnhsvbmzkmmzvp2ji961";
+    "nCTEQ15HIX_FullNuc_208_82" = "1l038nhnwc0pd7sq4yki3sjrrn66bsvqkvba2j3kf4f852gsyswr";
+    "nCTEQ15HIX_FullNuc_27_13" = "1gdb09429xn5n07qqjch9x1cnq4xinf05wla8fsq69qr7bcdq9mp";
+    "nCTEQ15HIX_FullNuc_2_1" = "0fnbpwv8qzgchc2r2gcjgw9yh4r94vm1rzbwj1f6ahbwrsl4rfp3";
+    "nCTEQ15HIX_FullNuc_3_2" = "1r1s7ljwa169nbgc1439cj0gkaqza6ilx3x4gyq2jg9byz30khzx";
+    "nCTEQ15HIX_FullNuc_40_20" = "13p7mnh2h8abih8y24rfapnrsd036pc8xy8qm82j8g4bk0j5jacx";
+    "nCTEQ15HIX_FullNuc_4_2" = "0j1w7d11ybmpfci79lz99i94szxf5xn6z4kxvh8hly3qlcgn636j";
+    "nCTEQ15HIX_FullNuc_56_26" = "08wds8afv0fzlaxck5i2d3pzvi5nqnc1jmq58fpnc7i0g238wl8k";
+    "nCTEQ15HIX_FullNuc_64_29" = "0w4hn5iwqa65lnf6mhihx5qrq4wpcqw04ii3jphy79l58j3i1iam";
+    "nCTEQ15HIX_FullNuc_6_3" = "1ki2cfsg0wmvfkzv2j9akiyl4d4b8v3d6f65iryxakjkhqj6vvgx";
+    "nCTEQ15HIX_FullNuc_7_3" = "14mx5lh278p3zdc572bhxw9sc6n7ga0ak0ch85h3lx9zwg2a1m5i";
+    "nCTEQ15HIX_FullNuc_84_36" = "0hyxyhb2mn64fwmijigw8m3v5zlj52hf2hicvx4gcq0lw063jxj4";
+    "nCTEQ15HIX_FullNuc_9_4" = "17pydzll5lgs974gz4bchl2wxc9ixfpnqjrsidzksl4jf03gn77z";
+    "nCTEQ15WZSIH_108_54" = "02z08pzvl8fa0bi6ddrlbknj0iryimw02r40z0nn7p8xf99qabhz";
+    "nCTEQ15WZSIH_119_59" = "0r03k6j6nd2mvdkidw4gx1xm1s9hil9z5kanxsn2hzp30ab971db";
+    "nCTEQ15WZSIH_12_6" = "00d4lis1qas1k8yzfb3dbqgvy9ynv7h9lx67ys3mj1ws5fqyn5al";
+    "nCTEQ15WZSIH_131_54" = "10frai6qmzvp8xpkanl1qlpnc6chf6k5j70f4pw4abw8ycbjymij";
+    "nCTEQ15WZSIH_14_7" = "02qd5x041p6n8rzv5l446481jb9vkc5nrc018vcg41735azr0d0p";
+    "nCTEQ15WZSIH_16_8" = "164ciyxkrxp33r5nrkl86gq0jvdzm90hf602raamn1b5l5yrnadl";
+    "nCTEQ15WZSIH_184_74" = "00nrwb8q6sa3zwbdc9mx4jz5ndibml84lfz8gad9vhy20zayyh3q";
+    "nCTEQ15WZSIH_197_79" = "03hzr05vhb0l58iv9c2743c688ygagy1bi5a7zqn8nilsmykbvag";
+    "nCTEQ15WZSIH_197_98" = "1mdlhp643z0gkjpj2jdi5zdd4qxxjqsy93rkv69cn1x5abawdl8l";
+    "nCTEQ15WZSIH_1_1" = "13wskph284niaxqx92yaa4jg749ry6y98ds1ifvwc9970iccdnk2";
+    "nCTEQ15WZSIH_207_103" = "0mpc6msqqjbcs756zd426xgzxmmmcmk8cp8wh2mpagib1drrg1x8";
+    "nCTEQ15WZSIH_208_82" = "130bs9y9337pmgwi1ix0ar2xvhfhl4rs0626kbin5yrxhdy7rpha";
+    "nCTEQ15WZSIH_27_13" = "1r01sbzixlrqxkjp9kx3s4zgsd48myivyc70p7ha83i1qrq50g7w";
+    "nCTEQ15WZSIH_2_1" = "1qlh3zxbg13sq187k1fmssan00ifmqr0q2l7i45vc8jz3mk70098";
+    "nCTEQ15WZSIH_3_1" = "057zyvlxz3hwlwgydccl2y124bvc6iwqqgav2jqw0r53a39rc25g";
+    "nCTEQ15WZSIH_40_20" = "11psi56yk2yd75v396j68hfdacsnxvng2bw4v9g4afbjv9697jgr";
+    "nCTEQ15WZSIH_4_2" = "0g4rvlgksw5gf6a7zh7yzsi2sq5jqkwbrx6d7jgz7zpg8jkg4qrz";
+    "nCTEQ15WZSIH_56_26" = "12d0bj92b615kzadxwivp1q0j906m2rlcxfflwgwg21sv9axhi4l";
+    "nCTEQ15WZSIH_56_28" = "12yx9v87y59qf14005fmj55n38xnhlvc7qgcrgfsicmdbx3ncm5x";
+    "nCTEQ15WZSIH_64_32" = "02w3a4sbygc72acxnfc6lhird4nxcgq5dprfldg10h7f9lr7441y";
+    "nCTEQ15WZSIH_6_3" = "05x3cknlnc1kbqnmi3hk6fjgx07dhl7b36rg3abaqn4yg65i79sj";
+    "nCTEQ15WZSIH_7_3" = "0d6cmpv6csysr96knip033mw7sg56ls1gcq8gvz2qy7isj167gx7";
+    "nCTEQ15WZSIH_84_42" = "15zva7n91p6s98kkhcfsvws20s26fl1bvjql8m1n1c2d5pr29wj5";
+    "nCTEQ15WZSIH_9_4" = "04cs89s2m99p31jkc2k4f5i5rr0l4fpa6a41d59zvknhgfy74yvw";
+    "nCTEQ15WZSIH_FullNuc_108_54" = "1wk8vhhlzj3wrb994s66q5zmwxhcy9vxpyks36s3jr5729jxk1j1";
+    "nCTEQ15WZSIH_FullNuc_119_59" = "1rrkj7inah6bg03mmxgza39z40ghdr8km9hy5v5b69bvqcyr42a3";
+    "nCTEQ15WZSIH_FullNuc_12_6" = "14wgacbimifnaji6byq1cds9zz266a63bvv616b0n06391plvzff";
+    "nCTEQ15WZSIH_FullNuc_131_54" = "0k6gncwq4l5avlnr4qpvakklysi6g855yqksylc42ndlgjm4jxfy";
+    "nCTEQ15WZSIH_FullNuc_14_7" = "1mlffwsn3f942flxvvi0rp63xlcrq88ir9vffmkzh3br3qpm4q41";
+    "nCTEQ15WZSIH_FullNuc_16_8" = "1ga0kijnlzjz98j32bakcan89bfhbhq8y08d84d90xpgaqkpb9z2";
+    "nCTEQ15WZSIH_FullNuc_184_74" = "1nhly8065kabzjjkapr75vafx46f1zl21xc6fdcv15a2qwx54n0p";
+    "nCTEQ15WZSIH_FullNuc_197_79" = "0l9c684f427b8hhwm68swh78n6104nbpdxq6v50zipwc6df0j6w9";
+    "nCTEQ15WZSIH_FullNuc_197_98" = "0vc285bd21arpmaykb6baspzr8ak42yx9h4j0sx2vj07l648g5hi";
+    "nCTEQ15WZSIH_FullNuc_1_1" = "13gbjq46f5cdpdr902nxv261hqw041f7ryxbwgvxr3k2zm7h8fw0";
+    "nCTEQ15WZSIH_FullNuc_207_103" = "08m08pcz0f72nd7zcrvi8cl5va49djlvdff1w4is4gmsb44khyv2";
+    "nCTEQ15WZSIH_FullNuc_208_82" = "04x5icmidi1p3j8bdarl3sj0ak6g2ygyc5wmkkn9g80qqn4mxwva";
+    "nCTEQ15WZSIH_FullNuc_27_13" = "0x4iv1kxb5lp514qm1nr3k32m68aw7sgy12nhdjhy2dv018snd8n";
+    "nCTEQ15WZSIH_FullNuc_2_1" = "177qv17wv15sr1zcm2p6av20h32cjkspf4jj3jvvvgvks947n7dl";
+    "nCTEQ15WZSIH_FullNuc_3_1" = "0aawk1ppg3nhl5n6gpdi6l1rw53l2x2sv3fwjz5821b6d7cmb9f6";
+    "nCTEQ15WZSIH_FullNuc_40_20" = "1271dlp580a5gm29sv6b8plpc8d06j57x2xrfjyp7kafxa1158ii";
+    "nCTEQ15WZSIH_FullNuc_4_2" = "0sv20zpzbinrz5biia1g3jzgyq0wbqaqrmrhhcyg2yxg9z48vgca";
+    "nCTEQ15WZSIH_FullNuc_56_26" = "1wz1vwy2q85qz85kdy9gzzhnvv0jy4iazzavf9janz2xzw7833gg";
+    "nCTEQ15WZSIH_FullNuc_56_28" = "01y0f2bz5yxmfd719fq8s1i3q5wb0dd81l0qkllpa961db83zmz2";
+    "nCTEQ15WZSIH_FullNuc_64_32" = "1a93nqx26pj9kyvy66dmm4ib2pl5qwf03420q84zdl1hlcgaszzc";
+    "nCTEQ15WZSIH_FullNuc_6_3" = "157j927a4x53gcam5kmpcpkyk76qgdlszxa4bcj9wlqrygwxsk3k";
+    "nCTEQ15WZSIH_FullNuc_7_3" = "0l369wpd3gcb6i452w2hsjvidz80xl623xf1g1p8d2485nrvh6jm";
+    "nCTEQ15WZSIH_FullNuc_84_42" = "1nikb7yk35s27g43k1wlgcfxqfyjf40csn8a6aiabliqdfjacaqv";
+    "nCTEQ15WZSIH_FullNuc_9_4" = "0nnxf32kllwvm3fyjlswnyjx8cpsanx15qwsn03z6d67wx2f87sw";
+    "nCTEQ15WZ_108_47" = "0v1s95f0wxyz73pfv5z6hc4mslxb7ml6imjmkhn2p9yx5mvk94qf";
+    "nCTEQ15WZ_108_54" = "0zqw1p1sls58v7aacmwamlic0vsjyjijfam6bas5lh92rrmcf9h6";
+    "nCTEQ15WZ_119_50" = "1wwx1rsjhd8rqrvyq68r70issnsby8zrlr8d76br3622mxqr83a7";
+    "nCTEQ15WZ_119_59" = "11hckxdqyfrbsv3lc12q8zjysr2nw9mhx438ff13azp93ha7h1v6";
+    "nCTEQ15WZ_12_6" = "0naqqy223p6gyw2r1qy5fs185dhmxzmb3zmkx3bbccqnspk7qcnz";
+    "nCTEQ15WZ_131_54" = "0fi4sjv7rs90yac1zmnlf38dv5ry9zwzxrjwakpzh00irxw0cz8r";
+    "nCTEQ15WZ_14_7" = "1k4sc588n3rd8fvcvwhxzc405iqj28xzv7y1md45kz1c7m6qy4cj";
+    "nCTEQ15WZ_16_8" = "0ndjlgbggbk3zk5bm9nm726ci1v8b3qfy3gag14jmp7q780zyhmy";
+    "nCTEQ15WZ_184_74" = "08cdkqbjihls2sg4waj9rxg7nvs0mjzxfv3dx1jppiw6f7ljjzrr";
+    "nCTEQ15WZ_197_79" = "0ss7wgvx8rv03x1g10c516i0yd65njc7qjh19maij49aizf1fd4l";
+    "nCTEQ15WZ_197_98" = "0vlyjqlj9plniim0z7mdhia307i296iha94l8b3iqgzyp9553gly";
+    "nCTEQ15WZ_1_0" = "13wnm5sz1sf3hng70j8d3ml53knrx9b7wrg2h6x947jl51flrkh4";
+    "nCTEQ15WZ_1_1" = "0pllq4zdgjaklad9j87vilx8gapzfhjh478gcw479ahgjcbbbxxp";
+    "nCTEQ15WZ_207_103" = "088d8sr9mq9q4bi0ipxznbm3k2b2k347bj9k5fxsb27f4dl5d0jp";
+    "nCTEQ15WZ_207_82" = "0cxagqav2q6kwq83syiad67nmzzkmrg9q0hlshbz6bjlcqmdi4jr";
+    "nCTEQ15WZ_208_82" = "1c7vacsr2m6r7dy1b439c46xgxjqvq1gj9y68p2vargm5az444sz";
+    "nCTEQ15WZ_20_10" = "1y38sqjgsjrfhmyhf688jir2hgkk871sjz8dm89lm5g7m5c1mgmq";
+    "nCTEQ15WZ_27_13" = "0gb2zg5j3jcqjisa3nzsbif4rfi8vshl5vq2vq93d2132qgpzq3l";
+    "nCTEQ15WZ_2_1" = "04nhmrvy2m4a2i8b5qadsg8h51k171df1kb7mdqn3hjzga7lg0j7";
+    "nCTEQ15WZ_3_1" = "00aansn8jjh8yqyhr2fx8h453nahrdf8j1j0qgny1n1mhad4mc56";
+    "nCTEQ15WZ_3_2" = "1pk6gp5a1g15zn5w00l89liz4w7w4xsmpcdk4x50vc7k5phy6vj7";
+    "nCTEQ15WZ_40_18" = "0m58lby911lxqy6rvvs959qg5gjbppnfxl34hn81glc0lr90qiz6";
+    "nCTEQ15WZ_40_20" = "0dnk9yikivxd557bpi9j7dbpwkf4sk49bg8lf0lxf86bdmi2l330";
+    "nCTEQ15WZ_4_2" = "00rr4qwwp7i419sy5wr6f2lz82121ilrvvj0js45bvcqknx26c7i";
+    "nCTEQ15WZ_56_26" = "09qjjavqjwrh9adkz6yhcjjiy55dg6c7imnbsi8qxi8xspz8nqq3";
+    "nCTEQ15WZ_56_28" = "0pdqsrj4dphjb50r3v95wp1drc8rkdgsbisgg430dj9xaa703ijr";
+    "nCTEQ15WZ_64_29" = "1qjvvfzv5nfjp1k1kdv2kz5pjssr2avrnjlxznqvlxwgs7rv8p7v";
+    "nCTEQ15WZ_64_32" = "172whqdyyvqxyr3lijw2v45y8nvc0vk7z47i9xfmcydi2qfz8g3s";
+    "nCTEQ15WZ_6_3" = "0kr0cf8aqwsn4x8kjwihsynvb99i8bdp4g91digbgcfpp02jyvgd";
+    "nCTEQ15WZ_7_3" = "1c76h9xfflfihqyxi9a6dlmg1gwwr2wh93mfac3a3jnx73981gq3";
+    "nCTEQ15WZ_84_36" = "1cvykpl9r41dwahjv3kik98y6sx53wiyyzywqc87mhnlx1x5876f";
+    "nCTEQ15WZ_84_42" = "1jslkk9wc0fzbm6s5czpmaf004pndwc2ggwnxgkga2idn45204xz";
+    "nCTEQ15WZ_9_4" = "0farphic6jyzc5x3ja715wdmvv5rfcgil1c49i8fxqlap5mlgv89";
+    "nCTEQ15WZ_9_4_iso" = "01zxmn50r14n1a5gq75pia8mz4ibyqhyjl5d31kv3h69xgdrlizc";
+    "nCTEQ15WZ_FullNuc_108_47" = "0yl5ll4j3mr6nhiz9ynn9w3hybgwdypg0b8zwsxz1rjcr3c8bmz5";
+    "nCTEQ15WZ_FullNuc_108_54" = "1c8cdilw9n91apqj9lrv9j6hf6mcg3ndndchc96d5svrqlqk4fg6";
+    "nCTEQ15WZ_FullNuc_119_50" = "19lb71cmmi4fvpb0bxmz0ipjlzg6b5hrlwiml4bj5r65km46whyk";
+    "nCTEQ15WZ_FullNuc_119_59" = "0r9cwy2znpl59ynv2av6whjl3igm4b19rzh6sjqsm6a85d5jjdpc";
+    "nCTEQ15WZ_FullNuc_12_6" = "1972j8lziq1ckwq2s7qpcf9g7mg3762kfrnbdjf4ilfw5b2b9i9n";
+    "nCTEQ15WZ_FullNuc_131_54" = "06w9yl6a11ir8qjyxaakyzs8b51hf3jhm8nj5nvrh4f6cicp1g66";
+    "nCTEQ15WZ_FullNuc_14_7" = "095x9pphc9lx71hlhpwcb71p8wx3b1pnv6qd3s6992visismyb02";
+    "nCTEQ15WZ_FullNuc_16_8" = "005h4mbf9c7d9w61pmgghpxb5yh63i6cbyxyylngznbbbaxggjcc";
+    "nCTEQ15WZ_FullNuc_184_74" = "0niyiq85bmbr596gfrsmf79rksql7n2gqdxw72yrki5ywc3iy4sr";
+    "nCTEQ15WZ_FullNuc_197_79" = "0vbgg6m0b1wlrsx2c5xxga0crz0nwvcq9a88f032yjzihh6rscjd";
+    "nCTEQ15WZ_FullNuc_197_98" = "0sf4q5bb4b44zkbxq51pf0xhpldr5dj5d0gqpqs40qkdlmkb9z7k";
+    "nCTEQ15WZ_FullNuc_1_0" = "1il9j3ggn9kc8k8jpql46lw5c9lq45ngaip45vqppgvl3zcrc4fv";
+    "nCTEQ15WZ_FullNuc_1_1" = "0nxvm11qlapnpdkkymqhy86axcvcx84r9hk0dswa2ji5gmk18jww";
+    "nCTEQ15WZ_FullNuc_207_103" = "05qqg6ckkhv30nfbs5rdpiwz7dkgywjrd8a9gr3skvlayj2bisni";
+    "nCTEQ15WZ_FullNuc_207_82" = "0s27py7i2h0va79q9ivmgrpwk5pxrjx9csyad76fc7pmvi4xsgjl";
+    "nCTEQ15WZ_FullNuc_208_82" = "1xygz9px4jwz3vkbx86384775vhiqqv5l2rp2qi42zy8y8ijwaqd";
+    "nCTEQ15WZ_FullNuc_20_10" = "06bgr8r6pz8cpvqbncjaazxw7j2qzhh183brs7r5mi6yckg318gz";
+    "nCTEQ15WZ_FullNuc_27_13" = "1qrs82jscmxyhqkd4fa2kjglzgig23kqwc7r2n8p23352ggcsn9x";
+    "nCTEQ15WZ_FullNuc_2_1" = "0jxam0p1ypd3x8l83d2f14h2av9wk1r69prfhl6pgd6pdh3nx2gh";
+    "nCTEQ15WZ_FullNuc_3_1" = "0kjgsiidi33p442bpp1g6sss62qn4pj90ag4hcmdqsdf5m9vpc5s";
+    "nCTEQ15WZ_FullNuc_3_2" = "0srxdvk5jh4ga4r8hniikzanfa8fh65xc4g51arxwd9sda4n0mqb";
+    "nCTEQ15WZ_FullNuc_40_18" = "1x7d1cpglijq4rag57m8sp6qyzn3c7r3zs5z9jqarsaqc9wv2ypw";
+    "nCTEQ15WZ_FullNuc_40_20" = "1l58bvdhqs9i4mgc39dw9c13rsh5vq5vh6zq8xk35150cbysiwza";
+    "nCTEQ15WZ_FullNuc_4_2" = "0s1zdn5r9hk7bjk2ggn7bhrzq2iaxspdhmwi9rq1xbsk7n8k3wif";
+    "nCTEQ15WZ_FullNuc_56_26" = "15ilca90cvw7p3w1xr15jynqnvnyw8zhpydhyq11x1kc647bgirm";
+    "nCTEQ15WZ_FullNuc_56_28" = "16bs4yq4jr4y3431csabgps6330gcw1ymgm2161z4nmmyp988w1g";
+    "nCTEQ15WZ_FullNuc_64_29" = "17wqyn8g5zbrm6ywvqn2y5kphy9xwbgijwlzxsni5k821nzmjyxn";
+    "nCTEQ15WZ_FullNuc_64_32" = "0ivyka1g2cj6ign8wm28pzim3saas3bvnxqhixxkr91m1gl40b86";
+    "nCTEQ15WZ_FullNuc_6_3" = "00v5wydvrvw1fgbzc436cap7amk8yr7dj5wf3ykyd6415vxmlzl3";
+    "nCTEQ15WZ_FullNuc_7_3" = "06z2p0gx988q5w4d3c0qx6pj7lp6mqlz1qrnwy5lf4i4i4vcqkkx";
+    "nCTEQ15WZ_FullNuc_84_36" = "0rfn82f8f9f6bgngrs67maip2kfhy42i4ppa904d7dspyqkgfa31";
+    "nCTEQ15WZ_FullNuc_84_42" = "14lyhhc5jwccqnz85msaqzdx7cn2vxkvm2l9mf1p2kmgy7p5jis3";
+    "nCTEQ15WZ_FullNuc_9_4" = "1895lr4yydzk4cry5wnjhpl6gs2kcspjlm2mv2y00sb7gzinjs94";
+    "nCTEQ15WZ_FullNuc_9_4_iso" = "0kvjk4wvw98w7y02ishjacn9frncspl6rsxlzcd4y2pdk1ckr29i";
     "nCTEQ15_108_54" = "1bjx2d61qjhabfx28pfi64hf8br4gl67nzir3ygdpwdcah4k6lz8";
     "nCTEQ15_119_59" = "0g7wffsyjh84r2wv8w67skx8gwdb3clv9c1dlpijwqmpkcm3b8q5";
     "nCTEQ15_12_6" = "1xnnqp38zz3b61jb38hz54wv09w06fwwnb66sf93r1agcajvv1vi";
@@ -966,6 +1225,30 @@ in
     "nCTEQ15_7_3" = "13b9wbm2hqx4lixq3dad1y3cr6didcch8kg7mqm9lgbism7dwaqw";
     "nCTEQ15_84_42" = "12vkqpvjjyh0x0hbn7r4gx5za01yqs9a7lqirdxd15k04fp5rnjr";
     "nCTEQ15_9_4" = "1rkxhxwp0v9dm6f71c5635ihlspfx0sj666maif4iaw1sf4hazln";
+    "nCTEQ15_B_90CL_Au_hess" = "13sdn1ng4nd6935dksk7jin8yilp29zys3d0jvf7m7vx8gyxi187";
+    "nCTEQ15_B_90CL_Pb_hess" = "1j11x8y5sbs5lz4z06wcl702ijvh1bcb4i222jdcq9gh9j40xn17";
+    "nCTEQ15_B_c_90CL_Au_hess" = "0k0pn3yqb632j254h8w9wbdvcasnfxr7d9g47drqw3f4w1as3s16";
+    "nCTEQ15_B_c_90CL_Pb_hess" = "0gvvwnc298qgxhpj4wgnzcrgz0wqlj5r7sfsl1fj21zhm3kc45jl";
+    "nCTEQ15_B_d_90CL_Au_hess" = "0lzfa2gsl5cs2i6y833lhvf2pifzkysj9jgq22v9iyyz5q0nbsh4";
+    "nCTEQ15_B_d_90CL_Pb_hess" = "0zp7dirc2l42f9zjyq1a2qbnir1bbj1firmg3s856mn7sp3p4i0k";
+    "nCTEQ15_B_u_90CL_Au_hess" = "1w2ifnl9waqvsaz1yg696mmqxcijm2bphq8zp3rcbimck3rmr978";
+    "nCTEQ15_B_u_90CL_Pb_hess" = "0j95dg6kyvd30qgivd9495glcd152cr1j3zh1cg76s6sdzfkhvs5";
+    "nCTEQ15_D_90CL_Au_hess" = "0y3n008i22g9ny0v8z6hyc47730xb6qldkpall6p8icn8yzfdga9";
+    "nCTEQ15_D_90CL_Pb_hess" = "0mp1plqxsd6j0ybnf7yrl4hgl68a85q56vdjhs911xah1bgrpix1";
+    "nCTEQ15_D_c_90CL_Au_hess" = "1xk6ngc488n9immd9nbv8ygvxav5n7b7902k44rkxnw42kbx2c4m";
+    "nCTEQ15_D_c_90CL_Pb_hess" = "1ldig46l08n00jvj0dl36jsnpjl2ycv3jdr9d9g375rwgv671kad";
+    "nCTEQ15_D_d_90CL_Au_hess" = "059fz4rfhydnk25hmabavwi346cy2hzxaw2ciq8jx64fmawb3v79";
+    "nCTEQ15_D_d_90CL_Pb_hess" = "0zgs89yjypn2sd97948z2r78sydadivvw6wy7pwi3a5b0yx1zpzn";
+    "nCTEQ15_D_u_90CL_Au_hess" = "0j8sfih3r2wps1l7vapnllh88ibw7672f646m5p67aw5k2an4f8j";
+    "nCTEQ15_D_u_90CL_Pb_hess" = "0d2nxsabard1yq8f2v9a7kwk0fzv549hx1k15k0dfif9523i6xqf";
+    "nCTEQ15_Jpsi_90CL_Au_hess" = "0x75jizpqi8vss62xb2913vdhvckq2b468iqxd0ggr0fic1f8q9a";
+    "nCTEQ15_Jpsi_90CL_Pb_hess" = "09a9s6gmf7q9rk8c88iskra5kxaiz131s5650964znxv29lpzlqm";
+    "nCTEQ15_Jpsi_c_90CL_Au_hess" = "0mh3ikdkca7xc5bc2knjbyr7dkgbydnaa4i1gqln0i29b89j5nw0";
+    "nCTEQ15_Jpsi_c_90CL_Pb_hess" = "1gs39gla77sqgry1799l9kapc1c48pzxgfba6p70fdbwdac45n3j";
+    "nCTEQ15_Jpsi_d_90CL_Au_hess" = "1qn4f4nn8avjrsdqgab25053zadwx7vlr27w8bsmcxg25si104y9";
+    "nCTEQ15_Jpsi_d_90CL_Pb_hess" = "107w4yiv6dl8gqfx0mpbnii06wzf15ih2kqmb8hkmz988x49l65q";
+    "nCTEQ15_Jpsi_u_90CL_Au_hess" = "1mdm8qlzkyzrszsng49ns9hq7zdqaal61vbi64449fkvmxd0a7mk";
+    "nCTEQ15_Jpsi_u_90CL_Pb_hess" = "1y0bcr3g9znjz2c3s4487yjl1ipf0ls05krfpdn8gcsxymf4cirm";
     "nCTEQ15npFullNuc_108_54" = "1g8id10rpys9566r8h92diqrr43mww6q8nhvlns0kfjkvkr22m9y";
     "nCTEQ15npFullNuc_119_59" = "0df499pvfls1281zkvngrhicnc0ac0bfwamzs027k7f2y6ygkfb4";
     "nCTEQ15npFullNuc_12_6" = "0mb3zixcikagsqzpxb7jzrcg05dln37d7anz5359ssjyd6p1mqyi";
@@ -1057,11 +1340,30 @@ in
     "nNNPDF20_nlo_as_0118_Li6" = "0pwdqrmivpm0j7hrg6h2qqshpna2vjlslxnz0sd100kc3lfq7xab";
     "nNNPDF20_nlo_as_0118_N1" = "09y7pd3nnys49w25gb4524x5xkahillvaypjgncbn8n5x1a11nsr";
     "nNNPDF20_nlo_as_0118_N14" = "0nb3kcmhbyncp9frs27ww550mjl3f7yiahyyrm3aik93ycpm16n7";
-    "nNNPDF20_nlo_as_0118_O16" = "12kfhldvg8gqxjaian14dng6qqc6nikydwcj5jz2i2d1da3dyhgg";
+    "nNNPDF20_nlo_as_0118_O16" = "1wmi63l6cpj3nx0vwiqaa1pfw0im5ps96g7842428skzrg0q4yx3";
     "nNNPDF20_nlo_as_0118_Pb208" = "1rwb7vca0y1aj38mz8m3wg07q9hq66qd5j3y6hs9bh0jz6hkifzh";
     "nNNPDF20_nlo_as_0118_Sn119" = "1dan86ckd5padipp4x12x8msfg5p97b8hwxm78gfyf88kq725m6z";
-    "nNNPDF20_nlo_as_0118_W184" = "1g0br4gdrb2vzwmqhgj5778a6vl0lykc4ymylibxlqbqrhf8j89b";
+    "nNNPDF20_nlo_as_0118_W184" = "0wzd8vw2svf3mzpyy1wryr5jz3anhykp5z3cx4hdljprws2b8nll";
     "nNNPDF20_nlo_as_0118_Xe131" = "1a62qi3qy5kli9q80p2w80mj5v3ps2g6p40zxlgm65q5mphkx1qi";
+    "nNNPDF30_nlo_as_0118_A108_Z54" = "0n67w44rmz5s6cg2h58d8sf51dsfd0i5g09dh08mgfcn640bqlqw";
+    "nNNPDF30_nlo_as_0118_A119_Z59" = "1zj5gn5021ig0j6p7jpyy683avg0890blmr90yjm6skqzxfjq48i";
+    "nNNPDF30_nlo_as_0118_A12_Z6" = "0jvaq9a1w19dybv2hzvn8swk4i4z16lab9yfhbywq0vixyfn1swd";
+    "nNNPDF30_nlo_as_0118_A131_Z54" = "01mcqnixjw5m9di508aq8fp74f3aqnvhc1bjirfvi3ca0jz0c1jz";
+    "nNNPDF30_nlo_as_0118_A14_Z7" = "0hqpni9fxbf5qfamcirglr04cbwx58pwylqh8hqm3vc03ap3nmjd";
+    "nNNPDF30_nlo_as_0118_A16_Z8" = "0f0h3hckxg4xgfd6ldblavhcidzdy2b5660a5nvv96y63sdsx2x4";
+    "nNNPDF30_nlo_as_0118_A184_Z74" = "01jsbla72c3b6gbc7w4nx5bb5ws3g864avznb9vxmmk3prib7n8x";
+    "nNNPDF30_nlo_as_0118_A197_Z79" = "1gm7nx0cn3lmjlsy6c7dr5vzyfmi1fcdib9656d4039m0ningrhg";
+    "nNNPDF30_nlo_as_0118_A208_Z82" = "0r1spnj4qmjwpjybqv9aa6w3wybvgk4qzivzwz4s9bacz0kb3z4n";
+    "nNNPDF30_nlo_as_0118_A27_Z13" = "17vmr3pwjp1prb83yngada7sw8553sv39dnncksabnklfp1l5x59";
+    "nNNPDF30_nlo_as_0118_A2_Z1" = "1g97mc7c14hnkfsfvg4n9jmb4l461i9lka643s626hw0gcq053f5";
+    "nNNPDF30_nlo_as_0118_A31_Z15" = "0h5rx9113yq6jw1l2alwyvw77vv733y5mcpa3m9773s7y61w3fpk";
+    "nNNPDF30_nlo_as_0118_A40_Z20" = "1937kk4039hi9cslw4417174s83rs4n9vm16ay70pp1c8bcqzp6l";
+    "nNNPDF30_nlo_as_0118_A4_Z2" = "147npkmbvzk6j95hnnil6jafc2gxjqavaawl9cilr93f9h64w54w";
+    "nNNPDF30_nlo_as_0118_A56_Z26" = "06dxsapqirmajh107j24b3w2nhqz39gs9c2pglq71fc53i0fra5a";
+    "nNNPDF30_nlo_as_0118_A64_Z29" = "1drvfd3i1drrb15m3vk9sm2lzx2x01da44gdq3wbc90nxvzc7d56";
+    "nNNPDF30_nlo_as_0118_A6_Z3" = "0zp1cixj6ixayzdra2i5qyfn2b6y6qfxd5d1l101n8sgf4bdh6fb";
+    "nNNPDF30_nlo_as_0118_A9_Z4" = "07i30jk29cgdbdk4n5acdki5aihaki5w0mqibjww1hy7mwh4y45w";
+    "nNNPDF30_nlo_as_0118_p" = "0k4bs4zhlm7l14mbd2q9n0n7rdnpqwgnfwj289ql62v3kh8mnn18";
     "xFitterPI_NLO_EIG" = "1v6mfhmcrmdvica0wlc2ilfca1srxc7vjyli113wjvpd7wfpnvj5";
     "xFitterPI_NLO_VAR" = "09mlsww89hhm2s96rlkqbkfwwf9qkblw7n3nnrgas6l1kn2hxq1i";
   }
diff --git a/pkgs/development/libraries/pocketsphinx/default.nix b/pkgs/development/libraries/pocketsphinx/default.nix
deleted file mode 100644
index fadc1424083..00000000000
--- a/pkgs/development/libraries/pocketsphinx/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib, stdenv
-, fetchurl
-, sphinxbase
-, pkg-config
-, python27 # >= 2.6
-, swig2 # 2.0
-}:
-
-stdenv.mkDerivation rec {
-  pname = "pocketsphinx";
-  version = "5prealpha";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/cmusphinx/pocketsphinx-${version}.tar.gz";
-    sha256 = "1n9yazzdgvpqgnfzsbl96ch9cirayh74jmpjf7svs4i7grabanzg";
-  };
-
-  propagatedBuildInputs = [ sphinxbase ];
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ python27 swig2 ];
-
-  meta = {
-    description = "Voice recognition library written in C";
-    homepage = "http://cmusphinx.sourceforge.net";
-    license = lib.licenses.free;
-    platforms = lib.platforms.linux;
-  };
-}
-
-/* Example usage:
-
-
-1.
-
-$ cat << EOF > vocabulary.txt
-oh mighty computer /1e-40/
-hello world /1e-30/
-EOF
-
-2.
-
-$ pocketsphinx_continuous -inmic yes -kws vocabulary.txt 2> /dev/null
-# after you say "hello world":
-hello world
-...
-
-*/
diff --git a/pkgs/development/libraries/poppler/0.61-CVE-2019-9959.patch b/pkgs/development/libraries/poppler/0.61-CVE-2019-9959.patch
deleted file mode 100644
index 5c2af7a2adc..00000000000
--- a/pkgs/development/libraries/poppler/0.61-CVE-2019-9959.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/poppler/JPEG2000Stream.cc b/poppler/JPEG2000Stream.cc
---- a/poppler/JPEG2000Stream.cc
-+++ b/poppler/JPEG2000Stream.cc
-@@ -201,7 +201,7 @@ void JPXStream::init()
-   if (getDict()) smaskInData = getDict()->lookup("SMaskInData");
- 
-   int bufSize = BUFFER_INITIAL_SIZE;
--  if (oLen.isInt()) bufSize = oLen.getInt();
-+  if (oLen.isInt() && oLen.getInt() > 0) bufSize = oLen.getInt();
- 
-   if (cspace.isArray() && cspace.arrayGetLength() > 0) {
-
-@@ -365,7 +365,7 @@ void JPXStream::init()
-   }
- 
-   int bufSize = BUFFER_INITIAL_SIZE;
--  if (oLen.isInt()) bufSize = oLen.getInt();
-+  if (oLen.isInt() && oLen.getInt() > 0) bufSize = oLen.getInt();
- 
-   if (cspace.isArray() && cspace.arrayGetLength() > 0) {
diff --git a/pkgs/development/libraries/poppler/0.61.nix b/pkgs/development/libraries/poppler/0.61.nix
deleted file mode 100644
index e46da53f68d..00000000000
--- a/pkgs/development/libraries/poppler/0.61.nix
+++ /dev/null
@@ -1,94 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, fetchpatch
-, cairo
-, cmake
-, curl
-, fontconfig
-, freetype
-, lcms
-, libiconv
-, libintl
-, libjpeg
-, ninja
-, openjpeg
-, pkg-config
-, zlib
-, withData ? true, poppler_data
-, qt5Support ? false, qtbase ? null
-, introspectionSupport ? false, gobject-introspection ? null
-, utils ? false
-, minimal ? false, suffix ? "glib"
-}:
-
-let
-  version = "0.61.1";
-  mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}";
-in
-stdenv.mkDerivation rec {
-  pname = "poppler-${suffix}";
-  inherit version;
-
-  src = fetchurl {
-    url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
-    sha256 = "1afdrxxkaivvviazxkg5blsf2x24sjkfj92ib0d3q5pm8dihjrhj";
-  };
-
-  outputs = [ "out" "dev" ];
-
-  patches = [
-    # Fix internal crash: a negative number that should not be
-    (fetchpatch {
-      name = "CVE-2018-13988";
-      url = "https://cgit.freedesktop.org/poppler/poppler/patch/?id=004e3c10df0abda214f0c293f9e269fdd979c5ee";
-      sha256 = "1l8713s57xc6g81bldw934rsfm140fqc7ggd50ha5mxdl1b3app2";
-    })
-    # Fix internal crash: a negative number that should not be (not the above!)
-    ./0.61-CVE-2019-9959.patch
-  ];
-
-  nativeBuildInputs = [
-    cmake
-    ninja
-    pkg-config
-  ];
-
-  buildInputs = [
-    libiconv
-    libintl
-  ]
-  ++ lib.optional withData poppler_data;
-
-  # TODO: reduce propagation to necessary libs
-  propagatedBuildInputs = with lib;
-    [ zlib freetype fontconfig libjpeg openjpeg ]
-    ++ optionals (!minimal) [ cairo lcms curl ]
-    ++ optional qt5Support qtbase
-    ++ optional introspectionSupport gobject-introspection;
-
-  # Not sure when and how to pass it.  It seems an upstream bug anyway.
-  CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
-
-  cmakeFlags = [
-    (mkFlag true "XPDF_HEADERS")
-    (mkFlag (!minimal) "GLIB")
-    (mkFlag (!minimal) "CPP")
-    (mkFlag (!minimal) "LIBCURL")
-    (mkFlag utils "UTILS")
-    (mkFlag qt5Support "QT5")
-  ];
-
-  dontWrapQtApps = true;
-
-  meta = with lib; {
-    homepage = "https://poppler.freedesktop.org/";
-    description = "A PDF rendering library";
-    longDescription = ''
-      Poppler is a PDF rendering library based on the xpdf-3.0 code base.
-    '';
-    license = licenses.gpl2Plus;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ ttuegel ];
-  };
-}
diff --git a/pkgs/development/libraries/proj/default.nix b/pkgs/development/libraries/proj/default.nix
index 376cb36edd6..a5a19dc9db2 100644
--- a/pkgs/development/libraries/proj/default.nix
+++ b/pkgs/development/libraries/proj/default.nix
@@ -3,40 +3,49 @@
 , fetchFromGitHub
 , cmake
 , pkg-config
+, buildPackages
 , sqlite
 , libtiff
 , curl
 , gtest
+, nlohmann_json
 }:
 
 stdenv.mkDerivation rec {
   pname = "proj";
-  version = "8.2.1";
+  version = "9.0.0";
 
   src = fetchFromGitHub {
     owner = "OSGeo";
     repo = "PROJ";
     rev = version;
-    hash = "sha256-tnaIqYKgYHY1Tg33jsKYn9QL8YUobgXKbQsodoCXNys=";
+    sha256 = "sha256-zMP+WzC65BFz8g8mF5t7toqxmxCJePysd6WJuqpe8yg=";
   };
 
-  outputs = [ "out" "dev"];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ cmake pkg-config ];
 
-  buildInputs = [ sqlite libtiff curl ];
+  buildInputs = [ sqlite libtiff curl nlohmann_json ];
 
   checkInputs = [ gtest ];
 
   cmakeFlags = [
     "-DUSE_EXTERNAL_GTEST=ON"
     "-DRUN_NETWORK_DEPENDENT_TESTS=OFF"
+    "-DNLOHMANN_JSON_ORIGIN=external"
+    "-DEXE_SQLITE3=${buildPackages.sqlite}/bin/sqlite3"
   ];
 
-  preCheck = ''
-    export HOME=$TMPDIR
-    export TMP=$TMPDIR
-  '';
+  preCheck =
+    let
+      libPathEnvVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
+    in
+      ''
+        export HOME=$TMPDIR
+        export TMP=$TMPDIR
+        export ${libPathEnvVar}=$PWD/lib
+      '';
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/protolock/default.nix b/pkgs/development/libraries/protolock/default.nix
index ef6338207e3..a9b45ddf613 100644
--- a/pkgs/development/libraries/protolock/default.nix
+++ b/pkgs/development/libraries/protolock/default.nix
@@ -13,8 +13,6 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-kgSJUSjY8kgrGCNDPgw1WA8KwAqI5koJQ0IcE+tC5nk=";
 
-  doCheck = false;
-
   postInstall = ''
     rm $out/bin/plugin*
   '';
diff --git a/pkgs/development/libraries/ptex/default.nix b/pkgs/development/libraries/ptex/default.nix
index 561c9cf93c2..5d40ff183e7 100644
--- a/pkgs/development/libraries/ptex/default.nix
+++ b/pkgs/development/libraries/ptex/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, zlib, python2, cmake, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, zlib, cmake, pkg-config }:
 
 stdenv.mkDerivation rec
 {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec
   outputs = [ "bin" "dev" "out" "lib" ];
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ zlib python2 pkg-config ];
+  buildInputs = [ zlib pkg-config ];
 
   # Can be removed in the next release
   # https://github.com/wdas/ptex/pull/42
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
index 3c5256908d8..ece389b98ea 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
@@ -1,7 +1,7 @@
 { qtModule
 , qtdeclarative, qtquickcontrols, qtlocation, qtwebchannel
 
-, bison, coreutils, flex, git, gperf, ninja, pkg-config, python2, which
+, bison, flex, git, gperf, ninja, pkg-config, python2, which
 , nodejs, qtbase, perl
 
 , xorg, libXcursor, libXScrnSaver, libXrandr, libXtst
@@ -30,7 +30,7 @@ qtModule {
   pname = "qtwebengine";
   qtInputs = [ qtdeclarative qtquickcontrols qtlocation qtwebchannel ];
   nativeBuildInputs = [
-    bison coreutils flex git gperf ninja pkg-config python2 which gn nodejs
+    bison flex git gperf ninja pkg-config python2 which gn nodejs
   ] ++ lib.optional stdenv.isDarwin xcbuild;
   doCheck = true;
   outputs = [ "bin" "dev" "out" ];
@@ -240,7 +240,22 @@ qtModule {
   meta = with lib; {
     description = "A web engine based on the Chromium web browser";
     maintainers = with maintainers; [ matthewbauer ];
-    platforms = platforms.unix;
+
+    # qtwebengine-5.15.8: "QtWebEngine can only be built for x86,
+    # x86-64, ARM, Aarch64, and MIPSel architectures."
+    platforms =
+      lib.trivial.pipe lib.systems.doubles.all [
+        (map (double: lib.systems.elaborate { system = double; }))
+        (lib.lists.filter (parsedPlatform: with parsedPlatform;
+          isUnix &&
+          (isx86_32  ||
+           isx86_64  ||
+           isAarch32 ||
+           isAarch64 ||
+           (isMips && isLittleEndian))))
+        (map (plat: plat.system))
+      ];
+
     # This build takes a long time; particularly on slow architectures
     timeout = 24 * 3600;
     # we are still stuck with MacOS SDK 10.12 on x86_64-darwin
diff --git a/pkgs/development/libraries/qwt/default.nix b/pkgs/development/libraries/qwt/default.nix
index 46cfc426efa..e74f8300bf7 100644
--- a/pkgs/development/libraries/qwt/default.nix
+++ b/pkgs/development/libraries/qwt/default.nix
@@ -4,6 +4,8 @@ stdenv.mkDerivation rec {
   pname = "qwt";
   version = "6.2.0";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "mirror://sourceforge/qwt/qwt-${version}.tar.bz2";
     sha256 = "sha256-kZT2UTlV0P1zAPZxWBdQZEYBl6urGpL6EnpnpLC3FTA=";
diff --git a/pkgs/development/libraries/rapidfuzz-cpp/default.nix b/pkgs/development/libraries/rapidfuzz-cpp/default.nix
new file mode 100644
index 00000000000..2e1ad8080fa
--- /dev/null
+++ b/pkgs/development/libraries/rapidfuzz-cpp/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, catch2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rapidfuzz-cpp";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "maxbachmann";
+    repo = "rapidfuzz-cpp";
+    rev = "v${version}";
+    hash = "sha256-331iW0nu5MlxuKNTgMkRSASnglxn+hEWBhRMnw0lY2Y=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  cmakeFlags = lib.optionals doCheck [
+    "-DRAPIDFUZZ_BUILD_TESTING=ON"
+  ];
+
+  checkInputs = [
+    catch2
+  ];
+
+  # uses unreleased Catch2 version 3
+  doCheck = false;
+
+  meta = {
+    description = "Rapid fuzzy string matching in C++ using the Levenshtein Distance";
+    homepage = "https://github.com/maxbachmann/rapidfuzz-cpp";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/redis-plus-plus/default.nix b/pkgs/development/libraries/redis-plus-plus/default.nix
new file mode 100644
index 00000000000..a39a9b185dc
--- /dev/null
+++ b/pkgs/development/libraries/redis-plus-plus/default.nix
@@ -0,0 +1,38 @@
+{ lib, stdenv, fetchFromGitHub, cmake, hiredis
+, enableShared ? !stdenv.hostPlatform.isStatic
+, enableStatic ? stdenv.hostPlatform.isStatic
+}:
+
+# You must build at one type of library
+assert enableShared || enableStatic;
+
+stdenv.mkDerivation rec {
+  pname = "redis-plus-plus";
+  version = "1.3.3";
+
+  src = fetchFromGitHub {
+    owner = "sewenew";
+    repo = "redis-plus-plus";
+    rev = version;
+    sha256 = "sha256-k4q5YbbbKKHXcL0nndzJPshzXS20ARz4Tdy5cBg7kMc=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  propagatedBuildInputs = [ hiredis ];
+
+  cmakeFlags = [
+    "-DREDIS_PLUS_PLUS_BUILD_TEST=OFF"
+  ] ++ lib.optional (!enableShared) [
+    "-DREDIS_PLUS_PLUS_BUILD_SHARED=OFF"
+  ] ++ lib.optional (!enableStatic) [
+    "-DREDIS_PLUS_PLUS_BUILD_STATIC=OFF"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/sewenew/redis-plus-plus";
+    description = "Redis client written in C++";
+    license = licenses.asl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wheelsandmetal ];
+  };
+}
diff --git a/pkgs/development/libraries/rocclr/default.nix b/pkgs/development/libraries/rocclr/default.nix
index b55c2ef8152..fb847b83fe9 100644
--- a/pkgs/development/libraries/rocclr/default.nix
+++ b/pkgs/development/libraries/rocclr/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocclr";
-  version = "5.0.2";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "ROCm-Developer-Tools";
     repo = "ROCclr";
     rev = "rocm-${version}";
-    hash = "sha256-x6XwYxgiCoy6Q7gIevSTEWgUQ0aEjPFhKSqMqQahHig=";
+    hash = "sha256-SFWEGKffhuiTE7ICbkElVV5cldXu4Xbwvjb6LiNmijA=";
   };
 
   prePatch = ''
diff --git a/pkgs/development/libraries/rocm-comgr/default.nix b/pkgs/development/libraries/rocm-comgr/default.nix
index 141c1b01d6f..6994b7cda3d 100644
--- a/pkgs/development/libraries/rocm-comgr/default.nix
+++ b/pkgs/development/libraries/rocm-comgr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-comgr";
-  version = "5.0.2";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCm-CompilerSupport";
     rev = "rocm-${version}";
-    hash = "sha256-EIBH7TXelo6mr+/vJ+iT+VLUVoQqWmNsgeN3Nwwr+tM=";
+    hash = "sha256-zlCM3Zue7MEhL1c0gUPwRNgdjzyyF9BEP3UxE8RYkKk=";
   };
 
   sourceRoot = "source/lib/comgr";
diff --git a/pkgs/development/libraries/rocm-device-libs/default.nix b/pkgs/development/libraries/rocm-device-libs/default.nix
index 773f98ee54a..a8519d3d692 100644
--- a/pkgs/development/libraries/rocm-device-libs/default.nix
+++ b/pkgs/development/libraries/rocm-device-libs/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-device-libs";
-  version = "5.0.2";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCm-Device-Libs";
     rev = "rocm-${version}";
-    hash = "sha256-eZdy9+BfuUVzPO6huvqcwCog96qMVTYoY3l6J0YMUZQ=";
+    hash = "sha256-kmCk+BpM1QCJzEAkru2LK3CGwVXNUEZBFicmwnrPcx8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/rocm-runtime/default.nix b/pkgs/development/libraries/rocm-runtime/default.nix
index aff0475c4a5..d16966d2130 100644
--- a/pkgs/development/libraries/rocm-runtime/default.nix
+++ b/pkgs/development/libraries/rocm-runtime/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-runtime";
-  version = "5.0.1";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCR-Runtime";
     rev = "rocm-${version}";
-    hash = "sha256-KOzVZNHtpwEOn7lZ36c4BGrImrq8dkUWRiHqGm+UTDk=";
+    hash = "sha256-MGm7YmnoFNk7VsxsbsUgSD9Y5r1OBm6Ycg3wXNme8EI=";
   };
 
   sourceRoot = "source/src";
diff --git a/pkgs/development/libraries/rocm-thunk/default.nix b/pkgs/development/libraries/rocm-thunk/default.nix
index 9ceb1360cda..c7280108159 100644
--- a/pkgs/development/libraries/rocm-thunk/default.nix
+++ b/pkgs/development/libraries/rocm-thunk/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-thunk";
-  version = "5.0.2";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCT-Thunk-Interface";
     rev = "rocm-${version}";
-    hash = "sha256-hhDLy92jS/akp1Ozun45OEjVbVcjufkRIfC8bqqFjp4=";
+    hash = "sha256-Qvbvfe1fhoLTkDnzG0WzfAxbyDoEJwkzVvlBGTBkq0w=";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/science/astronomy/indilib/default.nix b/pkgs/development/libraries/science/astronomy/indilib/default.nix
index 60f5e51ae95..d0cf27bef5b 100644
--- a/pkgs/development/libraries/science/astronomy/indilib/default.nix
+++ b/pkgs/development/libraries/science/astronomy/indilib/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "indilib";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchFromGitHub {
     owner = "indilib";
     repo = "indi";
     rev = "v${version}";
-    sha256 = "sha256-U3Q0WUEDRn0zfBIdHXFp5Zcaf+M6HrSFnpeu5aAkjks=";
+    sha256 = "sha256-mj9rnPn85Fbc7Y8qRndqPVANzBrk3al+vDJagLTDJ04=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/science/biology/htslib/default.nix b/pkgs/development/libraries/science/biology/htslib/default.nix
index d93b4fb2a5a..2e3f9dec319 100644
--- a/pkgs/development/libraries/science/biology/htslib/default.nix
+++ b/pkgs/development/libraries/science/biology/htslib/default.nix
@@ -14,9 +14,25 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib bzip2 xz curl ];
 
-  configureFlags = [ "--enable-libcurl" ]; # optional but strongly recommended
+  configureFlags = if ! stdenv.hostPlatform.isStatic
+                    then [ "--enable-libcurl" ] # optional but strongly recommended
+                    else [ "--disable-libcurl" "--disable-plugins" ];
 
-  installFlags = [ "prefix=$(out)" ];
+
+  # In the case of static builds, we need to replace the build and install phases
+  buildPhase = lib.optional stdenv.hostPlatform.isStatic ''
+    make AR=$AR lib-static
+    make LDFLAGS=-static bgzip htsfile tabix
+  '';
+
+  installPhase = lib.optional stdenv.hostPlatform.isStatic ''
+    install -d $out/bin
+    install -d $out/lib
+    install -d $out/include/htslib
+    install -D libhts.a $out/lib
+    install  -m644 htslib/*h $out/include/htslib
+    install -D bgzip htsfile tabix $out/bin
+  '';
 
   preCheck = ''
     patchShebangs test/
diff --git a/pkgs/development/libraries/science/math/caffe2/default.nix b/pkgs/development/libraries/science/math/caffe2/default.nix
deleted file mode 100644
index 9333d5cdfe8..00000000000
--- a/pkgs/development/libraries/science/math/caffe2/default.nix
+++ /dev/null
@@ -1,151 +0,0 @@
-{ stdenv, lib, config, fetchFromGitHub
-, cmake
-, glog, gflags, gtest
-, protobuf, snappy
-, python, future, six, python-protobuf, numpy, pydot
-, eigen
-, doxygen
-, useCuda ? (config.cudaSupport or false), cudaPackages ? {}
-, useCudnn ? (config.cudnnSupport or false)
-, useOpenmp ? false, openmp ? null
-, useOpencv3 ? true, opencv3 ? null
-, useLeveldb ? false, leveldb ? null
-, useLmdb ? true, lmdb ? null
-, useRocksdb ? false, rocksdb ? null
-, useZeromq ? false, zeromq ? null
-, useMpi ? false, mpi ? null
-# TODO: distributed computations
-#, useGloo ? false
-#, useNccl ? false
-#, useNnpack ? false
-}:
-
-let
-   inherit (cudaPackages) cudatoolkit cudnn;
-in
-
-assert useCuda -> cudatoolkit != null;
-assert useCudnn -> (useCuda && cudnn != null);
-assert useOpencv3 -> opencv3 != null;
-assert useLeveldb -> leveldb != null;
-assert useLmdb -> lmdb != null;
-assert useRocksdb -> rocksdb != null;
-assert useZeromq -> zeromq != null;
-assert useMpi -> mpi != null;
-
-let
-  # Third party modules that caffe2 holds as git submodules.
-  # Download them and create symlinks from caffe2/third_party.
-  installExtraSrc = extra: ''
-    rmdir "third_party/${extra.dst}"
-    ln -s "${extra.src}" "third_party/${extra.dst}"
-  '';
-
-  cub = {
-    src = fetchFromGitHub {
-      owner  = "NVlabs";
-      repo   = "cub";
-      rev    = "v1.7.4";
-      sha256 = "0ksd5n1lxqhm5l5cd2lps4cszhjkf6gmzahaycs7nxb06qci8c66";
-    };
-    dst = "cub";
-  };
-
-  pybind11 = {
-    src = fetchFromGitHub {
-      owner  = "pybind";
-      repo   = "pybind11";
-      rev    = "86e2ad4f77442c3350f9a2476650da6bee253c52";
-      sha256 = "05gi58dirvc8fgm0avpydvidzsbh2zrzgfaq671ym09f6dz0bcgz";
-    };
-    dst = "pybind11";
-  };
-
-  ccVersion = lib.getVersion stdenv.cc;
-in
-
-stdenv.mkDerivation rec {
-  pname = "caffe2";
-  version = "0.8.1";
-  src = fetchFromGitHub {
-    owner = "caffe2";
-    repo = "caffe2";
-    rev = "v${version}";
-    sha256 = "18y7zjc69j6n5642l9caddl641b0djf3pjn4wacdsc1wk1jiyqk8";
-  };
-
-  nativeBuildInputs = [ cmake doxygen gtest ];
-  outputs = [ "bin" "out" ];
-  propagatedBuildOutputs = [ ]; # otherwise propagates out -> bin cycle
-
-  buildInputs = [ glog gflags protobuf snappy eigen ]
-    ++ lib.optional useCuda cudatoolkit
-    ++ lib.optional useCudnn cudnn
-    ++ lib.optional useOpenmp openmp
-    ++ lib.optional useOpencv3 opencv3
-    ++ lib.optional useLeveldb leveldb
-    ++ lib.optional useLmdb lmdb
-    ++ lib.optional useRocksdb rocksdb
-    ++ lib.optional useZeromq zeromq
-  ;
-  propagatedBuildInputs = [ numpy future six python-protobuf pydot ];
-
-  patches = lib.optional (stdenv.cc.isGNU && lib.versionAtLeast ccVersion "7.0.0") [
-    ./fix_compilation_on_gcc7.patch
-  ] ++ lib.optional stdenv.cc.isClang [ ./update_clang_cvtsh_bugfix.patch ];
-
-  cmakeFlags = [ "-DBUILD_TEST=OFF"
-                 "-DBUILD_PYTHON=ON"
-                 ''-DUSE_CUDA=${if useCuda then "ON"else "OFF"}''
-                 ''-DUSE_OPENMP=${if useOpenmp then "ON"else "OFF"}''
-                 ''-DUSE_OPENCV=${if useOpencv3 then "ON"else "OFF"}''
-                 ''-DUSE_MPI=${if useMpi then "ON"else "OFF"}''
-                 ''-DUSE_LEVELDB=${if useLeveldb then "ON"else "OFF"}''
-                 ''-DUSE_LMDB=${if useLmdb then "ON"else "OFF"}''
-                 ''-DUSE_ROCKSDB=${if useRocksdb then "ON"else "OFF"}''
-                 ''-DUSE_ZMQ=${if useZeromq  then "ON"else "OFF"}''
-                 "-DUSE_GLOO=OFF"
-                 "-DUSE_NNPACK=OFF"
-                 "-DUSE_NCCL=OFF"
-                 "-DUSE_REDIS=OFF"
-                 "-DUSE_FFMPEG=OFF"
-               ]
-               ++ lib.optional useCuda [
-                 "-DCUDA_TOOLKIT_ROOT_DIR=${cudatoolkit}"
-                 "-DCUDA_FAST_MATH=ON"
-                 "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/gcc"
-               ];
-
-  preConfigure = ''
-    ${installExtraSrc cub}
-    ${installExtraSrc pybind11}
-    # XXX hack
-    export NIX_CFLAGS_COMPILE="-I ${eigen}/include/eigen3/ $NIX_CFLAGS_COMPILE"
-  '';
-
-  postInstall = ''
-    moveToOutput "bin" "$bin"
-    mkdir -p $out/lib/${python.libPrefix}
-    ln -s $out/ $out/${python.sitePackages}
-  '';
-
-  doCheck = false;
-
-  meta = {
-    homepage = "https://caffe2.ai/";
-    description = "A new lightweight, modular, and scalable deep learning framework";
-    longDescription = ''
-      Caffe2 aims to provide an easy and straightforward way for you to experiment
-      with deep learning and leverage community contributions of new models and
-      algorithms. You can bring your creations to scale using the power of GPUs in the
-      cloud or to the masses on mobile with Caffe2's cross-platform libraries.
-    '';
-    platforms = with lib.platforms; linux;
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ yuriaisaka ];
-    # fails to compile with
-    # error: invalid conversion from 'const char*' to 'char*'
-    # TODO: Remove usage of python2, protobuf overwrite
-    broken = true;
-  };
-}
diff --git a/pkgs/development/libraries/science/math/caffe2/fix_compilation_on_gcc7.patch b/pkgs/development/libraries/science/math/caffe2/fix_compilation_on_gcc7.patch
deleted file mode 100644
index f319f20233a..00000000000
--- a/pkgs/development/libraries/science/math/caffe2/fix_compilation_on_gcc7.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/caffe2/operators/recurrent_network_op.cc b/caffe2/operators/recurrent_network_op.cc
-index dd4fded..5995e8a 100644
---- a/caffe2/operators/recurrent_network_op.cc
-+++ b/caffe2/operators/recurrent_network_op.cc
-@@ -1,4 +1,4 @@
--#include "recurrent_network_op.h"
-+#include "caffe2/operators/recurrent_network_op.h"
- #include "caffe2/core/workspace.h"
- 
- namespace caffe2 {
-diff --git a/caffe2/operators/recurrent_network_op.h b/caffe2/operators/recurrent_network_op.h
-index 55328e5..ea898bc 100644
---- a/caffe2/operators/recurrent_network_op.h
-+++ b/caffe2/operators/recurrent_network_op.h
-@@ -762,8 +762,8 @@ class AccumulateInputGradientOp : public Operator<Context> {
-   USE_OPERATOR_CONTEXT_FUNCTIONS;
- 
-   bool RunOnDevice() override {
--    const auto t =
--        OperatorBase::Input<Tensor<CPUContext>>(0).template data<int32_t>()[0];
-+    const auto& t0 = OperatorBase::Input<Tensor<CPUContext>>(0);
-+    const auto t = t0.template data<int32_t>()[0];
-     auto& og = Input(1);
-     auto* g = Output(0);
- 
-diff --git a/caffe2/queue/queue_ops.h b/caffe2/queue/queue_ops.h
-index f2c0a33..642343f 100644
---- a/caffe2/queue/queue_ops.h
-+++ b/caffe2/queue/queue_ops.h
-@@ -17,13 +17,10 @@ class CreateBlobsQueueOp final : public Operator<Context> {
-         name(operator_def.output().Get(0)) {}
- 
-   bool RunOnDevice() override {
--    const auto capacity =
--        OperatorBase::template GetSingleArgument<int>("capacity", 1);
--    const auto numBlobs =
--        OperatorBase::template GetSingleArgument<int>("num_blobs", 1);
-+    const auto capacity = GetSingleArgument("capacity", 1);
-+    const auto numBlobs = GetSingleArgument("num_blobs", 1);
-     const auto enforceUniqueName =
--        OperatorBase::template GetSingleArgument<int>(
--            "enforce_unique_name", false);
-+        GetSingleArgument("enforce_unique_name", false);
-     const auto fieldNames =
-         OperatorBase::template GetRepeatedArgument<std::string>("field_names");
-     CAFFE_ENFORCE_EQ(this->OutputSize(), 1);
diff --git a/pkgs/development/libraries/science/math/caffe2/update_clang_cvtsh_bugfix.patch b/pkgs/development/libraries/science/math/caffe2/update_clang_cvtsh_bugfix.patch
deleted file mode 100644
index d908cb6ba80..00000000000
--- a/pkgs/development/libraries/science/math/caffe2/update_clang_cvtsh_bugfix.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff --git a/caffe2/perfkernels/cvtsh_ss_bugfix.h b/caffe2/perfkernels/cvtsh_ss_bugfix.h
-index bd06681..00172b7 100644
---- a/caffe2/perfkernels/cvtsh_ss_bugfix.h
-+++ b/caffe2/perfkernels/cvtsh_ss_bugfix.h
-@@ -1,10 +1,36 @@
-+/**
-+ * Copyright (c) 2016-present, Facebook, Inc.
-+ *
-+ * Licensed under the Apache License, Version 2.0 (the "License");
-+ * you may not use this file except in compliance with the License.
-+ * You may obtain a copy of the License at
-+ *
-+ *     http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * Unless required by applicable law or agreed to in writing, software
-+ * distributed under the License is distributed on an "AS IS" BASIS,
-+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+ * See the License for the specific language governing permissions and
-+ * limitations under the License.
-+ */
-+
- #pragma once
- 
--#if defined(__APPLE__) && (__clang_major__ < 8)
-+// Apple clang was fixed in 8.1
-+#if defined(__apple_build_version__) && ((__clang_major__ < 8) || ((__clang_major__ == 8) && (__clang_minor__ < 1)))
-+#define __APPLE_NEED_FIX 1
-+#endif
-+
-+// Regular clang was fixed in 3.9
-+#if defined(__clang__) && (__clang_major__ < 4) && (__clang_minor__ < 9)
-+#define __CLANG_NEED_FIX 1
-+#endif
-+
-+#if __APPLE_NEED_FIX || __CLANG_NEED_FIX
- 
- #include <emmintrin.h>
- 
--// This version of apple clang has a bug that _cvtsh_ss is not defined, see
-+// This version of clang has a bug that _cvtsh_ss is not defined, see
- // https://reviews.llvm.org/D16177
- static __inline float
-     __attribute__((__always_inline__, __nodebug__, __target__("f16c")))
-@@ -15,7 +41,10 @@ _cvtsh_ss(unsigned short a)
-   return r[0];
- }
- 
--#endif // defined(__APPLE__) && (__clang_major__ < 8)
-+#endif // __APPLE_NEED_FIX || __CLANG_NEED_FIX
-+
-+#undef __APPLE_NEED_FIX
-+#undef __CLANG_NEED_FIX
- 
- #ifdef _MSC_VER
- 
diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix
index 9f481961e5b..05470f61dd3 100644
--- a/pkgs/development/libraries/science/math/liblapack/default.nix
+++ b/pkgs/development/libraries/science/math/liblapack/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , gfortran
 , cmake
 , shared ? true
@@ -11,23 +10,15 @@
 
 stdenv.mkDerivation rec {
   pname = "liblapack";
-  version = "3.10.0";
+  version = "3.10.1";
 
   src = fetchFromGitHub {
     owner = "Reference-LAPACK";
     repo = "lapack";
     rev = "v${version}";
-    sha256 = "sha256-ewYUM+M7jDO5LLnB4joiKkqgXjEDmWbFZbgad8x98gc=";
+    sha256 = "07wwydw72gl4fhfqcyc8sbz7ynm0i23pggyfqn0r9a29g7qh8bqs";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2021-4048.patch";
-      url = "https://github.com/Reference-LAPACK/lapack/commit/0631b6beaed60ba118b0b027c0f8d35397bf5df0.patch";
-      sha256 = "1bqjw3f6ak9iz97y7ckn0rrfcgrzbn9prgfasl489qpxgzp2kjh8";
-    })
-  ];
-
   nativeBuildInputs = [ gfortran cmake ];
 
   # Configure stage fails on aarch64-darwin otherwise, due to either clang 11 or gfortran 10.
diff --git a/pkgs/development/libraries/science/math/scalapack/default.nix b/pkgs/development/libraries/science/math/scalapack/default.nix
index bafb52be7ff..7620844f8d1 100644
--- a/pkgs/development/libraries/science/math/scalapack/default.nix
+++ b/pkgs/development/libraries/science/math/scalapack/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, openssh
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, openssh
 , mpi, blas, lapack
 } :
 
@@ -17,6 +17,13 @@ stdenv.mkDerivation rec {
 
   passthru = { inherit (blas) isILP64; };
 
+  # upstream patch, remove with next release
+  patches = [ (fetchpatch {
+    name = "gcc-10";
+    url = "https://github.com/Reference-ScaLAPACK/scalapack/commit/a0f76fc0c1c16646875b454b7d6f8d9d17726b5a.patch";
+    sha256 = "0civn149ikghakic30bynqg1bal097hr7i12cm4kq3ssrhq073bp";
+  })];
+
   # Required to activate ILP64.
   # See https://github.com/Reference-ScaLAPACK/scalapack/pull/19
   postPatch = lib.optionalString passthru.isILP64 ''
diff --git a/pkgs/development/libraries/science/math/zn_poly/default.nix b/pkgs/development/libraries/science/math/zn_poly/default.nix
index 38d5d91e083..3ec97e4a288 100644
--- a/pkgs/development/libraries/science/math/zn_poly/default.nix
+++ b/pkgs/development/libraries/science/math/zn_poly/default.nix
@@ -3,12 +3,12 @@
 , fetchFromGitLab
 , fetchpatch
 , gmp
-, python2
+, python3
 , tune ? false # tune to hardware, impure
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.1";
+  version = "0.9.2";
   pname = "zn_poly";
 
   # sage has picked up the maintenance (bug fixes and building, not development)
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     owner = "sagemath";
     repo = "zn_poly";
     rev = version;
-    sha256 = "0ra5vy585bqq7g3317iw6fp44iqgqvds3j0l1va6mswimypq4vxb";
+    hash = "sha256-QBItcrrpOGj22/ShTDdfZjm63bGW2xY4c71R1q8abPE=";
   };
 
   buildInputs = [
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    python2 # needed by ./configure to create the makefile
+    python3 # needed by ./configure to create the makefile
   ];
 
   # name of library file ("libzn_poly.so")
@@ -44,16 +44,6 @@ stdenv.mkDerivation rec {
     "--disable-tuning"
   ];
 
-  patches = [
-    # fix format-security by not passing variables directly to printf
-    # https://gitlab.com/sagemath/zn_poly/merge_requests/1
-    (fetchpatch {
-      name = "format-security.patch";
-      url = "https://gitlab.com/timokau/zn_poly/commit/1950900a80ec898d342b8bcafa148c8027649766.patch";
-      sha256 = "1gks9chvsfpc6sg5h3nqqfia4cgvph7jmj9dw67k7dk7kv9y0rk1";
-    })
-  ];
-
   # `make install` fails to install some header files and the lib file.
   installPhase = ''
     mkdir -p "$out/include/zn_poly"
diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix
index c38257dadb0..9573afda0b3 100644
--- a/pkgs/development/libraries/simpleitk/default.nix
+++ b/pkgs/development/libraries/simpleitk/default.nix
@@ -4,6 +4,8 @@ stdenv.mkDerivation rec {
   pname = "simpleitk";
   version = "2.1.1";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchFromGitHub {
     owner = "SimpleITK";
     repo = "SimpleITK";
diff --git a/pkgs/development/libraries/skalibs/default.nix b/pkgs/development/libraries/skalibs/default.nix
index ddf2ee5b467..70033523627 100644
--- a/pkgs/development/libraries/skalibs/default.nix
+++ b/pkgs/development/libraries/skalibs/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "skalibs";
-  version = "2.11.1.0";
-  sha256 = "1fga2kmzcp2llqv5nzrmgm33p1jz7y9pnaghzbxf8ldnsns800a0";
+  version = "2.11.2.0";
+  sha256 = "sha256-ZJzzI2/jED9FNmthlrG80EV8nBfKhvK4AAdpaiuqe3c=";
 
   description = "A set of general-purpose C programming libraries";
 
diff --git a/pkgs/development/libraries/slang/default.nix b/pkgs/development/libraries/slang/default.nix
index a3db5ce0d3b..fe32076858a 100644
--- a/pkgs/development/libraries/slang/default.nix
+++ b/pkgs/development/libraries/slang/default.nix
@@ -44,6 +44,13 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ ncurses ];
 
+  buildFlags = lib.optional stdenv.hostPlatform.isStatic "static";
+  installTargets = lib.optional stdenv.hostPlatform.isStatic "install-static";
+
+  preBuild = ''
+    makeFlagsArray+=(AR_CR="${stdenv.cc.targetPrefix}ar cr")
+  '';
+
   # slang 2.3.2 does not support parallel building
   enableParallelBuilding = false;
 
diff --git a/pkgs/development/libraries/snack/default.nix b/pkgs/development/libraries/snack/default.nix
deleted file mode 100644
index 1c876cf3636..00000000000
--- a/pkgs/development/libraries/snack/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-# alsa-lib vorbis-tools python2 can be made optional
-
-{ lib, stdenv, fetchurl, python2, tcl, tk, vorbis-tools, pkg-config, xlibsWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "snack";
-  version = "2.2.10";
-
-  src = fetchurl {
-    url = "https://www.speech.kth.se/snack/dist/${pname}${version}.tar.gz";
-    sha256 = "07p89jv9qnjqkszws9sssq93ayvwpdnkcxrvyicbm4mb8x2pdzjb";
-  };
-
-  configureFlags = [ "--with-tcl=${tcl}/lib" "--with-tk=${tk}/lib" ];
-
-  postUnpack = ''sourceRoot="$sourceRoot/unix"'';
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ python2 tcl tk vorbis-tools xlibsWrapper ];
-
-  hardeningDisable = [ "format" ];
-
-  postInstall = "aoeu";
-
-  installPhase = ''
-    mkdir -p $out
-    make install DESTDIR="$out"
-  '';
-
-  meta = {
-    description = "The Snack Sound Toolkit (Tcl)";
-    homepage = "https://www.speech.kth.se/snack/";
-    license = lib.licenses.gpl2;
-    broken = true;
-  };
-}
diff --git a/pkgs/development/libraries/soci/bc-soci.nix b/pkgs/development/libraries/soci/bc-soci.nix
new file mode 100644
index 00000000000..d728d61a8f5
--- /dev/null
+++ b/pkgs/development/libraries/soci/bc-soci.nix
@@ -0,0 +1,53 @@
+{ cmake
+, fetchFromGitLab
+, fetchpatch
+, sqlite
+, boost
+, lib
+, stdenv
+}:
+
+stdenv.mkDerivation rec {
+  pname = "bc-soci";
+  version = "linphone-4.4.1";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.linphone.org";
+    group = "BC";
+    owner = "public/external";
+    repo = "soci";
+    rev = "bc8ce0c5628dd48eca6ef5ce0a0a2f52547d88b6";
+    sha256 = "sha256-qo26aYp/G2C6UkGA1qkHQwTKD5go7TQ9JWxb9xtbe6M=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "fix-backend-search-path.patch";
+      url = "https://github.com/SOCI/soci/commit/56c93afc467bdba8ffbe68739eea76059ea62f7a.patch";
+      sha256 = "sha256-nC/39pn3Cv5e65GgIfF3l64/AbCsfZHPUPIWETZFZAY=";
+    })
+  ];
+
+  cmakeFlags = [
+    # Do not build static libraries
+    "-DSOCI_SHARED=YES"
+    "-DSOCI_STATIC=OFF"
+
+    "-DSOCI_TESTS=NO"
+    "-DWITH_SQLITE3=YES"
+  ];
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [
+    sqlite
+    boost
+  ];
+
+  meta = with lib; {
+    description = "Database access library for C++. Belledonne Communications' fork for Linphone.";
+    homepage = "https://gitlab.linphone.org/BC/public/external/soci";
+    license = licenses.boost;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ thibaultlemaire ];
+  };
+}
diff --git a/pkgs/development/libraries/sphinxbase/default.nix b/pkgs/development/libraries/sphinxbase/default.nix
deleted file mode 100644
index 43a70c50fed..00000000000
--- a/pkgs/development/libraries/sphinxbase/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib, stdenv
-, fetchurl
-, bison
-, pkg-config
-, python27 # >= 2.6
-, swig2 # 2.0
-, multipleOutputs ? false #Uses incomplete features of nix!
-}:
-
-stdenv.mkDerivation (rec {
-  pname = "sphinxbase";
-  version = "5prealpha";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/cmusphinx/sphinxbase-${version}.tar.gz";
-    sha256 = "0vr4k8pv5a8nvq9yja7kl13b5lh0f9vha8fc8znqnm8bwmcxnazp";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ swig2 python27 bison ];
-
-  meta = {
-    description = "Support Library for Pocketsphinx";
-    homepage = "http://cmusphinx.sourceforge.net";
-    license = lib.licenses.bsd2;
-    platforms = lib.platforms.unix;
-    maintainers = with lib.maintainers; [ ];
-  };
-
-} // (lib.optionalAttrs multipleOutputs {
-  outputs = [ "out" "lib" "headers" ];
-
-  postInstall = ''
-    mkdir -p $lib
-    cp -av $out/lib* $lib
-
-    mkdir -p $headers
-    cp -av $out/include $headers
-  '';
-}))
diff --git a/pkgs/development/libraries/spirv-headers/default.nix b/pkgs/development/libraries/spirv-headers/default.nix
index d9516538163..379b6b7c1bb 100644
--- a/pkgs/development/libraries/spirv-headers/default.nix
+++ b/pkgs/development/libraries/spirv-headers/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spirv-headers";
-  version = "1.2.198.0";
+  version = "1.3.211.0";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Headers";
     rev = "sdk-${version}";
-    sha256 = "sha256-cdEiRSCoX0New8ecUh7UTDz/is2v29zhf6Il2N1j3mw=";
+    sha256 = "sha256-LkIrTFWYvZffLVJJW3152um5LTEsMJEDEsIhBAdhBlk=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/taskflow/default.nix b/pkgs/development/libraries/taskflow/default.nix
new file mode 100644
index 00000000000..29760cdb94b
--- /dev/null
+++ b/pkgs/development/libraries/taskflow/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, substituteAll
+, doctest
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "taskflow";
+  version = "3.3.0";
+
+  src = fetchFromGitHub {
+    owner = "taskflow";
+    repo = "taskflow";
+    rev = "v${version}";
+    hash = "sha256-UfXGupxgtowIt3BnIVWwim3rTE57TT1C9TCx9LVyN34=";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./unvendor-doctest.patch;
+      inherit doctest;
+    })
+  ];
+
+  postPatch = ''
+    rm -r 3rd-party
+
+    # tries to use x86 intrinsics on aarch64-darwin
+    sed -i '/^#if __has_include (<immintrin\.h>)/,/^#endif/d' taskflow/utility/os.hpp
+  '';
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  doCheck = true;
+
+  meta = {
+    description = "General-purpose Parallel and Heterogeneous Task Programming System";
+    homepage = "https://taskflow.github.io/";
+    changelog = let
+      release = lib.replaceStrings ["."] ["-"] version;
+    in "https://taskflow.github.io/taskflow/release-${release}.html";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/libraries/taskflow/unvendor-doctest.patch b/pkgs/development/libraries/taskflow/unvendor-doctest.patch
new file mode 100644
index 00000000000..85f2e1fcff9
--- /dev/null
+++ b/pkgs/development/libraries/taskflow/unvendor-doctest.patch
@@ -0,0 +1,21 @@
+diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt
+index 3397d798..8277191e 100644
+--- a/unittests/CMakeLists.txt
++++ b/unittests/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ enable_testing()
+ 
+-include(${TF_3RD_PARTY_DIR}/doctest/doctest.cmake)
++include(@doctest@/lib/cmake/doctest/doctest.cmake)
+ 
+ list(APPEND TF_UNITTESTS 
+   utility 
+@@ -24,7 +24,7 @@ list(APPEND TF_UNITTESTS
+ foreach(unittest IN LISTS TF_UNITTESTS)
+   add_executable(${unittest} ${unittest}.cpp)
+   target_link_libraries(${unittest} ${PROJECT_NAME} tf::default_settings)
+-  target_include_directories(${unittest} PRIVATE ${TF_3RD_PARTY_DIR}/doctest)
++  target_include_directories(${unittest} PRIVATE @doctest@/include/doctest)
+   doctest_discover_tests(${unittest})
+ endforeach()
+ 
diff --git a/pkgs/development/libraries/tdlib/default.nix b/pkgs/development/libraries/tdlib/default.nix
index 4dedc13db2a..0196e62fb97 100644
--- a/pkgs/development/libraries/tdlib/default.nix
+++ b/pkgs/development/libraries/tdlib/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "tdlib";
-  version = "1.8.1";
+  version = "1.8.3";
 
   src = fetchFromGitHub {
     owner = "tdlib";
     repo = "td";
     # https://github.com/tdlib/td/issues/1790
-    rev = "92c2a9c4e521df720abeaa9872e1c2b797d5c93f";
-    sha256 = "ZoKsgdkS78mptfbxkkV4pgcgJEaWwKZWK2cvmxgJN4E=";
+    rev = "054a823c1a812ee3e038f702c6d8ba3e6974be9c";
+    sha256 = "sha256-YlvIGR3Axej0nfcGBQ5lwwYVWsLgqFrYgOxoNubYMPM=";
   };
 
   buildInputs = [ gperf openssl readline zlib ];
diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix
index 286f5ccc3fc..a389d204a83 100644
--- a/pkgs/development/libraries/umockdev/default.nix
+++ b/pkgs/development/libraries/umockdev/default.nix
@@ -19,15 +19,21 @@
 
 stdenv.mkDerivation rec {
   pname = "umockdev";
-  version = "0.17.7";
+  version = "0.17.9";
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-BdZCoW3QHM4Oue4bpuSFsuwIU1vsZ5pjqVv9TfGNC7U=";
+    sha256 = "sha256-FEmWjJVmKKckC30zULGI/mZ3VNtirnweZq2gKh/Y5VE=";
   };
 
+  patches = [
+    # Hardcode absolute paths to libraries so that consumers
+    # do not need to set LD_LIBRARY_PATH themselves.
+    ./hardcode-paths.patch
+  ];
+
   nativeBuildInputs = [
     docbook-xsl-nons
     gobject-introspection
@@ -57,6 +63,21 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  postPatch = ''
+    # Substitute the path to this derivation in the patch we apply.
+    substituteInPlace src/umockdev-wrapper \
+      --subst-var-by 'LIBDIR' "''${!outputLib}/lib"
+  '';
+
+  preCheck = ''
+    # Our patch makes the path to the `LD_PRELOAD`ed library absolute.
+    # When running tests, the library is not yet installed, though,
+    # so we need to replace the absolute path with a local one during build.
+    # We are using a symlink that will be overridden during installation.
+    mkdir -p "$out/lib"
+    ln -s "$PWD/libumockdev-preload.so.0" "$out/lib/libumockdev-preload.so.0"
+  '';
+
   meta = with lib; {
     description = "Mock hardware devices for creating unit tests";
     license = licenses.lgpl21Plus;
diff --git a/pkgs/development/libraries/umockdev/hardcode-paths.patch b/pkgs/development/libraries/umockdev/hardcode-paths.patch
new file mode 100644
index 00000000000..91f1e928ec6
--- /dev/null
+++ b/pkgs/development/libraries/umockdev/hardcode-paths.patch
@@ -0,0 +1,69 @@
+diff --git a/meson.build b/meson.build
+index 2ed9027..1f6bbf2 100644
+--- a/meson.build
++++ b/meson.build
+@@ -38,6 +38,7 @@ g_ir_compiler = find_program('g-ir-compiler', required: false)
+ 
+ conf.set('PACKAGE_NAME', meson.project_name())
+ conf.set_quoted('VERSION', meson.project_version())
++conf.set_quoted('LIBDIR', get_option('prefix') / get_option('libdir'))
+ 
+ # glibc versions somewhere between 2.28 and 2.34
+ if cc.has_function('__fxstatat', prefix: '#include <sys/stat.h>')
+@@ -148,7 +149,7 @@ hacked_gir = custom_target('UMockdev-1.0 hacked gir',
+ 
+ if g_ir_compiler.found()
+ umockdev_typelib = custom_target('UMockdev-1.0 typelib',
+-  command: [g_ir_compiler, '--output', '@OUTPUT@', '-l', 'libumockdev.so.0', '@INPUT@'],
++  command: [g_ir_compiler, '--output', '@OUTPUT@', '-l', get_option('prefix') / get_option('libdir') / 'libumockdev.so.0', '@INPUT@'],
+   input: hacked_gir,
+   output: 'UMockdev-1.0.typelib',
+   install: true,
+diff --git a/src/config.vapi b/src/config.vapi
+index 5269dd0..a2ec46d 100644
+--- a/src/config.vapi
++++ b/src/config.vapi
+@@ -2,5 +2,6 @@
+ namespace Config {
+     public const string PACKAGE_NAME;
+     public const string VERSION;
++    public const string LIBDIR;
+ }
+ 
+diff --git a/src/umockdev-record.vala b/src/umockdev-record.vala
+index 8434d32..68c7f8e 100644
+--- a/src/umockdev-record.vala
++++ b/src/umockdev-record.vala
+@@ -435,7 +435,7 @@ main (string[] args)
+         preload = "";
+     else
+         preload = preload + ":";
+-    Environment.set_variable("LD_PRELOAD", preload + "libumockdev-preload.so.0", true);
++    Environment.set_variable("LD_PRELOAD", preload + Config.LIBDIR + "/libumockdev-preload.so.0", true);
+ 
+     try {
+         root_dir = DirUtils.make_tmp("umockdev.XXXXXX");
+diff --git a/src/umockdev-run.vala b/src/umockdev-run.vala
+index 9a1ba10..6df2522 100644
+--- a/src/umockdev-run.vala
++++ b/src/umockdev-run.vala
+@@ -95,7 +95,7 @@ main (string[] args)
+         preload = "";
+     else
+         preload = preload + ":";
+-    Environment.set_variable ("LD_PRELOAD", preload + "libumockdev-preload.so.0", true);
++    Environment.set_variable ("LD_PRELOAD", preload + Config.LIBDIR + "/libumockdev-preload.so.0", true);
+ 
+     var testbed = new UMockdev.Testbed ();
+ 
+diff --git a/src/umockdev-wrapper b/src/umockdev-wrapper
+index 6ce4dcd..706c49a 100755
+--- a/src/umockdev-wrapper
++++ b/src/umockdev-wrapper
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+ # Wrapper program to preload the libumockdev library, so that test programs can
+ # set $UMOCKDEV_DIR for redirecting sysfs and other queries to a test bed.
+-exec env LD_PRELOAD=libumockdev-preload.so.0:$LD_PRELOAD "$@"
++exec env LD_PRELOAD=@LIBDIR@/libumockdev-preload.so.0:$LD_PRELOAD "$@"
+ 
diff --git a/pkgs/development/libraries/utmps/default.nix b/pkgs/development/libraries/utmps/default.nix
index 84f5b26c300..a7063f198c5 100644
--- a/pkgs/development/libraries/utmps/default.nix
+++ b/pkgs/development/libraries/utmps/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "utmps";
-  version = "0.1.1.0";
-  sha256 = "0vsx5b99fwmp05l4wsw744gg79hbfb4wlzyfip3k0g76fcs49nil";
+  version = "0.1.2.0";
+  sha256 = "sha256-kCXZYbgnGg7MjutXhhJra3mTdq+m8r0lwPhy/STxEjw=";
 
   description = "A secure utmpx and wtmp implementation";
 
diff --git a/pkgs/development/libraries/vapoursynth/default.nix b/pkgs/development/libraries/vapoursynth/default.nix
index f97723bc654..0d990b98363 100644
--- a/pkgs/development/libraries/vapoursynth/default.nix
+++ b/pkgs/development/libraries/vapoursynth/default.nix
@@ -4,17 +4,15 @@
 , ApplicationServices
 }:
 
-with lib;
-
 stdenv.mkDerivation rec {
   pname = "vapoursynth";
-  version = "R57";
+  version = "58";
 
   src = fetchFromGitHub {
     owner  = "vapoursynth";
     repo   = "vapoursynth";
-    rev    = version;
-    sha256 = "sha256-tPQ1SOIpFevOYzL9a8Lc5+dv2egVX1CY3km8yWVv+Sk=";
+    rev    = "R${version}";
+    sha256 = "sha256-LIjNfyfpyvE+Ec6f4aGzRA4ZGoWPFhjtUw4yrenDsUQ=";
   };
 
   patches = [
@@ -25,7 +23,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     zimg libass
     (python3.withPackages (ps: with ps; [ sphinx cython ]))
-  ] ++ optionals stdenv.isDarwin [ libiconv ApplicationServices ];
+  ] ++ lib.optionals stdenv.isDarwin [ libiconv ApplicationServices ];
 
   enableParallelBuilding = true;
 
@@ -58,5 +56,4 @@ stdenv.mkDerivation rec {
     platforms   = platforms.x86_64;
     maintainers = with maintainers; [ rnhmjoj sbruder tadeokondrak ];
   };
-
 }
diff --git a/pkgs/development/libraries/vigra/default.nix b/pkgs/development/libraries/vigra/default.nix
index a4371e7d1a5..32b97f8ea2d 100644
--- a/pkgs/development/libraries/vigra/default.nix
+++ b/pkgs/development/libraries/vigra/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchurl
 , boost
 , cmake
 , fftw
@@ -20,25 +19,17 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "vigra";
-  version = "1.11.1";
+  version = "unstable-2022-01-11";
 
   src = fetchFromGitHub {
     owner = "ukoethe";
     repo = "vigra";
-    rev = "Version-${lib.replaceChars ["."] ["-"] version}";
-    sha256 = "sha256-tD6tdoT4mWBtzkn4Xv3nNIkBQmeqNqzI1AVxUbP76Mk=";
+    rev = "093d57d15c8c237adf1704d96daa6393158ce299";
+    sha256 = "sha256-pFANoT00Wkh1/Dyd2x75IVTfyaoVA7S86tafUSr29Og=";
   };
 
   NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR";
 
-  # Fixes compilation with clang (on darwin) see https://github.com/ukoethe/vigra/issues/414
-  patches =
-    let clangPatch = fetchurl {
-      url = "https://github.com/ukoethe/vigra/commit/81958d302494e137f98a8b1d7869841532f90388.patch";
-      sha256 = "1i1w6smijgb5z8bg9jaq84ccy00k2sxm87s37lgjpyix901gjlgi";
-    };
-    in [ clangPatch ];
-
   nativeBuildInputs = [ cmake ];
   buildInputs = [
     boost
@@ -59,9 +50,6 @@ stdenv.mkDerivation rec {
     ++ lib.optionals (stdenv.hostPlatform.system == "x86_64-linux")
     [ "-DCMAKE_CXX_FLAGS=-fPIC" "-DCMAKE_C_FLAGS=-fPIC" ];
 
-  # fails with "./test_watersheds3d: error while loading shared libraries: libvigraimpex.so.11: cannot open shared object file: No such file or directory"
-  doCheck = false;
-
   meta = with lib; {
     description = "Novel computer vision C++ library with customizable algorithms and data structures";
     homepage = "https://hci.iwr.uni-heidelberg.de/vigra";
diff --git a/pkgs/development/libraries/vulkan-headers/default.nix b/pkgs/development/libraries/vulkan-headers/default.nix
index 4010ee68459..4fead1a1180 100644
--- a/pkgs/development/libraries/vulkan-headers/default.nix
+++ b/pkgs/development/libraries/vulkan-headers/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, cmake }:
 stdenv.mkDerivation rec {
   pname = "vulkan-headers";
-  version = "1.2.198.0";
+  version = "1.3.211.0";
 
   nativeBuildInputs = [ cmake ];
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     owner = "KhronosGroup";
     repo = "Vulkan-Headers";
     rev = "sdk-${version}";
-    sha256 = "sha256-SvC0AX1wIZWLzws3ZS8Wi8fbNUw1+An/PRlFIfNj24Y=";
+    sha256 = "sha256-FqrcFHsUS8e4ZgZpxVc8nNZWdNltniFmMjyyWVoNc7w=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix
index 077f881e722..067e47b3a2f 100644
--- a/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/pkgs/development/libraries/vulkan-loader/default.nix
@@ -3,23 +3,26 @@
 
 stdenv.mkDerivation rec {
   pname = "vulkan-loader";
-  version = "1.2.198.0";
+  version = "1.3.211.0";
 
   src = (assert version == vulkan-headers.version;
     fetchFromGitHub {
       owner = "KhronosGroup";
       repo = "Vulkan-Loader";
       rev = "sdk-${version}";
-      sha256 = "sha256-k3eCdZqCjFxpKa0pZ0K4XcORxdSOlr1dFa7C3Qzi04Y=";
+      sha256 = "sha256-NQu98wA7UK231rpoKDs1yQ6pEyB4wZg7MjFC3JwS2BY=";
     });
 
+  patches = [ ./fix-pkgconfig.patch ];
+
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ vulkan-headers ]
     ++ lib.optionals (!stdenv.isDarwin) [ libX11 libxcb libXrandr wayland ];
 
   cmakeFlags = [ "-DCMAKE_INSTALL_INCLUDEDIR=${vulkan-headers}/include" ]
     ++ lib.optional stdenv.isDarwin "-DSYSCONFDIR=${moltenvk}/share"
-    ++ lib.optional stdenv.isLinux "-DSYSCONFDIR=${addOpenGLRunpath.driverLink}/share";
+    ++ lib.optional stdenv.isLinux "-DSYSCONFDIR=${addOpenGLRunpath.driverLink}/share"
+    ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "-DUSE_GAS=OFF";
 
   outputs = [ "out" "dev" ];
 
diff --git a/pkgs/development/libraries/vulkan-loader/fix-pkgconfig.patch b/pkgs/development/libraries/vulkan-loader/fix-pkgconfig.patch
new file mode 100644
index 00000000000..b5c3bf4428a
--- /dev/null
+++ b/pkgs/development/libraries/vulkan-loader/fix-pkgconfig.patch
@@ -0,0 +1,14 @@
+diff --git a/loader/vulkan.pc.in b/loader/vulkan.pc.in
+index 153815577..584b15273 100644
+--- a/loader/vulkan.pc.in
++++ b/loader/vulkan.pc.in
+@@ -1,7 +1,5 @@
+-prefix=@CMAKE_INSTALL_PREFIX@
+-exec_prefix=${prefix}
+-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
++libdir=@CMAKE_INSTALL_LIBDIR@
++includedir=@CMAKE_INSTALL_INCLUDEDIR@
+ 
+ Name: @CMAKE_PROJECT_NAME@
+ Description: Vulkan Loader
diff --git a/pkgs/development/libraries/waylandpp/default.nix b/pkgs/development/libraries/waylandpp/default.nix
index 49e0e01872f..30976e46bf1 100644
--- a/pkgs/development/libraries/waylandpp/default.nix
+++ b/pkgs/development/libraries/waylandpp/default.nix
@@ -9,6 +9,7 @@
 , buildPackages
 , docSupport ? true
 , doxygen ? null
+, graphviz ? null
 }:
 
 assert docSupport -> doxygen != null;
@@ -16,13 +17,13 @@ assert docSupport -> doxygen != null;
 with lib;
 stdenv.mkDerivation rec {
   pname = "waylandpp";
-  version = "0.2.9";
+  version = "0.2.10";
 
   src = fetchFromGitHub {
     owner = "NilsBrause";
     repo = pname;
     rev = version;
-    sha256 = "sha256-c7sayJjQaqJWso2enESBx6OUW9vxxsfuHFolYDIYlXw=";
+    sha256 = "sha256-5/u6tp7/E4tjSfX+QJFmcUYdnyOgl9rB79PDE/SJH1o=";
   };
 
   cmakeFlags = [
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
     "-DWAYLAND_SCANNERPP=${buildPackages.waylandpp}/bin/wayland-scanner++"
   ];
 
-  nativeBuildInputs = [ cmake pkg-config ] ++ optional docSupport doxygen;
+  nativeBuildInputs = [ cmake pkg-config ] ++ optionals docSupport [ doxygen graphviz ];
   buildInputs = [ pugixml wayland libGL libffi ];
 
   outputs = [ "bin" "dev" "lib" "out" ] ++ optionals docSupport [ "doc" "devman" ];
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index d8f4b72a2fe..2359625a4f7 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -65,7 +65,7 @@
 
 stdenv.mkDerivation rec {
   pname = "webkitgtk";
-  version = "2.36.0";
+  version = "2.36.1";
 
   outputs = [ "out" "dev" ];
 
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-uHfMofEFI19d1Xx6wrLCvjxraR/0RPk5JcclTPFWxk0=";
+    sha256 = "sha256-AUnqX7HSDyqZgWd9RclSoEczAAHqJKjcKQNSOfEsDI8=";
   };
 
   patches = lib.optionals stdenv.isLinux [
diff --git a/pkgs/development/libraries/wolfssl/default.nix b/pkgs/development/libraries/wolfssl/default.nix
index 2fc57b87ab3..0ae563f8b19 100644
--- a/pkgs/development/libraries/wolfssl/default.nix
+++ b/pkgs/development/libraries/wolfssl/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wolfssl";
-  version = "5.2.0";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
     owner = "wolfSSL";
     repo = "wolfssl";
     rev = "v${version}-stable";
-    sha256 = "1xdhbhn31q7waw7w158hz9n0vj76zlfn5njq7hncf73ks38drj6k";
+    sha256 = "sha256-KteArWAgDohlqEYaNfzLPuBn6uy5ABA8vV/LRCVIPGA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix b/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
index 6764df634bb..d0f50dee4d5 100644
--- a/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-gnome";
-  version = "42.0.1";
+  version = "42.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "3+i1JFDzKDj5+eiY6Vqo36JwXOEtQ4MFVXwSi5zg4uY=";
+    sha256 = "doW2aVzZi+gjgXECDByXE8RkfSaAAGyYzo5N+FgxLNI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix b/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
index 13a16f111ea..e54f764f9a5 100644
--- a/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-gtk";
-  version = "1.12.0";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "flatpak";
     repo = pname;
     rev = version;
-    sha256 = "I1ZoDqZQPfPwPr4Ybk+syz+YEkrK2ReflZaJJWD4Nsk=";
+    sha256 = "I9xQgiE3lNb2vRodO5R1y40lqoOKzALskrVePidant4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/xdg-desktop-portal/default.nix b/pkgs/development/libraries/xdg-desktop-portal/default.nix
index 19a671e7e0b..9a8bee561c1 100644
--- a/pkgs/development/libraries/xdg-desktop-portal/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal/default.nix
@@ -5,7 +5,8 @@
 , fetchFromGitHub
 , fetchpatch
 , flatpak
-, fuse
+, fuse3
+, systemdMinimal
 , geoclue2
 , glib
 , gsettings-desktop-schemas
@@ -14,6 +15,9 @@
 , libxml2
 , nixosTests
 , pipewire
+, gdk-pixbuf
+, librsvg
+, python3
 , pkg-config
 , stdenv
 , substituteAll
@@ -23,7 +27,7 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal";
-  version = "1.12.1";
+  version = "1.14.3";
 
   outputs = [ "out" "installedTests" ];
 
@@ -31,17 +35,9 @@ stdenv.mkDerivation rec {
     owner = "flatpak";
     repo = pname;
     rev = version;
-    sha256 = "1fc3LXN6wp/zQw4HQ0Q99HUvBhynHrQi2p3s/08izuE=";
+    sha256 = "CDqTQQ8dOatOxDKR+HiVQgSJKxH6ZstskKdR84U/870=";
   };
 
-  patches = [
-    # Hardcode paths used by x-d-p itself.
-    (substituteAll {
-      src = ./fix-paths.patch;
-      inherit flatpak;
-    })
-  ];
-
   nativeBuildInputs = [
     autoreconfHook
     libxml2
@@ -53,12 +49,22 @@ stdenv.mkDerivation rec {
     acl
     dbus
     flatpak
-    fuse
+    fuse3
+    systemdMinimal # libsystemd
     glib
     gsettings-desktop-schemas
     json-glib
     libportal
     pipewire
+
+    # For icon validator
+    gdk-pixbuf
+    librsvg
+
+    # For document-fuse installed test.
+    (python3.withPackages (pp: with pp; [
+      pygobject3
+    ]))
   ] ++ lib.optionals enableGeoLocation [
     geoclue2
   ];
diff --git a/pkgs/development/libraries/xdg-desktop-portal/fix-paths.patch b/pkgs/development/libraries/xdg-desktop-portal/fix-paths.patch
deleted file mode 100644
index 98e26e88b5c..00000000000
--- a/pkgs/development/libraries/xdg-desktop-portal/fix-paths.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/notification.c b/src/notification.c
-index 5412609..4243e98 100644
---- a/src/notification.c
-+++ b/src/notification.c
-@@ -366,7 +366,7 @@
-   int status;
-   g_autofree char *err = NULL;
-   g_autoptr(GError) error = NULL;
--  const char *icon_validator = LIBEXECDIR "/flatpak-validate-icon";
-+  const char *icon_validator = "@flatpak@/libexec/flatpak-validate-icon";
-   const char *args[6];
- 
-   if (G_IS_THEMED_ICON (icon))
diff --git a/pkgs/development/lisp-modules-new/.gitattributes b/pkgs/development/lisp-modules-new/.gitattributes
new file mode 100644
index 00000000000..d885ece18ad
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/.gitattributes
@@ -0,0 +1 @@
+imported.nix linguist-vendored
diff --git a/pkgs/development/lisp-modules-new/.gitignore b/pkgs/development/lisp-modules-new/.gitignore
new file mode 100644
index 00000000000..7936f6a73a8
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/.gitignore
@@ -0,0 +1,3 @@
+result
+*.sqlite
+*.fasl
diff --git a/pkgs/development/lisp-modules-new/doc/api.md b/pkgs/development/lisp-modules-new/doc/api.md
new file mode 100644
index 00000000000..cc305b52f6e
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/doc/api.md
@@ -0,0 +1,197 @@
+## The API
+
+This page documents the Nix API of nix-cl.
+
+## Overview
+
+The core API functions are `build-asdf-system` and
+`lispWithPackagesInternal`.
+
+They are considered more low-level that the rest of the API, which
+builds on top of them to provide a more convenient interface with sane
+defaults.
+
+The higher-level API provides a lot of pre-configured packages,
+including all of Quicklisp, and consists of the functions:
+
+- `lispPackagesFor`
+- `lispWithPackages`
+
+Finally, there are functions that provide pre-defined Lisps, for
+people who don't need to customize that:
+
+- `abclPackages`, `eclPackages`, `cclPackages`, `claspPackages`, `sbclPackages`
+- `abclWithPackages`, `eclWithPackages`, `cclWithPackages`, `claspWithPackages`, `sbclWithPackages`
+
+The following is an attempt to document all of this.
+
+## Packaging systems - `build-asdf-system`
+
+Packages are declared using `build-asdf-system`. This function takes
+the following arguments and returns a `derivation`.
+
+#### Required arguments
+
+##### `pname`
+Name of the package/library
+
+##### `version`
+Version of the package/library
+
+##### `src`
+Source of the package/library (`fetchzip`, `fetchgit`, `fetchhg` etc.)
+
+##### `lisp`
+This command must load the provided file (`$buildScript`) then exit
+immediately. For example, SBCL's --script flag does just that.
+
+#### Optional arguments
+
+##### `patches ? []`
+
+Patches to apply to the source code before compiling it. This is a
+list of files.
+
+##### `nativeLibs ? []`
+
+Native libraries, will be appended to the library
+path. (`pkgs.openssl` etc.)
+
+##### `javaLibs ? []`
+
+Java libraries for ABCL, will be appended to the class path.
+
+##### `lispLibs ? []`
+
+Lisp dependencies These must themselves be packages built with
+`build-asdf-system`
+
+##### `systems ? [ pname ]`
+
+Some libraries have multiple systems under one project, for example,
+[cffi] has `cffi-grovel`, `cffi-toolchain` etc.  By default, only the
+`pname` system is build.
+
+`.asd's` not listed in `systems` are removed before saving the library
+to the Nix store. This prevents ASDF from referring to uncompiled
+systems on run time.
+
+Also useful when the `pname` is differrent than the system name, such
+as when using [reverse domain naming]. (see `jzon` ->
+`com.inuoe.jzon`)
+
+[cffi]: https://cffi.common-lisp.dev/
+[reverse domain naming]: https://en.wikipedia.org/wiki/Reverse_domain_name_notation
+
+##### `asds ? systems`
+
+The .asd files that this package provides. By default, same as
+`systems`.
+
+#### Return value
+
+A `derivation` that, when built, contains the sources and pre-compiled
+FASL files (Lisp implementation dependent) alongside any other
+artifacts generated during compilation.
+
+#### Example
+
+[bordeaux-threads.nix] contains a simple example of packaging
+`alexandria` and `bordeaux-threads`.
+
+[bordeaux-threads.nix]: /examples/bordeaux-threads.nix
+
+## Building a Lisp with packages: `lispWithPackagesInternal`
+
+Generators of Lisps configured to be able to `asdf:load-system`
+pre-compiled libraries on run-time are built with
+`lispWithPackagesInternal`.
+
+#### Required Arguments
+
+##### `clpkgs`
+
+An attribute set of `derivation`s returned by `build-asdf-system`
+
+#### Return value
+
+`lispWithPackagesInternal` returns a function that takes one argument:
+a function `(lambda (clpkgs) packages)`, that, given a set of
+packages, returns a list of package `derivation`s to be included in
+the closure.
+
+#### Example
+
+The [sbcl-with-bt.nix] example creates a runnable Lisp where the
+`bordeaux-threads` defined in the previous section is precompiled and
+loadable via `asdf:load-system`:
+
+[sbcl-with-bt.nix]: /examples/sbcl-with-bt.nix
+
+## Reusing pre-packaged Lisp libraries: `lispPackagesFor`
+
+`lispPackagesFor` is a higher level version of
+`lispPackagesForInternal`: it only takes one argument - a Lisp command
+to use for compiling packages. It then provides a bunch of ready to
+use packages.
+
+#### Required Arguments
+
+##### `lisp`
+
+The Lisp command to use in calls to `build-asdf-system` while building
+the library-provided Lisp package declarations.
+
+#### Return value
+
+A set of packages built with `build-asdf-system`.
+
+#### Example
+
+The [abcl-package-set.nix] example generates a set of thousands of packages for ABCL.
+
+[abcl-package-set.nix]: /examples/abcl-package-set.nix
+
+## Reusing pre-packaged Lisp libraries, part 2: `lispWithPackages`
+
+This is simply a helper function to avoid having to call
+`lispPackagesFor` if all you want is a Lisp-with-packages wrapper.
+
+#### Required Arguments
+
+##### `lisp`
+
+The Lisp command to pass to `lispPackagesFor` in order for it to
+generate a package set. That set is then passed to
+`lispWithPackagesInternal`.
+
+#### Return value
+
+A Lisp-with-packages function (see sections above).
+
+#### Example
+
+The [abcl-with-packages.nix] example creates an `abclWithPackages` function.
+
+[abcl-with-packages.nix]: /examples/abcl-with-packages.nix
+
+## Using the default Lisp implementations
+
+This is the easiest way to get going with `nix-cl` in general. Choose
+the CL implementation of interest and a set of libraries, and get a
+lisp-with-packages wrapper with those libraries pre-compiled.
+
+#### `abclPackages`, `eclPackages`, `cclPackages`, `claspPackages`, `sbclPackages`
+
+Ready to use package sets.
+
+#### `abclWithPackages`, `eclWithPackages`, `cclWithPackages`, `claspWithPackages`, `sbclWithPackages`
+
+Ready to use wrapper generators.
+
+#### Example
+
+For example, to open a shell with SBCL + hunchentoot + sqlite in PATH:
+```
+nix-shell -p 'with import ./. {}; sbclWithPackages (ps: [ ps.hunchentoot ps.sqlite ])'
+```
diff --git a/pkgs/development/lisp-modules-new/doc/nix-cl.md b/pkgs/development/lisp-modules-new/doc/nix-cl.md
new file mode 100644
index 00000000000..d96ac234ae1
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/doc/nix-cl.md
@@ -0,0 +1,98 @@
+## Use cases
+
+This page lists some possible use cases for nix-cl.
+
+## Pinning down the exact commits of libraries
+
+Sometimes, a bug is fixed upstream but is not yet available in package
+repositories such as Quicklisp or Ultralisp. The users have to wait
+for the repository maintainer to update it, or download and compile
+the patched sources themselves.
+
+This is a manual and hard to reproduce process. By leveraging Nix,
+users of `nix-cl` can essentially "run their own package repository",
+written as Nix code, with all the benefits of that (shareability,
+cacheability, reproducibility, version-controllable etc.)
+
+
+## Modifying libraries with patches
+
+Other times, a bug in a library is not fixed upstream, but you fixed
+it yourself. Or, you would like a change to the internals that the
+maintainers don't like.
+
+Sure, you could fork the code or maintain patches manually, but that
+becomes hard to manage with a lot of patches. It also doesn't have the
+benefits mentioned in the previous section.
+
+`nix-cl` provides a way of applying version-controlled patches to any
+package.
+
+
+## Using libraries not available in repositories
+
+There are useful and working libraries out there, that are nontheless
+unavailable to users of package managers such as Quicklisp or
+Ultralisp. Two real-world examples are [jzon] and [cl-tar].
+
+`nix-cl` is not tied to any particular package source: instead,
+packages are written as a Nix expression, which can be done manually
+or generated/imported.
+
+This frees the user to have any package they want, and not be
+constrained by a central repository.
+
+## Reproducible environments
+
+The usual way to develop a project involves several steps, such as:
+
+1. Installing a Lisp implementation
+2. Installing a package manager
+3. Installing the chosen libraries
+
+This is not necessarily reproducible. It's unlikely to come back a
+year later and develop the project using the exact same versions of
+the dependencies.
+
+Things can break between attempts at different points in time. The
+repository could have updated versions in the meantime. The source
+tarballs could become unreachable.
+
+With `nix-cl` you can have your own binary cache for Lisp libraries
+and not be affected by downtime of other central repositories.
+
+## Testing across CL implementations
+
+One can manually download different Lisp implementations and run tests
+of a package. This works well in most cases, but it is limited in how
+you can tweak the software. Some practical examples are:
+
+- Statically compiling [zlib] into [SBCL]
+- Building SBCL with the `--fancy` flag
+- Compiling [ECL] as a static library
+
+These are usually hard to do manually, unless you have the necessary
+compilers already configured. These combinations are usually not
+available from package managers as well.
+
+With Nix it's easier, because it will set up the build environment
+automatically. It could be useful to, for example:
+
+- Test against all possible compiler flag combinations
+- Libc versions (ECL)
+- JDK versions ([ABCL])
+
+[zlib]: https://zlib.net
+[SBCL]: https://sbcl.org
+[ECL]: https://ecl.common-lisp.dev/
+[Ultralisp]: https://ultralisp.org/
+[jzon]: https://github.com/Zulu-Inuoe/jzon
+[cl-tar]: https://gitlab.common-lisp.net/cl-tar/cl-tar
+[bootstrap tools]: https://github.com/NixOS/nixpkgs/tree/master/pkgs/stdenv/linux/bootstrap-files
+[nixpkgs]: https://github.com/NixOS/nixpkgs
+
+## Windows note
+
+Note that all of this still only applies to Unix systems - primarily because Nix doesn't work on Windows.
+
+If you have an idea how to port some of the functionality to Windows, get in touch.
diff --git a/pkgs/development/lisp-modules-new/doc/quicklisp.md b/pkgs/development/lisp-modules-new/doc/quicklisp.md
new file mode 100644
index 00000000000..964cacec9ba
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/doc/quicklisp.md
@@ -0,0 +1,54 @@
+## Importing package definitions from Quicklisp
+
+This page documents how to import packages from Quicklisp.
+
+## Nix dumper
+
+Run:
+
+```
+$ nix-shell
+$ sbcl --script ql-import.lisp
+```
+
+This command runs a program that dumps a `imported.nix` file
+containing Nix expressions for all packages in Quicklisp. They will be
+automatically picked up by the `lispPackagesFor` and
+`lispWithPackages` API functions.
+
+It also creates a 'packages.sqlite' file. It's used during the
+generation of the 'imported.nix' file and can be safely removed. It
+contains the full information of Quicklisp packages, so you can use it
+to query the dependency graphs using SQL, if you're interested.
+
+## Tarball hashes
+
+The Nix dumper program will re-use hashes from "imported.nix" if it
+detects that it's being run for the first time. This saves a lot of
+bandwidth by not having to download each tarball again.
+
+But when upgrading the Quicklisp release URL, this can take a while
+because it needs to fetch the source code of each new system to
+compute its SHA256 hash. This is because Quicklisp only provides a
+SHA1 , and Nix's `builtins.fetchTarball` requires a SHA256.
+
+Later on, the hashes are cached in `packages.sqlite`, and are reused
+in subsequent invocations. Therefore you might want to keep the
+'packages.sqlite' file around if you'd like to keep hashes of
+historical Quicklisp tarballs, for example for archival purposes.
+
+## Choosing a Quicklisp release
+
+Quicklisp release url's are currently hard-coded and can be changed
+directly in the source code. See the `import` directory.
+
+## Native and Java libraries
+
+At the moment, native and Java libraries need to be added manually to
+imported systems in `ql.nix` on an as-needed basis.
+
+## Dependencies from packages.nix
+
+Also worth noting is that systems imported from Quicklisp will prefer
+packages from `packages.nix` as dependencies, so that custom versions
+can be provided or broken versions replaced.
diff --git a/pkgs/development/lisp-modules-new/doc/quirks.md b/pkgs/development/lisp-modules-new/doc/quirks.md
new file mode 100644
index 00000000000..4e6e383d0a0
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/doc/quirks.md
@@ -0,0 +1,5 @@
+## Quirks
+
+- `+` in names are converted to `_plus{_,}`: `cl+ssl`->`cl_plus_ssl`, `alexandria+`->`alexandria_plus`
+- `.` to `_dot_`: `iolib.base`->`iolib_dot_base`
+- names starting with a number have a `_` prepended (`3d-vectors`->`_3d-vectors`)
diff --git a/pkgs/development/lisp-modules-new/examples/abcl-package-set.nix b/pkgs/development/lisp-modules-new/examples/abcl-package-set.nix
new file mode 100644
index 00000000000..ffb93e6ba1f
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/examples/abcl-package-set.nix
@@ -0,0 +1,24 @@
+# To run this example from a nix repl, run:
+#  $ nix repl
+#  nix-repl> abcl-packages = import ./abcl-package-set.nix
+#  nix-repl> builtins.attrNames abcl-packages
+#  nix-repl> builtins.length (builtins.attrNames abcl-packages)
+#
+# The import returns a package set, which you can use for example to
+# discover what packages are available in lispWithPackages:
+#
+#  nix-repl> abcl-packages.cl-op<TAB>
+#  nix-repl> abcl-packages.cl-opengl
+#  nix-repl> # cool, we can use cl-opengl
+#  nix-repl> # some-abcl-with-packages (p: [ p.cl-opengl ])
+
+
+let
+
+  pkgs = import ../../../../default.nix {};
+
+  abcl = "${pkgs.abcl}/bin/abcl --batch --load";
+
+  abcl-packages = pkgs.lispPackages_new.lispPackagesFor abcl;
+
+in abcl-packages
diff --git a/pkgs/development/lisp-modules-new/examples/abcl-with-packages.nix b/pkgs/development/lisp-modules-new/examples/abcl-with-packages.nix
new file mode 100644
index 00000000000..d93bcbd669a
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/examples/abcl-with-packages.nix
@@ -0,0 +1,23 @@
+# To run this example from a nix repl, run:
+#  $ nix repl
+#  nix-repl> abcl-with-packages = import ./abcl-with-packages.nix
+#  nix-repl> :b abcl-with-packages (p: [ p.cffi ])
+#
+# The import returns a function, which you can call to get access to
+# thousands of libraries, like, cffi. This works in ABCL by closing
+# over the JNA dependency:
+#
+#  nix-repl> awp = abcl-with-packages (p: [ p.cffi ])
+#  nix-repl> awp.CLASSPATH
+#  nix-repl> cffi = builtins.head (awp.lispLibs)
+#  nix-repl> cffi.javaLibs
+
+let
+
+  pkgs = import ../../../../default.nix {};
+
+  abcl = "${pkgs.abcl}/bin/abcl --batch --load";
+
+  abcl-with-packages = pkgs.lispPackages_new.lispWithPackages abcl;
+
+in abcl-with-packages
diff --git a/pkgs/development/lisp-modules-new/examples/bordeaux-threads.nix b/pkgs/development/lisp-modules-new/examples/bordeaux-threads.nix
new file mode 100644
index 00000000000..42afb6d2706
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/examples/bordeaux-threads.nix
@@ -0,0 +1,43 @@
+# To run this example from the command line, run this command:
+#
+# $ nix-build ./bordeaux-threads.nix
+# $ ls ./result/
+#
+# To run from a nix repl, run:
+# $ nix repl
+# nix-repl> bt = import ./bordeaux-threads.nix
+# nix-repl> :b bt
+#
+# In the `result` directory you can find .fasl files of the
+# bordeaux-threads library:
+#
+#  $ ls -l ./result/src/
+
+let
+
+  pkgs = import ../../../../default.nix {};
+
+  sbcl = "${pkgs.sbcl}/bin/sbcl --script";
+
+  alexandria = pkgs.lispPackages_new.build-asdf-system {
+    pname = "alexandria";
+    version = "v1.4";
+    src = pkgs.fetchzip {
+      url = "https://gitlab.common-lisp.net/alexandria/alexandria/-/archive/v1.4/alexandria-v1.4.tar.gz";
+      sha256 = "0r1adhvf98h0104vq14q7y99h0hsa8wqwqw92h7ghrjxmsvz2z6l";
+    };
+    lisp = sbcl;
+  };
+
+  bordeaux-threads = pkgs.lispPackages_new.build-asdf-system {
+    pname = "bordeaux-threads";
+    version = "0.8.8";
+    src = pkgs.fetchzip {
+      url = "http://github.com/sionescu/bordeaux-threads/archive/v0.8.8.tar.gz";
+      sha256 = "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6";
+    };
+    lisp = sbcl;
+    lispLibs = [ alexandria ];
+  };
+
+in bordeaux-threads
diff --git a/pkgs/development/lisp-modules-new/examples/sbcl-with-bt.nix b/pkgs/development/lisp-modules-new/examples/sbcl-with-bt.nix
new file mode 100644
index 00000000000..c817a6838d9
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/examples/sbcl-with-bt.nix
@@ -0,0 +1,31 @@
+# To run this example from the command line, run this command:
+#  $ nix-build ./sbcl-with-bt.nix
+#  $ ls ./result/
+#
+# To run from a nix repl, run:
+#  $ nix repl
+#  nix-repl> sbcl-bt = import ./sbcl-with-bt.nix
+#  nix-repl> :b sbcl-bt
+#
+# In the `result/bin` directory you can find an `sbcl` executable
+# that, when started, is able to load the pre-compiled
+# bordeaux-threads from the Nix store:
+#  $ ./result/bin/sbcl
+#  * (require :asdf)
+#  * (asdf:load-system :bordeaux-threads)
+
+let
+
+  pkgs = import ../../../../default.nix {};
+
+  sbcl = "${pkgs.sbcl}/bin/sbcl --script";
+
+  bordeaux-threads = import ./bordeaux-threads.nix;
+
+  sbclPackages = { inherit bordeaux-threads; };
+
+  sbclWithPackages = pkgs.lispPackages_new.lispWithPackagesInternal sbclPackages;
+
+  sbcl-bt = sbclWithPackages (p: [ p.bordeaux-threads ]);
+
+in sbcl-bt
diff --git a/pkgs/development/lisp-modules-new/import/api.lisp b/pkgs/development/lisp-modules-new/import/api.lisp
new file mode 100644
index 00000000000..ea5f3bcc193
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/import/api.lisp
@@ -0,0 +1,18 @@
+(defpackage org.lispbuilds.nix/api
+  (:documentation "Public interface of org.lispbuilds.nix")
+  (:use :cl)
+  (:export
+   :import-lisp-packages
+   :database->nix-expression))
+
+(in-package org.lispbuilds.nix/api)
+
+(defgeneric import-lisp-packages (repository database)
+  (:documentation
+   "Import Lisp packages (ASDF systems) from repository (Quicklisp,
+   Ultralisp etc.) into a package database."))
+
+(defgeneric database->nix-expression (database outfile)
+  (:documentation
+   "Generate a nix expression from the package database and write it
+   into outfile."))
diff --git a/pkgs/development/lisp-modules-new/import/database/sqlite.lisp b/pkgs/development/lisp-modules-new/import/database/sqlite.lisp
new file mode 100644
index 00000000000..841dec5904f
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/import/database/sqlite.lisp
@@ -0,0 +1,134 @@
+(defpackage org.lispbuilds.nix/database/sqlite
+  (:use :cl)
+  (:import-from :str)
+  (:import-from :sqlite)
+  (:import-from :alexandria :read-file-into-string)
+  (:import-from :arrow-macros :->>)
+  (:import-from
+   :org.lispbuilds.nix/util
+   :replace-regexes)
+  (:import-from
+   :org.lispbuilds.nix/nix
+   :nix-eval
+   :system-master
+   :nixify-symbol
+   :make-pname
+   :*nix-attrs-depth*)
+  (:import-from
+   :org.lispbuilds.nix/api
+   :database->nix-expression)
+  (:export :sqlite-database :init-db)
+  (:local-nicknames
+   (:json :com.inuoe.jzon)))
+
+(in-package org.lispbuilds.nix/database/sqlite)
+
+(defclass sqlite-database ()
+  ((url :initarg :url
+        :reader database-url
+        :initform (error "url required"))
+   (init-file :initarg :init-file
+              :reader init-file
+              :initform (error "init file required"))))
+
+(defun init-db (db init-file)
+  (let ((statements (->> (read-file-into-string init-file)
+                         (replace-regexes '(".*--.*") '(""))
+                         (substitute #\Space #\Newline)
+                         (str:collapse-whitespaces)
+                         (str:split #\;)
+                         (mapcar #'str:trim)
+                         (remove-if #'str:emptyp))))
+    (sqlite:with-transaction db
+      (dolist (s statements)
+        (sqlite:execute-non-query db s)))))
+
+
+;; Writing Nix
+
+(defparameter prelude "
+# This file was auto-generated by nix-quicklisp.lisp
+
+{ runCommand, fetchzip, pkgs, ... }:
+
+# Ensures that every non-slashy `system` exists in a unique .asd file.
+# (Think cl-async-base being declared in cl-async.asd upstream)
+#
+# This is required because we're building and loading a system called
+# `system`, not `asd`, so otherwise `system` would not be loadable
+# without building and loading `asd` first.
+#
+let createAsd = { url, sha256, asd, system }:
+   let
+     src = fetchzip { inherit url sha256; };
+   in runCommand \"source\" {} ''
+      mkdir -pv $out
+      cp -r ${src}/* $out
+      find $out -name \"${asd}.asd\" | while read f; do mv -fv $f $(dirname $f)/${system}.asd || true; done
+  '';
+
+getAttr = builtins.getAttr;
+
+in {")
+
+(defmethod database->nix-expression ((database sqlite-database) outfile)
+  (sqlite:with-open-database (db (database-url database))
+    (with-open-file (f outfile
+                       :direction :output
+                       :if-exists :supersede)
+
+      ;; Fix known problematic packages before dumping the nix file.
+      (sqlite:execute-non-query db
+       "create temp table fixed_systems as select * from system_view")
+
+      (sqlite:execute-non-query db
+       "alter table fixed_systems add column systems")
+
+      (sqlite:execute-non-query db
+       "update fixed_systems set systems = json_array(name)")
+
+      (sqlite:execute-non-query db
+       "alter table fixed_systems add column asds")
+
+      (sqlite:execute-non-query db
+       "update fixed_systems set asds = json_array(name)")
+
+      (format f prelude)
+
+      (dolist (p (sqlite:execute-to-list db "select * from fixed_systems"))
+        (destructuring-bind (name version asd url sha256 deps systems asds) p
+          (format f "~%  ")
+          (let ((*nix-attrs-depth* 1))
+            (format
+             f
+             "~a = ~a;"
+             (nix-eval `(:symbol ,name))
+             (nix-eval
+              `(:attrs
+                ("pname" (:string ,(make-pname name)))
+                ("version" (:string ,version))
+                ("asds" (:list
+                         ,@(mapcar (lambda (asd)
+                                     `(:string ,(system-master asd)))
+                                   (coerce (json:parse asds) 'list))))
+                ("src" (:funcall
+                        "createAsd"
+                        (:attrs
+                         ("url" (:string ,url))
+                         ("sha256" (:string ,sha256))
+                         ("system" (:string ,(system-master name)))
+                         ("asd" (:string ,asd)))))
+                ("systems" (:list
+                            ,@(mapcar (lambda (sys)
+                                        `(:string ,sys))
+                                      (coerce (json:parse systems) 'list))))
+                ("lispLibs" (:list
+                             ,@(mapcar (lambda (dep)
+                                         `(:funcall
+                                           "getAttr"
+                                           (:string ,(nixify-symbol dep))
+                                           (:symbol "pkgs")))
+                                       (remove "asdf"
+                                               (str:split-omit-nulls #\, deps)
+                                               :test #'string=))))))))))
+      (format f "~%}~%"))))
diff --git a/pkgs/development/lisp-modules-new/import/init.sql b/pkgs/development/lisp-modules-new/import/init.sql
new file mode 100644
index 00000000000..872d51d598f
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/import/init.sql
@@ -0,0 +1,41 @@
+CREATE TABLE IF NOT EXISTS sha256 (
+       id        integer PRIMARY KEY AUTOINCREMENT,
+       url       text    UNIQUE,
+       hash      text    NOT NULL,
+       created   real    DEFAULT (julianday('now'))
+);
+
+CREATE TABLE IF NOT EXISTS system (
+       id        integer PRIMARY KEY AUTOINCREMENT,
+       name      text NOT NULL,
+       version   text NOT NULL,
+       asd       text NOT NULL,
+       created   real    DEFAULT (julianday('now')),
+       UNIQUE(name, version)
+);
+
+CREATE TABLE IF NOT EXISTS dep (
+       system_id integer NOT NULL REFERENCES system(id),
+       dep_id    integer NOT NULL REFERENCES system(id),
+       PRIMARY KEY (system_id, dep_id)
+);
+
+CREATE TABLE IF NOT EXISTS src (
+       sha256_id integer REFERENCES sha256(id),
+       system_id integer UNIQUE REFERENCES system(id)
+);
+
+DROP VIEW IF EXISTS system_view;
+CREATE VIEW IF NOT EXISTS system_view AS
+  SELECT
+    sys.name,
+    sys.version,
+    sys.asd,
+    sha.url,
+    sha.hash,
+    group_concat((SELECT name FROM system WHERE id = dep.dep_id)) as deps
+  FROM system sys
+  JOIN src ON src.system_id = sys.id
+  JOIN sha256 sha ON sha.id = src.sha256_id
+  LEFT JOIN dep ON dep.system_id = sys.id
+  GROUP BY sys.name;
diff --git a/pkgs/development/lisp-modules-new/import/main.lisp b/pkgs/development/lisp-modules-new/import/main.lisp
new file mode 100644
index 00000000000..eadbe68fc14
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/import/main.lisp
@@ -0,0 +1,40 @@
+(defpackage org.lispbuilds.nix/main
+  (:use :common-lisp
+        :org.lispbuilds.nix/database/sqlite
+        :org.lispbuilds.nix/repository/quicklisp
+        :org.lispbuilds.nix/api))
+
+(in-package org.lispbuilds.nix/main)
+
+(defun resource (name type)
+  (make-pathname
+   :defaults (asdf:system-source-directory :org.lispbuilds.nix)
+   :name name
+   :type type))
+
+(defvar *sqlite*
+  (make-instance
+   'sqlite-database
+   :init-file (resource "init" "sql")
+   :url "packages.sqlite"))
+
+(defvar *quicklisp*
+  (make-instance
+   'quicklisp-repository
+   :dist-url
+   "https://beta.quicklisp.org/dist/quicklisp/2021-12-30/"))
+
+(defun run-importers ()
+  (import-lisp-packages *quicklisp* *sqlite*)
+  (format t "Imported packages from quicklisp to ~A~%"
+          (truename "packages.sqlite")))
+
+(defun gen-nix-file ()
+  (database->nix-expression *sqlite* "imported.nix")
+  (format t "Dumped nix file to ~a~%"
+          (truename "imported.nix")))
+
+(defun main ()
+  (format t "~%")
+  (run-importers)
+  (gen-nix-file))
diff --git a/pkgs/development/lisp-modules-new/import/nix.lisp b/pkgs/development/lisp-modules-new/import/nix.lisp
new file mode 100644
index 00000000000..c6de5a4c993
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/import/nix.lisp
@@ -0,0 +1,81 @@
+(defpackage org.lispbuilds.nix/nix
+  (:documentation "Utilities for generating Nix code")
+  (:use :cl)
+  (:import-from :str)
+  (:import-from :ppcre)
+  (:import-from :arrow-macros :->>)
+  (:import-from :org.lispbuilds.nix/util :replace-regexes)
+  (:export
+   :nix-eval
+   :system-master
+   :nixify-symbol
+   :make-pname
+   :*nix-attrs-depth*))
+
+(in-package org.lispbuilds.nix/nix)
+
+;; Path names are alphanumeric and can include the symbols +-._?= and
+;; must not begin with a period.
+(defun make-pname (string)
+  (replace-regexes '("^[.]" "[^a-zA-Z0-9+-._?=]")
+                   '("_" "_")
+                   string))
+
+(defun system-master (system)
+  (first (str:split "/" system)))
+
+;;;; Nix generation
+
+(defun nix-eval (exp)
+  (assert (consp exp))
+  (ecase (car exp)
+    (:string (nix-string (cadr exp)))
+    (:list (apply #'nix-list (rest exp)))
+    (:funcall (apply #'nix-funcall (rest exp)))
+    (:attrs (nix-attrs (cdr exp)))
+    (:merge (apply #'nix-merge (cdr exp)))
+    (:symbol (nix-symbol (cadr exp)))))
+
+(defun nix-string (object)
+  (format nil "\"~a\"" object))
+
+(defun nixify-symbol (string)
+  (flet ((fix-special-chars (str)
+           (replace-regexes '("[+]$" "[+][/]" "[+]" "[.]" "[/]")
+                            '("_plus" "_plus/" "_plus_" "_dot_" "_slash_")
+                            str)))
+    (if (ppcre:scan "^[0-9]" string)
+        (str:concat "_" (fix-special-chars string))
+        (fix-special-chars string))))
+
+
+(defun nix-symbol (object)
+  (nixify-symbol (format nil "~a" object)))
+
+(defun nix-list (&rest things)
+  (format nil "[ ~{~A~^ ~} ]" (mapcar 'nix-eval things)))
+(defvar *nix-attrs-depth* 0)
+
+(defun nix-attrs (keyvals)
+  (let ((*nix-attrs-depth* (1+ *nix-attrs-depth*)))
+    (format
+     nil
+     (->> "{~%*depth*~{~{~A = ~A;~}~^~%*depth*~}~%*depth-1*}"
+          (str:replace-all "*depth*" (str:repeat *nix-attrs-depth* "  "))
+          (str:replace-all "*depth-1*" (str:repeat (1- *nix-attrs-depth*) "  ")))
+     (mapcar (lambda (keyval)
+               (let ((key (car keyval))
+                     (val (cadr keyval)))
+                 (list (nix-symbol key)
+                       (nix-eval val))))
+             keyvals))))
+
+(defun nix-funcall (fun &rest args)
+  (format nil "(~a ~{~a~^ ~})"
+          (nixify-symbol fun)
+          (mapcar 'nix-eval args)))
+
+(defun nix-merge (a b)
+  (format nil "(~a // ~b)"
+          (nix-eval a)
+          (nix-eval b)))
diff --git a/pkgs/development/lisp-modules-new/import/org.lispbuilds.nix.asd b/pkgs/development/lisp-modules-new/import/org.lispbuilds.nix.asd
new file mode 100644
index 00000000000..1a67452312d
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/import/org.lispbuilds.nix.asd
@@ -0,0 +1,24 @@
+(defsystem org.lispbuilds.nix
+  :class :package-inferred-system
+  :description "Utilities for importing ASDF systems into Nix"
+  :depends-on (
+               :alexandria
+               :str
+               :cl-ppcre
+               :sqlite
+               :dexador
+               :arrow-macros
+               :com.inuoe.jzon
+               :org.lispbuilds.nix/api
+               :org.lispbuilds.nix/repository/quicklisp
+               :org.lispbuilds.nix/database/sqlite
+               ))
+
+
+(register-system-packages
+ "cl-ppcre"
+ '(:ppcre))
+
+(register-system-packages
+ "dexador"
+ '(:dex))
diff --git a/pkgs/development/lisp-modules-new/import/repository/quicklisp.lisp b/pkgs/development/lisp-modules-new/import/repository/quicklisp.lisp
new file mode 100644
index 00000000000..3a45e06c3aa
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/import/repository/quicklisp.lisp
@@ -0,0 +1,199 @@
+(defpackage org.lispbuilds.nix/repository/quicklisp
+  (:use :cl)
+  (:import-from :dex)
+  (:import-from :alexandria :read-file-into-string :ensure-list)
+  (:import-from :arrow-macros :->>)
+  (:import-from :str)
+  (:import-from
+   :org.lispbuilds.nix/database/sqlite
+   :sqlite-database
+   :init-db
+   :database-url
+   :init-file)
+  (:import-from
+   :org.lispbuilds.nix/api
+   :import-lisp-packages)
+  (:import-from
+   :org.lispbuilds.nix/util
+   :replace-regexes)
+  (:export :quicklisp-repository)
+  (:local-nicknames
+   (:json :com.inuoe.jzon)))
+
+(in-package org.lispbuilds.nix/repository/quicklisp)
+
+(defclass quicklisp-repository ()
+  ((dist-url :initarg :dist-url
+             :reader dist-url
+             :initform (error "dist url required"))))
+
+(defun clear-line ()
+  (write-char #\Return *error-output*)
+  (write-char #\Escape *error-output*)
+  (write-char #\[ *error-output*)
+  (write-char #\K *error-output*))
+
+(defun status (&rest format-args)
+  (clear-line)
+  (apply #'format (list* *error-output* format-args))
+  (force-output *error-output*))
+
+;; TODO: This should not know about the imported.nix file.
+(defun init-tarball-hashes (database)
+  (status "no packages.sqlite - will pre-fill tarball hashes from ~A to save time~%"
+          (truename "imported.nix"))
+  (let* ((lines (uiop:read-file-lines "imported.nix"))
+         (lines (remove-if-not
+                  (lambda (line)
+                    (let ((trimmed (str:trim-left line)))
+                      (or (str:starts-with-p "url = " trimmed)
+                          (str:starts-with-p "sha256 = " trimmed))))
+                  lines))
+         (lines (mapcar
+                 (lambda (line)
+                   (multiple-value-bind (whole groups)
+                       (ppcre:scan-to-strings "\"\(.*\)\"" line)
+                     (declare (ignore whole))
+                     (svref groups 0)))
+                 lines)))
+    (sqlite:with-open-database (db (database-url database))
+      (init-db db (init-file database))
+      (sqlite:with-transaction db
+        (loop while lines do
+          (sqlite:execute-non-query db
+            "insert or ignore into sha256(url,hash) values (?,?)"
+            (prog1 (first lines) (setf lines (rest lines)))
+            (prog1 (first lines) (setf lines (rest lines))))))
+      (status "OK, imported ~A hashes into DB.~%"
+              (sqlite:execute-single db
+                 "select count(*) from sha256")))))
+
+(defmethod import-lisp-packages ((repository quicklisp-repository)
+                                 (database sqlite-database))
+
+  ;; If packages.sqlite is missing, we should populate the sha256
+  ;; table to speed things up.
+  (unless (probe-file (database-url database))
+    (init-tarball-hashes database))
+
+  (let* ((db (sqlite:connect (database-url database)))
+         (systems-url (str:concat (dist-url repository) "systems.txt"))
+         (releases-url (str:concat (dist-url repository) "releases.txt"))
+         (systems-lines (rest (butlast (str:split #\Newline (dex:get systems-url)))))
+         (releases-lines (rest (butlast (str:split #\Newline (dex:get releases-url))))))
+
+    (flet ((sql-query (sql &rest params)
+             (apply #'sqlite:execute-to-list (list* db sql params))))
+
+      ;; Ensure database schema
+      (init-db db (init-file database))
+
+      ;; Prepare temporary tables for efficient access
+      (sql-query "create temp table if not exists quicklisp_system
+                  (project, asd, name unique, deps)")
+
+      (sql-query "create temp table if not exists quicklisp_release
+                  (project unique, url, size, md5, sha1, prefix not null, asds)")
+
+      (sqlite:with-transaction db
+        (dolist (line systems-lines)
+          (destructuring-bind (project asd name &rest deps)
+              (str:words line)
+            (sql-query
+             "insert or ignore into quicklisp_system values(?,?,?,?)"
+             project asd name (json:stringify (coerce deps 'vector))))))
+
+      (sqlite:with-transaction db
+        (dolist (line releases-lines)
+          (destructuring-bind (project url size md5 sha1 prefix &rest asds)
+              (str:words line)
+            (sql-query
+             "insert or ignore into quicklisp_release values(?,?,?,?,?,?,?)"
+             project url size md5 sha1 prefix (json:stringify (coerce
+                                                               asds
+                                                               'vector))))))
+
+      (sqlite:with-transaction db
+        ;; Should these be temp tables, that then get queried by
+        ;; system name? This looks like it uses a lot of memory.
+        (let ((systems
+                (sql-query
+                 "with pkg as (
+                    select
+                      name, asd, url, deps,
+                      ltrim(replace(prefix, r.project, ''), '-_') as version
+                    from quicklisp_system s, quicklisp_release r
+                    where s.project = r.project
+                  )
+                  select
+                    name, version, asd, url,
+                    (select json_group_array(
+                       json_array(value, (select version from pkg where name=value))
+                     )
+                     from json_each(deps)) as deps
+                  from pkg"
+                 )))
+
+          ;; First pass: insert system and source tarball informaton.
+          ;; Can't insert dependency information, because this works
+          ;; on system ids in the database and they don't exist
+          ;; yet. Could it be better to just base dependencies on
+          ;; names? But then ACID is lost.
+          (dolist (system systems)
+            (destructuring-bind (name version asd url deps) system
+              (declare (ignore deps))
+              (status "importing system '~a-~a'" name version)
+              (let ((hash (nix-prefetch-tarball url db)))
+                (sql-query
+                 "insert or ignore into system(name,version,asd) values (?,?,?)"
+                 name version asd)
+                (sql-query
+                 "insert or ignore into sha256(url,hash) values (?,?)"
+                 url hash)
+                (sql-query
+                 "insert or ignore into src values
+                  ((select id from sha256 where url=?),
+                   (select id from system where name=? and version=?))"
+                 url name version))))
+
+          ;; Second pass: connect the in-database systems with
+          ;; dependency information
+          (dolist (system systems)
+            (destructuring-bind (name version asd url deps) system
+              (declare (ignore asd url))
+              (dolist (dep (coerce (json:parse deps) 'list))
+                (destructuring-bind (dep-name dep-version) (coerce dep 'list)
+                  (if (eql dep-version 'NULL)
+                    (warn "Bad data in Quicklisp: ~a has no version" dep-name)
+                  (sql-query
+                    "insert or ignore into dep values
+                     ((select id from system where name=? and version=?),
+                      (select id from system where name=? and version=?))"
+                    name version
+                    dep-name dep-version))))))))))
+
+  (write-char #\Newline *error-output*))
+
+(defun shell-command-to-string (cmd)
+  ;; Clearing the library path is needed to prevent a bug, where the
+  ;; called subprocess uses a different glibc than the SBCL process
+  ;; is. In that case, the call to execve attempts to load the
+  ;; libraries used by SBCL from LD_LIBRARY_PATH using a different
+  ;; glibc than they expect, which errors out.
+  (let ((ld-library-path  (uiop:getenv "LD_LIBRARY_PATH")))
+    (setf (uiop:getenv "LD_LIBRARY_PATH") "")
+    (unwind-protect
+         (uiop:run-program cmd :output '(:string :stripped t))
+      (setf (uiop:getenv "LD_LIBRARY_PATH") ld-library-path))))
+
+(defun nix-prefetch-tarball (url db)
+  (restart-case
+      (compute-sha256 url db)
+    (try-again ()
+      :report "Try downloading again"
+      (nix-prefetch-tarball url db))))
+
+(defun compute-sha256 (url db)
+  (or (sqlite:execute-single db "select hash from sha256 where url=?" url)
+      (let ((sha256 (shell-command-to-string (str:concat "nix-prefetch-url --unpack " url))))
+        sha256)))
diff --git a/pkgs/development/lisp-modules-new/import/util.lisp b/pkgs/development/lisp-modules-new/import/util.lisp
new file mode 100644
index 00000000000..043276305e0
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/import/util.lisp
@@ -0,0 +1,16 @@
+(defpackage org.lispbuilds.nix/util
+  (:use :cl)
+  (:import-from :ppcre)
+  (:export
+   :replace-regexes))
+
+(in-package org.lispbuilds.nix/util)
+
+(defun replace-regexes (from to str)
+  (assert (= (length from) (length to)))
+  (if (null from)
+      str
+      (replace-regexes
+       (rest from)
+       (rest to)
+       (ppcre:regex-replace-all (first from) str (first to)))))
diff --git a/pkgs/development/lisp-modules-new/imported.nix b/pkgs/development/lisp-modules-new/imported.nix
new file mode 100644
index 00000000000..e740add2b1e
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/imported.nix
@@ -0,0 +1,65675 @@
+
+# This file was auto-generated by nix-quicklisp.lisp
+
+{ runCommand, fetchzip, pkgs, ... }:
+
+# Ensures that every non-slashy `system` exists in a unique .asd file.
+# (Think cl-async-base being declared in cl-async.asd upstream)
+#
+# This is required because we're building and loading a system called
+# `system`, not `asd`, so otherwise `system` would not be loadable
+# without building and loading `asd` first.
+#
+let createAsd = { url, sha256, asd, system }:
+   let
+     src = fetchzip { inherit url sha256; };
+   in runCommand "source" {} ''
+      mkdir -pv $out
+      cp -r ${src}/* $out
+      find $out -name "${asd}.asd" | while read f; do mv -fv $f $(dirname $f)/${system}.asd || true; done
+  '';
+
+getAttr = builtins.getAttr;
+
+in {
+  _1am = {
+    pname = "1am";
+    version = "20141106-git";
+    asds = [ "1am" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/1am/2014-11-06/1am-20141106-git.tgz";
+      sha256 = "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g";
+      system = "1am";
+      asd = "1am";
+    });
+    systems = [ "1am" ];
+    lispLibs = [  ];
+  };
+  _2d-array = {
+    pname = "2d-array";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "2d-array" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "2d-array";
+      asd = "2d-array";
+    });
+    systems = [ "2d-array" ];
+    lispLibs = [  ];
+  };
+  _2d-array-test = {
+    pname = "2d-array-test";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "2d-array-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "2d-array-test";
+      asd = "2d-array-test";
+    });
+    systems = [ "2d-array-test" ];
+    lispLibs = [ (getAttr "_2d-array" pkgs) (getAttr "scrutiny" pkgs) ];
+  };
+  _3b-bmfont = {
+    pname = "3b-bmfont";
+    version = "20200427-git";
+    asds = [ "3b-bmfont" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3b-bmfont/2020-04-27/3b-bmfont-20200427-git.tgz";
+      sha256 = "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc";
+      system = "3b-bmfont";
+      asd = "3b-bmfont";
+    });
+    systems = [ "3b-bmfont" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  _3b-bmfont_slash_common = {
+    pname = "3b-bmfont_common";
+    version = "20200427-git";
+    asds = [ "3b-bmfont" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3b-bmfont/2020-04-27/3b-bmfont-20200427-git.tgz";
+      sha256 = "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc";
+      system = "3b-bmfont";
+      asd = "3b-bmfont";
+    });
+    systems = [ "3b-bmfont/common" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  _3b-bmfont_slash_json = {
+    pname = "3b-bmfont_json";
+    version = "20200427-git";
+    asds = [ "3b-bmfont" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3b-bmfont/2020-04-27/3b-bmfont-20200427-git.tgz";
+      sha256 = "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc";
+      system = "3b-bmfont";
+      asd = "3b-bmfont";
+    });
+    systems = [ "3b-bmfont/json" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "jsown" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  _3b-bmfont_slash_text = {
+    pname = "3b-bmfont_text";
+    version = "20200427-git";
+    asds = [ "3b-bmfont" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3b-bmfont/2020-04-27/3b-bmfont-20200427-git.tgz";
+      sha256 = "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc";
+      system = "3b-bmfont";
+      asd = "3b-bmfont";
+    });
+    systems = [ "3b-bmfont/text" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  _3b-bmfont_slash_xml = {
+    pname = "3b-bmfont_xml";
+    version = "20200427-git";
+    asds = [ "3b-bmfont" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3b-bmfont/2020-04-27/3b-bmfont-20200427-git.tgz";
+      sha256 = "12sgf7m0h6fqzhvkas7vmci6mprj3j3fnz778jlbqbsydln6v2yc";
+      system = "3b-bmfont";
+      asd = "3b-bmfont";
+    });
+    systems = [ "3b-bmfont/xml" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cxml" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  _3b-hdr = {
+    pname = "3b-hdr";
+    version = "20200925-git";
+    asds = [ "3b-hdr" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3b-hdr/2020-09-25/3b-hdr-20200925-git.tgz";
+      sha256 = "0bvpdzz88xjwvqapjnkdr44ds3gh5xl3r6r1c2y7x9d6lnvc38jq";
+      system = "3b-hdr";
+      asd = "3b-hdr";
+    });
+    systems = [ "3b-hdr" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "parse-number" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  _3b-hdr_slash_test = {
+    pname = "3b-hdr_test";
+    version = "20200925-git";
+    asds = [ "3b-hdr" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3b-hdr/2020-09-25/3b-hdr-20200925-git.tgz";
+      sha256 = "0bvpdzz88xjwvqapjnkdr44ds3gh5xl3r6r1c2y7x9d6lnvc38jq";
+      system = "3b-hdr";
+      asd = "3b-hdr";
+    });
+    systems = [ "3b-hdr/test" ];
+    lispLibs = [ (getAttr "_3b-hdr" pkgs) (getAttr "nibbles" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  _3b-swf = {
+    pname = "3b-swf";
+    version = "20120107-git";
+    asds = [ "3b-swf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3b-swf/2012-01-07/3b-swf-20120107-git.tgz";
+      sha256 = "1d74045b6zfxjf0as8n5ji14j5cxsdi3qkqkzcdy3i83whbxkcbm";
+      system = "3b-swf";
+      asd = "3b-swf";
+    });
+    systems = [ "3b-swf" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "chipz" pkgs) (getAttr "cl-jpeg" pkgs) (getAttr "cxml" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "salza2" pkgs) (getAttr "vecto" pkgs) (getAttr "zpng" pkgs) ];
+  };
+  _3b-swf-swc = {
+    pname = "3b-swf-swc";
+    version = "20120107-git";
+    asds = [ "3b-swf-swc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3b-swf/2012-01-07/3b-swf-20120107-git.tgz";
+      sha256 = "1d74045b6zfxjf0as8n5ji14j5cxsdi3qkqkzcdy3i83whbxkcbm";
+      system = "3b-swf-swc";
+      asd = "3b-swf-swc";
+    });
+    systems = [ "3b-swf-swc" ];
+    lispLibs = [ (getAttr "_3b-swf" pkgs) (getAttr "cxml" pkgs) (getAttr "zip" pkgs) ];
+  };
+  _3bgl-shader = {
+    pname = "3bgl-shader";
+    version = "20200427-git";
+    asds = [ "3bgl-shader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3bgl-shader/2020-04-27/3bgl-shader-20200427-git.tgz";
+      sha256 = "0ykfylmmpcc1kh617c4zbq26r5nf1kgf7cb426fnffhp31pp2xkw";
+      system = "3bgl-shader";
+      asd = "3bgl-shader";
+    });
+    systems = [ "3bgl-shader" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-opengl" pkgs) ];
+  };
+  _3bgl-shader-example = {
+    pname = "3bgl-shader-example";
+    version = "20200427-git";
+    asds = [ "3bgl-shader-example" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3bgl-shader/2020-04-27/3bgl-shader-20200427-git.tgz";
+      sha256 = "0ykfylmmpcc1kh617c4zbq26r5nf1kgf7cb426fnffhp31pp2xkw";
+      system = "3bgl-shader-example";
+      asd = "3bgl-shader-example";
+    });
+    systems = [ "3bgl-shader-example" ];
+    lispLibs = [ (getAttr "_3bgl-shader" pkgs) (getAttr "cl-glu" pkgs) (getAttr "cl-glut" pkgs) (getAttr "mathkit" pkgs) ];
+  };
+  _3bmd = {
+    pname = "3bmd";
+    version = "20210411-git";
+    asds = [ "3bmd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3bmd/2021-04-11/3bmd-20210411-git.tgz";
+      sha256 = "1j885ykg2yds0l7dmw21lrhs7pd66lf541pf9lb677nkhc2f62jz";
+      system = "3bmd";
+      asd = "3bmd";
+    });
+    systems = [ "3bmd" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "esrap" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  _3bmd-ext-code-blocks = {
+    pname = "3bmd-ext-code-blocks";
+    version = "20210411-git";
+    asds = [ "3bmd-ext-code-blocks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3bmd/2021-04-11/3bmd-20210411-git.tgz";
+      sha256 = "1j885ykg2yds0l7dmw21lrhs7pd66lf541pf9lb677nkhc2f62jz";
+      system = "3bmd-ext-code-blocks";
+      asd = "3bmd-ext-code-blocks";
+    });
+    systems = [ "3bmd-ext-code-blocks" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "alexandria" pkgs) (getAttr "colorize" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  _3bmd-ext-definition-lists = {
+    pname = "3bmd-ext-definition-lists";
+    version = "20210411-git";
+    asds = [ "3bmd-ext-definition-lists" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3bmd/2021-04-11/3bmd-20210411-git.tgz";
+      sha256 = "1j885ykg2yds0l7dmw21lrhs7pd66lf541pf9lb677nkhc2f62jz";
+      system = "3bmd-ext-definition-lists";
+      asd = "3bmd-ext-definition-lists";
+    });
+    systems = [ "3bmd-ext-definition-lists" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "alexandria" pkgs) (getAttr "colorize" pkgs) ];
+  };
+  _3bmd-ext-math = {
+    pname = "3bmd-ext-math";
+    version = "20210411-git";
+    asds = [ "3bmd-ext-math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3bmd/2021-04-11/3bmd-20210411-git.tgz";
+      sha256 = "1j885ykg2yds0l7dmw21lrhs7pd66lf541pf9lb677nkhc2f62jz";
+      system = "3bmd-ext-math";
+      asd = "3bmd-ext-math";
+    });
+    systems = [ "3bmd-ext-math" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "esrap" pkgs) ];
+  };
+  _3bmd-ext-tables = {
+    pname = "3bmd-ext-tables";
+    version = "20210411-git";
+    asds = [ "3bmd-ext-tables" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3bmd/2021-04-11/3bmd-20210411-git.tgz";
+      sha256 = "1j885ykg2yds0l7dmw21lrhs7pd66lf541pf9lb677nkhc2f62jz";
+      system = "3bmd-ext-tables";
+      asd = "3bmd-ext-tables";
+    });
+    systems = [ "3bmd-ext-tables" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) ];
+  };
+  _3bmd-ext-wiki-links = {
+    pname = "3bmd-ext-wiki-links";
+    version = "20210411-git";
+    asds = [ "3bmd-ext-wiki-links" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3bmd/2021-04-11/3bmd-20210411-git.tgz";
+      sha256 = "1j885ykg2yds0l7dmw21lrhs7pd66lf541pf9lb677nkhc2f62jz";
+      system = "3bmd-ext-wiki-links";
+      asd = "3bmd-ext-wiki-links";
+    });
+    systems = [ "3bmd-ext-wiki-links" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) ];
+  };
+  _3bmd-youtube = {
+    pname = "3bmd-youtube";
+    version = "20210411-git";
+    asds = [ "3bmd-youtube" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3bmd/2021-04-11/3bmd-20210411-git.tgz";
+      sha256 = "1j885ykg2yds0l7dmw21lrhs7pd66lf541pf9lb677nkhc2f62jz";
+      system = "3bmd-youtube";
+      asd = "3bmd-youtube";
+    });
+    systems = [ "3bmd-youtube" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "esrap" pkgs) ];
+  };
+  _3bmd-youtube-tests = {
+    pname = "3bmd-youtube-tests";
+    version = "20210411-git";
+    asds = [ "3bmd-youtube-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3bmd/2021-04-11/3bmd-20210411-git.tgz";
+      sha256 = "1j885ykg2yds0l7dmw21lrhs7pd66lf541pf9lb677nkhc2f62jz";
+      system = "3bmd-youtube-tests";
+      asd = "3bmd-youtube-tests";
+    });
+    systems = [ "3bmd-youtube-tests" ];
+    lispLibs = [ (getAttr "_3bmd-youtube" pkgs) (getAttr "fiasco" pkgs) ];
+  };
+  _3bz = {
+    pname = "3bz";
+    version = "20201220-git";
+    asds = [ "3bz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3bz/2020-12-20/3bz-20201220-git.tgz";
+      sha256 = "0kvvlvf50jhhw1s510f3clpr1a68632bq6d698yxcrx722igcrg4";
+      system = "3bz";
+      asd = "3bz";
+    });
+    systems = [ "3bz" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cffi" pkgs) (getAttr "mmap" pkgs) (getAttr "nibbles" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  _3d-matrices = {
+    pname = "3d-matrices";
+    version = "20211020-git";
+    asds = [ "3d-matrices" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3d-matrices/2021-10-20/3d-matrices-20211020-git.tgz";
+      sha256 = "0y16aiv6hijqkirrzwhg7y3m5f537nrpkmp21dxdazzhgfx8883x";
+      system = "3d-matrices";
+      asd = "3d-matrices";
+    });
+    systems = [ "3d-matrices" ];
+    lispLibs = [ (getAttr "_3d-vectors" pkgs) (getAttr "documentation-utils" pkgs) ];
+  };
+  _3d-matrices-test = {
+    pname = "3d-matrices-test";
+    version = "20211020-git";
+    asds = [ "3d-matrices-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3d-matrices/2021-10-20/3d-matrices-20211020-git.tgz";
+      sha256 = "0y16aiv6hijqkirrzwhg7y3m5f537nrpkmp21dxdazzhgfx8883x";
+      system = "3d-matrices-test";
+      asd = "3d-matrices-test";
+    });
+    systems = [ "3d-matrices-test" ];
+    lispLibs = [ (getAttr "_3d-matrices" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  _3d-vectors = {
+    pname = "3d-vectors";
+    version = "20210807-git";
+    asds = [ "3d-vectors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3d-vectors/2021-08-07/3d-vectors-20210807-git.tgz";
+      sha256 = "02qs7mab1q8g5xnfsdd4pb48y7gdclk6ic3h0wb4h2rp58v4da9i";
+      system = "3d-vectors";
+      asd = "3d-vectors";
+    });
+    systems = [ "3d-vectors" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  _3d-vectors-test = {
+    pname = "3d-vectors-test";
+    version = "20210807-git";
+    asds = [ "3d-vectors-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/3d-vectors/2021-08-07/3d-vectors-20210807-git.tgz";
+      sha256 = "02qs7mab1q8g5xnfsdd4pb48y7gdclk6ic3h0wb4h2rp58v4da9i";
+      system = "3d-vectors-test";
+      asd = "3d-vectors-test";
+    });
+    systems = [ "3d-vectors-test" ];
+    lispLibs = [ (getAttr "_3d-vectors" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  _40ants-doc = {
+    pname = "40ants-doc";
+    version = "20211230-git";
+    asds = [ "40ants-doc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/doc/2021-12-30/doc-20211230-git.tgz";
+      sha256 = "1nl7l1ywnqrwv6qdp4y4s8x0r90v3z10qy4bxs1rinxsi6hvxvf2";
+      system = "40ants-doc";
+      asd = "40ants-doc";
+    });
+    systems = [ "40ants-doc" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) (getAttr "pythonic-string-reader" pkgs) ];
+  };
+  _40ants-doc-full = {
+    pname = "40ants-doc-full";
+    version = "20211230-git";
+    asds = [ "40ants-doc-full" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/doc/2021-12-30/doc-20211230-git.tgz";
+      sha256 = "1nl7l1ywnqrwv6qdp4y4s8x0r90v3z10qy4bxs1rinxsi6hvxvf2";
+      system = "40ants-doc-full";
+      asd = "40ants-doc-full";
+    });
+    systems = [ "40ants-doc-full" ];
+    lispLibs = [  ];
+  };
+  _40ants-doc-test = {
+    pname = "40ants-doc-test";
+    version = "20211230-git";
+    asds = [ "40ants-doc-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/doc/2021-12-30/doc-20211230-git.tgz";
+      sha256 = "1nl7l1ywnqrwv6qdp4y4s8x0r90v3z10qy4bxs1rinxsi6hvxvf2";
+      system = "40ants-doc-test";
+      asd = "40ants-doc-test";
+    });
+    systems = [ "40ants-doc-test" ];
+    lispLibs = [ (getAttr "common-doc" pkgs) (getAttr "_40ants-doc" pkgs) (getAttr "rove" pkgs) ];
+  };
+  a-cl-cairo2-loader = {
+    pname = "a-cl-cairo2-loader";
+    version = "20211020-git";
+    asds = [ "a-cl-cairo2-loader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cairo2/2021-10-20/cl-cairo2-20211020-git.tgz";
+      sha256 = "0cpfgyxw6pz7y033dlya8c4vjmkpw127zdq3a9xclp9q8jbdlb7q";
+      system = "a-cl-cairo2-loader";
+      asd = "a-cl-cairo2-loader";
+    });
+    systems = [ "a-cl-cairo2-loader" ];
+    lispLibs = [ (getAttr "cl-cairo2" pkgs) ];
+  };
+  a-cl-logger = {
+    pname = "a-cl-logger";
+    version = "20200427-git";
+    asds = [ "a-cl-logger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/a-cl-logger/2020-04-27/a-cl-logger-20200427-git.tgz";
+      sha256 = "13z21mvqppswcq3wyg7i8085ck03h9vvb064r65v43x2rvjlph6w";
+      system = "a-cl-logger";
+      asd = "a-cl-logger";
+    });
+    systems = [ "a-cl-logger" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-json" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "local-time" pkgs) (getAttr "osicat" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  a-cl-logger-logstash = {
+    pname = "a-cl-logger-logstash";
+    version = "20200427-git";
+    asds = [ "a-cl-logger-logstash" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/a-cl-logger/2020-04-27/a-cl-logger-20200427-git.tgz";
+      sha256 = "13z21mvqppswcq3wyg7i8085ck03h9vvb064r65v43x2rvjlph6w";
+      system = "a-cl-logger-logstash";
+      asd = "a-cl-logger-logstash";
+    });
+    systems = [ "a-cl-logger-logstash" ];
+    lispLibs = [ (getAttr "a-cl-logger" pkgs) (getAttr "cl-json" pkgs) (getAttr "zmq" pkgs) ];
+  };
+  a-cl-logger-tests = {
+    pname = "a-cl-logger-tests";
+    version = "20200427-git";
+    asds = [ "a-cl-logger-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/a-cl-logger/2020-04-27/a-cl-logger-20200427-git.tgz";
+      sha256 = "13z21mvqppswcq3wyg7i8085ck03h9vvb064r65v43x2rvjlph6w";
+      system = "a-cl-logger-tests";
+      asd = "a-cl-logger";
+    });
+    systems = [ "a-cl-logger-tests" ];
+    lispLibs = [ (getAttr "a-cl-logger" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  aabbcc = {
+    pname = "aabbcc";
+    version = "20200427-git";
+    asds = [ "aabbcc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "aabbcc";
+      asd = "aabbcc";
+    });
+    systems = [ "aabbcc" ];
+    lispLibs = [ (getAttr "quads" pkgs) (getAttr "utility" pkgs) ];
+  };
+  able = {
+    pname = "able";
+    version = "20171227-git";
+    asds = [ "able" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/able/2017-12-27/able-20171227-git.tgz";
+      sha256 = "1fbcmr6hy7bwlnsnrml3j4b2jkkj8ddxw27l8hr2z6l3fi3qw4hh";
+      system = "able";
+      asd = "able";
+    });
+    systems = [ "able" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "ltk" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  abnf = {
+    pname = "abnf";
+    version = "20200325-git";
+    asds = [ "abnf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-abnf/2020-03-25/cl-abnf-20200325-git.tgz";
+      sha256 = "0f09nsndxa90acm71zd4qdnp40v705a4sqm04mnv9x76h6dlggmz";
+      system = "abnf";
+      asd = "abnf";
+    });
+    systems = [ "abnf" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "esrap" pkgs) ];
+  };
+  abstract-classes = {
+    pname = "abstract-classes";
+    version = "20190307-hg";
+    asds = [ "abstract-classes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-abstract-classes/2019-03-07/cl-abstract-classes-20190307-hg.tgz";
+      sha256 = "0q03j3ksgn56j9xvs3d3hhasplj3hvg488f4cx1z97nlyqxr5w1d";
+      system = "abstract-classes";
+      asd = "abstract-classes";
+    });
+    systems = [ "abstract-classes" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  access = {
+    pname = "access";
+    version = "20210124-git";
+    asds = [ "access" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/access/2021-01-24/access-20210124-git.tgz";
+      sha256 = "1knd3n4mpzkc97i1znbas32pscd30416isvmx2pjmgvar6k93pl5";
+      system = "access";
+      asd = "access";
+    });
+    systems = [ "access" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  access-test = {
+    pname = "access-test";
+    version = "20210124-git";
+    asds = [ "access-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/access/2021-01-24/access-20210124-git.tgz";
+      sha256 = "1knd3n4mpzkc97i1znbas32pscd30416isvmx2pjmgvar6k93pl5";
+      system = "access-test";
+      asd = "access";
+    });
+    systems = [ "access-test" ];
+    lispLibs = [ (getAttr "access" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  acclimation = {
+    pname = "acclimation";
+    version = "20200925-git";
+    asds = [ "acclimation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/acclimation/2020-09-25/acclimation-20200925-git.tgz";
+      sha256 = "10ncdq3h5np4kxrn96cv8v4d9pf689xw886zfzja52hw9wbgnq26";
+      system = "acclimation";
+      asd = "acclimation";
+    });
+    systems = [ "acclimation" ];
+    lispLibs = [  ];
+  };
+  acclimation-temperature = {
+    pname = "acclimation-temperature";
+    version = "20200925-git";
+    asds = [ "acclimation-temperature" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/acclimation/2020-09-25/acclimation-20200925-git.tgz";
+      sha256 = "10ncdq3h5np4kxrn96cv8v4d9pf689xw886zfzja52hw9wbgnq26";
+      system = "acclimation-temperature";
+      asd = "acclimation-temperature";
+    });
+    systems = [ "acclimation-temperature" ];
+    lispLibs = [  ];
+  };
+  acl-compat = {
+    pname = "acl-compat";
+    version = "20190813-git";
+    asds = [ "acl-compat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/portableaserve/2019-08-13/portableaserve-20190813-git.tgz";
+      sha256 = "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa";
+      system = "acl-compat";
+      asd = "acl-compat";
+    });
+    systems = [ "acl-compat" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "ironclad" pkgs) (getAttr "puri" pkgs) ];
+  };
+  acm-random = {
+    pname = "acm-random";
+    version = "20191007-git";
+    asds = [ "acm-random" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/random/2019-10-07/random-20191007-git.tgz";
+      sha256 = "1fb4mnp85jm9s667y4dgz07klhkr9pvi5xbxws28lbb8iip75y2p";
+      system = "acm-random";
+      asd = "acm-random";
+    });
+    systems = [ "acm-random" ];
+    lispLibs = [ (getAttr "com_dot_google_dot_base" pkgs) (getAttr "random" pkgs) ];
+  };
+  acm-random-test = {
+    pname = "acm-random-test";
+    version = "20191007-git";
+    asds = [ "acm-random-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/random/2019-10-07/random-20191007-git.tgz";
+      sha256 = "1fb4mnp85jm9s667y4dgz07klhkr9pvi5xbxws28lbb8iip75y2p";
+      system = "acm-random-test";
+      asd = "acm-random-test";
+    });
+    systems = [ "acm-random-test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "acm-random" pkgs) ];
+  };
+  adhoc = {
+    pname = "adhoc";
+    version = "20211230-git";
+    asds = [ "adhoc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/adhoc/2021-12-30/adhoc-20211230-git.tgz";
+      sha256 = "1dr2sx73xq43f4ccbgd2rc7k9kkgglrmjjsvzhl5b782wvwsjgs6";
+      system = "adhoc";
+      asd = "adhoc";
+    });
+    systems = [ "adhoc" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  adhoc-tests = {
+    pname = "adhoc-tests";
+    version = "20211230-git";
+    asds = [ "adhoc-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/adhoc/2021-12-30/adhoc-20211230-git.tgz";
+      sha256 = "1dr2sx73xq43f4ccbgd2rc7k9kkgglrmjjsvzhl5b782wvwsjgs6";
+      system = "adhoc-tests";
+      asd = "adhoc-tests";
+    });
+    systems = [ "adhoc-tests" ];
+    lispLibs = [ (getAttr "adhoc" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  adjuvant = {
+    pname = "adjuvant";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "adjuvant" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "adjuvant";
+      asd = "adjuvant";
+    });
+    systems = [ "adjuvant" ];
+    lispLibs = [  ];
+  };
+  adjuvant-test = {
+    pname = "adjuvant-test";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "adjuvant-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "adjuvant-test";
+      asd = "adjuvant-test";
+    });
+    systems = [ "adjuvant-test" ];
+    lispLibs = [ (getAttr "adjuvant" pkgs) (getAttr "scrutiny" pkgs) ];
+  };
+  adopt = {
+    pname = "adopt";
+    version = "20211209-hg";
+    asds = [ "adopt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/adopt/2021-12-09/adopt-20211209-hg.tgz";
+      sha256 = "159lia38m5w92akz1bs68bm6lps6zdz63z3spc436zs8bz7s3d9b";
+      system = "adopt";
+      asd = "adopt";
+    });
+    systems = [ "adopt" ];
+    lispLibs = [ (getAttr "bobbin" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  adopt-subcommands = {
+    pname = "adopt-subcommands";
+    version = "v0.2.2";
+    asds = [ "adopt-subcommands" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/adopt-subcommands/2021-05-31/adopt-subcommands-v0.2.2.tgz";
+      sha256 = "0q35s3ihhlshakjalq5pgf14x502qnj8jimim8yf7bp1p9sn83h8";
+      system = "adopt-subcommands";
+      asd = "adopt-subcommands";
+    });
+    systems = [ "adopt-subcommands" ];
+    lispLibs = [ (getAttr "adopt" pkgs) (getAttr "bobbin" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  adopt-subcommands-test = {
+    pname = "adopt-subcommands-test";
+    version = "v0.2.2";
+    asds = [ "adopt-subcommands-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/adopt-subcommands/2021-05-31/adopt-subcommands-v0.2.2.tgz";
+      sha256 = "0q35s3ihhlshakjalq5pgf14x502qnj8jimim8yf7bp1p9sn83h8";
+      system = "adopt-subcommands-test";
+      asd = "adopt-subcommands-test";
+    });
+    systems = [ "adopt-subcommands-test" ];
+    lispLibs = [ (getAttr "adopt-subcommands" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  adopt_slash_test = {
+    pname = "adopt_test";
+    version = "20211209-hg";
+    asds = [ "adopt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/adopt/2021-12-09/adopt-20211209-hg.tgz";
+      sha256 = "159lia38m5w92akz1bs68bm6lps6zdz63z3spc436zs8bz7s3d9b";
+      system = "adopt";
+      asd = "adopt";
+    });
+    systems = [ "adopt/test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "adopt" pkgs) ];
+  };
+  advanced = {
+    pname = "advanced";
+    version = "clon-1.0b25";
+    asds = [ "advanced" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-clon/2021-04-11/clon-1.0b25.tgz";
+      sha256 = "0nj47xl2fwj7z31wiaad8dw97fpq3zpwxlgmpvppawz0z3hgf8d0";
+      system = "advanced";
+      asd = "advanced";
+    });
+    systems = [ "advanced" ];
+    lispLibs = [ (getAttr "net_dot_didierverna_dot_clon" pkgs) ];
+  };
+  advanced-readtable = {
+    pname = "advanced-readtable";
+    version = "20130720-git";
+    asds = [ "advanced-readtable" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/advanced-readtable/2013-07-20/advanced-readtable-20130720-git.tgz";
+      sha256 = "0dgm3lp9s6792g22swcb085f67q68jsyqj71vicb1wdr9qslvgwm";
+      system = "advanced-readtable";
+      asd = "advanced-readtable";
+    });
+    systems = [ "advanced-readtable" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  aether = {
+    pname = "aether";
+    version = "v1.1.0";
+    asds = [ "aether" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/aether/2021-12-09/aether-v1.1.0.tgz";
+      sha256 = "0q60gc4lsxpvv4g572mnhpzkziq1412k1q0xm4y2d1zigryg30bb";
+      system = "aether";
+      asd = "aether";
+    });
+    systems = [ "aether" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-heap" pkgs) (getAttr "global-vars" pkgs) (getAttr "policy-cond" pkgs) ];
+  };
+  aether-tests = {
+    pname = "aether-tests";
+    version = "v1.1.0";
+    asds = [ "aether-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/aether/2021-12-09/aether-v1.1.0.tgz";
+      sha256 = "0q60gc4lsxpvv4g572mnhpzkziq1412k1q0xm4y2d1zigryg30bb";
+      system = "aether-tests";
+      asd = "aether-tests";
+    });
+    systems = [ "aether-tests" ];
+    lispLibs = [ (getAttr "aether" pkgs) (getAttr "fiasco" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  agnostic-lizard = {
+    pname = "agnostic-lizard";
+    version = "20201016-git";
+    asds = [ "agnostic-lizard" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/agnostic-lizard/2020-10-16/agnostic-lizard-20201016-git.tgz";
+      sha256 = "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d";
+      system = "agnostic-lizard";
+      asd = "agnostic-lizard";
+    });
+    systems = [ "agnostic-lizard" ];
+    lispLibs = [  ];
+  };
+  agnostic-lizard-debugger-prototype = {
+    pname = "agnostic-lizard-debugger-prototype";
+    version = "20201016-git";
+    asds = [ "agnostic-lizard-debugger-prototype" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/agnostic-lizard/2020-10-16/agnostic-lizard-20201016-git.tgz";
+      sha256 = "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d";
+      system = "agnostic-lizard-debugger-prototype";
+      asd = "agnostic-lizard-debugger-prototype";
+    });
+    systems = [ "agnostic-lizard-debugger-prototype" ];
+    lispLibs = [ (getAttr "agnostic-lizard" pkgs) (getAttr "bordeaux-threads" pkgs) ];
+  };
+  agutil = {
+    pname = "agutil";
+    version = "20210531-git";
+    asds = [ "agutil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/agutil/2021-05-31/agutil-20210531-git.tgz";
+      sha256 = "10lccrqkaqq0h1p79gjqsqk1nqa6c25n0w7pj39y2gs14s5qr5q9";
+      system = "agutil";
+      asd = "agutil";
+    });
+    systems = [ "agutil" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "optima" pkgs) ];
+  };
+  ahungry-fleece = {
+    pname = "ahungry-fleece";
+    version = "20200610-git";
+    asds = [ "ahungry-fleece" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ahungry-fleece/2020-06-10/ahungry-fleece-20200610-git.tgz";
+      sha256 = "1l2rsy5qn5n456cxbd6kj0hpniy5vf35xcixzfj4j7lv00j0c5lz";
+      system = "ahungry-fleece";
+      asd = "ahungry-fleece";
+    });
+    systems = [ "ahungry-fleece" ];
+    lispLibs = [ (getAttr "archive" pkgs) (getAttr "chipz" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-yaml" pkgs) (getAttr "md5" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  alexa = {
+    pname = "alexa";
+    version = "20180831-git";
+    asds = [ "alexa" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/alexa/2018-08-31/alexa-20180831-git.tgz";
+      sha256 = "1y9jyz9gfmd02h492kf7v3mmpbhc0yfh4ka2rzd1vczq6fl8qgqv";
+      system = "alexa";
+      asd = "alexa";
+    });
+    systems = [ "alexa" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  alexa-tests = {
+    pname = "alexa-tests";
+    version = "20180831-git";
+    asds = [ "alexa-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/alexa/2018-08-31/alexa-20180831-git.tgz";
+      sha256 = "1y9jyz9gfmd02h492kf7v3mmpbhc0yfh4ka2rzd1vczq6fl8qgqv";
+      system = "alexa-tests";
+      asd = "alexa-tests";
+    });
+    systems = [ "alexa-tests" ];
+    lispLibs = [ (getAttr "alexa" pkgs) (getAttr "fiasco" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  alexandria = {
+    pname = "alexandria";
+    version = "20211209-git";
+    asds = [ "alexandria" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/alexandria/2021-12-09/alexandria-20211209-git.tgz";
+      sha256 = "0q0ygiiql8gpap7g577shaibwgjcgw46i7j8mi4nd2np29z8kbca";
+      system = "alexandria";
+      asd = "alexandria";
+    });
+    systems = [ "alexandria" ];
+    lispLibs = [  ];
+  };
+  alexandria_plus = {
+    pname = "alexandria+";
+    version = "20211230-git";
+    asds = [ "alexandria+" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/alexandria-plus/2021-12-30/alexandria-plus-20211230-git.tgz";
+      sha256 = "0qi20xc20mjxbyqcrgvc71qp7222xd9gbl5k9cfnh68d901q5c9m";
+      system = "alexandria+";
+      asd = "alexandria+";
+    });
+    systems = [ "alexandria+" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  alexandria_plus_slash_tests = {
+    pname = "alexandria+_tests";
+    version = "20211230-git";
+    asds = [ "alexandria+" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/alexandria-plus/2021-12-30/alexandria-plus-20211230-git.tgz";
+      sha256 = "0qi20xc20mjxbyqcrgvc71qp7222xd9gbl5k9cfnh68d901q5c9m";
+      system = "alexandria+";
+      asd = "alexandria+";
+    });
+    systems = [ "alexandria+/tests" ];
+    lispLibs = [ (getAttr "alexandria_plus" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  alexandria-tests = {
+    pname = "alexandria-tests";
+    version = "20211209-git";
+    asds = [ "alexandria-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/alexandria/2021-12-09/alexandria-20211209-git.tgz";
+      sha256 = "0q0ygiiql8gpap7g577shaibwgjcgw46i7j8mi4nd2np29z8kbca";
+      system = "alexandria-tests";
+      asd = "alexandria-tests";
+    });
+    systems = [ "alexandria-tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  algae = {
+    pname = "algae";
+    version = "20210411-git";
+    asds = [ "algae" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/algae/2021-04-11/algae-20210411-git.tgz";
+      sha256 = "0myn21bwg9c6vik1lg93hryq051yjwr5pvg0c8h2zy75jf0q1lp5";
+      system = "algae";
+      asd = "algae";
+    });
+    systems = [ "algae" ];
+    lispLibs = [ (getAttr "golden-utils" pkgs) (getAttr "origin" pkgs) ];
+  };
+  algebraic-data-library = {
+    pname = "algebraic-data-library";
+    version = "20180831-git";
+    asds = [ "algebraic-data-library" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/algebraic-data-library/2018-08-31/algebraic-data-library-20180831-git.tgz";
+      sha256 = "0mmakfdwgfjl812ydzbbl81lkv41zfnqhw9ydjk1w63lq8c11cmn";
+      system = "algebraic-data-library";
+      asd = "algebraic-data-library";
+    });
+    systems = [ "algebraic-data-library" ];
+    lispLibs = [ (getAttr "cl-algebraic-data-type" pkgs) ];
+  };
+  also-alsa = {
+    pname = "also-alsa";
+    version = "20211020-git";
+    asds = [ "also-alsa" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/also-alsa/2021-10-20/also-alsa-20211020-git.tgz";
+      sha256 = "0n6mki9ha0djn51imlsw4q1z5mzf0qxmq083fg508z0ain2y1f69";
+      system = "also-alsa";
+      asd = "also-alsa";
+    });
+    systems = [ "also-alsa" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  amazon-ecs = {
+    pname = "amazon-ecs";
+    version = "20110418-git";
+    asds = [ "amazon-ecs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/amazon-ecs/2011-04-18/amazon-ecs-20110418-git.tgz";
+      sha256 = "1gi3ybfkdfqvgmwgf0l77xpp5xgmkbycdpz6kn79vm0iga3kd2mz";
+      system = "amazon-ecs";
+      asd = "amazon-ecs";
+    });
+    systems = [ "amazon-ecs" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "ironclad" pkgs) (getAttr "net-telent-date" pkgs) (getAttr "parse-number" pkgs) (getAttr "trivial-http" pkgs) (getAttr "xml-mop" pkgs) ];
+  };
+  amb = {
+    pname = "amb";
+    version = "20211230-git";
+    asds = [ "amb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/amb/2021-12-30/amb-20211230-git.tgz";
+      sha256 = "1jqnvawkga6adn4my8va51v2wzx6gyn61m8s4rhdnnphrlax3cms";
+      system = "amb";
+      asd = "amb";
+    });
+    systems = [ "amb" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  amb_slash_test = {
+    pname = "amb_test";
+    version = "20211230-git";
+    asds = [ "amb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/amb/2021-12-30/amb-20211230-git.tgz";
+      sha256 = "1jqnvawkga6adn4my8va51v2wzx6gyn61m8s4rhdnnphrlax3cms";
+      system = "amb";
+      asd = "amb";
+    });
+    systems = [ "amb/test" ];
+    lispLibs = [ (getAttr "amb" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  anaphora = {
+    pname = "anaphora";
+    version = "20211209-git";
+    asds = [ "anaphora" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/anaphora/2021-12-09/anaphora-20211209-git.tgz";
+      sha256 = "0vjwjq1r4ljmadwpx6pffgy5q6b97hp5xja1ayyhiq8gpbbzc7aq";
+      system = "anaphora";
+      asd = "anaphora";
+    });
+    systems = [ "anaphora" ];
+    lispLibs = [  ];
+  };
+  anaphora_slash_test = {
+    pname = "anaphora_test";
+    version = "20211209-git";
+    asds = [ "anaphora" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/anaphora/2021-12-09/anaphora-20211209-git.tgz";
+      sha256 = "0vjwjq1r4ljmadwpx6pffgy5q6b97hp5xja1ayyhiq8gpbbzc7aq";
+      system = "anaphora";
+      asd = "anaphora";
+    });
+    systems = [ "anaphora/test" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "rt" pkgs) ];
+  };
+  anaphoric-variants = {
+    pname = "anaphoric-variants";
+    version = "1.0.1";
+    asds = [ "anaphoric-variants" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/anaphoric-variants/2012-10-13/anaphoric-variants-1.0.1.tgz";
+      sha256 = "02ms01w09b9bzsdsr0icd3ggyl86kyxk164kf0759k2k9y6kjsp5";
+      system = "anaphoric-variants";
+      asd = "anaphoric-variants";
+    });
+    systems = [ "anaphoric-variants" ];
+    lispLibs = [ (getAttr "map-bind" pkgs) ];
+  };
+  ansi-escape = {
+    pname = "ansi-escape";
+    version = "20211230-git";
+    asds = [ "ansi-escape" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/croatoan/2021-12-30/croatoan-20211230-git.tgz";
+      sha256 = "0bxfcc513vzbckfjslbr65r8gziizyj1sd0yz34zd8131zzr04xa";
+      system = "ansi-escape";
+      asd = "ansi-escape";
+    });
+    systems = [ "ansi-escape" ];
+    lispLibs = [  ];
+  };
+  ansi-escape-test = {
+    pname = "ansi-escape-test";
+    version = "20211230-git";
+    asds = [ "ansi-escape-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/croatoan/2021-12-30/croatoan-20211230-git.tgz";
+      sha256 = "0bxfcc513vzbckfjslbr65r8gziizyj1sd0yz34zd8131zzr04xa";
+      system = "ansi-escape-test";
+      asd = "ansi-escape-test";
+    });
+    systems = [ "ansi-escape-test" ];
+    lispLibs = [ (getAttr "ansi-escape" pkgs) ];
+  };
+  antik = {
+    pname = "antik";
+    version = "master-df14cb8c-git";
+    asds = [ "antik" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/antik/2019-10-08/antik-master-df14cb8c-git.tgz";
+      sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0";
+      system = "antik";
+      asd = "antik";
+    });
+    systems = [ "antik" ];
+    lispLibs = [ (getAttr "physical-dimension" pkgs) (getAttr "gsll" pkgs) ];
+  };
+  antik-base = {
+    pname = "antik-base";
+    version = "master-df14cb8c-git";
+    asds = [ "antik-base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/antik/2019-10-08/antik-master-df14cb8c-git.tgz";
+      sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0";
+      system = "antik-base";
+      asd = "antik-base";
+    });
+    systems = [ "antik-base" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "iterate" pkgs) (getAttr "lisp-unit" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "named-readtables" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  anypool = {
+    pname = "anypool";
+    version = "20210531-git";
+    asds = [ "anypool" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/anypool/2021-05-31/anypool-20210531-git.tgz";
+      sha256 = "0dr904m0qb0xf12x0rrhw0ipw3fdqyihwr59l87prqmkv23y7aig";
+      system = "anypool";
+      asd = "anypool";
+    });
+    systems = [ "anypool" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-speedy-queue" pkgs) ];
+  };
+  anypool_slash_middleware = {
+    pname = "anypool_middleware";
+    version = "20210531-git";
+    asds = [ "anypool" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/anypool/2021-05-31/anypool-20210531-git.tgz";
+      sha256 = "0dr904m0qb0xf12x0rrhw0ipw3fdqyihwr59l87prqmkv23y7aig";
+      system = "anypool";
+      asd = "anypool";
+    });
+    systems = [ "anypool/middleware" ];
+    lispLibs = [ (getAttr "anypool" pkgs) ];
+  };
+  anypool_slash_tests = {
+    pname = "anypool_tests";
+    version = "20210531-git";
+    asds = [ "anypool" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/anypool/2021-05-31/anypool-20210531-git.tgz";
+      sha256 = "0dr904m0qb0xf12x0rrhw0ipw3fdqyihwr59l87prqmkv23y7aig";
+      system = "anypool";
+      asd = "anypool";
+    });
+    systems = [ "anypool/tests" ];
+    lispLibs = [ (getAttr "anypool" pkgs) (getAttr "rove" pkgs) ];
+  };
+  aplesque = {
+    pname = "aplesque";
+    version = "20211020-git";
+    asds = [ "aplesque" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/april/2021-10-20/april-20211020-git.tgz";
+      sha256 = "0xzk50fwkbp8sqvhhaqnq9hc19a6r5naf99k6h8pxns8mg922gg0";
+      system = "aplesque";
+      asd = "aplesque";
+    });
+    systems = [ "aplesque" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "array-operations" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "lparallel" pkgs) (getAttr "parse-number" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  application = {
+    pname = "application";
+    version = "20200427-git";
+    asds = [ "application" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "application";
+      asd = "application";
+    });
+    systems = [ "application" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "deflazy" pkgs) (getAttr "glhelp" pkgs) (getAttr "scratch-buffer" pkgs) (getAttr "window" pkgs) (getAttr "utility" pkgs) ];
+  };
+  apply-argv = {
+    pname = "apply-argv";
+    version = "20150608-git";
+    asds = [ "apply-argv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/apply-argv/2015-06-08/apply-argv-20150608-git.tgz";
+      sha256 = "19qj847vyawjgm5iwk96469c0plnxj37948ac1bcd86hgpbm75w0";
+      system = "apply-argv";
+      asd = "apply-argv";
+    });
+    systems = [ "apply-argv" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  apply-argv-tests = {
+    pname = "apply-argv-tests";
+    version = "20150608-git";
+    asds = [ "apply-argv-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/apply-argv/2015-06-08/apply-argv-20150608-git.tgz";
+      sha256 = "19qj847vyawjgm5iwk96469c0plnxj37948ac1bcd86hgpbm75w0";
+      system = "apply-argv-tests";
+      asd = "apply-argv";
+    });
+    systems = [ "apply-argv-tests" ];
+    lispLibs = [ (getAttr "apply-argv" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  april = {
+    pname = "april";
+    version = "20211020-git";
+    asds = [ "april" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/april/2021-10-20/april-20211020-git.tgz";
+      sha256 = "0xzk50fwkbp8sqvhhaqnq9hc19a6r5naf99k6h8pxns8mg922gg0";
+      system = "april";
+      asd = "april";
+    });
+    systems = [ "april" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "aplesque" pkgs) (getAttr "vex" pkgs) (getAttr "array-operations" pkgs) (getAttr "cl-cpus" pkgs) (getAttr "decimals" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "lparallel" pkgs) (getAttr "parse-number" pkgs) (getAttr "prove" pkgs) (getAttr "simple-date-time" pkgs) (getAttr "symbol-munger" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  april-demo_dot_cnn = {
+    pname = "april-demo.cnn";
+    version = "20211020-git";
+    asds = [ "april-demo.cnn" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/april/2021-10-20/april-20211020-git.tgz";
+      sha256 = "0xzk50fwkbp8sqvhhaqnq9hc19a6r5naf99k6h8pxns8mg922gg0";
+      system = "april-demo.cnn";
+      asd = "april-demo.cnn";
+    });
+    systems = [ "april-demo.cnn" ];
+    lispLibs = [ (getAttr "april" pkgs) (getAttr "lisp-binary" pkgs) ];
+  };
+  april-demo_dot_dfns_dot_array = {
+    pname = "april-demo.dfns.array";
+    version = "20211020-git";
+    asds = [ "april-demo.dfns.array" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/april/2021-10-20/april-20211020-git.tgz";
+      sha256 = "0xzk50fwkbp8sqvhhaqnq9hc19a6r5naf99k6h8pxns8mg922gg0";
+      system = "april-demo.dfns.array";
+      asd = "april-demo.dfns.array";
+    });
+    systems = [ "april-demo.dfns.array" ];
+    lispLibs = [ (getAttr "april" pkgs) ];
+  };
+  april-demo_dot_dfns_dot_graph = {
+    pname = "april-demo.dfns.graph";
+    version = "20211020-git";
+    asds = [ "april-demo.dfns.graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/april/2021-10-20/april-20211020-git.tgz";
+      sha256 = "0xzk50fwkbp8sqvhhaqnq9hc19a6r5naf99k6h8pxns8mg922gg0";
+      system = "april-demo.dfns.graph";
+      asd = "april-demo.dfns.graph";
+    });
+    systems = [ "april-demo.dfns.graph" ];
+    lispLibs = [ (getAttr "april" pkgs) ];
+  };
+  arc-compat = {
+    pname = "arc-compat";
+    version = "20201220-git";
+    asds = [ "arc-compat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/arc-compat/2020-12-20/arc-compat-20201220-git.tgz";
+      sha256 = "0c2qvj3arll2klg8w8a8qba4xb0ac78bawydpyy9raqdf40wc69m";
+      system = "arc-compat";
+      asd = "arc-compat";
+    });
+    systems = [ "arc-compat" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-fad" pkgs) (getAttr "fiveam" pkgs) (getAttr "ironclad" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  architecture_dot_builder-protocol = {
+    pname = "architecture.builder-protocol";
+    version = "20211020-git";
+    asds = [ "architecture.builder-protocol" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2021-10-20/architecture.builder-protocol-20211020-git.tgz";
+      sha256 = "0c2lk79hq2z02l16520a5gw4fgxlpnki65ymx0r8vs5klgykb1f6";
+      system = "architecture.builder-protocol";
+      asd = "architecture.builder-protocol";
+    });
+    systems = [ "architecture.builder-protocol" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  architecture_dot_builder-protocol_dot_json = {
+    pname = "architecture.builder-protocol.json";
+    version = "20211020-git";
+    asds = [ "architecture.builder-protocol.json" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2021-10-20/architecture.builder-protocol-20211020-git.tgz";
+      sha256 = "0c2lk79hq2z02l16520a5gw4fgxlpnki65ymx0r8vs5klgykb1f6";
+      system = "architecture.builder-protocol.json";
+      asd = "architecture.builder-protocol.json";
+    });
+    systems = [ "architecture.builder-protocol.json" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "architecture_dot_builder-protocol" pkgs) (getAttr "cl-json" pkgs) ];
+  };
+  architecture_dot_builder-protocol_dot_json_slash_test = {
+    pname = "architecture.builder-protocol.json_test";
+    version = "20211020-git";
+    asds = [ "architecture.builder-protocol.json" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2021-10-20/architecture.builder-protocol-20211020-git.tgz";
+      sha256 = "0c2lk79hq2z02l16520a5gw4fgxlpnki65ymx0r8vs5klgykb1f6";
+      system = "architecture.builder-protocol.json";
+      asd = "architecture.builder-protocol.json";
+    });
+    systems = [ "architecture.builder-protocol.json/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "architecture_dot_builder-protocol" pkgs) (getAttr "architecture_dot_builder-protocol_dot_json" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  architecture_dot_builder-protocol_dot_universal-builder = {
+    pname = "architecture.builder-protocol.universal-builder";
+    version = "20211020-git";
+    asds = [ "architecture.builder-protocol.universal-builder" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2021-10-20/architecture.builder-protocol-20211020-git.tgz";
+      sha256 = "0c2lk79hq2z02l16520a5gw4fgxlpnki65ymx0r8vs5klgykb1f6";
+      system = "architecture.builder-protocol.universal-builder";
+      asd = "architecture.builder-protocol.universal-builder";
+    });
+    systems = [ "architecture.builder-protocol.universal-builder" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "architecture_dot_builder-protocol" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  architecture_dot_builder-protocol_dot_universal-builder_slash_test = {
+    pname = "architecture.builder-protocol.universal-builder_test";
+    version = "20211020-git";
+    asds = [ "architecture.builder-protocol.universal-builder" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2021-10-20/architecture.builder-protocol-20211020-git.tgz";
+      sha256 = "0c2lk79hq2z02l16520a5gw4fgxlpnki65ymx0r8vs5klgykb1f6";
+      system = "architecture.builder-protocol.universal-builder";
+      asd = "architecture.builder-protocol.universal-builder";
+    });
+    systems = [ "architecture.builder-protocol.universal-builder/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "architecture_dot_builder-protocol" pkgs) (getAttr "architecture_dot_builder-protocol_dot_universal-builder" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  architecture_dot_builder-protocol_dot_xpath = {
+    pname = "architecture.builder-protocol.xpath";
+    version = "20211020-git";
+    asds = [ "architecture.builder-protocol.xpath" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2021-10-20/architecture.builder-protocol-20211020-git.tgz";
+      sha256 = "0c2lk79hq2z02l16520a5gw4fgxlpnki65ymx0r8vs5klgykb1f6";
+      system = "architecture.builder-protocol.xpath";
+      asd = "architecture.builder-protocol.xpath";
+    });
+    systems = [ "architecture.builder-protocol.xpath" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "architecture_dot_builder-protocol" pkgs) (getAttr "xpath" pkgs) ];
+  };
+  architecture_dot_builder-protocol_dot_xpath_slash_test = {
+    pname = "architecture.builder-protocol.xpath_test";
+    version = "20211020-git";
+    asds = [ "architecture.builder-protocol.xpath" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2021-10-20/architecture.builder-protocol-20211020-git.tgz";
+      sha256 = "0c2lk79hq2z02l16520a5gw4fgxlpnki65ymx0r8vs5klgykb1f6";
+      system = "architecture.builder-protocol.xpath";
+      asd = "architecture.builder-protocol.xpath";
+    });
+    systems = [ "architecture.builder-protocol.xpath/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "architecture_dot_builder-protocol_dot_xpath" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  architecture_dot_builder-protocol_slash_test = {
+    pname = "architecture.builder-protocol_test";
+    version = "20211020-git";
+    asds = [ "architecture.builder-protocol" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/architecture.builder-protocol/2021-10-20/architecture.builder-protocol-20211020-git.tgz";
+      sha256 = "0c2lk79hq2z02l16520a5gw4fgxlpnki65ymx0r8vs5klgykb1f6";
+      system = "architecture.builder-protocol";
+      asd = "architecture.builder-protocol";
+    });
+    systems = [ "architecture.builder-protocol/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "architecture_dot_builder-protocol" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  architecture_dot_service-provider = {
+    pname = "architecture.service-provider";
+    version = "20191007-git";
+    asds = [ "architecture.service-provider" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/architecture.service-provider/2019-10-07/architecture.service-provider-20191007-git.tgz";
+      sha256 = "0n4a299md5z0wvk6j3my4ii6cs198fqgizz1swic89p1qz5n2fjm";
+      system = "architecture.service-provider";
+      asd = "architecture.service-provider";
+    });
+    systems = [ "architecture.service-provider" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "let-plus" pkgs) (getAttr "more-conditions" pkgs) (getAttr "utilities_dot_print-items" pkgs) ];
+  };
+  architecture_dot_service-provider-and-hooks = {
+    pname = "architecture.service-provider-and-hooks";
+    version = "20191007-git";
+    asds = [ "architecture.service-provider-and-hooks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/architecture.service-provider/2019-10-07/architecture.service-provider-20191007-git.tgz";
+      sha256 = "0n4a299md5z0wvk6j3my4ii6cs198fqgizz1swic89p1qz5n2fjm";
+      system = "architecture.service-provider-and-hooks";
+      asd = "architecture.service-provider-and-hooks";
+    });
+    systems = [ "architecture.service-provider-and-hooks" ];
+    lispLibs = [ (getAttr "cl-hooks" pkgs) (getAttr "architecture_dot_service-provider" pkgs) ];
+  };
+  architecture_dot_service-provider-and-hooks_slash_test = {
+    pname = "architecture.service-provider-and-hooks_test";
+    version = "20191007-git";
+    asds = [ "architecture.service-provider-and-hooks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/architecture.service-provider/2019-10-07/architecture.service-provider-20191007-git.tgz";
+      sha256 = "0n4a299md5z0wvk6j3my4ii6cs198fqgizz1swic89p1qz5n2fjm";
+      system = "architecture.service-provider-and-hooks";
+      asd = "architecture.service-provider-and-hooks";
+    });
+    systems = [ "architecture.service-provider-and-hooks/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "architecture_dot_service-provider" pkgs) (getAttr "architecture_dot_service-provider-and-hooks" pkgs) (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) (getAttr "more-conditions" pkgs) ];
+  };
+  architecture_dot_service-provider_slash_test = {
+    pname = "architecture.service-provider_test";
+    version = "20191007-git";
+    asds = [ "architecture.service-provider" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/architecture.service-provider/2019-10-07/architecture.service-provider-20191007-git.tgz";
+      sha256 = "0n4a299md5z0wvk6j3my4ii6cs198fqgizz1swic89p1qz5n2fjm";
+      system = "architecture.service-provider";
+      asd = "architecture.service-provider";
+    });
+    systems = [ "architecture.service-provider/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "architecture_dot_service-provider" pkgs) (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) (getAttr "more-conditions" pkgs) ];
+  };
+  archive = {
+    pname = "archive";
+    version = "20160318-git";
+    asds = [ "archive" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/archive/2016-03-18/archive-20160318-git.tgz";
+      sha256 = "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p";
+      system = "archive";
+      asd = "archive";
+    });
+    systems = [ "archive" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  arith = {
+    pname = "arith";
+    version = "20170830-git";
+    asds = [ "arith" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/paren-test/2017-08-30/paren-test-20170830-git.tgz";
+      sha256 = "0b2d3kcv3n4b0dm67pzhxx8wxjsgnb32bw2dsprblc7149gaczdr";
+      system = "arith";
+      asd = "arith";
+    });
+    systems = [ "arith" ];
+    lispLibs = [ (getAttr "paren-files" pkgs) (getAttr "paren-test" pkgs) (getAttr "parenscript" pkgs) ];
+  };
+  arithmetic-operators-as-words = {
+    pname = "arithmetic-operators-as-words";
+    version = "20200610-git";
+    asds = [ "arithmetic-operators-as-words" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/arithmetic-operators-as-words/2020-06-10/arithmetic-operators-as-words-20200610-git.tgz";
+      sha256 = "1bcfkbq3kqns2ng0cdmj81c72j63641pqlskg4xrzkgkh25bhkks";
+      system = "arithmetic-operators-as-words";
+      asd = "arithmetic-operators-as-words";
+    });
+    systems = [ "arithmetic-operators-as-words" ];
+    lispLibs = [  ];
+  };
+  arnesi = {
+    pname = "arnesi";
+    version = "20170403-git";
+    asds = [ "arnesi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/arnesi/2017-04-03/arnesi-20170403-git.tgz";
+      sha256 = "0jgj2xgd1gq6rf8ia43lkmbrbxnp8rgs053br9azfa25ygk3ikbh";
+      system = "arnesi";
+      asd = "arnesi";
+    });
+    systems = [ "arnesi" ];
+    lispLibs = [ (getAttr "collectors" pkgs) ];
+  };
+  arnesi_slash_cl-ppcre-extras = {
+    pname = "arnesi_cl-ppcre-extras";
+    version = "20170403-git";
+    asds = [ "arnesi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/arnesi/2017-04-03/arnesi-20170403-git.tgz";
+      sha256 = "0jgj2xgd1gq6rf8ia43lkmbrbxnp8rgs053br9azfa25ygk3ikbh";
+      system = "arnesi";
+      asd = "arnesi";
+    });
+    systems = [ "arnesi/cl-ppcre-extras" ];
+    lispLibs = [ (getAttr "arnesi" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  arnesi_slash_slime-extras = {
+    pname = "arnesi_slime-extras";
+    version = "20170403-git";
+    asds = [ "arnesi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/arnesi/2017-04-03/arnesi-20170403-git.tgz";
+      sha256 = "0jgj2xgd1gq6rf8ia43lkmbrbxnp8rgs053br9azfa25ygk3ikbh";
+      system = "arnesi";
+      asd = "arnesi";
+    });
+    systems = [ "arnesi/slime-extras" ];
+    lispLibs = [ (getAttr "arnesi" pkgs) (getAttr "swank" pkgs) ];
+  };
+  array-operations = {
+    pname = "array-operations";
+    version = "20210411-git";
+    asds = [ "array-operations" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/array-operations/2021-04-11/array-operations-20210411-git.tgz";
+      sha256 = "1xvd2q6rdcnh5fgvyzp4m89d3xwb6qgz8qz9ss7g1ckk8bl81wb1";
+      system = "array-operations";
+      asd = "array-operations";
+    });
+    systems = [ "array-operations" ];
+    lispLibs = [ (getAttr "let-plus" pkgs) ];
+  };
+  array-operations_slash_tests = {
+    pname = "array-operations_tests";
+    version = "20210411-git";
+    asds = [ "array-operations" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/array-operations/2021-04-11/array-operations-20210411-git.tgz";
+      sha256 = "1xvd2q6rdcnh5fgvyzp4m89d3xwb6qgz8qz9ss7g1ckk8bl81wb1";
+      system = "array-operations";
+      asd = "array-operations";
+    });
+    systems = [ "array-operations/tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "array-operations" pkgs) (getAttr "clunit2" pkgs) ];
+  };
+  array-utils = {
+    pname = "array-utils";
+    version = "20201220-git";
+    asds = [ "array-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/array-utils/2020-12-20/array-utils-20201220-git.tgz";
+      sha256 = "1qiw31xxyd73pchim5q9ki012726xvn5ab869qksd1kys7gwgg86";
+      system = "array-utils";
+      asd = "array-utils";
+    });
+    systems = [ "array-utils" ];
+    lispLibs = [  ];
+  };
+  array-utils-test = {
+    pname = "array-utils-test";
+    version = "20201220-git";
+    asds = [ "array-utils-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/array-utils/2020-12-20/array-utils-20201220-git.tgz";
+      sha256 = "1qiw31xxyd73pchim5q9ki012726xvn5ab869qksd1kys7gwgg86";
+      system = "array-utils-test";
+      asd = "array-utils-test";
+    });
+    systems = [ "array-utils-test" ];
+    lispLibs = [ (getAttr "array-utils" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  arrival = {
+    pname = "arrival";
+    version = "20211209-git";
+    asds = [ "arrival" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/arrival/2021-12-09/arrival-20211209-git.tgz";
+      sha256 = "1iwdk5fdismw91ln5wdnn8c8xv06fbgiwbvdj2gy2hpp8f3qk00b";
+      system = "arrival";
+      asd = "arrival";
+    });
+    systems = [ "arrival" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) (getAttr "log4cl" pkgs) (getAttr "trivia" pkgs) (getAttr "trivia_dot_quasiquote" pkgs) ];
+  };
+  arrow-macros = {
+    pname = "arrow-macros";
+    version = "20201220-git";
+    asds = [ "arrow-macros" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/arrow-macros/2020-12-20/arrow-macros-20201220-git.tgz";
+      sha256 = "1b7vldvhn8zx60h010573gmqv2igarpnb6h3pq8qydhwfza0xd4g";
+      system = "arrow-macros";
+      asd = "arrow-macros";
+    });
+    systems = [ "arrow-macros" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  arrow-macros-test = {
+    pname = "arrow-macros-test";
+    version = "20201220-git";
+    asds = [ "arrow-macros-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/arrow-macros/2020-12-20/arrow-macros-20201220-git.tgz";
+      sha256 = "1b7vldvhn8zx60h010573gmqv2igarpnb6h3pq8qydhwfza0xd4g";
+      system = "arrow-macros-test";
+      asd = "arrow-macros-test";
+    });
+    systems = [ "arrow-macros-test" ];
+    lispLibs = [ (getAttr "arrow-macros" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  arrows = {
+    pname = "arrows";
+    version = "20181018-git";
+    asds = [ "arrows" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/arrows/2018-10-18/arrows-20181018-git.tgz";
+      sha256 = "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy";
+      system = "arrows";
+      asd = "arrows";
+    });
+    systems = [ "arrows" ];
+    lispLibs = [  ];
+  };
+  arrows_slash_test = {
+    pname = "arrows_test";
+    version = "20181018-git";
+    asds = [ "arrows" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/arrows/2018-10-18/arrows-20181018-git.tgz";
+      sha256 = "042k9vkssrqx9nhp14wdzm942zgdxvp35mba0p2syz98i75im2yy";
+      system = "arrows";
+      asd = "arrows";
+    });
+    systems = [ "arrows/test" ];
+    lispLibs = [ (getAttr "arrows" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  ascii-strings = {
+    pname = "ascii-strings";
+    version = "20211209-git";
+    asds = [ "ascii-strings" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-string-match/2021-12-09/cl-string-match-20211209-git.tgz";
+      sha256 = "0zndlkw3qy3vw4px4qv884z6232w8zfaliyc88irjwizdv35wcq9";
+      system = "ascii-strings";
+      asd = "ascii-strings";
+    });
+    systems = [ "ascii-strings" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) ];
+  };
+  asd-generator = {
+    pname = "asd-generator";
+    version = "20190107-git";
+    asds = [ "asd-generator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asd-generator/2019-01-07/asd-generator-20190107-git.tgz";
+      sha256 = "0yiybl7b9x1f85v0drj0yw9821y3yfhya4n6gycnv5vvx6jp9by4";
+      system = "asd-generator";
+      asd = "asd-generator";
+    });
+    systems = [ "asd-generator" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "iterate" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  asd-generator-test = {
+    pname = "asd-generator-test";
+    version = "20190107-git";
+    asds = [ "asd-generator-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asd-generator/2019-01-07/asd-generator-20190107-git.tgz";
+      sha256 = "0yiybl7b9x1f85v0drj0yw9821y3yfhya4n6gycnv5vvx6jp9by4";
+      system = "asd-generator-test";
+      asd = "asd-generator-test";
+    });
+    systems = [ "asd-generator-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  asdf = {
+    pname = "asdf";
+    version = "3.3.5";
+    asds = [ "asdf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uiop/2021-08-07/uiop-3.3.5.tgz";
+      sha256 = "19d8jzhvvyi40wn0fj8496wzfwkjs1z2qjm6byw0693wgrm23yj0";
+      system = "asdf";
+      asd = "uiop";
+    });
+    systems = [ "asdf" ];
+    lispLibs = [  ];
+  };
+  asdf-dependency-grovel = {
+    pname = "asdf-dependency-grovel";
+    version = "20170403-git";
+    asds = [ "asdf-dependency-grovel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-dependency-grovel/2017-04-03/asdf-dependency-grovel-20170403-git.tgz";
+      sha256 = "1y4kdqsda4ira4r9dws6kxzzv6mg45q3lkmb2c9mg9q7ksc5glif";
+      system = "asdf-dependency-grovel";
+      asd = "asdf-dependency-grovel";
+    });
+    systems = [ "asdf-dependency-grovel" ];
+    lispLibs = [  ];
+  };
+  asdf-driver = {
+    pname = "asdf-driver";
+    version = "3.3.5";
+    asds = [ "asdf-driver" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uiop/2021-08-07/uiop-3.3.5.tgz";
+      sha256 = "19d8jzhvvyi40wn0fj8496wzfwkjs1z2qjm6byw0693wgrm23yj0";
+      system = "asdf-driver";
+      asd = "asdf-driver";
+    });
+    systems = [ "asdf-driver" ];
+    lispLibs = [ (getAttr "uiop" pkgs) ];
+  };
+  asdf-encodings = {
+    pname = "asdf-encodings";
+    version = "20191007-git";
+    asds = [ "asdf-encodings" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-encodings/2019-10-07/asdf-encodings-20191007-git.tgz";
+      sha256 = "1yn77nhrz5w2s7nlafxjnk9j8fsrz7ivrm7nbj4r726bwc5knky6";
+      system = "asdf-encodings";
+      asd = "asdf-encodings";
+    });
+    systems = [ "asdf-encodings" ];
+    lispLibs = [  ];
+  };
+  asdf-encodings_slash_test = {
+    pname = "asdf-encodings_test";
+    version = "20191007-git";
+    asds = [ "asdf-encodings" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-encodings/2019-10-07/asdf-encodings-20191007-git.tgz";
+      sha256 = "1yn77nhrz5w2s7nlafxjnk9j8fsrz7ivrm7nbj4r726bwc5knky6";
+      system = "asdf-encodings";
+      asd = "asdf-encodings";
+    });
+    systems = [ "asdf-encodings/test" ];
+    lispLibs = [ (getAttr "asdf-encodings" pkgs) (getAttr "fare-utils" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  asdf-finalizers = {
+    pname = "asdf-finalizers";
+    version = "20170403-git";
+    asds = [ "asdf-finalizers" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-finalizers/2017-04-03/asdf-finalizers-20170403-git.tgz";
+      sha256 = "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v";
+      system = "asdf-finalizers";
+      asd = "asdf-finalizers";
+    });
+    systems = [ "asdf-finalizers" ];
+    lispLibs = [  ];
+  };
+  asdf-finalizers-test = {
+    pname = "asdf-finalizers-test";
+    version = "20170403-git";
+    asds = [ "asdf-finalizers-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-finalizers/2017-04-03/asdf-finalizers-20170403-git.tgz";
+      sha256 = "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v";
+      system = "asdf-finalizers-test";
+      asd = "asdf-finalizers-test";
+    });
+    systems = [ "asdf-finalizers-test" ];
+    lispLibs = [ (getAttr "asdf-finalizers" pkgs) (getAttr "list-of" pkgs) (getAttr "fare-utils" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  asdf-finalizers-test_slash_1 = {
+    pname = "asdf-finalizers-test_1";
+    version = "20170403-git";
+    asds = [ "asdf-finalizers-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-finalizers/2017-04-03/asdf-finalizers-20170403-git.tgz";
+      sha256 = "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v";
+      system = "asdf-finalizers-test";
+      asd = "asdf-finalizers-test";
+    });
+    systems = [ "asdf-finalizers-test/1" ];
+    lispLibs = [ (getAttr "asdf-finalizers" pkgs) (getAttr "list-of" pkgs) (getAttr "fare-utils" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  asdf-finalizers-test_slash_2 = {
+    pname = "asdf-finalizers-test_2";
+    version = "20170403-git";
+    asds = [ "asdf-finalizers-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-finalizers/2017-04-03/asdf-finalizers-20170403-git.tgz";
+      sha256 = "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v";
+      system = "asdf-finalizers-test";
+      asd = "asdf-finalizers-test";
+    });
+    systems = [ "asdf-finalizers-test/2" ];
+    lispLibs = [ (getAttr "asdf-finalizers" pkgs) (getAttr "list-of" pkgs) (getAttr "fare-utils" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  asdf-linguist = {
+    pname = "asdf-linguist";
+    version = "20150923-git";
+    asds = [ "asdf-linguist" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-linguist/2015-09-23/asdf-linguist-20150923-git.tgz";
+      sha256 = "14jaqmxxh70f1jf58mxb117951iql2sjxymmbjyqniqwazznbd9a";
+      system = "asdf-linguist";
+      asd = "asdf-linguist";
+    });
+    systems = [ "asdf-linguist" ];
+    lispLibs = [ (getAttr "inferior-shell" pkgs) (getAttr "parenscript" pkgs) ];
+  };
+  asdf-manager = {
+    pname = "asdf-manager";
+    version = "20160208-git";
+    asds = [ "asdf-manager" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-manager/2016-02-08/asdf-manager-20160208-git.tgz";
+      sha256 = "0jw7d0vg13v1l1fwwhsw04n6w3c49vsbmq6vrlrkh95aayc5413w";
+      system = "asdf-manager";
+      asd = "asdf-manager";
+    });
+    systems = [ "asdf-manager" ];
+    lispLibs = [ (getAttr "trivial-download" pkgs) (getAttr "trivial-extract" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  asdf-manager-test = {
+    pname = "asdf-manager-test";
+    version = "20160208-git";
+    asds = [ "asdf-manager-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-manager/2016-02-08/asdf-manager-20160208-git.tgz";
+      sha256 = "0jw7d0vg13v1l1fwwhsw04n6w3c49vsbmq6vrlrkh95aayc5413w";
+      system = "asdf-manager-test";
+      asd = "asdf-manager-test";
+    });
+    systems = [ "asdf-manager-test" ];
+    lispLibs = [ (getAttr "asdf-manager" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  asdf-nst = {
+    pname = "asdf-nst";
+    version = "20210807-git";
+    asds = [ "asdf-nst" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz";
+      sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga";
+      system = "asdf-nst";
+      asd = "asdf-nst";
+    });
+    systems = [ "asdf-nst" ];
+    lispLibs = [  ];
+  };
+  asdf-package-system = {
+    pname = "asdf-package-system";
+    version = "20150608-git";
+    asds = [ "asdf-package-system" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-package-system/2015-06-08/asdf-package-system-20150608-git.tgz";
+      sha256 = "1q4qgvbl64c4zdbq91by1la8licdgam7ybnhvg2bixdhq4v693sj";
+      system = "asdf-package-system";
+      asd = "asdf-package-system";
+    });
+    systems = [ "asdf-package-system" ];
+    lispLibs = [  ];
+  };
+  asdf-system-connections = {
+    pname = "asdf-system-connections";
+    version = "20170124-git";
+    asds = [ "asdf-system-connections" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-system-connections/2017-01-24/asdf-system-connections-20170124-git.tgz";
+      sha256 = "06kg0m8bv383qq3r34x0f8hz6p6zxcw02qn7kj960vcnrp5a5b3y";
+      system = "asdf-system-connections";
+      asd = "asdf-system-connections";
+    });
+    systems = [ "asdf-system-connections" ];
+    lispLibs = [  ];
+  };
+  asdf-viz = {
+    pname = "asdf-viz";
+    version = "20200610-git";
+    asds = [ "asdf-viz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-viz/2020-06-10/asdf-viz-20200610-git.tgz";
+      sha256 = "1hj9ac1m2kz8x65n62gd1s2k2x9pip9a85pnmib53qsks3a9sc4z";
+      system = "asdf-viz";
+      asd = "asdf-viz";
+    });
+    systems = [ "asdf-viz" ];
+    lispLibs = [ (getAttr "cl-dot" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "swank" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  aserve = {
+    pname = "aserve";
+    version = "20190813-git";
+    asds = [ "aserve" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/portableaserve/2019-08-13/portableaserve-20190813-git.tgz";
+      sha256 = "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa";
+      system = "aserve";
+      asd = "aserve";
+    });
+    systems = [ "aserve" ];
+    lispLibs = [ (getAttr "acl-compat" pkgs) (getAttr "htmlgen" pkgs) ];
+  };
+  assert-p = {
+    pname = "assert-p";
+    version = "20200610-git";
+    asds = [ "assert-p" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/assert-p/2020-06-10/assert-p-20200610-git.tgz";
+      sha256 = "1x24rkqkqiw8zd26swi9rmhfplkmr5scz3bhjwccah9d2s36b1xs";
+      system = "assert-p";
+      asd = "assert-p";
+    });
+    systems = [ "assert-p" ];
+    lispLibs = [ (getAttr "assertion-error" pkgs) (getAttr "simplet-asdf" pkgs) ];
+  };
+  assert-p_slash_test = {
+    pname = "assert-p_test";
+    version = "20200610-git";
+    asds = [ "assert-p" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/assert-p/2020-06-10/assert-p-20200610-git.tgz";
+      sha256 = "1x24rkqkqiw8zd26swi9rmhfplkmr5scz3bhjwccah9d2s36b1xs";
+      system = "assert-p";
+      asd = "assert-p";
+    });
+    systems = [ "assert-p/test" ];
+    lispLibs = [ (getAttr "assert-p" pkgs) (getAttr "simplet" pkgs) (getAttr "simplet-asdf" pkgs) ];
+  };
+  assertion-error = {
+    pname = "assertion-error";
+    version = "20191227-git";
+    asds = [ "assertion-error" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/assertion-error/2019-12-27/assertion-error-20191227-git.tgz";
+      sha256 = "0ix23kkakmf4nwx852zsssb831jvajr3qyppqfyks7y1ls617svn";
+      system = "assertion-error";
+      asd = "assertion-error";
+    });
+    systems = [ "assertion-error" ];
+    lispLibs = [ (getAttr "dissect" pkgs) ];
+  };
+  assertion-error_slash_test = {
+    pname = "assertion-error_test";
+    version = "20191227-git";
+    asds = [ "assertion-error" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/assertion-error/2019-12-27/assertion-error-20191227-git.tgz";
+      sha256 = "0ix23kkakmf4nwx852zsssb831jvajr3qyppqfyks7y1ls617svn";
+      system = "assertion-error";
+      asd = "assertion-error";
+    });
+    systems = [ "assertion-error/test" ];
+    lispLibs = [ (getAttr "assertion-error" pkgs) ];
+  };
+  assoc-utils = {
+    pname = "assoc-utils";
+    version = "20200218-git";
+    asds = [ "assoc-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/assoc-utils/2020-02-18/assoc-utils-20200218-git.tgz";
+      sha256 = "1yac1v7zmdxj0p6rvwrrhyqvy7yjfhmqbchkwqhhr89gpjvvaick";
+      system = "assoc-utils";
+      asd = "assoc-utils";
+    });
+    systems = [ "assoc-utils" ];
+    lispLibs = [  ];
+  };
+  assoc-utils-test = {
+    pname = "assoc-utils-test";
+    version = "20200218-git";
+    asds = [ "assoc-utils-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/assoc-utils/2020-02-18/assoc-utils-20200218-git.tgz";
+      sha256 = "1yac1v7zmdxj0p6rvwrrhyqvy7yjfhmqbchkwqhhr89gpjvvaick";
+      system = "assoc-utils-test";
+      asd = "assoc-utils-test";
+    });
+    systems = [ "assoc-utils-test" ];
+    lispLibs = [ (getAttr "assoc-utils" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  asteroids = {
+    pname = "asteroids";
+    version = "20191007-git";
+    asds = [ "asteroids" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asteroids/2019-10-07/asteroids-20191007-git.tgz";
+      sha256 = "1wdzwpizgy477ny6pxjshj3q25phdxsjfq8cvrbx0x7k5w8fkg50";
+      system = "asteroids";
+      asd = "asteroids";
+    });
+    systems = [ "asteroids" ];
+    lispLibs = [ (getAttr "lispbuilder-sdl" pkgs) (getAttr "lispbuilder-sdl-gfx" pkgs) (getAttr "lispbuilder-sdl-mixer" pkgs) ];
+  };
+  astonish = {
+    pname = "astonish";
+    version = "20210124-git";
+    asds = [ "astonish" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/astonish/2021-01-24/astonish-20210124-git.tgz";
+      sha256 = "14qphx97q4gqcc71figc6r3cgy89rn9c43sh35fzxkln9ydk2pr6";
+      system = "astonish";
+      asd = "astonish";
+    });
+    systems = [ "astonish" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  astonish_slash_tests = {
+    pname = "astonish_tests";
+    version = "20210124-git";
+    asds = [ "astonish" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/astonish/2021-01-24/astonish-20210124-git.tgz";
+      sha256 = "14qphx97q4gqcc71figc6r3cgy89rn9c43sh35fzxkln9ydk2pr6";
+      system = "astonish";
+      asd = "astonish";
+    });
+    systems = [ "astonish/tests" ];
+    lispLibs = [ (getAttr "astonish" pkgs) (getAttr "rove" pkgs) ];
+  };
+  async-process = {
+    pname = "async-process";
+    version = "20210531-git";
+    asds = [ "async-process" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/async-process/2021-05-31/async-process-20210531-git.tgz";
+      sha256 = "0vlhyj4rrkb1bhl1xjf25d1nv09hzpfl6hwymqkn7h6gr2fdp8m1";
+      system = "async-process";
+      asd = "async-process";
+    });
+    systems = [ "async-process" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  atdoc = {
+    pname = "atdoc";
+    version = "20120305-git";
+    asds = [ "atdoc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/atdoc/2012-03-05/atdoc-20120305-git.tgz";
+      sha256 = "1w54phadjj00sy5qz5n0hmhzyjrx26h9hw06756zdpfbzk4f5il6";
+      system = "atdoc";
+      asd = "atdoc";
+    });
+    systems = [ "atdoc" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "cxml" pkgs) (getAttr "swank" pkgs) (getAttr "split-sequence" pkgs) (getAttr "xuriella" pkgs) ];
+  };
+  atomics = {
+    pname = "atomics";
+    version = "20210630-git";
+    asds = [ "atomics" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/atomics/2021-06-30/atomics-20210630-git.tgz";
+      sha256 = "0mp5jdqq0aamdhgnvw149cqqi3zg7dkkibp25qi4rafw1fnpd40z";
+      system = "atomics";
+      asd = "atomics";
+    });
+    systems = [ "atomics" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  atomics-test = {
+    pname = "atomics-test";
+    version = "20210630-git";
+    asds = [ "atomics-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/atomics/2021-06-30/atomics-20210630-git.tgz";
+      sha256 = "0mp5jdqq0aamdhgnvw149cqqi3zg7dkkibp25qi4rafw1fnpd40z";
+      system = "atomics-test";
+      asd = "atomics-test";
+    });
+    systems = [ "atomics-test" ];
+    lispLibs = [ (getAttr "atomics" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  audio-tag = {
+    pname = "audio-tag";
+    version = "20210531-git";
+    asds = [ "audio-tag" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/audio-tag/2021-05-31/audio-tag-20210531-git.tgz";
+      sha256 = "1k9152wakazr34q4q5x8zzv3mjjkf0n9xdg7c2qqwigwws0ysgzh";
+      system = "audio-tag";
+      asd = "audio-tag";
+    });
+    systems = [ "audio-tag" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) (getAttr "osicat" pkgs) ];
+  };
+  audio-tag_slash_tests = {
+    pname = "audio-tag_tests";
+    version = "20210531-git";
+    asds = [ "audio-tag" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/audio-tag/2021-05-31/audio-tag-20210531-git.tgz";
+      sha256 = "1k9152wakazr34q4q5x8zzv3mjjkf0n9xdg7c2qqwigwws0ysgzh";
+      system = "audio-tag";
+      asd = "audio-tag";
+    });
+    systems = [ "audio-tag/tests" ];
+    lispLibs = [ (getAttr "audio-tag" pkgs) (getAttr "rove" pkgs) ];
+  };
+  authenticated-encryption = {
+    pname = "authenticated-encryption";
+    version = "20181018-git";
+    asds = [ "authenticated-encryption" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/authenticated-encryption/2018-10-18/authenticated-encryption-20181018-git.tgz";
+      sha256 = "0cvl4g0g59z5dicg7q3f9hhqshz2m0a6l2fzic75c3yv28q8m2vr";
+      system = "authenticated-encryption";
+      asd = "authenticated-encryption";
+    });
+    systems = [ "authenticated-encryption" ];
+    lispLibs = [ (getAttr "ironclad" pkgs) ];
+  };
+  authenticated-encryption-test = {
+    pname = "authenticated-encryption-test";
+    version = "20181018-git";
+    asds = [ "authenticated-encryption-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/authenticated-encryption/2018-10-18/authenticated-encryption-20181018-git.tgz";
+      sha256 = "0cvl4g0g59z5dicg7q3f9hhqshz2m0a6l2fzic75c3yv28q8m2vr";
+      system = "authenticated-encryption-test";
+      asd = "authenticated-encryption-test";
+    });
+    systems = [ "authenticated-encryption-test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "authenticated-encryption" pkgs) ];
+  };
+  autoexport = {
+    pname = "autoexport";
+    version = "20211020-git";
+    asds = [ "autoexport" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/autoexport/2021-10-20/autoexport-20211020-git.tgz";
+      sha256 = "15kzq4hfsracxapxik3i6sxqqnwl7cb9lisgk9krrsk13d97l844";
+      system = "autoexport";
+      asd = "autoexport";
+    });
+    systems = [ "autoexport" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  automaton = {
+    pname = "automaton";
+    version = "20211230-git";
+    asds = [ "automaton" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "automaton";
+      asd = "automaton";
+    });
+    systems = [ "automaton" ];
+    lispLibs = [  ];
+  };
+  avatar-api = {
+    pname = "avatar-api";
+    version = "20150608-git";
+    asds = [ "avatar-api" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/avatar-api/2015-06-08/avatar-api-20150608-git.tgz";
+      sha256 = "026s8m0bl13iqyakfxc6zwacvpj2bxxipms1kl3k9ql99yn8imvr";
+      system = "avatar-api";
+      asd = "avatar-api";
+    });
+    systems = [ "avatar-api" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "crypto-shortcuts" pkgs) (getAttr "drakma" pkgs) ];
+  };
+  avatar-api-test = {
+    pname = "avatar-api-test";
+    version = "20150608-git";
+    asds = [ "avatar-api-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/avatar-api/2015-06-08/avatar-api-20150608-git.tgz";
+      sha256 = "026s8m0bl13iqyakfxc6zwacvpj2bxxipms1kl3k9ql99yn8imvr";
+      system = "avatar-api-test";
+      asd = "avatar-api-test";
+    });
+    systems = [ "avatar-api-test" ];
+    lispLibs = [ (getAttr "avatar-api" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  aws-foundation = {
+    pname = "aws-foundation";
+    version = "20180711-git";
+    asds = [ "aws-foundation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/aws-foundation/2018-07-11/aws-foundation-20180711-git.tgz";
+      sha256 = "1f5af22qw583frqjhnkf9wcccdkkpjiv0bbnlqqk7fxzm9pqpvhb";
+      system = "aws-foundation";
+      asd = "aws-foundation";
+    });
+    systems = [ "aws-foundation" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-json-helper" pkgs) (getAttr "dexador" pkgs) (getAttr "ironclad" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  aws-sign4 = {
+    pname = "aws-sign4";
+    version = "20201220-git";
+    asds = [ "aws-sign4" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/aws-sign4/2020-12-20/aws-sign4-20201220-git.tgz";
+      sha256 = "1bwqmy9vlq0ilwhp48y05cdfav9inwv4kai8mjj1a95776xjmjnk";
+      system = "aws-sign4";
+      asd = "aws-sign4";
+    });
+    systems = [ "aws-sign4" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "ironclad" pkgs) (getAttr "local-time" pkgs) (getAttr "secret-values" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  aws-sign4-example = {
+    pname = "aws-sign4-example";
+    version = "20201220-git";
+    asds = [ "aws-sign4-example" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/aws-sign4/2020-12-20/aws-sign4-20201220-git.tgz";
+      sha256 = "1bwqmy9vlq0ilwhp48y05cdfav9inwv4kai8mjj1a95776xjmjnk";
+      system = "aws-sign4-example";
+      asd = "aws-sign4";
+    });
+    systems = [ "aws-sign4-example" ];
+    lispLibs = [ (getAttr "aws-sign4" pkgs) (getAttr "drakma" pkgs) ];
+  };
+  aws-sign4-tests = {
+    pname = "aws-sign4-tests";
+    version = "20201220-git";
+    asds = [ "aws-sign4-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/aws-sign4/2020-12-20/aws-sign4-20201220-git.tgz";
+      sha256 = "1bwqmy9vlq0ilwhp48y05cdfav9inwv4kai8mjj1a95776xjmjnk";
+      system = "aws-sign4-tests";
+      asd = "aws-sign4";
+    });
+    systems = [ "aws-sign4-tests" ];
+    lispLibs = [ (getAttr "aws-sign4" pkgs) ];
+  };
+  ayah-captcha = {
+    pname = "ayah-captcha";
+    version = "20180228-git";
+    asds = [ "ayah-captcha" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ayah-captcha/2018-02-28/ayah-captcha-20180228-git.tgz";
+      sha256 = "1l9zg0hj5cd1yda1nnab7byrgkakh5vn3qcd4lmfidbijk6kiamw";
+      system = "ayah-captcha";
+      asd = "ayah-captcha";
+    });
+    systems = [ "ayah-captcha" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "drakma" pkgs) ];
+  };
+  ayah-captcha-demo = {
+    pname = "ayah-captcha-demo";
+    version = "20180228-git";
+    asds = [ "ayah-captcha-demo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ayah-captcha/2018-02-28/ayah-captcha-20180228-git.tgz";
+      sha256 = "1l9zg0hj5cd1yda1nnab7byrgkakh5vn3qcd4lmfidbijk6kiamw";
+      system = "ayah-captcha-demo";
+      asd = "ayah-captcha-demo";
+    });
+    systems = [ "ayah-captcha-demo" ];
+    lispLibs = [ (getAttr "ayah-captcha" pkgs) (getAttr "cl-who" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  babel = {
+    pname = "babel";
+    version = "20200925-git";
+    asds = [ "babel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/babel/2020-09-25/babel-20200925-git.tgz";
+      sha256 = "04frn19mngvsh8bh7fb1rfjm8mqk8bgzx5c43dg7z02nfsxkqqak";
+      system = "babel";
+      asd = "babel";
+    });
+    systems = [ "babel" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  babel-streams = {
+    pname = "babel-streams";
+    version = "20200925-git";
+    asds = [ "babel-streams" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/babel/2020-09-25/babel-20200925-git.tgz";
+      sha256 = "04frn19mngvsh8bh7fb1rfjm8mqk8bgzx5c43dg7z02nfsxkqqak";
+      system = "babel-streams";
+      asd = "babel-streams";
+    });
+    systems = [ "babel-streams" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  babel-tests = {
+    pname = "babel-tests";
+    version = "20200925-git";
+    asds = [ "babel-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/babel/2020-09-25/babel-20200925-git.tgz";
+      sha256 = "04frn19mngvsh8bh7fb1rfjm8mqk8bgzx5c43dg7z02nfsxkqqak";
+      system = "babel-tests";
+      asd = "babel-tests";
+    });
+    systems = [ "babel-tests" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  base = {
+    pname = "base";
+    version = "master-83d7b044-git";
+    asds = [ "base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "base";
+      asd = "base";
+    });
+    systems = [ "base" ];
+    lispLibs = [  ];
+  };
+  base-blobs = {
+    pname = "base-blobs";
+    version = "stable-git";
+    asds = [ "base-blobs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/base-blobs/2020-10-16/base-blobs-stable-git.tgz";
+      sha256 = "06m8rvczj309wq8by697gvrklhff5mnn5n5sky7i11bnszrxysys";
+      system = "base-blobs";
+      asd = "base-blobs";
+    });
+    systems = [ "base-blobs" ];
+    lispLibs = [ (getAttr "bodge-blobs-support" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  base64 = {
+    pname = "base64";
+    version = "20181018-git";
+    asds = [ "base64" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/base64/2018-10-18/base64-20181018-git.tgz";
+      sha256 = "0qkqcrgmcqshcsnzn4pcyk8d1j9c7pks2qf51p1hfybz5shxkqkh";
+      system = "base64";
+      asd = "base64";
+    });
+    systems = [ "base64" ];
+    lispLibs = [  ];
+  };
+  basic-binary-ipc = {
+    pname = "basic-binary-ipc";
+    version = "20211209-git";
+    asds = [ "basic-binary-ipc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/basic-binary-ipc/2021-12-09/basic-binary-ipc-20211209-git.tgz";
+      sha256 = "0bsxy27mnmzr6vys96cs2is57zvk0n9hlif9llnp4q9m2wzycbwm";
+      system = "basic-binary-ipc";
+      asd = "basic-binary-ipc";
+    });
+    systems = [ "basic-binary-ipc" ];
+    lispLibs = [ (getAttr "cffi-grovel" pkgs) ];
+  };
+  basic-binary-ipc-tests = {
+    pname = "basic-binary-ipc-tests";
+    version = "20211209-git";
+    asds = [ "basic-binary-ipc-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/basic-binary-ipc/2021-12-09/basic-binary-ipc-20211209-git.tgz";
+      sha256 = "0bsxy27mnmzr6vys96cs2is57zvk0n9hlif9llnp4q9m2wzycbwm";
+      system = "basic-binary-ipc-tests";
+      asd = "basic-binary-ipc-tests";
+    });
+    systems = [ "basic-binary-ipc-tests" ];
+    lispLibs = [ (getAttr "basic-binary-ipc" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  bdef = {
+    pname = "bdef";
+    version = "20211209-git";
+    asds = [ "bdef" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bdef/2021-12-09/bdef-20211209-git.tgz";
+      sha256 = "1sbzw5lsjhbbxib1vnhypxnkxlxsxc1bjph2fkmnvbmhiwxvc0f8";
+      system = "bdef";
+      asd = "bdef";
+    });
+    systems = [ "bdef" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "eager-future2" pkgs) (getAttr "jsown" pkgs) (getAttr "mutility" pkgs) (getAttr "parse-float" pkgs) ];
+  };
+  bdef_slash_cl-collider = {
+    pname = "bdef_cl-collider";
+    version = "20211209-git";
+    asds = [ "bdef" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bdef/2021-12-09/bdef-20211209-git.tgz";
+      sha256 = "1sbzw5lsjhbbxib1vnhypxnkxlxsxc1bjph2fkmnvbmhiwxvc0f8";
+      system = "bdef";
+      asd = "bdef";
+    });
+    systems = [ "bdef/cl-collider" ];
+    lispLibs = [ (getAttr "bdef" pkgs) (getAttr "cl-collider" pkgs) ];
+  };
+  bdef_slash_cl-patterns = {
+    pname = "bdef_cl-patterns";
+    version = "20211209-git";
+    asds = [ "bdef" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bdef/2021-12-09/bdef-20211209-git.tgz";
+      sha256 = "1sbzw5lsjhbbxib1vnhypxnkxlxsxc1bjph2fkmnvbmhiwxvc0f8";
+      system = "bdef";
+      asd = "bdef";
+    });
+    systems = [ "bdef/cl-patterns" ];
+    lispLibs = [ (getAttr "bdef" pkgs) (getAttr "cl-patterns" pkgs) ];
+  };
+  bdef_slash_tests = {
+    pname = "bdef_tests";
+    version = "20211209-git";
+    asds = [ "bdef" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bdef/2021-12-09/bdef-20211209-git.tgz";
+      sha256 = "1sbzw5lsjhbbxib1vnhypxnkxlxsxc1bjph2fkmnvbmhiwxvc0f8";
+      system = "bdef";
+      asd = "bdef";
+    });
+    systems = [ "bdef/tests" ];
+    lispLibs = [ (getAttr "bdef" pkgs) (getAttr "cl-patterns" pkgs) (getAttr "fiveam" pkgs) (getAttr "mutility" pkgs) ];
+  };
+  beast = {
+    pname = "beast";
+    version = "20211020-hg";
+    asds = [ "beast" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/beast/2021-10-20/beast-20211020-hg.tgz";
+      sha256 = "0rb7yxr4clsdbgyjz9d8inxgj7zs0knrngl7gb6b8ky1vyrv12k4";
+      system = "beast";
+      asd = "beast";
+    });
+    systems = [ "beast" ];
+    lispLibs = [  ];
+  };
+  beast_slash_test = {
+    pname = "beast_test";
+    version = "20211020-hg";
+    asds = [ "beast" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/beast/2021-10-20/beast-20211020-hg.tgz";
+      sha256 = "0rb7yxr4clsdbgyjz9d8inxgj7zs0knrngl7gb6b8ky1vyrv12k4";
+      system = "beast";
+      asd = "beast";
+    });
+    systems = [ "beast/test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "beast" pkgs) ];
+  };
+  beirc = {
+    pname = "beirc";
+    version = "20150505-git";
+    asds = [ "beirc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/beirc/2015-05-05/beirc-20150505-git.tgz";
+      sha256 = "1jmxihxln51vxy85r3zx0gfrzs9ng8nmj87j5ws1fg8bwv8b2zc4";
+      system = "beirc";
+      asd = "beirc";
+    });
+    systems = [ "beirc" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "cl-irc" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "mcclim" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  bencode = {
+    pname = "bencode";
+    version = "20180228-git";
+    asds = [ "bencode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bencode/2018-02-28/cl-bencode-20180228-git.tgz";
+      sha256 = "02n9cv5jbgzjwmw11c1a557r62m4i4gmmx38csscbq0cv6vzys1j";
+      system = "bencode";
+      asd = "bencode";
+    });
+    systems = [ "bencode" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) ];
+  };
+  bencode-test = {
+    pname = "bencode-test";
+    version = "20180228-git";
+    asds = [ "bencode-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bencode/2018-02-28/cl-bencode-20180228-git.tgz";
+      sha256 = "02n9cv5jbgzjwmw11c1a557r62m4i4gmmx38csscbq0cv6vzys1j";
+      system = "bencode-test";
+      asd = "bencode";
+    });
+    systems = [ "bencode-test" ];
+    lispLibs = [ (getAttr "check-it" pkgs) (getAttr "bencode" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  bermuda = {
+    pname = "bermuda";
+    version = "20150608-git";
+    asds = [ "bermuda" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pal/2015-06-08/pal-20150608-git.tgz";
+      sha256 = "0kn6jxirrn7wzqymzsi0kx2ivl0nrrcgbl4dm1714s48qw0jwhcw";
+      system = "bermuda";
+      asd = "bermuda";
+    });
+    systems = [ "bermuda" ];
+    lispLibs = [ (getAttr "pal" pkgs) ];
+  };
+  bert = {
+    pname = "bert";
+    version = "20141106-git";
+    asds = [ "bert" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bert/2014-11-06/cl-bert-20141106-git.tgz";
+      sha256 = "18cyk63dmcqqwsld4h65mzscgjsc085ws69z097naqm1r70kkygr";
+      system = "bert";
+      asd = "bert";
+    });
+    systems = [ "bert" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "erlang-term" pkgs) ];
+  };
+  bibtex = {
+    pname = "bibtex";
+    version = "20181210-git";
+    asds = [ "bibtex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bibtex/2018-12-10/cl-bibtex-20181210-git.tgz";
+      sha256 = "1rb4yf1z0vvl6z4kyj0s81kq1pvxwpvbgiaraqllgj1wpf51m78h";
+      system = "bibtex";
+      asd = "bibtex";
+    });
+    systems = [ "bibtex" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) ];
+  };
+  big-string = {
+    pname = "big-string";
+    version = "20190307-hg";
+    asds = [ "big-string" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/big-string/2019-03-07/big-string-20190307-hg.tgz";
+      sha256 = "1aqjs2l7wlkkgkz1wlqx3xbnk3iy0sy43kcxqi9a35fg6h223nyy";
+      system = "big-string";
+      asd = "big-string";
+    });
+    systems = [ "big-string" ];
+    lispLibs = [  ];
+  };
+  bike = {
+    pname = "bike";
+    version = "20211020-git";
+    asds = [ "bike" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bike/2021-10-20/bike-20211020-git.tgz";
+      sha256 = "0ivjx4xj97hxzvcf6c67p3gb7wilyk7jb33xfvan55a6qkhn01qh";
+      system = "bike";
+      asd = "bike";
+    });
+    systems = [ "bike" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bike-internals" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "named-readtables" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  bike-examples = {
+    pname = "bike-examples";
+    version = "20211020-git";
+    asds = [ "bike-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bike/2021-10-20/bike-20211020-git.tgz";
+      sha256 = "0ivjx4xj97hxzvcf6c67p3gb7wilyk7jb33xfvan55a6qkhn01qh";
+      system = "bike-examples";
+      asd = "bike-examples";
+    });
+    systems = [ "bike-examples" ];
+    lispLibs = [ (getAttr "bike" pkgs) ];
+  };
+  bike-internals = {
+    pname = "bike-internals";
+    version = "20211020-git";
+    asds = [ "bike-internals" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bike/2021-10-20/bike-20211020-git.tgz";
+      sha256 = "0ivjx4xj97hxzvcf6c67p3gb7wilyk7jb33xfvan55a6qkhn01qh";
+      system = "bike-internals";
+      asd = "bike-internals";
+    });
+    systems = [ "bike-internals" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  bike-tests = {
+    pname = "bike-tests";
+    version = "20211020-git";
+    asds = [ "bike-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bike/2021-10-20/bike-20211020-git.tgz";
+      sha256 = "0ivjx4xj97hxzvcf6c67p3gb7wilyk7jb33xfvan55a6qkhn01qh";
+      system = "bike-tests";
+      asd = "bike-tests";
+    });
+    systems = [ "bike-tests" ];
+    lispLibs = [ (getAttr "bike" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  binary-io = {
+    pname = "binary-io";
+    version = "20201016-git";
+    asds = [ "binary-io" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binary-io/2020-10-16/binary-io-20201016-git.tgz";
+      sha256 = "0gxnl12nydh8aslw78jc4cmq8licj342y2f04jalqb4d9m9jbri2";
+      system = "binary-io";
+      asd = "binary-io";
+    });
+    systems = [ "binary-io" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "ieee-floats" pkgs) ];
+  };
+  binary-io_slash_test = {
+    pname = "binary-io_test";
+    version = "20201016-git";
+    asds = [ "binary-io" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binary-io/2020-10-16/binary-io-20201016-git.tgz";
+      sha256 = "0gxnl12nydh8aslw78jc4cmq8licj342y2f04jalqb4d9m9jbri2";
+      system = "binary-io";
+      asd = "binary-io";
+    });
+    systems = [ "binary-io/test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "binary-io" pkgs) ];
+  };
+  binary-lass = {
+    pname = "binary-lass";
+    version = "20211020-git";
+    asds = [ "binary-lass" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lass/2021-10-20/lass-20211020-git.tgz";
+      sha256 = "06wds1qzj8s862pmmza1427n7gdpplqplxqnxyqkrr0hgxdl4xbf";
+      system = "binary-lass";
+      asd = "binary-lass";
+    });
+    systems = [ "binary-lass" ];
+    lispLibs = [ (getAttr "lass" pkgs) ];
+  };
+  binary-types = {
+    pname = "binary-types";
+    version = "20130615-git";
+    asds = [ "binary-types" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binary-types/2013-06-15/binary-types-20130615-git.tgz";
+      sha256 = "1bh65p9vg2kgh4m8q1a4jiyncnp5prdzh0d0l4pzh3jvfhgbm0gh";
+      system = "binary-types";
+      asd = "binary-types";
+    });
+    systems = [ "binary-types" ];
+    lispLibs = [  ];
+  };
+  binascii = {
+    pname = "binascii";
+    version = "20150709-git";
+    asds = [ "binascii" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binascii/2015-07-09/binascii-20150709-git.tgz";
+      sha256 = "000rcdl8qshr7n48zq9bzrc4lkjx4ylb3r3w9x9syhiwfla9j4b7";
+      system = "binascii";
+      asd = "binascii";
+    });
+    systems = [ "binascii" ];
+    lispLibs = [  ];
+  };
+  binascii-tests = {
+    pname = "binascii-tests";
+    version = "20150709-git";
+    asds = [ "binascii-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binascii/2015-07-09/binascii-20150709-git.tgz";
+      sha256 = "000rcdl8qshr7n48zq9bzrc4lkjx4ylb3r3w9x9syhiwfla9j4b7";
+      system = "binascii-tests";
+      asd = "binascii";
+    });
+    systems = [ "binascii-tests" ];
+    lispLibs = [ (getAttr "binascii" pkgs) ];
+  };
+  binding-arrows = {
+    pname = "binding-arrows";
+    version = "20210630-git";
+    asds = [ "binding-arrows" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binding-arrows/2021-06-30/binding-arrows-20210630-git.tgz";
+      sha256 = "0hqikgzic7kjq2n1d924yldfm30qz67cmsk6gghi9cbmxkwdlwp8";
+      system = "binding-arrows";
+      asd = "binding-arrows";
+    });
+    systems = [ "binding-arrows" ];
+    lispLibs = [  ];
+  };
+  binding-arrows_slash_test = {
+    pname = "binding-arrows_test";
+    version = "20210630-git";
+    asds = [ "binding-arrows" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binding-arrows/2021-06-30/binding-arrows-20210630-git.tgz";
+      sha256 = "0hqikgzic7kjq2n1d924yldfm30qz67cmsk6gghi9cbmxkwdlwp8";
+      system = "binding-arrows";
+      asd = "binding-arrows";
+    });
+    systems = [ "binding-arrows/test" ];
+    lispLibs = [ (getAttr "binding-arrows" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  binfix = {
+    pname = "binfix";
+    version = "20190813-git";
+    asds = [ "binfix" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binfix/2019-08-13/binfix-20190813-git.tgz";
+      sha256 = "07925kj32y7ppwmz62c08gd0s6yp12s6nz1wh0pzh0ccq9nwgzhz";
+      system = "binfix";
+      asd = "binfix";
+    });
+    systems = [ "binfix" ];
+    lispLibs = [  ];
+  };
+  binfix_slash_5am = {
+    pname = "binfix_5am";
+    version = "20190813-git";
+    asds = [ "binfix" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binfix/2019-08-13/binfix-20190813-git.tgz";
+      sha256 = "07925kj32y7ppwmz62c08gd0s6yp12s6nz1wh0pzh0ccq9nwgzhz";
+      system = "binfix";
+      asd = "binfix";
+    });
+    systems = [ "binfix/5am" ];
+    lispLibs = [ (getAttr "binfix" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  binomial-heap = {
+    pname = "binomial-heap";
+    version = "20130420-git";
+    asds = [ "binomial-heap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binomial-heap/2013-04-20/binomial-heap-20130420-git.tgz";
+      sha256 = "1d4jrlkdjdppnvqpqkr7i7djpgmrvrbky4pc1pxvqci5jx7xlkk6";
+      system = "binomial-heap";
+      asd = "binomial-heap";
+    });
+    systems = [ "binomial-heap" ];
+    lispLibs = [  ];
+  };
+  binpack = {
+    pname = "binpack";
+    version = "20201220-git";
+    asds = [ "binpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binpack/2020-12-20/binpack-20201220-git.tgz";
+      sha256 = "1vp69dyvcgrbqr14mhs3z246kp6x57bpw8p8rgvjd87xb86gnzzq";
+      system = "binpack";
+      asd = "binpack";
+    });
+    systems = [ "binpack" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  binpack-test = {
+    pname = "binpack-test";
+    version = "20201220-git";
+    asds = [ "binpack-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binpack/2020-12-20/binpack-20201220-git.tgz";
+      sha256 = "1vp69dyvcgrbqr14mhs3z246kp6x57bpw8p8rgvjd87xb86gnzzq";
+      system = "binpack-test";
+      asd = "binpack-test";
+    });
+    systems = [ "binpack-test" ];
+    lispLibs = [ (getAttr "binpack" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  binpack-test_slash_2 = {
+    pname = "binpack-test_2";
+    version = "20201220-git";
+    asds = [ "binpack-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binpack/2020-12-20/binpack-20201220-git.tgz";
+      sha256 = "1vp69dyvcgrbqr14mhs3z246kp6x57bpw8p8rgvjd87xb86gnzzq";
+      system = "binpack-test";
+      asd = "binpack-test";
+    });
+    systems = [ "binpack-test/2" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  binpack-test_slash_common = {
+    pname = "binpack-test_common";
+    version = "20201220-git";
+    asds = [ "binpack-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binpack/2020-12-20/binpack-20201220-git.tgz";
+      sha256 = "1vp69dyvcgrbqr14mhs3z246kp6x57bpw8p8rgvjd87xb86gnzzq";
+      system = "binpack-test";
+      asd = "binpack-test";
+    });
+    systems = [ "binpack-test/common" ];
+    lispLibs = [ (getAttr "binpack" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  binpack_slash_2 = {
+    pname = "binpack_2";
+    version = "20201220-git";
+    asds = [ "binpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/binpack/2020-12-20/binpack-20201220-git.tgz";
+      sha256 = "1vp69dyvcgrbqr14mhs3z246kp6x57bpw8p8rgvjd87xb86gnzzq";
+      system = "binpack";
+      asd = "binpack";
+    });
+    systems = [ "binpack/2" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  birch = {
+    pname = "birch";
+    version = "20160318-git";
+    asds = [ "birch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/birch/2016-03-18/birch-20160318-git.tgz";
+      sha256 = "15vkw89zdvd9p7d6ddqdd21kkkcz9iyy8fvjwrqnn6gyqi4c109m";
+      system = "birch";
+      asd = "birch";
+    });
+    systems = [ "birch" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "split-sequence" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  birch_dot_test = {
+    pname = "birch.test";
+    version = "20160318-git";
+    asds = [ "birch.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/birch/2016-03-18/birch-20160318-git.tgz";
+      sha256 = "15vkw89zdvd9p7d6ddqdd21kkkcz9iyy8fvjwrqnn6gyqi4c109m";
+      system = "birch.test";
+      asd = "birch.test";
+    });
+    systems = [ "birch.test" ];
+    lispLibs = [ (getAttr "birch" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "prove" pkgs) ];
+  };
+  bit-ops = {
+    pname = "bit-ops";
+    version = "20180228-git";
+    asds = [ "bit-ops" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bit-ops/2018-02-28/bit-ops-20180228-git.tgz";
+      sha256 = "0rwmm438bgxfl5ab1vnrsxgimxnr3d5kjv9a0yzmlnbg9i2hyhz7";
+      system = "bit-ops";
+      asd = "bit-ops";
+    });
+    systems = [ "bit-ops" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "immutable-struct" pkgs) (getAttr "iterate" pkgs) (getAttr "lisp-namespace" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  bit-ops_dot_test = {
+    pname = "bit-ops.test";
+    version = "20180228-git";
+    asds = [ "bit-ops.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bit-ops/2018-02-28/bit-ops-20180228-git.tgz";
+      sha256 = "0rwmm438bgxfl5ab1vnrsxgimxnr3d5kjv9a0yzmlnbg9i2hyhz7";
+      system = "bit-ops.test";
+      asd = "bit-ops.test";
+    });
+    systems = [ "bit-ops.test" ];
+    lispLibs = [ (getAttr "bit-ops" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  bit-smasher = {
+    pname = "bit-smasher";
+    version = "20181018-git";
+    asds = [ "bit-smasher" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bit-smasher/2018-10-18/bit-smasher-20181018-git.tgz";
+      sha256 = "0wjmwn06fjpw0rlpaksf3ab727p8fnzj58z7jajl3m0wqd4ii74w";
+      system = "bit-smasher";
+      asd = "bit-smasher";
+    });
+    systems = [ "bit-smasher" ];
+    lispLibs = [ (getAttr "cl-base58" pkgs) (getAttr "cl-base64" pkgs) ];
+  };
+  bitfield = {
+    pname = "bitfield";
+    version = "20211230-git";
+    asds = [ "bitfield" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bitfield/2021-12-30/bitfield-20211230-git.tgz";
+      sha256 = "1137kdj5imc5gj9g6hj4w6ksqnqppgm3knzv7j2f8r5qpfl8rfl2";
+      system = "bitfield";
+      asd = "bitfield";
+    });
+    systems = [ "bitfield" ];
+    lispLibs = [  ];
+  };
+  bitfield-schema = {
+    pname = "bitfield-schema";
+    version = "20120107-git";
+    asds = [ "bitfield-schema" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bitfield-schema/2012-01-07/bitfield-schema-20120107-git.tgz";
+      sha256 = "08xkl7rbfhrx8vj98zj1lmhv6pfg2f5gk14xj7qys7mkj2iv4li6";
+      system = "bitfield-schema";
+      asd = "bitfield-schema";
+    });
+    systems = [ "bitfield-schema" ];
+    lispLibs = [ (getAttr "iterate" pkgs) ];
+  };
+  bitio = {
+    pname = "bitio";
+    version = "20171023-git";
+    asds = [ "bitio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bitio/2017-10-23/bitio-20171023-git.tgz";
+      sha256 = "1rwd4h546rr4cspavrqlv713hgwr5d26vq6kr3y6wsd4may54wah";
+      system = "bitio";
+      asd = "bitio";
+    });
+    systems = [ "bitio" ];
+    lispLibs = [ (getAttr "fast-io" pkgs) ];
+  };
+  bk-tree = {
+    pname = "bk-tree";
+    version = "20130420-git";
+    asds = [ "bk-tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bk-tree/2013-04-20/bk-tree-20130420-git.tgz";
+      sha256 = "1nrz6fwzvkzvs6ipc5rgas77p5hv5bnaw2in5760v240gg7lxqzz";
+      system = "bk-tree";
+      asd = "bk-tree";
+    });
+    systems = [ "bk-tree" ];
+    lispLibs = [  ];
+  };
+  bknr_dot_data_dot_impex = {
+    pname = "bknr.data.impex";
+    version = "20191227-git";
+    asds = [ "bknr.data.impex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bknr-datastore/2019-12-27/bknr-datastore-20191227-git.tgz";
+      sha256 = "1475vxcxdmx39src7bls3bal3sc3ik3ys1v953dh716908j3cny0";
+      system = "bknr.data.impex";
+      asd = "bknr.data.impex";
+    });
+    systems = [ "bknr.data.impex" ];
+    lispLibs = [ (getAttr "bknr_dot_datastore" pkgs) (getAttr "bknr_dot_impex" pkgs) (getAttr "bknr_dot_indices" pkgs) (getAttr "bknr_dot_utils" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "unit-test" pkgs) ];
+  };
+  bknr_dot_datastore = {
+    pname = "bknr.datastore";
+    version = "20191227-git";
+    asds = [ "bknr.datastore" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bknr-datastore/2019-12-27/bknr-datastore-20191227-git.tgz";
+      sha256 = "1475vxcxdmx39src7bls3bal3sc3ik3ys1v953dh716908j3cny0";
+      system = "bknr.datastore";
+      asd = "bknr.datastore";
+    });
+    systems = [ "bknr.datastore" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bknr_dot_indices" pkgs) (getAttr "bknr_dot_utils" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "closer-mop" pkgs) (getAttr "trivial-utf-8" pkgs) (getAttr "unit-test" pkgs) (getAttr "yason" pkgs) ];
+  };
+  bknr_dot_impex = {
+    pname = "bknr.impex";
+    version = "20191227-git";
+    asds = [ "bknr.impex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bknr-datastore/2019-12-27/bknr-datastore-20191227-git.tgz";
+      sha256 = "1475vxcxdmx39src7bls3bal3sc3ik3ys1v953dh716908j3cny0";
+      system = "bknr.impex";
+      asd = "bknr.impex";
+    });
+    systems = [ "bknr.impex" ];
+    lispLibs = [ (getAttr "bknr_dot_indices" pkgs) (getAttr "bknr_dot_utils" pkgs) (getAttr "bknr_dot_xml" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "closer-mop" pkgs) (getAttr "cxml" pkgs) ];
+  };
+  bknr_dot_indices = {
+    pname = "bknr.indices";
+    version = "20191227-git";
+    asds = [ "bknr.indices" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bknr-datastore/2019-12-27/bknr-datastore-20191227-git.tgz";
+      sha256 = "1475vxcxdmx39src7bls3bal3sc3ik3ys1v953dh716908j3cny0";
+      system = "bknr.indices";
+      asd = "bknr.indices";
+    });
+    systems = [ "bknr.indices" ];
+    lispLibs = [ (getAttr "bknr_dot_skip-list" pkgs) (getAttr "bknr_dot_utils" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  bknr_dot_modules = {
+    pname = "bknr.modules";
+    version = "20140713-git";
+    asds = [ "bknr.modules" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz";
+      sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2";
+      system = "bknr.modules";
+      asd = "bknr.modules";
+    });
+    systems = [ "bknr.modules" ];
+    lispLibs = [ (getAttr "bknr_dot_utils" pkgs) (getAttr "bknr_dot_web" pkgs) (getAttr "cl-gd" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-smtp" pkgs) (getAttr "closer-mop" pkgs) (getAttr "cxml" pkgs) (getAttr "md5" pkgs) (getAttr "parenscript" pkgs) (getAttr "puri" pkgs) (getAttr "stem" pkgs) (getAttr "unit-test" pkgs) ];
+  };
+  bknr_dot_skip-list = {
+    pname = "bknr.skip-list";
+    version = "20191227-git";
+    asds = [ "bknr.skip-list" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bknr-datastore/2019-12-27/bknr-datastore-20191227-git.tgz";
+      sha256 = "1475vxcxdmx39src7bls3bal3sc3ik3ys1v953dh716908j3cny0";
+      system = "bknr.skip-list";
+      asd = "bknr.skip-list";
+    });
+    systems = [ "bknr.skip-list" ];
+    lispLibs = [  ];
+  };
+  bknr_dot_skip-list_dot_test = {
+    pname = "bknr.skip-list.test";
+    version = "20191227-git";
+    asds = [ "bknr.skip-list.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bknr-datastore/2019-12-27/bknr-datastore-20191227-git.tgz";
+      sha256 = "1475vxcxdmx39src7bls3bal3sc3ik3ys1v953dh716908j3cny0";
+      system = "bknr.skip-list.test";
+      asd = "bknr.skip-list";
+    });
+    systems = [ "bknr.skip-list.test" ];
+    lispLibs = [ (getAttr "bknr_dot_skip-list" pkgs) (getAttr "unit-test" pkgs) ];
+  };
+  bknr_dot_utils = {
+    pname = "bknr.utils";
+    version = "20191227-git";
+    asds = [ "bknr.utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bknr-datastore/2019-12-27/bknr-datastore-20191227-git.tgz";
+      sha256 = "1475vxcxdmx39src7bls3bal3sc3ik3ys1v953dh716908j3cny0";
+      system = "bknr.utils";
+      asd = "bknr.utils";
+    });
+    systems = [ "bknr.utils" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "md5" pkgs) ];
+  };
+  bknr_dot_web = {
+    pname = "bknr.web";
+    version = "20140713-git";
+    asds = [ "bknr.web" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz";
+      sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2";
+      system = "bknr.web";
+      asd = "bknr.web";
+    });
+    systems = [ "bknr.web" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bknr_dot_data_dot_impex" pkgs) (getAttr "bknr_dot_datastore" pkgs) (getAttr "bknr_dot_utils" pkgs) (getAttr "bknr_dot_xml" pkgs) (getAttr "cl-gd" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cxml" pkgs) (getAttr "drakma" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "md5" pkgs) (getAttr "parenscript" pkgs) (getAttr "puri" pkgs) (getAttr "unit-test" pkgs) (getAttr "usocket" pkgs) (getAttr "xhtmlgen" pkgs) (getAttr "yason" pkgs) ];
+  };
+  bknr_dot_xml = {
+    pname = "bknr.xml";
+    version = "20191227-git";
+    asds = [ "bknr.xml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bknr-datastore/2019-12-27/bknr-datastore-20191227-git.tgz";
+      sha256 = "1475vxcxdmx39src7bls3bal3sc3ik3ys1v953dh716908j3cny0";
+      system = "bknr.xml";
+      asd = "bknr.xml";
+    });
+    systems = [ "bknr.xml" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "cxml" pkgs) ];
+  };
+  black-tie = {
+    pname = "black-tie";
+    version = "20210228-git";
+    asds = [ "black-tie" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/black-tie/2021-02-28/black-tie-20210228-git.tgz";
+      sha256 = "1d5aa70hzhrhyqhnp8z11c3ivg7yrxbk5gfilhq2b2anb3gq1pjm";
+      system = "black-tie";
+      asd = "black-tie";
+    });
+    systems = [ "black-tie" ];
+    lispLibs = [  ];
+  };
+  blackbird = {
+    pname = "blackbird";
+    version = "20160531-git";
+    asds = [ "blackbird" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/blackbird/2016-05-31/blackbird-20160531-git.tgz";
+      sha256 = "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c";
+      system = "blackbird";
+      asd = "blackbird";
+    });
+    systems = [ "blackbird" ];
+    lispLibs = [ (getAttr "vom" pkgs) ];
+  };
+  blackbird-test = {
+    pname = "blackbird-test";
+    version = "20160531-git";
+    asds = [ "blackbird-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/blackbird/2016-05-31/blackbird-20160531-git.tgz";
+      sha256 = "0xfds5yaya64arzr7w1x38karyz11swzbhxx1afldpradj9dh19c";
+      system = "blackbird-test";
+      asd = "blackbird-test";
+    });
+    systems = [ "blackbird-test" ];
+    lispLibs = [ (getAttr "blackbird" pkgs) (getAttr "cl-async" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  blas = {
+    pname = "blas";
+    version = "20200925-git";
+    asds = [ "blas" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "blas";
+      asd = "blas";
+    });
+    systems = [ "blas" ];
+    lispLibs = [ (getAttr "blas-complex" pkgs) (getAttr "blas-package" pkgs) (getAttr "blas-real" pkgs) ];
+  };
+  blas-complex = {
+    pname = "blas-complex";
+    version = "20200925-git";
+    asds = [ "blas-complex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "blas-complex";
+      asd = "blas-complex";
+    });
+    systems = [ "blas-complex" ];
+    lispLibs = [ (getAttr "blas-real" pkgs) (getAttr "f2cl" pkgs) ];
+  };
+  blas-hompack = {
+    pname = "blas-hompack";
+    version = "20200925-git";
+    asds = [ "blas-hompack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "blas-hompack";
+      asd = "blas-hompack";
+    });
+    systems = [ "blas-hompack" ];
+    lispLibs = [ (getAttr "blas-package" pkgs) (getAttr "f2cl" pkgs) ];
+  };
+  blas-package = {
+    pname = "blas-package";
+    version = "20200925-git";
+    asds = [ "blas-package" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "blas-package";
+      asd = "blas-package";
+    });
+    systems = [ "blas-package" ];
+    lispLibs = [  ];
+  };
+  blas-real = {
+    pname = "blas-real";
+    version = "20200925-git";
+    asds = [ "blas-real" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "blas-real";
+      asd = "blas-real";
+    });
+    systems = [ "blas-real" ];
+    lispLibs = [ (getAttr "blas-hompack" pkgs) (getAttr "f2cl" pkgs) ];
+  };
+  blocks-world = {
+    pname = "blocks-world";
+    version = "20120305-git";
+    asds = [ "blocks-world" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/atdoc/2012-03-05/atdoc-20120305-git.tgz";
+      sha256 = "1w54phadjj00sy5qz5n0hmhzyjrx26h9hw06756zdpfbzk4f5il6";
+      system = "blocks-world";
+      asd = "blocks-world";
+    });
+    systems = [ "blocks-world" ];
+    lispLibs = [  ];
+  };
+  bmp-test = {
+    pname = "bmp-test";
+    version = "20211020-git";
+    asds = [ "bmp-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz";
+      sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4";
+      system = "bmp-test";
+      asd = "bmp-test";
+    });
+    systems = [ "bmp-test" ];
+    lispLibs = [ (getAttr "png" pkgs) ];
+  };
+  bnf = {
+    pname = "bnf";
+    version = "20211020-git";
+    asds = [ "bnf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bnf/2021-10-20/bnf-20211020-git.tgz";
+      sha256 = "0mj3cs7jzkfmzx23ib7nvvjky50bbjcy4my4vn5byxmzh00pj4g4";
+      system = "bnf";
+      asd = "bnf";
+    });
+    systems = [ "bnf" ];
+    lispLibs = [ (getAttr "trestrul" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  bnf_dot_test = {
+    pname = "bnf.test";
+    version = "20211020-git";
+    asds = [ "bnf.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bnf/2021-10-20/bnf-20211020-git.tgz";
+      sha256 = "0mj3cs7jzkfmzx23ib7nvvjky50bbjcy4my4vn5byxmzh00pj4g4";
+      system = "bnf.test";
+      asd = "bnf.test";
+    });
+    systems = [ "bnf.test" ];
+    lispLibs = [ (getAttr "bnf" pkgs) (getAttr "jingoh" pkgs) ];
+  };
+  bobbin = {
+    pname = "bobbin";
+    version = "20201016-hg";
+    asds = [ "bobbin" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bobbin/2020-10-16/bobbin-20201016-hg.tgz";
+      sha256 = "1yvx7d0cx5b119r4aays2rck33088bp7spaydnvkc329hfq1ahc2";
+      system = "bobbin";
+      asd = "bobbin";
+    });
+    systems = [ "bobbin" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) ];
+  };
+  bobbin_slash_test = {
+    pname = "bobbin_test";
+    version = "20201016-hg";
+    asds = [ "bobbin" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bobbin/2020-10-16/bobbin-20201016-hg.tgz";
+      sha256 = "1yvx7d0cx5b119r4aays2rck33088bp7spaydnvkc329hfq1ahc2";
+      system = "bobbin";
+      asd = "bobbin";
+    });
+    systems = [ "bobbin/test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "bobbin" pkgs) ];
+  };
+  bodge-blobs-support = {
+    pname = "bodge-blobs-support";
+    version = "stable-git";
+    asds = [ "bodge-blobs-support" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-blobs-support/2020-10-16/bodge-blobs-support-stable-git.tgz";
+      sha256 = "02nd1x6y1akp1ymv1y4z9ympwbnpd1drwi4f86xbjszxqff6jyj8";
+      system = "bodge-blobs-support";
+      asd = "bodge-blobs-support";
+    });
+    systems = [ "bodge-blobs-support" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "trivial-features" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  bodge-chipmunk = {
+    pname = "bodge-chipmunk";
+    version = "stable-git";
+    asds = [ "bodge-chipmunk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-chipmunk/2020-10-16/bodge-chipmunk-stable-git.tgz";
+      sha256 = "06zkia7rrhn1961jmayyvdbbbnf2rnr84lbd1x6gq8psfb2rif2f";
+      system = "bodge-chipmunk";
+      asd = "bodge-chipmunk";
+    });
+    systems = [ "bodge-chipmunk" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-c-ref" pkgs) (getAttr "claw" pkgs) (getAttr "claw-utils" pkgs) ];
+  };
+  bodge-chipmunk_slash_example = {
+    pname = "bodge-chipmunk_example";
+    version = "stable-git";
+    asds = [ "bodge-chipmunk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-chipmunk/2020-10-16/bodge-chipmunk-stable-git.tgz";
+      sha256 = "06zkia7rrhn1961jmayyvdbbbnf2rnr84lbd1x6gq8psfb2rif2f";
+      system = "bodge-chipmunk";
+      asd = "bodge-chipmunk";
+    });
+    systems = [ "bodge-chipmunk/example" ];
+    lispLibs = [ (getAttr "bodge-chipmunk" pkgs) (getAttr "chipmunk-blob" pkgs) (getAttr "float-features" pkgs) ];
+  };
+  bodge-concurrency = {
+    pname = "bodge-concurrency";
+    version = "stable-git";
+    asds = [ "bodge-concurrency" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-concurrency/2020-10-16/bodge-concurrency-stable-git.tgz";
+      sha256 = "06v2h7vassp5v50qsqxkmshcrlrzlhqaga4z7lnidfniw7f8d5vd";
+      system = "bodge-concurrency";
+      asd = "bodge-concurrency";
+    });
+    systems = [ "bodge-concurrency" ];
+    lispLibs = [ (getAttr "bodge-memory" pkgs) (getAttr "bodge-queue" pkgs) (getAttr "bodge-utilities" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-flow" pkgs) (getAttr "cl-muth" pkgs) (getAttr "simple-flow-dispatcher" pkgs) (getAttr "trivial-main-thread" pkgs) ];
+  };
+  bodge-glad = {
+    pname = "bodge-glad";
+    version = "stable-git";
+    asds = [ "bodge-glad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-glad/2020-10-16/bodge-glad-stable-git.tgz";
+      sha256 = "0ghrg0z5pj36igp5wpvp1iwnvjbca3wfb60kvirhv3l9ww51jg9g";
+      system = "bodge-glad";
+      asd = "bodge-glad";
+    });
+    systems = [ "bodge-glad" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) ];
+  };
+  bodge-glfw = {
+    pname = "bodge-glfw";
+    version = "stable-git";
+    asds = [ "bodge-glfw" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-glfw/2020-10-16/bodge-glfw-stable-git.tgz";
+      sha256 = "1xjg75grndl2mbfql1g2qgx810kg6wxrnhxb406m9lisd112i0m8";
+      system = "bodge-glfw";
+      asd = "bodge-glfw";
+    });
+    systems = [ "bodge-glfw" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-c-ref" pkgs) (getAttr "claw" pkgs) (getAttr "claw-utils" pkgs) ];
+  };
+  bodge-glfw_slash_example = {
+    pname = "bodge-glfw_example";
+    version = "stable-git";
+    asds = [ "bodge-glfw" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-glfw/2020-10-16/bodge-glfw-stable-git.tgz";
+      sha256 = "1xjg75grndl2mbfql1g2qgx810kg6wxrnhxb406m9lisd112i0m8";
+      system = "bodge-glfw";
+      asd = "bodge-glfw";
+    });
+    systems = [ "bodge-glfw/example" ];
+    lispLibs = [ (getAttr "bodge-glfw" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "claw" pkgs) (getAttr "glfw-blob" pkgs) ];
+  };
+  bodge-heap = {
+    pname = "bodge-heap";
+    version = "stable-git";
+    asds = [ "bodge-heap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-heap/2020-10-16/bodge-heap-stable-git.tgz";
+      sha256 = "1ngi9ccr9iz93mm3b4hgh2fj39vqpjrpkcfza5vly16z3r7gxca4";
+      system = "bodge-heap";
+      asd = "bodge-heap";
+    });
+    systems = [ "bodge-heap" ];
+    lispLibs = [  ];
+  };
+  bodge-heap_slash_tests = {
+    pname = "bodge-heap_tests";
+    version = "stable-git";
+    asds = [ "bodge-heap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-heap/2020-10-16/bodge-heap-stable-git.tgz";
+      sha256 = "1ngi9ccr9iz93mm3b4hgh2fj39vqpjrpkcfza5vly16z3r7gxca4";
+      system = "bodge-heap";
+      asd = "bodge-heap";
+    });
+    systems = [ "bodge-heap/tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bodge-heap" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  bodge-host = {
+    pname = "bodge-host";
+    version = "stable-git";
+    asds = [ "bodge-host" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-host/2021-12-09/bodge-host-stable-git.tgz";
+      sha256 = "0piayirpbh91klrk3pg0g1vxhlk8yxvbr2wv923awdalwy0fn73n";
+      system = "bodge-host";
+      asd = "bodge-host";
+    });
+    systems = [ "bodge-host" ];
+    lispLibs = [ (getAttr "bodge-concurrency" pkgs) (getAttr "bodge-glfw" pkgs) (getAttr "bodge-libc-essentials" pkgs) (getAttr "bodge-math" pkgs) (getAttr "bodge-utilities" pkgs) (getAttr "cffi-c-ref" pkgs) (getAttr "float-features" pkgs) (getAttr "glfw-blob" pkgs) ];
+  };
+  bodge-libc-essentials = {
+    pname = "bodge-libc-essentials";
+    version = "stable-git";
+    asds = [ "bodge-libc-essentials" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-libc-essentials/2020-10-16/bodge-libc-essentials-stable-git.tgz";
+      sha256 = "1nkjhkaap78xk9rkvnnnkchphiz0qwrsfp4jsvcl6mvv3rb4gp2k";
+      system = "bodge-libc-essentials";
+      asd = "bodge-libc-essentials";
+    });
+    systems = [ "bodge-libc-essentials" ];
+    lispLibs = [ (getAttr "claw" pkgs) ];
+  };
+  bodge-math = {
+    pname = "bodge-math";
+    version = "stable-git";
+    asds = [ "bodge-math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-math/2020-10-16/bodge-math-stable-git.tgz";
+      sha256 = "0r3vnl9lywn4ksy34apcv6j825qp7l1naddawr14v4lwacndb80v";
+      system = "bodge-math";
+      asd = "bodge-math";
+    });
+    systems = [ "bodge-math" ];
+    lispLibs = [ (getAttr "bodge-utilities" pkgs) (getAttr "rtg-math" pkgs) ];
+  };
+  bodge-memory = {
+    pname = "bodge-memory";
+    version = "stable-git";
+    asds = [ "bodge-memory" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-memory/2020-10-16/bodge-memory-stable-git.tgz";
+      sha256 = "19fn3dw5z6f2kpar0jx7ysy5zvqjv7yv0ca7njgaam3p891yy2j9";
+      system = "bodge-memory";
+      asd = "bodge-memory";
+    });
+    systems = [ "bodge-memory" ];
+    lispLibs = [ (getAttr "bodge-utilities" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  bodge-nanovg = {
+    pname = "bodge-nanovg";
+    version = "stable-git";
+    asds = [ "bodge-nanovg" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-nanovg/2020-10-16/bodge-nanovg-stable-git.tgz";
+      sha256 = "0cg4rlsddjrn0ps891n29xnd14xiis20ka5gafbz9npbj6nrc4v1";
+      system = "bodge-nanovg";
+      asd = "bodge-nanovg";
+    });
+    systems = [ "bodge-nanovg" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-c-ref" pkgs) (getAttr "claw" pkgs) (getAttr "claw-utils" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  bodge-nanovg_slash_example = {
+    pname = "bodge-nanovg_example";
+    version = "stable-git";
+    asds = [ "bodge-nanovg" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-nanovg/2020-10-16/bodge-nanovg-stable-git.tgz";
+      sha256 = "0cg4rlsddjrn0ps891n29xnd14xiis20ka5gafbz9npbj6nrc4v1";
+      system = "bodge-nanovg";
+      asd = "bodge-nanovg";
+    });
+    systems = [ "bodge-nanovg/example" ];
+    lispLibs = [ (getAttr "bodge-glad" pkgs) (getAttr "bodge-glfw" pkgs) (getAttr "bodge-nanovg" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-c-ref" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "claw" pkgs) (getAttr "float-features" pkgs) (getAttr "glad-blob" pkgs) (getAttr "glfw-blob" pkgs) (getAttr "nanovg-blob" pkgs) (getAttr "trivial-main-thread" pkgs) ];
+  };
+  bodge-nuklear = {
+    pname = "bodge-nuklear";
+    version = "stable-git";
+    asds = [ "bodge-nuklear" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-nuklear/2020-10-16/bodge-nuklear-stable-git.tgz";
+      sha256 = "15q89dz2zi99yyxhb90wyydy24y2lj5xm2mzh1mrw4v8rz9aqhc2";
+      system = "bodge-nuklear";
+      asd = "bodge-nuklear";
+    });
+    systems = [ "bodge-nuklear" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-c-ref" pkgs) (getAttr "claw" pkgs) (getAttr "claw-utils" pkgs) ];
+  };
+  bodge-ode = {
+    pname = "bodge-ode";
+    version = "stable-git";
+    asds = [ "bodge-ode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-ode/2020-10-16/bodge-ode-stable-git.tgz";
+      sha256 = "1c051ljn5x7ssysia7lil0ykjdnbx8dfkr45ck77plv39acgicbs";
+      system = "bodge-ode";
+      asd = "bodge-ode";
+    });
+    systems = [ "bodge-ode" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-c-ref" pkgs) (getAttr "claw" pkgs) (getAttr "claw-utils" pkgs) (getAttr "float-features" pkgs) ];
+  };
+  bodge-ode_slash_example = {
+    pname = "bodge-ode_example";
+    version = "stable-git";
+    asds = [ "bodge-ode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-ode/2020-10-16/bodge-ode-stable-git.tgz";
+      sha256 = "1c051ljn5x7ssysia7lil0ykjdnbx8dfkr45ck77plv39acgicbs";
+      system = "bodge-ode";
+      asd = "bodge-ode";
+    });
+    systems = [ "bodge-ode/example" ];
+    lispLibs = [ (getAttr "bodge-ode" pkgs) (getAttr "cffi-c-ref" pkgs) (getAttr "claw" pkgs) (getAttr "ode-blob" pkgs) ];
+  };
+  bodge-openal = {
+    pname = "bodge-openal";
+    version = "stable-git";
+    asds = [ "bodge-openal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-openal/2020-10-16/bodge-openal-stable-git.tgz";
+      sha256 = "0051pwifygj1ijv5b39ldmfrka2yrj8rpap04bw3w9cckbkp6bnw";
+      system = "bodge-openal";
+      asd = "bodge-openal";
+    });
+    systems = [ "bodge-openal" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "claw" pkgs) (getAttr "claw-utils" pkgs) ];
+  };
+  bodge-openal_slash_example = {
+    pname = "bodge-openal_example";
+    version = "stable-git";
+    asds = [ "bodge-openal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-openal/2020-10-16/bodge-openal-stable-git.tgz";
+      sha256 = "0051pwifygj1ijv5b39ldmfrka2yrj8rpap04bw3w9cckbkp6bnw";
+      system = "bodge-openal";
+      asd = "bodge-openal";
+    });
+    systems = [ "bodge-openal/example" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bodge-openal" pkgs) (getAttr "cffi-c-ref" pkgs) (getAttr "claw" pkgs) (getAttr "float-features" pkgs) (getAttr "openal-blob" pkgs) (getAttr "static-vectors" pkgs) ];
+  };
+  bodge-queue = {
+    pname = "bodge-queue";
+    version = "stable-git";
+    asds = [ "bodge-queue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-queue/2020-10-16/bodge-queue-stable-git.tgz";
+      sha256 = "0f4252i8pfy5s4v7w1bpjawysn4cw7di405mqsx2h7skv27hvpz6";
+      system = "bodge-queue";
+      asd = "bodge-queue";
+    });
+    systems = [ "bodge-queue" ];
+    lispLibs = [  ];
+  };
+  bodge-queue_slash_tests = {
+    pname = "bodge-queue_tests";
+    version = "stable-git";
+    asds = [ "bodge-queue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-queue/2020-10-16/bodge-queue-stable-git.tgz";
+      sha256 = "0f4252i8pfy5s4v7w1bpjawysn4cw7di405mqsx2h7skv27hvpz6";
+      system = "bodge-queue";
+      asd = "bodge-queue";
+    });
+    systems = [ "bodge-queue/tests" ];
+    lispLibs = [ (getAttr "bodge-queue" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  bodge-sndfile = {
+    pname = "bodge-sndfile";
+    version = "stable-git";
+    asds = [ "bodge-sndfile" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-sndfile/2020-10-16/bodge-sndfile-stable-git.tgz";
+      sha256 = "0chdasp4zvr5n34x037lhymh90wg5xwbpr5flwj8aw0cw2nlg485";
+      system = "bodge-sndfile";
+      asd = "bodge-sndfile";
+    });
+    systems = [ "bodge-sndfile" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bodge-libc-essentials" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-c-ref" pkgs) (getAttr "claw" pkgs) (getAttr "claw-utils" pkgs) (getAttr "static-vectors" pkgs) ];
+  };
+  bodge-sndfile_slash_example = {
+    pname = "bodge-sndfile_example";
+    version = "stable-git";
+    asds = [ "bodge-sndfile" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-sndfile/2020-10-16/bodge-sndfile-stable-git.tgz";
+      sha256 = "0chdasp4zvr5n34x037lhymh90wg5xwbpr5flwj8aw0cw2nlg485";
+      system = "bodge-sndfile";
+      asd = "bodge-sndfile";
+    });
+    systems = [ "bodge-sndfile/example" ];
+    lispLibs = [ (getAttr "bodge-sndfile" pkgs) (getAttr "cffi-c-ref" pkgs) (getAttr "sndfile-blob" pkgs) ];
+  };
+  bodge-utilities = {
+    pname = "bodge-utilities";
+    version = "stable-git";
+    asds = [ "bodge-utilities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bodge-utilities/2020-10-16/bodge-utilities-stable-git.tgz";
+      sha256 = "1z1blj05q71vzh323qwyn9p3xs7v0mq2yhwfyzza5libp37wqm3c";
+      system = "bodge-utilities";
+      asd = "bodge-utilities";
+    });
+    systems = [ "bodge-utilities" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "claw" pkgs) (getAttr "dissect" pkgs) (getAttr "local-time" pkgs) (getAttr "log4cl" pkgs) (getAttr "split-sequence" pkgs) (getAttr "static-vectors" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  boondoggle = {
+    pname = "boondoggle";
+    version = "v1.26.0";
+    asds = [ "boondoggle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quilc/2021-12-09/quilc-v1.26.0.tgz";
+      sha256 = "09qp2d6xgq4cmg6nfsdz0gbs3rvz3ln0kawmry6cls14lxnljjrr";
+      system = "boondoggle";
+      asd = "boondoggle";
+    });
+    systems = [ "boondoggle" ];
+    lispLibs = [ (getAttr "command-line-arguments" pkgs) (getAttr "drakma" pkgs) (getAttr "cl-quil" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  boondoggle-tests = {
+    pname = "boondoggle-tests";
+    version = "v1.26.0";
+    asds = [ "boondoggle-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quilc/2021-12-09/quilc-v1.26.0.tgz";
+      sha256 = "09qp2d6xgq4cmg6nfsdz0gbs3rvz3ln0kawmry6cls14lxnljjrr";
+      system = "boondoggle-tests";
+      asd = "boondoggle-tests";
+    });
+    systems = [ "boondoggle-tests" ];
+    lispLibs = [ (getAttr "fiasco" pkgs) (getAttr "boondoggle" pkgs) (getAttr "cl-quil" pkgs) (getAttr "sapaclisp" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  bordeaux-fft = {
+    pname = "bordeaux-fft";
+    version = "20150608-http";
+    asds = [ "bordeaux-fft" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bordeaux-fft/2015-06-08/bordeaux-fft-20150608-http.tgz";
+      sha256 = "0kmz0wv34p8wixph5i6vj6p60xa48fflh9aq6kismlb0q4a1amp3";
+      system = "bordeaux-fft";
+      asd = "bordeaux-fft";
+    });
+    systems = [ "bordeaux-fft" ];
+    lispLibs = [  ];
+  };
+  bordeaux-threads = {
+    pname = "bordeaux-threads";
+    version = "v0.8.8";
+    asds = [ "bordeaux-threads" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bordeaux-threads/2020-06-10/bordeaux-threads-v0.8.8.tgz";
+      sha256 = "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6";
+      system = "bordeaux-threads";
+      asd = "bordeaux-threads";
+    });
+    systems = [ "bordeaux-threads" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  bordeaux-threads_slash_test = {
+    pname = "bordeaux-threads_test";
+    version = "v0.8.8";
+    asds = [ "bordeaux-threads" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bordeaux-threads/2020-06-10/bordeaux-threads-v0.8.8.tgz";
+      sha256 = "19i443fz3488v1pbbr9x24y8h8vlyhny9vj6c9jk5prm702awrp6";
+      system = "bordeaux-threads";
+      asd = "bordeaux-threads";
+    });
+    systems = [ "bordeaux-threads/test" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  bourbaki = {
+    pname = "bourbaki";
+    version = "20110110-http";
+    asds = [ "bourbaki" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bourbaki/2011-01-10/bourbaki-20110110-http.tgz";
+      sha256 = "0d222kjk1h60467bkjpxglds3gykily5pyrnb45yvx86shkiv4lp";
+      system = "bourbaki";
+      asd = "bourbaki";
+    });
+    systems = [ "bourbaki" ];
+    lispLibs = [  ];
+  };
+  bp = {
+    pname = "bp";
+    version = "20211020-git";
+    asds = [ "bp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bp/2021-10-20/bp-20211020-git.tgz";
+      sha256 = "0v2h9fh34qzgsacch3qvzhksj548w4v49afs8hcy94xkj1gd247s";
+      system = "bp";
+      asd = "bp";
+    });
+    systems = [ "bp" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "ironclad" pkgs) (getAttr "jsown" pkgs) (getAttr "aserve" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  bp_slash_tests = {
+    pname = "bp_tests";
+    version = "20211020-git";
+    asds = [ "bp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bp/2021-10-20/bp-20211020-git.tgz";
+      sha256 = "0v2h9fh34qzgsacch3qvzhksj548w4v49afs8hcy94xkj1gd247s";
+      system = "bp";
+      asd = "bp";
+    });
+    systems = [ "bp/tests" ];
+    lispLibs = [ (getAttr "bp" pkgs) ];
+  };
+  bst = {
+    pname = "bst";
+    version = "20200925-git";
+    asds = [ "bst" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bst/2020-09-25/bst-20200925-git.tgz";
+      sha256 = "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8";
+      system = "bst";
+      asd = "bst";
+    });
+    systems = [ "bst" ];
+    lispLibs = [  ];
+  };
+  bst_slash_test = {
+    pname = "bst_test";
+    version = "20200925-git";
+    asds = [ "bst" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bst/2020-09-25/bst-20200925-git.tgz";
+      sha256 = "18ig7rvxcra69437g0i8sxyv7c5dg26jqnx1rc2f9pxmihdprgk8";
+      system = "bst";
+      asd = "bst";
+    });
+    systems = [ "bst/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bst" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  bt-semaphore = {
+    pname = "bt-semaphore";
+    version = "20180711-git";
+    asds = [ "bt-semaphore" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bt-semaphore/2018-07-11/bt-semaphore-20180711-git.tgz";
+      sha256 = "0rl7yp36225z975hg069pywwlpchwn4086cgxwsi2db5mhghpr7l";
+      system = "bt-semaphore";
+      asd = "bt-semaphore";
+    });
+    systems = [ "bt-semaphore" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  bt-semaphore-test = {
+    pname = "bt-semaphore-test";
+    version = "20180711-git";
+    asds = [ "bt-semaphore-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bt-semaphore/2018-07-11/bt-semaphore-20180711-git.tgz";
+      sha256 = "0rl7yp36225z975hg069pywwlpchwn4086cgxwsi2db5mhghpr7l";
+      system = "bt-semaphore-test";
+      asd = "bt-semaphore-test";
+    });
+    systems = [ "bt-semaphore-test" ];
+    lispLibs = [ (getAttr "bt-semaphore" pkgs) (getAttr "clunit" pkgs) ];
+  };
+  btrie = {
+    pname = "btrie";
+    version = "20140713-git";
+    asds = [ "btrie" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/btrie/2014-07-13/btrie-20140713-git.tgz";
+      sha256 = "0f1rs2zlpi2bcyba951h3cnyz2mfsxr2i6icmqbam5acqjdrmp30";
+      system = "btrie";
+      asd = "btrie";
+    });
+    systems = [ "btrie" ];
+    lispLibs = [ (getAttr "arnesi" pkgs) (getAttr "lift" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  btrie-tests = {
+    pname = "btrie-tests";
+    version = "20140713-git";
+    asds = [ "btrie-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/btrie/2014-07-13/btrie-20140713-git.tgz";
+      sha256 = "0f1rs2zlpi2bcyba951h3cnyz2mfsxr2i6icmqbam5acqjdrmp30";
+      system = "btrie-tests";
+      asd = "btrie";
+    });
+    systems = [ "btrie-tests" ];
+    lispLibs = [ (getAttr "btrie" pkgs) (getAttr "lift" pkgs) (getAttr "metabang-bind" pkgs) ];
+  };
+  bubble-operator-upwards = {
+    pname = "bubble-operator-upwards";
+    version = "1.0";
+    asds = [ "bubble-operator-upwards" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bubble-operator-upwards/2012-11-25/bubble-operator-upwards-1.0.tgz";
+      sha256 = "0hni8j17z3aqk67r3my1nkkjafaixvdm3cdmg89hb8hhgv0rm2x7";
+      system = "bubble-operator-upwards";
+      asd = "bubble-operator-upwards";
+    });
+    systems = [ "bubble-operator-upwards" ];
+    lispLibs = [  ];
+  };
+  buildapp = {
+    pname = "buildapp";
+    version = "1.5.6";
+    asds = [ "buildapp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/buildapp/2015-12-18/buildapp-1.5.6.tgz";
+      sha256 = "020ipjfqa3l8skd97cj5kq837wgpj28ygfxnkv64cnjrlbnzh161";
+      system = "buildapp";
+      asd = "buildapp";
+    });
+    systems = [ "buildapp" ];
+    lispLibs = [  ];
+  };
+  buildnode = {
+    pname = "buildnode";
+    version = "20170403-git";
+    asds = [ "buildnode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz";
+      sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs";
+      system = "buildnode";
+      asd = "buildnode";
+    });
+    systems = [ "buildnode" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closure-html" pkgs) (getAttr "collectors" pkgs) (getAttr "cxml" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "iterate" pkgs) (getAttr "swank" pkgs) (getAttr "split-sequence" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  buildnode-excel = {
+    pname = "buildnode-excel";
+    version = "20170403-git";
+    asds = [ "buildnode-excel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz";
+      sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs";
+      system = "buildnode-excel";
+      asd = "buildnode-excel";
+    });
+    systems = [ "buildnode-excel" ];
+    lispLibs = [ (getAttr "buildnode" pkgs) ];
+  };
+  buildnode-html5 = {
+    pname = "buildnode-html5";
+    version = "20170403-git";
+    asds = [ "buildnode-html5" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz";
+      sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs";
+      system = "buildnode-html5";
+      asd = "buildnode-html5";
+    });
+    systems = [ "buildnode-html5" ];
+    lispLibs = [ (getAttr "buildnode" pkgs) ];
+  };
+  buildnode-kml = {
+    pname = "buildnode-kml";
+    version = "20170403-git";
+    asds = [ "buildnode-kml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz";
+      sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs";
+      system = "buildnode-kml";
+      asd = "buildnode-kml";
+    });
+    systems = [ "buildnode-kml" ];
+    lispLibs = [ (getAttr "buildnode" pkgs) ];
+  };
+  buildnode-test = {
+    pname = "buildnode-test";
+    version = "20170403-git";
+    asds = [ "buildnode-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz";
+      sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs";
+      system = "buildnode-test";
+      asd = "buildnode";
+    });
+    systems = [ "buildnode-test" ];
+    lispLibs = [ (getAttr "buildnode" pkgs) (getAttr "buildnode-xhtml" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  buildnode-xhtml = {
+    pname = "buildnode-xhtml";
+    version = "20170403-git";
+    asds = [ "buildnode-xhtml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz";
+      sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs";
+      system = "buildnode-xhtml";
+      asd = "buildnode-xhtml";
+    });
+    systems = [ "buildnode-xhtml" ];
+    lispLibs = [ (getAttr "buildnode" pkgs) ];
+  };
+  buildnode-xul = {
+    pname = "buildnode-xul";
+    version = "20170403-git";
+    asds = [ "buildnode-xul" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/buildnode/2017-04-03/buildnode-20170403-git.tgz";
+      sha256 = "09pd3mkjd278dl1hq30mxh6m2iyyfha4byadyb9drw4n7ncnjggs";
+      system = "buildnode-xul";
+      asd = "buildnode-xul";
+    });
+    systems = [ "buildnode-xul" ];
+    lispLibs = [ (getAttr "buildnode" pkgs) ];
+  };
+  burgled-batteries = {
+    pname = "burgled-batteries";
+    version = "20160825-git";
+    asds = [ "burgled-batteries" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/burgled-batteries/2016-08-25/burgled-batteries-20160825-git.tgz";
+      sha256 = "080ff1yrmfb87pqq1jqr35djjkh3fh8i6cbhv3d1md5qy7hhgdaj";
+      system = "burgled-batteries";
+      asd = "burgled-batteries";
+    });
+    systems = [ "burgled-batteries" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cl-fad" pkgs) (getAttr "parse-declarations-1_dot_0" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  burgled-batteries-tests = {
+    pname = "burgled-batteries-tests";
+    version = "20160825-git";
+    asds = [ "burgled-batteries-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/burgled-batteries/2016-08-25/burgled-batteries-20160825-git.tgz";
+      sha256 = "080ff1yrmfb87pqq1jqr35djjkh3fh8i6cbhv3d1md5qy7hhgdaj";
+      system = "burgled-batteries-tests";
+      asd = "burgled-batteries-tests";
+    });
+    systems = [ "burgled-batteries-tests" ];
+    lispLibs = [ (getAttr "burgled-batteries" pkgs) (getAttr "cl-quickcheck" pkgs) (getAttr "lift" pkgs) ];
+  };
+  burgled-batteries_dot_syntax = {
+    pname = "burgled-batteries.syntax";
+    version = "20210531-git";
+    asds = [ "burgled-batteries.syntax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/burgled-batteries.syntax/2021-05-31/burgled-batteries.syntax-20210531-git.tgz";
+      sha256 = "1hx8w74cgx1qbk6r2p7lzygjqxs5mzxh7w73zrmdibny64akir9a";
+      system = "burgled-batteries.syntax";
+      asd = "burgled-batteries.syntax";
+    });
+    systems = [ "burgled-batteries.syntax" ];
+    lispLibs = [ (getAttr "burgled-batteries" pkgs) (getAttr "esrap" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  burgled-batteries_dot_syntax-test = {
+    pname = "burgled-batteries.syntax-test";
+    version = "20210531-git";
+    asds = [ "burgled-batteries.syntax-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/burgled-batteries.syntax/2021-05-31/burgled-batteries.syntax-20210531-git.tgz";
+      sha256 = "1hx8w74cgx1qbk6r2p7lzygjqxs5mzxh7w73zrmdibny64akir9a";
+      system = "burgled-batteries.syntax-test";
+      asd = "burgled-batteries.syntax-test";
+    });
+    systems = [ "burgled-batteries.syntax-test" ];
+    lispLibs = [ (getAttr "burgled-batteries_dot_syntax" pkgs) (getAttr "lift" pkgs) ];
+  };
+  bus = {
+    pname = "bus";
+    version = "master-83d7b044-git";
+    asds = [ "bus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "bus";
+      asd = "bus";
+    });
+    systems = [ "bus" ];
+    lispLibs = [ (getAttr "gwl-graphics" pkgs) ];
+  };
+  bytecurry_dot_asdf-ext = {
+    pname = "bytecurry.asdf-ext";
+    version = "20150505-git";
+    asds = [ "bytecurry.asdf-ext" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bytecurry.asdf-ext/2015-05-05/bytecurry.asdf-ext-20150505-git.tgz";
+      sha256 = "07w2lz9mq35sgzzvmz9084l1sia40zkhlvfblkpzxfwyzr6cxrxa";
+      system = "bytecurry.asdf-ext";
+      asd = "bytecurry.asdf-ext";
+    });
+    systems = [ "bytecurry.asdf-ext" ];
+    lispLibs = [ (getAttr "asdf-package-system" pkgs) ];
+  };
+  bytecurry_dot_mocks = {
+    pname = "bytecurry.mocks";
+    version = "20200325-git";
+    asds = [ "bytecurry.mocks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bytecurry.mocks/2020-03-25/bytecurry.mocks-20200325-git.tgz";
+      sha256 = "0md2j6iggmfm1v7nzcmz7f0xy2jxrsg77iszpisdzmwnijfy8ks0";
+      system = "bytecurry.mocks";
+      asd = "bytecurry.mocks";
+    });
+    systems = [ "bytecurry.mocks" ];
+    lispLibs = [ (getAttr "asdf-package-system" pkgs) (getAttr "bytecurry_dot_asdf-ext" pkgs) ];
+  };
+  bytecurry_dot_mocks_slash_test = {
+    pname = "bytecurry.mocks_test";
+    version = "20200325-git";
+    asds = [ "bytecurry.mocks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bytecurry.mocks/2020-03-25/bytecurry.mocks-20200325-git.tgz";
+      sha256 = "0md2j6iggmfm1v7nzcmz7f0xy2jxrsg77iszpisdzmwnijfy8ks0";
+      system = "bytecurry.mocks";
+      asd = "bytecurry.mocks";
+    });
+    systems = [ "bytecurry.mocks/test" ];
+    lispLibs = [ (getAttr "bytecurry_dot_mocks" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  c2ffi-blob = {
+    pname = "c2ffi-blob";
+    version = "stable-git";
+    asds = [ "c2ffi-blob" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/c2ffi-blob/2020-10-16/c2ffi-blob-stable-git.tgz";
+      sha256 = "1rk89nycdvcb4a50zm3wdmrbz8w5xk4jgvjg2wib1dnslwnwdivc";
+      system = "c2ffi-blob";
+      asd = "c2ffi-blob";
+    });
+    systems = [ "c2ffi-blob" ];
+    lispLibs = [ (getAttr "claw-support" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  cacau = {
+    pname = "cacau";
+    version = "20200610-git";
+    asds = [ "cacau" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz";
+      sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0";
+      system = "cacau";
+      asd = "cacau";
+    });
+    systems = [ "cacau" ];
+    lispLibs = [ (getAttr "assertion-error" pkgs) (getAttr "eventbus" pkgs) ];
+  };
+  cacau-asdf = {
+    pname = "cacau-asdf";
+    version = "20200610-git";
+    asds = [ "cacau-asdf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz";
+      sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0";
+      system = "cacau-asdf";
+      asd = "cacau-asdf";
+    });
+    systems = [ "cacau-asdf" ];
+    lispLibs = [  ];
+  };
+  cacau-examples-asdf-integration = {
+    pname = "cacau-examples-asdf-integration";
+    version = "20200610-git";
+    asds = [ "cacau-examples-asdf-integration" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz";
+      sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0";
+      system = "cacau-examples-asdf-integration";
+      asd = "cacau-examples-asdf-integration";
+    });
+    systems = [ "cacau-examples-asdf-integration" ];
+    lispLibs = [  ];
+  };
+  cacau-examples-asdf-integration-test = {
+    pname = "cacau-examples-asdf-integration-test";
+    version = "20200610-git";
+    asds = [ "cacau-examples-asdf-integration-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz";
+      sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0";
+      system = "cacau-examples-asdf-integration-test";
+      asd = "cacau-examples-asdf-integration-test";
+    });
+    systems = [ "cacau-examples-asdf-integration-test" ];
+    lispLibs = [ (getAttr "assert-p" pkgs) (getAttr "cacau" pkgs) (getAttr "cacau-asdf" pkgs) (getAttr "cacau-examples-asdf-integration" pkgs) ];
+  };
+  cacau-test = {
+    pname = "cacau-test";
+    version = "20200610-git";
+    asds = [ "cacau-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cacau/2020-06-10/cacau-20200610-git.tgz";
+      sha256 = "0m8v1xw68cr5ldv045rxgvnhigr4iahh7v6v32z6xlq2sj6r55x0";
+      system = "cacau-test";
+      asd = "cacau-test";
+    });
+    systems = [ "cacau-test" ];
+    lispLibs = [ (getAttr "assert-p" pkgs) (getAttr "cacau" pkgs) (getAttr "cacau-asdf" pkgs) ];
+  };
+  cache-while = {
+    pname = "cache-while";
+    version = "20210807-git";
+    asds = [ "cache-while" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cache-while/2021-08-07/cache-while-20210807-git.tgz";
+      sha256 = "1qil68rfn5irmkb0jk1f6g1zy80wgc3skl8cr4rfgh7ywgm5izx3";
+      system = "cache-while";
+      asd = "cache-while";
+    });
+    systems = [ "cache-while" ];
+    lispLibs = [  ];
+  };
+  cacle = {
+    pname = "cacle";
+    version = "20190521-git";
+    asds = [ "cacle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cacle/2019-05-21/cacle-20190521-git.tgz";
+      sha256 = "0h0dk0sfkfl8g0sbrs76ydb9l4znssqhx8nc5k1sg7zxpni5a4qy";
+      system = "cacle";
+      asd = "cacle";
+    });
+    systems = [ "cacle" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  calispel = {
+    pname = "calispel";
+    version = "20170830-git";
+    asds = [ "calispel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/calispel/2017-08-30/calispel-20170830-git.tgz";
+      sha256 = "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8";
+      system = "calispel";
+      asd = "calispel";
+    });
+    systems = [ "calispel" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "jpl-util" pkgs) (getAttr "jpl-queues" pkgs) ];
+  };
+  calispel-test = {
+    pname = "calispel-test";
+    version = "20170830-git";
+    asds = [ "calispel-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/calispel/2017-08-30/calispel-20170830-git.tgz";
+      sha256 = "08bmf3pi7n5hadpmqqkg65cxcj6kbvm997wcs1f53ml1nb79d9z8";
+      system = "calispel-test";
+      asd = "calispel";
+    });
+    systems = [ "calispel-test" ];
+    lispLibs = [ (getAttr "calispel" pkgs) (getAttr "eager-future2" pkgs) ];
+  };
+  cambl = {
+    pname = "cambl";
+    version = "20181210-git";
+    asds = [ "cambl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cambl/2018-12-10/cambl-20181210-git.tgz";
+      sha256 = "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz";
+      system = "cambl";
+      asd = "cambl";
+    });
+    systems = [ "cambl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fprog" pkgs) (getAttr "cl-containers" pkgs) (getAttr "local-time" pkgs) (getAttr "periods" pkgs) ];
+  };
+  cambl-test = {
+    pname = "cambl-test";
+    version = "20181210-git";
+    asds = [ "cambl-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cambl/2018-12-10/cambl-20181210-git.tgz";
+      sha256 = "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz";
+      system = "cambl-test";
+      asd = "cambl-test";
+    });
+    systems = [ "cambl-test" ];
+    lispLibs = [ (getAttr "cambl" pkgs) (getAttr "uiop" pkgs) (getAttr "xlunit" pkgs) ];
+  };
+  camera-matrix = {
+    pname = "camera-matrix";
+    version = "20200427-git";
+    asds = [ "camera-matrix" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "camera-matrix";
+      asd = "camera-matrix";
+    });
+    systems = [ "camera-matrix" ];
+    lispLibs = [ (getAttr "nsb-cga" pkgs) (getAttr "uncommon-lisp" pkgs) ];
+  };
+  can = {
+    pname = "can";
+    version = "20180328-git";
+    asds = [ "can" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/can/2018-03-28/can-20180328-git.tgz";
+      sha256 = "0m3lqc56aw46cj2z379a19fh7f1h0vaxn78xpvbxq3bwar46jzqh";
+      system = "can";
+      asd = "can";
+    });
+    systems = [ "can" ];
+    lispLibs = [  ];
+  };
+  can-test = {
+    pname = "can-test";
+    version = "20180328-git";
+    asds = [ "can-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/can/2018-03-28/can-20180328-git.tgz";
+      sha256 = "0m3lqc56aw46cj2z379a19fh7f1h0vaxn78xpvbxq3bwar46jzqh";
+      system = "can-test";
+      asd = "can-test";
+    });
+    systems = [ "can-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "can" pkgs) (getAttr "mito" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  canonicalized-initargs = {
+    pname = "canonicalized-initargs";
+    version = "2.0";
+    asds = [ "canonicalized-initargs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/canonicalized-initargs/2021-04-11/canonicalized-initargs_2.0.tgz";
+      sha256 = "0jmmjw86x9mmlfla4kdmdqf1fjrj0p2fmv1lc4k555mcf67mj2fq";
+      system = "canonicalized-initargs";
+      asd = "canonicalized-initargs";
+    });
+    systems = [ "canonicalized-initargs" ];
+    lispLibs = [ (getAttr "cesdi" pkgs) (getAttr "closer-mop" pkgs) (getAttr "compatible-metaclasses" pkgs) (getAttr "enhanced-defclass" pkgs) (getAttr "enhanced-typep" pkgs) (getAttr "object-class" pkgs) ];
+  };
+  canonicalized-initargs_tests = {
+    pname = "canonicalized-initargs_tests";
+    version = "2.0";
+    asds = [ "canonicalized-initargs_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/canonicalized-initargs/2021-04-11/canonicalized-initargs_2.0.tgz";
+      sha256 = "0jmmjw86x9mmlfla4kdmdqf1fjrj0p2fmv1lc4k555mcf67mj2fq";
+      system = "canonicalized-initargs_tests";
+      asd = "canonicalized-initargs_tests";
+    });
+    systems = [ "canonicalized-initargs_tests" ];
+    lispLibs = [ (getAttr "canonicalized-initargs" pkgs) (getAttr "enhanced-boolean" pkgs) (getAttr "enhanced-eval-when" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  capstone = {
+    pname = "capstone";
+    version = "20201016-git";
+    asds = [ "capstone" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-capstone/2020-10-16/cl-capstone-20201016-git.tgz";
+      sha256 = "0xysxiv385m3rs3m62xpsrrdf32j6778bpkydr4j0vc3p9dfv52j";
+      system = "capstone";
+      asd = "capstone";
+    });
+    systems = [ "capstone" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "gt" pkgs) (getAttr "static-vectors" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  capstone_slash_raw = {
+    pname = "capstone_raw";
+    version = "20201016-git";
+    asds = [ "capstone" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-capstone/2020-10-16/cl-capstone-20201016-git.tgz";
+      sha256 = "0xysxiv385m3rs3m62xpsrrdf32j6778bpkydr4j0vc3p9dfv52j";
+      system = "capstone";
+      asd = "capstone";
+    });
+    systems = [ "capstone/raw" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "gt" pkgs) (getAttr "static-vectors" pkgs) ];
+  };
+  capstone_slash_raw-test = {
+    pname = "capstone_raw-test";
+    version = "20201016-git";
+    asds = [ "capstone" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-capstone/2020-10-16/cl-capstone-20201016-git.tgz";
+      sha256 = "0xysxiv385m3rs3m62xpsrrdf32j6778bpkydr4j0vc3p9dfv52j";
+      system = "capstone";
+      asd = "capstone";
+    });
+    systems = [ "capstone/raw-test" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "gt" pkgs) (getAttr "static-vectors" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  capstone_slash_test = {
+    pname = "capstone_test";
+    version = "20201016-git";
+    asds = [ "capstone" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-capstone/2020-10-16/cl-capstone-20201016-git.tgz";
+      sha256 = "0xysxiv385m3rs3m62xpsrrdf32j6778bpkydr4j0vc3p9dfv52j";
+      system = "capstone";
+      asd = "capstone";
+    });
+    systems = [ "capstone/test" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "capstone" pkgs) (getAttr "gt" pkgs) (getAttr "static-vectors" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  caramel = {
+    pname = "caramel";
+    version = "20130420-git";
+    asds = [ "caramel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/caramel/2013-04-20/caramel-20130420-git.tgz";
+      sha256 = "08kyjxd8hyk5xnnq0p0w4aqpvisv278h38pqjkz04a032dn5b87a";
+      system = "caramel";
+      asd = "caramel";
+    });
+    systems = [ "caramel" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "buildnode" pkgs) (getAttr "closure-html" pkgs) (getAttr "css-selectors" pkgs) (getAttr "cxml" pkgs) (getAttr "cxml-dom" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cardioex = {
+    pname = "cardioex";
+    version = "20211020-git";
+    asds = [ "cardioex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cardiogram/2021-10-20/cardiogram-20211020-git.tgz";
+      sha256 = "08kqcj3c4vkx5s6ba9m67xh7w7paaavp2ds072crp1x7pjkh4n5i";
+      system = "cardioex";
+      asd = "cardioex";
+    });
+    systems = [ "cardioex" ];
+    lispLibs = [ (getAttr "cardiogram" pkgs) ];
+  };
+  cardiogram = {
+    pname = "cardiogram";
+    version = "20211020-git";
+    asds = [ "cardiogram" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cardiogram/2021-10-20/cardiogram-20211020-git.tgz";
+      sha256 = "08kqcj3c4vkx5s6ba9m67xh7w7paaavp2ds072crp1x7pjkh4n5i";
+      system = "cardiogram";
+      asd = "cardiogram";
+    });
+    systems = [ "cardiogram" ];
+    lispLibs = [ (getAttr "cl-annot" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  cari3s = {
+    pname = "cari3s";
+    version = "20200325-git";
+    asds = [ "cari3s" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cari3s/2020-03-25/cari3s-20200325-git.tgz";
+      sha256 = "1adwrlwq48l1g9syi0nnm77x1rxv53x9zdhbr91nqqy8b8sxr674";
+      system = "cari3s";
+      asd = "cari3s";
+    });
+    systems = [ "cari3s" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "closer-mop" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "drakma" pkgs) (getAttr "pango-markup" pkgs) (getAttr "usocket" pkgs) (getAttr "yason" pkgs) ];
+  };
+  carrier = {
+    pname = "carrier";
+    version = "20181210-git";
+    asds = [ "carrier" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/carrier/2018-12-10/carrier-20181210-git.tgz";
+      sha256 = "1xry7alc9x86y1g5k417vhvlgkwgfrl80zpsyfdwdsz7hrwff41d";
+      system = "carrier";
+      asd = "carrier";
+    });
+    systems = [ "carrier" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "blackbird" pkgs) (getAttr "cl-async" pkgs) (getAttr "cl-async-ssl" pkgs) (getAttr "cl-cookie" pkgs) (getAttr "fast-http" pkgs) (getAttr "fast-io" pkgs) (getAttr "quri" pkgs) ];
+  };
+  cartesian-product-switch = {
+    pname = "cartesian-product-switch";
+    version = "2.0";
+    asds = [ "cartesian-product-switch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cartesian-product-switch/2012-09-09/cartesian-product-switch-2.0.tgz";
+      sha256 = "18cxslj2753k6h666j0mmzg0h0z9l6ddi24gqls6h5d5svd7l3xk";
+      system = "cartesian-product-switch";
+      asd = "cartesian-product-switch";
+    });
+    systems = [ "cartesian-product-switch" ];
+    lispLibs = [ (getAttr "map-bind" pkgs) ];
+  };
+  caveman-middleware-dbimanager = {
+    pname = "caveman-middleware-dbimanager";
+    version = "20211209-git";
+    asds = [ "caveman-middleware-dbimanager" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/caveman/2021-12-09/caveman-20211209-git.tgz";
+      sha256 = "0ni7vsprp7ppfbk0ynh0hfiqs3vfzcz8j61ijnjkayyf6y3v90ch";
+      system = "caveman-middleware-dbimanager";
+      asd = "caveman-middleware-dbimanager";
+    });
+    systems = [ "caveman-middleware-dbimanager" ];
+    lispLibs = [ (getAttr "dbi" pkgs) ];
+  };
+  caveman2 = {
+    pname = "caveman2";
+    version = "20211209-git";
+    asds = [ "caveman2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/caveman/2021-12-09/caveman-20211209-git.tgz";
+      sha256 = "0ni7vsprp7ppfbk0ynh0hfiqs3vfzcz8j61ijnjkayyf6y3v90ch";
+      system = "caveman2";
+      asd = "caveman2";
+    });
+    systems = [ "caveman2" ];
+    lispLibs = [ (getAttr "dbi" pkgs) (getAttr "cl-project" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "lack-request" pkgs) (getAttr "lack-response" pkgs) (getAttr "myway" pkgs) (getAttr "ningle" pkgs) (getAttr "quri" pkgs) ];
+  };
+  caveman2-db = {
+    pname = "caveman2-db";
+    version = "20211209-git";
+    asds = [ "caveman2-db" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/caveman/2021-12-09/caveman-20211209-git.tgz";
+      sha256 = "0ni7vsprp7ppfbk0ynh0hfiqs3vfzcz8j61ijnjkayyf6y3v90ch";
+      system = "caveman2-db";
+      asd = "caveman2-db";
+    });
+    systems = [ "caveman2-db" ];
+    lispLibs = [ (getAttr "caveman-middleware-dbimanager" pkgs) (getAttr "dbi" pkgs) (getAttr "sxql" pkgs) ];
+  };
+  caveman2-test = {
+    pname = "caveman2-test";
+    version = "20211209-git";
+    asds = [ "caveman2-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/caveman/2021-12-09/caveman-20211209-git.tgz";
+      sha256 = "0ni7vsprp7ppfbk0ynh0hfiqs3vfzcz8j61ijnjkayyf6y3v90ch";
+      system = "caveman2-test";
+      asd = "caveman2-test";
+    });
+    systems = [ "caveman2-test" ];
+    lispLibs = [ (getAttr "caveman2" pkgs) (getAttr "dexador" pkgs) (getAttr "lack-component" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "trivial-types" pkgs) (getAttr "uiop" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  caveman2-widgets = {
+    pname = "caveman2-widgets";
+    version = "20180228-git";
+    asds = [ "caveman2-widgets" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/caveman2-widgets/2018-02-28/caveman2-widgets-20180228-git.tgz";
+      sha256 = "1rzb868m3f28z1hcr3nzlprgqqq1kwg3qyh24p36fv76b4g96wkq";
+      system = "caveman2-widgets";
+      asd = "caveman2-widgets";
+    });
+    systems = [ "caveman2-widgets" ];
+    lispLibs = [ (getAttr "caveman2" pkgs) (getAttr "moptilities" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  caveman2-widgets-bootstrap = {
+    pname = "caveman2-widgets-bootstrap";
+    version = "20180228-git";
+    asds = [ "caveman2-widgets-bootstrap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/caveman2-widgets-bootstrap/2018-02-28/caveman2-widgets-bootstrap-20180228-git.tgz";
+      sha256 = "1xh3x7r7givxxyrkh4ngx098s35qz98gcz7yjyf4dp0psfkk65xj";
+      system = "caveman2-widgets-bootstrap";
+      asd = "caveman2-widgets-bootstrap";
+    });
+    systems = [ "caveman2-widgets-bootstrap" ];
+    lispLibs = [ (getAttr "caveman2" pkgs) (getAttr "caveman2-widgets" pkgs) ];
+  };
+  caveman2-widgets-bootstrap-test = {
+    pname = "caveman2-widgets-bootstrap-test";
+    version = "20180228-git";
+    asds = [ "caveman2-widgets-bootstrap-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/caveman2-widgets-bootstrap/2018-02-28/caveman2-widgets-bootstrap-20180228-git.tgz";
+      sha256 = "1xh3x7r7givxxyrkh4ngx098s35qz98gcz7yjyf4dp0psfkk65xj";
+      system = "caveman2-widgets-bootstrap-test";
+      asd = "caveman2-widgets-bootstrap-test";
+    });
+    systems = [ "caveman2-widgets-bootstrap-test" ];
+    lispLibs = [ (getAttr "caveman2-widgets-bootstrap" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  caveman2-widgets-test = {
+    pname = "caveman2-widgets-test";
+    version = "20180228-git";
+    asds = [ "caveman2-widgets-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/caveman2-widgets/2018-02-28/caveman2-widgets-20180228-git.tgz";
+      sha256 = "1rzb868m3f28z1hcr3nzlprgqqq1kwg3qyh24p36fv76b4g96wkq";
+      system = "caveman2-widgets-test";
+      asd = "caveman2-widgets-test";
+    });
+    systems = [ "caveman2-widgets-test" ];
+    lispLibs = [ (getAttr "caveman2-widgets" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  ccl-compat = {
+    pname = "ccl-compat";
+    version = "20171130-git";
+    asds = [ "ccl-compat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ccl-compat/2017-11-30/ccl-compat-20171130-git.tgz";
+      sha256 = "15402373wprmyx4l7zgpv64vj3c11xvxnnpzqbmq4j6rljpb40da";
+      system = "ccl-compat";
+      asd = "ccl-compat";
+    });
+    systems = [ "ccl-compat" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  ccldoc = {
+    pname = "ccldoc";
+    version = "20200427-git";
+    asds = [ "ccldoc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ccldoc/2020-04-27/ccldoc-20200427-git.tgz";
+      sha256 = "0pxjk07drvxrk65g46lbpz2y0xgxgn04k6yvirl0hk2dry0myinp";
+      system = "ccldoc";
+      asd = "ccldoc";
+    });
+    systems = [ "ccldoc" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "ccl-compat" pkgs) (getAttr "cl-who" pkgs) (getAttr "s-xml" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  ccldoc-libraries = {
+    pname = "ccldoc-libraries";
+    version = "20200427-git";
+    asds = [ "ccldoc-libraries" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ccldoc/2020-04-27/ccldoc-20200427-git.tgz";
+      sha256 = "0pxjk07drvxrk65g46lbpz2y0xgxgn04k6yvirl0hk2dry0myinp";
+      system = "ccldoc-libraries";
+      asd = "ccldoc-libraries";
+    });
+    systems = [ "ccldoc-libraries" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "s-xml" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cells = {
+    pname = "cells";
+    version = "20211020-git";
+    asds = [ "cells" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cells/2021-10-20/cells-20211020-git.tgz";
+      sha256 = "0rkzvwq38lwb1045w54kw020pb9i63hxiawwhqkf8k1inhak3fdk";
+      system = "cells";
+      asd = "cells";
+    });
+    systems = [ "cells" ];
+    lispLibs = [ (getAttr "utils-kt" pkgs) ];
+  };
+  cephes = {
+    pname = "cephes";
+    version = "20211020-git";
+    asds = [ "cephes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cephes.cl/2021-10-20/cephes.cl-20211020-git.tgz";
+      sha256 = "09adls1lwwzwm1jmvhf11arwlsy5w0bi2rmniahas824mysv77lr";
+      system = "cephes";
+      asd = "cephes";
+    });
+    systems = [ "cephes" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cepl = {
+    pname = "cepl";
+    version = "release-quicklisp-d1a10b6c-git";
+    asds = [ "cepl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cepl/2021-02-28/cepl-release-quicklisp-d1a10b6c-git.tgz";
+      sha256 = "0izbw2advqm3wailj3dpq6zqfrfirwn14pw5qmqh8i71r51xwmm2";
+      system = "cepl";
+      asd = "cepl";
+    });
+    systems = [ "cepl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cepl_dot_build" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "float-features" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uiop" pkgs) (getAttr "varjo" pkgs) ];
+  };
+  cepl_dot_build = {
+    pname = "cepl.build";
+    version = "release-quicklisp-d1a10b6c-git";
+    asds = [ "cepl.build" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cepl/2021-02-28/cepl-release-quicklisp-d1a10b6c-git.tgz";
+      sha256 = "0izbw2advqm3wailj3dpq6zqfrfirwn14pw5qmqh8i71r51xwmm2";
+      system = "cepl.build";
+      asd = "cepl.build";
+    });
+    systems = [ "cepl.build" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cepl_dot_camera = {
+    pname = "cepl.camera";
+    version = "release-quicklisp-1292212a-git";
+    asds = [ "cepl.camera" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cepl.camera/2018-02-28/cepl.camera-release-quicklisp-1292212a-git.tgz";
+      sha256 = "0z73f95bxr2vn47g8qrvf9gzy1my25mkg7hl7kpib21yahfpzzvb";
+      system = "cepl.camera";
+      asd = "cepl.camera";
+    });
+    systems = [ "cepl.camera" ];
+    lispLibs = [ (getAttr "cepl" pkgs) (getAttr "cepl_dot_spaces" pkgs) (getAttr "rtg-math" pkgs) ];
+  };
+  cepl_dot_devil = {
+    pname = "cepl.devil";
+    version = "release-quicklisp-ea5f8514-git";
+    asds = [ "cepl.devil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cepl.devil/2018-02-28/cepl.devil-release-quicklisp-ea5f8514-git.tgz";
+      sha256 = "1b64vfjchkwppcp3j4krwx2x9nj29llisqy1yc9ncbnmi9xs38a0";
+      system = "cepl.devil";
+      asd = "cepl.devil";
+    });
+    systems = [ "cepl.devil" ];
+    lispLibs = [ (getAttr "cepl" pkgs) (getAttr "cl-devil" pkgs) ];
+  };
+  cepl_dot_drm-gbm = {
+    pname = "cepl.drm-gbm";
+    version = "20190521-git";
+    asds = [ "cepl.drm-gbm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cepl.drm-gbm/2019-05-21/cepl.drm-gbm-20190521-git.tgz";
+      sha256 = "00csd2f6z13rjqipaf02w87phn2xynmzf1jcrrshbibs204m4nmy";
+      system = "cepl.drm-gbm";
+      asd = "cepl.drm-gbm";
+    });
+    systems = [ "cepl.drm-gbm" ];
+    lispLibs = [ (getAttr "cepl" pkgs) (getAttr "cl-drm" pkgs) (getAttr "cl-egl" pkgs) (getAttr "cl-gbm" pkgs) (getAttr "osicat" pkgs) ];
+  };
+  cepl_dot_glop = {
+    pname = "cepl.glop";
+    version = "release-quicklisp-8ec09801-git";
+    asds = [ "cepl.glop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cepl.glop/2018-02-28/cepl.glop-release-quicklisp-8ec09801-git.tgz";
+      sha256 = "1dq727v2s22yna6ycxxs79pg13b0cyh1lfrk6hsb6vizgiks20jw";
+      system = "cepl.glop";
+      asd = "cepl.glop";
+    });
+    systems = [ "cepl.glop" ];
+    lispLibs = [ (getAttr "cepl" pkgs) (getAttr "glop" pkgs) ];
+  };
+  cepl_dot_sdl2 = {
+    pname = "cepl.sdl2";
+    version = "release-quicklisp-6da5a030-git";
+    asds = [ "cepl.sdl2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cepl.sdl2/2018-02-28/cepl.sdl2-release-quicklisp-6da5a030-git.tgz";
+      sha256 = "0lz8yxm1g2ch0w779lhrs2xkfciy3iz6viz7cdgyd2824isvinjf";
+      system = "cepl.sdl2";
+      asd = "cepl.sdl2";
+    });
+    systems = [ "cepl.sdl2" ];
+    lispLibs = [ (getAttr "cepl" pkgs) (getAttr "sdl2" pkgs) ];
+  };
+  cepl_dot_sdl2-image = {
+    pname = "cepl.sdl2-image";
+    version = "release-quicklisp-94a77649-git";
+    asds = [ "cepl.sdl2-image" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cepl.sdl2-image/2018-02-28/cepl.sdl2-image-release-quicklisp-94a77649-git.tgz";
+      sha256 = "16dzjk2q658xr1v9rk2iny70rjhxbgi4lcp59s5mkdfs2k3a2637";
+      system = "cepl.sdl2-image";
+      asd = "cepl.sdl2-image";
+    });
+    systems = [ "cepl.sdl2-image" ];
+    lispLibs = [ (getAttr "cepl" pkgs) (getAttr "sdl2" pkgs) (getAttr "sdl2-image" pkgs) ];
+  };
+  cepl_dot_sdl2-ttf = {
+    pname = "cepl.sdl2-ttf";
+    version = "release-quicklisp-11b498a3-git";
+    asds = [ "cepl.sdl2-ttf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cepl.sdl2-ttf/2018-01-31/cepl.sdl2-ttf-release-quicklisp-11b498a3-git.tgz";
+      sha256 = "1fxj3rdv2rlyks00h18dpd42xywgnydgyvb1s4d67hjk7fl19a5p";
+      system = "cepl.sdl2-ttf";
+      asd = "cepl.sdl2-ttf";
+    });
+    systems = [ "cepl.sdl2-ttf" ];
+    lispLibs = [ (getAttr "cepl_dot_sdl2" pkgs) (getAttr "sdl2-ttf" pkgs) (getAttr "rtg-math" pkgs) ];
+  };
+  cepl_dot_skitter_dot_glop = {
+    pname = "cepl.skitter.glop";
+    version = "release-quicklisp-f52b9240-git";
+    asds = [ "cepl.skitter.glop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cepl.skitter/2018-02-28/cepl.skitter-release-quicklisp-f52b9240-git.tgz";
+      sha256 = "1xz53q8klzrd7cr586jd16pypxgpy68vlvfirqhlv6jc7k99sjvs";
+      system = "cepl.skitter.glop";
+      asd = "cepl.skitter.glop";
+    });
+    systems = [ "cepl.skitter.glop" ];
+    lispLibs = [ (getAttr "cepl_dot_glop" pkgs) (getAttr "skitter_dot_glop" pkgs) ];
+  };
+  cepl_dot_skitter_dot_sdl2 = {
+    pname = "cepl.skitter.sdl2";
+    version = "release-quicklisp-f52b9240-git";
+    asds = [ "cepl.skitter.sdl2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cepl.skitter/2018-02-28/cepl.skitter-release-quicklisp-f52b9240-git.tgz";
+      sha256 = "1xz53q8klzrd7cr586jd16pypxgpy68vlvfirqhlv6jc7k99sjvs";
+      system = "cepl.skitter.sdl2";
+      asd = "cepl.skitter.sdl2";
+    });
+    systems = [ "cepl.skitter.sdl2" ];
+    lispLibs = [ (getAttr "cepl_dot_sdl2" pkgs) (getAttr "skitter_dot_sdl2" pkgs) ];
+  };
+  cepl_dot_spaces = {
+    pname = "cepl.spaces";
+    version = "release-quicklisp-c7f83f26-git";
+    asds = [ "cepl.spaces" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cepl.spaces/2018-03-28/cepl.spaces-release-quicklisp-c7f83f26-git.tgz";
+      sha256 = "0z74ipd4j2spjwl6h625azdczpds3v44iin77q685ldx9rwx3k8y";
+      system = "cepl.spaces";
+      asd = "cepl.spaces";
+    });
+    systems = [ "cepl.spaces" ];
+    lispLibs = [ (getAttr "cepl" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "fn" pkgs) (getAttr "rtg-math" pkgs) (getAttr "rtg-math_dot_vari" pkgs) (getAttr "varjo" pkgs) ];
+  };
+  ceramic = {
+    pname = "ceramic";
+    version = "20210807-git";
+    asds = [ "ceramic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ceramic/2021-08-07/ceramic-20210807-git.tgz";
+      sha256 = "0hd553gj4cwmli45pfwhqpz7sg6kzn31iv8akaxr5ba3hssa1aap";
+      system = "ceramic";
+      asd = "ceramic";
+    });
+    systems = [ "ceramic" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "clack-handler-hunchentoot" pkgs) (getAttr "copy-directory" pkgs) (getAttr "electron-tools" pkgs) (getAttr "external-program" pkgs) (getAttr "remote-js" pkgs) (getAttr "trivial-build" pkgs) (getAttr "trivial-compress" pkgs) (getAttr "trivial-download" pkgs) (getAttr "trivial-exe" pkgs) (getAttr "trivial-extract" pkgs) (getAttr "uiop" pkgs) (getAttr "uuid" pkgs) ];
+  };
+  ceramic-test-app = {
+    pname = "ceramic-test-app";
+    version = "20210807-git";
+    asds = [ "ceramic-test-app" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ceramic/2021-08-07/ceramic-20210807-git.tgz";
+      sha256 = "0hd553gj4cwmli45pfwhqpz7sg6kzn31iv8akaxr5ba3hssa1aap";
+      system = "ceramic-test-app";
+      asd = "ceramic-test-app";
+    });
+    systems = [ "ceramic-test-app" ];
+    lispLibs = [ (getAttr "ceramic" pkgs) (getAttr "drakma" pkgs) ];
+  };
+  cerberus = {
+    pname = "cerberus";
+    version = "20200218-git";
+    asds = [ "cerberus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cerberus/2020-02-18/cerberus-20200218-git.tgz";
+      sha256 = "14ffbs15xpm6f3dvzzcycbsrri1b41qc0lqzhav77v7wq5rxhc17";
+      system = "cerberus";
+      asd = "cerberus";
+    });
+    systems = [ "cerberus" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "glass" pkgs) (getAttr "ironclad" pkgs) (getAttr "nibbles" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cerberus-kdc = {
+    pname = "cerberus-kdc";
+    version = "20200218-git";
+    asds = [ "cerberus-kdc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cerberus/2020-02-18/cerberus-20200218-git.tgz";
+      sha256 = "14ffbs15xpm6f3dvzzcycbsrri1b41qc0lqzhav77v7wq5rxhc17";
+      system = "cerberus-kdc";
+      asd = "cerberus";
+    });
+    systems = [ "cerberus-kdc" ];
+    lispLibs = [ (getAttr "cerberus" pkgs) (getAttr "frpc" pkgs) (getAttr "pounds" pkgs) ];
+  };
+  cesdi = {
+    pname = "cesdi";
+    version = "1.0.1";
+    asds = [ "cesdi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cesdi/2020-07-15/cesdi_1.0.1.tgz";
+      sha256 = "02f2pz5rw79ljkkx1ywh8nkpjj4g3z3s1lyvzqb8krbnx11wl0q9";
+      system = "cesdi";
+      asd = "cesdi";
+    });
+    systems = [ "cesdi" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  cesdi_tests = {
+    pname = "cesdi_tests";
+    version = "1.0.1";
+    asds = [ "cesdi_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cesdi/2020-07-15/cesdi_1.0.1.tgz";
+      sha256 = "02f2pz5rw79ljkkx1ywh8nkpjj4g3z3s1lyvzqb8krbnx11wl0q9";
+      system = "cesdi_tests";
+      asd = "cesdi_tests";
+    });
+    systems = [ "cesdi_tests" ];
+    lispLibs = [ (getAttr "cesdi" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  cffi = {
+    pname = "cffi";
+    version = "0.24.1";
+    asds = [ "cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cffi/2021-04-11/cffi_0.24.1.tgz";
+      sha256 = "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3";
+      system = "cffi";
+      asd = "cffi";
+    });
+    systems = [ "cffi" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "trivial-features" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cffi-c-ref = {
+    pname = "cffi-c-ref";
+    version = "stable-git";
+    asds = [ "cffi-c-ref" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cffi-c-ref/2020-10-16/cffi-c-ref-stable-git.tgz";
+      sha256 = "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z";
+      system = "cffi-c-ref";
+      asd = "cffi-c-ref";
+    });
+    systems = [ "cffi-c-ref" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) ];
+  };
+  cffi-c-ref_slash_tests = {
+    pname = "cffi-c-ref_tests";
+    version = "stable-git";
+    asds = [ "cffi-c-ref" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cffi-c-ref/2020-10-16/cffi-c-ref-stable-git.tgz";
+      sha256 = "1a3pp6xcisabqir3rp1gvvjfdxcvpm8yr35p38nri9azsinmmc7z";
+      system = "cffi-c-ref";
+      asd = "cffi-c-ref";
+    });
+    systems = [ "cffi-c-ref/tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bodge-libc-essentials" pkgs) (getAttr "cffi-c-ref" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cffi-examples = {
+    pname = "cffi-examples";
+    version = "0.24.1";
+    asds = [ "cffi-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cffi/2021-04-11/cffi_0.24.1.tgz";
+      sha256 = "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3";
+      system = "cffi-examples";
+      asd = "cffi-examples";
+    });
+    systems = [ "cffi-examples" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cffi-grovel = {
+    pname = "cffi-grovel";
+    version = "0.24.1";
+    asds = [ "cffi-grovel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cffi/2021-04-11/cffi_0.24.1.tgz";
+      sha256 = "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3";
+      system = "cffi-grovel";
+      asd = "cffi-grovel";
+    });
+    systems = [ "cffi-grovel" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-toolchain" pkgs) ];
+  };
+  cffi-libffi = {
+    pname = "cffi-libffi";
+    version = "0.24.1";
+    asds = [ "cffi-libffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cffi/2021-04-11/cffi_0.24.1.tgz";
+      sha256 = "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3";
+      system = "cffi-libffi";
+      asd = "cffi-libffi";
+    });
+    systems = [ "cffi-libffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  cffi-tests = {
+    pname = "cffi-tests";
+    version = "0.24.1";
+    asds = [ "cffi-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cffi/2021-04-11/cffi_0.24.1.tgz";
+      sha256 = "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3";
+      system = "cffi-tests";
+      asd = "cffi-tests";
+    });
+    systems = [ "cffi-tests" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "rt" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  cffi-tests_slash_example = {
+    pname = "cffi-tests_example";
+    version = "0.24.1";
+    asds = [ "cffi-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cffi/2021-04-11/cffi_0.24.1.tgz";
+      sha256 = "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3";
+      system = "cffi-tests";
+      asd = "cffi-tests";
+    });
+    systems = [ "cffi-tests/example" ];
+    lispLibs = [ (getAttr "cffi-grovel" pkgs) ];
+  };
+  cffi-toolchain = {
+    pname = "cffi-toolchain";
+    version = "0.24.1";
+    asds = [ "cffi-toolchain" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cffi/2021-04-11/cffi_0.24.1.tgz";
+      sha256 = "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3";
+      system = "cffi-toolchain";
+      asd = "cffi-toolchain";
+    });
+    systems = [ "cffi-toolchain" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cffi-uffi-compat = {
+    pname = "cffi-uffi-compat";
+    version = "0.24.1";
+    asds = [ "cffi-uffi-compat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cffi/2021-04-11/cffi_0.24.1.tgz";
+      sha256 = "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3";
+      system = "cffi-uffi-compat";
+      asd = "cffi-uffi-compat";
+    });
+    systems = [ "cffi-uffi-compat" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cffi_slash_c2ffi = {
+    pname = "cffi_c2ffi";
+    version = "0.24.1";
+    asds = [ "cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cffi/2021-04-11/cffi_0.24.1.tgz";
+      sha256 = "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3";
+      system = "cffi";
+      asd = "cffi";
+    });
+    systems = [ "cffi/c2ffi" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) ];
+  };
+  cffi_slash_c2ffi-generator = {
+    pname = "cffi_c2ffi-generator";
+    version = "0.24.1";
+    asds = [ "cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cffi/2021-04-11/cffi_0.24.1.tgz";
+      sha256 = "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3";
+      system = "cffi";
+      asd = "cffi";
+    });
+    systems = [ "cffi/c2ffi-generator" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  chain = {
+    pname = "chain";
+    version = "20211209-git";
+    asds = [ "chain" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chain/2021-12-09/chain-20211209-git.tgz";
+      sha256 = "0x8b2cbp1xq61fpbk0mqwbksnfynlgai3782rafsywka8rgfhmjh";
+      system = "chain";
+      asd = "chain";
+    });
+    systems = [ "chain" ];
+    lispLibs = [ (getAttr "metabang-bind" pkgs) ];
+  };
+  chameleon = {
+    pname = "chameleon";
+    version = "v1.2";
+    asds = [ "chameleon" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chameleon/2021-12-09/chameleon-v1.2.tgz";
+      sha256 = "1sb8f2g7i1p8wz98xj7k6q2fkvvw7hgaia813lj9rij5n7va0zab";
+      system = "chameleon";
+      asd = "chameleon";
+    });
+    systems = [ "chameleon" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  chameleon_slash_tests = {
+    pname = "chameleon_tests";
+    version = "v1.2";
+    asds = [ "chameleon" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chameleon/2021-12-09/chameleon-v1.2.tgz";
+      sha256 = "1sb8f2g7i1p8wz98xj7k6q2fkvvw7hgaia813lj9rij5n7va0zab";
+      system = "chameleon";
+      asd = "chameleon";
+    });
+    systems = [ "chameleon/tests" ];
+    lispLibs = [ (getAttr "chameleon" pkgs) (getAttr "fiveam" pkgs) (getAttr "fset" pkgs) ];
+  };
+  chancery = {
+    pname = "chancery";
+    version = "20201016-hg";
+    asds = [ "chancery" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chancery/2020-10-16/chancery-20201016-hg.tgz";
+      sha256 = "1g0jgrih7q14gizy481j9z2s15pmv6iwymnpddbyqfja9miv61lw";
+      system = "chancery";
+      asd = "chancery";
+    });
+    systems = [ "chancery" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  chancery_dot_test = {
+    pname = "chancery.test";
+    version = "20201016-hg";
+    asds = [ "chancery.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chancery/2020-10-16/chancery-20201016-hg.tgz";
+      sha256 = "1g0jgrih7q14gizy481j9z2s15pmv6iwymnpddbyqfja9miv61lw";
+      system = "chancery.test";
+      asd = "chancery.test";
+    });
+    systems = [ "chancery.test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "chancery" pkgs) ];
+  };
+  changed-stream = {
+    pname = "changed-stream";
+    version = "20130128-git";
+    asds = [ "changed-stream" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/changed-stream/2013-01-28/changed-stream-20130128-git.tgz";
+      sha256 = "1cll7xclg9jr55swhi3g6z567bxvb9kmljh67091xazcfacz732i";
+      system = "changed-stream";
+      asd = "changed-stream";
+    });
+    systems = [ "changed-stream" ];
+    lispLibs = [  ];
+  };
+  changed-stream_dot_test = {
+    pname = "changed-stream.test";
+    version = "20130128-git";
+    asds = [ "changed-stream.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/changed-stream/2013-01-28/changed-stream-20130128-git.tgz";
+      sha256 = "1cll7xclg9jr55swhi3g6z567bxvb9kmljh67091xazcfacz732i";
+      system = "changed-stream.test";
+      asd = "changed-stream.test";
+    });
+    systems = [ "changed-stream.test" ];
+    lispLibs = [ (getAttr "changed-stream" pkgs) ];
+  };
+  chanl = {
+    pname = "chanl";
+    version = "20210411-git";
+    asds = [ "chanl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chanl/2021-04-11/chanl-20210411-git.tgz";
+      sha256 = "1faljdamw09fp5154i7vhqnipm1awn2q3712ir41j2yh05djhm0y";
+      system = "chanl";
+      asd = "chanl";
+    });
+    systems = [ "chanl" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  chanl_slash_examples = {
+    pname = "chanl_examples";
+    version = "20210411-git";
+    asds = [ "chanl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chanl/2021-04-11/chanl-20210411-git.tgz";
+      sha256 = "1faljdamw09fp5154i7vhqnipm1awn2q3712ir41j2yh05djhm0y";
+      system = "chanl";
+      asd = "chanl";
+    });
+    systems = [ "chanl/examples" ];
+    lispLibs = [ (getAttr "chanl" pkgs) ];
+  };
+  chanl_slash_tests = {
+    pname = "chanl_tests";
+    version = "20210411-git";
+    asds = [ "chanl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chanl/2021-04-11/chanl-20210411-git.tgz";
+      sha256 = "1faljdamw09fp5154i7vhqnipm1awn2q3712ir41j2yh05djhm0y";
+      system = "chanl";
+      asd = "chanl";
+    });
+    systems = [ "chanl/tests" ];
+    lispLibs = [ (getAttr "chanl" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  character-modifier-bits = {
+    pname = "character-modifier-bits";
+    version = "20200427-git";
+    asds = [ "character-modifier-bits" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "character-modifier-bits";
+      asd = "character-modifier-bits";
+    });
+    systems = [ "character-modifier-bits" ];
+    lispLibs = [  ];
+  };
+  cheat-js = {
+    pname = "cheat-js";
+    version = "20121013-git";
+    asds = [ "cheat-js" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cheat-js/2012-10-13/cheat-js-20121013-git.tgz";
+      sha256 = "1h73kx0iii4y4gslz6f8kvf980bnypsras6xj38apm0fcwm93w03";
+      system = "cheat-js";
+      asd = "cheat-js";
+    });
+    systems = [ "cheat-js" ];
+    lispLibs = [ (getAttr "cl-uglify-js" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  check-bnf = {
+    pname = "check-bnf";
+    version = "20211209-git";
+    asds = [ "check-bnf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/check-bnf/2021-12-09/check-bnf-20211209-git.tgz";
+      sha256 = "16npvy4nxrd0s9cg7x61qs5kbkgzism0gmia50vbx1b4icbdbkkn";
+      system = "check-bnf";
+      asd = "check-bnf";
+    });
+    systems = [ "check-bnf" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) (getAttr "matrix-case" pkgs) (getAttr "millet" pkgs) ];
+  };
+  check-bnf_dot_test = {
+    pname = "check-bnf.test";
+    version = "20211209-git";
+    asds = [ "check-bnf.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/check-bnf/2021-12-09/check-bnf-20211209-git.tgz";
+      sha256 = "16npvy4nxrd0s9cg7x61qs5kbkgzism0gmia50vbx1b4icbdbkkn";
+      system = "check-bnf.test";
+      asd = "check-bnf.test";
+    });
+    systems = [ "check-bnf.test" ];
+    lispLibs = [ (getAttr "check-bnf" pkgs) (getAttr "jingoh" pkgs) ];
+  };
+  check-it = {
+    pname = "check-it";
+    version = "20150709-git";
+    asds = [ "check-it" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/check-it/2015-07-09/check-it-20150709-git.tgz";
+      sha256 = "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7";
+      system = "check-it";
+      asd = "check-it";
+    });
+    systems = [ "check-it" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "optima" pkgs) ];
+  };
+  check-it-test = {
+    pname = "check-it-test";
+    version = "20150709-git";
+    asds = [ "check-it-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/check-it/2015-07-09/check-it-20150709-git.tgz";
+      sha256 = "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7";
+      system = "check-it-test";
+      asd = "check-it";
+    });
+    systems = [ "check-it-test" ];
+    lispLibs = [ (getAttr "check-it" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  checkl = {
+    pname = "checkl";
+    version = "20180328-git";
+    asds = [ "checkl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/checkl/2018-03-28/checkl-20180328-git.tgz";
+      sha256 = "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx";
+      system = "checkl";
+      asd = "checkl";
+    });
+    systems = [ "checkl" ];
+    lispLibs = [ (getAttr "marshal" pkgs) ];
+  };
+  checkl-docs = {
+    pname = "checkl-docs";
+    version = "20180328-git";
+    asds = [ "checkl-docs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/checkl/2018-03-28/checkl-20180328-git.tgz";
+      sha256 = "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx";
+      system = "checkl-docs";
+      asd = "checkl-docs";
+    });
+    systems = [ "checkl-docs" ];
+    lispLibs = [ (getAttr "checkl" pkgs) (getAttr "cl-gendoc" pkgs) ];
+  };
+  checkl-test = {
+    pname = "checkl-test";
+    version = "20180328-git";
+    asds = [ "checkl-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/checkl/2018-03-28/checkl-20180328-git.tgz";
+      sha256 = "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx";
+      system = "checkl-test";
+      asd = "checkl-test";
+    });
+    systems = [ "checkl-test" ];
+    lispLibs = [ (getAttr "checkl" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  chemical-compounds = {
+    pname = "chemical-compounds";
+    version = "1.0.2";
+    asds = [ "chemical-compounds" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chemical-compounds/2011-10-01/chemical-compounds-1.0.2.tgz";
+      sha256 = "047z1lab08y4nsb32rnzqfpb6akyhibzjgmmr1bnwrh9pmhv3s2k";
+      system = "chemical-compounds";
+      asd = "chemical-compounds";
+    });
+    systems = [ "chemical-compounds" ];
+    lispLibs = [ (getAttr "periodic-table" pkgs) ];
+  };
+  chillax = {
+    pname = "chillax";
+    version = "20150302-git";
+    asds = [ "chillax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz";
+      sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1";
+      system = "chillax";
+      asd = "chillax";
+    });
+    systems = [ "chillax" ];
+    lispLibs = [ (getAttr "chillax_dot_core" pkgs) (getAttr "chillax_dot_yason" pkgs) ];
+  };
+  chillax_dot_core = {
+    pname = "chillax.core";
+    version = "20150302-git";
+    asds = [ "chillax.core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz";
+      sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1";
+      system = "chillax.core";
+      asd = "chillax.core";
+    });
+    systems = [ "chillax.core" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "drakma" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  chillax_dot_jsown = {
+    pname = "chillax.jsown";
+    version = "20150302-git";
+    asds = [ "chillax.jsown" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz";
+      sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1";
+      system = "chillax.jsown";
+      asd = "chillax.jsown";
+    });
+    systems = [ "chillax.jsown" ];
+    lispLibs = [ (getAttr "chillax_dot_core" pkgs) (getAttr "jsown" pkgs) ];
+  };
+  chillax_dot_view-server = {
+    pname = "chillax.view-server";
+    version = "20150302-git";
+    asds = [ "chillax.view-server" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz";
+      sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1";
+      system = "chillax.view-server";
+      asd = "chillax.view-server";
+    });
+    systems = [ "chillax.view-server" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "yason" pkgs) ];
+  };
+  chillax_dot_yason = {
+    pname = "chillax.yason";
+    version = "20150302-git";
+    asds = [ "chillax.yason" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chillax/2015-03-02/chillax-20150302-git.tgz";
+      sha256 = "1is3qm68wyfi3rmpn8mw0x9861951a2w60snsdippikygm3smzr1";
+      system = "chillax.yason";
+      asd = "chillax.yason";
+    });
+    systems = [ "chillax.yason" ];
+    lispLibs = [ (getAttr "chillax_dot_core" pkgs) (getAttr "yason" pkgs) ];
+  };
+  chipmunk-blob = {
+    pname = "chipmunk-blob";
+    version = "stable-git";
+    asds = [ "chipmunk-blob" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chipmunk-blob/2020-10-16/chipmunk-blob-stable-git.tgz";
+      sha256 = "0kdi1al1cn90hzjfnjhkxp3k5ibp6l73k3m04mkpzkzpjy7jc80d";
+      system = "chipmunk-blob";
+      asd = "chipmunk-blob";
+    });
+    systems = [ "chipmunk-blob" ];
+    lispLibs = [ (getAttr "bodge-blobs-support" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  chipz = {
+    pname = "chipz";
+    version = "20210807-git";
+    asds = [ "chipz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chipz/2021-08-07/chipz-20210807-git.tgz";
+      sha256 = "139758gvd1qw8vazx6ddwsv5s2rv09ky7wb8k61yabbiwf6g2z5l";
+      system = "chipz";
+      asd = "chipz";
+    });
+    systems = [ "chipz" ];
+    lispLibs = [  ];
+  };
+  chirp = {
+    pname = "chirp";
+    version = "20211020-git";
+    asds = [ "chirp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chirp/2021-10-20/chirp-20211020-git.tgz";
+      sha256 = "0j12qbv6jd7rmk8zmb9pk54406hqk9vn9s83v3fy7amq84kghsvz";
+      system = "chirp";
+      asd = "chirp";
+    });
+    systems = [ "chirp" ];
+    lispLibs = [ (getAttr "chirp-drakma" pkgs) ];
+  };
+  chirp-core = {
+    pname = "chirp-core";
+    version = "20211020-git";
+    asds = [ "chirp-core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chirp/2021-10-20/chirp-20211020-git.tgz";
+      sha256 = "0j12qbv6jd7rmk8zmb9pk54406hqk9vn9s83v3fy7amq84kghsvz";
+      system = "chirp-core";
+      asd = "chirp-core";
+    });
+    systems = [ "chirp-core" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "ironclad" pkgs) (getAttr "local-time" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uuid" pkgs) (getAttr "yason" pkgs) ];
+  };
+  chirp-dexador = {
+    pname = "chirp-dexador";
+    version = "20211020-git";
+    asds = [ "chirp-dexador" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chirp/2021-10-20/chirp-20211020-git.tgz";
+      sha256 = "0j12qbv6jd7rmk8zmb9pk54406hqk9vn9s83v3fy7amq84kghsvz";
+      system = "chirp-dexador";
+      asd = "chirp-dexador";
+    });
+    systems = [ "chirp-dexador" ];
+    lispLibs = [ (getAttr "chirp-core" pkgs) (getAttr "dexador" pkgs) ];
+  };
+  chirp-drakma = {
+    pname = "chirp-drakma";
+    version = "20211020-git";
+    asds = [ "chirp-drakma" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chirp/2021-10-20/chirp-20211020-git.tgz";
+      sha256 = "0j12qbv6jd7rmk8zmb9pk54406hqk9vn9s83v3fy7amq84kghsvz";
+      system = "chirp-drakma";
+      asd = "chirp-drakma";
+    });
+    systems = [ "chirp-drakma" ];
+    lispLibs = [ (getAttr "chirp-core" pkgs) (getAttr "drakma" pkgs) ];
+  };
+  chrome-native-messaging = {
+    pname = "chrome-native-messaging";
+    version = "20150302-git";
+    asds = [ "chrome-native-messaging" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chrome-native-messaging/2015-03-02/chrome-native-messaging-20150302-git.tgz";
+      sha256 = "1fw02w5brpwa0kl7sx5b13fbcfv1ny8rwcj11ayj2q528i2xmpx5";
+      system = "chrome-native-messaging";
+      asd = "chrome-native-messaging";
+    });
+    systems = [ "chrome-native-messaging" ];
+    lispLibs = [ (getAttr "trivial-utf-8" pkgs) ];
+  };
+  chronicity = {
+    pname = "chronicity";
+    version = "20190202-git";
+    asds = [ "chronicity" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chronicity/2019-02-02/chronicity-20190202-git.tgz";
+      sha256 = "1h5dlgvccffd8sqszqwilscysklzfcp374zl48rq14ywgv3rnwhl";
+      system = "chronicity";
+      asd = "chronicity";
+    });
+    systems = [ "chronicity" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  chronicity-test = {
+    pname = "chronicity-test";
+    version = "20190202-git";
+    asds = [ "chronicity-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chronicity/2019-02-02/chronicity-20190202-git.tgz";
+      sha256 = "1h5dlgvccffd8sqszqwilscysklzfcp374zl48rq14ywgv3rnwhl";
+      system = "chronicity-test";
+      asd = "chronicity-test";
+    });
+    systems = [ "chronicity-test" ];
+    lispLibs = [ (getAttr "chronicity" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  chtml-matcher = {
+    pname = "chtml-matcher";
+    version = "20111001-git";
+    asds = [ "chtml-matcher" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chtml-matcher/2011-10-01/chtml-matcher-20111001-git.tgz";
+      sha256 = "1q1ksy2w0c4dcmq8543scl11x4crh1m5w29p1wjpqhxk826jx7fd";
+      system = "chtml-matcher";
+      asd = "chtml-matcher";
+    });
+    systems = [ "chtml-matcher" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "stdutils" pkgs) (getAttr "closure-html" pkgs) (getAttr "f-underscore" pkgs) ];
+  };
+  chunga = {
+    pname = "chunga";
+    version = "20200427-git";
+    asds = [ "chunga" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/chunga/2020-04-27/chunga-20200427-git.tgz";
+      sha256 = "1m5mf0lks32k492gc1ys4ngy3vwgxlccg3966alrhy6q8m2jdcym";
+      system = "chunga";
+      asd = "chunga";
+    });
+    systems = [ "chunga" ];
+    lispLibs = [ (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  ci-utils = {
+    pname = "ci-utils";
+    version = "20211020-git";
+    asds = [ "ci-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ci-utils/2021-10-20/ci-utils-20211020-git.tgz";
+      sha256 = "0kmq7hbzar7q9kw2sqyr7286lf60lxhr9k6lmzr766anm0fyzjap";
+      system = "ci-utils";
+      asd = "ci-utils";
+    });
+    systems = [ "ci-utils" ];
+    lispLibs = [ (getAttr "ci-utils-features" pkgs) ];
+  };
+  ci-utils-features = {
+    pname = "ci-utils-features";
+    version = "20211020-git";
+    asds = [ "ci-utils-features" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ci-utils/2021-10-20/ci-utils-20211020-git.tgz";
+      sha256 = "0kmq7hbzar7q9kw2sqyr7286lf60lxhr9k6lmzr766anm0fyzjap";
+      system = "ci-utils-features";
+      asd = "ci-utils-features";
+    });
+    systems = [ "ci-utils-features" ];
+    lispLibs = [  ];
+  };
+  ci-utils_slash_coveralls = {
+    pname = "ci-utils_coveralls";
+    version = "20211020-git";
+    asds = [ "ci-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ci-utils/2021-10-20/ci-utils-20211020-git.tgz";
+      sha256 = "0kmq7hbzar7q9kw2sqyr7286lf60lxhr9k6lmzr766anm0fyzjap";
+      system = "ci-utils";
+      asd = "ci-utils";
+    });
+    systems = [ "ci-utils/coveralls" ];
+    lispLibs = [ (getAttr "ci-utils" pkgs) (getAttr "ci-utils-features" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  ci-utils_slash_test = {
+    pname = "ci-utils_test";
+    version = "20211020-git";
+    asds = [ "ci-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ci-utils/2021-10-20/ci-utils-20211020-git.tgz";
+      sha256 = "0kmq7hbzar7q9kw2sqyr7286lf60lxhr9k6lmzr766anm0fyzjap";
+      system = "ci-utils";
+      asd = "ci-utils";
+    });
+    systems = [ "ci-utils/test" ];
+    lispLibs = [ (getAttr "ci-utils" pkgs) (getAttr "ci-utils-features" pkgs) (getAttr "fiveam" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  circular-streams = {
+    pname = "circular-streams";
+    version = "20161204-git";
+    asds = [ "circular-streams" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/circular-streams/2016-12-04/circular-streams-20161204-git.tgz";
+      sha256 = "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs";
+      system = "circular-streams";
+      asd = "circular-streams";
+    });
+    systems = [ "circular-streams" ];
+    lispLibs = [ (getAttr "fast-io" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  circular-streams-test = {
+    pname = "circular-streams-test";
+    version = "20161204-git";
+    asds = [ "circular-streams-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/circular-streams/2016-12-04/circular-streams-20161204-git.tgz";
+      sha256 = "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs";
+      system = "circular-streams-test";
+      asd = "circular-streams-test";
+    });
+    systems = [ "circular-streams-test" ];
+    lispLibs = [ (getAttr "circular-streams" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "cl-test-more" pkgs) ];
+  };
+  city-hash = {
+    pname = "city-hash";
+    version = "20200925-git";
+    asds = [ "city-hash" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/city-hash/2020-09-25/city-hash-20200925-git.tgz";
+      sha256 = "10ksl402aa37sn78hnvlvpqibr66qzpjvf2x4a789gnl411cf44a";
+      system = "city-hash";
+      asd = "city-hash";
+    });
+    systems = [ "city-hash" ];
+    lispLibs = [ (getAttr "com_dot_google_dot_base" pkgs) (getAttr "nibbles" pkgs) (getAttr "swap-bytes" pkgs) ];
+  };
+  city-hash-test = {
+    pname = "city-hash-test";
+    version = "20200925-git";
+    asds = [ "city-hash-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/city-hash/2020-09-25/city-hash-20200925-git.tgz";
+      sha256 = "10ksl402aa37sn78hnvlvpqibr66qzpjvf2x4a789gnl411cf44a";
+      system = "city-hash-test";
+      asd = "city-hash-test";
+    });
+    systems = [ "city-hash-test" ];
+    lispLibs = [ (getAttr "city-hash" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  ckr-tables = {
+    pname = "ckr-tables";
+    version = "20201220-git";
+    asds = [ "ckr-tables" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-critic/2020-12-20/lisp-critic-20201220-git.tgz";
+      sha256 = "1x1kadwr38qhq8b8pabd8vqs54d16v1y5yfgjf3d02cvlsy67mx0";
+      system = "ckr-tables";
+      asd = "ckr-tables";
+    });
+    systems = [ "ckr-tables" ];
+    lispLibs = [  ];
+  };
+  cl_plus_ssl = {
+    pname = "cl+ssl";
+    version = "20211230-git";
+    asds = [ "cl+ssl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl+ssl/2021-12-30/cl+ssl-20211230-git.tgz";
+      sha256 = "0y5k9d2h9j38g4jgifi996w1sfz5gr8325x4vm2wgmrca27s561x";
+      system = "cl+ssl";
+      asd = "cl+ssl";
+    });
+    systems = [ "cl+ssl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "uiop" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl_plus_ssl_dot_test = {
+    pname = "cl+ssl.test";
+    version = "20211230-git";
+    asds = [ "cl+ssl.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl+ssl/2021-12-30/cl+ssl-20211230-git.tgz";
+      sha256 = "0y5k9d2h9j38g4jgifi996w1sfz5gr8325x4vm2wgmrca27s561x";
+      system = "cl+ssl.test";
+      asd = "cl+ssl.test";
+    });
+    systems = [ "cl+ssl.test" ];
+    lispLibs = [ (getAttr "cl_plus_ssl" pkgs) (getAttr "cl-coveralls" pkgs) (getAttr "fiveam" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl_plus_ssl_slash_config = {
+    pname = "cl+ssl_config";
+    version = "20211230-git";
+    asds = [ "cl+ssl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl+ssl/2021-12-30/cl+ssl-20211230-git.tgz";
+      sha256 = "0y5k9d2h9j38g4jgifi996w1sfz5gr8325x4vm2wgmrca27s561x";
+      system = "cl+ssl";
+      asd = "cl+ssl";
+    });
+    systems = [ "cl+ssl/config" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-6502 = {
+    pname = "cl-6502";
+    version = "20211020-git";
+    asds = [ "cl-6502" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-6502/2021-10-20/cl-6502-20211020-git.tgz";
+      sha256 = "1mzdx141ad1rf0di09glyibxbizbmhzd9l3cqd7r3cvrvf5gkj49";
+      system = "cl-6502";
+      asd = "cl-6502";
+    });
+    systems = [ "cl-6502" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  cl-aa = {
+    pname = "cl-aa";
+    version = "20180228-git";
+    asds = [ "cl-aa" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-vectors/2018-02-28/cl-vectors-20180228-git.tgz";
+      sha256 = "0nckw4zb6s96hll8hrxzvgs2an3bfm0pxcywshbm4bq4rn7niqg4";
+      system = "cl-aa";
+      asd = "cl-aa";
+    });
+    systems = [ "cl-aa" ];
+    lispLibs = [  ];
+  };
+  cl-aa-misc = {
+    pname = "cl-aa-misc";
+    version = "20180228-git";
+    asds = [ "cl-aa-misc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-vectors/2018-02-28/cl-vectors-20180228-git.tgz";
+      sha256 = "0nckw4zb6s96hll8hrxzvgs2an3bfm0pxcywshbm4bq4rn7niqg4";
+      system = "cl-aa-misc";
+      asd = "cl-aa-misc";
+    });
+    systems = [ "cl-aa-misc" ];
+    lispLibs = [  ];
+  };
+  cl-acronyms = {
+    pname = "cl-acronyms";
+    version = "20150302-git";
+    asds = [ "cl-acronyms" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-acronyms/2015-03-02/cl-acronyms-20150302-git.tgz";
+      sha256 = "1b827g6n87i81wbqzvmlq0yn41kfa502v5ssbh2wh1b4xznhn8cc";
+      system = "cl-acronyms";
+      asd = "cl-acronyms";
+    });
+    systems = [ "cl-acronyms" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-actors = {
+    pname = "cl-actors";
+    version = "20191130-git";
+    asds = [ "cl-actors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/common-lisp-actors/2019-11-30/common-lisp-actors-20191130-git.tgz";
+      sha256 = "0snf91yivxq6jcbvm3l6b05lcka7jrzciqd4m841amghfw32clfn";
+      system = "cl-actors";
+      asd = "cl-actors";
+    });
+    systems = [ "cl-actors" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  cl-alc = {
+    pname = "cl-alc";
+    version = "20150302-git";
+    asds = [ "cl-alc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-openal/2015-03-02/cl-openal-20150302-git.tgz";
+      sha256 = "1j7qcimrhd7nypalimfvb7zzixq79yzwqmkvs1bzhg7d86k8sg5h";
+      system = "cl-alc";
+      asd = "cl-alc";
+    });
+    systems = [ "cl-alc" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-openal" pkgs) ];
+  };
+  cl-algebraic-data-type = {
+    pname = "cl-algebraic-data-type";
+    version = "20191007-git";
+    asds = [ "cl-algebraic-data-type" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-algebraic-data-type/2019-10-07/cl-algebraic-data-type-20191007-git.tgz";
+      sha256 = "1lnqxcv8pd5z8n0g5p2l0dbljx9pqiv18hxl0vhsh7ldhkrjv2jx";
+      system = "cl-algebraic-data-type";
+      asd = "cl-algebraic-data-type";
+    });
+    systems = [ "cl-algebraic-data-type" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "global-vars" pkgs) ];
+  };
+  cl-all = {
+    pname = "cl-all";
+    version = "20200925-git";
+    asds = [ "cl-all" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-all/2020-09-25/cl-all-20200925-git.tgz";
+      sha256 = "1ad0q071m2825dahllgmzacvk7z41h8lcbxf5jj0ql3m65ryz7qr";
+      system = "cl-all";
+      asd = "cl-all";
+    });
+    systems = [ "cl-all" ];
+    lispLibs = [  ];
+  };
+  cl-alut = {
+    pname = "cl-alut";
+    version = "20150302-git";
+    asds = [ "cl-alut" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-openal/2015-03-02/cl-openal-20150302-git.tgz";
+      sha256 = "1j7qcimrhd7nypalimfvb7zzixq79yzwqmkvs1bzhg7d86k8sg5h";
+      system = "cl-alut";
+      asd = "cl-alut";
+    });
+    systems = [ "cl-alut" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-openal" pkgs) ];
+  };
+  cl-amqp = {
+    pname = "cl-amqp";
+    version = "v0.4.1";
+    asds = [ "cl-amqp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-amqp/2019-10-08/cl-amqp-v0.4.1.tgz";
+      sha256 = "1ggd77ckfr54z7z5yi8d04k310x2dhf53qija8dzjhk1r9py20vz";
+      system = "cl-amqp";
+      asd = "cl-amqp";
+    });
+    systems = [ "cl-amqp" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "collectors" pkgs) (getAttr "fast-io" pkgs) (getAttr "local-time" pkgs) (getAttr "log4cl" pkgs) (getAttr "nibbles" pkgs) (getAttr "trivial-utf-8" pkgs) (getAttr "wu-decimal" pkgs) ];
+  };
+  cl-amqp_dot_test = {
+    pname = "cl-amqp.test";
+    version = "v0.4.1";
+    asds = [ "cl-amqp.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-amqp/2019-10-08/cl-amqp-v0.4.1.tgz";
+      sha256 = "1ggd77ckfr54z7z5yi8d04k310x2dhf53qija8dzjhk1r9py20vz";
+      system = "cl-amqp.test";
+      asd = "cl-amqp.test";
+    });
+    systems = [ "cl-amqp.test" ];
+    lispLibs = [ (getAttr "cl-amqp" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "log4cl" pkgs) (getAttr "mw-equiv" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-ana = {
+    pname = "cl-ana";
+    version = "20211230-git";
+    asds = [ "cl-ana" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana";
+      asd = "cl-ana";
+    });
+    systems = [ "cl-ana" ];
+    lispLibs = [ (getAttr "cl-ana_dot_array-utils" pkgs) (getAttr "cl-ana_dot_binary-tree" pkgs) (getAttr "cl-ana_dot_calculus" pkgs) (getAttr "cl-ana_dot_clos-utils" pkgs) (getAttr "cl-ana_dot_columnar-table" pkgs) (getAttr "cl-ana_dot_csv-table" pkgs) (getAttr "cl-ana_dot_error-propogation" pkgs) (getAttr "cl-ana_dot_file-utils" pkgs) (getAttr "cl-ana_dot_fitting" pkgs) (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_hash-table-utils" pkgs) (getAttr "cl-ana_dot_hdf-table" pkgs) (getAttr "cl-ana_dot_histogram" pkgs) (getAttr "cl-ana_dot_int-char" pkgs) (getAttr "cl-ana_dot_linear-algebra" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_lorentz" pkgs) (getAttr "cl-ana_dot_makeres" pkgs) (getAttr "cl-ana_dot_makeres-block" pkgs) (getAttr "cl-ana_dot_makeres-branch" pkgs) (getAttr "cl-ana_dot_makeres-graphviz" pkgs) (getAttr "cl-ana_dot_makeres-macro" pkgs) (getAttr "cl-ana_dot_makeres-progress" pkgs) (getAttr "cl-ana_dot_makeres-table" pkgs) (getAttr "cl-ana_dot_makeres-utils" pkgs) (getAttr "cl-ana_dot_map" pkgs) (getAttr "cl-ana_dot_math-functions" pkgs) (getAttr "cl-ana_dot_ntuple-table" pkgs) (getAttr "cl-ana_dot_package-utils" pkgs) (getAttr "cl-ana_dot_pathname-utils" pkgs) (getAttr "cl-ana_dot_plotting" pkgs) (getAttr "cl-ana_dot_quantity" pkgs) (getAttr "cl-ana_dot_reusable-table" pkgs) (getAttr "cl-ana_dot_serialization" pkgs) (getAttr "cl-ana_dot_spline" pkgs) (getAttr "cl-ana_dot_statistical-learning" pkgs) (getAttr "cl-ana_dot_statistics" pkgs) (getAttr "cl-ana_dot_table" pkgs) (getAttr "cl-ana_dot_table-utils" pkgs) (getAttr "cl-ana_dot_table-viewing" pkgs) (getAttr "cl-ana_dot_tensor" pkgs) ];
+  };
+  cl-ana_dot_array-utils = {
+    pname = "cl-ana.array-utils";
+    version = "20211230-git";
+    asds = [ "cl-ana.array-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.array-utils";
+      asd = "cl-ana.array-utils";
+    });
+    systems = [ "cl-ana.array-utils" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cl-ana_dot_binary-tree = {
+    pname = "cl-ana.binary-tree";
+    version = "20211230-git";
+    asds = [ "cl-ana.binary-tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.binary-tree";
+      asd = "cl-ana.binary-tree";
+    });
+    systems = [ "cl-ana.binary-tree" ];
+    lispLibs = [ (getAttr "cl-ana_dot_functional-utils" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) ];
+  };
+  cl-ana_dot_calculus = {
+    pname = "cl-ana.calculus";
+    version = "20211230-git";
+    asds = [ "cl-ana.calculus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.calculus";
+      asd = "cl-ana.calculus";
+    });
+    systems = [ "cl-ana.calculus" ];
+    lispLibs = [ (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_linear-algebra" pkgs) ];
+  };
+  cl-ana_dot_clos-utils = {
+    pname = "cl-ana.clos-utils";
+    version = "20211230-git";
+    asds = [ "cl-ana.clos-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.clos-utils";
+      asd = "cl-ana.clos-utils";
+    });
+    systems = [ "cl-ana.clos-utils" ];
+    lispLibs = [ (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_symbol-utils" pkgs) (getAttr "cl-ana_dot_tensor" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  cl-ana_dot_columnar-table = {
+    pname = "cl-ana.columnar-table";
+    version = "20211230-git";
+    asds = [ "cl-ana.columnar-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.columnar-table";
+      asd = "cl-ana.columnar-table";
+    });
+    systems = [ "cl-ana.columnar-table" ];
+    lispLibs = [ (getAttr "cl-ana_dot_reusable-table" pkgs) (getAttr "cl-ana_dot_table" pkgs) ];
+  };
+  cl-ana_dot_csv-table = {
+    pname = "cl-ana.csv-table";
+    version = "20211230-git";
+    asds = [ "cl-ana.csv-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.csv-table";
+      asd = "cl-ana.csv-table";
+    });
+    systems = [ "cl-ana.csv-table" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "antik" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_table" pkgs) (getAttr "cl-csv" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-ana_dot_error-propogation = {
+    pname = "cl-ana.error-propogation";
+    version = "20211230-git";
+    asds = [ "cl-ana.error-propogation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.error-propogation";
+      asd = "cl-ana.error-propogation";
+    });
+    systems = [ "cl-ana.error-propogation" ];
+    lispLibs = [ (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_math-functions" pkgs) ];
+  };
+  cl-ana_dot_file-utils = {
+    pname = "cl-ana.file-utils";
+    version = "20211230-git";
+    asds = [ "cl-ana.file-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.file-utils";
+      asd = "cl-ana.file-utils";
+    });
+    systems = [ "cl-ana.file-utils" ];
+    lispLibs = [ (getAttr "external-program" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-ana_dot_fitting = {
+    pname = "cl-ana.fitting";
+    version = "20211230-git";
+    asds = [ "cl-ana.fitting" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.fitting";
+      asd = "cl-ana.fitting";
+    });
+    systems = [ "cl-ana.fitting" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_error-propogation" pkgs) (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_map" pkgs) (getAttr "cl-ana_dot_math-functions" pkgs) (getAttr "gsll" pkgs) ];
+  };
+  cl-ana_dot_functional-utils = {
+    pname = "cl-ana.functional-utils";
+    version = "20211230-git";
+    asds = [ "cl-ana.functional-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.functional-utils";
+      asd = "cl-ana.functional-utils";
+    });
+    systems = [ "cl-ana.functional-utils" ];
+    lispLibs = [  ];
+  };
+  cl-ana_dot_generic-math = {
+    pname = "cl-ana.generic-math";
+    version = "20211230-git";
+    asds = [ "cl-ana.generic-math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.generic-math";
+      asd = "cl-ana.generic-math";
+    });
+    systems = [ "cl-ana.generic-math" ];
+    lispLibs = [ (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_package-utils" pkgs) ];
+  };
+  cl-ana_dot_gnuplot-interface = {
+    pname = "cl-ana.gnuplot-interface";
+    version = "20211230-git";
+    asds = [ "cl-ana.gnuplot-interface" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.gnuplot-interface";
+      asd = "cl-ana.gnuplot-interface";
+    });
+    systems = [ "cl-ana.gnuplot-interface" ];
+    lispLibs = [ (getAttr "external-program" pkgs) ];
+  };
+  cl-ana_dot_gsl-cffi = {
+    pname = "cl-ana.gsl-cffi";
+    version = "20211230-git";
+    asds = [ "cl-ana.gsl-cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.gsl-cffi";
+      asd = "cl-ana.gsl-cffi";
+    });
+    systems = [ "cl-ana.gsl-cffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-ana_dot_hash-table-utils = {
+    pname = "cl-ana.hash-table-utils";
+    version = "20211230-git";
+    asds = [ "cl-ana.hash-table-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.hash-table-utils";
+      asd = "cl-ana.hash-table-utils";
+    });
+    systems = [ "cl-ana.hash-table-utils" ];
+    lispLibs = [  ];
+  };
+  cl-ana_dot_hdf-cffi = {
+    pname = "cl-ana.hdf-cffi";
+    version = "20211230-git";
+    asds = [ "cl-ana.hdf-cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.hdf-cffi";
+      asd = "cl-ana.hdf-cffi";
+    });
+    systems = [ "cl-ana.hdf-cffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  cl-ana_dot_hdf-table = {
+    pname = "cl-ana.hdf-table";
+    version = "20211230-git";
+    asds = [ "cl-ana.hdf-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.hdf-table";
+      asd = "cl-ana.hdf-table";
+    });
+    systems = [ "cl-ana.hdf-table" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_binary-tree" pkgs) (getAttr "cl-ana_dot_hdf-typespec" pkgs) (getAttr "cl-ana_dot_hdf-utils" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_memoization" pkgs) (getAttr "cl-ana_dot_table" pkgs) (getAttr "cl-ana_dot_typed-table" pkgs) (getAttr "cl-ana_dot_typespec" pkgs) ];
+  };
+  cl-ana_dot_hdf-typespec = {
+    pname = "cl-ana.hdf-typespec";
+    version = "20211230-git";
+    asds = [ "cl-ana.hdf-typespec" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.hdf-typespec";
+      asd = "cl-ana.hdf-typespec";
+    });
+    systems = [ "cl-ana.hdf-typespec" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-ana_dot_hdf-cffi" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_memoization" pkgs) (getAttr "cl-ana_dot_string-utils" pkgs) (getAttr "cl-ana_dot_symbol-utils" pkgs) (getAttr "cl-ana_dot_typespec" pkgs) ];
+  };
+  cl-ana_dot_hdf-utils = {
+    pname = "cl-ana.hdf-utils";
+    version = "20211230-git";
+    asds = [ "cl-ana.hdf-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.hdf-utils";
+      asd = "cl-ana.hdf-utils";
+    });
+    systems = [ "cl-ana.hdf-utils" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-ana_dot_hdf-cffi" pkgs) (getAttr "cl-ana_dot_hdf-typespec" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_memoization" pkgs) (getAttr "cl-ana_dot_pathname-utils" pkgs) (getAttr "cl-ana_dot_string-utils" pkgs) (getAttr "cl-ana_dot_typespec" pkgs) ];
+  };
+  cl-ana_dot_histogram = {
+    pname = "cl-ana.histogram";
+    version = "20211230-git";
+    asds = [ "cl-ana.histogram" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.histogram";
+      asd = "cl-ana.histogram";
+    });
+    systems = [ "cl-ana.histogram" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_binary-tree" pkgs) (getAttr "cl-ana_dot_clos-utils" pkgs) (getAttr "cl-ana_dot_fitting" pkgs) (getAttr "cl-ana_dot_functional-utils" pkgs) (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_hash-table-utils" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_map" pkgs) (getAttr "cl-ana_dot_symbol-utils" pkgs) (getAttr "cl-ana_dot_tensor" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-ana_dot_int-char = {
+    pname = "cl-ana.int-char";
+    version = "20211230-git";
+    asds = [ "cl-ana.int-char" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.int-char";
+      asd = "cl-ana.int-char";
+    });
+    systems = [ "cl-ana.int-char" ];
+    lispLibs = [  ];
+  };
+  cl-ana_dot_linear-algebra = {
+    pname = "cl-ana.linear-algebra";
+    version = "20211230-git";
+    asds = [ "cl-ana.linear-algebra" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.linear-algebra";
+      asd = "cl-ana.linear-algebra";
+    });
+    systems = [ "cl-ana.linear-algebra" ];
+    lispLibs = [ (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_math-functions" pkgs) (getAttr "cl-ana_dot_tensor" pkgs) (getAttr "gsll" pkgs) ];
+  };
+  cl-ana_dot_list-utils = {
+    pname = "cl-ana.list-utils";
+    version = "20211230-git";
+    asds = [ "cl-ana.list-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.list-utils";
+      asd = "cl-ana.list-utils";
+    });
+    systems = [ "cl-ana.list-utils" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_functional-utils" pkgs) (getAttr "cl-ana_dot_string-utils" pkgs) ];
+  };
+  cl-ana_dot_lorentz = {
+    pname = "cl-ana.lorentz";
+    version = "20211230-git";
+    asds = [ "cl-ana.lorentz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.lorentz";
+      asd = "cl-ana.lorentz";
+    });
+    systems = [ "cl-ana.lorentz" ];
+    lispLibs = [ (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_linear-algebra" pkgs) (getAttr "cl-ana_dot_tensor" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-ana_dot_macro-utils = {
+    pname = "cl-ana.macro-utils";
+    version = "20211230-git";
+    asds = [ "cl-ana.macro-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.macro-utils";
+      asd = "cl-ana.macro-utils";
+    });
+    systems = [ "cl-ana.macro-utils" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_string-utils" pkgs) (getAttr "cl-ana_dot_symbol-utils" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-ana_dot_makeres = {
+    pname = "cl-ana.makeres";
+    version = "20211230-git";
+    asds = [ "cl-ana.makeres" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.makeres";
+      asd = "cl-ana.makeres";
+    });
+    systems = [ "cl-ana.makeres" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_error-propogation" pkgs) (getAttr "cl-ana_dot_file-utils" pkgs) (getAttr "cl-ana_dot_functional-utils" pkgs) (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_hash-table-utils" pkgs) (getAttr "cl-ana_dot_hdf-utils" pkgs) (getAttr "cl-ana_dot_histogram" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_map" pkgs) (getAttr "cl-ana_dot_memoization" pkgs) (getAttr "cl-ana_dot_pathname-utils" pkgs) (getAttr "cl-ana_dot_plotting" pkgs) (getAttr "cl-ana_dot_reusable-table" pkgs) (getAttr "cl-ana_dot_serialization" pkgs) (getAttr "cl-ana_dot_string-utils" pkgs) (getAttr "cl-ana_dot_symbol-utils" pkgs) (getAttr "cl-ana_dot_table" pkgs) (getAttr "cl-fad" pkgs) (getAttr "external-program" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-ana_dot_makeres-block = {
+    pname = "cl-ana.makeres-block";
+    version = "20211230-git";
+    asds = [ "cl-ana.makeres-block" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.makeres-block";
+      asd = "cl-ana.makeres-block";
+    });
+    systems = [ "cl-ana.makeres-block" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_makeres" pkgs) ];
+  };
+  cl-ana_dot_makeres-branch = {
+    pname = "cl-ana.makeres-branch";
+    version = "20211230-git";
+    asds = [ "cl-ana.makeres-branch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.makeres-branch";
+      asd = "cl-ana.makeres-branch";
+    });
+    systems = [ "cl-ana.makeres-branch" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_hash-table-utils" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_makeres" pkgs) (getAttr "cl-ana_dot_map" pkgs) ];
+  };
+  cl-ana_dot_makeres-graphviz = {
+    pname = "cl-ana.makeres-graphviz";
+    version = "20211230-git";
+    asds = [ "cl-ana.makeres-graphviz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.makeres-graphviz";
+      asd = "cl-ana.makeres-graphviz";
+    });
+    systems = [ "cl-ana.makeres-graphviz" ];
+    lispLibs = [ (getAttr "cl-ana_dot_makeres" pkgs) (getAttr "external-program" pkgs) ];
+  };
+  cl-ana_dot_makeres-macro = {
+    pname = "cl-ana.makeres-macro";
+    version = "20211230-git";
+    asds = [ "cl-ana.makeres-macro" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.makeres-macro";
+      asd = "cl-ana.makeres-macro";
+    });
+    systems = [ "cl-ana.makeres-macro" ];
+    lispLibs = [ (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_makeres" pkgs) ];
+  };
+  cl-ana_dot_makeres-progress = {
+    pname = "cl-ana.makeres-progress";
+    version = "20211230-git";
+    asds = [ "cl-ana.makeres-progress" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.makeres-progress";
+      asd = "cl-ana.makeres-progress";
+    });
+    systems = [ "cl-ana.makeres-progress" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_makeres" pkgs) ];
+  };
+  cl-ana_dot_makeres-table = {
+    pname = "cl-ana.makeres-table";
+    version = "20211230-git";
+    asds = [ "cl-ana.makeres-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.makeres-table";
+      asd = "cl-ana.makeres-table";
+    });
+    systems = [ "cl-ana.makeres-table" ];
+    lispLibs = [ (getAttr "cl-ana_dot_csv-table" pkgs) (getAttr "cl-ana_dot_hash-table-utils" pkgs) (getAttr "cl-ana_dot_hdf-table" pkgs) (getAttr "cl-ana_dot_hdf-utils" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_makeres" pkgs) (getAttr "cl-ana_dot_makeres-macro" pkgs) (getAttr "cl-ana_dot_memoization" pkgs) (getAttr "cl-ana_dot_ntuple-table" pkgs) (getAttr "cl-ana_dot_reusable-table" pkgs) (getAttr "cl-ana_dot_string-utils" pkgs) (getAttr "cl-ana_dot_table" pkgs) ];
+  };
+  cl-ana_dot_makeres-utils = {
+    pname = "cl-ana.makeres-utils";
+    version = "20211230-git";
+    asds = [ "cl-ana.makeres-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.makeres-utils";
+      asd = "cl-ana.makeres-utils";
+    });
+    systems = [ "cl-ana.makeres-utils" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_file-utils" pkgs) (getAttr "cl-ana_dot_fitting" pkgs) (getAttr "cl-ana_dot_functional-utils" pkgs) (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_histogram" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_makeres" pkgs) (getAttr "cl-ana_dot_map" pkgs) (getAttr "cl-ana_dot_pathname-utils" pkgs) (getAttr "cl-ana_dot_plotting" pkgs) (getAttr "cl-ana_dot_reusable-table" pkgs) (getAttr "cl-ana_dot_string-utils" pkgs) (getAttr "cl-ana_dot_symbol-utils" pkgs) (getAttr "cl-ana_dot_table" pkgs) ];
+  };
+  cl-ana_dot_map = {
+    pname = "cl-ana.map";
+    version = "20211230-git";
+    asds = [ "cl-ana.map" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.map";
+      asd = "cl-ana.map";
+    });
+    systems = [ "cl-ana.map" ];
+    lispLibs = [ (getAttr "cl-ana_dot_hash-table-utils" pkgs) ];
+  };
+  cl-ana_dot_math-functions = {
+    pname = "cl-ana.math-functions";
+    version = "20211230-git";
+    asds = [ "cl-ana.math-functions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.math-functions";
+      asd = "cl-ana.math-functions";
+    });
+    systems = [ "cl-ana.math-functions" ];
+    lispLibs = [ (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "gsll" pkgs) ];
+  };
+  cl-ana_dot_memoization = {
+    pname = "cl-ana.memoization";
+    version = "20211230-git";
+    asds = [ "cl-ana.memoization" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.memoization";
+      asd = "cl-ana.memoization";
+    });
+    systems = [ "cl-ana.memoization" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cl-ana_dot_ntuple-table = {
+    pname = "cl-ana.ntuple-table";
+    version = "20211230-git";
+    asds = [ "cl-ana.ntuple-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.ntuple-table";
+      asd = "cl-ana.ntuple-table";
+    });
+    systems = [ "cl-ana.ntuple-table" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-ana_dot_gsl-cffi" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_table" pkgs) (getAttr "cl-ana_dot_typed-table" pkgs) (getAttr "cl-ana_dot_typespec" pkgs) (getAttr "gsll" pkgs) ];
+  };
+  cl-ana_dot_package-utils = {
+    pname = "cl-ana.package-utils";
+    version = "20211230-git";
+    asds = [ "cl-ana.package-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.package-utils";
+      asd = "cl-ana.package-utils";
+    });
+    systems = [ "cl-ana.package-utils" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cl-ana_dot_pathname-utils = {
+    pname = "cl-ana.pathname-utils";
+    version = "20211230-git";
+    asds = [ "cl-ana.pathname-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.pathname-utils";
+      asd = "cl-ana.pathname-utils";
+    });
+    systems = [ "cl-ana.pathname-utils" ];
+    lispLibs = [  ];
+  };
+  cl-ana_dot_plotting = {
+    pname = "cl-ana.plotting";
+    version = "20211230-git";
+    asds = [ "cl-ana.plotting" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.plotting";
+      asd = "cl-ana.plotting";
+    });
+    systems = [ "cl-ana.plotting" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_error-propogation" pkgs) (getAttr "cl-ana_dot_functional-utils" pkgs) (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_gnuplot-interface" pkgs) (getAttr "cl-ana_dot_histogram" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_map" pkgs) (getAttr "cl-ana_dot_math-functions" pkgs) (getAttr "cl-ana_dot_pathname-utils" pkgs) (getAttr "cl-ana_dot_string-utils" pkgs) (getAttr "cl-ana_dot_tensor" pkgs) (getAttr "external-program" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-ana_dot_quantity = {
+    pname = "cl-ana.quantity";
+    version = "20211230-git";
+    asds = [ "cl-ana.quantity" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.quantity";
+      asd = "cl-ana.quantity";
+    });
+    systems = [ "cl-ana.quantity" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_error-propogation" pkgs) (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_math-functions" pkgs) (getAttr "cl-ana_dot_symbol-utils" pkgs) ];
+  };
+  cl-ana_dot_reusable-table = {
+    pname = "cl-ana.reusable-table";
+    version = "20211230-git";
+    asds = [ "cl-ana.reusable-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.reusable-table";
+      asd = "cl-ana.reusable-table";
+    });
+    systems = [ "cl-ana.reusable-table" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_table" pkgs) ];
+  };
+  cl-ana_dot_serialization = {
+    pname = "cl-ana.serialization";
+    version = "20211230-git";
+    asds = [ "cl-ana.serialization" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.serialization";
+      asd = "cl-ana.serialization";
+    });
+    systems = [ "cl-ana.serialization" ];
+    lispLibs = [ (getAttr "cl-ana_dot_error-propogation" pkgs) (getAttr "cl-ana_dot_hdf-table" pkgs) (getAttr "cl-ana_dot_hdf-utils" pkgs) (getAttr "cl-ana_dot_histogram" pkgs) (getAttr "cl-ana_dot_int-char" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_typespec" pkgs) ];
+  };
+  cl-ana_dot_spline = {
+    pname = "cl-ana.spline";
+    version = "20211230-git";
+    asds = [ "cl-ana.spline" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.spline";
+      asd = "cl-ana.spline";
+    });
+    systems = [ "cl-ana.spline" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-ana_dot_fitting" pkgs) (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_math-functions" pkgs) (getAttr "cl-ana_dot_tensor" pkgs) (getAttr "gsll" pkgs) ];
+  };
+  cl-ana_dot_statistical-learning = {
+    pname = "cl-ana.statistical-learning";
+    version = "20211230-git";
+    asds = [ "cl-ana.statistical-learning" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.statistical-learning";
+      asd = "cl-ana.statistical-learning";
+    });
+    systems = [ "cl-ana.statistical-learning" ];
+    lispLibs = [ (getAttr "cl-ana_dot_functional-utils" pkgs) (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_histogram" pkgs) (getAttr "cl-ana_dot_linear-algebra" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_map" pkgs) (getAttr "cl-ana_dot_math-functions" pkgs) (getAttr "cl-ana_dot_statistics" pkgs) ];
+  };
+  cl-ana_dot_statistics = {
+    pname = "cl-ana.statistics";
+    version = "20211230-git";
+    asds = [ "cl-ana.statistics" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.statistics";
+      asd = "cl-ana.statistics";
+    });
+    systems = [ "cl-ana.statistics" ];
+    lispLibs = [ (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_histogram" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_map" pkgs) (getAttr "cl-ana_dot_math-functions" pkgs) ];
+  };
+  cl-ana_dot_string-utils = {
+    pname = "cl-ana.string-utils";
+    version = "20211230-git";
+    asds = [ "cl-ana.string-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.string-utils";
+      asd = "cl-ana.string-utils";
+    });
+    systems = [ "cl-ana.string-utils" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) ];
+  };
+  cl-ana_dot_symbol-utils = {
+    pname = "cl-ana.symbol-utils";
+    version = "20211230-git";
+    asds = [ "cl-ana.symbol-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.symbol-utils";
+      asd = "cl-ana.symbol-utils";
+    });
+    systems = [ "cl-ana.symbol-utils" ];
+    lispLibs = [ (getAttr "cl-ana_dot_list-utils" pkgs) ];
+  };
+  cl-ana_dot_table = {
+    pname = "cl-ana.table";
+    version = "20211230-git";
+    asds = [ "cl-ana.table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.table";
+      asd = "cl-ana.table";
+    });
+    systems = [ "cl-ana.table" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_functional-utils" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_string-utils" pkgs) (getAttr "cl-ana_dot_symbol-utils" pkgs) ];
+  };
+  cl-ana_dot_table-utils = {
+    pname = "cl-ana.table-utils";
+    version = "20211230-git";
+    asds = [ "cl-ana.table-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.table-utils";
+      asd = "cl-ana.table-utils";
+    });
+    systems = [ "cl-ana.table-utils" ];
+    lispLibs = [ (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_hash-table-utils" pkgs) (getAttr "cl-ana_dot_statistics" pkgs) (getAttr "cl-ana_dot_string-utils" pkgs) (getAttr "cl-ana_dot_symbol-utils" pkgs) (getAttr "cl-ana_dot_table" pkgs) ];
+  };
+  cl-ana_dot_table-viewing = {
+    pname = "cl-ana.table-viewing";
+    version = "20211230-git";
+    asds = [ "cl-ana.table-viewing" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.table-viewing";
+      asd = "cl-ana.table-viewing";
+    });
+    systems = [ "cl-ana.table-viewing" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_histogram" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_plotting" pkgs) (getAttr "cl-ana_dot_string-utils" pkgs) (getAttr "cl-ana_dot_table" pkgs) ];
+  };
+  cl-ana_dot_tensor = {
+    pname = "cl-ana.tensor";
+    version = "20211230-git";
+    asds = [ "cl-ana.tensor" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.tensor";
+      asd = "cl-ana.tensor";
+    });
+    systems = [ "cl-ana.tensor" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_generic-math" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_macro-utils" pkgs) (getAttr "cl-ana_dot_symbol-utils" pkgs) ];
+  };
+  cl-ana_dot_typed-table = {
+    pname = "cl-ana.typed-table";
+    version = "20211230-git";
+    asds = [ "cl-ana.typed-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.typed-table";
+      asd = "cl-ana.typed-table";
+    });
+    systems = [ "cl-ana.typed-table" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_string-utils" pkgs) (getAttr "cl-ana_dot_symbol-utils" pkgs) (getAttr "cl-ana_dot_table" pkgs) (getAttr "cl-ana_dot_typespec" pkgs) ];
+  };
+  cl-ana_dot_typespec = {
+    pname = "cl-ana.typespec";
+    version = "20211230-git";
+    asds = [ "cl-ana.typespec" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ana/2021-12-30/cl-ana-20211230-git.tgz";
+      sha256 = "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y";
+      system = "cl-ana.typespec";
+      asd = "cl-ana.typespec";
+    });
+    systems = [ "cl-ana.typespec" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-ana_dot_int-char" pkgs) (getAttr "cl-ana_dot_list-utils" pkgs) (getAttr "cl-ana_dot_memoization" pkgs) (getAttr "cl-ana_dot_string-utils" pkgs) (getAttr "cl-ana_dot_symbol-utils" pkgs) (getAttr "cl-ana_dot_tensor" pkgs) ];
+  };
+  cl-android = {
+    pname = "cl-android";
+    version = "20150804-git";
+    asds = [ "cl-android" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sl4a/2015-08-04/cl-sl4a-20150804-git.tgz";
+      sha256 = "0lqla60apkc8xfiyi43w18dldf0m8z5q290wv3d89qf0n9gwk3cr";
+      system = "cl-android";
+      asd = "cl-android";
+    });
+    systems = [ "cl-android" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-annot = {
+    pname = "cl-annot";
+    version = "20150608-git";
+    asds = [ "cl-annot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-annot/2015-06-08/cl-annot-20150608-git.tgz";
+      sha256 = "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n";
+      system = "cl-annot";
+      asd = "cl-annot";
+    });
+    systems = [ "cl-annot" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cl-annot-prove = {
+    pname = "cl-annot-prove";
+    version = "20150923-git";
+    asds = [ "cl-annot-prove" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-annot-prove/2015-09-23/cl-annot-prove-20150923-git.tgz";
+      sha256 = "000nlxxs1id1pccp3y5s9xnm76fc5r87q0bxmjrpklxwwf5y8wwy";
+      system = "cl-annot-prove";
+      asd = "cl-annot-prove";
+    });
+    systems = [ "cl-annot-prove" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-syntax" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "prove" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  cl-annot-prove-test = {
+    pname = "cl-annot-prove-test";
+    version = "20150923-git";
+    asds = [ "cl-annot-prove-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-annot-prove/2015-09-23/cl-annot-prove-20150923-git.tgz";
+      sha256 = "000nlxxs1id1pccp3y5s9xnm76fc5r87q0bxmjrpklxwwf5y8wwy";
+      system = "cl-annot-prove-test";
+      asd = "cl-annot-prove-test";
+    });
+    systems = [ "cl-annot-prove-test" ];
+    lispLibs = [ (getAttr "cl-annot-prove" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-anonfun = {
+    pname = "cl-anonfun";
+    version = "20111203-git";
+    asds = [ "cl-anonfun" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-anonfun/2011-12-03/cl-anonfun-20111203-git.tgz";
+      sha256 = "086x2vjvasdy9bhikvdzx34nrq008c0sfkq3ncv0i9mhfk5xwp2j";
+      system = "cl-anonfun";
+      asd = "cl-anonfun";
+    });
+    systems = [ "cl-anonfun" ];
+    lispLibs = [  ];
+  };
+  cl-ansi-term = {
+    pname = "cl-ansi-term";
+    version = "20211020-git";
+    asds = [ "cl-ansi-term" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ansi-term/2021-10-20/cl-ansi-term-20211020-git.tgz";
+      sha256 = "1wz8xx1dk5v1v5cvfh4a5cf5mdrn8lnz8mpf55c34inb0bxjlx87";
+      system = "cl-ansi-term";
+      asd = "cl-ansi-term";
+    });
+    systems = [ "cl-ansi-term" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "str" pkgs) ];
+  };
+  cl-ansi-text = {
+    pname = "cl-ansi-text";
+    version = "20211020-git";
+    asds = [ "cl-ansi-text" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ansi-text/2021-10-20/cl-ansi-text-20211020-git.tgz";
+      sha256 = "0nk7ajqfa937w1iy3zy86jjbw8yffm05cqs4wxkgl97v6kmmya14";
+      system = "cl-ansi-text";
+      asd = "cl-ansi-text";
+    });
+    systems = [ "cl-ansi-text" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-colors2" pkgs) ];
+  };
+  cl-ansi-text_dot_test = {
+    pname = "cl-ansi-text.test";
+    version = "20211020-git";
+    asds = [ "cl-ansi-text.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ansi-text/2021-10-20/cl-ansi-text-20211020-git.tgz";
+      sha256 = "0nk7ajqfa937w1iy3zy86jjbw8yffm05cqs4wxkgl97v6kmmya14";
+      system = "cl-ansi-text.test";
+      asd = "cl-ansi-text.test";
+    });
+    systems = [ "cl-ansi-text.test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ansi-text" pkgs) (getAttr "cl-colors2" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-apertium-stream-parser = {
+    pname = "cl-apertium-stream-parser";
+    version = "20211209-git";
+    asds = [ "cl-apertium-stream-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-apertium-stream-parser/2021-12-09/cl-apertium-stream-parser-20211209-git.tgz";
+      sha256 = "0r3znrq6km8dddl216dfkav1kkci4xx4994gmz0jd3kf1abw028v";
+      system = "cl-apertium-stream-parser";
+      asd = "cl-apertium-stream-parser";
+    });
+    systems = [ "cl-apertium-stream-parser" ];
+    lispLibs = [ (getAttr "esrap" pkgs) ];
+  };
+  cl-apple-plist = {
+    pname = "cl-apple-plist";
+    version = "20111105-git";
+    asds = [ "cl-apple-plist" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-apple-plist/2011-11-05/cl-apple-plist-20111105-git.tgz";
+      sha256 = "104j5lvvp7apdx59kbwc6kpa8b82y20w03627ml91lpbqk9bq63f";
+      system = "cl-apple-plist";
+      asd = "cl-apple-plist";
+    });
+    systems = [ "cl-apple-plist" ];
+    lispLibs = [ (getAttr "html-encode" pkgs) ];
+  };
+  cl-arff-parser = {
+    pname = "cl-arff-parser";
+    version = "20130421-git";
+    asds = [ "cl-arff-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-arff-parser/2013-04-21/cl-arff-parser-20130421-git.tgz";
+      sha256 = "0rn76r48b2y2richfy3si4r8kbwkvm7q15g34sxi0fkfmx15z4jx";
+      system = "cl-arff-parser";
+      asd = "cl-arff-parser";
+    });
+    systems = [ "cl-arff-parser" ];
+    lispLibs = [  ];
+  };
+  cl-argparse = {
+    pname = "cl-argparse";
+    version = "20210531-git";
+    asds = [ "cl-argparse" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-argparse/2021-05-31/cl-argparse-20210531-git.tgz";
+      sha256 = "05vy2iaqr7yiaw0ykzwm0ml0mil5qagy87b8hqx4vvb3lq1qpn14";
+      system = "cl-argparse";
+      asd = "cl-argparse";
+    });
+    systems = [ "cl-argparse" ];
+    lispLibs = [  ];
+  };
+  cl-aristid = {
+    pname = "cl-aristid";
+    version = "20200925-git";
+    asds = [ "cl-aristid" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-aristid/2020-09-25/cl-aristid-20200925-git.tgz";
+      sha256 = "0k573k3wydy6dd5pmvqdxmlwk0n5kq2wsk86syddhqyjgx2jmw98";
+      system = "cl-aristid";
+      asd = "cl-aristid";
+    });
+    systems = [ "cl-aristid" ];
+    lispLibs = [ (getAttr "cl-colors" pkgs) (getAttr "cl-svg" pkgs) ];
+  };
+  cl-arxiv-api = {
+    pname = "cl-arxiv-api";
+    version = "20170403-git";
+    asds = [ "cl-arxiv-api" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-arxiv-api/2017-04-03/cl-arxiv-api-20170403-git.tgz";
+      sha256 = "1id95gszqxmmjydv1vjv2vyxz0svqvnx74bmgy63xnajb4kfnpq3";
+      system = "cl-arxiv-api";
+      asd = "cl-arxiv-api";
+    });
+    systems = [ "cl-arxiv-api" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cxml" pkgs) (getAttr "iterate" pkgs) (getAttr "trivial-http" pkgs) ];
+  };
+  cl-ascii-art = {
+    pname = "cl-ascii-art";
+    version = "20171019-git";
+    asds = [ "cl-ascii-art" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ascii-art/2017-10-19/cl-ascii-art-20171019-git.tgz";
+      sha256 = "03d3bd8m7dd2l4170vky8y8ini3giqhjpd06rlswz287mkvzq8aa";
+      system = "cl-ascii-art";
+      asd = "cl-ascii-art";
+    });
+    systems = [ "cl-ascii-art" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ansi-text" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "inferior-shell" pkgs) (getAttr "iterate" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-ascii-table = {
+    pname = "cl-ascii-table";
+    version = "20200610-git";
+    asds = [ "cl-ascii-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ascii-table/2020-06-10/cl-ascii-table-20200610-git.tgz";
+      sha256 = "1nclyypd2p06hyfydcv16m9lbj1xmrpmf00wp8mfyhwimv021zlp";
+      system = "cl-ascii-table";
+      asd = "cl-ascii-table";
+    });
+    systems = [ "cl-ascii-table" ];
+    lispLibs = [  ];
+  };
+  cl-association-rules = {
+    pname = "cl-association-rules";
+    version = "20170403-git";
+    asds = [ "cl-association-rules" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-association-rules/2017-04-03/cl-association-rules-20170403-git.tgz";
+      sha256 = "1d4sg9j30ydk1m17byacww8l2x9ggb82iay507g08ij0jxdky86z";
+      system = "cl-association-rules";
+      asd = "cl-association-rules";
+    });
+    systems = [ "cl-association-rules" ];
+    lispLibs = [  ];
+  };
+  cl-association-rules-tests = {
+    pname = "cl-association-rules-tests";
+    version = "20170403-git";
+    asds = [ "cl-association-rules-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-association-rules/2017-04-03/cl-association-rules-20170403-git.tgz";
+      sha256 = "1d4sg9j30ydk1m17byacww8l2x9ggb82iay507g08ij0jxdky86z";
+      system = "cl-association-rules-tests";
+      asd = "cl-association-rules";
+    });
+    systems = [ "cl-association-rules-tests" ];
+    lispLibs = [ (getAttr "cl-association-rules" pkgs) (getAttr "prove" pkgs) ];
+  };
+  cl-async = {
+    pname = "cl-async";
+    version = "20211020-git";
+    asds = [ "cl-async" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-async/2021-10-20/cl-async-20211020-git.tgz";
+      sha256 = "0x9nk96511wpbvi1pzd2wqynfyjl705bc4jqrmi01r1vw24cn2mr";
+      system = "cl-async";
+      asd = "cl-async";
+    });
+    systems = [ "cl-async" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-async-base" pkgs) (getAttr "cl-async-util" pkgs) (getAttr "cl-libuv" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "static-vectors" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-async-await = {
+    pname = "cl-async-await";
+    version = "20201016-git";
+    asds = [ "cl-async-await" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-async-await/2020-10-16/cl-async-await-20201016-git.tgz";
+      sha256 = "1slhn9z4hljvad3hd8jmvw4q4m6310s04yh3212wvbfar8q0yasj";
+      system = "cl-async-await";
+      asd = "cl-async-await";
+    });
+    systems = [ "cl-async-await" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "closer-mop" pkgs) (getAttr "simple-actors" pkgs) ];
+  };
+  cl-async-base = {
+    pname = "cl-async-base";
+    version = "20211020-git";
+    asds = [ "cl-async-base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-async/2021-10-20/cl-async-20211020-git.tgz";
+      sha256 = "0x9nk96511wpbvi1pzd2wqynfyjl705bc4jqrmi01r1vw24cn2mr";
+      system = "cl-async-base";
+      asd = "cl-async";
+    });
+    systems = [ "cl-async-base" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-libuv" pkgs) ];
+  };
+  cl-async-future = {
+    pname = "cl-async-future";
+    version = "20150113-git";
+    asds = [ "cl-async-future" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-async-future/2015-01-13/cl-async-future-20150113-git.tgz";
+      sha256 = "0z0sc7qlzzxk99f4l26zp6rai9kv0kj0f599sxai5s44p17zbbvh";
+      system = "cl-async-future";
+      asd = "cl-async-future";
+    });
+    systems = [ "cl-async-future" ];
+    lispLibs = [ (getAttr "blackbird" pkgs) ];
+  };
+  cl-async-repl = {
+    pname = "cl-async-repl";
+    version = "20211020-git";
+    asds = [ "cl-async-repl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-async/2021-10-20/cl-async-20211020-git.tgz";
+      sha256 = "0x9nk96511wpbvi1pzd2wqynfyjl705bc4jqrmi01r1vw24cn2mr";
+      system = "cl-async-repl";
+      asd = "cl-async-repl";
+    });
+    systems = [ "cl-async-repl" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-async" pkgs) ];
+  };
+  cl-async-ssl = {
+    pname = "cl-async-ssl";
+    version = "20211020-git";
+    asds = [ "cl-async-ssl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-async/2021-10-20/cl-async-20211020-git.tgz";
+      sha256 = "0x9nk96511wpbvi1pzd2wqynfyjl705bc4jqrmi01r1vw24cn2mr";
+      system = "cl-async-ssl";
+      asd = "cl-async-ssl";
+    });
+    systems = [ "cl-async-ssl" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-async" pkgs) (getAttr "vom" pkgs) ];
+  };
+  cl-async-test = {
+    pname = "cl-async-test";
+    version = "20211020-git";
+    asds = [ "cl-async-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-async/2021-10-20/cl-async-20211020-git.tgz";
+      sha256 = "0x9nk96511wpbvi1pzd2wqynfyjl705bc4jqrmi01r1vw24cn2mr";
+      system = "cl-async-test";
+      asd = "cl-async-test";
+    });
+    systems = [ "cl-async-test" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-async" pkgs) (getAttr "cl-async-ssl" pkgs) (getAttr "fiveam" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "ironclad" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-async-util = {
+    pname = "cl-async-util";
+    version = "20211020-git";
+    asds = [ "cl-async-util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-async/2021-10-20/cl-async-20211020-git.tgz";
+      sha256 = "0x9nk96511wpbvi1pzd2wqynfyjl705bc4jqrmi01r1vw24cn2mr";
+      system = "cl-async-util";
+      asd = "cl-async";
+    });
+    systems = [ "cl-async-util" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-async-base" pkgs) (getAttr "cl-libuv" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "fast-io" pkgs) (getAttr "vom" pkgs) ];
+  };
+  cl-aubio = {
+    pname = "cl-aubio";
+    version = "20200427-git";
+    asds = [ "cl-aubio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-aubio/2020-04-27/cl-aubio-20200427-git.tgz";
+      sha256 = "1xyflxy46z4487dbnizhv058y2mdka9iyikl097m60w42blidpn3";
+      system = "cl-aubio";
+      asd = "cl-aubio";
+    });
+    systems = [ "cl-aubio" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  cl-aubio_slash_examples = {
+    pname = "cl-aubio_examples";
+    version = "20200427-git";
+    asds = [ "cl-aubio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-aubio/2020-04-27/cl-aubio-20200427-git.tgz";
+      sha256 = "1xyflxy46z4487dbnizhv058y2mdka9iyikl097m60w42blidpn3";
+      system = "cl-aubio";
+      asd = "cl-aubio";
+    });
+    systems = [ "cl-aubio/examples" ];
+    lispLibs = [ (getAttr "cl-aubio" pkgs) (getAttr "vgplot" pkgs) ];
+  };
+  cl-aubio_slash_tests = {
+    pname = "cl-aubio_tests";
+    version = "20200427-git";
+    asds = [ "cl-aubio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-aubio/2020-04-27/cl-aubio-20200427-git.tgz";
+      sha256 = "1xyflxy46z4487dbnizhv058y2mdka9iyikl097m60w42blidpn3";
+      system = "cl-aubio";
+      asd = "cl-aubio";
+    });
+    systems = [ "cl-aubio/tests" ];
+    lispLibs = [ (getAttr "cl-aubio" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-authorize-net = {
+    pname = "cl-authorize-net";
+    version = "20150113-git";
+    asds = [ "cl-authorize-net" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-creditcard/2015-01-13/cl-creditcard-20150113-git.tgz";
+      sha256 = "1qq9r7q50k7jw6sv65aqi9xalaw8m6aqsbb0cgpjxv8wdhy934cr";
+      system = "cl-authorize-net";
+      asd = "cl-authorize-net";
+    });
+    systems = [ "cl-authorize-net" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-creditcard" pkgs) (getAttr "drakma" pkgs) (getAttr "split-sequence" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  cl-authorize-net-tests = {
+    pname = "cl-authorize-net-tests";
+    version = "20150113-git";
+    asds = [ "cl-authorize-net-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-creditcard/2015-01-13/cl-creditcard-20150113-git.tgz";
+      sha256 = "1qq9r7q50k7jw6sv65aqi9xalaw8m6aqsbb0cgpjxv8wdhy934cr";
+      system = "cl-authorize-net-tests";
+      asd = "cl-authorize-net";
+    });
+    systems = [ "cl-authorize-net-tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-authorize-net" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  cl-autorepo = {
+    pname = "cl-autorepo";
+    version = "20180711-git";
+    asds = [ "cl-autorepo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-autorepo/2018-07-11/cl-autorepo-20180711-git.tgz";
+      sha256 = "01hpg3r3493mri44kxp8sjy8i5kfvjklmnksvm0727i6bhpf8cz9";
+      system = "cl-autorepo";
+      asd = "cl-autorepo";
+    });
+    systems = [ "cl-autorepo" ];
+    lispLibs = [  ];
+  };
+  cl-autowrap = {
+    pname = "cl-autowrap";
+    version = "20211209-git";
+    asds = [ "cl-autowrap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-autowrap/2021-12-09/cl-autowrap-20211209-git.tgz";
+      sha256 = "1db0knq4vfr0mlxx8y5bjjdc87mij3hf7m6f0z4hgw8jsx868krr";
+      system = "cl-autowrap";
+      asd = "cl-autowrap";
+    });
+    systems = [ "cl-autowrap" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "defpackage-plus" pkgs) (getAttr "trivial-features" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-autowrap-test = {
+    pname = "cl-autowrap-test";
+    version = "20211209-git";
+    asds = [ "cl-autowrap-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-autowrap/2021-12-09/cl-autowrap-20211209-git.tgz";
+      sha256 = "1db0knq4vfr0mlxx8y5bjjdc87mij3hf7m6f0z4hgw8jsx868krr";
+      system = "cl-autowrap-test";
+      asd = "cl-autowrap-test";
+    });
+    systems = [ "cl-autowrap-test" ];
+    lispLibs = [ (getAttr "cl-autowrap" pkgs) ];
+  };
+  cl-autowrap_slash_libffi = {
+    pname = "cl-autowrap_libffi";
+    version = "20211209-git";
+    asds = [ "cl-autowrap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-autowrap/2021-12-09/cl-autowrap-20211209-git.tgz";
+      sha256 = "1db0knq4vfr0mlxx8y5bjjdc87mij3hf7m6f0z4hgw8jsx868krr";
+      system = "cl-autowrap";
+      asd = "cl-autowrap";
+    });
+    systems = [ "cl-autowrap/libffi" ];
+    lispLibs = [ (getAttr "cl-autowrap" pkgs) (getAttr "cl-plus-c" pkgs) ];
+  };
+  cl-azure = {
+    pname = "cl-azure";
+    version = "20160825-git";
+    asds = [ "cl-azure" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-azure/2016-08-25/cl-azure-20160825-git.tgz";
+      sha256 = "19sgzbvgs1f1h3qhx11xhpia2x3n8x729h9fsqkc7fap0ak1h31d";
+      system = "cl-azure";
+      asd = "cl-azure";
+    });
+    systems = [ "cl-azure" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cxml" pkgs) (getAttr "drakma" pkgs) (getAttr "ironclad" pkgs) (getAttr "puri" pkgs) (getAttr "rt" pkgs) ];
+  };
+  cl-base16 = {
+    pname = "cl-base16";
+    version = "20200925-git";
+    asds = [ "cl-base16" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-base16/2020-09-25/cl-base16-20200925-git.tgz";
+      sha256 = "0m7ndmk4xhizn3q3ywjvw8sg4pfgp6lrd0wac5d1bf7wbw6afh5q";
+      system = "cl-base16";
+      asd = "cl-base16";
+    });
+    systems = [ "cl-base16" ];
+    lispLibs = [ (getAttr "cl-mustache" pkgs) (getAttr "cl-slug" pkgs) (getAttr "cl-yaml" pkgs) (getAttr "trivial-shell" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-base32 = {
+    pname = "cl-base32";
+    version = "20130420-git";
+    asds = [ "cl-base32" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-base32/2013-04-20/cl-base32-20130420-git.tgz";
+      sha256 = "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8";
+      system = "cl-base32";
+      asd = "cl-base32";
+    });
+    systems = [ "cl-base32" ];
+    lispLibs = [  ];
+  };
+  cl-base32-tests = {
+    pname = "cl-base32-tests";
+    version = "20130420-git";
+    asds = [ "cl-base32-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-base32/2013-04-20/cl-base32-20130420-git.tgz";
+      sha256 = "17jrng8jb05d64ggyd11hp308c2fl5drvf9g175blgrkkl8l4mf8";
+      system = "cl-base32-tests";
+      asd = "cl-base32";
+    });
+    systems = [ "cl-base32-tests" ];
+    lispLibs = [ (getAttr "cl-base32" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  cl-base58 = {
+    pname = "cl-base58";
+    version = "20150113-git";
+    asds = [ "cl-base58" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-base58/2015-01-13/cl-base58-20150113-git.tgz";
+      sha256 = "01wiiyz1jzxx3zhxi2hpq5n8hv28g1mn0adk793vwjzh4v5bi5zz";
+      system = "cl-base58";
+      asd = "cl-base58";
+    });
+    systems = [ "cl-base58" ];
+    lispLibs = [  ];
+  };
+  cl-base58-test = {
+    pname = "cl-base58-test";
+    version = "20150113-git";
+    asds = [ "cl-base58-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-base58/2015-01-13/cl-base58-20150113-git.tgz";
+      sha256 = "01wiiyz1jzxx3zhxi2hpq5n8hv28g1mn0adk793vwjzh4v5bi5zz";
+      system = "cl-base58-test";
+      asd = "cl-base58-test";
+    });
+    systems = [ "cl-base58-test" ];
+    lispLibs = [ (getAttr "cl-base58" pkgs) (getAttr "cl-test-more" pkgs) ];
+  };
+  cl-base64 = {
+    pname = "cl-base64";
+    version = "20201016-git";
+    asds = [ "cl-base64" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-base64/2020-10-16/cl-base64-20201016-git.tgz";
+      sha256 = "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj";
+      system = "cl-base64";
+      asd = "cl-base64";
+    });
+    systems = [ "cl-base64" ];
+    lispLibs = [  ];
+  };
+  cl-base64_slash_test = {
+    pname = "cl-base64_test";
+    version = "20201016-git";
+    asds = [ "cl-base64" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-base64/2020-10-16/cl-base64-20201016-git.tgz";
+      sha256 = "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj";
+      system = "cl-base64";
+      asd = "cl-base64";
+    });
+    systems = [ "cl-base64/test" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "kmrcl" pkgs) (getAttr "ptester" pkgs) ];
+  };
+  cl-bayesnet = {
+    pname = "cl-bayesnet";
+    version = "20130420-git";
+    asds = [ "cl-bayesnet" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bayesnet/2013-04-20/cl-bayesnet-20130420-git.tgz";
+      sha256 = "02as2isvgm89qpyj49ccs1cg4fl9iswxi26w4j0svsha0q1dh5m8";
+      system = "cl-bayesnet";
+      asd = "cl-bayesnet";
+    });
+    systems = [ "cl-bayesnet" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "s-xml" pkgs) (getAttr "trivial-shell" pkgs) ];
+  };
+  cl-bcrypt = {
+    pname = "cl-bcrypt";
+    version = "20200925-git";
+    asds = [ "cl-bcrypt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bcrypt/2020-09-25/cl-bcrypt-20200925-git.tgz";
+      sha256 = "0hx9pzn5l1jx09j4pnsvd99byhz7izfn78i2aqr3hvq9indfjlxy";
+      system = "cl-bcrypt";
+      asd = "cl-bcrypt";
+    });
+    systems = [ "cl-bcrypt" ];
+    lispLibs = [ (getAttr "binascii" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "ironclad" pkgs) ];
+  };
+  cl-bcrypt_dot_test = {
+    pname = "cl-bcrypt.test";
+    version = "20200925-git";
+    asds = [ "cl-bcrypt.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bcrypt/2020-09-25/cl-bcrypt-20200925-git.tgz";
+      sha256 = "0hx9pzn5l1jx09j4pnsvd99byhz7izfn78i2aqr3hvq9indfjlxy";
+      system = "cl-bcrypt.test";
+      asd = "cl-bcrypt.test";
+    });
+    systems = [ "cl-bcrypt.test" ];
+    lispLibs = [ (getAttr "cl-bcrypt" pkgs) (getAttr "rove" pkgs) ];
+  };
+  cl-beanstalk = {
+    pname = "cl-beanstalk";
+    version = "20110619-git";
+    asds = [ "cl-beanstalk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-beanstalk/2011-06-19/cl-beanstalk-20110619-git.tgz";
+      sha256 = "0zn45xlg1vw8zjzi8kn342kyhm19gzrqk9pb84x15p9a9dfpiy1y";
+      system = "cl-beanstalk";
+      asd = "cl-beanstalk";
+    });
+    systems = [ "cl-beanstalk" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) (getAttr "split-sequence" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-bip39 = {
+    pname = "cl-bip39";
+    version = "20180711-git";
+    asds = [ "cl-bip39" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bip39/2018-07-11/cl-bip39-20180711-git.tgz";
+      sha256 = "04h4lhppvavvqknp11gaj4ka2wpn9i883w1w27llblkg2vnn0816";
+      system = "cl-bip39";
+      asd = "cl-bip39";
+    });
+    systems = [ "cl-bip39" ];
+    lispLibs = [ (getAttr "ironclad" pkgs) (getAttr "secure-random" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  cl-bloggy = {
+    pname = "cl-bloggy";
+    version = "20211020-git";
+    asds = [ "cl-bloggy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bloggy/2021-10-20/cl-bloggy-20211020-git.tgz";
+      sha256 = "1clz2a0s3g3jbsrpypb4byb432l0yb4658riqs6ckin57c4bzxc8";
+      system = "cl-bloggy";
+      asd = "cl-bloggy";
+    });
+    systems = [ "cl-bloggy" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "str" pkgs) (getAttr "closer-mop" pkgs) (getAttr "do-urlencode" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "lass" pkgs) (getAttr "local-time" pkgs) (getAttr "lorem-ipsum" pkgs) (getAttr "spinneret" pkgs) (getAttr "xml-emitter" pkgs) ];
+  };
+  cl-bloom = {
+    pname = "cl-bloom";
+    version = "20180228-git";
+    asds = [ "cl-bloom" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bloom/2018-02-28/cl-bloom-20180228-git.tgz";
+      sha256 = "1ircc5sa0a2xlx0fca0is6inwrk311hbj8jx6r4sas5pfv78k4am";
+      system = "cl-bloom";
+      asd = "cl-bloom";
+    });
+    systems = [ "cl-bloom" ];
+    lispLibs = [ (getAttr "cl-murmurhash" pkgs) (getAttr "static-vectors" pkgs) ];
+  };
+  cl-bnf = {
+    pname = "cl-bnf";
+    version = "20200925-git";
+    asds = [ "cl-bnf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bnf/2020-09-25/cl-bnf-20200925-git.tgz";
+      sha256 = "0z8qcywbyr1fdx122vpp0sdqywaqcwy2393ygqqznm5j3jv5dxii";
+      system = "cl-bnf";
+      asd = "cl-bnf";
+    });
+    systems = [ "cl-bnf" ];
+    lispLibs = [  ];
+  };
+  cl-bnf-examples = {
+    pname = "cl-bnf-examples";
+    version = "20200925-git";
+    asds = [ "cl-bnf-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bnf/2020-09-25/cl-bnf-20200925-git.tgz";
+      sha256 = "0z8qcywbyr1fdx122vpp0sdqywaqcwy2393ygqqznm5j3jv5dxii";
+      system = "cl-bnf-examples";
+      asd = "cl-bnf-examples";
+    });
+    systems = [ "cl-bnf-examples" ];
+    lispLibs = [ (getAttr "cl-bnf" pkgs) ];
+  };
+  cl-bnf-tests = {
+    pname = "cl-bnf-tests";
+    version = "20200925-git";
+    asds = [ "cl-bnf-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bnf/2020-09-25/cl-bnf-20200925-git.tgz";
+      sha256 = "0z8qcywbyr1fdx122vpp0sdqywaqcwy2393ygqqznm5j3jv5dxii";
+      system = "cl-bnf-tests";
+      asd = "cl-bnf-tests";
+    });
+    systems = [ "cl-bnf-tests" ];
+    lispLibs = [ (getAttr "cl-bnf" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-bootstrap = {
+    pname = "cl-bootstrap";
+    version = "20180831-git";
+    asds = [ "cl-bootstrap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bootstrap/2018-08-31/cl-bootstrap-20180831-git.tgz";
+      sha256 = "0pk7wx4arsljxlnbx1hzcgxwsvhdp3gn22wv43xls2jv1rdi2xry";
+      system = "cl-bootstrap";
+      asd = "cl-bootstrap";
+    });
+    systems = [ "cl-bootstrap" ];
+    lispLibs = [ (getAttr "cl-who" pkgs) (getAttr "parenscript" pkgs) ];
+  };
+  cl-bootstrap-demo = {
+    pname = "cl-bootstrap-demo";
+    version = "20180831-git";
+    asds = [ "cl-bootstrap-demo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bootstrap/2018-08-31/cl-bootstrap-20180831-git.tgz";
+      sha256 = "0pk7wx4arsljxlnbx1hzcgxwsvhdp3gn22wv43xls2jv1rdi2xry";
+      system = "cl-bootstrap-demo";
+      asd = "cl-bootstrap-demo";
+    });
+    systems = [ "cl-bootstrap-demo" ];
+    lispLibs = [ (getAttr "cl-bootstrap" pkgs) (getAttr "cl-who" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "parenscript" pkgs) ];
+  };
+  cl-bootstrap-test = {
+    pname = "cl-bootstrap-test";
+    version = "20180831-git";
+    asds = [ "cl-bootstrap-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bootstrap/2018-08-31/cl-bootstrap-20180831-git.tgz";
+      sha256 = "0pk7wx4arsljxlnbx1hzcgxwsvhdp3gn22wv43xls2jv1rdi2xry";
+      system = "cl-bootstrap-test";
+      asd = "cl-bootstrap-test";
+    });
+    systems = [ "cl-bootstrap-test" ];
+    lispLibs = [ (getAttr "cl-bootstrap" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-bplustree = {
+    pname = "cl-bplustree";
+    version = "20180328-git";
+    asds = [ "cl-bplustree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bplustree/2018-03-28/cl-bplustree-20180328-git.tgz";
+      sha256 = "1d9pm9fi9bhh73bhcgig0wq5i4fvc4551kxvny3di6x6yr7j2kbl";
+      system = "cl-bplustree";
+      asd = "cl-bplustree";
+    });
+    systems = [ "cl-bplustree" ];
+    lispLibs = [  ];
+  };
+  cl-bplustree-test = {
+    pname = "cl-bplustree-test";
+    version = "20180328-git";
+    asds = [ "cl-bplustree-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bplustree/2018-03-28/cl-bplustree-20180328-git.tgz";
+      sha256 = "1d9pm9fi9bhh73bhcgig0wq5i4fvc4551kxvny3di6x6yr7j2kbl";
+      system = "cl-bplustree-test";
+      asd = "cl-bplustree";
+    });
+    systems = [ "cl-bplustree-test" ];
+    lispLibs = [ (getAttr "cl-bplustree" pkgs) ];
+  };
+  cl-bson = {
+    pname = "cl-bson";
+    version = "20170403-git";
+    asds = [ "cl-bson" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bson/2017-04-03/cl-bson-20170403-git.tgz";
+      sha256 = "107mx5kvqw7f7q9mw3qa120gz1z153fwv8jmn5qi2sbfnglkz2gy";
+      system = "cl-bson";
+      asd = "cl-bson";
+    });
+    systems = [ "cl-bson" ];
+    lispLibs = [ (getAttr "arrow-macros" pkgs) (getAttr "babel" pkgs) (getAttr "cl-intbytes" pkgs) (getAttr "fast-io" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "let-over-lambda" pkgs) (getAttr "local-time" pkgs) (getAttr "named-readtables" pkgs) (getAttr "rutils" pkgs) (getAttr "trivial-shell" pkgs) ];
+  };
+  cl-bson-test = {
+    pname = "cl-bson-test";
+    version = "20170403-git";
+    asds = [ "cl-bson-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bson/2017-04-03/cl-bson-20170403-git.tgz";
+      sha256 = "107mx5kvqw7f7q9mw3qa120gz1z153fwv8jmn5qi2sbfnglkz2gy";
+      system = "cl-bson-test";
+      asd = "cl-bson-test";
+    });
+    systems = [ "cl-bson-test" ];
+    lispLibs = [ (getAttr "cl-bson" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-buchberger = {
+    pname = "cl-buchberger";
+    version = "20201016-git";
+    asds = [ "cl-buchberger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-buchberger/2020-10-16/cl-buchberger-20201016-git.tgz";
+      sha256 = "105kwri3hjla1cydc323y8dfi4cjg0g4hxjzdh13inmvxwcf049w";
+      system = "cl-buchberger";
+      asd = "cl-buchberger";
+    });
+    systems = [ "cl-buchberger" ];
+    lispLibs = [  ];
+  };
+  cl-bus = {
+    pname = "cl-bus";
+    version = "20211209-git";
+    asds = [ "cl-bus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-bus/2021-12-09/cl-bus-20211209-git.tgz";
+      sha256 = "1galzqm1qv2slibn3awfyxnmlslxmzw09a8fidmbdy1r0ppp5r7z";
+      system = "cl-bus";
+      asd = "cl-bus";
+    });
+    systems = [ "cl-bus" ];
+    lispLibs = [  ];
+  };
+  cl-ca = {
+    pname = "cl-ca";
+    version = "20161204-git";
+    asds = [ "cl-ca" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ca/2016-12-04/cl-ca-20161204-git.tgz";
+      sha256 = "0kpwpxw3c8q7b2ajyj9rzhs1r1h6kipdm9qjkgsn0sqrmx9acfnz";
+      system = "cl-ca";
+      asd = "cl-ca";
+    });
+    systems = [ "cl-ca" ];
+    lispLibs = [  ];
+  };
+  cl-cache-tables = {
+    pname = "cl-cache-tables";
+    version = "20171019-git";
+    asds = [ "cl-cache-tables" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cache-tables/2017-10-19/cl-cache-tables-20171019-git.tgz";
+      sha256 = "008m7v39mq2475y1f4if5iazb15rm02g22id4q4qgig1zx2vfpg1";
+      system = "cl-cache-tables";
+      asd = "cl-cache-tables";
+    });
+    systems = [ "cl-cache-tables" ];
+    lispLibs = [  ];
+  };
+  cl-cache-tables-tests = {
+    pname = "cl-cache-tables-tests";
+    version = "20171019-git";
+    asds = [ "cl-cache-tables-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cache-tables/2017-10-19/cl-cache-tables-20171019-git.tgz";
+      sha256 = "008m7v39mq2475y1f4if5iazb15rm02g22id4q4qgig1zx2vfpg1";
+      system = "cl-cache-tables-tests";
+      asd = "cl-cache-tables";
+    });
+    systems = [ "cl-cache-tables-tests" ];
+    lispLibs = [ (getAttr "cl-cache-tables" pkgs) (getAttr "prove" pkgs) ];
+  };
+  cl-cairo2 = {
+    pname = "cl-cairo2";
+    version = "20211020-git";
+    asds = [ "cl-cairo2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cairo2/2021-10-20/cl-cairo2-20211020-git.tgz";
+      sha256 = "0cpfgyxw6pz7y033dlya8c4vjmkpw127zdq3a9xclp9q8jbdlb7q";
+      system = "cl-cairo2";
+      asd = "cl-cairo2";
+    });
+    systems = [ "cl-cairo2" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-colors" pkgs) (getAttr "cl-utilities" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-cairo2-demos = {
+    pname = "cl-cairo2-demos";
+    version = "20211020-git";
+    asds = [ "cl-cairo2-demos" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cairo2/2021-10-20/cl-cairo2-20211020-git.tgz";
+      sha256 = "0cpfgyxw6pz7y033dlya8c4vjmkpw127zdq3a9xclp9q8jbdlb7q";
+      system = "cl-cairo2-demos";
+      asd = "cl-cairo2-demos";
+    });
+    systems = [ "cl-cairo2-demos" ];
+    lispLibs = [ (getAttr "cl-cairo2" pkgs) ];
+  };
+  cl-cairo2-xlib = {
+    pname = "cl-cairo2-xlib";
+    version = "20211020-git";
+    asds = [ "cl-cairo2-xlib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cairo2/2021-10-20/cl-cairo2-20211020-git.tgz";
+      sha256 = "0cpfgyxw6pz7y033dlya8c4vjmkpw127zdq3a9xclp9q8jbdlb7q";
+      system = "cl-cairo2-xlib";
+      asd = "cl-cairo2-xlib";
+    });
+    systems = [ "cl-cairo2-xlib" ];
+    lispLibs = [ (getAttr "cl-cairo2" pkgs) (getAttr "cl-freetype2" pkgs) ];
+  };
+  cl-case-control = {
+    pname = "cl-case-control";
+    version = "20141106-git";
+    asds = [ "cl-case-control" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-case-control/2014-11-06/cl-case-control-20141106-git.tgz";
+      sha256 = "0510m1dfz4abw3s7w0axr1b1nsmi72avr850r0sn6p2pq091pc71";
+      system = "cl-case-control";
+      asd = "cl-case-control";
+    });
+    systems = [ "cl-case-control" ];
+    lispLibs = [ (getAttr "trivial-types" pkgs) ];
+  };
+  cl-catmull-rom-spline = {
+    pname = "cl-catmull-rom-spline";
+    version = "20201220-git";
+    asds = [ "cl-catmull-rom-spline" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-catmull-rom-spline/2020-12-20/cl-catmull-rom-spline-20201220-git.tgz";
+      sha256 = "0vd28il89dn3gg9w2j6gydj4k3fynwfqg9kna87swi3py6j0fb2b";
+      system = "cl-catmull-rom-spline";
+      asd = "cl-catmull-rom-spline";
+    });
+    systems = [ "cl-catmull-rom-spline" ];
+    lispLibs = [  ];
+  };
+  cl-catmull-rom-spline_slash_example = {
+    pname = "cl-catmull-rom-spline_example";
+    version = "20201220-git";
+    asds = [ "cl-catmull-rom-spline" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-catmull-rom-spline/2020-12-20/cl-catmull-rom-spline-20201220-git.tgz";
+      sha256 = "0vd28il89dn3gg9w2j6gydj4k3fynwfqg9kna87swi3py6j0fb2b";
+      system = "cl-catmull-rom-spline";
+      asd = "cl-catmull-rom-spline";
+    });
+    systems = [ "cl-catmull-rom-spline/example" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-catmull-rom-spline" pkgs) (getAttr "lispbuilder-sdl" pkgs) (getAttr "lispbuilder-sdl-gfx" pkgs) (getAttr "lispbuilder-sdl-ttf" pkgs) ];
+  };
+  cl-catmull-rom-spline_slash_test = {
+    pname = "cl-catmull-rom-spline_test";
+    version = "20201220-git";
+    asds = [ "cl-catmull-rom-spline" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-catmull-rom-spline/2020-12-20/cl-catmull-rom-spline-20201220-git.tgz";
+      sha256 = "0vd28il89dn3gg9w2j6gydj4k3fynwfqg9kna87swi3py6j0fb2b";
+      system = "cl-catmull-rom-spline";
+      asd = "cl-catmull-rom-spline";
+    });
+    systems = [ "cl-catmull-rom-spline/test" ];
+    lispLibs = [ (getAttr "arrow-macros" pkgs) (getAttr "cl-catmull-rom-spline" pkgs) (getAttr "fiveam" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-cerf = {
+    pname = "cl-cerf";
+    version = "20210531-git";
+    asds = [ "cl-cerf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cerf/2021-05-31/cl-cerf-20210531-git.tgz";
+      sha256 = "0n1b6ig1d0dqkjn06iqsk0m4y7j7msi2gcq7niivcwc4s0ry0ljn";
+      system = "cl-cerf";
+      asd = "cl-cerf";
+    });
+    systems = [ "cl-cerf" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) ];
+  };
+  cl-cffi-gtk = {
+    pname = "cl-cffi-gtk";
+    version = "20201220-git";
+    asds = [ "cl-cffi-gtk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2020-12-20/cl-cffi-gtk-20201220-git.tgz";
+      sha256 = "1rcxv8abpvfbfvrq27h48rbhsvmp26cq7b27pcp8205mxvkdzam5";
+      system = "cl-cffi-gtk";
+      asd = "cl-cffi-gtk";
+    });
+    systems = [ "cl-cffi-gtk" ];
+    lispLibs = [ (getAttr "cl-cffi-gtk-cairo" pkgs) (getAttr "cl-cffi-gtk-gdk" pkgs) (getAttr "cl-cffi-gtk-gdk-pixbuf" pkgs) (getAttr "cl-cffi-gtk-gio" pkgs) (getAttr "cl-cffi-gtk-glib" pkgs) (getAttr "cl-cffi-gtk-gobject" pkgs) (getAttr "cl-cffi-gtk-pango" pkgs) ];
+  };
+  cl-cffi-gtk-cairo = {
+    pname = "cl-cffi-gtk-cairo";
+    version = "20201220-git";
+    asds = [ "cl-cffi-gtk-cairo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2020-12-20/cl-cffi-gtk-20201220-git.tgz";
+      sha256 = "1rcxv8abpvfbfvrq27h48rbhsvmp26cq7b27pcp8205mxvkdzam5";
+      system = "cl-cffi-gtk-cairo";
+      asd = "cl-cffi-gtk-cairo";
+    });
+    systems = [ "cl-cffi-gtk-cairo" ];
+    lispLibs = [ (getAttr "cl-cffi-gtk-glib" pkgs) ];
+  };
+  cl-cffi-gtk-demo-cairo = {
+    pname = "cl-cffi-gtk-demo-cairo";
+    version = "20201220-git";
+    asds = [ "cl-cffi-gtk-demo-cairo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2020-12-20/cl-cffi-gtk-20201220-git.tgz";
+      sha256 = "1rcxv8abpvfbfvrq27h48rbhsvmp26cq7b27pcp8205mxvkdzam5";
+      system = "cl-cffi-gtk-demo-cairo";
+      asd = "cl-cffi-gtk-demo-cairo";
+    });
+    systems = [ "cl-cffi-gtk-demo-cairo" ];
+    lispLibs = [ (getAttr "cl-cffi-gtk" pkgs) ];
+  };
+  cl-cffi-gtk-demo-glib = {
+    pname = "cl-cffi-gtk-demo-glib";
+    version = "20201220-git";
+    asds = [ "cl-cffi-gtk-demo-glib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2020-12-20/cl-cffi-gtk-20201220-git.tgz";
+      sha256 = "1rcxv8abpvfbfvrq27h48rbhsvmp26cq7b27pcp8205mxvkdzam5";
+      system = "cl-cffi-gtk-demo-glib";
+      asd = "cl-cffi-gtk-demo-glib";
+    });
+    systems = [ "cl-cffi-gtk-demo-glib" ];
+    lispLibs = [ (getAttr "cl-cffi-gtk" pkgs) ];
+  };
+  cl-cffi-gtk-demo-gobject = {
+    pname = "cl-cffi-gtk-demo-gobject";
+    version = "20201220-git";
+    asds = [ "cl-cffi-gtk-demo-gobject" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2020-12-20/cl-cffi-gtk-20201220-git.tgz";
+      sha256 = "1rcxv8abpvfbfvrq27h48rbhsvmp26cq7b27pcp8205mxvkdzam5";
+      system = "cl-cffi-gtk-demo-gobject";
+      asd = "cl-cffi-gtk-demo-gobject";
+    });
+    systems = [ "cl-cffi-gtk-demo-gobject" ];
+    lispLibs = [ (getAttr "cl-cffi-gtk-gobject" pkgs) ];
+  };
+  cl-cffi-gtk-example-gtk = {
+    pname = "cl-cffi-gtk-example-gtk";
+    version = "20201220-git";
+    asds = [ "cl-cffi-gtk-example-gtk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2020-12-20/cl-cffi-gtk-20201220-git.tgz";
+      sha256 = "1rcxv8abpvfbfvrq27h48rbhsvmp26cq7b27pcp8205mxvkdzam5";
+      system = "cl-cffi-gtk-example-gtk";
+      asd = "cl-cffi-gtk-example-gtk";
+    });
+    systems = [ "cl-cffi-gtk-example-gtk" ];
+    lispLibs = [ (getAttr "cl-cffi-gtk" pkgs) ];
+  };
+  cl-cffi-gtk-gdk = {
+    pname = "cl-cffi-gtk-gdk";
+    version = "20201220-git";
+    asds = [ "cl-cffi-gtk-gdk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2020-12-20/cl-cffi-gtk-20201220-git.tgz";
+      sha256 = "1rcxv8abpvfbfvrq27h48rbhsvmp26cq7b27pcp8205mxvkdzam5";
+      system = "cl-cffi-gtk-gdk";
+      asd = "cl-cffi-gtk-gdk";
+    });
+    systems = [ "cl-cffi-gtk-gdk" ];
+    lispLibs = [ (getAttr "cl-cffi-gtk-cairo" pkgs) (getAttr "cl-cffi-gtk-gdk-pixbuf" pkgs) (getAttr "cl-cffi-gtk-gio" pkgs) (getAttr "cl-cffi-gtk-glib" pkgs) (getAttr "cl-cffi-gtk-gobject" pkgs) (getAttr "cl-cffi-gtk-pango" pkgs) ];
+  };
+  cl-cffi-gtk-gdk-pixbuf = {
+    pname = "cl-cffi-gtk-gdk-pixbuf";
+    version = "20201220-git";
+    asds = [ "cl-cffi-gtk-gdk-pixbuf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2020-12-20/cl-cffi-gtk-20201220-git.tgz";
+      sha256 = "1rcxv8abpvfbfvrq27h48rbhsvmp26cq7b27pcp8205mxvkdzam5";
+      system = "cl-cffi-gtk-gdk-pixbuf";
+      asd = "cl-cffi-gtk-gdk-pixbuf";
+    });
+    systems = [ "cl-cffi-gtk-gdk-pixbuf" ];
+    lispLibs = [ (getAttr "cl-cffi-gtk-glib" pkgs) (getAttr "cl-cffi-gtk-gobject" pkgs) ];
+  };
+  cl-cffi-gtk-gio = {
+    pname = "cl-cffi-gtk-gio";
+    version = "20201220-git";
+    asds = [ "cl-cffi-gtk-gio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2020-12-20/cl-cffi-gtk-20201220-git.tgz";
+      sha256 = "1rcxv8abpvfbfvrq27h48rbhsvmp26cq7b27pcp8205mxvkdzam5";
+      system = "cl-cffi-gtk-gio";
+      asd = "cl-cffi-gtk-gio";
+    });
+    systems = [ "cl-cffi-gtk-gio" ];
+    lispLibs = [ (getAttr "cl-cffi-gtk-glib" pkgs) (getAttr "cl-cffi-gtk-gobject" pkgs) ];
+  };
+  cl-cffi-gtk-glib = {
+    pname = "cl-cffi-gtk-glib";
+    version = "20201220-git";
+    asds = [ "cl-cffi-gtk-glib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2020-12-20/cl-cffi-gtk-20201220-git.tgz";
+      sha256 = "1rcxv8abpvfbfvrq27h48rbhsvmp26cq7b27pcp8205mxvkdzam5";
+      system = "cl-cffi-gtk-glib";
+      asd = "cl-cffi-gtk-glib";
+    });
+    systems = [ "cl-cffi-gtk-glib" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "iterate" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  cl-cffi-gtk-gobject = {
+    pname = "cl-cffi-gtk-gobject";
+    version = "20201220-git";
+    asds = [ "cl-cffi-gtk-gobject" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2020-12-20/cl-cffi-gtk-20201220-git.tgz";
+      sha256 = "1rcxv8abpvfbfvrq27h48rbhsvmp26cq7b27pcp8205mxvkdzam5";
+      system = "cl-cffi-gtk-gobject";
+      asd = "cl-cffi-gtk-gobject";
+    });
+    systems = [ "cl-cffi-gtk-gobject" ];
+    lispLibs = [ (getAttr "cl-cffi-gtk-glib" pkgs) (getAttr "closer-mop" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-cffi-gtk-opengl-demo = {
+    pname = "cl-cffi-gtk-opengl-demo";
+    version = "20201220-git";
+    asds = [ "cl-cffi-gtk-opengl-demo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2020-12-20/cl-cffi-gtk-20201220-git.tgz";
+      sha256 = "1rcxv8abpvfbfvrq27h48rbhsvmp26cq7b27pcp8205mxvkdzam5";
+      system = "cl-cffi-gtk-opengl-demo";
+      asd = "cl-cffi-gtk-opengl-demo";
+    });
+    systems = [ "cl-cffi-gtk-opengl-demo" ];
+    lispLibs = [ (getAttr "cl-cffi-gtk" pkgs) (getAttr "cl-opengl" pkgs) ];
+  };
+  cl-cffi-gtk-pango = {
+    pname = "cl-cffi-gtk-pango";
+    version = "20201220-git";
+    asds = [ "cl-cffi-gtk-pango" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cffi-gtk/2020-12-20/cl-cffi-gtk-20201220-git.tgz";
+      sha256 = "1rcxv8abpvfbfvrq27h48rbhsvmp26cq7b27pcp8205mxvkdzam5";
+      system = "cl-cffi-gtk-pango";
+      asd = "cl-cffi-gtk-pango";
+    });
+    systems = [ "cl-cffi-gtk-pango" ];
+    lispLibs = [ (getAttr "cl-cffi-gtk-cairo" pkgs) (getAttr "cl-cffi-gtk-glib" pkgs) (getAttr "cl-cffi-gtk-gobject" pkgs) ];
+  };
+  cl-change-case = {
+    pname = "cl-change-case";
+    version = "20210411-git";
+    asds = [ "cl-change-case" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-change-case/2021-04-11/cl-change-case-20210411-git.tgz";
+      sha256 = "027qvcx261g0gwjvwn2n4w0biw1xq3c5s41smbb3ppxszyax82dx";
+      system = "cl-change-case";
+      asd = "cl-change-case";
+    });
+    systems = [ "cl-change-case" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cl-ppcre-unicode" pkgs) ];
+  };
+  cl-change-case_slash_test = {
+    pname = "cl-change-case_test";
+    version = "20210411-git";
+    asds = [ "cl-change-case" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-change-case/2021-04-11/cl-change-case-20210411-git.tgz";
+      sha256 = "027qvcx261g0gwjvwn2n4w0biw1xq3c5s41smbb3ppxszyax82dx";
+      system = "cl-change-case";
+      asd = "cl-change-case";
+    });
+    systems = [ "cl-change-case/test" ];
+    lispLibs = [ (getAttr "cl-change-case" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-charms = {
+    pname = "cl-charms";
+    version = "20200218-git";
+    asds = [ "cl-charms" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-charms/2020-02-18/cl-charms-20200218-git.tgz";
+      sha256 = "1jczaypa9dhxr34yyhsxb6lrdnircjx8am4iqkc3shfpjn32q323";
+      system = "cl-charms";
+      asd = "cl-charms";
+    });
+    systems = [ "cl-charms" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  cl-charms-paint = {
+    pname = "cl-charms-paint";
+    version = "20200218-git";
+    asds = [ "cl-charms-paint" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-charms/2020-02-18/cl-charms-20200218-git.tgz";
+      sha256 = "1jczaypa9dhxr34yyhsxb6lrdnircjx8am4iqkc3shfpjn32q323";
+      system = "cl-charms-paint";
+      asd = "cl-charms-paint";
+    });
+    systems = [ "cl-charms-paint" ];
+    lispLibs = [ (getAttr "cl-charms" pkgs) ];
+  };
+  cl-charms-timer = {
+    pname = "cl-charms-timer";
+    version = "20200218-git";
+    asds = [ "cl-charms-timer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-charms/2020-02-18/cl-charms-20200218-git.tgz";
+      sha256 = "1jczaypa9dhxr34yyhsxb6lrdnircjx8am4iqkc3shfpjn32q323";
+      system = "cl-charms-timer";
+      asd = "cl-charms-timer";
+    });
+    systems = [ "cl-charms-timer" ];
+    lispLibs = [ (getAttr "cl-charms" pkgs) ];
+  };
+  cl-cheshire-cat = {
+    pname = "cl-cheshire-cat";
+    version = "20121125-git";
+    asds = [ "cl-cheshire-cat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cheshire-cat/2012-11-25/cl-cheshire-cat-20121125-git.tgz";
+      sha256 = "1kgm1pa2c4r90nfs38x7fsw730nw13z7p6f11rv67hdjcydh2f11";
+      system = "cl-cheshire-cat";
+      asd = "cl-cheshire-cat";
+    });
+    systems = [ "cl-cheshire-cat" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-store" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "split-sequence" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-clblas = {
+    pname = "cl-clblas";
+    version = "20181018-git";
+    asds = [ "cl-clblas" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-clblas/2018-10-18/cl-clblas-20181018-git.tgz";
+      sha256 = "0cn4hvywaw97ccnj2wxjf20lh7h7n5fs6rq6kgjyfs9cxcixmvrj";
+      system = "cl-clblas";
+      asd = "cl-clblas";
+    });
+    systems = [ "cl-clblas" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-clblas-test = {
+    pname = "cl-clblas-test";
+    version = "20181018-git";
+    asds = [ "cl-clblas-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-clblas/2018-10-18/cl-clblas-20181018-git.tgz";
+      sha256 = "0cn4hvywaw97ccnj2wxjf20lh7h7n5fs6rq6kgjyfs9cxcixmvrj";
+      system = "cl-clblas-test";
+      asd = "cl-clblas-test";
+    });
+    systems = [ "cl-clblas-test" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-clblas" pkgs) (getAttr "cl-oclapi" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-cli = {
+    pname = "cl-cli";
+    version = "20151218-git";
+    asds = [ "cl-cli" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cli/2015-12-18/cl-cli-20151218-git.tgz";
+      sha256 = "0zlifq55r78vfdlqf8jy6rkny73438f1i9cp9a8vybmila5dij3q";
+      system = "cl-cli";
+      asd = "cl-cli";
+    });
+    systems = [ "cl-cli" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) ];
+  };
+  cl-clsparse = {
+    pname = "cl-clsparse";
+    version = "20190813-git";
+    asds = [ "cl-clsparse" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-clsparse/2019-08-13/cl-clsparse-20190813-git.tgz";
+      sha256 = "0cmmwx2ka1jp5711x21knw3zi6kcpkpcs39dm62w82s97bv794gz";
+      system = "cl-clsparse";
+      asd = "cl-clsparse";
+    });
+    systems = [ "cl-clsparse" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) ];
+  };
+  cl-cognito = {
+    pname = "cl-cognito";
+    version = "20181210-git";
+    asds = [ "cl-cognito" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cognito/2018-12-10/cl-cognito-20181210-git.tgz";
+      sha256 = "0zy4yg4zggvxwbvkjkd89d2ps236kz6pvz90zn6gzq812wnidsd3";
+      system = "cl-cognito";
+      asd = "cl-cognito";
+    });
+    systems = [ "cl-cognito" ];
+    lispLibs = [ (getAttr "aws-foundation" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-json-helper" pkgs) (getAttr "ironclad" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  cl-coinpayments = {
+    pname = "cl-coinpayments";
+    version = "20210807-git";
+    asds = [ "cl-coinpayments" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-coinpayments/2021-08-07/cl-coinpayments-20210807-git.tgz";
+      sha256 = "1vgsh95vjqqg0a6lqg1ivs36yjx6ck8cqhsmlr5l3ldfd8yr65q7";
+      system = "cl-coinpayments";
+      asd = "cl-coinpayments";
+    });
+    systems = [ "cl-coinpayments" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "str" pkgs) (getAttr "closer-mop" pkgs) (getAttr "dexador" pkgs) (getAttr "ironclad" pkgs) (getAttr "jonathan" pkgs) ];
+  };
+  cl-collider = {
+    pname = "cl-collider";
+    version = "20211230-git";
+    asds = [ "cl-collider" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-collider/2021-12-30/cl-collider-20211230-git.tgz";
+      sha256 = "1jvvkx5xkd67bsc666gfa021q50fpl2qn6c4mzzv2147r5ia2l3b";
+      system = "cl-collider";
+      asd = "cl-collider";
+    });
+    systems = [ "cl-collider" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "sc-osc" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "named-readtables" pkgs) (getAttr "pileup" pkgs) (getAttr "simple-inferiors" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-colors = {
+    pname = "cl-colors";
+    version = "20180328-git";
+    asds = [ "cl-colors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-colors/2018-03-28/cl-colors-20180328-git.tgz";
+      sha256 = "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a";
+      system = "cl-colors";
+      asd = "cl-colors";
+    });
+    systems = [ "cl-colors" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  cl-colors-tests = {
+    pname = "cl-colors-tests";
+    version = "20180328-git";
+    asds = [ "cl-colors-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-colors/2018-03-28/cl-colors-20180328-git.tgz";
+      sha256 = "0l446lday4hybsm9bq3jli97fvv8jb1d33abg79vbylpwjmf3y9a";
+      system = "cl-colors-tests";
+      asd = "cl-colors";
+    });
+    systems = [ "cl-colors-tests" ];
+    lispLibs = [ (getAttr "cl-colors" pkgs) (getAttr "lift" pkgs) ];
+  };
+  cl-colors2 = {
+    pname = "cl-colors2";
+    version = "20211020-git";
+    asds = [ "cl-colors2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-colors2/2021-10-20/cl-colors2-20211020-git.tgz";
+      sha256 = "0cpphlsscr1ks4fmji913xi9k3wcm2ndjb5923yjwx93ld1vfyhr";
+      system = "cl-colors2";
+      asd = "cl-colors2";
+    });
+    systems = [ "cl-colors2" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  cl-colors2_slash_tests = {
+    pname = "cl-colors2_tests";
+    version = "20211020-git";
+    asds = [ "cl-colors2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-colors2/2021-10-20/cl-colors2-20211020-git.tgz";
+      sha256 = "0cpphlsscr1ks4fmji913xi9k3wcm2ndjb5923yjwx93ld1vfyhr";
+      system = "cl-colors2";
+      asd = "cl-colors2";
+    });
+    systems = [ "cl-colors2/tests" ];
+    lispLibs = [ (getAttr "cl-colors2" pkgs) (getAttr "clunit2" pkgs) ];
+  };
+  cl-conllu = {
+    pname = "cl-conllu";
+    version = "20211209-git";
+    asds = [ "cl-conllu" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-conllu/2021-12-09/cl-conllu-20211209-git.tgz";
+      sha256 = "0n69k0apifnirs2g3rfdsxiwy6dimd9qqxaqywaingvbd7yn42jn";
+      system = "cl-conllu";
+      asd = "cl-conllu";
+    });
+    systems = [ "cl-conllu" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-log" pkgs) (getAttr "cl-markup" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "wilbur" pkgs) (getAttr "lispbuilder-lexer" pkgs) (getAttr "optima_dot_ppcre" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uuid" pkgs) (getAttr "xmls" pkgs) (getAttr "yason" pkgs) ];
+  };
+  cl-conspack = {
+    pname = "cl-conspack";
+    version = "20170403-git";
+    asds = [ "cl-conspack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-conspack/2017-04-03/cl-conspack-20170403-git.tgz";
+      sha256 = "0b7qzvsrpvnw12hqhjmz0b02sigj0kdjy55j4k7xzmj8684cs8bx";
+      system = "cl-conspack";
+      asd = "cl-conspack";
+    });
+    systems = [ "cl-conspack" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "fast-io" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  cl-conspack-test = {
+    pname = "cl-conspack-test";
+    version = "20170403-git";
+    asds = [ "cl-conspack-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-conspack/2017-04-03/cl-conspack-20170403-git.tgz";
+      sha256 = "0b7qzvsrpvnw12hqhjmz0b02sigj0kdjy55j4k7xzmj8684cs8bx";
+      system = "cl-conspack-test";
+      asd = "cl-conspack-test";
+    });
+    systems = [ "cl-conspack-test" ];
+    lispLibs = [ (getAttr "checkl" pkgs) (getAttr "cl-conspack" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-cont = {
+    pname = "cl-cont";
+    version = "20110219-darcs";
+    asds = [ "cl-cont" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cont/2011-02-19/cl-cont-20110219-darcs.tgz";
+      sha256 = "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz";
+      system = "cl-cont";
+      asd = "cl-cont";
+    });
+    systems = [ "cl-cont" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  cl-cont-test = {
+    pname = "cl-cont-test";
+    version = "20110219-darcs";
+    asds = [ "cl-cont-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cont/2011-02-19/cl-cont-20110219-darcs.tgz";
+      sha256 = "1zf8zvb0i6jm3hhfks4w74hibm6avgc6f9s1qwgjrn2bcik8lrvz";
+      system = "cl-cont-test";
+      asd = "cl-cont-test";
+    });
+    systems = [ "cl-cont-test" ];
+    lispLibs = [ (getAttr "cl-cont" pkgs) (getAttr "rt" pkgs) ];
+  };
+  cl-containers = {
+    pname = "cl-containers";
+    version = "20200427-git";
+    asds = [ "cl-containers" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-containers/2020-04-27/cl-containers-20200427-git.tgz";
+      sha256 = "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y";
+      system = "cl-containers";
+      asd = "cl-containers";
+    });
+    systems = [ "cl-containers" ];
+    lispLibs = [ (getAttr "asdf-system-connections" pkgs) (getAttr "metatilities-base" pkgs) ];
+  };
+  cl-containers-test = {
+    pname = "cl-containers-test";
+    version = "20200427-git";
+    asds = [ "cl-containers-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-containers/2020-04-27/cl-containers-20200427-git.tgz";
+      sha256 = "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y";
+      system = "cl-containers-test";
+      asd = "cl-containers-test";
+    });
+    systems = [ "cl-containers-test" ];
+    lispLibs = [ (getAttr "cl-containers" pkgs) (getAttr "lift" pkgs) ];
+  };
+  cl-containers_slash_with-moptilities = {
+    pname = "cl-containers_with-moptilities";
+    version = "20200427-git";
+    asds = [ "cl-containers" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-containers/2020-04-27/cl-containers-20200427-git.tgz";
+      sha256 = "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y";
+      system = "cl-containers";
+      asd = "cl-containers";
+    });
+    systems = [ "cl-containers/with-moptilities" ];
+    lispLibs = [ (getAttr "cl-containers" pkgs) (getAttr "moptilities" pkgs) ];
+  };
+  cl-containers_slash_with-utilities = {
+    pname = "cl-containers_with-utilities";
+    version = "20200427-git";
+    asds = [ "cl-containers" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-containers/2020-04-27/cl-containers-20200427-git.tgz";
+      sha256 = "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y";
+      system = "cl-containers";
+      asd = "cl-containers";
+    });
+    systems = [ "cl-containers/with-utilities" ];
+    lispLibs = [ (getAttr "cl-containers" pkgs) (getAttr "metatilities-base" pkgs) ];
+  };
+  cl-cookie = {
+    pname = "cl-cookie";
+    version = "20191007-git";
+    asds = [ "cl-cookie" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cookie/2019-10-07/cl-cookie-20191007-git.tgz";
+      sha256 = "1kphfjbh9hzjc95ad7mpfsb0x7d8f7xznlaskr8awymspbmck8cz";
+      system = "cl-cookie";
+      asd = "cl-cookie";
+    });
+    systems = [ "cl-cookie" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "local-time" pkgs) (getAttr "proc-parse" pkgs) (getAttr "quri" pkgs) ];
+  };
+  cl-cookie-test = {
+    pname = "cl-cookie-test";
+    version = "20191007-git";
+    asds = [ "cl-cookie-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cookie/2019-10-07/cl-cookie-20191007-git.tgz";
+      sha256 = "1kphfjbh9hzjc95ad7mpfsb0x7d8f7xznlaskr8awymspbmck8cz";
+      system = "cl-cookie-test";
+      asd = "cl-cookie-test";
+    });
+    systems = [ "cl-cookie-test" ];
+    lispLibs = [ (getAttr "cl-cookie" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-coroutine = {
+    pname = "cl-coroutine";
+    version = "20160929-git";
+    asds = [ "cl-coroutine" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-coroutine/2016-09-29/cl-coroutine-20160929-git.tgz";
+      sha256 = "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l";
+      system = "cl-coroutine";
+      asd = "cl-coroutine";
+    });
+    systems = [ "cl-coroutine" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-cont" pkgs) ];
+  };
+  cl-coroutine-test = {
+    pname = "cl-coroutine-test";
+    version = "20160929-git";
+    asds = [ "cl-coroutine-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-coroutine/2016-09-29/cl-coroutine-20160929-git.tgz";
+      sha256 = "1cqdhdjxffgfs116l1swjlsmcbly0xgcgrckvaajd566idj9yj4l";
+      system = "cl-coroutine-test";
+      asd = "cl-coroutine-test";
+    });
+    systems = [ "cl-coroutine-test" ];
+    lispLibs = [ (getAttr "cl-coroutine" pkgs) (getAttr "cl-test-more" pkgs) ];
+  };
+  cl-coveralls = {
+    pname = "cl-coveralls";
+    version = "20210411-git";
+    asds = [ "cl-coveralls" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-coveralls/2021-04-11/cl-coveralls-20210411-git.tgz";
+      sha256 = "1n4jks92827xbi2zzy6gsx3r2gl97difl04da9wz94n9rjj3bcz0";
+      system = "cl-coveralls";
+      asd = "cl-coveralls";
+    });
+    systems = [ "cl-coveralls" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "dexador" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "ironclad" pkgs) (getAttr "jonathan" pkgs) (getAttr "lquery" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-coveralls-test = {
+    pname = "cl-coveralls-test";
+    version = "20210411-git";
+    asds = [ "cl-coveralls-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-coveralls/2021-04-11/cl-coveralls-20210411-git.tgz";
+      sha256 = "1n4jks92827xbi2zzy6gsx3r2gl97difl04da9wz94n9rjj3bcz0";
+      system = "cl-coveralls-test";
+      asd = "cl-coveralls-test";
+    });
+    systems = [ "cl-coveralls-test" ];
+    lispLibs = [ (getAttr "cl-coveralls" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-covid19 = {
+    pname = "cl-covid19";
+    version = "20210531-git";
+    asds = [ "cl-covid19" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-covid19/2021-05-31/cl-covid19-20210531-git.tgz";
+      sha256 = "0pl7rgr1hdcjvi2gdf1c7drqgbxxa91ls5z7nkcq227b96zs76jl";
+      system = "cl-covid19";
+      asd = "cl-covid19";
+    });
+    systems = [ "cl-covid19" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ascii-table" pkgs) (getAttr "cl-csv" pkgs) (getAttr "cl-migratum" pkgs) (getAttr "cl-migratum_dot_driver_dot_sql" pkgs) (getAttr "cl-migratum_dot_provider_dot_local-path" pkgs) (getAttr "dexador" pkgs) (getAttr "djula" pkgs) (getAttr "jonathan" pkgs) (getAttr "quri" pkgs) (getAttr "tmpdir" pkgs) ];
+  };
+  cl-cpu-affinity = {
+    pname = "cl-cpu-affinity";
+    version = "20210411-git";
+    asds = [ "cl-cpu-affinity" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz";
+      sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa";
+      system = "cl-cpu-affinity";
+      asd = "cl-cpu-affinity";
+    });
+    systems = [ "cl-cpu-affinity" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-cpus = {
+    pname = "cl-cpus";
+    version = "20180430-git";
+    asds = [ "cl-cpus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cpus/2018-04-30/cl-cpus-20180430-git.tgz";
+      sha256 = "0sdaff9hpsx7bpkkkqavmxmrrlc2d61gmqjjgn8xchncng4a0rf8";
+      system = "cl-cpus";
+      asd = "cl-cpus";
+    });
+    systems = [ "cl-cpus" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-cram = {
+    pname = "cl-cram";
+    version = "20211020-git";
+    asds = [ "cl-cram" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cram/2021-10-20/cl-cram-20211020-git.tgz";
+      sha256 = "11li22dx9rxsd3192xawipqg413ggi1sbmw52vnzjd0jyvy3fqy2";
+      system = "cl-cram";
+      asd = "cl-cram";
+    });
+    systems = [ "cl-cram" ];
+    lispLibs = [  ];
+  };
+  cl-crc64 = {
+    pname = "cl-crc64";
+    version = "20140713-git";
+    asds = [ "cl-crc64" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-crc64/2014-07-13/cl-crc64-20140713-git.tgz";
+      sha256 = "1cqky5ps28r49z6ib4vjwfjpq3ml81p2ayf0nqppf2lc4vf3kb20";
+      system = "cl-crc64";
+      asd = "cl-crc64";
+    });
+    systems = [ "cl-crc64" ];
+    lispLibs = [  ];
+  };
+  cl-creditcard = {
+    pname = "cl-creditcard";
+    version = "20150113-git";
+    asds = [ "cl-creditcard" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-creditcard/2015-01-13/cl-creditcard-20150113-git.tgz";
+      sha256 = "1qq9r7q50k7jw6sv65aqi9xalaw8m6aqsbb0cgpjxv8wdhy934cr";
+      system = "cl-creditcard";
+      asd = "cl-creditcard";
+    });
+    systems = [ "cl-creditcard" ];
+    lispLibs = [ (getAttr "iterate" pkgs) ];
+  };
+  cl-cron = {
+    pname = "cl-cron";
+    version = "20211209-git";
+    asds = [ "cl-cron" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cron/2021-12-09/cl-cron-20211209-git.tgz";
+      sha256 = "0y4li8j2h1nbpldpqm39ld9kgs4a7biy94h49n27l59l7mn1jd0d";
+      system = "cl-cron";
+      asd = "cl-cron";
+    });
+    systems = [ "cl-cron" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  cl-css = {
+    pname = "cl-css";
+    version = "20140914-git";
+    asds = [ "cl-css" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-css/2014-09-14/cl-css-20140914-git.tgz";
+      sha256 = "1lc42zi2sw11fl2589sc19nr5sd2p0wy7wgvgwaggxa5f3ajhsmd";
+      system = "cl-css";
+      asd = "cl-css";
+    });
+    systems = [ "cl-css" ];
+    lispLibs = [  ];
+  };
+  cl-csv = {
+    pname = "cl-csv";
+    version = "20201016-git";
+    asds = [ "cl-csv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-csv/2020-10-16/cl-csv-20201016-git.tgz";
+      sha256 = "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x";
+      system = "cl-csv";
+      asd = "cl-csv";
+    });
+    systems = [ "cl-csv" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-csv-clsql = {
+    pname = "cl-csv-clsql";
+    version = "20201016-git";
+    asds = [ "cl-csv-clsql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-csv/2020-10-16/cl-csv-20201016-git.tgz";
+      sha256 = "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x";
+      system = "cl-csv-clsql";
+      asd = "cl-csv-clsql";
+    });
+    systems = [ "cl-csv-clsql" ];
+    lispLibs = [ (getAttr "cl-csv" pkgs) (getAttr "clsql-helper" pkgs) (getAttr "data-table-clsql" pkgs) ];
+  };
+  cl-csv-data-table = {
+    pname = "cl-csv-data-table";
+    version = "20201016-git";
+    asds = [ "cl-csv-data-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-csv/2020-10-16/cl-csv-20201016-git.tgz";
+      sha256 = "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x";
+      system = "cl-csv-data-table";
+      asd = "cl-csv-data-table";
+    });
+    systems = [ "cl-csv-data-table" ];
+    lispLibs = [ (getAttr "cl-csv" pkgs) (getAttr "data-table" pkgs) ];
+  };
+  cl-csv_slash_speed-test = {
+    pname = "cl-csv_speed-test";
+    version = "20201016-git";
+    asds = [ "cl-csv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-csv/2020-10-16/cl-csv-20201016-git.tgz";
+      sha256 = "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x";
+      system = "cl-csv";
+      asd = "cl-csv";
+    });
+    systems = [ "cl-csv/speed-test" ];
+    lispLibs = [ (getAttr "cl-csv" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  cl-csv_slash_test = {
+    pname = "cl-csv_test";
+    version = "20201016-git";
+    asds = [ "cl-csv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-csv/2020-10-16/cl-csv-20201016-git.tgz";
+      sha256 = "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x";
+      system = "cl-csv";
+      asd = "cl-csv";
+    });
+    systems = [ "cl-csv/test" ];
+    lispLibs = [ (getAttr "cl-csv" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  cl-cuda = {
+    pname = "cl-cuda";
+    version = "20210807-git";
+    asds = [ "cl-cuda" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz";
+      sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg";
+      system = "cl-cuda";
+      asd = "cl-cuda";
+    });
+    systems = [ "cl-cuda" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cl-pattern" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-reexport" pkgs) (getAttr "external-program" pkgs) (getAttr "osicat" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-cuda-examples = {
+    pname = "cl-cuda-examples";
+    version = "20210807-git";
+    asds = [ "cl-cuda-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz";
+      sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg";
+      system = "cl-cuda-examples";
+      asd = "cl-cuda-examples";
+    });
+    systems = [ "cl-cuda-examples" ];
+    lispLibs = [ (getAttr "cl-cuda" pkgs) (getAttr "imago" pkgs) ];
+  };
+  cl-cuda-interop = {
+    pname = "cl-cuda-interop";
+    version = "20210807-git";
+    asds = [ "cl-cuda-interop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz";
+      sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg";
+      system = "cl-cuda-interop";
+      asd = "cl-cuda-interop";
+    });
+    systems = [ "cl-cuda-interop" ];
+    lispLibs = [ (getAttr "cl-cuda" pkgs) (getAttr "cl-glu" pkgs) (getAttr "cl-glut" pkgs) (getAttr "cl-opengl" pkgs) ];
+  };
+  cl-cuda-interop-examples = {
+    pname = "cl-cuda-interop-examples";
+    version = "20210807-git";
+    asds = [ "cl-cuda-interop-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz";
+      sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg";
+      system = "cl-cuda-interop-examples";
+      asd = "cl-cuda-interop-examples";
+    });
+    systems = [ "cl-cuda-interop-examples" ];
+    lispLibs = [ (getAttr "cl-cuda-interop" pkgs) ];
+  };
+  cl-cuda-misc = {
+    pname = "cl-cuda-misc";
+    version = "20210807-git";
+    asds = [ "cl-cuda-misc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cuda/2021-08-07/cl-cuda-20210807-git.tgz";
+      sha256 = "019m2khbiadm0yxfhbbfsidnmxq9spn3hn8r6vx4cw3i22jin0hg";
+      system = "cl-cuda-misc";
+      asd = "cl-cuda-misc";
+    });
+    systems = [ "cl-cuda-misc" ];
+    lispLibs = [ (getAttr "cl-emb" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  cl-custom-hash-table = {
+    pname = "cl-custom-hash-table";
+    version = "20201220-git";
+    asds = [ "cl-custom-hash-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-custom-hash-table/2020-12-20/cl-custom-hash-table-20201220-git.tgz";
+      sha256 = "1lyp3lhqq3p2n04agaar5v50ai3vd6zvi6yq4phw3fcl2jzdjhk3";
+      system = "cl-custom-hash-table";
+      asd = "cl-custom-hash-table";
+    });
+    systems = [ "cl-custom-hash-table" ];
+    lispLibs = [  ];
+  };
+  cl-custom-hash-table-test = {
+    pname = "cl-custom-hash-table-test";
+    version = "20201220-git";
+    asds = [ "cl-custom-hash-table-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-custom-hash-table/2020-12-20/cl-custom-hash-table-20201220-git.tgz";
+      sha256 = "1lyp3lhqq3p2n04agaar5v50ai3vd6zvi6yq4phw3fcl2jzdjhk3";
+      system = "cl-custom-hash-table-test";
+      asd = "cl-custom-hash-table-test";
+    });
+    systems = [ "cl-custom-hash-table-test" ];
+    lispLibs = [ (getAttr "cl-custom-hash-table" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  cl-cut = {
+    pname = "cl-cut";
+    version = "20180131-git";
+    asds = [ "cl-cut" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cut/2018-01-31/cl-cut-20180131-git.tgz";
+      sha256 = "1m8m0vfrrcgkwgk8ix67mxf83lfs6bbi0b7x3jh4km0rqm1vw1ww";
+      system = "cl-cut";
+      asd = "cl-cut";
+    });
+    systems = [ "cl-cut" ];
+    lispLibs = [  ];
+  };
+  cl-cut_dot_test = {
+    pname = "cl-cut.test";
+    version = "20180131-git";
+    asds = [ "cl-cut.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cut/2018-01-31/cl-cut-20180131-git.tgz";
+      sha256 = "1m8m0vfrrcgkwgk8ix67mxf83lfs6bbi0b7x3jh4km0rqm1vw1ww";
+      system = "cl-cut.test";
+      asd = "cl-cut.test";
+    });
+    systems = [ "cl-cut.test" ];
+    lispLibs = [ (getAttr "cl-cut" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-darksky = {
+    pname = "cl-darksky";
+    version = "20180711-git";
+    asds = [ "cl-darksky" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-darksky/2018-07-11/cl-darksky-20180711-git.tgz";
+      sha256 = "049rziv10z0ygvm0fi98jlxdd5xcqf9gp6ah7jwn9bcxwg5y0wcf";
+      system = "cl-darksky";
+      asd = "cl-darksky";
+    });
+    systems = [ "cl-darksky" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "dexador" pkgs) (getAttr "jonathan" pkgs) ];
+  };
+  cl-darksky-test = {
+    pname = "cl-darksky-test";
+    version = "20180711-git";
+    asds = [ "cl-darksky-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-darksky/2018-07-11/cl-darksky-20180711-git.tgz";
+      sha256 = "049rziv10z0ygvm0fi98jlxdd5xcqf9gp6ah7jwn9bcxwg5y0wcf";
+      system = "cl-darksky-test";
+      asd = "cl-darksky-test";
+    });
+    systems = [ "cl-darksky-test" ];
+    lispLibs = [ (getAttr "cl-darksky" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-data-frame = {
+    pname = "cl-data-frame";
+    version = "20210531-git";
+    asds = [ "cl-data-frame" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-data-frame/2021-05-31/cl-data-frame-20210531-git.tgz";
+      sha256 = "04x5xqf7kyvpm1qdmklp3hgpifl86nw5rjr0qd7r5d4lz6vh9da9";
+      system = "cl-data-frame";
+      asd = "cl-data-frame";
+    });
+    systems = [ "cl-data-frame" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "array-operations" pkgs) (getAttr "cl-num-utils" pkgs) (getAttr "cl-slice" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  cl-data-frame-tests = {
+    pname = "cl-data-frame-tests";
+    version = "20210531-git";
+    asds = [ "cl-data-frame-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-data-frame/2021-05-31/cl-data-frame-20210531-git.tgz";
+      sha256 = "04x5xqf7kyvpm1qdmklp3hgpifl86nw5rjr0qd7r5d4lz6vh9da9";
+      system = "cl-data-frame-tests";
+      asd = "cl-data-frame";
+    });
+    systems = [ "cl-data-frame-tests" ];
+    lispLibs = [ (getAttr "cl-data-frame" pkgs) (getAttr "clunit" pkgs) ];
+  };
+  cl-data-structures = {
+    pname = "cl-data-structures";
+    version = "20211230-git";
+    asds = [ "cl-data-structures" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-data-structures/2021-12-30/cl-data-structures-20211230-git.tgz";
+      sha256 = "1pxlgqbkg855vf6jfr2jjj9k85m1lrybwwjfs06xnbkm2a6gf6py";
+      system = "cl-data-structures";
+      asd = "cl-data-structures";
+    });
+    systems = [ "cl-data-structures" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "documentation-utils-extensions" pkgs) (getAttr "flexichain" pkgs) (getAttr "iterate" pkgs) (getAttr "lparallel" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "more-conditions" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-data-structures-tests = {
+    pname = "cl-data-structures-tests";
+    version = "20211230-git";
+    asds = [ "cl-data-structures-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-data-structures/2021-12-30/cl-data-structures-20211230-git.tgz";
+      sha256 = "1pxlgqbkg855vf6jfr2jjj9k85m1lrybwwjfs06xnbkm2a6gf6py";
+      system = "cl-data-structures-tests";
+      asd = "cl-data-structures-tests";
+    });
+    systems = [ "cl-data-structures-tests" ];
+    lispLibs = [ (getAttr "cl-data-structures" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-date-time-parser = {
+    pname = "cl-date-time-parser";
+    version = "20140713-git";
+    asds = [ "cl-date-time-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-date-time-parser/2014-07-13/cl-date-time-parser-20140713-git.tgz";
+      sha256 = "0dswpbbb57jm609xxfah25dxxhjzc7qh5lr1a1ffkpms84l0r7m5";
+      system = "cl-date-time-parser";
+      asd = "cl-date-time-parser";
+    });
+    systems = [ "cl-date-time-parser" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "local-time" pkgs) (getAttr "parse-float" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-dbi = {
+    pname = "cl-dbi";
+    version = "20211020-git";
+    asds = [ "cl-dbi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz";
+      sha256 = "0f8z7an8ssg8mdf9k781r4ygdppv798v6f08ibgpd8mv8a6491fg";
+      system = "cl-dbi";
+      asd = "cl-dbi";
+    });
+    systems = [ "cl-dbi" ];
+    lispLibs = [ (getAttr "dbi" pkgs) ];
+  };
+  cl-debug-print = {
+    pname = "cl-debug-print";
+    version = "20210807-git";
+    asds = [ "cl-debug-print" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-debug-print/2021-08-07/cl-debug-print-20210807-git.tgz";
+      sha256 = "1cm5nybmv0pq9s4lrwhd01rjj1wlcj1sjcrcakabi7w7b5zw4cyh";
+      system = "cl-debug-print";
+      asd = "cl-debug-print";
+    });
+    systems = [ "cl-debug-print" ];
+    lispLibs = [ (getAttr "cl-syntax" pkgs) ];
+  };
+  cl-debug-print-test = {
+    pname = "cl-debug-print-test";
+    version = "20210807-git";
+    asds = [ "cl-debug-print-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-debug-print/2021-08-07/cl-debug-print-20210807-git.tgz";
+      sha256 = "1cm5nybmv0pq9s4lrwhd01rjj1wlcj1sjcrcakabi7w7b5zw4cyh";
+      system = "cl-debug-print-test";
+      asd = "cl-debug-print-test";
+    });
+    systems = [ "cl-debug-print-test" ];
+    lispLibs = [ (getAttr "cl-debug-print" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-dejavu = {
+    pname = "cl-dejavu";
+    version = "20210124-git";
+    asds = [ "cl-dejavu" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dejavu/2021-01-24/cl-dejavu-20210124-git.tgz";
+      sha256 = "1lbxiq21bxj8r11c58cqskgn8gnl2p8q1ydkhdsv7i7xnhv2y7r0";
+      system = "cl-dejavu";
+      asd = "cl-dejavu";
+    });
+    systems = [ "cl-dejavu" ];
+    lispLibs = [  ];
+  };
+  cl-devil = {
+    pname = "cl-devil";
+    version = "20150302-git";
+    asds = [ "cl-devil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-devil/2015-03-02/cl-devil-20150302-git.tgz";
+      sha256 = "1qdjb7xwzjkv99s8q0834lfdq4ch5j2ymrmqsvwzhg47ys17pvvf";
+      system = "cl-devil";
+      asd = "cl-devil";
+    });
+    systems = [ "cl-devil" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) ];
+  };
+  cl-diceware = {
+    pname = "cl-diceware";
+    version = "20150923-git";
+    asds = [ "cl-diceware" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-diceware/2015-09-23/cl-diceware-20150923-git.tgz";
+      sha256 = "0560ji51ksp8kngn2pyi41vw9zlnwiqj64ici43lzjx0qgv5v84l";
+      system = "cl-diceware";
+      asd = "cl-diceware";
+    });
+    systems = [ "cl-diceware" ];
+    lispLibs = [  ];
+  };
+  cl-difflib = {
+    pname = "cl-difflib";
+    version = "20130128-git";
+    asds = [ "cl-difflib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-difflib/2013-01-28/cl-difflib-20130128-git.tgz";
+      sha256 = "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48";
+      system = "cl-difflib";
+      asd = "cl-difflib";
+    });
+    systems = [ "cl-difflib" ];
+    lispLibs = [  ];
+  };
+  cl-difflib-tests = {
+    pname = "cl-difflib-tests";
+    version = "20130128-git";
+    asds = [ "cl-difflib-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-difflib/2013-01-28/cl-difflib-20130128-git.tgz";
+      sha256 = "08if0abhqg191xcz9s7xv8faqq51nswzp8hw423fkqjzr24pmq48";
+      system = "cl-difflib-tests";
+      asd = "cl-difflib-tests";
+    });
+    systems = [ "cl-difflib-tests" ];
+    lispLibs = [ (getAttr "cl-difflib" pkgs) ];
+  };
+  cl-digraph = {
+    pname = "cl-digraph";
+    version = "20211020-hg";
+    asds = [ "cl-digraph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-digraph/2021-10-20/cl-digraph-20211020-hg.tgz";
+      sha256 = "1xzfrk86bp5k1d2kh4npnhmm8v4jy9dh0g0d2qcbz3n43j606zdp";
+      system = "cl-digraph";
+      asd = "cl-digraph";
+    });
+    systems = [ "cl-digraph" ];
+    lispLibs = [  ];
+  };
+  cl-digraph_dot_dot = {
+    pname = "cl-digraph.dot";
+    version = "20211020-hg";
+    asds = [ "cl-digraph.dot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-digraph/2021-10-20/cl-digraph-20211020-hg.tgz";
+      sha256 = "1xzfrk86bp5k1d2kh4npnhmm8v4jy9dh0g0d2qcbz3n43j606zdp";
+      system = "cl-digraph.dot";
+      asd = "cl-digraph.dot";
+    });
+    systems = [ "cl-digraph.dot" ];
+    lispLibs = [ (getAttr "cl-digraph" pkgs) (getAttr "cl-dot" pkgs) ];
+  };
+  cl-digraph_dot_test = {
+    pname = "cl-digraph.test";
+    version = "20211020-hg";
+    asds = [ "cl-digraph.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-digraph/2021-10-20/cl-digraph-20211020-hg.tgz";
+      sha256 = "1xzfrk86bp5k1d2kh4npnhmm8v4jy9dh0g0d2qcbz3n43j606zdp";
+      system = "cl-digraph.test";
+      asd = "cl-digraph.test";
+    });
+    systems = [ "cl-digraph.test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "alexandria" pkgs) (getAttr "cl-digraph" pkgs) ];
+  };
+  cl-diskspace = {
+    pname = "cl-diskspace";
+    version = "20180131-git";
+    asds = [ "cl-diskspace" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-diskspace/2018-01-31/cl-diskspace-20180131-git.tgz";
+      sha256 = "1wv4kq2j3vahbbssjw3py6fr4ci38myi4vypnlj6zymqiwkbnpxa";
+      system = "cl-diskspace";
+      asd = "cl-diskspace";
+    });
+    systems = [ "cl-diskspace" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-disque = {
+    pname = "cl-disque";
+    version = "20171227-git";
+    asds = [ "cl-disque" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-disque/2017-12-27/cl-disque-20171227-git.tgz";
+      sha256 = "0z26ls9vzlq43fwn307nb7xvqck5h3l9yygf93b0filki83krg3s";
+      system = "cl-disque";
+      asd = "cl-disque";
+    });
+    systems = [ "cl-disque" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "rutils" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-disque-test = {
+    pname = "cl-disque-test";
+    version = "20171227-git";
+    asds = [ "cl-disque-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-disque/2017-12-27/cl-disque-20171227-git.tgz";
+      sha256 = "0z26ls9vzlq43fwn307nb7xvqck5h3l9yygf93b0filki83krg3s";
+      system = "cl-disque-test";
+      asd = "cl-disque-test";
+    });
+    systems = [ "cl-disque-test" ];
+    lispLibs = [ (getAttr "cl-disque" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-dot = {
+    pname = "cl-dot";
+    version = "20200925-git";
+    asds = [ "cl-dot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dot/2020-09-25/cl-dot-20200925-git.tgz";
+      sha256 = "1vccfk3898ljwynmk50c5mjggclkxaki93zxh60dbmg68f5s2kzb";
+      system = "cl-dot";
+      asd = "cl-dot";
+    });
+    systems = [ "cl-dot" ];
+    lispLibs = [ (getAttr "uiop" pkgs) ];
+  };
+  cl-dotenv = {
+    pname = "cl-dotenv";
+    version = "20181018-git";
+    asds = [ "cl-dotenv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dotenv/2018-10-18/cl-dotenv-20181018-git.tgz";
+      sha256 = "0cdbk886aizsnqqs3z4jfn8nyrnxj4yb3y00av49xc4h83h6xn53";
+      system = "cl-dotenv";
+      asd = "cl-dotenv";
+    });
+    systems = [ "cl-dotenv" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  cl-dotenv-test = {
+    pname = "cl-dotenv-test";
+    version = "20181018-git";
+    asds = [ "cl-dotenv-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dotenv/2018-10-18/cl-dotenv-20181018-git.tgz";
+      sha256 = "0cdbk886aizsnqqs3z4jfn8nyrnxj4yb3y00av49xc4h83h6xn53";
+      system = "cl-dotenv-test";
+      asd = "cl-dotenv-test";
+    });
+    systems = [ "cl-dotenv-test" ];
+    lispLibs = [ (getAttr "cl-dotenv" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-drawille = {
+    pname = "cl-drawille";
+    version = "20210807-git";
+    asds = [ "cl-drawille" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-drawille/2021-08-07/cl-drawille-20210807-git.tgz";
+      sha256 = "0wmiz0c7h2zsfj7inzzn8jivnfsc94rq8pczfi44h36n2jg6hdys";
+      system = "cl-drawille";
+      asd = "cl-drawille";
+    });
+    systems = [ "cl-drawille" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "osicat" pkgs) ];
+  };
+  cl-drawille_slash_examples = {
+    pname = "cl-drawille_examples";
+    version = "20210807-git";
+    asds = [ "cl-drawille" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-drawille/2021-08-07/cl-drawille-20210807-git.tgz";
+      sha256 = "0wmiz0c7h2zsfj7inzzn8jivnfsc94rq8pczfi44h36n2jg6hdys";
+      system = "cl-drawille";
+      asd = "cl-drawille";
+    });
+    systems = [ "cl-drawille/examples" ];
+    lispLibs = [ (getAttr "cl-drawille" pkgs) ];
+  };
+  cl-drawille_slash_examples-animations = {
+    pname = "cl-drawille_examples-animations";
+    version = "20210807-git";
+    asds = [ "cl-drawille" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-drawille/2021-08-07/cl-drawille-20210807-git.tgz";
+      sha256 = "0wmiz0c7h2zsfj7inzzn8jivnfsc94rq8pczfi44h36n2jg6hdys";
+      system = "cl-drawille";
+      asd = "cl-drawille";
+    });
+    systems = [ "cl-drawille/examples-animations" ];
+    lispLibs = [ (getAttr "cl-charms" pkgs) (getAttr "cl-drawille" pkgs) ];
+  };
+  cl-drm = {
+    pname = "cl-drm";
+    version = "20161204-git";
+    asds = [ "cl-drm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-drm/2016-12-04/cl-drm-20161204-git.tgz";
+      sha256 = "018jsdi9hs71x14mq18k08hwrgdvvbc2yqbqww6gara0bg9cl3l6";
+      system = "cl-drm";
+      asd = "cl-drm";
+    });
+    systems = [ "cl-drm" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-dropbox = {
+    pname = "cl-dropbox";
+    version = "20150608-git";
+    asds = [ "cl-dropbox" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dropbox/2015-06-08/cl-dropbox-20150608-git.tgz";
+      sha256 = "09giwr1wlz42flrpy71gv60p53nixjk9jaj4lirgf59dkh718f9x";
+      system = "cl-dropbox";
+      asd = "cl-dropbox";
+    });
+    systems = [ "cl-dropbox" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "cl-oauth" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) ];
+  };
+  cl-dsl = {
+    pname = "cl-dsl";
+    version = "20130720-git";
+    asds = [ "cl-dsl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dsl/2013-07-20/cl-dsl-20130720-git.tgz";
+      sha256 = "1bj5yp20r8z6gi6rpf88kpy4i06c8i2d3cg5sjlq7d1ninkb4gg4";
+      system = "cl-dsl";
+      asd = "cl-dsl";
+    });
+    systems = [ "cl-dsl" ];
+    lispLibs = [  ];
+  };
+  cl-dsl-tests = {
+    pname = "cl-dsl-tests";
+    version = "20130720-git";
+    asds = [ "cl-dsl-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dsl/2013-07-20/cl-dsl-20130720-git.tgz";
+      sha256 = "1bj5yp20r8z6gi6rpf88kpy4i06c8i2d3cg5sjlq7d1ninkb4gg4";
+      system = "cl-dsl-tests";
+      asd = "cl-dsl";
+    });
+    systems = [ "cl-dsl-tests" ];
+    lispLibs = [ (getAttr "cl-dsl" pkgs) (getAttr "eos" pkgs) ];
+  };
+  cl-durian = {
+    pname = "cl-durian";
+    version = "20150608-git";
+    asds = [ "cl-durian" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-durian/2015-06-08/cl-durian-20150608-git.tgz";
+      sha256 = "0s89gr5gwwkyirrv7l5fzk9ws7fhy087c3myksblsh00z1xcrvng";
+      system = "cl-durian";
+      asd = "cl-durian";
+    });
+    systems = [ "cl-durian" ];
+    lispLibs = [  ];
+  };
+  cl-earley-parser = {
+    pname = "cl-earley-parser";
+    version = "20211020-git";
+    asds = [ "cl-earley-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-earley-parser/2021-10-20/cl-earley-parser-20211020-git.tgz";
+      sha256 = "1pkry3ynxn2y3nf13lc3zjqgf4hx43d9zb0w0m34s51xd4xp2h1x";
+      system = "cl-earley-parser";
+      asd = "cl-earley-parser";
+    });
+    systems = [ "cl-earley-parser" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) ];
+  };
+  cl-ecma-48 = {
+    pname = "cl-ecma-48";
+    version = "20200218-http";
+    asds = [ "cl-ecma-48" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ecma-48/2020-02-18/cl-ecma-48-20200218-http.tgz";
+      sha256 = "1y3srzahci25qp959b87m82d1i1i8jmq039yp9nf0hifxyhw6dgy";
+      system = "cl-ecma-48";
+      asd = "cl-ecma-48";
+    });
+    systems = [ "cl-ecma-48" ];
+    lispLibs = [  ];
+  };
+  cl-egl = {
+    pname = "cl-egl";
+    version = "20190521-git";
+    asds = [ "cl-egl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-egl/2019-05-21/cl-egl-20190521-git.tgz";
+      sha256 = "19shhzmdc9f1128slc9m4ns6zraka99awqgb4dkrwzgv7w3miqfl";
+      system = "cl-egl";
+      asd = "cl-egl";
+    });
+    systems = [ "cl-egl" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-elastic = {
+    pname = "cl-elastic";
+    version = "20200218-git";
+    asds = [ "cl-elastic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-elastic/2020-02-18/cl-elastic-20200218-git.tgz";
+      sha256 = "107ha226n3mxzvm0cp8kvgybcv4rr0b4lwik4f4j7lrhz6xvnncq";
+      system = "cl-elastic";
+      asd = "cl-elastic";
+    });
+    systems = [ "cl-elastic" ];
+    lispLibs = [ (getAttr "drakma" pkgs) (getAttr "named-readtables" pkgs) (getAttr "yason" pkgs) ];
+  };
+  cl-elastic-test = {
+    pname = "cl-elastic-test";
+    version = "20200218-git";
+    asds = [ "cl-elastic-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-elastic/2020-02-18/cl-elastic-20200218-git.tgz";
+      sha256 = "107ha226n3mxzvm0cp8kvgybcv4rr0b4lwik4f4j7lrhz6xvnncq";
+      system = "cl-elastic-test";
+      asd = "cl-elastic-test";
+    });
+    systems = [ "cl-elastic-test" ];
+    lispLibs = [ (getAttr "cl-elastic" pkgs) (getAttr "named-readtables" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  cl-emacs-if = {
+    pname = "cl-emacs-if";
+    version = "20120305-git";
+    asds = [ "cl-emacs-if" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-emacs-if/2012-03-05/cl-emacs-if-20120305-git.tgz";
+      sha256 = "0br3jvihq24ymqjn2r2qnl3l099r329bsqh18nmkk3yw3kclrcfv";
+      system = "cl-emacs-if";
+      asd = "cl-emacs-if";
+    });
+    systems = [ "cl-emacs-if" ];
+    lispLibs = [  ];
+  };
+  cl-emb = {
+    pname = "cl-emb";
+    version = "20190521-git";
+    asds = [ "cl-emb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-emb/2019-05-21/cl-emb-20190521-git.tgz";
+      sha256 = "1xcm31n7afh5316lwz8iqbjx7kn5lw0l11arg8mhdmkx42aj4gkk";
+      system = "cl-emb";
+      asd = "cl-emb";
+    });
+    systems = [ "cl-emb" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  cl-emoji = {
+    pname = "cl-emoji";
+    version = "20200218-git";
+    asds = [ "cl-emoji" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-emoji/2020-02-18/cl-emoji-20200218-git.tgz";
+      sha256 = "1v91kzx42qyjm936frvfsr0cgnj9g197x78xlda6x7x6xri2r9gm";
+      system = "cl-emoji";
+      asd = "cl-emoji";
+    });
+    systems = [ "cl-emoji" ];
+    lispLibs = [  ];
+  };
+  cl-emoji-test = {
+    pname = "cl-emoji-test";
+    version = "20200218-git";
+    asds = [ "cl-emoji-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-emoji/2020-02-18/cl-emoji-20200218-git.tgz";
+      sha256 = "1v91kzx42qyjm936frvfsr0cgnj9g197x78xlda6x7x6xri2r9gm";
+      system = "cl-emoji-test";
+      asd = "cl-emoji-test";
+    });
+    systems = [ "cl-emoji-test" ];
+    lispLibs = [ (getAttr "cl-emoji" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-env = {
+    pname = "cl-env";
+    version = "20180430-git";
+    asds = [ "cl-env" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-env/2018-04-30/cl-env-20180430-git.tgz";
+      sha256 = "1r0d004gr1za9ib53jhxkx315wd4av0ar2063dcvs9g4nahk2d07";
+      system = "cl-env";
+      asd = "cl-env";
+    });
+    systems = [ "cl-env" ];
+    lispLibs = [  ];
+  };
+  cl-env_slash_test = {
+    pname = "cl-env_test";
+    version = "20180430-git";
+    asds = [ "cl-env" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-env/2018-04-30/cl-env-20180430-git.tgz";
+      sha256 = "1r0d004gr1za9ib53jhxkx315wd4av0ar2063dcvs9g4nahk2d07";
+      system = "cl-env";
+      asd = "cl-env";
+    });
+    systems = [ "cl-env/test" ];
+    lispLibs = [ (getAttr "cl-env" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  cl-environments = {
+    pname = "cl-environments";
+    version = "20211020-git";
+    asds = [ "cl-environments" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-environments/2021-10-20/cl-environments-20211020-git.tgz";
+      sha256 = "0k3f1sldd6nwphz80vc4k28z9g56rylln4admag628cyswx4qz99";
+      system = "cl-environments";
+      asd = "cl-environments";
+    });
+    systems = [ "cl-environments" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "collectors" pkgs) (getAttr "optima" pkgs) (getAttr "parse-declarations-1_dot_0" pkgs) ];
+  };
+  cl-environments_slash_test = {
+    pname = "cl-environments_test";
+    version = "20211020-git";
+    asds = [ "cl-environments" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-environments/2021-10-20/cl-environments-20211020-git.tgz";
+      sha256 = "0k3f1sldd6nwphz80vc4k28z9g56rylln4admag628cyswx4qz99";
+      system = "cl-environments";
+      asd = "cl-environments";
+    });
+    systems = [ "cl-environments/test" ];
+    lispLibs = [ (getAttr "cl-environments" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-epoch = {
+    pname = "cl-epoch";
+    version = "20181210-git";
+    asds = [ "cl-epoch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-epoch/2018-12-10/cl-epoch-20181210-git.tgz";
+      sha256 = "091p6j5l85afzcm3m9myxzr8j3hiwh0iyj8w0sgld85n2ykbbird";
+      system = "cl-epoch";
+      asd = "cl-epoch";
+    });
+    systems = [ "cl-epoch" ];
+    lispLibs = [  ];
+  };
+  cl-etcd = {
+    pname = "cl-etcd";
+    version = "20211209-git";
+    asds = [ "cl-etcd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-etcd/2021-12-09/cl-etcd-20211209-git.tgz";
+      sha256 = "1mlanrdkrgprwnxshg0ylras7vswyfvggl8v7i4ylq5lnng4zx2n";
+      system = "cl-etcd";
+      asd = "cl-etcd";
+    });
+    systems = [ "cl-etcd" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "async-process" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "str" pkgs) (getAttr "drakma" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-events = {
+    pname = "cl-events";
+    version = "20160318-git";
+    asds = [ "cl-events" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-events/2016-03-18/cl-events-20160318-git.tgz";
+      sha256 = "1r847q1bwblnb2395dsydylr9nxgjx7gdwc9dx1051zhvi9in36g";
+      system = "cl-events";
+      asd = "cl-events";
+    });
+    systems = [ "cl-events" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "blackbird" pkgs) (getAttr "iterate" pkgs) (getAttr "log4cl" pkgs) (getAttr "lparallel" pkgs) ];
+  };
+  cl-events_dot_test = {
+    pname = "cl-events.test";
+    version = "20160318-git";
+    asds = [ "cl-events.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-events/2016-03-18/cl-events-20160318-git.tgz";
+      sha256 = "1r847q1bwblnb2395dsydylr9nxgjx7gdwc9dx1051zhvi9in36g";
+      system = "cl-events.test";
+      asd = "cl-events.test";
+    });
+    systems = [ "cl-events.test" ];
+    lispLibs = [ (getAttr "cl-events" pkgs) (getAttr "log4cl" pkgs) (getAttr "mw-equiv" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-ewkb = {
+    pname = "cl-ewkb";
+    version = "20110619-git";
+    asds = [ "cl-ewkb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ewkb/2011-06-19/cl-ewkb-20110619-git.tgz";
+      sha256 = "1mk5j34m9gkwl7c4d464l42gclxlrcpifp2nq41z3fsfl8badn6w";
+      system = "cl-ewkb";
+      asd = "cl-ewkb";
+    });
+    systems = [ "cl-ewkb" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) (getAttr "ieee-floats" pkgs) ];
+  };
+  cl-ewkb-tests = {
+    pname = "cl-ewkb-tests";
+    version = "20110619-git";
+    asds = [ "cl-ewkb-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ewkb/2011-06-19/cl-ewkb-20110619-git.tgz";
+      sha256 = "1mk5j34m9gkwl7c4d464l42gclxlrcpifp2nq41z3fsfl8badn6w";
+      system = "cl-ewkb-tests";
+      asd = "cl-ewkb";
+    });
+    systems = [ "cl-ewkb-tests" ];
+    lispLibs = [ (getAttr "cl-ewkb" pkgs) (getAttr "postmodern" pkgs) ];
+  };
+  cl-factoring = {
+    pname = "cl-factoring";
+    version = "20180430-git";
+    asds = [ "cl-factoring" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-factoring/2018-04-30/cl-factoring-20180430-git.tgz";
+      sha256 = "0vn3kb8mmi93pr76lx1mbwp7qc2krzb0ayzcrffwq2aw2q201fhd";
+      system = "cl-factoring";
+      asd = "cl-factoring";
+    });
+    systems = [ "cl-factoring" ];
+    lispLibs = [ (getAttr "cl-primality" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-factoring-test = {
+    pname = "cl-factoring-test";
+    version = "20180430-git";
+    asds = [ "cl-factoring-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-factoring/2018-04-30/cl-factoring-20180430-git.tgz";
+      sha256 = "0vn3kb8mmi93pr76lx1mbwp7qc2krzb0ayzcrffwq2aw2q201fhd";
+      system = "cl-factoring-test";
+      asd = "cl-factoring-test";
+    });
+    systems = [ "cl-factoring-test" ];
+    lispLibs = [ (getAttr "cl-factoring" pkgs) (getAttr "cl-primality" pkgs) (getAttr "iterate" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  cl-fad = {
+    pname = "cl-fad";
+    version = "20210124-git";
+    asds = [ "cl-fad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fad/2021-01-24/cl-fad-20210124-git.tgz";
+      sha256 = "049laj8an6g9bh0m0cn0bxhq313p8qq1h37cil15l66147ad8slc";
+      system = "cl-fad";
+      asd = "cl-fad";
+    });
+    systems = [ "cl-fad" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) ];
+  };
+  cl-fad-test = {
+    pname = "cl-fad-test";
+    version = "20210124-git";
+    asds = [ "cl-fad-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fad/2021-01-24/cl-fad-20210124-git.tgz";
+      sha256 = "049laj8an6g9bh0m0cn0bxhq313p8qq1h37cil15l66147ad8slc";
+      system = "cl-fad-test";
+      asd = "cl-fad";
+    });
+    systems = [ "cl-fad-test" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "unit-test" pkgs) ];
+  };
+  cl-fam = {
+    pname = "cl-fam";
+    version = "20121125-git";
+    asds = [ "cl-fam" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fam/2012-11-25/cl-fam-20121125-git.tgz";
+      sha256 = "1imv87imhxvigghx3l28kbsldz6hpqd32280wjwffqwvadhx0gng";
+      system = "cl-fam";
+      asd = "cl-fam";
+    });
+    systems = [ "cl-fam" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-fastcgi = {
+    pname = "cl-fastcgi";
+    version = "20210124-git";
+    asds = [ "cl-fastcgi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fastcgi/2021-01-24/cl-fastcgi-20210124-git.tgz";
+      sha256 = "0xgmhx766q4nmrvn5z7ag3ikpr9phlh8ypi8b14azshq9lqbq0m7";
+      system = "cl-fastcgi";
+      asd = "cl-fastcgi";
+    });
+    systems = [ "cl-fastcgi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-fbclient = {
+    pname = "cl-fbclient";
+    version = "20140113-git";
+    asds = [ "cl-fbclient" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fbclient/2014-01-13/cl-fbclient-20140113-git.tgz";
+      sha256 = "1q2dwizrjnal3fdcdgim4kdq0dma71p3s8w6i8bjkg4fs49k5p9j";
+      system = "cl-fbclient";
+      asd = "cl-fbclient";
+    });
+    systems = [ "cl-fbclient" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-feedparser = {
+    pname = "cl-feedparser";
+    version = "20211020-git";
+    asds = [ "cl-feedparser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-feedparser/2021-10-20/cl-feedparser-20211020-git.tgz";
+      sha256 = "1g84w89c04d1r734bmrrmy0kazm8d5di85434byf319dq8zma29v";
+      system = "cl-feedparser";
+      asd = "cl-feedparser";
+    });
+    systems = [ "cl-feedparser" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "asdf-package-system" pkgs) (getAttr "cl-html5-parser" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "fset" pkgs) (getAttr "fxml" pkgs) (getAttr "local-time" pkgs) (getAttr "net-telent-date" pkgs) (getAttr "plump" pkgs) (getAttr "quri" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  cl-feedparser-tests = {
+    pname = "cl-feedparser-tests";
+    version = "20211020-git";
+    asds = [ "cl-feedparser-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-feedparser/2021-10-20/cl-feedparser-20211020-git.tgz";
+      sha256 = "1g84w89c04d1r734bmrrmy0kazm8d5di85434byf319dq8zma29v";
+      system = "cl-feedparser-tests";
+      asd = "cl-feedparser-tests";
+    });
+    systems = [ "cl-feedparser-tests" ];
+    lispLibs = [ (getAttr "cl-feedparser" pkgs) (getAttr "fiveam" pkgs) (getAttr "fxml" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  cl-feedparser_slash_test = {
+    pname = "cl-feedparser_test";
+    version = "20211020-git";
+    asds = [ "cl-feedparser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-feedparser/2021-10-20/cl-feedparser-20211020-git.tgz";
+      sha256 = "1g84w89c04d1r734bmrrmy0kazm8d5di85434byf319dq8zma29v";
+      system = "cl-feedparser";
+      asd = "cl-feedparser";
+    });
+    systems = [ "cl-feedparser/test" ];
+    lispLibs = [ (getAttr "cl-feedparser" pkgs) (getAttr "fiveam" pkgs) (getAttr "fxml" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  cl-fix = {
+    pname = "cl-fix";
+    version = "20200925-git";
+    asds = [ "cl-fix" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fix/2020-09-25/cl-fix-20200925-git.tgz";
+      sha256 = "1dw528f98py1m61xgxb8a8qr9qv4l1vra4fb60l26dzbcfdl4wbg";
+      system = "cl-fix";
+      asd = "cl-fix";
+    });
+    systems = [ "cl-fix" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "arrow-macros" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "local-time" pkgs) (getAttr "log4cl" pkgs) (getAttr "parse-number" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-fix_slash_fix44 = {
+    pname = "cl-fix_fix44";
+    version = "20200925-git";
+    asds = [ "cl-fix" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fix/2020-09-25/cl-fix-20200925-git.tgz";
+      sha256 = "1dw528f98py1m61xgxb8a8qr9qv4l1vra4fb60l26dzbcfdl4wbg";
+      system = "cl-fix";
+      asd = "cl-fix";
+    });
+    systems = [ "cl-fix/fix44" ];
+    lispLibs = [ (getAttr "cl-fix" pkgs) ];
+  };
+  cl-fix_slash_test = {
+    pname = "cl-fix_test";
+    version = "20200925-git";
+    asds = [ "cl-fix" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fix/2020-09-25/cl-fix-20200925-git.tgz";
+      sha256 = "1dw528f98py1m61xgxb8a8qr9qv4l1vra4fb60l26dzbcfdl4wbg";
+      system = "cl-fix";
+      asd = "cl-fix";
+    });
+    systems = [ "cl-fix/test" ];
+    lispLibs = [ (getAttr "cl-fix" pkgs) (getAttr "fiveam" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cl-fixtures = {
+    pname = "cl-fixtures";
+    version = "20200325-git";
+    asds = [ "cl-fixtures" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fixtures/2020-03-25/cl-fixtures-20200325-git.tgz";
+      sha256 = "01z8brw32lv8lqn6r9srwrna5gkd4cyncpbpg6pc0khgdxzpzaag";
+      system = "cl-fixtures";
+      asd = "cl-fixtures";
+    });
+    systems = [ "cl-fixtures" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cl-fixtures-test = {
+    pname = "cl-fixtures-test";
+    version = "20200325-git";
+    asds = [ "cl-fixtures-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fixtures/2020-03-25/cl-fixtures-20200325-git.tgz";
+      sha256 = "01z8brw32lv8lqn6r9srwrna5gkd4cyncpbpg6pc0khgdxzpzaag";
+      system = "cl-fixtures-test";
+      asd = "cl-fixtures-test";
+    });
+    systems = [ "cl-fixtures-test" ];
+    lispLibs = [ (getAttr "cl-fixtures" pkgs) (getAttr "incf-cl" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "rutils" pkgs) ];
+  };
+  cl-flac = {
+    pname = "cl-flac";
+    version = "20190710-git";
+    asds = [ "cl-flac" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-flac/2019-07-10/cl-flac-20190710-git.tgz";
+      sha256 = "1dgr5xqf175hzq3sxpbixxia2k2g3rz0pn6msch4dnvk7a1naqlc";
+      system = "cl-flac";
+      asd = "cl-flac";
+    });
+    systems = [ "cl-flac" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-flow = {
+    pname = "cl-flow";
+    version = "stable-git";
+    asds = [ "cl-flow" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-flow/2020-10-16/cl-flow-stable-git.tgz";
+      sha256 = "00bwdyfyzh6znadz0gz1h9j479hghidkbabfx417g5bzgpzn572g";
+      system = "cl-flow";
+      asd = "cl-flow";
+    });
+    systems = [ "cl-flow" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-muth" pkgs) ];
+  };
+  cl-flow_slash_tests = {
+    pname = "cl-flow_tests";
+    version = "stable-git";
+    asds = [ "cl-flow" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-flow/2020-10-16/cl-flow-stable-git.tgz";
+      sha256 = "00bwdyfyzh6znadz0gz1h9j479hghidkbabfx417g5bzgpzn572g";
+      system = "cl-flow";
+      asd = "cl-flow";
+    });
+    systems = [ "cl-flow/tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-flow" pkgs) (getAttr "cl-muth" pkgs) (getAttr "fiveam" pkgs) (getAttr "simple-flow-dispatcher" pkgs) ];
+  };
+  cl-flowd = {
+    pname = "cl-flowd";
+    version = "20140713-git";
+    asds = [ "cl-flowd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-flowd/2014-07-13/cl-flowd-20140713-git.tgz";
+      sha256 = "0qppiqgy4fgvkm519bqjrw1mfp90q8fs1spvawf24d1nzslf51pj";
+      system = "cl-flowd";
+      asd = "cl-flowd";
+    });
+    systems = [ "cl-flowd" ];
+    lispLibs = [ (getAttr "cl-annot" pkgs) ];
+  };
+  cl-fluent-logger = {
+    pname = "cl-fluent-logger";
+    version = "20211020-git";
+    asds = [ "cl-fluent-logger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fluent-logger/2021-10-20/cl-fluent-logger-20211020-git.tgz";
+      sha256 = "14q7ymdg3hsri2z2c8fb1syqgdlk8b288v4gw645dbaxfpava2qq";
+      system = "cl-fluent-logger";
+      asd = "cl-fluent-logger";
+    });
+    systems = [ "cl-fluent-logger" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-messagepack" pkgs) (getAttr "jonathan" pkgs) (getAttr "local-time" pkgs) (getAttr "pack" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-fluiddb = {
+    pname = "cl-fluiddb";
+    version = "20130312-git";
+    asds = [ "cl-fluiddb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fluidinfo/2013-03-12/cl-fluidinfo-20130312-git.tgz";
+      sha256 = "0npkkp2w88f6vb9pckjp4q4d4idx9p2s4s4imljs2vfym2j3w0wb";
+      system = "cl-fluiddb";
+      asd = "cl-fluiddb";
+    });
+    systems = [ "cl-fluiddb" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-json" pkgs) (getAttr "drakma" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-fluiddb-test = {
+    pname = "cl-fluiddb-test";
+    version = "20130312-git";
+    asds = [ "cl-fluiddb-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fluidinfo/2013-03-12/cl-fluidinfo-20130312-git.tgz";
+      sha256 = "0npkkp2w88f6vb9pckjp4q4d4idx9p2s4s4imljs2vfym2j3w0wb";
+      system = "cl-fluiddb-test";
+      asd = "cl-fluiddb-test";
+    });
+    systems = [ "cl-fluiddb-test" ];
+    lispLibs = [ (getAttr "cl-fluiddb" pkgs) (getAttr "lift" pkgs) ];
+  };
+  cl-fluidinfo = {
+    pname = "cl-fluidinfo";
+    version = "20130312-git";
+    asds = [ "cl-fluidinfo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fluidinfo/2013-03-12/cl-fluidinfo-20130312-git.tgz";
+      sha256 = "0npkkp2w88f6vb9pckjp4q4d4idx9p2s4s4imljs2vfym2j3w0wb";
+      system = "cl-fluidinfo";
+      asd = "cl-fluidinfo";
+    });
+    systems = [ "cl-fluidinfo" ];
+    lispLibs = [ (getAttr "cl-fluiddb" pkgs) ];
+  };
+  cl-fond = {
+    pname = "cl-fond";
+    version = "20191130-git";
+    asds = [ "cl-fond" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fond/2019-11-30/cl-fond-20191130-git.tgz";
+      sha256 = "03ygcw1azb44bhdsqcq99xi4ci0by76ap5jf5l2d1vfxq04v8grq";
+      system = "cl-fond";
+      asd = "cl-fond";
+    });
+    systems = [ "cl-fond" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-form-types = {
+    pname = "cl-form-types";
+    version = "20211230-git";
+    asds = [ "cl-form-types" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-form-types/2021-12-30/cl-form-types-20211230-git.tgz";
+      sha256 = "1x3zx3r4mhbbi8pwb251czbb8fj1yv77ab16crg5k1fachf2016l";
+      system = "cl-form-types";
+      asd = "cl-form-types";
+    });
+    systems = [ "cl-form-types" ];
+    lispLibs = [ (getAttr "agutil" pkgs) (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "arrows" pkgs) (getAttr "cl-environments" pkgs) (getAttr "introspect-environment" pkgs) (getAttr "optima" pkgs) ];
+  };
+  cl-form-types_slash_test = {
+    pname = "cl-form-types_test";
+    version = "20211230-git";
+    asds = [ "cl-form-types" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-form-types/2021-12-30/cl-form-types-20211230-git.tgz";
+      sha256 = "1x3zx3r4mhbbi8pwb251czbb8fj1yv77ab16crg5k1fachf2016l";
+      system = "cl-form-types";
+      asd = "cl-form-types";
+    });
+    systems = [ "cl-form-types/test" ];
+    lispLibs = [ (getAttr "cl-form-types" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-forms = {
+    pname = "cl-forms";
+    version = "20211020-git";
+    asds = [ "cl-forms" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-forms/2021-10-20/cl-forms-20211020-git.tgz";
+      sha256 = "1sq6cd40j223ydsz9z1043dn6bxifk4s6w5x2cb75sx8g964775w";
+      system = "cl-forms";
+      asd = "cl-forms";
+    });
+    systems = [ "cl-forms" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "clavier" pkgs) (getAttr "fmt" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "ironclad" pkgs) (getAttr "uuid" pkgs) ];
+  };
+  cl-forms_dot_demo = {
+    pname = "cl-forms.demo";
+    version = "20211020-git";
+    asds = [ "cl-forms.demo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-forms/2021-10-20/cl-forms-20211020-git.tgz";
+      sha256 = "1sq6cd40j223ydsz9z1043dn6bxifk4s6w5x2cb75sx8g964775w";
+      system = "cl-forms.demo";
+      asd = "cl-forms.demo";
+    });
+    systems = [ "cl-forms.demo" ];
+    lispLibs = [ (getAttr "cl-css" pkgs) (getAttr "cl-forms" pkgs) (getAttr "cl-forms_dot_djula" pkgs) (getAttr "cl-forms_dot_test" pkgs) (getAttr "cl-forms_dot_who" pkgs) (getAttr "cl-forms_dot_who_dot_bootstrap" pkgs) (getAttr "cl-who" pkgs) (getAttr "djula" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  cl-forms_dot_djula = {
+    pname = "cl-forms.djula";
+    version = "20211020-git";
+    asds = [ "cl-forms.djula" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-forms/2021-10-20/cl-forms-20211020-git.tgz";
+      sha256 = "1sq6cd40j223ydsz9z1043dn6bxifk4s6w5x2cb75sx8g964775w";
+      system = "cl-forms.djula";
+      asd = "cl-forms.djula";
+    });
+    systems = [ "cl-forms.djula" ];
+    lispLibs = [ (getAttr "cl-forms" pkgs) (getAttr "cl-forms_dot_who" pkgs) (getAttr "djula" pkgs) ];
+  };
+  cl-forms_dot_peppol = {
+    pname = "cl-forms.peppol";
+    version = "20211020-git";
+    asds = [ "cl-forms.peppol" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-forms/2021-10-20/cl-forms-20211020-git.tgz";
+      sha256 = "1sq6cd40j223ydsz9z1043dn6bxifk4s6w5x2cb75sx8g964775w";
+      system = "cl-forms.peppol";
+      asd = "cl-forms.peppol";
+    });
+    systems = [ "cl-forms.peppol" ];
+    lispLibs = [ (getAttr "cl-forms" pkgs) (getAttr "peppol" pkgs) ];
+  };
+  cl-forms_dot_test = {
+    pname = "cl-forms.test";
+    version = "20211020-git";
+    asds = [ "cl-forms.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-forms/2021-10-20/cl-forms-20211020-git.tgz";
+      sha256 = "1sq6cd40j223ydsz9z1043dn6bxifk4s6w5x2cb75sx8g964775w";
+      system = "cl-forms.test";
+      asd = "cl-forms.test";
+    });
+    systems = [ "cl-forms.test" ];
+    lispLibs = [ (getAttr "cl-forms" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-forms_dot_who = {
+    pname = "cl-forms.who";
+    version = "20211020-git";
+    asds = [ "cl-forms.who" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-forms/2021-10-20/cl-forms-20211020-git.tgz";
+      sha256 = "1sq6cd40j223ydsz9z1043dn6bxifk4s6w5x2cb75sx8g964775w";
+      system = "cl-forms.who";
+      asd = "cl-forms.who";
+    });
+    systems = [ "cl-forms.who" ];
+    lispLibs = [ (getAttr "cl-forms" pkgs) (getAttr "cl-who" pkgs) ];
+  };
+  cl-forms_dot_who_dot_bootstrap = {
+    pname = "cl-forms.who.bootstrap";
+    version = "20211020-git";
+    asds = [ "cl-forms.who.bootstrap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-forms/2021-10-20/cl-forms-20211020-git.tgz";
+      sha256 = "1sq6cd40j223ydsz9z1043dn6bxifk4s6w5x2cb75sx8g964775w";
+      system = "cl-forms.who.bootstrap";
+      asd = "cl-forms.who.bootstrap";
+    });
+    systems = [ "cl-forms.who.bootstrap" ];
+    lispLibs = [ (getAttr "cl-forms_dot_who" pkgs) ];
+  };
+  cl-freeimage = {
+    pname = "cl-freeimage";
+    version = "20170403-git";
+    asds = [ "cl-freeimage" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-freeimage/2017-04-03/cl-freeimage-20170403-git.tgz";
+      sha256 = "1333i8sh670nkb0c35xp511xjlafn5zh8a6gk3wnh19gffvj63hq";
+      system = "cl-freeimage";
+      asd = "cl-freeimage";
+    });
+    systems = [ "cl-freeimage" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-freetype2 = {
+    pname = "cl-freetype2";
+    version = "20191007-git";
+    asds = [ "cl-freetype2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-freetype2/2019-10-07/cl-freetype2-20191007-git.tgz";
+      sha256 = "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl";
+      system = "cl-freetype2";
+      asd = "cl-freetype2";
+    });
+    systems = [ "cl-freetype2" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-freetype2-tests = {
+    pname = "cl-freetype2-tests";
+    version = "20191007-git";
+    asds = [ "cl-freetype2-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-freetype2/2019-10-07/cl-freetype2-20191007-git.tgz";
+      sha256 = "0f8darhairgxnb5bzqcny7nh7ss3471bdzix5rzcyiwdbr5kymjl";
+      system = "cl-freetype2-tests";
+      asd = "cl-freetype2-tests";
+    });
+    systems = [ "cl-freetype2-tests" ];
+    lispLibs = [ (getAttr "cl-freetype2" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-fsnotify = {
+    pname = "cl-fsnotify";
+    version = "20150302-git";
+    asds = [ "cl-fsnotify" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fsnotify/2015-03-02/cl-fsnotify-20150302-git.tgz";
+      sha256 = "0693ga1xqcvi89j3aw0lmyi3a1yl3hrfwli2jiwxv0mgpcaxz0yr";
+      system = "cl-fsnotify";
+      asd = "cl-fsnotify";
+    });
+    systems = [ "cl-fsnotify" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  cl-ftp = {
+    pname = "cl-ftp";
+    version = "20150608-http";
+    asds = [ "cl-ftp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ftp/2015-06-08/cl-ftp-20150608-http.tgz";
+      sha256 = "1m955rjpaynybzmb9q631mll764hm06lydvhra50mfjj75ynwsvw";
+      system = "cl-ftp";
+      asd = "cl-ftp";
+    });
+    systems = [ "cl-ftp" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-fuse = {
+    pname = "cl-fuse";
+    version = "20200925-git";
+    asds = [ "cl-fuse" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fuse/2020-09-25/cl-fuse-20200925-git.tgz";
+      sha256 = "1qxvf8ybn0v1hiaz11k1h47y0dksj8ah9v8jdfrjp9ad1rrrnxqs";
+      system = "cl-fuse";
+      asd = "cl-fuse";
+    });
+    systems = [ "cl-fuse" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cl-utilities" pkgs) (getAttr "iterate" pkgs) (getAttr "trivial-backtrace" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  cl-fuse-meta-fs = {
+    pname = "cl-fuse-meta-fs";
+    version = "20190710-git";
+    asds = [ "cl-fuse-meta-fs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fuse-meta-fs/2019-07-10/cl-fuse-meta-fs-20190710-git.tgz";
+      sha256 = "1wbi7lvczfn09qb72rg1bps9w51mz42dwa7lyjl2hp8lbwc2a5a9";
+      system = "cl-fuse-meta-fs";
+      asd = "cl-fuse-meta-fs";
+    });
+    systems = [ "cl-fuse-meta-fs" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-fuse" pkgs) (getAttr "iterate" pkgs) (getAttr "pcall" pkgs) ];
+  };
+  cl-fuzz = {
+    pname = "cl-fuzz";
+    version = "20181018-git";
+    asds = [ "cl-fuzz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fuzz/2018-10-18/cl-fuzz-20181018-git.tgz";
+      sha256 = "1zvlh0nh4iip75p6dblx5kajqaa3hhv6mdjbx9cids8491r388rz";
+      system = "cl-fuzz";
+      asd = "cl-fuzz";
+    });
+    systems = [ "cl-fuzz" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cl-fxml = {
+    pname = "cl-fxml";
+    version = "20210228-git";
+    asds = [ "cl-fxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-fxml/2021-02-28/cl-fxml-20210228-git.tgz";
+      sha256 = "16jcdcsqm5z3a1cmxg1zd0ywialyxnnkjx56c8y2qdxzpqx36c0m";
+      system = "cl-fxml";
+      asd = "cl-fxml";
+    });
+    systems = [ "cl-fxml" ];
+    lispLibs = [ (getAttr "agnostic-lizard" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  cl-gamepad = {
+    pname = "cl-gamepad";
+    version = "20211209-git";
+    asds = [ "cl-gamepad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gamepad/2021-12-09/cl-gamepad-20211209-git.tgz";
+      sha256 = "0xfivvbd0cckpapwqs5695q0nnqjbsm623p3af13v6l2j93d6wva";
+      system = "cl-gamepad";
+      asd = "cl-gamepad";
+    });
+    systems = [ "cl-gamepad" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  cl-gap-buffer = {
+    pname = "cl-gap-buffer";
+    version = "20190307-hg";
+    asds = [ "cl-gap-buffer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gap-buffer/2019-03-07/cl-gap-buffer-20190307-hg.tgz";
+      sha256 = "0n46vbjsqva0ik5m4bh9k9vzzvixw755vql2bagq0sdxchmri2gw";
+      system = "cl-gap-buffer";
+      asd = "cl-gap-buffer";
+    });
+    systems = [ "cl-gap-buffer" ];
+    lispLibs = [  ];
+  };
+  cl-gbm = {
+    pname = "cl-gbm";
+    version = "20180430-git";
+    asds = [ "cl-gbm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gbm/2018-04-30/cl-gbm-20180430-git.tgz";
+      sha256 = "14bshi7q1hhyag8va9javjjn5cnhmwyjlw8vvvb4fyzfspz3kpdx";
+      system = "cl-gbm";
+      asd = "cl-gbm";
+    });
+    systems = [ "cl-gbm" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-gcrypt = {
+    pname = "cl-gcrypt";
+    version = "20211209-git";
+    asds = [ "cl-gcrypt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gcrypt/2021-12-09/cl-gcrypt-20211209-git.tgz";
+      sha256 = "1f4gx5ssirr4f3n68i2da6ad7hbhgsk18zv0gfqy3q635zai0z3w";
+      system = "cl-gcrypt";
+      asd = "cl-gcrypt";
+    });
+    systems = [ "cl-gcrypt" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-gcrypt-test = {
+    pname = "cl-gcrypt-test";
+    version = "20211209-git";
+    asds = [ "cl-gcrypt-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gcrypt/2021-12-09/cl-gcrypt-20211209-git.tgz";
+      sha256 = "1f4gx5ssirr4f3n68i2da6ad7hbhgsk18zv0gfqy3q635zai0z3w";
+      system = "cl-gcrypt-test";
+      asd = "cl-gcrypt-test";
+    });
+    systems = [ "cl-gcrypt-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-gcrypt" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-gd = {
+    pname = "cl-gd";
+    version = "20201220-git";
+    asds = [ "cl-gd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gd/2020-12-20/cl-gd-20201220-git.tgz";
+      sha256 = "1wa6nv5bdf0v38hzr6cfadkk6mhvvnj9lpl9igcxygdjbnn2a3y6";
+      system = "cl-gd";
+      asd = "cl-gd";
+    });
+    systems = [ "cl-gd" ];
+    lispLibs = [ (getAttr "uffi" pkgs) ];
+  };
+  cl-gd-test = {
+    pname = "cl-gd-test";
+    version = "20201220-git";
+    asds = [ "cl-gd-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gd/2020-12-20/cl-gd-20201220-git.tgz";
+      sha256 = "1wa6nv5bdf0v38hzr6cfadkk6mhvvnj9lpl9igcxygdjbnn2a3y6";
+      system = "cl-gd-test";
+      asd = "cl-gd-test";
+    });
+    systems = [ "cl-gd-test" ];
+    lispLibs = [ (getAttr "cl-gd" pkgs) ];
+  };
+  cl-gdata = {
+    pname = "cl-gdata";
+    version = "20171130-git";
+    asds = [ "cl-gdata" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gdata/2017-11-30/cl-gdata-20171130-git.tgz";
+      sha256 = "0x2sq03nacjbq7p9baxlhr7bb0xg7v1ljq7qj1b3xrd4rbcibxi9";
+      system = "cl-gdata";
+      asd = "cl-gdata";
+    });
+    systems = [ "cl-gdata" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "cxml" pkgs) (getAttr "drakma" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "gzip-stream" pkgs) (getAttr "local-time" pkgs) (getAttr "parse-number" pkgs) (getAttr "xpath" pkgs) (getAttr "split-sequence" pkgs) (getAttr "string-case" pkgs) (getAttr "trivial-utf-8" pkgs) (getAttr "url-rewrite" pkgs) ];
+  };
+  cl-gearman = {
+    pname = "cl-gearman";
+    version = "20211020-git";
+    asds = [ "cl-gearman" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gearman/2021-10-20/cl-gearman-20211020-git.tgz";
+      sha256 = "0cnkpqn43p55xlhdi8bws2ssa1ahvzbgggh3pam0zbqma2m525j6";
+      system = "cl-gearman";
+      asd = "cl-gearman";
+    });
+    systems = [ "cl-gearman" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "split-sequence" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-gearman-test = {
+    pname = "cl-gearman-test";
+    version = "20211020-git";
+    asds = [ "cl-gearman-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gearman/2021-10-20/cl-gearman-20211020-git.tgz";
+      sha256 = "0cnkpqn43p55xlhdi8bws2ssa1ahvzbgggh3pam0zbqma2m525j6";
+      system = "cl-gearman-test";
+      asd = "cl-gearman-test";
+    });
+    systems = [ "cl-gearman-test" ];
+    lispLibs = [ (getAttr "cl-gearman" pkgs) (getAttr "cl-test-more" pkgs) ];
+  };
+  cl-gendoc = {
+    pname = "cl-gendoc";
+    version = "20180831-git";
+    asds = [ "cl-gendoc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gendoc/2018-08-31/cl-gendoc-20180831-git.tgz";
+      sha256 = "19f8fmz2hj332kh3y3fbil2dchpckdsqci6ljhadymd8p2h6w4ws";
+      system = "cl-gendoc";
+      asd = "cl-gendoc";
+    });
+    systems = [ "cl-gendoc" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "_3bmd-ext-code-blocks" pkgs) (getAttr "cl-who" pkgs) ];
+  };
+  cl-gendoc-docs = {
+    pname = "cl-gendoc-docs";
+    version = "20180831-git";
+    asds = [ "cl-gendoc-docs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gendoc/2018-08-31/cl-gendoc-20180831-git.tgz";
+      sha256 = "19f8fmz2hj332kh3y3fbil2dchpckdsqci6ljhadymd8p2h6w4ws";
+      system = "cl-gendoc-docs";
+      asd = "cl-gendoc";
+    });
+    systems = [ "cl-gendoc-docs" ];
+    lispLibs = [ (getAttr "cl-gendoc" pkgs) ];
+  };
+  cl-gene-searcher = {
+    pname = "cl-gene-searcher";
+    version = "20111001-git";
+    asds = [ "cl-gene-searcher" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gene-searcher/2011-10-01/cl-gene-searcher-20111001-git.tgz";
+      sha256 = "0n8p6yk600h7m050bjxazmcxdrcfrkcklrcj8ncflyshm72qv1yk";
+      system = "cl-gene-searcher";
+      asd = "cl-gene-searcher";
+    });
+    systems = [ "cl-gene-searcher" ];
+    lispLibs = [ (getAttr "clsql-sqlite3" pkgs) ];
+  };
+  cl-generator = {
+    pname = "cl-generator";
+    version = "20190307-git";
+    asds = [ "cl-generator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-generator/2019-03-07/cl-generator-20190307-git.tgz";
+      sha256 = "10yw3nnjc3dm0pkry35ybgi3pq30c2fh4x1aa95xxawi3xc5g280";
+      system = "cl-generator";
+      asd = "cl-generator";
+    });
+    systems = [ "cl-generator" ];
+    lispLibs = [ (getAttr "cl-cont" pkgs) ];
+  };
+  cl-generator-test = {
+    pname = "cl-generator-test";
+    version = "20190307-git";
+    asds = [ "cl-generator-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-generator/2019-03-07/cl-generator-20190307-git.tgz";
+      sha256 = "10yw3nnjc3dm0pkry35ybgi3pq30c2fh4x1aa95xxawi3xc5g280";
+      system = "cl-generator-test";
+      asd = "cl-generator-test";
+    });
+    systems = [ "cl-generator-test" ];
+    lispLibs = [ (getAttr "cl-generator" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  cl-geocode = {
+    pname = "cl-geocode";
+    version = "20190813-git";
+    asds = [ "cl-geocode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-geocode/2019-08-13/cl-geocode-20190813-git.tgz";
+      sha256 = "17z0v29rrhsfjikg4sn9ynxckh5i3ahjn7c8qs381n1p9fbd668l";
+      system = "cl-geocode";
+      asd = "cl-geocode";
+    });
+    systems = [ "cl-geocode" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "acl-compat" pkgs) (getAttr "aserve" pkgs) ];
+  };
+  cl-geoip = {
+    pname = "cl-geoip";
+    version = "20130615-git";
+    asds = [ "cl-geoip" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-geoip/2013-06-15/cl-geoip-20130615-git.tgz";
+      sha256 = "0ys8wysppx06j3s0dc9lc9zjizr1fmj388fiigyn1wrdyyka41y2";
+      system = "cl-geoip";
+      asd = "cl-geoip";
+    });
+    systems = [ "cl-geoip" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-geometry = {
+    pname = "cl-geometry";
+    version = "20160531-git";
+    asds = [ "cl-geometry" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-geometry/2016-05-31/cl-geometry-20160531-git.tgz";
+      sha256 = "188xrd8plvc34gz7q01zmkdrzxbpwzln103l5dl78pa4a6vzz34h";
+      system = "cl-geometry";
+      asd = "cl-geometry";
+    });
+    systems = [ "cl-geometry" ];
+    lispLibs = [ (getAttr "iterate" pkgs) (getAttr "trees" pkgs) ];
+  };
+  cl-geometry-tests = {
+    pname = "cl-geometry-tests";
+    version = "20160531-git";
+    asds = [ "cl-geometry-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-geometry/2016-05-31/cl-geometry-20160531-git.tgz";
+      sha256 = "188xrd8plvc34gz7q01zmkdrzxbpwzln103l5dl78pa4a6vzz34h";
+      system = "cl-geometry-tests";
+      asd = "cl-geometry-tests";
+    });
+    systems = [ "cl-geometry-tests" ];
+    lispLibs = [ (getAttr "cl-geometry" pkgs) (getAttr "iterate" pkgs) (getAttr "vecto" pkgs) ];
+  };
+  cl-geos = {
+    pname = "cl-geos";
+    version = "20180711-git";
+    asds = [ "cl-geos" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-geos/2018-07-11/cl-geos-20180711-git.tgz";
+      sha256 = "0igq2c1p82pbkyc7zg90fm3lbsmhwnfmb3q8jc8baklb958555ck";
+      system = "cl-geos";
+      asd = "cl-geos";
+    });
+    systems = [ "cl-geos" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "uiop" pkgs) (getAttr "xarray" pkgs) ];
+  };
+  cl-geos_slash_test = {
+    pname = "cl-geos_test";
+    version = "20180711-git";
+    asds = [ "cl-geos" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-geos/2018-07-11/cl-geos-20180711-git.tgz";
+      sha256 = "0igq2c1p82pbkyc7zg90fm3lbsmhwnfmb3q8jc8baklb958555ck";
+      system = "cl-geos";
+      asd = "cl-geos";
+    });
+    systems = [ "cl-geos/test" ];
+    lispLibs = [ (getAttr "cl-geos" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-getopt = {
+    pname = "cl-getopt";
+    version = "20211209-git";
+    asds = [ "cl-getopt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-getopt/2021-12-09/cl-getopt-20211209-git.tgz";
+      sha256 = "16qkpg2qln7q9j5614py00zwsnmxcy3xcmhb4m8f0w0zbnpvkjxl";
+      system = "cl-getopt";
+      asd = "cl-getopt";
+    });
+    systems = [ "cl-getopt" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  cl-getx = {
+    pname = "cl-getx";
+    version = "20200925-git";
+    asds = [ "cl-getx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-getx/2020-09-25/cl-getx-20200925-git.tgz";
+      sha256 = "07gi346vqrhnbkdk4l6g06z4shhnx7f4l44jgayzfdd0xkv02brv";
+      system = "cl-getx";
+      asd = "cl-getx";
+    });
+    systems = [ "cl-getx" ];
+    lispLibs = [  ];
+  };
+  cl-gimei = {
+    pname = "cl-gimei";
+    version = "20211020-git";
+    asds = [ "cl-gimei" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gimei/2021-10-20/cl-gimei-20211020-git.tgz";
+      sha256 = "1405qbqrrrmanmg2dl7yfdj8z4vcsj1silpsa7i1y00pd18xgk8q";
+      system = "cl-gimei";
+      asd = "cl-gimei";
+    });
+    systems = [ "cl-gimei" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-yaml" pkgs) ];
+  };
+  cl-gimei_slash_test = {
+    pname = "cl-gimei_test";
+    version = "20211020-git";
+    asds = [ "cl-gimei" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gimei/2021-10-20/cl-gimei-20211020-git.tgz";
+      sha256 = "1405qbqrrrmanmg2dl7yfdj8z4vcsj1silpsa7i1y00pd18xgk8q";
+      system = "cl-gimei";
+      asd = "cl-gimei";
+    });
+    systems = [ "cl-gimei/test" ];
+    lispLibs = [ (getAttr "cl-gimei" pkgs) (getAttr "rove" pkgs) ];
+  };
+  cl-gists = {
+    pname = "cl-gists";
+    version = "20180228-git";
+    asds = [ "cl-gists" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gists/2018-02-28/cl-gists-20180228-git.tgz";
+      sha256 = "1ipwapb71ls0gy4prg1j9x5ki4frf6l1f9iphjnsis7kdpbm2mi7";
+      system = "cl-gists";
+      asd = "cl-gists";
+    });
+    systems = [ "cl-gists" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-syntax" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "dexador" pkgs) (getAttr "jonathan" pkgs) (getAttr "local-time" pkgs) (getAttr "quri" pkgs) (getAttr "trivial-types" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-gists-test = {
+    pname = "cl-gists-test";
+    version = "20180228-git";
+    asds = [ "cl-gists-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gists/2018-02-28/cl-gists-20180228-git.tgz";
+      sha256 = "1ipwapb71ls0gy4prg1j9x5ki4frf6l1f9iphjnsis7kdpbm2mi7";
+      system = "cl-gists-test";
+      asd = "cl-gists-test";
+    });
+    systems = [ "cl-gists-test" ];
+    lispLibs = [ (getAttr "cl-gists" pkgs) (getAttr "closer-mop" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-git = {
+    pname = "cl-git";
+    version = "20150709-git";
+    asds = [ "cl-git" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-git/2015-07-09/cl-git-20150709-git.tgz";
+      sha256 = "0qh42rjga05569224zdfc3ddhzhjps7kvlbrgmldfp7v1v69z4rd";
+      system = "cl-git";
+      asd = "cl-git";
+    });
+    systems = [ "cl-git" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cl-fad" pkgs) (getAttr "closer-mop" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "local-time" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-git_slash_tests = {
+    pname = "cl-git_tests";
+    version = "20150709-git";
+    asds = [ "cl-git" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-git/2015-07-09/cl-git-20150709-git.tgz";
+      sha256 = "0qh42rjga05569224zdfc3ddhzhjps7kvlbrgmldfp7v1v69z4rd";
+      system = "cl-git";
+      asd = "cl-git";
+    });
+    systems = [ "cl-git/tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-git" pkgs) (getAttr "fiveam" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "inferior-shell" pkgs) (getAttr "local-time" pkgs) (getAttr "unix-options" pkgs) ];
+  };
+  cl-github-v3 = {
+    pname = "cl-github-v3";
+    version = "20191227-git";
+    asds = [ "cl-github-v3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-github-v3/2019-12-27/cl-github-v3-20191227-git.tgz";
+      sha256 = "1xwfw6y3vm7236rd6pdmb5akk63gpzhllx99mv4r7ia3yyf9d4f8";
+      system = "cl-github-v3";
+      asd = "cl-github-v3";
+    });
+    systems = [ "cl-github-v3" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "yason" pkgs) ];
+  };
+  cl-glfw = {
+    pname = "cl-glfw";
+    version = "20150302-git";
+    asds = [ "cl-glfw" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw";
+      asd = "cl-glfw";
+    });
+    systems = [ "cl-glfw" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-glfw-types" pkgs) ];
+  };
+  cl-glfw-ftgl = {
+    pname = "cl-glfw-ftgl";
+    version = "20150302-git";
+    asds = [ "cl-glfw-ftgl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-ftgl";
+      asd = "cl-glfw-ftgl";
+    });
+    systems = [ "cl-glfw-ftgl" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-glfw-glu = {
+    pname = "cl-glfw-glu";
+    version = "20150302-git";
+    asds = [ "cl-glfw-glu" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-glu";
+      asd = "cl-glfw-glu";
+    });
+    systems = [ "cl-glfw-glu" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-glfw-types" pkgs) ];
+  };
+  cl-glfw-opengl-3dfx_multisample = {
+    pname = "cl-glfw-opengl-3dfx_multisample";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-3dfx_multisample" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-3dfx_multisample";
+      asd = "cl-glfw-opengl-3dfx_multisample";
+    });
+    systems = [ "cl-glfw-opengl-3dfx_multisample" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-3dfx_tbuffer = {
+    pname = "cl-glfw-opengl-3dfx_tbuffer";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-3dfx_tbuffer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-3dfx_tbuffer";
+      asd = "cl-glfw-opengl-3dfx_tbuffer";
+    });
+    systems = [ "cl-glfw-opengl-3dfx_tbuffer" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-3dfx_texture_compression_fxt1 = {
+    pname = "cl-glfw-opengl-3dfx_texture_compression_fxt1";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-3dfx_texture_compression_fxt1" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-3dfx_texture_compression_fxt1";
+      asd = "cl-glfw-opengl-3dfx_texture_compression_fxt1";
+    });
+    systems = [ "cl-glfw-opengl-3dfx_texture_compression_fxt1" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-amd_blend_minmax_factor = {
+    pname = "cl-glfw-opengl-amd_blend_minmax_factor";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-amd_blend_minmax_factor" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-amd_blend_minmax_factor";
+      asd = "cl-glfw-opengl-amd_blend_minmax_factor";
+    });
+    systems = [ "cl-glfw-opengl-amd_blend_minmax_factor" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-amd_depth_clamp_separate = {
+    pname = "cl-glfw-opengl-amd_depth_clamp_separate";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-amd_depth_clamp_separate" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-amd_depth_clamp_separate";
+      asd = "cl-glfw-opengl-amd_depth_clamp_separate";
+    });
+    systems = [ "cl-glfw-opengl-amd_depth_clamp_separate" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-amd_draw_buffers_blend = {
+    pname = "cl-glfw-opengl-amd_draw_buffers_blend";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-amd_draw_buffers_blend" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-amd_draw_buffers_blend";
+      asd = "cl-glfw-opengl-amd_draw_buffers_blend";
+    });
+    systems = [ "cl-glfw-opengl-amd_draw_buffers_blend" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-amd_multi_draw_indirect = {
+    pname = "cl-glfw-opengl-amd_multi_draw_indirect";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-amd_multi_draw_indirect" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-amd_multi_draw_indirect";
+      asd = "cl-glfw-opengl-amd_multi_draw_indirect";
+    });
+    systems = [ "cl-glfw-opengl-amd_multi_draw_indirect" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-amd_name_gen_delete = {
+    pname = "cl-glfw-opengl-amd_name_gen_delete";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-amd_name_gen_delete" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-amd_name_gen_delete";
+      asd = "cl-glfw-opengl-amd_name_gen_delete";
+    });
+    systems = [ "cl-glfw-opengl-amd_name_gen_delete" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-amd_performance_monitor = {
+    pname = "cl-glfw-opengl-amd_performance_monitor";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-amd_performance_monitor" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-amd_performance_monitor";
+      asd = "cl-glfw-opengl-amd_performance_monitor";
+    });
+    systems = [ "cl-glfw-opengl-amd_performance_monitor" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-amd_sample_positions = {
+    pname = "cl-glfw-opengl-amd_sample_positions";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-amd_sample_positions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-amd_sample_positions";
+      asd = "cl-glfw-opengl-amd_sample_positions";
+    });
+    systems = [ "cl-glfw-opengl-amd_sample_positions" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-amd_seamless_cubemap_per_texture = {
+    pname = "cl-glfw-opengl-amd_seamless_cubemap_per_texture";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-amd_seamless_cubemap_per_texture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-amd_seamless_cubemap_per_texture";
+      asd = "cl-glfw-opengl-amd_seamless_cubemap_per_texture";
+    });
+    systems = [ "cl-glfw-opengl-amd_seamless_cubemap_per_texture" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-amd_vertex_shader_tesselator = {
+    pname = "cl-glfw-opengl-amd_vertex_shader_tesselator";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-amd_vertex_shader_tesselator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-amd_vertex_shader_tesselator";
+      asd = "cl-glfw-opengl-amd_vertex_shader_tesselator";
+    });
+    systems = [ "cl-glfw-opengl-amd_vertex_shader_tesselator" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_aux_depth_stencil = {
+    pname = "cl-glfw-opengl-apple_aux_depth_stencil";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_aux_depth_stencil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_aux_depth_stencil";
+      asd = "cl-glfw-opengl-apple_aux_depth_stencil";
+    });
+    systems = [ "cl-glfw-opengl-apple_aux_depth_stencil" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_client_storage = {
+    pname = "cl-glfw-opengl-apple_client_storage";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_client_storage" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_client_storage";
+      asd = "cl-glfw-opengl-apple_client_storage";
+    });
+    systems = [ "cl-glfw-opengl-apple_client_storage" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_element_array = {
+    pname = "cl-glfw-opengl-apple_element_array";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_element_array" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_element_array";
+      asd = "cl-glfw-opengl-apple_element_array";
+    });
+    systems = [ "cl-glfw-opengl-apple_element_array" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_fence = {
+    pname = "cl-glfw-opengl-apple_fence";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_fence" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_fence";
+      asd = "cl-glfw-opengl-apple_fence";
+    });
+    systems = [ "cl-glfw-opengl-apple_fence" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_float_pixels = {
+    pname = "cl-glfw-opengl-apple_float_pixels";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_float_pixels" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_float_pixels";
+      asd = "cl-glfw-opengl-apple_float_pixels";
+    });
+    systems = [ "cl-glfw-opengl-apple_float_pixels" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_flush_buffer_range = {
+    pname = "cl-glfw-opengl-apple_flush_buffer_range";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_flush_buffer_range" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_flush_buffer_range";
+      asd = "cl-glfw-opengl-apple_flush_buffer_range";
+    });
+    systems = [ "cl-glfw-opengl-apple_flush_buffer_range" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_object_purgeable = {
+    pname = "cl-glfw-opengl-apple_object_purgeable";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_object_purgeable" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_object_purgeable";
+      asd = "cl-glfw-opengl-apple_object_purgeable";
+    });
+    systems = [ "cl-glfw-opengl-apple_object_purgeable" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_rgb_422 = {
+    pname = "cl-glfw-opengl-apple_rgb_422";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_rgb_422" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_rgb_422";
+      asd = "cl-glfw-opengl-apple_rgb_422";
+    });
+    systems = [ "cl-glfw-opengl-apple_rgb_422" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_row_bytes = {
+    pname = "cl-glfw-opengl-apple_row_bytes";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_row_bytes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_row_bytes";
+      asd = "cl-glfw-opengl-apple_row_bytes";
+    });
+    systems = [ "cl-glfw-opengl-apple_row_bytes" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_specular_vector = {
+    pname = "cl-glfw-opengl-apple_specular_vector";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_specular_vector" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_specular_vector";
+      asd = "cl-glfw-opengl-apple_specular_vector";
+    });
+    systems = [ "cl-glfw-opengl-apple_specular_vector" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_texture_range = {
+    pname = "cl-glfw-opengl-apple_texture_range";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_texture_range" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_texture_range";
+      asd = "cl-glfw-opengl-apple_texture_range";
+    });
+    systems = [ "cl-glfw-opengl-apple_texture_range" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_transform_hint = {
+    pname = "cl-glfw-opengl-apple_transform_hint";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_transform_hint" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_transform_hint";
+      asd = "cl-glfw-opengl-apple_transform_hint";
+    });
+    systems = [ "cl-glfw-opengl-apple_transform_hint" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_vertex_array_object = {
+    pname = "cl-glfw-opengl-apple_vertex_array_object";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_vertex_array_object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_vertex_array_object";
+      asd = "cl-glfw-opengl-apple_vertex_array_object";
+    });
+    systems = [ "cl-glfw-opengl-apple_vertex_array_object" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_vertex_array_range = {
+    pname = "cl-glfw-opengl-apple_vertex_array_range";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_vertex_array_range" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_vertex_array_range";
+      asd = "cl-glfw-opengl-apple_vertex_array_range";
+    });
+    systems = [ "cl-glfw-opengl-apple_vertex_array_range" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_vertex_program_evaluators = {
+    pname = "cl-glfw-opengl-apple_vertex_program_evaluators";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_vertex_program_evaluators" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_vertex_program_evaluators";
+      asd = "cl-glfw-opengl-apple_vertex_program_evaluators";
+    });
+    systems = [ "cl-glfw-opengl-apple_vertex_program_evaluators" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-apple_ycbcr_422 = {
+    pname = "cl-glfw-opengl-apple_ycbcr_422";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-apple_ycbcr_422" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-apple_ycbcr_422";
+      asd = "cl-glfw-opengl-apple_ycbcr_422";
+    });
+    systems = [ "cl-glfw-opengl-apple_ycbcr_422" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_blend_func_extended = {
+    pname = "cl-glfw-opengl-arb_blend_func_extended";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_blend_func_extended" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_blend_func_extended";
+      asd = "cl-glfw-opengl-arb_blend_func_extended";
+    });
+    systems = [ "cl-glfw-opengl-arb_blend_func_extended" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_color_buffer_float = {
+    pname = "cl-glfw-opengl-arb_color_buffer_float";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_color_buffer_float" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_color_buffer_float";
+      asd = "cl-glfw-opengl-arb_color_buffer_float";
+    });
+    systems = [ "cl-glfw-opengl-arb_color_buffer_float" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_copy_buffer = {
+    pname = "cl-glfw-opengl-arb_copy_buffer";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_copy_buffer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_copy_buffer";
+      asd = "cl-glfw-opengl-arb_copy_buffer";
+    });
+    systems = [ "cl-glfw-opengl-arb_copy_buffer" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_depth_buffer_float = {
+    pname = "cl-glfw-opengl-arb_depth_buffer_float";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_depth_buffer_float" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_depth_buffer_float";
+      asd = "cl-glfw-opengl-arb_depth_buffer_float";
+    });
+    systems = [ "cl-glfw-opengl-arb_depth_buffer_float" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_depth_clamp = {
+    pname = "cl-glfw-opengl-arb_depth_clamp";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_depth_clamp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_depth_clamp";
+      asd = "cl-glfw-opengl-arb_depth_clamp";
+    });
+    systems = [ "cl-glfw-opengl-arb_depth_clamp" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_depth_texture = {
+    pname = "cl-glfw-opengl-arb_depth_texture";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_depth_texture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_depth_texture";
+      asd = "cl-glfw-opengl-arb_depth_texture";
+    });
+    systems = [ "cl-glfw-opengl-arb_depth_texture" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_draw_buffers = {
+    pname = "cl-glfw-opengl-arb_draw_buffers";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_draw_buffers" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_draw_buffers";
+      asd = "cl-glfw-opengl-arb_draw_buffers";
+    });
+    systems = [ "cl-glfw-opengl-arb_draw_buffers" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_draw_buffers_blend = {
+    pname = "cl-glfw-opengl-arb_draw_buffers_blend";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_draw_buffers_blend" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_draw_buffers_blend";
+      asd = "cl-glfw-opengl-arb_draw_buffers_blend";
+    });
+    systems = [ "cl-glfw-opengl-arb_draw_buffers_blend" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_draw_elements_base_vertex = {
+    pname = "cl-glfw-opengl-arb_draw_elements_base_vertex";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_draw_elements_base_vertex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_draw_elements_base_vertex";
+      asd = "cl-glfw-opengl-arb_draw_elements_base_vertex";
+    });
+    systems = [ "cl-glfw-opengl-arb_draw_elements_base_vertex" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_draw_indirect = {
+    pname = "cl-glfw-opengl-arb_draw_indirect";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_draw_indirect" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_draw_indirect";
+      asd = "cl-glfw-opengl-arb_draw_indirect";
+    });
+    systems = [ "cl-glfw-opengl-arb_draw_indirect" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_draw_instanced = {
+    pname = "cl-glfw-opengl-arb_draw_instanced";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_draw_instanced" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_draw_instanced";
+      asd = "cl-glfw-opengl-arb_draw_instanced";
+    });
+    systems = [ "cl-glfw-opengl-arb_draw_instanced" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_es2_compatibility = {
+    pname = "cl-glfw-opengl-arb_es2_compatibility";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_es2_compatibility" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_es2_compatibility";
+      asd = "cl-glfw-opengl-arb_es2_compatibility";
+    });
+    systems = [ "cl-glfw-opengl-arb_es2_compatibility" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_fragment_program = {
+    pname = "cl-glfw-opengl-arb_fragment_program";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_fragment_program" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_fragment_program";
+      asd = "cl-glfw-opengl-arb_fragment_program";
+    });
+    systems = [ "cl-glfw-opengl-arb_fragment_program" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_fragment_shader = {
+    pname = "cl-glfw-opengl-arb_fragment_shader";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_fragment_shader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_fragment_shader";
+      asd = "cl-glfw-opengl-arb_fragment_shader";
+    });
+    systems = [ "cl-glfw-opengl-arb_fragment_shader" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_framebuffer_object = {
+    pname = "cl-glfw-opengl-arb_framebuffer_object";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_framebuffer_object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_framebuffer_object";
+      asd = "cl-glfw-opengl-arb_framebuffer_object";
+    });
+    systems = [ "cl-glfw-opengl-arb_framebuffer_object" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_framebuffer_object_deprecated = {
+    pname = "cl-glfw-opengl-arb_framebuffer_object_deprecated";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_framebuffer_object_deprecated" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_framebuffer_object_deprecated";
+      asd = "cl-glfw-opengl-arb_framebuffer_object_deprecated";
+    });
+    systems = [ "cl-glfw-opengl-arb_framebuffer_object_deprecated" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_framebuffer_srgb = {
+    pname = "cl-glfw-opengl-arb_framebuffer_srgb";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_framebuffer_srgb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_framebuffer_srgb";
+      asd = "cl-glfw-opengl-arb_framebuffer_srgb";
+    });
+    systems = [ "cl-glfw-opengl-arb_framebuffer_srgb" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_geometry_shader4 = {
+    pname = "cl-glfw-opengl-arb_geometry_shader4";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_geometry_shader4" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_geometry_shader4";
+      asd = "cl-glfw-opengl-arb_geometry_shader4";
+    });
+    systems = [ "cl-glfw-opengl-arb_geometry_shader4" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_get_program_binary = {
+    pname = "cl-glfw-opengl-arb_get_program_binary";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_get_program_binary" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_get_program_binary";
+      asd = "cl-glfw-opengl-arb_get_program_binary";
+    });
+    systems = [ "cl-glfw-opengl-arb_get_program_binary" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_gpu_shader5 = {
+    pname = "cl-glfw-opengl-arb_gpu_shader5";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_gpu_shader5" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_gpu_shader5";
+      asd = "cl-glfw-opengl-arb_gpu_shader5";
+    });
+    systems = [ "cl-glfw-opengl-arb_gpu_shader5" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_gpu_shader_fp64 = {
+    pname = "cl-glfw-opengl-arb_gpu_shader_fp64";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_gpu_shader_fp64" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_gpu_shader_fp64";
+      asd = "cl-glfw-opengl-arb_gpu_shader_fp64";
+    });
+    systems = [ "cl-glfw-opengl-arb_gpu_shader_fp64" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_half_float_pixel = {
+    pname = "cl-glfw-opengl-arb_half_float_pixel";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_half_float_pixel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_half_float_pixel";
+      asd = "cl-glfw-opengl-arb_half_float_pixel";
+    });
+    systems = [ "cl-glfw-opengl-arb_half_float_pixel" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_half_float_vertex = {
+    pname = "cl-glfw-opengl-arb_half_float_vertex";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_half_float_vertex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_half_float_vertex";
+      asd = "cl-glfw-opengl-arb_half_float_vertex";
+    });
+    systems = [ "cl-glfw-opengl-arb_half_float_vertex" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_imaging = {
+    pname = "cl-glfw-opengl-arb_imaging";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_imaging" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_imaging";
+      asd = "cl-glfw-opengl-arb_imaging";
+    });
+    systems = [ "cl-glfw-opengl-arb_imaging" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_imaging_deprecated = {
+    pname = "cl-glfw-opengl-arb_imaging_deprecated";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_imaging_deprecated" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_imaging_deprecated";
+      asd = "cl-glfw-opengl-arb_imaging_deprecated";
+    });
+    systems = [ "cl-glfw-opengl-arb_imaging_deprecated" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_instanced_arrays = {
+    pname = "cl-glfw-opengl-arb_instanced_arrays";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_instanced_arrays" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_instanced_arrays";
+      asd = "cl-glfw-opengl-arb_instanced_arrays";
+    });
+    systems = [ "cl-glfw-opengl-arb_instanced_arrays" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_map_buffer_range = {
+    pname = "cl-glfw-opengl-arb_map_buffer_range";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_map_buffer_range" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_map_buffer_range";
+      asd = "cl-glfw-opengl-arb_map_buffer_range";
+    });
+    systems = [ "cl-glfw-opengl-arb_map_buffer_range" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_matrix_palette = {
+    pname = "cl-glfw-opengl-arb_matrix_palette";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_matrix_palette" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_matrix_palette";
+      asd = "cl-glfw-opengl-arb_matrix_palette";
+    });
+    systems = [ "cl-glfw-opengl-arb_matrix_palette" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_multisample = {
+    pname = "cl-glfw-opengl-arb_multisample";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_multisample" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_multisample";
+      asd = "cl-glfw-opengl-arb_multisample";
+    });
+    systems = [ "cl-glfw-opengl-arb_multisample" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_multitexture = {
+    pname = "cl-glfw-opengl-arb_multitexture";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_multitexture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_multitexture";
+      asd = "cl-glfw-opengl-arb_multitexture";
+    });
+    systems = [ "cl-glfw-opengl-arb_multitexture" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_occlusion_query = {
+    pname = "cl-glfw-opengl-arb_occlusion_query";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_occlusion_query" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_occlusion_query";
+      asd = "cl-glfw-opengl-arb_occlusion_query";
+    });
+    systems = [ "cl-glfw-opengl-arb_occlusion_query" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_occlusion_query2 = {
+    pname = "cl-glfw-opengl-arb_occlusion_query2";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_occlusion_query2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_occlusion_query2";
+      asd = "cl-glfw-opengl-arb_occlusion_query2";
+    });
+    systems = [ "cl-glfw-opengl-arb_occlusion_query2" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_pixel_buffer_object = {
+    pname = "cl-glfw-opengl-arb_pixel_buffer_object";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_pixel_buffer_object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_pixel_buffer_object";
+      asd = "cl-glfw-opengl-arb_pixel_buffer_object";
+    });
+    systems = [ "cl-glfw-opengl-arb_pixel_buffer_object" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_point_parameters = {
+    pname = "cl-glfw-opengl-arb_point_parameters";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_point_parameters" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_point_parameters";
+      asd = "cl-glfw-opengl-arb_point_parameters";
+    });
+    systems = [ "cl-glfw-opengl-arb_point_parameters" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_point_sprite = {
+    pname = "cl-glfw-opengl-arb_point_sprite";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_point_sprite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_point_sprite";
+      asd = "cl-glfw-opengl-arb_point_sprite";
+    });
+    systems = [ "cl-glfw-opengl-arb_point_sprite" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_provoking_vertex = {
+    pname = "cl-glfw-opengl-arb_provoking_vertex";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_provoking_vertex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_provoking_vertex";
+      asd = "cl-glfw-opengl-arb_provoking_vertex";
+    });
+    systems = [ "cl-glfw-opengl-arb_provoking_vertex" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_robustness = {
+    pname = "cl-glfw-opengl-arb_robustness";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_robustness" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_robustness";
+      asd = "cl-glfw-opengl-arb_robustness";
+    });
+    systems = [ "cl-glfw-opengl-arb_robustness" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_sample_shading = {
+    pname = "cl-glfw-opengl-arb_sample_shading";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_sample_shading" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_sample_shading";
+      asd = "cl-glfw-opengl-arb_sample_shading";
+    });
+    systems = [ "cl-glfw-opengl-arb_sample_shading" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_sampler_objects = {
+    pname = "cl-glfw-opengl-arb_sampler_objects";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_sampler_objects" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_sampler_objects";
+      asd = "cl-glfw-opengl-arb_sampler_objects";
+    });
+    systems = [ "cl-glfw-opengl-arb_sampler_objects" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_seamless_cube_map = {
+    pname = "cl-glfw-opengl-arb_seamless_cube_map";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_seamless_cube_map" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_seamless_cube_map";
+      asd = "cl-glfw-opengl-arb_seamless_cube_map";
+    });
+    systems = [ "cl-glfw-opengl-arb_seamless_cube_map" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_separate_shader_objects = {
+    pname = "cl-glfw-opengl-arb_separate_shader_objects";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_separate_shader_objects" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_separate_shader_objects";
+      asd = "cl-glfw-opengl-arb_separate_shader_objects";
+    });
+    systems = [ "cl-glfw-opengl-arb_separate_shader_objects" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_shader_objects = {
+    pname = "cl-glfw-opengl-arb_shader_objects";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_shader_objects" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_shader_objects";
+      asd = "cl-glfw-opengl-arb_shader_objects";
+    });
+    systems = [ "cl-glfw-opengl-arb_shader_objects" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_shader_subroutine = {
+    pname = "cl-glfw-opengl-arb_shader_subroutine";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_shader_subroutine" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_shader_subroutine";
+      asd = "cl-glfw-opengl-arb_shader_subroutine";
+    });
+    systems = [ "cl-glfw-opengl-arb_shader_subroutine" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_shading_language_100 = {
+    pname = "cl-glfw-opengl-arb_shading_language_100";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_shading_language_100" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_shading_language_100";
+      asd = "cl-glfw-opengl-arb_shading_language_100";
+    });
+    systems = [ "cl-glfw-opengl-arb_shading_language_100" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_shading_language_include = {
+    pname = "cl-glfw-opengl-arb_shading_language_include";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_shading_language_include" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_shading_language_include";
+      asd = "cl-glfw-opengl-arb_shading_language_include";
+    });
+    systems = [ "cl-glfw-opengl-arb_shading_language_include" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_shadow = {
+    pname = "cl-glfw-opengl-arb_shadow";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_shadow" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_shadow";
+      asd = "cl-glfw-opengl-arb_shadow";
+    });
+    systems = [ "cl-glfw-opengl-arb_shadow" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_shadow_ambient = {
+    pname = "cl-glfw-opengl-arb_shadow_ambient";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_shadow_ambient" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_shadow_ambient";
+      asd = "cl-glfw-opengl-arb_shadow_ambient";
+    });
+    systems = [ "cl-glfw-opengl-arb_shadow_ambient" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_tessellation_shader = {
+    pname = "cl-glfw-opengl-arb_tessellation_shader";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_tessellation_shader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_tessellation_shader";
+      asd = "cl-glfw-opengl-arb_tessellation_shader";
+    });
+    systems = [ "cl-glfw-opengl-arb_tessellation_shader" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_border_clamp = {
+    pname = "cl-glfw-opengl-arb_texture_border_clamp";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_border_clamp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_border_clamp";
+      asd = "cl-glfw-opengl-arb_texture_border_clamp";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_border_clamp" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_buffer_object = {
+    pname = "cl-glfw-opengl-arb_texture_buffer_object";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_buffer_object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_buffer_object";
+      asd = "cl-glfw-opengl-arb_texture_buffer_object";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_buffer_object" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_buffer_object_rgb32 = {
+    pname = "cl-glfw-opengl-arb_texture_buffer_object_rgb32";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_buffer_object_rgb32" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_buffer_object_rgb32";
+      asd = "cl-glfw-opengl-arb_texture_buffer_object_rgb32";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_buffer_object_rgb32" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_compression = {
+    pname = "cl-glfw-opengl-arb_texture_compression";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_compression" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_compression";
+      asd = "cl-glfw-opengl-arb_texture_compression";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_compression" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_compression_bptc = {
+    pname = "cl-glfw-opengl-arb_texture_compression_bptc";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_compression_bptc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_compression_bptc";
+      asd = "cl-glfw-opengl-arb_texture_compression_bptc";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_compression_bptc" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_compression_rgtc = {
+    pname = "cl-glfw-opengl-arb_texture_compression_rgtc";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_compression_rgtc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_compression_rgtc";
+      asd = "cl-glfw-opengl-arb_texture_compression_rgtc";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_compression_rgtc" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_cube_map = {
+    pname = "cl-glfw-opengl-arb_texture_cube_map";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_cube_map" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_cube_map";
+      asd = "cl-glfw-opengl-arb_texture_cube_map";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_cube_map" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_cube_map_array = {
+    pname = "cl-glfw-opengl-arb_texture_cube_map_array";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_cube_map_array" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_cube_map_array";
+      asd = "cl-glfw-opengl-arb_texture_cube_map_array";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_cube_map_array" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_env_combine = {
+    pname = "cl-glfw-opengl-arb_texture_env_combine";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_env_combine" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_env_combine";
+      asd = "cl-glfw-opengl-arb_texture_env_combine";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_env_combine" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_env_dot3 = {
+    pname = "cl-glfw-opengl-arb_texture_env_dot3";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_env_dot3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_env_dot3";
+      asd = "cl-glfw-opengl-arb_texture_env_dot3";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_env_dot3" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_float = {
+    pname = "cl-glfw-opengl-arb_texture_float";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_float" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_float";
+      asd = "cl-glfw-opengl-arb_texture_float";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_float" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_gather = {
+    pname = "cl-glfw-opengl-arb_texture_gather";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_gather" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_gather";
+      asd = "cl-glfw-opengl-arb_texture_gather";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_gather" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_mirrored_repeat = {
+    pname = "cl-glfw-opengl-arb_texture_mirrored_repeat";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_mirrored_repeat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_mirrored_repeat";
+      asd = "cl-glfw-opengl-arb_texture_mirrored_repeat";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_mirrored_repeat" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_multisample = {
+    pname = "cl-glfw-opengl-arb_texture_multisample";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_multisample" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_multisample";
+      asd = "cl-glfw-opengl-arb_texture_multisample";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_multisample" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_rectangle = {
+    pname = "cl-glfw-opengl-arb_texture_rectangle";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_rectangle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_rectangle";
+      asd = "cl-glfw-opengl-arb_texture_rectangle";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_rectangle" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_rg = {
+    pname = "cl-glfw-opengl-arb_texture_rg";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_rg" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_rg";
+      asd = "cl-glfw-opengl-arb_texture_rg";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_rg" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_rgb10_a2ui = {
+    pname = "cl-glfw-opengl-arb_texture_rgb10_a2ui";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_rgb10_a2ui" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_rgb10_a2ui";
+      asd = "cl-glfw-opengl-arb_texture_rgb10_a2ui";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_rgb10_a2ui" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_texture_swizzle = {
+    pname = "cl-glfw-opengl-arb_texture_swizzle";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_texture_swizzle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_texture_swizzle";
+      asd = "cl-glfw-opengl-arb_texture_swizzle";
+    });
+    systems = [ "cl-glfw-opengl-arb_texture_swizzle" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_timer_query = {
+    pname = "cl-glfw-opengl-arb_timer_query";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_timer_query" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_timer_query";
+      asd = "cl-glfw-opengl-arb_timer_query";
+    });
+    systems = [ "cl-glfw-opengl-arb_timer_query" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_transform_feedback2 = {
+    pname = "cl-glfw-opengl-arb_transform_feedback2";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_transform_feedback2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_transform_feedback2";
+      asd = "cl-glfw-opengl-arb_transform_feedback2";
+    });
+    systems = [ "cl-glfw-opengl-arb_transform_feedback2" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_transpose_matrix = {
+    pname = "cl-glfw-opengl-arb_transpose_matrix";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_transpose_matrix" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_transpose_matrix";
+      asd = "cl-glfw-opengl-arb_transpose_matrix";
+    });
+    systems = [ "cl-glfw-opengl-arb_transpose_matrix" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_uniform_buffer_object = {
+    pname = "cl-glfw-opengl-arb_uniform_buffer_object";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_uniform_buffer_object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_uniform_buffer_object";
+      asd = "cl-glfw-opengl-arb_uniform_buffer_object";
+    });
+    systems = [ "cl-glfw-opengl-arb_uniform_buffer_object" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_vertex_array_bgra = {
+    pname = "cl-glfw-opengl-arb_vertex_array_bgra";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_vertex_array_bgra" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_vertex_array_bgra";
+      asd = "cl-glfw-opengl-arb_vertex_array_bgra";
+    });
+    systems = [ "cl-glfw-opengl-arb_vertex_array_bgra" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_vertex_array_object = {
+    pname = "cl-glfw-opengl-arb_vertex_array_object";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_vertex_array_object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_vertex_array_object";
+      asd = "cl-glfw-opengl-arb_vertex_array_object";
+    });
+    systems = [ "cl-glfw-opengl-arb_vertex_array_object" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_vertex_attrib_64bit = {
+    pname = "cl-glfw-opengl-arb_vertex_attrib_64bit";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_vertex_attrib_64bit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_vertex_attrib_64bit";
+      asd = "cl-glfw-opengl-arb_vertex_attrib_64bit";
+    });
+    systems = [ "cl-glfw-opengl-arb_vertex_attrib_64bit" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_vertex_blend = {
+    pname = "cl-glfw-opengl-arb_vertex_blend";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_vertex_blend" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_vertex_blend";
+      asd = "cl-glfw-opengl-arb_vertex_blend";
+    });
+    systems = [ "cl-glfw-opengl-arb_vertex_blend" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_vertex_buffer_object = {
+    pname = "cl-glfw-opengl-arb_vertex_buffer_object";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_vertex_buffer_object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_vertex_buffer_object";
+      asd = "cl-glfw-opengl-arb_vertex_buffer_object";
+    });
+    systems = [ "cl-glfw-opengl-arb_vertex_buffer_object" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_vertex_program = {
+    pname = "cl-glfw-opengl-arb_vertex_program";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_vertex_program" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_vertex_program";
+      asd = "cl-glfw-opengl-arb_vertex_program";
+    });
+    systems = [ "cl-glfw-opengl-arb_vertex_program" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_vertex_shader = {
+    pname = "cl-glfw-opengl-arb_vertex_shader";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_vertex_shader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_vertex_shader";
+      asd = "cl-glfw-opengl-arb_vertex_shader";
+    });
+    systems = [ "cl-glfw-opengl-arb_vertex_shader" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev = {
+    pname = "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev";
+      asd = "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev";
+    });
+    systems = [ "cl-glfw-opengl-arb_vertex_type_2_10_10_10_rev" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_viewport_array = {
+    pname = "cl-glfw-opengl-arb_viewport_array";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_viewport_array" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_viewport_array";
+      asd = "cl-glfw-opengl-arb_viewport_array";
+    });
+    systems = [ "cl-glfw-opengl-arb_viewport_array" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-arb_window_pos = {
+    pname = "cl-glfw-opengl-arb_window_pos";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-arb_window_pos" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-arb_window_pos";
+      asd = "cl-glfw-opengl-arb_window_pos";
+    });
+    systems = [ "cl-glfw-opengl-arb_window_pos" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_draw_buffers = {
+    pname = "cl-glfw-opengl-ati_draw_buffers";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_draw_buffers" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_draw_buffers";
+      asd = "cl-glfw-opengl-ati_draw_buffers";
+    });
+    systems = [ "cl-glfw-opengl-ati_draw_buffers" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_element_array = {
+    pname = "cl-glfw-opengl-ati_element_array";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_element_array" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_element_array";
+      asd = "cl-glfw-opengl-ati_element_array";
+    });
+    systems = [ "cl-glfw-opengl-ati_element_array" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_envmap_bumpmap = {
+    pname = "cl-glfw-opengl-ati_envmap_bumpmap";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_envmap_bumpmap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_envmap_bumpmap";
+      asd = "cl-glfw-opengl-ati_envmap_bumpmap";
+    });
+    systems = [ "cl-glfw-opengl-ati_envmap_bumpmap" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_fragment_shader = {
+    pname = "cl-glfw-opengl-ati_fragment_shader";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_fragment_shader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_fragment_shader";
+      asd = "cl-glfw-opengl-ati_fragment_shader";
+    });
+    systems = [ "cl-glfw-opengl-ati_fragment_shader" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_map_object_buffer = {
+    pname = "cl-glfw-opengl-ati_map_object_buffer";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_map_object_buffer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_map_object_buffer";
+      asd = "cl-glfw-opengl-ati_map_object_buffer";
+    });
+    systems = [ "cl-glfw-opengl-ati_map_object_buffer" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_meminfo = {
+    pname = "cl-glfw-opengl-ati_meminfo";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_meminfo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_meminfo";
+      asd = "cl-glfw-opengl-ati_meminfo";
+    });
+    systems = [ "cl-glfw-opengl-ati_meminfo" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_pixel_format_float = {
+    pname = "cl-glfw-opengl-ati_pixel_format_float";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_pixel_format_float" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_pixel_format_float";
+      asd = "cl-glfw-opengl-ati_pixel_format_float";
+    });
+    systems = [ "cl-glfw-opengl-ati_pixel_format_float" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_pn_triangles = {
+    pname = "cl-glfw-opengl-ati_pn_triangles";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_pn_triangles" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_pn_triangles";
+      asd = "cl-glfw-opengl-ati_pn_triangles";
+    });
+    systems = [ "cl-glfw-opengl-ati_pn_triangles" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_separate_stencil = {
+    pname = "cl-glfw-opengl-ati_separate_stencil";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_separate_stencil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_separate_stencil";
+      asd = "cl-glfw-opengl-ati_separate_stencil";
+    });
+    systems = [ "cl-glfw-opengl-ati_separate_stencil" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_text_fragment_shader = {
+    pname = "cl-glfw-opengl-ati_text_fragment_shader";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_text_fragment_shader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_text_fragment_shader";
+      asd = "cl-glfw-opengl-ati_text_fragment_shader";
+    });
+    systems = [ "cl-glfw-opengl-ati_text_fragment_shader" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_texture_env_combine3 = {
+    pname = "cl-glfw-opengl-ati_texture_env_combine3";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_texture_env_combine3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_texture_env_combine3";
+      asd = "cl-glfw-opengl-ati_texture_env_combine3";
+    });
+    systems = [ "cl-glfw-opengl-ati_texture_env_combine3" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_texture_float = {
+    pname = "cl-glfw-opengl-ati_texture_float";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_texture_float" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_texture_float";
+      asd = "cl-glfw-opengl-ati_texture_float";
+    });
+    systems = [ "cl-glfw-opengl-ati_texture_float" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_texture_mirror_once = {
+    pname = "cl-glfw-opengl-ati_texture_mirror_once";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_texture_mirror_once" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_texture_mirror_once";
+      asd = "cl-glfw-opengl-ati_texture_mirror_once";
+    });
+    systems = [ "cl-glfw-opengl-ati_texture_mirror_once" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_vertex_array_object = {
+    pname = "cl-glfw-opengl-ati_vertex_array_object";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_vertex_array_object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_vertex_array_object";
+      asd = "cl-glfw-opengl-ati_vertex_array_object";
+    });
+    systems = [ "cl-glfw-opengl-ati_vertex_array_object" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_vertex_attrib_array_object = {
+    pname = "cl-glfw-opengl-ati_vertex_attrib_array_object";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_vertex_attrib_array_object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_vertex_attrib_array_object";
+      asd = "cl-glfw-opengl-ati_vertex_attrib_array_object";
+    });
+    systems = [ "cl-glfw-opengl-ati_vertex_attrib_array_object" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ati_vertex_streams = {
+    pname = "cl-glfw-opengl-ati_vertex_streams";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ati_vertex_streams" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ati_vertex_streams";
+      asd = "cl-glfw-opengl-ati_vertex_streams";
+    });
+    systems = [ "cl-glfw-opengl-ati_vertex_streams" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-core = {
+    pname = "cl-glfw-opengl-core";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-core";
+      asd = "cl-glfw-opengl-core";
+    });
+    systems = [ "cl-glfw-opengl-core" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-glfw-types" pkgs) ];
+  };
+  cl-glfw-opengl-ext_422_pixels = {
+    pname = "cl-glfw-opengl-ext_422_pixels";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_422_pixels" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_422_pixels";
+      asd = "cl-glfw-opengl-ext_422_pixels";
+    });
+    systems = [ "cl-glfw-opengl-ext_422_pixels" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_abgr = {
+    pname = "cl-glfw-opengl-ext_abgr";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_abgr" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_abgr";
+      asd = "cl-glfw-opengl-ext_abgr";
+    });
+    systems = [ "cl-glfw-opengl-ext_abgr" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_bgra = {
+    pname = "cl-glfw-opengl-ext_bgra";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_bgra" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_bgra";
+      asd = "cl-glfw-opengl-ext_bgra";
+    });
+    systems = [ "cl-glfw-opengl-ext_bgra" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_bindable_uniform = {
+    pname = "cl-glfw-opengl-ext_bindable_uniform";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_bindable_uniform" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_bindable_uniform";
+      asd = "cl-glfw-opengl-ext_bindable_uniform";
+    });
+    systems = [ "cl-glfw-opengl-ext_bindable_uniform" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_blend_color = {
+    pname = "cl-glfw-opengl-ext_blend_color";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_blend_color" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_blend_color";
+      asd = "cl-glfw-opengl-ext_blend_color";
+    });
+    systems = [ "cl-glfw-opengl-ext_blend_color" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_blend_equation_separate = {
+    pname = "cl-glfw-opengl-ext_blend_equation_separate";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_blend_equation_separate" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_blend_equation_separate";
+      asd = "cl-glfw-opengl-ext_blend_equation_separate";
+    });
+    systems = [ "cl-glfw-opengl-ext_blend_equation_separate" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_blend_func_separate = {
+    pname = "cl-glfw-opengl-ext_blend_func_separate";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_blend_func_separate" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_blend_func_separate";
+      asd = "cl-glfw-opengl-ext_blend_func_separate";
+    });
+    systems = [ "cl-glfw-opengl-ext_blend_func_separate" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_blend_minmax = {
+    pname = "cl-glfw-opengl-ext_blend_minmax";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_blend_minmax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_blend_minmax";
+      asd = "cl-glfw-opengl-ext_blend_minmax";
+    });
+    systems = [ "cl-glfw-opengl-ext_blend_minmax" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_blend_subtract = {
+    pname = "cl-glfw-opengl-ext_blend_subtract";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_blend_subtract" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_blend_subtract";
+      asd = "cl-glfw-opengl-ext_blend_subtract";
+    });
+    systems = [ "cl-glfw-opengl-ext_blend_subtract" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_clip_volume_hint = {
+    pname = "cl-glfw-opengl-ext_clip_volume_hint";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_clip_volume_hint" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_clip_volume_hint";
+      asd = "cl-glfw-opengl-ext_clip_volume_hint";
+    });
+    systems = [ "cl-glfw-opengl-ext_clip_volume_hint" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_cmyka = {
+    pname = "cl-glfw-opengl-ext_cmyka";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_cmyka" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_cmyka";
+      asd = "cl-glfw-opengl-ext_cmyka";
+    });
+    systems = [ "cl-glfw-opengl-ext_cmyka" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_color_subtable = {
+    pname = "cl-glfw-opengl-ext_color_subtable";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_color_subtable" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_color_subtable";
+      asd = "cl-glfw-opengl-ext_color_subtable";
+    });
+    systems = [ "cl-glfw-opengl-ext_color_subtable" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_compiled_vertex_array = {
+    pname = "cl-glfw-opengl-ext_compiled_vertex_array";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_compiled_vertex_array" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_compiled_vertex_array";
+      asd = "cl-glfw-opengl-ext_compiled_vertex_array";
+    });
+    systems = [ "cl-glfw-opengl-ext_compiled_vertex_array" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_convolution = {
+    pname = "cl-glfw-opengl-ext_convolution";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_convolution" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_convolution";
+      asd = "cl-glfw-opengl-ext_convolution";
+    });
+    systems = [ "cl-glfw-opengl-ext_convolution" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_coordinate_frame = {
+    pname = "cl-glfw-opengl-ext_coordinate_frame";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_coordinate_frame" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_coordinate_frame";
+      asd = "cl-glfw-opengl-ext_coordinate_frame";
+    });
+    systems = [ "cl-glfw-opengl-ext_coordinate_frame" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_copy_texture = {
+    pname = "cl-glfw-opengl-ext_copy_texture";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_copy_texture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_copy_texture";
+      asd = "cl-glfw-opengl-ext_copy_texture";
+    });
+    systems = [ "cl-glfw-opengl-ext_copy_texture" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_cull_vertex = {
+    pname = "cl-glfw-opengl-ext_cull_vertex";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_cull_vertex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_cull_vertex";
+      asd = "cl-glfw-opengl-ext_cull_vertex";
+    });
+    systems = [ "cl-glfw-opengl-ext_cull_vertex" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_depth_bounds_test = {
+    pname = "cl-glfw-opengl-ext_depth_bounds_test";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_depth_bounds_test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_depth_bounds_test";
+      asd = "cl-glfw-opengl-ext_depth_bounds_test";
+    });
+    systems = [ "cl-glfw-opengl-ext_depth_bounds_test" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_direct_state_access = {
+    pname = "cl-glfw-opengl-ext_direct_state_access";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_direct_state_access" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_direct_state_access";
+      asd = "cl-glfw-opengl-ext_direct_state_access";
+    });
+    systems = [ "cl-glfw-opengl-ext_direct_state_access" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_draw_buffers2 = {
+    pname = "cl-glfw-opengl-ext_draw_buffers2";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_draw_buffers2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_draw_buffers2";
+      asd = "cl-glfw-opengl-ext_draw_buffers2";
+    });
+    systems = [ "cl-glfw-opengl-ext_draw_buffers2" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_draw_instanced = {
+    pname = "cl-glfw-opengl-ext_draw_instanced";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_draw_instanced" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_draw_instanced";
+      asd = "cl-glfw-opengl-ext_draw_instanced";
+    });
+    systems = [ "cl-glfw-opengl-ext_draw_instanced" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_draw_range_elements = {
+    pname = "cl-glfw-opengl-ext_draw_range_elements";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_draw_range_elements" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_draw_range_elements";
+      asd = "cl-glfw-opengl-ext_draw_range_elements";
+    });
+    systems = [ "cl-glfw-opengl-ext_draw_range_elements" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_fog_coord = {
+    pname = "cl-glfw-opengl-ext_fog_coord";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_fog_coord" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_fog_coord";
+      asd = "cl-glfw-opengl-ext_fog_coord";
+    });
+    systems = [ "cl-glfw-opengl-ext_fog_coord" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_framebuffer_blit = {
+    pname = "cl-glfw-opengl-ext_framebuffer_blit";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_framebuffer_blit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_framebuffer_blit";
+      asd = "cl-glfw-opengl-ext_framebuffer_blit";
+    });
+    systems = [ "cl-glfw-opengl-ext_framebuffer_blit" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_framebuffer_multisample = {
+    pname = "cl-glfw-opengl-ext_framebuffer_multisample";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_framebuffer_multisample" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_framebuffer_multisample";
+      asd = "cl-glfw-opengl-ext_framebuffer_multisample";
+    });
+    systems = [ "cl-glfw-opengl-ext_framebuffer_multisample" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_framebuffer_object = {
+    pname = "cl-glfw-opengl-ext_framebuffer_object";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_framebuffer_object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_framebuffer_object";
+      asd = "cl-glfw-opengl-ext_framebuffer_object";
+    });
+    systems = [ "cl-glfw-opengl-ext_framebuffer_object" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_framebuffer_srgb = {
+    pname = "cl-glfw-opengl-ext_framebuffer_srgb";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_framebuffer_srgb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_framebuffer_srgb";
+      asd = "cl-glfw-opengl-ext_framebuffer_srgb";
+    });
+    systems = [ "cl-glfw-opengl-ext_framebuffer_srgb" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_geometry_shader4 = {
+    pname = "cl-glfw-opengl-ext_geometry_shader4";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_geometry_shader4" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_geometry_shader4";
+      asd = "cl-glfw-opengl-ext_geometry_shader4";
+    });
+    systems = [ "cl-glfw-opengl-ext_geometry_shader4" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_gpu_program_parameters = {
+    pname = "cl-glfw-opengl-ext_gpu_program_parameters";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_gpu_program_parameters" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_gpu_program_parameters";
+      asd = "cl-glfw-opengl-ext_gpu_program_parameters";
+    });
+    systems = [ "cl-glfw-opengl-ext_gpu_program_parameters" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_gpu_shader4 = {
+    pname = "cl-glfw-opengl-ext_gpu_shader4";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_gpu_shader4" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_gpu_shader4";
+      asd = "cl-glfw-opengl-ext_gpu_shader4";
+    });
+    systems = [ "cl-glfw-opengl-ext_gpu_shader4" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_histogram = {
+    pname = "cl-glfw-opengl-ext_histogram";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_histogram" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_histogram";
+      asd = "cl-glfw-opengl-ext_histogram";
+    });
+    systems = [ "cl-glfw-opengl-ext_histogram" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_index_array_formats = {
+    pname = "cl-glfw-opengl-ext_index_array_formats";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_index_array_formats" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_index_array_formats";
+      asd = "cl-glfw-opengl-ext_index_array_formats";
+    });
+    systems = [ "cl-glfw-opengl-ext_index_array_formats" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_index_func = {
+    pname = "cl-glfw-opengl-ext_index_func";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_index_func" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_index_func";
+      asd = "cl-glfw-opengl-ext_index_func";
+    });
+    systems = [ "cl-glfw-opengl-ext_index_func" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_index_material = {
+    pname = "cl-glfw-opengl-ext_index_material";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_index_material" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_index_material";
+      asd = "cl-glfw-opengl-ext_index_material";
+    });
+    systems = [ "cl-glfw-opengl-ext_index_material" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_light_texture = {
+    pname = "cl-glfw-opengl-ext_light_texture";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_light_texture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_light_texture";
+      asd = "cl-glfw-opengl-ext_light_texture";
+    });
+    systems = [ "cl-glfw-opengl-ext_light_texture" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_multi_draw_arrays = {
+    pname = "cl-glfw-opengl-ext_multi_draw_arrays";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_multi_draw_arrays" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_multi_draw_arrays";
+      asd = "cl-glfw-opengl-ext_multi_draw_arrays";
+    });
+    systems = [ "cl-glfw-opengl-ext_multi_draw_arrays" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_multisample = {
+    pname = "cl-glfw-opengl-ext_multisample";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_multisample" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_multisample";
+      asd = "cl-glfw-opengl-ext_multisample";
+    });
+    systems = [ "cl-glfw-opengl-ext_multisample" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_packed_depth_stencil = {
+    pname = "cl-glfw-opengl-ext_packed_depth_stencil";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_packed_depth_stencil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_packed_depth_stencil";
+      asd = "cl-glfw-opengl-ext_packed_depth_stencil";
+    });
+    systems = [ "cl-glfw-opengl-ext_packed_depth_stencil" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_packed_float = {
+    pname = "cl-glfw-opengl-ext_packed_float";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_packed_float" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_packed_float";
+      asd = "cl-glfw-opengl-ext_packed_float";
+    });
+    systems = [ "cl-glfw-opengl-ext_packed_float" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_packed_pixels = {
+    pname = "cl-glfw-opengl-ext_packed_pixels";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_packed_pixels" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_packed_pixels";
+      asd = "cl-glfw-opengl-ext_packed_pixels";
+    });
+    systems = [ "cl-glfw-opengl-ext_packed_pixels" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_paletted_texture = {
+    pname = "cl-glfw-opengl-ext_paletted_texture";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_paletted_texture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_paletted_texture";
+      asd = "cl-glfw-opengl-ext_paletted_texture";
+    });
+    systems = [ "cl-glfw-opengl-ext_paletted_texture" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_pixel_buffer_object = {
+    pname = "cl-glfw-opengl-ext_pixel_buffer_object";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_pixel_buffer_object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_pixel_buffer_object";
+      asd = "cl-glfw-opengl-ext_pixel_buffer_object";
+    });
+    systems = [ "cl-glfw-opengl-ext_pixel_buffer_object" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_pixel_transform = {
+    pname = "cl-glfw-opengl-ext_pixel_transform";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_pixel_transform" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_pixel_transform";
+      asd = "cl-glfw-opengl-ext_pixel_transform";
+    });
+    systems = [ "cl-glfw-opengl-ext_pixel_transform" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_point_parameters = {
+    pname = "cl-glfw-opengl-ext_point_parameters";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_point_parameters" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_point_parameters";
+      asd = "cl-glfw-opengl-ext_point_parameters";
+    });
+    systems = [ "cl-glfw-opengl-ext_point_parameters" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_polygon_offset = {
+    pname = "cl-glfw-opengl-ext_polygon_offset";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_polygon_offset" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_polygon_offset";
+      asd = "cl-glfw-opengl-ext_polygon_offset";
+    });
+    systems = [ "cl-glfw-opengl-ext_polygon_offset" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_provoking_vertex = {
+    pname = "cl-glfw-opengl-ext_provoking_vertex";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_provoking_vertex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_provoking_vertex";
+      asd = "cl-glfw-opengl-ext_provoking_vertex";
+    });
+    systems = [ "cl-glfw-opengl-ext_provoking_vertex" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_secondary_color = {
+    pname = "cl-glfw-opengl-ext_secondary_color";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_secondary_color" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_secondary_color";
+      asd = "cl-glfw-opengl-ext_secondary_color";
+    });
+    systems = [ "cl-glfw-opengl-ext_secondary_color" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_separate_shader_objects = {
+    pname = "cl-glfw-opengl-ext_separate_shader_objects";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_separate_shader_objects" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_separate_shader_objects";
+      asd = "cl-glfw-opengl-ext_separate_shader_objects";
+    });
+    systems = [ "cl-glfw-opengl-ext_separate_shader_objects" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_separate_specular_color = {
+    pname = "cl-glfw-opengl-ext_separate_specular_color";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_separate_specular_color" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_separate_specular_color";
+      asd = "cl-glfw-opengl-ext_separate_specular_color";
+    });
+    systems = [ "cl-glfw-opengl-ext_separate_specular_color" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_shader_image_load_store = {
+    pname = "cl-glfw-opengl-ext_shader_image_load_store";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_shader_image_load_store" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_shader_image_load_store";
+      asd = "cl-glfw-opengl-ext_shader_image_load_store";
+    });
+    systems = [ "cl-glfw-opengl-ext_shader_image_load_store" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_stencil_clear_tag = {
+    pname = "cl-glfw-opengl-ext_stencil_clear_tag";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_stencil_clear_tag" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_stencil_clear_tag";
+      asd = "cl-glfw-opengl-ext_stencil_clear_tag";
+    });
+    systems = [ "cl-glfw-opengl-ext_stencil_clear_tag" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_stencil_two_side = {
+    pname = "cl-glfw-opengl-ext_stencil_two_side";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_stencil_two_side" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_stencil_two_side";
+      asd = "cl-glfw-opengl-ext_stencil_two_side";
+    });
+    systems = [ "cl-glfw-opengl-ext_stencil_two_side" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_stencil_wrap = {
+    pname = "cl-glfw-opengl-ext_stencil_wrap";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_stencil_wrap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_stencil_wrap";
+      asd = "cl-glfw-opengl-ext_stencil_wrap";
+    });
+    systems = [ "cl-glfw-opengl-ext_stencil_wrap" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_subtexture = {
+    pname = "cl-glfw-opengl-ext_subtexture";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_subtexture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_subtexture";
+      asd = "cl-glfw-opengl-ext_subtexture";
+    });
+    systems = [ "cl-glfw-opengl-ext_subtexture" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture = {
+    pname = "cl-glfw-opengl-ext_texture";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture";
+      asd = "cl-glfw-opengl-ext_texture";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture3d = {
+    pname = "cl-glfw-opengl-ext_texture3d";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture3d" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture3d";
+      asd = "cl-glfw-opengl-ext_texture3d";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture3d" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_array = {
+    pname = "cl-glfw-opengl-ext_texture_array";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_array" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_array";
+      asd = "cl-glfw-opengl-ext_texture_array";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_array" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_buffer_object = {
+    pname = "cl-glfw-opengl-ext_texture_buffer_object";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_buffer_object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_buffer_object";
+      asd = "cl-glfw-opengl-ext_texture_buffer_object";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_buffer_object" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_compression_latc = {
+    pname = "cl-glfw-opengl-ext_texture_compression_latc";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_compression_latc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_compression_latc";
+      asd = "cl-glfw-opengl-ext_texture_compression_latc";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_compression_latc" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_compression_rgtc = {
+    pname = "cl-glfw-opengl-ext_texture_compression_rgtc";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_compression_rgtc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_compression_rgtc";
+      asd = "cl-glfw-opengl-ext_texture_compression_rgtc";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_compression_rgtc" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_compression_s3tc = {
+    pname = "cl-glfw-opengl-ext_texture_compression_s3tc";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_compression_s3tc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_compression_s3tc";
+      asd = "cl-glfw-opengl-ext_texture_compression_s3tc";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_compression_s3tc" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_cube_map = {
+    pname = "cl-glfw-opengl-ext_texture_cube_map";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_cube_map" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_cube_map";
+      asd = "cl-glfw-opengl-ext_texture_cube_map";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_cube_map" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_env_combine = {
+    pname = "cl-glfw-opengl-ext_texture_env_combine";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_env_combine" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_env_combine";
+      asd = "cl-glfw-opengl-ext_texture_env_combine";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_env_combine" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_env_dot3 = {
+    pname = "cl-glfw-opengl-ext_texture_env_dot3";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_env_dot3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_env_dot3";
+      asd = "cl-glfw-opengl-ext_texture_env_dot3";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_env_dot3" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_filter_anisotropic = {
+    pname = "cl-glfw-opengl-ext_texture_filter_anisotropic";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_filter_anisotropic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_filter_anisotropic";
+      asd = "cl-glfw-opengl-ext_texture_filter_anisotropic";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_filter_anisotropic" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_integer = {
+    pname = "cl-glfw-opengl-ext_texture_integer";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_integer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_integer";
+      asd = "cl-glfw-opengl-ext_texture_integer";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_integer" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_lod_bias = {
+    pname = "cl-glfw-opengl-ext_texture_lod_bias";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_lod_bias" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_lod_bias";
+      asd = "cl-glfw-opengl-ext_texture_lod_bias";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_lod_bias" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_mirror_clamp = {
+    pname = "cl-glfw-opengl-ext_texture_mirror_clamp";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_mirror_clamp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_mirror_clamp";
+      asd = "cl-glfw-opengl-ext_texture_mirror_clamp";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_mirror_clamp" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_object = {
+    pname = "cl-glfw-opengl-ext_texture_object";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_object";
+      asd = "cl-glfw-opengl-ext_texture_object";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_object" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_perturb_normal = {
+    pname = "cl-glfw-opengl-ext_texture_perturb_normal";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_perturb_normal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_perturb_normal";
+      asd = "cl-glfw-opengl-ext_texture_perturb_normal";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_perturb_normal" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_shared_exponent = {
+    pname = "cl-glfw-opengl-ext_texture_shared_exponent";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_shared_exponent" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_shared_exponent";
+      asd = "cl-glfw-opengl-ext_texture_shared_exponent";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_shared_exponent" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_snorm = {
+    pname = "cl-glfw-opengl-ext_texture_snorm";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_snorm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_snorm";
+      asd = "cl-glfw-opengl-ext_texture_snorm";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_snorm" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_srgb = {
+    pname = "cl-glfw-opengl-ext_texture_srgb";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_srgb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_srgb";
+      asd = "cl-glfw-opengl-ext_texture_srgb";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_srgb" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_srgb_decode = {
+    pname = "cl-glfw-opengl-ext_texture_srgb_decode";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_srgb_decode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_srgb_decode";
+      asd = "cl-glfw-opengl-ext_texture_srgb_decode";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_srgb_decode" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_texture_swizzle = {
+    pname = "cl-glfw-opengl-ext_texture_swizzle";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_texture_swizzle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_texture_swizzle";
+      asd = "cl-glfw-opengl-ext_texture_swizzle";
+    });
+    systems = [ "cl-glfw-opengl-ext_texture_swizzle" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_timer_query = {
+    pname = "cl-glfw-opengl-ext_timer_query";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_timer_query" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_timer_query";
+      asd = "cl-glfw-opengl-ext_timer_query";
+    });
+    systems = [ "cl-glfw-opengl-ext_timer_query" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_transform_feedback = {
+    pname = "cl-glfw-opengl-ext_transform_feedback";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_transform_feedback" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_transform_feedback";
+      asd = "cl-glfw-opengl-ext_transform_feedback";
+    });
+    systems = [ "cl-glfw-opengl-ext_transform_feedback" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_vertex_array = {
+    pname = "cl-glfw-opengl-ext_vertex_array";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_vertex_array" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_vertex_array";
+      asd = "cl-glfw-opengl-ext_vertex_array";
+    });
+    systems = [ "cl-glfw-opengl-ext_vertex_array" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_vertex_array_bgra = {
+    pname = "cl-glfw-opengl-ext_vertex_array_bgra";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_vertex_array_bgra" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_vertex_array_bgra";
+      asd = "cl-glfw-opengl-ext_vertex_array_bgra";
+    });
+    systems = [ "cl-glfw-opengl-ext_vertex_array_bgra" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_vertex_attrib_64bit = {
+    pname = "cl-glfw-opengl-ext_vertex_attrib_64bit";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_vertex_attrib_64bit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_vertex_attrib_64bit";
+      asd = "cl-glfw-opengl-ext_vertex_attrib_64bit";
+    });
+    systems = [ "cl-glfw-opengl-ext_vertex_attrib_64bit" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_vertex_shader = {
+    pname = "cl-glfw-opengl-ext_vertex_shader";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_vertex_shader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_vertex_shader";
+      asd = "cl-glfw-opengl-ext_vertex_shader";
+    });
+    systems = [ "cl-glfw-opengl-ext_vertex_shader" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ext_vertex_weighting = {
+    pname = "cl-glfw-opengl-ext_vertex_weighting";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ext_vertex_weighting" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ext_vertex_weighting";
+      asd = "cl-glfw-opengl-ext_vertex_weighting";
+    });
+    systems = [ "cl-glfw-opengl-ext_vertex_weighting" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-gremedy_frame_terminator = {
+    pname = "cl-glfw-opengl-gremedy_frame_terminator";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-gremedy_frame_terminator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-gremedy_frame_terminator";
+      asd = "cl-glfw-opengl-gremedy_frame_terminator";
+    });
+    systems = [ "cl-glfw-opengl-gremedy_frame_terminator" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-gremedy_string_marker = {
+    pname = "cl-glfw-opengl-gremedy_string_marker";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-gremedy_string_marker" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-gremedy_string_marker";
+      asd = "cl-glfw-opengl-gremedy_string_marker";
+    });
+    systems = [ "cl-glfw-opengl-gremedy_string_marker" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-hp_convolution_border_modes = {
+    pname = "cl-glfw-opengl-hp_convolution_border_modes";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-hp_convolution_border_modes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-hp_convolution_border_modes";
+      asd = "cl-glfw-opengl-hp_convolution_border_modes";
+    });
+    systems = [ "cl-glfw-opengl-hp_convolution_border_modes" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-hp_image_transform = {
+    pname = "cl-glfw-opengl-hp_image_transform";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-hp_image_transform" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-hp_image_transform";
+      asd = "cl-glfw-opengl-hp_image_transform";
+    });
+    systems = [ "cl-glfw-opengl-hp_image_transform" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-hp_occlusion_test = {
+    pname = "cl-glfw-opengl-hp_occlusion_test";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-hp_occlusion_test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-hp_occlusion_test";
+      asd = "cl-glfw-opengl-hp_occlusion_test";
+    });
+    systems = [ "cl-glfw-opengl-hp_occlusion_test" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-hp_texture_lighting = {
+    pname = "cl-glfw-opengl-hp_texture_lighting";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-hp_texture_lighting" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-hp_texture_lighting";
+      asd = "cl-glfw-opengl-hp_texture_lighting";
+    });
+    systems = [ "cl-glfw-opengl-hp_texture_lighting" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ibm_cull_vertex = {
+    pname = "cl-glfw-opengl-ibm_cull_vertex";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ibm_cull_vertex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ibm_cull_vertex";
+      asd = "cl-glfw-opengl-ibm_cull_vertex";
+    });
+    systems = [ "cl-glfw-opengl-ibm_cull_vertex" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ibm_multimode_draw_arrays = {
+    pname = "cl-glfw-opengl-ibm_multimode_draw_arrays";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ibm_multimode_draw_arrays" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ibm_multimode_draw_arrays";
+      asd = "cl-glfw-opengl-ibm_multimode_draw_arrays";
+    });
+    systems = [ "cl-glfw-opengl-ibm_multimode_draw_arrays" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ibm_rasterpos_clip = {
+    pname = "cl-glfw-opengl-ibm_rasterpos_clip";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ibm_rasterpos_clip" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ibm_rasterpos_clip";
+      asd = "cl-glfw-opengl-ibm_rasterpos_clip";
+    });
+    systems = [ "cl-glfw-opengl-ibm_rasterpos_clip" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ibm_texture_mirrored_repeat = {
+    pname = "cl-glfw-opengl-ibm_texture_mirrored_repeat";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ibm_texture_mirrored_repeat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ibm_texture_mirrored_repeat";
+      asd = "cl-glfw-opengl-ibm_texture_mirrored_repeat";
+    });
+    systems = [ "cl-glfw-opengl-ibm_texture_mirrored_repeat" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ibm_vertex_array_lists = {
+    pname = "cl-glfw-opengl-ibm_vertex_array_lists";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ibm_vertex_array_lists" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ibm_vertex_array_lists";
+      asd = "cl-glfw-opengl-ibm_vertex_array_lists";
+    });
+    systems = [ "cl-glfw-opengl-ibm_vertex_array_lists" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ingr_blend_func_separate = {
+    pname = "cl-glfw-opengl-ingr_blend_func_separate";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ingr_blend_func_separate" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ingr_blend_func_separate";
+      asd = "cl-glfw-opengl-ingr_blend_func_separate";
+    });
+    systems = [ "cl-glfw-opengl-ingr_blend_func_separate" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ingr_color_clamp = {
+    pname = "cl-glfw-opengl-ingr_color_clamp";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ingr_color_clamp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ingr_color_clamp";
+      asd = "cl-glfw-opengl-ingr_color_clamp";
+    });
+    systems = [ "cl-glfw-opengl-ingr_color_clamp" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-ingr_interlace_read = {
+    pname = "cl-glfw-opengl-ingr_interlace_read";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-ingr_interlace_read" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-ingr_interlace_read";
+      asd = "cl-glfw-opengl-ingr_interlace_read";
+    });
+    systems = [ "cl-glfw-opengl-ingr_interlace_read" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-intel_parallel_arrays = {
+    pname = "cl-glfw-opengl-intel_parallel_arrays";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-intel_parallel_arrays" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-intel_parallel_arrays";
+      asd = "cl-glfw-opengl-intel_parallel_arrays";
+    });
+    systems = [ "cl-glfw-opengl-intel_parallel_arrays" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-mesa_pack_invert = {
+    pname = "cl-glfw-opengl-mesa_pack_invert";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-mesa_pack_invert" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-mesa_pack_invert";
+      asd = "cl-glfw-opengl-mesa_pack_invert";
+    });
+    systems = [ "cl-glfw-opengl-mesa_pack_invert" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-mesa_packed_depth_stencil = {
+    pname = "cl-glfw-opengl-mesa_packed_depth_stencil";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-mesa_packed_depth_stencil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-mesa_packed_depth_stencil";
+      asd = "cl-glfw-opengl-mesa_packed_depth_stencil";
+    });
+    systems = [ "cl-glfw-opengl-mesa_packed_depth_stencil" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-mesa_program_debug = {
+    pname = "cl-glfw-opengl-mesa_program_debug";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-mesa_program_debug" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-mesa_program_debug";
+      asd = "cl-glfw-opengl-mesa_program_debug";
+    });
+    systems = [ "cl-glfw-opengl-mesa_program_debug" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-mesa_resize_buffers = {
+    pname = "cl-glfw-opengl-mesa_resize_buffers";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-mesa_resize_buffers" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-mesa_resize_buffers";
+      asd = "cl-glfw-opengl-mesa_resize_buffers";
+    });
+    systems = [ "cl-glfw-opengl-mesa_resize_buffers" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-mesa_shader_debug = {
+    pname = "cl-glfw-opengl-mesa_shader_debug";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-mesa_shader_debug" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-mesa_shader_debug";
+      asd = "cl-glfw-opengl-mesa_shader_debug";
+    });
+    systems = [ "cl-glfw-opengl-mesa_shader_debug" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-mesa_trace = {
+    pname = "cl-glfw-opengl-mesa_trace";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-mesa_trace" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-mesa_trace";
+      asd = "cl-glfw-opengl-mesa_trace";
+    });
+    systems = [ "cl-glfw-opengl-mesa_trace" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-mesa_window_pos = {
+    pname = "cl-glfw-opengl-mesa_window_pos";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-mesa_window_pos" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-mesa_window_pos";
+      asd = "cl-glfw-opengl-mesa_window_pos";
+    });
+    systems = [ "cl-glfw-opengl-mesa_window_pos" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-mesa_ycbcr_texture = {
+    pname = "cl-glfw-opengl-mesa_ycbcr_texture";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-mesa_ycbcr_texture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-mesa_ycbcr_texture";
+      asd = "cl-glfw-opengl-mesa_ycbcr_texture";
+    });
+    systems = [ "cl-glfw-opengl-mesa_ycbcr_texture" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-mesax_texture_stack = {
+    pname = "cl-glfw-opengl-mesax_texture_stack";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-mesax_texture_stack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-mesax_texture_stack";
+      asd = "cl-glfw-opengl-mesax_texture_stack";
+    });
+    systems = [ "cl-glfw-opengl-mesax_texture_stack" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_conditional_render = {
+    pname = "cl-glfw-opengl-nv_conditional_render";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_conditional_render" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_conditional_render";
+      asd = "cl-glfw-opengl-nv_conditional_render";
+    });
+    systems = [ "cl-glfw-opengl-nv_conditional_render" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_copy_depth_to_color = {
+    pname = "cl-glfw-opengl-nv_copy_depth_to_color";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_copy_depth_to_color" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_copy_depth_to_color";
+      asd = "cl-glfw-opengl-nv_copy_depth_to_color";
+    });
+    systems = [ "cl-glfw-opengl-nv_copy_depth_to_color" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_copy_image = {
+    pname = "cl-glfw-opengl-nv_copy_image";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_copy_image" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_copy_image";
+      asd = "cl-glfw-opengl-nv_copy_image";
+    });
+    systems = [ "cl-glfw-opengl-nv_copy_image" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_depth_buffer_float = {
+    pname = "cl-glfw-opengl-nv_depth_buffer_float";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_depth_buffer_float" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_depth_buffer_float";
+      asd = "cl-glfw-opengl-nv_depth_buffer_float";
+    });
+    systems = [ "cl-glfw-opengl-nv_depth_buffer_float" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_depth_clamp = {
+    pname = "cl-glfw-opengl-nv_depth_clamp";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_depth_clamp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_depth_clamp";
+      asd = "cl-glfw-opengl-nv_depth_clamp";
+    });
+    systems = [ "cl-glfw-opengl-nv_depth_clamp" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_evaluators = {
+    pname = "cl-glfw-opengl-nv_evaluators";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_evaluators" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_evaluators";
+      asd = "cl-glfw-opengl-nv_evaluators";
+    });
+    systems = [ "cl-glfw-opengl-nv_evaluators" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_explicit_multisample = {
+    pname = "cl-glfw-opengl-nv_explicit_multisample";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_explicit_multisample" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_explicit_multisample";
+      asd = "cl-glfw-opengl-nv_explicit_multisample";
+    });
+    systems = [ "cl-glfw-opengl-nv_explicit_multisample" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_fence = {
+    pname = "cl-glfw-opengl-nv_fence";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_fence" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_fence";
+      asd = "cl-glfw-opengl-nv_fence";
+    });
+    systems = [ "cl-glfw-opengl-nv_fence" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_float_buffer = {
+    pname = "cl-glfw-opengl-nv_float_buffer";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_float_buffer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_float_buffer";
+      asd = "cl-glfw-opengl-nv_float_buffer";
+    });
+    systems = [ "cl-glfw-opengl-nv_float_buffer" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_fog_distance = {
+    pname = "cl-glfw-opengl-nv_fog_distance";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_fog_distance" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_fog_distance";
+      asd = "cl-glfw-opengl-nv_fog_distance";
+    });
+    systems = [ "cl-glfw-opengl-nv_fog_distance" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_fragment_program = {
+    pname = "cl-glfw-opengl-nv_fragment_program";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_fragment_program" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_fragment_program";
+      asd = "cl-glfw-opengl-nv_fragment_program";
+    });
+    systems = [ "cl-glfw-opengl-nv_fragment_program" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_fragment_program2 = {
+    pname = "cl-glfw-opengl-nv_fragment_program2";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_fragment_program2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_fragment_program2";
+      asd = "cl-glfw-opengl-nv_fragment_program2";
+    });
+    systems = [ "cl-glfw-opengl-nv_fragment_program2" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_framebuffer_multisample_coverage = {
+    pname = "cl-glfw-opengl-nv_framebuffer_multisample_coverage";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_framebuffer_multisample_coverage" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_framebuffer_multisample_coverage";
+      asd = "cl-glfw-opengl-nv_framebuffer_multisample_coverage";
+    });
+    systems = [ "cl-glfw-opengl-nv_framebuffer_multisample_coverage" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_geometry_program4 = {
+    pname = "cl-glfw-opengl-nv_geometry_program4";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_geometry_program4" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_geometry_program4";
+      asd = "cl-glfw-opengl-nv_geometry_program4";
+    });
+    systems = [ "cl-glfw-opengl-nv_geometry_program4" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_gpu_program4 = {
+    pname = "cl-glfw-opengl-nv_gpu_program4";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_gpu_program4" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_gpu_program4";
+      asd = "cl-glfw-opengl-nv_gpu_program4";
+    });
+    systems = [ "cl-glfw-opengl-nv_gpu_program4" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_gpu_program5 = {
+    pname = "cl-glfw-opengl-nv_gpu_program5";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_gpu_program5" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_gpu_program5";
+      asd = "cl-glfw-opengl-nv_gpu_program5";
+    });
+    systems = [ "cl-glfw-opengl-nv_gpu_program5" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_gpu_shader5 = {
+    pname = "cl-glfw-opengl-nv_gpu_shader5";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_gpu_shader5" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_gpu_shader5";
+      asd = "cl-glfw-opengl-nv_gpu_shader5";
+    });
+    systems = [ "cl-glfw-opengl-nv_gpu_shader5" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_half_float = {
+    pname = "cl-glfw-opengl-nv_half_float";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_half_float" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_half_float";
+      asd = "cl-glfw-opengl-nv_half_float";
+    });
+    systems = [ "cl-glfw-opengl-nv_half_float" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_light_max_exponent = {
+    pname = "cl-glfw-opengl-nv_light_max_exponent";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_light_max_exponent" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_light_max_exponent";
+      asd = "cl-glfw-opengl-nv_light_max_exponent";
+    });
+    systems = [ "cl-glfw-opengl-nv_light_max_exponent" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_multisample_coverage = {
+    pname = "cl-glfw-opengl-nv_multisample_coverage";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_multisample_coverage" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_multisample_coverage";
+      asd = "cl-glfw-opengl-nv_multisample_coverage";
+    });
+    systems = [ "cl-glfw-opengl-nv_multisample_coverage" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_multisample_filter_hint = {
+    pname = "cl-glfw-opengl-nv_multisample_filter_hint";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_multisample_filter_hint" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_multisample_filter_hint";
+      asd = "cl-glfw-opengl-nv_multisample_filter_hint";
+    });
+    systems = [ "cl-glfw-opengl-nv_multisample_filter_hint" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_occlusion_query = {
+    pname = "cl-glfw-opengl-nv_occlusion_query";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_occlusion_query" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_occlusion_query";
+      asd = "cl-glfw-opengl-nv_occlusion_query";
+    });
+    systems = [ "cl-glfw-opengl-nv_occlusion_query" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_packed_depth_stencil = {
+    pname = "cl-glfw-opengl-nv_packed_depth_stencil";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_packed_depth_stencil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_packed_depth_stencil";
+      asd = "cl-glfw-opengl-nv_packed_depth_stencil";
+    });
+    systems = [ "cl-glfw-opengl-nv_packed_depth_stencil" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_parameter_buffer_object = {
+    pname = "cl-glfw-opengl-nv_parameter_buffer_object";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_parameter_buffer_object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_parameter_buffer_object";
+      asd = "cl-glfw-opengl-nv_parameter_buffer_object";
+    });
+    systems = [ "cl-glfw-opengl-nv_parameter_buffer_object" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_pixel_data_range = {
+    pname = "cl-glfw-opengl-nv_pixel_data_range";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_pixel_data_range" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_pixel_data_range";
+      asd = "cl-glfw-opengl-nv_pixel_data_range";
+    });
+    systems = [ "cl-glfw-opengl-nv_pixel_data_range" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_point_sprite = {
+    pname = "cl-glfw-opengl-nv_point_sprite";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_point_sprite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_point_sprite";
+      asd = "cl-glfw-opengl-nv_point_sprite";
+    });
+    systems = [ "cl-glfw-opengl-nv_point_sprite" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_present_video = {
+    pname = "cl-glfw-opengl-nv_present_video";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_present_video" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_present_video";
+      asd = "cl-glfw-opengl-nv_present_video";
+    });
+    systems = [ "cl-glfw-opengl-nv_present_video" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_primitive_restart = {
+    pname = "cl-glfw-opengl-nv_primitive_restart";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_primitive_restart" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_primitive_restart";
+      asd = "cl-glfw-opengl-nv_primitive_restart";
+    });
+    systems = [ "cl-glfw-opengl-nv_primitive_restart" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_register_combiners = {
+    pname = "cl-glfw-opengl-nv_register_combiners";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_register_combiners" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_register_combiners";
+      asd = "cl-glfw-opengl-nv_register_combiners";
+    });
+    systems = [ "cl-glfw-opengl-nv_register_combiners" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_register_combiners2 = {
+    pname = "cl-glfw-opengl-nv_register_combiners2";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_register_combiners2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_register_combiners2";
+      asd = "cl-glfw-opengl-nv_register_combiners2";
+    });
+    systems = [ "cl-glfw-opengl-nv_register_combiners2" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_shader_buffer_load = {
+    pname = "cl-glfw-opengl-nv_shader_buffer_load";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_shader_buffer_load" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_shader_buffer_load";
+      asd = "cl-glfw-opengl-nv_shader_buffer_load";
+    });
+    systems = [ "cl-glfw-opengl-nv_shader_buffer_load" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_shader_buffer_store = {
+    pname = "cl-glfw-opengl-nv_shader_buffer_store";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_shader_buffer_store" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_shader_buffer_store";
+      asd = "cl-glfw-opengl-nv_shader_buffer_store";
+    });
+    systems = [ "cl-glfw-opengl-nv_shader_buffer_store" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_tessellation_program5 = {
+    pname = "cl-glfw-opengl-nv_tessellation_program5";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_tessellation_program5" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_tessellation_program5";
+      asd = "cl-glfw-opengl-nv_tessellation_program5";
+    });
+    systems = [ "cl-glfw-opengl-nv_tessellation_program5" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_texgen_emboss = {
+    pname = "cl-glfw-opengl-nv_texgen_emboss";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_texgen_emboss" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_texgen_emboss";
+      asd = "cl-glfw-opengl-nv_texgen_emboss";
+    });
+    systems = [ "cl-glfw-opengl-nv_texgen_emboss" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_texgen_reflection = {
+    pname = "cl-glfw-opengl-nv_texgen_reflection";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_texgen_reflection" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_texgen_reflection";
+      asd = "cl-glfw-opengl-nv_texgen_reflection";
+    });
+    systems = [ "cl-glfw-opengl-nv_texgen_reflection" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_texture_barrier = {
+    pname = "cl-glfw-opengl-nv_texture_barrier";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_texture_barrier" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_texture_barrier";
+      asd = "cl-glfw-opengl-nv_texture_barrier";
+    });
+    systems = [ "cl-glfw-opengl-nv_texture_barrier" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_texture_env_combine4 = {
+    pname = "cl-glfw-opengl-nv_texture_env_combine4";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_texture_env_combine4" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_texture_env_combine4";
+      asd = "cl-glfw-opengl-nv_texture_env_combine4";
+    });
+    systems = [ "cl-glfw-opengl-nv_texture_env_combine4" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_texture_expand_normal = {
+    pname = "cl-glfw-opengl-nv_texture_expand_normal";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_texture_expand_normal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_texture_expand_normal";
+      asd = "cl-glfw-opengl-nv_texture_expand_normal";
+    });
+    systems = [ "cl-glfw-opengl-nv_texture_expand_normal" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_texture_multisample = {
+    pname = "cl-glfw-opengl-nv_texture_multisample";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_texture_multisample" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_texture_multisample";
+      asd = "cl-glfw-opengl-nv_texture_multisample";
+    });
+    systems = [ "cl-glfw-opengl-nv_texture_multisample" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_texture_rectangle = {
+    pname = "cl-glfw-opengl-nv_texture_rectangle";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_texture_rectangle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_texture_rectangle";
+      asd = "cl-glfw-opengl-nv_texture_rectangle";
+    });
+    systems = [ "cl-glfw-opengl-nv_texture_rectangle" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_texture_shader = {
+    pname = "cl-glfw-opengl-nv_texture_shader";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_texture_shader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_texture_shader";
+      asd = "cl-glfw-opengl-nv_texture_shader";
+    });
+    systems = [ "cl-glfw-opengl-nv_texture_shader" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_texture_shader2 = {
+    pname = "cl-glfw-opengl-nv_texture_shader2";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_texture_shader2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_texture_shader2";
+      asd = "cl-glfw-opengl-nv_texture_shader2";
+    });
+    systems = [ "cl-glfw-opengl-nv_texture_shader2" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_texture_shader3 = {
+    pname = "cl-glfw-opengl-nv_texture_shader3";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_texture_shader3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_texture_shader3";
+      asd = "cl-glfw-opengl-nv_texture_shader3";
+    });
+    systems = [ "cl-glfw-opengl-nv_texture_shader3" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_transform_feedback = {
+    pname = "cl-glfw-opengl-nv_transform_feedback";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_transform_feedback" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_transform_feedback";
+      asd = "cl-glfw-opengl-nv_transform_feedback";
+    });
+    systems = [ "cl-glfw-opengl-nv_transform_feedback" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_transform_feedback2 = {
+    pname = "cl-glfw-opengl-nv_transform_feedback2";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_transform_feedback2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_transform_feedback2";
+      asd = "cl-glfw-opengl-nv_transform_feedback2";
+    });
+    systems = [ "cl-glfw-opengl-nv_transform_feedback2" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_vertex_array_range = {
+    pname = "cl-glfw-opengl-nv_vertex_array_range";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_vertex_array_range" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_vertex_array_range";
+      asd = "cl-glfw-opengl-nv_vertex_array_range";
+    });
+    systems = [ "cl-glfw-opengl-nv_vertex_array_range" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_vertex_array_range2 = {
+    pname = "cl-glfw-opengl-nv_vertex_array_range2";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_vertex_array_range2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_vertex_array_range2";
+      asd = "cl-glfw-opengl-nv_vertex_array_range2";
+    });
+    systems = [ "cl-glfw-opengl-nv_vertex_array_range2" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_vertex_attrib_integer_64bit = {
+    pname = "cl-glfw-opengl-nv_vertex_attrib_integer_64bit";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_vertex_attrib_integer_64bit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_vertex_attrib_integer_64bit";
+      asd = "cl-glfw-opengl-nv_vertex_attrib_integer_64bit";
+    });
+    systems = [ "cl-glfw-opengl-nv_vertex_attrib_integer_64bit" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_vertex_buffer_unified_memory = {
+    pname = "cl-glfw-opengl-nv_vertex_buffer_unified_memory";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_vertex_buffer_unified_memory" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_vertex_buffer_unified_memory";
+      asd = "cl-glfw-opengl-nv_vertex_buffer_unified_memory";
+    });
+    systems = [ "cl-glfw-opengl-nv_vertex_buffer_unified_memory" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_vertex_program = {
+    pname = "cl-glfw-opengl-nv_vertex_program";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_vertex_program" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_vertex_program";
+      asd = "cl-glfw-opengl-nv_vertex_program";
+    });
+    systems = [ "cl-glfw-opengl-nv_vertex_program" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_vertex_program2_option = {
+    pname = "cl-glfw-opengl-nv_vertex_program2_option";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_vertex_program2_option" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_vertex_program2_option";
+      asd = "cl-glfw-opengl-nv_vertex_program2_option";
+    });
+    systems = [ "cl-glfw-opengl-nv_vertex_program2_option" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_vertex_program3 = {
+    pname = "cl-glfw-opengl-nv_vertex_program3";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_vertex_program3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_vertex_program3";
+      asd = "cl-glfw-opengl-nv_vertex_program3";
+    });
+    systems = [ "cl-glfw-opengl-nv_vertex_program3" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-nv_vertex_program4 = {
+    pname = "cl-glfw-opengl-nv_vertex_program4";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-nv_vertex_program4" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-nv_vertex_program4";
+      asd = "cl-glfw-opengl-nv_vertex_program4";
+    });
+    systems = [ "cl-glfw-opengl-nv_vertex_program4" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-oes_read_format = {
+    pname = "cl-glfw-opengl-oes_read_format";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-oes_read_format" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-oes_read_format";
+      asd = "cl-glfw-opengl-oes_read_format";
+    });
+    systems = [ "cl-glfw-opengl-oes_read_format" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-oml_interlace = {
+    pname = "cl-glfw-opengl-oml_interlace";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-oml_interlace" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-oml_interlace";
+      asd = "cl-glfw-opengl-oml_interlace";
+    });
+    systems = [ "cl-glfw-opengl-oml_interlace" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-oml_resample = {
+    pname = "cl-glfw-opengl-oml_resample";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-oml_resample" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-oml_resample";
+      asd = "cl-glfw-opengl-oml_resample";
+    });
+    systems = [ "cl-glfw-opengl-oml_resample" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-oml_subsample = {
+    pname = "cl-glfw-opengl-oml_subsample";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-oml_subsample" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-oml_subsample";
+      asd = "cl-glfw-opengl-oml_subsample";
+    });
+    systems = [ "cl-glfw-opengl-oml_subsample" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-pgi_misc_hints = {
+    pname = "cl-glfw-opengl-pgi_misc_hints";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-pgi_misc_hints" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-pgi_misc_hints";
+      asd = "cl-glfw-opengl-pgi_misc_hints";
+    });
+    systems = [ "cl-glfw-opengl-pgi_misc_hints" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-pgi_vertex_hints = {
+    pname = "cl-glfw-opengl-pgi_vertex_hints";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-pgi_vertex_hints" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-pgi_vertex_hints";
+      asd = "cl-glfw-opengl-pgi_vertex_hints";
+    });
+    systems = [ "cl-glfw-opengl-pgi_vertex_hints" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-rend_screen_coordinates = {
+    pname = "cl-glfw-opengl-rend_screen_coordinates";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-rend_screen_coordinates" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-rend_screen_coordinates";
+      asd = "cl-glfw-opengl-rend_screen_coordinates";
+    });
+    systems = [ "cl-glfw-opengl-rend_screen_coordinates" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-s3_s3tc = {
+    pname = "cl-glfw-opengl-s3_s3tc";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-s3_s3tc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-s3_s3tc";
+      asd = "cl-glfw-opengl-s3_s3tc";
+    });
+    systems = [ "cl-glfw-opengl-s3_s3tc" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgi_color_table = {
+    pname = "cl-glfw-opengl-sgi_color_table";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgi_color_table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgi_color_table";
+      asd = "cl-glfw-opengl-sgi_color_table";
+    });
+    systems = [ "cl-glfw-opengl-sgi_color_table" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgi_depth_pass_instrument = {
+    pname = "cl-glfw-opengl-sgi_depth_pass_instrument";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgi_depth_pass_instrument" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgi_depth_pass_instrument";
+      asd = "cl-glfw-opengl-sgi_depth_pass_instrument";
+    });
+    systems = [ "cl-glfw-opengl-sgi_depth_pass_instrument" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgis_detail_texture = {
+    pname = "cl-glfw-opengl-sgis_detail_texture";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgis_detail_texture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgis_detail_texture";
+      asd = "cl-glfw-opengl-sgis_detail_texture";
+    });
+    systems = [ "cl-glfw-opengl-sgis_detail_texture" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgis_fog_function = {
+    pname = "cl-glfw-opengl-sgis_fog_function";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgis_fog_function" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgis_fog_function";
+      asd = "cl-glfw-opengl-sgis_fog_function";
+    });
+    systems = [ "cl-glfw-opengl-sgis_fog_function" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgis_multisample = {
+    pname = "cl-glfw-opengl-sgis_multisample";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgis_multisample" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgis_multisample";
+      asd = "cl-glfw-opengl-sgis_multisample";
+    });
+    systems = [ "cl-glfw-opengl-sgis_multisample" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgis_pixel_texture = {
+    pname = "cl-glfw-opengl-sgis_pixel_texture";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgis_pixel_texture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgis_pixel_texture";
+      asd = "cl-glfw-opengl-sgis_pixel_texture";
+    });
+    systems = [ "cl-glfw-opengl-sgis_pixel_texture" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgis_point_parameters = {
+    pname = "cl-glfw-opengl-sgis_point_parameters";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgis_point_parameters" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgis_point_parameters";
+      asd = "cl-glfw-opengl-sgis_point_parameters";
+    });
+    systems = [ "cl-glfw-opengl-sgis_point_parameters" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgis_sharpen_texture = {
+    pname = "cl-glfw-opengl-sgis_sharpen_texture";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgis_sharpen_texture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgis_sharpen_texture";
+      asd = "cl-glfw-opengl-sgis_sharpen_texture";
+    });
+    systems = [ "cl-glfw-opengl-sgis_sharpen_texture" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgis_texture4d = {
+    pname = "cl-glfw-opengl-sgis_texture4d";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgis_texture4d" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgis_texture4d";
+      asd = "cl-glfw-opengl-sgis_texture4d";
+    });
+    systems = [ "cl-glfw-opengl-sgis_texture4d" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgis_texture_color_mask = {
+    pname = "cl-glfw-opengl-sgis_texture_color_mask";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgis_texture_color_mask" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgis_texture_color_mask";
+      asd = "cl-glfw-opengl-sgis_texture_color_mask";
+    });
+    systems = [ "cl-glfw-opengl-sgis_texture_color_mask" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgis_texture_filter4 = {
+    pname = "cl-glfw-opengl-sgis_texture_filter4";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgis_texture_filter4" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgis_texture_filter4";
+      asd = "cl-glfw-opengl-sgis_texture_filter4";
+    });
+    systems = [ "cl-glfw-opengl-sgis_texture_filter4" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgis_texture_select = {
+    pname = "cl-glfw-opengl-sgis_texture_select";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgis_texture_select" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgis_texture_select";
+      asd = "cl-glfw-opengl-sgis_texture_select";
+    });
+    systems = [ "cl-glfw-opengl-sgis_texture_select" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_async = {
+    pname = "cl-glfw-opengl-sgix_async";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_async" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_async";
+      asd = "cl-glfw-opengl-sgix_async";
+    });
+    systems = [ "cl-glfw-opengl-sgix_async" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_depth_texture = {
+    pname = "cl-glfw-opengl-sgix_depth_texture";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_depth_texture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_depth_texture";
+      asd = "cl-glfw-opengl-sgix_depth_texture";
+    });
+    systems = [ "cl-glfw-opengl-sgix_depth_texture" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_flush_raster = {
+    pname = "cl-glfw-opengl-sgix_flush_raster";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_flush_raster" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_flush_raster";
+      asd = "cl-glfw-opengl-sgix_flush_raster";
+    });
+    systems = [ "cl-glfw-opengl-sgix_flush_raster" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_fog_scale = {
+    pname = "cl-glfw-opengl-sgix_fog_scale";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_fog_scale" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_fog_scale";
+      asd = "cl-glfw-opengl-sgix_fog_scale";
+    });
+    systems = [ "cl-glfw-opengl-sgix_fog_scale" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_fragment_lighting = {
+    pname = "cl-glfw-opengl-sgix_fragment_lighting";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_fragment_lighting" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_fragment_lighting";
+      asd = "cl-glfw-opengl-sgix_fragment_lighting";
+    });
+    systems = [ "cl-glfw-opengl-sgix_fragment_lighting" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_framezoom = {
+    pname = "cl-glfw-opengl-sgix_framezoom";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_framezoom" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_framezoom";
+      asd = "cl-glfw-opengl-sgix_framezoom";
+    });
+    systems = [ "cl-glfw-opengl-sgix_framezoom" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_igloo_interface = {
+    pname = "cl-glfw-opengl-sgix_igloo_interface";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_igloo_interface" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_igloo_interface";
+      asd = "cl-glfw-opengl-sgix_igloo_interface";
+    });
+    systems = [ "cl-glfw-opengl-sgix_igloo_interface" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_instruments = {
+    pname = "cl-glfw-opengl-sgix_instruments";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_instruments" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_instruments";
+      asd = "cl-glfw-opengl-sgix_instruments";
+    });
+    systems = [ "cl-glfw-opengl-sgix_instruments" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_line_quality_hint = {
+    pname = "cl-glfw-opengl-sgix_line_quality_hint";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_line_quality_hint" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_line_quality_hint";
+      asd = "cl-glfw-opengl-sgix_line_quality_hint";
+    });
+    systems = [ "cl-glfw-opengl-sgix_line_quality_hint" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_list_priority = {
+    pname = "cl-glfw-opengl-sgix_list_priority";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_list_priority" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_list_priority";
+      asd = "cl-glfw-opengl-sgix_list_priority";
+    });
+    systems = [ "cl-glfw-opengl-sgix_list_priority" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_pixel_texture = {
+    pname = "cl-glfw-opengl-sgix_pixel_texture";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_pixel_texture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_pixel_texture";
+      asd = "cl-glfw-opengl-sgix_pixel_texture";
+    });
+    systems = [ "cl-glfw-opengl-sgix_pixel_texture" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_polynomial_ffd = {
+    pname = "cl-glfw-opengl-sgix_polynomial_ffd";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_polynomial_ffd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_polynomial_ffd";
+      asd = "cl-glfw-opengl-sgix_polynomial_ffd";
+    });
+    systems = [ "cl-glfw-opengl-sgix_polynomial_ffd" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_reference_plane = {
+    pname = "cl-glfw-opengl-sgix_reference_plane";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_reference_plane" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_reference_plane";
+      asd = "cl-glfw-opengl-sgix_reference_plane";
+    });
+    systems = [ "cl-glfw-opengl-sgix_reference_plane" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_resample = {
+    pname = "cl-glfw-opengl-sgix_resample";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_resample" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_resample";
+      asd = "cl-glfw-opengl-sgix_resample";
+    });
+    systems = [ "cl-glfw-opengl-sgix_resample" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_scalebias_hint = {
+    pname = "cl-glfw-opengl-sgix_scalebias_hint";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_scalebias_hint" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_scalebias_hint";
+      asd = "cl-glfw-opengl-sgix_scalebias_hint";
+    });
+    systems = [ "cl-glfw-opengl-sgix_scalebias_hint" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_shadow = {
+    pname = "cl-glfw-opengl-sgix_shadow";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_shadow" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_shadow";
+      asd = "cl-glfw-opengl-sgix_shadow";
+    });
+    systems = [ "cl-glfw-opengl-sgix_shadow" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_shadow_ambient = {
+    pname = "cl-glfw-opengl-sgix_shadow_ambient";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_shadow_ambient" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_shadow_ambient";
+      asd = "cl-glfw-opengl-sgix_shadow_ambient";
+    });
+    systems = [ "cl-glfw-opengl-sgix_shadow_ambient" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_slim = {
+    pname = "cl-glfw-opengl-sgix_slim";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_slim" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_slim";
+      asd = "cl-glfw-opengl-sgix_slim";
+    });
+    systems = [ "cl-glfw-opengl-sgix_slim" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_sprite = {
+    pname = "cl-glfw-opengl-sgix_sprite";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_sprite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_sprite";
+      asd = "cl-glfw-opengl-sgix_sprite";
+    });
+    systems = [ "cl-glfw-opengl-sgix_sprite" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_tag_sample_buffer = {
+    pname = "cl-glfw-opengl-sgix_tag_sample_buffer";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_tag_sample_buffer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_tag_sample_buffer";
+      asd = "cl-glfw-opengl-sgix_tag_sample_buffer";
+    });
+    systems = [ "cl-glfw-opengl-sgix_tag_sample_buffer" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_texture_coordinate_clamp = {
+    pname = "cl-glfw-opengl-sgix_texture_coordinate_clamp";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_texture_coordinate_clamp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_texture_coordinate_clamp";
+      asd = "cl-glfw-opengl-sgix_texture_coordinate_clamp";
+    });
+    systems = [ "cl-glfw-opengl-sgix_texture_coordinate_clamp" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_texture_lod_bias = {
+    pname = "cl-glfw-opengl-sgix_texture_lod_bias";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_texture_lod_bias" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_texture_lod_bias";
+      asd = "cl-glfw-opengl-sgix_texture_lod_bias";
+    });
+    systems = [ "cl-glfw-opengl-sgix_texture_lod_bias" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_texture_multi_buffer = {
+    pname = "cl-glfw-opengl-sgix_texture_multi_buffer";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_texture_multi_buffer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_texture_multi_buffer";
+      asd = "cl-glfw-opengl-sgix_texture_multi_buffer";
+    });
+    systems = [ "cl-glfw-opengl-sgix_texture_multi_buffer" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sgix_ycrcba = {
+    pname = "cl-glfw-opengl-sgix_ycrcba";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sgix_ycrcba" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sgix_ycrcba";
+      asd = "cl-glfw-opengl-sgix_ycrcba";
+    });
+    systems = [ "cl-glfw-opengl-sgix_ycrcba" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sun_convolution_border_modes = {
+    pname = "cl-glfw-opengl-sun_convolution_border_modes";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sun_convolution_border_modes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sun_convolution_border_modes";
+      asd = "cl-glfw-opengl-sun_convolution_border_modes";
+    });
+    systems = [ "cl-glfw-opengl-sun_convolution_border_modes" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sun_global_alpha = {
+    pname = "cl-glfw-opengl-sun_global_alpha";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sun_global_alpha" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sun_global_alpha";
+      asd = "cl-glfw-opengl-sun_global_alpha";
+    });
+    systems = [ "cl-glfw-opengl-sun_global_alpha" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sun_mesh_array = {
+    pname = "cl-glfw-opengl-sun_mesh_array";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sun_mesh_array" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sun_mesh_array";
+      asd = "cl-glfw-opengl-sun_mesh_array";
+    });
+    systems = [ "cl-glfw-opengl-sun_mesh_array" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sun_slice_accum = {
+    pname = "cl-glfw-opengl-sun_slice_accum";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sun_slice_accum" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sun_slice_accum";
+      asd = "cl-glfw-opengl-sun_slice_accum";
+    });
+    systems = [ "cl-glfw-opengl-sun_slice_accum" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sun_triangle_list = {
+    pname = "cl-glfw-opengl-sun_triangle_list";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sun_triangle_list" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sun_triangle_list";
+      asd = "cl-glfw-opengl-sun_triangle_list";
+    });
+    systems = [ "cl-glfw-opengl-sun_triangle_list" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sun_vertex = {
+    pname = "cl-glfw-opengl-sun_vertex";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sun_vertex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sun_vertex";
+      asd = "cl-glfw-opengl-sun_vertex";
+    });
+    systems = [ "cl-glfw-opengl-sun_vertex" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-sunx_constant_data = {
+    pname = "cl-glfw-opengl-sunx_constant_data";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-sunx_constant_data" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-sunx_constant_data";
+      asd = "cl-glfw-opengl-sunx_constant_data";
+    });
+    systems = [ "cl-glfw-opengl-sunx_constant_data" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-version_1_0 = {
+    pname = "cl-glfw-opengl-version_1_0";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-version_1_0" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-version_1_0";
+      asd = "cl-glfw-opengl-version_1_0";
+    });
+    systems = [ "cl-glfw-opengl-version_1_0" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-version_1_1 = {
+    pname = "cl-glfw-opengl-version_1_1";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-version_1_1" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-version_1_1";
+      asd = "cl-glfw-opengl-version_1_1";
+    });
+    systems = [ "cl-glfw-opengl-version_1_1" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-version_1_2 = {
+    pname = "cl-glfw-opengl-version_1_2";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-version_1_2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-version_1_2";
+      asd = "cl-glfw-opengl-version_1_2";
+    });
+    systems = [ "cl-glfw-opengl-version_1_2" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-version_1_3 = {
+    pname = "cl-glfw-opengl-version_1_3";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-version_1_3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-version_1_3";
+      asd = "cl-glfw-opengl-version_1_3";
+    });
+    systems = [ "cl-glfw-opengl-version_1_3" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-version_1_4 = {
+    pname = "cl-glfw-opengl-version_1_4";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-version_1_4" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-version_1_4";
+      asd = "cl-glfw-opengl-version_1_4";
+    });
+    systems = [ "cl-glfw-opengl-version_1_4" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-version_1_5 = {
+    pname = "cl-glfw-opengl-version_1_5";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-version_1_5" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-version_1_5";
+      asd = "cl-glfw-opengl-version_1_5";
+    });
+    systems = [ "cl-glfw-opengl-version_1_5" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-version_2_0 = {
+    pname = "cl-glfw-opengl-version_2_0";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-version_2_0" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-version_2_0";
+      asd = "cl-glfw-opengl-version_2_0";
+    });
+    systems = [ "cl-glfw-opengl-version_2_0" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-version_2_1 = {
+    pname = "cl-glfw-opengl-version_2_1";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-version_2_1" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-version_2_1";
+      asd = "cl-glfw-opengl-version_2_1";
+    });
+    systems = [ "cl-glfw-opengl-version_2_1" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-win_phong_shading = {
+    pname = "cl-glfw-opengl-win_phong_shading";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-win_phong_shading" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-win_phong_shading";
+      asd = "cl-glfw-opengl-win_phong_shading";
+    });
+    systems = [ "cl-glfw-opengl-win_phong_shading" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-opengl-win_specular_fog = {
+    pname = "cl-glfw-opengl-win_specular_fog";
+    version = "20150302-git";
+    asds = [ "cl-glfw-opengl-win_specular_fog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-opengl-win_specular_fog";
+      asd = "cl-glfw-opengl-win_specular_fog";
+    });
+    systems = [ "cl-glfw-opengl-win_specular_fog" ];
+    lispLibs = [ (getAttr "cl-glfw-opengl-core" pkgs) ];
+  };
+  cl-glfw-types = {
+    pname = "cl-glfw-types";
+    version = "20150302-git";
+    asds = [ "cl-glfw-types" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw/2015-03-02/cl-glfw-20150302-git.tgz";
+      sha256 = "07zgrvv480h1xid1f50vj61d1xcrick2dqw04swac4137w9rwpj6";
+      system = "cl-glfw-types";
+      asd = "cl-glfw-types";
+    });
+    systems = [ "cl-glfw-types" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-glfw3 = {
+    pname = "cl-glfw3";
+    version = "20210531-git";
+    asds = [ "cl-glfw3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw3/2021-05-31/cl-glfw3-20210531-git.tgz";
+      sha256 = "1wzr43nckdx4rlgxzhm1r4kfc264q969mc43y0js9ramh7l8gba5";
+      system = "cl-glfw3";
+      asd = "cl-glfw3";
+    });
+    systems = [ "cl-glfw3" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) ];
+  };
+  cl-glfw3-examples = {
+    pname = "cl-glfw3-examples";
+    version = "20210531-git";
+    asds = [ "cl-glfw3-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-glfw3/2021-05-31/cl-glfw3-20210531-git.tgz";
+      sha256 = "1wzr43nckdx4rlgxzhm1r4kfc264q969mc43y0js9ramh7l8gba5";
+      system = "cl-glfw3-examples";
+      asd = "cl-glfw3-examples";
+    });
+    systems = [ "cl-glfw3-examples" ];
+    lispLibs = [ (getAttr "cl-glfw3" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "trivial-main-thread" pkgs) ];
+  };
+  cl-glu = {
+    pname = "cl-glu";
+    version = "20191130-git";
+    asds = [ "cl-glu" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-opengl/2019-11-30/cl-opengl-20191130-git.tgz";
+      sha256 = "0mhqmll09f079pnd6mgswz9nvr6h5n27d4q7zpmm2igf1v460id7";
+      system = "cl-glu";
+      asd = "cl-glu";
+    });
+    systems = [ "cl-glu" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-opengl" pkgs) ];
+  };
+  cl-glut = {
+    pname = "cl-glut";
+    version = "20191130-git";
+    asds = [ "cl-glut" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-opengl/2019-11-30/cl-opengl-20191130-git.tgz";
+      sha256 = "0mhqmll09f079pnd6mgswz9nvr6h5n27d4q7zpmm2igf1v460id7";
+      system = "cl-glut";
+      asd = "cl-glut";
+    });
+    systems = [ "cl-glut" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-opengl" pkgs) ];
+  };
+  cl-glut-examples = {
+    pname = "cl-glut-examples";
+    version = "20191130-git";
+    asds = [ "cl-glut-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-opengl/2019-11-30/cl-opengl-20191130-git.tgz";
+      sha256 = "0mhqmll09f079pnd6mgswz9nvr6h5n27d4q7zpmm2igf1v460id7";
+      system = "cl-glut-examples";
+      asd = "cl-glut-examples";
+    });
+    systems = [ "cl-glut-examples" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-glu" pkgs) (getAttr "cl-glut" pkgs) (getAttr "cl-opengl" pkgs) ];
+  };
+  cl-gobject-introspection = {
+    pname = "cl-gobject-introspection";
+    version = "20210124-git";
+    asds = [ "cl-gobject-introspection" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gobject-introspection/2021-01-24/cl-gobject-introspection-20210124-git.tgz";
+      sha256 = "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p";
+      system = "cl-gobject-introspection";
+      asd = "cl-gobject-introspection";
+    });
+    systems = [ "cl-gobject-introspection" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "iterate" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-gobject-introspection-test = {
+    pname = "cl-gobject-introspection-test";
+    version = "20210124-git";
+    asds = [ "cl-gobject-introspection-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gobject-introspection/2021-01-24/cl-gobject-introspection-20210124-git.tgz";
+      sha256 = "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p";
+      system = "cl-gobject-introspection-test";
+      asd = "cl-gobject-introspection-test";
+    });
+    systems = [ "cl-gobject-introspection-test" ];
+    lispLibs = [ (getAttr "cl-gobject-introspection" pkgs) (getAttr "fiveam" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-gopher = {
+    pname = "cl-gopher";
+    version = "20180711-git";
+    asds = [ "cl-gopher" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gopher/2018-07-11/cl-gopher-20180711-git.tgz";
+      sha256 = "1dilgbnbgbrn7wglv8n03kpgc94l43mgv9y0akg7h5mwn8ii5p6m";
+      system = "cl-gopher";
+      asd = "cl-gopher";
+    });
+    systems = [ "cl-gopher" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "drakma" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "quri" pkgs) (getAttr "split-sequence" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-gpio = {
+    pname = "cl-gpio";
+    version = "20211209-git";
+    asds = [ "cl-gpio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gpio/2021-12-09/cl-gpio-20211209-git.tgz";
+      sha256 = "0kc8vi0rb9c3952p3qmc3c23pdb6yfg21bbrg4jrgdar0k0ldz5a";
+      system = "cl-gpio";
+      asd = "cl-gpio";
+    });
+    systems = [ "cl-gpio" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) ];
+  };
+  cl-graph = {
+    pname = "cl-graph";
+    version = "20171227-git";
+    asds = [ "cl-graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-graph/2017-12-27/cl-graph-20171227-git.tgz";
+      sha256 = "1748rj52f2jmd5jvsy9jwhn0zf73sjzjhwhnljvq6yi2kdqr30kl";
+      system = "cl-graph";
+      asd = "cl-graph";
+    });
+    systems = [ "cl-graph" ];
+    lispLibs = [ (getAttr "asdf-system-connections" pkgs) (getAttr "cl-containers" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "metatilities-base" pkgs) ];
+  };
+  cl-graph_plus_hu_dot_dwim_dot_graphviz = {
+    pname = "cl-graph+hu.dwim.graphviz";
+    version = "20171227-git";
+    asds = [ "cl-graph+hu.dwim.graphviz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-graph/2017-12-27/cl-graph-20171227-git.tgz";
+      sha256 = "1748rj52f2jmd5jvsy9jwhn0zf73sjzjhwhnljvq6yi2kdqr30kl";
+      system = "cl-graph+hu.dwim.graphviz";
+      asd = "cl-graph+hu.dwim.graphviz";
+    });
+    systems = [ "cl-graph+hu.dwim.graphviz" ];
+    lispLibs = [ (getAttr "cl-graph" pkgs) (getAttr "hu_dot_dwim_dot_graphviz" pkgs) ];
+  };
+  cl-graph_slash_with-cl-mathstats = {
+    pname = "cl-graph_with-cl-mathstats";
+    version = "20171227-git";
+    asds = [ "cl-graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-graph/2017-12-27/cl-graph-20171227-git.tgz";
+      sha256 = "1748rj52f2jmd5jvsy9jwhn0zf73sjzjhwhnljvq6yi2kdqr30kl";
+      system = "cl-graph";
+      asd = "cl-graph";
+    });
+    systems = [ "cl-graph/with-cl-mathstats" ];
+    lispLibs = [ (getAttr "cl-graph" pkgs) (getAttr "cl-mathstats" pkgs) ];
+  };
+  cl-graph_slash_with-dynamic-classes = {
+    pname = "cl-graph_with-dynamic-classes";
+    version = "20171227-git";
+    asds = [ "cl-graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-graph/2017-12-27/cl-graph-20171227-git.tgz";
+      sha256 = "1748rj52f2jmd5jvsy9jwhn0zf73sjzjhwhnljvq6yi2kdqr30kl";
+      system = "cl-graph";
+      asd = "cl-graph";
+    });
+    systems = [ "cl-graph/with-dynamic-classes" ];
+    lispLibs = [ (getAttr "cl-graph" pkgs) (getAttr "dynamic-classes" pkgs) ];
+  };
+  cl-graph_slash_with-metacopy = {
+    pname = "cl-graph_with-metacopy";
+    version = "20171227-git";
+    asds = [ "cl-graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-graph/2017-12-27/cl-graph-20171227-git.tgz";
+      sha256 = "1748rj52f2jmd5jvsy9jwhn0zf73sjzjhwhnljvq6yi2kdqr30kl";
+      system = "cl-graph";
+      asd = "cl-graph";
+    });
+    systems = [ "cl-graph/with-metacopy" ];
+    lispLibs = [ (getAttr "cl-graph" pkgs) (getAttr "metacopy" pkgs) ];
+  };
+  cl-graph_slash_with-moptilities = {
+    pname = "cl-graph_with-moptilities";
+    version = "20171227-git";
+    asds = [ "cl-graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-graph/2017-12-27/cl-graph-20171227-git.tgz";
+      sha256 = "1748rj52f2jmd5jvsy9jwhn0zf73sjzjhwhnljvq6yi2kdqr30kl";
+      system = "cl-graph";
+      asd = "cl-graph";
+    });
+    systems = [ "cl-graph/with-moptilities" ];
+    lispLibs = [ (getAttr "cl-graph" pkgs) (getAttr "moptilities" pkgs) ];
+  };
+  cl-grip = {
+    pname = "cl-grip";
+    version = "20211020-git";
+    asds = [ "cl-grip" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-grip/2021-10-20/cl-grip-20211020-git.tgz";
+      sha256 = "1qplxq5082wai2blmq29a852jv5kdzwc8n9qlv0kqysjppph0hqz";
+      system = "cl-grip";
+      asd = "cl-grip";
+    });
+    systems = [ "cl-grip" ];
+    lispLibs = [ (getAttr "cl-strings" pkgs) (getAttr "local-time" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  cl-grnm = {
+    pname = "cl-grnm";
+    version = "20180131-git";
+    asds = [ "cl-grnm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-grnm/2018-01-31/cl-grnm-20180131-git.tgz";
+      sha256 = "1hb5n37n3x2ylrghcqsia2g9a6f5wg24l659jiz4ncpi5bsv4m3s";
+      system = "cl-grnm";
+      asd = "cl-grnm";
+    });
+    systems = [ "cl-grnm" ];
+    lispLibs = [  ];
+  };
+  cl-growl = {
+    pname = "cl-growl";
+    version = "20161208-git";
+    asds = [ "cl-growl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-growl/2016-12-08/cl-growl-20161208-git.tgz";
+      sha256 = "1qgj3sq22dznwxj1b3rw0099fsf6wgfbc63r376pab74kdnji3n6";
+      system = "cl-growl";
+      asd = "cl-growl";
+    });
+    systems = [ "cl-growl" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) (getAttr "ironclad" pkgs) (getAttr "trivial-utf-8" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-gserver = {
+    pname = "cl-gserver";
+    version = "20211230-git";
+    asds = [ "cl-gserver" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gserver/2021-12-30/cl-gserver-20211230-git.tgz";
+      sha256 = "1f0l90ipl566nfzsbhbdyhp99lrm16v4sbl1gb76caly2pg6qpak";
+      system = "cl-gserver";
+      asd = "cl-gserver";
+    });
+    systems = [ "cl-gserver" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "atomics" pkgs) (getAttr "binding-arrows" pkgs) (getAttr "blackbird" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-speedy-queue" pkgs) (getAttr "str" pkgs) (getAttr "log4cl" pkgs) (getAttr "lparallel" pkgs) (getAttr "timer-wheel" pkgs) ];
+  };
+  cl-gserver_slash_docs = {
+    pname = "cl-gserver_docs";
+    version = "20211230-git";
+    asds = [ "cl-gserver" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gserver/2021-12-30/cl-gserver-20211230-git.tgz";
+      sha256 = "1f0l90ipl566nfzsbhbdyhp99lrm16v4sbl1gb76caly2pg6qpak";
+      system = "cl-gserver";
+      asd = "cl-gserver";
+    });
+    systems = [ "cl-gserver/docs" ];
+    lispLibs = [ (getAttr "cl-gserver" pkgs) (getAttr "mgl-pax" pkgs) ];
+  };
+  cl-gserver_slash_tests = {
+    pname = "cl-gserver_tests";
+    version = "20211230-git";
+    asds = [ "cl-gserver" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gserver/2021-12-30/cl-gserver-20211230-git.tgz";
+      sha256 = "1f0l90ipl566nfzsbhbdyhp99lrm16v4sbl1gb76caly2pg6qpak";
+      system = "cl-gserver";
+      asd = "cl-gserver";
+    });
+    systems = [ "cl-gserver/tests" ];
+    lispLibs = [ (getAttr "cl-gserver" pkgs) (getAttr "cl-mock" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-gss = {
+    pname = "cl-gss";
+    version = "20180228-git";
+    asds = [ "cl-gss" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gss/2018-02-28/cl-gss-20180228-git.tgz";
+      sha256 = "0zhxxn3zarird255s9i56bz0fm6dkv00mn8bbsjrhskg3wpcg4pb";
+      system = "cl-gss";
+      asd = "cl-gss";
+    });
+    systems = [ "cl-gss" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  cl-gtk2-gdk = {
+    pname = "cl-gtk2-gdk";
+    version = "20211020-git";
+    asds = [ "cl-gtk2-gdk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gtk2/2021-10-20/cl-gtk2-20211020-git.tgz";
+      sha256 = "1lnrwd7s47cmksllim56mcg9l5m6jrwv6f0q1hq5lr8xpi5ix9vx";
+      system = "cl-gtk2-gdk";
+      asd = "cl-gtk2-gdk";
+    });
+    systems = [ "cl-gtk2-gdk" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-gtk2-glib" pkgs) (getAttr "cl-gtk2-pango" pkgs) ];
+  };
+  cl-gtk2-glib = {
+    pname = "cl-gtk2-glib";
+    version = "20211020-git";
+    asds = [ "cl-gtk2-glib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gtk2/2021-10-20/cl-gtk2-20211020-git.tgz";
+      sha256 = "1lnrwd7s47cmksllim56mcg9l5m6jrwv6f0q1hq5lr8xpi5ix9vx";
+      system = "cl-gtk2-glib";
+      asd = "cl-gtk2-glib";
+    });
+    systems = [ "cl-gtk2-glib" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-gtk2-pango = {
+    pname = "cl-gtk2-pango";
+    version = "20211020-git";
+    asds = [ "cl-gtk2-pango" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gtk2/2021-10-20/cl-gtk2-20211020-git.tgz";
+      sha256 = "1lnrwd7s47cmksllim56mcg9l5m6jrwv6f0q1hq5lr8xpi5ix9vx";
+      system = "cl-gtk2-pango";
+      asd = "cl-gtk2-pango";
+    });
+    systems = [ "cl-gtk2-pango" ];
+    lispLibs = [ (getAttr "cl-gtk2-glib" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-haml = {
+    pname = "cl-haml";
+    version = "20180228-git";
+    asds = [ "cl-haml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-haml/2018-02-28/cl-haml-20180228-git.tgz";
+      sha256 = "017qr3509ha2680h3c8ip5rqyfaz7v9hfjmx0pg1wrjqw8vyjyb5";
+      system = "cl-haml";
+      asd = "cl-haml";
+    });
+    systems = [ "cl-haml" ];
+    lispLibs = [ (getAttr "cl-who" pkgs) ];
+  };
+  cl-haml-test = {
+    pname = "cl-haml-test";
+    version = "20180228-git";
+    asds = [ "cl-haml-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-haml/2018-02-28/cl-haml-20180228-git.tgz";
+      sha256 = "017qr3509ha2680h3c8ip5rqyfaz7v9hfjmx0pg1wrjqw8vyjyb5";
+      system = "cl-haml-test";
+      asd = "cl-haml";
+    });
+    systems = [ "cl-haml-test" ];
+    lispLibs = [ (getAttr "cl-haml" pkgs) (getAttr "cl-test-more" pkgs) ];
+  };
+  cl-hamt = {
+    pname = "cl-hamt";
+    version = "20200325-git";
+    asds = [ "cl-hamt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-hamt/2020-03-25/cl-hamt-20200325-git.tgz";
+      sha256 = "1ycbd73ykfj5j9sdhlzamyv18qbjj6xqf7fhm4fa0nsyr6sr3rf5";
+      system = "cl-hamt";
+      asd = "cl-hamt";
+    });
+    systems = [ "cl-hamt" ];
+    lispLibs = [ (getAttr "cl-murmurhash" pkgs) ];
+  };
+  cl-hamt-examples = {
+    pname = "cl-hamt-examples";
+    version = "20200325-git";
+    asds = [ "cl-hamt-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-hamt/2020-03-25/cl-hamt-20200325-git.tgz";
+      sha256 = "1ycbd73ykfj5j9sdhlzamyv18qbjj6xqf7fhm4fa0nsyr6sr3rf5";
+      system = "cl-hamt-examples";
+      asd = "cl-hamt-examples";
+    });
+    systems = [ "cl-hamt-examples" ];
+    lispLibs = [ (getAttr "cl-hamt" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) ];
+  };
+  cl-hamt-test = {
+    pname = "cl-hamt-test";
+    version = "20200325-git";
+    asds = [ "cl-hamt-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-hamt/2020-03-25/cl-hamt-20200325-git.tgz";
+      sha256 = "1ycbd73ykfj5j9sdhlzamyv18qbjj6xqf7fhm4fa0nsyr6sr3rf5";
+      system = "cl-hamt-test";
+      asd = "cl-hamt-test";
+    });
+    systems = [ "cl-hamt-test" ];
+    lispLibs = [ (getAttr "cl-hamt" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-hash-table-destructuring = {
+    pname = "cl-hash-table-destructuring";
+    version = "20160531-git";
+    asds = [ "cl-hash-table-destructuring" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-hash-table-destructuring/2016-05-31/cl-hash-table-destructuring-20160531-git.tgz";
+      sha256 = "0za8jlqfvsilmnidk429509vbdd18w7ykcycni411pjpz0lxrh1v";
+      system = "cl-hash-table-destructuring";
+      asd = "cl-hash-table-destructuring";
+    });
+    systems = [ "cl-hash-table-destructuring" ];
+    lispLibs = [ (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-hash-table-destructuring-test = {
+    pname = "cl-hash-table-destructuring-test";
+    version = "20160531-git";
+    asds = [ "cl-hash-table-destructuring-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-hash-table-destructuring/2016-05-31/cl-hash-table-destructuring-20160531-git.tgz";
+      sha256 = "0za8jlqfvsilmnidk429509vbdd18w7ykcycni411pjpz0lxrh1v";
+      system = "cl-hash-table-destructuring-test";
+      asd = "cl-hash-table-destructuring";
+    });
+    systems = [ "cl-hash-table-destructuring-test" ];
+    lispLibs = [ (getAttr "cl-hash-table-destructuring" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-hash-util = {
+    pname = "cl-hash-util";
+    version = "20190107-git";
+    asds = [ "cl-hash-util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-hash-util/2019-01-07/cl-hash-util-20190107-git.tgz";
+      sha256 = "0dnd0405d81w25cqq4g8gk2r5wm03cis965c1pmb2f5p4ifwq87a";
+      system = "cl-hash-util";
+      asd = "cl-hash-util";
+    });
+    systems = [ "cl-hash-util" ];
+    lispLibs = [  ];
+  };
+  cl-hash-util-test = {
+    pname = "cl-hash-util-test";
+    version = "20190107-git";
+    asds = [ "cl-hash-util-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-hash-util/2019-01-07/cl-hash-util-20190107-git.tgz";
+      sha256 = "0dnd0405d81w25cqq4g8gk2r5wm03cis965c1pmb2f5p4ifwq87a";
+      system = "cl-hash-util-test";
+      asd = "cl-hash-util-test";
+    });
+    systems = [ "cl-hash-util-test" ];
+    lispLibs = [ (getAttr "cl-hash-util" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-heap = {
+    pname = "cl-heap";
+    version = "0.1.6";
+    asds = [ "cl-heap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-heap/2013-03-12/cl-heap-0.1.6.tgz";
+      sha256 = "01bss182x9i167lfv0lr8ylavk2m42s84vz6629kspgjhczm52w7";
+      system = "cl-heap";
+      asd = "cl-heap";
+    });
+    systems = [ "cl-heap" ];
+    lispLibs = [  ];
+  };
+  cl-heap-tests = {
+    pname = "cl-heap-tests";
+    version = "0.1.6";
+    asds = [ "cl-heap-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-heap/2013-03-12/cl-heap-0.1.6.tgz";
+      sha256 = "01bss182x9i167lfv0lr8ylavk2m42s84vz6629kspgjhczm52w7";
+      system = "cl-heap-tests";
+      asd = "cl-heap-tests";
+    });
+    systems = [ "cl-heap-tests" ];
+    lispLibs = [ (getAttr "cl-heap" pkgs) (getAttr "xlunit" pkgs) ];
+  };
+  cl-heredoc = {
+    pname = "cl-heredoc";
+    version = "20210630-git";
+    asds = [ "cl-heredoc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-heredoc/2021-06-30/cl-heredoc-20210630-git.tgz";
+      sha256 = "0f22hrlipxxyqd0yphwqxjz6d5c2cpmxg5x2xza9nqr015q8wd39";
+      system = "cl-heredoc";
+      asd = "cl-heredoc";
+    });
+    systems = [ "cl-heredoc" ];
+    lispLibs = [  ];
+  };
+  cl-heredoc-test = {
+    pname = "cl-heredoc-test";
+    version = "20210630-git";
+    asds = [ "cl-heredoc-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-heredoc/2021-06-30/cl-heredoc-20210630-git.tgz";
+      sha256 = "0f22hrlipxxyqd0yphwqxjz6d5c2cpmxg5x2xza9nqr015q8wd39";
+      system = "cl-heredoc-test";
+      asd = "cl-heredoc-test";
+    });
+    systems = [ "cl-heredoc-test" ];
+    lispLibs = [ (getAttr "cl-heredoc" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  cl-hooks = {
+    pname = "cl-hooks";
+    version = "20181210-git";
+    asds = [ "cl-hooks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/architecture.hooks/2018-12-10/architecture.hooks-20181210-git.tgz";
+      sha256 = "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y";
+      system = "cl-hooks";
+      asd = "cl-hooks";
+    });
+    systems = [ "cl-hooks" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "let-plus" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-hooks_slash_test = {
+    pname = "cl-hooks_test";
+    version = "20181210-git";
+    asds = [ "cl-hooks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/architecture.hooks/2018-12-10/architecture.hooks-20181210-git.tgz";
+      sha256 = "0bg3l0a28lw5gqqjp6p6b5nhwqk46sgkb7184w5qbfngw1hk8x9y";
+      system = "cl-hooks";
+      asd = "cl-hooks";
+    });
+    systems = [ "cl-hooks/test" ];
+    lispLibs = [ (getAttr "cl-hooks" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-html-diff = {
+    pname = "cl-html-diff";
+    version = "20130128-git";
+    asds = [ "cl-html-diff" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-html-diff/2013-01-28/cl-html-diff-20130128-git.tgz";
+      sha256 = "1varnijivzd4jpimn1cz8p5ks713zzha5cgl4vmb0xr8ahravwzb";
+      system = "cl-html-diff";
+      asd = "cl-html-diff";
+    });
+    systems = [ "cl-html-diff" ];
+    lispLibs = [ (getAttr "cl-difflib" pkgs) ];
+  };
+  cl-html-parse = {
+    pname = "cl-html-parse";
+    version = "20200925-git";
+    asds = [ "cl-html-parse" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-html-parse/2020-09-25/cl-html-parse-20200925-git.tgz";
+      sha256 = "0d78slyqw6zshh72ppmxc85xdnd0jfhaqkzrf1cn7yjxl6h4lp7s";
+      system = "cl-html-parse";
+      asd = "cl-html-parse";
+    });
+    systems = [ "cl-html-parse" ];
+    lispLibs = [  ];
+  };
+  cl-html-readme = {
+    pname = "cl-html-readme";
+    version = "quicklisp-current-release-fa304a63-git";
+    asds = [ "cl-html-readme" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-html-readme/2021-02-28/cl-html-readme-quicklisp-current-release-fa304a63-git.tgz";
+      sha256 = "01z2ykfhg7wx7sz4kp1c6cj9ffbpppnfgfd2jpizd7f5id2wi3cb";
+      system = "cl-html-readme";
+      asd = "cl-html-readme";
+    });
+    systems = [ "cl-html-readme" ];
+    lispLibs = [  ];
+  };
+  cl-html-readme_slash_doc = {
+    pname = "cl-html-readme_doc";
+    version = "quicklisp-current-release-fa304a63-git";
+    asds = [ "cl-html-readme" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-html-readme/2021-02-28/cl-html-readme-quicklisp-current-release-fa304a63-git.tgz";
+      sha256 = "01z2ykfhg7wx7sz4kp1c6cj9ffbpppnfgfd2jpizd7f5id2wi3cb";
+      system = "cl-html-readme";
+      asd = "cl-html-readme";
+    });
+    systems = [ "cl-html-readme/doc" ];
+    lispLibs = [ (getAttr "docparser" pkgs) ];
+  };
+  cl-html-readme_slash_test = {
+    pname = "cl-html-readme_test";
+    version = "quicklisp-current-release-fa304a63-git";
+    asds = [ "cl-html-readme" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-html-readme/2021-02-28/cl-html-readme-quicklisp-current-release-fa304a63-git.tgz";
+      sha256 = "01z2ykfhg7wx7sz4kp1c6cj9ffbpppnfgfd2jpizd7f5id2wi3cb";
+      system = "cl-html-readme";
+      asd = "cl-html-readme";
+    });
+    systems = [ "cl-html-readme/test" ];
+    lispLibs = [ (getAttr "lisp-unit" pkgs) ];
+  };
+  cl-html5-parser = {
+    pname = "cl-html5-parser";
+    version = "20190521-git";
+    asds = [ "cl-html5-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-html5-parser/2019-05-21/cl-html5-parser-20190521-git.tgz";
+      sha256 = "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9";
+      system = "cl-html5-parser";
+      asd = "cl-html5-parser";
+    });
+    systems = [ "cl-html5-parser" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "string-case" pkgs) ];
+  };
+  cl-html5-parser-cxml = {
+    pname = "cl-html5-parser-cxml";
+    version = "20190521-git";
+    asds = [ "cl-html5-parser-cxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-html5-parser/2019-05-21/cl-html5-parser-20190521-git.tgz";
+      sha256 = "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9";
+      system = "cl-html5-parser-cxml";
+      asd = "cl-html5-parser-cxml";
+    });
+    systems = [ "cl-html5-parser-cxml" ];
+    lispLibs = [ (getAttr "cl-html5-parser" pkgs) (getAttr "cxml" pkgs) ];
+  };
+  cl-html5-parser-tests = {
+    pname = "cl-html5-parser-tests";
+    version = "20190521-git";
+    asds = [ "cl-html5-parser-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-html5-parser/2019-05-21/cl-html5-parser-20190521-git.tgz";
+      sha256 = "04if61wigylsmn996rbfl8ylsd0d9hzdmg7p2wiglncibjzcl5k9";
+      system = "cl-html5-parser-tests";
+      asd = "cl-html5-parser-tests";
+    });
+    systems = [ "cl-html5-parser-tests" ];
+    lispLibs = [ (getAttr "cl-html5-parser" pkgs) (getAttr "json-streams" pkgs) (getAttr "split-sequence" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  cl-htmlprag = {
+    pname = "cl-htmlprag";
+    version = "20160628-git";
+    asds = [ "cl-htmlprag" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-htmlprag/2016-06-28/cl-htmlprag-20160628-git.tgz";
+      sha256 = "1akfy9rldx5a2h34vf7y02pj2j7b5anbxja53m41ism4vklgqg1c";
+      system = "cl-htmlprag";
+      asd = "cl-htmlprag";
+    });
+    systems = [ "cl-htmlprag" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "optima" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  cl-httpsqs = {
+    pname = "cl-httpsqs";
+    version = "20180228-git";
+    asds = [ "cl-httpsqs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-httpsqs/2018-02-28/cl-httpsqs-20180228-git.tgz";
+      sha256 = "14nhr03lm8012crczjpgsmf0ydipqf3kggayshm7w72vkyf0haj7";
+      system = "cl-httpsqs";
+      asd = "cl-httpsqs";
+    });
+    systems = [ "cl-httpsqs" ];
+    lispLibs = [ (getAttr "drakma" pkgs) ];
+  };
+  cl-hue = {
+    pname = "cl-hue";
+    version = "20150113-git";
+    asds = [ "cl-hue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-hue/2015-01-13/cl-hue-20150113-git.tgz";
+      sha256 = "0d2qv60pih1xmk0zzbdwcsyk8k9abjzilcmhz3jdicinl8jinfr4";
+      system = "cl-hue";
+      asd = "cl-hue";
+    });
+    systems = [ "cl-hue" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "drakma" pkgs) (getAttr "yason" pkgs) ];
+  };
+  cl-i18n = {
+    pname = "cl-i18n";
+    version = "20210807-git";
+    asds = [ "cl-i18n" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-i18n/2021-08-07/cl-i18n-20210807-git.tgz";
+      sha256 = "1mdhfkk61djj39vgnns5y1cssd12h0m1cfwd21m8xpa2l3rqvmgf";
+      system = "cl-i18n";
+      asd = "cl-i18n";
+    });
+    systems = [ "cl-i18n" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-ppcre-unicode" pkgs) ];
+  };
+  cl-ilu = {
+    pname = "cl-ilu";
+    version = "20150302-git";
+    asds = [ "cl-ilu" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-devil/2015-03-02/cl-devil-20150302-git.tgz";
+      sha256 = "1qdjb7xwzjkv99s8q0834lfdq4ch5j2ymrmqsvwzhg47ys17pvvf";
+      system = "cl-ilu";
+      asd = "cl-ilu";
+    });
+    systems = [ "cl-ilu" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-devil" pkgs) ];
+  };
+  cl-ilut = {
+    pname = "cl-ilut";
+    version = "20150302-git";
+    asds = [ "cl-ilut" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-devil/2015-03-02/cl-devil-20150302-git.tgz";
+      sha256 = "1qdjb7xwzjkv99s8q0834lfdq4ch5j2ymrmqsvwzhg47ys17pvvf";
+      system = "cl-ilut";
+      asd = "cl-ilut";
+    });
+    systems = [ "cl-ilut" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-devil" pkgs) ];
+  };
+  cl-incognia = {
+    pname = "cl-incognia";
+    version = "20211230-git";
+    asds = [ "cl-incognia" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-incognia/2021-12-30/cl-incognia-20211230-git.tgz";
+      sha256 = "0c5v7vqh26vg4mzzz7rkq3r29ygj2q4fw6v56pi79bbszyklfs21";
+      system = "cl-incognia";
+      asd = "cl-incognia";
+    });
+    systems = [ "cl-incognia" ];
+    lispLibs = [ (getAttr "dexador" pkgs) (getAttr "jonathan" pkgs) ];
+  };
+  cl-incognia_slash_tests = {
+    pname = "cl-incognia_tests";
+    version = "20211230-git";
+    asds = [ "cl-incognia" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-incognia/2021-12-30/cl-incognia-20211230-git.tgz";
+      sha256 = "0c5v7vqh26vg4mzzz7rkq3r29ygj2q4fw6v56pi79bbszyklfs21";
+      system = "cl-incognia";
+      asd = "cl-incognia";
+    });
+    systems = [ "cl-incognia/tests" ];
+    lispLibs = [ (getAttr "cl-incognia" pkgs) (getAttr "rove" pkgs) ];
+  };
+  cl-indentify = {
+    pname = "cl-indentify";
+    version = "20200925-git";
+    asds = [ "cl-indentify" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-indentify/2020-09-25/cl-indentify-20200925-git.tgz";
+      sha256 = "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p";
+      system = "cl-indentify";
+      asd = "cl-indentify";
+    });
+    systems = [ "cl-indentify" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-indentify_slash_cli = {
+    pname = "cl-indentify_cli";
+    version = "20200925-git";
+    asds = [ "cl-indentify" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-indentify/2020-09-25/cl-indentify-20200925-git.tgz";
+      sha256 = "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p";
+      system = "cl-indentify";
+      asd = "cl-indentify";
+    });
+    systems = [ "cl-indentify/cli" ];
+    lispLibs = [ (getAttr "cl-indentify" pkgs) (getAttr "command-line-arguments" pkgs) ];
+  };
+  cl-indentify_slash_tests = {
+    pname = "cl-indentify_tests";
+    version = "20200925-git";
+    asds = [ "cl-indentify" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-indentify/2020-09-25/cl-indentify-20200925-git.tgz";
+      sha256 = "0ha36bhg474vr76vfhr13szc8cfdj1ickg92k1icz791bqaqg67p";
+      system = "cl-indentify";
+      asd = "cl-indentify";
+    });
+    systems = [ "cl-indentify/tests" ];
+    lispLibs = [ (getAttr "cl-indentify" pkgs) (getAttr "rove" pkgs) (getAttr "trivial-escapes" pkgs) ];
+  };
+  cl-inflector = {
+    pname = "cl-inflector";
+    version = "20150113-git";
+    asds = [ "cl-inflector" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-inflector/2015-01-13/cl-inflector-20150113-git.tgz";
+      sha256 = "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y";
+      system = "cl-inflector";
+      asd = "cl-inflector";
+    });
+    systems = [ "cl-inflector" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  cl-inflector-test = {
+    pname = "cl-inflector-test";
+    version = "20150113-git";
+    asds = [ "cl-inflector-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-inflector/2015-01-13/cl-inflector-20150113-git.tgz";
+      sha256 = "1xwwlhik1la4fp984qnx2dqq24v012qv4x0y49sngfpwg7n0ya7y";
+      system = "cl-inflector-test";
+      asd = "cl-inflector";
+    });
+    systems = [ "cl-inflector-test" ];
+    lispLibs = [ (getAttr "cl-inflector" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  cl-influxdb = {
+    pname = "cl-influxdb";
+    version = "20180131-git";
+    asds = [ "cl-influxdb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-influxdb/2018-01-31/cl-influxdb-20180131-git.tgz";
+      sha256 = "0fqnsdw6x79qsvw7l6xp1gxgzcj6jwpa4mn0z2gbbipff4g7k527";
+      system = "cl-influxdb";
+      asd = "cl-influxdb";
+    });
+    systems = [ "cl-influxdb" ];
+    lispLibs = [ (getAttr "cl-annot" pkgs) (getAttr "cl-json" pkgs) (getAttr "do-urlencode" pkgs) (getAttr "drakma" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-info = {
+    pname = "cl-info";
+    version = "20211230-git";
+    asds = [ "cl-info" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-info/2021-12-30/cl-info-20211230-git.tgz";
+      sha256 = "1rh6sd0a2n6r7dqxccx7k13fzlmkbqrwy2cnxf3kvs95wh9fia72";
+      system = "cl-info";
+      asd = "cl-info";
+    });
+    systems = [ "cl-info" ];
+    lispLibs = [ (getAttr "_40ants-doc" pkgs) (getAttr "docs-config" pkgs) ];
+  };
+  cl-info-test = {
+    pname = "cl-info-test";
+    version = "20211230-git";
+    asds = [ "cl-info-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-info/2021-12-30/cl-info-20211230-git.tgz";
+      sha256 = "1rh6sd0a2n6r7dqxccx7k13fzlmkbqrwy2cnxf3kvs95wh9fia72";
+      system = "cl-info-test";
+      asd = "cl-info-test";
+    });
+    systems = [ "cl-info-test" ];
+    lispLibs = [ (getAttr "hamcrest" pkgs) (getAttr "cl-info" pkgs) (getAttr "rove" pkgs) ];
+  };
+  cl-ini = {
+    pname = "cl-ini";
+    version = "20201220-git";
+    asds = [ "cl-ini" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ini/2020-12-20/cl-ini-20201220-git.tgz";
+      sha256 = "12vy3gspqn0wmkyz5id1xrgv1scgb16m7pkvmbmi19vlpj2iyq7p";
+      system = "cl-ini";
+      asd = "cl-ini";
+    });
+    systems = [ "cl-ini" ];
+    lispLibs = [ (getAttr "str" pkgs) ];
+  };
+  cl-ini-test = {
+    pname = "cl-ini-test";
+    version = "20201220-git";
+    asds = [ "cl-ini-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ini/2020-12-20/cl-ini-20201220-git.tgz";
+      sha256 = "12vy3gspqn0wmkyz5id1xrgv1scgb16m7pkvmbmi19vlpj2iyq7p";
+      system = "cl-ini-test";
+      asd = "cl-ini-test";
+    });
+    systems = [ "cl-ini-test" ];
+    lispLibs = [ (getAttr "cl-ini" pkgs) (getAttr "prove" pkgs) ];
+  };
+  cl-inotify = {
+    pname = "cl-inotify";
+    version = "20210630-git";
+    asds = [ "cl-inotify" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-inotify/2021-06-30/cl-inotify-20210630-git.tgz";
+      sha256 = "1kraiv0lram3xhclk4vgpyin5pdm3q3igny3vcpg7fhfsw856f87";
+      system = "cl-inotify";
+      asd = "cl-inotify";
+    });
+    systems = [ "cl-inotify" ];
+    lispLibs = [ (getAttr "binary-types" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "iolib" pkgs) (getAttr "iolib_dot_asdf" pkgs) (getAttr "iolib_dot_base" pkgs) (getAttr "iolib_dot_conf" pkgs) (getAttr "osicat" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  cl-inotify-tests = {
+    pname = "cl-inotify-tests";
+    version = "20210630-git";
+    asds = [ "cl-inotify-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-inotify/2021-06-30/cl-inotify-20210630-git.tgz";
+      sha256 = "1kraiv0lram3xhclk4vgpyin5pdm3q3igny3vcpg7fhfsw856f87";
+      system = "cl-inotify-tests";
+      asd = "cl-inotify-tests";
+    });
+    systems = [ "cl-inotify-tests" ];
+    lispLibs = [ (getAttr "cl-inotify" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-intbytes = {
+    pname = "cl-intbytes";
+    version = "20150923-git";
+    asds = [ "cl-intbytes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-intbytes/2015-09-23/cl-intbytes-20150923-git.tgz";
+      sha256 = "0chwfda7pi8mrgwj31li7f0x0hr5yrp4csiq8hwkgd4c1ag1z9fx";
+      system = "cl-intbytes";
+      asd = "cl-intbytes";
+    });
+    systems = [ "cl-intbytes" ];
+    lispLibs = [ (getAttr "fast-io" pkgs) ];
+  };
+  cl-intbytes-test = {
+    pname = "cl-intbytes-test";
+    version = "20150923-git";
+    asds = [ "cl-intbytes-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-intbytes/2015-09-23/cl-intbytes-20150923-git.tgz";
+      sha256 = "0chwfda7pi8mrgwj31li7f0x0hr5yrp4csiq8hwkgd4c1ag1z9fx";
+      system = "cl-intbytes-test";
+      asd = "cl-intbytes-test";
+    });
+    systems = [ "cl-intbytes-test" ];
+    lispLibs = [ (getAttr "cl-intbytes" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-interpol = {
+    pname = "cl-interpol";
+    version = "20201220-git";
+    asds = [ "cl-interpol" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-interpol/2020-12-20/cl-interpol-20201220-git.tgz";
+      sha256 = "1kr00zf62m7la7rxa2m5w49r9cyzamc106hvjcc8ffmi7a4jw490";
+      system = "cl-interpol";
+      asd = "cl-interpol";
+    });
+    systems = [ "cl-interpol" ];
+    lispLibs = [ (getAttr "cl-unicode" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  cl-interpol-test = {
+    pname = "cl-interpol-test";
+    version = "20201220-git";
+    asds = [ "cl-interpol-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-interpol/2020-12-20/cl-interpol-20201220-git.tgz";
+      sha256 = "1kr00zf62m7la7rxa2m5w49r9cyzamc106hvjcc8ffmi7a4jw490";
+      system = "cl-interpol-test";
+      asd = "cl-interpol";
+    });
+    systems = [ "cl-interpol-test" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  cl-interval = {
+    pname = "cl-interval";
+    version = "20200715-git";
+    asds = [ "cl-interval" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-interval/2020-07-15/cl-interval-20200715-git.tgz";
+      sha256 = "1425l6xmrqadjqgqb5qasisf14pbr6zpj30bpxfv8hhnxs5njq4p";
+      system = "cl-interval";
+      asd = "cl-interval";
+    });
+    systems = [ "cl-interval" ];
+    lispLibs = [  ];
+  };
+  cl-interval-docs = {
+    pname = "cl-interval-docs";
+    version = "20200715-git";
+    asds = [ "cl-interval-docs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-interval/2020-07-15/cl-interval-20200715-git.tgz";
+      sha256 = "1425l6xmrqadjqgqb5qasisf14pbr6zpj30bpxfv8hhnxs5njq4p";
+      system = "cl-interval-docs";
+      asd = "cl-interval-docs";
+    });
+    systems = [ "cl-interval-docs" ];
+    lispLibs = [ (getAttr "cl-gendoc" pkgs) (getAttr "cl-interval" pkgs) ];
+  };
+  cl-ipfs-api2 = {
+    pname = "cl-ipfs-api2";
+    version = "20210630-git";
+    asds = [ "cl-ipfs-api2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ipfs-api2/2021-06-30/cl-ipfs-api2-20210630-git.tgz";
+      sha256 = "1h0csxk4db1hid793mk5kz3nbjyl7z4ic1zk2wy46k1vz5lnnsph";
+      system = "cl-ipfs-api2";
+      asd = "cl-ipfs-api2";
+    });
+    systems = [ "cl-ipfs-api2" ];
+    lispLibs = [ (getAttr "arnesi" pkgs) (getAttr "drakma" pkgs) (getAttr "uiop" pkgs) (getAttr "yason" pkgs) ];
+  };
+  cl-irc = {
+    pname = "cl-irc";
+    version = "0.9.2";
+    asds = [ "cl-irc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-irc/2015-09-23/cl-irc-0.9.2.tgz";
+      sha256 = "15h3ram8b6vyg4718ad2m92xgilda2x3zmkzbjnijk69kkqsq01r";
+      system = "cl-irc";
+      asd = "cl-irc";
+    });
+    systems = [ "cl-irc" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) (getAttr "split-sequence" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-irc-test = {
+    pname = "cl-irc-test";
+    version = "0.9.2";
+    asds = [ "cl-irc-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-irc/2015-09-23/cl-irc-0.9.2.tgz";
+      sha256 = "15h3ram8b6vyg4718ad2m92xgilda2x3zmkzbjnijk69kkqsq01r";
+      system = "cl-irc-test";
+      asd = "cl-irc-test";
+    });
+    systems = [ "cl-irc-test" ];
+    lispLibs = [ (getAttr "cl-irc" pkgs) (getAttr "rt" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-irregsexp = {
+    pname = "cl-irregsexp";
+    version = "20160825-git";
+    asds = [ "cl-irregsexp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-irregsexp/2016-08-25/cl-irregsexp-20160825-git.tgz";
+      sha256 = "09pf3jlqskcs32shbj9q3m0zww5pxyrizbvk2nxiwwnbl1rdb406";
+      system = "cl-irregsexp";
+      asd = "cl-irregsexp";
+    });
+    systems = [ "cl-irregsexp" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cl-isaac = {
+    pname = "cl-isaac";
+    version = "20150804-git";
+    asds = [ "cl-isaac" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-isaac/2015-08-04/cl-isaac-20150804-git.tgz";
+      sha256 = "08w7nnifdypv0d0i6wbqydzph970zfgzda6bhcf318lz3lllaks7";
+      system = "cl-isaac";
+      asd = "cl-isaac";
+    });
+    systems = [ "cl-isaac" ];
+    lispLibs = [  ];
+  };
+  cl-iterative = {
+    pname = "cl-iterative";
+    version = "20160318-git";
+    asds = [ "cl-iterative" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-iterative/2016-03-18/cl-iterative-20160318-git.tgz";
+      sha256 = "01h2fs7nq2wivjwh9swsmfdvsdmd7j9dvzgrq0ijbq456zm8vilq";
+      system = "cl-iterative";
+      asd = "cl-iterative";
+    });
+    systems = [ "cl-iterative" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "optima" pkgs) ];
+  };
+  cl-iterative-tests = {
+    pname = "cl-iterative-tests";
+    version = "20160318-git";
+    asds = [ "cl-iterative-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-iterative/2016-03-18/cl-iterative-20160318-git.tgz";
+      sha256 = "01h2fs7nq2wivjwh9swsmfdvsdmd7j9dvzgrq0ijbq456zm8vilq";
+      system = "cl-iterative-tests";
+      asd = "cl-iterative-tests";
+    });
+    systems = [ "cl-iterative-tests" ];
+    lispLibs = [ (getAttr "cl-iterative" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-itertools = {
+    pname = "cl-itertools";
+    version = "20160421-git";
+    asds = [ "cl-itertools" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-itertools/2016-04-21/cl-itertools-20160421-git.tgz";
+      sha256 = "0m1g7nxqnz03bcj46skcr2d50pi3lb4hwizna5d4mvl5hk4zwbxr";
+      system = "cl-itertools";
+      asd = "cl-itertools";
+    });
+    systems = [ "cl-itertools" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-coroutine" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-itertools-tests = {
+    pname = "cl-itertools-tests";
+    version = "20160421-git";
+    asds = [ "cl-itertools-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-itertools/2016-04-21/cl-itertools-20160421-git.tgz";
+      sha256 = "0m1g7nxqnz03bcj46skcr2d50pi3lb4hwizna5d4mvl5hk4zwbxr";
+      system = "cl-itertools-tests";
+      asd = "cl-itertools";
+    });
+    systems = [ "cl-itertools-tests" ];
+    lispLibs = [ (getAttr "cl-itertools" pkgs) (getAttr "fiveam" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-jpeg = {
+    pname = "cl-jpeg";
+    version = "20170630-git";
+    asds = [ "cl-jpeg" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-jpeg/2017-06-30/cl-jpeg-20170630-git.tgz";
+      sha256 = "1bkkiqz8fqldlj1wbmrccjsvxcwj98h6s4b6gslr3cg2wmdv5xmy";
+      system = "cl-jpeg";
+      asd = "cl-jpeg";
+    });
+    systems = [ "cl-jpeg" ];
+    lispLibs = [  ];
+  };
+  cl-js = {
+    pname = "cl-js";
+    version = "20180131-git";
+    asds = [ "cl-js" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/js/2018-01-31/js-20180131-git.tgz";
+      sha256 = "0f717358ax5sma53h4hzxx7l00r6ndv2zdpd5rhqv3v7dqqvl8h5";
+      system = "cl-js";
+      asd = "cl-js";
+    });
+    systems = [ "cl-js" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "local-time" pkgs) (getAttr "parse-js" pkgs) ];
+  };
+  cl-json = {
+    pname = "cl-json";
+    version = "20141217-git";
+    asds = [ "cl-json" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-json/2014-12-17/cl-json-20141217-git.tgz";
+      sha256 = "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh";
+      system = "cl-json";
+      asd = "cl-json";
+    });
+    systems = [ "cl-json" ];
+    lispLibs = [  ];
+  };
+  cl-json-helper = {
+    pname = "cl-json-helper";
+    version = "20181210-git";
+    asds = [ "cl-json-helper" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-json-helper/2018-12-10/cl-json-helper-20181210-git.tgz";
+      sha256 = "1dhv5lh514m7bvl77xjhb4ky7nf4bskgpld7rqg3rq24k4y0c79a";
+      system = "cl-json-helper";
+      asd = "cl-json-helper";
+    });
+    systems = [ "cl-json-helper" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) ];
+  };
+  cl-json-pointer = {
+    pname = "cl-json-pointer";
+    version = "20210411-git";
+    asds = [ "cl-json-pointer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-json-pointer/2021-04-11/cl-json-pointer-20210411-git.tgz";
+      sha256 = "0mmi8v7b4584cxc6176rsa0w4jmcw8pd3zhxrc3qwnv9g126n33g";
+      system = "cl-json-pointer";
+      asd = "cl-json-pointer";
+    });
+    systems = [ "cl-json-pointer" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  cl-json-pointer_slash_core = {
+    pname = "cl-json-pointer_core";
+    version = "20210411-git";
+    asds = [ "cl-json-pointer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-json-pointer/2021-04-11/cl-json-pointer-20210411-git.tgz";
+      sha256 = "0mmi8v7b4584cxc6176rsa0w4jmcw8pd3zhxrc3qwnv9g126n33g";
+      system = "cl-json-pointer";
+      asd = "cl-json-pointer";
+    });
+    systems = [ "cl-json-pointer/core" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  cl-json-pointer_slash_st-json-support = {
+    pname = "cl-json-pointer_st-json-support";
+    version = "20210411-git";
+    asds = [ "cl-json-pointer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-json-pointer/2021-04-11/cl-json-pointer-20210411-git.tgz";
+      sha256 = "0mmi8v7b4584cxc6176rsa0w4jmcw8pd3zhxrc3qwnv9g126n33g";
+      system = "cl-json-pointer";
+      asd = "cl-json-pointer";
+    });
+    systems = [ "cl-json-pointer/st-json-support" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "st-json" pkgs) ];
+  };
+  cl-json-pointer_slash_synonyms = {
+    pname = "cl-json-pointer_synonyms";
+    version = "20210411-git";
+    asds = [ "cl-json-pointer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-json-pointer/2021-04-11/cl-json-pointer-20210411-git.tgz";
+      sha256 = "0mmi8v7b4584cxc6176rsa0w4jmcw8pd3zhxrc3qwnv9g126n33g";
+      system = "cl-json-pointer";
+      asd = "cl-json-pointer";
+    });
+    systems = [ "cl-json-pointer/synonyms" ];
+    lispLibs = [ (getAttr "cl-json-pointer" pkgs) ];
+  };
+  cl-json-schema = {
+    pname = "cl-json-schema";
+    version = "20210228-git";
+    asds = [ "cl-json-schema" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-json-schema/2021-02-28/cl-json-schema-20210228-git.tgz";
+      sha256 = "1c90c9j6d2b02zyyqd07200waqa4saq0svps7vfy5a3lxp9vag9i";
+      system = "cl-json-schema";
+      asd = "cl-json-schema";
+    });
+    systems = [ "cl-json-schema" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "trivial-do" pkgs) (getAttr "yason" pkgs) ];
+  };
+  cl-json-schema-tests = {
+    pname = "cl-json-schema-tests";
+    version = "20210228-git";
+    asds = [ "cl-json-schema-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-json-schema/2021-02-28/cl-json-schema-20210228-git.tgz";
+      sha256 = "1c90c9j6d2b02zyyqd07200waqa4saq0svps7vfy5a3lxp9vag9i";
+      system = "cl-json-schema-tests";
+      asd = "cl-json-schema-tests";
+    });
+    systems = [ "cl-json-schema-tests" ];
+    lispLibs = [ (getAttr "cl-json-schema" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "fiasco" pkgs) ];
+  };
+  cl-json_dot_test = {
+    pname = "cl-json.test";
+    version = "20141217-git";
+    asds = [ "cl-json.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-json/2014-12-17/cl-json-20141217-git.tgz";
+      sha256 = "0fx3m3x3s5ji950yzpazz4s0img3l6b3d6l3jrfjv0lr702496lh";
+      system = "cl-json.test";
+      asd = "cl-json";
+    });
+    systems = [ "cl-json.test" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-jsx = {
+    pname = "cl-jsx";
+    version = "20160208-git";
+    asds = [ "cl-jsx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-jsx/2016-02-08/cl-jsx-20160208-git.tgz";
+      sha256 = "1vkqs65sqnfkfka2p93ibfrgg3wps3qhlcgcd8j40h0bv3phcjp7";
+      system = "cl-jsx";
+      asd = "cl-jsx";
+    });
+    systems = [ "cl-jsx" ];
+    lispLibs = [ (getAttr "cl-who" pkgs) (getAttr "esrap" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  cl-jsx-test = {
+    pname = "cl-jsx-test";
+    version = "20160208-git";
+    asds = [ "cl-jsx-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-jsx/2016-02-08/cl-jsx-20160208-git.tgz";
+      sha256 = "1vkqs65sqnfkfka2p93ibfrgg3wps3qhlcgcd8j40h0bv3phcjp7";
+      system = "cl-jsx-test";
+      asd = "cl-jsx-test";
+    });
+    systems = [ "cl-jsx-test" ];
+    lispLibs = [ (getAttr "cl-jsx" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-junit-xml = {
+    pname = "cl-junit-xml";
+    version = "20150113-git";
+    asds = [ "cl-junit-xml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-junit-xml/2015-01-13/cl-junit-xml-20150113-git.tgz";
+      sha256 = "1ssrcgw5bhfsb5lk7jb8jyz77mj6sg23wc3gmnw747iqvpikwakr";
+      system = "cl-junit-xml";
+      asd = "cl-junit-xml";
+    });
+    systems = [ "cl-junit-xml" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cxml" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-junit-xml_dot_lisp-unit = {
+    pname = "cl-junit-xml.lisp-unit";
+    version = "20150113-git";
+    asds = [ "cl-junit-xml.lisp-unit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-junit-xml/2015-01-13/cl-junit-xml-20150113-git.tgz";
+      sha256 = "1ssrcgw5bhfsb5lk7jb8jyz77mj6sg23wc3gmnw747iqvpikwakr";
+      system = "cl-junit-xml.lisp-unit";
+      asd = "cl-junit-xml.lisp-unit";
+    });
+    systems = [ "cl-junit-xml.lisp-unit" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-junit-xml" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "iterate" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  cl-junit-xml_dot_lisp-unit2 = {
+    pname = "cl-junit-xml.lisp-unit2";
+    version = "20150113-git";
+    asds = [ "cl-junit-xml.lisp-unit2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-junit-xml/2015-01-13/cl-junit-xml-20150113-git.tgz";
+      sha256 = "1ssrcgw5bhfsb5lk7jb8jyz77mj6sg23wc3gmnw747iqvpikwakr";
+      system = "cl-junit-xml.lisp-unit2";
+      asd = "cl-junit-xml.lisp-unit2";
+    });
+    systems = [ "cl-junit-xml.lisp-unit2" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-junit-xml" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "iterate" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  cl-junit-xml_dot_test = {
+    pname = "cl-junit-xml.test";
+    version = "20150113-git";
+    asds = [ "cl-junit-xml.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-junit-xml/2015-01-13/cl-junit-xml-20150113-git.tgz";
+      sha256 = "1ssrcgw5bhfsb5lk7jb8jyz77mj6sg23wc3gmnw747iqvpikwakr";
+      system = "cl-junit-xml.test";
+      asd = "cl-junit-xml";
+    });
+    systems = [ "cl-junit-xml.test" ];
+    lispLibs = [ (getAttr "cl-junit-xml" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  cl-k8055 = {
+    pname = "cl-k8055";
+    version = "20190710-git";
+    asds = [ "cl-k8055" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-k8055/2019-07-10/cl-k8055-20190710-git.tgz";
+      sha256 = "069j5hrcpcm9vlh2f0myqwggp30inycxn61ivi1ppa97f8f1rrig";
+      system = "cl-k8055";
+      asd = "cl-k8055";
+    });
+    systems = [ "cl-k8055" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  cl-kanren = {
+    pname = "cl-kanren";
+    version = "20191007-git";
+    asds = [ "cl-kanren" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-kanren/2019-10-07/cl-kanren-20191007-git.tgz";
+      sha256 = "1r0qzvs92d7kgl83fx8c27jmsh17agr7jpb1nmmc56phjvq0z7ll";
+      system = "cl-kanren";
+      asd = "cl-kanren";
+    });
+    systems = [ "cl-kanren" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cl-kanren-test = {
+    pname = "cl-kanren-test";
+    version = "20191007-git";
+    asds = [ "cl-kanren-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-kanren/2019-10-07/cl-kanren-20191007-git.tgz";
+      sha256 = "1r0qzvs92d7kgl83fx8c27jmsh17agr7jpb1nmmc56phjvq0z7ll";
+      system = "cl-kanren-test";
+      asd = "cl-kanren-test";
+    });
+    systems = [ "cl-kanren-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-kanren" pkgs) (getAttr "clunit" pkgs) ];
+  };
+  cl-keycloak = {
+    pname = "cl-keycloak";
+    version = "20190710-git";
+    asds = [ "cl-keycloak" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-keycloak/2019-07-10/cl-keycloak-20190710-git.tgz";
+      sha256 = "052x10xj951061xa80kp1ziwrr8hskjsr7q2ni1d1ab26rkmhb9q";
+      system = "cl-keycloak";
+      asd = "cl-keycloak";
+    });
+    systems = [ "cl-keycloak" ];
+    lispLibs = [ (getAttr "drakma" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "yason" pkgs) ];
+  };
+  cl-kraken = {
+    pname = "cl-kraken";
+    version = "20211230-git";
+    asds = [ "cl-kraken" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-kraken/2021-12-30/cl-kraken-20211230-git.tgz";
+      sha256 = "1nnyi9xpb59nxyzby5yhjvyxr8dx5x9xa705igbrvggghg27z4kp";
+      system = "cl-kraken";
+      asd = "cl-kraken";
+    });
+    systems = [ "cl-kraken" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "dexador" pkgs) (getAttr "ironclad" pkgs) (getAttr "jsown" pkgs) (getAttr "quri" pkgs) ];
+  };
+  cl-kraken_slash_tests = {
+    pname = "cl-kraken_tests";
+    version = "20211230-git";
+    asds = [ "cl-kraken" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-kraken/2021-12-30/cl-kraken-20211230-git.tgz";
+      sha256 = "1nnyi9xpb59nxyzby5yhjvyxr8dx5x9xa705igbrvggghg27z4kp";
+      system = "cl-kraken";
+      asd = "cl-kraken";
+    });
+    systems = [ "cl-kraken/tests" ];
+    lispLibs = [ (getAttr "rove" pkgs) ];
+  };
+  cl-ksuid = {
+    pname = "cl-ksuid";
+    version = "20170830-git";
+    asds = [ "cl-ksuid" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ksuid/2017-08-30/cl-ksuid-20170830-git.tgz";
+      sha256 = "142fr8l6aa6wxnjxv04f61hy9504cx9x1r10byhmj475s5pfr6gl";
+      system = "cl-ksuid";
+      asd = "cl-ksuid";
+    });
+    systems = [ "cl-ksuid" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "ironclad" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-ksuid-test = {
+    pname = "cl-ksuid-test";
+    version = "20170830-git";
+    asds = [ "cl-ksuid-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ksuid/2017-08-30/cl-ksuid-20170830-git.tgz";
+      sha256 = "142fr8l6aa6wxnjxv04f61hy9504cx9x1r10byhmj475s5pfr6gl";
+      system = "cl-ksuid-test";
+      asd = "cl-ksuid";
+    });
+    systems = [ "cl-ksuid-test" ];
+    lispLibs = [ (getAttr "cl-ksuid" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-kyoto-cabinet = {
+    pname = "cl-kyoto-cabinet";
+    version = "20191130-git";
+    asds = [ "cl-kyoto-cabinet" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-kyoto-cabinet/2019-11-30/cl-kyoto-cabinet-20191130-git.tgz";
+      sha256 = "0ayp87ggayaf8d1dblpv90a87fmgh9vhhcah3ch6jvcw6zzb9lcr";
+      system = "cl-kyoto-cabinet";
+      asd = "cl-kyoto-cabinet";
+    });
+    systems = [ "cl-kyoto-cabinet" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-l10n = {
+    pname = "cl-l10n";
+    version = "20211209-git";
+    asds = [ "cl-l10n" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-l10n/2021-12-09/cl-l10n-20211209-git.tgz";
+      sha256 = "10yknvjcbgc82a6k6yzj2diki2z2s04q5kg642f2gfj2rl3bjyz7";
+      system = "cl-l10n";
+      asd = "cl-l10n";
+    });
+    systems = [ "cl-l10n" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-l10n-cldr" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "cxml" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "iterate" pkgs) (getAttr "local-time" pkgs) (getAttr "metabang-bind" pkgs) ];
+  };
+  cl-l10n-cldr = {
+    pname = "cl-l10n-cldr";
+    version = "20120909-darcs";
+    asds = [ "cl-l10n-cldr" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-l10n-cldr/2012-09-09/cl-l10n-cldr-20120909-darcs.tgz";
+      sha256 = "1mwkjdc51158v9rpdpsc1qzqqs0x8hb9k1k7b0pm8q7dp9rrb53v";
+      system = "cl-l10n-cldr";
+      asd = "cl-l10n-cldr";
+    });
+    systems = [ "cl-l10n-cldr" ];
+    lispLibs = [  ];
+  };
+  cl-l10n_slash_test = {
+    pname = "cl-l10n_test";
+    version = "20211209-git";
+    asds = [ "cl-l10n" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-l10n/2021-12-09/cl-l10n-20211209-git.tgz";
+      sha256 = "10yknvjcbgc82a6k6yzj2diki2z2s04q5kg642f2gfj2rl3bjyz7";
+      system = "cl-l10n";
+      asd = "cl-l10n";
+    });
+    systems = [ "cl-l10n/test" ];
+    lispLibs = [ (getAttr "cl-l10n" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  cl-las = {
+    pname = "cl-las";
+    version = "20210807-git";
+    asds = [ "cl-las" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-las/2021-08-07/cl-las-20210807-git.tgz";
+      sha256 = "0x36nq6x5q54balkyd0i7vk3dnmsw8hlv904q66w1kxzai26sgqr";
+      system = "cl-las";
+      asd = "cl-las";
+    });
+    systems = [ "cl-las" ];
+    lispLibs = [ (getAttr "binary-io" pkgs) ];
+  };
+  cl-lastfm = {
+    pname = "cl-lastfm";
+    version = "0.2.1";
+    asds = [ "cl-lastfm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-lastfm/2014-07-13/cl-lastfm-0.2.1.tgz";
+      sha256 = "0f37b8swgfz57bffcypjhcgzj5dhanssiraahkianj65a6zbindl";
+      system = "cl-lastfm";
+      asd = "cl-lastfm";
+    });
+    systems = [ "cl-lastfm" ];
+    lispLibs = [ (getAttr "cxml-stp" pkgs) (getAttr "drakma" pkgs) (getAttr "trivial-utf-8" pkgs) (getAttr "url-rewrite" pkgs) ];
+  };
+  cl-lastfm-test = {
+    pname = "cl-lastfm-test";
+    version = "0.2.1";
+    asds = [ "cl-lastfm-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-lastfm/2014-07-13/cl-lastfm-0.2.1.tgz";
+      sha256 = "0f37b8swgfz57bffcypjhcgzj5dhanssiraahkianj65a6zbindl";
+      system = "cl-lastfm-test";
+      asd = "cl-lastfm-test";
+    });
+    systems = [ "cl-lastfm-test" ];
+    lispLibs = [ (getAttr "cl-lastfm" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  cl-launch = {
+    pname = "cl-launch";
+    version = "4.1.4.1";
+    asds = [ "cl-launch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-launch/2015-10-31/cl-launch-4.1.4.1.tgz";
+      sha256 = "041nh1sh9rqdk9c1kr63n3g2pn11i68x9plzyfq36wmyhz2aypnr";
+      system = "cl-launch";
+      asd = "cl-launch";
+    });
+    systems = [ "cl-launch" ];
+    lispLibs = [  ];
+  };
+  cl-ledger = {
+    pname = "cl-ledger";
+    version = "20200218-git";
+    asds = [ "cl-ledger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ledger/2020-02-18/cl-ledger-20200218-git.tgz";
+      sha256 = "1dpxna9s0rgshqbc58h698ihwyk34a3napb8zrm8vbq8aigjrrzs";
+      system = "cl-ledger";
+      asd = "cl-ledger";
+    });
+    systems = [ "cl-ledger" ];
+    lispLibs = [ (getAttr "cambl" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "local-time" pkgs) (getAttr "periods-series" pkgs) ];
+  };
+  cl-lex = {
+    pname = "cl-lex";
+    version = "20160929-git";
+    asds = [ "cl-lex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-lex/2016-09-29/cl-lex-20160929-git.tgz";
+      sha256 = "1kg50f76bfpfxcv4dfivq1n9a0xlsra2ajb0vd68lxwgbidgyc2y";
+      system = "cl-lex";
+      asd = "cl-lex";
+    });
+    systems = [ "cl-lex" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  cl-lexer = {
+    pname = "cl-lexer";
+    version = "20191007-git";
+    asds = [ "cl-lexer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-lexer/2019-10-07/cl-lexer-20191007-git.tgz";
+      sha256 = "182fnmazfmc3zdp14lvpxlaxrwwsjp8mbjn8sdzywjxcnvlpkdmk";
+      system = "cl-lexer";
+      asd = "cl-lexer";
+    });
+    systems = [ "cl-lexer" ];
+    lispLibs = [ (getAttr "regex" pkgs) ];
+  };
+  cl-liballegro = {
+    pname = "cl-liballegro";
+    version = "20211209-git";
+    asds = [ "cl-liballegro" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-liballegro/2021-12-09/cl-liballegro-20211209-git.tgz";
+      sha256 = "0brbr7i342s0gadlnzd3a61w2b9ihhx60l19ararnc2asvyhmz7x";
+      system = "cl-liballegro";
+      asd = "cl-liballegro";
+    });
+    systems = [ "cl-liballegro" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "float-features" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-main-thread" pkgs) ];
+  };
+  cl-liballegro-nuklear = {
+    pname = "cl-liballegro-nuklear";
+    version = "20211209-git";
+    asds = [ "cl-liballegro-nuklear" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-liballegro-nuklear/2021-12-09/cl-liballegro-nuklear-20211209-git.tgz";
+      sha256 = "02m97cw0b75grrmf8f2hlwwq2s39m1ypzqbhhl3qjqfzvycdgar5";
+      system = "cl-liballegro-nuklear";
+      asd = "cl-liballegro-nuklear";
+    });
+    systems = [ "cl-liballegro-nuklear" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  cl-libevent2 = {
+    pname = "cl-libevent2";
+    version = "20190107-git";
+    asds = [ "cl-libevent2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libevent2/2019-01-07/cl-libevent2-20190107-git.tgz";
+      sha256 = "18c8cxlh0vmyca7ihj8dz3f1j31h7y0kcis6qr6mpkzyi0k2cf0g";
+      system = "cl-libevent2";
+      asd = "cl-libevent2";
+    });
+    systems = [ "cl-libevent2" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-libevent2-ssl = {
+    pname = "cl-libevent2-ssl";
+    version = "20190107-git";
+    asds = [ "cl-libevent2-ssl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libevent2/2019-01-07/cl-libevent2-20190107-git.tgz";
+      sha256 = "18c8cxlh0vmyca7ihj8dz3f1j31h7y0kcis6qr6mpkzyi0k2cf0g";
+      system = "cl-libevent2-ssl";
+      asd = "cl-libevent2-ssl";
+    });
+    systems = [ "cl-libevent2-ssl" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-libevent2" pkgs) ];
+  };
+  cl-libfarmhash = {
+    pname = "cl-libfarmhash";
+    version = "20161031-git";
+    asds = [ "cl-libfarmhash" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libfarmhash/2016-10-31/cl-libfarmhash-20161031-git.tgz";
+      sha256 = "1r8rhwh4jdvvby15nzaxikzhd1q8ipsfylqbsq2m9q482vcxs6sb";
+      system = "cl-libfarmhash";
+      asd = "cl-libfarmhash";
+    });
+    systems = [ "cl-libfarmhash" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) ];
+  };
+  cl-libhoedown = {
+    pname = "cl-libhoedown";
+    version = "20161031-git";
+    asds = [ "cl-libhoedown" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libhoedown/2016-10-31/cl-libhoedown-20161031-git.tgz";
+      sha256 = "1bm8iganj8533m5y46zjvai1fb0dw32hdfx22jjp5k31kyv9d42c";
+      system = "cl-libhoedown";
+      asd = "cl-libhoedown";
+    });
+    systems = [ "cl-libhoedown" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-libiio = {
+    pname = "cl-libiio";
+    version = "20191130-git";
+    asds = [ "cl-libiio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libiio/2019-11-30/cl-libiio-20191130-git.tgz";
+      sha256 = "1z1jslm303c22imhshr92j1mq7g3j81xa5rk5psj3x00papncwmr";
+      system = "cl-libiio";
+      asd = "cl-libiio";
+    });
+    systems = [ "cl-libiio" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-liblinear = {
+    pname = "cl-liblinear";
+    version = "20211020-git";
+    asds = [ "cl-liblinear" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libsvm/2021-10-20/cl-libsvm-20211020-git.tgz";
+      sha256 = "0fpcw82hz6bp2hicjhvhxwcj4azprcl911n8q941lk8xcld3pmi0";
+      system = "cl-liblinear";
+      asd = "cl-liblinear";
+    });
+    systems = [ "cl-liblinear" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-libpuzzle = {
+    pname = "cl-libpuzzle";
+    version = "20150608-git";
+    asds = [ "cl-libpuzzle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libpuzzle/2015-06-08/cl-libpuzzle-20150608-git.tgz";
+      sha256 = "0qgpdg4lni4sq6jp23qcd1jldsnrsn4h5b14ddmc8mb7va4qshlp";
+      system = "cl-libpuzzle";
+      asd = "cl-libpuzzle";
+    });
+    systems = [ "cl-libpuzzle" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-libpuzzle-test = {
+    pname = "cl-libpuzzle-test";
+    version = "20150608-git";
+    asds = [ "cl-libpuzzle-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libpuzzle/2015-06-08/cl-libpuzzle-20150608-git.tgz";
+      sha256 = "0qgpdg4lni4sq6jp23qcd1jldsnrsn4h5b14ddmc8mb7va4qshlp";
+      system = "cl-libpuzzle-test";
+      asd = "cl-libpuzzle-test";
+    });
+    systems = [ "cl-libpuzzle-test" ];
+    lispLibs = [ (getAttr "cl-libpuzzle" pkgs) (getAttr "cl-test-more" pkgs) ];
+  };
+  cl-libsvm = {
+    pname = "cl-libsvm";
+    version = "20211020-git";
+    asds = [ "cl-libsvm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libsvm/2021-10-20/cl-libsvm-20211020-git.tgz";
+      sha256 = "0fpcw82hz6bp2hicjhvhxwcj4azprcl911n8q941lk8xcld3pmi0";
+      system = "cl-libsvm";
+      asd = "cl-libsvm";
+    });
+    systems = [ "cl-libsvm" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-libsvm-format = {
+    pname = "cl-libsvm-format";
+    version = "20180711-git";
+    asds = [ "cl-libsvm-format" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libsvm-format/2018-07-11/cl-libsvm-format-20180711-git.tgz";
+      sha256 = "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg";
+      system = "cl-libsvm-format";
+      asd = "cl-libsvm-format";
+    });
+    systems = [ "cl-libsvm-format" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cl-libsvm-format-test = {
+    pname = "cl-libsvm-format-test";
+    version = "20180711-git";
+    asds = [ "cl-libsvm-format-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libsvm-format/2018-07-11/cl-libsvm-format-20180711-git.tgz";
+      sha256 = "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg";
+      system = "cl-libsvm-format-test";
+      asd = "cl-libsvm-format-test";
+    });
+    systems = [ "cl-libsvm-format-test" ];
+    lispLibs = [ (getAttr "cl-libsvm-format" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-libusb = {
+    pname = "cl-libusb";
+    version = "20210228-git";
+    asds = [ "cl-libusb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libusb/2021-02-28/cl-libusb-20210228-git.tgz";
+      sha256 = "0kyzgcflwb85q58fgn82sp0bipnq5bprg5i4h0h3jxafqqyagbnk";
+      system = "cl-libusb";
+      asd = "cl-libusb";
+    });
+    systems = [ "cl-libusb" ];
+    lispLibs = [ (getAttr "libusb-ffi" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-libuv = {
+    pname = "cl-libuv";
+    version = "20200610-git";
+    asds = [ "cl-libuv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libuv/2020-06-10/cl-libuv-20200610-git.tgz";
+      sha256 = "12y30jlb88kn96nvh4ma654scibmdy9dnbnf1z18hmnrczjgyq81";
+      system = "cl-libuv";
+      asd = "cl-libuv";
+    });
+    systems = [ "cl-libuv" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  cl-libxml2 = {
+    pname = "cl-libxml2";
+    version = "20130615-git";
+    asds = [ "cl-libxml2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz";
+      sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw";
+      system = "cl-libxml2";
+      asd = "cl-libxml2";
+    });
+    systems = [ "cl-libxml2" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "garbage-pools" pkgs) (getAttr "iterate" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "puri" pkgs) ];
+  };
+  cl-libxml2-test = {
+    pname = "cl-libxml2-test";
+    version = "20130615-git";
+    asds = [ "cl-libxml2-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz";
+      sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw";
+      system = "cl-libxml2-test";
+      asd = "cl-libxml2";
+    });
+    systems = [ "cl-libxml2-test" ];
+    lispLibs = [ (getAttr "cl-libxml2" pkgs) (getAttr "lift" pkgs) ];
+  };
+  cl-libyaml = {
+    pname = "cl-libyaml";
+    version = "20201220-git";
+    asds = [ "cl-libyaml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libyaml/2020-12-20/cl-libyaml-20201220-git.tgz";
+      sha256 = "06pvmackyhq03rjmihpx6w63m6cy8wx78ll5xpwwvd85bgrqq817";
+      system = "cl-libyaml";
+      asd = "cl-libyaml";
+    });
+    systems = [ "cl-libyaml" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-libyaml-test = {
+    pname = "cl-libyaml-test";
+    version = "20201220-git";
+    asds = [ "cl-libyaml-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libyaml/2020-12-20/cl-libyaml-20201220-git.tgz";
+      sha256 = "06pvmackyhq03rjmihpx6w63m6cy8wx78ll5xpwwvd85bgrqq817";
+      system = "cl-libyaml-test";
+      asd = "cl-libyaml-test";
+    });
+    systems = [ "cl-libyaml-test" ];
+    lispLibs = [ (getAttr "cl-libyaml" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-lite = {
+    pname = "cl-lite";
+    version = "master-83d7b044-git";
+    asds = [ "cl-lite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "cl-lite";
+      asd = "cl-lite";
+    });
+    systems = [ "cl-lite" ];
+    lispLibs = [ (getAttr "glisp" pkgs) ];
+  };
+  cl-locale = {
+    pname = "cl-locale";
+    version = "20151031-git";
+    asds = [ "cl-locale" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-locale/2015-10-31/cl-locale-20151031-git.tgz";
+      sha256 = "1rhannhpsw1yg1fpflam483a3w9qb1izgyvmnmiddv3dn4qsmn9p";
+      system = "cl-locale";
+      asd = "cl-locale";
+    });
+    systems = [ "cl-locale" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "arnesi" pkgs) (getAttr "cl-annot" pkgs) (getAttr "cl-syntax" pkgs) (getAttr "cl-syntax-annot" pkgs) ];
+  };
+  cl-locale-syntax = {
+    pname = "cl-locale-syntax";
+    version = "20151031-git";
+    asds = [ "cl-locale-syntax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-locale/2015-10-31/cl-locale-20151031-git.tgz";
+      sha256 = "1rhannhpsw1yg1fpflam483a3w9qb1izgyvmnmiddv3dn4qsmn9p";
+      system = "cl-locale-syntax";
+      asd = "cl-locale-syntax";
+    });
+    systems = [ "cl-locale-syntax" ];
+    lispLibs = [ (getAttr "cl-locale" pkgs) (getAttr "cl-syntax" pkgs) ];
+  };
+  cl-locale-test = {
+    pname = "cl-locale-test";
+    version = "20151031-git";
+    asds = [ "cl-locale-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-locale/2015-10-31/cl-locale-20151031-git.tgz";
+      sha256 = "1rhannhpsw1yg1fpflam483a3w9qb1izgyvmnmiddv3dn4qsmn9p";
+      system = "cl-locale-test";
+      asd = "cl-locale-test";
+    });
+    systems = [ "cl-locale-test" ];
+    lispLibs = [ (getAttr "cl-locale" pkgs) (getAttr "cl-syntax" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-locatives = {
+    pname = "cl-locatives";
+    version = "20190307-hg";
+    asds = [ "cl-locatives" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-locatives/2019-03-07/cl-locatives-20190307-hg.tgz";
+      sha256 = "0f1fqqdpxbyl1cshmz26g3bgnyi7g6nixfrqjab5sxwihk844yd6";
+      system = "cl-locatives";
+      asd = "cl-locatives";
+    });
+    systems = [ "cl-locatives" ];
+    lispLibs = [  ];
+  };
+  cl-log = {
+    pname = "cl-log";
+    version = ".1.0.1";
+    asds = [ "cl-log" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-log/2013-01-28/cl-log.1.0.1.tgz";
+      sha256 = "0lfy3sxr2shhv8qpyry9kk9gcwwl6bhfgzv0pczibl70mgraqnys";
+      system = "cl-log";
+      asd = "cl-log";
+    });
+    systems = [ "cl-log" ];
+    lispLibs = [  ];
+  };
+  cl-log-test = {
+    pname = "cl-log-test";
+    version = ".1.0.1";
+    asds = [ "cl-log-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-log/2013-01-28/cl-log.1.0.1.tgz";
+      sha256 = "0lfy3sxr2shhv8qpyry9kk9gcwwl6bhfgzv0pczibl70mgraqnys";
+      system = "cl-log-test";
+      asd = "cl-log-test";
+    });
+    systems = [ "cl-log-test" ];
+    lispLibs = [ (getAttr "cl-log" pkgs) (getAttr "eos" pkgs) ];
+  };
+  cl-logic = {
+    pname = "cl-logic";
+    version = "20141217-git";
+    asds = [ "cl-logic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-logic/2014-12-17/cl-logic-20141217-git.tgz";
+      sha256 = "17n2wzqali3j6b7pqbydipwlxgwdrj4mdnsgwjdyz32n8jvfyjwh";
+      system = "cl-logic";
+      asd = "cl-logic";
+    });
+    systems = [ "cl-logic" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "quine-mccluskey" pkgs) ];
+  };
+  cl-ltsv = {
+    pname = "cl-ltsv";
+    version = "20140713-git";
+    asds = [ "cl-ltsv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ltsv/2014-07-13/cl-ltsv-20140713-git.tgz";
+      sha256 = "1bjvnwxyaaw3yrq5hws2fr4qmk5938hdh2np2bqpm4m3b2c94n22";
+      system = "cl-ltsv";
+      asd = "cl-ltsv";
+    });
+    systems = [ "cl-ltsv" ];
+    lispLibs = [  ];
+  };
+  cl-ltsv-test = {
+    pname = "cl-ltsv-test";
+    version = "20140713-git";
+    asds = [ "cl-ltsv-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ltsv/2014-07-13/cl-ltsv-20140713-git.tgz";
+      sha256 = "1bjvnwxyaaw3yrq5hws2fr4qmk5938hdh2np2bqpm4m3b2c94n22";
+      system = "cl-ltsv-test";
+      asd = "cl-ltsv-test";
+    });
+    systems = [ "cl-ltsv-test" ];
+    lispLibs = [ (getAttr "cl-ltsv" pkgs) (getAttr "cl-test-more" pkgs) ];
+  };
+  cl-lzma = {
+    pname = "cl-lzma";
+    version = "20191130-git";
+    asds = [ "cl-lzma" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-lzma/2019-11-30/cl-lzma-20191130-git.tgz";
+      sha256 = "17fdinmi2ffdga17slv86van0sp9gkvlmjprfdwak2jzziz6fxx6";
+      system = "cl-lzma";
+      asd = "cl-lzma";
+    });
+    systems = [ "cl-lzma" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-autowrap" pkgs) (getAttr "fast-io" pkgs) (getAttr "static-vectors" pkgs) ];
+  };
+  cl-m4 = {
+    pname = "cl-m4";
+    version = "20130312-git";
+    asds = [ "cl-m4" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-m4/2013-03-12/cl-m4-20130312-git.tgz";
+      sha256 = "1dqdhxb45j4vqmx38xkq32gsckldca8rxpf2idg4b61wd21c0ci6";
+      system = "cl-m4";
+      asd = "cl-m4";
+    });
+    systems = [ "cl-m4" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "external-program" pkgs) (getAttr "graylex" pkgs) ];
+  };
+  cl-m4-test = {
+    pname = "cl-m4-test";
+    version = "20130312-git";
+    asds = [ "cl-m4-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-m4/2013-03-12/cl-m4-20130312-git.tgz";
+      sha256 = "1dqdhxb45j4vqmx38xkq32gsckldca8rxpf2idg4b61wd21c0ci6";
+      system = "cl-m4-test";
+      asd = "cl-m4-test";
+    });
+    systems = [ "cl-m4-test" ];
+    lispLibs = [ (getAttr "cl-heredoc" pkgs) (getAttr "cl-m4" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  cl-mango = {
+    pname = "cl-mango";
+    version = "20200925-git";
+    asds = [ "cl-mango" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mango/2020-09-25/cl-mango-20200925-git.tgz";
+      sha256 = "0ipa1azakzqigq103m1j2z597bp2i34kx4z1418kp2jn8zwbdz5s";
+      system = "cl-mango";
+      asd = "cl-mango";
+    });
+    systems = [ "cl-mango" ];
+    lispLibs = [ (getAttr "drakma" pkgs) (getAttr "json-mop" pkgs) (getAttr "yason" pkgs) ];
+  };
+  cl-markdown = {
+    pname = "cl-markdown";
+    version = "20191227-git";
+    asds = [ "cl-markdown" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-markdown/2019-12-27/cl-markdown-20191227-git.tgz";
+      sha256 = "1wksi765nk8kf5qm2chh7dcn6k562kvc108dzdb9y5iwp97lqqvg";
+      system = "cl-markdown";
+      asd = "cl-markdown";
+    });
+    systems = [ "cl-markdown" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "cl-containers" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "dynamic-classes" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "metatilities-base" pkgs) ];
+  };
+  cl-markdown-comparisons = {
+    pname = "cl-markdown-comparisons";
+    version = "20191227-git";
+    asds = [ "cl-markdown-comparisons" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-markdown/2019-12-27/cl-markdown-20191227-git.tgz";
+      sha256 = "1wksi765nk8kf5qm2chh7dcn6k562kvc108dzdb9y5iwp97lqqvg";
+      system = "cl-markdown-comparisons";
+      asd = "cl-markdown-comparisons";
+    });
+    systems = [ "cl-markdown-comparisons" ];
+    lispLibs = [ (getAttr "cl-html-diff" pkgs) (getAttr "cl-markdown" pkgs) (getAttr "html-encode" pkgs) (getAttr "lift" pkgs) (getAttr "lml2" pkgs) (getAttr "trivial-shell" pkgs) ];
+  };
+  cl-markdown-test = {
+    pname = "cl-markdown-test";
+    version = "20191227-git";
+    asds = [ "cl-markdown-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-markdown/2019-12-27/cl-markdown-20191227-git.tgz";
+      sha256 = "1wksi765nk8kf5qm2chh7dcn6k562kvc108dzdb9y5iwp97lqqvg";
+      system = "cl-markdown-test";
+      asd = "cl-markdown-test";
+    });
+    systems = [ "cl-markdown-test" ];
+    lispLibs = [ (getAttr "cl-markdown" pkgs) (getAttr "lift" pkgs) (getAttr "trivial-shell" pkgs) ];
+  };
+  cl-markless = {
+    pname = "cl-markless";
+    version = "20210531-git";
+    asds = [ "cl-markless" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-markless/2021-05-31/cl-markless-20210531-git.tgz";
+      sha256 = "1fsqs8pkwqabb6zld3nxsckj1rxzginzzjmdaakic66a28kyn8pl";
+      system = "cl-markless";
+      asd = "cl-markless";
+    });
+    systems = [ "cl-markless" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) (getAttr "trivial-indent" pkgs) ];
+  };
+  cl-markless-epub = {
+    pname = "cl-markless-epub";
+    version = "20210531-git";
+    asds = [ "cl-markless-epub" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-markless/2021-05-31/cl-markless-20210531-git.tgz";
+      sha256 = "1fsqs8pkwqabb6zld3nxsckj1rxzginzzjmdaakic66a28kyn8pl";
+      system = "cl-markless-epub";
+      asd = "cl-markless-epub";
+    });
+    systems = [ "cl-markless-epub" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-markless-plump" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "trivial-indent" pkgs) (getAttr "trivial-mimes" pkgs) (getAttr "uiop" pkgs) (getAttr "zip" pkgs) ];
+  };
+  cl-markless-markdown = {
+    pname = "cl-markless-markdown";
+    version = "20210531-git";
+    asds = [ "cl-markless-markdown" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-markless/2021-05-31/cl-markless-20210531-git.tgz";
+      sha256 = "1fsqs8pkwqabb6zld3nxsckj1rxzginzzjmdaakic66a28kyn8pl";
+      system = "cl-markless-markdown";
+      asd = "cl-markless-markdown";
+    });
+    systems = [ "cl-markless-markdown" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "_3bmd-ext-code-blocks" pkgs) (getAttr "cl-markless" pkgs) ];
+  };
+  cl-markless-plump = {
+    pname = "cl-markless-plump";
+    version = "20210531-git";
+    asds = [ "cl-markless-plump" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-markless/2021-05-31/cl-markless-20210531-git.tgz";
+      sha256 = "1fsqs8pkwqabb6zld3nxsckj1rxzginzzjmdaakic66a28kyn8pl";
+      system = "cl-markless-plump";
+      asd = "cl-markless-plump";
+    });
+    systems = [ "cl-markless-plump" ];
+    lispLibs = [ (getAttr "cl-markless" pkgs) (getAttr "plump-dom" pkgs) ];
+  };
+  cl-markless-standalone = {
+    pname = "cl-markless-standalone";
+    version = "20210531-git";
+    asds = [ "cl-markless-standalone" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-markless/2021-05-31/cl-markless-20210531-git.tgz";
+      sha256 = "1fsqs8pkwqabb6zld3nxsckj1rxzginzzjmdaakic66a28kyn8pl";
+      system = "cl-markless-standalone";
+      asd = "cl-markless-standalone";
+    });
+    systems = [ "cl-markless-standalone" ];
+    lispLibs = [ (getAttr "cl-markless" pkgs) (getAttr "cl-markless-epub" pkgs) (getAttr "cl-markless-markdown" pkgs) (getAttr "cl-markless-plump" pkgs) (getAttr "command-line-arguments" pkgs) ];
+  };
+  cl-markless-test = {
+    pname = "cl-markless-test";
+    version = "20210531-git";
+    asds = [ "cl-markless-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-markless/2021-05-31/cl-markless-20210531-git.tgz";
+      sha256 = "1fsqs8pkwqabb6zld3nxsckj1rxzginzzjmdaakic66a28kyn8pl";
+      system = "cl-markless-test";
+      asd = "cl-markless-test";
+    });
+    systems = [ "cl-markless-test" ];
+    lispLibs = [ (getAttr "cl-markless" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  cl-marklogic = {
+    pname = "cl-marklogic";
+    version = "20210124-git";
+    asds = [ "cl-marklogic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-marklogic/2021-01-24/cl-marklogic-20210124-git.tgz";
+      sha256 = "0baq2ccb88zyr2dqdvpm32lsin4zalv11w48x4xm80cr4kw45fk5";
+      system = "cl-marklogic";
+      asd = "cl-marklogic";
+    });
+    systems = [ "cl-marklogic" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "drakma" pkgs) (getAttr "fiveam" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  cl-markup = {
+    pname = "cl-markup";
+    version = "20131003-git";
+    asds = [ "cl-markup" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-markup/2013-10-03/cl-markup-20131003-git.tgz";
+      sha256 = "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7";
+      system = "cl-markup";
+      asd = "cl-markup";
+    });
+    systems = [ "cl-markup" ];
+    lispLibs = [  ];
+  };
+  cl-markup-test = {
+    pname = "cl-markup-test";
+    version = "20131003-git";
+    asds = [ "cl-markup-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-markup/2013-10-03/cl-markup-20131003-git.tgz";
+      sha256 = "10l6k45971dl13fkdmva7zc6i453lmq9j4xax2ci6pjzlc6xjhp7";
+      system = "cl-markup-test";
+      asd = "cl-markup-test";
+    });
+    systems = [ "cl-markup-test" ];
+    lispLibs = [ (getAttr "cl-markup" pkgs) (getAttr "cl-test-more" pkgs) ];
+  };
+  cl-match = {
+    pname = "cl-match";
+    version = "20121125-git";
+    asds = [ "cl-match" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-match/2012-11-25/cl-match-20121125-git.tgz";
+      sha256 = "1qc8gzp7f4phgyi5whkxacrqzdqs0y1hvkf71m8n7l303jly9wjf";
+      system = "cl-match";
+      asd = "cl-match";
+    });
+    systems = [ "cl-match" ];
+    lispLibs = [ (getAttr "standard-cl" pkgs) ];
+  };
+  cl-match-test = {
+    pname = "cl-match-test";
+    version = "20121125-git";
+    asds = [ "cl-match-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-match/2012-11-25/cl-match-20121125-git.tgz";
+      sha256 = "1qc8gzp7f4phgyi5whkxacrqzdqs0y1hvkf71m8n7l303jly9wjf";
+      system = "cl-match-test";
+      asd = "cl-match-test";
+    });
+    systems = [ "cl-match-test" ];
+    lispLibs = [ (getAttr "cl-match" pkgs) (getAttr "pcl-unit-test" pkgs) ];
+  };
+  cl-mathstats = {
+    pname = "cl-mathstats";
+    version = "20140713-git";
+    asds = [ "cl-mathstats" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mathstats/2014-07-13/cl-mathstats-20140713-git.tgz";
+      sha256 = "1iswi8gsz1s720ni8hfb7x5n8cidlaf8ypi7qwz1a7j89qcnqppr";
+      system = "cl-mathstats";
+      asd = "cl-mathstats";
+    });
+    systems = [ "cl-mathstats" ];
+    lispLibs = [ (getAttr "cl-containers" pkgs) (getAttr "metatilities-base" pkgs) ];
+  };
+  cl-mathstats-test = {
+    pname = "cl-mathstats-test";
+    version = "20140713-git";
+    asds = [ "cl-mathstats-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mathstats/2014-07-13/cl-mathstats-20140713-git.tgz";
+      sha256 = "1iswi8gsz1s720ni8hfb7x5n8cidlaf8ypi7qwz1a7j89qcnqppr";
+      system = "cl-mathstats-test";
+      asd = "cl-mathstats-test";
+    });
+    systems = [ "cl-mathstats-test" ];
+    lispLibs = [ (getAttr "cl-mathstats" pkgs) (getAttr "lift" pkgs) ];
+  };
+  cl-maxminddb = {
+    pname = "cl-maxminddb";
+    version = "20210630-git";
+    asds = [ "cl-maxminddb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-maxminddb/2021-06-30/cl-maxminddb-20210630-git.tgz";
+      sha256 = "1mm7cpiygcka39pj4a0rvhayfl4wh0zfjkda60yshq24xmml84pw";
+      system = "cl-maxminddb";
+      asd = "cl-maxminddb";
+    });
+    systems = [ "cl-maxminddb" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "iterate" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "mmap" pkgs) ];
+  };
+  cl-maxsat = {
+    pname = "cl-maxsat";
+    version = "20200218-git";
+    asds = [ "cl-maxsat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-maxsat/2020-02-18/cl-maxsat-20200218-git.tgz";
+      sha256 = "0qy4hhi8y3wv88x3s88g2hl2cz25cjp26xapd3z4h7lrx7cy786i";
+      system = "cl-maxsat";
+      asd = "cl-maxsat";
+    });
+    systems = [ "cl-maxsat" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-sat" pkgs) (getAttr "iterate" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  cl-maxsat_dot_test = {
+    pname = "cl-maxsat.test";
+    version = "20200218-git";
+    asds = [ "cl-maxsat.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-maxsat/2020-02-18/cl-maxsat-20200218-git.tgz";
+      sha256 = "0qy4hhi8y3wv88x3s88g2hl2cz25cjp26xapd3z4h7lrx7cy786i";
+      system = "cl-maxsat.test";
+      asd = "cl-maxsat.test";
+    });
+    systems = [ "cl-maxsat.test" ];
+    lispLibs = [ (getAttr "cl-maxsat" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-mecab = {
+    pname = "cl-mecab";
+    version = "20181018-git";
+    asds = [ "cl-mecab" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mecab/2018-10-18/cl-mecab-20181018-git.tgz";
+      sha256 = "0lfan9p8dsniyp60g6n8awfjvv8lyickc40qdxiry6kmp65636ps";
+      system = "cl-mecab";
+      asd = "cl-mecab";
+    });
+    systems = [ "cl-mecab" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-mecab-test = {
+    pname = "cl-mecab-test";
+    version = "20181018-git";
+    asds = [ "cl-mecab-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mecab/2018-10-18/cl-mecab-20181018-git.tgz";
+      sha256 = "0lfan9p8dsniyp60g6n8awfjvv8lyickc40qdxiry6kmp65636ps";
+      system = "cl-mecab-test";
+      asd = "cl-mecab-test";
+    });
+    systems = [ "cl-mecab-test" ];
+    lispLibs = [ (getAttr "cl-mecab" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-mechanize = {
+    pname = "cl-mechanize";
+    version = "20180711-git";
+    asds = [ "cl-mechanize" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mechanize/2018-07-11/cl-mechanize-20180711-git.tgz";
+      sha256 = "0y86sdi2nl3jv6n535cd62jax0mpc0cckrhffaqacbgbdjc875sn";
+      system = "cl-mechanize";
+      asd = "cl-mechanize";
+    });
+    systems = [ "cl-mechanize" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "closure-html" pkgs) (getAttr "cxml-stp" pkgs) (getAttr "drakma" pkgs) (getAttr "puri" pkgs) ];
+  };
+  cl-mediawiki = {
+    pname = "cl-mediawiki";
+    version = "20161204-git";
+    asds = [ "cl-mediawiki" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mediawiki/2016-12-04/cl-mediawiki-20161204-git.tgz";
+      sha256 = "1wrysj9l64k3xx152yw1arvn1glnx60j730qvj8prm65iid95xgm";
+      system = "cl-mediawiki";
+      asd = "cl-mediawiki";
+    });
+    systems = [ "cl-mediawiki" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cxml" pkgs) (getAttr "drakma" pkgs) ];
+  };
+  cl-mediawiki-test = {
+    pname = "cl-mediawiki-test";
+    version = "20161204-git";
+    asds = [ "cl-mediawiki-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mediawiki/2016-12-04/cl-mediawiki-20161204-git.tgz";
+      sha256 = "1wrysj9l64k3xx152yw1arvn1glnx60j730qvj8prm65iid95xgm";
+      system = "cl-mediawiki-test";
+      asd = "cl-mediawiki-test";
+    });
+    systems = [ "cl-mediawiki-test" ];
+    lispLibs = [ (getAttr "cl-mediawiki" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  cl-megolm = {
+    pname = "cl-megolm";
+    version = "20211020-git";
+    asds = [ "cl-megolm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-megolm/2021-10-20/cl-megolm-20211020-git.tgz";
+      sha256 = "1wxri9md61xl6bf9p9pm4hjsyd0mz6nf2lzwzbwsqy808s2w0xw6";
+      system = "cl-megolm";
+      asd = "cl-megolm";
+    });
+    systems = [ "cl-megolm" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "str" pkgs) (getAttr "claw-olm" pkgs) (getAttr "ironclad" pkgs) (getAttr "jonathan" pkgs) (getAttr "lisp-unit" pkgs) (getAttr "s-base64" pkgs) ];
+  };
+  cl-megolm_slash_tests = {
+    pname = "cl-megolm_tests";
+    version = "20211020-git";
+    asds = [ "cl-megolm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-megolm/2021-10-20/cl-megolm-20211020-git.tgz";
+      sha256 = "1wxri9md61xl6bf9p9pm4hjsyd0mz6nf2lzwzbwsqy808s2w0xw6";
+      system = "cl-megolm";
+      asd = "cl-megolm";
+    });
+    systems = [ "cl-megolm/tests" ];
+    lispLibs = [ (getAttr "cl-megolm" pkgs) (getAttr "lisp-unit" pkgs) (getAttr "s-base64" pkgs) ];
+  };
+  cl-memcached = {
+    pname = "cl-memcached";
+    version = "20150608-git";
+    asds = [ "cl-memcached" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-memcached/2015-06-08/cl-memcached-20150608-git.tgz";
+      sha256 = "0g66m0yiazzh0447qbmgxjn4kxjcx9bk2l8cimyzmriz5d0j2q3i";
+      system = "cl-memcached";
+      asd = "cl-memcached";
+    });
+    systems = [ "cl-memcached" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "pooler" pkgs) (getAttr "split-sequence" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-messagepack = {
+    pname = "cl-messagepack";
+    version = "20201016-git";
+    asds = [ "cl-messagepack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-messagepack/2020-10-16/cl-messagepack-20201016-git.tgz";
+      sha256 = "0lhw8wz45q9jgh7fn5ihj7ccl3wm2c2x3vb4cijgg6vhbrwlw2qh";
+      system = "cl-messagepack";
+      asd = "cl-messagepack";
+    });
+    systems = [ "cl-messagepack" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "closer-mop" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  cl-messagepack-rpc = {
+    pname = "cl-messagepack-rpc";
+    version = "20171227-git";
+    asds = [ "cl-messagepack-rpc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-messagepack-rpc/2017-12-27/cl-messagepack-rpc-20171227-git.tgz";
+      sha256 = "02nrnhav28v5vwig9mmmmax59nl0sbjkmdzwakzpj6y1gafiqgy9";
+      system = "cl-messagepack-rpc";
+      asd = "cl-messagepack-rpc";
+    });
+    systems = [ "cl-messagepack-rpc" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-async" pkgs) (getAttr "cl-libuv" pkgs) (getAttr "cl-messagepack" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "trivial-backtrace" pkgs) ];
+  };
+  cl-messagepack-rpc-tests = {
+    pname = "cl-messagepack-rpc-tests";
+    version = "20171227-git";
+    asds = [ "cl-messagepack-rpc-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-messagepack-rpc/2017-12-27/cl-messagepack-rpc-20171227-git.tgz";
+      sha256 = "02nrnhav28v5vwig9mmmmax59nl0sbjkmdzwakzpj6y1gafiqgy9";
+      system = "cl-messagepack-rpc-tests";
+      asd = "cl-messagepack-rpc-tests";
+    });
+    systems = [ "cl-messagepack-rpc-tests" ];
+    lispLibs = [ (getAttr "cl-messagepack-rpc" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-messagepack-tests = {
+    pname = "cl-messagepack-tests";
+    version = "20201016-git";
+    asds = [ "cl-messagepack-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-messagepack/2020-10-16/cl-messagepack-20201016-git.tgz";
+      sha256 = "0lhw8wz45q9jgh7fn5ihj7ccl3wm2c2x3vb4cijgg6vhbrwlw2qh";
+      system = "cl-messagepack-tests";
+      asd = "cl-messagepack-tests";
+    });
+    systems = [ "cl-messagepack-tests" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "cl-messagepack" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-migrations = {
+    pname = "cl-migrations";
+    version = "20110110-http";
+    asds = [ "cl-migrations" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-migrations/2011-01-10/cl-migrations-20110110-http.tgz";
+      sha256 = "0mq3ir1kffw921q5a878964ghnrhcrh79p6yxsrb25bzkwpnfx02";
+      system = "cl-migrations";
+      asd = "cl-migrations";
+    });
+    systems = [ "cl-migrations" ];
+    lispLibs = [ (getAttr "clsql" pkgs) ];
+  };
+  cl-migratum = {
+    pname = "cl-migratum";
+    version = "20210807-git";
+    asds = [ "cl-migratum" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-migratum/2021-08-07/cl-migratum-20210807-git.tgz";
+      sha256 = "1k0nb159l3ysq8l7shndg7rinjgqk0v9h5530lj42v7f3l5f0f2a";
+      system = "cl-migratum";
+      asd = "cl-migratum";
+    });
+    systems = [ "cl-migratum" ];
+    lispLibs = [ (getAttr "cl-ascii-table" pkgs) (getAttr "local-time" pkgs) (getAttr "log4cl" pkgs) ];
+  };
+  cl-migratum_dot_driver_dot_sql = {
+    pname = "cl-migratum.driver.sql";
+    version = "20210807-git";
+    asds = [ "cl-migratum.driver.sql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-migratum/2021-08-07/cl-migratum-20210807-git.tgz";
+      sha256 = "1k0nb159l3ysq8l7shndg7rinjgqk0v9h5530lj42v7f3l5f0f2a";
+      system = "cl-migratum.driver.sql";
+      asd = "cl-migratum.driver.sql";
+    });
+    systems = [ "cl-migratum.driver.sql" ];
+    lispLibs = [ (getAttr "cl-dbi" pkgs) (getAttr "cl-migratum" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "log4cl" pkgs) ];
+  };
+  cl-migratum_dot_provider_dot_local-path = {
+    pname = "cl-migratum.provider.local-path";
+    version = "20210807-git";
+    asds = [ "cl-migratum.provider.local-path" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-migratum/2021-08-07/cl-migratum-20210807-git.tgz";
+      sha256 = "1k0nb159l3ysq8l7shndg7rinjgqk0v9h5530lj42v7f3l5f0f2a";
+      system = "cl-migratum.provider.local-path";
+      asd = "cl-migratum.provider.local-path";
+    });
+    systems = [ "cl-migratum.provider.local-path" ];
+    lispLibs = [ (getAttr "cl-migratum" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "log4cl" pkgs) ];
+  };
+  cl-migratum_dot_test = {
+    pname = "cl-migratum.test";
+    version = "20210807-git";
+    asds = [ "cl-migratum.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-migratum/2021-08-07/cl-migratum-20210807-git.tgz";
+      sha256 = "1k0nb159l3ysq8l7shndg7rinjgqk0v9h5530lj42v7f3l5f0f2a";
+      system = "cl-migratum.test";
+      asd = "cl-migratum.test";
+    });
+    systems = [ "cl-migratum.test" ];
+    lispLibs = [ (getAttr "dbd-sqlite3" pkgs) (getAttr "cl-migratum" pkgs) (getAttr "cl-migratum_dot_driver_dot_sql" pkgs) (getAttr "cl-migratum_dot_provider_dot_local-path" pkgs) (getAttr "rove" pkgs) (getAttr "tmpdir" pkgs) ];
+  };
+  cl-mime = {
+    pname = "cl-mime";
+    version = "20201220-git";
+    asds = [ "cl-mime" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mime/2020-12-20/cl-mime-20201220-git.tgz";
+      sha256 = "0i2vyc1d4qp36f3c3qfpx9rkp3d2ka80r40wc9lsvhqn1hjxa2gv";
+      system = "cl-mime";
+      asd = "cl-mime";
+    });
+    systems = [ "cl-mime" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-qprint" pkgs) ];
+  };
+  cl-mime-from-string = {
+    pname = "cl-mime-from-string";
+    version = "20200427-git";
+    asds = [ "cl-mime-from-string" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mime-from-string/2020-04-27/cl-mime-from-string-20200427-git.tgz";
+      sha256 = "1pzhfbv6j3b0vvf4rxxd56v54lh6v7cs16nq2d64cawn6qzmk4bp";
+      system = "cl-mime-from-string";
+      asd = "cl-mime-from-string";
+    });
+    systems = [ "cl-mime-from-string" ];
+    lispLibs = [  ];
+  };
+  cl-mime-test = {
+    pname = "cl-mime-test";
+    version = "20201220-git";
+    asds = [ "cl-mime-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mime/2020-12-20/cl-mime-20201220-git.tgz";
+      sha256 = "0i2vyc1d4qp36f3c3qfpx9rkp3d2ka80r40wc9lsvhqn1hjxa2gv";
+      system = "cl-mime-test";
+      asd = "cl-mime-test";
+    });
+    systems = [ "cl-mime-test" ];
+    lispLibs = [ (getAttr "cl-mime" pkgs) (getAttr "rove" pkgs) ];
+  };
+  cl-mimeparse = {
+    pname = "cl-mimeparse";
+    version = "20210531-git";
+    asds = [ "cl-mimeparse" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mimeparse/2021-05-31/cl-mimeparse-20210531-git.tgz";
+      sha256 = "0gdkpi3620va0a3q56svcn1q9f5w0pqfhx30lnldg8fjnrdfiwkk";
+      system = "cl-mimeparse";
+      asd = "cl-mimeparse";
+    });
+    systems = [ "cl-mimeparse" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  cl-mimeparse-tests = {
+    pname = "cl-mimeparse-tests";
+    version = "20210531-git";
+    asds = [ "cl-mimeparse-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mimeparse/2021-05-31/cl-mimeparse-20210531-git.tgz";
+      sha256 = "0gdkpi3620va0a3q56svcn1q9f5w0pqfhx30lnldg8fjnrdfiwkk";
+      system = "cl-mimeparse-tests";
+      asd = "cl-mimeparse-tests";
+    });
+    systems = [ "cl-mimeparse-tests" ];
+    lispLibs = [ (getAttr "cl-mimeparse" pkgs) (getAttr "rt" pkgs) ];
+  };
+  cl-minify-css = {
+    pname = "cl-minify-css";
+    version = "20200925-git";
+    asds = [ "cl-minify-css" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-minify-css/2020-09-25/cl-minify-css-20200925-git.tgz";
+      sha256 = "1wj1mh7qzr8ybqyx7kxnpsmj3d9lylnzmq1qmycdyf2llqkcdxgd";
+      system = "cl-minify-css";
+      asd = "cl-minify-css";
+    });
+    systems = [ "cl-minify-css" ];
+    lispLibs = [  ];
+  };
+  cl-minify-css-test = {
+    pname = "cl-minify-css-test";
+    version = "20200925-git";
+    asds = [ "cl-minify-css-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-minify-css/2020-09-25/cl-minify-css-20200925-git.tgz";
+      sha256 = "1wj1mh7qzr8ybqyx7kxnpsmj3d9lylnzmq1qmycdyf2llqkcdxgd";
+      system = "cl-minify-css-test";
+      asd = "cl-minify-css-test";
+    });
+    systems = [ "cl-minify-css-test" ];
+    lispLibs = [ (getAttr "assert-p" pkgs) (getAttr "cacau" pkgs) (getAttr "cacau-asdf" pkgs) (getAttr "cl-minify-css" pkgs) ];
+  };
+  cl-mixed = {
+    pname = "cl-mixed";
+    version = "20211209-git";
+    asds = [ "cl-mixed" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed";
+      asd = "cl-mixed";
+    });
+    systems = [ "cl-mixed" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "static-vectors" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  cl-mixed-alsa = {
+    pname = "cl-mixed-alsa";
+    version = "20211209-git";
+    asds = [ "cl-mixed-alsa" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-alsa";
+      asd = "cl-mixed-alsa";
+    });
+    systems = [ "cl-mixed-alsa" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-mixed" pkgs) ];
+  };
+  cl-mixed-coreaudio = {
+    pname = "cl-mixed-coreaudio";
+    version = "20211209-git";
+    asds = [ "cl-mixed-coreaudio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-coreaudio";
+      asd = "cl-mixed-coreaudio";
+    });
+    systems = [ "cl-mixed-coreaudio" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-mixed" pkgs) (getAttr "float-features" pkgs) ];
+  };
+  cl-mixed-examples = {
+    pname = "cl-mixed-examples";
+    version = "20211209-git";
+    asds = [ "cl-mixed-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-examples";
+      asd = "cl-mixed-examples";
+    });
+    systems = [ "cl-mixed-examples" ];
+    lispLibs = [ (getAttr "cl-mixed" pkgs) (getAttr "cl-mixed-mpg123" pkgs) (getAttr "cl-mixed-out123" pkgs) ];
+  };
+  cl-mixed-flac = {
+    pname = "cl-mixed-flac";
+    version = "20211209-git";
+    asds = [ "cl-mixed-flac" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-flac";
+      asd = "cl-mixed-flac";
+    });
+    systems = [ "cl-mixed-flac" ];
+    lispLibs = [ (getAttr "cl-flac" pkgs) (getAttr "cl-mixed" pkgs) ];
+  };
+  cl-mixed-jack = {
+    pname = "cl-mixed-jack";
+    version = "20211209-git";
+    asds = [ "cl-mixed-jack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-jack";
+      asd = "cl-mixed-jack";
+    });
+    systems = [ "cl-mixed-jack" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-mixed" pkgs) ];
+  };
+  cl-mixed-mpg123 = {
+    pname = "cl-mixed-mpg123";
+    version = "20211209-git";
+    asds = [ "cl-mixed-mpg123" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-mpg123";
+      asd = "cl-mixed-mpg123";
+    });
+    systems = [ "cl-mixed-mpg123" ];
+    lispLibs = [ (getAttr "cl-mixed" pkgs) (getAttr "cl-mpg123" pkgs) ];
+  };
+  cl-mixed-mpt = {
+    pname = "cl-mixed-mpt";
+    version = "20211209-git";
+    asds = [ "cl-mixed-mpt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-mpt";
+      asd = "cl-mixed-mpt";
+    });
+    systems = [ "cl-mixed-mpt" ];
+    lispLibs = [ (getAttr "cl-mixed" pkgs) (getAttr "static-vectors" pkgs) ];
+  };
+  cl-mixed-oss = {
+    pname = "cl-mixed-oss";
+    version = "20211209-git";
+    asds = [ "cl-mixed-oss" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-oss";
+      asd = "cl-mixed-oss";
+    });
+    systems = [ "cl-mixed-oss" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-mixed" pkgs) ];
+  };
+  cl-mixed-out123 = {
+    pname = "cl-mixed-out123";
+    version = "20211209-git";
+    asds = [ "cl-mixed-out123" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-out123";
+      asd = "cl-mixed-out123";
+    });
+    systems = [ "cl-mixed-out123" ];
+    lispLibs = [ (getAttr "cl-mixed" pkgs) (getAttr "cl-out123" pkgs) ];
+  };
+  cl-mixed-pulse = {
+    pname = "cl-mixed-pulse";
+    version = "20211209-git";
+    asds = [ "cl-mixed-pulse" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-pulse";
+      asd = "cl-mixed-pulse";
+    });
+    systems = [ "cl-mixed-pulse" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-mixed" pkgs) ];
+  };
+  cl-mixed-sdl2 = {
+    pname = "cl-mixed-sdl2";
+    version = "20211209-git";
+    asds = [ "cl-mixed-sdl2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-sdl2";
+      asd = "cl-mixed-sdl2";
+    });
+    systems = [ "cl-mixed-sdl2" ];
+    lispLibs = [ (getAttr "cl-mixed" pkgs) (getAttr "sdl2" pkgs) ];
+  };
+  cl-mixed-vorbis = {
+    pname = "cl-mixed-vorbis";
+    version = "20211209-git";
+    asds = [ "cl-mixed-vorbis" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-vorbis";
+      asd = "cl-mixed-vorbis";
+    });
+    systems = [ "cl-mixed-vorbis" ];
+    lispLibs = [ (getAttr "cl-mixed" pkgs) (getAttr "cl-vorbis" pkgs) ];
+  };
+  cl-mixed-wasapi = {
+    pname = "cl-mixed-wasapi";
+    version = "20211209-git";
+    asds = [ "cl-mixed-wasapi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-wasapi";
+      asd = "cl-mixed-wasapi";
+    });
+    systems = [ "cl-mixed-wasapi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-mixed" pkgs) (getAttr "com-on" pkgs) ];
+  };
+  cl-mixed-wav = {
+    pname = "cl-mixed-wav";
+    version = "20211209-git";
+    asds = [ "cl-mixed-wav" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-wav";
+      asd = "cl-mixed-wav";
+    });
+    systems = [ "cl-mixed-wav" ];
+    lispLibs = [ (getAttr "cl-mixed" pkgs) ];
+  };
+  cl-mixed-winmm = {
+    pname = "cl-mixed-winmm";
+    version = "20211209-git";
+    asds = [ "cl-mixed-winmm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-winmm";
+      asd = "cl-mixed-winmm";
+    });
+    systems = [ "cl-mixed-winmm" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-mixed" pkgs) ];
+  };
+  cl-mixed-xaudio2 = {
+    pname = "cl-mixed-xaudio2";
+    version = "20211209-git";
+    asds = [ "cl-mixed-xaudio2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mixed/2021-12-09/cl-mixed-20211209-git.tgz";
+      sha256 = "0n9pnz1d8zzfcn59wr9qb9l9zf1h86jlskmm8lq8ff1ad5bcvjc3";
+      system = "cl-mixed-xaudio2";
+      asd = "cl-mixed-xaudio2";
+    });
+    systems = [ "cl-mixed-xaudio2" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-mixed" pkgs) (getAttr "com-on" pkgs) ];
+  };
+  cl-mock = {
+    pname = "cl-mock";
+    version = "20210630-git";
+    asds = [ "cl-mock" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mock/2021-06-30/cl-mock-20210630-git.tgz";
+      sha256 = "12dqxg473syqbkmpb9qi9hnk3mv033jp3l38r1ga1nc58f4c9viv";
+      system = "cl-mock";
+      asd = "cl-mock";
+    });
+    systems = [ "cl-mock" ];
+    lispLibs = [ (getAttr "cl-mock-basic" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  cl-mock-basic = {
+    pname = "cl-mock-basic";
+    version = "20210630-git";
+    asds = [ "cl-mock-basic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mock/2021-06-30/cl-mock-20210630-git.tgz";
+      sha256 = "12dqxg473syqbkmpb9qi9hnk3mv033jp3l38r1ga1nc58f4c9viv";
+      system = "cl-mock-basic";
+      asd = "cl-mock-basic";
+    });
+    systems = [ "cl-mock-basic" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  cl-mock-tests = {
+    pname = "cl-mock-tests";
+    version = "20210630-git";
+    asds = [ "cl-mock-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mock/2021-06-30/cl-mock-20210630-git.tgz";
+      sha256 = "12dqxg473syqbkmpb9qi9hnk3mv033jp3l38r1ga1nc58f4c9viv";
+      system = "cl-mock-tests";
+      asd = "cl-mock-tests";
+    });
+    systems = [ "cl-mock-tests" ];
+    lispLibs = [ (getAttr "cl-mock" pkgs) (getAttr "cl-mock-tests-basic" pkgs) ];
+  };
+  cl-mock-tests-basic = {
+    pname = "cl-mock-tests-basic";
+    version = "20210630-git";
+    asds = [ "cl-mock-tests-basic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mock/2021-06-30/cl-mock-20210630-git.tgz";
+      sha256 = "12dqxg473syqbkmpb9qi9hnk3mv033jp3l38r1ga1nc58f4c9viv";
+      system = "cl-mock-tests-basic";
+      asd = "cl-mock-tests-basic";
+    });
+    systems = [ "cl-mock-tests-basic" ];
+    lispLibs = [ (getAttr "cl-mock-basic" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-monad-macros = {
+    pname = "cl-monad-macros";
+    version = "20110619-svn";
+    asds = [ "cl-monad-macros" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-monad-macros/2011-06-19/cl-monad-macros-20110619-svn.tgz";
+      sha256 = "184p018xb07yd04bpscrwrnwv1cdxh9hxggmrnj95lhlr6r97l1z";
+      system = "cl-monad-macros";
+      asd = "cl-monad-macros";
+    });
+    systems = [ "cl-monad-macros" ];
+    lispLibs = [  ];
+  };
+  cl-moneris = {
+    pname = "cl-moneris";
+    version = "20110418-git";
+    asds = [ "cl-moneris" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-moneris/2011-04-18/cl-moneris-20110418-git.tgz";
+      sha256 = "1jvzssjb273ijbdcpxpl6ajh02k4h6l5j4vjxkh69cnrq3dcsvfc";
+      system = "cl-moneris";
+      asd = "cl-moneris";
+    });
+    systems = [ "cl-moneris" ];
+    lispLibs = [ (getAttr "drakma" pkgs) (getAttr "s-xml" pkgs) ];
+  };
+  cl-moneris-test = {
+    pname = "cl-moneris-test";
+    version = "20110418-git";
+    asds = [ "cl-moneris-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-moneris/2011-04-18/cl-moneris-20110418-git.tgz";
+      sha256 = "1jvzssjb273ijbdcpxpl6ajh02k4h6l5j4vjxkh69cnrq3dcsvfc";
+      system = "cl-moneris-test";
+      asd = "cl-moneris-test";
+    });
+    systems = [ "cl-moneris-test" ];
+    lispLibs = [ (getAttr "cl-moneris" pkgs) (getAttr "eos" pkgs) ];
+  };
+  cl-mongo = {
+    pname = "cl-mongo";
+    version = "20160531-git";
+    asds = [ "cl-mongo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mongo/2016-05-31/cl-mongo-20160531-git.tgz";
+      sha256 = "1l3kydbxbxhs1z76v6qpwjnabv8wf0mff1pfjkrpjfz6bia1svx6";
+      system = "cl-mongo";
+      asd = "cl-mongo";
+    });
+    systems = [ "cl-mongo" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "documentation-template" pkgs) (getAttr "lisp-unit" pkgs) (getAttr "parenscript" pkgs) (getAttr "split-sequence" pkgs) (getAttr "usocket" pkgs) (getAttr "uuid" pkgs) ];
+  };
+  cl-mongo-id = {
+    pname = "cl-mongo-id";
+    version = "20201220-git";
+    asds = [ "cl-mongo-id" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mongo-id/2020-12-20/cl-mongo-id-20201220-git.tgz";
+      sha256 = "1bpwmh5970rpr6ayygcgdg96hq2dlrksgpa1vdmy5l6vdbw9xrys";
+      system = "cl-mongo-id";
+      asd = "cl-mongo-id";
+    });
+    systems = [ "cl-mongo-id" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "local-time" pkgs) (getAttr "md5" pkgs) (getAttr "secure-random" pkgs) ];
+  };
+  cl-monitors = {
+    pname = "cl-monitors";
+    version = "20190710-git";
+    asds = [ "cl-monitors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-monitors/2019-07-10/cl-monitors-20190710-git.tgz";
+      sha256 = "0arwj7san3hsjws1fj3l8iqm92fipw0bfl3gzvvx6sa3cmy3m8vj";
+      system = "cl-monitors";
+      asd = "cl-monitors";
+    });
+    systems = [ "cl-monitors" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-mop = {
+    pname = "cl-mop";
+    version = "20150113-git";
+    asds = [ "cl-mop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mop/2015-01-13/cl-mop-20150113-git.tgz";
+      sha256 = "0wqjbp6jr868a89hklf1ppxkdfbznafrdpriakqiraicvr9kvksg";
+      system = "cl-mop";
+      asd = "cl-mop";
+    });
+    systems = [ "cl-mop" ];
+    lispLibs = [  ];
+  };
+  cl-moss = {
+    pname = "cl-moss";
+    version = "20171019-git";
+    asds = [ "cl-moss" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-moss/2017-10-19/cl-moss-20171019-git.tgz";
+      sha256 = "1qxzppnyxc8lkhfbbp5m3dbhp4rfkyc2lfrry2448i5w5icrigzd";
+      system = "cl-moss";
+      asd = "cl-moss";
+    });
+    systems = [ "cl-moss" ];
+    lispLibs = [ (getAttr "usocket" pkgs) ];
+  };
+  cl-mount-info = {
+    pname = "cl-mount-info";
+    version = "20200218-git";
+    asds = [ "cl-mount-info" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mount-info/2020-02-18/cl-mount-info-20200218-git.tgz";
+      sha256 = "0vza9gj9q42nzb5v8aj22lmn4aqx9vrddsb5a343nbwfz89hbh9x";
+      system = "cl-mount-info";
+      asd = "cl-mount-info";
+    });
+    systems = [ "cl-mount-info" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  cl-mpg123 = {
+    pname = "cl-mpg123";
+    version = "20211209-git";
+    asds = [ "cl-mpg123" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mpg123/2021-12-09/cl-mpg123-20211209-git.tgz";
+      sha256 = "0hw2jpvi85cz9p1ibzycfk84j1l2m3f2hl6mifmmd1xfsajbs6l0";
+      system = "cl-mpg123";
+      asd = "cl-mpg123";
+    });
+    systems = [ "cl-mpg123" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-mpg123-example = {
+    pname = "cl-mpg123-example";
+    version = "20211209-git";
+    asds = [ "cl-mpg123-example" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mpg123/2021-12-09/cl-mpg123-20211209-git.tgz";
+      sha256 = "0hw2jpvi85cz9p1ibzycfk84j1l2m3f2hl6mifmmd1xfsajbs6l0";
+      system = "cl-mpg123-example";
+      asd = "cl-mpg123-example";
+    });
+    systems = [ "cl-mpg123-example" ];
+    lispLibs = [ (getAttr "cl-mpg123" pkgs) (getAttr "cl-out123" pkgs) (getAttr "verbose" pkgs) ];
+  };
+  cl-mpi = {
+    pname = "cl-mpi";
+    version = "20190710-git";
+    asds = [ "cl-mpi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz";
+      sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb";
+      system = "cl-mpi";
+      asd = "cl-mpi";
+    });
+    systems = [ "cl-mpi" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-mpi-asdf-integration" pkgs) (getAttr "static-vectors" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-mpi-asdf-integration = {
+    pname = "cl-mpi-asdf-integration";
+    version = "20190710-git";
+    asds = [ "cl-mpi-asdf-integration" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz";
+      sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb";
+      system = "cl-mpi-asdf-integration";
+      asd = "cl-mpi-asdf-integration";
+    });
+    systems = [ "cl-mpi-asdf-integration" ];
+    lispLibs = [ (getAttr "cffi-grovel" pkgs) (getAttr "cffi-toolchain" pkgs) ];
+  };
+  cl-mpi-examples = {
+    pname = "cl-mpi-examples";
+    version = "20190710-git";
+    asds = [ "cl-mpi-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz";
+      sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb";
+      system = "cl-mpi-examples";
+      asd = "cl-mpi-examples";
+    });
+    systems = [ "cl-mpi-examples" ];
+    lispLibs = [ (getAttr "cl-mpi" pkgs) (getAttr "cl-mpi-asdf-integration" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-mpi-extensions = {
+    pname = "cl-mpi-extensions";
+    version = "20190710-git";
+    asds = [ "cl-mpi-extensions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz";
+      sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb";
+      system = "cl-mpi-extensions";
+      asd = "cl-mpi-extensions";
+    });
+    systems = [ "cl-mpi-extensions" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-conspack" pkgs) (getAttr "cl-mpi" pkgs) ];
+  };
+  cl-mpi-test-suite = {
+    pname = "cl-mpi-test-suite";
+    version = "20190710-git";
+    asds = [ "cl-mpi-test-suite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mpi/2019-07-10/cl-mpi-20190710-git.tgz";
+      sha256 = "1ykwk7acjhzpsjgm2b5svdpyw2qgrh860gkx3n2ckyrgd9l9q6jb";
+      system = "cl-mpi-test-suite";
+      asd = "cl-mpi-test-suite";
+    });
+    systems = [ "cl-mpi-test-suite" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-mpi" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-mtgnet = {
+    pname = "cl-mtgnet";
+    version = "20180711-git";
+    asds = [ "cl-mtgnet" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mtgnet/2018-07-11/cl-mtgnet-20180711-git.tgz";
+      sha256 = "08mwkfa9s51is6npn7al4rn5a65ip2bq0psb1pdvh111h5zqxdrb";
+      system = "cl-mtgnet";
+      asd = "cl-mtgnet";
+    });
+    systems = [ "cl-mtgnet" ];
+    lispLibs = [ (getAttr "blackbird" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-netstring_plus" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  cl-mtgnet-async = {
+    pname = "cl-mtgnet-async";
+    version = "20180711-git";
+    asds = [ "cl-mtgnet-async" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mtgnet/2018-07-11/cl-mtgnet-20180711-git.tgz";
+      sha256 = "08mwkfa9s51is6npn7al4rn5a65ip2bq0psb1pdvh111h5zqxdrb";
+      system = "cl-mtgnet-async";
+      asd = "cl-mtgnet-async";
+    });
+    systems = [ "cl-mtgnet-async" ];
+    lispLibs = [ (getAttr "cl-async" pkgs) (getAttr "cl-mtgnet" pkgs) ];
+  };
+  cl-mtgnet-sync = {
+    pname = "cl-mtgnet-sync";
+    version = "20180711-git";
+    asds = [ "cl-mtgnet-sync" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mtgnet/2018-07-11/cl-mtgnet-20180711-git.tgz";
+      sha256 = "08mwkfa9s51is6npn7al4rn5a65ip2bq0psb1pdvh111h5zqxdrb";
+      system = "cl-mtgnet-sync";
+      asd = "cl-mtgnet-sync";
+    });
+    systems = [ "cl-mtgnet-sync" ];
+    lispLibs = [ (getAttr "cl-mtgnet" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-murmurhash = {
+    pname = "cl-murmurhash";
+    version = "20210630-git";
+    asds = [ "cl-murmurhash" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-murmurhash/2021-06-30/cl-murmurhash-20210630-git.tgz";
+      sha256 = "0251r0mpjm0y3qsm4lm7ncvrkxvgwc53spdm1p2mpayhvkkqqsws";
+      system = "cl-murmurhash";
+      asd = "cl-murmurhash";
+    });
+    systems = [ "cl-murmurhash" ];
+    lispLibs = [ (getAttr "babel" pkgs) ];
+  };
+  cl-murmurhash_slash_test = {
+    pname = "cl-murmurhash_test";
+    version = "20210630-git";
+    asds = [ "cl-murmurhash" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-murmurhash/2021-06-30/cl-murmurhash-20210630-git.tgz";
+      sha256 = "0251r0mpjm0y3qsm4lm7ncvrkxvgwc53spdm1p2mpayhvkkqqsws";
+      system = "cl-murmurhash";
+      asd = "cl-murmurhash";
+    });
+    systems = [ "cl-murmurhash/test" ];
+    lispLibs = [ (getAttr "cl-murmurhash" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-mustache = {
+    pname = "cl-mustache";
+    version = "20200325-git";
+    asds = [ "cl-mustache" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mustache/2020-03-25/cl-mustache-20200325-git.tgz";
+      sha256 = "1wsmr46c56l0chshffk3rbvd7v2jwplmgmkkyr98n5n2qnjcqrc4";
+      system = "cl-mustache";
+      asd = "cl-mustache";
+    });
+    systems = [ "cl-mustache" ];
+    lispLibs = [ (getAttr "uiop" pkgs) ];
+  };
+  cl-mustache-test = {
+    pname = "cl-mustache-test";
+    version = "20200325-git";
+    asds = [ "cl-mustache-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mustache/2020-03-25/cl-mustache-20200325-git.tgz";
+      sha256 = "1wsmr46c56l0chshffk3rbvd7v2jwplmgmkkyr98n5n2qnjcqrc4";
+      system = "cl-mustache-test";
+      asd = "cl-mustache-test";
+    });
+    systems = [ "cl-mustache-test" ];
+    lispLibs = [ (getAttr "cl-mustache" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-muth = {
+    pname = "cl-muth";
+    version = "stable-git";
+    asds = [ "cl-muth" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-muth/2020-10-16/cl-muth-stable-git.tgz";
+      sha256 = "0c62hidyhs3snqv2jl7c1cm2v7ffn8l3p7h7f7yr9vggic6hhsmm";
+      system = "cl-muth";
+      asd = "cl-muth";
+    });
+    systems = [ "cl-muth" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bodge-heap" pkgs) (getAttr "bodge-queue" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  cl-muth_slash_tests = {
+    pname = "cl-muth_tests";
+    version = "stable-git";
+    asds = [ "cl-muth" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-muth/2020-10-16/cl-muth-stable-git.tgz";
+      sha256 = "0c62hidyhs3snqv2jl7c1cm2v7ffn8l3p7h7f7yr9vggic6hhsmm";
+      system = "cl-muth";
+      asd = "cl-muth";
+    });
+    systems = [ "cl-muth/tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-muth" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-mw = {
+    pname = "cl-mw";
+    version = "20150407-git";
+    asds = [ "cl-mw" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz";
+      sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn";
+      system = "cl-mw";
+      asd = "cl-mw";
+    });
+    systems = [ "cl-mw" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "hu_dot_dwim_dot_serializer" pkgs) (getAttr "iolib" pkgs) ];
+  };
+  cl-mw_dot_examples_dot_argument-processing = {
+    pname = "cl-mw.examples.argument-processing";
+    version = "20150407-git";
+    asds = [ "cl-mw.examples.argument-processing" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz";
+      sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn";
+      system = "cl-mw.examples.argument-processing";
+      asd = "cl-mw.examples.argument-processing";
+    });
+    systems = [ "cl-mw.examples.argument-processing" ];
+    lispLibs = [ (getAttr "cl-mw" pkgs) ];
+  };
+  cl-mw_dot_examples_dot_hello-world = {
+    pname = "cl-mw.examples.hello-world";
+    version = "20150407-git";
+    asds = [ "cl-mw.examples.hello-world" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz";
+      sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn";
+      system = "cl-mw.examples.hello-world";
+      asd = "cl-mw.examples.hello-world";
+    });
+    systems = [ "cl-mw.examples.hello-world" ];
+    lispLibs = [ (getAttr "cl-mw" pkgs) ];
+  };
+  cl-mw_dot_examples_dot_higher-order = {
+    pname = "cl-mw.examples.higher-order";
+    version = "20150407-git";
+    asds = [ "cl-mw.examples.higher-order" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz";
+      sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn";
+      system = "cl-mw.examples.higher-order";
+      asd = "cl-mw.examples.higher-order";
+    });
+    systems = [ "cl-mw.examples.higher-order" ];
+    lispLibs = [ (getAttr "cl-mw" pkgs) ];
+  };
+  cl-mw_dot_examples_dot_monte-carlo-pi = {
+    pname = "cl-mw.examples.monte-carlo-pi";
+    version = "20150407-git";
+    asds = [ "cl-mw.examples.monte-carlo-pi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz";
+      sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn";
+      system = "cl-mw.examples.monte-carlo-pi";
+      asd = "cl-mw.examples.monte-carlo-pi";
+    });
+    systems = [ "cl-mw.examples.monte-carlo-pi" ];
+    lispLibs = [ (getAttr "cl-mw" pkgs) ];
+  };
+  cl-mw_dot_examples_dot_ping = {
+    pname = "cl-mw.examples.ping";
+    version = "20150407-git";
+    asds = [ "cl-mw.examples.ping" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz";
+      sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn";
+      system = "cl-mw.examples.ping";
+      asd = "cl-mw.examples.ping";
+    });
+    systems = [ "cl-mw.examples.ping" ];
+    lispLibs = [ (getAttr "cl-mw" pkgs) ];
+  };
+  cl-mw_dot_examples_dot_with-task-policy = {
+    pname = "cl-mw.examples.with-task-policy";
+    version = "20150407-git";
+    asds = [ "cl-mw.examples.with-task-policy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mw/2015-04-07/cl-mw-20150407-git.tgz";
+      sha256 = "1bpkpb86hpp7sz9mk19rbdlfcis2npc3a7w6jlph7s8brxl1h1jn";
+      system = "cl-mw.examples.with-task-policy";
+      asd = "cl-mw.examples.with-task-policy";
+    });
+    systems = [ "cl-mw.examples.with-task-policy" ];
+    lispLibs = [ (getAttr "cl-mw" pkgs) ];
+  };
+  cl-mysql = {
+    pname = "cl-mysql";
+    version = "20200610-git";
+    asds = [ "cl-mysql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mysql/2020-06-10/cl-mysql-20200610-git.tgz";
+      sha256 = "1jk2571w5zhrmza4mr5z4ia6g7r5hzhp8dsxnpx2ypnla9xpxv5h";
+      system = "cl-mysql";
+      asd = "cl-mysql";
+    });
+    systems = [ "cl-mysql" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-mysql-test = {
+    pname = "cl-mysql-test";
+    version = "20200610-git";
+    asds = [ "cl-mysql-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mysql/2020-06-10/cl-mysql-20200610-git.tgz";
+      sha256 = "1jk2571w5zhrmza4mr5z4ia6g7r5hzhp8dsxnpx2ypnla9xpxv5h";
+      system = "cl-mysql-test";
+      asd = "cl-mysql-test";
+    });
+    systems = [ "cl-mysql-test" ];
+    lispLibs = [ (getAttr "cl-mysql" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  cl-naive-store = {
+    pname = "cl-naive-store";
+    version = "20210630-git";
+    asds = [ "cl-naive-store" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-naive-store/2021-06-30/cl-naive-store-20210630-git.tgz";
+      sha256 = "017bx4v8aza47srgrsnx7yq3kck6p304bjszxjir19d69h145pjh";
+      system = "cl-naive-store";
+      asd = "cl-naive-store";
+    });
+    systems = [ "cl-naive-store" ];
+    lispLibs = [ (getAttr "cl-naive-store_dot_document-type-defs" pkgs) (getAttr "cl-naive-store_dot_document-types" pkgs) (getAttr "cl-naive-store_dot_naive-core" pkgs) (getAttr "cl-naive-store_dot_naive-documents" pkgs) (getAttr "cl-naive-store_dot_naive-indexed" pkgs) (getAttr "cl-naive-store_dot_naive-merkle" pkgs) ];
+  };
+  cl-naive-store_dot_document-type-defs = {
+    pname = "cl-naive-store.document-type-defs";
+    version = "20210630-git";
+    asds = [ "cl-naive-store.document-type-defs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-naive-store/2021-06-30/cl-naive-store-20210630-git.tgz";
+      sha256 = "017bx4v8aza47srgrsnx7yq3kck6p304bjszxjir19d69h145pjh";
+      system = "cl-naive-store.document-type-defs";
+      asd = "cl-naive-store.document-type-defs";
+    });
+    systems = [ "cl-naive-store.document-type-defs" ];
+    lispLibs = [ (getAttr "cl-naive-store_dot_document-types" pkgs) (getAttr "cl-naive-store_dot_naive-core" pkgs) ];
+  };
+  cl-naive-store_dot_document-types = {
+    pname = "cl-naive-store.document-types";
+    version = "20210630-git";
+    asds = [ "cl-naive-store.document-types" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-naive-store/2021-06-30/cl-naive-store-20210630-git.tgz";
+      sha256 = "017bx4v8aza47srgrsnx7yq3kck6p304bjszxjir19d69h145pjh";
+      system = "cl-naive-store.document-types";
+      asd = "cl-naive-store.document-types";
+    });
+    systems = [ "cl-naive-store.document-types" ];
+    lispLibs = [ (getAttr "cl-naive-store_dot_naive-core" pkgs) ];
+  };
+  cl-naive-store_dot_naive-core = {
+    pname = "cl-naive-store.naive-core";
+    version = "20210630-git";
+    asds = [ "cl-naive-store.naive-core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-naive-store/2021-06-30/cl-naive-store-20210630-git.tgz";
+      sha256 = "017bx4v8aza47srgrsnx7yq3kck6p304bjszxjir19d69h145pjh";
+      system = "cl-naive-store.naive-core";
+      asd = "cl-naive-store.naive-core";
+    });
+    systems = [ "cl-naive-store.naive-core" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-cpus" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-getx" pkgs) (getAttr "cl-murmurhash" pkgs) (getAttr "ironclad" pkgs) (getAttr "local-time" pkgs) (getAttr "lparallel" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uuid" pkgs) ];
+  };
+  cl-naive-store_dot_naive-documents = {
+    pname = "cl-naive-store.naive-documents";
+    version = "20210630-git";
+    asds = [ "cl-naive-store.naive-documents" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-naive-store/2021-06-30/cl-naive-store-20210630-git.tgz";
+      sha256 = "017bx4v8aza47srgrsnx7yq3kck6p304bjszxjir19d69h145pjh";
+      system = "cl-naive-store.naive-documents";
+      asd = "cl-naive-store.naive-documents";
+    });
+    systems = [ "cl-naive-store.naive-documents" ];
+    lispLibs = [ (getAttr "cl-naive-store_dot_document-type-defs" pkgs) (getAttr "cl-naive-store_dot_document-types" pkgs) (getAttr "cl-naive-store_dot_naive-core" pkgs) (getAttr "cl-naive-store_dot_naive-indexed" pkgs) ];
+  };
+  cl-naive-store_dot_naive-indexed = {
+    pname = "cl-naive-store.naive-indexed";
+    version = "20210630-git";
+    asds = [ "cl-naive-store.naive-indexed" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-naive-store/2021-06-30/cl-naive-store-20210630-git.tgz";
+      sha256 = "017bx4v8aza47srgrsnx7yq3kck6p304bjszxjir19d69h145pjh";
+      system = "cl-naive-store.naive-indexed";
+      asd = "cl-naive-store.naive-indexed";
+    });
+    systems = [ "cl-naive-store.naive-indexed" ];
+    lispLibs = [ (getAttr "cl-naive-store_dot_naive-core" pkgs) ];
+  };
+  cl-naive-store_dot_naive-merkle = {
+    pname = "cl-naive-store.naive-merkle";
+    version = "20210630-git";
+    asds = [ "cl-naive-store.naive-merkle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-naive-store/2021-06-30/cl-naive-store-20210630-git.tgz";
+      sha256 = "017bx4v8aza47srgrsnx7yq3kck6p304bjszxjir19d69h145pjh";
+      system = "cl-naive-store.naive-merkle";
+      asd = "cl-naive-store.naive-merkle";
+    });
+    systems = [ "cl-naive-store.naive-merkle" ];
+    lispLibs = [ (getAttr "cl-naive-store_dot_naive-documents" pkgs) ];
+  };
+  cl-naive-store_dot_test = {
+    pname = "cl-naive-store.test";
+    version = "20210630-git";
+    asds = [ "cl-naive-store.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-naive-store/2021-06-30/cl-naive-store-20210630-git.tgz";
+      sha256 = "017bx4v8aza47srgrsnx7yq3kck6p304bjszxjir19d69h145pjh";
+      system = "cl-naive-store.test";
+      asd = "cl-naive-store.test";
+    });
+    systems = [ "cl-naive-store.test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-naive-store" pkgs) ];
+  };
+  cl-ncurses = {
+    pname = "cl-ncurses";
+    version = "0.1.4";
+    asds = [ "cl-ncurses" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ncurses/2010-10-06/cl-ncurses_0.1.4.tgz";
+      sha256 = "1frcap93i4ni3d648rrbnjjpz7p4cxlv57mmzlpxpzchzbcga026";
+      system = "cl-ncurses";
+      asd = "cl-ncurses";
+    });
+    systems = [ "cl-ncurses" ];
+    lispLibs = [ (getAttr "uffi" pkgs) ];
+  };
+  cl-neo4j = {
+    pname = "cl-neo4j";
+    version = "release-b8ad637a-git";
+    asds = [ "cl-neo4j" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-neo4j/2013-01-28/cl-neo4j-release-b8ad637a-git.tgz";
+      sha256 = "061xqjn08aqynfqygk48pwjp1d1mnhcb6fnl4lcfyw261dxsp871";
+      system = "cl-neo4j";
+      asd = "cl-neo4j";
+    });
+    systems = [ "cl-neo4j" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "babel" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-neo4j_dot_tests = {
+    pname = "cl-neo4j.tests";
+    version = "release-b8ad637a-git";
+    asds = [ "cl-neo4j.tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-neo4j/2013-01-28/cl-neo4j-release-b8ad637a-git.tgz";
+      sha256 = "061xqjn08aqynfqygk48pwjp1d1mnhcb6fnl4lcfyw261dxsp871";
+      system = "cl-neo4j.tests";
+      asd = "cl-neo4j";
+    });
+    systems = [ "cl-neo4j.tests" ];
+    lispLibs = [ (getAttr "cl-neo4j" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-neovim = {
+    pname = "cl-neovim";
+    version = "20190521-git";
+    asds = [ "cl-neovim" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-neovim/2019-05-21/cl-neovim-20190521-git.tgz";
+      sha256 = "06hy30px9cppqzh0c8nkbyysbpw2l247r4g43wfw96rflrdwy6ks";
+      system = "cl-neovim";
+      asd = "cl-neovim";
+    });
+    systems = [ "cl-neovim" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-messagepack-rpc" pkgs) (getAttr "form-fiddle" pkgs) (getAttr "split-sequence" pkgs) (getAttr "vom" pkgs) ];
+  };
+  cl-netpbm = {
+    pname = "cl-netpbm";
+    version = "20201016-hg";
+    asds = [ "cl-netpbm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-netpbm/2020-10-16/cl-netpbm-20201016-hg.tgz";
+      sha256 = "1xhpyn7nkadvbv8n7sbjyfj9qzr90p66dhq1j9f0jj4lmarp8anp";
+      system = "cl-netpbm";
+      asd = "cl-netpbm";
+    });
+    systems = [ "cl-netpbm" ];
+    lispLibs = [  ];
+  };
+  cl-netpbm_slash_test = {
+    pname = "cl-netpbm_test";
+    version = "20201016-hg";
+    asds = [ "cl-netpbm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-netpbm/2020-10-16/cl-netpbm-20201016-hg.tgz";
+      sha256 = "1xhpyn7nkadvbv8n7sbjyfj9qzr90p66dhq1j9f0jj4lmarp8anp";
+      system = "cl-netpbm";
+      asd = "cl-netpbm";
+    });
+    systems = [ "cl-netpbm/test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "cl-netpbm" pkgs) (getAttr "external-program" pkgs) ];
+  };
+  cl-netstring_plus = {
+    pname = "cl-netstring+";
+    version = "20150709-git";
+    asds = [ "cl-netstring+" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-netstring-plus/2015-07-09/cl-netstring-plus-20150709-git.tgz";
+      sha256 = "03nxhgkab8lsx8mvavd4yny1894yxl5bllvqb12hyjdgg1v8whrr";
+      system = "cl-netstring+";
+      asd = "cl-netstring+";
+    });
+    systems = [ "cl-netstring+" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  cl-netstrings = {
+    pname = "cl-netstrings";
+    version = "20121013-git";
+    asds = [ "cl-netstrings" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-netstrings/2012-10-13/cl-netstrings-20121013-git.tgz";
+      sha256 = "1mprrb8i3fjpmw7w461ib8zrcjwx77sqwaxyqq7i8yqkbhk7p1ql";
+      system = "cl-netstrings";
+      asd = "cl-netstrings";
+    });
+    systems = [ "cl-netstrings" ];
+    lispLibs = [ (getAttr "arnesi" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-notebook = {
+    pname = "cl-notebook";
+    version = "20201220-git";
+    asds = [ "cl-notebook" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-notebook/2020-12-20/cl-notebook-20201220-git.tgz";
+      sha256 = "0kg5wdclz9i64gcx27z5bs739hsvjrfl9kf1awi31x4142yxrva8";
+      system = "cl-notebook";
+      asd = "cl-notebook";
+    });
+    systems = [ "cl-notebook" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "cl-css" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-who" pkgs) (getAttr "closer-mop" pkgs) (getAttr "fact-base" pkgs) (getAttr "house" pkgs) (getAttr "parenscript" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "qlot" pkgs) (getAttr "quri" pkgs) ];
+  };
+  cl-notebook_slash_test = {
+    pname = "cl-notebook_test";
+    version = "20201220-git";
+    asds = [ "cl-notebook" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-notebook/2020-12-20/cl-notebook-20201220-git.tgz";
+      sha256 = "0kg5wdclz9i64gcx27z5bs739hsvjrfl9kf1awi31x4142yxrva8";
+      system = "cl-notebook";
+      asd = "cl-notebook";
+    });
+    systems = [ "cl-notebook/test" ];
+    lispLibs = [ (getAttr "cl-notebook" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "test-utils" pkgs) ];
+  };
+  cl-ntp-client = {
+    pname = "cl-ntp-client";
+    version = "20210630-git";
+    asds = [ "cl-ntp-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ntp-client/2021-06-30/cl-ntp-client-20210630-git.tgz";
+      sha256 = "1mc16bvs0l8srnxjcjg4m192rw5waq291zks2jslxmxij0pa28cm";
+      system = "cl-ntp-client";
+      asd = "cl-ntp-client";
+    });
+    systems = [ "cl-ntp-client" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-ntriples = {
+    pname = "cl-ntriples";
+    version = "20190307-hg";
+    asds = [ "cl-ntriples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ntriples/2019-03-07/cl-ntriples-20190307-hg.tgz";
+      sha256 = "0k8q2r2nxkgxp91398gb0iwfy9kd2mn519nxxa3zq831c433l2mq";
+      system = "cl-ntriples";
+      asd = "cl-ntriples";
+    });
+    systems = [ "cl-ntriples" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cl-num-utils = {
+    pname = "cl-num-utils";
+    version = "20210531-git";
+    asds = [ "cl-num-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-num-utils/2021-05-31/cl-num-utils-20210531-git.tgz";
+      sha256 = "15ihsxxs76xnldmqfsbxybckqjwrxwcpphgghiwzr2mnbqjpdqkh";
+      system = "cl-num-utils";
+      asd = "cl-num-utils";
+    });
+    systems = [ "cl-num-utils" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "array-operations" pkgs) (getAttr "cl-slice" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  cl-num-utils-tests = {
+    pname = "cl-num-utils-tests";
+    version = "20210531-git";
+    asds = [ "cl-num-utils-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-num-utils/2021-05-31/cl-num-utils-20210531-git.tgz";
+      sha256 = "15ihsxxs76xnldmqfsbxybckqjwrxwcpphgghiwzr2mnbqjpdqkh";
+      system = "cl-num-utils-tests";
+      asd = "cl-num-utils";
+    });
+    systems = [ "cl-num-utils-tests" ];
+    lispLibs = [ (getAttr "cl-num-utils" pkgs) (getAttr "clunit" pkgs) ];
+  };
+  cl-oauth = {
+    pname = "cl-oauth";
+    version = "20150804-git";
+    asds = [ "cl-oauth" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-oauth/2015-08-04/cl-oauth-20150804-git.tgz";
+      sha256 = "1q4r5i3099684q5x9wqddrm9g88qm16nnra9glvxngywfjc5zzkk";
+      system = "cl-oauth";
+      asd = "cl-oauth";
+    });
+    systems = [ "cl-oauth" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "babel" pkgs) (getAttr "cl-base64" pkgs) (getAttr "closer-mop" pkgs) (getAttr "drakma" pkgs) (getAttr "f-underscore" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "ironclad" pkgs) (getAttr "puri" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-oauth_dot_tests = {
+    pname = "cl-oauth.tests";
+    version = "20150804-git";
+    asds = [ "cl-oauth.tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-oauth/2015-08-04/cl-oauth-20150804-git.tgz";
+      sha256 = "1q4r5i3099684q5x9wqddrm9g88qm16nnra9glvxngywfjc5zzkk";
+      system = "cl-oauth.tests";
+      asd = "cl-oauth";
+    });
+    systems = [ "cl-oauth.tests" ];
+    lispLibs = [ (getAttr "cl-oauth" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-oclapi = {
+    pname = "cl-oclapi";
+    version = "20180831-git";
+    asds = [ "cl-oclapi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-oclapi/2018-08-31/cl-oclapi-20180831-git.tgz";
+      sha256 = "0aix5ipw98fsnvg1w7qmrjbwgn70gn7vf5av21xsgblp2sd7w2aw";
+      system = "cl-oclapi";
+      asd = "cl-oclapi";
+    });
+    systems = [ "cl-oclapi" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-annot" pkgs) (getAttr "cl-reexport" pkgs) ];
+  };
+  cl-oclapi-test = {
+    pname = "cl-oclapi-test";
+    version = "20180831-git";
+    asds = [ "cl-oclapi-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-oclapi/2018-08-31/cl-oclapi-20180831-git.tgz";
+      sha256 = "0aix5ipw98fsnvg1w7qmrjbwgn70gn7vf5av21xsgblp2sd7w2aw";
+      system = "cl-oclapi-test";
+      asd = "cl-oclapi-test";
+    });
+    systems = [ "cl-oclapi-test" ];
+    lispLibs = [ (getAttr "cl-annot" pkgs) (getAttr "cl-oclapi" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-octet-streams = {
+    pname = "cl-octet-streams";
+    version = "20201220-git";
+    asds = [ "cl-octet-streams" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-octet-streams/2020-12-20/cl-octet-streams-20201220-git.tgz";
+      sha256 = "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8";
+      system = "cl-octet-streams";
+      asd = "cl-octet-streams";
+    });
+    systems = [ "cl-octet-streams" ];
+    lispLibs = [ (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cl-octet-streams_slash_tests = {
+    pname = "cl-octet-streams_tests";
+    version = "20201220-git";
+    asds = [ "cl-octet-streams" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-octet-streams/2020-12-20/cl-octet-streams-20201220-git.tgz";
+      sha256 = "1hffh98bv4w5yrchagzwqrc43d2p473pvw7ka4kyyvhrr52dk2f8";
+      system = "cl-octet-streams";
+      asd = "cl-octet-streams";
+    });
+    systems = [ "cl-octet-streams/tests" ];
+    lispLibs = [ (getAttr "cl-octet-streams" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-ode = {
+    pname = "cl-ode";
+    version = "20160628-git";
+    asds = [ "cl-ode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ode/2016-06-28/cl-ode-20160628-git.tgz";
+      sha256 = "1pxm2pq0br0rhdfnvs5jqfkxfs8bc9wdqrzwyv83l8n7pax941b0";
+      system = "cl-ode";
+      asd = "cl-ode";
+    });
+    systems = [ "cl-ode" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-ohm = {
+    pname = "cl-ohm";
+    version = "20180228-git";
+    asds = [ "cl-ohm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ohm/2018-02-28/cl-ohm-20180228-git.tgz";
+      sha256 = "00gdfsiba761gk7xw91wfnr9yv84maagf9idh55bk5bs4ws1ymyp";
+      system = "cl-ohm";
+      asd = "cl-ohm";
+    });
+    systems = [ "cl-ohm" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-redis" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  cl-ohm_slash_test = {
+    pname = "cl-ohm_test";
+    version = "20180228-git";
+    asds = [ "cl-ohm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ohm/2018-02-28/cl-ohm-20180228-git.tgz";
+      sha256 = "00gdfsiba761gk7xw91wfnr9yv84maagf9idh55bk5bs4ws1ymyp";
+      system = "cl-ohm";
+      asd = "cl-ohm";
+    });
+    systems = [ "cl-ohm/test" ];
+    lispLibs = [ (getAttr "cl-ohm" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-olefs = {
+    pname = "cl-olefs";
+    version = "20150709-git";
+    asds = [ "cl-olefs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-olefs/2015-07-09/cl-olefs-20150709-git.tgz";
+      sha256 = "0cqna6zzfrjmsq17yc4wg204kr77riczqjpm1w5cj1mba43zcac7";
+      system = "cl-olefs";
+      asd = "cl-olefs";
+    });
+    systems = [ "cl-olefs" ];
+    lispLibs = [  ];
+  };
+  cl-one-time-passwords = {
+    pname = "cl-one-time-passwords";
+    version = "20171019-git";
+    asds = [ "cl-one-time-passwords" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-one-time-passwords/2017-10-19/cl-one-time-passwords-20171019-git.tgz";
+      sha256 = "1nhq2jij257cfaadh9k421qaisicxpmx3wsc4kivf1psgbrc56lg";
+      system = "cl-one-time-passwords";
+      asd = "cl-one-time-passwords";
+    });
+    systems = [ "cl-one-time-passwords" ];
+    lispLibs = [ (getAttr "ironclad" pkgs) ];
+  };
+  cl-one-time-passwords-test = {
+    pname = "cl-one-time-passwords-test";
+    version = "20171019-git";
+    asds = [ "cl-one-time-passwords-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-one-time-passwords/2017-10-19/cl-one-time-passwords-20171019-git.tgz";
+      sha256 = "1nhq2jij257cfaadh9k421qaisicxpmx3wsc4kivf1psgbrc56lg";
+      system = "cl-one-time-passwords-test";
+      asd = "cl-one-time-passwords-test";
+    });
+    systems = [ "cl-one-time-passwords-test" ];
+    lispLibs = [ (getAttr "cl-one-time-passwords" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-oneliner = {
+    pname = "cl-oneliner";
+    version = "20131003-git";
+    asds = [ "cl-oneliner" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/oneliner/2013-10-03/oneliner-20131003-git.tgz";
+      sha256 = "0q9350s0r9yjmfc2360g35qi04b3867gd7hw5ada4176whinmjxb";
+      system = "cl-oneliner";
+      asd = "cl-oneliner";
+    });
+    systems = [ "cl-oneliner" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "lisp-unit" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-online-learning = {
+    pname = "cl-online-learning";
+    version = "20200715-git";
+    asds = [ "cl-online-learning" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-online-learning/2020-07-15/cl-online-learning-20200715-git.tgz";
+      sha256 = "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9";
+      system = "cl-online-learning";
+      asd = "cl-online-learning";
+    });
+    systems = [ "cl-online-learning" ];
+    lispLibs = [ (getAttr "cl-libsvm-format" pkgs) (getAttr "cl-store" pkgs) ];
+  };
+  cl-online-learning-test = {
+    pname = "cl-online-learning-test";
+    version = "20200715-git";
+    asds = [ "cl-online-learning-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-online-learning/2020-07-15/cl-online-learning-20200715-git.tgz";
+      sha256 = "1lfq04lnxivx59nq5dd02glyqsqzf3vdn4s9b8wnaln5fs8g2ph9";
+      system = "cl-online-learning-test";
+      asd = "cl-online-learning-test";
+    });
+    systems = [ "cl-online-learning-test" ];
+    lispLibs = [ (getAttr "cl-online-learning" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-openal = {
+    pname = "cl-openal";
+    version = "20150302-git";
+    asds = [ "cl-openal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-openal/2015-03-02/cl-openal-20150302-git.tgz";
+      sha256 = "1j7qcimrhd7nypalimfvb7zzixq79yzwqmkvs1bzhg7d86k8sg5h";
+      system = "cl-openal";
+      asd = "cl-openal";
+    });
+    systems = [ "cl-openal" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-openal-examples = {
+    pname = "cl-openal-examples";
+    version = "20150302-git";
+    asds = [ "cl-openal-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-openal/2015-03-02/cl-openal-20150302-git.tgz";
+      sha256 = "1j7qcimrhd7nypalimfvb7zzixq79yzwqmkvs1bzhg7d86k8sg5h";
+      system = "cl-openal-examples";
+      asd = "cl-openal-examples";
+    });
+    systems = [ "cl-openal-examples" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-alc" pkgs) (getAttr "cl-alut" pkgs) (getAttr "cl-openal" pkgs) ];
+  };
+  cl-opencl = {
+    pname = "cl-opencl";
+    version = "20211209-git";
+    asds = [ "cl-opencl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-opencl/2021-12-09/cl-opencl-20211209-git.tgz";
+      sha256 = "1agg6rg7lsbq2jgarx25bwm1nw22jpl20bzhyn4ivygcgzp2mv29";
+      system = "cl-opencl";
+      asd = "cl-opencl";
+    });
+    systems = [ "cl-opencl" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  cl-opencl-utils = {
+    pname = "cl-opencl-utils";
+    version = "20211020-git";
+    asds = [ "cl-opencl-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-opencl-utils/2021-10-20/cl-opencl-utils-20211020-git.tgz";
+      sha256 = "15q3n78b57k9hlprwh8wnga7ciq56wmcmimi32486sygl1ccg47n";
+      system = "cl-opencl-utils";
+      asd = "cl-opencl-utils";
+    });
+    systems = [ "cl-opencl-utils" ];
+    lispLibs = [ (getAttr "cl-opencl" pkgs) ];
+  };
+  cl-opengl = {
+    pname = "cl-opengl";
+    version = "20191130-git";
+    asds = [ "cl-opengl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-opengl/2019-11-30/cl-opengl-20191130-git.tgz";
+      sha256 = "0mhqmll09f079pnd6mgswz9nvr6h5n27d4q7zpmm2igf1v460id7";
+      system = "cl-opengl";
+      asd = "cl-opengl";
+    });
+    systems = [ "cl-opengl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "float-features" pkgs) ];
+  };
+  cl-opengl_slash_es2 = {
+    pname = "cl-opengl_es2";
+    version = "20191130-git";
+    asds = [ "cl-opengl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-opengl/2019-11-30/cl-opengl-20191130-git.tgz";
+      sha256 = "0mhqmll09f079pnd6mgswz9nvr6h5n27d4q7zpmm2igf1v460id7";
+      system = "cl-opengl";
+      asd = "cl-opengl";
+    });
+    systems = [ "cl-opengl/es2" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "float-features" pkgs) ];
+  };
+  cl-openstack-client = {
+    pname = "cl-openstack-client";
+    version = "20191007-git";
+    asds = [ "cl-openstack-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-openstack-client/2019-10-07/cl-openstack-client-20191007-git.tgz";
+      sha256 = "1sak75i82vn3acg7bxx8vjbw2y35wbq1vkh1yqhs68ksnph6d097";
+      system = "cl-openstack-client";
+      asd = "cl-openstack-client";
+    });
+    systems = [ "cl-openstack-client" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-json" pkgs) (getAttr "drakma" pkgs) (getAttr "local-time" pkgs) (getAttr "uri-template" pkgs) ];
+  };
+  cl-openstack-client-test = {
+    pname = "cl-openstack-client-test";
+    version = "20191007-git";
+    asds = [ "cl-openstack-client-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-openstack-client/2019-10-07/cl-openstack-client-20191007-git.tgz";
+      sha256 = "1sak75i82vn3acg7bxx8vjbw2y35wbq1vkh1yqhs68ksnph6d097";
+      system = "cl-openstack-client-test";
+      asd = "cl-openstack-client-test";
+    });
+    systems = [ "cl-openstack-client-test" ];
+    lispLibs = [ (getAttr "chunga" pkgs) (getAttr "cl-openstack-client" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "fiveam" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "local-time" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cl-opsresearch = {
+    pname = "cl-opsresearch";
+    version = "20170403-git";
+    asds = [ "cl-opsresearch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz";
+      sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7";
+      system = "cl-opsresearch";
+      asd = "cl-opsresearch";
+    });
+    systems = [ "cl-opsresearch" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-org-mode = {
+    pname = "cl-org-mode";
+    version = "20101207-git";
+    asds = [ "cl-org-mode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-org-mode/2010-12-07/cl-org-mode-20101207-git.tgz";
+      sha256 = "1fvwl9jlbpd352b5zn2d45mabsim5xvzabwyz1h10hwv4gviymzf";
+      system = "cl-org-mode";
+      asd = "cl-org-mode";
+    });
+    systems = [ "cl-org-mode" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  cl-out123 = {
+    pname = "cl-out123";
+    version = "20190710-git";
+    asds = [ "cl-out123" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-out123/2019-07-10/cl-out123-20190710-git.tgz";
+      sha256 = "0mdwgfax6sq68wvdgjjp78i40ah7wqkpqnvaq8a1c509k7ghdgv1";
+      system = "cl-out123";
+      asd = "cl-out123";
+    });
+    systems = [ "cl-out123" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-pack = {
+    pname = "cl-pack";
+    version = "20200427-git";
+    asds = [ "cl-pack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pack/2020-04-27/cl-pack-20200427-git.tgz";
+      sha256 = "0q7gawy0cwy49m1mxgj0jqnzzckk2ps74ncfaw1pqiqilfyx7np6";
+      system = "cl-pack";
+      asd = "cl-pack";
+    });
+    systems = [ "cl-pack" ];
+    lispLibs = [ (getAttr "ieee-floats" pkgs) ];
+  };
+  cl-pack-test = {
+    pname = "cl-pack-test";
+    version = "20200427-git";
+    asds = [ "cl-pack-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pack/2020-04-27/cl-pack-20200427-git.tgz";
+      sha256 = "0q7gawy0cwy49m1mxgj0jqnzzckk2ps74ncfaw1pqiqilfyx7np6";
+      system = "cl-pack-test";
+      asd = "cl-pack";
+    });
+    systems = [ "cl-pack-test" ];
+    lispLibs = [ (getAttr "cl-pack" pkgs) ];
+  };
+  cl-package-locks = {
+    pname = "cl-package-locks";
+    version = "20111203-git";
+    asds = [ "cl-package-locks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-package-locks/2011-12-03/cl-package-locks-20111203-git.tgz";
+      sha256 = "0g3gfljnvpgd66ccd2sqawlkwqx4a0wsdrg5180va61w869cgxqq";
+      system = "cl-package-locks";
+      asd = "cl-package-locks";
+    });
+    systems = [ "cl-package-locks" ];
+    lispLibs = [  ];
+  };
+  cl-pango = {
+    pname = "cl-pango";
+    version = "20170403-git";
+    asds = [ "cl-pango" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pango/2017-04-03/cl-pango-20170403-git.tgz";
+      sha256 = "0zkn4yn8nkkjr0x1vcy856cvbmnyhdidqz0in8xvd2i93jvw5w0i";
+      system = "cl-pango";
+      asd = "cl-pango";
+    });
+    systems = [ "cl-pango" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-cairo2" pkgs) (getAttr "xmls" pkgs) ];
+  };
+  cl-parallel = {
+    pname = "cl-parallel";
+    version = "20130312-git";
+    asds = [ "cl-parallel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-parallel/2013-03-12/cl-parallel-20130312-git.tgz";
+      sha256 = "1hmkcbwkj7rx8zg5wf2w06nvbabldpr7hbbg1ycj0fss86s2cx2c";
+      system = "cl-parallel";
+      asd = "cl-parallel";
+    });
+    systems = [ "cl-parallel" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  cl-pass = {
+    pname = "cl-pass";
+    version = "20201220-git";
+    asds = [ "cl-pass" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pass/2020-12-20/cl-pass-20201220-git.tgz";
+      sha256 = "05qx4jrkxqbqi72cxgswbpnifbdvp9mh7apc7566v522899bh0hb";
+      system = "cl-pass";
+      asd = "cl-pass";
+    });
+    systems = [ "cl-pass" ];
+    lispLibs = [ (getAttr "ironclad" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  cl-pass-test = {
+    pname = "cl-pass-test";
+    version = "20201220-git";
+    asds = [ "cl-pass-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pass/2020-12-20/cl-pass-20201220-git.tgz";
+      sha256 = "05qx4jrkxqbqi72cxgswbpnifbdvp9mh7apc7566v522899bh0hb";
+      system = "cl-pass-test";
+      asd = "cl-pass-test";
+    });
+    systems = [ "cl-pass-test" ];
+    lispLibs = [ (getAttr "cl-pass" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-paths = {
+    pname = "cl-paths";
+    version = "20180228-git";
+    asds = [ "cl-paths" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-vectors/2018-02-28/cl-vectors-20180228-git.tgz";
+      sha256 = "0nckw4zb6s96hll8hrxzvgs2an3bfm0pxcywshbm4bq4rn7niqg4";
+      system = "cl-paths";
+      asd = "cl-paths";
+    });
+    systems = [ "cl-paths" ];
+    lispLibs = [  ];
+  };
+  cl-paths-ttf = {
+    pname = "cl-paths-ttf";
+    version = "20180228-git";
+    asds = [ "cl-paths-ttf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-vectors/2018-02-28/cl-vectors-20180228-git.tgz";
+      sha256 = "0nckw4zb6s96hll8hrxzvgs2an3bfm0pxcywshbm4bq4rn7niqg4";
+      system = "cl-paths-ttf";
+      asd = "cl-paths-ttf";
+    });
+    systems = [ "cl-paths-ttf" ];
+    lispLibs = [ (getAttr "cl-paths" pkgs) (getAttr "zpb-ttf" pkgs) ];
+  };
+  cl-pattern = {
+    pname = "cl-pattern";
+    version = "20140713-git";
+    asds = [ "cl-pattern" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pattern/2014-07-13/cl-pattern-20140713-git.tgz";
+      sha256 = "0kc1yynn1ysa7bcaazhi1pq8l3hj3jq6p835kh5di7g1imrfkrny";
+      system = "cl-pattern";
+      asd = "cl-pattern";
+    });
+    systems = [ "cl-pattern" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-annot" pkgs) (getAttr "cl-syntax" pkgs) (getAttr "cl-syntax-annot" pkgs) ];
+  };
+  cl-pattern-benchmark = {
+    pname = "cl-pattern-benchmark";
+    version = "20140713-git";
+    asds = [ "cl-pattern-benchmark" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pattern/2014-07-13/cl-pattern-20140713-git.tgz";
+      sha256 = "0kc1yynn1ysa7bcaazhi1pq8l3hj3jq6p835kh5di7g1imrfkrny";
+      system = "cl-pattern-benchmark";
+      asd = "cl-pattern-benchmark";
+    });
+    systems = [ "cl-pattern-benchmark" ];
+    lispLibs = [ (getAttr "cl-pattern" pkgs) ];
+  };
+  cl-patterns = {
+    pname = "cl-patterns";
+    version = "20211209-git";
+    asds = [ "cl-patterns" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-patterns/2021-12-09/cl-patterns-20211209-git.tgz";
+      sha256 = "1y2whdyj7vcwim4s7cc4c0l08h3bxk2imwiklb4l0w2n7f5g30vx";
+      system = "cl-patterns";
+      asd = "cl-patterns";
+    });
+    systems = [ "cl-patterns" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "closer-mop" pkgs) (getAttr "dissect" pkgs) (getAttr "local-time" pkgs) (getAttr "mutility" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  cl-patterns_slash_debug = {
+    pname = "cl-patterns_debug";
+    version = "20211209-git";
+    asds = [ "cl-patterns" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-patterns/2021-12-09/cl-patterns-20211209-git.tgz";
+      sha256 = "1y2whdyj7vcwim4s7cc4c0l08h3bxk2imwiklb4l0w2n7f5g30vx";
+      system = "cl-patterns";
+      asd = "cl-patterns";
+    });
+    systems = [ "cl-patterns/debug" ];
+    lispLibs = [ (getAttr "cl-patterns" pkgs) ];
+  };
+  cl-patterns_slash_midifile = {
+    pname = "cl-patterns_midifile";
+    version = "20211209-git";
+    asds = [ "cl-patterns" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-patterns/2021-12-09/cl-patterns-20211209-git.tgz";
+      sha256 = "1y2whdyj7vcwim4s7cc4c0l08h3bxk2imwiklb4l0w2n7f5g30vx";
+      system = "cl-patterns";
+      asd = "cl-patterns";
+    });
+    systems = [ "cl-patterns/midifile" ];
+    lispLibs = [ (getAttr "cl-patterns" pkgs) (getAttr "midi" pkgs) ];
+  };
+  cl-patterns_slash_sugar = {
+    pname = "cl-patterns_sugar";
+    version = "20211209-git";
+    asds = [ "cl-patterns" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-patterns/2021-12-09/cl-patterns-20211209-git.tgz";
+      sha256 = "1y2whdyj7vcwim4s7cc4c0l08h3bxk2imwiklb4l0w2n7f5g30vx";
+      system = "cl-patterns";
+      asd = "cl-patterns";
+    });
+    systems = [ "cl-patterns/sugar" ];
+    lispLibs = [ (getAttr "cl-patterns" pkgs) ];
+  };
+  cl-patterns_slash_supercollider = {
+    pname = "cl-patterns_supercollider";
+    version = "20211209-git";
+    asds = [ "cl-patterns" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-patterns/2021-12-09/cl-patterns-20211209-git.tgz";
+      sha256 = "1y2whdyj7vcwim4s7cc4c0l08h3bxk2imwiklb4l0w2n7f5g30vx";
+      system = "cl-patterns";
+      asd = "cl-patterns";
+    });
+    systems = [ "cl-patterns/supercollider" ];
+    lispLibs = [ (getAttr "cl-collider" pkgs) (getAttr "cl-patterns" pkgs) ];
+  };
+  cl-paymill = {
+    pname = "cl-paymill";
+    version = "20131111-git";
+    asds = [ "cl-paymill" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-paymill/2013-11-11/cl-paymill-20131111-git.tgz";
+      sha256 = "1dhddmw7gxfxbv1vfqi6nzyh8m5n3b160ch6ianf5sn6apmi92nw";
+      system = "cl-paymill";
+      asd = "cl-paymill";
+    });
+    systems = [ "cl-paymill" ];
+    lispLibs = [ (getAttr "cl_plus_ssl" pkgs) (getAttr "drakma" pkgs) (getAttr "st-json" pkgs) ];
+  };
+  cl-paypal = {
+    pname = "cl-paypal";
+    version = "20101006-git";
+    asds = [ "cl-paypal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-paypal/2010-10-06/cl-paypal-20101006-git.tgz";
+      sha256 = "0cc6zv17klgiyj1mbbrkbvajkr6dwsjv3iilh57vhdqd01lrhnb2";
+      system = "cl-paypal";
+      asd = "cl-paypal";
+    });
+    systems = [ "cl-paypal" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  cl-pcg = {
+    pname = "cl-pcg";
+    version = "20201016-hg";
+    asds = [ "cl-pcg" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pcg/2020-10-16/cl-pcg-20201016-hg.tgz";
+      sha256 = "1w2b2y5fgjc6z8akvlmwasj90dnjv55nvb8pghq4xpv43hfy73mp";
+      system = "cl-pcg";
+      asd = "cl-pcg";
+    });
+    systems = [ "cl-pcg" ];
+    lispLibs = [  ];
+  };
+  cl-pcg_dot_test = {
+    pname = "cl-pcg.test";
+    version = "20201016-hg";
+    asds = [ "cl-pcg.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pcg/2020-10-16/cl-pcg-20201016-hg.tgz";
+      sha256 = "1w2b2y5fgjc6z8akvlmwasj90dnjv55nvb8pghq4xpv43hfy73mp";
+      system = "cl-pcg.test";
+      asd = "cl-pcg.test";
+    });
+    systems = [ "cl-pcg.test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "cl-pcg" pkgs) ];
+  };
+  cl-pdf = {
+    pname = "cl-pdf";
+    version = "20211020-git";
+    asds = [ "cl-pdf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pdf/2021-10-20/cl-pdf-20211020-git.tgz";
+      sha256 = "0mf62z0gayi9rxxkrdb089vgwfynrxbwfxy63s838qjn7gga1h7w";
+      system = "cl-pdf";
+      asd = "cl-pdf";
+    });
+    systems = [ "cl-pdf" ];
+    lispLibs = [ (getAttr "iterate" pkgs) (getAttr "uiop" pkgs) (getAttr "zpb-ttf" pkgs) ];
+  };
+  cl-pdf-doc = {
+    pname = "cl-pdf-doc";
+    version = "20210531-git";
+    asds = [ "cl-pdf-doc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-typesetting/2021-05-31/cl-typesetting-20210531-git.tgz";
+      sha256 = "0fcs5mq0gxfczbrg7ay8r4bf5r4g6blvpdbjkhcl8dapcikyn35h";
+      system = "cl-pdf-doc";
+      asd = "cl-pdf-doc";
+    });
+    systems = [ "cl-pdf-doc" ];
+    lispLibs = [ (getAttr "cl-pdf" pkgs) (getAttr "cl-typesetting" pkgs) ];
+  };
+  cl-pdf-parser = {
+    pname = "cl-pdf-parser";
+    version = "20211020-git";
+    asds = [ "cl-pdf-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pdf/2021-10-20/cl-pdf-20211020-git.tgz";
+      sha256 = "0mf62z0gayi9rxxkrdb089vgwfynrxbwfxy63s838qjn7gga1h7w";
+      system = "cl-pdf-parser";
+      asd = "cl-pdf-parser";
+    });
+    systems = [ "cl-pdf-parser" ];
+    lispLibs = [ (getAttr "cl-pdf" pkgs) ];
+  };
+  cl-performance-tuning-helper = {
+    pname = "cl-performance-tuning-helper";
+    version = "20130615-git";
+    asds = [ "cl-performance-tuning-helper" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-performance-tuning-helper/2013-06-15/cl-performance-tuning-helper-20130615-git.tgz";
+      sha256 = "1j0k319il271grm6hjqq2bazp5l105lazayqsmpsy8lsy4lmy0c3";
+      system = "cl-performance-tuning-helper";
+      asd = "cl-performance-tuning-helper";
+    });
+    systems = [ "cl-performance-tuning-helper" ];
+    lispLibs = [  ];
+  };
+  cl-performance-tuning-helper-test = {
+    pname = "cl-performance-tuning-helper-test";
+    version = "20130615-git";
+    asds = [ "cl-performance-tuning-helper-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-performance-tuning-helper/2013-06-15/cl-performance-tuning-helper-20130615-git.tgz";
+      sha256 = "1j0k319il271grm6hjqq2bazp5l105lazayqsmpsy8lsy4lmy0c3";
+      system = "cl-performance-tuning-helper-test";
+      asd = "cl-performance-tuning-helper-test";
+    });
+    systems = [ "cl-performance-tuning-helper-test" ];
+    lispLibs = [ (getAttr "cl-performance-tuning-helper" pkgs) (getAttr "rt" pkgs) ];
+  };
+  cl-permutation = {
+    pname = "cl-permutation";
+    version = "20211209-git";
+    asds = [ "cl-permutation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-permutation/2021-12-09/cl-permutation-20211209-git.tgz";
+      sha256 = "0i932g0k50y24hxizni6zfya4kcw77yk3b0llivm9g50s7fxj9dk";
+      system = "cl-permutation";
+      asd = "cl-permutation";
+    });
+    systems = [ "cl-permutation" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-fft" pkgs) (getAttr "cl-algebraic-data-type" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-permutation-examples = {
+    pname = "cl-permutation-examples";
+    version = "20211209-git";
+    asds = [ "cl-permutation-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-permutation/2021-12-09/cl-permutation-20211209-git.tgz";
+      sha256 = "0i932g0k50y24hxizni6zfya4kcw77yk3b0llivm9g50s7fxj9dk";
+      system = "cl-permutation-examples";
+      asd = "cl-permutation-examples";
+    });
+    systems = [ "cl-permutation-examples" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-permutation" pkgs) ];
+  };
+  cl-permutation-tests = {
+    pname = "cl-permutation-tests";
+    version = "20211209-git";
+    asds = [ "cl-permutation-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-permutation/2021-12-09/cl-permutation-20211209-git.tgz";
+      sha256 = "0i932g0k50y24hxizni6zfya4kcw77yk3b0llivm9g50s7fxj9dk";
+      system = "cl-permutation-tests";
+      asd = "cl-permutation-tests";
+    });
+    systems = [ "cl-permutation-tests" ];
+    lispLibs = [ (getAttr "cl-permutation" pkgs) (getAttr "cl-permutation-examples" pkgs) (getAttr "fiasco" pkgs) ];
+  };
+  cl-photo = {
+    pname = "cl-photo";
+    version = "20150923-git";
+    asds = [ "cl-photo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-photo/2015-09-23/cl-photo-20150923-git.tgz";
+      sha256 = "03rzsi1rqvlnw43z7kh5sy1h8gjxc5n0cfryfkkqnhym9q9186mj";
+      system = "cl-photo";
+      asd = "cl-photo";
+    });
+    systems = [ "cl-photo" ];
+    lispLibs = [ (getAttr "kmrcl" pkgs) ];
+  };
+  cl-photo-tests = {
+    pname = "cl-photo-tests";
+    version = "20150923-git";
+    asds = [ "cl-photo-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-photo/2015-09-23/cl-photo-20150923-git.tgz";
+      sha256 = "03rzsi1rqvlnw43z7kh5sy1h8gjxc5n0cfryfkkqnhym9q9186mj";
+      system = "cl-photo-tests";
+      asd = "cl-photo-tests";
+    });
+    systems = [ "cl-photo-tests" ];
+    lispLibs = [ (getAttr "cl-photo" pkgs) (getAttr "rt" pkgs) ];
+  };
+  cl-plplot = {
+    pname = "cl-plplot";
+    version = "20180228-git";
+    asds = [ "cl-plplot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-plplot/2018-02-28/cl-plplot-20180228-git.tgz";
+      sha256 = "0hfgq47ga2r764jfc3ywaz5ynnvp701fjhbw0s4j1mrw4gaf6y6w";
+      system = "cl-plplot";
+      asd = "cl-plplot";
+    });
+    systems = [ "cl-plplot" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-plumbing = {
+    pname = "cl-plumbing";
+    version = "20181018-git";
+    asds = [ "cl-plumbing" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-plumbing/2018-10-18/cl-plumbing-20181018-git.tgz";
+      sha256 = "0bc4qqj0c4hghwx8jm3vg422c3i8livv3vvzfzi0gw79khaqdiyr";
+      system = "cl-plumbing";
+      asd = "cl-plumbing";
+    });
+    systems = [ "cl-plumbing" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "iterate" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cl-plumbing-test = {
+    pname = "cl-plumbing-test";
+    version = "20181018-git";
+    asds = [ "cl-plumbing-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-plumbing/2018-10-18/cl-plumbing-20181018-git.tgz";
+      sha256 = "0bc4qqj0c4hghwx8jm3vg422c3i8livv3vvzfzi0gw79khaqdiyr";
+      system = "cl-plumbing-test";
+      asd = "cl-plumbing-test";
+    });
+    systems = [ "cl-plumbing-test" ];
+    lispLibs = [ (getAttr "cl-plumbing" pkgs) (getAttr "iterate" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  cl-plus-c = {
+    pname = "cl-plus-c";
+    version = "20211209-git";
+    asds = [ "cl-plus-c" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-autowrap/2021-12-09/cl-autowrap-20211209-git.tgz";
+      sha256 = "1db0knq4vfr0mlxx8y5bjjdc87mij3hf7m6f0z4hgw8jsx868krr";
+      system = "cl-plus-c";
+      asd = "cl-plus-c";
+    });
+    systems = [ "cl-plus-c" ];
+    lispLibs = [ (getAttr "cl-autowrap" pkgs) ];
+  };
+  cl-ply = {
+    pname = "cl-ply";
+    version = "20150505-git";
+    asds = [ "cl-ply" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ply/2015-05-05/cl-ply-20150505-git.tgz";
+      sha256 = "1va3il5ahvziwm6i3f2zy3vchv0qkh1l7jci7gnfam43gf88fl12";
+      system = "cl-ply";
+      asd = "cl-ply";
+    });
+    systems = [ "cl-ply" ];
+    lispLibs = [ (getAttr "cl-pattern" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  cl-ply-test = {
+    pname = "cl-ply-test";
+    version = "20150505-git";
+    asds = [ "cl-ply-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ply/2015-05-05/cl-ply-20150505-git.tgz";
+      sha256 = "1va3il5ahvziwm6i3f2zy3vchv0qkh1l7jci7gnfam43gf88fl12";
+      system = "cl-ply-test";
+      asd = "cl-ply-test";
+    });
+    systems = [ "cl-ply-test" ];
+    lispLibs = [ (getAttr "cl-ply" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-poker-eval = {
+    pname = "cl-poker-eval";
+    version = "20150804-git";
+    asds = [ "cl-poker-eval" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-poker-eval/2015-08-04/cl-poker-eval-20150804-git.tgz";
+      sha256 = "1w4dsr4j7r3n7p0jbp8ccwwk83wcjjiz1rhhfrqpsd9v263v7kw8";
+      system = "cl-poker-eval";
+      asd = "cl-poker-eval";
+    });
+    systems = [ "cl-poker-eval" ];
+    lispLibs = [  ];
+  };
+  cl-pop = {
+    pname = "cl-pop";
+    version = "20110418-http";
+    asds = [ "cl-pop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pop/2011-04-18/cl-pop-20110418-http.tgz";
+      sha256 = "1g47p9w2pzf7glx92cz859di9pz454xpaq97p76lcvyilxk6q819";
+      system = "cl-pop";
+      asd = "cl-pop";
+    });
+    systems = [ "cl-pop" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-portaudio = {
+    pname = "cl-portaudio";
+    version = "20201220-git";
+    asds = [ "cl-portaudio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-portaudio/2020-12-20/cl-portaudio-20201220-git.tgz";
+      sha256 = "177c6bgf30caj5qpzfnzhbamax7c5zm2p4911mw7fay94vjs7zyb";
+      system = "cl-portaudio";
+      asd = "cl-portaudio";
+    });
+    systems = [ "cl-portaudio" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "ffa" pkgs) ];
+  };
+  cl-portaudio_slash_doc = {
+    pname = "cl-portaudio_doc";
+    version = "20201220-git";
+    asds = [ "cl-portaudio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-portaudio/2020-12-20/cl-portaudio-20201220-git.tgz";
+      sha256 = "177c6bgf30caj5qpzfnzhbamax7c5zm2p4911mw7fay94vjs7zyb";
+      system = "cl-portaudio";
+      asd = "cl-portaudio";
+    });
+    systems = [ "cl-portaudio/doc" ];
+    lispLibs = [ (getAttr "atdoc" pkgs) (getAttr "cl-portaudio" pkgs) ];
+  };
+  cl-portaudio_slash_tests = {
+    pname = "cl-portaudio_tests";
+    version = "20201220-git";
+    asds = [ "cl-portaudio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-portaudio/2020-12-20/cl-portaudio-20201220-git.tgz";
+      sha256 = "177c6bgf30caj5qpzfnzhbamax7c5zm2p4911mw7fay94vjs7zyb";
+      system = "cl-portaudio";
+      asd = "cl-portaudio";
+    });
+    systems = [ "cl-portaudio/tests" ];
+    lispLibs = [ (getAttr "cl-portaudio" pkgs) ];
+  };
+  cl-postgres = {
+    pname = "cl-postgres";
+    version = "20211209-git";
+    asds = [ "cl-postgres" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/postmodern/2021-12-09/postmodern-20211209-git.tgz";
+      sha256 = "1d511fnl3iqxk4zvdzj6prc793q7agzm4v148pn5niv3ydcx1vvy";
+      system = "cl-postgres";
+      asd = "cl-postgres";
+    });
+    systems = [ "cl-postgres" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "ironclad" pkgs) (getAttr "md5" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uax-15" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-postgres_plus_local-time = {
+    pname = "cl-postgres+local-time";
+    version = "20210124-git";
+    asds = [ "cl-postgres+local-time" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/local-time/2021-01-24/local-time-20210124-git.tgz";
+      sha256 = "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii";
+      system = "cl-postgres+local-time";
+      asd = "cl-postgres+local-time";
+    });
+    systems = [ "cl-postgres+local-time" ];
+    lispLibs = [ (getAttr "local-time" pkgs) (getAttr "cl-postgres" pkgs) ];
+  };
+  cl-postgres_plus_local-time-duration = {
+    pname = "cl-postgres+local-time-duration";
+    version = "20180430-git";
+    asds = [ "cl-postgres+local-time-duration" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/local-time-duration/2018-04-30/local-time-duration-20180430-git.tgz";
+      sha256 = "0f13mg18lv31lclz9jvqyj8d85p1jj1366nlld8m3dxnnwsbbkd6";
+      system = "cl-postgres+local-time-duration";
+      asd = "cl-postgres+local-time-duration";
+    });
+    systems = [ "cl-postgres+local-time-duration" ];
+    lispLibs = [ (getAttr "local-time-duration" pkgs) (getAttr "cl-postgres" pkgs) ];
+  };
+  cl-postgres-datetime = {
+    pname = "cl-postgres-datetime";
+    version = "20190521-git";
+    asds = [ "cl-postgres-datetime" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-postgres-datetime/2019-05-21/cl-postgres-datetime-20190521-git.tgz";
+      sha256 = "1vwv5j1i968927j070bagqx9i114a8phmx7k9ankj9j5zg5dj0l3";
+      system = "cl-postgres-datetime";
+      asd = "cl-postgres-datetime";
+    });
+    systems = [ "cl-postgres-datetime" ];
+    lispLibs = [ (getAttr "local-time" pkgs) (getAttr "cl-postgres" pkgs) (getAttr "simple-date" pkgs) ];
+  };
+  cl-postgres-plus-uuid = {
+    pname = "cl-postgres-plus-uuid";
+    version = "20181018-git";
+    asds = [ "cl-postgres-plus-uuid" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-postgres-plus-uuid/2018-10-18/cl-postgres-plus-uuid-20181018-git.tgz";
+      sha256 = "1iw11v67gpwgpa5dw3d7chjmkc4d7sdwrqvnx0vg0m2qf4j7azmi";
+      system = "cl-postgres-plus-uuid";
+      asd = "cl-postgres-plus-uuid";
+    });
+    systems = [ "cl-postgres-plus-uuid" ];
+    lispLibs = [ (getAttr "cl-postgres" pkgs) (getAttr "uuid" pkgs) ];
+  };
+  cl-postgres_slash_simple-date-tests = {
+    pname = "cl-postgres_simple-date-tests";
+    version = "20211209-git";
+    asds = [ "cl-postgres" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/postmodern/2021-12-09/postmodern-20211209-git.tgz";
+      sha256 = "1d511fnl3iqxk4zvdzj6prc793q7agzm4v148pn5niv3ydcx1vvy";
+      system = "cl-postgres";
+      asd = "cl-postgres";
+    });
+    systems = [ "cl-postgres/simple-date-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "cl-postgres" pkgs) (getAttr "simple-date" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-postgres_slash_tests = {
+    pname = "cl-postgres_tests";
+    version = "20211209-git";
+    asds = [ "cl-postgres" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/postmodern/2021-12-09/postmodern-20211209-git.tgz";
+      sha256 = "1d511fnl3iqxk4zvdzj6prc793q7agzm4v148pn5niv3ydcx1vvy";
+      system = "cl-postgres";
+      asd = "cl-postgres";
+    });
+    systems = [ "cl-postgres/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "cl-postgres" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-ppcre = {
+    pname = "cl-ppcre";
+    version = "20190521-git";
+    asds = [ "cl-ppcre" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ppcre/2019-05-21/cl-ppcre-20190521-git.tgz";
+      sha256 = "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi";
+      system = "cl-ppcre";
+      asd = "cl-ppcre";
+    });
+    systems = [ "cl-ppcre" ];
+    lispLibs = [  ];
+  };
+  cl-ppcre-template = {
+    pname = "cl-ppcre-template";
+    version = "20211230-git";
+    asds = [ "cl-ppcre-template" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-unification/2021-12-30/cl-unification-20211230-git.tgz";
+      sha256 = "1k4ngdn1qycjakwl66kvxk6kjxhkamzq3yfq4qlpc0kd15p7d2xn";
+      system = "cl-ppcre-template";
+      asd = "cl-ppcre-template";
+    });
+    systems = [ "cl-ppcre-template" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cl-unification" pkgs) ];
+  };
+  cl-ppcre-test = {
+    pname = "cl-ppcre-test";
+    version = "20190521-git";
+    asds = [ "cl-ppcre-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ppcre/2019-05-21/cl-ppcre-20190521-git.tgz";
+      sha256 = "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi";
+      system = "cl-ppcre-test";
+      asd = "cl-ppcre";
+    });
+    systems = [ "cl-ppcre-test" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  cl-ppcre-unicode = {
+    pname = "cl-ppcre-unicode";
+    version = "20190521-git";
+    asds = [ "cl-ppcre-unicode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ppcre/2019-05-21/cl-ppcre-20190521-git.tgz";
+      sha256 = "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi";
+      system = "cl-ppcre-unicode";
+      asd = "cl-ppcre-unicode";
+    });
+    systems = [ "cl-ppcre-unicode" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cl-unicode" pkgs) ];
+  };
+  cl-ppcre-unicode-test = {
+    pname = "cl-ppcre-unicode-test";
+    version = "20190521-git";
+    asds = [ "cl-ppcre-unicode-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ppcre/2019-05-21/cl-ppcre-20190521-git.tgz";
+      sha256 = "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi";
+      system = "cl-ppcre-unicode-test";
+      asd = "cl-ppcre-unicode";
+    });
+    systems = [ "cl-ppcre-unicode-test" ];
+    lispLibs = [ (getAttr "cl-ppcre-test" pkgs) (getAttr "cl-ppcre-unicode" pkgs) ];
+  };
+  cl-prevalence = {
+    pname = "cl-prevalence";
+    version = "20210531-git";
+    asds = [ "cl-prevalence" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prevalence/2021-05-31/cl-prevalence-20210531-git.tgz";
+      sha256 = "04bxhbrqgvpjhfffrfkl1x0m975qhnfsvqbankd7p70afw25ris7";
+      system = "cl-prevalence";
+      asd = "cl-prevalence";
+    });
+    systems = [ "cl-prevalence" ];
+    lispLibs = [ (getAttr "s-sysdeps" pkgs) (getAttr "s-xml" pkgs) ];
+  };
+  cl-prevalence-test = {
+    pname = "cl-prevalence-test";
+    version = "20210531-git";
+    asds = [ "cl-prevalence-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prevalence/2021-05-31/cl-prevalence-20210531-git.tgz";
+      sha256 = "04bxhbrqgvpjhfffrfkl1x0m975qhnfsvqbankd7p70afw25ris7";
+      system = "cl-prevalence-test";
+      asd = "cl-prevalence-test";
+    });
+    systems = [ "cl-prevalence-test" ];
+    lispLibs = [ (getAttr "cl-prevalence" pkgs) (getAttr "find-port" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-primality = {
+    pname = "cl-primality";
+    version = "20150608-git";
+    asds = [ "cl-primality" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-primality/2015-06-08/cl-primality-20150608-git.tgz";
+      sha256 = "1hvbsd5x7yrrrh7jjq0p8ign3ppzzpacmmz7nps60wgk38q1b618";
+      system = "cl-primality";
+      asd = "cl-primality";
+    });
+    systems = [ "cl-primality" ];
+    lispLibs = [ (getAttr "iterate" pkgs) ];
+  };
+  cl-primality-test = {
+    pname = "cl-primality-test";
+    version = "20150608-git";
+    asds = [ "cl-primality-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-primality/2015-06-08/cl-primality-20150608-git.tgz";
+      sha256 = "1hvbsd5x7yrrrh7jjq0p8ign3ppzzpacmmz7nps60wgk38q1b618";
+      system = "cl-primality-test";
+      asd = "cl-primality-test";
+    });
+    systems = [ "cl-primality-test" ];
+    lispLibs = [ (getAttr "cl-primality" pkgs) (getAttr "iterate" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  cl-prime-maker = {
+    pname = "cl-prime-maker";
+    version = "20150302-git";
+    asds = [ "cl-prime-maker" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prime-maker/2015-03-02/cl-prime-maker-20150302-git.tgz";
+      sha256 = "0hs95zs990aiwspss2dzmjvl18ipvlkx3p9cgmcncqxhgkizds9s";
+      system = "cl-prime-maker";
+      asd = "cl-prime-maker";
+    });
+    systems = [ "cl-prime-maker" ];
+    lispLibs = [  ];
+  };
+  cl-progress-bar = {
+    pname = "cl-progress-bar";
+    version = "20211209-git";
+    asds = [ "cl-progress-bar" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-progress-bar/2021-12-09/cl-progress-bar-20211209-git.tgz";
+      sha256 = "1y4kg4qb4bxkqnc84mczx5fhqlr6qbagxwsn93xrilv8lqg8ymiv";
+      system = "cl-progress-bar";
+      asd = "cl-progress-bar";
+    });
+    systems = [ "cl-progress-bar" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "documentation-utils-extensions" pkgs) ];
+  };
+  cl-project = {
+    pname = "cl-project";
+    version = "20200715-git";
+    asds = [ "cl-project" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-project/2020-07-15/cl-project-20200715-git.tgz";
+      sha256 = "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y";
+      system = "cl-project";
+      asd = "cl-project";
+    });
+    systems = [ "cl-project" ];
+    lispLibs = [ (getAttr "cl-emb" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "local-time" pkgs) (getAttr "prove" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-project-test = {
+    pname = "cl-project-test";
+    version = "20200715-git";
+    asds = [ "cl-project-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-project/2020-07-15/cl-project-20200715-git.tgz";
+      sha256 = "1rmh6s1ncv8s2yrr14ja9wisgg745sq6xibqwb341ikdicxdp26y";
+      system = "cl-project-test";
+      asd = "cl-project-test";
+    });
+    systems = [ "cl-project-test" ];
+    lispLibs = [ (getAttr "caveman2" pkgs) (getAttr "cl-project" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-prolog2 = {
+    pname = "cl-prolog2";
+    version = "20211209-git";
+    asds = [ "cl-prolog2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz";
+      sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg";
+      system = "cl-prolog2";
+      asd = "cl-prolog2";
+    });
+    systems = [ "cl-prolog2" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "external-program" pkgs) (getAttr "trivia" pkgs) (getAttr "trivia_dot_quasiquote" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-prolog2_dot_bprolog = {
+    pname = "cl-prolog2.bprolog";
+    version = "20211209-git";
+    asds = [ "cl-prolog2.bprolog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz";
+      sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg";
+      system = "cl-prolog2.bprolog";
+      asd = "cl-prolog2.bprolog";
+    });
+    systems = [ "cl-prolog2.bprolog" ];
+    lispLibs = [ (getAttr "cl-prolog2" pkgs) ];
+  };
+  cl-prolog2_dot_bprolog_dot_test = {
+    pname = "cl-prolog2.bprolog.test";
+    version = "20211209-git";
+    asds = [ "cl-prolog2.bprolog.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz";
+      sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg";
+      system = "cl-prolog2.bprolog.test";
+      asd = "cl-prolog2.bprolog.test";
+    });
+    systems = [ "cl-prolog2.bprolog.test" ];
+    lispLibs = [ (getAttr "cl-prolog2_dot_bprolog" pkgs) (getAttr "cl-prolog2_dot_test" pkgs) ];
+  };
+  cl-prolog2_dot_gprolog = {
+    pname = "cl-prolog2.gprolog";
+    version = "20211209-git";
+    asds = [ "cl-prolog2.gprolog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz";
+      sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg";
+      system = "cl-prolog2.gprolog";
+      asd = "cl-prolog2.gprolog";
+    });
+    systems = [ "cl-prolog2.gprolog" ];
+    lispLibs = [ (getAttr "cl-prolog2" pkgs) ];
+  };
+  cl-prolog2_dot_gprolog_dot_test = {
+    pname = "cl-prolog2.gprolog.test";
+    version = "20211209-git";
+    asds = [ "cl-prolog2.gprolog.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz";
+      sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg";
+      system = "cl-prolog2.gprolog.test";
+      asd = "cl-prolog2.gprolog.test";
+    });
+    systems = [ "cl-prolog2.gprolog.test" ];
+    lispLibs = [ (getAttr "cl-prolog2_dot_gprolog" pkgs) (getAttr "cl-prolog2_dot_test" pkgs) ];
+  };
+  cl-prolog2_dot_swi = {
+    pname = "cl-prolog2.swi";
+    version = "20211209-git";
+    asds = [ "cl-prolog2.swi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz";
+      sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg";
+      system = "cl-prolog2.swi";
+      asd = "cl-prolog2.swi";
+    });
+    systems = [ "cl-prolog2.swi" ];
+    lispLibs = [ (getAttr "cl-prolog2" pkgs) ];
+  };
+  cl-prolog2_dot_swi_dot_test = {
+    pname = "cl-prolog2.swi.test";
+    version = "20211209-git";
+    asds = [ "cl-prolog2.swi.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz";
+      sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg";
+      system = "cl-prolog2.swi.test";
+      asd = "cl-prolog2.swi.test";
+    });
+    systems = [ "cl-prolog2.swi.test" ];
+    lispLibs = [ (getAttr "cl-prolog2_dot_swi" pkgs) (getAttr "cl-prolog2_dot_test" pkgs) ];
+  };
+  cl-prolog2_dot_test = {
+    pname = "cl-prolog2.test";
+    version = "20211209-git";
+    asds = [ "cl-prolog2.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz";
+      sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg";
+      system = "cl-prolog2.test";
+      asd = "cl-prolog2.test";
+    });
+    systems = [ "cl-prolog2.test" ];
+    lispLibs = [ (getAttr "cl-prolog2" pkgs) (getAttr "fiveam" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-prolog2_dot_xsb = {
+    pname = "cl-prolog2.xsb";
+    version = "20211209-git";
+    asds = [ "cl-prolog2.xsb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz";
+      sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg";
+      system = "cl-prolog2.xsb";
+      asd = "cl-prolog2.xsb";
+    });
+    systems = [ "cl-prolog2.xsb" ];
+    lispLibs = [ (getAttr "cl-prolog2" pkgs) ];
+  };
+  cl-prolog2_dot_xsb_dot_test = {
+    pname = "cl-prolog2.xsb.test";
+    version = "20211209-git";
+    asds = [ "cl-prolog2.xsb.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz";
+      sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg";
+      system = "cl-prolog2.xsb.test";
+      asd = "cl-prolog2.xsb.test";
+    });
+    systems = [ "cl-prolog2.xsb.test" ];
+    lispLibs = [ (getAttr "cl-prolog2_dot_test" pkgs) (getAttr "cl-prolog2_dot_xsb" pkgs) ];
+  };
+  cl-prolog2_dot_yap = {
+    pname = "cl-prolog2.yap";
+    version = "20211209-git";
+    asds = [ "cl-prolog2.yap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz";
+      sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg";
+      system = "cl-prolog2.yap";
+      asd = "cl-prolog2.yap";
+    });
+    systems = [ "cl-prolog2.yap" ];
+    lispLibs = [ (getAttr "cl-prolog2" pkgs) ];
+  };
+  cl-prolog2_dot_yap_dot_test = {
+    pname = "cl-prolog2.yap.test";
+    version = "20211209-git";
+    asds = [ "cl-prolog2.yap.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-prolog2/2021-12-09/cl-prolog2-20211209-git.tgz";
+      sha256 = "15xa1i2r72ll6zfhq6gkv0h36kifqjvbsmnycd145vgd0dvh5pgg";
+      system = "cl-prolog2.yap.test";
+      asd = "cl-prolog2.yap.test";
+    });
+    systems = [ "cl-prolog2.yap.test" ];
+    lispLibs = [ (getAttr "cl-prolog2_dot_test" pkgs) (getAttr "cl-prolog2_dot_yap" pkgs) ];
+  };
+  cl-protobufs = {
+    pname = "cl-protobufs";
+    version = "20200325-git";
+    asds = [ "cl-protobufs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-protobufs/2020-03-25/cl-protobufs-20200325-git.tgz";
+      sha256 = "03qh5679702c6pbh8yf10i6ldld95snmbigr8w8hrfxnvrcbpb13";
+      system = "cl-protobufs";
+      asd = "cl-protobufs";
+    });
+    systems = [ "cl-protobufs" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "closer-mop" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-protobufs-tests = {
+    pname = "cl-protobufs-tests";
+    version = "20200325-git";
+    asds = [ "cl-protobufs-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-protobufs/2020-03-25/cl-protobufs-20200325-git.tgz";
+      sha256 = "03qh5679702c6pbh8yf10i6ldld95snmbigr8w8hrfxnvrcbpb13";
+      system = "cl-protobufs-tests";
+      asd = "cl-protobufs-tests";
+    });
+    systems = [ "cl-protobufs-tests" ];
+    lispLibs = [ (getAttr "cl-protobufs" pkgs) ];
+  };
+  cl-pslib = {
+    pname = "cl-pslib";
+    version = "20201016-git";
+    asds = [ "cl-pslib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pslib/2020-10-16/cl-pslib-20201016-git.tgz";
+      sha256 = "1l3ig57lrqdbm3kd9kbch3y3az8kryc9bqn896vz3a3w3rnwcv5a";
+      system = "cl-pslib";
+      asd = "cl-pslib";
+    });
+    systems = [ "cl-pslib" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-colors2" pkgs) (getAttr "cl-ppcre-unicode" pkgs) ];
+  };
+  cl-pslib-barcode = {
+    pname = "cl-pslib-barcode";
+    version = "20200218-git";
+    asds = [ "cl-pslib-barcode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pslib-barcode/2020-02-18/cl-pslib-barcode-20200218-git.tgz";
+      sha256 = "10hmvjx03m54xyrjdw92kfpcvch0by0c8lwj899rbgxwfjsbwc49";
+      system = "cl-pslib-barcode";
+      asd = "cl-pslib-barcode";
+    });
+    systems = [ "cl-pslib-barcode" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-colors2" pkgs) (getAttr "cl-ppcre-unicode" pkgs) (getAttr "cl-pslib" pkgs) ];
+  };
+  cl-punch = {
+    pname = "cl-punch";
+    version = "20190107-git";
+    asds = [ "cl-punch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-punch/2019-01-07/cl-punch-20190107-git.tgz";
+      sha256 = "1sjgwn6c77n8pgs0rrw70xfl18rps6a0dlf2chfsbgk8shz6qyl2";
+      system = "cl-punch";
+      asd = "cl-punch";
+    });
+    systems = [ "cl-punch" ];
+    lispLibs = [ (getAttr "cl-syntax" pkgs) ];
+  };
+  cl-punch-test = {
+    pname = "cl-punch-test";
+    version = "20190107-git";
+    asds = [ "cl-punch-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-punch/2019-01-07/cl-punch-20190107-git.tgz";
+      sha256 = "1sjgwn6c77n8pgs0rrw70xfl18rps6a0dlf2chfsbgk8shz6qyl2";
+      system = "cl-punch-test";
+      asd = "cl-punch-test";
+    });
+    systems = [ "cl-punch-test" ];
+    lispLibs = [ (getAttr "cl-punch" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-qprint = {
+    pname = "cl-qprint";
+    version = "20150804-git";
+    asds = [ "cl-qprint" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-qprint/2015-08-04/cl-qprint-20150804-git.tgz";
+      sha256 = "099h0rrdzxnlmn8avi72mg2dl0kccp7w01b2p9nwyy4b8yr32cir";
+      system = "cl-qprint";
+      asd = "cl-qprint";
+    });
+    systems = [ "cl-qprint" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) ];
+  };
+  cl-qrencode = {
+    pname = "cl-qrencode";
+    version = "20191007-git";
+    asds = [ "cl-qrencode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-qrencode/2019-10-07/cl-qrencode-20191007-git.tgz";
+      sha256 = "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr";
+      system = "cl-qrencode";
+      asd = "cl-qrencode";
+    });
+    systems = [ "cl-qrencode" ];
+    lispLibs = [ (getAttr "zpng" pkgs) ];
+  };
+  cl-qrencode-test = {
+    pname = "cl-qrencode-test";
+    version = "20191007-git";
+    asds = [ "cl-qrencode-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-qrencode/2019-10-07/cl-qrencode-20191007-git.tgz";
+      sha256 = "1l5k131dchbf6cj8a8xqa731790p01p3qa1kdy2wa9dawy3ymkxr";
+      system = "cl-qrencode-test";
+      asd = "cl-qrencode-test";
+    });
+    systems = [ "cl-qrencode-test" ];
+    lispLibs = [ (getAttr "cl-qrencode" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  cl-quickcheck = {
+    pname = "cl-quickcheck";
+    version = "20200610-git";
+    asds = [ "cl-quickcheck" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-quickcheck/2020-06-10/cl-quickcheck-20200610-git.tgz";
+      sha256 = "0cfyxbdhklvdk3qdzyxxaq9q6cxnsvqjfi86nay1vc7h6ziysb60";
+      system = "cl-quickcheck";
+      asd = "cl-quickcheck";
+    });
+    systems = [ "cl-quickcheck" ];
+    lispLibs = [  ];
+  };
+  cl-quil = {
+    pname = "cl-quil";
+    version = "v1.26.0";
+    asds = [ "cl-quil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quilc/2021-12-09/quilc-v1.26.0.tgz";
+      sha256 = "09qp2d6xgq4cmg6nfsdz0gbs3rvz3ln0kawmry6cls14lxnljjrr";
+      system = "cl-quil";
+      asd = "cl-quil";
+    });
+    systems = [ "cl-quil" ];
+    lispLibs = [ (getAttr "alexa" pkgs) (getAttr "alexandria" pkgs) (getAttr "abstract-classes" pkgs) (getAttr "singleton-classes" pkgs) (getAttr "cl-algebraic-data-type" pkgs) (getAttr "cl-grnm" pkgs) (getAttr "cl-heap" pkgs) (getAttr "cl-permutation" pkgs) (getAttr "yacc" pkgs) (getAttr "closer-mop" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "global-vars" pkgs) (getAttr "magicl" pkgs) (getAttr "optima" pkgs) (getAttr "parse-float" pkgs) (getAttr "queues_dot_priority-queue" pkgs) (getAttr "salza2" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "uiop" pkgs) (getAttr "yason" pkgs) ];
+  };
+  cl-quil-benchmarking = {
+    pname = "cl-quil-benchmarking";
+    version = "v1.26.0";
+    asds = [ "cl-quil-benchmarking" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quilc/2021-12-09/quilc-v1.26.0.tgz";
+      sha256 = "09qp2d6xgq4cmg6nfsdz0gbs3rvz3ln0kawmry6cls14lxnljjrr";
+      system = "cl-quil-benchmarking";
+      asd = "cl-quil-benchmarking";
+    });
+    systems = [ "cl-quil-benchmarking" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "metering" pkgs) (getAttr "cl-quil" pkgs) (getAttr "qvm-app" pkgs) (getAttr "trivial-benchmark" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-quil-tests = {
+    pname = "cl-quil-tests";
+    version = "v1.26.0";
+    asds = [ "cl-quil-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quilc/2021-12-09/quilc-v1.26.0.tgz";
+      sha256 = "09qp2d6xgq4cmg6nfsdz0gbs3rvz3ln0kawmry6cls14lxnljjrr";
+      system = "cl-quil-tests";
+      asd = "cl-quil-tests";
+    });
+    systems = [ "cl-quil-tests" ];
+    lispLibs = [ (getAttr "alexa" pkgs) (getAttr "alexandria" pkgs) (getAttr "cl-permutation" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "yacc" pkgs) (getAttr "fiasco" pkgs) (getAttr "magicl" pkgs) (getAttr "cl-quil" pkgs) (getAttr "qvm" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-quil_slash_quilec = {
+    pname = "cl-quil_quilec";
+    version = "v1.26.0";
+    asds = [ "cl-quil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quilc/2021-12-09/quilc-v1.26.0.tgz";
+      sha256 = "09qp2d6xgq4cmg6nfsdz0gbs3rvz3ln0kawmry6cls14lxnljjrr";
+      system = "cl-quil";
+      asd = "cl-quil";
+    });
+    systems = [ "cl-quil/quilec" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "magicl" pkgs) (getAttr "cl-quil" pkgs) ];
+  };
+  cl-quil_slash_quilec-tests = {
+    pname = "cl-quil_quilec-tests";
+    version = "v1.26.0";
+    asds = [ "cl-quil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quilc/2021-12-09/quilc-v1.26.0.tgz";
+      sha256 = "09qp2d6xgq4cmg6nfsdz0gbs3rvz3ln0kawmry6cls14lxnljjrr";
+      system = "cl-quil";
+      asd = "cl-quil";
+    });
+    systems = [ "cl-quil/quilec-tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fiasco" pkgs) (getAttr "magicl" pkgs) (getAttr "cl-quil" pkgs) (getAttr "qvm" pkgs) ];
+  };
+  cl-quil_slash_quilt = {
+    pname = "cl-quil_quilt";
+    version = "v1.26.0";
+    asds = [ "cl-quil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quilc/2021-12-09/quilc-v1.26.0.tgz";
+      sha256 = "09qp2d6xgq4cmg6nfsdz0gbs3rvz3ln0kawmry6cls14lxnljjrr";
+      system = "cl-quil";
+      asd = "cl-quil";
+    });
+    systems = [ "cl-quil/quilt" ];
+    lispLibs = [ (getAttr "cl-quil" pkgs) ];
+  };
+  cl-quil_slash_quilt-tests = {
+    pname = "cl-quil_quilt-tests";
+    version = "v1.26.0";
+    asds = [ "cl-quil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quilc/2021-12-09/quilc-v1.26.0.tgz";
+      sha256 = "09qp2d6xgq4cmg6nfsdz0gbs3rvz3ln0kawmry6cls14lxnljjrr";
+      system = "cl-quil";
+      asd = "cl-quil";
+    });
+    systems = [ "cl-quil/quilt-tests" ];
+    lispLibs = [ (getAttr "cl-quil" pkgs) (getAttr "cl-quil-tests" pkgs) ];
+  };
+  cl-quil_slash_tools = {
+    pname = "cl-quil_tools";
+    version = "v1.26.0";
+    asds = [ "cl-quil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quilc/2021-12-09/quilc-v1.26.0.tgz";
+      sha256 = "09qp2d6xgq4cmg6nfsdz0gbs3rvz3ln0kawmry6cls14lxnljjrr";
+      system = "cl-quil";
+      asd = "cl-quil";
+    });
+    systems = [ "cl-quil/tools" ];
+    lispLibs = [ (getAttr "common-lisp-jupyter" pkgs) (getAttr "cl-quil" pkgs) (getAttr "swank" pkgs) ];
+  };
+  cl-quil_slash_tools-tests = {
+    pname = "cl-quil_tools-tests";
+    version = "v1.26.0";
+    asds = [ "cl-quil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quilc/2021-12-09/quilc-v1.26.0.tgz";
+      sha256 = "09qp2d6xgq4cmg6nfsdz0gbs3rvz3ln0kawmry6cls14lxnljjrr";
+      system = "cl-quil";
+      asd = "cl-quil";
+    });
+    systems = [ "cl-quil/tools-tests" ];
+    lispLibs = [ (getAttr "common-lisp-jupyter" pkgs) (getAttr "cl-quil" pkgs) (getAttr "cl-quil-tests" pkgs) (getAttr "swank" pkgs) ];
+  };
+  cl-rabbit = {
+    pname = "cl-rabbit";
+    version = "20210411-git";
+    asds = [ "cl-rabbit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rabbit/2021-04-11/cl-rabbit-20210411-git.tgz";
+      sha256 = "1q1mhqxqvxbr6ak7j0ym6mjhhq6r0pqk1l7az9hfajmqmw3xfija";
+      system = "cl-rabbit";
+      asd = "cl-rabbit";
+    });
+    systems = [ "cl-rabbit" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  cl-rabbit-tests = {
+    pname = "cl-rabbit-tests";
+    version = "20210411-git";
+    asds = [ "cl-rabbit-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rabbit/2021-04-11/cl-rabbit-20210411-git.tgz";
+      sha256 = "1q1mhqxqvxbr6ak7j0ym6mjhhq6r0pqk1l7az9hfajmqmw3xfija";
+      system = "cl-rabbit-tests";
+      asd = "cl-rabbit-tests";
+    });
+    systems = [ "cl-rabbit-tests" ];
+    lispLibs = [ (getAttr "cl-rabbit" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-randist = {
+    pname = "cl-randist";
+    version = "20201220-git";
+    asds = [ "cl-randist" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-randist/2020-12-20/cl-randist-20201220-git.tgz";
+      sha256 = "026bh4aqrfhsbfysbsgpahh8xlfn3f7j4kqf9a16yizqynlpffvc";
+      system = "cl-randist";
+      asd = "cl-randist";
+    });
+    systems = [ "cl-randist" ];
+    lispLibs = [  ];
+  };
+  cl-random = {
+    pname = "cl-random";
+    version = "20180328-git";
+    asds = [ "cl-random" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-random/2018-03-28/cl-random-20180328-git.tgz";
+      sha256 = "0jn80xphyvyp2v72acr6b8a2f6dw06myr5vrjfl14brsvks7wr89";
+      system = "cl-random";
+      asd = "cl-random";
+    });
+    systems = [ "cl-random" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "array-operations" pkgs) (getAttr "cl-num-utils" pkgs) (getAttr "cl-rmath" pkgs) (getAttr "cl-slice" pkgs) (getAttr "gsll" pkgs) (getAttr "let-plus" pkgs) (getAttr "lla" pkgs) ];
+  };
+  cl-random-forest = {
+    pname = "cl-random-forest";
+    version = "20200715-git";
+    asds = [ "cl-random-forest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-random-forest/2020-07-15/cl-random-forest-20200715-git.tgz";
+      sha256 = "0a7ld07jc14kz9vd1wzg2aw4pjv34znf5gr2zn1a39jkldn9m75z";
+      system = "cl-random-forest";
+      asd = "cl-random-forest";
+    });
+    systems = [ "cl-random-forest" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-libsvm-format" pkgs) (getAttr "cl-online-learning" pkgs) (getAttr "lparallel" pkgs) ];
+  };
+  cl-random-forest-test = {
+    pname = "cl-random-forest-test";
+    version = "20200715-git";
+    asds = [ "cl-random-forest-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-random-forest/2020-07-15/cl-random-forest-20200715-git.tgz";
+      sha256 = "0a7ld07jc14kz9vd1wzg2aw4pjv34znf5gr2zn1a39jkldn9m75z";
+      system = "cl-random-forest-test";
+      asd = "cl-random-forest-test";
+    });
+    systems = [ "cl-random-forest-test" ];
+    lispLibs = [ (getAttr "cl-random-forest" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-random-tests = {
+    pname = "cl-random-tests";
+    version = "20180328-git";
+    asds = [ "cl-random-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-random/2018-03-28/cl-random-20180328-git.tgz";
+      sha256 = "0jn80xphyvyp2v72acr6b8a2f6dw06myr5vrjfl14brsvks7wr89";
+      system = "cl-random-tests";
+      asd = "cl-random";
+    });
+    systems = [ "cl-random-tests" ];
+    lispLibs = [ (getAttr "cl-random" pkgs) (getAttr "clunit" pkgs) ];
+  };
+  cl-rdfxml = {
+    pname = "cl-rdfxml";
+    version = "20140713-git";
+    asds = [ "cl-rdfxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rdfxml/2014-07-13/cl-rdfxml-20140713-git.tgz";
+      sha256 = "09v76qg6l3y1llapnkfqrfgib67h7lpkzrdmfimwk49bi80iii8v";
+      system = "cl-rdfxml";
+      asd = "cl-rdfxml";
+    });
+    systems = [ "cl-rdfxml" ];
+    lispLibs = [ (getAttr "cxml" pkgs) (getAttr "puri" pkgs) ];
+  };
+  cl-rdkafka = {
+    pname = "cl-rdkafka";
+    version = "20201220-git";
+    asds = [ "cl-rdkafka" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rdkafka/2020-12-20/cl-rdkafka-20201220-git.tgz";
+      sha256 = "1hqgxqn3qxs2kzr1c7rrg0ixk2sxv9796wmcjmbqlnld03nikk6f";
+      system = "cl-rdkafka";
+      asd = "cl-rdkafka";
+    });
+    systems = [ "cl-rdkafka" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "lparallel" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-rdkafka_slash_test = {
+    pname = "cl-rdkafka_test";
+    version = "20201220-git";
+    asds = [ "cl-rdkafka" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rdkafka/2020-12-20/cl-rdkafka-20201220-git.tgz";
+      sha256 = "1hqgxqn3qxs2kzr1c7rrg0ixk2sxv9796wmcjmbqlnld03nikk6f";
+      system = "cl-rdkafka";
+      asd = "cl-rdkafka";
+    });
+    systems = [ "cl-rdkafka/test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "babel" pkgs) (getAttr "cl-rdkafka" pkgs) ];
+  };
+  cl-readline = {
+    pname = "cl-readline";
+    version = "20211020-git";
+    asds = [ "cl-readline" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-readline/2021-10-20/cl-readline-20211020-git.tgz";
+      sha256 = "14iskvqfw71ssaav483vmqw62lrpznysjs800gjjppxs785p1fa0";
+      system = "cl-readline";
+      asd = "cl-readline";
+    });
+    systems = [ "cl-readline" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) ];
+  };
+  cl-recaptcha = {
+    pname = "cl-recaptcha";
+    version = "20150608-git";
+    asds = [ "cl-recaptcha" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-recaptcha/2015-06-08/cl-recaptcha-20150608-git.tgz";
+      sha256 = "09qdmzbhc5hikay31mbsfd7dps72rm4gcdbbi0b6gkb6qbia6m71";
+      system = "cl-recaptcha";
+      asd = "cl-recaptcha";
+    });
+    systems = [ "cl-recaptcha" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "jsown" pkgs) ];
+  };
+  cl-redis = {
+    pname = "cl-redis";
+    version = "20200925-git";
+    asds = [ "cl-redis" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-redis/2020-09-25/cl-redis-20200925-git.tgz";
+      sha256 = "0x5ahxb5cx37biyn3cjycshhm1rr9p5cf1a9l5hd1n1xjxm2f8vi";
+      system = "cl-redis";
+      asd = "cl-redis";
+    });
+    systems = [ "cl-redis" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "rutils" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-redis-test = {
+    pname = "cl-redis-test";
+    version = "20200925-git";
+    asds = [ "cl-redis-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-redis/2020-09-25/cl-redis-20200925-git.tgz";
+      sha256 = "0x5ahxb5cx37biyn3cjycshhm1rr9p5cf1a9l5hd1n1xjxm2f8vi";
+      system = "cl-redis-test";
+      asd = "cl-redis";
+    });
+    systems = [ "cl-redis-test" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-redis" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "should-test" pkgs) ];
+  };
+  cl-reexport = {
+    pname = "cl-reexport";
+    version = "20210228-git";
+    asds = [ "cl-reexport" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-reexport/2021-02-28/cl-reexport-20210228-git.tgz";
+      sha256 = "02la6z3ickhmh2m87ymm2ijh9nkn7l6slskj99l8a1rhps394qqc";
+      system = "cl-reexport";
+      asd = "cl-reexport";
+    });
+    systems = [ "cl-reexport" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cl-reexport-test = {
+    pname = "cl-reexport-test";
+    version = "20210228-git";
+    asds = [ "cl-reexport-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-reexport/2021-02-28/cl-reexport-20210228-git.tgz";
+      sha256 = "02la6z3ickhmh2m87ymm2ijh9nkn7l6slskj99l8a1rhps394qqc";
+      system = "cl-reexport-test";
+      asd = "cl-reexport-test";
+    });
+    systems = [ "cl-reexport-test" ];
+    lispLibs = [ (getAttr "cl-reexport" pkgs) (getAttr "prove" pkgs) ];
+  };
+  cl-renderdoc = {
+    pname = "cl-renderdoc";
+    version = "20200925-git";
+    asds = [ "cl-renderdoc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-renderdoc/2020-09-25/cl-renderdoc-20200925-git.tgz";
+      sha256 = "0rrcp4y1f07x8h0ikvf5ncc3pbqj6vaciblab9qghmgdglnn7akx";
+      system = "cl-renderdoc";
+      asd = "cl-renderdoc";
+    });
+    systems = [ "cl-renderdoc" ];
+    lispLibs = [ (getAttr "cl-autowrap" pkgs) ];
+  };
+  cl-rethinkdb = {
+    pname = "cl-rethinkdb";
+    version = "20160825-git";
+    asds = [ "cl-rethinkdb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rethinkdb/2016-08-25/cl-rethinkdb-20160825-git.tgz";
+      sha256 = "0sps1p203gn7i123w96pj5ggpncmkngkfdb6zfnm5yjq544sjjf7";
+      system = "cl-rethinkdb";
+      asd = "cl-rethinkdb";
+    });
+    systems = [ "cl-rethinkdb" ];
+    lispLibs = [ (getAttr "blackbird" pkgs) (getAttr "cl-async" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-hash-util" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "event-glue" pkgs) (getAttr "fast-io" pkgs) (getAttr "jonathan" pkgs) (getAttr "local-time" pkgs) (getAttr "vom" pkgs) ];
+  };
+  cl-rethinkdb-test = {
+    pname = "cl-rethinkdb-test";
+    version = "20160825-git";
+    asds = [ "cl-rethinkdb-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rethinkdb/2016-08-25/cl-rethinkdb-20160825-git.tgz";
+      sha256 = "0sps1p203gn7i123w96pj5ggpncmkngkfdb6zfnm5yjq544sjjf7";
+      system = "cl-rethinkdb-test";
+      asd = "cl-rethinkdb-test";
+    });
+    systems = [ "cl-rethinkdb-test" ];
+    lispLibs = [ (getAttr "blackbird" pkgs) (getAttr "cl-async" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-rethinkdb" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-rfc2047 = {
+    pname = "cl-rfc2047";
+    version = "20150804-git";
+    asds = [ "cl-rfc2047" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rfc2047/2015-08-04/cl-rfc2047-20150804-git.tgz";
+      sha256 = "1kh48p5i7lmv1hcdsddlcjavhai9gi54jndnbpm9r55a6ladi8gv";
+      system = "cl-rfc2047";
+      asd = "cl-rfc2047";
+    });
+    systems = [ "cl-rfc2047" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-base64" pkgs) ];
+  };
+  cl-rfc2047-test = {
+    pname = "cl-rfc2047-test";
+    version = "20150804-git";
+    asds = [ "cl-rfc2047-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rfc2047/2015-08-04/cl-rfc2047-20150804-git.tgz";
+      sha256 = "1kh48p5i7lmv1hcdsddlcjavhai9gi54jndnbpm9r55a6ladi8gv";
+      system = "cl-rfc2047-test";
+      asd = "cl-rfc2047-test";
+    });
+    systems = [ "cl-rfc2047-test" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cl-rfc2047" pkgs) (getAttr "lift" pkgs) ];
+  };
+  cl-rfc4251 = {
+    pname = "cl-rfc4251";
+    version = "20210531-git";
+    asds = [ "cl-rfc4251" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rfc4251/2021-05-31/cl-rfc4251-20210531-git.tgz";
+      sha256 = "0n5aq88qnn19ng3av1h5npp2c43rl7zl8ccrz2rg0s2r57wvyjd3";
+      system = "cl-rfc4251";
+      asd = "cl-rfc4251";
+    });
+    systems = [ "cl-rfc4251" ];
+    lispLibs = [ (getAttr "trivial-gray-streams" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-rfc4251_dot_test = {
+    pname = "cl-rfc4251.test";
+    version = "20210531-git";
+    asds = [ "cl-rfc4251.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rfc4251/2021-05-31/cl-rfc4251-20210531-git.tgz";
+      sha256 = "0n5aq88qnn19ng3av1h5npp2c43rl7zl8ccrz2rg0s2r57wvyjd3";
+      system = "cl-rfc4251.test";
+      asd = "cl-rfc4251.test";
+    });
+    systems = [ "cl-rfc4251.test" ];
+    lispLibs = [ (getAttr "cl-rfc4251" pkgs) (getAttr "rove" pkgs) ];
+  };
+  cl-riff = {
+    pname = "cl-riff";
+    version = "20180131-git";
+    asds = [ "cl-riff" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-riff/2018-01-31/cl-riff-20180131-git.tgz";
+      sha256 = "0iz4xr8s7dx1kc8y4jmq932xdmhqi0cns308narvp158nyazygf0";
+      system = "cl-riff";
+      asd = "cl-riff";
+    });
+    systems = [ "cl-riff" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cl-rlimit = {
+    pname = "cl-rlimit";
+    version = "20150608-git";
+    asds = [ "cl-rlimit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rlimit/2015-06-08/cl-rlimit-20150608-git.tgz";
+      sha256 = "19p02r380qhs76qlcb3jp4lm4nsnpy7zch01fdiwn7l7xgxkzxh0";
+      system = "cl-rlimit";
+      asd = "cl-rlimit";
+    });
+    systems = [ "cl-rlimit" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  cl-rmath = {
+    pname = "cl-rmath";
+    version = "20180328-git";
+    asds = [ "cl-rmath" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rmath/2018-03-28/cl-rmath-20180328-git.tgz";
+      sha256 = "1ld8vbpy10paymx2hn0mcgd21i7cjhdrayln1jx0kayqxm12mmk4";
+      system = "cl-rmath";
+      asd = "cl-rmath";
+    });
+    systems = [ "cl-rmath" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-robdd = {
+    pname = "cl-robdd";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "cl-robdd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "cl-robdd";
+      asd = "cl-robdd";
+    });
+    systems = [ "cl-robdd" ];
+    lispLibs = [ (getAttr "adjuvant" pkgs) ];
+  };
+  cl-robdd-analysis = {
+    pname = "cl-robdd-analysis";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "cl-robdd-analysis" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "cl-robdd-analysis";
+      asd = "cl-robdd-analysis";
+    });
+    systems = [ "cl-robdd-analysis" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "adjuvant" pkgs) (getAttr "cl-robdd" pkgs) ];
+  };
+  cl-robdd-analysis-test = {
+    pname = "cl-robdd-analysis-test";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "cl-robdd-analysis-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "cl-robdd-analysis-test";
+      asd = "cl-robdd-analysis-test";
+    });
+    systems = [ "cl-robdd-analysis-test" ];
+    lispLibs = [ (getAttr "adjuvant" pkgs) (getAttr "cl-robdd-analysis" pkgs) (getAttr "scrutiny" pkgs) ];
+  };
+  cl-robdd-test = {
+    pname = "cl-robdd-test";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "cl-robdd-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "cl-robdd-test";
+      asd = "cl-robdd-test";
+    });
+    systems = [ "cl-robdd-test" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "adjuvant" pkgs) (getAttr "cl-robdd" pkgs) (getAttr "scrutiny" pkgs) ];
+  };
+  cl-rrd = {
+    pname = "cl-rrd";
+    version = "20130128-git";
+    asds = [ "cl-rrd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rrd/2013-01-28/cl-rrd-20130128-git.tgz";
+      sha256 = "0a7fs46q41qzi6k8q9lvxryn2m90vamcsw7vl9kcjivyckjqrsm2";
+      system = "cl-rrd";
+      asd = "cl-rrd";
+    });
+    systems = [ "cl-rrd" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-rrt = {
+    pname = "cl-rrt";
+    version = "20200925-git";
+    asds = [ "cl-rrt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rrt/2020-09-25/cl-rrt-20200925-git.tgz";
+      sha256 = "0lf1dvw5j9awy7ic1i4j5wd7657a170ywxihinmsdn4bwd4fynv0";
+      system = "cl-rrt";
+      asd = "cl-rrt";
+    });
+    systems = [ "cl-rrt" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-rrt_dot_benchmark = {
+    pname = "cl-rrt.benchmark";
+    version = "20200925-git";
+    asds = [ "cl-rrt.benchmark" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rrt/2020-09-25/cl-rrt-20200925-git.tgz";
+      sha256 = "0lf1dvw5j9awy7ic1i4j5wd7657a170ywxihinmsdn4bwd4fynv0";
+      system = "cl-rrt.benchmark";
+      asd = "cl-rrt.benchmark";
+    });
+    systems = [ "cl-rrt.benchmark" ];
+    lispLibs = [ (getAttr "cl-rrt" pkgs) (getAttr "cl-rrt_dot_rtree" pkgs) (getAttr "cl-rrt_dot_test" pkgs) (getAttr "fiveam" pkgs) (getAttr "vecto" pkgs) ];
+  };
+  cl-rrt_dot_rtree = {
+    pname = "cl-rrt.rtree";
+    version = "20200925-git";
+    asds = [ "cl-rrt.rtree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rrt/2020-09-25/cl-rrt-20200925-git.tgz";
+      sha256 = "0lf1dvw5j9awy7ic1i4j5wd7657a170ywxihinmsdn4bwd4fynv0";
+      system = "cl-rrt.rtree";
+      asd = "cl-rrt.rtree";
+    });
+    systems = [ "cl-rrt.rtree" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "cl-rrt" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "iterate" pkgs) (getAttr "spatial-trees" pkgs) (getAttr "spatial-trees_dot_nns" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  cl-rrt_dot_test = {
+    pname = "cl-rrt.test";
+    version = "20200925-git";
+    asds = [ "cl-rrt.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rrt/2020-09-25/cl-rrt-20200925-git.tgz";
+      sha256 = "0lf1dvw5j9awy7ic1i4j5wd7657a170ywxihinmsdn4bwd4fynv0";
+      system = "cl-rrt.test";
+      asd = "cl-rrt.test";
+    });
+    systems = [ "cl-rrt.test" ];
+    lispLibs = [ (getAttr "cl-rrt" pkgs) (getAttr "cl-rrt_dot_rtree" pkgs) (getAttr "fiveam" pkgs) (getAttr "vecto" pkgs) ];
+  };
+  cl-rsvg2 = {
+    pname = "cl-rsvg2";
+    version = "20200925-git";
+    asds = [ "cl-rsvg2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rsvg2/2020-09-25/cl-rsvg2-20200925-git.tgz";
+      sha256 = "1amq4q27lj0nzffvwmqrkg8v9pdcf0281zzrvxl9w6vdm9qy1v3n";
+      system = "cl-rsvg2";
+      asd = "cl-rsvg2";
+    });
+    systems = [ "cl-rsvg2" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-cairo2" pkgs) (getAttr "cl-gtk2-glib" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cl-rsvg2-pixbuf = {
+    pname = "cl-rsvg2-pixbuf";
+    version = "20200925-git";
+    asds = [ "cl-rsvg2-pixbuf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rsvg2/2020-09-25/cl-rsvg2-20200925-git.tgz";
+      sha256 = "1amq4q27lj0nzffvwmqrkg8v9pdcf0281zzrvxl9w6vdm9qy1v3n";
+      system = "cl-rsvg2-pixbuf";
+      asd = "cl-rsvg2-pixbuf";
+    });
+    systems = [ "cl-rsvg2-pixbuf" ];
+    lispLibs = [ (getAttr "cl-gtk2-gdk" pkgs) (getAttr "cl-rsvg2" pkgs) ];
+  };
+  cl-rsvg2-test = {
+    pname = "cl-rsvg2-test";
+    version = "20200925-git";
+    asds = [ "cl-rsvg2-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rsvg2/2020-09-25/cl-rsvg2-20200925-git.tgz";
+      sha256 = "1amq4q27lj0nzffvwmqrkg8v9pdcf0281zzrvxl9w6vdm9qy1v3n";
+      system = "cl-rsvg2-test";
+      asd = "cl-rsvg2-test";
+    });
+    systems = [ "cl-rsvg2-test" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-rsvg2" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-rules = {
+    pname = "cl-rules";
+    version = "20190710-git";
+    asds = [ "cl-rules" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rules/2019-07-10/cl-rules-20190710-git.tgz";
+      sha256 = "0jidck62n0jkfqwrpqjn43zmjb3jlfaxxhn2lsyfwy2740i8ppr1";
+      system = "cl-rules";
+      asd = "cl-rules";
+    });
+    systems = [ "cl-rules" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-yaml" pkgs) ];
+  };
+  cl-rules-test = {
+    pname = "cl-rules-test";
+    version = "20190710-git";
+    asds = [ "cl-rules-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rules/2019-07-10/cl-rules-20190710-git.tgz";
+      sha256 = "0jidck62n0jkfqwrpqjn43zmjb3jlfaxxhn2lsyfwy2740i8ppr1";
+      system = "cl-rules-test";
+      asd = "cl-rules-test";
+    });
+    systems = [ "cl-rules-test" ];
+    lispLibs = [ (getAttr "cl-rules" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-s3 = {
+    pname = "cl-s3";
+    version = "20130128-git";
+    asds = [ "cl-s3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-s3/2013-01-28/cl-s3-20130128-git.tgz";
+      sha256 = "1lbvf7phkm5vjk013p484rh4vh33i58jlqq3z4cv2yxqcw6r639d";
+      system = "cl-s3";
+      asd = "cl-s3";
+    });
+    systems = [ "cl-s3" ];
+    lispLibs = [ (getAttr "ironclad" pkgs) (getAttr "s-base64" pkgs) (getAttr "s-http-client" pkgs) (getAttr "s-utils" pkgs) (getAttr "s-xml" pkgs) ];
+  };
+  cl-sam = {
+    pname = "cl-sam";
+    version = "20150608-git";
+    asds = [ "cl-sam" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sam/2015-06-08/cl-sam-20150608-git.tgz";
+      sha256 = "0frrxz70jin4sa5n087zm4ikckf1zdjqqpjq3llrv46753c62fc6";
+      system = "cl-sam";
+      asd = "cl-sam";
+    });
+    systems = [ "cl-sam" ];
+    lispLibs = [ (getAttr "deoxybyte-gzip" pkgs) (getAttr "deoxybyte-systems" pkgs) (getAttr "deoxybyte-unix" pkgs) ];
+  };
+  cl-sam-test = {
+    pname = "cl-sam-test";
+    version = "20150608-git";
+    asds = [ "cl-sam-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sam/2015-06-08/cl-sam-20150608-git.tgz";
+      sha256 = "0frrxz70jin4sa5n087zm4ikckf1zdjqqpjq3llrv46753c62fc6";
+      system = "cl-sam-test";
+      asd = "cl-sam-test";
+    });
+    systems = [ "cl-sam-test" ];
+    lispLibs = [ (getAttr "cl-sam" pkgs) (getAttr "deoxybyte-io" pkgs) (getAttr "lift" pkgs) ];
+  };
+  cl-sandbox = {
+    pname = "cl-sandbox";
+    version = "20180131-git";
+    asds = [ "cl-sandbox" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sandbox/2018-01-31/cl-sandbox-20180131-git.tgz";
+      sha256 = "053zxy3zi5jvlbg8zxlf922sxb32mq34zvwfhgpj4rcmgvgmqnxv";
+      system = "cl-sandbox";
+      asd = "cl-sandbox";
+    });
+    systems = [ "cl-sandbox" ];
+    lispLibs = [  ];
+  };
+  cl-sandbox_slash_tests = {
+    pname = "cl-sandbox_tests";
+    version = "20180131-git";
+    asds = [ "cl-sandbox" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sandbox/2018-01-31/cl-sandbox-20180131-git.tgz";
+      sha256 = "053zxy3zi5jvlbg8zxlf922sxb32mq34zvwfhgpj4rcmgvgmqnxv";
+      system = "cl-sandbox";
+      asd = "cl-sandbox";
+    });
+    systems = [ "cl-sandbox/tests" ];
+    lispLibs = [ (getAttr "cl-sandbox" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-sasl = {
+    pname = "cl-sasl";
+    version = "v0.3.2";
+    asds = [ "cl-sasl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sasl/2019-05-21/cl-sasl-v0.3.2.tgz";
+      sha256 = "0a05q8rls2hn46rbbk6w5km9kqvhsj365zlw6hp32724xy2nd98w";
+      system = "cl-sasl";
+      asd = "cl-sasl";
+    });
+    systems = [ "cl-sasl" ];
+    lispLibs = [ (getAttr "ironclad" pkgs) ];
+  };
+  cl-sat = {
+    pname = "cl-sat";
+    version = "20200715-git";
+    asds = [ "cl-sat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sat/2020-07-15/cl-sat-20200715-git.tgz";
+      sha256 = "0gqckfzidkhgpgljf67qr80kyh2q79z29jaylpw8f8f7k29y55sr";
+      system = "cl-sat";
+      asd = "cl-sat";
+    });
+    systems = [ "cl-sat" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  cl-sat_dot_glucose = {
+    pname = "cl-sat.glucose";
+    version = "20210124-git";
+    asds = [ "cl-sat.glucose" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sat.glucose/2021-01-24/cl-sat.glucose-20210124-git.tgz";
+      sha256 = "0pszh9nkg6g2sq5kfkmav6xg74rrjap2k1da9skrq4wb39ppdlg3";
+      system = "cl-sat.glucose";
+      asd = "cl-sat.glucose";
+    });
+    systems = [ "cl-sat.glucose" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-sat" pkgs) (getAttr "iterate" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-package-manager" pkgs) ];
+  };
+  cl-sat_dot_glucose_dot_test = {
+    pname = "cl-sat.glucose.test";
+    version = "20210124-git";
+    asds = [ "cl-sat.glucose.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sat.glucose/2021-01-24/cl-sat.glucose-20210124-git.tgz";
+      sha256 = "0pszh9nkg6g2sq5kfkmav6xg74rrjap2k1da9skrq4wb39ppdlg3";
+      system = "cl-sat.glucose.test";
+      asd = "cl-sat.glucose.test";
+    });
+    systems = [ "cl-sat.glucose.test" ];
+    lispLibs = [ (getAttr "cl-sat_dot_glucose" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-sat_dot_minisat = {
+    pname = "cl-sat.minisat";
+    version = "20190813-git";
+    asds = [ "cl-sat.minisat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sat.minisat/2019-08-13/cl-sat.minisat-20190813-git.tgz";
+      sha256 = "1jwlq2d6b1l1cdb3y12j5vm1yxzhvwjvlxvpdyjpy8b1wf21gqar";
+      system = "cl-sat.minisat";
+      asd = "cl-sat.minisat";
+    });
+    systems = [ "cl-sat.minisat" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-sat" pkgs) (getAttr "iterate" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-package-manager" pkgs) ];
+  };
+  cl-sat_dot_minisat_dot_test = {
+    pname = "cl-sat.minisat.test";
+    version = "20190813-git";
+    asds = [ "cl-sat.minisat.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sat.minisat/2019-08-13/cl-sat.minisat-20190813-git.tgz";
+      sha256 = "1jwlq2d6b1l1cdb3y12j5vm1yxzhvwjvlxvpdyjpy8b1wf21gqar";
+      system = "cl-sat.minisat.test";
+      asd = "cl-sat.minisat.test";
+    });
+    systems = [ "cl-sat.minisat.test" ];
+    lispLibs = [ (getAttr "cl-sat_dot_minisat" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-sat_dot_test = {
+    pname = "cl-sat.test";
+    version = "20200715-git";
+    asds = [ "cl-sat.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sat/2020-07-15/cl-sat-20200715-git.tgz";
+      sha256 = "0gqckfzidkhgpgljf67qr80kyh2q79z29jaylpw8f8f7k29y55sr";
+      system = "cl-sat.test";
+      asd = "cl-sat.test";
+    });
+    systems = [ "cl-sat.test" ];
+    lispLibs = [ (getAttr "cl-sat" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-schedule = {
+    pname = "cl-schedule";
+    version = "20211020-git";
+    asds = [ "cl-schedule" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-schedule/2021-10-20/cl-schedule-20211020-git.tgz";
+      sha256 = "154g2r7hch6s1bgy8k23wdrjm7300g8j88g3702n50a5kl7rj16a";
+      system = "cl-schedule";
+      asd = "cl-schedule";
+    });
+    systems = [ "cl-schedule" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "local-time" pkgs) (getAttr "trivial-timers" pkgs) ];
+  };
+  cl-schedule-test = {
+    pname = "cl-schedule-test";
+    version = "20211020-git";
+    asds = [ "cl-schedule-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-schedule/2021-10-20/cl-schedule-20211020-git.tgz";
+      sha256 = "154g2r7hch6s1bgy8k23wdrjm7300g8j88g3702n50a5kl7rj16a";
+      system = "cl-schedule-test";
+      asd = "cl-schedule";
+    });
+    systems = [ "cl-schedule-test" ];
+    lispLibs = [ (getAttr "cl-schedule" pkgs) ];
+  };
+  cl-scram = {
+    pname = "cl-scram";
+    version = "20150923-git";
+    asds = [ "cl-scram" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-scram/2015-09-23/cl-scram-20150923-git.tgz";
+      sha256 = "1absr9h9z79f1fbs4g33y2rc9jsqjs7vd2l5sl8dvqq4fyx8v6g0";
+      system = "cl-scram";
+      asd = "cl-scram";
+    });
+    systems = [ "cl-scram" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "cl-sasl" pkgs) (getAttr "ironclad" pkgs) (getAttr "secure-random" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-scribd = {
+    pname = "cl-scribd";
+    version = "20130312-git";
+    asds = [ "cl-scribd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-scribd/2013-03-12/cl-scribd-20130312-git.tgz";
+      sha256 = "0r4ah3f1ndi66bm1mir3ldl31sfbmav0kdfpb16f1n9931452mry";
+      system = "cl-scribd";
+      asd = "cl-scribd";
+    });
+    systems = [ "cl-scribd" ];
+    lispLibs = [ (getAttr "cxml" pkgs) (getAttr "drakma" pkgs) (getAttr "ironclad" pkgs) ];
+  };
+  cl-scripting = {
+    pname = "cl-scripting";
+    version = "20211020-git";
+    asds = [ "cl-scripting" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-scripting/2021-10-20/cl-scripting-20211020-git.tgz";
+      sha256 = "1xi8klkn4fhmcrnhxzxvl0rj68dc7az6l2hc10560g9jvblcmmpp";
+      system = "cl-scripting";
+      asd = "cl-scripting";
+    });
+    systems = [ "cl-scripting" ];
+    lispLibs = [ (getAttr "cl-launch" pkgs) (getAttr "fare-utils" pkgs) ];
+  };
+  cl-scripting_slash_test = {
+    pname = "cl-scripting_test";
+    version = "20211020-git";
+    asds = [ "cl-scripting" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-scripting/2021-10-20/cl-scripting-20211020-git.tgz";
+      sha256 = "1xi8klkn4fhmcrnhxzxvl0rj68dc7az6l2hc10560g9jvblcmmpp";
+      system = "cl-scripting";
+      asd = "cl-scripting";
+    });
+    systems = [ "cl-scripting/test" ];
+    lispLibs = [  ];
+  };
+  cl-scrobbler = {
+    pname = "cl-scrobbler";
+    version = "20111105-git";
+    asds = [ "cl-scrobbler" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-scrobbler/2011-11-05/cl-scrobbler-20111105-git.tgz";
+      sha256 = "0cd0zfmhxf5chcg7hncavfjr8m06cjbiyqylk76z8mprdsv1n062";
+      system = "cl-scrobbler";
+      asd = "cl-scrobbler";
+    });
+    systems = [ "cl-scrobbler" ];
+    lispLibs = [ (getAttr "arnesi" pkgs) (getAttr "cl-store" pkgs) (getAttr "drakma" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "md5" pkgs) (getAttr "st-json" pkgs) ];
+  };
+  cl-scrobbler-tests = {
+    pname = "cl-scrobbler-tests";
+    version = "20111105-git";
+    asds = [ "cl-scrobbler-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-scrobbler/2011-11-05/cl-scrobbler-20111105-git.tgz";
+      sha256 = "0cd0zfmhxf5chcg7hncavfjr8m06cjbiyqylk76z8mprdsv1n062";
+      system = "cl-scrobbler-tests";
+      asd = "cl-scrobbler";
+    });
+    systems = [ "cl-scrobbler-tests" ];
+    lispLibs = [ (getAttr "cl-scrobbler" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-scsu = {
+    pname = "cl-scsu";
+    version = "20200325-git";
+    asds = [ "cl-scsu" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-scsu/2020-03-25/cl-scsu-20200325-git.tgz";
+      sha256 = "0lq3g4c10vgczlaxm4irjgnki3691m34gnav089kynl4n4gc2wdl";
+      system = "cl-scsu";
+      asd = "cl-scsu";
+    });
+    systems = [ "cl-scsu" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cl-scsu-test = {
+    pname = "cl-scsu-test";
+    version = "20200325-git";
+    asds = [ "cl-scsu-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-scsu/2020-03-25/cl-scsu-20200325-git.tgz";
+      sha256 = "0lq3g4c10vgczlaxm4irjgnki3691m34gnav089kynl4n4gc2wdl";
+      system = "cl-scsu-test";
+      asd = "cl-scsu-test";
+    });
+    systems = [ "cl-scsu-test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "alexandria" pkgs) (getAttr "cl-scsu" pkgs) ];
+  };
+  cl-selenium = {
+    pname = "cl-selenium";
+    version = "20180328-git";
+    asds = [ "cl-selenium" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-selenium-webdriver/2018-03-28/cl-selenium-webdriver-20180328-git.tgz";
+      sha256 = "0216vqg1ax5gcqahclii7ifqpc92rbi86rfcf1qn8bdahmfjccbb";
+      system = "cl-selenium";
+      asd = "cl-selenium";
+    });
+    systems = [ "cl-selenium" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-json" pkgs) (getAttr "dexador" pkgs) (getAttr "quri" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-selenium-test = {
+    pname = "cl-selenium-test";
+    version = "20180328-git";
+    asds = [ "cl-selenium-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-selenium-webdriver/2018-03-28/cl-selenium-webdriver-20180328-git.tgz";
+      sha256 = "0216vqg1ax5gcqahclii7ifqpc92rbi86rfcf1qn8bdahmfjccbb";
+      system = "cl-selenium-test";
+      asd = "cl-selenium-test";
+    });
+    systems = [ "cl-selenium-test" ];
+    lispLibs = [ (getAttr "cl-selenium" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-semver = {
+    pname = "cl-semver";
+    version = "20201220-git";
+    asds = [ "cl-semver" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-semver/2020-12-20/cl-semver-20201220-git.tgz";
+      sha256 = "09pndxk8fc6h409ygnac4s6qi48apkslv1xx7ifq07dmf2zj08vn";
+      system = "cl-semver";
+      asd = "cl-semver";
+    });
+    systems = [ "cl-semver" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "esrap" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  cl-semver-test = {
+    pname = "cl-semver-test";
+    version = "20201220-git";
+    asds = [ "cl-semver-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-semver/2020-12-20/cl-semver-20201220-git.tgz";
+      sha256 = "09pndxk8fc6h409ygnac4s6qi48apkslv1xx7ifq07dmf2zj08vn";
+      system = "cl-semver-test";
+      asd = "cl-semver-test";
+    });
+    systems = [ "cl-semver-test" ];
+    lispLibs = [ (getAttr "cl-semver" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  cl-sentiment = {
+    pname = "cl-sentiment";
+    version = "20130128-git";
+    asds = [ "cl-sentiment" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sentiment/2013-01-28/cl-sentiment-20130128-git.tgz";
+      sha256 = "18jx6ivbzcg9bsmp1pmlqvzr4kfxzll75b4viz1hrkq78nsnpp5v";
+      system = "cl-sentiment";
+      asd = "cl-sentiment";
+    });
+    systems = [ "cl-sentiment" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "rt" pkgs) ];
+  };
+  cl-ses4 = {
+    pname = "cl-ses4";
+    version = "20211020-git";
+    asds = [ "cl-ses4" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ses4/2021-10-20/cl-ses4-20211020-git.tgz";
+      sha256 = "1avz8kwqgl472vad7vjx87rbafmrnfjp387rhrn7gkbfhw2nv2r2";
+      system = "cl-ses4";
+      asd = "cl-ses4";
+    });
+    systems = [ "cl-ses4" ];
+    lispLibs = [ (getAttr "arrow-macros" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "dexador" pkgs) (getAttr "ironclad" pkgs) (getAttr "local-time" pkgs) (getAttr "quickapp" pkgs) (getAttr "quri" pkgs) ];
+  };
+  cl-ses4_slash_test = {
+    pname = "cl-ses4_test";
+    version = "20211020-git";
+    asds = [ "cl-ses4" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ses4/2021-10-20/cl-ses4-20211020-git.tgz";
+      sha256 = "1avz8kwqgl472vad7vjx87rbafmrnfjp387rhrn7gkbfhw2nv2r2";
+      system = "cl-ses4";
+      asd = "cl-ses4";
+    });
+    systems = [ "cl-ses4/test" ];
+    lispLibs = [ (getAttr "cl-ses4" pkgs) (getAttr "fiveam" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-setlocale = {
+    pname = "cl-setlocale";
+    version = "20201220-git";
+    asds = [ "cl-setlocale" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-setlocale/2020-12-20/cl-setlocale-20201220-git.tgz";
+      sha256 = "0g1b89yj6n42ayf2074krk3h9yvglqxn54a6i3sxgpsqww2ll2a1";
+      system = "cl-setlocale";
+      asd = "cl-setlocale";
+    });
+    systems = [ "cl-setlocale" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  cl-setlocale_slash_tests = {
+    pname = "cl-setlocale_tests";
+    version = "20201220-git";
+    asds = [ "cl-setlocale" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-setlocale/2020-12-20/cl-setlocale-20201220-git.tgz";
+      sha256 = "0g1b89yj6n42ayf2074krk3h9yvglqxn54a6i3sxgpsqww2ll2a1";
+      system = "cl-setlocale";
+      asd = "cl-setlocale";
+    });
+    systems = [ "cl-setlocale/tests" ];
+    lispLibs = [ (getAttr "cl-setlocale" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-sha1 = {
+    pname = "cl-sha1";
+    version = "20210807-git";
+    asds = [ "cl-sha1" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sha1/2021-08-07/cl-sha1-20210807-git.tgz";
+      sha256 = "16hczcr7ghah0p9fi29ddrw5c4zbb2d4765iigfx7yrgk5z5jb8p";
+      system = "cl-sha1";
+      asd = "cl-sha1";
+    });
+    systems = [ "cl-sha1" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) ];
+  };
+  cl-shellwords = {
+    pname = "cl-shellwords";
+    version = "20150923-git";
+    asds = [ "cl-shellwords" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-shellwords/2015-09-23/cl-shellwords-20150923-git.tgz";
+      sha256 = "0im8cni1ig5zaha9gbmma7zk1xxa4xajvzfgalvl2f0fhvksl4pn";
+      system = "cl-shellwords";
+      asd = "cl-shellwords";
+    });
+    systems = [ "cl-shellwords" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  cl-shellwords-test = {
+    pname = "cl-shellwords-test";
+    version = "20150923-git";
+    asds = [ "cl-shellwords-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-shellwords/2015-09-23/cl-shellwords-20150923-git.tgz";
+      sha256 = "0im8cni1ig5zaha9gbmma7zk1xxa4xajvzfgalvl2f0fhvksl4pn";
+      system = "cl-shellwords-test";
+      asd = "cl-shellwords-test";
+    });
+    systems = [ "cl-shellwords-test" ];
+    lispLibs = [ (getAttr "cl-shellwords" pkgs) (getAttr "prove" pkgs) ];
+  };
+  cl-simple-concurrent-jobs = {
+    pname = "cl-simple-concurrent-jobs";
+    version = "20150505-git";
+    asds = [ "cl-simple-concurrent-jobs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-simple-concurrent-jobs/2015-05-05/cl-simple-concurrent-jobs-20150505-git.tgz";
+      sha256 = "0mv7svsil58h8v8kq9965bpbradmhfpyrmi61dbzp5mbw8c5mrwj";
+      system = "cl-simple-concurrent-jobs";
+      asd = "cl-simple-concurrent-jobs";
+    });
+    systems = [ "cl-simple-concurrent-jobs" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "chanl" pkgs) ];
+  };
+  cl-simple-table = {
+    pname = "cl-simple-table";
+    version = "20130312-git";
+    asds = [ "cl-simple-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-simple-table/2013-03-12/cl-simple-table-20130312-git.tgz";
+      sha256 = "1pnczi5hbqlyxxvzlpy6vc58qc9hh9mdm5rgq304bp3v2qajh0b7";
+      system = "cl-simple-table";
+      asd = "cl-simple-table";
+    });
+    systems = [ "cl-simple-table" ];
+    lispLibs = [  ];
+  };
+  cl-singleton-mixin = {
+    pname = "cl-singleton-mixin";
+    version = "20150505-git";
+    asds = [ "cl-singleton-mixin" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-singleton-mixin/2015-05-05/cl-singleton-mixin-20150505-git.tgz";
+      sha256 = "10dvwzx1kw9ac163i6sc8yfg3hpkn0dlq4hf6qipb46b4mcib01s";
+      system = "cl-singleton-mixin";
+      asd = "cl-singleton-mixin";
+    });
+    systems = [ "cl-singleton-mixin" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "metap" pkgs) ];
+  };
+  cl-singleton-mixin-test = {
+    pname = "cl-singleton-mixin-test";
+    version = "20150505-git";
+    asds = [ "cl-singleton-mixin-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-singleton-mixin/2015-05-05/cl-singleton-mixin-20150505-git.tgz";
+      sha256 = "10dvwzx1kw9ac163i6sc8yfg3hpkn0dlq4hf6qipb46b4mcib01s";
+      system = "cl-singleton-mixin-test";
+      asd = "cl-singleton-mixin-test";
+    });
+    systems = [ "cl-singleton-mixin-test" ];
+    lispLibs = [ (getAttr "cl-singleton-mixin" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-skip-list = {
+    pname = "cl-skip-list";
+    version = "20130615-git";
+    asds = [ "cl-skip-list" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-skip-list/2013-06-15/cl-skip-list-20130615-git.tgz";
+      sha256 = "1d9gim924gwrcyc7bi25qndv3abqwjfr6km59aq0bzmj9csr18bj";
+      system = "cl-skip-list";
+      asd = "cl-skip-list";
+    });
+    systems = [ "cl-skip-list" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-skkserv = {
+    pname = "cl-skkserv";
+    version = "20201220-git";
+    asds = [ "cl-skkserv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-skkserv/2020-12-20/cl-skkserv-20201220-git.tgz";
+      sha256 = "1khbfsvf70dyrrkbwcblzd6bkgx1z6k9ras57inmv2lqqr93m5l4";
+      system = "cl-skkserv";
+      asd = "cl-skkserv";
+    });
+    systems = [ "cl-skkserv" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "esrap" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "jp-numeral" pkgs) (getAttr "named-readtables" pkgs) (getAttr "papyrus" pkgs) (getAttr "yason" pkgs) ];
+  };
+  cl-skkserv_slash_cli = {
+    pname = "cl-skkserv_cli";
+    version = "20201220-git";
+    asds = [ "cl-skkserv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-skkserv/2020-12-20/cl-skkserv-20201220-git.tgz";
+      sha256 = "1khbfsvf70dyrrkbwcblzd6bkgx1z6k9ras57inmv2lqqr93m5l4";
+      system = "cl-skkserv";
+      asd = "cl-skkserv";
+    });
+    systems = [ "cl-skkserv/cli" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-skkserv" pkgs) (getAttr "daemon" pkgs) (getAttr "unix-opts" pkgs) (getAttr "usocket" pkgs) (getAttr "usocket-server" pkgs) ];
+  };
+  cl-skkserv_slash_core = {
+    pname = "cl-skkserv_core";
+    version = "20201220-git";
+    asds = [ "cl-skkserv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-skkserv/2020-12-20/cl-skkserv-20201220-git.tgz";
+      sha256 = "1khbfsvf70dyrrkbwcblzd6bkgx1z6k9ras57inmv2lqqr93m5l4";
+      system = "cl-skkserv";
+      asd = "cl-skkserv";
+    });
+    systems = [ "cl-skkserv/core" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "esrap" pkgs) (getAttr "named-readtables" pkgs) (getAttr "papyrus" pkgs) ];
+  };
+  cl-skkserv_slash_google-ime = {
+    pname = "cl-skkserv_google-ime";
+    version = "20201220-git";
+    asds = [ "cl-skkserv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-skkserv/2020-12-20/cl-skkserv-20201220-git.tgz";
+      sha256 = "1khbfsvf70dyrrkbwcblzd6bkgx1z6k9ras57inmv2lqqr93m5l4";
+      system = "cl-skkserv";
+      asd = "cl-skkserv";
+    });
+    systems = [ "cl-skkserv/google-ime" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "drakma" pkgs) (getAttr "esrap" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "named-readtables" pkgs) (getAttr "papyrus" pkgs) (getAttr "yason" pkgs) ];
+  };
+  cl-skkserv_slash_mixed = {
+    pname = "cl-skkserv_mixed";
+    version = "20201220-git";
+    asds = [ "cl-skkserv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-skkserv/2020-12-20/cl-skkserv-20201220-git.tgz";
+      sha256 = "1khbfsvf70dyrrkbwcblzd6bkgx1z6k9ras57inmv2lqqr93m5l4";
+      system = "cl-skkserv";
+      asd = "cl-skkserv";
+    });
+    systems = [ "cl-skkserv/mixed" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "esrap" pkgs) (getAttr "named-readtables" pkgs) (getAttr "papyrus" pkgs) ];
+  };
+  cl-skkserv_slash_skk = {
+    pname = "cl-skkserv_skk";
+    version = "20201220-git";
+    asds = [ "cl-skkserv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-skkserv/2020-12-20/cl-skkserv-20201220-git.tgz";
+      sha256 = "1khbfsvf70dyrrkbwcblzd6bkgx1z6k9ras57inmv2lqqr93m5l4";
+      system = "cl-skkserv";
+      asd = "cl-skkserv";
+    });
+    systems = [ "cl-skkserv/skk" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "esrap" pkgs) (getAttr "jp-numeral" pkgs) (getAttr "named-readtables" pkgs) (getAttr "papyrus" pkgs) ];
+  };
+  cl-skkserv_slash_tests = {
+    pname = "cl-skkserv_tests";
+    version = "20201220-git";
+    asds = [ "cl-skkserv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-skkserv/2020-12-20/cl-skkserv-20201220-git.tgz";
+      sha256 = "1khbfsvf70dyrrkbwcblzd6bkgx1z6k9ras57inmv2lqqr93m5l4";
+      system = "cl-skkserv";
+      asd = "cl-skkserv";
+    });
+    systems = [ "cl-skkserv/tests" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "cl-skkserv" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  cl-slice = {
+    pname = "cl-slice";
+    version = "20210531-git";
+    asds = [ "cl-slice" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-slice/2021-05-31/cl-slice-20210531-git.tgz";
+      sha256 = "1ybznf4y5lda6bn163jcvj281qzhm24dfcwhbgxmm5n6f27gdccl";
+      system = "cl-slice";
+      asd = "cl-slice";
+    });
+    systems = [ "cl-slice" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  cl-slice-tests = {
+    pname = "cl-slice-tests";
+    version = "20210531-git";
+    asds = [ "cl-slice-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-slice/2021-05-31/cl-slice-20210531-git.tgz";
+      sha256 = "1ybznf4y5lda6bn163jcvj281qzhm24dfcwhbgxmm5n6f27gdccl";
+      system = "cl-slice-tests";
+      asd = "cl-slice";
+    });
+    systems = [ "cl-slice-tests" ];
+    lispLibs = [ (getAttr "cl-slice" pkgs) (getAttr "clunit" pkgs) ];
+  };
+  cl-slp = {
+    pname = "cl-slp";
+    version = "20140826-git";
+    asds = [ "cl-slp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-slp/2014-08-26/cl-slp-20140826-git.tgz";
+      sha256 = "10wfrw6r6w646lzx0nasnfvjpy63icxl8qm4888dpcjc57y1cd1w";
+      system = "cl-slp";
+      asd = "cl-slp";
+    });
+    systems = [ "cl-slp" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-slug = {
+    pname = "cl-slug";
+    version = "20180228-git";
+    asds = [ "cl-slug" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-slug/2018-02-28/cl-slug-20180228-git.tgz";
+      sha256 = "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx";
+      system = "cl-slug";
+      asd = "cl-slug";
+    });
+    systems = [ "cl-slug" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  cl-slug-test = {
+    pname = "cl-slug-test";
+    version = "20180228-git";
+    asds = [ "cl-slug-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-slug/2018-02-28/cl-slug-20180228-git.tgz";
+      sha256 = "1asdq6xllmsvfw5fky9wblqcx9isac9jrrlkfl7vyxcq1wxrnflx";
+      system = "cl-slug-test";
+      asd = "cl-slug-test";
+    });
+    systems = [ "cl-slug-test" ];
+    lispLibs = [ (getAttr "cl-slug" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-smt-lib = {
+    pname = "cl-smt-lib";
+    version = "20211020-git";
+    asds = [ "cl-smt-lib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-smt-lib/2021-10-20/cl-smt-lib-20211020-git.tgz";
+      sha256 = "1rbyz2h9lp9fzzzvc4pqh9l0fjv4ywqyffcb4b57ybb00gzhwpzn";
+      system = "cl-smt-lib";
+      asd = "cl-smt-lib";
+    });
+    systems = [ "cl-smt-lib" ];
+    lispLibs = [ (getAttr "asdf-package-system" pkgs) (getAttr "named-readtables" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cl-smtp = {
+    pname = "cl-smtp";
+    version = "20210228-git";
+    asds = [ "cl-smtp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-smtp/2021-02-28/cl-smtp-20210228-git.tgz";
+      sha256 = "0vjjfapcrdc5671jz2d24h8zvpz7skq1x6pi9fvw6ls5sgms6fr0";
+      system = "cl-smtp";
+      asd = "cl-smtp";
+    });
+    systems = [ "cl-smtp" ];
+    lispLibs = [ (getAttr "cl_plus_ssl" pkgs) (getAttr "cl-base64" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-soil = {
+    pname = "cl-soil";
+    version = "release-quicklisp-f27087ce-git";
+    asds = [ "cl-soil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-soil/2018-08-31/cl-soil-release-quicklisp-f27087ce-git.tgz";
+      sha256 = "0mnz5yaw3kc14ja9g4j7dxh96kd82ifj25gy0dil7kqjd08lwcq9";
+      system = "cl-soil";
+      asd = "cl-soil";
+    });
+    systems = [ "cl-soil" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "documentation-utils" pkgs) ];
+  };
+  cl-soloud = {
+    pname = "cl-soloud";
+    version = "20190710-git";
+    asds = [ "cl-soloud" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-soloud/2019-07-10/cl-soloud-20190710-git.tgz";
+      sha256 = "1scdnhf052sa77zd4f250mxdqjjny2jcigwhgccrp1gldcs0ks37";
+      system = "cl-soloud";
+      asd = "cl-soloud";
+    });
+    systems = [ "cl-soloud" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-mpg123" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-indent" pkgs) ];
+  };
+  cl-sophia = {
+    pname = "cl-sophia";
+    version = "20150608-git";
+    asds = [ "cl-sophia" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sophia/2015-06-08/cl-sophia-20150608-git.tgz";
+      sha256 = "1x027mr7lg5fs0d82n5mshnd19kan76y3zb9yxbcnq222l4j8j00";
+      system = "cl-sophia";
+      asd = "cl-sophia";
+    });
+    systems = [ "cl-sophia" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-fad" pkgs) ];
+  };
+  cl-sophia-test = {
+    pname = "cl-sophia-test";
+    version = "20150608-git";
+    asds = [ "cl-sophia-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sophia/2015-06-08/cl-sophia-20150608-git.tgz";
+      sha256 = "1x027mr7lg5fs0d82n5mshnd19kan76y3zb9yxbcnq222l4j8j00";
+      system = "cl-sophia-test";
+      asd = "cl-sophia";
+    });
+    systems = [ "cl-sophia-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-sophia" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  cl-spark = {
+    pname = "cl-spark";
+    version = "20150709-git";
+    asds = [ "cl-spark" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-spark/2015-07-09/cl-spark-20150709-git.tgz";
+      sha256 = "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk";
+      system = "cl-spark";
+      asd = "cl-spark";
+    });
+    systems = [ "cl-spark" ];
+    lispLibs = [  ];
+  };
+  cl-spark-test = {
+    pname = "cl-spark-test";
+    version = "20150709-git";
+    asds = [ "cl-spark-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-spark/2015-07-09/cl-spark-20150709-git.tgz";
+      sha256 = "0my1fsgi2rjaqkpk934f2bjy63pmnj7faza3fzvnk6k3l66y19nk";
+      system = "cl-spark-test";
+      asd = "cl-spark-test";
+    });
+    systems = [ "cl-spark-test" ];
+    lispLibs = [ (getAttr "cl-spark" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-sparql = {
+    pname = "cl-sparql";
+    version = "20211209-git";
+    asds = [ "cl-sparql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sparql/2021-12-09/cl-sparql-20211209-git.tgz";
+      sha256 = "1fkc5n9ksdd6d8a1wyjvif4w105hx0gcqzdly58xlxvii8gj186n";
+      system = "cl-sparql";
+      asd = "cl-sparql";
+    });
+    systems = [ "cl-sparql" ];
+    lispLibs = [ (getAttr "parser-combinators" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "puri" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-sparql-tests = {
+    pname = "cl-sparql-tests";
+    version = "20211209-git";
+    asds = [ "cl-sparql-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sparql/2021-12-09/cl-sparql-20211209-git.tgz";
+      sha256 = "1fkc5n9ksdd6d8a1wyjvif4w105hx0gcqzdly58xlxvii8gj186n";
+      system = "cl-sparql-tests";
+      asd = "cl-sparql-tests";
+    });
+    systems = [ "cl-sparql-tests" ];
+    lispLibs = [ (getAttr "cl-sparql" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-speedy-queue = {
+    pname = "cl-speedy-queue";
+    version = "20150302-git";
+    asds = [ "cl-speedy-queue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-speedy-queue/2015-03-02/cl-speedy-queue-20150302-git.tgz";
+      sha256 = "0czhnvxn9lvbjz9h1lb7y18nqrsq3drq5icd3lqdaa07362alriq";
+      system = "cl-speedy-queue";
+      asd = "cl-speedy-queue";
+    });
+    systems = [ "cl-speedy-queue" ];
+    lispLibs = [  ];
+  };
+  cl-spidev = {
+    pname = "cl-spidev";
+    version = "20190710-git";
+    asds = [ "cl-spidev" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-spidev/2019-07-10/cl-spidev-20190710-git.tgz";
+      sha256 = "1kif1ygpm7z7bymg86h305171vnp5jsqyq4dz8h3fbi1rzjnqfcy";
+      system = "cl-spidev";
+      asd = "cl-spidev";
+    });
+    systems = [ "cl-spidev" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-splicing-macro = {
+    pname = "cl-splicing-macro";
+    version = "20140713-git";
+    asds = [ "cl-splicing-macro" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-splicing-macro/2014-07-13/cl-splicing-macro-20140713-git.tgz";
+      sha256 = "1hsmr6fv3s3k6ds41g3kg60naj1mgsy6hbc0r2jwzhmfmcmv4d73";
+      system = "cl-splicing-macro";
+      asd = "cl-splicing-macro";
+    });
+    systems = [ "cl-splicing-macro" ];
+    lispLibs = [  ];
+  };
+  cl-ssdb = {
+    pname = "cl-ssdb";
+    version = "20210124-git";
+    asds = [ "cl-ssdb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ssdb/2021-01-24/cl-ssdb-20210124-git.tgz";
+      sha256 = "05l0wg4a1kxgggmg1nalq811by76lja0gpa2c4i999h74bf4n3dc";
+      system = "cl-ssdb";
+      asd = "cl-ssdb";
+    });
+    systems = [ "cl-ssdb" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "parse-number" pkgs) (getAttr "rutils" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-ssdb-test = {
+    pname = "cl-ssdb-test";
+    version = "20210124-git";
+    asds = [ "cl-ssdb-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ssdb/2021-01-24/cl-ssdb-20210124-git.tgz";
+      sha256 = "05l0wg4a1kxgggmg1nalq811by76lja0gpa2c4i999h74bf4n3dc";
+      system = "cl-ssdb-test";
+      asd = "cl-ssdb-test";
+    });
+    systems = [ "cl-ssdb-test" ];
+    lispLibs = [ (getAttr "cl-ssdb" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-ssh-keys = {
+    pname = "cl-ssh-keys";
+    version = "20210531-git";
+    asds = [ "cl-ssh-keys" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ssh-keys/2021-05-31/cl-ssh-keys-20210531-git.tgz";
+      sha256 = "0v5m1mbd8v4lpz3zqzy228431vvyyqcj4968ajyfzpxdl2lsb6nv";
+      system = "cl-ssh-keys";
+      asd = "cl-ssh-keys";
+    });
+    systems = [ "cl-ssh-keys" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "binascii" pkgs) (getAttr "cl-rfc4251" pkgs) (getAttr "ironclad" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-ssh-keys_dot_test = {
+    pname = "cl-ssh-keys.test";
+    version = "20210531-git";
+    asds = [ "cl-ssh-keys.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ssh-keys/2021-05-31/cl-ssh-keys-20210531-git.tgz";
+      sha256 = "0v5m1mbd8v4lpz3zqzy228431vvyyqcj4968ajyfzpxdl2lsb6nv";
+      system = "cl-ssh-keys.test";
+      asd = "cl-ssh-keys.test";
+    });
+    systems = [ "cl-ssh-keys.test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ssh-keys" pkgs) (getAttr "rove" pkgs) ];
+  };
+  cl-statsd = {
+    pname = "cl-statsd";
+    version = "20170124-git";
+    asds = [ "cl-statsd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-statsd/2017-01-24/cl-statsd-20170124-git.tgz";
+      sha256 = "1l2sxbzhp7wwalxn8k0k1gis9c9w462fygfw4ps0s1bnhgbvr6qb";
+      system = "cl-statsd";
+      asd = "cl-statsd";
+    });
+    systems = [ "cl-statsd" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "local-time" pkgs) (getAttr "log4cl" pkgs) (getAttr "safe-queue" pkgs) (getAttr "trivial-utf-8" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-statsd_dot_test = {
+    pname = "cl-statsd.test";
+    version = "20170124-git";
+    asds = [ "cl-statsd.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-statsd/2017-01-24/cl-statsd-20170124-git.tgz";
+      sha256 = "1l2sxbzhp7wwalxn8k0k1gis9c9w462fygfw4ps0s1bnhgbvr6qb";
+      system = "cl-statsd.test";
+      asd = "cl-statsd.test";
+    });
+    systems = [ "cl-statsd.test" ];
+    lispLibs = [ (getAttr "cl-statsd" pkgs) (getAttr "log4cl" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-steamworks = {
+    pname = "cl-steamworks";
+    version = "20210531-git";
+    asds = [ "cl-steamworks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-steamworks/2021-05-31/cl-steamworks-20210531-git.tgz";
+      sha256 = "0qsf72bdszbjjmi77g482myaldiqjmdb49jx4sy6zximcqkmf0sa";
+      system = "cl-steamworks";
+      asd = "cl-steamworks";
+    });
+    systems = [ "cl-steamworks" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "float-features" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cl-steamworks-generator = {
+    pname = "cl-steamworks-generator";
+    version = "20210531-git";
+    asds = [ "cl-steamworks-generator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-steamworks/2021-05-31/cl-steamworks-20210531-git.tgz";
+      sha256 = "0qsf72bdszbjjmi77g482myaldiqjmdb49jx4sy6zximcqkmf0sa";
+      system = "cl-steamworks-generator";
+      asd = "cl-steamworks-generator";
+    });
+    systems = [ "cl-steamworks-generator" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "parse-number" pkgs) (getAttr "pathname-utils" pkgs) (getAttr "yason" pkgs) ];
+  };
+  cl-stomp = {
+    pname = "cl-stomp";
+    version = "20200925-git";
+    asds = [ "cl-stomp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-stomp/2020-09-25/cl-stomp-20200925-git.tgz";
+      sha256 = "180y0x53ghsvz6n0bz67aw69p962bsslarikk89rf41kcv998xvw";
+      system = "cl-stomp";
+      asd = "cl-stomp";
+    });
+    systems = [ "cl-stomp" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-stopwatch = {
+    pname = "cl-stopwatch";
+    version = "20190307-hg";
+    asds = [ "cl-stopwatch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-stopwatch/2019-03-07/cl-stopwatch-20190307-hg.tgz";
+      sha256 = "02yi97q09sy9ypnvxp0l1m9b5w2pdcvbfd16y0kj069b8nlcwm8d";
+      system = "cl-stopwatch";
+      asd = "cl-stopwatch";
+    });
+    systems = [ "cl-stopwatch" ];
+    lispLibs = [  ];
+  };
+  cl-store = {
+    pname = "cl-store";
+    version = "20200925-git";
+    asds = [ "cl-store" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-store/2020-09-25/cl-store-20200925-git.tgz";
+      sha256 = "0b1cw495121wjz4ayndir52a5hf3fnvi99syla60mninvx7q7krl";
+      system = "cl-store";
+      asd = "cl-store";
+    });
+    systems = [ "cl-store" ];
+    lispLibs = [  ];
+  };
+  cl-store-tests = {
+    pname = "cl-store-tests";
+    version = "20200925-git";
+    asds = [ "cl-store-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-store/2020-09-25/cl-store-20200925-git.tgz";
+      sha256 = "0b1cw495121wjz4ayndir52a5hf3fnvi99syla60mninvx7q7krl";
+      system = "cl-store-tests";
+      asd = "cl-store";
+    });
+    systems = [ "cl-store-tests" ];
+    lispLibs = [ (getAttr "cl-store" pkgs) (getAttr "rt" pkgs) ];
+  };
+  cl-stream = {
+    pname = "cl-stream";
+    version = "20190521-git";
+    asds = [ "cl-stream" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-stream/2019-05-21/cl-stream-20190521-git.tgz";
+      sha256 = "1r2spbcx3ifz51yq2pxkdb1n2k5fvyg3pz3w42mnw99pq78cbasv";
+      system = "cl-stream";
+      asd = "cl-stream";
+    });
+    systems = [ "cl-stream" ];
+    lispLibs = [  ];
+  };
+  cl-strftime = {
+    pname = "cl-strftime";
+    version = "20160318-git";
+    asds = [ "cl-strftime" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-strftime/2016-03-18/cl-strftime-20160318-git.tgz";
+      sha256 = "00c8hq7vzgb89ab3q7mrp60x743kiqmsk1g51ynhxlqhph2bnslf";
+      system = "cl-strftime";
+      asd = "cl-strftime";
+    });
+    systems = [ "cl-strftime" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "local-time" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  cl-strftime_slash_tests = {
+    pname = "cl-strftime_tests";
+    version = "20160318-git";
+    asds = [ "cl-strftime" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-strftime/2016-03-18/cl-strftime-20160318-git.tgz";
+      sha256 = "00c8hq7vzgb89ab3q7mrp60x743kiqmsk1g51ynhxlqhph2bnslf";
+      system = "cl-strftime";
+      asd = "cl-strftime";
+    });
+    systems = [ "cl-strftime/tests" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-strftime" pkgs) (getAttr "fiveam" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-string-complete = {
+    pname = "cl-string-complete";
+    version = "20190307-hg";
+    asds = [ "cl-string-complete" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-string-complete/2019-03-07/cl-string-complete-20190307-hg.tgz";
+      sha256 = "0qycrs5d2cll62gs14qg3kwzfpnjgckrmigckgjav2ll3dghxjx6";
+      system = "cl-string-complete";
+      asd = "cl-string-complete";
+    });
+    systems = [ "cl-string-complete" ];
+    lispLibs = [  ];
+  };
+  cl-string-generator = {
+    pname = "cl-string-generator";
+    version = "20210630-git";
+    asds = [ "cl-string-generator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-string-generator/2021-06-30/cl-string-generator-20210630-git.tgz";
+      sha256 = "0zm6lyzd205lw30fdvnhrrlv9fylpfqksqxl32zvj9vzcn8qc1vi";
+      system = "cl-string-generator";
+      asd = "cl-string-generator";
+    });
+    systems = [ "cl-string-generator" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  cl-string-generator_slash_tests = {
+    pname = "cl-string-generator_tests";
+    version = "20210630-git";
+    asds = [ "cl-string-generator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-string-generator/2021-06-30/cl-string-generator-20210630-git.tgz";
+      sha256 = "0zm6lyzd205lw30fdvnhrrlv9fylpfqksqxl32zvj9vzcn8qc1vi";
+      system = "cl-string-generator";
+      asd = "cl-string-generator";
+    });
+    systems = [ "cl-string-generator/tests" ];
+    lispLibs = [ (getAttr "cl-string-generator" pkgs) (getAttr "rove" pkgs) ];
+  };
+  cl-string-match = {
+    pname = "cl-string-match";
+    version = "20211209-git";
+    asds = [ "cl-string-match" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-string-match/2021-12-09/cl-string-match-20211209-git.tgz";
+      sha256 = "0zndlkw3qy3vw4px4qv884z6232w8zfaliyc88irjwizdv35wcq9";
+      system = "cl-string-match";
+      asd = "cl-string-match";
+    });
+    systems = [ "cl-string-match" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "ascii-strings" pkgs) (getAttr "yacc" pkgs) (getAttr "iterate" pkgs) (getAttr "jpl-queues" pkgs) (getAttr "mgl-pax" pkgs) ];
+  };
+  cl-string-match-test = {
+    pname = "cl-string-match-test";
+    version = "20211209-git";
+    asds = [ "cl-string-match-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-string-match/2021-12-09/cl-string-match-20211209-git.tgz";
+      sha256 = "0zndlkw3qy3vw4px4qv884z6232w8zfaliyc88irjwizdv35wcq9";
+      system = "cl-string-match-test";
+      asd = "cl-string-match-test";
+    });
+    systems = [ "cl-string-match-test" ];
+    lispLibs = [ (getAttr "ascii-strings" pkgs) (getAttr "cl-string-match" pkgs) (getAttr "simple-scanf" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  cl-strings = {
+    pname = "cl-strings";
+    version = "20210411-git";
+    asds = [ "cl-strings" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-strings/2021-04-11/cl-strings-20210411-git.tgz";
+      sha256 = "1j8hs54fn0wsf5zfzhhgiva47n9hsmfa74iinahz6nmcs8iy75aj";
+      system = "cl-strings";
+      asd = "cl-strings";
+    });
+    systems = [ "cl-strings" ];
+    lispLibs = [  ];
+  };
+  cl-strings-tests = {
+    pname = "cl-strings-tests";
+    version = "20210411-git";
+    asds = [ "cl-strings-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-strings/2021-04-11/cl-strings-20210411-git.tgz";
+      sha256 = "1j8hs54fn0wsf5zfzhhgiva47n9hsmfa74iinahz6nmcs8iy75aj";
+      system = "cl-strings-tests";
+      asd = "cl-strings";
+    });
+    systems = [ "cl-strings-tests" ];
+    lispLibs = [ (getAttr "cl-strings" pkgs) (getAttr "prove" pkgs) ];
+  };
+  cl-svg = {
+    pname = "cl-svg";
+    version = "20180228-git";
+    asds = [ "cl-svg" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-svg/2018-02-28/cl-svg-20180228-git.tgz";
+      sha256 = "11rmzimy6j7ln7q5y1h2kw1225rsfb6fpn89qjcq7h5lc8fay0wz";
+      system = "cl-svg";
+      asd = "cl-svg";
+    });
+    systems = [ "cl-svg" ];
+    lispLibs = [  ];
+  };
+  cl-svm = {
+    pname = "cl-svm";
+    version = "20110418-git";
+    asds = [ "cl-svm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-svm/2011-04-18/cl-svm-20110418-git.tgz";
+      sha256 = "03d070k3bl5c0b2f6bzig5gkhlj074v74f7kg8hh3znrbmwji2wv";
+      system = "cl-svm";
+      asd = "cl-svm";
+    });
+    systems = [ "cl-svm" ];
+    lispLibs = [  ];
+  };
+  cl-swagger = {
+    pname = "cl-swagger";
+    version = "20180831-git";
+    asds = [ "cl-swagger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-swagger-codegen/2018-08-31/cl-swagger-codegen-20180831-git.tgz";
+      sha256 = "1lkp69n7wscyf2az3h2bmxmvzzppdfxcq5s0m607b1f7nfmxzjsq";
+      system = "cl-swagger";
+      asd = "cl-swagger";
+    });
+    systems = [ "cl-swagger" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "cl-mustache" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) ];
+  };
+  cl-sxml = {
+    pname = "cl-sxml";
+    version = "20200325-git";
+    asds = [ "cl-sxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sxml/2020-03-25/cl-sxml-20200325-git.tgz";
+      sha256 = "1105s9whidq1lf0lli2wdhcfcs5gwzxa0h1x3izx4mp2p7psvciz";
+      system = "cl-sxml";
+      asd = "cl-sxml";
+    });
+    systems = [ "cl-sxml" ];
+    lispLibs = [ (getAttr "cxml" pkgs) ];
+  };
+  cl-sxml-test = {
+    pname = "cl-sxml-test";
+    version = "20200325-git";
+    asds = [ "cl-sxml-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sxml/2020-03-25/cl-sxml-20200325-git.tgz";
+      sha256 = "1105s9whidq1lf0lli2wdhcfcs5gwzxa0h1x3izx4mp2p7psvciz";
+      system = "cl-sxml-test";
+      asd = "cl-sxml";
+    });
+    systems = [ "cl-sxml-test" ];
+    lispLibs = [ (getAttr "cl-sxml" pkgs) (getAttr "fiveam" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-syntax = {
+    pname = "cl-syntax";
+    version = "20150407-git";
+    asds = [ "cl-syntax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz";
+      sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y";
+      system = "cl-syntax";
+      asd = "cl-syntax";
+    });
+    systems = [ "cl-syntax" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  cl-syntax-annot = {
+    pname = "cl-syntax-annot";
+    version = "20150407-git";
+    asds = [ "cl-syntax-annot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz";
+      sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y";
+      system = "cl-syntax-annot";
+      asd = "cl-syntax-annot";
+    });
+    systems = [ "cl-syntax-annot" ];
+    lispLibs = [ (getAttr "cl-annot" pkgs) (getAttr "cl-syntax" pkgs) ];
+  };
+  cl-syntax-anonfun = {
+    pname = "cl-syntax-anonfun";
+    version = "20150407-git";
+    asds = [ "cl-syntax-anonfun" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz";
+      sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y";
+      system = "cl-syntax-anonfun";
+      asd = "cl-syntax-anonfun";
+    });
+    systems = [ "cl-syntax-anonfun" ];
+    lispLibs = [ (getAttr "cl-anonfun" pkgs) (getAttr "cl-syntax" pkgs) ];
+  };
+  cl-syntax-clsql = {
+    pname = "cl-syntax-clsql";
+    version = "20150407-git";
+    asds = [ "cl-syntax-clsql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz";
+      sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y";
+      system = "cl-syntax-clsql";
+      asd = "cl-syntax-clsql";
+    });
+    systems = [ "cl-syntax-clsql" ];
+    lispLibs = [ (getAttr "cl-syntax" pkgs) (getAttr "clsql" pkgs) ];
+  };
+  cl-syntax-debug-print = {
+    pname = "cl-syntax-debug-print";
+    version = "20210807-git";
+    asds = [ "cl-syntax-debug-print" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-debug-print/2021-08-07/cl-debug-print-20210807-git.tgz";
+      sha256 = "1cm5nybmv0pq9s4lrwhd01rjj1wlcj1sjcrcakabi7w7b5zw4cyh";
+      system = "cl-syntax-debug-print";
+      asd = "cl-syntax-debug-print";
+    });
+    systems = [ "cl-syntax-debug-print" ];
+    lispLibs = [ (getAttr "cl-debug-print" pkgs) (getAttr "cl-syntax" pkgs) ];
+  };
+  cl-syntax-fare-quasiquote = {
+    pname = "cl-syntax-fare-quasiquote";
+    version = "20150407-git";
+    asds = [ "cl-syntax-fare-quasiquote" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz";
+      sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y";
+      system = "cl-syntax-fare-quasiquote";
+      asd = "cl-syntax-fare-quasiquote";
+    });
+    systems = [ "cl-syntax-fare-quasiquote" ];
+    lispLibs = [ (getAttr "cl-syntax" pkgs) (getAttr "fare-quasiquote" pkgs) ];
+  };
+  cl-syntax-interpol = {
+    pname = "cl-syntax-interpol";
+    version = "20150407-git";
+    asds = [ "cl-syntax-interpol" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz";
+      sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y";
+      system = "cl-syntax-interpol";
+      asd = "cl-syntax-interpol";
+    });
+    systems = [ "cl-syntax-interpol" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "cl-syntax" pkgs) ];
+  };
+  cl-syntax-lsx = {
+    pname = "cl-syntax-lsx";
+    version = "20211020-git";
+    asds = [ "cl-syntax-lsx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lsx/2021-10-20/lsx-20211020-git.tgz";
+      sha256 = "1wghn6fy2jk8xwr69bk3ykj8mgwq4qmif87k9zqpvvx7yfb9x46k";
+      system = "cl-syntax-lsx";
+      asd = "cl-syntax-lsx";
+    });
+    systems = [ "cl-syntax-lsx" ];
+    lispLibs = [ (getAttr "cl-syntax" pkgs) (getAttr "lsx" pkgs) ];
+  };
+  cl-syntax-markup = {
+    pname = "cl-syntax-markup";
+    version = "20150407-git";
+    asds = [ "cl-syntax-markup" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-syntax/2015-04-07/cl-syntax-20150407-git.tgz";
+      sha256 = "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y";
+      system = "cl-syntax-markup";
+      asd = "cl-syntax-markup";
+    });
+    systems = [ "cl-syntax-markup" ];
+    lispLibs = [ (getAttr "cl-markup" pkgs) (getAttr "cl-syntax" pkgs) ];
+  };
+  cl-syslog = {
+    pname = "cl-syslog";
+    version = "20190202-git";
+    asds = [ "cl-syslog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-syslog/2019-02-02/cl-syslog-20190202-git.tgz";
+      sha256 = "1qcz55jiqwk91b01hsahxnha884f6zf2883j2m51sqph0mvj69mh";
+      system = "cl-syslog";
+      asd = "cl-syslog";
+    });
+    systems = [ "cl-syslog" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cffi" pkgs) (getAttr "global-vars" pkgs) (getAttr "local-time" pkgs) (getAttr "split-sequence" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-table = {
+    pname = "cl-table";
+    version = "20130128-git";
+    asds = [ "cl-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-table/2013-01-28/cl-table-20130128-git.tgz";
+      sha256 = "0c7bdnpi473grayycdcdh4q8fi137i3c80k05k87pvjdrl1qnkpn";
+      system = "cl-table";
+      asd = "cl-table";
+    });
+    systems = [ "cl-table" ];
+    lispLibs = [ (getAttr "iterate" pkgs) ];
+  };
+  cl-tasukete = {
+    pname = "cl-tasukete";
+    version = "20180228-git";
+    asds = [ "cl-tasukete" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tasukete/2018-02-28/cl-tasukete-20180228-git.tgz";
+      sha256 = "0i8ibg2a33mb32vr2b70psb5dvh47r52lfhkh84rxzmcsk6ww230";
+      system = "cl-tasukete";
+      asd = "cl-tasukete";
+    });
+    systems = [ "cl-tasukete" ];
+    lispLibs = [ (getAttr "cl-annot" pkgs) (getAttr "cl-gists" pkgs) (getAttr "dissect" pkgs) (getAttr "jonathan" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  cl-tasukete-test = {
+    pname = "cl-tasukete-test";
+    version = "20180228-git";
+    asds = [ "cl-tasukete-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tasukete/2018-02-28/cl-tasukete-20180228-git.tgz";
+      sha256 = "0i8ibg2a33mb32vr2b70psb5dvh47r52lfhkh84rxzmcsk6ww230";
+      system = "cl-tasukete-test";
+      asd = "cl-tasukete-test";
+    });
+    systems = [ "cl-tasukete-test" ];
+    lispLibs = [ (getAttr "cl-tasukete" pkgs) (getAttr "dissect" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-telebot = {
+    pname = "cl-telebot";
+    version = "20211020-git";
+    asds = [ "cl-telebot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-telebot/2021-10-20/cl-telebot-20211020-git.tgz";
+      sha256 = "0nl002l4f3x6843s6h5w2iz2hganxb369k8c2hbbgqq7plb4mdf1";
+      system = "cl-telebot";
+      asd = "cl-telebot";
+    });
+    systems = [ "cl-telebot" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "dexador" pkgs) (getAttr "jonathan" pkgs) ];
+  };
+  cl-telegram-bot = {
+    pname = "cl-telegram-bot";
+    version = "20211020-git";
+    asds = [ "cl-telegram-bot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-telegram-bot/2021-10-20/cl-telegram-bot-20211020-git.tgz";
+      sha256 = "1zravafng5bnlnhxz00m7ks0dxw57mjqfshnwfad2l56h44a2l33";
+      system = "cl-telegram-bot";
+      asd = "cl-telegram-bot";
+    });
+    systems = [ "cl-telegram-bot" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "arrows" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-strings" pkgs) (getAttr "dexador" pkgs) (getAttr "jonathan" pkgs) (getAttr "kebab" pkgs) (getAttr "log4cl" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivial-backtrace" pkgs) ];
+  };
+  cl-template = {
+    pname = "cl-template";
+    version = "20130615-git";
+    asds = [ "cl-template" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-template/2013-06-15/cl-template-20130615-git.tgz";
+      sha256 = "1rhg023a2nxsk5x6abd6i0a8sh36aj0bgsh80w60m3b7xlsva2x2";
+      system = "cl-template";
+      asd = "cl-template";
+    });
+    systems = [ "cl-template" ];
+    lispLibs = [  ];
+  };
+  cl-template-tests = {
+    pname = "cl-template-tests";
+    version = "20130615-git";
+    asds = [ "cl-template-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-template/2013-06-15/cl-template-20130615-git.tgz";
+      sha256 = "1rhg023a2nxsk5x6abd6i0a8sh36aj0bgsh80w60m3b7xlsva2x2";
+      system = "cl-template-tests";
+      asd = "cl-template";
+    });
+    systems = [ "cl-template-tests" ];
+    lispLibs = [ (getAttr "cl-template" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-termbox = {
+    pname = "cl-termbox";
+    version = "20211020-git";
+    asds = [ "cl-termbox" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-termbox/2021-10-20/cl-termbox-20211020-git.tgz";
+      sha256 = "1igmq64zndkgchmzggp34jrmxa81dqlhz2il8qizrpfw5a39cpld";
+      system = "cl-termbox";
+      asd = "cl-termbox";
+    });
+    systems = [ "cl-termbox" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-tesseract = {
+    pname = "cl-tesseract";
+    version = "20171130-git";
+    asds = [ "cl-tesseract" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tesseract/2017-11-30/cl-tesseract-20171130-git.tgz";
+      sha256 = "086627k8whbj60bpw9r3jrdifr4bigqpnp9hxsi7r6702gixz50x";
+      system = "cl-tesseract";
+      asd = "cl-tesseract";
+    });
+    systems = [ "cl-tesseract" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-test-more = {
+    pname = "cl-test-more";
+    version = "20200218-git";
+    asds = [ "cl-test-more" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prove/2020-02-18/prove-20200218-git.tgz";
+      sha256 = "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc";
+      system = "cl-test-more";
+      asd = "cl-test-more";
+    });
+    systems = [ "cl-test-more" ];
+    lispLibs = [ (getAttr "prove" pkgs) ];
+  };
+  cl-tetris3d = {
+    pname = "cl-tetris3d";
+    version = "20181210-git";
+    asds = [ "cl-tetris3d" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tetris3d/2018-12-10/cl-tetris3d-20181210-git.tgz";
+      sha256 = "09n7344is2vfbp32cd22ynk14h4vqs4xw3plbhga8q25ghhx5y9p";
+      system = "cl-tetris3d";
+      asd = "cl-tetris3d";
+    });
+    systems = [ "cl-tetris3d" ];
+    lispLibs = [ (getAttr "cl-glu" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "iterate" pkgs) (getAttr "lispbuilder-sdl" pkgs) ];
+  };
+  cl-textmagic = {
+    pname = "cl-textmagic";
+    version = "20151218-git";
+    asds = [ "cl-textmagic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-textmagic/2015-12-18/cl-textmagic-20151218-git.tgz";
+      sha256 = "0xw6g1r5vxmnbz3kxf2q6s9dr9l2aacyri1wchzw4jx5wlcnkshw";
+      system = "cl-textmagic";
+      asd = "cl-textmagic";
+    });
+    systems = [ "cl-textmagic" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "dexador" pkgs) ];
+  };
+  cl-textmagic-test = {
+    pname = "cl-textmagic-test";
+    version = "20151218-git";
+    asds = [ "cl-textmagic-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-textmagic/2015-12-18/cl-textmagic-20151218-git.tgz";
+      sha256 = "0xw6g1r5vxmnbz3kxf2q6s9dr9l2aacyri1wchzw4jx5wlcnkshw";
+      system = "cl-textmagic-test";
+      asd = "cl-textmagic-test";
+    });
+    systems = [ "cl-textmagic-test" ];
+    lispLibs = [ (getAttr "cl-textmagic" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-tga = {
+    pname = "cl-tga";
+    version = "20160318-git";
+    asds = [ "cl-tga" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tga/2016-03-18/cl-tga-20160318-git.tgz";
+      sha256 = "03k3npmn0xd3fd2m7vwxph82av2xrfb150imqrinlzqmzvz1v1br";
+      system = "cl-tga";
+      asd = "cl-tga";
+    });
+    systems = [ "cl-tga" ];
+    lispLibs = [  ];
+  };
+  cl-threadpool = {
+    pname = "cl-threadpool";
+    version = "quickload-current-release-86ef8a6b-git";
+    asds = [ "cl-threadpool" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-threadpool/2021-02-28/cl-threadpool-quickload-current-release-86ef8a6b-git.tgz";
+      sha256 = "0yg09fpzqbmga1vx0p956vx6fyjmrgczb108fr0djswfn1mdiq3j";
+      system = "cl-threadpool";
+      asd = "cl-threadpool";
+    });
+    systems = [ "cl-threadpool" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "queues_dot_simple-cqueue" pkgs) ];
+  };
+  cl-threadpool_slash_doc = {
+    pname = "cl-threadpool_doc";
+    version = "quickload-current-release-86ef8a6b-git";
+    asds = [ "cl-threadpool" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-threadpool/2021-02-28/cl-threadpool-quickload-current-release-86ef8a6b-git.tgz";
+      sha256 = "0yg09fpzqbmga1vx0p956vx6fyjmrgczb108fr0djswfn1mdiq3j";
+      system = "cl-threadpool";
+      asd = "cl-threadpool";
+    });
+    systems = [ "cl-threadpool/doc" ];
+    lispLibs = [ (getAttr "cl-html-readme" pkgs) (getAttr "cl-threadpool" pkgs) (getAttr "docparser" pkgs) ];
+  };
+  cl-threadpool_slash_test = {
+    pname = "cl-threadpool_test";
+    version = "quickload-current-release-86ef8a6b-git";
+    asds = [ "cl-threadpool" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-threadpool/2021-02-28/cl-threadpool-quickload-current-release-86ef8a6b-git.tgz";
+      sha256 = "0yg09fpzqbmga1vx0p956vx6fyjmrgczb108fr0djswfn1mdiq3j";
+      system = "cl-threadpool";
+      asd = "cl-threadpool";
+    });
+    systems = [ "cl-threadpool/test" ];
+    lispLibs = [ (getAttr "cl-threadpool" pkgs) (getAttr "lisp-unit" pkgs) (getAttr "verbose" pkgs) ];
+  };
+  cl-tidy = {
+    pname = "cl-tidy";
+    version = "20170830-git";
+    asds = [ "cl-tidy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tidy/2017-08-30/cl-tidy-20170830-git.tgz";
+      sha256 = "13j0jgf6czb24148w2wxfwlji6vnc49qvyr5wzq5ps55b27ddlz6";
+      system = "cl-tidy";
+      asd = "cl-tidy";
+    });
+    systems = [ "cl-tidy" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-tiled = {
+    pname = "cl-tiled";
+    version = "20210531-git";
+    asds = [ "cl-tiled" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tiled/2021-05-31/cl-tiled-20210531-git.tgz";
+      sha256 = "1xknfdrlghrdvsx4xclvj43irwf26np5ndpmnkwnsrhfbj8ypk48";
+      system = "cl-tiled";
+      asd = "cl-tiled";
+    });
+    systems = [ "cl-tiled" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "chipz" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-json" pkgs) (getAttr "nibbles" pkgs) (getAttr "parse-float" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uiop" pkgs) (getAttr "xmls" pkgs) ];
+  };
+  cl-tk = {
+    pname = "cl-tk";
+    version = "20150608-git";
+    asds = [ "cl-tk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tk/2015-06-08/cl-tk-20150608-git.tgz";
+      sha256 = "0fm4q4pkzbyxr6227vavvy4lm7rfw214lp2dylgzjzcp6f5r4n7w";
+      system = "cl-tk";
+      asd = "cl-tk";
+    });
+    systems = [ "cl-tk" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-tld = {
+    pname = "cl-tld";
+    version = "20211209-git";
+    asds = [ "cl-tld" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tld/2021-12-09/cl-tld-20211209-git.tgz";
+      sha256 = "0sxnn35gzdby1ixil6zbjg72vli9fcspwzsqimqk455310syx9iv";
+      system = "cl-tld";
+      asd = "cl-tld";
+    });
+    systems = [ "cl-tld" ];
+    lispLibs = [  ];
+  };
+  cl-tls = {
+    pname = "cl-tls";
+    version = "20211209-git";
+    asds = [ "cl-tls" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tls/2021-12-09/cl-tls-20211209-git.tgz";
+      sha256 = "01bis3605hgcdcipdd6bvxmlk7d9dhm533c8i794i0njinfh2f44";
+      system = "cl-tls";
+      asd = "cl-tls";
+    });
+    systems = [ "cl-tls" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-base64" pkgs) (getAttr "fast-io" pkgs) (getAttr "ironclad" pkgs) ];
+  };
+  cl-tokyo-cabinet = {
+    pname = "cl-tokyo-cabinet";
+    version = "20160825-git";
+    asds = [ "cl-tokyo-cabinet" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tokyo-cabinet/2016-08-25/cl-tokyo-cabinet-20160825-git.tgz";
+      sha256 = "07961in8fa09bjnpwkdn0w6dj37nppzmgg50kf8khspnjh1sjsr2";
+      system = "cl-tokyo-cabinet";
+      asd = "cl-tokyo-cabinet";
+    });
+    systems = [ "cl-tokyo-cabinet" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "deoxybyte-systems" pkgs) ];
+  };
+  cl-tokyo-cabinet-test = {
+    pname = "cl-tokyo-cabinet-test";
+    version = "20160825-git";
+    asds = [ "cl-tokyo-cabinet-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tokyo-cabinet/2016-08-25/cl-tokyo-cabinet-20160825-git.tgz";
+      sha256 = "07961in8fa09bjnpwkdn0w6dj37nppzmgg50kf8khspnjh1sjsr2";
+      system = "cl-tokyo-cabinet-test";
+      asd = "cl-tokyo-cabinet-test";
+    });
+    systems = [ "cl-tokyo-cabinet-test" ];
+    lispLibs = [ (getAttr "cl-tokyo-cabinet" pkgs) (getAttr "deoxybyte-io" pkgs) (getAttr "deoxybyte-utilities" pkgs) (getAttr "lift" pkgs) ];
+  };
+  cl-toml = {
+    pname = "cl-toml";
+    version = "20191130-git";
+    asds = [ "cl-toml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-toml/2019-11-30/cl-toml-20191130-git.tgz";
+      sha256 = "1g5i60i78s0ms608fyc6sgaaqr6jdsln75n26lmfbcaqw2g1q9dk";
+      system = "cl-toml";
+      asd = "cl-toml";
+    });
+    systems = [ "cl-toml" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "esrap" pkgs) (getAttr "local-time" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  cl-toml-test = {
+    pname = "cl-toml-test";
+    version = "20191130-git";
+    asds = [ "cl-toml-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-toml/2019-11-30/cl-toml-20191130-git.tgz";
+      sha256 = "1g5i60i78s0ms608fyc6sgaaqr6jdsln75n26lmfbcaqw2g1q9dk";
+      system = "cl-toml-test";
+      asd = "cl-toml-test";
+    });
+    systems = [ "cl-toml-test" ];
+    lispLibs = [ (getAttr "cl-toml" pkgs) (getAttr "prove" pkgs) ];
+  };
+  cl-transmission = {
+    pname = "cl-transmission";
+    version = "20200325-git";
+    asds = [ "cl-transmission" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-transmission/2020-03-25/cl-transmission-20200325-git.tgz";
+      sha256 = "0sg3f2jqs2z3mvscjhc43hkd34vlcc4c8hq8rhh5w1gjg19z57hb";
+      system = "cl-transmission";
+      asd = "cl-transmission";
+    });
+    systems = [ "cl-transmission" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "jonathan" pkgs) (getAttr "named-readtables" pkgs) (getAttr "rutils" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-transmission-test = {
+    pname = "cl-transmission-test";
+    version = "20200325-git";
+    asds = [ "cl-transmission-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-transmission/2020-03-25/cl-transmission-20200325-git.tgz";
+      sha256 = "0sg3f2jqs2z3mvscjhc43hkd34vlcc4c8hq8rhh5w1gjg19z57hb";
+      system = "cl-transmission-test";
+      asd = "cl-transmission-test";
+    });
+    systems = [ "cl-transmission-test" ];
+    lispLibs = [ (getAttr "cl-transmission" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-trie = {
+    pname = "cl-trie";
+    version = "20180228-git";
+    asds = [ "cl-trie" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-trie/2018-02-28/cl-trie-20180228-git.tgz";
+      sha256 = "0ffd67xndmzp7lg2car25swaldi3nvcswnshgb2595gac591qjh6";
+      system = "cl-trie";
+      asd = "cl-trie";
+    });
+    systems = [ "cl-trie" ];
+    lispLibs = [  ];
+  };
+  cl-trie-examples = {
+    pname = "cl-trie-examples";
+    version = "20180228-git";
+    asds = [ "cl-trie-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-trie/2018-02-28/cl-trie-20180228-git.tgz";
+      sha256 = "0ffd67xndmzp7lg2car25swaldi3nvcswnshgb2595gac591qjh6";
+      system = "cl-trie-examples";
+      asd = "cl-trie-examples";
+    });
+    systems = [ "cl-trie-examples" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cl-trie" pkgs) ];
+  };
+  cl-trie_slash_tests = {
+    pname = "cl-trie_tests";
+    version = "20180228-git";
+    asds = [ "cl-trie" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-trie/2018-02-28/cl-trie-20180228-git.tgz";
+      sha256 = "0ffd67xndmzp7lg2car25swaldi3nvcswnshgb2595gac591qjh6";
+      system = "cl-trie";
+      asd = "cl-trie";
+    });
+    systems = [ "cl-trie/tests" ];
+    lispLibs = [ (getAttr "cl-trie" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-tui = {
+    pname = "cl-tui";
+    version = "20200427-git";
+    asds = [ "cl-tui" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tui/2020-04-27/cl-tui-20200427-git.tgz";
+      sha256 = "1s0z7sjb3p1fxypc2x9fl0y094qa1a2iqjbn5him4hs8z7xm5kz8";
+      system = "cl-tui";
+      asd = "cl-tui";
+    });
+    systems = [ "cl-tui" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "cl-charms" pkgs) (getAttr "cl-containers" pkgs) (getAttr "osicat" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  cl-tulip-graph = {
+    pname = "cl-tulip-graph";
+    version = "20130615-git";
+    asds = [ "cl-tulip-graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tulip-graph/2013-06-15/cl-tulip-graph-20130615-git.tgz";
+      sha256 = "0zmmwqabbyzdikn8x0xqrj192wr5w87l828nwandqg59af2isxav";
+      system = "cl-tulip-graph";
+      asd = "cl-tulip-graph";
+    });
+    systems = [ "cl-tulip-graph" ];
+    lispLibs = [  ];
+  };
+  cl-tuples = {
+    pname = "cl-tuples";
+    version = "20140713-git";
+    asds = [ "cl-tuples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tuples/2014-07-13/cl-tuples-20140713-git.tgz";
+      sha256 = "060xmr03y8n0mnf4x4fnrirljcjk1jcir7jsjq4w9d5vzq3aqm9m";
+      system = "cl-tuples";
+      asd = "cl-tuples";
+    });
+    systems = [ "cl-tuples" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-twit-repl = {
+    pname = "cl-twit-repl";
+    version = "20180228-git";
+    asds = [ "cl-twit-repl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-twitter/2018-02-28/cl-twitter-20180228-git.tgz";
+      sha256 = "07l86c63ssahpz3s9f7d99mbzmh60askkpdrhjrdbzd1vxlwkhcr";
+      system = "cl-twit-repl";
+      asd = "cl-twit-repl";
+    });
+    systems = [ "cl-twit-repl" ];
+    lispLibs = [ (getAttr "cl-twitter" pkgs) ];
+  };
+  cl-twitter = {
+    pname = "cl-twitter";
+    version = "20180228-git";
+    asds = [ "cl-twitter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-twitter/2018-02-28/cl-twitter-20180228-git.tgz";
+      sha256 = "07l86c63ssahpz3s9f7d99mbzmh60askkpdrhjrdbzd1vxlwkhcr";
+      system = "cl-twitter";
+      asd = "cl-twitter";
+    });
+    systems = [ "cl-twitter" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-oauth" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "drakma" pkgs) (getAttr "trivial-http" pkgs) (getAttr "url-rewrite" pkgs) ];
+  };
+  cl-typesetting = {
+    pname = "cl-typesetting";
+    version = "20210531-git";
+    asds = [ "cl-typesetting" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-typesetting/2021-05-31/cl-typesetting-20210531-git.tgz";
+      sha256 = "0fcs5mq0gxfczbrg7ay8r4bf5r4g6blvpdbjkhcl8dapcikyn35h";
+      system = "cl-typesetting";
+      asd = "cl-typesetting";
+    });
+    systems = [ "cl-typesetting" ];
+    lispLibs = [ (getAttr "cl-pdf" pkgs) ];
+  };
+  cl-uglify-js = {
+    pname = "cl-uglify-js";
+    version = "20150709-git";
+    asds = [ "cl-uglify-js" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-uglify-js/2015-07-09/cl-uglify-js-20150709-git.tgz";
+      sha256 = "0k39y3c93jgxpr7gwz7w0d8yknn1fdnxrjhd03057lvk5w8js27a";
+      system = "cl-uglify-js";
+      asd = "cl-uglify-js";
+    });
+    systems = [ "cl-uglify-js" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cl-ppcre-unicode" pkgs) (getAttr "iterate" pkgs) (getAttr "parse-js" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  cl-unicode = {
+    pname = "cl-unicode";
+    version = "20210228-git";
+    asds = [ "cl-unicode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-unicode/2021-02-28/cl-unicode-20210228-git.tgz";
+      sha256 = "1a9gbzvi5gj3z9gcia1rgmnk0dzgc82vz47bgnfvhn4q0c7mvk31";
+      system = "cl-unicode";
+      asd = "cl-unicode";
+    });
+    systems = [ "cl-unicode" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  cl-unicode_slash_base = {
+    pname = "cl-unicode_base";
+    version = "20210228-git";
+    asds = [ "cl-unicode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-unicode/2021-02-28/cl-unicode-20210228-git.tgz";
+      sha256 = "1a9gbzvi5gj3z9gcia1rgmnk0dzgc82vz47bgnfvhn4q0c7mvk31";
+      system = "cl-unicode";
+      asd = "cl-unicode";
+    });
+    systems = [ "cl-unicode/base" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  cl-unicode_slash_build = {
+    pname = "cl-unicode_build";
+    version = "20210228-git";
+    asds = [ "cl-unicode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-unicode/2021-02-28/cl-unicode-20210228-git.tgz";
+      sha256 = "1a9gbzvi5gj3z9gcia1rgmnk0dzgc82vz47bgnfvhn4q0c7mvk31";
+      system = "cl-unicode";
+      asd = "cl-unicode";
+    });
+    systems = [ "cl-unicode/build" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  cl-unicode_slash_test = {
+    pname = "cl-unicode_test";
+    version = "20210228-git";
+    asds = [ "cl-unicode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-unicode/2021-02-28/cl-unicode-20210228-git.tgz";
+      sha256 = "1a9gbzvi5gj3z9gcia1rgmnk0dzgc82vz47bgnfvhn4q0c7mvk31";
+      system = "cl-unicode";
+      asd = "cl-unicode";
+    });
+    systems = [ "cl-unicode/test" ];
+    lispLibs = [ (getAttr "cl-unicode" pkgs) ];
+  };
+  cl-unification = {
+    pname = "cl-unification";
+    version = "20211230-git";
+    asds = [ "cl-unification" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-unification/2021-12-30/cl-unification-20211230-git.tgz";
+      sha256 = "1k4ngdn1qycjakwl66kvxk6kjxhkamzq3yfq4qlpc0kd15p7d2xn";
+      system = "cl-unification";
+      asd = "cl-unification";
+    });
+    systems = [ "cl-unification" ];
+    lispLibs = [  ];
+  };
+  cl-unification-lib = {
+    pname = "cl-unification-lib";
+    version = "20211230-git";
+    asds = [ "cl-unification-lib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-unification/2021-12-30/cl-unification-20211230-git.tgz";
+      sha256 = "1k4ngdn1qycjakwl66kvxk6kjxhkamzq3yfq4qlpc0kd15p7d2xn";
+      system = "cl-unification-lib";
+      asd = "cl-unification-lib";
+    });
+    systems = [ "cl-unification-lib" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cl-unification" pkgs) ];
+  };
+  cl-unification-test = {
+    pname = "cl-unification-test";
+    version = "20211230-git";
+    asds = [ "cl-unification-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-unification/2021-12-30/cl-unification-20211230-git.tgz";
+      sha256 = "1k4ngdn1qycjakwl66kvxk6kjxhkamzq3yfq4qlpc0kd15p7d2xn";
+      system = "cl-unification-test";
+      asd = "cl-unification-test";
+    });
+    systems = [ "cl-unification-test" ];
+    lispLibs = [ (getAttr "cl-unification" pkgs) (getAttr "ptester" pkgs) ];
+  };
+  cl-utilities = {
+    pname = "cl-utilities";
+    version = "1.2.4";
+    asds = [ "cl-utilities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-utilities/2010-10-06/cl-utilities-1.2.4.tgz";
+      sha256 = "1dmbkdr8xm2jw5yx1makqbf1ypqbm0hpkd7zyknxv3cblvz0a87w";
+      system = "cl-utilities";
+      asd = "cl-utilities";
+    });
+    systems = [ "cl-utilities" ];
+    lispLibs = [  ];
+  };
+  cl-variates = {
+    pname = "cl-variates";
+    version = "20180131-darcs";
+    asds = [ "cl-variates" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-variates/2018-01-31/cl-variates-20180131-darcs.tgz";
+      sha256 = "02pd02isfxrn3h8h5kh369rwy17hfjkmd7j24pcihfskamgcqgfx";
+      system = "cl-variates";
+      asd = "cl-variates";
+    });
+    systems = [ "cl-variates" ];
+    lispLibs = [ (getAttr "asdf-system-connections" pkgs) ];
+  };
+  cl-vectors = {
+    pname = "cl-vectors";
+    version = "20180228-git";
+    asds = [ "cl-vectors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-vectors/2018-02-28/cl-vectors-20180228-git.tgz";
+      sha256 = "0nckw4zb6s96hll8hrxzvgs2an3bfm0pxcywshbm4bq4rn7niqg4";
+      system = "cl-vectors";
+      asd = "cl-vectors";
+    });
+    systems = [ "cl-vectors" ];
+    lispLibs = [ (getAttr "cl-aa" pkgs) (getAttr "cl-paths" pkgs) ];
+  };
+  cl-vhdl = {
+    pname = "cl-vhdl";
+    version = "20160421-git";
+    asds = [ "cl-vhdl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-vhdl/2016-04-21/cl-vhdl-20160421-git.tgz";
+      sha256 = "0i2780ljak8kcqa2zm24dk2fk771m2mvmnbq4xd4vvx9z87lbnvi";
+      system = "cl-vhdl";
+      asd = "cl-vhdl";
+    });
+    systems = [ "cl-vhdl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-itertools" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "esrap-liquid" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  cl-vhdl-tests = {
+    pname = "cl-vhdl-tests";
+    version = "20160421-git";
+    asds = [ "cl-vhdl-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-vhdl/2016-04-21/cl-vhdl-20160421-git.tgz";
+      sha256 = "0i2780ljak8kcqa2zm24dk2fk771m2mvmnbq4xd4vvx9z87lbnvi";
+      system = "cl-vhdl-tests";
+      asd = "cl-vhdl";
+    });
+    systems = [ "cl-vhdl-tests" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "cl-vhdl" pkgs) (getAttr "fare-quasiquote-optima" pkgs) (getAttr "fiveam" pkgs) (getAttr "optima" pkgs) ];
+  };
+  cl-video = {
+    pname = "cl-video";
+    version = "20180228-git";
+    asds = [ "cl-video" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz";
+      sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr";
+      system = "cl-video";
+      asd = "cl-video";
+    });
+    systems = [ "cl-video" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  cl-video-avi = {
+    pname = "cl-video-avi";
+    version = "20180228-git";
+    asds = [ "cl-video-avi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz";
+      sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr";
+      system = "cl-video-avi";
+      asd = "cl-video-avi";
+    });
+    systems = [ "cl-video-avi" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-jpeg" pkgs) (getAttr "cl-riff" pkgs) (getAttr "cl-video" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  cl-video-gif = {
+    pname = "cl-video-gif";
+    version = "20180228-git";
+    asds = [ "cl-video-gif" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz";
+      sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr";
+      system = "cl-video-gif";
+      asd = "cl-video-gif";
+    });
+    systems = [ "cl-video-gif" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-video" pkgs) (getAttr "skippy" pkgs) ];
+  };
+  cl-video-player = {
+    pname = "cl-video-player";
+    version = "20180228-git";
+    asds = [ "cl-video-player" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz";
+      sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr";
+      system = "cl-video-player";
+      asd = "cl-video-player";
+    });
+    systems = [ "cl-video-player" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-portaudio" pkgs) (getAttr "cl-video-avi" pkgs) (getAttr "cl-video-gif" pkgs) (getAttr "cl-video-wav" pkgs) (getAttr "clx" pkgs) ];
+  };
+  cl-video-wav = {
+    pname = "cl-video-wav";
+    version = "20180228-git";
+    asds = [ "cl-video-wav" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-video/2018-02-28/cl-video-20180228-git.tgz";
+      sha256 = "1azldcp6r0j1kw6rczicmnv4m0d7rq4m5axz48ny6r2qybha80lr";
+      system = "cl-video-wav";
+      asd = "cl-video-wav";
+    });
+    systems = [ "cl-video-wav" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-riff" pkgs) (getAttr "cl-video" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  cl-virtualbox = {
+    pname = "cl-virtualbox";
+    version = "20180831-git";
+    asds = [ "cl-virtualbox" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-virtualbox/2018-08-31/cl-virtualbox-20180831-git.tgz";
+      sha256 = "1jzn8jjn9yn9vgnn1r6h0iyxb6j17wm8lmf9j5hk4yqwdzb2nidv";
+      system = "cl-virtualbox";
+      asd = "cl-virtualbox";
+    });
+    systems = [ "cl-virtualbox" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "uiop" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-vorbis = {
+    pname = "cl-vorbis";
+    version = "20210531-git";
+    asds = [ "cl-vorbis" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-vorbis/2021-05-31/cl-vorbis-20210531-git.tgz";
+      sha256 = "105rl8scyva1dkfw2qk6qmyr70rq593j5j8r32xccwwfkjv2pmkb";
+      system = "cl-vorbis";
+      asd = "cl-vorbis";
+    });
+    systems = [ "cl-vorbis" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "static-vectors" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cl-voxelize = {
+    pname = "cl-voxelize";
+    version = "20150709-git";
+    asds = [ "cl-voxelize" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-voxelize/2015-07-09/cl-voxelize-20150709-git.tgz";
+      sha256 = "1sim8n175dgy0i0dxi1vsqzgjx07lgsnrgn3bizzka58ni5y8xdm";
+      system = "cl-voxelize";
+      asd = "cl-voxelize";
+    });
+    systems = [ "cl-voxelize" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  cl-voxelize-examples = {
+    pname = "cl-voxelize-examples";
+    version = "20150709-git";
+    asds = [ "cl-voxelize-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-voxelize/2015-07-09/cl-voxelize-20150709-git.tgz";
+      sha256 = "1sim8n175dgy0i0dxi1vsqzgjx07lgsnrgn3bizzka58ni5y8xdm";
+      system = "cl-voxelize-examples";
+      asd = "cl-voxelize-examples";
+    });
+    systems = [ "cl-voxelize-examples" ];
+    lispLibs = [ (getAttr "cl-ply" pkgs) (getAttr "cl-voxelize" pkgs) ];
+  };
+  cl-voxelize-test = {
+    pname = "cl-voxelize-test";
+    version = "20150709-git";
+    asds = [ "cl-voxelize-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-voxelize/2015-07-09/cl-voxelize-20150709-git.tgz";
+      sha256 = "1sim8n175dgy0i0dxi1vsqzgjx07lgsnrgn3bizzka58ni5y8xdm";
+      system = "cl-voxelize-test";
+      asd = "cl-voxelize-test";
+    });
+    systems = [ "cl-voxelize-test" ];
+    lispLibs = [ (getAttr "cl-voxelize" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-wadler-pprint = {
+    pname = "cl-wadler-pprint";
+    version = "20191007-git";
+    asds = [ "cl-wadler-pprint" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-wadler-pprint/2019-10-07/cl-wadler-pprint-20191007-git.tgz";
+      sha256 = "0y5jxk7yiw8wng7hg91cwibh6d2hf1sv2mzqhkds6l4myhzxb4jr";
+      system = "cl-wadler-pprint";
+      asd = "cl-wadler-pprint";
+    });
+    systems = [ "cl-wadler-pprint" ];
+    lispLibs = [  ];
+  };
+  cl-wadler-pprint_slash_test = {
+    pname = "cl-wadler-pprint_test";
+    version = "20191007-git";
+    asds = [ "cl-wadler-pprint" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-wadler-pprint/2019-10-07/cl-wadler-pprint-20191007-git.tgz";
+      sha256 = "0y5jxk7yiw8wng7hg91cwibh6d2hf1sv2mzqhkds6l4myhzxb4jr";
+      system = "cl-wadler-pprint";
+      asd = "cl-wadler-pprint";
+    });
+    systems = [ "cl-wadler-pprint/test" ];
+    lispLibs = [ (getAttr "cl-wadler-pprint" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-wav = {
+    pname = "cl-wav";
+    version = "20180131-git";
+    asds = [ "cl-wav" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-wav/2018-01-31/cl-wav-20180131-git.tgz";
+      sha256 = "1izdn4wd640cdh8vjf32nilbr34wbyca24nazhx1j878qhm2bisa";
+      system = "cl-wav";
+      asd = "cl-wav";
+    });
+    systems = [ "cl-wav" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-riff" pkgs) ];
+  };
+  cl-wave-file-writer = {
+    pname = "cl-wave-file-writer";
+    version = "quickload-current-release-42cde6cf-git";
+    asds = [ "cl-wave-file-writer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-wave-file-writer/2021-10-20/cl-wave-file-writer-quickload-current-release-42cde6cf-git.tgz";
+      sha256 = "0mxzp6rm7ah86vp1xj67q43al71k62x407m5vmbldvyb6pmx37fp";
+      system = "cl-wave-file-writer";
+      asd = "cl-wave-file-writer";
+    });
+    systems = [ "cl-wave-file-writer" ];
+    lispLibs = [  ];
+  };
+  cl-wave-file-writer_slash_doc = {
+    pname = "cl-wave-file-writer_doc";
+    version = "quickload-current-release-42cde6cf-git";
+    asds = [ "cl-wave-file-writer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-wave-file-writer/2021-10-20/cl-wave-file-writer-quickload-current-release-42cde6cf-git.tgz";
+      sha256 = "0mxzp6rm7ah86vp1xj67q43al71k62x407m5vmbldvyb6pmx37fp";
+      system = "cl-wave-file-writer";
+      asd = "cl-wave-file-writer";
+    });
+    systems = [ "cl-wave-file-writer/doc" ];
+    lispLibs = [ (getAttr "cl-html-readme" pkgs) (getAttr "cl-wave-file-writer" pkgs) (getAttr "docparser" pkgs) ];
+  };
+  cl-wavelets = {
+    pname = "cl-wavelets";
+    version = "20201220-git";
+    asds = [ "cl-wavelets" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-wavelets/2020-12-20/cl-wavelets-20201220-git.tgz";
+      sha256 = "0j7wbgvyq45q1di5zbjlvy4z29m6yd3mdcir40zmc07gmbcwzzyi";
+      system = "cl-wavelets";
+      asd = "cl-wavelets";
+    });
+    systems = [ "cl-wavelets" ];
+    lispLibs = [  ];
+  };
+  cl-wavelets_slash_examples = {
+    pname = "cl-wavelets_examples";
+    version = "20201220-git";
+    asds = [ "cl-wavelets" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-wavelets/2020-12-20/cl-wavelets-20201220-git.tgz";
+      sha256 = "0j7wbgvyq45q1di5zbjlvy4z29m6yd3mdcir40zmc07gmbcwzzyi";
+      system = "cl-wavelets";
+      asd = "cl-wavelets";
+    });
+    systems = [ "cl-wavelets/examples" ];
+    lispLibs = [ (getAttr "cl-jpeg" pkgs) (getAttr "cl-wavelets" pkgs) (getAttr "easy-audio" pkgs) ];
+  };
+  cl-wavelets_slash_tests = {
+    pname = "cl-wavelets_tests";
+    version = "20201220-git";
+    asds = [ "cl-wavelets" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-wavelets/2020-12-20/cl-wavelets-20201220-git.tgz";
+      sha256 = "0j7wbgvyq45q1di5zbjlvy4z29m6yd3mdcir40zmc07gmbcwzzyi";
+      system = "cl-wavelets";
+      asd = "cl-wavelets";
+    });
+    systems = [ "cl-wavelets/tests" ];
+    lispLibs = [ (getAttr "cl-wavelets" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-wayland = {
+    pname = "cl-wayland";
+    version = "20190307-git";
+    asds = [ "cl-wayland" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-wayland/2019-03-07/cl-wayland-20190307-git.tgz";
+      sha256 = "1axdkdm5d2bvj674jq6ylwhfwbzzs7yjj6f04c519qbdq9sknbcn";
+      system = "cl-wayland";
+      asd = "cl-wayland";
+    });
+    systems = [ "cl-wayland" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  cl-weather-jp = {
+    pname = "cl-weather-jp";
+    version = "20160208-git";
+    asds = [ "cl-weather-jp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-weather-jp/2016-02-08/cl-weather-jp-20160208-git.tgz";
+      sha256 = "15bp7gdk7ck9xs9lx2rrzqw6awlk6nz03cqy14wv2lvy3j84dc01";
+      system = "cl-weather-jp";
+      asd = "cl-weather-jp";
+    });
+    systems = [ "cl-weather-jp" ];
+    lispLibs = [ (getAttr "clss" pkgs) (getAttr "dexador" pkgs) (getAttr "function-cache" pkgs) (getAttr "jonathan" pkgs) (getAttr "plump" pkgs) ];
+  };
+  cl-weather-jp-test = {
+    pname = "cl-weather-jp-test";
+    version = "20160208-git";
+    asds = [ "cl-weather-jp-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-weather-jp/2016-02-08/cl-weather-jp-20160208-git.tgz";
+      sha256 = "15bp7gdk7ck9xs9lx2rrzqw6awlk6nz03cqy14wv2lvy3j84dc01";
+      system = "cl-weather-jp-test";
+      asd = "cl-weather-jp-test";
+    });
+    systems = [ "cl-weather-jp-test" ];
+    lispLibs = [ (getAttr "cl-weather-jp" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-webdav = {
+    pname = "cl-webdav";
+    version = "20170830-git";
+    asds = [ "cl-webdav" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-webdav/2017-08-30/cl-webdav-20170830-git.tgz";
+      sha256 = "1cmzv763k4s5blfhx2p8s7q9gk20p8mj9p34dngydc14d2acrxmg";
+      system = "cl-webdav";
+      asd = "cl-webdav";
+    });
+    systems = [ "cl-webdav" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "cxml" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  cl-webdriver-client = {
+    pname = "cl-webdriver-client";
+    version = "20211230-git";
+    asds = [ "cl-webdriver-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-webdriver-client/2021-12-30/cl-webdriver-client-20211230-git.tgz";
+      sha256 = "12ackxk5glsi2dg7kjn6gr1c6r6xnmd23hwsbb9fghwjl23cqlri";
+      system = "cl-webdriver-client";
+      asd = "cl-webdriver-client";
+    });
+    systems = [ "cl-webdriver-client" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "assoc-utils" pkgs) (getAttr "cl-json" pkgs) (getAttr "dexador" pkgs) (getAttr "quri" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  cl-webdriver-client-test = {
+    pname = "cl-webdriver-client-test";
+    version = "20211230-git";
+    asds = [ "cl-webdriver-client-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-webdriver-client/2021-12-30/cl-webdriver-client-20211230-git.tgz";
+      sha256 = "12ackxk5glsi2dg7kjn6gr1c6r6xnmd23hwsbb9fghwjl23cqlri";
+      system = "cl-webdriver-client-test";
+      asd = "cl-webdriver-client-test";
+    });
+    systems = [ "cl-webdriver-client-test" ];
+    lispLibs = [ (getAttr "cl-webdriver-client" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-webkit2 = {
+    pname = "cl-webkit2";
+    version = "20211209-git";
+    asds = [ "cl-webkit2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-webkit/2021-12-09/cl-webkit-20211209-git.tgz";
+      sha256 = "02lxsr5n10iqmgrap29bcgdni2w09dcrzw4af631irnhksrrl72i";
+      system = "cl-webkit2";
+      asd = "cl-webkit2";
+    });
+    systems = [ "cl-webkit2" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-cffi-gtk" pkgs) ];
+  };
+  cl-who = {
+    pname = "cl-who";
+    version = "20190710-git";
+    asds = [ "cl-who" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-who/2019-07-10/cl-who-20190710-git.tgz";
+      sha256 = "0sc8nji9q1df04lhsiwsjy1a35996bibl31w5hp5sh8q6sa122dy";
+      system = "cl-who";
+      asd = "cl-who";
+    });
+    systems = [ "cl-who" ];
+    lispLibs = [  ];
+  };
+  cl-who-test = {
+    pname = "cl-who-test";
+    version = "20190710-git";
+    asds = [ "cl-who-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-who/2019-07-10/cl-who-20190710-git.tgz";
+      sha256 = "0sc8nji9q1df04lhsiwsjy1a35996bibl31w5hp5sh8q6sa122dy";
+      system = "cl-who-test";
+      asd = "cl-who";
+    });
+    systems = [ "cl-who-test" ];
+    lispLibs = [ (getAttr "cl-who" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  cl-why = {
+    pname = "cl-why";
+    version = "20180228-git";
+    asds = [ "cl-why" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-why/2018-02-28/cl-why-20180228-git.tgz";
+      sha256 = "01xm7gj1wwd7i3r49jfdm96gwl7nvrn0h6q22kpzrb8zs48wj947";
+      system = "cl-why";
+      asd = "cl-why";
+    });
+    systems = [ "cl-why" ];
+    lispLibs = [  ];
+  };
+  cl-why-test = {
+    pname = "cl-why-test";
+    version = "20180228-git";
+    asds = [ "cl-why-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-why/2018-02-28/cl-why-20180228-git.tgz";
+      sha256 = "01xm7gj1wwd7i3r49jfdm96gwl7nvrn0h6q22kpzrb8zs48wj947";
+      system = "cl-why-test";
+      asd = "cl-why";
+    });
+    systems = [ "cl-why-test" ];
+    lispLibs = [ (getAttr "cl-why" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  cl-with = {
+    pname = "cl-with";
+    version = "20211020-git";
+    asds = [ "cl-with" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-with/2021-10-20/cl-with-20211020-git.tgz";
+      sha256 = "1x4laq7zi12xb28rfrh8hcy92pkfvjxsp2nn6jkmrhfynky5180w";
+      system = "cl-with";
+      asd = "cl-with";
+    });
+    systems = [ "cl-with" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  cl-wordcut = {
+    pname = "cl-wordcut";
+    version = "20160421-git";
+    asds = [ "cl-wordcut" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-wordcut/2016-04-21/cl-wordcut-20160421-git.tgz";
+      sha256 = "1b8b3b1rgk0y87l54325ilcly8rq9qxalcsmw6rk8q6dq13lgv78";
+      system = "cl-wordcut";
+      asd = "cl-wordcut";
+    });
+    systems = [ "cl-wordcut" ];
+    lispLibs = [  ];
+  };
+  cl-wordcut_slash_test = {
+    pname = "cl-wordcut_test";
+    version = "20160421-git";
+    asds = [ "cl-wordcut" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-wordcut/2016-04-21/cl-wordcut-20160421-git.tgz";
+      sha256 = "1b8b3b1rgk0y87l54325ilcly8rq9qxalcsmw6rk8q6dq13lgv78";
+      system = "cl-wordcut";
+      asd = "cl-wordcut";
+    });
+    systems = [ "cl-wordcut/test" ];
+    lispLibs = [ (getAttr "cl-wordcut" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-xdg = {
+    pname = "cl-xdg";
+    version = "20170124-git";
+    asds = [ "cl-xdg" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-xdg/2017-01-24/cl-xdg-20170124-git.tgz";
+      sha256 = "078hgsab0gl6s96wq09ibq5alzyyqh6wwc3yjs44fv18561p5jgc";
+      system = "cl-xdg";
+      asd = "cl-xdg";
+    });
+    systems = [ "cl-xdg" ];
+    lispLibs = [ (getAttr "cl-sxml" pkgs) (getAttr "cl-xmlspam" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "parse-number" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-xdg-test = {
+    pname = "cl-xdg-test";
+    version = "20170124-git";
+    asds = [ "cl-xdg-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-xdg/2017-01-24/cl-xdg-20170124-git.tgz";
+      sha256 = "078hgsab0gl6s96wq09ibq5alzyyqh6wwc3yjs44fv18561p5jgc";
+      system = "cl-xdg-test";
+      asd = "cl-xdg";
+    });
+    systems = [ "cl-xdg-test" ];
+    lispLibs = [ (getAttr "cl-xdg" pkgs) (getAttr "fiveam" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cl-xkb = {
+    pname = "cl-xkb";
+    version = "20180228-git";
+    asds = [ "cl-xkb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-xkb/2018-02-28/cl-xkb-20180228-git.tgz";
+      sha256 = "026bps1hdj0gnsnss8gs9kp40alwlnhy7cca4117l8ai9wb0m694";
+      system = "cl-xkb";
+      asd = "cl-xkb";
+    });
+    systems = [ "cl-xkb" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  cl-xkeysym = {
+    pname = "cl-xkeysym";
+    version = "20140914-git";
+    asds = [ "cl-xkeysym" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-xkeysym/2014-09-14/cl-xkeysym-20140914-git.tgz";
+      sha256 = "0yxijl6xb5apb6v6qm8g3kfdr90slgg6vsnx4d1ps9z4zhrjlc6c";
+      system = "cl-xkeysym";
+      asd = "cl-xkeysym";
+    });
+    systems = [ "cl-xkeysym" ];
+    lispLibs = [  ];
+  };
+  cl-xmlspam = {
+    pname = "cl-xmlspam";
+    version = "20101006-http";
+    asds = [ "cl-xmlspam" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-xmlspam/2010-10-06/cl-xmlspam-20101006-http.tgz";
+      sha256 = "03jw57889b60nsqgb13vrf5q1g2fasah7qv7knjlx2w4mc1ci7ks";
+      system = "cl-xmlspam";
+      asd = "cl-xmlspam";
+    });
+    systems = [ "cl-xmlspam" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cxml" pkgs) ];
+  };
+  cl-xmpp = {
+    pname = "cl-xmpp";
+    version = "0.8.1";
+    asds = [ "cl-xmpp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-xmpp/2010-10-06/cl-xmpp-0.8.1.tgz";
+      sha256 = "1kzzq1y0625zlg83ppcpb0aqzvqbga9x3gm826grmy4rf5jrhz5f";
+      system = "cl-xmpp";
+      asd = "cl-xmpp";
+    });
+    systems = [ "cl-xmpp" ];
+    lispLibs = [ (getAttr "cxml" pkgs) (getAttr "ironclad" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cl-xmpp-sasl = {
+    pname = "cl-xmpp-sasl";
+    version = "0.8.1";
+    asds = [ "cl-xmpp-sasl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-xmpp/2010-10-06/cl-xmpp-0.8.1.tgz";
+      sha256 = "1kzzq1y0625zlg83ppcpb0aqzvqbga9x3gm826grmy4rf5jrhz5f";
+      system = "cl-xmpp-sasl";
+      asd = "cl-xmpp-sasl";
+    });
+    systems = [ "cl-xmpp-sasl" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "cl-sasl" pkgs) (getAttr "cl-xmpp" pkgs) ];
+  };
+  cl-xmpp-tls = {
+    pname = "cl-xmpp-tls";
+    version = "0.8.1";
+    asds = [ "cl-xmpp-tls" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-xmpp/2010-10-06/cl-xmpp-0.8.1.tgz";
+      sha256 = "1kzzq1y0625zlg83ppcpb0aqzvqbga9x3gm826grmy4rf5jrhz5f";
+      system = "cl-xmpp-tls";
+      asd = "cl-xmpp-tls";
+    });
+    systems = [ "cl-xmpp-tls" ];
+    lispLibs = [ (getAttr "cl_plus_ssl" pkgs) (getAttr "cl-xmpp-sasl" pkgs) ];
+  };
+  cl-xul = {
+    pname = "cl-xul";
+    version = "20160318-git";
+    asds = [ "cl-xul" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-xul/2016-03-18/cl-xul-20160318-git.tgz";
+      sha256 = "0ldny4bjfndrkyqcq6klqxvqkpb0lhcqlj52y89ybl9w7dkl2d9p";
+      system = "cl-xul";
+      asd = "cl-xul";
+    });
+    systems = [ "cl-xul" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-json" pkgs) (getAttr "closer-mop" pkgs) (getAttr "clws" pkgs) (getAttr "cxml" pkgs) (getAttr "log5" pkgs) (getAttr "md5" pkgs) (getAttr "parenscript" pkgs) ];
+  };
+  cl-xul-test = {
+    pname = "cl-xul-test";
+    version = "20160318-git";
+    asds = [ "cl-xul-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-xul/2016-03-18/cl-xul-20160318-git.tgz";
+      sha256 = "0ldny4bjfndrkyqcq6klqxvqkpb0lhcqlj52y89ybl9w7dkl2d9p";
+      system = "cl-xul-test";
+      asd = "cl-xul-test";
+    });
+    systems = [ "cl-xul-test" ];
+    lispLibs = [ (getAttr "cl-xul" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-yaclyaml = {
+    pname = "cl-yaclyaml";
+    version = "20160825-git";
+    asds = [ "cl-yaclyaml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-yaclyaml/2016-08-25/cl-yaclyaml-20160825-git.tgz";
+      sha256 = "1clfhz4ii2p11yc3bm23ib4rx0rfxsh18ddc2br82i7mbwks3pll";
+      system = "cl-yaclyaml";
+      asd = "cl-yaclyaml";
+    });
+    systems = [ "cl-yaclyaml" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "esrap-liquid" pkgs) (getAttr "iterate" pkgs) (getAttr "parse-number" pkgs) (getAttr "cl-test-more" pkgs) (getAttr "rutils" pkgs) ];
+  };
+  cl-yaclyaml-tests = {
+    pname = "cl-yaclyaml-tests";
+    version = "20160825-git";
+    asds = [ "cl-yaclyaml-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-yaclyaml/2016-08-25/cl-yaclyaml-20160825-git.tgz";
+      sha256 = "1clfhz4ii2p11yc3bm23ib4rx0rfxsh18ddc2br82i7mbwks3pll";
+      system = "cl-yaclyaml-tests";
+      asd = "cl-yaclyaml";
+    });
+    systems = [ "cl-yaclyaml-tests" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "cl-yaclyaml" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cl-yahoo-finance = {
+    pname = "cl-yahoo-finance";
+    version = "20130312-git";
+    asds = [ "cl-yahoo-finance" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-yahoo-finance/2013-03-12/cl-yahoo-finance-20130312-git.tgz";
+      sha256 = "1qhs4j00iw1w81lx0vmyiayzqyvixaxc5j2rc89qlr1gx12mqadl";
+      system = "cl-yahoo-finance";
+      asd = "cl-yahoo-finance";
+    });
+    systems = [ "cl-yahoo-finance" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-csv" pkgs) (getAttr "drakma" pkgs) (getAttr "url-rewrite" pkgs) (getAttr "yason" pkgs) ];
+  };
+  cl-yaml = {
+    pname = "cl-yaml";
+    version = "20201220-git";
+    asds = [ "cl-yaml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-yaml/2020-12-20/cl-yaml-20201220-git.tgz";
+      sha256 = "1izjg0v6rf7dh069bbnnr67l30lsqj86wdk7y9ggbgiwh6v9j185";
+      system = "cl-yaml";
+      asd = "cl-yaml";
+    });
+    systems = [ "cl-yaml" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-libyaml" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  cl-yaml-test = {
+    pname = "cl-yaml-test";
+    version = "20201220-git";
+    asds = [ "cl-yaml-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-yaml/2020-12-20/cl-yaml-20201220-git.tgz";
+      sha256 = "1izjg0v6rf7dh069bbnnr67l30lsqj86wdk7y9ggbgiwh6v9j185";
+      system = "cl-yaml-test";
+      asd = "cl-yaml-test";
+    });
+    systems = [ "cl-yaml-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-yaml" pkgs) (getAttr "fiveam" pkgs) (getAttr "generic-comparability" pkgs) (getAttr "trivial-benchmark" pkgs) (getAttr "yason" pkgs) ];
+  };
+  cl-yesql = {
+    pname = "cl-yesql";
+    version = "20211020-git";
+    asds = [ "cl-yesql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-yesql/2021-10-20/cl-yesql-20211020-git.tgz";
+      sha256 = "0bg133kprbssv0z4ir2hkhf72fbmnz9v9861ncs1isqaby2d4xlj";
+      system = "cl-yesql";
+      asd = "cl-yesql";
+    });
+    systems = [ "cl-yesql" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "asdf-package-system" pkgs) (getAttr "esrap" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivia" pkgs) (getAttr "vernacular" pkgs) ];
+  };
+  cl-zipper = {
+    pname = "cl-zipper";
+    version = "20200610-git";
+    asds = [ "cl-zipper" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-zipper/2020-06-10/cl-zipper-20200610-git.tgz";
+      sha256 = "1zcfy97l40ynbldxpx8nad81jlrfp0k2vic10wbkrqdfkr696xkg";
+      system = "cl-zipper";
+      asd = "cl-zipper";
+    });
+    systems = [ "cl-zipper" ];
+    lispLibs = [ (getAttr "prove-asdf" pkgs) ];
+  };
+  cl-zipper-test = {
+    pname = "cl-zipper-test";
+    version = "20200610-git";
+    asds = [ "cl-zipper-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-zipper/2020-06-10/cl-zipper-20200610-git.tgz";
+      sha256 = "1zcfy97l40ynbldxpx8nad81jlrfp0k2vic10wbkrqdfkr696xkg";
+      system = "cl-zipper-test";
+      asd = "cl-zipper";
+    });
+    systems = [ "cl-zipper-test" ];
+    lispLibs = [ (getAttr "cl-zipper" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "test-utils" pkgs) ];
+  };
+  cl4store = {
+    pname = "cl4store";
+    version = "20200325-git";
+    asds = [ "cl4store" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl4store/2020-03-25/cl4store-20200325-git.tgz";
+      sha256 = "0qajxwlvmb5vd9qynnl0n62bcl1xhin49xk0p44v6pig8q2jzc26";
+      system = "cl4store";
+      asd = "cl4store";
+    });
+    systems = [ "cl4store" ];
+    lispLibs = [ (getAttr "cl-rdfxml" pkgs) (getAttr "cl-sparql" pkgs) (getAttr "drakma" pkgs) (getAttr "log5" pkgs) ];
+  };
+  clache = {
+    pname = "clache";
+    version = "20171130-git";
+    asds = [ "clache" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clache/2017-11-30/clache-20171130-git.tgz";
+      sha256 = "0wxg004bsay58vr6xr6mlk7wj415qmvisqxvpnjsg6glfwca86ys";
+      system = "clache";
+      asd = "clache";
+    });
+    systems = [ "clache" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-annot" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-store" pkgs) (getAttr "cl-syntax" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "ironclad" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  clache-test = {
+    pname = "clache-test";
+    version = "20171130-git";
+    asds = [ "clache-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clache/2017-11-30/clache-20171130-git.tgz";
+      sha256 = "0wxg004bsay58vr6xr6mlk7wj415qmvisqxvpnjsg6glfwca86ys";
+      system = "clache-test";
+      asd = "clache-test";
+    });
+    systems = [ "clache-test" ];
+    lispLibs = [ (getAttr "clache" pkgs) (getAttr "cl-test-more" pkgs) ];
+  };
+  clack = {
+    pname = "clack";
+    version = "20211209-git";
+    asds = [ "clack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack/2021-12-09/clack-20211209-git.tgz";
+      sha256 = "197ry7bg9bnfk88xh6kpib2z67hqbnib6kfz7600k4ypiw3ay0qq";
+      system = "clack";
+      asd = "clack";
+    });
+    systems = [ "clack" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "lack" pkgs) (getAttr "lack-middleware-backtrace" pkgs) (getAttr "lack-util" pkgs) (getAttr "uiop" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  clack-errors = {
+    pname = "clack-errors";
+    version = "20190813-git";
+    asds = [ "clack-errors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack-errors/2019-08-13/clack-errors-20190813-git.tgz";
+      sha256 = "0z6jyn37phnpq02l5wml8z0593g8ps95c0c2lzkhi3is2wcj9cpf";
+      system = "clack-errors";
+      asd = "clack-errors";
+    });
+    systems = [ "clack-errors" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "clack" pkgs) (getAttr "closer-mop" pkgs) (getAttr "djula" pkgs) (getAttr "local-time" pkgs) (getAttr "trivial-backtrace" pkgs) ];
+  };
+  clack-errors-demo = {
+    pname = "clack-errors-demo";
+    version = "20190813-git";
+    asds = [ "clack-errors-demo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack-errors/2019-08-13/clack-errors-20190813-git.tgz";
+      sha256 = "0z6jyn37phnpq02l5wml8z0593g8ps95c0c2lzkhi3is2wcj9cpf";
+      system = "clack-errors-demo";
+      asd = "clack-errors-demo";
+    });
+    systems = [ "clack-errors-demo" ];
+    lispLibs = [ (getAttr "cl-markup" pkgs) (getAttr "clack-errors" pkgs) ];
+  };
+  clack-errors-test = {
+    pname = "clack-errors-test";
+    version = "20190813-git";
+    asds = [ "clack-errors-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack-errors/2019-08-13/clack-errors-20190813-git.tgz";
+      sha256 = "0z6jyn37phnpq02l5wml8z0593g8ps95c0c2lzkhi3is2wcj9cpf";
+      system = "clack-errors-test";
+      asd = "clack-errors-test";
+    });
+    systems = [ "clack-errors-test" ];
+    lispLibs = [ (getAttr "clack" pkgs) (getAttr "clack-errors" pkgs) (getAttr "drakma" pkgs) (getAttr "fiveam" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  clack-handler-fcgi = {
+    pname = "clack-handler-fcgi";
+    version = "20211209-git";
+    asds = [ "clack-handler-fcgi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack/2021-12-09/clack-20211209-git.tgz";
+      sha256 = "197ry7bg9bnfk88xh6kpib2z67hqbnib6kfz7600k4ypiw3ay0qq";
+      system = "clack-handler-fcgi";
+      asd = "clack-handler-fcgi";
+    });
+    systems = [ "clack-handler-fcgi" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fastcgi" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "quri" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  clack-handler-hunchentoot = {
+    pname = "clack-handler-hunchentoot";
+    version = "20211209-git";
+    asds = [ "clack-handler-hunchentoot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack/2021-12-09/clack-20211209-git.tgz";
+      sha256 = "197ry7bg9bnfk88xh6kpib2z67hqbnib6kfz7600k4ypiw3ay0qq";
+      system = "clack-handler-hunchentoot";
+      asd = "clack-handler-hunchentoot";
+    });
+    systems = [ "clack-handler-hunchentoot" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "clack-socket" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  clack-handler-toot = {
+    pname = "clack-handler-toot";
+    version = "20211209-git";
+    asds = [ "clack-handler-toot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack/2021-12-09/clack-20211209-git.tgz";
+      sha256 = "197ry7bg9bnfk88xh6kpib2z67hqbnib6kfz7600k4ypiw3ay0qq";
+      system = "clack-handler-toot";
+      asd = "clack-handler-toot";
+    });
+    systems = [ "clack-handler-toot" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "split-sequence" pkgs) (getAttr "toot" pkgs) ];
+  };
+  clack-handler-woo = {
+    pname = "clack-handler-woo";
+    version = "20211209-git";
+    asds = [ "clack-handler-woo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/woo/2021-12-09/woo-20211209-git.tgz";
+      sha256 = "01srnlrq13yjk6qmh60m3d4r7hiygj7qln7q4mxvvxkvm5kmzm53";
+      system = "clack-handler-woo";
+      asd = "clack-handler-woo";
+    });
+    systems = [ "clack-handler-woo" ];
+    lispLibs = [ (getAttr "woo" pkgs) ];
+  };
+  clack-handler-wookie = {
+    pname = "clack-handler-wookie";
+    version = "20211209-git";
+    asds = [ "clack-handler-wookie" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack/2021-12-09/clack-20211209-git.tgz";
+      sha256 = "197ry7bg9bnfk88xh6kpib2z67hqbnib6kfz7600k4ypiw3ay0qq";
+      system = "clack-handler-wookie";
+      asd = "clack-handler-wookie";
+    });
+    systems = [ "clack-handler-wookie" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-async" pkgs) (getAttr "clack-socket" pkgs) (getAttr "fast-http" pkgs) (getAttr "fast-io" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "quri" pkgs) (getAttr "split-sequence" pkgs) (getAttr "wookie" pkgs) ];
+  };
+  clack-pretend = {
+    pname = "clack-pretend";
+    version = "20210630-git";
+    asds = [ "clack-pretend" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack-pretend/2021-06-30/clack-pretend-20210630-git.tgz";
+      sha256 = "1fhbznnrfkg9n3ql97h4adaqf968gn7i9xpggb4zzszc8gwiyasg";
+      system = "clack-pretend";
+      asd = "clack-pretend";
+    });
+    systems = [ "clack-pretend" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "circular-streams" pkgs) (getAttr "cl-hash-util" pkgs) (getAttr "clack" pkgs) (getAttr "lack-request" pkgs) ];
+  };
+  clack-socket = {
+    pname = "clack-socket";
+    version = "20211209-git";
+    asds = [ "clack-socket" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack/2021-12-09/clack-20211209-git.tgz";
+      sha256 = "197ry7bg9bnfk88xh6kpib2z67hqbnib6kfz7600k4ypiw3ay0qq";
+      system = "clack-socket";
+      asd = "clack-socket";
+    });
+    systems = [ "clack-socket" ];
+    lispLibs = [  ];
+  };
+  clack-static-asset-djula-helpers = {
+    pname = "clack-static-asset-djula-helpers";
+    version = "20211209-git";
+    asds = [ "clack-static-asset-djula-helpers" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack-static-asset-middleware/2021-12-09/clack-static-asset-middleware-20211209-git.tgz";
+      sha256 = "0fk288812sdm012knqx4qqdhggdqbfgd0zfb6mc06xig20wj02hc";
+      system = "clack-static-asset-djula-helpers";
+      asd = "clack-static-asset-djula-helpers";
+    });
+    systems = [ "clack-static-asset-djula-helpers" ];
+    lispLibs = [ (getAttr "clack-static-asset-middleware" pkgs) (getAttr "djula" pkgs) ];
+  };
+  clack-static-asset-middleware = {
+    pname = "clack-static-asset-middleware";
+    version = "20211209-git";
+    asds = [ "clack-static-asset-middleware" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack-static-asset-middleware/2021-12-09/clack-static-asset-middleware-20211209-git.tgz";
+      sha256 = "0fk288812sdm012knqx4qqdhggdqbfgd0zfb6mc06xig20wj02hc";
+      system = "clack-static-asset-middleware";
+      asd = "clack-static-asset-middleware";
+    });
+    systems = [ "clack-static-asset-middleware" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "ironclad" pkgs) (getAttr "local-time" pkgs) (getAttr "trivial-mimes" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  clack-static-asset-middleware-test = {
+    pname = "clack-static-asset-middleware-test";
+    version = "20211209-git";
+    asds = [ "clack-static-asset-middleware-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack-static-asset-middleware/2021-12-09/clack-static-asset-middleware-20211209-git.tgz";
+      sha256 = "0fk288812sdm012knqx4qqdhggdqbfgd0zfb6mc06xig20wj02hc";
+      system = "clack-static-asset-middleware-test";
+      asd = "clack-static-asset-middleware-test";
+    });
+    systems = [ "clack-static-asset-middleware-test" ];
+    lispLibs = [ (getAttr "clack-static-asset-djula-helpers" pkgs) (getAttr "clack-static-asset-middleware" pkgs) (getAttr "lack-test" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  clack-test = {
+    pname = "clack-test";
+    version = "20211209-git";
+    asds = [ "clack-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack/2021-12-09/clack-20211209-git.tgz";
+      sha256 = "197ry7bg9bnfk88xh6kpib2z67hqbnib6kfz7600k4ypiw3ay0qq";
+      system = "clack-test";
+      asd = "clack-test";
+    });
+    systems = [ "clack-test" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "clack" pkgs) (getAttr "clack-handler-hunchentoot" pkgs) (getAttr "dexador" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "http-body" pkgs) (getAttr "rove" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  clad = {
+    pname = "clad";
+    version = "20211230-git";
+    asds = [ "clad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clad/2021-12-30/clad-20211230-git.tgz";
+      sha256 = "0g8d1nk3vwz2yhh9wh89khhps165v4zhy1lj30y589ynr1ziwpdz";
+      system = "clad";
+      asd = "clad";
+    });
+    systems = [ "clad" ];
+    lispLibs = [  ];
+  };
+  class-options = {
+    pname = "class-options";
+    version = "1.0.1";
+    asds = [ "class-options" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/class-options/2020-10-16/class-options_1.0.1.tgz";
+      sha256 = "1dkgr1vbrsra44jznzz2bvdf8nlpdrrkjcqrfs8aa7axksda3bqk";
+      system = "class-options";
+      asd = "class-options";
+    });
+    systems = [ "class-options" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  class-options_tests = {
+    pname = "class-options_tests";
+    version = "1.0.1";
+    asds = [ "class-options_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/class-options/2020-10-16/class-options_1.0.1.tgz";
+      sha256 = "1dkgr1vbrsra44jznzz2bvdf8nlpdrrkjcqrfs8aa7axksda3bqk";
+      system = "class-options_tests";
+      asd = "class-options_tests";
+    });
+    systems = [ "class-options_tests" ];
+    lispLibs = [ (getAttr "class-options" pkgs) (getAttr "closer-mop" pkgs) (getAttr "enhanced-boolean" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  classimp = {
+    pname = "classimp";
+    version = "20200325-git";
+    asds = [ "classimp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/classimp/2020-03-25/classimp-20200325-git.tgz";
+      sha256 = "0pbnz6cf1zb2ayk4kbw0gphjb8nflnjns2rwhv86jz0kf0z1hqha";
+      system = "classimp";
+      asd = "classimp";
+    });
+    systems = [ "classimp" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  classimp-samples = {
+    pname = "classimp-samples";
+    version = "20200325-git";
+    asds = [ "classimp-samples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/classimp/2020-03-25/classimp-20200325-git.tgz";
+      sha256 = "0pbnz6cf1zb2ayk4kbw0gphjb8nflnjns2rwhv86jz0kf0z1hqha";
+      system = "classimp-samples";
+      asd = "classimp-samples";
+    });
+    systems = [ "classimp-samples" ];
+    lispLibs = [ (getAttr "cl-ilut" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-glu" pkgs) (getAttr "cl-glut" pkgs) (getAttr "classimp" pkgs) ];
+  };
+  classowary = {
+    pname = "classowary";
+    version = "20191007-git";
+    asds = [ "classowary" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/classowary/2019-10-07/classowary-20191007-git.tgz";
+      sha256 = "099vmnl3lny427c1vzqrxc2mi57lv944cwn0z9hb0fndlr30alkh";
+      system = "classowary";
+      asd = "classowary";
+    });
+    systems = [ "classowary" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  classowary-test = {
+    pname = "classowary-test";
+    version = "20191007-git";
+    asds = [ "classowary-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/classowary/2019-10-07/classowary-20191007-git.tgz";
+      sha256 = "099vmnl3lny427c1vzqrxc2mi57lv944cwn0z9hb0fndlr30alkh";
+      system = "classowary-test";
+      asd = "classowary-test";
+    });
+    systems = [ "classowary-test" ];
+    lispLibs = [ (getAttr "classowary" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  clast = {
+    pname = "clast";
+    version = "20211230-git";
+    asds = [ "clast" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clast/2021-12-30/clast-20211230-git.tgz";
+      sha256 = "1ayr1hq2vv1g1sfxws78hai86za5b68wpfg2lk0bazfzsbfm6nvs";
+      system = "clast";
+      asd = "clast";
+    });
+    systems = [ "clast" ];
+    lispLibs = [  ];
+  };
+  clast_slash_tests = {
+    pname = "clast_tests";
+    version = "20211230-git";
+    asds = [ "clast" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clast/2021-12-30/clast-20211230-git.tgz";
+      sha256 = "1ayr1hq2vv1g1sfxws78hai86za5b68wpfg2lk0bazfzsbfm6nvs";
+      system = "clast";
+      asd = "clast";
+    });
+    systems = [ "clast/tests" ];
+    lispLibs = [ (getAttr "clast" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  clath = {
+    pname = "clath";
+    version = "20210531-git";
+    asds = [ "clath" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clath/2021-05-31/clath-20210531-git.tgz";
+      sha256 = "1mdp6qnjlh698bbsqp3z0p3j9npfnrgbzinbld1fyscrlwaz8k27";
+      system = "clath";
+      asd = "clath";
+    });
+    systems = [ "clath" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-hash-util" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-who" pkgs) (getAttr "clack" pkgs) (getAttr "drakma" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "ironclad" pkgs) (getAttr "jose" pkgs) (getAttr "ningle" pkgs) (getAttr "north" pkgs) (getAttr "ubiquitous" pkgs) ];
+  };
+  clavatar = {
+    pname = "clavatar";
+    version = "20121013-git";
+    asds = [ "clavatar" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clavatar/2012-10-13/clavatar-20121013-git.tgz";
+      sha256 = "07r58d4dk5nr3aimrryzbf3jw6580b5gkkbpw74ax4nmm8hz6v5y";
+      system = "clavatar";
+      asd = "clavatar";
+    });
+    systems = [ "clavatar" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "drakma" pkgs) (getAttr "iolib" pkgs) (getAttr "ironclad" pkgs) ];
+  };
+  clavier = {
+    pname = "clavier";
+    version = "20210531-git";
+    asds = [ "clavier" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clavier/2021-05-31/clavier-20210531-git.tgz";
+      sha256 = "0734xia2hf7lqkm59gjhyvpsp0vl50djyhy4llwwbzbwwdkdihw4";
+      system = "clavier";
+      asd = "clavier";
+    });
+    systems = [ "clavier" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "chronicity" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  clavier_dot_test = {
+    pname = "clavier.test";
+    version = "20210531-git";
+    asds = [ "clavier.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clavier/2021-05-31/clavier-20210531-git.tgz";
+      sha256 = "0734xia2hf7lqkm59gjhyvpsp0vl50djyhy4llwwbzbwwdkdihw4";
+      system = "clavier.test";
+      asd = "clavier.test";
+    });
+    systems = [ "clavier.test" ];
+    lispLibs = [ (getAttr "clavier" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  claw = {
+    pname = "claw";
+    version = "stable-git";
+    asds = [ "claw" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/claw/2020-10-16/claw-stable-git.tgz";
+      sha256 = "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d";
+      system = "claw";
+      asd = "claw";
+    });
+    systems = [ "claw" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "claw-support" pkgs) (getAttr "local-time" pkgs) (getAttr "trivial-features" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  claw-olm = {
+    pname = "claw-olm";
+    version = "20210531-git";
+    asds = [ "claw-olm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/claw-olm/2021-05-31/claw-olm-20210531-git.tgz";
+      sha256 = "04r6d8infhcc7vz95asrvlpc0wzkzq1blaza74nd62alakr6mmrr";
+      system = "claw-olm";
+      asd = "claw-olm";
+    });
+    systems = [ "claw-olm" ];
+    lispLibs = [ (getAttr "claw-olm-bindings" pkgs) ];
+  };
+  claw-olm-bindings = {
+    pname = "claw-olm-bindings";
+    version = "20210531-git";
+    asds = [ "claw-olm-bindings" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/claw-olm/2021-05-31/claw-olm-20210531-git.tgz";
+      sha256 = "04r6d8infhcc7vz95asrvlpc0wzkzq1blaza74nd62alakr6mmrr";
+      system = "claw-olm-bindings";
+      asd = "claw-olm-bindings";
+    });
+    systems = [ "claw-olm-bindings" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "trivial-features" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  claw-support = {
+    pname = "claw-support";
+    version = "stable-git";
+    asds = [ "claw-support" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/claw-support/2020-10-16/claw-support-stable-git.tgz";
+      sha256 = "1my2ka7h72ipx5n3b465g6kjkasrhsvhqlijwcg6dhlzs5yygl23";
+      system = "claw-support";
+      asd = "claw-support";
+    });
+    systems = [ "claw-support" ];
+    lispLibs = [  ];
+  };
+  claw-utils = {
+    pname = "claw-utils";
+    version = "stable-git";
+    asds = [ "claw-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/claw-utils/2020-10-16/claw-utils-stable-git.tgz";
+      sha256 = "01df3kyf2qs3czi332dnz2s35x2j0fq46vgmsw7wjrrvnqc22mk5";
+      system = "claw-utils";
+      asd = "claw-utils";
+    });
+    systems = [ "claw-utils" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "claw" pkgs) ];
+  };
+  claw_slash_cffi = {
+    pname = "claw_cffi";
+    version = "stable-git";
+    asds = [ "claw" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/claw/2020-10-16/claw-stable-git.tgz";
+      sha256 = "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d";
+      system = "claw";
+      asd = "claw";
+    });
+    systems = [ "claw/cffi" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "claw-support" pkgs) (getAttr "local-time" pkgs) (getAttr "trivial-features" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  claw_slash_spec = {
+    pname = "claw_spec";
+    version = "stable-git";
+    asds = [ "claw" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/claw/2020-10-16/claw-stable-git.tgz";
+      sha256 = "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d";
+      system = "claw";
+      asd = "claw";
+    });
+    systems = [ "claw/spec" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "claw-support" pkgs) (getAttr "local-time" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  claw_slash_util = {
+    pname = "claw_util";
+    version = "stable-git";
+    asds = [ "claw" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/claw/2020-10-16/claw-stable-git.tgz";
+      sha256 = "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d";
+      system = "claw";
+      asd = "claw";
+    });
+    systems = [ "claw/util" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "local-time" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  claw_slash_wrapper = {
+    pname = "claw_wrapper";
+    version = "stable-git";
+    asds = [ "claw" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/claw/2020-10-16/claw-stable-git.tgz";
+      sha256 = "146yv0hc4hmk72562ssj2d41143pp84dcbd1h7f4nx1c7hf2bb0d";
+      system = "claw";
+      asd = "claw";
+    });
+    systems = [ "claw/wrapper" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "claw-support" pkgs) (getAttr "local-time" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  clawk = {
+    pname = "clawk";
+    version = "20200925-git";
+    asds = [ "clawk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clawk/2020-09-25/clawk-20200925-git.tgz";
+      sha256 = "1ph3xjqilvinvgr9q3w47zxqyz1sqnq030nlx7kgkkv8j3bnqk7a";
+      system = "clawk";
+      asd = "clawk";
+    });
+    systems = [ "clawk" ];
+    lispLibs = [ (getAttr "regex" pkgs) ];
+  };
+  claxy = {
+    pname = "claxy";
+    version = "20211020-git";
+    asds = [ "claxy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/claxy/2021-10-20/claxy-20211020-git.tgz";
+      sha256 = "1qjh91l41jka397wb6cld4nr2fb08zx8d41dg43al7s6k74nqq8i";
+      system = "claxy";
+      asd = "claxy";
+    });
+    systems = [ "claxy" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "dexador" pkgs) ];
+  };
+  clazy = {
+    pname = "clazy";
+    version = "20211230-git";
+    asds = [ "clazy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clazy/2021-12-30/clazy-20211230-git.tgz";
+      sha256 = "1zvkfi7ddhlyckfwx47ays6gf1r0dq9ma86lvplzy58brvk920ds";
+      system = "clazy";
+      asd = "clazy";
+    });
+    systems = [ "clazy" ];
+    lispLibs = [  ];
+  };
+  clem = {
+    pname = "clem";
+    version = "20210807-git";
+    asds = [ "clem" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clem/2021-08-07/clem-20210807-git.tgz";
+      sha256 = "0vmsgxdpxrqkx3xp9n8b0fwkzk1r2dwcwjlc8yy5w2m2sighh2rk";
+      system = "clem";
+      asd = "clem";
+    });
+    systems = [ "clem" ];
+    lispLibs = [  ];
+  };
+  clem-benchmark = {
+    pname = "clem-benchmark";
+    version = "20210807-git";
+    asds = [ "clem-benchmark" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clem/2021-08-07/clem-20210807-git.tgz";
+      sha256 = "0vmsgxdpxrqkx3xp9n8b0fwkzk1r2dwcwjlc8yy5w2m2sighh2rk";
+      system = "clem-benchmark";
+      asd = "clem-benchmark";
+    });
+    systems = [ "clem-benchmark" ];
+    lispLibs = [ (getAttr "clem" pkgs) ];
+  };
+  clem-test = {
+    pname = "clem-test";
+    version = "20210807-git";
+    asds = [ "clem-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clem/2021-08-07/clem-20210807-git.tgz";
+      sha256 = "0vmsgxdpxrqkx3xp9n8b0fwkzk1r2dwcwjlc8yy5w2m2sighh2rk";
+      system = "clem-test";
+      asd = "clem-test";
+    });
+    systems = [ "clem-test" ];
+    lispLibs = [ (getAttr "clem" pkgs) ];
+  };
+  cleric = {
+    pname = "cleric";
+    version = "20200925-git";
+    asds = [ "cleric" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cleric/2020-09-25/cleric-20200925-git.tgz";
+      sha256 = "0a0xqr0bpp0v62f8d13yflz3vz6j4fa9icgc134ajaqxcfa7k0vp";
+      system = "cleric";
+      asd = "cleric";
+    });
+    systems = [ "cleric" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "epmd" pkgs) (getAttr "erlang-term" pkgs) (getAttr "md5" pkgs) (getAttr "com_dot_gigamonkeys_dot_binary-data" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  clerk = {
+    pname = "clerk";
+    version = "20211020-git";
+    asds = [ "clerk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clerk/2021-10-20/clerk-20211020-git.tgz";
+      sha256 = "0g6k637pdm7dvcrdh9swv80m5fd65gz1z0hqsjfd2dgfdxn4lbdd";
+      system = "clerk";
+      asd = "clerk";
+    });
+    systems = [ "clerk" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  clerk-test = {
+    pname = "clerk-test";
+    version = "20211020-git";
+    asds = [ "clerk-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clerk/2021-10-20/clerk-20211020-git.tgz";
+      sha256 = "0g6k637pdm7dvcrdh9swv80m5fd65gz1z0hqsjfd2dgfdxn4lbdd";
+      system = "clerk-test";
+      asd = "clerk";
+    });
+    systems = [ "clerk-test" ];
+    lispLibs = [ (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  clesh = {
+    pname = "clesh";
+    version = "20201220-git";
+    asds = [ "clesh" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clesh/2020-12-20/clesh-20201220-git.tgz";
+      sha256 = "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318";
+      system = "clesh";
+      asd = "clesh";
+    });
+    systems = [ "clesh" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) (getAttr "trivial-shell" pkgs) ];
+  };
+  clesh-tests = {
+    pname = "clesh-tests";
+    version = "20201220-git";
+    asds = [ "clesh-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clesh/2020-12-20/clesh-20201220-git.tgz";
+      sha256 = "012ry02djnqyvvs61wbbqj3saz621w2l9gczrywdxhi5p4ycx318";
+      system = "clesh-tests";
+      asd = "clesh-tests";
+    });
+    systems = [ "clesh-tests" ];
+    lispLibs = [ (getAttr "clesh" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  cletris = {
+    pname = "cletris";
+    version = "20211020-git";
+    asds = [ "cletris" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cletris/2021-10-20/cletris-20211020-git.tgz";
+      sha256 = "0k7j0jg4dc6q7p7h3vin3hs0f7q8d7yarg2mw0c3hng19r4q9p8v";
+      system = "cletris";
+      asd = "cletris";
+    });
+    systems = [ "cletris" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "pal" pkgs) ];
+  };
+  cletris-network = {
+    pname = "cletris-network";
+    version = "20211020-git";
+    asds = [ "cletris-network" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cletris/2021-10-20/cletris-20211020-git.tgz";
+      sha256 = "0k7j0jg4dc6q7p7h3vin3hs0f7q8d7yarg2mw0c3hng19r4q9p8v";
+      system = "cletris-network";
+      asd = "cletris-network";
+    });
+    systems = [ "cletris-network" ];
+    lispLibs = [ (getAttr "cl-log" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cletris" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  cletris-test = {
+    pname = "cletris-test";
+    version = "20211020-git";
+    asds = [ "cletris-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cletris/2021-10-20/cletris-20211020-git.tgz";
+      sha256 = "0k7j0jg4dc6q7p7h3vin3hs0f7q8d7yarg2mw0c3hng19r4q9p8v";
+      system = "cletris-test";
+      asd = "cletris-test";
+    });
+    systems = [ "cletris-test" ];
+    lispLibs = [ (getAttr "cletris" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  clfswm = {
+    pname = "clfswm";
+    version = "20161204-git";
+    asds = [ "clfswm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clfswm/2016-12-04/clfswm-20161204-git.tgz";
+      sha256 = "1r84cpcs74avkjw18ckz3r3836xhky2fcf5ypbfmajpjzxwn5dzc";
+      system = "clfswm";
+      asd = "clfswm";
+    });
+    systems = [ "clfswm" ];
+    lispLibs = [ (getAttr "clx" pkgs) ];
+  };
+  clhs = {
+    pname = "clhs";
+    version = "0.6.3";
+    asds = [ "clhs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clhs/2015-04-07/clhs-0.6.3.tgz";
+      sha256 = "1jffq2w9yql4cvxy2g5c2v402014306qklp4xhddjjlfvs30sfjd";
+      system = "clhs";
+      asd = "clhs";
+    });
+    systems = [ "clhs" ];
+    lispLibs = [  ];
+  };
+  cli-parser = {
+    pname = "cli-parser";
+    version = "20150608-git";
+    asds = [ "cli-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cli-parser/2015-06-08/cl-cli-parser-20150608-git.tgz";
+      sha256 = "0gnpakzakkb2j67v2wh4q87k6mmrv0c0fg56m4vx88kgpxp7f90f";
+      system = "cli-parser";
+      asd = "cli-parser";
+    });
+    systems = [ "cli-parser" ];
+    lispLibs = [  ];
+  };
+  clickr = {
+    pname = "clickr";
+    version = "20140713-git";
+    asds = [ "clickr" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clickr/2014-07-13/clickr-20140713-git.tgz";
+      sha256 = "0sykp4aaxjf8xcyiqyqs6967f0fna8ahjqi7ij5z79fd530sxz2s";
+      system = "clickr";
+      asd = "clickr";
+    });
+    systems = [ "clickr" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "md5" pkgs) (getAttr "s-xml" pkgs) (getAttr "s-xml-rpc" pkgs) (getAttr "trivial-http" pkgs) ];
+  };
+  clim = {
+    pname = "clim";
+    version = "20211230-git";
+    asds = [ "clim" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clim";
+      asd = "clim";
+    });
+    systems = [ "clim" ];
+    lispLibs = [ (getAttr "clim-core" pkgs) (getAttr "drei-mcclim" pkgs) ];
+  };
+  clim-basic = {
+    pname = "clim-basic";
+    version = "20211230-git";
+    asds = [ "clim-basic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clim-basic";
+      asd = "clim-basic";
+    });
+    systems = [ "clim-basic" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "flexichain" pkgs) (getAttr "clim-lisp" pkgs) (getAttr "spatial-trees" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  clim-core = {
+    pname = "clim-core";
+    version = "20211230-git";
+    asds = [ "clim-core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clim-core";
+      asd = "clim-core";
+    });
+    systems = [ "clim-core" ];
+    lispLibs = [ (getAttr "clim-basic" pkgs) ];
+  };
+  clim-debugger = {
+    pname = "clim-debugger";
+    version = "20211230-git";
+    asds = [ "clim-debugger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clim-debugger";
+      asd = "clim-debugger";
+    });
+    systems = [ "clim-debugger" ];
+    lispLibs = [ (getAttr "clouseau" pkgs) (getAttr "mcclim" pkgs) (getAttr "slim" pkgs) (getAttr "swank" pkgs) ];
+  };
+  clim-examples = {
+    pname = "clim-examples";
+    version = "20211230-git";
+    asds = [ "clim-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clim-examples";
+      asd = "clim-examples";
+    });
+    systems = [ "clim-examples" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "clim" pkgs) (getAttr "mcclim" pkgs) (getAttr "mcclim-bezier" pkgs) (getAttr "mcclim-raster-image" pkgs) ];
+  };
+  clim-examples_slash_superapp = {
+    pname = "clim-examples_superapp";
+    version = "20211230-git";
+    asds = [ "clim-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clim-examples";
+      asd = "clim-examples";
+    });
+    systems = [ "clim-examples/superapp" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "mcclim" pkgs) ];
+  };
+  clim-lisp = {
+    pname = "clim-lisp";
+    version = "20211230-git";
+    asds = [ "clim-lisp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clim-lisp";
+      asd = "clim-lisp";
+    });
+    systems = [ "clim-lisp" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  clim-listener = {
+    pname = "clim-listener";
+    version = "20211230-git";
+    asds = [ "clim-listener" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clim-listener";
+      asd = "clim-listener";
+    });
+    systems = [ "clim-listener" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "clim-debugger" pkgs) (getAttr "mcclim" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  clim-pdf = {
+    pname = "clim-pdf";
+    version = "20211230-git";
+    asds = [ "clim-pdf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clim-pdf";
+      asd = "clim-pdf";
+    });
+    systems = [ "clim-pdf" ];
+    lispLibs = [ (getAttr "cl-pdf" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "clim-basic" pkgs) (getAttr "clim-postscript" pkgs) (getAttr "clim-postscript-font" pkgs) ];
+  };
+  clim-pdf_slash_test = {
+    pname = "clim-pdf_test";
+    version = "20211230-git";
+    asds = [ "clim-pdf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clim-pdf";
+      asd = "clim-pdf";
+    });
+    systems = [ "clim-pdf/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "clim-pdf" pkgs) (getAttr "mcclim" pkgs) ];
+  };
+  clim-postscript = {
+    pname = "clim-postscript";
+    version = "20211230-git";
+    asds = [ "clim-postscript" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clim-postscript";
+      asd = "clim-postscript";
+    });
+    systems = [ "clim-postscript" ];
+    lispLibs = [ (getAttr "clim-basic" pkgs) (getAttr "clim-postscript-font" pkgs) ];
+  };
+  clim-postscript-font = {
+    pname = "clim-postscript-font";
+    version = "20211230-git";
+    asds = [ "clim-postscript-font" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clim-postscript-font";
+      asd = "clim-postscript-font";
+    });
+    systems = [ "clim-postscript-font" ];
+    lispLibs = [ (getAttr "clim-basic" pkgs) (getAttr "mcclim-backend-common" pkgs) ];
+  };
+  clim-postscript_slash_test = {
+    pname = "clim-postscript_test";
+    version = "20211230-git";
+    asds = [ "clim-postscript" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clim-postscript";
+      asd = "clim-postscript";
+    });
+    systems = [ "clim-postscript/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "clim-postscript" pkgs) (getAttr "mcclim" pkgs) ];
+  };
+  clim-widgets = {
+    pname = "clim-widgets";
+    version = "20200715-git";
+    asds = [ "clim-widgets" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clim-widgets/2020-07-15/clim-widgets-20200715-git.tgz";
+      sha256 = "0cpr8xn5a33sy75d06b95cfd3b1h9m5iixgg5h4isavpx3aglmy2";
+      system = "clim-widgets";
+      asd = "clim-widgets";
+    });
+    systems = [ "clim-widgets" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "closer-mop" pkgs) (getAttr "local-time" pkgs) (getAttr "manifest" pkgs) (getAttr "mcclim" pkgs) (getAttr "nsort" pkgs) (getAttr "perlre" pkgs) (getAttr "simple-date-time" pkgs) ];
+  };
+  climacs = {
+    pname = "climacs";
+    version = "20200925-git";
+    asds = [ "climacs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/climacs/2020-09-25/climacs-20200925-git.tgz";
+      sha256 = "0mv8l994fvh8pg8065wwb813nmygv0p5d6pbidhbw6aj7qbmhkhy";
+      system = "climacs";
+      asd = "climacs";
+    });
+    systems = [ "climacs" ];
+    lispLibs = [ (getAttr "flexichain" pkgs) (getAttr "mcclim" pkgs) ];
+  };
+  climc = {
+    pname = "climc";
+    version = "20150923-git";
+    asds = [ "climc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/climc/2015-09-23/climc-20150923-git.tgz";
+      sha256 = "16prvvdkzdb97491l1c7dnbzpmcil94rgjp5z4hiybxvjn4vyrdq";
+      system = "climc";
+      asd = "climc";
+    });
+    systems = [ "climc" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cl-xmpp-tls" pkgs) (getAttr "mcclim" pkgs) ];
+  };
+  climc-test = {
+    pname = "climc-test";
+    version = "20150923-git";
+    asds = [ "climc-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/climc/2015-09-23/climc-20150923-git.tgz";
+      sha256 = "16prvvdkzdb97491l1c7dnbzpmcil94rgjp5z4hiybxvjn4vyrdq";
+      system = "climc-test";
+      asd = "climc-test";
+    });
+    systems = [ "climc-test" ];
+    lispLibs = [ (getAttr "climc" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  climon = {
+    pname = "climon";
+    version = "20151031-git";
+    asds = [ "climon" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/climon/2015-10-31/climon-20151031-git.tgz";
+      sha256 = "1xsizr3rnz52xrc18kqkn49iagqywf9ag1xjb4mrwv9yl7iz1xm1";
+      system = "climon";
+      asd = "climon";
+    });
+    systems = [ "climon" ];
+    lispLibs = [ (getAttr "pal" pkgs) ];
+  };
+  climon-test = {
+    pname = "climon-test";
+    version = "20151031-git";
+    asds = [ "climon-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/climon/2015-10-31/climon-20151031-git.tgz";
+      sha256 = "1xsizr3rnz52xrc18kqkn49iagqywf9ag1xjb4mrwv9yl7iz1xm1";
+      system = "climon-test";
+      asd = "climon-test";
+    });
+    systems = [ "climon-test" ];
+    lispLibs = [ (getAttr "climon" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  clinch = {
+    pname = "clinch";
+    version = "20180228-git";
+    asds = [ "clinch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz";
+      sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik";
+      system = "clinch";
+      asd = "clinch";
+    });
+    systems = [ "clinch" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "sdl2" pkgs) (getAttr "rtg-math" pkgs) (getAttr "swank" pkgs) (getAttr "trivial-channels" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  clinch-cairo = {
+    pname = "clinch-cairo";
+    version = "20180228-git";
+    asds = [ "clinch-cairo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz";
+      sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik";
+      system = "clinch-cairo";
+      asd = "clinch-cairo";
+    });
+    systems = [ "clinch-cairo" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-cairo2" pkgs) (getAttr "clinch" pkgs) ];
+  };
+  clinch-classimp = {
+    pname = "clinch-classimp";
+    version = "20180228-git";
+    asds = [ "clinch-classimp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz";
+      sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik";
+      system = "clinch-classimp";
+      asd = "clinch-classimp";
+    });
+    systems = [ "clinch-classimp" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "classimp" pkgs) (getAttr "clinch" pkgs) ];
+  };
+  clinch-freeimage = {
+    pname = "clinch-freeimage";
+    version = "20180228-git";
+    asds = [ "clinch-freeimage" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz";
+      sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik";
+      system = "clinch-freeimage";
+      asd = "clinch-freeimage";
+    });
+    systems = [ "clinch-freeimage" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-freeimage" pkgs) (getAttr "clinch" pkgs) ];
+  };
+  clinch-pango = {
+    pname = "clinch-pango";
+    version = "20180228-git";
+    asds = [ "clinch-pango" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clinch/2018-02-28/clinch-20180228-git.tgz";
+      sha256 = "0hrj3kdxnazffrax3jmr6pgfahpj94lg43lczha6xpayhl49bqik";
+      system = "clinch-pango";
+      asd = "clinch-pango";
+    });
+    systems = [ "clinch-pango" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-cairo2" pkgs) (getAttr "cl-pango" pkgs) (getAttr "clinch" pkgs) (getAttr "clinch-cairo" pkgs) (getAttr "xmls" pkgs) ];
+  };
+  clinenoise = {
+    pname = "clinenoise";
+    version = "20200427-git";
+    asds = [ "clinenoise" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clinenoise/2020-04-27/clinenoise-20200427-git.tgz";
+      sha256 = "0ydlirfk4dbpqqjwwph99v5swcrhd8v9g8q24fvs35wn2vm08lh1";
+      system = "clinenoise";
+      asd = "clinenoise";
+    });
+    systems = [ "clinenoise" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  clingon = {
+    pname = "clingon";
+    version = "20211230-git";
+    asds = [ "clingon" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clingon/2021-12-30/clingon-20211230-git.tgz";
+      sha256 = "0i7xfw6id1yykzi52h3c56bmbr44vhkg5snmiq1zxdjqraa31cra";
+      system = "clingon";
+      asd = "clingon";
+    });
+    systems = [ "clingon" ];
+    lispLibs = [ (getAttr "bobbin" pkgs) (getAttr "cl-reexport" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uiop" pkgs) (getAttr "with-user-abort" pkgs) ];
+  };
+  clingon_dot_demo = {
+    pname = "clingon.demo";
+    version = "20211230-git";
+    asds = [ "clingon.demo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clingon/2021-12-30/clingon-20211230-git.tgz";
+      sha256 = "0i7xfw6id1yykzi52h3c56bmbr44vhkg5snmiq1zxdjqraa31cra";
+      system = "clingon.demo";
+      asd = "clingon.demo";
+    });
+    systems = [ "clingon.demo" ];
+    lispLibs = [ (getAttr "clingon" pkgs) ];
+  };
+  clingon_dot_intro = {
+    pname = "clingon.intro";
+    version = "20211230-git";
+    asds = [ "clingon.intro" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clingon/2021-12-30/clingon-20211230-git.tgz";
+      sha256 = "0i7xfw6id1yykzi52h3c56bmbr44vhkg5snmiq1zxdjqraa31cra";
+      system = "clingon.intro";
+      asd = "clingon.intro";
+    });
+    systems = [ "clingon.intro" ];
+    lispLibs = [ (getAttr "clingon" pkgs) ];
+  };
+  clingon_dot_test = {
+    pname = "clingon.test";
+    version = "20211230-git";
+    asds = [ "clingon.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clingon/2021-12-30/clingon-20211230-git.tgz";
+      sha256 = "0i7xfw6id1yykzi52h3c56bmbr44vhkg5snmiq1zxdjqraa31cra";
+      system = "clingon.test";
+      asd = "clingon.test";
+    });
+    systems = [ "clingon.test" ];
+    lispLibs = [ (getAttr "clingon" pkgs) (getAttr "rove" pkgs) ];
+  };
+  clip = {
+    pname = "clip";
+    version = "20211209-git";
+    asds = [ "clip" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clip/2021-12-09/clip-20211209-git.tgz";
+      sha256 = "1a3cfvyg0rlzqg872h4abdssh1wbh5v72cj1mbasmxacsiiysvrs";
+      system = "clip";
+      asd = "clip";
+    });
+    systems = [ "clip" ];
+    lispLibs = [ (getAttr "array-utils" pkgs) (getAttr "lquery" pkgs) ];
+  };
+  clipper = {
+    pname = "clipper";
+    version = "20150923-git";
+    asds = [ "clipper" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clipper/2015-09-23/clipper-20150923-git.tgz";
+      sha256 = "0xx1z7xjy2qkb6hx4bjjxcpv180lynpxrmx0741zk0qcxf32y56n";
+      system = "clipper";
+      asd = "clipper";
+    });
+    systems = [ "clipper" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "closer-mop" pkgs) (getAttr "dexador" pkgs) (getAttr "fast-io" pkgs) (getAttr "opticl" pkgs) (getAttr "quri" pkgs) (getAttr "split-sequence" pkgs) (getAttr "zs3" pkgs) ];
+  };
+  clipper-test = {
+    pname = "clipper-test";
+    version = "20150923-git";
+    asds = [ "clipper-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clipper/2015-09-23/clipper-20150923-git.tgz";
+      sha256 = "0xx1z7xjy2qkb6hx4bjjxcpv180lynpxrmx0741zk0qcxf32y56n";
+      system = "clipper-test";
+      asd = "clipper-test";
+    });
+    systems = [ "clipper-test" ];
+    lispLibs = [ (getAttr "clipper" pkgs) (getAttr "integral" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  clite = {
+    pname = "clite";
+    version = "20130615-git";
+    asds = [ "clite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clite/2013-06-15/clite-20130615-git.tgz";
+      sha256 = "0q73vzm55i7m6in9i3fwwaqxvwm3pr7mm7gh7qsvfya61248ynrz";
+      system = "clite";
+      asd = "clite";
+    });
+    systems = [ "clite" ];
+    lispLibs = [  ];
+  };
+  clj = {
+    pname = "clj";
+    version = "20201220-git";
+    asds = [ "clj" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clj/2020-12-20/clj-20201220-git.tgz";
+      sha256 = "0yic6w2n09w3v2r1dlg9a7z59j9rapj4hpz8whcxlw6zs4wrwib2";
+      system = "clj";
+      asd = "clj";
+    });
+    systems = [ "clj" ];
+    lispLibs = [ (getAttr "agnostic-lizard" pkgs) (getAttr "arrow-macros" pkgs) (getAttr "cl-hamt" pkgs) (getAttr "local-package-aliases" pkgs) (getAttr "named-readtables" pkgs) (getAttr "optima" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "test-utils" pkgs) ];
+  };
+  clj-con = {
+    pname = "clj-con";
+    version = "20210807-git";
+    asds = [ "clj-con" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clj-con/2021-08-07/clj-con-20210807-git.tgz";
+      sha256 = "0b996cfvl8nnjf2mh8ki4gdzrr4hhnhbmlgacw74hmfb6nqjb466";
+      system = "clj-con";
+      asd = "clj-con";
+    });
+    systems = [ "clj-con" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  clj-con-test = {
+    pname = "clj-con-test";
+    version = "20210807-git";
+    asds = [ "clj-con-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clj-con/2021-08-07/clj-con-20210807-git.tgz";
+      sha256 = "0b996cfvl8nnjf2mh8ki4gdzrr4hhnhbmlgacw74hmfb6nqjb466";
+      system = "clj-con-test";
+      asd = "clj-con-test";
+    });
+    systems = [ "clj-con-test" ];
+    lispLibs = [ (getAttr "clj-con" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  clj-re = {
+    pname = "clj-re";
+    version = "20211020-git";
+    asds = [ "clj-re" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clj-re/2021-10-20/clj-re-20211020-git.tgz";
+      sha256 = "1rs3axxa1vk2d9py96mcx7jxis7rllnkrccz0k4d4bwfq5l4haf6";
+      system = "clj-re";
+      asd = "clj-re";
+    });
+    systems = [ "clj-re" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  clj-re-test = {
+    pname = "clj-re-test";
+    version = "20211020-git";
+    asds = [ "clj-re-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clj-re/2021-10-20/clj-re-20211020-git.tgz";
+      sha256 = "1rs3axxa1vk2d9py96mcx7jxis7rllnkrccz0k4d4bwfq5l4haf6";
+      system = "clj-re-test";
+      asd = "clj-re-test";
+    });
+    systems = [ "clj-re-test" ];
+    lispLibs = [ (getAttr "clj-re" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  clj_slash_test = {
+    pname = "clj_test";
+    version = "20201220-git";
+    asds = [ "clj" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clj/2020-12-20/clj-20201220-git.tgz";
+      sha256 = "0yic6w2n09w3v2r1dlg9a7z59j9rapj4hpz8whcxlw6zs4wrwib2";
+      system = "clj";
+      asd = "clj";
+    });
+    systems = [ "clj/test" ];
+    lispLibs = [ (getAttr "clj" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "test-utils" pkgs) ];
+  };
+  clml_dot_association-rule = {
+    pname = "clml.association-rule";
+    version = "20211020-git";
+    asds = [ "clml.association-rule" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.association-rule";
+      asd = "clml.association-rule";
+    });
+    systems = [ "clml.association-rule" ];
+    lispLibs = [ (getAttr "clml_dot_hjs" pkgs) ];
+  };
+  clml_dot_blas = {
+    pname = "clml.blas";
+    version = "20211020-git";
+    asds = [ "clml.blas" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.blas";
+      asd = "clml.blas";
+    });
+    systems = [ "clml.blas" ];
+    lispLibs = [ (getAttr "clml_dot_blas_dot_complex" pkgs) (getAttr "clml_dot_blas_dot_hompack" pkgs) (getAttr "clml_dot_blas_dot_real" pkgs) ];
+  };
+  clml_dot_blas_dot_complex = {
+    pname = "clml.blas.complex";
+    version = "20211020-git";
+    asds = [ "clml.blas.complex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.blas.complex";
+      asd = "clml.blas";
+    });
+    systems = [ "clml.blas.complex" ];
+    lispLibs = [ (getAttr "f2cl-lib" pkgs) ];
+  };
+  clml_dot_blas_dot_hompack = {
+    pname = "clml.blas.hompack";
+    version = "20211020-git";
+    asds = [ "clml.blas.hompack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.blas.hompack";
+      asd = "clml.blas";
+    });
+    systems = [ "clml.blas.hompack" ];
+    lispLibs = [ (getAttr "f2cl-lib" pkgs) ];
+  };
+  clml_dot_blas_dot_real = {
+    pname = "clml.blas.real";
+    version = "20211020-git";
+    asds = [ "clml.blas.real" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.blas.real";
+      asd = "clml.blas";
+    });
+    systems = [ "clml.blas.real" ];
+    lispLibs = [ (getAttr "f2cl-lib" pkgs) ];
+  };
+  clml_dot_classifiers = {
+    pname = "clml.classifiers";
+    version = "20211020-git";
+    asds = [ "clml.classifiers" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.classifiers";
+      asd = "clml.classifiers";
+    });
+    systems = [ "clml.classifiers" ];
+    lispLibs = [ (getAttr "clml_dot_clustering" pkgs) (getAttr "clml_dot_hjs" pkgs) (getAttr "clml_dot_svm" pkgs) ];
+  };
+  clml_dot_clustering = {
+    pname = "clml.clustering";
+    version = "20211020-git";
+    asds = [ "clml.clustering" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.clustering";
+      asd = "clml.clustering";
+    });
+    systems = [ "clml.clustering" ];
+    lispLibs = [ (getAttr "clml_dot_blas" pkgs) (getAttr "clml_dot_hjs" pkgs) (getAttr "clml_dot_nearest-search" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  clml_dot_data = {
+    pname = "clml.data";
+    version = "20211020-git";
+    asds = [ "clml.data" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.data";
+      asd = "clml.data";
+    });
+    systems = [ "clml.data" ];
+    lispLibs = [ (getAttr "clml_dot_data_dot_r-datasets" pkgs) ];
+  };
+  clml_dot_data_dot_r-datasets = {
+    pname = "clml.data.r-datasets";
+    version = "20211020-git";
+    asds = [ "clml.data.r-datasets" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.data.r-datasets";
+      asd = "clml.data.r-datasets";
+    });
+    systems = [ "clml.data.r-datasets" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "clml_dot_hjs" pkgs) (getAttr "clml_dot_utility" pkgs) (getAttr "drakma" pkgs) ];
+  };
+  clml_dot_decision-tree = {
+    pname = "clml.decision-tree";
+    version = "20211020-git";
+    asds = [ "clml.decision-tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.decision-tree";
+      asd = "clml.decision-tree";
+    });
+    systems = [ "clml.decision-tree" ];
+    lispLibs = [ (getAttr "clml_dot_hjs" pkgs) (getAttr "lparallel" pkgs) ];
+  };
+  clml_dot_hjs = {
+    pname = "clml.hjs";
+    version = "20211020-git";
+    asds = [ "clml.hjs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.hjs";
+      asd = "clml.hjs";
+    });
+    systems = [ "clml.hjs" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "clml_dot_blas" pkgs) (getAttr "clml_dot_lapack" pkgs) (getAttr "clml_dot_statistics" pkgs) (getAttr "clml_dot_utility" pkgs) (getAttr "future" pkgs) (getAttr "introspect-environment" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  clml_dot_lapack = {
+    pname = "clml.lapack";
+    version = "20211020-git";
+    asds = [ "clml.lapack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.lapack";
+      asd = "clml.lapack";
+    });
+    systems = [ "clml.lapack" ];
+    lispLibs = [ (getAttr "clml_dot_blas" pkgs) (getAttr "clml_dot_lapack-real" pkgs) (getAttr "f2cl-lib" pkgs) ];
+  };
+  clml_dot_lapack-real = {
+    pname = "clml.lapack-real";
+    version = "20211020-git";
+    asds = [ "clml.lapack-real" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.lapack-real";
+      asd = "clml.lapack";
+    });
+    systems = [ "clml.lapack-real" ];
+    lispLibs = [ (getAttr "clml_dot_blas" pkgs) (getAttr "f2cl-lib" pkgs) ];
+  };
+  clml_dot_nearest-search = {
+    pname = "clml.nearest-search";
+    version = "20211020-git";
+    asds = [ "clml.nearest-search" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.nearest-search";
+      asd = "clml.nearest-search";
+    });
+    systems = [ "clml.nearest-search" ];
+    lispLibs = [ (getAttr "clml_dot_hjs" pkgs) (getAttr "clml_dot_nonparametric" pkgs) (getAttr "clml_dot_pca" pkgs) ];
+  };
+  clml_dot_nonparametric = {
+    pname = "clml.nonparametric";
+    version = "20211020-git";
+    asds = [ "clml.nonparametric" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.nonparametric";
+      asd = "clml.nonparametric";
+    });
+    systems = [ "clml.nonparametric" ];
+    lispLibs = [ (getAttr "clml_dot_hjs" pkgs) ];
+  };
+  clml_dot_numeric = {
+    pname = "clml.numeric";
+    version = "20211020-git";
+    asds = [ "clml.numeric" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.numeric";
+      asd = "clml.numeric";
+    });
+    systems = [ "clml.numeric" ];
+    lispLibs = [ (getAttr "clml_dot_hjs" pkgs) ];
+  };
+  clml_dot_pca = {
+    pname = "clml.pca";
+    version = "20211020-git";
+    asds = [ "clml.pca" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.pca";
+      asd = "clml.pca";
+    });
+    systems = [ "clml.pca" ];
+    lispLibs = [ (getAttr "clml_dot_decision-tree" pkgs) (getAttr "clml_dot_hjs" pkgs) ];
+  };
+  clml_dot_pca_dot_examples = {
+    pname = "clml.pca.examples";
+    version = "20211020-git";
+    asds = [ "clml.pca.examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.pca.examples";
+      asd = "clml.pca";
+    });
+    systems = [ "clml.pca.examples" ];
+    lispLibs = [ (getAttr "clml_dot_hjs" pkgs) (getAttr "clml_dot_pca" pkgs) ];
+  };
+  clml_dot_statistics = {
+    pname = "clml.statistics";
+    version = "20211020-git";
+    asds = [ "clml.statistics" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.statistics";
+      asd = "clml.statistics";
+    });
+    systems = [ "clml.statistics" ];
+    lispLibs = [ (getAttr "clml_dot_statistics_dot_rand" pkgs) ];
+  };
+  clml_dot_statistics_dot_rand = {
+    pname = "clml.statistics.rand";
+    version = "20211020-git";
+    asds = [ "clml.statistics.rand" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.statistics.rand";
+      asd = "clml.statistics.rand";
+    });
+    systems = [ "clml.statistics.rand" ];
+    lispLibs = [  ];
+  };
+  clml_dot_svm = {
+    pname = "clml.svm";
+    version = "20211020-git";
+    asds = [ "clml.svm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.svm";
+      asd = "clml.svm";
+    });
+    systems = [ "clml.svm" ];
+    lispLibs = [ (getAttr "clml_dot_decision-tree" pkgs) (getAttr "clml_dot_hjs" pkgs) (getAttr "future" pkgs) (getAttr "lparallel" pkgs) ];
+  };
+  clml_dot_svm_dot_examples = {
+    pname = "clml.svm.examples";
+    version = "20211020-git";
+    asds = [ "clml.svm.examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.svm.examples";
+      asd = "clml.svm";
+    });
+    systems = [ "clml.svm.examples" ];
+    lispLibs = [ (getAttr "clml_dot_hjs" pkgs) (getAttr "clml_dot_svm" pkgs) ];
+  };
+  clml_dot_text = {
+    pname = "clml.text";
+    version = "20211020-git";
+    asds = [ "clml.text" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.text";
+      asd = "clml.text";
+    });
+    systems = [ "clml.text" ];
+    lispLibs = [ (getAttr "clml_dot_hjs" pkgs) (getAttr "clml_dot_nonparametric" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  clml_dot_utility = {
+    pname = "clml.utility";
+    version = "20211020-git";
+    asds = [ "clml.utility" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "clml.utility";
+      asd = "clml.utility";
+    });
+    systems = [ "clml.utility" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "iterate" pkgs) (getAttr "parse-number" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  clnuplot = {
+    pname = "clnuplot";
+    version = "20130128-darcs";
+    asds = [ "clnuplot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clnuplot/2013-01-28/clnuplot-20130128-darcs.tgz";
+      sha256 = "0yfaay5idv9lq4ilafj305sg349c960n3q400kdayr0gda6pqlqr";
+      system = "clnuplot";
+      asd = "clnuplot";
+    });
+    systems = [ "clnuplot" ];
+    lispLibs = [ (getAttr "cl-containers" pkgs) (getAttr "cl-mathstats" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "trivial-shell" pkgs) ];
+  };
+  clobber = {
+    pname = "clobber";
+    version = "20190521-git";
+    asds = [ "clobber" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clobber/2019-05-21/clobber-20190521-git.tgz";
+      sha256 = "1cz9fx9aaw02di48yd5dqzfkfl542267pzsx1ypzhxjpdnwhz33x";
+      system = "clobber";
+      asd = "clobber";
+    });
+    systems = [ "clobber" ];
+    lispLibs = [  ];
+  };
+  clod = {
+    pname = "clod";
+    version = "20190307-hg";
+    asds = [ "clod" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clod/2019-03-07/clod-20190307-hg.tgz";
+      sha256 = "0sdlr6jlqnbiyf06648zhq8dpni3zy0n5rwjcrvm4hw7vcy8vhy1";
+      system = "clod";
+      asd = "clod";
+    });
+    systems = [ "clod" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  clods-export = {
+    pname = "clods-export";
+    version = "20210411-git";
+    asds = [ "clods-export" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clods-export/2021-04-11/clods-export-20210411-git.tgz";
+      sha256 = "1bbzrl855qjs88ni548filghb2y8fvklkik22amwzi6dbzvq48qx";
+      system = "clods-export";
+      asd = "clods-export";
+    });
+    systems = [ "clods-export" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cxml" pkgs) (getAttr "iterate" pkgs) (getAttr "local-time" pkgs) (getAttr "zip" pkgs) ];
+  };
+  clog = {
+    pname = "clog";
+    version = "20211230-git";
+    asds = [ "clog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clog/2021-12-30/clog-20211230-git.tgz";
+      sha256 = "1g95x7754nwlshw59swczm9jz9j5p3v25wilp7awpzi9m7d8jjnk";
+      system = "clog";
+      asd = "clog";
+    });
+    systems = [ "clog" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "sqlite" pkgs) (getAttr "clack" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "lack-middleware-static" pkgs) (getAttr "mgl-pax" pkgs) (getAttr "parse-float" pkgs) (getAttr "quri" pkgs) (getAttr "trivial-open-browser" pkgs) (getAttr "websocket-driver" pkgs) ];
+  };
+  clog_slash_docs = {
+    pname = "clog_docs";
+    version = "20211230-git";
+    asds = [ "clog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clog/2021-12-30/clog-20211230-git.tgz";
+      sha256 = "1g95x7754nwlshw59swczm9jz9j5p3v25wilp7awpzi9m7d8jjnk";
+      system = "clog";
+      asd = "clog";
+    });
+    systems = [ "clog/docs" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "clog" pkgs) (getAttr "colorize" pkgs) ];
+  };
+  clog_slash_tools = {
+    pname = "clog_tools";
+    version = "20211230-git";
+    asds = [ "clog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clog/2021-12-30/clog-20211230-git.tgz";
+      sha256 = "1g95x7754nwlshw59swczm9jz9j5p3v25wilp7awpzi9m7d8jjnk";
+      system = "clog";
+      asd = "clog";
+    });
+    systems = [ "clog/tools" ];
+    lispLibs = [ (getAttr "clog" pkgs) ];
+  };
+  clonsigna = {
+    pname = "clonsigna";
+    version = "20120909-git";
+    asds = [ "clonsigna" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clonsigna/2012-09-09/clonsigna-20120909-git.tgz";
+      sha256 = "052vdch0q07sx3j615qgw8z536fmqz8fm3qv7f298ql3wcskrj7j";
+      system = "clonsigna";
+      asd = "clonsigna";
+    });
+    systems = [ "clonsigna" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl_plus_ssl" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "iolib" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  clos-diff = {
+    pname = "clos-diff";
+    version = "20150608-git";
+    asds = [ "clos-diff" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clos-diff/2015-06-08/clos-diff-20150608-git.tgz";
+      sha256 = "0y6chxzqwwwkrrmxxb74wwci6i4ck6i3fq36w9gl03qbrksfyjkz";
+      system = "clos-diff";
+      asd = "clos-diff";
+    });
+    systems = [ "clos-diff" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  clos-fixtures = {
+    pname = "clos-fixtures";
+    version = "20160825-git";
+    asds = [ "clos-fixtures" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clos-fixtures/2016-08-25/clos-fixtures-20160825-git.tgz";
+      sha256 = "1a3yvqszdwnsnk5hr4zrdpaqxb8vlxpl2nhxjl0j97fnmfaiqjhk";
+      system = "clos-fixtures";
+      asd = "clos-fixtures";
+    });
+    systems = [ "clos-fixtures" ];
+    lispLibs = [  ];
+  };
+  clos-fixtures-test = {
+    pname = "clos-fixtures-test";
+    version = "20160825-git";
+    asds = [ "clos-fixtures-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clos-fixtures/2016-08-25/clos-fixtures-20160825-git.tgz";
+      sha256 = "1a3yvqszdwnsnk5hr4zrdpaqxb8vlxpl2nhxjl0j97fnmfaiqjhk";
+      system = "clos-fixtures-test";
+      asd = "clos-fixtures-test";
+    });
+    systems = [ "clos-fixtures-test" ];
+    lispLibs = [ (getAttr "clos-fixtures" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  closer-mop = {
+    pname = "closer-mop";
+    version = "20211230-git";
+    asds = [ "closer-mop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/closer-mop/2021-12-30/closer-mop-20211230-git.tgz";
+      sha256 = "1lcbfdgks1arl0ia6iv72cir3c1px4y43jp0plpjw6n1vx9wjilm";
+      system = "closer-mop";
+      asd = "closer-mop";
+    });
+    systems = [ "closer-mop" ];
+    lispLibs = [  ];
+  };
+  closure-common = {
+    pname = "closure-common";
+    version = "20181018-git";
+    asds = [ "closure-common" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/closure-common/2018-10-18/closure-common-20181018-git.tgz";
+      sha256 = "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n";
+      system = "closure-common";
+      asd = "closure-common";
+    });
+    systems = [ "closure-common" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  closure-html = {
+    pname = "closure-html";
+    version = "20180711-git";
+    asds = [ "closure-html" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/closure-html/2018-07-11/closure-html-20180711-git.tgz";
+      sha256 = "105vm29qnxh6zj3rh4jwpm8dyp3b9bsva64c8a78cr270p28d032";
+      system = "closure-html";
+      asd = "closure-html";
+    });
+    systems = [ "closure-html" ];
+    lispLibs = [ (getAttr "closure-common" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  closure-template = {
+    pname = "closure-template";
+    version = "20150804-git";
+    asds = [ "closure-template" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-closure-template/2015-08-04/cl-closure-template-20150804-git.tgz";
+      sha256 = "16h0fs6bjjd4n9pbkwcprpgyj26vsw2akk3q08m7xmsmqi05dppv";
+      system = "closure-template";
+      asd = "closure-template";
+    });
+    systems = [ "closure-template" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "closer-mop" pkgs) (getAttr "esrap" pkgs) (getAttr "iterate" pkgs) (getAttr "parse-number" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  closure-template-test = {
+    pname = "closure-template-test";
+    version = "20150804-git";
+    asds = [ "closure-template-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-closure-template/2015-08-04/cl-closure-template-20150804-git.tgz";
+      sha256 = "16h0fs6bjjd4n9pbkwcprpgyj26vsw2akk3q08m7xmsmqi05dppv";
+      system = "closure-template-test";
+      asd = "closure-template";
+    });
+    systems = [ "closure-template-test" ];
+    lispLibs = [ (getAttr "closure-template" pkgs) (getAttr "lift" pkgs) ];
+  };
+  clouchdb = {
+    pname = "clouchdb";
+    version = "0.0.16";
+    asds = [ "clouchdb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clouchdb/2012-04-07/clouchdb_0.0.16.tgz";
+      sha256 = "1zfk4wkz0k5gbfznnbds0gcpc2y08p47rq7mhchf27v6rqg4kd7d";
+      system = "clouchdb";
+      asd = "clouchdb";
+    });
+    systems = [ "clouchdb" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "drakma" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "parenscript" pkgs) (getAttr "s-base64" pkgs) ];
+  };
+  clouchdb-examples = {
+    pname = "clouchdb-examples";
+    version = "0.0.16";
+    asds = [ "clouchdb-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clouchdb/2012-04-07/clouchdb_0.0.16.tgz";
+      sha256 = "1zfk4wkz0k5gbfznnbds0gcpc2y08p47rq7mhchf27v6rqg4kd7d";
+      system = "clouchdb-examples";
+      asd = "clouchdb-examples";
+    });
+    systems = [ "clouchdb-examples" ];
+    lispLibs = [ (getAttr "clouchdb" pkgs) (getAttr "parenscript" pkgs) ];
+  };
+  clouseau = {
+    pname = "clouseau";
+    version = "20211230-git";
+    asds = [ "clouseau" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clouseau";
+      asd = "clouseau";
+    });
+    systems = [ "clouseau" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "mcclim" pkgs) ];
+  };
+  clouseau_slash_test = {
+    pname = "clouseau_test";
+    version = "20211230-git";
+    asds = [ "clouseau" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "clouseau";
+      asd = "clouseau";
+    });
+    systems = [ "clouseau/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "clouseau" pkgs) ];
+  };
+  clpython = {
+    pname = "clpython";
+    version = "20200427-git";
+    asds = [ "clpython" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-python/2020-04-27/cl-python-20200427-git.tgz";
+      sha256 = "17j1n60yhc4cdxwbzbmjxk8dywx3my34k8b1gpiwxpq6jgzbh46c";
+      system = "clpython";
+      asd = "clpython";
+    });
+    systems = [ "clpython" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "yacc" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  clpython_slash_basic = {
+    pname = "clpython_basic";
+    version = "20200427-git";
+    asds = [ "clpython" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-python/2020-04-27/cl-python-20200427-git.tgz";
+      sha256 = "17j1n60yhc4cdxwbzbmjxk8dywx3my34k8b1gpiwxpq6jgzbh46c";
+      system = "clpython";
+      asd = "clpython";
+    });
+    systems = [ "clpython/basic" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  clpython_slash_compiler = {
+    pname = "clpython_compiler";
+    version = "20200427-git";
+    asds = [ "clpython" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-python/2020-04-27/cl-python-20200427-git.tgz";
+      sha256 = "17j1n60yhc4cdxwbzbmjxk8dywx3my34k8b1gpiwxpq6jgzbh46c";
+      system = "clpython";
+      asd = "clpython";
+    });
+    systems = [ "clpython/compiler" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "yacc" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  clpython_slash_contrib = {
+    pname = "clpython_contrib";
+    version = "20200427-git";
+    asds = [ "clpython" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-python/2020-04-27/cl-python-20200427-git.tgz";
+      sha256 = "17j1n60yhc4cdxwbzbmjxk8dywx3my34k8b1gpiwxpq6jgzbh46c";
+      system = "clpython";
+      asd = "clpython";
+    });
+    systems = [ "clpython/contrib" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "yacc" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  clpython_slash_lib = {
+    pname = "clpython_lib";
+    version = "20200427-git";
+    asds = [ "clpython" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-python/2020-04-27/cl-python-20200427-git.tgz";
+      sha256 = "17j1n60yhc4cdxwbzbmjxk8dywx3my34k8b1gpiwxpq6jgzbh46c";
+      system = "clpython";
+      asd = "clpython";
+    });
+    systems = [ "clpython/lib" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "yacc" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  clpython_slash_parser = {
+    pname = "clpython_parser";
+    version = "20200427-git";
+    asds = [ "clpython" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-python/2020-04-27/cl-python-20200427-git.tgz";
+      sha256 = "17j1n60yhc4cdxwbzbmjxk8dywx3my34k8b1gpiwxpq6jgzbh46c";
+      system = "clpython";
+      asd = "clpython";
+    });
+    systems = [ "clpython/parser" ];
+    lispLibs = [ (getAttr "yacc" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  clpython_slash_runtime = {
+    pname = "clpython_runtime";
+    version = "20200427-git";
+    asds = [ "clpython" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-python/2020-04-27/cl-python-20200427-git.tgz";
+      sha256 = "17j1n60yhc4cdxwbzbmjxk8dywx3my34k8b1gpiwxpq6jgzbh46c";
+      system = "clpython";
+      asd = "clpython";
+    });
+    systems = [ "clpython/runtime" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  clpython_slash_test = {
+    pname = "clpython_test";
+    version = "20200427-git";
+    asds = [ "clpython" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-python/2020-04-27/cl-python-20200427-git.tgz";
+      sha256 = "17j1n60yhc4cdxwbzbmjxk8dywx3my34k8b1gpiwxpq6jgzbh46c";
+      system = "clpython";
+      asd = "clpython";
+    });
+    systems = [ "clpython/test" ];
+    lispLibs = [ (getAttr "clpython" pkgs) (getAttr "ptester" pkgs) ];
+  };
+  clsql = {
+    pname = "clsql";
+    version = "20210228-git";
+    asds = [ "clsql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql/2021-02-28/clsql-20210228-git.tgz";
+      sha256 = "1hm4y742h4ib6zjasyfm91rl4363zdn3zi0vhgqsf8jksrjrw6p8";
+      system = "clsql";
+      asd = "clsql";
+    });
+    systems = [ "clsql" ];
+    lispLibs = [ (getAttr "uffi" pkgs) ];
+  };
+  clsql-aodbc = {
+    pname = "clsql-aodbc";
+    version = "20210228-git";
+    asds = [ "clsql-aodbc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql/2021-02-28/clsql-20210228-git.tgz";
+      sha256 = "1hm4y742h4ib6zjasyfm91rl4363zdn3zi0vhgqsf8jksrjrw6p8";
+      system = "clsql-aodbc";
+      asd = "clsql-aodbc";
+    });
+    systems = [ "clsql-aodbc" ];
+    lispLibs = [  ];
+  };
+  clsql-cffi = {
+    pname = "clsql-cffi";
+    version = "20210228-git";
+    asds = [ "clsql-cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql/2021-02-28/clsql-20210228-git.tgz";
+      sha256 = "1hm4y742h4ib6zjasyfm91rl4363zdn3zi0vhgqsf8jksrjrw6p8";
+      system = "clsql-cffi";
+      asd = "clsql-cffi";
+    });
+    systems = [ "clsql-cffi" ];
+    lispLibs = [ (getAttr "clsql" pkgs) ];
+  };
+  clsql-fluid = {
+    pname = "clsql-fluid";
+    version = "20170830-git";
+    asds = [ "clsql-fluid" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql-fluid/2017-08-30/clsql-fluid-20170830-git.tgz";
+      sha256 = "0i7x1xbh83wfr3k4ddsdy57yf0nqfhdxcbwv1na1ina6m5javg11";
+      system = "clsql-fluid";
+      asd = "clsql-fluid";
+    });
+    systems = [ "clsql-fluid" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "closer-mop" pkgs) (getAttr "clsql" pkgs) ];
+  };
+  clsql-helper = {
+    pname = "clsql-helper";
+    version = "20180131-git";
+    asds = [ "clsql-helper" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql-helper/2018-01-31/clsql-helper-20180131-git.tgz";
+      sha256 = "0yc6m8yh0gcark98wvjjwdq3xxy308x15pb7fzha6svxa06hf27g";
+      system = "clsql-helper";
+      asd = "clsql-helper";
+    });
+    systems = [ "clsql-helper" ];
+    lispLibs = [ (getAttr "access" pkgs) (getAttr "alexandria" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "clsql" pkgs) (getAttr "collectors" pkgs) (getAttr "iterate" pkgs) (getAttr "md5" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  clsql-helper-slot-coercer = {
+    pname = "clsql-helper-slot-coercer";
+    version = "20180131-git";
+    asds = [ "clsql-helper-slot-coercer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql-helper/2018-01-31/clsql-helper-20180131-git.tgz";
+      sha256 = "0yc6m8yh0gcark98wvjjwdq3xxy308x15pb7fzha6svxa06hf27g";
+      system = "clsql-helper-slot-coercer";
+      asd = "clsql-helper-slot-coercer";
+    });
+    systems = [ "clsql-helper-slot-coercer" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "clsql-helper" pkgs) ];
+  };
+  clsql-helper-slot-coercer-test = {
+    pname = "clsql-helper-slot-coercer-test";
+    version = "20180131-git";
+    asds = [ "clsql-helper-slot-coercer-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql-helper/2018-01-31/clsql-helper-20180131-git.tgz";
+      sha256 = "0yc6m8yh0gcark98wvjjwdq3xxy308x15pb7fzha6svxa06hf27g";
+      system = "clsql-helper-slot-coercer-test";
+      asd = "clsql-helper-slot-coercer";
+    });
+    systems = [ "clsql-helper-slot-coercer-test" ];
+    lispLibs = [ (getAttr "clsql-helper-slot-coercer" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  clsql-helper-test = {
+    pname = "clsql-helper-test";
+    version = "20180131-git";
+    asds = [ "clsql-helper-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql-helper/2018-01-31/clsql-helper-20180131-git.tgz";
+      sha256 = "0yc6m8yh0gcark98wvjjwdq3xxy308x15pb7fzha6svxa06hf27g";
+      system = "clsql-helper-test";
+      asd = "clsql-helper";
+    });
+    systems = [ "clsql-helper-test" ];
+    lispLibs = [ (getAttr "clsql-tests" pkgs) (getAttr "clsql-helper" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  clsql-local-time = {
+    pname = "clsql-local-time";
+    version = "20201016-git";
+    asds = [ "clsql-local-time" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql-local-time/2020-10-16/clsql-local-time-20201016-git.tgz";
+      sha256 = "1ipv6ij1md5mw44cbif31hiccrric3302rhssj8f7kg3s8n6mphv";
+      system = "clsql-local-time";
+      asd = "clsql-local-time";
+    });
+    systems = [ "clsql-local-time" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  clsql-mysql = {
+    pname = "clsql-mysql";
+    version = "20210228-git";
+    asds = [ "clsql-mysql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql/2021-02-28/clsql-20210228-git.tgz";
+      sha256 = "1hm4y742h4ib6zjasyfm91rl4363zdn3zi0vhgqsf8jksrjrw6p8";
+      system = "clsql-mysql";
+      asd = "clsql-mysql";
+    });
+    systems = [ "clsql-mysql" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "clsql-uffi" pkgs) (getAttr "uffi" pkgs) ];
+  };
+  clsql-odbc = {
+    pname = "clsql-odbc";
+    version = "20210228-git";
+    asds = [ "clsql-odbc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql/2021-02-28/clsql-20210228-git.tgz";
+      sha256 = "1hm4y742h4ib6zjasyfm91rl4363zdn3zi0vhgqsf8jksrjrw6p8";
+      system = "clsql-odbc";
+      asd = "clsql-odbc";
+    });
+    systems = [ "clsql-odbc" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "clsql-uffi" pkgs) ];
+  };
+  clsql-orm = {
+    pname = "clsql-orm";
+    version = "20160208-git";
+    asds = [ "clsql-orm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql-orm/2016-02-08/clsql-orm-20160208-git.tgz";
+      sha256 = "1y9604k0mj8h03p85l5nrjkihr3yfj5fp910db9f4ksd1ln2qkka";
+      system = "clsql-orm";
+      asd = "clsql-orm";
+    });
+    systems = [ "clsql-orm" ];
+    lispLibs = [ (getAttr "cl-inflector" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "clsql" pkgs) (getAttr "iterate" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  clsql-postgresql = {
+    pname = "clsql-postgresql";
+    version = "20210228-git";
+    asds = [ "clsql-postgresql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql/2021-02-28/clsql-20210228-git.tgz";
+      sha256 = "1hm4y742h4ib6zjasyfm91rl4363zdn3zi0vhgqsf8jksrjrw6p8";
+      system = "clsql-postgresql";
+      asd = "clsql-postgresql";
+    });
+    systems = [ "clsql-postgresql" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "clsql-uffi" pkgs) ];
+  };
+  clsql-postgresql-socket = {
+    pname = "clsql-postgresql-socket";
+    version = "20210228-git";
+    asds = [ "clsql-postgresql-socket" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql/2021-02-28/clsql-20210228-git.tgz";
+      sha256 = "1hm4y742h4ib6zjasyfm91rl4363zdn3zi0vhgqsf8jksrjrw6p8";
+      system = "clsql-postgresql-socket";
+      asd = "clsql-postgresql-socket";
+    });
+    systems = [ "clsql-postgresql-socket" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "md5" pkgs) (getAttr "uffi" pkgs) ];
+  };
+  clsql-postgresql-socket3 = {
+    pname = "clsql-postgresql-socket3";
+    version = "20210228-git";
+    asds = [ "clsql-postgresql-socket3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql/2021-02-28/clsql-20210228-git.tgz";
+      sha256 = "1hm4y742h4ib6zjasyfm91rl4363zdn3zi0vhgqsf8jksrjrw6p8";
+      system = "clsql-postgresql-socket3";
+      asd = "clsql-postgresql-socket3";
+    });
+    systems = [ "clsql-postgresql-socket3" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "md5" pkgs) (getAttr "cl-postgres" pkgs) ];
+  };
+  clsql-sqlite = {
+    pname = "clsql-sqlite";
+    version = "20210228-git";
+    asds = [ "clsql-sqlite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql/2021-02-28/clsql-20210228-git.tgz";
+      sha256 = "1hm4y742h4ib6zjasyfm91rl4363zdn3zi0vhgqsf8jksrjrw6p8";
+      system = "clsql-sqlite";
+      asd = "clsql-sqlite";
+    });
+    systems = [ "clsql-sqlite" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "clsql-uffi" pkgs) ];
+  };
+  clsql-sqlite3 = {
+    pname = "clsql-sqlite3";
+    version = "20210228-git";
+    asds = [ "clsql-sqlite3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql/2021-02-28/clsql-20210228-git.tgz";
+      sha256 = "1hm4y742h4ib6zjasyfm91rl4363zdn3zi0vhgqsf8jksrjrw6p8";
+      system = "clsql-sqlite3";
+      asd = "clsql-sqlite3";
+    });
+    systems = [ "clsql-sqlite3" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "clsql-uffi" pkgs) ];
+  };
+  clsql-tests = {
+    pname = "clsql-tests";
+    version = "20210228-git";
+    asds = [ "clsql-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql/2021-02-28/clsql-20210228-git.tgz";
+      sha256 = "1hm4y742h4ib6zjasyfm91rl4363zdn3zi0vhgqsf8jksrjrw6p8";
+      system = "clsql-tests";
+      asd = "clsql-tests";
+    });
+    systems = [ "clsql-tests" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "rt" pkgs) (getAttr "uffi" pkgs) ];
+  };
+  clsql-uffi = {
+    pname = "clsql-uffi";
+    version = "20210228-git";
+    asds = [ "clsql-uffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clsql/2021-02-28/clsql-20210228-git.tgz";
+      sha256 = "1hm4y742h4ib6zjasyfm91rl4363zdn3zi0vhgqsf8jksrjrw6p8";
+      system = "clsql-uffi";
+      asd = "clsql-uffi";
+    });
+    systems = [ "clsql-uffi" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "uffi" pkgs) ];
+  };
+  clss = {
+    pname = "clss";
+    version = "20191130-git";
+    asds = [ "clss" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clss/2019-11-30/clss-20191130-git.tgz";
+      sha256 = "0la4dbcda78x29szanylccrsljqrn9d1mhh569sqkyp44ni5fv91";
+      system = "clss";
+      asd = "clss";
+    });
+    systems = [ "clss" ];
+    lispLibs = [ (getAttr "array-utils" pkgs) (getAttr "plump" pkgs) ];
+  };
+  cltcl = {
+    pname = "cltcl";
+    version = "20161204-git";
+    asds = [ "cltcl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cltcl/2016-12-04/cltcl-20161204-git.tgz";
+      sha256 = "18b7fa7m9h9xfhnkxa6r3xzj86p1fvq0mh5q8vdrdv3vxfyc2l68";
+      system = "cltcl";
+      asd = "cltcl";
+    });
+    systems = [ "cltcl" ];
+    lispLibs = [  ];
+  };
+  cluffer = {
+    pname = "cluffer";
+    version = "20211020-git";
+    asds = [ "cluffer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cluffer/2021-10-20/cluffer-20211020-git.tgz";
+      sha256 = "1xl7m0didqnhlzn2yqdiqlp0bglzmkmn23qzl7xv67riw32jm6nr";
+      system = "cluffer";
+      asd = "cluffer";
+    });
+    systems = [ "cluffer" ];
+    lispLibs = [ (getAttr "cluffer-base" pkgs) (getAttr "cluffer-simple-buffer" pkgs) (getAttr "cluffer-simple-line" pkgs) (getAttr "cluffer-standard-buffer" pkgs) (getAttr "cluffer-standard-line" pkgs) ];
+  };
+  cluffer-base = {
+    pname = "cluffer-base";
+    version = "20211020-git";
+    asds = [ "cluffer-base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cluffer/2021-10-20/cluffer-20211020-git.tgz";
+      sha256 = "1xl7m0didqnhlzn2yqdiqlp0bglzmkmn23qzl7xv67riw32jm6nr";
+      system = "cluffer-base";
+      asd = "cluffer-base";
+    });
+    systems = [ "cluffer-base" ];
+    lispLibs = [ (getAttr "acclimation" pkgs) ];
+  };
+  cluffer-simple-buffer = {
+    pname = "cluffer-simple-buffer";
+    version = "20211020-git";
+    asds = [ "cluffer-simple-buffer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cluffer/2021-10-20/cluffer-20211020-git.tgz";
+      sha256 = "1xl7m0didqnhlzn2yqdiqlp0bglzmkmn23qzl7xv67riw32jm6nr";
+      system = "cluffer-simple-buffer";
+      asd = "cluffer-simple-buffer";
+    });
+    systems = [ "cluffer-simple-buffer" ];
+    lispLibs = [ (getAttr "cluffer-base" pkgs) ];
+  };
+  cluffer-simple-line = {
+    pname = "cluffer-simple-line";
+    version = "20211020-git";
+    asds = [ "cluffer-simple-line" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cluffer/2021-10-20/cluffer-20211020-git.tgz";
+      sha256 = "1xl7m0didqnhlzn2yqdiqlp0bglzmkmn23qzl7xv67riw32jm6nr";
+      system = "cluffer-simple-line";
+      asd = "cluffer-simple-line";
+    });
+    systems = [ "cluffer-simple-line" ];
+    lispLibs = [ (getAttr "cluffer-base" pkgs) ];
+  };
+  cluffer-standard-buffer = {
+    pname = "cluffer-standard-buffer";
+    version = "20211020-git";
+    asds = [ "cluffer-standard-buffer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cluffer/2021-10-20/cluffer-20211020-git.tgz";
+      sha256 = "1xl7m0didqnhlzn2yqdiqlp0bglzmkmn23qzl7xv67riw32jm6nr";
+      system = "cluffer-standard-buffer";
+      asd = "cluffer-standard-buffer";
+    });
+    systems = [ "cluffer-standard-buffer" ];
+    lispLibs = [ (getAttr "cluffer-base" pkgs) (getAttr "clump" pkgs) ];
+  };
+  cluffer-standard-line = {
+    pname = "cluffer-standard-line";
+    version = "20211020-git";
+    asds = [ "cluffer-standard-line" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cluffer/2021-10-20/cluffer-20211020-git.tgz";
+      sha256 = "1xl7m0didqnhlzn2yqdiqlp0bglzmkmn23qzl7xv67riw32jm6nr";
+      system = "cluffer-standard-line";
+      asd = "cluffer-standard-line";
+    });
+    systems = [ "cluffer-standard-line" ];
+    lispLibs = [ (getAttr "cluffer-base" pkgs) ];
+  };
+  cluffer-test = {
+    pname = "cluffer-test";
+    version = "20211020-git";
+    asds = [ "cluffer-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cluffer/2021-10-20/cluffer-20211020-git.tgz";
+      sha256 = "1xl7m0didqnhlzn2yqdiqlp0bglzmkmn23qzl7xv67riw32jm6nr";
+      system = "cluffer-test";
+      asd = "cluffer-test";
+    });
+    systems = [ "cluffer-test" ];
+    lispLibs = [ (getAttr "cluffer" pkgs) ];
+  };
+  clump = {
+    pname = "clump";
+    version = "20160825-git";
+    asds = [ "clump" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clump/2016-08-25/clump-20160825-git.tgz";
+      sha256 = "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh";
+      system = "clump";
+      asd = "clump";
+    });
+    systems = [ "clump" ];
+    lispLibs = [ (getAttr "clump-2-3-tree" pkgs) (getAttr "clump-binary-tree" pkgs) ];
+  };
+  clump-2-3-tree = {
+    pname = "clump-2-3-tree";
+    version = "20160825-git";
+    asds = [ "clump-2-3-tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clump/2016-08-25/clump-20160825-git.tgz";
+      sha256 = "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh";
+      system = "clump-2-3-tree";
+      asd = "clump-2-3-tree";
+    });
+    systems = [ "clump-2-3-tree" ];
+    lispLibs = [ (getAttr "acclimation" pkgs) ];
+  };
+  clump-binary-tree = {
+    pname = "clump-binary-tree";
+    version = "20160825-git";
+    asds = [ "clump-binary-tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clump/2016-08-25/clump-20160825-git.tgz";
+      sha256 = "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh";
+      system = "clump-binary-tree";
+      asd = "clump-binary-tree";
+    });
+    systems = [ "clump-binary-tree" ];
+    lispLibs = [ (getAttr "acclimation" pkgs) ];
+  };
+  clump-test = {
+    pname = "clump-test";
+    version = "20160825-git";
+    asds = [ "clump-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clump/2016-08-25/clump-20160825-git.tgz";
+      sha256 = "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh";
+      system = "clump-test";
+      asd = "clump-test";
+    });
+    systems = [ "clump-test" ];
+    lispLibs = [ (getAttr "clump" pkgs) ];
+  };
+  clunit = {
+    pname = "clunit";
+    version = "20171019-git";
+    asds = [ "clunit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clunit/2017-10-19/clunit-20171019-git.tgz";
+      sha256 = "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85";
+      system = "clunit";
+      asd = "clunit";
+    });
+    systems = [ "clunit" ];
+    lispLibs = [  ];
+  };
+  clunit2 = {
+    pname = "clunit2";
+    version = "20211020-git";
+    asds = [ "clunit2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clunit2/2021-10-20/clunit2-20211020-git.tgz";
+      sha256 = "06gsqgh7y6y1sr91makvs1s6s24darxigq8n8rnvsfsw0zk17kcv";
+      system = "clunit2";
+      asd = "clunit2";
+    });
+    systems = [ "clunit2" ];
+    lispLibs = [  ];
+  };
+  clutter = {
+    pname = "clutter";
+    version = "v1.0.0";
+    asds = [ "clutter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clutter/2021-10-20/clutter-v1.0.0.tgz";
+      sha256 = "1q9mg4d0nja9ypm13i24wymhjwziw6n7r7p1dzw6xc5zhavqsni7";
+      system = "clutter";
+      asd = "clutter";
+    });
+    systems = [ "clutter" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "doplus" pkgs) ];
+  };
+  clutter_slash_tests = {
+    pname = "clutter_tests";
+    version = "v1.0.0";
+    asds = [ "clutter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clutter/2021-10-20/clutter-v1.0.0.tgz";
+      sha256 = "1q9mg4d0nja9ypm13i24wymhjwziw6n7r7p1dzw6xc5zhavqsni7";
+      system = "clutter";
+      asd = "clutter";
+    });
+    systems = [ "clutter/tests" ];
+    lispLibs = [ (getAttr "clutter" pkgs) (getAttr "dissect" pkgs) (getAttr "rove" pkgs) ];
+  };
+  clweb = {
+    pname = "clweb";
+    version = "20201220-git";
+    asds = [ "clweb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clweb/2020-12-20/clweb-20201220-git.tgz";
+      sha256 = "0hqyrglgsgal5s8f0n247hg0hqlw6l6w1r5i8lzf0a0xvcz49f48";
+      system = "clweb";
+      asd = "clweb";
+    });
+    systems = [ "clweb" ];
+    lispLibs = [  ];
+  };
+  clweb_slash_tests = {
+    pname = "clweb_tests";
+    version = "20201220-git";
+    asds = [ "clweb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clweb/2020-12-20/clweb-20201220-git.tgz";
+      sha256 = "0hqyrglgsgal5s8f0n247hg0hqlw6l6w1r5i8lzf0a0xvcz49f48";
+      system = "clweb";
+      asd = "clweb";
+    });
+    systems = [ "clweb/tests" ];
+    lispLibs = [ (getAttr "clweb" pkgs) ];
+  };
+  clws = {
+    pname = "clws";
+    version = "20130813-git";
+    asds = [ "clws" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clws/2013-08-13/clws-20130813-git.tgz";
+      sha256 = "1svj025zwsbkb0hrbz1nj0x306hkhy9xinq0x1qdflc9vg169dh6";
+      system = "clws";
+      asd = "clws";
+    });
+    systems = [ "clws" ];
+    lispLibs = [ (getAttr "chunga" pkgs) (getAttr "cl-base64" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "iolib" pkgs) (getAttr "ironclad" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  clx = {
+    pname = "clx";
+    version = "20211020-git";
+    asds = [ "clx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clx/2021-10-20/clx-20211020-git.tgz";
+      sha256 = "00h0wppa3r0j2wk33yrva0s13l90lxhg5965mwx6j534d2cghah4";
+      system = "clx";
+      asd = "clx";
+    });
+    systems = [ "clx" ];
+    lispLibs = [  ];
+  };
+  clx_slash_test = {
+    pname = "clx_test";
+    version = "20211020-git";
+    asds = [ "clx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clx/2021-10-20/clx-20211020-git.tgz";
+      sha256 = "00h0wppa3r0j2wk33yrva0s13l90lxhg5965mwx6j534d2cghah4";
+      system = "clx";
+      asd = "clx";
+    });
+    systems = [ "clx/test" ];
+    lispLibs = [ (getAttr "clx" pkgs) (getAttr "fiasco" pkgs) ];
+  };
+  cmake-parser = {
+    pname = "cmake-parser";
+    version = "20180831-git";
+    asds = [ "cmake-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cmake-parser/2018-08-31/cmake-parser-20180831-git.tgz";
+      sha256 = "1sb5pwxhg7k41202kvxj1b60c5pxnl0mfbqdz53xayddngn2brgl";
+      system = "cmake-parser";
+      asd = "cmake-parser";
+    });
+    systems = [ "cmake-parser" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "esrap" pkgs) ];
+  };
+  cmd = {
+    pname = "cmd";
+    version = "20211209-git";
+    asds = [ "cmd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cmd/2021-12-09/cmd-20211209-git.tgz";
+      sha256 = "1amicgs55mjrnsibllpb2p2jbk5r6pfdpfvg2wyjxqbywm2szhkd";
+      system = "cmd";
+      asd = "cmd";
+    });
+    systems = [ "cmd" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "shlex" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cmu-infix = {
+    pname = "cmu-infix";
+    version = "20180228-git";
+    asds = [ "cmu-infix" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cmu-infix/2018-02-28/cmu-infix-20180228-git.tgz";
+      sha256 = "0macs398088cfif1dkjrpmidk515sjl7ld96f9ys5cpzx8sc5gib";
+      system = "cmu-infix";
+      asd = "cmu-infix";
+    });
+    systems = [ "cmu-infix" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  cmu-infix-tests = {
+    pname = "cmu-infix-tests";
+    version = "20180228-git";
+    asds = [ "cmu-infix-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cmu-infix/2018-02-28/cmu-infix-20180228-git.tgz";
+      sha256 = "0macs398088cfif1dkjrpmidk515sjl7ld96f9ys5cpzx8sc5gib";
+      system = "cmu-infix-tests";
+      asd = "cmu-infix-tests";
+    });
+    systems = [ "cmu-infix-tests" ];
+    lispLibs = [ (getAttr "cmu-infix" pkgs) (getAttr "fiasco" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cocoahelper = {
+    pname = "cocoahelper";
+    version = "20210807-git";
+    asds = [ "cocoahelper" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "cocoahelper";
+      asd = "cocoahelper";
+    });
+    systems = [ "cocoahelper" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl-binaries" pkgs) ];
+  };
+  codata-recommended-values = {
+    pname = "codata-recommended-values";
+    version = "20200218-git";
+    asds = [ "codata-recommended-values" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/codata-recommended-values/2020-02-18/codata-recommended-values-20200218-git.tgz";
+      sha256 = "0gm27bkq4ma9kc3adnbzyhchky38halb77qc30ll2097ahwy735p";
+      system = "codata-recommended-values";
+      asd = "codata-recommended-values";
+    });
+    systems = [ "codata-recommended-values" ];
+    lispLibs = [  ];
+  };
+  codex = {
+    pname = "codex";
+    version = "20181210-git";
+    asds = [ "codex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/codex/2018-12-10/codex-20181210-git.tgz";
+      sha256 = "1fyx11h6khh1987x0linfnkl5416yfpxzkcn6g7v5ga18rv41566";
+      system = "codex";
+      asd = "codex";
+    });
+    systems = [ "codex" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-slug" pkgs) (getAttr "codex-templates" pkgs) (getAttr "common-doc" pkgs) (getAttr "common-doc-contrib" pkgs) (getAttr "docparser" pkgs) (getAttr "pandocl" pkgs) ];
+  };
+  codex-templates = {
+    pname = "codex-templates";
+    version = "20181210-git";
+    asds = [ "codex-templates" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/codex/2018-12-10/codex-20181210-git.tgz";
+      sha256 = "1fyx11h6khh1987x0linfnkl5416yfpxzkcn6g7v5ga18rv41566";
+      system = "codex-templates";
+      asd = "codex-templates";
+    });
+    systems = [ "codex-templates" ];
+    lispLibs = [ (getAttr "common-html" pkgs) (getAttr "djula" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  coleslaw = {
+    pname = "coleslaw";
+    version = "20210531-git";
+    asds = [ "coleslaw" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/coleslaw/2021-05-31/coleslaw-20210531-git.tgz";
+      sha256 = "00rk1qg9baj49qmpxbxa2ixqypjvshvzv0mr7kw4nbajgvrhxgin";
+      system = "coleslaw";
+      asd = "coleslaw";
+    });
+    systems = [ "coleslaw" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "_3bmd-ext-code-blocks" pkgs) (getAttr "alexandria" pkgs) (getAttr "closure-template" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-unicode" pkgs) (getAttr "closer-mop" pkgs) (getAttr "inferior-shell" pkgs) (getAttr "local-time" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  coleslaw-cli = {
+    pname = "coleslaw-cli";
+    version = "20210531-git";
+    asds = [ "coleslaw-cli" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/coleslaw/2021-05-31/coleslaw-20210531-git.tgz";
+      sha256 = "00rk1qg9baj49qmpxbxa2ixqypjvshvzv0mr7kw4nbajgvrhxgin";
+      system = "coleslaw-cli";
+      asd = "coleslaw-cli";
+    });
+    systems = [ "coleslaw-cli" ];
+    lispLibs = [ (getAttr "clack" pkgs) (getAttr "coleslaw" pkgs) (getAttr "trivia" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  coleslaw-test = {
+    pname = "coleslaw-test";
+    version = "20210531-git";
+    asds = [ "coleslaw-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/coleslaw/2021-05-31/coleslaw-20210531-git.tgz";
+      sha256 = "00rk1qg9baj49qmpxbxa2ixqypjvshvzv0mr7kw4nbajgvrhxgin";
+      system = "coleslaw-test";
+      asd = "coleslaw-test";
+    });
+    systems = [ "coleslaw-test" ];
+    lispLibs = [ (getAttr "coleslaw" pkgs) (getAttr "coleslaw-cli" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  collectors = {
+    pname = "collectors";
+    version = "20161204-git";
+    asds = [ "collectors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/collectors/2016-12-04/collectors-20161204-git.tgz";
+      sha256 = "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi";
+      system = "collectors";
+      asd = "collectors";
+    });
+    systems = [ "collectors" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  collectors-test = {
+    pname = "collectors-test";
+    version = "20161204-git";
+    asds = [ "collectors-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/collectors/2016-12-04/collectors-20161204-git.tgz";
+      sha256 = "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi";
+      system = "collectors-test";
+      asd = "collectors";
+    });
+    systems = [ "collectors-test" ];
+    lispLibs = [ (getAttr "collectors" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  colleen = {
+    pname = "colleen";
+    version = "20181018-git";
+    asds = [ "colleen" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/colleen/2018-10-18/colleen-20181018-git.tgz";
+      sha256 = "1cm7vlqsnrbln5jmihdw8m7x1fqm2insdj4f5qasdm32iy6d8bj4";
+      system = "colleen";
+      asd = "colleen";
+    });
+    systems = [ "colleen" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "trivial-arguments" pkgs) (getAttr "universal-config" pkgs) (getAttr "usocket" pkgs) (getAttr "uuid" pkgs) (getAttr "verbose" pkgs) ];
+  };
+  colliflower = {
+    pname = "colliflower";
+    version = "20211020-git";
+    asds = [ "colliflower" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz";
+      sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r";
+      system = "colliflower";
+      asd = "colliflower";
+    });
+    systems = [ "colliflower" ];
+    lispLibs = [ (getAttr "asdf-package-system" pkgs) (getAttr "garten" pkgs) (getAttr "liter" pkgs) (getAttr "silo" pkgs) ];
+  };
+  colliflower-fset = {
+    pname = "colliflower-fset";
+    version = "20211020-git";
+    asds = [ "colliflower-fset" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz";
+      sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r";
+      system = "colliflower-fset";
+      asd = "colliflower-fset";
+    });
+    systems = [ "colliflower-fset" ];
+    lispLibs = [ (getAttr "colliflower" pkgs) (getAttr "fset" pkgs) ];
+  };
+  colliflower-test = {
+    pname = "colliflower-test";
+    version = "20211020-git";
+    asds = [ "colliflower-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz";
+      sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r";
+      system = "colliflower-test";
+      asd = "colliflower-test";
+    });
+    systems = [ "colliflower-test" ];
+    lispLibs = [ (getAttr "colliflower" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  colnew = {
+    pname = "colnew";
+    version = "20200925-git";
+    asds = [ "colnew" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "colnew";
+      asd = "colnew";
+    });
+    systems = [ "colnew" ];
+    lispLibs = [ (getAttr "f2cl" pkgs) ];
+  };
+  colnew_slash_test-1 = {
+    pname = "colnew_test-1";
+    version = "20200925-git";
+    asds = [ "colnew" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "colnew";
+      asd = "colnew";
+    });
+    systems = [ "colnew/test-1" ];
+    lispLibs = [ (getAttr "colnew" pkgs) ];
+  };
+  colnew_slash_test-2 = {
+    pname = "colnew_test-2";
+    version = "20200925-git";
+    asds = [ "colnew" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "colnew";
+      asd = "colnew";
+    });
+    systems = [ "colnew/test-2" ];
+    lispLibs = [ (getAttr "colnew" pkgs) ];
+  };
+  colnew_slash_test-3 = {
+    pname = "colnew_test-3";
+    version = "20200925-git";
+    asds = [ "colnew" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "colnew";
+      asd = "colnew";
+    });
+    systems = [ "colnew/test-3" ];
+    lispLibs = [ (getAttr "colnew" pkgs) ];
+  };
+  colored = {
+    pname = "colored";
+    version = "20211020-git";
+    asds = [ "colored" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/colored/2021-10-20/colored-20211020-git.tgz";
+      sha256 = "0mpg91r6yfb9xqccd4r8z3hl2qzjhdj6daswb1cinrm8ffxrvy5k";
+      system = "colored";
+      asd = "colored";
+    });
+    systems = [ "colored" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  colored-test = {
+    pname = "colored-test";
+    version = "20211020-git";
+    asds = [ "colored-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/colored/2021-10-20/colored-20211020-git.tgz";
+      sha256 = "0mpg91r6yfb9xqccd4r8z3hl2qzjhdj6daswb1cinrm8ffxrvy5k";
+      system = "colored-test";
+      asd = "colored-test";
+    });
+    systems = [ "colored-test" ];
+    lispLibs = [ (getAttr "colored" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  colorize = {
+    pname = "colorize";
+    version = "20180228-git";
+    asds = [ "colorize" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/colorize/2018-02-28/colorize-20180228-git.tgz";
+      sha256 = "1pdg4kiaczmr3ivffhirp7m3lbr1q27rn7dhaay0vwghmi31zcw9";
+      system = "colorize";
+      asd = "colorize";
+    });
+    systems = [ "colorize" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "html-encode" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  com-on = {
+    pname = "com-on";
+    version = "20201016-git";
+    asds = [ "com-on" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/com-on/2020-10-16/com-on-20201016-git.tgz";
+      sha256 = "0ss0n89xlnn7xrs8jvgp452hglpmx4sb3yrh3xs9k1ymlcmdwi3y";
+      system = "com-on";
+      asd = "com-on";
+    });
+    systems = [ "com-on" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) ];
+  };
+  com-on-test = {
+    pname = "com-on-test";
+    version = "20201016-git";
+    asds = [ "com-on-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/com-on/2020-10-16/com-on-20201016-git.tgz";
+      sha256 = "0ss0n89xlnn7xrs8jvgp452hglpmx4sb3yrh3xs9k1ymlcmdwi3y";
+      system = "com-on-test";
+      asd = "com-on-test";
+    });
+    systems = [ "com-on-test" ];
+    lispLibs = [ (getAttr "com-on" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  com_dot_clearly-useful_dot_generic-collection-interface = {
+    pname = "com.clearly-useful.generic-collection-interface";
+    version = "20190710-git";
+    asds = [ "com.clearly-useful.generic-collection-interface" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/com.clearly-useful.generic-collection-interface/2019-07-10/com.clearly-useful.generic-collection-interface-20190710-git.tgz";
+      sha256 = "1yfxwqgvrb1nwryymsl4s3h1lr8yskb9c76lxqy3mw5l0vwvl5zl";
+      system = "com.clearly-useful.generic-collection-interface";
+      asd = "com.clearly-useful.generic-collection-interface";
+    });
+    systems = [ "com.clearly-useful.generic-collection-interface" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "com_dot_clearly-useful_dot_protocols" pkgs) (getAttr "lparallel" pkgs) ];
+  };
+  com_dot_clearly-useful_dot_generic-collection-interface_dot_test = {
+    pname = "com.clearly-useful.generic-collection-interface.test";
+    version = "20190710-git";
+    asds = [ "com.clearly-useful.generic-collection-interface.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/com.clearly-useful.generic-collection-interface/2019-07-10/com.clearly-useful.generic-collection-interface-20190710-git.tgz";
+      sha256 = "1yfxwqgvrb1nwryymsl4s3h1lr8yskb9c76lxqy3mw5l0vwvl5zl";
+      system = "com.clearly-useful.generic-collection-interface.test";
+      asd = "com.clearly-useful.generic-collection-interface.test";
+    });
+    systems = [ "com.clearly-useful.generic-collection-interface.test" ];
+    lispLibs = [ (getAttr "com_dot_clearly-useful_dot_generic-collection-interface" pkgs) ];
+  };
+  com_dot_clearly-useful_dot_iterate_plus = {
+    pname = "com.clearly-useful.iterate+";
+    version = "20121013-git";
+    asds = [ "com.clearly-useful.iterate+" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/com.clearly-useful.iterate-plus/2012-10-13/com.clearly-useful.iterate-plus-20121013-git.tgz";
+      sha256 = "0fpymg6p9zglkclfn035agcs5k83fakad7dj2612v5p1snzzcika";
+      system = "com.clearly-useful.iterate+";
+      asd = "com.clearly-useful.iterate+";
+    });
+    systems = [ "com.clearly-useful.iterate+" ];
+    lispLibs = [ (getAttr "com_dot_clearly-useful_dot_generic-collection-interface" pkgs) (getAttr "com_dot_clearly-useful_dot_iterator-protocol" pkgs) (getAttr "com_dot_clearly-useful_dot_protocols" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  com_dot_clearly-useful_dot_iterator-protocol = {
+    pname = "com.clearly-useful.iterator-protocol";
+    version = "20130312-git";
+    asds = [ "com.clearly-useful.iterator-protocol" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/com.clearly-useful.iterator-protocol/2013-03-12/com.clearly-useful.iterator-protocol-20130312-git.tgz";
+      sha256 = "1wgksgpck6na1ygdnln5n1y8rj2kylg3lpbkyrhdka2cgsqiqs4a";
+      system = "com.clearly-useful.iterator-protocol";
+      asd = "com.clearly-useful.iterator-protocol";
+    });
+    systems = [ "com.clearly-useful.iterator-protocol" ];
+    lispLibs = [ (getAttr "com_dot_clearly-useful_dot_generic-collection-interface" pkgs) (getAttr "com_dot_clearly-useful_dot_protocols" pkgs) ];
+  };
+  com_dot_clearly-useful_dot_protocols = {
+    pname = "com.clearly-useful.protocols";
+    version = "20130312-git";
+    asds = [ "com.clearly-useful.protocols" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/com.clearly-useful.protocols/2013-03-12/com.clearly-useful.protocols-20130312-git.tgz";
+      sha256 = "0az9rs98chjj2fdmpapqkv4sgfs84n9s7vvngcl05hcbsldm0xvn";
+      system = "com.clearly-useful.protocols";
+      asd = "com.clearly-useful.protocols";
+    });
+    systems = [ "com.clearly-useful.protocols" ];
+    lispLibs = [ (getAttr "iterate" pkgs) ];
+  };
+  com_dot_dvlsoft_dot_rcfiles = {
+    pname = "com.dvlsoft.rcfiles";
+    version = "20111203-http";
+    asds = [ "com.dvlsoft.rcfiles" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rcfiles/2011-12-03/cl-rcfiles-20111203-http.tgz";
+      sha256 = "06ahp9jaim216k7vbya1kp8iy5yb1i7axwrsjx7gwhl2b2q63r0a";
+      system = "com.dvlsoft.rcfiles";
+      asd = "com.dvlsoft.rcfiles";
+    });
+    systems = [ "com.dvlsoft.rcfiles" ];
+    lispLibs = [  ];
+  };
+  com_dot_elbeno_dot_curve = {
+    pname = "com.elbeno.curve";
+    version = "20130128-git";
+    asds = [ "com.elbeno.curve" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/curve/2013-01-28/curve-20130128-git.tgz";
+      sha256 = "0223sxrdixjg0bmy76a9kiv7g4zjkqxs92x6kys5dnaywx7mjb6j";
+      system = "com.elbeno.curve";
+      asd = "com.elbeno.curve";
+    });
+    systems = [ "com.elbeno.curve" ];
+    lispLibs = [ (getAttr "vecto" pkgs) (getAttr "com_dot_elbeno_dot_vector" pkgs) ];
+  };
+  com_dot_elbeno_dot_vector = {
+    pname = "com.elbeno.vector";
+    version = "20130128-git";
+    asds = [ "com.elbeno.vector" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vector/2013-01-28/vector-20130128-git.tgz";
+      sha256 = "04czvqycn9j2hzbjmrp9fgqlgns5l7vbb73dgv3zqmiwzdb66qr5";
+      system = "com.elbeno.vector";
+      asd = "com.elbeno.vector";
+    });
+    systems = [ "com.elbeno.vector" ];
+    lispLibs = [  ];
+  };
+  com_dot_gigamonkeys_dot_binary-data = {
+    pname = "com.gigamonkeys.binary-data";
+    version = "20111203-git";
+    asds = [ "com.gigamonkeys.binary-data" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monkeylib-binary-data/2011-12-03/monkeylib-binary-data-20111203-git.tgz";
+      sha256 = "072v417vmcnvmyh8ddq9vmwwrizm7zwz9dpzi14qy9nsw8q649zw";
+      system = "com.gigamonkeys.binary-data";
+      asd = "com.gigamonkeys.binary-data";
+    });
+    systems = [ "com.gigamonkeys.binary-data" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  com_dot_gigamonkeys_dot_json = {
+    pname = "com.gigamonkeys.json";
+    version = "20180228-git";
+    asds = [ "com.gigamonkeys.json" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monkeylib-json/2018-02-28/monkeylib-json-20180228-git.tgz";
+      sha256 = "188717pmyhpgwg9ncc1fbqvbvw5fikbfhvchsy9gg4haxhdgpzsn";
+      system = "com.gigamonkeys.json";
+      asd = "com.gigamonkeys.json";
+    });
+    systems = [ "com.gigamonkeys.json" ];
+    lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_parser" pkgs) (getAttr "com_dot_gigamonkeys_dot_utilities" pkgs) ];
+  };
+  com_dot_gigamonkeys_dot_macro-utilities = {
+    pname = "com.gigamonkeys.macro-utilities";
+    version = "20111203-git";
+    asds = [ "com.gigamonkeys.macro-utilities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monkeylib-macro-utilities/2011-12-03/monkeylib-macro-utilities-20111203-git.tgz";
+      sha256 = "0l3m44zlzrvyn6fyvxslga8cppp4mh8dkgqzy297nnm0vnij5r8w";
+      system = "com.gigamonkeys.macro-utilities";
+      asd = "com.gigamonkeys.macro-utilities";
+    });
+    systems = [ "com.gigamonkeys.macro-utilities" ];
+    lispLibs = [  ];
+  };
+  com_dot_gigamonkeys_dot_markup = {
+    pname = "com.gigamonkeys.markup";
+    version = "20120909-git";
+    asds = [ "com.gigamonkeys.markup" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monkeylib-markup/2012-09-09/monkeylib-markup-20120909-git.tgz";
+      sha256 = "049zqgnprvddn2zp1a8g862m3ikll3a3lpi1k2vimjmx1bkc0vs0";
+      system = "com.gigamonkeys.markup";
+      asd = "com.gigamonkeys.markup";
+    });
+    systems = [ "com.gigamonkeys.markup" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "com_dot_gigamonkeys_dot_pathnames" pkgs) (getAttr "com_dot_gigamonkeys_dot_utilities" pkgs) ];
+  };
+  com_dot_gigamonkeys_dot_parser = {
+    pname = "com.gigamonkeys.parser";
+    version = "20120208-git";
+    asds = [ "com.gigamonkeys.parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monkeylib-parser/2012-02-08/monkeylib-parser-20120208-git.tgz";
+      sha256 = "1xvzrih813311p48bzlm0z0592lx6iss3m36vz55qsw4sr397ncd";
+      system = "com.gigamonkeys.parser";
+      asd = "com.gigamonkeys.parser";
+    });
+    systems = [ "com.gigamonkeys.parser" ];
+    lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_macro-utilities" pkgs) (getAttr "com_dot_gigamonkeys_dot_utilities" pkgs) ];
+  };
+  com_dot_gigamonkeys_dot_pathnames = {
+    pname = "com.gigamonkeys.pathnames";
+    version = "20120208-git";
+    asds = [ "com.gigamonkeys.pathnames" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monkeylib-pathnames/2012-02-08/monkeylib-pathnames-20120208-git.tgz";
+      sha256 = "108cc39g7razng316df4d47zzpj2zr576wzwwrpggdkm4q599gvk";
+      system = "com.gigamonkeys.pathnames";
+      asd = "com.gigamonkeys.pathnames";
+    });
+    systems = [ "com.gigamonkeys.pathnames" ];
+    lispLibs = [  ];
+  };
+  com_dot_gigamonkeys_dot_prose-diff = {
+    pname = "com.gigamonkeys.prose-diff";
+    version = "20140713-git";
+    asds = [ "com.gigamonkeys.prose-diff" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monkeylib-prose-diff/2014-07-13/monkeylib-prose-diff-20140713-git.tgz";
+      sha256 = "1zwaa8qmpbdpdg8zzk3as73i55c54k9m694gx4bla1xxli5f8ijc";
+      system = "com.gigamonkeys.prose-diff";
+      asd = "com.gigamonkeys.prose-diff";
+    });
+    systems = [ "com.gigamonkeys.prose-diff" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "com_dot_gigamonkeys_dot_macro-utilities" pkgs) (getAttr "com_dot_gigamonkeys_dot_markup" pkgs) (getAttr "monkeylib-markup-html" pkgs) (getAttr "com_dot_gigamonkeys_dot_pathnames" pkgs) (getAttr "com_dot_gigamonkeys_dot_utilities" pkgs) ];
+  };
+  com_dot_gigamonkeys_dot_test-framework = {
+    pname = "com.gigamonkeys.test-framework";
+    version = "20101207-git";
+    asds = [ "com.gigamonkeys.test-framework" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monkeylib-test-framework/2010-12-07/monkeylib-test-framework-20101207-git.tgz";
+      sha256 = "1d6b8zg0vnbqxxsbbjr3b4r46d8whj84h9yqnqw3ii0bwr8hn82v";
+      system = "com.gigamonkeys.test-framework";
+      asd = "com.gigamonkeys.test-framework";
+    });
+    systems = [ "com.gigamonkeys.test-framework" ];
+    lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_macro-utilities" pkgs) ];
+  };
+  com_dot_gigamonkeys_dot_utilities = {
+    pname = "com.gigamonkeys.utilities";
+    version = "20170403-git";
+    asds = [ "com.gigamonkeys.utilities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monkeylib-utilities/2017-04-03/monkeylib-utilities-20170403-git.tgz";
+      sha256 = "0d0h1y43mn6r8s4g9gbr02d09565p0gig21jfnk7zf1dl6rnvkvm";
+      system = "com.gigamonkeys.utilities";
+      asd = "com.gigamonkeys.utilities";
+    });
+    systems = [ "com.gigamonkeys.utilities" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  com_dot_google_dot_base = {
+    pname = "com.google.base";
+    version = "20200925-git";
+    asds = [ "com.google.base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/com.google.base/2020-09-25/com.google.base-20200925-git.tgz";
+      sha256 = "1drc341sqmrmyvdgqpdy066f0z0ia0kl3ppq0rlxznlxhn17x3xj";
+      system = "com.google.base";
+      asd = "com.google.base";
+    });
+    systems = [ "com.google.base" ];
+    lispLibs = [  ];
+  };
+  com_dot_google_dot_base_slash_test = {
+    pname = "com.google.base_test";
+    version = "20200925-git";
+    asds = [ "com.google.base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/com.google.base/2020-09-25/com.google.base-20200925-git.tgz";
+      sha256 = "1drc341sqmrmyvdgqpdy066f0z0ia0kl3ppq0rlxznlxhn17x3xj";
+      system = "com.google.base";
+      asd = "com.google.base";
+    });
+    systems = [ "com.google.base/test" ];
+    lispLibs = [ (getAttr "com_dot_google_dot_base" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  com_dot_google_dot_flag = {
+    pname = "com.google.flag";
+    version = "20201220-git";
+    asds = [ "com.google.flag" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-gflags/2020-12-20/lisp-gflags-20201220-git.tgz";
+      sha256 = "06p70v1wv0ynr6ng6vr6krc5773xphvkv2nfxvnschc1bzqhds5k";
+      system = "com.google.flag";
+      asd = "com.google.flag";
+    });
+    systems = [ "com.google.flag" ];
+    lispLibs = [ (getAttr "com_dot_google_dot_base" pkgs) ];
+  };
+  com_dot_google_dot_flag_slash_test = {
+    pname = "com.google.flag_test";
+    version = "20201220-git";
+    asds = [ "com.google.flag" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-gflags/2020-12-20/lisp-gflags-20201220-git.tgz";
+      sha256 = "06p70v1wv0ynr6ng6vr6krc5773xphvkv2nfxvnschc1bzqhds5k";
+      system = "com.google.flag";
+      asd = "com.google.flag";
+    });
+    systems = [ "com.google.flag/test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "com_dot_google_dot_flag" pkgs) ];
+  };
+  command-line-arguments = {
+    pname = "command-line-arguments";
+    version = "20210807-git";
+    asds = [ "command-line-arguments" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/command-line-arguments/2021-08-07/command-line-arguments-20210807-git.tgz";
+      sha256 = "1wbb83b559nfv65rsxz3jrixic9gndk2whj40hhwb0s13rf5a62y";
+      system = "command-line-arguments";
+      asd = "command-line-arguments";
+    });
+    systems = [ "command-line-arguments" ];
+    lispLibs = [  ];
+  };
+  command-line-arguments_slash_test = {
+    pname = "command-line-arguments_test";
+    version = "20210807-git";
+    asds = [ "command-line-arguments" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/command-line-arguments/2021-08-07/command-line-arguments-20210807-git.tgz";
+      sha256 = "1wbb83b559nfv65rsxz3jrixic9gndk2whj40hhwb0s13rf5a62y";
+      system = "command-line-arguments";
+      asd = "command-line-arguments";
+    });
+    systems = [ "command-line-arguments/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "command-line-arguments" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  common-doc = {
+    pname = "common-doc";
+    version = "20210807-git";
+    asds = [ "common-doc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/common-doc/2021-08-07/common-doc-20210807-git.tgz";
+      sha256 = "0fwss4q5354b0v0gpcm32417i0mwm94b3b1jsmvrzk1z1c5k452m";
+      system = "common-doc";
+      asd = "common-doc";
+    });
+    systems = [ "common-doc" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "closer-mop" pkgs) (getAttr "local-time" pkgs) (getAttr "quri" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  common-doc-contrib = {
+    pname = "common-doc-contrib";
+    version = "20210807-git";
+    asds = [ "common-doc-contrib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/common-doc/2021-08-07/common-doc-20210807-git.tgz";
+      sha256 = "0fwss4q5354b0v0gpcm32417i0mwm94b3b1jsmvrzk1z1c5k452m";
+      system = "common-doc-contrib";
+      asd = "common-doc-contrib";
+    });
+    systems = [ "common-doc-contrib" ];
+    lispLibs = [ (getAttr "common-doc-gnuplot" pkgs) (getAttr "common-doc-graphviz" pkgs) (getAttr "common-doc-include" pkgs) (getAttr "common-doc-split-paragraphs" pkgs) (getAttr "common-doc-tex" pkgs) ];
+  };
+  common-doc-gnuplot = {
+    pname = "common-doc-gnuplot";
+    version = "20210807-git";
+    asds = [ "common-doc-gnuplot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/common-doc/2021-08-07/common-doc-20210807-git.tgz";
+      sha256 = "0fwss4q5354b0v0gpcm32417i0mwm94b3b1jsmvrzk1z1c5k452m";
+      system = "common-doc-gnuplot";
+      asd = "common-doc-gnuplot";
+    });
+    systems = [ "common-doc-gnuplot" ];
+    lispLibs = [ (getAttr "common-doc" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  common-doc-graphviz = {
+    pname = "common-doc-graphviz";
+    version = "20210807-git";
+    asds = [ "common-doc-graphviz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/common-doc/2021-08-07/common-doc-20210807-git.tgz";
+      sha256 = "0fwss4q5354b0v0gpcm32417i0mwm94b3b1jsmvrzk1z1c5k452m";
+      system = "common-doc-graphviz";
+      asd = "common-doc-graphviz";
+    });
+    systems = [ "common-doc-graphviz" ];
+    lispLibs = [ (getAttr "common-doc" pkgs) (getAttr "trivial-shell" pkgs) ];
+  };
+  common-doc-include = {
+    pname = "common-doc-include";
+    version = "20210807-git";
+    asds = [ "common-doc-include" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/common-doc/2021-08-07/common-doc-20210807-git.tgz";
+      sha256 = "0fwss4q5354b0v0gpcm32417i0mwm94b3b1jsmvrzk1z1c5k452m";
+      system = "common-doc-include";
+      asd = "common-doc-include";
+    });
+    systems = [ "common-doc-include" ];
+    lispLibs = [ (getAttr "common-doc" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  common-doc-plump = {
+    pname = "common-doc-plump";
+    version = "20160421-git";
+    asds = [ "common-doc-plump" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/common-doc-plump/2016-04-21/common-doc-plump-20160421-git.tgz";
+      sha256 = "08h7m4c599rf2kz4wkpbj05441ax0vb3bd88a7dw5x57djf765r6";
+      system = "common-doc-plump";
+      asd = "common-doc-plump";
+    });
+    systems = [ "common-doc-plump" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "cl-markup" pkgs) (getAttr "common-doc" pkgs) (getAttr "common-doc-split-paragraphs" pkgs) (getAttr "plump" pkgs) ];
+  };
+  common-doc-plump-test = {
+    pname = "common-doc-plump-test";
+    version = "20160421-git";
+    asds = [ "common-doc-plump-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/common-doc-plump/2016-04-21/common-doc-plump-20160421-git.tgz";
+      sha256 = "08h7m4c599rf2kz4wkpbj05441ax0vb3bd88a7dw5x57djf765r6";
+      system = "common-doc-plump-test";
+      asd = "common-doc-plump-test";
+    });
+    systems = [ "common-doc-plump-test" ];
+    lispLibs = [ (getAttr "common-doc-plump" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  common-doc-split-paragraphs = {
+    pname = "common-doc-split-paragraphs";
+    version = "20210807-git";
+    asds = [ "common-doc-split-paragraphs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/common-doc/2021-08-07/common-doc-20210807-git.tgz";
+      sha256 = "0fwss4q5354b0v0gpcm32417i0mwm94b3b1jsmvrzk1z1c5k452m";
+      system = "common-doc-split-paragraphs";
+      asd = "common-doc-split-paragraphs";
+    });
+    systems = [ "common-doc-split-paragraphs" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "common-doc" pkgs) ];
+  };
+  common-doc-test = {
+    pname = "common-doc-test";
+    version = "20210807-git";
+    asds = [ "common-doc-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/common-doc/2021-08-07/common-doc-20210807-git.tgz";
+      sha256 = "0fwss4q5354b0v0gpcm32417i0mwm94b3b1jsmvrzk1z1c5k452m";
+      system = "common-doc-test";
+      asd = "common-doc-test";
+    });
+    systems = [ "common-doc-test" ];
+    lispLibs = [ (getAttr "common-doc" pkgs) (getAttr "common-doc-contrib" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  common-doc-tex = {
+    pname = "common-doc-tex";
+    version = "20210807-git";
+    asds = [ "common-doc-tex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/common-doc/2021-08-07/common-doc-20210807-git.tgz";
+      sha256 = "0fwss4q5354b0v0gpcm32417i0mwm94b3b1jsmvrzk1z1c5k452m";
+      system = "common-doc-tex";
+      asd = "common-doc-tex";
+    });
+    systems = [ "common-doc-tex" ];
+    lispLibs = [ (getAttr "common-doc" pkgs) ];
+  };
+  common-html = {
+    pname = "common-html";
+    version = "20210807-git";
+    asds = [ "common-html" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/common-html/2021-08-07/common-html-20210807-git.tgz";
+      sha256 = "1i11w4l95nybz5ibnaxrnrkfhch2s9wynqrg6kx6sl6y47khq1xz";
+      system = "common-html";
+      asd = "common-html";
+    });
+    systems = [ "common-html" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "common-doc" pkgs) (getAttr "plump" pkgs) ];
+  };
+  common-html-test = {
+    pname = "common-html-test";
+    version = "20210807-git";
+    asds = [ "common-html-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/common-html/2021-08-07/common-html-20210807-git.tgz";
+      sha256 = "1i11w4l95nybz5ibnaxrnrkfhch2s9wynqrg6kx6sl6y47khq1xz";
+      system = "common-html-test";
+      asd = "common-html-test";
+    });
+    systems = [ "common-html-test" ];
+    lispLibs = [ (getAttr "common-html" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  common-lisp-jupyter = {
+    pname = "common-lisp-jupyter";
+    version = "20211209-git";
+    asds = [ "common-lisp-jupyter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/common-lisp-jupyter/2021-12-09/common-lisp-jupyter-20211209-git.tgz";
+      sha256 = "14750xcdnfrcr747vgndjg3xijhpds262kk17d5vhf2k0m7h4l78";
+      system = "common-lisp-jupyter";
+      asd = "common-lisp-jupyter";
+    });
+    systems = [ "common-lisp-jupyter" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-indentify" pkgs) (getAttr "closer-mop" pkgs) (getAttr "dissect" pkgs) (getAttr "eclector" pkgs) (getAttr "ironclad" pkgs) (getAttr "multilang-documentation" pkgs) (getAttr "puri" pkgs) (getAttr "pzmq" pkgs) (getAttr "shasht" pkgs) (getAttr "static-vectors" pkgs) (getAttr "trivial-do" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "trivial-mimes" pkgs) ];
+  };
+  commondoc-markdown = {
+    pname = "commondoc-markdown";
+    version = "20211209-git";
+    asds = [ "commondoc-markdown" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/commondoc-markdown/2021-12-09/commondoc-markdown-20211209-git.tgz";
+      sha256 = "0w30vdfgdwhxk21kbczsjxs7s68m55w1p0ls3hf6aqhmpvh2mkq3";
+      system = "commondoc-markdown";
+      asd = "commondoc-markdown";
+    });
+    systems = [ "commondoc-markdown" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "_3bmd-ext-code-blocks" pkgs) (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "str" pkgs) (getAttr "common-doc" pkgs) (getAttr "common-html" pkgs) (getAttr "ironclad" pkgs) (getAttr "quri" pkgs) ];
+  };
+  commondoc-markdown-test = {
+    pname = "commondoc-markdown-test";
+    version = "20211209-git";
+    asds = [ "commondoc-markdown-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/commondoc-markdown/2021-12-09/commondoc-markdown-20211209-git.tgz";
+      sha256 = "0w30vdfgdwhxk21kbczsjxs7s68m55w1p0ls3hf6aqhmpvh2mkq3";
+      system = "commondoc-markdown-test";
+      asd = "commondoc-markdown-test";
+    });
+    systems = [ "commondoc-markdown-test" ];
+    lispLibs = [ (getAttr "hamcrest" pkgs) (getAttr "common-doc" pkgs) (getAttr "commondoc-markdown" pkgs) (getAttr "rove" pkgs) ];
+  };
+  commonqt = {
+    pname = "commonqt";
+    version = "20210531-git";
+    asds = [ "commonqt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "commonqt";
+      asd = "commonqt";
+    });
+    systems = [ "commonqt" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "smokebase" pkgs) ];
+  };
+  comp-set = {
+    pname = "comp-set";
+    version = "20210807-git";
+    asds = [ "comp-set" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz";
+      sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga";
+      system = "comp-set";
+      asd = "comp-set";
+    });
+    systems = [ "comp-set" ];
+    lispLibs = [  ];
+  };
+  compatible-metaclasses = {
+    pname = "compatible-metaclasses";
+    version = "1.0";
+    asds = [ "compatible-metaclasses" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/compatible-metaclasses/2020-09-25/compatible-metaclasses_1.0.tgz";
+      sha256 = "17cf74j400cl6sjslfhkv13lir85k705v63mx3dd4y6dl5hvsdh6";
+      system = "compatible-metaclasses";
+      asd = "compatible-metaclasses";
+    });
+    systems = [ "compatible-metaclasses" ];
+    lispLibs = [ (getAttr "class-options" pkgs) (getAttr "closer-mop" pkgs) (getAttr "enhanced-find-class" pkgs) ];
+  };
+  compatible-metaclasses_tests = {
+    pname = "compatible-metaclasses_tests";
+    version = "1.0";
+    asds = [ "compatible-metaclasses_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/compatible-metaclasses/2020-09-25/compatible-metaclasses_1.0.tgz";
+      sha256 = "17cf74j400cl6sjslfhkv13lir85k705v63mx3dd4y6dl5hvsdh6";
+      system = "compatible-metaclasses_tests";
+      asd = "compatible-metaclasses_tests";
+    });
+    systems = [ "compatible-metaclasses_tests" ];
+    lispLibs = [ (getAttr "compatible-metaclasses" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  compiler-macro-notes = {
+    pname = "compiler-macro-notes";
+    version = "v0.2.0";
+    asds = [ "compiler-macro-notes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/compiler-macro-notes/2021-12-09/compiler-macro-notes-v0.2.0.tgz";
+      sha256 = "1jv8snj2wvim3k9qhl1vsx82n56nzdmwa3ms9c4ml2d58fwpfjzs";
+      system = "compiler-macro-notes";
+      asd = "compiler-macro-notes";
+    });
+    systems = [ "compiler-macro-notes" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-environments" pkgs) ];
+  };
+  computable-reals = {
+    pname = "computable-reals";
+    version = "20210411-git";
+    asds = [ "computable-reals" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/computable-reals/2021-04-11/computable-reals-20210411-git.tgz";
+      sha256 = "0f12axi53x14l12dgf4a1lfq3p1fx7fh7sjfc0db3lk88ph9qfwl";
+      system = "computable-reals";
+      asd = "computable-reals";
+    });
+    systems = [ "computable-reals" ];
+    lispLibs = [  ];
+  };
+  concrete-syntax-tree = {
+    pname = "concrete-syntax-tree";
+    version = "20211020-git";
+    asds = [ "concrete-syntax-tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2021-10-20/concrete-syntax-tree-20211020-git.tgz";
+      sha256 = "169ibaz1vv7pphib28443zzk3hf1mrcarhzfm8hnbdbk529cnxyi";
+      system = "concrete-syntax-tree";
+      asd = "concrete-syntax-tree";
+    });
+    systems = [ "concrete-syntax-tree" ];
+    lispLibs = [ (getAttr "concrete-syntax-tree-base" pkgs) (getAttr "concrete-syntax-tree-lambda-list" pkgs) ];
+  };
+  concrete-syntax-tree-base = {
+    pname = "concrete-syntax-tree-base";
+    version = "20211020-git";
+    asds = [ "concrete-syntax-tree-base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2021-10-20/concrete-syntax-tree-20211020-git.tgz";
+      sha256 = "169ibaz1vv7pphib28443zzk3hf1mrcarhzfm8hnbdbk529cnxyi";
+      system = "concrete-syntax-tree-base";
+      asd = "concrete-syntax-tree-base";
+    });
+    systems = [ "concrete-syntax-tree-base" ];
+    lispLibs = [ (getAttr "acclimation" pkgs) ];
+  };
+  concrete-syntax-tree-destructuring = {
+    pname = "concrete-syntax-tree-destructuring";
+    version = "20211020-git";
+    asds = [ "concrete-syntax-tree-destructuring" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2021-10-20/concrete-syntax-tree-20211020-git.tgz";
+      sha256 = "169ibaz1vv7pphib28443zzk3hf1mrcarhzfm8hnbdbk529cnxyi";
+      system = "concrete-syntax-tree-destructuring";
+      asd = "concrete-syntax-tree-destructuring";
+    });
+    systems = [ "concrete-syntax-tree-destructuring" ];
+    lispLibs = [ (getAttr "concrete-syntax-tree-lambda-list" pkgs) ];
+  };
+  concrete-syntax-tree-lambda-list = {
+    pname = "concrete-syntax-tree-lambda-list";
+    version = "20211020-git";
+    asds = [ "concrete-syntax-tree-lambda-list" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2021-10-20/concrete-syntax-tree-20211020-git.tgz";
+      sha256 = "169ibaz1vv7pphib28443zzk3hf1mrcarhzfm8hnbdbk529cnxyi";
+      system = "concrete-syntax-tree-lambda-list";
+      asd = "concrete-syntax-tree-lambda-list";
+    });
+    systems = [ "concrete-syntax-tree-lambda-list" ];
+    lispLibs = [ (getAttr "concrete-syntax-tree-base" pkgs) ];
+  };
+  concrete-syntax-tree-lambda-list-test = {
+    pname = "concrete-syntax-tree-lambda-list-test";
+    version = "20211020-git";
+    asds = [ "concrete-syntax-tree-lambda-list-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2021-10-20/concrete-syntax-tree-20211020-git.tgz";
+      sha256 = "169ibaz1vv7pphib28443zzk3hf1mrcarhzfm8hnbdbk529cnxyi";
+      system = "concrete-syntax-tree-lambda-list-test";
+      asd = "concrete-syntax-tree-lambda-list-test";
+    });
+    systems = [ "concrete-syntax-tree-lambda-list-test" ];
+    lispLibs = [ (getAttr "concrete-syntax-tree-lambda-list" pkgs) ];
+  };
+  concrete-syntax-tree-source-info = {
+    pname = "concrete-syntax-tree-source-info";
+    version = "20211020-git";
+    asds = [ "concrete-syntax-tree-source-info" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2021-10-20/concrete-syntax-tree-20211020-git.tgz";
+      sha256 = "169ibaz1vv7pphib28443zzk3hf1mrcarhzfm8hnbdbk529cnxyi";
+      system = "concrete-syntax-tree-source-info";
+      asd = "concrete-syntax-tree-source-info";
+    });
+    systems = [ "concrete-syntax-tree-source-info" ];
+    lispLibs = [  ];
+  };
+  concrete-syntax-tree_slash_test = {
+    pname = "concrete-syntax-tree_test";
+    version = "20211020-git";
+    asds = [ "concrete-syntax-tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/concrete-syntax-tree/2021-10-20/concrete-syntax-tree-20211020-git.tgz";
+      sha256 = "169ibaz1vv7pphib28443zzk3hf1mrcarhzfm8hnbdbk529cnxyi";
+      system = "concrete-syntax-tree";
+      asd = "concrete-syntax-tree";
+    });
+    systems = [ "concrete-syntax-tree/test" ];
+    lispLibs = [ (getAttr "concrete-syntax-tree" pkgs) ];
+  };
+  conditional-commands = {
+    pname = "conditional-commands";
+    version = "20211230-git";
+    asds = [ "conditional-commands" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "conditional-commands";
+      asd = "conditional-commands";
+    });
+    systems = [ "conditional-commands" ];
+    lispLibs = [ (getAttr "clim-basic" pkgs) ];
+  };
+  conf = {
+    pname = "conf";
+    version = "20191227-git";
+    asds = [ "conf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/conf/2019-12-27/conf-20191227-git.tgz";
+      sha256 = "0mif91gb6yqg2qrzd2p6n83w9injikm5gggzv2mgxkiyzmr5gnay";
+      system = "conf";
+      asd = "conf";
+    });
+    systems = [ "conf" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) ];
+  };
+  conf_slash_test = {
+    pname = "conf_test";
+    version = "20191227-git";
+    asds = [ "conf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/conf/2019-12-27/conf-20191227-git.tgz";
+      sha256 = "0mif91gb6yqg2qrzd2p6n83w9injikm5gggzv2mgxkiyzmr5gnay";
+      system = "conf";
+      asd = "conf";
+    });
+    systems = [ "conf/test" ];
+    lispLibs = [ (getAttr "conf" pkgs) ];
+  };
+  configuration_dot_options = {
+    pname = "configuration.options";
+    version = "20210531-git";
+    asds = [ "configuration.options" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz";
+      sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g";
+      system = "configuration.options";
+      asd = "configuration.options";
+    });
+    systems = [ "configuration.options" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-hooks" pkgs) (getAttr "architecture_dot_service-provider" pkgs) (getAttr "esrap" pkgs) (getAttr "let-plus" pkgs) (getAttr "log4cl" pkgs) (getAttr "more-conditions" pkgs) (getAttr "split-sequence" pkgs) (getAttr "utilities_dot_print-items" pkgs) (getAttr "utilities_dot_print-tree" pkgs) ];
+  };
+  configuration_dot_options-and-mop = {
+    pname = "configuration.options-and-mop";
+    version = "20210531-git";
+    asds = [ "configuration.options-and-mop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz";
+      sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g";
+      system = "configuration.options-and-mop";
+      asd = "configuration.options-and-mop";
+    });
+    systems = [ "configuration.options-and-mop" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "configuration_dot_options" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  configuration_dot_options-and-mop_slash_test = {
+    pname = "configuration.options-and-mop_test";
+    version = "20210531-git";
+    asds = [ "configuration.options-and-mop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz";
+      sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g";
+      system = "configuration.options-and-mop";
+      asd = "configuration.options-and-mop";
+    });
+    systems = [ "configuration.options-and-mop/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "configuration_dot_options" pkgs) (getAttr "configuration_dot_options-and-mop" pkgs) (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  configuration_dot_options-and-puri = {
+    pname = "configuration.options-and-puri";
+    version = "20210531-git";
+    asds = [ "configuration.options-and-puri" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz";
+      sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g";
+      system = "configuration.options-and-puri";
+      asd = "configuration.options-and-puri";
+    });
+    systems = [ "configuration.options-and-puri" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "configuration_dot_options" pkgs) (getAttr "let-plus" pkgs) (getAttr "puri" pkgs) ];
+  };
+  configuration_dot_options-and-puri_slash_test = {
+    pname = "configuration.options-and-puri_test";
+    version = "20210531-git";
+    asds = [ "configuration.options-and-puri" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz";
+      sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g";
+      system = "configuration.options-and-puri";
+      asd = "configuration.options-and-puri";
+    });
+    systems = [ "configuration.options-and-puri/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "configuration_dot_options" pkgs) (getAttr "configuration_dot_options-and-puri" pkgs) (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  configuration_dot_options-and-quri = {
+    pname = "configuration.options-and-quri";
+    version = "20210531-git";
+    asds = [ "configuration.options-and-quri" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz";
+      sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g";
+      system = "configuration.options-and-quri";
+      asd = "configuration.options-and-quri";
+    });
+    systems = [ "configuration.options-and-quri" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "configuration_dot_options" pkgs) (getAttr "let-plus" pkgs) (getAttr "quri" pkgs) ];
+  };
+  configuration_dot_options-and-quri_slash_test = {
+    pname = "configuration.options-and-quri_test";
+    version = "20210531-git";
+    asds = [ "configuration.options-and-quri" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz";
+      sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g";
+      system = "configuration.options-and-quri";
+      asd = "configuration.options-and-quri";
+    });
+    systems = [ "configuration.options-and-quri/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "configuration_dot_options" pkgs) (getAttr "configuration_dot_options-and-quri" pkgs) (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  configuration_dot_options-and-service-provider = {
+    pname = "configuration.options-and-service-provider";
+    version = "20210531-git";
+    asds = [ "configuration.options-and-service-provider" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz";
+      sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g";
+      system = "configuration.options-and-service-provider";
+      asd = "configuration.options-and-service-provider";
+    });
+    systems = [ "configuration.options-and-service-provider" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "architecture_dot_service-provider" pkgs) (getAttr "architecture_dot_service-provider-and-hooks" pkgs) (getAttr "configuration_dot_options" pkgs) (getAttr "configuration_dot_options-and-mop" pkgs) (getAttr "let-plus" pkgs) (getAttr "log4cl" pkgs) ];
+  };
+  configuration_dot_options-and-service-provider_slash_test = {
+    pname = "configuration.options-and-service-provider_test";
+    version = "20210531-git";
+    asds = [ "configuration.options-and-service-provider" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz";
+      sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g";
+      system = "configuration.options-and-service-provider";
+      asd = "configuration.options-and-service-provider";
+    });
+    systems = [ "configuration.options-and-service-provider/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "architecture_dot_service-provider" pkgs) (getAttr "configuration_dot_options" pkgs) (getAttr "configuration_dot_options-and-service-provider" pkgs) (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  configuration_dot_options-syntax-ini = {
+    pname = "configuration.options-syntax-ini";
+    version = "20210531-git";
+    asds = [ "configuration.options-syntax-ini" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz";
+      sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g";
+      system = "configuration.options-syntax-ini";
+      asd = "configuration.options-syntax-ini";
+    });
+    systems = [ "configuration.options-syntax-ini" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "configuration_dot_options" pkgs) (getAttr "let-plus" pkgs) (getAttr "parser_dot_ini" pkgs) ];
+  };
+  configuration_dot_options-syntax-ini_slash_test = {
+    pname = "configuration.options-syntax-ini_test";
+    version = "20210531-git";
+    asds = [ "configuration.options-syntax-ini" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz";
+      sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g";
+      system = "configuration.options-syntax-ini";
+      asd = "configuration.options-syntax-ini";
+    });
+    systems = [ "configuration.options-syntax-ini/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "configuration_dot_options" pkgs) (getAttr "configuration_dot_options-syntax-ini" pkgs) (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  configuration_dot_options-syntax-xml = {
+    pname = "configuration.options-syntax-xml";
+    version = "20210531-git";
+    asds = [ "configuration.options-syntax-xml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz";
+      sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g";
+      system = "configuration.options-syntax-xml";
+      asd = "configuration.options-syntax-xml";
+    });
+    systems = [ "configuration.options-syntax-xml" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "configuration_dot_options" pkgs) (getAttr "let-plus" pkgs) (getAttr "xml_dot_location" pkgs) ];
+  };
+  configuration_dot_options-syntax-xml_slash_test = {
+    pname = "configuration.options-syntax-xml_test";
+    version = "20210531-git";
+    asds = [ "configuration.options-syntax-xml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz";
+      sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g";
+      system = "configuration.options-syntax-xml";
+      asd = "configuration.options-syntax-xml";
+    });
+    systems = [ "configuration.options-syntax-xml/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "configuration_dot_options" pkgs) (getAttr "configuration_dot_options-syntax-xml" pkgs) (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  configuration_dot_options_slash_test = {
+    pname = "configuration.options_test";
+    version = "20210531-git";
+    asds = [ "configuration.options" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/configuration.options/2021-05-31/configuration.options-20210531-git.tgz";
+      sha256 = "1wh07llx4k66wwabxajdc6cy0sdxbrydxi51gs7hrsyrp9gvym9g";
+      system = "configuration.options";
+      asd = "configuration.options";
+    });
+    systems = [ "configuration.options/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "configuration_dot_options" pkgs) (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  conium = {
+    pname = "conium";
+    version = "20210630-git";
+    asds = [ "conium" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/conium/2021-06-30/conium-20210630-git.tgz";
+      sha256 = "0y31za8xr8734p2pf8mrw1jd1fksh2d4y1p12wwjyn8hxxsvsx1w";
+      system = "conium";
+      asd = "conium";
+    });
+    systems = [ "conium" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  consfigurator = {
+    pname = "consfigurator";
+    version = "v0.13.0";
+    asds = [ "consfigurator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/consfigurator/2021-12-30/consfigurator-v0.13.0.tgz";
+      sha256 = "03xkb5niz0hpsjy93ri40l21gpinznhykyymhi10lhi5vvdj21ap";
+      system = "consfigurator";
+      asd = "consfigurator";
+    });
+    systems = [ "consfigurator" ];
+    lispLibs = [ (getAttr "agnostic-lizard" pkgs) (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "babel" pkgs) (getAttr "babel-streams" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cl-heredoc" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "named-readtables" pkgs) (getAttr "osicat" pkgs) (getAttr "trivial-backtrace" pkgs) ];
+  };
+  consfigurator_slash_tests = {
+    pname = "consfigurator_tests";
+    version = "v0.13.0";
+    asds = [ "consfigurator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/consfigurator/2021-12-30/consfigurator-v0.13.0.tgz";
+      sha256 = "03xkb5niz0hpsjy93ri40l21gpinznhykyymhi10lhi5vvdj21ap";
+      system = "consfigurator";
+      asd = "consfigurator";
+    });
+    systems = [ "consfigurator/tests" ];
+    lispLibs = [ (getAttr "consfigurator" pkgs) ];
+  };
+  consix = {
+    pname = "consix";
+    version = "20201220-git";
+    asds = [ "consix" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/consix/2020-12-20/consix-20201220-git.tgz";
+      sha256 = "0zpcaxgq9jx0baj5sid8rnzq8ygsmd8yzb0x37nkaiwa67x5jjck";
+      system = "consix";
+      asd = "consix";
+    });
+    systems = [ "consix" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-glu" pkgs) (getAttr "cl-glut" pkgs) (getAttr "cl-opengl" pkgs) ];
+  };
+  constantfold = {
+    pname = "constantfold";
+    version = "20191227-git";
+    asds = [ "constantfold" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/constantfold/2019-12-27/constantfold-20191227-git.tgz";
+      sha256 = "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06";
+      system = "constantfold";
+      asd = "constantfold";
+    });
+    systems = [ "constantfold" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) (getAttr "lisp-namespace" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  constantfold_dot_test = {
+    pname = "constantfold.test";
+    version = "20191227-git";
+    asds = [ "constantfold.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/constantfold/2019-12-27/constantfold-20191227-git.tgz";
+      sha256 = "153h0569z6bff1qbad0bdssplwwny75l7ilqwcfqfdvzsxf9jh06";
+      system = "constantfold.test";
+      asd = "constantfold.test";
+    });
+    systems = [ "constantfold.test" ];
+    lispLibs = [ (getAttr "constantfold" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  context-lite = {
+    pname = "context-lite";
+    version = "20210531-git";
+    asds = [ "context-lite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/context-lite/2021-05-31/context-lite-20210531-git.tgz";
+      sha256 = "02bdcrjw9dkv8gqhrjvr9mr56milkmx9ljgj0hz3pjkykl3609gl";
+      system = "context-lite";
+      asd = "context-lite";
+    });
+    systems = [ "context-lite" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  context-lite_slash_test = {
+    pname = "context-lite_test";
+    version = "20210531-git";
+    asds = [ "context-lite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/context-lite/2021-05-31/context-lite-20210531-git.tgz";
+      sha256 = "02bdcrjw9dkv8gqhrjvr9mr56milkmx9ljgj0hz3pjkykl3609gl";
+      system = "context-lite";
+      asd = "context-lite";
+    });
+    systems = [ "context-lite/test" ];
+    lispLibs = [ (getAttr "context-lite" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  contextl = {
+    pname = "contextl";
+    version = "20211230-git";
+    asds = [ "contextl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/contextl/2021-12-30/contextl-20211230-git.tgz";
+      sha256 = "0apgznz4g6lpmd86lq7w0xddfjgnirk83ig7p0j6i93xadhy9wh0";
+      system = "contextl";
+      asd = "contextl";
+    });
+    systems = [ "contextl" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "lw-compat" pkgs) ];
+  };
+  control = {
+    pname = "control";
+    version = "20200427-git";
+    asds = [ "control" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "control";
+      asd = "control";
+    });
+    systems = [ "control" ];
+    lispLibs = [ (getAttr "character-modifier-bits" pkgs) (getAttr "window" pkgs) (getAttr "utility" pkgs) ];
+  };
+  copy-directory = {
+    pname = "copy-directory";
+    version = "20160628-git";
+    asds = [ "copy-directory" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/copy-directory/2016-06-28/copy-directory-20160628-git.tgz";
+      sha256 = "19wvzb046lcyifhx26ydzf7ngfa52n64nyx76k3lh02x7ahhpc93";
+      system = "copy-directory";
+      asd = "copy-directory";
+    });
+    systems = [ "copy-directory" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "uiop" pkgs) (getAttr "which" pkgs) ];
+  };
+  copy-directory-test = {
+    pname = "copy-directory-test";
+    version = "20160628-git";
+    asds = [ "copy-directory-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/copy-directory/2016-06-28/copy-directory-20160628-git.tgz";
+      sha256 = "19wvzb046lcyifhx26ydzf7ngfa52n64nyx76k3lh02x7ahhpc93";
+      system = "copy-directory-test";
+      asd = "copy-directory-test";
+    });
+    systems = [ "copy-directory-test" ];
+    lispLibs = [ (getAttr "copy-directory" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  core-reader = {
+    pname = "core-reader";
+    version = "20211020-git";
+    asds = [ "core-reader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/core-reader/2021-10-20/core-reader-20211020-git.tgz";
+      sha256 = "0fa3wmpdgsw26wb7qgcknh3pmkh638w7pdzzm76d2npvlv4isyvd";
+      system = "core-reader";
+      asd = "core-reader";
+    });
+    systems = [ "core-reader" ];
+    lispLibs = [ (getAttr "uiop" pkgs) ];
+  };
+  core-reader_dot_test = {
+    pname = "core-reader.test";
+    version = "20211020-git";
+    asds = [ "core-reader.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/core-reader/2021-10-20/core-reader-20211020-git.tgz";
+      sha256 = "0fa3wmpdgsw26wb7qgcknh3pmkh638w7pdzzm76d2npvlv4isyvd";
+      system = "core-reader.test";
+      asd = "core-reader.test";
+    });
+    systems = [ "core-reader.test" ];
+    lispLibs = [ (getAttr "core-reader" pkgs) (getAttr "jingoh" pkgs) ];
+  };
+  cover = {
+    pname = "cover";
+    version = "20210228-git";
+    asds = [ "cover" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cover/2021-02-28/cover-20210228-git.tgz";
+      sha256 = "1dm28xvpnkv6lyq76k6hjw37vn6zvwhn9kp7xgk5zk2i37d63b77";
+      system = "cover";
+      asd = "cover";
+    });
+    systems = [ "cover" ];
+    lispLibs = [  ];
+  };
+  cover_slash_tests = {
+    pname = "cover_tests";
+    version = "20210228-git";
+    asds = [ "cover" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cover/2021-02-28/cover-20210228-git.tgz";
+      sha256 = "1dm28xvpnkv6lyq76k6hjw37vn6zvwhn9kp7xgk5zk2i37d63b77";
+      system = "cover";
+      asd = "cover";
+    });
+    systems = [ "cover/tests" ];
+    lispLibs = [ (getAttr "cover" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cqlcl = {
+    pname = "cqlcl";
+    version = "20141106-git";
+    asds = [ "cqlcl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cqlcl/2014-11-06/cqlcl-20141106-git.tgz";
+      sha256 = "0ppdsrrf2hz0s4y02a2p5mgms92znrj7hz7x9j6azppfkal25zid";
+      system = "cqlcl";
+      asd = "cqlcl";
+    });
+    systems = [ "cqlcl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "fiveam" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "lparallel" pkgs) (getAttr "pooler" pkgs) (getAttr "split-sequence" pkgs) (getAttr "usocket" pkgs) (getAttr "uuid" pkgs) ];
+  };
+  cqlcl-test = {
+    pname = "cqlcl-test";
+    version = "20141106-git";
+    asds = [ "cqlcl-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cqlcl/2014-11-06/cqlcl-20141106-git.tgz";
+      sha256 = "0ppdsrrf2hz0s4y02a2p5mgms92znrj7hz7x9j6azppfkal25zid";
+      system = "cqlcl-test";
+      asd = "cqlcl";
+    });
+    systems = [ "cqlcl-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cqlcl" pkgs) (getAttr "fiveam" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "uuid" pkgs) ];
+  };
+  crane = {
+    pname = "crane";
+    version = "20160208-git";
+    asds = [ "crane" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/crane/2016-02-08/crane-20160208-git.tgz";
+      sha256 = "1wai4h7vz5i0ld1fnnbcmpz5d67dmykyxx0ay0fkclkwvpj7gh5n";
+      system = "crane";
+      asd = "crane";
+    });
+    systems = [ "crane" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "dbi" pkgs) (getAttr "cl-fad" pkgs) (getAttr "clos-fixtures" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "local-time" pkgs) (getAttr "sxql" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  crane-test = {
+    pname = "crane-test";
+    version = "20160208-git";
+    asds = [ "crane-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/crane/2016-02-08/crane-20160208-git.tgz";
+      sha256 = "1wai4h7vz5i0ld1fnnbcmpz5d67dmykyxx0ay0fkclkwvpj7gh5n";
+      system = "crane-test";
+      asd = "crane-test";
+    });
+    systems = [ "crane-test" ];
+    lispLibs = [ (getAttr "crane" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  cricket = {
+    pname = "cricket";
+    version = "20210411-git";
+    asds = [ "cricket" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cricket/2021-04-11/cricket-20210411-git.tgz";
+      sha256 = "0a5yybgh8zk35vqn90aldwb5b5w7j588mqj70k3xdy96n25kqlsh";
+      system = "cricket";
+      asd = "cricket";
+    });
+    systems = [ "cricket" ];
+    lispLibs = [ (getAttr "arrow-macros" pkgs) (getAttr "cl-cpus" pkgs) (getAttr "golden-utils" pkgs) (getAttr "lparallel" pkgs) (getAttr "seedable-rng" pkgs) (getAttr "uiop" pkgs) (getAttr "zpng" pkgs) ];
+  };
+  cricket_dot_test = {
+    pname = "cricket.test";
+    version = "20210411-git";
+    asds = [ "cricket.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cricket/2021-04-11/cricket-20210411-git.tgz";
+      sha256 = "0a5yybgh8zk35vqn90aldwb5b5w7j588mqj70k3xdy96n25kqlsh";
+      system = "cricket.test";
+      asd = "cricket.test";
+    });
+    systems = [ "cricket.test" ];
+    lispLibs = [ (getAttr "cricket" pkgs) (getAttr "golden-utils" pkgs) (getAttr "pngload" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  croatoan = {
+    pname = "croatoan";
+    version = "20211230-git";
+    asds = [ "croatoan" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/croatoan/2021-12-30/croatoan-20211230-git.tgz";
+      sha256 = "0bxfcc513vzbckfjslbr65r8gziizyj1sd0yz34zd8131zzr04xa";
+      system = "croatoan";
+      asd = "croatoan";
+    });
+    systems = [ "croatoan" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "croatoan-ncurses" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  croatoan-ncurses = {
+    pname = "croatoan-ncurses";
+    version = "20211230-git";
+    asds = [ "croatoan-ncurses" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/croatoan/2021-12-30/croatoan-20211230-git.tgz";
+      sha256 = "0bxfcc513vzbckfjslbr65r8gziizyj1sd0yz34zd8131zzr04xa";
+      system = "croatoan-ncurses";
+      asd = "croatoan-ncurses";
+    });
+    systems = [ "croatoan-ncurses" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  croatoan-test = {
+    pname = "croatoan-test";
+    version = "20211230-git";
+    asds = [ "croatoan-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/croatoan/2021-12-30/croatoan-20211230-git.tgz";
+      sha256 = "0bxfcc513vzbckfjslbr65r8gziizyj1sd0yz34zd8131zzr04xa";
+      system = "croatoan-test";
+      asd = "croatoan-test";
+    });
+    systems = [ "croatoan-test" ];
+    lispLibs = [ (getAttr "croatoan" pkgs) ];
+  };
+  crud = {
+    pname = "crud";
+    version = "20200427-git";
+    asds = [ "crud" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "crud";
+      asd = "crud";
+    });
+    systems = [ "crud" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "base64" pkgs) (getAttr "sqlite" pkgs) (getAttr "lparallel" pkgs) (getAttr "sucle-serialize" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  crypt = {
+    pname = "crypt";
+    version = "20120520-git";
+    asds = [ "crypt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-crypt/2012-05-20/cl-crypt-20120520-git.tgz";
+      sha256 = "02fc3aqfbbwjpz79a4mwffv33pnmmknpkmd1r8v9mkn9a6c1ssmh";
+      system = "crypt";
+      asd = "crypt";
+    });
+    systems = [ "crypt" ];
+    lispLibs = [  ];
+  };
+  crypto-shortcuts = {
+    pname = "crypto-shortcuts";
+    version = "20201016-git";
+    asds = [ "crypto-shortcuts" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/crypto-shortcuts/2020-10-16/crypto-shortcuts-20201016-git.tgz";
+      sha256 = "0c0m0ar04jn7qf2v8c4sivamlzki03r13rnxy8b3n27rh9r6hgin";
+      system = "crypto-shortcuts";
+      asd = "crypto-shortcuts";
+    });
+    systems = [ "crypto-shortcuts" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "ironclad" pkgs) ];
+  };
+  cserial-port = {
+    pname = "cserial-port";
+    version = "20211230-git";
+    asds = [ "cserial-port" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cserial-port/2021-12-30/cserial-port-20211230-git.tgz";
+      sha256 = "05fvzl0pd6d3pbzp6rpgv1ad8hawcy34rm88p1jf8066fl6lxikp";
+      system = "cserial-port";
+      asd = "cserial-port";
+    });
+    systems = [ "cserial-port" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "osicat" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  css-lite = {
+    pname = "css-lite";
+    version = "20120407-git";
+    asds = [ "css-lite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/css-lite/2012-04-07/css-lite-20120407-git.tgz";
+      sha256 = "1lyvw7hcy09k5qs6icky23s13psqxncyc73hdyiimb66p0jx6k0d";
+      system = "css-lite";
+      asd = "css-lite";
+    });
+    systems = [ "css-lite" ];
+    lispLibs = [  ];
+  };
+  css-selectors = {
+    pname = "css-selectors";
+    version = "20160628-git";
+    asds = [ "css-selectors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/css-selectors/2016-06-28/css-selectors-20160628-git.tgz";
+      sha256 = "0x0a5jq4kdw8zrkljmhijcbvjj09iyrwwgryc6kvzl5g7wzg2xr6";
+      system = "css-selectors";
+      asd = "css-selectors";
+    });
+    systems = [ "css-selectors" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "buildnode" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "yacc" pkgs) (getAttr "cxml" pkgs) (getAttr "iterate" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  css-selectors-simple-tree = {
+    pname = "css-selectors-simple-tree";
+    version = "20160628-git";
+    asds = [ "css-selectors-simple-tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/css-selectors/2016-06-28/css-selectors-20160628-git.tgz";
+      sha256 = "0x0a5jq4kdw8zrkljmhijcbvjj09iyrwwgryc6kvzl5g7wzg2xr6";
+      system = "css-selectors-simple-tree";
+      asd = "css-selectors-simple-tree";
+    });
+    systems = [ "css-selectors-simple-tree" ];
+    lispLibs = [ (getAttr "cl-html5-parser" pkgs) (getAttr "css-selectors" pkgs) ];
+  };
+  css-selectors-stp = {
+    pname = "css-selectors-stp";
+    version = "20160628-git";
+    asds = [ "css-selectors-stp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/css-selectors/2016-06-28/css-selectors-20160628-git.tgz";
+      sha256 = "0x0a5jq4kdw8zrkljmhijcbvjj09iyrwwgryc6kvzl5g7wzg2xr6";
+      system = "css-selectors-stp";
+      asd = "css-selectors-stp";
+    });
+    systems = [ "css-selectors-stp" ];
+    lispLibs = [ (getAttr "css-selectors" pkgs) (getAttr "cxml-stp" pkgs) ];
+  };
+  css-selectors-test = {
+    pname = "css-selectors-test";
+    version = "20160628-git";
+    asds = [ "css-selectors-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/css-selectors/2016-06-28/css-selectors-20160628-git.tgz";
+      sha256 = "0x0a5jq4kdw8zrkljmhijcbvjj09iyrwwgryc6kvzl5g7wzg2xr6";
+      system = "css-selectors-test";
+      asd = "css-selectors";
+    });
+    systems = [ "css-selectors-test" ];
+    lispLibs = [ (getAttr "buildnode-xhtml" pkgs) (getAttr "css-selectors" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  csv = {
+    pname = "csv";
+    version = "20190710-git";
+    asds = [ "csv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/csv/2019-07-10/csv-20190710-git.tgz";
+      sha256 = "0jykv91w7anisac2aip38vnj7ywi567rcp4n8nv3lz5qb7g1dpy4";
+      system = "csv";
+      asd = "csv";
+    });
+    systems = [ "csv" ];
+    lispLibs = [  ];
+  };
+  csv-parser = {
+    pname = "csv-parser";
+    version = "20140713-git";
+    asds = [ "csv-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/csv-parser/2014-07-13/csv-parser-20140713-git.tgz";
+      sha256 = "0pcp709dwxi3p2vrmx5qiy571pybfs1hpv9z8g4i1ig2l4mc3djh";
+      system = "csv-parser";
+      asd = "csv-parser";
+    });
+    systems = [ "csv-parser" ];
+    lispLibs = [  ];
+  };
+  ctype = {
+    pname = "ctype";
+    version = "20211020-git";
+    asds = [ "ctype" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ctype/2021-10-20/ctype-20211020-git.tgz";
+      sha256 = "0vis7pf3y1rfn3xvs2jssfmp4xzc5idibfkislwfx0jyb7qg3lwj";
+      system = "ctype";
+      asd = "ctype";
+    });
+    systems = [ "ctype" ];
+    lispLibs = [  ];
+  };
+  cubic-bezier = {
+    pname = "cubic-bezier";
+    version = "20210411-git";
+    asds = [ "cubic-bezier" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cubic-bezier/2021-04-11/cubic-bezier-20210411-git.tgz";
+      sha256 = "1v7q3m76g8c5lq0vlzj2d10h0ny336qbmgl8s6r11l9pgqjwph14";
+      system = "cubic-bezier";
+      asd = "cubic-bezier";
+    });
+    systems = [ "cubic-bezier" ];
+    lispLibs = [ (getAttr "golden-utils" pkgs) (getAttr "origin" pkgs) ];
+  };
+  cue-parser = {
+    pname = "cue-parser";
+    version = "20180228-git";
+    asds = [ "cue-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cue-parser/2018-02-28/cue-parser-20180228-git.tgz";
+      sha256 = "1zl3a02b68yywchd1aldls07b4qgrf08xpb4xiaaw8njk2qa0lz1";
+      system = "cue-parser";
+      asd = "cue-parser";
+    });
+    systems = [ "cue-parser" ];
+    lispLibs = [ (getAttr "esrap" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  curly = {
+    pname = "curly";
+    version = "20120407-git";
+    asds = [ "curly" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/curly/2012-04-07/curly-20120407-git.tgz";
+      sha256 = "04gpkq6hd7wvvny0p3lgn87bfalswqc67sbg4p35j52w51mqd8vf";
+      system = "curly";
+      asd = "curly";
+    });
+    systems = [ "curly" ];
+    lispLibs = [  ];
+  };
+  curly_dot_test = {
+    pname = "curly.test";
+    version = "20120407-git";
+    asds = [ "curly.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/curly/2012-04-07/curly-20120407-git.tgz";
+      sha256 = "04gpkq6hd7wvvny0p3lgn87bfalswqc67sbg4p35j52w51mqd8vf";
+      system = "curly.test";
+      asd = "curly";
+    });
+    systems = [ "curly.test" ];
+    lispLibs = [ (getAttr "curly" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  curry-compose-reader-macros = {
+    pname = "curry-compose-reader-macros";
+    version = "20201220-git";
+    asds = [ "curry-compose-reader-macros" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/curry-compose-reader-macros/2020-12-20/curry-compose-reader-macros-20201220-git.tgz";
+      sha256 = "0j4qfwpw4ykf5npiln54w7jcnj46p7xf9d4p3jpx4a67fdkrlxd1";
+      system = "curry-compose-reader-macros";
+      asd = "curry-compose-reader-macros";
+    });
+    systems = [ "curry-compose-reader-macros" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  curry-compose-reader-macros_slash_test = {
+    pname = "curry-compose-reader-macros_test";
+    version = "20201220-git";
+    asds = [ "curry-compose-reader-macros" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/curry-compose-reader-macros/2020-12-20/curry-compose-reader-macros-20201220-git.tgz";
+      sha256 = "0j4qfwpw4ykf5npiln54w7jcnj46p7xf9d4p3jpx4a67fdkrlxd1";
+      system = "curry-compose-reader-macros";
+      asd = "curry-compose-reader-macros";
+    });
+    systems = [ "curry-compose-reader-macros/test" ];
+    lispLibs = [ (getAttr "curry-compose-reader-macros" pkgs) ];
+  };
+  cxml = {
+    pname = "cxml";
+    version = "20200610-git";
+    asds = [ "cxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz";
+      sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51";
+      system = "cxml";
+      asd = "cxml";
+    });
+    systems = [ "cxml" ];
+    lispLibs = [ (getAttr "closure-common" pkgs) (getAttr "puri" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cxml-dom = {
+    pname = "cxml-dom";
+    version = "20200610-git";
+    asds = [ "cxml-dom" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz";
+      sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51";
+      system = "cxml-dom";
+      asd = "cxml-dom";
+    });
+    systems = [ "cxml-dom" ];
+    lispLibs = [ (getAttr "closure-common" pkgs) (getAttr "puri" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cxml-klacks = {
+    pname = "cxml-klacks";
+    version = "20200610-git";
+    asds = [ "cxml-klacks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz";
+      sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51";
+      system = "cxml-klacks";
+      asd = "cxml-klacks";
+    });
+    systems = [ "cxml-klacks" ];
+    lispLibs = [ (getAttr "closure-common" pkgs) (getAttr "puri" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cxml-rng = {
+    pname = "cxml-rng";
+    version = "20190710-git";
+    asds = [ "cxml-rng" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cxml-rng/2019-07-10/cxml-rng-20190710-git.tgz";
+      sha256 = "0pjb5268spiwq6b0cly8nfajr6rsh2wf6si646bzzjrxbgs51sxa";
+      system = "cxml-rng";
+      asd = "cxml-rng";
+    });
+    systems = [ "cxml-rng" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "yacc" pkgs) (getAttr "cxml" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  cxml-rpc = {
+    pname = "cxml-rpc";
+    version = "20121013-git";
+    asds = [ "cxml-rpc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cxml-rpc/2012-10-13/cxml-rpc-20121013-git.tgz";
+      sha256 = "1ihd8rg0shy7nykqcbvvx5px7sw8wr1nwz70jdrh6ibq74yr8flh";
+      system = "cxml-rpc";
+      asd = "cxml-rpc";
+    });
+    systems = [ "cxml-rpc" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "cxml" pkgs) (getAttr "drakma" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  cxml-stp = {
+    pname = "cxml-stp";
+    version = "20200325-git";
+    asds = [ "cxml-stp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cxml-stp/2020-03-25/cxml-stp-20200325-git.tgz";
+      sha256 = "01yfxxvb144i2mlp06fxx410mf3phxz5qaqvk90pp4dzdl883knv";
+      system = "cxml-stp";
+      asd = "cxml-stp";
+    });
+    systems = [ "cxml-stp" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cxml" pkgs) (getAttr "xpath" pkgs) ];
+  };
+  cxml-stp_slash_test = {
+    pname = "cxml-stp_test";
+    version = "20200325-git";
+    asds = [ "cxml-stp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cxml-stp/2020-03-25/cxml-stp-20200325-git.tgz";
+      sha256 = "01yfxxvb144i2mlp06fxx410mf3phxz5qaqvk90pp4dzdl883knv";
+      system = "cxml-stp";
+      asd = "cxml-stp";
+    });
+    systems = [ "cxml-stp/test" ];
+    lispLibs = [ (getAttr "cxml" pkgs) (getAttr "cxml-stp" pkgs) (getAttr "xpath" pkgs) (getAttr "rt" pkgs) ];
+  };
+  cxml-test = {
+    pname = "cxml-test";
+    version = "20200610-git";
+    asds = [ "cxml-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz";
+      sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51";
+      system = "cxml-test";
+      asd = "cxml-test";
+    });
+    systems = [ "cxml-test" ];
+    lispLibs = [ (getAttr "closure-common" pkgs) (getAttr "puri" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cxml_slash_dom = {
+    pname = "cxml_dom";
+    version = "20200610-git";
+    asds = [ "cxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz";
+      sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51";
+      system = "cxml";
+      asd = "cxml";
+    });
+    systems = [ "cxml/dom" ];
+    lispLibs = [ (getAttr "closure-common" pkgs) (getAttr "puri" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cxml_slash_klacks = {
+    pname = "cxml_klacks";
+    version = "20200610-git";
+    asds = [ "cxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz";
+      sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51";
+      system = "cxml";
+      asd = "cxml";
+    });
+    systems = [ "cxml/klacks" ];
+    lispLibs = [ (getAttr "closure-common" pkgs) (getAttr "puri" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cxml_slash_test = {
+    pname = "cxml_test";
+    version = "20200610-git";
+    asds = [ "cxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz";
+      sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51";
+      system = "cxml";
+      asd = "cxml";
+    });
+    systems = [ "cxml/test" ];
+    lispLibs = [ (getAttr "closure-common" pkgs) (getAttr "puri" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cxml_slash_xml = {
+    pname = "cxml_xml";
+    version = "20200610-git";
+    asds = [ "cxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cxml/2020-06-10/cxml-20200610-git.tgz";
+      sha256 = "18fls3bx7vmnxfa6qara8fxp316d8kb3izar0kysvqg6l0a45a51";
+      system = "cxml";
+      asd = "cxml";
+    });
+    systems = [ "cxml/xml" ];
+    lispLibs = [ (getAttr "closure-common" pkgs) (getAttr "puri" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  cxx = {
+    pname = "cxx";
+    version = "20210411-git";
+    asds = [ "cxx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cxx/2021-04-11/cl-cxx-20210411-git.tgz";
+      sha256 = "0hvb5n1s00f8q3bnj8g28fj2k3s8qz1fn0ls77pd3w69fg5wqdsy";
+      system = "cxx";
+      asd = "cxx";
+    });
+    systems = [ "cxx" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  cxx-jit = {
+    pname = "cxx-jit";
+    version = "20211209-git";
+    asds = [ "cxx-jit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cxx-jit/2021-12-09/cl-cxx-jit-20211209-git.tgz";
+      sha256 = "0mbi5r4b4jbk50yy4pv7ngsjj50579f9c362dzh0sbrxk8vd3gkp";
+      system = "cxx-jit";
+      asd = "cxx-jit";
+    });
+    systems = [ "cxx-jit" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  cxx-jit-test = {
+    pname = "cxx-jit-test";
+    version = "20211209-git";
+    asds = [ "cxx-jit-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cxx-jit/2021-12-09/cl-cxx-jit-20211209-git.tgz";
+      sha256 = "0mbi5r4b4jbk50yy4pv7ngsjj50579f9c362dzh0sbrxk8vd3gkp";
+      system = "cxx-jit-test";
+      asd = "cxx-jit-test";
+    });
+    systems = [ "cxx-jit-test" ];
+    lispLibs = [ (getAttr "cxx-jit" pkgs) (getAttr "rove" pkgs) ];
+  };
+  cxx-test = {
+    pname = "cxx-test";
+    version = "20210411-git";
+    asds = [ "cxx-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-cxx/2021-04-11/cl-cxx-20210411-git.tgz";
+      sha256 = "0hvb5n1s00f8q3bnj8g28fj2k3s8qz1fn0ls77pd3w69fg5wqdsy";
+      system = "cxx-test";
+      asd = "cxx-test";
+    });
+    systems = [ "cxx-test" ];
+    lispLibs = [ (getAttr "cxx" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  cytoscape-clj = {
+    pname = "cytoscape-clj";
+    version = "20211020-git";
+    asds = [ "cytoscape-clj" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cytoscape-clj/2021-10-20/cytoscape-clj-20211020-git.tgz";
+      sha256 = "1hs9hzbnh16w4qs3smzwgf3bqkd0616l6v3ir7kjpq3rlcfwyiqb";
+      system = "cytoscape-clj";
+      asd = "cytoscape-clj";
+    });
+    systems = [ "cytoscape-clj" ];
+    lispLibs = [ (getAttr "common-lisp-jupyter" pkgs) ];
+  };
+  daemon = {
+    pname = "daemon";
+    version = "20170403-git";
+    asds = [ "daemon" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/daemon/2017-04-03/daemon-20170403-git.tgz";
+      sha256 = "1kdxfnhh9fz34j8qs7pn7mwjz3v33q4v9nh0hqkyzraq5xs2j3f4";
+      system = "daemon";
+      asd = "daemon";
+    });
+    systems = [ "daemon" ];
+    lispLibs = [ (getAttr "trivial-features" pkgs) ];
+  };
+  damn-fast-priority-queue = {
+    pname = "damn-fast-priority-queue";
+    version = "20210531-git";
+    asds = [ "damn-fast-priority-queue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/damn-fast-priority-queue/2021-05-31/damn-fast-priority-queue-20210531-git.tgz";
+      sha256 = "1zcgswjh5crr02l8mdkl20kaxpa8biny8n9ggz1nx69qfgbrs1xd";
+      system = "damn-fast-priority-queue";
+      asd = "damn-fast-priority-queue";
+    });
+    systems = [ "damn-fast-priority-queue" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  damn-fast-priority-queue_slash_test = {
+    pname = "damn-fast-priority-queue_test";
+    version = "20210531-git";
+    asds = [ "damn-fast-priority-queue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/damn-fast-priority-queue/2021-05-31/damn-fast-priority-queue-20210531-git.tgz";
+      sha256 = "1zcgswjh5crr02l8mdkl20kaxpa8biny8n9ggz1nx69qfgbrs1xd";
+      system = "damn-fast-priority-queue";
+      asd = "damn-fast-priority-queue";
+    });
+    systems = [ "damn-fast-priority-queue/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "damn-fast-priority-queue" pkgs) ];
+  };
+  damn-fast-stable-priority-queue = {
+    pname = "damn-fast-stable-priority-queue";
+    version = "20210531-git";
+    asds = [ "damn-fast-stable-priority-queue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/damn-fast-priority-queue/2021-05-31/damn-fast-priority-queue-20210531-git.tgz";
+      sha256 = "1zcgswjh5crr02l8mdkl20kaxpa8biny8n9ggz1nx69qfgbrs1xd";
+      system = "damn-fast-stable-priority-queue";
+      asd = "damn-fast-stable-priority-queue";
+    });
+    systems = [ "damn-fast-stable-priority-queue" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  damn-fast-stable-priority-queue_slash_test = {
+    pname = "damn-fast-stable-priority-queue_test";
+    version = "20210531-git";
+    asds = [ "damn-fast-stable-priority-queue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/damn-fast-priority-queue/2021-05-31/damn-fast-priority-queue-20210531-git.tgz";
+      sha256 = "1zcgswjh5crr02l8mdkl20kaxpa8biny8n9ggz1nx69qfgbrs1xd";
+      system = "damn-fast-stable-priority-queue";
+      asd = "damn-fast-stable-priority-queue";
+    });
+    systems = [ "damn-fast-stable-priority-queue/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "damn-fast-stable-priority-queue" pkgs) ];
+  };
+  darts_dot_lib_dot_email-address = {
+    pname = "darts.lib.email-address";
+    version = "quicklisp-release-48464635-git";
+    asds = [ "darts.lib.email-address" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dartsclemailaddress/2016-04-21/dartsclemailaddress-quicklisp-release-48464635-git.tgz";
+      sha256 = "15155nqi9q7ilaf14p4yi4iga8203rl7fn9v2iaxcfm18gsvqcjd";
+      system = "darts.lib.email-address";
+      asd = "darts.lib.email-address";
+    });
+    systems = [ "darts.lib.email-address" ];
+    lispLibs = [  ];
+  };
+  darts_dot_lib_dot_email-address-test = {
+    pname = "darts.lib.email-address-test";
+    version = "quicklisp-release-48464635-git";
+    asds = [ "darts.lib.email-address-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dartsclemailaddress/2016-04-21/dartsclemailaddress-quicklisp-release-48464635-git.tgz";
+      sha256 = "15155nqi9q7ilaf14p4yi4iga8203rl7fn9v2iaxcfm18gsvqcjd";
+      system = "darts.lib.email-address-test";
+      asd = "darts.lib.email-address-test";
+    });
+    systems = [ "darts.lib.email-address-test" ];
+    lispLibs = [ (getAttr "darts_dot_lib_dot_email-address" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  darts_dot_lib_dot_hashtree-test = {
+    pname = "darts.lib.hashtree-test";
+    version = "20211230-git";
+    asds = [ "darts.lib.hashtree-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dartsclhashtree/2021-12-30/dartsclhashtree-20211230-git.tgz";
+      sha256 = "17h3s6n9l1vwllcig7g385qxcrp6f68zjcb2rygs8nhs5g7iqryc";
+      system = "darts.lib.hashtree-test";
+      asd = "darts.lib.hashtree-test";
+    });
+    systems = [ "darts.lib.hashtree-test" ];
+    lispLibs = [ (getAttr "darts_dot_lib_dot_hashtrie" pkgs) (getAttr "darts_dot_lib_dot_wbtree" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  darts_dot_lib_dot_hashtrie = {
+    pname = "darts.lib.hashtrie";
+    version = "20211230-git";
+    asds = [ "darts.lib.hashtrie" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dartsclhashtree/2021-12-30/dartsclhashtree-20211230-git.tgz";
+      sha256 = "17h3s6n9l1vwllcig7g385qxcrp6f68zjcb2rygs8nhs5g7iqryc";
+      system = "darts.lib.hashtrie";
+      asd = "darts.lib.hashtrie";
+    });
+    systems = [ "darts.lib.hashtrie" ];
+    lispLibs = [  ];
+  };
+  darts_dot_lib_dot_message-pack = {
+    pname = "darts.lib.message-pack";
+    version = "20200325-git";
+    asds = [ "darts.lib.message-pack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dartsclmessagepack/2020-03-25/dartsclmessagepack-20200325-git.tgz";
+      sha256 = "0i9jnvq6dp5zya1ijj3z7s10803jk8rb4nrjrzcgcfhkczd5si6y";
+      system = "darts.lib.message-pack";
+      asd = "darts.lib.message-pack";
+    });
+    systems = [ "darts.lib.message-pack" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "ieee-floats" pkgs) ];
+  };
+  darts_dot_lib_dot_message-pack-test = {
+    pname = "darts.lib.message-pack-test";
+    version = "20200325-git";
+    asds = [ "darts.lib.message-pack-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dartsclmessagepack/2020-03-25/dartsclmessagepack-20200325-git.tgz";
+      sha256 = "0i9jnvq6dp5zya1ijj3z7s10803jk8rb4nrjrzcgcfhkczd5si6y";
+      system = "darts.lib.message-pack-test";
+      asd = "darts.lib.message-pack-test";
+    });
+    systems = [ "darts.lib.message-pack-test" ];
+    lispLibs = [ (getAttr "darts_dot_lib_dot_message-pack" pkgs) (getAttr "stefil" pkgs) (getAttr "trivial-octet-streams" pkgs) ];
+  };
+  darts_dot_lib_dot_sequence-metrics = {
+    pname = "darts.lib.sequence-metrics";
+    version = "20130312-git";
+    asds = [ "darts.lib.sequence-metrics" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dartsclsequencemetrics/2013-03-12/dartsclsequencemetrics-20130312-git.tgz";
+      sha256 = "1x99gj5dfgiaraawx1nd157g5ajygfxz47cz8jgi1fh52fp1p969";
+      system = "darts.lib.sequence-metrics";
+      asd = "darts.lib.sequence-metrics";
+    });
+    systems = [ "darts.lib.sequence-metrics" ];
+    lispLibs = [  ];
+  };
+  darts_dot_lib_dot_tools = {
+    pname = "darts.lib.tools";
+    version = "20201220-git";
+    asds = [ "darts.lib.tools" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dartscltools/2020-12-20/dartscltools-20201220-git.tgz";
+      sha256 = "0mbz7ak03qsw41fgybdw4mbibr656y9xl9bfgr2rmkdkgxbicys9";
+      system = "darts.lib.tools";
+      asd = "darts.lib.tools";
+    });
+    systems = [ "darts.lib.tools" ];
+    lispLibs = [ (getAttr "atomics" pkgs) ];
+  };
+  darts_dot_lib_dot_tools_dot_test = {
+    pname = "darts.lib.tools.test";
+    version = "20201220-git";
+    asds = [ "darts.lib.tools.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dartscltools/2020-12-20/dartscltools-20201220-git.tgz";
+      sha256 = "0mbz7ak03qsw41fgybdw4mbibr656y9xl9bfgr2rmkdkgxbicys9";
+      system = "darts.lib.tools.test";
+      asd = "darts.lib.tools.test";
+    });
+    systems = [ "darts.lib.tools.test" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "darts_dot_lib_dot_tools" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  darts_dot_lib_dot_uuid = {
+    pname = "darts.lib.uuid";
+    version = "20210807-git";
+    asds = [ "darts.lib.uuid" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dartscluuid/2021-08-07/dartscluuid-20210807-git.tgz";
+      sha256 = "068lsbjnx4bkhz7s2022jsh8zsvqak98s8hcy1rs10bgi36hrrkh";
+      system = "darts.lib.uuid";
+      asd = "darts.lib.uuid";
+    });
+    systems = [ "darts.lib.uuid" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "ironclad" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  darts_dot_lib_dot_uuid-test = {
+    pname = "darts.lib.uuid-test";
+    version = "20210807-git";
+    asds = [ "darts.lib.uuid-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dartscluuid/2021-08-07/dartscluuid-20210807-git.tgz";
+      sha256 = "068lsbjnx4bkhz7s2022jsh8zsvqak98s8hcy1rs10bgi36hrrkh";
+      system = "darts.lib.uuid-test";
+      asd = "darts.lib.uuid-test";
+    });
+    systems = [ "darts.lib.uuid-test" ];
+    lispLibs = [ (getAttr "darts_dot_lib_dot_uuid" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  darts_dot_lib_dot_wbtree = {
+    pname = "darts.lib.wbtree";
+    version = "20211230-git";
+    asds = [ "darts.lib.wbtree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dartsclhashtree/2021-12-30/dartsclhashtree-20211230-git.tgz";
+      sha256 = "17h3s6n9l1vwllcig7g385qxcrp6f68zjcb2rygs8nhs5g7iqryc";
+      system = "darts.lib.wbtree";
+      asd = "darts.lib.wbtree";
+    });
+    systems = [ "darts.lib.wbtree" ];
+    lispLibs = [  ];
+  };
+  data-format-validation = {
+    pname = "data-format-validation";
+    version = "20140713-git";
+    asds = [ "data-format-validation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-data-format-validation/2014-07-13/cl-data-format-validation-20140713-git.tgz";
+      sha256 = "0zmk47xmicyqvp1impn8kgh5373ysmx3gfpqcvbi9r31qsir2nqa";
+      system = "data-format-validation";
+      asd = "data-format-validation";
+    });
+    systems = [ "data-format-validation" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  data-frame = {
+    pname = "data-frame";
+    version = "20211209-git";
+    asds = [ "data-frame" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/data-frame/2021-12-09/data-frame-20211209-git.tgz";
+      sha256 = "1rq51dbhjzjm1vicjq7sps21i0wvl27m0x17qykx8qjnmg7np0va";
+      system = "data-frame";
+      asd = "data-frame";
+    });
+    systems = [ "data-frame" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "alexandria_plus" pkgs) (getAttr "anaphora" pkgs) (getAttr "array-operations" pkgs) (getAttr "let-plus" pkgs) (getAttr "num-utils" pkgs) (getAttr "select" pkgs) ];
+  };
+  data-frame_slash_tests = {
+    pname = "data-frame_tests";
+    version = "20211209-git";
+    asds = [ "data-frame" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/data-frame/2021-12-09/data-frame-20211209-git.tgz";
+      sha256 = "1rq51dbhjzjm1vicjq7sps21i0wvl27m0x17qykx8qjnmg7np0va";
+      system = "data-frame";
+      asd = "data-frame";
+    });
+    systems = [ "data-frame/tests" ];
+    lispLibs = [ (getAttr "clunit2" pkgs) (getAttr "data-frame" pkgs) ];
+  };
+  data-lens = {
+    pname = "data-lens";
+    version = "20210124-git";
+    asds = [ "data-lens" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/data-lens/2021-01-24/data-lens-20210124-git.tgz";
+      sha256 = "138vlmi1ixkj60np3jmnb57cz2bn2x2fihm16gryb1r93r6scx56";
+      system = "data-lens";
+      asd = "data-lens";
+    });
+    systems = [ "data-lens" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  data-lens_slash_beta_slash_transducers = {
+    pname = "data-lens_beta_transducers";
+    version = "20210124-git";
+    asds = [ "data-lens" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/data-lens/2021-01-24/data-lens-20210124-git.tgz";
+      sha256 = "138vlmi1ixkj60np3jmnb57cz2bn2x2fihm16gryb1r93r6scx56";
+      system = "data-lens";
+      asd = "data-lens";
+    });
+    systems = [ "data-lens/beta/transducers" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "data-lens" pkgs) ];
+  };
+  data-lens_slash_transducers_slash_test = {
+    pname = "data-lens_transducers_test";
+    version = "20210124-git";
+    asds = [ "data-lens" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/data-lens/2021-01-24/data-lens-20210124-git.tgz";
+      sha256 = "138vlmi1ixkj60np3jmnb57cz2bn2x2fihm16gryb1r93r6scx56";
+      system = "data-lens";
+      asd = "data-lens";
+    });
+    systems = [ "data-lens/transducers/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "data-lens" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  data-sift = {
+    pname = "data-sift";
+    version = "20130128-git";
+    asds = [ "data-sift" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/data-sift/2013-01-28/data-sift-20130128-git.tgz";
+      sha256 = "1v7gf0x4ibjzp0c56n9m77hxdgwcm9356zlk5n4l3fx4i0hj6146";
+      system = "data-sift";
+      asd = "data-sift";
+    });
+    systems = [ "data-sift" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "parse-number" pkgs) (getAttr "puri" pkgs) ];
+  };
+  data-sift-test = {
+    pname = "data-sift-test";
+    version = "20130128-git";
+    asds = [ "data-sift-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/data-sift/2013-01-28/data-sift-20130128-git.tgz";
+      sha256 = "1v7gf0x4ibjzp0c56n9m77hxdgwcm9356zlk5n4l3fx4i0hj6146";
+      system = "data-sift-test";
+      asd = "data-sift";
+    });
+    systems = [ "data-sift-test" ];
+    lispLibs = [ (getAttr "data-sift" pkgs) (getAttr "lift" pkgs) ];
+  };
+  data-table = {
+    pname = "data-table";
+    version = "20160208-git";
+    asds = [ "data-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/data-table/2016-02-08/data-table-20160208-git.tgz";
+      sha256 = "0wa5zlgcnlf7k18alg9a03m2524dhbxv0sgzyia4bsy07nx97afb";
+      system = "data-table";
+      asd = "data-table";
+    });
+    systems = [ "data-table" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "iterate" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  data-table-clsql = {
+    pname = "data-table-clsql";
+    version = "20160208-git";
+    asds = [ "data-table-clsql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/data-table/2016-02-08/data-table-20160208-git.tgz";
+      sha256 = "0wa5zlgcnlf7k18alg9a03m2524dhbxv0sgzyia4bsy07nx97afb";
+      system = "data-table-clsql";
+      asd = "data-table-clsql";
+    });
+    systems = [ "data-table-clsql" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "clsql-helper" pkgs) (getAttr "collectors" pkgs) (getAttr "data-table" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  data-table-test = {
+    pname = "data-table-test";
+    version = "20160208-git";
+    asds = [ "data-table-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/data-table/2016-02-08/data-table-20160208-git.tgz";
+      sha256 = "0wa5zlgcnlf7k18alg9a03m2524dhbxv0sgzyia4bsy07nx97afb";
+      system = "data-table-test";
+      asd = "data-table";
+    });
+    systems = [ "data-table-test" ];
+    lispLibs = [ (getAttr "data-table" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  database-migrations = {
+    pname = "database-migrations";
+    version = "20180831-git";
+    asds = [ "database-migrations" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/database-migrations/2018-08-31/database-migrations-20180831-git.tgz";
+      sha256 = "1rina8j4hh06zc18sxl55r2gsq6x17sn1mjaihdvjyqa7f95s8rp";
+      system = "database-migrations";
+      asd = "database-migrations";
+    });
+    systems = [ "database-migrations" ];
+    lispLibs = [ (getAttr "postmodern" pkgs) ];
+  };
+  datafly = {
+    pname = "datafly";
+    version = "20200325-git";
+    asds = [ "datafly" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/datafly/2020-03-25/datafly-20200325-git.tgz";
+      sha256 = "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv";
+      system = "datafly";
+      asd = "datafly";
+    });
+    systems = [ "datafly" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "dbi" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "closer-mop" pkgs) (getAttr "function-cache" pkgs) (getAttr "iterate" pkgs) (getAttr "jonathan" pkgs) (getAttr "kebab" pkgs) (getAttr "local-time" pkgs) (getAttr "log4cl" pkgs) (getAttr "optima" pkgs) (getAttr "sxql" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  datafly-test = {
+    pname = "datafly-test";
+    version = "20200325-git";
+    asds = [ "datafly-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/datafly/2020-03-25/datafly-20200325-git.tgz";
+      sha256 = "16b78kzmglp2a4nxlxxl7rpf5zaibsgagn0p3c56fsxvx0c4hszv";
+      system = "datafly-test";
+      asd = "datafly-test";
+    });
+    systems = [ "datafly-test" ];
+    lispLibs = [ (getAttr "datafly" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "sxql" pkgs) ];
+  };
+  dataloader = {
+    pname = "dataloader";
+    version = "20210531-git";
+    asds = [ "dataloader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dataloader/2021-05-31/dataloader-20210531-git.tgz";
+      sha256 = "1a7nap2yp0jjd9r3xpkj0a6z0m3gshz73abm8kfza4kf31ipzyik";
+      system = "dataloader";
+      asd = "dataloader";
+    });
+    systems = [ "dataloader" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-csv" pkgs) (getAttr "cl-jpeg" pkgs) (getAttr "png" pkgs) (getAttr "cl-wav" pkgs) (getAttr "iterate" pkgs) (getAttr "magicffi" pkgs) (getAttr "numcl" pkgs) (getAttr "numpy-file-format" pkgs) (getAttr "retrospectiff" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  dataloader_dot_test = {
+    pname = "dataloader.test";
+    version = "20210531-git";
+    asds = [ "dataloader.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dataloader/2021-05-31/dataloader-20210531-git.tgz";
+      sha256 = "1a7nap2yp0jjd9r3xpkj0a6z0m3gshz73abm8kfza4kf31ipzyik";
+      system = "dataloader.test";
+      asd = "dataloader.test";
+    });
+    systems = [ "dataloader.test" ];
+    lispLibs = [ (getAttr "dataloader" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  datamuse = {
+    pname = "datamuse";
+    version = "20200610-git";
+    asds = [ "datamuse" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/datamuse/2020-06-10/datamuse-20200610-git.tgz";
+      sha256 = "1nfjz4z4i6shprv5wv6qc9sq9ixqdswpm12d82lvi2ckkrnx1s91";
+      system = "datamuse";
+      asd = "datamuse";
+    });
+    systems = [ "datamuse" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "drakma" pkgs) (getAttr "yason" pkgs) ];
+  };
+  date-calc = {
+    pname = "date-calc";
+    version = "20191227-git";
+    asds = [ "date-calc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/date-calc/2019-12-27/date-calc-20191227-git.tgz";
+      sha256 = "09wmjp3ypxigcmx4mvc0yjnj56wkjjchhssdmklbaswy5mi7xc9s";
+      system = "date-calc";
+      asd = "date-calc";
+    });
+    systems = [ "date-calc" ];
+    lispLibs = [  ];
+  };
+  date-calc_slash_test = {
+    pname = "date-calc_test";
+    version = "20191227-git";
+    asds = [ "date-calc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/date-calc/2019-12-27/date-calc-20191227-git.tgz";
+      sha256 = "09wmjp3ypxigcmx4mvc0yjnj56wkjjchhssdmklbaswy5mi7xc9s";
+      system = "date-calc";
+      asd = "date-calc";
+    });
+    systems = [ "date-calc/test" ];
+    lispLibs = [ (getAttr "date-calc" pkgs) (getAttr "fiveam" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  datum-comments = {
+    pname = "datum-comments";
+    version = "20210228-git";
+    asds = [ "datum-comments" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/datum-comments/2021-02-28/datum-comments-20210228-git.tgz";
+      sha256 = "07zzlhphcmwimp4pjckhnbjbn127lcpafi7j0l74137dz9pimjik";
+      system = "datum-comments";
+      asd = "datum-comments";
+    });
+    systems = [ "datum-comments" ];
+    lispLibs = [  ];
+  };
+  datum-comments_slash_test = {
+    pname = "datum-comments_test";
+    version = "20210228-git";
+    asds = [ "datum-comments" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/datum-comments/2021-02-28/datum-comments-20210228-git.tgz";
+      sha256 = "07zzlhphcmwimp4pjckhnbjbn127lcpafi7j0l74137dz9pimjik";
+      system = "datum-comments";
+      asd = "datum-comments";
+    });
+    systems = [ "datum-comments/test" ];
+    lispLibs = [ (getAttr "datum-comments" pkgs) ];
+  };
+  db3 = {
+    pname = "db3";
+    version = "20200218-git";
+    asds = [ "db3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-db3/2020-02-18/cl-db3-20200218-git.tgz";
+      sha256 = "1i7j0mlri6kbklcx1lsm464s8kmyhhij5c4xh4aybrw8m4ixn1s5";
+      system = "db3";
+      asd = "db3";
+    });
+    systems = [ "db3" ];
+    lispLibs = [  ];
+  };
+  dbd-mysql = {
+    pname = "dbd-mysql";
+    version = "20211020-git";
+    asds = [ "dbd-mysql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz";
+      sha256 = "0f8z7an8ssg8mdf9k781r4ygdppv798v6f08ibgpd8mv8a6491fg";
+      system = "dbd-mysql";
+      asd = "dbd-mysql";
+    });
+    systems = [ "dbd-mysql" ];
+    lispLibs = [ (getAttr "dbi" pkgs) (getAttr "cl-mysql" pkgs) ];
+  };
+  dbd-postgres = {
+    pname = "dbd-postgres";
+    version = "20211020-git";
+    asds = [ "dbd-postgres" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz";
+      sha256 = "0f8z7an8ssg8mdf9k781r4ygdppv798v6f08ibgpd8mv8a6491fg";
+      system = "dbd-postgres";
+      asd = "dbd-postgres";
+    });
+    systems = [ "dbd-postgres" ];
+    lispLibs = [ (getAttr "dbi" pkgs) (getAttr "cl-postgres" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  dbd-sqlite3 = {
+    pname = "dbd-sqlite3";
+    version = "20211020-git";
+    asds = [ "dbd-sqlite3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz";
+      sha256 = "0f8z7an8ssg8mdf9k781r4ygdppv798v6f08ibgpd8mv8a6491fg";
+      system = "dbd-sqlite3";
+      asd = "dbd-sqlite3";
+    });
+    systems = [ "dbd-sqlite3" ];
+    lispLibs = [ (getAttr "dbi" pkgs) (getAttr "sqlite" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  dbi = {
+    pname = "dbi";
+    version = "20211020-git";
+    asds = [ "dbi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz";
+      sha256 = "0f8z7an8ssg8mdf9k781r4ygdppv798v6f08ibgpd8mv8a6491fg";
+      system = "dbi";
+      asd = "dbi";
+    });
+    systems = [ "dbi" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "closer-mop" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  dbi-test = {
+    pname = "dbi-test";
+    version = "20211020-git";
+    asds = [ "dbi-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz";
+      sha256 = "0f8z7an8ssg8mdf9k781r4ygdppv798v6f08ibgpd8mv8a6491fg";
+      system = "dbi-test";
+      asd = "dbi-test";
+    });
+    systems = [ "dbi-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "dbi" pkgs) (getAttr "rove" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  dbi_slash_test = {
+    pname = "dbi_test";
+    version = "20211020-git";
+    asds = [ "dbi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dbi/2021-10-20/cl-dbi-20211020-git.tgz";
+      sha256 = "0f8z7an8ssg8mdf9k781r4ygdppv798v6f08ibgpd8mv8a6491fg";
+      system = "dbi";
+      asd = "dbi";
+    });
+    systems = [ "dbi/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "dbd-mysql" pkgs) (getAttr "dbd-postgres" pkgs) (getAttr "dbd-sqlite3" pkgs) (getAttr "dbi" pkgs) (getAttr "dbi-test" pkgs) (getAttr "closer-mop" pkgs) (getAttr "rove" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  dbus = {
+    pname = "dbus";
+    version = "20211020-git";
+    asds = [ "dbus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dbus/2021-10-20/dbus-20211020-git.tgz";
+      sha256 = "1gw5414q7r6yi2bm1wk2fhqnvhxzc5c6812z3qh67c9dyizcjy2a";
+      system = "dbus";
+      asd = "dbus";
+    });
+    systems = [ "dbus" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "asdf-package-system" pkgs) (getAttr "babel" pkgs) (getAttr "cl-xmlspam" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "iolib" pkgs) (getAttr "ironclad" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  dct = {
+    pname = "dct";
+    version = "20191130-git";
+    asds = [ "dct" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dct/2019-11-30/cl-dct-20191130-git.tgz";
+      sha256 = "0dmc5b42lzcsi6wf7y06f46s0b1m636n45zmr13lc911m93bybx6";
+      system = "dct";
+      asd = "dct";
+    });
+    systems = [ "dct" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  dct-test = {
+    pname = "dct-test";
+    version = "20191130-git";
+    asds = [ "dct-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-dct/2019-11-30/cl-dct-20191130-git.tgz";
+      sha256 = "0dmc5b42lzcsi6wf7y06f46s0b1m636n45zmr13lc911m93bybx6";
+      system = "dct-test";
+      asd = "dct-test";
+    });
+    systems = [ "dct-test" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-coveralls" pkgs) (getAttr "dct" pkgs) (getAttr "lisp-unit" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  ddo = {
+    pname = "ddo";
+    version = "20210411-git";
+    asds = [ "ddo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz";
+      sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa";
+      system = "ddo";
+      asd = "ddo";
+    });
+    systems = [ "ddo" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-mpi" pkgs) (getAttr "cl-mpi-extensions" pkgs) (getAttr "femlisp-basic" pkgs) (getAttr "femlisp-dictionary" pkgs) (getAttr "femlisp-parallel" pkgs) (getAttr "lfarm-admin" pkgs) (getAttr "lfarm-client" pkgs) (getAttr "lfarm-server" pkgs) (getAttr "trees" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  dealii-tutorial = {
+    pname = "dealii-tutorial";
+    version = "20210411-git";
+    asds = [ "dealii-tutorial" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz";
+      sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa";
+      system = "dealii-tutorial";
+      asd = "dealii-tutorial";
+    });
+    systems = [ "dealii-tutorial" ];
+    lispLibs = [ (getAttr "femlisp" pkgs) ];
+  };
+  decimals = {
+    pname = "decimals";
+    version = "20211209-git";
+    asds = [ "decimals" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-decimals/2021-12-09/cl-decimals-20211209-git.tgz";
+      sha256 = "0wn5hq1pwd3wpjqqhpjzarcdk1q6416g8y447iaf55j5nbhlmbn6";
+      system = "decimals";
+      asd = "decimals";
+    });
+    systems = [ "decimals" ];
+    lispLibs = [  ];
+  };
+  deeds = {
+    pname = "deeds";
+    version = "20200715-git";
+    asds = [ "deeds" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/deeds/2020-07-15/deeds-20200715-git.tgz";
+      sha256 = "062cnb2dwli6pw3zvv46jfxyxdzcbzwsck5pa6nw03qf1j1hyg3k";
+      system = "deeds";
+      asd = "deeds";
+    });
+    systems = [ "deeds" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "closer-mop" pkgs) (getAttr "form-fiddle" pkgs) (getAttr "lambda-fiddle" pkgs) ];
+  };
+  defclass-std = {
+    pname = "defclass-std";
+    version = "20201220-git";
+    asds = [ "defclass-std" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defclass-std/2020-12-20/defclass-std-20201220-git.tgz";
+      sha256 = "1c0ymb49wd205lzxmnmsrpqyv0pn61snn2xvsbk5iis135r4fr18";
+      system = "defclass-std";
+      asd = "defclass-std";
+    });
+    systems = [ "defclass-std" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) ];
+  };
+  defclass-std-test = {
+    pname = "defclass-std-test";
+    version = "20201220-git";
+    asds = [ "defclass-std-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defclass-std/2020-12-20/defclass-std-20201220-git.tgz";
+      sha256 = "1c0ymb49wd205lzxmnmsrpqyv0pn61snn2xvsbk5iis135r4fr18";
+      system = "defclass-std-test";
+      asd = "defclass-std-test";
+    });
+    systems = [ "defclass-std-test" ];
+    lispLibs = [ (getAttr "defclass-std" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  defconfig = {
+    pname = "defconfig";
+    version = "20211209-git";
+    asds = [ "defconfig" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defconfig/2021-12-09/defconfig-20211209-git.tgz";
+      sha256 = "1gvgni43fxknj800k2k7jhgayzqqqp3s321sw4qmsjxpv479hcqy";
+      system = "defconfig";
+      asd = "defconfig";
+    });
+    systems = [ "defconfig" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "trivial-cltl2" pkgs) ];
+  };
+  defconfig_slash_tests = {
+    pname = "defconfig_tests";
+    version = "20211209-git";
+    asds = [ "defconfig" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defconfig/2021-12-09/defconfig-20211209-git.tgz";
+      sha256 = "1gvgni43fxknj800k2k7jhgayzqqqp3s321sw4qmsjxpv479hcqy";
+      system = "defconfig";
+      asd = "defconfig";
+    });
+    systems = [ "defconfig/tests" ];
+    lispLibs = [ (getAttr "defconfig" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  defenum = {
+    pname = "defenum";
+    version = "20211230-git";
+    asds = [ "defenum" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defenum/2021-12-30/defenum-20211230-git.tgz";
+      sha256 = "1pya5xqr2y8zfsv7a6k0q3s6fhz7shx8b3fxll111jq56150ls98";
+      system = "defenum";
+      asd = "defenum";
+    });
+    systems = [ "defenum" ];
+    lispLibs = [  ];
+  };
+  deferred = {
+    pname = "deferred";
+    version = "20190710-git";
+    asds = [ "deferred" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/deferred/2019-07-10/deferred-20190710-git.tgz";
+      sha256 = "1pcbzvambkqacs4pcww7wc9g7jjv0x7a8iwbk2b16l8x0rc0izx5";
+      system = "deferred";
+      asd = "deferred";
+    });
+    systems = [ "deferred" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  define-json-expander = {
+    pname = "define-json-expander";
+    version = "20140713-git";
+    asds = [ "define-json-expander" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/define-json-expander/2014-07-13/define-json-expander-20140713-git.tgz";
+      sha256 = "193mhjcy1qnfd7r7zia3qs8p7gllvq6s0b2wcqmkh0y17aw8brkh";
+      system = "define-json-expander";
+      asd = "define-json-expander";
+    });
+    systems = [ "define-json-expander" ];
+    lispLibs = [  ];
+  };
+  definer = {
+    pname = "definer";
+    version = "20211230-git";
+    asds = [ "definer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/definer/2021-12-30/definer-20211230-git.tgz";
+      sha256 = "0wgg6c9la1asq7hpyacyi8l3fb80hnpscygsxsg0yjk2s2h5gsk7";
+      system = "definer";
+      asd = "definer";
+    });
+    systems = [ "definer" ];
+    lispLibs = [  ];
+  };
+  definitions = {
+    pname = "definitions";
+    version = "20210531-git";
+    asds = [ "definitions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/definitions/2021-05-31/definitions-20210531-git.tgz";
+      sha256 = "16dh9iy3v344xj4qllsp47007px3yx26fxxh9gh2cvs8dqgk3kch";
+      system = "definitions";
+      asd = "definitions";
+    });
+    systems = [ "definitions" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  definitions-systems = {
+    pname = "definitions-systems";
+    version = "2.0.1";
+    asds = [ "definitions-systems" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/definitions-systems/2021-04-11/definitions-systems_2.0.1.tgz";
+      sha256 = "009392mj0qdq4jy0dw5r41schnygwj286759yvyg7xja30a0psfq";
+      system = "definitions-systems";
+      asd = "definitions-systems";
+    });
+    systems = [ "definitions-systems" ];
+    lispLibs = [ (getAttr "canonicalized-initargs" pkgs) (getAttr "enhanced-defclass" pkgs) (getAttr "enhanced-find-class" pkgs) (getAttr "shared-preferences" pkgs) ];
+  };
+  definitions-systems_tests = {
+    pname = "definitions-systems_tests";
+    version = "2.0.1";
+    asds = [ "definitions-systems_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/definitions-systems/2021-04-11/definitions-systems_2.0.1.tgz";
+      sha256 = "009392mj0qdq4jy0dw5r41schnygwj286759yvyg7xja30a0psfq";
+      system = "definitions-systems_tests";
+      asd = "definitions-systems_tests";
+    });
+    systems = [ "definitions-systems_tests" ];
+    lispLibs = [ (getAttr "definitions-systems" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  deflate = {
+    pname = "deflate";
+    version = "20200218-git";
+    asds = [ "deflate" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/deflate/2020-02-18/deflate-20200218-git.tgz";
+      sha256 = "1jpdjnxh6cw2d8hk70r2sxn92is52s9b855irvwkdd777fdciids";
+      system = "deflate";
+      asd = "deflate";
+    });
+    systems = [ "deflate" ];
+    lispLibs = [  ];
+  };
+  deflazy = {
+    pname = "deflazy";
+    version = "20200427-git";
+    asds = [ "deflazy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "deflazy";
+      asd = "deflazy";
+    });
+    systems = [ "deflazy" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "uncommon-lisp" pkgs) (getAttr "utility" pkgs) ];
+  };
+  defmain = {
+    pname = "defmain";
+    version = "20211230-git";
+    asds = [ "defmain" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defmain/2021-12-30/defmain-20211230-git.tgz";
+      sha256 = "0j8j8z96458l6l1w6mwdw7c8xv9qiswrv0gf6n13jfbxcvkncxxa";
+      system = "defmain";
+      asd = "defmain";
+    });
+    systems = [ "defmain" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "net_dot_didierverna_dot_clon_dot_core" pkgs) (getAttr "cl-inflector" pkgs) (getAttr "cl-strings" pkgs) (getAttr "_40ants-doc" pkgs) (getAttr "docs-config" pkgs) (getAttr "named-readtables" pkgs) (getAttr "pythonic-string-reader" pkgs) ];
+  };
+  defmain-test = {
+    pname = "defmain-test";
+    version = "20211230-git";
+    asds = [ "defmain-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defmain/2021-12-30/defmain-20211230-git.tgz";
+      sha256 = "0j8j8z96458l6l1w6mwdw7c8xv9qiswrv0gf6n13jfbxcvkncxxa";
+      system = "defmain-test";
+      asd = "defmain-test";
+    });
+    systems = [ "defmain-test" ];
+    lispLibs = [ (getAttr "hamcrest" pkgs) (getAttr "defmain" pkgs) (getAttr "rove" pkgs) ];
+  };
+  defmemo = {
+    pname = "defmemo";
+    version = "20120407-git";
+    asds = [ "defmemo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defmemo/2012-04-07/defmemo-20120407-git.tgz";
+      sha256 = "0rkvnjfb6fajzfzislz6z372bqpkj6wfbf0sxmzhhigni4wnil27";
+      system = "defmemo";
+      asd = "defmemo";
+    });
+    systems = [ "defmemo" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  defmemo-test = {
+    pname = "defmemo-test";
+    version = "20120407-git";
+    asds = [ "defmemo-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defmemo/2012-04-07/defmemo-20120407-git.tgz";
+      sha256 = "0rkvnjfb6fajzfzislz6z372bqpkj6wfbf0sxmzhhigni4wnil27";
+      system = "defmemo-test";
+      asd = "defmemo";
+    });
+    systems = [ "defmemo-test" ];
+    lispLibs = [ (getAttr "defmemo" pkgs) ];
+  };
+  defpackage-plus = {
+    pname = "defpackage-plus";
+    version = "20180131-git";
+    asds = [ "defpackage-plus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defpackage-plus/2018-01-31/defpackage-plus-20180131-git.tgz";
+      sha256 = "0lzljvf343xb6mlh6lni2i27hpm5qd376522mk6hr2pa20vd6rdq";
+      system = "defpackage-plus";
+      asd = "defpackage-plus";
+    });
+    systems = [ "defpackage-plus" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  defrec = {
+    pname = "defrec";
+    version = "20190307-hg";
+    asds = [ "defrec" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defrec/2019-03-07/defrec-20190307-hg.tgz";
+      sha256 = "1hk70y79wpdp16586yl550xh0zmybxhr25x2y2d9in65ghaz6fk0";
+      system = "defrec";
+      asd = "defrec";
+    });
+    systems = [ "defrec" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  defrest = {
+    pname = "defrest";
+    version = "20210531-git";
+    asds = [ "defrest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defrest/2021-05-31/defrest-20210531-git.tgz";
+      sha256 = "14pap344a0549mb7p79jf87ibfxmymk0hf9i7galcfi4s8nqq45g";
+      system = "defrest";
+      asd = "defrest";
+    });
+    systems = [ "defrest" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "quri" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  defrest_dot_test = {
+    pname = "defrest.test";
+    version = "20210531-git";
+    asds = [ "defrest.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defrest/2021-05-31/defrest-20210531-git.tgz";
+      sha256 = "14pap344a0549mb7p79jf87ibfxmymk0hf9i7galcfi4s8nqq45g";
+      system = "defrest.test";
+      asd = "defrest";
+    });
+    systems = [ "defrest.test" ];
+    lispLibs = [ (getAttr "defrest" pkgs) (getAttr "drakma" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  defstar = {
+    pname = "defstar";
+    version = "20140713-git";
+    asds = [ "defstar" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defstar/2014-07-13/defstar-20140713-git.tgz";
+      sha256 = "0n6m3aqvdfnsrhlhqjcy72d1i55lbkjg13ij5c7vw003p1n78wxi";
+      system = "defstar";
+      asd = "defstar";
+    });
+    systems = [ "defstar" ];
+    lispLibs = [  ];
+  };
+  defsystem-compatibility = {
+    pname = "defsystem-compatibility";
+    version = "20101006-darcs";
+    asds = [ "defsystem-compatibility" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defsystem-compatibility/2010-10-06/defsystem-compatibility-20101006-darcs.tgz";
+      sha256 = "0bw0c69zyika19rvzl8xplwrqsgznhnlbj40fcszfw0vxh2czj0f";
+      system = "defsystem-compatibility";
+      asd = "defsystem-compatibility";
+    });
+    systems = [ "defsystem-compatibility" ];
+    lispLibs = [ (getAttr "metatilities-base" pkgs) ];
+  };
+  defsystem-compatibility-test = {
+    pname = "defsystem-compatibility-test";
+    version = "20101006-darcs";
+    asds = [ "defsystem-compatibility-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defsystem-compatibility/2010-10-06/defsystem-compatibility-20101006-darcs.tgz";
+      sha256 = "0bw0c69zyika19rvzl8xplwrqsgznhnlbj40fcszfw0vxh2czj0f";
+      system = "defsystem-compatibility-test";
+      asd = "defsystem-compatibility-test";
+    });
+    systems = [ "defsystem-compatibility-test" ];
+    lispLibs = [ (getAttr "defsystem-compatibility" pkgs) (getAttr "lift" pkgs) ];
+  };
+  defvariant = {
+    pname = "defvariant";
+    version = "20140713-git";
+    asds = [ "defvariant" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/defvariant/2014-07-13/defvariant-20140713-git.tgz";
+      sha256 = "0rma557l2irjyzrswcd7329iic2pjxw0jgk3m2inag39l6wyqsr1";
+      system = "defvariant";
+      asd = "defvariant";
+    });
+    systems = [ "defvariant" ];
+    lispLibs = [  ];
+  };
+  delorean = {
+    pname = "delorean";
+    version = "20130615-git";
+    asds = [ "delorean" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/delorean/2013-06-15/delorean-20130615-git.tgz";
+      sha256 = "0q11wqdlvis91i996mar72icw07yf7mwmsnlmsbsya9kaqj7n3cd";
+      system = "delorean";
+      asd = "delorean";
+    });
+    systems = [ "delorean" ];
+    lispLibs = [ (getAttr "local-time" pkgs) ];
+  };
+  delorean-test = {
+    pname = "delorean-test";
+    version = "20130615-git";
+    asds = [ "delorean-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/delorean/2013-06-15/delorean-20130615-git.tgz";
+      sha256 = "0q11wqdlvis91i996mar72icw07yf7mwmsnlmsbsya9kaqj7n3cd";
+      system = "delorean-test";
+      asd = "delorean";
+    });
+    systems = [ "delorean-test" ];
+    lispLibs = [ (getAttr "delorean" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  delta-debug = {
+    pname = "delta-debug";
+    version = "20180831-git";
+    asds = [ "delta-debug" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/delta-debug/2018-08-31/delta-debug-20180831-git.tgz";
+      sha256 = "0dm33v8ipkpr23mjb9s6z2c7gmxwjbd5khc7c1vangba18nzm7ir";
+      system = "delta-debug";
+      asd = "delta-debug";
+    });
+    systems = [ "delta-debug" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "curry-compose-reader-macros" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  delta-debug_slash_delta = {
+    pname = "delta-debug_delta";
+    version = "20180831-git";
+    asds = [ "delta-debug" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/delta-debug/2018-08-31/delta-debug-20180831-git.tgz";
+      sha256 = "0dm33v8ipkpr23mjb9s6z2c7gmxwjbd5khc7c1vangba18nzm7ir";
+      system = "delta-debug";
+      asd = "delta-debug";
+    });
+    systems = [ "delta-debug/delta" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "curry-compose-reader-macros" pkgs) (getAttr "delta-debug" pkgs) (getAttr "diff" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-shell" pkgs) ];
+  };
+  delta-debug_slash_test = {
+    pname = "delta-debug_test";
+    version = "20180831-git";
+    asds = [ "delta-debug" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/delta-debug/2018-08-31/delta-debug-20180831-git.tgz";
+      sha256 = "0dm33v8ipkpr23mjb9s6z2c7gmxwjbd5khc7c1vangba18nzm7ir";
+      system = "delta-debug";
+      asd = "delta-debug";
+    });
+    systems = [ "delta-debug/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "curry-compose-reader-macros" pkgs) (getAttr "delta-debug" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  dendrite = {
+    pname = "dendrite";
+    version = "release-quicklisp-409b1061-git";
+    asds = [ "dendrite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dendrite/2017-10-23/dendrite-release-quicklisp-409b1061-git.tgz";
+      sha256 = "1fsi77w2yamis2707f1hx09pmyjaxqpzl8s0h182vpz159lkxdy5";
+      system = "dendrite";
+      asd = "dendrite";
+    });
+    systems = [ "dendrite" ];
+    lispLibs = [ (getAttr "dendrite_dot_micro-l-system" pkgs) (getAttr "dendrite_dot_primitives" pkgs) ];
+  };
+  dendrite_dot_micro-l-system = {
+    pname = "dendrite.micro-l-system";
+    version = "release-quicklisp-409b1061-git";
+    asds = [ "dendrite.micro-l-system" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dendrite/2017-10-23/dendrite-release-quicklisp-409b1061-git.tgz";
+      sha256 = "1fsi77w2yamis2707f1hx09pmyjaxqpzl8s0h182vpz159lkxdy5";
+      system = "dendrite.micro-l-system";
+      asd = "dendrite.micro-l-system";
+    });
+    systems = [ "dendrite.micro-l-system" ];
+    lispLibs = [  ];
+  };
+  dendrite_dot_primitives = {
+    pname = "dendrite.primitives";
+    version = "release-quicklisp-409b1061-git";
+    asds = [ "dendrite.primitives" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dendrite/2017-10-23/dendrite-release-quicklisp-409b1061-git.tgz";
+      sha256 = "1fsi77w2yamis2707f1hx09pmyjaxqpzl8s0h182vpz159lkxdy5";
+      system = "dendrite.primitives";
+      asd = "dendrite.primitives";
+    });
+    systems = [ "dendrite.primitives" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "rtg-math" pkgs) ];
+  };
+  deoxybyte-gzip = {
+    pname = "deoxybyte-gzip";
+    version = "20140113-git";
+    asds = [ "deoxybyte-gzip" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/deoxybyte-gzip/2014-01-13/deoxybyte-gzip-20140113-git.tgz";
+      sha256 = "0ccci902nxqhdlskw3pghcjg0vgl10xlh16cb5b631j3n2ajfa16";
+      system = "deoxybyte-gzip";
+      asd = "deoxybyte-gzip";
+    });
+    systems = [ "deoxybyte-gzip" ];
+    lispLibs = [ (getAttr "deoxybyte-io" pkgs) (getAttr "deoxybyte-systems" pkgs) (getAttr "deoxybyte-unix" pkgs) ];
+  };
+  deoxybyte-gzip-test = {
+    pname = "deoxybyte-gzip-test";
+    version = "20140113-git";
+    asds = [ "deoxybyte-gzip-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/deoxybyte-gzip/2014-01-13/deoxybyte-gzip-20140113-git.tgz";
+      sha256 = "0ccci902nxqhdlskw3pghcjg0vgl10xlh16cb5b631j3n2ajfa16";
+      system = "deoxybyte-gzip-test";
+      asd = "deoxybyte-gzip-test";
+    });
+    systems = [ "deoxybyte-gzip-test" ];
+    lispLibs = [ (getAttr "deoxybyte-gzip" pkgs) (getAttr "lift" pkgs) ];
+  };
+  deoxybyte-io = {
+    pname = "deoxybyte-io";
+    version = "20140113-git";
+    asds = [ "deoxybyte-io" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/deoxybyte-io/2014-01-13/deoxybyte-io-20140113-git.tgz";
+      sha256 = "0pjx96g50yqhdk0l1y970hc22fc1bl8ppyklhp62l41b4fb7hbbv";
+      system = "deoxybyte-io";
+      asd = "deoxybyte-io";
+    });
+    systems = [ "deoxybyte-io" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "deoxybyte-systems" pkgs) (getAttr "deoxybyte-utilities" pkgs) (getAttr "getopt" pkgs) ];
+  };
+  deoxybyte-io-test = {
+    pname = "deoxybyte-io-test";
+    version = "20140113-git";
+    asds = [ "deoxybyte-io-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/deoxybyte-io/2014-01-13/deoxybyte-io-20140113-git.tgz";
+      sha256 = "0pjx96g50yqhdk0l1y970hc22fc1bl8ppyklhp62l41b4fb7hbbv";
+      system = "deoxybyte-io-test";
+      asd = "deoxybyte-io-test";
+    });
+    systems = [ "deoxybyte-io-test" ];
+    lispLibs = [ (getAttr "deoxybyte-io" pkgs) (getAttr "lift" pkgs) ];
+  };
+  deoxybyte-systems = {
+    pname = "deoxybyte-systems";
+    version = "20140113-git";
+    asds = [ "deoxybyte-systems" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/deoxybyte-systems/2014-01-13/deoxybyte-systems-20140113-git.tgz";
+      sha256 = "0sbzl0ngz85mvkghcy8y94hk34v5hvi41b111mb76f2jvdq9jjr8";
+      system = "deoxybyte-systems";
+      asd = "deoxybyte-systems";
+    });
+    systems = [ "deoxybyte-systems" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) ];
+  };
+  deoxybyte-unix = {
+    pname = "deoxybyte-unix";
+    version = "20140113-git";
+    asds = [ "deoxybyte-unix" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/deoxybyte-unix/2014-01-13/deoxybyte-unix-20140113-git.tgz";
+      sha256 = "016lgb8vcnn7qwhndan1d61wbb10xmsczqp7h2kkfnhlvkr484qf";
+      system = "deoxybyte-unix";
+      asd = "deoxybyte-unix";
+    });
+    systems = [ "deoxybyte-unix" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "deoxybyte-io" pkgs) (getAttr "deoxybyte-systems" pkgs) ];
+  };
+  deoxybyte-unix-test = {
+    pname = "deoxybyte-unix-test";
+    version = "20140113-git";
+    asds = [ "deoxybyte-unix-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/deoxybyte-unix/2014-01-13/deoxybyte-unix-20140113-git.tgz";
+      sha256 = "016lgb8vcnn7qwhndan1d61wbb10xmsczqp7h2kkfnhlvkr484qf";
+      system = "deoxybyte-unix-test";
+      asd = "deoxybyte-unix-test";
+    });
+    systems = [ "deoxybyte-unix-test" ];
+    lispLibs = [ (getAttr "deoxybyte-unix" pkgs) (getAttr "lift" pkgs) ];
+  };
+  deoxybyte-utilities = {
+    pname = "deoxybyte-utilities";
+    version = "20140113-git";
+    asds = [ "deoxybyte-utilities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/deoxybyte-utilities/2014-01-13/deoxybyte-utilities-20140113-git.tgz";
+      sha256 = "054mvn27d9xdsal87avyxzphgv6pk96a0c1icpkldqczlmzl9j0g";
+      system = "deoxybyte-utilities";
+      asd = "deoxybyte-utilities";
+    });
+    systems = [ "deoxybyte-utilities" ];
+    lispLibs = [ (getAttr "deoxybyte-systems" pkgs) ];
+  };
+  deoxybyte-utilities-test = {
+    pname = "deoxybyte-utilities-test";
+    version = "20140113-git";
+    asds = [ "deoxybyte-utilities-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/deoxybyte-utilities/2014-01-13/deoxybyte-utilities-20140113-git.tgz";
+      sha256 = "054mvn27d9xdsal87avyxzphgv6pk96a0c1icpkldqczlmzl9j0g";
+      system = "deoxybyte-utilities-test";
+      asd = "deoxybyte-utilities-test";
+    });
+    systems = [ "deoxybyte-utilities-test" ];
+    lispLibs = [ (getAttr "deoxybyte-utilities" pkgs) (getAttr "lift" pkgs) ];
+  };
+  deploy = {
+    pname = "deploy";
+    version = "20210630-git";
+    asds = [ "deploy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/deploy/2021-06-30/deploy-20210630-git.tgz";
+      sha256 = "11gnz7kxlz3ygdq150kz8xs3k7zjdwbg6zlmdicvb17ybh6vhrqq";
+      system = "deploy";
+      asd = "deploy";
+    });
+    systems = [ "deploy" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  deploy-test = {
+    pname = "deploy-test";
+    version = "20210630-git";
+    asds = [ "deploy-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/deploy/2021-06-30/deploy-20210630-git.tgz";
+      sha256 = "11gnz7kxlz3ygdq150kz8xs3k7zjdwbg6zlmdicvb17ybh6vhrqq";
+      system = "deploy-test";
+      asd = "deploy-test";
+    });
+    systems = [ "deploy-test" ];
+    lispLibs = [ (getAttr "cl-mpg123" pkgs) (getAttr "cl-out123" pkgs) (getAttr "deploy" pkgs) ];
+  };
+  depot = {
+    pname = "depot";
+    version = "20210807-git";
+    asds = [ "depot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/depot/2021-08-07/depot-20210807-git.tgz";
+      sha256 = "0r241p2hzc83pmf20lkshywqxnizmgp5kqcasvwpz9ndgggk9027";
+      system = "depot";
+      asd = "depot";
+    });
+    systems = [ "depot" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  depot-in-memory = {
+    pname = "depot-in-memory";
+    version = "20210807-git";
+    asds = [ "depot-in-memory" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/depot/2021-08-07/depot-20210807-git.tgz";
+      sha256 = "0r241p2hzc83pmf20lkshywqxnizmgp5kqcasvwpz9ndgggk9027";
+      system = "depot-in-memory";
+      asd = "depot-in-memory";
+    });
+    systems = [ "depot-in-memory" ];
+    lispLibs = [ (getAttr "atomics" pkgs) (getAttr "depot" pkgs) ];
+  };
+  depot-test = {
+    pname = "depot-test";
+    version = "20210807-git";
+    asds = [ "depot-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/depot/2021-08-07/depot-20210807-git.tgz";
+      sha256 = "0r241p2hzc83pmf20lkshywqxnizmgp5kqcasvwpz9ndgggk9027";
+      system = "depot-test";
+      asd = "depot-test";
+    });
+    systems = [ "depot-test" ];
+    lispLibs = [ (getAttr "depot" pkgs) (getAttr "depot-in-memory" pkgs) (getAttr "depot-zip" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  depot-zip = {
+    pname = "depot-zip";
+    version = "20210807-git";
+    asds = [ "depot-zip" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/depot/2021-08-07/depot-20210807-git.tgz";
+      sha256 = "0r241p2hzc83pmf20lkshywqxnizmgp5kqcasvwpz9ndgggk9027";
+      system = "depot-zip";
+      asd = "depot-zip";
+    });
+    systems = [ "depot-zip" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "depot" pkgs) (getAttr "zippy" pkgs) ];
+  };
+  descriptions = {
+    pname = "descriptions";
+    version = "20150302-git";
+    asds = [ "descriptions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/descriptions/2015-03-02/descriptions-20150302-git.tgz";
+      sha256 = "0h44gxilwmzk8cbxb81047cjndksvf8vw2s3pcy2diw9aqiacg7f";
+      system = "descriptions";
+      asd = "descriptions";
+    });
+    systems = [ "descriptions" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "closer-mop" pkgs) (getAttr "sheeple" pkgs) ];
+  };
+  descriptions-test = {
+    pname = "descriptions-test";
+    version = "20150302-git";
+    asds = [ "descriptions-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/descriptions/2015-03-02/descriptions-20150302-git.tgz";
+      sha256 = "0h44gxilwmzk8cbxb81047cjndksvf8vw2s3pcy2diw9aqiacg7f";
+      system = "descriptions-test";
+      asd = "descriptions-test";
+    });
+    systems = [ "descriptions-test" ];
+    lispLibs = [ (getAttr "descriptions" pkgs) (getAttr "descriptions_dot_serialization" pkgs) (getAttr "descriptions_dot_validation" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  descriptions_dot_serialization = {
+    pname = "descriptions.serialization";
+    version = "20150302-git";
+    asds = [ "descriptions.serialization" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/descriptions/2015-03-02/descriptions-20150302-git.tgz";
+      sha256 = "0h44gxilwmzk8cbxb81047cjndksvf8vw2s3pcy2diw9aqiacg7f";
+      system = "descriptions.serialization";
+      asd = "descriptions.serialization";
+    });
+    systems = [ "descriptions.serialization" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "descriptions" pkgs) ];
+  };
+  descriptions_dot_validation = {
+    pname = "descriptions.validation";
+    version = "20150302-git";
+    asds = [ "descriptions.validation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/descriptions/2015-03-02/descriptions-20150302-git.tgz";
+      sha256 = "0h44gxilwmzk8cbxb81047cjndksvf8vw2s3pcy2diw9aqiacg7f";
+      system = "descriptions.validation";
+      asd = "descriptions.validation";
+    });
+    systems = [ "descriptions.validation" ];
+    lispLibs = [ (getAttr "clavier" pkgs) (getAttr "descriptions" pkgs) ];
+  };
+  destructuring-bind-star = {
+    pname = "destructuring-bind-star";
+    version = "20200610-git";
+    asds = [ "destructuring-bind-star" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/destructuring-bind-star/2020-06-10/destructuring-bind-star-20200610-git.tgz";
+      sha256 = "1j1xnhvb6pm9q291aawbrcwp8bgbmiij9a53gifxhr4kp934ciz2";
+      system = "destructuring-bind-star";
+      asd = "destructuring-bind-star";
+    });
+    systems = [ "destructuring-bind-star" ];
+    lispLibs = [  ];
+  };
+  destructuring-bind-star_slash_test = {
+    pname = "destructuring-bind-star_test";
+    version = "20200610-git";
+    asds = [ "destructuring-bind-star" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/destructuring-bind-star/2020-06-10/destructuring-bind-star-20200610-git.tgz";
+      sha256 = "1j1xnhvb6pm9q291aawbrcwp8bgbmiij9a53gifxhr4kp934ciz2";
+      system = "destructuring-bind-star";
+      asd = "destructuring-bind-star";
+    });
+    systems = [ "destructuring-bind-star/test" ];
+    lispLibs = [ (getAttr "destructuring-bind-star" pkgs) ];
+  };
+  dexador = {
+    pname = "dexador";
+    version = "20211209-git";
+    asds = [ "dexador" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dexador/2021-12-09/dexador-20211209-git.tgz";
+      sha256 = "1bp3rl8q86rjfshdqkjrzsv97phai847wmx74m4kfq5xv9rwdmzh";
+      system = "dexador";
+      asd = "dexador";
+    });
+    systems = [ "dexador" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "chipz" pkgs) (getAttr "chunga" pkgs) (getAttr "cl_plus_ssl" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-cookie" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "fast-http" pkgs) (getAttr "fast-io" pkgs) (getAttr "quri" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "trivial-mimes" pkgs) (getAttr "uiop" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  dexador-test = {
+    pname = "dexador-test";
+    version = "20211209-git";
+    asds = [ "dexador-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dexador/2021-12-09/dexador-20211209-git.tgz";
+      sha256 = "1bp3rl8q86rjfshdqkjrzsv97phai847wmx74m4kfq5xv9rwdmzh";
+      system = "dexador-test";
+      asd = "dexador-test";
+    });
+    systems = [ "dexador-test" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-cookie" pkgs) (getAttr "clack-test" pkgs) (getAttr "dexador" pkgs) (getAttr "lack-request" pkgs) (getAttr "rove" pkgs) ];
+  };
+  dfio = {
+    pname = "dfio";
+    version = "20211020-git";
+    asds = [ "dfio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dfio/2021-10-20/dfio-20211020-git.tgz";
+      sha256 = "1wka8y4526x8yy3asiy15jxdzhsmyiq6ra6wbi8a4vcry3g2v9a0";
+      system = "dfio";
+      asd = "dfio";
+    });
+    systems = [ "dfio" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "data-frame" pkgs) (getAttr "dexador" pkgs) (getAttr "fare-csv" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  dfio_slash_json = {
+    pname = "dfio_json";
+    version = "20211020-git";
+    asds = [ "dfio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dfio/2021-10-20/dfio-20211020-git.tgz";
+      sha256 = "1wka8y4526x8yy3asiy15jxdzhsmyiq6ra6wbi8a4vcry3g2v9a0";
+      system = "dfio";
+      asd = "dfio";
+    });
+    systems = [ "dfio/json" ];
+    lispLibs = [ (getAttr "dfio" pkgs) (getAttr "yason" pkgs) ];
+  };
+  dfio_slash_tests = {
+    pname = "dfio_tests";
+    version = "20211020-git";
+    asds = [ "dfio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dfio/2021-10-20/dfio-20211020-git.tgz";
+      sha256 = "1wka8y4526x8yy3asiy15jxdzhsmyiq6ra6wbi8a4vcry3g2v9a0";
+      system = "dfio";
+      asd = "dfio";
+    });
+    systems = [ "dfio/tests" ];
+    lispLibs = [ (getAttr "clunit2" pkgs) (getAttr "dfio" pkgs) ];
+  };
+  diff = {
+    pname = "diff";
+    version = "20130813-git";
+    asds = [ "diff" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/diff/2013-08-13/diff-20130813-git.tgz";
+      sha256 = "1giafck8qfvb688kx5bn9g32rfc12jjywg8vdav36aqbd6lxf5z5";
+      system = "diff";
+      asd = "diff";
+    });
+    systems = [ "diff" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  diff-match-patch = {
+    pname = "diff-match-patch";
+    version = "20210531-git";
+    asds = [ "diff-match-patch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/diff-match-patch/2021-05-31/diff-match-patch-20210531-git.tgz";
+      sha256 = "0wxz2q9sd2v8fg521f7bzv6wi3za7saz2j2snsnw2p1kcsj6zqa4";
+      system = "diff-match-patch";
+      asd = "diff-match-patch";
+    });
+    systems = [ "diff-match-patch" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  diff-match-patch_slash_test = {
+    pname = "diff-match-patch_test";
+    version = "20210531-git";
+    asds = [ "diff-match-patch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/diff-match-patch/2021-05-31/diff-match-patch-20210531-git.tgz";
+      sha256 = "0wxz2q9sd2v8fg521f7bzv6wi3za7saz2j2snsnw2p1kcsj6zqa4";
+      system = "diff-match-patch";
+      asd = "diff-match-patch";
+    });
+    systems = [ "diff-match-patch/test" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "diff-match-patch" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  dirt = {
+    pname = "dirt";
+    version = "release-quicklisp-0d13ebc2-git";
+    asds = [ "dirt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dirt/2017-10-19/dirt-release-quicklisp-0d13ebc2-git.tgz";
+      sha256 = "1lqxfdzn9rh7rzsq97d4hp6fl4g9fs6s0n2pvf460d6ri6p40xna";
+      system = "dirt";
+      asd = "dirt";
+    });
+    systems = [ "dirt" ];
+    lispLibs = [ (getAttr "cepl" pkgs) (getAttr "cl-soil" pkgs) ];
+  };
+  dispatch = {
+    pname = "dispatch";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "dispatch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "dispatch";
+      asd = "dispatch";
+    });
+    systems = [ "dispatch" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "adjuvant" pkgs) ];
+  };
+  dispatch-test = {
+    pname = "dispatch-test";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "dispatch-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "dispatch-test";
+      asd = "dispatch-test";
+    });
+    systems = [ "dispatch-test" ];
+    lispLibs = [ (getAttr "dispatch" pkgs) (getAttr "scrutiny" pkgs) ];
+  };
+  disposable = {
+    pname = "disposable";
+    version = "20160208-git";
+    asds = [ "disposable" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/disposable/2016-02-08/disposable-20160208-git.tgz";
+      sha256 = "18synnlg4b8203rgww644dj7ghb4m1j33lb4zm64850vqy5b3pz7";
+      system = "disposable";
+      asd = "disposable";
+    });
+    systems = [ "disposable" ];
+    lispLibs = [  ];
+  };
+  dissect = {
+    pname = "dissect";
+    version = "20210531-git";
+    asds = [ "dissect" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dissect/2021-05-31/dissect-20210531-git.tgz";
+      sha256 = "0pyk6l91ss9l5gpd452f8vjk40bcwl9h5yd9lg20kd5gg46dd5gc";
+      system = "dissect";
+      asd = "dissect";
+    });
+    systems = [ "dissect" ];
+    lispLibs = [  ];
+  };
+  djula = {
+    pname = "djula";
+    version = "20211209-git";
+    asds = [ "djula" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/djula/2021-12-09/djula-20211209-git.tgz";
+      sha256 = "1fcha7hf5h9s7xmlkczm85m6qzalbhfic2s0ydp8rf2vxjz0fz46";
+      system = "djula";
+      asd = "djula";
+    });
+    systems = [ "djula" ];
+    lispLibs = [ (getAttr "access" pkgs) (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "babel" pkgs) (getAttr "cl-locale" pkgs) (getAttr "parser-combinators" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-slice" pkgs) (getAttr "closer-mop" pkgs) (getAttr "gettext" pkgs) (getAttr "iterate" pkgs) (getAttr "local-time" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-backtrace" pkgs) ];
+  };
+  djula-demo = {
+    pname = "djula-demo";
+    version = "20211209-git";
+    asds = [ "djula-demo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/djula/2021-12-09/djula-20211209-git.tgz";
+      sha256 = "1fcha7hf5h9s7xmlkczm85m6qzalbhfic2s0ydp8rf2vxjz0fz46";
+      system = "djula-demo";
+      asd = "djula-demo";
+    });
+    systems = [ "djula-demo" ];
+    lispLibs = [ (getAttr "djula" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  djula-test = {
+    pname = "djula-test";
+    version = "20211209-git";
+    asds = [ "djula-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/djula/2021-12-09/djula-20211209-git.tgz";
+      sha256 = "1fcha7hf5h9s7xmlkczm85m6qzalbhfic2s0ydp8rf2vxjz0fz46";
+      system = "djula-test";
+      asd = "djula-test";
+    });
+    systems = [ "djula-test" ];
+    lispLibs = [ (getAttr "djula" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  dlist = {
+    pname = "dlist";
+    version = "20121125-git";
+    asds = [ "dlist" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dlist/2012-11-25/dlist-20121125-git.tgz";
+      sha256 = "1ycgjmbxpj0bj95xg0x7m30yz8y73s7mnqs0dzam00rkf8g00h89";
+      system = "dlist";
+      asd = "dlist";
+    });
+    systems = [ "dlist" ];
+    lispLibs = [  ];
+  };
+  dlist-test = {
+    pname = "dlist-test";
+    version = "20121125-git";
+    asds = [ "dlist-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dlist/2012-11-25/dlist-20121125-git.tgz";
+      sha256 = "1ycgjmbxpj0bj95xg0x7m30yz8y73s7mnqs0dzam00rkf8g00h89";
+      system = "dlist-test";
+      asd = "dlist";
+    });
+    systems = [ "dlist-test" ];
+    lispLibs = [ (getAttr "dlist" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  dml = {
+    pname = "dml";
+    version = "20181018-git";
+    asds = [ "dml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dml/2018-10-18/dml-20181018-git.tgz";
+      sha256 = "0bah55srq9n743szcnsq2szhy69ckmwk3gx6xm3g3f6i0hj5gz1r";
+      system = "dml";
+      asd = "dml";
+    });
+    systems = [ "dml" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-cairo2" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "donuts" pkgs) ];
+  };
+  dns-client = {
+    pname = "dns-client";
+    version = "20211020-git";
+    asds = [ "dns-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dns-client/2021-10-20/dns-client-20211020-git.tgz";
+      sha256 = "1b6g2wvydwmv1k68favjyq4gfalfxfyl5i0hyh640wdaz2rfvi4n";
+      system = "dns-client";
+      asd = "dns-client";
+    });
+    systems = [ "dns-client" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  do-urlencode = {
+    pname = "do-urlencode";
+    version = "20181018-git";
+    asds = [ "do-urlencode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/do-urlencode/2018-10-18/do-urlencode-20181018-git.tgz";
+      sha256 = "0k2i3d4k9cpci235mwfm0c5a4yqfkijr716bjv7cdlpzx88lazm9";
+      system = "do-urlencode";
+      asd = "do-urlencode";
+    });
+    systems = [ "do-urlencode" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) ];
+  };
+  docbrowser = {
+    pname = "docbrowser";
+    version = "20200610-git";
+    asds = [ "docbrowser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/docbrowser/2020-06-10/docbrowser-20200610-git.tgz";
+      sha256 = "0k7gkyciqfbwdmvip2s8h4k21a63h45bj3qydq3jbvkhaq4gj9x1";
+      system = "docbrowser";
+      asd = "docbrowser";
+    });
+    systems = [ "docbrowser" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-json" pkgs) (getAttr "yacc" pkgs) (getAttr "closer-mop" pkgs) (getAttr "colorize" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "parse-number" pkgs) (getAttr "swank" pkgs) (getAttr "split-sequence" pkgs) (getAttr "string-case" pkgs) ];
+  };
+  docparser = {
+    pname = "docparser";
+    version = "20201220-git";
+    asds = [ "docparser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/docparser/2020-12-20/docparser-20201220-git.tgz";
+      sha256 = "1i0bc1i7r5awvaj3lbw9isfhvb6n1qz89rpz3dl49w8xzxgy4qwi";
+      system = "docparser";
+      asd = "docparser";
+    });
+    systems = [ "docparser" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "cffi" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  docparser-test = {
+    pname = "docparser-test";
+    version = "20201220-git";
+    asds = [ "docparser-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/docparser/2020-12-20/docparser-20201220-git.tgz";
+      sha256 = "1i0bc1i7r5awvaj3lbw9isfhvb6n1qz89rpz3dl49w8xzxgy4qwi";
+      system = "docparser-test";
+      asd = "docparser-test";
+    });
+    systems = [ "docparser-test" ];
+    lispLibs = [ (getAttr "docparser" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  docparser-test-system = {
+    pname = "docparser-test-system";
+    version = "20201220-git";
+    asds = [ "docparser-test-system" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/docparser/2020-12-20/docparser-20201220-git.tgz";
+      sha256 = "1i0bc1i7r5awvaj3lbw9isfhvb6n1qz89rpz3dl49w8xzxgy4qwi";
+      system = "docparser-test-system";
+      asd = "docparser-test-system";
+    });
+    systems = [ "docparser-test-system" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  docs-builder = {
+    pname = "docs-builder";
+    version = "20211209-git";
+    asds = [ "docs-builder" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/docs-builder/2021-12-09/docs-builder-20211209-git.tgz";
+      sha256 = "1dbgh12vlqv8i8j0lv3qidmxk4r2kbjkc1ggr1mbqln2isx62hx1";
+      system = "docs-builder";
+      asd = "docs-builder";
+    });
+    systems = [ "docs-builder" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "_40ants-doc" pkgs) (getAttr "docs-config" pkgs) (getAttr "log4cl" pkgs) ];
+  };
+  docs-config = {
+    pname = "docs-config";
+    version = "20211209-git";
+    asds = [ "docs-config" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/docs-builder/2021-12-09/docs-builder-20211209-git.tgz";
+      sha256 = "1dbgh12vlqv8i8j0lv3qidmxk4r2kbjkc1ggr1mbqln2isx62hx1";
+      system = "docs-config";
+      asd = "docs-config";
+    });
+    systems = [ "docs-config" ];
+    lispLibs = [  ];
+  };
+  documentation-template = {
+    pname = "documentation-template";
+    version = "0.4.4";
+    asds = [ "documentation-template" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/documentation-template/2014-12-17/documentation-template-0.4.4.tgz";
+      sha256 = "0pfcg38ws0syhg2l15nwslfyj175dq1dvjip64nx02knw26zj56y";
+      system = "documentation-template";
+      asd = "documentation-template";
+    });
+    systems = [ "documentation-template" ];
+    lispLibs = [ (getAttr "cl-who" pkgs) ];
+  };
+  documentation-utils = {
+    pname = "documentation-utils";
+    version = "20190710-git";
+    asds = [ "documentation-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/documentation-utils/2019-07-10/documentation-utils-20190710-git.tgz";
+      sha256 = "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq";
+      system = "documentation-utils";
+      asd = "documentation-utils";
+    });
+    systems = [ "documentation-utils" ];
+    lispLibs = [ (getAttr "trivial-indent" pkgs) ];
+  };
+  documentation-utils-extensions = {
+    pname = "documentation-utils-extensions";
+    version = "20180711-git";
+    asds = [ "documentation-utils-extensions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/documentation-utils-extensions/2018-07-11/documentation-utils-extensions-20180711-git.tgz";
+      sha256 = "0pn45c9rbxlnhn5nvhqz6kyv0nlirwxpg4j27niwdq80yxzsn51f";
+      system = "documentation-utils-extensions";
+      asd = "documentation-utils-extensions";
+    });
+    systems = [ "documentation-utils-extensions" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  docutils = {
+    pname = "docutils";
+    version = "20130128-git";
+    asds = [ "docutils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-docutils/2013-01-28/cl-docutils-20130128-git.tgz";
+      sha256 = "132bxlj0jlhiabi29mygmkcbbgyb5s1yz1xdfhm3pgrf9f8605gg";
+      system = "docutils";
+      asd = "docutils";
+    });
+    systems = [ "docutils" ];
+    lispLibs = [ (getAttr "data-format-validation" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  dom = {
+    pname = "dom";
+    version = "master-83d7b044-git";
+    asds = [ "dom" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "dom";
+      asd = "dom";
+    });
+    systems = [ "dom" ];
+    lispLibs = [ (getAttr "cl-who" pkgs) (getAttr "yadd" pkgs) ];
+  };
+  donuts = {
+    pname = "donuts";
+    version = "20120703-git";
+    asds = [ "donuts" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/donuts/2012-07-03/donuts-20120703-git.tgz";
+      sha256 = "1arjlwic0gk28ja1ql5k1r3v0pqzg42ds8vzq9266hq5lp06q3ii";
+      system = "donuts";
+      asd = "donuts";
+    });
+    systems = [ "donuts" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "trivial-shell" pkgs) ];
+  };
+  doplus = {
+    pname = "doplus";
+    version = "v1.1.0";
+    asds = [ "doplus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/doplus/2021-10-20/doplus-v1.1.0.tgz";
+      sha256 = "1yvda9psw9m08d3bzdb8a2drvhrnr07a0rhza5ibk30v1dkwfw7c";
+      system = "doplus";
+      asd = "doplus";
+    });
+    systems = [ "doplus" ];
+    lispLibs = [ (getAttr "parse-declarations-1_dot_0" pkgs) ];
+  };
+  doplus-fset = {
+    pname = "doplus-fset";
+    version = "v1.1.0";
+    asds = [ "doplus-fset" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/doplus/2021-10-20/doplus-v1.1.0.tgz";
+      sha256 = "1yvda9psw9m08d3bzdb8a2drvhrnr07a0rhza5ibk30v1dkwfw7c";
+      system = "doplus-fset";
+      asd = "doplus-fset";
+    });
+    systems = [ "doplus-fset" ];
+    lispLibs = [ (getAttr "doplus" pkgs) (getAttr "fset" pkgs) ];
+  };
+  dotenv = {
+    pname = "dotenv";
+    version = "20211209-git";
+    asds = [ "dotenv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dotenv/2021-12-09/dotenv-20211209-git.tgz";
+      sha256 = "0g19svpxy2169rym532gjwsg1zybinpc99mjsy6im4n6zdd57hzh";
+      system = "dotenv";
+      asd = "dotenv";
+    });
+    systems = [ "dotenv" ];
+    lispLibs = [ (getAttr "str" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  dotenv-test = {
+    pname = "dotenv-test";
+    version = "20211209-git";
+    asds = [ "dotenv-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dotenv/2021-12-09/dotenv-20211209-git.tgz";
+      sha256 = "0g19svpxy2169rym532gjwsg1zybinpc99mjsy6im4n6zdd57hzh";
+      system = "dotenv-test";
+      asd = "dotenv";
+    });
+    systems = [ "dotenv-test" ];
+    lispLibs = [ (getAttr "dotenv" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  drakma = {
+    pname = "drakma";
+    version = "v2.0.8";
+    asds = [ "drakma" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/drakma/2021-08-07/drakma-v2.0.8.tgz";
+      sha256 = "1wf2zivfvhsh6zvd6wcwfd67bm8s8a1p2fismszc8xb819dqk9yl";
+      system = "drakma";
+      asd = "drakma";
+    });
+    systems = [ "drakma" ];
+    lispLibs = [ (getAttr "chipz" pkgs) (getAttr "chunga" pkgs) (getAttr "cl_plus_ssl" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "puri" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  drakma-async = {
+    pname = "drakma-async";
+    version = "20210807-git";
+    asds = [ "drakma-async" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/drakma-async/2021-08-07/drakma-async-20210807-git.tgz";
+      sha256 = "19cd4xrcx3mz86sl0326x5lcrh9jizrwzi6p7pd856nrmx7ynf4w";
+      system = "drakma-async";
+      asd = "drakma-async";
+    });
+    systems = [ "drakma-async" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-async-ssl" pkgs) (getAttr "cl-async-future" pkgs) (getAttr "drakma" pkgs) (getAttr "fast-http" pkgs) (getAttr "fast-io" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  drakma-test = {
+    pname = "drakma-test";
+    version = "v2.0.8";
+    asds = [ "drakma-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/drakma/2021-08-07/drakma-v2.0.8.tgz";
+      sha256 = "1wf2zivfvhsh6zvd6wcwfd67bm8s8a1p2fismszc8xb819dqk9yl";
+      system = "drakma-test";
+      asd = "drakma-test";
+    });
+    systems = [ "drakma-test" ];
+    lispLibs = [ (getAttr "drakma" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  draw-cons-tree = {
+    pname = "draw-cons-tree";
+    version = "20131003-git";
+    asds = [ "draw-cons-tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/draw-cons-tree/2013-10-03/draw-cons-tree-20131003-git.tgz";
+      sha256 = "0w2khl1f51zcjvmq47h55ldfgjzi03gnmsdgd61ar3m11dp0k769";
+      system = "draw-cons-tree";
+      asd = "draw-cons-tree";
+    });
+    systems = [ "draw-cons-tree" ];
+    lispLibs = [  ];
+  };
+  drei-mcclim = {
+    pname = "drei-mcclim";
+    version = "20211230-git";
+    asds = [ "drei-mcclim" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "drei-mcclim";
+      asd = "drei-mcclim";
+    });
+    systems = [ "drei-mcclim" ];
+    lispLibs = [ (getAttr "flexichain" pkgs) (getAttr "automaton" pkgs) (getAttr "clim-core" pkgs) (getAttr "esa-mcclim" pkgs) (getAttr "mcclim-fonts" pkgs) (getAttr "persistent" pkgs) (getAttr "swank" pkgs) ];
+  };
+  drei-mcclim_slash_test = {
+    pname = "drei-mcclim_test";
+    version = "20211230-git";
+    asds = [ "drei-mcclim" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "drei-mcclim";
+      asd = "drei-mcclim";
+    });
+    systems = [ "drei-mcclim/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "automaton" pkgs) (getAttr "drei-mcclim" pkgs) ];
+  };
+  dso-lex = {
+    pname = "dso-lex";
+    version = "0.3.2";
+    asds = [ "dso-lex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dso-lex/2011-01-10/dso-lex-0.3.2.tgz";
+      sha256 = "09vx0dsfaj1c5ivfkx9zl9s2yxmqpdc2v41fhpq75anq9ffr6qyr";
+      system = "dso-lex";
+      asd = "dso-lex";
+    });
+    systems = [ "dso-lex" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "dso-util" pkgs) ];
+  };
+  dso-util = {
+    pname = "dso-util";
+    version = "0.1.2";
+    asds = [ "dso-util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dso-util/2011-01-10/dso-util-0.1.2.tgz";
+      sha256 = "12w1rxxk2hi6k7ng9kqf2yb1kff78bshdfl7bwv6fz8im8vq13b3";
+      system = "dso-util";
+      asd = "dso-util";
+    });
+    systems = [ "dso-util" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  dufy = {
+    pname = "dufy";
+    version = "20210531-git";
+    asds = [ "dufy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dufy/2021-05-31/dufy-20210531-git.tgz";
+      sha256 = "10qyrc5xkivwm6xmcfls1alad83ck7b2yyxbnhgc2vmnrk6j1012";
+      system = "dufy";
+      asd = "dufy";
+    });
+    systems = [ "dufy" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  dufy_slash_core = {
+    pname = "dufy_core";
+    version = "20210531-git";
+    asds = [ "dufy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dufy/2021-05-31/dufy-20210531-git.tgz";
+      sha256 = "10qyrc5xkivwm6xmcfls1alad83ck7b2yyxbnhgc2vmnrk6j1012";
+      system = "dufy";
+      asd = "dufy";
+    });
+    systems = [ "dufy/core" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  dufy_slash_examples = {
+    pname = "dufy_examples";
+    version = "20210531-git";
+    asds = [ "dufy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dufy/2021-05-31/dufy-20210531-git.tgz";
+      sha256 = "10qyrc5xkivwm6xmcfls1alad83ck7b2yyxbnhgc2vmnrk6j1012";
+      system = "dufy";
+      asd = "dufy";
+    });
+    systems = [ "dufy/examples" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "dufy" pkgs) (getAttr "iterate" pkgs) (getAttr "lispbuilder-sdl" pkgs) (getAttr "lparallel" pkgs) ];
+  };
+  dufy_slash_extra-data = {
+    pname = "dufy_extra-data";
+    version = "20210531-git";
+    asds = [ "dufy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dufy/2021-05-31/dufy-20210531-git.tgz";
+      sha256 = "10qyrc5xkivwm6xmcfls1alad83ck7b2yyxbnhgc2vmnrk6j1012";
+      system = "dufy";
+      asd = "dufy";
+    });
+    systems = [ "dufy/extra-data" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  dufy_slash_hsluv = {
+    pname = "dufy_hsluv";
+    version = "20210531-git";
+    asds = [ "dufy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dufy/2021-05-31/dufy-20210531-git.tgz";
+      sha256 = "10qyrc5xkivwm6xmcfls1alad83ck7b2yyxbnhgc2vmnrk6j1012";
+      system = "dufy";
+      asd = "dufy";
+    });
+    systems = [ "dufy/hsluv" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  dufy_slash_internal = {
+    pname = "dufy_internal";
+    version = "20210531-git";
+    asds = [ "dufy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dufy/2021-05-31/dufy-20210531-git.tgz";
+      sha256 = "10qyrc5xkivwm6xmcfls1alad83ck7b2yyxbnhgc2vmnrk6j1012";
+      system = "dufy";
+      asd = "dufy";
+    });
+    systems = [ "dufy/internal" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  dufy_slash_munsell = {
+    pname = "dufy_munsell";
+    version = "20210531-git";
+    asds = [ "dufy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dufy/2021-05-31/dufy-20210531-git.tgz";
+      sha256 = "10qyrc5xkivwm6xmcfls1alad83ck7b2yyxbnhgc2vmnrk6j1012";
+      system = "dufy";
+      asd = "dufy";
+    });
+    systems = [ "dufy/munsell" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  dufy_slash_test = {
+    pname = "dufy_test";
+    version = "20210531-git";
+    asds = [ "dufy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dufy/2021-05-31/dufy-20210531-git.tgz";
+      sha256 = "10qyrc5xkivwm6xmcfls1alad83ck7b2yyxbnhgc2vmnrk6j1012";
+      system = "dufy";
+      asd = "dufy";
+    });
+    systems = [ "dufy/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-csv" pkgs) (getAttr "dufy" pkgs) (getAttr "fiveam" pkgs) (getAttr "parse-float" pkgs) ];
+  };
+  duologue = {
+    pname = "duologue";
+    version = "20210531-git";
+    asds = [ "duologue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/duologue/2021-05-31/duologue-20210531-git.tgz";
+      sha256 = "1rz03an54wk2drnc7r28430cwmaiv8g5xwg05xpdp8pikfyrm4f3";
+      system = "duologue";
+      asd = "duologue";
+    });
+    systems = [ "duologue" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "chronicity" pkgs) (getAttr "cl-ansi-text" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-readline" pkgs) (getAttr "clavier" pkgs) (getAttr "drakma" pkgs) ];
+  };
+  dweet = {
+    pname = "dweet";
+    version = "20141217-git";
+    asds = [ "dweet" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dweet/2014-12-17/dweet-20141217-git.tgz";
+      sha256 = "1i3ab3igvdy6fhq3zlx1vaswhvm9dlp6fagzxbrqhqj6jsbhiwv7";
+      system = "dweet";
+      asd = "dweet";
+    });
+    systems = [ "dweet" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "drakma" pkgs) (getAttr "com_dot_gigamonkeys_dot_json" pkgs) ];
+  };
+  dynamic-classes = {
+    pname = "dynamic-classes";
+    version = "20130128-git";
+    asds = [ "dynamic-classes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dynamic-classes/2013-01-28/dynamic-classes-20130128-git.tgz";
+      sha256 = "0sawgz6xhsq156jcq5j9px0njs4y3sq1ypccl59zyvz31bxyaaxj";
+      system = "dynamic-classes";
+      asd = "dynamic-classes";
+    });
+    systems = [ "dynamic-classes" ];
+    lispLibs = [ (getAttr "metatilities-base" pkgs) ];
+  };
+  dynamic-classes-test = {
+    pname = "dynamic-classes-test";
+    version = "20130128-git";
+    asds = [ "dynamic-classes-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dynamic-classes/2013-01-28/dynamic-classes-20130128-git.tgz";
+      sha256 = "0sawgz6xhsq156jcq5j9px0njs4y3sq1ypccl59zyvz31bxyaaxj";
+      system = "dynamic-classes-test";
+      asd = "dynamic-classes-test";
+    });
+    systems = [ "dynamic-classes-test" ];
+    lispLibs = [ (getAttr "dynamic-classes" pkgs) (getAttr "lift" pkgs) ];
+  };
+  dynamic-collect = {
+    pname = "dynamic-collect";
+    version = "20190307-hg";
+    asds = [ "dynamic-collect" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dynamic-collect/2019-03-07/dynamic-collect-20190307-hg.tgz";
+      sha256 = "00h90k4zj1qv1da6q5qq6ma8ivykpzmz5mb869a6jay08jly83c4";
+      system = "dynamic-collect";
+      asd = "dynamic-collect";
+    });
+    systems = [ "dynamic-collect" ];
+    lispLibs = [  ];
+  };
+  dynamic-mixins = {
+    pname = "dynamic-mixins";
+    version = "20181018-git";
+    asds = [ "dynamic-mixins" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/dynamic-mixins/2018-10-18/dynamic-mixins-20181018-git.tgz";
+      sha256 = "00g3s509ysh2jp1qwsgb5bwl6qvhzcljwjz3z4mspbcak51484zj";
+      system = "dynamic-mixins";
+      asd = "dynamic-mixins";
+    });
+    systems = [ "dynamic-mixins" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  dynamic-wind = {
+    pname = "dynamic-wind";
+    version = "20211230-git";
+    asds = [ "dynamic-wind" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/contextl/2021-12-30/contextl-20211230-git.tgz";
+      sha256 = "0apgznz4g6lpmd86lq7w0xddfjgnirk83ig7p0j6i93xadhy9wh0";
+      system = "dynamic-wind";
+      asd = "dynamic-wind";
+    });
+    systems = [ "dynamic-wind" ];
+    lispLibs = [ (getAttr "lw-compat" pkgs) ];
+  };
+  eager-future = {
+    pname = "eager-future";
+    version = "20101006-darcs";
+    asds = [ "eager-future" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eager-future/2010-10-06/eager-future-20101006-darcs.tgz";
+      sha256 = "0l7khqfqfchk7j24fk7rwagwanjargxsrzr6g1h4ainqjajd91jl";
+      system = "eager-future";
+      asd = "eager-future";
+    });
+    systems = [ "eager-future" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  eager-future_dot_test = {
+    pname = "eager-future.test";
+    version = "20101006-darcs";
+    asds = [ "eager-future.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eager-future/2010-10-06/eager-future-20101006-darcs.tgz";
+      sha256 = "0l7khqfqfchk7j24fk7rwagwanjargxsrzr6g1h4ainqjajd91jl";
+      system = "eager-future.test";
+      asd = "eager-future";
+    });
+    systems = [ "eager-future.test" ];
+    lispLibs = [ (getAttr "eager-future" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  eager-future2 = {
+    pname = "eager-future2";
+    version = "20191130-git";
+    asds = [ "eager-future2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eager-future2/2019-11-30/eager-future2-20191130-git.tgz";
+      sha256 = "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld";
+      system = "eager-future2";
+      asd = "eager-future2";
+    });
+    systems = [ "eager-future2" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  easing = {
+    pname = "easing";
+    version = "20180228-git";
+    asds = [ "easing" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easing/2018-02-28/easing-20180228-git.tgz";
+      sha256 = "0750cs5kij8hi53960lzih57xrf92fj23i3hxzhqzcyla4wi4jv5";
+      system = "easing";
+      asd = "easing";
+    });
+    systems = [ "easing" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  easing-demo = {
+    pname = "easing-demo";
+    version = "20180228-git";
+    asds = [ "easing-demo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easing/2018-02-28/easing-20180228-git.tgz";
+      sha256 = "0750cs5kij8hi53960lzih57xrf92fj23i3hxzhqzcyla4wi4jv5";
+      system = "easing-demo";
+      asd = "easing-demo";
+    });
+    systems = [ "easing-demo" ];
+    lispLibs = [ (getAttr "easing" pkgs) (getAttr "sketch" pkgs) ];
+  };
+  easing-test = {
+    pname = "easing-test";
+    version = "20180228-git";
+    asds = [ "easing-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easing/2018-02-28/easing-20180228-git.tgz";
+      sha256 = "0750cs5kij8hi53960lzih57xrf92fj23i3hxzhqzcyla4wi4jv5";
+      system = "easing-test";
+      asd = "easing-test";
+    });
+    systems = [ "easing-test" ];
+    lispLibs = [ (getAttr "easing" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  easy-audio = {
+    pname = "easy-audio";
+    version = "20211209-git";
+    asds = [ "easy-audio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easy-audio/2021-12-09/easy-audio-20211209-git.tgz";
+      sha256 = "14gv0c6b03bf15ppypnbq2q6awghqs0hiwx1kncz8q265nvzxjai";
+      system = "easy-audio";
+      asd = "easy-audio";
+    });
+    systems = [ "easy-audio" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  easy-audio_slash_ape = {
+    pname = "easy-audio_ape";
+    version = "20211209-git";
+    asds = [ "easy-audio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easy-audio/2021-12-09/easy-audio-20211209-git.tgz";
+      sha256 = "14gv0c6b03bf15ppypnbq2q6awghqs0hiwx1kncz8q265nvzxjai";
+      system = "easy-audio";
+      asd = "easy-audio";
+    });
+    systems = [ "easy-audio/ape" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  easy-audio_slash_bitreader = {
+    pname = "easy-audio_bitreader";
+    version = "20211209-git";
+    asds = [ "easy-audio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easy-audio/2021-12-09/easy-audio-20211209-git.tgz";
+      sha256 = "14gv0c6b03bf15ppypnbq2q6awghqs0hiwx1kncz8q265nvzxjai";
+      system = "easy-audio";
+      asd = "easy-audio";
+    });
+    systems = [ "easy-audio/bitreader" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  easy-audio_slash_core = {
+    pname = "easy-audio_core";
+    version = "20211209-git";
+    asds = [ "easy-audio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easy-audio/2021-12-09/easy-audio-20211209-git.tgz";
+      sha256 = "14gv0c6b03bf15ppypnbq2q6awghqs0hiwx1kncz8q265nvzxjai";
+      system = "easy-audio";
+      asd = "easy-audio";
+    });
+    systems = [ "easy-audio/core" ];
+    lispLibs = [  ];
+  };
+  easy-audio_slash_examples = {
+    pname = "easy-audio_examples";
+    version = "20211209-git";
+    asds = [ "easy-audio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easy-audio/2021-12-09/easy-audio-20211209-git.tgz";
+      sha256 = "14gv0c6b03bf15ppypnbq2q6awghqs0hiwx1kncz8q265nvzxjai";
+      system = "easy-audio";
+      asd = "easy-audio";
+    });
+    systems = [ "easy-audio/examples" ];
+    lispLibs = [ (getAttr "easy-audio" pkgs) ];
+  };
+  easy-audio_slash_general-decoders = {
+    pname = "easy-audio_general-decoders";
+    version = "20211209-git";
+    asds = [ "easy-audio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easy-audio/2021-12-09/easy-audio-20211209-git.tgz";
+      sha256 = "14gv0c6b03bf15ppypnbq2q6awghqs0hiwx1kncz8q265nvzxjai";
+      system = "easy-audio";
+      asd = "easy-audio";
+    });
+    systems = [ "easy-audio/general-decoders" ];
+    lispLibs = [  ];
+  };
+  easy-audio_slash_ogg = {
+    pname = "easy-audio_ogg";
+    version = "20211209-git";
+    asds = [ "easy-audio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easy-audio/2021-12-09/easy-audio-20211209-git.tgz";
+      sha256 = "14gv0c6b03bf15ppypnbq2q6awghqs0hiwx1kncz8q265nvzxjai";
+      system = "easy-audio";
+      asd = "easy-audio";
+    });
+    systems = [ "easy-audio/ogg" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  easy-audio_slash_tests = {
+    pname = "easy-audio_tests";
+    version = "20211209-git";
+    asds = [ "easy-audio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easy-audio/2021-12-09/easy-audio-20211209-git.tgz";
+      sha256 = "14gv0c6b03bf15ppypnbq2q6awghqs0hiwx1kncz8q265nvzxjai";
+      system = "easy-audio";
+      asd = "easy-audio";
+    });
+    systems = [ "easy-audio/tests" ];
+    lispLibs = [ (getAttr "easy-audio" pkgs) (getAttr "fiveam" pkgs) (getAttr "md5" pkgs) ];
+  };
+  easy-audio_slash_utils = {
+    pname = "easy-audio_utils";
+    version = "20211209-git";
+    asds = [ "easy-audio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easy-audio/2021-12-09/easy-audio-20211209-git.tgz";
+      sha256 = "14gv0c6b03bf15ppypnbq2q6awghqs0hiwx1kncz8q265nvzxjai";
+      system = "easy-audio";
+      asd = "easy-audio";
+    });
+    systems = [ "easy-audio/utils" ];
+    lispLibs = [  ];
+  };
+  easy-audio_slash_wv = {
+    pname = "easy-audio_wv";
+    version = "20211209-git";
+    asds = [ "easy-audio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easy-audio/2021-12-09/easy-audio-20211209-git.tgz";
+      sha256 = "14gv0c6b03bf15ppypnbq2q6awghqs0hiwx1kncz8q265nvzxjai";
+      system = "easy-audio";
+      asd = "easy-audio";
+    });
+    systems = [ "easy-audio/wv" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  easy-bind = {
+    pname = "easy-bind";
+    version = "20190202-git";
+    asds = [ "easy-bind" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easy-bind/2019-02-02/easy-bind-20190202-git.tgz";
+      sha256 = "0z7mqm7vnk8jcsmawlyhzg81v2bmgdbxmx3jkf2m74170q78jhkl";
+      system = "easy-bind";
+      asd = "easy-bind";
+    });
+    systems = [ "easy-bind" ];
+    lispLibs = [  ];
+  };
+  easy-routes = {
+    pname = "easy-routes";
+    version = "20211020-git";
+    asds = [ "easy-routes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easy-routes/2021-10-20/easy-routes-20211020-git.tgz";
+      sha256 = "0y7mfr3j7dcvin27336dsqv4y2y66bp2nwy6ppmsl6zildl6gng0";
+      system = "easy-routes";
+      asd = "easy-routes";
+    });
+    systems = [ "easy-routes" ];
+    lispLibs = [ (getAttr "routes" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  easy-routes_plus_djula = {
+    pname = "easy-routes+djula";
+    version = "20211020-git";
+    asds = [ "easy-routes+djula" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easy-routes/2021-10-20/easy-routes-20211020-git.tgz";
+      sha256 = "0y7mfr3j7dcvin27336dsqv4y2y66bp2nwy6ppmsl6zildl6gng0";
+      system = "easy-routes+djula";
+      asd = "easy-routes+djula";
+    });
+    systems = [ "easy-routes+djula" ];
+    lispLibs = [ (getAttr "djula" pkgs) (getAttr "easy-routes" pkgs) ];
+  };
+  easy-routes_plus_errors = {
+    pname = "easy-routes+errors";
+    version = "20211020-git";
+    asds = [ "easy-routes+errors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/easy-routes/2021-10-20/easy-routes-20211020-git.tgz";
+      sha256 = "0y7mfr3j7dcvin27336dsqv4y2y66bp2nwy6ppmsl6zildl6gng0";
+      system = "easy-routes+errors";
+      asd = "easy-routes+errors";
+    });
+    systems = [ "easy-routes+errors" ];
+    lispLibs = [ (getAttr "easy-routes" pkgs) (getAttr "hunchentoot-errors" pkgs) ];
+  };
+  eazy-documentation = {
+    pname = "eazy-documentation";
+    version = "20210411-git";
+    asds = [ "eazy-documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eazy-documentation/2021-04-11/eazy-documentation-20210411-git.tgz";
+      sha256 = "0wqd6jih98ab8qpajmcmbj0cwa3g6jjbr7v0wp5gqn1wllwn70ix";
+      system = "eazy-documentation";
+      asd = "eazy-documentation";
+    });
+    systems = [ "eazy-documentation" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-who" pkgs) (getAttr "common-doc" pkgs) (getAttr "common-doc-split-paragraphs" pkgs) (getAttr "common-html" pkgs) (getAttr "iterate" pkgs) (getAttr "trivia" pkgs) (getAttr "trivia_dot_ppcre" pkgs) ];
+  };
+  eazy-gnuplot = {
+    pname = "eazy-gnuplot";
+    version = "20180831-git";
+    asds = [ "eazy-gnuplot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eazy-gnuplot/2018-08-31/eazy-gnuplot-20180831-git.tgz";
+      sha256 = "1xfg4xdw36bm25xm28rbahzj78ygnidzcdnn4iliy32z880zwfjq";
+      system = "eazy-gnuplot";
+      asd = "eazy-gnuplot";
+    });
+    systems = [ "eazy-gnuplot" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) (getAttr "trivia" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  eazy-gnuplot_dot_test = {
+    pname = "eazy-gnuplot.test";
+    version = "20180831-git";
+    asds = [ "eazy-gnuplot.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eazy-gnuplot/2018-08-31/eazy-gnuplot-20180831-git.tgz";
+      sha256 = "1xfg4xdw36bm25xm28rbahzj78ygnidzcdnn4iliy32z880zwfjq";
+      system = "eazy-gnuplot.test";
+      asd = "eazy-gnuplot.test";
+    });
+    systems = [ "eazy-gnuplot.test" ];
+    lispLibs = [ (getAttr "eazy-gnuplot" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  eazy-process = {
+    pname = "eazy-process";
+    version = "20200925-git";
+    asds = [ "eazy-process" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eazy-process/2020-09-25/eazy-process-20200925-git.tgz";
+      sha256 = "1fvc613jg3b0kra664lbyyzvig7sm1xzaawack28c5m61yiwakiw";
+      system = "eazy-process";
+      asd = "eazy-process";
+    });
+    systems = [ "eazy-process" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-rlimit" pkgs) (getAttr "iolib" pkgs) (getAttr "iterate" pkgs) (getAttr "trivia" pkgs) (getAttr "trivia_dot_ppcre" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  eazy-process_dot_test = {
+    pname = "eazy-process.test";
+    version = "20200925-git";
+    asds = [ "eazy-process.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eazy-process/2020-09-25/eazy-process-20200925-git.tgz";
+      sha256 = "1fvc613jg3b0kra664lbyyzvig7sm1xzaawack28c5m61yiwakiw";
+      system = "eazy-process.test";
+      asd = "eazy-process.test";
+    });
+    systems = [ "eazy-process.test" ];
+    lispLibs = [ (getAttr "eazy-process" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  eazy-project = {
+    pname = "eazy-project";
+    version = "20190710-git";
+    asds = [ "eazy-project" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eazy-project/2019-07-10/eazy-project-20190710-git.tgz";
+      sha256 = "1dfzvsvzdwcfvynvik9kwhgil9m08jx8r0vwqj7l1m2d9zm4db3b";
+      system = "eazy-project";
+      asd = "eazy-project";
+    });
+    systems = [ "eazy-project" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-emb" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-syntax" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "introspect-environment" pkgs) (getAttr "iterate" pkgs) (getAttr "lisp-namespace" pkgs) (getAttr "local-time" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  eazy-project_dot_autoload = {
+    pname = "eazy-project.autoload";
+    version = "20190710-git";
+    asds = [ "eazy-project.autoload" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eazy-project/2019-07-10/eazy-project-20190710-git.tgz";
+      sha256 = "1dfzvsvzdwcfvynvik9kwhgil9m08jx8r0vwqj7l1m2d9zm4db3b";
+      system = "eazy-project.autoload";
+      asd = "eazy-project.autoload";
+    });
+    systems = [ "eazy-project.autoload" ];
+    lispLibs = [ (getAttr "eazy-project" pkgs) ];
+  };
+  eazy-project_dot_test = {
+    pname = "eazy-project.test";
+    version = "20190710-git";
+    asds = [ "eazy-project.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eazy-project/2019-07-10/eazy-project-20190710-git.tgz";
+      sha256 = "1dfzvsvzdwcfvynvik9kwhgil9m08jx8r0vwqj7l1m2d9zm4db3b";
+      system = "eazy-project.test";
+      asd = "eazy-project.test";
+    });
+    systems = [ "eazy-project.test" ];
+    lispLibs = [ (getAttr "eazy-project" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  ec2 = {
+    pname = "ec2";
+    version = "20120909-git";
+    asds = [ "ec2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ec2/2012-09-09/ec2-20120909-git.tgz";
+      sha256 = "1z9yv1b8ckyvla80rha7amfhhy57kylkscf504rpfx8994fnfbsy";
+      system = "ec2";
+      asd = "ec2";
+    });
+    systems = [ "ec2" ];
+    lispLibs = [ (getAttr "drakma" pkgs) (getAttr "ironclad" pkgs) (getAttr "s-base64" pkgs) (getAttr "s-xml" pkgs) ];
+  };
+  ec2-price-finder = {
+    pname = "ec2-price-finder";
+    version = "20210531-git";
+    asds = [ "ec2-price-finder" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ec2-price-finder/2021-05-31/ec2-price-finder-20210531-git.tgz";
+      sha256 = "1511py79fj0xpzzjlfk6fchp6lmikvhy42s3p6s85fbq4dyj4mpj";
+      system = "ec2-price-finder";
+      asd = "ec2-price-finder";
+    });
+    systems = [ "ec2-price-finder" ];
+    lispLibs = [ (getAttr "easy-routes" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "lass" pkgs) (getAttr "local-time" pkgs) (getAttr "parse-float" pkgs) (getAttr "read-csv" pkgs) (getAttr "spinneret" pkgs) (getAttr "wu-decimal" pkgs) ];
+  };
+  ecclesia = {
+    pname = "ecclesia";
+    version = "20201220-git";
+    asds = [ "ecclesia" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ecclesia/2020-12-20/ecclesia-20201220-git.tgz";
+      sha256 = "0xxs2hfvqprici6z57wx2z6rjc1f0f5mg0xxls7b8nglzx4saslm";
+      system = "ecclesia";
+      asd = "ecclesia";
+    });
+    systems = [ "ecclesia" ];
+    lispLibs = [ (getAttr "acclimation" pkgs) ];
+  };
+  eclecticse_dot_iso-8601-date = {
+    pname = "eclecticse.iso-8601-date";
+    version = "20190107-git";
+    asds = [ "eclecticse.iso-8601-date" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iso-8601-date/2019-01-07/iso-8601-date-20190107-git.tgz";
+      sha256 = "12d6jyznglm13sb04xh5l0d0bwi4y449wdyifvfy7r03qy8wypdx";
+      system = "eclecticse.iso-8601-date";
+      asd = "eclecticse.iso-8601-date";
+    });
+    systems = [ "eclecticse.iso-8601-date" ];
+    lispLibs = [ (getAttr "local-time" pkgs) ];
+  };
+  eclecticse_dot_omer = {
+    pname = "eclecticse.omer";
+    version = "20210411-git";
+    asds = [ "eclecticse.omer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/omer-count/2021-04-11/omer-count-20210411-git.tgz";
+      sha256 = "1rvg7rfalvi28x3jkknfdyf4y7zjrqdx073iqi2gin4amin6n7jv";
+      system = "eclecticse.omer";
+      asd = "eclecticse.omer";
+    });
+    systems = [ "eclecticse.omer" ];
+    lispLibs = [ (getAttr "local-time" pkgs) ];
+  };
+  eclecticse_dot_slk-581 = {
+    pname = "eclecticse.slk-581";
+    version = "20190107-git";
+    asds = [ "eclecticse.slk-581" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/slk-581/2019-01-07/slk-581-20190107-git.tgz";
+      sha256 = "1pxyr1gi4ppnfld399wiypqqkgm3bqd9kpizpwgll2fd10yh2qmf";
+      system = "eclecticse.slk-581";
+      asd = "eclecticse.slk-581";
+    });
+    systems = [ "eclecticse.slk-581" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  eclector = {
+    pname = "eclector";
+    version = "20211020-git";
+    asds = [ "eclector" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eclector/2021-10-20/eclector-20211020-git.tgz";
+      sha256 = "0b6hacxa7aac68vbmrbyla52yxrz9q9n7ry0h7jdw28jc7v4ij13";
+      system = "eclector";
+      asd = "eclector";
+    });
+    systems = [ "eclector" ];
+    lispLibs = [ (getAttr "acclimation" pkgs) (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  eclector-concrete-syntax-tree = {
+    pname = "eclector-concrete-syntax-tree";
+    version = "20211020-git";
+    asds = [ "eclector-concrete-syntax-tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eclector/2021-10-20/eclector-20211020-git.tgz";
+      sha256 = "0b6hacxa7aac68vbmrbyla52yxrz9q9n7ry0h7jdw28jc7v4ij13";
+      system = "eclector-concrete-syntax-tree";
+      asd = "eclector-concrete-syntax-tree";
+    });
+    systems = [ "eclector-concrete-syntax-tree" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "concrete-syntax-tree" pkgs) (getAttr "eclector" pkgs) ];
+  };
+  eclector-concrete-syntax-tree_slash_test = {
+    pname = "eclector-concrete-syntax-tree_test";
+    version = "20211020-git";
+    asds = [ "eclector-concrete-syntax-tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eclector/2021-10-20/eclector-20211020-git.tgz";
+      sha256 = "0b6hacxa7aac68vbmrbyla52yxrz9q9n7ry0h7jdw28jc7v4ij13";
+      system = "eclector-concrete-syntax-tree";
+      asd = "eclector-concrete-syntax-tree";
+    });
+    systems = [ "eclector-concrete-syntax-tree/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "eclector" pkgs) (getAttr "eclector-concrete-syntax-tree" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  eclector_slash_test = {
+    pname = "eclector_test";
+    version = "20211020-git";
+    asds = [ "eclector" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eclector/2021-10-20/eclector-20211020-git.tgz";
+      sha256 = "0b6hacxa7aac68vbmrbyla52yxrz9q9n7ry0h7jdw28jc7v4ij13";
+      system = "eclector";
+      asd = "eclector";
+    });
+    systems = [ "eclector/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "eclector" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  eco = {
+    pname = "eco";
+    version = "20190813-git";
+    asds = [ "eco" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eco/2019-08-13/eco-20190813-git.tgz";
+      sha256 = "13fsv9v7fhf05p7j1hrfy2sg813wmgsp9aw4ng4cpzdss24zvf7q";
+      system = "eco";
+      asd = "eco";
+    });
+    systems = [ "eco" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-who" pkgs) (getAttr "esrap" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  eco-test = {
+    pname = "eco-test";
+    version = "20190813-git";
+    asds = [ "eco-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eco/2019-08-13/eco-20190813-git.tgz";
+      sha256 = "13fsv9v7fhf05p7j1hrfy2sg813wmgsp9aw4ng4cpzdss24zvf7q";
+      system = "eco-test";
+      asd = "eco-test";
+    });
+    systems = [ "eco-test" ];
+    lispLibs = [ (getAttr "eco" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  edit-distance = {
+    pname = "edit-distance";
+    version = "20191130-git";
+    asds = [ "edit-distance" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-editdistance/2019-11-30/cl-editdistance-20191130-git.tgz";
+      sha256 = "0k16phlhnv62jahy0fkn1zqz8dwvps334vy255vfgd4gybgaa9v1";
+      system = "edit-distance";
+      asd = "edit-distance";
+    });
+    systems = [ "edit-distance" ];
+    lispLibs = [  ];
+  };
+  edit-distance-test = {
+    pname = "edit-distance-test";
+    version = "20191130-git";
+    asds = [ "edit-distance-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-editdistance/2019-11-30/cl-editdistance-20191130-git.tgz";
+      sha256 = "0k16phlhnv62jahy0fkn1zqz8dwvps334vy255vfgd4gybgaa9v1";
+      system = "edit-distance-test";
+      asd = "edit-distance-test";
+    });
+    systems = [ "edit-distance-test" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-coveralls" pkgs) (getAttr "edit-distance" pkgs) (getAttr "lisp-unit" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  elb-log = {
+    pname = "elb-log";
+    version = "20150923-git";
+    asds = [ "elb-log" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/elb-log/2015-09-23/elb-log-20150923-git.tgz";
+      sha256 = "1d0vkmkjr6d96j7cggw5frj50jf14brbm63is41zwfkfl9r4i6bp";
+      system = "elb-log";
+      asd = "elb-log";
+    });
+    systems = [ "elb-log" ];
+    lispLibs = [ (getAttr "cl-annot-prove" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-syntax" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "cl-syntax-interpol" pkgs) (getAttr "local-time" pkgs) (getAttr "zs3" pkgs) ];
+  };
+  elb-log-test = {
+    pname = "elb-log-test";
+    version = "20150923-git";
+    asds = [ "elb-log-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/elb-log/2015-09-23/elb-log-20150923-git.tgz";
+      sha256 = "1d0vkmkjr6d96j7cggw5frj50jf14brbm63is41zwfkfl9r4i6bp";
+      system = "elb-log-test";
+      asd = "elb-log-test";
+    });
+    systems = [ "elb-log-test" ];
+    lispLibs = [ (getAttr "elb-log" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  electron-tools = {
+    pname = "electron-tools";
+    version = "20160421-git";
+    asds = [ "electron-tools" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/electron-tools/2016-04-21/electron-tools-20160421-git.tgz";
+      sha256 = "0fr16gsbn87vyyjpn2gndhpjg7yzsn4j7skyn0py252cvdk5ygf7";
+      system = "electron-tools";
+      asd = "electron-tools";
+    });
+    systems = [ "electron-tools" ];
+    lispLibs = [ (getAttr "osicat" pkgs) (getAttr "trivial-download" pkgs) (getAttr "trivial-exe" pkgs) (getAttr "trivial-extract" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  electron-tools-test = {
+    pname = "electron-tools-test";
+    version = "20160421-git";
+    asds = [ "electron-tools-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/electron-tools/2016-04-21/electron-tools-20160421-git.tgz";
+      sha256 = "0fr16gsbn87vyyjpn2gndhpjg7yzsn4j7skyn0py252cvdk5ygf7";
+      system = "electron-tools-test";
+      asd = "electron-tools-test";
+    });
+    systems = [ "electron-tools-test" ];
+    lispLibs = [ (getAttr "electron-tools" pkgs) (getAttr "fiveam" pkgs) (getAttr "trivial-extract" pkgs) ];
+  };
+  elf = {
+    pname = "elf";
+    version = "20190710-git";
+    asds = [ "elf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/elf/2019-07-10/elf-20190710-git.tgz";
+      sha256 = "0rd1qcczr2gx76fmxia0kix0p5b49myc9fndibkvwc94cxg085gk";
+      system = "elf";
+      asd = "elf";
+    });
+    systems = [ "elf" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "com_dot_gigamonkeys_dot_binary-data" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-shell" pkgs) ];
+  };
+  elf_slash_test = {
+    pname = "elf_test";
+    version = "20190710-git";
+    asds = [ "elf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/elf/2019-07-10/elf-20190710-git.tgz";
+      sha256 = "0rd1qcczr2gx76fmxia0kix0p5b49myc9fndibkvwc94cxg085gk";
+      system = "elf";
+      asd = "elf";
+    });
+    systems = [ "elf/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "elf" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "stefil" pkgs) (getAttr "trivial-timeout" pkgs) ];
+  };
+  enchant = {
+    pname = "enchant";
+    version = "20211209-git";
+    asds = [ "enchant" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-enchant/2021-12-09/cl-enchant-20211209-git.tgz";
+      sha256 = "1d0b8743g4y75jl69rq75m8csa5af2fwlxkfvs2p06rsx9dljh79";
+      system = "enchant";
+      asd = "enchant";
+    });
+    systems = [ "enchant" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  enchant-autoload = {
+    pname = "enchant-autoload";
+    version = "20211209-git";
+    asds = [ "enchant-autoload" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-enchant/2021-12-09/cl-enchant-20211209-git.tgz";
+      sha256 = "1d0b8743g4y75jl69rq75m8csa5af2fwlxkfvs2p06rsx9dljh79";
+      system = "enchant-autoload";
+      asd = "enchant-autoload";
+    });
+    systems = [ "enchant-autoload" ];
+    lispLibs = [ (getAttr "enchant" pkgs) ];
+  };
+  enhanced-boolean = {
+    pname = "enhanced-boolean";
+    version = "1.0";
+    asds = [ "enhanced-boolean" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/enhanced-boolean/2020-03-25/enhanced-boolean_1.0.tgz";
+      sha256 = "17l18lz07fk2kg835vs6c3189d230n1rm9vghk3ls4i356gbq0gy";
+      system = "enhanced-boolean";
+      asd = "enhanced-boolean";
+    });
+    systems = [ "enhanced-boolean" ];
+    lispLibs = [  ];
+  };
+  enhanced-boolean_tests = {
+    pname = "enhanced-boolean_tests";
+    version = "1.0";
+    asds = [ "enhanced-boolean_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/enhanced-boolean/2020-03-25/enhanced-boolean_1.0.tgz";
+      sha256 = "17l18lz07fk2kg835vs6c3189d230n1rm9vghk3ls4i356gbq0gy";
+      system = "enhanced-boolean_tests";
+      asd = "enhanced-boolean_tests";
+    });
+    systems = [ "enhanced-boolean_tests" ];
+    lispLibs = [ (getAttr "enhanced-boolean" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  enhanced-defclass = {
+    pname = "enhanced-defclass";
+    version = "2.1";
+    asds = [ "enhanced-defclass" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/enhanced-defclass/2021-04-11/enhanced-defclass_2.1.tgz";
+      sha256 = "142s5c3pl3x7xdawzsj8pdxiqp4wh6fcajf4la5msvnxgf66d8wg";
+      system = "enhanced-defclass";
+      asd = "enhanced-defclass";
+    });
+    systems = [ "enhanced-defclass" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "compatible-metaclasses" pkgs) (getAttr "enhanced-eval-when" pkgs) (getAttr "enhanced-find-class" pkgs) (getAttr "evaled-when" pkgs) (getAttr "shared-preferences" pkgs) (getAttr "simple-guess" pkgs) ];
+  };
+  enhanced-defclass_tests = {
+    pname = "enhanced-defclass_tests";
+    version = "2.1";
+    asds = [ "enhanced-defclass_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/enhanced-defclass/2021-04-11/enhanced-defclass_2.1.tgz";
+      sha256 = "142s5c3pl3x7xdawzsj8pdxiqp4wh6fcajf4la5msvnxgf66d8wg";
+      system = "enhanced-defclass_tests";
+      asd = "enhanced-defclass_tests";
+    });
+    systems = [ "enhanced-defclass_tests" ];
+    lispLibs = [ (getAttr "enhanced-defclass" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  enhanced-eval-when = {
+    pname = "enhanced-eval-when";
+    version = "1.0";
+    asds = [ "enhanced-eval-when" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/enhanced-eval-when/2012-11-25/enhanced-eval-when-1.0.tgz";
+      sha256 = "1ws1v297plcbqmcvckg7vqzzgnrwfyx5kd7281r1wrhc26998rx2";
+      system = "enhanced-eval-when";
+      asd = "enhanced-eval-when";
+    });
+    systems = [ "enhanced-eval-when" ];
+    lispLibs = [  ];
+  };
+  enhanced-find-class = {
+    pname = "enhanced-find-class";
+    version = "1.0";
+    asds = [ "enhanced-find-class" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/enhanced-find-class/2020-09-25/enhanced-find-class_1.0.tgz";
+      sha256 = "1pf1mxb238zrmvgm9s0456s1x0m317ls23ls1d987riw69y3w9vx";
+      system = "enhanced-find-class";
+      asd = "enhanced-find-class";
+    });
+    systems = [ "enhanced-find-class" ];
+    lispLibs = [  ];
+  };
+  enhanced-find-class_tests = {
+    pname = "enhanced-find-class_tests";
+    version = "1.0";
+    asds = [ "enhanced-find-class_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/enhanced-find-class/2020-09-25/enhanced-find-class_1.0.tgz";
+      sha256 = "1pf1mxb238zrmvgm9s0456s1x0m317ls23ls1d987riw69y3w9vx";
+      system = "enhanced-find-class_tests";
+      asd = "enhanced-find-class_tests";
+    });
+    systems = [ "enhanced-find-class_tests" ];
+    lispLibs = [ (getAttr "enhanced-find-class" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  enhanced-multiple-value-bind = {
+    pname = "enhanced-multiple-value-bind";
+    version = "1.0.1";
+    asds = [ "enhanced-multiple-value-bind" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/enhanced-multiple-value-bind/2012-11-25/enhanced-multiple-value-bind-1.0.1.tgz";
+      sha256 = "1hv0g60klqzgl8vdppksrr1z5wayijx5jnmxzk5ivj884d8l2i5n";
+      system = "enhanced-multiple-value-bind";
+      asd = "enhanced-multiple-value-bind";
+    });
+    systems = [ "enhanced-multiple-value-bind" ];
+    lispLibs = [  ];
+  };
+  enhanced-typep = {
+    pname = "enhanced-typep";
+    version = "1.0";
+    asds = [ "enhanced-typep" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/enhanced-typep/2020-10-16/enhanced-typep_1.0.tgz";
+      sha256 = "0b22gddkbxnhmi71wa2h51495737lrvsqxnri7g1qdsl1hraml21";
+      system = "enhanced-typep";
+      asd = "enhanced-typep";
+    });
+    systems = [ "enhanced-typep" ];
+    lispLibs = [  ];
+  };
+  enhanced-typep_tests = {
+    pname = "enhanced-typep_tests";
+    version = "1.0";
+    asds = [ "enhanced-typep_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/enhanced-typep/2020-10-16/enhanced-typep_1.0.tgz";
+      sha256 = "0b22gddkbxnhmi71wa2h51495737lrvsqxnri7g1qdsl1hraml21";
+      system = "enhanced-typep_tests";
+      asd = "enhanced-typep_tests";
+    });
+    systems = [ "enhanced-typep_tests" ];
+    lispLibs = [ (getAttr "enhanced-boolean" pkgs) (getAttr "enhanced-typep" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  enumerations = {
+    pname = "enumerations";
+    version = "20211230-git";
+    asds = [ "enumerations" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-enumeration/2021-12-30/cl-enumeration-20211230-git.tgz";
+      sha256 = "04y7xizlhhsw5ajhcslkk8rzp1knvmfybf1x5x88njsssw984d73";
+      system = "enumerations";
+      asd = "enumerations";
+    });
+    systems = [ "enumerations" ];
+    lispLibs = [  ];
+  };
+  envy = {
+    pname = "envy";
+    version = "20190813-git";
+    asds = [ "envy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/envy/2019-08-13/envy-20190813-git.tgz";
+      sha256 = "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg";
+      system = "envy";
+      asd = "envy";
+    });
+    systems = [ "envy" ];
+    lispLibs = [  ];
+  };
+  envy-test = {
+    pname = "envy-test";
+    version = "20190813-git";
+    asds = [ "envy-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/envy/2019-08-13/envy-20190813-git.tgz";
+      sha256 = "17iwrfxcdinjbb2h6l09qf40s7xkbhrpmnljlwpjy8l8rll8h3vg";
+      system = "envy-test";
+      asd = "envy-test";
+    });
+    systems = [ "envy-test" ];
+    lispLibs = [ (getAttr "envy" pkgs) (getAttr "osicat" pkgs) (getAttr "cl-test-more" pkgs) ];
+  };
+  eos = {
+    pname = "eos";
+    version = "20200925-git";
+    asds = [ "eos" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eos/2020-09-25/eos-20200925-git.tgz";
+      sha256 = "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk";
+      system = "eos";
+      asd = "eos";
+    });
+    systems = [ "eos" ];
+    lispLibs = [  ];
+  };
+  eos-tests = {
+    pname = "eos-tests";
+    version = "20200925-git";
+    asds = [ "eos-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eos/2020-09-25/eos-20200925-git.tgz";
+      sha256 = "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk";
+      system = "eos-tests";
+      asd = "eos";
+    });
+    systems = [ "eos-tests" ];
+    lispLibs = [ (getAttr "eos" pkgs) ];
+  };
+  epigraph = {
+    pname = "epigraph";
+    version = "20200325-git";
+    asds = [ "epigraph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/epigraph/2020-03-25/epigraph-20200325-git.tgz";
+      sha256 = "0gqiv23grdiz6pfly7mqyfmq4c6nwcamlvgsnixn8qi9md7b9d64";
+      system = "epigraph";
+      asd = "epigraph";
+    });
+    systems = [ "epigraph" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  epigraph-test = {
+    pname = "epigraph-test";
+    version = "20200325-git";
+    asds = [ "epigraph-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/epigraph/2020-03-25/epigraph-20200325-git.tgz";
+      sha256 = "0gqiv23grdiz6pfly7mqyfmq4c6nwcamlvgsnixn8qi9md7b9d64";
+      system = "epigraph-test";
+      asd = "epigraph";
+    });
+    systems = [ "epigraph-test" ];
+    lispLibs = [ (getAttr "epigraph" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  epmd = {
+    pname = "epmd";
+    version = "20140211-git";
+    asds = [ "epmd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-epmd/2014-02-11/cl-epmd-20140211-git.tgz";
+      sha256 = "1334856x7jqhv52wlab6wxmfqslj21pmryx3lwmlsn7c3ypwz4rw";
+      system = "epmd";
+      asd = "epmd";
+    });
+    systems = [ "epmd" ];
+    lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_binary-data" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  epmd-test = {
+    pname = "epmd-test";
+    version = "20140211-git";
+    asds = [ "epmd-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-epmd/2014-02-11/cl-epmd-20140211-git.tgz";
+      sha256 = "1334856x7jqhv52wlab6wxmfqslj21pmryx3lwmlsn7c3ypwz4rw";
+      system = "epmd-test";
+      asd = "epmd-test";
+    });
+    systems = [ "epmd-test" ];
+    lispLibs = [ (getAttr "epmd" pkgs) (getAttr "fiveam" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  equals = {
+    pname = "equals";
+    version = "20140826-git";
+    asds = [ "equals" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/equals/2014-08-26/equals-20140826-git.tgz";
+      sha256 = "0z80z2xb7vlwfgx4sfmj1yba8gs6cgwb86iqrby25h4h34w7kj1w";
+      system = "equals";
+      asd = "equals";
+    });
+    systems = [ "equals" ];
+    lispLibs = [  ];
+  };
+  erlang-term = {
+    pname = "erlang-term";
+    version = "20200925-git";
+    asds = [ "erlang-term" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-erlang-term/2020-09-25/cl-erlang-term-20200925-git.tgz";
+      sha256 = "0dr5z58qbir0pycxpyk5pb512x44a60c634bwbwwjlgxm7zzpqpl";
+      system = "erlang-term";
+      asd = "erlang-term";
+    });
+    systems = [ "erlang-term" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "nibbles" pkgs) (getAttr "zlib" pkgs) ];
+  };
+  ernestine = {
+    pname = "ernestine";
+    version = "20161204-git";
+    asds = [ "ernestine" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ernestine/2016-12-04/ernestine-20161204-git.tgz";
+      sha256 = "0d1c99x6qami2ma5fax944qrg29z9mh496gbjdr4cahywmz7lc27";
+      system = "ernestine";
+      asd = "ernestine";
+    });
+    systems = [ "ernestine" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cl-prevalence" pkgs) (getAttr "drakma" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  ernestine-tests = {
+    pname = "ernestine-tests";
+    version = "20161204-git";
+    asds = [ "ernestine-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ernestine/2016-12-04/ernestine-20161204-git.tgz";
+      sha256 = "0d1c99x6qami2ma5fax944qrg29z9mh496gbjdr4cahywmz7lc27";
+      system = "ernestine-tests";
+      asd = "ernestine-tests";
+    });
+    systems = [ "ernestine-tests" ];
+    lispLibs = [ (getAttr "ernestine" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  erudite = {
+    pname = "erudite";
+    version = "20210531-git";
+    asds = [ "erudite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/erudite/2021-05-31/erudite-20210531-git.tgz";
+      sha256 = "16srblkkbhjzz7xz365ip3g83j51bgb648pv0ibr38x1szaqg6xv";
+      system = "erudite";
+      asd = "erudite";
+    });
+    systems = [ "erudite" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-template" pkgs) (getAttr "log4cl" pkgs) (getAttr "split-sequence" pkgs) (getAttr "swank-client" pkgs) ];
+  };
+  erudite-test = {
+    pname = "erudite-test";
+    version = "20210531-git";
+    asds = [ "erudite-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/erudite/2021-05-31/erudite-20210531-git.tgz";
+      sha256 = "16srblkkbhjzz7xz365ip3g83j51bgb648pv0ibr38x1szaqg6xv";
+      system = "erudite-test";
+      asd = "erudite-test";
+    });
+    systems = [ "erudite-test" ];
+    lispLibs = [ (getAttr "erudite" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  esa-mcclim = {
+    pname = "esa-mcclim";
+    version = "20211230-git";
+    asds = [ "esa-mcclim" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "esa-mcclim";
+      asd = "esa-mcclim";
+    });
+    systems = [ "esa-mcclim" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "clim-core" pkgs) ];
+  };
+  escalator = {
+    pname = "escalator";
+    version = "20200427-git";
+    asds = [ "escalator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/escalator/2020-04-27/escalator-20200427-git.tgz";
+      sha256 = "136n4k983f90cqj6na17ff2fvk9rv4ma8l5y66q7lkbb69idipla";
+      system = "escalator";
+      asd = "escalator";
+    });
+    systems = [ "escalator" ];
+    lispLibs = [ (getAttr "iterate" pkgs) ];
+  };
+  escalator-bench = {
+    pname = "escalator-bench";
+    version = "20200427-git";
+    asds = [ "escalator-bench" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/escalator/2020-04-27/escalator-20200427-git.tgz";
+      sha256 = "136n4k983f90cqj6na17ff2fvk9rv4ma8l5y66q7lkbb69idipla";
+      system = "escalator-bench";
+      asd = "escalator-bench";
+    });
+    systems = [ "escalator-bench" ];
+    lispLibs = [ (getAttr "escalator" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  esrap = {
+    pname = "esrap";
+    version = "20211020-git";
+    asds = [ "esrap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/esrap/2021-10-20/esrap-20211020-git.tgz";
+      sha256 = "0dcylqr93r959blz1scb5yd79qplqdsl3hbji0icq2yyxvam7cyi";
+      system = "esrap";
+      asd = "esrap";
+    });
+    systems = [ "esrap" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "trivial-with-current-source-form" pkgs) ];
+  };
+  esrap-liquid = {
+    pname = "esrap-liquid";
+    version = "20161031-git";
+    asds = [ "esrap-liquid" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/esrap-liquid/2016-10-31/esrap-liquid-20161031-git.tgz";
+      sha256 = "0agsi8qx6v3c7r6ri5rp78vdb570pdgkvw80va3045crl61mkjzs";
+      system = "esrap-liquid";
+      asd = "esrap-liquid";
+    });
+    systems = [ "esrap-liquid" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  esrap-liquid-tests = {
+    pname = "esrap-liquid-tests";
+    version = "20161031-git";
+    asds = [ "esrap-liquid-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/esrap-liquid/2016-10-31/esrap-liquid-20161031-git.tgz";
+      sha256 = "0agsi8qx6v3c7r6ri5rp78vdb570pdgkvw80va3045crl61mkjzs";
+      system = "esrap-liquid-tests";
+      asd = "esrap-liquid";
+    });
+    systems = [ "esrap-liquid-tests" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "esrap-liquid" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  esrap-peg = {
+    pname = "esrap-peg";
+    version = "20191007-git";
+    asds = [ "esrap-peg" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/esrap-peg/2019-10-07/esrap-peg-20191007-git.tgz";
+      sha256 = "0540i7whx1w0n9fdakwk8rnn511xga9xfvczq9y1jcgz1hh42w53";
+      system = "esrap-peg";
+      asd = "esrap-peg";
+    });
+    systems = [ "esrap-peg" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-unification" pkgs) (getAttr "esrap" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  esrap_slash_tests = {
+    pname = "esrap_tests";
+    version = "20211020-git";
+    asds = [ "esrap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/esrap/2021-10-20/esrap-20211020-git.tgz";
+      sha256 = "0dcylqr93r959blz1scb5yd79qplqdsl3hbji0icq2yyxvam7cyi";
+      system = "esrap";
+      asd = "esrap";
+    });
+    systems = [ "esrap/tests" ];
+    lispLibs = [ (getAttr "esrap" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  etcd-test = {
+    pname = "etcd-test";
+    version = "20211209-git";
+    asds = [ "etcd-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-etcd/2021-12-09/cl-etcd-20211209-git.tgz";
+      sha256 = "1mlanrdkrgprwnxshg0ylras7vswyfvggl8v7i4ylq5lnng4zx2n";
+      system = "etcd-test";
+      asd = "etcd-test";
+    });
+    systems = [ "etcd-test" ];
+    lispLibs = [ (getAttr "cl-etcd" pkgs) (getAttr "cl-toml" pkgs) ];
+  };
+  ev = {
+    pname = "ev";
+    version = "20150923-git";
+    asds = [ "ev" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ev/2015-09-23/cl-ev-20150923-git.tgz";
+      sha256 = "0qnkzkw9mn4w6b0q9y207z8ddnd5a2gn42q55yycp2qrvvv47lhp";
+      system = "ev";
+      asd = "ev";
+    });
+    systems = [ "ev" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  evaled-when = {
+    pname = "evaled-when";
+    version = "1.0";
+    asds = [ "evaled-when" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/evaled-when/2020-09-25/evaled-when_1.0.tgz";
+      sha256 = "0482s89nb5jyyg5wmb010p914pgq6ls8z5s12hdw7wrpy675kdkh";
+      system = "evaled-when";
+      asd = "evaled-when";
+    });
+    systems = [ "evaled-when" ];
+    lispLibs = [ (getAttr "trivial-cltl2" pkgs) ];
+  };
+  evaled-when_tests = {
+    pname = "evaled-when_tests";
+    version = "1.0";
+    asds = [ "evaled-when_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/evaled-when/2020-09-25/evaled-when_1.0.tgz";
+      sha256 = "0482s89nb5jyyg5wmb010p914pgq6ls8z5s12hdw7wrpy675kdkh";
+      system = "evaled-when_tests";
+      asd = "evaled-when_tests";
+    });
+    systems = [ "evaled-when_tests" ];
+    lispLibs = [ (getAttr "enhanced-boolean" pkgs) (getAttr "evaled-when" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  event-emitter = {
+    pname = "event-emitter";
+    version = "20181210-git";
+    asds = [ "event-emitter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/event-emitter/2018-12-10/event-emitter-20181210-git.tgz";
+      sha256 = "1i18xzfr6334db9dzj0lsl7wxw1r1l0ixvn883mjbyqw0czp21h6";
+      system = "event-emitter";
+      asd = "event-emitter";
+    });
+    systems = [ "event-emitter" ];
+    lispLibs = [  ];
+  };
+  event-emitter-test = {
+    pname = "event-emitter-test";
+    version = "20181210-git";
+    asds = [ "event-emitter-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/event-emitter/2018-12-10/event-emitter-20181210-git.tgz";
+      sha256 = "1i18xzfr6334db9dzj0lsl7wxw1r1l0ixvn883mjbyqw0czp21h6";
+      system = "event-emitter-test";
+      asd = "event-emitter-test";
+    });
+    systems = [ "event-emitter-test" ];
+    lispLibs = [ (getAttr "event-emitter" pkgs) (getAttr "prove" pkgs) ];
+  };
+  event-glue = {
+    pname = "event-glue";
+    version = "20150608-git";
+    asds = [ "event-glue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/event-glue/2015-06-08/event-glue-20150608-git.tgz";
+      sha256 = "1cmxdx5nawzqafz9b6nswp20d3zlaks44ln4n6bf5jxji9n3vany";
+      system = "event-glue";
+      asd = "event-glue";
+    });
+    systems = [ "event-glue" ];
+    lispLibs = [  ];
+  };
+  event-glue-test = {
+    pname = "event-glue-test";
+    version = "20150608-git";
+    asds = [ "event-glue-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/event-glue/2015-06-08/event-glue-20150608-git.tgz";
+      sha256 = "1cmxdx5nawzqafz9b6nswp20d3zlaks44ln4n6bf5jxji9n3vany";
+      system = "event-glue-test";
+      asd = "event-glue-test";
+    });
+    systems = [ "event-glue-test" ];
+    lispLibs = [ (getAttr "event-glue" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  eventbus = {
+    pname = "eventbus";
+    version = "20191227-git";
+    asds = [ "eventbus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eventbus/2019-12-27/eventbus-20191227-git.tgz";
+      sha256 = "0slqx3zq6sbz3rg4g79j8y25sx4405y6ff3x6l5v8v4v42m1s0p2";
+      system = "eventbus";
+      asd = "eventbus";
+    });
+    systems = [ "eventbus" ];
+    lispLibs = [ (getAttr "simplet-asdf" pkgs) ];
+  };
+  eventbus_slash_test = {
+    pname = "eventbus_test";
+    version = "20191227-git";
+    asds = [ "eventbus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eventbus/2019-12-27/eventbus-20191227-git.tgz";
+      sha256 = "0slqx3zq6sbz3rg4g79j8y25sx4405y6ff3x6l5v8v4v42m1s0p2";
+      system = "eventbus";
+      asd = "eventbus";
+    });
+    systems = [ "eventbus/test" ];
+    lispLibs = [ (getAttr "eventbus" pkgs) (getAttr "simplet" pkgs) (getAttr "simplet-asdf" pkgs) ];
+  };
+  eventfd = {
+    pname = "eventfd";
+    version = "20171130-git";
+    asds = [ "eventfd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eventfd/2017-11-30/eventfd-20171130-git.tgz";
+      sha256 = "1zwg043vqzk665k9dxgxhik20wgkl204anjna94zg6037m33vdiw";
+      system = "eventfd";
+      asd = "eventfd";
+    });
+    systems = [ "eventfd" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "iolib" pkgs) ];
+  };
+  everblocking-stream = {
+    pname = "everblocking-stream";
+    version = "20181018-git";
+    asds = [ "everblocking-stream" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/everblocking-stream/2018-10-18/everblocking-stream-20181018-git.tgz";
+      sha256 = "1xvfsx2ldwcprlynikn1rikxh3lfdyzl2p72glzvgh20sm93p1rz";
+      system = "everblocking-stream";
+      asd = "everblocking-stream";
+    });
+    systems = [ "everblocking-stream" ];
+    lispLibs = [ (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  evol = {
+    pname = "evol";
+    version = "20101006-git";
+    asds = [ "evol" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/evol/2010-10-06/evol-20101006-git.tgz";
+      sha256 = "1hp6wygj44llkscqq721xg4a7j5faqjcfc646lvkia5xg81zbf65";
+      system = "evol";
+      asd = "evol";
+    });
+    systems = [ "evol" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "external-program" pkgs) (getAttr "patron" pkgs) (getAttr "unix-options" pkgs) ];
+  };
+  evol-test = {
+    pname = "evol-test";
+    version = "20101006-git";
+    asds = [ "evol-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/evol/2010-10-06/evol-20101006-git.tgz";
+      sha256 = "1hp6wygj44llkscqq721xg4a7j5faqjcfc646lvkia5xg81zbf65";
+      system = "evol-test";
+      asd = "evol-test";
+    });
+    systems = [ "evol-test" ];
+    lispLibs = [ (getAttr "evol" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  example-bot = {
+    pname = "example-bot";
+    version = "20200925-git";
+    asds = [ "example-bot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispcord/2020-09-25/lispcord-20200925-git.tgz";
+      sha256 = "1bkvsbnbv21q8xz8z2nmczznd0sllr57l3sc2wm5cjn6h3qg1sgh";
+      system = "example-bot";
+      asd = "example-bot";
+    });
+    systems = [ "example-bot" ];
+    lispLibs = [ (getAttr "lispcord" pkgs) ];
+  };
+  exit-hooks = {
+    pname = "exit-hooks";
+    version = "20170403-git";
+    asds = [ "exit-hooks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/exit-hooks/2017-04-03/exit-hooks-20170403-git.tgz";
+      sha256 = "00rk0pr2cy3hy6giblh166b7yrg06d5lanipjcqv508gkfb0vi47";
+      system = "exit-hooks";
+      asd = "exit-hooks";
+    });
+    systems = [ "exit-hooks" ];
+    lispLibs = [  ];
+  };
+  exponential-backoff = {
+    pname = "exponential-backoff";
+    version = "20150113-git";
+    asds = [ "exponential-backoff" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/exponential-backoff/2015-01-13/exponential-backoff-20150113-git.tgz";
+      sha256 = "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv";
+      system = "exponential-backoff";
+      asd = "exponential-backoff";
+    });
+    systems = [ "exponential-backoff" ];
+    lispLibs = [  ];
+  };
+  exscribe = {
+    pname = "exscribe";
+    version = "20200925-git";
+    asds = [ "exscribe" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/exscribe/2020-09-25/exscribe-20200925-git.tgz";
+      sha256 = "02vsavasr5nbhrk86b7d8xpr6sm8cyrg3vs2pbpkls2iypffyd2h";
+      system = "exscribe";
+      asd = "exscribe";
+    });
+    systems = [ "exscribe" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fare-memoization" pkgs) (getAttr "fare-scripts" pkgs) (getAttr "fare-utils" pkgs) (getAttr "quri" pkgs) (getAttr "scribble" pkgs) (getAttr "trivia_dot_quasiquote" pkgs) ];
+  };
+  exscribe_slash_typeset = {
+    pname = "exscribe_typeset";
+    version = "20200925-git";
+    asds = [ "exscribe" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/exscribe/2020-09-25/exscribe-20200925-git.tgz";
+      sha256 = "02vsavasr5nbhrk86b7d8xpr6sm8cyrg3vs2pbpkls2iypffyd2h";
+      system = "exscribe";
+      asd = "exscribe";
+    });
+    systems = [ "exscribe/typeset" ];
+    lispLibs = [ (getAttr "cl-typesetting" pkgs) (getAttr "exscribe" pkgs) ];
+  };
+  ext-blog = {
+    pname = "ext-blog";
+    version = "20160825-git";
+    asds = [ "ext-blog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ext-blog/2016-08-25/ext-blog-20160825-git.tgz";
+      sha256 = "10qnl3p994wg12c0cn6xgkgmwfip0fk0sjyqyy0j5bdrp32gr5wg";
+      system = "ext-blog";
+      asd = "ext-blog";
+    });
+    systems = [ "ext-blog" ];
+    lispLibs = [ (getAttr "closure-template" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-store" pkgs) (getAttr "image" pkgs) (getAttr "kl-verify" pkgs) (getAttr "local-time" pkgs) (getAttr "restas" pkgs) (getAttr "restas_dot_file-publisher" pkgs) (getAttr "s-xml-rpc" pkgs) ];
+  };
+  extended-reals = {
+    pname = "extended-reals";
+    version = "20180328-git";
+    asds = [ "extended-reals" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/extended-reals/2018-03-28/extended-reals-20180328-git.tgz";
+      sha256 = "0vq191win5sq37mrwjhvi463jqh1mkwbsa0hja69syq789pgaxmb";
+      system = "extended-reals";
+      asd = "extended-reals";
+    });
+    systems = [ "extended-reals" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  extensible-sequences = {
+    pname = "extensible-sequences";
+    version = "20130813-darcs";
+    asds = [ "extensible-sequences" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sequence-iterators/2013-08-13/sequence-iterators-20130813-darcs.tgz";
+      sha256 = "12flvy6hysqw0fa2jfkxrgphlk6b25hg2w2dxm1ylax0gw9fh1l5";
+      system = "extensible-sequences";
+      asd = "extensible-sequences";
+    });
+    systems = [ "extensible-sequences" ];
+    lispLibs = [ (getAttr "sequence-iterators" pkgs) ];
+  };
+  external-program = {
+    pname = "external-program";
+    version = "20190307-git";
+    asds = [ "external-program" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/external-program/2019-03-07/external-program-20190307-git.tgz";
+      sha256 = "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z";
+      system = "external-program";
+      asd = "external-program";
+    });
+    systems = [ "external-program" ];
+    lispLibs = [ (getAttr "trivial-features" pkgs) ];
+  };
+  external-program-test = {
+    pname = "external-program-test";
+    version = "20190307-git";
+    asds = [ "external-program-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/external-program/2019-03-07/external-program-20190307-git.tgz";
+      sha256 = "0vww1x3yilb3bjwg6k184vaj4vxyxw4vralhnlm6lk4xac67kc9z";
+      system = "external-program-test";
+      asd = "external-program";
+    });
+    systems = [ "external-program-test" ];
+    lispLibs = [ (getAttr "external-program" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  external-symbol-not-found = {
+    pname = "external-symbol-not-found";
+    version = "20180430-git";
+    asds = [ "external-symbol-not-found" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/external-symbol-not-found/2018-04-30/external-symbol-not-found-20180430-git.tgz";
+      sha256 = "0j7yqzd9lvbjcvy0bidfycwiv240k26waa12w9x7gacm446mzgnk";
+      system = "external-symbol-not-found";
+      asd = "external-symbol-not-found";
+    });
+    systems = [ "external-symbol-not-found" ];
+    lispLibs = [  ];
+  };
+  f-underscore = {
+    pname = "f-underscore";
+    version = "20101006-darcs";
+    asds = [ "f-underscore" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f-underscore/2010-10-06/f-underscore-20101006-darcs.tgz";
+      sha256 = "0mqvb2rxa08y07lj6smp8gf1ig32802fxq7mw5a283f2nkrinnb5";
+      system = "f-underscore";
+      asd = "f-underscore";
+    });
+    systems = [ "f-underscore" ];
+    lispLibs = [  ];
+  };
+  f2cl = {
+    pname = "f2cl";
+    version = "20200925-git";
+    asds = [ "f2cl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "f2cl";
+      asd = "f2cl";
+    });
+    systems = [ "f2cl" ];
+    lispLibs = [ (getAttr "f2cl-asdf" pkgs) ];
+  };
+  f2cl-asdf = {
+    pname = "f2cl-asdf";
+    version = "20200925-git";
+    asds = [ "f2cl-asdf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "f2cl-asdf";
+      asd = "f2cl-asdf";
+    });
+    systems = [ "f2cl-asdf" ];
+    lispLibs = [  ];
+  };
+  f2cl-lib = {
+    pname = "f2cl-lib";
+    version = "20211020-git";
+    asds = [ "f2cl-lib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "f2cl-lib";
+      asd = "f2cl-lib";
+    });
+    systems = [ "f2cl-lib" ];
+    lispLibs = [  ];
+  };
+  fact-base = {
+    pname = "fact-base";
+    version = "20180328-git";
+    asds = [ "fact-base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fact-base/2018-03-28/fact-base-20180328-git.tgz";
+      sha256 = "14i0vqqxszabhas0z9dfxhvnbsxl4iic77m4i76w7iznmrcma2ar";
+      system = "fact-base";
+      asd = "fact-base";
+    });
+    systems = [ "fact-base" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "local-time" pkgs) (getAttr "optima" pkgs) ];
+  };
+  fakenil = {
+    pname = "fakenil";
+    version = "1.0";
+    asds = [ "fakenil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fakenil/2020-03-25/fakenil_1.0.tgz";
+      sha256 = "0ipqax3sgcs1dsgxz8d2pmfg324k6l35pn0nz89w5jl02fia61l3";
+      system = "fakenil";
+      asd = "fakenil";
+    });
+    systems = [ "fakenil" ];
+    lispLibs = [  ];
+  };
+  fakenil_tests = {
+    pname = "fakenil_tests";
+    version = "1.0";
+    asds = [ "fakenil_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fakenil/2020-03-25/fakenil_1.0.tgz";
+      sha256 = "0ipqax3sgcs1dsgxz8d2pmfg324k6l35pn0nz89w5jl02fia61l3";
+      system = "fakenil_tests";
+      asd = "fakenil_tests";
+    });
+    systems = [ "fakenil_tests" ];
+    lispLibs = [ (getAttr "fakenil" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  fare-csv = {
+    pname = "fare-csv";
+    version = "20171227-git";
+    asds = [ "fare-csv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fare-csv/2017-12-27/fare-csv-20171227-git.tgz";
+      sha256 = "07y15zm2x28crfjjpcngqqmzzrm2fgj5k8hd1l39qii44wc4rm4b";
+      system = "fare-csv";
+      asd = "fare-csv";
+    });
+    systems = [ "fare-csv" ];
+    lispLibs = [  ];
+  };
+  fare-memoization = {
+    pname = "fare-memoization";
+    version = "20180430-git";
+    asds = [ "fare-memoization" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fare-memoization/2018-04-30/fare-memoization-20180430-git.tgz";
+      sha256 = "1blmrb4c9gsxj87scz74z1s8w9d1w2r48fyxj0y1sw3vr6bsbb8f";
+      system = "fare-memoization";
+      asd = "fare-memoization";
+    });
+    systems = [ "fare-memoization" ];
+    lispLibs = [  ];
+  };
+  fare-memoization_slash_test = {
+    pname = "fare-memoization_test";
+    version = "20180430-git";
+    asds = [ "fare-memoization" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fare-memoization/2018-04-30/fare-memoization-20180430-git.tgz";
+      sha256 = "1blmrb4c9gsxj87scz74z1s8w9d1w2r48fyxj0y1sw3vr6bsbb8f";
+      system = "fare-memoization";
+      asd = "fare-memoization";
+    });
+    systems = [ "fare-memoization/test" ];
+    lispLibs = [ (getAttr "fare-memoization" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  fare-mop = {
+    pname = "fare-mop";
+    version = "20151218-git";
+    asds = [ "fare-mop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fare-mop/2015-12-18/fare-mop-20151218-git.tgz";
+      sha256 = "0maxs8392953fhnaa6zwnm2mdbhxjxipp4g4rvypm06ixr6pyv1c";
+      system = "fare-mop";
+      asd = "fare-mop";
+    });
+    systems = [ "fare-mop" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "fare-utils" pkgs) ];
+  };
+  fare-quasiquote = {
+    pname = "fare-quasiquote";
+    version = "20200925-git";
+    asds = [ "fare-quasiquote" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fare-quasiquote/2020-09-25/fare-quasiquote-20200925-git.tgz";
+      sha256 = "034mw3x0jv6q5nxqq8sz77c44dc115x6y52bnzk31qclib88zl7n";
+      system = "fare-quasiquote";
+      asd = "fare-quasiquote";
+    });
+    systems = [ "fare-quasiquote" ];
+    lispLibs = [ (getAttr "fare-utils" pkgs) ];
+  };
+  fare-quasiquote-extras = {
+    pname = "fare-quasiquote-extras";
+    version = "20200925-git";
+    asds = [ "fare-quasiquote-extras" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fare-quasiquote/2020-09-25/fare-quasiquote-20200925-git.tgz";
+      sha256 = "034mw3x0jv6q5nxqq8sz77c44dc115x6y52bnzk31qclib88zl7n";
+      system = "fare-quasiquote-extras";
+      asd = "fare-quasiquote-extras";
+    });
+    systems = [ "fare-quasiquote-extras" ];
+    lispLibs = [ (getAttr "fare-quasiquote-optima" pkgs) (getAttr "fare-quasiquote-readtable" pkgs) ];
+  };
+  fare-quasiquote-optima = {
+    pname = "fare-quasiquote-optima";
+    version = "20200925-git";
+    asds = [ "fare-quasiquote-optima" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fare-quasiquote/2020-09-25/fare-quasiquote-20200925-git.tgz";
+      sha256 = "034mw3x0jv6q5nxqq8sz77c44dc115x6y52bnzk31qclib88zl7n";
+      system = "fare-quasiquote-optima";
+      asd = "fare-quasiquote-optima";
+    });
+    systems = [ "fare-quasiquote-optima" ];
+    lispLibs = [ (getAttr "trivia_dot_quasiquote" pkgs) ];
+  };
+  fare-quasiquote-readtable = {
+    pname = "fare-quasiquote-readtable";
+    version = "20200925-git";
+    asds = [ "fare-quasiquote-readtable" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fare-quasiquote/2020-09-25/fare-quasiquote-20200925-git.tgz";
+      sha256 = "034mw3x0jv6q5nxqq8sz77c44dc115x6y52bnzk31qclib88zl7n";
+      system = "fare-quasiquote-readtable";
+      asd = "fare-quasiquote-readtable";
+    });
+    systems = [ "fare-quasiquote-readtable" ];
+    lispLibs = [ (getAttr "fare-quasiquote" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  fare-scripts = {
+    pname = "fare-scripts";
+    version = "20211230-git";
+    asds = [ "fare-scripts" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fare-scripts/2021-12-30/fare-scripts-20211230-git.tgz";
+      sha256 = "0i4giia6z2ys9fp5h0ff6r7d74ysynjqar7s9cv5zsiw871rqa1j";
+      system = "fare-scripts";
+      asd = "fare-scripts";
+    });
+    systems = [ "fare-scripts" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "binascii" pkgs) (getAttr "cl-launch" pkgs) (getAttr "cl-mime" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-scripting" pkgs) (getAttr "cl-unicode" pkgs) (getAttr "command-line-arguments" pkgs) (getAttr "fare-utils" pkgs) (getAttr "inferior-shell" pkgs) (getAttr "optima" pkgs) (getAttr "optima_dot_ppcre" pkgs) (getAttr "swank" pkgs) ];
+  };
+  fare-utils = {
+    pname = "fare-utils";
+    version = "20170124-git";
+    asds = [ "fare-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fare-utils/2017-01-24/fare-utils-20170124-git.tgz";
+      sha256 = "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr";
+      system = "fare-utils";
+      asd = "fare-utils";
+    });
+    systems = [ "fare-utils" ];
+    lispLibs = [  ];
+  };
+  fare-utils-test = {
+    pname = "fare-utils-test";
+    version = "20170124-git";
+    asds = [ "fare-utils-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fare-utils/2017-01-24/fare-utils-20170124-git.tgz";
+      sha256 = "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr";
+      system = "fare-utils-test";
+      asd = "fare-utils-test";
+    });
+    systems = [ "fare-utils-test" ];
+    lispLibs = [ (getAttr "fare-utils" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  fast-generic-functions = {
+    pname = "fast-generic-functions";
+    version = "20210124-git";
+    asds = [ "fast-generic-functions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fast-generic-functions/2021-01-24/fast-generic-functions-20210124-git.tgz";
+      sha256 = "16hf9bi2p5s77p3m3aqsihcd9iicqjhhxxpsarjv93c41qs54yad";
+      system = "fast-generic-functions";
+      asd = "fast-generic-functions";
+    });
+    systems = [ "fast-generic-functions" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "sealable-metaobjects" pkgs) (getAttr "trivial-macroexpand-all" pkgs) ];
+  };
+  fast-generic-functions-test-suite = {
+    pname = "fast-generic-functions-test-suite";
+    version = "20210124-git";
+    asds = [ "fast-generic-functions-test-suite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fast-generic-functions/2021-01-24/fast-generic-functions-20210124-git.tgz";
+      sha256 = "16hf9bi2p5s77p3m3aqsihcd9iicqjhhxxpsarjv93c41qs54yad";
+      system = "fast-generic-functions-test-suite";
+      asd = "fast-generic-functions-test-suite";
+    });
+    systems = [ "fast-generic-functions-test-suite" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "fast-generic-functions" pkgs) ];
+  };
+  fast-http = {
+    pname = "fast-http";
+    version = "20191007-git";
+    asds = [ "fast-http" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fast-http/2019-10-07/fast-http-20191007-git.tgz";
+      sha256 = "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi";
+      system = "fast-http";
+      asd = "fast-http";
+    });
+    systems = [ "fast-http" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-utilities" pkgs) (getAttr "proc-parse" pkgs) (getAttr "smart-buffer" pkgs) (getAttr "xsubseq" pkgs) ];
+  };
+  fast-http-test = {
+    pname = "fast-http-test";
+    version = "20191007-git";
+    asds = [ "fast-http-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fast-http/2019-10-07/fast-http-20191007-git.tgz";
+      sha256 = "0al2g7g219jjljsf7b23pbilpgacxy5as5gs2nqf76b5qni396mi";
+      system = "fast-http-test";
+      asd = "fast-http-test";
+    });
+    systems = [ "fast-http-test" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-syntax-interpol" pkgs) (getAttr "fast-http" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "xsubseq" pkgs) ];
+  };
+  fast-io = {
+    pname = "fast-io";
+    version = "20200925-git";
+    asds = [ "fast-io" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fast-io/2020-09-25/fast-io-20200925-git.tgz";
+      sha256 = "131cqlf84md6kgw2slrpgmksz2j3w1rx4a0cwfrkd8kdvwbh16rd";
+      system = "fast-io";
+      asd = "fast-io";
+    });
+    systems = [ "fast-io" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "static-vectors" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  fast-io-test = {
+    pname = "fast-io-test";
+    version = "20200925-git";
+    asds = [ "fast-io-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fast-io/2020-09-25/fast-io-20200925-git.tgz";
+      sha256 = "131cqlf84md6kgw2slrpgmksz2j3w1rx4a0cwfrkd8kdvwbh16rd";
+      system = "fast-io-test";
+      asd = "fast-io-test";
+    });
+    systems = [ "fast-io-test" ];
+    lispLibs = [ (getAttr "checkl" pkgs) (getAttr "fast-io" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  fast-websocket = {
+    pname = "fast-websocket";
+    version = "20210228-git";
+    asds = [ "fast-websocket" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fast-websocket/2021-02-28/fast-websocket-20210228-git.tgz";
+      sha256 = "04sacrhpdp3ixvp6wjwxls5mv47g0q6542pd16yn199xjg0drw8a";
+      system = "fast-websocket";
+      asd = "fast-websocket";
+    });
+    systems = [ "fast-websocket" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "fast-io" pkgs) ];
+  };
+  fast-websocket-test = {
+    pname = "fast-websocket-test";
+    version = "20210228-git";
+    asds = [ "fast-websocket-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fast-websocket/2021-02-28/fast-websocket-20210228-git.tgz";
+      sha256 = "04sacrhpdp3ixvp6wjwxls5mv47g0q6542pd16yn199xjg0drw8a";
+      system = "fast-websocket-test";
+      asd = "fast-websocket-test";
+    });
+    systems = [ "fast-websocket-test" ];
+    lispLibs = [ (getAttr "fast-io" pkgs) (getAttr "fast-websocket" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  feeder = {
+    pname = "feeder";
+    version = "20210228-git";
+    asds = [ "feeder" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/feeder/2021-02-28/feeder-20210228-git.tgz";
+      sha256 = "1dpbzhycg50snl3j01c8dh8gdvhfhz0hnfl54xy55a3wbr3m6rp7";
+      system = "feeder";
+      asd = "feeder";
+    });
+    systems = [ "feeder" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) (getAttr "local-time" pkgs) (getAttr "plump" pkgs) ];
+  };
+  femlisp = {
+    pname = "femlisp";
+    version = "20210411-git";
+    asds = [ "femlisp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz";
+      sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa";
+      system = "femlisp";
+      asd = "femlisp";
+    });
+    systems = [ "femlisp" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "femlisp-basic" pkgs) (getAttr "femlisp-dictionary" pkgs) (getAttr "femlisp-matlisp" pkgs) (getAttr "femlisp-parallel" pkgs) (getAttr "infix" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  femlisp-basic = {
+    pname = "femlisp-basic";
+    version = "20210411-git";
+    asds = [ "femlisp-basic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz";
+      sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa";
+      system = "femlisp-basic";
+      asd = "femlisp-basic";
+    });
+    systems = [ "femlisp-basic" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  femlisp-dictionary = {
+    pname = "femlisp-dictionary";
+    version = "20210411-git";
+    asds = [ "femlisp-dictionary" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz";
+      sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa";
+      system = "femlisp-dictionary";
+      asd = "femlisp-dictionary";
+    });
+    systems = [ "femlisp-dictionary" ];
+    lispLibs = [ (getAttr "femlisp-basic" pkgs) (getAttr "femlisp-parallel" pkgs) (getAttr "trees" pkgs) ];
+  };
+  femlisp-matlisp = {
+    pname = "femlisp-matlisp";
+    version = "20210411-git";
+    asds = [ "femlisp-matlisp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz";
+      sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa";
+      system = "femlisp-matlisp";
+      asd = "femlisp-matlisp";
+    });
+    systems = [ "femlisp-matlisp" ];
+    lispLibs = [ (getAttr "femlisp-basic" pkgs) (getAttr "femlisp-dictionary" pkgs) (getAttr "femlisp-parallel" pkgs) ];
+  };
+  femlisp-parallel = {
+    pname = "femlisp-parallel";
+    version = "20210411-git";
+    asds = [ "femlisp-parallel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz";
+      sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa";
+      system = "femlisp-parallel";
+      asd = "femlisp-parallel";
+    });
+    systems = [ "femlisp-parallel" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-cpu-affinity" pkgs) (getAttr "femlisp-basic" pkgs) (getAttr "lparallel" pkgs) ];
+  };
+  femlisp-picture = {
+    pname = "femlisp-picture";
+    version = "20210411-git";
+    asds = [ "femlisp-picture" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz";
+      sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa";
+      system = "femlisp-picture";
+      asd = "femlisp-picture";
+    });
+    systems = [ "femlisp-picture" ];
+    lispLibs = [ (getAttr "cl-gd" pkgs) (getAttr "femlisp" pkgs) ];
+  };
+  ffa = {
+    pname = "ffa";
+    version = "20101006-git";
+    asds = [ "ffa" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ffa/2010-10-06/ffa-20101006-git.tgz";
+      sha256 = "0l7kqcjp3sn1129hpwq6zhjqc0ydx9gc53z7k13i38x3z1asap7a";
+      system = "ffa";
+      asd = "ffa";
+    });
+    systems = [ "ffa" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-utilities" pkgs) (getAttr "iterate" pkgs) (getAttr "metabang-bind" pkgs) ];
+  };
+  fft = {
+    pname = "fft";
+    version = "20180711-git";
+    asds = [ "fft" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fft/2018-07-11/fft-20180711-git.tgz";
+      sha256 = "0ymnfplap2cncw49mhq7crapgxphfwsvqdgrcckpgsvw6qsymasd";
+      system = "fft";
+      asd = "fft";
+    });
+    systems = [ "fft" ];
+    lispLibs = [  ];
+  };
+  fftpack5 = {
+    pname = "fftpack5";
+    version = "20200925-git";
+    asds = [ "fftpack5" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "fftpack5";
+      asd = "fftpack5";
+    });
+    systems = [ "fftpack5" ];
+    lispLibs = [ (getAttr "f2cl" pkgs) ];
+  };
+  fftpack5-double = {
+    pname = "fftpack5-double";
+    version = "20200925-git";
+    asds = [ "fftpack5-double" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "fftpack5-double";
+      asd = "fftpack5-double";
+    });
+    systems = [ "fftpack5-double" ];
+    lispLibs = [ (getAttr "f2cl" pkgs) ];
+  };
+  fiasco = {
+    pname = "fiasco";
+    version = "20200610-git";
+    asds = [ "fiasco" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fiasco/2020-06-10/fiasco-20200610-git.tgz";
+      sha256 = "1k8i2kq57201bvy3zfpsxld530hd104dgbglxigqb6i408c1a7aw";
+      system = "fiasco";
+      asd = "fiasco";
+    });
+    systems = [ "fiasco" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  fiasco-self-tests = {
+    pname = "fiasco-self-tests";
+    version = "20200610-git";
+    asds = [ "fiasco-self-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fiasco/2020-06-10/fiasco-20200610-git.tgz";
+      sha256 = "1k8i2kq57201bvy3zfpsxld530hd104dgbglxigqb6i408c1a7aw";
+      system = "fiasco-self-tests";
+      asd = "fiasco";
+    });
+    systems = [ "fiasco-self-tests" ];
+    lispLibs = [ (getAttr "fiasco" pkgs) ];
+  };
+  file-attributes = {
+    pname = "file-attributes";
+    version = "20210807-git";
+    asds = [ "file-attributes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/file-attributes/2021-08-07/file-attributes-20210807-git.tgz";
+      sha256 = "0wvdhwpav9kmpdr79v4i33jabzcp95k5mbz7jljkpxzfblzias77";
+      system = "file-attributes";
+      asd = "file-attributes";
+    });
+    systems = [ "file-attributes" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  file-local-variable = {
+    pname = "file-local-variable";
+    version = "20160318-git";
+    asds = [ "file-local-variable" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/file-local-variable/2016-03-18/file-local-variable-20160318-git.tgz";
+      sha256 = "1jsjd0g41mg76wlqjxliyrfz8fk7ihi06nq2zizmk9np0pmwsxl9";
+      system = "file-local-variable";
+      asd = "file-local-variable";
+    });
+    systems = [ "file-local-variable" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  file-local-variable_dot_test = {
+    pname = "file-local-variable.test";
+    version = "20160318-git";
+    asds = [ "file-local-variable.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/file-local-variable/2016-03-18/file-local-variable-20160318-git.tgz";
+      sha256 = "1jsjd0g41mg76wlqjxliyrfz8fk7ihi06nq2zizmk9np0pmwsxl9";
+      system = "file-local-variable.test";
+      asd = "file-local-variable.test";
+    });
+    systems = [ "file-local-variable.test" ];
+    lispLibs = [ (getAttr "file-local-variable" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  file-notify = {
+    pname = "file-notify";
+    version = "20210531-git";
+    asds = [ "file-notify" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/file-notify/2021-05-31/file-notify-20210531-git.tgz";
+      sha256 = "10y9qfjxwabv9n47wk2gs5j5lbr6ngkdvf4kib16k95i4r4fvzk9";
+      system = "file-notify";
+      asd = "file-notify";
+    });
+    systems = [ "file-notify" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  file-select = {
+    pname = "file-select";
+    version = "20210228-git";
+    asds = [ "file-select" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/file-select/2021-02-28/file-select-20210228-git.tgz";
+      sha256 = "147c7z4fi8fd4b53cz6hp53hymn1y2vpi1rn9688j11pd0sqqlz0";
+      system = "file-select";
+      asd = "file-select";
+    });
+    systems = [ "file-select" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "float-features" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  file-types = {
+    pname = "file-types";
+    version = "20160929-git";
+    asds = [ "file-types" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/file-types/2016-09-29/file-types-20160929-git.tgz";
+      sha256 = "09l67gzjwx7kx237grm709dsj9rkmmm8s3ya6irmcw8nh587inbs";
+      system = "file-types";
+      asd = "file-types";
+    });
+    systems = [ "file-types" ];
+    lispLibs = [  ];
+  };
+  filtered-functions = {
+    pname = "filtered-functions";
+    version = "20160318-git";
+    asds = [ "filtered-functions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/filtered-functions/2016-03-18/filtered-functions-20160318-git.tgz";
+      sha256 = "0m13k8pl0gfll8ss83c0z3gax7zrrw2i4s26451jfbka1xr4fgy9";
+      system = "filtered-functions";
+      asd = "filtered-functions";
+    });
+    systems = [ "filtered-functions" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  find-port = {
+    pname = "find-port";
+    version = "20190710-git";
+    asds = [ "find-port" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/find-port/2019-07-10/find-port-20190710-git.tgz";
+      sha256 = "1fw6q7d2bxxb7fqk548ylq8mx4sz95yc0q5h0rwd0mnqjrbwbari";
+      system = "find-port";
+      asd = "find-port";
+    });
+    systems = [ "find-port" ];
+    lispLibs = [ (getAttr "usocket" pkgs) ];
+  };
+  find-port-test = {
+    pname = "find-port-test";
+    version = "20190710-git";
+    asds = [ "find-port-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/find-port/2019-07-10/find-port-20190710-git.tgz";
+      sha256 = "1fw6q7d2bxxb7fqk548ylq8mx4sz95yc0q5h0rwd0mnqjrbwbari";
+      system = "find-port-test";
+      asd = "find-port-test";
+    });
+    systems = [ "find-port-test" ];
+    lispLibs = [ (getAttr "find-port" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  finite-state-machine = {
+    pname = "finite-state-machine";
+    version = "20200218-git";
+    asds = [ "finite-state-machine" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-simple-fsm/2020-02-18/cl-simple-fsm-20200218-git.tgz";
+      sha256 = "1w07df7kakjq3r1v5c4gnavp08ngpn2ni85cggnnsqzc27hly07b";
+      system = "finite-state-machine";
+      asd = "finite-state-machine";
+    });
+    systems = [ "finite-state-machine" ];
+    lispLibs = [  ];
+  };
+  firephp = {
+    pname = "firephp";
+    version = "20160531-git";
+    asds = [ "firephp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/firephp/2016-05-31/firephp-20160531-git.tgz";
+      sha256 = "1j98z73c21xcjp4f8qvmv37y9zlsnwxx88nnxc3r1ngvxv23dlgh";
+      system = "firephp";
+      asd = "firephp";
+    });
+    systems = [ "firephp" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  firephp-tests = {
+    pname = "firephp-tests";
+    version = "20160531-git";
+    asds = [ "firephp-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/firephp/2016-05-31/firephp-20160531-git.tgz";
+      sha256 = "1j98z73c21xcjp4f8qvmv37y9zlsnwxx88nnxc3r1ngvxv23dlgh";
+      system = "firephp-tests";
+      asd = "firephp-tests";
+    });
+    systems = [ "firephp-tests" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "firephp" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  first-time-value = {
+    pname = "first-time-value";
+    version = "1.0.1";
+    asds = [ "first-time-value" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/first-time-value/2018-12-10/first-time-value-1.0.1.tgz";
+      sha256 = "155mqhnw1307b18a8bv8jhqp20qv83b409mlr61m45nq3sivxxp2";
+      system = "first-time-value";
+      asd = "first-time-value";
+    });
+    systems = [ "first-time-value" ];
+    lispLibs = [  ];
+  };
+  first-time-value_tests = {
+    pname = "first-time-value_tests";
+    version = "1.0.1";
+    asds = [ "first-time-value_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/first-time-value/2018-12-10/first-time-value-1.0.1.tgz";
+      sha256 = "155mqhnw1307b18a8bv8jhqp20qv83b409mlr61m45nq3sivxxp2";
+      system = "first-time-value_tests";
+      asd = "first-time-value_tests";
+    });
+    systems = [ "first-time-value_tests" ];
+    lispLibs = [ (getAttr "first-time-value" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  fishpack = {
+    pname = "fishpack";
+    version = "20200925-git";
+    asds = [ "fishpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "fishpack";
+      asd = "fishpack";
+    });
+    systems = [ "fishpack" ];
+    lispLibs = [ (getAttr "f2cl" pkgs) ];
+  };
+  fishpack_slash_test-hstcrt = {
+    pname = "fishpack_test-hstcrt";
+    version = "20200925-git";
+    asds = [ "fishpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "fishpack";
+      asd = "fishpack";
+    });
+    systems = [ "fishpack/test-hstcrt" ];
+    lispLibs = [ (getAttr "fishpack" pkgs) ];
+  };
+  fishpack_slash_test-hstcsp = {
+    pname = "fishpack_test-hstcsp";
+    version = "20200925-git";
+    asds = [ "fishpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "fishpack";
+      asd = "fishpack";
+    });
+    systems = [ "fishpack/test-hstcsp" ];
+    lispLibs = [ (getAttr "fishpack" pkgs) ];
+  };
+  fishpack_slash_test-hstcyl = {
+    pname = "fishpack_test-hstcyl";
+    version = "20200925-git";
+    asds = [ "fishpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "fishpack";
+      asd = "fishpack";
+    });
+    systems = [ "fishpack/test-hstcyl" ];
+    lispLibs = [ (getAttr "fishpack" pkgs) ];
+  };
+  fishpack_slash_test-hstplr = {
+    pname = "fishpack_test-hstplr";
+    version = "20200925-git";
+    asds = [ "fishpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "fishpack";
+      asd = "fishpack";
+    });
+    systems = [ "fishpack/test-hstplr" ];
+    lispLibs = [ (getAttr "fishpack" pkgs) ];
+  };
+  fishpack_slash_test-hstssp = {
+    pname = "fishpack_test-hstssp";
+    version = "20200925-git";
+    asds = [ "fishpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "fishpack";
+      asd = "fishpack";
+    });
+    systems = [ "fishpack/test-hstssp" ];
+    lispLibs = [ (getAttr "fishpack" pkgs) ];
+  };
+  fishpack_slash_test-hwscrt = {
+    pname = "fishpack_test-hwscrt";
+    version = "20200925-git";
+    asds = [ "fishpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "fishpack";
+      asd = "fishpack";
+    });
+    systems = [ "fishpack/test-hwscrt" ];
+    lispLibs = [ (getAttr "fishpack" pkgs) ];
+  };
+  fishpack_slash_test-hwscsp = {
+    pname = "fishpack_test-hwscsp";
+    version = "20200925-git";
+    asds = [ "fishpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "fishpack";
+      asd = "fishpack";
+    });
+    systems = [ "fishpack/test-hwscsp" ];
+    lispLibs = [ (getAttr "fishpack" pkgs) ];
+  };
+  fishpack_slash_test-hwscyl = {
+    pname = "fishpack_test-hwscyl";
+    version = "20200925-git";
+    asds = [ "fishpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "fishpack";
+      asd = "fishpack";
+    });
+    systems = [ "fishpack/test-hwscyl" ];
+    lispLibs = [ (getAttr "fishpack" pkgs) ];
+  };
+  fishpack_slash_test-hwsplr = {
+    pname = "fishpack_test-hwsplr";
+    version = "20200925-git";
+    asds = [ "fishpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "fishpack";
+      asd = "fishpack";
+    });
+    systems = [ "fishpack/test-hwsplr" ];
+    lispLibs = [ (getAttr "fishpack" pkgs) ];
+  };
+  fishpack_slash_test-hwsssp = {
+    pname = "fishpack_test-hwsssp";
+    version = "20200925-git";
+    asds = [ "fishpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "fishpack";
+      asd = "fishpack";
+    });
+    systems = [ "fishpack/test-hwsssp" ];
+    lispLibs = [ (getAttr "fishpack" pkgs) ];
+  };
+  fishpack_slash_test-sepx4 = {
+    pname = "fishpack_test-sepx4";
+    version = "20200925-git";
+    asds = [ "fishpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "fishpack";
+      asd = "fishpack";
+    });
+    systems = [ "fishpack/test-sepx4" ];
+    lispLibs = [ (getAttr "fishpack" pkgs) ];
+  };
+  fiveam = {
+    pname = "fiveam";
+    version = "20211209-git";
+    asds = [ "fiveam" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fiveam/2021-12-09/fiveam-20211209-git.tgz";
+      sha256 = "0gbmpv8fslvhwg4m389mjqgxrvl54sn6708kg0y5x1v5sxza0s5c";
+      system = "fiveam";
+      asd = "fiveam";
+    });
+    systems = [ "fiveam" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "net_dot_didierverna_dot_asdf-flv" pkgs) (getAttr "trivial-backtrace" pkgs) ];
+  };
+  fiveam-asdf = {
+    pname = "fiveam-asdf";
+    version = "20211209-git";
+    asds = [ "fiveam-asdf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fiveam-asdf/2021-12-09/fiveam-asdf-20211209-git.tgz";
+      sha256 = "1p68ql680awcnjn3sgibs8n3jkfiysinlwk6dfxzc7z20kkig22x";
+      system = "fiveam-asdf";
+      asd = "fiveam-asdf";
+    });
+    systems = [ "fiveam-asdf" ];
+    lispLibs = [  ];
+  };
+  fiveam_slash_test = {
+    pname = "fiveam_test";
+    version = "20211209-git";
+    asds = [ "fiveam" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fiveam/2021-12-09/fiveam-20211209-git.tgz";
+      sha256 = "0gbmpv8fslvhwg4m389mjqgxrvl54sn6708kg0y5x1v5sxza0s5c";
+      system = "fiveam";
+      asd = "fiveam";
+    });
+    systems = [ "fiveam/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) ];
+  };
+  fixed = {
+    pname = "fixed";
+    version = "20170124-git";
+    asds = [ "fixed" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fixed/2017-01-24/fixed-20170124-git.tgz";
+      sha256 = "0bx8802fmlml5k5xhcm4g5r6c7ambij4gb0b37xljjn3wxgs83dc";
+      system = "fixed";
+      asd = "fixed";
+    });
+    systems = [ "fixed" ];
+    lispLibs = [  ];
+  };
+  fixed_slash_real-time = {
+    pname = "fixed_real-time";
+    version = "20170124-git";
+    asds = [ "fixed" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fixed/2017-01-24/fixed-20170124-git.tgz";
+      sha256 = "0bx8802fmlml5k5xhcm4g5r6c7ambij4gb0b37xljjn3wxgs83dc";
+      system = "fixed";
+      asd = "fixed";
+    });
+    systems = [ "fixed/real-time" ];
+    lispLibs = [ (getAttr "fixed" pkgs) ];
+  };
+  fixed_slash_test = {
+    pname = "fixed_test";
+    version = "20170124-git";
+    asds = [ "fixed" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fixed/2017-01-24/fixed-20170124-git.tgz";
+      sha256 = "0bx8802fmlml5k5xhcm4g5r6c7ambij4gb0b37xljjn3wxgs83dc";
+      system = "fixed";
+      asd = "fixed";
+    });
+    systems = [ "fixed/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "fixed" pkgs) ];
+  };
+  flac = {
+    pname = "flac";
+    version = "20151218-git";
+    asds = [ "flac" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz";
+      sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9";
+      system = "flac";
+      asd = "flac";
+    });
+    systems = [ "flac" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  flac-metadata = {
+    pname = "flac-metadata";
+    version = "20210411-git";
+    asds = [ "flac-metadata" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/flac-metadata/2021-04-11/flac-metadata-20210411-git.tgz";
+      sha256 = "1nvlslx07xx97mpi4cxnd2kdjrz3ddr2mvn7dickhdqxk7y9ch2l";
+      system = "flac-metadata";
+      asd = "flac-metadata";
+    });
+    systems = [ "flac-metadata" ];
+    lispLibs = [ (getAttr "golden-utils" pkgs) (getAttr "parsley" pkgs) ];
+  };
+  flare = {
+    pname = "flare";
+    version = "20210531-git";
+    asds = [ "flare" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/flare/2021-05-31/flare-20210531-git.tgz";
+      sha256 = "00nm3sjngbflj2gd5q0xs2m136w4kix6krww23nk64pkkyq2fs86";
+      system = "flare";
+      asd = "flare";
+    });
+    systems = [ "flare" ];
+    lispLibs = [ (getAttr "_3d-vectors" pkgs) (getAttr "array-utils" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "for" pkgs) (getAttr "lambda-fiddle" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  flare-viewer = {
+    pname = "flare-viewer";
+    version = "20210531-git";
+    asds = [ "flare-viewer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/flare/2021-05-31/flare-20210531-git.tgz";
+      sha256 = "00nm3sjngbflj2gd5q0xs2m136w4kix6krww23nk64pkkyq2fs86";
+      system = "flare-viewer";
+      asd = "flare-viewer";
+    });
+    systems = [ "flare-viewer" ];
+    lispLibs = [ (getAttr "cl-opengl" pkgs) (getAttr "flare" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtopengl" pkgs) (getAttr "qtools" pkgs) (getAttr "verbose" pkgs) ];
+  };
+  flat-tree = {
+    pname = "flat-tree";
+    version = "20190813-git";
+    asds = [ "flat-tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-flat-tree/2019-08-13/cl-flat-tree-20190813-git.tgz";
+      sha256 = "05nw1j0rr0vgz6shkjv87yn2mp0b4s7v5gxxcqcn1qi7fgbn55z7";
+      system = "flat-tree";
+      asd = "flat-tree";
+    });
+    systems = [ "flat-tree" ];
+    lispLibs = [  ];
+  };
+  flexi-streams = {
+    pname = "flexi-streams";
+    version = "20210807-git";
+    asds = [ "flexi-streams" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/flexi-streams/2021-08-07/flexi-streams-20210807-git.tgz";
+      sha256 = "0xbzmyan0vr8s7gnn7c9lwyn2v5w67c620m8vjacdkhdmx0ivwph";
+      system = "flexi-streams";
+      asd = "flexi-streams";
+    });
+    systems = [ "flexi-streams" ];
+    lispLibs = [ (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  flexi-streams-test = {
+    pname = "flexi-streams-test";
+    version = "20210807-git";
+    asds = [ "flexi-streams-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/flexi-streams/2021-08-07/flexi-streams-20210807-git.tgz";
+      sha256 = "0xbzmyan0vr8s7gnn7c9lwyn2v5w67c620m8vjacdkhdmx0ivwph";
+      system = "flexi-streams-test";
+      asd = "flexi-streams";
+    });
+    systems = [ "flexi-streams-test" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) ];
+  };
+  flexichain = {
+    pname = "flexichain";
+    version = "20201220-git";
+    asds = [ "flexichain" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/flexichain/2020-12-20/flexichain-20201220-git.tgz";
+      sha256 = "1ivkffnkc1iqmpl1p1rgyfbbgjmjcid4iszvdql1jjz324lq94g6";
+      system = "flexichain";
+      asd = "flexichain";
+    });
+    systems = [ "flexichain" ];
+    lispLibs = [ (getAttr "trivial-garbage" pkgs) ];
+  };
+  flexichain-doc = {
+    pname = "flexichain-doc";
+    version = "20201220-git";
+    asds = [ "flexichain-doc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/flexichain/2020-12-20/flexichain-20201220-git.tgz";
+      sha256 = "1ivkffnkc1iqmpl1p1rgyfbbgjmjcid4iszvdql1jjz324lq94g6";
+      system = "flexichain-doc";
+      asd = "flexichain-doc";
+    });
+    systems = [ "flexichain-doc" ];
+    lispLibs = [  ];
+  };
+  float-features = {
+    pname = "float-features";
+    version = "20210228-git";
+    asds = [ "float-features" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/float-features/2021-02-28/float-features-20210228-git.tgz";
+      sha256 = "052dvkkq10xnc3pbjwwzil7gkw6a1497g1h6vmvkhxssihmmcy8y";
+      system = "float-features";
+      asd = "float-features";
+    });
+    systems = [ "float-features" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  float-features-tests = {
+    pname = "float-features-tests";
+    version = "20210228-git";
+    asds = [ "float-features-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/float-features/2021-02-28/float-features-20210228-git.tgz";
+      sha256 = "052dvkkq10xnc3pbjwwzil7gkw6a1497g1h6vmvkhxssihmmcy8y";
+      system = "float-features-tests";
+      asd = "float-features-tests";
+    });
+    systems = [ "float-features-tests" ];
+    lispLibs = [ (getAttr "float-features" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  floating-point = {
+    pname = "floating-point";
+    version = "20141106-git";
+    asds = [ "floating-point" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/floating-point/2014-11-06/floating-point-20141106-git.tgz";
+      sha256 = "1bqslmykg04innaqlp369pyjh61isj8xgv2h6pm95gsrxnf6wf7s";
+      system = "floating-point";
+      asd = "floating-point";
+    });
+    systems = [ "floating-point" ];
+    lispLibs = [  ];
+  };
+  floating-point-contractions = {
+    pname = "floating-point-contractions";
+    version = "20201220-git";
+    asds = [ "floating-point-contractions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/floating-point-contractions/2020-12-20/floating-point-contractions-20201220-git.tgz";
+      sha256 = "0mr8bnc7hn0ii0cmlfnlwc14zkgbgdf099x5crrf9cp9wda4p082";
+      system = "floating-point-contractions";
+      asd = "floating-point-contractions";
+    });
+    systems = [ "floating-point-contractions" ];
+    lispLibs = [  ];
+  };
+  floating-point-test = {
+    pname = "floating-point-test";
+    version = "20141106-git";
+    asds = [ "floating-point-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/floating-point/2014-11-06/floating-point-20141106-git.tgz";
+      sha256 = "1bqslmykg04innaqlp369pyjh61isj8xgv2h6pm95gsrxnf6wf7s";
+      system = "floating-point-test";
+      asd = "floating-point-test";
+    });
+    systems = [ "floating-point-test" ];
+    lispLibs = [ (getAttr "floating-point" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  flow = {
+    pname = "flow";
+    version = "20200610-git";
+    asds = [ "flow" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/flow/2020-06-10/flow-20200610-git.tgz";
+      sha256 = "0ysw1kwiqlf8kzllhnz8v3q40dmvwf83fzq8bfkbmwy5hfjh3pxp";
+      system = "flow";
+      asd = "flow";
+    });
+    systems = [ "flow" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "documentation-utils" pkgs) ];
+  };
+  flow-visualizer = {
+    pname = "flow-visualizer";
+    version = "20200610-git";
+    asds = [ "flow-visualizer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/flow/2020-06-10/flow-20200610-git.tgz";
+      sha256 = "0ysw1kwiqlf8kzllhnz8v3q40dmvwf83fzq8bfkbmwy5hfjh3pxp";
+      system = "flow-visualizer";
+      asd = "flow-visualizer";
+    });
+    systems = [ "flow-visualizer" ];
+    lispLibs = [ (getAttr "flow" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtools" pkgs) ];
+  };
+  flute = {
+    pname = "flute";
+    version = "20180831-git";
+    asds = [ "flute" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/flute/2018-08-31/flute-20180831-git.tgz";
+      sha256 = "0q8jhp040cvpppyn820mm6a550yfxyr1lar298x13c42mm807f4f";
+      system = "flute";
+      asd = "flute";
+    });
+    systems = [ "flute" ];
+    lispLibs = [ (getAttr "assoc-utils" pkgs) (getAttr "let-over-lambda" pkgs) ];
+  };
+  flute-test = {
+    pname = "flute-test";
+    version = "20180831-git";
+    asds = [ "flute-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/flute/2018-08-31/flute-20180831-git.tgz";
+      sha256 = "0q8jhp040cvpppyn820mm6a550yfxyr1lar298x13c42mm807f4f";
+      system = "flute-test";
+      asd = "flute-test";
+    });
+    systems = [ "flute-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "flute" pkgs) ];
+  };
+  fmarshal = {
+    pname = "fmarshal";
+    version = "20130720-git";
+    asds = [ "fmarshal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/marshal/2013-07-20/marshal-20130720-git.tgz";
+      sha256 = "1c0hcf7i9kzgbmayhmcjg0kv5966yqlimvj67gl4mzvwhbdkc2nf";
+      system = "fmarshal";
+      asd = "fmarshal";
+    });
+    systems = [ "fmarshal" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  fmarshal-test = {
+    pname = "fmarshal-test";
+    version = "20130720-git";
+    asds = [ "fmarshal-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/marshal/2013-07-20/marshal-20130720-git.tgz";
+      sha256 = "1c0hcf7i9kzgbmayhmcjg0kv5966yqlimvj67gl4mzvwhbdkc2nf";
+      system = "fmarshal-test";
+      asd = "fmarshal-test";
+    });
+    systems = [ "fmarshal-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "fmarshal" pkgs) ];
+  };
+  fmt = {
+    pname = "fmt";
+    version = "20210531-git";
+    asds = [ "fmt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fmt/2021-05-31/fmt-20210531-git.tgz";
+      sha256 = "0dkpl2y2x3j1gw7p0fsimrvsp2r3bbqpf4siswf7bkpy8lk32mkc";
+      system = "fmt";
+      asd = "fmt";
+    });
+    systems = [ "fmt" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  fmt-test = {
+    pname = "fmt-test";
+    version = "20210531-git";
+    asds = [ "fmt-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fmt/2021-05-31/fmt-20210531-git.tgz";
+      sha256 = "0dkpl2y2x3j1gw7p0fsimrvsp2r3bbqpf4siswf7bkpy8lk32mkc";
+      system = "fmt-test";
+      asd = "fmt-test";
+    });
+    systems = [ "fmt-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "fmt" pkgs) ];
+  };
+  fmt-time = {
+    pname = "fmt-time";
+    version = "20210531-git";
+    asds = [ "fmt-time" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fmt/2021-05-31/fmt-20210531-git.tgz";
+      sha256 = "0dkpl2y2x3j1gw7p0fsimrvsp2r3bbqpf4siswf7bkpy8lk32mkc";
+      system = "fmt-time";
+      asd = "fmt-time";
+    });
+    systems = [ "fmt-time" ];
+    lispLibs = [ (getAttr "fmt" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  fn = {
+    pname = "fn";
+    version = "20171019-git";
+    asds = [ "fn" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fn/2017-10-19/fn-20171019-git.tgz";
+      sha256 = "0yyp9z6iwx476whz0n1rpjznjyqqhlylhzwpgg5xx92lxmskl752";
+      system = "fn";
+      asd = "fn";
+    });
+    systems = [ "fn" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  fof = {
+    pname = "fof";
+    version = "20211230-git";
+    asds = [ "fof" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fof/2021-12-30/fof-20211230-git.tgz";
+      sha256 = "0ipy51q2fw03xk9rqcyzbq2b9c32npc1gl3c53rdjywpak7zwwg6";
+      system = "fof";
+      asd = "fof";
+    });
+    systems = [ "fof" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "str" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "local-time" pkgs) (getAttr "magicffi" pkgs) (getAttr "named-readtables" pkgs) (getAttr "osicat" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-package-local-nicknames" pkgs) ];
+  };
+  fof_slash_mf = {
+    pname = "fof_mf";
+    version = "20211230-git";
+    asds = [ "fof" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fof/2021-12-30/fof-20211230-git.tgz";
+      sha256 = "0ipy51q2fw03xk9rqcyzbq2b9c32npc1gl3c53rdjywpak7zwwg6";
+      system = "fof";
+      asd = "fof";
+    });
+    systems = [ "fof/mf" ];
+    lispLibs = [  ];
+  };
+  folio = {
+    pname = "folio";
+    version = "20130128-git";
+    asds = [ "folio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz";
+      sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64";
+      system = "folio";
+      asd = "folio";
+    });
+    systems = [ "folio" ];
+    lispLibs = [ (getAttr "folio_dot_as" pkgs) (getAttr "folio_dot_boxes" pkgs) (getAttr "folio_dot_collections" pkgs) (getAttr "folio_dot_functions" pkgs) ];
+  };
+  folio_dot_as = {
+    pname = "folio.as";
+    version = "20130128-git";
+    asds = [ "folio.as" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz";
+      sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64";
+      system = "folio.as";
+      asd = "folio.as";
+    });
+    systems = [ "folio.as" ];
+    lispLibs = [  ];
+  };
+  folio_dot_boxes = {
+    pname = "folio.boxes";
+    version = "20130128-git";
+    asds = [ "folio.boxes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz";
+      sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64";
+      system = "folio.boxes";
+      asd = "folio.boxes";
+    });
+    systems = [ "folio.boxes" ];
+    lispLibs = [  ];
+  };
+  folio_dot_collections = {
+    pname = "folio.collections";
+    version = "20130128-git";
+    asds = [ "folio.collections" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz";
+      sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64";
+      system = "folio.collections";
+      asd = "folio.collections";
+    });
+    systems = [ "folio.collections" ];
+    lispLibs = [ (getAttr "folio_dot_as" pkgs) (getAttr "folio_dot_functions" pkgs) (getAttr "fset" pkgs) ];
+  };
+  folio_dot_functions = {
+    pname = "folio.functions";
+    version = "20130128-git";
+    asds = [ "folio.functions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio/2013-01-28/folio-20130128-git.tgz";
+      sha256 = "061kryjclnkp60r8vhcpzy9q0k755p1jc1vp4vj13k7piwr1bj64";
+      system = "folio.functions";
+      asd = "folio.functions";
+    });
+    systems = [ "folio.functions" ];
+    lispLibs = [  ];
+  };
+  folio2 = {
+    pname = "folio2";
+    version = "20191007-git";
+    asds = [ "folio2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2";
+      asd = "folio2";
+    });
+    systems = [ "folio2" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "folio2-as" pkgs) (getAttr "folio2-as-syntax" pkgs) (getAttr "folio2-boxes" pkgs) (getAttr "folio2-functions" pkgs) (getAttr "folio2-functions-syntax" pkgs) (getAttr "folio2-make" pkgs) (getAttr "folio2-maps" pkgs) (getAttr "folio2-maps-syntax" pkgs) (getAttr "folio2-pairs" pkgs) (getAttr "folio2-sequences" pkgs) (getAttr "folio2-sequences-syntax" pkgs) (getAttr "folio2-series" pkgs) (getAttr "folio2-taps" pkgs) (getAttr "fset" pkgs) (getAttr "series" pkgs) ];
+  };
+  folio2-as = {
+    pname = "folio2-as";
+    version = "20191007-git";
+    asds = [ "folio2-as" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-as";
+      asd = "folio2-as";
+    });
+    systems = [ "folio2-as" ];
+    lispLibs = [  ];
+  };
+  folio2-as-syntax = {
+    pname = "folio2-as-syntax";
+    version = "20191007-git";
+    asds = [ "folio2-as-syntax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-as-syntax";
+      asd = "folio2-as-syntax";
+    });
+    systems = [ "folio2-as-syntax" ];
+    lispLibs = [ (getAttr "folio2-as" pkgs) ];
+  };
+  folio2-as-tests = {
+    pname = "folio2-as-tests";
+    version = "20191007-git";
+    asds = [ "folio2-as-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-as-tests";
+      asd = "folio2-as-tests";
+    });
+    systems = [ "folio2-as-tests" ];
+    lispLibs = [ (getAttr "folio2-as" pkgs) (getAttr "folio2-as-syntax" pkgs) (getAttr "lift" pkgs) ];
+  };
+  folio2-boxes = {
+    pname = "folio2-boxes";
+    version = "20191007-git";
+    asds = [ "folio2-boxes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-boxes";
+      asd = "folio2-boxes";
+    });
+    systems = [ "folio2-boxes" ];
+    lispLibs = [ (getAttr "folio2-as" pkgs) (getAttr "folio2-make" pkgs) ];
+  };
+  folio2-boxes-tests = {
+    pname = "folio2-boxes-tests";
+    version = "20191007-git";
+    asds = [ "folio2-boxes-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-boxes-tests";
+      asd = "folio2-boxes-tests";
+    });
+    systems = [ "folio2-boxes-tests" ];
+    lispLibs = [ (getAttr "folio2-boxes" pkgs) (getAttr "lift" pkgs) ];
+  };
+  folio2-functions = {
+    pname = "folio2-functions";
+    version = "20191007-git";
+    asds = [ "folio2-functions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-functions";
+      asd = "folio2-functions";
+    });
+    systems = [ "folio2-functions" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "folio2-as" pkgs) (getAttr "folio2-make" pkgs) ];
+  };
+  folio2-functions-syntax = {
+    pname = "folio2-functions-syntax";
+    version = "20191007-git";
+    asds = [ "folio2-functions-syntax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-functions-syntax";
+      asd = "folio2-functions-syntax";
+    });
+    systems = [ "folio2-functions-syntax" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "folio2-functions" pkgs) ];
+  };
+  folio2-functions-tests = {
+    pname = "folio2-functions-tests";
+    version = "20191007-git";
+    asds = [ "folio2-functions-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-functions-tests";
+      asd = "folio2-functions-tests";
+    });
+    systems = [ "folio2-functions-tests" ];
+    lispLibs = [ (getAttr "folio2-functions" pkgs) (getAttr "folio2-functions-syntax" pkgs) (getAttr "lift" pkgs) ];
+  };
+  folio2-make = {
+    pname = "folio2-make";
+    version = "20191007-git";
+    asds = [ "folio2-make" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-make";
+      asd = "folio2-make";
+    });
+    systems = [ "folio2-make" ];
+    lispLibs = [  ];
+  };
+  folio2-make-tests = {
+    pname = "folio2-make-tests";
+    version = "20191007-git";
+    asds = [ "folio2-make-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-make-tests";
+      asd = "folio2-make-tests";
+    });
+    systems = [ "folio2-make-tests" ];
+    lispLibs = [ (getAttr "folio2-make" pkgs) (getAttr "lift" pkgs) ];
+  };
+  folio2-maps = {
+    pname = "folio2-maps";
+    version = "20191007-git";
+    asds = [ "folio2-maps" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-maps";
+      asd = "folio2-maps";
+    });
+    systems = [ "folio2-maps" ];
+    lispLibs = [ (getAttr "folio2-as" pkgs) (getAttr "folio2-make" pkgs) (getAttr "fset" pkgs) ];
+  };
+  folio2-maps-syntax = {
+    pname = "folio2-maps-syntax";
+    version = "20191007-git";
+    asds = [ "folio2-maps-syntax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-maps-syntax";
+      asd = "folio2-maps-syntax";
+    });
+    systems = [ "folio2-maps-syntax" ];
+    lispLibs = [ (getAttr "folio2-maps" pkgs) ];
+  };
+  folio2-maps-tests = {
+    pname = "folio2-maps-tests";
+    version = "20191007-git";
+    asds = [ "folio2-maps-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-maps-tests";
+      asd = "folio2-maps-tests";
+    });
+    systems = [ "folio2-maps-tests" ];
+    lispLibs = [ (getAttr "folio2-maps" pkgs) (getAttr "folio2-maps-syntax" pkgs) (getAttr "lift" pkgs) ];
+  };
+  folio2-pairs = {
+    pname = "folio2-pairs";
+    version = "20191007-git";
+    asds = [ "folio2-pairs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-pairs";
+      asd = "folio2-pairs";
+    });
+    systems = [ "folio2-pairs" ];
+    lispLibs = [ (getAttr "folio2-as" pkgs) (getAttr "folio2-make" pkgs) ];
+  };
+  folio2-pairs-tests = {
+    pname = "folio2-pairs-tests";
+    version = "20191007-git";
+    asds = [ "folio2-pairs-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-pairs-tests";
+      asd = "folio2-pairs-tests";
+    });
+    systems = [ "folio2-pairs-tests" ];
+    lispLibs = [ (getAttr "folio2-pairs" pkgs) (getAttr "lift" pkgs) ];
+  };
+  folio2-sequences = {
+    pname = "folio2-sequences";
+    version = "20191007-git";
+    asds = [ "folio2-sequences" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-sequences";
+      asd = "folio2-sequences";
+    });
+    systems = [ "folio2-sequences" ];
+    lispLibs = [ (getAttr "folio2-as" pkgs) (getAttr "folio2-make" pkgs) (getAttr "folio2-pairs" pkgs) (getAttr "fset" pkgs) (getAttr "series" pkgs) ];
+  };
+  folio2-sequences-syntax = {
+    pname = "folio2-sequences-syntax";
+    version = "20191007-git";
+    asds = [ "folio2-sequences-syntax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-sequences-syntax";
+      asd = "folio2-sequences-syntax";
+    });
+    systems = [ "folio2-sequences-syntax" ];
+    lispLibs = [ (getAttr "folio2-sequences" pkgs) ];
+  };
+  folio2-sequences-tests = {
+    pname = "folio2-sequences-tests";
+    version = "20191007-git";
+    asds = [ "folio2-sequences-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-sequences-tests";
+      asd = "folio2-sequences-tests";
+    });
+    systems = [ "folio2-sequences-tests" ];
+    lispLibs = [ (getAttr "folio2-sequences" pkgs) (getAttr "folio2-sequences-syntax" pkgs) (getAttr "lift" pkgs) ];
+  };
+  folio2-series = {
+    pname = "folio2-series";
+    version = "20191007-git";
+    asds = [ "folio2-series" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-series";
+      asd = "folio2-series";
+    });
+    systems = [ "folio2-series" ];
+    lispLibs = [ (getAttr "folio2-as" pkgs) (getAttr "folio2-make" pkgs) (getAttr "folio2-pairs" pkgs) (getAttr "folio2-sequences" pkgs) (getAttr "fset" pkgs) (getAttr "series" pkgs) ];
+  };
+  folio2-series-tests = {
+    pname = "folio2-series-tests";
+    version = "20191007-git";
+    asds = [ "folio2-series-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-series-tests";
+      asd = "folio2-series-tests";
+    });
+    systems = [ "folio2-series-tests" ];
+    lispLibs = [ (getAttr "folio2-series" pkgs) (getAttr "lift" pkgs) ];
+  };
+  folio2-taps = {
+    pname = "folio2-taps";
+    version = "20191007-git";
+    asds = [ "folio2-taps" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-taps";
+      asd = "folio2-taps";
+    });
+    systems = [ "folio2-taps" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "folio2-as" pkgs) (getAttr "folio2-make" pkgs) (getAttr "folio2-maps" pkgs) (getAttr "folio2-pairs" pkgs) (getAttr "folio2-sequences" pkgs) (getAttr "folio2-series" pkgs) (getAttr "fset" pkgs) ];
+  };
+  folio2-taps-tests = {
+    pname = "folio2-taps-tests";
+    version = "20191007-git";
+    asds = [ "folio2-taps-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-taps-tests";
+      asd = "folio2-taps-tests";
+    });
+    systems = [ "folio2-taps-tests" ];
+    lispLibs = [ (getAttr "folio2-taps" pkgs) (getAttr "lift" pkgs) ];
+  };
+  folio2-tests = {
+    pname = "folio2-tests";
+    version = "20191007-git";
+    asds = [ "folio2-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/folio2/2019-10-07/folio2-20191007-git.tgz";
+      sha256 = "0h214bhbxk229p4pyb6cb85gx6jvhzk2brbzhwhixprznilz6shd";
+      system = "folio2-tests";
+      asd = "folio2-tests";
+    });
+    systems = [ "folio2-tests" ];
+    lispLibs = [ (getAttr "folio2" pkgs) ];
+  };
+  font-discovery = {
+    pname = "font-discovery";
+    version = "20201016-git";
+    asds = [ "font-discovery" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/font-discovery/2020-10-16/font-discovery-20201016-git.tgz";
+      sha256 = "0k4hafgmd5flvr48n3bmyxfbb83i7nycvipnpiscns5la4nq2q9x";
+      system = "font-discovery";
+      asd = "font-discovery";
+    });
+    systems = [ "font-discovery" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-indent" pkgs) ];
+  };
+  foo-wild = {
+    pname = "foo-wild";
+    version = "20210531-git";
+    asds = [ "foo-wild" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/wild-package-inferred-system/2021-05-31/wild-package-inferred-system-20210531-git.tgz";
+      sha256 = "0sp3j3i83aqyq9bl3djs490nilryi9sh1wjbcqd9z94d9wfbfz80";
+      system = "foo-wild";
+      asd = "foo-wild";
+    });
+    systems = [ "foo-wild" ];
+    lispLibs = [ (getAttr "wild-package-inferred-system" pkgs) ];
+  };
+  for = {
+    pname = "for";
+    version = "20200325-git";
+    asds = [ "for" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/for/2020-03-25/for-20200325-git.tgz";
+      sha256 = "1akz9ggh33x2cq3h0f1cd0p632v1mbagv3dzsb0r10bwg9lh3nmv";
+      system = "for";
+      asd = "for";
+    });
+    systems = [ "for" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) (getAttr "form-fiddle" pkgs) (getAttr "lambda-fiddle" pkgs) ];
+  };
+  foreign-array = {
+    pname = "foreign-array";
+    version = "master-df14cb8c-git";
+    asds = [ "foreign-array" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/antik/2019-10-08/antik-master-df14cb8c-git.tgz";
+      sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0";
+      system = "foreign-array";
+      asd = "foreign-array";
+    });
+    systems = [ "foreign-array" ];
+    lispLibs = [ (getAttr "antik-base" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "static-vectors" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  fork-future = {
+    pname = "fork-future";
+    version = "20211020-git";
+    asds = [ "fork-future" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "fork-future";
+      asd = "fork-future";
+    });
+    systems = [ "fork-future" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-store" pkgs) ];
+  };
+  form-fiddle = {
+    pname = "form-fiddle";
+    version = "20190710-git";
+    asds = [ "form-fiddle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/form-fiddle/2019-07-10/form-fiddle-20190710-git.tgz";
+      sha256 = "041iznc9mpfyrl0sv5893ys9pbb2pvbn9g3clarqi7gsfj483jln";
+      system = "form-fiddle";
+      asd = "form-fiddle";
+    });
+    systems = [ "form-fiddle" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  format-string-builder = {
+    pname = "format-string-builder";
+    version = "20170124-git";
+    asds = [ "format-string-builder" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/format-string-builder/2017-01-24/format-string-builder-20170124-git.tgz";
+      sha256 = "1266w5wynfhamxdf8ms2236m202f6982fd9ph8fs98nqccq2pcac";
+      system = "format-string-builder";
+      asd = "format-string-builder";
+    });
+    systems = [ "format-string-builder" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  formlets = {
+    pname = "formlets";
+    version = "20161204-git";
+    asds = [ "formlets" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/formlets/2016-12-04/formlets-20161204-git.tgz";
+      sha256 = "0r2afi5lwzxfb8xylx9cs44wqhla4b50k21nzg2dxn7z8m6yspfn";
+      system = "formlets";
+      asd = "formlets";
+    });
+    systems = [ "formlets" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cl-who" pkgs) (getAttr "drakma" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  formlets-test = {
+    pname = "formlets-test";
+    version = "20161204-git";
+    asds = [ "formlets-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/formlets/2016-12-04/formlets-20161204-git.tgz";
+      sha256 = "0r2afi5lwzxfb8xylx9cs44wqhla4b50k21nzg2dxn7z8m6yspfn";
+      system = "formlets-test";
+      asd = "formlets-test";
+    });
+    systems = [ "formlets-test" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cl-who" pkgs) (getAttr "drakma" pkgs) (getAttr "formlets" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  fprog = {
+    pname = "fprog";
+    version = "20181210-git";
+    asds = [ "fprog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cambl/2018-12-10/cambl-20181210-git.tgz";
+      sha256 = "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz";
+      system = "fprog";
+      asd = "fprog";
+    });
+    systems = [ "fprog" ];
+    lispLibs = [  ];
+  };
+  fps-independent-timestep = {
+    pname = "fps-independent-timestep";
+    version = "20200427-git";
+    asds = [ "fps-independent-timestep" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "fps-independent-timestep";
+      asd = "fps-independent-timestep";
+    });
+    systems = [ "fps-independent-timestep" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  fred = {
+    pname = "fred";
+    version = "20150923-git";
+    asds = [ "fred" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fred/2015-09-23/fred-20150923-git.tgz";
+      sha256 = "0qn2rd67haz4pvvv4yp2yvbvjhficv8xjm7ijg0r34gxllm6i373";
+      system = "fred";
+      asd = "fred";
+    });
+    systems = [ "fred" ];
+    lispLibs = [ (getAttr "drakma" pkgs) (getAttr "s-xml" pkgs) ];
+  };
+  freebsd-sysctl = {
+    pname = "freebsd-sysctl";
+    version = "20210228-git";
+    asds = [ "freebsd-sysctl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/freebsd-sysctl/2021-02-28/freebsd-sysctl-20210228-git.tgz";
+      sha256 = "1gzqiqz0pi273ia2q61bhr908ymbl8cll5v2h8lkicr9pff37g91";
+      system = "freebsd-sysctl";
+      asd = "freebsd-sysctl";
+    });
+    systems = [ "freebsd-sysctl" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  freebsd-sysctl_slash_tests = {
+    pname = "freebsd-sysctl_tests";
+    version = "20210228-git";
+    asds = [ "freebsd-sysctl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/freebsd-sysctl/2021-02-28/freebsd-sysctl-20210228-git.tgz";
+      sha256 = "1gzqiqz0pi273ia2q61bhr908ymbl8cll5v2h8lkicr9pff37g91";
+      system = "freebsd-sysctl";
+      asd = "freebsd-sysctl";
+    });
+    systems = [ "freebsd-sysctl/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "freebsd-sysctl" pkgs) ];
+  };
+  freesound = {
+    pname = "freesound";
+    version = "20210411-git";
+    asds = [ "freesound" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/freesound/2021-04-11/freesound-20210411-git.tgz";
+      sha256 = "1nsmbz7qx9wn86860zlnw75sdgpr8qfzgqfbwxggc3zr7p83kric";
+      system = "freesound";
+      asd = "freesound";
+    });
+    systems = [ "freesound" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "dexador" pkgs) (getAttr "trivial-open-browser" pkgs) (getAttr "yason" pkgs) ];
+  };
+  fresnel = {
+    pname = "fresnel";
+    version = "20211230-git";
+    asds = [ "fresnel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fresnel/2021-12-30/fresnel-20211230-git.tgz";
+      sha256 = "0whxhnfnjpyqfxadvbwk8m0bxjcdqa9rm1w851fh85q9c6mg9kfr";
+      system = "fresnel";
+      asd = "fresnel";
+    });
+    systems = [ "fresnel" ];
+    lispLibs = [ (getAttr "gt" pkgs) (getAttr "fare-quasiquote-extras" pkgs) (getAttr "trivial-package-local-nicknames" pkgs) ];
+  };
+  fresnel_slash_readtable = {
+    pname = "fresnel_readtable";
+    version = "20211230-git";
+    asds = [ "fresnel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fresnel/2021-12-30/fresnel-20211230-git.tgz";
+      sha256 = "0whxhnfnjpyqfxadvbwk8m0bxjcdqa9rm1w851fh85q9c6mg9kfr";
+      system = "fresnel";
+      asd = "fresnel";
+    });
+    systems = [ "fresnel/readtable" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "gt" pkgs) (getAttr "fare-quasiquote-extras" pkgs) ];
+  };
+  froute = {
+    pname = "froute";
+    version = "20180711-git";
+    asds = [ "froute" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/froute/2018-07-11/froute-20180711-git.tgz";
+      sha256 = "1q7xzgn7g5ky1d8m121r8hskcg4gqpripr791k03y7dz5vkfj14x";
+      system = "froute";
+      asd = "froute";
+    });
+    systems = [ "froute" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  froute_slash_hunchentoot = {
+    pname = "froute_hunchentoot";
+    version = "20180711-git";
+    asds = [ "froute" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/froute/2018-07-11/froute-20180711-git.tgz";
+      sha256 = "1q7xzgn7g5ky1d8m121r8hskcg4gqpripr791k03y7dz5vkfj14x";
+      system = "froute";
+      asd = "froute";
+    });
+    systems = [ "froute/hunchentoot" ];
+    lispLibs = [ (getAttr "froute" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  froute_slash_test = {
+    pname = "froute_test";
+    version = "20180711-git";
+    asds = [ "froute" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/froute/2018-07-11/froute-20180711-git.tgz";
+      sha256 = "1q7xzgn7g5ky1d8m121r8hskcg4gqpripr791k03y7dz5vkfj14x";
+      system = "froute";
+      asd = "froute";
+    });
+    systems = [ "froute/test" ];
+    lispLibs = [ (getAttr "froute" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  frpc = {
+    pname = "frpc";
+    version = "20151031-git";
+    asds = [ "frpc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/frpc/2015-10-31/frpc-20151031-git.tgz";
+      sha256 = "0yac1q79kw1w1qd7zjgg912n780v318n2drzdimlv5n3bwd6pm2r";
+      system = "frpc";
+      asd = "frpc";
+    });
+    systems = [ "frpc" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "glass" pkgs) (getAttr "nibbles" pkgs) (getAttr "pounds" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  frpc-des = {
+    pname = "frpc-des";
+    version = "20151031-git";
+    asds = [ "frpc-des" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/frpc/2015-10-31/frpc-20151031-git.tgz";
+      sha256 = "0yac1q79kw1w1qd7zjgg912n780v318n2drzdimlv5n3bwd6pm2r";
+      system = "frpc-des";
+      asd = "frpc";
+    });
+    systems = [ "frpc-des" ];
+    lispLibs = [ (getAttr "frpc" pkgs) (getAttr "ironclad" pkgs) ];
+  };
+  frpc-gss = {
+    pname = "frpc-gss";
+    version = "20151031-git";
+    asds = [ "frpc-gss" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/frpc/2015-10-31/frpc-20151031-git.tgz";
+      sha256 = "0yac1q79kw1w1qd7zjgg912n780v318n2drzdimlv5n3bwd6pm2r";
+      system = "frpc-gss";
+      asd = "frpc";
+    });
+    systems = [ "frpc-gss" ];
+    lispLibs = [ (getAttr "cerberus" pkgs) (getAttr "frpc" pkgs) ];
+  };
+  frpcgen = {
+    pname = "frpcgen";
+    version = "20151031-git";
+    asds = [ "frpcgen" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/frpc/2015-10-31/frpc-20151031-git.tgz";
+      sha256 = "0yac1q79kw1w1qd7zjgg912n780v318n2drzdimlv5n3bwd6pm2r";
+      system = "frpcgen";
+      asd = "frpcgen";
+    });
+    systems = [ "frpcgen" ];
+    lispLibs = [ (getAttr "cl-lex" pkgs) (getAttr "yacc" pkgs) (getAttr "frpc" pkgs) ];
+  };
+  fs-watcher = {
+    pname = "fs-watcher";
+    version = "20171130-git";
+    asds = [ "fs-watcher" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fs-watcher/2017-11-30/fs-watcher-20171130-git.tgz";
+      sha256 = "0fr2wb39609z4afk4w21vwnwi4g050x4gag2ykdx6hn9m65cp9db";
+      system = "fs-watcher";
+      asd = "fs-watcher";
+    });
+    systems = [ "fs-watcher" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "com_dot_gigamonkeys_dot_pathnames" pkgs) ];
+  };
+  fset = {
+    pname = "fset";
+    version = "20200925-git";
+    asds = [ "fset" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fset/2020-09-25/fset-20200925-git.tgz";
+      sha256 = "15285aacb0dlhvbrkc11yffp5x2zd1jvm77zz7rrpbdwqbafp8sy";
+      system = "fset";
+      asd = "fset";
+    });
+    systems = [ "fset" ];
+    lispLibs = [ (getAttr "misc-extensions" pkgs) (getAttr "mt19937" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  fset_slash_test = {
+    pname = "fset_test";
+    version = "20200925-git";
+    asds = [ "fset" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fset/2020-09-25/fset-20200925-git.tgz";
+      sha256 = "15285aacb0dlhvbrkc11yffp5x2zd1jvm77zz7rrpbdwqbafp8sy";
+      system = "fset";
+      asd = "fset";
+    });
+    systems = [ "fset/test" ];
+    lispLibs = [ (getAttr "fset" pkgs) ];
+  };
+  fsocket = {
+    pname = "fsocket";
+    version = "20211230-git";
+    asds = [ "fsocket" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fsocket/2021-12-30/fsocket-20211230-git.tgz";
+      sha256 = "18h3s4bv3243xbp0qdywn9kmqvx8zh9cscc9f6sfyxrz6xhymw6p";
+      system = "fsocket";
+      asd = "fsocket";
+    });
+    systems = [ "fsocket" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  fsvd = {
+    pname = "fsvd";
+    version = "20131211-git";
+    asds = [ "fsvd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fsvd/2013-12-11/fsvd-20131211-git.tgz";
+      sha256 = "1m22g9x18ixjh5nylm56l5p67ryx9dbd3g6lyzvwk9nayjmqn7x5";
+      system = "fsvd";
+      asd = "fsvd";
+    });
+    systems = [ "fsvd" ];
+    lispLibs = [  ];
+  };
+  ftp = {
+    pname = "ftp";
+    version = "20150608-http";
+    asds = [ "ftp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ftp/2015-06-08/cl-ftp-20150608-http.tgz";
+      sha256 = "1m955rjpaynybzmb9q631mll764hm06lydvhra50mfjj75ynwsvw";
+      system = "ftp";
+      asd = "ftp";
+    });
+    systems = [ "ftp" ];
+    lispLibs = [ (getAttr "cl-ftp" pkgs) ];
+  };
+  fucc-generator = {
+    pname = "fucc-generator";
+    version = "v0.2.2";
+    asds = [ "fucc-generator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fucc/2020-04-27/fucc-v0.2.2.tgz";
+      sha256 = "10wznxw6yhkyh943xnm694innj13xdlmkx13pr8xwc6zdbdyb32k";
+      system = "fucc-generator";
+      asd = "fucc-generator";
+    });
+    systems = [ "fucc-generator" ];
+    lispLibs = [ (getAttr "fucc-parser" pkgs) ];
+  };
+  fucc-parser = {
+    pname = "fucc-parser";
+    version = "v0.2.2";
+    asds = [ "fucc-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fucc/2020-04-27/fucc-v0.2.2.tgz";
+      sha256 = "10wznxw6yhkyh943xnm694innj13xdlmkx13pr8xwc6zdbdyb32k";
+      system = "fucc-parser";
+      asd = "fucc-parser";
+    });
+    systems = [ "fucc-parser" ];
+    lispLibs = [  ];
+  };
+  function-cache = {
+    pname = "function-cache";
+    version = "20181210-git";
+    asds = [ "function-cache" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/function-cache/2018-12-10/function-cache-20181210-git.tgz";
+      sha256 = "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6";
+      system = "function-cache";
+      asd = "function-cache";
+    });
+    systems = [ "function-cache" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  function-cache-clsql = {
+    pname = "function-cache-clsql";
+    version = "20181210-git";
+    asds = [ "function-cache-clsql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/function-cache/2018-12-10/function-cache-20181210-git.tgz";
+      sha256 = "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6";
+      system = "function-cache-clsql";
+      asd = "function-cache-clsql";
+    });
+    systems = [ "function-cache-clsql" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "clsql-helper" pkgs) (getAttr "function-cache" pkgs) ];
+  };
+  function-cache_slash_test = {
+    pname = "function-cache_test";
+    version = "20181210-git";
+    asds = [ "function-cache" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/function-cache/2018-12-10/function-cache-20181210-git.tgz";
+      sha256 = "000vmd3f5rx5hs9nvphfric0gkzaadns31c6mxaslpv0k7pkrmc6";
+      system = "function-cache";
+      asd = "function-cache";
+    });
+    systems = [ "function-cache/test" ];
+    lispLibs = [ (getAttr "function-cache" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  functional-geometry = {
+    pname = "functional-geometry";
+    version = "20211230-git";
+    asds = [ "functional-geometry" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "functional-geometry";
+      asd = "functional-geometry";
+    });
+    systems = [ "functional-geometry" ];
+    lispLibs = [ (getAttr "clim-listener" pkgs) ];
+  };
+  functional-trees = {
+    pname = "functional-trees";
+    version = "20211020-git";
+    asds = [ "functional-trees" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/functional-trees/2021-10-20/functional-trees-20211020-git.tgz";
+      sha256 = "03cbx2aaj0ds3z1f7cm183lgd2nn8fr6dvn8z6pykrcm3v0hw2sg";
+      system = "functional-trees";
+      asd = "functional-trees";
+    });
+    systems = [ "functional-trees" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "asdf-package-system" pkgs) (getAttr "cl-store" pkgs) (getAttr "closer-mop" pkgs) (getAttr "fset" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  funds = {
+    pname = "funds";
+    version = "20211020-git";
+    asds = [ "funds" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/funds/2021-10-20/funds-20211020-git.tgz";
+      sha256 = "13y1jhvnpzrs9daz6f3z67w6h2y21ggb10j3j4vnc5p3m8i7ps4p";
+      system = "funds";
+      asd = "funds";
+    });
+    systems = [ "funds" ];
+    lispLibs = [  ];
+  };
+  future = {
+    pname = "future";
+    version = "20211020-git";
+    asds = [ "future" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clml/2021-10-20/clml-20211020-git.tgz";
+      sha256 = "0k8v6wjl5xnfkh00ls5gzafcl4lp0km8hy69v1li40fv0c026y0p";
+      system = "future";
+      asd = "future";
+    });
+    systems = [ "future" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  fuzzy-match = {
+    pname = "fuzzy-match";
+    version = "20210124-git";
+    asds = [ "fuzzy-match" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fuzzy-match/2021-01-24/fuzzy-match-20210124-git.tgz";
+      sha256 = "1lawndmzkl6f9sviy7ngn2s3xkc4akp8l505kvpslaz6qq0ayyqv";
+      system = "fuzzy-match";
+      asd = "fuzzy-match";
+    });
+    systems = [ "fuzzy-match" ];
+    lispLibs = [ (getAttr "str" pkgs) (getAttr "mk-string-metrics" pkgs) ];
+  };
+  fxml = {
+    pname = "fxml";
+    version = "20210228-git";
+    asds = [ "fxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz";
+      sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm";
+      system = "fxml";
+      asd = "fxml";
+    });
+    systems = [ "fxml" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "named-readtables" pkgs) (getAttr "quri" pkgs) (getAttr "serapeum" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  fxml_slash_css-selectors = {
+    pname = "fxml_css-selectors";
+    version = "20210228-git";
+    asds = [ "fxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz";
+      sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm";
+      system = "fxml";
+      asd = "fxml";
+    });
+    systems = [ "fxml/css-selectors" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "css-selectors" pkgs) (getAttr "fxml" pkgs) (getAttr "xpath" pkgs) ];
+  };
+  fxml_slash_cxml = {
+    pname = "fxml_cxml";
+    version = "20210228-git";
+    asds = [ "fxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz";
+      sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm";
+      system = "fxml";
+      asd = "fxml";
+    });
+    systems = [ "fxml/cxml" ];
+    lispLibs = [ (getAttr "cxml" pkgs) (getAttr "fxml" pkgs) ];
+  };
+  fxml_slash_dom = {
+    pname = "fxml_dom";
+    version = "20210228-git";
+    asds = [ "fxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz";
+      sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm";
+      system = "fxml";
+      asd = "fxml";
+    });
+    systems = [ "fxml/dom" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "named-readtables" pkgs) (getAttr "quri" pkgs) (getAttr "serapeum" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  fxml_slash_html5 = {
+    pname = "fxml_html5";
+    version = "20210228-git";
+    asds = [ "fxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz";
+      sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm";
+      system = "fxml";
+      asd = "fxml";
+    });
+    systems = [ "fxml/html5" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-html5-parser" pkgs) (getAttr "fset" pkgs) (getAttr "fxml" pkgs) (getAttr "xpath" pkgs) (getAttr "quri" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  fxml_slash_klacks = {
+    pname = "fxml_klacks";
+    version = "20210228-git";
+    asds = [ "fxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz";
+      sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm";
+      system = "fxml";
+      asd = "fxml";
+    });
+    systems = [ "fxml/klacks" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "named-readtables" pkgs) (getAttr "quri" pkgs) (getAttr "serapeum" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  fxml_slash_runes = {
+    pname = "fxml_runes";
+    version = "20210228-git";
+    asds = [ "fxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz";
+      sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm";
+      system = "fxml";
+      asd = "fxml";
+    });
+    systems = [ "fxml/runes" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "named-readtables" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  fxml_slash_sanitize = {
+    pname = "fxml_sanitize";
+    version = "20210228-git";
+    asds = [ "fxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz";
+      sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm";
+      system = "fxml";
+      asd = "fxml";
+    });
+    systems = [ "fxml/sanitize" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fxml" pkgs) (getAttr "quri" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  fxml_slash_sanitize_slash_test = {
+    pname = "fxml_sanitize_test";
+    version = "20210228-git";
+    asds = [ "fxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz";
+      sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm";
+      system = "fxml";
+      asd = "fxml";
+    });
+    systems = [ "fxml/sanitize/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-html5-parser" pkgs) (getAttr "fiveam" pkgs) (getAttr "fset" pkgs) (getAttr "fxml" pkgs) (getAttr "xpath" pkgs) (getAttr "quri" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  fxml_slash_stp = {
+    pname = "fxml_stp";
+    version = "20210228-git";
+    asds = [ "fxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz";
+      sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm";
+      system = "fxml";
+      asd = "fxml";
+    });
+    systems = [ "fxml/stp" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fxml" pkgs) (getAttr "xpath" pkgs) ];
+  };
+  fxml_slash_test = {
+    pname = "fxml_test";
+    version = "20210228-git";
+    asds = [ "fxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz";
+      sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm";
+      system = "fxml";
+      asd = "fxml";
+    });
+    systems = [ "fxml/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cxml" pkgs) (getAttr "cxml-rng" pkgs) (getAttr "fiveam" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "fxml" pkgs) (getAttr "named-readtables" pkgs) (getAttr "xpath" pkgs) (getAttr "quri" pkgs) (getAttr "serapeum" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  fxml_slash_xml = {
+    pname = "fxml_xml";
+    version = "20210228-git";
+    asds = [ "fxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz";
+      sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm";
+      system = "fxml";
+      asd = "fxml";
+    });
+    systems = [ "fxml/xml" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "named-readtables" pkgs) (getAttr "quri" pkgs) (getAttr "serapeum" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  fxml_slash_xpath = {
+    pname = "fxml_xpath";
+    version = "20210228-git";
+    asds = [ "fxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fxml/2021-02-28/fxml-20210228-git.tgz";
+      sha256 = "1vxdb1cjjqi986f72bggnw1s4yzv12g4li7vn4y49b6lphshr8lm";
+      system = "fxml";
+      asd = "fxml";
+    });
+    systems = [ "fxml/xpath" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fxml" pkgs) (getAttr "xpath" pkgs) ];
+  };
+  gadgets = {
+    pname = "gadgets";
+    version = "20211209-git";
+    asds = [ "gadgets" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gadgets/2021-12-09/gadgets-20211209-git.tgz";
+      sha256 = "0pf15z7ld5lp9f1gm5x9i2s57k2zqxws1dd498vibmi1brk1x6jv";
+      system = "gadgets";
+      asd = "gadgets";
+    });
+    systems = [ "gadgets" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-hash-util" pkgs) (getAttr "cl-utilities" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  garbage-pools = {
+    pname = "garbage-pools";
+    version = "20210124-git";
+    asds = [ "garbage-pools" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/garbage-pools/2021-01-24/garbage-pools-20210124-git.tgz";
+      sha256 = "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1";
+      system = "garbage-pools";
+      asd = "garbage-pools";
+    });
+    systems = [ "garbage-pools" ];
+    lispLibs = [  ];
+  };
+  garbage-pools-test = {
+    pname = "garbage-pools-test";
+    version = "20210124-git";
+    asds = [ "garbage-pools-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/garbage-pools/2021-01-24/garbage-pools-20210124-git.tgz";
+      sha256 = "04jqwr6j138him6wc4nrwjzm4lvyj5j31xqab02nkf8h9hmsf5v1";
+      system = "garbage-pools-test";
+      asd = "garbage-pools-test";
+    });
+    systems = [ "garbage-pools-test" ];
+    lispLibs = [ (getAttr "garbage-pools" pkgs) (getAttr "lift" pkgs) ];
+  };
+  garten = {
+    pname = "garten";
+    version = "20211020-git";
+    asds = [ "garten" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz";
+      sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r";
+      system = "garten";
+      asd = "garten";
+    });
+    systems = [ "garten" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  gcm = {
+    pname = "gcm";
+    version = "20141217-git";
+    asds = [ "gcm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gcm/2014-12-17/gcm-20141217-git.tgz";
+      sha256 = "1xnm1cj417d9syb634zi9w90c2191gxjrixa724s4h3hvj70y0ff";
+      system = "gcm";
+      asd = "gcm";
+    });
+    systems = [ "gcm" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "drakma" pkgs) (getAttr "com_dot_gigamonkeys_dot_json" pkgs) ];
+  };
+  geco = {
+    pname = "geco";
+    version = "20210228-git";
+    asds = [ "geco" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/geco/2021-02-28/geco-20210228-git.tgz";
+      sha256 = "1ncaf9ab7jz59zmga0p97blsjjb1m6db0qih57wipfhqdb5ylz17";
+      system = "geco";
+      asd = "geco";
+    });
+    systems = [ "geco" ];
+    lispLibs = [  ];
+  };
+  gendl = {
+    pname = "gendl";
+    version = "master-83d7b044-git";
+    asds = [ "gendl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "gendl";
+      asd = "gendl";
+    });
+    systems = [ "gendl" ];
+    lispLibs = [ (getAttr "cl-lite" pkgs) (getAttr "geysr" pkgs) (getAttr "gwl-graphics" pkgs) (getAttr "robot" pkgs) (getAttr "yadd" pkgs) ];
+  };
+  gendl-asdf = {
+    pname = "gendl-asdf";
+    version = "master-83d7b044-git";
+    asds = [ "gendl-asdf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "gendl-asdf";
+      asd = "gendl-asdf";
+    });
+    systems = [ "gendl-asdf" ];
+    lispLibs = [  ];
+  };
+  general-accumulator = {
+    pname = "general-accumulator";
+    version = "20211209-git";
+    asds = [ "general-accumulator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-general-accumulator/2021-12-09/cl-general-accumulator-20211209-git.tgz";
+      sha256 = "14ybsk1ahgya67clspacqij1lvs5bzv07rdq60nhgqsbc6s56j9g";
+      system = "general-accumulator";
+      asd = "general-accumulator";
+    });
+    systems = [ "general-accumulator" ];
+    lispLibs = [  ];
+  };
+  generators = {
+    pname = "generators";
+    version = "20130615-git";
+    asds = [ "generators" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generators/2013-06-15/generators-20130615-git.tgz";
+      sha256 = "1y8jlvv5c3av2ww33rwm2kh9sxmhfykhz235b33fbjpdxpx1r9bs";
+      system = "generators";
+      asd = "generators";
+    });
+    systems = [ "generators" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-cont" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  generic-cl = {
+    pname = "generic-cl";
+    version = "20211020-git";
+    asds = [ "generic-cl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl";
+      asd = "generic-cl";
+    });
+    systems = [ "generic-cl" ];
+    lispLibs = [ (getAttr "agutil" pkgs) (getAttr "generic-cl_dot_arithmetic" pkgs) (getAttr "generic-cl_dot_collector" pkgs) (getAttr "generic-cl_dot_comparison" pkgs) (getAttr "generic-cl_dot_container" pkgs) (getAttr "generic-cl_dot_iterator" pkgs) (getAttr "generic-cl_dot_lazy-seq" pkgs) (getAttr "generic-cl_dot_map" pkgs) (getAttr "generic-cl_dot_math" pkgs) (getAttr "generic-cl_dot_object" pkgs) (getAttr "generic-cl_dot_sequence" pkgs) (getAttr "generic-cl_dot_set" pkgs) ];
+  };
+  generic-cl_dot_arithmetic = {
+    pname = "generic-cl.arithmetic";
+    version = "20211020-git";
+    asds = [ "generic-cl.arithmetic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl.arithmetic";
+      asd = "generic-cl.arithmetic";
+    });
+    systems = [ "generic-cl.arithmetic" ];
+    lispLibs = [ (getAttr "generic-cl_dot_comparison" pkgs) (getAttr "generic-cl_dot_internal" pkgs) (getAttr "static-dispatch" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  generic-cl_dot_collector = {
+    pname = "generic-cl.collector";
+    version = "20211020-git";
+    asds = [ "generic-cl.collector" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl.collector";
+      asd = "generic-cl.collector";
+    });
+    systems = [ "generic-cl.collector" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "arrows" pkgs) (getAttr "generic-cl_dot_iterator" pkgs) (getAttr "generic-cl_dot_object" pkgs) (getAttr "static-dispatch" pkgs) ];
+  };
+  generic-cl_dot_comparison = {
+    pname = "generic-cl.comparison";
+    version = "20211020-git";
+    asds = [ "generic-cl.comparison" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl.comparison";
+      asd = "generic-cl.comparison";
+    });
+    systems = [ "generic-cl.comparison" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "generic-cl_dot_internal" pkgs) (getAttr "static-dispatch" pkgs) ];
+  };
+  generic-cl_dot_container = {
+    pname = "generic-cl.container";
+    version = "20211020-git";
+    asds = [ "generic-cl.container" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl.container";
+      asd = "generic-cl.container";
+    });
+    systems = [ "generic-cl.container" ];
+    lispLibs = [ (getAttr "generic-cl_dot_object" pkgs) (getAttr "static-dispatch" pkgs) ];
+  };
+  generic-cl_dot_internal = {
+    pname = "generic-cl.internal";
+    version = "20211020-git";
+    asds = [ "generic-cl.internal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl.internal";
+      asd = "generic-cl.internal";
+    });
+    systems = [ "generic-cl.internal" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-form-types" pkgs) (getAttr "static-dispatch" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  generic-cl_dot_iterator = {
+    pname = "generic-cl.iterator";
+    version = "20211020-git";
+    asds = [ "generic-cl.iterator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl.iterator";
+      asd = "generic-cl.iterator";
+    });
+    systems = [ "generic-cl.iterator" ];
+    lispLibs = [ (getAttr "agutil" pkgs) (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "arrows" pkgs) (getAttr "cl-form-types" pkgs) (getAttr "generic-cl_dot_container" pkgs) (getAttr "generic-cl_dot_internal" pkgs) (getAttr "generic-cl_dot_object" pkgs) (getAttr "parse-declarations-1_dot_0" pkgs) (getAttr "static-dispatch" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  generic-cl_dot_lazy-seq = {
+    pname = "generic-cl.lazy-seq";
+    version = "20211020-git";
+    asds = [ "generic-cl.lazy-seq" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl.lazy-seq";
+      asd = "generic-cl.lazy-seq";
+    });
+    systems = [ "generic-cl.lazy-seq" ];
+    lispLibs = [ (getAttr "agutil" pkgs) (getAttr "arrows" pkgs) (getAttr "cl-custom-hash-table" pkgs) (getAttr "generic-cl_dot_collector" pkgs) (getAttr "generic-cl_dot_comparison" pkgs) (getAttr "generic-cl_dot_container" pkgs) (getAttr "generic-cl_dot_iterator" pkgs) (getAttr "generic-cl_dot_map" pkgs) (getAttr "generic-cl_dot_object" pkgs) (getAttr "generic-cl_dot_sequence" pkgs) (getAttr "static-dispatch" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  generic-cl_dot_map = {
+    pname = "generic-cl.map";
+    version = "20211020-git";
+    asds = [ "generic-cl.map" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl.map";
+      asd = "generic-cl.map";
+    });
+    systems = [ "generic-cl.map" ];
+    lispLibs = [ (getAttr "agutil" pkgs) (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "arrows" pkgs) (getAttr "cl-custom-hash-table" pkgs) (getAttr "generic-cl_dot_collector" pkgs) (getAttr "generic-cl_dot_comparison" pkgs) (getAttr "generic-cl_dot_container" pkgs) (getAttr "generic-cl_dot_internal" pkgs) (getAttr "generic-cl_dot_iterator" pkgs) (getAttr "generic-cl_dot_object" pkgs) (getAttr "static-dispatch" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  generic-cl_dot_math = {
+    pname = "generic-cl.math";
+    version = "20211020-git";
+    asds = [ "generic-cl.math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl.math";
+      asd = "generic-cl.math";
+    });
+    systems = [ "generic-cl.math" ];
+    lispLibs = [ (getAttr "agutil" pkgs) (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "arrows" pkgs) (getAttr "generic-cl_dot_arithmetic" pkgs) (getAttr "static-dispatch" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  generic-cl_dot_object = {
+    pname = "generic-cl.object";
+    version = "20211020-git";
+    asds = [ "generic-cl.object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl.object";
+      asd = "generic-cl.object";
+    });
+    systems = [ "generic-cl.object" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "arrows" pkgs) (getAttr "generic-cl_dot_comparison" pkgs) (getAttr "static-dispatch" pkgs) ];
+  };
+  generic-cl_dot_sequence = {
+    pname = "generic-cl.sequence";
+    version = "20211020-git";
+    asds = [ "generic-cl.sequence" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl.sequence";
+      asd = "generic-cl.sequence";
+    });
+    systems = [ "generic-cl.sequence" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "arrows" pkgs) (getAttr "cl-custom-hash-table" pkgs) (getAttr "cl-form-types" pkgs) (getAttr "generic-cl_dot_collector" pkgs) (getAttr "generic-cl_dot_comparison" pkgs) (getAttr "generic-cl_dot_container" pkgs) (getAttr "generic-cl_dot_internal" pkgs) (getAttr "generic-cl_dot_iterator" pkgs) (getAttr "generic-cl_dot_map" pkgs) (getAttr "generic-cl_dot_object" pkgs) (getAttr "static-dispatch" pkgs) ];
+  };
+  generic-cl_dot_set = {
+    pname = "generic-cl.set";
+    version = "20211020-git";
+    asds = [ "generic-cl.set" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl.set";
+      asd = "generic-cl.set";
+    });
+    systems = [ "generic-cl.set" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "generic-cl_dot_arithmetic" pkgs) (getAttr "generic-cl_dot_collector" pkgs) (getAttr "generic-cl_dot_comparison" pkgs) (getAttr "generic-cl_dot_container" pkgs) (getAttr "generic-cl_dot_iterator" pkgs) (getAttr "generic-cl_dot_map" pkgs) (getAttr "generic-cl_dot_object" pkgs) (getAttr "generic-cl_dot_sequence" pkgs) (getAttr "static-dispatch" pkgs) ];
+  };
+  generic-cl_dot_util = {
+    pname = "generic-cl.util";
+    version = "20211020-git";
+    asds = [ "generic-cl.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl.util";
+      asd = "generic-cl.util";
+    });
+    systems = [ "generic-cl.util" ];
+    lispLibs = [ (getAttr "generic-cl" pkgs) ];
+  };
+  generic-cl_dot_util_slash_test = {
+    pname = "generic-cl.util_test";
+    version = "20211020-git";
+    asds = [ "generic-cl.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl.util";
+      asd = "generic-cl.util";
+    });
+    systems = [ "generic-cl.util/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "arrows" pkgs) (getAttr "fiveam" pkgs) (getAttr "generic-cl_dot_util" pkgs) ];
+  };
+  generic-cl_slash_test = {
+    pname = "generic-cl_test";
+    version = "20211020-git";
+    asds = [ "generic-cl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-cl/2021-10-20/generic-cl-20211020-git.tgz";
+      sha256 = "0glvig5jsyc4735n9sz6adp48lpfcdajhbmgggmxq8pb9j2cab7q";
+      system = "generic-cl";
+      asd = "generic-cl";
+    });
+    systems = [ "generic-cl/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "generic-cl" pkgs) ];
+  };
+  generic-comparability = {
+    pname = "generic-comparability";
+    version = "20180131-git";
+    asds = [ "generic-comparability" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-comparability/2018-01-31/generic-comparability-20180131-git.tgz";
+      sha256 = "01ma0cwirxarwwmdwflnh8kmysmr2smh5kyvzhb2074ljxg8yq2p";
+      system = "generic-comparability";
+      asd = "generic-comparability";
+    });
+    systems = [ "generic-comparability" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  generic-comparability-test = {
+    pname = "generic-comparability-test";
+    version = "20180131-git";
+    asds = [ "generic-comparability-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-comparability/2018-01-31/generic-comparability-20180131-git.tgz";
+      sha256 = "01ma0cwirxarwwmdwflnh8kmysmr2smh5kyvzhb2074ljxg8yq2p";
+      system = "generic-comparability-test";
+      asd = "generic-comparability";
+    });
+    systems = [ "generic-comparability-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fiveam" pkgs) (getAttr "generic-comparability" pkgs) ];
+  };
+  generic-sequences = {
+    pname = "generic-sequences";
+    version = "20150709-git";
+    asds = [ "generic-sequences" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz";
+      sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3";
+      system = "generic-sequences";
+      asd = "generic-sequences";
+    });
+    systems = [ "generic-sequences" ];
+    lispLibs = [  ];
+  };
+  generic-sequences-cont = {
+    pname = "generic-sequences-cont";
+    version = "20150709-git";
+    asds = [ "generic-sequences-cont" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz";
+      sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3";
+      system = "generic-sequences-cont";
+      asd = "generic-sequences-cont";
+    });
+    systems = [ "generic-sequences-cont" ];
+    lispLibs = [ (getAttr "cl-cont" pkgs) (getAttr "generic-sequences" pkgs) ];
+  };
+  generic-sequences-iterate = {
+    pname = "generic-sequences-iterate";
+    version = "20150709-git";
+    asds = [ "generic-sequences-iterate" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz";
+      sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3";
+      system = "generic-sequences-iterate";
+      asd = "generic-sequences-iterate";
+    });
+    systems = [ "generic-sequences-iterate" ];
+    lispLibs = [ (getAttr "generic-sequences" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  generic-sequences-stream = {
+    pname = "generic-sequences-stream";
+    version = "20150709-git";
+    asds = [ "generic-sequences-stream" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz";
+      sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3";
+      system = "generic-sequences-stream";
+      asd = "generic-sequences-stream";
+    });
+    systems = [ "generic-sequences-stream" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "generic-sequences" pkgs) ];
+  };
+  generic-sequences-test = {
+    pname = "generic-sequences-test";
+    version = "20150709-git";
+    asds = [ "generic-sequences-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/generic-sequences/2015-07-09/generic-sequences-20150709-git.tgz";
+      sha256 = "09kr0x4kx634rhslal6z2isnbs7v8rn5ic3pvxa3w1mm37lxx7h3";
+      system = "generic-sequences-test";
+      asd = "generic-sequences-test";
+    });
+    systems = [ "generic-sequences-test" ];
+    lispLibs = [ (getAttr "generic-sequences" pkgs) (getAttr "generic-sequences-cont" pkgs) (getAttr "generic-sequences-iterate" pkgs) (getAttr "generic-sequences-stream" pkgs) ];
+  };
+  geneva = {
+    pname = "geneva";
+    version = "20161204-git";
+    asds = [ "geneva" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz";
+      sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3";
+      system = "geneva";
+      asd = "geneva";
+    });
+    systems = [ "geneva" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  geneva-cl = {
+    pname = "geneva-cl";
+    version = "20161204-git";
+    asds = [ "geneva-cl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz";
+      sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3";
+      system = "geneva-cl";
+      asd = "geneva-cl";
+    });
+    systems = [ "geneva-cl" ];
+    lispLibs = [ (getAttr "geneva" pkgs) (getAttr "geneva-mk2" pkgs) (getAttr "named-readtables" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-documentation" pkgs) ];
+  };
+  geneva-html = {
+    pname = "geneva-html";
+    version = "20161204-git";
+    asds = [ "geneva-html" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz";
+      sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3";
+      system = "geneva-html";
+      asd = "geneva-html";
+    });
+    systems = [ "geneva-html" ];
+    lispLibs = [ (getAttr "file-types" pkgs) (getAttr "geneva" pkgs) (getAttr "macro-html" pkgs) ];
+  };
+  geneva-latex = {
+    pname = "geneva-latex";
+    version = "20161204-git";
+    asds = [ "geneva-latex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz";
+      sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3";
+      system = "geneva-latex";
+      asd = "geneva-latex";
+    });
+    systems = [ "geneva-latex" ];
+    lispLibs = [ (getAttr "geneva" pkgs) (getAttr "geneva-tex" pkgs) (getAttr "named-readtables" pkgs) (getAttr "texp" pkgs) ];
+  };
+  geneva-mk2 = {
+    pname = "geneva-mk2";
+    version = "20161204-git";
+    asds = [ "geneva-mk2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz";
+      sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3";
+      system = "geneva-mk2";
+      asd = "geneva-mk2";
+    });
+    systems = [ "geneva-mk2" ];
+    lispLibs = [ (getAttr "geneva" pkgs) (getAttr "maxpc" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  geneva-plain-text = {
+    pname = "geneva-plain-text";
+    version = "20161204-git";
+    asds = [ "geneva-plain-text" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz";
+      sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3";
+      system = "geneva-plain-text";
+      asd = "geneva-plain-text";
+    });
+    systems = [ "geneva-plain-text" ];
+    lispLibs = [ (getAttr "geneva" pkgs) (getAttr "geneva-mk2" pkgs) ];
+  };
+  geneva-tex = {
+    pname = "geneva-tex";
+    version = "20161204-git";
+    asds = [ "geneva-tex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz";
+      sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3";
+      system = "geneva-tex";
+      asd = "geneva-tex";
+    });
+    systems = [ "geneva-tex" ];
+    lispLibs = [ (getAttr "file-types" pkgs) (getAttr "geneva" pkgs) (getAttr "named-readtables" pkgs) (getAttr "texp" pkgs) ];
+  };
+  genhash = {
+    pname = "genhash";
+    version = "20181210-git";
+    asds = [ "genhash" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/genhash/2018-12-10/genhash-20181210-git.tgz";
+      sha256 = "1jnk1fix1zydhy0kn3cvlp6dy0241x7v8ahq001nlr6v152z1cwk";
+      system = "genhash";
+      asd = "genhash";
+    });
+    systems = [ "genhash" ];
+    lispLibs = [  ];
+  };
+  geodesic = {
+    pname = "geodesic";
+    version = "20211020-git";
+    asds = [ "geodesic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/geodesic/2021-10-20/geodesic-20211020-git.tgz";
+      sha256 = "0nhx5z73j53pmcjc5n6gm4bmkgk8vdpjm4lyznbxp2fhxa18lpx5";
+      system = "geodesic";
+      asd = "geodesic";
+    });
+    systems = [ "geodesic" ];
+    lispLibs = [  ];
+  };
+  geodesic_slash_test = {
+    pname = "geodesic_test";
+    version = "20211020-git";
+    asds = [ "geodesic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/geodesic/2021-10-20/geodesic-20211020-git.tgz";
+      sha256 = "0nhx5z73j53pmcjc5n6gm4bmkgk8vdpjm4lyznbxp2fhxa18lpx5";
+      system = "geodesic";
+      asd = "geodesic";
+    });
+    systems = [ "geodesic/test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "geodesic" pkgs) (getAttr "parse-number" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  geom-base = {
+    pname = "geom-base";
+    version = "master-83d7b044-git";
+    asds = [ "geom-base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "geom-base";
+      asd = "geom-base";
+    });
+    systems = [ "geom-base" ];
+    lispLibs = [ (getAttr "cl-pdf" pkgs) (getAttr "cl-typesetting" pkgs) (getAttr "cl-who" pkgs) (getAttr "base" pkgs) ];
+  };
+  geowkt = {
+    pname = "geowkt";
+    version = "20200610-git";
+    asds = [ "geowkt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/geowkt/2020-06-10/geowkt-20200610-git.tgz";
+      sha256 = "02l8cb2k10j7k6fvhk9dpqmkxs6vb5w5nh3159w7drprvjqhfrjw";
+      system = "geowkt";
+      asd = "geowkt";
+    });
+    systems = [ "geowkt" ];
+    lispLibs = [  ];
+  };
+  geowkt-update = {
+    pname = "geowkt-update";
+    version = "20200610-git";
+    asds = [ "geowkt-update" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/geowkt/2020-06-10/geowkt-20200610-git.tgz";
+      sha256 = "02l8cb2k10j7k6fvhk9dpqmkxs6vb5w5nh3159w7drprvjqhfrjw";
+      system = "geowkt-update";
+      asd = "geowkt-update";
+    });
+    systems = [ "geowkt-update" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  getopt = {
+    pname = "getopt";
+    version = "20150923-git";
+    asds = [ "getopt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/getopt/2015-09-23/getopt-20150923-git.tgz";
+      sha256 = "1liwzghx2swws84xlxnq756gbass0s916a9sq5mjfnlg3scbwcs3";
+      system = "getopt";
+      asd = "getopt";
+    });
+    systems = [ "getopt" ];
+    lispLibs = [  ];
+  };
+  getopt-tests = {
+    pname = "getopt-tests";
+    version = "20150923-git";
+    asds = [ "getopt-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/getopt/2015-09-23/getopt-20150923-git.tgz";
+      sha256 = "1liwzghx2swws84xlxnq756gbass0s916a9sq5mjfnlg3scbwcs3";
+      system = "getopt-tests";
+      asd = "getopt";
+    });
+    systems = [ "getopt-tests" ];
+    lispLibs = [ (getAttr "getopt" pkgs) (getAttr "ptester" pkgs) ];
+  };
+  gettext = {
+    pname = "gettext";
+    version = "20171130-git";
+    asds = [ "gettext" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gettext/2017-11-30/gettext-20171130-git.tgz";
+      sha256 = "1pzhamgni6k5hi6bbvlb3dm659pcllrrr3vhhn3rpjn238zxg5ar";
+      system = "gettext";
+      asd = "gettext";
+    });
+    systems = [ "gettext" ];
+    lispLibs = [ (getAttr "yacc" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  gettext-example = {
+    pname = "gettext-example";
+    version = "20171130-git";
+    asds = [ "gettext-example" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gettext/2017-11-30/gettext-20171130-git.tgz";
+      sha256 = "1pzhamgni6k5hi6bbvlb3dm659pcllrrr3vhhn3rpjn238zxg5ar";
+      system = "gettext-example";
+      asd = "gettext-example";
+    });
+    systems = [ "gettext-example" ];
+    lispLibs = [ (getAttr "gettext" pkgs) ];
+  };
+  gettext-tests = {
+    pname = "gettext-tests";
+    version = "20171130-git";
+    asds = [ "gettext-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gettext/2017-11-30/gettext-20171130-git.tgz";
+      sha256 = "1pzhamgni6k5hi6bbvlb3dm659pcllrrr3vhhn3rpjn238zxg5ar";
+      system = "gettext-tests";
+      asd = "gettext-tests";
+    });
+    systems = [ "gettext-tests" ];
+    lispLibs = [ (getAttr "gettext" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  geysr = {
+    pname = "geysr";
+    version = "master-83d7b044-git";
+    asds = [ "geysr" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "geysr";
+      asd = "geysr";
+    });
+    systems = [ "geysr" ];
+    lispLibs = [ (getAttr "gendl-asdf" pkgs) (getAttr "gwl-graphics" pkgs) ];
+  };
+  git-file-history = {
+    pname = "git-file-history";
+    version = "20160825-git";
+    asds = [ "git-file-history" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/git-file-history/2016-08-25/git-file-history-20160825-git.tgz";
+      sha256 = "00kdawcy3mhljv04xpx5n7l2s21qdpbm8i9avjdqbxvfc5j05bq8";
+      system = "git-file-history";
+      asd = "git-file-history";
+    });
+    systems = [ "git-file-history" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "legit" pkgs) (getAttr "local-time" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  git-file-history-test = {
+    pname = "git-file-history-test";
+    version = "20160825-git";
+    asds = [ "git-file-history-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/git-file-history/2016-08-25/git-file-history-20160825-git.tgz";
+      sha256 = "00kdawcy3mhljv04xpx5n7l2s21qdpbm8i9avjdqbxvfc5j05bq8";
+      system = "git-file-history-test";
+      asd = "git-file-history-test";
+    });
+    systems = [ "git-file-history-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "git-file-history" pkgs) ];
+  };
+  glacier = {
+    pname = "glacier";
+    version = "20211209-git";
+    asds = [ "glacier" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glacier/2021-12-09/glacier-20211209-git.tgz";
+      sha256 = "05x7sl5ybfqss18zxml1gzj0iynyf09xsxikm84i21nh39vqyx38";
+      system = "glacier";
+      asd = "glacier";
+    });
+    systems = [ "glacier" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "str" pkgs) (getAttr "dexador" pkgs) (getAttr "simple-config" pkgs) (getAttr "tooter" pkgs) (getAttr "websocket-driver" pkgs) ];
+  };
+  glad-blob = {
+    pname = "glad-blob";
+    version = "stable-git";
+    asds = [ "glad-blob" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glad-blob/2020-10-16/glad-blob-stable-git.tgz";
+      sha256 = "19vp7nyf4kxhczi8i2w47lvipk1i4psrxlpk4nvbdh97vc12k5a7";
+      system = "glad-blob";
+      asd = "glad-blob";
+    });
+    systems = [ "glad-blob" ];
+    lispLibs = [ (getAttr "bodge-blobs-support" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  glass = {
+    pname = "glass";
+    version = "20150709-git";
+    asds = [ "glass" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glass/2015-07-09/glass-20150709-git.tgz";
+      sha256 = "1xwr6mj25m0z1qhp30hafbbhrfj34dfidy320x5m3lij13vbyb1p";
+      system = "glass";
+      asd = "glass";
+    });
+    systems = [ "glass" ];
+    lispLibs = [  ];
+  };
+  glaw = {
+    pname = "glaw";
+    version = "20180228-git";
+    asds = [ "glaw" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glaw/2018-02-28/glaw-20180228-git.tgz";
+      sha256 = "06i9g80hkqgwk5h306wkdpcpv7n229n1ig1hy6697l35v8c4mzmp";
+      system = "glaw";
+      asd = "glaw";
+    });
+    systems = [ "glaw" ];
+    lispLibs = [ (getAttr "cl-alc" pkgs) (getAttr "cl-openal" pkgs) (getAttr "cl-opengl" pkgs) ];
+  };
+  glaw-examples = {
+    pname = "glaw-examples";
+    version = "20180228-git";
+    asds = [ "glaw-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glaw/2018-02-28/glaw-20180228-git.tgz";
+      sha256 = "06i9g80hkqgwk5h306wkdpcpv7n229n1ig1hy6697l35v8c4mzmp";
+      system = "glaw-examples";
+      asd = "glaw-examples";
+    });
+    systems = [ "glaw-examples" ];
+    lispLibs = [ (getAttr "glaw" pkgs) (getAttr "glaw-imago" pkgs) (getAttr "glop" pkgs) ];
+  };
+  glaw-imago = {
+    pname = "glaw-imago";
+    version = "20180228-git";
+    asds = [ "glaw-imago" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glaw/2018-02-28/glaw-20180228-git.tgz";
+      sha256 = "06i9g80hkqgwk5h306wkdpcpv7n229n1ig1hy6697l35v8c4mzmp";
+      system = "glaw-imago";
+      asd = "glaw-imago";
+    });
+    systems = [ "glaw-imago" ];
+    lispLibs = [ (getAttr "glaw" pkgs) (getAttr "imago" pkgs) ];
+  };
+  glaw-sdl = {
+    pname = "glaw-sdl";
+    version = "20180228-git";
+    asds = [ "glaw-sdl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glaw/2018-02-28/glaw-20180228-git.tgz";
+      sha256 = "06i9g80hkqgwk5h306wkdpcpv7n229n1ig1hy6697l35v8c4mzmp";
+      system = "glaw-sdl";
+      asd = "glaw-sdl";
+    });
+    systems = [ "glaw-sdl" ];
+    lispLibs = [ (getAttr "glaw" pkgs) (getAttr "lispbuilder-sdl" pkgs) (getAttr "lispbuilder-sdl-image" pkgs) ];
+  };
+  glfw-blob = {
+    pname = "glfw-blob";
+    version = "stable-git";
+    asds = [ "glfw-blob" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glfw-blob/2020-10-16/glfw-blob-stable-git.tgz";
+      sha256 = "0j953vqsyswipgyhc39swsgwgaqb53wvs80izraknlsp379hzabs";
+      system = "glfw-blob";
+      asd = "glfw-blob";
+    });
+    systems = [ "glfw-blob" ];
+    lispLibs = [ (getAttr "bodge-blobs-support" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  glhelp = {
+    pname = "glhelp";
+    version = "20200427-git";
+    asds = [ "glhelp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "glhelp";
+      asd = "glhelp";
+    });
+    systems = [ "glhelp" ];
+    lispLibs = [ (getAttr "cl-opengl" pkgs) (getAttr "glsl-toolkit" pkgs) (getAttr "split-sequence" pkgs) (getAttr "deflazy" pkgs) (getAttr "uncommon-lisp" pkgs) ];
+  };
+  glisp = {
+    pname = "glisp";
+    version = "master-83d7b044-git";
+    asds = [ "glisp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "glisp";
+      asd = "glisp";
+    });
+    systems = [ "glisp" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "base" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  glisph = {
+    pname = "glisph";
+    version = "20170403-git";
+    asds = [ "glisph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glisph/2017-04-03/glisph-20170403-git.tgz";
+      sha256 = "097d6kjk4rndpqn181k9nyr2bps4gf3shq5x2fy1swvks3pvys91";
+      system = "glisph";
+      asd = "glisph";
+    });
+    systems = [ "glisph" ];
+    lispLibs = [ (getAttr "cl-annot" pkgs) (getAttr "cl-glu" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "cl-reexport" pkgs) (getAttr "zpb-ttf" pkgs) ];
+  };
+  glisph-test = {
+    pname = "glisph-test";
+    version = "20170403-git";
+    asds = [ "glisph-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glisph/2017-04-03/glisph-20170403-git.tgz";
+      sha256 = "097d6kjk4rndpqn181k9nyr2bps4gf3shq5x2fy1swvks3pvys91";
+      system = "glisph-test";
+      asd = "glisph-test";
+    });
+    systems = [ "glisph-test" ];
+    lispLibs = [ (getAttr "cl-glut" pkgs) (getAttr "glisph" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  glkit = {
+    pname = "glkit";
+    version = "20201016-git";
+    asds = [ "glkit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glkit/2020-10-16/glkit-20201016-git.tgz";
+      sha256 = "1x3y5jcr1f0v9sgn3y5b7b8fhgd6vv37nz73016gdwh511idi8jn";
+      system = "glkit";
+      asd = "glkit";
+    });
+    systems = [ "glkit" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "defpackage-plus" pkgs) (getAttr "mathkit" pkgs) (getAttr "static-vectors" pkgs) ];
+  };
+  glkit-examples = {
+    pname = "glkit-examples";
+    version = "20201016-git";
+    asds = [ "glkit-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glkit/2020-10-16/glkit-20201016-git.tgz";
+      sha256 = "1x3y5jcr1f0v9sgn3y5b7b8fhgd6vv37nz73016gdwh511idi8jn";
+      system = "glkit-examples";
+      asd = "glkit-examples";
+    });
+    systems = [ "glkit-examples" ];
+    lispLibs = [ (getAttr "glkit" pkgs) (getAttr "sdl2kit-examples" pkgs) ];
+  };
+  global-vars = {
+    pname = "global-vars";
+    version = "20141106-git";
+    asds = [ "global-vars" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/global-vars/2014-11-06/global-vars-20141106-git.tgz";
+      sha256 = "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d";
+      system = "global-vars";
+      asd = "global-vars";
+    });
+    systems = [ "global-vars" ];
+    lispLibs = [  ];
+  };
+  global-vars-test = {
+    pname = "global-vars-test";
+    version = "20141106-git";
+    asds = [ "global-vars-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/global-vars/2014-11-06/global-vars-20141106-git.tgz";
+      sha256 = "06m3xc8l3pgsapl8fvsi9wf6y46zs75cp9zn7zh6dc65v4s5wz3d";
+      system = "global-vars-test";
+      asd = "global-vars-test";
+    });
+    systems = [ "global-vars-test" ];
+    lispLibs = [ (getAttr "global-vars" pkgs) ];
+  };
+  glop = {
+    pname = "glop";
+    version = "20171019-git";
+    asds = [ "glop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glop/2017-10-19/glop-20171019-git.tgz";
+      sha256 = "1nm35kvigflfjlmsa8zwdajc61f02fh4sq08jv0wnqylhx8yg2bv";
+      system = "glop";
+      asd = "glop";
+    });
+    systems = [ "glop" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  glop-test = {
+    pname = "glop-test";
+    version = "20171019-git";
+    asds = [ "glop-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glop/2017-10-19/glop-20171019-git.tgz";
+      sha256 = "1nm35kvigflfjlmsa8zwdajc61f02fh4sq08jv0wnqylhx8yg2bv";
+      system = "glop-test";
+      asd = "glop-test";
+    });
+    systems = [ "glop-test" ];
+    lispLibs = [ (getAttr "cl-glu" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "glop" pkgs) ];
+  };
+  glsl-docs = {
+    pname = "glsl-docs";
+    version = "release-quicklisp-f04476f7-git";
+    asds = [ "glsl-docs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glsl-spec/2019-10-07/glsl-spec-release-quicklisp-f04476f7-git.tgz";
+      sha256 = "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c";
+      system = "glsl-docs";
+      asd = "glsl-docs";
+    });
+    systems = [ "glsl-docs" ];
+    lispLibs = [ (getAttr "glsl-symbols" pkgs) ];
+  };
+  glsl-packing = {
+    pname = "glsl-packing";
+    version = "20180131-git";
+    asds = [ "glsl-packing" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glsl-packing/2018-01-31/glsl-packing-20180131-git.tgz";
+      sha256 = "0k2f1771wd9kdrcasldy1r00k5bdgi9fd07in52zmjggc0i7dd80";
+      system = "glsl-packing";
+      asd = "glsl-packing";
+    });
+    systems = [ "glsl-packing" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  glsl-spec = {
+    pname = "glsl-spec";
+    version = "release-quicklisp-f04476f7-git";
+    asds = [ "glsl-spec" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glsl-spec/2019-10-07/glsl-spec-release-quicklisp-f04476f7-git.tgz";
+      sha256 = "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c";
+      system = "glsl-spec";
+      asd = "glsl-spec";
+    });
+    systems = [ "glsl-spec" ];
+    lispLibs = [  ];
+  };
+  glsl-symbols = {
+    pname = "glsl-symbols";
+    version = "release-quicklisp-f04476f7-git";
+    asds = [ "glsl-symbols" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glsl-spec/2019-10-07/glsl-spec-release-quicklisp-f04476f7-git.tgz";
+      sha256 = "01ipspr22fgfj3w8wq2y81lzrjc4vpfiwnr3dqhjlpzzra46am8c";
+      system = "glsl-symbols";
+      asd = "glsl-symbols";
+    });
+    systems = [ "glsl-symbols" ];
+    lispLibs = [  ];
+  };
+  glsl-toolkit = {
+    pname = "glsl-toolkit";
+    version = "20211230-git";
+    asds = [ "glsl-toolkit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glsl-toolkit/2021-12-30/glsl-toolkit-20211230-git.tgz";
+      sha256 = "1gxbvyva4m0rrcqw7a4ajcncan52q02h7c5kks3p364rjxbxyqff";
+      system = "glsl-toolkit";
+      asd = "glsl-toolkit";
+    });
+    systems = [ "glsl-toolkit" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "parse-float" pkgs) (getAttr "trivial-indent" pkgs) ];
+  };
+  glu-tessellate = {
+    pname = "glu-tessellate";
+    version = "20150608-git";
+    asds = [ "glu-tessellate" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glu-tessellate/2015-06-08/glu-tessellate-20150608-git.tgz";
+      sha256 = "1iwnvk341pidxdsjb2c730k6a7nr1knd5ir0v83y6jhsf78r9krh";
+      system = "glu-tessellate";
+      asd = "glu-tessellate";
+    });
+    systems = [ "glu-tessellate" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  glyphs = {
+    pname = "glyphs";
+    version = "20180711-git";
+    asds = [ "glyphs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glyphs/2018-07-11/glyphs-20180711-git.tgz";
+      sha256 = "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf";
+      system = "glyphs";
+      asd = "glyphs";
+    });
+    systems = [ "glyphs" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "named-readtables" pkgs) (getAttr "parenscript" pkgs) ];
+  };
+  glyphs-test = {
+    pname = "glyphs-test";
+    version = "20180711-git";
+    asds = [ "glyphs-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/glyphs/2018-07-11/glyphs-20180711-git.tgz";
+      sha256 = "17kai1anbkk5dj5sbrsin2fc019cmcbglb900db60v38myj0y0wf";
+      system = "glyphs-test";
+      asd = "glyphs-test";
+    });
+    systems = [ "glyphs-test" ];
+    lispLibs = [ (getAttr "glyphs" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  golden-utils = {
+    pname = "golden-utils";
+    version = "20210531-git";
+    asds = [ "golden-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/golden-utils/2021-05-31/golden-utils-20210531-git.tgz";
+      sha256 = "09vq29wjr3x7h3fshwxg8h1psy4p73yl61cjljarpqjhsgz7lmbp";
+      system = "golden-utils";
+      asd = "golden-utils";
+    });
+    systems = [ "golden-utils" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  gooptest = {
+    pname = "gooptest";
+    version = "20200925-git";
+    asds = [ "gooptest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gooptest/2020-09-25/gooptest-20200925-git.tgz";
+      sha256 = "1g9q4frlc79xkmz74ybs954rc5kmfwjsn4xi64aig1fh5wjni5xs";
+      system = "gooptest";
+      asd = "gooptest";
+    });
+    systems = [ "gooptest" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-autowrap" pkgs) (getAttr "cl-plus-c" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  gooptest_slash_examples = {
+    pname = "gooptest_examples";
+    version = "20200925-git";
+    asds = [ "gooptest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gooptest/2020-09-25/gooptest-20200925-git.tgz";
+      sha256 = "1g9q4frlc79xkmz74ybs954rc5kmfwjsn4xi64aig1fh5wjni5xs";
+      system = "gooptest";
+      asd = "gooptest";
+    });
+    systems = [ "gooptest/examples" ];
+    lispLibs = [ (getAttr "gooptest" pkgs) ];
+  };
+  graph = {
+    pname = "graph";
+    version = "20211020-git";
+    asds = [ "graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/graph/2021-10-20/graph-20211020-git.tgz";
+      sha256 = "0155mxp1pjgfrnzrjlnas92iwd2w6vpw659qhjr2dv3h0g0a7b84";
+      system = "graph";
+      asd = "graph";
+    });
+    systems = [ "graph" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "asdf-package-system" pkgs) (getAttr "curry-compose-reader-macros" pkgs) (getAttr "damn-fast-priority-queue" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  graphs = {
+    pname = "graphs";
+    version = "master-83d7b044-git";
+    asds = [ "graphs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "graphs";
+      asd = "graphs";
+    });
+    systems = [ "graphs" ];
+    lispLibs = [ (getAttr "gwl-graphics" pkgs) ];
+  };
+  gravatar = {
+    pname = "gravatar";
+    version = "20110320-git";
+    asds = [ "gravatar" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-gravatar/2011-03-20/cl-gravatar-20110320-git.tgz";
+      sha256 = "1r9fq1zaywlhpxr3s3wgajhxf1kgwsgsql0a7ccfgsbwkgy2qzfs";
+      system = "gravatar";
+      asd = "gravatar";
+    });
+    systems = [ "gravatar" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-json" pkgs) (getAttr "drakma" pkgs) (getAttr "md5" pkgs) (getAttr "puri" pkgs) ];
+  };
+  graylex = {
+    pname = "graylex";
+    version = "20110522-git";
+    asds = [ "graylex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/graylex/2011-05-22/graylex-20110522-git.tgz";
+      sha256 = "0s1mpz6cpx3fywznxc8kzkhbb4fpmzyjpfgc85lnxqmri8wy6xqy";
+      system = "graylex";
+      asd = "graylex";
+    });
+    systems = [ "graylex" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  graylex-m4-example = {
+    pname = "graylex-m4-example";
+    version = "20110522-git";
+    asds = [ "graylex-m4-example" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/graylex/2011-05-22/graylex-20110522-git.tgz";
+      sha256 = "0s1mpz6cpx3fywznxc8kzkhbb4fpmzyjpfgc85lnxqmri8wy6xqy";
+      system = "graylex-m4-example";
+      asd = "graylex-m4-example";
+    });
+    systems = [ "graylex-m4-example" ];
+    lispLibs = [ (getAttr "cl-heredoc" pkgs) (getAttr "graylex" pkgs) ];
+  };
+  graylog = {
+    pname = "graylog";
+    version = "20180430-git";
+    asds = [ "graylog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-graylog/2018-04-30/cl-graylog-20180430-git.tgz";
+      sha256 = "1bj1v6vwz8w78h0bkjv5614gq50jdpjix88rbn3nvh81cfjvsqdg";
+      system = "graylog";
+      asd = "graylog";
+    });
+    systems = [ "graylog" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-json" pkgs) (getAttr "local-time" pkgs) (getAttr "salza2" pkgs) (getAttr "trivial-backtrace" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  graylog-log5 = {
+    pname = "graylog-log5";
+    version = "20180430-git";
+    asds = [ "graylog-log5" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-graylog/2018-04-30/cl-graylog-20180430-git.tgz";
+      sha256 = "1bj1v6vwz8w78h0bkjv5614gq50jdpjix88rbn3nvh81cfjvsqdg";
+      system = "graylog-log5";
+      asd = "graylog-log5";
+    });
+    systems = [ "graylog-log5" ];
+    lispLibs = [ (getAttr "graylog" pkgs) (getAttr "log5" pkgs) ];
+  };
+  green-threads = {
+    pname = "green-threads";
+    version = "20141217-git";
+    asds = [ "green-threads" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/green-threads/2014-12-17/green-threads-20141217-git.tgz";
+      sha256 = "1czw7nr0dwfps76h8hjvglk1wdh53yqbfbvv30whwbgqx33iippz";
+      system = "green-threads";
+      asd = "green-threads";
+    });
+    systems = [ "green-threads" ];
+    lispLibs = [ (getAttr "cl-async-future" pkgs) (getAttr "cl-cont" pkgs) ];
+  };
+  group-by = {
+    pname = "group-by";
+    version = "20140211-git";
+    asds = [ "group-by" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/group-by/2014-02-11/group-by-20140211-git.tgz";
+      sha256 = "1p1qprb57fjd6sj8ws6c7y40ab38mym65wni8xivdy89i3d63dz4";
+      system = "group-by";
+      asd = "group-by";
+    });
+    systems = [ "group-by" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  group-by-test = {
+    pname = "group-by-test";
+    version = "20140211-git";
+    asds = [ "group-by-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/group-by/2014-02-11/group-by-20140211-git.tgz";
+      sha256 = "1p1qprb57fjd6sj8ws6c7y40ab38mym65wni8xivdy89i3d63dz4";
+      system = "group-by-test";
+      asd = "group-by";
+    });
+    systems = [ "group-by-test" ];
+    lispLibs = [ (getAttr "group-by" pkgs) (getAttr "lisp-unit2" pkgs) ];
+  };
+  groupby = {
+    pname = "groupby";
+    version = "20170830-git";
+    asds = [ "groupby" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-groupby/2017-08-30/cl-groupby-20170830-git.tgz";
+      sha256 = "1ra4zi9ifrhxxsj4svg1iqqzzsv9aqqa76pswygp7g084x6kn5km";
+      system = "groupby";
+      asd = "groupby";
+    });
+    systems = [ "groupby" ];
+    lispLibs = [  ];
+  };
+  grovel-locally = {
+    pname = "grovel-locally";
+    version = "20180228-git";
+    asds = [ "grovel-locally" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/grovel-locally/2018-02-28/grovel-locally-20180228-git.tgz";
+      sha256 = "07q7zjgv3d1f35zwxpzcz020z0gcqi6m2l2szw99bsqk5hn93szl";
+      system = "grovel-locally";
+      asd = "grovel-locally";
+    });
+    systems = [ "grovel-locally" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "with-cached-reader-conditionals" pkgs) ];
+  };
+  gsll = {
+    pname = "gsll";
+    version = "quicklisp-eeeda841-git";
+    asds = [ "gsll" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gsll/2018-08-31/gsll-quicklisp-eeeda841-git.tgz";
+      sha256 = "0zsjvi1f62hjgfjk4wqg13d4r53bli9nglkwnd31qrygn8pmzlhi";
+      system = "gsll";
+      asd = "gsll";
+    });
+    systems = [ "gsll" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "foreign-array" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "lisp-unit" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  gt = {
+    pname = "gt";
+    version = "20211209-git";
+    asds = [ "gt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-utils/2021-12-09/cl-utils-20211209-git.tgz";
+      sha256 = "0x8x1hf1r0qjv12rpgbz04xjv5k4iycm4frh3za7yh9c6hmrgc2j";
+      system = "gt";
+      asd = "gt";
+    });
+    systems = [ "gt" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "asdf-package-system" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "curry-compose-reader-macros" pkgs) (getAttr "fset" pkgs) (getAttr "functional-trees" pkgs) (getAttr "iterate" pkgs) (getAttr "misc-extensions" pkgs) (getAttr "named-readtables" pkgs) (getAttr "serapeum" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivia" pkgs) (getAttr "trivia_dot_ppcre" pkgs) ];
+  };
+  gtirb = {
+    pname = "gtirb";
+    version = "quicklisp-dd18337d-git";
+    asds = [ "gtirb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gtirb/2021-10-20/gtirb-quicklisp-dd18337d-git.tgz";
+      sha256 = "0dpchsshnlh3jb9rg1zdf63mr5l33vhjdxgxx2vqg0nh1sh41zn1";
+      system = "gtirb";
+      asd = "gtirb";
+    });
+    systems = [ "gtirb" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "asdf-package-system" pkgs) (getAttr "cl-intbytes" pkgs) (getAttr "cl-interval" pkgs) (getAttr "curry-compose-reader-macros" pkgs) (getAttr "graph" pkgs) (getAttr "proto" pkgs) (getAttr "named-readtables" pkgs) (getAttr "protobuf" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-package-local-nicknames" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  gtirb-capstone = {
+    pname = "gtirb-capstone";
+    version = "20211209-git";
+    asds = [ "gtirb-capstone" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gtirb-capstone/2021-12-09/gtirb-capstone-20211209-git.tgz";
+      sha256 = "0kh203bg36r4ps6zy62r5jydd7dx1wzdrqfbbw8621ch5dgz7z3a";
+      system = "gtirb-capstone";
+      asd = "gtirb-capstone";
+    });
+    systems = [ "gtirb-capstone" ];
+    lispLibs = [ (getAttr "asdf-package-system" pkgs) (getAttr "capstone" pkgs) (getAttr "gt" pkgs) (getAttr "graph" pkgs) (getAttr "gtirb" pkgs) (getAttr "keystone" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  gtirb-functions = {
+    pname = "gtirb-functions";
+    version = "20211209-git";
+    asds = [ "gtirb-functions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gtirb-functions/2021-12-09/gtirb-functions-20211209-git.tgz";
+      sha256 = "0g7fvrcnsg5i3hpd685nvgpkbbm949235cisi08z3g36lmnawam1";
+      system = "gtirb-functions";
+      asd = "gtirb-functions";
+    });
+    systems = [ "gtirb-functions" ];
+    lispLibs = [ (getAttr "asdf-package-system" pkgs) (getAttr "gt" pkgs) (getAttr "graph" pkgs) (getAttr "gtirb" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  gtirb_slash_run-dot = {
+    pname = "gtirb_run-dot";
+    version = "quicklisp-dd18337d-git";
+    asds = [ "gtirb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gtirb/2021-10-20/gtirb-quicklisp-dd18337d-git.tgz";
+      sha256 = "0dpchsshnlh3jb9rg1zdf63mr5l33vhjdxgxx2vqg0nh1sh41zn1";
+      system = "gtirb";
+      asd = "gtirb";
+    });
+    systems = [ "gtirb/run-dot" ];
+    lispLibs = [  ];
+  };
+  gtirb_slash_run-update = {
+    pname = "gtirb_run-update";
+    version = "quicklisp-dd18337d-git";
+    asds = [ "gtirb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gtirb/2021-10-20/gtirb-quicklisp-dd18337d-git.tgz";
+      sha256 = "0dpchsshnlh3jb9rg1zdf63mr5l33vhjdxgxx2vqg0nh1sh41zn1";
+      system = "gtirb";
+      asd = "gtirb";
+    });
+    systems = [ "gtirb/run-update" ];
+    lispLibs = [  ];
+  };
+  gtk-tagged-streams = {
+    pname = "gtk-tagged-streams";
+    version = "quicklisp-d1c2b827-git";
+    asds = [ "gtk-tagged-streams" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gtk-tagged-streams/2018-02-28/gtk-tagged-streams-quicklisp-d1c2b827-git.tgz";
+      sha256 = "0ciw4ydcb8clsqb338hxpzncj2m59i6scnqlgbwkznm5i9dxvkyd";
+      system = "gtk-tagged-streams";
+      asd = "gtk-tagged-streams";
+    });
+    systems = [ "gtk-tagged-streams" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-cffi-gtk" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  gtwiwtg = {
+    pname = "gtwiwtg";
+    version = "20210411-git";
+    asds = [ "gtwiwtg" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gtwiwtg/2021-04-11/gtwiwtg-20210411-git.tgz";
+      sha256 = "1ywcfsrj5phxj5b9b0jcdlk63624bhdb7xa3kygjg6swxjkh91dc";
+      system = "gtwiwtg";
+      asd = "gtwiwtg";
+    });
+    systems = [ "gtwiwtg" ];
+    lispLibs = [  ];
+  };
+  gtwiwtg-test = {
+    pname = "gtwiwtg-test";
+    version = "20210411-git";
+    asds = [ "gtwiwtg-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gtwiwtg/2021-04-11/gtwiwtg-20210411-git.tgz";
+      sha256 = "1ywcfsrj5phxj5b9b0jcdlk63624bhdb7xa3kygjg6swxjkh91dc";
+      system = "gtwiwtg-test";
+      asd = "gtwiwtg-test";
+    });
+    systems = [ "gtwiwtg-test" ];
+    lispLibs = [ (getAttr "gtwiwtg" pkgs) (getAttr "osicat" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  gtype = {
+    pname = "gtype";
+    version = "20200610-git";
+    asds = [ "gtype" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gtype/2020-06-10/gtype-20200610-git.tgz";
+      sha256 = "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h";
+      system = "gtype";
+      asd = "gtype";
+    });
+    systems = [ "gtype" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-cltl2" pkgs) (getAttr "trivialib_dot_type-unify" pkgs) (getAttr "type-r" pkgs) ];
+  };
+  gtype_dot_test = {
+    pname = "gtype.test";
+    version = "20200610-git";
+    asds = [ "gtype.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gtype/2020-06-10/gtype-20200610-git.tgz";
+      sha256 = "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h";
+      system = "gtype.test";
+      asd = "gtype.test";
+    });
+    systems = [ "gtype.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "gtype" pkgs) ];
+  };
+  gute = {
+    pname = "gute";
+    version = "20211209-git";
+    asds = [ "gute" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gute/2021-12-09/gute-20211209-git.tgz";
+      sha256 = "19ghgq76g2fi7jc7iy2xp38njfmwgi26msibbr4g96fcs1j84ik0";
+      system = "gute";
+      asd = "gute";
+    });
+    systems = [ "gute" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-mathstats" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-strings" pkgs) (getAttr "conium" pkgs) ];
+  };
+  gute_slash_tests = {
+    pname = "gute_tests";
+    version = "20211209-git";
+    asds = [ "gute" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gute/2021-12-09/gute-20211209-git.tgz";
+      sha256 = "19ghgq76g2fi7jc7iy2xp38njfmwgi26msibbr4g96fcs1j84ik0";
+      system = "gute";
+      asd = "gute";
+    });
+    systems = [ "gute/tests" ];
+    lispLibs = [ (getAttr "gute" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  gwl = {
+    pname = "gwl";
+    version = "master-83d7b044-git";
+    asds = [ "gwl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "gwl";
+      asd = "gwl";
+    });
+    systems = [ "gwl" ];
+    lispLibs = [ (getAttr "zaserve" pkgs) (getAttr "cl-html-parse" pkgs) (getAttr "cl-markdown" pkgs) (getAttr "cl-who" pkgs) (getAttr "glisp" pkgs) (getAttr "yason" pkgs) ];
+  };
+  gwl-graphics = {
+    pname = "gwl-graphics";
+    version = "master-83d7b044-git";
+    asds = [ "gwl-graphics" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "gwl-graphics";
+      asd = "gwl-graphics";
+    });
+    systems = [ "gwl-graphics" ];
+    lispLibs = [ (getAttr "geom-base" pkgs) (getAttr "gwl" pkgs) ];
+  };
+  gzip-stream = {
+    pname = "gzip-stream";
+    version = "0.2.8";
+    asds = [ "gzip-stream" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gzip-stream/2010-10-06/gzip-stream_0.2.8.tgz";
+      sha256 = "1m2x685mk9zp8vq45r4gf6mlbzmzr79mvdxibw1fqzv7r1bqrwrs";
+      system = "gzip-stream";
+      asd = "gzip-stream";
+    });
+    systems = [ "gzip-stream" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) (getAttr "salza2" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  halftone = {
+    pname = "halftone";
+    version = "20190710-git";
+    asds = [ "halftone" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/halftone/2019-07-10/halftone-20190710-git.tgz";
+      sha256 = "0j0fn6c6y5z9cq662cvyzc6pyxj228gb1k67gmpnpq5cy1bdbnxa";
+      system = "halftone";
+      asd = "halftone";
+    });
+    systems = [ "halftone" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtopengl" pkgs) (getAttr "qtools" pkgs) (getAttr "simple-tasks" pkgs) (getAttr "uiop" pkgs) (getAttr "verbose" pkgs) ];
+  };
+  hamcrest = {
+    pname = "hamcrest";
+    version = "20211020-git";
+    asds = [ "hamcrest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-hamcrest/2021-10-20/cl-hamcrest-20211020-git.tgz";
+      sha256 = "17ip7b1apcl6y3hcndfd01p5iq6hc49qa4px1krvj6xh9vyf3m82";
+      system = "hamcrest";
+      asd = "hamcrest";
+    });
+    systems = [ "hamcrest" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "iterate" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  harmony = {
+    pname = "harmony";
+    version = "20211209-git";
+    asds = [ "harmony" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/harmony/2021-12-09/harmony-20211209-git.tgz";
+      sha256 = "0q1af5gcf92x3bw5b5qyapj048qwvhvidddanv6c37d8m9629c7r";
+      system = "harmony";
+      asd = "harmony";
+    });
+    systems = [ "harmony" ];
+    lispLibs = [ (getAttr "atomics" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-mixed" pkgs) (getAttr "cl-mixed-alsa" pkgs) (getAttr "cl-mixed-pulse" pkgs) (getAttr "stealth-mixin" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  hash-set = {
+    pname = "hash-set";
+    version = "20211230-git";
+    asds = [ "hash-set" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hash-set/2021-12-30/hash-set-20211230-git.tgz";
+      sha256 = "0a966y9yfarhmki4wwzg371ziaygnp13yc6r13w9zz327fkhz8na";
+      system = "hash-set";
+      asd = "hash-set";
+    });
+    systems = [ "hash-set" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  hash-set-tests = {
+    pname = "hash-set-tests";
+    version = "20211230-git";
+    asds = [ "hash-set-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hash-set/2021-12-30/hash-set-20211230-git.tgz";
+      sha256 = "0a966y9yfarhmki4wwzg371ziaygnp13yc6r13w9zz327fkhz8na";
+      system = "hash-set-tests";
+      asd = "hash-set-tests";
+    });
+    systems = [ "hash-set-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "hash-set" pkgs) ];
+  };
+  hash-table-ext = {
+    pname = "hash-table-ext";
+    version = "20211020-git";
+    asds = [ "hash-table-ext" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hash-table-ext/2021-10-20/hash-table-ext-20211020-git.tgz";
+      sha256 = "00pafnjy5w9yhbzzdvgg4wwb8yicjjshgzxnn0by3d9qknxc7539";
+      system = "hash-table-ext";
+      asd = "hash-table-ext";
+    });
+    systems = [ "hash-table-ext" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) ];
+  };
+  hash-table-ext_dot_test = {
+    pname = "hash-table-ext.test";
+    version = "20211020-git";
+    asds = [ "hash-table-ext.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hash-table-ext/2021-10-20/hash-table-ext-20211020-git.tgz";
+      sha256 = "00pafnjy5w9yhbzzdvgg4wwb8yicjjshgzxnn0by3d9qknxc7539";
+      system = "hash-table-ext.test";
+      asd = "hash-table-ext.test";
+    });
+    systems = [ "hash-table-ext.test" ];
+    lispLibs = [ (getAttr "hash-table-ext" pkgs) (getAttr "jingoh" pkgs) ];
+  };
+  hashtrie = {
+    pname = "hashtrie";
+    version = "20211020-git";
+    asds = [ "hashtrie" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hashtrie/2021-10-20/hashtrie-20211020-git.tgz";
+      sha256 = "04crw4nlp7s2ljjmaqzy74xjzi0l8dn2yp8pdlaniklyq6y6n43j";
+      system = "hashtrie";
+      asd = "hashtrie";
+    });
+    systems = [ "hashtrie" ];
+    lispLibs = [  ];
+  };
+  hashtrie-tests = {
+    pname = "hashtrie-tests";
+    version = "20211020-git";
+    asds = [ "hashtrie-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hashtrie/2021-10-20/hashtrie-20211020-git.tgz";
+      sha256 = "04crw4nlp7s2ljjmaqzy74xjzi0l8dn2yp8pdlaniklyq6y6n43j";
+      system = "hashtrie-tests";
+      asd = "hashtrie-tests";
+    });
+    systems = [ "hashtrie-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "hashtrie" pkgs) ];
+  };
+  hdf5-cffi = {
+    pname = "hdf5-cffi";
+    version = "20180228-git";
+    asds = [ "hdf5-cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hdf5-cffi/2018-02-28/hdf5-cffi-20180228-git.tgz";
+      sha256 = "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf";
+      system = "hdf5-cffi";
+      asd = "hdf5-cffi";
+    });
+    systems = [ "hdf5-cffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  hdf5-cffi_dot_examples = {
+    pname = "hdf5-cffi.examples";
+    version = "20180228-git";
+    asds = [ "hdf5-cffi.examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hdf5-cffi/2018-02-28/hdf5-cffi-20180228-git.tgz";
+      sha256 = "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf";
+      system = "hdf5-cffi.examples";
+      asd = "hdf5-cffi.examples";
+    });
+    systems = [ "hdf5-cffi.examples" ];
+    lispLibs = [ (getAttr "hdf5-cffi" pkgs) ];
+  };
+  hdf5-cffi_dot_test = {
+    pname = "hdf5-cffi.test";
+    version = "20180228-git";
+    asds = [ "hdf5-cffi.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hdf5-cffi/2018-02-28/hdf5-cffi-20180228-git.tgz";
+      sha256 = "0vda3075423xz83qky998lpac5b04dwfv7bwgh9jq8cs5v0zrxjf";
+      system = "hdf5-cffi.test";
+      asd = "hdf5-cffi.test";
+    });
+    systems = [ "hdf5-cffi.test" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "fiveam" pkgs) (getAttr "hdf5-cffi" pkgs) (getAttr "hdf5-cffi_dot_examples" pkgs) ];
+  };
+  heap = {
+    pname = "heap";
+    version = "20181018-git";
+    asds = [ "heap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/heap/2018-10-18/heap-20181018-git.tgz";
+      sha256 = "0jkgazjnjip7y41zd8rpy89ymh75yimk1q24qbddcisq5rzdl52k";
+      system = "heap";
+      asd = "heap";
+    });
+    systems = [ "heap" ];
+    lispLibs = [  ];
+  };
+  helambdap = {
+    pname = "helambdap";
+    version = "20211230-git";
+    asds = [ "helambdap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/helambdap/2021-12-30/helambdap-20211230-git.tgz";
+      sha256 = "0h8cwf4kw655942xsk4g6xq9ya0wawmnzi92h2fbxy7al78yccc1";
+      system = "helambdap";
+      asd = "helambdap";
+    });
+    systems = [ "helambdap" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "clad" pkgs) (getAttr "split-sequence" pkgs) (getAttr "xhtmlambda" pkgs) ];
+  };
+  hello-clog = {
+    pname = "hello-clog";
+    version = "20211230-git";
+    asds = [ "hello-clog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clog/2021-12-30/clog-20211230-git.tgz";
+      sha256 = "1g95x7754nwlshw59swczm9jz9j5p3v25wilp7awpzi9m7d8jjnk";
+      system = "hello-clog";
+      asd = "hello-clog";
+    });
+    systems = [ "hello-clog" ];
+    lispLibs = [ (getAttr "clog" pkgs) ];
+  };
+  hermetic = {
+    pname = "hermetic";
+    version = "20191007-git";
+    asds = [ "hermetic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hermetic/2019-10-07/hermetic-20191007-git.tgz";
+      sha256 = "1sndxkkj45sqr13xw9kvnhj25an96q4la70ni3w468yrcbf782pi";
+      system = "hermetic";
+      asd = "hermetic";
+    });
+    systems = [ "hermetic" ];
+    lispLibs = [ (getAttr "cl-pass" pkgs) (getAttr "clack" pkgs) ];
+  };
+  herodotus = {
+    pname = "herodotus";
+    version = "20210630-git";
+    asds = [ "herodotus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/herodotus/2021-06-30/herodotus-20210630-git.tgz";
+      sha256 = "176gv65qv24sglfvawrd7vynmrh4s4im6if37x65nxzv56ib2ig3";
+      system = "herodotus";
+      asd = "herodotus";
+    });
+    systems = [ "herodotus" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "yason" pkgs) ];
+  };
+  herodotus_slash_tests = {
+    pname = "herodotus_tests";
+    version = "20210630-git";
+    asds = [ "herodotus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/herodotus/2021-06-30/herodotus-20210630-git.tgz";
+      sha256 = "176gv65qv24sglfvawrd7vynmrh4s4im6if37x65nxzv56ib2ig3";
+      system = "herodotus";
+      asd = "herodotus";
+    });
+    systems = [ "herodotus/tests" ];
+    lispLibs = [ (getAttr "herodotus" pkgs) (getAttr "rove" pkgs) ];
+  };
+  hh-aws = {
+    pname = "hh-aws";
+    version = "20150804-git";
+    asds = [ "hh-aws" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hh-aws/2015-08-04/hh-aws-20150804-git.tgz";
+      sha256 = "02kfq7krn8788iphzcxnf0da88sy30gxpj1acgy9fl2n8qc03qdp";
+      system = "hh-aws";
+      asd = "hh-aws";
+    });
+    systems = [ "hh-aws" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "drakma" pkgs) (getAttr "ironclad" pkgs) (getAttr "puri" pkgs) (getAttr "s-xml" pkgs) ];
+  };
+  hh-aws-tests = {
+    pname = "hh-aws-tests";
+    version = "20150804-git";
+    asds = [ "hh-aws-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hh-aws/2015-08-04/hh-aws-20150804-git.tgz";
+      sha256 = "02kfq7krn8788iphzcxnf0da88sy30gxpj1acgy9fl2n8qc03qdp";
+      system = "hh-aws-tests";
+      asd = "hh-aws";
+    });
+    systems = [ "hh-aws-tests" ];
+    lispLibs = [ (getAttr "hh-aws" pkgs) (getAttr "lisp-unit" pkgs) (getAttr "uuid" pkgs) ];
+  };
+  hh-redblack = {
+    pname = "hh-redblack";
+    version = "20151031-git";
+    asds = [ "hh-redblack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hh-redblack/2015-10-31/hh-redblack-20151031-git.tgz";
+      sha256 = "1klr78m4g60c82dnxksb7710jjj35rnfl4gl3dx3nrx0nb04bam6";
+      system = "hh-redblack";
+      asd = "hh-redblack";
+    });
+    systems = [ "hh-redblack" ];
+    lispLibs = [  ];
+  };
+  hh-redblack-tests = {
+    pname = "hh-redblack-tests";
+    version = "20151031-git";
+    asds = [ "hh-redblack-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hh-redblack/2015-10-31/hh-redblack-20151031-git.tgz";
+      sha256 = "1klr78m4g60c82dnxksb7710jjj35rnfl4gl3dx3nrx0nb04bam6";
+      system = "hh-redblack-tests";
+      asd = "hh-redblack";
+    });
+    systems = [ "hh-redblack-tests" ];
+    lispLibs = [ (getAttr "hh-redblack" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  hh-web = {
+    pname = "hh-web";
+    version = "20141106-git";
+    asds = [ "hh-web" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hh-web/2014-11-06/hh-web-20141106-git.tgz";
+      sha256 = "1i3jyifayczm9b7rvw3fafiisxvjq87xd9z0hdf957qc2albsq87";
+      system = "hh-web";
+      asd = "hh-web";
+    });
+    systems = [ "hh-web" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "ironclad" pkgs) (getAttr "local-time" pkgs) (getAttr "log5" pkgs) (getAttr "parenscript" pkgs) (getAttr "trivial-backtrace" pkgs) (getAttr "uuid" pkgs) (getAttr "vecto" pkgs) ];
+  };
+  hl7-client = {
+    pname = "hl7-client";
+    version = "20150407-git";
+    asds = [ "hl7-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hl7-client/2015-04-07/hl7-client-20150407-git.tgz";
+      sha256 = "0hq5ip6f1hbdiydml5f1z7qsjaq1v3a3g4y5a87jaif027pwhd89";
+      system = "hl7-client";
+      asd = "hl7-client";
+    });
+    systems = [ "hl7-client" ];
+    lispLibs = [ (getAttr "usocket" pkgs) ];
+  };
+  hl7-parser = {
+    pname = "hl7-parser";
+    version = "20160531-git";
+    asds = [ "hl7-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hl7-parser/2016-05-31/hl7-parser-20160531-git.tgz";
+      sha256 = "1lcyvk3vap73d23s6pk8p1ficqhl2gs84nan6d0yy0hx8c4gip0x";
+      system = "hl7-parser";
+      asd = "hl7-parser";
+    });
+    systems = [ "hl7-parser" ];
+    lispLibs = [  ];
+  };
+  hompack = {
+    pname = "hompack";
+    version = "20200925-git";
+    asds = [ "hompack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "hompack";
+      asd = "hompack";
+    });
+    systems = [ "hompack" ];
+    lispLibs = [ (getAttr "blas-hompack" pkgs) (getAttr "f2cl" pkgs) ];
+  };
+  hompack_slash_test-mainf = {
+    pname = "hompack_test-mainf";
+    version = "20200925-git";
+    asds = [ "hompack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "hompack";
+      asd = "hompack";
+    });
+    systems = [ "hompack/test-mainf" ];
+    lispLibs = [ (getAttr "hompack" pkgs) ];
+  };
+  hompack_slash_test-mainp = {
+    pname = "hompack_test-mainp";
+    version = "20200925-git";
+    asds = [ "hompack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "hompack";
+      asd = "hompack";
+    });
+    systems = [ "hompack/test-mainp" ];
+    lispLibs = [ (getAttr "hompack" pkgs) ];
+  };
+  hompack_slash_test-mains = {
+    pname = "hompack_test-mains";
+    version = "20200925-git";
+    asds = [ "hompack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "hompack";
+      asd = "hompack";
+    });
+    systems = [ "hompack/test-mains" ];
+    lispLibs = [ (getAttr "hompack" pkgs) ];
+  };
+  horner = {
+    pname = "horner";
+    version = "20191130-git";
+    asds = [ "horner" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/horner/2019-11-30/horner-20191130-git.tgz";
+      sha256 = "05afvf7sxn1db7xxw7qmys1dwbgsx53iw4w556r277da6bpyacr9";
+      system = "horner";
+      asd = "horner";
+    });
+    systems = [ "horner" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "infix-math" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  horse-html = {
+    pname = "horse-html";
+    version = "20191007-git";
+    asds = [ "horse-html" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/horse-html/2019-10-07/horse-html-20191007-git.tgz";
+      sha256 = "0g6cs38123ajf1hvv056df9d8gy5ajarg0f5gywzhmmf0rhr9br5";
+      system = "horse-html";
+      asd = "horse-html";
+    });
+    systems = [ "horse-html" ];
+    lispLibs = [ (getAttr "parenscript" pkgs) ];
+  };
+  horse-html_slash_tests = {
+    pname = "horse-html_tests";
+    version = "20191007-git";
+    asds = [ "horse-html" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/horse-html/2019-10-07/horse-html-20191007-git.tgz";
+      sha256 = "0g6cs38123ajf1hvv056df9d8gy5ajarg0f5gywzhmmf0rhr9br5";
+      system = "horse-html";
+      asd = "horse-html";
+    });
+    systems = [ "horse-html/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "horse-html" pkgs) ];
+  };
+  house = {
+    pname = "house";
+    version = "20210124-git";
+    asds = [ "house" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/house/2021-01-24/house-20210124-git.tgz";
+      sha256 = "1x3dprg5j5rhbf8r1nr6py6g8wgfb9zysbqbjdcyh91szg7w80mb";
+      system = "house";
+      asd = "house";
+    });
+    systems = [ "house" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "lisp-unit" pkgs) (getAttr "optima" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "quri" pkgs) (getAttr "session-token" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-features" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  house_slash_test = {
+    pname = "house_test";
+    version = "20210124-git";
+    asds = [ "house" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/house/2021-01-24/house-20210124-git.tgz";
+      sha256 = "1x3dprg5j5rhbf8r1nr6py6g8wgfb9zysbqbjdcyh91szg7w80mb";
+      system = "house";
+      asd = "house";
+    });
+    systems = [ "house/test" ];
+    lispLibs = [ (getAttr "house" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "test-utils" pkgs) ];
+  };
+  ht-simple-ajax = {
+    pname = "ht-simple-ajax";
+    version = "20130421-git";
+    asds = [ "ht-simple-ajax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ht-simple-ajax/2013-04-21/ht-simple-ajax-20130421-git.tgz";
+      sha256 = "1l87c0arjzyrp3g6ay189fjkqmy81b7i35rfrcs9b269n7d4iis4";
+      system = "ht-simple-ajax";
+      asd = "ht-simple-ajax";
+    });
+    systems = [ "ht-simple-ajax" ];
+    lispLibs = [ (getAttr "hunchentoot" pkgs) ];
+  };
+  html-encode = {
+    pname = "html-encode";
+    version = "1.2";
+    asds = [ "html-encode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/html-encode/2010-10-06/html-encode-1.2.tgz";
+      sha256 = "1ydgb5xnbj1qbvzn7x32dm38gpqg5h0pjxc31f8df3j8sar843db";
+      system = "html-encode";
+      asd = "html-encode";
+    });
+    systems = [ "html-encode" ];
+    lispLibs = [  ];
+  };
+  html-entities = {
+    pname = "html-entities";
+    version = "20171019-git";
+    asds = [ "html-entities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/html-entities/2017-10-19/html-entities-20171019-git.tgz";
+      sha256 = "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr";
+      system = "html-entities";
+      asd = "html-entities";
+    });
+    systems = [ "html-entities" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  html-entities-tests = {
+    pname = "html-entities-tests";
+    version = "20171019-git";
+    asds = [ "html-entities-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/html-entities/2017-10-19/html-entities-20171019-git.tgz";
+      sha256 = "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr";
+      system = "html-entities-tests";
+      asd = "html-entities";
+    });
+    systems = [ "html-entities-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "html-entities" pkgs) ];
+  };
+  html-match = {
+    pname = "html-match";
+    version = "20140713-git";
+    asds = [ "html-match" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz";
+      sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2";
+      system = "html-match";
+      asd = "html-match";
+    });
+    systems = [ "html-match" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "unit-test" pkgs) ];
+  };
+  html-match_dot_test = {
+    pname = "html-match.test";
+    version = "20140713-git";
+    asds = [ "html-match.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz";
+      sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2";
+      system = "html-match.test";
+      asd = "html-match";
+    });
+    systems = [ "html-match.test" ];
+    lispLibs = [ (getAttr "html-match" pkgs) (getAttr "unit-test" pkgs) ];
+  };
+  html-template = {
+    pname = "html-template";
+    version = "20171227-git";
+    asds = [ "html-template" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/html-template/2017-12-27/html-template-20171227-git.tgz";
+      sha256 = "0g700zlyjjba17nbmw1adspw7r9s0321xhayfiqh0drg20zixaf7";
+      system = "html-template";
+      asd = "html-template";
+    });
+    systems = [ "html-template" ];
+    lispLibs = [  ];
+  };
+  htmlgen = {
+    pname = "htmlgen";
+    version = "20190813-git";
+    asds = [ "htmlgen" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/portableaserve/2019-08-13/portableaserve-20190813-git.tgz";
+      sha256 = "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa";
+      system = "htmlgen";
+      asd = "htmlgen";
+    });
+    systems = [ "htmlgen" ];
+    lispLibs = [ (getAttr "acl-compat" pkgs) ];
+  };
+  http-body = {
+    pname = "http-body";
+    version = "20190813-git";
+    asds = [ "http-body" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/http-body/2019-08-13/http-body-20190813-git.tgz";
+      sha256 = "0kcg43l5674drzid9cj938q0ki5z25glx296rl239dm7yfmxlzz2";
+      system = "http-body";
+      asd = "http-body";
+    });
+    systems = [ "http-body" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-utilities" pkgs) (getAttr "fast-http" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "jonathan" pkgs) (getAttr "quri" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  http-body-test = {
+    pname = "http-body-test";
+    version = "20190813-git";
+    asds = [ "http-body-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/http-body/2019-08-13/http-body-20190813-git.tgz";
+      sha256 = "0kcg43l5674drzid9cj938q0ki5z25glx296rl239dm7yfmxlzz2";
+      system = "http-body-test";
+      asd = "http-body-test";
+    });
+    systems = [ "http-body-test" ];
+    lispLibs = [ (getAttr "assoc-utils" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "http-body" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  http-get-cache = {
+    pname = "http-get-cache";
+    version = "20180228-git";
+    asds = [ "http-get-cache" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/http-get-cache/2018-02-28/http-get-cache-20180228-git.tgz";
+      sha256 = "03bw4zf4hlxyrqm5mq53z0qksb9jbrcc5nv90y7qry83kxic2cgv";
+      system = "http-get-cache";
+      asd = "http-get-cache";
+    });
+    systems = [ "http-get-cache" ];
+    lispLibs = [ (getAttr "drakma" pkgs) ];
+  };
+  http-parse = {
+    pname = "http-parse";
+    version = "20150608-git";
+    asds = [ "http-parse" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/http-parse/2015-06-08/http-parse-20150608-git.tgz";
+      sha256 = "1plycsx2kch2l143s56hvi5dqx51n5bvp7vazmphqj5skmnw4576";
+      system = "http-parse";
+      asd = "http-parse";
+    });
+    systems = [ "http-parse" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  http-parse-test = {
+    pname = "http-parse-test";
+    version = "20150608-git";
+    asds = [ "http-parse-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/http-parse/2015-06-08/http-parse-20150608-git.tgz";
+      sha256 = "1plycsx2kch2l143s56hvi5dqx51n5bvp7vazmphqj5skmnw4576";
+      system = "http-parse-test";
+      asd = "http-parse-test";
+    });
+    systems = [ "http-parse-test" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "eos" pkgs) (getAttr "http-parse" pkgs) ];
+  };
+  hu_dot_dwim_dot_asdf = {
+    pname = "hu.dwim.asdf";
+    version = "stable-git";
+    asds = [ "hu.dwim.asdf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.asdf/2021-12-30/hu.dwim.asdf-stable-git.tgz";
+      sha256 = "0zfwdsvcywvwzkn0a80ghi5kn1hs4iwinvi17ld58gyskf15frx9";
+      system = "hu.dwim.asdf";
+      asd = "hu.dwim.asdf";
+    });
+    systems = [ "hu.dwim.asdf" ];
+    lispLibs = [ (getAttr "uiop" pkgs) ];
+  };
+  hu_dot_dwim_dot_asdf_dot_documentation = {
+    pname = "hu.dwim.asdf.documentation";
+    version = "stable-git";
+    asds = [ "hu.dwim.asdf.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.asdf/2021-12-30/hu.dwim.asdf-stable-git.tgz";
+      sha256 = "0zfwdsvcywvwzkn0a80ghi5kn1hs4iwinvi17ld58gyskf15frx9";
+      system = "hu.dwim.asdf.documentation";
+      asd = "hu.dwim.asdf.documentation";
+    });
+    systems = [ "hu.dwim.asdf.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) ];
+  };
+  hu_dot_dwim_dot_bluez = {
+    pname = "hu.dwim.bluez";
+    version = "stable-git";
+    asds = [ "hu.dwim.bluez" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.bluez/2021-02-28/hu.dwim.bluez-stable-git.tgz";
+      sha256 = "0gjh3bgmdz4aabdavbd5m27r273hna47vs388r4m7l2xnd3b3j55";
+      system = "hu.dwim.bluez";
+      asd = "hu.dwim.bluez";
+    });
+    systems = [ "hu.dwim.bluez" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) ];
+  };
+  hu_dot_dwim_dot_bluez_slash_fancy = {
+    pname = "hu.dwim.bluez_fancy";
+    version = "stable-git";
+    asds = [ "hu.dwim.bluez" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.bluez/2021-02-28/hu.dwim.bluez-stable-git.tgz";
+      sha256 = "0gjh3bgmdz4aabdavbd5m27r273hna47vs388r4m7l2xnd3b3j55";
+      system = "hu.dwim.bluez";
+      asd = "hu.dwim.bluez";
+    });
+    systems = [ "hu.dwim.bluez/fancy" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_bluez" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) ];
+  };
+  hu_dot_dwim_dot_common = {
+    pname = "hu.dwim.common";
+    version = "20150709-darcs";
+    asds = [ "hu.dwim.common" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.common/2015-07-09/hu.dwim.common-20150709-darcs.tgz";
+      sha256 = "0mkhq6bqysdy09gswgxm1s50xrq7gimdyqiq84xk8vpyp2hv6hqq";
+      system = "hu.dwim.common";
+      asd = "hu.dwim.common";
+    });
+    systems = [ "hu.dwim.common" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "closer-mop" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common-lisp" pkgs) (getAttr "iterate" pkgs) (getAttr "metabang-bind" pkgs) ];
+  };
+  hu_dot_dwim_dot_common-lisp = {
+    pname = "hu.dwim.common-lisp";
+    version = "stable-git";
+    asds = [ "hu.dwim.common-lisp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/2021-02-28/hu.dwim.common-lisp-stable-git.tgz";
+      sha256 = "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk";
+      system = "hu.dwim.common-lisp";
+      asd = "hu.dwim.common-lisp";
+    });
+    systems = [ "hu.dwim.common-lisp" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) ];
+  };
+  hu_dot_dwim_dot_common-lisp_dot_documentation = {
+    pname = "hu.dwim.common-lisp.documentation";
+    version = "stable-git";
+    asds = [ "hu.dwim.common-lisp.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.common-lisp/2021-02-28/hu.dwim.common-lisp-stable-git.tgz";
+      sha256 = "06zkdw3scnaw0d4nmsgkv7pi7sw00dikdgfgsqmbqfbz2yrsdabk";
+      system = "hu.dwim.common-lisp.documentation";
+      asd = "hu.dwim.common-lisp.documentation";
+    });
+    systems = [ "hu.dwim.common-lisp.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common-lisp" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) ];
+  };
+  hu_dot_dwim_dot_common_dot_documentation = {
+    pname = "hu.dwim.common.documentation";
+    version = "20150709-darcs";
+    asds = [ "hu.dwim.common.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.common/2015-07-09/hu.dwim.common-20150709-darcs.tgz";
+      sha256 = "0mkhq6bqysdy09gswgxm1s50xrq7gimdyqiq84xk8vpyp2hv6hqq";
+      system = "hu.dwim.common.documentation";
+      asd = "hu.dwim.common.documentation";
+    });
+    systems = [ "hu.dwim.common.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) ];
+  };
+  hu_dot_dwim_dot_computed-class = {
+    pname = "hu.dwim.computed-class";
+    version = "20200427-darcs";
+    asds = [ "hu.dwim.computed-class" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz";
+      sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1";
+      system = "hu.dwim.computed-class";
+      asd = "hu.dwim.computed-class";
+    });
+    systems = [ "hu.dwim.computed-class" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_computed-class_plus_hu_dot_dwim_dot_logger = {
+    pname = "hu.dwim.computed-class+hu.dwim.logger";
+    version = "20200427-darcs";
+    asds = [ "hu.dwim.computed-class+hu.dwim.logger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz";
+      sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1";
+      system = "hu.dwim.computed-class+hu.dwim.logger";
+      asd = "hu.dwim.computed-class+hu.dwim.logger";
+    });
+    systems = [ "hu.dwim.computed-class+hu.dwim.logger" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_computed-class" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) ];
+  };
+  hu_dot_dwim_dot_computed-class_plus_swank = {
+    pname = "hu.dwim.computed-class+swank";
+    version = "20200427-darcs";
+    asds = [ "hu.dwim.computed-class+swank" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz";
+      sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1";
+      system = "hu.dwim.computed-class+swank";
+      asd = "hu.dwim.computed-class+swank";
+    });
+    systems = [ "hu.dwim.computed-class+swank" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_computed-class" pkgs) (getAttr "swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_computed-class_dot_documentation = {
+    pname = "hu.dwim.computed-class.documentation";
+    version = "20200427-darcs";
+    asds = [ "hu.dwim.computed-class.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz";
+      sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1";
+      system = "hu.dwim.computed-class.documentation";
+      asd = "hu.dwim.computed-class.documentation";
+    });
+    systems = [ "hu.dwim.computed-class.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_computed-class_dot_test" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) ];
+  };
+  hu_dot_dwim_dot_computed-class_dot_test = {
+    pname = "hu.dwim.computed-class.test";
+    version = "20200427-darcs";
+    asds = [ "hu.dwim.computed-class.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.computed-class/2020-04-27/hu.dwim.computed-class-20200427-darcs.tgz";
+      sha256 = "1frr37g79x08pm7vkpyhnmzbbcgzxvz3vldm8skknpi790vxbpr1";
+      system = "hu.dwim.computed-class.test";
+      asd = "hu.dwim.computed-class.test";
+    });
+    systems = [ "hu.dwim.computed-class.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_computed-class_plus_hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def" pkgs) ];
+  };
+  hu_dot_dwim_dot_debug = {
+    pname = "hu.dwim.debug";
+    version = "20190107-darcs";
+    asds = [ "hu.dwim.debug" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.debug/2019-01-07/hu.dwim.debug-20190107-darcs.tgz";
+      sha256 = "0ad606bmrif82fyikb2hgwzh3y6nlrlsprb5yi86qwa2a2fvak4b";
+      system = "hu.dwim.debug";
+      asd = "hu.dwim.debug";
+    });
+    systems = [ "hu.dwim.debug" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_swank" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "hu_dot_dwim_dot_walker" pkgs) (getAttr "swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_debug_dot_documentation = {
+    pname = "hu.dwim.debug.documentation";
+    version = "20190107-darcs";
+    asds = [ "hu.dwim.debug.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.debug/2019-01-07/hu.dwim.debug-20190107-darcs.tgz";
+      sha256 = "0ad606bmrif82fyikb2hgwzh3y6nlrlsprb5yi86qwa2a2fvak4b";
+      system = "hu.dwim.debug.documentation";
+      asd = "hu.dwim.debug.documentation";
+    });
+    systems = [ "hu.dwim.debug.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_debug_dot_test" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) ];
+  };
+  hu_dot_dwim_dot_debug_dot_test = {
+    pname = "hu.dwim.debug.test";
+    version = "20190107-darcs";
+    asds = [ "hu.dwim.debug.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.debug/2019-01-07/hu.dwim.debug-20190107-darcs.tgz";
+      sha256 = "0ad606bmrif82fyikb2hgwzh3y6nlrlsprb5yi86qwa2a2fvak4b";
+      system = "hu.dwim.debug.test";
+      asd = "hu.dwim.debug.test";
+    });
+    systems = [ "hu.dwim.debug.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_debug" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_def = {
+    pname = "hu.dwim.def";
+    version = "stable-git";
+    asds = [ "hu.dwim.def" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz";
+      sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab";
+      system = "hu.dwim.def";
+      asd = "hu.dwim.def";
+    });
+    systems = [ "hu.dwim.def" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "iterate" pkgs) (getAttr "metabang-bind" pkgs) ];
+  };
+  hu_dot_dwim_dot_def_plus_cl-l10n = {
+    pname = "hu.dwim.def+cl-l10n";
+    version = "stable-git";
+    asds = [ "hu.dwim.def+cl-l10n" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz";
+      sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab";
+      system = "hu.dwim.def+cl-l10n";
+      asd = "hu.dwim.def+cl-l10n";
+    });
+    systems = [ "hu.dwim.def+cl-l10n" ];
+    lispLibs = [ (getAttr "cl-l10n" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) ];
+  };
+  hu_dot_dwim_dot_def_plus_contextl = {
+    pname = "hu.dwim.def+contextl";
+    version = "stable-git";
+    asds = [ "hu.dwim.def+contextl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz";
+      sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab";
+      system = "hu.dwim.def+contextl";
+      asd = "hu.dwim.def+contextl";
+    });
+    systems = [ "hu.dwim.def+contextl" ];
+    lispLibs = [ (getAttr "contextl" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) ];
+  };
+  hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common = {
+    pname = "hu.dwim.def+hu.dwim.common";
+    version = "stable-git";
+    asds = [ "hu.dwim.def+hu.dwim.common" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz";
+      sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab";
+      system = "hu.dwim.def+hu.dwim.common";
+      asd = "hu.dwim.def+hu.dwim.common";
+    });
+    systems = [ "hu.dwim.def+hu.dwim.common" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) ];
+  };
+  hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_delico = {
+    pname = "hu.dwim.def+hu.dwim.delico";
+    version = "stable-git";
+    asds = [ "hu.dwim.def+hu.dwim.delico" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz";
+      sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab";
+      system = "hu.dwim.def+hu.dwim.delico";
+      asd = "hu.dwim.def+hu.dwim.delico";
+    });
+    systems = [ "hu.dwim.def+hu.dwim.delico" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_delico" pkgs) ];
+  };
+  hu_dot_dwim_dot_def_plus_swank = {
+    pname = "hu.dwim.def+swank";
+    version = "stable-git";
+    asds = [ "hu.dwim.def+swank" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz";
+      sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab";
+      system = "hu.dwim.def+swank";
+      asd = "hu.dwim.def+swank";
+    });
+    systems = [ "hu.dwim.def+swank" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_def_slash_documentation = {
+    pname = "hu.dwim.def_documentation";
+    version = "stable-git";
+    asds = [ "hu.dwim.def" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz";
+      sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab";
+      system = "hu.dwim.def";
+      asd = "hu.dwim.def";
+    });
+    systems = [ "hu.dwim.def/documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "optima" pkgs) ];
+  };
+  hu_dot_dwim_dot_def_slash_namespace = {
+    pname = "hu.dwim.def_namespace";
+    version = "stable-git";
+    asds = [ "hu.dwim.def" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz";
+      sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab";
+      system = "hu.dwim.def";
+      asd = "hu.dwim.def";
+    });
+    systems = [ "hu.dwim.def/namespace" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  hu_dot_dwim_dot_def_slash_test = {
+    pname = "hu.dwim.def_test";
+    version = "stable-git";
+    asds = [ "hu.dwim.def" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.def/2021-12-30/hu.dwim.def-stable-git.tgz";
+      sha256 = "1scjj9g2bn58l8i1g1brdqzrajy4bb63dqkwlcydcvk36iskpyab";
+      system = "hu.dwim.def";
+      asd = "hu.dwim.def";
+    });
+    systems = [ "hu.dwim.def/test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "optima" pkgs) ];
+  };
+  hu_dot_dwim_dot_defclass-star = {
+    pname = "hu.dwim.defclass-star";
+    version = "stable-git";
+    asds = [ "hu.dwim.defclass-star" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz";
+      sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2";
+      system = "hu.dwim.defclass-star";
+      asd = "hu.dwim.defclass-star";
+    });
+    systems = [ "hu.dwim.defclass-star" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) ];
+  };
+  hu_dot_dwim_dot_defclass-star_plus_contextl = {
+    pname = "hu.dwim.defclass-star+contextl";
+    version = "stable-git";
+    asds = [ "hu.dwim.defclass-star+contextl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz";
+      sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2";
+      system = "hu.dwim.defclass-star+contextl";
+      asd = "hu.dwim.defclass-star+contextl";
+    });
+    systems = [ "hu.dwim.defclass-star+contextl" ];
+    lispLibs = [ (getAttr "contextl" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) ];
+  };
+  hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def = {
+    pname = "hu.dwim.defclass-star+hu.dwim.def";
+    version = "stable-git";
+    asds = [ "hu.dwim.defclass-star+hu.dwim.def" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz";
+      sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2";
+      system = "hu.dwim.defclass-star+hu.dwim.def";
+      asd = "hu.dwim.defclass-star+hu.dwim.def";
+    });
+    systems = [ "hu.dwim.defclass-star+hu.dwim.def" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) ];
+  };
+  hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def_plus_contextl = {
+    pname = "hu.dwim.defclass-star+hu.dwim.def+contextl";
+    version = "stable-git";
+    asds = [ "hu.dwim.defclass-star+hu.dwim.def+contextl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz";
+      sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2";
+      system = "hu.dwim.defclass-star+hu.dwim.def+contextl";
+      asd = "hu.dwim.defclass-star+hu.dwim.def+contextl";
+    });
+    systems = [ "hu.dwim.defclass-star+hu.dwim.def+contextl" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_contextl" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) ];
+  };
+  hu_dot_dwim_dot_defclass-star_plus_swank = {
+    pname = "hu.dwim.defclass-star+swank";
+    version = "stable-git";
+    asds = [ "hu.dwim.defclass-star+swank" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz";
+      sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2";
+      system = "hu.dwim.defclass-star+swank";
+      asd = "hu.dwim.defclass-star+swank";
+    });
+    systems = [ "hu.dwim.defclass-star+swank" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_defclass-star_slash_documentation = {
+    pname = "hu.dwim.defclass-star_documentation";
+    version = "stable-git";
+    asds = [ "hu.dwim.defclass-star" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz";
+      sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2";
+      system = "hu.dwim.defclass-star";
+      asd = "hu.dwim.defclass-star";
+    });
+    systems = [ "hu.dwim.defclass-star/documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_defclass-star_slash_test = {
+    pname = "hu.dwim.defclass-star_test";
+    version = "stable-git";
+    asds = [ "hu.dwim.defclass-star" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.defclass-star/2021-12-30/hu.dwim.defclass-star-stable-git.tgz";
+      sha256 = "1lbmsn9s7v88w934r8rp4d59vsj1jg8p2cz9g5kl1n9vff5sxxw2";
+      system = "hu.dwim.defclass-star";
+      asd = "hu.dwim.defclass-star";
+    });
+    systems = [ "hu.dwim.defclass-star/test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_delico = {
+    pname = "hu.dwim.delico";
+    version = "20200925-darcs";
+    asds = [ "hu.dwim.delico" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.delico/2020-09-25/hu.dwim.delico-20200925-darcs.tgz";
+      sha256 = "12n5cddg7vd3y4dqjcf4wayxwj905ja8jh90ixvrhgnvs559lbnl";
+      system = "hu.dwim.delico";
+      asd = "hu.dwim.delico";
+    });
+    systems = [ "hu.dwim.delico" ];
+    lispLibs = [ (getAttr "contextl" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_walker" pkgs) ];
+  };
+  hu_dot_dwim_dot_delico_slash_documentation = {
+    pname = "hu.dwim.delico_documentation";
+    version = "20200925-darcs";
+    asds = [ "hu.dwim.delico" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.delico/2020-09-25/hu.dwim.delico-20200925-darcs.tgz";
+      sha256 = "12n5cddg7vd3y4dqjcf4wayxwj905ja8jh90ixvrhgnvs559lbnl";
+      system = "hu.dwim.delico";
+      asd = "hu.dwim.delico";
+    });
+    systems = [ "hu.dwim.delico/documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_delico" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "hu_dot_dwim_dot_walker" pkgs) ];
+  };
+  hu_dot_dwim_dot_delico_slash_test = {
+    pname = "hu.dwim.delico_test";
+    version = "20200925-darcs";
+    asds = [ "hu.dwim.delico" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.delico/2020-09-25/hu.dwim.delico-20200925-darcs.tgz";
+      sha256 = "12n5cddg7vd3y4dqjcf4wayxwj905ja8jh90ixvrhgnvs559lbnl";
+      system = "hu.dwim.delico";
+      asd = "hu.dwim.delico";
+    });
+    systems = [ "hu.dwim.delico/test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_delico" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_graphviz = {
+    pname = "hu.dwim.graphviz";
+    version = "stable-git";
+    asds = [ "hu.dwim.graphviz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.graphviz/2021-12-30/hu.dwim.graphviz-stable-git.tgz";
+      sha256 = "0cz5g7d6817ajypp876k9m65sxxlf42x4bg04ya73aqci5s1vjwy";
+      system = "hu.dwim.graphviz";
+      asd = "hu.dwim.graphviz";
+    });
+    systems = [ "hu.dwim.graphviz" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "metabang-bind" pkgs) ];
+  };
+  hu_dot_dwim_dot_graphviz_dot_documentation = {
+    pname = "hu.dwim.graphviz.documentation";
+    version = "stable-git";
+    asds = [ "hu.dwim.graphviz.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.graphviz/2021-12-30/hu.dwim.graphviz-stable-git.tgz";
+      sha256 = "0cz5g7d6817ajypp876k9m65sxxlf42x4bg04ya73aqci5s1vjwy";
+      system = "hu.dwim.graphviz.documentation";
+      asd = "hu.dwim.graphviz.documentation";
+    });
+    systems = [ "hu.dwim.graphviz.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_graphviz_dot_test" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) ];
+  };
+  hu_dot_dwim_dot_graphviz_dot_test = {
+    pname = "hu.dwim.graphviz.test";
+    version = "stable-git";
+    asds = [ "hu.dwim.graphviz.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.graphviz/2021-12-30/hu.dwim.graphviz-stable-git.tgz";
+      sha256 = "0cz5g7d6817ajypp876k9m65sxxlf42x4bg04ya73aqci5s1vjwy";
+      system = "hu.dwim.graphviz.test";
+      asd = "hu.dwim.graphviz.test";
+    });
+    systems = [ "hu.dwim.graphviz.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_graphviz" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_logger = {
+    pname = "hu.dwim.logger";
+    version = "stable-git";
+    asds = [ "hu.dwim.logger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz";
+      sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74";
+      system = "hu.dwim.logger";
+      asd = "hu.dwim.logger";
+    });
+    systems = [ "hu.dwim.logger" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  hu_dot_dwim_dot_logger_plus_iolib = {
+    pname = "hu.dwim.logger+iolib";
+    version = "stable-git";
+    asds = [ "hu.dwim.logger+iolib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz";
+      sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74";
+      system = "hu.dwim.logger+iolib";
+      asd = "hu.dwim.logger+iolib";
+    });
+    systems = [ "hu.dwim.logger+iolib" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_util_plus_iolib" pkgs) ];
+  };
+  hu_dot_dwim_dot_logger_plus_swank = {
+    pname = "hu.dwim.logger+swank";
+    version = "stable-git";
+    asds = [ "hu.dwim.logger+swank" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz";
+      sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74";
+      system = "hu.dwim.logger+swank";
+      asd = "hu.dwim.logger+swank";
+    });
+    systems = [ "hu.dwim.logger+swank" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_logger_dot_documentation = {
+    pname = "hu.dwim.logger.documentation";
+    version = "stable-git";
+    asds = [ "hu.dwim.logger.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz";
+      sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74";
+      system = "hu.dwim.logger.documentation";
+      asd = "hu.dwim.logger.documentation";
+    });
+    systems = [ "hu.dwim.logger.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_logger_dot_test" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) ];
+  };
+  hu_dot_dwim_dot_logger_dot_test = {
+    pname = "hu.dwim.logger.test";
+    version = "stable-git";
+    asds = [ "hu.dwim.logger.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.logger/2021-12-30/hu.dwim.logger-stable-git.tgz";
+      sha256 = "17b7m86pggg85lczww7nvswz0nj9qg1fxwv1l9wn31jfcf061h74";
+      system = "hu.dwim.logger.test";
+      asd = "hu.dwim.logger.test";
+    });
+    systems = [ "hu.dwim.logger.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_partial-eval = {
+    pname = "hu.dwim.partial-eval";
+    version = "20171130-darcs";
+    asds = [ "hu.dwim.partial-eval" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.partial-eval/2017-11-30/hu.dwim.partial-eval-20171130-darcs.tgz";
+      sha256 = "1zsh1rk9rcxkrqavhx2slpczii23y51fn66n68vsw5d97g9k6gzz";
+      system = "hu.dwim.partial-eval";
+      asd = "hu.dwim.partial-eval";
+    });
+    systems = [ "hu.dwim.partial-eval" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def_plus_contextl" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "hu_dot_dwim_dot_walker" pkgs) (getAttr "swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_partial-eval_dot_documentation = {
+    pname = "hu.dwim.partial-eval.documentation";
+    version = "20171130-darcs";
+    asds = [ "hu.dwim.partial-eval.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.partial-eval/2017-11-30/hu.dwim.partial-eval-20171130-darcs.tgz";
+      sha256 = "1zsh1rk9rcxkrqavhx2slpczii23y51fn66n68vsw5d97g9k6gzz";
+      system = "hu.dwim.partial-eval.documentation";
+      asd = "hu.dwim.partial-eval.documentation";
+    });
+    systems = [ "hu.dwim.partial-eval.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_partial-eval_dot_test" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) ];
+  };
+  hu_dot_dwim_dot_partial-eval_dot_test = {
+    pname = "hu.dwim.partial-eval.test";
+    version = "20171130-darcs";
+    asds = [ "hu.dwim.partial-eval.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.partial-eval/2017-11-30/hu.dwim.partial-eval-20171130-darcs.tgz";
+      sha256 = "1zsh1rk9rcxkrqavhx2slpczii23y51fn66n68vsw5d97g9k6gzz";
+      system = "hu.dwim.partial-eval.test";
+      asd = "hu.dwim.partial-eval.test";
+    });
+    systems = [ "hu.dwim.partial-eval.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_partial-eval" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_perec = {
+    pname = "hu.dwim.perec";
+    version = "20211209-darcs";
+    asds = [ "hu.dwim.perec" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz";
+      sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz";
+      system = "hu.dwim.perec";
+      asd = "hu.dwim.perec";
+    });
+    systems = [ "hu.dwim.perec" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-containers" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "contextl" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_computed-class" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_contextl" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_delico" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_rdbms" pkgs) (getAttr "hu_dot_dwim_dot_serializer" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "hu_dot_dwim_dot_walker" pkgs) (getAttr "ironclad" pkgs) (getAttr "local-time" pkgs) (getAttr "metacopy-with-contextl" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  hu_dot_dwim_dot_perec_plus_hu_dot_dwim_dot_quasi-quote_dot_xml = {
+    pname = "hu.dwim.perec+hu.dwim.quasi-quote.xml";
+    version = "20211209-darcs";
+    asds = [ "hu.dwim.perec+hu.dwim.quasi-quote.xml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz";
+      sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz";
+      system = "hu.dwim.perec+hu.dwim.quasi-quote.xml";
+      asd = "hu.dwim.perec+hu.dwim.quasi-quote.xml";
+    });
+    systems = [ "hu.dwim.perec+hu.dwim.quasi-quote.xml" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_perec" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml" pkgs) ];
+  };
+  hu_dot_dwim_dot_perec_plus_iolib = {
+    pname = "hu.dwim.perec+iolib";
+    version = "20211209-darcs";
+    asds = [ "hu.dwim.perec+iolib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz";
+      sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz";
+      system = "hu.dwim.perec+iolib";
+      asd = "hu.dwim.perec+iolib";
+    });
+    systems = [ "hu.dwim.perec+iolib" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_perec" pkgs) (getAttr "iolib" pkgs) ];
+  };
+  hu_dot_dwim_dot_perec_plus_swank = {
+    pname = "hu.dwim.perec+swank";
+    version = "20211209-darcs";
+    asds = [ "hu.dwim.perec+swank" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz";
+      sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz";
+      system = "hu.dwim.perec+swank";
+      asd = "hu.dwim.perec+swank";
+    });
+    systems = [ "hu.dwim.perec+swank" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_perec" pkgs) (getAttr "swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_perec_dot_all = {
+    pname = "hu.dwim.perec.all";
+    version = "20211209-darcs";
+    asds = [ "hu.dwim.perec.all" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz";
+      sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz";
+      system = "hu.dwim.perec.all";
+      asd = "hu.dwim.perec.all";
+    });
+    systems = [ "hu.dwim.perec.all" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_oracle" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_postgresql" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_sqlite" pkgs) ];
+  };
+  hu_dot_dwim_dot_perec_dot_all_dot_test = {
+    pname = "hu.dwim.perec.all.test";
+    version = "20211209-darcs";
+    asds = [ "hu.dwim.perec.all.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz";
+      sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz";
+      system = "hu.dwim.perec.all.test";
+      asd = "hu.dwim.perec.all.test";
+    });
+    systems = [ "hu.dwim.perec.all.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_oracle_dot_test" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_postgresql_dot_test" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_sqlite_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_perec_dot_documentation = {
+    pname = "hu.dwim.perec.documentation";
+    version = "20211209-darcs";
+    asds = [ "hu.dwim.perec.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz";
+      sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz";
+      system = "hu.dwim.perec.documentation";
+      asd = "hu.dwim.perec.documentation";
+    });
+    systems = [ "hu.dwim.perec.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_all_dot_test" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) ];
+  };
+  hu_dot_dwim_dot_perec_dot_oracle = {
+    pname = "hu.dwim.perec.oracle";
+    version = "20211209-darcs";
+    asds = [ "hu.dwim.perec.oracle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz";
+      sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz";
+      system = "hu.dwim.perec.oracle";
+      asd = "hu.dwim.perec.oracle";
+    });
+    systems = [ "hu.dwim.perec.oracle" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_perec" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_oracle" pkgs) ];
+  };
+  hu_dot_dwim_dot_perec_dot_oracle_dot_test = {
+    pname = "hu.dwim.perec.oracle.test";
+    version = "20211209-darcs";
+    asds = [ "hu.dwim.perec.oracle.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz";
+      sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz";
+      system = "hu.dwim.perec.oracle.test";
+      asd = "hu.dwim.perec.oracle.test";
+    });
+    systems = [ "hu.dwim.perec.oracle.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_oracle" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_perec_dot_postgresql = {
+    pname = "hu.dwim.perec.postgresql";
+    version = "20211209-darcs";
+    asds = [ "hu.dwim.perec.postgresql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz";
+      sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz";
+      system = "hu.dwim.perec.postgresql";
+      asd = "hu.dwim.perec.postgresql";
+    });
+    systems = [ "hu.dwim.perec.postgresql" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_perec" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_postgresql" pkgs) ];
+  };
+  hu_dot_dwim_dot_perec_dot_postgresql_dot_test = {
+    pname = "hu.dwim.perec.postgresql.test";
+    version = "20211209-darcs";
+    asds = [ "hu.dwim.perec.postgresql.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz";
+      sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz";
+      system = "hu.dwim.perec.postgresql.test";
+      asd = "hu.dwim.perec.postgresql.test";
+    });
+    systems = [ "hu.dwim.perec.postgresql.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_postgresql" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_perec_dot_sqlite = {
+    pname = "hu.dwim.perec.sqlite";
+    version = "20211209-darcs";
+    asds = [ "hu.dwim.perec.sqlite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz";
+      sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz";
+      system = "hu.dwim.perec.sqlite";
+      asd = "hu.dwim.perec.sqlite";
+    });
+    systems = [ "hu.dwim.perec.sqlite" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_perec" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_sqlite" pkgs) ];
+  };
+  hu_dot_dwim_dot_perec_dot_sqlite_dot_test = {
+    pname = "hu.dwim.perec.sqlite.test";
+    version = "20211209-darcs";
+    asds = [ "hu.dwim.perec.sqlite.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz";
+      sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz";
+      system = "hu.dwim.perec.sqlite.test";
+      asd = "hu.dwim.perec.sqlite.test";
+    });
+    systems = [ "hu.dwim.perec.sqlite.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_sqlite" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_perec_dot_test = {
+    pname = "hu.dwim.perec.test";
+    version = "20211209-darcs";
+    asds = [ "hu.dwim.perec.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.perec/2021-12-09/hu.dwim.perec-20211209-darcs.tgz";
+      sha256 = "1m313l0j7jnmw6dlivmxjhcncjwsrzi5zy5g3g3ggzij3fjf9nnz";
+      system = "hu.dwim.perec.test";
+      asd = "hu.dwim.perec.test";
+    });
+    systems = [ "hu.dwim.perec.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_perec_plus_hu_dot_dwim_dot_quasi-quote_dot_xml" pkgs) (getAttr "hu_dot_dwim_dot_perec_plus_iolib" pkgs) (getAttr "hu_dot_dwim_dot_perec_plus_swank" pkgs) (getAttr "hu_dot_dwim_dot_util_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_presentation = {
+    pname = "hu.dwim.presentation";
+    version = "20211230-darcs";
+    asds = [ "hu.dwim.presentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz";
+      sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp";
+      system = "hu.dwim.presentation";
+      asd = "hu.dwim.presentation";
+    });
+    systems = [ "hu.dwim.presentation" ];
+    lispLibs = [ (getAttr "cl-graph_plus_hu_dot_dwim_dot_graphviz" pkgs) (getAttr "contextl" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_contextl" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "hu_dot_dwim_dot_web-server_dot_application" pkgs) (getAttr "iolib" pkgs) (getAttr "moptilities" pkgs) ];
+  };
+  hu_dot_dwim_dot_presentation_plus_cl-graph_plus_cl-typesetting = {
+    pname = "hu.dwim.presentation+cl-graph+cl-typesetting";
+    version = "20211230-darcs";
+    asds = [ "hu.dwim.presentation+cl-graph+cl-typesetting" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz";
+      sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp";
+      system = "hu.dwim.presentation+cl-graph+cl-typesetting";
+      asd = "hu.dwim.presentation+cl-graph+cl-typesetting";
+    });
+    systems = [ "hu.dwim.presentation+cl-graph+cl-typesetting" ];
+    lispLibs = [ (getAttr "cl-graph" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_presentation_plus_cl-typesetting" pkgs) ];
+  };
+  hu_dot_dwim_dot_presentation_plus_cl-typesetting = {
+    pname = "hu.dwim.presentation+cl-typesetting";
+    version = "20211230-darcs";
+    asds = [ "hu.dwim.presentation+cl-typesetting" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz";
+      sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp";
+      system = "hu.dwim.presentation+cl-typesetting";
+      asd = "hu.dwim.presentation+cl-typesetting";
+    });
+    systems = [ "hu.dwim.presentation+cl-typesetting" ];
+    lispLibs = [ (getAttr "cl-typesetting" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) ];
+  };
+  hu_dot_dwim_dot_presentation_plus_hu_dot_dwim_dot_stefil = {
+    pname = "hu.dwim.presentation+hu.dwim.stefil";
+    version = "20211230-darcs";
+    asds = [ "hu.dwim.presentation+hu.dwim.stefil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz";
+      sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp";
+      system = "hu.dwim.presentation+hu.dwim.stefil";
+      asd = "hu.dwim.presentation+hu.dwim.stefil";
+    });
+    systems = [ "hu.dwim.presentation+hu.dwim.stefil" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  hu_dot_dwim_dot_presentation_plus_hu_dot_dwim_dot_web-server = {
+    pname = "hu.dwim.presentation+hu.dwim.web-server";
+    version = "20211230-darcs";
+    asds = [ "hu.dwim.presentation+hu.dwim.web-server" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.presentation/2021-12-30/hu.dwim.presentation-20211230-darcs.tgz";
+      sha256 = "06y08z2pa3ra8hwn46n4kygf6vhq68nh73x4gzh4skx379hb4fgp";
+      system = "hu.dwim.presentation+hu.dwim.web-server";
+      asd = "hu.dwim.presentation+hu.dwim.web-server";
+    });
+    systems = [ "hu.dwim.presentation+hu.dwim.web-server" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) (getAttr "hu_dot_dwim_dot_web-server" pkgs) ];
+  };
+  hu_dot_dwim_dot_quasi-quote = {
+    pname = "hu.dwim.quasi-quote";
+    version = "stable-git";
+    asds = [ "hu.dwim.quasi-quote" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2021-02-28/hu.dwim.quasi-quote-stable-git.tgz";
+      sha256 = "0q7d2may7yzl5wmbys1ysd15ayckaqf12n95r6q7730zmba77cps";
+      system = "hu.dwim.quasi-quote";
+      asd = "hu.dwim.quasi-quote";
+    });
+    systems = [ "hu.dwim.quasi-quote" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "babel-streams" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "hu_dot_dwim_dot_walker" pkgs) ];
+  };
+  hu_dot_dwim_dot_quasi-quote_dot_css = {
+    pname = "hu.dwim.quasi-quote.css";
+    version = "stable-git";
+    asds = [ "hu.dwim.quasi-quote.css" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2021-02-28/hu.dwim.quasi-quote-stable-git.tgz";
+      sha256 = "0q7d2may7yzl5wmbys1ysd15ayckaqf12n95r6q7730zmba77cps";
+      system = "hu.dwim.quasi-quote.css";
+      asd = "hu.dwim.quasi-quote.css";
+    });
+    systems = [ "hu.dwim.quasi-quote.css" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote" pkgs) ];
+  };
+  hu_dot_dwim_dot_quasi-quote_dot_documentation = {
+    pname = "hu.dwim.quasi-quote.documentation";
+    version = "stable-git";
+    asds = [ "hu.dwim.quasi-quote.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2021-02-28/hu.dwim.quasi-quote-stable-git.tgz";
+      sha256 = "0q7d2may7yzl5wmbys1ysd15ayckaqf12n95r6q7730zmba77cps";
+      system = "hu.dwim.quasi-quote.documentation";
+      asd = "hu.dwim.quasi-quote.documentation";
+    });
+    systems = [ "hu.dwim.quasi-quote.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_quasi-quote_dot_js = {
+    pname = "hu.dwim.quasi-quote.js";
+    version = "stable-git";
+    asds = [ "hu.dwim.quasi-quote.js" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2021-02-28/hu.dwim.quasi-quote-stable-git.tgz";
+      sha256 = "0q7d2may7yzl5wmbys1ysd15ayckaqf12n95r6q7730zmba77cps";
+      system = "hu.dwim.quasi-quote.js";
+      asd = "hu.dwim.quasi-quote.js";
+    });
+    systems = [ "hu.dwim.quasi-quote.js" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "hu_dot_dwim_dot_walker" pkgs) ];
+  };
+  hu_dot_dwim_dot_quasi-quote_dot_pdf = {
+    pname = "hu.dwim.quasi-quote.pdf";
+    version = "stable-git";
+    asds = [ "hu.dwim.quasi-quote.pdf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2021-02-28/hu.dwim.quasi-quote-stable-git.tgz";
+      sha256 = "0q7d2may7yzl5wmbys1ysd15ayckaqf12n95r6q7730zmba77cps";
+      system = "hu.dwim.quasi-quote.pdf";
+      asd = "hu.dwim.quasi-quote.pdf";
+    });
+    systems = [ "hu.dwim.quasi-quote.pdf" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote" pkgs) ];
+  };
+  hu_dot_dwim_dot_quasi-quote_dot_test = {
+    pname = "hu.dwim.quasi-quote.test";
+    version = "stable-git";
+    asds = [ "hu.dwim.quasi-quote.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2021-02-28/hu.dwim.quasi-quote-stable-git.tgz";
+      sha256 = "0q7d2may7yzl5wmbys1ysd15ayckaqf12n95r6q7730zmba77cps";
+      system = "hu.dwim.quasi-quote.test";
+      asd = "hu.dwim.quasi-quote.test";
+    });
+    systems = [ "hu.dwim.quasi-quote.test" ];
+    lispLibs = [ (getAttr "cxml" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_css" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml_plus_hu_dot_dwim_dot_quasi-quote_dot_js" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) (getAttr "parse-number" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  hu_dot_dwim_dot_quasi-quote_dot_xml = {
+    pname = "hu.dwim.quasi-quote.xml";
+    version = "stable-git";
+    asds = [ "hu.dwim.quasi-quote.xml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2021-02-28/hu.dwim.quasi-quote-stable-git.tgz";
+      sha256 = "0q7d2may7yzl5wmbys1ysd15ayckaqf12n95r6q7730zmba77cps";
+      system = "hu.dwim.quasi-quote.xml";
+      asd = "hu.dwim.quasi-quote.xml";
+    });
+    systems = [ "hu.dwim.quasi-quote.xml" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote" pkgs) ];
+  };
+  hu_dot_dwim_dot_quasi-quote_dot_xml_plus_cxml = {
+    pname = "hu.dwim.quasi-quote.xml+cxml";
+    version = "stable-git";
+    asds = [ "hu.dwim.quasi-quote.xml+cxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2021-02-28/hu.dwim.quasi-quote-stable-git.tgz";
+      sha256 = "0q7d2may7yzl5wmbys1ysd15ayckaqf12n95r6q7730zmba77cps";
+      system = "hu.dwim.quasi-quote.xml+cxml";
+      asd = "hu.dwim.quasi-quote.xml+cxml";
+    });
+    systems = [ "hu.dwim.quasi-quote.xml+cxml" ];
+    lispLibs = [ (getAttr "cxml" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml" pkgs) ];
+  };
+  hu_dot_dwim_dot_quasi-quote_dot_xml_plus_hu_dot_dwim_dot_quasi-quote_dot_js = {
+    pname = "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js";
+    version = "stable-git";
+    asds = [ "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.quasi-quote/2021-02-28/hu.dwim.quasi-quote-stable-git.tgz";
+      sha256 = "0q7d2may7yzl5wmbys1ysd15ayckaqf12n95r6q7730zmba77cps";
+      system = "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js";
+      asd = "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js";
+    });
+    systems = [ "hu.dwim.quasi-quote.xml+hu.dwim.quasi-quote.js" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_js" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml" pkgs) ];
+  };
+  hu_dot_dwim_dot_rdbms = {
+    pname = "hu.dwim.rdbms";
+    version = "20201016-darcs";
+    asds = [ "hu.dwim.rdbms" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz";
+      sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av";
+      system = "hu.dwim.rdbms";
+      asd = "hu.dwim.rdbms";
+    });
+    systems = [ "hu.dwim.rdbms" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "hu_dot_dwim_dot_walker" pkgs) (getAttr "ironclad" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  hu_dot_dwim_dot_rdbms_dot_all = {
+    pname = "hu.dwim.rdbms.all";
+    version = "20201016-darcs";
+    asds = [ "hu.dwim.rdbms.all" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz";
+      sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av";
+      system = "hu.dwim.rdbms.all";
+      asd = "hu.dwim.rdbms.all";
+    });
+    systems = [ "hu.dwim.rdbms.all" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_oracle" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_postgresql" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_sqlite" pkgs) ];
+  };
+  hu_dot_dwim_dot_rdbms_dot_all_dot_test = {
+    pname = "hu.dwim.rdbms.all.test";
+    version = "20201016-darcs";
+    asds = [ "hu.dwim.rdbms.all.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz";
+      sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av";
+      system = "hu.dwim.rdbms.all.test";
+      asd = "hu.dwim.rdbms.all.test";
+    });
+    systems = [ "hu.dwim.rdbms.all.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_oracle_dot_test" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_postgresql_dot_test" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_sqlite_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_rdbms_dot_documentation = {
+    pname = "hu.dwim.rdbms.documentation";
+    version = "20201016-darcs";
+    asds = [ "hu.dwim.rdbms.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz";
+      sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av";
+      system = "hu.dwim.rdbms.documentation";
+      asd = "hu.dwim.rdbms.documentation";
+    });
+    systems = [ "hu.dwim.rdbms.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_all_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_rdbms_dot_oracle = {
+    pname = "hu.dwim.rdbms.oracle";
+    version = "20201016-darcs";
+    asds = [ "hu.dwim.rdbms.oracle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz";
+      sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av";
+      system = "hu.dwim.rdbms.oracle";
+      asd = "hu.dwim.rdbms.oracle";
+    });
+    systems = [ "hu.dwim.rdbms.oracle" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_rdbms" pkgs) ];
+  };
+  hu_dot_dwim_dot_rdbms_dot_oracle_dot_test = {
+    pname = "hu.dwim.rdbms.oracle.test";
+    version = "20201016-darcs";
+    asds = [ "hu.dwim.rdbms.oracle.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz";
+      sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av";
+      system = "hu.dwim.rdbms.oracle.test";
+      asd = "hu.dwim.rdbms.oracle.test";
+    });
+    systems = [ "hu.dwim.rdbms.oracle.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_oracle" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_rdbms_dot_postgresql = {
+    pname = "hu.dwim.rdbms.postgresql";
+    version = "20201016-darcs";
+    asds = [ "hu.dwim.rdbms.postgresql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz";
+      sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av";
+      system = "hu.dwim.rdbms.postgresql";
+      asd = "hu.dwim.rdbms.postgresql";
+    });
+    systems = [ "hu.dwim.rdbms.postgresql" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_rdbms" pkgs) (getAttr "cl-postgres_plus_local-time" pkgs) ];
+  };
+  hu_dot_dwim_dot_rdbms_dot_postgresql_dot_test = {
+    pname = "hu.dwim.rdbms.postgresql.test";
+    version = "20201016-darcs";
+    asds = [ "hu.dwim.rdbms.postgresql.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz";
+      sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av";
+      system = "hu.dwim.rdbms.postgresql.test";
+      asd = "hu.dwim.rdbms.postgresql.test";
+    });
+    systems = [ "hu.dwim.rdbms.postgresql.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_postgresql" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_rdbms_dot_sqlite = {
+    pname = "hu.dwim.rdbms.sqlite";
+    version = "20201016-darcs";
+    asds = [ "hu.dwim.rdbms.sqlite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz";
+      sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av";
+      system = "hu.dwim.rdbms.sqlite";
+      asd = "hu.dwim.rdbms.sqlite";
+    });
+    systems = [ "hu.dwim.rdbms.sqlite" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_rdbms" pkgs) ];
+  };
+  hu_dot_dwim_dot_rdbms_dot_sqlite_dot_test = {
+    pname = "hu.dwim.rdbms.sqlite.test";
+    version = "20201016-darcs";
+    asds = [ "hu.dwim.rdbms.sqlite.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz";
+      sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av";
+      system = "hu.dwim.rdbms.sqlite.test";
+      asd = "hu.dwim.rdbms.sqlite.test";
+    });
+    systems = [ "hu.dwim.rdbms.sqlite.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_sqlite" pkgs) (getAttr "hu_dot_dwim_dot_rdbms_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_rdbms_dot_test = {
+    pname = "hu.dwim.rdbms.test";
+    version = "20201016-darcs";
+    asds = [ "hu.dwim.rdbms.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.rdbms/2020-10-16/hu.dwim.rdbms-20201016-darcs.tgz";
+      sha256 = "1rklr82ibwmfffijmpy8mlm6vnylykajzk7r1g0mn28si3map3av";
+      system = "hu.dwim.rdbms.test";
+      asd = "hu.dwim.rdbms.test";
+    });
+    systems = [ "hu.dwim.rdbms.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_rdbms" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_reiterate = {
+    pname = "hu.dwim.reiterate";
+    version = "stable-git";
+    asds = [ "hu.dwim.reiterate" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.reiterate/2021-12-30/hu.dwim.reiterate-stable-git.tgz";
+      sha256 = "0h6cgg385ivgc6942xal09c7n9vmy6gn4y3zz4zafc1qyl5jwyv9";
+      system = "hu.dwim.reiterate";
+      asd = "hu.dwim.reiterate";
+    });
+    systems = [ "hu.dwim.reiterate" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common-lisp" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "metabang-bind" pkgs) ];
+  };
+  hu_dot_dwim_dot_reiterate_plus_hu_dot_dwim_dot_logger = {
+    pname = "hu.dwim.reiterate+hu.dwim.logger";
+    version = "stable-git";
+    asds = [ "hu.dwim.reiterate+hu.dwim.logger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.reiterate/2021-12-30/hu.dwim.reiterate-stable-git.tgz";
+      sha256 = "0h6cgg385ivgc6942xal09c7n9vmy6gn4y3zz4zafc1qyl5jwyv9";
+      system = "hu.dwim.reiterate+hu.dwim.logger";
+      asd = "hu.dwim.reiterate+hu.dwim.logger";
+    });
+    systems = [ "hu.dwim.reiterate+hu.dwim.logger" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_reiterate" pkgs) ];
+  };
+  hu_dot_dwim_dot_sdl = {
+    pname = "hu.dwim.sdl";
+    version = "stable-git";
+    asds = [ "hu.dwim.sdl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.sdl/2021-02-28/hu.dwim.sdl-stable-git.tgz";
+      sha256 = "1rsjljrk5lhym9qxxyispk2hppbcm2k17gx1qri59371j05isdkw";
+      system = "hu.dwim.sdl";
+      asd = "hu.dwim.sdl";
+    });
+    systems = [ "hu.dwim.sdl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) ];
+  };
+  hu_dot_dwim_dot_sdl_slash_fancy = {
+    pname = "hu.dwim.sdl_fancy";
+    version = "stable-git";
+    asds = [ "hu.dwim.sdl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.sdl/2021-02-28/hu.dwim.sdl-stable-git.tgz";
+      sha256 = "1rsjljrk5lhym9qxxyispk2hppbcm2k17gx1qri59371j05isdkw";
+      system = "hu.dwim.sdl";
+      asd = "hu.dwim.sdl";
+    });
+    systems = [ "hu.dwim.sdl/fancy" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_sdl" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) ];
+  };
+  hu_dot_dwim_dot_sdl_slash_gfx = {
+    pname = "hu.dwim.sdl_gfx";
+    version = "stable-git";
+    asds = [ "hu.dwim.sdl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.sdl/2021-02-28/hu.dwim.sdl-stable-git.tgz";
+      sha256 = "1rsjljrk5lhym9qxxyispk2hppbcm2k17gx1qri59371j05isdkw";
+      system = "hu.dwim.sdl";
+      asd = "hu.dwim.sdl";
+    });
+    systems = [ "hu.dwim.sdl/gfx" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "hu_dot_dwim_dot_sdl" pkgs) ];
+  };
+  hu_dot_dwim_dot_sdl_slash_image = {
+    pname = "hu.dwim.sdl_image";
+    version = "stable-git";
+    asds = [ "hu.dwim.sdl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.sdl/2021-02-28/hu.dwim.sdl-stable-git.tgz";
+      sha256 = "1rsjljrk5lhym9qxxyispk2hppbcm2k17gx1qri59371j05isdkw";
+      system = "hu.dwim.sdl";
+      asd = "hu.dwim.sdl";
+    });
+    systems = [ "hu.dwim.sdl/image" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "hu_dot_dwim_dot_sdl" pkgs) ];
+  };
+  hu_dot_dwim_dot_sdl_slash_ttf = {
+    pname = "hu.dwim.sdl_ttf";
+    version = "stable-git";
+    asds = [ "hu.dwim.sdl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.sdl/2021-02-28/hu.dwim.sdl-stable-git.tgz";
+      sha256 = "1rsjljrk5lhym9qxxyispk2hppbcm2k17gx1qri59371j05isdkw";
+      system = "hu.dwim.sdl";
+      asd = "hu.dwim.sdl";
+    });
+    systems = [ "hu.dwim.sdl/ttf" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "hu_dot_dwim_dot_sdl" pkgs) ];
+  };
+  hu_dot_dwim_dot_serializer = {
+    pname = "hu.dwim.serializer";
+    version = "20161204-darcs";
+    asds = [ "hu.dwim.serializer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.serializer/2016-12-04/hu.dwim.serializer-20161204-darcs.tgz";
+      sha256 = "1c4zl2ql4w7nw8vrcrhhq45c5yhbcp4z5qpp1yxjpd3002q2lbh2";
+      system = "hu.dwim.serializer";
+      asd = "hu.dwim.serializer";
+    });
+    systems = [ "hu.dwim.serializer" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_serializer_dot_documentation = {
+    pname = "hu.dwim.serializer.documentation";
+    version = "20161204-darcs";
+    asds = [ "hu.dwim.serializer.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.serializer/2016-12-04/hu.dwim.serializer-20161204-darcs.tgz";
+      sha256 = "1c4zl2ql4w7nw8vrcrhhq45c5yhbcp4z5qpp1yxjpd3002q2lbh2";
+      system = "hu.dwim.serializer.documentation";
+      asd = "hu.dwim.serializer.documentation";
+    });
+    systems = [ "hu.dwim.serializer.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) (getAttr "hu_dot_dwim_dot_serializer_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_serializer_dot_test = {
+    pname = "hu.dwim.serializer.test";
+    version = "20161204-darcs";
+    asds = [ "hu.dwim.serializer.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.serializer/2016-12-04/hu.dwim.serializer-20161204-darcs.tgz";
+      sha256 = "1c4zl2ql4w7nw8vrcrhhq45c5yhbcp4z5qpp1yxjpd3002q2lbh2";
+      system = "hu.dwim.serializer.test";
+      asd = "hu.dwim.serializer.test";
+    });
+    systems = [ "hu.dwim.serializer.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_serializer" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_stefil = {
+    pname = "hu.dwim.stefil";
+    version = "stable-git";
+    asds = [ "hu.dwim.stefil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.stefil/2021-12-30/hu.dwim.stefil-stable-git.tgz";
+      sha256 = "0sra6psvrlpx9w7xjikm6ph2qlmgi9lr1kagpsiafxq4dnqlxjsx";
+      system = "hu.dwim.stefil";
+      asd = "hu.dwim.stefil";
+    });
+    systems = [ "hu.dwim.stefil" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def = {
+    pname = "hu.dwim.stefil+hu.dwim.def";
+    version = "stable-git";
+    asds = [ "hu.dwim.stefil+hu.dwim.def" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.stefil/2021-12-30/hu.dwim.stefil-stable-git.tgz";
+      sha256 = "0sra6psvrlpx9w7xjikm6ph2qlmgi9lr1kagpsiafxq4dnqlxjsx";
+      system = "hu.dwim.stefil+hu.dwim.def";
+      asd = "hu.dwim.stefil+hu.dwim.def";
+    });
+    systems = [ "hu.dwim.stefil+hu.dwim.def" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank = {
+    pname = "hu.dwim.stefil+hu.dwim.def+swank";
+    version = "stable-git";
+    asds = [ "hu.dwim.stefil+hu.dwim.def+swank" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.stefil/2021-12-30/hu.dwim.stefil-stable-git.tgz";
+      sha256 = "0sra6psvrlpx9w7xjikm6ph2qlmgi9lr1kagpsiafxq4dnqlxjsx";
+      system = "hu.dwim.stefil+hu.dwim.def+swank";
+      asd = "hu.dwim.stefil+hu.dwim.def+swank";
+    });
+    systems = [ "hu.dwim.stefil+hu.dwim.def+swank" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_swank" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_stefil_plus_swank = {
+    pname = "hu.dwim.stefil+swank";
+    version = "stable-git";
+    asds = [ "hu.dwim.stefil+swank" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.stefil/2021-12-30/hu.dwim.stefil-stable-git.tgz";
+      sha256 = "0sra6psvrlpx9w7xjikm6ph2qlmgi9lr1kagpsiafxq4dnqlxjsx";
+      system = "hu.dwim.stefil+swank";
+      asd = "hu.dwim.stefil+swank";
+    });
+    systems = [ "hu.dwim.stefil+swank" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_stefil_slash_test = {
+    pname = "hu.dwim.stefil_test";
+    version = "stable-git";
+    asds = [ "hu.dwim.stefil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.stefil/2021-12-30/hu.dwim.stefil-stable-git.tgz";
+      sha256 = "0sra6psvrlpx9w7xjikm6ph2qlmgi9lr1kagpsiafxq4dnqlxjsx";
+      system = "hu.dwim.stefil";
+      asd = "hu.dwim.stefil";
+    });
+    systems = [ "hu.dwim.stefil/test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  hu_dot_dwim_dot_syntax-sugar = {
+    pname = "hu.dwim.syntax-sugar";
+    version = "20161204-darcs";
+    asds = [ "hu.dwim.syntax-sugar" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.syntax-sugar/2016-12-04/hu.dwim.syntax-sugar-20161204-darcs.tgz";
+      sha256 = "0hj74g9jsqcqprvxk9hkx4ykhxxdv6s7x82acjz12xyjvvqpx7zc";
+      system = "hu.dwim.syntax-sugar";
+      asd = "hu.dwim.syntax-sugar";
+    });
+    systems = [ "hu.dwim.syntax-sugar" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) ];
+  };
+  hu_dot_dwim_dot_syntax-sugar_dot_documentation = {
+    pname = "hu.dwim.syntax-sugar.documentation";
+    version = "20161204-darcs";
+    asds = [ "hu.dwim.syntax-sugar.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.syntax-sugar/2016-12-04/hu.dwim.syntax-sugar-20161204-darcs.tgz";
+      sha256 = "0hj74g9jsqcqprvxk9hkx4ykhxxdv6s7x82acjz12xyjvvqpx7zc";
+      system = "hu.dwim.syntax-sugar.documentation";
+      asd = "hu.dwim.syntax-sugar.documentation";
+    });
+    systems = [ "hu.dwim.syntax-sugar.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_syntax-sugar_dot_test = {
+    pname = "hu.dwim.syntax-sugar.test";
+    version = "20161204-darcs";
+    asds = [ "hu.dwim.syntax-sugar.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.syntax-sugar/2016-12-04/hu.dwim.syntax-sugar-20161204-darcs.tgz";
+      sha256 = "0hj74g9jsqcqprvxk9hkx4ykhxxdv6s7x82acjz12xyjvvqpx7zc";
+      system = "hu.dwim.syntax-sugar.test";
+      asd = "hu.dwim.syntax-sugar.test";
+    });
+    systems = [ "hu.dwim.syntax-sugar.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) (getAttr "hu_dot_dwim_dot_walker" pkgs) ];
+  };
+  hu_dot_dwim_dot_syntax-sugar_slash_lambda-with-bang-args = {
+    pname = "hu.dwim.syntax-sugar_lambda-with-bang-args";
+    version = "20161204-darcs";
+    asds = [ "hu.dwim.syntax-sugar" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.syntax-sugar/2016-12-04/hu.dwim.syntax-sugar-20161204-darcs.tgz";
+      sha256 = "0hj74g9jsqcqprvxk9hkx4ykhxxdv6s7x82acjz12xyjvvqpx7zc";
+      system = "hu.dwim.syntax-sugar";
+      asd = "hu.dwim.syntax-sugar";
+    });
+    systems = [ "hu.dwim.syntax-sugar/lambda-with-bang-args" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) (getAttr "hu_dot_dwim_dot_walker" pkgs) ];
+  };
+  hu_dot_dwim_dot_syntax-sugar_slash_unicode = {
+    pname = "hu.dwim.syntax-sugar_unicode";
+    version = "20161204-darcs";
+    asds = [ "hu.dwim.syntax-sugar" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.syntax-sugar/2016-12-04/hu.dwim.syntax-sugar-20161204-darcs.tgz";
+      sha256 = "0hj74g9jsqcqprvxk9hkx4ykhxxdv6s7x82acjz12xyjvvqpx7zc";
+      system = "hu.dwim.syntax-sugar";
+      asd = "hu.dwim.syntax-sugar";
+    });
+    systems = [ "hu.dwim.syntax-sugar/unicode" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) ];
+  };
+  hu_dot_dwim_dot_uri = {
+    pname = "hu.dwim.uri";
+    version = "20180228-darcs";
+    asds = [ "hu.dwim.uri" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.uri/2018-02-28/hu.dwim.uri-20180228-darcs.tgz";
+      sha256 = "0wvai7djmbry0b0j8vhzw3s8m30ghs2sml29gw6snh1pynh3c2ir";
+      system = "hu.dwim.uri";
+      asd = "hu.dwim.uri";
+    });
+    systems = [ "hu.dwim.uri" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "iolib" pkgs) ];
+  };
+  hu_dot_dwim_dot_uri_dot_test = {
+    pname = "hu.dwim.uri.test";
+    version = "20180228-darcs";
+    asds = [ "hu.dwim.uri.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.uri/2018-02-28/hu.dwim.uri-20180228-darcs.tgz";
+      sha256 = "0wvai7djmbry0b0j8vhzw3s8m30ghs2sml29gw6snh1pynh3c2ir";
+      system = "hu.dwim.uri.test";
+      asd = "hu.dwim.uri.test";
+    });
+    systems = [ "hu.dwim.uri.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) (getAttr "hu_dot_dwim_dot_uri" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_util = {
+    pname = "hu.dwim.util";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_plus_iolib = {
+    pname = "hu.dwim.util+iolib";
+    version = "stable-git";
+    asds = [ "hu.dwim.util+iolib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util+iolib";
+      asd = "hu.dwim.util+iolib";
+    });
+    systems = [ "hu.dwim.util+iolib" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "iolib" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_dot_documentation = {
+    pname = "hu.dwim.util.documentation";
+    version = "stable-git";
+    asds = [ "hu.dwim.util.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util.documentation";
+      asd = "hu.dwim.util.documentation";
+    });
+    systems = [ "hu.dwim.util.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_dot_test = {
+    pname = "hu.dwim.util.test";
+    version = "stable-git";
+    asds = [ "hu.dwim.util.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util.test";
+      asd = "hu.dwim.util.test";
+    });
+    systems = [ "hu.dwim.util.test" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "babel-streams" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-l10n" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "command-line-arguments" pkgs) (getAttr "cxml" pkgs) (getAttr "drakma" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_delico" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_postgresql" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "hu_dot_dwim_dot_util_plus_iolib" pkgs) (getAttr "hu_dot_dwim_dot_web-server_dot_application" pkgs) (getAttr "iolib" pkgs) (getAttr "swank" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_authorization = {
+    pname = "hu.dwim.util_authorization";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/authorization" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_partial-eval" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "hu_dot_dwim_dot_walker" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_command-line = {
+    pname = "hu.dwim.util_command-line";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/command-line" ];
+    lispLibs = [ (getAttr "command-line-arguments" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_error-handling = {
+    pname = "hu.dwim.util_error-handling";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/error-handling" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_error-handling_plus_swank = {
+    pname = "hu.dwim.util_error-handling+swank";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/error-handling+swank" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_finite-state-machine = {
+    pname = "hu.dwim.util_finite-state-machine";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/finite-state-machine" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_flexml = {
+    pname = "hu.dwim.util_flexml";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/flexml" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cxml" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_i18n = {
+    pname = "hu.dwim.util_i18n";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/i18n" ];
+    lispLibs = [ (getAttr "cl-l10n" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_linear-mapping = {
+    pname = "hu.dwim.util_linear-mapping";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/linear-mapping" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_mop = {
+    pname = "hu.dwim.util_mop";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/mop" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_production = {
+    pname = "hu.dwim.util_production";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/production" ];
+    lispLibs = [ (getAttr "command-line-arguments" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_perec_dot_postgresql" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "hu_dot_dwim_dot_util_plus_iolib" pkgs) (getAttr "hu_dot_dwim_dot_web-server_dot_application" pkgs) (getAttr "iolib" pkgs) (getAttr "swank" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_soap = {
+    pname = "hu.dwim.util_soap";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/soap" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "babel-streams" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cxml" pkgs) (getAttr "drakma" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_source = {
+    pname = "hu.dwim.util_source";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/source" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_standard-process = {
+    pname = "hu.dwim.util_standard-process";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/standard-process" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_delico" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_temporary-files = {
+    pname = "hu.dwim.util_temporary-files";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/temporary-files" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_util_plus_iolib" pkgs) (getAttr "iolib" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_threads = {
+    pname = "hu.dwim.util_threads";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/threads" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_util_slash_worker-group = {
+    pname = "hu.dwim.util_worker-group";
+    version = "stable-git";
+    asds = [ "hu.dwim.util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.util/2021-12-30/hu.dwim.util-stable-git.tgz";
+      sha256 = "01f0kvvaa94zkz5zzfaf8cbiihlp0l6627q3hmc0k154j3mdarmi";
+      system = "hu.dwim.util";
+      asd = "hu.dwim.util";
+    });
+    systems = [ "hu.dwim.util/worker-group" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) ];
+  };
+  hu_dot_dwim_dot_walker = {
+    pname = "hu.dwim.walker";
+    version = "stable-git";
+    asds = [ "hu.dwim.walker" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.walker/2021-02-28/hu.dwim.walker-stable-git.tgz";
+      sha256 = "1db5sypnh494m1saws03nxs229m9krh1ya799czip8vjbi5rawc8";
+      system = "hu.dwim.walker";
+      asd = "hu.dwim.walker";
+    });
+    systems = [ "hu.dwim.walker" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "closer-mop" pkgs) (getAttr "contextl" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_contextl" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "metabang-bind" pkgs) ];
+  };
+  hu_dot_dwim_dot_walker_slash_documentation = {
+    pname = "hu.dwim.walker_documentation";
+    version = "stable-git";
+    asds = [ "hu.dwim.walker" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.walker/2021-02-28/hu.dwim.walker-stable-git.tgz";
+      sha256 = "1db5sypnh494m1saws03nxs229m9krh1ya799czip8vjbi5rawc8";
+      system = "hu.dwim.walker";
+      asd = "hu.dwim.walker";
+    });
+    systems = [ "hu.dwim.walker/documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_swank" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "hu_dot_dwim_dot_walker" pkgs) ];
+  };
+  hu_dot_dwim_dot_walker_slash_test = {
+    pname = "hu.dwim.walker_test";
+    version = "stable-git";
+    asds = [ "hu.dwim.walker" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.walker/2021-02-28/hu.dwim.walker-stable-git.tgz";
+      sha256 = "1db5sypnh494m1saws03nxs229m9krh1ya799czip8vjbi5rawc8";
+      system = "hu.dwim.walker";
+      asd = "hu.dwim.walker";
+    });
+    systems = [ "hu.dwim.walker/test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_swank" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "hu_dot_dwim_dot_walker" pkgs) ];
+  };
+  hu_dot_dwim_dot_web-server = {
+    pname = "hu.dwim.web-server";
+    version = "20211230-darcs";
+    asds = [ "hu.dwim.web-server" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2021-12-30/hu.dwim.web-server-20211230-darcs.tgz";
+      sha256 = "08qg8p0lsm5zh8rybra8i99jqcjf4zm87bw2jsmscgkkz1rss029";
+      system = "hu.dwim.web-server";
+      asd = "hu.dwim.web-server";
+    });
+    systems = [ "hu.dwim.web-server" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "babel-streams" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cl_plus_ssl" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_computed-class" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_cl-l10n" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_contextl" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_delico" pkgs) (getAttr "hu_dot_dwim_dot_logger_plus_iolib" pkgs) (getAttr "hu_dot_dwim_dot_quasi-quote_dot_xml_plus_hu_dot_dwim_dot_quasi-quote_dot_js" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) (getAttr "hu_dot_dwim_dot_uri" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "hu_dot_dwim_dot_zlib" pkgs) (getAttr "iolib" pkgs) (getAttr "local-time" pkgs) (getAttr "parse-number" pkgs) (getAttr "rfc2109" pkgs) (getAttr "rfc2388-binary" pkgs) (getAttr "swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_web-server_plus_swank = {
+    pname = "hu.dwim.web-server+swank";
+    version = "20211230-darcs";
+    asds = [ "hu.dwim.web-server+swank" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2021-12-30/hu.dwim.web-server-20211230-darcs.tgz";
+      sha256 = "08qg8p0lsm5zh8rybra8i99jqcjf4zm87bw2jsmscgkkz1rss029";
+      system = "hu.dwim.web-server+swank";
+      asd = "hu.dwim.web-server+swank";
+    });
+    systems = [ "hu.dwim.web-server+swank" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_swank" pkgs) (getAttr "hu_dot_dwim_dot_web-server" pkgs) ];
+  };
+  hu_dot_dwim_dot_web-server_dot_application = {
+    pname = "hu.dwim.web-server.application";
+    version = "20211230-darcs";
+    asds = [ "hu.dwim.web-server.application" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2021-12-30/hu.dwim.web-server-20211230-darcs.tgz";
+      sha256 = "08qg8p0lsm5zh8rybra8i99jqcjf4zm87bw2jsmscgkkz1rss029";
+      system = "hu.dwim.web-server.application";
+      asd = "hu.dwim.web-server.application";
+    });
+    systems = [ "hu.dwim.web-server.application" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_web-server" pkgs) ];
+  };
+  hu_dot_dwim_dot_web-server_dot_application_plus_hu_dot_dwim_dot_perec = {
+    pname = "hu.dwim.web-server.application+hu.dwim.perec";
+    version = "20211230-darcs";
+    asds = [ "hu.dwim.web-server.application+hu.dwim.perec" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2021-12-30/hu.dwim.web-server-20211230-darcs.tgz";
+      sha256 = "08qg8p0lsm5zh8rybra8i99jqcjf4zm87bw2jsmscgkkz1rss029";
+      system = "hu.dwim.web-server.application+hu.dwim.perec";
+      asd = "hu.dwim.web-server.application+hu.dwim.perec";
+    });
+    systems = [ "hu.dwim.web-server.application+hu.dwim.perec" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_perec" pkgs) (getAttr "hu_dot_dwim_dot_web-server_dot_application" pkgs) ];
+  };
+  hu_dot_dwim_dot_web-server_dot_application_dot_test = {
+    pname = "hu.dwim.web-server.application.test";
+    version = "20211230-darcs";
+    asds = [ "hu.dwim.web-server.application.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2021-12-30/hu.dwim.web-server-20211230-darcs.tgz";
+      sha256 = "08qg8p0lsm5zh8rybra8i99jqcjf4zm87bw2jsmscgkkz1rss029";
+      system = "hu.dwim.web-server.application.test";
+      asd = "hu.dwim.web-server.application.test";
+    });
+    systems = [ "hu.dwim.web-server.application.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_web-server_dot_application" pkgs) (getAttr "hu_dot_dwim_dot_web-server_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_web-server_dot_documentation = {
+    pname = "hu.dwim.web-server.documentation";
+    version = "20211230-darcs";
+    asds = [ "hu.dwim.web-server.documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2021-12-30/hu.dwim.web-server-20211230-darcs.tgz";
+      sha256 = "08qg8p0lsm5zh8rybra8i99jqcjf4zm87bw2jsmscgkkz1rss029";
+      system = "hu.dwim.web-server.documentation";
+      asd = "hu.dwim.web-server.documentation";
+    });
+    systems = [ "hu.dwim.web-server.documentation" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_presentation" pkgs) (getAttr "hu_dot_dwim_dot_web-server_dot_test" pkgs) ];
+  };
+  hu_dot_dwim_dot_web-server_dot_test = {
+    pname = "hu.dwim.web-server.test";
+    version = "20211230-darcs";
+    asds = [ "hu.dwim.web-server.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2021-12-30/hu.dwim.web-server-20211230-darcs.tgz";
+      sha256 = "08qg8p0lsm5zh8rybra8i99jqcjf4zm87bw2jsmscgkkz1rss029";
+      system = "hu.dwim.web-server.test";
+      asd = "hu.dwim.web-server.test";
+    });
+    systems = [ "hu.dwim.web-server.test" ];
+    lispLibs = [ (getAttr "drakma" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_computed-class_plus_hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) (getAttr "hu_dot_dwim_dot_web-server" pkgs) (getAttr "hu_dot_dwim_dot_web-server_plus_swank" pkgs) ];
+  };
+  hu_dot_dwim_dot_web-server_dot_websocket = {
+    pname = "hu.dwim.web-server.websocket";
+    version = "20211230-darcs";
+    asds = [ "hu.dwim.web-server.websocket" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.web-server/2021-12-30/hu.dwim.web-server-20211230-darcs.tgz";
+      sha256 = "08qg8p0lsm5zh8rybra8i99jqcjf4zm87bw2jsmscgkkz1rss029";
+      system = "hu.dwim.web-server.websocket";
+      asd = "hu.dwim.web-server.websocket";
+    });
+    systems = [ "hu.dwim.web-server.websocket" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_web-server" pkgs) (getAttr "ironclad" pkgs) ];
+  };
+  hu_dot_dwim_dot_zlib = {
+    pname = "hu.dwim.zlib";
+    version = "stable-git";
+    asds = [ "hu.dwim.zlib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.zlib/2021-02-28/hu.dwim.zlib-stable-git.tgz";
+      sha256 = "0iskxqadqbh800sj8mxw1kvg3g0q7377kj8hh9lfwx7gi1zh8ckn";
+      system = "hu.dwim.zlib";
+      asd = "hu.dwim.zlib";
+    });
+    systems = [ "hu.dwim.zlib" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) ];
+  };
+  hu_dot_dwim_dot_zlib_slash_fancy = {
+    pname = "hu.dwim.zlib_fancy";
+    version = "stable-git";
+    asds = [ "hu.dwim.zlib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.zlib/2021-02-28/hu.dwim.zlib-stable-git.tgz";
+      sha256 = "0iskxqadqbh800sj8mxw1kvg3g0q7377kj8hh9lfwx7gi1zh8ckn";
+      system = "hu.dwim.zlib";
+      asd = "hu.dwim.zlib";
+    });
+    systems = [ "hu.dwim.zlib/fancy" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_def_plus_hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) (getAttr "hu_dot_dwim_dot_zlib" pkgs) ];
+  };
+  hu_dot_dwim_dot_zlib_slash_test = {
+    pname = "hu.dwim.zlib_test";
+    version = "stable-git";
+    asds = [ "hu.dwim.zlib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hu.dwim.zlib/2021-02-28/hu.dwim.zlib-stable-git.tgz";
+      sha256 = "0iskxqadqbh800sj8mxw1kvg3g0q7377kj8hh9lfwx7gi1zh8ckn";
+      system = "hu.dwim.zlib";
+      asd = "hu.dwim.zlib";
+    });
+    systems = [ "hu.dwim.zlib/test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "hu_dot_dwim_dot_zlib" pkgs) ];
+  };
+  huffman = {
+    pname = "huffman";
+    version = "20181018-git";
+    asds = [ "huffman" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/huffman/2018-10-18/huffman-20181018-git.tgz";
+      sha256 = "05b3ql5szzi4vsry76i76483mxf9m5i9620hdshykh5rbfiarvcx";
+      system = "huffman";
+      asd = "huffman";
+    });
+    systems = [ "huffman" ];
+    lispLibs = [  ];
+  };
+  humbler = {
+    pname = "humbler";
+    version = "20190710-git";
+    asds = [ "humbler" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/humbler/2019-07-10/humbler-20190710-git.tgz";
+      sha256 = "0s7li33q3ww1ka76v6pdjv5pnvwgs695wj9ciijy9cqxxp2x8vx0";
+      system = "humbler";
+      asd = "humbler";
+    });
+    systems = [ "humbler" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "local-time" pkgs) (getAttr "north-core" pkgs) (getAttr "trivial-mimes" pkgs) (getAttr "yason" pkgs) ];
+  };
+  hunchensocket = {
+    pname = "hunchensocket";
+    version = "20210531-git";
+    asds = [ "hunchensocket" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hunchensocket/2021-05-31/hunchensocket-20210531-git.tgz";
+      sha256 = "15j7wpxadil5aapbmx67ih06mjrc4rp5d8x8xww6qbmw14rbk7ww";
+      system = "hunchensocket";
+      asd = "hunchensocket";
+    });
+    systems = [ "hunchensocket" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "chunga" pkgs) (getAttr "cl-fad" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "ironclad" pkgs) (getAttr "trivial-backtrace" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  hunchensocket-tests = {
+    pname = "hunchensocket-tests";
+    version = "20210531-git";
+    asds = [ "hunchensocket-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hunchensocket/2021-05-31/hunchensocket-20210531-git.tgz";
+      sha256 = "15j7wpxadil5aapbmx67ih06mjrc4rp5d8x8xww6qbmw14rbk7ww";
+      system = "hunchensocket-tests";
+      asd = "hunchensocket";
+    });
+    systems = [ "hunchensocket-tests" ];
+    lispLibs = [ (getAttr "fiasco" pkgs) (getAttr "hunchensocket" pkgs) ];
+  };
+  hunchentools = {
+    pname = "hunchentools";
+    version = "20161204-git";
+    asds = [ "hunchentools" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hunchentools/2016-12-04/hunchentools-20161204-git.tgz";
+      sha256 = "12r1ml1xxhyz646nnxqzixfisljjaracwp9jhwl3wb285qbmai4b";
+      system = "hunchentools";
+      asd = "hunchentools";
+    });
+    systems = [ "hunchentools" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "ironclad" pkgs) ];
+  };
+  hunchentoot = {
+    pname = "hunchentoot";
+    version = "v1.3.0";
+    asds = [ "hunchentoot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hunchentoot/2020-06-10/hunchentoot-v1.3.0.tgz";
+      sha256 = "1z0m45lp6rv59g69l44gj3q3d2bmjlhqzpii0vgkniam21dcimy9";
+      system = "hunchentoot";
+      asd = "hunchentoot";
+    });
+    systems = [ "hunchentoot" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "chunga" pkgs) (getAttr "cl_plus_ssl" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "md5" pkgs) (getAttr "rfc2388" pkgs) (getAttr "trivial-backtrace" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  hunchentoot-auth = {
+    pname = "hunchentoot-auth";
+    version = "20140113-git";
+    asds = [ "hunchentoot-auth" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hunchentoot-auth/2014-01-13/hunchentoot-auth-20140113-git.tgz";
+      sha256 = "1bc70lh2jvk6gqmhczgv0indxk6j5whxbh7gylrlbv16041sdkbj";
+      system = "hunchentoot-auth";
+      asd = "hunchentoot-auth";
+    });
+    systems = [ "hunchentoot-auth" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-store" pkgs) (getAttr "cl-who" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  hunchentoot-cgi = {
+    pname = "hunchentoot-cgi";
+    version = "20140211-git";
+    asds = [ "hunchentoot-cgi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hunchentoot-cgi/2014-02-11/hunchentoot-cgi-20140211-git.tgz";
+      sha256 = "0al6qfs6661avhywsqxh3nwyhl1d1gip3yx57b8siczjarpgpawc";
+      system = "hunchentoot-cgi";
+      asd = "hunchentoot-cgi";
+    });
+    systems = [ "hunchentoot-cgi" ];
+    lispLibs = [ (getAttr "hunchentoot" pkgs) (getAttr "puri" pkgs) ];
+  };
+  hunchentoot-dev = {
+    pname = "hunchentoot-dev";
+    version = "v1.3.0";
+    asds = [ "hunchentoot-dev" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hunchentoot/2020-06-10/hunchentoot-v1.3.0.tgz";
+      sha256 = "1z0m45lp6rv59g69l44gj3q3d2bmjlhqzpii0vgkniam21dcimy9";
+      system = "hunchentoot-dev";
+      asd = "hunchentoot";
+    });
+    systems = [ "hunchentoot-dev" ];
+    lispLibs = [ (getAttr "cxml-stp" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "hunchentoot-test" pkgs) (getAttr "xpath" pkgs) (getAttr "swank" pkgs) ];
+  };
+  hunchentoot-errors = {
+    pname = "hunchentoot-errors";
+    version = "20210531-git";
+    asds = [ "hunchentoot-errors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hunchentoot-errors/2021-05-31/hunchentoot-errors-20210531-git.tgz";
+      sha256 = "1ddgj26115dmyvdfijrz5afq028q0d4m3f04s0sj8z2v2xg1vm0c";
+      system = "hunchentoot-errors";
+      asd = "hunchentoot-errors";
+    });
+    systems = [ "hunchentoot-errors" ];
+    lispLibs = [ (getAttr "hunchentoot" pkgs) (getAttr "parse-number" pkgs) (getAttr "string-case" pkgs) ];
+  };
+  hunchentoot-multi-acceptor = {
+    pname = "hunchentoot-multi-acceptor";
+    version = "20210630-git";
+    asds = [ "hunchentoot-multi-acceptor" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hunchentoot-multi-acceptor/2021-06-30/hunchentoot-multi-acceptor-20210630-git.tgz";
+      sha256 = "07g79pv10q7ns5rlvs96xkjbvfqjkacfm9nlfisk3rswvv5frv1h";
+      system = "hunchentoot-multi-acceptor";
+      asd = "hunchentoot-multi-acceptor";
+    });
+    systems = [ "hunchentoot-multi-acceptor" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "str" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  hunchentoot-single-signon = {
+    pname = "hunchentoot-single-signon";
+    version = "20131111-git";
+    asds = [ "hunchentoot-single-signon" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hunchentoot-single-signon/2013-11-11/hunchentoot-single-signon-20131111-git.tgz";
+      sha256 = "0dh16k4105isqwnkl52m55m6cbl7g8wmcrym8175r2zr6qcbghq8";
+      system = "hunchentoot-single-signon";
+      asd = "hunchentoot-single-signon";
+    });
+    systems = [ "hunchentoot-single-signon" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "cl-gss" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  hunchentoot-test = {
+    pname = "hunchentoot-test";
+    version = "v1.3.0";
+    asds = [ "hunchentoot-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hunchentoot/2020-06-10/hunchentoot-v1.3.0.tgz";
+      sha256 = "1z0m45lp6rv59g69l44gj3q3d2bmjlhqzpii0vgkniam21dcimy9";
+      system = "hunchentoot-test";
+      asd = "hunchentoot";
+    });
+    systems = [ "hunchentoot-test" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cl-who" pkgs) (getAttr "drakma" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  hyperluminal-mem = {
+    pname = "hyperluminal-mem";
+    version = "20210630-git";
+    asds = [ "hyperluminal-mem" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hyperluminal-mem/2021-06-30/hyperluminal-mem-20210630-git.tgz";
+      sha256 = "0qp00g43v518j0wccqnpglkrpikagnn9naphb29wbil6k7y9y7r9";
+      system = "hyperluminal-mem";
+      asd = "hyperluminal-mem";
+    });
+    systems = [ "hyperluminal-mem" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "osicat" pkgs) (getAttr "stmx" pkgs) (getAttr "swap-bytes" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  hyperluminal-mem-test = {
+    pname = "hyperluminal-mem-test";
+    version = "20210630-git";
+    asds = [ "hyperluminal-mem-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hyperluminal-mem/2021-06-30/hyperluminal-mem-20210630-git.tgz";
+      sha256 = "0qp00g43v518j0wccqnpglkrpikagnn9naphb29wbil6k7y9y7r9";
+      system = "hyperluminal-mem-test";
+      asd = "hyperluminal-mem-test";
+    });
+    systems = [ "hyperluminal-mem-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "hyperluminal-mem" pkgs) (getAttr "log4cl" pkgs) ];
+  };
+  hyperobject = {
+    pname = "hyperobject";
+    version = "20201016-git";
+    asds = [ "hyperobject" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hyperobject/2020-10-16/hyperobject-20201016-git.tgz";
+      sha256 = "1ggqlvwcd52c2d4k8csy7qciaq7lyldi0rpk3b9x4rw4gllcch8n";
+      system = "hyperobject";
+      asd = "hyperobject";
+    });
+    systems = [ "hyperobject" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "kmrcl" pkgs) ];
+  };
+  hyperobject_slash_test = {
+    pname = "hyperobject_test";
+    version = "20201016-git";
+    asds = [ "hyperobject" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hyperobject/2020-10-16/hyperobject-20201016-git.tgz";
+      sha256 = "1ggqlvwcd52c2d4k8csy7qciaq7lyldi0rpk3b9x4rw4gllcch8n";
+      system = "hyperobject";
+      asd = "hyperobject";
+    });
+    systems = [ "hyperobject/test" ];
+    lispLibs = [ (getAttr "hyperobject" pkgs) (getAttr "rt" pkgs) ];
+  };
+  hyperspec = {
+    pname = "hyperspec";
+    version = "20181210-git";
+    asds = [ "hyperspec" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hyperspec/2018-12-10/hyperspec-20181210-git.tgz";
+      sha256 = "0zh1dq2451xw7yiycdr2mrcjx6rgnqnm8c8l9zhhn7hnf51b4x5l";
+      system = "hyperspec";
+      asd = "hyperspec";
+    });
+    systems = [ "hyperspec" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  ia-hash-table = {
+    pname = "ia-hash-table";
+    version = "20160318-git";
+    asds = [ "ia-hash-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ia-hash-table/2016-03-18/ia-hash-table-20160318-git.tgz";
+      sha256 = "11wnwjxa528yyjnfsvw315hyvq3lc996dwx83isdg4hlirj3amy4";
+      system = "ia-hash-table";
+      asd = "ia-hash-table";
+    });
+    systems = [ "ia-hash-table" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  ia-hash-table_dot_test = {
+    pname = "ia-hash-table.test";
+    version = "20160318-git";
+    asds = [ "ia-hash-table.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ia-hash-table/2016-03-18/ia-hash-table-20160318-git.tgz";
+      sha256 = "11wnwjxa528yyjnfsvw315hyvq3lc996dwx83isdg4hlirj3amy4";
+      system = "ia-hash-table.test";
+      asd = "ia-hash-table.test";
+    });
+    systems = [ "ia-hash-table.test" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "ia-hash-table" pkgs) (getAttr "log4cl" pkgs) (getAttr "mw-equiv" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  iclendar = {
+    pname = "iclendar";
+    version = "20190710-git";
+    asds = [ "iclendar" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iclendar/2019-07-10/iclendar-20190710-git.tgz";
+      sha256 = "0nyfpv433mvxx61jg7nyj6qc89jr70dmlrkgd94056waddii6h6c";
+      system = "iclendar";
+      asd = "iclendar";
+    });
+    systems = [ "iclendar" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "closer-mop" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  iconv = {
+    pname = "iconv";
+    version = "20171227-git";
+    asds = [ "iconv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-iconv/2017-12-27/cl-iconv-20171227-git.tgz";
+      sha256 = "1lpw95c02inifhdh9kkab9q92i5w9zd788dww1wly2p0a6kyx9wg";
+      system = "iconv";
+      asd = "iconv";
+    });
+    systems = [ "iconv" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  id3v2 = {
+    pname = "id3v2";
+    version = "20160208-git";
+    asds = [ "id3v2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/id3v2/2016-02-08/id3v2-20160208-git.tgz";
+      sha256 = "0x017dfh9m80b8ml2vsgdcfs4kv7p06yzmwdilf1k8nfsilwpfra";
+      system = "id3v2";
+      asd = "id3v2";
+    });
+    systems = [ "id3v2" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  id3v2-test = {
+    pname = "id3v2-test";
+    version = "20160208-git";
+    asds = [ "id3v2-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/id3v2/2016-02-08/id3v2-20160208-git.tgz";
+      sha256 = "0x017dfh9m80b8ml2vsgdcfs4kv7p06yzmwdilf1k8nfsilwpfra";
+      system = "id3v2-test";
+      asd = "id3v2-test";
+    });
+    systems = [ "id3v2-test" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) (getAttr "id3v2" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  idna = {
+    pname = "idna";
+    version = "20120107-git";
+    asds = [ "idna" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/idna/2012-01-07/idna-20120107-git.tgz";
+      sha256 = "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2";
+      system = "idna";
+      asd = "idna";
+    });
+    systems = [ "idna" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) ];
+  };
+  ieee-floats = {
+    pname = "ieee-floats";
+    version = "20170830-git";
+    asds = [ "ieee-floats" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ieee-floats/2017-08-30/ieee-floats-20170830-git.tgz";
+      sha256 = "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m";
+      system = "ieee-floats";
+      asd = "ieee-floats";
+    });
+    systems = [ "ieee-floats" ];
+    lispLibs = [  ];
+  };
+  ieee-floats-tests = {
+    pname = "ieee-floats-tests";
+    version = "20170830-git";
+    asds = [ "ieee-floats-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ieee-floats/2017-08-30/ieee-floats-20170830-git.tgz";
+      sha256 = "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m";
+      system = "ieee-floats-tests";
+      asd = "ieee-floats";
+    });
+    systems = [ "ieee-floats-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "ieee-floats" pkgs) ];
+  };
+  illogical-pathnames = {
+    pname = "illogical-pathnames";
+    version = "20160825-git";
+    asds = [ "illogical-pathnames" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/illogical-pathnames/2016-08-25/illogical-pathnames-20160825-git.tgz";
+      sha256 = "1yjs1lzgak1d3hz2q6sbac98vqgdxp0dz72fskpz73vrbp6h6da5";
+      system = "illogical-pathnames";
+      asd = "illogical-pathnames";
+    });
+    systems = [ "illogical-pathnames" ];
+    lispLibs = [  ];
+  };
+  illusion = {
+    pname = "illusion";
+    version = "20180831-git";
+    asds = [ "illusion" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/illusion/2018-08-31/illusion-20180831-git.tgz";
+      sha256 = "05wik6q8hlhm7szzymkljfigcp7z35j6rz2ihsmng1y6zq9crk7z";
+      system = "illusion";
+      asd = "illusion";
+    });
+    systems = [ "illusion" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "let-over-lambda" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  illusion-test = {
+    pname = "illusion-test";
+    version = "20180831-git";
+    asds = [ "illusion-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/illusion/2018-08-31/illusion-20180831-git.tgz";
+      sha256 = "05wik6q8hlhm7szzymkljfigcp7z35j6rz2ihsmng1y6zq9crk7z";
+      system = "illusion-test";
+      asd = "illusion-test";
+    });
+    systems = [ "illusion-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "illusion" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  image = {
+    pname = "image";
+    version = "20120107-git";
+    asds = [ "image" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/image/2012-01-07/image-20120107-git.tgz";
+      sha256 = "04by1snzw2kpw208fdi2azxbq5y2q2r6x8zkdh7jk43amkr18f5k";
+      system = "image";
+      asd = "image";
+    });
+    systems = [ "image" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) (getAttr "gzip-stream" pkgs) (getAttr "skippy" pkgs) (getAttr "zpng" pkgs) ];
+  };
+  image-test = {
+    pname = "image-test";
+    version = "20211020-git";
+    asds = [ "image-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz";
+      sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4";
+      system = "image-test";
+      asd = "image-test";
+    });
+    systems = [ "image-test" ];
+    lispLibs = [ (getAttr "png" pkgs) ];
+  };
+  image-utility = {
+    pname = "image-utility";
+    version = "20200427-git";
+    asds = [ "image-utility" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "image-utility";
+      asd = "image-utility";
+    });
+    systems = [ "image-utility" ];
+    lispLibs = [ (getAttr "opticl" pkgs) ];
+  };
+  imago = {
+    pname = "imago";
+    version = "20211230-git";
+    asds = [ "imago" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/imago/2021-12-30/imago-20211230-git.tgz";
+      sha256 = "0sq13pda4q4blg6fgyiyxnfhknhcdzf3yinppyb17nkvsmir6hrw";
+      system = "imago";
+      asd = "imago";
+    });
+    systems = [ "imago" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "array-operations" pkgs) (getAttr "cl-jpeg" pkgs) (getAttr "polymorphic-functions" pkgs) (getAttr "serapeum" pkgs) (getAttr "zlib" pkgs) ];
+  };
+  imago_slash_jpeg-turbo = {
+    pname = "imago_jpeg-turbo";
+    version = "20211230-git";
+    asds = [ "imago" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/imago/2021-12-30/imago-20211230-git.tgz";
+      sha256 = "0sq13pda4q4blg6fgyiyxnfhknhcdzf3yinppyb17nkvsmir6hrw";
+      system = "imago";
+      asd = "imago";
+    });
+    systems = [ "imago/jpeg-turbo" ];
+    lispLibs = [ (getAttr "imago" pkgs) (getAttr "jpeg-turbo" pkgs) ];
+  };
+  imago_slash_jupyter = {
+    pname = "imago_jupyter";
+    version = "20211230-git";
+    asds = [ "imago" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/imago/2021-12-30/imago-20211230-git.tgz";
+      sha256 = "0sq13pda4q4blg6fgyiyxnfhknhcdzf3yinppyb17nkvsmir6hrw";
+      system = "imago";
+      asd = "imago";
+    });
+    systems = [ "imago/jupyter" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "common-lisp-jupyter" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "imago" pkgs) ];
+  };
+  imago_slash_pngload = {
+    pname = "imago_pngload";
+    version = "20211230-git";
+    asds = [ "imago" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/imago/2021-12-30/imago-20211230-git.tgz";
+      sha256 = "0sq13pda4q4blg6fgyiyxnfhknhcdzf3yinppyb17nkvsmir6hrw";
+      system = "imago";
+      asd = "imago";
+    });
+    systems = [ "imago/pngload" ];
+    lispLibs = [ (getAttr "imago" pkgs) (getAttr "pngload" pkgs) ];
+  };
+  imago_slash_tests = {
+    pname = "imago_tests";
+    version = "20211230-git";
+    asds = [ "imago" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/imago/2021-12-30/imago-20211230-git.tgz";
+      sha256 = "0sq13pda4q4blg6fgyiyxnfhknhcdzf3yinppyb17nkvsmir6hrw";
+      system = "imago";
+      asd = "imago";
+    });
+    systems = [ "imago/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "imago" pkgs) ];
+  };
+  immutable-struct = {
+    pname = "immutable-struct";
+    version = "20150709-git";
+    asds = [ "immutable-struct" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/immutable-struct/2015-07-09/immutable-struct-20150709-git.tgz";
+      sha256 = "02868d21hcc0kc3jw8afx23kj6iy1vyf2pddn8yqfrkpldhd0rv9";
+      system = "immutable-struct";
+      asd = "immutable-struct";
+    });
+    systems = [ "immutable-struct" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  incf-cl = {
+    pname = "incf-cl";
+    version = "20190710-git";
+    asds = [ "incf-cl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/incf-cl/2019-07-10/incf-cl-20190710-git.tgz";
+      sha256 = "1yvwb57dzccvd2lw2h3mwxgbi8ml3cgkyy8kl8hwhd4s8c016ibb";
+      system = "incf-cl";
+      asd = "incf-cl";
+    });
+    systems = [ "incf-cl" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  incf-cl_slash_tests = {
+    pname = "incf-cl_tests";
+    version = "20190710-git";
+    asds = [ "incf-cl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/incf-cl/2019-07-10/incf-cl-20190710-git.tgz";
+      sha256 = "1yvwb57dzccvd2lw2h3mwxgbi8ml3cgkyy8kl8hwhd4s8c016ibb";
+      system = "incf-cl";
+      asd = "incf-cl";
+    });
+    systems = [ "incf-cl/tests" ];
+    lispLibs = [ (getAttr "fiasco" pkgs) (getAttr "incf-cl" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  incognito-keywords = {
+    pname = "incognito-keywords";
+    version = "1.1";
+    asds = [ "incognito-keywords" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/incognito-keywords/2013-01-28/incognito-keywords-1.1.tgz";
+      sha256 = "1ignvz8v7bq8z9x22skzp1xsna2bxqcw22zh5sp9v2ndbjhqri5c";
+      system = "incognito-keywords";
+      asd = "incognito-keywords";
+    });
+    systems = [ "incognito-keywords" ];
+    lispLibs = [ (getAttr "enhanced-eval-when" pkgs) (getAttr "map-bind" pkgs) ];
+  };
+  incongruent-methods = {
+    pname = "incongruent-methods";
+    version = "20130312-git";
+    asds = [ "incongruent-methods" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/incongruent-methods/2013-03-12/incongruent-methods-20130312-git.tgz";
+      sha256 = "15xfbpnqymbkk92vbirvccxcphyvjmxcw02yv1zs6c78aaf4ms9z";
+      system = "incongruent-methods";
+      asd = "incongruent-methods";
+    });
+    systems = [ "incongruent-methods" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  inferior-shell = {
+    pname = "inferior-shell";
+    version = "20200925-git";
+    asds = [ "inferior-shell" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/inferior-shell/2020-09-25/inferior-shell-20200925-git.tgz";
+      sha256 = "02qx37zzk5j4xmwh77k2qa2wvnzvaj6qml5dh2q7b6b1ljvgcj4m";
+      system = "inferior-shell";
+      asd = "inferior-shell";
+    });
+    systems = [ "inferior-shell" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fare-mop" pkgs) (getAttr "fare-quasiquote-extras" pkgs) (getAttr "fare-utils" pkgs) (getAttr "trivia" pkgs) (getAttr "trivia_dot_quasiquote" pkgs) ];
+  };
+  inferior-shell_slash_test = {
+    pname = "inferior-shell_test";
+    version = "20200925-git";
+    asds = [ "inferior-shell" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/inferior-shell/2020-09-25/inferior-shell-20200925-git.tgz";
+      sha256 = "02qx37zzk5j4xmwh77k2qa2wvnzvaj6qml5dh2q7b6b1ljvgcj4m";
+      system = "inferior-shell";
+      asd = "inferior-shell";
+    });
+    systems = [ "inferior-shell/test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "inferior-shell" pkgs) ];
+  };
+  infix = {
+    pname = "infix";
+    version = "20210411-git";
+    asds = [ "infix" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz";
+      sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa";
+      system = "infix";
+      asd = "infix";
+    });
+    systems = [ "infix" ];
+    lispLibs = [  ];
+  };
+  infix-dollar-reader = {
+    pname = "infix-dollar-reader";
+    version = "20121013-git";
+    asds = [ "infix-dollar-reader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/infix-dollar-reader/2012-10-13/infix-dollar-reader-20121013-git.tgz";
+      sha256 = "11sf4kqcw8s0zcjz1qpbhkn33rizvq5ijl6xp59q9wadvkd0wx0w";
+      system = "infix-dollar-reader";
+      asd = "infix-dollar-reader";
+    });
+    systems = [ "infix-dollar-reader" ];
+    lispLibs = [ (getAttr "cl-syntax" pkgs) ];
+  };
+  infix-dollar-reader-test = {
+    pname = "infix-dollar-reader-test";
+    version = "20121013-git";
+    asds = [ "infix-dollar-reader-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/infix-dollar-reader/2012-10-13/infix-dollar-reader-20121013-git.tgz";
+      sha256 = "11sf4kqcw8s0zcjz1qpbhkn33rizvq5ijl6xp59q9wadvkd0wx0w";
+      system = "infix-dollar-reader-test";
+      asd = "infix-dollar-reader-test";
+    });
+    systems = [ "infix-dollar-reader-test" ];
+    lispLibs = [ (getAttr "infix-dollar-reader" pkgs) (getAttr "rt" pkgs) ];
+  };
+  infix-math = {
+    pname = "infix-math";
+    version = "20211020-git";
+    asds = [ "infix-math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/infix-math/2021-10-20/infix-math-20211020-git.tgz";
+      sha256 = "1h6p254xl793wfq3qla5y95k6zimy477f8brblx6ran3rg3bydbg";
+      system = "infix-math";
+      asd = "infix-math";
+    });
+    systems = [ "infix-math" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "asdf-package-system" pkgs) (getAttr "parse-number" pkgs) (getAttr "serapeum" pkgs) (getAttr "wu-decimal" pkgs) ];
+  };
+  inheriting-readers = {
+    pname = "inheriting-readers";
+    version = "1.0.1";
+    asds = [ "inheriting-readers" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/inheriting-readers/2021-01-24/inheriting-readers_1.0.1.tgz";
+      sha256 = "0km3mq6vx1q9qv6j3r4sqqcsdbnb5jar66bl0mzzpaacfvzbx68p";
+      system = "inheriting-readers";
+      asd = "inheriting-readers";
+    });
+    systems = [ "inheriting-readers" ];
+    lispLibs = [ (getAttr "class-options" pkgs) (getAttr "closer-mop" pkgs) (getAttr "compatible-metaclasses" pkgs) ];
+  };
+  inheriting-readers_tests = {
+    pname = "inheriting-readers_tests";
+    version = "1.0.1";
+    asds = [ "inheriting-readers_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/inheriting-readers/2021-01-24/inheriting-readers_1.0.1.tgz";
+      sha256 = "0km3mq6vx1q9qv6j3r4sqqcsdbnb5jar66bl0mzzpaacfvzbx68p";
+      system = "inheriting-readers_tests";
+      asd = "inheriting-readers_tests";
+    });
+    systems = [ "inheriting-readers_tests" ];
+    lispLibs = [ (getAttr "compatible-metaclasses" pkgs) (getAttr "inheriting-readers" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  injection = {
+    pname = "injection";
+    version = "20160531-git";
+    asds = [ "injection" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/injection/2016-05-31/injection-20160531-git.tgz";
+      sha256 = "12f838ikgyl7gzh2dnqh54hfa8rncbkk266bsibmbbqxz0cn2da7";
+      system = "injection";
+      asd = "injection";
+    });
+    systems = [ "injection" ];
+    lispLibs = [ (getAttr "cl-yaml" pkgs) ];
+  };
+  injection-test = {
+    pname = "injection-test";
+    version = "20160531-git";
+    asds = [ "injection-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/injection/2016-05-31/injection-20160531-git.tgz";
+      sha256 = "12f838ikgyl7gzh2dnqh54hfa8rncbkk266bsibmbbqxz0cn2da7";
+      system = "injection-test";
+      asd = "injection-test";
+    });
+    systems = [ "injection-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "injection" pkgs) ];
+  };
+  inkwell = {
+    pname = "inkwell";
+    version = "20190710-git";
+    asds = [ "inkwell" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/inkwell/2019-07-10/inkwell-20190710-git.tgz";
+      sha256 = "0wzd2j7wdi4dxrmvwk47h988l107ajvw3z609f0dg5vh6wad8pnk";
+      system = "inkwell";
+      asd = "inkwell";
+    });
+    systems = [ "inkwell" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "drakma" pkgs) (getAttr "local-time" pkgs) (getAttr "yason" pkgs) ];
+  };
+  inlined-generic-function = {
+    pname = "inlined-generic-function";
+    version = "20190521-git";
+    asds = [ "inlined-generic-function" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/inlined-generic-function/2019-05-21/inlined-generic-function-20190521-git.tgz";
+      sha256 = "0kj9p99m9hwx4lx95npfln5dc5ip884f8agjc6h4y0rhnpj7r8gk";
+      system = "inlined-generic-function";
+      asd = "inlined-generic-function";
+    });
+    systems = [ "inlined-generic-function" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "introspect-environment" pkgs) (getAttr "iterate" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  inlined-generic-function_dot_test = {
+    pname = "inlined-generic-function.test";
+    version = "20190521-git";
+    asds = [ "inlined-generic-function.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/inlined-generic-function/2019-05-21/inlined-generic-function-20190521-git.tgz";
+      sha256 = "0kj9p99m9hwx4lx95npfln5dc5ip884f8agjc6h4y0rhnpj7r8gk";
+      system = "inlined-generic-function.test";
+      asd = "inlined-generic-function.test";
+    });
+    systems = [ "inlined-generic-function.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "inlined-generic-function" pkgs) ];
+  };
+  inner-conditional = {
+    pname = "inner-conditional";
+    version = "20200925-git";
+    asds = [ "inner-conditional" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/inner-conditional/2020-09-25/inner-conditional-20200925-git.tgz";
+      sha256 = "08vaq29l2bhv4n1c6zb3syddwpad66rghfy71fqidjvbag0ji71k";
+      system = "inner-conditional";
+      asd = "inner-conditional";
+    });
+    systems = [ "inner-conditional" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "iterate" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  inner-conditional-test = {
+    pname = "inner-conditional-test";
+    version = "20200925-git";
+    asds = [ "inner-conditional-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/inner-conditional/2020-09-25/inner-conditional-20200925-git.tgz";
+      sha256 = "08vaq29l2bhv4n1c6zb3syddwpad66rghfy71fqidjvbag0ji71k";
+      system = "inner-conditional-test";
+      asd = "inner-conditional-test";
+    });
+    systems = [ "inner-conditional-test" ];
+    lispLibs = [ (getAttr "inner-conditional" pkgs) (getAttr "cl-test-more" pkgs) ];
+  };
+  inotify = {
+    pname = "inotify";
+    version = "20150608-git";
+    asds = [ "inotify" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/inotify/2015-06-08/inotify-20150608-git.tgz";
+      sha256 = "0jill05wsa7xbnkycc1ik1a05slv2h34fpyap2rxbnxvfjvyzw98";
+      system = "inotify";
+      asd = "inotify";
+    });
+    systems = [ "inotify" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "iolib" pkgs) ];
+  };
+  inquisitor = {
+    pname = "inquisitor";
+    version = "20190521-git";
+    asds = [ "inquisitor" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/inquisitor/2019-05-21/inquisitor-20190521-git.tgz";
+      sha256 = "08rkmqnwlq6v84wcz9yp31j5lxrsy33kv3dh7n3ccsg4kc54slzw";
+      system = "inquisitor";
+      asd = "inquisitor";
+    });
+    systems = [ "inquisitor" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) ];
+  };
+  inquisitor-flexi = {
+    pname = "inquisitor-flexi";
+    version = "20190521-git";
+    asds = [ "inquisitor-flexi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/inquisitor/2019-05-21/inquisitor-20190521-git.tgz";
+      sha256 = "08rkmqnwlq6v84wcz9yp31j5lxrsy33kv3dh7n3ccsg4kc54slzw";
+      system = "inquisitor-flexi";
+      asd = "inquisitor-flexi";
+    });
+    systems = [ "inquisitor-flexi" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) (getAttr "inquisitor" pkgs) ];
+  };
+  inquisitor-flexi-test = {
+    pname = "inquisitor-flexi-test";
+    version = "20190521-git";
+    asds = [ "inquisitor-flexi-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/inquisitor/2019-05-21/inquisitor-20190521-git.tgz";
+      sha256 = "08rkmqnwlq6v84wcz9yp31j5lxrsy33kv3dh7n3ccsg4kc54slzw";
+      system = "inquisitor-flexi-test";
+      asd = "inquisitor-flexi-test";
+    });
+    systems = [ "inquisitor-flexi-test" ];
+    lispLibs = [ (getAttr "inquisitor-flexi" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  inquisitor-test = {
+    pname = "inquisitor-test";
+    version = "20190521-git";
+    asds = [ "inquisitor-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/inquisitor/2019-05-21/inquisitor-20190521-git.tgz";
+      sha256 = "08rkmqnwlq6v84wcz9yp31j5lxrsy33kv3dh7n3ccsg4kc54slzw";
+      system = "inquisitor-test";
+      asd = "inquisitor-test";
+    });
+    systems = [ "inquisitor-test" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "inquisitor" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  integral = {
+    pname = "integral";
+    version = "20200325-git";
+    asds = [ "integral" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/integral/2020-03-25/integral-20200325-git.tgz";
+      sha256 = "17a9wg7n3f81fsi5mlsdxain1fw7ggfniipfrb9sr1ajff6lx9gs";
+      system = "integral";
+      asd = "integral";
+    });
+    systems = [ "integral" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "dbi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "clos-fixtures" pkgs) (getAttr "closer-mop" pkgs) (getAttr "group-by" pkgs) (getAttr "iterate" pkgs) (getAttr "split-sequence" pkgs) (getAttr "sxql" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  integral-rest = {
+    pname = "integral-rest";
+    version = "20150923-git";
+    asds = [ "integral-rest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/integral-rest/2015-09-23/integral-rest-20150923-git.tgz";
+      sha256 = "0187d9i7acw2v1hhy7wcz0vk90ji7cdgpaikb7admvzq0nnbzrmm";
+      system = "integral-rest";
+      asd = "integral-rest";
+    });
+    systems = [ "integral-rest" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-inflector" pkgs) (getAttr "closer-mop" pkgs) (getAttr "integral" pkgs) (getAttr "jonathan" pkgs) (getAttr "map-set" pkgs) (getAttr "ningle" pkgs) ];
+  };
+  integral-rest-test = {
+    pname = "integral-rest-test";
+    version = "20150923-git";
+    asds = [ "integral-rest-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/integral-rest/2015-09-23/integral-rest-20150923-git.tgz";
+      sha256 = "0187d9i7acw2v1hhy7wcz0vk90ji7cdgpaikb7admvzq0nnbzrmm";
+      system = "integral-rest-test";
+      asd = "integral-rest-test";
+    });
+    systems = [ "integral-rest-test" ];
+    lispLibs = [ (getAttr "integral" pkgs) (getAttr "integral-rest" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  integral-test = {
+    pname = "integral-test";
+    version = "20200325-git";
+    asds = [ "integral-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/integral/2020-03-25/integral-20200325-git.tgz";
+      sha256 = "17a9wg7n3f81fsi5mlsdxain1fw7ggfniipfrb9sr1ajff6lx9gs";
+      system = "integral-test";
+      asd = "integral-test";
+    });
+    systems = [ "integral-test" ];
+    lispLibs = [ (getAttr "integral" pkgs) (getAttr "local-time" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  intel-hex = {
+    pname = "intel-hex";
+    version = "20160318-git";
+    asds = [ "intel-hex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/intel-hex/2016-03-18/intel-hex-20160318-git.tgz";
+      sha256 = "0sz51qw262nh6ziwpy1kgv257nj56rp42s0g6g2rx3xv1ijdy395";
+      system = "intel-hex";
+      asd = "intel-hex";
+    });
+    systems = [ "intel-hex" ];
+    lispLibs = [  ];
+  };
+  intel-hex-test = {
+    pname = "intel-hex-test";
+    version = "20160318-git";
+    asds = [ "intel-hex-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/intel-hex/2016-03-18/intel-hex-20160318-git.tgz";
+      sha256 = "0sz51qw262nh6ziwpy1kgv257nj56rp42s0g6g2rx3xv1ijdy395";
+      system = "intel-hex-test";
+      asd = "intel-hex-test";
+    });
+    systems = [ "intel-hex-test" ];
+    lispLibs = [ (getAttr "intel-hex" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  intercom = {
+    pname = "intercom";
+    version = "20130615-git";
+    asds = [ "intercom" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/intercom/2013-06-15/intercom-20130615-git.tgz";
+      sha256 = "017klgjsza4cxdxms4hxgrfrwjshkcr2yyxnhg14zs9w0vjwkikl";
+      system = "intercom";
+      asd = "intercom";
+    });
+    systems = [ "intercom" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "jsown" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  intercom-examples = {
+    pname = "intercom-examples";
+    version = "20130615-git";
+    asds = [ "intercom-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/intercom/2013-06-15/intercom-20130615-git.tgz";
+      sha256 = "017klgjsza4cxdxms4hxgrfrwjshkcr2yyxnhg14zs9w0vjwkikl";
+      system = "intercom-examples";
+      asd = "intercom-examples";
+    });
+    systems = [ "intercom-examples" ];
+    lispLibs = [ (getAttr "intercom" pkgs) (getAttr "jsown" pkgs) ];
+  };
+  interface = {
+    pname = "interface";
+    version = "20190307-hg";
+    asds = [ "interface" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/interface/2019-03-07/interface-20190307-hg.tgz";
+      sha256 = "0q3pg1zn8rnyllvb4yh9dm38m4paw9glsnby61j6pyyb0ngywyf7";
+      system = "interface";
+      asd = "interface";
+    });
+    systems = [ "interface" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "global-vars" pkgs) ];
+  };
+  interfaces-test-implementation = {
+    pname = "interfaces-test-implementation";
+    version = "20210630-git";
+    asds = [ "interfaces-test-implementation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/modularize-interfaces/2021-06-30/modularize-interfaces-20210630-git.tgz";
+      sha256 = "1jl11ffkrah3553wzysmxanhrzv3rnzi5x11ll626baf69im0v7x";
+      system = "interfaces-test-implementation";
+      asd = "interfaces-test-implementation";
+    });
+    systems = [ "interfaces-test-implementation" ];
+    lispLibs = [ (getAttr "modularize" pkgs) (getAttr "modularize-interfaces" pkgs) ];
+  };
+  introspect-environment = {
+    pname = "introspect-environment";
+    version = "20210807-git";
+    asds = [ "introspect-environment" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/introspect-environment/2021-08-07/introspect-environment-20210807-git.tgz";
+      sha256 = "0d83ash2rfnz1pp4gmb5w7p55b5wxr7nvznssgyswrnnjvzzidl4";
+      system = "introspect-environment";
+      asd = "introspect-environment";
+    });
+    systems = [ "introspect-environment" ];
+    lispLibs = [  ];
+  };
+  introspect-environment-test = {
+    pname = "introspect-environment-test";
+    version = "20210807-git";
+    asds = [ "introspect-environment-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/introspect-environment/2021-08-07/introspect-environment-20210807-git.tgz";
+      sha256 = "0d83ash2rfnz1pp4gmb5w7p55b5wxr7nvznssgyswrnnjvzzidl4";
+      system = "introspect-environment-test";
+      asd = "introspect-environment-test";
+    });
+    systems = [ "introspect-environment-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "introspect-environment" pkgs) ];
+  };
+  iolib = {
+    pname = "iolib";
+    version = "v0.8.4";
+    asds = [ "iolib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib";
+      asd = "iolib";
+    });
+    systems = [ "iolib" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "idna" pkgs) (getAttr "iolib_dot_asdf" pkgs) (getAttr "iolib_dot_base" pkgs) (getAttr "iolib_dot_conf" pkgs) (getAttr "swap-bytes" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  iolib_dot_asdf = {
+    pname = "iolib.asdf";
+    version = "v0.8.4";
+    asds = [ "iolib.asdf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib.asdf";
+      asd = "iolib.asdf";
+    });
+    systems = [ "iolib.asdf" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  iolib_dot_base = {
+    pname = "iolib.base";
+    version = "v0.8.4";
+    asds = [ "iolib.base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib.base";
+      asd = "iolib.base";
+    });
+    systems = [ "iolib.base" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iolib_dot_asdf" pkgs) (getAttr "iolib_dot_common-lisp" pkgs) (getAttr "iolib_dot_conf" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  iolib_dot_common-lisp = {
+    pname = "iolib.common-lisp";
+    version = "v0.8.4";
+    asds = [ "iolib.common-lisp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib.common-lisp";
+      asd = "iolib.common-lisp";
+    });
+    systems = [ "iolib.common-lisp" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iolib_dot_asdf" pkgs) (getAttr "iolib_dot_conf" pkgs) ];
+  };
+  iolib_dot_conf = {
+    pname = "iolib.conf";
+    version = "v0.8.4";
+    asds = [ "iolib.conf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib.conf";
+      asd = "iolib.conf";
+    });
+    systems = [ "iolib.conf" ];
+    lispLibs = [ (getAttr "iolib_dot_asdf" pkgs) ];
+  };
+  iolib_dot_examples = {
+    pname = "iolib.examples";
+    version = "v0.8.4";
+    asds = [ "iolib.examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib.examples";
+      asd = "iolib.examples";
+    });
+    systems = [ "iolib.examples" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "iolib" pkgs) (getAttr "iolib_dot_asdf" pkgs) (getAttr "iolib_dot_base" pkgs) (getAttr "iolib_dot_conf" pkgs) ];
+  };
+  iolib_slash_multiplex = {
+    pname = "iolib_multiplex";
+    version = "v0.8.4";
+    asds = [ "iolib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib";
+      asd = "iolib";
+    });
+    systems = [ "iolib/multiplex" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "iolib_dot_asdf" pkgs) (getAttr "iolib_dot_base" pkgs) (getAttr "iolib_dot_conf" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  iolib_slash_os = {
+    pname = "iolib_os";
+    version = "v0.8.4";
+    asds = [ "iolib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib";
+      asd = "iolib";
+    });
+    systems = [ "iolib/os" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "iolib_dot_asdf" pkgs) (getAttr "iolib_dot_base" pkgs) (getAttr "iolib_dot_conf" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  iolib_slash_pathnames = {
+    pname = "iolib_pathnames";
+    version = "v0.8.4";
+    asds = [ "iolib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib";
+      asd = "iolib";
+    });
+    systems = [ "iolib/pathnames" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "iolib_dot_asdf" pkgs) (getAttr "iolib_dot_base" pkgs) (getAttr "iolib_dot_conf" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  iolib_slash_sockets = {
+    pname = "iolib_sockets";
+    version = "v0.8.4";
+    asds = [ "iolib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib";
+      asd = "iolib";
+    });
+    systems = [ "iolib/sockets" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "idna" pkgs) (getAttr "iolib_dot_asdf" pkgs) (getAttr "iolib_dot_base" pkgs) (getAttr "iolib_dot_conf" pkgs) (getAttr "swap-bytes" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  iolib_slash_streams = {
+    pname = "iolib_streams";
+    version = "v0.8.4";
+    asds = [ "iolib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib";
+      asd = "iolib";
+    });
+    systems = [ "iolib/streams" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "iolib_dot_asdf" pkgs) (getAttr "iolib_dot_base" pkgs) (getAttr "iolib_dot_conf" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  iolib_slash_syscalls = {
+    pname = "iolib_syscalls";
+    version = "v0.8.4";
+    asds = [ "iolib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib";
+      asd = "iolib";
+    });
+    systems = [ "iolib/syscalls" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "iolib_dot_asdf" pkgs) (getAttr "iolib_dot_base" pkgs) (getAttr "iolib_dot_conf" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  iolib_slash_tests = {
+    pname = "iolib_tests";
+    version = "v0.8.4";
+    asds = [ "iolib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib";
+      asd = "iolib";
+    });
+    systems = [ "iolib/tests" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "fiveam" pkgs) (getAttr "iolib" pkgs) (getAttr "iolib_dot_asdf" pkgs) (getAttr "iolib_dot_base" pkgs) (getAttr "iolib_dot_conf" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  iolib_slash_trivial-sockets = {
+    pname = "iolib_trivial-sockets";
+    version = "v0.8.4";
+    asds = [ "iolib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib";
+      asd = "iolib";
+    });
+    systems = [ "iolib/trivial-sockets" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "idna" pkgs) (getAttr "iolib_dot_asdf" pkgs) (getAttr "iolib_dot_base" pkgs) (getAttr "iolib_dot_conf" pkgs) (getAttr "swap-bytes" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  iolib_slash_zstreams = {
+    pname = "iolib_zstreams";
+    version = "v0.8.4";
+    asds = [ "iolib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iolib/2021-06-30/iolib-v0.8.4.tgz";
+      sha256 = "1f43jqqqwp9n7xksqxw91myapsdbc2dxck6nd6flakbnp9haylyq";
+      system = "iolib";
+      asd = "iolib";
+    });
+    systems = [ "iolib/zstreams" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "iolib_dot_asdf" pkgs) (getAttr "iolib_dot_base" pkgs) (getAttr "iolib_dot_conf" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  ip-interfaces = {
+    pname = "ip-interfaces";
+    version = "0.2.1";
+    asds = [ "ip-interfaces" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ip-interfaces/2018-12-10/ip-interfaces-0.2.1.tgz";
+      sha256 = "035sc4li0qz4lzjn555h8r2qkhc8a65zglk30f1b3pi9p44g91mw";
+      system = "ip-interfaces";
+      asd = "ip-interfaces";
+    });
+    systems = [ "ip-interfaces" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  ip-interfaces-test = {
+    pname = "ip-interfaces-test";
+    version = "0.2.1";
+    asds = [ "ip-interfaces-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ip-interfaces/2018-12-10/ip-interfaces-0.2.1.tgz";
+      sha256 = "035sc4li0qz4lzjn555h8r2qkhc8a65zglk30f1b3pi9p44g91mw";
+      system = "ip-interfaces-test";
+      asd = "ip-interfaces-test";
+    });
+    systems = [ "ip-interfaces-test" ];
+    lispLibs = [ (getAttr "ip-interfaces" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  irc-logger = {
+    pname = "irc-logger";
+    version = "20150923-git";
+    asds = [ "irc-logger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/irc-logger/2015-09-23/irc-logger-20150923-git.tgz";
+      sha256 = "1ylq8qnf29dij7133p19cmmmw3i7w6azncsdvpd4j0k1fqp14bq7";
+      system = "irc-logger";
+      asd = "irc-logger";
+    });
+    systems = [ "irc-logger" ];
+    lispLibs = [ (getAttr "cl-irc" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  ironclad = {
+    pname = "ironclad";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad-text = {
+    pname = "ironclad-text";
+    version = "v0.56";
+    asds = [ "ironclad-text" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad-text";
+      asd = "ironclad-text";
+    });
+    systems = [ "ironclad-text" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) (getAttr "ironclad" pkgs) ];
+  };
+  ironclad_slash_aead_slash_eax = {
+    pname = "ironclad_aead_eax";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/aead/eax" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_aead_slash_etm = {
+    pname = "ironclad_aead_etm";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/aead/etm" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_aead_slash_gcm = {
+    pname = "ironclad_aead_gcm";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/aead/gcm" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_aeads = {
+    pname = "ironclad_aeads";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/aeads" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_aes = {
+    pname = "ironclad_cipher_aes";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/aes" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_arcfour = {
+    pname = "ironclad_cipher_arcfour";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/arcfour" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_aria = {
+    pname = "ironclad_cipher_aria";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/aria" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_blowfish = {
+    pname = "ironclad_cipher_blowfish";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/blowfish" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_camellia = {
+    pname = "ironclad_cipher_camellia";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/camellia" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_cast5 = {
+    pname = "ironclad_cipher_cast5";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/cast5" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_chacha = {
+    pname = "ironclad_cipher_chacha";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/chacha" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_des = {
+    pname = "ironclad_cipher_des";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/des" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_idea = {
+    pname = "ironclad_cipher_idea";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/idea" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_kalyna = {
+    pname = "ironclad_cipher_kalyna";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/kalyna" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_keystream = {
+    pname = "ironclad_cipher_keystream";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/keystream" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_kuznyechik = {
+    pname = "ironclad_cipher_kuznyechik";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/kuznyechik" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_misty1 = {
+    pname = "ironclad_cipher_misty1";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/misty1" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_rc2 = {
+    pname = "ironclad_cipher_rc2";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/rc2" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_rc5 = {
+    pname = "ironclad_cipher_rc5";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/rc5" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_rc6 = {
+    pname = "ironclad_cipher_rc6";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/rc6" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_salsa20 = {
+    pname = "ironclad_cipher_salsa20";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/salsa20" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_seed = {
+    pname = "ironclad_cipher_seed";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/seed" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_serpent = {
+    pname = "ironclad_cipher_serpent";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/serpent" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_sm4 = {
+    pname = "ironclad_cipher_sm4";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/sm4" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_sosemanuk = {
+    pname = "ironclad_cipher_sosemanuk";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/sosemanuk" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_square = {
+    pname = "ironclad_cipher_square";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/square" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_tea = {
+    pname = "ironclad_cipher_tea";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/tea" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_threefish = {
+    pname = "ironclad_cipher_threefish";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/threefish" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_twofish = {
+    pname = "ironclad_cipher_twofish";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/twofish" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_xchacha = {
+    pname = "ironclad_cipher_xchacha";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/xchacha" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_xor = {
+    pname = "ironclad_cipher_xor";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/xor" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_xsalsa20 = {
+    pname = "ironclad_cipher_xsalsa20";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/xsalsa20" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_cipher_slash_xtea = {
+    pname = "ironclad_cipher_xtea";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/cipher/xtea" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_ciphers = {
+    pname = "ironclad_ciphers";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/ciphers" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_core = {
+    pname = "ironclad_core";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/core" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_adler32 = {
+    pname = "ironclad_digest_adler32";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/adler32" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_blake2 = {
+    pname = "ironclad_digest_blake2";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/blake2" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_blake2s = {
+    pname = "ironclad_digest_blake2s";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/blake2s" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_crc24 = {
+    pname = "ironclad_digest_crc24";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/crc24" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_crc32 = {
+    pname = "ironclad_digest_crc32";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/crc32" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_groestl = {
+    pname = "ironclad_digest_groestl";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/groestl" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_jh = {
+    pname = "ironclad_digest_jh";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/jh" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_kupyna = {
+    pname = "ironclad_digest_kupyna";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/kupyna" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_md2 = {
+    pname = "ironclad_digest_md2";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/md2" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_md4 = {
+    pname = "ironclad_digest_md4";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/md4" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_md5 = {
+    pname = "ironclad_digest_md5";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/md5" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_ripemd-128 = {
+    pname = "ironclad_digest_ripemd-128";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/ripemd-128" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_ripemd-160 = {
+    pname = "ironclad_digest_ripemd-160";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/ripemd-160" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_sha1 = {
+    pname = "ironclad_digest_sha1";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/sha1" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_sha256 = {
+    pname = "ironclad_digest_sha256";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/sha256" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_sha3 = {
+    pname = "ironclad_digest_sha3";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/sha3" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_sha512 = {
+    pname = "ironclad_digest_sha512";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/sha512" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_skein = {
+    pname = "ironclad_digest_skein";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/skein" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_sm3 = {
+    pname = "ironclad_digest_sm3";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/sm3" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_streebog = {
+    pname = "ironclad_digest_streebog";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/streebog" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_tiger = {
+    pname = "ironclad_digest_tiger";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/tiger" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_tree-hash = {
+    pname = "ironclad_digest_tree-hash";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/tree-hash" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digest_slash_whirlpool = {
+    pname = "ironclad_digest_whirlpool";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digest/whirlpool" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_digests = {
+    pname = "ironclad_digests";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/digests" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_kdf_slash_argon2 = {
+    pname = "ironclad_kdf_argon2";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/kdf/argon2" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_kdf_slash_bcrypt = {
+    pname = "ironclad_kdf_bcrypt";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/kdf/bcrypt" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_kdf_slash_hmac = {
+    pname = "ironclad_kdf_hmac";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/kdf/hmac" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_kdf_slash_password-hash = {
+    pname = "ironclad_kdf_password-hash";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/kdf/password-hash" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_kdf_slash_pkcs5 = {
+    pname = "ironclad_kdf_pkcs5";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/kdf/pkcs5" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_kdf_slash_scrypt = {
+    pname = "ironclad_kdf_scrypt";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/kdf/scrypt" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_kdfs = {
+    pname = "ironclad_kdfs";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/kdfs" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_mac_slash_blake2-mac = {
+    pname = "ironclad_mac_blake2-mac";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/mac/blake2-mac" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_mac_slash_blake2s-mac = {
+    pname = "ironclad_mac_blake2s-mac";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/mac/blake2s-mac" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_mac_slash_cmac = {
+    pname = "ironclad_mac_cmac";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/mac/cmac" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_mac_slash_gmac = {
+    pname = "ironclad_mac_gmac";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/mac/gmac" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_mac_slash_hmac = {
+    pname = "ironclad_mac_hmac";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/mac/hmac" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_mac_slash_poly1305 = {
+    pname = "ironclad_mac_poly1305";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/mac/poly1305" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_mac_slash_siphash = {
+    pname = "ironclad_mac_siphash";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/mac/siphash" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_mac_slash_skein-mac = {
+    pname = "ironclad_mac_skein-mac";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/mac/skein-mac" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_macs = {
+    pname = "ironclad_macs";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/macs" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_prng_slash_fortuna = {
+    pname = "ironclad_prng_fortuna";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/prng/fortuna" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_prngs = {
+    pname = "ironclad_prngs";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/prngs" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_public-key_slash_curve25519 = {
+    pname = "ironclad_public-key_curve25519";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/public-key/curve25519" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_public-key_slash_curve448 = {
+    pname = "ironclad_public-key_curve448";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/public-key/curve448" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_public-key_slash_dsa = {
+    pname = "ironclad_public-key_dsa";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/public-key/dsa" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_public-key_slash_ed25519 = {
+    pname = "ironclad_public-key_ed25519";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/public-key/ed25519" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_public-key_slash_ed448 = {
+    pname = "ironclad_public-key_ed448";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/public-key/ed448" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_public-key_slash_elgamal = {
+    pname = "ironclad_public-key_elgamal";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/public-key/elgamal" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_public-key_slash_rsa = {
+    pname = "ironclad_public-key_rsa";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/public-key/rsa" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_public-key_slash_secp256k1 = {
+    pname = "ironclad_public-key_secp256k1";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/public-key/secp256k1" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_public-key_slash_secp256r1 = {
+    pname = "ironclad_public-key_secp256r1";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/public-key/secp256r1" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_public-key_slash_secp384r1 = {
+    pname = "ironclad_public-key_secp384r1";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/public-key/secp384r1" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_public-key_slash_secp521r1 = {
+    pname = "ironclad_public-key_secp521r1";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/public-key/secp521r1" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_public-keys = {
+    pname = "ironclad_public-keys";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/public-keys" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  ironclad_slash_tests = {
+    pname = "ironclad_tests";
+    version = "v0.56";
+    asds = [ "ironclad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ironclad/2021-10-20/ironclad-v0.56.tgz";
+      sha256 = "0dhakily94vswl8a6q9ad0af8nk4pnvfgx7sw9kxl1wdq1pkg3ni";
+      system = "ironclad";
+      asd = "ironclad";
+    });
+    systems = [ "ironclad/tests" ];
+    lispLibs = [ (getAttr "ironclad" pkgs) (getAttr "rt" pkgs) ];
+  };
+  isolated = {
+    pname = "isolated";
+    version = "20200218-git";
+    asds = [ "isolated" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-isolated/2020-02-18/cl-isolated-20200218-git.tgz";
+      sha256 = "01wbis4dw2cy7d2yh30rwvmlx3dr5s9dx8hs19xhjpznjbqfyksi";
+      system = "isolated";
+      asd = "isolated";
+    });
+    systems = [ "isolated" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  issr = {
+    pname = "issr";
+    version = "20211020-git";
+    asds = [ "issr" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/hunchenissr/2021-10-20/hunchenissr-20211020-git.tgz";
+      sha256 = "1dfm7zdvyj14my8giznq1vsy20nj7my71y7a657slhf6v2cap5vs";
+      system = "issr";
+      asd = "issr";
+    });
+    systems = [ "issr" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-base64" pkgs) (getAttr "str" pkgs) (getAttr "yxorp" pkgs) (getAttr "do-urlencode" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "jonathan" pkgs) (getAttr "plump" pkgs) (getAttr "portal" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  issr-core = {
+    pname = "issr-core";
+    version = "20210228-git";
+    asds = [ "issr-core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/core/2021-02-28/core-20210228-git.tgz";
+      sha256 = "1bajb09crzadkirdpd6jrpcc55irjd4sxzavygr25l85pafyhniw";
+      system = "issr-core";
+      asd = "issr-core";
+    });
+    systems = [ "issr-core" ];
+    lispLibs = [ (getAttr "str" pkgs) (getAttr "global-vars" pkgs) (getAttr "plump" pkgs) (getAttr "tailrec" pkgs) ];
+  };
+  iterate = {
+    pname = "iterate";
+    version = "release-b0f9a9c6-git";
+    asds = [ "iterate" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iterate/2021-05-31/iterate-release-b0f9a9c6-git.tgz";
+      sha256 = "09xq2mdr97hagjrjpc47mp8l9wfp697aa9qaqmsy0yskayzg6xsc";
+      system = "iterate";
+      asd = "iterate";
+    });
+    systems = [ "iterate" ];
+    lispLibs = [  ];
+  };
+  iterate-clsql = {
+    pname = "iterate-clsql";
+    version = "20130312-http";
+    asds = [ "iterate-clsql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iterate-clsql/2013-03-12/iterate-clsql-20130312-http.tgz";
+      sha256 = "0adfs31zin5kkg9z5kyzykf8gmcgr600vvi4mjx7nixybh326h3h";
+      system = "iterate-clsql";
+      asd = "iterate-clsql";
+    });
+    systems = [ "iterate-clsql" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  iterate_slash_tests = {
+    pname = "iterate_tests";
+    version = "release-b0f9a9c6-git";
+    asds = [ "iterate" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/iterate/2021-05-31/iterate-release-b0f9a9c6-git.tgz";
+      sha256 = "09xq2mdr97hagjrjpc47mp8l9wfp697aa9qaqmsy0yskayzg6xsc";
+      system = "iterate";
+      asd = "iterate";
+    });
+    systems = [ "iterate/tests" ];
+    lispLibs = [ (getAttr "iterate" pkgs) ];
+  };
+  ixf = {
+    pname = "ixf";
+    version = "20180228-git";
+    asds = [ "ixf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-ixf/2018-02-28/cl-ixf-20180228-git.tgz";
+      sha256 = "1wjdnf4vr9z7lcfc49kl43g6l2i23q9n81siy494k17d766cdvqa";
+      system = "ixf";
+      asd = "ixf";
+    });
+    systems = [ "ixf" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "local-time" pkgs) (getAttr "md5" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  jenkins_dot_api = {
+    pname = "jenkins.api";
+    version = "20130312-git";
+    asds = [ "jenkins.api" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jenkins/2013-03-12/jenkins-20130312-git.tgz";
+      sha256 = "1kis95k3fwlaq2jbpia0wps4gq461w6p57dxlbvb0c6a5dgh4dwf";
+      system = "jenkins.api";
+      asd = "jenkins.api";
+    });
+    systems = [ "jenkins.api" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "drakma" pkgs) (getAttr "iterate" pkgs) (getAttr "let-plus" pkgs) (getAttr "more-conditions" pkgs) (getAttr "puri" pkgs) (getAttr "split-sequence" pkgs) (getAttr "xml_dot_location" pkgs) ];
+  };
+  jingoh = {
+    pname = "jingoh";
+    version = "20211209-git";
+    asds = [ "jingoh" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh";
+      asd = "jingoh";
+    });
+    systems = [ "jingoh" ];
+    lispLibs = [ (getAttr "jingoh_dot_examiner" pkgs) (getAttr "jingoh_dot_org" pkgs) (getAttr "jingoh_dot_reader" pkgs) (getAttr "jingoh_dot_tester" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  jingoh_dot_documentizer = {
+    pname = "jingoh.documentizer";
+    version = "20211209-git";
+    asds = [ "jingoh.documentizer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh.documentizer";
+      asd = "jingoh.documentizer";
+    });
+    systems = [ "jingoh.documentizer" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "_3bmd-ext-code-blocks" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "eclector" pkgs) (getAttr "read-as-string" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  jingoh_dot_documentizer_dot_test = {
+    pname = "jingoh.documentizer.test";
+    version = "20211209-git";
+    asds = [ "jingoh.documentizer.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh.documentizer.test";
+      asd = "jingoh.documentizer.test";
+    });
+    systems = [ "jingoh.documentizer.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) ];
+  };
+  jingoh_dot_examiner = {
+    pname = "jingoh.examiner";
+    version = "20211209-git";
+    asds = [ "jingoh.examiner" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh.examiner";
+      asd = "jingoh.examiner";
+    });
+    systems = [ "jingoh.examiner" ];
+    lispLibs = [ (getAttr "cl-ansi-text" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) (getAttr "jingoh_dot_org" pkgs) (getAttr "jingoh_dot_tester" pkgs) ];
+  };
+  jingoh_dot_examiner_dot_test = {
+    pname = "jingoh.examiner.test";
+    version = "20211209-git";
+    asds = [ "jingoh.examiner.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh.examiner.test";
+      asd = "jingoh.examiner.test";
+    });
+    systems = [ "jingoh.examiner.test" ];
+    lispLibs = [ (getAttr "cl-ansi-text" pkgs) (getAttr "jingoh" pkgs) (getAttr "jingoh_dot_examiner" pkgs) ];
+  };
+  jingoh_dot_generator = {
+    pname = "jingoh.generator";
+    version = "20211209-git";
+    asds = [ "jingoh.generator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh.generator";
+      asd = "jingoh.generator";
+    });
+    systems = [ "jingoh.generator" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-unification" pkgs) (getAttr "closer-mop" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) (getAttr "lambda-fiddle" pkgs) (getAttr "millet" pkgs) (getAttr "named-readtables" pkgs) (getAttr "prompt-for" pkgs) (getAttr "trivial-cltl2" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  jingoh_dot_generator_dot_test = {
+    pname = "jingoh.generator.test";
+    version = "20211209-git";
+    asds = [ "jingoh.generator.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh.generator.test";
+      asd = "jingoh.generator.test";
+    });
+    systems = [ "jingoh.generator.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "jingoh_dot_generator" pkgs) ];
+  };
+  jingoh_dot_org = {
+    pname = "jingoh.org";
+    version = "20211209-git";
+    asds = [ "jingoh.org" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh.org";
+      asd = "jingoh.org";
+    });
+    systems = [ "jingoh.org" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "check-bnf" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) ];
+  };
+  jingoh_dot_org_dot_test = {
+    pname = "jingoh.org.test";
+    version = "20211209-git";
+    asds = [ "jingoh.org.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh.org.test";
+      asd = "jingoh.org.test";
+    });
+    systems = [ "jingoh.org.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "jingoh_dot_org" pkgs) ];
+  };
+  jingoh_dot_parallel = {
+    pname = "jingoh.parallel";
+    version = "20211209-git";
+    asds = [ "jingoh.parallel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh.parallel";
+      asd = "jingoh.parallel";
+    });
+    systems = [ "jingoh.parallel" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-cpus" pkgs) (getAttr "jingoh" pkgs) (getAttr "lparallel" pkgs) ];
+  };
+  jingoh_dot_parallel_dot_test = {
+    pname = "jingoh.parallel.test";
+    version = "20211209-git";
+    asds = [ "jingoh.parallel.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh.parallel.test";
+      asd = "jingoh.parallel.test";
+    });
+    systems = [ "jingoh.parallel.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "jingoh_dot_parallel" pkgs) ];
+  };
+  jingoh_dot_reader = {
+    pname = "jingoh.reader";
+    version = "20211209-git";
+    asds = [ "jingoh.reader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh.reader";
+      asd = "jingoh.reader";
+    });
+    systems = [ "jingoh.reader" ];
+    lispLibs = [ (getAttr "jingoh_dot_documentizer" pkgs) (getAttr "jingoh_dot_tester" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  jingoh_dot_reader_dot_test = {
+    pname = "jingoh.reader.test";
+    version = "20211209-git";
+    asds = [ "jingoh.reader.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh.reader.test";
+      asd = "jingoh.reader.test";
+    });
+    systems = [ "jingoh.reader.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "jingoh_dot_reader" pkgs) ];
+  };
+  jingoh_dot_tester = {
+    pname = "jingoh.tester";
+    version = "20211209-git";
+    asds = [ "jingoh.tester" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh.tester";
+      asd = "jingoh.tester";
+    });
+    systems = [ "jingoh.tester" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "check-bnf" pkgs) (getAttr "cl-ansi-text" pkgs) (getAttr "cl-colors2" pkgs) (getAttr "closer-mop" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) (getAttr "jingoh_dot_org" pkgs) (getAttr "structure-ext" pkgs) (getAttr "uiop" pkgs) (getAttr "vivid-colors" pkgs) (getAttr "vivid-diff" pkgs) ];
+  };
+  jingoh_dot_tester_dot_test = {
+    pname = "jingoh.tester.test";
+    version = "20211209-git";
+    asds = [ "jingoh.tester.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh.tester.test";
+      asd = "jingoh.tester.test";
+    });
+    systems = [ "jingoh.tester.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "jingoh_dot_tester" pkgs) ];
+  };
+  jingoh_slash_test = {
+    pname = "jingoh_test";
+    version = "20211209-git";
+    asds = [ "jingoh" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jingoh/2021-12-09/jingoh-20211209-git.tgz";
+      sha256 = "13xpasbsamnjd5f1ch3dj0sv6pmpkddpj1p6vw8pgnzd1mimwcg9";
+      system = "jingoh";
+      asd = "jingoh";
+    });
+    systems = [ "jingoh/test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  jonathan = {
+    pname = "jonathan";
+    version = "20200925-git";
+    asds = [ "jonathan" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jonathan/2020-09-25/jonathan-20200925-git.tgz";
+      sha256 = "1l4sfxfmijibsvkbszikzslw1yy8z52ml9may1w2s0ay7lg7rsng";
+      system = "jonathan";
+      asd = "jonathan";
+    });
+    systems = [ "jonathan" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-annot" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-syntax" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "fast-io" pkgs) (getAttr "proc-parse" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  jonathan-test = {
+    pname = "jonathan-test";
+    version = "20200925-git";
+    asds = [ "jonathan-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jonathan/2020-09-25/jonathan-20200925-git.tgz";
+      sha256 = "1l4sfxfmijibsvkbszikzslw1yy8z52ml9may1w2s0ay7lg7rsng";
+      system = "jonathan-test";
+      asd = "jonathan-test";
+    });
+    systems = [ "jonathan-test" ];
+    lispLibs = [ (getAttr "jonathan" pkgs) (getAttr "legion" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  jose = {
+    pname = "jose";
+    version = "20211020-git";
+    asds = [ "jose" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jose/2021-10-20/jose-20211020-git.tgz";
+      sha256 = "078kqzr1fcbvgfka6clngr3dcz7k19znnpj93i8dipk6r1bf0k1r";
+      system = "jose";
+      asd = "jose";
+    });
+    systems = [ "jose" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "assoc-utils" pkgs) (getAttr "cl-base64" pkgs) (getAttr "ironclad" pkgs) (getAttr "jonathan" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  jp-numeral = {
+    pname = "jp-numeral";
+    version = "20190521-git";
+    asds = [ "jp-numeral" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jp-numeral/2019-05-21/jp-numeral-20190521-git.tgz";
+      sha256 = "03gn6j1m80qz57rkrwi999fvsm67ybpcms3cm6y4h6s65aba30fa";
+      system = "jp-numeral";
+      asd = "jp-numeral";
+    });
+    systems = [ "jp-numeral" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) ];
+  };
+  jp-numeral-test = {
+    pname = "jp-numeral-test";
+    version = "20190521-git";
+    asds = [ "jp-numeral-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jp-numeral/2019-05-21/jp-numeral-20190521-git.tgz";
+      sha256 = "03gn6j1m80qz57rkrwi999fvsm67ybpcms3cm6y4h6s65aba30fa";
+      system = "jp-numeral-test";
+      asd = "jp-numeral-test";
+    });
+    systems = [ "jp-numeral-test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "alexandria" pkgs) (getAttr "jp-numeral" pkgs) ];
+  };
+  jpeg-turbo = {
+    pname = "jpeg-turbo";
+    version = "20201220-git";
+    asds = [ "jpeg-turbo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jpeg-turbo/2020-12-20/jpeg-turbo-20201220-git.tgz";
+      sha256 = "1andd1ibbk3224idnpsnrn96flr5d1wm9ja3di57fs04wn577sag";
+      system = "jpeg-turbo";
+      asd = "jpeg-turbo";
+    });
+    systems = [ "jpeg-turbo" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  jpeg-turbo_slash_tests = {
+    pname = "jpeg-turbo_tests";
+    version = "20201220-git";
+    asds = [ "jpeg-turbo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jpeg-turbo/2020-12-20/jpeg-turbo-20201220-git.tgz";
+      sha256 = "1andd1ibbk3224idnpsnrn96flr5d1wm9ja3di57fs04wn577sag";
+      system = "jpeg-turbo";
+      asd = "jpeg-turbo";
+    });
+    systems = [ "jpeg-turbo/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "jpeg-turbo" pkgs) ];
+  };
+  jpl-queues = {
+    pname = "jpl-queues";
+    version = "0.1";
+    asds = [ "jpl-queues" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jpl-queues/2010-10-06/jpl-queues-0.1.tgz";
+      sha256 = "1xgddsfa1gr0cjmdlc304j3msxi8w2fyk9i497x56kmkif7pkj88";
+      system = "jpl-queues";
+      asd = "jpl-queues";
+    });
+    systems = [ "jpl-queues" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "jpl-util" pkgs) ];
+  };
+  jpl-util = {
+    pname = "jpl-util";
+    version = "20151031-git";
+    asds = [ "jpl-util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-jpl-util/2015-10-31/cl-jpl-util-20151031-git.tgz";
+      sha256 = "0nc0rk9n8grkg3045xsw34whmcmddn2sfrxki4268g7kpgz0d2yz";
+      system = "jpl-util";
+      asd = "jpl-util";
+    });
+    systems = [ "jpl-util" ];
+    lispLibs = [  ];
+  };
+  js-parser = {
+    pname = "js-parser";
+    version = "20150407-git";
+    asds = [ "js-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/js-parser/2015-04-07/js-parser-20150407-git.tgz";
+      sha256 = "0hqw515vyhrv1as5sfn3l792ddjps85zbzpblr2cjyq9dmdrg89a";
+      system = "js-parser";
+      asd = "js-parser";
+    });
+    systems = [ "js-parser" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  js-parser-tests = {
+    pname = "js-parser-tests";
+    version = "20150407-git";
+    asds = [ "js-parser-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/js-parser/2015-04-07/js-parser-20150407-git.tgz";
+      sha256 = "0hqw515vyhrv1as5sfn3l792ddjps85zbzpblr2cjyq9dmdrg89a";
+      system = "js-parser-tests";
+      asd = "js-parser-tests";
+    });
+    systems = [ "js-parser-tests" ];
+    lispLibs = [ (getAttr "js-parser" pkgs) ];
+  };
+  json-mop = {
+    pname = "json-mop";
+    version = "20210411-git";
+    asds = [ "json-mop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/json-mop/2021-04-11/json-mop-20210411-git.tgz";
+      sha256 = "1d4k1l415iwssn8qyy3qjcfk3cclz6rzq750dgbiisys8ffmgpgp";
+      system = "json-mop";
+      asd = "json-mop";
+    });
+    systems = [ "json-mop" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "closer-mop" pkgs) (getAttr "yason" pkgs) ];
+  };
+  json-mop-tests = {
+    pname = "json-mop-tests";
+    version = "20210411-git";
+    asds = [ "json-mop-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/json-mop/2021-04-11/json-mop-20210411-git.tgz";
+      sha256 = "1d4k1l415iwssn8qyy3qjcfk3cclz6rzq750dgbiisys8ffmgpgp";
+      system = "json-mop-tests";
+      asd = "json-mop-tests";
+    });
+    systems = [ "json-mop-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "json-mop" pkgs) ];
+  };
+  json-responses = {
+    pname = "json-responses";
+    version = "20190307-hg";
+    asds = [ "json-responses" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/json-responses/2019-03-07/json-responses-20190307-hg.tgz";
+      sha256 = "0f1hrs3rhi6qn0r8qd3fbsknn417b8v8b4s4989yfwfvnf922g05";
+      system = "json-responses";
+      asd = "json-responses";
+    });
+    systems = [ "json-responses" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  json-responses-test = {
+    pname = "json-responses-test";
+    version = "20190307-hg";
+    asds = [ "json-responses-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/json-responses/2019-03-07/json-responses-20190307-hg.tgz";
+      sha256 = "0f1hrs3rhi6qn0r8qd3fbsknn417b8v8b4s4989yfwfvnf922g05";
+      system = "json-responses-test";
+      asd = "json-responses";
+    });
+    systems = [ "json-responses-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "json-responses" pkgs) ];
+  };
+  json-streams = {
+    pname = "json-streams";
+    version = "20171019-git";
+    asds = [ "json-streams" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/json-streams/2017-10-19/json-streams-20171019-git.tgz";
+      sha256 = "0cia3721im04q73dfkd688d8splgpz03qa4h8s3r39kar4w3xll2";
+      system = "json-streams";
+      asd = "json-streams";
+    });
+    systems = [ "json-streams" ];
+    lispLibs = [  ];
+  };
+  json-streams-tests = {
+    pname = "json-streams-tests";
+    version = "20171019-git";
+    asds = [ "json-streams-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/json-streams/2017-10-19/json-streams-20171019-git.tgz";
+      sha256 = "0cia3721im04q73dfkd688d8splgpz03qa4h8s3r39kar4w3xll2";
+      system = "json-streams-tests";
+      asd = "json-streams-tests";
+    });
+    systems = [ "json-streams-tests" ];
+    lispLibs = [ (getAttr "cl-quickcheck" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "json-streams" pkgs) ];
+  };
+  json-template = {
+    pname = "json-template";
+    version = "20170630-git";
+    asds = [ "json-template" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-json-template/2017-06-30/cl-json-template-20170630-git.tgz";
+      sha256 = "15492p6zj7aqr09aa91qxslxy6qzly2w8n5hji28bj5gl4qdypz1";
+      system = "json-template";
+      asd = "json-template";
+    });
+    systems = [ "json-template" ];
+    lispLibs = [  ];
+  };
+  jsonrpc = {
+    pname = "jsonrpc";
+    version = "20211020-git";
+    asds = [ "jsonrpc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jsonrpc/2021-10-20/jsonrpc-20211020-git.tgz";
+      sha256 = "1kayfwlhkpj9x06hb9v7gx49kbjx14rarvrcnsxvacwrir11mkr4";
+      system = "jsonrpc";
+      asd = "jsonrpc";
+    });
+    systems = [ "jsonrpc" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "chanl" pkgs) (getAttr "dissect" pkgs) (getAttr "event-emitter" pkgs) (getAttr "usocket" pkgs) (getAttr "vom" pkgs) (getAttr "yason" pkgs) ];
+  };
+  jsown = {
+    pname = "jsown";
+    version = "20200218-git";
+    asds = [ "jsown" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jsown/2020-02-18/jsown-20200218-git.tgz";
+      sha256 = "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7";
+      system = "jsown";
+      asd = "jsown";
+    });
+    systems = [ "jsown" ];
+    lispLibs = [  ];
+  };
+  jsown-tests = {
+    pname = "jsown-tests";
+    version = "20200218-git";
+    asds = [ "jsown-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jsown/2020-02-18/jsown-20200218-git.tgz";
+      sha256 = "0gadvmf1d9bq35s61z76psrsnzwwk12svi66jigf491hv48wigw7";
+      system = "jsown-tests";
+      asd = "jsown-tests";
+    });
+    systems = [ "jsown-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "jsown" pkgs) ];
+  };
+  just-getopt-parser = {
+    pname = "just-getopt-parser";
+    version = "20211209-git";
+    asds = [ "just-getopt-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-just-getopt-parser/2021-12-09/cl-just-getopt-parser-20211209-git.tgz";
+      sha256 = "0ngh8b51ngh3bqacl40j6wwiinhwxswsy02d9k7qlzv9sbjxay4s";
+      system = "just-getopt-parser";
+      asd = "just-getopt-parser";
+    });
+    systems = [ "just-getopt-parser" ];
+    lispLibs = [  ];
+  };
+  jwacs = {
+    pname = "jwacs";
+    version = "20180228-git";
+    asds = [ "jwacs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jwacs/2018-02-28/jwacs-20180228-git.tgz";
+      sha256 = "1wzln3bjjmdv040i339dsm48a1sc2cnwhh4z066x2wkl5ka7j5b2";
+      system = "jwacs";
+      asd = "jwacs";
+    });
+    systems = [ "jwacs" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  jwacs-tests = {
+    pname = "jwacs-tests";
+    version = "20180228-git";
+    asds = [ "jwacs-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/jwacs/2018-02-28/jwacs-20180228-git.tgz";
+      sha256 = "1wzln3bjjmdv040i339dsm48a1sc2cnwhh4z066x2wkl5ka7j5b2";
+      system = "jwacs-tests";
+      asd = "jwacs-tests";
+    });
+    systems = [ "jwacs-tests" ];
+    lispLibs = [ (getAttr "jwacs" pkgs) ];
+  };
+  kanren-trs = {
+    pname = "kanren-trs";
+    version = "20120305-svn";
+    asds = [ "kanren-trs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-kanren-trs/2012-03-05/cl-kanren-trs-20120305-svn.tgz";
+      sha256 = "1r9xyickdkkqcaa7abvks4hqwjb7s95lcrym026c1w6ciibiypr7";
+      system = "kanren-trs";
+      asd = "kanren-trs";
+    });
+    systems = [ "kanren-trs" ];
+    lispLibs = [  ];
+  };
+  kanren-trs-test = {
+    pname = "kanren-trs-test";
+    version = "20120305-svn";
+    asds = [ "kanren-trs-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-kanren-trs/2012-03-05/cl-kanren-trs-20120305-svn.tgz";
+      sha256 = "1r9xyickdkkqcaa7abvks4hqwjb7s95lcrym026c1w6ciibiypr7";
+      system = "kanren-trs-test";
+      asd = "kanren-trs-test";
+    });
+    systems = [ "kanren-trs-test" ];
+    lispLibs = [ (getAttr "kanren-trs" pkgs) ];
+  };
+  kaputt = {
+    pname = "kaputt";
+    version = "20201016-git";
+    asds = [ "kaputt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-kaputt/2020-10-16/cl-kaputt-20201016-git.tgz";
+      sha256 = "01br97d8ijbggbrssvd42jajyg38wpxm24z8khxf67z8k2lhafjg";
+      system = "kaputt";
+      asd = "kaputt";
+    });
+    systems = [ "kaputt" ];
+    lispLibs = [  ];
+  };
+  kaputt_slash_example = {
+    pname = "kaputt_example";
+    version = "20201016-git";
+    asds = [ "kaputt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-kaputt/2020-10-16/cl-kaputt-20201016-git.tgz";
+      sha256 = "01br97d8ijbggbrssvd42jajyg38wpxm24z8khxf67z8k2lhafjg";
+      system = "kaputt";
+      asd = "kaputt";
+    });
+    systems = [ "kaputt/example" ];
+    lispLibs = [ (getAttr "kaputt" pkgs) ];
+  };
+  kaputt_slash_test = {
+    pname = "kaputt_test";
+    version = "20201016-git";
+    asds = [ "kaputt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-kaputt/2020-10-16/cl-kaputt-20201016-git.tgz";
+      sha256 = "01br97d8ijbggbrssvd42jajyg38wpxm24z8khxf67z8k2lhafjg";
+      system = "kaputt";
+      asd = "kaputt";
+    });
+    systems = [ "kaputt/test" ];
+    lispLibs = [ (getAttr "kaputt" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  kebab = {
+    pname = "kebab";
+    version = "20150608-git";
+    asds = [ "kebab" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/kebab/2015-06-08/kebab-20150608-git.tgz";
+      sha256 = "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b";
+      system = "kebab";
+      asd = "kebab";
+    });
+    systems = [ "kebab" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  kebab-test = {
+    pname = "kebab-test";
+    version = "20150608-git";
+    asds = [ "kebab-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/kebab/2015-06-08/kebab-20150608-git.tgz";
+      sha256 = "0j5haabnvj0vz0rx9mwyfsb3qzpga9nickbjw8xs6vypkdzlqv1b";
+      system = "kebab-test";
+      asd = "kebab-test";
+    });
+    systems = [ "kebab-test" ];
+    lispLibs = [ (getAttr "kebab" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  kekule-clj = {
+    pname = "kekule-clj";
+    version = "20211020-git";
+    asds = [ "kekule-clj" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/kekule-clj/2021-10-20/kekule-clj-20211020-git.tgz";
+      sha256 = "1vlrv8666yw0kwwzb027a8gi826863lzk0dmga8dlk4svladmj4n";
+      system = "kekule-clj";
+      asd = "kekule-clj";
+    });
+    systems = [ "kekule-clj" ];
+    lispLibs = [ (getAttr "common-lisp-jupyter" pkgs) ];
+  };
+  kenzo = {
+    pname = "kenzo";
+    version = "20200325-git";
+    asds = [ "kenzo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/kenzo/2020-03-25/kenzo-20200325-git.tgz";
+      sha256 = "0dg70p5pxvx2ksr66z3p2nkxxwkjd852pkckr15j6cwfaji9fr8r";
+      system = "kenzo";
+      asd = "kenzo";
+    });
+    systems = [ "kenzo" ];
+    lispLibs = [  ];
+  };
+  kenzo-test = {
+    pname = "kenzo-test";
+    version = "20200325-git";
+    asds = [ "kenzo-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/kenzo/2020-03-25/kenzo-20200325-git.tgz";
+      sha256 = "0dg70p5pxvx2ksr66z3p2nkxxwkjd852pkckr15j6cwfaji9fr8r";
+      system = "kenzo-test";
+      asd = "kenzo-test";
+    });
+    systems = [ "kenzo-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "kenzo" pkgs) ];
+  };
+  keystone = {
+    pname = "keystone";
+    version = "20200427-git";
+    asds = [ "keystone" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/keystone/2020-04-27/keystone-20200427-git.tgz";
+      sha256 = "04fczbkihf87qyp9f1sv45h69xrvdmcmxkv4m868q8zqw6z48hlj";
+      system = "keystone";
+      asd = "keystone";
+    });
+    systems = [ "keystone" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "gt" pkgs) (getAttr "static-vectors" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  keystone_slash_raw = {
+    pname = "keystone_raw";
+    version = "20200427-git";
+    asds = [ "keystone" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/keystone/2020-04-27/keystone-20200427-git.tgz";
+      sha256 = "04fczbkihf87qyp9f1sv45h69xrvdmcmxkv4m868q8zqw6z48hlj";
+      system = "keystone";
+      asd = "keystone";
+    });
+    systems = [ "keystone/raw" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "gt" pkgs) (getAttr "static-vectors" pkgs) ];
+  };
+  keystone_slash_raw-test = {
+    pname = "keystone_raw-test";
+    version = "20200427-git";
+    asds = [ "keystone" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/keystone/2020-04-27/keystone-20200427-git.tgz";
+      sha256 = "04fczbkihf87qyp9f1sv45h69xrvdmcmxkv4m868q8zqw6z48hlj";
+      system = "keystone";
+      asd = "keystone";
+    });
+    systems = [ "keystone/raw-test" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "gt" pkgs) (getAttr "static-vectors" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  keystone_slash_test = {
+    pname = "keystone_test";
+    version = "20200427-git";
+    asds = [ "keystone" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/keystone/2020-04-27/keystone-20200427-git.tgz";
+      sha256 = "04fczbkihf87qyp9f1sv45h69xrvdmcmxkv4m868q8zqw6z48hlj";
+      system = "keystone";
+      asd = "keystone";
+    });
+    systems = [ "keystone/test" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "gt" pkgs) (getAttr "keystone" pkgs) (getAttr "static-vectors" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  kl-verify = {
+    pname = "kl-verify";
+    version = "20120909-git";
+    asds = [ "kl-verify" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/kl-verify/2012-09-09/kl-verify-20120909-git.tgz";
+      sha256 = "1m5jyvvfb24idw0xzi92diyrygmq638dwxg0sl247yyvmwsqb8yj";
+      system = "kl-verify";
+      asd = "kl-verify";
+    });
+    systems = [ "kl-verify" ];
+    lispLibs = [ (getAttr "image" pkgs) ];
+  };
+  km = {
+    pname = "km";
+    version = "2-5-33";
+    asds = [ "km" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/km/2011-05-22/km-2-5-33.tgz";
+      sha256 = "0vl4g7vg20l14xc1b5g1d0scak6ck5028q5s5c75pr8fp15m7wyb";
+      system = "km";
+      asd = "km";
+    });
+    systems = [ "km" ];
+    lispLibs = [  ];
+  };
+  kmrcl = {
+    pname = "kmrcl";
+    version = "20201016-git";
+    asds = [ "kmrcl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/kmrcl/2020-10-16/kmrcl-20201016-git.tgz";
+      sha256 = "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2";
+      system = "kmrcl";
+      asd = "kmrcl";
+    });
+    systems = [ "kmrcl" ];
+    lispLibs = [  ];
+  };
+  kmrcl_slash_test = {
+    pname = "kmrcl_test";
+    version = "20201016-git";
+    asds = [ "kmrcl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/kmrcl/2020-10-16/kmrcl-20201016-git.tgz";
+      sha256 = "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2";
+      system = "kmrcl";
+      asd = "kmrcl";
+    });
+    systems = [ "kmrcl/test" ];
+    lispLibs = [ (getAttr "kmrcl" pkgs) (getAttr "rt" pkgs) ];
+  };
+  l-math = {
+    pname = "l-math";
+    version = "20190307-git";
+    asds = [ "l-math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/l-math/2019-03-07/l-math-20190307-git.tgz";
+      sha256 = "12nhj1hrvgvmichrjf46fi0f1lzrjajw7k9i1f6qycnnqw45qan1";
+      system = "l-math";
+      asd = "l-math";
+    });
+    systems = [ "l-math" ];
+    lispLibs = [  ];
+  };
+  l-system = {
+    pname = "l-system";
+    version = "20180228-git";
+    asds = [ "l-system" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/l-system/2018-02-28/l-system-20180228-git.tgz";
+      sha256 = "1zvd90s7y936bx7sirc38vs8r2rs62064ndj06ahrc38vagv4qwd";
+      system = "l-system";
+      asd = "l-system";
+    });
+    systems = [ "l-system" ];
+    lispLibs = [ (getAttr "iterate" pkgs) ];
+  };
+  l-system-examples = {
+    pname = "l-system-examples";
+    version = "20180228-git";
+    asds = [ "l-system-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/l-system/2018-02-28/l-system-20180228-git.tgz";
+      sha256 = "1zvd90s7y936bx7sirc38vs8r2rs62064ndj06ahrc38vagv4qwd";
+      system = "l-system-examples";
+      asd = "l-system-examples";
+    });
+    systems = [ "l-system-examples" ];
+    lispLibs = [ (getAttr "l-system" pkgs) ];
+  };
+  laap = {
+    pname = "laap";
+    version = "20170830-git";
+    asds = [ "laap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/laap/2017-08-30/laap-20170830-git.tgz";
+      sha256 = "0rzjdi4qcv2l99mk4bk94xlpfx1mav0kvd7crpax7dx4dfwkq8k5";
+      system = "laap";
+      asd = "laap";
+    });
+    systems = [ "laap" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-base32" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  lack = {
+    pname = "lack";
+    version = "20211230-git";
+    asds = [ "lack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack";
+      asd = "lack";
+    });
+    systems = [ "lack" ];
+    lispLibs = [ (getAttr "lack-component" pkgs) (getAttr "lack-util" pkgs) ];
+  };
+  lack-app-directory = {
+    pname = "lack-app-directory";
+    version = "20211230-git";
+    asds = [ "lack-app-directory" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-app-directory";
+      asd = "lack-app-directory";
+    });
+    systems = [ "lack-app-directory" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "lack-app-file" pkgs) (getAttr "quri" pkgs) (getAttr "trivial-mimes" pkgs) (getAttr "trivial-rfc-1123" pkgs) ];
+  };
+  lack-app-file = {
+    pname = "lack-app-file";
+    version = "20211230-git";
+    asds = [ "lack-app-file" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-app-file";
+      asd = "lack-app-file";
+    });
+    systems = [ "lack-app-file" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "lack-component" pkgs) (getAttr "trivial-mimes" pkgs) (getAttr "trivial-rfc-1123" pkgs) ];
+  };
+  lack-component = {
+    pname = "lack-component";
+    version = "20211230-git";
+    asds = [ "lack-component" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-component";
+      asd = "lack-component";
+    });
+    systems = [ "lack-component" ];
+    lispLibs = [  ];
+  };
+  lack-middleware-accesslog = {
+    pname = "lack-middleware-accesslog";
+    version = "20211230-git";
+    asds = [ "lack-middleware-accesslog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-middleware-accesslog";
+      asd = "lack-middleware-accesslog";
+    });
+    systems = [ "lack-middleware-accesslog" ];
+    lispLibs = [ (getAttr "lack-util" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  lack-middleware-anypool = {
+    pname = "lack-middleware-anypool";
+    version = "20210531-git";
+    asds = [ "lack-middleware-anypool" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/anypool/2021-05-31/anypool-20210531-git.tgz";
+      sha256 = "0dr904m0qb0xf12x0rrhw0ipw3fdqyihwr59l87prqmkv23y7aig";
+      system = "lack-middleware-anypool";
+      asd = "lack-middleware-anypool";
+    });
+    systems = [ "lack-middleware-anypool" ];
+    lispLibs = [ (getAttr "anypool" pkgs) ];
+  };
+  lack-middleware-auth-basic = {
+    pname = "lack-middleware-auth-basic";
+    version = "20211230-git";
+    asds = [ "lack-middleware-auth-basic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-middleware-auth-basic";
+      asd = "lack-middleware-auth-basic";
+    });
+    systems = [ "lack-middleware-auth-basic" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  lack-middleware-backtrace = {
+    pname = "lack-middleware-backtrace";
+    version = "20211230-git";
+    asds = [ "lack-middleware-backtrace" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-middleware-backtrace";
+      asd = "lack-middleware-backtrace";
+    });
+    systems = [ "lack-middleware-backtrace" ];
+    lispLibs = [ (getAttr "uiop" pkgs) ];
+  };
+  lack-middleware-clack-errors = {
+    pname = "lack-middleware-clack-errors";
+    version = "20190813-git";
+    asds = [ "lack-middleware-clack-errors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack-errors/2019-08-13/clack-errors-20190813-git.tgz";
+      sha256 = "0z6jyn37phnpq02l5wml8z0593g8ps95c0c2lzkhi3is2wcj9cpf";
+      system = "lack-middleware-clack-errors";
+      asd = "lack-middleware-clack-errors";
+    });
+    systems = [ "lack-middleware-clack-errors" ];
+    lispLibs = [ (getAttr "clack-errors" pkgs) ];
+  };
+  lack-middleware-csrf = {
+    pname = "lack-middleware-csrf";
+    version = "20211230-git";
+    asds = [ "lack-middleware-csrf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-middleware-csrf";
+      asd = "lack-middleware-csrf";
+    });
+    systems = [ "lack-middleware-csrf" ];
+    lispLibs = [ (getAttr "lack-request" pkgs) (getAttr "lack-util" pkgs) ];
+  };
+  lack-middleware-mito = {
+    pname = "lack-middleware-mito";
+    version = "20211209-git";
+    asds = [ "lack-middleware-mito" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mito/2021-12-09/mito-20211209-git.tgz";
+      sha256 = "0313nxlj1zqw6zyc23xpf85v0jk32sg0543ql8363jki0pmg7yhs";
+      system = "lack-middleware-mito";
+      asd = "lack-middleware-mito";
+    });
+    systems = [ "lack-middleware-mito" ];
+    lispLibs = [ (getAttr "dbi" pkgs) (getAttr "mito-core" pkgs) ];
+  };
+  lack-middleware-mount = {
+    pname = "lack-middleware-mount";
+    version = "20211230-git";
+    asds = [ "lack-middleware-mount" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-middleware-mount";
+      asd = "lack-middleware-mount";
+    });
+    systems = [ "lack-middleware-mount" ];
+    lispLibs = [ (getAttr "lack-component" pkgs) ];
+  };
+  lack-middleware-session = {
+    pname = "lack-middleware-session";
+    version = "20211230-git";
+    asds = [ "lack-middleware-session" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-middleware-session";
+      asd = "lack-middleware-session";
+    });
+    systems = [ "lack-middleware-session" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "lack-request" pkgs) (getAttr "lack-response" pkgs) (getAttr "lack-util" pkgs) ];
+  };
+  lack-middleware-static = {
+    pname = "lack-middleware-static";
+    version = "20211230-git";
+    asds = [ "lack-middleware-static" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-middleware-static";
+      asd = "lack-middleware-static";
+    });
+    systems = [ "lack-middleware-static" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "lack-app-file" pkgs) (getAttr "lack-component" pkgs) ];
+  };
+  lack-request = {
+    pname = "lack-request";
+    version = "20211230-git";
+    asds = [ "lack-request" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-request";
+      asd = "lack-request";
+    });
+    systems = [ "lack-request" ];
+    lispLibs = [ (getAttr "circular-streams" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "http-body" pkgs) (getAttr "quri" pkgs) ];
+  };
+  lack-response = {
+    pname = "lack-response";
+    version = "20211230-git";
+    asds = [ "lack-response" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-response";
+      asd = "lack-response";
+    });
+    systems = [ "lack-response" ];
+    lispLibs = [ (getAttr "local-time" pkgs) (getAttr "quri" pkgs) ];
+  };
+  lack-session-store-dbi = {
+    pname = "lack-session-store-dbi";
+    version = "20211230-git";
+    asds = [ "lack-session-store-dbi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-session-store-dbi";
+      asd = "lack-session-store-dbi";
+    });
+    systems = [ "lack-session-store-dbi" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "dbi" pkgs) (getAttr "marshal" pkgs) (getAttr "lack-middleware-session" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  lack-session-store-redis = {
+    pname = "lack-session-store-redis";
+    version = "20211230-git";
+    asds = [ "lack-session-store-redis" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-session-store-redis";
+      asd = "lack-session-store-redis";
+    });
+    systems = [ "lack-session-store-redis" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "marshal" pkgs) (getAttr "cl-redis" pkgs) (getAttr "lack-middleware-session" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  lack-test = {
+    pname = "lack-test";
+    version = "20211230-git";
+    asds = [ "lack-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-test";
+      asd = "lack-test";
+    });
+    systems = [ "lack-test" ];
+    lispLibs = [ (getAttr "cl-cookie" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "lack" pkgs) (getAttr "quri" pkgs) ];
+  };
+  lack-util = {
+    pname = "lack-util";
+    version = "20211230-git";
+    asds = [ "lack-util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-util";
+      asd = "lack-util";
+    });
+    systems = [ "lack-util" ];
+    lispLibs = [ (getAttr "ironclad" pkgs) ];
+  };
+  lack-util-writer-stream = {
+    pname = "lack-util-writer-stream";
+    version = "20211230-git";
+    asds = [ "lack-util-writer-stream" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "lack-util-writer-stream";
+      asd = "lack-util-writer-stream";
+    });
+    systems = [ "lack-util-writer-stream" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  lake = {
+    pname = "lake";
+    version = "20211020-git";
+    asds = [ "lake" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lake/2021-10-20/lake-20211020-git.tgz";
+      sha256 = "1gc1if09i10zvabhdfyzz3la38mdwhvkmmxcsy29knmxx08qv26s";
+      system = "lake";
+      asd = "lake";
+    });
+    systems = [ "lake" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-syntax" pkgs) (getAttr "cl-syntax-interpol" pkgs) (getAttr "deploy" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  lake-test = {
+    pname = "lake-test";
+    version = "20211020-git";
+    asds = [ "lake-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lake/2021-10-20/lake-20211020-git.tgz";
+      sha256 = "1gc1if09i10zvabhdfyzz3la38mdwhvkmmxcsy29knmxx08qv26s";
+      system = "lake-test";
+      asd = "lake-test";
+    });
+    systems = [ "lake-test" ];
+    lispLibs = [ (getAttr "lake" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  lambda-fiddle = {
+    pname = "lambda-fiddle";
+    version = "20211020-git";
+    asds = [ "lambda-fiddle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lambda-fiddle/2021-10-20/lambda-fiddle-20211020-git.tgz";
+      sha256 = "1z4s1sqkvll6rpzc40yqbyzmbn7h8lxkhinvis3c7anaar78bjs7";
+      system = "lambda-fiddle";
+      asd = "lambda-fiddle";
+    });
+    systems = [ "lambda-fiddle" ];
+    lispLibs = [  ];
+  };
+  lambda-reader = {
+    pname = "lambda-reader";
+    version = "20170124-git";
+    asds = [ "lambda-reader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lambda-reader/2017-01-24/lambda-reader-20170124-git.tgz";
+      sha256 = "0s73nrnvr0d2ql1gabcasmfnckzq0f2qs9317hv2mrrh0q1giq1w";
+      system = "lambda-reader";
+      asd = "lambda-reader";
+    });
+    systems = [ "lambda-reader" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  lambda-reader-8bit = {
+    pname = "lambda-reader-8bit";
+    version = "20170124-git";
+    asds = [ "lambda-reader-8bit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lambda-reader/2017-01-24/lambda-reader-20170124-git.tgz";
+      sha256 = "0s73nrnvr0d2ql1gabcasmfnckzq0f2qs9317hv2mrrh0q1giq1w";
+      system = "lambda-reader-8bit";
+      asd = "lambda-reader-8bit";
+    });
+    systems = [ "lambda-reader-8bit" ];
+    lispLibs = [ (getAttr "asdf-encodings" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  lambdalite = {
+    pname = "lambdalite";
+    version = "20141217-git";
+    asds = [ "lambdalite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lambdalite/2014-12-17/lambdalite-20141217-git.tgz";
+      sha256 = "0bvhix74afak5bpaa4x3p1b7gskpvzvw78aqkml9d40gpd1ky8lh";
+      system = "lambdalite";
+      asd = "lambdalite";
+    });
+    systems = [ "lambdalite" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "wu-sugar" pkgs) ];
+  };
+  language-codes = {
+    pname = "language-codes";
+    version = "20210531-git";
+    asds = [ "language-codes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/language-codes/2021-05-31/language-codes-20210531-git.tgz";
+      sha256 = "0bkx5bjfaxlrxkr1yh85xbr5n39g3m9006vy1gh6wybvh95d1xwy";
+      system = "language-codes";
+      asd = "language-codes";
+    });
+    systems = [ "language-codes" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  langutils = {
+    pname = "langutils";
+    version = "20121125-git";
+    asds = [ "langutils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-langutils/2012-11-25/cl-langutils-20121125-git.tgz";
+      sha256 = "15y9x5wkg3fqndc04w2sc650fnwimxp4gjgpv9xvvdm9x4v433x6";
+      system = "langutils";
+      asd = "langutils";
+    });
+    systems = [ "langutils" ];
+    lispLibs = [ (getAttr "stdutils" pkgs) (getAttr "s-xml-rpc" pkgs) ];
+  };
+  lapack = {
+    pname = "lapack";
+    version = "20200925-git";
+    asds = [ "lapack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "lapack";
+      asd = "lapack";
+    });
+    systems = [ "lapack" ];
+    lispLibs = [ (getAttr "blas-complex" pkgs) (getAttr "blas-package" pkgs) (getAttr "blas-real" pkgs) (getAttr "f2cl" pkgs) ];
+  };
+  lapack_slash_complex = {
+    pname = "lapack_complex";
+    version = "20200925-git";
+    asds = [ "lapack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "lapack";
+      asd = "lapack";
+    });
+    systems = [ "lapack/complex" ];
+    lispLibs = [ (getAttr "blas-complex" pkgs) (getAttr "blas-package" pkgs) (getAttr "blas-real" pkgs) ];
+  };
+  lapack_slash_package = {
+    pname = "lapack_package";
+    version = "20200925-git";
+    asds = [ "lapack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "lapack";
+      asd = "lapack";
+    });
+    systems = [ "lapack/package" ];
+    lispLibs = [ (getAttr "blas-package" pkgs) ];
+  };
+  lapack_slash_real = {
+    pname = "lapack_real";
+    version = "20200925-git";
+    asds = [ "lapack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "lapack";
+      asd = "lapack";
+    });
+    systems = [ "lapack/real" ];
+    lispLibs = [ (getAttr "blas-package" pkgs) (getAttr "blas-real" pkgs) ];
+  };
+  lapack_slash_tests = {
+    pname = "lapack_tests";
+    version = "20200925-git";
+    asds = [ "lapack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "lapack";
+      asd = "lapack";
+    });
+    systems = [ "lapack/tests" ];
+    lispLibs = [ (getAttr "lapack" pkgs) (getAttr "rt" pkgs) ];
+  };
+  lass = {
+    pname = "lass";
+    version = "20211020-git";
+    asds = [ "lass" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lass/2021-10-20/lass-20211020-git.tgz";
+      sha256 = "06wds1qzj8s862pmmza1427n7gdpplqplxqnxyqkrr0hgxdl4xbf";
+      system = "lass";
+      asd = "lass";
+    });
+    systems = [ "lass" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "trivial-indent" pkgs) (getAttr "trivial-mimes" pkgs) ];
+  };
+  lass-flexbox = {
+    pname = "lass-flexbox";
+    version = "20160208-git";
+    asds = [ "lass-flexbox" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lass-flexbox/2016-02-08/lass-flexbox-20160208-git.tgz";
+      sha256 = "143rkff1ybi3b07qyzndxxndp7j4nw1biyp51rkl0yvsk85kj1jp";
+      system = "lass-flexbox";
+      asd = "lass-flexbox";
+    });
+    systems = [ "lass-flexbox" ];
+    lispLibs = [ (getAttr "lass" pkgs) ];
+  };
+  lass-flexbox-test = {
+    pname = "lass-flexbox-test";
+    version = "20160208-git";
+    asds = [ "lass-flexbox-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lass-flexbox/2016-02-08/lass-flexbox-20160208-git.tgz";
+      sha256 = "143rkff1ybi3b07qyzndxxndp7j4nw1biyp51rkl0yvsk85kj1jp";
+      system = "lass-flexbox-test";
+      asd = "lass-flexbox-test";
+    });
+    systems = [ "lass-flexbox-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "lass-flexbox" pkgs) ];
+  };
+  lassie = {
+    pname = "lassie";
+    version = "20140713-git";
+    asds = [ "lassie" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lassie/2014-07-13/lassie-20140713-git.tgz";
+      sha256 = "06ps25422ymp9n35745xhg3qsclfli52b7mxhw58wwz9q1v1n0rn";
+      system = "lassie";
+      asd = "lassie";
+    });
+    systems = [ "lassie" ];
+    lispLibs = [ (getAttr "fsvd" pkgs) ];
+  };
+  lastfm = {
+    pname = "lastfm";
+    version = "20191007-git";
+    asds = [ "lastfm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lastfm/2019-10-07/lastfm-20191007-git.tgz";
+      sha256 = "1crg82fyzkm9a0czsf5vq6nwndg6gy7zqb2glbp3yaw6p2hrwkp4";
+      system = "lastfm";
+      asd = "lastfm";
+    });
+    systems = [ "lastfm" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "defmemo" pkgs) (getAttr "drakma" pkgs) (getAttr "generators" pkgs) (getAttr "ironclad" pkgs) (getAttr "lquery" pkgs) (getAttr "plump" pkgs) (getAttr "trivial-open-browser" pkgs) ];
+  };
+  latex-table = {
+    pname = "latex-table";
+    version = "20180328-git";
+    asds = [ "latex-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/latex-table/2018-03-28/latex-table-20180328-git.tgz";
+      sha256 = "04qqr62pdi7qs9p74a4a014l6sl6bk6hrlb7b7pknxx5c15xvcgv";
+      system = "latex-table";
+      asd = "latex-table";
+    });
+    systems = [ "latex-table" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "array-operations" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  latter-day-paypal = {
+    pname = "latter-day-paypal";
+    version = "20211209-git";
+    asds = [ "latter-day-paypal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/latter-day-paypal/2021-12-09/latter-day-paypal-20211209-git.tgz";
+      sha256 = "05m3hg36hlmjnv3pn8agc9fmwzpq9h53cis2d4lb6ks5hszw909v";
+      system = "latter-day-paypal";
+      asd = "latter-day-paypal";
+    });
+    systems = [ "latter-day-paypal" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "cl-json" pkgs) (getAttr "str" pkgs) (getAttr "cl-tls" pkgs) (getAttr "closer-mop" pkgs) (getAttr "dexador" pkgs) (getAttr "do-urlencode" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "ironclad" pkgs) (getAttr "jonathan" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  lazy = {
+    pname = "lazy";
+    version = "20200925-git";
+    asds = [ "lazy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lazy/2020-09-25/lazy-20200925-git.tgz";
+      sha256 = "0m099rwr7k17v984n4jnq4hadf19vza5qilxdyrr43scxbbrmw1n";
+      system = "lazy";
+      asd = "lazy";
+    });
+    systems = [ "lazy" ];
+    lispLibs = [  ];
+  };
+  ledger = {
+    pname = "ledger";
+    version = "master-83d7b044-git";
+    asds = [ "ledger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "ledger";
+      asd = "ledger";
+    });
+    systems = [ "ledger" ];
+    lispLibs = [ (getAttr "gwl" pkgs) ];
+  };
+  leech = {
+    pname = "leech";
+    version = "20140713-git";
+    asds = [ "leech" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/bknr-web/2014-07-13/bknr-web-20140713-git.tgz";
+      sha256 = "1m73z0hv7qsc9yddrg8zs7n3zmn9h64v4d62239wrvfnmzqk75x2";
+      system = "leech";
+      asd = "leech";
+    });
+    systems = [ "leech" ];
+    lispLibs = [ (getAttr "aserve" pkgs) (getAttr "unit-test" pkgs) ];
+  };
+  legion = {
+    pname = "legion";
+    version = "20211020-git";
+    asds = [ "legion" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/legion/2021-10-20/legion-20211020-git.tgz";
+      sha256 = "0583pw0mf8bd4dj42w2xrlzcwfkl8q28n1bh8dpxxfg93crx4si6";
+      system = "legion";
+      asd = "legion";
+    });
+    systems = [ "legion" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-speedy-queue" pkgs) (getAttr "vom" pkgs) ];
+  };
+  legion-test = {
+    pname = "legion-test";
+    version = "20211020-git";
+    asds = [ "legion-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/legion/2021-10-20/legion-20211020-git.tgz";
+      sha256 = "0583pw0mf8bd4dj42w2xrlzcwfkl8q28n1bh8dpxxfg93crx4si6";
+      system = "legion-test";
+      asd = "legion-test";
+    });
+    systems = [ "legion-test" ];
+    lispLibs = [ (getAttr "legion" pkgs) (getAttr "local-time" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  legit = {
+    pname = "legit";
+    version = "20211020-git";
+    asds = [ "legit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/legit/2021-10-20/legit-20211020-git.tgz";
+      sha256 = "0crr7ya7dg15di7glk3w9sgf6j8dmny347gynmxxrdvjj9pa906m";
+      system = "legit";
+      asd = "legit";
+    });
+    systems = [ "legit" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "lambda-fiddle" pkgs) (getAttr "simple-inferiors" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  lem-opengl = {
+    pname = "lem-opengl";
+    version = "20200427-git";
+    asds = [ "lem-opengl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "lem-opengl";
+      asd = "lem-opengl";
+    });
+    systems = [ "lem-opengl" ];
+    lispLibs = [ (getAttr "livesupport" pkgs) (getAttr "minilem" pkgs) (getAttr "application" pkgs) (getAttr "control" pkgs) (getAttr "ncurses-clone-for-lem" pkgs) (getAttr "sucle" pkgs) (getAttr "uncommon-lisp" pkgs) (getAttr "trivial-clipboard" pkgs) (getAttr "utility" pkgs) ];
+  };
+  lense = {
+    pname = "lense";
+    version = "20201220-git";
+    asds = [ "lense" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lense/2020-12-20/lense-20201220-git.tgz";
+      sha256 = "0j11m93an38d1cl6b1kaaj5azhkn64wpiiprlj2c4cjfzrc32ffv";
+      system = "lense";
+      asd = "lense";
+    });
+    systems = [ "lense" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "documentation-utils-extensions" pkgs) ];
+  };
+  let-over-lambda = {
+    pname = "let-over-lambda";
+    version = "20150923-git";
+    asds = [ "let-over-lambda" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/let-over-lambda/2015-09-23/let-over-lambda-20150923-git.tgz";
+      sha256 = "114p781lwi9lrbzg27dnkymz9m4cvm1k430j7qsykwd0b58d8qbk";
+      system = "let-over-lambda";
+      asd = "let-over-lambda";
+    });
+    systems = [ "let-over-lambda" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  let-over-lambda-test = {
+    pname = "let-over-lambda-test";
+    version = "20150923-git";
+    asds = [ "let-over-lambda-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/let-over-lambda/2015-09-23/let-over-lambda-20150923-git.tgz";
+      sha256 = "114p781lwi9lrbzg27dnkymz9m4cvm1k430j7qsykwd0b58d8qbk";
+      system = "let-over-lambda-test";
+      asd = "let-over-lambda-test";
+    });
+    systems = [ "let-over-lambda-test" ];
+    lispLibs = [ (getAttr "let-over-lambda" pkgs) (getAttr "named-readtables" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  let-plus = {
+    pname = "let-plus";
+    version = "20191130-git";
+    asds = [ "let-plus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/let-plus/2019-11-30/let-plus-20191130-git.tgz";
+      sha256 = "00c0nq6l4zb692rzsc9aliqzj3avrssfyz4bhxzl7f1jsz3m29jb";
+      system = "let-plus";
+      asd = "let-plus";
+    });
+    systems = [ "let-plus" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) ];
+  };
+  let-plus_slash_tests = {
+    pname = "let-plus_tests";
+    version = "20191130-git";
+    asds = [ "let-plus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/let-plus/2019-11-30/let-plus-20191130-git.tgz";
+      sha256 = "00c0nq6l4zb692rzsc9aliqzj3avrssfyz4bhxzl7f1jsz3m29jb";
+      system = "let-plus";
+      asd = "let-plus";
+    });
+    systems = [ "let-plus/tests" ];
+    lispLibs = [ (getAttr "let-plus" pkgs) (getAttr "lift" pkgs) ];
+  };
+  letrec = {
+    pname = "letrec";
+    version = "20190307-hg";
+    asds = [ "letrec" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/letrec/2019-03-07/letrec-20190307-hg.tgz";
+      sha256 = "0cs2p1kv443dxd6vf908gblgdd2amcvjd1i1fq2cq9ip61dg9vnk";
+      system = "letrec";
+      asd = "letrec";
+    });
+    systems = [ "letrec" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  lev = {
+    pname = "lev";
+    version = "20150505-git";
+    asds = [ "lev" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lev/2015-05-05/lev-20150505-git.tgz";
+      sha256 = "14lfnrvfyg2nnvlwck896p6vgarzc6g4kijmvhi2d8wra7gxzifh";
+      system = "lev";
+      asd = "lev";
+    });
+    systems = [ "lev" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  leveldb = {
+    pname = "leveldb";
+    version = "20160531-git";
+    asds = [ "leveldb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/leveldb/2016-05-31/leveldb-20160531-git.tgz";
+      sha256 = "03i4qr3g8ga2vpc8qbnipan3i7y4809i036wppkkixcsbckslckv";
+      system = "leveldb";
+      asd = "leveldb";
+    });
+    systems = [ "leveldb" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  levenshtein = {
+    pname = "levenshtein";
+    version = "1.0";
+    asds = [ "levenshtein" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/levenshtein/2010-10-06/levenshtein-1.0.tgz";
+      sha256 = "0b4hdv55qcjlh3ixy3fglvb90ggmm79nl02nxkly2ls6cd7rbf5i";
+      system = "levenshtein";
+      asd = "levenshtein";
+    });
+    systems = [ "levenshtein" ];
+    lispLibs = [  ];
+  };
+  lfarm-admin = {
+    pname = "lfarm-admin";
+    version = "20150608-git";
+    asds = [ "lfarm-admin" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz";
+      sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv";
+      system = "lfarm-admin";
+      asd = "lfarm-admin";
+    });
+    systems = [ "lfarm-admin" ];
+    lispLibs = [ (getAttr "lfarm-common" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  lfarm-client = {
+    pname = "lfarm-client";
+    version = "20150608-git";
+    asds = [ "lfarm-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz";
+      sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv";
+      system = "lfarm-client";
+      asd = "lfarm-client";
+    });
+    systems = [ "lfarm-client" ];
+    lispLibs = [ (getAttr "lfarm-common" pkgs) (getAttr "lparallel" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  lfarm-common = {
+    pname = "lfarm-common";
+    version = "20150608-git";
+    asds = [ "lfarm-common" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz";
+      sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv";
+      system = "lfarm-common";
+      asd = "lfarm-common";
+    });
+    systems = [ "lfarm-common" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-store" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  lfarm-gss = {
+    pname = "lfarm-gss";
+    version = "20150608-git";
+    asds = [ "lfarm-gss" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz";
+      sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv";
+      system = "lfarm-gss";
+      asd = "lfarm-gss";
+    });
+    systems = [ "lfarm-gss" ];
+    lispLibs = [ (getAttr "cl-gss" pkgs) (getAttr "lfarm-common" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  lfarm-launcher = {
+    pname = "lfarm-launcher";
+    version = "20150608-git";
+    asds = [ "lfarm-launcher" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz";
+      sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv";
+      system = "lfarm-launcher";
+      asd = "lfarm-launcher";
+    });
+    systems = [ "lfarm-launcher" ];
+    lispLibs = [ (getAttr "external-program" pkgs) (getAttr "lfarm-admin" pkgs) (getAttr "lfarm-server" pkgs) ];
+  };
+  lfarm-server = {
+    pname = "lfarm-server";
+    version = "20150608-git";
+    asds = [ "lfarm-server" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz";
+      sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv";
+      system = "lfarm-server";
+      asd = "lfarm-server";
+    });
+    systems = [ "lfarm-server" ];
+    lispLibs = [ (getAttr "lfarm-common" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  lfarm-ssl = {
+    pname = "lfarm-ssl";
+    version = "20150608-git";
+    asds = [ "lfarm-ssl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz";
+      sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv";
+      system = "lfarm-ssl";
+      asd = "lfarm-ssl";
+    });
+    systems = [ "lfarm-ssl" ];
+    lispLibs = [ (getAttr "cl_plus_ssl" pkgs) (getAttr "lfarm-common" pkgs) ];
+  };
+  lfarm-test = {
+    pname = "lfarm-test";
+    version = "20150608-git";
+    asds = [ "lfarm-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lfarm/2015-06-08/lfarm-20150608-git.tgz";
+      sha256 = "10kfhfx26wmaa3hk3vc7hc2fzk0rl2xdjwk8ld36x6ivvd48jlkv";
+      system = "lfarm-test";
+      asd = "lfarm-test";
+    });
+    systems = [ "lfarm-test" ];
+    lispLibs = [ (getAttr "lfarm-admin" pkgs) (getAttr "lfarm-client" pkgs) (getAttr "lfarm-launcher" pkgs) (getAttr "lfarm-server" pkgs) ];
+  };
+  lhstats = {
+    pname = "lhstats";
+    version = "20120107-git";
+    asds = [ "lhstats" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lhstats/2012-01-07/lhstats-20120107-git.tgz";
+      sha256 = "1x8h37vm9yd0a2g7qzili673n1c3a9rzawq27rxyzjrggv9wdnlz";
+      system = "lhstats";
+      asd = "lhstats";
+    });
+    systems = [ "lhstats" ];
+    lispLibs = [  ];
+  };
+  liblmdb = {
+    pname = "liblmdb";
+    version = "20170830-git";
+    asds = [ "liblmdb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/liblmdb/2017-08-30/liblmdb-20170830-git.tgz";
+      sha256 = "0484245fcbqza40n377qhsr2v838cih6pziav5vlnml1y0cgv62b";
+      system = "liblmdb";
+      asd = "liblmdb";
+    });
+    systems = [ "liblmdb" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  libssh2 = {
+    pname = "libssh2";
+    version = "20160531-git";
+    asds = [ "libssh2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libssh2/2016-05-31/cl-libssh2-20160531-git.tgz";
+      sha256 = "1f2zq30zli0gnawclpasxsajpn20cpyy9d3q9zpqyw1sfrsn0hmk";
+      system = "libssh2";
+      asd = "libssh2";
+    });
+    systems = [ "libssh2" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cl-fad" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  libssh2_dot_test = {
+    pname = "libssh2.test";
+    version = "20160531-git";
+    asds = [ "libssh2.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libssh2/2016-05-31/cl-libssh2-20160531-git.tgz";
+      sha256 = "1f2zq30zli0gnawclpasxsajpn20cpyy9d3q9zpqyw1sfrsn0hmk";
+      system = "libssh2.test";
+      asd = "libssh2.test";
+    });
+    systems = [ "libssh2.test" ];
+    lispLibs = [ (getAttr "libssh2" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) ];
+  };
+  libusb-ffi = {
+    pname = "libusb-ffi";
+    version = "20210228-git";
+    asds = [ "libusb-ffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libusb/2021-02-28/cl-libusb-20210228-git.tgz";
+      sha256 = "0kyzgcflwb85q58fgn82sp0bipnq5bprg5i4h0h3jxafqqyagbnk";
+      system = "libusb-ffi";
+      asd = "libusb-ffi";
+    });
+    systems = [ "libusb-ffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "static-vectors" pkgs) ];
+  };
+  lichat-ldap = {
+    pname = "lichat-ldap";
+    version = "20190710-git";
+    asds = [ "lichat-ldap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lichat-ldap/2019-07-10/lichat-ldap-20190710-git.tgz";
+      sha256 = "03x60jmgx4s2pkzrgl1j70xrvycfi4yj21nzi64cd0pdprqa88d5";
+      system = "lichat-ldap";
+      asd = "lichat-ldap";
+    });
+    systems = [ "lichat-ldap" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) (getAttr "lichat-serverlib" pkgs) (getAttr "trivial-ldap" pkgs) ];
+  };
+  lichat-protocol = {
+    pname = "lichat-protocol";
+    version = "20211230-git";
+    asds = [ "lichat-protocol" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lichat-protocol/2021-12-30/lichat-protocol-20211230-git.tgz";
+      sha256 = "15n8jbbs49hsy145vpfrfcvjr39dva8jfm1ps2sr7vvxzxvqbfn5";
+      system = "lichat-protocol";
+      asd = "lichat-protocol";
+    });
+    systems = [ "lichat-protocol" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "documentation-utils" pkgs) ];
+  };
+  lichat-serverlib = {
+    pname = "lichat-serverlib";
+    version = "20190710-git";
+    asds = [ "lichat-serverlib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lichat-serverlib/2019-07-10/lichat-serverlib-20190710-git.tgz";
+      sha256 = "1d0x1pwrrr4hwg7n2hf7nqibh4zrk0ifha8f6q0qzw923pqpjixw";
+      system = "lichat-serverlib";
+      asd = "lichat-serverlib";
+    });
+    systems = [ "lichat-serverlib" ];
+    lispLibs = [ (getAttr "crypto-shortcuts" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "lichat-protocol" pkgs) (getAttr "trivial-mimes" pkgs) ];
+  };
+  lichat-tcp-client = {
+    pname = "lichat-tcp-client";
+    version = "20211209-git";
+    asds = [ "lichat-tcp-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lichat-tcp-client/2021-12-09/lichat-tcp-client-20211209-git.tgz";
+      sha256 = "10940fbb8hl1yzv9wifbyv55yzcwsxlbkm4vzlv90jj94jf5cfyv";
+      system = "lichat-tcp-client";
+      asd = "lichat-tcp-client";
+    });
+    systems = [ "lichat-tcp-client" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "lichat-protocol" pkgs) (getAttr "usocket" pkgs) (getAttr "verbose" pkgs) ];
+  };
+  lichat-tcp-server = {
+    pname = "lichat-tcp-server";
+    version = "20190710-git";
+    asds = [ "lichat-tcp-server" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lichat-tcp-server/2019-07-10/lichat-tcp-server-20190710-git.tgz";
+      sha256 = "05a6y4q09i1s2dm2pdnd3xpwy2vhk3zkg432k6l843gspg9vfr95";
+      system = "lichat-tcp-server";
+      asd = "lichat-tcp-server";
+    });
+    systems = [ "lichat-tcp-server" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "lichat-protocol" pkgs) (getAttr "lichat-serverlib" pkgs) (getAttr "usocket" pkgs) (getAttr "verbose" pkgs) ];
+  };
+  lichat-ws-server = {
+    pname = "lichat-ws-server";
+    version = "20190710-git";
+    asds = [ "lichat-ws-server" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lichat-ws-server/2019-07-10/lichat-ws-server-20190710-git.tgz";
+      sha256 = "10c4ccwvbz569ngfgmc68mg6jd9b26wv2nfh7cl4sqfmqzxnadg3";
+      system = "lichat-ws-server";
+      asd = "lichat-ws-server";
+    });
+    systems = [ "lichat-ws-server" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "hunchensocket" pkgs) (getAttr "lichat-protocol" pkgs) (getAttr "lichat-serverlib" pkgs) (getAttr "verbose" pkgs) ];
+  };
+  lift = {
+    pname = "lift";
+    version = "20211209-git";
+    asds = [ "lift" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lift/2021-12-09/lift-20211209-git.tgz";
+      sha256 = "1yjhyb4x7dryy1n85l0d84nqchr4flvmm50bkaq4yp9vl5a3x3mg";
+      system = "lift";
+      asd = "lift";
+    });
+    systems = [ "lift" ];
+    lispLibs = [  ];
+  };
+  lift-documentation = {
+    pname = "lift-documentation";
+    version = "20211209-git";
+    asds = [ "lift-documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lift/2021-12-09/lift-20211209-git.tgz";
+      sha256 = "1yjhyb4x7dryy1n85l0d84nqchr4flvmm50bkaq4yp9vl5a3x3mg";
+      system = "lift-documentation";
+      asd = "lift-documentation";
+    });
+    systems = [ "lift-documentation" ];
+    lispLibs = [ (getAttr "lift" pkgs) ];
+  };
+  lift-test = {
+    pname = "lift-test";
+    version = "20211209-git";
+    asds = [ "lift-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lift/2021-12-09/lift-20211209-git.tgz";
+      sha256 = "1yjhyb4x7dryy1n85l0d84nqchr4flvmm50bkaq4yp9vl5a3x3mg";
+      system = "lift-test";
+      asd = "lift-test";
+    });
+    systems = [ "lift-test" ];
+    lispLibs = [ (getAttr "lift" pkgs) ];
+  };
+  lil = {
+    pname = "lil";
+    version = "20211230-git";
+    asds = [ "lil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-interface-library/2021-12-30/lisp-interface-library-20211230-git.tgz";
+      sha256 = "0cd6109pzz9b4z0r0b7ibmmaph802ddpzfkk416snfn1mkrdn0gn";
+      system = "lil";
+      asd = "lil";
+    });
+    systems = [ "lil" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "fare-memoization" pkgs) (getAttr "fare-utils" pkgs) ];
+  };
+  lil_slash_test = {
+    pname = "lil_test";
+    version = "20211230-git";
+    asds = [ "lil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-interface-library/2021-12-30/lisp-interface-library-20211230-git.tgz";
+      sha256 = "0cd6109pzz9b4z0r0b7ibmmaph802ddpzfkk416snfn1mkrdn0gn";
+      system = "lil";
+      asd = "lil";
+    });
+    systems = [ "lil/test" ];
+    lispLibs = [  ];
+  };
+  lila = {
+    pname = "lila";
+    version = "20191007-git";
+    asds = [ "lila" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lila/2019-10-07/lila-20191007-git.tgz";
+      sha256 = "0n29ipbcxh4fm8f1vpaywv02iaayqqk61zsfk051ksjfl5kyqypq";
+      system = "lila";
+      asd = "lila";
+    });
+    systems = [ "lila" ];
+    lispLibs = [  ];
+  };
+  lime = {
+    pname = "lime";
+    version = "20151218-git";
+    asds = [ "lime" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lime/2015-12-18/lime-20151218-git.tgz";
+      sha256 = "0g8spvpsl2cddn8ldmx90fwgh0gghjsbb3zspa0r9f2k7sb6gcgr";
+      system = "lime";
+      asd = "lime";
+    });
+    systems = [ "lime" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "swank-protocol" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  lime-example = {
+    pname = "lime-example";
+    version = "20151218-git";
+    asds = [ "lime-example" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lime/2015-12-18/lime-20151218-git.tgz";
+      sha256 = "0g8spvpsl2cddn8ldmx90fwgh0gghjsbb3zspa0r9f2k7sb6gcgr";
+      system = "lime-example";
+      asd = "lime-example";
+    });
+    systems = [ "lime-example" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "lime" pkgs) ];
+  };
+  lime-test = {
+    pname = "lime-test";
+    version = "20151218-git";
+    asds = [ "lime-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lime/2015-12-18/lime-20151218-git.tgz";
+      sha256 = "0g8spvpsl2cddn8ldmx90fwgh0gghjsbb3zspa0r9f2k7sb6gcgr";
+      system = "lime-test";
+      asd = "lime-test";
+    });
+    systems = [ "lime-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "external-program" pkgs) (getAttr "fiveam" pkgs) (getAttr "lime" pkgs) ];
+  };
+  linear-programming = {
+    pname = "linear-programming";
+    version = "20211020-git";
+    asds = [ "linear-programming" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/linear-programming/2021-10-20/linear-programming-20211020-git.tgz";
+      sha256 = "0waqf2aam3ibp97472x7kbk1sk0f5ckwpdd7j9cfrlzkgk982vyn";
+      system = "linear-programming";
+      asd = "linear-programming";
+    });
+    systems = [ "linear-programming" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  linear-programming-glpk = {
+    pname = "linear-programming-glpk";
+    version = "20201220-git";
+    asds = [ "linear-programming-glpk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/linear-programming-glpk/2020-12-20/linear-programming-glpk-20201220-git.tgz";
+      sha256 = "1yazh7l7dphfi4cqqm5a6hfck7mgqc3r2l8sh5bi9bgxqsj3n1lm";
+      system = "linear-programming-glpk";
+      asd = "linear-programming-glpk";
+    });
+    systems = [ "linear-programming-glpk" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "linear-programming" pkgs) ];
+  };
+  linear-programming-glpk_slash_test = {
+    pname = "linear-programming-glpk_test";
+    version = "20201220-git";
+    asds = [ "linear-programming-glpk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/linear-programming-glpk/2020-12-20/linear-programming-glpk-20201220-git.tgz";
+      sha256 = "1yazh7l7dphfi4cqqm5a6hfck7mgqc3r2l8sh5bi9bgxqsj3n1lm";
+      system = "linear-programming-glpk";
+      asd = "linear-programming-glpk";
+    });
+    systems = [ "linear-programming-glpk/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "linear-programming-glpk" pkgs) ];
+  };
+  linear-programming-test = {
+    pname = "linear-programming-test";
+    version = "20211020-git";
+    asds = [ "linear-programming-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/linear-programming/2021-10-20/linear-programming-20211020-git.tgz";
+      sha256 = "0waqf2aam3ibp97472x7kbk1sk0f5ckwpdd7j9cfrlzkgk982vyn";
+      system = "linear-programming-test";
+      asd = "linear-programming-test";
+    });
+    systems = [ "linear-programming-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "iterate" pkgs) (getAttr "linear-programming" pkgs) ];
+  };
+  linedit = {
+    pname = "linedit";
+    version = "20180430-git";
+    asds = [ "linedit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/linedit/2018-04-30/linedit-20180430-git.tgz";
+      sha256 = "0hhh7xn6q12rviayfihg1ym6x6csa0pdjgb88ykqbrz2rs3pgpz5";
+      system = "linedit";
+      asd = "linedit";
+    });
+    systems = [ "linedit" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "osicat" pkgs) (getAttr "terminfo" pkgs) ];
+  };
+  linewise-template = {
+    pname = "linewise-template";
+    version = "20160208-git";
+    asds = [ "linewise-template" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/linewise-template/2016-02-08/linewise-template-20160208-git.tgz";
+      sha256 = "06mbg1mq0a5xg3pgn5jml3cbzn8r8aw1p2mq26ml03gsrbiqc7m4";
+      system = "linewise-template";
+      asd = "linewise-template";
+    });
+    systems = [ "linewise-template" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  linux-packaging = {
+    pname = "linux-packaging";
+    version = "20211020-git";
+    asds = [ "linux-packaging" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/linux-packaging/2021-10-20/linux-packaging-20211020-git.tgz";
+      sha256 = "0hmahs2slfs1bznn6zdljc5yjlg16ml795rcxnmafq7941lgqjs5";
+      system = "linux-packaging";
+      asd = "linux-packaging";
+    });
+    systems = [ "linux-packaging" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cffi-toolchain" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "wild-package-inferred-system" pkgs) ];
+  };
+  linux-packaging-tests = {
+    pname = "linux-packaging-tests";
+    version = "20211020-git";
+    asds = [ "linux-packaging-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/linux-packaging/2021-10-20/linux-packaging-20211020-git.tgz";
+      sha256 = "0hmahs2slfs1bznn6zdljc5yjlg16ml795rcxnmafq7941lgqjs5";
+      system = "linux-packaging-tests";
+      asd = "linux-packaging-tests";
+    });
+    systems = [ "linux-packaging-tests" ];
+    lispLibs = [ (getAttr "sqlite" pkgs) (getAttr "linux-packaging" pkgs) (getAttr "osicat" pkgs) (getAttr "wild-package-inferred-system" pkgs) ];
+  };
+  linux-packaging-tests_slash_deb = {
+    pname = "linux-packaging-tests_deb";
+    version = "20211020-git";
+    asds = [ "linux-packaging-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/linux-packaging/2021-10-20/linux-packaging-20211020-git.tgz";
+      sha256 = "0hmahs2slfs1bznn6zdljc5yjlg16ml795rcxnmafq7941lgqjs5";
+      system = "linux-packaging-tests";
+      asd = "linux-packaging-tests";
+    });
+    systems = [ "linux-packaging-tests/deb" ];
+    lispLibs = [ (getAttr "linux-packaging" pkgs) (getAttr "linux-packaging-tests" pkgs) ];
+  };
+  linux-packaging-tests_slash_pacman = {
+    pname = "linux-packaging-tests_pacman";
+    version = "20211020-git";
+    asds = [ "linux-packaging-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/linux-packaging/2021-10-20/linux-packaging-20211020-git.tgz";
+      sha256 = "0hmahs2slfs1bznn6zdljc5yjlg16ml795rcxnmafq7941lgqjs5";
+      system = "linux-packaging-tests";
+      asd = "linux-packaging-tests";
+    });
+    systems = [ "linux-packaging-tests/pacman" ];
+    lispLibs = [ (getAttr "linux-packaging" pkgs) (getAttr "linux-packaging-tests" pkgs) ];
+  };
+  linux-packaging-tests_slash_rpm = {
+    pname = "linux-packaging-tests_rpm";
+    version = "20211020-git";
+    asds = [ "linux-packaging-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/linux-packaging/2021-10-20/linux-packaging-20211020-git.tgz";
+      sha256 = "0hmahs2slfs1bznn6zdljc5yjlg16ml795rcxnmafq7941lgqjs5";
+      system = "linux-packaging-tests";
+      asd = "linux-packaging-tests";
+    });
+    systems = [ "linux-packaging-tests/rpm" ];
+    lispLibs = [ (getAttr "linux-packaging" pkgs) (getAttr "linux-packaging-tests" pkgs) ];
+  };
+  lionchat = {
+    pname = "lionchat";
+    version = "20190710-git";
+    asds = [ "lionchat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lionchat/2019-07-10/lionchat-20190710-git.tgz";
+      sha256 = "03a25hjl56hmz6gxs3y2pl01fvaqcavhzw6c7k1xjd5xikicnlsm";
+      system = "lionchat";
+      asd = "lionchat";
+    });
+    systems = [ "lionchat" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "lichat-tcp-client" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtsvg" pkgs) (getAttr "qtools" pkgs) (getAttr "qtools-ui-listing" pkgs) (getAttr "qtools-ui-notification" pkgs) (getAttr "qtools-ui-options" pkgs) (getAttr "qtools-ui-repl" pkgs) (getAttr "trivial-arguments" pkgs) (getAttr "ubiquitous" pkgs) (getAttr "verbose" pkgs) ];
+  };
+  lisa = {
+    pname = "lisa";
+    version = "20120407-git";
+    asds = [ "lisa" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisa/2012-04-07/lisa-20120407-git.tgz";
+      sha256 = "12mpwxpczfq2hridjspbg51121hngbcnji37fhlr0vv4dqrg1z15";
+      system = "lisa";
+      asd = "lisa";
+    });
+    systems = [ "lisa" ];
+    lispLibs = [  ];
+  };
+  lisp-binary = {
+    pname = "lisp-binary";
+    version = "20210807-git";
+    asds = [ "lisp-binary" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-binary/2021-08-07/lisp-binary-20210807-git.tgz";
+      sha256 = "00z1p8jx4xshinbd6i2w50wxcyw4r13wpb1p7b5w5w0s18yrmw1b";
+      system = "lisp-binary";
+      asd = "lisp-binary";
+    });
+    systems = [ "lisp-binary" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "closer-mop" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "moptilities" pkgs) (getAttr "quasiquote-2_dot_0" pkgs) ];
+  };
+  lisp-binary-test = {
+    pname = "lisp-binary-test";
+    version = "20210807-git";
+    asds = [ "lisp-binary-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-binary/2021-08-07/lisp-binary-20210807-git.tgz";
+      sha256 = "00z1p8jx4xshinbd6i2w50wxcyw4r13wpb1p7b5w5w0s18yrmw1b";
+      system = "lisp-binary-test";
+      asd = "lisp-binary-test";
+    });
+    systems = [ "lisp-binary-test" ];
+    lispLibs = [ (getAttr "lisp-binary" pkgs) ];
+  };
+  lisp-chat = {
+    pname = "lisp-chat";
+    version = "20210228-git";
+    asds = [ "lisp-chat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-chat/2021-02-28/lisp-chat-20210228-git.tgz";
+      sha256 = "0gh78lb6m2790j5z64qij6v1s5yr501idbppg2ccyayl4f8bdpzi";
+      system = "lisp-chat";
+      asd = "lisp-chat";
+    });
+    systems = [ "lisp-chat" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-readline" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  lisp-chat_slash_client = {
+    pname = "lisp-chat_client";
+    version = "20210228-git";
+    asds = [ "lisp-chat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-chat/2021-02-28/lisp-chat-20210228-git.tgz";
+      sha256 = "0gh78lb6m2790j5z64qij6v1s5yr501idbppg2ccyayl4f8bdpzi";
+      system = "lisp-chat";
+      asd = "lisp-chat";
+    });
+    systems = [ "lisp-chat/client" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-readline" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  lisp-chat_slash_server = {
+    pname = "lisp-chat_server";
+    version = "20210228-git";
+    asds = [ "lisp-chat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-chat/2021-02-28/lisp-chat-20210228-git.tgz";
+      sha256 = "0gh78lb6m2790j5z64qij6v1s5yr501idbppg2ccyayl4f8bdpzi";
+      system = "lisp-chat";
+      asd = "lisp-chat";
+    });
+    systems = [ "lisp-chat/server" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  lisp-critic = {
+    pname = "lisp-critic";
+    version = "20201220-git";
+    asds = [ "lisp-critic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-critic/2020-12-20/lisp-critic-20201220-git.tgz";
+      sha256 = "1x1kadwr38qhq8b8pabd8vqs54d16v1y5yfgjf3d02cvlsy67mx0";
+      system = "lisp-critic";
+      asd = "lisp-critic";
+    });
+    systems = [ "lisp-critic" ];
+    lispLibs = [ (getAttr "ckr-tables" pkgs) ];
+  };
+  lisp-executable = {
+    pname = "lisp-executable";
+    version = "20180831-git";
+    asds = [ "lisp-executable" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-executable/2018-08-31/lisp-executable-20180831-git.tgz";
+      sha256 = "1309f7w0hks3agkhcn8nwm83yssdfrr9b5bjqkjg3rrhxs86c0z7";
+      system = "lisp-executable";
+      asd = "lisp-executable";
+    });
+    systems = [ "lisp-executable" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  lisp-executable-example = {
+    pname = "lisp-executable-example";
+    version = "20180831-git";
+    asds = [ "lisp-executable-example" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-executable/2018-08-31/lisp-executable-20180831-git.tgz";
+      sha256 = "1309f7w0hks3agkhcn8nwm83yssdfrr9b5bjqkjg3rrhxs86c0z7";
+      system = "lisp-executable-example";
+      asd = "lisp-executable-example";
+    });
+    systems = [ "lisp-executable-example" ];
+    lispLibs = [ (getAttr "lisp-executable" pkgs) ];
+  };
+  lisp-executable-tests = {
+    pname = "lisp-executable-tests";
+    version = "20180831-git";
+    asds = [ "lisp-executable-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-executable/2018-08-31/lisp-executable-20180831-git.tgz";
+      sha256 = "1309f7w0hks3agkhcn8nwm83yssdfrr9b5bjqkjg3rrhxs86c0z7";
+      system = "lisp-executable-tests";
+      asd = "lisp-executable-tests";
+    });
+    systems = [ "lisp-executable-tests" ];
+    lispLibs = [ (getAttr "lisp-executable" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  lisp-interface-library = {
+    pname = "lisp-interface-library";
+    version = "20211230-git";
+    asds = [ "lisp-interface-library" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-interface-library/2021-12-30/lisp-interface-library-20211230-git.tgz";
+      sha256 = "0cd6109pzz9b4z0r0b7ibmmaph802ddpzfkk416snfn1mkrdn0gn";
+      system = "lisp-interface-library";
+      asd = "lisp-interface-library";
+    });
+    systems = [ "lisp-interface-library" ];
+    lispLibs = [ (getAttr "lil" pkgs) ];
+  };
+  lisp-invocation = {
+    pname = "lisp-invocation";
+    version = "20180228-git";
+    asds = [ "lisp-invocation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-invocation/2018-02-28/lisp-invocation-20180228-git.tgz";
+      sha256 = "1qwvczjd5w6mrkz7ip3gl46f72dnxgngdc5bla35l2g7br96kzsl";
+      system = "lisp-invocation";
+      asd = "lisp-invocation";
+    });
+    systems = [ "lisp-invocation" ];
+    lispLibs = [  ];
+  };
+  lisp-invocation_slash_all = {
+    pname = "lisp-invocation_all";
+    version = "20180228-git";
+    asds = [ "lisp-invocation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-invocation/2018-02-28/lisp-invocation-20180228-git.tgz";
+      sha256 = "1qwvczjd5w6mrkz7ip3gl46f72dnxgngdc5bla35l2g7br96kzsl";
+      system = "lisp-invocation";
+      asd = "lisp-invocation";
+    });
+    systems = [ "lisp-invocation/all" ];
+    lispLibs = [ (getAttr "lisp-invocation" pkgs) ];
+  };
+  lisp-namespace = {
+    pname = "lisp-namespace";
+    version = "20211020-git";
+    asds = [ "lisp-namespace" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-namespace/2021-10-20/lisp-namespace-20211020-git.tgz";
+      sha256 = "1flq8ayvlrkfcy0jnzh1jyh24h9inm3pkys8qmnddm49nxnzxy9x";
+      system = "lisp-namespace";
+      asd = "lisp-namespace";
+    });
+    systems = [ "lisp-namespace" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  lisp-namespace_dot_test = {
+    pname = "lisp-namespace.test";
+    version = "20211020-git";
+    asds = [ "lisp-namespace.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-namespace/2021-10-20/lisp-namespace-20211020-git.tgz";
+      sha256 = "1flq8ayvlrkfcy0jnzh1jyh24h9inm3pkys8qmnddm49nxnzxy9x";
+      system = "lisp-namespace.test";
+      asd = "lisp-namespace.test";
+    });
+    systems = [ "lisp-namespace.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "lisp-namespace" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  lisp-preprocessor = {
+    pname = "lisp-preprocessor";
+    version = "20200715-git";
+    asds = [ "lisp-preprocessor" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-preprocessor/2020-07-15/lisp-preprocessor-20200715-git.tgz";
+      sha256 = "0v0qhawcvgbxk06nfwyvcqwmqvzn2svq80l2rb12myr0znschhpi";
+      system = "lisp-preprocessor";
+      asd = "lisp-preprocessor";
+    });
+    systems = [ "lisp-preprocessor" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  lisp-preprocessor-tests = {
+    pname = "lisp-preprocessor-tests";
+    version = "20200715-git";
+    asds = [ "lisp-preprocessor-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-preprocessor/2020-07-15/lisp-preprocessor-20200715-git.tgz";
+      sha256 = "0v0qhawcvgbxk06nfwyvcqwmqvzn2svq80l2rb12myr0znschhpi";
+      system = "lisp-preprocessor-tests";
+      asd = "lisp-preprocessor";
+    });
+    systems = [ "lisp-preprocessor-tests" ];
+    lispLibs = [ (getAttr "lisp-preprocessor" pkgs) (getAttr "rove" pkgs) ];
+  };
+  lisp-stat = {
+    pname = "lisp-stat";
+    version = "20211209-git";
+    asds = [ "lisp-stat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-stat/2021-12-09/lisp-stat-20211209-git.tgz";
+      sha256 = "0xh9z5qn4308qg681805zg8bxv715z9rix9fpd2r5rm88bzx3dp2";
+      system = "lisp-stat";
+      asd = "lisp-stat";
+    });
+    systems = [ "lisp-stat" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "array-operations" pkgs) (getAttr "data-frame" pkgs) (getAttr "dexador" pkgs) (getAttr "dfio" pkgs) (getAttr "let-plus" pkgs) (getAttr "num-utils" pkgs) (getAttr "select" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  lisp-stat_slash_tests = {
+    pname = "lisp-stat_tests";
+    version = "20211209-git";
+    asds = [ "lisp-stat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-stat/2021-12-09/lisp-stat-20211209-git.tgz";
+      sha256 = "0xh9z5qn4308qg681805zg8bxv715z9rix9fpd2r5rm88bzx3dp2";
+      system = "lisp-stat";
+      asd = "lisp-stat";
+    });
+    systems = [ "lisp-stat/tests" ];
+    lispLibs = [ (getAttr "lisp-stat" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  lisp-types = {
+    pname = "lisp-types";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "lisp-types" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "lisp-types";
+      asd = "lisp-types";
+    });
+    systems = [ "lisp-types" ];
+    lispLibs = [ (getAttr "adjuvant" pkgs) (getAttr "cl-robdd" pkgs) (getAttr "dispatch" pkgs) ];
+  };
+  lisp-types-analysis = {
+    pname = "lisp-types-analysis";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "lisp-types-analysis" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "lisp-types-analysis";
+      asd = "lisp-types-analysis";
+    });
+    systems = [ "lisp-types-analysis" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "adjuvant" pkgs) (getAttr "cl-robdd" pkgs) (getAttr "cl-robdd-analysis" pkgs) (getAttr "lisp-types" pkgs) (getAttr "scrutiny" pkgs) ];
+  };
+  lisp-types-test = {
+    pname = "lisp-types-test";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "lisp-types-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "lisp-types-test";
+      asd = "lisp-types-test";
+    });
+    systems = [ "lisp-types-test" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "closer-mop" pkgs) (getAttr "adjuvant" pkgs) (getAttr "lisp-types" pkgs) (getAttr "lisp-types-analysis" pkgs) (getAttr "scrutiny" pkgs) ];
+  };
+  lisp-unit = {
+    pname = "lisp-unit";
+    version = "20170124-git";
+    asds = [ "lisp-unit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-unit/2017-01-24/lisp-unit-20170124-git.tgz";
+      sha256 = "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry";
+      system = "lisp-unit";
+      asd = "lisp-unit";
+    });
+    systems = [ "lisp-unit" ];
+    lispLibs = [  ];
+  };
+  lisp-unit2 = {
+    pname = "lisp-unit2";
+    version = "20180131-git";
+    asds = [ "lisp-unit2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-unit2/2018-01-31/lisp-unit2-20180131-git.tgz";
+      sha256 = "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp";
+      system = "lisp-unit2";
+      asd = "lisp-unit2";
+    });
+    systems = [ "lisp-unit2" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "iterate" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  lisp-unit2-test = {
+    pname = "lisp-unit2-test";
+    version = "20180131-git";
+    asds = [ "lisp-unit2-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-unit2/2018-01-31/lisp-unit2-20180131-git.tgz";
+      sha256 = "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp";
+      system = "lisp-unit2-test";
+      asd = "lisp-unit2";
+    });
+    systems = [ "lisp-unit2-test" ];
+    lispLibs = [ (getAttr "lisp-unit2" pkgs) ];
+  };
+  lispbuilder-lexer = {
+    pname = "lispbuilder-lexer";
+    version = "20210807-git";
+    asds = [ "lispbuilder-lexer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-lexer";
+      asd = "lispbuilder-lexer";
+    });
+    systems = [ "lispbuilder-lexer" ];
+    lispLibs = [ (getAttr "lispbuilder-regex" pkgs) ];
+  };
+  lispbuilder-net = {
+    pname = "lispbuilder-net";
+    version = "20210807-git";
+    asds = [ "lispbuilder-net" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-net";
+      asd = "lispbuilder-net";
+    });
+    systems = [ "lispbuilder-net" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-net-cffi" pkgs) ];
+  };
+  lispbuilder-net-cffi = {
+    pname = "lispbuilder-net-cffi";
+    version = "20210807-git";
+    asds = [ "lispbuilder-net-cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-net-cffi";
+      asd = "lispbuilder-net-cffi";
+    });
+    systems = [ "lispbuilder-net-cffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  lispbuilder-opengl-1-1 = {
+    pname = "lispbuilder-opengl-1-1";
+    version = "20210807-git";
+    asds = [ "lispbuilder-opengl-1-1" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-opengl-1-1";
+      asd = "lispbuilder-opengl-1-1";
+    });
+    systems = [ "lispbuilder-opengl-1-1" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  lispbuilder-opengl-examples = {
+    pname = "lispbuilder-opengl-examples";
+    version = "20210807-git";
+    asds = [ "lispbuilder-opengl-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-opengl-examples";
+      asd = "lispbuilder-opengl-examples";
+    });
+    systems = [ "lispbuilder-opengl-examples" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-opengl-1-1" pkgs) (getAttr "lispbuilder-sdl" pkgs) ];
+  };
+  lispbuilder-regex = {
+    pname = "lispbuilder-regex";
+    version = "20210807-git";
+    asds = [ "lispbuilder-regex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-regex";
+      asd = "lispbuilder-regex";
+    });
+    systems = [ "lispbuilder-regex" ];
+    lispLibs = [  ];
+  };
+  lispbuilder-sdl = {
+    pname = "lispbuilder-sdl";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl";
+      asd = "lispbuilder-sdl";
+    });
+    systems = [ "lispbuilder-sdl" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl-assets" pkgs) (getAttr "lispbuilder-sdl-base" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  lispbuilder-sdl-assets = {
+    pname = "lispbuilder-sdl-assets";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-assets" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-assets";
+      asd = "lispbuilder-sdl-assets";
+    });
+    systems = [ "lispbuilder-sdl-assets" ];
+    lispLibs = [  ];
+  };
+  lispbuilder-sdl-base = {
+    pname = "lispbuilder-sdl-base";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-base";
+      asd = "lispbuilder-sdl-base";
+    });
+    systems = [ "lispbuilder-sdl-base" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl-cffi" pkgs) ];
+  };
+  lispbuilder-sdl-binaries = {
+    pname = "lispbuilder-sdl-binaries";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-binaries" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-binaries";
+      asd = "lispbuilder-sdl-binaries";
+    });
+    systems = [ "lispbuilder-sdl-binaries" ];
+    lispLibs = [  ];
+  };
+  lispbuilder-sdl-cffi = {
+    pname = "lispbuilder-sdl-cffi";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-cffi";
+      asd = "lispbuilder-sdl-cffi";
+    });
+    systems = [ "lispbuilder-sdl-cffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl-binaries" pkgs) ];
+  };
+  lispbuilder-sdl-cl-vectors = {
+    pname = "lispbuilder-sdl-cl-vectors";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-cl-vectors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-cl-vectors";
+      asd = "lispbuilder-sdl-cl-vectors";
+    });
+    systems = [ "lispbuilder-sdl-cl-vectors" ];
+    lispLibs = [ (getAttr "cl-aa-misc" pkgs) (getAttr "cl-paths-ttf" pkgs) (getAttr "cl-vectors" pkgs) (getAttr "lispbuilder-sdl" pkgs) (getAttr "zpb-ttf" pkgs) ];
+  };
+  lispbuilder-sdl-cl-vectors-examples = {
+    pname = "lispbuilder-sdl-cl-vectors-examples";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-cl-vectors-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-cl-vectors-examples";
+      asd = "lispbuilder-sdl-cl-vectors-examples";
+    });
+    systems = [ "lispbuilder-sdl-cl-vectors-examples" ];
+    lispLibs = [ (getAttr "lispbuilder-sdl-cl-vectors" pkgs) ];
+  };
+  lispbuilder-sdl-examples = {
+    pname = "lispbuilder-sdl-examples";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-examples";
+      asd = "lispbuilder-sdl-examples";
+    });
+    systems = [ "lispbuilder-sdl-examples" ];
+    lispLibs = [ (getAttr "lispbuilder-sdl" pkgs) ];
+  };
+  lispbuilder-sdl-gfx = {
+    pname = "lispbuilder-sdl-gfx";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-gfx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-gfx";
+      asd = "lispbuilder-sdl-gfx";
+    });
+    systems = [ "lispbuilder-sdl-gfx" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl" pkgs) (getAttr "lispbuilder-sdl-gfx-cffi" pkgs) ];
+  };
+  lispbuilder-sdl-gfx-binaries = {
+    pname = "lispbuilder-sdl-gfx-binaries";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-gfx-binaries" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-gfx-binaries";
+      asd = "lispbuilder-sdl-gfx-binaries";
+    });
+    systems = [ "lispbuilder-sdl-gfx-binaries" ];
+    lispLibs = [  ];
+  };
+  lispbuilder-sdl-gfx-cffi = {
+    pname = "lispbuilder-sdl-gfx-cffi";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-gfx-cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-gfx-cffi";
+      asd = "lispbuilder-sdl-gfx-cffi";
+    });
+    systems = [ "lispbuilder-sdl-gfx-cffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl" pkgs) ];
+  };
+  lispbuilder-sdl-gfx-examples = {
+    pname = "lispbuilder-sdl-gfx-examples";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-gfx-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-gfx-examples";
+      asd = "lispbuilder-sdl-gfx-examples";
+    });
+    systems = [ "lispbuilder-sdl-gfx-examples" ];
+    lispLibs = [ (getAttr "lispbuilder-sdl-gfx" pkgs) ];
+  };
+  lispbuilder-sdl-image = {
+    pname = "lispbuilder-sdl-image";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-image" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-image";
+      asd = "lispbuilder-sdl-image";
+    });
+    systems = [ "lispbuilder-sdl-image" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl" pkgs) (getAttr "lispbuilder-sdl-image-cffi" pkgs) ];
+  };
+  lispbuilder-sdl-image-binaries = {
+    pname = "lispbuilder-sdl-image-binaries";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-image-binaries" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-image-binaries";
+      asd = "lispbuilder-sdl-image-binaries";
+    });
+    systems = [ "lispbuilder-sdl-image-binaries" ];
+    lispLibs = [  ];
+  };
+  lispbuilder-sdl-image-cffi = {
+    pname = "lispbuilder-sdl-image-cffi";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-image-cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-image-cffi";
+      asd = "lispbuilder-sdl-image-cffi";
+    });
+    systems = [ "lispbuilder-sdl-image-cffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl" pkgs) (getAttr "lispbuilder-sdl-image-binaries" pkgs) ];
+  };
+  lispbuilder-sdl-image-examples = {
+    pname = "lispbuilder-sdl-image-examples";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-image-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-image-examples";
+      asd = "lispbuilder-sdl-image-examples";
+    });
+    systems = [ "lispbuilder-sdl-image-examples" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl" pkgs) (getAttr "lispbuilder-sdl-image" pkgs) ];
+  };
+  lispbuilder-sdl-mixer = {
+    pname = "lispbuilder-sdl-mixer";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-mixer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-mixer";
+      asd = "lispbuilder-sdl-mixer";
+    });
+    systems = [ "lispbuilder-sdl-mixer" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl" pkgs) (getAttr "lispbuilder-sdl-mixer-cffi" pkgs) ];
+  };
+  lispbuilder-sdl-mixer-binaries = {
+    pname = "lispbuilder-sdl-mixer-binaries";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-mixer-binaries" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-mixer-binaries";
+      asd = "lispbuilder-sdl-mixer-binaries";
+    });
+    systems = [ "lispbuilder-sdl-mixer-binaries" ];
+    lispLibs = [  ];
+  };
+  lispbuilder-sdl-mixer-cffi = {
+    pname = "lispbuilder-sdl-mixer-cffi";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-mixer-cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-mixer-cffi";
+      asd = "lispbuilder-sdl-mixer-cffi";
+    });
+    systems = [ "lispbuilder-sdl-mixer-cffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl" pkgs) (getAttr "lispbuilder-sdl-mixer-binaries" pkgs) ];
+  };
+  lispbuilder-sdl-mixer-examples = {
+    pname = "lispbuilder-sdl-mixer-examples";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-mixer-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-mixer-examples";
+      asd = "lispbuilder-sdl-mixer-examples";
+    });
+    systems = [ "lispbuilder-sdl-mixer-examples" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl" pkgs) (getAttr "lispbuilder-sdl-mixer" pkgs) ];
+  };
+  lispbuilder-sdl-ttf = {
+    pname = "lispbuilder-sdl-ttf";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-ttf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-ttf";
+      asd = "lispbuilder-sdl-ttf";
+    });
+    systems = [ "lispbuilder-sdl-ttf" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl" pkgs) (getAttr "lispbuilder-sdl-ttf-cffi" pkgs) ];
+  };
+  lispbuilder-sdl-ttf-binaries = {
+    pname = "lispbuilder-sdl-ttf-binaries";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-ttf-binaries" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-ttf-binaries";
+      asd = "lispbuilder-sdl-ttf-binaries";
+    });
+    systems = [ "lispbuilder-sdl-ttf-binaries" ];
+    lispLibs = [  ];
+  };
+  lispbuilder-sdl-ttf-cffi = {
+    pname = "lispbuilder-sdl-ttf-cffi";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-ttf-cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-ttf-cffi";
+      asd = "lispbuilder-sdl-ttf-cffi";
+    });
+    systems = [ "lispbuilder-sdl-ttf-cffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl" pkgs) (getAttr "lispbuilder-sdl-ttf-binaries" pkgs) ];
+  };
+  lispbuilder-sdl-ttf-examples = {
+    pname = "lispbuilder-sdl-ttf-examples";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-ttf-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-ttf-examples";
+      asd = "lispbuilder-sdl-ttf-examples";
+    });
+    systems = [ "lispbuilder-sdl-ttf-examples" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "lispbuilder-sdl" pkgs) (getAttr "lispbuilder-sdl-ttf" pkgs) ];
+  };
+  lispbuilder-sdl-vecto = {
+    pname = "lispbuilder-sdl-vecto";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-vecto" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-vecto";
+      asd = "lispbuilder-sdl-vecto";
+    });
+    systems = [ "lispbuilder-sdl-vecto" ];
+    lispLibs = [ (getAttr "lispbuilder-sdl" pkgs) (getAttr "lispbuilder-sdl-cl-vectors" pkgs) (getAttr "vecto" pkgs) ];
+  };
+  lispbuilder-sdl-vecto-examples = {
+    pname = "lispbuilder-sdl-vecto-examples";
+    version = "20210807-git";
+    asds = [ "lispbuilder-sdl-vecto-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-sdl-vecto-examples";
+      asd = "lispbuilder-sdl-vecto-examples";
+    });
+    systems = [ "lispbuilder-sdl-vecto-examples" ];
+    lispLibs = [ (getAttr "lispbuilder-sdl-vecto" pkgs) ];
+  };
+  lispbuilder-windows = {
+    pname = "lispbuilder-windows";
+    version = "20210807-git";
+    asds = [ "lispbuilder-windows" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-windows";
+      asd = "lispbuilder-windows";
+    });
+    systems = [ "lispbuilder-windows" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  lispbuilder-yacc = {
+    pname = "lispbuilder-yacc";
+    version = "20210807-git";
+    asds = [ "lispbuilder-yacc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispbuilder/2021-08-07/lispbuilder-20210807-git.tgz";
+      sha256 = "0ssm72ss4k6gjkm7nq225miisip6kvhmnnycvxn8x1z20qld03iq";
+      system = "lispbuilder-yacc";
+      asd = "lispbuilder-yacc";
+    });
+    systems = [ "lispbuilder-yacc" ];
+    lispLibs = [  ];
+  };
+  lispcord = {
+    pname = "lispcord";
+    version = "20200925-git";
+    asds = [ "lispcord" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispcord/2020-09-25/lispcord-20200925-git.tgz";
+      sha256 = "1bkvsbnbv21q8xz8z2nmczznd0sllr57l3sc2wm5cjn6h3qg1sgh";
+      system = "lispcord";
+      asd = "lispcord";
+    });
+    systems = [ "lispcord" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "drakma" pkgs) (getAttr "jonathan" pkgs) (getAttr "split-sequence" pkgs) (getAttr "verbose" pkgs) (getAttr "websocket-driver-client" pkgs) ];
+  };
+  lispqr = {
+    pname = "lispqr";
+    version = "20210630-git";
+    asds = [ "lispqr" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lispqr/2021-06-30/lispqr-20210630-git.tgz";
+      sha256 = "06v1xpw5r4nxll286frhkc3ysvr50m904d33marnjmiax41y8qkc";
+      system = "lispqr";
+      asd = "lispqr";
+    });
+    systems = [ "lispqr" ];
+    lispLibs = [ (getAttr "zpng" pkgs) ];
+  };
+  list-named-class = {
+    pname = "list-named-class";
+    version = "20200325-git";
+    asds = [ "list-named-class" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/list-named-class/2020-03-25/list-named-class-20200325-git.tgz";
+      sha256 = "1bdi9q9wvfj66jji3n9hpjrj9271ial2awsb0xw80bmy6wqbg8kq";
+      system = "list-named-class";
+      asd = "list-named-class";
+    });
+    systems = [ "list-named-class" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  list-named-class_slash_protest = {
+    pname = "list-named-class_protest";
+    version = "20200325-git";
+    asds = [ "list-named-class" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/list-named-class/2020-03-25/list-named-class-20200325-git.tgz";
+      sha256 = "1bdi9q9wvfj66jji3n9hpjrj9271ial2awsb0xw80bmy6wqbg8kq";
+      system = "list-named-class";
+      asd = "list-named-class";
+    });
+    systems = [ "list-named-class/protest" ];
+    lispLibs = [ (getAttr "list-named-class" pkgs) (getAttr "protest" pkgs) ];
+  };
+  list-named-class_slash_test = {
+    pname = "list-named-class_test";
+    version = "20200325-git";
+    asds = [ "list-named-class" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/list-named-class/2020-03-25/list-named-class-20200325-git.tgz";
+      sha256 = "1bdi9q9wvfj66jji3n9hpjrj9271ial2awsb0xw80bmy6wqbg8kq";
+      system = "list-named-class";
+      asd = "list-named-class";
+    });
+    systems = [ "list-named-class/test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "list-named-class" pkgs) ];
+  };
+  list-of = {
+    pname = "list-of";
+    version = "20170403-git";
+    asds = [ "list-of" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-finalizers/2017-04-03/asdf-finalizers-20170403-git.tgz";
+      sha256 = "1w56c9yjjydjshsgqxz57qlp2v3r4ilbisnsgiqphvxnhvd41y0v";
+      system = "list-of";
+      asd = "list-of";
+    });
+    systems = [ "list-of" ];
+    lispLibs = [ (getAttr "asdf-finalizers" pkgs) ];
+  };
+  listoflist = {
+    pname = "listoflist";
+    version = "20140826-git";
+    asds = [ "listoflist" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/listoflist/2014-08-26/listoflist-20140826-git.tgz";
+      sha256 = "02bj2ldn7sfjbbn9zd66lwysymrv3f6g4q9hwsjbcg4fkpbk6qk3";
+      system = "listoflist";
+      asd = "listoflist";
+    });
+    systems = [ "listoflist" ];
+    lispLibs = [ (getAttr "clunit" pkgs) (getAttr "xarray" pkgs) ];
+  };
+  listopia = {
+    pname = "listopia";
+    version = "20210411-git";
+    asds = [ "listopia" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/listopia/2021-04-11/listopia-20210411-git.tgz";
+      sha256 = "0jd3mdv0ia8mfgdbpndzm3rdgc6nn9d9xpjzqjx582qhbnc0yji0";
+      system = "listopia";
+      asd = "listopia";
+    });
+    systems = [ "listopia" ];
+    lispLibs = [  ];
+  };
+  listopia-bench = {
+    pname = "listopia-bench";
+    version = "20210411-git";
+    asds = [ "listopia-bench" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/listopia/2021-04-11/listopia-20210411-git.tgz";
+      sha256 = "0jd3mdv0ia8mfgdbpndzm3rdgc6nn9d9xpjzqjx582qhbnc0yji0";
+      system = "listopia-bench";
+      asd = "listopia-bench";
+    });
+    systems = [ "listopia-bench" ];
+    lispLibs = [ (getAttr "listopia" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "trivial-benchmark" pkgs) ];
+  };
+  listopia_slash_tests = {
+    pname = "listopia_tests";
+    version = "20210411-git";
+    asds = [ "listopia" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/listopia/2021-04-11/listopia-20210411-git.tgz";
+      sha256 = "0jd3mdv0ia8mfgdbpndzm3rdgc6nn9d9xpjzqjx582qhbnc0yji0";
+      system = "listopia";
+      asd = "listopia";
+    });
+    systems = [ "listopia/tests" ];
+    lispLibs = [ (getAttr "listopia" pkgs) (getAttr "rove" pkgs) ];
+  };
+  liter = {
+    pname = "liter";
+    version = "20211020-git";
+    asds = [ "liter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz";
+      sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r";
+      system = "liter";
+      asd = "liter";
+    });
+    systems = [ "liter" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  literate-demo = {
+    pname = "literate-demo";
+    version = "20211230-git";
+    asds = [ "literate-demo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/literate-lisp/2021-12-30/literate-lisp-20211230-git.tgz";
+      sha256 = "0q6w7s1zsq3x90qn1rrm244pisr6pdclisjmh5a0b4a82zabfip1";
+      system = "literate-demo";
+      asd = "literate-demo";
+    });
+    systems = [ "literate-demo" ];
+    lispLibs = [ (getAttr "iterate" pkgs) (getAttr "literate-lisp" pkgs) ];
+  };
+  literate-lisp = {
+    pname = "literate-lisp";
+    version = "20211230-git";
+    asds = [ "literate-lisp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/literate-lisp/2021-12-30/literate-lisp-20211230-git.tgz";
+      sha256 = "0q6w7s1zsq3x90qn1rrm244pisr6pdclisjmh5a0b4a82zabfip1";
+      system = "literate-lisp";
+      asd = "literate-lisp";
+    });
+    systems = [ "literate-lisp" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  litterae = {
+    pname = "litterae";
+    version = "20200715-git";
+    asds = [ "litterae" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/litterae/2020-07-15/litterae-20200715-git.tgz";
+      sha256 = "05q6apkcxacis4llq8xjp468yg5v6za0ispcy5wqsb44ic0vhmsl";
+      system = "litterae";
+      asd = "litterae";
+    });
+    systems = [ "litterae" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "_3bmd-ext-code-blocks" pkgs) (getAttr "str" pkgs) (getAttr "cl-yaml" pkgs) (getAttr "docparser" pkgs) (getAttr "lsx" pkgs) ];
+  };
+  litterae-test-system = {
+    pname = "litterae-test-system";
+    version = "20200715-git";
+    asds = [ "litterae-test-system" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/litterae/2020-07-15/litterae-20200715-git.tgz";
+      sha256 = "05q6apkcxacis4llq8xjp468yg5v6za0ispcy5wqsb44ic0vhmsl";
+      system = "litterae-test-system";
+      asd = "litterae-test-system";
+    });
+    systems = [ "litterae-test-system" ];
+    lispLibs = [  ];
+  };
+  litterae_slash_tests = {
+    pname = "litterae_tests";
+    version = "20200715-git";
+    asds = [ "litterae" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/litterae/2020-07-15/litterae-20200715-git.tgz";
+      sha256 = "05q6apkcxacis4llq8xjp468yg5v6za0ispcy5wqsb44ic0vhmsl";
+      system = "litterae";
+      asd = "litterae";
+    });
+    systems = [ "litterae/tests" ];
+    lispLibs = [ (getAttr "litterae" pkgs) (getAttr "litterae-test-system" pkgs) (getAttr "rove" pkgs) ];
+  };
+  livesupport = {
+    pname = "livesupport";
+    version = "release-quicklisp-71e6e412-git";
+    asds = [ "livesupport" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/livesupport/2019-05-21/livesupport-release-quicklisp-71e6e412-git.tgz";
+      sha256 = "1rvnl0mncylbx63608pz5llss7y92j7z3ydambk9mcnjg2mjaapg";
+      system = "livesupport";
+      asd = "livesupport";
+    });
+    systems = [ "livesupport" ];
+    lispLibs = [  ];
+  };
+  lla = {
+    pname = "lla";
+    version = "20180328-git";
+    asds = [ "lla" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lla/2018-03-28/lla-20180328-git.tgz";
+      sha256 = "0n9vc7dnyjbbsv1n7rd8sylwda5fsdf8f890g4nachanyx0xps9k";
+      system = "lla";
+      asd = "lla";
+    });
+    systems = [ "lla" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-num-utils" pkgs) (getAttr "cl-slice" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  lla-tests = {
+    pname = "lla-tests";
+    version = "20180328-git";
+    asds = [ "lla-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lla/2018-03-28/lla-20180328-git.tgz";
+      sha256 = "0n9vc7dnyjbbsv1n7rd8sylwda5fsdf8f890g4nachanyx0xps9k";
+      system = "lla-tests";
+      asd = "lla";
+    });
+    systems = [ "lla-tests" ];
+    lispLibs = [ (getAttr "clunit" pkgs) (getAttr "lla" pkgs) ];
+  };
+  lmdb = {
+    pname = "lmdb";
+    version = "20210228-git";
+    asds = [ "lmdb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lmdb/2021-02-28/lmdb-20210228-git.tgz";
+      sha256 = "0am469wxcsi43sxz7lraz0lx06rvam1fqxhfiij0m6hq77pjmx5p";
+      system = "lmdb";
+      asd = "lmdb";
+    });
+    systems = [ "lmdb" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-reexport" pkgs) (getAttr "mgl-pax" pkgs) (getAttr "osicat" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  lmdb_slash_test = {
+    pname = "lmdb_test";
+    version = "20210228-git";
+    asds = [ "lmdb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lmdb/2021-02-28/lmdb-20210228-git.tgz";
+      sha256 = "0am469wxcsi43sxz7lraz0lx06rvam1fqxhfiij0m6hq77pjmx5p";
+      system = "lmdb";
+      asd = "lmdb";
+    });
+    systems = [ "lmdb/test" ];
+    lispLibs = [ (getAttr "lmdb" pkgs) ];
+  };
+  lml = {
+    pname = "lml";
+    version = "20150923-git";
+    asds = [ "lml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lml/2015-09-23/lml-20150923-git.tgz";
+      sha256 = "1s8v9p08vwl08y6ssxn4l088zz57d6fr13lzdz93i9jb8w8884wk";
+      system = "lml";
+      asd = "lml";
+    });
+    systems = [ "lml" ];
+    lispLibs = [  ];
+  };
+  lml-tests = {
+    pname = "lml-tests";
+    version = "20150923-git";
+    asds = [ "lml-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lml/2015-09-23/lml-20150923-git.tgz";
+      sha256 = "1s8v9p08vwl08y6ssxn4l088zz57d6fr13lzdz93i9jb8w8884wk";
+      system = "lml-tests";
+      asd = "lml-tests";
+    });
+    systems = [ "lml-tests" ];
+    lispLibs = [ (getAttr "lml" pkgs) (getAttr "rt" pkgs) ];
+  };
+  lml2 = {
+    pname = "lml2";
+    version = "20150923-git";
+    asds = [ "lml2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lml2/2015-09-23/lml2-20150923-git.tgz";
+      sha256 = "0v4d30x5zq1asp4r91nrzljpk2pm1plr0jns7a5wrf1n9fay57a6";
+      system = "lml2";
+      asd = "lml2";
+    });
+    systems = [ "lml2" ];
+    lispLibs = [ (getAttr "kmrcl" pkgs) ];
+  };
+  lml2-tests = {
+    pname = "lml2-tests";
+    version = "20150923-git";
+    asds = [ "lml2-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lml2/2015-09-23/lml2-20150923-git.tgz";
+      sha256 = "0v4d30x5zq1asp4r91nrzljpk2pm1plr0jns7a5wrf1n9fay57a6";
+      system = "lml2-tests";
+      asd = "lml2-tests";
+    });
+    systems = [ "lml2-tests" ];
+    lispLibs = [ (getAttr "lml2" pkgs) (getAttr "rt" pkgs) ];
+  };
+  local-package-aliases = {
+    pname = "local-package-aliases";
+    version = "20201220-git";
+    asds = [ "local-package-aliases" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/local-package-aliases/2020-12-20/local-package-aliases-20201220-git.tgz";
+      sha256 = "01knnxnximj2qyg8lhv0ijw69hfwqbfbmgvfjwnm7jbdgcp9wxnr";
+      system = "local-package-aliases";
+      asd = "local-package-aliases";
+    });
+    systems = [ "local-package-aliases" ];
+    lispLibs = [  ];
+  };
+  local-time = {
+    pname = "local-time";
+    version = "20210124-git";
+    asds = [ "local-time" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/local-time/2021-01-24/local-time-20210124-git.tgz";
+      sha256 = "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii";
+      system = "local-time";
+      asd = "local-time";
+    });
+    systems = [ "local-time" ];
+    lispLibs = [ (getAttr "uiop" pkgs) ];
+  };
+  local-time-duration = {
+    pname = "local-time-duration";
+    version = "20180430-git";
+    asds = [ "local-time-duration" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/local-time-duration/2018-04-30/local-time-duration-20180430-git.tgz";
+      sha256 = "0f13mg18lv31lclz9jvqyj8d85p1jj1366nlld8m3dxnnwsbbkd6";
+      system = "local-time-duration";
+      asd = "local-time-duration";
+    });
+    systems = [ "local-time-duration" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "esrap" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  local-time_slash_test = {
+    pname = "local-time_test";
+    version = "20210124-git";
+    asds = [ "local-time" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/local-time/2021-01-24/local-time-20210124-git.tgz";
+      sha256 = "0wld28xx20k0ysgg6akic5lg4vkjd0iyhv86m388xfrv8xh87wii";
+      system = "local-time";
+      asd = "local-time";
+    });
+    systems = [ "local-time/test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  log4cl = {
+    pname = "log4cl";
+    version = "20211209-git";
+    asds = [ "log4cl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/log4cl/2021-12-09/log4cl-20211209-git.tgz";
+      sha256 = "0mjkw4w3ksxvn87jqdnailqy2h6sziwmp4gf73jym45x9l5zahi5";
+      system = "log4cl";
+      asd = "log4cl";
+    });
+    systems = [ "log4cl" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  log4cl-examples = {
+    pname = "log4cl-examples";
+    version = "20211209-git";
+    asds = [ "log4cl-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/log4cl/2021-12-09/log4cl-20211209-git.tgz";
+      sha256 = "0mjkw4w3ksxvn87jqdnailqy2h6sziwmp4gf73jym45x9l5zahi5";
+      system = "log4cl-examples";
+      asd = "log4cl-examples";
+    });
+    systems = [ "log4cl-examples" ];
+    lispLibs = [ (getAttr "log4cl" pkgs) (getAttr "swank" pkgs) ];
+  };
+  log4cl-extras = {
+    pname = "log4cl-extras";
+    version = "20211230-git";
+    asds = [ "log4cl-extras" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/log4cl-extras/2021-12-30/log4cl-extras-20211230-git.tgz";
+      sha256 = "1ncbr7iklaz7pvx116m6qyfycrx0z2x98l20499bf6mvspp55w2z";
+      system = "log4cl-extras";
+      asd = "log4cl-extras";
+    });
+    systems = [ "log4cl-extras" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-strings" pkgs) (getAttr "dissect" pkgs) (getAttr "_40ants-doc" pkgs) (getAttr "global-vars" pkgs) (getAttr "jonathan" pkgs) (getAttr "local-time" pkgs) (getAttr "log4cl" pkgs) (getAttr "named-readtables" pkgs) (getAttr "pythonic-string-reader" pkgs) (getAttr "with-output-to-stream" pkgs) ];
+  };
+  log4cl-extras-test = {
+    pname = "log4cl-extras-test";
+    version = "20211230-git";
+    asds = [ "log4cl-extras-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/log4cl-extras/2021-12-30/log4cl-extras-20211230-git.tgz";
+      sha256 = "1ncbr7iklaz7pvx116m6qyfycrx0z2x98l20499bf6mvspp55w2z";
+      system = "log4cl-extras-test";
+      asd = "log4cl-extras-test";
+    });
+    systems = [ "log4cl-extras-test" ];
+    lispLibs = [ (getAttr "hamcrest" pkgs) (getAttr "jonathan" pkgs) (getAttr "rove" pkgs) (getAttr "secret-values" pkgs) ];
+  };
+  log4cl_dot_log4slime = {
+    pname = "log4cl.log4slime";
+    version = "20211209-git";
+    asds = [ "log4cl.log4slime" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/log4cl/2021-12-09/log4cl-20211209-git.tgz";
+      sha256 = "0mjkw4w3ksxvn87jqdnailqy2h6sziwmp4gf73jym45x9l5zahi5";
+      system = "log4cl.log4slime";
+      asd = "log4cl.log4slime";
+    });
+    systems = [ "log4cl.log4slime" ];
+    lispLibs = [ (getAttr "log4cl" pkgs) (getAttr "swank" pkgs) ];
+  };
+  log4cl_dot_log4sly = {
+    pname = "log4cl.log4sly";
+    version = "20211209-git";
+    asds = [ "log4cl.log4sly" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/log4cl/2021-12-09/log4cl-20211209-git.tgz";
+      sha256 = "0mjkw4w3ksxvn87jqdnailqy2h6sziwmp4gf73jym45x9l5zahi5";
+      system = "log4cl.log4sly";
+      asd = "log4cl.log4sly";
+    });
+    systems = [ "log4cl.log4sly" ];
+    lispLibs = [ (getAttr "log4cl" pkgs) (getAttr "slynk" pkgs) ];
+  };
+  log4cl_slash_syslog = {
+    pname = "log4cl_syslog";
+    version = "20211209-git";
+    asds = [ "log4cl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/log4cl/2021-12-09/log4cl-20211209-git.tgz";
+      sha256 = "0mjkw4w3ksxvn87jqdnailqy2h6sziwmp4gf73jym45x9l5zahi5";
+      system = "log4cl";
+      asd = "log4cl";
+    });
+    systems = [ "log4cl/syslog" ];
+    lispLibs = [ (getAttr "log4cl" pkgs) ];
+  };
+  log4cl_slash_test = {
+    pname = "log4cl_test";
+    version = "20211209-git";
+    asds = [ "log4cl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/log4cl/2021-12-09/log4cl-20211209-git.tgz";
+      sha256 = "0mjkw4w3ksxvn87jqdnailqy2h6sziwmp4gf73jym45x9l5zahi5";
+      system = "log4cl";
+      asd = "log4cl";
+    });
+    systems = [ "log4cl/test" ];
+    lispLibs = [ (getAttr "log4cl" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  log5 = {
+    pname = "log5";
+    version = "20110619-git";
+    asds = [ "log5" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/log5/2011-06-19/log5-20110619-git.tgz";
+      sha256 = "0f7qhhphijwk6a4hq18gpgifld7hwwpma6md845hgjmpvyqvrw2g";
+      system = "log5";
+      asd = "log5";
+    });
+    systems = [ "log5" ];
+    lispLibs = [  ];
+  };
+  lorem-ipsum = {
+    pname = "lorem-ipsum";
+    version = "20181018-git";
+    asds = [ "lorem-ipsum" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lorem-ipsum/2018-10-18/lorem-ipsum-20181018-git.tgz";
+      sha256 = "1530qq0bk3xr25m77q96pbi1idnxdkax8cwmvq4ch03rfjy34j7n";
+      system = "lorem-ipsum";
+      asd = "lorem-ipsum";
+    });
+    systems = [ "lorem-ipsum" ];
+    lispLibs = [  ];
+  };
+  lowlight = {
+    pname = "lowlight";
+    version = "20131211-git";
+    asds = [ "lowlight" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lowlight/2013-12-11/lowlight-20131211-git.tgz";
+      sha256 = "1i27hdac7aqb27rn5cslpf5lwvkrfz52b6rf7zqq0fi42zmvgb4p";
+      system = "lowlight";
+      asd = "lowlight";
+    });
+    systems = [ "lowlight" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-who" pkgs) (getAttr "yacc" pkgs) (getAttr "graylex" pkgs) (getAttr "spinneret" pkgs) ];
+  };
+  lowlight_dot_doc = {
+    pname = "lowlight.doc";
+    version = "20131211-git";
+    asds = [ "lowlight.doc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lowlight/2013-12-11/lowlight-20131211-git.tgz";
+      sha256 = "1i27hdac7aqb27rn5cslpf5lwvkrfz52b6rf7zqq0fi42zmvgb4p";
+      system = "lowlight.doc";
+      asd = "lowlight.doc";
+    });
+    systems = [ "lowlight.doc" ];
+    lispLibs = [ (getAttr "cl-gendoc" pkgs) (getAttr "lowlight" pkgs) (getAttr "lowlight_dot_tests" pkgs) ];
+  };
+  lowlight_dot_old = {
+    pname = "lowlight.old";
+    version = "20131211-git";
+    asds = [ "lowlight.old" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lowlight/2013-12-11/lowlight-20131211-git.tgz";
+      sha256 = "1i27hdac7aqb27rn5cslpf5lwvkrfz52b6rf7zqq0fi42zmvgb4p";
+      system = "lowlight.old";
+      asd = "lowlight.old";
+    });
+    systems = [ "lowlight.old" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-who" pkgs) (getAttr "spinneret" pkgs) ];
+  };
+  lowlight_dot_tests = {
+    pname = "lowlight.tests";
+    version = "20131211-git";
+    asds = [ "lowlight.tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lowlight/2013-12-11/lowlight-20131211-git.tgz";
+      sha256 = "1i27hdac7aqb27rn5cslpf5lwvkrfz52b6rf7zqq0fi42zmvgb4p";
+      system = "lowlight.tests";
+      asd = "lowlight.tests";
+    });
+    systems = [ "lowlight.tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "lowlight" pkgs) ];
+  };
+  lparallel = {
+    pname = "lparallel";
+    version = "20160825-git";
+    asds = [ "lparallel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lparallel/2016-08-25/lparallel-20160825-git.tgz";
+      sha256 = "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9";
+      system = "lparallel";
+      asd = "lparallel";
+    });
+    systems = [ "lparallel" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) ];
+  };
+  lparallel-bench = {
+    pname = "lparallel-bench";
+    version = "20160825-git";
+    asds = [ "lparallel-bench" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lparallel/2016-08-25/lparallel-20160825-git.tgz";
+      sha256 = "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9";
+      system = "lparallel-bench";
+      asd = "lparallel-bench";
+    });
+    systems = [ "lparallel-bench" ];
+    lispLibs = [ (getAttr "lparallel" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  lparallel-test = {
+    pname = "lparallel-test";
+    version = "20160825-git";
+    asds = [ "lparallel-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lparallel/2016-08-25/lparallel-20160825-git.tgz";
+      sha256 = "0g0aylrbbrqsz0ahmwhvnk4cmc2931fllbpcfgzsprwnqqd7vwq9";
+      system = "lparallel-test";
+      asd = "lparallel-test";
+    });
+    systems = [ "lparallel-test" ];
+    lispLibs = [ (getAttr "lparallel" pkgs) ];
+  };
+  lquery = {
+    pname = "lquery";
+    version = "20201220-git";
+    asds = [ "lquery" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lquery/2020-12-20/lquery-20201220-git.tgz";
+      sha256 = "1bnp643bb203iqiarbm6i21vh9g301zh3gspv01m2jhdqi5lvmjz";
+      system = "lquery";
+      asd = "lquery";
+    });
+    systems = [ "lquery" ];
+    lispLibs = [ (getAttr "array-utils" pkgs) (getAttr "clss" pkgs) (getAttr "form-fiddle" pkgs) (getAttr "plump" pkgs) ];
+  };
+  lquery-test = {
+    pname = "lquery-test";
+    version = "20201220-git";
+    asds = [ "lquery-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lquery/2020-12-20/lquery-20201220-git.tgz";
+      sha256 = "1bnp643bb203iqiarbm6i21vh9g301zh3gspv01m2jhdqi5lvmjz";
+      system = "lquery-test";
+      asd = "lquery-test";
+    });
+    systems = [ "lquery-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "lquery" pkgs) ];
+  };
+  lracer = {
+    pname = "lracer";
+    version = "20190710-git";
+    asds = [ "lracer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/racer/2019-07-10/racer-20190710-git.tgz";
+      sha256 = "120x046c6vcrj70vb6ryf04mwbr8c6a15llb68x7h1siij8vwgvk";
+      system = "lracer";
+      asd = "lracer";
+    });
+    systems = [ "lracer" ];
+    lispLibs = [  ];
+  };
+  lredis = {
+    pname = "lredis";
+    version = "20141106-git";
+    asds = [ "lredis" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lredis/2014-11-06/lredis-20141106-git.tgz";
+      sha256 = "08srvlys0fyslfpmhc740cana7fkxm2kc7mxds4083wgxw3prhf2";
+      system = "lredis";
+      asd = "lredis";
+    });
+    systems = [ "lredis" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "babel-streams" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  lsx = {
+    pname = "lsx";
+    version = "20211020-git";
+    asds = [ "lsx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lsx/2021-10-20/lsx-20211020-git.tgz";
+      sha256 = "1wghn6fy2jk8xwr69bk3ykj8mgwq4qmif87k9zqpvvx7yfb9x46k";
+      system = "lsx";
+      asd = "lsx";
+    });
+    systems = [ "lsx" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  lsx_slash_tests = {
+    pname = "lsx_tests";
+    version = "20211020-git";
+    asds = [ "lsx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lsx/2021-10-20/lsx-20211020-git.tgz";
+      sha256 = "1wghn6fy2jk8xwr69bk3ykj8mgwq4qmif87k9zqpvvx7yfb9x46k";
+      system = "lsx";
+      asd = "lsx";
+    });
+    systems = [ "lsx/tests" ];
+    lispLibs = [ (getAttr "rove" pkgs) ];
+  };
+  ltk = {
+    pname = "ltk";
+    version = "20190202-git";
+    asds = [ "ltk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ltk/2019-02-02/ltk-20190202-git.tgz";
+      sha256 = "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x";
+      system = "ltk";
+      asd = "ltk";
+    });
+    systems = [ "ltk" ];
+    lispLibs = [  ];
+  };
+  ltk-mw = {
+    pname = "ltk-mw";
+    version = "20190202-git";
+    asds = [ "ltk-mw" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ltk/2019-02-02/ltk-20190202-git.tgz";
+      sha256 = "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x";
+      system = "ltk-mw";
+      asd = "ltk-mw";
+    });
+    systems = [ "ltk-mw" ];
+    lispLibs = [ (getAttr "ltk" pkgs) ];
+  };
+  ltk-remote = {
+    pname = "ltk-remote";
+    version = "20190202-git";
+    asds = [ "ltk-remote" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ltk/2019-02-02/ltk-20190202-git.tgz";
+      sha256 = "13l2q4mskzilya9xh5wy2xvy30lwn104bd8wrq6ifds56r82iy3x";
+      system = "ltk-remote";
+      asd = "ltk-remote";
+    });
+    systems = [ "ltk-remote" ];
+    lispLibs = [ (getAttr "ltk" pkgs) ];
+  };
+  lucene-in-action-tests = {
+    pname = "lucene-in-action-tests";
+    version = "20180228-git";
+    asds = [ "lucene-in-action-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/montezuma/2018-02-28/montezuma-20180228-git.tgz";
+      sha256 = "0svmvsbsirydk3c1spzfvj8qmkzcs9i69anpfvk1843i62wb7x2c";
+      system = "lucene-in-action-tests";
+      asd = "lucene-in-action-tests";
+    });
+    systems = [ "lucene-in-action-tests" ];
+    lispLibs = [ (getAttr "lift" pkgs) (getAttr "montezuma" pkgs) ];
+  };
+  lunamech-matrix-api = {
+    pname = "lunamech-matrix-api";
+    version = "20211209-git";
+    asds = [ "lunamech-matrix-api" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lunamech-matrix-api/2021-12-09/lunamech-matrix-api-20211209-git.tgz";
+      sha256 = "0dnr579g345h9pcqz4ykfjmphjwckxmpb7afqq7mqv3icd8xv8nn";
+      system = "lunamech-matrix-api";
+      asd = "lunamech-matrix-api";
+    });
+    systems = [ "lunamech-matrix-api" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "str" pkgs) (getAttr "closer-mop" pkgs) (getAttr "dexador" pkgs) (getAttr "do-urlencode" pkgs) (getAttr "drakma" pkgs) (getAttr "jonathan" pkgs) (getAttr "plump" pkgs) (getAttr "reader" pkgs) ];
+  };
+  lw-compat = {
+    pname = "lw-compat";
+    version = "20160318-git";
+    asds = [ "lw-compat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lw-compat/2016-03-18/lw-compat-20160318-git.tgz";
+      sha256 = "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav";
+      system = "lw-compat";
+      asd = "lw-compat";
+    });
+    systems = [ "lw-compat" ];
+    lispLibs = [  ];
+  };
+  lyrics = {
+    pname = "lyrics";
+    version = "20210807-git";
+    asds = [ "lyrics" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lyrics/2021-08-07/lyrics-20210807-git.tgz";
+      sha256 = "1xdhl53i9pim2mbviwqahlkgfsja7ihyvvrwz8q22ljv6bnb6011";
+      system = "lyrics";
+      asd = "lyrics";
+    });
+    systems = [ "lyrics" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "sqlite" pkgs) (getAttr "defmemo" pkgs) (getAttr "drakma" pkgs) (getAttr "lquery" pkgs) (getAttr "plump" pkgs) ];
+  };
+  lzlib = {
+    pname = "lzlib";
+    version = "20201220-git";
+    asds = [ "lzlib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-lzlib/2020-12-20/cl-lzlib-20201220-git.tgz";
+      sha256 = "03za4bj9l3s66vd49yrq28xhj5hriaarh0zffav4p98d7w5a08x9";
+      system = "lzlib";
+      asd = "lzlib";
+    });
+    systems = [ "lzlib" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-octet-streams" pkgs) (getAttr "lparallel" pkgs) ];
+  };
+  lzlib-tests = {
+    pname = "lzlib-tests";
+    version = "20201220-git";
+    asds = [ "lzlib-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-lzlib/2020-12-20/cl-lzlib-20201220-git.tgz";
+      sha256 = "03za4bj9l3s66vd49yrq28xhj5hriaarh0zffav4p98d7w5a08x9";
+      system = "lzlib-tests";
+      asd = "lzlib-tests";
+    });
+    systems = [ "lzlib-tests" ];
+    lispLibs = [ (getAttr "lzlib" pkgs) (getAttr "cl-octet-streams" pkgs) (getAttr "fiveam" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  macro-html = {
+    pname = "macro-html";
+    version = "20151218-git";
+    asds = [ "macro-html" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/macro-html/2015-12-18/macro-html-20151218-git.tgz";
+      sha256 = "05gzgijz8r3dw3ilz7d5i0g0mbcyv9k8w2dgvw7n478njp1gfj4b";
+      system = "macro-html";
+      asd = "macro-html";
+    });
+    systems = [ "macro-html" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  macro-level = {
+    pname = "macro-level";
+    version = "1.0.1";
+    asds = [ "macro-level" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/macro-level/2012-10-13/macro-level-1.0.1.tgz";
+      sha256 = "14wncx6rrlkylm4cn7y8h4pmnvrcfj920nlldsspg5kvysb09g4i";
+      system = "macro-level";
+      asd = "macro-level";
+    });
+    systems = [ "macro-level" ];
+    lispLibs = [  ];
+  };
+  macrodynamics = {
+    pname = "macrodynamics";
+    version = "20180228-git";
+    asds = [ "macrodynamics" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/macrodynamics/2018-02-28/macrodynamics-20180228-git.tgz";
+      sha256 = "1ysgin8lzd4fdl5c63v3ga9v6lzk3gyl1h8jhl0ar6wyhd3023l4";
+      system = "macrodynamics";
+      asd = "macrodynamics";
+    });
+    systems = [ "macrodynamics" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  macrodynamics_slash_test = {
+    pname = "macrodynamics_test";
+    version = "20180228-git";
+    asds = [ "macrodynamics" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/macrodynamics/2018-02-28/macrodynamics-20180228-git.tgz";
+      sha256 = "1ysgin8lzd4fdl5c63v3ga9v6lzk3gyl1h8jhl0ar6wyhd3023l4";
+      system = "macrodynamics";
+      asd = "macrodynamics";
+    });
+    systems = [ "macrodynamics/test" ];
+    lispLibs = [ (getAttr "check-it" pkgs) (getAttr "fiasco" pkgs) (getAttr "macrodynamics" pkgs) ];
+  };
+  macroexpand-dammit = {
+    pname = "macroexpand-dammit";
+    version = "20131111-http";
+    asds = [ "macroexpand-dammit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/macroexpand-dammit/2013-11-11/macroexpand-dammit-20131111-http.tgz";
+      sha256 = "10avpq3qffrc51hrfjwp3vi5vv9b1aip1dnwncnlc3yd498b3pfl";
+      system = "macroexpand-dammit";
+      asd = "macroexpand-dammit";
+    });
+    systems = [ "macroexpand-dammit" ];
+    lispLibs = [  ];
+  };
+  madeira-port = {
+    pname = "madeira-port";
+    version = "20150709-git";
+    asds = [ "madeira-port" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/madeira-port/2015-07-09/madeira-port-20150709-git.tgz";
+      sha256 = "0zl6i11vm1akr0382zh582v3vkxjwmabsnfjcfgrp2wbkq4mvdgq";
+      system = "madeira-port";
+      asd = "madeira-port";
+    });
+    systems = [ "madeira-port" ];
+    lispLibs = [  ];
+  };
+  madeira-port-tests = {
+    pname = "madeira-port-tests";
+    version = "20150709-git";
+    asds = [ "madeira-port-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/madeira-port/2015-07-09/madeira-port-20150709-git.tgz";
+      sha256 = "0zl6i11vm1akr0382zh582v3vkxjwmabsnfjcfgrp2wbkq4mvdgq";
+      system = "madeira-port-tests";
+      asd = "madeira-port";
+    });
+    systems = [ "madeira-port-tests" ];
+    lispLibs = [ (getAttr "eos" pkgs) (getAttr "madeira-port" pkgs) ];
+  };
+  magic-ed = {
+    pname = "magic-ed";
+    version = "20200325-git";
+    asds = [ "magic-ed" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/magic-ed/2020-03-25/magic-ed-20200325-git.tgz";
+      sha256 = "1j6il4lif0dy6hqiz6n91yl8dvii9pk1i9vz0faq5mnr42mr7i5f";
+      system = "magic-ed";
+      asd = "magic-ed";
+    });
+    systems = [ "magic-ed" ];
+    lispLibs = [  ];
+  };
+  magicffi = {
+    pname = "magicffi";
+    version = "20210531-git";
+    asds = [ "magicffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/magicffi/2021-05-31/magicffi-20210531-git.tgz";
+      sha256 = "0l2b2irpb19b9pyxbmkxi4i5y6crx8nk7qrbihsdqahlkrwsk1il";
+      system = "magicffi";
+      asd = "magicffi";
+    });
+    systems = [ "magicffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  magicffi_slash_test = {
+    pname = "magicffi_test";
+    version = "20210531-git";
+    asds = [ "magicffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/magicffi/2021-05-31/magicffi-20210531-git.tgz";
+      sha256 = "0l2b2irpb19b9pyxbmkxi4i5y6crx8nk7qrbihsdqahlkrwsk1il";
+      system = "magicffi";
+      asd = "magicffi";
+    });
+    systems = [ "magicffi/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "magicffi" pkgs) ];
+  };
+  magicl = {
+    pname = "magicl";
+    version = "v0.9.1";
+    asds = [ "magicl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/magicl/2021-04-11/magicl-v0.9.1.tgz";
+      sha256 = "0x9p55qin399jhr5md88nij8fv78b64xjhww7ys364pkjnx8ak9v";
+      system = "magicl";
+      asd = "magicl";
+    });
+    systems = [ "magicl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "abstract-classes" pkgs) (getAttr "interface" pkgs) (getAttr "policy-cond" pkgs) ];
+  };
+  magicl-examples = {
+    pname = "magicl-examples";
+    version = "v0.9.1";
+    asds = [ "magicl-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/magicl/2021-04-11/magicl-v0.9.1.tgz";
+      sha256 = "0x9p55qin399jhr5md88nij8fv78b64xjhww7ys364pkjnx8ak9v";
+      system = "magicl-examples";
+      asd = "magicl-examples";
+    });
+    systems = [ "magicl-examples" ];
+    lispLibs = [ (getAttr "magicl" pkgs) ];
+  };
+  magicl-gen = {
+    pname = "magicl-gen";
+    version = "v0.9.1";
+    asds = [ "magicl-gen" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/magicl/2021-04-11/magicl-v0.9.1.tgz";
+      sha256 = "0x9p55qin399jhr5md88nij8fv78b64xjhww7ys364pkjnx8ak9v";
+      system = "magicl-gen";
+      asd = "magicl-gen";
+    });
+    systems = [ "magicl-gen" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "abstract-classes" pkgs) ];
+  };
+  magicl-tests = {
+    pname = "magicl-tests";
+    version = "v0.9.1";
+    asds = [ "magicl-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/magicl/2021-04-11/magicl-v0.9.1.tgz";
+      sha256 = "0x9p55qin399jhr5md88nij8fv78b64xjhww7ys364pkjnx8ak9v";
+      system = "magicl-tests";
+      asd = "magicl-tests";
+    });
+    systems = [ "magicl-tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fiasco" pkgs) (getAttr "magicl" pkgs) (getAttr "magicl-examples" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  magicl-transcendental = {
+    pname = "magicl-transcendental";
+    version = "v0.9.1";
+    asds = [ "magicl-transcendental" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/magicl/2021-04-11/magicl-v0.9.1.tgz";
+      sha256 = "0x9p55qin399jhr5md88nij8fv78b64xjhww7ys364pkjnx8ak9v";
+      system = "magicl-transcendental";
+      asd = "magicl-transcendental";
+    });
+    systems = [ "magicl-transcendental" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "abstract-classes" pkgs) (getAttr "interface" pkgs) (getAttr "policy-cond" pkgs) ];
+  };
+  magicl_slash_core = {
+    pname = "magicl_core";
+    version = "v0.9.1";
+    asds = [ "magicl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/magicl/2021-04-11/magicl-v0.9.1.tgz";
+      sha256 = "0x9p55qin399jhr5md88nij8fv78b64xjhww7ys364pkjnx8ak9v";
+      system = "magicl";
+      asd = "magicl";
+    });
+    systems = [ "magicl/core" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "abstract-classes" pkgs) (getAttr "interface" pkgs) (getAttr "policy-cond" pkgs) ];
+  };
+  magicl_slash_ext = {
+    pname = "magicl_ext";
+    version = "v0.9.1";
+    asds = [ "magicl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/magicl/2021-04-11/magicl-v0.9.1.tgz";
+      sha256 = "0x9p55qin399jhr5md88nij8fv78b64xjhww7ys364pkjnx8ak9v";
+      system = "magicl";
+      asd = "magicl";
+    });
+    systems = [ "magicl/ext" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) ];
+  };
+  magicl_slash_ext-blas = {
+    pname = "magicl_ext-blas";
+    version = "v0.9.1";
+    asds = [ "magicl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/magicl/2021-04-11/magicl-v0.9.1.tgz";
+      sha256 = "0x9p55qin399jhr5md88nij8fv78b64xjhww7ys364pkjnx8ak9v";
+      system = "magicl";
+      asd = "magicl";
+    });
+    systems = [ "magicl/ext-blas" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "abstract-classes" pkgs) (getAttr "interface" pkgs) (getAttr "policy-cond" pkgs) ];
+  };
+  magicl_slash_ext-expokit = {
+    pname = "magicl_ext-expokit";
+    version = "v0.9.1";
+    asds = [ "magicl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/magicl/2021-04-11/magicl-v0.9.1.tgz";
+      sha256 = "0x9p55qin399jhr5md88nij8fv78b64xjhww7ys364pkjnx8ak9v";
+      system = "magicl";
+      asd = "magicl";
+    });
+    systems = [ "magicl/ext-expokit" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "abstract-classes" pkgs) (getAttr "interface" pkgs) (getAttr "policy-cond" pkgs) ];
+  };
+  magicl_slash_ext-lapack = {
+    pname = "magicl_ext-lapack";
+    version = "v0.9.1";
+    asds = [ "magicl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/magicl/2021-04-11/magicl-v0.9.1.tgz";
+      sha256 = "0x9p55qin399jhr5md88nij8fv78b64xjhww7ys364pkjnx8ak9v";
+      system = "magicl";
+      asd = "magicl";
+    });
+    systems = [ "magicl/ext-lapack" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "abstract-classes" pkgs) (getAttr "interface" pkgs) (getAttr "policy-cond" pkgs) ];
+  };
+  maiden = {
+    pname = "maiden";
+    version = "20211209-git";
+    asds = [ "maiden" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden";
+      asd = "maiden";
+    });
+    systems = [ "maiden" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "closer-mop" pkgs) (getAttr "deeds" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "form-fiddle" pkgs) (getAttr "lambda-fiddle" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-indent" pkgs) (getAttr "uuid" pkgs) (getAttr "verbose" pkgs) ];
+  };
+  maiden-accounts = {
+    pname = "maiden-accounts";
+    version = "20211209-git";
+    asds = [ "maiden-accounts" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-accounts";
+      asd = "maiden-accounts";
+    });
+    systems = [ "maiden-accounts" ];
+    lispLibs = [ (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-activatable = {
+    pname = "maiden-activatable";
+    version = "20211209-git";
+    asds = [ "maiden-activatable" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-activatable";
+      asd = "maiden-activatable";
+    });
+    systems = [ "maiden-activatable" ];
+    lispLibs = [ (getAttr "maiden" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-api-access = {
+    pname = "maiden-api-access";
+    version = "20211209-git";
+    asds = [ "maiden-api-access" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-api-access";
+      asd = "maiden-api-access";
+    });
+    systems = [ "maiden-api-access" ];
+    lispLibs = [ (getAttr "drakma" pkgs) (getAttr "jsown" pkgs) (getAttr "maiden" pkgs) (getAttr "plump" pkgs) ];
+  };
+  maiden-blocker = {
+    pname = "maiden-blocker";
+    version = "20211209-git";
+    asds = [ "maiden-blocker" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-blocker";
+      asd = "maiden-blocker";
+    });
+    systems = [ "maiden-blocker" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-channel-relay = {
+    pname = "maiden-channel-relay";
+    version = "20211209-git";
+    asds = [ "maiden-channel-relay" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-channel-relay";
+      asd = "maiden-channel-relay";
+    });
+    systems = [ "maiden-channel-relay" ];
+    lispLibs = [ (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-chatlog = {
+    pname = "maiden-chatlog";
+    version = "20211209-git";
+    asds = [ "maiden-chatlog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-chatlog";
+      asd = "maiden-chatlog";
+    });
+    systems = [ "maiden-chatlog" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) (getAttr "postmodern" pkgs) ];
+  };
+  maiden-client-entities = {
+    pname = "maiden-client-entities";
+    version = "20211209-git";
+    asds = [ "maiden-client-entities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-client-entities";
+      asd = "maiden-client-entities";
+    });
+    systems = [ "maiden-client-entities" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) (getAttr "maiden" pkgs) ];
+  };
+  maiden-commands = {
+    pname = "maiden-commands";
+    version = "20211209-git";
+    asds = [ "maiden-commands" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-commands";
+      asd = "maiden-commands";
+    });
+    systems = [ "maiden-commands" ];
+    lispLibs = [ (getAttr "lambda-fiddle" pkgs) (getAttr "maiden" pkgs) (getAttr "maiden-client-entities" pkgs) ];
+  };
+  maiden-core-manager = {
+    pname = "maiden-core-manager";
+    version = "20211209-git";
+    asds = [ "maiden-core-manager" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-core-manager";
+      asd = "maiden-core-manager";
+    });
+    systems = [ "maiden-core-manager" ];
+    lispLibs = [ (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-counter = {
+    pname = "maiden-counter";
+    version = "20211209-git";
+    asds = [ "maiden-counter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-counter";
+      asd = "maiden-counter";
+    });
+    systems = [ "maiden-counter" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "maiden-activatable" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-crimes = {
+    pname = "maiden-crimes";
+    version = "20211209-git";
+    asds = [ "maiden-crimes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-crimes";
+      asd = "maiden-crimes";
+    });
+    systems = [ "maiden-crimes" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "maiden-api-access" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-dictionary = {
+    pname = "maiden-dictionary";
+    version = "20211209-git";
+    asds = [ "maiden-dictionary" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-dictionary";
+      asd = "maiden-dictionary";
+    });
+    systems = [ "maiden-dictionary" ];
+    lispLibs = [ (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) (getAttr "oxenfurt" pkgs) ];
+  };
+  maiden-emoticon = {
+    pname = "maiden-emoticon";
+    version = "20211209-git";
+    asds = [ "maiden-emoticon" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-emoticon";
+      asd = "maiden-emoticon";
+    });
+    systems = [ "maiden-emoticon" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "maiden-activatable" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-help = {
+    pname = "maiden-help";
+    version = "20211209-git";
+    asds = [ "maiden-help" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-help";
+      asd = "maiden-help";
+    });
+    systems = [ "maiden-help" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) ];
+  };
+  maiden-irc = {
+    pname = "maiden-irc";
+    version = "20211209-git";
+    asds = [ "maiden-irc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-irc";
+      asd = "maiden-irc";
+    });
+    systems = [ "maiden-irc" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "form-fiddle" pkgs) (getAttr "lambda-fiddle" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-networking" pkgs) ];
+  };
+  maiden-lastfm = {
+    pname = "maiden-lastfm";
+    version = "20211209-git";
+    asds = [ "maiden-lastfm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-lastfm";
+      asd = "maiden-lastfm";
+    });
+    systems = [ "maiden-lastfm" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "maiden-api-access" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-lichat = {
+    pname = "maiden-lichat";
+    version = "20211209-git";
+    asds = [ "maiden-lichat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-lichat";
+      asd = "maiden-lichat";
+    });
+    systems = [ "maiden-lichat" ];
+    lispLibs = [ (getAttr "lichat-protocol" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-networking" pkgs) ];
+  };
+  maiden-location = {
+    pname = "maiden-location";
+    version = "20211209-git";
+    asds = [ "maiden-location" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-location";
+      asd = "maiden-location";
+    });
+    systems = [ "maiden-location" ];
+    lispLibs = [ (getAttr "maiden-api-access" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-lookup = {
+    pname = "maiden-lookup";
+    version = "20211209-git";
+    asds = [ "maiden-lookup" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-lookup";
+      asd = "maiden-lookup";
+    });
+    systems = [ "maiden-lookup" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "lquery" pkgs) (getAttr "maiden-api-access" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) ];
+  };
+  maiden-markov = {
+    pname = "maiden-markov";
+    version = "20211209-git";
+    asds = [ "maiden-markov" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-markov";
+      asd = "maiden-markov";
+    });
+    systems = [ "maiden-markov" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "fast-io" pkgs) (getAttr "maiden-activatable" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  maiden-medals = {
+    pname = "maiden-medals";
+    version = "20211209-git";
+    asds = [ "maiden-medals" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-medals";
+      asd = "maiden-medals";
+    });
+    systems = [ "maiden-medals" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "maiden-accounts" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-networking = {
+    pname = "maiden-networking";
+    version = "20211209-git";
+    asds = [ "maiden-networking" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-networking";
+      asd = "maiden-networking";
+    });
+    systems = [ "maiden-networking" ];
+    lispLibs = [ (getAttr "cl_plus_ssl" pkgs) (getAttr "maiden" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  maiden-notify = {
+    pname = "maiden-notify";
+    version = "20211209-git";
+    asds = [ "maiden-notify" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-notify";
+      asd = "maiden-notify";
+    });
+    systems = [ "maiden-notify" ];
+    lispLibs = [ (getAttr "maiden-accounts" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-permissions = {
+    pname = "maiden-permissions";
+    version = "20211209-git";
+    asds = [ "maiden-permissions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-permissions";
+      asd = "maiden-permissions";
+    });
+    systems = [ "maiden-permissions" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-relay = {
+    pname = "maiden-relay";
+    version = "20211209-git";
+    asds = [ "maiden-relay" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-relay";
+      asd = "maiden-relay";
+    });
+    systems = [ "maiden-relay" ];
+    lispLibs = [ (getAttr "maiden-networking" pkgs) (getAttr "maiden-serialize" pkgs) ];
+  };
+  maiden-serialize = {
+    pname = "maiden-serialize";
+    version = "20211209-git";
+    asds = [ "maiden-serialize" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-serialize";
+      asd = "maiden-serialize";
+    });
+    systems = [ "maiden-serialize" ];
+    lispLibs = [ (getAttr "cl-store" pkgs) (getAttr "gzip-stream" pkgs) (getAttr "maiden" pkgs) ];
+  };
+  maiden-silly = {
+    pname = "maiden-silly";
+    version = "20211209-git";
+    asds = [ "maiden-silly" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-silly";
+      asd = "maiden-silly";
+    });
+    systems = [ "maiden-silly" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "lquery" pkgs) (getAttr "maiden-activatable" pkgs) (getAttr "maiden-api-access" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) ];
+  };
+  maiden-storage = {
+    pname = "maiden-storage";
+    version = "20211209-git";
+    asds = [ "maiden-storage" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-storage";
+      asd = "maiden-storage";
+    });
+    systems = [ "maiden-storage" ];
+    lispLibs = [ (getAttr "maiden" pkgs) (getAttr "pathname-utils" pkgs) (getAttr "ubiquitous-concurrent" pkgs) ];
+  };
+  maiden-talk = {
+    pname = "maiden-talk";
+    version = "20211209-git";
+    asds = [ "maiden-talk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-talk";
+      asd = "maiden-talk";
+    });
+    systems = [ "maiden-talk" ];
+    lispLibs = [ (getAttr "array-utils" pkgs) (getAttr "cl-mixed-mpg123" pkgs) (getAttr "drakma" pkgs) (getAttr "harmony" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  maiden-throttle = {
+    pname = "maiden-throttle";
+    version = "20211209-git";
+    asds = [ "maiden-throttle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-throttle";
+      asd = "maiden-throttle";
+    });
+    systems = [ "maiden-throttle" ];
+    lispLibs = [ (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-time = {
+    pname = "maiden-time";
+    version = "20211209-git";
+    asds = [ "maiden-time" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-time";
+      asd = "maiden-time";
+    });
+    systems = [ "maiden-time" ];
+    lispLibs = [ (getAttr "maiden-api-access" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-location" pkgs) ];
+  };
+  maiden-trivia = {
+    pname = "maiden-trivia";
+    version = "20211209-git";
+    asds = [ "maiden-trivia" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-trivia";
+      asd = "maiden-trivia";
+    });
+    systems = [ "maiden-trivia" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  maiden-twitter = {
+    pname = "maiden-twitter";
+    version = "20211209-git";
+    asds = [ "maiden-twitter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-twitter";
+      asd = "maiden-twitter";
+    });
+    systems = [ "maiden-twitter" ];
+    lispLibs = [ (getAttr "chirp" pkgs) (getAttr "maiden-client-entities" pkgs) ];
+  };
+  maiden-urlinfo = {
+    pname = "maiden-urlinfo";
+    version = "20211209-git";
+    asds = [ "maiden-urlinfo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-urlinfo";
+      asd = "maiden-urlinfo";
+    });
+    systems = [ "maiden-urlinfo" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "maiden-activatable" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "plump" pkgs) ];
+  };
+  maiden-vote = {
+    pname = "maiden-vote";
+    version = "20211209-git";
+    asds = [ "maiden-vote" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-vote";
+      asd = "maiden-vote";
+    });
+    systems = [ "maiden-vote" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) ];
+  };
+  maiden-weather = {
+    pname = "maiden-weather";
+    version = "20211209-git";
+    asds = [ "maiden-weather" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maiden/2021-12-09/maiden-20211209-git.tgz";
+      sha256 = "0q9r11bka4xp6qk8fqbx311z7ymbv579hxpq20vhdjjzyinzmgrh";
+      system = "maiden-weather";
+      asd = "maiden-weather";
+    });
+    systems = [ "maiden-weather" ];
+    lispLibs = [ (getAttr "local-time" pkgs) (getAttr "maiden-api-access" pkgs) (getAttr "maiden-client-entities" pkgs) (getAttr "maiden-commands" pkgs) (getAttr "maiden-location" pkgs) (getAttr "maiden-storage" pkgs) ];
+  };
+  mailbox = {
+    pname = "mailbox";
+    version = "20131003-git";
+    asds = [ "mailbox" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mailbox/2013-10-03/mailbox-20131003-git.tgz";
+      sha256 = "1qgkcss8m2q29kr9d040dnjmzl17vb7zzvlz5ry3z3zgbdwgj1sy";
+      system = "mailbox";
+      asd = "mailbox";
+    });
+    systems = [ "mailbox" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  mailgun = {
+    pname = "mailgun";
+    version = "20211020-git";
+    asds = [ "mailgun" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mailgun/2021-10-20/mailgun-20211020-git.tgz";
+      sha256 = "1kmq9v8xlq458cs4ix49xq6yarjqknsr5bmhdbh8h6jiqrzp3yj6";
+      system = "mailgun";
+      asd = "mailgun";
+    });
+    systems = [ "mailgun" ];
+    lispLibs = [ (getAttr "dexador" pkgs) (getAttr "log4cl" pkgs) (getAttr "spinneret" pkgs) ];
+  };
+  make-hash = {
+    pname = "make-hash";
+    version = "20130615-git";
+    asds = [ "make-hash" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/make-hash/2013-06-15/make-hash-20130615-git.tgz";
+      sha256 = "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8";
+      system = "make-hash";
+      asd = "make-hash";
+    });
+    systems = [ "make-hash" ];
+    lispLibs = [  ];
+  };
+  make-hash-tests = {
+    pname = "make-hash-tests";
+    version = "20130615-git";
+    asds = [ "make-hash-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/make-hash/2013-06-15/make-hash-20130615-git.tgz";
+      sha256 = "1qa4mcmb3pv44py0j129dd8hjx09c2akpnds53b69151mgwv5qz8";
+      system = "make-hash-tests";
+      asd = "make-hash-tests";
+    });
+    systems = [ "make-hash-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "make-hash" pkgs) ];
+  };
+  manifest = {
+    pname = "manifest";
+    version = "20120208-git";
+    asds = [ "manifest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/manifest/2012-02-08/manifest-20120208-git.tgz";
+      sha256 = "0dswslnskskdbsln6vi7w8cbypw001d81xaxkfn4g7m15m9pzkgf";
+      system = "manifest";
+      asd = "manifest";
+    });
+    systems = [ "manifest" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "monkeylib-html" pkgs) (getAttr "puri" pkgs) (getAttr "split-sequence" pkgs) (getAttr "toot" pkgs) ];
+  };
+  map-bind = {
+    pname = "map-bind";
+    version = "20120811-git";
+    asds = [ "map-bind" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/map-bind/2012-08-11/map-bind-20120811-git.tgz";
+      sha256 = "06z02c0ypfrd789glbidnhf95839hardd7nr3i95l1adm8pas30f";
+      system = "map-bind";
+      asd = "map-bind";
+    });
+    systems = [ "map-bind" ];
+    lispLibs = [  ];
+  };
+  map-set = {
+    pname = "map-set";
+    version = "20190307-hg";
+    asds = [ "map-set" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/map-set/2019-03-07/map-set-20190307-hg.tgz";
+      sha256 = "0fikz2s0pw5dfbs91j8y7iy3908gknhxy9047mp23jxv1f54jzdh";
+      system = "map-set";
+      asd = "map-set";
+    });
+    systems = [ "map-set" ];
+    lispLibs = [  ];
+  };
+  marching-cubes = {
+    pname = "marching-cubes";
+    version = "20150709-git";
+    asds = [ "marching-cubes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/marching-cubes/2015-07-09/marching-cubes-20150709-git.tgz";
+      sha256 = "013wyr4g82b2gk0j5jbkkshg9lal2m34px37blyclf6kr5sk6azh";
+      system = "marching-cubes";
+      asd = "marching-cubes";
+    });
+    systems = [ "marching-cubes" ];
+    lispLibs = [  ];
+  };
+  marching-cubes-example = {
+    pname = "marching-cubes-example";
+    version = "20150709-git";
+    asds = [ "marching-cubes-example" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/marching-cubes/2015-07-09/marching-cubes-20150709-git.tgz";
+      sha256 = "013wyr4g82b2gk0j5jbkkshg9lal2m34px37blyclf6kr5sk6azh";
+      system = "marching-cubes-example";
+      asd = "marching-cubes-example";
+    });
+    systems = [ "marching-cubes-example" ];
+    lispLibs = [ (getAttr "marching-cubes" pkgs) ];
+  };
+  marching-cubes-test = {
+    pname = "marching-cubes-test";
+    version = "20150709-git";
+    asds = [ "marching-cubes-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/marching-cubes/2015-07-09/marching-cubes-20150709-git.tgz";
+      sha256 = "013wyr4g82b2gk0j5jbkkshg9lal2m34px37blyclf6kr5sk6azh";
+      system = "marching-cubes-test";
+      asd = "marching-cubes-test";
+    });
+    systems = [ "marching-cubes-test" ];
+    lispLibs = [ (getAttr "marching-cubes" pkgs) (getAttr "cl-test-more" pkgs) ];
+  };
+  markdown_dot_cl = {
+    pname = "markdown.cl";
+    version = "20210228-git";
+    asds = [ "markdown.cl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/markdown.cl/2021-02-28/markdown.cl-20210228-git.tgz";
+      sha256 = "00yxg67skx3navq7fdsjy0wds16n9n12bhdzv08f43bgbwali7v8";
+      system = "markdown.cl";
+      asd = "markdown.cl";
+    });
+    systems = [ "markdown.cl" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "split-sequence" pkgs) (getAttr "xmls" pkgs) ];
+  };
+  markdown_dot_cl-test = {
+    pname = "markdown.cl-test";
+    version = "20210228-git";
+    asds = [ "markdown.cl-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/markdown.cl/2021-02-28/markdown.cl-20210228-git.tgz";
+      sha256 = "00yxg67skx3navq7fdsjy0wds16n9n12bhdzv08f43bgbwali7v8";
+      system = "markdown.cl-test";
+      asd = "markdown.cl-test";
+    });
+    systems = [ "markdown.cl-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "markdown_dot_cl" pkgs) (getAttr "xmls" pkgs) ];
+  };
+  markup = {
+    pname = "markup";
+    version = "20211020-git";
+    asds = [ "markup" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/markup/2021-10-20/markup-20211020-git.tgz";
+      sha256 = "1ss5kdaqzizrjb79m297f8jzarfd61hhp3rik8wj1b1vngxqbpp7";
+      system = "markup";
+      asd = "markup";
+    });
+    systems = [ "markup" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "str" pkgs) (getAttr "named-readtables" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  markup_dot_test = {
+    pname = "markup.test";
+    version = "20211020-git";
+    asds = [ "markup.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/markup/2021-10-20/markup-20211020-git.tgz";
+      sha256 = "1ss5kdaqzizrjb79m297f8jzarfd61hhp3rik8wj1b1vngxqbpp7";
+      system = "markup.test";
+      asd = "markup.test";
+    });
+    systems = [ "markup.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "markup" pkgs) ];
+  };
+  marshal = {
+    pname = "marshal";
+    version = "20211020-git";
+    asds = [ "marshal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-marshal/2021-10-20/cl-marshal-20211020-git.tgz";
+      sha256 = "0wjbhq06l78pijw6ws3cjj4bbaga1faswvp77xargciqmga5dzyc";
+      system = "marshal";
+      asd = "marshal";
+    });
+    systems = [ "marshal" ];
+    lispLibs = [  ];
+  };
+  marshal-tests = {
+    pname = "marshal-tests";
+    version = "20211020-git";
+    asds = [ "marshal-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-marshal/2021-10-20/cl-marshal-20211020-git.tgz";
+      sha256 = "0wjbhq06l78pijw6ws3cjj4bbaga1faswvp77xargciqmga5dzyc";
+      system = "marshal-tests";
+      asd = "marshal-tests";
+    });
+    systems = [ "marshal-tests" ];
+    lispLibs = [ (getAttr "marshal" pkgs) (getAttr "xlunit" pkgs) ];
+  };
+  math = {
+    pname = "math";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math" ];
+    lispLibs = [ (getAttr "cl-utilities" pkgs) (getAttr "font-discovery" pkgs) (getAttr "vgplot" pkgs) ];
+  };
+  math_slash_2d-array = {
+    pname = "math_2d-array";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/2d-array" ];
+    lispLibs = [  ];
+  };
+  math_slash_appr = {
+    pname = "math_appr";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/appr" ];
+    lispLibs = [ (getAttr "cl-utilities" pkgs) ];
+  };
+  math_slash_arr-matr = {
+    pname = "math_arr-matr";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/arr-matr" ];
+    lispLibs = [ (getAttr "cl-utilities" pkgs) ];
+  };
+  math_slash_coord = {
+    pname = "math_coord";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/coord" ];
+    lispLibs = [  ];
+  };
+  math_slash_core = {
+    pname = "math_core";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/core" ];
+    lispLibs = [  ];
+  };
+  math_slash_docs = {
+    pname = "math_docs";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/docs" ];
+    lispLibs = [ (getAttr "codex" pkgs) (getAttr "math" pkgs) (getAttr "mnas-package" pkgs) ];
+  };
+  math_slash_geom = {
+    pname = "math_geom";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/geom" ];
+    lispLibs = [  ];
+  };
+  math_slash_gnuplot = {
+    pname = "math_gnuplot";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/gnuplot" ];
+    lispLibs = [ (getAttr "font-discovery" pkgs) (getAttr "vgplot" pkgs) ];
+  };
+  math_slash_list-matr = {
+    pname = "math_list-matr";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/list-matr" ];
+    lispLibs = [ (getAttr "cl-utilities" pkgs) ];
+  };
+  math_slash_ls-gauss = {
+    pname = "math_ls-gauss";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/ls-gauss" ];
+    lispLibs = [ (getAttr "cl-utilities" pkgs) ];
+  };
+  math_slash_ls-rotation = {
+    pname = "math_ls-rotation";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/ls-rotation" ];
+    lispLibs = [  ];
+  };
+  math_slash_ls-solve = {
+    pname = "math_ls-solve";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/ls-solve" ];
+    lispLibs = [ (getAttr "gsll" pkgs) (getAttr "math" pkgs) ];
+  };
+  math_slash_smooth = {
+    pname = "math_smooth";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/smooth" ];
+    lispLibs = [  ];
+  };
+  math_slash_stat = {
+    pname = "math_stat";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/stat" ];
+    lispLibs = [  ];
+  };
+  math_slash_tests = {
+    pname = "math_tests";
+    version = "20211230-git";
+    asds = [ "math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/math/2021-12-30/math-20211230-git.tgz";
+      sha256 = "0h4zxc3z7k34396085shx2wikppqh8zf2d45i55s65whv7hh04vk";
+      system = "math";
+      asd = "math";
+    });
+    systems = [ "math/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "math" pkgs) ];
+  };
+  mathkit = {
+    pname = "mathkit";
+    version = "20160208-git";
+    asds = [ "mathkit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mathkit/2016-02-08/mathkit-20160208-git.tgz";
+      sha256 = "174y6ndmf52h8sml87qjfl48llmynvdizzk2h0mr85zbaysx73i3";
+      system = "mathkit";
+      asd = "mathkit";
+    });
+    systems = [ "mathkit" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  matrix-case = {
+    pname = "matrix-case";
+    version = "20211020-git";
+    asds = [ "matrix-case" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/matrix-case/2021-10-20/matrix-case-20211020-git.tgz";
+      sha256 = "17k7x7wcl78xw4ajd38gva2dw7snsm9jppbnnl4by2s0grsqg50a";
+      system = "matrix-case";
+      asd = "matrix-case";
+    });
+    systems = [ "matrix-case" ];
+    lispLibs = [ (getAttr "jingoh_dot_documentizer" pkgs) ];
+  };
+  matrix-case_dot_test = {
+    pname = "matrix-case.test";
+    version = "20211020-git";
+    asds = [ "matrix-case.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/matrix-case/2021-10-20/matrix-case-20211020-git.tgz";
+      sha256 = "17k7x7wcl78xw4ajd38gva2dw7snsm9jppbnnl4by2s0grsqg50a";
+      system = "matrix-case.test";
+      asd = "matrix-case.test";
+    });
+    systems = [ "matrix-case.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "matrix-case" pkgs) ];
+  };
+  maxpc = {
+    pname = "maxpc";
+    version = "20200427-git";
+    asds = [ "maxpc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maxpc/2020-04-27/maxpc-20200427-git.tgz";
+      sha256 = "15wrjbr2js6j67c1dd4p2qxj49q9iqv1lhb7cwdcwpn79crr39gf";
+      system = "maxpc";
+      asd = "maxpc";
+    });
+    systems = [ "maxpc" ];
+    lispLibs = [  ];
+  };
+  maxpc-apache = {
+    pname = "maxpc-apache";
+    version = "20211020-git";
+    asds = [ "maxpc-apache" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/april/2021-10-20/april-20211020-git.tgz";
+      sha256 = "0xzk50fwkbp8sqvhhaqnq9hc19a6r5naf99k6h8pxns8mg922gg0";
+      system = "maxpc-apache";
+      asd = "maxpc-apache";
+    });
+    systems = [ "maxpc-apache" ];
+    lispLibs = [  ];
+  };
+  maxpc-test = {
+    pname = "maxpc-test";
+    version = "20200427-git";
+    asds = [ "maxpc-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/maxpc/2020-04-27/maxpc-20200427-git.tgz";
+      sha256 = "15wrjbr2js6j67c1dd4p2qxj49q9iqv1lhb7cwdcwpn79crr39gf";
+      system = "maxpc-test";
+      asd = "maxpc-test";
+    });
+    systems = [ "maxpc-test" ];
+    lispLibs = [ (getAttr "maxpc" pkgs) ];
+  };
+  mbe = {
+    pname = "mbe";
+    version = "20200218-git";
+    asds = [ "mbe" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mbe/2020-02-18/mbe-20200218-git.tgz";
+      sha256 = "1wlhlddfv0jbqliqlvhxkmmj9pfym0f9qlvjjmlrkvx6fxpv0450";
+      system = "mbe";
+      asd = "mbe";
+    });
+    systems = [ "mbe" ];
+    lispLibs = [  ];
+  };
+  mcase = {
+    pname = "mcase";
+    version = "20211020-git";
+    asds = [ "mcase" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcase/2021-10-20/mcase-20211020-git.tgz";
+      sha256 = "1k0agm57xbzlskdi8cgsg2z9lsamm4jl6fw7687z3bw1s2dbsm59";
+      system = "mcase";
+      asd = "mcase";
+    });
+    systems = [ "mcase" ];
+    lispLibs = [ (getAttr "jingoh_dot_documentizer" pkgs) (getAttr "millet" pkgs) ];
+  };
+  mcase_dot_test = {
+    pname = "mcase.test";
+    version = "20211020-git";
+    asds = [ "mcase.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcase/2021-10-20/mcase-20211020-git.tgz";
+      sha256 = "1k0agm57xbzlskdi8cgsg2z9lsamm4jl6fw7687z3bw1s2dbsm59";
+      system = "mcase.test";
+      asd = "mcase.test";
+    });
+    systems = [ "mcase.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "mcase" pkgs) ];
+  };
+  mcclim = {
+    pname = "mcclim";
+    version = "20211230-git";
+    asds = [ "mcclim" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim";
+      asd = "mcclim";
+    });
+    systems = [ "mcclim" ];
+    lispLibs = [ (getAttr "clim" pkgs) (getAttr "clim-pdf" pkgs) (getAttr "clim-postscript" pkgs) (getAttr "conditional-commands" pkgs) (getAttr "mcclim-bezier" pkgs) (getAttr "mcclim-bitmaps" pkgs) (getAttr "mcclim-clx" pkgs) (getAttr "mcclim-clx-fb" pkgs) (getAttr "mcclim-franz" pkgs) (getAttr "mcclim-null" pkgs) ];
+  };
+  mcclim-backend-common = {
+    pname = "mcclim-backend-common";
+    version = "20211230-git";
+    asds = [ "mcclim-backend-common" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-backend-common";
+      asd = "mcclim-backend-common";
+    });
+    systems = [ "mcclim-backend-common" ];
+    lispLibs = [ (getAttr "clim" pkgs) ];
+  };
+  mcclim-backend-common_slash_test = {
+    pname = "mcclim-backend-common_test";
+    version = "20211230-git";
+    asds = [ "mcclim-backend-common" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-backend-common";
+      asd = "mcclim-backend-common";
+    });
+    systems = [ "mcclim-backend-common/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "mcclim-backend-common" pkgs) ];
+  };
+  mcclim-bezier = {
+    pname = "mcclim-bezier";
+    version = "20211230-git";
+    asds = [ "mcclim-bezier" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-bezier";
+      asd = "mcclim-bezier";
+    });
+    systems = [ "mcclim-bezier" ];
+    lispLibs = [ (getAttr "clim" pkgs) (getAttr "clim-pdf" pkgs) (getAttr "clim-postscript" pkgs) (getAttr "mcclim-clx" pkgs) (getAttr "mcclim-null" pkgs) (getAttr "mcclim-render" pkgs) ];
+  };
+  mcclim-bezier_slash_clx = {
+    pname = "mcclim-bezier_clx";
+    version = "20211230-git";
+    asds = [ "mcclim-bezier" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-bezier";
+      asd = "mcclim-bezier";
+    });
+    systems = [ "mcclim-bezier/clx" ];
+    lispLibs = [ (getAttr "clim" pkgs) (getAttr "clim-pdf" pkgs) (getAttr "clim-postscript" pkgs) (getAttr "mcclim-clx" pkgs) (getAttr "mcclim-null" pkgs) (getAttr "mcclim-render" pkgs) ];
+  };
+  mcclim-bezier_slash_core = {
+    pname = "mcclim-bezier_core";
+    version = "20211230-git";
+    asds = [ "mcclim-bezier" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-bezier";
+      asd = "mcclim-bezier";
+    });
+    systems = [ "mcclim-bezier/core" ];
+    lispLibs = [ (getAttr "clim" pkgs) (getAttr "clim-pdf" pkgs) (getAttr "clim-postscript" pkgs) (getAttr "mcclim-null" pkgs) (getAttr "mcclim-render" pkgs) ];
+  };
+  mcclim-bitmaps = {
+    pname = "mcclim-bitmaps";
+    version = "20211230-git";
+    asds = [ "mcclim-bitmaps" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-bitmaps";
+      asd = "mcclim-bitmaps";
+    });
+    systems = [ "mcclim-bitmaps" ];
+    lispLibs = [ (getAttr "clim-basic" pkgs) (getAttr "opticl" pkgs) ];
+  };
+  mcclim-clx = {
+    pname = "mcclim-clx";
+    version = "20211230-git";
+    asds = [ "mcclim-clx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-clx";
+      asd = "mcclim-clx";
+    });
+    systems = [ "mcclim-clx" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-dejavu" pkgs) (getAttr "cl-unicode" pkgs) (getAttr "cl-aa" pkgs) (getAttr "cl-paths-ttf" pkgs) (getAttr "cl-vectors" pkgs) (getAttr "clx" pkgs) (getAttr "clim-basic" pkgs) (getAttr "mcclim-backend-common" pkgs) (getAttr "zpb-ttf" pkgs) ];
+  };
+  mcclim-clx-fb = {
+    pname = "mcclim-clx-fb";
+    version = "20211230-git";
+    asds = [ "mcclim-clx-fb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-clx-fb";
+      asd = "mcclim-clx-fb";
+    });
+    systems = [ "mcclim-clx-fb" ];
+    lispLibs = [ (getAttr "mcclim-backend-common" pkgs) (getAttr "mcclim-clx" pkgs) (getAttr "mcclim-render" pkgs) ];
+  };
+  mcclim-fontconfig = {
+    pname = "mcclim-fontconfig";
+    version = "20211230-git";
+    asds = [ "mcclim-fontconfig" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-fontconfig";
+      asd = "mcclim-fontconfig";
+    });
+    systems = [ "mcclim-fontconfig" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  mcclim-fonts = {
+    pname = "mcclim-fonts";
+    version = "20211230-git";
+    asds = [ "mcclim-fonts" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-fonts";
+      asd = "mcclim-fonts";
+    });
+    systems = [ "mcclim-fonts" ];
+    lispLibs = [ (getAttr "clim-basic" pkgs) ];
+  };
+  mcclim-fonts_slash_truetype = {
+    pname = "mcclim-fonts_truetype";
+    version = "20211230-git";
+    asds = [ "mcclim-fonts" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-fonts";
+      asd = "mcclim-fonts";
+    });
+    systems = [ "mcclim-fonts/truetype" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-dejavu" pkgs) (getAttr "cl-aa" pkgs) (getAttr "cl-paths-ttf" pkgs) (getAttr "cl-vectors" pkgs) (getAttr "clim-basic" pkgs) (getAttr "zpb-ttf" pkgs) ];
+  };
+  mcclim-franz = {
+    pname = "mcclim-franz";
+    version = "20211230-git";
+    asds = [ "mcclim-franz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-franz";
+      asd = "mcclim-franz";
+    });
+    systems = [ "mcclim-franz" ];
+    lispLibs = [ (getAttr "clim" pkgs) ];
+  };
+  mcclim-harfbuzz = {
+    pname = "mcclim-harfbuzz";
+    version = "20211230-git";
+    asds = [ "mcclim-harfbuzz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-harfbuzz";
+      asd = "mcclim-harfbuzz";
+    });
+    systems = [ "mcclim-harfbuzz" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  mcclim-layouts = {
+    pname = "mcclim-layouts";
+    version = "20211230-git";
+    asds = [ "mcclim-layouts" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-layouts";
+      asd = "mcclim-layouts";
+    });
+    systems = [ "mcclim-layouts" ];
+    lispLibs = [  ];
+  };
+  mcclim-layouts_slash_tab = {
+    pname = "mcclim-layouts_tab";
+    version = "20211230-git";
+    asds = [ "mcclim-layouts" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-layouts";
+      asd = "mcclim-layouts";
+    });
+    systems = [ "mcclim-layouts/tab" ];
+    lispLibs = [ (getAttr "clim" pkgs) ];
+  };
+  mcclim-null = {
+    pname = "mcclim-null";
+    version = "20211230-git";
+    asds = [ "mcclim-null" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-null";
+      asd = "mcclim-null";
+    });
+    systems = [ "mcclim-null" ];
+    lispLibs = [ (getAttr "clim" pkgs) ];
+  };
+  mcclim-raster-image = {
+    pname = "mcclim-raster-image";
+    version = "20211230-git";
+    asds = [ "mcclim-raster-image" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-raster-image";
+      asd = "mcclim-raster-image";
+    });
+    systems = [ "mcclim-raster-image" ];
+    lispLibs = [ (getAttr "clim-basic" pkgs) (getAttr "mcclim-backend-common" pkgs) (getAttr "mcclim-render" pkgs) ];
+  };
+  mcclim-raster-image_slash_test = {
+    pname = "mcclim-raster-image_test";
+    version = "20211230-git";
+    asds = [ "mcclim-raster-image" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-raster-image";
+      asd = "mcclim-raster-image";
+    });
+    systems = [ "mcclim-raster-image/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "mcclim" pkgs) (getAttr "mcclim-raster-image" pkgs) ];
+  };
+  mcclim-render = {
+    pname = "mcclim-render";
+    version = "20211230-git";
+    asds = [ "mcclim-render" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-render";
+      asd = "mcclim-render";
+    });
+    systems = [ "mcclim-render" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-dejavu" pkgs) (getAttr "cl-aa" pkgs) (getAttr "cl-paths-ttf" pkgs) (getAttr "cl-vectors" pkgs) (getAttr "clim-basic" pkgs) (getAttr "mcclim-backend-common" pkgs) (getAttr "zpb-ttf" pkgs) ];
+  };
+  mcclim-tree-with-cross-edges = {
+    pname = "mcclim-tree-with-cross-edges";
+    version = "20211230-git";
+    asds = [ "mcclim-tree-with-cross-edges" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim-tree-with-cross-edges";
+      asd = "mcclim-tree-with-cross-edges";
+    });
+    systems = [ "mcclim-tree-with-cross-edges" ];
+    lispLibs = [ (getAttr "mcclim" pkgs) ];
+  };
+  mcclim_slash_extensions = {
+    pname = "mcclim_extensions";
+    version = "20211230-git";
+    asds = [ "mcclim" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim";
+      asd = "mcclim";
+    });
+    systems = [ "mcclim/extensions" ];
+    lispLibs = [ (getAttr "clim" pkgs) (getAttr "clim-pdf" pkgs) (getAttr "clim-postscript" pkgs) (getAttr "conditional-commands" pkgs) (getAttr "mcclim-bezier" pkgs) (getAttr "mcclim-bitmaps" pkgs) (getAttr "mcclim-franz" pkgs) ];
+  };
+  mcclim_slash_looks = {
+    pname = "mcclim_looks";
+    version = "20211230-git";
+    asds = [ "mcclim" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim";
+      asd = "mcclim";
+    });
+    systems = [ "mcclim/looks" ];
+    lispLibs = [ (getAttr "clim" pkgs) (getAttr "mcclim-clx" pkgs) (getAttr "mcclim-clx-fb" pkgs) (getAttr "mcclim-null" pkgs) ];
+  };
+  mcclim_slash_test = {
+    pname = "mcclim_test";
+    version = "20211230-git";
+    asds = [ "mcclim" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim";
+      asd = "mcclim";
+    });
+    systems = [ "mcclim/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "mcclim" pkgs) ];
+  };
+  mcclim_slash_test-util = {
+    pname = "mcclim_test-util";
+    version = "20211230-git";
+    asds = [ "mcclim" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "mcclim";
+      asd = "mcclim";
+    });
+    systems = [ "mcclim/test-util" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "mcclim" pkgs) ];
+  };
+  md5 = {
+    pname = "md5";
+    version = "20210630-git";
+    asds = [ "md5" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/md5/2021-06-30/md5-20210630-git.tgz";
+      sha256 = "1g20np6rhn3y08z8mlmlk721mw2207s52v2pwp4smm3lz25sx3q5";
+      system = "md5";
+      asd = "md5";
+    });
+    systems = [ "md5" ];
+    lispLibs = [  ];
+  };
+  media-types = {
+    pname = "media-types";
+    version = "20180711-git";
+    asds = [ "media-types" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/media-types/2018-07-11/media-types-20180711-git.tgz";
+      sha256 = "0wabq96srzf7x30q2k9cxwi1jabffv9dvdfm1a8ihyzbw3mii3rd";
+      system = "media-types";
+      asd = "media-types";
+    });
+    systems = [ "media-types" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  media-types_slash_tests = {
+    pname = "media-types_tests";
+    version = "20180711-git";
+    asds = [ "media-types" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/media-types/2018-07-11/media-types-20180711-git.tgz";
+      sha256 = "0wabq96srzf7x30q2k9cxwi1jabffv9dvdfm1a8ihyzbw3mii3rd";
+      system = "media-types";
+      asd = "media-types";
+    });
+    systems = [ "media-types/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "media-types" pkgs) ];
+  };
+  mel-base = {
+    pname = "mel-base";
+    version = "20180228-git";
+    asds = [ "mel-base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mel-base/2018-02-28/mel-base-20180228-git.tgz";
+      sha256 = "1dvhmlkxasww3kb7xnwqlmdvi31w2awjrbkgk5d0hsfzqmyhhjh0";
+      system = "mel-base";
+      asd = "mel-base";
+    });
+    systems = [ "mel-base" ];
+    lispLibs = [ (getAttr "cl_plus_ssl" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  memoize = {
+    pname = "memoize";
+    version = "20140826-http";
+    asds = [ "memoize" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/memoize/2014-08-26/memoize-20140826-http.tgz";
+      sha256 = "1f1plqy9xdv40235b7kkm63gsgssk8l81azhfniy8j9yww39gihf";
+      system = "memoize";
+      asd = "memoize";
+    });
+    systems = [ "memoize" ];
+    lispLibs = [  ];
+  };
+  message-oo = {
+    pname = "message-oo";
+    version = "20130615-git";
+    asds = [ "message-oo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/message-oo/2013-06-15/message-oo-20130615-git.tgz";
+      sha256 = "164yypzhr6pxb84x47s9vjl97imbq5r8sxan22101q0y1jn3dznp";
+      system = "message-oo";
+      asd = "message-oo";
+    });
+    systems = [ "message-oo" ];
+    lispLibs = [  ];
+  };
+  messagebox = {
+    pname = "messagebox";
+    version = "20211020-git";
+    asds = [ "messagebox" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/messagebox/2021-10-20/messagebox-20211020-git.tgz";
+      sha256 = "17gbsqsz1nf09qhhhm5rpkmvkgf1pv6cyxrbmlplr3abvr4cqfh4";
+      system = "messagebox";
+      asd = "messagebox";
+    });
+    systems = [ "messagebox" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) (getAttr "trivial-features" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  meta = {
+    pname = "meta";
+    version = "20150608-git";
+    asds = [ "meta" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/meta/2015-06-08/meta-20150608-git.tgz";
+      sha256 = "08s53zj3mcx82kszp1bg2vsb4kydvkc70kj4hpq9h1l5a1wh44cy";
+      system = "meta";
+      asd = "meta";
+    });
+    systems = [ "meta" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  meta-sexp = {
+    pname = "meta-sexp";
+    version = "20201016-git";
+    asds = [ "meta-sexp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/meta-sexp/2020-10-16/meta-sexp-20201016-git.tgz";
+      sha256 = "14z4xglybsj4pdaifhjvnki0vm0wg985x00n94djc0fdcclczv1c";
+      system = "meta-sexp";
+      asd = "meta-sexp";
+    });
+    systems = [ "meta-sexp" ];
+    lispLibs = [  ];
+  };
+  metabang-bind = {
+    pname = "metabang-bind";
+    version = "20200218-git";
+    asds = [ "metabang-bind" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metabang-bind/2020-02-18/metabang-bind-20200218-git.tgz";
+      sha256 = "0681lp2j084w3dx02ah1vm5pk83cp5k090anwdlrjaxd1j4kbpbr";
+      system = "metabang-bind";
+      asd = "metabang-bind";
+    });
+    systems = [ "metabang-bind" ];
+    lispLibs = [  ];
+  };
+  metabang-bind-test = {
+    pname = "metabang-bind-test";
+    version = "20200218-git";
+    asds = [ "metabang-bind-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metabang-bind/2020-02-18/metabang-bind-20200218-git.tgz";
+      sha256 = "0681lp2j084w3dx02ah1vm5pk83cp5k090anwdlrjaxd1j4kbpbr";
+      system = "metabang-bind-test";
+      asd = "metabang-bind-test";
+    });
+    systems = [ "metabang-bind-test" ];
+    lispLibs = [ (getAttr "lift" pkgs) (getAttr "metabang-bind" pkgs) ];
+  };
+  metacopy = {
+    pname = "metacopy";
+    version = "20170403-darcs";
+    asds = [ "metacopy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metacopy/2017-04-03/metacopy-20170403-darcs.tgz";
+      sha256 = "1xwvc18l5fc33ffqa6jz5g0qz6mpabia81bcmqf3sz24apkpr49x";
+      system = "metacopy";
+      asd = "metacopy";
+    });
+    systems = [ "metacopy" ];
+    lispLibs = [ (getAttr "moptilities" pkgs) ];
+  };
+  metacopy-with-contextl = {
+    pname = "metacopy-with-contextl";
+    version = "20170403-darcs";
+    asds = [ "metacopy-with-contextl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metacopy/2017-04-03/metacopy-20170403-darcs.tgz";
+      sha256 = "1xwvc18l5fc33ffqa6jz5g0qz6mpabia81bcmqf3sz24apkpr49x";
+      system = "metacopy-with-contextl";
+      asd = "metacopy-with-contextl";
+    });
+    systems = [ "metacopy-with-contextl" ];
+    lispLibs = [ (getAttr "contextl" pkgs) (getAttr "metacopy" pkgs) ];
+  };
+  metacopy-with-contextl_slash_test = {
+    pname = "metacopy-with-contextl_test";
+    version = "20170403-darcs";
+    asds = [ "metacopy-with-contextl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metacopy/2017-04-03/metacopy-20170403-darcs.tgz";
+      sha256 = "1xwvc18l5fc33ffqa6jz5g0qz6mpabia81bcmqf3sz24apkpr49x";
+      system = "metacopy-with-contextl";
+      asd = "metacopy-with-contextl";
+    });
+    systems = [ "metacopy-with-contextl/test" ];
+    lispLibs = [ (getAttr "lift" pkgs) (getAttr "metacopy" pkgs) (getAttr "metacopy-with-contextl" pkgs) ];
+  };
+  metacopy_slash_test = {
+    pname = "metacopy_test";
+    version = "20170403-darcs";
+    asds = [ "metacopy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metacopy/2017-04-03/metacopy-20170403-darcs.tgz";
+      sha256 = "1xwvc18l5fc33ffqa6jz5g0qz6mpabia81bcmqf3sz24apkpr49x";
+      system = "metacopy";
+      asd = "metacopy";
+    });
+    systems = [ "metacopy/test" ];
+    lispLibs = [ (getAttr "lift" pkgs) (getAttr "metacopy" pkgs) ];
+  };
+  metalock = {
+    pname = "metalock";
+    version = "20200925-git";
+    asds = [ "metalock" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metalock/2020-09-25/metalock-20200925-git.tgz";
+      sha256 = "0z2vk0s694zhnkai593q42vln5a6ykm8pilyikc4qp9aw9r43lc5";
+      system = "metalock";
+      asd = "metalock";
+    });
+    systems = [ "metalock" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  metap = {
+    pname = "metap";
+    version = "20150505-git";
+    asds = [ "metap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metap/2015-05-05/metap-20150505-git.tgz";
+      sha256 = "0drqyjscl0lmhgplld6annmlqma83q76xkxnahcq4ksnhpbsz9wx";
+      system = "metap";
+      asd = "metap";
+    });
+    systems = [ "metap" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  metap-test = {
+    pname = "metap-test";
+    version = "20150505-git";
+    asds = [ "metap-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metap/2015-05-05/metap-20150505-git.tgz";
+      sha256 = "0drqyjscl0lmhgplld6annmlqma83q76xkxnahcq4ksnhpbsz9wx";
+      system = "metap-test";
+      asd = "metap-test";
+    });
+    systems = [ "metap-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "metap" pkgs) ];
+  };
+  metatilities = {
+    pname = "metatilities";
+    version = "20180228-git";
+    asds = [ "metatilities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metatilities/2018-02-28/metatilities-20180228-git.tgz";
+      sha256 = "0vqhndnhrv40ixkj5lslr0h2fy79609gi0wgbqzcz82vkyx9d6vd";
+      system = "metatilities";
+      asd = "metatilities";
+    });
+    systems = [ "metatilities" ];
+    lispLibs = [ (getAttr "asdf-system-connections" pkgs) (getAttr "cl-containers" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "metatilities-base" pkgs) (getAttr "moptilities" pkgs) ];
+  };
+  metatilities-base = {
+    pname = "metatilities-base";
+    version = "20191227-git";
+    asds = [ "metatilities-base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metatilities-base/2019-12-27/metatilities-base-20191227-git.tgz";
+      sha256 = "069rk5ncwvjnnzvvky6xiriynl72yzvjpnzl6jw9jf3b8na14zrk";
+      system = "metatilities-base";
+      asd = "metatilities-base";
+    });
+    systems = [ "metatilities-base" ];
+    lispLibs = [  ];
+  };
+  metatilities-base-test = {
+    pname = "metatilities-base-test";
+    version = "20191227-git";
+    asds = [ "metatilities-base-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metatilities-base/2019-12-27/metatilities-base-20191227-git.tgz";
+      sha256 = "069rk5ncwvjnnzvvky6xiriynl72yzvjpnzl6jw9jf3b8na14zrk";
+      system = "metatilities-base-test";
+      asd = "metatilities-base-test";
+    });
+    systems = [ "metatilities-base-test" ];
+    lispLibs = [ (getAttr "lift" pkgs) (getAttr "metatilities-base" pkgs) ];
+  };
+  metatilities-test = {
+    pname = "metatilities-test";
+    version = "20180228-git";
+    asds = [ "metatilities-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metatilities/2018-02-28/metatilities-20180228-git.tgz";
+      sha256 = "0vqhndnhrv40ixkj5lslr0h2fy79609gi0wgbqzcz82vkyx9d6vd";
+      system = "metatilities-test";
+      asd = "metatilities-test";
+    });
+    systems = [ "metatilities-test" ];
+    lispLibs = [ (getAttr "lift" pkgs) (getAttr "metatilities" pkgs) ];
+  };
+  metatilities_slash_with-lift = {
+    pname = "metatilities_with-lift";
+    version = "20180228-git";
+    asds = [ "metatilities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metatilities/2018-02-28/metatilities-20180228-git.tgz";
+      sha256 = "0vqhndnhrv40ixkj5lslr0h2fy79609gi0wgbqzcz82vkyx9d6vd";
+      system = "metatilities";
+      asd = "metatilities";
+    });
+    systems = [ "metatilities/with-lift" ];
+    lispLibs = [ (getAttr "lift" pkgs) (getAttr "metatilities-base" pkgs) ];
+  };
+  metering = {
+    pname = "metering";
+    version = "20200218-git";
+    asds = [ "metering" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metering/2020-02-18/metering-20200218-git.tgz";
+      sha256 = "0jx3ypk8m815yp7208xkcxkvila847mvna25a2p22ihnj0ms9rn1";
+      system = "metering";
+      asd = "metering";
+    });
+    systems = [ "metering" ];
+    lispLibs = [  ];
+  };
+  metering_slash_test = {
+    pname = "metering_test";
+    version = "20200218-git";
+    asds = [ "metering" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/metering/2020-02-18/metering-20200218-git.tgz";
+      sha256 = "0jx3ypk8m815yp7208xkcxkvila847mvna25a2p22ihnj0ms9rn1";
+      system = "metering";
+      asd = "metering";
+    });
+    systems = [ "metering/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "metering" pkgs) ];
+  };
+  method-combination-utilities = {
+    pname = "method-combination-utilities";
+    version = "20141106-git";
+    asds = [ "method-combination-utilities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/method-combination-utilities/2014-11-06/method-combination-utilities-20141106-git.tgz";
+      sha256 = "1lgc515j87lbb48mjys0j6p8bxzifzjw5g8i825lsdmajmwj3vis";
+      system = "method-combination-utilities";
+      asd = "method-combination-utilities";
+    });
+    systems = [ "method-combination-utilities" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  method-combination-utilities_dot_tests = {
+    pname = "method-combination-utilities.tests";
+    version = "20141106-git";
+    asds = [ "method-combination-utilities.tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/method-combination-utilities/2014-11-06/method-combination-utilities-20141106-git.tgz";
+      sha256 = "1lgc515j87lbb48mjys0j6p8bxzifzjw5g8i825lsdmajmwj3vis";
+      system = "method-combination-utilities.tests";
+      asd = "method-combination-utilities";
+    });
+    systems = [ "method-combination-utilities.tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "method-combination-utilities" pkgs) ];
+  };
+  method-hooks = {
+    pname = "method-hooks";
+    version = "20200925-git";
+    asds = [ "method-hooks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/method-hooks/2020-09-25/method-hooks-20200925-git.tgz";
+      sha256 = "0kzijk02wjzms3hihmn6n6p9r6awkrsqlkghf6ixzf6400fiy212";
+      system = "method-hooks";
+      asd = "method-hooks";
+    });
+    systems = [ "method-hooks" ];
+    lispLibs = [  ];
+  };
+  method-hooks-test = {
+    pname = "method-hooks-test";
+    version = "20200925-git";
+    asds = [ "method-hooks-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/method-hooks/2020-09-25/method-hooks-20200925-git.tgz";
+      sha256 = "0kzijk02wjzms3hihmn6n6p9r6awkrsqlkghf6ixzf6400fiy212";
+      system = "method-hooks-test";
+      asd = "method-hooks-test";
+    });
+    systems = [ "method-hooks-test" ];
+    lispLibs = [ (getAttr "method-hooks" pkgs) (getAttr "parachute" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  method-versions = {
+    pname = "method-versions";
+    version = "0.1.2011.05.18";
+    asds = [ "method-versions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/method-versions/2011-05-22/method-versions_0.1.2011.05.18.tgz";
+      sha256 = "119x3dbjry25issq2m8xcacknd1y9mcnla5rhqzcsrj58zsmwmwf";
+      system = "method-versions";
+      asd = "method-versions";
+    });
+    systems = [ "method-versions" ];
+    lispLibs = [  ];
+  };
+  mexpr = {
+    pname = "mexpr";
+    version = "20150709-git";
+    asds = [ "mexpr" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mexpr/2015-07-09/mexpr-20150709-git.tgz";
+      sha256 = "0ri9cp7vhnn9sah1lhvxn523c342n0q4v0xzi6fzlfvpj84jfzqk";
+      system = "mexpr";
+      asd = "mexpr";
+    });
+    systems = [ "mexpr" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-syntax" pkgs) ];
+  };
+  mexpr-tests = {
+    pname = "mexpr-tests";
+    version = "20150709-git";
+    asds = [ "mexpr-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mexpr/2015-07-09/mexpr-20150709-git.tgz";
+      sha256 = "0ri9cp7vhnn9sah1lhvxn523c342n0q4v0xzi6fzlfvpj84jfzqk";
+      system = "mexpr-tests";
+      asd = "mexpr-tests";
+    });
+    systems = [ "mexpr-tests" ];
+    lispLibs = [ (getAttr "mexpr" pkgs) (getAttr "named-readtables" pkgs) (getAttr "should-test" pkgs) ];
+  };
+  mgl-pax = {
+    pname = "mgl-pax";
+    version = "20211230-git";
+    asds = [ "mgl-pax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mgl-pax/2021-12-30/mgl-pax-20211230-git.tgz";
+      sha256 = "0iyl6qp9ffrjmm6bdl883x1xac3gqwkqgp189wq03xsrbz7ybyry";
+      system = "mgl-pax";
+      asd = "mgl-pax";
+    });
+    systems = [ "mgl-pax" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "named-readtables" pkgs) (getAttr "pythonic-string-reader" pkgs) (getAttr "swank" pkgs) ];
+  };
+  mgl-pax_slash_document = {
+    pname = "mgl-pax_document";
+    version = "20211230-git";
+    asds = [ "mgl-pax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mgl-pax/2021-12-30/mgl-pax-20211230-git.tgz";
+      sha256 = "0iyl6qp9ffrjmm6bdl883x1xac3gqwkqgp189wq03xsrbz7ybyry";
+      system = "mgl-pax";
+      asd = "mgl-pax";
+    });
+    systems = [ "mgl-pax/document" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "_3bmd-ext-code-blocks" pkgs) (getAttr "colorize" pkgs) (getAttr "md5" pkgs) (getAttr "mgl-pax" pkgs) ];
+  };
+  mgl-pax_slash_full = {
+    pname = "mgl-pax_full";
+    version = "20211230-git";
+    asds = [ "mgl-pax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mgl-pax/2021-12-30/mgl-pax-20211230-git.tgz";
+      sha256 = "0iyl6qp9ffrjmm6bdl883x1xac3gqwkqgp189wq03xsrbz7ybyry";
+      system = "mgl-pax";
+      asd = "mgl-pax";
+    });
+    systems = [ "mgl-pax/full" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "_3bmd-ext-code-blocks" pkgs) (getAttr "colorize" pkgs) (getAttr "md5" pkgs) (getAttr "mgl-pax" pkgs) ];
+  };
+  mgl-pax_slash_navigate = {
+    pname = "mgl-pax_navigate";
+    version = "20211230-git";
+    asds = [ "mgl-pax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mgl-pax/2021-12-30/mgl-pax-20211230-git.tgz";
+      sha256 = "0iyl6qp9ffrjmm6bdl883x1xac3gqwkqgp189wq03xsrbz7ybyry";
+      system = "mgl-pax";
+      asd = "mgl-pax";
+    });
+    systems = [ "mgl-pax/navigate" ];
+    lispLibs = [ (getAttr "mgl-pax" pkgs) ];
+  };
+  mgl-pax_slash_test = {
+    pname = "mgl-pax_test";
+    version = "20211230-git";
+    asds = [ "mgl-pax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mgl-pax/2021-12-30/mgl-pax-20211230-git.tgz";
+      sha256 = "0iyl6qp9ffrjmm6bdl883x1xac3gqwkqgp189wq03xsrbz7ybyry";
+      system = "mgl-pax";
+      asd = "mgl-pax";
+    });
+    systems = [ "mgl-pax/test" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "_3bmd-ext-code-blocks" pkgs) (getAttr "colorize" pkgs) (getAttr "md5" pkgs) (getAttr "mgl-pax" pkgs) ];
+  };
+  mgl-pax_slash_transcribe = {
+    pname = "mgl-pax_transcribe";
+    version = "20211230-git";
+    asds = [ "mgl-pax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mgl-pax/2021-12-30/mgl-pax-20211230-git.tgz";
+      sha256 = "0iyl6qp9ffrjmm6bdl883x1xac3gqwkqgp189wq03xsrbz7ybyry";
+      system = "mgl-pax";
+      asd = "mgl-pax";
+    });
+    systems = [ "mgl-pax/transcribe" ];
+    lispLibs = [ (getAttr "mgl-pax" pkgs) ];
+  };
+  mgrs = {
+    pname = "mgrs";
+    version = "20201220-git";
+    asds = [ "mgrs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mgrs/2020-12-20/mgrs-20201220-git.tgz";
+      sha256 = "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz";
+      system = "mgrs";
+      asd = "mgrs";
+    });
+    systems = [ "mgrs" ];
+    lispLibs = [ (getAttr "utm-ups" pkgs) ];
+  };
+  mgrs_slash_tests = {
+    pname = "mgrs_tests";
+    version = "20201220-git";
+    asds = [ "mgrs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mgrs/2020-12-20/mgrs-20201220-git.tgz";
+      sha256 = "0ckvn4hg3wwivzavhfashb6fap4a1q10l8krhbng8bdb54ac10sz";
+      system = "mgrs";
+      asd = "mgrs";
+    });
+    systems = [ "mgrs/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "mgrs" pkgs) ];
+  };
+  micmac = {
+    pname = "micmac";
+    version = "20211209-git";
+    asds = [ "micmac" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/micmac/2021-12-09/micmac-20211209-git.tgz";
+      sha256 = "12iys82pr9m2j4lrw1nbj4qg30b6rg88sxiwqlk849whnpgxj1b7";
+      system = "micmac";
+      asd = "micmac";
+    });
+    systems = [ "micmac" ];
+    lispLibs = [ (getAttr "mgl-pax" pkgs) ];
+  };
+  micmac_slash_test = {
+    pname = "micmac_test";
+    version = "20211209-git";
+    asds = [ "micmac" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/micmac/2021-12-09/micmac-20211209-git.tgz";
+      sha256 = "12iys82pr9m2j4lrw1nbj4qg30b6rg88sxiwqlk849whnpgxj1b7";
+      system = "micmac";
+      asd = "micmac";
+    });
+    systems = [ "micmac/test" ];
+    lispLibs = [ (getAttr "micmac" pkgs) ];
+  };
+  midi = {
+    pname = "midi";
+    version = "20070618";
+    asds = [ "midi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/midi/2010-10-06/midi-20070618.tgz";
+      sha256 = "06hb6vm4dckhr1ln5jn3b31x1yampkl5fl0lfbg9zyazli7fgl87";
+      system = "midi";
+      asd = "midi";
+    });
+    systems = [ "midi" ];
+    lispLibs = [  ];
+  };
+  millet = {
+    pname = "millet";
+    version = "20211209-git";
+    asds = [ "millet" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/millet/2021-12-09/millet-20211209-git.tgz";
+      sha256 = "1jdqyr1f9a6083k7n88rwc6mjmgccj6za50ybl1dlnxqvqj2pw80";
+      system = "millet";
+      asd = "millet";
+    });
+    systems = [ "millet" ];
+    lispLibs = [ (getAttr "jingoh_dot_documentizer" pkgs) ];
+  };
+  millet_dot_test = {
+    pname = "millet.test";
+    version = "20211209-git";
+    asds = [ "millet.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/millet/2021-12-09/millet-20211209-git.tgz";
+      sha256 = "1jdqyr1f9a6083k7n88rwc6mjmgccj6za50ybl1dlnxqvqj2pw80";
+      system = "millet.test";
+      asd = "millet.test";
+    });
+    systems = [ "millet.test" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "jingoh" pkgs) (getAttr "millet" pkgs) ];
+  };
+  minheap = {
+    pname = "minheap";
+    version = "20160628-git";
+    asds = [ "minheap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/minheap/2016-06-28/minheap-20160628-git.tgz";
+      sha256 = "03v0dqxg4kmwvfrlrkq8bmfcv70k9n9f48p9p3z8kmfbc4p3f1vd";
+      system = "minheap";
+      asd = "minheap";
+    });
+    systems = [ "minheap" ];
+    lispLibs = [  ];
+  };
+  minheap-tests = {
+    pname = "minheap-tests";
+    version = "20160628-git";
+    asds = [ "minheap-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/minheap/2016-06-28/minheap-20160628-git.tgz";
+      sha256 = "03v0dqxg4kmwvfrlrkq8bmfcv70k9n9f48p9p3z8kmfbc4p3f1vd";
+      system = "minheap-tests";
+      asd = "minheap-tests";
+    });
+    systems = [ "minheap-tests" ];
+    lispLibs = [ (getAttr "lisp-unit" pkgs) (getAttr "minheap" pkgs) ];
+  };
+  mini-cas = {
+    pname = "mini-cas";
+    version = "20150923-git";
+    asds = [ "mini-cas" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mini-cas/2015-09-23/mini-cas-20150923-git.tgz";
+      sha256 = "1y9a111877lkpssi651q684mj052vp6qr9pz5gl47s6swiqvqp24";
+      system = "mini-cas";
+      asd = "mini-cas";
+    });
+    systems = [ "mini-cas" ];
+    lispLibs = [  ];
+  };
+  minilem = {
+    pname = "minilem";
+    version = "20200218-git";
+    asds = [ "minilem" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/minilem/2020-02-18/minilem-20200218-git.tgz";
+      sha256 = "1hpcgj8k5m11nk1pfd479hrbh15dcas7z1s8w877rqmlf69ga4cp";
+      system = "minilem";
+      asd = "minilem";
+    });
+    systems = [ "minilem" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "esrap" pkgs) (getAttr "inquisitor" pkgs) (getAttr "iterate" pkgs) (getAttr "log4cl" pkgs) (getAttr "optima" pkgs) (getAttr "swank" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "trivial-types" pkgs) (getAttr "uiop" pkgs) (getAttr "usocket" pkgs) (getAttr "yason" pkgs) ];
+  };
+  minpack = {
+    pname = "minpack";
+    version = "20200925-git";
+    asds = [ "minpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "minpack";
+      asd = "minpack";
+    });
+    systems = [ "minpack" ];
+    lispLibs = [ (getAttr "f2cl" pkgs) ];
+  };
+  minpack_slash_test-hybrd = {
+    pname = "minpack_test-hybrd";
+    version = "20200925-git";
+    asds = [ "minpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "minpack";
+      asd = "minpack";
+    });
+    systems = [ "minpack/test-hybrd" ];
+    lispLibs = [ (getAttr "minpack" pkgs) ];
+  };
+  minpack_slash_test-lmdif = {
+    pname = "minpack_test-lmdif";
+    version = "20200925-git";
+    asds = [ "minpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "minpack";
+      asd = "minpack";
+    });
+    systems = [ "minpack/test-lmdif" ];
+    lispLibs = [ (getAttr "minpack" pkgs) ];
+  };
+  misc-extensions = {
+    pname = "misc-extensions";
+    version = "20150608-git";
+    asds = [ "misc-extensions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/misc-extensions/2015-06-08/misc-extensions-20150608-git.tgz";
+      sha256 = "0gz5f4p70qzilnxsnf5lih2n9m4wjcw8hlw4w8mpn9jyhyppyyv0";
+      system = "misc-extensions";
+      asd = "misc-extensions";
+    });
+    systems = [ "misc-extensions" ];
+    lispLibs = [  ];
+  };
+  mito = {
+    pname = "mito";
+    version = "20211209-git";
+    asds = [ "mito" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mito/2021-12-09/mito-20211209-git.tgz";
+      sha256 = "0313nxlj1zqw6zyc23xpf85v0jk32sg0543ql8363jki0pmg7yhs";
+      system = "mito";
+      asd = "mito";
+    });
+    systems = [ "mito" ];
+    lispLibs = [ (getAttr "cl-reexport" pkgs) (getAttr "lack-middleware-mito" pkgs) (getAttr "mito-core" pkgs) (getAttr "mito-migration" pkgs) ];
+  };
+  mito-attachment = {
+    pname = "mito-attachment";
+    version = "20201016-git";
+    asds = [ "mito-attachment" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mito-attachment/2020-10-16/mito-attachment-20201016-git.tgz";
+      sha256 = "0irvcq9kvhfzgi59qi4gwk1qj28rlzk7gsbj4jibi0sn6nhab4jq";
+      system = "mito-attachment";
+      asd = "mito-attachment";
+    });
+    systems = [ "mito-attachment" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-reexport" pkgs) (getAttr "lack-component" pkgs) (getAttr "mito" pkgs) (getAttr "trivial-mimes" pkgs) (getAttr "uiop" pkgs) (getAttr "uuid" pkgs) (getAttr "zs3" pkgs) ];
+  };
+  mito-auth = {
+    pname = "mito-auth";
+    version = "20171019-git";
+    asds = [ "mito-auth" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mito-auth/2017-10-19/mito-auth-20171019-git.tgz";
+      sha256 = "1q1yxjpnshzmia34a68dlscjadzynzyzz14sr4mkkkjyg5dhkazi";
+      system = "mito-auth";
+      asd = "mito-auth";
+    });
+    systems = [ "mito-auth" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "ironclad" pkgs) (getAttr "mito" pkgs) ];
+  };
+  mito-core = {
+    pname = "mito-core";
+    version = "20211209-git";
+    asds = [ "mito-core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mito/2021-12-09/mito-20211209-git.tgz";
+      sha256 = "0313nxlj1zqw6zyc23xpf85v0jk32sg0543ql8363jki0pmg7yhs";
+      system = "mito-core";
+      asd = "mito-core";
+    });
+    systems = [ "mito-core" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "dbi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-reexport" pkgs) (getAttr "closer-mop" pkgs) (getAttr "dissect" pkgs) (getAttr "local-time" pkgs) (getAttr "sxql" pkgs) (getAttr "trivia" pkgs) (getAttr "uuid" pkgs) ];
+  };
+  mito-migration = {
+    pname = "mito-migration";
+    version = "20211209-git";
+    asds = [ "mito-migration" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mito/2021-12-09/mito-20211209-git.tgz";
+      sha256 = "0313nxlj1zqw6zyc23xpf85v0jk32sg0543ql8363jki0pmg7yhs";
+      system = "mito-migration";
+      asd = "mito-migration";
+    });
+    systems = [ "mito-migration" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "dbi" pkgs) (getAttr "cl-reexport" pkgs) (getAttr "closer-mop" pkgs) (getAttr "esrap" pkgs) (getAttr "mito-core" pkgs) (getAttr "sxql" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  mito-test = {
+    pname = "mito-test";
+    version = "20211209-git";
+    asds = [ "mito-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mito/2021-12-09/mito-20211209-git.tgz";
+      sha256 = "0313nxlj1zqw6zyc23xpf85v0jk32sg0543ql8363jki0pmg7yhs";
+      system = "mito-test";
+      asd = "mito-test";
+    });
+    systems = [ "mito-test" ];
+    lispLibs = [ (getAttr "mito" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  mixalot = {
+    pname = "mixalot";
+    version = "20151218-git";
+    asds = [ "mixalot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz";
+      sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9";
+      system = "mixalot";
+      asd = "mixalot";
+    });
+    systems = [ "mixalot" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) ];
+  };
+  mixalot-flac = {
+    pname = "mixalot-flac";
+    version = "20151218-git";
+    asds = [ "mixalot-flac" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz";
+      sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9";
+      system = "mixalot-flac";
+      asd = "mixalot-flac";
+    });
+    systems = [ "mixalot-flac" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "flac" pkgs) (getAttr "mixalot" pkgs) ];
+  };
+  mixalot-mp3 = {
+    pname = "mixalot-mp3";
+    version = "20151218-git";
+    asds = [ "mixalot-mp3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz";
+      sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9";
+      system = "mixalot-mp3";
+      asd = "mixalot-mp3";
+    });
+    systems = [ "mixalot-mp3" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "mixalot" pkgs) (getAttr "mpg123-ffi" pkgs) ];
+  };
+  mixalot-vorbis = {
+    pname = "mixalot-vorbis";
+    version = "20151218-git";
+    asds = [ "mixalot-vorbis" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz";
+      sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9";
+      system = "mixalot-vorbis";
+      asd = "mixalot-vorbis";
+    });
+    systems = [ "mixalot-vorbis" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "mixalot" pkgs) (getAttr "vorbisfile-ffi" pkgs) ];
+  };
+  mk-string-metrics = {
+    pname = "mk-string-metrics";
+    version = "20180131-git";
+    asds = [ "mk-string-metrics" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mk-string-metrics/2018-01-31/mk-string-metrics-20180131-git.tgz";
+      sha256 = "0c50hjpylhkh5phcxxcwqdzpa94vk5pq1j7c6x0d3wfpb2yx0wkd";
+      system = "mk-string-metrics";
+      asd = "mk-string-metrics";
+    });
+    systems = [ "mk-string-metrics" ];
+    lispLibs = [  ];
+  };
+  mk-string-metrics-tests = {
+    pname = "mk-string-metrics-tests";
+    version = "20180131-git";
+    asds = [ "mk-string-metrics-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mk-string-metrics/2018-01-31/mk-string-metrics-20180131-git.tgz";
+      sha256 = "0c50hjpylhkh5phcxxcwqdzpa94vk5pq1j7c6x0d3wfpb2yx0wkd";
+      system = "mk-string-metrics-tests";
+      asd = "mk-string-metrics-tests";
+    });
+    systems = [ "mk-string-metrics-tests" ];
+    lispLibs = [ (getAttr "mk-string-metrics" pkgs) ];
+  };
+  ml-dsl = {
+    pname = "ml-dsl";
+    version = "20210124-git";
+    asds = [ "ml-dsl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-marklogic/2021-01-24/cl-marklogic-20210124-git.tgz";
+      sha256 = "0baq2ccb88zyr2dqdvpm32lsin4zalv11w48x4xm80cr4kw45fk5";
+      system = "ml-dsl";
+      asd = "ml-dsl";
+    });
+    systems = [ "ml-dsl" ];
+    lispLibs = [ (getAttr "cl-marklogic" pkgs) ];
+  };
+  ml-optimizer = {
+    pname = "ml-optimizer";
+    version = "20210124-git";
+    asds = [ "ml-optimizer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-marklogic/2021-01-24/cl-marklogic-20210124-git.tgz";
+      sha256 = "0baq2ccb88zyr2dqdvpm32lsin4zalv11w48x4xm80cr4kw45fk5";
+      system = "ml-optimizer";
+      asd = "ml-optimizer";
+    });
+    systems = [ "ml-optimizer" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "cl-marklogic" pkgs) (getAttr "cl-opsresearch" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  ml-test = {
+    pname = "ml-test";
+    version = "20210124-git";
+    asds = [ "ml-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-marklogic/2021-01-24/cl-marklogic-20210124-git.tgz";
+      sha256 = "0baq2ccb88zyr2dqdvpm32lsin4zalv11w48x4xm80cr4kw45fk5";
+      system = "ml-test";
+      asd = "ml-test";
+    });
+    systems = [ "ml-test" ];
+    lispLibs = [ (getAttr "cl-marklogic" pkgs) (getAttr "ml-optimizer" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  mlep = {
+    pname = "mlep";
+    version = "20180430-git";
+    asds = [ "mlep" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mlep/2018-04-30/cl-mlep-20180430-git.tgz";
+      sha256 = "1y49fgc5py34b8r6908pxij73qxrl6yxjwx1pxigpnkbdf6a92lk";
+      system = "mlep";
+      asd = "mlep";
+    });
+    systems = [ "mlep" ];
+    lispLibs = [  ];
+  };
+  mlep-add = {
+    pname = "mlep-add";
+    version = "20180430-git";
+    asds = [ "mlep-add" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mlep/2018-04-30/cl-mlep-20180430-git.tgz";
+      sha256 = "1y49fgc5py34b8r6908pxij73qxrl6yxjwx1pxigpnkbdf6a92lk";
+      system = "mlep-add";
+      asd = "mlep-add";
+    });
+    systems = [ "mlep-add" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "mlep" pkgs) (getAttr "cl-num-utils" pkgs) (getAttr "lla" pkgs) ];
+  };
+  mmap = {
+    pname = "mmap";
+    version = "20201220-git";
+    asds = [ "mmap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mmap/2020-12-20/mmap-20201220-git.tgz";
+      sha256 = "13ms78l1v8zwszqbxhr0ci1sag7icnfx272qjjfjw7bkcrn3yvng";
+      system = "mmap";
+      asd = "mmap";
+    });
+    systems = [ "mmap" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  mmap-test = {
+    pname = "mmap-test";
+    version = "20201220-git";
+    asds = [ "mmap-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mmap/2020-12-20/mmap-20201220-git.tgz";
+      sha256 = "13ms78l1v8zwszqbxhr0ci1sag7icnfx272qjjfjw7bkcrn3yvng";
+      system = "mmap-test";
+      asd = "mmap-test";
+    });
+    systems = [ "mmap-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "mmap" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  mnas-graph = {
+    pname = "mnas-graph";
+    version = "20211020-git";
+    asds = [ "mnas-graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-graph/2021-10-20/mnas-graph-20211020-git.tgz";
+      sha256 = "17xw5m5mhsv50kqlchbgqrxfjfmv84s7mrd320x8yw4yn2fsp4wi";
+      system = "mnas-graph";
+      asd = "mnas-graph";
+    });
+    systems = [ "mnas-graph" ];
+    lispLibs = [ (getAttr "mnas-hash-table" pkgs) ];
+  };
+  mnas-graph_slash_core = {
+    pname = "mnas-graph_core";
+    version = "20211020-git";
+    asds = [ "mnas-graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-graph/2021-10-20/mnas-graph-20211020-git.tgz";
+      sha256 = "17xw5m5mhsv50kqlchbgqrxfjfmv84s7mrd320x8yw4yn2fsp4wi";
+      system = "mnas-graph";
+      asd = "mnas-graph";
+    });
+    systems = [ "mnas-graph/core" ];
+    lispLibs = [ (getAttr "mnas-hash-table" pkgs) ];
+  };
+  mnas-graph_slash_demos = {
+    pname = "mnas-graph_demos";
+    version = "20211020-git";
+    asds = [ "mnas-graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-graph/2021-10-20/mnas-graph-20211020-git.tgz";
+      sha256 = "17xw5m5mhsv50kqlchbgqrxfjfmv84s7mrd320x8yw4yn2fsp4wi";
+      system = "mnas-graph";
+      asd = "mnas-graph";
+    });
+    systems = [ "mnas-graph/demos" ];
+    lispLibs = [ (getAttr "mnas-hash-table" pkgs) ];
+  };
+  mnas-graph_slash_docs = {
+    pname = "mnas-graph_docs";
+    version = "20211020-git";
+    asds = [ "mnas-graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-graph/2021-10-20/mnas-graph-20211020-git.tgz";
+      sha256 = "17xw5m5mhsv50kqlchbgqrxfjfmv84s7mrd320x8yw4yn2fsp4wi";
+      system = "mnas-graph";
+      asd = "mnas-graph";
+    });
+    systems = [ "mnas-graph/docs" ];
+    lispLibs = [ (getAttr "codex" pkgs) (getAttr "mnas-graph" pkgs) (getAttr "mnas-package" pkgs) ];
+  };
+  mnas-graph_slash_filter = {
+    pname = "mnas-graph_filter";
+    version = "20211020-git";
+    asds = [ "mnas-graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-graph/2021-10-20/mnas-graph-20211020-git.tgz";
+      sha256 = "17xw5m5mhsv50kqlchbgqrxfjfmv84s7mrd320x8yw4yn2fsp4wi";
+      system = "mnas-graph";
+      asd = "mnas-graph";
+    });
+    systems = [ "mnas-graph/filter" ];
+    lispLibs = [  ];
+  };
+  mnas-graph_slash_printer-viewer = {
+    pname = "mnas-graph_printer-viewer";
+    version = "20211020-git";
+    asds = [ "mnas-graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-graph/2021-10-20/mnas-graph-20211020-git.tgz";
+      sha256 = "17xw5m5mhsv50kqlchbgqrxfjfmv84s7mrd320x8yw4yn2fsp4wi";
+      system = "mnas-graph";
+      asd = "mnas-graph";
+    });
+    systems = [ "mnas-graph/printer-viewer" ];
+    lispLibs = [  ];
+  };
+  mnas-graph_slash_tests = {
+    pname = "mnas-graph_tests";
+    version = "20211020-git";
+    asds = [ "mnas-graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-graph/2021-10-20/mnas-graph-20211020-git.tgz";
+      sha256 = "17xw5m5mhsv50kqlchbgqrxfjfmv84s7mrd320x8yw4yn2fsp4wi";
+      system = "mnas-graph";
+      asd = "mnas-graph";
+    });
+    systems = [ "mnas-graph/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "mnas-graph" pkgs) ];
+  };
+  mnas-graph_slash_view = {
+    pname = "mnas-graph_view";
+    version = "20211020-git";
+    asds = [ "mnas-graph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-graph/2021-10-20/mnas-graph-20211020-git.tgz";
+      sha256 = "17xw5m5mhsv50kqlchbgqrxfjfmv84s7mrd320x8yw4yn2fsp4wi";
+      system = "mnas-graph";
+      asd = "mnas-graph";
+    });
+    systems = [ "mnas-graph/view" ];
+    lispLibs = [ (getAttr "mnas-hash-table" pkgs) ];
+  };
+  mnas-hash-table = {
+    pname = "mnas-hash-table";
+    version = "20211020-git";
+    asds = [ "mnas-hash-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-hash-table/2021-10-20/mnas-hash-table-20211020-git.tgz";
+      sha256 = "17v56r2wl95ha0ill37hivhv6y2ph7lca0car5s6hhh7mqgv4kl5";
+      system = "mnas-hash-table";
+      asd = "mnas-hash-table";
+    });
+    systems = [ "mnas-hash-table" ];
+    lispLibs = [  ];
+  };
+  mnas-hash-table_slash_docs = {
+    pname = "mnas-hash-table_docs";
+    version = "20211020-git";
+    asds = [ "mnas-hash-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-hash-table/2021-10-20/mnas-hash-table-20211020-git.tgz";
+      sha256 = "17v56r2wl95ha0ill37hivhv6y2ph7lca0car5s6hhh7mqgv4kl5";
+      system = "mnas-hash-table";
+      asd = "mnas-hash-table";
+    });
+    systems = [ "mnas-hash-table/docs" ];
+    lispLibs = [ (getAttr "codex" pkgs) (getAttr "mnas-hash-table" pkgs) ];
+  };
+  mnas-hash-table_slash_tests = {
+    pname = "mnas-hash-table_tests";
+    version = "20211020-git";
+    asds = [ "mnas-hash-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-hash-table/2021-10-20/mnas-hash-table-20211020-git.tgz";
+      sha256 = "17v56r2wl95ha0ill37hivhv6y2ph7lca0car5s6hhh7mqgv4kl5";
+      system = "mnas-hash-table";
+      asd = "mnas-hash-table";
+    });
+    systems = [ "mnas-hash-table/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "mnas-hash-table" pkgs) ];
+  };
+  mnas-package = {
+    pname = "mnas-package";
+    version = "20211209-git";
+    asds = [ "mnas-package" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-package/2021-12-09/mnas-package-20211209-git.tgz";
+      sha256 = "0c77qqlxms3wmw5zmiqy8bqxn9g8jvj2m2sxivr0pjj3wamcgxhw";
+      system = "mnas-package";
+      asd = "mnas-package";
+    });
+    systems = [ "mnas-package" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "inferior-shell" pkgs) (getAttr "mnas-graph" pkgs) (getAttr "mnas-string" pkgs) (getAttr "slynk" pkgs) ];
+  };
+  mnas-package_slash_docs = {
+    pname = "mnas-package_docs";
+    version = "20211209-git";
+    asds = [ "mnas-package" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-package/2021-12-09/mnas-package-20211209-git.tgz";
+      sha256 = "0c77qqlxms3wmw5zmiqy8bqxn9g8jvj2m2sxivr0pjj3wamcgxhw";
+      system = "mnas-package";
+      asd = "mnas-package";
+    });
+    systems = [ "mnas-package/docs" ];
+    lispLibs = [ (getAttr "codex" pkgs) (getAttr "mnas-package" pkgs) ];
+  };
+  mnas-package_slash_example = {
+    pname = "mnas-package_example";
+    version = "20211209-git";
+    asds = [ "mnas-package" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-package/2021-12-09/mnas-package-20211209-git.tgz";
+      sha256 = "0c77qqlxms3wmw5zmiqy8bqxn9g8jvj2m2sxivr0pjj3wamcgxhw";
+      system = "mnas-package";
+      asd = "mnas-package";
+    });
+    systems = [ "mnas-package/example" ];
+    lispLibs = [  ];
+  };
+  mnas-package_slash_make = {
+    pname = "mnas-package_make";
+    version = "20211209-git";
+    asds = [ "mnas-package" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-package/2021-12-09/mnas-package-20211209-git.tgz";
+      sha256 = "0c77qqlxms3wmw5zmiqy8bqxn9g8jvj2m2sxivr0pjj3wamcgxhw";
+      system = "mnas-package";
+      asd = "mnas-package";
+    });
+    systems = [ "mnas-package/make" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "mnas-graph" pkgs) (getAttr "slynk" pkgs) ];
+  };
+  mnas-package_slash_obj = {
+    pname = "mnas-package_obj";
+    version = "20211209-git";
+    asds = [ "mnas-package" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-package/2021-12-09/mnas-package-20211209-git.tgz";
+      sha256 = "0c77qqlxms3wmw5zmiqy8bqxn9g8jvj2m2sxivr0pjj3wamcgxhw";
+      system = "mnas-package";
+      asd = "mnas-package";
+    });
+    systems = [ "mnas-package/obj" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  mnas-package_slash_pkg = {
+    pname = "mnas-package_pkg";
+    version = "20211209-git";
+    asds = [ "mnas-package" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-package/2021-12-09/mnas-package-20211209-git.tgz";
+      sha256 = "0c77qqlxms3wmw5zmiqy8bqxn9g8jvj2m2sxivr0pjj3wamcgxhw";
+      system = "mnas-package";
+      asd = "mnas-package";
+    });
+    systems = [ "mnas-package/pkg" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "slynk" pkgs) ];
+  };
+  mnas-package_slash_sec = {
+    pname = "mnas-package_sec";
+    version = "20211209-git";
+    asds = [ "mnas-package" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-package/2021-12-09/mnas-package-20211209-git.tgz";
+      sha256 = "0c77qqlxms3wmw5zmiqy8bqxn9g8jvj2m2sxivr0pjj3wamcgxhw";
+      system = "mnas-package";
+      asd = "mnas-package";
+    });
+    systems = [ "mnas-package/sec" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "mnas-graph" pkgs) (getAttr "mnas-string" pkgs) (getAttr "slynk" pkgs) ];
+  };
+  mnas-package_slash_sys = {
+    pname = "mnas-package_sys";
+    version = "20211209-git";
+    asds = [ "mnas-package" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-package/2021-12-09/mnas-package-20211209-git.tgz";
+      sha256 = "0c77qqlxms3wmw5zmiqy8bqxn9g8jvj2m2sxivr0pjj3wamcgxhw";
+      system = "mnas-package";
+      asd = "mnas-package";
+    });
+    systems = [ "mnas-package/sys" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  mnas-package_slash_tests = {
+    pname = "mnas-package_tests";
+    version = "20211209-git";
+    asds = [ "mnas-package" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-package/2021-12-09/mnas-package-20211209-git.tgz";
+      sha256 = "0c77qqlxms3wmw5zmiqy8bqxn9g8jvj2m2sxivr0pjj3wamcgxhw";
+      system = "mnas-package";
+      asd = "mnas-package";
+    });
+    systems = [ "mnas-package/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "mnas-package" pkgs) ];
+  };
+  mnas-package_slash_view = {
+    pname = "mnas-package_view";
+    version = "20211209-git";
+    asds = [ "mnas-package" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-package/2021-12-09/mnas-package-20211209-git.tgz";
+      sha256 = "0c77qqlxms3wmw5zmiqy8bqxn9g8jvj2m2sxivr0pjj3wamcgxhw";
+      system = "mnas-package";
+      asd = "mnas-package";
+    });
+    systems = [ "mnas-package/view" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "mnas-graph" pkgs) (getAttr "slynk" pkgs) ];
+  };
+  mnas-path = {
+    pname = "mnas-path";
+    version = "20211020-git";
+    asds = [ "mnas-path" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-path/2021-10-20/mnas-path-20211020-git.tgz";
+      sha256 = "01k7yl8z00qwrmdzfxyj6lr95rlrm46ds9fn2xvg77393rgbghnn";
+      system = "mnas-path";
+      asd = "mnas-path";
+    });
+    systems = [ "mnas-path" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) ];
+  };
+  mnas-path_slash_docs = {
+    pname = "mnas-path_docs";
+    version = "20211020-git";
+    asds = [ "mnas-path" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-path/2021-10-20/mnas-path-20211020-git.tgz";
+      sha256 = "01k7yl8z00qwrmdzfxyj6lr95rlrm46ds9fn2xvg77393rgbghnn";
+      system = "mnas-path";
+      asd = "mnas-path";
+    });
+    systems = [ "mnas-path/docs" ];
+    lispLibs = [ (getAttr "codex" pkgs) (getAttr "mnas-package" pkgs) (getAttr "mnas-path" pkgs) ];
+  };
+  mnas-string = {
+    pname = "mnas-string";
+    version = "20211230-git";
+    asds = [ "mnas-string" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-string/2021-12-30/mnas-string-20211230-git.tgz";
+      sha256 = "0r68hqmfr49j8p234mxczvx71vb5znxp86dwq61bgkail5xbp45d";
+      system = "mnas-string";
+      asd = "mnas-string";
+    });
+    systems = [ "mnas-string" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  mnas-string_slash_core = {
+    pname = "mnas-string_core";
+    version = "20211230-git";
+    asds = [ "mnas-string" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-string/2021-12-30/mnas-string-20211230-git.tgz";
+      sha256 = "0r68hqmfr49j8p234mxczvx71vb5znxp86dwq61bgkail5xbp45d";
+      system = "mnas-string";
+      asd = "mnas-string";
+    });
+    systems = [ "mnas-string/core" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  mnas-string_slash_db = {
+    pname = "mnas-string_db";
+    version = "20211230-git";
+    asds = [ "mnas-string" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-string/2021-12-30/mnas-string-20211230-git.tgz";
+      sha256 = "0r68hqmfr49j8p234mxczvx71vb5znxp86dwq61bgkail5xbp45d";
+      system = "mnas-string";
+      asd = "mnas-string";
+    });
+    systems = [ "mnas-string/db" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  mnas-string_slash_docs = {
+    pname = "mnas-string_docs";
+    version = "20211230-git";
+    asds = [ "mnas-string" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-string/2021-12-30/mnas-string-20211230-git.tgz";
+      sha256 = "0r68hqmfr49j8p234mxczvx71vb5znxp86dwq61bgkail5xbp45d";
+      system = "mnas-string";
+      asd = "mnas-string";
+    });
+    systems = [ "mnas-string/docs" ];
+    lispLibs = [ (getAttr "codex" pkgs) (getAttr "mnas-package" pkgs) (getAttr "mnas-string" pkgs) ];
+  };
+  mnas-string_slash_parse = {
+    pname = "mnas-string_parse";
+    version = "20211230-git";
+    asds = [ "mnas-string" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-string/2021-12-30/mnas-string-20211230-git.tgz";
+      sha256 = "0r68hqmfr49j8p234mxczvx71vb5znxp86dwq61bgkail5xbp45d";
+      system = "mnas-string";
+      asd = "mnas-string";
+    });
+    systems = [ "mnas-string/parse" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  mnas-string_slash_print = {
+    pname = "mnas-string_print";
+    version = "20211230-git";
+    asds = [ "mnas-string" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-string/2021-12-30/mnas-string-20211230-git.tgz";
+      sha256 = "0r68hqmfr49j8p234mxczvx71vb5znxp86dwq61bgkail5xbp45d";
+      system = "mnas-string";
+      asd = "mnas-string";
+    });
+    systems = [ "mnas-string/print" ];
+    lispLibs = [  ];
+  };
+  mnas-string_slash_tests = {
+    pname = "mnas-string_tests";
+    version = "20211230-git";
+    asds = [ "mnas-string" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-string/2021-12-30/mnas-string-20211230-git.tgz";
+      sha256 = "0r68hqmfr49j8p234mxczvx71vb5znxp86dwq61bgkail5xbp45d";
+      system = "mnas-string";
+      asd = "mnas-string";
+    });
+    systems = [ "mnas-string/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "mnas-string" pkgs) ];
+  };
+  mnas-string_slash_translit = {
+    pname = "mnas-string_translit";
+    version = "20211230-git";
+    asds = [ "mnas-string" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mnas-string/2021-12-30/mnas-string-20211230-git.tgz";
+      sha256 = "0r68hqmfr49j8p234mxczvx71vb5znxp86dwq61bgkail5xbp45d";
+      system = "mnas-string";
+      asd = "mnas-string";
+    });
+    systems = [ "mnas-string/translit" ];
+    lispLibs = [  ];
+  };
+  mnst-relay = {
+    pname = "mnst-relay";
+    version = "20210807-git";
+    asds = [ "mnst-relay" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz";
+      sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga";
+      system = "mnst-relay";
+      asd = "mnst-relay";
+    });
+    systems = [ "mnst-relay" ];
+    lispLibs = [ (getAttr "asdf-nst" pkgs) (getAttr "nst" pkgs) (getAttr "nst-selftest-utils" pkgs) ];
+  };
+  mockingbird = {
+    pname = "mockingbird";
+    version = "20211020-git";
+    asds = [ "mockingbird" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mockingbird/2021-10-20/mockingbird-20211020-git.tgz";
+      sha256 = "1n1mxl2qk7g63z92d943ysn12axw0bx5dvw0cmm3cs1hjpx5rdly";
+      system = "mockingbird";
+      asd = "mockingbird";
+    });
+    systems = [ "mockingbird" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "fare-utils" pkgs) (getAttr "trivial-arguments" pkgs) ];
+  };
+  mockingbird-test = {
+    pname = "mockingbird-test";
+    version = "20211020-git";
+    asds = [ "mockingbird-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mockingbird/2021-10-20/mockingbird-20211020-git.tgz";
+      sha256 = "1n1mxl2qk7g63z92d943ysn12axw0bx5dvw0cmm3cs1hjpx5rdly";
+      system = "mockingbird-test";
+      asd = "mockingbird-test";
+    });
+    systems = [ "mockingbird-test" ];
+    lispLibs = [ (getAttr "mockingbird" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  modest-config = {
+    pname = "modest-config";
+    version = "20180228-git";
+    asds = [ "modest-config" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/modest-config/2018-02-28/modest-config-20180228-git.tgz";
+      sha256 = "0ali9lvg7ngzmpgaxmbc4adp4djznavbywiig8x94c2xwicvjh83";
+      system = "modest-config";
+      asd = "modest-config";
+    });
+    systems = [ "modest-config" ];
+    lispLibs = [  ];
+  };
+  modest-config-test = {
+    pname = "modest-config-test";
+    version = "20180228-git";
+    asds = [ "modest-config-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/modest-config/2018-02-28/modest-config-20180228-git.tgz";
+      sha256 = "0ali9lvg7ngzmpgaxmbc4adp4djznavbywiig8x94c2xwicvjh83";
+      system = "modest-config-test";
+      asd = "modest-config-test";
+    });
+    systems = [ "modest-config-test" ];
+    lispLibs = [ (getAttr "modest-config" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  modf = {
+    pname = "modf";
+    version = "20200925-git";
+    asds = [ "modf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/modf/2020-09-25/modf-20200925-git.tgz";
+      sha256 = "1aap7ldy7lv942khp026pgndgdzfkkqa9xcq1ykinrmflrgdazay";
+      system = "modf";
+      asd = "modf";
+    });
+    systems = [ "modf" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  modf-fset = {
+    pname = "modf-fset";
+    version = "20150608-git";
+    asds = [ "modf-fset" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/modf-fset/2015-06-08/modf-fset-20150608-git.tgz";
+      sha256 = "0xdlwsw3b31l9c6db7rgvikn42ncqk98s45zcq116f51ph3dr95y";
+      system = "modf-fset";
+      asd = "modf-fset";
+    });
+    systems = [ "modf-fset" ];
+    lispLibs = [ (getAttr "fset" pkgs) (getAttr "modf" pkgs) ];
+  };
+  modf-fset-test = {
+    pname = "modf-fset-test";
+    version = "20150608-git";
+    asds = [ "modf-fset-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/modf-fset/2015-06-08/modf-fset-20150608-git.tgz";
+      sha256 = "0xdlwsw3b31l9c6db7rgvikn42ncqk98s45zcq116f51ph3dr95y";
+      system = "modf-fset-test";
+      asd = "modf-fset-test";
+    });
+    systems = [ "modf-fset-test" ];
+    lispLibs = [ (getAttr "modf" pkgs) (getAttr "modf-fset" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  modf-test = {
+    pname = "modf-test";
+    version = "20200925-git";
+    asds = [ "modf-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/modf/2020-09-25/modf-20200925-git.tgz";
+      sha256 = "1aap7ldy7lv942khp026pgndgdzfkkqa9xcq1ykinrmflrgdazay";
+      system = "modf-test";
+      asd = "modf-test";
+    });
+    systems = [ "modf-test" ];
+    lispLibs = [ (getAttr "iterate" pkgs) (getAttr "modf" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  modlisp = {
+    pname = "modlisp";
+    version = "20150923-git";
+    asds = [ "modlisp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-modlisp/2015-09-23/cl-modlisp-20150923-git.tgz";
+      sha256 = "14gfhhy8blyrhpb1jk17bq4vazgwmzgcx3misw48ja77x17bl1zf";
+      system = "modlisp";
+      asd = "modlisp";
+    });
+    systems = [ "modlisp" ];
+    lispLibs = [ (getAttr "kmrcl" pkgs) ];
+  };
+  modularize = {
+    pname = "modularize";
+    version = "20200427-git";
+    asds = [ "modularize" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/modularize/2020-04-27/modularize-20200427-git.tgz";
+      sha256 = "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d";
+      system = "modularize";
+      asd = "modularize";
+    });
+    systems = [ "modularize" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) (getAttr "trivial-package-local-nicknames" pkgs) ];
+  };
+  modularize-hooks = {
+    pname = "modularize-hooks";
+    version = "20190710-git";
+    asds = [ "modularize-hooks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/modularize-hooks/2019-07-10/modularize-hooks-20190710-git.tgz";
+      sha256 = "12kjvin8hxidwkzfb7inqv5b6g5qzcssnj9wc497v2ixc56fqdz7";
+      system = "modularize-hooks";
+      asd = "modularize-hooks";
+    });
+    systems = [ "modularize-hooks" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "lambda-fiddle" pkgs) (getAttr "modularize" pkgs) (getAttr "trivial-arguments" pkgs) ];
+  };
+  modularize-interfaces = {
+    pname = "modularize-interfaces";
+    version = "20210630-git";
+    asds = [ "modularize-interfaces" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/modularize-interfaces/2021-06-30/modularize-interfaces-20210630-git.tgz";
+      sha256 = "1jl11ffkrah3553wzysmxanhrzv3rnzi5x11ll626baf69im0v7x";
+      system = "modularize-interfaces";
+      asd = "modularize-interfaces";
+    });
+    systems = [ "modularize-interfaces" ];
+    lispLibs = [ (getAttr "lambda-fiddle" pkgs) (getAttr "modularize" pkgs) (getAttr "trivial-arguments" pkgs) (getAttr "trivial-indent" pkgs) ];
+  };
+  modularize-test-module = {
+    pname = "modularize-test-module";
+    version = "20200427-git";
+    asds = [ "modularize-test-module" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/modularize/2020-04-27/modularize-20200427-git.tgz";
+      sha256 = "1zys29rfkb649rkgl3snxhajk8d5yf7ryxkrwy020kwdh7zdsg7d";
+      system = "modularize-test-module";
+      asd = "modularize-test-module";
+    });
+    systems = [ "modularize-test-module" ];
+    lispLibs = [ (getAttr "modularize" pkgs) ];
+  };
+  moira = {
+    pname = "moira";
+    version = "20171130-git";
+    asds = [ "moira" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/moira/2017-11-30/moira-20171130-git.tgz";
+      sha256 = "0r6hvq8j04y1i85f8jwhhafylgfrkg8c1z5746nsbv0v0348sf5h";
+      system = "moira";
+      asd = "moira";
+    });
+    systems = [ "moira" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "osicat" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  monkeylib-html = {
+    pname = "monkeylib-html";
+    version = "20180228-git";
+    asds = [ "monkeylib-html" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monkeylib-html/2018-02-28/monkeylib-html-20180228-git.tgz";
+      sha256 = "11a778ynyb8mhiy9fkpyg2x1p53hi1i9mry9gfin2r28mjgwj096";
+      system = "monkeylib-html";
+      asd = "monkeylib-html";
+    });
+    systems = [ "monkeylib-html" ];
+    lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_macro-utilities" pkgs) (getAttr "com_dot_gigamonkeys_dot_pathnames" pkgs) (getAttr "com_dot_gigamonkeys_dot_test-framework" pkgs) (getAttr "monkeylib-text-languages" pkgs) (getAttr "monkeylib-text-output" pkgs) (getAttr "com_dot_gigamonkeys_dot_utilities" pkgs) ];
+  };
+  monkeylib-markup-html = {
+    pname = "monkeylib-markup-html";
+    version = "20120208-git";
+    asds = [ "monkeylib-markup-html" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monkeylib-markup-html/2012-02-08/monkeylib-markup-html-20120208-git.tgz";
+      sha256 = "1kwnlb7dka9bqyc8a06lbsap8j83kdayk4m9a1m3mazjgaxlpv2a";
+      system = "monkeylib-markup-html";
+      asd = "monkeylib-markup-html";
+    });
+    systems = [ "monkeylib-markup-html" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "monkeylib-html" pkgs) (getAttr "com_dot_gigamonkeys_dot_macro-utilities" pkgs) (getAttr "com_dot_gigamonkeys_dot_markup" pkgs) (getAttr "com_dot_gigamonkeys_dot_utilities" pkgs) ];
+  };
+  monkeylib-text-languages = {
+    pname = "monkeylib-text-languages";
+    version = "20111203-git";
+    asds = [ "monkeylib-text-languages" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monkeylib-text-languages/2011-12-03/monkeylib-text-languages-20111203-git.tgz";
+      sha256 = "1f6hb3r2s5phz5z4rv3llyfi30vbxlq9qpipsq9vppmw51fvdsdk";
+      system = "monkeylib-text-languages";
+      asd = "monkeylib-text-languages";
+    });
+    systems = [ "monkeylib-text-languages" ];
+    lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_macro-utilities" pkgs) (getAttr "monkeylib-text-output" pkgs) ];
+  };
+  monkeylib-text-output = {
+    pname = "monkeylib-text-output";
+    version = "20111203-git";
+    asds = [ "monkeylib-text-output" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monkeylib-text-output/2011-12-03/monkeylib-text-output-20111203-git.tgz";
+      sha256 = "0lygfxap2ppxxi0sbz8lig1h878ad84jwbp3c895r7h9svjh1ffm";
+      system = "monkeylib-text-output";
+      asd = "monkeylib-text-output";
+    });
+    systems = [ "monkeylib-text-output" ];
+    lispLibs = [ (getAttr "com_dot_gigamonkeys_dot_macro-utilities" pkgs) (getAttr "com_dot_gigamonkeys_dot_pathnames" pkgs) (getAttr "com_dot_gigamonkeys_dot_test-framework" pkgs) (getAttr "com_dot_gigamonkeys_dot_utilities" pkgs) ];
+  };
+  monomyth = {
+    pname = "monomyth";
+    version = "20211230-git";
+    asds = [ "monomyth" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monomyth/2021-12-30/monomyth-20211230-git.tgz";
+      sha256 = "162g6fr7r2qdvfxhjgvq70p0grbvlllxih8g753jby2zcazb6syy";
+      system = "monomyth";
+      asd = "monomyth";
+    });
+    systems = [ "monomyth" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-algebraic-data-type" pkgs) (getAttr "cl-rabbit" pkgs) (getAttr "cl-store" pkgs) (getAttr "clack" pkgs) (getAttr "closer-mop" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "fset" pkgs) (getAttr "iterate" pkgs) (getAttr "jonathan" pkgs) (getAttr "ningle" pkgs) (getAttr "optima" pkgs) (getAttr "pzmq" pkgs) (getAttr "rutils" pkgs) (getAttr "stmx" pkgs) (getAttr "trivia" pkgs) (getAttr "uuid" pkgs) (getAttr "verbose" pkgs) (getAttr "woo" pkgs) ];
+  };
+  monomyth_slash_basic-example-master = {
+    pname = "monomyth_basic-example-master";
+    version = "20211230-git";
+    asds = [ "monomyth" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monomyth/2021-12-30/monomyth-20211230-git.tgz";
+      sha256 = "162g6fr7r2qdvfxhjgvq70p0grbvlllxih8g753jby2zcazb6syy";
+      system = "monomyth";
+      asd = "monomyth";
+    });
+    systems = [ "monomyth/basic-example-master" ];
+    lispLibs = [ (getAttr "monomyth" pkgs) (getAttr "rove" pkgs) ];
+  };
+  monomyth_slash_basic-example-worker = {
+    pname = "monomyth_basic-example-worker";
+    version = "20211230-git";
+    asds = [ "monomyth" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monomyth/2021-12-30/monomyth-20211230-git.tgz";
+      sha256 = "162g6fr7r2qdvfxhjgvq70p0grbvlllxih8g753jby2zcazb6syy";
+      system = "monomyth";
+      asd = "monomyth";
+    });
+    systems = [ "monomyth/basic-example-worker" ];
+    lispLibs = [ (getAttr "monomyth" pkgs) (getAttr "rove" pkgs) ];
+  };
+  monomyth_slash_tests = {
+    pname = "monomyth_tests";
+    version = "20211230-git";
+    asds = [ "monomyth" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/monomyth/2021-12-30/monomyth-20211230-git.tgz";
+      sha256 = "162g6fr7r2qdvfxhjgvq70p0grbvlllxih8g753jby2zcazb6syy";
+      system = "monomyth";
+      asd = "monomyth";
+    });
+    systems = [ "monomyth/tests" ];
+    lispLibs = [ (getAttr "cl-mock" pkgs) (getAttr "dexador" pkgs) (getAttr "lparallel" pkgs) (getAttr "monomyth" pkgs) (getAttr "quri" pkgs) (getAttr "rove" pkgs) ];
+  };
+  montezuma = {
+    pname = "montezuma";
+    version = "20180228-git";
+    asds = [ "montezuma" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/montezuma/2018-02-28/montezuma-20180228-git.tgz";
+      sha256 = "0svmvsbsirydk3c1spzfvj8qmkzcs9i69anpfvk1843i62wb7x2c";
+      system = "montezuma";
+      asd = "montezuma";
+    });
+    systems = [ "montezuma" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  montezuma-indexfiles = {
+    pname = "montezuma-indexfiles";
+    version = "20180228-git";
+    asds = [ "montezuma-indexfiles" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/montezuma/2018-02-28/montezuma-20180228-git.tgz";
+      sha256 = "0svmvsbsirydk3c1spzfvj8qmkzcs9i69anpfvk1843i62wb7x2c";
+      system = "montezuma-indexfiles";
+      asd = "montezuma-indexfiles";
+    });
+    systems = [ "montezuma-indexfiles" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "montezuma" pkgs) ];
+  };
+  montezuma-tests = {
+    pname = "montezuma-tests";
+    version = "20180228-git";
+    asds = [ "montezuma-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/montezuma/2018-02-28/montezuma-20180228-git.tgz";
+      sha256 = "0svmvsbsirydk3c1spzfvj8qmkzcs9i69anpfvk1843i62wb7x2c";
+      system = "montezuma-tests";
+      asd = "montezuma";
+    });
+    systems = [ "montezuma-tests" ];
+    lispLibs = [ (getAttr "montezuma" pkgs) (getAttr "trivial-timeout" pkgs) ];
+  };
+  mop-utils = {
+    pname = "mop-utils";
+    version = "20120811-http";
+    asds = [ "mop-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mop-utils/2012-08-11/mop-utils-20120811-http.tgz";
+      sha256 = "1k38z2rgwg2rkyc0f0yp1q9wkcsh5gbd39b0lrrbq3ffaq37qcnf";
+      system = "mop-utils";
+      asd = "mop-utils";
+    });
+    systems = [ "mop-utils" ];
+    lispLibs = [  ];
+  };
+  moptilities = {
+    pname = "moptilities";
+    version = "20170403-git";
+    asds = [ "moptilities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/moptilities/2017-04-03/moptilities-20170403-git.tgz";
+      sha256 = "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc";
+      system = "moptilities";
+      asd = "moptilities";
+    });
+    systems = [ "moptilities" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  moptilities-test = {
+    pname = "moptilities-test";
+    version = "20170403-git";
+    asds = [ "moptilities-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/moptilities/2017-04-03/moptilities-20170403-git.tgz";
+      sha256 = "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc";
+      system = "moptilities-test";
+      asd = "moptilities-test";
+    });
+    systems = [ "moptilities-test" ];
+    lispLibs = [ (getAttr "lift" pkgs) (getAttr "moptilities" pkgs) ];
+  };
+  more-conditions = {
+    pname = "more-conditions";
+    version = "20180831-git";
+    asds = [ "more-conditions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/more-conditions/2018-08-31/more-conditions-20180831-git.tgz";
+      sha256 = "1n0xbz0yiqn9dxf0ycm57wqvsr4gh2q4hs5fskjbv87c47d7l7zr";
+      system = "more-conditions";
+      asd = "more-conditions";
+    });
+    systems = [ "more-conditions" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  more-conditions_slash_test = {
+    pname = "more-conditions_test";
+    version = "20180831-git";
+    asds = [ "more-conditions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/more-conditions/2018-08-31/more-conditions-20180831-git.tgz";
+      sha256 = "1n0xbz0yiqn9dxf0ycm57wqvsr4gh2q4hs5fskjbv87c47d7l7zr";
+      system = "more-conditions";
+      asd = "more-conditions";
+    });
+    systems = [ "more-conditions/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) (getAttr "more-conditions" pkgs) ];
+  };
+  mp3-duration = {
+    pname = "mp3-duration";
+    version = "20160208-git";
+    asds = [ "mp3-duration" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mp3-duration/2016-02-08/mp3-duration-20160208-git.tgz";
+      sha256 = "1mhn9g1kz2yan178m2adg0pz3dx2nmg7hq4gfmfz7lrlsxm08bs7";
+      system = "mp3-duration";
+      asd = "mp3-duration";
+    });
+    systems = [ "mp3-duration" ];
+    lispLibs = [  ];
+  };
+  mp3-duration-test = {
+    pname = "mp3-duration-test";
+    version = "20160208-git";
+    asds = [ "mp3-duration-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mp3-duration/2016-02-08/mp3-duration-20160208-git.tgz";
+      sha256 = "1mhn9g1kz2yan178m2adg0pz3dx2nmg7hq4gfmfz7lrlsxm08bs7";
+      system = "mp3-duration-test";
+      asd = "mp3-duration-test";
+    });
+    systems = [ "mp3-duration-test" ];
+    lispLibs = [ (getAttr "mp3-duration" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  mpc = {
+    pname = "mpc";
+    version = "20160929-git";
+    asds = [ "mpc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mpc/2016-09-29/mpc-20160929-git.tgz";
+      sha256 = "1nig0v91m4ybcr19s50xijwv488qlma0b36zy6cric2y8wgclmsx";
+      system = "mpc";
+      asd = "mpc";
+    });
+    systems = [ "mpc" ];
+    lispLibs = [  ];
+  };
+  mpg123-ffi = {
+    pname = "mpg123-ffi";
+    version = "20151218-git";
+    asds = [ "mpg123-ffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz";
+      sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9";
+      system = "mpg123-ffi";
+      asd = "mpg123-ffi";
+    });
+    systems = [ "mpg123-ffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  mra-wavelet-plot = {
+    pname = "mra-wavelet-plot";
+    version = "20181210-git";
+    asds = [ "mra-wavelet-plot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mra-wavelet-plot/2018-12-10/mra-wavelet-plot-20181210-git.tgz";
+      sha256 = "0d6sdgj1zvkliga9drsqnj4l748vbcwwz744ayq5nnvp5fvhnc29";
+      system = "mra-wavelet-plot";
+      asd = "mra-wavelet-plot";
+    });
+    systems = [ "mra-wavelet-plot" ];
+    lispLibs = [  ];
+  };
+  mssql = {
+    pname = "mssql";
+    version = "20210124-git";
+    asds = [ "mssql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-mssql/2021-01-24/cl-mssql-20210124-git.tgz";
+      sha256 = "09i50adppgc1ybm3ka9vbindhwa2x29f9n3n0jkrryymdhb8zknm";
+      system = "mssql";
+      asd = "mssql";
+    });
+    systems = [ "mssql" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "garbage-pools" pkgs) (getAttr "iterate" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  mt19937 = {
+    pname = "mt19937";
+    version = "1.1.1";
+    asds = [ "mt19937" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mt19937/2011-02-19/mt19937-1.1.1.tgz";
+      sha256 = "0h02ssnncc760b68ipm0sbrzrbnllp6fqabvw98w43af08s36xlg";
+      system = "mt19937";
+      asd = "mt19937";
+    });
+    systems = [ "mt19937" ];
+    lispLibs = [  ];
+  };
+  mtif = {
+    pname = "mtif";
+    version = "20171130-git";
+    asds = [ "mtif" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mtif/2017-11-30/mtif-20171130-git.tgz";
+      sha256 = "0fzlf0xawv579i4jp5l994d7m220py5j169klaj0l43frgxb4n7y";
+      system = "mtif";
+      asd = "mtif";
+    });
+    systems = [ "mtif" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  mtlisp = {
+    pname = "mtlisp";
+    version = "20130615-git";
+    asds = [ "mtlisp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mtlisp/2013-06-15/mtlisp-20130615-git.tgz";
+      sha256 = "0qpbhiy2z2q7mf4lf2lpj66a13xj7bj0c584d1i7zi156s2hcnvs";
+      system = "mtlisp";
+      asd = "mtlisp";
+    });
+    systems = [ "mtlisp" ];
+    lispLibs = [ (getAttr "acl-compat" pkgs) ];
+  };
+  multilang-documentation = {
+    pname = "multilang-documentation";
+    version = "20190710-git";
+    asds = [ "multilang-documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/multilang-documentation/2019-07-10/multilang-documentation-20190710-git.tgz";
+      sha256 = "13y5jskx8n2b7kimpfarr8v777w3b7zj5swg1b99nj3hk0843ixw";
+      system = "multilang-documentation";
+      asd = "multilang-documentation";
+    });
+    systems = [ "multilang-documentation" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) (getAttr "language-codes" pkgs) (getAttr "system-locale" pkgs) ];
+  };
+  multilang-documentation-utils = {
+    pname = "multilang-documentation-utils";
+    version = "20190710-git";
+    asds = [ "multilang-documentation-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/documentation-utils/2019-07-10/documentation-utils-20190710-git.tgz";
+      sha256 = "098qhkqskmmrh4wix34mawf7p5c87yql28r51r75yjxj577k5idq";
+      system = "multilang-documentation-utils";
+      asd = "multilang-documentation-utils";
+    });
+    systems = [ "multilang-documentation-utils" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) (getAttr "multilang-documentation" pkgs) ];
+  };
+  multiple-value-variants = {
+    pname = "multiple-value-variants";
+    version = "1.0.1";
+    asds = [ "multiple-value-variants" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/multiple-value-variants/2014-08-26/multiple-value-variants-1.0.1.tgz";
+      sha256 = "0kb7bkgg2iri89ph2lcgfk57pf8h4r6471sn2jcyp5sz13g4f6yw";
+      system = "multiple-value-variants";
+      asd = "multiple-value-variants";
+    });
+    systems = [ "multiple-value-variants" ];
+    lispLibs = [ (getAttr "enhanced-multiple-value-bind" pkgs) (getAttr "map-bind" pkgs) (getAttr "positional-lambda" pkgs) ];
+  };
+  multiposter = {
+    pname = "multiposter";
+    version = "20210630-git";
+    asds = [ "multiposter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/multiposter/2021-06-30/multiposter-20210630-git.tgz";
+      sha256 = "1sw7pal7db3ccazvqv6amminwfpjpwzyrvrvhfryc0rwl90sdsnj";
+      system = "multiposter";
+      asd = "multiposter";
+    });
+    systems = [ "multiposter" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "documentation-utils" pkgs) ];
+  };
+  multiposter-git = {
+    pname = "multiposter-git";
+    version = "20210630-git";
+    asds = [ "multiposter-git" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/multiposter/2021-06-30/multiposter-20210630-git.tgz";
+      sha256 = "1sw7pal7db3ccazvqv6amminwfpjpwzyrvrvhfryc0rwl90sdsnj";
+      system = "multiposter-git";
+      asd = "multiposter-git";
+    });
+    systems = [ "multiposter-git" ];
+    lispLibs = [ (getAttr "legit" pkgs) (getAttr "multiposter" pkgs) ];
+  };
+  multiposter-lichat = {
+    pname = "multiposter-lichat";
+    version = "20210630-git";
+    asds = [ "multiposter-lichat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/multiposter/2021-06-30/multiposter-20210630-git.tgz";
+      sha256 = "1sw7pal7db3ccazvqv6amminwfpjpwzyrvrvhfryc0rwl90sdsnj";
+      system = "multiposter-lichat";
+      asd = "multiposter-lichat";
+    });
+    systems = [ "multiposter-lichat" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "lichat-tcp-client" pkgs) (getAttr "multiposter" pkgs) (getAttr "trivial-mimes" pkgs) ];
+  };
+  multiposter-mastodon = {
+    pname = "multiposter-mastodon";
+    version = "20210630-git";
+    asds = [ "multiposter-mastodon" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/multiposter/2021-06-30/multiposter-20210630-git.tgz";
+      sha256 = "1sw7pal7db3ccazvqv6amminwfpjpwzyrvrvhfryc0rwl90sdsnj";
+      system = "multiposter-mastodon";
+      asd = "multiposter-mastodon";
+    });
+    systems = [ "multiposter-mastodon" ];
+    lispLibs = [ (getAttr "multiposter" pkgs) (getAttr "tooter" pkgs) ];
+  };
+  multiposter-studio = {
+    pname = "multiposter-studio";
+    version = "20210630-git";
+    asds = [ "multiposter-studio" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/multiposter/2021-06-30/multiposter-20210630-git.tgz";
+      sha256 = "1sw7pal7db3ccazvqv6amminwfpjpwzyrvrvhfryc0rwl90sdsnj";
+      system = "multiposter-studio";
+      asd = "multiposter-studio";
+    });
+    systems = [ "multiposter-studio" ];
+    lispLibs = [ (getAttr "multiposter" pkgs) (getAttr "north-dexador" pkgs) (getAttr "studio-client" pkgs) ];
+  };
+  multiposter-tumblr = {
+    pname = "multiposter-tumblr";
+    version = "20210630-git";
+    asds = [ "multiposter-tumblr" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/multiposter/2021-06-30/multiposter-20210630-git.tgz";
+      sha256 = "1sw7pal7db3ccazvqv6amminwfpjpwzyrvrvhfryc0rwl90sdsnj";
+      system = "multiposter-tumblr";
+      asd = "multiposter-tumblr";
+    });
+    systems = [ "multiposter-tumblr" ];
+    lispLibs = [ (getAttr "humbler" pkgs) (getAttr "multiposter" pkgs) (getAttr "north-dexador" pkgs) ];
+  };
+  multiposter-twitter = {
+    pname = "multiposter-twitter";
+    version = "20210630-git";
+    asds = [ "multiposter-twitter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/multiposter/2021-06-30/multiposter-20210630-git.tgz";
+      sha256 = "1sw7pal7db3ccazvqv6amminwfpjpwzyrvrvhfryc0rwl90sdsnj";
+      system = "multiposter-twitter";
+      asd = "multiposter-twitter";
+    });
+    systems = [ "multiposter-twitter" ];
+    lispLibs = [ (getAttr "chirp" pkgs) (getAttr "multiposter" pkgs) ];
+  };
+  multival-plist = {
+    pname = "multival-plist";
+    version = "20120305-git";
+    asds = [ "multival-plist" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/multival-plist/2012-03-05/multival-plist-20120305-git.tgz";
+      sha256 = "0cfca0qvngbvs9v4z8qpzr6wsjvf01jzaszagmasa4zkvmjycx1b";
+      system = "multival-plist";
+      asd = "multival-plist";
+    });
+    systems = [ "multival-plist" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-annot" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  multival-plist-test = {
+    pname = "multival-plist-test";
+    version = "20120305-git";
+    asds = [ "multival-plist-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/multival-plist/2012-03-05/multival-plist-20120305-git.tgz";
+      sha256 = "0cfca0qvngbvs9v4z8qpzr6wsjvf01jzaszagmasa4zkvmjycx1b";
+      system = "multival-plist-test";
+      asd = "multival-plist-test";
+    });
+    systems = [ "multival-plist-test" ];
+    lispLibs = [ (getAttr "multival-plist" pkgs) (getAttr "cl-test-more" pkgs) ];
+  };
+  mutility = {
+    pname = "mutility";
+    version = "20211209-git";
+    asds = [ "mutility" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mutility/2021-12-09/mutility-20211209-git.tgz";
+      sha256 = "1b5f4anyp66n3n2l5a7fjhsv2i3cdb5rwir4zsqyiw2j8b2x6qnc";
+      system = "mutility";
+      asd = "mutility";
+    });
+    systems = [ "mutility" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  mutility_slash_loopy = {
+    pname = "mutility_loopy";
+    version = "20211209-git";
+    asds = [ "mutility" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mutility/2021-12-09/mutility-20211209-git.tgz";
+      sha256 = "1b5f4anyp66n3n2l5a7fjhsv2i3cdb5rwir4zsqyiw2j8b2x6qnc";
+      system = "mutility";
+      asd = "mutility";
+    });
+    systems = [ "mutility/loopy" ];
+    lispLibs = [ (getAttr "mutility" pkgs) (getAttr "trivial-do" pkgs) ];
+  };
+  mutility_slash_test-helpers = {
+    pname = "mutility_test-helpers";
+    version = "20211209-git";
+    asds = [ "mutility" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mutility/2021-12-09/mutility-20211209-git.tgz";
+      sha256 = "1b5f4anyp66n3n2l5a7fjhsv2i3cdb5rwir4zsqyiw2j8b2x6qnc";
+      system = "mutility";
+      asd = "mutility";
+    });
+    systems = [ "mutility/test-helpers" ];
+    lispLibs = [ (getAttr "mutility" pkgs) ];
+  };
+  mutility_slash_tests = {
+    pname = "mutility_tests";
+    version = "20211209-git";
+    asds = [ "mutility" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mutility/2021-12-09/mutility-20211209-git.tgz";
+      sha256 = "1b5f4anyp66n3n2l5a7fjhsv2i3cdb5rwir4zsqyiw2j8b2x6qnc";
+      system = "mutility";
+      asd = "mutility";
+    });
+    systems = [ "mutility/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "mutility" pkgs) (getAttr "trivial-do" pkgs) ];
+  };
+  mw-equiv = {
+    pname = "mw-equiv";
+    version = "0.1.3";
+    asds = [ "mw-equiv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mw-equiv/2010-10-06/mw-equiv-0.1.3.tgz";
+      sha256 = "1fl90wp0jp7l90mps53fq0kzb28f10qfr739527h03xwqccyylad";
+      system = "mw-equiv";
+      asd = "mw-equiv";
+    });
+    systems = [ "mw-equiv" ];
+    lispLibs = [  ];
+  };
+  mystic = {
+    pname = "mystic";
+    version = "20160208-git";
+    asds = [ "mystic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mystic/2016-02-08/mystic-20160208-git.tgz";
+      sha256 = "1lqy2ijzpyamm15212z0xc5647fcbajs5argajgx33brz83afb5w";
+      system = "mystic";
+      asd = "mystic";
+    });
+    systems = [ "mystic" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "cl-mustache" pkgs) (getAttr "local-time" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  mystic-file-mixin = {
+    pname = "mystic-file-mixin";
+    version = "20160208-git";
+    asds = [ "mystic-file-mixin" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mystic/2016-02-08/mystic-20160208-git.tgz";
+      sha256 = "1lqy2ijzpyamm15212z0xc5647fcbajs5argajgx33brz83afb5w";
+      system = "mystic-file-mixin";
+      asd = "mystic-file-mixin";
+    });
+    systems = [ "mystic-file-mixin" ];
+    lispLibs = [ (getAttr "mystic" pkgs) ];
+  };
+  mystic-fiveam-mixin = {
+    pname = "mystic-fiveam-mixin";
+    version = "20160208-git";
+    asds = [ "mystic-fiveam-mixin" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mystic/2016-02-08/mystic-20160208-git.tgz";
+      sha256 = "1lqy2ijzpyamm15212z0xc5647fcbajs5argajgx33brz83afb5w";
+      system = "mystic-fiveam-mixin";
+      asd = "mystic-fiveam-mixin";
+    });
+    systems = [ "mystic-fiveam-mixin" ];
+    lispLibs = [ (getAttr "mystic" pkgs) (getAttr "mystic-file-mixin" pkgs) ];
+  };
+  mystic-gitignore-mixin = {
+    pname = "mystic-gitignore-mixin";
+    version = "20160208-git";
+    asds = [ "mystic-gitignore-mixin" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mystic/2016-02-08/mystic-20160208-git.tgz";
+      sha256 = "1lqy2ijzpyamm15212z0xc5647fcbajs5argajgx33brz83afb5w";
+      system = "mystic-gitignore-mixin";
+      asd = "mystic-gitignore-mixin";
+    });
+    systems = [ "mystic-gitignore-mixin" ];
+    lispLibs = [ (getAttr "mystic" pkgs) (getAttr "mystic-file-mixin" pkgs) ];
+  };
+  mystic-library-template = {
+    pname = "mystic-library-template";
+    version = "20160208-git";
+    asds = [ "mystic-library-template" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mystic/2016-02-08/mystic-20160208-git.tgz";
+      sha256 = "1lqy2ijzpyamm15212z0xc5647fcbajs5argajgx33brz83afb5w";
+      system = "mystic-library-template";
+      asd = "mystic-library-template";
+    });
+    systems = [ "mystic-library-template" ];
+    lispLibs = [ (getAttr "mystic" pkgs) (getAttr "mystic-fiveam-mixin" pkgs) (getAttr "mystic-gitignore-mixin" pkgs) (getAttr "mystic-readme-mixin" pkgs) (getAttr "mystic-travis-mixin" pkgs) ];
+  };
+  mystic-readme-mixin = {
+    pname = "mystic-readme-mixin";
+    version = "20160208-git";
+    asds = [ "mystic-readme-mixin" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mystic/2016-02-08/mystic-20160208-git.tgz";
+      sha256 = "1lqy2ijzpyamm15212z0xc5647fcbajs5argajgx33brz83afb5w";
+      system = "mystic-readme-mixin";
+      asd = "mystic-readme-mixin";
+    });
+    systems = [ "mystic-readme-mixin" ];
+    lispLibs = [ (getAttr "mystic" pkgs) (getAttr "mystic-file-mixin" pkgs) ];
+  };
+  mystic-test = {
+    pname = "mystic-test";
+    version = "20160208-git";
+    asds = [ "mystic-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mystic/2016-02-08/mystic-20160208-git.tgz";
+      sha256 = "1lqy2ijzpyamm15212z0xc5647fcbajs5argajgx33brz83afb5w";
+      system = "mystic-test";
+      asd = "mystic-test";
+    });
+    systems = [ "mystic-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "mystic" pkgs) (getAttr "mystic-library-template" pkgs) ];
+  };
+  mystic-travis-mixin = {
+    pname = "mystic-travis-mixin";
+    version = "20160208-git";
+    asds = [ "mystic-travis-mixin" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mystic/2016-02-08/mystic-20160208-git.tgz";
+      sha256 = "1lqy2ijzpyamm15212z0xc5647fcbajs5argajgx33brz83afb5w";
+      system = "mystic-travis-mixin";
+      asd = "mystic-travis-mixin";
+    });
+    systems = [ "mystic-travis-mixin" ];
+    lispLibs = [ (getAttr "mystic" pkgs) (getAttr "mystic-file-mixin" pkgs) ];
+  };
+  myway = {
+    pname = "myway";
+    version = "20200325-git";
+    asds = [ "myway" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/myway/2020-03-25/myway-20200325-git.tgz";
+      sha256 = "0vs1z6krn8rrpqjsxfx1hp9x0qhbn8zr67f55b5pj0zg1cv258n1";
+      system = "myway";
+      asd = "myway";
+    });
+    systems = [ "myway" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-utilities" pkgs) (getAttr "map-set" pkgs) (getAttr "quri" pkgs) ];
+  };
+  myway-test = {
+    pname = "myway-test";
+    version = "20200325-git";
+    asds = [ "myway-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/myway/2020-03-25/myway-20200325-git.tgz";
+      sha256 = "0vs1z6krn8rrpqjsxfx1hp9x0qhbn8zr67f55b5pj0zg1cv258n1";
+      system = "myway-test";
+      asd = "myway-test";
+    });
+    systems = [ "myway-test" ];
+    lispLibs = [ (getAttr "myway" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  myweb = {
+    pname = "myweb";
+    version = "20150608-git";
+    asds = [ "myweb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/myweb/2015-06-08/myweb-20150608-git.tgz";
+      sha256 = "0yncx40mfw7yxbm5hli9hr3aw4x1lf1912adyvylldfjfh2yxcjy";
+      system = "myweb";
+      asd = "myweb";
+    });
+    systems = [ "myweb" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-log" pkgs) (getAttr "local-time" pkgs) (getAttr "trivial-utf-8" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  named-read-macros = {
+    pname = "named-read-macros";
+    version = "20210228-git";
+    asds = [ "named-read-macros" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/named-read-macros/2021-02-28/named-read-macros-20210228-git.tgz";
+      sha256 = "0bgqy43h06nq2p9avqix2k15ab306sghrz2pkr17pli87q0qkxhi";
+      system = "named-read-macros";
+      asd = "named-read-macros";
+    });
+    systems = [ "named-read-macros" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  named-read-macros-test = {
+    pname = "named-read-macros-test";
+    version = "20210228-git";
+    asds = [ "named-read-macros-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/named-read-macros/2021-02-28/named-read-macros-20210228-git.tgz";
+      sha256 = "0bgqy43h06nq2p9avqix2k15ab306sghrz2pkr17pli87q0qkxhi";
+      system = "named-read-macros-test";
+      asd = "named-read-macros-test";
+    });
+    systems = [ "named-read-macros-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "named-read-macros" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  named-readtables = {
+    pname = "named-readtables";
+    version = "20211209-git";
+    asds = [ "named-readtables" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/named-readtables/2021-12-09/named-readtables-20211209-git.tgz";
+      sha256 = "10gngyrzl71l9jdf8579fvdd7pz2fa0fgvcachgdgfzvq0lqbsha";
+      system = "named-readtables";
+      asd = "named-readtables";
+    });
+    systems = [ "named-readtables" ];
+    lispLibs = [  ];
+  };
+  named-readtables_slash_doc = {
+    pname = "named-readtables_doc";
+    version = "20211209-git";
+    asds = [ "named-readtables" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/named-readtables/2021-12-09/named-readtables-20211209-git.tgz";
+      sha256 = "10gngyrzl71l9jdf8579fvdd7pz2fa0fgvcachgdgfzvq0lqbsha";
+      system = "named-readtables";
+      asd = "named-readtables";
+    });
+    systems = [ "named-readtables/doc" ];
+    lispLibs = [ (getAttr "mgl-pax" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  named-readtables_slash_test = {
+    pname = "named-readtables_test";
+    version = "20211209-git";
+    asds = [ "named-readtables" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/named-readtables/2021-12-09/named-readtables-20211209-git.tgz";
+      sha256 = "10gngyrzl71l9jdf8579fvdd7pz2fa0fgvcachgdgfzvq0lqbsha";
+      system = "named-readtables";
+      asd = "named-readtables";
+    });
+    systems = [ "named-readtables/test" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  nanovg-blob = {
+    pname = "nanovg-blob";
+    version = "stable-git";
+    asds = [ "nanovg-blob" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nanovg-blob/2020-10-16/nanovg-blob-stable-git.tgz";
+      sha256 = "1q80inrlfcqqqc912jcskfn667jgq6lcw0jvhk270x5qpj8z2pfj";
+      system = "nanovg-blob";
+      asd = "nanovg-blob";
+    });
+    systems = [ "nanovg-blob" ];
+    lispLibs = [ (getAttr "bodge-blobs-support" pkgs) (getAttr "glad-blob" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  napa-fft3 = {
+    pname = "napa-fft3";
+    version = "20151218-git";
+    asds = [ "napa-fft3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/napa-fft3/2015-12-18/napa-fft3-20151218-git.tgz";
+      sha256 = "1hxjf599xgwm28gbryy7q96j9ys6hfszmv0qxpr5698hxnhknscp";
+      system = "napa-fft3";
+      asd = "napa-fft3";
+    });
+    systems = [ "napa-fft3" ];
+    lispLibs = [  ];
+  };
+  narrowed-types = {
+    pname = "narrowed-types";
+    version = "20180228-git";
+    asds = [ "narrowed-types" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/narrowed-types/2018-02-28/narrowed-types-20180228-git.tgz";
+      sha256 = "03v4jgdysapj3ndg2qij7liqc6n9zb07r5j4k1jhmhpml86jxg4g";
+      system = "narrowed-types";
+      asd = "narrowed-types";
+    });
+    systems = [ "narrowed-types" ];
+    lispLibs = [  ];
+  };
+  narrowed-types-test = {
+    pname = "narrowed-types-test";
+    version = "20180228-git";
+    asds = [ "narrowed-types-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/narrowed-types/2018-02-28/narrowed-types-20180228-git.tgz";
+      sha256 = "03v4jgdysapj3ndg2qij7liqc6n9zb07r5j4k1jhmhpml86jxg4g";
+      system = "narrowed-types-test";
+      asd = "narrowed-types-test";
+    });
+    systems = [ "narrowed-types-test" ];
+    lispLibs = [ (getAttr "narrowed-types" pkgs) (getAttr "rt" pkgs) ];
+  };
+  nbd = {
+    pname = "nbd";
+    version = "20211020-git";
+    asds = [ "nbd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nbd/2021-10-20/nbd-20211020-git.tgz";
+      sha256 = "1p9dpyvlpjm32a2ymhps782dp5pjya5bnky6sb20gf4zyw6r826n";
+      system = "nbd";
+      asd = "nbd";
+    });
+    systems = [ "nbd" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "lisp-binary" pkgs) (getAttr "wild-package-inferred-system" pkgs) ];
+  };
+  nbd_slash_simple-in-memory = {
+    pname = "nbd_simple-in-memory";
+    version = "20211020-git";
+    asds = [ "nbd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nbd/2021-10-20/nbd-20211020-git.tgz";
+      sha256 = "1p9dpyvlpjm32a2ymhps782dp5pjya5bnky6sb20gf4zyw6r826n";
+      system = "nbd";
+      asd = "nbd";
+    });
+    systems = [ "nbd/simple-in-memory" ];
+    lispLibs = [ (getAttr "nbd" pkgs) (getAttr "wild-package-inferred-system" pkgs) ];
+  };
+  ncurses-clone-for-lem = {
+    pname = "ncurses-clone-for-lem";
+    version = "20200427-git";
+    asds = [ "ncurses-clone-for-lem" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "ncurses-clone-for-lem";
+      asd = "ncurses-clone-for-lem";
+    });
+    systems = [ "ncurses-clone-for-lem" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "lparallel" pkgs) (getAttr "application" pkgs) (getAttr "nsb-cga" pkgs) (getAttr "text-subsystem" pkgs) (getAttr "utility" pkgs) ];
+  };
+  ndfa = {
+    pname = "ndfa";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "ndfa" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "ndfa";
+      asd = "ndfa";
+    });
+    systems = [ "ndfa" ];
+    lispLibs = [ (getAttr "adjuvant" pkgs) ];
+  };
+  ndfa-test = {
+    pname = "ndfa-test";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "ndfa-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "ndfa-test";
+      asd = "ndfa-test";
+    });
+    systems = [ "ndfa-test" ];
+    lispLibs = [ (getAttr "adjuvant" pkgs) (getAttr "ndfa" pkgs) (getAttr "scrutiny" pkgs) ];
+  };
+  neo4cl = {
+    pname = "neo4cl";
+    version = "20201220-git";
+    asds = [ "neo4cl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/neo4cl/2020-12-20/neo4cl-20201220-git.tgz";
+      sha256 = "1ay4hn4z56f0dr3dwaj99c7dxk0nd434s7k2zfcasp7c73zry9z6";
+      system = "neo4cl";
+      asd = "neo4cl";
+    });
+    systems = [ "neo4cl" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "flexi-streams" pkgs) ];
+  };
+  neo4cl-test = {
+    pname = "neo4cl-test";
+    version = "20201220-git";
+    asds = [ "neo4cl-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/neo4cl/2020-12-20/neo4cl-20201220-git.tgz";
+      sha256 = "1ay4hn4z56f0dr3dwaj99c7dxk0nd434s7k2zfcasp7c73zry9z6";
+      system = "neo4cl-test";
+      asd = "neo4cl-test";
+    });
+    systems = [ "neo4cl-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "neo4cl" pkgs) ];
+  };
+  net-telent-date = {
+    pname = "net-telent-date";
+    version = "0.42";
+    asds = [ "net-telent-date" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/net-telent-date/2010-10-06/net-telent-date_0.42.tgz";
+      sha256 = "0vgibf76hy3zy39pix367xnvpwxiqsxvv6w0gqdxprd5ljpb7g2j";
+      system = "net-telent-date";
+      asd = "net-telent-date";
+    });
+    systems = [ "net-telent-date" ];
+    lispLibs = [  ];
+  };
+  net_dot_didierverna_dot_asdf-flv = {
+    pname = "net.didierverna.asdf-flv";
+    version = "version-2.1";
+    asds = [ "net.didierverna.asdf-flv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-flv/2016-04-21/asdf-flv-version-2.1.tgz";
+      sha256 = "10094avq2whg8j5dnvla5wzqk5h36bx74lxbdbhdchv0wvn5x0g4";
+      system = "net.didierverna.asdf-flv";
+      asd = "net.didierverna.asdf-flv";
+    });
+    systems = [ "net.didierverna.asdf-flv" ];
+    lispLibs = [  ];
+  };
+  net_dot_didierverna_dot_clon = {
+    pname = "net.didierverna.clon";
+    version = "clon-1.0b25";
+    asds = [ "net.didierverna.clon" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-clon/2021-04-11/clon-1.0b25.tgz";
+      sha256 = "0nj47xl2fwj7z31wiaad8dw97fpq3zpwxlgmpvppawz0z3hgf8d0";
+      system = "net.didierverna.clon";
+      asd = "net.didierverna.clon";
+    });
+    systems = [ "net.didierverna.clon" ];
+    lispLibs = [ (getAttr "net_dot_didierverna_dot_clon_dot_core" pkgs) (getAttr "net_dot_didierverna_dot_clon_dot_setup" pkgs) ];
+  };
+  net_dot_didierverna_dot_clon_dot_core = {
+    pname = "net.didierverna.clon.core";
+    version = "clon-1.0b25";
+    asds = [ "net.didierverna.clon.core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-clon/2021-04-11/clon-1.0b25.tgz";
+      sha256 = "0nj47xl2fwj7z31wiaad8dw97fpq3zpwxlgmpvppawz0z3hgf8d0";
+      system = "net.didierverna.clon.core";
+      asd = "net.didierverna.clon.core";
+    });
+    systems = [ "net.didierverna.clon.core" ];
+    lispLibs = [ (getAttr "net_dot_didierverna_dot_clon_dot_setup" pkgs) ];
+  };
+  net_dot_didierverna_dot_clon_dot_setup = {
+    pname = "net.didierverna.clon.setup";
+    version = "clon-1.0b25";
+    asds = [ "net.didierverna.clon.setup" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-clon/2021-04-11/clon-1.0b25.tgz";
+      sha256 = "0nj47xl2fwj7z31wiaad8dw97fpq3zpwxlgmpvppawz0z3hgf8d0";
+      system = "net.didierverna.clon.setup";
+      asd = "net.didierverna.clon.setup";
+    });
+    systems = [ "net.didierverna.clon.setup" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  net_dot_didierverna_dot_clon_dot_setup_slash_termio = {
+    pname = "net.didierverna.clon.setup_termio";
+    version = "clon-1.0b25";
+    asds = [ "net.didierverna.clon.setup" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-clon/2021-04-11/clon-1.0b25.tgz";
+      sha256 = "0nj47xl2fwj7z31wiaad8dw97fpq3zpwxlgmpvppawz0z3hgf8d0";
+      system = "net.didierverna.clon.setup";
+      asd = "net.didierverna.clon.setup";
+    });
+    systems = [ "net.didierverna.clon.setup/termio" ];
+    lispLibs = [ (getAttr "net_dot_didierverna_dot_clon_dot_setup" pkgs) ];
+  };
+  net_dot_didierverna_dot_declt = {
+    pname = "net.didierverna.declt";
+    version = "3.0";
+    asds = [ "net.didierverna.declt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/declt/2019-11-30/declt-3.0.tgz";
+      sha256 = "107dxv1kf2wlxp5jdrdfghmq5rn26dp0smz4766ah7wg6r6y7dsk";
+      system = "net.didierverna.declt";
+      asd = "net.didierverna.declt";
+    });
+    systems = [ "net.didierverna.declt" ];
+    lispLibs = [ (getAttr "net_dot_didierverna_dot_declt_dot_core" pkgs) (getAttr "net_dot_didierverna_dot_declt_dot_setup" pkgs) ];
+  };
+  net_dot_didierverna_dot_declt_dot_core = {
+    pname = "net.didierverna.declt.core";
+    version = "3.0";
+    asds = [ "net.didierverna.declt.core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/declt/2019-11-30/declt-3.0.tgz";
+      sha256 = "107dxv1kf2wlxp5jdrdfghmq5rn26dp0smz4766ah7wg6r6y7dsk";
+      system = "net.didierverna.declt.core";
+      asd = "net.didierverna.declt.core";
+    });
+    systems = [ "net.didierverna.declt.core" ];
+    lispLibs = [ (getAttr "net_dot_didierverna_dot_declt_dot_setup" pkgs) ];
+  };
+  net_dot_didierverna_dot_declt_dot_setup = {
+    pname = "net.didierverna.declt.setup";
+    version = "3.0";
+    asds = [ "net.didierverna.declt.setup" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/declt/2019-11-30/declt-3.0.tgz";
+      sha256 = "107dxv1kf2wlxp5jdrdfghmq5rn26dp0smz4766ah7wg6r6y7dsk";
+      system = "net.didierverna.declt.setup";
+      asd = "net.didierverna.declt.setup";
+    });
+    systems = [ "net.didierverna.declt.setup" ];
+    lispLibs = [  ];
+  };
+  net_dot_didierverna_dot_focus = {
+    pname = "net.didierverna.focus";
+    version = "20170403-git";
+    asds = [ "net.didierverna.focus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz";
+      sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc";
+      system = "net.didierverna.focus";
+      asd = "net.didierverna.focus";
+    });
+    systems = [ "net.didierverna.focus" ];
+    lispLibs = [ (getAttr "net_dot_didierverna_dot_focus_dot_core" pkgs) (getAttr "net_dot_didierverna_dot_focus_dot_flv" pkgs) (getAttr "net_dot_didierverna_dot_focus_dot_setup" pkgs) ];
+  };
+  net_dot_didierverna_dot_focus_dot_core = {
+    pname = "net.didierverna.focus.core";
+    version = "20170403-git";
+    asds = [ "net.didierverna.focus.core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz";
+      sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc";
+      system = "net.didierverna.focus.core";
+      asd = "net.didierverna.focus.core";
+    });
+    systems = [ "net.didierverna.focus.core" ];
+    lispLibs = [ (getAttr "net_dot_didierverna_dot_focus_dot_setup" pkgs) ];
+  };
+  net_dot_didierverna_dot_focus_dot_demos_dot_quotation = {
+    pname = "net.didierverna.focus.demos.quotation";
+    version = "20170403-git";
+    asds = [ "net.didierverna.focus.demos.quotation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz";
+      sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc";
+      system = "net.didierverna.focus.demos.quotation";
+      asd = "net.didierverna.focus.demos.quotation";
+    });
+    systems = [ "net.didierverna.focus.demos.quotation" ];
+    lispLibs = [ (getAttr "net_dot_didierverna_dot_focus_dot_flv" pkgs) ];
+  };
+  net_dot_didierverna_dot_focus_dot_flv = {
+    pname = "net.didierverna.focus.flv";
+    version = "20170403-git";
+    asds = [ "net.didierverna.focus.flv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz";
+      sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc";
+      system = "net.didierverna.focus.flv";
+      asd = "net.didierverna.focus.flv";
+    });
+    systems = [ "net.didierverna.focus.flv" ];
+    lispLibs = [ (getAttr "net_dot_didierverna_dot_asdf-flv" pkgs) (getAttr "net_dot_didierverna_dot_focus_dot_core" pkgs) (getAttr "net_dot_didierverna_dot_focus_dot_setup" pkgs) ];
+  };
+  net_dot_didierverna_dot_focus_dot_setup = {
+    pname = "net.didierverna.focus.setup";
+    version = "20170403-git";
+    asds = [ "net.didierverna.focus.setup" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz";
+      sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc";
+      system = "net.didierverna.focus.setup";
+      asd = "net.didierverna.focus.setup";
+    });
+    systems = [ "net.didierverna.focus.setup" ];
+    lispLibs = [  ];
+  };
+  net_dot_didierverna_dot_focus_dot_setup_slash_flv = {
+    pname = "net.didierverna.focus.setup_flv";
+    version = "20170403-git";
+    asds = [ "net.didierverna.focus.setup" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/focus/2017-04-03/focus-20170403-git.tgz";
+      sha256 = "0b7nxqlkfi7irdmhsbp15r63c8fcg8q0ahmwmq5cmkf8ffq8dspc";
+      system = "net.didierverna.focus.setup";
+      asd = "net.didierverna.focus.setup";
+    });
+    systems = [ "net.didierverna.focus.setup/flv" ];
+    lispLibs = [ (getAttr "net_dot_didierverna_dot_focus_dot_setup" pkgs) ];
+  };
+  net_dot_didierverna_dot_tfm = {
+    pname = "net.didierverna.tfm";
+    version = "20210411-git";
+    asds = [ "net.didierverna.tfm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tfm/2021-04-11/tfm-20210411-git.tgz";
+      sha256 = "1wwphg315zq9213vhi5l8fyrfyzasym3rwf34dxfc5cyhsf0wbi6";
+      system = "net.didierverna.tfm";
+      asd = "net.didierverna.tfm";
+    });
+    systems = [ "net.didierverna.tfm" ];
+    lispLibs = [ (getAttr "net_dot_didierverna_dot_tfm_dot_core" pkgs) ];
+  };
+  net_dot_didierverna_dot_tfm_dot_core = {
+    pname = "net.didierverna.tfm.core";
+    version = "20210411-git";
+    asds = [ "net.didierverna.tfm.core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tfm/2021-04-11/tfm-20210411-git.tgz";
+      sha256 = "1wwphg315zq9213vhi5l8fyrfyzasym3rwf34dxfc5cyhsf0wbi6";
+      system = "net.didierverna.tfm.core";
+      asd = "net.didierverna.tfm.core";
+    });
+    systems = [ "net.didierverna.tfm.core" ];
+    lispLibs = [ (getAttr "net_dot_didierverna_dot_tfm_dot_setup" pkgs) ];
+  };
+  net_dot_didierverna_dot_tfm_dot_setup = {
+    pname = "net.didierverna.tfm.setup";
+    version = "20210411-git";
+    asds = [ "net.didierverna.tfm.setup" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tfm/2021-04-11/tfm-20210411-git.tgz";
+      sha256 = "1wwphg315zq9213vhi5l8fyrfyzasym3rwf34dxfc5cyhsf0wbi6";
+      system = "net.didierverna.tfm.setup";
+      asd = "net.didierverna.tfm.setup";
+    });
+    systems = [ "net.didierverna.tfm.setup" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  net_dot_scipolis_dot_graphs = {
+    pname = "net.scipolis.graphs";
+    version = "20210411-git";
+    asds = [ "net.scipolis.graphs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/femlisp/2021-04-11/femlisp-20210411-git.tgz";
+      sha256 = "08l2x1jq3vfhh8m14wijd8c78n589cy5hd2py2jfj3yfiqyipasa";
+      system = "net.scipolis.graphs";
+      asd = "net.scipolis.graphs";
+    });
+    systems = [ "net.scipolis.graphs" ];
+    lispLibs = [ (getAttr "femlisp-basic" pkgs) ];
+  };
+  network-addresses = {
+    pname = "network-addresses";
+    version = "20160628-git";
+    asds = [ "network-addresses" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/network-addresses/2016-06-28/network-addresses-20160628-git.tgz";
+      sha256 = "0zkyfdvfy9pz08vrgz40qpnqx0y7vf92aarp9dq2wipimnwy8df2";
+      system = "network-addresses";
+      asd = "network-addresses";
+    });
+    systems = [ "network-addresses" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  network-addresses-test = {
+    pname = "network-addresses-test";
+    version = "20160628-git";
+    asds = [ "network-addresses-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/network-addresses/2016-06-28/network-addresses-20160628-git.tgz";
+      sha256 = "0zkyfdvfy9pz08vrgz40qpnqx0y7vf92aarp9dq2wipimnwy8df2";
+      system = "network-addresses-test";
+      asd = "network-addresses-test";
+    });
+    systems = [ "network-addresses-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "network-addresses" pkgs) ];
+  };
+  neural-classifier = {
+    pname = "neural-classifier";
+    version = "20211230-git";
+    asds = [ "neural-classifier" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/neural-classifier/2021-12-30/neural-classifier-20211230-git.tgz";
+      sha256 = "00vdmvlg4k6fv61gi7p0ak1335k1c3jlq7r1c5p29kn9dgbr6bsp";
+      system = "neural-classifier";
+      asd = "neural-classifier";
+    });
+    systems = [ "neural-classifier" ];
+    lispLibs = [ (getAttr "magicl" pkgs) (getAttr "snakes" pkgs) ];
+  };
+  neural-classifier_slash_mnist = {
+    pname = "neural-classifier_mnist";
+    version = "20211230-git";
+    asds = [ "neural-classifier" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/neural-classifier/2021-12-30/neural-classifier-20211230-git.tgz";
+      sha256 = "00vdmvlg4k6fv61gi7p0ak1335k1c3jlq7r1c5p29kn9dgbr6bsp";
+      system = "neural-classifier";
+      asd = "neural-classifier";
+    });
+    systems = [ "neural-classifier/mnist" ];
+    lispLibs = [ (getAttr "neural-classifier" pkgs) (getAttr "nibbles" pkgs) ];
+  };
+  neural-classifier_slash_tests = {
+    pname = "neural-classifier_tests";
+    version = "20211230-git";
+    asds = [ "neural-classifier" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/neural-classifier/2021-12-30/neural-classifier-20211230-git.tgz";
+      sha256 = "00vdmvlg4k6fv61gi7p0ak1335k1c3jlq7r1c5p29kn9dgbr6bsp";
+      system = "neural-classifier";
+      asd = "neural-classifier";
+    });
+    systems = [ "neural-classifier/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "neural-classifier" pkgs) (getAttr "nibbles" pkgs) ];
+  };
+  new-op = {
+    pname = "new-op";
+    version = "20211230-git";
+    asds = [ "new-op" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/new-op/2021-12-30/new-op-20211230-git.tgz";
+      sha256 = "10336s6nly62jg08f6mvybg54c797znhxkr3wiaphpxn4i24vaql";
+      system = "new-op";
+      asd = "new-op";
+    });
+    systems = [ "new-op" ];
+    lispLibs = [  ];
+  };
+  nibbles = {
+    pname = "nibbles";
+    version = "20211209-git";
+    asds = [ "nibbles" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nibbles/2021-12-09/nibbles-20211209-git.tgz";
+      sha256 = "13jh8iywa35jsxigz96mpvfwf81d21m21cfhfg2bj3fvwkc29ic1";
+      system = "nibbles";
+      asd = "nibbles";
+    });
+    systems = [ "nibbles" ];
+    lispLibs = [  ];
+  };
+  nibbles_slash_tests = {
+    pname = "nibbles_tests";
+    version = "20211209-git";
+    asds = [ "nibbles" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nibbles/2021-12-09/nibbles-20211209-git.tgz";
+      sha256 = "13jh8iywa35jsxigz96mpvfwf81d21m21cfhfg2bj3fvwkc29ic1";
+      system = "nibbles";
+      asd = "nibbles";
+    });
+    systems = [ "nibbles/tests" ];
+    lispLibs = [ (getAttr "nibbles" pkgs) (getAttr "rt" pkgs) ];
+  };
+  nineveh = {
+    pname = "nineveh";
+    version = "release-quicklisp-0a10a846-git";
+    asds = [ "nineveh" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nineveh/2019-10-07/nineveh-release-quicklisp-0a10a846-git.tgz";
+      sha256 = "0bpdgqc9iz37240ypirpi489pnqpb92i94snyhjbh87i50y4br2l";
+      system = "nineveh";
+      asd = "nineveh";
+    });
+    systems = [ "nineveh" ];
+    lispLibs = [ (getAttr "cepl" pkgs) (getAttr "cl-soil" pkgs) (getAttr "dendrite_dot_primitives" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "easing" pkgs) (getAttr "livesupport" pkgs) (getAttr "rtg-math_dot_vari" pkgs) (getAttr "with-setf" pkgs) ];
+  };
+  ningle = {
+    pname = "ningle";
+    version = "20211230-git";
+    asds = [ "ningle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ningle/2021-12-30/ningle-20211230-git.tgz";
+      sha256 = "0s9nn8ml1j4839rycvdjcbsynkqnhxw1zmrgpjz48smscwdf1f8p";
+      system = "ningle";
+      asd = "ningle";
+    });
+    systems = [ "ningle" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "lack-component" pkgs) (getAttr "lack-request" pkgs) (getAttr "lack-response" pkgs) (getAttr "myway" pkgs) ];
+  };
+  ningle-test = {
+    pname = "ningle-test";
+    version = "20211230-git";
+    asds = [ "ningle-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ningle/2021-12-30/ningle-20211230-git.tgz";
+      sha256 = "0s9nn8ml1j4839rycvdjcbsynkqnhxw1zmrgpjz48smscwdf1f8p";
+      system = "ningle-test";
+      asd = "ningle-test";
+    });
+    systems = [ "ningle-test" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "clack-test" pkgs) (getAttr "drakma" pkgs) (getAttr "ningle" pkgs) (getAttr "prove" pkgs) (getAttr "yason" pkgs) ];
+  };
+  nodgui = {
+    pname = "nodgui";
+    version = "20211209-git";
+    asds = [ "nodgui" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nodgui/2021-12-09/nodgui-20211209-git.tgz";
+      sha256 = "1kjy6dm3wv63grc18lgfw9lih861hfp1l8a86k4p99p4qmspxvqb";
+      system = "nodgui";
+      asd = "nodgui";
+    });
+    systems = [ "nodgui" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-colors2" pkgs) (getAttr "cl-jpeg" pkgs) (getAttr "cl-lex" pkgs) (getAttr "cl-ppcre-unicode" pkgs) (getAttr "cl-unicode" pkgs) (getAttr "yacc" pkgs) (getAttr "clunit2" pkgs) (getAttr "named-readtables" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  north = {
+    pname = "north";
+    version = "20210411-git";
+    asds = [ "north" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/north/2021-04-11/north-20210411-git.tgz";
+      sha256 = "1gaa3vcl6fg13kjslrmwgi7736zhi9haza2ghfnz90x5g65qd9l1";
+      system = "north";
+      asd = "north";
+    });
+    systems = [ "north" ];
+    lispLibs = [ (getAttr "north-drakma" pkgs) ];
+  };
+  north-core = {
+    pname = "north-core";
+    version = "20210411-git";
+    asds = [ "north-core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/north/2021-04-11/north-20210411-git.tgz";
+      sha256 = "1gaa3vcl6fg13kjslrmwgi7736zhi9haza2ghfnz90x5g65qd9l1";
+      system = "north-core";
+      asd = "north-core";
+    });
+    systems = [ "north-core" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "crypto-shortcuts" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "uuid" pkgs) ];
+  };
+  north-dexador = {
+    pname = "north-dexador";
+    version = "20210411-git";
+    asds = [ "north-dexador" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/north/2021-04-11/north-20210411-git.tgz";
+      sha256 = "1gaa3vcl6fg13kjslrmwgi7736zhi9haza2ghfnz90x5g65qd9l1";
+      system = "north-dexador";
+      asd = "north-dexador";
+    });
+    systems = [ "north-dexador" ];
+    lispLibs = [ (getAttr "dexador" pkgs) (getAttr "north-core" pkgs) ];
+  };
+  north-drakma = {
+    pname = "north-drakma";
+    version = "20210411-git";
+    asds = [ "north-drakma" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/north/2021-04-11/north-20210411-git.tgz";
+      sha256 = "1gaa3vcl6fg13kjslrmwgi7736zhi9haza2ghfnz90x5g65qd9l1";
+      system = "north-drakma";
+      asd = "north-drakma";
+    });
+    systems = [ "north-drakma" ];
+    lispLibs = [ (getAttr "drakma" pkgs) (getAttr "north-core" pkgs) ];
+  };
+  north-example = {
+    pname = "north-example";
+    version = "20210411-git";
+    asds = [ "north-example" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/north/2021-04-11/north-20210411-git.tgz";
+      sha256 = "1gaa3vcl6fg13kjslrmwgi7736zhi9haza2ghfnz90x5g65qd9l1";
+      system = "north-example";
+      asd = "north-example";
+    });
+    systems = [ "north-example" ];
+    lispLibs = [ (getAttr "clip" pkgs) (getAttr "drakma" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "north" pkgs) ];
+  };
+  nsb-cga = {
+    pname = "nsb-cga";
+    version = "20200427-git";
+    asds = [ "nsb-cga" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "nsb-cga";
+      asd = "nsb-cga";
+    });
+    systems = [ "nsb-cga" ];
+    lispLibs = [ (getAttr "cl-reexport" pkgs) ];
+  };
+  nsort = {
+    pname = "nsort";
+    version = "20150505-git";
+    asds = [ "nsort" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nsort/2015-05-05/nsort-20150505-git.tgz";
+      sha256 = "1q58slg8pl390av8pv16xb8g9qibgy3pm6vyl1fw75mx37yqkyd3";
+      system = "nsort";
+      asd = "nsort";
+    });
+    systems = [ "nsort" ];
+    lispLibs = [ (getAttr "prove" pkgs) ];
+  };
+  nst = {
+    pname = "nst";
+    version = "20210807-git";
+    asds = [ "nst" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz";
+      sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga";
+      system = "nst";
+      asd = "nst";
+    });
+    systems = [ "nst" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "org-sampler" pkgs) ];
+  };
+  nst-manual-tests = {
+    pname = "nst-manual-tests";
+    version = "20210807-git";
+    asds = [ "nst-manual-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz";
+      sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga";
+      system = "nst-manual-tests";
+      asd = "nst-manual-tests";
+    });
+    systems = [ "nst-manual-tests" ];
+    lispLibs = [ (getAttr "asdf-nst" pkgs) (getAttr "nst" pkgs) (getAttr "nst-selftest-utils" pkgs) ];
+  };
+  nst-meta-tests = {
+    pname = "nst-meta-tests";
+    version = "20210807-git";
+    asds = [ "nst-meta-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz";
+      sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga";
+      system = "nst-meta-tests";
+      asd = "nst-meta-tests";
+    });
+    systems = [ "nst-meta-tests" ];
+    lispLibs = [ (getAttr "asdf-nst" pkgs) (getAttr "nst" pkgs) (getAttr "nst-selftest-utils" pkgs) ];
+  };
+  nst-mop-utils = {
+    pname = "nst-mop-utils";
+    version = "20210807-git";
+    asds = [ "nst-mop-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz";
+      sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga";
+      system = "nst-mop-utils";
+      asd = "nst-mop-utils";
+    });
+    systems = [ "nst-mop-utils" ];
+    lispLibs = [ (getAttr "nst" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  nst-selftest-utils = {
+    pname = "nst-selftest-utils";
+    version = "20210807-git";
+    asds = [ "nst-selftest-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz";
+      sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga";
+      system = "nst-selftest-utils";
+      asd = "nst-selftest-utils";
+    });
+    systems = [ "nst-selftest-utils" ];
+    lispLibs = [ (getAttr "nst" pkgs) ];
+  };
+  nst-simple-tests = {
+    pname = "nst-simple-tests";
+    version = "20210807-git";
+    asds = [ "nst-simple-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz";
+      sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga";
+      system = "nst-simple-tests";
+      asd = "nst-simple-tests";
+    });
+    systems = [ "nst-simple-tests" ];
+    lispLibs = [ (getAttr "asdf-nst" pkgs) (getAttr "nst" pkgs) (getAttr "nst-selftest-utils" pkgs) ];
+  };
+  nst-test = {
+    pname = "nst-test";
+    version = "20210807-git";
+    asds = [ "nst-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz";
+      sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga";
+      system = "nst-test";
+      asd = "nst-test";
+    });
+    systems = [ "nst-test" ];
+    lispLibs = [ (getAttr "asdf-nst" pkgs) (getAttr "nst" pkgs) (getAttr "nst-meta-tests" pkgs) (getAttr "nst-simple-tests" pkgs) ];
+  };
+  nst-test-jenkins = {
+    pname = "nst-test-jenkins";
+    version = "20210807-git";
+    asds = [ "nst-test-jenkins" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-nst/2021-08-07/cl-nst-20210807-git.tgz";
+      sha256 = "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga";
+      system = "nst-test-jenkins";
+      asd = "nst-test-jenkins";
+    });
+    systems = [ "nst-test-jenkins" ];
+    lispLibs = [ (getAttr "asdf-nst" pkgs) (getAttr "nst" pkgs) (getAttr "nst-test" pkgs) ];
+  };
+  nuclblog = {
+    pname = "nuclblog";
+    version = "20140826-git";
+    asds = [ "nuclblog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nuclblog/2014-08-26/nuclblog-20140826-git.tgz";
+      sha256 = "03ngrxas65l7h9ykyy100arm0imvnrxxyyf809l8iqqv87b3k1hz";
+      system = "nuclblog";
+      asd = "nuclblog";
+    });
+    systems = [ "nuclblog" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-markdown" pkgs) (getAttr "cl-store" pkgs) (getAttr "cl-who" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "hunchentoot-auth" pkgs) (getAttr "md5" pkgs) ];
+  };
+  nuklear-blob = {
+    pname = "nuklear-blob";
+    version = "stable-git";
+    asds = [ "nuklear-blob" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nuklear-blob/2020-10-16/nuklear-blob-stable-git.tgz";
+      sha256 = "1qqx08sd74ix027p6w35yr0ycp72swy1zzps015hwkiwxsawkncm";
+      system = "nuklear-blob";
+      asd = "nuklear-blob";
+    });
+    systems = [ "nuklear-blob" ];
+    lispLibs = [ (getAttr "bodge-blobs-support" pkgs) (getAttr "glad-blob" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  nuklear-renderer-blob = {
+    pname = "nuklear-renderer-blob";
+    version = "stable-git";
+    asds = [ "nuklear-renderer-blob" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nuklear-renderer-blob/2020-10-16/nuklear-renderer-blob-stable-git.tgz";
+      sha256 = "0f73ns9dq02v7ixpbnvrfgp52cjdvmbbbhhfwjyv0ywxx30mrdq4";
+      system = "nuklear-renderer-blob";
+      asd = "nuklear-renderer-blob";
+    });
+    systems = [ "nuklear-renderer-blob" ];
+    lispLibs = [ (getAttr "bodge-blobs-support" pkgs) (getAttr "glad-blob" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  null-package = {
+    pname = "null-package";
+    version = "20211020-git";
+    asds = [ "null-package" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/null-package/2021-10-20/null-package-20211020-git.tgz";
+      sha256 = "0qssvbdj7070j51q2yvqh1klpmhrdp7kh66xx0kngmjr9py8h392";
+      system = "null-package";
+      asd = "null-package";
+    });
+    systems = [ "null-package" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "core-reader" pkgs) (getAttr "named-readtables" pkgs) (getAttr "read-as-string" pkgs) ];
+  };
+  null-package_dot_test = {
+    pname = "null-package.test";
+    version = "20211020-git";
+    asds = [ "null-package.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/null-package/2021-10-20/null-package-20211020-git.tgz";
+      sha256 = "0qssvbdj7070j51q2yvqh1klpmhrdp7kh66xx0kngmjr9py8h392";
+      system = "null-package.test";
+      asd = "null-package.test";
+    });
+    systems = [ "null-package.test" ];
+    lispLibs = [ (getAttr "bnf" pkgs) (getAttr "jingoh" pkgs) (getAttr "null-package" pkgs) ];
+  };
+  num-utils = {
+    pname = "num-utils";
+    version = "20211209-git";
+    asds = [ "num-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/numerical-utilities/2021-12-09/numerical-utilities-20211209-git.tgz";
+      sha256 = "0csm9z6gady6810aw0mmifj6y3zkyi0khsd0hdmk66qdgdm4rb37";
+      system = "num-utils";
+      asd = "num-utils";
+    });
+    systems = [ "num-utils" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "array-operations" pkgs) (getAttr "let-plus" pkgs) (getAttr "select" pkgs) ];
+  };
+  num-utils_slash_tests = {
+    pname = "num-utils_tests";
+    version = "20211209-git";
+    asds = [ "num-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/numerical-utilities/2021-12-09/numerical-utilities-20211209-git.tgz";
+      sha256 = "0csm9z6gady6810aw0mmifj6y3zkyi0khsd0hdmk66qdgdm4rb37";
+      system = "num-utils";
+      asd = "num-utils";
+    });
+    systems = [ "num-utils/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "num-utils" pkgs) (getAttr "select" pkgs) ];
+  };
+  numcl = {
+    pname = "numcl";
+    version = "20211209-git";
+    asds = [ "numcl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/numcl/2021-12-09/numcl-20211209-git.tgz";
+      sha256 = "15m4spbgayawnw5jjz04zfp0jnk9g6hgq5fmr648hzjzj50j1d78";
+      system = "numcl";
+      asd = "numcl";
+    });
+    systems = [ "numcl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-randist" pkgs) (getAttr "constantfold" pkgs) (getAttr "float-features" pkgs) (getAttr "function-cache" pkgs) (getAttr "gtype" pkgs) (getAttr "iterate" pkgs) (getAttr "lisp-namespace" pkgs) (getAttr "specialized-function" pkgs) (getAttr "trivia" pkgs) (getAttr "type-r" pkgs) ];
+  };
+  numcl_dot_test = {
+    pname = "numcl.test";
+    version = "20211209-git";
+    asds = [ "numcl.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/numcl/2021-12-09/numcl-20211209-git.tgz";
+      sha256 = "15m4spbgayawnw5jjz04zfp0jnk9g6hgq5fmr648hzjzj50j1d78";
+      system = "numcl.test";
+      asd = "numcl.test";
+    });
+    systems = [ "numcl.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "numcl" pkgs) ];
+  };
+  numpy-file-format = {
+    pname = "numpy-file-format";
+    version = "20210124-git";
+    asds = [ "numpy-file-format" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/numpy-file-format/2021-01-24/numpy-file-format-20210124-git.tgz";
+      sha256 = "0j7jjcf6k3anvgpm4nf81g6gbhff44v0v9rai7kwm2bm3abzsjfd";
+      system = "numpy-file-format";
+      asd = "numpy-file-format";
+    });
+    systems = [ "numpy-file-format" ];
+    lispLibs = [ (getAttr "ieee-floats" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  numpy-file-format_slash_tests = {
+    pname = "numpy-file-format_tests";
+    version = "20210124-git";
+    asds = [ "numpy-file-format" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/numpy-file-format/2021-01-24/numpy-file-format-20210124-git.tgz";
+      sha256 = "0j7jjcf6k3anvgpm4nf81g6gbhff44v0v9rai7kwm2bm3abzsjfd";
+      system = "numpy-file-format";
+      asd = "numpy-file-format";
+    });
+    systems = [ "numpy-file-format/tests" ];
+    lispLibs = [ (getAttr "numpy-file-format" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  nxt = {
+    pname = "nxt";
+    version = "20150608-git";
+    asds = [ "nxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-nxt/2015-06-08/cl-nxt-20150608-git.tgz";
+      sha256 = "1r9004ra140i9v2pmxnjv86dix4040jr0rgww2zwk370zxys7h2g";
+      system = "nxt";
+      asd = "nxt";
+    });
+    systems = [ "nxt" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cffi" pkgs) (getAttr "static-vectors" pkgs) ];
+  };
+  nxt-proxy = {
+    pname = "nxt-proxy";
+    version = "20150608-git";
+    asds = [ "nxt-proxy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-nxt/2015-06-08/cl-nxt-20150608-git.tgz";
+      sha256 = "1r9004ra140i9v2pmxnjv86dix4040jr0rgww2zwk370zxys7h2g";
+      system = "nxt-proxy";
+      asd = "nxt-proxy";
+    });
+    systems = [ "nxt-proxy" ];
+    lispLibs = [ (getAttr "nxt" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  nyaml = {
+    pname = "nyaml";
+    version = "20211230-git";
+    asds = [ "nyaml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyaml/2021-12-30/nyaml-20211230-git.tgz";
+      sha256 = "1gdsxhgqx9ynzrxwjidgljlkmz35wx83r6gwslxgg4v0g4vix9da";
+      system = "nyaml";
+      asd = "nyaml";
+    });
+    systems = [ "nyaml" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "esrap" pkgs) (getAttr "fare-quasiquote" pkgs) (getAttr "fare-quasiquote-extras" pkgs) (getAttr "parse-number" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  nyaml_slash_test = {
+    pname = "nyaml_test";
+    version = "20211230-git";
+    asds = [ "nyaml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyaml/2021-12-30/nyaml-20211230-git.tgz";
+      sha256 = "1gdsxhgqx9ynzrxwjidgljlkmz35wx83r6gwslxgg4v0g4vix9da";
+      system = "nyaml";
+      asd = "nyaml";
+    });
+    systems = [ "nyaml/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "esrap" pkgs) (getAttr "nyaml" pkgs) (getAttr "parachute" pkgs) (getAttr "split-sequence" pkgs) (getAttr "yason" pkgs) ];
+  };
+  nyxt = {
+    pname = "nyxt";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "calispel" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-containers" pkgs) (getAttr "cl-css" pkgs) (getAttr "cl-custom-hash-table" pkgs) (getAttr "enchant" pkgs) (getAttr "cl-html-diff" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-ppcre-unicode" pkgs) (getAttr "cl-prevalence" pkgs) (getAttr "cl-qrencode" pkgs) (getAttr "str" pkgs) (getAttr "closer-mop" pkgs) (getAttr "clss" pkgs) (getAttr "cluffer" pkgs) (getAttr "dexador" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "fset" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "iolib" pkgs) (getAttr "local-time" pkgs) (getAttr "log4cl" pkgs) (getAttr "lparallel" pkgs) (getAttr "moptilities" pkgs) (getAttr "named-readtables" pkgs) (getAttr "parenscript" pkgs) (getAttr "plump" pkgs) (getAttr "quri" pkgs) (getAttr "serapeum" pkgs) (getAttr "swank" pkgs) (getAttr "spinneret" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-clipboard" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-package-local-nicknames" pkgs) (getAttr "trivial-types" pkgs) (getAttr "uiop" pkgs) (getAttr "unix-opts" pkgs) ];
+  };
+  nyxt-ubuntu-package = {
+    pname = "nyxt-ubuntu-package";
+    version = "20211230-git";
+    asds = [ "nyxt-ubuntu-package" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt-ubuntu-package";
+      asd = "nyxt-ubuntu-package";
+    });
+    systems = [ "nyxt-ubuntu-package" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-cffi-gtk" pkgs) (getAttr "cl-gobject-introspection" pkgs) (getAttr "cl-webkit2" pkgs) (getAttr "linux-packaging" pkgs) (getAttr "nyxt" pkgs) (getAttr "wild-package-inferred-system" pkgs) ];
+  };
+  nyxt_slash_analysis = {
+    pname = "nyxt_analysis";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/analysis" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "str" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  nyxt_slash_benchmark = {
+    pname = "nyxt_benchmark";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/benchmark" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "nyxt" pkgs) (getAttr "trivial-benchmark" pkgs) ];
+  };
+  nyxt_slash_class-star = {
+    pname = "nyxt_class-star";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/class-star" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "moptilities" pkgs) ];
+  };
+  nyxt_slash_class-star_slash_tests = {
+    pname = "nyxt_class-star_tests";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/class-star/tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "moptilities" pkgs) (getAttr "prove" pkgs) ];
+  };
+  nyxt_slash_clean-fasls = {
+    pname = "nyxt_clean-fasls";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/clean-fasls" ];
+    lispLibs = [ (getAttr "swank" pkgs) ];
+  };
+  nyxt_slash_download-manager = {
+    pname = "nyxt_download-manager";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/download-manager" ];
+    lispLibs = [ (getAttr "calispel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "str" pkgs) (getAttr "dexador" pkgs) (getAttr "log4cl" pkgs) (getAttr "quri" pkgs) ];
+  };
+  nyxt_slash_download-manager_slash_tests = {
+    pname = "nyxt_download-manager_tests";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/download-manager/tests" ];
+    lispLibs = [ (getAttr "calispel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "str" pkgs) (getAttr "dexador" pkgs) (getAttr "log4cl" pkgs) (getAttr "prove" pkgs) (getAttr "quri" pkgs) ];
+  };
+  nyxt_slash_gi-gtk = {
+    pname = "nyxt_gi-gtk";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/gi-gtk" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-cffi-gtk" pkgs) (getAttr "cl-gobject-introspection" pkgs) (getAttr "cl-webkit2" pkgs) (getAttr "nyxt" pkgs) ];
+  };
+  nyxt_slash_gi-gtk-application = {
+    pname = "nyxt_gi-gtk-application";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/gi-gtk-application" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-cffi-gtk" pkgs) (getAttr "cl-gobject-introspection" pkgs) (getAttr "cl-webkit2" pkgs) (getAttr "nyxt" pkgs) ];
+  };
+  nyxt_slash_gtk = {
+    pname = "nyxt_gtk";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/gtk" ];
+    lispLibs = [ (getAttr "cl-cffi-gtk" pkgs) (getAttr "cl-webkit2" pkgs) (getAttr "nyxt" pkgs) ];
+  };
+  nyxt_slash_gtk-application = {
+    pname = "nyxt_gtk-application";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/gtk-application" ];
+    lispLibs = [ (getAttr "cl-cffi-gtk" pkgs) (getAttr "cl-webkit2" pkgs) (getAttr "nyxt" pkgs) ];
+  };
+  nyxt_slash_history-tree = {
+    pname = "nyxt_history-tree";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/history-tree" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-custom-hash-table" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "local-time" pkgs) (getAttr "moptilities" pkgs) (getAttr "trivial-package-local-nicknames" pkgs) ];
+  };
+  nyxt_slash_history-tree_slash_tests = {
+    pname = "nyxt_history-tree_tests";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/history-tree/tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-custom-hash-table" pkgs) (getAttr "str" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "local-time" pkgs) (getAttr "moptilities" pkgs) (getAttr "prove" pkgs) (getAttr "trivial-package-local-nicknames" pkgs) ];
+  };
+  nyxt_slash_keymap = {
+    pname = "nyxt_keymap";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/keymap" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "str" pkgs) (getAttr "fset" pkgs) ];
+  };
+  nyxt_slash_keymap_slash_tests = {
+    pname = "nyxt_keymap_tests";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/keymap/tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "str" pkgs) (getAttr "fset" pkgs) (getAttr "prove" pkgs) ];
+  };
+  nyxt_slash_ospm = {
+    pname = "nyxt_ospm";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/ospm" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "calispel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "str" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "local-time" pkgs) (getAttr "moptilities" pkgs) (getAttr "named-readtables" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  nyxt_slash_ospm_slash_tests = {
+    pname = "nyxt_ospm_tests";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/ospm/tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "calispel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "str" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "local-time" pkgs) (getAttr "moptilities" pkgs) (getAttr "named-readtables" pkgs) (getAttr "prove" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  nyxt_slash_password-manager = {
+    pname = "nyxt_password-manager";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/password-manager" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "str" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "moptilities" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivial-clipboard" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  nyxt_slash_prompter = {
+    pname = "nyxt_prompter";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/prompter" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "calispel" pkgs) (getAttr "cl-containers" pkgs) (getAttr "str" pkgs) (getAttr "closer-mop" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "lparallel" pkgs) (getAttr "moptilities" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivial-package-local-nicknames" pkgs) ];
+  };
+  nyxt_slash_prompter_slash_tests = {
+    pname = "nyxt_prompter_tests";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/prompter/tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "calispel" pkgs) (getAttr "cl-containers" pkgs) (getAttr "str" pkgs) (getAttr "closer-mop" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "lparallel" pkgs) (getAttr "moptilities" pkgs) (getAttr "prove" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivial-package-local-nicknames" pkgs) ];
+  };
+  nyxt_slash_submodules = {
+    pname = "nyxt_submodules";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/submodules" ];
+    lispLibs = [  ];
+  };
+  nyxt_slash_tests = {
+    pname = "nyxt_tests";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/tests" ];
+    lispLibs = [ (getAttr "nyxt" pkgs) (getAttr "prove" pkgs) ];
+  };
+  nyxt_slash_text-buffer = {
+    pname = "nyxt_text-buffer";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/text-buffer" ];
+    lispLibs = [ (getAttr "cluffer" pkgs) ];
+  };
+  nyxt_slash_theme = {
+    pname = "nyxt_theme";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/theme" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-css" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "moptilities" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  nyxt_slash_theme_slash_tests = {
+    pname = "nyxt_theme_tests";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/theme/tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-css" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "moptilities" pkgs) (getAttr "prove" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  nyxt_slash_user-interface = {
+    pname = "nyxt_user-interface";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/user-interface" ];
+    lispLibs = [ (getAttr "spinneret" pkgs) ];
+  };
+  nyxt_slash_version = {
+    pname = "nyxt_version";
+    version = "20211230-git";
+    asds = [ "nyxt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/nyxt/2021-12-30/nyxt-20211230-git.tgz";
+      sha256 = "1r8fvjgrn79ylsj34gf2kkimmw6xhmd8y2afkly1bibgyz8xc9bd";
+      system = "nyxt";
+      asd = "nyxt";
+    });
+    systems = [ "nyxt/version" ];
+    lispLibs = [ (getAttr "nyxt" pkgs) ];
+  };
+  object-class = {
+    pname = "object-class";
+    version = "1.0";
+    asds = [ "object-class" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/object-class/2020-09-25/object-class_1.0.tgz";
+      sha256 = "0qagmd2mxbr8b60l0y3jccj0maxjchds96p935pd3q805ry50683";
+      system = "object-class";
+      asd = "object-class";
+    });
+    systems = [ "object-class" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "compatible-metaclasses" pkgs) (getAttr "enhanced-find-class" pkgs) ];
+  };
+  object-class_tests = {
+    pname = "object-class_tests";
+    version = "1.0";
+    asds = [ "object-class_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/object-class/2020-09-25/object-class_1.0.tgz";
+      sha256 = "0qagmd2mxbr8b60l0y3jccj0maxjchds96p935pd3q805ry50683";
+      system = "object-class_tests";
+      asd = "object-class_tests";
+    });
+    systems = [ "object-class_tests" ];
+    lispLibs = [ (getAttr "compatible-metaclasses" pkgs) (getAttr "object-class" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  oclcl = {
+    pname = "oclcl";
+    version = "20190521-git";
+    asds = [ "oclcl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/oclcl/2019-05-21/oclcl-20190521-git.tgz";
+      sha256 = "1ccyrv4fknpln5askl8cpnwbp28sikrs6i3dwzm86jwhv272zc8q";
+      system = "oclcl";
+      asd = "oclcl";
+    });
+    systems = [ "oclcl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-pattern" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-reexport" pkgs) (getAttr "external-program" pkgs) (getAttr "lisp-namespace" pkgs) (getAttr "osicat" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  oclcl-examples = {
+    pname = "oclcl-examples";
+    version = "20190521-git";
+    asds = [ "oclcl-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/oclcl/2019-05-21/oclcl-20190521-git.tgz";
+      sha256 = "1ccyrv4fknpln5askl8cpnwbp28sikrs6i3dwzm86jwhv272zc8q";
+      system = "oclcl-examples";
+      asd = "oclcl-examples";
+    });
+    systems = [ "oclcl-examples" ];
+    lispLibs = [ (getAttr "cl-oclapi" pkgs) (getAttr "imago" pkgs) (getAttr "oclcl" pkgs) ];
+  };
+  oclcl-test = {
+    pname = "oclcl-test";
+    version = "20190521-git";
+    asds = [ "oclcl-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/oclcl/2019-05-21/oclcl-20190521-git.tgz";
+      sha256 = "1ccyrv4fknpln5askl8cpnwbp28sikrs6i3dwzm86jwhv272zc8q";
+      system = "oclcl-test";
+      asd = "oclcl-test";
+    });
+    systems = [ "oclcl-test" ];
+    lispLibs = [ (getAttr "arrow-macros" pkgs) (getAttr "oclcl" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  ode-blob = {
+    pname = "ode-blob";
+    version = "stable-git";
+    asds = [ "ode-blob" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ode-blob/2020-10-16/ode-blob-stable-git.tgz";
+      sha256 = "1l2zq27zmivmr6h66kadbh3isnbdmkxvc7wq16wwmsvq23bhpss6";
+      system = "ode-blob";
+      asd = "ode-blob";
+    });
+    systems = [ "ode-blob" ];
+    lispLibs = [ (getAttr "base-blobs" pkgs) (getAttr "bodge-blobs-support" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  odepack = {
+    pname = "odepack";
+    version = "20200925-git";
+    asds = [ "odepack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "odepack";
+      asd = "odepack";
+    });
+    systems = [ "odepack" ];
+    lispLibs = [ (getAttr "f2cl" pkgs) ];
+  };
+  odepack_slash_blas-util = {
+    pname = "odepack_blas-util";
+    version = "20200925-git";
+    asds = [ "odepack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "odepack";
+      asd = "odepack";
+    });
+    systems = [ "odepack/blas-util" ];
+    lispLibs = [  ];
+  };
+  odepack_slash_lsoda = {
+    pname = "odepack_lsoda";
+    version = "20200925-git";
+    asds = [ "odepack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "odepack";
+      asd = "odepack";
+    });
+    systems = [ "odepack/lsoda" ];
+    lispLibs = [  ];
+  };
+  odepack_slash_lsoda-demo = {
+    pname = "odepack_lsoda-demo";
+    version = "20200925-git";
+    asds = [ "odepack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "odepack";
+      asd = "odepack";
+    });
+    systems = [ "odepack/lsoda-demo" ];
+    lispLibs = [  ];
+  };
+  odepack_slash_lsodar = {
+    pname = "odepack_lsodar";
+    version = "20200925-git";
+    asds = [ "odepack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "odepack";
+      asd = "odepack";
+    });
+    systems = [ "odepack/lsodar" ];
+    lispLibs = [  ];
+  };
+  odepack_slash_lsodar-demo = {
+    pname = "odepack_lsodar-demo";
+    version = "20200925-git";
+    asds = [ "odepack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "odepack";
+      asd = "odepack";
+    });
+    systems = [ "odepack/lsodar-demo" ];
+    lispLibs = [  ];
+  };
+  odepack_slash_lsode = {
+    pname = "odepack_lsode";
+    version = "20200925-git";
+    asds = [ "odepack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "odepack";
+      asd = "odepack";
+    });
+    systems = [ "odepack/lsode" ];
+    lispLibs = [  ];
+  };
+  odepack_slash_lsode-demo = {
+    pname = "odepack_lsode-demo";
+    version = "20200925-git";
+    asds = [ "odepack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "odepack";
+      asd = "odepack";
+    });
+    systems = [ "odepack/lsode-demo" ];
+    lispLibs = [  ];
+  };
+  odepack_slash_lsodi-demo = {
+    pname = "odepack_lsodi-demo";
+    version = "20200925-git";
+    asds = [ "odepack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "odepack";
+      asd = "odepack";
+    });
+    systems = [ "odepack/lsodi-demo" ];
+    lispLibs = [ (getAttr "odepack" pkgs) ];
+  };
+  odepack_slash_lsodkr-demo = {
+    pname = "odepack_lsodkr-demo";
+    version = "20200925-git";
+    asds = [ "odepack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "odepack";
+      asd = "odepack";
+    });
+    systems = [ "odepack/lsodkr-demo" ];
+    lispLibs = [ (getAttr "odepack" pkgs) ];
+  };
+  odepack_slash_lsodpk-demo = {
+    pname = "odepack_lsodpk-demo";
+    version = "20200925-git";
+    asds = [ "odepack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "odepack";
+      asd = "odepack";
+    });
+    systems = [ "odepack/lsodpk-demo" ];
+    lispLibs = [ (getAttr "odepack" pkgs) ];
+  };
+  odepack_slash_lsoibt-demo = {
+    pname = "odepack_lsoibt-demo";
+    version = "20200925-git";
+    asds = [ "odepack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "odepack";
+      asd = "odepack";
+    });
+    systems = [ "odepack/lsoibt-demo" ];
+    lispLibs = [ (getAttr "odepack" pkgs) ];
+  };
+  odepack_slash_package = {
+    pname = "odepack_package";
+    version = "20200925-git";
+    asds = [ "odepack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "odepack";
+      asd = "odepack";
+    });
+    systems = [ "odepack/package" ];
+    lispLibs = [  ];
+  };
+  odesk = {
+    pname = "odesk";
+    version = "20150608-git";
+    asds = [ "odesk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-odesk/2015-06-08/cl-odesk-20150608-git.tgz";
+      sha256 = "1j5pjq4aw83m1in0l7ljn7jq4ixckg91p4h0lwf420xks3lhi4ka";
+      system = "odesk";
+      asd = "odesk";
+    });
+    systems = [ "odesk" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "iterate" pkgs) (getAttr "md5" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  oe-encode = {
+    pname = "oe-encode";
+    version = "20150804-git";
+    asds = [ "oe-encode" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/oe-encode/2015-08-04/oe-encode-20150804-git.tgz";
+      sha256 = "18hd97509vpg04gaf8lzjr2jfyj3w4ql1ydb5202p2r9k4qpvnj9";
+      system = "oe-encode";
+      asd = "oe-encode";
+    });
+    systems = [ "oe-encode" ];
+    lispLibs = [ (getAttr "babel" pkgs) ];
+  };
+  oe-encode-test = {
+    pname = "oe-encode-test";
+    version = "20150804-git";
+    asds = [ "oe-encode-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/oe-encode/2015-08-04/oe-encode-20150804-git.tgz";
+      sha256 = "18hd97509vpg04gaf8lzjr2jfyj3w4ql1ydb5202p2r9k4qpvnj9";
+      system = "oe-encode-test";
+      asd = "oe-encode";
+    });
+    systems = [ "oe-encode-test" ];
+    lispLibs = [ (getAttr "clunit" pkgs) (getAttr "oe-encode" pkgs) ];
+  };
+  omg = {
+    pname = "omg";
+    version = "20211230-git";
+    asds = [ "omg" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/omglib/2021-12-30/omglib-20211230-git.tgz";
+      sha256 = "0kp6swhy7ajxc11z9878ni0pqk6grhbk5b2fzg78zv2bl0qqg2ay";
+      system = "omg";
+      asd = "omg";
+    });
+    systems = [ "omg" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "clack" pkgs) (getAttr "trivial-utf-8" pkgs) (getAttr "websocket-driver-server" pkgs) ];
+  };
+  ook = {
+    pname = "ook";
+    version = "20211230-git";
+    asds = [ "ook" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ook/2021-12-30/ook-20211230-git.tgz";
+      sha256 = "1pa6iak7z5c9260nakipkhb2z9x5gbmyyq4wrhmg7xrrxla67was";
+      system = "ook";
+      asd = "ook";
+    });
+    systems = [ "ook" ];
+    lispLibs = [  ];
+  };
+  oook = {
+    pname = "oook";
+    version = "20171130-git";
+    asds = [ "oook" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/oook/2017-11-30/oook-20171130-git.tgz";
+      sha256 = "0vxw160kbb2b624lc2aqvrx91xnmfhwz8nrzjvmbk5m55q1s4hxr";
+      system = "oook";
+      asd = "oook";
+    });
+    systems = [ "oook" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "cl-inflector" pkgs) (getAttr "closer-mop" pkgs) (getAttr "clsql" pkgs) (getAttr "jonathan" pkgs) (getAttr "parse-number" pkgs) (getAttr "semantic-spinneret" pkgs) (getAttr "spinneret" pkgs) ];
+  };
+  open-geneva = {
+    pname = "open-geneva";
+    version = "20161204-git";
+    asds = [ "open-geneva" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/geneva/2016-12-04/geneva-20161204-git.tgz";
+      sha256 = "1pw18xkbndqssx6iix8a8zcw8bgjh88jxxxrklkgkghk04bmqxw3";
+      system = "open-geneva";
+      asd = "open-geneva";
+    });
+    systems = [ "open-geneva" ];
+    lispLibs = [ (getAttr "geneva" pkgs) (getAttr "geneva-cl" pkgs) (getAttr "geneva-html" pkgs) (getAttr "geneva-latex" pkgs) (getAttr "geneva-mk2" pkgs) (getAttr "geneva-plain-text" pkgs) (getAttr "geneva-tex" pkgs) ];
+  };
+  open-location-code = {
+    pname = "open-location-code";
+    version = "20210228-git";
+    asds = [ "open-location-code" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/open-location-code/2021-02-28/open-location-code-20210228-git.tgz";
+      sha256 = "0ymha1sp6p971pbx6pimd5wdravvzgza4qkbdbmcjklydlpzjjin";
+      system = "open-location-code";
+      asd = "open-location-code";
+    });
+    systems = [ "open-location-code" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  open-vrp = {
+    pname = "open-vrp";
+    version = "20140914-git";
+    asds = [ "open-vrp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/open-vrp/2014-09-14/open-vrp-20140914-git.tgz";
+      sha256 = "04k0kp18gpr4cfpsck7pjizawwswh372df4pvm5v87brm6xdw1fr";
+      system = "open-vrp";
+      asd = "open-vrp";
+    });
+    systems = [ "open-vrp" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fiveam" pkgs) (getAttr "open-vrp-lib" pkgs) (getAttr "vecto" pkgs) ];
+  };
+  open-vrp-lib = {
+    pname = "open-vrp-lib";
+    version = "20140914-git";
+    asds = [ "open-vrp-lib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/open-vrp/2014-09-14/open-vrp-20140914-git.tgz";
+      sha256 = "04k0kp18gpr4cfpsck7pjizawwswh372df4pvm5v87brm6xdw1fr";
+      system = "open-vrp-lib";
+      asd = "open-vrp-lib";
+    });
+    systems = [ "open-vrp-lib" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "fiveam" pkgs) (getAttr "vecto" pkgs) ];
+  };
+  openal-blob = {
+    pname = "openal-blob";
+    version = "stable-git";
+    asds = [ "openal-blob" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/openal-blob/2020-10-16/openal-blob-stable-git.tgz";
+      sha256 = "0bspdqb0xbvwvi6xkn88n4jswpds8fzbgj44ygm7mi6lpwp7lmv2";
+      system = "openal-blob";
+      asd = "openal-blob";
+    });
+    systems = [ "openal-blob" ];
+    lispLibs = [ (getAttr "base-blobs" pkgs) (getAttr "bodge-blobs-support" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  openapi-parser = {
+    pname = "openapi-parser";
+    version = "20210630-git";
+    asds = [ "openapi-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-openapi-parser/2021-06-30/cl-openapi-parser-20210630-git.tgz";
+      sha256 = "0s1h4pfjfl7rkxyc27p2w7f3s88fn133nj0wqbh897h5jz13rkmg";
+      system = "openapi-parser";
+      asd = "openapi-parser";
+    });
+    systems = [ "openapi-parser" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-change-case" pkgs) (getAttr "cl-package-locks" pkgs) (getAttr "str" pkgs) (getAttr "cl-yaml" pkgs) (getAttr "closer-mop" pkgs) (getAttr "esrap" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  openapi-parser-tests = {
+    pname = "openapi-parser-tests";
+    version = "20210630-git";
+    asds = [ "openapi-parser-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-openapi-parser/2021-06-30/cl-openapi-parser-20210630-git.tgz";
+      sha256 = "0s1h4pfjfl7rkxyc27p2w7f3s88fn133nj0wqbh897h5jz13rkmg";
+      system = "openapi-parser-tests";
+      asd = "openapi-parser";
+    });
+    systems = [ "openapi-parser-tests" ];
+    lispLibs = [ (getAttr "openapi-parser" pkgs) (getAttr "rove" pkgs) ];
+  };
+  openid-key = {
+    pname = "openid-key";
+    version = "20181210-git";
+    asds = [ "openid-key" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/openid-key/2018-12-10/openid-key-20181210-git.tgz";
+      sha256 = "0ja1g4f8nrcn965376j7lnhha9krx4wjqxrg6vc57k7rmkhkzm1z";
+      system = "openid-key";
+      asd = "openid-key";
+    });
+    systems = [ "openid-key" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "dexador" pkgs) (getAttr "ironclad" pkgs) (getAttr "jonathan" pkgs) (getAttr "local-time" pkgs) (getAttr "quri" pkgs) (getAttr "trivial-rfc-1123" pkgs) ];
+  };
+  openid-key-test = {
+    pname = "openid-key-test";
+    version = "20181210-git";
+    asds = [ "openid-key-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/openid-key/2018-12-10/openid-key-20181210-git.tgz";
+      sha256 = "0ja1g4f8nrcn965376j7lnhha9krx4wjqxrg6vc57k7rmkhkzm1z";
+      system = "openid-key-test";
+      asd = "openid-key-test";
+    });
+    systems = [ "openid-key-test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "openid-key" pkgs) ];
+  };
+  ops-test = {
+    pname = "ops-test";
+    version = "20211020-git";
+    asds = [ "ops-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz";
+      sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4";
+      system = "ops-test";
+      asd = "ops-test";
+    });
+    systems = [ "ops-test" ];
+    lispLibs = [ (getAttr "png" pkgs) ];
+  };
+  ops5 = {
+    pname = "ops5";
+    version = "20200218-git";
+    asds = [ "ops5" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ops5/2020-02-18/ops5-20200218-git.tgz";
+      sha256 = "1q2mrza40qvhny06f4ks2dghyk8a7pjjsi3vj83b9if7fmyj152a";
+      system = "ops5";
+      asd = "ops5";
+    });
+    systems = [ "ops5" ];
+    lispLibs = [  ];
+  };
+  opticl = {
+    pname = "opticl";
+    version = "20211230-git";
+    asds = [ "opticl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/opticl/2021-12-30/opticl-20211230-git.tgz";
+      sha256 = "1wbhj5bmk3fvgmai2mk5n4p8v57r2d24s08b5ny935s43v9l42sp";
+      system = "opticl";
+      asd = "opticl";
+    });
+    systems = [ "opticl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-jpeg" pkgs) (getAttr "cl-tga" pkgs) (getAttr "opticl-core" pkgs) (getAttr "pngload" pkgs) (getAttr "retrospectiff" pkgs) (getAttr "skippy" pkgs) (getAttr "zpng" pkgs) ];
+  };
+  opticl-core = {
+    pname = "opticl-core";
+    version = "20171019-git";
+    asds = [ "opticl-core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/opticl-core/2017-10-19/opticl-core-20171019-git.tgz";
+      sha256 = "0458bllabcdjghfrqx6aki49c9qmvfmkk8jl75cfpi7q0i12kh95";
+      system = "opticl-core";
+      asd = "opticl-core";
+    });
+    systems = [ "opticl-core" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  opticl-doc = {
+    pname = "opticl-doc";
+    version = "20211230-git";
+    asds = [ "opticl-doc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/opticl/2021-12-30/opticl-20211230-git.tgz";
+      sha256 = "1wbhj5bmk3fvgmai2mk5n4p8v57r2d24s08b5ny935s43v9l42sp";
+      system = "opticl-doc";
+      asd = "opticl-doc";
+    });
+    systems = [ "opticl-doc" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-containers" pkgs) (getAttr "cl-markdown" pkgs) (getAttr "opticl" pkgs) ];
+  };
+  opticl_slash_test = {
+    pname = "opticl_test";
+    version = "20211230-git";
+    asds = [ "opticl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/opticl/2021-12-30/opticl-20211230-git.tgz";
+      sha256 = "1wbhj5bmk3fvgmai2mk5n4p8v57r2d24s08b5ny935s43v9l42sp";
+      system = "opticl";
+      asd = "opticl";
+    });
+    systems = [ "opticl/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "opticl" pkgs) ];
+  };
+  optima = {
+    pname = "optima";
+    version = "20150709-git";
+    asds = [ "optima" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/optima/2015-07-09/optima-20150709-git.tgz";
+      sha256 = "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal";
+      system = "optima";
+      asd = "optima";
+    });
+    systems = [ "optima" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) ];
+  };
+  optima_dot_ppcre = {
+    pname = "optima.ppcre";
+    version = "20150709-git";
+    asds = [ "optima.ppcre" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/optima/2015-07-09/optima-20150709-git.tgz";
+      sha256 = "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal";
+      system = "optima.ppcre";
+      asd = "optima.ppcre";
+    });
+    systems = [ "optima.ppcre" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "optima" pkgs) ];
+  };
+  optima_dot_test = {
+    pname = "optima.test";
+    version = "20150709-git";
+    asds = [ "optima.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/optima/2015-07-09/optima-20150709-git.tgz";
+      sha256 = "1yw4ymq7ms89342kkvb3aqxgv0w38m9kd8ikdqxxzyybnkjhndal";
+      system = "optima.test";
+      asd = "optima.test";
+    });
+    systems = [ "optima.test" ];
+    lispLibs = [ (getAttr "eos" pkgs) (getAttr "optima" pkgs) (getAttr "optima_dot_ppcre" pkgs) ];
+  };
+  or-cluster = {
+    pname = "or-cluster";
+    version = "20170403-git";
+    asds = [ "or-cluster" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz";
+      sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7";
+      system = "or-cluster";
+      asd = "or-cluster";
+    });
+    systems = [ "or-cluster" ];
+    lispLibs = [ (getAttr "cl-opsresearch" pkgs) (getAttr "drakma" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  or-fann = {
+    pname = "or-fann";
+    version = "20170403-git";
+    asds = [ "or-fann" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz";
+      sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7";
+      system = "or-fann";
+      asd = "or-fann";
+    });
+    systems = [ "or-fann" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-opsresearch" pkgs) ];
+  };
+  or-glpk = {
+    pname = "or-glpk";
+    version = "20170403-git";
+    asds = [ "or-glpk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz";
+      sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7";
+      system = "or-glpk";
+      asd = "or-glpk";
+    });
+    systems = [ "or-glpk" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-opsresearch" pkgs) ];
+  };
+  or-gsl = {
+    pname = "or-gsl";
+    version = "20170403-git";
+    asds = [ "or-gsl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz";
+      sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7";
+      system = "or-gsl";
+      asd = "or-gsl";
+    });
+    systems = [ "or-gsl" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-opsresearch" pkgs) ];
+  };
+  or-test = {
+    pname = "or-test";
+    version = "20170403-git";
+    asds = [ "or-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-opsresearch/2017-04-03/cl-opsresearch-20170403-git.tgz";
+      sha256 = "1fipw6qjggswzcg8ifwx5qnhnc7mmi53s6h14l0vzj6afa5rdpm7";
+      system = "or-test";
+      asd = "or-test";
+    });
+    systems = [ "or-test" ];
+    lispLibs = [ (getAttr "cl-opsresearch" pkgs) (getAttr "or-fann" pkgs) (getAttr "or-glpk" pkgs) (getAttr "or-gsl" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  org-davep-dict = {
+    pname = "org-davep-dict";
+    version = "20190521-git";
+    asds = [ "org-davep-dict" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/org-davep-dict/2019-05-21/org-davep-dict-20190521-git.tgz";
+      sha256 = "09dryqlprssrw0jpcg2313cc1hmlsasxvp1rs5z7axhasc16kl31";
+      system = "org-davep-dict";
+      asd = "org-davep-dict";
+    });
+    systems = [ "org-davep-dict" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "acl-compat" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  org-davep-dictrepl = {
+    pname = "org-davep-dictrepl";
+    version = "20190521-git";
+    asds = [ "org-davep-dictrepl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/org-davep-dictrepl/2019-05-21/org-davep-dictrepl-20190521-git.tgz";
+      sha256 = "1s461asil8cxsbcpyxsw3g7phdn5c3mwv6wswp86hsxiga5hi327";
+      system = "org-davep-dictrepl";
+      asd = "org-davep-dictrepl";
+    });
+    systems = [ "org-davep-dictrepl" ];
+    lispLibs = [ (getAttr "org-davep-dict" pkgs) ];
+  };
+  org-sampler = {
+    pname = "org-sampler";
+    version = "0.2.0";
+    asds = [ "org-sampler" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/org-sampler/2016-03-18/org-sampler-0.2.0.tgz";
+      sha256 = "1j2i24x9afxp6s5gyqlvy11c0lq9rzhmdj1bf0qpxcaa4znj48c3";
+      system = "org-sampler";
+      asd = "org-sampler";
+    });
+    systems = [ "org-sampler" ];
+    lispLibs = [ (getAttr "iterate" pkgs) ];
+  };
+  org_dot_tfeb_dot_conduit-packages = {
+    pname = "org.tfeb.conduit-packages";
+    version = "20201220-git";
+    asds = [ "org.tfeb.conduit-packages" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/conduit-packages/2020-12-20/conduit-packages-20201220-git.tgz";
+      sha256 = "0k1gf5mc82x6fj9xsdijd0qs253mw1jh5zsj01h020xdn6rmjl3z";
+      system = "org.tfeb.conduit-packages";
+      asd = "org.tfeb.conduit-packages";
+    });
+    systems = [ "org.tfeb.conduit-packages" ];
+    lispLibs = [  ];
+  };
+  org_dot_tfeb_dot_hax = {
+    pname = "org.tfeb.hax";
+    version = "20211020-git";
+    asds = [ "org.tfeb.hax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2021-10-20/tfeb-lisp-hax-20211020-git.tgz";
+      sha256 = "18yaqdrb83z4qlpbc4407qhqr63zqng4bpa9l6z32907ibkfg9si";
+      system = "org.tfeb.hax";
+      asd = "org.tfeb.hax";
+    });
+    systems = [ "org.tfeb.hax" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  org_dot_tfeb_dot_hax_slash_test = {
+    pname = "org.tfeb.hax_test";
+    version = "20211020-git";
+    asds = [ "org.tfeb.hax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tfeb-lisp-hax/2021-10-20/tfeb-lisp-hax-20211020-git.tgz";
+      sha256 = "18yaqdrb83z4qlpbc4407qhqr63zqng4bpa9l6z32907ibkfg9si";
+      system = "org.tfeb.hax";
+      asd = "org.tfeb.hax";
+    });
+    systems = [ "org.tfeb.hax/test" ];
+    lispLibs = [ (getAttr "parachute" pkgs) (getAttr "org_dot_tfeb_dot_hax" pkgs) ];
+  };
+  org_dot_tfeb_dot_tools = {
+    pname = "org.tfeb.tools";
+    version = "20211230-git";
+    asds = [ "org.tfeb.tools" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tfeb-lisp-tools/2021-12-30/tfeb-lisp-tools-20211230-git.tgz";
+      sha256 = "0my5fg4830wc804kqgv86qixp6n98qz6wy2knq6pfkssvg2ywas7";
+      system = "org.tfeb.tools";
+      asd = "org.tfeb.tools";
+    });
+    systems = [ "org.tfeb.tools" ];
+    lispLibs = [  ];
+  };
+  origin = {
+    pname = "origin";
+    version = "20210630-git";
+    asds = [ "origin" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/origin/2021-06-30/origin-20210630-git.tgz";
+      sha256 = "1z9xm8vxgc3w24k63r1v6srwczhi6a3hvn5n6q9w5z7dximnwzji";
+      system = "origin";
+      asd = "origin";
+    });
+    systems = [ "origin" ];
+    lispLibs = [ (getAttr "golden-utils" pkgs) (getAttr "specialization-store" pkgs) ];
+  };
+  origin_dot_test = {
+    pname = "origin.test";
+    version = "20210630-git";
+    asds = [ "origin.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/origin/2021-06-30/origin-20210630-git.tgz";
+      sha256 = "1z9xm8vxgc3w24k63r1v6srwczhi6a3hvn5n6q9w5z7dximnwzji";
+      system = "origin.test";
+      asd = "origin.test";
+    });
+    systems = [ "origin.test" ];
+    lispLibs = [ (getAttr "origin" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  orizuru-orm = {
+    pname = "orizuru-orm";
+    version = "20210228-git";
+    asds = [ "orizuru-orm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/orizuru-orm/2021-02-28/orizuru-orm-20210228-git.tgz";
+      sha256 = "0hx1qny188a1h40ns63sr291bw7fc0nmgic3mka3gnar8l6karbr";
+      system = "orizuru-orm";
+      asd = "orizuru-orm";
+    });
+    systems = [ "orizuru-orm" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "dbi" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre-unicode" pkgs) (getAttr "clos-fixtures" pkgs) (getAttr "closer-mop" pkgs) (getAttr "clunit2" pkgs) (getAttr "iterate" pkgs) (getAttr "local-time" pkgs) (getAttr "sxql" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  osc = {
+    pname = "osc";
+    version = "20190521-git";
+    asds = [ "osc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/osc/2019-05-21/osc-20190521-git.tgz";
+      sha256 = "1808w72d2bbnc7n75aap1lhyai8lp0100h80a2lhjcx6wl0z1lvl";
+      system = "osc";
+      asd = "osc";
+    });
+    systems = [ "osc" ];
+    lispLibs = [  ];
+  };
+  osicat = {
+    pname = "osicat";
+    version = "20211209-git";
+    asds = [ "osicat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/osicat/2021-12-09/osicat-20211209-git.tgz";
+      sha256 = "1mvps9l5ympfdp2s71w1ax74jswsna1x7jdrbpnxakzn4s13k7w6";
+      system = "osicat";
+      asd = "osicat";
+    });
+    systems = [ "osicat" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  osicat_slash_tests = {
+    pname = "osicat_tests";
+    version = "20211209-git";
+    asds = [ "osicat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/osicat/2021-12-09/osicat-20211209-git.tgz";
+      sha256 = "1mvps9l5ympfdp2s71w1ax74jswsna1x7jdrbpnxakzn4s13k7w6";
+      system = "osicat";
+      asd = "osicat";
+    });
+    systems = [ "osicat/tests" ];
+    lispLibs = [ (getAttr "osicat" pkgs) (getAttr "rt" pkgs) ];
+  };
+  osmpbf = {
+    pname = "osmpbf";
+    version = "20210630-git";
+    asds = [ "osmpbf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/osmpbf/2021-06-30/osmpbf-20210630-git.tgz";
+      sha256 = "0kx5g52l8mk5400gkjds0xfllqxdyxa203a0hgpxjm86r0ppym8v";
+      system = "osmpbf";
+      asd = "osmpbf";
+    });
+    systems = [ "osmpbf" ];
+    lispLibs = [ (getAttr "chipz" pkgs) (getAttr "com_dot_google_dot_base" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "nibbles" pkgs) (getAttr "protobuf" pkgs) ];
+  };
+  overlord = {
+    pname = "overlord";
+    version = "20211209-git";
+    asds = [ "overlord" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/overlord/2021-12-09/overlord-20211209-git.tgz";
+      sha256 = "1bz6f14zkqsnr93azaas8gszl6nlj3zc37a33sccah1ch7z527va";
+      system = "overlord";
+      asd = "overlord";
+    });
+    systems = [ "overlord" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "bit-smasher" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-murmurhash" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-strftime" pkgs) (getAttr "cmd" pkgs) (getAttr "exit-hooks" pkgs) (getAttr "fset" pkgs) (getAttr "global-vars" pkgs) (getAttr "local-time" pkgs) (getAttr "lparallel" pkgs) (getAttr "named-readtables" pkgs) (getAttr "quickproject" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-file-size" pkgs) ];
+  };
+  oxenfurt = {
+    pname = "oxenfurt";
+    version = "20190710-git";
+    asds = [ "oxenfurt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/oxenfurt/2019-07-10/oxenfurt-20190710-git.tgz";
+      sha256 = "0cd3z3b79q641cnpxva749isxfyk52y6s06l7iqx1lsl06yp19j3";
+      system = "oxenfurt";
+      asd = "oxenfurt";
+    });
+    systems = [ "oxenfurt" ];
+    lispLibs = [ (getAttr "oxenfurt-dexador" pkgs) ];
+  };
+  oxenfurt-core = {
+    pname = "oxenfurt-core";
+    version = "20190710-git";
+    asds = [ "oxenfurt-core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/oxenfurt/2019-07-10/oxenfurt-20190710-git.tgz";
+      sha256 = "0cd3z3b79q641cnpxva749isxfyk52y6s06l7iqx1lsl06yp19j3";
+      system = "oxenfurt-core";
+      asd = "oxenfurt-core";
+    });
+    systems = [ "oxenfurt-core" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "yason" pkgs) ];
+  };
+  oxenfurt-dexador = {
+    pname = "oxenfurt-dexador";
+    version = "20190710-git";
+    asds = [ "oxenfurt-dexador" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/oxenfurt/2019-07-10/oxenfurt-20190710-git.tgz";
+      sha256 = "0cd3z3b79q641cnpxva749isxfyk52y6s06l7iqx1lsl06yp19j3";
+      system = "oxenfurt-dexador";
+      asd = "oxenfurt-dexador";
+    });
+    systems = [ "oxenfurt-dexador" ];
+    lispLibs = [ (getAttr "dexador" pkgs) (getAttr "oxenfurt-core" pkgs) ];
+  };
+  oxenfurt-drakma = {
+    pname = "oxenfurt-drakma";
+    version = "20190710-git";
+    asds = [ "oxenfurt-drakma" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/oxenfurt/2019-07-10/oxenfurt-20190710-git.tgz";
+      sha256 = "0cd3z3b79q641cnpxva749isxfyk52y6s06l7iqx1lsl06yp19j3";
+      system = "oxenfurt-drakma";
+      asd = "oxenfurt-drakma";
+    });
+    systems = [ "oxenfurt-drakma" ];
+    lispLibs = [ (getAttr "drakma" pkgs) (getAttr "oxenfurt-core" pkgs) ];
+  };
+  pack = {
+    pname = "pack";
+    version = "20110619-git";
+    asds = [ "pack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pack/2011-06-19/pack-20110619-git.tgz";
+      sha256 = "1b3qi04v1wj9nig0mx591sl4phqcalwdl0vsnf4kqp4d2qx2czi1";
+      system = "pack";
+      asd = "pack";
+    });
+    systems = [ "pack" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "ieee-floats" pkgs) ];
+  };
+  package-renaming = {
+    pname = "package-renaming";
+    version = "20120407-git";
+    asds = [ "package-renaming" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/package-renaming/2012-04-07/package-renaming-20120407-git.tgz";
+      sha256 = "15kgd15r9bib8wfnn3hmv42rlifr4ph3rv2mji5i9d5ixhyqqwgq";
+      system = "package-renaming";
+      asd = "package-renaming";
+    });
+    systems = [ "package-renaming" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  package-renaming-test = {
+    pname = "package-renaming-test";
+    version = "20120407-git";
+    asds = [ "package-renaming-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/package-renaming/2012-04-07/package-renaming-20120407-git.tgz";
+      sha256 = "15kgd15r9bib8wfnn3hmv42rlifr4ph3rv2mji5i9d5ixhyqqwgq";
+      system = "package-renaming-test";
+      asd = "package-renaming-test";
+    });
+    systems = [ "package-renaming-test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "package-renaming" pkgs) ];
+  };
+  packet = {
+    pname = "packet";
+    version = "20150302-git";
+    asds = [ "packet" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/packet/2015-03-02/packet-20150302-git.tgz";
+      sha256 = "1vcmxwrliwczz161nz3ysx9cbfia4cmlqgnjgrx5016lp394pnx1";
+      system = "packet";
+      asd = "packet";
+    });
+    systems = [ "packet" ];
+    lispLibs = [ (getAttr "ieee-floats" pkgs) ];
+  };
+  packet-crafting = {
+    pname = "packet-crafting";
+    version = "20200610-git";
+    asds = [ "packet-crafting" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/packet-crafting/2020-06-10/packet-crafting-20200610-git.tgz";
+      sha256 = "1ivnvkbqckqf5hm6khffc2wkbjl64fn03w9i0kypkb0mrazxdpdq";
+      system = "packet-crafting";
+      asd = "packet-crafting";
+    });
+    systems = [ "packet-crafting" ];
+    lispLibs = [ (getAttr "lisp-binary" pkgs) ];
+  };
+  packet-crafting_slash_tests = {
+    pname = "packet-crafting_tests";
+    version = "20200610-git";
+    asds = [ "packet-crafting" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/packet-crafting/2020-06-10/packet-crafting-20200610-git.tgz";
+      sha256 = "1ivnvkbqckqf5hm6khffc2wkbjl64fn03w9i0kypkb0mrazxdpdq";
+      system = "packet-crafting";
+      asd = "packet-crafting";
+    });
+    systems = [ "packet-crafting/tests" ];
+    lispLibs = [ (getAttr "packet-crafting" pkgs) (getAttr "rove" pkgs) ];
+  };
+  paiprolog = {
+    pname = "paiprolog";
+    version = "20180228-git";
+    asds = [ "paiprolog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/paiprolog/2018-02-28/paiprolog-20180228-git.tgz";
+      sha256 = "1nxz01i6f8s920gm69r2kwjdpq9pli8b2ayqwijhzgjwi0r4jj9r";
+      system = "paiprolog";
+      asd = "paiprolog";
+    });
+    systems = [ "paiprolog" ];
+    lispLibs = [  ];
+  };
+  pal = {
+    pname = "pal";
+    version = "20150608-git";
+    asds = [ "pal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pal/2015-06-08/pal-20150608-git.tgz";
+      sha256 = "0kn6jxirrn7wzqymzsi0kx2ivl0nrrcgbl4dm1714s48qw0jwhcw";
+      system = "pal";
+      asd = "pal";
+    });
+    systems = [ "pal" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  pandocl = {
+    pname = "pandocl";
+    version = "20150923-git";
+    asds = [ "pandocl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pandocl/2015-09-23/pandocl-20150923-git.tgz";
+      sha256 = "1fmlpx5m7ivdkqss1fa3xqbpcwzqrpyyx2nny12aqxn8f13vpvmg";
+      system = "pandocl";
+      asd = "pandocl";
+    });
+    systems = [ "pandocl" ];
+    lispLibs = [ (getAttr "common-doc" pkgs) (getAttr "common-doc-contrib" pkgs) (getAttr "common-html" pkgs) (getAttr "parenml" pkgs) (getAttr "scriba" pkgs) (getAttr "thorn" pkgs) (getAttr "vertex" pkgs) ];
+  };
+  pango-markup = {
+    pname = "pango-markup";
+    version = "20200325-git";
+    asds = [ "pango-markup" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pango-markup/2020-03-25/pango-markup-20200325-git.tgz";
+      sha256 = "0m1hc6lasbzjz5gc5mk9hqmmxgq7mpc9q94fmni109yncpqawxvr";
+      system = "pango-markup";
+      asd = "pango-markup";
+    });
+    systems = [ "pango-markup" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  papyrus = {
+    pname = "papyrus";
+    version = "20200218-git";
+    asds = [ "papyrus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/papyrus/2020-02-18/papyrus-20200218-git.tgz";
+      sha256 = "140k9mpm2gynpsaayvf28srlcjkin2hw02yx3g2h0i19fz88s54a";
+      system = "papyrus";
+      asd = "papyrus";
+    });
+    systems = [ "papyrus" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  parachute = {
+    pname = "parachute";
+    version = "20211020-git";
+    asds = [ "parachute" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parachute/2021-10-20/parachute-20211020-git.tgz";
+      sha256 = "026crl465xqh3fnskfd4c1sxa9c33dfy702cf3l5apbjyj1dg20n";
+      system = "parachute";
+      asd = "parachute";
+    });
+    systems = [ "parachute" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) (getAttr "form-fiddle" pkgs) ];
+  };
+  parachute-fiveam = {
+    pname = "parachute-fiveam";
+    version = "20211020-git";
+    asds = [ "parachute-fiveam" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parachute/2021-10-20/parachute-20211020-git.tgz";
+      sha256 = "026crl465xqh3fnskfd4c1sxa9c33dfy702cf3l5apbjyj1dg20n";
+      system = "parachute-fiveam";
+      asd = "parachute-fiveam";
+    });
+    systems = [ "parachute-fiveam" ];
+    lispLibs = [ (getAttr "parachute" pkgs) ];
+  };
+  parachute-lisp-unit = {
+    pname = "parachute-lisp-unit";
+    version = "20211020-git";
+    asds = [ "parachute-lisp-unit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parachute/2021-10-20/parachute-20211020-git.tgz";
+      sha256 = "026crl465xqh3fnskfd4c1sxa9c33dfy702cf3l5apbjyj1dg20n";
+      system = "parachute-lisp-unit";
+      asd = "parachute-lisp-unit";
+    });
+    systems = [ "parachute-lisp-unit" ];
+    lispLibs = [ (getAttr "parachute" pkgs) ];
+  };
+  parachute-prove = {
+    pname = "parachute-prove";
+    version = "20211020-git";
+    asds = [ "parachute-prove" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parachute/2021-10-20/parachute-20211020-git.tgz";
+      sha256 = "026crl465xqh3fnskfd4c1sxa9c33dfy702cf3l5apbjyj1dg20n";
+      system = "parachute-prove";
+      asd = "parachute-prove";
+    });
+    systems = [ "parachute-prove" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "parachute" pkgs) ];
+  };
+  parameterized-function = {
+    pname = "parameterized-function";
+    version = "20190307-hg";
+    asds = [ "parameterized-function" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parameterized-function/2019-03-07/parameterized-function-20190307-hg.tgz";
+      sha256 = "0iwnvfrhwprki8d6r0j4649daakjlc2jsh8xcpqdfa2nx563fylw";
+      system = "parameterized-function";
+      asd = "parameterized-function";
+    });
+    systems = [ "parameterized-function" ];
+    lispLibs = [ (getAttr "interface" pkgs) ];
+  };
+  paren-files = {
+    pname = "paren-files";
+    version = "20110418-git";
+    asds = [ "paren-files" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/paren-files/2011-04-18/paren-files-20110418-git.tgz";
+      sha256 = "19lwzvdn9gpn28x6ismkwzs49vr4cbc6drsivkmll3dxb950wgw9";
+      system = "paren-files";
+      asd = "paren-files";
+    });
+    systems = [ "paren-files" ];
+    lispLibs = [ (getAttr "parenscript" pkgs) ];
+  };
+  paren-test = {
+    pname = "paren-test";
+    version = "20170830-git";
+    asds = [ "paren-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/paren-test/2017-08-30/paren-test-20170830-git.tgz";
+      sha256 = "0b2d3kcv3n4b0dm67pzhxx8wxjsgnb32bw2dsprblc7149gaczdr";
+      system = "paren-test";
+      asd = "paren-test";
+    });
+    systems = [ "paren-test" ];
+    lispLibs = [ (getAttr "paren-files" pkgs) (getAttr "parenscript" pkgs) (getAttr "trivial-shell" pkgs) ];
+  };
+  paren-util = {
+    pname = "paren-util";
+    version = "20110418-git";
+    asds = [ "paren-util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/paren-util/2011-04-18/paren-util-20110418-git.tgz";
+      sha256 = "0jn7sgndhpn9ndn3xfmsp03alj2qksqz6p1c5h6x8hvi46caqvpy";
+      system = "paren-util";
+      asd = "paren-util";
+    });
+    systems = [ "paren-util" ];
+    lispLibs = [ (getAttr "paren-files" pkgs) (getAttr "parenscript" pkgs) ];
+  };
+  paren6 = {
+    pname = "paren6";
+    version = "20210124-git";
+    asds = [ "paren6" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/paren6/2021-01-24/paren6-20210124-git.tgz";
+      sha256 = "0zvlflh3vgxjnwx5jbpi73j54y2pn9cw0f2p4n7qzggv8x136f5i";
+      system = "paren6";
+      asd = "paren6";
+    });
+    systems = [ "paren6" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "parenscript" pkgs) ];
+  };
+  parenml = {
+    pname = "parenml";
+    version = "20150923-git";
+    asds = [ "parenml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parenml/2015-09-23/parenml-20150923-git.tgz";
+      sha256 = "0g6s5phinpcfhixgsfqniwxd3kd4bwh78s90ixs2fwk3qjhh9zsb";
+      system = "parenml";
+      asd = "parenml";
+    });
+    systems = [ "parenml" ];
+    lispLibs = [ (getAttr "common-doc-plump" pkgs) (getAttr "esrap" pkgs) (getAttr "plump" pkgs) ];
+  };
+  parenml-test = {
+    pname = "parenml-test";
+    version = "20150923-git";
+    asds = [ "parenml-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parenml/2015-09-23/parenml-20150923-git.tgz";
+      sha256 = "0g6s5phinpcfhixgsfqniwxd3kd4bwh78s90ixs2fwk3qjhh9zsb";
+      system = "parenml-test";
+      asd = "parenml-test";
+    });
+    systems = [ "parenml-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "parenml" pkgs) ];
+  };
+  parenscript = {
+    pname = "parenscript";
+    version = "Parenscript-2.7.1";
+    asds = [ "parenscript" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parenscript/2018-12-10/Parenscript-2.7.1.tgz";
+      sha256 = "0vg9b9j5psil5iba1d9k6vfxl5rn133qvy750dny20qkp9mf3a13";
+      system = "parenscript";
+      asd = "parenscript";
+    });
+    systems = [ "parenscript" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  parenscript-classic = {
+    pname = "parenscript-classic";
+    version = "20111203-darcs";
+    asds = [ "parenscript-classic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parenscript-classic/2011-12-03/parenscript-classic-20111203-darcs.tgz";
+      sha256 = "19zsiyjlz938la2dd39cy6lwh95m10j4nx8837xm6qk8rz5f8dgy";
+      system = "parenscript-classic";
+      asd = "parenscript-classic";
+    });
+    systems = [ "parenscript-classic" ];
+    lispLibs = [  ];
+  };
+  parenscript_dot_tests = {
+    pname = "parenscript.tests";
+    version = "Parenscript-2.7.1";
+    asds = [ "parenscript.tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parenscript/2018-12-10/Parenscript-2.7.1.tgz";
+      sha256 = "0vg9b9j5psil5iba1d9k6vfxl5rn133qvy750dny20qkp9mf3a13";
+      system = "parenscript.tests";
+      asd = "parenscript.tests";
+    });
+    systems = [ "parenscript.tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "cl-js" pkgs) (getAttr "parenscript" pkgs) ];
+  };
+  parse = {
+    pname = "parse";
+    version = "20200925-git";
+    asds = [ "parse" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parse/2020-09-25/parse-20200925-git.tgz";
+      sha256 = "0l18yabyh7jizm5lgvra0jxi8s1cfwghidi6ix1pyixjkdbjlmvy";
+      system = "parse";
+      asd = "parse";
+    });
+    systems = [ "parse" ];
+    lispLibs = [  ];
+  };
+  parse-declarations-1_dot_0 = {
+    pname = "parse-declarations-1.0";
+    version = "20101006-darcs";
+    asds = [ "parse-declarations-1.0" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parse-declarations/2010-10-06/parse-declarations-20101006-darcs.tgz";
+      sha256 = "04l3s180wxq6xyhgd77mbd03a1w1m0j9snag961g2f9dd77w6q1r";
+      system = "parse-declarations-1.0";
+      asd = "parse-declarations-1.0";
+    });
+    systems = [ "parse-declarations-1.0" ];
+    lispLibs = [  ];
+  };
+  parse-float = {
+    pname = "parse-float";
+    version = "20200218-git";
+    asds = [ "parse-float" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parse-float/2020-02-18/parse-float-20200218-git.tgz";
+      sha256 = "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr";
+      system = "parse-float";
+      asd = "parse-float";
+    });
+    systems = [ "parse-float" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  parse-float-tests = {
+    pname = "parse-float-tests";
+    version = "20200218-git";
+    asds = [ "parse-float-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parse-float/2020-02-18/parse-float-20200218-git.tgz";
+      sha256 = "0jd2spawc3v8vzqf8ky4cngl45jm65fhkrdf20mf6dcbn3mzpkmr";
+      system = "parse-float-tests";
+      asd = "parse-float";
+    });
+    systems = [ "parse-float-tests" ];
+    lispLibs = [ (getAttr "lisp-unit" pkgs) (getAttr "parse-float" pkgs) ];
+  };
+  parse-front-matter = {
+    pname = "parse-front-matter";
+    version = "20160825-git";
+    asds = [ "parse-front-matter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parse-front-matter/2016-08-25/parse-front-matter-20160825-git.tgz";
+      sha256 = "1yzadrjwycvyzlzb0mixxmwi5bjzkjwylnv3aslnr1j14q44vq58";
+      system = "parse-front-matter";
+      asd = "parse-front-matter";
+    });
+    systems = [ "parse-front-matter" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  parse-front-matter-test = {
+    pname = "parse-front-matter-test";
+    version = "20160825-git";
+    asds = [ "parse-front-matter-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parse-front-matter/2016-08-25/parse-front-matter-20160825-git.tgz";
+      sha256 = "1yzadrjwycvyzlzb0mixxmwi5bjzkjwylnv3aslnr1j14q44vq58";
+      system = "parse-front-matter-test";
+      asd = "parse-front-matter-test";
+    });
+    systems = [ "parse-front-matter-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "parse-front-matter" pkgs) ];
+  };
+  parse-js = {
+    pname = "parse-js";
+    version = "20160421-git";
+    asds = [ "parse-js" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parse-js/2016-04-21/parse-js-20160421-git.tgz";
+      sha256 = "1wddrnr5kiya5s3gp4cdq6crbfy9fqcz7fr44p81502sj3bvdv39";
+      system = "parse-js";
+      asd = "parse-js";
+    });
+    systems = [ "parse-js" ];
+    lispLibs = [  ];
+  };
+  parse-number = {
+    pname = "parse-number";
+    version = "v1.7";
+    asds = [ "parse-number" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parse-number/2018-02-28/parse-number-v1.7.tgz";
+      sha256 = "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7";
+      system = "parse-number";
+      asd = "parse-number";
+    });
+    systems = [ "parse-number" ];
+    lispLibs = [  ];
+  };
+  parse-number-range = {
+    pname = "parse-number-range";
+    version = "1.0";
+    asds = [ "parse-number-range" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parse-number-range/2012-11-25/parse-number-range-1.0.tgz";
+      sha256 = "176j9rabpqdkxd7b1cdy3dk8b8x05bdk0ypnxg2i41zbp9ww2f8d";
+      system = "parse-number-range";
+      asd = "parse-number-range";
+    });
+    systems = [ "parse-number-range" ];
+    lispLibs = [ (getAttr "cartesian-product-switch" pkgs) (getAttr "enhanced-multiple-value-bind" pkgs) (getAttr "map-bind" pkgs) ];
+  };
+  parse-number_slash_tests = {
+    pname = "parse-number_tests";
+    version = "v1.7";
+    asds = [ "parse-number" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parse-number/2018-02-28/parse-number-v1.7.tgz";
+      sha256 = "0sk06ib1bhqv9y39vwnnw44vmbc4b0kvqm37xxmkxd4dwchq82d7";
+      system = "parse-number";
+      asd = "parse-number";
+    });
+    systems = [ "parse-number/tests" ];
+    lispLibs = [ (getAttr "parse-number" pkgs) ];
+  };
+  parse-rgb = {
+    pname = "parse-rgb";
+    version = "20201220-git";
+    asds = [ "parse-rgb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tcod/2020-12-20/cl-tcod-20201220-git.tgz";
+      sha256 = "145h0dhxm1idblcld456cv7k00vi6p0zyn5rxkky5y4gk85ws8l5";
+      system = "parse-rgb";
+      asd = "parse-rgb";
+    });
+    systems = [ "parse-rgb" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "tcod" pkgs) ];
+  };
+  parseltongue = {
+    pname = "parseltongue";
+    version = "20130312-git";
+    asds = [ "parseltongue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parseltongue/2013-03-12/parseltongue-20130312-git.tgz";
+      sha256 = "1cjy7p0snms604zp6x0jlm4v9divqc5r38ns737hffj9q6pi1nlx";
+      system = "parseltongue";
+      asd = "parseltongue";
+    });
+    systems = [ "parseltongue" ];
+    lispLibs = [ (getAttr "lisp-unit" pkgs) ];
+  };
+  parseq = {
+    pname = "parseq";
+    version = "20210531-git";
+    asds = [ "parseq" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parseq/2021-05-31/parseq-20210531-git.tgz";
+      sha256 = "0yv9wdziiwv6yqbaiabijd4lcyg8djrml0qbg22jfixkxyqxhxqw";
+      system = "parseq";
+      asd = "parseq";
+    });
+    systems = [ "parseq" ];
+    lispLibs = [  ];
+  };
+  parseq_slash_test = {
+    pname = "parseq_test";
+    version = "20210531-git";
+    asds = [ "parseq" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parseq/2021-05-31/parseq-20210531-git.tgz";
+      sha256 = "0yv9wdziiwv6yqbaiabijd4lcyg8djrml0qbg22jfixkxyqxhxqw";
+      system = "parseq";
+      asd = "parseq";
+    });
+    systems = [ "parseq/test" ];
+    lispLibs = [ (getAttr "parseq" pkgs) ];
+  };
+  parser-combinators = {
+    pname = "parser-combinators";
+    version = "20131111-git";
+    asds = [ "parser-combinators" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-parser-combinators/2013-11-11/cl-parser-combinators-20131111-git.tgz";
+      sha256 = "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8";
+      system = "parser-combinators";
+      asd = "parser-combinators";
+    });
+    systems = [ "parser-combinators" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  parser-combinators-cl-ppcre = {
+    pname = "parser-combinators-cl-ppcre";
+    version = "20131111-git";
+    asds = [ "parser-combinators-cl-ppcre" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-parser-combinators/2013-11-11/cl-parser-combinators-20131111-git.tgz";
+      sha256 = "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8";
+      system = "parser-combinators-cl-ppcre";
+      asd = "parser-combinators-cl-ppcre";
+    });
+    systems = [ "parser-combinators-cl-ppcre" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "parser-combinators" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  parser-combinators-debug = {
+    pname = "parser-combinators-debug";
+    version = "20131111-git";
+    asds = [ "parser-combinators-debug" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-parser-combinators/2013-11-11/cl-parser-combinators-20131111-git.tgz";
+      sha256 = "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8";
+      system = "parser-combinators-debug";
+      asd = "parser-combinators-debug";
+    });
+    systems = [ "parser-combinators-debug" ];
+    lispLibs = [ (getAttr "cl-containers" pkgs) (getAttr "parser-combinators" pkgs) ];
+  };
+  parser-combinators-tests = {
+    pname = "parser-combinators-tests";
+    version = "20131111-git";
+    asds = [ "parser-combinators-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-parser-combinators/2013-11-11/cl-parser-combinators-20131111-git.tgz";
+      sha256 = "1k49vha5xm2cklayzpqwg73n4v93xwsbs5in6342pkkiimnidhs8";
+      system = "parser-combinators-tests";
+      asd = "parser-combinators-tests";
+    });
+    systems = [ "parser-combinators-tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "parser-combinators" pkgs) (getAttr "infix" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  parser_dot_common-rules = {
+    pname = "parser.common-rules";
+    version = "20200715-git";
+    asds = [ "parser.common-rules" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parser.common-rules/2020-07-15/parser.common-rules-20200715-git.tgz";
+      sha256 = "138ygj0qp58jl4h79szg3i2gnwzywwc48qn1gj6dw113wasrnkwa";
+      system = "parser.common-rules";
+      asd = "parser.common-rules";
+    });
+    systems = [ "parser.common-rules" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "esrap" pkgs) (getAttr "let-plus" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  parser_dot_common-rules_dot_operators = {
+    pname = "parser.common-rules.operators";
+    version = "20200715-git";
+    asds = [ "parser.common-rules.operators" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parser.common-rules/2020-07-15/parser.common-rules-20200715-git.tgz";
+      sha256 = "138ygj0qp58jl4h79szg3i2gnwzywwc48qn1gj6dw113wasrnkwa";
+      system = "parser.common-rules.operators";
+      asd = "parser.common-rules.operators";
+    });
+    systems = [ "parser.common-rules.operators" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "architecture_dot_builder-protocol" pkgs) (getAttr "esrap" pkgs) (getAttr "let-plus" pkgs) (getAttr "parser_dot_common-rules" pkgs) ];
+  };
+  parser_dot_common-rules_dot_operators_slash_test = {
+    pname = "parser.common-rules.operators_test";
+    version = "20200715-git";
+    asds = [ "parser.common-rules.operators" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parser.common-rules/2020-07-15/parser.common-rules-20200715-git.tgz";
+      sha256 = "138ygj0qp58jl4h79szg3i2gnwzywwc48qn1gj6dw113wasrnkwa";
+      system = "parser.common-rules.operators";
+      asd = "parser.common-rules.operators";
+    });
+    systems = [ "parser.common-rules.operators/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) (getAttr "parser_dot_common-rules" pkgs) (getAttr "parser_dot_common-rules_dot_operators" pkgs) ];
+  };
+  parser_dot_common-rules_slash_test = {
+    pname = "parser.common-rules_test";
+    version = "20200715-git";
+    asds = [ "parser.common-rules" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parser.common-rules/2020-07-15/parser.common-rules-20200715-git.tgz";
+      sha256 = "138ygj0qp58jl4h79szg3i2gnwzywwc48qn1gj6dw113wasrnkwa";
+      system = "parser.common-rules";
+      asd = "parser.common-rules";
+    });
+    systems = [ "parser.common-rules/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) (getAttr "parser_dot_common-rules" pkgs) ];
+  };
+  parser_dot_ini = {
+    pname = "parser.ini";
+    version = "20181018-git";
+    asds = [ "parser.ini" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parser.ini/2018-10-18/parser.ini-20181018-git.tgz";
+      sha256 = "0ri4c7877i9val67z5sm8nfhz04p9l6brajx2fkavs8556l1wm1d";
+      system = "parser.ini";
+      asd = "parser.ini";
+    });
+    systems = [ "parser.ini" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "architecture_dot_builder-protocol" pkgs) (getAttr "esrap" pkgs) (getAttr "let-plus" pkgs) (getAttr "more-conditions" pkgs) (getAttr "parser_dot_common-rules" pkgs) ];
+  };
+  parser_dot_ini_slash_test = {
+    pname = "parser.ini_test";
+    version = "20181018-git";
+    asds = [ "parser.ini" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parser.ini/2018-10-18/parser.ini-20181018-git.tgz";
+      sha256 = "0ri4c7877i9val67z5sm8nfhz04p9l6brajx2fkavs8556l1wm1d";
+      system = "parser.ini";
+      asd = "parser.ini";
+    });
+    systems = [ "parser.ini/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) (getAttr "parser_dot_ini" pkgs) ];
+  };
+  parsley = {
+    pname = "parsley";
+    version = "20210411-git";
+    asds = [ "parsley" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parsley/2021-04-11/parsley-20210411-git.tgz";
+      sha256 = "1h38pj2f8q0gjd8kqnigy6ddksgnypvg34rp5fdp85x7zl4viy7k";
+      system = "parsley";
+      asd = "parsley";
+    });
+    systems = [ "parsley" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "bitio" pkgs) (getAttr "chipz" pkgs) (getAttr "fast-io" pkgs) ];
+  };
+  parsnip = {
+    pname = "parsnip";
+    version = "20211020-git";
+    asds = [ "parsnip" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parsnip/2021-10-20/parsnip-20211020-git.tgz";
+      sha256 = "0gagq1k2vip0j087wvd78g6dfjkk2bv61rkgzpbibavbqr1dxafk";
+      system = "parsnip";
+      asd = "parsnip";
+    });
+    systems = [ "parsnip" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  parsnip_slash_examples = {
+    pname = "parsnip_examples";
+    version = "20211020-git";
+    asds = [ "parsnip" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parsnip/2021-10-20/parsnip-20211020-git.tgz";
+      sha256 = "0gagq1k2vip0j087wvd78g6dfjkk2bv61rkgzpbibavbqr1dxafk";
+      system = "parsnip";
+      asd = "parsnip";
+    });
+    systems = [ "parsnip/examples" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "parsnip" pkgs) ];
+  };
+  parsnip_slash_test = {
+    pname = "parsnip_test";
+    version = "20211020-git";
+    asds = [ "parsnip" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/parsnip/2021-10-20/parsnip-20211020-git.tgz";
+      sha256 = "0gagq1k2vip0j087wvd78g6dfjkk2bv61rkgzpbibavbqr1dxafk";
+      system = "parsnip";
+      asd = "parsnip";
+    });
+    systems = [ "parsnip/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "parachute" pkgs) (getAttr "parsnip" pkgs) ];
+  };
+  patchwork = {
+    pname = "patchwork";
+    version = "20210411-git";
+    asds = [ "patchwork" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/patchwork/2021-04-11/patchwork-20210411-git.tgz";
+      sha256 = "0c68jwm0jj9967byaw1n6q6acs91wnp32ivycix6s7ry0f1cmqzy";
+      system = "patchwork";
+      asd = "patchwork";
+    });
+    systems = [ "patchwork" ];
+    lispLibs = [ (getAttr "binpack" pkgs) (getAttr "golden-utils" pkgs) (getAttr "opticl" pkgs) (getAttr "pngload" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  path-parse = {
+    pname = "path-parse";
+    version = "20160421-git";
+    asds = [ "path-parse" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/path-parse/2016-04-21/path-parse-20160421-git.tgz";
+      sha256 = "10mxm6q62cfpv3hw2w8k968ba8a1xglqdkwlkqs4l4nby3b11aaq";
+      system = "path-parse";
+      asd = "path-parse";
+    });
+    systems = [ "path-parse" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  path-parse-test = {
+    pname = "path-parse-test";
+    version = "20160421-git";
+    asds = [ "path-parse-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/path-parse/2016-04-21/path-parse-20160421-git.tgz";
+      sha256 = "10mxm6q62cfpv3hw2w8k968ba8a1xglqdkwlkqs4l4nby3b11aaq";
+      system = "path-parse-test";
+      asd = "path-parse-test";
+    });
+    systems = [ "path-parse-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "path-parse" pkgs) ];
+  };
+  path-string = {
+    pname = "path-string";
+    version = "20160825-git";
+    asds = [ "path-string" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/path-string/2016-08-25/path-string-20160825-git.tgz";
+      sha256 = "0hs36kf4njxafxrngs1m1sh9c7b9wv7sa8n316dq4icx3kf3v6yp";
+      system = "path-string";
+      asd = "path-string";
+    });
+    systems = [ "path-string" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  path-string-test = {
+    pname = "path-string-test";
+    version = "20160825-git";
+    asds = [ "path-string-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/path-string/2016-08-25/path-string-20160825-git.tgz";
+      sha256 = "0hs36kf4njxafxrngs1m1sh9c7b9wv7sa8n316dq4icx3kf3v6yp";
+      system = "path-string-test";
+      asd = "path-string-test";
+    });
+    systems = [ "path-string-test" ];
+    lispLibs = [ (getAttr "path-string" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  pathname-utils = {
+    pname = "pathname-utils";
+    version = "20210531-git";
+    asds = [ "pathname-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pathname-utils/2021-05-31/pathname-utils-20210531-git.tgz";
+      sha256 = "0zjv39lrqdq96m4cypig33fh3iw5l7ivm3lwvzh08h70jswda0y4";
+      system = "pathname-utils";
+      asd = "pathname-utils";
+    });
+    systems = [ "pathname-utils" ];
+    lispLibs = [  ];
+  };
+  pathname-utils-test = {
+    pname = "pathname-utils-test";
+    version = "20210531-git";
+    asds = [ "pathname-utils-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pathname-utils/2021-05-31/pathname-utils-20210531-git.tgz";
+      sha256 = "0zjv39lrqdq96m4cypig33fh3iw5l7ivm3lwvzh08h70jswda0y4";
+      system = "pathname-utils-test";
+      asd = "pathname-utils-test";
+    });
+    systems = [ "pathname-utils-test" ];
+    lispLibs = [ (getAttr "parachute" pkgs) (getAttr "pathname-utils" pkgs) ];
+  };
+  patron = {
+    pname = "patron";
+    version = "20130420-git";
+    asds = [ "patron" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/patron/2013-04-20/patron-20130420-git.tgz";
+      sha256 = "0i2vlwspnssjxdnq7dsrb98q3y8c8drd0a11nxn9808q76sqzsqc";
+      system = "patron";
+      asd = "patron";
+    });
+    systems = [ "patron" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  pcall = {
+    pname = "pcall";
+    version = "0.3";
+    asds = [ "pcall" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz";
+      sha256 = "00ix5d9ljymrrpwsri0hhh3d592jqr2lvgbvkhav3k96rwq974ps";
+      system = "pcall";
+      asd = "pcall";
+    });
+    systems = [ "pcall" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "pcall-queue" pkgs) ];
+  };
+  pcall-queue = {
+    pname = "pcall-queue";
+    version = "0.3";
+    asds = [ "pcall-queue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz";
+      sha256 = "00ix5d9ljymrrpwsri0hhh3d592jqr2lvgbvkhav3k96rwq974ps";
+      system = "pcall-queue";
+      asd = "pcall-queue";
+    });
+    systems = [ "pcall-queue" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  pcall-tests = {
+    pname = "pcall-tests";
+    version = "0.3";
+    asds = [ "pcall-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz";
+      sha256 = "00ix5d9ljymrrpwsri0hhh3d592jqr2lvgbvkhav3k96rwq974ps";
+      system = "pcall-tests";
+      asd = "pcall";
+    });
+    systems = [ "pcall-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "pcall" pkgs) ];
+  };
+  pcl-binary-data = {
+    pname = "pcl-binary-data";
+    version = "20180430-git";
+    asds = [ "pcl-binary-data" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz";
+      sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9";
+      system = "pcl-binary-data";
+      asd = "pcl-binary-data";
+    });
+    systems = [ "pcl-binary-data" ];
+    lispLibs = [ (getAttr "pcl-macro-utilities" pkgs) ];
+  };
+  pcl-html = {
+    pname = "pcl-html";
+    version = "20180430-git";
+    asds = [ "pcl-html" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz";
+      sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9";
+      system = "pcl-html";
+      asd = "pcl-html";
+    });
+    systems = [ "pcl-html" ];
+    lispLibs = [ (getAttr "pcl-macro-utilities" pkgs) ];
+  };
+  pcl-id3v2 = {
+    pname = "pcl-id3v2";
+    version = "20180430-git";
+    asds = [ "pcl-id3v2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz";
+      sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9";
+      system = "pcl-id3v2";
+      asd = "pcl-id3v2";
+    });
+    systems = [ "pcl-id3v2" ];
+    lispLibs = [ (getAttr "pcl-binary-data" pkgs) (getAttr "pcl-pathnames" pkgs) ];
+  };
+  pcl-macro-utilities = {
+    pname = "pcl-macro-utilities";
+    version = "20180430-git";
+    asds = [ "pcl-macro-utilities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz";
+      sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9";
+      system = "pcl-macro-utilities";
+      asd = "pcl-macro-utilities";
+    });
+    systems = [ "pcl-macro-utilities" ];
+    lispLibs = [  ];
+  };
+  pcl-mp3-browser = {
+    pname = "pcl-mp3-browser";
+    version = "20180430-git";
+    asds = [ "pcl-mp3-browser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz";
+      sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9";
+      system = "pcl-mp3-browser";
+      asd = "pcl-mp3-browser";
+    });
+    systems = [ "pcl-mp3-browser" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "pcl-html" pkgs) (getAttr "pcl-id3v2" pkgs) (getAttr "pcl-mp3-database" pkgs) (getAttr "pcl-shoutcast" pkgs) (getAttr "pcl-url-function" pkgs) ];
+  };
+  pcl-mp3-database = {
+    pname = "pcl-mp3-database";
+    version = "20180430-git";
+    asds = [ "pcl-mp3-database" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz";
+      sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9";
+      system = "pcl-mp3-database";
+      asd = "pcl-mp3-database";
+    });
+    systems = [ "pcl-mp3-database" ];
+    lispLibs = [ (getAttr "pcl-id3v2" pkgs) (getAttr "pcl-macro-utilities" pkgs) (getAttr "pcl-pathnames" pkgs) ];
+  };
+  pcl-pathnames = {
+    pname = "pcl-pathnames";
+    version = "20180430-git";
+    asds = [ "pcl-pathnames" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz";
+      sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9";
+      system = "pcl-pathnames";
+      asd = "pcl-pathnames";
+    });
+    systems = [ "pcl-pathnames" ];
+    lispLibs = [  ];
+  };
+  pcl-shoutcast = {
+    pname = "pcl-shoutcast";
+    version = "20180430-git";
+    asds = [ "pcl-shoutcast" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz";
+      sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9";
+      system = "pcl-shoutcast";
+      asd = "pcl-shoutcast";
+    });
+    systems = [ "pcl-shoutcast" ];
+    lispLibs = [ (getAttr "pcl-html" pkgs) (getAttr "pcl-id3v2" pkgs) (getAttr "pcl-macro-utilities" pkgs) (getAttr "pcl-mp3-database" pkgs) (getAttr "pcl-pathnames" pkgs) (getAttr "pcl-url-function" pkgs) ];
+  };
+  pcl-simple-database = {
+    pname = "pcl-simple-database";
+    version = "20180430-git";
+    asds = [ "pcl-simple-database" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz";
+      sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9";
+      system = "pcl-simple-database";
+      asd = "pcl-simple-database";
+    });
+    systems = [ "pcl-simple-database" ];
+    lispLibs = [  ];
+  };
+  pcl-spam = {
+    pname = "pcl-spam";
+    version = "20180430-git";
+    asds = [ "pcl-spam" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz";
+      sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9";
+      system = "pcl-spam";
+      asd = "pcl-spam";
+    });
+    systems = [ "pcl-spam" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "pcl-pathnames" pkgs) (getAttr "pcl-test-framework" pkgs) ];
+  };
+  pcl-test-framework = {
+    pname = "pcl-test-framework";
+    version = "20180430-git";
+    asds = [ "pcl-test-framework" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz";
+      sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9";
+      system = "pcl-test-framework";
+      asd = "pcl-test-framework";
+    });
+    systems = [ "pcl-test-framework" ];
+    lispLibs = [ (getAttr "pcl-macro-utilities" pkgs) ];
+  };
+  pcl-unit-test = {
+    pname = "pcl-unit-test";
+    version = "20121125-git";
+    asds = [ "pcl-unit-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-match/2012-11-25/cl-match-20121125-git.tgz";
+      sha256 = "1qc8gzp7f4phgyi5whkxacrqzdqs0y1hvkf71m8n7l303jly9wjf";
+      system = "pcl-unit-test";
+      asd = "pcl-unit-test";
+    });
+    systems = [ "pcl-unit-test" ];
+    lispLibs = [ (getAttr "standard-cl" pkgs) ];
+  };
+  pcl-url-function = {
+    pname = "pcl-url-function";
+    version = "20180430-git";
+    asds = [ "pcl-url-function" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz";
+      sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9";
+      system = "pcl-url-function";
+      asd = "pcl-url-function";
+    });
+    systems = [ "pcl-url-function" ];
+    lispLibs = [ (getAttr "aserve" pkgs) (getAttr "pcl-html" pkgs) (getAttr "pcl-macro-utilities" pkgs) ];
+  };
+  peppol = {
+    pname = "peppol";
+    version = "20201016-git";
+    asds = [ "peppol" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-peppol/2020-10-16/cl-peppol-20201016-git.tgz";
+      sha256 = "02wc6h1fiaqzf14py2kwsvx0dmb22wdkd54pl0ixnmivj436ln99";
+      system = "peppol";
+      asd = "peppol";
+    });
+    systems = [ "peppol" ];
+    lispLibs = [ (getAttr "cxml" pkgs) (getAttr "xpath" pkgs) ];
+  };
+  percent-encoding = {
+    pname = "percent-encoding";
+    version = "20121013-git";
+    asds = [ "percent-encoding" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/percent-encoding/2012-10-13/percent-encoding-20121013-git.tgz";
+      sha256 = "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h";
+      system = "percent-encoding";
+      asd = "percent-encoding";
+    });
+    systems = [ "percent-encoding" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "babel" pkgs) ];
+  };
+  percent-encoding-test = {
+    pname = "percent-encoding-test";
+    version = "20121013-git";
+    asds = [ "percent-encoding-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/percent-encoding/2012-10-13/percent-encoding-20121013-git.tgz";
+      sha256 = "0q1lh3sa6mkjr5gcdkgimkpc29rgf9cjhv90f61h8ridj28grq0h";
+      system = "percent-encoding-test";
+      asd = "percent-encoding";
+    });
+    systems = [ "percent-encoding-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "percent-encoding" pkgs) ];
+  };
+  perceptual-hashes = {
+    pname = "perceptual-hashes";
+    version = "20210411-git";
+    asds = [ "perceptual-hashes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/perceptual-hashes/2021-04-11/perceptual-hashes-20210411-git.tgz";
+      sha256 = "1nknv6rxkpsx3k80r7ny4var3av4i7b79cqqgpy5q2lnmp76997z";
+      system = "perceptual-hashes";
+      asd = "perceptual-hashes";
+    });
+    systems = [ "perceptual-hashes" ];
+    lispLibs = [ (getAttr "array-operations" pkgs) (getAttr "imago" pkgs) (getAttr "jpeg-turbo" pkgs) ];
+  };
+  perceptual-hashes_slash_tests = {
+    pname = "perceptual-hashes_tests";
+    version = "20210411-git";
+    asds = [ "perceptual-hashes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/perceptual-hashes/2021-04-11/perceptual-hashes-20210411-git.tgz";
+      sha256 = "1nknv6rxkpsx3k80r7ny4var3av4i7b79cqqgpy5q2lnmp76997z";
+      system = "perceptual-hashes";
+      asd = "perceptual-hashes";
+    });
+    systems = [ "perceptual-hashes/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "perceptual-hashes" pkgs) ];
+  };
+  periodic-table = {
+    pname = "periodic-table";
+    version = "1.0";
+    asds = [ "periodic-table" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/periodic-table/2011-10-01/periodic-table-1.0.tgz";
+      sha256 = "147j9kn0afsvlz09vdjmvw5si08ix3dyypg21vrc5xvn9nsalrxx";
+      system = "periodic-table";
+      asd = "periodic-table";
+    });
+    systems = [ "periodic-table" ];
+    lispLibs = [  ];
+  };
+  periods = {
+    pname = "periods";
+    version = "20210228-git";
+    asds = [ "periods" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/periods/2021-02-28/periods-20210228-git.tgz";
+      sha256 = "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk";
+      system = "periods";
+      asd = "periods";
+    });
+    systems = [ "periods" ];
+    lispLibs = [ (getAttr "local-time" pkgs) ];
+  };
+  periods-series = {
+    pname = "periods-series";
+    version = "20210228-git";
+    asds = [ "periods-series" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/periods/2021-02-28/periods-20210228-git.tgz";
+      sha256 = "1ym2j4an9ig2hl210jg91gpf7xfnp6mlhkw3n9kkdnwiji3ipqlk";
+      system = "periods-series";
+      asd = "periods-series";
+    });
+    systems = [ "periods-series" ];
+    lispLibs = [ (getAttr "periods" pkgs) (getAttr "series" pkgs) ];
+  };
+  perlre = {
+    pname = "perlre";
+    version = "20200715-git";
+    asds = [ "perlre" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/perlre/2020-07-15/perlre-20200715-git.tgz";
+      sha256 = "1izhrn1xd0mi2nl0p6930ln3nb4wp3y5ngg81wy5g5s4vqy2h54a";
+      system = "perlre";
+      asd = "perlre";
+    });
+    systems = [ "perlre" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "let-over-lambda" pkgs) (getAttr "prove" pkgs) (getAttr "trivia" pkgs) (getAttr "trivia_dot_ppcre" pkgs) ];
+  };
+  persistent = {
+    pname = "persistent";
+    version = "20211230-git";
+    asds = [ "persistent" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "persistent";
+      asd = "persistent";
+    });
+    systems = [ "persistent" ];
+    lispLibs = [  ];
+  };
+  persistent-tables = {
+    pname = "persistent-tables";
+    version = "20120208-git";
+    asds = [ "persistent-tables" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/persistent-tables/2012-02-08/persistent-tables-20120208-git.tgz";
+      sha256 = "0klfjza85mgj2z42x2lhcqy9q66avac7zw0cpbmwwng3m7679hpa";
+      system = "persistent-tables";
+      asd = "persistent-tables";
+    });
+    systems = [ "persistent-tables" ];
+    lispLibs = [ (getAttr "lisp-unit" pkgs) (getAttr "random-access-lists" pkgs) ];
+  };
+  persistent-variables = {
+    pname = "persistent-variables";
+    version = "20130312-git";
+    asds = [ "persistent-variables" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/persistent-variables/2013-03-12/persistent-variables-20130312-git.tgz";
+      sha256 = "0r72cbjkb5q4sn109svlcsvrwgvwdsn5c63rv5cpaf3jrfv1z8xn";
+      system = "persistent-variables";
+      asd = "persistent-variables";
+    });
+    systems = [ "persistent-variables" ];
+    lispLibs = [  ];
+  };
+  persistent-variables_dot_test = {
+    pname = "persistent-variables.test";
+    version = "20130312-git";
+    asds = [ "persistent-variables.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/persistent-variables/2013-03-12/persistent-variables-20130312-git.tgz";
+      sha256 = "0r72cbjkb5q4sn109svlcsvrwgvwdsn5c63rv5cpaf3jrfv1z8xn";
+      system = "persistent-variables.test";
+      asd = "persistent-variables";
+    });
+    systems = [ "persistent-variables.test" ];
+    lispLibs = [ (getAttr "persistent-variables" pkgs) ];
+  };
+  petalisp = {
+    pname = "petalisp";
+    version = "20211230-git";
+    asds = [ "petalisp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petalisp/2021-12-30/petalisp-20211230-git.tgz";
+      sha256 = "12vxjd1ay7lw8rbzddj20xrdn5r1b4nd809hp7qryhjdk9k52052";
+      system = "petalisp";
+      asd = "petalisp";
+    });
+    systems = [ "petalisp" ];
+    lispLibs = [ (getAttr "petalisp_dot_api" pkgs) ];
+  };
+  petalisp_dot_api = {
+    pname = "petalisp.api";
+    version = "20211230-git";
+    asds = [ "petalisp.api" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petalisp/2021-12-30/petalisp-20211230-git.tgz";
+      sha256 = "12vxjd1ay7lw8rbzddj20xrdn5r1b4nd809hp7qryhjdk9k52052";
+      system = "petalisp.api";
+      asd = "petalisp.api";
+    });
+    systems = [ "petalisp.api" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "petalisp_dot_core" pkgs) (getAttr "petalisp_dot_multicore-backend" pkgs) (getAttr "petalisp_dot_native-backend" pkgs) (getAttr "petalisp_dot_utilities" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  petalisp_dot_core = {
+    pname = "petalisp.core";
+    version = "20211230-git";
+    asds = [ "petalisp.core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petalisp/2021-12-30/petalisp-20211230-git.tgz";
+      sha256 = "12vxjd1ay7lw8rbzddj20xrdn5r1b4nd809hp7qryhjdk9k52052";
+      system = "petalisp.core";
+      asd = "petalisp.core";
+    });
+    systems = [ "petalisp.core" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "lparallel" pkgs) (getAttr "petalisp_dot_type-inference" pkgs) (getAttr "petalisp_dot_utilities" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-macroexpand-all" pkgs) (getAttr "ucons" pkgs) ];
+  };
+  petalisp_dot_examples = {
+    pname = "petalisp.examples";
+    version = "20211230-git";
+    asds = [ "petalisp.examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petalisp/2021-12-30/petalisp-20211230-git.tgz";
+      sha256 = "12vxjd1ay7lw8rbzddj20xrdn5r1b4nd809hp7qryhjdk9k52052";
+      system = "petalisp.examples";
+      asd = "petalisp.examples";
+    });
+    systems = [ "petalisp.examples" ];
+    lispLibs = [ (getAttr "numpy-file-format" pkgs) (getAttr "petalisp" pkgs) ];
+  };
+  petalisp_dot_graphviz = {
+    pname = "petalisp.graphviz";
+    version = "20211230-git";
+    asds = [ "petalisp.graphviz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petalisp/2021-12-30/petalisp-20211230-git.tgz";
+      sha256 = "12vxjd1ay7lw8rbzddj20xrdn5r1b4nd809hp7qryhjdk9k52052";
+      system = "petalisp.graphviz";
+      asd = "petalisp.graphviz";
+    });
+    systems = [ "petalisp.graphviz" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-dot" pkgs) (getAttr "petalisp" pkgs) (getAttr "petalisp_dot_core" pkgs) (getAttr "petalisp_dot_ir" pkgs) (getAttr "petalisp_dot_utilities" pkgs) (getAttr "trivial-features" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  petalisp_dot_ir = {
+    pname = "petalisp.ir";
+    version = "20211230-git";
+    asds = [ "petalisp.ir" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petalisp/2021-12-30/petalisp-20211230-git.tgz";
+      sha256 = "12vxjd1ay7lw8rbzddj20xrdn5r1b4nd809hp7qryhjdk9k52052";
+      system = "petalisp.ir";
+      asd = "petalisp.ir";
+    });
+    systems = [ "petalisp.ir" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "petalisp_dot_core" pkgs) (getAttr "petalisp_dot_utilities" pkgs) (getAttr "priority-queue" pkgs) ];
+  };
+  petalisp_dot_multicore-backend = {
+    pname = "petalisp.multicore-backend";
+    version = "20211230-git";
+    asds = [ "petalisp.multicore-backend" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petalisp/2021-12-30/petalisp-20211230-git.tgz";
+      sha256 = "12vxjd1ay7lw8rbzddj20xrdn5r1b4nd809hp7qryhjdk9k52052";
+      system = "petalisp.multicore-backend";
+      asd = "petalisp.multicore-backend";
+    });
+    systems = [ "petalisp.multicore-backend" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "atomics" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "petalisp_dot_core" pkgs) (getAttr "petalisp_dot_ir" pkgs) (getAttr "petalisp_dot_utilities" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  petalisp_dot_native-backend = {
+    pname = "petalisp.native-backend";
+    version = "20211230-git";
+    asds = [ "petalisp.native-backend" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petalisp/2021-12-30/petalisp-20211230-git.tgz";
+      sha256 = "12vxjd1ay7lw8rbzddj20xrdn5r1b4nd809hp7qryhjdk9k52052";
+      system = "petalisp.native-backend";
+      asd = "petalisp.native-backend";
+    });
+    systems = [ "petalisp.native-backend" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "lparallel" pkgs) (getAttr "petalisp_dot_core" pkgs) (getAttr "petalisp_dot_ir" pkgs) (getAttr "petalisp_dot_scheduler" pkgs) (getAttr "petalisp_dot_utilities" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  petalisp_dot_scheduler = {
+    pname = "petalisp.scheduler";
+    version = "20211230-git";
+    asds = [ "petalisp.scheduler" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petalisp/2021-12-30/petalisp-20211230-git.tgz";
+      sha256 = "12vxjd1ay7lw8rbzddj20xrdn5r1b4nd809hp7qryhjdk9k52052";
+      system = "petalisp.scheduler";
+      asd = "petalisp.scheduler";
+    });
+    systems = [ "petalisp.scheduler" ];
+    lispLibs = [ (getAttr "atomics" pkgs) (getAttr "petalisp_dot_core" pkgs) (getAttr "petalisp_dot_ir" pkgs) ];
+  };
+  petalisp_dot_test-suite = {
+    pname = "petalisp.test-suite";
+    version = "20211230-git";
+    asds = [ "petalisp.test-suite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petalisp/2021-12-30/petalisp-20211230-git.tgz";
+      sha256 = "12vxjd1ay7lw8rbzddj20xrdn5r1b4nd809hp7qryhjdk9k52052";
+      system = "petalisp.test-suite";
+      asd = "petalisp.test-suite";
+    });
+    systems = [ "petalisp.test-suite" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "closer-mop" pkgs) (getAttr "petalisp" pkgs) (getAttr "petalisp_dot_examples" pkgs) (getAttr "petalisp_dot_graphviz" pkgs) ];
+  };
+  petalisp_dot_type-inference = {
+    pname = "petalisp.type-inference";
+    version = "20211230-git";
+    asds = [ "petalisp.type-inference" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petalisp/2021-12-30/petalisp-20211230-git.tgz";
+      sha256 = "12vxjd1ay7lw8rbzddj20xrdn5r1b4nd809hp7qryhjdk9k52052";
+      system = "petalisp.type-inference";
+      asd = "petalisp.type-inference";
+    });
+    systems = [ "petalisp.type-inference" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-arguments" pkgs) ];
+  };
+  petalisp_dot_utilities = {
+    pname = "petalisp.utilities";
+    version = "20211230-git";
+    asds = [ "petalisp.utilities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petalisp/2021-12-30/petalisp-20211230-git.tgz";
+      sha256 = "12vxjd1ay7lw8rbzddj20xrdn5r1b4nd809hp7qryhjdk9k52052";
+      system = "petalisp.utilities";
+      asd = "petalisp.utilities";
+    });
+    systems = [ "petalisp.utilities" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "atomics" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  petit_dot_package-utils = {
+    pname = "petit.package-utils";
+    version = "20140826-git";
+    asds = [ "petit.package-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petit.package-utils/2014-08-26/petit.package-utils-20140826-git.tgz";
+      sha256 = "0jj4c1jpcqfy9mrlxhjmq4ypwlzk84h09i8nr34wjwh6z7idhpyv";
+      system = "petit.package-utils";
+      asd = "petit.package-utils";
+    });
+    systems = [ "petit.package-utils" ];
+    lispLibs = [  ];
+  };
+  petit_dot_string-utils = {
+    pname = "petit.string-utils";
+    version = "20141106-git";
+    asds = [ "petit.string-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petit.string-utils/2014-11-06/petit.string-utils-20141106-git.tgz";
+      sha256 = "04kqdj69x53wzvpp54zp6767186in24p8yrr82wdg2bwzw4qh4yl";
+      system = "petit.string-utils";
+      asd = "petit.string-utils";
+    });
+    systems = [ "petit.string-utils" ];
+    lispLibs = [  ];
+  };
+  petit_dot_string-utils-test = {
+    pname = "petit.string-utils-test";
+    version = "20141106-git";
+    asds = [ "petit.string-utils-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petit.string-utils/2014-11-06/petit.string-utils-20141106-git.tgz";
+      sha256 = "04kqdj69x53wzvpp54zp6767186in24p8yrr82wdg2bwzw4qh4yl";
+      system = "petit.string-utils-test";
+      asd = "petit.string-utils-test";
+    });
+    systems = [ "petit.string-utils-test" ];
+    lispLibs = [ (getAttr "petit_dot_string-utils" pkgs) (getAttr "rt" pkgs) ];
+  };
+  petri = {
+    pname = "petri";
+    version = "20200427-git";
+    asds = [ "petri" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petri/2020-04-27/petri-20200427-git.tgz";
+      sha256 = "1y78s3jndyxll46zq7s5is9pwv8f6jr2npjkcpd48ik7xkj2269b";
+      system = "petri";
+      asd = "petri";
+    });
+    systems = [ "petri" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "phoe-toolbox" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  petri_slash_graph = {
+    pname = "petri_graph";
+    version = "20200427-git";
+    asds = [ "petri" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petri/2020-04-27/petri-20200427-git.tgz";
+      sha256 = "1y78s3jndyxll46zq7s5is9pwv8f6jr2npjkcpd48ik7xkj2269b";
+      system = "petri";
+      asd = "petri";
+    });
+    systems = [ "petri/graph" ];
+    lispLibs = [ (getAttr "cl-dot" pkgs) (getAttr "petri" pkgs) ];
+  };
+  petri_slash_test = {
+    pname = "petri_test";
+    version = "20200427-git";
+    asds = [ "petri" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petri/2020-04-27/petri-20200427-git.tgz";
+      sha256 = "1y78s3jndyxll46zq7s5is9pwv8f6jr2npjkcpd48ik7xkj2269b";
+      system = "petri";
+      asd = "petri";
+    });
+    systems = [ "petri/test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "lparallel" pkgs) (getAttr "petri" pkgs) (getAttr "trivial-backtrace" pkgs) ];
+  };
+  petri_slash_threaded = {
+    pname = "petri_threaded";
+    version = "20200427-git";
+    asds = [ "petri" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/petri/2020-04-27/petri-20200427-git.tgz";
+      sha256 = "1y78s3jndyxll46zq7s5is9pwv8f6jr2npjkcpd48ik7xkj2269b";
+      system = "petri";
+      asd = "petri";
+    });
+    systems = [ "petri/threaded" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "lparallel" pkgs) (getAttr "petri" pkgs) (getAttr "trivial-backtrace" pkgs) ];
+  };
+  pettomato-deque = {
+    pname = "pettomato-deque";
+    version = "20120107-git";
+    asds = [ "pettomato-deque" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pettomato-deque/2012-01-07/pettomato-deque-20120107-git.tgz";
+      sha256 = "07ai4fa64cg6shfvnx9xk7pscbsz64ys80482zz2fb9q0rba80b7";
+      system = "pettomato-deque";
+      asd = "pettomato-deque";
+    });
+    systems = [ "pettomato-deque" ];
+    lispLibs = [  ];
+  };
+  pettomato-deque-tests = {
+    pname = "pettomato-deque-tests";
+    version = "20120107-git";
+    asds = [ "pettomato-deque-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pettomato-deque/2012-01-07/pettomato-deque-20120107-git.tgz";
+      sha256 = "07ai4fa64cg6shfvnx9xk7pscbsz64ys80482zz2fb9q0rba80b7";
+      system = "pettomato-deque-tests";
+      asd = "pettomato-deque-tests";
+    });
+    systems = [ "pettomato-deque-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "pettomato-deque" pkgs) ];
+  };
+  pettomato-indexed-priority-queue = {
+    pname = "pettomato-indexed-priority-queue";
+    version = "20120909-git";
+    asds = [ "pettomato-indexed-priority-queue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pettomato-indexed-priority-queue/2012-09-09/pettomato-indexed-priority-queue-20120909-git.tgz";
+      sha256 = "14i36qbdnif28xcbxdbr5abzmzxr7vzv64n1aix0f6khxg99pylz";
+      system = "pettomato-indexed-priority-queue";
+      asd = "pettomato-indexed-priority-queue";
+    });
+    systems = [ "pettomato-indexed-priority-queue" ];
+    lispLibs = [  ];
+  };
+  pettomato-indexed-priority-queue-tests = {
+    pname = "pettomato-indexed-priority-queue-tests";
+    version = "20120909-git";
+    asds = [ "pettomato-indexed-priority-queue-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pettomato-indexed-priority-queue/2012-09-09/pettomato-indexed-priority-queue-20120909-git.tgz";
+      sha256 = "14i36qbdnif28xcbxdbr5abzmzxr7vzv64n1aix0f6khxg99pylz";
+      system = "pettomato-indexed-priority-queue-tests";
+      asd = "pettomato-indexed-priority-queue-tests";
+    });
+    systems = [ "pettomato-indexed-priority-queue-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "pettomato-indexed-priority-queue" pkgs) ];
+  };
+  pfft = {
+    pname = "pfft";
+    version = "20180711-git";
+    asds = [ "pfft" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/fft/2018-07-11/fft-20180711-git.tgz";
+      sha256 = "0ymnfplap2cncw49mhq7crapgxphfwsvqdgrcckpgsvw6qsymasd";
+      system = "pfft";
+      asd = "pfft";
+    });
+    systems = [ "pfft" ];
+    lispLibs = [ (getAttr "fft" pkgs) (getAttr "pcall" pkgs) ];
+  };
+  pg = {
+    pname = "pg";
+    version = "20150608-git";
+    asds = [ "pg" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pg/2015-06-08/pg-20150608-git.tgz";
+      sha256 = "1c7axd2yxw9lxf7l5djrnfkp197mmr88qpigy2cjgim8vxab4n2l";
+      system = "pg";
+      asd = "pg";
+    });
+    systems = [ "pg" ];
+    lispLibs = [  ];
+  };
+  pgloader = {
+    pname = "pgloader";
+    version = "v3.6.3";
+    asds = [ "pgloader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pgloader/2021-12-30/pgloader-v3.6.3.tgz";
+      sha256 = "147dcf0rmi94p95dvifx8qy7602fvs041dv9wlg3q31ly13agwb5";
+      system = "pgloader";
+      asd = "pgloader";
+    });
+    systems = [ "pgloader" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "abnf" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-csv" pkgs) (getAttr "db3" pkgs) (getAttr "cl-fad" pkgs) (getAttr "ixf" pkgs) (getAttr "cl-log" pkgs) (getAttr "cl-markdown" pkgs) (getAttr "mssql" pkgs) (getAttr "cl-mustache" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "sqlite" pkgs) (getAttr "closer-mop" pkgs) (getAttr "command-line-arguments" pkgs) (getAttr "drakma" pkgs) (getAttr "esrap" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "local-time" pkgs) (getAttr "lparallel" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "cl-postgres" pkgs) (getAttr "postmodern" pkgs) (getAttr "simple-date" pkgs) (getAttr "py-configparser" pkgs) (getAttr "qmynd" pkgs) (getAttr "quri" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-backtrace" pkgs) (getAttr "uiop" pkgs) (getAttr "usocket" pkgs) (getAttr "uuid" pkgs) (getAttr "yason" pkgs) (getAttr "zs3" pkgs) ];
+  };
+  phoe-toolbox = {
+    pname = "phoe-toolbox";
+    version = "20210124-git";
+    asds = [ "phoe-toolbox" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/phoe-toolbox/2021-01-24/phoe-toolbox-20210124-git.tgz";
+      sha256 = "0bzbgs4lkhw93y1cwrs9kp5yiyz8sg4885cnvi83dzzbla9b74kv";
+      system = "phoe-toolbox";
+      asd = "phoe-toolbox";
+    });
+    systems = [ "phoe-toolbox" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "trivial-indent" pkgs) ];
+  };
+  phoe-toolbox_slash_bag = {
+    pname = "phoe-toolbox_bag";
+    version = "20210124-git";
+    asds = [ "phoe-toolbox" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/phoe-toolbox/2021-01-24/phoe-toolbox-20210124-git.tgz";
+      sha256 = "0bzbgs4lkhw93y1cwrs9kp5yiyz8sg4885cnvi83dzzbla9b74kv";
+      system = "phoe-toolbox";
+      asd = "phoe-toolbox";
+    });
+    systems = [ "phoe-toolbox/bag" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  phonon = {
+    pname = "phonon";
+    version = "20210531-git";
+    asds = [ "phonon" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "phonon";
+      asd = "phonon";
+    });
+    systems = [ "phonon" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtdbus" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtxml" pkgs) ];
+  };
+  physical-dimension = {
+    pname = "physical-dimension";
+    version = "master-df14cb8c-git";
+    asds = [ "physical-dimension" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/antik/2019-10-08/antik-master-df14cb8c-git.tgz";
+      sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0";
+      system = "physical-dimension";
+      asd = "physical-dimension";
+    });
+    systems = [ "physical-dimension" ];
+    lispLibs = [ (getAttr "foreign-array" pkgs) (getAttr "fare-utils" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  physical-quantities = {
+    pname = "physical-quantities";
+    version = "20211020-git";
+    asds = [ "physical-quantities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/physical-quantities/2021-10-20/physical-quantities-20211020-git.tgz";
+      sha256 = "0mb2s94s6fhw5vfa89naalw7ld11sdsszlqpz0c65dvpfyfmmdmh";
+      system = "physical-quantities";
+      asd = "physical-quantities";
+    });
+    systems = [ "physical-quantities" ];
+    lispLibs = [ (getAttr "parseq" pkgs) ];
+  };
+  physical-quantities_slash_test = {
+    pname = "physical-quantities_test";
+    version = "20211020-git";
+    asds = [ "physical-quantities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/physical-quantities/2021-10-20/physical-quantities-20211020-git.tgz";
+      sha256 = "0mb2s94s6fhw5vfa89naalw7ld11sdsszlqpz0c65dvpfyfmmdmh";
+      system = "physical-quantities";
+      asd = "physical-quantities";
+    });
+    systems = [ "physical-quantities/test" ];
+    lispLibs = [ (getAttr "physical-quantities" pkgs) ];
+  };
+  picl = {
+    pname = "picl";
+    version = "20210124-git";
+    asds = [ "picl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/picl/2021-01-24/picl-20210124-git.tgz";
+      sha256 = "14jwx7hv6h563ppvxicdkrqx0cxlz15im9a4grd9yvwdfxl70l4c";
+      system = "picl";
+      asd = "picl";
+    });
+    systems = [ "picl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "defclass-std" pkgs) ];
+  };
+  picl_slash_iterate = {
+    pname = "picl_iterate";
+    version = "20210124-git";
+    asds = [ "picl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/picl/2021-01-24/picl-20210124-git.tgz";
+      sha256 = "14jwx7hv6h563ppvxicdkrqx0cxlz15im9a4grd9yvwdfxl70l4c";
+      system = "picl";
+      asd = "picl";
+    });
+    systems = [ "picl/iterate" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) (getAttr "picl" pkgs) ];
+  };
+  picl_slash_tests = {
+    pname = "picl_tests";
+    version = "20210124-git";
+    asds = [ "picl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/picl/2021-01-24/picl-20210124-git.tgz";
+      sha256 = "14jwx7hv6h563ppvxicdkrqx0cxlz15im9a4grd9yvwdfxl70l4c";
+      system = "picl";
+      asd = "picl";
+    });
+    systems = [ "picl/tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fiveam" pkgs) (getAttr "generic-cl" pkgs) (getAttr "iterate" pkgs) (getAttr "picl" pkgs) ];
+  };
+  piggyback-parameters = {
+    pname = "piggyback-parameters";
+    version = "20200610-git";
+    asds = [ "piggyback-parameters" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/piggyback-parameters/2020-06-10/piggyback-parameters-20200610-git.tgz";
+      sha256 = "1187bgnz9pvs8xdxapqhrm4yqzwlp368ijmc5szm8r8q3zrb219n";
+      system = "piggyback-parameters";
+      asd = "piggyback-parameters";
+    });
+    systems = [ "piggyback-parameters" ];
+    lispLibs = [ (getAttr "trivial-hashtable-serialize" pkgs) (getAttr "trivial-json-codec" pkgs) (getAttr "trivial-pooled-database" pkgs) ];
+  };
+  piggyback-parameters_slash_test = {
+    pname = "piggyback-parameters_test";
+    version = "20200610-git";
+    asds = [ "piggyback-parameters" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/piggyback-parameters/2020-06-10/piggyback-parameters-20200610-git.tgz";
+      sha256 = "1187bgnz9pvs8xdxapqhrm4yqzwlp368ijmc5szm8r8q3zrb219n";
+      system = "piggyback-parameters";
+      asd = "piggyback-parameters";
+    });
+    systems = [ "piggyback-parameters/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "piggyback-parameters" pkgs) ];
+  };
+  pileup = {
+    pname = "pileup";
+    version = "20150709-git";
+    asds = [ "pileup" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pileup/2015-07-09/pileup-20150709-git.tgz";
+      sha256 = "01gvshpxil0ggjgfmgcymbgmpsfaxy6aggm0bywkn40rck3038vb";
+      system = "pileup";
+      asd = "pileup";
+    });
+    systems = [ "pileup" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  pileup-tests = {
+    pname = "pileup-tests";
+    version = "20150709-git";
+    asds = [ "pileup-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pileup/2015-07-09/pileup-20150709-git.tgz";
+      sha256 = "01gvshpxil0ggjgfmgcymbgmpsfaxy6aggm0bywkn40rck3038vb";
+      system = "pileup-tests";
+      asd = "pileup";
+    });
+    systems = [ "pileup-tests" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "pileup" pkgs) ];
+  };
+  pipes = {
+    pname = "pipes";
+    version = "20150923-git";
+    asds = [ "pipes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pipes/2015-09-23/pipes-20150923-git.tgz";
+      sha256 = "17qcxalbdip20nkbwiv3kpdjjsy0g1y9s4a0zv38ch47bdl9yxpc";
+      system = "pipes";
+      asd = "pipes";
+    });
+    systems = [ "pipes" ];
+    lispLibs = [  ];
+  };
+  piping = {
+    pname = "piping";
+    version = "20190710-git";
+    asds = [ "piping" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/piping/2019-07-10/piping-20190710-git.tgz";
+      sha256 = "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5";
+      system = "piping";
+      asd = "piping";
+    });
+    systems = [ "piping" ];
+    lispLibs = [  ];
+  };
+  pithy-xml = {
+    pname = "pithy-xml";
+    version = "20101006-git";
+    asds = [ "pithy-xml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pithy-xml/2010-10-06/pithy-xml-20101006-git.tgz";
+      sha256 = "05zw5adiw7jgvi9w9c661s4r49fidpcxn6m7azmn0pzc936dg17h";
+      system = "pithy-xml";
+      asd = "pithy-xml";
+    });
+    systems = [ "pithy-xml" ];
+    lispLibs = [  ];
+  };
+  pixman = {
+    pname = "pixman";
+    version = "20170830-git";
+    asds = [ "pixman" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-pixman/2017-08-30/cl-pixman-20170830-git.tgz";
+      sha256 = "068hh7cv6f2wqwd8092wqh3rgdix6sa319qpm648mss8jfnjjbgj";
+      system = "pixman";
+      asd = "pixman";
+    });
+    systems = [ "pixman" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  pjlink = {
+    pname = "pjlink";
+    version = "20201220-git";
+    asds = [ "pjlink" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pjlink/2020-12-20/pjlink-20201220-git.tgz";
+      sha256 = "1xnn8yrrrcql65brl2ihrjq4zkpnvb7nxxqhydhgj7ccw6jbls8z";
+      system = "pjlink";
+      asd = "pjlink";
+    });
+    systems = [ "pjlink" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "ip-interfaces" pkgs) (getAttr "md5" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  pkg-doc = {
+    pname = "pkg-doc";
+    version = "20200925-git";
+    asds = [ "pkg-doc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pkg-doc/2020-09-25/pkg-doc-20200925-git.tgz";
+      sha256 = "1y4dcc0q3iizgvavnkl8q4bjxq0dngvqw5dhrf9bxf4d3q3vrbd4";
+      system = "pkg-doc";
+      asd = "pkg-doc";
+    });
+    systems = [ "pkg-doc" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "stdutils" pkgs) (getAttr "clim-widgets" pkgs) (getAttr "manifest" pkgs) (getAttr "nsort" pkgs) (getAttr "repl-utilities" pkgs) ];
+  };
+  place-modifiers = {
+    pname = "place-modifiers";
+    version = "2.1";
+    asds = [ "place-modifiers" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/place-modifiers/2012-11-25/place-modifiers-2.1.tgz";
+      sha256 = "13nd911h6i7gks78l30bzdqzygcqh47946jwaf50ak2iraagknvf";
+      system = "place-modifiers";
+      asd = "place-modifiers";
+    });
+    systems = [ "place-modifiers" ];
+    lispLibs = [ (getAttr "cartesian-product-switch" pkgs) (getAttr "map-bind" pkgs) ];
+  };
+  place-utils = {
+    pname = "place-utils";
+    version = "0.2";
+    asds = [ "place-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/place-utils/2018-10-18/place-utils-0.2.tgz";
+      sha256 = "1riaxxafn2xbyy6776yqns1bhz5jnzzpd177wb5xzvwlxiix6yf9";
+      system = "place-utils";
+      asd = "place-utils";
+    });
+    systems = [ "place-utils" ];
+    lispLibs = [  ];
+  };
+  plain-odbc = {
+    pname = "plain-odbc";
+    version = "20191130-git";
+    asds = [ "plain-odbc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plain-odbc/2019-11-30/plain-odbc-20191130-git.tgz";
+      sha256 = "1ca5v50bffycl0dlwydm385cgacbxvwfphi2gjy2ni573czy1lgb";
+      system = "plain-odbc";
+      asd = "plain-odbc";
+    });
+    systems = [ "plain-odbc" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) ];
+  };
+  planks = {
+    pname = "planks";
+    version = "20110522-git";
+    asds = [ "planks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/planks/2011-05-22/planks-20110522-git.tgz";
+      sha256 = "1y7cg9xb75j1yslbxsmw0fyg738f4d28lnlm7w7hzgc51fc7875k";
+      system = "planks";
+      asd = "planks";
+    });
+    systems = [ "planks" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "closer-mop" pkgs) (getAttr "ironclad" pkgs) (getAttr "rucksack" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  plokami = {
+    pname = "plokami";
+    version = "20200218-git";
+    asds = [ "plokami" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plokami/2020-02-18/plokami-20200218-git.tgz";
+      sha256 = "1k78lpbaqqa2gnwi9k0y646md4s9xnijm774knl11p05r83w5ycb";
+      system = "plokami";
+      asd = "plokami";
+    });
+    systems = [ "plokami" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  plot = {
+    pname = "plot";
+    version = "20211209-git";
+    asds = [ "plot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plot/2021-12-09/plot-20211209-git.tgz";
+      sha256 = "1bcsv37kszjhqd93njn51k0ss4gn8l2v9vh4f7n64jhyh3s0a5b8";
+      system = "plot";
+      asd = "plot";
+    });
+    systems = [ "plot" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-who" pkgs) (getAttr "lass" pkgs) ];
+  };
+  plot_slash_text = {
+    pname = "plot_text";
+    version = "20211209-git";
+    asds = [ "plot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plot/2021-12-09/plot-20211209-git.tgz";
+      sha256 = "1bcsv37kszjhqd93njn51k0ss4gn8l2v9vh4f7n64jhyh3s0a5b8";
+      system = "plot";
+      asd = "plot";
+    });
+    systems = [ "plot/text" ];
+    lispLibs = [ (getAttr "cl-spark" pkgs) (getAttr "iterate" pkgs) (getAttr "num-utils" pkgs) (getAttr "select" pkgs) ];
+  };
+  plot_slash_vglt = {
+    pname = "plot_vglt";
+    version = "20211209-git";
+    asds = [ "plot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plot/2021-12-09/plot-20211209-git.tgz";
+      sha256 = "1bcsv37kszjhqd93njn51k0ss4gn8l2v9vh4f7n64jhyh3s0a5b8";
+      system = "plot";
+      asd = "plot";
+    });
+    systems = [ "plot/vglt" ];
+    lispLibs = [ (getAttr "dfio" pkgs) (getAttr "let-plus" pkgs) (getAttr "plot" pkgs) (getAttr "yason" pkgs) ];
+  };
+  plplot-examples = {
+    pname = "plplot-examples";
+    version = "20180228-git";
+    asds = [ "plplot-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-plplot/2018-02-28/cl-plplot-20180228-git.tgz";
+      sha256 = "0hfgq47ga2r764jfc3ywaz5ynnvp701fjhbw0s4j1mrw4gaf6y6w";
+      system = "plplot-examples";
+      asd = "cl-plplot";
+    });
+    systems = [ "plplot-examples" ];
+    lispLibs = [ (getAttr "cl-plplot" pkgs) (getAttr "png" pkgs) ];
+  };
+  pludeck = {
+    pname = "pludeck";
+    version = "20180831-git";
+    asds = [ "pludeck" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pludeck/2018-08-31/pludeck-20180831-git.tgz";
+      sha256 = "0p6v7fxs48fxr76kvkh6z2mjjyz3vf2rp698jq1fl6p3hihbgl0m";
+      system = "pludeck";
+      asd = "pludeck";
+    });
+    systems = [ "pludeck" ];
+    lispLibs = [ (getAttr "plump" pkgs) ];
+  };
+  plump = {
+    pname = "plump";
+    version = "20210630-git";
+    asds = [ "plump" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plump/2021-06-30/plump-20210630-git.tgz";
+      sha256 = "1w4wz7f6dc2ckdq9wq9r5014bg2nxjifj9yz1zzn41r8h1h5xfcd";
+      system = "plump";
+      asd = "plump";
+    });
+    systems = [ "plump" ];
+    lispLibs = [ (getAttr "array-utils" pkgs) (getAttr "documentation-utils" pkgs) ];
+  };
+  plump-bundle = {
+    pname = "plump-bundle";
+    version = "20190710-git";
+    asds = [ "plump-bundle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plump-bundle/2019-07-10/plump-bundle-20190710-git.tgz";
+      sha256 = "1r9k4fh9vqszvsdsa101m1nqn3wmnb89cis2sj2asbssrmcllgn3";
+      system = "plump-bundle";
+      asd = "plump-bundle";
+    });
+    systems = [ "plump-bundle" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "closer-mop" pkgs) (getAttr "fast-io" pkgs) (getAttr "plump-dom" pkgs) ];
+  };
+  plump-dom = {
+    pname = "plump-dom";
+    version = "20210630-git";
+    asds = [ "plump-dom" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plump/2021-06-30/plump-20210630-git.tgz";
+      sha256 = "1w4wz7f6dc2ckdq9wq9r5014bg2nxjifj9yz1zzn41r8h1h5xfcd";
+      system = "plump-dom";
+      asd = "plump-dom";
+    });
+    systems = [ "plump-dom" ];
+    lispLibs = [ (getAttr "plump" pkgs) ];
+  };
+  plump-lexer = {
+    pname = "plump-lexer";
+    version = "20210630-git";
+    asds = [ "plump-lexer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plump/2021-06-30/plump-20210630-git.tgz";
+      sha256 = "1w4wz7f6dc2ckdq9wq9r5014bg2nxjifj9yz1zzn41r8h1h5xfcd";
+      system = "plump-lexer";
+      asd = "plump-lexer";
+    });
+    systems = [ "plump-lexer" ];
+    lispLibs = [ (getAttr "plump" pkgs) ];
+  };
+  plump-parser = {
+    pname = "plump-parser";
+    version = "20210630-git";
+    asds = [ "plump-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plump/2021-06-30/plump-20210630-git.tgz";
+      sha256 = "1w4wz7f6dc2ckdq9wq9r5014bg2nxjifj9yz1zzn41r8h1h5xfcd";
+      system = "plump-parser";
+      asd = "plump-parser";
+    });
+    systems = [ "plump-parser" ];
+    lispLibs = [ (getAttr "plump" pkgs) ];
+  };
+  plump-sexp = {
+    pname = "plump-sexp";
+    version = "20210531-git";
+    asds = [ "plump-sexp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plump-sexp/2021-05-31/plump-sexp-20210531-git.tgz";
+      sha256 = "0zm9h0assjb8766z2v6l1k1s60y90y6f8smrl1dczwqlvc8xyln5";
+      system = "plump-sexp";
+      asd = "plump-sexp";
+    });
+    systems = [ "plump-sexp" ];
+    lispLibs = [ (getAttr "plump" pkgs) ];
+  };
+  plump-tex = {
+    pname = "plump-tex";
+    version = "20210531-git";
+    asds = [ "plump-tex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plump-tex/2021-05-31/plump-tex-20210531-git.tgz";
+      sha256 = "1qjiyw0kh8i2rd8rdznfz9vnvklcf9iffdbm8xvp3z1086frzfms";
+      system = "plump-tex";
+      asd = "plump-tex";
+    });
+    systems = [ "plump-tex" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "plump" pkgs) ];
+  };
+  plump-tex-test = {
+    pname = "plump-tex-test";
+    version = "20210531-git";
+    asds = [ "plump-tex-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plump-tex/2021-05-31/plump-tex-20210531-git.tgz";
+      sha256 = "1qjiyw0kh8i2rd8rdznfz9vnvklcf9iffdbm8xvp3z1086frzfms";
+      system = "plump-tex-test";
+      asd = "plump-tex-test";
+    });
+    systems = [ "plump-tex-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "plump-tex" pkgs) ];
+  };
+  png = {
+    pname = "png";
+    version = "20211020-git";
+    asds = [ "png" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz";
+      sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4";
+      system = "png";
+      asd = "png";
+    });
+    systems = [ "png" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  png-read = {
+    pname = "png-read";
+    version = "20170830-git";
+    asds = [ "png-read" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/png-read/2017-08-30/png-read-20170830-git.tgz";
+      sha256 = "0vyczbcwskrygrf1hgrsnk0jil8skmvf1kiaalw5jps4fjrfdkw0";
+      system = "png-read";
+      asd = "png-read";
+    });
+    systems = [ "png-read" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "chipz" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  png-test = {
+    pname = "png-test";
+    version = "20211020-git";
+    asds = [ "png-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-png/2021-10-20/cl-png-20211020-git.tgz";
+      sha256 = "17xcb9ps5vf3if61blmx7cpfrz3gsw7jk8d5zv3f4cq8jrriqdx4";
+      system = "png-test";
+      asd = "png-test";
+    });
+    systems = [ "png-test" ];
+    lispLibs = [ (getAttr "png" pkgs) ];
+  };
+  pngload = {
+    pname = "pngload";
+    version = "20210411-git";
+    asds = [ "pngload" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pngload/2021-04-11/pngload-20210411-git.tgz";
+      sha256 = "00kgck2icpirq0xnba3j7hdh8k23qsggxp2f53dl4z5a1bv039xd";
+      system = "pngload";
+      asd = "pngload";
+    });
+    systems = [ "pngload" ];
+    lispLibs = [ (getAttr "_3bz" pkgs) (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "mmap" pkgs) (getAttr "parse-float" pkgs) (getAttr "static-vectors" pkgs) (getAttr "swap-bytes" pkgs) (getAttr "uiop" pkgs) (getAttr "zpb-exif" pkgs) ];
+  };
+  pngload_dot_test = {
+    pname = "pngload.test";
+    version = "20210411-git";
+    asds = [ "pngload.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pngload/2021-04-11/pngload-20210411-git.tgz";
+      sha256 = "00kgck2icpirq0xnba3j7hdh8k23qsggxp2f53dl4z5a1bv039xd";
+      system = "pngload.test";
+      asd = "pngload.test";
+    });
+    systems = [ "pngload.test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "local-time" pkgs) (getAttr "opticl" pkgs) (getAttr "png-read" pkgs) (getAttr "pngload" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  poler = {
+    pname = "poler";
+    version = "20181210-git";
+    asds = [ "poler" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/poler/2018-12-10/poler-20181210-git.tgz";
+      sha256 = "1lcyjxmz5vm5is1kgxqjvpkllywvbsj6wqx5v2ac0py5vqws1l8z";
+      system = "poler";
+      asd = "poler";
+    });
+    systems = [ "poler" ];
+    lispLibs = [  ];
+  };
+  poler-test = {
+    pname = "poler-test";
+    version = "20181210-git";
+    asds = [ "poler-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/poler/2018-12-10/poler-20181210-git.tgz";
+      sha256 = "1lcyjxmz5vm5is1kgxqjvpkllywvbsj6wqx5v2ac0py5vqws1l8z";
+      system = "poler-test";
+      asd = "poler-test";
+    });
+    systems = [ "poler-test" ];
+    lispLibs = [ (getAttr "poler" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  policy-cond = {
+    pname = "policy-cond";
+    version = "20200427-git";
+    asds = [ "policy-cond" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/policy-cond/2020-04-27/policy-cond-20200427-git.tgz";
+      sha256 = "0xj2a6lcg7i7g4038sc4f641din6m8vdiha8c5afz9fik80bshxk";
+      system = "policy-cond";
+      asd = "policy-cond";
+    });
+    systems = [ "policy-cond" ];
+    lispLibs = [  ];
+  };
+  polisher = {
+    pname = "polisher";
+    version = "20211230-git";
+    asds = [ "polisher" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/polisher/2021-12-30/polisher-20211230-git.tgz";
+      sha256 = "1i63kgk4vfisiyrfqdz0wc8ldvfh9jpkivsasgdhc97cad095ln0";
+      system = "polisher";
+      asd = "polisher";
+    });
+    systems = [ "polisher" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  polisher_dot_test = {
+    pname = "polisher.test";
+    version = "20211230-git";
+    asds = [ "polisher.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/polisher/2021-12-30/polisher-20211230-git.tgz";
+      sha256 = "1i63kgk4vfisiyrfqdz0wc8ldvfh9jpkivsasgdhc97cad095ln0";
+      system = "polisher.test";
+      asd = "polisher.test";
+    });
+    systems = [ "polisher.test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "polisher" pkgs) ];
+  };
+  polymorphic-functions = {
+    pname = "polymorphic-functions";
+    version = "20211230-git";
+    asds = [ "polymorphic-functions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/polymorphic-functions/2021-12-30/polymorphic-functions-20211230-git.tgz";
+      sha256 = "0mq0a8i77fa39qbdy6y0rm0j5hmh04fn4wnprxijgdxa33rli3l3";
+      system = "polymorphic-functions";
+      asd = "polymorphic-functions";
+    });
+    systems = [ "polymorphic-functions" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-form-types" pkgs) (getAttr "closer-mop" pkgs) (getAttr "compiler-macro-notes" pkgs) (getAttr "ctype" pkgs) (getAttr "fiveam" pkgs) (getAttr "introspect-environment" pkgs) ];
+  };
+  polymorphic-functions_slash_swank = {
+    pname = "polymorphic-functions_swank";
+    version = "20211230-git";
+    asds = [ "polymorphic-functions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/polymorphic-functions/2021-12-30/polymorphic-functions-20211230-git.tgz";
+      sha256 = "0mq0a8i77fa39qbdy6y0rm0j5hmh04fn4wnprxijgdxa33rli3l3";
+      system = "polymorphic-functions";
+      asd = "polymorphic-functions";
+    });
+    systems = [ "polymorphic-functions/swank" ];
+    lispLibs = [ (getAttr "polymorphic-functions" pkgs) (getAttr "swank" pkgs) ];
+  };
+  pooler = {
+    pname = "pooler";
+    version = "20150608-git";
+    asds = [ "pooler" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pooler/2015-06-08/pooler-20150608-git.tgz";
+      sha256 = "18vdl06cckk07m7r477qzcz24j3sid1agfa69fp91jna5aqi46kb";
+      system = "pooler";
+      asd = "pooler";
+    });
+    systems = [ "pooler" ];
+    lispLibs = [  ];
+  };
+  portable-condition-system = {
+    pname = "portable-condition-system";
+    version = "20210807-git";
+    asds = [ "portable-condition-system" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/portable-condition-system/2021-08-07/portable-condition-system-20210807-git.tgz";
+      sha256 = "099lb9f4bavj95wik99wla5rf6fk1gdw9pvn0cqlaf0wf20csd3h";
+      system = "portable-condition-system";
+      asd = "portable-condition-system";
+    });
+    systems = [ "portable-condition-system" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  portable-condition-system_dot_integration = {
+    pname = "portable-condition-system.integration";
+    version = "20210807-git";
+    asds = [ "portable-condition-system.integration" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/portable-condition-system/2021-08-07/portable-condition-system-20210807-git.tgz";
+      sha256 = "099lb9f4bavj95wik99wla5rf6fk1gdw9pvn0cqlaf0wf20csd3h";
+      system = "portable-condition-system.integration";
+      asd = "portable-condition-system.integration";
+    });
+    systems = [ "portable-condition-system.integration" ];
+    lispLibs = [ (getAttr "portable-condition-system" pkgs) (getAttr "trivial-custom-debugger" pkgs) ];
+  };
+  portable-condition-system_dot_integration_slash_test = {
+    pname = "portable-condition-system.integration_test";
+    version = "20210807-git";
+    asds = [ "portable-condition-system.integration" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/portable-condition-system/2021-08-07/portable-condition-system-20210807-git.tgz";
+      sha256 = "099lb9f4bavj95wik99wla5rf6fk1gdw9pvn0cqlaf0wf20csd3h";
+      system = "portable-condition-system.integration";
+      asd = "portable-condition-system.integration";
+    });
+    systems = [ "portable-condition-system.integration/test" ];
+    lispLibs = [ (getAttr "portable-condition-system_dot_integration" pkgs) ];
+  };
+  portable-condition-system_slash_test = {
+    pname = "portable-condition-system_test";
+    version = "20210807-git";
+    asds = [ "portable-condition-system" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/portable-condition-system/2021-08-07/portable-condition-system-20210807-git.tgz";
+      sha256 = "099lb9f4bavj95wik99wla5rf6fk1gdw9pvn0cqlaf0wf20csd3h";
+      system = "portable-condition-system";
+      asd = "portable-condition-system";
+    });
+    systems = [ "portable-condition-system/test" ];
+    lispLibs = [ (getAttr "portable-condition-system" pkgs) ];
+  };
+  portable-threads = {
+    pname = "portable-threads";
+    version = "20210531-git";
+    asds = [ "portable-threads" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/portable-threads/2021-05-31/portable-threads-20210531-git.tgz";
+      sha256 = "05y00mlvwlfas4jj50qas2v2rxa0hyc9834lpnbh61a3g8sz0d1f";
+      system = "portable-threads";
+      asd = "portable-threads";
+    });
+    systems = [ "portable-threads" ];
+    lispLibs = [  ];
+  };
+  portable-threads_slash_test = {
+    pname = "portable-threads_test";
+    version = "20210531-git";
+    asds = [ "portable-threads" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/portable-threads/2021-05-31/portable-threads-20210531-git.tgz";
+      sha256 = "05y00mlvwlfas4jj50qas2v2rxa0hyc9834lpnbh61a3g8sz0d1f";
+      system = "portable-threads";
+      asd = "portable-threads";
+    });
+    systems = [ "portable-threads/test" ];
+    lispLibs = [ (getAttr "portable-threads" pkgs) ];
+  };
+  portal = {
+    pname = "portal";
+    version = "20211209-git";
+    asds = [ "portal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/portal/2021-12-09/portal-20211209-git.tgz";
+      sha256 = "1012jc068qdd8df6mmbn8vmmqlniqm5j2jbyrraw3yz8c13c8280";
+      system = "portal";
+      asd = "portal";
+    });
+    systems = [ "portal" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "arrows" pkgs) (getAttr "cl-base64" pkgs) (getAttr "str" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "global-vars" pkgs) (getAttr "ironclad" pkgs) (getAttr "parse-float" pkgs) (getAttr "usocket-server" pkgs) ];
+  };
+  portmanteau = {
+    pname = "portmanteau";
+    version = "20181018-git";
+    asds = [ "portmanteau" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-portmanteau/2018-10-18/cl-portmanteau-20181018-git.tgz";
+      sha256 = "0430yixy722zkiljc6kh68hx2pyf2pbylgyp7n4qnnky86c0z0ip";
+      system = "portmanteau";
+      asd = "portmanteau";
+    });
+    systems = [ "portmanteau" ];
+    lispLibs = [ (getAttr "vom" pkgs) ];
+  };
+  portmanteau-tests = {
+    pname = "portmanteau-tests";
+    version = "20181018-git";
+    asds = [ "portmanteau-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-portmanteau/2018-10-18/cl-portmanteau-20181018-git.tgz";
+      sha256 = "0430yixy722zkiljc6kh68hx2pyf2pbylgyp7n4qnnky86c0z0ip";
+      system = "portmanteau-tests";
+      asd = "portmanteau-tests";
+    });
+    systems = [ "portmanteau-tests" ];
+    lispLibs = [ (getAttr "portmanteau" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  positional-lambda = {
+    pname = "positional-lambda";
+    version = "2.0";
+    asds = [ "positional-lambda" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/positional-lambda/2012-10-13/positional-lambda-2.0.tgz";
+      sha256 = "00jbr42czv7piza5sm5hmmls7xnhq1pnzl09j6c28xrknr61cj8r";
+      system = "positional-lambda";
+      asd = "positional-lambda";
+    });
+    systems = [ "positional-lambda" ];
+    lispLibs = [ (getAttr "map-bind" pkgs) ];
+  };
+  postmodern = {
+    pname = "postmodern";
+    version = "20211209-git";
+    asds = [ "postmodern" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/postmodern/2021-12-09/postmodern-20211209-git.tgz";
+      sha256 = "1d511fnl3iqxk4zvdzj6prc793q7agzm4v148pn5niv3ydcx1vvy";
+      system = "postmodern";
+      asd = "postmodern";
+    });
+    systems = [ "postmodern" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "closer-mop" pkgs) (getAttr "global-vars" pkgs) (getAttr "cl-postgres" pkgs) (getAttr "s-sql" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  postmodern-localtime = {
+    pname = "postmodern-localtime";
+    version = "20200610-git";
+    asds = [ "postmodern-localtime" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/postmodern-localtime/2020-06-10/postmodern-localtime-20200610-git.tgz";
+      sha256 = "0kiswbdr3vsl7xfs43h0w9c2s6fm6ammff6mpab6zba7rdmfg6d3";
+      system = "postmodern-localtime";
+      asd = "postmodern-localtime";
+    });
+    systems = [ "postmodern-localtime" ];
+    lispLibs = [ (getAttr "local-time" pkgs) (getAttr "cl-postgres" pkgs) (getAttr "postmodern" pkgs) ];
+  };
+  postmodern_slash_tests = {
+    pname = "postmodern_tests";
+    version = "20211209-git";
+    asds = [ "postmodern" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/postmodern/2021-12-09/postmodern-20211209-git.tgz";
+      sha256 = "1d511fnl3iqxk4zvdzj6prc793q7agzm4v148pn5niv3ydcx1vvy";
+      system = "postmodern";
+      asd = "postmodern";
+    });
+    systems = [ "postmodern/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "cl-postgres_plus_local-time" pkgs) (getAttr "local-time" pkgs) (getAttr "cl-postgres" pkgs) (getAttr "postmodern" pkgs) (getAttr "s-sql" pkgs) (getAttr "simple-date" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  postmodernity = {
+    pname = "postmodernity";
+    version = "20170124-git";
+    asds = [ "postmodernity" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/postmodernity/2017-01-24/postmodernity-20170124-git.tgz";
+      sha256 = "06mwlp79dgzsgfhgbhvqk4691nm52v3lqm99y72dm7pm4gmc2m9m";
+      system = "postmodernity";
+      asd = "postmodernity";
+    });
+    systems = [ "postmodernity" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "postmodern" pkgs) ];
+  };
+  postoffice = {
+    pname = "postoffice";
+    version = "20120909-git";
+    asds = [ "postoffice" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/postoffice/2012-09-09/postoffice-20120909-git.tgz";
+      sha256 = "041k8nc969xyjdmbn6348pra3v5jb1sw4mrnxmamv0flngyv12fg";
+      system = "postoffice";
+      asd = "postoffice";
+    });
+    systems = [ "postoffice" ];
+    lispLibs = [ (getAttr "acl-compat" pkgs) ];
+  };
+  pounds = {
+    pname = "pounds";
+    version = "20160208-git";
+    asds = [ "pounds" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pounds/2016-02-08/pounds-20160208-git.tgz";
+      sha256 = "17hz0ywzfirmlwkrd9zrbl07ihhm03zhzqrz3rkmh1j9v95sy2kl";
+      system = "pounds";
+      asd = "pounds";
+    });
+    systems = [ "pounds" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "nibbles" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  pp-toml = {
+    pname = "pp-toml";
+    version = "20211209-git";
+    asds = [ "pp-toml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pp-toml/2021-12-09/pp-toml-20211209-git.tgz";
+      sha256 = "0kh5xpbmih7rgh53hli2ybcxjl41q54z0ncxhiy4ycm4bv6yc9mi";
+      system = "pp-toml";
+      asd = "pp-toml";
+    });
+    systems = [ "pp-toml" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "esrap" pkgs) (getAttr "generic-comparability" pkgs) (getAttr "local-time" pkgs) (getAttr "parse-number" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  pp-toml-tests = {
+    pname = "pp-toml-tests";
+    version = "20211209-git";
+    asds = [ "pp-toml-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pp-toml/2021-12-09/pp-toml-20211209-git.tgz";
+      sha256 = "0kh5xpbmih7rgh53hli2ybcxjl41q54z0ncxhiy4ycm4bv6yc9mi";
+      system = "pp-toml-tests";
+      asd = "pp-toml-tests";
+    });
+    systems = [ "pp-toml-tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "esrap" pkgs) (getAttr "fiveam" pkgs) (getAttr "generic-comparability" pkgs) (getAttr "local-time" pkgs) (getAttr "parse-number" pkgs) (getAttr "pp-toml" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  ppath = {
+    pname = "ppath";
+    version = "20180711-git";
+    asds = [ "ppath" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ppath/2018-07-11/ppath-20180711-git.tgz";
+      sha256 = "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb";
+      system = "ppath";
+      asd = "ppath";
+    });
+    systems = [ "ppath" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "osicat" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-features" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  ppath-test = {
+    pname = "ppath-test";
+    version = "20180711-git";
+    asds = [ "ppath-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ppath/2018-07-11/ppath-20180711-git.tgz";
+      sha256 = "1c46q9lmzqv14z80d3fwdawgn3pn4922x31fyqvsvbcjm4hd16fb";
+      system = "ppath-test";
+      asd = "ppath-test";
+    });
+    systems = [ "ppath-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fad" pkgs) (getAttr "ppath" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  practical-cl = {
+    pname = "practical-cl";
+    version = "20180430-git";
+    asds = [ "practical-cl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/practical-cl/2018-04-30/practical-cl-20180430-git.tgz";
+      sha256 = "0bjwnnxkqw0cf2p1fyx9ihy6hgsxhljm4bns2blvgv63s3j1znd9";
+      system = "practical-cl";
+      asd = "practical-cl";
+    });
+    systems = [ "practical-cl" ];
+    lispLibs = [ (getAttr "pcl-binary-data" pkgs) (getAttr "pcl-html" pkgs) (getAttr "pcl-id3v2" pkgs) (getAttr "pcl-macro-utilities" pkgs) (getAttr "pcl-mp3-browser" pkgs) (getAttr "pcl-mp3-database" pkgs) (getAttr "pcl-pathnames" pkgs) (getAttr "pcl-shoutcast" pkgs) (getAttr "pcl-simple-database" pkgs) (getAttr "pcl-spam" pkgs) (getAttr "pcl-test-framework" pkgs) (getAttr "pcl-url-function" pkgs) ];
+  };
+  prbs = {
+    pname = "prbs";
+    version = "20180228-git";
+    asds = [ "prbs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prbs/2018-02-28/prbs-20180228-git.tgz";
+      sha256 = "0qbvbmxa66b367z9px4nyxqb21b9w2hr82rw7hfq5aynmwfk3fzi";
+      system = "prbs";
+      asd = "prbs";
+    });
+    systems = [ "prbs" ];
+    lispLibs = [  ];
+  };
+  prbs-docs = {
+    pname = "prbs-docs";
+    version = "20180228-git";
+    asds = [ "prbs-docs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prbs/2018-02-28/prbs-20180228-git.tgz";
+      sha256 = "0qbvbmxa66b367z9px4nyxqb21b9w2hr82rw7hfq5aynmwfk3fzi";
+      system = "prbs-docs";
+      asd = "prbs-docs";
+    });
+    systems = [ "prbs-docs" ];
+    lispLibs = [ (getAttr "cl-gendoc" pkgs) (getAttr "prbs" pkgs) ];
+  };
+  pretty-function = {
+    pname = "pretty-function";
+    version = "20130615-git";
+    asds = [ "pretty-function" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pretty-function/2013-06-15/pretty-function-20130615-git.tgz";
+      sha256 = "1hzfjwsp6r5nki6h8kry8k2bgj19mrp0jbq7jhsz3kz6y4ll0hb5";
+      system = "pretty-function";
+      asd = "pretty-function";
+    });
+    systems = [ "pretty-function" ];
+    lispLibs = [  ];
+  };
+  primecount = {
+    pname = "primecount";
+    version = "20200325-git";
+    asds = [ "primecount" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/primecount/2020-03-25/primecount-20200325-git.tgz";
+      sha256 = "1fw855qp82b887azww7z3yhd2zafaxjnzyff1ldf2wa6mb4f0dj8";
+      system = "primecount";
+      asd = "primecount";
+    });
+    systems = [ "primecount" ];
+    lispLibs = [  ];
+  };
+  print-html = {
+    pname = "print-html";
+    version = "20181018-git";
+    asds = [ "print-html" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/print-html/2018-10-18/print-html-20181018-git.tgz";
+      sha256 = "1ihr2yy6fvli3awrkfn4v8pm41wab5wsj30v84rr75v4p5irqmz8";
+      system = "print-html";
+      asd = "print-html";
+    });
+    systems = [ "print-html" ];
+    lispLibs = [  ];
+  };
+  print-licenses = {
+    pname = "print-licenses";
+    version = "20181018-git";
+    asds = [ "print-licenses" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/print-licenses/2018-10-18/print-licenses-20181018-git.tgz";
+      sha256 = "104d8dzb0015z83nl5gb2sirhrfbxsmc9jcgv4f6s7j42fsljm0q";
+      system = "print-licenses";
+      asd = "print-licenses";
+    });
+    systems = [ "print-licenses" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  printv = {
+    pname = "printv";
+    version = "20211230-git";
+    asds = [ "printv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/printv/2021-12-30/printv-20211230-git.tgz";
+      sha256 = "07agyzkwp3w2r4d2anrmr8h00yngpr5dq9mjd3m4kzhn1jcmilfb";
+      system = "printv";
+      asd = "printv";
+    });
+    systems = [ "printv" ];
+    lispLibs = [  ];
+  };
+  priority-queue = {
+    pname = "priority-queue";
+    version = "20150709-git";
+    asds = [ "priority-queue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/priority-queue/2015-07-09/priority-queue-20150709-git.tgz";
+      sha256 = "0y5a1fid8xzzl58hfdj64n8mrzq0kr06a0lnmdjpgi0czc3x0jcy";
+      system = "priority-queue";
+      asd = "priority-queue";
+    });
+    systems = [ "priority-queue" ];
+    lispLibs = [  ];
+  };
+  priority-queue-benchmark = {
+    pname = "priority-queue-benchmark";
+    version = "20210531-git";
+    asds = [ "priority-queue-benchmark" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/damn-fast-priority-queue/2021-05-31/damn-fast-priority-queue-20210531-git.tgz";
+      sha256 = "1zcgswjh5crr02l8mdkl20kaxpa8biny8n9ggz1nx69qfgbrs1xd";
+      system = "priority-queue-benchmark";
+      asd = "priority-queue-benchmark";
+    });
+    systems = [ "priority-queue-benchmark" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bodge-heap" pkgs) (getAttr "cl-heap" pkgs) (getAttr "damn-fast-priority-queue" pkgs) (getAttr "damn-fast-stable-priority-queue" pkgs) (getAttr "heap" pkgs) (getAttr "minheap" pkgs) (getAttr "pettomato-indexed-priority-queue" pkgs) (getAttr "pileup" pkgs) (getAttr "priority-queue" pkgs) (getAttr "queues_dot_priority-queue" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  proc-parse = {
+    pname = "proc-parse";
+    version = "20190813-git";
+    asds = [ "proc-parse" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/proc-parse/2019-08-13/proc-parse-20190813-git.tgz";
+      sha256 = "07vbj26bfq4ywlcmamsqyac29rsdsa8lamjqx1ycla1bcvgmi4w2";
+      system = "proc-parse";
+      asd = "proc-parse";
+    });
+    systems = [ "proc-parse" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) ];
+  };
+  proc-parse-test = {
+    pname = "proc-parse-test";
+    version = "20190813-git";
+    asds = [ "proc-parse-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/proc-parse/2019-08-13/proc-parse-20190813-git.tgz";
+      sha256 = "07vbj26bfq4ywlcmamsqyac29rsdsa8lamjqx1ycla1bcvgmi4w2";
+      system = "proc-parse-test";
+      asd = "proc-parse-test";
+    });
+    systems = [ "proc-parse-test" ];
+    lispLibs = [ (getAttr "proc-parse" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  projectured_dot_document = {
+    pname = "projectured.document";
+    version = "quicklisp-c3a60e76-git";
+    asds = [ "projectured.document" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz";
+      sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn";
+      system = "projectured.document";
+      asd = "projectured.document";
+    });
+    systems = [ "projectured.document" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "parse-number" pkgs) (getAttr "projectured_dot_editor" pkgs) (getAttr "s-xml" pkgs) ];
+  };
+  projectured_dot_editor = {
+    pname = "projectured.editor";
+    version = "quicklisp-c3a60e76-git";
+    asds = [ "projectured.editor" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz";
+      sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn";
+      system = "projectured.editor";
+      asd = "projectured.editor";
+    });
+    systems = [ "projectured.editor" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_common" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "hu_dot_dwim_dot_defclass-star" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_serializer" pkgs) (getAttr "hu_dot_dwim_dot_syntax-sugar" pkgs) (getAttr "hu_dot_dwim_dot_util" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  projectured_dot_executable = {
+    pname = "projectured.executable";
+    version = "quicklisp-c3a60e76-git";
+    asds = [ "projectured.executable" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz";
+      sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn";
+      system = "projectured.executable";
+      asd = "projectured.executable";
+    });
+    systems = [ "projectured.executable" ];
+    lispLibs = [ (getAttr "command-line-arguments" pkgs) (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "projectured_dot_sdl" pkgs) ];
+  };
+  projectured_dot_projection = {
+    pname = "projectured.projection";
+    version = "quicklisp-c3a60e76-git";
+    asds = [ "projectured.projection" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz";
+      sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn";
+      system = "projectured.projection";
+      asd = "projectured.projection";
+    });
+    systems = [ "projectured.projection" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "projectured_dot_document" pkgs) (getAttr "projectured_dot_editor" pkgs) ];
+  };
+  projectured_dot_sdl = {
+    pname = "projectured.sdl";
+    version = "quicklisp-c3a60e76-git";
+    asds = [ "projectured.sdl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz";
+      sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn";
+      system = "projectured.sdl";
+      asd = "projectured.sdl";
+    });
+    systems = [ "projectured.sdl" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_sdl" pkgs) (getAttr "projectured_dot_document" pkgs) (getAttr "projectured_dot_editor" pkgs) (getAttr "projectured_dot_projection" pkgs) ];
+  };
+  projectured_dot_sdl_dot_test = {
+    pname = "projectured.sdl.test";
+    version = "quicklisp-c3a60e76-git";
+    asds = [ "projectured.sdl.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz";
+      sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn";
+      system = "projectured.sdl.test";
+      asd = "projectured.sdl.test";
+    });
+    systems = [ "projectured.sdl.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "projectured_dot_sdl" pkgs) (getAttr "projectured_dot_test" pkgs) ];
+  };
+  projectured_dot_swank = {
+    pname = "projectured.swank";
+    version = "quicklisp-c3a60e76-git";
+    asds = [ "projectured.swank" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz";
+      sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn";
+      system = "projectured.swank";
+      asd = "projectured.swank";
+    });
+    systems = [ "projectured.swank" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "projectured_dot_editor" pkgs) (getAttr "swank" pkgs) ];
+  };
+  projectured_dot_test = {
+    pname = "projectured.test";
+    version = "quicklisp-c3a60e76-git";
+    asds = [ "projectured.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/projectured/2017-12-27/projectured-quicklisp-c3a60e76-git.tgz";
+      sha256 = "1gbsqaw571xgh2glg4386545b5sqjgbaiqa3x4j1gr70kirbzydn";
+      system = "projectured.test";
+      asd = "projectured.test";
+    });
+    systems = [ "projectured.test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_asdf" pkgs) (getAttr "hu_dot_dwim_dot_logger" pkgs) (getAttr "hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank" pkgs) (getAttr "projectured_dot_document" pkgs) (getAttr "projectured_dot_editor" pkgs) (getAttr "projectured_dot_projection" pkgs) (getAttr "projectured_dot_swank" pkgs) ];
+  };
+  prometheus = {
+    pname = "prometheus";
+    version = "20201220-git";
+    asds = [ "prometheus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus";
+      asd = "prometheus";
+    });
+    systems = [ "prometheus" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "local-time" pkgs) (getAttr "quantile-estimator" pkgs) ];
+  };
+  prometheus_dot_collectors_dot_process = {
+    pname = "prometheus.collectors.process";
+    version = "20201220-git";
+    asds = [ "prometheus.collectors.process" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus.collectors.process";
+      asd = "prometheus.collectors.process";
+    });
+    systems = [ "prometheus.collectors.process" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cl-fad" pkgs) (getAttr "prometheus" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  prometheus_dot_collectors_dot_process_dot_test = {
+    pname = "prometheus.collectors.process.test";
+    version = "20201220-git";
+    asds = [ "prometheus.collectors.process.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus.collectors.process.test";
+      asd = "prometheus.collectors.process.test";
+    });
+    systems = [ "prometheus.collectors.process.test" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "log4cl" pkgs) (getAttr "mw-equiv" pkgs) (getAttr "prometheus_dot_collectors_dot_process" pkgs) (getAttr "prometheus_dot_test_dot_support" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  prometheus_dot_collectors_dot_sbcl = {
+    pname = "prometheus.collectors.sbcl";
+    version = "20201220-git";
+    asds = [ "prometheus.collectors.sbcl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus.collectors.sbcl";
+      asd = "prometheus.collectors.sbcl";
+    });
+    systems = [ "prometheus.collectors.sbcl" ];
+    lispLibs = [ (getAttr "prometheus" pkgs) ];
+  };
+  prometheus_dot_collectors_dot_sbcl_dot_test = {
+    pname = "prometheus.collectors.sbcl.test";
+    version = "20201220-git";
+    asds = [ "prometheus.collectors.sbcl.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus.collectors.sbcl.test";
+      asd = "prometheus.collectors.sbcl.test";
+    });
+    systems = [ "prometheus.collectors.sbcl.test" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "log4cl" pkgs) (getAttr "mw-equiv" pkgs) (getAttr "prometheus_dot_collectors_dot_sbcl" pkgs) (getAttr "prometheus_dot_test_dot_support" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  prometheus_dot_examples = {
+    pname = "prometheus.examples";
+    version = "20201220-git";
+    asds = [ "prometheus.examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus.examples";
+      asd = "prometheus.examples";
+    });
+    systems = [ "prometheus.examples" ];
+    lispLibs = [ (getAttr "prometheus" pkgs) (getAttr "prometheus_dot_collectors_dot_process" pkgs) (getAttr "prometheus_dot_collectors_dot_sbcl" pkgs) (getAttr "prometheus_dot_exposers_dot_hunchentoot" pkgs) (getAttr "prometheus_dot_formats_dot_text" pkgs) ];
+  };
+  prometheus_dot_exposers_dot_hunchentoot = {
+    pname = "prometheus.exposers.hunchentoot";
+    version = "20201220-git";
+    asds = [ "prometheus.exposers.hunchentoot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus.exposers.hunchentoot";
+      asd = "prometheus.exposers.hunchentoot";
+    });
+    systems = [ "prometheus.exposers.hunchentoot" ];
+    lispLibs = [ (getAttr "hunchentoot" pkgs) (getAttr "prometheus" pkgs) (getAttr "prometheus_dot_formats_dot_text" pkgs) (getAttr "salza2" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  prometheus_dot_exposers_dot_hunchentoot_dot_test = {
+    pname = "prometheus.exposers.hunchentoot.test";
+    version = "20201220-git";
+    asds = [ "prometheus.exposers.hunchentoot.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus.exposers.hunchentoot.test";
+      asd = "prometheus.exposers.hunchentoot.test";
+    });
+    systems = [ "prometheus.exposers.hunchentoot.test" ];
+    lispLibs = [ (getAttr "chipz" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "drakma" pkgs) (getAttr "log4cl" pkgs) (getAttr "mw-equiv" pkgs) (getAttr "prometheus_dot_exposers_dot_hunchentoot" pkgs) (getAttr "prometheus_dot_formats_dot_text" pkgs) (getAttr "prometheus_dot_test_dot_support" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  prometheus_dot_formats_dot_text = {
+    pname = "prometheus.formats.text";
+    version = "20201220-git";
+    asds = [ "prometheus.formats.text" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus.formats.text";
+      asd = "prometheus.formats.text";
+    });
+    systems = [ "prometheus.formats.text" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "prometheus" pkgs) ];
+  };
+  prometheus_dot_formats_dot_text_dot_test = {
+    pname = "prometheus.formats.text.test";
+    version = "20201220-git";
+    asds = [ "prometheus.formats.text.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus.formats.text.test";
+      asd = "prometheus.formats.text.test";
+    });
+    systems = [ "prometheus.formats.text.test" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "log4cl" pkgs) (getAttr "mw-equiv" pkgs) (getAttr "prometheus_dot_formats_dot_text" pkgs) (getAttr "prometheus_dot_test_dot_support" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  prometheus_dot_pushgateway = {
+    pname = "prometheus.pushgateway";
+    version = "20201220-git";
+    asds = [ "prometheus.pushgateway" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus.pushgateway";
+      asd = "prometheus.pushgateway";
+    });
+    systems = [ "prometheus.pushgateway" ];
+    lispLibs = [ (getAttr "drakma" pkgs) (getAttr "prometheus" pkgs) (getAttr "prometheus_dot_formats_dot_text" pkgs) ];
+  };
+  prometheus_dot_pushgateway_dot_test = {
+    pname = "prometheus.pushgateway.test";
+    version = "20201220-git";
+    asds = [ "prometheus.pushgateway.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus.pushgateway.test";
+      asd = "prometheus.pushgateway.test";
+    });
+    systems = [ "prometheus.pushgateway.test" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "log4cl" pkgs) (getAttr "mw-equiv" pkgs) (getAttr "prometheus_dot_pushgateway" pkgs) (getAttr "prometheus_dot_test_dot_support" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  prometheus_dot_test = {
+    pname = "prometheus.test";
+    version = "20201220-git";
+    asds = [ "prometheus.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus.test";
+      asd = "prometheus.test";
+    });
+    systems = [ "prometheus.test" ];
+    lispLibs = [ (getAttr "cl-interpol" pkgs) (getAttr "log4cl" pkgs) (getAttr "mw-equiv" pkgs) (getAttr "prometheus" pkgs) (getAttr "prometheus_dot_test_dot_support" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  prometheus_dot_test_dot_all = {
+    pname = "prometheus.test.all";
+    version = "20201220-git";
+    asds = [ "prometheus.test.all" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus.test.all";
+      asd = "prometheus.test.all";
+    });
+    systems = [ "prometheus.test.all" ];
+    lispLibs = [ (getAttr "cl-coveralls" pkgs) (getAttr "prometheus_dot_collectors_dot_process_dot_test" pkgs) (getAttr "prometheus_dot_collectors_dot_sbcl_dot_test" pkgs) (getAttr "prometheus_dot_exposers_dot_hunchentoot_dot_test" pkgs) (getAttr "prometheus_dot_formats_dot_text_dot_test" pkgs) (getAttr "prometheus_dot_pushgateway_dot_test" pkgs) (getAttr "prometheus_dot_test" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  prometheus_dot_test_dot_support = {
+    pname = "prometheus.test.support";
+    version = "20201220-git";
+    asds = [ "prometheus.test.support" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prometheus.cl/2020-12-20/prometheus.cl-20201220-git.tgz";
+      sha256 = "15ab4c7yfm83nmfvaq5kbsqrgx558k292szm9frfda7nlycfnmyp";
+      system = "prometheus.test.support";
+      asd = "prometheus.test.support";
+    });
+    systems = [ "prometheus.test.support" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "prometheus" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  promise = {
+    pname = "promise";
+    version = "20211230-git";
+    asds = [ "promise" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/promise/2021-12-30/promise-20211230-git.tgz";
+      sha256 = "1wzp4pda8nddvnh1isnr8z0q3czjghy0dhhd15690ph69jyjb22s";
+      system = "promise";
+      asd = "promise";
+    });
+    systems = [ "promise" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  promise-test = {
+    pname = "promise-test";
+    version = "20211230-git";
+    asds = [ "promise-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/promise/2021-12-30/promise-20211230-git.tgz";
+      sha256 = "1wzp4pda8nddvnh1isnr8z0q3czjghy0dhhd15690ph69jyjb22s";
+      system = "promise-test";
+      asd = "promise-test";
+    });
+    systems = [ "promise-test" ];
+    lispLibs = [ (getAttr "parachute" pkgs) (getAttr "promise" pkgs) ];
+  };
+  prompt-for = {
+    pname = "prompt-for";
+    version = "20211020-git";
+    asds = [ "prompt-for" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prompt-for/2021-10-20/prompt-for-20211020-git.tgz";
+      sha256 = "0ljrd9vafabcs4f6jmfyjpnl42zfys32q039cf2naqs5hqz5yify";
+      system = "prompt-for";
+      asd = "prompt-for";
+    });
+    systems = [ "prompt-for" ];
+    lispLibs = [  ];
+  };
+  prompt-for_dot_test = {
+    pname = "prompt-for.test";
+    version = "20211020-git";
+    asds = [ "prompt-for.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prompt-for/2021-10-20/prompt-for-20211020-git.tgz";
+      sha256 = "0ljrd9vafabcs4f6jmfyjpnl42zfys32q039cf2naqs5hqz5yify";
+      system = "prompt-for.test";
+      asd = "prompt-for.test";
+    });
+    systems = [ "prompt-for.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "prompt-for" pkgs) ];
+  };
+  protest = {
+    pname = "protest";
+    version = "20201220-git";
+    asds = [ "protest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz";
+      sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h";
+      system = "protest";
+      asd = "protest";
+    });
+    systems = [ "protest" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "moptilities" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  protest_slash_1am = {
+    pname = "protest_1am";
+    version = "20201220-git";
+    asds = [ "protest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz";
+      sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h";
+      system = "protest";
+      asd = "protest";
+    });
+    systems = [ "protest/1am" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "named-readtables" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  protest_slash_base = {
+    pname = "protest_base";
+    version = "20201220-git";
+    asds = [ "protest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz";
+      sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h";
+      system = "protest";
+      asd = "protest";
+    });
+    systems = [ "protest/base" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  protest_slash_common = {
+    pname = "protest_common";
+    version = "20201220-git";
+    asds = [ "protest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz";
+      sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h";
+      system = "protest";
+      asd = "protest";
+    });
+    systems = [ "protest/common" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "moptilities" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  protest_slash_common_slash_addressed = {
+    pname = "protest_common_addressed";
+    version = "20201220-git";
+    asds = [ "protest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz";
+      sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h";
+      system = "protest";
+      asd = "protest";
+    });
+    systems = [ "protest/common/addressed" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "moptilities" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  protest_slash_common_slash_date = {
+    pname = "protest_common_date";
+    version = "20201220-git";
+    asds = [ "protest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz";
+      sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h";
+      system = "protest";
+      asd = "protest";
+    });
+    systems = [ "protest/common/date" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "moptilities" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  protest_slash_common_slash_handling = {
+    pname = "protest_common_handling";
+    version = "20201220-git";
+    asds = [ "protest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz";
+      sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h";
+      system = "protest";
+      asd = "protest";
+    });
+    systems = [ "protest/common/handling" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "moptilities" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  protest_slash_common_slash_killable = {
+    pname = "protest_common_killable";
+    version = "20201220-git";
+    asds = [ "protest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz";
+      sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h";
+      system = "protest";
+      asd = "protest";
+    });
+    systems = [ "protest/common/killable" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "moptilities" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  protest_slash_common_slash_named = {
+    pname = "protest_common_named";
+    version = "20201220-git";
+    asds = [ "protest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz";
+      sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h";
+      system = "protest";
+      asd = "protest";
+    });
+    systems = [ "protest/common/named" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "moptilities" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  protest_slash_ftype = {
+    pname = "protest_ftype";
+    version = "20201220-git";
+    asds = [ "protest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz";
+      sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h";
+      system = "protest";
+      asd = "protest";
+    });
+    systems = [ "protest/ftype" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  protest_slash_parachute = {
+    pname = "protest_parachute";
+    version = "20201220-git";
+    asds = [ "protest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz";
+      sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h";
+      system = "protest";
+      asd = "protest";
+    });
+    systems = [ "protest/parachute" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "named-readtables" pkgs) (getAttr "parachute" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  protest_slash_protocol = {
+    pname = "protest_protocol";
+    version = "20201220-git";
+    asds = [ "protest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz";
+      sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h";
+      system = "protest";
+      asd = "protest";
+    });
+    systems = [ "protest/protocol" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "moptilities" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  protest_slash_test = {
+    pname = "protest_test";
+    version = "20201220-git";
+    asds = [ "protest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz";
+      sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h";
+      system = "protest";
+      asd = "protest";
+    });
+    systems = [ "protest/test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "named-readtables" pkgs) (getAttr "protest" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  protest_slash_test-case = {
+    pname = "protest_test-case";
+    version = "20201220-git";
+    asds = [ "protest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protest/2020-12-20/protest-20201220-git.tgz";
+      sha256 = "0q7vk7ji4mjd0xfp18sim5daqzgb3k7mmbm93vvwz18bdwy6cj9h";
+      system = "protest";
+      asd = "protest";
+    });
+    systems = [ "protest/test-case" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  proto = {
+    pname = "proto";
+    version = "quicklisp-dd18337d-git";
+    asds = [ "proto" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gtirb/2021-10-20/gtirb-quicklisp-dd18337d-git.tgz";
+      sha256 = "0dpchsshnlh3jb9rg1zdf63mr5l33vhjdxgxx2vqg0nh1sh41zn1";
+      system = "proto";
+      asd = "gtirb";
+    });
+    systems = [ "proto" ];
+    lispLibs = [ (getAttr "protobuf" pkgs) ];
+  };
+  proto-v0 = {
+    pname = "proto-v0";
+    version = "quicklisp-dd18337d-git";
+    asds = [ "proto-v0" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gtirb/2021-10-20/gtirb-quicklisp-dd18337d-git.tgz";
+      sha256 = "0dpchsshnlh3jb9rg1zdf63mr5l33vhjdxgxx2vqg0nh1sh41zn1";
+      system = "proto-v0";
+      asd = "gtirb";
+    });
+    systems = [ "proto-v0" ];
+    lispLibs = [ (getAttr "protobuf" pkgs) ];
+  };
+  protobuf = {
+    pname = "protobuf";
+    version = "20201220-git";
+    asds = [ "protobuf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protobuf/2020-12-20/protobuf-20201220-git.tgz";
+      sha256 = "1jdd0pkpc410am902xmpn5hmb8zvqzfwvvj7qci11qj2hds698rd";
+      system = "protobuf";
+      asd = "protobuf";
+    });
+    systems = [ "protobuf" ];
+    lispLibs = [ (getAttr "com_dot_google_dot_base" pkgs) (getAttr "varint" pkgs) ];
+  };
+  prove = {
+    pname = "prove";
+    version = "20200218-git";
+    asds = [ "prove" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prove/2020-02-18/prove-20200218-git.tgz";
+      sha256 = "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc";
+      system = "prove";
+      asd = "prove";
+    });
+    systems = [ "prove" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ansi-text" pkgs) (getAttr "cl-colors" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  prove-asdf = {
+    pname = "prove-asdf";
+    version = "20200218-git";
+    asds = [ "prove-asdf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prove/2020-02-18/prove-20200218-git.tgz";
+      sha256 = "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc";
+      system = "prove-asdf";
+      asd = "prove-asdf";
+    });
+    systems = [ "prove-asdf" ];
+    lispLibs = [  ];
+  };
+  prove-test = {
+    pname = "prove-test";
+    version = "20200218-git";
+    asds = [ "prove-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/prove/2020-02-18/prove-20200218-git.tgz";
+      sha256 = "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc";
+      system = "prove-test";
+      asd = "prove-test";
+    });
+    systems = [ "prove-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  pseudonyms = {
+    pname = "pseudonyms";
+    version = "20200325-git";
+    asds = [ "pseudonyms" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pseudonyms/2020-03-25/pseudonyms-20200325-git.tgz";
+      sha256 = "0ph7l130hr8gz88gw8i15zbsbq96519srfhzgm6zzkw85vab1ysn";
+      system = "pseudonyms";
+      asd = "pseudonyms";
+    });
+    systems = [ "pseudonyms" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  psgraph = {
+    pname = "psgraph";
+    version = "1.2";
+    asds = [ "psgraph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/psgraph/2010-10-06/psgraph-1.2.tgz";
+      sha256 = "19x1lvzfj2c2h83y5bng6jsp2300qfvd25mmf157qiss15al22vs";
+      system = "psgraph";
+      asd = "psgraph";
+    });
+    systems = [ "psgraph" ];
+    lispLibs = [  ];
+  };
+  psychiq = {
+    pname = "psychiq";
+    version = "20200925-git";
+    asds = [ "psychiq" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/psychiq/2020-09-25/psychiq-20200925-git.tgz";
+      sha256 = "1g8m0nglhqn5zf79hcdx3kafa0y9h3f4yqvjn7diddimqckf0fw6";
+      system = "psychiq";
+      asd = "psychiq";
+    });
+    systems = [ "psychiq" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-redis" pkgs) (getAttr "cl-reexport" pkgs) (getAttr "dissect" pkgs) (getAttr "jonathan" pkgs) (getAttr "local-time" pkgs) (getAttr "uiop" pkgs) (getAttr "vom" pkgs) ];
+  };
+  psychiq-test = {
+    pname = "psychiq-test";
+    version = "20200925-git";
+    asds = [ "psychiq-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/psychiq/2020-09-25/psychiq-20200925-git.tgz";
+      sha256 = "1g8m0nglhqn5zf79hcdx3kafa0y9h3f4yqvjn7diddimqckf0fw6";
+      system = "psychiq-test";
+      asd = "psychiq-test";
+    });
+    systems = [ "psychiq-test" ];
+    lispLibs = [ (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "psychiq" pkgs) ];
+  };
+  ptester = {
+    pname = "ptester";
+    version = "20160929-git";
+    asds = [ "ptester" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ptester/2016-09-29/ptester-20160929-git.tgz";
+      sha256 = "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf";
+      system = "ptester";
+      asd = "ptester";
+    });
+    systems = [ "ptester" ];
+    lispLibs = [  ];
+  };
+  purgatory = {
+    pname = "purgatory";
+    version = "20211230-git";
+    asds = [ "purgatory" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/purgatory/2021-12-30/purgatory-20211230-git.tgz";
+      sha256 = "05yb6i0shik36axwwwhn2g97fd7vqccka3xs6l08v68xzhjy8qp0";
+      system = "purgatory";
+      asd = "purgatory";
+    });
+    systems = [ "purgatory" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "uiop" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  purgatory-tests = {
+    pname = "purgatory-tests";
+    version = "20211230-git";
+    asds = [ "purgatory-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/purgatory/2021-12-30/purgatory-20211230-git.tgz";
+      sha256 = "05yb6i0shik36axwwwhn2g97fd7vqccka3xs6l08v68xzhjy8qp0";
+      system = "purgatory-tests";
+      asd = "purgatory-tests";
+    });
+    systems = [ "purgatory-tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl_plus_ssl" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "clunit2" pkgs) (getAttr "purgatory" pkgs) (getAttr "uiop" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  puri = {
+    pname = "puri";
+    version = "20201016-git";
+    asds = [ "puri" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/puri/2020-10-16/puri-20201016-git.tgz";
+      sha256 = "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd";
+      system = "puri";
+      asd = "puri";
+    });
+    systems = [ "puri" ];
+    lispLibs = [  ];
+  };
+  puri_slash_test = {
+    pname = "puri_test";
+    version = "20201016-git";
+    asds = [ "puri" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/puri/2020-10-16/puri-20201016-git.tgz";
+      sha256 = "0gq2rsr0aihs0z20v4zqvmdl4szq53b52rh97pvnmwrlbn4mapmd";
+      system = "puri";
+      asd = "puri";
+    });
+    systems = [ "puri/test" ];
+    lispLibs = [ (getAttr "ptester" pkgs) (getAttr "puri" pkgs) ];
+  };
+  purl = {
+    pname = "purl";
+    version = "20160929-git";
+    asds = [ "purl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/purl/2016-09-29/purl-20160929-git.tgz";
+      sha256 = "1fw3ip4b7n3q6kimh683apg381p7y4w6s4mb8mmv9n3dw0p0sdww";
+      system = "purl";
+      asd = "purl";
+    });
+    systems = [ "purl" ];
+    lispLibs = [ (getAttr "maxpc" pkgs) (getAttr "percent-encoding" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  pvars = {
+    pname = "pvars";
+    version = "20210228-git";
+    asds = [ "pvars" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pvars/2021-02-28/pvars-20210228-git.tgz";
+      sha256 = "1x9mmz53sj0mgd288pa65x963mrd27sw47a8vbggsc4ykwacqf1d";
+      system = "pvars";
+      asd = "pvars";
+    });
+    systems = [ "pvars" ];
+    lispLibs = [ (getAttr "cl-store" pkgs) (getAttr "global-vars" pkgs) ];
+  };
+  py-configparser = {
+    pname = "py-configparser";
+    version = "20170830-svn";
+    asds = [ "py-configparser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/py-configparser/2017-08-30/py-configparser-20170830-svn.tgz";
+      sha256 = "1mpzhrys1b1mp1kp2xvryl6v01gfqfccb1zdiib49nf4bms4irvw";
+      system = "py-configparser";
+      asd = "py-configparser";
+    });
+    systems = [ "py-configparser" ];
+    lispLibs = [ (getAttr "parse-number" pkgs) ];
+  };
+  py4cl = {
+    pname = "py4cl";
+    version = "20210228-git";
+    asds = [ "py4cl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/py4cl/2021-02-28/py4cl-20210228-git.tgz";
+      sha256 = "0g86bcixy4krw0fjn542di7kbhr2hmlmv422h1rkxby18pvz23m7";
+      system = "py4cl";
+      asd = "py4cl";
+    });
+    systems = [ "py4cl" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "numpy-file-format" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  py4cl2 = {
+    pname = "py4cl2";
+    version = "v2.9.0";
+    asds = [ "py4cl2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/py4cl2/2021-12-09/py4cl2-v2.9.0.tgz";
+      sha256 = "00f1nyvjy43fcx5gxbhx0ya0srq8r0g3gqxrqhk4605kqchqfz7s";
+      system = "py4cl2";
+      asd = "py4cl2";
+    });
+    systems = [ "py4cl2" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-json" pkgs) (getAttr "iterate" pkgs) (getAttr "numpy-file-format" pkgs) (getAttr "parse-number" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  pythonic-string-reader = {
+    pname = "pythonic-string-reader";
+    version = "20180711-git";
+    asds = [ "pythonic-string-reader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pythonic-string-reader/2018-07-11/pythonic-string-reader-20180711-git.tgz";
+      sha256 = "1b5iryqw8xsh36swckmz8rrngmc39k92si33fgy5pml3n9l5rq3j";
+      system = "pythonic-string-reader";
+      asd = "pythonic-string-reader";
+    });
+    systems = [ "pythonic-string-reader" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  pzmq = {
+    pname = "pzmq";
+    version = "20210531-git";
+    asds = [ "pzmq" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pzmq/2021-05-31/pzmq-20210531-git.tgz";
+      sha256 = "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05";
+      system = "pzmq";
+      asd = "pzmq";
+    });
+    systems = [ "pzmq" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  pzmq-compat = {
+    pname = "pzmq-compat";
+    version = "20210531-git";
+    asds = [ "pzmq-compat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pzmq/2021-05-31/pzmq-20210531-git.tgz";
+      sha256 = "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05";
+      system = "pzmq-compat";
+      asd = "pzmq";
+    });
+    systems = [ "pzmq-compat" ];
+    lispLibs = [ (getAttr "pzmq" pkgs) ];
+  };
+  pzmq-examples = {
+    pname = "pzmq-examples";
+    version = "20210531-git";
+    asds = [ "pzmq-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pzmq/2021-05-31/pzmq-20210531-git.tgz";
+      sha256 = "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05";
+      system = "pzmq-examples";
+      asd = "pzmq";
+    });
+    systems = [ "pzmq-examples" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "iterate" pkgs) (getAttr "local-time" pkgs) (getAttr "pzmq" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  pzmq-test = {
+    pname = "pzmq-test";
+    version = "20210531-git";
+    asds = [ "pzmq-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/pzmq/2021-05-31/pzmq-20210531-git.tgz";
+      sha256 = "19mdhxhzzghlmff1fic4chg5iz0psglkim09z6dgpijm26biny05";
+      system = "pzmq-test";
+      asd = "pzmq";
+    });
+    systems = [ "pzmq-test" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) (getAttr "pzmq" pkgs) ];
+  };
+  q_plus = {
+    pname = "q+";
+    version = "20200427-git";
+    asds = [ "q+" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools/2020-04-27/qtools-20200427-git.tgz";
+      sha256 = "13c9syk1l3a9xwpii0j82g0fkgnbxx8yabjjjczmr0l29hykhd4v";
+      system = "q+";
+      asd = "q+";
+    });
+    systems = [ "q+" ];
+    lispLibs = [ (getAttr "qtools" pkgs) ];
+  };
+  qbase64 = {
+    pname = "qbase64";
+    version = "20191130-git";
+    asds = [ "qbase64" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qbase64/2019-11-30/qbase64-20191130-git.tgz";
+      sha256 = "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi";
+      system = "qbase64";
+      asd = "qbase64";
+    });
+    systems = [ "qbase64" ];
+    lispLibs = [ (getAttr "metabang-bind" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  qbase64_slash_test = {
+    pname = "qbase64_test";
+    version = "20191130-git";
+    asds = [ "qbase64" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qbase64/2019-11-30/qbase64-20191130-git.tgz";
+      sha256 = "1dir0s70ca3hagxv9x15zq4p4ajgl7jrcgqsza2n2y7iqbxh0dwi";
+      system = "qbase64";
+      asd = "qbase64";
+    });
+    systems = [ "qbase64/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "qbase64" pkgs) (getAttr "temporary-file" pkgs) ];
+  };
+  qbook = {
+    pname = "qbook";
+    version = "20130312-darcs";
+    asds = [ "qbook" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qbook/2013-03-12/qbook-20130312-darcs.tgz";
+      sha256 = "0l5hc2v73416jpwc2nsnj03z85fisirgm4av2anvlpv5m1291p6g";
+      system = "qbook";
+      asd = "qbook";
+    });
+    systems = [ "qbook" ];
+    lispLibs = [ (getAttr "arnesi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "iterate" pkgs) (getAttr "yaclml" pkgs) ];
+  };
+  qimageblitz = {
+    pname = "qimageblitz";
+    version = "20210531-git";
+    asds = [ "qimageblitz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qimageblitz";
+      asd = "qimageblitz";
+    });
+    systems = [ "qimageblitz" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) ];
+  };
+  ql-checkout = {
+    pname = "ql-checkout";
+    version = "20190521-git";
+    asds = [ "ql-checkout" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ql-checkout/2019-05-21/ql-checkout-20190521-git.tgz";
+      sha256 = "1zp3wa7g1wn7sypfsla7510ywvldqavlmv90pncanwpwn79klyhw";
+      system = "ql-checkout";
+      asd = "ql-checkout";
+    });
+    systems = [ "ql-checkout" ];
+    lispLibs = [  ];
+  };
+  qlot = {
+    pname = "qlot";
+    version = "20211209-git";
+    asds = [ "qlot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qlot/2021-12-09/qlot-20211209-git.tgz";
+      sha256 = "0iaq4ri590z05254r9dn1cwsd5ha1n0bmj4m1a93f1m8zsk59pwy";
+      system = "qlot";
+      asd = "qlot";
+    });
+    systems = [ "qlot" ];
+    lispLibs = [  ];
+  };
+  qlot_slash_command = {
+    pname = "qlot_command";
+    version = "20211209-git";
+    asds = [ "qlot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qlot/2021-12-09/qlot-20211209-git.tgz";
+      sha256 = "0iaq4ri590z05254r9dn1cwsd5ha1n0bmj4m1a93f1m8zsk59pwy";
+      system = "qlot";
+      asd = "qlot";
+    });
+    systems = [ "qlot/command" ];
+    lispLibs = [  ];
+  };
+  qmynd = {
+    pname = "qmynd";
+    version = "20190710-git";
+    asds = [ "qmynd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qmynd/2019-07-10/qmynd-20190710-git.tgz";
+      sha256 = "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl";
+      system = "qmynd";
+      asd = "qmynd";
+    });
+    systems = [ "qmynd" ];
+    lispLibs = [ (getAttr "list-of" pkgs) (getAttr "babel" pkgs) (getAttr "chipz" pkgs) (getAttr "cl_plus_ssl" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "ironclad" pkgs) (getAttr "salza2" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  qmynd-test = {
+    pname = "qmynd-test";
+    version = "20190710-git";
+    asds = [ "qmynd-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qmynd/2019-07-10/qmynd-20190710-git.tgz";
+      sha256 = "06gw5wxcpdclb6a5i5k9lbmdlyqsp182czrm9bm1cpklzbj0ihrl";
+      system = "qmynd-test";
+      asd = "qmynd-test";
+    });
+    systems = [ "qmynd-test" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "qmynd" pkgs) ];
+  };
+  qsci = {
+    pname = "qsci";
+    version = "20210531-git";
+    asds = [ "qsci" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qsci";
+      asd = "qsci";
+    });
+    systems = [ "qsci" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) ];
+  };
+  qt = {
+    pname = "qt";
+    version = "20200925-git";
+    asds = [ "qt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/commonqt/2020-09-25/commonqt-20200925-git.tgz";
+      sha256 = "1s66z48plfwiq4qhf6whpvnjy4n7r9zhipri7lc8k67x817k020q";
+      system = "qt";
+      asd = "qt";
+    });
+    systems = [ "qt" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "named-readtables" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  qt_plus_libs = {
+    pname = "qt+libs";
+    version = "20200925-git";
+    asds = [ "qt+libs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/commonqt/2020-09-25/commonqt-20200925-git.tgz";
+      sha256 = "1s66z48plfwiq4qhf6whpvnjy4n7r9zhipri7lc8k67x817k020q";
+      system = "qt+libs";
+      asd = "qt+libs";
+    });
+    systems = [ "qt+libs" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "named-readtables" pkgs) (getAttr "qt-libs" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  qt-lib-generator = {
+    pname = "qt-lib-generator";
+    version = "20210531-git";
+    asds = [ "qt-lib-generator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qt-lib-generator";
+      asd = "qt-lib-generator";
+    });
+    systems = [ "qt-lib-generator" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "pathname-utils" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  qt-libs = {
+    pname = "qt-libs";
+    version = "20210531-git";
+    asds = [ "qt-libs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qt-libs";
+      asd = "qt-libs";
+    });
+    systems = [ "qt-libs" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "qt-lib-generator" pkgs) ];
+  };
+  qt-repl = {
+    pname = "qt-repl";
+    version = "20200925-git";
+    asds = [ "qt-repl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/commonqt/2020-09-25/commonqt-20200925-git.tgz";
+      sha256 = "1s66z48plfwiq4qhf6whpvnjy4n7r9zhipri7lc8k67x817k020q";
+      system = "qt-repl";
+      asd = "qt-repl";
+    });
+    systems = [ "qt-repl" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "qt" pkgs) ];
+  };
+  qt-test = {
+    pname = "qt-test";
+    version = "20200925-git";
+    asds = [ "qt-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/commonqt/2020-09-25/commonqt-20200925-git.tgz";
+      sha256 = "1s66z48plfwiq4qhf6whpvnjy4n7r9zhipri7lc8k67x817k020q";
+      system = "qt-test";
+      asd = "qt-test";
+    });
+    systems = [ "qt-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "qt" pkgs) (getAttr "iterate" pkgs) (getAttr "rt" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  qt-tutorial = {
+    pname = "qt-tutorial";
+    version = "20200925-git";
+    asds = [ "qt-tutorial" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/commonqt/2020-09-25/commonqt-20200925-git.tgz";
+      sha256 = "1s66z48plfwiq4qhf6whpvnjy4n7r9zhipri7lc8k67x817k020q";
+      system = "qt-tutorial";
+      asd = "qt-tutorial";
+    });
+    systems = [ "qt-tutorial" ];
+    lispLibs = [ (getAttr "qt" pkgs) ];
+  };
+  qt3support = {
+    pname = "qt3support";
+    version = "20210531-git";
+    asds = [ "qt3support" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qt3support";
+      asd = "qt3support";
+    });
+    systems = [ "qt3support" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtnetwork" pkgs) (getAttr "qtsql" pkgs) (getAttr "qtxml" pkgs) ];
+  };
+  qtcore = {
+    pname = "qtcore";
+    version = "20210531-git";
+    asds = [ "qtcore" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qtcore";
+      asd = "qtcore";
+    });
+    systems = [ "qtcore" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "commonqt" pkgs) (getAttr "qt-libs" pkgs) ];
+  };
+  qtdbus = {
+    pname = "qtdbus";
+    version = "20210531-git";
+    asds = [ "qtdbus" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qtdbus";
+      asd = "qtdbus";
+    });
+    systems = [ "qtdbus" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtxml" pkgs) ];
+  };
+  qtdeclarative = {
+    pname = "qtdeclarative";
+    version = "20210531-git";
+    asds = [ "qtdeclarative" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qtdeclarative";
+      asd = "qtdeclarative";
+    });
+    systems = [ "qtdeclarative" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtnetwork" pkgs) (getAttr "qtscript" pkgs) (getAttr "qtsql" pkgs) (getAttr "qtxmlpatterns" pkgs) ];
+  };
+  qtgui = {
+    pname = "qtgui";
+    version = "20210531-git";
+    asds = [ "qtgui" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qtgui";
+      asd = "qtgui";
+    });
+    systems = [ "qtgui" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) ];
+  };
+  qthelp = {
+    pname = "qthelp";
+    version = "20210531-git";
+    asds = [ "qthelp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qthelp";
+      asd = "qthelp";
+    });
+    systems = [ "qthelp" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtnetwork" pkgs) (getAttr "qtsql" pkgs) ];
+  };
+  qtnetwork = {
+    pname = "qtnetwork";
+    version = "20210531-git";
+    asds = [ "qtnetwork" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qtnetwork";
+      asd = "qtnetwork";
+    });
+    systems = [ "qtnetwork" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) ];
+  };
+  qtools = {
+    pname = "qtools";
+    version = "20200427-git";
+    asds = [ "qtools" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools/2020-04-27/qtools-20200427-git.tgz";
+      sha256 = "13c9syk1l3a9xwpii0j82g0fkgnbxx8yabjjjczmr0l29hykhd4v";
+      system = "qtools";
+      asd = "qtools";
+    });
+    systems = [ "qtools" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "qt_plus_libs" pkgs) (getAttr "deploy" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "form-fiddle" pkgs) (getAttr "named-readtables" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-indent" pkgs) (getAttr "trivial-main-thread" pkgs) ];
+  };
+  qtools-evaluator = {
+    pname = "qtools-evaluator";
+    version = "20200427-git";
+    asds = [ "qtools-evaluator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools/2020-04-27/qtools-20200427-git.tgz";
+      sha256 = "13c9syk1l3a9xwpii0j82g0fkgnbxx8yabjjjczmr0l29hykhd4v";
+      system = "qtools-evaluator";
+      asd = "qtools-evaluator";
+    });
+    systems = [ "qtools-evaluator" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtools" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  qtools-game = {
+    pname = "qtools-game";
+    version = "20200427-git";
+    asds = [ "qtools-game" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools/2020-04-27/qtools-20200427-git.tgz";
+      sha256 = "13c9syk1l3a9xwpii0j82g0fkgnbxx8yabjjjczmr0l29hykhd4v";
+      system = "qtools-game";
+      asd = "qtools-game";
+    });
+    systems = [ "qtools-game" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtopengl" pkgs) (getAttr "qtools" pkgs) ];
+  };
+  qtools-helloworld = {
+    pname = "qtools-helloworld";
+    version = "20200427-git";
+    asds = [ "qtools-helloworld" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools/2020-04-27/qtools-20200427-git.tgz";
+      sha256 = "13c9syk1l3a9xwpii0j82g0fkgnbxx8yabjjjczmr0l29hykhd4v";
+      system = "qtools-helloworld";
+      asd = "qtools-helloworld";
+    });
+    systems = [ "qtools-helloworld" ];
+    lispLibs = [ (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtools" pkgs) ];
+  };
+  qtools-melody = {
+    pname = "qtools-melody";
+    version = "20200427-git";
+    asds = [ "qtools-melody" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools/2020-04-27/qtools-20200427-git.tgz";
+      sha256 = "13c9syk1l3a9xwpii0j82g0fkgnbxx8yabjjjczmr0l29hykhd4v";
+      system = "qtools-melody";
+      asd = "qtools-melody";
+    });
+    systems = [ "qtools-melody" ];
+    lispLibs = [ (getAttr "phonon" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtools" pkgs) ];
+  };
+  qtools-opengl = {
+    pname = "qtools-opengl";
+    version = "20200427-git";
+    asds = [ "qtools-opengl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools/2020-04-27/qtools-20200427-git.tgz";
+      sha256 = "13c9syk1l3a9xwpii0j82g0fkgnbxx8yabjjjczmr0l29hykhd4v";
+      system = "qtools-opengl";
+      asd = "qtools-opengl";
+    });
+    systems = [ "qtools-opengl" ];
+    lispLibs = [ (getAttr "cl-opengl" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtopengl" pkgs) (getAttr "qtools" pkgs) ];
+  };
+  qtools-titter = {
+    pname = "qtools-titter";
+    version = "20200427-git";
+    asds = [ "qtools-titter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools/2020-04-27/qtools-20200427-git.tgz";
+      sha256 = "13c9syk1l3a9xwpii0j82g0fkgnbxx8yabjjjczmr0l29hykhd4v";
+      system = "qtools-titter";
+      asd = "qtools-titter";
+    });
+    systems = [ "qtools-titter" ];
+    lispLibs = [ (getAttr "chirp" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtools" pkgs) ];
+  };
+  qtools-ui = {
+    pname = "qtools-ui";
+    version = "20200218-git";
+    asds = [ "qtools-ui" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui";
+      asd = "qtools-ui";
+    });
+    systems = [ "qtools-ui" ];
+    lispLibs = [ (getAttr "qtools-ui-auto-resizing-textedit" pkgs) (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-cell" pkgs) (getAttr "qtools-ui-color-history" pkgs) (getAttr "qtools-ui-color-picker" pkgs) (getAttr "qtools-ui-color-sliders" pkgs) (getAttr "qtools-ui-color-triangle" pkgs) (getAttr "qtools-ui-compass" pkgs) (getAttr "qtools-ui-container" pkgs) (getAttr "qtools-ui-debugger" pkgs) (getAttr "qtools-ui-dialog" pkgs) (getAttr "qtools-ui-dictionary" pkgs) (getAttr "qtools-ui-drag-and-drop" pkgs) (getAttr "qtools-ui-fixed-qtextedit" pkgs) (getAttr "qtools-ui-flow-layout" pkgs) (getAttr "qtools-ui-helpers" pkgs) (getAttr "qtools-ui-imagetools" pkgs) (getAttr "qtools-ui-keychord-editor" pkgs) (getAttr "qtools-ui-layout" pkgs) (getAttr "qtools-ui-listing" pkgs) (getAttr "qtools-ui-notification" pkgs) (getAttr "qtools-ui-options" pkgs) (getAttr "qtools-ui-panels" pkgs) (getAttr "qtools-ui-placeholder-text-edit" pkgs) (getAttr "qtools-ui-plot" pkgs) (getAttr "qtools-ui-repl" pkgs) (getAttr "qtools-ui-slider" pkgs) (getAttr "qtools-ui-spellchecked-text-edit" pkgs) (getAttr "qtools-ui-splitter" pkgs) ];
+  };
+  qtools-ui-auto-resizing-textedit = {
+    pname = "qtools-ui-auto-resizing-textedit";
+    version = "20200218-git";
+    asds = [ "qtools-ui-auto-resizing-textedit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-auto-resizing-textedit";
+      asd = "qtools-ui-auto-resizing-textedit";
+    });
+    systems = [ "qtools-ui-auto-resizing-textedit" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-fixed-qtextedit" pkgs) ];
+  };
+  qtools-ui-base = {
+    pname = "qtools-ui-base";
+    version = "20200218-git";
+    asds = [ "qtools-ui-base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-base";
+      asd = "qtools-ui-base";
+    });
+    systems = [ "qtools-ui-base" ];
+    lispLibs = [ (getAttr "array-utils" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtools" pkgs) ];
+  };
+  qtools-ui-bytearray = {
+    pname = "qtools-ui-bytearray";
+    version = "20200218-git";
+    asds = [ "qtools-ui-bytearray" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-bytearray";
+      asd = "qtools-ui-bytearray";
+    });
+    systems = [ "qtools-ui-bytearray" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) ];
+  };
+  qtools-ui-cell = {
+    pname = "qtools-ui-cell";
+    version = "20200218-git";
+    asds = [ "qtools-ui-cell" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-cell";
+      asd = "qtools-ui-cell";
+    });
+    systems = [ "qtools-ui-cell" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-helpers" pkgs) (getAttr "qtools-ui-layout" pkgs) ];
+  };
+  qtools-ui-color-history = {
+    pname = "qtools-ui-color-history";
+    version = "20200218-git";
+    asds = [ "qtools-ui-color-history" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-color-history";
+      asd = "qtools-ui-color-history";
+    });
+    systems = [ "qtools-ui-color-history" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-flow-layout" pkgs) (getAttr "qtools-ui-helpers" pkgs) ];
+  };
+  qtools-ui-color-picker = {
+    pname = "qtools-ui-color-picker";
+    version = "20200218-git";
+    asds = [ "qtools-ui-color-picker" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-color-picker";
+      asd = "qtools-ui-color-picker";
+    });
+    systems = [ "qtools-ui-color-picker" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-color-history" pkgs) (getAttr "qtools-ui-color-sliders" pkgs) (getAttr "qtools-ui-color-triangle" pkgs) (getAttr "qtools-ui-dialog" pkgs) (getAttr "qtools-ui-helpers" pkgs) ];
+  };
+  qtools-ui-color-sliders = {
+    pname = "qtools-ui-color-sliders";
+    version = "20200218-git";
+    asds = [ "qtools-ui-color-sliders" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-color-sliders";
+      asd = "qtools-ui-color-sliders";
+    });
+    systems = [ "qtools-ui-color-sliders" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-helpers" pkgs) ];
+  };
+  qtools-ui-color-triangle = {
+    pname = "qtools-ui-color-triangle";
+    version = "20200218-git";
+    asds = [ "qtools-ui-color-triangle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-color-triangle";
+      asd = "qtools-ui-color-triangle";
+    });
+    systems = [ "qtools-ui-color-triangle" ];
+    lispLibs = [ (getAttr "cl-opengl" pkgs) (getAttr "qtopengl" pkgs) (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-helpers" pkgs) ];
+  };
+  qtools-ui-compass = {
+    pname = "qtools-ui-compass";
+    version = "20200218-git";
+    asds = [ "qtools-ui-compass" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-compass";
+      asd = "qtools-ui-compass";
+    });
+    systems = [ "qtools-ui-compass" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-layout" pkgs) ];
+  };
+  qtools-ui-container = {
+    pname = "qtools-ui-container";
+    version = "20200218-git";
+    asds = [ "qtools-ui-container" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-container";
+      asd = "qtools-ui-container";
+    });
+    systems = [ "qtools-ui-container" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-layout" pkgs) ];
+  };
+  qtools-ui-debugger = {
+    pname = "qtools-ui-debugger";
+    version = "20200218-git";
+    asds = [ "qtools-ui-debugger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-debugger";
+      asd = "qtools-ui-debugger";
+    });
+    systems = [ "qtools-ui-debugger" ];
+    lispLibs = [ (getAttr "dissect" pkgs) (getAttr "qtools-ui-base" pkgs) ];
+  };
+  qtools-ui-dialog = {
+    pname = "qtools-ui-dialog";
+    version = "20200218-git";
+    asds = [ "qtools-ui-dialog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-dialog";
+      asd = "qtools-ui-dialog";
+    });
+    systems = [ "qtools-ui-dialog" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-helpers" pkgs) ];
+  };
+  qtools-ui-dictionary = {
+    pname = "qtools-ui-dictionary";
+    version = "20200218-git";
+    asds = [ "qtools-ui-dictionary" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-dictionary";
+      asd = "qtools-ui-dictionary";
+    });
+    systems = [ "qtools-ui-dictionary" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-fixed-qtextedit" pkgs) (getAttr "qtools-ui-helpers" pkgs) (getAttr "wordnet" pkgs) ];
+  };
+  qtools-ui-drag-and-drop = {
+    pname = "qtools-ui-drag-and-drop";
+    version = "20200218-git";
+    asds = [ "qtools-ui-drag-and-drop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-drag-and-drop";
+      asd = "qtools-ui-drag-and-drop";
+    });
+    systems = [ "qtools-ui-drag-and-drop" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-helpers" pkgs) ];
+  };
+  qtools-ui-executable = {
+    pname = "qtools-ui-executable";
+    version = "20200218-git";
+    asds = [ "qtools-ui-executable" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-executable";
+      asd = "qtools-ui-executable";
+    });
+    systems = [ "qtools-ui-executable" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "qtools-ui-base" pkgs) ];
+  };
+  qtools-ui-fixed-qtextedit = {
+    pname = "qtools-ui-fixed-qtextedit";
+    version = "20200218-git";
+    asds = [ "qtools-ui-fixed-qtextedit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-fixed-qtextedit";
+      asd = "qtools-ui-fixed-qtextedit";
+    });
+    systems = [ "qtools-ui-fixed-qtextedit" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) ];
+  };
+  qtools-ui-flow-layout = {
+    pname = "qtools-ui-flow-layout";
+    version = "20200218-git";
+    asds = [ "qtools-ui-flow-layout" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-flow-layout";
+      asd = "qtools-ui-flow-layout";
+    });
+    systems = [ "qtools-ui-flow-layout" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-container" pkgs) ];
+  };
+  qtools-ui-helpers = {
+    pname = "qtools-ui-helpers";
+    version = "20200218-git";
+    asds = [ "qtools-ui-helpers" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-helpers";
+      asd = "qtools-ui-helpers";
+    });
+    systems = [ "qtools-ui-helpers" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-layout" pkgs) ];
+  };
+  qtools-ui-imagetools = {
+    pname = "qtools-ui-imagetools";
+    version = "20200218-git";
+    asds = [ "qtools-ui-imagetools" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-imagetools";
+      asd = "qtools-ui-imagetools";
+    });
+    systems = [ "qtools-ui-imagetools" ];
+    lispLibs = [ (getAttr "qimageblitz" pkgs) (getAttr "qtools-ui-base" pkgs) ];
+  };
+  qtools-ui-keychord-editor = {
+    pname = "qtools-ui-keychord-editor";
+    version = "20200218-git";
+    asds = [ "qtools-ui-keychord-editor" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-keychord-editor";
+      asd = "qtools-ui-keychord-editor";
+    });
+    systems = [ "qtools-ui-keychord-editor" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) ];
+  };
+  qtools-ui-layout = {
+    pname = "qtools-ui-layout";
+    version = "20200218-git";
+    asds = [ "qtools-ui-layout" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-layout";
+      asd = "qtools-ui-layout";
+    });
+    systems = [ "qtools-ui-layout" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) ];
+  };
+  qtools-ui-listing = {
+    pname = "qtools-ui-listing";
+    version = "20200218-git";
+    asds = [ "qtools-ui-listing" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-listing";
+      asd = "qtools-ui-listing";
+    });
+    systems = [ "qtools-ui-listing" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-cell" pkgs) (getAttr "qtools-ui-container" pkgs) ];
+  };
+  qtools-ui-notification = {
+    pname = "qtools-ui-notification";
+    version = "20200218-git";
+    asds = [ "qtools-ui-notification" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-notification";
+      asd = "qtools-ui-notification";
+    });
+    systems = [ "qtools-ui-notification" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) ];
+  };
+  qtools-ui-options = {
+    pname = "qtools-ui-options";
+    version = "20200218-git";
+    asds = [ "qtools-ui-options" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-options";
+      asd = "qtools-ui-options";
+    });
+    systems = [ "qtools-ui-options" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-color-picker" pkgs) (getAttr "qtools-ui-color-triangle" pkgs) (getAttr "qtools-ui-helpers" pkgs) (getAttr "qtools-ui-listing" pkgs) (getAttr "qtools-ui-slider" pkgs) ];
+  };
+  qtools-ui-panels = {
+    pname = "qtools-ui-panels";
+    version = "20200218-git";
+    asds = [ "qtools-ui-panels" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-panels";
+      asd = "qtools-ui-panels";
+    });
+    systems = [ "qtools-ui-panels" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-compass" pkgs) (getAttr "qtools-ui-helpers" pkgs) (getAttr "qtools-ui-splitter" pkgs) ];
+  };
+  qtools-ui-placeholder-text-edit = {
+    pname = "qtools-ui-placeholder-text-edit";
+    version = "20200218-git";
+    asds = [ "qtools-ui-placeholder-text-edit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-placeholder-text-edit";
+      asd = "qtools-ui-placeholder-text-edit";
+    });
+    systems = [ "qtools-ui-placeholder-text-edit" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-fixed-qtextedit" pkgs) ];
+  };
+  qtools-ui-plot = {
+    pname = "qtools-ui-plot";
+    version = "20200218-git";
+    asds = [ "qtools-ui-plot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-plot";
+      asd = "qtools-ui-plot";
+    });
+    systems = [ "qtools-ui-plot" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-helpers" pkgs) ];
+  };
+  qtools-ui-progress-bar = {
+    pname = "qtools-ui-progress-bar";
+    version = "20200218-git";
+    asds = [ "qtools-ui-progress-bar" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-progress-bar";
+      asd = "qtools-ui-progress-bar";
+    });
+    systems = [ "qtools-ui-progress-bar" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) ];
+  };
+  qtools-ui-repl = {
+    pname = "qtools-ui-repl";
+    version = "20200218-git";
+    asds = [ "qtools-ui-repl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-repl";
+      asd = "qtools-ui-repl";
+    });
+    systems = [ "qtools-ui-repl" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "qtools-ui-base" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  qtools-ui-slider = {
+    pname = "qtools-ui-slider";
+    version = "20200218-git";
+    asds = [ "qtools-ui-slider" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-slider";
+      asd = "qtools-ui-slider";
+    });
+    systems = [ "qtools-ui-slider" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-helpers" pkgs) ];
+  };
+  qtools-ui-spellchecked-text-edit = {
+    pname = "qtools-ui-spellchecked-text-edit";
+    version = "20200218-git";
+    asds = [ "qtools-ui-spellchecked-text-edit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-spellchecked-text-edit";
+      asd = "qtools-ui-spellchecked-text-edit";
+    });
+    systems = [ "qtools-ui-spellchecked-text-edit" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-fixed-qtextedit" pkgs) (getAttr "qtools-ui-helpers" pkgs) (getAttr "spell" pkgs) ];
+  };
+  qtools-ui-splitter = {
+    pname = "qtools-ui-splitter";
+    version = "20200218-git";
+    asds = [ "qtools-ui-splitter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-splitter";
+      asd = "qtools-ui-splitter";
+    });
+    systems = [ "qtools-ui-splitter" ];
+    lispLibs = [ (getAttr "qtools-ui-base" pkgs) (getAttr "qtools-ui-container" pkgs) (getAttr "qtools-ui-helpers" pkgs) ];
+  };
+  qtools-ui-svgtools = {
+    pname = "qtools-ui-svgtools";
+    version = "20200218-git";
+    asds = [ "qtools-ui-svgtools" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qtools-ui/2020-02-18/qtools-ui-20200218-git.tgz";
+      sha256 = "0zlygq42mi2ngk8q7a36k2rp6ydb98gryfxvcbg3dijg34i70f2z";
+      system = "qtools-ui-svgtools";
+      asd = "qtools-ui-svgtools";
+    });
+    systems = [ "qtools-ui-svgtools" ];
+    lispLibs = [ (getAttr "qtsvg" pkgs) (getAttr "qtools-ui-base" pkgs) ];
+  };
+  qtopengl = {
+    pname = "qtopengl";
+    version = "20210531-git";
+    asds = [ "qtopengl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qtopengl";
+      asd = "qtopengl";
+    });
+    systems = [ "qtopengl" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) ];
+  };
+  qtscript = {
+    pname = "qtscript";
+    version = "20210531-git";
+    asds = [ "qtscript" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qtscript";
+      asd = "qtscript";
+    });
+    systems = [ "qtscript" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) ];
+  };
+  qtsql = {
+    pname = "qtsql";
+    version = "20210531-git";
+    asds = [ "qtsql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qtsql";
+      asd = "qtsql";
+    });
+    systems = [ "qtsql" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) ];
+  };
+  qtsvg = {
+    pname = "qtsvg";
+    version = "20210531-git";
+    asds = [ "qtsvg" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qtsvg";
+      asd = "qtsvg";
+    });
+    systems = [ "qtsvg" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) ];
+  };
+  qttest = {
+    pname = "qttest";
+    version = "20210531-git";
+    asds = [ "qttest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qttest";
+      asd = "qttest";
+    });
+    systems = [ "qttest" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) ];
+  };
+  qtuitools = {
+    pname = "qtuitools";
+    version = "20210531-git";
+    asds = [ "qtuitools" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qtuitools";
+      asd = "qtuitools";
+    });
+    systems = [ "qtuitools" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) ];
+  };
+  qtwebkit = {
+    pname = "qtwebkit";
+    version = "20210531-git";
+    asds = [ "qtwebkit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qtwebkit";
+      asd = "qtwebkit";
+    });
+    systems = [ "qtwebkit" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtnetwork" pkgs) ];
+  };
+  qtxml = {
+    pname = "qtxml";
+    version = "20210531-git";
+    asds = [ "qtxml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qtxml";
+      asd = "qtxml";
+    });
+    systems = [ "qtxml" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) ];
+  };
+  qtxmlpatterns = {
+    pname = "qtxmlpatterns";
+    version = "20210531-git";
+    asds = [ "qtxmlpatterns" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qtxmlpatterns";
+      asd = "qtxmlpatterns";
+    });
+    systems = [ "qtxmlpatterns" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtnetwork" pkgs) ];
+  };
+  quadpack = {
+    pname = "quadpack";
+    version = "20200925-git";
+    asds = [ "quadpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "quadpack";
+      asd = "quadpack";
+    });
+    systems = [ "quadpack" ];
+    lispLibs = [ (getAttr "f2cl" pkgs) ];
+  };
+  quadpack_slash_mach-par = {
+    pname = "quadpack_mach-par";
+    version = "20200925-git";
+    asds = [ "quadpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "quadpack";
+      asd = "quadpack";
+    });
+    systems = [ "quadpack/mach-par" ];
+    lispLibs = [  ];
+  };
+  quadpack_slash_tests = {
+    pname = "quadpack_tests";
+    version = "20200925-git";
+    asds = [ "quadpack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "quadpack";
+      asd = "quadpack";
+    });
+    systems = [ "quadpack/tests" ];
+    lispLibs = [ (getAttr "quadpack" pkgs) (getAttr "rt" pkgs) ];
+  };
+  quads = {
+    pname = "quads";
+    version = "20200427-git";
+    asds = [ "quads" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "quads";
+      asd = "quads";
+    });
+    systems = [ "quads" ];
+    lispLibs = [ (getAttr "utility" pkgs) ];
+  };
+  quadtree = {
+    pname = "quadtree";
+    version = "20150709-git";
+    asds = [ "quadtree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quadtree/2015-07-09/quadtree-20150709-git.tgz";
+      sha256 = "0590f0sbv4qg590d2bb7ypncg3wn5xjapi24w78mnzr9bdnhh4vx";
+      system = "quadtree";
+      asd = "quadtree";
+    });
+    systems = [ "quadtree" ];
+    lispLibs = [  ];
+  };
+  quadtree-test = {
+    pname = "quadtree-test";
+    version = "20150709-git";
+    asds = [ "quadtree-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quadtree/2015-07-09/quadtree-20150709-git.tgz";
+      sha256 = "0590f0sbv4qg590d2bb7ypncg3wn5xjapi24w78mnzr9bdnhh4vx";
+      system = "quadtree-test";
+      asd = "quadtree-test";
+    });
+    systems = [ "quadtree-test" ];
+    lispLibs = [ (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "quadtree" pkgs) ];
+  };
+  quantile-estimator = {
+    pname = "quantile-estimator";
+    version = "20160825-git";
+    asds = [ "quantile-estimator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quantile-estimator.cl/2016-08-25/quantile-estimator.cl-20160825-git.tgz";
+      sha256 = "1rrazbl0gbsymynlxp7ild6wvwp6csmdig4hwrp3wjvqhdl8j3mj";
+      system = "quantile-estimator";
+      asd = "quantile-estimator";
+    });
+    systems = [ "quantile-estimator" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  quantile-estimator_dot_test = {
+    pname = "quantile-estimator.test";
+    version = "20160825-git";
+    asds = [ "quantile-estimator.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quantile-estimator.cl/2016-08-25/quantile-estimator.cl-20160825-git.tgz";
+      sha256 = "1rrazbl0gbsymynlxp7ild6wvwp6csmdig4hwrp3wjvqhdl8j3mj";
+      system = "quantile-estimator.test";
+      asd = "quantile-estimator.test";
+    });
+    systems = [ "quantile-estimator.test" ];
+    lispLibs = [ (getAttr "log4cl" pkgs) (getAttr "mw-equiv" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "quantile-estimator" pkgs) ];
+  };
+  quasiquote-2_dot_0 = {
+    pname = "quasiquote-2.0";
+    version = "20150505-git";
+    asds = [ "quasiquote-2.0" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quasiquote-2.0/2015-05-05/quasiquote-2.0-20150505-git.tgz";
+      sha256 = "1g0s3aplrgmdjj8k1wrx3dkqdsl4lka2nmgdng0rcd93xp11q6hn";
+      system = "quasiquote-2.0";
+      asd = "quasiquote-2.0";
+    });
+    systems = [ "quasiquote-2.0" ];
+    lispLibs = [ (getAttr "iterate" pkgs) ];
+  };
+  quasiquote-2_dot_0-tests = {
+    pname = "quasiquote-2.0-tests";
+    version = "20150505-git";
+    asds = [ "quasiquote-2.0-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quasiquote-2.0/2015-05-05/quasiquote-2.0-20150505-git.tgz";
+      sha256 = "1g0s3aplrgmdjj8k1wrx3dkqdsl4lka2nmgdng0rcd93xp11q6hn";
+      system = "quasiquote-2.0-tests";
+      asd = "quasiquote-2.0";
+    });
+    systems = [ "quasiquote-2.0-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "quasiquote-2_dot_0" pkgs) ];
+  };
+  queen = {
+    pname = "queen";
+    version = "20160929-git";
+    asds = [ "queen" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/queen.lisp/2016-09-29/queen.lisp-20160929-git.tgz";
+      sha256 = "187mlbhxxhgj7cx3j9vzv3a26mxnibwbp5hcbn92wzw7m04w0mln";
+      system = "queen";
+      asd = "queen";
+    });
+    systems = [ "queen" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "cl-ppcre-unicode" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  query-fs = {
+    pname = "query-fs";
+    version = "20200610-git";
+    asds = [ "query-fs" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/query-fs/2020-06-10/query-fs-20200610-git.tgz";
+      sha256 = "1qqvgkfkbrh8rj21sngq7f807r758r4flcwhw6l5nw8f7hf1qrwz";
+      system = "query-fs";
+      asd = "query-fs";
+    });
+    systems = [ "query-fs" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-fuse" pkgs) (getAttr "cl-fuse-meta-fs" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "command-line-arguments" pkgs) (getAttr "iterate" pkgs) (getAttr "trivial-backtrace" pkgs) ];
+  };
+  query-repl = {
+    pname = "query-repl";
+    version = "20211020-git";
+    asds = [ "query-repl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/query-repl/2021-10-20/query-repl-20211020-git.tgz";
+      sha256 = "18mhknjbbq7ba27fv000h34df8dvm05f6k8kipw9i8hffww7gnsz";
+      system = "query-repl";
+      asd = "query-repl";
+    });
+    systems = [ "query-repl" ];
+    lispLibs = [ (getAttr "check-bnf" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  query-repl_dot_test = {
+    pname = "query-repl.test";
+    version = "20211020-git";
+    asds = [ "query-repl.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/query-repl/2021-10-20/query-repl-20211020-git.tgz";
+      sha256 = "18mhknjbbq7ba27fv000h34df8dvm05f6k8kipw9i8hffww7gnsz";
+      system = "query-repl.test";
+      asd = "query-repl.test";
+    });
+    systems = [ "query-repl.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "query-repl" pkgs) ];
+  };
+  queues = {
+    pname = "queues";
+    version = "20170124-git";
+    asds = [ "queues" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz";
+      sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv";
+      system = "queues";
+      asd = "queues";
+    });
+    systems = [ "queues" ];
+    lispLibs = [  ];
+  };
+  queues_dot_priority-cqueue = {
+    pname = "queues.priority-cqueue";
+    version = "20170124-git";
+    asds = [ "queues.priority-cqueue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz";
+      sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv";
+      system = "queues.priority-cqueue";
+      asd = "queues.priority-cqueue";
+    });
+    systems = [ "queues.priority-cqueue" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "queues" pkgs) (getAttr "queues_dot_priority-queue" pkgs) ];
+  };
+  queues_dot_priority-queue = {
+    pname = "queues.priority-queue";
+    version = "20170124-git";
+    asds = [ "queues.priority-queue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz";
+      sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv";
+      system = "queues.priority-queue";
+      asd = "queues.priority-queue";
+    });
+    systems = [ "queues.priority-queue" ];
+    lispLibs = [ (getAttr "queues" pkgs) ];
+  };
+  queues_dot_simple-cqueue = {
+    pname = "queues.simple-cqueue";
+    version = "20170124-git";
+    asds = [ "queues.simple-cqueue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz";
+      sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv";
+      system = "queues.simple-cqueue";
+      asd = "queues.simple-cqueue";
+    });
+    systems = [ "queues.simple-cqueue" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "queues" pkgs) (getAttr "queues_dot_simple-queue" pkgs) ];
+  };
+  queues_dot_simple-queue = {
+    pname = "queues.simple-queue";
+    version = "20170124-git";
+    asds = [ "queues.simple-queue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/queues/2017-01-24/queues-20170124-git.tgz";
+      sha256 = "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv";
+      system = "queues.simple-queue";
+      asd = "queues.simple-queue";
+    });
+    systems = [ "queues.simple-queue" ];
+    lispLibs = [ (getAttr "queues" pkgs) ];
+  };
+  quick-patch = {
+    pname = "quick-patch";
+    version = "20211020-git";
+    asds = [ "quick-patch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quick-patch/2021-10-20/quick-patch-20211020-git.tgz";
+      sha256 = "02yql87pjkc79rg63kdvdxn3hlv545ni3r4qhls26dzm55xwccdx";
+      system = "quick-patch";
+      asd = "quick-patch";
+    });
+    systems = [ "quick-patch" ];
+    lispLibs = [  ];
+  };
+  quick-patch_slash_tests = {
+    pname = "quick-patch_tests";
+    version = "20211020-git";
+    asds = [ "quick-patch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quick-patch/2021-10-20/quick-patch-20211020-git.tgz";
+      sha256 = "02yql87pjkc79rg63kdvdxn3hlv545ni3r4qhls26dzm55xwccdx";
+      system = "quick-patch";
+      asd = "quick-patch";
+    });
+    systems = [ "quick-patch/tests" ];
+    lispLibs = [ (getAttr "cl-mock" pkgs) (getAttr "str" pkgs) (getAttr "fiveam" pkgs) (getAttr "quick-patch" pkgs) (getAttr "tmpdir" pkgs) ];
+  };
+  quickapp = {
+    pname = "quickapp";
+    version = "20160825-git";
+    asds = [ "quickapp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quickapp/2016-08-25/quickapp-20160825-git.tgz";
+      sha256 = "0rhhxwggbh9sf3c4c9fv39c5imy48416mwf0dkhqpnm8x55xbw22";
+      system = "quickapp";
+      asd = "quickapp";
+    });
+    systems = [ "quickapp" ];
+    lispLibs = [  ];
+  };
+  quicklisp-slime-helper = {
+    pname = "quicklisp-slime-helper";
+    version = "20150709-git";
+    asds = [ "quicklisp-slime-helper" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quicklisp-slime-helper/2015-07-09/quicklisp-slime-helper-20150709-git.tgz";
+      sha256 = "14b1zg26h75pnhj3ic0h9i5jbmwf8wjp91scbcg1ra9fyhh73pa6";
+      system = "quicklisp-slime-helper";
+      asd = "quicklisp-slime-helper";
+    });
+    systems = [ "quicklisp-slime-helper" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "swank" pkgs) ];
+  };
+  quicklisp-stats = {
+    pname = "quicklisp-stats";
+    version = "20210411-git";
+    asds = [ "quicklisp-stats" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quicklisp-stats/2021-04-11/quicklisp-stats-20210411-git.tgz";
+      sha256 = "0v8dgmlgd283n1g486q4sj2mghgdvgywg2nqp43nnrfc04mkvgc0";
+      system = "quicklisp-stats";
+      asd = "quicklisp-stats";
+    });
+    systems = [ "quicklisp-stats" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "drakma" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  quickproject = {
+    pname = "quickproject";
+    version = "1.4.1";
+    asds = [ "quickproject" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quickproject/2019-12-27/quickproject-1.4.1.tgz";
+      sha256 = "1szs8p2wr1yr9mjmj3h3557l6wxzzga0iszimb68z0hb1jj3lva6";
+      system = "quickproject";
+      asd = "quickproject";
+    });
+    systems = [ "quickproject" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "html-template" pkgs) ];
+  };
+  quicksearch = {
+    pname = "quicksearch";
+    version = "20171019-git";
+    asds = [ "quicksearch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quicksearch/2017-10-19/quicksearch-20171019-git.tgz";
+      sha256 = "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps";
+      system = "quicksearch";
+      asd = "quicksearch";
+    });
+    systems = [ "quicksearch" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "do-urlencode" pkgs) (getAttr "drakma" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "html-entities" pkgs) (getAttr "iterate" pkgs) (getAttr "yason" pkgs) ];
+  };
+  quickutil = {
+    pname = "quickutil";
+    version = "20210807-git";
+    asds = [ "quickutil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz";
+      sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz";
+      system = "quickutil";
+      asd = "quickutil";
+    });
+    systems = [ "quickutil" ];
+    lispLibs = [ (getAttr "quickutil-client" pkgs) ];
+  };
+  quickutil-client = {
+    pname = "quickutil-client";
+    version = "20210807-git";
+    asds = [ "quickutil-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz";
+      sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz";
+      system = "quickutil-client";
+      asd = "quickutil-client";
+    });
+    systems = [ "quickutil-client" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "quickutil-client-management" pkgs) (getAttr "quickutil-utilities" pkgs) ];
+  };
+  quickutil-client-management = {
+    pname = "quickutil-client-management";
+    version = "20210807-git";
+    asds = [ "quickutil-client-management" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz";
+      sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz";
+      system = "quickutil-client-management";
+      asd = "quickutil-client-management";
+    });
+    systems = [ "quickutil-client-management" ];
+    lispLibs = [ (getAttr "trivial-garbage" pkgs) ];
+  };
+  quickutil-server = {
+    pname = "quickutil-server";
+    version = "20210807-git";
+    asds = [ "quickutil-server" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz";
+      sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz";
+      system = "quickutil-server";
+      asd = "quickutil-server";
+    });
+    systems = [ "quickutil-server" ];
+    lispLibs = [ (getAttr "assoc-utils" pkgs) (getAttr "closure-template" pkgs) (getAttr "dbi" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-markdown" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-syntax" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "clack" pkgs) (getAttr "lack" pkgs) (getAttr "lack-component" pkgs) (getAttr "lack-middleware-csrf" pkgs) (getAttr "lack-request" pkgs) (getAttr "lack-response" pkgs) (getAttr "ningle" pkgs) (getAttr "quickutil-utilities" pkgs) (getAttr "trivial-shell" pkgs) (getAttr "yason" pkgs) ];
+  };
+  quickutil-utilities = {
+    pname = "quickutil-utilities";
+    version = "20210807-git";
+    asds = [ "quickutil-utilities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz";
+      sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz";
+      system = "quickutil-utilities";
+      asd = "quickutil-utilities";
+    });
+    systems = [ "quickutil-utilities" ];
+    lispLibs = [ (getAttr "cl-heredoc" pkgs) ];
+  };
+  quickutil-utilities-test = {
+    pname = "quickutil-utilities-test";
+    version = "20210807-git";
+    asds = [ "quickutil-utilities-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quickutil/2021-08-07/quickutil-20210807-git.tgz";
+      sha256 = "0d4xrgsh5pj4cgj1mqsdyi4xvq04jyb2m4c3sdx94jsx3r83hldz";
+      system = "quickutil-utilities-test";
+      asd = "quickutil-utilities-test";
+    });
+    systems = [ "quickutil-utilities-test" ];
+    lispLibs = [ (getAttr "quickutil-client" pkgs) (getAttr "quickutil-server" pkgs) ];
+  };
+  quilc = {
+    pname = "quilc";
+    version = "v1.26.0";
+    asds = [ "quilc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quilc/2021-12-09/quilc-v1.26.0.tgz";
+      sha256 = "09qp2d6xgq4cmg6nfsdz0gbs3rvz3ln0kawmry6cls14lxnljjrr";
+      system = "quilc";
+      asd = "quilc";
+    });
+    systems = [ "quilc" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-syslog" pkgs) (getAttr "command-line-arguments" pkgs) (getAttr "drakma" pkgs) (getAttr "magicl" pkgs) (getAttr "cl-quil" pkgs) (getAttr "cl-quil-benchmarking" pkgs) (getAttr "rpcq" pkgs) (getAttr "swank" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-features" pkgs) (getAttr "uiop" pkgs) (getAttr "yason" pkgs) ];
+  };
+  quilc-tests = {
+    pname = "quilc-tests";
+    version = "v1.26.0";
+    asds = [ "quilc-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quilc/2021-12-09/quilc-v1.26.0.tgz";
+      sha256 = "09qp2d6xgq4cmg6nfsdz0gbs3rvz3ln0kawmry6cls14lxnljjrr";
+      system = "quilc-tests";
+      asd = "quilc-tests";
+    });
+    systems = [ "quilc-tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "fiasco" pkgs) (getAttr "quilc" pkgs) (getAttr "uiop" pkgs) (getAttr "uuid" pkgs) ];
+  };
+  quine-mccluskey = {
+    pname = "quine-mccluskey";
+    version = "20141217-git";
+    asds = [ "quine-mccluskey" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-logic/2014-12-17/cl-logic-20141217-git.tgz";
+      sha256 = "17n2wzqali3j6b7pqbydipwlxgwdrj4mdnsgwjdyz32n8jvfyjwh";
+      system = "quine-mccluskey";
+      asd = "cl-logic";
+    });
+    systems = [ "quine-mccluskey" ];
+    lispLibs = [  ];
+  };
+  quri = {
+    pname = "quri";
+    version = "20210630-git";
+    asds = [ "quri" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quri/2021-06-30/quri-20210630-git.tgz";
+      sha256 = "19kijh13zjj1v46mbjdndkpqigcyh0xi9qn2jdc9imwh69z3dp0k";
+      system = "quri";
+      asd = "quri";
+    });
+    systems = [ "quri" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "cl-utilities" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  quri-test = {
+    pname = "quri-test";
+    version = "20210630-git";
+    asds = [ "quri-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quri/2021-06-30/quri-20210630-git.tgz";
+      sha256 = "19kijh13zjj1v46mbjdndkpqigcyh0xi9qn2jdc9imwh69z3dp0k";
+      system = "quri-test";
+      asd = "quri-test";
+    });
+    systems = [ "quri-test" ];
+    lispLibs = [ (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "quri" pkgs) ];
+  };
+  quux-hunchentoot = {
+    pname = "quux-hunchentoot";
+    version = "20211230-git";
+    asds = [ "quux-hunchentoot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quux-hunchentoot/2021-12-30/quux-hunchentoot-20211230-git.tgz";
+      sha256 = "0v0x4hzzfm835blqbp00vmj74gaq8wyldrnfj0x5s6zfl64w135y";
+      system = "quux-hunchentoot";
+      asd = "quux-hunchentoot";
+    });
+    systems = [ "quux-hunchentoot" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "lil" pkgs) (getAttr "lparallel" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  quux-time = {
+    pname = "quux-time";
+    version = "20150407-git";
+    asds = [ "quux-time" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/quux-time/2015-04-07/quux-time-20150407-git.tgz";
+      sha256 = "0hsa2n1j0abhw8na9fql47rq1rxpf2vkwg2mbb1c3ax56r8dsh0v";
+      system = "quux-time";
+      asd = "quux-time";
+    });
+    systems = [ "quux-time" ];
+    lispLibs = [  ];
+  };
+  qvm = {
+    pname = "qvm";
+    version = "v1.17.2";
+    asds = [ "qvm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qvm/2021-06-30/qvm-v1.17.2.tgz";
+      sha256 = "1cvmkqfcy7rv5jlim4kh4dvqhd3jk6mw1kwrphaqghjymrf72yp8";
+      system = "qvm";
+      asd = "qvm";
+    });
+    systems = [ "qvm" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "abstract-classes" pkgs) (getAttr "global-vars" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "lparallel" pkgs) (getAttr "magicl" pkgs) (getAttr "mt19937" pkgs) (getAttr "cl-quil" pkgs) (getAttr "static-vectors" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  qvm-app = {
+    pname = "qvm-app";
+    version = "v1.17.2";
+    asds = [ "qvm-app" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qvm/2021-06-30/qvm-v1.17.2.tgz";
+      sha256 = "1cvmkqfcy7rv5jlim4kh4dvqhd3jk6mw1kwrphaqghjymrf72yp8";
+      system = "qvm-app";
+      asd = "qvm-app";
+    });
+    systems = [ "qvm-app" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-syslog" pkgs) (getAttr "command-line-arguments" pkgs) (getAttr "drakma" pkgs) (getAttr "global-vars" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "cl-quil" pkgs) (getAttr "qvm" pkgs) (getAttr "qvm-benchmarks" pkgs) (getAttr "swank" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "uiop" pkgs) (getAttr "yason" pkgs) ];
+  };
+  qvm-app-ng = {
+    pname = "qvm-app-ng";
+    version = "v1.17.2";
+    asds = [ "qvm-app-ng" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qvm/2021-06-30/qvm-v1.17.2.tgz";
+      sha256 = "1cvmkqfcy7rv5jlim4kh4dvqhd3jk6mw1kwrphaqghjymrf72yp8";
+      system = "qvm-app-ng";
+      asd = "qvm-app-ng";
+    });
+    systems = [ "qvm-app-ng" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-algebraic-data-type" pkgs) (getAttr "cl-syslog" pkgs) (getAttr "command-line-arguments" pkgs) (getAttr "global-vars" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "cl-quil" pkgs) (getAttr "qvm" pkgs) (getAttr "trivial-features" pkgs) (getAttr "uiop" pkgs) (getAttr "uuid" pkgs) (getAttr "yason" pkgs) ];
+  };
+  qvm-app-ng-tests = {
+    pname = "qvm-app-ng-tests";
+    version = "v1.17.2";
+    asds = [ "qvm-app-ng-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qvm/2021-06-30/qvm-v1.17.2.tgz";
+      sha256 = "1cvmkqfcy7rv5jlim4kh4dvqhd3jk6mw1kwrphaqghjymrf72yp8";
+      system = "qvm-app-ng-tests";
+      asd = "qvm-app-ng-tests";
+    });
+    systems = [ "qvm-app-ng-tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "drakma" pkgs) (getAttr "fiasco" pkgs) (getAttr "lparallel" pkgs) (getAttr "qvm-app-ng" pkgs) (getAttr "uiop" pkgs) (getAttr "yason" pkgs) ];
+  };
+  qvm-app-tests = {
+    pname = "qvm-app-tests";
+    version = "v1.17.2";
+    asds = [ "qvm-app-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qvm/2021-06-30/qvm-v1.17.2.tgz";
+      sha256 = "1cvmkqfcy7rv5jlim4kh4dvqhd3jk6mw1kwrphaqghjymrf72yp8";
+      system = "qvm-app-tests";
+      asd = "qvm-app-tests";
+    });
+    systems = [ "qvm-app-tests" ];
+    lispLibs = [ (getAttr "fiasco" pkgs) (getAttr "qvm-app" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  qvm-benchmarks = {
+    pname = "qvm-benchmarks";
+    version = "v1.17.2";
+    asds = [ "qvm-benchmarks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qvm/2021-06-30/qvm-v1.17.2.tgz";
+      sha256 = "1cvmkqfcy7rv5jlim4kh4dvqhd3jk6mw1kwrphaqghjymrf72yp8";
+      system = "qvm-benchmarks";
+      asd = "qvm-benchmarks";
+    });
+    systems = [ "qvm-benchmarks" ];
+    lispLibs = [ (getAttr "cl-quil" pkgs) (getAttr "qvm" pkgs) (getAttr "trivial-benchmark" pkgs) (getAttr "yason" pkgs) ];
+  };
+  qvm-examples = {
+    pname = "qvm-examples";
+    version = "v1.17.2";
+    asds = [ "qvm-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qvm/2021-06-30/qvm-v1.17.2.tgz";
+      sha256 = "1cvmkqfcy7rv5jlim4kh4dvqhd3jk6mw1kwrphaqghjymrf72yp8";
+      system = "qvm-examples";
+      asd = "qvm-examples";
+    });
+    systems = [ "qvm-examples" ];
+    lispLibs = [ (getAttr "cl-grnm" pkgs) (getAttr "cl-quil" pkgs) (getAttr "qvm" pkgs) (getAttr "qvm-app" pkgs) ];
+  };
+  qvm-tests = {
+    pname = "qvm-tests";
+    version = "v1.17.2";
+    asds = [ "qvm-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qvm/2021-06-30/qvm-v1.17.2.tgz";
+      sha256 = "1cvmkqfcy7rv5jlim4kh4dvqhd3jk6mw1kwrphaqghjymrf72yp8";
+      system = "qvm-tests";
+      asd = "qvm-tests";
+    });
+    systems = [ "qvm-tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "fiasco" pkgs) (getAttr "cl-quil" pkgs) (getAttr "qvm" pkgs) (getAttr "qvm-examples" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  qwt = {
+    pname = "qwt";
+    version = "20210531-git";
+    asds = [ "qwt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "qwt";
+      asd = "qwt";
+    });
+    systems = [ "qwt" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) ];
+  };
+  racer = {
+    pname = "racer";
+    version = "20190710-git";
+    asds = [ "racer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/racer/2019-07-10/racer-20190710-git.tgz";
+      sha256 = "120x046c6vcrj70vb6ryf04mwbr8c6a15llb68x7h1siij8vwgvk";
+      system = "racer";
+      asd = "racer";
+    });
+    systems = [ "racer" ];
+    lispLibs = [ (getAttr "deflate" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "aserve" pkgs) ];
+  };
+  rail = {
+    pname = "rail";
+    version = "20171227-git";
+    asds = [ "rail" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rail/2017-12-27/cl-rail-20171227-git.tgz";
+      sha256 = "0vxbxyfl5lw7na8iki1cjp0cd31z2bnxcpdv0x25hq0vch1cb5rj";
+      system = "rail";
+      asd = "rail";
+    });
+    systems = [ "rail" ];
+    lispLibs = [  ];
+  };
+  rail-test = {
+    pname = "rail-test";
+    version = "20171227-git";
+    asds = [ "rail-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rail/2017-12-27/cl-rail-20171227-git.tgz";
+      sha256 = "0vxbxyfl5lw7na8iki1cjp0cd31z2bnxcpdv0x25hq0vch1cb5rj";
+      system = "rail-test";
+      asd = "rail";
+    });
+    systems = [ "rail-test" ];
+    lispLibs = [ (getAttr "rail" pkgs) (getAttr "fiasco" pkgs) ];
+  };
+  random = {
+    pname = "random";
+    version = "20191007-git";
+    asds = [ "random" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/random/2019-10-07/random-20191007-git.tgz";
+      sha256 = "1fb4mnp85jm9s667y4dgz07klhkr9pvi5xbxws28lbb8iip75y2p";
+      system = "random";
+      asd = "random";
+    });
+    systems = [ "random" ];
+    lispLibs = [ (getAttr "com_dot_google_dot_base" pkgs) ];
+  };
+  random-access-lists = {
+    pname = "random-access-lists";
+    version = "20120208-git";
+    asds = [ "random-access-lists" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/random-access-lists/2012-02-08/random-access-lists-20120208-git.tgz";
+      sha256 = "0wslxxdmmr25hvmcyscph1bjlknm3nzh5g79cif22was1z411m5c";
+      system = "random-access-lists";
+      asd = "random-access-lists";
+    });
+    systems = [ "random-access-lists" ];
+    lispLibs = [ (getAttr "lisp-unit" pkgs) ];
+  };
+  random-sample = {
+    pname = "random-sample";
+    version = "20211230-git";
+    asds = [ "random-sample" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/random-sample/2021-12-30/random-sample-20211230-git.tgz";
+      sha256 = "0nhgca6wf754wbg91h40gx7xq22rawg2pn6l7h02wv1jxac4q6nh";
+      system = "random-sample";
+      asd = "random-sample";
+    });
+    systems = [ "random-sample" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "infix-math" pkgs) (getAttr "named-readtables" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  random-state = {
+    pname = "random-state";
+    version = "20200925-git";
+    asds = [ "random-state" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/random-state/2020-09-25/random-state-20200925-git.tgz";
+      sha256 = "0r3bk6hqpr0qmpza93pknl8wpsd6y0yy9qg7vz751a7gzzww9vj6";
+      system = "random-state";
+      asd = "random-state";
+    });
+    systems = [ "random-state" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  random-state-viewer = {
+    pname = "random-state-viewer";
+    version = "20200925-git";
+    asds = [ "random-state-viewer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/random-state/2020-09-25/random-state-20200925-git.tgz";
+      sha256 = "0r3bk6hqpr0qmpza93pknl8wpsd6y0yy9qg7vz751a7gzzww9vj6";
+      system = "random-state-viewer";
+      asd = "random-state-viewer";
+    });
+    systems = [ "random-state-viewer" ];
+    lispLibs = [ (getAttr "qtcore" pkgs) (getAttr "qtgui" pkgs) (getAttr "qtools" pkgs) (getAttr "random-state" pkgs) ];
+  };
+  random-test = {
+    pname = "random-test";
+    version = "20191007-git";
+    asds = [ "random-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/random/2019-10-07/random-20191007-git.tgz";
+      sha256 = "1fb4mnp85jm9s667y4dgz07klhkr9pvi5xbxws28lbb8iip75y2p";
+      system = "random-test";
+      asd = "random-test";
+    });
+    systems = [ "random-test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "random" pkgs) ];
+  };
+  random-uuid = {
+    pname = "random-uuid";
+    version = "20210411-git";
+    asds = [ "random-uuid" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/random-uuid/2021-04-11/random-uuid-20210411-git.tgz";
+      sha256 = "0f5kilq9wp3ds4mv7vbr3dazsphpq043hilkzzf0yb2zx57ln25r";
+      system = "random-uuid";
+      asd = "random-uuid";
+    });
+    systems = [ "random-uuid" ];
+    lispLibs = [ (getAttr "golden-utils" pkgs) (getAttr "seedable-rng" pkgs) ];
+  };
+  rate-monotonic = {
+    pname = "rate-monotonic";
+    version = "20200325-git";
+    asds = [ "rate-monotonic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rate-monotonic/2020-03-25/rate-monotonic-20200325-git.tgz";
+      sha256 = "0v9m704zy3834whldx2fbs8x92hp7hlrzdlcxm1rd17wqpv7pvrv";
+      system = "rate-monotonic";
+      asd = "rate-monotonic";
+    });
+    systems = [ "rate-monotonic" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "timer-wheel" pkgs) ];
+  };
+  rate-monotonic_dot_examples = {
+    pname = "rate-monotonic.examples";
+    version = "20200325-git";
+    asds = [ "rate-monotonic.examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rate-monotonic/2020-03-25/rate-monotonic-20200325-git.tgz";
+      sha256 = "0v9m704zy3834whldx2fbs8x92hp7hlrzdlcxm1rd17wqpv7pvrv";
+      system = "rate-monotonic.examples";
+      asd = "rate-monotonic.examples";
+    });
+    systems = [ "rate-monotonic.examples" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "rate-monotonic" pkgs) ];
+  };
+  ratify = {
+    pname = "ratify";
+    version = "20191007-git";
+    asds = [ "ratify" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ratify/2019-10-07/ratify-20191007-git.tgz";
+      sha256 = "0lhz3g85sc8ral59bs6g32f9nvxvbz126wchr8c3f5jj95xhngma";
+      system = "ratify";
+      asd = "ratify";
+    });
+    systems = [ "ratify" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "local-time" pkgs) (getAttr "parse-float" pkgs) ];
+  };
+  ratmath = {
+    pname = "ratmath";
+    version = "20200218-git";
+    asds = [ "ratmath" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ratmath/2020-02-18/ratmath-20200218-git.tgz";
+      sha256 = "1p5rl1bam8qjsgscn7gwk2w55hdjawfgjikka59lwb6ia13v4rj9";
+      system = "ratmath";
+      asd = "ratmath";
+    });
+    systems = [ "ratmath" ];
+    lispLibs = [  ];
+  };
+  rcl = {
+    pname = "rcl";
+    version = "20201220-http";
+    asds = [ "rcl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rcl/2020-12-20/rcl-20201220-http.tgz";
+      sha256 = "1s6cvqs0s7fxh63zwc5zj7ryrffmv780rscm7aq3alzb9njwmg14";
+      system = "rcl";
+      asd = "rcl";
+    });
+    systems = [ "rcl" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "named-readtables" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "simple-tasks" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  rcl_slash_prove = {
+    pname = "rcl_prove";
+    version = "20201220-http";
+    asds = [ "rcl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rcl/2020-12-20/rcl-20201220-http.tgz";
+      sha256 = "1s6cvqs0s7fxh63zwc5zj7ryrffmv780rscm7aq3alzb9njwmg14";
+      system = "rcl";
+      asd = "rcl";
+    });
+    systems = [ "rcl/prove" ];
+    lispLibs = [ (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "rcl" pkgs) ];
+  };
+  rcl_slash_test = {
+    pname = "rcl_test";
+    version = "20201220-http";
+    asds = [ "rcl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rcl/2020-12-20/rcl-20201220-http.tgz";
+      sha256 = "1s6cvqs0s7fxh63zwc5zj7ryrffmv780rscm7aq3alzb9njwmg14";
+      system = "rcl";
+      asd = "rcl";
+    });
+    systems = [ "rcl/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "rcl" pkgs) ];
+  };
+  re = {
+    pname = "re";
+    version = "20210630-git";
+    asds = [ "re" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/re/2021-06-30/re-20210630-git.tgz";
+      sha256 = "15q4zvvzkxf1j0wxw0b1kz4d03js9cbgv82ndl8z6riz40kbffdp";
+      system = "re";
+      asd = "re";
+    });
+    systems = [ "re" ];
+    lispLibs = [ (getAttr "parse" pkgs) ];
+  };
+  read-as-string = {
+    pname = "read-as-string";
+    version = "20211020-git";
+    asds = [ "read-as-string" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/read-as-string/2021-10-20/read-as-string-20211020-git.tgz";
+      sha256 = "14h22w78cir8gqspa3pqbvv3y4akbccbjn6gydzqvn1p2ry556c6";
+      system = "read-as-string";
+      asd = "read-as-string";
+    });
+    systems = [ "read-as-string" ];
+    lispLibs = [ (getAttr "core-reader" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  read-as-string_dot_test = {
+    pname = "read-as-string.test";
+    version = "20211020-git";
+    asds = [ "read-as-string.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/read-as-string/2021-10-20/read-as-string-20211020-git.tgz";
+      sha256 = "14h22w78cir8gqspa3pqbvv3y4akbccbjn6gydzqvn1p2ry556c6";
+      system = "read-as-string.test";
+      asd = "read-as-string.test";
+    });
+    systems = [ "read-as-string.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "read-as-string" pkgs) ];
+  };
+  read-csv = {
+    pname = "read-csv";
+    version = "20181018-git";
+    asds = [ "read-csv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/read-csv/2018-10-18/read-csv-20181018-git.tgz";
+      sha256 = "1wr6n8z7jm611xf2jwp3pw03qzq76440cmb75495l5p907lmrbcs";
+      system = "read-csv";
+      asd = "read-csv";
+    });
+    systems = [ "read-csv" ];
+    lispLibs = [  ];
+  };
+  read-csv_dot_test = {
+    pname = "read-csv.test";
+    version = "20181018-git";
+    asds = [ "read-csv.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/read-csv/2018-10-18/read-csv-20181018-git.tgz";
+      sha256 = "1wr6n8z7jm611xf2jwp3pw03qzq76440cmb75495l5p907lmrbcs";
+      system = "read-csv.test";
+      asd = "read-csv";
+    });
+    systems = [ "read-csv.test" ];
+    lispLibs = [ (getAttr "read-csv" pkgs) ];
+  };
+  read-number = {
+    pname = "read-number";
+    version = "20210124-git";
+    asds = [ "read-number" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/read-number/2021-01-24/read-number-20210124-git.tgz";
+      sha256 = "1p6237w04wwycc2svj8zk3smgxdpzh2bm7zwi426hsf21g963kbi";
+      system = "read-number";
+      asd = "read-number";
+    });
+    systems = [ "read-number" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  reader = {
+    pname = "reader";
+    version = "v0.10.0";
+    asds = [ "reader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/reader/2020-12-20/reader-v0.10.0.tgz";
+      sha256 = "0pbv6w0d8d4qmfkdsz2rk21bp1las9r7pyvpmd95qjz7kpxrirl7";
+      system = "reader";
+      asd = "reader";
+    });
+    systems = [ "reader" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fiveam" pkgs) (getAttr "hash-set" pkgs) (getAttr "iterate" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-types" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  reader_plus_swank = {
+    pname = "reader+swank";
+    version = "v0.10.0";
+    asds = [ "reader+swank" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/reader/2020-12-20/reader-v0.10.0.tgz";
+      sha256 = "0pbv6w0d8d4qmfkdsz2rk21bp1las9r7pyvpmd95qjz7kpxrirl7";
+      system = "reader+swank";
+      asd = "reader+swank";
+    });
+    systems = [ "reader+swank" ];
+    lispLibs = [ (getAttr "reader" pkgs) (getAttr "swank" pkgs) ];
+  };
+  reader-interception = {
+    pname = "reader-interception";
+    version = "20150608-git";
+    asds = [ "reader-interception" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/reader-interception/2015-06-08/reader-interception-20150608-git.tgz";
+      sha256 = "1f6xblayqb9q01qclvqx2gllqxm0qk8rmlp38rz433vgjxbq79y0";
+      system = "reader-interception";
+      asd = "reader-interception";
+    });
+    systems = [ "reader-interception" ];
+    lispLibs = [  ];
+  };
+  reader-interception-test = {
+    pname = "reader-interception-test";
+    version = "20150608-git";
+    asds = [ "reader-interception-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/reader-interception/2015-06-08/reader-interception-20150608-git.tgz";
+      sha256 = "1f6xblayqb9q01qclvqx2gllqxm0qk8rmlp38rz433vgjxbq79y0";
+      system = "reader-interception-test";
+      asd = "reader-interception-test";
+    });
+    systems = [ "reader-interception-test" ];
+    lispLibs = [ (getAttr "fare-utils" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "reader-interception" pkgs) ];
+  };
+  rectangle-packing = {
+    pname = "rectangle-packing";
+    version = "20130615-git";
+    asds = [ "rectangle-packing" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rectangle-packing/2013-06-15/rectangle-packing-20130615-git.tgz";
+      sha256 = "1m31qbgkrgbp753mr012hpzjfddwmfzvazaadp3s6wd34vmbbv01";
+      system = "rectangle-packing";
+      asd = "rectangle-packing";
+    });
+    systems = [ "rectangle-packing" ];
+    lispLibs = [  ];
+  };
+  recur = {
+    pname = "recur";
+    version = "20190307-hg";
+    asds = [ "recur" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/recur/2019-03-07/recur-20190307-hg.tgz";
+      sha256 = "1m19f0m0kn9pk2i6vhd6fwz9bjm6kqp24p5kxmicdr9vn29jihhn";
+      system = "recur";
+      asd = "recur";
+    });
+    systems = [ "recur" ];
+    lispLibs = [  ];
+  };
+  recursive-regex = {
+    pname = "recursive-regex";
+    version = "20120407-git";
+    asds = [ "recursive-regex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/recursive-regex/2012-04-07/recursive-regex-20120407-git.tgz";
+      sha256 = "1alsfqfa85dwms7i3xrbp6ahlqk9a3sl8d4llxy1ydb0rlb09l4r";
+      system = "recursive-regex";
+      asd = "recursive-regex";
+    });
+    systems = [ "recursive-regex" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "iterate" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  recursive-regex-test = {
+    pname = "recursive-regex-test";
+    version = "20120407-git";
+    asds = [ "recursive-regex-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/recursive-regex/2012-04-07/recursive-regex-20120407-git.tgz";
+      sha256 = "1alsfqfa85dwms7i3xrbp6ahlqk9a3sl8d4llxy1ydb0rlb09l4r";
+      system = "recursive-regex-test";
+      asd = "recursive-regex";
+    });
+    systems = [ "recursive-regex-test" ];
+    lispLibs = [ (getAttr "lisp-unit" pkgs) (getAttr "recursive-regex" pkgs) ];
+  };
+  recursive-restart = {
+    pname = "recursive-restart";
+    version = "20161031-git";
+    asds = [ "recursive-restart" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/recursive-restart/2016-10-31/recursive-restart-20161031-git.tgz";
+      sha256 = "0lgw95bnzw99avrb7vcg02fbw3y5mazfgnkim8gsazfjliaj21m7";
+      system = "recursive-restart";
+      asd = "recursive-restart";
+    });
+    systems = [ "recursive-restart" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  redirect-stream = {
+    pname = "redirect-stream";
+    version = "20190710-git";
+    asds = [ "redirect-stream" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/redirect-stream/2019-07-10/redirect-stream-20190710-git.tgz";
+      sha256 = "1l1mwkk3pxbahx2m2v9yw19na45sjdxfy1dv59if738x5mvaqb05";
+      system = "redirect-stream";
+      asd = "redirect-stream";
+    });
+    systems = [ "redirect-stream" ];
+    lispLibs = [ (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  regex = {
+    pname = "regex";
+    version = "20120909-git";
+    asds = [ "regex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regex/2012-09-09/regex-20120909-git.tgz";
+      sha256 = "0wq5wlafrxv13wg28hg5b10sc48b88swsvznpy2zg7x37m4nmm6a";
+      system = "regex";
+      asd = "regex";
+    });
+    systems = [ "regex" ];
+    lispLibs = [  ];
+  };
+  regression = {
+    pname = "regression";
+    version = "master-83d7b044-git";
+    asds = [ "regression" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "regression";
+      asd = "regression";
+    });
+    systems = [ "regression" ];
+    lispLibs = [ (getAttr "surf" pkgs) (getAttr "tasty" pkgs) (getAttr "lift" pkgs) ];
+  };
+  remote-js = {
+    pname = "remote-js";
+    version = "20190710-git";
+    asds = [ "remote-js" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/remote-js/2019-07-10/remote-js-20190710-git.tgz";
+      sha256 = "1z8apvfng8i7x4dsnz9da4y2l9mr7jykm19lmq3070qra7r3lby6";
+      system = "remote-js";
+      asd = "remote-js";
+    });
+    systems = [ "remote-js" ];
+    lispLibs = [ (getAttr "cl-markup" pkgs) (getAttr "find-port" pkgs) (getAttr "trivial-ws" pkgs) ];
+  };
+  remote-js-test = {
+    pname = "remote-js-test";
+    version = "20190710-git";
+    asds = [ "remote-js-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/remote-js/2019-07-10/remote-js-20190710-git.tgz";
+      sha256 = "1z8apvfng8i7x4dsnz9da4y2l9mr7jykm19lmq3070qra7r3lby6";
+      system = "remote-js-test";
+      asd = "remote-js-test";
+    });
+    systems = [ "remote-js-test" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "fiveam" pkgs) (getAttr "remote-js" pkgs) (getAttr "trivial-open-browser" pkgs) ];
+  };
+  repl-utilities = {
+    pname = "repl-utilities";
+    version = "20210228-git";
+    asds = [ "repl-utilities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/repl-utilities/2021-02-28/repl-utilities-20210228-git.tgz";
+      sha256 = "1hh56pq5nw3l4b83dzlyss69f06r038byj2cnjwvci4hfjhdfcc3";
+      system = "repl-utilities";
+      asd = "repl-utilities";
+    });
+    systems = [ "repl-utilities" ];
+    lispLibs = [  ];
+  };
+  replic = {
+    pname = "replic";
+    version = "20210630-git";
+    asds = [ "replic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/replic/2021-06-30/replic-20210630-git.tgz";
+      sha256 = "0i21hrfhvkqggibbivlcsnk5mlk5x3bim50g9bwz1glqn7cm6mfi";
+      system = "replic";
+      asd = "replic";
+    });
+    systems = [ "replic" ];
+    lispLibs = [ (getAttr "cl-ansi-text" pkgs) (getAttr "cl-readline" pkgs) (getAttr "shlex" pkgs) (getAttr "str" pkgs) (getAttr "py-configparser" pkgs) (getAttr "unix-opts" pkgs) ];
+  };
+  replic-test = {
+    pname = "replic-test";
+    version = "20210630-git";
+    asds = [ "replic-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/replic/2021-06-30/replic-20210630-git.tgz";
+      sha256 = "0i21hrfhvkqggibbivlcsnk5mlk5x3bim50g9bwz1glqn7cm6mfi";
+      system = "replic-test";
+      asd = "replic-test";
+    });
+    systems = [ "replic-test" ];
+    lispLibs = [ (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "replic" pkgs) ];
+  };
+  research = {
+    pname = "research";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "research" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "research";
+      asd = "research";
+    });
+    systems = [ "research" ];
+    lispLibs = [ (getAttr "_2d-array-test" pkgs) (getAttr "adjuvant" pkgs) (getAttr "adjuvant-test" pkgs) (getAttr "dispatch-test" pkgs) (getAttr "ndfa-test" pkgs) (getAttr "rte-regexp-test" pkgs) (getAttr "rte-test" pkgs) (getAttr "scrutiny" pkgs) (getAttr "scrutiny-test" pkgs) ];
+  };
+  resignal-bind = {
+    pname = "resignal-bind";
+    version = "20211020-git";
+    asds = [ "resignal-bind" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/resignal-bind/2021-10-20/resignal-bind-20211020-git.tgz";
+      sha256 = "109b5bf2h3yqax87r16dsbnb0xdd9kqi0zdisy0wja1h622yrxhc";
+      system = "resignal-bind";
+      asd = "resignal-bind";
+    });
+    systems = [ "resignal-bind" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) ];
+  };
+  resignal-bind_dot_test = {
+    pname = "resignal-bind.test";
+    version = "20211020-git";
+    asds = [ "resignal-bind.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/resignal-bind/2021-10-20/resignal-bind-20211020-git.tgz";
+      sha256 = "109b5bf2h3yqax87r16dsbnb0xdd9kqi0zdisy0wja1h622yrxhc";
+      system = "resignal-bind.test";
+      asd = "resignal-bind.test";
+    });
+    systems = [ "resignal-bind.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "resignal-bind" pkgs) ];
+  };
+  restas = {
+    pname = "restas";
+    version = "20191008-git";
+    asds = [ "restas" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/restas/2019-10-08/restas-20191008-git.tgz";
+      sha256 = "00ng6jik1lwjw3bbxhijy8s0ml24lgm73liwrr01gcsb0r6wrjjn";
+      system = "restas";
+      asd = "restas";
+    });
+    systems = [ "restas" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "routes" pkgs) (getAttr "data-sift" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  restas-directory-publisher = {
+    pname = "restas-directory-publisher";
+    version = "20130128-git";
+    asds = [ "restas-directory-publisher" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/restas-directory-publisher/2013-01-28/restas-directory-publisher-20130128-git.tgz";
+      sha256 = "1ra4bxsg9v507zrqjx78ak3797clagl6n62d3bx0aghrnkal1gmp";
+      system = "restas-directory-publisher";
+      asd = "restas-directory-publisher";
+    });
+    systems = [ "restas-directory-publisher" ];
+    lispLibs = [ (getAttr "closure-template" pkgs) (getAttr "local-time" pkgs) (getAttr "restas" pkgs) ];
+  };
+  restas-doc = {
+    pname = "restas-doc";
+    version = "20191008-git";
+    asds = [ "restas-doc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/restas/2019-10-08/restas-20191008-git.tgz";
+      sha256 = "00ng6jik1lwjw3bbxhijy8s0ml24lgm73liwrr01gcsb0r6wrjjn";
+      system = "restas-doc";
+      asd = "restas-doc";
+    });
+    systems = [ "restas-doc" ];
+    lispLibs = [ (getAttr "sphinx" pkgs) (getAttr "restas" pkgs) (getAttr "restas-directory-publisher" pkgs) ];
+  };
+  restas_dot_file-publisher = {
+    pname = "restas.file-publisher";
+    version = "20120107-git";
+    asds = [ "restas.file-publisher" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/restas.file-publisher/2012-01-07/restas.file-publisher-20120107-git.tgz";
+      sha256 = "12h291as21ziqb1l6p2p4hy429z6zznacp1gn0m2vah7f811q75l";
+      system = "restas.file-publisher";
+      asd = "restas.file-publisher";
+    });
+    systems = [ "restas.file-publisher" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "restas" pkgs) ];
+  };
+  restful = {
+    pname = "restful";
+    version = "20150608-git";
+    asds = [ "restful" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/restful/2015-06-08/restful-20150608-git.tgz";
+      sha256 = "1imcpd9zm1dbb1675pf3g3d6w9vyxk07g7r33174qdw470j8ml5n";
+      system = "restful";
+      asd = "restful";
+    });
+    systems = [ "restful" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "jonathan" pkgs) ];
+  };
+  restful-test = {
+    pname = "restful-test";
+    version = "20150608-git";
+    asds = [ "restful-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/restful/2015-06-08/restful-20150608-git.tgz";
+      sha256 = "1imcpd9zm1dbb1675pf3g3d6w9vyxk07g7r33174qdw470j8ml5n";
+      system = "restful-test";
+      asd = "restful-test";
+    });
+    systems = [ "restful-test" ];
+    lispLibs = [ (getAttr "drakma" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "restful" pkgs) ];
+  };
+  restricted-functions = {
+    pname = "restricted-functions";
+    version = "20190521-git";
+    asds = [ "restricted-functions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/restricted-functions/2019-05-21/restricted-functions-20190521-git.tgz";
+      sha256 = "092k7bp6n8kppf2wdqf1kf1h8lrww6k1dcxp05dby779b8c6kfz4";
+      system = "restricted-functions";
+      asd = "restricted-functions";
+    });
+    systems = [ "restricted-functions" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "simplified-types" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-arguments" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  retrospectiff = {
+    pname = "retrospectiff";
+    version = "20211209-git";
+    asds = [ "retrospectiff" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/retrospectiff/2021-12-09/retrospectiff-20211209-git.tgz";
+      sha256 = "1vfcbfzhkm2wkxnjg7y6gg93wlib9cqpbdbhyqcm5kc7170ci3vz";
+      system = "retrospectiff";
+      asd = "retrospectiff";
+    });
+    systems = [ "retrospectiff" ];
+    lispLibs = [ (getAttr "cl-jpeg" pkgs) (getAttr "deflate" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "com_dot_gigamonkeys_dot_binary-data" pkgs) (getAttr "opticl-core" pkgs) ];
+  };
+  retrospectiff_slash_test = {
+    pname = "retrospectiff_test";
+    version = "20211209-git";
+    asds = [ "retrospectiff" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/retrospectiff/2021-12-09/retrospectiff-20211209-git.tgz";
+      sha256 = "1vfcbfzhkm2wkxnjg7y6gg93wlib9cqpbdbhyqcm5kc7170ci3vz";
+      system = "retrospectiff";
+      asd = "retrospectiff";
+    });
+    systems = [ "retrospectiff/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "retrospectiff" pkgs) ];
+  };
+  reversi = {
+    pname = "reversi";
+    version = "20201016-git";
+    asds = [ "reversi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/reversi/2020-10-16/reversi-20201016-git.tgz";
+      sha256 = "1vwjk207hvn5skazmkrcifkv4ia9nm5312rj0fr3w5423dr56swx";
+      system = "reversi";
+      asd = "reversi";
+    });
+    systems = [ "reversi" ];
+    lispLibs = [  ];
+  };
+  rfc2109 = {
+    pname = "rfc2109";
+    version = "20151218-darcs";
+    asds = [ "rfc2109" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rfc2109/2015-12-18/rfc2109-20151218-darcs.tgz";
+      sha256 = "1y767qjv5jxyfqzp0zpw96yz95mb8hhpjj9dn2i6b92r0z2vr42d";
+      system = "rfc2109";
+      asd = "rfc2109";
+    });
+    systems = [ "rfc2109" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) ];
+  };
+  rfc2109_slash_test = {
+    pname = "rfc2109_test";
+    version = "20151218-darcs";
+    asds = [ "rfc2109" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rfc2109/2015-12-18/rfc2109-20151218-darcs.tgz";
+      sha256 = "1y767qjv5jxyfqzp0zpw96yz95mb8hhpjj9dn2i6b92r0z2vr42d";
+      system = "rfc2109";
+      asd = "rfc2109";
+    });
+    systems = [ "rfc2109/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  rfc2388 = {
+    pname = "rfc2388";
+    version = "20180831-git";
+    asds = [ "rfc2388" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rfc2388/2018-08-31/rfc2388-20180831-git.tgz";
+      sha256 = "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k";
+      system = "rfc2388";
+      asd = "rfc2388";
+    });
+    systems = [ "rfc2388" ];
+    lispLibs = [  ];
+  };
+  rfc2388-binary = {
+    pname = "rfc2388-binary";
+    version = "20170124-darcs";
+    asds = [ "rfc2388-binary" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rfc2388-binary/2017-01-24/rfc2388-binary-20170124-darcs.tgz";
+      sha256 = "1ddjhd9vqramg93963d4py9a2hqpy1fr1ly517r3bpjx7a5mffwk";
+      system = "rfc2388-binary";
+      asd = "rfc2388-binary";
+    });
+    systems = [ "rfc2388-binary" ];
+    lispLibs = [  ];
+  };
+  rlc = {
+    pname = "rlc";
+    version = "20150923-git";
+    asds = [ "rlc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rlc/2015-09-23/rlc-20150923-git.tgz";
+      sha256 = "1c37as5x45yizs76s7115a0w3fgas80bjb8xzq7yylpmxq44s2rk";
+      system = "rlc";
+      asd = "rlc";
+    });
+    systems = [ "rlc" ];
+    lispLibs = [ (getAttr "kmrcl" pkgs) ];
+  };
+  roan = {
+    pname = "roan";
+    version = "20201220-git";
+    asds = [ "roan" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/roan/2020-12-20/roan-20201220-git.tgz";
+      sha256 = "032znprz03x4apzssb5vzs55cfdfyvca56bcrwxwm9dgkh3cnh7z";
+      system = "roan";
+      asd = "roan";
+    });
+    systems = [ "roan" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "asdf-encodings" pkgs) (getAttr "binascii" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "iterate" pkgs) (getAttr "local-time" pkgs) (getAttr "named-readtables" pkgs) (getAttr "plump" pkgs) (getAttr "uuid" pkgs) (getAttr "zip" pkgs) ];
+  };
+  roan_slash_doc = {
+    pname = "roan_doc";
+    version = "20201220-git";
+    asds = [ "roan" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/roan/2020-12-20/roan-20201220-git.tgz";
+      sha256 = "032znprz03x4apzssb5vzs55cfdfyvca56bcrwxwm9dgkh3cnh7z";
+      system = "roan";
+      asd = "roan";
+    });
+    systems = [ "roan/doc" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "asdf-encodings" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "iterate" pkgs) (getAttr "roan" pkgs) (getAttr "trivial-documentation" pkgs) ];
+  };
+  roan_slash_test = {
+    pname = "roan_test";
+    version = "20201220-git";
+    asds = [ "roan" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/roan/2020-12-20/roan-20201220-git.tgz";
+      sha256 = "032znprz03x4apzssb5vzs55cfdfyvca56bcrwxwm9dgkh3cnh7z";
+      system = "roan";
+      asd = "roan";
+    });
+    systems = [ "roan/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "asdf-encodings" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "iterate" pkgs) (getAttr "lisp-unit2" pkgs) (getAttr "roan" pkgs) ];
+  };
+  robot = {
+    pname = "robot";
+    version = "master-83d7b044-git";
+    asds = [ "robot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "robot";
+      asd = "robot";
+    });
+    systems = [ "robot" ];
+    lispLibs = [ (getAttr "gwl-graphics" pkgs) ];
+  };
+  rock = {
+    pname = "rock";
+    version = "20150608-git";
+    asds = [ "rock" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rock/2015-06-08/rock-20150608-git.tgz";
+      sha256 = "1ckvxswinv25vzwmyrr6k7m9cx99kl04b4543mlxad9688np91y8";
+      system = "rock";
+      asd = "rock";
+    });
+    systems = [ "rock" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "trivial-download" pkgs) (getAttr "trivial-extract" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  rock-test = {
+    pname = "rock-test";
+    version = "20150608-git";
+    asds = [ "rock-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rock/2015-06-08/rock-20150608-git.tgz";
+      sha256 = "1ckvxswinv25vzwmyrr6k7m9cx99kl04b4543mlxad9688np91y8";
+      system = "rock-test";
+      asd = "rock-test";
+    });
+    systems = [ "rock-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "rock" pkgs) ];
+  };
+  rock-web = {
+    pname = "rock-web";
+    version = "20150608-git";
+    asds = [ "rock-web" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rock/2015-06-08/rock-20150608-git.tgz";
+      sha256 = "1ckvxswinv25vzwmyrr6k7m9cx99kl04b4543mlxad9688np91y8";
+      system = "rock-web";
+      asd = "rock-web";
+    });
+    systems = [ "rock-web" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "_3bmd-ext-code-blocks" pkgs) (getAttr "_3bmd-ext-definition-lists" pkgs) (getAttr "cl-markup" pkgs) (getAttr "lass" pkgs) (getAttr "rock" pkgs) ];
+  };
+  romreader = {
+    pname = "romreader";
+    version = "20140713-git";
+    asds = [ "romreader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/romreader/2014-07-13/romreader-20140713-git.tgz";
+      sha256 = "1k3fnh48vy5wdbqif4hmflmxc3xnihyi1222cldcjvxl294yk6xx";
+      system = "romreader";
+      asd = "romreader";
+    });
+    systems = [ "romreader" ];
+    lispLibs = [  ];
+  };
+  routes = {
+    pname = "routes";
+    version = "20170124-git";
+    asds = [ "routes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-routes/2017-01-24/cl-routes-20170124-git.tgz";
+      sha256 = "1zpk3cp2v8hm50ppjl10yxr437vv4552r8hylvizglzrq2ibsbr1";
+      system = "routes";
+      asd = "routes";
+    });
+    systems = [ "routes" ];
+    lispLibs = [ (getAttr "iterate" pkgs) (getAttr "puri" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  routes-test = {
+    pname = "routes-test";
+    version = "20170124-git";
+    asds = [ "routes-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-routes/2017-01-24/cl-routes-20170124-git.tgz";
+      sha256 = "1zpk3cp2v8hm50ppjl10yxr437vv4552r8hylvizglzrq2ibsbr1";
+      system = "routes-test";
+      asd = "routes";
+    });
+    systems = [ "routes-test" ];
+    lispLibs = [ (getAttr "routes" pkgs) (getAttr "lift" pkgs) ];
+  };
+  rove = {
+    pname = "rove";
+    version = "20211209-git";
+    asds = [ "rove" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rove/2021-12-09/rove-20211209-git.tgz";
+      sha256 = "1yh83cv3mf2sa7zmb3zr48xqg4aldi4adgislsaj8zk7y3qci00x";
+      system = "rove";
+      asd = "rove";
+    });
+    systems = [ "rove" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "dissect" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  rovers-problem-translator = {
+    pname = "rovers-problem-translator";
+    version = "20211209-git";
+    asds = [ "rovers-problem-translator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shop3/2021-12-09/shop3-20211209-git.tgz";
+      sha256 = "0gw5z70pk0ddjihsikzqd8xzraa21lnndggnsgqh3wg9npgmxifd";
+      system = "rovers-problem-translator";
+      asd = "rovers-problem-translator";
+    });
+    systems = [ "rovers-problem-translator" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) (getAttr "shop3" pkgs) ];
+  };
+  rpcq = {
+    pname = "rpcq";
+    version = "v3.9.2";
+    asds = [ "rpcq" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rpcq/2021-10-20/rpcq-v3.9.2.tgz";
+      sha256 = "1vvf6y7459f8aamhkcxx36ajiai143s2vwg751x0dl0lx7hp3yn5";
+      system = "rpcq";
+      asd = "rpcq";
+    });
+    systems = [ "rpcq" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-messagepack" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-syslog" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "local-time" pkgs) (getAttr "parse-float" pkgs) (getAttr "pzmq" pkgs) (getAttr "trivial-backtrace" pkgs) (getAttr "uuid" pkgs) (getAttr "yason" pkgs) ];
+  };
+  rpcq-tests = {
+    pname = "rpcq-tests";
+    version = "v3.9.2";
+    asds = [ "rpcq-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rpcq/2021-10-20/rpcq-v3.9.2.tgz";
+      sha256 = "1vvf6y7459f8aamhkcxx36ajiai143s2vwg751x0dl0lx7hp3yn5";
+      system = "rpcq-tests";
+      asd = "rpcq-tests";
+    });
+    systems = [ "rpcq-tests" ];
+    lispLibs = [ (getAttr "cl-messagepack" pkgs) (getAttr "cl-syslog" pkgs) (getAttr "fiasco" pkgs) (getAttr "rpcq" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  rpm = {
+    pname = "rpm";
+    version = "20160421-git";
+    asds = [ "rpm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rpm/2016-04-21/rpm-20160421-git.tgz";
+      sha256 = "0qn4vw3pvjm0maksl57mwikcmv7calzlblp5s01ixrn3nrgxmd9k";
+      system = "rpm";
+      asd = "rpm";
+    });
+    systems = [ "rpm" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "fare-utils" pkgs) (getAttr "inferior-shell" pkgs) (getAttr "lambda-reader" pkgs) ];
+  };
+  rs-colors = {
+    pname = "rs-colors";
+    version = "20200218-git";
+    asds = [ "rs-colors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rs-colors/2020-02-18/rs-colors-20200218-git.tgz";
+      sha256 = "0vbnfirq4sa63vp47hazbnjwgplzc7af0laznb47jqxhb7s6jnai";
+      system = "rs-colors";
+      asd = "rs-colors";
+    });
+    systems = [ "rs-colors" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "read-number" pkgs) (getAttr "rs-colors-internal" pkgs) ];
+  };
+  rs-colors-html = {
+    pname = "rs-colors-html";
+    version = "20200218-git";
+    asds = [ "rs-colors-html" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rs-colors/2020-02-18/rs-colors-20200218-git.tgz";
+      sha256 = "0vbnfirq4sa63vp47hazbnjwgplzc7af0laznb47jqxhb7s6jnai";
+      system = "rs-colors-html";
+      asd = "rs-colors-html";
+    });
+    systems = [ "rs-colors-html" ];
+    lispLibs = [ (getAttr "rs-colors" pkgs) ];
+  };
+  rs-colors-internal = {
+    pname = "rs-colors-internal";
+    version = "20200218-git";
+    asds = [ "rs-colors-internal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rs-colors/2020-02-18/rs-colors-20200218-git.tgz";
+      sha256 = "0vbnfirq4sa63vp47hazbnjwgplzc7af0laznb47jqxhb7s6jnai";
+      system = "rs-colors-internal";
+      asd = "rs-colors-internal";
+    });
+    systems = [ "rs-colors-internal" ];
+    lispLibs = [ (getAttr "iterate" pkgs) ];
+  };
+  rs-colors-material-io = {
+    pname = "rs-colors-material-io";
+    version = "20200218-git";
+    asds = [ "rs-colors-material-io" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rs-colors/2020-02-18/rs-colors-20200218-git.tgz";
+      sha256 = "0vbnfirq4sa63vp47hazbnjwgplzc7af0laznb47jqxhb7s6jnai";
+      system = "rs-colors-material-io";
+      asd = "rs-colors-material-io";
+    });
+    systems = [ "rs-colors-material-io" ];
+    lispLibs = [ (getAttr "rs-colors" pkgs) ];
+  };
+  rs-colors-ral = {
+    pname = "rs-colors-ral";
+    version = "20200218-git";
+    asds = [ "rs-colors-ral" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rs-colors/2020-02-18/rs-colors-20200218-git.tgz";
+      sha256 = "0vbnfirq4sa63vp47hazbnjwgplzc7af0laznb47jqxhb7s6jnai";
+      system = "rs-colors-ral";
+      asd = "rs-colors-ral";
+    });
+    systems = [ "rs-colors-ral" ];
+    lispLibs = [ (getAttr "rs-colors" pkgs) ];
+  };
+  rs-colors-ral-design = {
+    pname = "rs-colors-ral-design";
+    version = "20200218-git";
+    asds = [ "rs-colors-ral-design" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rs-colors/2020-02-18/rs-colors-20200218-git.tgz";
+      sha256 = "0vbnfirq4sa63vp47hazbnjwgplzc7af0laznb47jqxhb7s6jnai";
+      system = "rs-colors-ral-design";
+      asd = "rs-colors-ral-design";
+    });
+    systems = [ "rs-colors-ral-design" ];
+    lispLibs = [ (getAttr "rs-colors" pkgs) ];
+  };
+  rs-colors-svg = {
+    pname = "rs-colors-svg";
+    version = "20200218-git";
+    asds = [ "rs-colors-svg" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rs-colors/2020-02-18/rs-colors-20200218-git.tgz";
+      sha256 = "0vbnfirq4sa63vp47hazbnjwgplzc7af0laznb47jqxhb7s6jnai";
+      system = "rs-colors-svg";
+      asd = "rs-colors-svg";
+    });
+    systems = [ "rs-colors-svg" ];
+    lispLibs = [ (getAttr "rs-colors" pkgs) ];
+  };
+  rs-colors-tango = {
+    pname = "rs-colors-tango";
+    version = "20200218-git";
+    asds = [ "rs-colors-tango" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rs-colors/2020-02-18/rs-colors-20200218-git.tgz";
+      sha256 = "0vbnfirq4sa63vp47hazbnjwgplzc7af0laznb47jqxhb7s6jnai";
+      system = "rs-colors-tango";
+      asd = "rs-colors-tango";
+    });
+    systems = [ "rs-colors-tango" ];
+    lispLibs = [ (getAttr "rs-colors" pkgs) ];
+  };
+  rs-colors-x11 = {
+    pname = "rs-colors-x11";
+    version = "20200218-git";
+    asds = [ "rs-colors-x11" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rs-colors/2020-02-18/rs-colors-20200218-git.tgz";
+      sha256 = "0vbnfirq4sa63vp47hazbnjwgplzc7af0laznb47jqxhb7s6jnai";
+      system = "rs-colors-x11";
+      asd = "rs-colors-x11";
+    });
+    systems = [ "rs-colors-x11" ];
+    lispLibs = [ (getAttr "rs-colors" pkgs) ];
+  };
+  rss = {
+    pname = "rss";
+    version = "20201016-git";
+    asds = [ "rss" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-rss/2020-10-16/cl-rss-20201016-git.tgz";
+      sha256 = "0wv3j13fj73gigriw5r9vi920hz05ld7zllsvbxdxvmyfy9k1kly";
+      system = "rss";
+      asd = "rss";
+    });
+    systems = [ "rss" ];
+    lispLibs = [ (getAttr "kmrcl" pkgs) (getAttr "aserve" pkgs) (getAttr "xmls" pkgs) ];
+  };
+  rt = {
+    pname = "rt";
+    version = "20101006-git";
+    asds = [ "rt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rt/2010-10-06/rt-20101006-git.tgz";
+      sha256 = "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b";
+      system = "rt";
+      asd = "rt";
+    });
+    systems = [ "rt" ];
+    lispLibs = [  ];
+  };
+  rt-events = {
+    pname = "rt-events";
+    version = "20160318-git";
+    asds = [ "rt-events" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rt-events/2016-03-18/rt-events-20160318-git.tgz";
+      sha256 = "17wqhczsi4mq00fp5hfc38b9ijdiaqjh7cvxhy714qqz3f5mxzdw";
+      system = "rt-events";
+      asd = "rt-events";
+    });
+    systems = [ "rt-events" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  rt-events_dot_examples = {
+    pname = "rt-events.examples";
+    version = "20160318-git";
+    asds = [ "rt-events.examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rt-events/2016-03-18/rt-events-20160318-git.tgz";
+      sha256 = "17wqhczsi4mq00fp5hfc38b9ijdiaqjh7cvxhy714qqz3f5mxzdw";
+      system = "rt-events.examples";
+      asd = "rt-events.examples";
+    });
+    systems = [ "rt-events.examples" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "rt-events" pkgs) ];
+  };
+  rte = {
+    pname = "rte";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "rte" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "rte";
+      asd = "rte";
+    });
+    systems = [ "rte" ];
+    lispLibs = [ (getAttr "adjuvant" pkgs) (getAttr "lisp-types" pkgs) (getAttr "ndfa" pkgs) ];
+  };
+  rte-regexp = {
+    pname = "rte-regexp";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "rte-regexp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "rte-regexp";
+      asd = "rte-regexp";
+    });
+    systems = [ "rte-regexp" ];
+    lispLibs = [ (getAttr "yacc" pkgs) (getAttr "adjuvant" pkgs) (getAttr "rte" pkgs) ];
+  };
+  rte-regexp-test = {
+    pname = "rte-regexp-test";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "rte-regexp-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "rte-regexp-test";
+      asd = "rte-regexp-test";
+    });
+    systems = [ "rte-regexp-test" ];
+    lispLibs = [ (getAttr "adjuvant" pkgs) (getAttr "rte" pkgs) (getAttr "rte-regexp" pkgs) (getAttr "scrutiny" pkgs) ];
+  };
+  rte-test = {
+    pname = "rte-test";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "rte-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "rte-test";
+      asd = "rte-test";
+    });
+    systems = [ "rte-test" ];
+    lispLibs = [ (getAttr "_2d-array" pkgs) (getAttr "_2d-array-test" pkgs) (getAttr "adjuvant" pkgs) (getAttr "lisp-types-test" pkgs) (getAttr "ndfa-test" pkgs) (getAttr "rte" pkgs) (getAttr "rte-regexp-test" pkgs) (getAttr "scrutiny" pkgs) ];
+  };
+  rtg-math = {
+    pname = "rtg-math";
+    version = "release-quicklisp-29fc5b3d-git";
+    asds = [ "rtg-math" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rtg-math/2019-10-07/rtg-math-release-quicklisp-29fc5b3d-git.tgz";
+      sha256 = "0bhxxnv7ldkkb18zdxyz2rj2a3iawzq2kcp7cn5i91iby7n0082x";
+      system = "rtg-math";
+      asd = "rtg-math";
+    });
+    systems = [ "rtg-math" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "glsl-symbols" pkgs) ];
+  };
+  rtg-math_dot_vari = {
+    pname = "rtg-math.vari";
+    version = "release-quicklisp-29fc5b3d-git";
+    asds = [ "rtg-math.vari" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rtg-math/2019-10-07/rtg-math-release-quicklisp-29fc5b3d-git.tgz";
+      sha256 = "0bhxxnv7ldkkb18zdxyz2rj2a3iawzq2kcp7cn5i91iby7n0082x";
+      system = "rtg-math.vari";
+      asd = "rtg-math.vari";
+    });
+    systems = [ "rtg-math.vari" ];
+    lispLibs = [ (getAttr "glsl-symbols" pkgs) (getAttr "rtg-math" pkgs) (getAttr "varjo" pkgs) ];
+  };
+  rucksack = {
+    pname = "rucksack";
+    version = "20150608-git";
+    asds = [ "rucksack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rucksack/2015-06-08/rucksack-20150608-git.tgz";
+      sha256 = "0d6lvhc18i0brh75vp3n974ssx52b42rvwd24llhnphlnhryxh86";
+      system = "rucksack";
+      asd = "rucksack";
+    });
+    systems = [ "rucksack" ];
+    lispLibs = [  ];
+  };
+  rucksack-test = {
+    pname = "rucksack-test";
+    version = "20150608-git";
+    asds = [ "rucksack-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rucksack/2015-06-08/rucksack-20150608-git.tgz";
+      sha256 = "0d6lvhc18i0brh75vp3n974ssx52b42rvwd24llhnphlnhryxh86";
+      system = "rucksack-test";
+      asd = "rucksack-test";
+    });
+    systems = [ "rucksack-test" ];
+    lispLibs = [ (getAttr "rucksack" pkgs) ];
+  };
+  rutils = {
+    pname = "rutils";
+    version = "20210228-git";
+    asds = [ "rutils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rutils/2021-02-28/rutils-20210228-git.tgz";
+      sha256 = "1d2whscknh1zga2vdqvfqri8wx0gnml3sfqz62igq0ppap6q07y3";
+      system = "rutils";
+      asd = "rutils";
+    });
+    systems = [ "rutils" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  rutils-test = {
+    pname = "rutils-test";
+    version = "20210228-git";
+    asds = [ "rutils-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rutils/2021-02-28/rutils-20210228-git.tgz";
+      sha256 = "1d2whscknh1zga2vdqvfqri8wx0gnml3sfqz62igq0ppap6q07y3";
+      system = "rutils-test";
+      asd = "rutils-test";
+    });
+    systems = [ "rutils-test" ];
+    lispLibs = [ (getAttr "rutils" pkgs) (getAttr "should-test" pkgs) ];
+  };
+  rutilsx = {
+    pname = "rutilsx";
+    version = "20210228-git";
+    asds = [ "rutilsx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/rutils/2021-02-28/rutils-20210228-git.tgz";
+      sha256 = "1d2whscknh1zga2vdqvfqri8wx0gnml3sfqz62igq0ppap6q07y3";
+      system = "rutilsx";
+      asd = "rutilsx";
+    });
+    systems = [ "rutilsx" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "named-readtables" pkgs) (getAttr "rutils" pkgs) ];
+  };
+  ryeboy = {
+    pname = "ryeboy";
+    version = "20201016-git";
+    asds = [ "ryeboy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ryeboy/2020-10-16/ryeboy-20201016-git.tgz";
+      sha256 = "0div6m6861damksxdxcycpdyyjn50bjsxfdkksm34w6162zdjcla";
+      system = "ryeboy";
+      asd = "ryeboy";
+    });
+    systems = [ "ryeboy" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "com_dot_google_dot_base" pkgs) (getAttr "protobuf" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  ryeboy_slash_test = {
+    pname = "ryeboy_test";
+    version = "20201016-git";
+    asds = [ "ryeboy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ryeboy/2020-10-16/ryeboy-20201016-git.tgz";
+      sha256 = "0div6m6861damksxdxcycpdyyjn50bjsxfdkksm34w6162zdjcla";
+      system = "ryeboy";
+      asd = "ryeboy";
+    });
+    systems = [ "ryeboy/test" ];
+    lispLibs = [ (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "ryeboy" pkgs) ];
+  };
+  s-base64 = {
+    pname = "s-base64";
+    version = "20130128-git";
+    asds = [ "s-base64" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/s-base64/2013-01-28/s-base64-20130128-git.tgz";
+      sha256 = "0zrr8zhnkdy97c5g54605nhjlf7fly79ylr1yf6wwyssia04cagg";
+      system = "s-base64";
+      asd = "s-base64";
+    });
+    systems = [ "s-base64" ];
+    lispLibs = [  ];
+  };
+  s-dot2 = {
+    pname = "s-dot2";
+    version = "20181018-git";
+    asds = [ "s-dot2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/s-dot2/2018-10-18/s-dot2-20181018-git.tgz";
+      sha256 = "0q8293fhdb1i2mgmck5611z92p71g9fcarrm87nsr6s21w29hzrz";
+      system = "s-dot2";
+      asd = "s-dot2";
+    });
+    systems = [ "s-dot2" ];
+    lispLibs = [ (getAttr "uiop" pkgs) ];
+  };
+  s-graphviz = {
+    pname = "s-graphviz";
+    version = "20201220-git";
+    asds = [ "s-graphviz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/s-graphviz/2020-12-20/s-graphviz-20201220-git.tgz";
+      sha256 = "1841xwci6y1gfhg15464wrlnw8xgsh1mwbg4yy2y7di02q4fbma2";
+      system = "s-graphviz";
+      asd = "s-graphviz";
+    });
+    systems = [ "s-graphviz" ];
+    lispLibs = [ (getAttr "iterate" pkgs) (getAttr "literate-lisp" pkgs) ];
+  };
+  s-http-client = {
+    pname = "s-http-client";
+    version = "20200427-git";
+    asds = [ "s-http-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/s-http-client/2020-04-27/s-http-client-20200427-git.tgz";
+      sha256 = "1fb2901h91rgfxz3cm1lb2dnd84m1fr745nd2kswd1mj2xz94zn8";
+      system = "s-http-client";
+      asd = "s-http-client";
+    });
+    systems = [ "s-http-client" ];
+    lispLibs = [ (getAttr "chipz" pkgs) (getAttr "puri" pkgs) (getAttr "s-base64" pkgs) (getAttr "s-sysdeps" pkgs) (getAttr "s-utils" pkgs) ];
+  };
+  s-http-server = {
+    pname = "s-http-server";
+    version = "20200427-git";
+    asds = [ "s-http-server" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/s-http-server/2020-04-27/s-http-server-20200427-git.tgz";
+      sha256 = "025mvnqhxx2c092aam3s4fk9v0p65hzdw39y4lamm0bdralda4bk";
+      system = "s-http-server";
+      asd = "s-http-server";
+    });
+    systems = [ "s-http-server" ];
+    lispLibs = [ (getAttr "puri" pkgs) (getAttr "s-base64" pkgs) (getAttr "s-sysdeps" pkgs) (getAttr "s-utils" pkgs) (getAttr "salza2" pkgs) ];
+  };
+  s-sql = {
+    pname = "s-sql";
+    version = "20211209-git";
+    asds = [ "s-sql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/postmodern/2021-12-09/postmodern-20211209-git.tgz";
+      sha256 = "1d511fnl3iqxk4zvdzj6prc793q7agzm4v148pn5niv3ydcx1vvy";
+      system = "s-sql";
+      asd = "s-sql";
+    });
+    systems = [ "s-sql" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-postgres" pkgs) ];
+  };
+  s-sql_slash_tests = {
+    pname = "s-sql_tests";
+    version = "20211209-git";
+    asds = [ "s-sql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/postmodern/2021-12-09/postmodern-20211209-git.tgz";
+      sha256 = "1d511fnl3iqxk4zvdzj6prc793q7agzm4v148pn5niv3ydcx1vvy";
+      system = "s-sql";
+      asd = "s-sql";
+    });
+    systems = [ "s-sql/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "cl-postgres" pkgs) (getAttr "postmodern" pkgs) (getAttr "s-sql" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  s-sysdeps = {
+    pname = "s-sysdeps";
+    version = "20210228-git";
+    asds = [ "s-sysdeps" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/s-sysdeps/2021-02-28/s-sysdeps-20210228-git.tgz";
+      sha256 = "0rp81iq0rgl48qdwbmfy89glga81hmry2lp8adjbr5h5ybr92b4n";
+      system = "s-sysdeps";
+      asd = "s-sysdeps";
+    });
+    systems = [ "s-sysdeps" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "usocket" pkgs) (getAttr "usocket-server" pkgs) ];
+  };
+  s-utils = {
+    pname = "s-utils";
+    version = "20200427-git";
+    asds = [ "s-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/s-utils/2020-04-27/s-utils-20200427-git.tgz";
+      sha256 = "0xggbcvjmj4sdqcs6vaccryqp2piaqxkc0ygkczrd5m14bwrmlp6";
+      system = "s-utils";
+      asd = "s-utils";
+    });
+    systems = [ "s-utils" ];
+    lispLibs = [  ];
+  };
+  s-xml = {
+    pname = "s-xml";
+    version = "20150608-git";
+    asds = [ "s-xml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz";
+      sha256 = "1zsf5zrlf47g5cp70kb9b8d4v88315g633q5jcdx22csw7sd7if1";
+      system = "s-xml";
+      asd = "s-xml";
+    });
+    systems = [ "s-xml" ];
+    lispLibs = [  ];
+  };
+  s-xml-rpc = {
+    pname = "s-xml-rpc";
+    version = "20190521-git";
+    asds = [ "s-xml-rpc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/s-xml-rpc/2019-05-21/s-xml-rpc-20190521-git.tgz";
+      sha256 = "0z42awkz124xphkahw0mhg1pk029l2799rhyy51387ndd6gbqscx";
+      system = "s-xml-rpc";
+      asd = "s-xml-rpc";
+    });
+    systems = [ "s-xml-rpc" ];
+    lispLibs = [ (getAttr "s-xml" pkgs) ];
+  };
+  s-xml_dot_examples = {
+    pname = "s-xml.examples";
+    version = "20150608-git";
+    asds = [ "s-xml.examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz";
+      sha256 = "1zsf5zrlf47g5cp70kb9b8d4v88315g633q5jcdx22csw7sd7if1";
+      system = "s-xml.examples";
+      asd = "s-xml";
+    });
+    systems = [ "s-xml.examples" ];
+    lispLibs = [ (getAttr "s-xml" pkgs) ];
+  };
+  s-xml_dot_test = {
+    pname = "s-xml.test";
+    version = "20150608-git";
+    asds = [ "s-xml.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/s-xml/2015-06-08/s-xml-20150608-git.tgz";
+      sha256 = "1zsf5zrlf47g5cp70kb9b8d4v88315g633q5jcdx22csw7sd7if1";
+      system = "s-xml.test";
+      asd = "s-xml";
+    });
+    systems = [ "s-xml.test" ];
+    lispLibs = [ (getAttr "s-xml" pkgs) ];
+  };
+  safe-queue = {
+    pname = "safe-queue";
+    version = "20200325-git";
+    asds = [ "safe-queue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/safe-queue/2020-03-25/safe-queue-20200325-git.tgz";
+      sha256 = "1agvp8y2k5c6w35kly6d9a7hi1y6csn4k0hqqdv7i87lgjdi7vrq";
+      system = "safe-queue";
+      asd = "safe-queue";
+    });
+    systems = [ "safe-queue" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) ];
+  };
+  safe-read = {
+    pname = "safe-read";
+    version = "20211230-git";
+    asds = [ "safe-read" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/safe-read/2021-12-30/safe-read-20211230-git.tgz";
+      sha256 = "0bkpf9p4h0i8l1bjwzzpb1y182kb06alh5yki41alqvd3k7256wh";
+      system = "safe-read";
+      asd = "safe-read";
+    });
+    systems = [ "safe-read" ];
+    lispLibs = [ (getAttr "local-time" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  safe-read_slash_test = {
+    pname = "safe-read_test";
+    version = "20211230-git";
+    asds = [ "safe-read" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/safe-read/2021-12-30/safe-read-20211230-git.tgz";
+      sha256 = "0bkpf9p4h0i8l1bjwzzpb1y182kb06alh5yki41alqvd3k7256wh";
+      system = "safe-read";
+      asd = "safe-read";
+    });
+    systems = [ "safe-read/test" ];
+    lispLibs = [ (getAttr "safe-read" pkgs) ];
+  };
+  safety-params = {
+    pname = "safety-params";
+    version = "20190202-git";
+    asds = [ "safety-params" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/safety-params/2019-02-02/safety-params-20190202-git.tgz";
+      sha256 = "1y69b9aw3vsnsk0vdjyxw011j0lgc5gdwv6ay6vzfipa9gzi92ki";
+      system = "safety-params";
+      asd = "safety-params";
+    });
+    systems = [ "safety-params" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  safety-params_slash_tests = {
+    pname = "safety-params_tests";
+    version = "20190202-git";
+    asds = [ "safety-params" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/safety-params/2019-02-02/safety-params-20190202-git.tgz";
+      sha256 = "1y69b9aw3vsnsk0vdjyxw011j0lgc5gdwv6ay6vzfipa9gzi92ki";
+      system = "safety-params";
+      asd = "safety-params";
+    });
+    systems = [ "safety-params/tests" ];
+    lispLibs = [ (getAttr "rove" pkgs) (getAttr "safety-params" pkgs) ];
+  };
+  salza2 = {
+    pname = "salza2";
+    version = "2.1";
+    asds = [ "salza2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/salza2/2021-10-20/salza2-2.1.tgz";
+      sha256 = "1p48lxdibnps5rpyh5cmnk0vc77bmmxb32qdzfz93zadr8wwas10";
+      system = "salza2";
+      asd = "salza2";
+    });
+    systems = [ "salza2" ];
+    lispLibs = [ (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  salza2_slash_test = {
+    pname = "salza2_test";
+    version = "2.1";
+    asds = [ "salza2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/salza2/2021-10-20/salza2-2.1.tgz";
+      sha256 = "1p48lxdibnps5rpyh5cmnk0vc77bmmxb32qdzfz93zadr8wwas10";
+      system = "salza2";
+      asd = "salza2";
+    });
+    systems = [ "salza2/test" ];
+    lispLibs = [ (getAttr "chipz" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "parachute" pkgs) (getAttr "salza2" pkgs) ];
+  };
+  sandalphon_dot_lambda-list = {
+    pname = "sandalphon.lambda-list";
+    version = "20180711-git";
+    asds = [ "sandalphon.lambda-list" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sandalphon.lambda-list/2018-07-11/sandalphon.lambda-list-20180711-git.tgz";
+      sha256 = "1iihs05cwy4xyms2vl3fjc9xpivyxb2mpmb60nylxrkvlm0l7v7h";
+      system = "sandalphon.lambda-list";
+      asd = "sandalphon.lambda-list";
+    });
+    systems = [ "sandalphon.lambda-list" ];
+    lispLibs = [  ];
+  };
+  sane = {
+    pname = "sane";
+    version = "20150608-git";
+    asds = [ "sane" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sane/2015-06-08/cl-sane-20150608-git.tgz";
+      sha256 = "1fyih96byyccw1rk7sm5qapqb3lwy7p65sxvxpfkc0cxziixf90w";
+      system = "sane";
+      asd = "sane";
+    });
+    systems = [ "sane" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "iterate" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  sanitize = {
+    pname = "sanitize";
+    version = "20130720-git";
+    asds = [ "sanitize" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sanitize/2013-07-20/cl-sanitize-20130720-git.tgz";
+      sha256 = "101qqgi53scz3aaca57yg5wk9ana2axpwssmgrcb5c2ip5a2lwi3";
+      system = "sanitize";
+      asd = "sanitize";
+    });
+    systems = [ "sanitize" ];
+    lispLibs = [ (getAttr "cl-libxml2" pkgs) ];
+  };
+  sanitize-test = {
+    pname = "sanitize-test";
+    version = "20130720-git";
+    asds = [ "sanitize-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sanitize/2013-07-20/cl-sanitize-20130720-git.tgz";
+      sha256 = "101qqgi53scz3aaca57yg5wk9ana2axpwssmgrcb5c2ip5a2lwi3";
+      system = "sanitize-test";
+      asd = "sanitize";
+    });
+    systems = [ "sanitize-test" ];
+    lispLibs = [ (getAttr "sanitize" pkgs) (getAttr "eos" pkgs) ];
+  };
+  sanity-clause = {
+    pname = "sanity-clause";
+    version = "20210807-git";
+    asds = [ "sanity-clause" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sanity-clause/2021-08-07/sanity-clause-20210807-git.tgz";
+      sha256 = "0dzh00zpaqv48pn0xhbibiy33j8fwd2scsy5i466c9x9mcbhjz4f";
+      system = "sanity-clause";
+      asd = "sanity-clause";
+    });
+    systems = [ "sanity-clause" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "arrows" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "str" pkgs) (getAttr "closer-mop" pkgs) (getAttr "local-time" pkgs) (getAttr "parse-float" pkgs) (getAttr "quri" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  sanity-clause_slash_test = {
+    pname = "sanity-clause_test";
+    version = "20210807-git";
+    asds = [ "sanity-clause" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sanity-clause/2021-08-07/sanity-clause-20210807-git.tgz";
+      sha256 = "0dzh00zpaqv48pn0xhbibiy33j8fwd2scsy5i466c9x9mcbhjz4f";
+      system = "sanity-clause";
+      asd = "sanity-clause";
+    });
+    systems = [ "sanity-clause/test" ];
+    lispLibs = [ (getAttr "rove" pkgs) (getAttr "sanity-clause" pkgs) ];
+  };
+  sapaclisp = {
+    pname = "sapaclisp";
+    version = "1.0a";
+    asds = [ "sapaclisp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sapaclisp/2012-05-20/sapaclisp-1.0a.tgz";
+      sha256 = "1bgqvwvjq8g5wrmp5r1dn1v99hgin9gihwkihz455n9dn90l3pyq";
+      system = "sapaclisp";
+      asd = "sapaclisp";
+    });
+    systems = [ "sapaclisp" ];
+    lispLibs = [  ];
+  };
+  sb-cga = {
+    pname = "sb-cga";
+    version = "20210531-git";
+    asds = [ "sb-cga" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sb-cga/2021-05-31/sb-cga-20210531-git.tgz";
+      sha256 = "1y54qlwfrhch9aghk7nsbdx7x2qsvgsws1g2k631l9dsgdakw4w8";
+      system = "sb-cga";
+      asd = "sb-cga";
+    });
+    systems = [ "sb-cga" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  sb-fastcgi = {
+    pname = "sb-fastcgi";
+    version = "20210124-git";
+    asds = [ "sb-fastcgi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sb-fastcgi/2021-01-24/sb-fastcgi-20210124-git.tgz";
+      sha256 = "15arl39xq0wp9marrgf36grv7z5w2z4zaigllypx96b3kbmw6qb5";
+      system = "sb-fastcgi";
+      asd = "sb-fastcgi";
+    });
+    systems = [ "sb-fastcgi" ];
+    lispLibs = [  ];
+  };
+  sb-vector-io = {
+    pname = "sb-vector-io";
+    version = "20110829-git";
+    asds = [ "sb-vector-io" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sb-vector-io/2011-08-29/sb-vector-io-20110829-git.tgz";
+      sha256 = "0pwc0nxhv8ba33i8z2f1y7r7ldik4a4xrqrb69dvvasz838k6r22";
+      system = "sb-vector-io";
+      asd = "sb-vector-io";
+    });
+    systems = [ "sb-vector-io" ];
+    lispLibs = [  ];
+  };
+  sc-extensions = {
+    pname = "sc-extensions";
+    version = "20211230-git";
+    asds = [ "sc-extensions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sc-extensions/2021-12-30/sc-extensions-20211230-git.tgz";
+      sha256 = "0y1fnz1l3jdskkjkm1xk50cqahmkrxm33i1kzn21frdfr5dyci0v";
+      system = "sc-extensions";
+      asd = "sc-extensions";
+    });
+    systems = [ "sc-extensions" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-collider" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  sc-osc = {
+    pname = "sc-osc";
+    version = "20211230-git";
+    asds = [ "sc-osc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-collider/2021-12-30/cl-collider-20211230-git.tgz";
+      sha256 = "1jvvkx5xkd67bsc666gfa021q50fpl2qn6c4mzzv2147r5ia2l3b";
+      system = "sc-osc";
+      asd = "sc-osc";
+    });
+    systems = [ "sc-osc" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "osc" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  schannel = {
+    pname = "schannel";
+    version = "20211230-git";
+    asds = [ "schannel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/schannel/2021-12-30/schannel-20211230-git.tgz";
+      sha256 = "1f7dncrjsswrr8wrm7qzxdvrmzg3n2ap607ad74mnfd806rwldnw";
+      system = "schannel";
+      asd = "schannel";
+    });
+    systems = [ "schannel" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  scheduler = {
+    pname = "scheduler";
+    version = "20211230-git";
+    asds = [ "scheduler" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/scheduler/2021-12-30/scheduler-20211230-git.tgz";
+      sha256 = "0wkx6vgsq0xifjna8s235yyxnlk7q8jcpqhxszwjj20yd767gbl6";
+      system = "scheduler";
+      asd = "scheduler";
+    });
+    systems = [ "scheduler" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "local-time" pkgs) (getAttr "optima" pkgs) (getAttr "optima_dot_ppcre" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  science-data = {
+    pname = "science-data";
+    version = "master-df14cb8c-git";
+    asds = [ "science-data" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/antik/2019-10-08/antik-master-df14cb8c-git.tgz";
+      sha256 = "1n08cx4n51z8v4bxyak166lp495xda3x7llfxcdpxndxqxcammr0";
+      system = "science-data";
+      asd = "science-data";
+    });
+    systems = [ "science-data" ];
+    lispLibs = [ (getAttr "physical-dimension" pkgs) (getAttr "drakma" pkgs) ];
+  };
+  scigraph = {
+    pname = "scigraph";
+    version = "20211230-git";
+    asds = [ "scigraph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "scigraph";
+      asd = "scigraph";
+    });
+    systems = [ "scigraph" ];
+    lispLibs = [ (getAttr "mcclim" pkgs) ];
+  };
+  scigraph_slash_dwim = {
+    pname = "scigraph_dwim";
+    version = "20211230-git";
+    asds = [ "scigraph" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "scigraph";
+      asd = "scigraph";
+    });
+    systems = [ "scigraph/dwim" ];
+    lispLibs = [ (getAttr "mcclim" pkgs) ];
+  };
+  scratch-buffer = {
+    pname = "scratch-buffer";
+    version = "20200427-git";
+    asds = [ "scratch-buffer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "scratch-buffer";
+      asd = "scratch-buffer";
+    });
+    systems = [ "scratch-buffer" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "utility" pkgs) ];
+  };
+  screamer = {
+    pname = "screamer";
+    version = "20210807-git";
+    asds = [ "screamer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/screamer/2021-08-07/screamer-20210807-git.tgz";
+      sha256 = "0913wmy0fpf6shvbz40ay9gnjhgyjglf661d1p5ld2glkw1ky8hm";
+      system = "screamer";
+      asd = "screamer";
+    });
+    systems = [ "screamer" ];
+    lispLibs = [  ];
+  };
+  screamer-tests = {
+    pname = "screamer-tests";
+    version = "20210807-git";
+    asds = [ "screamer-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/screamer/2021-08-07/screamer-20210807-git.tgz";
+      sha256 = "0913wmy0fpf6shvbz40ay9gnjhgyjglf661d1p5ld2glkw1ky8hm";
+      system = "screamer-tests";
+      asd = "screamer-tests";
+    });
+    systems = [ "screamer-tests" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "iterate" pkgs) (getAttr "screamer" pkgs) ];
+  };
+  scriba = {
+    pname = "scriba";
+    version = "20151218-git";
+    asds = [ "scriba" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/scriba/2015-12-18/scriba-20151218-git.tgz";
+      sha256 = "0mwg029w638psfbcpcidpysvnz5589rmfqayfsqaap4y3aql8pl4";
+      system = "scriba";
+      asd = "scriba";
+    });
+    systems = [ "scriba" ];
+    lispLibs = [ (getAttr "common-doc-plump" pkgs) (getAttr "esrap" pkgs) (getAttr "plump-sexp" pkgs) ];
+  };
+  scriba-test = {
+    pname = "scriba-test";
+    version = "20151218-git";
+    asds = [ "scriba-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/scriba/2015-12-18/scriba-20151218-git.tgz";
+      sha256 = "0mwg029w638psfbcpcidpysvnz5589rmfqayfsqaap4y3aql8pl4";
+      system = "scriba-test";
+      asd = "scriba-test";
+    });
+    systems = [ "scriba-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "scriba" pkgs) ];
+  };
+  scribble = {
+    pname = "scribble";
+    version = "20160628-git";
+    asds = [ "scribble" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/scribble/2016-06-28/scribble-20160628-git.tgz";
+      sha256 = "056qi6vw9bk19s42mapyg55mimhhvhlwgny080v9mhv4fhnqi196";
+      system = "scribble";
+      asd = "scribble";
+    });
+    systems = [ "scribble" ];
+    lispLibs = [ (getAttr "fare-memoization" pkgs) (getAttr "fare-quasiquote-readtable" pkgs) (getAttr "fare-utils" pkgs) (getAttr "meta" pkgs) ];
+  };
+  scribble_slash_test = {
+    pname = "scribble_test";
+    version = "20160628-git";
+    asds = [ "scribble" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/scribble/2016-06-28/scribble-20160628-git.tgz";
+      sha256 = "056qi6vw9bk19s42mapyg55mimhhvhlwgny080v9mhv4fhnqi196";
+      system = "scribble";
+      asd = "scribble";
+    });
+    systems = [ "scribble/test" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "scribble" pkgs) ];
+  };
+  scriptl = {
+    pname = "scriptl";
+    version = "20180228-git";
+    asds = [ "scriptl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/scriptl/2018-02-28/scriptl-20180228-git.tgz";
+      sha256 = "1q0d64syglfdjrzx2x7hlvznljpfwr9scn7rliigbm5z326lygg4";
+      system = "scriptl";
+      asd = "scriptl";
+    });
+    systems = [ "scriptl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "defpackage-plus" pkgs) (getAttr "iolib" pkgs) (getAttr "osicat" pkgs) (getAttr "trivial-backtrace" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  scriptl-examples = {
+    pname = "scriptl-examples";
+    version = "20180228-git";
+    asds = [ "scriptl-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/scriptl/2018-02-28/scriptl-20180228-git.tgz";
+      sha256 = "1q0d64syglfdjrzx2x7hlvznljpfwr9scn7rliigbm5z326lygg4";
+      system = "scriptl-examples";
+      asd = "scriptl-examples";
+    });
+    systems = [ "scriptl-examples" ];
+    lispLibs = [ (getAttr "scriptl" pkgs) (getAttr "unix-options" pkgs) ];
+  };
+  scriptl-util = {
+    pname = "scriptl-util";
+    version = "20180228-git";
+    asds = [ "scriptl-util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/scriptl/2018-02-28/scriptl-20180228-git.tgz";
+      sha256 = "1q0d64syglfdjrzx2x7hlvznljpfwr9scn7rliigbm5z326lygg4";
+      system = "scriptl-util";
+      asd = "scriptl-util";
+    });
+    systems = [ "scriptl-util" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "scriptl" pkgs) ];
+  };
+  scrutiny = {
+    pname = "scrutiny";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "scrutiny" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "scrutiny";
+      asd = "scrutiny";
+    });
+    systems = [ "scrutiny" ];
+    lispLibs = [ (getAttr "adjuvant" pkgs) ];
+  };
+  scrutiny-test = {
+    pname = "scrutiny-test";
+    version = "export-to-quicklisp-502a46e2-git";
+    asds = [ "scrutiny-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/regular-type-expression/2020-02-18/regular-type-expression-export-to-quicklisp-502a46e2-git.tgz";
+      sha256 = "1im07p7sbbhdjx9v8fx3v1xdqx1085lra6fsb4sh2bssw7m5xfxi";
+      system = "scrutiny-test";
+      asd = "scrutiny-test";
+    });
+    systems = [ "scrutiny-test" ];
+    lispLibs = [ (getAttr "scrutiny" pkgs) ];
+  };
+  sdl2 = {
+    pname = "sdl2";
+    version = "20211230-git";
+    asds = [ "sdl2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sdl2/2021-12-30/cl-sdl2-20211230-git.tgz";
+      sha256 = "16bl8asjfc2iyna05gc0v51pg5ml40amvlimn7w04da5bmai7560";
+      system = "sdl2";
+      asd = "sdl2";
+    });
+    systems = [ "sdl2" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-autowrap" pkgs) (getAttr "cl-plus-c" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "trivial-channels" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  sdl2-game-controller-db = {
+    pname = "sdl2-game-controller-db";
+    version = "release-quicklisp-335d2b68-git";
+    asds = [ "sdl2-game-controller-db" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sdl2-game-controller-db/2018-02-28/sdl2-game-controller-db-release-quicklisp-335d2b68-git.tgz";
+      sha256 = "0yf4ygndmacs0pf3ws5197k51c4fdximvxcmvn56bqmsvil56kcd";
+      system = "sdl2-game-controller-db";
+      asd = "sdl2-game-controller-db";
+    });
+    systems = [ "sdl2-game-controller-db" ];
+    lispLibs = [ (getAttr "sdl2" pkgs) ];
+  };
+  sdl2-image = {
+    pname = "sdl2-image";
+    version = "20190202-git";
+    asds = [ "sdl2-image" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sdl2-image/2019-02-02/cl-sdl2-image-20190202-git.tgz";
+      sha256 = "1nr7mdl125q32m15m8rdlza5kwi7m0birh1cq846pyy6zl1sjms7";
+      system = "sdl2-image";
+      asd = "sdl2-image";
+    });
+    systems = [ "sdl2-image" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-autowrap" pkgs) (getAttr "sdl2" pkgs) (getAttr "defpackage-plus" pkgs) ];
+  };
+  sdl2-mixer = {
+    pname = "sdl2-mixer";
+    version = "20211020-git";
+    asds = [ "sdl2-mixer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sdl2-mixer/2021-10-20/cl-sdl2-mixer-20211020-git.tgz";
+      sha256 = "0g6ywb3gqr0rif4z6kkz6m8vyv8nrr5wr1w9sc6d3zypbbnqgbp6";
+      system = "sdl2-mixer";
+      asd = "sdl2-mixer";
+    });
+    systems = [ "sdl2-mixer" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-autowrap" pkgs) (getAttr "sdl2" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  sdl2-ttf = {
+    pname = "sdl2-ttf";
+    version = "20200925-git";
+    asds = [ "sdl2-ttf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sdl2-ttf/2020-09-25/cl-sdl2-ttf-20200925-git.tgz";
+      sha256 = "15mvb7hr5l284s56gbf1xyb9v5xv95b2043zaysswhn5x20ylcnb";
+      system = "sdl2-ttf";
+      asd = "sdl2-ttf";
+    });
+    systems = [ "sdl2-ttf" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "cl-autowrap" pkgs) (getAttr "sdl2" pkgs) (getAttr "defpackage-plus" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  sdl2-ttf-examples = {
+    pname = "sdl2-ttf-examples";
+    version = "20200925-git";
+    asds = [ "sdl2-ttf-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sdl2-ttf/2020-09-25/cl-sdl2-ttf-20200925-git.tgz";
+      sha256 = "15mvb7hr5l284s56gbf1xyb9v5xv95b2043zaysswhn5x20ylcnb";
+      system = "sdl2-ttf-examples";
+      asd = "sdl2-ttf-examples";
+    });
+    systems = [ "sdl2-ttf-examples" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "sdl2" pkgs) (getAttr "sdl2-ttf" pkgs) (getAttr "mathkit" pkgs) ];
+  };
+  sdl2_slash_examples = {
+    pname = "sdl2_examples";
+    version = "20211230-git";
+    asds = [ "sdl2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sdl2/2021-12-30/cl-sdl2-20211230-git.tgz";
+      sha256 = "16bl8asjfc2iyna05gc0v51pg5ml40amvlimn7w04da5bmai7560";
+      system = "sdl2";
+      asd = "sdl2";
+    });
+    systems = [ "sdl2/examples" ];
+    lispLibs = [ (getAttr "cl-opengl" pkgs) (getAttr "sdl2" pkgs) ];
+  };
+  sdl2kit = {
+    pname = "sdl2kit";
+    version = "20171130-git";
+    asds = [ "sdl2kit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sdl2kit/2017-11-30/sdl2kit-20171130-git.tgz";
+      sha256 = "10ymmxqsvdn7ndda9k2qcixj75l7namgqdxc5y2w3v5r1313fy2d";
+      system = "sdl2kit";
+      asd = "sdl2kit";
+    });
+    systems = [ "sdl2kit" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "sdl2" pkgs) (getAttr "defpackage-plus" pkgs) ];
+  };
+  sdl2kit-examples = {
+    pname = "sdl2kit-examples";
+    version = "20171130-git";
+    asds = [ "sdl2kit-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sdl2kit/2017-11-30/sdl2kit-20171130-git.tgz";
+      sha256 = "10ymmxqsvdn7ndda9k2qcixj75l7namgqdxc5y2w3v5r1313fy2d";
+      system = "sdl2kit-examples";
+      asd = "sdl2kit-examples";
+    });
+    systems = [ "sdl2kit-examples" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "defpackage-plus" pkgs) (getAttr "glkit" pkgs) (getAttr "mathkit" pkgs) (getAttr "sdl2kit" pkgs) ];
+  };
+  sealable-metaobjects = {
+    pname = "sealable-metaobjects";
+    version = "20200610-git";
+    asds = [ "sealable-metaobjects" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sealable-metaobjects/2020-06-10/sealable-metaobjects-20200610-git.tgz";
+      sha256 = "0hz1ivlpfhnk1w2cw4q2i000j2dc7maay06ndzziyywg7li6zf2p";
+      system = "sealable-metaobjects";
+      asd = "sealable-metaobjects";
+    });
+    systems = [ "sealable-metaobjects" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  secret-values = {
+    pname = "secret-values";
+    version = "20201220-git";
+    asds = [ "secret-values" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/secret-values/2020-12-20/secret-values-20201220-git.tgz";
+      sha256 = "07ph49s27gvjzx60yy094bb9ddwiys34r8cx5l837i34nm2fn3nh";
+      system = "secret-values";
+      asd = "secret-values";
+    });
+    systems = [ "secret-values" ];
+    lispLibs = [  ];
+  };
+  secure-random = {
+    pname = "secure-random";
+    version = "20160208-git";
+    asds = [ "secure-random" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/secure-random/2016-02-08/secure-random-20160208-git.tgz";
+      sha256 = "09cnclnivkc87ja3z12ihcm02vkwp0cflcfa6hpjlbd5m75hvgsd";
+      system = "secure-random";
+      asd = "secure-random";
+    });
+    systems = [ "secure-random" ];
+    lispLibs = [ (getAttr "cl_plus_ssl" pkgs) ];
+  };
+  seedable-rng = {
+    pname = "seedable-rng";
+    version = "20210411-git";
+    asds = [ "seedable-rng" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/seedable-rng/2021-04-11/seedable-rng-20210411-git.tgz";
+      sha256 = "00aqbflr1pjx816mkkfyk3x1assdf8s823jdlfr51b74pwiirxck";
+      system = "seedable-rng";
+      asd = "seedable-rng";
+    });
+    systems = [ "seedable-rng" ];
+    lispLibs = [ (getAttr "cl-pcg" pkgs) (getAttr "golden-utils" pkgs) (getAttr "ironclad" pkgs) ];
+  };
+  select = {
+    pname = "select";
+    version = "20210411-git";
+    asds = [ "select" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/select/2021-04-11/select-20210411-git.tgz";
+      sha256 = "1kplgpn79av1p2icyk7h93cy00gshyan96vxlinvwxibhsrhxsj2";
+      system = "select";
+      asd = "select";
+    });
+    systems = [ "select" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "let-plus" pkgs) ];
+  };
+  select-file = {
+    pname = "select-file";
+    version = "20200427-git";
+    asds = [ "select-file" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/select-file/2020-04-27/select-file-20200427-git.tgz";
+      sha256 = "1v89k5vvn1a3gdhlwbb4wxggzzr1ic7iqzvrrxgsh90fr129rmzq";
+      system = "select-file";
+      asd = "select-file";
+    });
+    systems = [ "select-file" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "mcclim" pkgs) ];
+  };
+  select_slash_tests = {
+    pname = "select_tests";
+    version = "20210411-git";
+    asds = [ "select" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/select/2021-04-11/select-20210411-git.tgz";
+      sha256 = "1kplgpn79av1p2icyk7h93cy00gshyan96vxlinvwxibhsrhxsj2";
+      system = "select";
+      asd = "select";
+    });
+    systems = [ "select/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "select" pkgs) ];
+  };
+  selenium = {
+    pname = "selenium";
+    version = "20160531-git";
+    asds = [ "selenium" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-selenium/2016-05-31/cl-selenium-20160531-git.tgz";
+      sha256 = "1wx3343gkmyb25vbbpv6g5d1m2c5qxrkq7hsz1v2fcchgdgvwgxl";
+      system = "selenium";
+      asd = "selenium";
+    });
+    systems = [ "selenium" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "cxml" pkgs) (getAttr "drakma" pkgs) (getAttr "puri" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  semantic-spinneret = {
+    pname = "semantic-spinneret";
+    version = "20170830-git";
+    asds = [ "semantic-spinneret" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/semantic-spinneret/2017-08-30/semantic-spinneret-20170830-git.tgz";
+      sha256 = "0ghd4lwwcbcidj70j26hj9vic1nqrj78ksrqlxj29q61bnji05ix";
+      system = "semantic-spinneret";
+      asd = "semantic-spinneret";
+    });
+    systems = [ "semantic-spinneret" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "spinneret" pkgs) ];
+  };
+  sendgrid = {
+    pname = "sendgrid";
+    version = "20210531-git";
+    asds = [ "sendgrid" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sendgrid/2021-05-31/cl-sendgrid-20210531-git.tgz";
+      sha256 = "06cfamnkizhyv4a3zacrvfybcf4kcbdjigbn83ysr75b3w0di3hs";
+      system = "sendgrid";
+      asd = "sendgrid";
+    });
+    systems = [ "sendgrid" ];
+    lispLibs = [ (getAttr "dexador" pkgs) (getAttr "jonathan" pkgs) ];
+  };
+  sequence-iterators = {
+    pname = "sequence-iterators";
+    version = "20130813-darcs";
+    asds = [ "sequence-iterators" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sequence-iterators/2013-08-13/sequence-iterators-20130813-darcs.tgz";
+      sha256 = "12flvy6hysqw0fa2jfkxrgphlk6b25hg2w2dxm1ylax0gw9fh1l5";
+      system = "sequence-iterators";
+      asd = "sequence-iterators";
+    });
+    systems = [ "sequence-iterators" ];
+    lispLibs = [ (getAttr "parse-declarations-1_dot_0" pkgs) ];
+  };
+  sequence-iterators-test = {
+    pname = "sequence-iterators-test";
+    version = "20130813-darcs";
+    asds = [ "sequence-iterators-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sequence-iterators/2013-08-13/sequence-iterators-20130813-darcs.tgz";
+      sha256 = "12flvy6hysqw0fa2jfkxrgphlk6b25hg2w2dxm1ylax0gw9fh1l5";
+      system = "sequence-iterators-test";
+      asd = "sequence-iterators";
+    });
+    systems = [ "sequence-iterators-test" ];
+    lispLibs = [ (getAttr "sequence-iterators" pkgs) ];
+  };
+  serapeum = {
+    pname = "serapeum";
+    version = "20211230-git";
+    asds = [ "serapeum" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/serapeum/2021-12-30/serapeum-20211230-git.tgz";
+      sha256 = "135zn7wrmci4xz1nfpxmxdknyiqr9lqbvsbha5j9izxz6619jl5x";
+      system = "serapeum";
+      asd = "serapeum";
+    });
+    systems = [ "serapeum" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "global-vars" pkgs) (getAttr "introspect-environment" pkgs) (getAttr "parse-declarations-1_dot_0" pkgs) (getAttr "parse-number" pkgs) (getAttr "split-sequence" pkgs) (getAttr "string-case" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-cltl2" pkgs) (getAttr "trivial-file-size" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-macroexpand-all" pkgs) ];
+  };
+  serapeum_slash_docs = {
+    pname = "serapeum_docs";
+    version = "20211230-git";
+    asds = [ "serapeum" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/serapeum/2021-12-30/serapeum-20211230-git.tgz";
+      sha256 = "135zn7wrmci4xz1nfpxmxdknyiqr9lqbvsbha5j9izxz6619jl5x";
+      system = "serapeum";
+      asd = "serapeum";
+    });
+    systems = [ "serapeum/docs" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "serapeum" pkgs) (getAttr "swank" pkgs) ];
+  };
+  serializable-object = {
+    pname = "serializable-object";
+    version = "20191227-git";
+    asds = [ "serializable-object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/serializable-object/2019-12-27/serializable-object-20191227-git.tgz";
+      sha256 = "0978ljw998ypryiiqmb1s11ymwg4h5qz9bv7ig1i29wf5s14s2i0";
+      system = "serializable-object";
+      asd = "serializable-object";
+    });
+    systems = [ "serializable-object" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  serializable-object_dot_test = {
+    pname = "serializable-object.test";
+    version = "20191227-git";
+    asds = [ "serializable-object.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/serializable-object/2019-12-27/serializable-object-20191227-git.tgz";
+      sha256 = "0978ljw998ypryiiqmb1s11ymwg4h5qz9bv7ig1i29wf5s14s2i0";
+      system = "serializable-object.test";
+      asd = "serializable-object.test";
+    });
+    systems = [ "serializable-object.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "serializable-object" pkgs) ];
+  };
+  series = {
+    pname = "series";
+    version = "20131111-git";
+    asds = [ "series" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/series/2013-11-11/series-20131111-git.tgz";
+      sha256 = "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw";
+      system = "series";
+      asd = "series";
+    });
+    systems = [ "series" ];
+    lispLibs = [  ];
+  };
+  series-tests = {
+    pname = "series-tests";
+    version = "20131111-git";
+    asds = [ "series-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/series/2013-11-11/series-20131111-git.tgz";
+      sha256 = "07hk2lhfx42zk018pxqvn4gs77vd4n4g8m4xxbqaxgca76mifwfw";
+      system = "series-tests";
+      asd = "series";
+    });
+    systems = [ "series-tests" ];
+    lispLibs = [ (getAttr "series" pkgs) ];
+  };
+  session-token = {
+    pname = "session-token";
+    version = "20141106-git";
+    asds = [ "session-token" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/session-token/2014-11-06/session-token-20141106-git.tgz";
+      sha256 = "1yb6m8nbh4gaskplrd2bwsnpkq6dl9dkvbjmvhzls6vh4lp6cc2z";
+      system = "session-token";
+      asd = "session-token";
+    });
+    systems = [ "session-token" ];
+    lispLibs = [ (getAttr "cl-isaac" pkgs) ];
+  };
+  setup-cffi = {
+    pname = "setup-cffi";
+    version = "master-83d7b044-git";
+    asds = [ "setup-cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "setup-cffi";
+      asd = "setup-cffi";
+    });
+    systems = [ "setup-cffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  sexml = {
+    pname = "sexml";
+    version = "20140713-git";
+    asds = [ "sexml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sexml/2014-07-13/sexml-20140713-git.tgz";
+      sha256 = "1s7isk9v7qh03sf60zw32kaa1rgvdh24bsc37q173r282m8plbk3";
+      system = "sexml";
+      asd = "sexml";
+    });
+    systems = [ "sexml" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "contextl" pkgs) (getAttr "cxml" pkgs) (getAttr "macroexpand-dammit" pkgs) ];
+  };
+  sexml-objects = {
+    pname = "sexml-objects";
+    version = "20140713-git";
+    asds = [ "sexml-objects" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sexml/2014-07-13/sexml-20140713-git.tgz";
+      sha256 = "1s7isk9v7qh03sf60zw32kaa1rgvdh24bsc37q173r282m8plbk3";
+      system = "sexml-objects";
+      asd = "sexml-objects";
+    });
+    systems = [ "sexml-objects" ];
+    lispLibs = [ (getAttr "sexml" pkgs) ];
+  };
+  sha1 = {
+    pname = "sha1";
+    version = "20211020-git";
+    asds = [ "sha1" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sha1/2021-10-20/sha1-20211020-git.tgz";
+      sha256 = "1cfn0j5yfwqkwr2dm73wr9hz8dmws3ngxlbk9886ahxkg544qx4z";
+      system = "sha1";
+      asd = "sha1";
+    });
+    systems = [ "sha1" ];
+    lispLibs = [  ];
+  };
+  sha3 = {
+    pname = "sha3";
+    version = "20180228-git";
+    asds = [ "sha3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sha3/2018-02-28/sha3-20180228-git.tgz";
+      sha256 = "112pwx8jzraxn0xqssmjlgd7j4sbl19vz6l8ansdq1zd69dryzy6";
+      system = "sha3";
+      asd = "sha3";
+    });
+    systems = [ "sha3" ];
+    lispLibs = [  ];
+  };
+  shadchen = {
+    pname = "shadchen";
+    version = "20131003-git";
+    asds = [ "shadchen" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shadchen/2013-10-03/shadchen-20131003-git.tgz";
+      sha256 = "0731hrpzf9pn1hyvs9wl0w3mnv13mr9ky3jx3dc4baj4nmjyb1k6";
+      system = "shadchen";
+      asd = "shadchen";
+    });
+    systems = [ "shadchen" ];
+    lispLibs = [  ];
+  };
+  shadow = {
+    pname = "shadow";
+    version = "20210531-git";
+    asds = [ "shadow" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shadow/2021-05-31/shadow-20210531-git.tgz";
+      sha256 = "015y6zp2qgikxmncqmjc0p7578ndyf9yagbyw2m1n508qjp22hqb";
+      system = "shadow";
+      asd = "shadow";
+    });
+    systems = [ "shadow" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "glsl-packing" pkgs) (getAttr "golden-utils" pkgs) (getAttr "static-vectors" pkgs) (getAttr "varjo" pkgs) ];
+  };
+  shared-preferences = {
+    pname = "shared-preferences";
+    version = "1.1.1";
+    asds = [ "shared-preferences" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shared-preferences/2021-02-28/shared-preferences_1.1.1.tgz";
+      sha256 = "12m4kaba2lxndkjw30a6y2rq16fflh5016lp74l7pf3v0y3j1ydf";
+      system = "shared-preferences";
+      asd = "shared-preferences";
+    });
+    systems = [ "shared-preferences" ];
+    lispLibs = [ (getAttr "inheriting-readers" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  shared-preferences_tests = {
+    pname = "shared-preferences_tests";
+    version = "1.1.1";
+    asds = [ "shared-preferences_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shared-preferences/2021-02-28/shared-preferences_1.1.1.tgz";
+      sha256 = "12m4kaba2lxndkjw30a6y2rq16fflh5016lp74l7pf3v0y3j1ydf";
+      system = "shared-preferences_tests";
+      asd = "shared-preferences_tests";
+    });
+    systems = [ "shared-preferences_tests" ];
+    lispLibs = [ (getAttr "parachute" pkgs) (getAttr "shared-preferences" pkgs) ];
+  };
+  shasht = {
+    pname = "shasht";
+    version = "20211020-git";
+    asds = [ "shasht" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shasht/2021-10-20/shasht-20211020-git.tgz";
+      sha256 = "1cgrfp7g9dnp243h7kxgi15xz6va8hvnxsxl7crvpc9cdjh00rw2";
+      system = "shasht";
+      asd = "shasht";
+    });
+    systems = [ "shasht" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "trivial-do" pkgs) ];
+  };
+  shasht_slash_test = {
+    pname = "shasht_test";
+    version = "20211020-git";
+    asds = [ "shasht" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shasht/2021-10-20/shasht-20211020-git.tgz";
+      sha256 = "1cgrfp7g9dnp243h7kxgi15xz6va8hvnxsxl7crvpc9cdjh00rw2";
+      system = "shasht";
+      asd = "shasht";
+    });
+    systems = [ "shasht/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "parachute" pkgs) (getAttr "shasht" pkgs) ];
+  };
+  sheeple = {
+    pname = "sheeple";
+    version = "20210124-git";
+    asds = [ "sheeple" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sheeple/2021-01-24/sheeple-20210124-git.tgz";
+      sha256 = "13k6xm8a29xxkrwgc5j3bk2wr9skg4bzdnc4krrzgcdmx4gbcca3";
+      system = "sheeple";
+      asd = "sheeple";
+    });
+    systems = [ "sheeple" ];
+    lispLibs = [  ];
+  };
+  sheeple-tests = {
+    pname = "sheeple-tests";
+    version = "20210124-git";
+    asds = [ "sheeple-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sheeple/2021-01-24/sheeple-20210124-git.tgz";
+      sha256 = "13k6xm8a29xxkrwgc5j3bk2wr9skg4bzdnc4krrzgcdmx4gbcca3";
+      system = "sheeple-tests";
+      asd = "sheeple";
+    });
+    systems = [ "sheeple-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "sheeple" pkgs) ];
+  };
+  shellpool = {
+    pname = "shellpool";
+    version = "20200925-git";
+    asds = [ "shellpool" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shellpool/2020-09-25/shellpool-20200925-git.tgz";
+      sha256 = "1bpv58i2l2a3ayk3jvi2wwd90gjczp0qk24bj82775qp8miw9vz0";
+      system = "shellpool";
+      asd = "shellpool";
+    });
+    systems = [ "shellpool" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "bt-semaphore" pkgs) (getAttr "cl-fad" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  shelly = {
+    pname = "shelly";
+    version = "20141106-git";
+    asds = [ "shelly" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shelly/2014-11-06/shelly-20141106-git.tgz";
+      sha256 = "07whfcd2ygq07lw73bqby74cqbp2bx0rnyx7c0v7s16y9xfqxw7b";
+      system = "shelly";
+      asd = "shelly";
+    });
+    systems = [ "shelly" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-fad" pkgs) (getAttr "local-time" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-signal" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  shelly-test = {
+    pname = "shelly-test";
+    version = "20141106-git";
+    asds = [ "shelly-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shelly/2014-11-06/shelly-20141106-git.tgz";
+      sha256 = "07whfcd2ygq07lw73bqby74cqbp2bx0rnyx7c0v7s16y9xfqxw7b";
+      system = "shelly-test";
+      asd = "shelly-test";
+    });
+    systems = [ "shelly-test" ];
+    lispLibs = [ (getAttr "cl-test-more" pkgs) (getAttr "shelly" pkgs) ];
+  };
+  shlex = {
+    pname = "shlex";
+    version = "20210411-git";
+    asds = [ "shlex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-shlex/2021-04-11/cl-shlex-20210411-git.tgz";
+      sha256 = "16ag48sswgimr1fzr582vhym4s03idpd4lkydw5s58lv80ibpim8";
+      system = "shlex";
+      asd = "shlex";
+    });
+    systems = [ "shlex" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-unicode" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  shlex_slash_test = {
+    pname = "shlex_test";
+    version = "20210411-git";
+    asds = [ "shlex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-shlex/2021-04-11/cl-shlex-20210411-git.tgz";
+      sha256 = "16ag48sswgimr1fzr582vhym4s03idpd4lkydw5s58lv80ibpim8";
+      system = "shlex";
+      asd = "shlex";
+    });
+    systems = [ "shlex/test" ];
+    lispLibs = [ (getAttr "shlex" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  shop3 = {
+    pname = "shop3";
+    version = "20211209-git";
+    asds = [ "shop3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shop3/2021-12-09/shop3-20211209-git.tgz";
+      sha256 = "0gw5z70pk0ddjihsikzqd8xzraa21lnndggnsgqh3wg9npgmxifd";
+      system = "shop3";
+      asd = "shop3";
+    });
+    systems = [ "shop3" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fiveam-asdf" pkgs) (getAttr "iterate" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  shop3-thmpr-api = {
+    pname = "shop3-thmpr-api";
+    version = "20211209-git";
+    asds = [ "shop3-thmpr-api" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shop3/2021-12-09/shop3-20211209-git.tgz";
+      sha256 = "0gw5z70pk0ddjihsikzqd8xzraa21lnndggnsgqh3wg9npgmxifd";
+      system = "shop3-thmpr-api";
+      asd = "shop3-thmpr-api";
+    });
+    systems = [ "shop3-thmpr-api" ];
+    lispLibs = [ (getAttr "shop3" pkgs) ];
+  };
+  shop3_slash_common = {
+    pname = "shop3_common";
+    version = "20211209-git";
+    asds = [ "shop3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shop3/2021-12-09/shop3-20211209-git.tgz";
+      sha256 = "0gw5z70pk0ddjihsikzqd8xzraa21lnndggnsgqh3wg9npgmxifd";
+      system = "shop3";
+      asd = "shop3";
+    });
+    systems = [ "shop3/common" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  shop3_slash_openstacks = {
+    pname = "shop3_openstacks";
+    version = "20211209-git";
+    asds = [ "shop3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shop3/2021-12-09/shop3-20211209-git.tgz";
+      sha256 = "0gw5z70pk0ddjihsikzqd8xzraa21lnndggnsgqh3wg9npgmxifd";
+      system = "shop3";
+      asd = "shop3";
+    });
+    systems = [ "shop3/openstacks" ];
+    lispLibs = [ (getAttr "shop3" pkgs) ];
+  };
+  shop3_slash_plan-grapher = {
+    pname = "shop3_plan-grapher";
+    version = "20211209-git";
+    asds = [ "shop3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shop3/2021-12-09/shop3-20211209-git.tgz";
+      sha256 = "0gw5z70pk0ddjihsikzqd8xzraa21lnndggnsgqh3wg9npgmxifd";
+      system = "shop3";
+      asd = "shop3";
+    });
+    systems = [ "shop3/plan-grapher" ];
+    lispLibs = [ (getAttr "cl-dot" pkgs) (getAttr "shop3" pkgs) ];
+  };
+  shop3_slash_rovers = {
+    pname = "shop3_rovers";
+    version = "20211209-git";
+    asds = [ "shop3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shop3/2021-12-09/shop3-20211209-git.tgz";
+      sha256 = "0gw5z70pk0ddjihsikzqd8xzraa21lnndggnsgqh3wg9npgmxifd";
+      system = "shop3";
+      asd = "shop3";
+    });
+    systems = [ "shop3/rovers" ];
+    lispLibs = [ (getAttr "shop3" pkgs) ];
+  };
+  shop3_slash_test-unifier = {
+    pname = "shop3_test-unifier";
+    version = "20211209-git";
+    asds = [ "shop3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shop3/2021-12-09/shop3-20211209-git.tgz";
+      sha256 = "0gw5z70pk0ddjihsikzqd8xzraa21lnndggnsgqh3wg9npgmxifd";
+      system = "shop3";
+      asd = "shop3";
+    });
+    systems = [ "shop3/test-unifier" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fiveam-asdf" pkgs) ];
+  };
+  shop3_slash_theorem-prover = {
+    pname = "shop3_theorem-prover";
+    version = "20211209-git";
+    asds = [ "shop3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shop3/2021-12-09/shop3-20211209-git.tgz";
+      sha256 = "0gw5z70pk0ddjihsikzqd8xzraa21lnndggnsgqh3wg9npgmxifd";
+      system = "shop3";
+      asd = "shop3";
+    });
+    systems = [ "shop3/theorem-prover" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  shop3_slash_unifier = {
+    pname = "shop3_unifier";
+    version = "20211209-git";
+    asds = [ "shop3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shop3/2021-12-09/shop3-20211209-git.tgz";
+      sha256 = "0gw5z70pk0ddjihsikzqd8xzraa21lnndggnsgqh3wg9npgmxifd";
+      system = "shop3";
+      asd = "shop3";
+    });
+    systems = [ "shop3/unifier" ];
+    lispLibs = [  ];
+  };
+  should-test = {
+    pname = "should-test";
+    version = "20191007-git";
+    asds = [ "should-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/should-test/2019-10-07/should-test-20191007-git.tgz";
+      sha256 = "1fqqa7lhf28qg60ji9libkylkcy747x576qpjn1y7c945j2fxmnm";
+      system = "should-test";
+      asd = "should-test";
+    });
+    systems = [ "should-test" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "local-time" pkgs) (getAttr "osicat" pkgs) (getAttr "rutils" pkgs) ];
+  };
+  shuffletron = {
+    pname = "shuffletron";
+    version = "20181018-git";
+    asds = [ "shuffletron" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/shuffletron/2018-10-18/shuffletron-20181018-git.tgz";
+      sha256 = "10626wp2xdk0wxj0kl49m9gyb2bp6f0vp67563mw6zrzfs7ynpkb";
+      system = "shuffletron";
+      asd = "shuffletron";
+    });
+    systems = [ "shuffletron" ];
+    lispLibs = [ (getAttr "mixalot" pkgs) (getAttr "mixalot-flac" pkgs) (getAttr "mixalot-mp3" pkgs) (getAttr "mixalot-vorbis" pkgs) (getAttr "osicat" pkgs) ];
+  };
+  silo = {
+    pname = "silo";
+    version = "20211020-git";
+    asds = [ "silo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/colliflower/2021-10-20/colliflower-20211020-git.tgz";
+      sha256 = "1fzn9s7wm7wmffrdm21lpvry9jb320456cmmprn976a533lp704r";
+      system = "silo";
+      asd = "silo";
+    });
+    systems = [ "silo" ];
+    lispLibs = [  ];
+  };
+  simple = {
+    pname = "simple";
+    version = "clon-1.0b25";
+    asds = [ "simple" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-clon/2021-04-11/clon-1.0b25.tgz";
+      sha256 = "0nj47xl2fwj7z31wiaad8dw97fpq3zpwxlgmpvppawz0z3hgf8d0";
+      system = "simple";
+      asd = "simple";
+    });
+    systems = [ "simple" ];
+    lispLibs = [ (getAttr "net_dot_didierverna_dot_clon" pkgs) ];
+  };
+  simple-actors = {
+    pname = "simple-actors";
+    version = "20200925-git";
+    asds = [ "simple-actors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-actors/2020-09-25/simple-actors-20200925-git.tgz";
+      sha256 = "1q843l1bh0xipp535gwm7713gpp04cycvq0i8yz54b6ym3dzkql4";
+      system = "simple-actors";
+      asd = "simple-actors";
+    });
+    systems = [ "simple-actors" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  simple-config = {
+    pname = "simple-config";
+    version = "20200218-git";
+    asds = [ "simple-config" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-config/2020-02-18/simple-config-20200218-git.tgz";
+      sha256 = "0c25hng8brqm4jj8zawlbllzr4kyh9kwxcpwa88fjnf6ns1m9dm0";
+      system = "simple-config";
+      asd = "simple-config";
+    });
+    systems = [ "simple-config" ];
+    lispLibs = [ (getAttr "str" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  simple-config-test = {
+    pname = "simple-config-test";
+    version = "20200218-git";
+    asds = [ "simple-config-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-config/2020-02-18/simple-config-20200218-git.tgz";
+      sha256 = "0c25hng8brqm4jj8zawlbllzr4kyh9kwxcpwa88fjnf6ns1m9dm0";
+      system = "simple-config-test";
+      asd = "simple-config-test";
+    });
+    systems = [ "simple-config-test" ];
+    lispLibs = [ (getAttr "prove" pkgs) (getAttr "simple-config" pkgs) ];
+  };
+  simple-currency = {
+    pname = "simple-currency";
+    version = "20171130-git";
+    asds = [ "simple-currency" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-currency/2017-11-30/simple-currency-20171130-git.tgz";
+      sha256 = "1qrxaj5v25165vyjp2fmasasjri2cn53y6ckv3rlv04skifvnq2s";
+      system = "simple-currency";
+      asd = "simple-currency";
+    });
+    systems = [ "simple-currency" ];
+    lispLibs = [ (getAttr "cl-store" pkgs) (getAttr "dexador" pkgs) (getAttr "plump" pkgs) (getAttr "simple-date" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  simple-date = {
+    pname = "simple-date";
+    version = "20211209-git";
+    asds = [ "simple-date" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/postmodern/2021-12-09/postmodern-20211209-git.tgz";
+      sha256 = "1d511fnl3iqxk4zvdzj6prc793q7agzm4v148pn5niv3ydcx1vvy";
+      system = "simple-date";
+      asd = "simple-date";
+    });
+    systems = [ "simple-date" ];
+    lispLibs = [  ];
+  };
+  simple-date-time = {
+    pname = "simple-date-time";
+    version = "20160421-git";
+    asds = [ "simple-date-time" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-date-time/2016-04-21/simple-date-time-20160421-git.tgz";
+      sha256 = "06iwf13gcdyqhkzfkcsfdl8iqbdl44cx01c3fjsmhl0v1pp8h2m4";
+      system = "simple-date-time";
+      asd = "simple-date-time";
+    });
+    systems = [ "simple-date-time" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  simple-date_slash_postgres-glue = {
+    pname = "simple-date_postgres-glue";
+    version = "20211209-git";
+    asds = [ "simple-date" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/postmodern/2021-12-09/postmodern-20211209-git.tgz";
+      sha256 = "1d511fnl3iqxk4zvdzj6prc793q7agzm4v148pn5niv3ydcx1vvy";
+      system = "simple-date";
+      asd = "simple-date";
+    });
+    systems = [ "simple-date/postgres-glue" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "cl-postgres" pkgs) (getAttr "simple-date" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  simple-date_slash_tests = {
+    pname = "simple-date_tests";
+    version = "20211209-git";
+    asds = [ "simple-date" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/postmodern/2021-12-09/postmodern-20211209-git.tgz";
+      sha256 = "1d511fnl3iqxk4zvdzj6prc793q7agzm4v148pn5niv3ydcx1vvy";
+      system = "simple-date";
+      asd = "simple-date";
+    });
+    systems = [ "simple-date/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "simple-date" pkgs) ];
+  };
+  simple-finalizer = {
+    pname = "simple-finalizer";
+    version = "20101006-git";
+    asds = [ "simple-finalizer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-finalizer/2010-10-06/simple-finalizer-20101006-git.tgz";
+      sha256 = "1qdm48zjlkbygz9ip006xwpas59fhijrswv1k7pzvhdwl04vkq65";
+      system = "simple-finalizer";
+      asd = "simple-finalizer";
+    });
+    systems = [ "simple-finalizer" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  simple-flow-dispatcher = {
+    pname = "simple-flow-dispatcher";
+    version = "stable-git";
+    asds = [ "simple-flow-dispatcher" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-flow-dispatcher/2020-10-16/simple-flow-dispatcher-stable-git.tgz";
+      sha256 = "11k16svq4mgf0pagrs4drvf57hawffghv9g96b1n071nqyk2ald2";
+      system = "simple-flow-dispatcher";
+      asd = "simple-flow-dispatcher";
+    });
+    systems = [ "simple-flow-dispatcher" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bodge-queue" pkgs) (getAttr "cl-muth" pkgs) ];
+  };
+  simple-guess = {
+    pname = "simple-guess";
+    version = "1.0";
+    asds = [ "simple-guess" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-guess/2020-09-25/simple-guess_1.0.tgz";
+      sha256 = "11v3wxj3k036r0kazn69vi580qm593ir1yf7j5d737j4rb382682";
+      system = "simple-guess";
+      asd = "simple-guess";
+    });
+    systems = [ "simple-guess" ];
+    lispLibs = [  ];
+  };
+  simple-guess_tests = {
+    pname = "simple-guess_tests";
+    version = "1.0";
+    asds = [ "simple-guess_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-guess/2020-09-25/simple-guess_1.0.tgz";
+      sha256 = "11v3wxj3k036r0kazn69vi580qm593ir1yf7j5d737j4rb382682";
+      system = "simple-guess_tests";
+      asd = "simple-guess_tests";
+    });
+    systems = [ "simple-guess_tests" ];
+    lispLibs = [ (getAttr "fakenil" pkgs) (getAttr "parachute" pkgs) (getAttr "simple-guess" pkgs) ];
+  };
+  simple-inferiors = {
+    pname = "simple-inferiors";
+    version = "20200325-git";
+    asds = [ "simple-inferiors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-inferiors/2020-03-25/simple-inferiors-20200325-git.tgz";
+      sha256 = "08vsvqv3768bwb2y8mwxbw5wyqzzwqr7rd004r6gafdgf9p9mcx3";
+      system = "simple-inferiors";
+      asd = "simple-inferiors";
+    });
+    systems = [ "simple-inferiors" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  simple-neural-network = {
+    pname = "simple-neural-network";
+    version = "20201220-git";
+    asds = [ "simple-neural-network" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-neural-network/2020-12-20/simple-neural-network-20201220-git.tgz";
+      sha256 = "1qdsmhj9pxgbf4yc7ipq780dk7isq98znr54w0yhbrk3s7shz05a";
+      system = "simple-neural-network";
+      asd = "simple-neural-network";
+    });
+    systems = [ "simple-neural-network" ];
+    lispLibs = [ (getAttr "cl-store" pkgs) (getAttr "lparallel" pkgs) ];
+  };
+  simple-neural-network_slash_test = {
+    pname = "simple-neural-network_test";
+    version = "20201220-git";
+    asds = [ "simple-neural-network" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-neural-network/2020-12-20/simple-neural-network-20201220-git.tgz";
+      sha256 = "1qdsmhj9pxgbf4yc7ipq780dk7isq98znr54w0yhbrk3s7shz05a";
+      system = "simple-neural-network";
+      asd = "simple-neural-network";
+    });
+    systems = [ "simple-neural-network/test" ];
+    lispLibs = [ (getAttr "chipz" pkgs) (getAttr "fiveam" pkgs) (getAttr "simple-neural-network" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  simple-parallel-tasks = {
+    pname = "simple-parallel-tasks";
+    version = "20201220-git";
+    asds = [ "simple-parallel-tasks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-parallel-tasks/2020-12-20/simple-parallel-tasks-20201220-git.tgz";
+      sha256 = "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7";
+      system = "simple-parallel-tasks";
+      asd = "simple-parallel-tasks";
+    });
+    systems = [ "simple-parallel-tasks" ];
+    lispLibs = [ (getAttr "chanl" pkgs) ];
+  };
+  simple-parallel-tasks-tests = {
+    pname = "simple-parallel-tasks-tests";
+    version = "20201220-git";
+    asds = [ "simple-parallel-tasks-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-parallel-tasks/2020-12-20/simple-parallel-tasks-20201220-git.tgz";
+      sha256 = "0gvbpyff4siifp3cp86cpr9ksmakn66fx21f3h0hpn647zl07nj7";
+      system = "simple-parallel-tasks-tests";
+      asd = "simple-parallel-tasks-tests";
+    });
+    systems = [ "simple-parallel-tasks-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "simple-parallel-tasks" pkgs) ];
+  };
+  simple-rgb = {
+    pname = "simple-rgb";
+    version = "20190521-git";
+    asds = [ "simple-rgb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-rgb/2019-05-21/simple-rgb-20190521-git.tgz";
+      sha256 = "0ggv0h2n4mvwnggjr1b40gw667gnyykzki2zadaczi38ydzyzlp1";
+      system = "simple-rgb";
+      asd = "simple-rgb";
+    });
+    systems = [ "simple-rgb" ];
+    lispLibs = [  ];
+  };
+  simple-routes = {
+    pname = "simple-routes";
+    version = "20180228-git";
+    asds = [ "simple-routes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-routes/2018-02-28/simple-routes-20180228-git.tgz";
+      sha256 = "0zkjl69zf1ynmqmvwccdbip3wxfyi7xplivv70qwxzd27mc0kh3k";
+      system = "simple-routes";
+      asd = "simple-routes";
+    });
+    systems = [ "simple-routes" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  simple-scanf = {
+    pname = "simple-scanf";
+    version = "20211209-git";
+    asds = [ "simple-scanf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-string-match/2021-12-09/cl-string-match-20211209-git.tgz";
+      sha256 = "0zndlkw3qy3vw4px4qv884z6232w8zfaliyc88irjwizdv35wcq9";
+      system = "simple-scanf";
+      asd = "simple-scanf";
+    });
+    systems = [ "simple-scanf" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) (getAttr "parse-float" pkgs) (getAttr "proc-parse" pkgs) ];
+  };
+  simple-tasks = {
+    pname = "simple-tasks";
+    version = "20190710-git";
+    asds = [ "simple-tasks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-tasks/2019-07-10/simple-tasks-20190710-git.tgz";
+      sha256 = "1ls1pij7dvb65g4nam7nvik1218jvfk5iplr48vy290fw3lq7v98";
+      system = "simple-tasks";
+      asd = "simple-tasks";
+    });
+    systems = [ "simple-tasks" ];
+    lispLibs = [ (getAttr "array-utils" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "dissect" pkgs) ];
+  };
+  simpleroutes-demo = {
+    pname = "simpleroutes-demo";
+    version = "20180228-git";
+    asds = [ "simpleroutes-demo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-routes/2018-02-28/simple-routes-20180228-git.tgz";
+      sha256 = "0zkjl69zf1ynmqmvwccdbip3wxfyi7xplivv70qwxzd27mc0kh3k";
+      system = "simpleroutes-demo";
+      asd = "simple-routes";
+    });
+    systems = [ "simpleroutes-demo" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-who" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "simple-routes" pkgs) ];
+  };
+  simpleroutes-test = {
+    pname = "simpleroutes-test";
+    version = "20180228-git";
+    asds = [ "simpleroutes-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simple-routes/2018-02-28/simple-routes-20180228-git.tgz";
+      sha256 = "0zkjl69zf1ynmqmvwccdbip3wxfyi7xplivv70qwxzd27mc0kh3k";
+      system = "simpleroutes-test";
+      asd = "simple-routes";
+    });
+    systems = [ "simpleroutes-test" ];
+    lispLibs = [ (getAttr "simple-routes" pkgs) ];
+  };
+  simplet = {
+    pname = "simplet";
+    version = "20191227-git";
+    asds = [ "simplet" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simplet/2019-12-27/simplet-20191227-git.tgz";
+      sha256 = "1scsalzbwxk6z48b61zq532c02l36yr3vl2jdy0xjm2diycq6jgs";
+      system = "simplet";
+      asd = "simplet";
+    });
+    systems = [ "simplet" ];
+    lispLibs = [  ];
+  };
+  simplet-asdf = {
+    pname = "simplet-asdf";
+    version = "20191227-git";
+    asds = [ "simplet-asdf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simplet/2019-12-27/simplet-20191227-git.tgz";
+      sha256 = "1scsalzbwxk6z48b61zq532c02l36yr3vl2jdy0xjm2diycq6jgs";
+      system = "simplet-asdf";
+      asd = "simplet-asdf";
+    });
+    systems = [ "simplet-asdf" ];
+    lispLibs = [  ];
+  };
+  simplet_slash_test = {
+    pname = "simplet_test";
+    version = "20191227-git";
+    asds = [ "simplet" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simplet/2019-12-27/simplet-20191227-git.tgz";
+      sha256 = "1scsalzbwxk6z48b61zq532c02l36yr3vl2jdy0xjm2diycq6jgs";
+      system = "simplet";
+      asd = "simplet";
+    });
+    systems = [ "simplet/test" ];
+    lispLibs = [ (getAttr "simplet" pkgs) ];
+  };
+  simplified-types = {
+    pname = "simplified-types";
+    version = "20190813-git";
+    asds = [ "simplified-types" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simplified-types/2019-08-13/simplified-types-20190813-git.tgz";
+      sha256 = "1hdwmn5lz717aj6qdqmfmr3cbjl8l3giwn0fb5ca9pj83cx7fg8y";
+      system = "simplified-types";
+      asd = "simplified-types";
+    });
+    systems = [ "simplified-types" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "introspect-environment" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  simplified-types-test-suite = {
+    pname = "simplified-types-test-suite";
+    version = "20190813-git";
+    asds = [ "simplified-types-test-suite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simplified-types/2019-08-13/simplified-types-20190813-git.tgz";
+      sha256 = "1hdwmn5lz717aj6qdqmfmr3cbjl8l3giwn0fb5ca9pj83cx7fg8y";
+      system = "simplified-types-test-suite";
+      asd = "simplified-types-test-suite";
+    });
+    systems = [ "simplified-types-test-suite" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "simplified-types" pkgs) ];
+  };
+  simpsamp = {
+    pname = "simpsamp";
+    version = "0.1";
+    asds = [ "simpsamp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/simpsamp/2010-10-06/simpsamp-0.1.tgz";
+      sha256 = "0i85andjaz16lh4wwpdvd5kgg7lsfp206g7kniy16gs78xjy5jlc";
+      system = "simpsamp";
+      asd = "simpsamp";
+    });
+    systems = [ "simpsamp" ];
+    lispLibs = [ (getAttr "jpl-util" pkgs) ];
+  };
+  single-threaded-ccl = {
+    pname = "single-threaded-ccl";
+    version = "20150608-git";
+    asds = [ "single-threaded-ccl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/single-threaded-ccl/2015-06-08/single-threaded-ccl-20150608-git.tgz";
+      sha256 = "0d8cf8x77b3f7qh2cr3fnkc6i7dm7pwlnldmv9k4q033rmmhnfxb";
+      system = "single-threaded-ccl";
+      asd = "single-threaded-ccl";
+    });
+    systems = [ "single-threaded-ccl" ];
+    lispLibs = [  ];
+  };
+  singleton-classes = {
+    pname = "singleton-classes";
+    version = "20190307-hg";
+    asds = [ "singleton-classes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-abstract-classes/2019-03-07/cl-abstract-classes-20190307-hg.tgz";
+      sha256 = "0q03j3ksgn56j9xvs3d3hhasplj3hvg488f4cx1z97nlyqxr5w1d";
+      system = "singleton-classes";
+      asd = "singleton-classes";
+    });
+    systems = [ "singleton-classes" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  sip-hash = {
+    pname = "sip-hash";
+    version = "20200610-git";
+    asds = [ "sip-hash" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sip-hash/2020-06-10/sip-hash-20200610-git.tgz";
+      sha256 = "0cd6g37lxd5i5fyg9my4jja27ki5agbpr9d635rcwpf32yhc4sh9";
+      system = "sip-hash";
+      asd = "sip-hash";
+    });
+    systems = [ "sip-hash" ];
+    lispLibs = [ (getAttr "com_dot_google_dot_base" pkgs) (getAttr "nibbles" pkgs) ];
+  };
+  sip-hash_slash_test = {
+    pname = "sip-hash_test";
+    version = "20200610-git";
+    asds = [ "sip-hash" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sip-hash/2020-06-10/sip-hash-20200610-git.tgz";
+      sha256 = "0cd6g37lxd5i5fyg9my4jja27ki5agbpr9d635rcwpf32yhc4sh9";
+      system = "sip-hash";
+      asd = "sip-hash";
+    });
+    systems = [ "sip-hash/test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "sip-hash" pkgs) ];
+  };
+  skeleton = {
+    pname = "skeleton";
+    version = "20200610-git";
+    asds = [ "skeleton" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ahungry-fleece/2020-06-10/ahungry-fleece-20200610-git.tgz";
+      sha256 = "1l2rsy5qn5n456cxbd6kj0hpniy5vf35xcixzfj4j7lv00j0c5lz";
+      system = "skeleton";
+      asd = "skeleton";
+    });
+    systems = [ "skeleton" ];
+    lispLibs = [ (getAttr "ahungry-fleece" pkgs) ];
+  };
+  skeleton-creator = {
+    pname = "skeleton-creator";
+    version = "20191227-git";
+    asds = [ "skeleton-creator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/skeleton-creator/2019-12-27/skeleton-creator-20191227-git.tgz";
+      sha256 = "1yj8w9lpb2jzyf02zg65ngmjfsakzc7k1kcw90w52gk14hv1lk6s";
+      system = "skeleton-creator";
+      asd = "skeleton-creator";
+    });
+    systems = [ "skeleton-creator" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "conf" pkgs) (getAttr "simplet-asdf" pkgs) ];
+  };
+  skeleton-creator_slash_test = {
+    pname = "skeleton-creator_test";
+    version = "20191227-git";
+    asds = [ "skeleton-creator" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/skeleton-creator/2019-12-27/skeleton-creator-20191227-git.tgz";
+      sha256 = "1yj8w9lpb2jzyf02zg65ngmjfsakzc7k1kcw90w52gk14hv1lk6s";
+      system = "skeleton-creator";
+      asd = "skeleton-creator";
+    });
+    systems = [ "skeleton-creator/test" ];
+    lispLibs = [ (getAttr "simplet" pkgs) (getAttr "simplet-asdf" pkgs) (getAttr "skeleton-creator" pkgs) ];
+  };
+  sketch = {
+    pname = "sketch";
+    version = "20211020-git";
+    asds = [ "sketch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sketch/2021-10-20/sketch-20211020-git.tgz";
+      sha256 = "1qrnma8yvmxps9rz3pvlzsir37namppsldijdlr4110pcwi9j9h6";
+      system = "sketch";
+      asd = "sketch";
+    });
+    systems = [ "sketch" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-geometry" pkgs) (getAttr "sdl2-image" pkgs) (getAttr "sdl2-ttf" pkgs) (getAttr "glkit" pkgs) (getAttr "mathkit" pkgs) (getAttr "md5" pkgs) (getAttr "sdl2kit" pkgs) (getAttr "split-sequence" pkgs) (getAttr "static-vectors" pkgs) ];
+  };
+  sketch-examples = {
+    pname = "sketch-examples";
+    version = "20211020-git";
+    asds = [ "sketch-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sketch/2021-10-20/sketch-20211020-git.tgz";
+      sha256 = "1qrnma8yvmxps9rz3pvlzsir37namppsldijdlr4110pcwi9j9h6";
+      system = "sketch-examples";
+      asd = "sketch-examples";
+    });
+    systems = [ "sketch-examples" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "sketch" pkgs) ];
+  };
+  skippy = {
+    pname = "skippy";
+    version = "1.3.12";
+    asds = [ "skippy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/skippy/2015-04-07/skippy-1.3.12.tgz";
+      sha256 = "1n8925qz19w00qc67z3hc97fpmfhi0r54dd50fzqm24vhyb7qwc2";
+      system = "skippy";
+      asd = "skippy";
+    });
+    systems = [ "skippy" ];
+    lispLibs = [  ];
+  };
+  skippy-renderer = {
+    pname = "skippy-renderer";
+    version = "20200427-git";
+    asds = [ "skippy-renderer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/skippy-renderer/2020-04-27/skippy-renderer-20200427-git.tgz";
+      sha256 = "0saqg4jpwa7kh6p77wna5ww02gjizs9g1aywq6y5flm3biwn4xp1";
+      system = "skippy-renderer";
+      asd = "skippy-renderer";
+    });
+    systems = [ "skippy-renderer" ];
+    lispLibs = [ (getAttr "skippy" pkgs) ];
+  };
+  skitter = {
+    pname = "skitter";
+    version = "release-quicklisp-620772ae-git";
+    asds = [ "skitter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/skitter/2018-02-28/skitter-release-quicklisp-620772ae-git.tgz";
+      sha256 = "1rixcav388fnal9v139kvagjfc60sbwd8ikbmd48lppq2nq5anwl";
+      system = "skitter";
+      asd = "skitter";
+    });
+    systems = [ "skitter" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "rtg-math" pkgs) (getAttr "structy-defclass" pkgs) ];
+  };
+  skitter_dot_glop = {
+    pname = "skitter.glop";
+    version = "release-quicklisp-620772ae-git";
+    asds = [ "skitter.glop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/skitter/2018-02-28/skitter-release-quicklisp-620772ae-git.tgz";
+      sha256 = "1rixcav388fnal9v139kvagjfc60sbwd8ikbmd48lppq2nq5anwl";
+      system = "skitter.glop";
+      asd = "skitter.glop";
+    });
+    systems = [ "skitter.glop" ];
+    lispLibs = [ (getAttr "glop" pkgs) (getAttr "skitter" pkgs) ];
+  };
+  skitter_dot_sdl2 = {
+    pname = "skitter.sdl2";
+    version = "release-quicklisp-620772ae-git";
+    asds = [ "skitter.sdl2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/skitter/2018-02-28/skitter-release-quicklisp-620772ae-git.tgz";
+      sha256 = "1rixcav388fnal9v139kvagjfc60sbwd8ikbmd48lppq2nq5anwl";
+      system = "skitter.sdl2";
+      asd = "skitter.sdl2";
+    });
+    systems = [ "skitter.sdl2" ];
+    lispLibs = [ (getAttr "sdl2" pkgs) (getAttr "skitter" pkgs) ];
+  };
+  slack-client = {
+    pname = "slack-client";
+    version = "20160825-git";
+    asds = [ "slack-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/slack-client/2016-08-25/slack-client-20160825-git.tgz";
+      sha256 = "1yl2wqhx1h2kw3s5dkkq5c4hk1r7679yzq41j2j2bscbl3xk3jp9";
+      system = "slack-client";
+      asd = "slack-client";
+    });
+    systems = [ "slack-client" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "blackbird" pkgs) (getAttr "cl-async" pkgs) (getAttr "drakma-async" pkgs) (getAttr "event-glue" pkgs) (getAttr "jonathan" pkgs) (getAttr "safe-queue" pkgs) (getAttr "websocket-driver" pkgs) ];
+  };
+  slack-client-test = {
+    pname = "slack-client-test";
+    version = "20160825-git";
+    asds = [ "slack-client-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/slack-client/2016-08-25/slack-client-20160825-git.tgz";
+      sha256 = "1yl2wqhx1h2kw3s5dkkq5c4hk1r7679yzq41j2j2bscbl3xk3jp9";
+      system = "slack-client-test";
+      asd = "slack-client-test";
+    });
+    systems = [ "slack-client-test" ];
+    lispLibs = [ (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "slack-client" pkgs) ];
+  };
+  slim = {
+    pname = "slim";
+    version = "20211230-git";
+    asds = [ "slim" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mcclim/2021-12-30/mcclim-20211230-git.tgz";
+      sha256 = "1fhlx5v027a3yxmxkv0pm6kgyd895598cjgs0f5dc96wjilqc04x";
+      system = "slim";
+      asd = "slim";
+    });
+    systems = [ "slim" ];
+    lispLibs = [ (getAttr "mcclim" pkgs) ];
+  };
+  slite = {
+    pname = "slite";
+    version = "20211230-git";
+    asds = [ "slite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/slite/2021-12-30/slite-20211230-git.tgz";
+      sha256 = "18si1x7s0ns9ls270y551ns6wny081wjcxaraxafq1qdw5xyzj48";
+      system = "slite";
+      asd = "slite";
+    });
+    systems = [ "slite" ];
+    lispLibs = [ (getAttr "str" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  slite_slash_parachute = {
+    pname = "slite_parachute";
+    version = "20211230-git";
+    asds = [ "slite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/slite/2021-12-30/slite-20211230-git.tgz";
+      sha256 = "18si1x7s0ns9ls270y551ns6wny081wjcxaraxafq1qdw5xyzj48";
+      system = "slite";
+      asd = "slite";
+    });
+    systems = [ "slite/parachute" ];
+    lispLibs = [ (getAttr "parachute" pkgs) (getAttr "slite" pkgs) ];
+  };
+  slite_slash_tests = {
+    pname = "slite_tests";
+    version = "20211230-git";
+    asds = [ "slite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/slite/2021-12-30/slite-20211230-git.tgz";
+      sha256 = "18si1x7s0ns9ls270y551ns6wny081wjcxaraxafq1qdw5xyzj48";
+      system = "slite";
+      asd = "slite";
+    });
+    systems = [ "slite/tests" ];
+    lispLibs = [ (getAttr "parachute" pkgs) (getAttr "slite" pkgs) ];
+  };
+  slot-extra-options = {
+    pname = "slot-extra-options";
+    version = "20210411-git";
+    asds = [ "slot-extra-options" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/slot-extra-options/2021-04-11/slot-extra-options-20210411-git.tgz";
+      sha256 = "1b2swhjjs0w1034cy045q8l3ndmci7rjawka39q23vncy6d90497";
+      system = "slot-extra-options";
+      asd = "slot-extra-options";
+    });
+    systems = [ "slot-extra-options" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  slot-extra-options-tests = {
+    pname = "slot-extra-options-tests";
+    version = "20210411-git";
+    asds = [ "slot-extra-options-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/slot-extra-options/2021-04-11/slot-extra-options-20210411-git.tgz";
+      sha256 = "1b2swhjjs0w1034cy045q8l3ndmci7rjawka39q23vncy6d90497";
+      system = "slot-extra-options-tests";
+      asd = "slot-extra-options-tests";
+    });
+    systems = [ "slot-extra-options-tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "parachute" pkgs) (getAttr "serapeum" pkgs) (getAttr "slot-extra-options" pkgs) ];
+  };
+  slynk = {
+    pname = "slynk";
+    version = "20211230-git";
+    asds = [ "slynk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sly/2021-12-30/sly-20211230-git.tgz";
+      sha256 = "0qlc5ny85dd03i0fj10ypjxkziih23k031m1wlvhjsdjg2ibs0f7";
+      system = "slynk";
+      asd = "slynk";
+    });
+    systems = [ "slynk" ];
+    lispLibs = [  ];
+  };
+  slynk_slash_arglists = {
+    pname = "slynk_arglists";
+    version = "20211230-git";
+    asds = [ "slynk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sly/2021-12-30/sly-20211230-git.tgz";
+      sha256 = "0qlc5ny85dd03i0fj10ypjxkziih23k031m1wlvhjsdjg2ibs0f7";
+      system = "slynk";
+      asd = "slynk";
+    });
+    systems = [ "slynk/arglists" ];
+    lispLibs = [ (getAttr "slynk" pkgs) ];
+  };
+  slynk_slash_fancy-inspector = {
+    pname = "slynk_fancy-inspector";
+    version = "20211230-git";
+    asds = [ "slynk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sly/2021-12-30/sly-20211230-git.tgz";
+      sha256 = "0qlc5ny85dd03i0fj10ypjxkziih23k031m1wlvhjsdjg2ibs0f7";
+      system = "slynk";
+      asd = "slynk";
+    });
+    systems = [ "slynk/fancy-inspector" ];
+    lispLibs = [ (getAttr "slynk" pkgs) ];
+  };
+  slynk_slash_indentation = {
+    pname = "slynk_indentation";
+    version = "20211230-git";
+    asds = [ "slynk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sly/2021-12-30/sly-20211230-git.tgz";
+      sha256 = "0qlc5ny85dd03i0fj10ypjxkziih23k031m1wlvhjsdjg2ibs0f7";
+      system = "slynk";
+      asd = "slynk";
+    });
+    systems = [ "slynk/indentation" ];
+    lispLibs = [ (getAttr "slynk" pkgs) ];
+  };
+  slynk_slash_mrepl = {
+    pname = "slynk_mrepl";
+    version = "20211230-git";
+    asds = [ "slynk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sly/2021-12-30/sly-20211230-git.tgz";
+      sha256 = "0qlc5ny85dd03i0fj10ypjxkziih23k031m1wlvhjsdjg2ibs0f7";
+      system = "slynk";
+      asd = "slynk";
+    });
+    systems = [ "slynk/mrepl" ];
+    lispLibs = [ (getAttr "slynk" pkgs) ];
+  };
+  slynk_slash_package-fu = {
+    pname = "slynk_package-fu";
+    version = "20211230-git";
+    asds = [ "slynk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sly/2021-12-30/sly-20211230-git.tgz";
+      sha256 = "0qlc5ny85dd03i0fj10ypjxkziih23k031m1wlvhjsdjg2ibs0f7";
+      system = "slynk";
+      asd = "slynk";
+    });
+    systems = [ "slynk/package-fu" ];
+    lispLibs = [ (getAttr "slynk" pkgs) ];
+  };
+  slynk_slash_profiler = {
+    pname = "slynk_profiler";
+    version = "20211230-git";
+    asds = [ "slynk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sly/2021-12-30/sly-20211230-git.tgz";
+      sha256 = "0qlc5ny85dd03i0fj10ypjxkziih23k031m1wlvhjsdjg2ibs0f7";
+      system = "slynk";
+      asd = "slynk";
+    });
+    systems = [ "slynk/profiler" ];
+    lispLibs = [ (getAttr "slynk" pkgs) ];
+  };
+  slynk_slash_retro = {
+    pname = "slynk_retro";
+    version = "20211230-git";
+    asds = [ "slynk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sly/2021-12-30/sly-20211230-git.tgz";
+      sha256 = "0qlc5ny85dd03i0fj10ypjxkziih23k031m1wlvhjsdjg2ibs0f7";
+      system = "slynk";
+      asd = "slynk";
+    });
+    systems = [ "slynk/retro" ];
+    lispLibs = [ (getAttr "slynk" pkgs) ];
+  };
+  slynk_slash_stickers = {
+    pname = "slynk_stickers";
+    version = "20211230-git";
+    asds = [ "slynk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sly/2021-12-30/sly-20211230-git.tgz";
+      sha256 = "0qlc5ny85dd03i0fj10ypjxkziih23k031m1wlvhjsdjg2ibs0f7";
+      system = "slynk";
+      asd = "slynk";
+    });
+    systems = [ "slynk/stickers" ];
+    lispLibs = [ (getAttr "slynk" pkgs) ];
+  };
+  slynk_slash_trace-dialog = {
+    pname = "slynk_trace-dialog";
+    version = "20211230-git";
+    asds = [ "slynk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sly/2021-12-30/sly-20211230-git.tgz";
+      sha256 = "0qlc5ny85dd03i0fj10ypjxkziih23k031m1wlvhjsdjg2ibs0f7";
+      system = "slynk";
+      asd = "slynk";
+    });
+    systems = [ "slynk/trace-dialog" ];
+    lispLibs = [ (getAttr "slynk" pkgs) ];
+  };
+  smackjack = {
+    pname = "smackjack";
+    version = "20180228-git";
+    asds = [ "smackjack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/smackjack/2018-02-28/smackjack-20180228-git.tgz";
+      sha256 = "1n2x7qij2ci70axd2xn295qqgqrvbfbpvv2438lhwd8qa92dhk8b";
+      system = "smackjack";
+      asd = "smackjack";
+    });
+    systems = [ "smackjack" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-containers" pkgs) (getAttr "cl-json" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "parenscript" pkgs) ];
+  };
+  smackjack-demo = {
+    pname = "smackjack-demo";
+    version = "20180228-git";
+    asds = [ "smackjack-demo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/smackjack/2018-02-28/smackjack-20180228-git.tgz";
+      sha256 = "1n2x7qij2ci70axd2xn295qqgqrvbfbpvv2438lhwd8qa92dhk8b";
+      system = "smackjack-demo";
+      asd = "smackjack-demo";
+    });
+    systems = [ "smackjack-demo" ];
+    lispLibs = [ (getAttr "cl-containers" pkgs) (getAttr "cl-who" pkgs) (getAttr "local-time" pkgs) (getAttr "smackjack" pkgs) ];
+  };
+  smart-buffer = {
+    pname = "smart-buffer";
+    version = "20211020-git";
+    asds = [ "smart-buffer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/smart-buffer/2021-10-20/smart-buffer-20211020-git.tgz";
+      sha256 = "1r9y61a791m7aqgg2ixs86lc63y78w7n6dwipakcpjzscqmprppr";
+      system = "smart-buffer";
+      asd = "smart-buffer";
+    });
+    systems = [ "smart-buffer" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) (getAttr "uiop" pkgs) (getAttr "xsubseq" pkgs) ];
+  };
+  smart-buffer-test = {
+    pname = "smart-buffer-test";
+    version = "20211020-git";
+    asds = [ "smart-buffer-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/smart-buffer/2021-10-20/smart-buffer-20211020-git.tgz";
+      sha256 = "1r9y61a791m7aqgg2ixs86lc63y78w7n6dwipakcpjzscqmprppr";
+      system = "smart-buffer-test";
+      asd = "smart-buffer-test";
+    });
+    systems = [ "smart-buffer-test" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "smart-buffer" pkgs) ];
+  };
+  smokebase = {
+    pname = "smokebase";
+    version = "20210531-git";
+    asds = [ "smokebase" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/qt-libs/2021-05-31/qt-libs-20210531-git.tgz";
+      sha256 = "0why7cssadw20jg382k6mg2lgk5b3b3nwyyvjafaz90h0ljf0b9w";
+      system = "smokebase";
+      asd = "smokebase";
+    });
+    systems = [ "smokebase" ];
+    lispLibs = [ (getAttr "qt_plus_libs" pkgs) (getAttr "qt-libs" pkgs) ];
+  };
+  smug = {
+    pname = "smug";
+    version = "20211230-git";
+    asds = [ "smug" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/smug/2021-12-30/smug-20211230-git.tgz";
+      sha256 = "13gzkj9skya2ziwclk041v7sif392ydbvhvikhg2raa3qjcxb3rq";
+      system = "smug";
+      asd = "smug";
+    });
+    systems = [ "smug" ];
+    lispLibs = [ (getAttr "asdf-package-system" pkgs) ];
+  };
+  sn_dot_man = {
+    pname = "sn.man";
+    version = "20190202-git";
+    asds = [ "sn.man" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sn.man/2019-02-02/sn.man-20190202-git.tgz";
+      sha256 = "18k3j1sgm28kv9fpi88zwmk8gmjpkwyi77sbzasa83sfvkn02wn2";
+      system = "sn.man";
+      asd = "sn.man";
+    });
+    systems = [ "sn.man" ];
+    lispLibs = [  ];
+  };
+  snakes = {
+    pname = "snakes";
+    version = "20181210-git";
+    asds = [ "snakes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snakes/2018-12-10/snakes-20181210-git.tgz";
+      sha256 = "1ibp919qcpm6kg67b507kpjzdlhpdjr7vkh9vabln3a75k8lnlsg";
+      system = "snakes";
+      asd = "snakes";
+    });
+    systems = [ "snakes" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-cont" pkgs) (getAttr "cl-utilities" pkgs) (getAttr "closer-mop" pkgs) (getAttr "fiveam" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  snappy = {
+    pname = "snappy";
+    version = "20211209-git";
+    asds = [ "snappy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snappy/2021-12-09/snappy-20211209-git.tgz";
+      sha256 = "1g0d8icbqmahywqczb8pimr63970dil6mnlxkv3y9ng31dg0npy6";
+      system = "snappy";
+      asd = "snappy";
+    });
+    systems = [ "snappy" ];
+    lispLibs = [ (getAttr "com_dot_google_dot_base" pkgs) (getAttr "nibbles" pkgs) (getAttr "varint" pkgs) ];
+  };
+  snappy_slash_test = {
+    pname = "snappy_test";
+    version = "20211209-git";
+    asds = [ "snappy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snappy/2021-12-09/snappy-20211209-git.tgz";
+      sha256 = "1g0d8icbqmahywqczb8pimr63970dil6mnlxkv3y9ng31dg0npy6";
+      system = "snappy";
+      asd = "snappy";
+    });
+    systems = [ "snappy/test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "nibbles" pkgs) (getAttr "acm-random" pkgs) (getAttr "snappy" pkgs) ];
+  };
+  snark = {
+    pname = "snark";
+    version = "20160421-git";
+    asds = [ "snark" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz";
+      sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5";
+      system = "snark";
+      asd = "snark";
+    });
+    systems = [ "snark" ];
+    lispLibs = [ (getAttr "snark-implementation" pkgs) ];
+  };
+  snark-agenda = {
+    pname = "snark-agenda";
+    version = "20160421-git";
+    asds = [ "snark-agenda" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz";
+      sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5";
+      system = "snark-agenda";
+      asd = "snark-agenda";
+    });
+    systems = [ "snark-agenda" ];
+    lispLibs = [ (getAttr "snark-auxiliary-packages" pkgs) (getAttr "snark-deque" pkgs) (getAttr "snark-lisp" pkgs) (getAttr "snark-sparse-array" pkgs) ];
+  };
+  snark-auxiliary-packages = {
+    pname = "snark-auxiliary-packages";
+    version = "20160421-git";
+    asds = [ "snark-auxiliary-packages" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz";
+      sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5";
+      system = "snark-auxiliary-packages";
+      asd = "snark-auxiliary-packages";
+    });
+    systems = [ "snark-auxiliary-packages" ];
+    lispLibs = [  ];
+  };
+  snark-deque = {
+    pname = "snark-deque";
+    version = "20160421-git";
+    asds = [ "snark-deque" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz";
+      sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5";
+      system = "snark-deque";
+      asd = "snark-deque";
+    });
+    systems = [ "snark-deque" ];
+    lispLibs = [ (getAttr "snark-auxiliary-packages" pkgs) (getAttr "snark-lisp" pkgs) ];
+  };
+  snark-dpll = {
+    pname = "snark-dpll";
+    version = "20160421-git";
+    asds = [ "snark-dpll" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz";
+      sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5";
+      system = "snark-dpll";
+      asd = "snark-dpll";
+    });
+    systems = [ "snark-dpll" ];
+    lispLibs = [ (getAttr "snark-auxiliary-packages" pkgs) (getAttr "snark-lisp" pkgs) ];
+  };
+  snark-examples = {
+    pname = "snark-examples";
+    version = "20160421-git";
+    asds = [ "snark-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz";
+      sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5";
+      system = "snark-examples";
+      asd = "snark-examples";
+    });
+    systems = [ "snark-examples" ];
+    lispLibs = [ (getAttr "snark" pkgs) ];
+  };
+  snark-feature = {
+    pname = "snark-feature";
+    version = "20160421-git";
+    asds = [ "snark-feature" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz";
+      sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5";
+      system = "snark-feature";
+      asd = "snark-feature";
+    });
+    systems = [ "snark-feature" ];
+    lispLibs = [ (getAttr "snark-auxiliary-packages" pkgs) (getAttr "snark-lisp" pkgs) ];
+  };
+  snark-implementation = {
+    pname = "snark-implementation";
+    version = "20160421-git";
+    asds = [ "snark-implementation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz";
+      sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5";
+      system = "snark-implementation";
+      asd = "snark-implementation";
+    });
+    systems = [ "snark-implementation" ];
+    lispLibs = [ (getAttr "snark-agenda" pkgs) (getAttr "snark-auxiliary-packages" pkgs) (getAttr "snark-deque" pkgs) (getAttr "snark-dpll" pkgs) (getAttr "snark-feature" pkgs) (getAttr "snark-infix-reader" pkgs) (getAttr "snark-lisp" pkgs) (getAttr "snark-numbering" pkgs) (getAttr "snark-pkg" pkgs) (getAttr "snark-sparse-array" pkgs) ];
+  };
+  snark-infix-reader = {
+    pname = "snark-infix-reader";
+    version = "20160421-git";
+    asds = [ "snark-infix-reader" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz";
+      sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5";
+      system = "snark-infix-reader";
+      asd = "snark-infix-reader";
+    });
+    systems = [ "snark-infix-reader" ];
+    lispLibs = [ (getAttr "snark-auxiliary-packages" pkgs) (getAttr "snark-lisp" pkgs) ];
+  };
+  snark-lisp = {
+    pname = "snark-lisp";
+    version = "20160421-git";
+    asds = [ "snark-lisp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz";
+      sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5";
+      system = "snark-lisp";
+      asd = "snark-lisp";
+    });
+    systems = [ "snark-lisp" ];
+    lispLibs = [ (getAttr "snark-auxiliary-packages" pkgs) ];
+  };
+  snark-loads = {
+    pname = "snark-loads";
+    version = "20160421-git";
+    asds = [ "snark-loads" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz";
+      sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5";
+      system = "snark-loads";
+      asd = "snark-loads";
+    });
+    systems = [ "snark-loads" ];
+    lispLibs = [  ];
+  };
+  snark-numbering = {
+    pname = "snark-numbering";
+    version = "20160421-git";
+    asds = [ "snark-numbering" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz";
+      sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5";
+      system = "snark-numbering";
+      asd = "snark-numbering";
+    });
+    systems = [ "snark-numbering" ];
+    lispLibs = [ (getAttr "snark-auxiliary-packages" pkgs) (getAttr "snark-lisp" pkgs) (getAttr "snark-sparse-array" pkgs) ];
+  };
+  snark-pkg = {
+    pname = "snark-pkg";
+    version = "20160421-git";
+    asds = [ "snark-pkg" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz";
+      sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5";
+      system = "snark-pkg";
+      asd = "snark-pkg";
+    });
+    systems = [ "snark-pkg" ];
+    lispLibs = [ (getAttr "snark-dpll" pkgs) ];
+  };
+  snark-sparse-array = {
+    pname = "snark-sparse-array";
+    version = "20160421-git";
+    asds = [ "snark-sparse-array" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snark/2016-04-21/snark-20160421-git.tgz";
+      sha256 = "0zsqaqkl9s626nk5h41z00kssjnzhbsra68zfflryp5j3gy9vgm5";
+      system = "snark-sparse-array";
+      asd = "snark-sparse-array";
+    });
+    systems = [ "snark-sparse-array" ];
+    lispLibs = [ (getAttr "snark-auxiliary-packages" pkgs) (getAttr "snark-lisp" pkgs) ];
+  };
+  sndfile-blob = {
+    pname = "sndfile-blob";
+    version = "stable-git";
+    asds = [ "sndfile-blob" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sndfile-blob/2020-10-16/sndfile-blob-stable-git.tgz";
+      sha256 = "1csbm2cgj76smia59044vx8698w9dy223cmwv8l4i8kb95m1i3l0";
+      system = "sndfile-blob";
+      asd = "sndfile-blob";
+    });
+    systems = [ "sndfile-blob" ];
+    lispLibs = [ (getAttr "bodge-blobs-support" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  snmp = {
+    pname = "snmp";
+    version = "6.1";
+    asds = [ "snmp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snmp/2016-10-31/snmp-6.1.tgz";
+      sha256 = "0qpy6jfp0v9i80gli1gf98sj0h67x9g5a8bqxrsxnqyi3h59di5s";
+      system = "snmp";
+      asd = "snmp";
+    });
+    systems = [ "snmp" ];
+    lispLibs = [ (getAttr "ieee-floats" pkgs) (getAttr "ironclad" pkgs) (getAttr "portable-threads" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  snmp-server = {
+    pname = "snmp-server";
+    version = "6.1";
+    asds = [ "snmp-server" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snmp/2016-10-31/snmp-6.1.tgz";
+      sha256 = "0qpy6jfp0v9i80gli1gf98sj0h67x9g5a8bqxrsxnqyi3h59di5s";
+      system = "snmp-server";
+      asd = "snmp-server";
+    });
+    systems = [ "snmp-server" ];
+    lispLibs = [ (getAttr "snmp" pkgs) (getAttr "usocket-server" pkgs) ];
+  };
+  snmp-test = {
+    pname = "snmp-test";
+    version = "6.1";
+    asds = [ "snmp-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snmp/2016-10-31/snmp-6.1.tgz";
+      sha256 = "0qpy6jfp0v9i80gli1gf98sj0h67x9g5a8bqxrsxnqyi3h59di5s";
+      system = "snmp-test";
+      asd = "snmp-test";
+    });
+    systems = [ "snmp-test" ];
+    lispLibs = [ (getAttr "snmp" pkgs) (getAttr "snmp-server" pkgs) ];
+  };
+  snmp-ui = {
+    pname = "snmp-ui";
+    version = "6.1";
+    asds = [ "snmp-ui" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snmp/2016-10-31/snmp-6.1.tgz";
+      sha256 = "0qpy6jfp0v9i80gli1gf98sj0h67x9g5a8bqxrsxnqyi3h59di5s";
+      system = "snmp-ui";
+      asd = "snmp-ui";
+    });
+    systems = [ "snmp-ui" ];
+    lispLibs = [ (getAttr "snmp" pkgs) ];
+  };
+  snooze = {
+    pname = "snooze";
+    version = "20210807-git";
+    asds = [ "snooze" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snooze/2021-08-07/snooze-20210807-git.tgz";
+      sha256 = "0y6n5k6yw6183kf00m4wa9fksad9qjy4i5qr027ys48mgw8d23fj";
+      system = "snooze";
+      asd = "snooze";
+    });
+    systems = [ "snooze" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "parse-float" pkgs) (getAttr "quri" pkgs) (getAttr "rfc2388" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  snooze-demo = {
+    pname = "snooze-demo";
+    version = "20210807-git";
+    asds = [ "snooze-demo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snooze/2021-08-07/snooze-20210807-git.tgz";
+      sha256 = "0y6n5k6yw6183kf00m4wa9fksad9qjy4i5qr027ys48mgw8d23fj";
+      system = "snooze-demo";
+      asd = "snooze";
+    });
+    systems = [ "snooze-demo" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-css" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-who" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "local-time" pkgs) (getAttr "local-time-duration" pkgs) (getAttr "snooze" pkgs) ];
+  };
+  snooze-tests = {
+    pname = "snooze-tests";
+    version = "20210807-git";
+    asds = [ "snooze-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/snooze/2021-08-07/snooze-20210807-git.tgz";
+      sha256 = "0y6n5k6yw6183kf00m4wa9fksad9qjy4i5qr027ys48mgw8d23fj";
+      system = "snooze-tests";
+      asd = "snooze";
+    });
+    systems = [ "snooze-tests" ];
+    lispLibs = [ (getAttr "fiasco" pkgs) (getAttr "snooze" pkgs) ];
+  };
+  softdrink = {
+    pname = "softdrink";
+    version = "20200427-git";
+    asds = [ "softdrink" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/softdrink/2020-04-27/softdrink-20200427-git.tgz";
+      sha256 = "1b0by4ymvk120aaq0viqqjqnbk91g00cd7bipnrb75nfb4ahi2s9";
+      system = "softdrink";
+      asd = "softdrink";
+    });
+    systems = [ "softdrink" ];
+    lispLibs = [ (getAttr "lass" pkgs) (getAttr "lquery" pkgs) ];
+  };
+  software-evolution-library = {
+    pname = "software-evolution-library";
+    version = "20211230-git";
+    asds = [ "software-evolution-library" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sel/2021-12-30/sel-20211230-git.tgz";
+      sha256 = "0rmgigkx09w2zv06wz6l6iwyg8kyczklr3mnssh1985d5w778psb";
+      system = "software-evolution-library";
+      asd = "software-evolution-library";
+    });
+    systems = [ "software-evolution-library" ];
+    lispLibs = [ (getAttr "asdf-package-system" pkgs) (getAttr "atomics" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "gt" pkgs) (getAttr "deploy" pkgs) ];
+  };
+  software-evolution-library_slash_deploy-tree-sitter-interface = {
+    pname = "software-evolution-library_deploy-tree-sitter-interface";
+    version = "20211230-git";
+    asds = [ "software-evolution-library" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sel/2021-12-30/sel-20211230-git.tgz";
+      sha256 = "0rmgigkx09w2zv06wz6l6iwyg8kyczklr3mnssh1985d5w778psb";
+      system = "software-evolution-library";
+      asd = "software-evolution-library";
+    });
+    systems = [ "software-evolution-library/deploy-tree-sitter-interface" ];
+    lispLibs = [ (getAttr "deploy" pkgs) ];
+  };
+  software-evolution-library_slash_run-dump-store = {
+    pname = "software-evolution-library_run-dump-store";
+    version = "20211230-git";
+    asds = [ "software-evolution-library" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sel/2021-12-30/sel-20211230-git.tgz";
+      sha256 = "0rmgigkx09w2zv06wz6l6iwyg8kyczklr3mnssh1985d5w778psb";
+      system = "software-evolution-library";
+      asd = "software-evolution-library";
+    });
+    systems = [ "software-evolution-library/run-dump-store" ];
+    lispLibs = [  ];
+  };
+  software-evolution-library_slash_run-rest-server = {
+    pname = "software-evolution-library_run-rest-server";
+    version = "20211230-git";
+    asds = [ "software-evolution-library" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sel/2021-12-30/sel-20211230-git.tgz";
+      sha256 = "0rmgigkx09w2zv06wz6l6iwyg8kyczklr3mnssh1985d5w778psb";
+      system = "software-evolution-library";
+      asd = "software-evolution-library";
+    });
+    systems = [ "software-evolution-library/run-rest-server" ];
+    lispLibs = [  ];
+  };
+  software-evolution-library_slash_run-test-parse = {
+    pname = "software-evolution-library_run-test-parse";
+    version = "20211230-git";
+    asds = [ "software-evolution-library" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sel/2021-12-30/sel-20211230-git.tgz";
+      sha256 = "0rmgigkx09w2zv06wz6l6iwyg8kyczklr3mnssh1985d5w778psb";
+      system = "software-evolution-library";
+      asd = "software-evolution-library";
+    });
+    systems = [ "software-evolution-library/run-test-parse" ];
+    lispLibs = [  ];
+  };
+  software-evolution-library_slash_run-tree-sitter-interface = {
+    pname = "software-evolution-library_run-tree-sitter-interface";
+    version = "20211230-git";
+    asds = [ "software-evolution-library" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sel/2021-12-30/sel-20211230-git.tgz";
+      sha256 = "0rmgigkx09w2zv06wz6l6iwyg8kyczklr3mnssh1985d5w778psb";
+      system = "software-evolution-library";
+      asd = "software-evolution-library";
+    });
+    systems = [ "software-evolution-library/run-tree-sitter-interface" ];
+    lispLibs = [  ];
+  };
+  software-evolution-library_slash_run-tree-sitter-py-generator = {
+    pname = "software-evolution-library_run-tree-sitter-py-generator";
+    version = "20211230-git";
+    asds = [ "software-evolution-library" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sel/2021-12-30/sel-20211230-git.tgz";
+      sha256 = "0rmgigkx09w2zv06wz6l6iwyg8kyczklr3mnssh1985d5w778psb";
+      system = "software-evolution-library";
+      asd = "software-evolution-library";
+    });
+    systems = [ "software-evolution-library/run-tree-sitter-py-generator" ];
+    lispLibs = [  ];
+  };
+  software-evolution-library_slash_terminal = {
+    pname = "software-evolution-library_terminal";
+    version = "20211230-git";
+    asds = [ "software-evolution-library" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sel/2021-12-30/sel-20211230-git.tgz";
+      sha256 = "0rmgigkx09w2zv06wz6l6iwyg8kyczklr3mnssh1985d5w778psb";
+      system = "software-evolution-library";
+      asd = "software-evolution-library";
+    });
+    systems = [ "software-evolution-library/terminal" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cl-interpol" pkgs) (getAttr "gt" pkgs) ];
+  };
+  software-evolution-library_slash_utility_slash_fare-qq = {
+    pname = "software-evolution-library_utility_fare-qq";
+    version = "20211230-git";
+    asds = [ "software-evolution-library" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sel/2021-12-30/sel-20211230-git.tgz";
+      sha256 = "0rmgigkx09w2zv06wz6l6iwyg8kyczklr3mnssh1985d5w778psb";
+      system = "software-evolution-library";
+      asd = "software-evolution-library";
+    });
+    systems = [ "software-evolution-library/utility/fare-qq" ];
+    lispLibs = [ (getAttr "fare-quasiquote-extras" pkgs) ];
+  };
+  solid-engine = {
+    pname = "solid-engine";
+    version = "20190521-git";
+    asds = [ "solid-engine" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/solid-engine/2019-05-21/solid-engine-20190521-git.tgz";
+      sha256 = "1pxrgxfqz8br258jy35qyimsrz544fg9k7lw2jshkj4jr2pswsv0";
+      system = "solid-engine";
+      asd = "solid-engine";
+    });
+    systems = [ "solid-engine" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  soundex = {
+    pname = "soundex";
+    version = "1.0";
+    asds = [ "soundex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/soundex/2010-10-06/soundex-1.0.tgz";
+      sha256 = "00ar2x7ja35337v6gwa4h2b8w7gf7dwx5mdfz91dqay43kx1pjsi";
+      system = "soundex";
+      asd = "soundex";
+    });
+    systems = [ "soundex" ];
+    lispLibs = [  ];
+  };
+  south = {
+    pname = "south";
+    version = "20190710-git";
+    asds = [ "south" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/south/2019-07-10/south-20190710-git.tgz";
+      sha256 = "09fyqxsflc107f3g2mzh81wnr3lzbaaz2jj5js0q6rpyaq2yc39p";
+      system = "south";
+      asd = "south";
+    });
+    systems = [ "south" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "ironclad" pkgs) (getAttr "uuid" pkgs) ];
+  };
+  spatial-trees = {
+    pname = "spatial-trees";
+    version = "20140826-git";
+    asds = [ "spatial-trees" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/spatial-trees/2014-08-26/spatial-trees-20140826-git.tgz";
+      sha256 = "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa";
+      system = "spatial-trees";
+      asd = "spatial-trees";
+    });
+    systems = [ "spatial-trees" ];
+    lispLibs = [  ];
+  };
+  spatial-trees_dot_nns = {
+    pname = "spatial-trees.nns";
+    version = "20140826-git";
+    asds = [ "spatial-trees.nns" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/spatial-trees/2014-08-26/spatial-trees-20140826-git.tgz";
+      sha256 = "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa";
+      system = "spatial-trees.nns";
+      asd = "spatial-trees.nns";
+    });
+    systems = [ "spatial-trees.nns" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) (getAttr "optima" pkgs) (getAttr "spatial-trees" pkgs) ];
+  };
+  spatial-trees_dot_nns_dot_test = {
+    pname = "spatial-trees.nns.test";
+    version = "20140826-git";
+    asds = [ "spatial-trees.nns.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/spatial-trees/2014-08-26/spatial-trees-20140826-git.tgz";
+      sha256 = "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa";
+      system = "spatial-trees.nns.test";
+      asd = "spatial-trees.nns.test";
+    });
+    systems = [ "spatial-trees.nns.test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fiveam" pkgs) (getAttr "iterate" pkgs) (getAttr "optima" pkgs) (getAttr "spatial-trees" pkgs) (getAttr "spatial-trees_dot_nns" pkgs) ];
+  };
+  spatial-trees_dot_test = {
+    pname = "spatial-trees.test";
+    version = "20140826-git";
+    asds = [ "spatial-trees.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/spatial-trees/2014-08-26/spatial-trees-20140826-git.tgz";
+      sha256 = "11rhc6h501dwcik2igkszz7b9n515cr99m5pjh4r2qfwgiri6ysa";
+      system = "spatial-trees.test";
+      asd = "spatial-trees.test";
+    });
+    systems = [ "spatial-trees.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "spatial-trees" pkgs) ];
+  };
+  special-functions = {
+    pname = "special-functions";
+    version = "20210807-git";
+    asds = [ "special-functions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/special-functions/2021-08-07/special-functions-20210807-git.tgz";
+      sha256 = "0prc01m0kndlh1bggh1as1fbcdcfrm1mr5y5vdxxa4s26g20yjf8";
+      system = "special-functions";
+      asd = "special-functions";
+    });
+    systems = [ "special-functions" ];
+    lispLibs = [ (getAttr "float-features" pkgs) (getAttr "num-utils" pkgs) ];
+  };
+  special-functions_slash_tests = {
+    pname = "special-functions_tests";
+    version = "20210807-git";
+    asds = [ "special-functions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/special-functions/2021-08-07/special-functions-20210807-git.tgz";
+      sha256 = "0prc01m0kndlh1bggh1as1fbcdcfrm1mr5y5vdxxa4s26g20yjf8";
+      system = "special-functions";
+      asd = "special-functions";
+    });
+    systems = [ "special-functions/tests" ];
+    lispLibs = [ (getAttr "cl-variates" pkgs) (getAttr "fiveam" pkgs) (getAttr "select" pkgs) (getAttr "special-functions" pkgs) ];
+  };
+  specialization-store = {
+    pname = "specialization-store";
+    version = "v0.0.5";
+    asds = [ "specialization-store" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/specialization-store/2020-06-10/specialization-store-v0.0.5.tgz";
+      sha256 = "03q0szyz8ygqmg10q4j97dy7gfr9icxay9s8bgs883yncbk42y6c";
+      system = "specialization-store";
+      asd = "specialization-store";
+    });
+    systems = [ "specialization-store" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "introspect-environment" pkgs) (getAttr "specialization-store-features" pkgs) ];
+  };
+  specialization-store-features = {
+    pname = "specialization-store-features";
+    version = "v0.0.5";
+    asds = [ "specialization-store-features" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/specialization-store/2020-06-10/specialization-store-v0.0.5.tgz";
+      sha256 = "03q0szyz8ygqmg10q4j97dy7gfr9icxay9s8bgs883yncbk42y6c";
+      system = "specialization-store-features";
+      asd = "specialization-store-features";
+    });
+    systems = [ "specialization-store-features" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "introspect-environment" pkgs) ];
+  };
+  specialization-store-tests = {
+    pname = "specialization-store-tests";
+    version = "v0.0.5";
+    asds = [ "specialization-store-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/specialization-store/2020-06-10/specialization-store-v0.0.5.tgz";
+      sha256 = "03q0szyz8ygqmg10q4j97dy7gfr9icxay9s8bgs883yncbk42y6c";
+      system = "specialization-store-tests";
+      asd = "specialization-store-tests";
+    });
+    systems = [ "specialization-store-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "specialization-store" pkgs) ];
+  };
+  specialized-function = {
+    pname = "specialized-function";
+    version = "20210531-git";
+    asds = [ "specialized-function" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/specialized-function/2021-05-31/specialized-function-20210531-git.tgz";
+      sha256 = "19hfgc83b7as630r1w9r8yl0v6xq3dn01vcrl0bd4pza5hgjn4la";
+      system = "specialized-function";
+      asd = "specialized-function";
+    });
+    systems = [ "specialized-function" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) (getAttr "lisp-namespace" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-cltl2" pkgs) (getAttr "type-r" pkgs) ];
+  };
+  specialized-function_dot_test = {
+    pname = "specialized-function.test";
+    version = "20210531-git";
+    asds = [ "specialized-function.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/specialized-function/2021-05-31/specialized-function-20210531-git.tgz";
+      sha256 = "19hfgc83b7as630r1w9r8yl0v6xq3dn01vcrl0bd4pza5hgjn4la";
+      system = "specialized-function.test";
+      asd = "specialized-function.test";
+    });
+    systems = [ "specialized-function.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "specialized-function" pkgs) ];
+  };
+  speechless = {
+    pname = "speechless";
+    version = "20210807-git";
+    asds = [ "speechless" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/speechless/2021-08-07/speechless-20210807-git.tgz";
+      sha256 = "0f6jhb95ldbssfmwaad933mnc8q0aia7yb66p0hmix1vg6nixb36";
+      system = "speechless";
+      asd = "speechless";
+    });
+    systems = [ "speechless" ];
+    lispLibs = [ (getAttr "cl-markless" pkgs) (getAttr "documentation-utils" pkgs) ];
+  };
+  spell = {
+    pname = "spell";
+    version = "20190307-git";
+    asds = [ "spell" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/spell/2019-03-07/spell-20190307-git.tgz";
+      sha256 = "1ifhx5q0iz80i9zwgcpv3w7xpp92ar9grz25008wnqzaayhfl020";
+      system = "spell";
+      asd = "spell";
+    });
+    systems = [ "spell" ];
+    lispLibs = [  ];
+  };
+  spell_slash_simple = {
+    pname = "spell_simple";
+    version = "20190307-git";
+    asds = [ "spell" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/spell/2019-03-07/spell-20190307-git.tgz";
+      sha256 = "1ifhx5q0iz80i9zwgcpv3w7xpp92ar9grz25008wnqzaayhfl020";
+      system = "spell";
+      asd = "spell";
+    });
+    systems = [ "spell/simple" ];
+    lispLibs = [  ];
+  };
+  spellcheck = {
+    pname = "spellcheck";
+    version = "20131003-git";
+    asds = [ "spellcheck" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/spellcheck/2013-10-03/spellcheck-20131003-git.tgz";
+      sha256 = "0a0r1dgh7y06s7j9mzxrryri8fhajzjsrrsh3i6vv65vq5zzxlka";
+      system = "spellcheck";
+      asd = "spellcheck";
+    });
+    systems = [ "spellcheck" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  sphinx = {
+    pname = "sphinx";
+    version = "20110619-git";
+    asds = [ "sphinx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sphinx/2011-06-19/cl-sphinx-20110619-git.tgz";
+      sha256 = "0z1ksxz1gh12ly6lbc77l0d5f380s81vx44qakm2dl1398lgb7x1";
+      system = "sphinx";
+      asd = "sphinx";
+    });
+    systems = [ "sphinx" ];
+    lispLibs = [ (getAttr "closure-template" pkgs) (getAttr "docutils" pkgs) (getAttr "cl-fad" pkgs) (getAttr "colorize" pkgs) ];
+  };
+  spinneret = {
+    pname = "spinneret";
+    version = "20211020-git";
+    asds = [ "spinneret" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/spinneret/2021-10-20/spinneret-20211020-git.tgz";
+      sha256 = "0irwc6yd2xkvp395dyfs8ih0q5r8qd2ksfy5593y3fnw1fk3z1lq";
+      system = "spinneret";
+      asd = "spinneret";
+    });
+    systems = [ "spinneret" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "global-vars" pkgs) (getAttr "parenscript" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  spinneret_slash_cl-markdown = {
+    pname = "spinneret_cl-markdown";
+    version = "20211020-git";
+    asds = [ "spinneret" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/spinneret/2021-10-20/spinneret-20211020-git.tgz";
+      sha256 = "0irwc6yd2xkvp395dyfs8ih0q5r8qd2ksfy5593y3fnw1fk3z1lq";
+      system = "spinneret";
+      asd = "spinneret";
+    });
+    systems = [ "spinneret/cl-markdown" ];
+    lispLibs = [ (getAttr "cl-markdown" pkgs) (getAttr "spinneret" pkgs) ];
+  };
+  spinneret_slash_ps = {
+    pname = "spinneret_ps";
+    version = "20211020-git";
+    asds = [ "spinneret" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/spinneret/2021-10-20/spinneret-20211020-git.tgz";
+      sha256 = "0irwc6yd2xkvp395dyfs8ih0q5r8qd2ksfy5593y3fnw1fk3z1lq";
+      system = "spinneret";
+      asd = "spinneret";
+    });
+    systems = [ "spinneret/ps" ];
+    lispLibs = [ (getAttr "parenscript" pkgs) (getAttr "spinneret" pkgs) ];
+  };
+  spinneret_slash_tests = {
+    pname = "spinneret_tests";
+    version = "20211020-git";
+    asds = [ "spinneret" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/spinneret/2021-10-20/spinneret-20211020-git.tgz";
+      sha256 = "0irwc6yd2xkvp395dyfs8ih0q5r8qd2ksfy5593y3fnw1fk3z1lq";
+      system = "spinneret";
+      asd = "spinneret";
+    });
+    systems = [ "spinneret/tests" ];
+    lispLibs = [ (getAttr "cl-markdown" pkgs) (getAttr "fiveam" pkgs) (getAttr "parenscript" pkgs) (getAttr "serapeum" pkgs) (getAttr "spinneret" pkgs) ];
+  };
+  split-sequence = {
+    pname = "split-sequence";
+    version = "v2.0.1";
+    asds = [ "split-sequence" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/split-sequence/2021-05-31/split-sequence-v2.0.1.tgz";
+      sha256 = "172k7iv775kwism6304p6z7mqpjvipl57nq1bgvmbk445943fmhq";
+      system = "split-sequence";
+      asd = "split-sequence";
+    });
+    systems = [ "split-sequence" ];
+    lispLibs = [  ];
+  };
+  split-sequence_slash_tests = {
+    pname = "split-sequence_tests";
+    version = "v2.0.1";
+    asds = [ "split-sequence" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/split-sequence/2021-05-31/split-sequence-v2.0.1.tgz";
+      sha256 = "172k7iv775kwism6304p6z7mqpjvipl57nq1bgvmbk445943fmhq";
+      system = "split-sequence";
+      asd = "split-sequence";
+    });
+    systems = [ "split-sequence/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  sqlite = {
+    pname = "sqlite";
+    version = "20190813-git";
+    asds = [ "sqlite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sqlite/2019-08-13/cl-sqlite-20190813-git.tgz";
+      sha256 = "08iv7b4m0hh7qx2cvq4f510nrgdld0vicnvmqsh9w0fgrcgmyg4k";
+      system = "sqlite";
+      asd = "sqlite";
+    });
+    systems = [ "sqlite" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  srfi-1 = {
+    pname = "srfi-1";
+    version = "20200218-git";
+    asds = [ "srfi-1" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/srfi-1/2020-02-18/srfi-1-20200218-git.tgz";
+      sha256 = "00r2ikf1ck1zz3mx3jgk3plf3ibfhhrr8sc8hzr6ix34sbfvdadg";
+      system = "srfi-1";
+      asd = "srfi-1";
+    });
+    systems = [ "srfi-1" ];
+    lispLibs = [  ];
+  };
+  srfi-1_dot_test = {
+    pname = "srfi-1.test";
+    version = "20200218-git";
+    asds = [ "srfi-1.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/srfi-1/2020-02-18/srfi-1-20200218-git.tgz";
+      sha256 = "00r2ikf1ck1zz3mx3jgk3plf3ibfhhrr8sc8hzr6ix34sbfvdadg";
+      system = "srfi-1.test";
+      asd = "srfi-1";
+    });
+    systems = [ "srfi-1.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "srfi-1" pkgs) ];
+  };
+  srfi-23 = {
+    pname = "srfi-23";
+    version = "20200218-git";
+    asds = [ "srfi-23" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/srfi-23/2020-02-18/srfi-23-20200218-git.tgz";
+      sha256 = "0hgq2bdpdjp550kk9xlrxh82n45ldb42j2zzhkndmffh4rp9hd13";
+      system = "srfi-23";
+      asd = "srfi-23";
+    });
+    systems = [ "srfi-23" ];
+    lispLibs = [  ];
+  };
+  srfi-6 = {
+    pname = "srfi-6";
+    version = "20200218-git";
+    asds = [ "srfi-6" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/srfi-6/2020-02-18/srfi-6-20200218-git.tgz";
+      sha256 = "1m9316r75haig84fhcrfm69gq0zfh5xqwqw8wsccc6z6vpz7pfwm";
+      system = "srfi-6";
+      asd = "srfi-6";
+    });
+    systems = [ "srfi-6" ];
+    lispLibs = [  ];
+  };
+  srfi-98 = {
+    pname = "srfi-98";
+    version = "20200218-git";
+    asds = [ "srfi-98" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/srfi-98/2020-02-18/srfi-98-20200218-git.tgz";
+      sha256 = "0qqa7c6nas85n8mdpmk996jh12xm0nf63nhj1chi9qkwgm924fj3";
+      system = "srfi-98";
+      asd = "srfi-98";
+    });
+    systems = [ "srfi-98" ];
+    lispLibs = [  ];
+  };
+  srfi-98_dot_test = {
+    pname = "srfi-98.test";
+    version = "20200218-git";
+    asds = [ "srfi-98.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/srfi-98/2020-02-18/srfi-98-20200218-git.tgz";
+      sha256 = "0qqa7c6nas85n8mdpmk996jh12xm0nf63nhj1chi9qkwgm924fj3";
+      system = "srfi-98.test";
+      asd = "srfi-98";
+    });
+    systems = [ "srfi-98.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "srfi-98" pkgs) ];
+  };
+  sse-client = {
+    pname = "sse-client";
+    version = "20210807-git";
+    asds = [ "sse-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz";
+      sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl";
+      system = "sse-client";
+      asd = "sse-client";
+    });
+    systems = [ "sse-client" ];
+    lispLibs = [  ];
+  };
+  sse-client-test = {
+    pname = "sse-client-test";
+    version = "20210807-git";
+    asds = [ "sse-client-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz";
+      sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl";
+      system = "sse-client-test";
+      asd = "sse-client-test";
+    });
+    systems = [ "sse-client-test" ];
+    lispLibs = [ (getAttr "sse-client" pkgs) (getAttr "fiveam" pkgs) (getAttr "trivial-escapes" pkgs) ];
+  };
+  sse-demo = {
+    pname = "sse-demo";
+    version = "20210807-git";
+    asds = [ "sse-demo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz";
+      sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl";
+      system = "sse-demo";
+      asd = "sse-demo";
+    });
+    systems = [ "sse-demo" ];
+    lispLibs = [ (getAttr "sse-server" pkgs) (getAttr "easy-routes" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "hunchentoot" pkgs) ];
+  };
+  sse-server = {
+    pname = "sse-server";
+    version = "20210807-git";
+    asds = [ "sse-server" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz";
+      sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl";
+      system = "sse-server";
+      asd = "sse-server";
+    });
+    systems = [ "sse-server" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "trivial-escapes" pkgs) ];
+  };
+  sse-server-test = {
+    pname = "sse-server-test";
+    version = "20210807-git";
+    asds = [ "sse-server-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-sse/2021-08-07/cl-sse-20210807-git.tgz";
+      sha256 = "1by7xx397fyplxrydhfjm7nkxb6gmqh0h5f0rp4kh5dx45gk59gl";
+      system = "sse-server-test";
+      asd = "sse-server-test";
+    });
+    systems = [ "sse-server-test" ];
+    lispLibs = [ (getAttr "sse-server" pkgs) (getAttr "fiveam" pkgs) (getAttr "trivial-escapes" pkgs) ];
+  };
+  st-json = {
+    pname = "st-json";
+    version = "20210630-git";
+    asds = [ "st-json" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/st-json/2021-06-30/st-json-20210630-git.tgz";
+      sha256 = "06qrhr5iw73k96lai2x9w52l6gnmlxy7fsr0r35gz6nz1f71x7gx";
+      system = "st-json";
+      asd = "st-json";
+    });
+    systems = [ "st-json" ];
+    lispLibs = [  ];
+  };
+  standard-cl = {
+    pname = "standard-cl";
+    version = "20121125-git";
+    asds = [ "standard-cl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-match/2012-11-25/cl-match-20121125-git.tgz";
+      sha256 = "1qc8gzp7f4phgyi5whkxacrqzdqs0y1hvkf71m8n7l303jly9wjf";
+      system = "standard-cl";
+      asd = "standard-cl";
+    });
+    systems = [ "standard-cl" ];
+    lispLibs = [  ];
+  };
+  staple = {
+    pname = "staple";
+    version = "20211020-git";
+    asds = [ "staple" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/staple/2021-10-20/staple-20211020-git.tgz";
+      sha256 = "0dynmx1pslr8d7d8gnydhrcnl2jycg0v5k99im2aq66wd68al0d2";
+      system = "staple";
+      asd = "staple";
+    });
+    systems = [ "staple" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "clip" pkgs) (getAttr "definitions" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "language-codes" pkgs) (getAttr "pathname-utils" pkgs) (getAttr "staple-code-parser" pkgs) (getAttr "staple-package-recording" pkgs) ];
+  };
+  staple-code-parser = {
+    pname = "staple-code-parser";
+    version = "20211020-git";
+    asds = [ "staple-code-parser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/staple/2021-10-20/staple-20211020-git.tgz";
+      sha256 = "0dynmx1pslr8d7d8gnydhrcnl2jycg0v5k99im2aq66wd68al0d2";
+      system = "staple-code-parser";
+      asd = "staple-code-parser";
+    });
+    systems = [ "staple-code-parser" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "concrete-syntax-tree" pkgs) (getAttr "concrete-syntax-tree-destructuring" pkgs) (getAttr "concrete-syntax-tree-lambda-list" pkgs) (getAttr "definitions" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "eclector" pkgs) (getAttr "eclector-concrete-syntax-tree" pkgs) ];
+  };
+  staple-markdown = {
+    pname = "staple-markdown";
+    version = "20211020-git";
+    asds = [ "staple-markdown" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/staple/2021-10-20/staple-20211020-git.tgz";
+      sha256 = "0dynmx1pslr8d7d8gnydhrcnl2jycg0v5k99im2aq66wd68al0d2";
+      system = "staple-markdown";
+      asd = "staple-markdown";
+    });
+    systems = [ "staple-markdown" ];
+    lispLibs = [ (getAttr "_3bmd" pkgs) (getAttr "_3bmd-ext-code-blocks" pkgs) (getAttr "staple" pkgs) ];
+  };
+  staple-markless = {
+    pname = "staple-markless";
+    version = "20211020-git";
+    asds = [ "staple-markless" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/staple/2021-10-20/staple-20211020-git.tgz";
+      sha256 = "0dynmx1pslr8d7d8gnydhrcnl2jycg0v5k99im2aq66wd68al0d2";
+      system = "staple-markless";
+      asd = "staple-markless";
+    });
+    systems = [ "staple-markless" ];
+    lispLibs = [ (getAttr "cl-markless-plump" pkgs) (getAttr "staple" pkgs) ];
+  };
+  staple-package-recording = {
+    pname = "staple-package-recording";
+    version = "20211020-git";
+    asds = [ "staple-package-recording" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/staple/2021-10-20/staple-20211020-git.tgz";
+      sha256 = "0dynmx1pslr8d7d8gnydhrcnl2jycg0v5k99im2aq66wd68al0d2";
+      system = "staple-package-recording";
+      asd = "staple-package-recording";
+    });
+    systems = [ "staple-package-recording" ];
+    lispLibs = [  ];
+  };
+  staple-restructured-text = {
+    pname = "staple-restructured-text";
+    version = "20211020-git";
+    asds = [ "staple-restructured-text" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/staple/2021-10-20/staple-20211020-git.tgz";
+      sha256 = "0dynmx1pslr8d7d8gnydhrcnl2jycg0v5k99im2aq66wd68al0d2";
+      system = "staple-restructured-text";
+      asd = "staple-restructured-text";
+    });
+    systems = [ "staple-restructured-text" ];
+    lispLibs = [ (getAttr "docutils" pkgs) (getAttr "staple" pkgs) ];
+  };
+  staple-server = {
+    pname = "staple-server";
+    version = "20211020-git";
+    asds = [ "staple-server" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/staple/2021-10-20/staple-20211020-git.tgz";
+      sha256 = "0dynmx1pslr8d7d8gnydhrcnl2jycg0v5k99im2aq66wd68al0d2";
+      system = "staple-server";
+      asd = "staple-server";
+    });
+    systems = [ "staple-server" ];
+    lispLibs = [ (getAttr "dissect" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "staple-markdown" pkgs) (getAttr "staple-markless" pkgs) ];
+  };
+  stars = {
+    pname = "stars";
+    version = "20180831-git";
+    asds = [ "stars" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sprint-stars/2018-08-31/sprint-stars-20180831-git.tgz";
+      sha256 = "1pm6wvywfgy0vlb0b2lbybpvhw9xzyn1nlpy0wpcglxxig6mnrgi";
+      system = "stars";
+      asd = "stars";
+    });
+    systems = [ "stars" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "drakma" pkgs) (getAttr "xmls" pkgs) ];
+  };
+  static-dispatch = {
+    pname = "static-dispatch";
+    version = "20211209-git";
+    asds = [ "static-dispatch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/static-dispatch/2021-12-09/static-dispatch-20211209-git.tgz";
+      sha256 = "1cishp7nckda5hav6c907axdfn1zpmzxpsy6hk7kkb69qn81yn2i";
+      system = "static-dispatch";
+      asd = "static-dispatch";
+    });
+    systems = [ "static-dispatch" ];
+    lispLibs = [ (getAttr "agutil" pkgs) (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "arrows" pkgs) (getAttr "cl-environments" pkgs) (getAttr "cl-form-types" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "optima" pkgs) ];
+  };
+  static-dispatch_slash_test = {
+    pname = "static-dispatch_test";
+    version = "20211209-git";
+    asds = [ "static-dispatch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/static-dispatch/2021-12-09/static-dispatch-20211209-git.tgz";
+      sha256 = "1cishp7nckda5hav6c907axdfn1zpmzxpsy6hk7kkb69qn81yn2i";
+      system = "static-dispatch";
+      asd = "static-dispatch";
+    });
+    systems = [ "static-dispatch/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "static-dispatch" pkgs) ];
+  };
+  static-vectors = {
+    pname = "static-vectors";
+    version = "v1.8.9";
+    asds = [ "static-vectors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/static-vectors/2021-06-30/static-vectors-v1.8.9.tgz";
+      sha256 = "079qa20lhanzsz1qf4iags91n0ziylbjgbcymm5a5qj7yryas4fw";
+      system = "static-vectors";
+      asd = "static-vectors";
+    });
+    systems = [ "static-vectors" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  static-vectors_slash_test = {
+    pname = "static-vectors_test";
+    version = "v1.8.9";
+    asds = [ "static-vectors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/static-vectors/2021-06-30/static-vectors-v1.8.9.tgz";
+      sha256 = "079qa20lhanzsz1qf4iags91n0ziylbjgbcymm5a5qj7yryas4fw";
+      system = "static-vectors";
+      asd = "static-vectors";
+    });
+    systems = [ "static-vectors/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "static-vectors" pkgs) ];
+  };
+  stdutils = {
+    pname = "stdutils";
+    version = "20111001-git";
+    asds = [ "stdutils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-stdutils/2011-10-01/cl-stdutils-20111001-git.tgz";
+      sha256 = "16vxxphqdq8264x0aanm36x9r6d3ci1gjf4vf46mwl59gcff4wcj";
+      system = "stdutils";
+      asd = "stdutils";
+    });
+    systems = [ "stdutils" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  stealth-mixin = {
+    pname = "stealth-mixin";
+    version = "20211020-git";
+    asds = [ "stealth-mixin" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/stealth-mixin/2021-10-20/stealth-mixin-20211020-git.tgz";
+      sha256 = "0ar9cdmbmdnqz1ywpw34n47hlh0vqmb6pl76f5vbfgip3c81xwyi";
+      system = "stealth-mixin";
+      asd = "stealth-mixin";
+    });
+    systems = [ "stealth-mixin" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  stefil = {
+    pname = "stefil";
+    version = "20181210-git";
+    asds = [ "stefil" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/stefil/2018-12-10/stefil-20181210-git.tgz";
+      sha256 = "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh";
+      system = "stefil";
+      asd = "stefil";
+    });
+    systems = [ "stefil" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "swank" pkgs) ];
+  };
+  stefil_plus = {
+    pname = "stefil+";
+    version = "20211209-git";
+    asds = [ "stefil+" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/stefil-/2021-12-09/stefil--20211209-git.tgz";
+      sha256 = "039jjhcb3ka6vag39hz5v1bi81x444rqj6rb3np5qbm07dh1aij0";
+      system = "stefil+";
+      asd = "stefil+";
+    });
+    systems = [ "stefil+" ];
+    lispLibs = [ (getAttr "asdf-package-system" pkgs) (getAttr "gt" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "stefil" pkgs) ];
+  };
+  stefil-test = {
+    pname = "stefil-test";
+    version = "20181210-git";
+    asds = [ "stefil-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/stefil/2018-12-10/stefil-20181210-git.tgz";
+      sha256 = "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh";
+      system = "stefil-test";
+      asd = "stefil";
+    });
+    systems = [ "stefil-test" ];
+    lispLibs = [ (getAttr "stefil" pkgs) ];
+  };
+  stem = {
+    pname = "stem";
+    version = "20150608-git";
+    asds = [ "stem" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/stem/2015-06-08/stem-20150608-git.tgz";
+      sha256 = "0a2kr09c3qcwg16n8rm15qgy5p9l6z4m72jray0846hqbnji77mp";
+      system = "stem";
+      asd = "stem";
+    });
+    systems = [ "stem" ];
+    lispLibs = [  ];
+  };
+  stl = {
+    pname = "stl";
+    version = "20171019-git";
+    asds = [ "stl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/stl/2017-10-19/stl-20171019-git.tgz";
+      sha256 = "12v11bsarlnx5k930gx116wbgv41kwm45ysdikq3am4x3lqsjz2n";
+      system = "stl";
+      asd = "stl";
+    });
+    systems = [ "stl" ];
+    lispLibs = [ (getAttr "_3d-vectors" pkgs) ];
+  };
+  stmx = {
+    pname = "stmx";
+    version = "stable-49eef1d5-git";
+    asds = [ "stmx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/stmx/2020-12-20/stmx-stable-49eef1d5-git.tgz";
+      sha256 = "0pqh8yp3aqyk1sx3y8zinhrimq9rzizn7v5vsqfgj84xcv3qgybr";
+      system = "stmx";
+      asd = "stmx";
+    });
+    systems = [ "stmx" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "closer-mop" pkgs) (getAttr "log4cl" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  stmx_dot_test = {
+    pname = "stmx.test";
+    version = "stable-49eef1d5-git";
+    asds = [ "stmx.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/stmx/2020-12-20/stmx-stable-49eef1d5-git.tgz";
+      sha256 = "0pqh8yp3aqyk1sx3y8zinhrimq9rzizn7v5vsqfgj84xcv3qgybr";
+      system = "stmx.test";
+      asd = "stmx.test";
+    });
+    systems = [ "stmx.test" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "fiveam" pkgs) (getAttr "log4cl" pkgs) (getAttr "stmx" pkgs) ];
+  };
+  str = {
+    pname = "str";
+    version = "20210531-git";
+    asds = [ "str" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-str/2021-05-31/cl-str-20210531-git.tgz";
+      sha256 = "1cn4qdi7paicgbq6xrz9cxcm9dpvgzf2l1dzbjczzzh3hz5i0xnc";
+      system = "str";
+      asd = "str";
+    });
+    systems = [ "str" ];
+    lispLibs = [ (getAttr "cl-change-case" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-ppcre-unicode" pkgs) ];
+  };
+  str_dot_test = {
+    pname = "str.test";
+    version = "20210531-git";
+    asds = [ "str.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-str/2021-05-31/cl-str-20210531-git.tgz";
+      sha256 = "1cn4qdi7paicgbq6xrz9cxcm9dpvgzf2l1dzbjczzzh3hz5i0xnc";
+      system = "str.test";
+      asd = "str.test";
+    });
+    systems = [ "str.test" ];
+    lispLibs = [ (getAttr "str" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  strict-function = {
+    pname = "strict-function";
+    version = "20211020-git";
+    asds = [ "strict-function" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/strict-function/2021-10-20/strict-function-20211020-git.tgz";
+      sha256 = "176l5024qa72my7wiag0w6mmwys1q4yk6b4n944378qbqr2zpq2a";
+      system = "strict-function";
+      asd = "strict-function";
+    });
+    systems = [ "strict-function" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  strict-function_slash_test = {
+    pname = "strict-function_test";
+    version = "20211020-git";
+    asds = [ "strict-function" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/strict-function/2021-10-20/strict-function-20211020-git.tgz";
+      sha256 = "176l5024qa72my7wiag0w6mmwys1q4yk6b4n944378qbqr2zpq2a";
+      system = "strict-function";
+      asd = "strict-function";
+    });
+    systems = [ "strict-function/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "rove" pkgs) (getAttr "strict-function" pkgs) ];
+  };
+  string-case = {
+    pname = "string-case";
+    version = "20180711-git";
+    asds = [ "string-case" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/string-case/2018-07-11/string-case-20180711-git.tgz";
+      sha256 = "1n5i3yh0h5s636rcnwn7jwqy3rjflikra04lymimhpcshhjsk0md";
+      system = "string-case";
+      asd = "string-case";
+    });
+    systems = [ "string-case" ];
+    lispLibs = [  ];
+  };
+  string-escape = {
+    pname = "string-escape";
+    version = "20150407-http";
+    asds = [ "string-escape" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/string-escape/2015-04-07/string-escape-20150407-http.tgz";
+      sha256 = "0r7b699332hy3qj17jax9jdhq4jx6rbw5xf0j43bwg79wddk0rq3";
+      system = "string-escape";
+      asd = "string-escape";
+    });
+    systems = [ "string-escape" ];
+    lispLibs = [  ];
+  };
+  stripe = {
+    pname = "stripe";
+    version = "20210411-git";
+    asds = [ "stripe" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/stripe/2021-04-11/stripe-20210411-git.tgz";
+      sha256 = "05cw6anf3w3nxwhd7mfwrpwwl6ikrjgvzrpyvcah3m8m6ziqq7g9";
+      system = "stripe";
+      asd = "stripe";
+    });
+    systems = [ "stripe" ];
+    lispLibs = [ (getAttr "dexador" pkgs) (getAttr "golden-utils" pkgs) (getAttr "local-time" pkgs) (getAttr "yason" pkgs) ];
+  };
+  stripe-against-the-modern-world = {
+    pname = "stripe-against-the-modern-world";
+    version = "20211209-git";
+    asds = [ "stripe-against-the-modern-world" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/stripe-against-the-modern-world/2021-12-09/stripe-against-the-modern-world-20211209-git.tgz";
+      sha256 = "0z81b9zfla166nirwa1iqfsw4mvya92as8pakyial1yxrgmdgx3w";
+      system = "stripe-against-the-modern-world";
+      asd = "stripe-against-the-modern-world";
+    });
+    systems = [ "stripe-against-the-modern-world" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "str" pkgs) (getAttr "closer-mop" pkgs) (getAttr "dexador" pkgs) (getAttr "do-urlencode" pkgs) (getAttr "ironclad" pkgs) (getAttr "jonathan" pkgs) (getAttr "local-time" pkgs) (getAttr "ningle" pkgs) ];
+  };
+  structure-ext = {
+    pname = "structure-ext";
+    version = "20211209-git";
+    asds = [ "structure-ext" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz";
+      sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq";
+      system = "structure-ext";
+      asd = "structure-ext";
+    });
+    systems = [ "structure-ext" ];
+    lispLibs = [ (getAttr "structure-ext_dot_as-class" pkgs) (getAttr "structure-ext_dot_left-arrow-accessors" pkgs) (getAttr "structure-ext_dot_make-instance" pkgs) ];
+  };
+  structure-ext_dot_as-class = {
+    pname = "structure-ext.as-class";
+    version = "20211209-git";
+    asds = [ "structure-ext.as-class" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz";
+      sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq";
+      system = "structure-ext.as-class";
+      asd = "structure-ext.as-class";
+    });
+    systems = [ "structure-ext.as-class" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) (getAttr "lambda-fiddle" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  structure-ext_dot_as-class_dot_test = {
+    pname = "structure-ext.as-class.test";
+    version = "20211209-git";
+    asds = [ "structure-ext.as-class.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz";
+      sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq";
+      system = "structure-ext.as-class.test";
+      asd = "structure-ext.as-class.test";
+    });
+    systems = [ "structure-ext.as-class.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "structure-ext_dot_as-class" pkgs) ];
+  };
+  structure-ext_dot_left-arrow-accessors = {
+    pname = "structure-ext.left-arrow-accessors";
+    version = "20211209-git";
+    asds = [ "structure-ext.left-arrow-accessors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz";
+      sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq";
+      system = "structure-ext.left-arrow-accessors";
+      asd = "structure-ext.left-arrow-accessors";
+    });
+    systems = [ "structure-ext.left-arrow-accessors" ];
+    lispLibs = [ (getAttr "jingoh_dot_documentizer" pkgs) ];
+  };
+  structure-ext_dot_left-arrow-accessors_dot_test = {
+    pname = "structure-ext.left-arrow-accessors.test";
+    version = "20211209-git";
+    asds = [ "structure-ext.left-arrow-accessors.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz";
+      sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq";
+      system = "structure-ext.left-arrow-accessors.test";
+      asd = "structure-ext.left-arrow-accessors.test";
+    });
+    systems = [ "structure-ext.left-arrow-accessors.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "structure-ext_dot_left-arrow-accessors" pkgs) ];
+  };
+  structure-ext_dot_make-instance = {
+    pname = "structure-ext.make-instance";
+    version = "20211209-git";
+    asds = [ "structure-ext.make-instance" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz";
+      sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq";
+      system = "structure-ext.make-instance";
+      asd = "structure-ext.make-instance";
+    });
+    systems = [ "structure-ext.make-instance" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) ];
+  };
+  structure-ext_dot_make-instance_dot_test = {
+    pname = "structure-ext.make-instance.test";
+    version = "20211209-git";
+    asds = [ "structure-ext.make-instance.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/structure-ext/2021-12-09/structure-ext-20211209-git.tgz";
+      sha256 = "1qhny1m0r2s9bkhr9z7psczykknmb62c32bwav4hgqm96rna1pkq";
+      system = "structure-ext.make-instance.test";
+      asd = "structure-ext.make-instance.test";
+    });
+    systems = [ "structure-ext.make-instance.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "structure-ext_dot_make-instance" pkgs) ];
+  };
+  structy-defclass = {
+    pname = "structy-defclass";
+    version = "20170630-git";
+    asds = [ "structy-defclass" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/structy-defclass/2017-06-30/structy-defclass-20170630-git.tgz";
+      sha256 = "0fdlj45xzyghmg65dvs7ww7dxji84iid2y6rh9j77aip7v0l5q63";
+      system = "structy-defclass";
+      asd = "structy-defclass";
+    });
+    systems = [ "structy-defclass" ];
+    lispLibs = [  ];
+  };
+  studio-client = {
+    pname = "studio-client";
+    version = "20210228-git";
+    asds = [ "studio-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/studio-client/2021-02-28/studio-client-20210228-git.tgz";
+      sha256 = "0rlvp1pm1ryjwnc4zl92p0nh53iy9hqrim13pi9mjcrdaqfi5qsk";
+      system = "studio-client";
+      asd = "studio-client";
+    });
+    systems = [ "studio-client" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "north-core" pkgs) (getAttr "yason" pkgs) ];
+  };
+  stumpwm = {
+    pname = "stumpwm";
+    version = "20211230-git";
+    asds = [ "stumpwm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/stumpwm/2021-12-30/stumpwm-20211230-git.tgz";
+      sha256 = "0bn0shmi5iappmgjzr5qy01yhd17dr1d195xspkv0qla3gqazhpa";
+      system = "stumpwm";
+      asd = "stumpwm";
+    });
+    systems = [ "stumpwm" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "clx" pkgs) ];
+  };
+  stumpwm-sndioctl = {
+    pname = "stumpwm-sndioctl";
+    version = "20210531-git";
+    asds = [ "stumpwm-sndioctl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/stumpwm-sndioctl/2021-05-31/stumpwm-sndioctl-20210531-git.tgz";
+      sha256 = "1q4w4grim7izvw01k95wh7bbaaq0hz2ljjhn47nyd7pzrk9dabpv";
+      system = "stumpwm-sndioctl";
+      asd = "stumpwm-sndioctl";
+    });
+    systems = [ "stumpwm-sndioctl" ];
+    lispLibs = [ (getAttr "stumpwm" pkgs) ];
+  };
+  stumpwm-tests = {
+    pname = "stumpwm-tests";
+    version = "20211230-git";
+    asds = [ "stumpwm-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/stumpwm/2021-12-30/stumpwm-20211230-git.tgz";
+      sha256 = "0bn0shmi5iappmgjzr5qy01yhd17dr1d195xspkv0qla3gqazhpa";
+      system = "stumpwm-tests";
+      asd = "stumpwm-tests";
+    });
+    systems = [ "stumpwm-tests" ];
+    lispLibs = [ (getAttr "fiasco" pkgs) (getAttr "stumpwm" pkgs) ];
+  };
+  sucle = {
+    pname = "sucle";
+    version = "20200427-git";
+    asds = [ "sucle" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "sucle";
+      asd = "sucle";
+    });
+    systems = [ "sucle" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "black-tie" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "livesupport" pkgs) (getAttr "aabbcc" pkgs) (getAttr "application" pkgs) (getAttr "camera-matrix" pkgs) (getAttr "control" pkgs) (getAttr "crud" pkgs) (getAttr "fps-independent-timestep" pkgs) (getAttr "glhelp" pkgs) (getAttr "image-utility" pkgs) (getAttr "ncurses-clone-for-lem" pkgs) (getAttr "nsb-cga" pkgs) (getAttr "quads" pkgs) (getAttr "scratch-buffer" pkgs) (getAttr "sucle-multiprocessing" pkgs) (getAttr "sucle-temp" pkgs) (getAttr "text-subsystem" pkgs) (getAttr "uncommon-lisp" pkgs) (getAttr "utility" pkgs) ];
+  };
+  sucle-multiprocessing = {
+    pname = "sucle-multiprocessing";
+    version = "20200427-git";
+    asds = [ "sucle-multiprocessing" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "sucle-multiprocessing";
+      asd = "sucle-multiprocessing";
+    });
+    systems = [ "sucle-multiprocessing" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-cpus" pkgs) (getAttr "lparallel" pkgs) (getAttr "uncommon-lisp" pkgs) (getAttr "utility" pkgs) ];
+  };
+  sucle-serialize = {
+    pname = "sucle-serialize";
+    version = "20200427-git";
+    asds = [ "sucle-serialize" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "sucle-serialize";
+      asd = "sucle-serialize";
+    });
+    systems = [ "sucle-serialize" ];
+    lispLibs = [ (getAttr "chipz" pkgs) (getAttr "cl-conspack" pkgs) (getAttr "salza2" pkgs) ];
+  };
+  sucle-temp = {
+    pname = "sucle-temp";
+    version = "20200427-git";
+    asds = [ "sucle-temp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "sucle-temp";
+      asd = "sucle-temp";
+    });
+    systems = [ "sucle-temp" ];
+    lispLibs = [  ];
+  };
+  sucle-test = {
+    pname = "sucle-test";
+    version = "20200427-git";
+    asds = [ "sucle-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "sucle-test";
+      asd = "sucle-test";
+    });
+    systems = [ "sucle-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-opengl" pkgs) (getAttr "aabbcc" pkgs) (getAttr "application" pkgs) (getAttr "camera-matrix" pkgs) (getAttr "character-modifier-bits" pkgs) (getAttr "control" pkgs) (getAttr "deflazy" pkgs) (getAttr "fps-independent-timestep" pkgs) (getAttr "image-utility" pkgs) (getAttr "ncurses-clone-for-lem" pkgs) (getAttr "nsb-cga" pkgs) (getAttr "quads" pkgs) (getAttr "scratch-buffer" pkgs) (getAttr "sucle" pkgs) (getAttr "sucle-multiprocessing" pkgs) (getAttr "sucle-serialize" pkgs) (getAttr "text-subsystem" pkgs) (getAttr "uncommon-lisp" pkgs) (getAttr "window" pkgs) ];
+  };
+  surf = {
+    pname = "surf";
+    version = "master-83d7b044-git";
+    asds = [ "surf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "surf";
+      asd = "surf";
+    });
+    systems = [ "surf" ];
+    lispLibs = [ (getAttr "geom-base" pkgs) ];
+  };
+  swank = {
+    pname = "swank";
+    version = "v2.26.1";
+    asds = [ "swank" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/slime/2020-12-20/slime-v2.26.1.tgz";
+      sha256 = "11zb8aaay1yirql638ssbap4rnxdf6a4lwmqm761grgssk44rqpd";
+      system = "swank";
+      asd = "swank";
+    });
+    systems = [ "swank" ];
+    lispLibs = [  ];
+  };
+  swank-client = {
+    pname = "swank-client";
+    version = "20201220-git";
+    asds = [ "swank-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/swank-client/2020-12-20/swank-client-20201220-git.tgz";
+      sha256 = "1rcm6fnp5v73wxsi04chdvy76jivf5ib4ghqc3qs85zy4hswcdlv";
+      system = "swank-client";
+      asd = "swank-client";
+    });
+    systems = [ "swank-client" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "com_dot_google_dot_base" pkgs) (getAttr "swank" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  swank-client_slash_test = {
+    pname = "swank-client_test";
+    version = "20201220-git";
+    asds = [ "swank-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/swank-client/2020-12-20/swank-client-20201220-git.tgz";
+      sha256 = "1rcm6fnp5v73wxsi04chdvy76jivf5ib4ghqc3qs85zy4hswcdlv";
+      system = "swank-client";
+      asd = "swank-client";
+    });
+    systems = [ "swank-client/test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "swank-client" pkgs) ];
+  };
+  swank-crew = {
+    pname = "swank-crew";
+    version = "20200610-git";
+    asds = [ "swank-crew" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/swank-crew/2020-06-10/swank-crew-20200610-git.tgz";
+      sha256 = "0gfdkq4c1zzgkpxinfws9k9n6igisj6lmzz6n195m3g4kahx1nq4";
+      system = "swank-crew";
+      asd = "swank-crew";
+    });
+    systems = [ "swank-crew" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "com_dot_google_dot_base" pkgs) (getAttr "swank-client" pkgs) ];
+  };
+  swank-crew_slash_test = {
+    pname = "swank-crew_test";
+    version = "20200610-git";
+    asds = [ "swank-crew" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/swank-crew/2020-06-10/swank-crew-20200610-git.tgz";
+      sha256 = "0gfdkq4c1zzgkpxinfws9k9n6igisj6lmzz6n195m3g4kahx1nq4";
+      system = "swank-crew";
+      asd = "swank-crew";
+    });
+    systems = [ "swank-crew/test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "swank-crew" pkgs) ];
+  };
+  swank-protocol = {
+    pname = "swank-protocol";
+    version = "20211020-git";
+    asds = [ "swank-protocol" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/swank-protocol/2021-10-20/swank-protocol-20211020-git.tgz";
+      sha256 = "1c6cbkvcy3k56pkq5nlnj5m0zwkgbbrhfs1igwkr89xal2a4fz56";
+      system = "swank-protocol";
+      asd = "swank-protocol";
+    });
+    systems = [ "swank-protocol" ];
+    lispLibs = [ (getAttr "swank" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  swank_dot_live = {
+    pname = "swank.live";
+    version = "20160208-git";
+    asds = [ "swank.live" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/swank.live/2016-02-08/swank.live-20160208-git.tgz";
+      sha256 = "0p7jyf07symfan6lmbhd3r42kf5vrsbmmh9li0n1kky8rd6fhgls";
+      system = "swank.live";
+      asd = "swank.live";
+    });
+    systems = [ "swank.live" ];
+    lispLibs = [ (getAttr "swank" pkgs) ];
+  };
+  swap-bytes = {
+    pname = "swap-bytes";
+    version = "v1.2";
+    asds = [ "swap-bytes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/swap-bytes/2019-11-30/swap-bytes-v1.2.tgz";
+      sha256 = "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz";
+      system = "swap-bytes";
+      asd = "swap-bytes";
+    });
+    systems = [ "swap-bytes" ];
+    lispLibs = [ (getAttr "trivial-features" pkgs) ];
+  };
+  swap-bytes_slash_test = {
+    pname = "swap-bytes_test";
+    version = "v1.2";
+    asds = [ "swap-bytes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/swap-bytes/2019-11-30/swap-bytes-v1.2.tgz";
+      sha256 = "1hw1v1lw26rifyznpnj1csphha9jgzwpiic16ni3pvs6hcsni9rz";
+      system = "swap-bytes";
+      asd = "swap-bytes";
+    });
+    systems = [ "swap-bytes/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "swap-bytes" pkgs) ];
+  };
+  sxql = {
+    pname = "sxql";
+    version = "20210630-git";
+    asds = [ "sxql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sxql/2021-06-30/sxql-20210630-git.tgz";
+      sha256 = "011an993amy8q3gl4hyqrgnc93cgny3cv9gbp679rrmyyp8zmywr";
+      system = "sxql";
+      asd = "sxql";
+    });
+    systems = [ "sxql" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-package-locks" pkgs) (getAttr "cl-syntax-annot" pkgs) (getAttr "iterate" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-types" pkgs) ];
+  };
+  sxql-composer = {
+    pname = "sxql-composer";
+    version = "20200325-git";
+    asds = [ "sxql-composer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sxql-composer/2020-03-25/sxql-composer-20200325-git.tgz";
+      sha256 = "1agkrj3ymskzc3c7pxbrj123d1kygjqcls145m0ap3i07q96hh1r";
+      system = "sxql-composer";
+      asd = "sxql-composer";
+    });
+    systems = [ "sxql-composer" ];
+    lispLibs = [ (getAttr "sxql" pkgs) ];
+  };
+  sxql-test = {
+    pname = "sxql-test";
+    version = "20210630-git";
+    asds = [ "sxql-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sxql/2021-06-30/sxql-20210630-git.tgz";
+      sha256 = "011an993amy8q3gl4hyqrgnc93cgny3cv9gbp679rrmyyp8zmywr";
+      system = "sxql-test";
+      asd = "sxql-test";
+    });
+    systems = [ "sxql-test" ];
+    lispLibs = [ (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "sxql" pkgs) ];
+  };
+  sycamore = {
+    pname = "sycamore";
+    version = "20211020-git";
+    asds = [ "sycamore" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sycamore/2021-10-20/sycamore-20211020-git.tgz";
+      sha256 = "0icw7fba1ch51w24f4sinvy4xg3zc7zif0aqcjfrzxj14x108hai";
+      system = "sycamore";
+      asd = "sycamore";
+    });
+    systems = [ "sycamore" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-fuzz" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  symbol-munger = {
+    pname = "symbol-munger";
+    version = "20150407-git";
+    asds = [ "symbol-munger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/symbol-munger/2015-04-07/symbol-munger-20150407-git.tgz";
+      sha256 = "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km";
+      system = "symbol-munger";
+      asd = "symbol-munger";
+    });
+    systems = [ "symbol-munger" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  symbol-munger-test = {
+    pname = "symbol-munger-test";
+    version = "20150407-git";
+    asds = [ "symbol-munger-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/symbol-munger/2015-04-07/symbol-munger-20150407-git.tgz";
+      sha256 = "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km";
+      system = "symbol-munger-test";
+      asd = "symbol-munger";
+    });
+    systems = [ "symbol-munger-test" ];
+    lispLibs = [ (getAttr "lisp-unit2" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  symbol-namespaces = {
+    pname = "symbol-namespaces";
+    version = "1.0";
+    asds = [ "symbol-namespaces" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/symbol-namespaces/2013-01-28/symbol-namespaces-1.0.tgz";
+      sha256 = "0rw4ndhg669rkpjmv5n0zh69bzar60zn3bb4vs5ijgvxyl5f7xp1";
+      system = "symbol-namespaces";
+      asd = "symbol-namespaces";
+    });
+    systems = [ "symbol-namespaces" ];
+    lispLibs = [ (getAttr "map-bind" pkgs) ];
+  };
+  synonyms = {
+    pname = "synonyms";
+    version = "20190307-hg";
+    asds = [ "synonyms" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/synonyms/2019-03-07/synonyms-20190307-hg.tgz";
+      sha256 = "11vlyal1pmr1mylnzjcffzvsnvhq0d3pnhm8dd158na9b7ingcrc";
+      system = "synonyms";
+      asd = "synonyms";
+    });
+    systems = [ "synonyms" ];
+    lispLibs = [  ];
+  };
+  system-locale = {
+    pname = "system-locale";
+    version = "20200610-git";
+    asds = [ "system-locale" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/system-locale/2020-06-10/system-locale-20200610-git.tgz";
+      sha256 = "00p5c053kmgq4ks6l9mxsqz6g3bjcybvkvj0bh3r90qgpkaawm1p";
+      system = "system-locale";
+      asd = "system-locale";
+    });
+    systems = [ "system-locale" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  t-clack-handler-fcgi = {
+    pname = "t-clack-handler-fcgi";
+    version = "20211209-git";
+    asds = [ "t-clack-handler-fcgi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack/2021-12-09/clack-20211209-git.tgz";
+      sha256 = "197ry7bg9bnfk88xh6kpib2z67hqbnib6kfz7600k4ypiw3ay0qq";
+      system = "t-clack-handler-fcgi";
+      asd = "t-clack-handler-fcgi";
+    });
+    systems = [ "t-clack-handler-fcgi" ];
+    lispLibs = [ (getAttr "clack-test" pkgs) ];
+  };
+  t-clack-handler-hunchentoot = {
+    pname = "t-clack-handler-hunchentoot";
+    version = "20211209-git";
+    asds = [ "t-clack-handler-hunchentoot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack/2021-12-09/clack-20211209-git.tgz";
+      sha256 = "197ry7bg9bnfk88xh6kpib2z67hqbnib6kfz7600k4ypiw3ay0qq";
+      system = "t-clack-handler-hunchentoot";
+      asd = "t-clack-handler-hunchentoot";
+    });
+    systems = [ "t-clack-handler-hunchentoot" ];
+    lispLibs = [ (getAttr "clack-handler-hunchentoot" pkgs) (getAttr "clack-test" pkgs) ];
+  };
+  t-clack-handler-toot = {
+    pname = "t-clack-handler-toot";
+    version = "20211209-git";
+    asds = [ "t-clack-handler-toot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack/2021-12-09/clack-20211209-git.tgz";
+      sha256 = "197ry7bg9bnfk88xh6kpib2z67hqbnib6kfz7600k4ypiw3ay0qq";
+      system = "t-clack-handler-toot";
+      asd = "t-clack-handler-toot";
+    });
+    systems = [ "t-clack-handler-toot" ];
+    lispLibs = [ (getAttr "clack-handler-toot" pkgs) (getAttr "clack-test" pkgs) ];
+  };
+  t-clack-handler-wookie = {
+    pname = "t-clack-handler-wookie";
+    version = "20211209-git";
+    asds = [ "t-clack-handler-wookie" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clack/2021-12-09/clack-20211209-git.tgz";
+      sha256 = "197ry7bg9bnfk88xh6kpib2z67hqbnib6kfz7600k4ypiw3ay0qq";
+      system = "t-clack-handler-wookie";
+      asd = "t-clack-handler-wookie";
+    });
+    systems = [ "t-clack-handler-wookie" ];
+    lispLibs = [ (getAttr "clack-test" pkgs) ];
+  };
+  t-lack = {
+    pname = "t-lack";
+    version = "20211230-git";
+    asds = [ "t-lack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "t-lack";
+      asd = "t-lack";
+    });
+    systems = [ "t-lack" ];
+    lispLibs = [ (getAttr "clack" pkgs) (getAttr "lack" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  t-lack-component = {
+    pname = "t-lack-component";
+    version = "20211230-git";
+    asds = [ "t-lack-component" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "t-lack-component";
+      asd = "t-lack-component";
+    });
+    systems = [ "t-lack-component" ];
+    lispLibs = [ (getAttr "lack-component" pkgs) (getAttr "lack-test" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  t-lack-middleware-accesslog = {
+    pname = "t-lack-middleware-accesslog";
+    version = "20211230-git";
+    asds = [ "t-lack-middleware-accesslog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "t-lack-middleware-accesslog";
+      asd = "t-lack-middleware-accesslog";
+    });
+    systems = [ "t-lack-middleware-accesslog" ];
+    lispLibs = [ (getAttr "lack" pkgs) (getAttr "lack-test" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  t-lack-middleware-auth-basic = {
+    pname = "t-lack-middleware-auth-basic";
+    version = "20211230-git";
+    asds = [ "t-lack-middleware-auth-basic" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "t-lack-middleware-auth-basic";
+      asd = "t-lack-middleware-auth-basic";
+    });
+    systems = [ "t-lack-middleware-auth-basic" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-base64" pkgs) (getAttr "lack" pkgs) (getAttr "lack-middleware-auth-basic" pkgs) (getAttr "lack-test" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  t-lack-middleware-backtrace = {
+    pname = "t-lack-middleware-backtrace";
+    version = "20211230-git";
+    asds = [ "t-lack-middleware-backtrace" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "t-lack-middleware-backtrace";
+      asd = "t-lack-middleware-backtrace";
+    });
+    systems = [ "t-lack-middleware-backtrace" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "lack" pkgs) (getAttr "lack-test" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  t-lack-middleware-csrf = {
+    pname = "t-lack-middleware-csrf";
+    version = "20211230-git";
+    asds = [ "t-lack-middleware-csrf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "t-lack-middleware-csrf";
+      asd = "t-lack-middleware-csrf";
+    });
+    systems = [ "t-lack-middleware-csrf" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "lack" pkgs) (getAttr "lack-middleware-csrf" pkgs) (getAttr "lack-request" pkgs) (getAttr "lack-test" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  t-lack-middleware-mount = {
+    pname = "t-lack-middleware-mount";
+    version = "20211230-git";
+    asds = [ "t-lack-middleware-mount" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "t-lack-middleware-mount";
+      asd = "t-lack-middleware-mount";
+    });
+    systems = [ "t-lack-middleware-mount" ];
+    lispLibs = [ (getAttr "lack" pkgs) (getAttr "lack-component" pkgs) (getAttr "lack-middleware-mount" pkgs) (getAttr "lack-test" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  t-lack-middleware-session = {
+    pname = "t-lack-middleware-session";
+    version = "20211230-git";
+    asds = [ "t-lack-middleware-session" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "t-lack-middleware-session";
+      asd = "t-lack-middleware-session";
+    });
+    systems = [ "t-lack-middleware-session" ];
+    lispLibs = [ (getAttr "cl-cookie" pkgs) (getAttr "lack" pkgs) (getAttr "lack-middleware-session" pkgs) (getAttr "lack-test" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  t-lack-middleware-static = {
+    pname = "t-lack-middleware-static";
+    version = "20211230-git";
+    asds = [ "t-lack-middleware-static" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "t-lack-middleware-static";
+      asd = "t-lack-middleware-static";
+    });
+    systems = [ "t-lack-middleware-static" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "lack" pkgs) (getAttr "lack-test" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  t-lack-request = {
+    pname = "t-lack-request";
+    version = "20211230-git";
+    asds = [ "t-lack-request" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "t-lack-request";
+      asd = "t-lack-request";
+    });
+    systems = [ "t-lack-request" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "clack-test" pkgs) (getAttr "dexador" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "lack-request" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  t-lack-session-store-dbi = {
+    pname = "t-lack-session-store-dbi";
+    version = "20211230-git";
+    asds = [ "t-lack-session-store-dbi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "t-lack-session-store-dbi";
+      asd = "t-lack-session-store-dbi";
+    });
+    systems = [ "t-lack-session-store-dbi" ];
+    lispLibs = [ (getAttr "dbi" pkgs) (getAttr "sqlite" pkgs) (getAttr "lack" pkgs) (getAttr "lack-session-store-dbi" pkgs) (getAttr "lack-test" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  t-lack-session-store-redis = {
+    pname = "t-lack-session-store-redis";
+    version = "20211230-git";
+    asds = [ "t-lack-session-store-redis" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "t-lack-session-store-redis";
+      asd = "t-lack-session-store-redis";
+    });
+    systems = [ "t-lack-session-store-redis" ];
+    lispLibs = [ (getAttr "lack" pkgs) (getAttr "lack-session-store-redis" pkgs) (getAttr "lack-test" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  t-lack-util = {
+    pname = "t-lack-util";
+    version = "20211230-git";
+    asds = [ "t-lack-util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lack/2021-12-30/lack-20211230-git.tgz";
+      sha256 = "0q30jzfnzm22q9y11fhvgvd8mcvqckays42qpnan65f1hsj4k6mi";
+      system = "t-lack-util";
+      asd = "t-lack-util";
+    });
+    systems = [ "t-lack-util" ];
+    lispLibs = [ (getAttr "lack-test" pkgs) (getAttr "lack-util" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  ta2 = {
+    pname = "ta2";
+    version = "master-83d7b044-git";
+    asds = [ "ta2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "ta2";
+      asd = "ta2";
+    });
+    systems = [ "ta2" ];
+    lispLibs = [ (getAttr "gwl-graphics" pkgs) ];
+  };
+  tagger = {
+    pname = "tagger";
+    version = "20200715-git";
+    asds = [ "tagger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tagger/2020-07-15/tagger-20200715-git.tgz";
+      sha256 = "1mxkr5hx8p4rxc7vajgrpl49zh018wyspvww5fg50164if0n7j2q";
+      system = "tagger";
+      asd = "tagger";
+    });
+    systems = [ "tagger" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  taglib = {
+    pname = "taglib";
+    version = "20210411-git";
+    asds = [ "taglib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/taglib/2021-04-11/taglib-20210411-git.tgz";
+      sha256 = "13291kb95hwb2nbkjscjb2abn5l267cjwspaqsmr3bsdvvf0033b";
+      system = "taglib";
+      asd = "taglib";
+    });
+    systems = [ "taglib" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "optima" pkgs) (getAttr "optima_dot_ppcre" pkgs) ];
+  };
+  taglib-tests = {
+    pname = "taglib-tests";
+    version = "20210411-git";
+    asds = [ "taglib-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/taglib/2021-04-11/taglib-20210411-git.tgz";
+      sha256 = "13291kb95hwb2nbkjscjb2abn5l267cjwspaqsmr3bsdvvf0033b";
+      system = "taglib-tests";
+      asd = "taglib-tests";
+    });
+    systems = [ "taglib-tests" ];
+    lispLibs = [ (getAttr "chanl" pkgs) (getAttr "cl-fad" pkgs) (getAttr "taglib" pkgs) ];
+  };
+  tailrec = {
+    pname = "tailrec";
+    version = "20210807-git";
+    asds = [ "tailrec" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tailrec/2021-08-07/tailrec-20210807-git.tgz";
+      sha256 = "1h8m2npdzd2cpnl75pvv4yvvfwxa7kl6qvalc9s0y4yws0kaih3i";
+      system = "tailrec";
+      asd = "tailrec";
+    });
+    systems = [ "tailrec" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "trivial-macroexpand-all" pkgs) (getAttr "trivial-with-current-source-form" pkgs) ];
+  };
+  talcl = {
+    pname = "talcl";
+    version = "20180228-git";
+    asds = [ "talcl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/talcl/2018-02-28/talcl-20180228-git.tgz";
+      sha256 = "18pm3vz82dwcckhp4lkwjv8431hkdj3ghxb4v5qdjsyw2jm56v1p";
+      system = "talcl";
+      asd = "talcl";
+    });
+    systems = [ "talcl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "buildnode" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cxml" pkgs) (getAttr "iterate" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  talcl-examples = {
+    pname = "talcl-examples";
+    version = "20180228-git";
+    asds = [ "talcl-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/talcl/2018-02-28/talcl-20180228-git.tgz";
+      sha256 = "18pm3vz82dwcckhp4lkwjv8431hkdj3ghxb4v5qdjsyw2jm56v1p";
+      system = "talcl-examples";
+      asd = "talcl";
+    });
+    systems = [ "talcl-examples" ];
+    lispLibs = [ (getAttr "buildnode-xhtml" pkgs) (getAttr "talcl" pkgs) ];
+  };
+  talcl-speed-tests = {
+    pname = "talcl-speed-tests";
+    version = "20180228-git";
+    asds = [ "talcl-speed-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/talcl/2018-02-28/talcl-20180228-git.tgz";
+      sha256 = "18pm3vz82dwcckhp4lkwjv8431hkdj3ghxb4v5qdjsyw2jm56v1p";
+      system = "talcl-speed-tests";
+      asd = "talcl";
+    });
+    systems = [ "talcl-speed-tests" ];
+    lispLibs = [ (getAttr "buildnode-xhtml" pkgs) (getAttr "lisp-unit2" pkgs) (getAttr "talcl" pkgs) (getAttr "talcl-examples" pkgs) ];
+  };
+  talcl-test = {
+    pname = "talcl-test";
+    version = "20180228-git";
+    asds = [ "talcl-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/talcl/2018-02-28/talcl-20180228-git.tgz";
+      sha256 = "18pm3vz82dwcckhp4lkwjv8431hkdj3ghxb4v5qdjsyw2jm56v1p";
+      system = "talcl-test";
+      asd = "talcl";
+    });
+    systems = [ "talcl-test" ];
+    lispLibs = [ (getAttr "buildnode-xhtml" pkgs) (getAttr "lisp-unit2" pkgs) (getAttr "talcl" pkgs) ];
+  };
+  tap-unit-test = {
+    pname = "tap-unit-test";
+    version = "20171227-git";
+    asds = [ "tap-unit-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tap-unit-test/2017-12-27/tap-unit-test-20171227-git.tgz";
+      sha256 = "1fzsnpng7y4sghasl29sjicbs4v6m5mgfj8wf2izhhcn1hbhr694";
+      system = "tap-unit-test";
+      asd = "tap-unit-test";
+    });
+    systems = [ "tap-unit-test" ];
+    lispLibs = [  ];
+  };
+  targa = {
+    pname = "targa";
+    version = "20181018-git";
+    asds = [ "targa" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/targa/2018-10-18/targa-20181018-git.tgz";
+      sha256 = "0fslb2alp4pfmp8md2q89xh8n43r8awwf343wfvkywwqdnls2zws";
+      system = "targa";
+      asd = "targa";
+    });
+    systems = [ "targa" ];
+    lispLibs = [  ];
+  };
+  tasty = {
+    pname = "tasty";
+    version = "master-83d7b044-git";
+    asds = [ "tasty" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "tasty";
+      asd = "tasty";
+    });
+    systems = [ "tasty" ];
+    lispLibs = [ (getAttr "gwl-graphics" pkgs) (getAttr "tree" pkgs) ];
+  };
+  tclcs-code = {
+    pname = "tclcs-code";
+    version = "20210124-git";
+    asds = [ "tclcs-code" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tclcs-code/2021-01-24/tclcs-code-20210124-git.tgz";
+      sha256 = "0p0g8shy284sj9ncq27zn8yj7xsrdcg2aiy2q783l6sl2ip6nfxa";
+      system = "tclcs-code";
+      asd = "tclcs-code";
+    });
+    systems = [ "tclcs-code" ];
+    lispLibs = [ (getAttr "trivial-custom-debugger" pkgs) ];
+  };
+  tcod = {
+    pname = "tcod";
+    version = "20201220-git";
+    asds = [ "tcod" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-tcod/2020-12-20/cl-tcod-20201220-git.tgz";
+      sha256 = "145h0dhxm1idblcld456cv7k00vi6p0zyn5rxkky5y4gk85ws8l5";
+      system = "tcod";
+      asd = "tcod";
+    });
+    systems = [ "tcod" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-libffi" pkgs) (getAttr "defstar" pkgs) ];
+  };
+  teddy = {
+    pname = "teddy";
+    version = "20211020-git";
+    asds = [ "teddy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/teddy/2021-10-20/teddy-20211020-git.tgz";
+      sha256 = "108cdxckzpdixi975rr2q1kkga6jngwj7j3nhfss9pzqcsf9w9ks";
+      system = "teddy";
+      asd = "teddy";
+    });
+    systems = [ "teddy" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "asdf-finalizers" pkgs) (getAttr "list-of" pkgs) (getAttr "cl-ascii-table" pkgs) (getAttr "eazy-gnuplot" pkgs) (getAttr "hu_dot_dwim_dot_def" pkgs) (getAttr "lhstats" pkgs) (getAttr "rutils" pkgs) (getAttr "simplified-types" pkgs) ];
+  };
+  teepeedee2 = {
+    pname = "teepeedee2";
+    version = "20200218-git";
+    asds = [ "teepeedee2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/teepeedee2/2020-02-18/teepeedee2-20200218-git.tgz";
+      sha256 = "1dz5rf5rfcbgab99nprr1pv2x44f74jgcpgxr575z021k4pby5s5";
+      system = "teepeedee2";
+      asd = "teepeedee2";
+    });
+    systems = [ "teepeedee2" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-cont" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-irregsexp" pkgs) (getAttr "iterate" pkgs) (getAttr "parenscript" pkgs) (getAttr "trivial-backtrace" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  teepeedee2-test = {
+    pname = "teepeedee2-test";
+    version = "20200218-git";
+    asds = [ "teepeedee2-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/teepeedee2/2020-02-18/teepeedee2-20200218-git.tgz";
+      sha256 = "1dz5rf5rfcbgab99nprr1pv2x44f74jgcpgxr575z021k4pby5s5";
+      system = "teepeedee2-test";
+      asd = "teepeedee2-test";
+    });
+    systems = [ "teepeedee2-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "teepeedee2" pkgs) ];
+  };
+  telnetlib = {
+    pname = "telnetlib";
+    version = "20141217-git";
+    asds = [ "telnetlib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/telnetlib/2014-12-17/telnetlib-20141217-git.tgz";
+      sha256 = "1gdf6i352qkmp27nqbv6qfi7sqn5wjzdaffh6ls1y5jznqh3nb0h";
+      system = "telnetlib";
+      asd = "telnetlib";
+    });
+    systems = [ "telnetlib" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  template = {
+    pname = "template";
+    version = "20190307-hg";
+    asds = [ "template" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/template/2019-03-07/template-20190307-hg.tgz";
+      sha256 = "10sibwhisablzv03844bhs5qifqnysz2zw1gmnzcx4pszq16c1k1";
+      system = "template";
+      asd = "template";
+    });
+    systems = [ "template" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "parameterized-function" pkgs) ];
+  };
+  template-function = {
+    pname = "template-function";
+    version = "v0.0.1-git";
+    asds = [ "template-function" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/template-function/2017-11-30/template-function-v0.0.1-git.tgz";
+      sha256 = "1nq782cdi9vr3hgqqyzvvng2sbyc09biggwq4zp7k1vmqnm6qdaf";
+      system = "template-function";
+      asd = "template-function";
+    });
+    systems = [ "template-function" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "introspect-environment" pkgs) (getAttr "specialization-store" pkgs) ];
+  };
+  template-function-tests = {
+    pname = "template-function-tests";
+    version = "v0.0.1-git";
+    asds = [ "template-function-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/template-function/2017-11-30/template-function-v0.0.1-git.tgz";
+      sha256 = "1nq782cdi9vr3hgqqyzvvng2sbyc09biggwq4zp7k1vmqnm6qdaf";
+      system = "template-function-tests";
+      asd = "template-function-tests";
+    });
+    systems = [ "template-function-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "template-function" pkgs) ];
+  };
+  temporal-functions = {
+    pname = "temporal-functions";
+    version = "20171019-git";
+    asds = [ "temporal-functions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/temporal-functions/2017-10-19/temporal-functions-20171019-git.tgz";
+      sha256 = "03cbgw949g68n72nqp0nmjq9nx0kfz5zs6kpk0pwchy3i8bwf22j";
+      system = "temporal-functions";
+      asd = "temporal-functions";
+    });
+    systems = [ "temporal-functions" ];
+    lispLibs = [ (getAttr "fn" pkgs) ];
+  };
+  temporary-file = {
+    pname = "temporary-file";
+    version = "20150608-git";
+    asds = [ "temporary-file" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/temporary-file/2015-06-08/temporary-file-20150608-git.tgz";
+      sha256 = "0m38lncj6bmj7gwq8vp7l0gwzmk7pfasl4samzgl2fah8hzb064a";
+      system = "temporary-file";
+      asd = "temporary-file";
+    });
+    systems = [ "temporary-file" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "unit-test" pkgs) ];
+  };
+  ten = {
+    pname = "ten";
+    version = "20210807-git";
+    asds = [ "ten" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ten/2021-08-07/ten-20210807-git.tgz";
+      sha256 = "1jy0niml3r63anqkqwhg14d8ic08m3ziha7i61fqd82wr59kglr3";
+      system = "ten";
+      asd = "ten";
+    });
+    systems = [ "ten" ];
+    lispLibs = [ (getAttr "access" pkgs) (getAttr "cl-who" pkgs) (getAttr "esrap" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  ten_dot_examples = {
+    pname = "ten.examples";
+    version = "20210807-git";
+    asds = [ "ten.examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ten/2021-08-07/ten-20210807-git.tgz";
+      sha256 = "1jy0niml3r63anqkqwhg14d8ic08m3ziha7i61fqd82wr59kglr3";
+      system = "ten.examples";
+      asd = "ten.examples";
+    });
+    systems = [ "ten.examples" ];
+    lispLibs = [ (getAttr "ten" pkgs) ];
+  };
+  ten_dot_i18n_dot_cl-locale = {
+    pname = "ten.i18n.cl-locale";
+    version = "20210807-git";
+    asds = [ "ten.i18n.cl-locale" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ten/2021-08-07/ten-20210807-git.tgz";
+      sha256 = "1jy0niml3r63anqkqwhg14d8ic08m3ziha7i61fqd82wr59kglr3";
+      system = "ten.i18n.cl-locale";
+      asd = "ten.i18n.cl-locale";
+    });
+    systems = [ "ten.i18n.cl-locale" ];
+    lispLibs = [ (getAttr "cl-locale" pkgs) (getAttr "ten" pkgs) ];
+  };
+  ten_dot_i18n_dot_gettext = {
+    pname = "ten.i18n.gettext";
+    version = "20210807-git";
+    asds = [ "ten.i18n.gettext" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ten/2021-08-07/ten-20210807-git.tgz";
+      sha256 = "1jy0niml3r63anqkqwhg14d8ic08m3ziha7i61fqd82wr59kglr3";
+      system = "ten.i18n.gettext";
+      asd = "ten.i18n.gettext";
+    });
+    systems = [ "ten.i18n.gettext" ];
+    lispLibs = [ (getAttr "gettext" pkgs) (getAttr "ten" pkgs) ];
+  };
+  ten_dot_tests = {
+    pname = "ten.tests";
+    version = "20210807-git";
+    asds = [ "ten.tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ten/2021-08-07/ten-20210807-git.tgz";
+      sha256 = "1jy0niml3r63anqkqwhg14d8ic08m3ziha7i61fqd82wr59kglr3";
+      system = "ten.tests";
+      asd = "ten.tests";
+    });
+    systems = [ "ten.tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "ten" pkgs) (getAttr "ten_dot_examples" pkgs) ];
+  };
+  terminfo = {
+    pname = "terminfo";
+    version = "20210124-git";
+    asds = [ "terminfo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/terminfo/2021-01-24/terminfo-20210124-git.tgz";
+      sha256 = "1nmin9rr6f75xdhxysba66xa1dh62fh27w9ad1cvmj0062armf6b";
+      system = "terminfo";
+      asd = "terminfo";
+    });
+    systems = [ "terminfo" ];
+    lispLibs = [  ];
+  };
+  terrable = {
+    pname = "terrable";
+    version = "20190710-git";
+    asds = [ "terrable" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/terrable/2019-07-10/terrable-20190710-git.tgz";
+      sha256 = "0pnqflgz410zydc1ivwnd8hcl24bgr7x12yjzr7g4lq3ibc8y97b";
+      system = "terrable";
+      asd = "terrable";
+    });
+    systems = [ "terrable" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) (getAttr "fast-io" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "static-vectors" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  tesseract-capi = {
+    pname = "tesseract-capi";
+    version = "20201220-git";
+    asds = [ "tesseract-capi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tesseract-capi/2020-12-20/tesseract-capi-20201220-git.tgz";
+      sha256 = "1g8afgzbvfk80gi05nbwp9cmmrsqm5knhqi04v1cx556vrbp6ks1";
+      system = "tesseract-capi";
+      asd = "tesseract-capi";
+    });
+    systems = [ "tesseract-capi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  test-gadgets = {
+    pname = "test-gadgets";
+    version = "20211209-git";
+    asds = [ "test-gadgets" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gadgets/2021-12-09/gadgets-20211209-git.tgz";
+      sha256 = "0pf15z7ld5lp9f1gm5x9i2s57k2zqxws1dd498vibmi1brk1x6jv";
+      system = "test-gadgets";
+      asd = "test-gadgets";
+    });
+    systems = [ "test-gadgets" ];
+    lispLibs = [ (getAttr "gadgets" pkgs) (getAttr "prove" pkgs) ];
+  };
+  test-paren6 = {
+    pname = "test-paren6";
+    version = "20210124-git";
+    asds = [ "test-paren6" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/paren6/2021-01-24/paren6-20210124-git.tgz";
+      sha256 = "0zvlflh3vgxjnwx5jbpi73j54y2pn9cw0f2p4n7qzggv8x136f5i";
+      system = "test-paren6";
+      asd = "test-paren6";
+    });
+    systems = [ "test-paren6" ];
+    lispLibs = [ (getAttr "external-program" pkgs) (getAttr "paren6" pkgs) (getAttr "parenscript" pkgs) ];
+  };
+  test-serial-system = {
+    pname = "test-serial-system";
+    version = "20170403-git";
+    asds = [ "test-serial-system" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/asdf-dependency-grovel/2017-04-03/asdf-dependency-grovel-20170403-git.tgz";
+      sha256 = "1y4kdqsda4ira4r9dws6kxzzv6mg45q3lkmb2c9mg9q7ksc5glif";
+      system = "test-serial-system";
+      asd = "test-serial-system";
+    });
+    systems = [ "test-serial-system" ];
+    lispLibs = [  ];
+  };
+  test-utils = {
+    pname = "test-utils";
+    version = "20200610-git";
+    asds = [ "test-utils" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/test-utils/2020-06-10/test-utils-20200610-git.tgz";
+      sha256 = "036a8wvs37lnsf9dy3c810qk54963v7hnxx0zas25b50ikcmiqm5";
+      system = "test-utils";
+      asd = "test-utils";
+    });
+    systems = [ "test-utils" ];
+    lispLibs = [ (getAttr "agnostic-lizard" pkgs) (getAttr "alexandria" pkgs) (getAttr "cl-quickcheck" pkgs) (getAttr "prove" pkgs) ];
+  };
+  test_dot_eager-future2 = {
+    pname = "test.eager-future2";
+    version = "20191130-git";
+    asds = [ "test.eager-future2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/eager-future2/2019-11-30/eager-future2-20191130-git.tgz";
+      sha256 = "1qs1bv3m0ki8l5czhsflxcryh22r9d9g9a3a3b0cr0pl954q5rld";
+      system = "test.eager-future2";
+      asd = "test.eager-future2";
+    });
+    systems = [ "test.eager-future2" ];
+    lispLibs = [ (getAttr "eager-future2" pkgs) (getAttr "eos" pkgs) ];
+  };
+  test_dot_vas-string-metrics = {
+    pname = "test.vas-string-metrics";
+    version = "20211209-git";
+    asds = [ "test.vas-string-metrics" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vas-string-metrics/2021-12-09/vas-string-metrics-20211209-git.tgz";
+      sha256 = "1yvkwc939dckv070nlgqfj5ys9ii2rm32m5wfx7qxdjrb4n19sx9";
+      system = "test.vas-string-metrics";
+      asd = "test.vas-string-metrics";
+    });
+    systems = [ "test.vas-string-metrics" ];
+    lispLibs = [ (getAttr "vas-string-metrics" pkgs) ];
+  };
+  testbild = {
+    pname = "testbild";
+    version = "20101207-git";
+    asds = [ "testbild" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/testbild/2010-12-07/testbild-20101207-git.tgz";
+      sha256 = "024b6rlgljcjazwg302zkdmkpxs2hirjg7g39ypppz81ns2v65sw";
+      system = "testbild";
+      asd = "testbild";
+    });
+    systems = [ "testbild" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "graylex" pkgs) ];
+  };
+  testbild-test = {
+    pname = "testbild-test";
+    version = "20101207-git";
+    asds = [ "testbild-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/testbild/2010-12-07/testbild-20101207-git.tgz";
+      sha256 = "024b6rlgljcjazwg302zkdmkpxs2hirjg7g39ypppz81ns2v65sw";
+      system = "testbild-test";
+      asd = "testbild-test";
+    });
+    systems = [ "testbild-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-heredoc" pkgs) (getAttr "testbild" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  texp = {
+    pname = "texp";
+    version = "20151218-git";
+    asds = [ "texp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/texp/2015-12-18/texp-20151218-git.tgz";
+      sha256 = "1sbll7jwmzd86hg0zva8r7db2565nnliasv2x6rkrm9xl97q0kg5";
+      system = "texp";
+      asd = "texp";
+    });
+    systems = [ "texp" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  text-query = {
+    pname = "text-query";
+    version = "1.1";
+    asds = [ "text-query" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/text-query/2011-11-05/text-query-1.1.tgz";
+      sha256 = "082xqpfchmg2752m1lw78q6c0z3walzsmqk8gl6qnj6bdwbhf4dm";
+      system = "text-query";
+      asd = "text-query";
+    });
+    systems = [ "text-query" ];
+    lispLibs = [  ];
+  };
+  text-subsystem = {
+    pname = "text-subsystem";
+    version = "20200427-git";
+    asds = [ "text-subsystem" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "text-subsystem";
+      asd = "text-subsystem";
+    });
+    systems = [ "text-subsystem" ];
+    lispLibs = [ (getAttr "application" pkgs) (getAttr "deflazy" pkgs) (getAttr "image-utility" pkgs) (getAttr "nsb-cga" pkgs) (getAttr "quads" pkgs) (getAttr "sucle-temp" pkgs) (getAttr "utility" pkgs) ];
+  };
+  text-subsystem-generate-font = {
+    pname = "text-subsystem-generate-font";
+    version = "20200427-git";
+    asds = [ "text-subsystem-generate-font" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "text-subsystem-generate-font";
+      asd = "text-subsystem-generate-font";
+    });
+    systems = [ "text-subsystem-generate-font" ];
+    lispLibs = [ (getAttr "cl-freetype2" pkgs) (getAttr "opticl" pkgs) (getAttr "utility" pkgs) ];
+  };
+  textery = {
+    pname = "textery";
+    version = "20201220-git";
+    asds = [ "textery" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/textery/2020-12-20/textery-20201220-git.tgz";
+      sha256 = "0v8zk1s18fi462qwvjbci8nikgs5wqjpl97ckfk0spvhybrdgwcc";
+      system = "textery";
+      asd = "textery";
+    });
+    systems = [ "textery" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "str" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  the-cost-of-nothing = {
+    pname = "the-cost-of-nothing";
+    version = "20191130-git";
+    asds = [ "the-cost-of-nothing" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/the-cost-of-nothing/2019-11-30/the-cost-of-nothing-20191130-git.tgz";
+      sha256 = "1ccrglyr1wnnfp218w1qj7yfl4yzlxkki3hqaifi5axgbi5dmmh8";
+      system = "the-cost-of-nothing";
+      asd = "the-cost-of-nothing";
+    });
+    systems = [ "the-cost-of-nothing" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "local-time" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  thnappy = {
+    pname = "thnappy";
+    version = "20180831-git";
+    asds = [ "thnappy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/thnappy/2018-08-31/thnappy-20180831-git.tgz";
+      sha256 = "0p03w2mcc655gm9x3rpgixhap9l56imjyblkwv05rk6mjx7wfnrp";
+      system = "thnappy";
+      asd = "thnappy";
+    });
+    systems = [ "thnappy" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  thorn = {
+    pname = "thorn";
+    version = "20150608-git";
+    asds = [ "thorn" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/thorn/2015-06-08/thorn-20150608-git.tgz";
+      sha256 = "1d4w5358yxgccna91pxz9526w932j5ig17gp19zysjxvca57hqy7";
+      system = "thorn";
+      asd = "thorn";
+    });
+    systems = [ "thorn" ];
+    lispLibs = [ (getAttr "common-doc" pkgs) ];
+  };
+  thorn-doc = {
+    pname = "thorn-doc";
+    version = "20150608-git";
+    asds = [ "thorn-doc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/thorn/2015-06-08/thorn-20150608-git.tgz";
+      sha256 = "1d4w5358yxgccna91pxz9526w932j5ig17gp19zysjxvca57hqy7";
+      system = "thorn-doc";
+      asd = "thorn-doc";
+    });
+    systems = [ "thorn-doc" ];
+    lispLibs = [ (getAttr "thorn" pkgs) ];
+  };
+  thorn-test = {
+    pname = "thorn-test";
+    version = "20150608-git";
+    asds = [ "thorn-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/thorn/2015-06-08/thorn-20150608-git.tgz";
+      sha256 = "1d4w5358yxgccna91pxz9526w932j5ig17gp19zysjxvca57hqy7";
+      system = "thorn-test";
+      asd = "thorn-test";
+    });
+    systems = [ "thorn-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "thorn" pkgs) (getAttr "thorn-doc" pkgs) ];
+  };
+  thread-pool = {
+    pname = "thread-pool";
+    version = "20120107-git";
+    asds = [ "thread-pool" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/thread-pool/2012-01-07/thread-pool-20120107-git.tgz";
+      sha256 = "0wi9l0m660332w9pnc3w08m5hlsry9s0cgc3rznb5kyap68iv847";
+      system = "thread-pool";
+      asd = "thread-pool";
+    });
+    systems = [ "thread-pool" ];
+    lispLibs = [ (getAttr "arnesi" pkgs) (getAttr "bordeaux-threads" pkgs) ];
+  };
+  thread_dot_comm_dot_rendezvous = {
+    pname = "thread.comm.rendezvous";
+    version = "20121013-git";
+    asds = [ "thread.comm.rendezvous" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/thread.comm.rendezvous/2012-10-13/thread.comm.rendezvous-20121013-git.tgz";
+      sha256 = "16crdy09zm20iclgln1vj0psd8ifz4rqb6g9255p0d2rkjk2rgfx";
+      system = "thread.comm.rendezvous";
+      asd = "thread.comm.rendezvous";
+    });
+    systems = [ "thread.comm.rendezvous" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-annot" pkgs) ];
+  };
+  thread_dot_comm_dot_rendezvous_dot_test = {
+    pname = "thread.comm.rendezvous.test";
+    version = "20121013-git";
+    asds = [ "thread.comm.rendezvous.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/thread.comm.rendezvous/2012-10-13/thread.comm.rendezvous-20121013-git.tgz";
+      sha256 = "16crdy09zm20iclgln1vj0psd8ifz4rqb6g9255p0d2rkjk2rgfx";
+      system = "thread.comm.rendezvous.test";
+      asd = "thread.comm.rendezvous.test";
+    });
+    systems = [ "thread.comm.rendezvous.test" ];
+    lispLibs = [ (getAttr "cl-test-more" pkgs) (getAttr "thread_dot_comm_dot_rendezvous" pkgs) ];
+  };
+  time-interval = {
+    pname = "time-interval";
+    version = "20190202-git";
+    asds = [ "time-interval" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/time-interval/2019-02-02/time-interval-20190202-git.tgz";
+      sha256 = "0dydlg42bwcd7sr57v8hhrd86n80d5cb5r6r2id0zyqbrijabdw5";
+      system = "time-interval";
+      asd = "time-interval";
+    });
+    systems = [ "time-interval" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  timer-wheel = {
+    pname = "timer-wheel";
+    version = "20180228-git";
+    asds = [ "timer-wheel" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/timer-wheel/2018-02-28/timer-wheel-20180228-git.tgz";
+      sha256 = "12pc1dpnkwj43n1sdqhg8n8h0mb16zcx4wxly85b7bqf00s962bc";
+      system = "timer-wheel";
+      asd = "timer-wheel";
+    });
+    systems = [ "timer-wheel" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  timer-wheel_dot_examples = {
+    pname = "timer-wheel.examples";
+    version = "20180228-git";
+    asds = [ "timer-wheel.examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/timer-wheel/2018-02-28/timer-wheel-20180228-git.tgz";
+      sha256 = "12pc1dpnkwj43n1sdqhg8n8h0mb16zcx4wxly85b7bqf00s962bc";
+      system = "timer-wheel.examples";
+      asd = "timer-wheel.examples";
+    });
+    systems = [ "timer-wheel.examples" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "timer-wheel" pkgs) ];
+  };
+  tinaa = {
+    pname = "tinaa";
+    version = "20171227-git";
+    asds = [ "tinaa" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tinaa/2017-12-27/tinaa-20171227-git.tgz";
+      sha256 = "10r1ypxphs5h7xxkl7v7r9pi2wdz1ik948mp63006hn44j7s1sa1";
+      system = "tinaa";
+      asd = "tinaa";
+    });
+    systems = [ "tinaa" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "asdf-system-connections" pkgs) (getAttr "cl-containers" pkgs) (getAttr "cl-graph" pkgs) (getAttr "defsystem-compatibility" pkgs) (getAttr "dynamic-classes" pkgs) (getAttr "lml2" pkgs) (getAttr "metatilities" pkgs) (getAttr "trivial-shell" pkgs) ];
+  };
+  tinaa-test = {
+    pname = "tinaa-test";
+    version = "20171227-git";
+    asds = [ "tinaa-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tinaa/2017-12-27/tinaa-20171227-git.tgz";
+      sha256 = "10r1ypxphs5h7xxkl7v7r9pi2wdz1ik948mp63006hn44j7s1sa1";
+      system = "tinaa-test";
+      asd = "tinaa-test";
+    });
+    systems = [ "tinaa-test" ];
+    lispLibs = [ (getAttr "lift" pkgs) (getAttr "tinaa" pkgs) ];
+  };
+  tinaa_slash_with-cl-markdown = {
+    pname = "tinaa_with-cl-markdown";
+    version = "20171227-git";
+    asds = [ "tinaa" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tinaa/2017-12-27/tinaa-20171227-git.tgz";
+      sha256 = "10r1ypxphs5h7xxkl7v7r9pi2wdz1ik948mp63006hn44j7s1sa1";
+      system = "tinaa";
+      asd = "tinaa";
+    });
+    systems = [ "tinaa/with-cl-markdown" ];
+    lispLibs = [ (getAttr "cl-markdown" pkgs) (getAttr "tinaa" pkgs) ];
+  };
+  tm = {
+    pname = "tm";
+    version = "v0.8";
+    asds = [ "tm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tm/2018-02-28/tm-v0.8.tgz";
+      sha256 = "0lhqg5jpkzni1vzni0nnw7jb8ick1pbp04gfij2iczbi82qsw8x1";
+      system = "tm";
+      asd = "tm";
+    });
+    systems = [ "tm" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "local-time" pkgs) ];
+  };
+  tmpdir = {
+    pname = "tmpdir";
+    version = "20200218-git";
+    asds = [ "tmpdir" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tmpdir/2020-02-18/tmpdir-20200218-git.tgz";
+      sha256 = "11yshmg2wyd75ywwfybklm131d5rdw246pg35a6ksndiq3w5n4k8";
+      system = "tmpdir";
+      asd = "tmpdir";
+    });
+    systems = [ "tmpdir" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) ];
+  };
+  tmpdir_dot_tests = {
+    pname = "tmpdir.tests";
+    version = "20200218-git";
+    asds = [ "tmpdir.tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tmpdir/2020-02-18/tmpdir-20200218-git.tgz";
+      sha256 = "11yshmg2wyd75ywwfybklm131d5rdw246pg35a6ksndiq3w5n4k8";
+      system = "tmpdir.tests";
+      asd = "tmpdir.tests";
+    });
+    systems = [ "tmpdir.tests" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "fiveam" pkgs) (getAttr "osicat" pkgs) (getAttr "tmpdir" pkgs) ];
+  };
+  toadstool = {
+    pname = "toadstool";
+    version = "20130615-git";
+    asds = [ "toadstool" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/toadstool/2013-06-15/toadstool-20130615-git.tgz";
+      sha256 = "0njb1mdzk0247h87db90zv7bk40mw54pq8sj35l1dwa30d5yhi6r";
+      system = "toadstool";
+      asd = "toadstool";
+    });
+    systems = [ "toadstool" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  toadstool-tests = {
+    pname = "toadstool-tests";
+    version = "20130615-git";
+    asds = [ "toadstool-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/toadstool/2013-06-15/toadstool-20130615-git.tgz";
+      sha256 = "0njb1mdzk0247h87db90zv7bk40mw54pq8sj35l1dwa30d5yhi6r";
+      system = "toadstool-tests";
+      asd = "toadstool-tests";
+    });
+    systems = [ "toadstool-tests" ];
+    lispLibs = [ (getAttr "stefil" pkgs) (getAttr "toadstool" pkgs) ];
+  };
+  toms419 = {
+    pname = "toms419";
+    version = "20200925-git";
+    asds = [ "toms419" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "toms419";
+      asd = "toms419";
+    });
+    systems = [ "toms419" ];
+    lispLibs = [ (getAttr "f2cl" pkgs) ];
+  };
+  toms419_slash_test = {
+    pname = "toms419_test";
+    version = "20200925-git";
+    asds = [ "toms419" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "toms419";
+      asd = "toms419";
+    });
+    systems = [ "toms419/test" ];
+    lispLibs = [ (getAttr "toms419" pkgs) ];
+  };
+  toms715 = {
+    pname = "toms715";
+    version = "20200925-git";
+    asds = [ "toms715" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "toms715";
+      asd = "toms715";
+    });
+    systems = [ "toms715" ];
+    lispLibs = [ (getAttr "f2cl" pkgs) ];
+  };
+  toms715_slash_tests = {
+    pname = "toms715_tests";
+    version = "20200925-git";
+    asds = [ "toms715" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "toms715";
+      asd = "toms715";
+    });
+    systems = [ "toms715/tests" ];
+    lispLibs = [ (getAttr "toms715" pkgs) ];
+  };
+  toms717 = {
+    pname = "toms717";
+    version = "20200925-git";
+    asds = [ "toms717" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "toms717";
+      asd = "toms717";
+    });
+    systems = [ "toms717" ];
+    lispLibs = [ (getAttr "f2cl" pkgs) ];
+  };
+  toms717_slash_tests = {
+    pname = "toms717_tests";
+    version = "20200925-git";
+    asds = [ "toms717" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/f2cl/2020-09-25/f2cl-20200925-git.tgz";
+      sha256 = "0kq1lrz0sg4kj64w0ysihnfwi65pami362fs2mvpyf1yhgxmq08y";
+      system = "toms717";
+      asd = "toms717";
+    });
+    systems = [ "toms717/tests" ];
+    lispLibs = [ (getAttr "toms717" pkgs) ];
+  };
+  toot = {
+    pname = "toot";
+    version = "20121125-git";
+    asds = [ "toot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/toot/2012-11-25/toot-20121125-git.tgz";
+      sha256 = "1235qhkjrg1mmy6kx1vhsqvgjjgc7hk2sjssapv7xr43m71n6ivx";
+      system = "toot";
+      asd = "toot";
+    });
+    systems = [ "toot" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "chunga" pkgs) (getAttr "cl_plus_ssl" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "md5" pkgs) (getAttr "puri" pkgs) (getAttr "trivial-backtrace" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  tooter = {
+    pname = "tooter";
+    version = "20211020-git";
+    asds = [ "tooter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tooter/2021-10-20/tooter-20211020-git.tgz";
+      sha256 = "02vpjaq38d6laaqmsana9f13c38xzr0xwy05fcfkmzdhh0kllpkv";
+      system = "tooter";
+      asd = "tooter";
+    });
+    systems = [ "tooter" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "drakma" pkgs) (getAttr "yason" pkgs) ];
+  };
+  torrents = {
+    pname = "torrents";
+    version = "20210630-git";
+    asds = [ "torrents" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-torrents/2021-06-30/cl-torrents-20210630-git.tgz";
+      sha256 = "1c47makx98f8c811j91xhd0v7d740n5j831ykirm1zji7ndvq8d3";
+      system = "torrents";
+      asd = "torrents";
+    });
+    systems = [ "torrents" ];
+    lispLibs = [ (getAttr "access" pkgs) (getAttr "cl-ansi-text" pkgs) (getAttr "cl-readline" pkgs) (getAttr "str" pkgs) (getAttr "cl-transmission" pkgs) (getAttr "clache" pkgs) (getAttr "dexador" pkgs) (getAttr "jonathan" pkgs) (getAttr "log4cl" pkgs) (getAttr "lparallel" pkgs) (getAttr "lquery" pkgs) (getAttr "mockingbird" pkgs) (getAttr "parse-float" pkgs) (getAttr "plump" pkgs) (getAttr "py-configparser" pkgs) (getAttr "replic" pkgs) (getAttr "unix-opts" pkgs) ];
+  };
+  torrents-test = {
+    pname = "torrents-test";
+    version = "20210630-git";
+    asds = [ "torrents-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-torrents/2021-06-30/cl-torrents-20210630-git.tgz";
+      sha256 = "1c47makx98f8c811j91xhd0v7d740n5j831ykirm1zji7ndvq8d3";
+      system = "torrents-test";
+      asd = "torrents-test";
+    });
+    systems = [ "torrents-test" ];
+    lispLibs = [ (getAttr "torrents" pkgs) (getAttr "mockingbird" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  torrents_slash_tk = {
+    pname = "torrents_tk";
+    version = "20210630-git";
+    asds = [ "torrents" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-torrents/2021-06-30/cl-torrents-20210630-git.tgz";
+      sha256 = "1c47makx98f8c811j91xhd0v7d740n5j831ykirm1zji7ndvq8d3";
+      system = "torrents";
+      asd = "torrents";
+    });
+    systems = [ "torrents/tk" ];
+    lispLibs = [ (getAttr "torrents" pkgs) (getAttr "nodgui" pkgs) ];
+  };
+  towers = {
+    pname = "towers";
+    version = "20141217-git";
+    asds = [ "towers" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/towers/2014-12-17/towers-20141217-git.tgz";
+      sha256 = "0r89z1hfb7kmj0a4qm7ih599hlin8rhxk6pb7nnvsdjgn436dkga";
+      system = "towers";
+      asd = "towers";
+    });
+    systems = [ "towers" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-glu" pkgs) (getAttr "cl-glut" pkgs) (getAttr "cl-opengl" pkgs) ];
+  };
+  trace-db = {
+    pname = "trace-db";
+    version = "20211020-git";
+    asds = [ "trace-db" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trace-db/2021-10-20/trace-db-20211020-git.tgz";
+      sha256 = "0wfqxfmvs1d918hms3k869k2bpp7j330icbc77pws1gl0qhxgpfn";
+      system = "trace-db";
+      asd = "trace-db";
+    });
+    systems = [ "trace-db" ];
+    lispLibs = [ (getAttr "asdf-package-system" pkgs) ];
+  };
+  track-best = {
+    pname = "track-best";
+    version = "20181018-git";
+    asds = [ "track-best" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/track-best/2018-10-18/track-best-20181018-git.tgz";
+      sha256 = "127mr8xcgmr5ddyz49qlscm97qnilmmjvgcakfwaxpxgivds349d";
+      system = "track-best";
+      asd = "track-best";
+    });
+    systems = [ "track-best" ];
+    lispLibs = [  ];
+  };
+  track-best-tests = {
+    pname = "track-best-tests";
+    version = "20181018-git";
+    asds = [ "track-best-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/track-best/2018-10-18/track-best-20181018-git.tgz";
+      sha256 = "127mr8xcgmr5ddyz49qlscm97qnilmmjvgcakfwaxpxgivds349d";
+      system = "track-best-tests";
+      asd = "track-best";
+    });
+    systems = [ "track-best-tests" ];
+    lispLibs = [ (getAttr "nst" pkgs) (getAttr "track-best" pkgs) ];
+  };
+  trainable-object = {
+    pname = "trainable-object";
+    version = "20191227-git";
+    asds = [ "trainable-object" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trainable-object/2019-12-27/trainable-object-20191227-git.tgz";
+      sha256 = "06hfv039xx5vwm3qpm4kwlzlxc4zxlfcpxnbbq8x12a32ngqykwm";
+      system = "trainable-object";
+      asd = "trainable-object";
+    });
+    systems = [ "trainable-object" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "serializable-object" pkgs) ];
+  };
+  trainable-object_dot_test = {
+    pname = "trainable-object.test";
+    version = "20191227-git";
+    asds = [ "trainable-object.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trainable-object/2019-12-27/trainable-object-20191227-git.tgz";
+      sha256 = "06hfv039xx5vwm3qpm4kwlzlxc4zxlfcpxnbbq8x12a32ngqykwm";
+      system = "trainable-object.test";
+      asd = "trainable-object.test";
+    });
+    systems = [ "trainable-object.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trainable-object" pkgs) ];
+  };
+  translate = {
+    pname = "translate";
+    version = "20180228-git";
+    asds = [ "translate" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/translate/2018-02-28/translate-20180228-git.tgz";
+      sha256 = "07bvdmj8x77k8pw24yhfp1xv9h40n5w717vgj3wmq703159kyjia";
+      system = "translate";
+      asd = "translate";
+    });
+    systems = [ "translate" ];
+    lispLibs = [  ];
+  };
+  translate-client = {
+    pname = "translate-client";
+    version = "20180228-git";
+    asds = [ "translate-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/translate-client/2018-02-28/translate-client-20180228-git.tgz";
+      sha256 = "0mjzzahy5wrycik37dirwnvcd5bj5xm20cnw6cmzh0ncvb442mdx";
+      system = "translate-client";
+      asd = "translate-client";
+    });
+    systems = [ "translate-client" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "assoc-utils" pkgs) (getAttr "dexador" pkgs) (getAttr "quri" pkgs) (getAttr "yason" pkgs) ];
+  };
+  translate_slash_test = {
+    pname = "translate_test";
+    version = "20180228-git";
+    asds = [ "translate" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/translate/2018-02-28/translate-20180228-git.tgz";
+      sha256 = "07bvdmj8x77k8pw24yhfp1xv9h40n5w717vgj3wmq703159kyjia";
+      system = "translate";
+      asd = "translate";
+    });
+    systems = [ "translate/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "translate" pkgs) ];
+  };
+  translators = {
+    pname = "translators";
+    version = "master-83d7b044-git";
+    asds = [ "translators" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "translators";
+      asd = "translators";
+    });
+    systems = [ "translators" ];
+    lispLibs = [ (getAttr "gwl" pkgs) ];
+  };
+  transparent-wrap = {
+    pname = "transparent-wrap";
+    version = "20200925-git";
+    asds = [ "transparent-wrap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/transparent-wrap/2020-09-25/transparent-wrap-20200925-git.tgz";
+      sha256 = "0ghva34ksdvczfwpjdaf97bkjxrp35fjqkxamyqf7fbadh4wmfqj";
+      system = "transparent-wrap";
+      asd = "transparent-wrap";
+    });
+    systems = [ "transparent-wrap" ];
+    lispLibs = [ (getAttr "fare-quasiquote-extras" pkgs) (getAttr "named-readtables" pkgs) (getAttr "optima" pkgs) (getAttr "trivial-arguments" pkgs) ];
+  };
+  tree = {
+    pname = "tree";
+    version = "master-83d7b044-git";
+    asds = [ "tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "tree";
+      asd = "tree";
+    });
+    systems = [ "tree" ];
+    lispLibs = [ (getAttr "gwl-graphics" pkgs) ];
+  };
+  tree-search = {
+    pname = "tree-search";
+    version = "0.0.1";
+    asds = [ "tree-search" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tree-search/2020-12-20/tree-search-0.0.1.tgz";
+      sha256 = "10qgd5yj3n2w4j6wsq1xly0hnpdi1bhhzpia4s1gpkywhglw84zq";
+      system = "tree-search";
+      asd = "tree-search";
+    });
+    systems = [ "tree-search" ];
+    lispLibs = [  ];
+  };
+  tree-search_slash_test = {
+    pname = "tree-search_test";
+    version = "0.0.1";
+    asds = [ "tree-search" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/tree-search/2020-12-20/tree-search-0.0.1.tgz";
+      sha256 = "10qgd5yj3n2w4j6wsq1xly0hnpdi1bhhzpia4s1gpkywhglw84zq";
+      system = "tree-search";
+      asd = "tree-search";
+    });
+    systems = [ "tree-search/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "tree-search" pkgs) ];
+  };
+  treedb = {
+    pname = "treedb";
+    version = "20160825-git";
+    asds = [ "treedb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/treedb/2016-08-25/treedb-20160825-git.tgz";
+      sha256 = "02xsm4han0m0vj1j2ly2a6ncjcv7z8p3lcpkyj27xygag2vlchbq";
+      system = "treedb";
+      asd = "treedb";
+    });
+    systems = [ "treedb" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) ];
+  };
+  treedb_dot_doc = {
+    pname = "treedb.doc";
+    version = "20160825-git";
+    asds = [ "treedb.doc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/treedb/2016-08-25/treedb-20160825-git.tgz";
+      sha256 = "02xsm4han0m0vj1j2ly2a6ncjcv7z8p3lcpkyj27xygag2vlchbq";
+      system = "treedb.doc";
+      asd = "treedb.doc";
+    });
+    systems = [ "treedb.doc" ];
+    lispLibs = [ (getAttr "cl-gendoc" pkgs) (getAttr "treedb" pkgs) (getAttr "treedb_dot_tests" pkgs) ];
+  };
+  treedb_dot_tests = {
+    pname = "treedb.tests";
+    version = "20160825-git";
+    asds = [ "treedb.tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/treedb/2016-08-25/treedb-20160825-git.tgz";
+      sha256 = "02xsm4han0m0vj1j2ly2a6ncjcv7z8p3lcpkyj27xygag2vlchbq";
+      system = "treedb.tests";
+      asd = "treedb.tests";
+    });
+    systems = [ "treedb.tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "treedb" pkgs) ];
+  };
+  trees = {
+    pname = "trees";
+    version = "20180131-git";
+    asds = [ "trees" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trees/2018-01-31/trees-20180131-git.tgz";
+      sha256 = "1xvydf3qc17rd7ia8sffxcpclgm3l0iyhx8k72ddk59v3pg5is4k";
+      system = "trees";
+      asd = "trees";
+    });
+    systems = [ "trees" ];
+    lispLibs = [  ];
+  };
+  trees-tests = {
+    pname = "trees-tests";
+    version = "20180131-git";
+    asds = [ "trees-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trees/2018-01-31/trees-20180131-git.tgz";
+      sha256 = "1xvydf3qc17rd7ia8sffxcpclgm3l0iyhx8k72ddk59v3pg5is4k";
+      system = "trees-tests";
+      asd = "trees";
+    });
+    systems = [ "trees-tests" ];
+    lispLibs = [ (getAttr "trees" pkgs) ];
+  };
+  trestrul = {
+    pname = "trestrul";
+    version = "20211020-git";
+    asds = [ "trestrul" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trestrul/2021-10-20/trestrul-20211020-git.tgz";
+      sha256 = "12bghcfnfxq8l4a1jzh6vx4yna9da1xvp0b7kfdcfylnyga9ivy6";
+      system = "trestrul";
+      asd = "trestrul";
+    });
+    systems = [ "trestrul" ];
+    lispLibs = [ (getAttr "jingoh_dot_documentizer" pkgs) ];
+  };
+  trestrul_dot_test = {
+    pname = "trestrul.test";
+    version = "20211020-git";
+    asds = [ "trestrul.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trestrul/2021-10-20/trestrul-20211020-git.tgz";
+      sha256 = "12bghcfnfxq8l4a1jzh6vx4yna9da1xvp0b7kfdcfylnyga9ivy6";
+      system = "trestrul.test";
+      asd = "trestrul.test";
+    });
+    systems = [ "trestrul.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "trestrul" pkgs) ];
+  };
+  trivia = {
+    pname = "trivia";
+    version = "20211020-git";
+    asds = [ "trivia" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+      sha256 = "1xdydm0v2njv657h2y9y6ij78wv4wid6iyrs7nga1hrcqd8a3qmy";
+      system = "trivia";
+      asd = "trivia";
+    });
+    systems = [ "trivia" ];
+    lispLibs = [ (getAttr "trivia_dot_balland2006" pkgs) ];
+  };
+  trivia_dot_balland2006 = {
+    pname = "trivia.balland2006";
+    version = "20211020-git";
+    asds = [ "trivia.balland2006" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+      sha256 = "1xdydm0v2njv657h2y9y6ij78wv4wid6iyrs7nga1hrcqd8a3qmy";
+      system = "trivia.balland2006";
+      asd = "trivia.balland2006";
+    });
+    systems = [ "trivia.balland2006" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) (getAttr "trivia_dot_trivial" pkgs) (getAttr "type-i" pkgs) ];
+  };
+  trivia_dot_benchmark = {
+    pname = "trivia.benchmark";
+    version = "20211020-git";
+    asds = [ "trivia.benchmark" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+      sha256 = "1xdydm0v2njv657h2y9y6ij78wv4wid6iyrs7nga1hrcqd8a3qmy";
+      system = "trivia.benchmark";
+      asd = "trivia.benchmark";
+    });
+    systems = [ "trivia.benchmark" ];
+    lispLibs = [ (getAttr "iterate" pkgs) (getAttr "optima" pkgs) (getAttr "trivia" pkgs) (getAttr "trivia_dot_balland2006" pkgs) ];
+  };
+  trivia_dot_benchmark_slash_run = {
+    pname = "trivia.benchmark_run";
+    version = "20211020-git";
+    asds = [ "trivia.benchmark" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+      sha256 = "1xdydm0v2njv657h2y9y6ij78wv4wid6iyrs7nga1hrcqd8a3qmy";
+      system = "trivia.benchmark";
+      asd = "trivia.benchmark";
+    });
+    systems = [ "trivia.benchmark/run" ];
+    lispLibs = [ (getAttr "trivia_dot_benchmark" pkgs) ];
+  };
+  trivia_dot_cffi = {
+    pname = "trivia.cffi";
+    version = "20211020-git";
+    asds = [ "trivia.cffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+      sha256 = "1xdydm0v2njv657h2y9y6ij78wv4wid6iyrs7nga1hrcqd8a3qmy";
+      system = "trivia.cffi";
+      asd = "trivia.cffi";
+    });
+    systems = [ "trivia.cffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "trivia_dot_trivial" pkgs) ];
+  };
+  trivia_dot_fset = {
+    pname = "trivia.fset";
+    version = "20211020-git";
+    asds = [ "trivia.fset" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+      sha256 = "1xdydm0v2njv657h2y9y6ij78wv4wid6iyrs7nga1hrcqd8a3qmy";
+      system = "trivia.fset";
+      asd = "trivia.fset";
+    });
+    systems = [ "trivia.fset" ];
+    lispLibs = [ (getAttr "fset" pkgs) (getAttr "trivia_dot_trivial" pkgs) ];
+  };
+  trivia_dot_level0 = {
+    pname = "trivia.level0";
+    version = "20211020-git";
+    asds = [ "trivia.level0" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+      sha256 = "1xdydm0v2njv657h2y9y6ij78wv4wid6iyrs7nga1hrcqd8a3qmy";
+      system = "trivia.level0";
+      asd = "trivia.level0";
+    });
+    systems = [ "trivia.level0" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  trivia_dot_level1 = {
+    pname = "trivia.level1";
+    version = "20211020-git";
+    asds = [ "trivia.level1" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+      sha256 = "1xdydm0v2njv657h2y9y6ij78wv4wid6iyrs7nga1hrcqd8a3qmy";
+      system = "trivia.level1";
+      asd = "trivia.level1";
+    });
+    systems = [ "trivia.level1" ];
+    lispLibs = [ (getAttr "trivia_dot_level0" pkgs) ];
+  };
+  trivia_dot_level2 = {
+    pname = "trivia.level2";
+    version = "20211020-git";
+    asds = [ "trivia.level2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+      sha256 = "1xdydm0v2njv657h2y9y6ij78wv4wid6iyrs7nga1hrcqd8a3qmy";
+      system = "trivia.level2";
+      asd = "trivia.level2";
+    });
+    systems = [ "trivia.level2" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "lisp-namespace" pkgs) (getAttr "trivia_dot_level1" pkgs) (getAttr "trivial-cltl2" pkgs) ];
+  };
+  trivia_dot_ppcre = {
+    pname = "trivia.ppcre";
+    version = "20211020-git";
+    asds = [ "trivia.ppcre" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+      sha256 = "1xdydm0v2njv657h2y9y6ij78wv4wid6iyrs7nga1hrcqd8a3qmy";
+      system = "trivia.ppcre";
+      asd = "trivia.ppcre";
+    });
+    systems = [ "trivia.ppcre" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "trivia_dot_trivial" pkgs) ];
+  };
+  trivia_dot_quasiquote = {
+    pname = "trivia.quasiquote";
+    version = "20211020-git";
+    asds = [ "trivia.quasiquote" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+      sha256 = "1xdydm0v2njv657h2y9y6ij78wv4wid6iyrs7nga1hrcqd8a3qmy";
+      system = "trivia.quasiquote";
+      asd = "trivia.quasiquote";
+    });
+    systems = [ "trivia.quasiquote" ];
+    lispLibs = [ (getAttr "fare-quasiquote-readtable" pkgs) (getAttr "trivia_dot_trivial" pkgs) ];
+  };
+  trivia_dot_test = {
+    pname = "trivia.test";
+    version = "20211020-git";
+    asds = [ "trivia.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+      sha256 = "1xdydm0v2njv657h2y9y6ij78wv4wid6iyrs7nga1hrcqd8a3qmy";
+      system = "trivia.test";
+      asd = "trivia.test";
+    });
+    systems = [ "trivia.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "optima" pkgs) (getAttr "trivia" pkgs) (getAttr "trivia_dot_cffi" pkgs) (getAttr "trivia_dot_fset" pkgs) (getAttr "trivia_dot_ppcre" pkgs) (getAttr "trivia_dot_quasiquote" pkgs) ];
+  };
+  trivia_dot_trivial = {
+    pname = "trivia.trivial";
+    version = "20211020-git";
+    asds = [ "trivia.trivial" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivia/2021-10-20/trivia-20211020-git.tgz";
+      sha256 = "1xdydm0v2njv657h2y9y6ij78wv4wid6iyrs7nga1hrcqd8a3qmy";
+      system = "trivia.trivial";
+      asd = "trivia.trivial";
+    });
+    systems = [ "trivia.trivial" ];
+    lispLibs = [ (getAttr "trivia_dot_level2" pkgs) ];
+  };
+  trivial-arguments = {
+    pname = "trivial-arguments";
+    version = "20200925-git";
+    asds = [ "trivial-arguments" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-arguments/2020-09-25/trivial-arguments-20200925-git.tgz";
+      sha256 = "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88";
+      system = "trivial-arguments";
+      asd = "trivial-arguments";
+    });
+    systems = [ "trivial-arguments" ];
+    lispLibs = [  ];
+  };
+  trivial-backtrace = {
+    pname = "trivial-backtrace";
+    version = "20200610-git";
+    asds = [ "trivial-backtrace" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-backtrace/2020-06-10/trivial-backtrace-20200610-git.tgz";
+      sha256 = "1mbaqiwj5034iw6jzw30jyhwzp1pvhnz1zcy0lns0z5j2h9ldapw";
+      system = "trivial-backtrace";
+      asd = "trivial-backtrace";
+    });
+    systems = [ "trivial-backtrace" ];
+    lispLibs = [  ];
+  };
+  trivial-backtrace-test = {
+    pname = "trivial-backtrace-test";
+    version = "20200610-git";
+    asds = [ "trivial-backtrace-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-backtrace/2020-06-10/trivial-backtrace-20200610-git.tgz";
+      sha256 = "1mbaqiwj5034iw6jzw30jyhwzp1pvhnz1zcy0lns0z5j2h9ldapw";
+      system = "trivial-backtrace-test";
+      asd = "trivial-backtrace-test";
+    });
+    systems = [ "trivial-backtrace-test" ];
+    lispLibs = [ (getAttr "lift" pkgs) (getAttr "trivial-backtrace" pkgs) ];
+  };
+  trivial-battery = {
+    pname = "trivial-battery";
+    version = "20211020-git";
+    asds = [ "trivial-battery" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-battery/2021-10-20/trivial-battery-20211020-git.tgz";
+      sha256 = "12ni2502v9gjszhjsh0aai08cm64gl8g815xghdjhcf7y34ffl2b";
+      system = "trivial-battery";
+      asd = "trivial-battery";
+    });
+    systems = [ "trivial-battery" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) ];
+  };
+  trivial-benchmark = {
+    pname = "trivial-benchmark";
+    version = "20191130-git";
+    asds = [ "trivial-benchmark" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-benchmark/2019-11-30/trivial-benchmark-20191130-git.tgz";
+      sha256 = "0fbzqbpm2ixz85555krl36kbbbjyn699vdj6k383khi3g9y629fa";
+      system = "trivial-benchmark";
+      asd = "trivial-benchmark";
+    });
+    systems = [ "trivial-benchmark" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  trivial-bit-streams = {
+    pname = "trivial-bit-streams";
+    version = "20190710-git";
+    asds = [ "trivial-bit-streams" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-bit-streams/2019-07-10/trivial-bit-streams-20190710-git.tgz";
+      sha256 = "01xcs069934pzm8gi1xkwgd4lw37ams30i6rcgrlw8gnx4zc4zc9";
+      system = "trivial-bit-streams";
+      asd = "trivial-bit-streams";
+    });
+    systems = [ "trivial-bit-streams" ];
+    lispLibs = [ (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  trivial-bit-streams-tests = {
+    pname = "trivial-bit-streams-tests";
+    version = "20190710-git";
+    asds = [ "trivial-bit-streams-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-bit-streams/2019-07-10/trivial-bit-streams-20190710-git.tgz";
+      sha256 = "01xcs069934pzm8gi1xkwgd4lw37ams30i6rcgrlw8gnx4zc4zc9";
+      system = "trivial-bit-streams-tests";
+      asd = "trivial-bit-streams-tests";
+    });
+    systems = [ "trivial-bit-streams-tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "trivial-bit-streams" pkgs) ];
+  };
+  trivial-build = {
+    pname = "trivial-build";
+    version = "20151218-git";
+    asds = [ "trivial-build" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-build/2015-12-18/trivial-build-20151218-git.tgz";
+      sha256 = "10h1igvryaqz6f72i57ppifysnw8swnss9395sijnk595icja7q0";
+      system = "trivial-build";
+      asd = "trivial-build";
+    });
+    systems = [ "trivial-build" ];
+    lispLibs = [ (getAttr "lisp-invocation" pkgs) (getAttr "trivial-exe" pkgs) ];
+  };
+  trivial-build-test = {
+    pname = "trivial-build-test";
+    version = "20151218-git";
+    asds = [ "trivial-build-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-build/2015-12-18/trivial-build-20151218-git.tgz";
+      sha256 = "10h1igvryaqz6f72i57ppifysnw8swnss9395sijnk595icja7q0";
+      system = "trivial-build-test";
+      asd = "trivial-build-test";
+    });
+    systems = [ "trivial-build-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-build" pkgs) ];
+  };
+  trivial-channels = {
+    pname = "trivial-channels";
+    version = "20160421-git";
+    asds = [ "trivial-channels" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-channels/2016-04-21/trivial-channels-20160421-git.tgz";
+      sha256 = "04wnxcgk40x8p0gxnz9arv1a5wasdqrdxa8c4p5v7r2mycfps6jj";
+      system = "trivial-channels";
+      asd = "trivial-channels";
+    });
+    systems = [ "trivial-channels" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "trivial-timeout" pkgs) ];
+  };
+  trivial-clipboard = {
+    pname = "trivial-clipboard";
+    version = "20210228-git";
+    asds = [ "trivial-clipboard" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-clipboard/2021-02-28/trivial-clipboard-20210228-git.tgz";
+      sha256 = "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k";
+      system = "trivial-clipboard";
+      asd = "trivial-clipboard";
+    });
+    systems = [ "trivial-clipboard" ];
+    lispLibs = [ (getAttr "uiop" pkgs) ];
+  };
+  trivial-clipboard-test = {
+    pname = "trivial-clipboard-test";
+    version = "20210228-git";
+    asds = [ "trivial-clipboard-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-clipboard/2021-02-28/trivial-clipboard-20210228-git.tgz";
+      sha256 = "0apkgqrscylw3hhm5x2vs0z3hz6h7zd7dl5y3wr2zl8qjpvpc80k";
+      system = "trivial-clipboard-test";
+      asd = "trivial-clipboard-test";
+    });
+    systems = [ "trivial-clipboard-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-clipboard" pkgs) ];
+  };
+  trivial-cltl2 = {
+    pname = "trivial-cltl2";
+    version = "20211230-git";
+    asds = [ "trivial-cltl2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-cltl2/2021-12-30/trivial-cltl2-20211230-git.tgz";
+      sha256 = "0xx5vr0dp623m111zbfdk6x7l4jgd4wwyp6iarbj6ijq514wi3a3";
+      system = "trivial-cltl2";
+      asd = "trivial-cltl2";
+    });
+    systems = [ "trivial-cltl2" ];
+    lispLibs = [  ];
+  };
+  trivial-compress = {
+    pname = "trivial-compress";
+    version = "20201220-git";
+    asds = [ "trivial-compress" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-compress/2020-12-20/trivial-compress-20201220-git.tgz";
+      sha256 = "1pbaz0phvzi27dgnfknscak1h27bsi16gys23kchg8y8zbm0z0g7";
+      system = "trivial-compress";
+      asd = "trivial-compress";
+    });
+    systems = [ "trivial-compress" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "archive" pkgs) (getAttr "uiop" pkgs) (getAttr "which" pkgs) (getAttr "zip" pkgs) ];
+  };
+  trivial-compress-test = {
+    pname = "trivial-compress-test";
+    version = "20201220-git";
+    asds = [ "trivial-compress-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-compress/2020-12-20/trivial-compress-20201220-git.tgz";
+      sha256 = "1pbaz0phvzi27dgnfknscak1h27bsi16gys23kchg8y8zbm0z0g7";
+      system = "trivial-compress-test";
+      asd = "trivial-compress-test";
+    });
+    systems = [ "trivial-compress-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-compress" pkgs) ];
+  };
+  trivial-continuation = {
+    pname = "trivial-continuation";
+    version = "20191007-git";
+    asds = [ "trivial-continuation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-continuation/2019-10-07/trivial-continuation-20191007-git.tgz";
+      sha256 = "1j8d8q86r60qr9pi5p3q7rqn16xpzbzygs0i9b8sn3qyxnnz5037";
+      system = "trivial-continuation";
+      asd = "trivial-continuation";
+    });
+    systems = [ "trivial-continuation" ];
+    lispLibs = [ (getAttr "log4cl" pkgs) (getAttr "trivial-utilities" pkgs) ];
+  };
+  trivial-continuation_slash_test = {
+    pname = "trivial-continuation_test";
+    version = "20191007-git";
+    asds = [ "trivial-continuation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-continuation/2019-10-07/trivial-continuation-20191007-git.tgz";
+      sha256 = "1j8d8q86r60qr9pi5p3q7rqn16xpzbzygs0i9b8sn3qyxnnz5037";
+      system = "trivial-continuation";
+      asd = "trivial-continuation";
+    });
+    systems = [ "trivial-continuation/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-continuation" pkgs) ];
+  };
+  trivial-coverage = {
+    pname = "trivial-coverage";
+    version = "20200218-git";
+    asds = [ "trivial-coverage" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-coverage/2020-02-18/trivial-coverage-20200218-git.tgz";
+      sha256 = "1ak4mjcvzdjsjjh7j89zlnwgaamfrspxmjh2i9kg67kqn36prbsp";
+      system = "trivial-coverage";
+      asd = "trivial-coverage";
+    });
+    systems = [ "trivial-coverage" ];
+    lispLibs = [ (getAttr "lquery" pkgs) ];
+  };
+  trivial-custom-debugger = {
+    pname = "trivial-custom-debugger";
+    version = "20200925-git";
+    asds = [ "trivial-custom-debugger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-custom-debugger/2020-09-25/trivial-custom-debugger-20200925-git.tgz";
+      sha256 = "1iri5wsp9sc1f5q934cj87zd79r5dc8fda0gl7x1pz95v0wx28yk";
+      system = "trivial-custom-debugger";
+      asd = "trivial-custom-debugger";
+    });
+    systems = [ "trivial-custom-debugger" ];
+    lispLibs = [  ];
+  };
+  trivial-custom-debugger_slash_test = {
+    pname = "trivial-custom-debugger_test";
+    version = "20200925-git";
+    asds = [ "trivial-custom-debugger" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-custom-debugger/2020-09-25/trivial-custom-debugger-20200925-git.tgz";
+      sha256 = "1iri5wsp9sc1f5q934cj87zd79r5dc8fda0gl7x1pz95v0wx28yk";
+      system = "trivial-custom-debugger";
+      asd = "trivial-custom-debugger";
+    });
+    systems = [ "trivial-custom-debugger/test" ];
+    lispLibs = [ (getAttr "parachute" pkgs) (getAttr "trivial-custom-debugger" pkgs) ];
+  };
+  trivial-debug-console = {
+    pname = "trivial-debug-console";
+    version = "20150407-git";
+    asds = [ "trivial-debug-console" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-debug-console/2015-04-07/trivial-debug-console-20150407-git.tgz";
+      sha256 = "07r42k57vldg01hfwjhkic2hsy84c2s5zj7pl60xjl960i0lqnam";
+      system = "trivial-debug-console";
+      asd = "trivial-debug-console";
+    });
+    systems = [ "trivial-debug-console" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  trivial-do = {
+    pname = "trivial-do";
+    version = "20201220-git";
+    asds = [ "trivial-do" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-do/2020-12-20/trivial-do-20201220-git.tgz";
+      sha256 = "1ffva79nkicc7wc8c2ic5nayis3b2rk5sxzj74yjkymkjgbpcrgd";
+      system = "trivial-do";
+      asd = "trivial-do";
+    });
+    systems = [ "trivial-do" ];
+    lispLibs = [  ];
+  };
+  trivial-documentation = {
+    pname = "trivial-documentation";
+    version = "20161204-git";
+    asds = [ "trivial-documentation" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-documentation/2016-12-04/trivial-documentation-20161204-git.tgz";
+      sha256 = "0y90zi6kaw7226xc089dl47677fz594a5ck1ld8yggk9ww7cdaav";
+      system = "trivial-documentation";
+      asd = "trivial-documentation";
+    });
+    systems = [ "trivial-documentation" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  trivial-documentation-test = {
+    pname = "trivial-documentation-test";
+    version = "20161204-git";
+    asds = [ "trivial-documentation-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-documentation/2016-12-04/trivial-documentation-20161204-git.tgz";
+      sha256 = "0y90zi6kaw7226xc089dl47677fz594a5ck1ld8yggk9ww7cdaav";
+      system = "trivial-documentation-test";
+      asd = "trivial-documentation-test";
+    });
+    systems = [ "trivial-documentation-test" ];
+    lispLibs = [ (getAttr "trivial-documentation" pkgs) ];
+  };
+  trivial-download = {
+    pname = "trivial-download";
+    version = "20200925-git";
+    asds = [ "trivial-download" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-download/2020-09-25/trivial-download-20200925-git.tgz";
+      sha256 = "06f46zr3gp3wlm2kgxna24qd2gpr1v89x9fynh1x5vrw6c6hqjcv";
+      system = "trivial-download";
+      asd = "trivial-download";
+    });
+    systems = [ "trivial-download" ];
+    lispLibs = [ (getAttr "drakma" pkgs) ];
+  };
+  trivial-dump-core = {
+    pname = "trivial-dump-core";
+    version = "20170227-git";
+    asds = [ "trivial-dump-core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-dump-core/2017-02-27/trivial-dump-core-20170227-git.tgz";
+      sha256 = "08lnp84gbf3yd3gpnbjbl8jm9p42j3m4hf2f355l7lylb8kabxn8";
+      system = "trivial-dump-core";
+      asd = "trivial-dump-core";
+    });
+    systems = [ "trivial-dump-core" ];
+    lispLibs = [  ];
+  };
+  trivial-ed-functions = {
+    pname = "trivial-ed-functions";
+    version = "20210807-git";
+    asds = [ "trivial-ed-functions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-ed-functions/2021-08-07/trivial-ed-functions-20210807-git.tgz";
+      sha256 = "05r8n4jjcg2lci5qrjwqz913wivckgk01ivjg1barpnm0nr29qn1";
+      system = "trivial-ed-functions";
+      asd = "trivial-ed-functions";
+    });
+    systems = [ "trivial-ed-functions" ];
+    lispLibs = [  ];
+  };
+  trivial-ed-functions_slash_test = {
+    pname = "trivial-ed-functions_test";
+    version = "20210807-git";
+    asds = [ "trivial-ed-functions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-ed-functions/2021-08-07/trivial-ed-functions-20210807-git.tgz";
+      sha256 = "05r8n4jjcg2lci5qrjwqz913wivckgk01ivjg1barpnm0nr29qn1";
+      system = "trivial-ed-functions";
+      asd = "trivial-ed-functions";
+    });
+    systems = [ "trivial-ed-functions/test" ];
+    lispLibs = [ (getAttr "parachute" pkgs) (getAttr "trivial-ed-functions" pkgs) ];
+  };
+  trivial-escapes = {
+    pname = "trivial-escapes";
+    version = "20180228-git";
+    asds = [ "trivial-escapes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-escapes/2018-02-28/trivial-escapes-20180228-git.tgz";
+      sha256 = "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr";
+      system = "trivial-escapes";
+      asd = "trivial-escapes";
+    });
+    systems = [ "trivial-escapes" ];
+    lispLibs = [ (getAttr "named-readtables" pkgs) ];
+  };
+  trivial-escapes-test = {
+    pname = "trivial-escapes-test";
+    version = "20180228-git";
+    asds = [ "trivial-escapes-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-escapes/2018-02-28/trivial-escapes-20180228-git.tgz";
+      sha256 = "0v6h8lk17iqv1qkxgqjyzn8gi6v0hvq2vmfbb01md3zjvjqxn6lr";
+      system = "trivial-escapes-test";
+      asd = "trivial-escapes-test";
+    });
+    systems = [ "trivial-escapes-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-escapes" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  trivial-exe = {
+    pname = "trivial-exe";
+    version = "20151218-git";
+    asds = [ "trivial-exe" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-exe/2015-12-18/trivial-exe-20151218-git.tgz";
+      sha256 = "1ryn7gh3n057czj3hwq6lx7h25ipfjxsvddywpm2ngfdwywaqzvc";
+      system = "trivial-exe";
+      asd = "trivial-exe";
+    });
+    systems = [ "trivial-exe" ];
+    lispLibs = [ (getAttr "osicat" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  trivial-exe-test = {
+    pname = "trivial-exe-test";
+    version = "20151218-git";
+    asds = [ "trivial-exe-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-exe/2015-12-18/trivial-exe-20151218-git.tgz";
+      sha256 = "1ryn7gh3n057czj3hwq6lx7h25ipfjxsvddywpm2ngfdwywaqzvc";
+      system = "trivial-exe-test";
+      asd = "trivial-exe-test";
+    });
+    systems = [ "trivial-exe-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-exe" pkgs) ];
+  };
+  trivial-extensible-sequences = {
+    pname = "trivial-extensible-sequences";
+    version = "20200325-git";
+    asds = [ "trivial-extensible-sequences" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-extensible-sequences/2020-03-25/trivial-extensible-sequences-20200325-git.tgz";
+      sha256 = "1sq9d37msnamakd306j11sib8w8hxsy4byqngn36wiipx6a394f4";
+      system = "trivial-extensible-sequences";
+      asd = "trivial-extensible-sequences";
+    });
+    systems = [ "trivial-extensible-sequences" ];
+    lispLibs = [  ];
+  };
+  trivial-extract = {
+    pname = "trivial-extract";
+    version = "20160421-git";
+    asds = [ "trivial-extract" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-extract/2016-04-21/trivial-extract-20160421-git.tgz";
+      sha256 = "0083x71f4x6b64wd8ywgaiqi0ygmdhl5rv101jcv44l3l61839sx";
+      system = "trivial-extract";
+      asd = "trivial-extract";
+    });
+    systems = [ "trivial-extract" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "archive" pkgs) (getAttr "cl-fad" pkgs) (getAttr "deflate" pkgs) (getAttr "uiop" pkgs) (getAttr "which" pkgs) (getAttr "zip" pkgs) ];
+  };
+  trivial-extract-test = {
+    pname = "trivial-extract-test";
+    version = "20160421-git";
+    asds = [ "trivial-extract-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-extract/2016-04-21/trivial-extract-20160421-git.tgz";
+      sha256 = "0083x71f4x6b64wd8ywgaiqi0ygmdhl5rv101jcv44l3l61839sx";
+      system = "trivial-extract-test";
+      asd = "trivial-extract-test";
+    });
+    systems = [ "trivial-extract-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-extract" pkgs) ];
+  };
+  trivial-features = {
+    pname = "trivial-features";
+    version = "20211209-git";
+    asds = [ "trivial-features" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-features/2021-12-09/trivial-features-20211209-git.tgz";
+      sha256 = "0v3kvkz91zmc1y71xg0w08dwljrjngv375m14rypxi65ym1kabmk";
+      system = "trivial-features";
+      asd = "trivial-features";
+    });
+    systems = [ "trivial-features" ];
+    lispLibs = [  ];
+  };
+  trivial-features-tests = {
+    pname = "trivial-features-tests";
+    version = "20211209-git";
+    asds = [ "trivial-features-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-features/2021-12-09/trivial-features-20211209-git.tgz";
+      sha256 = "0v3kvkz91zmc1y71xg0w08dwljrjngv375m14rypxi65ym1kabmk";
+      system = "trivial-features-tests";
+      asd = "trivial-features-tests";
+    });
+    systems = [ "trivial-features-tests" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "rt" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  trivial-file-size = {
+    pname = "trivial-file-size";
+    version = "20200427-git";
+    asds = [ "trivial-file-size" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-file-size/2020-04-27/trivial-file-size-20200427-git.tgz";
+      sha256 = "1b9d0bfl5s48i43m14frkhd5jhjvqlr4m4cgjh26f2kbqxnibhi3";
+      system = "trivial-file-size";
+      asd = "trivial-file-size";
+    });
+    systems = [ "trivial-file-size" ];
+    lispLibs = [ (getAttr "uiop" pkgs) ];
+  };
+  trivial-file-size_slash_tests = {
+    pname = "trivial-file-size_tests";
+    version = "20200427-git";
+    asds = [ "trivial-file-size" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-file-size/2020-04-27/trivial-file-size-20200427-git.tgz";
+      sha256 = "1b9d0bfl5s48i43m14frkhd5jhjvqlr4m4cgjh26f2kbqxnibhi3";
+      system = "trivial-file-size";
+      asd = "trivial-file-size";
+    });
+    systems = [ "trivial-file-size/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-file-size" pkgs) ];
+  };
+  trivial-garbage = {
+    pname = "trivial-garbage";
+    version = "20211230-git";
+    asds = [ "trivial-garbage" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-garbage/2021-12-30/trivial-garbage-20211230-git.tgz";
+      sha256 = "1kmx5kdl4zfa8cfdjyi75z43fqzxvywavwg1s8fl5zxpflfdj8h8";
+      system = "trivial-garbage";
+      asd = "trivial-garbage";
+    });
+    systems = [ "trivial-garbage" ];
+    lispLibs = [  ];
+  };
+  trivial-garbage_slash_tests = {
+    pname = "trivial-garbage_tests";
+    version = "20211230-git";
+    asds = [ "trivial-garbage" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-garbage/2021-12-30/trivial-garbage-20211230-git.tgz";
+      sha256 = "1kmx5kdl4zfa8cfdjyi75z43fqzxvywavwg1s8fl5zxpflfdj8h8";
+      system = "trivial-garbage";
+      asd = "trivial-garbage";
+    });
+    systems = [ "trivial-garbage/tests" ];
+    lispLibs = [ (getAttr "rt" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  trivial-gray-streams = {
+    pname = "trivial-gray-streams";
+    version = "20210124-git";
+    asds = [ "trivial-gray-streams" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-gray-streams/2021-01-24/trivial-gray-streams-20210124-git.tgz";
+      sha256 = "1hipqwwd5ylskybd173rvlsk7ds4w4nq1cmh9952ivm6dgh7pwzn";
+      system = "trivial-gray-streams";
+      asd = "trivial-gray-streams";
+    });
+    systems = [ "trivial-gray-streams" ];
+    lispLibs = [  ];
+  };
+  trivial-gray-streams-test = {
+    pname = "trivial-gray-streams-test";
+    version = "20210124-git";
+    asds = [ "trivial-gray-streams-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-gray-streams/2021-01-24/trivial-gray-streams-20210124-git.tgz";
+      sha256 = "1hipqwwd5ylskybd173rvlsk7ds4w4nq1cmh9952ivm6dgh7pwzn";
+      system = "trivial-gray-streams-test";
+      asd = "trivial-gray-streams-test";
+    });
+    systems = [ "trivial-gray-streams-test" ];
+    lispLibs = [ (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  trivial-hashtable-serialize = {
+    pname = "trivial-hashtable-serialize";
+    version = "20191007-git";
+    asds = [ "trivial-hashtable-serialize" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-hashtable-serialize/2019-10-07/trivial-hashtable-serialize-20191007-git.tgz";
+      sha256 = "06xdci47h6rpfkmrf7p9kd217jbkmkmf90ygqcmkkgf3sv5623bh";
+      system = "trivial-hashtable-serialize";
+      asd = "trivial-hashtable-serialize";
+    });
+    systems = [ "trivial-hashtable-serialize" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) ];
+  };
+  trivial-http = {
+    pname = "trivial-http";
+    version = "20110219-http";
+    asds = [ "trivial-http" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-http/2011-02-19/trivial-http-20110219-http.tgz";
+      sha256 = "06mrh2bjzhfdzi48dnq0bhl2cac4v41aqck53rfm4rnsygcjsn78";
+      system = "trivial-http";
+      asd = "trivial-http";
+    });
+    systems = [ "trivial-http" ];
+    lispLibs = [ (getAttr "usocket" pkgs) ];
+  };
+  trivial-http-test = {
+    pname = "trivial-http-test";
+    version = "20110219-http";
+    asds = [ "trivial-http-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-http/2011-02-19/trivial-http-20110219-http.tgz";
+      sha256 = "06mrh2bjzhfdzi48dnq0bhl2cac4v41aqck53rfm4rnsygcjsn78";
+      system = "trivial-http-test";
+      asd = "trivial-http-test";
+    });
+    systems = [ "trivial-http-test" ];
+    lispLibs = [ (getAttr "lift" pkgs) (getAttr "trivial-http" pkgs) ];
+  };
+  trivial-indent = {
+    pname = "trivial-indent";
+    version = "20210531-git";
+    asds = [ "trivial-indent" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-indent/2021-05-31/trivial-indent-20210531-git.tgz";
+      sha256 = "0j8ip54v0w49hi8y3cd52r4ayy3fz8zqsm6jl88xwa6v3lh05rhv";
+      system = "trivial-indent";
+      asd = "trivial-indent";
+    });
+    systems = [ "trivial-indent" ];
+    lispLibs = [  ];
+  };
+  trivial-inspector-hook = {
+    pname = "trivial-inspector-hook";
+    version = "20210807-git";
+    asds = [ "trivial-inspector-hook" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-inspector-hook/2021-08-07/trivial-inspector-hook-20210807-git.tgz";
+      sha256 = "0h9m1ps5sqgrr171czj6rq84wpy2xvggfzspvy667xsldv4xi0c2";
+      system = "trivial-inspector-hook";
+      asd = "trivial-inspector-hook";
+    });
+    systems = [ "trivial-inspector-hook" ];
+    lispLibs = [  ];
+  };
+  trivial-irc = {
+    pname = "trivial-irc";
+    version = "20171019-git";
+    asds = [ "trivial-irc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-irc/2017-10-19/trivial-irc-20171019-git.tgz";
+      sha256 = "0jjgx6ld2gcr0w0g5k62dr0rl6202ydih6ylmypv6m5jmrarcbza";
+      system = "trivial-irc";
+      asd = "trivial-irc";
+    });
+    systems = [ "trivial-irc" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "split-sequence" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  trivial-irc-echobot = {
+    pname = "trivial-irc-echobot";
+    version = "20171019-git";
+    asds = [ "trivial-irc-echobot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-irc/2017-10-19/trivial-irc-20171019-git.tgz";
+      sha256 = "0jjgx6ld2gcr0w0g5k62dr0rl6202ydih6ylmypv6m5jmrarcbza";
+      system = "trivial-irc-echobot";
+      asd = "trivial-irc-echobot";
+    });
+    systems = [ "trivial-irc-echobot" ];
+    lispLibs = [ (getAttr "trivial-irc" pkgs) ];
+  };
+  trivial-json-codec = {
+    pname = "trivial-json-codec";
+    version = "20200325-git";
+    asds = [ "trivial-json-codec" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-json-codec/2020-03-25/trivial-json-codec-20200325-git.tgz";
+      sha256 = "1a7cv1in4aqv9y45aa1bd5w4j3y3wn60fcf8v8fys03i1akamhyf";
+      system = "trivial-json-codec";
+      asd = "trivial-json-codec";
+    });
+    systems = [ "trivial-json-codec" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "log4cl" pkgs) (getAttr "parse-number" pkgs) (getAttr "trivial-utilities" pkgs) ];
+  };
+  trivial-jumptables = {
+    pname = "trivial-jumptables";
+    version = "1.1";
+    asds = [ "trivial-jumptables" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-jumptables/2019-11-30/trivial-jumptables_1.1.tgz";
+      sha256 = "10ih84hkscj0l4ki3s196d9b85iil8f56ps5r8ng222i0lln1ni9";
+      system = "trivial-jumptables";
+      asd = "trivial-jumptables";
+    });
+    systems = [ "trivial-jumptables" ];
+    lispLibs = [  ];
+  };
+  trivial-jumptables_tests = {
+    pname = "trivial-jumptables_tests";
+    version = "1.1";
+    asds = [ "trivial-jumptables_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-jumptables/2019-11-30/trivial-jumptables_1.1.tgz";
+      sha256 = "10ih84hkscj0l4ki3s196d9b85iil8f56ps5r8ng222i0lln1ni9";
+      system = "trivial-jumptables_tests";
+      asd = "trivial-jumptables_tests";
+    });
+    systems = [ "trivial-jumptables_tests" ];
+    lispLibs = [ (getAttr "bubble-operator-upwards" pkgs) (getAttr "parachute" pkgs) (getAttr "trivial-jumptables" pkgs) ];
+  };
+  trivial-lazy = {
+    pname = "trivial-lazy";
+    version = "20150709-git";
+    asds = [ "trivial-lazy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-lazy/2015-07-09/trivial-lazy-20150709-git.tgz";
+      sha256 = "0fnsz2kdb0v5cz4xl5a2c1szcif7jmnkxhbzvk6lrhzjccgyhjc7";
+      system = "trivial-lazy";
+      asd = "trivial-lazy";
+    });
+    systems = [ "trivial-lazy" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) ];
+  };
+  trivial-ldap = {
+    pname = "trivial-ldap";
+    version = "20180711-git";
+    asds = [ "trivial-ldap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-ldap/2018-07-11/trivial-ldap-20180711-git.tgz";
+      sha256 = "1zaa4wnk5y5ff211pkg6dl27j4pjwh56hq0246slxsdxv6kvp1z9";
+      system = "trivial-ldap";
+      asd = "trivial-ldap";
+    });
+    systems = [ "trivial-ldap" ];
+    lispLibs = [ (getAttr "cl_plus_ssl" pkgs) (getAttr "yacc" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  trivial-left-pad = {
+    pname = "trivial-left-pad";
+    version = "20190813-git";
+    asds = [ "trivial-left-pad" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-left-pad/2019-08-13/trivial-left-pad-20190813-git.tgz";
+      sha256 = "0q68j0x0x3z8rl577jsl3y0s3x5xiqv54sla6kds43q7821qfnwk";
+      system = "trivial-left-pad";
+      asd = "trivial-left-pad";
+    });
+    systems = [ "trivial-left-pad" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "prove-asdf" pkgs) ];
+  };
+  trivial-left-pad-test = {
+    pname = "trivial-left-pad-test";
+    version = "20190813-git";
+    asds = [ "trivial-left-pad-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-left-pad/2019-08-13/trivial-left-pad-20190813-git.tgz";
+      sha256 = "0q68j0x0x3z8rl577jsl3y0s3x5xiqv54sla6kds43q7821qfnwk";
+      system = "trivial-left-pad-test";
+      asd = "trivial-left-pad";
+    });
+    systems = [ "trivial-left-pad-test" ];
+    lispLibs = [ (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "trivial-left-pad" pkgs) ];
+  };
+  trivial-macroexpand-all = {
+    pname = "trivial-macroexpand-all";
+    version = "20171023-git";
+    asds = [ "trivial-macroexpand-all" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-macroexpand-all/2017-10-23/trivial-macroexpand-all-20171023-git.tgz";
+      sha256 = "191hnn4b5j4i3crydmlzbm231kj0h7l8zj6mzj69r1npbzkas4bd";
+      system = "trivial-macroexpand-all";
+      asd = "trivial-macroexpand-all";
+    });
+    systems = [ "trivial-macroexpand-all" ];
+    lispLibs = [  ];
+  };
+  trivial-main-thread = {
+    pname = "trivial-main-thread";
+    version = "20190710-git";
+    asds = [ "trivial-main-thread" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-main-thread/2019-07-10/trivial-main-thread-20190710-git.tgz";
+      sha256 = "0bw1887i7396lqg75qvmgjfzz4xbiq9w5dp8wxdgrcsm0qwlraw7";
+      system = "trivial-main-thread";
+      asd = "trivial-main-thread";
+    });
+    systems = [ "trivial-main-thread" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "simple-tasks" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  trivial-method-combinations = {
+    pname = "trivial-method-combinations";
+    version = "20191130-git";
+    asds = [ "trivial-method-combinations" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-method-combinations/2019-11-30/trivial-method-combinations-20191130-git.tgz";
+      sha256 = "0w9w8bj835sfp797rdm7b5crpnz0xrz2q5vgbzm2p9n9jskxnxnv";
+      system = "trivial-method-combinations";
+      asd = "trivial-method-combinations";
+    });
+    systems = [ "trivial-method-combinations" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) ];
+  };
+  trivial-mimes = {
+    pname = "trivial-mimes";
+    version = "20200715-git";
+    asds = [ "trivial-mimes" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-mimes/2020-07-15/trivial-mimes-20200715-git.tgz";
+      sha256 = "00kcm17q5plpzdj1qwg83ldhxksilgpcdkf3m9azxcdr968xs9di";
+      system = "trivial-mimes";
+      asd = "trivial-mimes";
+    });
+    systems = [ "trivial-mimes" ];
+    lispLibs = [  ];
+  };
+  trivial-mmap = {
+    pname = "trivial-mmap";
+    version = "20210124-git";
+    asds = [ "trivial-mmap" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-mmap/2021-01-24/trivial-mmap-20210124-git.tgz";
+      sha256 = "1ckhd7b0ll9xcmwdh42g0v38grk2acs3kv66k1gwh539f99kzcps";
+      system = "trivial-mmap";
+      asd = "trivial-mmap";
+    });
+    systems = [ "trivial-mmap" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "osicat" pkgs) ];
+  };
+  trivial-monitored-thread = {
+    pname = "trivial-monitored-thread";
+    version = "20200325-git";
+    asds = [ "trivial-monitored-thread" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-monitored-thread/2020-03-25/trivial-monitored-thread-20200325-git.tgz";
+      sha256 = "1ipnp2l944hc587bifxsnmiymw468imar0v8bqvgxv8pc5sym4ib";
+      system = "trivial-monitored-thread";
+      asd = "trivial-monitored-thread";
+    });
+    systems = [ "trivial-monitored-thread" ];
+    lispLibs = [ (getAttr "iterate" pkgs) (getAttr "log4cl" pkgs) (getAttr "trivial-utilities" pkgs) ];
+  };
+  trivial-monitored-thread_slash_test = {
+    pname = "trivial-monitored-thread_test";
+    version = "20200325-git";
+    asds = [ "trivial-monitored-thread" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-monitored-thread/2020-03-25/trivial-monitored-thread-20200325-git.tgz";
+      sha256 = "1ipnp2l944hc587bifxsnmiymw468imar0v8bqvgxv8pc5sym4ib";
+      system = "trivial-monitored-thread";
+      asd = "trivial-monitored-thread";
+    });
+    systems = [ "trivial-monitored-thread/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-monitored-thread" pkgs) ];
+  };
+  trivial-msi = {
+    pname = "trivial-msi";
+    version = "20160208-git";
+    asds = [ "trivial-msi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-msi/2016-02-08/trivial-msi-20160208-git.tgz";
+      sha256 = "1mbpwnsvv30gf7z8m96kv8933s6csg4q0frx03vazp4ckplwff8w";
+      system = "trivial-msi";
+      asd = "trivial-msi";
+    });
+    systems = [ "trivial-msi" ];
+    lispLibs = [ (getAttr "uiop" pkgs) ];
+  };
+  trivial-msi-test = {
+    pname = "trivial-msi-test";
+    version = "20160208-git";
+    asds = [ "trivial-msi-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-msi/2016-02-08/trivial-msi-20160208-git.tgz";
+      sha256 = "1mbpwnsvv30gf7z8m96kv8933s6csg4q0frx03vazp4ckplwff8w";
+      system = "trivial-msi-test";
+      asd = "trivial-msi-test";
+    });
+    systems = [ "trivial-msi-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-msi" pkgs) ];
+  };
+  trivial-nntp = {
+    pname = "trivial-nntp";
+    version = "20161204-git";
+    asds = [ "trivial-nntp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-nntp/2016-12-04/trivial-nntp-20161204-git.tgz";
+      sha256 = "0ywwrjx4vaz117zaxqhk2b4xrb75cw1ac5xir9zhvgzkyl6wf867";
+      system = "trivial-nntp";
+      asd = "trivial-nntp";
+    });
+    systems = [ "trivial-nntp" ];
+    lispLibs = [ (getAttr "cl_plus_ssl" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  trivial-object-lock = {
+    pname = "trivial-object-lock";
+    version = "20191007-git";
+    asds = [ "trivial-object-lock" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-object-lock/2019-10-07/trivial-object-lock-20191007-git.tgz";
+      sha256 = "0ms4rlgc84hz34kqjayf8yd8n0hg8q7mrr1zcl1amma2gr81ys3g";
+      system = "trivial-object-lock";
+      asd = "trivial-object-lock";
+    });
+    systems = [ "trivial-object-lock" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "iterate" pkgs) (getAttr "log4cl" pkgs) (getAttr "trivial-utilities" pkgs) ];
+  };
+  trivial-object-lock_slash_test = {
+    pname = "trivial-object-lock_test";
+    version = "20191007-git";
+    asds = [ "trivial-object-lock" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-object-lock/2019-10-07/trivial-object-lock-20191007-git.tgz";
+      sha256 = "0ms4rlgc84hz34kqjayf8yd8n0hg8q7mrr1zcl1amma2gr81ys3g";
+      system = "trivial-object-lock";
+      asd = "trivial-object-lock";
+    });
+    systems = [ "trivial-object-lock/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-object-lock" pkgs) ];
+  };
+  trivial-octet-streams = {
+    pname = "trivial-octet-streams";
+    version = "20130128-git";
+    asds = [ "trivial-octet-streams" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-octet-streams/2013-01-28/trivial-octet-streams-20130128-git.tgz";
+      sha256 = "0ysnsarlzynb7jf4b63b6kkxjancxc66jwmn0sb3vxyh87siiv6n";
+      system = "trivial-octet-streams";
+      asd = "trivial-octet-streams";
+    });
+    systems = [ "trivial-octet-streams" ];
+    lispLibs = [  ];
+  };
+  trivial-open-browser = {
+    pname = "trivial-open-browser";
+    version = "20160825-git";
+    asds = [ "trivial-open-browser" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-open-browser/2016-08-25/trivial-open-browser-20160825-git.tgz";
+      sha256 = "0ixay1piq420i6adx642qhw45l6ik7rvgk52lyz27dvx5f8yqsdb";
+      system = "trivial-open-browser";
+      asd = "trivial-open-browser";
+    });
+    systems = [ "trivial-open-browser" ];
+    lispLibs = [ (getAttr "uiop" pkgs) ];
+  };
+  trivial-openstack = {
+    pname = "trivial-openstack";
+    version = "20160628-git";
+    asds = [ "trivial-openstack" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-openstack/2016-06-28/trivial-openstack-20160628-git.tgz";
+      sha256 = "0sdc6rhjqv1i7wknn44jg5xxnz70087bhfslh0izggny9d9s015i";
+      system = "trivial-openstack";
+      asd = "trivial-openstack";
+    });
+    systems = [ "trivial-openstack" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "drakma" pkgs) (getAttr "local-time" pkgs) (getAttr "st-json" pkgs) ];
+  };
+  trivial-openstack-test = {
+    pname = "trivial-openstack-test";
+    version = "20160628-git";
+    asds = [ "trivial-openstack-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-openstack/2016-06-28/trivial-openstack-20160628-git.tgz";
+      sha256 = "0sdc6rhjqv1i7wknn44jg5xxnz70087bhfslh0izggny9d9s015i";
+      system = "trivial-openstack-test";
+      asd = "trivial-openstack-test";
+    });
+    systems = [ "trivial-openstack-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "local-time" pkgs) (getAttr "st-json" pkgs) (getAttr "trivial-openstack" pkgs) (getAttr "uri-template" pkgs) ];
+  };
+  trivial-package-local-nicknames = {
+    pname = "trivial-package-local-nicknames";
+    version = "20200610-git";
+    asds = [ "trivial-package-local-nicknames" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-package-local-nicknames/2020-06-10/trivial-package-local-nicknames-20200610-git.tgz";
+      sha256 = "0ygkd7agl003y9vdzir1ksmi1aps4chvzwhbfvz7agn5c07g8h98";
+      system = "trivial-package-local-nicknames";
+      asd = "trivial-package-local-nicknames";
+    });
+    systems = [ "trivial-package-local-nicknames" ];
+    lispLibs = [  ];
+  };
+  trivial-package-locks = {
+    pname = "trivial-package-locks";
+    version = "20211230-git";
+    asds = [ "trivial-package-locks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-package-locks/2021-12-30/trivial-package-locks-20211230-git.tgz";
+      sha256 = "15wnz095mc4hvgrb5dipdvlkm3gl17f3ip333c61cn00f5lc4pq6";
+      system = "trivial-package-locks";
+      asd = "trivial-package-locks";
+    });
+    systems = [ "trivial-package-locks" ];
+    lispLibs = [  ];
+  };
+  trivial-package-locks_slash_test = {
+    pname = "trivial-package-locks_test";
+    version = "20211230-git";
+    asds = [ "trivial-package-locks" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-package-locks/2021-12-30/trivial-package-locks-20211230-git.tgz";
+      sha256 = "15wnz095mc4hvgrb5dipdvlkm3gl17f3ip333c61cn00f5lc4pq6";
+      system = "trivial-package-locks";
+      asd = "trivial-package-locks";
+    });
+    systems = [ "trivial-package-locks/test" ];
+    lispLibs = [ (getAttr "parachute" pkgs) (getAttr "trivial-package-locks" pkgs) ];
+  };
+  trivial-package-manager = {
+    pname = "trivial-package-manager";
+    version = "20171227-git";
+    asds = [ "trivial-package-manager" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-package-manager/2017-12-27/trivial-package-manager-20171227-git.tgz";
+      sha256 = "0v61x4wzamilnjyq35ki46zl9443fslv9slwqwlazfknnbp3vcq8";
+      system = "trivial-package-manager";
+      asd = "trivial-package-manager";
+    });
+    systems = [ "trivial-package-manager" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-open-browser" pkgs) ];
+  };
+  trivial-package-manager_dot_test = {
+    pname = "trivial-package-manager.test";
+    version = "20171227-git";
+    asds = [ "trivial-package-manager.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-package-manager/2017-12-27/trivial-package-manager-20171227-git.tgz";
+      sha256 = "0v61x4wzamilnjyq35ki46zl9443fslv9slwqwlazfknnbp3vcq8";
+      system = "trivial-package-manager.test";
+      asd = "trivial-package-manager.test";
+    });
+    systems = [ "trivial-package-manager.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-package-manager" pkgs) ];
+  };
+  trivial-pooled-database = {
+    pname = "trivial-pooled-database";
+    version = "20201220-git";
+    asds = [ "trivial-pooled-database" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-pooled-database/2020-12-20/trivial-pooled-database-20201220-git.tgz";
+      sha256 = "0a7c8bjl13k37b83lksklcw9sch570wgqv58cgs0dw9jcmsihqmx";
+      system = "trivial-pooled-database";
+      asd = "trivial-pooled-database";
+    });
+    systems = [ "trivial-pooled-database" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-dbi" pkgs) (getAttr "iterate" pkgs) (getAttr "log4cl" pkgs) (getAttr "parse-number" pkgs) (getAttr "trivial-object-lock" pkgs) (getAttr "trivial-utilities" pkgs) ];
+  };
+  trivial-project = {
+    pname = "trivial-project";
+    version = "quicklisp-9e3fe231-git";
+    asds = [ "trivial-project" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-project/2017-08-30/trivial-project-quicklisp-9e3fe231-git.tgz";
+      sha256 = "1s5h0fgs0rq00j492xln716w9i52v90rnfcr0idjzyimicx7hk22";
+      system = "trivial-project";
+      asd = "trivial-project";
+    });
+    systems = [ "trivial-project" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  trivial-raw-io = {
+    pname = "trivial-raw-io";
+    version = "20141217-git";
+    asds = [ "trivial-raw-io" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-raw-io/2014-12-17/trivial-raw-io-20141217-git.tgz";
+      sha256 = "19290zw2b64k78wr62gv30pp7cmqg07q85vfwjknaffjdd73xwi1";
+      system = "trivial-raw-io";
+      asd = "trivial-raw-io";
+    });
+    systems = [ "trivial-raw-io" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  trivial-renamer = {
+    pname = "trivial-renamer";
+    version = "quicklisp-1282597d-git";
+    asds = [ "trivial-renamer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-renamer/2017-08-30/trivial-renamer-quicklisp-1282597d-git.tgz";
+      sha256 = "1nlgsayx4iw6gskg0d5vc823p0lmh414k9jiccvcsk1r17684mp8";
+      system = "trivial-renamer";
+      asd = "trivial-renamer";
+    });
+    systems = [ "trivial-renamer" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  trivial-rfc-1123 = {
+    pname = "trivial-rfc-1123";
+    version = "20170124-git";
+    asds = [ "trivial-rfc-1123" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-rfc-1123/2017-01-24/trivial-rfc-1123-20170124-git.tgz";
+      sha256 = "0xm5a95xkfbpm5ndndk7ah1nnx2y22l6dx0i29pikxf7vhvncydy";
+      system = "trivial-rfc-1123";
+      asd = "trivial-rfc-1123";
+    });
+    systems = [ "trivial-rfc-1123" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) ];
+  };
+  trivial-shell = {
+    pname = "trivial-shell";
+    version = "20180228-git";
+    asds = [ "trivial-shell" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-shell/2018-02-28/trivial-shell-20180228-git.tgz";
+      sha256 = "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85";
+      system = "trivial-shell";
+      asd = "trivial-shell";
+    });
+    systems = [ "trivial-shell" ];
+    lispLibs = [  ];
+  };
+  trivial-shell-test = {
+    pname = "trivial-shell-test";
+    version = "20180228-git";
+    asds = [ "trivial-shell-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-shell/2018-02-28/trivial-shell-20180228-git.tgz";
+      sha256 = "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85";
+      system = "trivial-shell-test";
+      asd = "trivial-shell-test";
+    });
+    systems = [ "trivial-shell-test" ];
+    lispLibs = [ (getAttr "lift" pkgs) (getAttr "trivial-shell" pkgs) ];
+  };
+  trivial-signal = {
+    pname = "trivial-signal";
+    version = "20190710-git";
+    asds = [ "trivial-signal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-signal/2019-07-10/trivial-signal-20190710-git.tgz";
+      sha256 = "13rh1jwh786xg235rkgqbdqga4b9jwn99zlxm0wr73rs2a5ga8ad";
+      system = "trivial-signal";
+      asd = "trivial-signal";
+    });
+    systems = [ "trivial-signal" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  trivial-sockets = {
+    pname = "trivial-sockets";
+    version = "20190107-git";
+    asds = [ "trivial-sockets" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-sockets/2019-01-07/trivial-sockets-20190107-git.tgz";
+      sha256 = "0xj9x5z3psxqap9c29qz1xswx5fiqxyzd35kmbw2g6z08cgb7nd0";
+      system = "trivial-sockets";
+      asd = "trivial-sockets";
+    });
+    systems = [ "trivial-sockets" ];
+    lispLibs = [  ];
+  };
+  trivial-ssh = {
+    pname = "trivial-ssh";
+    version = "20191130-git";
+    asds = [ "trivial-ssh" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-ssh/2019-11-30/trivial-ssh-20191130-git.tgz";
+      sha256 = "1hjd8bhbymq4s2jglid5i9m2b19cnf6c793gvkh6mawcjd37vjmb";
+      system = "trivial-ssh";
+      asd = "trivial-ssh";
+    });
+    systems = [ "trivial-ssh" ];
+    lispLibs = [ (getAttr "trivial-ssh-libssh2" pkgs) ];
+  };
+  trivial-ssh-libssh2 = {
+    pname = "trivial-ssh-libssh2";
+    version = "20191130-git";
+    asds = [ "trivial-ssh-libssh2" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-ssh/2019-11-30/trivial-ssh-20191130-git.tgz";
+      sha256 = "1hjd8bhbymq4s2jglid5i9m2b19cnf6c793gvkh6mawcjd37vjmb";
+      system = "trivial-ssh-libssh2";
+      asd = "trivial-ssh-libssh2";
+    });
+    systems = [ "trivial-ssh-libssh2" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cl-fad" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  trivial-ssh-test = {
+    pname = "trivial-ssh-test";
+    version = "20191130-git";
+    asds = [ "trivial-ssh-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-ssh/2019-11-30/trivial-ssh-20191130-git.tgz";
+      sha256 = "1hjd8bhbymq4s2jglid5i9m2b19cnf6c793gvkh6mawcjd37vjmb";
+      system = "trivial-ssh-test";
+      asd = "trivial-ssh-test";
+    });
+    systems = [ "trivial-ssh-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-ssh" pkgs) ];
+  };
+  trivial-string-template = {
+    pname = "trivial-string-template";
+    version = "20201220-git";
+    asds = [ "trivial-string-template" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-string-template/2020-12-20/trivial-string-template-20201220-git.tgz";
+      sha256 = "1g3hm2xkskzq3dgygxbny0f5wqcyv8f7wkdh473jkya9lq7c3jph";
+      system = "trivial-string-template";
+      asd = "trivial-string-template";
+    });
+    systems = [ "trivial-string-template" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "proc-parse" pkgs) ];
+  };
+  trivial-string-template-test = {
+    pname = "trivial-string-template-test";
+    version = "20201220-git";
+    asds = [ "trivial-string-template-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-string-template/2020-12-20/trivial-string-template-20201220-git.tgz";
+      sha256 = "1g3hm2xkskzq3dgygxbny0f5wqcyv8f7wkdh473jkya9lq7c3jph";
+      system = "trivial-string-template-test";
+      asd = "trivial-string-template-test";
+    });
+    systems = [ "trivial-string-template-test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "trivial-string-template" pkgs) ];
+  };
+  trivial-tco = {
+    pname = "trivial-tco";
+    version = "20131003-git";
+    asds = [ "trivial-tco" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-tco/2013-10-03/trivial-tco-20131003-git.tgz";
+      sha256 = "0j6mkchrk6bzkpdkrahagip9lxxr8rx3qj4547wg8bdqr7mm2nmi";
+      system = "trivial-tco";
+      asd = "trivial-tco";
+    });
+    systems = [ "trivial-tco" ];
+    lispLibs = [  ];
+  };
+  trivial-tco-test = {
+    pname = "trivial-tco-test";
+    version = "20131003-git";
+    asds = [ "trivial-tco-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-tco/2013-10-03/trivial-tco-20131003-git.tgz";
+      sha256 = "0j6mkchrk6bzkpdkrahagip9lxxr8rx3qj4547wg8bdqr7mm2nmi";
+      system = "trivial-tco-test";
+      asd = "trivial-tco-test";
+    });
+    systems = [ "trivial-tco-test" ];
+    lispLibs = [ (getAttr "clunit" pkgs) (getAttr "trivial-tco" pkgs) ];
+  };
+  trivial-thumbnail = {
+    pname = "trivial-thumbnail";
+    version = "20190710-git";
+    asds = [ "trivial-thumbnail" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-thumbnail/2019-07-10/trivial-thumbnail-20190710-git.tgz";
+      sha256 = "0d1jdfab1wrc3xfzhdbq7bgjwc78qb6gs1llyjsj4cq04yhlc57a";
+      system = "trivial-thumbnail";
+      asd = "trivial-thumbnail";
+    });
+    systems = [ "trivial-thumbnail" ];
+    lispLibs = [ (getAttr "uiop" pkgs) ];
+  };
+  trivial-timeout = {
+    pname = "trivial-timeout";
+    version = "20211209-git";
+    asds = [ "trivial-timeout" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-timeout/2021-12-09/trivial-timeout-20211209-git.tgz";
+      sha256 = "0nzsb4pbk1ia49v50dmbsdc6svmiy1k9zqr9ri1nkfy01zhdvg07";
+      system = "trivial-timeout";
+      asd = "trivial-timeout";
+    });
+    systems = [ "trivial-timeout" ];
+    lispLibs = [  ];
+  };
+  trivial-timer = {
+    pname = "trivial-timer";
+    version = "20210531-git";
+    asds = [ "trivial-timer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-timer/2021-05-31/trivial-timer-20210531-git.tgz";
+      sha256 = "1b8pnw613h1dngzmv3qglmfrl1jdjbxrsbqnh7rfdj0lnv43h1il";
+      system = "trivial-timer";
+      asd = "trivial-timer";
+    });
+    systems = [ "trivial-timer" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "chanl" pkgs) (getAttr "iterate" pkgs) (getAttr "log4cl" pkgs) (getAttr "trivial-utilities" pkgs) ];
+  };
+  trivial-timer_slash_test = {
+    pname = "trivial-timer_test";
+    version = "20210531-git";
+    asds = [ "trivial-timer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-timer/2021-05-31/trivial-timer-20210531-git.tgz";
+      sha256 = "1b8pnw613h1dngzmv3qglmfrl1jdjbxrsbqnh7rfdj0lnv43h1il";
+      system = "trivial-timer";
+      asd = "trivial-timer";
+    });
+    systems = [ "trivial-timer/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-timer" pkgs) ];
+  };
+  trivial-timers = {
+    pname = "trivial-timers";
+    version = "20101006-http";
+    asds = [ "trivial-timers" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-timers/2010-10-06/trivial-timers-20101006-http.tgz";
+      sha256 = "0nxr0wb9n2jh6k3cj9ddx2hvgvr4bqb8k587cmj6pjsaa62344mb";
+      system = "trivial-timers";
+      asd = "trivial-timers";
+    });
+    systems = [ "trivial-timers" ];
+    lispLibs = [  ];
+  };
+  trivial-types = {
+    pname = "trivial-types";
+    version = "20120407-git";
+    asds = [ "trivial-types" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-types/2012-04-07/trivial-types-20120407-git.tgz";
+      sha256 = "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341";
+      system = "trivial-types";
+      asd = "trivial-types";
+    });
+    systems = [ "trivial-types" ];
+    lispLibs = [  ];
+  };
+  trivial-update = {
+    pname = "trivial-update";
+    version = "20180131-git";
+    asds = [ "trivial-update" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-update/2018-01-31/trivial-update-20180131-git.tgz";
+      sha256 = "0dpijh9alljk0jmnkp37hfliylscs7xwvlmjkfshizmyh0qjjxir";
+      system = "trivial-update";
+      asd = "trivial-update";
+    });
+    systems = [ "trivial-update" ];
+    lispLibs = [  ];
+  };
+  trivial-utf-8 = {
+    pname = "trivial-utf-8";
+    version = "20211209-git";
+    asds = [ "trivial-utf-8" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-utf-8/2021-12-09/trivial-utf-8-20211209-git.tgz";
+      sha256 = "1wb8r8bqn33qslwrhch9wxx1n2nvlvv3ncnyl29w3g0xn9sjhdsg";
+      system = "trivial-utf-8";
+      asd = "trivial-utf-8";
+    });
+    systems = [ "trivial-utf-8" ];
+    lispLibs = [  ];
+  };
+  trivial-utf-8_slash_doc = {
+    pname = "trivial-utf-8_doc";
+    version = "20211209-git";
+    asds = [ "trivial-utf-8" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-utf-8/2021-12-09/trivial-utf-8-20211209-git.tgz";
+      sha256 = "1wb8r8bqn33qslwrhch9wxx1n2nvlvv3ncnyl29w3g0xn9sjhdsg";
+      system = "trivial-utf-8";
+      asd = "trivial-utf-8";
+    });
+    systems = [ "trivial-utf-8/doc" ];
+    lispLibs = [ (getAttr "mgl-pax" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  trivial-utf-8_slash_tests = {
+    pname = "trivial-utf-8_tests";
+    version = "20211209-git";
+    asds = [ "trivial-utf-8" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-utf-8/2021-12-09/trivial-utf-8-20211209-git.tgz";
+      sha256 = "1wb8r8bqn33qslwrhch9wxx1n2nvlvv3ncnyl29w3g0xn9sjhdsg";
+      system = "trivial-utf-8";
+      asd = "trivial-utf-8";
+    });
+    systems = [ "trivial-utf-8/tests" ];
+    lispLibs = [ (getAttr "trivial-utf-8" pkgs) ];
+  };
+  trivial-utilities = {
+    pname = "trivial-utilities";
+    version = "20200218-git";
+    asds = [ "trivial-utilities" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-utilities/2020-02-18/trivial-utilities-20200218-git.tgz";
+      sha256 = "1y74c1a4akwhz31l1yn15nh7sc6yh48rblqihw819v7brqi908gs";
+      system = "trivial-utilities";
+      asd = "trivial-utilities";
+    });
+    systems = [ "trivial-utilities" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  trivial-variable-bindings = {
+    pname = "trivial-variable-bindings";
+    version = "20191007-git";
+    asds = [ "trivial-variable-bindings" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-variable-bindings/2019-10-07/trivial-variable-bindings-20191007-git.tgz";
+      sha256 = "08lx5m1bspxsnv572zma1hxk3yfyk9fkmi5cvcr5riannyimdqgy";
+      system = "trivial-variable-bindings";
+      asd = "trivial-variable-bindings";
+    });
+    systems = [ "trivial-variable-bindings" ];
+    lispLibs = [ (getAttr "iterate" pkgs) (getAttr "trivial-utilities" pkgs) ];
+  };
+  trivial-variable-bindings_slash_test = {
+    pname = "trivial-variable-bindings_test";
+    version = "20191007-git";
+    asds = [ "trivial-variable-bindings" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-variable-bindings/2019-10-07/trivial-variable-bindings-20191007-git.tgz";
+      sha256 = "08lx5m1bspxsnv572zma1hxk3yfyk9fkmi5cvcr5riannyimdqgy";
+      system = "trivial-variable-bindings";
+      asd = "trivial-variable-bindings";
+    });
+    systems = [ "trivial-variable-bindings/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivial-variable-bindings" pkgs) ];
+  };
+  trivial-wish = {
+    pname = "trivial-wish";
+    version = "quicklisp-910afeea-git";
+    asds = [ "trivial-wish" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-wish/2017-06-30/trivial-wish-quicklisp-910afeea-git.tgz";
+      sha256 = "1ydb9vsanrv6slbddhxc38pq5s88k0rzgqnwabw5cgc8cp5gqvyp";
+      system = "trivial-wish";
+      asd = "trivial-wish";
+    });
+    systems = [ "trivial-wish" ];
+    lispLibs = [  ];
+  };
+  trivial-with = {
+    pname = "trivial-with";
+    version = "quicklisp-2fd8ca54-git";
+    asds = [ "trivial-with" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-with/2017-08-30/trivial-with-quicklisp-2fd8ca54-git.tgz";
+      sha256 = "1h880j9k7piq6y5a6sywn1r43h439dd6vfymqvhgnbx458wy69sq";
+      system = "trivial-with";
+      asd = "trivial-with";
+    });
+    systems = [ "trivial-with" ];
+    lispLibs = [  ];
+  };
+  trivial-with-current-source-form = {
+    pname = "trivial-with-current-source-form";
+    version = "20211020-git";
+    asds = [ "trivial-with-current-source-form" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-with-current-source-form/2021-10-20/trivial-with-current-source-form-20211020-git.tgz";
+      sha256 = "1114iibrds8rvwn4zrqnmvm8mvbgdzbrka53dxs1q61ajv44x8i0";
+      system = "trivial-with-current-source-form";
+      asd = "trivial-with-current-source-form";
+    });
+    systems = [ "trivial-with-current-source-form" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  trivial-ws = {
+    pname = "trivial-ws";
+    version = "20180131-git";
+    asds = [ "trivial-ws" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-ws/2018-01-31/trivial-ws-20180131-git.tgz";
+      sha256 = "0qmsf0dhmyhjgqjzdgj2yb1nkrijwp4p1j411613i45xjc2zd6m7";
+      system = "trivial-ws";
+      asd = "trivial-ws";
+    });
+    systems = [ "trivial-ws" ];
+    lispLibs = [ (getAttr "hunchensocket" pkgs) ];
+  };
+  trivial-ws-client = {
+    pname = "trivial-ws-client";
+    version = "20180131-git";
+    asds = [ "trivial-ws-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-ws/2018-01-31/trivial-ws-20180131-git.tgz";
+      sha256 = "0qmsf0dhmyhjgqjzdgj2yb1nkrijwp4p1j411613i45xjc2zd6m7";
+      system = "trivial-ws-client";
+      asd = "trivial-ws-client";
+    });
+    systems = [ "trivial-ws-client" ];
+    lispLibs = [ (getAttr "cl-async" pkgs) (getAttr "websocket-driver" pkgs) ];
+  };
+  trivial-ws-test = {
+    pname = "trivial-ws-test";
+    version = "20180131-git";
+    asds = [ "trivial-ws-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-ws/2018-01-31/trivial-ws-20180131-git.tgz";
+      sha256 = "0qmsf0dhmyhjgqjzdgj2yb1nkrijwp4p1j411613i45xjc2zd6m7";
+      system = "trivial-ws-test";
+      asd = "trivial-ws-test";
+    });
+    systems = [ "trivial-ws-test" ];
+    lispLibs = [ (getAttr "find-port" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "trivial-ws" pkgs) (getAttr "trivial-ws-client" pkgs) ];
+  };
+  trivial-yenc = {
+    pname = "trivial-yenc";
+    version = "20161204-git";
+    asds = [ "trivial-yenc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivial-yenc/2016-12-04/trivial-yenc-20161204-git.tgz";
+      sha256 = "0jsqwixgikdinc1rq22c4dh9kgg6z0kvw9rh9sbssbmxv99sb5bf";
+      system = "trivial-yenc";
+      asd = "trivial-yenc";
+    });
+    systems = [ "trivial-yenc" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) ];
+  };
+  trivialib_dot_bdd = {
+    pname = "trivialib.bdd";
+    version = "20211209-git";
+    asds = [ "trivialib.bdd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivialib.bdd/2021-12-09/trivialib.bdd-20211209-git.tgz";
+      sha256 = "1iqpcihpm6glr0afi35z6qifj0ppl7s4h1k94fn6lqpv2js6lzbr";
+      system = "trivialib.bdd";
+      asd = "trivialib.bdd";
+    });
+    systems = [ "trivialib.bdd" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "immutable-struct" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  trivialib_dot_bdd_dot_test = {
+    pname = "trivialib.bdd.test";
+    version = "20211209-git";
+    asds = [ "trivialib.bdd.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivialib.bdd/2021-12-09/trivialib.bdd-20211209-git.tgz";
+      sha256 = "1iqpcihpm6glr0afi35z6qifj0ppl7s4h1k94fn6lqpv2js6lzbr";
+      system = "trivialib.bdd.test";
+      asd = "trivialib.bdd.test";
+    });
+    systems = [ "trivialib.bdd.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivialib_dot_bdd" pkgs) ];
+  };
+  trivialib_dot_type-unify = {
+    pname = "trivialib.type-unify";
+    version = "20200325-git";
+    asds = [ "trivialib.type-unify" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivialib.type-unify/2020-03-25/trivialib.type-unify-20200325-git.tgz";
+      sha256 = "0b5ck9ldn1w3imgpxyh164bypy28kvjzkwlcyyfsc0h1njnm5jmy";
+      system = "trivialib.type-unify";
+      asd = "trivialib.type-unify";
+    });
+    systems = [ "trivialib.type-unify" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "introspect-environment" pkgs) (getAttr "trivia" pkgs) (getAttr "type-r" pkgs) ];
+  };
+  trivialib_dot_type-unify_dot_test = {
+    pname = "trivialib.type-unify.test";
+    version = "20200325-git";
+    asds = [ "trivialib.type-unify.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trivialib.type-unify/2020-03-25/trivialib.type-unify-20200325-git.tgz";
+      sha256 = "0b5ck9ldn1w3imgpxyh164bypy28kvjzkwlcyyfsc0h1njnm5jmy";
+      system = "trivialib.type-unify.test";
+      asd = "trivialib.type-unify.test";
+    });
+    systems = [ "trivialib.type-unify.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "trivialib_dot_type-unify" pkgs) ];
+  };
+  trucler = {
+    pname = "trucler";
+    version = "20211230-git";
+    asds = [ "trucler" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trucler/2021-12-30/trucler-20211230-git.tgz";
+      sha256 = "0mlzacmv4myhrdng2449hw4qlbwr2gg2lp7z1hhk27v1wzpgsnkq";
+      system = "trucler";
+      asd = "trucler";
+    });
+    systems = [ "trucler" ];
+    lispLibs = [ (getAttr "trucler-base" pkgs) (getAttr "trucler-native" pkgs) ];
+  };
+  trucler-base = {
+    pname = "trucler-base";
+    version = "20211230-git";
+    asds = [ "trucler-base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trucler/2021-12-30/trucler-20211230-git.tgz";
+      sha256 = "0mlzacmv4myhrdng2449hw4qlbwr2gg2lp7z1hhk27v1wzpgsnkq";
+      system = "trucler-base";
+      asd = "trucler-base";
+    });
+    systems = [ "trucler-base" ];
+    lispLibs = [ (getAttr "acclimation" pkgs) ];
+  };
+  trucler-native = {
+    pname = "trucler-native";
+    version = "20211230-git";
+    asds = [ "trucler-native" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trucler/2021-12-30/trucler-20211230-git.tgz";
+      sha256 = "0mlzacmv4myhrdng2449hw4qlbwr2gg2lp7z1hhk27v1wzpgsnkq";
+      system = "trucler-native";
+      asd = "trucler-native";
+    });
+    systems = [ "trucler-native" ];
+    lispLibs = [ (getAttr "trucler-base" pkgs) ];
+  };
+  trucler-native-test = {
+    pname = "trucler-native-test";
+    version = "20211230-git";
+    asds = [ "trucler-native-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trucler/2021-12-30/trucler-20211230-git.tgz";
+      sha256 = "0mlzacmv4myhrdng2449hw4qlbwr2gg2lp7z1hhk27v1wzpgsnkq";
+      system = "trucler-native-test";
+      asd = "trucler-native-test";
+    });
+    systems = [ "trucler-native-test" ];
+    lispLibs = [ (getAttr "trucler-base" pkgs) (getAttr "trucler-native" pkgs) ];
+  };
+  trucler-reference = {
+    pname = "trucler-reference";
+    version = "20211230-git";
+    asds = [ "trucler-reference" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/trucler/2021-12-30/trucler-20211230-git.tgz";
+      sha256 = "0mlzacmv4myhrdng2449hw4qlbwr2gg2lp7z1hhk27v1wzpgsnkq";
+      system = "trucler-reference";
+      asd = "trucler-reference";
+    });
+    systems = [ "trucler-reference" ];
+    lispLibs = [ (getAttr "trucler-base" pkgs) ];
+  };
+  truetype-clx = {
+    pname = "truetype-clx";
+    version = "20200218-git";
+    asds = [ "truetype-clx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/truetype-clx/2020-02-18/truetype-clx-20200218-git.tgz";
+      sha256 = "1k46xa0nclj0mpd7khnlpam6q5hgnp23jixryhvv96gx47swhddr";
+      system = "truetype-clx";
+      asd = "truetype-clx";
+    });
+    systems = [ "truetype-clx" ];
+    lispLibs = [ (getAttr "cl-aa" pkgs) (getAttr "cl-paths-ttf" pkgs) (getAttr "cl-vectors" pkgs) (getAttr "zpb-ttf" pkgs) ];
+  };
+  ttt = {
+    pname = "ttt";
+    version = "20210411-git";
+    asds = [ "ttt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ttt/2021-04-11/ttt-20210411-git.tgz";
+      sha256 = "1w7vrfj171x4jyc91z74akrp2vmw2rxjngsxhv2ppwnadx1kpdf4";
+      system = "ttt";
+      asd = "ttt";
+    });
+    systems = [ "ttt" ];
+    lispLibs = [  ];
+  };
+  ttt_slash_tests = {
+    pname = "ttt_tests";
+    version = "20210411-git";
+    asds = [ "ttt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ttt/2021-04-11/ttt-20210411-git.tgz";
+      sha256 = "1w7vrfj171x4jyc91z74akrp2vmw2rxjngsxhv2ppwnadx1kpdf4";
+      system = "ttt";
+      asd = "ttt";
+    });
+    systems = [ "ttt/tests" ];
+    lispLibs = [ (getAttr "lisp-unit" pkgs) (getAttr "ttt" pkgs) ];
+  };
+  twfy = {
+    pname = "twfy";
+    version = "20130420-git";
+    asds = [ "twfy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/twfy/2013-04-20/twfy-20130420-git.tgz";
+      sha256 = "1srns5ayg7q8dzviizgm7j767dxbbyzh2ca8a5wdz3bc0qmwrsbs";
+      system = "twfy";
+      asd = "twfy";
+    });
+    systems = [ "twfy" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "drakma" pkgs) ];
+  };
+  twitter-mongodb-driver = {
+    pname = "twitter-mongodb-driver";
+    version = "20180228-git";
+    asds = [ "twitter-mongodb-driver" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-twitter/2018-02-28/cl-twitter-20180228-git.tgz";
+      sha256 = "07l86c63ssahpz3s9f7d99mbzmh60askkpdrhjrdbzd1vxlwkhcr";
+      system = "twitter-mongodb-driver";
+      asd = "twitter-mongodb-driver";
+    });
+    systems = [ "twitter-mongodb-driver" ];
+    lispLibs = [ (getAttr "cl-mongo" pkgs) (getAttr "cl-twitter" pkgs) ];
+  };
+  type-i = {
+    pname = "type-i";
+    version = "20191227-git";
+    asds = [ "type-i" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/type-i/2019-12-27/type-i-20191227-git.tgz";
+      sha256 = "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69";
+      system = "type-i";
+      asd = "type-i";
+    });
+    systems = [ "type-i" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "introspect-environment" pkgs) (getAttr "lisp-namespace" pkgs) (getAttr "trivia_dot_trivial" pkgs) ];
+  };
+  type-i_dot_test = {
+    pname = "type-i.test";
+    version = "20191227-git";
+    asds = [ "type-i.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/type-i/2019-12-27/type-i-20191227-git.tgz";
+      sha256 = "12wsga0pwjkkr176lnjwkmmlm3ccp0n310sjj9h20lk53iyd0z69";
+      system = "type-i.test";
+      asd = "type-i.test";
+    });
+    systems = [ "type-i.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "type-i" pkgs) ];
+  };
+  type-r = {
+    pname = "type-r";
+    version = "20191227-git";
+    asds = [ "type-r" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/type-r/2019-12-27/type-r-20191227-git.tgz";
+      sha256 = "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm";
+      system = "type-r";
+      asd = "type-r";
+    });
+    systems = [ "type-r" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  type-r_dot_test = {
+    pname = "type-r.test";
+    version = "20191227-git";
+    asds = [ "type-r.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/type-r/2019-12-27/type-r-20191227-git.tgz";
+      sha256 = "1arsxc2539rg8vbrdirz4xxj1b06mc6g6rqndz7a02g127qvk2sm";
+      system = "type-r.test";
+      asd = "type-r.test";
+    });
+    systems = [ "type-r.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "type-r" pkgs) ];
+  };
+  uax-14 = {
+    pname = "uax-14";
+    version = "20200925-git";
+    asds = [ "uax-14" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uax-14/2020-09-25/uax-14-20200925-git.tgz";
+      sha256 = "1sb2s58k01yjaggaq8i7kbyfsh6mzyqbiz1vm59smxn9qqwd8apm";
+      system = "uax-14";
+      asd = "uax-14";
+    });
+    systems = [ "uax-14" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  uax-14-test = {
+    pname = "uax-14-test";
+    version = "20200925-git";
+    asds = [ "uax-14-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uax-14/2020-09-25/uax-14-20200925-git.tgz";
+      sha256 = "1sb2s58k01yjaggaq8i7kbyfsh6mzyqbiz1vm59smxn9qqwd8apm";
+      system = "uax-14-test";
+      asd = "uax-14-test";
+    });
+    systems = [ "uax-14-test" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "parachute" pkgs) (getAttr "uax-14" pkgs) ];
+  };
+  uax-15 = {
+    pname = "uax-15";
+    version = "20211209-git";
+    asds = [ "uax-15" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uax-15/2021-12-09/uax-15-20211209-git.tgz";
+      sha256 = "0ci52l55qazy1azqib11mlzybhy14rrinwmcvzj7pr097wdxxihh";
+      system = "uax-15";
+      asd = "uax-15";
+    });
+    systems = [ "uax-15" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  uax-15_slash_tests = {
+    pname = "uax-15_tests";
+    version = "20211209-git";
+    asds = [ "uax-15" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uax-15/2021-12-09/uax-15-20211209-git.tgz";
+      sha256 = "0ci52l55qazy1azqib11mlzybhy14rrinwmcvzj7pr097wdxxihh";
+      system = "uax-15";
+      asd = "uax-15";
+    });
+    systems = [ "uax-15/tests" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "parachute" pkgs) (getAttr "split-sequence" pkgs) (getAttr "uax-15" pkgs) ];
+  };
+  uax-9 = {
+    pname = "uax-9";
+    version = "20191007-git";
+    asds = [ "uax-9" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uax-9/2019-10-07/uax-9-20191007-git.tgz";
+      sha256 = "0z9wfvrs5xpqw059igqdlhrvg1g87bvsxyvgwrx59dvr16v6f0h7";
+      system = "uax-9";
+      asd = "uax-9";
+    });
+    systems = [ "uax-9" ];
+    lispLibs = [ (getAttr "documentation-utils" pkgs) ];
+  };
+  uax-9-test = {
+    pname = "uax-9-test";
+    version = "20191007-git";
+    asds = [ "uax-9-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uax-9/2019-10-07/uax-9-20191007-git.tgz";
+      sha256 = "0z9wfvrs5xpqw059igqdlhrvg1g87bvsxyvgwrx59dvr16v6f0h7";
+      system = "uax-9-test";
+      asd = "uax-9-test";
+    });
+    systems = [ "uax-9-test" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "parachute" pkgs) (getAttr "uax-9" pkgs) ];
+  };
+  ubiquitous = {
+    pname = "ubiquitous";
+    version = "20190710-git";
+    asds = [ "ubiquitous" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ubiquitous/2019-07-10/ubiquitous-20190710-git.tgz";
+      sha256 = "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49";
+      system = "ubiquitous";
+      asd = "ubiquitous";
+    });
+    systems = [ "ubiquitous" ];
+    lispLibs = [  ];
+  };
+  ubiquitous-concurrent = {
+    pname = "ubiquitous-concurrent";
+    version = "20190710-git";
+    asds = [ "ubiquitous-concurrent" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ubiquitous/2019-07-10/ubiquitous-20190710-git.tgz";
+      sha256 = "1xlkaqmjcpkiv2xl2s2pvvrv976dlc846wm16s1lj62iy1315i49";
+      system = "ubiquitous-concurrent";
+      asd = "ubiquitous-concurrent";
+    });
+    systems = [ "ubiquitous-concurrent" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "ubiquitous" pkgs) ];
+  };
+  ucons = {
+    pname = "ucons";
+    version = "20210228-git";
+    asds = [ "ucons" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ucons/2021-02-28/ucons-20210228-git.tgz";
+      sha256 = "17aj47pdjiywnf33hl46p27za2q0pq5ar3fpqxaqskggxrfxmijl";
+      system = "ucons";
+      asd = "ucons";
+    });
+    systems = [ "ucons" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "atomics" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "named-readtables" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  ucw = {
+    pname = "ucw";
+    version = "20160208-darcs";
+    asds = [ "ucw" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz";
+      sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z";
+      system = "ucw";
+      asd = "ucw";
+    });
+    systems = [ "ucw" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "ucw-core" pkgs) ];
+  };
+  ucw-core = {
+    pname = "ucw-core";
+    version = "20160208-darcs";
+    asds = [ "ucw-core" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz";
+      sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z";
+      system = "ucw-core";
+      asd = "ucw-core";
+    });
+    systems = [ "ucw-core" ];
+    lispLibs = [ (getAttr "arnesi" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-fad" pkgs) (getAttr "closer-mop" pkgs) (getAttr "iterate" pkgs) (getAttr "local-time" pkgs) (getAttr "net-telent-date" pkgs) (getAttr "rfc2109" pkgs) (getAttr "swank" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "usocket" pkgs) (getAttr "yaclml" pkgs) ];
+  };
+  ucw-core_dot_test = {
+    pname = "ucw-core.test";
+    version = "20160208-darcs";
+    asds = [ "ucw-core.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz";
+      sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z";
+      system = "ucw-core.test";
+      asd = "ucw-core";
+    });
+    systems = [ "ucw-core.test" ];
+    lispLibs = [ (getAttr "arnesi" pkgs) (getAttr "cxml" pkgs) (getAttr "drakma" pkgs) (getAttr "iterate" pkgs) (getAttr "stefil" pkgs) (getAttr "ucw-core" pkgs) ];
+  };
+  ucw_dot_examples = {
+    pname = "ucw.examples";
+    version = "20160208-darcs";
+    asds = [ "ucw.examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz";
+      sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z";
+      system = "ucw.examples";
+      asd = "ucw";
+    });
+    systems = [ "ucw.examples" ];
+    lispLibs = [ (getAttr "ucw" pkgs) ];
+  };
+  ucw_dot_httpd = {
+    pname = "ucw.httpd";
+    version = "20160208-darcs";
+    asds = [ "ucw.httpd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz";
+      sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z";
+      system = "ucw.httpd";
+      asd = "ucw-core";
+    });
+    systems = [ "ucw.httpd" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "puri" pkgs) (getAttr "rfc2388-binary" pkgs) (getAttr "ucw-core" pkgs) ];
+  };
+  ucw_dot_manual-examples = {
+    pname = "ucw.manual-examples";
+    version = "20160208-darcs";
+    asds = [ "ucw.manual-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ucw/2016-02-08/ucw-20160208-darcs.tgz";
+      sha256 = "0wd7816zr53bw9z9a48cx1khj15d1jii5wzgqns1c5x70brgy89z";
+      system = "ucw.manual-examples";
+      asd = "ucw";
+    });
+    systems = [ "ucw.manual-examples" ];
+    lispLibs = [ (getAttr "ucw" pkgs) ];
+  };
+  uffi = {
+    pname = "uffi";
+    version = "20180228-git";
+    asds = [ "uffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uffi/2018-02-28/uffi-20180228-git.tgz";
+      sha256 = "0ywly04k8vir39ld7ids80yjn34y3y3mlpky1pr1fh9p8q412a85";
+      system = "uffi";
+      asd = "uffi";
+    });
+    systems = [ "uffi" ];
+    lispLibs = [  ];
+  };
+  uffi-tests = {
+    pname = "uffi-tests";
+    version = "20180228-git";
+    asds = [ "uffi-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uffi/2018-02-28/uffi-20180228-git.tgz";
+      sha256 = "0ywly04k8vir39ld7ids80yjn34y3y3mlpky1pr1fh9p8q412a85";
+      system = "uffi-tests";
+      asd = "uffi-tests";
+    });
+    systems = [ "uffi-tests" ];
+    lispLibs = [ (getAttr "uffi" pkgs) ];
+  };
+  ufo = {
+    pname = "ufo";
+    version = "20210807-git";
+    asds = [ "ufo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ufo/2021-08-07/ufo-20210807-git.tgz";
+      sha256 = "0bbq4pjnbmf1zpmh11jlriv0qnvrhw1xxnjj2y35gk75rr8rvizy";
+      system = "ufo";
+      asd = "ufo";
+    });
+    systems = [ "ufo" ];
+    lispLibs = [ (getAttr "uiop" pkgs) ];
+  };
+  ufo-test = {
+    pname = "ufo-test";
+    version = "20210807-git";
+    asds = [ "ufo-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ufo/2021-08-07/ufo-20210807-git.tgz";
+      sha256 = "0bbq4pjnbmf1zpmh11jlriv0qnvrhw1xxnjj2y35gk75rr8rvizy";
+      system = "ufo-test";
+      asd = "ufo-test";
+    });
+    systems = [ "ufo-test" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "ufo" pkgs) ];
+  };
+  ugly-tiny-infix-macro = {
+    pname = "ugly-tiny-infix-macro";
+    version = "20160825-git";
+    asds = [ "ugly-tiny-infix-macro" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ugly-tiny-infix-macro/2016-08-25/ugly-tiny-infix-macro-20160825-git.tgz";
+      sha256 = "15bbnr3kzy3p35skm6bkyyl5ck4d264am0zyjsix5k58d9fli3ii";
+      system = "ugly-tiny-infix-macro";
+      asd = "ugly-tiny-infix-macro";
+    });
+    systems = [ "ugly-tiny-infix-macro" ];
+    lispLibs = [  ];
+  };
+  uiop = {
+    pname = "uiop";
+    version = "3.3.5";
+    asds = [ "uiop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uiop/2021-08-07/uiop-3.3.5.tgz";
+      sha256 = "19d8jzhvvyi40wn0fj8496wzfwkjs1z2qjm6byw0693wgrm23yj0";
+      system = "uiop";
+      asd = "uiop";
+    });
+    systems = [ "uiop" ];
+    lispLibs = [  ];
+  };
+  umbra = {
+    pname = "umbra";
+    version = "20210411-git";
+    asds = [ "umbra" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/umbra/2021-04-11/umbra-20210411-git.tgz";
+      sha256 = "04vyh2j00zdpb8ryxr8g81wjcmqlz9wrn55r3cypcj4qg970r5wi";
+      system = "umbra";
+      asd = "umbra";
+    });
+    systems = [ "umbra" ];
+    lispLibs = [ (getAttr "golden-utils" pkgs) (getAttr "shadow" pkgs) (getAttr "varjo" pkgs) ];
+  };
+  umlisp = {
+    pname = "umlisp";
+    version = "20210411-git";
+    asds = [ "umlisp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/umlisp/2021-04-11/umlisp-20210411-git.tgz";
+      sha256 = "1yyyn1qka4iw3hwii7i8k939dbwvhn543m8qclk2ajggkdky4mqb";
+      system = "umlisp";
+      asd = "umlisp";
+    });
+    systems = [ "umlisp" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "clsql-mysql" pkgs) (getAttr "hyperobject" pkgs) (getAttr "kmrcl" pkgs) ];
+  };
+  umlisp-orf = {
+    pname = "umlisp-orf";
+    version = "20150923-git";
+    asds = [ "umlisp-orf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/umlisp-orf/2015-09-23/umlisp-orf-20150923-git.tgz";
+      sha256 = "187i9rcj3rymi8hmlvglvig7yqandzzx57x0rzr4yfv8sgnb82qx";
+      system = "umlisp-orf";
+      asd = "umlisp-orf";
+    });
+    systems = [ "umlisp-orf" ];
+    lispLibs = [ (getAttr "clsql" pkgs) (getAttr "clsql-postgresql-socket" pkgs) (getAttr "hyperobject" pkgs) (getAttr "kmrcl" pkgs) ];
+  };
+  umlisp-tests = {
+    pname = "umlisp-tests";
+    version = "20210411-git";
+    asds = [ "umlisp-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/umlisp/2021-04-11/umlisp-20210411-git.tgz";
+      sha256 = "1yyyn1qka4iw3hwii7i8k939dbwvhn543m8qclk2ajggkdky4mqb";
+      system = "umlisp-tests";
+      asd = "umlisp-tests";
+    });
+    systems = [ "umlisp-tests" ];
+    lispLibs = [ (getAttr "rt" pkgs) (getAttr "umlisp" pkgs) ];
+  };
+  uncommon-lisp = {
+    pname = "uncommon-lisp";
+    version = "20200427-git";
+    asds = [ "uncommon-lisp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "uncommon-lisp";
+      asd = "uncommon-lisp";
+    });
+    systems = [ "uncommon-lisp" ];
+    lispLibs = [ (getAttr "structy-defclass" pkgs) ];
+  };
+  uncursed = {
+    pname = "uncursed";
+    version = "20211230-git";
+    asds = [ "uncursed" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uncursed/2021-12-30/uncursed-20211230-git.tgz";
+      sha256 = "1gds7njxinn1pymnwy7v5kiri5qh53b1yvnva1bkqdjcgalm2da9";
+      system = "uncursed";
+      asd = "uncursed";
+    });
+    systems = [ "uncursed" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "cl-setlocale" pkgs) (getAttr "terminfo" pkgs) ];
+  };
+  uncursed-examples = {
+    pname = "uncursed-examples";
+    version = "20211230-git";
+    asds = [ "uncursed-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uncursed/2021-12-30/uncursed-20211230-git.tgz";
+      sha256 = "1gds7njxinn1pymnwy7v5kiri5qh53b1yvnva1bkqdjcgalm2da9";
+      system = "uncursed-examples";
+      asd = "uncursed-examples";
+    });
+    systems = [ "uncursed-examples" ];
+    lispLibs = [ (getAttr "cffi-grovel" pkgs) (getAttr "uncursed" pkgs) ];
+  };
+  unicly = {
+    pname = "unicly";
+    version = "20210124-git";
+    asds = [ "unicly" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/unicly/2021-01-24/unicly-20210124-git.tgz";
+      sha256 = "1f29zc1gmnsmb84hbsvacg02bqfiq2mv9wgr0hhf3bjbji5jh5zb";
+      system = "unicly";
+      asd = "unicly";
+    });
+    systems = [ "unicly" ];
+    lispLibs = [ (getAttr "ironclad" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  unifgram = {
+    pname = "unifgram";
+    version = "20180228-git";
+    asds = [ "unifgram" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/paiprolog/2018-02-28/paiprolog-20180228-git.tgz";
+      sha256 = "1nxz01i6f8s920gm69r2kwjdpq9pli8b2ayqwijhzgjwi0r4jj9r";
+      system = "unifgram";
+      asd = "unifgram";
+    });
+    systems = [ "unifgram" ];
+    lispLibs = [ (getAttr "paiprolog" pkgs) ];
+  };
+  unit-formulas = {
+    pname = "unit-formulas";
+    version = "20180711-git";
+    asds = [ "unit-formulas" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/unit-formula/2018-07-11/unit-formula-20180711-git.tgz";
+      sha256 = "1j9zcnyj2ik7f2130pkfwr2bhh5ldlgc83n1024w0dy95ksl1f20";
+      system = "unit-formulas";
+      asd = "unit-formulas";
+    });
+    systems = [ "unit-formulas" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  unit-test = {
+    pname = "unit-test";
+    version = "20120520-git";
+    asds = [ "unit-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/unit-test/2012-05-20/unit-test-20120520-git.tgz";
+      sha256 = "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9";
+      system = "unit-test";
+      asd = "unit-test";
+    });
+    systems = [ "unit-test" ];
+    lispLibs = [  ];
+  };
+  universal-config = {
+    pname = "universal-config";
+    version = "20180430-git";
+    asds = [ "universal-config" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/universal-config/2018-04-30/universal-config-20180430-git.tgz";
+      sha256 = "17sjd37jwsi47yhsj9qsnfyhyrlhlxdrxa4szklwjh489hf01hd0";
+      system = "universal-config";
+      asd = "universal-config";
+    });
+    systems = [ "universal-config" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "parse-float" pkgs) ];
+  };
+  unix-options = {
+    pname = "unix-options";
+    version = "20151031-git";
+    asds = [ "unix-options" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/unix-options/2015-10-31/unix-options-20151031-git.tgz";
+      sha256 = "17q7irrbmaja7gj86h01ali9n9p782jxisgkb1r2q5ajf4lr1rsv";
+      system = "unix-options";
+      asd = "unix-options";
+    });
+    systems = [ "unix-options" ];
+    lispLibs = [  ];
+  };
+  unix-opts = {
+    pname = "unix-opts";
+    version = "20210124-git";
+    asds = [ "unix-opts" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/unix-opts/2021-01-24/unix-opts-20210124-git.tgz";
+      sha256 = "16mcqpzwrz808p9n3wwl99ckg3hg7yihw08y1i4l7c92aldbkasq";
+      system = "unix-opts";
+      asd = "unix-opts";
+    });
+    systems = [ "unix-opts" ];
+    lispLibs = [  ];
+  };
+  unix-opts_slash_tests = {
+    pname = "unix-opts_tests";
+    version = "20210124-git";
+    asds = [ "unix-opts" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/unix-opts/2021-01-24/unix-opts-20210124-git.tgz";
+      sha256 = "16mcqpzwrz808p9n3wwl99ckg3hg7yihw08y1i4l7c92aldbkasq";
+      system = "unix-opts";
+      asd = "unix-opts";
+    });
+    systems = [ "unix-opts/tests" ];
+    lispLibs = [ (getAttr "unix-opts" pkgs) ];
+  };
+  unix-sockets = {
+    pname = "unix-sockets";
+    version = "20201220-git";
+    asds = [ "unix-sockets" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-unix-sockets/2020-12-20/cl-unix-sockets-20201220-git.tgz";
+      sha256 = "0m37hhgdn74m1zkw7pf1v3z9zwk64pbjjv6cw2rc4nqjb6n4w4wi";
+      system = "unix-sockets";
+      asd = "unix-sockets";
+    });
+    systems = [ "unix-sockets" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "log4cl" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "uffi" pkgs) ];
+  };
+  unix-sockets_dot_tests = {
+    pname = "unix-sockets.tests";
+    version = "20201220-git";
+    asds = [ "unix-sockets.tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-unix-sockets/2020-12-20/cl-unix-sockets-20201220-git.tgz";
+      sha256 = "0m37hhgdn74m1zkw7pf1v3z9zwk64pbjjv6cw2rc4nqjb6n4w4wi";
+      system = "unix-sockets.tests";
+      asd = "unix-sockets.tests";
+    });
+    systems = [ "unix-sockets.tests" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "unix-sockets" pkgs) (getAttr "fiveam" pkgs) (getAttr "tmpdir" pkgs) (getAttr "trivial-timeout" pkgs) ];
+  };
+  uri-template = {
+    pname = "uri-template";
+    version = "1.3.1";
+    asds = [ "uri-template" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uri-template/2019-08-13/uri-template-1.3.1.tgz";
+      sha256 = "06n5kmjax64kv57ng5g2030a67z131i4wm53npg9zq2xlj9sprd8";
+      system = "uri-template";
+      asd = "uri-template";
+    });
+    systems = [ "uri-template" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "named-readtables" pkgs) ];
+  };
+  uri-template_dot_test = {
+    pname = "uri-template.test";
+    version = "1.3.1";
+    asds = [ "uri-template.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uri-template/2019-08-13/uri-template-1.3.1.tgz";
+      sha256 = "06n5kmjax64kv57ng5g2030a67z131i4wm53npg9zq2xlj9sprd8";
+      system = "uri-template.test";
+      asd = "uri-template.test";
+    });
+    systems = [ "uri-template.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "uri-template" pkgs) ];
+  };
+  url-rewrite = {
+    pname = "url-rewrite";
+    version = "20171227-git";
+    asds = [ "url-rewrite" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/url-rewrite/2017-12-27/url-rewrite-20171227-git.tgz";
+      sha256 = "0d3awcb938ajiylyfnbqsc7nndy6csx0qz1bcyr4f0p862w3xbqf";
+      system = "url-rewrite";
+      asd = "url-rewrite";
+    });
+    systems = [ "url-rewrite" ];
+    lispLibs = [  ];
+  };
+  userial = {
+    pname = "userial";
+    version = "0.8.2011.06.02";
+    asds = [ "userial" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/userial/2011-06-19/userial_0.8.2011.06.02.tgz";
+      sha256 = "08f8hc1f81gyn4br9p732p8r2gl6cvccd4yzc9ydz4i0ijclpp2m";
+      system = "userial";
+      asd = "userial";
+    });
+    systems = [ "userial" ];
+    lispLibs = [ (getAttr "contextl" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  userial-tests = {
+    pname = "userial-tests";
+    version = "0.8.2011.06.02";
+    asds = [ "userial-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/userial/2011-06-19/userial_0.8.2011.06.02.tgz";
+      sha256 = "08f8hc1f81gyn4br9p732p8r2gl6cvccd4yzc9ydz4i0ijclpp2m";
+      system = "userial-tests";
+      asd = "userial-tests";
+    });
+    systems = [ "userial-tests" ];
+    lispLibs = [ (getAttr "nst" pkgs) (getAttr "userial" pkgs) ];
+  };
+  usocket = {
+    pname = "usocket";
+    version = "0.8.3";
+    asds = [ "usocket" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/usocket/2019-12-27/usocket-0.8.3.tgz";
+      sha256 = "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826";
+      system = "usocket";
+      asd = "usocket";
+    });
+    systems = [ "usocket" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) ];
+  };
+  usocket-server = {
+    pname = "usocket-server";
+    version = "0.8.3";
+    asds = [ "usocket-server" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/usocket/2019-12-27/usocket-0.8.3.tgz";
+      sha256 = "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826";
+      system = "usocket-server";
+      asd = "usocket-server";
+    });
+    systems = [ "usocket-server" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  usocket-test = {
+    pname = "usocket-test";
+    version = "0.8.3";
+    asds = [ "usocket-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/usocket/2019-12-27/usocket-0.8.3.tgz";
+      sha256 = "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826";
+      system = "usocket-test";
+      asd = "usocket-test";
+    });
+    systems = [ "usocket-test" ];
+    lispLibs = [ (getAttr "rt" pkgs) (getAttr "usocket-server" pkgs) ];
+  };
+  utilities_dot_binary-dump = {
+    pname = "utilities.binary-dump";
+    version = "20181210-git";
+    asds = [ "utilities.binary-dump" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/utilities.binary-dump/2018-12-10/utilities.binary-dump-20181210-git.tgz";
+      sha256 = "1l20r1782bskyy50ca6vsyxrvbxlgfq4nm33wl8as761dcjpj4d4";
+      system = "utilities.binary-dump";
+      asd = "utilities.binary-dump";
+    });
+    systems = [ "utilities.binary-dump" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "let-plus" pkgs) (getAttr "nibbles" pkgs) ];
+  };
+  utilities_dot_binary-dump_slash_test = {
+    pname = "utilities.binary-dump_test";
+    version = "20181210-git";
+    asds = [ "utilities.binary-dump" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/utilities.binary-dump/2018-12-10/utilities.binary-dump-20181210-git.tgz";
+      sha256 = "1l20r1782bskyy50ca6vsyxrvbxlgfq4nm33wl8as761dcjpj4d4";
+      system = "utilities.binary-dump";
+      asd = "utilities.binary-dump";
+    });
+    systems = [ "utilities.binary-dump/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fiveam" pkgs) (getAttr "let-plus" pkgs) (getAttr "nibbles" pkgs) (getAttr "split-sequence" pkgs) (getAttr "utilities_dot_binary-dump" pkgs) ];
+  };
+  utilities_dot_print-items = {
+    pname = "utilities.print-items";
+    version = "20210411-git";
+    asds = [ "utilities.print-items" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/utilities.print-items/2021-04-11/utilities.print-items-20210411-git.tgz";
+      sha256 = "1s1gibainn6f4ldvz9n1371kfbp8jj0izyk06k8fymhp2b1y7nl8";
+      system = "utilities.print-items";
+      asd = "utilities.print-items";
+    });
+    systems = [ "utilities.print-items" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  utilities_dot_print-items_slash_test = {
+    pname = "utilities.print-items_test";
+    version = "20210411-git";
+    asds = [ "utilities.print-items" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/utilities.print-items/2021-04-11/utilities.print-items-20210411-git.tgz";
+      sha256 = "1s1gibainn6f4ldvz9n1371kfbp8jj0izyk06k8fymhp2b1y7nl8";
+      system = "utilities.print-items";
+      asd = "utilities.print-items";
+    });
+    systems = [ "utilities.print-items/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "utilities_dot_print-items" pkgs) ];
+  };
+  utilities_dot_print-tree = {
+    pname = "utilities.print-tree";
+    version = "20200325-git";
+    asds = [ "utilities.print-tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/utilities.print-tree/2020-03-25/utilities.print-tree-20200325-git.tgz";
+      sha256 = "1ij955455w27jx2ihic0i2ppl3rqn25q0mvsmk5whkhkbrk4ylg1";
+      system = "utilities.print-tree";
+      asd = "utilities.print-tree";
+    });
+    systems = [ "utilities.print-tree" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  utilities_dot_print-tree_slash_test = {
+    pname = "utilities.print-tree_test";
+    version = "20200325-git";
+    asds = [ "utilities.print-tree" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/utilities.print-tree/2020-03-25/utilities.print-tree-20200325-git.tgz";
+      sha256 = "1ij955455w27jx2ihic0i2ppl3rqn25q0mvsmk5whkhkbrk4ylg1";
+      system = "utilities.print-tree";
+      asd = "utilities.print-tree";
+    });
+    systems = [ "utilities.print-tree/test" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "fiveam" pkgs) (getAttr "uiop" pkgs) (getAttr "utilities_dot_print-tree" pkgs) ];
+  };
+  utility = {
+    pname = "utility";
+    version = "20190202-git";
+    asds = [ "utility" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/utility/2019-02-02/utility-20190202-git.tgz";
+      sha256 = "0nc83kxp2c0wy5ai7dm6w4anx5266j99pxzr0c7fxgllc7d0g1qd";
+      system = "utility";
+      asd = "utility";
+    });
+    systems = [ "utility" ];
+    lispLibs = [  ];
+  };
+  utility-arguments = {
+    pname = "utility-arguments";
+    version = "20161204-git";
+    asds = [ "utility-arguments" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/utility-arguments/2016-12-04/utility-arguments-20161204-git.tgz";
+      sha256 = "0dzbzzrla9709zl5dqdfw02mxa3rvcpca466qrcprgs3hnxdvgwb";
+      system = "utility-arguments";
+      asd = "utility-arguments";
+    });
+    systems = [ "utility-arguments" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  utils-kt = {
+    pname = "utils-kt";
+    version = "20200218-git";
+    asds = [ "utils-kt" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/utils-kt/2020-02-18/utils-kt-20200218-git.tgz";
+      sha256 = "016x3w034brz02z9mrsrkhk2djizg3yqsvhl9k62xqcnpy3b87dn";
+      system = "utils-kt";
+      asd = "utils-kt";
+    });
+    systems = [ "utils-kt" ];
+    lispLibs = [  ];
+  };
+  utm = {
+    pname = "utm";
+    version = "20200218-git";
+    asds = [ "utm" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/utm/2020-02-18/utm-20200218-git.tgz";
+      sha256 = "1a5dp5fls26ppc6fnvd941nfvk2qs72grl0a3pycq7vzw6580v01";
+      system = "utm";
+      asd = "utm";
+    });
+    systems = [ "utm" ];
+    lispLibs = [  ];
+  };
+  utm-ups = {
+    pname = "utm-ups";
+    version = "20210228-git";
+    asds = [ "utm-ups" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/utm-ups/2021-02-28/utm-ups-20210228-git.tgz";
+      sha256 = "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1";
+      system = "utm-ups";
+      asd = "utm-ups";
+    });
+    systems = [ "utm-ups" ];
+    lispLibs = [  ];
+  };
+  utm-ups_slash_tests = {
+    pname = "utm-ups_tests";
+    version = "20210228-git";
+    asds = [ "utm-ups" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/utm-ups/2021-02-28/utm-ups-20210228-git.tgz";
+      sha256 = "1rvyh0srgd81kvbzmq4ysd9y6c0qdwh23naqxc9asw1vh7fq08x1";
+      system = "utm-ups";
+      asd = "utm-ups";
+    });
+    systems = [ "utm-ups/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "utm-ups" pkgs) ];
+  };
+  utm_dot_test = {
+    pname = "utm.test";
+    version = "20200218-git";
+    asds = [ "utm.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/utm/2020-02-18/utm-20200218-git.tgz";
+      sha256 = "1a5dp5fls26ppc6fnvd941nfvk2qs72grl0a3pycq7vzw6580v01";
+      system = "utm.test";
+      asd = "utm.test";
+    });
+    systems = [ "utm.test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "utm" pkgs) ];
+  };
+  uuid = {
+    pname = "uuid";
+    version = "20200715-git";
+    asds = [ "uuid" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/uuid/2020-07-15/uuid-20200715-git.tgz";
+      sha256 = "1ncwhyw0zggwpkzjsw7d4pkrlldi34xvb69c0bzxmyz2krg8rpx0";
+      system = "uuid";
+      asd = "uuid";
+    });
+    systems = [ "uuid" ];
+    lispLibs = [ (getAttr "ironclad" pkgs) (getAttr "trivial-utf-8" pkgs) ];
+  };
+  validate-list = {
+    pname = "validate-list";
+    version = "20210411-git";
+    asds = [ "validate-list" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/validate-list/2021-04-11/validate-list-20210411-git.tgz";
+      sha256 = "1rb7glqvlaz84cfd2wjk49si9jh4ffysmva5007gjhqfhr9z23lj";
+      system = "validate-list";
+      asd = "validate-list";
+    });
+    systems = [ "validate-list" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "arithmetic-operators-as-words" pkgs) (getAttr "lisp-unit" pkgs) ];
+  };
+  validate-list_slash_tests = {
+    pname = "validate-list_tests";
+    version = "20210411-git";
+    asds = [ "validate-list" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/validate-list/2021-04-11/validate-list-20210411-git.tgz";
+      sha256 = "1rb7glqvlaz84cfd2wjk49si9jh4ffysmva5007gjhqfhr9z23lj";
+      system = "validate-list";
+      asd = "validate-list";
+    });
+    systems = [ "validate-list/tests" ];
+    lispLibs = [ (getAttr "lisp-unit" pkgs) (getAttr "validate-list" pkgs) ];
+  };
+  varint = {
+    pname = "varint";
+    version = "20201220-git";
+    asds = [ "varint" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protobuf/2020-12-20/protobuf-20201220-git.tgz";
+      sha256 = "1jdd0pkpc410am902xmpn5hmb8zvqzfwvvj7qci11qj2hds698rd";
+      system = "varint";
+      asd = "varint";
+    });
+    systems = [ "varint" ];
+    lispLibs = [ (getAttr "com_dot_google_dot_base" pkgs) (getAttr "nibbles" pkgs) ];
+  };
+  varint_slash_test = {
+    pname = "varint_test";
+    version = "20201220-git";
+    asds = [ "varint" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/protobuf/2020-12-20/protobuf-20201220-git.tgz";
+      sha256 = "1jdd0pkpc410am902xmpn5hmb8zvqzfwvvj7qci11qj2hds698rd";
+      system = "varint";
+      asd = "varint";
+    });
+    systems = [ "varint/test" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_stefil" pkgs) (getAttr "varint" pkgs) ];
+  };
+  varjo = {
+    pname = "varjo";
+    version = "release-quicklisp-92f9c75b-git";
+    asds = [ "varjo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/varjo/2021-01-24/varjo-release-quicklisp-92f9c75b-git.tgz";
+      sha256 = "0gga4wq74qxql4zxh8zq1ab2xnsz8ygdaf8wxy7w15vv4czgamr9";
+      system = "varjo";
+      asd = "varjo";
+    });
+    systems = [ "varjo" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "fn" pkgs) (getAttr "glsl-docs" pkgs) (getAttr "glsl-spec" pkgs) (getAttr "glsl-symbols" pkgs) (getAttr "named-readtables" pkgs) (getAttr "parse-float" pkgs) (getAttr "uiop" pkgs) (getAttr "vas-string-metrics" pkgs) ];
+  };
+  varjo_dot_import = {
+    pname = "varjo.import";
+    version = "release-quicklisp-92f9c75b-git";
+    asds = [ "varjo.import" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/varjo/2021-01-24/varjo-release-quicklisp-92f9c75b-git.tgz";
+      sha256 = "0gga4wq74qxql4zxh8zq1ab2xnsz8ygdaf8wxy7w15vv4czgamr9";
+      system = "varjo.import";
+      asd = "varjo.import";
+    });
+    systems = [ "varjo.import" ];
+    lispLibs = [ (getAttr "fare-quasiquote-extras" pkgs) (getAttr "glsl-toolkit" pkgs) (getAttr "rtg-math_dot_vari" pkgs) (getAttr "split-sequence" pkgs) (getAttr "varjo" pkgs) ];
+  };
+  varjo_dot_tests = {
+    pname = "varjo.tests";
+    version = "release-quicklisp-92f9c75b-git";
+    asds = [ "varjo.tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/varjo/2021-01-24/varjo-release-quicklisp-92f9c75b-git.tgz";
+      sha256 = "0gga4wq74qxql4zxh8zq1ab2xnsz8ygdaf8wxy7w15vv4czgamr9";
+      system = "varjo.tests";
+      asd = "varjo.tests";
+    });
+    systems = [ "varjo.tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "rtg-math_dot_vari" pkgs) (getAttr "varjo" pkgs) ];
+  };
+  vas-string-metrics = {
+    pname = "vas-string-metrics";
+    version = "20211209-git";
+    asds = [ "vas-string-metrics" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vas-string-metrics/2021-12-09/vas-string-metrics-20211209-git.tgz";
+      sha256 = "1yvkwc939dckv070nlgqfj5ys9ii2rm32m5wfx7qxdjrb4n19sx9";
+      system = "vas-string-metrics";
+      asd = "vas-string-metrics";
+    });
+    systems = [ "vas-string-metrics" ];
+    lispLibs = [  ];
+  };
+  vecto = {
+    pname = "vecto";
+    version = "1.6";
+    asds = [ "vecto" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vecto/2021-12-30/vecto-1.6.tgz";
+      sha256 = "1s3ii9absili7yiv89byjikxcxlbagsvcxdwkxgsm1rahgggyk5x";
+      system = "vecto";
+      asd = "vecto";
+    });
+    systems = [ "vecto" ];
+    lispLibs = [ (getAttr "cl-vectors" pkgs) (getAttr "zpb-ttf" pkgs) (getAttr "zpng" pkgs) ];
+  };
+  vectometry = {
+    pname = "vectometry";
+    version = "1.6";
+    asds = [ "vectometry" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vecto/2021-12-30/vecto-1.6.tgz";
+      sha256 = "1s3ii9absili7yiv89byjikxcxlbagsvcxdwkxgsm1rahgggyk5x";
+      system = "vectometry";
+      asd = "vectometry";
+    });
+    systems = [ "vectometry" ];
+    lispLibs = [ (getAttr "vecto" pkgs) ];
+  };
+  vectors = {
+    pname = "vectors";
+    version = "20171227-git";
+    asds = [ "vectors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vectors/2017-12-27/vectors-20171227-git.tgz";
+      sha256 = "1sflb1wz6fcszdbqrcfh52bp5ch6wbizzp7jx97ni8lrqq2r6cqy";
+      system = "vectors";
+      asd = "vectors";
+    });
+    systems = [ "vectors" ];
+    lispLibs = [  ];
+  };
+  vellum = {
+    pname = "vellum";
+    version = "20211230-git";
+    asds = [ "vellum" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vellum/2021-12-30/vellum-20211230-git.tgz";
+      sha256 = "04kyfmwajlq2q6x6iv0wkd755m61bd8qql5iy5qcib1nzyvc0pi2";
+      system = "vellum";
+      asd = "vellum";
+    });
+    systems = [ "vellum" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-data-structures" pkgs) (getAttr "closer-mop" pkgs) (getAttr "documentation-utils-extensions" pkgs) (getAttr "iterate" pkgs) (getAttr "lparallel" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  vellum-clim = {
+    pname = "vellum-clim";
+    version = "20210531-git";
+    asds = [ "vellum-clim" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vellum-clim/2021-05-31/vellum-clim-20210531-git.tgz";
+      sha256 = "06g1pw0r60yd13hzbjrbpa1p0pnlwkqfn06ipk1gs0kc76gf2im5";
+      system = "vellum-clim";
+      asd = "vellum-clim";
+    });
+    systems = [ "vellum-clim" ];
+    lispLibs = [ (getAttr "iterate" pkgs) (getAttr "mcclim" pkgs) (getAttr "vellum" pkgs) ];
+  };
+  vellum-csv = {
+    pname = "vellum-csv";
+    version = "20211209-git";
+    asds = [ "vellum-csv" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vellum-csv/2021-12-09/vellum-csv-20211209-git.tgz";
+      sha256 = "01cj9h1xcf3yf5rd2qb9l8l8jcggiwg19dpy3kxzbzhh2xd2ank6";
+      system = "vellum-csv";
+      asd = "vellum-csv";
+    });
+    systems = [ "vellum-csv" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "documentation-utils-extensions" pkgs) (getAttr "iterate" pkgs) (getAttr "parse-float" pkgs) (getAttr "serapeum" pkgs) (getAttr "uiop" pkgs) (getAttr "vellum" pkgs) ];
+  };
+  vellum-csv-tests = {
+    pname = "vellum-csv-tests";
+    version = "20211209-git";
+    asds = [ "vellum-csv-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vellum-csv/2021-12-09/vellum-csv-20211209-git.tgz";
+      sha256 = "01cj9h1xcf3yf5rd2qb9l8l8jcggiwg19dpy3kxzbzhh2xd2ank6";
+      system = "vellum-csv-tests";
+      asd = "vellum-csv-tests";
+    });
+    systems = [ "vellum-csv-tests" ];
+    lispLibs = [ (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "vellum-csv" pkgs) ];
+  };
+  vellum-postmodern = {
+    pname = "vellum-postmodern";
+    version = "20211209-git";
+    asds = [ "vellum-postmodern" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vellum-postmodern/2021-12-09/vellum-postmodern-20211209-git.tgz";
+      sha256 = "1b35bxdsvrv67zn9idvwc7sd3g606sysiiwhmxllb7s8xynr1h78";
+      system = "vellum-postmodern";
+      asd = "vellum-postmodern";
+    });
+    systems = [ "vellum-postmodern" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "documentation-utils-extensions" pkgs) (getAttr "iterate" pkgs) (getAttr "cl-postgres" pkgs) (getAttr "postmodern" pkgs) (getAttr "s-sql" pkgs) (getAttr "serapeum" pkgs) (getAttr "vellum" pkgs) ];
+  };
+  vellum-tests = {
+    pname = "vellum-tests";
+    version = "20211230-git";
+    asds = [ "vellum-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vellum/2021-12-30/vellum-20211230-git.tgz";
+      sha256 = "04kyfmwajlq2q6x6iv0wkd755m61bd8qql5iy5qcib1nzyvc0pi2";
+      system = "vellum-tests";
+      asd = "vellum-tests";
+    });
+    systems = [ "vellum-tests" ];
+    lispLibs = [ (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "vellum" pkgs) ];
+  };
+  verbose = {
+    pname = "verbose";
+    version = "20201220-git";
+    asds = [ "verbose" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/verbose/2020-12-20/verbose-20201220-git.tgz";
+      sha256 = "0r51ydj5v7afi2jrlscbhxprv13d9vzg5316g1yzwaxc1kzsdsw6";
+      system = "verbose";
+      asd = "verbose";
+    });
+    systems = [ "verbose" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "dissect" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "local-time" pkgs) (getAttr "piping" pkgs) ];
+  };
+  verlet = {
+    pname = "verlet";
+    version = "20211209-git";
+    asds = [ "verlet" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/verlet/2021-12-09/verlet-20211209-git.tgz";
+      sha256 = "0n6wgjwwbrr13ldwa4y59n2ixn47rr0ad7n3jbb58635z6ahfvd4";
+      system = "verlet";
+      asd = "verlet";
+    });
+    systems = [ "verlet" ];
+    lispLibs = [ (getAttr "chain" pkgs) (getAttr "fset" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "mgl-pax" pkgs) (getAttr "rtg-math" pkgs) ];
+  };
+  vernacular = {
+    pname = "vernacular";
+    version = "20211020-git";
+    asds = [ "vernacular" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vernacular/2021-10-20/vernacular-20211020-git.tgz";
+      sha256 = "19vzn28hw4is4sgmvzqin18ds89s0pai21vcm0ky10vmfv6wg745";
+      system = "vernacular";
+      asd = "vernacular";
+    });
+    systems = [ "vernacular" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "local-time" pkgs) (getAttr "named-readtables" pkgs) (getAttr "overlord" pkgs) (getAttr "serapeum" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "trivial-macroexpand-all" pkgs) ];
+  };
+  verrazano = {
+    pname = "verrazano";
+    version = "20120909-darcs";
+    asds = [ "verrazano" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/verrazano/2012-09-09/verrazano-20120909-darcs.tgz";
+      sha256 = "0d7qv5jwv5p1r64g4rfqb844b5fh71p82b5983gjz0a5p391p270";
+      system = "verrazano";
+      asd = "verrazano";
+    });
+    systems = [ "verrazano" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "closer-mop" pkgs) (getAttr "cxml" pkgs) (getAttr "iterate" pkgs) (getAttr "metabang-bind" pkgs) (getAttr "parse-number" pkgs) (getAttr "trivial-shell" pkgs) ];
+  };
+  verrazano-runtime = {
+    pname = "verrazano-runtime";
+    version = "20120909-darcs";
+    asds = [ "verrazano-runtime" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/verrazano/2012-09-09/verrazano-20120909-darcs.tgz";
+      sha256 = "0d7qv5jwv5p1r64g4rfqb844b5fh71p82b5983gjz0a5p391p270";
+      system = "verrazano-runtime";
+      asd = "verrazano-runtime";
+    });
+    systems = [ "verrazano-runtime" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  vertex = {
+    pname = "vertex";
+    version = "20150608-git";
+    asds = [ "vertex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vertex/2015-06-08/vertex-20150608-git.tgz";
+      sha256 = "0g3ck1kvp6x9874ffizjz3fsd35a3m4hcr2x5gq9fdql680ic4k2";
+      system = "vertex";
+      asd = "vertex";
+    });
+    systems = [ "vertex" ];
+    lispLibs = [ (getAttr "common-doc" pkgs) (getAttr "common-doc-plump" pkgs) (getAttr "plump-tex" pkgs) ];
+  };
+  vertex-test = {
+    pname = "vertex-test";
+    version = "20150608-git";
+    asds = [ "vertex-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vertex/2015-06-08/vertex-20150608-git.tgz";
+      sha256 = "0g3ck1kvp6x9874ffizjz3fsd35a3m4hcr2x5gq9fdql680ic4k2";
+      system = "vertex-test";
+      asd = "vertex-test";
+    });
+    systems = [ "vertex-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "vertex" pkgs) ];
+  };
+  vex = {
+    pname = "vex";
+    version = "20211020-git";
+    asds = [ "vex" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/april/2021-10-20/april-20211020-git.tgz";
+      sha256 = "0xzk50fwkbp8sqvhhaqnq9hc19a6r5naf99k6h8pxns8mg922gg0";
+      system = "vex";
+      asd = "vex";
+    });
+    systems = [ "vex" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "maxpc-apache" pkgs) (getAttr "array-operations" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "prove" pkgs) (getAttr "symbol-munger" pkgs) ];
+  };
+  vgplot = {
+    pname = "vgplot";
+    version = "20211230-git";
+    asds = [ "vgplot" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vgplot/2021-12-30/vgplot-20211230-git.tgz";
+      sha256 = "0xnf8v1n3c2p3ambzhgifd7knggcyganjam2jrd54m5hxlxcm18j";
+      system = "vgplot";
+      asd = "vgplot";
+    });
+    systems = [ "vgplot" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "ltk" pkgs) ];
+  };
+  vgplot-test = {
+    pname = "vgplot-test";
+    version = "20211230-git";
+    asds = [ "vgplot-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vgplot/2021-12-30/vgplot-20211230-git.tgz";
+      sha256 = "0xnf8v1n3c2p3ambzhgifd7knggcyganjam2jrd54m5hxlxcm18j";
+      system = "vgplot-test";
+      asd = "vgplot";
+    });
+    systems = [ "vgplot-test" ];
+    lispLibs = [ (getAttr "lisp-unit" pkgs) (getAttr "vgplot" pkgs) ];
+  };
+  vivid-colors = {
+    pname = "vivid-colors";
+    version = "20211209-git";
+    asds = [ "vivid-colors" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vivid-colors/2021-12-09/vivid-colors-20211209-git.tgz";
+      sha256 = "0k8yfhkhx0r8i26w9ry0xy71bybr7azf22bk7yvczfs6a2lcv0ac";
+      system = "vivid-colors";
+      asd = "vivid-colors";
+    });
+    systems = [ "vivid-colors" ];
+    lispLibs = [ (getAttr "cl-colors2" pkgs) (getAttr "closer-mop" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) (getAttr "lambda-fiddle" pkgs) (getAttr "millet" pkgs) (getAttr "vivid-colors_dot_content" pkgs) (getAttr "vivid-colors_dot_dispatch" pkgs) (getAttr "vivid-colors_dot_stream" pkgs) ];
+  };
+  vivid-colors_dot_content = {
+    pname = "vivid-colors.content";
+    version = "20211209-git";
+    asds = [ "vivid-colors.content" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vivid-colors/2021-12-09/vivid-colors-20211209-git.tgz";
+      sha256 = "0k8yfhkhx0r8i26w9ry0xy71bybr7azf22bk7yvczfs6a2lcv0ac";
+      system = "vivid-colors.content";
+      asd = "vivid-colors.content";
+    });
+    systems = [ "vivid-colors.content" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ansi-text" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) (getAttr "mcase" pkgs) (getAttr "vivid-colors_dot_queue" pkgs) (getAttr "vivid-colors_dot_shared" pkgs) ];
+  };
+  vivid-colors_dot_content_dot_test = {
+    pname = "vivid-colors.content.test";
+    version = "20211209-git";
+    asds = [ "vivid-colors.content.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vivid-colors/2021-12-09/vivid-colors-20211209-git.tgz";
+      sha256 = "0k8yfhkhx0r8i26w9ry0xy71bybr7azf22bk7yvczfs6a2lcv0ac";
+      system = "vivid-colors.content.test";
+      asd = "vivid-colors.content.test";
+    });
+    systems = [ "vivid-colors.content.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "vivid-colors_dot_content" pkgs) ];
+  };
+  vivid-colors_dot_dispatch = {
+    pname = "vivid-colors.dispatch";
+    version = "20211209-git";
+    asds = [ "vivid-colors.dispatch" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vivid-colors/2021-12-09/vivid-colors-20211209-git.tgz";
+      sha256 = "0k8yfhkhx0r8i26w9ry0xy71bybr7azf22bk7yvczfs6a2lcv0ac";
+      system = "vivid-colors.dispatch";
+      asd = "vivid-colors.dispatch";
+    });
+    systems = [ "vivid-colors.dispatch" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) (getAttr "millet" pkgs) ];
+  };
+  vivid-colors_dot_dispatch_dot_test = {
+    pname = "vivid-colors.dispatch.test";
+    version = "20211209-git";
+    asds = [ "vivid-colors.dispatch.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vivid-colors/2021-12-09/vivid-colors-20211209-git.tgz";
+      sha256 = "0k8yfhkhx0r8i26w9ry0xy71bybr7azf22bk7yvczfs6a2lcv0ac";
+      system = "vivid-colors.dispatch.test";
+      asd = "vivid-colors.dispatch.test";
+    });
+    systems = [ "vivid-colors.dispatch.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "vivid-colors_dot_dispatch" pkgs) ];
+  };
+  vivid-colors_dot_queue = {
+    pname = "vivid-colors.queue";
+    version = "20211209-git";
+    asds = [ "vivid-colors.queue" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vivid-colors/2021-12-09/vivid-colors-20211209-git.tgz";
+      sha256 = "0k8yfhkhx0r8i26w9ry0xy71bybr7azf22bk7yvczfs6a2lcv0ac";
+      system = "vivid-colors.queue";
+      asd = "vivid-colors.queue";
+    });
+    systems = [ "vivid-colors.queue" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) (getAttr "millet" pkgs) ];
+  };
+  vivid-colors_dot_queue_dot_test = {
+    pname = "vivid-colors.queue.test";
+    version = "20211209-git";
+    asds = [ "vivid-colors.queue.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vivid-colors/2021-12-09/vivid-colors-20211209-git.tgz";
+      sha256 = "0k8yfhkhx0r8i26w9ry0xy71bybr7azf22bk7yvczfs6a2lcv0ac";
+      system = "vivid-colors.queue.test";
+      asd = "vivid-colors.queue.test";
+    });
+    systems = [ "vivid-colors.queue.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "vivid-colors_dot_queue" pkgs) ];
+  };
+  vivid-colors_dot_shared = {
+    pname = "vivid-colors.shared";
+    version = "20211209-git";
+    asds = [ "vivid-colors.shared" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vivid-colors/2021-12-09/vivid-colors-20211209-git.tgz";
+      sha256 = "0k8yfhkhx0r8i26w9ry0xy71bybr7azf22bk7yvczfs6a2lcv0ac";
+      system = "vivid-colors.shared";
+      asd = "vivid-colors.shared";
+    });
+    systems = [ "vivid-colors.shared" ];
+    lispLibs = [ (getAttr "jingoh_dot_documentizer" pkgs) ];
+  };
+  vivid-colors_dot_shared_dot_test = {
+    pname = "vivid-colors.shared.test";
+    version = "20211209-git";
+    asds = [ "vivid-colors.shared.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vivid-colors/2021-12-09/vivid-colors-20211209-git.tgz";
+      sha256 = "0k8yfhkhx0r8i26w9ry0xy71bybr7azf22bk7yvczfs6a2lcv0ac";
+      system = "vivid-colors.shared.test";
+      asd = "vivid-colors.shared.test";
+    });
+    systems = [ "vivid-colors.shared.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "vivid-colors_dot_shared" pkgs) ];
+  };
+  vivid-colors_dot_stream = {
+    pname = "vivid-colors.stream";
+    version = "20211209-git";
+    asds = [ "vivid-colors.stream" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vivid-colors/2021-12-09/vivid-colors-20211209-git.tgz";
+      sha256 = "0k8yfhkhx0r8i26w9ry0xy71bybr7azf22bk7yvczfs6a2lcv0ac";
+      system = "vivid-colors.stream";
+      asd = "vivid-colors.stream";
+    });
+    systems = [ "vivid-colors.stream" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ansi-text" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) (getAttr "trivial-gray-streams" pkgs) (getAttr "vivid-colors_dot_content" pkgs) (getAttr "vivid-colors_dot_dispatch" pkgs) (getAttr "vivid-colors_dot_shared" pkgs) ];
+  };
+  vivid-colors_dot_stream_dot_test = {
+    pname = "vivid-colors.stream.test";
+    version = "20211209-git";
+    asds = [ "vivid-colors.stream.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vivid-colors/2021-12-09/vivid-colors-20211209-git.tgz";
+      sha256 = "0k8yfhkhx0r8i26w9ry0xy71bybr7azf22bk7yvczfs6a2lcv0ac";
+      system = "vivid-colors.stream.test";
+      asd = "vivid-colors.stream.test";
+    });
+    systems = [ "vivid-colors.stream.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "vivid-colors_dot_stream" pkgs) ];
+  };
+  vivid-colors_dot_test = {
+    pname = "vivid-colors.test";
+    version = "20211209-git";
+    asds = [ "vivid-colors.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vivid-colors/2021-12-09/vivid-colors-20211209-git.tgz";
+      sha256 = "0k8yfhkhx0r8i26w9ry0xy71bybr7azf22bk7yvczfs6a2lcv0ac";
+      system = "vivid-colors.test";
+      asd = "vivid-colors.test";
+    });
+    systems = [ "vivid-colors.test" ];
+    lispLibs = [ (getAttr "jingoh" pkgs) (getAttr "vivid-colors" pkgs) ];
+  };
+  vivid-diff = {
+    pname = "vivid-diff";
+    version = "20211209-git";
+    asds = [ "vivid-diff" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vivid-diff/2021-12-09/vivid-diff-20211209-git.tgz";
+      sha256 = "0r40w6562gx8717l6fq0w50kiizp2d6rvwk0pycvpfgi9zivvjrv";
+      system = "vivid-diff";
+      asd = "vivid-diff";
+    });
+    systems = [ "vivid-diff" ];
+    lispLibs = [ (getAttr "cl-colors2" pkgs) (getAttr "closer-mop" pkgs) (getAttr "jingoh_dot_documentizer" pkgs) (getAttr "matrix-case" pkgs) (getAttr "vivid-colors" pkgs) ];
+  };
+  vivid-diff_dot_test = {
+    pname = "vivid-diff.test";
+    version = "20211209-git";
+    asds = [ "vivid-diff.test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vivid-diff/2021-12-09/vivid-diff-20211209-git.tgz";
+      sha256 = "0r40w6562gx8717l6fq0w50kiizp2d6rvwk0pycvpfgi9zivvjrv";
+      system = "vivid-diff.test";
+      asd = "vivid-diff.test";
+    });
+    systems = [ "vivid-diff.test" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "jingoh" pkgs) (getAttr "vivid-diff" pkgs) ];
+  };
+  vk = {
+    pname = "vk";
+    version = "20211020-git";
+    asds = [ "vk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vk/2021-10-20/vk-20211020-git.tgz";
+      sha256 = "1ipxgd2v8fg8aml47a53nccpfk07ppz4p2sd9h68a9ja07sk3j2x";
+      system = "vk";
+      asd = "vk";
+    });
+    systems = [ "vk" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cffi" pkgs) (getAttr "rove" pkgs) ];
+  };
+  vk_slash_tests = {
+    pname = "vk_tests";
+    version = "20211020-git";
+    asds = [ "vk" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vk/2021-10-20/vk-20211020-git.tgz";
+      sha256 = "1ipxgd2v8fg8aml47a53nccpfk07ppz4p2sd9h68a9ja07sk3j2x";
+      system = "vk";
+      asd = "vk";
+    });
+    systems = [ "vk/tests" ];
+    lispLibs = [ (getAttr "rove" pkgs) (getAttr "vk" pkgs) ];
+  };
+  vom = {
+    pname = "vom";
+    version = "20160825-git";
+    asds = [ "vom" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vom/2016-08-25/vom-20160825-git.tgz";
+      sha256 = "0536kppj76ax4lrxhv42npkfjsmx45km2g439vf9jmw3apinz9cy";
+      system = "vom";
+      asd = "vom";
+    });
+    systems = [ "vom" ];
+    lispLibs = [  ];
+  };
+  vom-json = {
+    pname = "vom-json";
+    version = "20200610-git";
+    asds = [ "vom-json" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vom-json/2020-06-10/vom-json-20200610-git.tgz";
+      sha256 = "14b39kqbjpibh545gh9mb6w5g0kz7fhd5zxfmlf9a0fpdbwhw41c";
+      system = "vom-json";
+      asd = "vom-json";
+    });
+    systems = [ "vom-json" ];
+    lispLibs = [ (getAttr "jonathan" pkgs) (getAttr "local-time" pkgs) (getAttr "vom" pkgs) ];
+  };
+  vom-json_slash_test = {
+    pname = "vom-json_test";
+    version = "20200610-git";
+    asds = [ "vom-json" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vom-json/2020-06-10/vom-json-20200610-git.tgz";
+      sha256 = "14b39kqbjpibh545gh9mb6w5g0kz7fhd5zxfmlf9a0fpdbwhw41c";
+      system = "vom-json";
+      asd = "vom-json";
+    });
+    systems = [ "vom-json/test" ];
+    lispLibs = [ (getAttr "rove" pkgs) (getAttr "vom-json" pkgs) ];
+  };
+  vorbisfile-ffi = {
+    pname = "vorbisfile-ffi";
+    version = "20151218-git";
+    asds = [ "vorbisfile-ffi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/mixalot/2015-12-18/mixalot-20151218-git.tgz";
+      sha256 = "0kqx933k8kly4yhzvspizzki556s1lfd4zafap42jcsqqhr4i5q9";
+      system = "vorbisfile-ffi";
+      asd = "vorbisfile-ffi";
+    });
+    systems = [ "vorbisfile-ffi" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) ];
+  };
+  vp-trees = {
+    pname = "vp-trees";
+    version = "20201220-git";
+    asds = [ "vp-trees" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vp-trees/2020-12-20/vp-trees-20201220-git.tgz";
+      sha256 = "1y78l7ijbwb8j79mm95axclfxgvnhg7mawi6jkwy27q2vyhvhlip";
+      system = "vp-trees";
+      asd = "vp-trees";
+    });
+    systems = [ "vp-trees" ];
+    lispLibs = [  ];
+  };
+  vp-trees_slash_tests = {
+    pname = "vp-trees_tests";
+    version = "20201220-git";
+    asds = [ "vp-trees" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/vp-trees/2020-12-20/vp-trees-20201220-git.tgz";
+      sha256 = "1y78l7ijbwb8j79mm95axclfxgvnhg7mawi6jkwy27q2vyhvhlip";
+      system = "vp-trees";
+      asd = "vp-trees";
+    });
+    systems = [ "vp-trees/tests" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "vp-trees" pkgs) ];
+  };
+  wallstreetflets = {
+    pname = "wallstreetflets";
+    version = "20211209-git";
+    asds = [ "wallstreetflets" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/wallstreetflets/2021-12-09/wallstreetflets-20211209-git.tgz";
+      sha256 = "0d9anws4gk16an1kl4kads6lhm8a4mpiwxg74i3235d5874gbdj5";
+      system = "wallstreetflets";
+      asd = "wallstreetflets";
+    });
+    systems = [ "wallstreetflets" ];
+    lispLibs = [ (getAttr "dexador" pkgs) (getAttr "lquery" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  wasm-encoder = {
+    pname = "wasm-encoder";
+    version = "20210630-git";
+    asds = [ "wasm-encoder" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/wasm-encoder/2021-06-30/wasm-encoder-20210630-git.tgz";
+      sha256 = "1h094d8www9ydg96fjj17pi0lb63ikgyp5237cl6n3rmg4jpy9w6";
+      system = "wasm-encoder";
+      asd = "wasm-encoder";
+    });
+    systems = [ "wasm-encoder" ];
+    lispLibs = [ (getAttr "agutil" pkgs) (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "generic-cl" pkgs) (getAttr "ieee-floats" pkgs) (getAttr "trivia" pkgs) ];
+  };
+  wasm-encoder_slash_test = {
+    pname = "wasm-encoder_test";
+    version = "20210630-git";
+    asds = [ "wasm-encoder" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/wasm-encoder/2021-06-30/wasm-encoder-20210630-git.tgz";
+      sha256 = "1h094d8www9ydg96fjj17pi0lb63ikgyp5237cl6n3rmg4jpy9w6";
+      system = "wasm-encoder";
+      asd = "wasm-encoder";
+    });
+    systems = [ "wasm-encoder/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "wasm-encoder" pkgs) ];
+  };
+  water = {
+    pname = "water";
+    version = "20190107-git";
+    asds = [ "water" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/water/2019-01-07/water-20190107-git.tgz";
+      sha256 = "0w9b6mh10rfv7rg1zq28pivad6435i9h839km6nlbhq9xmx0g27s";
+      system = "water";
+      asd = "water";
+    });
+    systems = [ "water" ];
+    lispLibs = [ (getAttr "parenscript" pkgs) ];
+  };
+  webactions = {
+    pname = "webactions";
+    version = "20190813-git";
+    asds = [ "webactions" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/portableaserve/2019-08-13/portableaserve-20190813-git.tgz";
+      sha256 = "0ak6mqp84sjr0a7h5svr16vra4bf4fcx6wpir0n88dc1vjwy5xqa";
+      system = "webactions";
+      asd = "webactions";
+    });
+    systems = [ "webactions" ];
+    lispLibs = [ (getAttr "acl-compat" pkgs) (getAttr "aserve" pkgs) (getAttr "htmlgen" pkgs) ];
+  };
+  webapi = {
+    pname = "webapi";
+    version = "20211020-git";
+    asds = [ "webapi" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/webapi/2021-10-20/webapi-20211020-git.tgz";
+      sha256 = "1bh2zp9gjdjk6zn5wwnv13qsav5b73hxd3lkph471jh0d1z9w0l7";
+      system = "webapi";
+      asd = "webapi";
+    });
+    systems = [ "webapi" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "dexador" pkgs) (getAttr "kebab" pkgs) (getAttr "quri" pkgs) (getAttr "st-json" pkgs) ];
+  };
+  weblocks-clsql = {
+    pname = "weblocks-clsql";
+    version = "20211020-git";
+    asds = [ "weblocks-clsql" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz";
+      sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya";
+      system = "weblocks-clsql";
+      asd = "weblocks-clsql";
+    });
+    systems = [ "weblocks-clsql" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "clsql" pkgs) (getAttr "clsql-fluid" pkgs) (getAttr "metatilities" pkgs) (getAttr "weblocks-util" pkgs) (getAttr "weblocks-stores" pkgs) ];
+  };
+  weblocks-memory = {
+    pname = "weblocks-memory";
+    version = "20211020-git";
+    asds = [ "weblocks-memory" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz";
+      sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya";
+      system = "weblocks-memory";
+      asd = "weblocks-memory";
+    });
+    systems = [ "weblocks-memory" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "metatilities" pkgs) (getAttr "weblocks-stores" pkgs) ];
+  };
+  weblocks-montezuma = {
+    pname = "weblocks-montezuma";
+    version = "20211020-git";
+    asds = [ "weblocks-montezuma" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz";
+      sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya";
+      system = "weblocks-montezuma";
+      asd = "weblocks-montezuma";
+    });
+    systems = [ "weblocks-montezuma" ];
+    lispLibs = [ (getAttr "montezuma" pkgs) (getAttr "weblocks-stores" pkgs) ];
+  };
+  weblocks-perec = {
+    pname = "weblocks-perec";
+    version = "20211020-git";
+    asds = [ "weblocks-perec" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz";
+      sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya";
+      system = "weblocks-perec";
+      asd = "weblocks-perec";
+    });
+    systems = [ "weblocks-perec" ];
+    lispLibs = [ (getAttr "hu_dot_dwim_dot_perec" pkgs) (getAttr "weblocks-stores" pkgs) ];
+  };
+  weblocks-prevalence = {
+    pname = "weblocks-prevalence";
+    version = "20211020-git";
+    asds = [ "weblocks-prevalence" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz";
+      sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya";
+      system = "weblocks-prevalence";
+      asd = "weblocks-prevalence";
+    });
+    systems = [ "weblocks-prevalence" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-prevalence" pkgs) (getAttr "metatilities" pkgs) (getAttr "weblocks-memory" pkgs) (getAttr "weblocks-stores" pkgs) ];
+  };
+  weblocks-scripts = {
+    pname = "weblocks-scripts";
+    version = "20211020-git";
+    asds = [ "weblocks-scripts" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/weblocks/2021-10-20/weblocks-20211020-git.tgz";
+      sha256 = "1hilpzm1p3hrp2hxghjr9y8sy5a9bgk96n8kc8bphvn7dvlbm78j";
+      system = "weblocks-scripts";
+      asd = "weblocks-scripts";
+    });
+    systems = [ "weblocks-scripts" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) ];
+  };
+  weblocks-stores = {
+    pname = "weblocks-stores";
+    version = "20211020-git";
+    asds = [ "weblocks-stores" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/weblocks-stores/2021-10-20/weblocks-stores-20211020-git.tgz";
+      sha256 = "1k44dad18fkp80xjm04fiy6bciirs71ljvm8a2rb33xndrbxiiya";
+      system = "weblocks-stores";
+      asd = "weblocks-stores";
+    });
+    systems = [ "weblocks-stores" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "metatilities" pkgs) (getAttr "weblocks-util" pkgs) ];
+  };
+  weblocks-util = {
+    pname = "weblocks-util";
+    version = "20211020-git";
+    asds = [ "weblocks-util" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/weblocks/2021-10-20/weblocks-20211020-git.tgz";
+      sha256 = "1hilpzm1p3hrp2hxghjr9y8sy5a9bgk96n8kc8bphvn7dvlbm78j";
+      system = "weblocks-util";
+      asd = "weblocks-util";
+    });
+    systems = [ "weblocks-util" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-cont" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-json" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-who" pkgs) (getAttr "closer-mop" pkgs) (getAttr "f-underscore" pkgs) (getAttr "html-template" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "ironclad" pkgs) (getAttr "metatilities" pkgs) (getAttr "optima" pkgs) (getAttr "parenscript" pkgs) (getAttr "parse-number" pkgs) (getAttr "pretty-function" pkgs) (getAttr "puri" pkgs) (getAttr "salza2" pkgs) (getAttr "trivial-backtrace" pkgs) (getAttr "trivial-timeout" pkgs) ];
+  };
+  websocket-driver = {
+    pname = "websocket-driver";
+    version = "20210807-git";
+    asds = [ "websocket-driver" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/websocket-driver/2021-08-07/websocket-driver-20210807-git.tgz";
+      sha256 = "16151dbcdsj7y2jfzvfacfx4dykhj337qg45sd48izah9i1nn1j2";
+      system = "websocket-driver";
+      asd = "websocket-driver";
+    });
+    systems = [ "websocket-driver" ];
+    lispLibs = [ (getAttr "websocket-driver-client" pkgs) (getAttr "websocket-driver-server" pkgs) ];
+  };
+  websocket-driver-base = {
+    pname = "websocket-driver-base";
+    version = "20210807-git";
+    asds = [ "websocket-driver-base" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/websocket-driver/2021-08-07/websocket-driver-20210807-git.tgz";
+      sha256 = "16151dbcdsj7y2jfzvfacfx4dykhj337qg45sd48izah9i1nn1j2";
+      system = "websocket-driver-base";
+      asd = "websocket-driver-base";
+    });
+    systems = [ "websocket-driver-base" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-base64" pkgs) (getAttr "event-emitter" pkgs) (getAttr "fast-io" pkgs) (getAttr "fast-websocket" pkgs) (getAttr "ironclad" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  websocket-driver-client = {
+    pname = "websocket-driver-client";
+    version = "20210807-git";
+    asds = [ "websocket-driver-client" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/websocket-driver/2021-08-07/websocket-driver-20210807-git.tgz";
+      sha256 = "16151dbcdsj7y2jfzvfacfx4dykhj337qg45sd48izah9i1nn1j2";
+      system = "websocket-driver-client";
+      asd = "websocket-driver-client";
+    });
+    systems = [ "websocket-driver-client" ];
+    lispLibs = [ (getAttr "cl_plus_ssl" pkgs) (getAttr "cl-base64" pkgs) (getAttr "fast-http" pkgs) (getAttr "fast-io" pkgs) (getAttr "fast-websocket" pkgs) (getAttr "ironclad" pkgs) (getAttr "quri" pkgs) (getAttr "usocket" pkgs) (getAttr "websocket-driver-base" pkgs) ];
+  };
+  websocket-driver-server = {
+    pname = "websocket-driver-server";
+    version = "20210807-git";
+    asds = [ "websocket-driver-server" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/websocket-driver/2021-08-07/websocket-driver-20210807-git.tgz";
+      sha256 = "16151dbcdsj7y2jfzvfacfx4dykhj337qg45sd48izah9i1nn1j2";
+      system = "websocket-driver-server";
+      asd = "websocket-driver-server";
+    });
+    systems = [ "websocket-driver-server" ];
+    lispLibs = [ (getAttr "clack-socket" pkgs) (getAttr "fast-io" pkgs) (getAttr "fast-websocket" pkgs) (getAttr "ironclad" pkgs) (getAttr "websocket-driver-base" pkgs) ];
+  };
+  weft = {
+    pname = "weft";
+    version = "20180228-git";
+    asds = [ "weft" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/weft/2018-02-28/weft-20180228-git.tgz";
+      sha256 = "1ia38xcpp9g4v6sij99lyl9b8p59ysg2cj9k92nb683f8pzv9pl3";
+      system = "weft";
+      asd = "weft";
+    });
+    systems = [ "weft" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "log4cl" pkgs) (getAttr "trivial-timeout" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  westbrook = {
+    pname = "westbrook";
+    version = "20180131-git";
+    asds = [ "westbrook" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/westbrook/2018-01-31/westbrook-20180131-git.tgz";
+      sha256 = "08qs5lpg34d1mn6warrrq1wimyqqrjb8jih62g1pbysgni4ihm2v";
+      system = "westbrook";
+      asd = "westbrook";
+    });
+    systems = [ "westbrook" ];
+    lispLibs = [ (getAttr "cxml" pkgs) ];
+  };
+  westbrook-tests = {
+    pname = "westbrook-tests";
+    version = "20180131-git";
+    asds = [ "westbrook-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/westbrook/2018-01-31/westbrook-20180131-git.tgz";
+      sha256 = "08qs5lpg34d1mn6warrrq1wimyqqrjb8jih62g1pbysgni4ihm2v";
+      system = "westbrook-tests";
+      asd = "westbrook-tests";
+    });
+    systems = [ "westbrook-tests" ];
+    lispLibs = [ (getAttr "fiasco" pkgs) (getAttr "westbrook" pkgs) ];
+  };
+  what3words = {
+    pname = "what3words";
+    version = "20161204-git";
+    asds = [ "what3words" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/what3words/2016-12-04/what3words-20161204-git.tgz";
+      sha256 = "0nlrpi8phrf2mpgbw9bj9w4vksqb0baj542bhnq39sjalc8bj73r";
+      system = "what3words";
+      asd = "what3words";
+    });
+    systems = [ "what3words" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "drakma" pkgs) (getAttr "jsown" pkgs) ];
+  };
+  which = {
+    pname = "which";
+    version = "20160421-git";
+    asds = [ "which" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/which/2016-04-21/which-20160421-git.tgz";
+      sha256 = "127pm9h4rm4w9aadw5yvamnfzhk2rr69kchx10rf9k7sk7izqqfk";
+      system = "which";
+      asd = "which";
+    });
+    systems = [ "which" ];
+    lispLibs = [ (getAttr "cl-fad" pkgs) (getAttr "path-parse" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  which-test = {
+    pname = "which-test";
+    version = "20160421-git";
+    asds = [ "which-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/which/2016-04-21/which-20160421-git.tgz";
+      sha256 = "127pm9h4rm4w9aadw5yvamnfzhk2rr69kchx10rf9k7sk7izqqfk";
+      system = "which-test";
+      asd = "which-test";
+    });
+    systems = [ "which-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "which" pkgs) ];
+  };
+  whirlog = {
+    pname = "whirlog";
+    version = "20211020-git";
+    asds = [ "whirlog" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/whirlog/2021-10-20/whirlog-20211020-git.tgz";
+      sha256 = "0sf1kc8ln1gszzrz3qh3bx11k42lpccrv6kp2ihlrg3d6lsa6i26";
+      system = "whirlog";
+      asd = "whirlog";
+    });
+    systems = [ "whirlog" ];
+    lispLibs = [  ];
+  };
+  whofields = {
+    pname = "whofields";
+    version = "20211020-git";
+    asds = [ "whofields" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/whofields/2021-10-20/whofields-20211020-git.tgz";
+      sha256 = "1scpzzfdw5g7qsayhznjyzns8lxx4fvv2jxd0vr9vnxad3vm977x";
+      system = "whofields";
+      asd = "whofields";
+    });
+    systems = [ "whofields" ];
+    lispLibs = [ (getAttr "asdf-package-system" pkgs) (getAttr "cl-who" pkgs) ];
+  };
+  whofields_slash_test = {
+    pname = "whofields_test";
+    version = "20211020-git";
+    asds = [ "whofields" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/whofields/2021-10-20/whofields-20211020-git.tgz";
+      sha256 = "1scpzzfdw5g7qsayhznjyzns8lxx4fvv2jxd0vr9vnxad3vm977x";
+      system = "whofields";
+      asd = "whofields";
+    });
+    systems = [ "whofields/test" ];
+    lispLibs = [  ];
+  };
+  wilbur = {
+    pname = "wilbur";
+    version = "20181210-git";
+    asds = [ "wilbur" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/de.setf.wilbur/2018-12-10/de.setf.wilbur-20181210-git.tgz";
+      sha256 = "0w4qssyarim4v64vv7jmspmyba7xghx9bkalyyhvccf6zrf7b2v7";
+      system = "wilbur";
+      asd = "wilbur";
+    });
+    systems = [ "wilbur" ];
+    lispLibs = [ (getAttr "usocket" pkgs) ];
+  };
+  wild-package-inferred-system = {
+    pname = "wild-package-inferred-system";
+    version = "20210531-git";
+    asds = [ "wild-package-inferred-system" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/wild-package-inferred-system/2021-05-31/wild-package-inferred-system-20210531-git.tgz";
+      sha256 = "0sp3j3i83aqyq9bl3djs490nilryi9sh1wjbcqd9z94d9wfbfz80";
+      system = "wild-package-inferred-system";
+      asd = "wild-package-inferred-system";
+    });
+    systems = [ "wild-package-inferred-system" ];
+    lispLibs = [  ];
+  };
+  wild-package-inferred-system_slash_test = {
+    pname = "wild-package-inferred-system_test";
+    version = "20210531-git";
+    asds = [ "wild-package-inferred-system" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/wild-package-inferred-system/2021-05-31/wild-package-inferred-system-20210531-git.tgz";
+      sha256 = "0sp3j3i83aqyq9bl3djs490nilryi9sh1wjbcqd9z94d9wfbfz80";
+      system = "wild-package-inferred-system";
+      asd = "wild-package-inferred-system";
+    });
+    systems = [ "wild-package-inferred-system/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "wild-package-inferred-system" pkgs) ];
+  };
+  window = {
+    pname = "window";
+    version = "20200427-git";
+    asds = [ "window" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/sucle/2020-04-27/sucle-20200427-git.tgz";
+      sha256 = "033akkn9zxc6qdgycgxgybx3v23638245xrx29x2cbwnvg3i1q34";
+      system = "window";
+      asd = "window";
+    });
+    systems = [ "window" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bodge-glfw" pkgs) (getAttr "cffi" pkgs) (getAttr "trivial-features" pkgs) (getAttr "utility" pkgs) ];
+  };
+  winhttp = {
+    pname = "winhttp";
+    version = "20200610-git";
+    asds = [ "winhttp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/winhttp/2020-06-10/winhttp-20200610-git.tgz";
+      sha256 = "121mpn14kfj86bp4qlc69a139ffrsvgiisa7rax9mvbj361s8dna";
+      system = "winhttp";
+      asd = "winhttp";
+    });
+    systems = [ "winhttp" ];
+    lispLibs = [ (getAttr "cffi" pkgs) ];
+  };
+  winlock = {
+    pname = "winlock";
+    version = "20191130-git";
+    asds = [ "winlock" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/winlock/2019-11-30/winlock-20191130-git.tgz";
+      sha256 = "0sgjq1cjbmshnh2zwyqws7rkr93zkjl0rrzyf04542gb1grj0vd8";
+      system = "winlock";
+      asd = "winlock";
+    });
+    systems = [ "winlock" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "named-readtables" pkgs) (getAttr "serapeum" pkgs) ];
+  };
+  winlock_slash_test = {
+    pname = "winlock_test";
+    version = "20191130-git";
+    asds = [ "winlock" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/winlock/2019-11-30/winlock-20191130-git.tgz";
+      sha256 = "0sgjq1cjbmshnh2zwyqws7rkr93zkjl0rrzyf04542gb1grj0vd8";
+      system = "winlock";
+      asd = "winlock";
+    });
+    systems = [ "winlock/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "winlock" pkgs) ];
+  };
+  wire-world = {
+    pname = "wire-world";
+    version = "master-83d7b044-git";
+    asds = [ "wire-world" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "wire-world";
+      asd = "wire-world";
+    });
+    systems = [ "wire-world" ];
+    lispLibs = [ (getAttr "gwl-graphics" pkgs) ];
+  };
+  with-c-syntax = {
+    pname = "with-c-syntax";
+    version = "20211020-git";
+    asds = [ "with-c-syntax" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/with-c-syntax/2021-10-20/with-c-syntax-20211020-git.tgz";
+      sha256 = "18xpjp3vn1dr0pmvkvdligwc1h3rvpixyzx6r80r4b74cnk28c35";
+      system = "with-c-syntax";
+      asd = "with-c-syntax";
+    });
+    systems = [ "with-c-syntax" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "yacc" pkgs) (getAttr "float-features" pkgs) (getAttr "floating-point-contractions" pkgs) (getAttr "named-readtables" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  with-c-syntax-test = {
+    pname = "with-c-syntax-test";
+    version = "20211020-git";
+    asds = [ "with-c-syntax-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/with-c-syntax/2021-10-20/with-c-syntax-20211020-git.tgz";
+      sha256 = "18xpjp3vn1dr0pmvkvdligwc1h3rvpixyzx6r80r4b74cnk28c35";
+      system = "with-c-syntax-test";
+      asd = "with-c-syntax-test";
+    });
+    systems = [ "with-c-syntax-test" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "floating-point" pkgs) (getAttr "trivial-cltl2" pkgs) (getAttr "with-c-syntax" pkgs) ];
+  };
+  with-cached-reader-conditionals = {
+    pname = "with-cached-reader-conditionals";
+    version = "20170630-git";
+    asds = [ "with-cached-reader-conditionals" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/with-cached-reader-conditionals/2017-06-30/with-cached-reader-conditionals-20170630-git.tgz";
+      sha256 = "0n7a089d0wb13l1nsdh3xlgwxwlqynkbjl8fg2x56h52a5i9gkv4";
+      system = "with-cached-reader-conditionals";
+      asd = "with-cached-reader-conditionals";
+    });
+    systems = [ "with-cached-reader-conditionals" ];
+    lispLibs = [  ];
+  };
+  with-contexts = {
+    pname = "with-contexts";
+    version = "20210228-git";
+    asds = [ "with-contexts" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/with-contexts/2021-02-28/with-contexts-20210228-git.tgz";
+      sha256 = "15802v7l7nmxg0q7qp20qpwa8fv8hsyv4hsp38297h28q6130mjg";
+      system = "with-contexts";
+      asd = "with-contexts";
+    });
+    systems = [ "with-contexts" ];
+    lispLibs = [  ];
+  };
+  with-output-to-stream = {
+    pname = "with-output-to-stream";
+    version = "1.0";
+    asds = [ "with-output-to-stream" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/with-output-to-stream/2019-10-07/with-output-to-stream_1.0.tgz";
+      sha256 = "0pv9kccjbxkgcv7wbcfpnzas9pq0n2rs2aq9kdnqkx55k12366sm";
+      system = "with-output-to-stream";
+      asd = "with-output-to-stream";
+    });
+    systems = [ "with-output-to-stream" ];
+    lispLibs = [  ];
+  };
+  with-output-to-stream_tests = {
+    pname = "with-output-to-stream_tests";
+    version = "1.0";
+    asds = [ "with-output-to-stream_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/with-output-to-stream/2019-10-07/with-output-to-stream_1.0.tgz";
+      sha256 = "0pv9kccjbxkgcv7wbcfpnzas9pq0n2rs2aq9kdnqkx55k12366sm";
+      system = "with-output-to-stream_tests";
+      asd = "with-output-to-stream_tests";
+    });
+    systems = [ "with-output-to-stream_tests" ];
+    lispLibs = [ (getAttr "parachute" pkgs) (getAttr "with-output-to-stream" pkgs) ];
+  };
+  with-setf = {
+    pname = "with-setf";
+    version = "release-quicklisp-df3eed9d-git";
+    asds = [ "with-setf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/with-setf/2018-02-28/with-setf-release-quicklisp-df3eed9d-git.tgz";
+      sha256 = "090v39kdxk4py3axjrjjac2pn1p0109q14hvl818pik479xr4inz";
+      system = "with-setf";
+      asd = "with-setf";
+    });
+    systems = [ "with-setf" ];
+    lispLibs = [  ];
+  };
+  with-shadowed-bindings = {
+    pname = "with-shadowed-bindings";
+    version = "1.0";
+    asds = [ "with-shadowed-bindings" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/with-shadowed-bindings/2019-01-07/with-shadowed-bindings-1.0.tgz";
+      sha256 = "0kxy86a21v4fm4xwd44c6kpdadgkcj8iv6a68xavhirhjhngcwy5";
+      system = "with-shadowed-bindings";
+      asd = "with-shadowed-bindings";
+    });
+    systems = [ "with-shadowed-bindings" ];
+    lispLibs = [ (getAttr "map-bind" pkgs) ];
+  };
+  with-shadowed-bindings_tests = {
+    pname = "with-shadowed-bindings_tests";
+    version = "1.0";
+    asds = [ "with-shadowed-bindings_tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/with-shadowed-bindings/2019-01-07/with-shadowed-bindings-1.0.tgz";
+      sha256 = "0kxy86a21v4fm4xwd44c6kpdadgkcj8iv6a68xavhirhjhngcwy5";
+      system = "with-shadowed-bindings_tests";
+      asd = "with-shadowed-bindings_tests";
+    });
+    systems = [ "with-shadowed-bindings_tests" ];
+    lispLibs = [ (getAttr "parachute" pkgs) (getAttr "with-shadowed-bindings" pkgs) ];
+  };
+  with-user-abort = {
+    pname = "with-user-abort";
+    version = "20210411-git";
+    asds = [ "with-user-abort" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/with-user-abort/2021-04-11/with-user-abort-20210411-git.tgz";
+      sha256 = "0k1xxfvncdw4fx8nncis1ma128bqq05zky1mrzak5rjbivzjm8j1";
+      system = "with-user-abort";
+      asd = "with-user-abort";
+    });
+    systems = [ "with-user-abort" ];
+    lispLibs = [  ];
+  };
+  woo = {
+    pname = "woo";
+    version = "20211209-git";
+    asds = [ "woo" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/woo/2021-12-09/woo-20211209-git.tgz";
+      sha256 = "01srnlrq13yjk6qmh60m3d4r7hiygj7qln7q4mxvvxkvm5kmzm53";
+      system = "woo";
+      asd = "woo";
+    });
+    systems = [ "woo" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "clack-socket" pkgs) (getAttr "fast-http" pkgs) (getAttr "fast-io" pkgs) (getAttr "lev" pkgs) (getAttr "quri" pkgs) (getAttr "smart-buffer" pkgs) (getAttr "static-vectors" pkgs) (getAttr "swap-bytes" pkgs) (getAttr "trivial-utf-8" pkgs) (getAttr "vom" pkgs) ];
+  };
+  woo-test = {
+    pname = "woo-test";
+    version = "20211209-git";
+    asds = [ "woo-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/woo/2021-12-09/woo-20211209-git.tgz";
+      sha256 = "01srnlrq13yjk6qmh60m3d4r7hiygj7qln7q4mxvvxkvm5kmzm53";
+      system = "woo-test";
+      asd = "woo-test";
+    });
+    systems = [ "woo-test" ];
+    lispLibs = [ (getAttr "clack-test" pkgs) (getAttr "rove" pkgs) (getAttr "woo" pkgs) ];
+  };
+  wookie = {
+    pname = "wookie";
+    version = "20191130-git";
+    asds = [ "wookie" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/wookie/2019-11-30/wookie-20191130-git.tgz";
+      sha256 = "17py6z5dk0y5ww99nsr69ksa4v9cqwwqqk90sv096dsh9va2b689";
+      system = "wookie";
+      asd = "wookie";
+    });
+    systems = [ "wookie" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "blackbird" pkgs) (getAttr "chunga" pkgs) (getAttr "cl-async" pkgs) (getAttr "cl-async-ssl" pkgs) (getAttr "cl-fad" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "do-urlencode" pkgs) (getAttr "fast-http" pkgs) (getAttr "fast-io" pkgs) (getAttr "quri" pkgs) (getAttr "vom" pkgs) ];
+  };
+  wordnet = {
+    pname = "wordnet";
+    version = "20200610-git";
+    asds = [ "wordnet" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/wordnet/2020-06-10/wordnet-20200610-git.tgz";
+      sha256 = "06kpy4bmmjwzk4hj5yg4p9hkwfp0hvrrsdc0bj2szlqfl2cy7klq";
+      system = "wordnet";
+      asd = "wordnet";
+    });
+    systems = [ "wordnet" ];
+    lispLibs = [ (getAttr "split-sequence" pkgs) ];
+  };
+  workout-timer = {
+    pname = "workout-timer";
+    version = "20211020-git";
+    asds = [ "workout-timer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/workout-timer/2021-10-20/workout-timer-20211020-git.tgz";
+      sha256 = "0h0afih971i0wv6ikknmk14115r5sdz5a011561f6ha251ynhy0f";
+      system = "workout-timer";
+      asd = "workout-timer";
+    });
+    systems = [ "workout-timer" ];
+    lispLibs = [ (getAttr "cffi-toolchain" pkgs) (getAttr "command-line-arguments" pkgs) (getAttr "local-time" pkgs) (getAttr "mixalot" pkgs) (getAttr "mixalot-vorbis" pkgs) (getAttr "vorbisfile-ffi" pkgs) ];
+  };
+  workout-timer_slash_static = {
+    pname = "workout-timer_static";
+    version = "20211020-git";
+    asds = [ "workout-timer" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/workout-timer/2021-10-20/workout-timer-20211020-git.tgz";
+      sha256 = "0h0afih971i0wv6ikknmk14115r5sdz5a011561f6ha251ynhy0f";
+      system = "workout-timer";
+      asd = "workout-timer";
+    });
+    systems = [ "workout-timer/static" ];
+    lispLibs = [ (getAttr "cffi-toolchain" pkgs) (getAttr "workout-timer" pkgs) ];
+  };
+  wu-decimal = {
+    pname = "wu-decimal";
+    version = "20130128-git";
+    asds = [ "wu-decimal" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/wu-decimal/2013-01-28/wu-decimal-20130128-git.tgz";
+      sha256 = "1p7na4hic7297amwm4idfwkyx664ny8cdssncyra37pmv4wzp8dm";
+      system = "wu-decimal";
+      asd = "wu-decimal";
+    });
+    systems = [ "wu-decimal" ];
+    lispLibs = [  ];
+  };
+  wu-sugar = {
+    pname = "wu-sugar";
+    version = "20160825-git";
+    asds = [ "wu-sugar" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/wu-sugar/2016-08-25/wu-sugar-20160825-git.tgz";
+      sha256 = "0ypn5195krfd1rva5myla8j7n2ilfs5gxh81flx7v0mr4r70fayl";
+      system = "wu-sugar";
+      asd = "wu-sugar";
+    });
+    systems = [ "wu-sugar" ];
+    lispLibs = [  ];
+  };
+  wuwei = {
+    pname = "wuwei";
+    version = "20190202-git";
+    asds = [ "wuwei" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/wuwei/2019-02-02/wuwei-20190202-git.tgz";
+      sha256 = "0c7bx80kfsn0qv0cbxs87yqh448161iyg2r22s9z0qnqlgc6jqnm";
+      system = "wuwei";
+      asd = "wuwei";
+    });
+    systems = [ "wuwei" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "drakma" pkgs) (getAttr "ironclad" pkgs) (getAttr "mtlisp" pkgs) (getAttr "aserve" pkgs) ];
+  };
+  wuwei-examples = {
+    pname = "wuwei-examples";
+    version = "20190202-git";
+    asds = [ "wuwei-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/wuwei/2019-02-02/wuwei-20190202-git.tgz";
+      sha256 = "0c7bx80kfsn0qv0cbxs87yqh448161iyg2r22s9z0qnqlgc6jqnm";
+      system = "wuwei-examples";
+      asd = "wuwei";
+    });
+    systems = [ "wuwei-examples" ];
+    lispLibs = [ (getAttr "drakma" pkgs) (getAttr "wuwei" pkgs) ];
+  };
+  x_dot_let-star = {
+    pname = "x.let-star";
+    version = "20200325-git";
+    asds = [ "x.let-star" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/x.let-star/2020-03-25/x.let-star-20200325-git.tgz";
+      sha256 = "0qk0rpqzb7vaivggsqch06nmdjzp6b31a88w40y3864clajpcrnr";
+      system = "x.let-star";
+      asd = "x.let-star";
+    });
+    systems = [ "x.let-star" ];
+    lispLibs = [  ];
+  };
+  xarray = {
+    pname = "xarray";
+    version = "20140113-git";
+    asds = [ "xarray" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xarray/2014-01-13/xarray-20140113-git.tgz";
+      sha256 = "031h1bvy9s6qas2160dgf7gc0y6inrhpzp8j3wrb6fjxkb0524yl";
+      system = "xarray";
+      asd = "xarray";
+    });
+    systems = [ "xarray" ];
+    lispLibs = [ (getAttr "anaphora" pkgs) (getAttr "cl-utilities" pkgs) (getAttr "iterate" pkgs) (getAttr "metabang-bind" pkgs) ];
+  };
+  xarray-test = {
+    pname = "xarray-test";
+    version = "20140113-git";
+    asds = [ "xarray-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xarray/2014-01-13/xarray-20140113-git.tgz";
+      sha256 = "031h1bvy9s6qas2160dgf7gc0y6inrhpzp8j3wrb6fjxkb0524yl";
+      system = "xarray-test";
+      asd = "xarray-test";
+    });
+    systems = [ "xarray-test" ];
+    lispLibs = [ (getAttr "lift" pkgs) (getAttr "xarray" pkgs) ];
+  };
+  xcat = {
+    pname = "xcat";
+    version = "20200925-git";
+    asds = [ "xcat" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xcat/2020-09-25/xcat-20200925-git.tgz";
+      sha256 = "1v8mcz8bidcbfl587b5lm07l91xan6z1y3zikjkyzagiigd4byvi";
+      system = "xcat";
+      asd = "xcat";
+    });
+    systems = [ "xcat" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "log4cl" pkgs) (getAttr "trivial-features" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "usocket-server" pkgs) ];
+  };
+  xecto = {
+    pname = "xecto";
+    version = "20151218-git";
+    asds = [ "xecto" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xecto/2015-12-18/xecto-20151218-git.tgz";
+      sha256 = "1m81cl02k28v9sgscl8qhig735x5qybhw69szs6bkkqml7hbl12q";
+      system = "xecto";
+      asd = "xecto";
+    });
+    systems = [ "xecto" ];
+    lispLibs = [  ];
+  };
+  xembed = {
+    pname = "xembed";
+    version = "20191130-git";
+    asds = [ "xembed" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clx-xembed/2019-11-30/clx-xembed-20191130-git.tgz";
+      sha256 = "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12";
+      system = "xembed";
+      asd = "xembed";
+    });
+    systems = [ "xembed" ];
+    lispLibs = [ (getAttr "clx" pkgs) ];
+  };
+  xfactory = {
+    pname = "xfactory";
+    version = "20130615-git";
+    asds = [ "xfactory" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz";
+      sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw";
+      system = "xfactory";
+      asd = "xfactory";
+    });
+    systems = [ "xfactory" ];
+    lispLibs = [ (getAttr "cl-libxml2" pkgs) ];
+  };
+  xfactory-test = {
+    pname = "xfactory-test";
+    version = "20130615-git";
+    asds = [ "xfactory-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz";
+      sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw";
+      system = "xfactory-test";
+      asd = "xfactory";
+    });
+    systems = [ "xfactory-test" ];
+    lispLibs = [ (getAttr "xfactory" pkgs) (getAttr "lift" pkgs) ];
+  };
+  xhtmlambda = {
+    pname = "xhtmlambda";
+    version = "20211209-git";
+    asds = [ "xhtmlambda" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xhtmlambda/2021-12-09/xhtmlambda-20211209-git.tgz";
+      sha256 = "1yj0c3craphjx447ivg59lvfkrgp8kgb28h1iw7y5ab9pblvbwc2";
+      system = "xhtmlambda";
+      asd = "xhtmlambda";
+    });
+    systems = [ "xhtmlambda" ];
+    lispLibs = [ (getAttr "cl-unicode" pkgs) ];
+  };
+  xhtmlgen = {
+    pname = "xhtmlgen";
+    version = "20170124-git";
+    asds = [ "xhtmlgen" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xhtmlgen/2017-01-24/xhtmlgen-20170124-git.tgz";
+      sha256 = "0br4pqhl7y7rd95l9xx2p96gds3dh4pgk9v038wbshl2dnhjv82k";
+      system = "xhtmlgen";
+      asd = "xhtmlgen";
+    });
+    systems = [ "xhtmlgen" ];
+    lispLibs = [ (getAttr "cxml" pkgs) ];
+  };
+  xhtmlgen-test = {
+    pname = "xhtmlgen-test";
+    version = "20170124-git";
+    asds = [ "xhtmlgen-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xhtmlgen/2017-01-24/xhtmlgen-20170124-git.tgz";
+      sha256 = "0br4pqhl7y7rd95l9xx2p96gds3dh4pgk9v038wbshl2dnhjv82k";
+      system = "xhtmlgen-test";
+      asd = "xhtmlgen";
+    });
+    systems = [ "xhtmlgen-test" ];
+    lispLibs = [ (getAttr "rt" pkgs) (getAttr "xhtmlgen" pkgs) ];
+  };
+  xkeyboard = {
+    pname = "xkeyboard";
+    version = "20120811-git";
+    asds = [ "xkeyboard" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clx-xkeyboard/2012-08-11/clx-xkeyboard-20120811-git.tgz";
+      sha256 = "1nxky9wsmm7nmwz372jgb4iy0ywlm22jw0vl8yi0k9slsfklvcqi";
+      system = "xkeyboard";
+      asd = "xkeyboard";
+    });
+    systems = [ "xkeyboard" ];
+    lispLibs = [ (getAttr "clx" pkgs) ];
+  };
+  xkeyboard-test = {
+    pname = "xkeyboard-test";
+    version = "20120811-git";
+    asds = [ "xkeyboard-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/clx-xkeyboard/2012-08-11/clx-xkeyboard-20120811-git.tgz";
+      sha256 = "1nxky9wsmm7nmwz372jgb4iy0ywlm22jw0vl8yi0k9slsfklvcqi";
+      system = "xkeyboard-test";
+      asd = "xkeyboard";
+    });
+    systems = [ "xkeyboard-test" ];
+    lispLibs = [ (getAttr "xkeyboard" pkgs) ];
+  };
+  xlsx = {
+    pname = "xlsx";
+    version = "20180711-git";
+    asds = [ "xlsx" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xlsx/2018-07-11/xlsx-20180711-git.tgz";
+      sha256 = "15vw5zl13jg9b1rla7w2wv6ss93mijrnn9fzsh0fakgvfikqq1n6";
+      system = "xlsx";
+      asd = "xlsx";
+    });
+    systems = [ "xlsx" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) (getAttr "xmls" pkgs) (getAttr "zip" pkgs) ];
+  };
+  xlunit = {
+    pname = "xlunit";
+    version = "20150923-git";
+    asds = [ "xlunit" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xlunit/2015-09-23/xlunit-20150923-git.tgz";
+      sha256 = "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3";
+      system = "xlunit";
+      asd = "xlunit";
+    });
+    systems = [ "xlunit" ];
+    lispLibs = [  ];
+  };
+  xlunit-tests = {
+    pname = "xlunit-tests";
+    version = "20150923-git";
+    asds = [ "xlunit-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xlunit/2015-09-23/xlunit-20150923-git.tgz";
+      sha256 = "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3";
+      system = "xlunit-tests";
+      asd = "xlunit";
+    });
+    systems = [ "xlunit-tests" ];
+    lispLibs = [ (getAttr "xlunit" pkgs) ];
+  };
+  xml-emitter = {
+    pname = "xml-emitter";
+    version = "20200218-git";
+    asds = [ "xml-emitter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xml-emitter/2020-02-18/xml-emitter-20200218-git.tgz";
+      sha256 = "1w9yx8gc4imimvjqkhq8yzpg3kjrp2y37rjix5c1lnz4s7bxvhk9";
+      system = "xml-emitter";
+      asd = "xml-emitter";
+    });
+    systems = [ "xml-emitter" ];
+    lispLibs = [ (getAttr "cl-utilities" pkgs) ];
+  };
+  xml-emitter_slash_tests = {
+    pname = "xml-emitter_tests";
+    version = "20200218-git";
+    asds = [ "xml-emitter" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xml-emitter/2020-02-18/xml-emitter-20200218-git.tgz";
+      sha256 = "1w9yx8gc4imimvjqkhq8yzpg3kjrp2y37rjix5c1lnz4s7bxvhk9";
+      system = "xml-emitter";
+      asd = "xml-emitter";
+    });
+    systems = [ "xml-emitter/tests" ];
+    lispLibs = [ (getAttr "_1am" pkgs) (getAttr "xml-emitter" pkgs) ];
+  };
+  xml-mop = {
+    pname = "xml-mop";
+    version = "20110418-git";
+    asds = [ "xml-mop" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xml-mop/2011-04-18/xml-mop-20110418-git.tgz";
+      sha256 = "1vfa3h5dghnpc7qbqqm80mm1ri6x7x5r528kvkwzngghrbxyhgjr";
+      system = "xml-mop";
+      asd = "xml-mop";
+    });
+    systems = [ "xml-mop" ];
+    lispLibs = [ (getAttr "closer-mop" pkgs) (getAttr "s-xml" pkgs) ];
+  };
+  xml-render = {
+    pname = "xml-render";
+    version = "20210531-git";
+    asds = [ "xml-render" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-typesetting/2021-05-31/cl-typesetting-20210531-git.tgz";
+      sha256 = "0fcs5mq0gxfczbrg7ay8r4bf5r4g6blvpdbjkhcl8dapcikyn35h";
+      system = "xml-render";
+      asd = "xml-render";
+    });
+    systems = [ "xml-render" ];
+    lispLibs = [ (getAttr "cl-typesetting" pkgs) (getAttr "xmls" pkgs) ];
+  };
+  xml_dot_location = {
+    pname = "xml.location";
+    version = "20200325-git";
+    asds = [ "xml.location" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xml.location/2020-03-25/xml.location-20200325-git.tgz";
+      sha256 = "0ajl03k7krns6b0z3ykmngq3i77yd2j85z3h76drlc9whxvm2kii";
+      system = "xml.location";
+      asd = "xml.location";
+    });
+    systems = [ "xml.location" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "closer-mop" pkgs) (getAttr "cxml-stp" pkgs) (getAttr "iterate" pkgs) (getAttr "let-plus" pkgs) (getAttr "more-conditions" pkgs) (getAttr "xpath" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  xml_dot_location-and-local-time = {
+    pname = "xml.location-and-local-time";
+    version = "20200325-git";
+    asds = [ "xml.location-and-local-time" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xml.location/2020-03-25/xml.location-20200325-git.tgz";
+      sha256 = "0ajl03k7krns6b0z3ykmngq3i77yd2j85z3h76drlc9whxvm2kii";
+      system = "xml.location-and-local-time";
+      asd = "xml.location-and-local-time";
+    });
+    systems = [ "xml.location-and-local-time" ];
+    lispLibs = [ (getAttr "local-time" pkgs) (getAttr "xml_dot_location" pkgs) ];
+  };
+  xml_dot_location_slash_test = {
+    pname = "xml.location_test";
+    version = "20200325-git";
+    asds = [ "xml.location" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xml.location/2020-03-25/xml.location-20200325-git.tgz";
+      sha256 = "0ajl03k7krns6b0z3ykmngq3i77yd2j85z3h76drlc9whxvm2kii";
+      system = "xml.location";
+      asd = "xml.location";
+    });
+    systems = [ "xml.location/test" ];
+    lispLibs = [ (getAttr "lift" pkgs) (getAttr "xml_dot_location" pkgs) ];
+  };
+  xmls = {
+    pname = "xmls";
+    version = "3.0.2";
+    asds = [ "xmls" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xmls/2018-04-30/xmls-3.0.2.tgz";
+      sha256 = "0wsacg04lhimi8n22mgdhn84vmwzgmgwb935iybac2r6595ns0si";
+      system = "xmls";
+      asd = "xmls";
+    });
+    systems = [ "xmls" ];
+    lispLibs = [  ];
+  };
+  xmls_slash_octets = {
+    pname = "xmls_octets";
+    version = "3.0.2";
+    asds = [ "xmls" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xmls/2018-04-30/xmls-3.0.2.tgz";
+      sha256 = "0wsacg04lhimi8n22mgdhn84vmwzgmgwb935iybac2r6595ns0si";
+      system = "xmls";
+      asd = "xmls";
+    });
+    systems = [ "xmls/octets" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "xmls" pkgs) ];
+  };
+  xmls_slash_test = {
+    pname = "xmls_test";
+    version = "3.0.2";
+    asds = [ "xmls" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xmls/2018-04-30/xmls-3.0.2.tgz";
+      sha256 = "0wsacg04lhimi8n22mgdhn84vmwzgmgwb935iybac2r6595ns0si";
+      system = "xmls";
+      asd = "xmls";
+    });
+    systems = [ "xmls/test" ];
+    lispLibs = [ (getAttr "xmls" pkgs) ];
+  };
+  xmls_slash_unit-test = {
+    pname = "xmls_unit-test";
+    version = "3.0.2";
+    asds = [ "xmls" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xmls/2018-04-30/xmls-3.0.2.tgz";
+      sha256 = "0wsacg04lhimi8n22mgdhn84vmwzgmgwb935iybac2r6595ns0si";
+      system = "xmls";
+      asd = "xmls";
+    });
+    systems = [ "xmls/unit-test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "xmls" pkgs) ];
+  };
+  xoverlay = {
+    pname = "xoverlay";
+    version = "20130615-git";
+    asds = [ "xoverlay" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-libxml2/2013-06-15/cl-libxml2-20130615-git.tgz";
+      sha256 = "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw";
+      system = "xoverlay";
+      asd = "xoverlay";
+    });
+    systems = [ "xoverlay" ];
+    lispLibs = [ (getAttr "cl-libxml2" pkgs) ];
+  };
+  xpath = {
+    pname = "xpath";
+    version = "20190521-git";
+    asds = [ "xpath" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plexippus-xpath/2019-05-21/plexippus-xpath-20190521-git.tgz";
+      sha256 = "1fb03fgnzrvh22lw1jdg04pmyja5fib5n42rzwp5mhr829yvxkvp";
+      system = "xpath";
+      asd = "xpath";
+    });
+    systems = [ "xpath" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "yacc" pkgs) (getAttr "cxml" pkgs) (getAttr "parse-number" pkgs) ];
+  };
+  xpath_slash_test = {
+    pname = "xpath_test";
+    version = "20190521-git";
+    asds = [ "xpath" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/plexippus-xpath/2019-05-21/plexippus-xpath-20190521-git.tgz";
+      sha256 = "1fb03fgnzrvh22lw1jdg04pmyja5fib5n42rzwp5mhr829yvxkvp";
+      system = "xpath";
+      asd = "xpath";
+    });
+    systems = [ "xpath/test" ];
+    lispLibs = [ (getAttr "xpath" pkgs) ];
+  };
+  xptest = {
+    pname = "xptest";
+    version = "20150923-git";
+    asds = [ "xptest" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xptest/2015-09-23/xptest-20150923-git.tgz";
+      sha256 = "02jwncq5d60l77gf87ahabzg6k6c878gfc4x1mf6ld97rj5lzp3b";
+      system = "xptest";
+      asd = "xptest";
+    });
+    systems = [ "xptest" ];
+    lispLibs = [  ];
+  };
+  xsubseq = {
+    pname = "xsubseq";
+    version = "20170830-git";
+    asds = [ "xsubseq" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xsubseq/2017-08-30/xsubseq-20170830-git.tgz";
+      sha256 = "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px";
+      system = "xsubseq";
+      asd = "xsubseq";
+    });
+    systems = [ "xsubseq" ];
+    lispLibs = [  ];
+  };
+  xsubseq-test = {
+    pname = "xsubseq-test";
+    version = "20170830-git";
+    asds = [ "xsubseq-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xsubseq/2017-08-30/xsubseq-20170830-git.tgz";
+      sha256 = "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px";
+      system = "xsubseq-test";
+      asd = "xsubseq-test";
+    });
+    systems = [ "xsubseq-test" ];
+    lispLibs = [ (getAttr "prove" pkgs) (getAttr "prove-asdf" pkgs) (getAttr "xsubseq" pkgs) ];
+  };
+  xuriella = {
+    pname = "xuriella";
+    version = "20120305-git";
+    asds = [ "xuriella" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/xuriella/2012-03-05/xuriella-20120305-git.tgz";
+      sha256 = "0wz98bfvr7h7g0r7dy815brq5sz3x40281hp0qk801q17aa4qhqh";
+      system = "xuriella";
+      asd = "xuriella";
+    });
+    systems = [ "xuriella" ];
+    lispLibs = [ (getAttr "closure-html" pkgs) (getAttr "cxml" pkgs) (getAttr "cxml-stp" pkgs) (getAttr "xpath" pkgs) (getAttr "split-sequence" pkgs) ];
+  };
+  yacc = {
+    pname = "yacc";
+    version = "20101006-darcs";
+    asds = [ "yacc" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-yacc/2010-10-06/cl-yacc-20101006-darcs.tgz";
+      sha256 = "16946pzf8vvadnyfayvj8rbh4zjzw90h0azz2qk1mxrvhh5wklib";
+      system = "yacc";
+      asd = "yacc";
+    });
+    systems = [ "yacc" ];
+    lispLibs = [  ];
+  };
+  yaclml = {
+    pname = "yaclml";
+    version = "20180131-git";
+    asds = [ "yaclml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/yaclml/2018-01-31/yaclml-20180131-git.tgz";
+      sha256 = "0wq6clk4qwbdaf0hcfjz4vg27nyf6ng0rrip1ay4rlkb03hdnssq";
+      system = "yaclml";
+      asd = "yaclml";
+    });
+    systems = [ "yaclml" ];
+    lispLibs = [ (getAttr "arnesi" pkgs) (getAttr "iterate" pkgs) ];
+  };
+  yaclml_slash_test = {
+    pname = "yaclml_test";
+    version = "20180131-git";
+    asds = [ "yaclml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/yaclml/2018-01-31/yaclml-20180131-git.tgz";
+      sha256 = "0wq6clk4qwbdaf0hcfjz4vg27nyf6ng0rrip1ay4rlkb03hdnssq";
+      system = "yaclml";
+      asd = "yaclml";
+    });
+    systems = [ "yaclml/test" ];
+    lispLibs = [ (getAttr "fiveam" pkgs) (getAttr "yaclml" pkgs) ];
+  };
+  yadd = {
+    pname = "yadd";
+    version = "master-83d7b044-git";
+    asds = [ "yadd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/gendl/2021-12-30/gendl-master-83d7b044-git.tgz";
+      sha256 = "0562ibvalijlj0bw39azishyyy3wxjbksqm69h812dgb7k7kmf2r";
+      system = "yadd";
+      asd = "yadd";
+    });
+    systems = [ "yadd" ];
+    lispLibs = [ (getAttr "cl-html-parse" pkgs) (getAttr "gwl-graphics" pkgs) ];
+  };
+  yason = {
+    pname = "yason";
+    version = "v0.7.8";
+    asds = [ "yason" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/yason/2019-12-27/yason-v0.7.8.tgz";
+      sha256 = "0zxs80m97pb9wbjqi1g1rsrk8cm2rncxnmw4rmczdkhz1ni9sgdl";
+      system = "yason";
+      asd = "yason";
+    });
+    systems = [ "yason" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  youtube = {
+    pname = "youtube";
+    version = "20191227-git";
+    asds = [ "youtube" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/youtube/2019-12-27/youtube-20191227-git.tgz";
+      sha256 = "0rqbyxgb9v3m8rwx2agaz7cq83w9k8gy5wl5wbw0rfg7r88ah5z0";
+      system = "youtube";
+      asd = "youtube";
+    });
+    systems = [ "youtube" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "yason" pkgs) ];
+  };
+  yxorp = {
+    pname = "yxorp";
+    version = "20211209-git";
+    asds = [ "yxorp" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-yxorp/2021-12-09/cl-yxorp-20211209-git.tgz";
+      sha256 = "0ll1s9w29yhhgqssgiw58fcapw4n040gkvpz4sxwv3q2v60rbidj";
+      system = "yxorp";
+      asd = "yxorp";
+    });
+    systems = [ "yxorp" ];
+    lispLibs = [ (getAttr "binding-arrows" pkgs) (getAttr "chipz" pkgs) (getAttr "chunga" pkgs) (getAttr "cl_plus_ssl" pkgs) (getAttr "str" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "rutils" pkgs) (getAttr "salza2" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "usocket" pkgs) (getAttr "usocket-server" pkgs) ];
+  };
+  zacl = {
+    pname = "zacl";
+    version = "20210807-git";
+    asds = [ "zacl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zacl/2021-08-07/zacl-20210807-git.tgz";
+      sha256 = "1lvc8hljvd3ngx7l8j8yffyvdfjhsph13qqhxyzlx1g8wgk145mn";
+      system = "zacl";
+      asd = "zacl";
+    });
+    systems = [ "zacl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "cl_plus_ssl" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "cl-store" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "local-time" pkgs) (getAttr "md5" pkgs) (getAttr "queues_dot_simple-queue" pkgs) (getAttr "quri" pkgs) (getAttr "split-sequence" pkgs) (getAttr "trivial-backtrace" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "uiop" pkgs) (getAttr "usocket" pkgs) ];
+  };
+  zaserve = {
+    pname = "zaserve";
+    version = "20211209-git";
+    asds = [ "zaserve" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/aserve/2021-12-09/aserve-20211209-git.tgz";
+      sha256 = "06bm9j873xwidvqn6n838b0gvsqs486z5k210l1i0vv8zc4lznxv";
+      system = "zaserve";
+      asd = "zaserve";
+    });
+    systems = [ "zaserve" ];
+    lispLibs = [ (getAttr "zacl" pkgs) ];
+  };
+  zaws = {
+    pname = "zaws";
+    version = "20150407-git";
+    asds = [ "zaws" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zaws/2015-04-07/zaws-20150407-git.tgz";
+      sha256 = "1iwjyqzm4b44in7i53z5lp8n4gzsi27ch02ql6y2vxbmq3sqffaw";
+      system = "zaws";
+      asd = "zaws";
+    });
+    systems = [ "zaws" ];
+    lispLibs = [ (getAttr "cl-base64" pkgs) (getAttr "drakma" pkgs) (getAttr "flexi-streams" pkgs) (getAttr "ironclad" pkgs) ];
+  };
+  zaws-xml = {
+    pname = "zaws-xml";
+    version = "20150407-git";
+    asds = [ "zaws-xml" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zaws/2015-04-07/zaws-20150407-git.tgz";
+      sha256 = "1iwjyqzm4b44in7i53z5lp8n4gzsi27ch02ql6y2vxbmq3sqffaw";
+      system = "zaws-xml";
+      asd = "zaws-xml";
+    });
+    systems = [ "zaws-xml" ];
+    lispLibs = [ (getAttr "cxml" pkgs) ];
+  };
+  zbucium = {
+    pname = "zbucium";
+    version = "20190710-git";
+    asds = [ "zbucium" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zbucium/2019-07-10/zbucium-20190710-git.tgz";
+      sha256 = "112qx8lwcsaipnnypv2jr57lwhlgzb5n53wgck3r66b8vjjb91gy";
+      system = "zbucium";
+      asd = "zbucium";
+    });
+    systems = [ "zbucium" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "bordeaux-threads" pkgs) (getAttr "drakma" pkgs) (getAttr "fare-memoization" pkgs) (getAttr "generators" pkgs) (getAttr "lastfm" pkgs) (getAttr "local-time" pkgs) (getAttr "lquery" pkgs) (getAttr "lyrics" pkgs) (getAttr "plump" pkgs) (getAttr "yason" pkgs) (getAttr "youtube" pkgs) ];
+  };
+  zcdb = {
+    pname = "zcdb";
+    version = "1.0.4";
+    asds = [ "zcdb" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zcdb/2015-04-07/zcdb-1.0.4.tgz";
+      sha256 = "1g83hqivh40xrpifm9v1vx92h13g5kzn12fjrlk57fyl1qwjqdi7";
+      system = "zcdb";
+      asd = "zcdb";
+    });
+    systems = [ "zcdb" ];
+    lispLibs = [  ];
+  };
+  zenekindarl = {
+    pname = "zenekindarl";
+    version = "20171130-git";
+    asds = [ "zenekindarl" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zenekindarl/2017-11-30/zenekindarl-20171130-git.tgz";
+      sha256 = "104y98j8fjj4wry55mhgv3g6358h5n1qcbhpn19b27b8cs8gqwib";
+      system = "zenekindarl";
+      asd = "zenekindarl";
+    });
+    systems = [ "zenekindarl" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "anaphora" pkgs) (getAttr "babel" pkgs) (getAttr "cl-annot" pkgs) (getAttr "cl-ppcre" pkgs) (getAttr "fast-io" pkgs) (getAttr "html-encode" pkgs) (getAttr "maxpc" pkgs) (getAttr "optima" pkgs) ];
+  };
+  zenekindarl-test = {
+    pname = "zenekindarl-test";
+    version = "20171130-git";
+    asds = [ "zenekindarl-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zenekindarl/2017-11-30/zenekindarl-20171130-git.tgz";
+      sha256 = "104y98j8fjj4wry55mhgv3g6358h5n1qcbhpn19b27b8cs8gqwib";
+      system = "zenekindarl-test";
+      asd = "zenekindarl-test";
+    });
+    systems = [ "zenekindarl-test" ];
+    lispLibs = [ (getAttr "flexi-streams" pkgs) (getAttr "prove" pkgs) (getAttr "zenekindarl" pkgs) ];
+  };
+  zeromq = {
+    pname = "zeromq";
+    version = "20160318-git";
+    asds = [ "zeromq" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-zmq/2016-03-18/cl-zmq-20160318-git.tgz";
+      sha256 = "0g19ych3n57qdd42m0bcdcrq8c1p0fqzz07xrxl0s0g8bms3a3ga";
+      system = "zeromq";
+      asd = "zeromq";
+    });
+    systems = [ "zeromq" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "trivial-garbage" pkgs) ];
+  };
+  zeromq_dot_tests = {
+    pname = "zeromq.tests";
+    version = "20160318-git";
+    asds = [ "zeromq.tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-zmq/2016-03-18/cl-zmq-20160318-git.tgz";
+      sha256 = "0g19ych3n57qdd42m0bcdcrq8c1p0fqzz07xrxl0s0g8bms3a3ga";
+      system = "zeromq.tests";
+      asd = "zeromq";
+    });
+    systems = [ "zeromq.tests" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "zeromq" pkgs) (getAttr "fiveam" pkgs) ];
+  };
+  zip = {
+    pname = "zip";
+    version = "20150608-git";
+    asds = [ "zip" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zip/2015-06-08/zip-20150608-git.tgz";
+      sha256 = "0s08a6fq182fzsbfyvihqbdllq6gxcwkvphxnrd9wwz65dhg5y66";
+      system = "zip";
+      asd = "zip";
+    });
+    systems = [ "zip" ];
+    lispLibs = [ (getAttr "babel" pkgs) (getAttr "cl-fad" pkgs) (getAttr "salza2" pkgs) (getAttr "trivial-gray-streams" pkgs) ];
+  };
+  zippy = {
+    pname = "zippy";
+    version = "20211209-git";
+    asds = [ "zippy" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zippy/2021-12-09/zippy-20211209-git.tgz";
+      sha256 = "0hr0ixbm4x4q6ryzxm0wqyzf8vr7br1by965484snavx77klq6mp";
+      system = "zippy";
+      asd = "zippy";
+    });
+    systems = [ "zippy" ];
+    lispLibs = [ (getAttr "_3bz" pkgs) (getAttr "alexandria" pkgs) (getAttr "babel" pkgs) (getAttr "documentation-utils" pkgs) (getAttr "file-attributes" pkgs) (getAttr "nibbles" pkgs) (getAttr "pathname-utils" pkgs) (getAttr "salza2" pkgs) ];
+  };
+  ziz = {
+    pname = "ziz";
+    version = "20191007-git";
+    asds = [ "ziz" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/ziz/2019-10-07/ziz-20191007-git.tgz";
+      sha256 = "1rh6ixkyyj7y9jkw046m4ilmr8a12ylzm0a7sm8mjybdpkh6bk30";
+      system = "ziz";
+      asd = "ziz";
+    });
+    systems = [ "ziz" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "hunchentoot" pkgs) (getAttr "ironclad" pkgs) (getAttr "trivial-file-size" pkgs) ];
+  };
+  zlib = {
+    pname = "zlib";
+    version = "20170403-git";
+    asds = [ "zlib" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zlib/2017-04-03/zlib-20170403-git.tgz";
+      sha256 = "1gz771h2q3xhw1yxpwki5zr9mqysa818vn21501w6fsi8wlmlffa";
+      system = "zlib";
+      asd = "zlib";
+    });
+    systems = [ "zlib" ];
+    lispLibs = [  ];
+  };
+  zmq = {
+    pname = "zmq";
+    version = "20200218-git";
+    asds = [ "zmq" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-zmq/2020-02-18/lisp-zmq-20200218-git.tgz";
+      sha256 = "01aavmnn2lbsaq957p1qll21hmhvhkrqhq3kazmz88sc40x1n0ld";
+      system = "zmq";
+      asd = "zmq";
+    });
+    systems = [ "zmq" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "trivial-features" pkgs) ];
+  };
+  zmq-examples = {
+    pname = "zmq-examples";
+    version = "20200218-git";
+    asds = [ "zmq-examples" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-zmq/2020-02-18/lisp-zmq-20200218-git.tgz";
+      sha256 = "01aavmnn2lbsaq957p1qll21hmhvhkrqhq3kazmz88sc40x1n0ld";
+      system = "zmq-examples";
+      asd = "zmq-examples";
+    });
+    systems = [ "zmq-examples" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "zmq" pkgs) ];
+  };
+  zmq-test = {
+    pname = "zmq-test";
+    version = "20200218-git";
+    asds = [ "zmq-test" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/lisp-zmq/2020-02-18/lisp-zmq-20200218-git.tgz";
+      sha256 = "01aavmnn2lbsaq957p1qll21hmhvhkrqhq3kazmz88sc40x1n0ld";
+      system = "zmq-test";
+      asd = "zmq-test";
+    });
+    systems = [ "zmq-test" ];
+    lispLibs = [ (getAttr "bordeaux-threads" pkgs) (getAttr "fiveam" pkgs) (getAttr "zmq" pkgs) ];
+  };
+  zpb-exif = {
+    pname = "zpb-exif";
+    version = "release-1.2.5";
+    asds = [ "zpb-exif" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zpb-exif/2021-01-24/zpb-exif-release-1.2.5.tgz";
+      sha256 = "0h1n36lfl8xn8rfyl5jxz9m8zlg0if2avmryas79f684yczrvdnd";
+      system = "zpb-exif";
+      asd = "zpb-exif";
+    });
+    systems = [ "zpb-exif" ];
+    lispLibs = [  ];
+  };
+  zpb-ttf = {
+    pname = "zpb-ttf";
+    version = "release-1.0.4";
+    asds = [ "zpb-ttf" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zpb-ttf/2021-01-24/zpb-ttf-release-1.0.4.tgz";
+      sha256 = "1ziwlfys15m95hh5c54g3xv78vjxadd6qi9zf9kvd2bv70qsixqk";
+      system = "zpb-ttf";
+      asd = "zpb-ttf";
+    });
+    systems = [ "zpb-ttf" ];
+    lispLibs = [  ];
+  };
+  zpng = {
+    pname = "zpng";
+    version = "1.2.2";
+    asds = [ "zpng" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zpng/2015-04-07/zpng-1.2.2.tgz";
+      sha256 = "0b3ag3jhl3z7kdls3ahdsdxsfhhw5qrizk769984f4wkxhb69rcm";
+      system = "zpng";
+      asd = "zpng";
+    });
+    systems = [ "zpng" ];
+    lispLibs = [ (getAttr "salza2" pkgs) ];
+  };
+  zs3 = {
+    pname = "zs3";
+    version = "1.3.3";
+    asds = [ "zs3" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zs3/2019-10-07/zs3-1.3.3.tgz";
+      sha256 = "186v95wgsj2hkxdw2jl9x1w4fddjclp7arp0rrd9vf5ly8h8sbf3";
+      system = "zs3";
+      asd = "zs3";
+    });
+    systems = [ "zs3" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) (getAttr "cl-base64" pkgs) (getAttr "cxml" pkgs) (getAttr "drakma" pkgs) (getAttr "ironclad" pkgs) (getAttr "puri" pkgs) ];
+  };
+  zsort = {
+    pname = "zsort";
+    version = "20120520-git";
+    asds = [ "zsort" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/zsort/2012-05-20/zsort-20120520-git.tgz";
+      sha256 = "1vyklyh99712zsll4qi0m4mm8yb1nz04403vl8i57bjv5p5max49";
+      system = "zsort";
+      asd = "zsort";
+    });
+    systems = [ "zsort" ];
+    lispLibs = [ (getAttr "alexandria" pkgs) ];
+  };
+  zstd = {
+    pname = "zstd";
+    version = "20210124-git";
+    asds = [ "zstd" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-zstd/2021-01-24/cl-zstd-20210124-git.tgz";
+      sha256 = "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql";
+      system = "zstd";
+      asd = "zstd";
+    });
+    systems = [ "zstd" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cl-octet-streams" pkgs) ];
+  };
+  zstd-tests = {
+    pname = "zstd-tests";
+    version = "20210124-git";
+    asds = [ "zstd-tests" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-zstd/2021-01-24/cl-zstd-20210124-git.tgz";
+      sha256 = "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql";
+      system = "zstd-tests";
+      asd = "zstd-tests";
+    });
+    systems = [ "zstd-tests" ];
+    lispLibs = [ (getAttr "cl-octet-streams" pkgs) (getAttr "zstd" pkgs) (getAttr "fiveam" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  zyre = {
+    pname = "zyre";
+    version = "20200925-git";
+    asds = [ "zyre" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-zyre/2020-09-25/cl-zyre-20200925-git.tgz";
+      sha256 = "1pfb176k655hxksyrans5j43ridvpkl8q8h6d37zgi2z4iiz15wv";
+      system = "zyre";
+      asd = "zyre";
+    });
+    systems = [ "zyre" ];
+    lispLibs = [ (getAttr "cffi" pkgs) (getAttr "cffi-grovel" pkgs) (getAttr "trivia" pkgs) (getAttr "trivial-garbage" pkgs) (getAttr "uiop" pkgs) ];
+  };
+  zyre_slash_tock-client = {
+    pname = "zyre_tock-client";
+    version = "20200925-git";
+    asds = [ "zyre" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-zyre/2020-09-25/cl-zyre-20200925-git.tgz";
+      sha256 = "1pfb176k655hxksyrans5j43ridvpkl8q8h6d37zgi2z4iiz15wv";
+      system = "zyre";
+      asd = "zyre";
+    });
+    systems = [ "zyre/tock-client" ];
+    lispLibs = [ (getAttr "zyre" pkgs) (getAttr "local-time" pkgs) (getAttr "local-time-duration" pkgs) ];
+  };
+  zyre_slash_tock-server = {
+    pname = "zyre_tock-server";
+    version = "20200925-git";
+    asds = [ "zyre" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-zyre/2020-09-25/cl-zyre-20200925-git.tgz";
+      sha256 = "1pfb176k655hxksyrans5j43ridvpkl8q8h6d37zgi2z4iiz15wv";
+      system = "zyre";
+      asd = "zyre";
+    });
+    systems = [ "zyre/tock-server" ];
+    lispLibs = [ (getAttr "zyre" pkgs) (getAttr "local-time" pkgs) (getAttr "local-time-duration" pkgs) ];
+  };
+  zyre_slash_zpinger = {
+    pname = "zyre_zpinger";
+    version = "20200925-git";
+    asds = [ "zyre" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-zyre/2020-09-25/cl-zyre-20200925-git.tgz";
+      sha256 = "1pfb176k655hxksyrans5j43ridvpkl8q8h6d37zgi2z4iiz15wv";
+      system = "zyre";
+      asd = "zyre";
+    });
+    systems = [ "zyre/zpinger" ];
+    lispLibs = [ (getAttr "cl-ppcre" pkgs) (getAttr "zyre" pkgs) (getAttr "log4cl" pkgs) ];
+  };
+  zyre_slash_zyredir = {
+    pname = "zyre_zyredir";
+    version = "20200925-git";
+    asds = [ "zyre" ];
+    src = (createAsd {
+      url = "http://beta.quicklisp.org/archive/cl-zyre/2020-09-25/cl-zyre-20200925-git.tgz";
+      sha256 = "1pfb176k655hxksyrans5j43ridvpkl8q8h6d37zgi2z4iiz15wv";
+      system = "zyre";
+      asd = "zyre";
+    });
+    systems = [ "zyre/zyredir" ];
+    lispLibs = [ (getAttr "cl-json" pkgs) (getAttr "zyre" pkgs) ];
+  };
+}
diff --git a/pkgs/development/lisp-modules-new/lisp-packages.nix b/pkgs/development/lisp-modules-new/lisp-packages.nix
new file mode 100644
index 00000000000..3e10f870759
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/lisp-packages.nix
@@ -0,0 +1,432 @@
+# TODO:
+# - faster build by using lisp with preloaded asdf?
+# - dont include java libs unless abcl?
+# - dont use build-asdf-system to build lispWithPackages?
+# - make the lisp packages overridable? (e.g. buildInputs glibc->musl)
+# - build asdf with nix and use that instead of one shipped with impls
+#   (e.g. to fix build with clisp - does anyone use clisp?)
+# - claspPackages ? (gotta package clasp with nix first)
+# - hard one: remove unrelated sources ( of systems not being built)
+# - figure out a less awkward way to patch sources
+#   (have to build from src directly for SLIME to work, so can't just patch sources in place)
+
+{ pkgs, lib, stdenv, ... }:
+
+
+let
+
+  inherit (lib)
+    length
+    filter
+    foldl
+    unique
+    id
+    concat
+    concatMap
+    mutuallyExclusive
+    findFirst
+    remove
+    setAttr
+    getAttr
+    hasAttr
+    attrNames
+    attrValues
+    filterAttrs
+    mapAttrs
+    splitString
+    concatStringsSep
+    concatMapStringsSep
+    replaceStrings
+    removeSuffix
+    hasInfix
+    optionalString
+    makeLibraryPath
+    makeSearchPath
+  ;
+
+  inherit (builtins)
+    head
+    tail
+    elem
+    split
+    storeDir;
+
+  # Returns a flattened dependency tree without duplicates
+  # This is probably causing performance problems...
+  flattenedDeps = lispLibs:
+    let
+      walk = acc: node:
+        if length node.lispLibs == 0
+        then acc
+        else foldl walk (acc ++ node.lispLibs) node.lispLibs;
+    in unique (walk [] { inherit lispLibs; });
+
+  # Stolen from python-packages.nix
+  # Actually no idea how this works
+  makeOverridableLispPackage = f: origArgs:
+    let
+      ff = f origArgs;
+      overrideWith = newArgs: origArgs // (if pkgs.lib.isFunction newArgs then newArgs origArgs else newArgs);
+    in
+      if builtins.isAttrs ff then (ff // {
+        overrideLispAttrs = newArgs: makeOverridableLispPackage f (overrideWith newArgs);
+      })
+      else if builtins.isFunction ff then {
+        overrideLispAttrs = newArgs: makeOverridableLispPackage f (overrideWith newArgs);
+        __functor = self: ff;
+      }
+      else ff;
+
+  #
+  # Wrapper around stdenv.mkDerivation for building ASDF systems.
+  #
+  build-asdf-system = makeOverridableLispPackage (
+    { pname,
+      version,
+      src ? null,
+      patches ? [],
+
+      # Native libraries, will be appended to the library path
+      nativeLibs ? [],
+
+      # Java libraries for ABCL, will be appended to the class path
+      javaLibs ? [],
+
+      # Lisp dependencies
+      # these should be packages built with `build-asdf-system`
+      lispLibs ? [],
+
+      # Lisp command to run buildScript
+      lisp,
+
+      # Some libraries have multiple systems under one project, for
+      # example, cffi has cffi-grovel, cffi-toolchain etc.  By
+      # default, only the `pname` system is build.
+      #
+      # .asd's not listed in `systems` are removed in
+      # installPhase. This prevents asdf from referring to uncompiled
+      # systems on run time.
+      #
+      # Also useful when the pname is differrent than the system name,
+      # such as when using reverse domain naming.
+      systems ? [ pname ],
+
+      # The .asd files that this package provides
+      asds ? systems,
+
+      # Other args to mkDerivation
+      ...
+    } @ args:
+
+    let
+
+      # A little slow for big dependency graphs.
+      # How to make it faster?
+      # Maybe do it in the buildScript in Common Lisp or Bash, instead
+      # of here with Nix?
+      libsFlat = flattenedDeps lispLibs;
+
+    in stdenv.mkDerivation (rec {
+      inherit pname version nativeLibs javaLibs lispLibs lisp systems asds;
+
+      src = if builtins.length patches > 0
+            then apply-patches args
+            else args.src;
+
+      # When src is null, we are building a lispWithPackages and only
+      # want to make use of the dependency environment variables
+      # generated by build-asdf-system
+      dontUnpack = src == null;
+
+
+      # TODO: Do the propagation like for lisp, native and java like this:
+      # https://github.com/teu5us/nix-lisp-overlay/blob/e30dafafa5c1b9a5b0ccc9aaaef9d285d9f0c46b/pkgs/development/lisp-modules/setup-hook.sh
+      # Then remove the "echo >> nix-drvs" from buildScript
+
+      # Tell asdf where to find system definitions of lisp dependencies.
+      #
+      # The "//" ending is important as it makes asdf recurse into
+      # subdirectories when searching for .asd's. This is to support
+      # projects where .asd's aren't in the root directory.
+      CL_SOURCE_REGISTRY = makeSearchPath "/" libsFlat;
+
+      # Tell lisp where to find native dependencies
+      #
+      # Normally generated from lispLibs, but LD_LIBRARY_PATH as a
+      # derivation attr itself can be used as an extension point when
+      # the libs are not in a '/lib' subdirectory
+      LD_LIBRARY_PATH =
+        let
+          libs = concatMap (x: x.nativeLibs) libsFlat;
+          paths = filter (x: x != "") (map (x: x.LD_LIBRARY_PATH) libsFlat);
+          path =
+            makeLibraryPath libs
+            + optionalString (length paths != 0) ":"
+            + concatStringsSep ":" paths;
+        in concatStringsSep ":" (unique (splitString ":" path));
+
+      # Java libraries For ABCL
+      CLASSPATH = makeSearchPath "share/java/*" (concatMap (x: x.javaLibs) libsFlat);
+
+      # Portable script to build the systems.
+      #
+      # `lisp` must evaluate this file then exit immediately. For
+      # example, SBCL's --script flag does just that.
+      #
+      # NOTE:
+      # Every other library worked fine with asdf:compile-system in
+      # buildScript.
+      #
+      # cl-syslog, for some reason, signals that CL-SYSLOG::VALID-SD-ID-P
+      # is undefined with compile-system, but works perfectly with
+      # load-system. Strange.
+      buildScript = pkgs.writeText "build-${pname}.lisp" ''
+        (require :asdf)
+        (dolist (s '(${concatStringsSep " " systems}))
+          (asdf:load-system s))
+      '';
+
+      buildPhase = optionalString (src != null) ''
+        # In addition to lisp dependencies, make asdf see the .asd's
+        # of the systems being built
+        #
+        # *Append* src since `lispLibs` can provide .asd's that are
+        # also in `src` but are not in `systems` (that is, the .asd's
+        # that will be deleted in installPhase). We don't want to
+        # rebuild them, but to load them from lispLibs.
+        #
+        # NOTE: It's important to read files from `src` instead of
+        # from pwd to get go-to-definition working with SLIME
+        export CL_SOURCE_REGISTRY=$CL_SOURCE_REGISTRY:${src}//
+
+        # Similiarily for native deps
+        export LD_LIBRARY_PATH=${makeLibraryPath nativeLibs}:$LD_LIBRARY_PATH
+        export CLASSPATH=${makeSearchPath "share/java/*" javaLibs}:$CLASSPATH
+
+        # Make asdf compile from `src` to pwd and load `lispLibs`
+        # from storeDir. Otherwise it could try to recompile lisp deps.
+        export ASDF_OUTPUT_TRANSLATIONS="${src}:$(pwd):${storeDir}:${storeDir}"
+
+        # Make Nix track the dependencies so that graphs can be generated with
+        # nix-store -q --graph
+        echo "$lispLibs" >> nix-drvs
+        echo "$nativeLibs" >> nix-drvs
+        echo "$javaLibs" >> nix-drvs
+
+        # Finally, compile the systems
+        ${lisp} $buildScript
+      '';
+
+      # Copy compiled files to store
+      #
+      # Make sure to include '$' in regex to prevent skipping
+      # stuff like 'iolib.asdf.asd' for system 'iolib.asd'
+      #
+      # Same with '/': `local-time.asd` for system `cl-postgres+local-time.asd`
+      installPhase =
+        let
+          mkSystemsRegex = systems:
+            concatMapStringsSep "\\|" (replaceStrings ["." "+"] ["[.]" "[+]"]) systems;
+        in
+      ''
+        mkdir -pv $out
+        cp -r * $out
+
+        # Remove all .asd files except for those in `systems`.
+        find $out -name "*.asd" \
+        | grep -v "/\(${mkSystemsRegex systems}\)\.asd$" \
+        | xargs rm -fv || true
+      '';
+
+      # Not sure if it's needed, but caused problems with SBCL
+      # save-lisp-and-die binaries in the past
+      dontStrip = true;
+      dontFixup = true;
+
+    } // args));
+
+  # Need to do that because we always want to compile straight from
+  # `src` for go-to-definition to work in SLIME.
+  apply-patches = { patches, src, ... }:
+    stdenv.mkDerivation {
+      inherit patches src;
+      pname = "source";
+      version = "patched";
+      dontConfigure = true;
+      dontBuild = true;
+      dontStrip = true;
+      dontFixup = true;
+      installPhase = ''
+        mkdir -pv $out
+        cp -r * $out
+      '';
+    };
+
+  # Build the set of lisp packages using `lisp`
+  # These packages are defined manually for one reason or another:
+  # - The library is not in quicklisp
+  # - The library that is in quicklisp is broken
+  # - Special build procedure such as cl-unicode, asdf
+  #
+  # These Probably could be done even in ql.nix
+  # - Want to pin a specific commit
+  # - Want to apply custom patches
+  #
+  # They can use the auto-imported quicklisp packages as dependencies,
+  # but some of those don't work out of the box.
+  #
+  # E.g if a QL package depends on cl-unicode it won't build out of
+  # the box. The dependency has to be rewritten using the manually
+  # fixed cl-unicode.
+  #
+  # This is done by generating a 'fixed' set of Quicklisp packages by
+  # calling quicklispPackagesFor with the right `fixup`.
+  commonLispPackagesFor = lisp:
+    let
+      build-asdf-system' = body: build-asdf-system (body // { inherit lisp; });
+    in import ./packages.nix {
+      inherit pkgs;
+      inherit lisp;
+      inherit quicklispPackagesFor;
+      inherit fixupFor;
+      build-asdf-system = build-asdf-system';
+    };
+
+  # Build the set of packages imported from quicklisp using `lisp`
+  quicklispPackagesFor = { lisp, fixup ? lib.id, build ? build-asdf-system }:
+    let
+      build-asdf-system' = body: build (body // {
+        inherit lisp;
+      });
+    in import ./ql.nix {
+      inherit pkgs;
+      inherit fixup;
+      build-asdf-system = build-asdf-system';
+    };
+
+  # Rewrite deps of pkg to use manually defined packages
+  #
+  # The purpose of manual packages is to customize one package, but
+  # then it has to be propagated everywhere for it to make sense and
+  # have consistency in the package tree.
+  fixupFor = manualPackages: qlPkg:
+    assert (lib.isAttrs qlPkg && !lib.isDerivation qlPkg);
+    let
+      # Make it possible to reuse generated attrs without recursing into oblivion
+      packages = (lib.filterAttrs (n: v: n != qlPkg.pname) manualPackages);
+      substituteLib = pkg:
+        if lib.hasAttr pkg.pname packages
+        then packages.${pkg.pname}
+        else pkg;
+      pkg = substituteLib qlPkg;
+    in pkg // { lispLibs = map substituteLib pkg.lispLibs; };
+
+  makeAttrName = str:
+    removeSuffix
+      "_"
+      (replaceStrings
+        ["+" "." "/"]
+        ["_plus_" "_dot_" "_slash_"]
+        str);
+
+  oldMakeWrapper = pkgs.runCommand "make-wrapper.sh" {} ''
+    substitute ${./old-make-wrapper.sh} $out \
+      --replace @shell@ ${pkgs.bash}/bin/bash
+  '';
+
+  # Creates a lisp wrapper with `packages` installed
+  #
+  # `packages` is a function that takes `clpkgs` - a set of lisp
+  # packages - as argument and returns the list of packages to be
+  # installed
+  lispWithPackagesInternal = clpkgs: packages:
+    # FIXME just use flattenedDeps instead
+    (build-asdf-system rec {
+      lisp = (head (lib.attrValues clpkgs)).lisp;
+      # See dontUnpack in build-asdf-system
+      src = null;
+      pname = baseNameOf (head (split " " lisp));
+      version = "with-packages";
+      lispLibs = packages clpkgs;
+      systems = [];
+    }).overrideAttrs(o: {
+      installPhase = ''
+        # The recent version of makeWrapper causes breakage. For more info see
+        # https://github.com/Uthar/nix-cl/issues/2
+        source ${oldMakeWrapper}
+
+        mkdir -pv $out/bin
+        makeWrapper \
+          ${head (split " " o.lisp)} \
+          $out/bin/${baseNameOf (head (split " " o.lisp))} \
+          --prefix CL_SOURCE_REGISTRY : "${o.CL_SOURCE_REGISTRY}" \
+          --prefix ASDF_OUTPUT_TRANSLATIONS : ${concatStringsSep "::" (flattenedDeps o.lispLibs)}: \
+          --prefix LD_LIBRARY_PATH : "${o.LD_LIBRARY_PATH}" \
+          --prefix LD_LIBRARY_PATH : "${makeLibraryPath o.nativeLibs}" \
+          --prefix CLASSPATH : "${o.CLASSPATH}" \
+          --prefix CLASSPATH : "${makeSearchPath "share/java/*" o.javaLibs}"
+      '';
+    });
+
+  lispWithPackages = lisp:
+    let
+      packages = lispPackagesFor lisp;
+    in lispWithPackagesInternal packages;
+
+  lispPackagesFor = lisp:
+    let
+      packages = commonLispPackagesFor lisp;
+      qlPackages = quicklispPackagesFor {
+        inherit lisp;
+        fixup = fixupFor packages;
+      };
+    in qlPackages // packages;
+
+  commonLispPackages = rec {
+    inherit
+      build-asdf-system
+      lispWithPackagesInternal
+      lispPackagesFor
+      lispWithPackages;
+
+    # Uncomment for debugging/development
+    # inherit
+    #   flattenedDeps
+    #   concatMap
+    #   attrNames
+    #   getAttr
+    #   filterAttrs
+    #   filter
+    #   elem
+    #   unique
+    #   makeAttrName
+    #   length;
+
+    # TODO: uncomment clasp when clasp 1.0.0 is packaged
+
+    # There's got to be a better way than this...
+    # The problem was that with --load everywhere, some
+    # implementations didn't exit with 0 on compilation failure
+    # Maybe a handler-case in buildScript?
+    sbcl  = "${pkgs.sbcl}/bin/sbcl --script";
+    ecl   = "${pkgs.ecl}/bin/ecl --shell";
+    abcl  = ''${pkgs.abcl}/bin/abcl --batch --eval "(load \"$buildScript\")"'';
+    ccl   = ''${pkgs.ccl}/bin/ccl --batch --eval "(load \"$buildScript\")" --'';
+    # clasp = ''${pkgs.clasp}/bin/clasp --non-interactive --quit --load'';
+
+    # Manually defined packages shadow the ones imported from quicklisp
+
+    sbclPackages  = lispPackagesFor sbcl;
+    eclPackages   = lispPackagesFor ecl;
+    abclPackages  = lispPackagesFor abcl;
+    cclPackages   = lispPackagesFor ccl;
+    # claspPackages = lispPackagesFor clasp;
+
+    sbclWithPackages  = lispWithPackages sbcl;
+    eclWithPackages   = lispWithPackages ecl;
+    abclWithPackages  = lispWithPackages abcl;
+    cclWithPackages   = lispWithPackages ccl;
+    # claspWithPackages = lispWithPackages clasp;
+  };
+
+in commonLispPackages
diff --git a/pkgs/development/lisp-modules-new/old-make-wrapper.sh b/pkgs/development/lisp-modules-new/old-make-wrapper.sh
new file mode 100644
index 00000000000..903e17c3b2e
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/old-make-wrapper.sh
@@ -0,0 +1,155 @@
+# Assert that FILE exists and is executable
+#
+# assertExecutable FILE
+assertExecutable() {
+    local file="$1"
+    [[ -f "$file" && -x "$file" ]] || \
+        die "Cannot wrap '$file' because it is not an executable file"
+}
+
+# construct an executable file that wraps the actual executable
+# makeWrapper EXECUTABLE OUT_PATH ARGS
+
+# ARGS:
+# --argv0       NAME    : set name of executed process to NAME
+#                         (otherwise it’s called …-wrapped)
+# --set         VAR VAL : add VAR with value VAL to the executable’s
+#                         environment
+# --set-default VAR VAL : like --set, but only adds VAR if not already set in
+#                         the environment
+# --unset       VAR     : remove VAR from the environment
+# --run         COMMAND : run command before the executable
+# --add-flags   FLAGS   : add FLAGS to invocation of executable
+
+# --prefix          ENV SEP VAL   : suffix/prefix ENV with VAL, separated by SEP
+# --suffix
+# --prefix-each     ENV SEP VALS  : like --prefix, but VALS is a list
+# --suffix-each     ENV SEP VALS  : like --suffix, but VALS is a list
+# --prefix-contents ENV SEP FILES : like --suffix-each, but contents of FILES
+#                                   are read first and used as VALS
+# --suffix-contents
+makeWrapper() {
+    local original="$1"
+    local wrapper="$2"
+    local params varName value command separator n fileNames
+    local argv0 flagsBefore flags
+
+    assertExecutable "$original"
+
+    mkdir -p "$(dirname "$wrapper")"
+
+    echo "#! @shell@ -e" > "$wrapper"
+
+    params=("$@")
+    for ((n = 2; n < ${#params[*]}; n += 1)); do
+        p="${params[$n]}"
+
+        if [[ "$p" == "--set" ]]; then
+            varName="${params[$((n + 1))]}"
+            value="${params[$((n + 2))]}"
+            n=$((n + 2))
+            echo "export $varName=${value@Q}" >> "$wrapper"
+        elif [[ "$p" == "--set-default" ]]; then
+            varName="${params[$((n + 1))]}"
+            value="${params[$((n + 2))]}"
+            n=$((n + 2))
+            echo "export $varName=\${$varName-${value@Q}}" >> "$wrapper"
+        elif [[ "$p" == "--unset" ]]; then
+            varName="${params[$((n + 1))]}"
+            n=$((n + 1))
+            echo "unset $varName" >> "$wrapper"
+        elif [[ "$p" == "--run" ]]; then
+            command="${params[$((n + 1))]}"
+            n=$((n + 1))
+            echo "$command" >> "$wrapper"
+        elif [[ ("$p" == "--suffix") || ("$p" == "--prefix") ]]; then
+            varName="${params[$((n + 1))]}"
+            separator="${params[$((n + 2))]}"
+            value="${params[$((n + 3))]}"
+            n=$((n + 3))
+            if test -n "$value"; then
+                if test "$p" = "--suffix"; then
+                    echo "export $varName=\$$varName\${$varName:+${separator@Q}}${value@Q}" >> "$wrapper"
+                else
+                    echo "export $varName=${value@Q}\${$varName:+${separator@Q}}\$$varName" >> "$wrapper"
+                fi
+            fi
+        elif [[ "$p" == "--prefix-each" ]]; then
+            varName="${params[$((n + 1))]}"
+            separator="${params[$((n + 2))]}"
+            values="${params[$((n + 3))]}"
+            n=$((n + 3))
+            for value in $values; do
+                echo "export $varName=${value@Q}\${$varName:+${separator@Q}}\$$varName" >> "$wrapper"
+            done
+        elif [[ "$p" == "--suffix-each" ]]; then
+            varName="${params[$((n + 1))]}"
+            separator="${params[$((n + 2))]}"
+            values="${params[$((n + 3))]}"
+            n=$((n + 3))
+            for value in $values; do
+                echo "export $varName=\$$varName\${$varName:+$separator}${value@Q}" >> "$wrapper"
+            done
+        elif [[ ("$p" == "--suffix-contents") || ("$p" == "--prefix-contents") ]]; then
+            varName="${params[$((n + 1))]}"
+            separator="${params[$((n + 2))]}"
+            fileNames="${params[$((n + 3))]}"
+            n=$((n + 3))
+            for fileName in $fileNames; do
+                contents="$(cat "$fileName")"
+                if test "$p" = "--suffix-contents"; then
+                    echo "export $varName=\$$varName\${$varName:+$separator}${contents@Q}" >> "$wrapper"
+                else
+                    echo "export $varName=${contents@Q}\${$varName:+$separator}\$$varName" >> "$wrapper"
+                fi
+            done
+        elif [[ "$p" == "--add-flags" ]]; then
+            flags="${params[$((n + 1))]}"
+            n=$((n + 1))
+            flagsBefore="$flagsBefore $flags"
+        elif [[ "$p" == "--argv0" ]]; then
+            argv0="${params[$((n + 1))]}"
+            n=$((n + 1))
+        else
+            die "makeWrapper doesn't understand the arg $p"
+        fi
+    done
+
+    echo exec ${argv0:+-a \"$argv0\"} \""$original"\" \
+         "$flagsBefore" '"$@"' >> "$wrapper"
+
+    chmod +x "$wrapper"
+}
+
+addSuffix() {
+    suffix="$1"
+    shift
+    for name in "$@"; do
+        echo "$name$suffix"
+    done
+}
+
+filterExisting() {
+    for fn in "$@"; do
+        if test -e "$fn"; then
+            echo "$fn"
+        fi
+    done
+}
+
+# Syntax: wrapProgram <PROGRAM> <MAKE-WRAPPER FLAGS...>
+wrapProgram() {
+    local prog="$1"
+    local hidden
+
+    assertExecutable "$prog"
+
+    hidden="$(dirname "$prog")/.$(basename "$prog")"-wrapped
+    while [ -e "$hidden" ]; do
+      hidden="${hidden}_"
+    done
+    mv "$prog" "$hidden"
+    # Silence warning about unexpanded $0:
+    # shellcheck disable=SC2016
+    makeWrapper "$hidden" "$prog" --argv0 '$0' "${@:2}"
+}
diff --git a/pkgs/development/lisp-modules-new/packages.nix b/pkgs/development/lisp-modules-new/packages.nix
new file mode 100644
index 00000000000..e858fa40288
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/packages.nix
@@ -0,0 +1,369 @@
+{ build-asdf-system, lisp, quicklispPackagesFor, fixupFor, pkgs, ... }:
+
+let
+
+  inherit (pkgs.lib)
+    head
+    makeLibraryPath
+    makeSearchPath
+    setAttr
+    hasAttr
+    optionals
+    hasSuffix
+    splitString
+  ;
+
+  # Used by builds that would otherwise attempt to write into storeDir.
+  #
+  # Will run build two times, keeping all files created during the
+  # first run, exept the FASL's. Then using that directory tree as the
+  # source of the second run.
+  #
+  # E.g. cl-unicode creating .txt files during compilation
+  build-with-compile-into-pwd = args:
+    let
+      build = (build-asdf-system (args // { version = args.version + "-build"; }))
+        .overrideAttrs(o: {
+          buildPhase = with builtins; ''
+            mkdir __fasls
+            export LD_LIBRARY_PATH=${makeLibraryPath o.nativeLibs}:$LD_LIBRARY_PATH
+            export CLASSPATH=${makeSearchPath "share/java/*" o.javaLibs}:$CLASSPATH
+            export CL_SOURCE_REGISTRY=$CL_SOURCE_REGISTRY:$(pwd)//
+            export ASDF_OUTPUT_TRANSLATIONS="$(pwd):$(pwd)/__fasls:${storeDir}:${storeDir}"
+            ${o.lisp} ${o.buildScript}
+          '';
+          installPhase = ''
+            mkdir -pv $out
+            rm -rf __fasls
+            cp -r * $out
+          '';
+        });
+    in build-asdf-system (args // {
+      # Patches are already applied in `build`
+      patches = [];
+      src = build;
+    });
+
+  # A little hacky
+  isJVM = hasSuffix "abcl" (head (splitString " " lisp));
+
+  # Makes it so packages imported from Quicklisp can be re-used as
+  # lispLibs ofpackages in this file.
+  ql = quicklispPackagesFor { inherit lisp; fixup = fixupFor packages; };
+
+  packages = rec {
+
+  asdf = build-with-compile-into-pwd {
+    pname = "asdf";
+    version = "3.3.5.3";
+    src = pkgs.fetchzip {
+      url = "https://gitlab.common-lisp.net/asdf/asdf/-/archive/3.3.5.3/asdf-3.3.5.3.tar.gz";
+      sha256 = "0aw200awhg58smmbdmz80bayzmbm1a6547gv0wmc8yv89gjqldbv";
+    };
+    systems = [ "asdf" "uiop" ];
+  };
+
+  uiop = asdf.overrideLispAttrs(o: {
+    pname = "uiop";
+  });
+
+  cffi = let
+    jna = pkgs.fetchMavenArtifact {
+      groupId = "net.java.dev.jna";
+      artifactId = "jna";
+      version = "5.9.0";
+      sha256 = "0qbis8acv04fi902qzak1mbagqaxcsv2zyp7b8y4shs5nj0cgz7a";
+    };
+  in build-asdf-system {
+    src =  pkgs.fetchzip {
+      url = "http://beta.quicklisp.org/archive/cffi/2021-04-11/cffi_0.24.1.tgz";
+      sha256 = "17ryim4xilb1rzxydfr7595dnhqkk02lmrbkqrkvi9091shi4cj3";
+    };
+    version = "0.24.1";
+    pname = "cffi";
+    lispLibs = with ql; [
+      alexandria
+      babel
+      trivial-features
+    ];
+    javaLibs = optionals isJVM [ jna ];
+  };
+
+  cffi-libffi = ql.cffi-libffi.overrideLispAttrs (o: {
+    src = pkgs.fetchzip {
+      url = "https://github.com/cffi/cffi/archive/3f842b92ef808900bf20dae92c2d74232c2f6d3a.tar.gz";
+      sha256 = "1jilvmbbfrmb23j07lwmkbffc6r35wnvas5s4zjc84i856ccclm2";
+    };
+  });
+
+  cl-unicode = build-with-compile-into-pwd {
+    pname = "cl-unicode";
+    version = "0.1.6";
+    src =  pkgs.fetchzip {
+      url = "https://github.com/edicl/cl-unicode/archive/refs/tags/v0.1.6.tar.gz";
+      sha256 = "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza";
+    };
+    systems = [ "cl-unicode" ];
+    lispLibs = with ql; [
+      cl-ppcre
+      flexi-streams
+    ];
+  };
+
+  quri = build-asdf-system {
+    src = pkgs.stdenv.mkDerivation {
+      pname = "patched";
+      version = "source";
+      src =  pkgs.fetchzip {
+        url = "http://beta.quicklisp.org/archive/quri/2021-04-11/quri-20210411-git.tgz";
+        sha256 = "1pkvpiwwhx2fcknr7x47h7036ypkg8xzsskqbl5z315ipfmi8s2m";
+      };
+
+      # fix build with ABCL
+      buildPhase = ''
+        sed -i "s,[#][.](asdf.*,#P\"$out/data/effective_tld_names.dat\")," src/etld.lisp
+      '';
+      installPhase = ''
+        mkdir -pv $out
+        cp -r * $out
+      '';
+    };
+    version = "20210411";
+    pname = "quri";
+    lispLibs = with ql; [
+      alexandria
+      babel
+      cl-utilities
+      split-sequence
+    ];
+  };
+
+  jzon = build-asdf-system {
+    src = pkgs.fetchzip {
+      url = "https://github.com/Zulu-Inuoe/jzon/archive/6b201d4208ac3f9721c461105b282c94139bed29.tar.gz";
+      sha256 = "01d4a78pjb1amx5amdb966qwwk9vblysm1li94n3g26mxy5zc2k3";
+    };
+    version = "0.0.0-20210905-6b201d4208";
+    pname = "jzon";
+    lispLibs = [
+      ql.closer-mop
+    ];
+    systems = [ "com.inuoe.jzon" ];
+  };
+
+  cl-notify = build-asdf-system {
+    pname = "cl-notify";
+    version = "20080904-138ca7038";
+    src = pkgs.fetchzip {
+      url = "https://repo.or.cz/cl-notify.git/snapshot/138ca703861f4a1fbccbed557f92cf4d213668a1.tar.gz";
+      sha256 = "0k6ns6fzvjcbpsqgx85r4g5m25fvrdw9481i9vyabwym9q8bbqwx";
+    };
+    lispLibs = [
+      cffi
+    ];
+    nativeLibs = [
+      pkgs.libnotify
+    ];
+  };
+
+  tuple = build-asdf-system {
+    pname = "tuple";
+    version = "b74bd067d";
+    src = pkgs.fetchzip {
+      url = "https://fossil.galkowski.xyz/tuple/tarball/b74bd067d4533ac0/tuple.tar.gz";
+      sha256 = "0dk356vkv6kwwcmc3j08x7143549m94rd66rpkzq8zkb31cg2va8";
+    };
+  };
+
+  cl-tar-file = build-asdf-system {
+    pname = "cl-tar-file";
+    version = "v0.2.1";
+    src = pkgs.fetchzip {
+      url = let
+        rev = "0c10bc82f14702c97a26dc25ce075b5d3a2347d1";
+      in "https://gitlab.common-lisp.net/cl-tar/cl-tar-file/-/archive/${rev}/cl-tar-file-${rev}.tar.gz";
+      sha256 = "0i8j05fkgdqy4c4pqj0c68sh4s3klpx9kc5wp73qwzrl3xqd2svy";
+    };
+    lispLibs = with ql; [
+      alexandria
+      babel
+      trivial-gray-streams
+      _40ants-doc
+      salza2
+      chipz
+      flexi-streams
+      parachute
+    ];
+    systems = [ "tar-file" "tar-file/test" ];
+  };
+
+  cl-tar = build-asdf-system {
+    pname = "cl-tar";
+    version = "v0.2.1";
+    src = pkgs.fetchzip {
+      url = let
+        rev = "7c6e07a10c93d9e311f087b5f6328cddd481669a";
+      in "https://gitlab.common-lisp.net/cl-tar/cl-tar/-/archive/${rev}/cl-tar-${rev}.tar.gz";
+      sha256 = "0wp23cs3i6a89dibifiz6559la5nk58d1n17xvbxq4nrl8cqsllf";
+    };
+    lispLibs = with ql; [
+      alexandria
+      babel
+      local-time
+      split-sequence
+      _40ants-doc
+      parachute
+      osicat
+    ] ++ [ cl-tar-file ];
+    systems = [
+      "tar"
+      "tar/common-extract"
+      "tar/simple-extract"
+      "tar/extract"
+      "tar/create"
+      "tar/docs"
+      "tar/test"
+      "tar/create-test"
+      "tar/extract-test"
+      "tar/simple-extract-test"
+    ];
+  };
+
+  cl-fuse = build-with-compile-into-pwd {
+    inherit (ql.cl-fuse) pname version src lispLibs;
+    nativeBuildInputs = [ pkgs.fuse ];
+    nativeLibs = [ pkgs.fuse ];
+  };
+
+  cl-containers = build-asdf-system {
+    inherit (ql.cl-containers) pname version src;
+    lispLibs = ql.cl-containers.lispLibs ++ [ ql.moptilities ];
+    systems = [ "cl-containers" "cl-containers/with-moptilities" ];
+  };
+
+  swank = build-with-compile-into-pwd {
+    inherit (ql.swank) pname version src lispLibs;
+    patches = [ ./patches/swank-pure-paths.patch ];
+    postConfigure = ''
+      substituteAllInPlace swank-loader.lisp
+    '';
+  };
+
+  clx-truetype = build-asdf-system {
+    pname = "clx-truetype";
+    version = "20160825-git";
+    src = pkgs.fetchzip {
+      url = "http://beta.quicklisp.org/archive/clx-truetype/2016-08-25/clx-truetype-20160825-git.tgz";
+      sha256 = "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37";
+    };
+    lispLibs = with ql; [
+      alexandria bordeaux-threads cl-aa cl-fad cl-paths cl-paths-ttf
+      cl-store cl-vectors clx trivial-features zpb-ttf
+    ];
+  };
+
+  mgl = build-asdf-system {
+    pname = "mgl";
+    version = "2021-10-07";
+    src = pkgs.fetchzip {
+      url = "https://github.com/melisgl/mgl/archive/e697791a9bcad3b6e7b3845246a2aa55238cfef7.tar.gz";
+      sha256 = "09sf7nq7nmf9q7bh3a5ygl2i2n0nhrx5fk2kv5ili0ckv7g9x72s";
+    };
+    lispLibs = with ql; [
+      alexandria closer-mop array-operations lla cl-reexport mgl-pax
+      named-readtables pythonic-string-reader
+    ] ++ [ mgl-mat ];
+    systems = [ "mgl" "mgl/test" ];
+  };
+
+  mgl-mat = build-asdf-system {
+    pname = "mgl-mat";
+    version = "2021-10-11";
+    src = pkgs.fetchzip {
+      url = "https://github.com/melisgl/mgl-mat/archive/3710858bc876b1b86e50f1db2abe719e92d810e7.tar.gz";
+      sha256 = "1aa2382mi55rp8pd31dz4d94yhfzh30vkggcvmvdfrr4ngffj0dx";
+    };
+    lispLibs = with ql; [
+      alexandria bordeaux-threads cffi cffi-grovel cl-cuda
+      flexi-streams ieee-floats lla mgl-pax static-vectors
+      trivial-garbage cl-fad
+    ];
+    systems = [ "mgl-mat" "mgl-mat/test" ];
+  };
+
+  mathkit = build-asdf-system {
+    inherit (ql.mathkit) pname version src asds lisp;
+    lispLibs = ql.mathkit.lispLibs ++ [ ql.sb-cga ];
+  };
+
+  nyxt-gtk = build-asdf-system {
+    inherit (ql.nyxt) pname lisp;
+    version = "2.2.4";
+
+    lispLibs = ql.nyxt.lispLibs ++ (with ql; [
+      cl-cffi-gtk cl-webkit2 mk-string-metrics
+    ]);
+
+    src = pkgs.fetchzip {
+      url = "https://github.com/atlas-engineer/nyxt/archive/2.2.4.tar.gz";
+      sha256 = "12l7ir3q29v06jx0zng5cvlbmap7p709ka3ik6x29lw334qshm9b";
+    };
+
+    buildInputs = [
+      pkgs.makeWrapper
+
+      # needed for GSETTINGS_SCHEMAS_PATH
+      pkgs.gsettings-desktop-schemas pkgs.glib pkgs.gtk3
+
+      # needed for XDG_ICON_DIRS
+      pkgs.gnome.adwaita-icon-theme
+    ];
+
+    buildScript = pkgs.writeText "build-nyxt.lisp" ''
+      (require :asdf)
+      (asdf:load-system :nyxt/gtk-application)
+      (sb-ext:save-lisp-and-die "nyxt" :executable t
+                                       #+sb-core-compression :compression
+                                       #+sb-core-compression t
+                                       :toplevel #'nyxt:entry-point)
+    '';
+
+    # Run with WEBKIT_FORCE_SANDBOX=0 if getting a runtime error in webkitgtk-2.34.4
+    installPhase = ql.nyxt.installPhase + ''
+      rm -v $out/nyxt
+      mkdir -p $out/bin
+      cp -v nyxt $out/bin
+      wrapProgram $out/bin/nyxt \
+        --prefix LD_LIBRARY_PATH : $LD_LIBRARY_PATH \
+        --prefix XDG_DATA_DIRS : $XDG_ICON_DIRS \
+        --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
+        --prefix GIO_EXTRA_MODULES ":" ${pkgs.dconf.lib}/lib/gio/modules/ \
+        --prefix GIO_EXTRA_MODULES ":" ${pkgs.glib-networking}/lib/gio/modules/
+    '';
+  };
+
+  nyxt = nyxt-gtk;
+
+  ltk = ql.ltk.overrideLispAttrs (o: {
+    src = pkgs.fetchzip {
+      url = "https://github.com/uthar/ltk/archive/f19162e76d6c7c2f51bd289b811d9ba20dd6555e.tar.gz";
+      sha256 = "0mzikv4abq9yqlj6dsji1wh34mjizr5prv6mvzzj29z1485fh1bj";
+    };
+    version = "f19162e76";
+  });
+
+  s-sql_slash_tests = ql.s-sql_slash_tests.overrideLispAttrs (o: {
+    lispLibs = o.lispLibs ++ [
+      ql.cl-postgres_slash_tests
+    ];
+  });
+
+  simple-date_slash_postgres-glue = ql.simple-date_slash_postgres-glue.overrideLispAttrs (o: {
+    lispLibs = o.lispLibs ++ [
+      ql.cl-postgres_slash_tests
+    ];
+  });
+
+  };
+
+in packages
diff --git a/pkgs/development/lisp-modules-new/patches/swank-pure-paths.patch b/pkgs/development/lisp-modules-new/patches/swank-pure-paths.patch
new file mode 100644
index 00000000000..0b9a40ab0e2
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/patches/swank-pure-paths.patch
@@ -0,0 +1,28 @@
+Prevent swank from attempting write into storeDir
+--- a/swank-loader.lisp
++++ b/swank-loader.lisp
+@@ -162,7 +162,7 @@
+                  ,(unique-dir-name)))
+    (user-homedir-pathname)))
+ 
+-(defvar *fasl-directory* (default-fasl-dir)
++(defvar *fasl-directory* #P"@out@/fasl/"
+   "The directory where fasl files should be placed.")
+ 
+ (defun binary-pathname (src-pathname binary-dir)
+@@ -284,12 +284,7 @@
+                  (contrib-dir src-dir))))
+ 
+ (defun delete-stale-contrib-fasl-files (swank-files contrib-files fasl-dir)
+-  (let ((newest (reduce #'max (mapcar #'file-write-date swank-files))))
+-    (dolist (src contrib-files)
+-      (let ((fasl (binary-pathname src fasl-dir)))
+-        (when (and (probe-file fasl)
+-                   (<= (file-write-date fasl) newest))
+-          (delete-file fasl))))))
++  (declare (ignore swank-files contrib-files fasl-dir)))
+ 
+ (defun compile-contribs (&key (src-dir (contrib-dir *source-directory*))
+                            (fasl-dir (contrib-dir *fasl-directory*))
+
+Diff finished.  Sat Jan 22 23:57:27 2022
\ No newline at end of file
diff --git a/pkgs/development/lisp-modules-new/ql-import.lisp b/pkgs/development/lisp-modules-new/ql-import.lisp
new file mode 100644
index 00000000000..630090f91d1
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/ql-import.lisp
@@ -0,0 +1,6 @@
+
+(require :asdf)
+(pushnew (truename "./import") asdf:*central-registry*)
+(asdf:load-system :org.lispbuilds.nix)
+(load "./import/main.lisp")
+(org.lispbuilds.nix/main::main)
diff --git a/pkgs/development/lisp-modules-new/ql.nix b/pkgs/development/lisp-modules-new/ql.nix
new file mode 100644
index 00000000000..447338412d9
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/ql.nix
@@ -0,0 +1,140 @@
+{ pkgs, build-asdf-system, fixup ? pkgs.lib.id, ... }:
+
+with pkgs;
+with lib;
+with lib.lists;
+with lib.strings;
+
+let
+
+  # FIXME: automatically add nativeLibs based on conditions signalled
+
+  extras = {
+    "cl+ssl" = pkg: {
+      nativeLibs = [ openssl ];
+    };
+    cl-cffi-gtk-glib = pkg: {
+      nativeLibs = [ glib ];
+    };
+    cl-cffi-gtk-cairo = pkg: {
+      nativeLibs = [ cairo ];
+    };
+    cl-cffi-gtk-gdk = pkg: {
+      nativeLibs = [ gtk3 ];
+    };
+    cl-cffi-gtk-gdk-pixbuf = pkg: {
+      nativeLibs = [ gdk-pixbuf ];
+    };
+    cl-cffi-gtk-pango = pkg: {
+      nativeLibs = [ pango ];
+    };
+    cl-gobject-introspection = pkg: {
+      nativeLibs = [ glib gobject-introspection ];
+    };
+    cl-mysql = pkg: {
+      nativeLibs = [ mysql-client ];
+    };
+    clsql-postgresql = pkg: {
+      nativeLibs = [ postgresql.lib ];
+    };
+    clsql-sqlite3 = pkg: {
+      nativeLibs = [ sqlite ];
+    };
+    cl-webkit2 = pkg: {
+      nativeLibs = [ webkitgtk ];
+    };
+    dbd-mysql = pkg: {
+      nativeLibs = [ mysql-client ];
+    };
+    lla = pkg: {
+      nativeLibs = [ openblas ];
+    };
+    cffi-libffi = pkg: {
+      nativeBuildInputs = [ libffi ];
+      nativeLibs = [ libffi ];
+    };
+    cl-rabbit = pkg: {
+      nativeBuildInputs = [ rabbitmq-c ];
+      nativeLibs = [ rabbitmq-c ];
+    };
+    trivial-ssh-libssh2 = pkg: {
+      nativeLibs = [ libssh2 ];
+    };
+    sqlite = pkg: {
+      nativeLibs = [ sqlite ];
+    };
+    cl-libuv = pkg: {
+      nativeBuildInputs = [ libuv ];
+      nativeLibs = [ libuv ];
+    };
+    cl-liballegro = pkg: {
+      # build doesnt fail without this, but fails on runtime
+      # weird...
+      nativeLibs = [ allegro5 ];
+    };
+    classimp = pkg: {
+      nativeLibs = [ assimp ];
+    };
+    sdl2 = pkg: {
+      nativeLibs = [ SDL2 ];
+    };
+    lispbuilder-sdl-cffi = pkg: {
+      nativeLibs = [ SDL ];
+    };
+    cl-opengl = pkg: {
+      nativeLibs = [ libGL ];
+    };
+    cl-glu = pkg: {
+      nativeLibs = [ libGLU ];
+    };
+    cl-glut = pkg: {
+      nativeLibs = [ freeglut ];
+    };
+    cl-glfw = pkg: {
+      nativeLibs = [ glfw ];
+    };
+    cl-glfw-opengl-core = pkg: {
+      nativeLibs = [ libGL ];
+    };
+    cl-glfw3 = pkg: {
+      nativeLibs = [ glfw ];
+    };
+    lev = pkg: {
+      nativeLibs = [ libev ];
+    };
+    cl-rdkafka = pkg: {
+      nativeBuildInputs = [ rdkafka ];
+      nativeLibs = [ rdkafka ];
+    };
+    cl-async-ssl = pkg: {
+      nativeLibs = [ openssl ];
+    };
+    osicat = pkg: {
+      LD_LIBRARY_PATH = "${pkg}/posix/";
+    };
+    iolib = pkg: {
+      nativeBuildInputs = [ libfixposix ];
+      nativeLibs = [ libfixposix ];
+      systems = [ "iolib" "iolib/os" "iolib/pathnames" ];
+    };
+  };
+
+  qlpkgs =
+    if builtins.pathExists ./imported.nix
+    # then filterAttrs (n: v: all (check: !(check n v)) broken) (import ./imported.nix { inherit pkgs; })
+    then import ./imported.nix { inherit (pkgs) runCommand fetchzip; pkgs = builtQlpkgs; }
+    else {};
+
+  builtQlpkgs = mapAttrs (n: v: build v) qlpkgs;
+
+  build = pkg:
+    let
+      builtPkg = build-asdf-system pkg;
+      withExtras = pkg //
+                   (optionalAttrs
+                     (hasAttr pkg.pname extras)
+                     (extras.${pkg.pname} builtPkg));
+      fixedUp = fixup withExtras;
+    in build-asdf-system fixedUp;
+
+in builtQlpkgs
diff --git a/pkgs/development/lisp-modules-new/readme.md b/pkgs/development/lisp-modules-new/readme.md
new file mode 100644
index 00000000000..d5be7492334
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/readme.md
@@ -0,0 +1,34 @@
+# lisp-modules
+
+Utilities for packaging ASDF systems using Nix.
+
+## Quick start
+
+#### Build an ASDF system:
+
+```
+nix-build ./examples/bordeaux-threads.nix
+ls result/src
+```
+
+#### Build an `sbclWithPackages`:
+
+```
+nix-build ./examples/sbcl-with-bt.nix
+result/bin/sbcl
+```
+
+#### Re-import Quicklisp packages:
+
+```
+nix-shell --run 'sbcl --script ql-import.lisp'
+```
+
+#### Test build of packages
+```
+(cd test;  sbcl --script test.lisp ccl)
+```
+
+## Documentation
+
+See `doc` directory.
diff --git a/pkgs/development/lisp-modules-new/shell.nix b/pkgs/development/lisp-modules-new/shell.nix
new file mode 100644
index 00000000000..ecca6a5608d
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/shell.nix
@@ -0,0 +1,7 @@
+with import ../../../default.nix {};
+mkShell {
+  nativeBuildInputs = [
+    (lispPackages_new.sbclWithPackages
+      (ps: with ps; [ alexandria str dexador cl-ppcre sqlite arrow-macros jzon ]))
+  ];
+}
diff --git a/pkgs/development/lisp-modules-new/test/lispPackagesToTest.txt b/pkgs/development/lisp-modules-new/test/lispPackagesToTest.txt
new file mode 100644
index 00000000000..940d3b65f3e
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/test/lispPackagesToTest.txt
@@ -0,0 +1,395 @@
+_1am
+_3bmd
+_3bmd-ext-code-blocks
+access
+acclimation
+agutil
+alexandria
+anaphora
+arnesi
+array-operations
+array-utils
+arrows
+asdf
+asdf-package-system
+asdf-system-connections
+babel
+binomial-heap
+binpack
+blackbird
+bordeaux-threads
+buildnode
+buildnode-xhtml
+calispel
+cffi
+cffi-grovel
+cffi-toolchain
+cffi-uffi-compat
+chanl
+check-it
+chipz
+chunga
+circular-streams
+cl-aa
+cl-annot
+cl-anonfun
+cl-ansi-text
+cl-async
+cl-async-base
+cl-async-repl
+cl-async-ssl
+cl-async-util
+cl-base64
+cl-cffi-gtk
+cl-cffi-gtk-cairo
+cl-cffi-gtk-gdk
+cl-cffi-gtk-gdk-pixbuf
+cl-cffi-gtk-gio
+cl-cffi-gtk-glib
+cl-cffi-gtk-gobject
+cl-cffi-gtk-pango
+cl-change-case
+cl-cli
+cl-colors
+cl-colors2
+cl-containers
+cl-cookie
+cl-css
+cl-csv
+cl-cuda
+cl-custom-hash-table
+cl-dbi
+cl-difflib
+cl-digraph
+cl-dot
+cl-emb
+cl-environments
+cl-fad
+cl-form-types
+cl-fuse
+cl-fuse-meta-fs
+cl-fuzz
+cl-geometry
+cl-gobject-introspection
+cl-heap
+cl-hooks
+cl-html-diff
+cl-html-parse
+cl-html5-parser
+cl-interpol
+cl-jpeg
+cl-json
+cl-l10n
+cl-l10n-cldr
+cl-libuv
+cl-locale
+cl-markup
+cl-mustache
+cl-mysql
+cl-num-utils
+cl-paths
+cl-paths-ttf
+cl-pattern
+cl-pdf
+cl-postgres
+cl-postgres_plus_local-time
+cl-postgres_slash_tests
+cl-ppcre
+cl-ppcre-template
+cl-ppcre-test
+cl-ppcre-unicode
+cl-prevalence
+cl-protobufs
+cl-qprint
+cl-qrencode
+cl-reexport
+cl-shellwords
+cl-slice
+cl-smt-lib
+cl-smtp
+cl-speedy-queue
+cl-store
+cl-svg
+cl-syntax
+cl-syntax-annot
+cl-syntax-anonfun
+cl-syntax-markup
+cl-syslog
+cl-test-more
+cl-typesetting
+cl-unicode
+cl-unification
+cl-utilities
+cl-vectors
+cl-webkit2
+cl-who
+cl-xmlspam
+cl_plus_ssl
+clack
+clack-socket
+classowary
+clfswm
+closer-mop
+closure-common
+closure-html
+clsql
+clsql-postgresql
+clsql-postgresql-socket
+clsql-sqlite3
+clsql-uffi
+clss
+cluffer
+clump
+clump-2-3-tree
+clump-binary-tree
+clunit
+clunit2
+clx
+clx-truetype
+collectors
+colorize
+command-line-arguments
+css-lite
+css-selectors
+css-selectors-simple-tree
+css-selectors-stp
+cxml
+cxml-stp
+cxml_slash_test
+data-table
+dbd-mysql
+dbd-postgres
+dbd-sqlite3
+dbi
+dbi-test
+dbus
+defclass-std
+dexador
+dissect
+djula
+do-urlencode
+documentation-utils
+drakma
+eager-future2
+enchant
+esrap
+esrap-peg
+external-program
+fare-csv
+fare-mop
+fare-quasiquote
+fare-quasiquote-extras
+fare-quasiquote-optima
+fare-quasiquote-readtable
+fare-utils
+fast-http
+fast-io
+fiasco
+file-attributes
+fiveam
+flexi-streams
+float-features
+flow
+fn
+form-fiddle
+fset
+generic-cl
+generic-cl_dot_arithmetic
+generic-cl_dot_collector
+generic-cl_dot_comparison
+generic-cl_dot_container
+generic-cl_dot_internal
+generic-cl_dot_iterator
+generic-cl_dot_lazy-seq
+generic-cl_dot_map
+generic-cl_dot_math
+generic-cl_dot_object
+generic-cl_dot_sequence
+generic-cl_dot_set
+gettext
+global-vars
+glsl-docs
+glsl-spec
+glsl-symbols
+heap
+html-encode
+http-body
+hu_dot_dwim_dot_asdf
+hu_dot_dwim_dot_common
+hu_dot_dwim_dot_common-lisp
+hu_dot_dwim_dot_def
+hu_dot_dwim_dot_def_plus_swank
+hu_dot_dwim_dot_defclass-star
+hu_dot_dwim_dot_stefil
+hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def
+hu_dot_dwim_dot_stefil_plus_hu_dot_dwim_dot_def_plus_swank
+hu_dot_dwim_dot_stefil_plus_swank
+hunchensocket
+hunchentoot
+idna
+ieee-floats
+inferior-shell
+introspect-environment
+iolib
+iolib_dot_asdf
+iolib_dot_base
+iolib_dot_common-lisp
+iolib_dot_conf
+ironclad
+iterate
+jonathan
+jpl-queues
+jpl-util
+jsown
+kmrcl
+lack
+lack-component
+lack-middleware-backtrace
+lack-util
+lambda-fiddle
+legit
+let-plus
+lev
+lfarm-client
+lfarm-common
+lfarm-server
+lfarm-ssl
+lift
+lisp-binary
+lisp-namespace
+lisp-unit
+lisp-unit2
+lla
+local-time
+log4cl
+lparallel
+lquery
+marshal
+md5
+metabang-bind
+metatilities-base
+mgl
+mgl-mat
+mgl-pax
+minheap
+misc-extensions
+mk-string-metrics
+mmap
+moptilities
+more-conditions
+mt19937
+named-readtables
+nbd
+net-telent-date
+net_dot_didierverna_dot_asdf-flv
+nibbles
+nyxt
+optima
+osicat
+parachute
+parenscript
+parse-declarations-1_dot_0
+parse-float
+parse-number
+parseq
+parser-combinators
+parser_dot_common-rules
+pcall
+pcall-queue
+physical-quantities
+plump
+postmodern
+proc-parse
+prove
+prove-asdf
+ptester
+puri
+pythonic-string-reader
+quasiquote-2_dot_0
+query-fs
+quri
+rfc2388
+rove
+rt
+s-sql
+s-sql_slash_tests
+s-sysdeps
+s-xml
+salza2
+serapeum
+simple-date
+simple-date-time
+simple-date_slash_postgres-glue
+simple-inferiors
+simple-tasks
+slynk
+smart-buffer
+smug
+spinneret
+split-sequence
+sqlite
+static-dispatch
+static-vectors
+stefil
+str
+string-case
+stumpwm
+swank
+swap-bytes
+sycamore
+symbol-munger
+trees
+trivia
+trivia_dot_balland2006
+trivia_dot_level0
+trivia_dot_level1
+trivia_dot_level2
+trivia_dot_quasiquote
+trivia_dot_trivial
+trivial-arguments
+trivial-backtrace
+trivial-clipboard
+trivial-cltl2
+trivial-features
+trivial-file-size
+trivial-garbage
+trivial-gray-streams
+trivial-indent
+trivial-macroexpand-all
+trivial-main-thread
+trivial-mimes
+trivial-package-local-nicknames
+trivial-shell
+trivial-types
+trivial-utf-8
+trivial-with-current-source-form
+type-i
+uax-15
+uffi
+uiop
+unit-test
+unix-options
+unix-opts
+usocket
+usocket-server
+utilities_dot_print-items
+utilities_dot_print-tree
+uuid
+varjo
+vas-string-metrics
+vecto
+vom
+wild-package-inferred-system
+woo
+wookie
+xembed
+xkeyboard
+xml_dot_location
+xmls
+xpath
+xpath_slash_test
+xsubseq
+yacc
+yason
+zpb-ttf
+zpng
diff --git a/pkgs/development/lisp-modules-new/test/test.lisp b/pkgs/development/lisp-modules-new/test/test.lisp
new file mode 100755
index 00000000000..c9b5dc93832
--- /dev/null
+++ b/pkgs/development/lisp-modules-new/test/test.lisp
@@ -0,0 +1,94 @@
+#!/usr/bin/env -S sbcl --script
+
+(require :uiop)
+
+;; prevent glibc hell
+(setf (uiop:getenv "LD_LIBRARY_PATH") "")
+
+(defparameter packages (uiop:read-file-lines "./lispPackagesToTest.txt"))
+
+(defparameter lisp (or (cadr sb-ext:*posix-argv*) "sbcl"))
+
+(defparameter nix-build "nix-build -E 'with import ../../../../default.nix {}; lispPackages_new.~aPackages.~a'")
+
+(defparameter cpu-count
+  (length
+   (remove-if-not
+    (lambda (line)
+      (uiop:string-prefix-p "processor" line))
+    (uiop:read-file-lines "/proc/cpuinfo"))))
+
+(defparameter sem (sb-thread:make-semaphore :count cpu-count))
+
+(defparameter statuses (make-hash-table :synchronized t))
+
+(defparameter log-lock (sb-thread:make-mutex))
+
+(format *error-output* "Testing ~a on ~a cores~%" lisp cpu-count)
+
+(defun clear-line ()
+  (write-char #\Return *error-output*)
+  (write-char #\Escape *error-output*)
+  (write-char #\[ *error-output*)
+  (write-char #\K *error-output*))
+
+(declaim (type fixnum errors))
+(defglobal errors 0)
+
+(defmacro when-let (bindings &rest body)
+  (reduce
+   (lambda (expansion form)
+     (destructuring-bind (var test) form
+       (let ((testsym (gensym (symbol-name var))))
+         `(let ((,testsym ,test))
+            (when ,testsym
+              (let ((,var ,testsym))
+                ,expansion))))))
+   (reverse bindings)
+   :initial-value `(progn ,@body)))
+
+(dolist (pkg packages)
+  (sb-thread:wait-on-semaphore sem)
+  (sb-thread:make-thread
+   (lambda ()
+     (handler-case
+         (unwind-protect
+              (multiple-value-bind (out err code)
+                  (uiop:run-program
+                   (format nil nix-build lisp pkg)
+                   :error-output '(:string :stripped t)
+                   :ignore-error-status t)
+                (declare (ignorable err))
+                (setf (gethash pkg statuses) code)
+                (when-let ((pos (search "LOAD-FOREIGN-LIBRARY-ERROR" err :test #'string=))
+                           (lines (uiop:split-string (subseq err pos) :separator '(#\Newline))))
+                  (setf (gethash pkg statuses)
+                        (fourth lines)))
+                (sb-thread:with-mutex (log-lock)
+                  (clear-line)
+                  (format *error-output* "[~a/~a] ~[OK~:;ERROR~] ~a~[~:;~%~]"
+                          (hash-table-count statuses)
+                          (length packages)
+                          code
+                          pkg
+                          code)
+                  (force-output *error-output*))
+                (unless (zerop code)
+                  (sb-ext:atomic-incf errors)))
+           (sb-thread:signal-semaphore sem))
+       (error (e)
+         (format t "~a~%" e)
+         (sb-ext:quit :recklessly-p t :unix-status 1))))))
+
+(sb-thread:wait-on-semaphore sem :n cpu-count)
+
+(format t "~%Done (~a/~a)."
+        (- (length packages) errors)
+        (length packages))
+
+(when (plusp errors)
+  (format t "~%~%~a Errors: " errors)
+  (maphash (lambda (k v)
+             (unless (and (numberp v) (zerop v))
+               (format t "~%  ~a: ~a" k v)))
+           statuses))
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index 4269d7eb0d7..2089cdea46f 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -1602,25 +1602,33 @@ buildLuarocksPackage {
 }) {};
 
 luaexpat = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
-, fetchurl, lua
+, fetchgit, lua
 }:
 buildLuarocksPackage {
   pname = "luaexpat";
-  version = "1.3.0-1";
+  version = "1.4.1-1";
   knownRockspec = (fetchurl {
-    url    = "https://luarocks.org/luaexpat-1.3.0-1.rockspec";
-    sha256 = "14f7y2acycbgrx95w3darx5l1qm52a09f7njkqmhyk10w615lrw4";
+    url    = "https://luarocks.org/luaexpat-1.4.1-1.rockspec";
+    sha256 = "1abwd385x7wnza7qqz5s4aj6m2l1c23pjmbgnpq73q0s17pn1h0c";
   }).outPath;
-  src = fetchurl {
-    url    = "http://matthewwild.co.uk/projects/luaexpat/luaexpat-1.3.0.tar.gz";
-    sha256 = "1hvxqngn0wf5642i5p3vcyhg3pmp102k63s9ry4jqyyqc1wkjq6h";
-  };
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/lunarmodules/luaexpat.git",
+  "rev": "7d99eec9685087e6b3a57a09d672591c2aa0f4f6",
+  "date": "2022-04-01T17:08:05+02:00",
+  "path": "/nix/store/b6jyh79ggjdqgizk9amzh74lq4lwm3nm-luaexpat",
+  "sha256": "0yia3xpf6pwmy10yg2dnyfg3v774jay24qfyvm9pj21h2ad7ckm1",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
   disabled = with lua; (luaOlder "5.1");
   propagatedBuildInputs = [ lua ];
 
   meta = {
-    homepage = "http://www.keplerproject.org/luaexpat/";
+    homepage = "https://lunarmodules.github.io/luaexpat";
     description = "XML Expat parsing";
     maintainers = with lib.maintainers; [ arobyn flosse ];
     license.fullName = "MIT/X11";
@@ -1944,6 +1952,31 @@ buildLuarocksPackage {
   };
 }) {};
 
+luaunbound = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchurl, lua
+}:
+buildLuarocksPackage {
+  pname = "luaunbound";
+  version = "1.0.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/luaunbound-1.0.0-1.rockspec";
+    sha256 = "1zlkibdwrj5p97nhs33cz8xx0323z3kiq5x7v0h3i7v6j0h8ppvn";
+  }).outPath;
+  src = fetchurl {
+    url    = "https://code.zash.se/dl/luaunbound/luaunbound-1.0.0.tar.gz";
+    sha256 = "1lsh0ylp5xskygxl5qdv6mhkm1x8xp0vfd5prk5hxkr19jk5mr3d";
+  };
+
+  disabled = with lua; (luaOlder "5.1") || (luaAtLeast "5.5");
+  propagatedBuildInputs = [ lua ];
+
+  meta = {
+    homepage = "https://www.zash.se/luaunbound.html";
+    description = "A binding to libunbound";
+    license.fullName = "MIT";
+  };
+}) {};
+
 luautf8 = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 , fetchurl, lua
 }:
diff --git a/pkgs/development/lua-modules/luaexpat.patch b/pkgs/development/lua-modules/luaexpat.patch
deleted file mode 100644
index 3dd60910842..00000000000
--- a/pkgs/development/lua-modules/luaexpat.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/src/lxplib.c b/src/lxplib.c
-index 1c972db..5712611 100644
---- a/src/lxplib.c
-+++ b/src/lxplib.c
-@@ -590,7 +590,7 @@ static void set_info (lua_State *L) {
- /*
- ** Adapted from Lua 5.2.0
- */
--static void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) {
-+static void compat_luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) {
-   luaL_checkstack(L, nup, "too many upvalues");
-   for (; l->name != NULL; l++) {  /* fill the table with given functions */
-     int i;
-@@ -602,6 +602,8 @@ static void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) {
-   }
-   lua_pop(L, nup);  /* remove upvalues */
- }
-+#else
-+#define compat_luaL_setfuncs(L, reg, nup) luaL_setfuncs(L, reg, nup)
- #endif
- 
- 
-@@ -612,11 +614,11 @@ int luaopen_lxp (lua_State *L) {
- 	lua_pushvalue(L, -2);
- 	lua_rawset(L, -3);
- 
--	luaL_setfuncs (L, lxp_meths, 0);
-+	compat_luaL_setfuncs (L, lxp_meths, 0);
- 	lua_pop (L, 1); /* remove metatable */
- 
- 	lua_newtable (L);
--	luaL_setfuncs (L, lxp_funcs, 0);
-+	compat_luaL_setfuncs (L, lxp_funcs, 0);
- 	set_info (L);
- 	return 1;
- }
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index b659bd9382a..cc179f0b946 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -206,9 +206,6 @@ with prev;
     externalDeps = [
       { name = "EXPAT"; dep = pkgs.expat; }
     ];
-    patches = [
-      ./luaexpat.patch
-    ];
   });
 
   # TODO Somehow automatically amend buildInputs for things that need luaffi
@@ -257,6 +254,12 @@ with prev;
     ];
   });
 
+  luaunbound = prev.lib.overrideLuarocks prev.luaunbound(drv: {
+    externalDeps = [
+      { name = "libunbound"; dep = pkgs.unbound; }
+    ];
+  });
+
   luuid = (prev.lib.overrideLuarocks prev.luuid (drv: {
     externalDeps = [
       { name = "LIBUUID"; dep = pkgs.libuuid; }
diff --git a/pkgs/development/node-packages/composition.nix b/pkgs/development/node-packages/composition.nix
index 4dfddf3e5bc..08f947ea46b 100644
--- a/pkgs/development/node-packages/composition.nix
+++ b/pkgs/development/node-packages/composition.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
+# This file has been generated by node2nix 1.11.1. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix
index 9845f291f54..8f5ca85f829 100644
--- a/pkgs/development/node-packages/default.nix
+++ b/pkgs/development/node-packages/default.nix
@@ -89,9 +89,6 @@ let
           pkgs.lib.makeBinPath [ pkgs.nodejs ]
         }
       '';
-      # See: https://github.com/NixOS/nixpkgs/issues/142196
-      # [...]/@hyperspace/cli/node_modules/.bin/node-gyp-build: /usr/bin/env: bad interpreter: No such file or directory
-      meta.broken = true;
     };
 
     mdctl-cli = super."@medable/mdctl-cli".override {
@@ -250,44 +247,14 @@ let
 
     node2nix = super.node2nix.override {
       buildInputs = [ pkgs.makeWrapper ];
-      # We need to apply a patch to the source, but buildNodePackage doesn't allow patches.
-      # So we pin the patched commit instead. The commit actually contains two other newer commits
-      # since the last (1.9.0) release, but actually this is a good thing since one of them is a
-      # Hydra-specific fix.
-      src = applyPatches {
-        src = fetchFromGitHub {
-          owner = "svanderburg";
-          repo = "node2nix";
-          rev = "node2nix-1.9.0";
-          sha256 = "0l4wp1131nhl9c14cn8bwawb8f77h1nfbnswgi5lp5m3kzkb27jn";
-        };
-
-        patches = [
-          # remove node_ name prefix
-          (fetchpatch {
-            url = "https://github.com/svanderburg/node2nix/commit/b54d45207427ff46e90f16f2f32771fdc8bff5a4.patch";
-            sha256 = "sha256-ubUdF0q3l4xxqZ7f9EiQEUQzyqxi9Q6zsRPETHlfzh8=";
-          })
-          # set meta platform
-          (fetchpatch {
-            url = "https://github.com/svanderburg/node2nix/commit/58736093161f2d237c17e75a96529b018cd0ac64.patch";
-            sha256 = "0sif7803c9g6gjmmdniw5qxrq5igiz9nqdmdrcf1hxfi5x43a32h";
-          })
-          # Extract common logic from composePackage to a shell function
-          (fetchpatch {
-            url = "https://github.com/svanderburg/node2nix/commit/e4c951971df6c9f9584c7252971c13b55c369916.patch";
-            sha256 = "0w8fcyr12g2340rn06isv40jkmz2khmak81c95zpkjgipzx7hp7w";
-          })
-          # handle package alias in dependencies
-          # https://github.com/svanderburg/node2nix/pull/240
-          #
-          # TODO: remove after node2nix 1.10.0
-          (fetchpatch {
-            url = "https://github.com/svanderburg/node2nix/commit/644e90c0304038a446ed53efc97e9eb1e2831e71.patch";
-            sha256 = "sha256-sQgVf80H1ouUjzHq+2d9RO4a+o++kh+l+FOTNXfPBH0=";
-          })
-        ];
+      # We need to use master because of a fix that replaces git:// url to https://.
+      src = fetchFromGitHub {
+        owner = "svanderburg";
+        repo = "node2nix";
+        rev = "68f5735f9a56737e3fedceb182705985e3ab8799";
+        sha256 = "sha256-NK6gDTkGx0GG7yPTwgtFC4ttQZPfcLaLp8W8OOMO6bg=";
       };
+
       postInstall = ''
         wrapProgram "$out/bin/node2nix" --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.nix ]}
       '';
@@ -366,7 +333,7 @@ let
 
       src = fetchurl {
         url = "https://registry.npmjs.org/prisma/-/prisma-${version}.tgz";
-        sha512 = "sha512-ltCMZAx1i0i9xuPM692Srj8McC665h6E5RqJom999sjtVSccHSD8Z+HSdBN2183h9PJKvC5dapkn78dd0NWMBg==";
+        sha512 = "sha512-oO1auBnBtieGdiN+57IgsA9Vr7Sy4HkILi1KSaUG4mpKfEbnkTGnLOxAqjLed+K2nsG/GtE1tJBtB7JxN1a78Q==";
       };
       postInstall = with pkgs; ''
         wrapProgram "$out/bin/prisma" \
diff --git a/pkgs/development/node-packages/node-env.nix b/pkgs/development/node-packages/node-env.nix
index 5f055785791..2590dd267a4 100644
--- a/pkgs/development/node-packages/node-env.nix
+++ b/pkgs/development/node-packages/node-env.nix
@@ -98,7 +98,7 @@ let
       ''
       + (lib.concatMapStrings (dependency:
         ''
-          if [ ! -e "${dependency.name}" ]; then
+          if [ ! -e "${dependency.packageName}" ]; then
               ${composePackage dependency}
           fi
         ''
@@ -257,8 +257,8 @@ let
           var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
 
           if(![1, 2].includes(packageLock.lockfileVersion)) {
-             process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
-             process.exit(1);
+            process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
+            process.exit(1);
           }
 
           if(packageLock.dependencies !== undefined) {
@@ -390,7 +390,7 @@ let
   buildNodePackage =
     { name
     , packageName
-    , version
+    , version ? null
     , dependencies ? []
     , buildInputs ? []
     , production ? true
@@ -409,7 +409,7 @@ let
       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
     in
     stdenv.mkDerivation ({
-      name = "${name}-${version}";
+      name = "${name}${if version == null then "" else "-${version}"}";
       buildInputs = [ tarWrapper python nodejs ]
         ++ lib.optional (stdenv.isLinux) utillinux
         ++ lib.optional (stdenv.isDarwin) libtool
@@ -441,6 +441,14 @@ let
         if [ -d "$out/lib/node_modules/.bin" ]
         then
             ln -s $out/lib/node_modules/.bin $out/bin
+
+            # Patch the shebang lines of all the executables
+            ls $out/bin/* | while read i
+            do
+                file="$(readlink -f "$i")"
+                chmod u+rwx "$file"
+                patchShebangs "$file"
+            done
         fi
 
         # Create symlinks to the deployed manual page folders, if applicable
@@ -471,7 +479,7 @@ let
   buildNodeDependencies =
     { name
     , packageName
-    , version
+    , version ? null
     , src
     , dependencies ? []
     , buildInputs ? []
@@ -489,7 +497,7 @@ let
       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
     in
       stdenv.mkDerivation ({
-        name = "node-dependencies-${name}-${version}";
+        name = "node-dependencies-${name}${if version == null then "" else "-${version}"}";
 
         buildInputs = [ tarWrapper python nodejs ]
           ++ lib.optional (stdenv.isLinux) utillinux
@@ -519,6 +527,7 @@ let
             if [ -f ${src}/package-lock.json ]
             then
                 cp ${src}/package-lock.json .
+                chmod 644 package-lock.json
             fi
           ''}
 
@@ -541,7 +550,7 @@ let
   buildNodeShell =
     { name
     , packageName
-    , version
+    , version ? null
     , src
     , dependencies ? []
     , buildInputs ? []
@@ -557,9 +566,10 @@ let
 
     let
       nodeDependencies = buildNodeDependencies args;
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "unpackPhase" "buildPhase" ];
     in
-    stdenv.mkDerivation {
-      name = "node-shell-${name}-${version}";
+    stdenv.mkDerivation ({
+      name = "node-shell-${name}${if version == null then "" else "-${version}"}";
 
       buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
       buildCommand = ''
@@ -578,7 +588,7 @@ let
         export NODE_PATH=${nodeDependencies}/lib/node_modules
         export PATH="${nodeDependencies}/bin:$PATH"
       '';
-    };
+    } // extraArgs);
 in
 {
   buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index 48e83f69191..75748305604 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -58,6 +58,7 @@
 , "coc-flutter"
 , "coc-git"
 , "coc-go"
+, "coc-haxe"
 , "coc-highlight"
 , "coc-html"
 , "coc-imselect"
@@ -130,7 +131,7 @@
 , "flood"
 , "forever"
 , "fx"
-, "ganache-cli"
+, "ganache"
 , "gatsby-cli"
 , "generator-code"
 , "get-graphql-schema"
@@ -222,7 +223,6 @@
 , "npm"
 , "npm-check-updates"
 , "npm-merge-driver"
-, {"npm2nix": "git://github.com/NixOS/npm2nix.git#5.12.0"}
 , "nrm"
 , "ocaml-language-server"
 , "parcel-bundler"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index de068fb318d..9d7f473ac4d 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
+# This file has been generated by node2nix 1.11.1. Do not edit!
 
 {nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
@@ -49,15 +49,6 @@ let
         sha512 = "K7EO1cd89xNdwctQaR2bY9aQFDArSIrYGSWSDCnqG7RKIZ1J+XASkKVylW9NCIeVcguD6Qemxai8ZFCWg9lLFg==";
       };
     };
-    "@alexbosworth/fiat-1.0.1" = {
-      name = "_at_alexbosworth_slash_fiat";
-      packageName = "@alexbosworth/fiat";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@alexbosworth/fiat/-/fiat-1.0.1.tgz";
-        sha512 = "7rHvIQLvfBYatq+oAy4dvi6Vf00gNVnvdhqR5a7gpav7qEPDpwOFY1pW5T9tKr32KZd4rcCwqVZgygEewnaP2A==";
-      };
-    };
     "@alexbosworth/fiat-1.0.2" = {
       name = "_at_alexbosworth_slash_fiat";
       packageName = "@alexbosworth/fiat";
@@ -103,22 +94,22 @@ let
         sha512 = "o/xdK8b4P0t/xpCARgWXAeaiWeh9jeua6bP1jrcbfN39+Z4zC4x2jg4NysHNhz6spRG8dJFH3kJIUoIbs0Ckww==";
       };
     };
-    "@ampproject/remapping-2.1.2" = {
+    "@ampproject/remapping-2.2.0" = {
       name = "_at_ampproject_slash_remapping";
       packageName = "@ampproject/remapping";
-      version = "2.1.2";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz";
-        sha512 = "hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==";
+        url = "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz";
+        sha512 = "qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==";
       };
     };
-    "@angular-devkit/architect-0.1303.3" = {
+    "@angular-devkit/architect-0.1303.4" = {
       name = "_at_angular-devkit_slash_architect";
       packageName = "@angular-devkit/architect";
-      version = "0.1303.3";
+      version = "0.1303.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.3.tgz";
-        sha512 = "WRVVBCzLlMqRZVhZXGASHzNJK/OCAvl/DTGhlLuJDIjF7lVGnXHjtwNM8ilYZq949OnC3fly5Z61TfhbN/OHCg==";
+        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.4.tgz";
+        sha512 = "d6YmIWdYvwk6WaknHRcJgiXeJvX9K5i8uPMAaL2P2/LU8n3moIQ59C7SP0uULcHuuiREEmFWOyyrWnGxZCI9bg==";
       };
     };
     "@angular-devkit/core-13.3.2" = {
@@ -130,13 +121,13 @@ let
         sha512 = "wav5plcnlxQAfZ+0EUt3dvVTJnJ1au2TlKVQ0jSQJdR1LA6N7QUI49N2Ua6ZnDMwruQaQkoynitMW2l1it3qYQ==";
       };
     };
-    "@angular-devkit/core-13.3.3" = {
+    "@angular-devkit/core-13.3.4" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "13.3.3";
+      version = "13.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.3.tgz";
-        sha512 = "lfQwY9LuVRwcNVzGmyPcwOpb3CAobP4T+c3joR1LLIPS5lzcM0oeCE2bon9N52Ktn4Q/pH98dVtjWL+jSrUADw==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.4.tgz";
+        sha512 = "gj6i8ksPaT2bvYwI7wKJxLX53pHfTmZc1RaNbAGfZB1/zFNnb3MPj8utTcJSk4qMsGXuDDhiB7hpTKBw8ROaGA==";
       };
     };
     "@angular-devkit/schematics-13.3.2" = {
@@ -148,13 +139,13 @@ let
         sha512 = "XCLb23jmqHN0gJg9ZlICaFgfpfnCufIQp5SOsRKMKRkhjKycvDmKnfBTKDlkzb1IaUl6wQwP5k7Z69b9EX+CQw==";
       };
     };
-    "@angular-devkit/schematics-13.3.3" = {
+    "@angular-devkit/schematics-13.3.4" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "13.3.3";
+      version = "13.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.3.tgz";
-        sha512 = "S8UNlw6IoR/kxBYbiwesuA7oJGSnFkD6bJwVLhpHdT6Sqrz2/IrjHcNgTJRAvhsOKIbfDtMtXRzl/PUdWEfgyw==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.4.tgz";
+        sha512 = "gKNpMMoZJjLKdXxjuVembic4GWa4AYV7kU1ou3ZuZoDKtKcig9URISr1wjS+nrhKYz+miFy0zIqSGMMattDlDQ==";
       };
     };
     "@angular-devkit/schematics-cli-13.3.2" = {
@@ -373,13 +364,13 @@ let
         sha512 = "TmB2K5UfpDpSbCNBBntXzKHcAk2EA3/P68jmWvmJvglVUdkO9V6kTAuXVe12+h6C4GK0ndwuCrHHtEVcL5t6pQ==";
       };
     };
-    "@astrojs/svelte-language-integration-0.1.2" = {
+    "@astrojs/svelte-language-integration-0.1.4" = {
       name = "_at_astrojs_slash_svelte-language-integration";
       packageName = "@astrojs/svelte-language-integration";
-      version = "0.1.2";
+      version = "0.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@astrojs/svelte-language-integration/-/svelte-language-integration-0.1.2.tgz";
-        sha512 = "O6LYL9igYSzxCxDHYWUqEquuuUlMG0UL1SliZ7rF/vx9GwU71TCpsRe4iHZ0bcemM5ju9ihoTzGCmLXzYrNw0g==";
+        url = "https://registry.npmjs.org/@astrojs/svelte-language-integration/-/svelte-language-integration-0.1.4.tgz";
+        sha512 = "rgi3g078uAxdb8jg1A5U8sNWMUQq7UXwHT7qmPiGOeB+h5p+tzUFy/Awq2suv99Tq8efpn3HrAGTuDvxyvbwfg==";
       };
     };
     "@aws-crypto/crc32-2.0.0" = {
@@ -454,13 +445,13 @@ let
         sha512 = "JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==";
       };
     };
-    "@aws-sdk/abort-controller-3.55.0" = {
+    "@aws-sdk/abort-controller-3.78.0" = {
       name = "_at_aws-sdk_slash_abort-controller";
       packageName = "@aws-sdk/abort-controller";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.55.0.tgz";
-        sha512 = "rCcTxJDEFnmvo/PgbhCRv24/Uv03lEGfRslKZq7SjaMcOubflS/ZXYaMEgsjYHgAT0zlpSsyCIkJXmhFaM7H7w==";
+        url = "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.78.0.tgz";
+        sha512 = "iz1YLwM2feJUj/y97yO4XmDeTxs+yZ1XJwQgoawKuc8IDBKUutnJNCHL5jL04WUKU7Nrlq+Hr2fCTScFh2z9zg==";
       };
     };
     "@aws-sdk/chunked-blob-reader-3.55.0" = {
@@ -481,193 +472,193 @@ let
         sha512 = "+D3xnPD5985iphgAqgUerBDs371a2WzzoEVi7eHJUMMsP/gEnSTdSH0HNxsqhYv6CW4EdKtvDAQdAwA1VtCf2A==";
       };
     };
-    "@aws-sdk/client-s3-3.72.0" = {
+    "@aws-sdk/client-s3-3.81.0" = {
       name = "_at_aws-sdk_slash_client-s3";
       packageName = "@aws-sdk/client-s3";
-      version = "3.72.0";
+      version = "3.81.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.72.0.tgz";
-        sha512 = "WQnNs++yTsBARaZqpxIAB3CX9BrqgxnLo4g/wT8cLqRilhL8OY1KPowe8SptXcXbo2AdAuAtcFK2GC+MYcCgmg==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.81.0.tgz";
+        sha512 = "TzdSQlnLniRh31ix5kLkbBNM2TZnm4Bf0NXkQqTRzBIj4ngDjiiKoQX+avl8EeZ2WehVYGLuAG8iWN0psxIICg==";
       };
     };
-    "@aws-sdk/client-sso-3.72.0" = {
+    "@aws-sdk/client-sso-3.81.0" = {
       name = "_at_aws-sdk_slash_client-sso";
       packageName = "@aws-sdk/client-sso";
-      version = "3.72.0";
+      version = "3.81.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.72.0.tgz";
-        sha512 = "mQ2qSy5chVTzNo17kcOtylp8gUJr2SIx7ZkaC5ZUrA9RZu673XKFm1SXvL0aBw1LQBioKU2kGNwsUSDunXulpQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.81.0.tgz";
+        sha512 = "VP6igPAA6pfF7Z7oBILeN4gVf/g6HLnof/oI6OLJp+I4633IKyajxcuSXcH1hYUVkWDIsNE9AW7/tZDNV1KX9Q==";
       };
     };
-    "@aws-sdk/client-sts-3.72.0" = {
+    "@aws-sdk/client-sts-3.81.0" = {
       name = "_at_aws-sdk_slash_client-sts";
       packageName = "@aws-sdk/client-sts";
-      version = "3.72.0";
+      version = "3.81.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.72.0.tgz";
-        sha512 = "m6nEXe5wi7Cx9DHBFOji+i2tn+EXNlBC2BymlFZ+KerxAfjLyu9U16Xx9VzmfnQS5dz0Fyh0DLBIcI9DY5+ywQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.81.0.tgz";
+        sha512 = "NmuTUHtFxMLz05CMXjCt/9joCa6R2Vv3trbnjPGhhwcgl0KOeYO19PxDaKdckx0QFH7b3EL9eRl5CLxD6gf+PQ==";
       };
     };
-    "@aws-sdk/config-resolver-3.58.0" = {
+    "@aws-sdk/config-resolver-3.80.0" = {
       name = "_at_aws-sdk_slash_config-resolver";
       packageName = "@aws-sdk/config-resolver";
-      version = "3.58.0";
+      version = "3.80.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.58.0.tgz";
-        sha512 = "NXEwYw0JrXcvenu42QpNMQXK+6pgZ+6bDGfCgOfCC0FmyI+w/CuF36lApwm7InHvHazOaDlwArXm2pfntErKoA==";
+        url = "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.80.0.tgz";
+        sha512 = "vFruNKlmhsaC8yjnHmasi1WW/7EELlEuFTj4mqcqNqR4dfraf0maVvpqF1VSR8EstpFMsGYI5dmoWAnnG4PcLQ==";
       };
     };
-    "@aws-sdk/credential-provider-env-3.55.0" = {
+    "@aws-sdk/credential-provider-env-3.78.0" = {
       name = "_at_aws-sdk_slash_credential-provider-env";
       packageName = "@aws-sdk/credential-provider-env";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.55.0.tgz";
-        sha512 = "4AIIXEdvinLlWNFtrUbUgoB7dkuV04RTcTruVWI4Ub4WSsuSCa72ZU1vqyvcEAOgGGLBmcSaGTWByjiD2sGcGA==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.78.0.tgz";
+        sha512 = "K41VTIzVHm2RyIwtBER8Hte3huUBXdV1WKO+i7olYVgLFmaqcZUNrlyoGDRqZcQ/u4AbxTzBU9jeMIbIfzMOWg==";
       };
     };
-    "@aws-sdk/credential-provider-imds-3.58.0" = {
+    "@aws-sdk/credential-provider-imds-3.81.0" = {
       name = "_at_aws-sdk_slash_credential-provider-imds";
       packageName = "@aws-sdk/credential-provider-imds";
-      version = "3.58.0";
+      version = "3.81.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.58.0.tgz";
-        sha512 = "CdtnTQ9zqLx1FbXdbgjijLbMcIWOyQM03TFaLSCjI3FNbUwyt3T7StBU9tj/LtbypHhSdXyQBpzUtXTOMWCEhg==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.81.0.tgz";
+        sha512 = "BHopP+gaovTYj+4tSrwCk8NNCR48gE9CWmpIOLkP9ell0gOL81Qh7aCEiIK0BZBZkccv1s16cYq1MSZZGS7PEQ==";
       };
     };
-    "@aws-sdk/credential-provider-ini-3.72.0" = {
+    "@aws-sdk/credential-provider-ini-3.81.0" = {
       name = "_at_aws-sdk_slash_credential-provider-ini";
       packageName = "@aws-sdk/credential-provider-ini";
-      version = "3.72.0";
+      version = "3.81.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.72.0.tgz";
-        sha512 = "KeZAywZ5CxEUIRvIpxRiOkRUwGy+rTTGTfjQz/Mz6AUj+nx+8M5WnSLRgENcwXmX59A7VdqosvD1jnRiXJjmPg==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.81.0.tgz";
+        sha512 = "Fl29sS5V40/WnQFSzeVZEN0E79ND/YuzuWB4aw6SfX44fA6CtpN0HZzvVZxdtPGAQwezPSPGZBc7JrbAVBevTQ==";
       };
     };
-    "@aws-sdk/credential-provider-node-3.72.0" = {
+    "@aws-sdk/credential-provider-node-3.81.0" = {
       name = "_at_aws-sdk_slash_credential-provider-node";
       packageName = "@aws-sdk/credential-provider-node";
-      version = "3.72.0";
+      version = "3.81.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.72.0.tgz";
-        sha512 = "8yNNILXPAD9RlcKI0aronXOgwF9vRZQqEwPuvkurCPFQFt+OM/4/HTJns2NSVmImKDMV36sG+6Ld6aJEVW4cLQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.81.0.tgz";
+        sha512 = "50YSQdvWrjoAmw/tkJNaDUntNtaCS5QsL86tSPKWAdvpcoath52pQhOGW7PgLMDMRFvh726yOzK2NdrK2eD2yg==";
       };
     };
-    "@aws-sdk/credential-provider-process-3.58.0" = {
+    "@aws-sdk/credential-provider-process-3.80.0" = {
       name = "_at_aws-sdk_slash_credential-provider-process";
       packageName = "@aws-sdk/credential-provider-process";
-      version = "3.58.0";
+      version = "3.80.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.58.0.tgz";
-        sha512 = "npgFqPUjMhUamf1FvJjBYUdpbWx8XWkKCwJsX73I7IYQAvAi2atCOkdtKq+4rds0VWAYu6vzlaI1tXgFxjOPNQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.80.0.tgz";
+        sha512 = "3Ro+kMMyLUJHefOhGc5pOO/ibGcJi8bkj0z/Jtqd5I2Sm1qi7avoztST67/k48KMW1OqPnD/FUqxz5T8B2d+FQ==";
       };
     };
-    "@aws-sdk/credential-provider-sso-3.72.0" = {
+    "@aws-sdk/credential-provider-sso-3.81.0" = {
       name = "_at_aws-sdk_slash_credential-provider-sso";
       packageName = "@aws-sdk/credential-provider-sso";
-      version = "3.72.0";
+      version = "3.81.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.72.0.tgz";
-        sha512 = "2NGjF2gMls5f/9QbUQEHR9kbVGePLI7EXVOyPb1H6DvQLp54keMVdTlSzKlRIcGUNd4MBYuDJak8Slf976/UVw==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.81.0.tgz";
+        sha512 = "TKcPnHgLBPN00p3nRstfWg+Rf0rJJelBDJXFgosqh/v0FzJD9UKab9nqOLbrCb15Fjod/stt1aXgdkrw3uvpjw==";
       };
     };
-    "@aws-sdk/credential-provider-web-identity-3.55.0" = {
+    "@aws-sdk/credential-provider-web-identity-3.78.0" = {
       name = "_at_aws-sdk_slash_credential-provider-web-identity";
       packageName = "@aws-sdk/credential-provider-web-identity";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.55.0.tgz";
-        sha512 = "aKnXfZNGohTuF9rCGYLg4JEIOvWIZ/sb66XMq7bOUrx13KRPDwL/eUQL8quS5jGRLpjXVNvrS17AFf65GbdUBg==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.78.0.tgz";
+        sha512 = "9/IvqHdJaVqMEABA8xZE3t5YF1S2PepfckVu0Ws9YUglj6oO+2QyVX6aRgMF1xph6781+Yc31TDh8/3eaDja7w==";
       };
     };
-    "@aws-sdk/eventstream-marshaller-3.58.0" = {
+    "@aws-sdk/eventstream-marshaller-3.78.0" = {
       name = "_at_aws-sdk_slash_eventstream-marshaller";
       packageName = "@aws-sdk/eventstream-marshaller";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.58.0.tgz";
-        sha512 = "vTdVFLIHGZTx/Anp9GpkTXVuvwSCNOecTutU5Py4i6fATgefWiSutc5Xc/FLujBSc0EhAXDGZIcTMpZC7jUpeg==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.78.0.tgz";
+        sha512 = "BMbRvLe6wNWQ+NO1pdPw3kGXXEdYV94BxEr3rTkKwr5yHpl8sUb/Va9sJJufUjzggpgE4vYu5nVsrT8ByMYXuA==";
       };
     };
-    "@aws-sdk/eventstream-serde-browser-3.72.0" = {
+    "@aws-sdk/eventstream-serde-browser-3.78.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-browser";
       packageName = "@aws-sdk/eventstream-serde-browser";
-      version = "3.72.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.72.0.tgz";
-        sha512 = "UhMZ4P60mZu7G+craAdkRgR4/n3lWAgrNp1upgN2W8RLEQwhqY3qHiUdn/kp6qvontwHnxZkXNB+5Zm5pcP8bQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.78.0.tgz";
+        sha512 = "ehQI2iLsj8MMskDRbrPB7SibIdJq6LleBP6ojT+cgrLJRbVXUOxK+3MPHDZVdGYx4ukVg48E1fA2DzVfAp7Emw==";
       };
     };
-    "@aws-sdk/eventstream-serde-config-resolver-3.55.0" = {
+    "@aws-sdk/eventstream-serde-config-resolver-3.78.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-config-resolver";
       packageName = "@aws-sdk/eventstream-serde-config-resolver";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.55.0.tgz";
-        sha512 = "NTJHLq1sbXyXAaJucKvcdN3Svr/fM2TjHEC3l8P/torFjIsX1+Ykpi8tZt8KsX8RjoUTTfKylh41AjJq0K9X4Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.78.0.tgz";
+        sha512 = "iUG0wtZH/L7d6XfipwbhgjBHip0uTm9S27EasCn+g0CunbW6w7rXd7rfMqA+gSLVXPTBYjTMPIwRxrTCdRprwA==";
       };
     };
-    "@aws-sdk/eventstream-serde-node-3.72.0" = {
+    "@aws-sdk/eventstream-serde-node-3.78.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-node";
       packageName = "@aws-sdk/eventstream-serde-node";
-      version = "3.72.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.72.0.tgz";
-        sha512 = "woemBkQ3O7mTiT3kdJH72s3lQLhr2B7hxRhYeaa1xQf1UjLJkKXL5PEOOrcylmxLdF6rYLsFs8Y/Hr4FZfqAqA==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.78.0.tgz";
+        sha512 = "H78LLoZEngZBSdk3lRQkAaR3cGsy/3UIjq9AFPeqoPVQtHkzBob1jVfE/5VSVAMhKLxWn8iqhRPS37AvyBGOwQ==";
       };
     };
-    "@aws-sdk/eventstream-serde-universal-3.72.0" = {
+    "@aws-sdk/eventstream-serde-universal-3.78.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-universal";
       packageName = "@aws-sdk/eventstream-serde-universal";
-      version = "3.72.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.72.0.tgz";
-        sha512 = "iIaDC/2xgK+2kLiOPJv8wMDCCtI2JB8bkeac6cQOfn4hZGQdP6fvRGFWD2R8//VR52H68N2vrhCXHvtjnF4iFg==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.78.0.tgz";
+        sha512 = "PZTLdyF923/1GJuMNtq9VMGd2vEx33HhsGInXvYtulKDSD5SgaTGj+Dz5wYepqL1gUEuXqZjBD71uZgrY/JgRg==";
       };
     };
-    "@aws-sdk/fetch-http-handler-3.58.0" = {
+    "@aws-sdk/fetch-http-handler-3.78.0" = {
       name = "_at_aws-sdk_slash_fetch-http-handler";
       packageName = "@aws-sdk/fetch-http-handler";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.58.0.tgz";
-        sha512 = "timF3FjPV5Bd+Kgph83LIKVlPCFObVYzious1a6doeLAT6YFwZpRrWbfP/HzS+DCoYiwUsH69oVJ91BoV66oyA==";
+        url = "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.78.0.tgz";
+        sha512 = "cR6r2h2kJ1DNEZSXC6GknQB7OKmy+s9ZNV+g3AsNqkrUmNNOaHpFoSn+m6SC3qaclcGd0eQBpqzSu/TDn23Ihw==";
       };
     };
-    "@aws-sdk/hash-blob-browser-3.58.0" = {
+    "@aws-sdk/hash-blob-browser-3.78.0" = {
       name = "_at_aws-sdk_slash_hash-blob-browser";
       packageName = "@aws-sdk/hash-blob-browser";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.58.0.tgz";
-        sha512 = "fdp12BqypRxwvevbJSl/sUhXJRi4Ghv6JKEXAHI1klkR6xY1GRORO5SHWltVY/xl373ERMol5o/n+ra/7jcx/g==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.78.0.tgz";
+        sha512 = "IEkA+t6qJEtEYEZgsqFRRITeZJ3mirw7IHJVHxwb86lpeufTVcbILI59B8/rhbqG+9dk0kWTjYSjC/ZdM+rgHA==";
       };
     };
-    "@aws-sdk/hash-node-3.55.0" = {
+    "@aws-sdk/hash-node-3.78.0" = {
       name = "_at_aws-sdk_slash_hash-node";
       packageName = "@aws-sdk/hash-node";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.55.0.tgz";
-        sha512 = "2UdYwY/++AlzWEAFaK9wOed2QSxbzV527vmqKjReLHpPKPrSIlooUxlTH3LU6Y6WVDAzDRtLK43KUVXTLgGK1A==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.78.0.tgz";
+        sha512 = "ev48yXaqZVtMeuKy52LUZPHCyKvkKQ9uiUebqkA+zFxIk+eN8SMPFHmsififIHWuS6ZkXBUSctjH9wmLebH60A==";
       };
     };
-    "@aws-sdk/hash-stream-node-3.58.0" = {
+    "@aws-sdk/hash-stream-node-3.78.0" = {
       name = "_at_aws-sdk_slash_hash-stream-node";
       packageName = "@aws-sdk/hash-stream-node";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.58.0.tgz";
-        sha512 = "y7HEeC3OiuXCRqsHnKDn5yef8UAbnegD9r+OM9bdD+3e6FLAL8Rq7hQTOpwIAiPXuD7HKx8h98s9JLvkwTOBkg==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.78.0.tgz";
+        sha512 = "y42Pm0Nk6zf/MI6acLFVFAMya0Ncvy6F6Xu5aYAmwIMIoMI0ctNeyuL/Dikgt8+oyxC+kORw+W9jtzgWj2zY/w==";
       };
     };
-    "@aws-sdk/invalid-dependency-3.55.0" = {
+    "@aws-sdk/invalid-dependency-3.78.0" = {
       name = "_at_aws-sdk_slash_invalid-dependency";
       packageName = "@aws-sdk/invalid-dependency";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.55.0.tgz";
-        sha512 = "delH0lV+78fdD/8MXIt9kTLS6IwHvdhqq9dw/ow5VjTUw+xBwUlfPfZplaai+3hKTKWh6a2WZCeDasNItBv9aA==";
+        url = "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.78.0.tgz";
+        sha512 = "zUo+PbeRMN/Mzj6y+6p9qqk/znuFetT1gmpOcZGL9Rp2T+b9WJWd+daq5ktsL10sVCzIt2UvneJRz6b+aU+bfw==";
       };
     };
     "@aws-sdk/is-array-buffer-3.55.0" = {
@@ -679,283 +670,283 @@ let
         sha512 = "NbiPHVYuPxdqdFd6FxzzN3H1BQn/iWA3ri3Ry7AyLeP/tGs1yzEWMwf8BN8TSMALI0GXT6Sh0GDWy3Ok5xB6DA==";
       };
     };
-    "@aws-sdk/md5-js-3.58.0" = {
+    "@aws-sdk/md5-js-3.78.0" = {
       name = "_at_aws-sdk_slash_md5-js";
       packageName = "@aws-sdk/md5-js";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.58.0.tgz";
-        sha512 = "V5f4Re+CLn3aDF1nrmDqdUtcqBHCyxxD2s2Ot+hZ2JFit+OtJggo1cI03ldTrQpG79rwHG+bHqL2VvNQP7Aj9A==";
+        url = "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.78.0.tgz";
+        sha512 = "vKOXJWJvv6QH6rnqMYEWzwAnMr4hfcmY8+t6BAuTcDpcEVF77e3bwUcaajXi2U0JMuNvnLwuJF3h6kL6aX4l6g==";
       };
     };
-    "@aws-sdk/middleware-bucket-endpoint-3.58.0" = {
+    "@aws-sdk/middleware-bucket-endpoint-3.80.0" = {
       name = "_at_aws-sdk_slash_middleware-bucket-endpoint";
       packageName = "@aws-sdk/middleware-bucket-endpoint";
-      version = "3.58.0";
+      version = "3.80.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.58.0.tgz";
-        sha512 = "zocLfFzj+NQjXLGZKPJBAYWWldAKBJkGzGVpTfrYx9bxxHTA70Gu+3sx+Xe+iOu8dtQT0OAnIX0wGudOPnTGNg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.80.0.tgz";
+        sha512 = "FSSx6IgT7xftSlpjxoPKv8XI9nv7EK+OCODo2s3CmElMW1kBRdmQ/ImVuTwvqhdxJEVUeUdgupmC7cqyqgt04w==";
       };
     };
-    "@aws-sdk/middleware-content-length-3.58.0" = {
+    "@aws-sdk/middleware-content-length-3.78.0" = {
       name = "_at_aws-sdk_slash_middleware-content-length";
       packageName = "@aws-sdk/middleware-content-length";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.58.0.tgz";
-        sha512 = "h/BypPkhjv2CpCUbXA8Fa2s7V2GPiz9l11XhYK+sKSuQvQ7Lbq6VhaKaLqfeD3gLVZHgJZSLGl2btdHV1qHNNA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.78.0.tgz";
+        sha512 = "5MpKt6lB9TdFy25/AGrpOjPY0iDHZAKpEHc+jSOJBXLl6xunXA7qHdiYaVqkWodLxy70nIckGNHqQ3drabidkA==";
       };
     };
-    "@aws-sdk/middleware-expect-continue-3.58.0" = {
+    "@aws-sdk/middleware-expect-continue-3.78.0" = {
       name = "_at_aws-sdk_slash_middleware-expect-continue";
       packageName = "@aws-sdk/middleware-expect-continue";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.58.0.tgz";
-        sha512 = "nx6X6qLPwvbJrGoPxXSu4tsOek2eRnnjk78hhRUDfxFewpHJQLSPlyNKkXAo+C3syVALe6RJRmUYu5bShY6FfA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.78.0.tgz";
+        sha512 = "IXfcSugFV3uNk50VQsN/Cm80iCsUSwcYJ5RzEwy7wXbZ+KM03xWXlbXzqkeTDnS74wLWSw09nKF3rkp1eyfDfg==";
       };
     };
-    "@aws-sdk/middleware-flexible-checksums-3.72.0" = {
+    "@aws-sdk/middleware-flexible-checksums-3.78.0" = {
       name = "_at_aws-sdk_slash_middleware-flexible-checksums";
       packageName = "@aws-sdk/middleware-flexible-checksums";
-      version = "3.72.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.72.0.tgz";
-        sha512 = "lrwTmpygp6bxGRi6kbMq+EtTW5nsts+B7Wj7MA8PBIQsKU06T2tYxjDBYOyHB1MiVhltlq+vebBvacT64KsbFA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.78.0.tgz";
+        sha512 = "1jjxHcB3Le/2Z7BzugXzZnIwKGlUluNm0d1lB4fF2QVq3GHlA6e8uv0rCtqe/3wSsrzV6YzJ8vjioymKSNIjKQ==";
       };
     };
-    "@aws-sdk/middleware-header-default-3.58.0" = {
+    "@aws-sdk/middleware-header-default-3.78.0" = {
       name = "_at_aws-sdk_slash_middleware-header-default";
       packageName = "@aws-sdk/middleware-header-default";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.58.0.tgz";
-        sha512 = "7F+CdLLauMmNbwFGYrE2pKsgTKY8G2PgazHmaE9s3FySEFcGPWmiEAG8sVImfZooj8gxGFQMLr97nanWjhSq2Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.78.0.tgz";
+        sha512 = "USyOIF7ObBVMKbV/8lOBLDNwMAGdOtujd+RO/9dX6OQLceUTKIS1dOfJoYYwRHgengn7ikpDxoyROyspPYYDZQ==";
       };
     };
-    "@aws-sdk/middleware-host-header-3.58.0" = {
+    "@aws-sdk/middleware-host-header-3.78.0" = {
       name = "_at_aws-sdk_slash_middleware-host-header";
       packageName = "@aws-sdk/middleware-host-header";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.58.0.tgz";
-        sha512 = "q/UKGcanm9e6DBRNN6UKhVqLvpRRdZWbmmPCeDNr4HqhCmgT6i1OvWdhAMOnT++hvCX8DpTsIXzNSlY6zWAxBg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.78.0.tgz";
+        sha512 = "1zL8uaDWGmH50c8B8jjz75e0ePj6/3QeZEhjJgTgL6DTdiqvRt32p3t+XWHW+yDI14fZZUYeTklAaLVxqFrHqQ==";
       };
     };
-    "@aws-sdk/middleware-location-constraint-3.55.0" = {
+    "@aws-sdk/middleware-location-constraint-3.78.0" = {
       name = "_at_aws-sdk_slash_middleware-location-constraint";
       packageName = "@aws-sdk/middleware-location-constraint";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.55.0.tgz";
-        sha512 = "OvCKwBFbl8Gbfk0HGX00pkdORJN8BPuH/O5l3+mOBWuwILPuckRP5WGnL+1HT/gu4hHS6h1lpxUrPxUOoeKIAg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.78.0.tgz";
+        sha512 = "m626H1WwXYJtwHEkV/2DsLlu1ckWq3j57NzsexZki3qS0nU8HEiDl6YYi+k84vDD4Qpba6EI9AdhzwnvZLXtGw==";
       };
     };
-    "@aws-sdk/middleware-logger-3.55.0" = {
+    "@aws-sdk/middleware-logger-3.78.0" = {
       name = "_at_aws-sdk_slash_middleware-logger";
       packageName = "@aws-sdk/middleware-logger";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.55.0.tgz";
-        sha512 = "PtRbVrxEzDmeV9prBIP4/9or7R5Dj66mjbFSvNRGZ0n+UBfBFfVRfNrhQPNzQpfV9A3KVl9YyWCVXDSW+/rk9Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.78.0.tgz";
+        sha512 = "GBhwxNjhCJUIeQQDaGasX/C23Jay77al2vRyGwmxf8no0DdFsa4J1Ik6/2hhIqkqko+WM4SpCnpZrY4MtnxNvA==";
       };
     };
-    "@aws-sdk/middleware-retry-3.58.0" = {
+    "@aws-sdk/middleware-retry-3.80.0" = {
       name = "_at_aws-sdk_slash_middleware-retry";
       packageName = "@aws-sdk/middleware-retry";
-      version = "3.58.0";
+      version = "3.80.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.58.0.tgz";
-        sha512 = "sfSq+t0Yy47DQwrWGpA8iOx9sd26l4l1JDVTwHNi7+OKD4ClRPVCEdw3bTbbyYz/PV4f9AEfAZ6jwtSff4wkGw==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.80.0.tgz";
+        sha512 = "CTk+tA4+WMUNOcUfR6UQrkhwvPYFpnMsQ1vuHlpLFOGG3nCqywA2hueLMRQmVcDXzP0sGeygce6dzRI9dJB/GA==";
       };
     };
-    "@aws-sdk/middleware-sdk-s3-3.66.0" = {
+    "@aws-sdk/middleware-sdk-s3-3.78.0" = {
       name = "_at_aws-sdk_slash_middleware-sdk-s3";
       packageName = "@aws-sdk/middleware-sdk-s3";
-      version = "3.66.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.66.0.tgz";
-        sha512 = "4ACAdKAZkIjEK99UwoaKTrTGhS7qGqyLmjiGHlzR0ggMUUVmlep7EtcluImFtT6pi+ANVLDzuZGa+95MwGY/Qg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.78.0.tgz";
+        sha512 = "gxtfVHaL0CkKDIEwRQnmBequtN3dsCtY5LByZQoP3l5qEuTAzwxgbtvGUfHE8LwDVByBqUEFanzafjv1KJ3F8w==";
       };
     };
-    "@aws-sdk/middleware-sdk-sts-3.58.0" = {
+    "@aws-sdk/middleware-sdk-sts-3.78.0" = {
       name = "_at_aws-sdk_slash_middleware-sdk-sts";
       packageName = "@aws-sdk/middleware-sdk-sts";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.58.0.tgz";
-        sha512 = "HUz7MhcsSDDTGygOwL61l4voc0pZco06J3z06JjTX19D5XxcQ7hSCtkHHHz0oMb9M1himVSiEon2tjhjsnB99g==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.78.0.tgz";
+        sha512 = "Lu/kN0J0/Kt0ON1hvwNel+y8yvf35licfIgtedHbBCa/ju8qQ9j+uL9Lla6Y5Tqu29yVaye1JxhiIDhscSwrLA==";
       };
     };
-    "@aws-sdk/middleware-serde-3.55.0" = {
+    "@aws-sdk/middleware-serde-3.78.0" = {
       name = "_at_aws-sdk_slash_middleware-serde";
       packageName = "@aws-sdk/middleware-serde";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.55.0.tgz";
-        sha512 = "NkEbTDrSZcC2NhuvfjXHKJEl0xgI2B5tMAwi/rMOq/TEnARwVUL9qAy+5lgeiPCqebiNllWatARrFgAaYf0VeA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.78.0.tgz";
+        sha512 = "4DPsNOxsl1bxRzfo1WXEZjmD7OEi7qGNpxrDWucVe96Fqj2dH08jR8wxvBIVV1e6bAad07IwdPuCGmivNvwRuQ==";
       };
     };
-    "@aws-sdk/middleware-signing-3.58.0" = {
+    "@aws-sdk/middleware-signing-3.78.0" = {
       name = "_at_aws-sdk_slash_middleware-signing";
       packageName = "@aws-sdk/middleware-signing";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.58.0.tgz";
-        sha512 = "4FXubHB66GbhyZUlo6YPQoWpYfED15GNbEmHbJLSONzrVzZR3IkViSPLasDngVm1a050JqKuqNkFYGJBP4No/Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.78.0.tgz";
+        sha512 = "OEjJJCNhHHSOprLZ9CzjHIXEKFtPHWP/bG9pMhkV3/6Bmscsgcf8gWHcOnmIrjqX+hT1VALDNpl/RIh0J6/eQw==";
       };
     };
-    "@aws-sdk/middleware-ssec-3.55.0" = {
+    "@aws-sdk/middleware-ssec-3.78.0" = {
       name = "_at_aws-sdk_slash_middleware-ssec";
       packageName = "@aws-sdk/middleware-ssec";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.55.0.tgz";
-        sha512 = "HTdA23hksOphQe0TmYORsa/kMNnKRGbdh0VJcsDGHQScJXzJ+C//THwfcoklff0XZfC+vGh93PECBWqixMELZw==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.78.0.tgz";
+        sha512 = "3z+UOd95rxvj+iO6WxMjuRNNUMlO6xhXZdBHvQmoiyS+9nMDcNieTu6gfQyLAilVeCh8xU9a0IenJuIYVdJ96g==";
       };
     };
-    "@aws-sdk/middleware-stack-3.55.0" = {
+    "@aws-sdk/middleware-stack-3.78.0" = {
       name = "_at_aws-sdk_slash_middleware-stack";
       packageName = "@aws-sdk/middleware-stack";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.55.0.tgz";
-        sha512 = "ouD+wFz8W2R0ZQ8HrbhgN8tg1jyINEg9lPEEXY79w1Q5sf94LJ90XKAMVk02rw3dJalUWjLHf0OQe1/qxZfHyA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.78.0.tgz";
+        sha512 = "UoNfRh6eAJN3BJHlG1eb+KeuSe+zARTC2cglroJRyHc2j7GxH2i9FD3IJbj5wvzopJEnQzuY/VCs6STFkqWL1g==";
       };
     };
-    "@aws-sdk/middleware-user-agent-3.58.0" = {
+    "@aws-sdk/middleware-user-agent-3.78.0" = {
       name = "_at_aws-sdk_slash_middleware-user-agent";
       packageName = "@aws-sdk/middleware-user-agent";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.58.0.tgz";
-        sha512 = "1c69bIWM63JwXijXvb9IWwcwQ/gViKMZ1lhxv52NvdG5VSxWXXsFJ2jETEXZoAypwT97Hmf3xo9SYuaHcKoq+g==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.78.0.tgz";
+        sha512 = "wdN5uoq8RxxhLhj0EPeuDSRFuXfUwKeEqRzCKMsYAOC0cAm+PryaP2leo0oTGJ9LUK8REK7zyfFcmtC4oOzlkA==";
       };
     };
-    "@aws-sdk/node-config-provider-3.58.0" = {
+    "@aws-sdk/node-config-provider-3.80.0" = {
       name = "_at_aws-sdk_slash_node-config-provider";
       packageName = "@aws-sdk/node-config-provider";
-      version = "3.58.0";
+      version = "3.80.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.58.0.tgz";
-        sha512 = "AMcPqPhKxo/3/yOMS9PsKlI0GWp2/8eD6gSlhzdBpznPCKplyqXOSnSX7wS814Cyh373hFSjCaOrCOA9/EYtDg==";
+        url = "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.80.0.tgz";
+        sha512 = "vyTOMK04huB7n10ZUv0thd2TE6KlY8livOuLqFTMtj99AJ6vyeB5XBNwKnQtJIt/P7CijYgp8KcFvI9fndOmKg==";
       };
     };
-    "@aws-sdk/node-http-handler-3.58.0" = {
+    "@aws-sdk/node-http-handler-3.78.0" = {
       name = "_at_aws-sdk_slash_node-http-handler";
       packageName = "@aws-sdk/node-http-handler";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.58.0.tgz";
-        sha512 = "D9xVZG2nfo4GbPsby3JuBiAhpqXTFk1+CfuQU0AZv0gQvE3fFTCnB3za83jo7JV/pyRPU+s+/LHIpxCWUHzStg==";
+        url = "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.78.0.tgz";
+        sha512 = "oGnX91QLB3qaeh2x5n7jtw9RZukLZ2Rqjf8/smVIedAPMJg4fuqnDN/597j+wlEFDPZFpGO2eoE4nah3BoWtwg==";
       };
     };
-    "@aws-sdk/property-provider-3.55.0" = {
+    "@aws-sdk/property-provider-3.78.0" = {
       name = "_at_aws-sdk_slash_property-provider";
       packageName = "@aws-sdk/property-provider";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.55.0.tgz";
-        sha512 = "o7cKFJSHq5WOhwPsspYrzNto35oKKZvESZuWDtLxaZKSI6l7zpA366BI4kDG6Tc9i2+teV553MbxyZ9eya5A8g==";
+        url = "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.78.0.tgz";
+        sha512 = "PZpLvV0hF6lqg3CSN9YmphrB/t5LVJVWGJLB9d9qm7sJs5ksjTYBb5bY91OQ3zit0F4cqBMU8xt2GQ9J6d4DvQ==";
       };
     };
-    "@aws-sdk/protocol-http-3.58.0" = {
+    "@aws-sdk/protocol-http-3.78.0" = {
       name = "_at_aws-sdk_slash_protocol-http";
       packageName = "@aws-sdk/protocol-http";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.58.0.tgz";
-        sha512 = "0yFFRPbR+CCa9eOQBBQ2qtrIDLYqSMN0y7G4iqVM8wQdIw7n3QK1PsTI3RNPGJ3Oi2krFTw5uUKqQQZPZEBuVQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.78.0.tgz";
+        sha512 = "SQB26MhEK96yDxyXd3UAaxLz1Y/ZvgE4pzv7V3wZiokdEedM0kawHKEn1UQJlqJLEZcQI9QYyysh3rTvHZ3fyg==";
       };
     };
-    "@aws-sdk/querystring-builder-3.55.0" = {
+    "@aws-sdk/querystring-builder-3.78.0" = {
       name = "_at_aws-sdk_slash_querystring-builder";
       packageName = "@aws-sdk/querystring-builder";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.55.0.tgz";
-        sha512 = "/ZAXNipt9nRR8k+eowwukE/YjXnQ49p5w/MkaQxsBk3IuIf7MAcgVg8glHr0igH84GfUQ7ZVP8v+G2S3tKUG+Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.78.0.tgz";
+        sha512 = "aib6RW1WAaTQDqVgRU1Ku9idkhm90gJKbCxVaGId+as6QHNUqMChEfK2v+0afuKiPNOs5uWmqvOXI9+Gt+UGDg==";
       };
     };
-    "@aws-sdk/querystring-parser-3.55.0" = {
+    "@aws-sdk/querystring-parser-3.78.0" = {
       name = "_at_aws-sdk_slash_querystring-parser";
       packageName = "@aws-sdk/querystring-parser";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.55.0.tgz";
-        sha512 = "e+2FLgo+eDx7oh7ap5HngN9XSVMxredAVztLHxCcSN0lFHHHzMa8b2SpXbaowUxQHh7ziymSqvOrPYFQ71Filg==";
+        url = "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.78.0.tgz";
+        sha512 = "csaH8YTyN+KMNczeK6fBS8l7iJaqcQcKOIbpQFg5upX4Ly5A56HJn4sVQhY1LSgfSk4xRsNfMy5mu6BlsIiaXA==";
       };
     };
-    "@aws-sdk/s3-request-presigner-3.72.0" = {
+    "@aws-sdk/s3-request-presigner-3.81.0" = {
       name = "_at_aws-sdk_slash_s3-request-presigner";
       packageName = "@aws-sdk/s3-request-presigner";
-      version = "3.72.0";
+      version = "3.81.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.72.0.tgz";
-        sha512 = "6CxvI0tdamXn58OEmg59YHZPpsiLvCDtbijs9JhCYxvMblhkyPwWZglsZgcEkzIEPySe9RTZ5/BTHn6FzAe4xw==";
+        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.81.0.tgz";
+        sha512 = "0VDYMqVjk1knv3cSOZQCmPEhg4EmBVti2Do+SNX2bKQytTbzbYlX+bhMINySpYFmnukf26Pj8iSh6v3iRFdwKQ==";
       };
     };
-    "@aws-sdk/service-error-classification-3.55.0" = {
+    "@aws-sdk/service-error-classification-3.78.0" = {
       name = "_at_aws-sdk_slash_service-error-classification";
       packageName = "@aws-sdk/service-error-classification";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.55.0.tgz";
-        sha512 = "HdjnDyarsa1Avq1MJurkLyEe9c3eRa76dPmK4TmRGgwJ+tInEzGHL0rBW7V8xBK+PDF+fJQ71hvm8jPYmzvBwQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.78.0.tgz";
+        sha512 = "x7Lx8KWctJa01q4Q72Zb4ol9L/era3vy2daASu8l2paHHxsAPBE0PThkvLdUSLZSzlHSVdh3YHESIsT++VsK4w==";
       };
     };
-    "@aws-sdk/shared-ini-file-loader-3.58.0" = {
+    "@aws-sdk/shared-ini-file-loader-3.80.0" = {
       name = "_at_aws-sdk_slash_shared-ini-file-loader";
       packageName = "@aws-sdk/shared-ini-file-loader";
-      version = "3.58.0";
+      version = "3.80.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.58.0.tgz";
-        sha512 = "ARDKQerIzgNs/MFNdCEuK2lgRJ1lneAaJw0p9O1LkJUvcSibvkSATwny7vwJMueOf+ae1Pf+8+54OMNIt0nTkQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.80.0.tgz";
+        sha512 = "3d5EBJjnWWkjLK9skqLLHYbagtFaZZy+3jUTlbTuOKhlOwe8jF7CUM3j6I4JA6yXNcB3w0exDKKHa8w+l+05aA==";
       };
     };
-    "@aws-sdk/signature-v4-3.58.0" = {
+    "@aws-sdk/signature-v4-3.78.0" = {
       name = "_at_aws-sdk_slash_signature-v4";
       packageName = "@aws-sdk/signature-v4";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.58.0.tgz";
-        sha512 = "flEo8p3XkzWoBDqnIUQre4jLuT5aLnmfQNI8c2uSjyJ3OBxpJ0iS1cDu3E++d1/pN6Q8o0KOmr2ypHeiyBOujw==";
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.78.0.tgz";
+        sha512 = "eePjRYuzKoi3VMr/lgrUEF1ytLeH4fA/NMCykr/uR6NMo4bSJA59KrFLYSM7SlWLRIyB0UvJqygVEvSxFluyDw==";
       };
     };
-    "@aws-sdk/signature-v4-multi-region-3.66.0" = {
+    "@aws-sdk/signature-v4-multi-region-3.78.0" = {
       name = "_at_aws-sdk_slash_signature-v4-multi-region";
       packageName = "@aws-sdk/signature-v4-multi-region";
-      version = "3.66.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.66.0.tgz";
-        sha512 = "Akvc8G9Del2+umg0R/5Gc/PWgQwbxxTXdnm6YTHtDzvyPPiYWBs6au6WqJQqcqk07gcQV67MLVqFFhnFuLlcVg==";
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.78.0.tgz";
+        sha512 = "5C+3m4dikUsSLTxW++aBCHP0DT1niiEfXR4UdnjJzcjTtmi/jbL/i8UPG5sCpib9Mu6TMW633tN0h5woVPIIcg==";
       };
     };
-    "@aws-sdk/smithy-client-3.72.0" = {
+    "@aws-sdk/smithy-client-3.78.0" = {
       name = "_at_aws-sdk_slash_smithy-client";
       packageName = "@aws-sdk/smithy-client";
-      version = "3.72.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.72.0.tgz";
-        sha512 = "eQ2pEzxtS1Vz1XyNKzG4Z+mtfwRzcAs4FUQP0wrrYVJMsIdI0X4vvro8gYGoBbQtOz65uY3XqQdLuXX/SabTQg==";
+        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.78.0.tgz";
+        sha512 = "qweaupZtFPm9rFiEgErnVNgB6co/DylJfhC6/UImHBKa7mGzxv6t2JDm6+d8fs8cNnGNXozN+jJG8Lz6C8Roxw==";
       };
     };
-    "@aws-sdk/types-3.55.0" = {
+    "@aws-sdk/types-3.78.0" = {
       name = "_at_aws-sdk_slash_types";
       packageName = "@aws-sdk/types";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.55.0.tgz";
-        sha512 = "wrDZjuy1CVAYxDCbm3bWQIKMGfNs7XXmG0eG4858Ixgqmq2avsIn5TORy8ynBxcXn9aekV/+tGEQ7BBSYzIVNQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz";
+        sha512 = "I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==";
       };
     };
-    "@aws-sdk/url-parser-3.55.0" = {
+    "@aws-sdk/url-parser-3.78.0" = {
       name = "_at_aws-sdk_slash_url-parser";
       packageName = "@aws-sdk/url-parser";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.55.0.tgz";
-        sha512 = "qrTwN5xIgTLreqLnZ+x3cAudjNKfxi6srW1H/px2mk4lb2U9B4fpGjZ6VU+XV8U2kR+YlT8J6Jo5iwuVGfC91A==";
+        url = "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.78.0.tgz";
+        sha512 = "iQn2AjECUoJE0Ae9XtgHtGGKvUkvE8hhbktGopdj+zsPBe4WrBN2DgVxlKPPrBonG/YlcL1D7a5EXaujWSlUUw==";
       };
     };
     "@aws-sdk/util-arn-parser-3.55.0" = {
@@ -1021,40 +1012,40 @@ let
         sha512 = "30dzofQQfx6tp1jVZkZ0DGRsT0wwC15nEysKRiAcjncM64A0Cm6sra77d0os3vbKiKoPCI/lMsFr4o3533+qvQ==";
       };
     };
-    "@aws-sdk/util-create-request-3.72.0" = {
+    "@aws-sdk/util-create-request-3.78.0" = {
       name = "_at_aws-sdk_slash_util-create-request";
       packageName = "@aws-sdk/util-create-request";
-      version = "3.72.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.72.0.tgz";
-        sha512 = "SRxo1RWQ9e7QonuIH8oNEiOJTtasOtYNRD5QYwbJKhNkB4Z6AaE00V28AjrdS/+rMOcb0DKugXZ8Nhbd+n+K0g==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.78.0.tgz";
+        sha512 = "aGRuBXGZ/GFYpP+Bkdzo6kyfX1nkH0dhFK6RYZLxe3r7X/AfkMKeUmIco9tyS1sBAiyoy6a7Re/Oux2Y+ASnjg==";
       };
     };
-    "@aws-sdk/util-defaults-mode-browser-3.72.0" = {
+    "@aws-sdk/util-defaults-mode-browser-3.78.0" = {
       name = "_at_aws-sdk_slash_util-defaults-mode-browser";
       packageName = "@aws-sdk/util-defaults-mode-browser";
-      version = "3.72.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.72.0.tgz";
-        sha512 = "xeoh4jdq+tpZWDwGeXeoAQI+rZaCBEicjumBcqfzkRFE3DyaeyPHn3hiKGSR13R+P6Uf86aqaRNmWAeZZjeE0w==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.78.0.tgz";
+        sha512 = "fsKEqlRbrztjpdTsMbZTlWxFpo3Av9QeYYpJuFaZbwfE0ElzinUU54kKwUrKbi60HRroQV+itoUNj3JogQDeHw==";
       };
     };
-    "@aws-sdk/util-defaults-mode-node-3.72.0" = {
+    "@aws-sdk/util-defaults-mode-node-3.81.0" = {
       name = "_at_aws-sdk_slash_util-defaults-mode-node";
       packageName = "@aws-sdk/util-defaults-mode-node";
-      version = "3.72.0";
+      version = "3.81.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.72.0.tgz";
-        sha512 = "Qf4BZmjWTaWaWbIhra/il8zUAdYY6G4JIcg9WMzQgnh1L/iXpCZddInfB2zT4j5rSAuBf5Ov2T6zvtw3/KOh6Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.81.0.tgz";
+        sha512 = "+7YOtl+TxF08oXt2h/ONP5qk6ZZg6GaO1YSAdpjIfco4odhpy7N2AlEGSX0jZyP6Zbfi+8N7yihBa4sOuOf+Cw==";
       };
     };
-    "@aws-sdk/util-format-url-3.58.0" = {
+    "@aws-sdk/util-format-url-3.78.0" = {
       name = "_at_aws-sdk_slash_util-format-url";
       packageName = "@aws-sdk/util-format-url";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.58.0.tgz";
-        sha512 = "nhxomsG+OIBqpIyc2AU88J3+dTap0H5R1D2lNAsSZk07kuu2B1H4qAXIlWPkXyxTi9uL9aykBMuCosECD062NA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.78.0.tgz";
+        sha512 = "wdjt8ZAMyBrH/02QrQtB+S9cwtsBJ6bXRJ3XwL6z7L75nwTflKkzOQUS5Ie7HBf3j3JH0KhlqlEbf2nnM9jsPQ==";
       };
     };
     "@aws-sdk/util-hex-encoding-3.58.0" = {
@@ -1075,31 +1066,31 @@ let
         sha512 = "0sPmK2JaJE2BbTcnvybzob/VrFKCXKfN4CUKcvn0yGg/me7Bz+vtzQRB3Xp+YSx+7OtWxzv63wsvHoAnXvgxgg==";
       };
     };
-    "@aws-sdk/util-middleware-3.55.0" = {
+    "@aws-sdk/util-middleware-3.78.0" = {
       name = "_at_aws-sdk_slash_util-middleware";
       packageName = "@aws-sdk/util-middleware";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.55.0.tgz";
-        sha512 = "82fW2XV+rUalv8lkd4VlhpPp6xnXO5n9sckMp1N+TrQ+p8eqxqT0+o8n1/6s9Qsnkw64Y3m6+EfCdc8/uFOY2g==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.78.0.tgz";
+        sha512 = "Hi3wv2b0VogO4mzyeEaeU5KgIt4qeo0LXU5gS6oRrG0T7s2FyKbMBkJW3YDh/Y8fNwqArZ+/QQFujpP0PIKwkA==";
       };
     };
-    "@aws-sdk/util-stream-browser-3.55.0" = {
+    "@aws-sdk/util-stream-browser-3.78.0" = {
       name = "_at_aws-sdk_slash_util-stream-browser";
       packageName = "@aws-sdk/util-stream-browser";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.55.0.tgz";
-        sha512 = "3f/zQsAqexJpKssCL0adTjG8WO+NPQ63E3TingyKpnCnHQPEnqPdya5I5OLGzZ0WR0iUWRtpuW0MtuDabyLDWw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.78.0.tgz";
+        sha512 = "EcThf/sJoD4NYTUNO/nehR57lqkOuL6btRoVnm4LGUR8XgQcJ/WMYYgxOMY8E81xXzRFX2ukRHRxL2xmQsbHDw==";
       };
     };
-    "@aws-sdk/util-stream-node-3.55.0" = {
+    "@aws-sdk/util-stream-node-3.78.0" = {
       name = "_at_aws-sdk_slash_util-stream-node";
       packageName = "@aws-sdk/util-stream-node";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.55.0.tgz";
-        sha512 = "brCK3iENvXEL7BK5eDAdkZ2VuBSvXj7DH9EQezxl4Ntrj1lvb+McOk9WoU/o7yzE7A/bzEJEoNQAPi+VPNbb/w==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.78.0.tgz";
+        sha512 = "CHfX37ioUyamAnlS2p4Nq+4BBjCSlZolFkVyxtVJwzPBBksdvjW67nKG+SShR48RBPJ5LEzbgAaEXNRktCSf6w==";
       };
     };
     "@aws-sdk/util-uri-escape-3.55.0" = {
@@ -1111,22 +1102,22 @@ let
         sha512 = "mmdDLUpFCN2nkfwlLdOM54lTD528GiGSPN1qb8XtGLgZsJUmg3uJSFIN2lPeSbEwJB3NFjVas/rnQC48i7mV8w==";
       };
     };
-    "@aws-sdk/util-user-agent-browser-3.58.0" = {
+    "@aws-sdk/util-user-agent-browser-3.78.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-browser";
       packageName = "@aws-sdk/util-user-agent-browser";
-      version = "3.58.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.58.0.tgz";
-        sha512 = "aJpqCvT09giJRg5xFTBDBRAVF0k0yq3OEf6UTuiOVf5azlL2MGp6PJ/xkJp9Z06PuQQkwBJ/2nIQZemo02a5Sw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.78.0.tgz";
+        sha512 = "diGO/Bf4ggBOEnfD7lrrXaaXOwOXGz0bAJ0HhpizwEMlBld5zfDlWXjNpslh+8+u3EHRjPJQ16KGT6mp/Dm+aw==";
       };
     };
-    "@aws-sdk/util-user-agent-node-3.58.0" = {
+    "@aws-sdk/util-user-agent-node-3.80.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-node";
       packageName = "@aws-sdk/util-user-agent-node";
-      version = "3.58.0";
+      version = "3.80.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.58.0.tgz";
-        sha512 = "VlbY/nzWdN2pfLUHqKvnlGBQ6tEeV4jyK9ggAD2Szjj0bkYvaaKwpBKswQmuJpi5/J2v7Bo4ayBLnqDL7PgzLA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.80.0.tgz";
+        sha512 = "QV26qIXws1m6sZXg65NS+XrQ5NhAzbDVQLtEVE4nC39UN8fuieP6Uet/gZm9mlLI9hllwvcV7EfgBM3GSC7pZg==";
       };
     };
     "@aws-sdk/util-utf8-browser-3.55.0" = {
@@ -1147,13 +1138,13 @@ let
         sha512 = "FsFm7GFaC7j0tlPEm/ri8bU2QCwFW5WKjxUg8lm1oWaxplCpKGUsmcfPJ4sw58GIoyoGu4QXBK60oCWosZYYdQ==";
       };
     };
-    "@aws-sdk/util-waiter-3.55.0" = {
+    "@aws-sdk/util-waiter-3.78.0" = {
       name = "_at_aws-sdk_slash_util-waiter";
       packageName = "@aws-sdk/util-waiter";
-      version = "3.55.0";
+      version = "3.78.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.55.0.tgz";
-        sha512 = "Do34MKPFSC/+zVN6vY+FZ+0WN61hzga4nPoAC590AOjs8rW6/H6sDN6Gz1KAZbPnuQUZfvsIJjMxN7lblXHJkQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.78.0.tgz";
+        sha512 = "8pWd0XiNOS8AkWQyac8VNEI+gz/cGWlC2TAE2CJp0rOK5XhvlcNBINai4D6TxQ+9foyJXLOI1b8nuXemekoG8A==";
       };
     };
     "@aws-sdk/xml-builder-3.55.0" = {
@@ -1183,13 +1174,13 @@ let
         sha1 = "e70187f8a862e191b1bce6c0268f13acd3a56b20";
       };
     };
-    "@babel/cli-7.17.6" = {
+    "@babel/cli-7.17.10" = {
       name = "_at_babel_slash_cli";
       packageName = "@babel/cli";
-      version = "7.17.6";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.17.6.tgz";
-        sha512 = "l4w608nsDNlxZhiJ5tE3DbNmr61fIKMZ6fTBo171VEFuFMIYuJ3mHRhTLEkKKyvx2Mizkkv/0a8OJOnZqkKYNA==";
+        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.17.10.tgz";
+        sha512 = "OygVO1M2J4yPMNOW9pb+I6kFGpQK77HmG44Oz3hg8xQIl5L/2zq+ZohwAdSaqYgVwM0SfmPHZHphH4wR8qzVYw==";
       };
     };
     "@babel/code-frame-7.10.4" = {
@@ -1219,22 +1210,22 @@ let
         sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
       };
     };
-    "@babel/compat-data-7.17.7" = {
+    "@babel/compat-data-7.17.10" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.17.7";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz";
-        sha512 = "p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==";
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz";
+        sha512 = "GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==";
       };
     };
-    "@babel/core-7.17.9" = {
+    "@babel/core-7.17.10" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.17.9";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz";
-        sha512 = "5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz";
+        sha512 = "liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==";
       };
     };
     "@babel/core-7.9.0" = {
@@ -1246,13 +1237,13 @@ let
         sha512 = "kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==";
       };
     };
-    "@babel/generator-7.17.9" = {
+    "@babel/generator-7.17.10" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.17.9";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz";
-        sha512 = "rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz";
+        sha512 = "46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==";
       };
     };
     "@babel/helper-annotate-as-pure-7.16.7" = {
@@ -1273,13 +1264,13 @@ let
         sha512 = "C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==";
       };
     };
-    "@babel/helper-compilation-targets-7.17.7" = {
+    "@babel/helper-compilation-targets-7.17.10" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
-      version = "7.17.7";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz";
-        sha512 = "UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==";
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz";
+        sha512 = "gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==";
       };
     };
     "@babel/helper-create-class-features-plugin-7.17.9" = {
@@ -1480,13 +1471,13 @@ let
         sha512 = "J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==";
       };
     };
-    "@babel/node-7.16.8" = {
+    "@babel/node-7.17.10" = {
       name = "_at_babel_slash_node";
       packageName = "@babel/node";
-      version = "7.16.8";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/node/-/node-7.16.8.tgz";
-        sha512 = "V2dopEtPUL4LD+e8UtMIZB6BbsmMsS/7E1ZAvWNINzBfi7Cf3X9MLCpzHVZT4HeeF1lQl72IRtqqVt2RUImwyA==";
+        url = "https://registry.npmjs.org/@babel/node/-/node-7.17.10.tgz";
+        sha512 = "sFFMyvw23U8QOcTnLJnw2/Myr01e4+iLVy7rHAHrNSnXAfnwS3j2NqihpmZm7TotyNKKf/y8cJ96T5asY46eyw==";
       };
     };
     "@babel/parser-7.16.2" = {
@@ -1498,13 +1489,13 @@ let
         sha512 = "RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==";
       };
     };
-    "@babel/parser-7.17.9" = {
+    "@babel/parser-7.17.10" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.17.9";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz";
-        sha512 = "vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz";
+        sha512 = "n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==";
       };
     };
     "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7" = {
@@ -1849,13 +1840,13 @@ let
         sha512 = "hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==";
       };
     };
-    "@babel/plugin-syntax-typescript-7.16.7" = {
+    "@babel/plugin-syntax-typescript-7.17.10" = {
       name = "_at_babel_slash_plugin-syntax-typescript";
       packageName = "@babel/plugin-syntax-typescript";
-      version = "7.16.7";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz";
-        sha512 = "YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==";
+        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.17.10.tgz";
+        sha512 = "xJefea1DWXW09pW4Tm9bjwVlPDyYA2it3fWlmEjpYz6alPvTUjL0EOzNzI/FEOyI3r4/J7uVH5UqKgl1TQ5hqQ==";
       };
     };
     "@babel/plugin-transform-arrow-functions-7.16.7" = {
@@ -2029,13 +2020,13 @@ let
         sha512 = "EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.16.8" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.17.10" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.16.8";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz";
-        sha512 = "j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz";
+        sha512 = "v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==";
       };
     };
     "@babel/plugin-transform-new-target-7.16.7" = {
@@ -2128,13 +2119,13 @@ let
         sha512 = "KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==";
       };
     };
-    "@babel/plugin-transform-runtime-7.17.0" = {
+    "@babel/plugin-transform-runtime-7.17.10" = {
       name = "_at_babel_slash_plugin-transform-runtime";
       packageName = "@babel/plugin-transform-runtime";
-      version = "7.17.0";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz";
-        sha512 = "fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.10.tgz";
+        sha512 = "6jrMilUAJhktTr56kACL8LnWC5hx3Lf27BS0R0DSyW/OoJfb/iTHeE96V3b1dgKG3FSFdd/0culnYWMkjcKCig==";
       };
     };
     "@babel/plugin-transform-shorthand-properties-7.16.7" = {
@@ -2209,13 +2200,13 @@ let
         sha512 = "oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==";
       };
     };
-    "@babel/preset-env-7.16.11" = {
+    "@babel/preset-env-7.17.10" = {
       name = "_at_babel_slash_preset-env";
       packageName = "@babel/preset-env";
-      version = "7.16.11";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz";
-        sha512 = "qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==";
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.17.10.tgz";
+        sha512 = "YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g==";
       };
     };
     "@babel/preset-flow-7.16.7" = {
@@ -2326,13 +2317,13 @@ let
         sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
       };
     };
-    "@babel/traverse-7.17.9" = {
+    "@babel/traverse-7.17.10" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.17.9";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz";
-        sha512 = "PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz";
+        sha512 = "VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==";
       };
     };
     "@babel/types-7.16.0" = {
@@ -2344,22 +2335,22 @@ let
         sha512 = "PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==";
       };
     };
-    "@babel/types-7.17.0" = {
+    "@babel/types-7.17.10" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.17.0";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz";
-        sha512 = "TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz";
+        sha512 = "9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==";
       };
     };
-    "@blueprintjs/colors-4.1.0" = {
+    "@blueprintjs/colors-4.1.1" = {
       name = "_at_blueprintjs_slash_colors";
       packageName = "@blueprintjs/colors";
-      version = "4.1.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@blueprintjs/colors/-/colors-4.1.0.tgz";
-        sha512 = "aXgkEBg2oEz6lCE/sidvREUzQF7eJq2R8BvfOcQ1ICV4r/KVFszee6seA12ZtVaphfvuR4EE/raH6F1d0f4y7g==";
+        url = "https://registry.npmjs.org/@blueprintjs/colors/-/colors-4.1.1.tgz";
+        sha512 = "uA/TDvIOG/TJ+mDJNerFRK5WnUJlInbRshzHI5SbJXlaPXXIj5BMxAXB67izH0gjvSNj5cXy/9UIgTO2WCB7XA==";
       };
     };
     "@blueprintjs/core-3.54.0" = {
@@ -2434,31 +2425,40 @@ let
         sha512 = "GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==";
       };
     };
-    "@cdktf/hcl2cdk-0.10.1" = {
+    "@braintree/sanitize-url-6.0.0" = {
+      name = "_at_braintree_slash_sanitize-url";
+      packageName = "@braintree/sanitize-url";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.0.tgz";
+        sha512 = "mgmE7XBYY/21erpzhexk4Cj1cyTQ9LzvnTxtzM17BJ7ERMNE6W72mQRo0I1Ud8eFJ+RVVIcBNhLFZ3GX4XFz5w==";
+      };
+    };
+    "@cdktf/hcl2cdk-0.10.3" = {
       name = "_at_cdktf_slash_hcl2cdk";
       packageName = "@cdktf/hcl2cdk";
-      version = "0.10.1";
+      version = "0.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.10.1.tgz";
-        sha512 = "TzMrX+stsho41G/Vkbvk/b3PQcs4ug8KilU+Nffqz6fqPBbkBc9ZMSLQZw4I6gso02R/CQ7Zh32K/c9zNIx8zQ==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.10.3.tgz";
+        sha512 = "JM+fknoNa+w6HXMC6XinOToxiofxpCfwskIimR2OgHflEuyuAjN4hX21fgys4mRPQq9ItNm/PIyC1FtAvr3fvA==";
       };
     };
-    "@cdktf/hcl2json-0.10.1" = {
+    "@cdktf/hcl2json-0.10.3" = {
       name = "_at_cdktf_slash_hcl2json";
       packageName = "@cdktf/hcl2json";
-      version = "0.10.1";
+      version = "0.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.10.1.tgz";
-        sha512 = "JTOSg7Q3CKELPIL9m2qP9uYxSpwhrHEcKaxZUdfXakx6YhKieBUK6P3SrEHhCaJ+/9ZJwuxo7ZmYkn5pwyXsUA==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.10.3.tgz";
+        sha512 = "kiiif6H/mFBRfg9SJOVSOyOFRl5r2OFHDIssp+1q4w1nlKwQHwFkGcrYrWsID9gvFNaLZepbWg6GbMqT7sPJZw==";
       };
     };
-    "@cdktf/provider-generator-0.10.1" = {
+    "@cdktf/provider-generator-0.10.3" = {
       name = "_at_cdktf_slash_provider-generator";
       packageName = "@cdktf/provider-generator";
-      version = "0.10.1";
+      version = "0.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/provider-generator/-/provider-generator-0.10.1.tgz";
-        sha512 = "dta913ZHPpsylXlwAl4++JV64Fy0u0ahp6KoKVzj6Ee9u2CY3P6CDi8NLBAE4orluhHz8aZlkYcL//I5kjBHuA==";
+        url = "https://registry.npmjs.org/@cdktf/provider-generator/-/provider-generator-0.10.3.tgz";
+        sha512 = "T8MLSXIZqO4ZmXuxrM7ySPaA9qsh3vUTBpxiOA6z24PoVKAhKQXZFUtyrmlSrHc0DoGibyYQqD2H4NQZ414oLw==";
       };
     };
     "@chemzqm/neovim-5.7.9" = {
@@ -2542,31 +2542,31 @@ let
         sha512 = "Yyio9bdHWmNDRlEJrxHKglamIk3d6hC0NkEUW6Ti6ipEh2g0BAhy8Od6t4vLhdZRa1I2n+gY13foy+tUgk0i1Q==";
       };
     };
-    "@commitlint/is-ignored-16.2.1" = {
+    "@commitlint/is-ignored-16.2.4" = {
       name = "_at_commitlint_slash_is-ignored";
       packageName = "@commitlint/is-ignored";
-      version = "16.2.1";
+      version = "16.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-16.2.1.tgz";
-        sha512 = "exl8HRzTIfb1YvDJp2b2HU5z1BT+9tmgxR2XF0YEzkMiCIuEKh+XLeocPr1VcvAKXv3Cmv5X/OfNRp+i+/HIhQ==";
+        url = "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-16.2.4.tgz";
+        sha512 = "Lxdq9aOAYCOOOjKi58ulbwK/oBiiKz+7Sq0+/SpFIEFwhHkIVugvDvWjh2VRBXmRC/x5lNcjDcYEwS/uYUvlYQ==";
       };
     };
-    "@commitlint/lint-16.2.1" = {
+    "@commitlint/lint-16.2.4" = {
       name = "_at_commitlint_slash_lint";
       packageName = "@commitlint/lint";
-      version = "16.2.1";
+      version = "16.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/lint/-/lint-16.2.1.tgz";
-        sha512 = "fNINQ3X2ZqsCkNB3Z0Z8ElmhewqrS3gy2wgBTx97BkcjOWiyPAGwDJ752hwrsUnWAVBRztgw826n37xPzxsOgg==";
+        url = "https://registry.npmjs.org/@commitlint/lint/-/lint-16.2.4.tgz";
+        sha512 = "AUDuwOxb2eGqsXbTMON3imUGkc1jRdtXrbbohiLSCSk3jFVXgJLTMaEcr39pR00N8nE9uZ+V2sYaiILByZVmxQ==";
       };
     };
-    "@commitlint/load-16.2.3" = {
+    "@commitlint/load-16.2.4" = {
       name = "_at_commitlint_slash_load";
       packageName = "@commitlint/load";
-      version = "16.2.3";
+      version = "16.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/load/-/load-16.2.3.tgz";
-        sha512 = "Hb4OUlMnBUK6UxJEZ/VJ5k0LocIS7PtEMbRXEAA7eSpOgORIFexC4K/RaRpVd5UTtu3M0ST3ddPPijF9rdW6nw==";
+        url = "https://registry.npmjs.org/@commitlint/load/-/load-16.2.4.tgz";
+        sha512 = "HjANm3/29ROV+zt4yfaY/K6gpr9Dbzgtlp0kSwZGW0poDXlD/yqVYgPQ6JolJzZii5FUz5R4yVLC15hVL/w60w==";
       };
     };
     "@commitlint/message-16.2.1" = {
@@ -2605,13 +2605,13 @@ let
         sha512 = "NbbCMPKTFf2J805kwfP9EO+vV+XvnaHRcBy6ud5dF35dxMsvdJqke54W3XazXF1ZAxC4a3LBy4i/GNVBAthsEg==";
       };
     };
-    "@commitlint/rules-16.2.1" = {
+    "@commitlint/rules-16.2.4" = {
       name = "_at_commitlint_slash_rules";
       packageName = "@commitlint/rules";
-      version = "16.2.1";
+      version = "16.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/rules/-/rules-16.2.1.tgz";
-        sha512 = "ZFezJXQaBBso+BOTre/+1dGCuCzlWVaeLiVRGypI53qVgPMzQqZhkCcrxBFeqB87qeyzr4A4EoG++IvITwwpIw==";
+        url = "https://registry.npmjs.org/@commitlint/rules/-/rules-16.2.4.tgz";
+        sha512 = "rK5rNBIN2ZQNQK+I6trRPK3dWa0MtaTN4xnwOma1qxa4d5wQMQJtScwTZjTJeallFxhOgbNOgr48AMHkdounVg==";
       };
     };
     "@commitlint/to-lines-16.2.1" = {
@@ -2713,13 +2713,13 @@ let
         sha512 = "ASIgI/LmV2TYrD4mtk+gm4XmUSTRomOyRt7NDWyBpEww/AeawC2O2NH6FosyUT6dUU3GaXt2wgJRN7R78n1SGg==";
       };
     };
-    "@cspell/dict-companies-2.0.3" = {
+    "@cspell/dict-companies-2.0.4" = {
       name = "_at_cspell_slash_dict-companies";
       packageName = "@cspell/dict-companies";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-2.0.3.tgz";
-        sha512 = "O622rMAaHm85AmqNyMki5je8HB/1XlTKbGOXh2UUhooI5qdgdfrjTQ6VBuHwHrfEfuODBHYTNYXVB2m23XqHCg==";
+        url = "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-2.0.4.tgz";
+        sha512 = "nLNVddo+iu4q/Mu03nkVTMnSPxBkoLyZ0MgpHJZWCqxVATbBkzoZNNNjsTkJhvkbrUIWydf8YW4U4wYY+kyh7Q==";
       };
     };
     "@cspell/dict-cpp-2.0.3" = {
@@ -2803,13 +2803,13 @@ let
         sha512 = "tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==";
       };
     };
-    "@cspell/dict-en_us-2.2.0" = {
+    "@cspell/dict-en_us-2.2.1" = {
       name = "_at_cspell_slash_dict-en_us";
       packageName = "@cspell/dict-en_us";
-      version = "2.2.0";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-2.2.0.tgz";
-        sha512 = "IJWu8MI2NdLyPzekrMi9K+v71b0qjDE+z/BccoMA/APnphqgSNM8BDUAzhio6mPKi1AvPRCNUjk79oiUfp+1Gw==";
+        url = "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-2.2.1.tgz";
+        sha512 = "tx6sJOCgfLRTiXxF5Jeheo0wnhc+nedmEx9IKnWMJFzOZ1J9gXmdjDBlZE/zG8g7tsH415yqqPBh6k5J9bupiA==";
       };
     };
     "@cspell/dict-filetypes-2.0.1" = {
@@ -2920,13 +2920,13 @@ let
         sha512 = "7WUEBEspSKtsq104WdIys1+DLqAxpJPzw74Py1TuE3fI5GvlzeSZkRFP2ya54GB2lCO4C3mq4M8EnitpibVDfw==";
       };
     };
-    "@cspell/dict-node-2.0.0" = {
+    "@cspell/dict-node-2.0.1" = {
       name = "_at_cspell_slash_dict-node";
       packageName = "@cspell/dict-node";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-2.0.0.tgz";
-        sha512 = "tPPl3liJORa/l6AoYqh/7rjoM7bdtaIXnIN6ox7CE0flZcBS5rWOB6mzEY3rpu/XJX0pjbBiIoqrolDkVl1RTQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-2.0.1.tgz";
+        sha512 = "ztBWzhvI+YaMehICSJ65cohhjQqoztxf9vrS3YckOiVGBFvUMaFVNdX9klQkvrLcS/O4+2PzoGeIEkmf99amLA==";
       };
     };
     "@cspell/dict-npm-2.0.2" = {
@@ -3343,6 +3343,15 @@ let
         sha512 = "BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==";
       };
     };
+    "@electron/universal-1.2.1" = {
+      name = "_at_electron_slash_universal";
+      packageName = "@electron/universal";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@electron/universal/-/universal-1.2.1.tgz";
+        sha512 = "7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==";
+      };
+    };
     "@emmetio/abbreviation-2.2.3" = {
       name = "_at_emmetio_slash_abbreviation";
       packageName = "@emmetio/abbreviation";
@@ -3424,51 +3433,6 @@ let
         sha512 = "QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==";
       };
     };
-    "@envelop/core-2.3.1" = {
-      name = "_at_envelop_slash_core";
-      packageName = "@envelop/core";
-      version = "2.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@envelop/core/-/core-2.3.1.tgz";
-        sha512 = "AnYUci7EGyA8flml881lDvVDl6n/u6GQpVIOTsZVO29d4/rPqSJ2KFguDD3mjDL406doTTLNuDI4ndxfJl6fmQ==";
-      };
-    };
-    "@envelop/disable-introspection-3.3.1" = {
-      name = "_at_envelop_slash_disable-introspection";
-      packageName = "@envelop/disable-introspection";
-      version = "3.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@envelop/disable-introspection/-/disable-introspection-3.3.1.tgz";
-        sha512 = "THR8UnRQQB5nCLmITXvebwXwSHvFjS+ThA3RRVXpFX9EupMbTFN5a4NHty7+BYD798c3VrBZ/InbMlEWqw1c9g==";
-      };
-    };
-    "@envelop/parser-cache-4.3.1" = {
-      name = "_at_envelop_slash_parser-cache";
-      packageName = "@envelop/parser-cache";
-      version = "4.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@envelop/parser-cache/-/parser-cache-4.3.1.tgz";
-        sha512 = "IqerCVjvVTiGvSZ8qSpdEc55hhiuekufJd0+ldWtyMPznhMaYOzpLifFUhjhhD7004eJM17n9vjJQFa7fIGz8Q==";
-      };
-    };
-    "@envelop/types-2.2.0" = {
-      name = "_at_envelop_slash_types";
-      packageName = "@envelop/types";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@envelop/types/-/types-2.2.0.tgz";
-        sha512 = "Lghvfs0kh53G5mUKpCMlB/FhHh3O8SSR4hewB7JyE9hOEu/9h/6u+GHH/OEgdaRHky1Sae5Jf4grO+h21ka4ig==";
-      };
-    };
-    "@envelop/validation-cache-4.3.1" = {
-      name = "_at_envelop_slash_validation-cache";
-      packageName = "@envelop/validation-cache";
-      version = "4.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@envelop/validation-cache/-/validation-cache-4.3.1.tgz";
-        sha512 = "lmtu9idhdWqbYkcFoFsL1ED4y38DLvj6EDEwE9tULXWuZm4WWmlNQAmKHAwB1d3kGVQAMtxM59crkOOJGRBgHQ==";
-      };
-    };
     "@eslint/eslintrc-0.4.3" = {
       name = "_at_eslint_slash_eslintrc";
       packageName = "@eslint/eslintrc";
@@ -3478,13 +3442,13 @@ let
         sha512 = "J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==";
       };
     };
-    "@eslint/eslintrc-1.2.1" = {
+    "@eslint/eslintrc-1.2.2" = {
       name = "_at_eslint_slash_eslintrc";
       packageName = "@eslint/eslintrc";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz";
-        sha512 = "bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==";
+        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz";
+        sha512 = "lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==";
       };
     };
     "@exodus/schemasafe-1.0.0-rc.6" = {
@@ -3496,13 +3460,13 @@ let
         sha512 = "dDnQizD94EdBwEj/fh3zPRa/HWCS9O5au2PuHhZBbuM3xWHxuaKzPBOEWze7Nn0xW68MIpZ7Xdyn1CoCpjKCuQ==";
       };
     };
-    "@expo/apple-utils-0.0.0-alpha.26" = {
+    "@expo/apple-utils-0.0.0-alpha.31" = {
       name = "_at_expo_slash_apple-utils";
       packageName = "@expo/apple-utils";
-      version = "0.0.0-alpha.26";
+      version = "0.0.0-alpha.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/apple-utils/-/apple-utils-0.0.0-alpha.26.tgz";
-        sha512 = "t+xOhn4bYSAXkXamhDPUiI2Ol+QIwHRHLn/2QiCmNAGHolaVan/hMaVveSzvCYitpaJ16b4nthvcWFoJipxGlA==";
+        url = "https://registry.npmjs.org/@expo/apple-utils/-/apple-utils-0.0.0-alpha.31.tgz";
+        sha512 = "lGJOS8eAPcZhaRl5GZFIg4ZNSRY1k10wYeYXjHUbHxbZGE9lkzrATY8OvrVpcu8qQh3lvPguel63V4mrnoAuOA==";
       };
     };
     "@expo/bunyan-4.0.0" = {
@@ -3514,49 +3478,49 @@ let
         sha512 = "Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==";
       };
     };
-    "@expo/config-6.0.20" = {
+    "@expo/config-6.0.23" = {
       name = "_at_expo_slash_config";
       packageName = "@expo/config";
-      version = "6.0.20";
+      version = "6.0.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config/-/config-6.0.20.tgz";
-        sha512 = "m2T1/hB4TyLkQElOUwOajn/7gBcPaGyfVwoVsuJMEh0yrNvNFtXP+nl87Cm53g5q+VyfwJUgbewPQ3j/UXkI6Q==";
+        url = "https://registry.npmjs.org/@expo/config/-/config-6.0.23.tgz";
+        sha512 = "htanDTaSgtnBrVhAfjVsj8h/t95Kj4clR/nPCm8Puf8H2M7zW6XLV4XV4Pp1fvGZxzBSP+yod+7SBhwa44Q/jQ==";
       };
     };
-    "@expo/config-plugins-4.1.1" = {
+    "@expo/config-plugins-4.1.4" = {
       name = "_at_expo_slash_config-plugins";
       packageName = "@expo/config-plugins";
-      version = "4.1.1";
+      version = "4.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.1.1.tgz";
-        sha512 = "lo3tVxRhwM9jfxPHJcURsH5WvU26kX12h5EB3C7kjVhgdQPLkvT8Jk8Cx0KSL8MXKcry2xQvZ2uuwWLkMeplJw==";
+        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.1.4.tgz";
+        sha512 = "fkOjXnSieQfVSWVLKhst0DnCAyeHksvWky1CldFCQllhDB1HHBiP09Z8pamVB783n3qr/1HNZiSp6k2iUcaSoA==";
       };
     };
-    "@expo/config-types-44.0.0" = {
+    "@expo/config-types-45.0.0" = {
       name = "_at_expo_slash_config-types";
       packageName = "@expo/config-types";
-      version = "44.0.0";
+      version = "45.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config-types/-/config-types-44.0.0.tgz";
-        sha512 = "d+gpdKOAhqaD5RmcMzGgKzNtvE1w+GCqpFQNSXLliYlXjj+Tv0eL8EPeAdPtvke0vowpPFwd5McXLA90dgY6Jg==";
+        url = "https://registry.npmjs.org/@expo/config-types/-/config-types-45.0.0.tgz";
+        sha512 = "/QGhhLWyaGautgEyU50UJr5YqKJix5t77ePTwreOVAhmZH+ff3nrrtYTTnccx+qF08ZNQmfAyYMCD3rQfzpiJA==";
       };
     };
-    "@expo/dev-server-0.1.107" = {
+    "@expo/dev-server-0.1.110" = {
       name = "_at_expo_slash_dev-server";
       packageName = "@expo/dev-server";
-      version = "0.1.107";
+      version = "0.1.110";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.107.tgz";
-        sha512 = "QL0phPimM/F/fX7tjdxfW8n7lkziHT0GxLFiw6gf4Qa3q6BND3xBrI0U2ZIjVZjQGGrVQUiQhdcfenQUNLHdZg==";
+        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.110.tgz";
+        sha512 = "nWulXr4p69yCiR5rS9AmIuYzjIANEjGdGqyHms6vH0dBHYAESnTnlPaurSEi7CQebtXnAhi9srsJGko07wx5DA==";
       };
     };
-    "@expo/dev-tools-0.13.147" = {
+    "@expo/dev-tools-0.13.152" = {
       name = "_at_expo_slash_dev-tools";
       packageName = "@expo/dev-tools";
-      version = "0.13.147";
+      version = "0.13.152";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.147.tgz";
-        sha512 = "zWZdlRinxKearhkmwfJoCaHA25HGl8WZIehF1dIq2s4UPbQ58hvHBQdB6q9W4d78arRAnJKHljJq3t6Rs4smAQ==";
+        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.152.tgz";
+        sha512 = "I8/VQ21tkoilOftxhdcThLMCTEYl/Wr7hlEWVGqXEc+9GfrT/nah04Q46yYNnGbeHkIOVPg/heMVqvTSZYa7hA==";
       };
     };
     "@expo/devcert-1.0.0" = {
@@ -3568,49 +3532,49 @@ let
         sha512 = "cahGyQCmpZmHpn2U04NR9KwsOIZy7Rhsw8Fg4q+A6563lIJxbkrgPnxq/O3NQAh3ohEvOXOOnoFx0b4yycCkpQ==";
       };
     };
-    "@expo/image-utils-0.3.19" = {
+    "@expo/image-utils-0.3.20" = {
       name = "_at_expo_slash_image-utils";
       packageName = "@expo/image-utils";
-      version = "0.3.19";
+      version = "0.3.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.3.19.tgz";
-        sha512 = "mBuWWltyQpl4WF0bIBitfJXOsjB2MOapP+SR3ZnOZ8hOf/a0lzpju94kplK+wa/f80S9owkVu7NZ3wwu+UxljA==";
+        url = "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.3.20.tgz";
+        sha512 = "NgF/80XENyCS+amwC0P6uk1fauEtUq7gijD19jvl2xknJaADq8M2dMCRHwWMVOXosr2v46f3Z++G/NjmyOVS7A==";
       };
     };
-    "@expo/json-file-8.2.35" = {
+    "@expo/json-file-8.2.36" = {
       name = "_at_expo_slash_json-file";
       packageName = "@expo/json-file";
-      version = "8.2.35";
+      version = "8.2.36";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.35.tgz";
-        sha512 = "cQFLGSNRRFbN9EIhVDpMCYuzXbrHUOmKEqitBR+nrU6surjKGsOsN9Ubyn/L/LAGlFvT293E4XY5zsOtJyiPZQ==";
+        url = "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.36.tgz";
+        sha512 = "tOZfTiIFA5KmMpdW9KF7bc6CFiGjb0xnbieJhTGlHrLL+ps2G0OkqmuZ3pFEXBOMnJYUVpnSy++52LFxvpa5ZQ==";
       };
     };
-    "@expo/metro-config-0.3.13" = {
+    "@expo/metro-config-0.3.16" = {
       name = "_at_expo_slash_metro-config";
       packageName = "@expo/metro-config";
-      version = "0.3.13";
+      version = "0.3.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.3.13.tgz";
-        sha512 = "SBsCKQdSPGc9GpyYKbDkbnknklnv+dhBX5rTRf9im+bxzj/4w0bKeq2+7AE28QWaTfDXyZqwwkbMjmFbzXeSHA==";
+        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.3.16.tgz";
+        sha512 = "rMYYpJibi1M8p9jGyU9f4lSNKZC6NSWzfEJsX8yd8gFbMBZV41DqyNzkrl1bx90DzYoLKB8kEPhkDdCJ8bGd/A==";
       };
     };
-    "@expo/osascript-2.0.32" = {
+    "@expo/osascript-2.0.33" = {
       name = "_at_expo_slash_osascript";
       packageName = "@expo/osascript";
-      version = "2.0.32";
+      version = "2.0.33";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/osascript/-/osascript-2.0.32.tgz";
-        sha512 = "yH95/CwLJzhrzIl0EaDNbK3MevHFzCGM89k/2F3ppltRqhPzu8Vt/8onE3yZPEABluoiTVX79AWPogS35iIRhA==";
+        url = "https://registry.npmjs.org/@expo/osascript/-/osascript-2.0.33.tgz";
+        sha512 = "FQinlwHrTlJbntp8a7NAlCKedVXe06Va/0DSLXRO8lZVtgbEMrYYSUZWQNcOlNtc58c2elNph6z9dMOYwSo3JQ==";
       };
     };
-    "@expo/package-manager-0.0.51" = {
+    "@expo/package-manager-0.0.53" = {
       name = "_at_expo_slash_package-manager";
       packageName = "@expo/package-manager";
-      version = "0.0.51";
+      version = "0.0.53";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/package-manager/-/package-manager-0.0.51.tgz";
-        sha512 = "Is/HZYb1GiJ/5VLd02sbUopcdBxnI2PCxNCHp/0r0oC4VcZPUvwcVp3avIBFqaCO0u/MP8JvGPyjq0qHUNZhng==";
+        url = "https://registry.npmjs.org/@expo/package-manager/-/package-manager-0.0.53.tgz";
+        sha512 = "Kg4ZWCuNCBqy6aznNGdD8rt3wSlTIHujfx+yfdm0Ewtq7uLhiyzKoMyh3RV331BdLu2YOSZpozNm2YZ/K/B0CQ==";
       };
     };
     "@expo/plist-0.0.18" = {
@@ -3622,13 +3586,13 @@ let
         sha512 = "+48gRqUiz65R21CZ/IXa7RNBXgAI/uPSdvJqoN9x1hfL44DNbUoWHgHiEXTx7XelcATpDwNTz6sHLfy0iNqf+w==";
       };
     };
-    "@expo/prebuild-config-3.1.1" = {
+    "@expo/prebuild-config-4.0.0" = {
       name = "_at_expo_slash_prebuild-config";
       packageName = "@expo/prebuild-config";
-      version = "3.1.1";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-3.1.1.tgz";
-        sha512 = "7COQ0ZjJof7f4w9kBYlvxg8ulCHJKlA4hqZuQQVAoG83gC+j6Hkbi7cbWOHcAEO/FjwFhNzas5l6P5c3wWj5eg==";
+        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-4.0.0.tgz";
+        sha512 = "h+4tdP94ihzp9Zz6o+k+W+RLNKQ0Lfxu1bUSLsE8u1bFTU0AWSF5sTC3yhG3ABgi+9W9DlwPMwoDGNX12bL3LA==";
       };
     };
     "@expo/rudder-sdk-node-1.1.1" = {
@@ -3640,13 +3604,13 @@ let
         sha512 = "uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==";
       };
     };
-    "@expo/schemer-1.3.34" = {
+    "@expo/schemer-1.4.1" = {
       name = "_at_expo_slash_schemer";
       packageName = "@expo/schemer";
-      version = "1.3.34";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/schemer/-/schemer-1.3.34.tgz";
-        sha512 = "oEcU9aZclpUfO83RSIxESywzt+NbOCbC/z1//dw8flWW9niu2qkHC8zGWWFU+V36LM3Pdhi+dlUYapo66eTitQ==";
+        url = "https://registry.npmjs.org/@expo/schemer/-/schemer-1.4.1.tgz";
+        sha512 = "dW5xz/8TfXcHtlH8q4nZxN/Ru9DyUtsTx6Sl6tb7FByvYvqHKBPz0g/uIMkZBSIppPRvdgEUp9LpYkBR2tx48Q==";
       };
     };
     "@expo/sdk-runtime-versions-1.0.0" = {
@@ -3667,13 +3631,13 @@ let
         sha512 = "LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==";
       };
     };
-    "@expo/webpack-config-0.16.20" = {
+    "@expo/webpack-config-0.16.23" = {
       name = "_at_expo_slash_webpack-config";
       packageName = "@expo/webpack-config";
-      version = "0.16.20";
+      version = "0.16.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.16.20.tgz";
-        sha512 = "aj83vpceXfzAVNKYMVqP+j5C/ByaZbKdR6un0swt6axsPe+Qu8gflAtOJy8LhLUGaiijX51oLncj2jKhCTrGPg==";
+        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.16.23.tgz";
+        sha512 = "HwFvBMtikal8s2mwf3veE8TReVOhkuMXX7HOBhRq8BSbq7RPnVzh6r8tVJVrIaWfqRn3s85GFvzU0YjqcvvHLA==";
       };
     };
     "@expo/xcpretty-4.1.1" = {
@@ -3730,13 +3694,13 @@ let
         sha512 = "M4SmXu428wwQLu1iw6ST07iACjdKY5HiU+xpcgD3IQMMQazgN616GDzc6KZ1ebuBsF7B4TyQS7KZh9mfxnnldg==";
       };
     };
-    "@fluentui/font-icons-mdl2-8.3.1" = {
+    "@fluentui/font-icons-mdl2-8.3.2" = {
       name = "_at_fluentui_slash_font-icons-mdl2";
       packageName = "@fluentui/font-icons-mdl2";
-      version = "8.3.1";
+      version = "8.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.3.1.tgz";
-        sha512 = "L+rYMpTqj335zOhgLEf5vbzyhbSnqTXdsTbN4I9eUHZStrCzrKVcrQ57J/PvBVCZlqkqC9EAOaqhsf2CahPhBg==";
+        url = "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.3.2.tgz";
+        sha512 = "yC9+Gzc6JDKkiwxpa0l1fgjy0yTxlO5Afk1Y/gQkeZFCdJh8jhUVKCZMcgZijwu+bZCJ2DbhayKGiqOjHVrFAA==";
       };
     };
     "@fluentui/foundation-legacy-8.2.6" = {
@@ -3766,13 +3730,13 @@ let
         sha512 = "jzTyqhockpunkFKbEK+8sBP2cbgLllcmcWdTkCrxb+8CxLXD5bMWGMgUiI99Xz7+G/01QBMgAHOngKC05dVS7A==";
       };
     };
-    "@fluentui/react-8.65.0" = {
+    "@fluentui/react-8.67.2" = {
       name = "_at_fluentui_slash_react";
       packageName = "@fluentui/react";
-      version = "8.65.0";
+      version = "8.67.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react/-/react-8.65.0.tgz";
-        sha512 = "wQqRT8RemcSLJ1cinAAwgerZaax8mYys2eO5ZQtCoO84gbKvlF2G1OLfZpjXPUnu/R06o99GdFdOqIyOnPqyDQ==";
+        url = "https://registry.npmjs.org/@fluentui/react/-/react-8.67.2.tgz";
+        sha512 = "QzDa4gXcVacBsUfXKRQV+tL7NwBJZpzgJU/lRlI4zjeC9pqiBxh6ZmxtHu0XXXIKFXa0DyesgnAKBbyqGsENmw==";
       };
     };
     "@fluentui/react-focus-8.5.7" = {
@@ -3910,22 +3874,22 @@ let
         sha512 = "j8yRSSqswWi1QqUGKVEKOG03Q7qOoZP6/h2zN2YO+F5h2+DHU0bSrHCK9Y7lo2DI9fBd8qGAw795sf+3Jva4yA==";
       };
     };
-    "@google-cloud/pubsub-2.19.0" = {
+    "@google-cloud/pubsub-2.19.3" = {
       name = "_at_google-cloud_slash_pubsub";
       packageName = "@google-cloud/pubsub";
-      version = "2.19.0";
+      version = "2.19.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.19.0.tgz";
-        sha512 = "aNgaS7zI6MkE4hrhmxrGiyFZHPvb0BW1djk0D5RoKDwPb8GTuYBfu8w/3twTvaf+HiM7NchvPtdFRbiETIaadw==";
+        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.19.3.tgz";
+        sha512 = "VUP+4vaKPrgy/9YzZHfZgR+9jnmmZe6ZwkWS8xVq5B5DdSJAYAEjKWuYcY9MQo9sNeyVAQCzTV6zzaS57vya0g==";
       };
     };
-    "@grammyjs/types-2.6.0" = {
+    "@grammyjs/types-2.7.1" = {
       name = "_at_grammyjs_slash_types";
       packageName = "@grammyjs/types";
-      version = "2.6.0";
+      version = "2.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grammyjs/types/-/types-2.6.0.tgz";
-        sha512 = "eWckBf25l6xwSS2YO6Ioyf2BDEO7tyNZhgRLl5PzsdvqlHQR+XYTdKwhevsqLG4Y+zmF6hEXnuNTYu+HF8W8Sg==";
+        url = "https://registry.npmjs.org/@grammyjs/types/-/types-2.7.1.tgz";
+        sha512 = "6U6yeEXueDX82tf2JmCBo+MRpH6xMW3hieZS30LFfSiBonqOlQUVbwtIwqC47KZn28oD9eccORCj0dugmu5uAg==";
       };
     };
     "@graphql-cli/common-4.1.0" = {
@@ -3955,13 +3919,13 @@ let
         sha512 = "IuR2SB2MnC2ztA/XeTMTfWcA0Wy7ZH5u+nDkDNLAdX+AaSyDnsQS35sCmHqG0VOGTl7rzoyBWLCKGwSJplgtwg==";
       };
     };
-    "@graphql-tools/batch-execute-8.4.5" = {
+    "@graphql-tools/batch-execute-8.4.6" = {
       name = "_at_graphql-tools_slash_batch-execute";
       packageName = "@graphql-tools/batch-execute";
-      version = "8.4.5";
+      version = "8.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.4.5.tgz";
-        sha512 = "wx2bK3EZ5XSF/jXCQyx/IAucHxCbcQpNNE3wlIxrymZkGSVnwdz0xBfefsn17smImNXGaXgQ+pE7gPDCKmeGrw==";
+        url = "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.4.6.tgz";
+        sha512 = "8O42fReZMssrA4HCkpK68RlRQz/QAvLfOkz+/6dDX2X7VgZtRx3VvFiJd2hFaGdNbLzklBWXF9E6hJdJGkEO5g==";
       };
     };
     "@graphql-tools/delegate-7.1.5" = {
@@ -3973,13 +3937,13 @@ let
         sha512 = "bQu+hDd37e+FZ0CQGEEczmRSfQRnnXeUxI/0miDV+NV/zCbEdIJj5tYFNrKT03W6wgdqx8U06d8L23LxvGri/g==";
       };
     };
-    "@graphql-tools/delegate-8.7.6" = {
+    "@graphql-tools/delegate-8.7.7" = {
       name = "_at_graphql-tools_slash_delegate";
       packageName = "@graphql-tools/delegate";
-      version = "8.7.6";
+      version = "8.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.7.6.tgz";
-        sha512 = "x/dJzgocSANk4Tw6kaASn2aSTJpYvQoLsOSH2fVgnjiaDJkidwctbb5rpbEs6n+WjNB2gW/ldyHTdEbNREJjsw==";
+        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.7.7.tgz";
+        sha512 = "Yb9UHG+Upm0M+5FgtWipXM0/Q8Vuuh1Ieod7hFDmAwHGHbmwG0YpcS/NMdxrQAZYWnli9EdnSPgDAFnWLFN+ZQ==";
       };
     };
     "@graphql-tools/graphql-file-loader-6.2.7" = {
@@ -3991,22 +3955,22 @@ let
         sha512 = "5k2SNz0W87tDcymhEMZMkd6/vs6QawDyjQXWtqkuLTBF3vxjxPD1I4dwHoxgWPIjjANhXybvulD7E+St/7s9TQ==";
       };
     };
-    "@graphql-tools/graphql-file-loader-7.3.10" = {
+    "@graphql-tools/graphql-file-loader-7.3.11" = {
       name = "_at_graphql-tools_slash_graphql-file-loader";
       packageName = "@graphql-tools/graphql-file-loader";
-      version = "7.3.10";
+      version = "7.3.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.3.10.tgz";
-        sha512 = "IkhBU3ho+LL9hKSwiBX/of0zIkq/T1Z3Cd8v2COZAsq1qfg07s1xJUA+gZYZPkxcaa12ThUxyNGf5SuF6T7uZA==";
+        url = "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.3.11.tgz";
+        sha512 = "3RMTfBN0VYSJH+5he9DxW8nGSn5p2+dNN2O2H88QSSwGorkONmKBdmf+9+JTzrEDvPObOzBjIuSD8wCnXlNaQA==";
       };
     };
-    "@graphql-tools/import-6.6.12" = {
+    "@graphql-tools/import-6.6.13" = {
       name = "_at_graphql-tools_slash_import";
       packageName = "@graphql-tools/import";
-      version = "6.6.12";
+      version = "6.6.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/import/-/import-6.6.12.tgz";
-        sha512 = "M0detzy3ihJGJbo7MZ6j02198o2nBhiY2MpnWEMRtUMgmZgz5ZTctK3lIxMsd+6LU96m+mc1i2MNIruTHQ6czw==";
+        url = "https://registry.npmjs.org/@graphql-tools/import/-/import-6.6.13.tgz";
+        sha512 = "yqdCem+ZZFVAaIC2IxWyAXSEHLNPIuMzm4avTQe/LbYNRFRTpzyIYo3clc22ixeuh2LqSL3tLXKq2IsggCAeQw==";
       };
     };
     "@graphql-tools/json-file-loader-6.2.6" = {
@@ -4018,13 +3982,13 @@ let
         sha512 = "CnfwBSY5926zyb6fkDBHnlTblHnHI4hoBALFYXnrg0Ev4yWU8B04DZl/pBRUc459VNgO2x8/mxGIZj2hPJG1EA==";
       };
     };
-    "@graphql-tools/json-file-loader-7.3.10" = {
+    "@graphql-tools/json-file-loader-7.3.11" = {
       name = "_at_graphql-tools_slash_json-file-loader";
       packageName = "@graphql-tools/json-file-loader";
-      version = "7.3.10";
+      version = "7.3.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.3.10.tgz";
-        sha512 = "wLWv0NWRJm3YG1uKkGU4dFTiw8vy6iLxsSCW6ud8f87AfEIG07vS6w2598c1kB1UlTAGqWQYG3HyJ65cjFripA==";
+        url = "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.3.11.tgz";
+        sha512 = "3in/1y+OVKP3eJ8aloxWD2HdZLcZChgHRk5j3ey3C+ANTwoedIgTWcwxro+iLH40IZ7a6z+I/Lb2dEc8xlgwug==";
       };
     };
     "@graphql-tools/load-6.2.4" = {
@@ -4036,13 +4000,13 @@ let
         sha512 = "FlQC50VELwRxoWUbJMMMs5gG0Dl8BaQYMrXUHTsxwqR7UmksUYnysC21rdousvs6jVZ7pf4unZfZFtBjz+8Edg==";
       };
     };
-    "@graphql-tools/load-7.5.9" = {
+    "@graphql-tools/load-7.5.10" = {
       name = "_at_graphql-tools_slash_load";
       packageName = "@graphql-tools/load";
-      version = "7.5.9";
+      version = "7.5.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/load/-/load-7.5.9.tgz";
-        sha512 = "khm1v76ZZseptpweCQ1SIUWi8Y17VCWKTFmKNGkaCDtFEOrwPH6B8u+/J3xS5J+ltQc9FoomMpn6ZELUOqq1dg==";
+        url = "https://registry.npmjs.org/@graphql-tools/load/-/load-7.5.10.tgz";
+        sha512 = "I9b9Md1DdB7Du//+x8CtBAKUW21jyuENCPssvlBjHZjvmx5cIGrTftqwGzuDBgR0Zm72tkmat/FTu6/SQPiyeQ==";
       };
     };
     "@graphql-tools/merge-6.2.17" = {
@@ -4054,13 +4018,13 @@ let
         sha512 = "G5YrOew39fZf16VIrc49q3c8dBqQDD0ax5LYPiNja00xsXDi0T9zsEWVt06ApjtSdSF6HDddlu5S12QjeN8Tow==";
       };
     };
-    "@graphql-tools/merge-8.2.9" = {
+    "@graphql-tools/merge-8.2.10" = {
       name = "_at_graphql-tools_slash_merge";
       packageName = "@graphql-tools/merge";
-      version = "8.2.9";
+      version = "8.2.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.9.tgz";
-        sha512 = "mHRrqMc1NTL6MALBQK1DmAzSxJIKoaCaW7ZCk5bRGzVj/MNQz3OsqlDb/+t9/ONT0V+WI/uxBFsrLMwa4p6L7A==";
+        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.10.tgz";
+        sha512 = "wpg22seOTNfkIO8jFAgo8w1BsT3IS2OTMpkCNf+dvcKSP09SVidYCOliyWHgjDCmpCrvvSjOX855NUKDx/Biew==";
       };
     };
     "@graphql-tools/schema-7.1.5" = {
@@ -4072,13 +4036,13 @@ let
         sha512 = "uyn3HSNSckf4mvQSq0Q07CPaVZMNFCYEVxroApOaw802m9DcZPgf9XVPy/gda5GWj9AhbijfRYVTZQgHnJ4CXA==";
       };
     };
-    "@graphql-tools/schema-8.3.9" = {
+    "@graphql-tools/schema-8.3.10" = {
       name = "_at_graphql-tools_slash_schema";
       packageName = "@graphql-tools/schema";
-      version = "8.3.9";
+      version = "8.3.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.9.tgz";
-        sha512 = "9YFCzn0sYAGTWhZrVYY/neK5cie3s0dNm7Qq38tkhOh2ME5BtHW/8ZIq+UrLGKsBYwa+Qjb/UojGWUm2yG/z6Q==";
+        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.10.tgz";
+        sha512 = "tfhjSTi3OzheDrVzG7rkPZg2BbQjmZRLM2vvQoM2b1TnUwgUIbpAgcnf+AWDLRsoCOWlezeLgij1BLeAR0Q0jg==";
       };
     };
     "@graphql-tools/url-loader-6.10.1" = {
@@ -4090,13 +4054,13 @@ let
         sha512 = "DSDrbhQIv7fheQ60pfDpGD256ixUQIR6Hhf9Z5bRjVkXOCvO5XrkwoWLiU7iHL81GB1r0Ba31bf+sl+D4nyyfw==";
       };
     };
-    "@graphql-tools/url-loader-7.9.13" = {
+    "@graphql-tools/url-loader-7.9.17" = {
       name = "_at_graphql-tools_slash_url-loader";
       packageName = "@graphql-tools/url-loader";
-      version = "7.9.13";
+      version = "7.9.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.9.13.tgz";
-        sha512 = "AeLCLhUyXt2Owt624v0/xjGBvBrYJLWhdNm5LJLcWrMxRoEq16B+E5/JOq3aXruDAaq3VmINjnRMM1As+FphSg==";
+        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.9.17.tgz";
+        sha512 = "tnzjx5qf81/4qjMkFSMVWKMG1/Avqlqh2GRDK0JTPZgZpHDTr9Xy3Hs+FLzhrfm5X7ILihug0jDwf8nBiymFSA==";
       };
     };
     "@graphql-tools/utils-6.2.4" = {
@@ -4126,13 +4090,13 @@ let
         sha512 = "gzkavMOgbhnwkHJYg32Adv6f+LxjbQmmbdD5Hty0+CWxvaiuJq+nU6tzb/7VSU4cwhbNLx/lGu2jbCPEW1McZQ==";
       };
     };
-    "@graphql-tools/utils-8.6.8" = {
+    "@graphql-tools/utils-8.6.9" = {
       name = "_at_graphql-tools_slash_utils";
       packageName = "@graphql-tools/utils";
-      version = "8.6.8";
+      version = "8.6.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.8.tgz";
-        sha512 = "EdUUeKi/wp/UvuknyINpQ/uXDqTM3qxPPPDIq5RpfW0zQOeCvbZcx8xHoMox0TYKvKtg3zoB7aprUtoW+iZLxw==";
+        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.9.tgz";
+        sha512 = "Z1X4d4GCT81+8CSt6SgU4t1w1UAUsAIRb67mI90k/zAs+ArkB95iE3bWXuJCUmd1+r8DGGtmUNOArtd6wkt+OQ==";
       };
     };
     "@graphql-tools/wrap-7.0.8" = {
@@ -4144,58 +4108,13 @@ let
         sha512 = "1NDUymworsOlb53Qfh7fonDi2STvqCtbeE68ntKY9K/Ju/be2ZNxrFSbrBHwnxWcN9PjISNnLcAyJ1L5tCUyhg==";
       };
     };
-    "@graphql-tools/wrap-8.4.15" = {
+    "@graphql-tools/wrap-8.4.16" = {
       name = "_at_graphql-tools_slash_wrap";
       packageName = "@graphql-tools/wrap";
-      version = "8.4.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.4.15.tgz";
-        sha512 = "O3a3IP2yDWqR+B+WtAodiLx166ylGWLuM86upQfZGyJgjhIGqVAEqKIZbE/FyvHUpSiuVpcKwDgwtfCV/s1qNQ==";
-      };
-    };
-    "@graphql-typed-document-node/core-3.1.1" = {
-      name = "_at_graphql-typed-document-node_slash_core";
-      packageName = "@graphql-typed-document-node/core";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.1.tgz";
-        sha512 = "NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==";
-      };
-    };
-    "@graphql-yoga/common-2.3.0" = {
-      name = "_at_graphql-yoga_slash_common";
-      packageName = "@graphql-yoga/common";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-yoga/common/-/common-2.3.0.tgz";
-        sha512 = "EPKK97953c8E1FiaLHMMGqLKtoAN5H9qHr0AiAzMlruJHn0JcbMf2qFTUXklCsuk6UEwNtxeHX42zim11O/E1g==";
-      };
-    };
-    "@graphql-yoga/node-2.3.0" = {
-      name = "_at_graphql-yoga_slash_node";
-      packageName = "@graphql-yoga/node";
-      version = "2.3.0";
+      version = "8.4.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-yoga/node/-/node-2.3.0.tgz";
-        sha512 = "uofEmKIDYthJuCcdhbgU0VW5i2cCqZVKIiEW/xbwvCOBJt439k46D+M6youiQYJ1miaA/m0btbuZ1sAo/TLjdQ==";
-      };
-    };
-    "@graphql-yoga/subscription-2.0.0" = {
-      name = "_at_graphql-yoga_slash_subscription";
-      packageName = "@graphql-yoga/subscription";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-yoga/subscription/-/subscription-2.0.0.tgz";
-        sha512 = "HlG+gIddjIP3/BDrMZymdzmzDjNdYuSGMxx6+1JA83gAEVRDR4yOoT4QeNKYqRhLK9xca/Hxp1PfBpquSa244Q==";
-      };
-    };
-    "@grpc/grpc-js-1.5.10" = {
-      name = "_at_grpc_slash_grpc-js";
-      packageName = "@grpc/grpc-js";
-      version = "1.5.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.10.tgz";
-        sha512 = "++oAubX/7rJzlqH0ShyzDENNNDHYrlttdc3NM40KlaVQDcgGqQknuPoavmyTC+oNUDyxPCX5dHceKhfcgN3tiw==";
+        url = "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.4.16.tgz";
+        sha512 = "b3yz7uN0en44sBEv/fAEQIqdiCEM/gQJSaLyA7Z2hWJwM0gQ5kiq0XMwKvyUAIY8NGig7IywC7bbup5Jc2F35Q==";
       };
     };
     "@grpc/grpc-js-1.5.7" = {
@@ -4234,6 +4153,15 @@ let
         sha512 = "Jqq8t3ylPLPK4XXnYPj2uuESirRCAaQ0//GxRLPK6Xq2TBHb2DlmSzJUh15a6R4uUIjBwA8wI69JuKleZXz4jQ==";
       };
     };
+    "@grpc/grpc-js-1.6.7" = {
+      name = "_at_grpc_slash_grpc-js";
+      packageName = "@grpc/grpc-js";
+      version = "1.6.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.6.7.tgz";
+        sha512 = "eBM03pu9hd3VqDQG+kHahiG1x80RGkkqqRb1Pchcwqej/KkAH95gAvKs6laqaHCycYaPK+TKuNQnOz9UXYA8qw==";
+      };
+    };
     "@grpc/proto-loader-0.6.9" = {
       name = "_at_grpc_slash_proto-loader";
       packageName = "@grpc/proto-loader";
@@ -4297,13 +4225,13 @@ let
         sha512 = "yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==";
       };
     };
-    "@hapi/hoek-9.2.1" = {
+    "@hapi/hoek-9.3.0" = {
       name = "_at_hapi_slash_hoek";
       packageName = "@hapi/hoek";
-      version = "9.2.1";
+      version = "9.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz";
-        sha512 = "gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==";
+        url = "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz";
+        sha512 = "/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==";
       };
     };
     "@hapi/joi-15.1.1" = {
@@ -4648,15 +4576,6 @@ let
         sha512 = "OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==";
       };
     };
-    "@jest/types-26.6.2" = {
-      name = "_at_jest_slash_types";
-      packageName = "@jest/types";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz";
-        sha512 = "fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==";
-      };
-    };
     "@jest/types-27.5.1" = {
       name = "_at_jest_slash_types";
       packageName = "@jest/types";
@@ -4738,13 +4657,31 @@ let
         sha512 = "CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==";
       };
     };
-    "@jridgewell/resolve-uri-3.0.5" = {
+    "@jridgewell/gen-mapping-0.1.1" = {
+      name = "_at_jridgewell_slash_gen-mapping";
+      packageName = "@jridgewell/gen-mapping";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz";
+        sha512 = "sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==";
+      };
+    };
+    "@jridgewell/resolve-uri-3.0.6" = {
       name = "_at_jridgewell_slash_resolve-uri";
       packageName = "@jridgewell/resolve-uri";
-      version = "3.0.5";
+      version = "3.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz";
-        sha512 = "VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==";
+        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz";
+        sha512 = "R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==";
+      };
+    };
+    "@jridgewell/set-array-1.1.0" = {
+      name = "_at_jridgewell_slash_set-array";
+      packageName = "@jridgewell/set-array";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.0.tgz";
+        sha512 = "SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==";
       };
     };
     "@jridgewell/sourcemap-codec-1.4.11" = {
@@ -4756,13 +4693,13 @@ let
         sha512 = "Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==";
       };
     };
-    "@jridgewell/trace-mapping-0.3.4" = {
+    "@jridgewell/trace-mapping-0.3.9" = {
       name = "_at_jridgewell_slash_trace-mapping";
       packageName = "@jridgewell/trace-mapping";
-      version = "0.3.4";
+      version = "0.3.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz";
-        sha512 = "vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==";
+        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz";
+        sha512 = "3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==";
       };
     };
     "@jsdevtools/ono-7.1.3" = {
@@ -4774,22 +4711,22 @@ let
         sha512 = "4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==";
       };
     };
-    "@jsii/check-node-1.56.0" = {
+    "@jsii/check-node-1.57.0" = {
       name = "_at_jsii_slash_check-node";
       packageName = "@jsii/check-node";
-      version = "1.56.0";
+      version = "1.57.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.56.0.tgz";
-        sha512 = "OJZGt2lO7ITY5fnqa0RCBnlaEORCIQq/AWMsJ2OcwOSOGj1Ua+9nsiBvsJ7Dm77k3jLx3IN0odD6/bwP6hQWCA==";
+        url = "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.57.0.tgz";
+        sha512 = "7c4D07I8xefmafKtiXQkarpRsSRufpach4lcM/mepWhBqVGxFjzGF7S4vRT7MAQiEKEpGhnIfpWFhmBgUtP6bw==";
       };
     };
-    "@jsii/spec-1.56.0" = {
+    "@jsii/spec-1.57.0" = {
       name = "_at_jsii_slash_spec";
       packageName = "@jsii/spec";
-      version = "1.56.0";
+      version = "1.57.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.56.0.tgz";
-        sha512 = "nwjVYCXw/KMRokwErkZmSBmYmym3theTptNSaWITwCGSyfDIEvw4ud83CYB3fN4Soa2jsFmIJ2rFffeVuBkOyw==";
+        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.57.0.tgz";
+        sha512 = "Pt1wWIVeBN7UHJ9Flj676hNA3sNN06YSbErUd3loLgCUjRDOUzp2QysaRQK2Zsf2DBIjwLq048btoWkjPsTFJQ==";
       };
     };
     "@juggle/resize-observer-3.3.1" = {
@@ -5494,6 +5431,24 @@ let
         sha512 = "XRG5BloiArpXRakcnPHmEHJp+4AtnhRtpDIHSghmXD5EichI1uD73J7FgPp30mm2pDRq3FdqB0NbwSEsJ9xFQg==";
       };
     };
+    "@lezer/common-0.15.12" = {
+      name = "_at_lezer_slash_common";
+      packageName = "@lezer/common";
+      version = "0.15.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz";
+        sha512 = "edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig==";
+      };
+    };
+    "@lezer/lr-0.15.8" = {
+      name = "_at_lezer_slash_lr";
+      packageName = "@lezer/lr";
+      version = "0.15.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@lezer/lr/-/lr-0.15.8.tgz";
+        sha512 = "bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg==";
+      };
+    };
     "@librescore/fonts-0.4.1" = {
       name = "_at_librescore_slash_fonts";
       packageName = "@librescore/fonts";
@@ -5854,13 +5809,22 @@ let
         sha512 = "W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==";
       };
     };
-    "@microsoft/load-themed-styles-1.10.258" = {
+    "@microsoft/load-themed-styles-1.10.260" = {
       name = "_at_microsoft_slash_load-themed-styles";
       packageName = "@microsoft/load-themed-styles";
-      version = "1.10.258";
+      version = "1.10.260";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.260.tgz";
+        sha512 = "fW6YvdNMrMVQ6LY8Ckl72dtUDdxY/wxgq8o9UKSoC+3sCN2vaSxB6rlmxaSCaR79BWVaxl6oIeQKKDX3UbPg5Q==";
+      };
+    };
+    "@mischnic/json-sourcemap-0.1.0" = {
+      name = "_at_mischnic_slash_json-sourcemap";
+      packageName = "@mischnic/json-sourcemap";
+      version = "0.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.258.tgz";
-        sha512 = "MUJGLLztVKuL7cvQcErURsqDF1XW3XR8FKJDgoxZ1g55C7k28TNZ3DkLSVLI/Z3arCB5ZbYQBx5pXAXlyKXtEA==";
+        url = "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz";
+        sha512 = "dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA==";
       };
     };
     "@mitmaro/errors-1.0.0" = {
@@ -6223,13 +6187,13 @@ let
         sha512 = "9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==";
       };
     };
-    "@npmcli/map-workspaces-2.0.2" = {
+    "@npmcli/map-workspaces-2.0.3" = {
       name = "_at_npmcli_slash_map-workspaces";
       packageName = "@npmcli/map-workspaces";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.2.tgz";
-        sha512 = "ED54EslGsHFWBPN5x8JAOszuWywuoXYSi9E3HQRsgVkWnqsdTBJDSM4IFMRwmmBUbCHAxmP3wGLu1WMm4fhrOw==";
+        url = "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.3.tgz";
+        sha512 = "X6suAun5QyupNM8iHkNPh0AHdRC2rb1W+MTdMvvA/2ixgmqZwlq5cGUBgmKHUHT2LgrkKJMAXbfAoTxOigpK8Q==";
       };
     };
     "@npmcli/metavuln-calculator-2.0.0" = {
@@ -6664,490 +6628,490 @@ let
         sha512 = "hf+3bwuBwtXsugA2ULBc95qxrOqP2pOekLz34BJhcAKawt94vfeNyUKpYc0lZQ/3sCP6LqRa7UAdHA7i5UODzQ==";
       };
     };
-    "@opentelemetry/semantic-conventions-1.1.1" = {
+    "@opentelemetry/semantic-conventions-1.2.0" = {
       name = "_at_opentelemetry_slash_semantic-conventions";
       packageName = "@opentelemetry/semantic-conventions";
-      version = "1.1.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.1.1.tgz";
-        sha512 = "GdTwDHSaZ6iP5LUdvS/SLUjn3067xn1HcBsLZCh8YOsf22d/YWTBcnFl3buieBP4KiajwHLho4I8HSMDKACBSg==";
+        url = "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.2.0.tgz";
+        sha512 = "BNKB9fiYVghALJzCuWO3eNYfdTExPVK4ykrtmfNfy0A6UWYhOYjGMXifUmkunDJNL8ju9tBobo8jF0WR9zGy1Q==";
       };
     };
-    "@ot-builder/bin-composite-types-1.5.1" = {
+    "@ot-builder/bin-composite-types-1.5.2" = {
       name = "_at_ot-builder_slash_bin-composite-types";
       packageName = "@ot-builder/bin-composite-types";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/bin-composite-types/-/bin-composite-types-1.5.1.tgz";
-        sha512 = "ocwr19PbiqbZ6X64IhTzZzXvYxrGBUQHSN3Ii1RAPbZ8McHlNX4LtUbxAE1P3MnXOWtlZO4YUr4hHOZY2c6/7A==";
+        url = "https://registry.npmjs.org/@ot-builder/bin-composite-types/-/bin-composite-types-1.5.2.tgz";
+        sha512 = "l3mLi4cZ1GrEHT9xSgYIPgJXRiMGubtOPL9QJ0ZMm24Ss1TlNXiIW4AOfp/+8H0NOv7JVrb06toWf4tEb4B1+g==";
       };
     };
-    "@ot-builder/bin-util-1.5.1" = {
+    "@ot-builder/bin-util-1.5.2" = {
       name = "_at_ot-builder_slash_bin-util";
       packageName = "@ot-builder/bin-util";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/bin-util/-/bin-util-1.5.1.tgz";
-        sha512 = "uYz/dEE723loQiNIoRifnY8TWOdheuorCojIoTtZa3CIiAzfjpkVpHXpoSrDpO0Syep0tfq8pgDf/vm0fv0Mnw==";
+        url = "https://registry.npmjs.org/@ot-builder/bin-util/-/bin-util-1.5.2.tgz";
+        sha512 = "OMchvRddJ0ZnYw09OdFLu29YrHTXFbAxcxErHy4s3UujqZhpUzTY3o+brLnKLh60oXQdOHTT+wJDy+D89DWOYw==";
       };
     };
-    "@ot-builder/cli-help-shower-1.5.1" = {
+    "@ot-builder/cli-help-shower-1.5.2" = {
       name = "_at_ot-builder_slash_cli-help-shower";
       packageName = "@ot-builder/cli-help-shower";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-help-shower/-/cli-help-shower-1.5.1.tgz";
-        sha512 = "xSeyQV/muAqr0ZMZprdAAz+4fq3C8j1AOPqjv0jWeyUcDTGHR1Itvf1iigL7+LB9nIn3bZXKFLBiUUQx2Lmhig==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-help-shower/-/cli-help-shower-1.5.2.tgz";
+        sha512 = "opcpqXh5RxHc/lB/mIxIA8amPugXgJHym5q3Jb3uZT1DOhhORRAs0NAgNAswKHHPvTyOUIu3mYYuV2KA093K4A==";
       };
     };
-    "@ot-builder/cli-proc-1.5.1" = {
+    "@ot-builder/cli-proc-1.5.2" = {
       name = "_at_ot-builder_slash_cli-proc";
       packageName = "@ot-builder/cli-proc";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-proc/-/cli-proc-1.5.1.tgz";
-        sha512 = "/uUtJIOHiUzfFeWMQFF9CNg93+cZc9DIbPb7fIS3yucWSpaKP2cXjwZ9LeHDxkbtIMLwfr9W/ktRk/DlKERPJw==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-proc/-/cli-proc-1.5.2.tgz";
+        sha512 = "bPg6dpEmeTsTaU7Az6G2fLgk7jBP8gQ/WaX0at1w4poOGUSo/UTFZ9EDmh0Y6gxLo9Mf45gbeA9vUmXiUczi/g==";
       };
     };
-    "@ot-builder/cli-shared-1.5.1" = {
+    "@ot-builder/cli-shared-1.5.2" = {
       name = "_at_ot-builder_slash_cli-shared";
       packageName = "@ot-builder/cli-shared";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-shared/-/cli-shared-1.5.1.tgz";
-        sha512 = "FbFIQ5lWNobNR7Sg4TDevNpEGn03Com+5+OfLLUToHhXoTuGmJDfrHeQ7KG7bFs4pnCNDDavM1Dn34v/U5zmbA==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-shared/-/cli-shared-1.5.2.tgz";
+        sha512 = "rTDHUqNGiEyAW0sRQ6etO3prUuNOr/00n9mpwnmENnisA/RwyY0BW+z5zGc8iD2tJunU6/LibOBubppV6PNTGQ==";
       };
     };
-    "@ot-builder/common-impl-1.5.1" = {
+    "@ot-builder/common-impl-1.5.2" = {
       name = "_at_ot-builder_slash_common-impl";
       packageName = "@ot-builder/common-impl";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/common-impl/-/common-impl-1.5.1.tgz";
-        sha512 = "5cBzUheN3hOn0Di47FXW83PN6/ggcIBo3g5jIEP0UiYFXnUkO9YLzdQWEz5dLa0cUVkaotfwS7XYbaiBOmW57g==";
+        url = "https://registry.npmjs.org/@ot-builder/common-impl/-/common-impl-1.5.2.tgz";
+        sha512 = "3cXrL176gm4PF/VYsc0A0VMvdddXTqjsPAMqSrYnp79lStGy17TxZmvE4odRAq8XeKNuiQcdVmHR9M2nVgiKUA==";
       };
     };
-    "@ot-builder/errors-1.5.1" = {
+    "@ot-builder/errors-1.5.2" = {
       name = "_at_ot-builder_slash_errors";
       packageName = "@ot-builder/errors";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/errors/-/errors-1.5.1.tgz";
-        sha512 = "++wdnFpE9Z/YR/sosddrtdIO4rIglp8V/igHCvZtsyIPR88q+q0/NTmQBMOLsZn6MeHRJgYIt0/Q4yZEhezUiA==";
+        url = "https://registry.npmjs.org/@ot-builder/errors/-/errors-1.5.2.tgz";
+        sha512 = "wy5c3sE/bpBXWpqFy5yVVNZvBHRSOmTn5anCF+Gq/OjMwPM3vASHo8RccFqQf7AhOFgMWDLYglFniihXloft+w==";
       };
     };
-    "@ot-builder/io-bin-cff-1.5.1" = {
+    "@ot-builder/io-bin-cff-1.5.2" = {
       name = "_at_ot-builder_slash_io-bin-cff";
       packageName = "@ot-builder/io-bin-cff";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-cff/-/io-bin-cff-1.5.1.tgz";
-        sha512 = "7RcEM5hTDWM9vds2EXyS9sW2KRFUlnQuys9eMQ0OvgU9cO3hrN7UDhNtMTcjDFTtD668DX82jkP1CtnwORUczA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-cff/-/io-bin-cff-1.5.2.tgz";
+        sha512 = "/BhWleYozRBHSy3nvLKZ19jPcl786LCaiu2oTih5xUCVx17unfLtmEfb8bzgZBMDSB7xvVJ24A/OnZS89Y9heA==";
       };
     };
-    "@ot-builder/io-bin-encoding-1.5.1" = {
+    "@ot-builder/io-bin-encoding-1.5.2" = {
       name = "_at_ot-builder_slash_io-bin-encoding";
       packageName = "@ot-builder/io-bin-encoding";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-encoding/-/io-bin-encoding-1.5.1.tgz";
-        sha512 = "0nDTXPdTfHDvThAGuS/Td8HDp7FV7mQBcC1YVblA7L1RXf0EU2dxbLKgjqt9s4diQRsMRAvIs+REc0oa+/FFzQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-encoding/-/io-bin-encoding-1.5.2.tgz";
+        sha512 = "CA1wbilkUIHoq9RJkiadPb3qvh4b6k101U5oA9ACgMgq+EqOEl0Me+HFeyoR5AJfVVzkyxfzTYOq8oiGvCYFrA==";
       };
     };
-    "@ot-builder/io-bin-ext-private-1.5.1" = {
+    "@ot-builder/io-bin-ext-private-1.5.2" = {
       name = "_at_ot-builder_slash_io-bin-ext-private";
       packageName = "@ot-builder/io-bin-ext-private";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-ext-private/-/io-bin-ext-private-1.5.1.tgz";
-        sha512 = "wB8F3cpeSYbUQl9yQPdc/vtq//KKI9g9INc2vh/OaQVBeGtfEEHmyVtTsVg3qaBNH5UVcJLO1n8WPMaUejPQ4w==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-ext-private/-/io-bin-ext-private-1.5.2.tgz";
+        sha512 = "41nZQB8WiKlTnOzwFdPH+zbSrRGA1YLyuZlXJSqZH8+0Va8q6zXqWhoqLAh1f5gS7j/iB76rltZWZLg3LFfqHg==";
       };
     };
-    "@ot-builder/io-bin-font-1.5.1" = {
+    "@ot-builder/io-bin-font-1.5.2" = {
       name = "_at_ot-builder_slash_io-bin-font";
       packageName = "@ot-builder/io-bin-font";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-font/-/io-bin-font-1.5.1.tgz";
-        sha512 = "gyjIucWeUUe5Qa5kgyoKQ5ZgmcEqmjXhyOrMAftflo13JUe48azoqFgmcR2F7mLHEEp0o6zPxIFhuq4Osjoi/g==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-font/-/io-bin-font-1.5.2.tgz";
+        sha512 = "4+bYorR+h5ilJoJtAdPwm38T0Qcv82/3+dwHWJFUYRtuSYiDToZSZEEaFgzuRtby8ye/s35oQ+D0WWlmJSYayQ==";
       };
     };
-    "@ot-builder/io-bin-glyph-store-1.5.1" = {
+    "@ot-builder/io-bin-glyph-store-1.5.2" = {
       name = "_at_ot-builder_slash_io-bin-glyph-store";
       packageName = "@ot-builder/io-bin-glyph-store";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-glyph-store/-/io-bin-glyph-store-1.5.1.tgz";
-        sha512 = "UmVjJ5SZxwEgaJFbO/l5gN4VD5GQwP0mkFhrTa0iubHMcKsAYAPiXJfs/YCaGj/cWaVtyucilk7+dbHsRglGnw==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-glyph-store/-/io-bin-glyph-store-1.5.2.tgz";
+        sha512 = "3u6bu3IlAmKNxXZJfb96gIKPNMnrk4DW4RQ0sJH56bQSXFv8/zYW27jqs2T6BIFJ8WYshM/bTMjWDrnctdgbNQ==";
       };
     };
-    "@ot-builder/io-bin-layout-1.5.1" = {
+    "@ot-builder/io-bin-layout-1.5.2" = {
       name = "_at_ot-builder_slash_io-bin-layout";
       packageName = "@ot-builder/io-bin-layout";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-layout/-/io-bin-layout-1.5.1.tgz";
-        sha512 = "SoarXj9DVSuGSMxGetF9jIBeO0BV1KGMuHs23+CTD6xKSBn0YrPa3S/kim8crCbhdJl5az0pIa2X3EvJ+sGziw==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-layout/-/io-bin-layout-1.5.2.tgz";
+        sha512 = "cVEgqOMI9wzD6qMP9+iUnJX/QBJ14x4BpG/wmIS6R8de3JJXld+OqHFDTHJJr/Y0czUajZkjFIIYeToR1t/nAA==";
       };
     };
-    "@ot-builder/io-bin-metadata-1.5.1" = {
+    "@ot-builder/io-bin-metadata-1.5.2" = {
       name = "_at_ot-builder_slash_io-bin-metadata";
       packageName = "@ot-builder/io-bin-metadata";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-metadata/-/io-bin-metadata-1.5.1.tgz";
-        sha512 = "XC+0/BBXFUQxP+jeRq7H9QQZLBlsXGvwiSc0Fll8zQjVgFJB8HS/sOpCvr1kP3AiuFpUtnXsFSCp4SUM+phZEQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-metadata/-/io-bin-metadata-1.5.2.tgz";
+        sha512 = "UGZu77heEHq4KIEb0C/fkhkewDHv2gkGWqPNXNOPvg7OSR/7A45Ooun8a9vilHaxEJAcUaoLYRWWVFWiVRnDBQ==";
       };
     };
-    "@ot-builder/io-bin-metric-1.5.1" = {
+    "@ot-builder/io-bin-metric-1.5.2" = {
       name = "_at_ot-builder_slash_io-bin-metric";
       packageName = "@ot-builder/io-bin-metric";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-metric/-/io-bin-metric-1.5.1.tgz";
-        sha512 = "WfQtSPgsOaydreLa2j9wjBg1UfBPmi2vYHG5M8LrD0iygOG+OoFcAvuX58gvOxz0n6OS3bHIeI2KAXd/9XLLew==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-metric/-/io-bin-metric-1.5.2.tgz";
+        sha512 = "lHQXURP0fs7hENvGV5tw90Z85spfmjkS1KMTmBlSPqjig1vG0zoHmPFQhbv7urAVJkUu4oeUxfHdQ8hQH+xnOg==";
       };
     };
-    "@ot-builder/io-bin-name-1.5.1" = {
+    "@ot-builder/io-bin-name-1.5.2" = {
       name = "_at_ot-builder_slash_io-bin-name";
       packageName = "@ot-builder/io-bin-name";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-name/-/io-bin-name-1.5.1.tgz";
-        sha512 = "R7UT653Y/OYcSRT+cjXpsbPRRU4mAz5RfYxKTW8yKFJ2SN++17LqlkHAUhhWMiU6mJwNjIkpx6/g97ewRgY0oA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-name/-/io-bin-name-1.5.2.tgz";
+        sha512 = "+Yxp5fTmGuP2XtHRrbcHWPTFqlrA5uPz1+xInlVJQKsIwrC4tVrshsWYwhGE99hkAli+JdyTsIoSmOKP7Jv96w==";
       };
     };
-    "@ot-builder/io-bin-sfnt-1.5.1" = {
+    "@ot-builder/io-bin-sfnt-1.5.2" = {
       name = "_at_ot-builder_slash_io-bin-sfnt";
       packageName = "@ot-builder/io-bin-sfnt";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-sfnt/-/io-bin-sfnt-1.5.1.tgz";
-        sha512 = "/PedJquNAlN+brP11hxKtDsNwVqklZVO8kYBOfh/8M/W5DDiz0Vrp36hSj8/qI0waYQWQegoN8l31y81YQRYxw==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-sfnt/-/io-bin-sfnt-1.5.2.tgz";
+        sha512 = "rC260d+vf9eugGh71ReudGyBEHsInsICADk1JOzy9HbJ7LrSgQO8chO3EKbfP4MfelYg+uSgsFm5fQCBzuB8wg==";
       };
     };
-    "@ot-builder/io-bin-ttf-1.5.1" = {
+    "@ot-builder/io-bin-ttf-1.5.2" = {
       name = "_at_ot-builder_slash_io-bin-ttf";
       packageName = "@ot-builder/io-bin-ttf";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-ttf/-/io-bin-ttf-1.5.1.tgz";
-        sha512 = "xeV56Bd72YGm0n4Pt5SOcA+nocNEP/D2P1oieGu0Karb7yMqwd+fkoxPBo6+UMxWkWh0x7iztY4uMGI87HEpqQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-ttf/-/io-bin-ttf-1.5.2.tgz";
+        sha512 = "w6L8FjwUQ28+Fd6FJJHEL20YoWbiK5Anh1+YjrbDsLOtmWFvF0hC0+3wi/FbVbiSx6ho91RZDAFc4t2k1bJo2A==";
       };
     };
-    "@ot-builder/io-bin-vtt-private-1.5.1" = {
+    "@ot-builder/io-bin-vtt-private-1.5.2" = {
       name = "_at_ot-builder_slash_io-bin-vtt-private";
       packageName = "@ot-builder/io-bin-vtt-private";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-vtt-private/-/io-bin-vtt-private-1.5.1.tgz";
-        sha512 = "QL6HLeE7fs5gYiazG+2DVRg6zbL2O/srkkVGU4L1++1Z87BFp4xvID9LvePwLEpWUJFl9+4bRB6j5ozoYU3vYA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-vtt-private/-/io-bin-vtt-private-1.5.2.tgz";
+        sha512 = "pCKjYtMquIviJfxohvkJhkHIj1uF/i54qkAqgnwyBMF1CIwvn8hBAcbulxwH9m1Sr+h06mfRQARgbI/B9bnxhQ==";
       };
     };
-    "@ot-builder/ot-1.5.1" = {
+    "@ot-builder/ot-1.5.2" = {
       name = "_at_ot-builder_slash_ot";
       packageName = "@ot-builder/ot";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot/-/ot-1.5.1.tgz";
-        sha512 = "XIIYr9jv1TSYmcOkZDPRJASvgeKUQ+WnfaScu0fDiFI5GcLCLZOQnYjju8P1Q7/YOHT6HLZlD8T1MgXR8auo+w==";
+        url = "https://registry.npmjs.org/@ot-builder/ot/-/ot-1.5.2.tgz";
+        sha512 = "Ll+N/oE2048VMca6aEXxxPInh8SKyWDyELkQy6C9+d2spN6gxNR4S9y40KI49bcCosvHn6ej94nu7erIF4Xd3A==";
       };
     };
-    "@ot-builder/ot-encoding-1.5.1" = {
+    "@ot-builder/ot-encoding-1.5.2" = {
       name = "_at_ot-builder_slash_ot-encoding";
       packageName = "@ot-builder/ot-encoding";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-encoding/-/ot-encoding-1.5.1.tgz";
-        sha512 = "jgAxj59W5P3bC33FGYGINjFvgc6JVX6ppPN4LVeXnl0ExtqVqiBDf83DA33u+tDrZlqkAtYSed42V3TNA90wXg==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-encoding/-/ot-encoding-1.5.2.tgz";
+        sha512 = "XghLV1nRzE1VMPMJKzwaYWPUMb/xKFXcOPxdVdXK9tnipzJ/gwxsVc9yzcxshZNwC+JwPozupUGxLWrdBfv+CA==";
       };
     };
-    "@ot-builder/ot-ext-private-1.5.1" = {
+    "@ot-builder/ot-ext-private-1.5.2" = {
       name = "_at_ot-builder_slash_ot-ext-private";
       packageName = "@ot-builder/ot-ext-private";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-ext-private/-/ot-ext-private-1.5.1.tgz";
-        sha512 = "fcnGZ6MgMdQIGipVzBuiH1lIOFWovi7Lfwt0ddYMzWjUqlnZgzpl6JwROQkmcfweAguEN3gFB/2Nkd+B5IHNgw==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-ext-private/-/ot-ext-private-1.5.2.tgz";
+        sha512 = "A918OM2jHz6tVLNAfTO4KXbUqILbgy76EAmCMKQ4GConkGD39cM4xZ3FI9w3gph7kyvfDFhICXLYST0hK9snNg==";
       };
     };
-    "@ot-builder/ot-glyphs-1.5.1" = {
+    "@ot-builder/ot-glyphs-1.5.2" = {
       name = "_at_ot-builder_slash_ot-glyphs";
       packageName = "@ot-builder/ot-glyphs";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-glyphs/-/ot-glyphs-1.5.1.tgz";
-        sha512 = "hHKK6TWINdwy/pYQgPNfSlTWaIesHrizk6Uu2uT66ISRd3FAUcr3L+kjf8nLimkFDqPBvvQGMW8c3pEVlOt3Cw==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-glyphs/-/ot-glyphs-1.5.2.tgz";
+        sha512 = "yL1/T48XXujdMs1xqD1yPEgdrCGaDROm2eChJ5dqYnrEbm7Xeif5qT/2AkPRse9sjDAxBypfEw5+/yuEreRcjA==";
       };
     };
-    "@ot-builder/ot-layout-1.5.1" = {
+    "@ot-builder/ot-layout-1.5.2" = {
       name = "_at_ot-builder_slash_ot-layout";
       packageName = "@ot-builder/ot-layout";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-layout/-/ot-layout-1.5.1.tgz";
-        sha512 = "ORIVOQFccaCkA/CpmKEUAGBU3jE3LtyQGl/g+sQPHNGR4H0Amrm9X4FlDuQAgzqMEDC3jUPmcyB3yBxJ71CLzQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-layout/-/ot-layout-1.5.2.tgz";
+        sha512 = "7uTXlHzTa1FzsN2HZOMb6IHY07ICk2D+tr5w3Ex5hYwqRcJrEcPzrfEvleXbMB2bQ1dexiDljWuTf9iVcuX1eA==";
       };
     };
-    "@ot-builder/ot-metadata-1.5.1" = {
+    "@ot-builder/ot-metadata-1.5.2" = {
       name = "_at_ot-builder_slash_ot-metadata";
       packageName = "@ot-builder/ot-metadata";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-metadata/-/ot-metadata-1.5.1.tgz";
-        sha512 = "t8u2Uf418PQBXA+Ex5vhAkqg1z7U3ULr4P3gdzwlvs82HpeTVrsJvYbpWj4RymSGUTDB56GT6dpvL9n9MZfg7w==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-metadata/-/ot-metadata-1.5.2.tgz";
+        sha512 = "yqNRfUZDytD2LMIVxAKpKrTXhXyi495LDOSFhgWtfY5bQp9RehwgwzAU+hRG0ILQx9PWGwGjNiqRv8LfjaYOwA==";
       };
     };
-    "@ot-builder/ot-name-1.5.1" = {
+    "@ot-builder/ot-name-1.5.2" = {
       name = "_at_ot-builder_slash_ot-name";
       packageName = "@ot-builder/ot-name";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-name/-/ot-name-1.5.1.tgz";
-        sha512 = "SYwiXsP0edNS7kQcRpqmUOJX5koqnA888/kyalzzmStGm95JGoT6bX8dWp6MY/KOyzSHq4srJcM23GBxGs4epA==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-name/-/ot-name-1.5.2.tgz";
+        sha512 = "ZyA0jQvpWp0nT9kEYxtsRyetVxdQxbatM1vHm+TMsnhw7S7wU8OhXkF1TzOuhSaWWqDZfz5edPkF3vonXwJRSw==";
       };
     };
-    "@ot-builder/ot-sfnt-1.5.1" = {
+    "@ot-builder/ot-sfnt-1.5.2" = {
       name = "_at_ot-builder_slash_ot-sfnt";
       packageName = "@ot-builder/ot-sfnt";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-sfnt/-/ot-sfnt-1.5.1.tgz";
-        sha512 = "BPfGhc6xpZWKrOcLoH0+ceVxu7EWqaByzkz56d58bh/EGdLRqbQegjRyNsHQz3U237I9YulbsAOBi4LMh9EbCg==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-sfnt/-/ot-sfnt-1.5.2.tgz";
+        sha512 = "BATyuGX8xUMz99Yu4pexm63nTa5jsW7XD2tO+eVbjSZsbURD2D1XL6h2MsVtPIcUYGCB8eLBpFRvh+fJlR2bLA==";
       };
     };
-    "@ot-builder/ot-standard-glyph-namer-1.5.1" = {
+    "@ot-builder/ot-standard-glyph-namer-1.5.2" = {
       name = "_at_ot-builder_slash_ot-standard-glyph-namer";
       packageName = "@ot-builder/ot-standard-glyph-namer";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-standard-glyph-namer/-/ot-standard-glyph-namer-1.5.1.tgz";
-        sha512 = "6zJken8UG3En8/Z0sN1gDvFoXfgxN4hgLD6ElKLzu9gBw3zXdgdigLnIgTecOGzoYUfnO17pA0/tY4AH6Z70OQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-standard-glyph-namer/-/ot-standard-glyph-namer-1.5.2.tgz";
+        sha512 = "cCQ0ln4Mq2wiTSKIwiqLIpJVk/6IADpJayncA/vdljKrCKLUVYscS6I1bw3de8bvutc6BdCy9xYshmdsFoIJNQ==";
       };
     };
-    "@ot-builder/ot-vtt-private-1.5.1" = {
+    "@ot-builder/ot-vtt-private-1.5.2" = {
       name = "_at_ot-builder_slash_ot-vtt-private";
       packageName = "@ot-builder/ot-vtt-private";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-vtt-private/-/ot-vtt-private-1.5.1.tgz";
-        sha512 = "757L0L3kNZxx3fG5FUeGFGtZIPerv2gAycat91Wtbw6XjiMtqcJITwO7/rkUWD+6u3vMYTWpFO1Ye4XgClYuWQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-vtt-private/-/ot-vtt-private-1.5.2.tgz";
+        sha512 = "QIKNssMPTiJKm+r1pbJBxNO36k78D0/BWgq68k9DFH5tfiZnRy6MesczOBIlW9RmRFeFy640yx8tPNGvNYgG8w==";
       };
     };
-    "@ot-builder/prelude-1.5.1" = {
+    "@ot-builder/prelude-1.5.2" = {
       name = "_at_ot-builder_slash_prelude";
       packageName = "@ot-builder/prelude";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/prelude/-/prelude-1.5.1.tgz";
-        sha512 = "0ovDORVvH3SWHoG+nNL0RAAk6wsHrfxp6cW8Fk+7vum06JWWGTiv9VEDyYNWWfCRD958T/xUguk/q/0slr38Ow==";
+        url = "https://registry.npmjs.org/@ot-builder/prelude/-/prelude-1.5.2.tgz";
+        sha512 = "58r3rUfAIo0Irq6XcDn8u9F+YJ5NBwEa5mLrFg0dk7EcbEe5/rErGfeBjzP1uqUoN/zRu1q9zHXB+CU54XrJ/g==";
       };
     };
-    "@ot-builder/primitive-1.5.1" = {
+    "@ot-builder/primitive-1.5.2" = {
       name = "_at_ot-builder_slash_primitive";
       packageName = "@ot-builder/primitive";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/primitive/-/primitive-1.5.1.tgz";
-        sha512 = "xRIHI7+EKqq+3XAJMRne4lX41Y85QLtyf+mAN6CpFfrtTRd9U47BpbLHV8fktW/tzR+iuOtWL5C0g4iNVqrTTA==";
+        url = "https://registry.npmjs.org/@ot-builder/primitive/-/primitive-1.5.2.tgz";
+        sha512 = "zSf7O/qc+mrXHNnTrm3n8l02NRfmI3povgOScOE0N9cQ/FoePksiKgk9OWHOg7wQOGcAee7sBWK+ROkRJBLE0g==";
       };
     };
-    "@ot-builder/rectify-1.5.1" = {
+    "@ot-builder/rectify-1.5.2" = {
       name = "_at_ot-builder_slash_rectify";
       packageName = "@ot-builder/rectify";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/rectify/-/rectify-1.5.1.tgz";
-        sha512 = "AXM+fy1h/JAvf0y79a31w92NwicQb9y+hotRthd88EXTxOZLlyyuwzUdfBW5MaMfXq7/SfeCxlz6xcSaMMjfrg==";
+        url = "https://registry.npmjs.org/@ot-builder/rectify/-/rectify-1.5.2.tgz";
+        sha512 = "8yKJUzb6PkKS7rRUNVpkk9QJBKRdo6aYAQiPbgn2NpyZXAls3TIbqY0+RYwaTbrIF6PC1P/ZH+jJduDEFEiRIw==";
       };
     };
-    "@ot-builder/stat-glyphs-1.5.1" = {
+    "@ot-builder/stat-glyphs-1.5.2" = {
       name = "_at_ot-builder_slash_stat-glyphs";
       packageName = "@ot-builder/stat-glyphs";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/stat-glyphs/-/stat-glyphs-1.5.1.tgz";
-        sha512 = "trH59RavFr0++8WnodHF/A3YpKXXcW68fbugm19dW5Pen5sUSfEh0OpLKwI4YjW98/kKiLYqu8MwJCIugEaKqQ==";
+        url = "https://registry.npmjs.org/@ot-builder/stat-glyphs/-/stat-glyphs-1.5.2.tgz";
+        sha512 = "sJCvYKR03PeZmdPN+Id6rS4R564wJJ3SlH5+5mGwwBiUBl+A8SnYKt/ono42KerI8KA4ZpZWszr81jsO0Da1MA==";
       };
     };
-    "@ot-builder/trace-1.5.1" = {
+    "@ot-builder/trace-1.5.2" = {
       name = "_at_ot-builder_slash_trace";
       packageName = "@ot-builder/trace";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/trace/-/trace-1.5.1.tgz";
-        sha512 = "M+8o1JvM4T99ciRdipJDWIshBN1878EB5B2m7VvB9SwcfIRy2bBEW2pNIf+nWBgttbkXqeMNi9JMGgBlcCbK/w==";
+        url = "https://registry.npmjs.org/@ot-builder/trace/-/trace-1.5.2.tgz";
+        sha512 = "H9Us+DO5I25dkSCdtGRaVTejvU1/kecXKx24dCnFM1QDslmKvFGNBuYxR2B3Oxo5Jfn2uO8jqqcAtS0mV8etdg==";
       };
     };
-    "@ot-builder/var-store-1.5.1" = {
+    "@ot-builder/var-store-1.5.2" = {
       name = "_at_ot-builder_slash_var-store";
       packageName = "@ot-builder/var-store";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/var-store/-/var-store-1.5.1.tgz";
-        sha512 = "GJWlE7hDwajX1cvGjChR9rt8kqiC3O5cr9ikFpPyz150zkkqWaLi38sISA1h7Vk/dU5TQ6nVka53/I2Q4tWptA==";
+        url = "https://registry.npmjs.org/@ot-builder/var-store/-/var-store-1.5.2.tgz";
+        sha512 = "HNmjiVhdU9epqApbvqr46puJe6N7+R0sMbYs+9UrIf4x+csM97T/Z2o3bKi17Jkn18023UYhCMLP3fxCZQqLbw==";
       };
     };
-    "@ot-builder/variance-1.5.1" = {
+    "@ot-builder/variance-1.5.2" = {
       name = "_at_ot-builder_slash_variance";
       packageName = "@ot-builder/variance";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/variance/-/variance-1.5.1.tgz";
-        sha512 = "v4HMolIM+Jigr9N8TTAYnPcGhsUr54WDpJbVVW6fueH54ePD3Z9MYE0X22TAjpFwZbBHUUAjtoHeUP32pMMpqg==";
+        url = "https://registry.npmjs.org/@ot-builder/variance/-/variance-1.5.2.tgz";
+        sha512 = "xrgAFbPWSS1uKYtPqUTfahc2Ga1kc3tKIzVg9Kp2cFF8atTeinsZ2aWLtnBT2nzf0Z1z/PyWrT08w5bGvL/01A==";
       };
     };
-    "@parcel/bundler-default-2.4.1" = {
+    "@parcel/bundler-default-2.5.0" = {
       name = "_at_parcel_slash_bundler-default";
       packageName = "@parcel/bundler-default";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.4.1.tgz";
-        sha512 = "PTfBOuoiiYdfwyoPFeBTOinyl1RL4qaoyAQ0PCe01C1i4NcRWCY1w7zRvwJW/OhU3Ka+LtioGmfxu5/drdXzLg==";
+        url = "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.5.0.tgz";
+        sha512 = "7CJzE17SirCXjcRgBcnqWO/5EOA1raq/3OIKtT4cxbjpDQGHZpjpEEZiMNRpEpdNMxDSlsG8mAkXTYGL2VVWRw==";
       };
     };
-    "@parcel/cache-2.4.1" = {
+    "@parcel/cache-2.5.0" = {
       name = "_at_parcel_slash_cache";
       packageName = "@parcel/cache";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/cache/-/cache-2.4.1.tgz";
-        sha512 = "2N5ly++p/yefmPdK39X1QIoA2e6NtS1aYSsxrIC9EX92Kjd7SfSceqUJhlJWB49omJSheEJLd1qM3EJG9EvICQ==";
+        url = "https://registry.npmjs.org/@parcel/cache/-/cache-2.5.0.tgz";
+        sha512 = "3kOO3cZQv0FAKhrMHGLdb4Qtzpmy78Q6jPN3u8eCY4yqeDTnyQBZvWNHoyCm5WlmL8y6Q6REYMbETLxSH1ggAQ==";
       };
     };
-    "@parcel/codeframe-2.4.1" = {
+    "@parcel/codeframe-2.5.0" = {
       name = "_at_parcel_slash_codeframe";
       packageName = "@parcel/codeframe";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.4.1.tgz";
-        sha512 = "m3WDeEpWvgqekCqsHfPMJrSQquahdIgSR1x1RDCqQ1YelvW0fQiGgu42MXI5tjoBrHC1l1mF01UDb+xMSxz1DA==";
+        url = "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.5.0.tgz";
+        sha512 = "qafqL8Vu2kr932cCWESoDEEoAeKVi7/xdzTBuhzEJng1AfmRT0rCbt/P4ao3RjiDyozPSjXsHOqM6GDZcto4eQ==";
       };
     };
-    "@parcel/compressor-raw-2.4.1" = {
+    "@parcel/compressor-raw-2.5.0" = {
       name = "_at_parcel_slash_compressor-raw";
       packageName = "@parcel/compressor-raw";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.4.1.tgz";
-        sha512 = "cEOOOzIK7glxCqJX0OfBFBZE/iT7tmjEOXswRY3CnqY9FGoY3NYDAsOLm7A73RuIdNaZfYVxVUy3g7OLpbKL+g==";
+        url = "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.5.0.tgz";
+        sha512 = "I5Zs+2f1ue4sTPdfT8BNsLfTZl48sMWLk2Io3elUJjH/SS9kO7ut5ChkuJtt77ZS35m0OF+ZCt3ICTJdnDG8eA==";
       };
     };
-    "@parcel/config-default-2.4.1" = {
+    "@parcel/config-default-2.5.0" = {
       name = "_at_parcel_slash_config-default";
       packageName = "@parcel/config-default";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.4.1.tgz";
-        sha512 = "yGA4Mx/KDzVOPm8IYb4Id+zlz1TaIM7s472pxA4tUV1qcEtBInY0aeO9R/GsLKC2+3QPHURZld9WI9EMXRUBBA==";
+        url = "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.5.0.tgz";
+        sha512 = "r30V61958SONvP9I8KV8s44ZOFq0H219VyFjPysraSabHjZ+KMaCTQOuqaDtUMa272sHUQkBcZxKYj5jYPJlZg==";
       };
     };
-    "@parcel/core-2.4.1" = {
+    "@parcel/core-2.5.0" = {
       name = "_at_parcel_slash_core";
       packageName = "@parcel/core";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/core/-/core-2.4.1.tgz";
-        sha512 = "h2FvqLA75ZQdIXX1y+ylGjIIi7YtbAUJyIapxaO081h3EsYG2jr9sRL4sym5ECgmvbyua/DEgtMLX3eGYn09FA==";
+        url = "https://registry.npmjs.org/@parcel/core/-/core-2.5.0.tgz";
+        sha512 = "dygDmPsfAYJKTnUftcbEzjCik7AAaPbFvJW8ETYz8diyjkAG9y6hvCAZIrJE5pNOjFzg32en4v4UWv8Sqlzl9g==";
       };
     };
-    "@parcel/css-1.8.1" = {
+    "@parcel/css-1.8.2" = {
       name = "_at_parcel_slash_css";
       packageName = "@parcel/css";
-      version = "1.8.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css/-/css-1.8.1.tgz";
-        sha512 = "TOfe+msei+NuPPKb60Kc+nPuCThl07L3Fut67nfot1OXy2hKYr/eF7AiAguCaIlRXkjEtXRR4S7fO24dLZ1C9g==";
+        url = "https://registry.npmjs.org/@parcel/css/-/css-1.8.2.tgz";
+        sha512 = "3vTyKHy2LnZ3YJEut+UQPVIxsaY/mdGk7cDXtmvH4xR48Pd6rYzChHCMl4Ru2DUkCBpr0KCQRPZTdYcsJhUmIA==";
       };
     };
-    "@parcel/css-darwin-arm64-1.8.1" = {
+    "@parcel/css-darwin-arm64-1.8.2" = {
       name = "_at_parcel_slash_css-darwin-arm64";
       packageName = "@parcel/css-darwin-arm64";
-      version = "1.8.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.8.1.tgz";
-        sha512 = "PbpIlqLMAhWZlimKCdNP/ZfGNJUlEWgNeTcO2LDjPIK5JK6oTAJHfP/PPzjLS8mu+JIznZ//9MnVOUi1xcjXMA==";
+        url = "https://registry.npmjs.org/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.8.2.tgz";
+        sha512 = "p5etxX3kPCuEQcipjqH9yc5j0x5/Yc++uB4MvG/sFbRgL2gI2zUuRo9sIgqA21boOP8lE4bQgz1ovPD/W1hj+Q==";
       };
     };
-    "@parcel/css-darwin-x64-1.8.1" = {
+    "@parcel/css-darwin-x64-1.8.2" = {
       name = "_at_parcel_slash_css-darwin-x64";
       packageName = "@parcel/css-darwin-x64";
-      version = "1.8.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-darwin-x64/-/css-darwin-x64-1.8.1.tgz";
-        sha512 = "R4FrwXQGAgW3/YRCSRCBNcV6mz+OKqYuyrVnZBmKTLDuTGhZHCF12qLL7SV5jYsKXBDauYAXDv/SOFIwlikVXg==";
+        url = "https://registry.npmjs.org/@parcel/css-darwin-x64/-/css-darwin-x64-1.8.2.tgz";
+        sha512 = "c3xi5DXRZYec5db4KPTxp69eHbomOuasgZNiuPPOi80k7jlOwfzCFQs0h6/KwWvTcJrKEFsLl8BKJU/aX7mETw==";
       };
     };
-    "@parcel/css-linux-arm-gnueabihf-1.8.1" = {
+    "@parcel/css-linux-arm-gnueabihf-1.8.2" = {
       name = "_at_parcel_slash_css-linux-arm-gnueabihf";
       packageName = "@parcel/css-linux-arm-gnueabihf";
-      version = "1.8.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-arm-gnueabihf/-/css-linux-arm-gnueabihf-1.8.1.tgz";
-        sha512 = "MVRlPGipRrs+f6nURR6cJbFw85YSXkPbR6l/0Hm1vyFlNn0HmRDCEWZFPwvvSavibU968Wgc5yKaC78D6Ecgsw==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-arm-gnueabihf/-/css-linux-arm-gnueabihf-1.8.2.tgz";
+        sha512 = "+ih3+mMpwbwtOjr/XW5pP0frsV1PMN+Qz7jCAM84h8xX+8UE/1IR0UVi3EPa8wQiIlcVcEwszQ1MV2UHacvo/A==";
       };
     };
-    "@parcel/css-linux-arm64-gnu-1.8.1" = {
+    "@parcel/css-linux-arm64-gnu-1.8.2" = {
       name = "_at_parcel_slash_css-linux-arm64-gnu";
       packageName = "@parcel/css-linux-arm64-gnu";
-      version = "1.8.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-arm64-gnu/-/css-linux-arm64-gnu-1.8.1.tgz";
-        sha512 = "s6UpF9CjUMeeCELx0Cu+HtR8RKycm516b1mJlQC8hsPtAyDYlByW4tSDwC3By4Fqf3xCan6IH/oaq0ujS0Iqew==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-arm64-gnu/-/css-linux-arm64-gnu-1.8.2.tgz";
+        sha512 = "jIoyXbjJ1trUHXtyJhi3hlF1ck6xM4CDyaY5N6eN+3+ovkdw6wxog9IiheYJ1jf9ellYevLvTF5kiYE9MiP04A==";
       };
     };
-    "@parcel/css-linux-arm64-musl-1.8.1" = {
+    "@parcel/css-linux-arm64-musl-1.8.2" = {
       name = "_at_parcel_slash_css-linux-arm64-musl";
       packageName = "@parcel/css-linux-arm64-musl";
-      version = "1.8.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-arm64-musl/-/css-linux-arm64-musl-1.8.1.tgz";
-        sha512 = "Tp3Pe2tx7mltPrZ1ZDV8PLkgYcwQOigrH9YjPPOaf8iFptDpHOv1y2cs1eSgnvP+5kBdIXd7H87kGSC7OosuXg==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-arm64-musl/-/css-linux-arm64-musl-1.8.2.tgz";
+        sha512 = "QVTc5a+HatoywIei3djKYmp3s5dbI2Q3QaYZf3gqhyjOkeC7bm6j5eeNzFO+wa5xtga5jdHkIuTRrJ/wCojKKw==";
       };
     };
-    "@parcel/css-linux-x64-gnu-1.8.1" = {
+    "@parcel/css-linux-x64-gnu-1.8.2" = {
       name = "_at_parcel_slash_css-linux-x64-gnu";
       packageName = "@parcel/css-linux-x64-gnu";
-      version = "1.8.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-x64-gnu/-/css-linux-x64-gnu-1.8.1.tgz";
-        sha512 = "8yqXRlei4qBFSv9R8yru6yB2ak7frA/z6rMB2E5lNN8kMhpB1E0xKYMhsTZdMOV5A/gkPZlP3sHZG4qQ3GOLgQ==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-x64-gnu/-/css-linux-x64-gnu-1.8.2.tgz";
+        sha512 = "9r2tSfa6i3ZQ3a6C9XufJWuTv3LB7JYzxzEqsI35SSA8D/DrfAHMaIhqog5wSxKZRWmQxckh2wdT96eIIGHSGA==";
       };
     };
-    "@parcel/css-linux-x64-musl-1.8.1" = {
+    "@parcel/css-linux-x64-musl-1.8.2" = {
       name = "_at_parcel_slash_css-linux-x64-musl";
       packageName = "@parcel/css-linux-x64-musl";
-      version = "1.8.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-x64-musl/-/css-linux-x64-musl-1.8.1.tgz";
-        sha512 = "S1Qf9tZzX7AnmqKRhR/qpFYsqSCxYSz5KdekdxIijPEMxyI5tpWp6g2adGYxrCuV0E5EpcpmXlBT6d6+8FrgPg==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-x64-musl/-/css-linux-x64-musl-1.8.2.tgz";
+        sha512 = "5SetLWkxXRQ3NU6QwwbGf9tOmGW2m1cGt07Moybbe4RCXOY6R5wAYUtauZUp7pD/fJlE9mHge4jnNHKpVO9pvw==";
       };
     };
-    "@parcel/css-win32-x64-msvc-1.8.1" = {
+    "@parcel/css-win32-x64-msvc-1.8.2" = {
       name = "_at_parcel_slash_css-win32-x64-msvc";
       packageName = "@parcel/css-win32-x64-msvc";
-      version = "1.8.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-win32-x64-msvc/-/css-win32-x64-msvc-1.8.1.tgz";
-        sha512 = "tZ5s2zM/63mEdpdnE82xtfDDR7tAN32REii1EU5LOdfpB2PIw902p30fvklj1pOFBji/v/JdpAdLIYc4W7Gb6w==";
+        url = "https://registry.npmjs.org/@parcel/css-win32-x64-msvc/-/css-win32-x64-msvc-1.8.2.tgz";
+        sha512 = "/EdW5Ejlnkvc/AYrAi/FmLNvM6a6eAx+A4Y7oW+8JSMvk6bYa2zmXi7XLU/QOQuH2VQa/3gIIMA+sYjPndvDpw==";
       };
     };
-    "@parcel/diagnostic-2.4.1" = {
+    "@parcel/diagnostic-2.5.0" = {
       name = "_at_parcel_slash_diagnostic";
       packageName = "@parcel/diagnostic";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.4.1.tgz";
-        sha512 = "wmJIfn0PG2ABuraS+kMjl6UKaLjTDTtG+XkjJLWHzU/dd5RozqAZDKp65GWjvHzHLx7KICTAdUJsXh2s3TnTOQ==";
+        url = "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.5.0.tgz";
+        sha512 = "KiMGGRpEV7wl5gjcxBKcgX84a+cG+IEn94gwy5LK3lENR09nuKShqqgKGAmj/17CobJgw1QNP94/H4Md+oxIWg==";
       };
     };
-    "@parcel/events-2.4.1" = {
+    "@parcel/events-2.5.0" = {
       name = "_at_parcel_slash_events";
       packageName = "@parcel/events";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/events/-/events-2.4.1.tgz";
-        sha512 = "er2jwyzYt3Zimkrp7TR865GIeIMYNd7YSSxW39y/egm4LIPBsruUpHSnKRD5b65Jd+gckkxDsnrpADG6MH1zNw==";
+        url = "https://registry.npmjs.org/@parcel/events/-/events-2.5.0.tgz";
+        sha512 = "Gc2LPwL1H34Ony5MENbKZg7wvCscZ4x9y7Fu92sfbdWpLo3K13hVtsX3TMIIgYt3B7R7OmO8yR880U2T+JfVkQ==";
       };
     };
     "@parcel/fs-1.11.0" = {
@@ -7159,40 +7123,40 @@ let
         sha512 = "86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==";
       };
     };
-    "@parcel/fs-2.4.1" = {
+    "@parcel/fs-2.5.0" = {
       name = "_at_parcel_slash_fs";
       packageName = "@parcel/fs";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/fs/-/fs-2.4.1.tgz";
-        sha512 = "kE9HzW6XjO/ZA5bQnAzp1YVmGlXeDqUaius2cH2K0wU7KQX/GBjyfEWJm/UsKPB6QIrGXgkPH6ashNzOgwDqpw==";
+        url = "https://registry.npmjs.org/@parcel/fs/-/fs-2.5.0.tgz";
+        sha512 = "YYr14BWtx/bJ+hu6PPQQ6G/3omOTWgVqEw+UFI3iQH3P6+e0LRXW/Ja1yAcJeepGcTwIP0opnXZBQOm8PBQ2SA==";
       };
     };
-    "@parcel/fs-search-2.4.1" = {
+    "@parcel/fs-search-2.5.0" = {
       name = "_at_parcel_slash_fs-search";
       packageName = "@parcel/fs-search";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.4.1.tgz";
-        sha512 = "xfoLvHjHkZm4VZf3UWU5v6gzz+x7IBVY7siHGn0YyGwvlv73FmiR4mCSizqerXOyXknF2fpg6tNHNQyyNLS32Q==";
+        url = "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.5.0.tgz";
+        sha512 = "uBONkz9ZCNSOqbPGWJY3MNl+pqBTfvzHH9+4UhzHEHPArvK2oD0+syYPVE60+zGrxybXTESYMCJp4bHvH6Z2hA==";
       };
     };
-    "@parcel/graph-2.4.1" = {
+    "@parcel/graph-2.5.0" = {
       name = "_at_parcel_slash_graph";
       packageName = "@parcel/graph";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/graph/-/graph-2.4.1.tgz";
-        sha512 = "3JCnPI9BJdKpGIk6NtVN7ML3C/J9Ey+WfUfk8WisDxFP7vjYkXwZbNSR/HnxH+Y03wmB6cv4HI8A4kndF0H0pw==";
+        url = "https://registry.npmjs.org/@parcel/graph/-/graph-2.5.0.tgz";
+        sha512 = "qa2VtG08dJyTaWrxYAkMIlkoDRSPoiqLDNxxHKplkcxAjXBUw0/AkWaz82VO5r1G6jfOj+nM30ajH9uygZYwbw==";
       };
     };
-    "@parcel/hash-2.4.1" = {
+    "@parcel/hash-2.5.0" = {
       name = "_at_parcel_slash_hash";
       packageName = "@parcel/hash";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/hash/-/hash-2.4.1.tgz";
-        sha512 = "Ch1kkFPedef3geapU+XYmAdZY29u3eQXn/twMjowAKkWCmj6wZ+muUgBmOO2uCfK3xys7GycI8jYZcAbF5DVLg==";
+        url = "https://registry.npmjs.org/@parcel/hash/-/hash-2.5.0.tgz";
+        sha512 = "47JL0XpB7UvIW6Ijf8vv+yVMt9dLvB/lRlBHFmAkmovisueVMVbYD7smxVZnCSehD8UH8BcymKbMzyL5dimgoQ==";
       };
     };
     "@parcel/logger-1.11.1" = {
@@ -7204,211 +7168,211 @@ let
         sha512 = "9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA==";
       };
     };
-    "@parcel/logger-2.4.1" = {
+    "@parcel/logger-2.5.0" = {
       name = "_at_parcel_slash_logger";
       packageName = "@parcel/logger";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/logger/-/logger-2.4.1.tgz";
-        sha512 = "wm7FoKY+1dyo+Dd7Z4b0d6hmpgRBWfZwCoZSSyhgbG96Ty68/oo3m7oEMXPfry8IVGIhShmWKDp4py44PH3l7w==";
+        url = "https://registry.npmjs.org/@parcel/logger/-/logger-2.5.0.tgz";
+        sha512 = "pT1L3ceH6trL1N3I3r2HawPjz/PCubOo/Kazu7IeXsMsKVjj1a6AeieZHzkNZIbhiGPtm/cHbBNLz2zTWDLeOA==";
       };
     };
-    "@parcel/markdown-ansi-2.4.1" = {
+    "@parcel/markdown-ansi-2.5.0" = {
       name = "_at_parcel_slash_markdown-ansi";
       packageName = "@parcel/markdown-ansi";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.4.1.tgz";
-        sha512 = "BkWhzbKQhTQ9lS96ZMMG0KyXSJBFdNeBVobWrdrrwcFlNER0nt2m6fdF7Hfpf1TqFhM4tT+GNFtON7ybL53RiQ==";
+        url = "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.5.0.tgz";
+        sha512 = "ixkNF3KWIqxMlfxTe9Gb2cp/uNmklQev8VEUxujMVxmUfGyQs4859zdJIQlIinabWYhArhsXATkVf3MzCUN6TQ==";
       };
     };
-    "@parcel/namer-default-2.4.1" = {
+    "@parcel/namer-default-2.5.0" = {
       name = "_at_parcel_slash_namer-default";
       packageName = "@parcel/namer-default";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.4.1.tgz";
-        sha512 = "a/Xulfia7JJP6Cw/D6Wq5xX6IAKVKMRPEYtU2wB8vKuwC/et6kXi+0bFVeCLnTjDzVtsjDdyOEwfRC4yiEy3BA==";
+        url = "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.5.0.tgz";
+        sha512 = "ahGQqHJzsWE5Qux8zXMAU+lyNBOl+ZpcOFzRGE2DWOsmAlytsHl7DBVCQvzUyNBFg1/HmIj+7D4efv2kjR7rTg==";
       };
     };
-    "@parcel/node-resolver-core-2.4.1" = {
+    "@parcel/node-resolver-core-2.5.0" = {
       name = "_at_parcel_slash_node-resolver-core";
       packageName = "@parcel/node-resolver-core";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.4.1.tgz";
-        sha512 = "CvCADj3l4o5USqz/ZCaqbK8gdAQK63q94oSa0KnP6hrcDI/gDyf5Bk4+3cD4kSI+ByuN6aFLAYBS2nHBh5O/MQ==";
+        url = "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.5.0.tgz";
+        sha512 = "XQvpguiIwQcu75cscLDFOVhjsjuPzXbuMaaZ7XxxUEl0PscIgu/GfKYxTfTruN3cRl+CaQH6qBAMfjLaFng6lQ==";
       };
     };
-    "@parcel/optimizer-css-2.4.1" = {
+    "@parcel/optimizer-css-2.5.0" = {
       name = "_at_parcel_slash_optimizer-css";
       packageName = "@parcel/optimizer-css";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.4.1.tgz";
-        sha512 = "+1CxZ43aoAUF8Hj2wLPK4d+TzdJlgYidXJ19Qwlh6XdQs8OeFGBAzIsUBFSr8+XCugXmnTkjYK94nX04Z2FhtQ==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.5.0.tgz";
+        sha512 = "J00bLF+4SsnKc+YbYrNuBr44/zz3cg++CoXteXhH27PxP1rScGQx36Rui8WORgil5mlX2VYN79DuqJC7V3Ynbg==";
       };
     };
-    "@parcel/optimizer-htmlnano-2.4.1" = {
+    "@parcel/optimizer-htmlnano-2.5.0" = {
       name = "_at_parcel_slash_optimizer-htmlnano";
       packageName = "@parcel/optimizer-htmlnano";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.4.1.tgz";
-        sha512 = "JkykHZcBS92iggT7GHuJJd+MDIc7BMAG0xxTJIY9KzzcxGNYsY8P3LedGVTL0/X8tkdlYQSGNLkTCntP0/62cw==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.5.0.tgz";
+        sha512 = "Fr0zPqgxoNaOVdROAjNGDWCts3+wByNQ82Mxhu8Tzc25A2cPjcr1H2sa/TE3hf79c92DxdKf2FaC1ZOgR5YPdg==";
       };
     };
-    "@parcel/optimizer-image-2.4.1" = {
+    "@parcel/optimizer-image-2.5.0" = {
       name = "_at_parcel_slash_optimizer-image";
       packageName = "@parcel/optimizer-image";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.4.1.tgz";
-        sha512 = "cv03Ta1FWuF75o9DJLuk1eYk1ULSdSbSkriQUAzc4InKW1bJH6gJasMZSTBsAg2Oz1TWqiDyiy5D/6i/UPoBJg==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.5.0.tgz";
+        sha512 = "nbo2pdnAt21WLGjzTpsE8ZEL0xNoP7c3wBj9y70Pysmasg1SrRVCbfE8jTy+lHBQwq2yjC6lV/Usv+9lfA7S/w==";
       };
     };
-    "@parcel/optimizer-svgo-2.4.1" = {
+    "@parcel/optimizer-svgo-2.5.0" = {
       name = "_at_parcel_slash_optimizer-svgo";
       packageName = "@parcel/optimizer-svgo";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.4.1.tgz";
-        sha512 = "sOiofvHXjwJDu0NnTO8gGKDv0BztykVczfJdcedYmj207uU71JG1uODZvhyY4uiw1eRqmZnIXELZIftvYnZnDA==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.5.0.tgz";
+        sha512 = "pgZqwU0RLc/wr4WcQY/W1GJmddnEANDEpz1mdppUOqBz1EfTQ7zh5NgUA3hV1i05Hbecp3mHSvXJPV0mhNOl5Q==";
       };
     };
-    "@parcel/optimizer-terser-2.4.1" = {
+    "@parcel/optimizer-terser-2.5.0" = {
       name = "_at_parcel_slash_optimizer-terser";
       packageName = "@parcel/optimizer-terser";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.4.1.tgz";
-        sha512 = "naRdp6gApWHUI1FCBZEJs9NzNngjZx8hRhIHeQtTxWpc2Mu8cVzxbVHNAwUj10nW3iOYmxyj4wleOArl8xpVCQ==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.5.0.tgz";
+        sha512 = "PZ3UHBGfjE49/Jloopsd38Hxg4qzsrdepWP53mCuVP7Aw605Y4QtYuB1ho3VV0oXfKQVq+uI7lVIBsuW4K6vqA==";
       };
     };
-    "@parcel/package-manager-2.4.1" = {
+    "@parcel/package-manager-2.5.0" = {
       name = "_at_parcel_slash_package-manager";
       packageName = "@parcel/package-manager";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.4.1.tgz";
-        sha512 = "JUUinm4U3hy4epHl9A389xb+BGiFR8n9+qw3Z4UDfS1te43sh8+0virBGcnai/G7mlr5/vHW+l9xulc7WQaY6w==";
+        url = "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.5.0.tgz";
+        sha512 = "zTuF55/lITUjw9dUU/X0HiF++589xbPXw/zUiG9T6s8BQThLvrxAhYP89S719pw7cTqDimGkTxnIuK+a0djEkg==";
       };
     };
-    "@parcel/packager-css-2.4.1" = {
+    "@parcel/packager-css-2.5.0" = {
       name = "_at_parcel_slash_packager-css";
       packageName = "@parcel/packager-css";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.4.1.tgz";
-        sha512 = "COx6RvHbpZ3DzuAgB/XvLLR/luxn9kYhqdFrnmIlYBh4B9atfXyr4rKDlWj1W/r2R72R6LHM35KhkwUATmrC/w==";
+        url = "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.5.0.tgz";
+        sha512 = "c0mGBFdVSPhAxaX3+zN8KEIqOOUhkIPKbZex1pnGYfy03Qe2/Mb4nyt5DAGlw9gjka1UCHIN/wszLmKC8YyUeg==";
       };
     };
-    "@parcel/packager-html-2.4.1" = {
+    "@parcel/packager-html-2.5.0" = {
       name = "_at_parcel_slash_packager-html";
       packageName = "@parcel/packager-html";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.4.1.tgz";
-        sha512 = "F5/PmWKoz8JhToufnp3u+NQ4LUoVkabzIJYHyQrM858XVmNbMInRfiTYxtgCBa2ARm2BTPhToh7N01OEyFCOhA==";
+        url = "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.5.0.tgz";
+        sha512 = "ZFGUPRMWKrm8kQHdkEJ5S22C05qpSymx+o+57EfuNjCrGyj3M59WyGYYXYJ175bFYZ/jp5yy+VxMh6fZefe+Pw==";
       };
     };
-    "@parcel/packager-js-2.4.1" = {
+    "@parcel/packager-js-2.5.0" = {
       name = "_at_parcel_slash_packager-js";
       packageName = "@parcel/packager-js";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.4.1.tgz";
-        sha512 = "broWBUQisJLF5ThFtnl/asypuLMlMBwFPBTr8Ho9FYlL6W4wUzIymu7eOcuDljstmbD6luNVGMdCBYqt3IhHmw==";
+        url = "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.5.0.tgz";
+        sha512 = "aJAKOTgXdxO3V9O7+2DCVOtne128WwXmUAOVThnMRo7f3zMVSAR7Mxc9pEsuTzPfj8UBXgFBRfdJUSCgsMxiSw==";
       };
     };
-    "@parcel/packager-raw-2.4.1" = {
+    "@parcel/packager-raw-2.5.0" = {
       name = "_at_parcel_slash_packager-raw";
       packageName = "@parcel/packager-raw";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.4.1.tgz";
-        sha512 = "4lCY3TjiYaZyRIqshNF21i6XkQ5PJyr+ahhK4O2IymuYuD8/wGH2amTZqKPpGLuiF3j1HskRRUNv1ekpvExJ8w==";
+        url = "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.5.0.tgz";
+        sha512 = "aHV0oogeiqxhxS1lsttw15EvG3DDWK3FV7+F+7hoaAy+xg89K56NTp6j43Jtw9iyU1/HnZRGBE2hF3C7N73oKw==";
       };
     };
-    "@parcel/packager-svg-2.4.1" = {
+    "@parcel/packager-svg-2.5.0" = {
       name = "_at_parcel_slash_packager-svg";
       packageName = "@parcel/packager-svg";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.4.1.tgz";
-        sha512 = "V7GW/dgJPqXHReTzwpLcNEdyT5WWveYOW1MfxvKgOOK1ENk6oPgXL0FUdm5IHzqlK1bbwF5hzSQs2vaJMv7rPg==";
+        url = "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.5.0.tgz";
+        sha512 = "XSMFn30K/kpjcPpQqt88GmPJsNUSVL3RNeigXkIAcLpfO6Tb2eV4iOt4yVCagaDrRJ19alXut0TxjMm5bm41/g==";
       };
     };
-    "@parcel/plugin-2.4.1" = {
+    "@parcel/plugin-2.5.0" = {
       name = "_at_parcel_slash_plugin";
       packageName = "@parcel/plugin";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.4.1.tgz";
-        sha512 = "EJzNhwNWYuSpIPRlG1U2hKcovq/RsVie4Os1z51/e2dcCto/uAoJOMoWYYsCxtjkJ7BjFYyQ7fcZRKM9DEr6gQ==";
+        url = "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.5.0.tgz";
+        sha512 = "obtb6/Gql6YFQ86bdv75A2Noabx8679reFZeyfKKf0L7Lppx4DFQetXwM9XVy7Gx6hJ1Ekm3UMuuIyVJk33YHQ==";
       };
     };
-    "@parcel/reporter-cli-2.4.1" = {
+    "@parcel/reporter-cli-2.5.0" = {
       name = "_at_parcel_slash_reporter-cli";
       packageName = "@parcel/reporter-cli";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.4.1.tgz";
-        sha512 = "99v/dSQ6wYmfpjmBxbsuBoxPWu9bm7PRxDDJxiVapbbym50bWYwVmMEHj6mYnK151YbMssV0garrSs1yYQEvqw==";
+        url = "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.5.0.tgz";
+        sha512 = "miJt2YbRJBmYSVeoUWUj8YL85Pwj1CmGQB0/btqhulGLH/Fvkbv6T4sJ4gl4l5xIt9mJQsZ70pOWwa8BId3rWw==";
       };
     };
-    "@parcel/reporter-dev-server-2.4.1" = {
+    "@parcel/reporter-dev-server-2.5.0" = {
       name = "_at_parcel_slash_reporter-dev-server";
       packageName = "@parcel/reporter-dev-server";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.4.1.tgz";
-        sha512 = "tRz1LHiudDhujBC3kJ3Qm0Wnbo3p3SpE6fjyCFRhdv2PJnEufNTTwzEUoa7lYZACwFVQUtrh6F7nMXFw6ynrsQ==";
+        url = "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.5.0.tgz";
+        sha512 = "wvxAiW42AxJ3B8jtvowJcP4/cTV8zY48SfKg61YKYu1yUO+TtyJIjHQzDW2XuT34cIGFY97Gr0i+AVu44RyUuQ==";
       };
     };
-    "@parcel/resolver-default-2.4.1" = {
+    "@parcel/resolver-default-2.5.0" = {
       name = "_at_parcel_slash_resolver-default";
       packageName = "@parcel/resolver-default";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.4.1.tgz";
-        sha512 = "iJRt1+7lk0n7+wb+S/tVyiObbaiYP1YQGKRsTE8y4Kgp4/OPukdUHGFJwzbojWa0HnyoXm3zEgelVz7cHl47fQ==";
+        url = "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.5.0.tgz";
+        sha512 = "39PkZpVr/+iYS11u+lA84vIsKm/yisltTVmUjlYsDnExiuV1c8OSbSdYZ3JMx+7CYPE0bWbosX2AGilIwIMWpQ==";
       };
     };
-    "@parcel/runtime-browser-hmr-2.4.1" = {
+    "@parcel/runtime-browser-hmr-2.5.0" = {
       name = "_at_parcel_slash_runtime-browser-hmr";
       packageName = "@parcel/runtime-browser-hmr";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.4.1.tgz";
-        sha512 = "INsr78Kn0OuwMdXHCzw7v6l3Gf/UBTYtX7N7JNDOIBEFFkuZQiFWyAOI2P/DvMm8qeqcsrKliBO5Xty/a2Ivaw==";
+        url = "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.5.0.tgz";
+        sha512 = "oPAo8Zf06gXCpt41nyvK7kv2HH1RrHAGgOqttyjStwAFlm5MZKs7BgtJzO58LfJN8g3sMY0cNdG17fB/4f8q6Q==";
       };
     };
-    "@parcel/runtime-js-2.4.1" = {
+    "@parcel/runtime-js-2.5.0" = {
       name = "_at_parcel_slash_runtime-js";
       packageName = "@parcel/runtime-js";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.4.1.tgz";
-        sha512 = "/EXwRpo+GPvWgN5yD0hjjt84Gm6QWp757dqOOzTG5R2rm1WU+g1a+zJJB1zXkxhu9lleQs44D1jEffzhh2Voyw==";
+        url = "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.5.0.tgz";
+        sha512 = "gPC2PbNAiooULP71wF5twe4raekuXsR1Hw/ahITDoqsZdXHzG3CkoCjYL3CkmBGiKQgMMocCyN1E2oBzAH8Kyw==";
       };
     };
-    "@parcel/runtime-react-refresh-2.4.1" = {
+    "@parcel/runtime-react-refresh-2.5.0" = {
       name = "_at_parcel_slash_runtime-react-refresh";
       packageName = "@parcel/runtime-react-refresh";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.4.1.tgz";
-        sha512 = "a4GBQ/fO7Mklh1M1G2JVpJBPbZD7YXUPAzh9Y4vpCf0ouTHBRMc8ew4CyKPJIrrTly5P42tFWnD3P4FVNKwHOQ==";
+        url = "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.5.0.tgz";
+        sha512 = "+8RuDKFdFYIQTrXG4MRhG9XqkkYEHn0zxKyOJ/IkDDfSEhY0na+EyhrneFUwIvDX63gLPkxceXAg0gwBqXPK/Q==";
       };
     };
-    "@parcel/runtime-service-worker-2.4.1" = {
+    "@parcel/runtime-service-worker-2.5.0" = {
       name = "_at_parcel_slash_runtime-service-worker";
       packageName = "@parcel/runtime-service-worker";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.4.1.tgz";
-        sha512 = "WtMKSiyQ0kF78rBw0XIx7n65mMb+6GBx+5m49r1aVZzeZEOSynpjJzJvqo7rxVmA7qTDkD2bko7BH41iScsEaw==";
+        url = "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.5.0.tgz";
+        sha512 = "STuDlU0fPXeWpAmbayY7o04F0eHy6FTOFeT5KQ0PTxtdEa3Ey8QInP/NVE52Yv0aVQtesWukGrNEFCERlkbFRw==";
       };
     };
     "@parcel/source-map-2.0.2" = {
@@ -7420,112 +7384,112 @@ let
         sha512 = "NnUrPYLpYB6qyx2v6bcRPn/gVigmGG6M6xL8wIg/i0dP1GLkuY1nf+Hqdf63FzPTqqT7K3k6eE5yHPQVMO5jcA==";
       };
     };
-    "@parcel/transformer-babel-2.4.1" = {
+    "@parcel/transformer-babel-2.5.0" = {
       name = "_at_parcel_slash_transformer-babel";
       packageName = "@parcel/transformer-babel";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.4.1.tgz";
-        sha512 = "S+L14Fdr+S/+hqOi2nqnhuJvBbEJW24KyQeLmdaoMkt7DQLy5zENjGb9U2WYgB0Q96au0vX8NgB6jOnONecnpg==";
+        url = "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.5.0.tgz";
+        sha512 = "EFb866C9jCoBHIcebWF7goAcYj1wkObx0GDxshlazFtvym1RM27xSWWjRYyqb5+HNOxB3voaNvQOVjcD+DXjCA==";
       };
     };
-    "@parcel/transformer-css-2.4.1" = {
+    "@parcel/transformer-css-2.5.0" = {
       name = "_at_parcel_slash_transformer-css";
       packageName = "@parcel/transformer-css";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.4.1.tgz";
-        sha512 = "+6wCc0eEg4ez96Mucp/RjYKyRVN+7HPWPH7axalsQdp88t7wawWoqI2nd2mEw2PxpyuejIsk0ixLzYZ5opZivw==";
+        url = "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.5.0.tgz";
+        sha512 = "p8FOvKWWSbS6H8PbD9a0KZqyaKNpSD2BUTzSRYnNj3TBUv7/ZXaP6Om295XTQ/MPht1o7XTQzvfpF/7yEhr02Q==";
       };
     };
-    "@parcel/transformer-html-2.4.1" = {
+    "@parcel/transformer-html-2.5.0" = {
       name = "_at_parcel_slash_transformer-html";
       packageName = "@parcel/transformer-html";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.4.1.tgz";
-        sha512 = "jyteTWuBA+f5wXn1RmAq3gOnB3yy41c748vARU9uNEXkLB4a7R106w4e5dlTG1DJfk+Tw1okSe1p2BeHoZntAw==";
+        url = "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.5.0.tgz";
+        sha512 = "iEjNyAF0wQmY3DMw7FS+UzoOMng76UsSngh+WWA1E5lv5XyqrP8Mk2QLTJp1nWetUhSLhZr58LGmPYBTB4l9ZQ==";
       };
     };
-    "@parcel/transformer-image-2.4.1" = {
+    "@parcel/transformer-image-2.5.0" = {
       name = "_at_parcel_slash_transformer-image";
       packageName = "@parcel/transformer-image";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.4.1.tgz";
-        sha512 = "pOfgPVe13lMTKdzydjXXNl4bojVMmuQmwm44OZ9cmpwOD3phkZzCtrxgySoV1eRBCOipdQg1O6GGI3za1KNdvw==";
+        url = "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.5.0.tgz";
+        sha512 = "vVEXTHZl8m/9yopgK0dWHLOQX2zOnghq6pZnWdWVG6fsvXZln7kP1YN5iwWDoADQYkiKzP+Ymn6UwP9pZpHFzA==";
       };
     };
-    "@parcel/transformer-js-2.4.1" = {
+    "@parcel/transformer-js-2.5.0" = {
       name = "_at_parcel_slash_transformer-js";
       packageName = "@parcel/transformer-js";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.4.1.tgz";
-        sha512 = "39Y9RUuDk5dc09Z3Pgj8snQd5E8926IqOowdTLKNJr7EcmkwHdinbpI4EqgKnisOwX4NSzxUti1I2DHsP1QZHw==";
+        url = "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.5.0.tgz";
+        sha512 = "Cp8Ic+Au3OcskCRZszmo47z3bqcZ7rfPv2xZYXpXY2TzEc3IV0bKje57bZektoY8LW9LkYM9iBO/WhkVoT6LIg==";
       };
     };
-    "@parcel/transformer-json-2.4.1" = {
+    "@parcel/transformer-json-2.5.0" = {
       name = "_at_parcel_slash_transformer-json";
       packageName = "@parcel/transformer-json";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.4.1.tgz";
-        sha512 = "bAwKyWb2/Wm6GS7OpQg1lWgcq+VDBXTKy5oFGX3edbpZFsrb59Ln1v+1jI888zRq4ehDBybhx8WTxPKTJnU+jA==";
+        url = "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.5.0.tgz";
+        sha512 = "661sByA7TkR6Lmxt+hqV4h2SAt+7lgc58DzmUYArpEl1fQnMuQuaB0kQeHzi6fDD2+2G6o7EC+DuwBZKa479TA==";
       };
     };
-    "@parcel/transformer-postcss-2.4.1" = {
+    "@parcel/transformer-postcss-2.5.0" = {
       name = "_at_parcel_slash_transformer-postcss";
       packageName = "@parcel/transformer-postcss";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.4.1.tgz";
-        sha512 = "I+jauarY5RlDUcd0zb9CC4GlpA7/+FqNSqCaGrM73aoszh6FNs4GiwD5tgy0pKOEASBZ0fBPmHEG1OBiVBXRGg==";
+        url = "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.5.0.tgz";
+        sha512 = "IPNlWElekdQHMTBqhdwJNBCQomuYyo7xgNBdnTrt9VJ+R5ihy6n7ZJSWIAJXAH9VZxETTtunfrzRtgkmtjTeZQ==";
       };
     };
-    "@parcel/transformer-posthtml-2.4.1" = {
+    "@parcel/transformer-posthtml-2.5.0" = {
       name = "_at_parcel_slash_transformer-posthtml";
       packageName = "@parcel/transformer-posthtml";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.4.1.tgz";
-        sha512 = "DNtS41Sew940vnnqlFS0QK3ZbjQqCGT8JXkvwFojIrdH+3BW/n/9Hrtxj+X/bxrlwZlsRiqiRJ7crXp7TVhx2g==";
+        url = "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.5.0.tgz";
+        sha512 = "AZxg1XD8OXOS4bEGEmBBR+X9T9qoFdVsbVUg498zzejYSka1ZQHF7TgLI/+pUnE+ZVYNIp7/G0xXqsRVKMKmdQ==";
       };
     };
-    "@parcel/transformer-raw-2.4.1" = {
+    "@parcel/transformer-raw-2.5.0" = {
       name = "_at_parcel_slash_transformer-raw";
       packageName = "@parcel/transformer-raw";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.4.1.tgz";
-        sha512 = "0PzdWJSGSTQ522aohymHEnq4GABy0mHSs+LkPZyMfNmX9ZAIyy6XuFJ9dz8nUmP4Nhn8qDvbRjoAYXR3XsGDGQ==";
+        url = "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.5.0.tgz";
+        sha512 = "I3zjE1u9+Wj90Qqs1V2FTm6iC6SAyOVUthwVZkZey+qbQG/ok682Ez2XjLu7MyQCo9BJNwF/nfOa1hHr3MaJEQ==";
       };
     };
-    "@parcel/transformer-react-refresh-wrap-2.4.1" = {
+    "@parcel/transformer-react-refresh-wrap-2.5.0" = {
       name = "_at_parcel_slash_transformer-react-refresh-wrap";
       packageName = "@parcel/transformer-react-refresh-wrap";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.4.1.tgz";
-        sha512 = "zF6pzj/BwSiD1jA/BHDCEJnKSIDekjblU+OWp1WpSjA1uYkJORuZ5knLcq6mXOQ8M2NCbOXosc1ru8071i8sYA==";
+        url = "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.5.0.tgz";
+        sha512 = "VPqVBxhTN4OQwcjsdyxrv+smjAm4s6dbSWAplgPwdOITMv+a0tjhhJU37WnRC+xxTrbEqRcOt96JvGOkPb8i7g==";
       };
     };
-    "@parcel/transformer-svg-2.4.1" = {
+    "@parcel/transformer-svg-2.5.0" = {
       name = "_at_parcel_slash_transformer-svg";
       packageName = "@parcel/transformer-svg";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.4.1.tgz";
-        sha512 = "E0XdXsZOnP7g9zvJskfvXeIHx9pKjPHtLKo/txmpjW1eXOmsFcRMVy6l4pFh+kBciAgiZOI6o1pVHt+Uf7ia/g==";
+        url = "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.5.0.tgz";
+        sha512 = "zCGJcrCpICFe0Q/dgjQZfW7sYFkbJEC7NGT4zEJnMo8Cm/kq8Qh6+2ApX6c+vv5Q0WZn5Ic+N0OvxIMkvgdC/w==";
       };
     };
-    "@parcel/types-2.4.1" = {
+    "@parcel/types-2.5.0" = {
       name = "_at_parcel_slash_types";
       packageName = "@parcel/types";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/types/-/types-2.4.1.tgz";
-        sha512 = "YqkiyGS8oiD89Z2lJP7sbjn0F0wlSJMAuqgqf7obeKj0zmZJS7n2xK0uUEuIlUO+Cbqgl0kCGsUSjuT8xcEqjg==";
+        url = "https://registry.npmjs.org/@parcel/types/-/types-2.5.0.tgz";
+        sha512 = "bA0fhG6aXSGYEVo5Dt96x6lseUQHeVZVzgmiRdZsvb614Gvx22ItfaKhPmAVbM9vzbObZDHl9l9G2Ovw8Xve4g==";
       };
     };
     "@parcel/utils-1.11.0" = {
@@ -7537,13 +7501,13 @@ let
         sha512 = "cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==";
       };
     };
-    "@parcel/utils-2.4.1" = {
+    "@parcel/utils-2.5.0" = {
       name = "_at_parcel_slash_utils";
       packageName = "@parcel/utils";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/utils/-/utils-2.4.1.tgz";
-        sha512 = "hmbrnPtFAfMT6s9FMMIVlIzCwEFX/+byB67GoJmSCAMRmj6RMu4a6xKlv2FdzkTKJV2ucg8vxAcua0MQ/q8rkQ==";
+        url = "https://registry.npmjs.org/@parcel/utils/-/utils-2.5.0.tgz";
+        sha512 = "kaLGXtQuOOH55KZqXdYDvczhh3mk2eeTVqrrXuuihGjbLKYFlUW2tFDm+5r2s9nCPwTQxOO43ZEOCKSnia+e4w==";
       };
     };
     "@parcel/watcher-1.12.1" = {
@@ -7573,13 +7537,13 @@ let
         sha512 = "USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==";
       };
     };
-    "@parcel/workers-2.4.1" = {
+    "@parcel/workers-2.5.0" = {
       name = "_at_parcel_slash_workers";
       packageName = "@parcel/workers";
-      version = "2.4.1";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/workers/-/workers-2.4.1.tgz";
-        sha512 = "EYujbJOblFqIt2NGQ+baIYTuavJqbhy84IfZ3j0jmACeKO5Ew1EHXZyl9LJgWHKaIPZsnvnbxw2mDOF05K65xQ==";
+        url = "https://registry.npmjs.org/@parcel/workers/-/workers-2.5.0.tgz";
+        sha512 = "/Ow5OKJWs+9OzV3Jy4J++VnbNx0j3ls/M1CGVBLiBWyCada9DMtquYoBQ4Sk6Uam50BKkIFYetGOeXPNQyyMjg==";
       };
     };
     "@peculiar/asn1-schema-2.1.0" = {
@@ -7654,22 +7618,22 @@ let
         sha512 = "DiIjtous4XPuR2deTctD3/RVZy/vRzVYBgYYvHV313MmTfkbVP60qLH5txrT3/bYNvnb0poNDelLS6U0kqlvHA==";
       };
     };
-    "@prisma/engines-3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980" = {
+    "@prisma/engines-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b" = {
       name = "_at_prisma_slash_engines";
       packageName = "@prisma/engines";
-      version = "3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980";
+      version = "3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980.tgz";
-        sha512 = "zULjkN8yhzS7B3yeEz4aIym4E2w1ChrV12i14pht3ePFufvsAvBSoZ+tuXMvfSoNTgBS5E4bolRzLbMmbwkkMQ==";
+        url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b.tgz";
+        sha512 = "Ip9CcCeUocH61eXu4BUGpvl5KleQyhcUVLpWCv+0ZmDv44bFaDpREqjGHHdRupvPN/ugB6gTlD9b9ewdj02yVA==";
       };
     };
-    "@prisma/prisma-fmt-wasm-3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980" = {
+    "@prisma/prisma-fmt-wasm-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b" = {
       name = "_at_prisma_slash_prisma-fmt-wasm";
       packageName = "@prisma/prisma-fmt-wasm";
-      version = "3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980";
+      version = "3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/prisma-fmt-wasm/-/prisma-fmt-wasm-3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980.tgz";
-        sha512 = "9L+jHXt1zFcnhhcxa+oUBI9r0qh+fNFtDKxndj0C4pnAnGGNevvAo4GZNqWICa8BJbNgiV/XacTMea+98e1Rhw==";
+        url = "https://registry.npmjs.org/@prisma/prisma-fmt-wasm/-/prisma-fmt-wasm-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b.tgz";
+        sha512 = "zCJfpPpH98YJMKbpygHHVqPrDRTO5WhUAgf8hZnUDCu/iWlgW9Zi9dzuFScml+Ns/Jr5XAl1lOTJXK/3IZu9NA==";
       };
     };
     "@protobufjs/aspromise-1.1.2" = {
@@ -7780,13 +7744,13 @@ let
         sha512 = "1ekKViRit0jo1IzDLSRSziU/OpX9ckoj8uWvSWzHLASyTqhKZL9Pdq628guq7yT3qFcJeeaeaA5T97a4w7fpqA==";
       };
     };
-    "@putdotio/api-client-8.31.2" = {
+    "@putdotio/api-client-8.32.0" = {
       name = "_at_putdotio_slash_api-client";
       packageName = "@putdotio/api-client";
-      version = "8.31.2";
+      version = "8.32.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@putdotio/api-client/-/api-client-8.31.2.tgz";
-        sha512 = "/pXMWQI2nHn0l9GHcETUZNZ3dYXhYwu91NW6efd/MDxDNtzI1HOt5psGgRx5mcyvLsifp9gzg6MqaeFQm/FtWA==";
+        url = "https://registry.npmjs.org/@putdotio/api-client/-/api-client-8.32.0.tgz";
+        sha512 = "eo4KiXIvDKpU76VK1pQitIJ6neDd81HUCoUGcH+lAtcfN+amQVp8e9cHfYeEvYMj16sr/8wONqG1GayJP2Fr4g==";
       };
     };
     "@reach/router-1.3.4" = {
@@ -7798,33 +7762,6 @@ let
         sha512 = "+mtn9wjlB9NN2CNnnC/BRYtwdKBfSyyasPYraNAyvaV1occr/5NnB4CVzjEZipNHwYebQwcndGUmpFzxAUoqSA==";
       };
     };
-    "@react-native-community/cli-debugger-ui-5.0.1" = {
-      name = "_at_react-native-community_slash_cli-debugger-ui";
-      packageName = "@react-native-community/cli-debugger-ui";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-5.0.1.tgz";
-        sha512 = "5gGKaaXYOVE423BUqxIfvfAVSj5Cg1cU/TpGbeg/iqpy2CfqyWqJB3tTuVUbOOiOvR5wbU8tti6pIi1pchJ+oA==";
-      };
-    };
-    "@react-native-community/cli-server-api-5.0.1" = {
-      name = "_at_react-native-community_slash_cli-server-api";
-      packageName = "@react-native-community/cli-server-api";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-5.0.1.tgz";
-        sha512 = "OOxL+y9AOZayQzmSW+h5T54wQe+QBc/f67Y9QlWzzJhkKJdYx+S4VOooHoD5PFJzGbYaxhu2YF17p517pcEIIA==";
-      };
-    };
-    "@react-native-community/cli-tools-5.0.1" = {
-      name = "_at_react-native-community_slash_cli-tools";
-      packageName = "@react-native-community/cli-tools";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-5.0.1.tgz";
-        sha512 = "XOX5w98oSE8+KnkMZZPMRT7I5TaP8fLbDl0tCu40S7Epz+Zz924n80fmdu6nUDIfPT1nV6yH1hmHmWAWTDOR+Q==";
-      };
-    };
     "@react-native/normalize-color-2.0.0" = {
       name = "_at_react-native_slash_normalize-color";
       packageName = "@react-native/normalize-color";
@@ -7861,15 +7798,6 @@ let
         sha512 = "feQEZlyBvQsbT/fvpJ4jJ5OLGaUPpnskHYDsY8DGpPymN+HUeDQrqkBEbbKRwMKidFTI2cxk2kJNNTnvdS9jyw==";
       };
     };
-    "@repeaterjs/repeater-3.0.4" = {
-      name = "_at_repeaterjs_slash_repeater";
-      packageName = "@repeaterjs/repeater";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.4.tgz";
-        sha512 = "AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==";
-      };
-    };
     "@request/api-0.6.0" = {
       name = "_at_request_slash_api";
       packageName = "@request/api";
@@ -7915,13 +7843,13 @@ let
         sha512 = "c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==";
       };
     };
-    "@schematics/angular-13.3.3" = {
+    "@schematics/angular-13.3.4" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "13.3.3";
+      version = "13.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.3.tgz";
-        sha512 = "kX5ghVCmWHcMN+g0pUaFuIJzwrXsVnK4bfid8DckU4EEtfFSv3UA5I1QNJRgpCPxTPhNEAk+3ePN8nzDSjdU+w==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.4.tgz";
+        sha512 = "Cta11k965Igz2kWj60KQ/9z6RFAg9FjZ8i1TH4nyROJs9nWemWPQNA+OJFuXrEy6Ldpk7yJ5cWgJsyryGB25PA==";
       };
     };
     "@segment/loosely-validate-event-2.0.0" = {
@@ -7942,13 +7870,13 @@ let
         sha512 = "J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==";
       };
     };
-    "@serverless/dashboard-plugin-6.2.1" = {
+    "@serverless/dashboard-plugin-6.2.2" = {
       name = "_at_serverless_slash_dashboard-plugin";
       packageName = "@serverless/dashboard-plugin";
-      version = "6.2.1";
+      version = "6.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-6.2.1.tgz";
-        sha512 = "ZvkDZsakoVluEbaQsskY1fW8puVjKjfjkMFAuXJnAPflGy0LCgT1ETGFEqCrAJwUJhgenPVxpZalO8J/22nzKw==";
+        url = "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-6.2.2.tgz";
+        sha512 = "h3zOprpuWZCdAP7qoOKT2nboB+AaxMkGoSzOD0jIBpt9s0cXqLE2VFjR2vKn8Cvam47Qa3XYnT2/XN6tR6rZgQ==";
       };
     };
     "@serverless/event-mocks-1.1.1" = {
@@ -8104,15 +8032,6 @@ let
         sha512 = "CWr7a3rTVrN5Vs8GYReRAvTourbXHOqB1zglcskj05ICH4GZL5BOAza2ARai+qc3Nz0nY08Bozi1x0014KOqlg==";
       };
     };
-    "@socket.io/base64-arraybuffer-1.0.2" = {
-      name = "_at_socket.io_slash_base64-arraybuffer";
-      packageName = "@socket.io/base64-arraybuffer";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz";
-        sha512 = "dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==";
-      };
-    };
     "@socket.io/component-emitter-3.0.0" = {
       name = "_at_socket.io_slash_component-emitter";
       packageName = "@socket.io/component-emitter";
@@ -8122,6 +8041,15 @@ let
         sha512 = "2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q==";
       };
     };
+    "@socket.io/component-emitter-3.1.0" = {
+      name = "_at_socket.io_slash_component-emitter";
+      packageName = "@socket.io/component-emitter";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz";
+        sha512 = "+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==";
+      };
+    };
     "@soda/friendly-errors-webpack-plugin-1.8.1" = {
       name = "_at_soda_slash_friendly-errors-webpack-plugin";
       packageName = "@soda/friendly-errors-webpack-plugin";
@@ -8275,13 +8203,13 @@ let
         sha512 = "2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==";
       };
     };
-    "@swc/helpers-0.3.8" = {
+    "@swc/helpers-0.3.9" = {
       name = "_at_swc_slash_helpers";
       packageName = "@swc/helpers";
-      version = "0.3.8";
+      version = "0.3.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.8.tgz";
-        sha512 = "aWItSZvJj4+GI6FWkjZR13xPNPctq2RRakzo+O6vN7bC2yjwdg5EFpgaSAUn95b7BGSgcflvzVDPoKmJv24IOg==";
+        url = "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.9.tgz";
+        sha512 = "TLzWHAHOrzxauG2uB+5t7fqdom0CDiIbtjJ5zbhnT+SsGmipB767Hrw+d4/si8aS/wrYgWbqjbBR4Y0bxSyLxw==";
       };
     };
     "@szmarczak/http-timer-1.1.2" = {
@@ -8509,6 +8437,15 @@ let
         sha512 = "XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==";
       };
     };
+    "@trufflesuite/bigint-buffer-1.1.9" = {
+      name = "_at_trufflesuite_slash_bigint-buffer";
+      packageName = "@trufflesuite/bigint-buffer";
+      version = "1.1.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.9.tgz";
+        sha512 = "bdM5cEGCOhDSwminryHJbRmXc1x7dPKg6Pqns3qyTwFlxsqUgxE29lsERS3PlIW1HTjoIGMUqsk1zQQwST1Yxw==";
+      };
+    };
     "@trysound/sax-0.2.0" = {
       name = "_at_trysound_slash_sax";
       packageName = "@trysound/sax";
@@ -8644,13 +8581,13 @@ let
         sha512 = "azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==";
       };
     };
-    "@types/babel__traverse-7.17.0" = {
+    "@types/babel__traverse-7.17.1" = {
       name = "_at_types_slash_babel__traverse";
       packageName = "@types/babel__traverse";
-      version = "7.17.0";
+      version = "7.17.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.0.tgz";
-        sha512 = "r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA==";
+        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz";
+        sha512 = "kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==";
       };
     };
     "@types/babylon-6.16.6" = {
@@ -9337,22 +9274,22 @@ let
         sha512 = "0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==";
       };
     };
-    "@types/lodash-4.14.181" = {
+    "@types/lodash-4.14.182" = {
       name = "_at_types_slash_lodash";
       packageName = "@types/lodash";
-      version = "4.14.181";
+      version = "4.14.182";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.181.tgz";
-        sha512 = "n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag==";
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz";
+        sha512 = "/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==";
       };
     };
-    "@types/long-4.0.1" = {
+    "@types/long-4.0.2" = {
       name = "_at_types_slash_long";
       packageName = "@types/long";
-      version = "4.0.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz";
-        sha512 = "5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==";
+        url = "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz";
+        sha512 = "MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==";
       };
     };
     "@types/mapbox-gl-0.54.5" = {
@@ -9508,13 +9445,13 @@ let
         sha512 = "Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==";
       };
     };
-    "@types/node-12.20.48" = {
+    "@types/node-12.20.50" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.20.48";
+      version = "12.20.50";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.20.48.tgz";
-        sha512 = "4kxzqkrpwYtn6okJUcb2lfUu9ilnb3yhUOH6qX3nug8D2DupZ2drIkff2yJzYcNJVl3begnlcaBJ7tqiTTzjnQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.20.50.tgz";
+        sha512 = "+9axpWx2b2JCVovr7Ilgt96uc6C1zBKOQMpGtRbWT9IoR/8ue32GGMfGA4woP8QyP2gBs6GQWEVM3tCybGCxDA==";
       };
     };
     "@types/node-13.13.52" = {
@@ -9535,13 +9472,13 @@ let
         sha512 = "USUftMYpmuMzeWobskoPfzDi+vkpe0dvcOBRNOscFrGxVp4jomnRxWuVohgqBow2xyIPC0S3gjxV/5079jhmDg==";
       };
     };
-    "@types/node-14.18.13" = {
+    "@types/node-14.18.16" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.18.13";
+      version = "14.18.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.18.13.tgz";
-        sha512 = "Z6/KzgyWOga3pJNS42A+zayjhPbf2zM3hegRQaOPnLOzEi86VV++6FLDWgR1LGrVCRufP/ph2daa3tEa5br1zA==";
+        url = "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz";
+        sha512 = "X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==";
       };
     };
     "@types/node-15.14.9" = {
@@ -9553,13 +9490,13 @@ let
         sha512 = "qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==";
       };
     };
-    "@types/node-16.11.27" = {
+    "@types/node-16.11.33" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.11.27";
+      version = "16.11.33";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.11.27.tgz";
-        sha512 = "C1pD3kgLoZ56Uuy5lhfOxie4aZlA3UMGLX9rXteq4WitEZH6Rl80mwactt9QG0w0gLFlN/kLBTFnGXtDVWvWQw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-16.11.33.tgz";
+        sha512 = "0PJ0vg+JyU0MIan58IOIFRtSvsb7Ri+7Wltx2qAg94eMOrpg4+uuP3aUHCpxXc1i0jCXiC+zIamSZh3l9AbcQA==";
       };
     };
     "@types/node-16.11.6" = {
@@ -9589,13 +9526,22 @@ let
         sha512 = "UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==";
       };
     };
-    "@types/node-17.0.24" = {
+    "@types/node-17.0.25" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "17.0.24";
+      version = "17.0.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.24.tgz";
-        sha512 = "aveCYRQbgTH9Pssp1voEP7HiuWlD2jW2BO56w+bVrJn04i61yh6mRfoKO6hEYQD9vF+W8Chkwc6j1M36uPkx4g==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.25.tgz";
+        sha512 = "wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==";
+      };
+    };
+    "@types/node-17.0.31" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "17.0.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz";
+        sha512 = "AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==";
       };
     };
     "@types/node-6.14.13" = {
@@ -9751,13 +9697,13 @@ let
         sha512 = "cXRVHd7vBT5v1is72mmvmsg9stZrbJO04DJqFeh3Yj2tVKO6vmxg5BI+ybI6Ls7ROXRG3aFbZj9x0WA3ZAoDQw==";
       };
     };
-    "@types/react-dom-16.9.14" = {
+    "@types/react-dom-16.9.15" = {
       name = "_at_types_slash_react-dom";
       packageName = "@types/react-dom";
-      version = "16.9.14";
+      version = "16.9.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.14.tgz";
-        sha512 = "FIX2AVmPTGP30OUJ+0vadeIFJJ07Mh1m+U0rxfgyW34p3rTlXI+nlenvAxNn4BP36YyI9IJ/+UJ7Wu22N1pI7A==";
+        url = "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.15.tgz";
+        sha512 = "PjWhZj54ACucQX2hDmnHyqHz+N2On5g3Lt5BeNn+wy067qvOokVSQw1nEog1XGfvLYrSl3cyrdebEfjQQNXD3A==";
       };
     };
     "@types/react-window-1.8.5" = {
@@ -9805,13 +9751,22 @@ let
         sha512 = "85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==";
       };
     };
-    "@types/retry-0.12.1" = {
+    "@types/retry-0.12.0" = {
       name = "_at_types_slash_retry";
       packageName = "@types/retry";
-      version = "0.12.1";
+      version = "0.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz";
-        sha512 = "xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==";
+        url = "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz";
+        sha512 = "wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==";
+      };
+    };
+    "@types/retry-0.12.2" = {
+      name = "_at_types_slash_retry";
+      packageName = "@types/retry";
+      version = "0.12.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz";
+        sha512 = "XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==";
       };
     };
     "@types/sass-1.43.1" = {
@@ -10219,6 +10174,15 @@ let
         sha512 = "T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==";
       };
     };
+    "@types/yargs-17.0.10" = {
+      name = "_at_types_slash_yargs";
+      packageName = "@types/yargs";
+      version = "17.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz";
+        sha512 = "gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==";
+      };
+    };
     "@types/yargs-parser-21.0.0" = {
       name = "_at_types_slash_yargs-parser";
       packageName = "@types/yargs-parser";
@@ -10264,13 +10228,13 @@ let
         sha512 = "aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==";
       };
     };
-    "@typescript-eslint/eslint-plugin-5.19.0" = {
+    "@typescript-eslint/eslint-plugin-5.21.0" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "5.19.0";
+      version = "5.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.19.0.tgz";
-        sha512 = "w59GpFqDYGnWFim9p6TGJz7a3qWeENJuAKCqjGSx+Hq/bwq3RZwXYqy98KIfN85yDqz9mq6QXiY5h0FjGQLyEg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.21.0.tgz";
+        sha512 = "fTU85q8v5ZLpoZEyn/u1S2qrFOhi33Edo2CZ0+q1gDaWWm0JuPh3bgOyU8lM0edIEYgKLDkPFiZX2MOupgjlyg==";
       };
     };
     "@typescript-eslint/experimental-utils-4.33.0" = {
@@ -10291,13 +10255,13 @@ let
         sha512 = "ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==";
       };
     };
-    "@typescript-eslint/parser-5.19.0" = {
+    "@typescript-eslint/parser-5.21.0" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "5.19.0";
+      version = "5.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.19.0.tgz";
-        sha512 = "yhktJjMCJX8BSBczh1F/uY8wGRYrBeyn84kH6oyqdIJwTGKmzX5Qiq49LRQ0Jh0LXnWijEziSo6BRqny8nqLVQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.21.0.tgz";
+        sha512 = "8RUwTO77hstXUr3pZoWZbRQUxXcSXafZ8/5gpnQCfXvgmP9gpNlRGlWzvfbEQ14TLjmtU8eGnONkff8U2ui2Eg==";
       };
     };
     "@typescript-eslint/scope-manager-4.33.0" = {
@@ -10309,22 +10273,22 @@ let
         sha512 = "5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==";
       };
     };
-    "@typescript-eslint/scope-manager-5.19.0" = {
+    "@typescript-eslint/scope-manager-5.21.0" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "5.19.0";
+      version = "5.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz";
-        sha512 = "Fz+VrjLmwq5fbQn5W7cIJZ066HxLMKvDEmf4eu1tZ8O956aoX45jAuBB76miAECMTODyUxH61AQM7q4/GOMQ5g==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz";
+        sha512 = "XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==";
       };
     };
-    "@typescript-eslint/type-utils-5.19.0" = {
+    "@typescript-eslint/type-utils-5.21.0" = {
       name = "_at_typescript-eslint_slash_type-utils";
       packageName = "@typescript-eslint/type-utils";
-      version = "5.19.0";
+      version = "5.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.19.0.tgz";
-        sha512 = "O6XQ4RI4rQcBGshTQAYBUIGsKqrKeuIOz9v8bckXZnSeXjn/1+BDZndHLe10UplQeJLXDNbaZYrAytKNQO2T4Q==";
+        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.21.0.tgz";
+        sha512 = "MxmLZj0tkGlkcZCSE17ORaHl8Th3JQwBzyXL/uvC6sNmu128LsgjTX0NIzy+wdH2J7Pd02GN8FaoudJntFvSOw==";
       };
     };
     "@typescript-eslint/types-4.33.0" = {
@@ -10336,13 +10300,13 @@ let
         sha512 = "zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==";
       };
     };
-    "@typescript-eslint/types-5.19.0" = {
+    "@typescript-eslint/types-5.21.0" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "5.19.0";
+      version = "5.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.19.0.tgz";
-        sha512 = "zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz";
+        sha512 = "XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==";
       };
     };
     "@typescript-eslint/typescript-estree-4.33.0" = {
@@ -10354,22 +10318,22 @@ let
         sha512 = "rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==";
       };
     };
-    "@typescript-eslint/typescript-estree-5.19.0" = {
+    "@typescript-eslint/typescript-estree-5.21.0" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "5.19.0";
+      version = "5.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz";
-        sha512 = "dRPuD4ocXdaE1BM/dNR21elSEUPKaWgowCA0bqJ6YbYkvtrPVEvZ+zqcX5a8ECYn3q5iBSSUcBBD42ubaOp0Hw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz";
+        sha512 = "Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==";
       };
     };
-    "@typescript-eslint/utils-5.19.0" = {
+    "@typescript-eslint/utils-5.21.0" = {
       name = "_at_typescript-eslint_slash_utils";
       packageName = "@typescript-eslint/utils";
-      version = "5.19.0";
+      version = "5.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.19.0.tgz";
-        sha512 = "ZuEckdupXpXamKvFz/Ql8YnePh2ZWcwz7APICzJL985Rp5C2AYcHO62oJzIqNhAMtMK6XvrlBTZeNG8n7gS3lQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz";
+        sha512 = "q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==";
       };
     };
     "@typescript-eslint/visitor-keys-4.33.0" = {
@@ -10381,13 +10345,13 @@ let
         sha512 = "uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==";
       };
     };
-    "@typescript-eslint/visitor-keys-5.19.0" = {
+    "@typescript-eslint/visitor-keys-5.21.0" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "5.19.0";
+      version = "5.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz";
-        sha512 = "Ym7zZoMDZcAKWsULi2s7UMLREdVQdScPQ/fKWMYefarCztWlHPFVJo8racf8R0Gc8FAEJ2eD4of8As1oFtnQlQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz";
+        sha512 = "SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==";
       };
     };
     "@ungap/promise-all-settled-1.1.2" = {
@@ -10417,58 +10381,58 @@ let
         sha1 = "c585c0bdb94210198945c6597e4fe23d6e63e084";
       };
     };
-    "@vercel/build-utils-2.15.1" = {
+    "@vercel/build-utils-2.16.0" = {
       name = "_at_vercel_slash_build-utils";
       packageName = "@vercel/build-utils";
-      version = "2.15.1";
+      version = "2.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-2.15.1.tgz";
-        sha512 = "7qwC7wd2Q/MwtD07/La5qIR5nfpfNVPvISp1cfwYs8fe/FUKjDdbhvGLDFrry+DeoeMFJhnJgK2qmvCnucq+GA==";
+        url = "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-2.16.0.tgz";
+        sha512 = "KEkt/uhBCMTca4qtRK9F9/M4kV712rkWKYm2p7xo4HVKrF5e+oSEQKF6zDHzUk0R0YOYY1aL3it01r440YsABA==";
       };
     };
-    "@vercel/go-1.3.2" = {
+    "@vercel/go-1.4.0" = {
       name = "_at_vercel_slash_go";
       packageName = "@vercel/go";
-      version = "1.3.2";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/go/-/go-1.3.2.tgz";
-        sha512 = "SS2Iq5NSRrZBphWWX+HpdCf3ji4lUBs9JdLmuvn8anDreY68ubxo53LLTnVOXmzsnHE8G1CiQSNtOapeBxWYyQ==";
+        url = "https://registry.npmjs.org/@vercel/go/-/go-1.4.0.tgz";
+        sha512 = "FDMQCeDIZnFYhteNWDQSe2H4SY3AL+u5G+YWHiVfnEjMl449843A8Q2lnG8YVfpQ5iyz6nS2+kUmPCBsfd03Pw==";
       };
     };
-    "@vercel/node-1.14.1" = {
+    "@vercel/node-1.15.0" = {
       name = "_at_vercel_slash_node";
       packageName = "@vercel/node";
-      version = "1.14.1";
+      version = "1.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/node/-/node-1.14.1.tgz";
-        sha512 = "/R1tERotQMTBoB4gw390B8wJAOS9IO4iejing9jqLFSISdW7uVU6kgkUbLM8OtuN0DGwi1qYQ6DcdxySX2qYzw==";
+        url = "https://registry.npmjs.org/@vercel/node/-/node-1.15.0.tgz";
+        sha512 = "1xH2zBiLTPJKJPvF0odYna0ge5h754Ucpr3mdOtnrG2aW/F3DxS9TJ5h0GDwt15QVYfkdKmZ1RbNEj7ZOP4s4g==";
       };
     };
-    "@vercel/node-bridge-2.2.0" = {
+    "@vercel/node-bridge-2.2.1" = {
       name = "_at_vercel_slash_node-bridge";
       packageName = "@vercel/node-bridge";
-      version = "2.2.0";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/node-bridge/-/node-bridge-2.2.0.tgz";
-        sha512 = "ydYlZyIQfsuriF6qTt/F4vaAt+nb4ZKhLEl2o5AQFa5ED7LoPS5w01Xbujy+25pqS1ODu8/bsqOCUSX8y/+tSQ==";
+        url = "https://registry.npmjs.org/@vercel/node-bridge/-/node-bridge-2.2.1.tgz";
+        sha512 = "GJdBio0nKyxvFwfLcj6CMp2s22d5V6K9tmhmHkQcaiFwdKWK/Pa7jngiO84a09fvX+DFaOtpalJuxQa5LAJ9xQ==";
       };
     };
-    "@vercel/python-2.2.2" = {
+    "@vercel/python-2.3.0" = {
       name = "_at_vercel_slash_python";
       packageName = "@vercel/python";
-      version = "2.2.2";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/python/-/python-2.2.2.tgz";
-        sha512 = "08x3kzFTiWlY9lSRmIksm1gHzz9wrHoyv2w7DdOHAbueEGJTbbMoHNeBPWwQ7hLjfMhCM5JOMjezAz3Uw0kEJg==";
+        url = "https://registry.npmjs.org/@vercel/python/-/python-2.3.0.tgz";
+        sha512 = "Cfis3gt3lUhX/eBOAJRfSEXYKpJAzRayt4xxQly96Ey2vvLNaFDBZK6J71o5P+fM2Q9z9FynVwrsY3rcW1lL8Q==";
       };
     };
-    "@vercel/ruby-1.3.2" = {
+    "@vercel/ruby-1.3.3" = {
       name = "_at_vercel_slash_ruby";
       packageName = "@vercel/ruby";
-      version = "1.3.2";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/ruby/-/ruby-1.3.2.tgz";
-        sha512 = "SAC1+wHT60IvAJ4CBLylnCZYF7nO7xtvIhO3NL1O4WBMRNgep5oewDNgxIQ/6XzGEymPijI4FP2tBHQ3v557nQ==";
+        url = "https://registry.npmjs.org/@vercel/ruby/-/ruby-1.3.3.tgz";
+        sha512 = "kEYtp+jLu9xFmlf6K28elkc6GOkdccGHNJOhqroYOnGmesEU9yXc00A2sQGKTwLLApbmmtTDyoG6PwnzStn5jw==";
       };
     };
     "@vscode/emmet-helper-2.8.4" = {
@@ -11578,13 +11542,13 @@ let
         sha1 = "5faad9c2c07f60dd76770f71cf025b62a63cfd4e";
       };
     };
-    "abab-2.0.5" = {
+    "abab-2.0.6" = {
       name = "abab";
       packageName = "abab";
-      version = "2.0.5";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz";
-        sha512 = "9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==";
+        url = "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz";
+        sha512 = "j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==";
       };
     };
     "abbrev-1.1.1" = {
@@ -11650,6 +11614,15 @@ let
         sha512 = "TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==";
       };
     };
+    "abstract-leveldown-7.2.0" = {
+      name = "abstract-leveldown";
+      packageName = "abstract-leveldown";
+      version = "7.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz";
+        sha512 = "DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ==";
+      };
+    };
     "abstract-logging-1.0.0" = {
       name = "abstract-logging";
       packageName = "abstract-logging";
@@ -11767,6 +11740,15 @@ let
         sha512 = "V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==";
       };
     };
+    "acorn-8.7.1" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "8.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz";
+        sha512 = "Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==";
+      };
+    };
     "acorn-globals-1.0.9" = {
       name = "acorn-globals";
       packageName = "acorn-globals";
@@ -11965,6 +11947,15 @@ let
         sha512 = "aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==";
       };
     };
+    "address-1.2.0" = {
+      name = "address";
+      packageName = "address";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/address/-/address-1.2.0.tgz";
+        sha512 = "tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig==";
+      };
+    };
     "adm-zip-0.5.9" = {
       name = "adm-zip";
       packageName = "adm-zip";
@@ -12883,6 +12874,15 @@ let
         sha1 = "2af5c2b544a40e15fc1ac55548314397460845d0";
       };
     };
+    "app-path-3.3.0" = {
+      name = "app-path";
+      packageName = "app-path";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/app-path/-/app-path-3.3.0.tgz";
+        sha512 = "EAgEXkdcxH1cgEePOSsmUtw9ItPl0KTxnh/pj9ZbhvbKbij9x0oX6PWpGnorDr0DS5AosLgoa5n3T/hZmKQpYA==";
+      };
+    };
     "app-root-path-3.0.0" = {
       name = "app-root-path";
       packageName = "app-root-path";
@@ -13036,15 +13036,6 @@ let
         sha512 = "5Hxxcig7gw5Jod/8Gq0OneVgLYET+oNHcxgWItq4TbhOzRLKNAFUb9edAftiMKXvXfCB0vbGrJdZDNq0dWMsxg==";
       };
     };
-    "archiver-5.3.0" = {
-      name = "archiver";
-      packageName = "archiver";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/archiver/-/archiver-5.3.0.tgz";
-        sha512 = "iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg==";
-      };
-    };
     "archiver-5.3.1" = {
       name = "archiver";
       packageName = "archiver";
@@ -13126,15 +13117,6 @@ let
         sha512 = "e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==";
       };
     };
-    "argparse-0.1.15" = {
-      name = "argparse";
-      packageName = "argparse";
-      version = "0.1.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
-        sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
-      };
-    };
     "argparse-1.0.10" = {
       name = "argparse";
       packageName = "argparse";
@@ -13162,13 +13144,13 @@ let
         sha512 = "8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==";
       };
     };
-    "args-5.0.1" = {
+    "args-5.0.3" = {
       name = "args";
       packageName = "args";
-      version = "5.0.1";
+      version = "5.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/args/-/args-5.0.1.tgz";
-        sha512 = "1kqmFCFsPffavQFGt8OxJdIcETti99kySRUPMpOhaGjL6mRJn8HFU1OxKY5bMqfZKUwTQc1mZkAjmGYaVOHFtQ==";
+        url = "https://registry.npmjs.org/args/-/args-5.0.3.tgz";
+        sha512 = "h6k/zfFgusnv3i5TU08KQkVKuCPBtL/PWQbWkHUxvJrZ2nAyeaUupneemcrgn1xmqxPQsPIzwkUhOpoqPDRZuA==";
       };
     };
     "argsarray-0.0.1" = {
@@ -13180,13 +13162,13 @@ let
         sha1 = "6e7207b4ecdb39b0af88303fa5ae22bda8df61cb";
       };
     };
-    "arib-mpeg2ts-parser-3.0.13" = {
+    "arib-mpeg2ts-parser-3.0.15" = {
       name = "arib-mpeg2ts-parser";
       packageName = "arib-mpeg2ts-parser";
-      version = "3.0.13";
+      version = "3.0.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/arib-mpeg2ts-parser/-/arib-mpeg2ts-parser-3.0.13.tgz";
-        sha512 = "QgNZghj9R4dafXeBJbKZ0Ff5f7YENqQP/CDLAhWEWXdPoOOPUcQCu5zs3KHqeTKxg3/ip6i8a+aIu+J6QYICOg==";
+        url = "https://registry.npmjs.org/arib-mpeg2ts-parser/-/arib-mpeg2ts-parser-3.0.15.tgz";
+        sha512 = "qbO0g1+E/5ghXHusDCK58Cj/EhYrXnvEPYgEsTCMgHes+23OSHAteRMVFajfKazky1zV7RtX1uZR9V7gJwyq3Q==";
       };
     };
     "arib-subtitle-timedmetadater-4.0.9" = {
@@ -13369,15 +13351,6 @@ let
         sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93";
       };
     };
-    "array-filter-0.0.1" = {
-      name = "array-filter";
-      packageName = "array-filter";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz";
-        sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec";
-      };
-    };
     "array-find-0.1.1" = {
       name = "array-find";
       packageName = "array-find";
@@ -13495,15 +13468,6 @@ let
         sha1 = "0c7e1b4e022ae166ff1e8448c595f3181fcd3337";
       };
     };
-    "array-map-0.0.0" = {
-      name = "array-map";
-      packageName = "array-map";
-      version = "0.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz";
-        sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662";
-      };
-    };
     "array-parallel-0.1.3" = {
       name = "array-parallel";
       packageName = "array-parallel";
@@ -13513,15 +13477,6 @@ let
         sha1 = "8f785308926ed5aa478c47e64d1b334b6c0c947d";
       };
     };
-    "array-reduce-0.0.0" = {
-      name = "array-reduce";
-      packageName = "array-reduce";
-      version = "0.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz";
-        sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b";
-      };
-    };
     "array-series-0.1.5" = {
       name = "array-series";
       packageName = "array-series";
@@ -13693,15 +13648,6 @@ let
         sha512 = "tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==";
       };
     };
-    "as-array-1.0.0" = {
-      name = "as-array";
-      packageName = "as-array";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/as-array/-/as-array-1.0.0.tgz";
-        sha1 = "28a6eeeaa5729f1f4eca2047df5e9de1abda0ed1";
-      };
-    };
     "as-array-2.0.0" = {
       name = "as-array";
       packageName = "as-array";
@@ -13801,13 +13747,13 @@ let
         sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==";
       };
     };
-    "asn1js-2.3.2" = {
+    "asn1js-2.4.0" = {
       name = "asn1js";
       packageName = "asn1js";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asn1js/-/asn1js-2.3.2.tgz";
-        sha512 = "IYzujqcOk7fHaePpTyvD3KPAA0AjT3qZlaQAw76zmPPAV/XTjhO+tbHjbFbIQZIhw+fk9wCSfb0Z6K+JHe8Q2g==";
+        url = "https://registry.npmjs.org/asn1js/-/asn1js-2.4.0.tgz";
+        sha512 = "PvZC0FMyMut8aOnR2jAEGSkmRtHIUYPe9amUEnGjr9TdnUmsfoOkjrvUkOEU9mzpYBR1HyO9bF+8U1cLTMMHhQ==";
       };
     };
     "assert-1.5.0" = {
@@ -14359,13 +14305,13 @@ let
         sha512 = "DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==";
       };
     };
-    "await-lock-2.1.0" = {
+    "await-lock-2.2.2" = {
       name = "await-lock";
       packageName = "await-lock";
-      version = "2.1.0";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/await-lock/-/await-lock-2.1.0.tgz";
-        sha512 = "t7Zm5YGgEEc/3eYAicF32m/TNvL+XOeYZy9CvBUeJY/szM7frLolFylhrlZNWV/ohWhcUXygrBGjYmoQdxF4CQ==";
+        url = "https://registry.npmjs.org/await-lock/-/await-lock-2.2.2.tgz";
+        sha512 = "aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==";
       };
     };
     "await-semaphore-0.1.3" = {
@@ -14386,31 +14332,22 @@ let
         sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       };
     };
-    "aws-sdk-2.1097.0" = {
-      name = "aws-sdk";
-      packageName = "aws-sdk";
-      version = "2.1097.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1097.0.tgz";
-        sha512 = "fChMDiSfWcW0EUWmiqlyc+VAIXKH0w7BBruL3cVWSwO+5oA5A9juGF4NCBV2/KAHzaKaG0hXKPE49Wh6Lq74ag==";
-      };
-    };
-    "aws-sdk-2.1115.0" = {
+    "aws-sdk-2.1122.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1115.0";
+      version = "2.1122.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1115.0.tgz";
-        sha512 = "WuMPBkE2b0hGRcF4oYw9zhjG0PC20lFKHT5FS8PXgZgu4GK8adQ8oIK0wBYPjq3F6b+VNdhDWSy3R7a6K+ENOQ==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1122.0.tgz";
+        sha512 = "545VawhsCQ7yEx9jZKV0hTTW3FS/waycISWMvnNwqRfpU9o4FQ4DSu3je7ekn5yFKM+91dxJC+IfJgtIV8WaUw==";
       };
     };
-    "aws-sdk-2.1116.0" = {
+    "aws-sdk-2.1125.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1116.0";
+      version = "2.1125.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1116.0.tgz";
-        sha512 = "36JFrxPPh/fRQWsgGrZZbzTxRu7dq4KyCKKXPxgVMXylEJsG/KEAVMB1f3eq4PiI5eGxYrpt2OkKoMQZQZLjPA==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1125.0.tgz";
+        sha512 = "2syNkKDqDcDmB/chc61a5xx+KYzaarLs1/KshE0b1Opp2oSq2FARyUBbk59HgwKaDUB61uPF33ZG9sHiIVx2hQ==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -14485,13 +14422,13 @@ let
         sha512 = "cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==";
       };
     };
-    "axios-0.26.0" = {
+    "axios-0.27.0" = {
       name = "axios";
       packageName = "axios";
-      version = "0.26.0";
+      version = "0.27.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz";
-        sha512 = "lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==";
+        url = "https://registry.npmjs.org/axios/-/axios-0.27.0.tgz";
+        sha512 = "XV/WrPxXfzgZ8j4lcB5i6LyaXmi90yetmV/Fem0kmglGx+mpY06CiweL3YxU6wOTNLmqLUePW4G8h45nGZ/+pA==";
       };
     };
     "axios-cookiejar-support-0.5.1" = {
@@ -14503,6 +14440,15 @@ let
         sha512 = "mmMbNDjpkAKlyxVOYjkpvV6rDRoSjBXwHbfkWvnsplRTGYCergbHvZInRB1G3lqumllUQwo0A4uPoqEsYfzq3A==";
       };
     };
+    "axios-digest-0.3.0" = {
+      name = "axios-digest";
+      packageName = "axios-digest";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/axios-digest/-/axios-digest-0.3.0.tgz";
+        sha512 = "zl7zThkh+YLSDUYwDqY1hVPndpDn4ghbB59JVhLIj19X5GJBaIts9+SI82O6D0P2wxz9uXLz+Mwnh1WkNDuXgQ==";
+      };
+    };
     "azure-devops-node-api-10.2.2" = {
       name = "azure-devops-node-api";
       packageName = "azure-devops-node-api";
@@ -14521,13 +14467,13 @@ let
         sha512 = "XDG91XzLZ15reP12s3jFkKS8oiagSICjnLwxEYieme4+4h3ZveFOFRA4iYIG40RyHXsiI0mefFYYMFIJbMpWcg==";
       };
     };
-    "b4a-1.3.1" = {
+    "b4a-1.5.0" = {
       name = "b4a";
       packageName = "b4a";
-      version = "1.3.1";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/b4a/-/b4a-1.3.1.tgz";
-        sha512 = "ULHjbJGjZcdA5bugDNAAcMA6GWXX/9N10I6AQc14TH+Sr7bMfT+NHuJnOFGPJWLtzYa6Tz+PnFD2D/1bISLLZQ==";
+        url = "https://registry.npmjs.org/b4a/-/b4a-1.5.0.tgz";
+        sha512 = "J20PbRmSy38jW9TmqGEwd8xINUCuOm2I2bPQ1sK8LWLxKTbhPh0H48DJ27ff2qmSXvI30WYV0tKzSmGb+oCsXg==";
       };
     };
     "babel-code-frame-6.26.0" = {
@@ -14638,13 +14584,13 @@ let
         sha512 = "7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==";
       };
     };
-    "babel-loader-8.2.4" = {
+    "babel-loader-8.2.5" = {
       name = "babel-loader";
       packageName = "babel-loader";
-      version = "8.2.4";
+      version = "8.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.4.tgz";
-        sha512 = "8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A==";
+        url = "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz";
+        sha512 = "OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==";
       };
     };
     "babel-plugin-dynamic-import-node-2.3.3" = {
@@ -15844,13 +15790,13 @@ let
         sha512 = "O1htyufFTYy3EO0JkHg2CLykdXEtV2ssqw47Gq9A0WByp662xpJnMEB9m43LZjsSDjIAOozWRExlFQk2hlV1XQ==";
       };
     };
-    "bipf-1.6.2" = {
+    "bipf-1.6.3" = {
       name = "bipf";
       packageName = "bipf";
-      version = "1.6.2";
+      version = "1.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bipf/-/bipf-1.6.2.tgz";
-        sha512 = "Bp6Wo3VVrsVxGwXuRuzca78mYxyTHs0MJz1cZRNhEJPb1KBh7J/2k5ixG35qmDyKscJeCM8+wx20lvBN26ueCg==";
+        url = "https://registry.npmjs.org/bipf/-/bipf-1.6.3.tgz";
+        sha512 = "q90V6Fpo0OEbP7YSSIDAX793sz9lQOvd0WOiwGRb/xtTqLJNl6NA4iV5dqJWm8GRgMvGDUSP9LWnJ9dOHmlqow==";
       };
     };
     "bit-field-1.5.3" = {
@@ -15898,13 +15844,13 @@ let
         sha1 = "b05d8b5f0d09f2df35a9db3b3a62d3808c46c457";
       };
     };
-    "bitfield-4.0.0" = {
+    "bitfield-4.1.0" = {
       name = "bitfield";
       packageName = "bitfield";
-      version = "4.0.0";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bitfield/-/bitfield-4.0.0.tgz";
-        sha512 = "jtuSG9CQr5yoHFuvhgf50+DH8Aezl3C/mMSfqdG4DqP7Kqe34uBUtCEHPN9oWaldTm96/i7y5e778SnM5ES4rw==";
+        url = "https://registry.npmjs.org/bitfield/-/bitfield-4.1.0.tgz";
+        sha512 = "6cEDG3K+PK9f+B7WyhWYjp09bqSa+uaAaecVA7Y5giFixyVe1s6HKGnvOqYNR4Mi4fBMjfDPLBpHkKvzzgP7kg==";
       };
     };
     "bitfield-rle-2.2.1" = {
@@ -15952,13 +15898,13 @@ let
         sha512 = "Xzk1FJFHmsc9H8IKFtDUkfAZIT1HW8r6UqajfZBBxWmpA1v7FsPO8xPFtnFzCqcXlPN3yi8dDmlqZCemyB7P8w==";
       };
     };
-    "bittorrent-protocol-3.5.2" = {
+    "bittorrent-protocol-3.5.5" = {
       name = "bittorrent-protocol";
       packageName = "bittorrent-protocol";
-      version = "3.5.2";
+      version = "3.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-protocol/-/bittorrent-protocol-3.5.2.tgz";
-        sha512 = "IoUKeNg5aIoUfL7iYLM3L6CsuV14iEByyqdT3f2uFK4zlJiQr+kb86ERlrobYBBIj6qW6GJ9eyAU8GhL3IhFrA==";
+        url = "https://registry.npmjs.org/bittorrent-protocol/-/bittorrent-protocol-3.5.5.tgz";
+        sha512 = "cfzO//WtJGNLHXS58a4exJCSq1U0dkP2DZCQxgADInYFPdOfV1EmtpEN9toLOluVCXJRYAdwW5H6Li/hrn697A==";
       };
     };
     "bittorrent-tracker-7.7.0" = {
@@ -16357,15 +16303,6 @@ let
         sha512 = "DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==";
       };
     };
-    "bolt01-1.2.3" = {
-      name = "bolt01";
-      packageName = "bolt01";
-      version = "1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bolt01/-/bolt01-1.2.3.tgz";
-        sha512 = "zEvNSymgMeMMeFwWmwpklFoN/OJA3YO/pVgFTBV3TVq5ulfS0+mVKEGfeInEQESoaSVK1dsVPGr2RLD22uH/aQ==";
-      };
-    };
     "bolt01-1.2.4" = {
       name = "bolt01";
       packageName = "bolt01";
@@ -16438,13 +16375,13 @@ let
         sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5";
       };
     };
-    "bonjour-service-1.0.11" = {
+    "bonjour-service-1.0.12" = {
       name = "bonjour-service";
       packageName = "bonjour-service";
-      version = "1.0.11";
+      version = "1.0.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.11.tgz";
-        sha512 = "drMprzr2rDTCtgEE3VgdA9uUFaUHF+jXduwYSThHJnKMYM+FhI9Z3ph+TX3xy0LtgYHae6CHYPJ/2UnK8nQHcA==";
+        url = "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.12.tgz";
+        sha512 = "pMmguXYCu63Ug37DluMKEHdxc+aaIf/ay4YbF8Gxtba+9d3u+rmEWy61VK3Z3hp8Rskok3BunHYnG0dUHAsblw==";
       };
     };
     "boolbase-1.0.0" = {
@@ -16942,13 +16879,13 @@ let
         sha512 = "HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==";
       };
     };
-    "browserslist-4.20.2" = {
+    "browserslist-4.20.3" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.20.2";
+      version = "4.20.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz";
-        sha512 = "CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz";
+        sha512 = "NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==";
       };
     };
     "brq-0.1.8" = {
@@ -17041,21 +16978,21 @@ let
         sha512 = "66UkjoB9f7lhT+WKgYq8MQa6nkr96mlX64JYMlIsXe/X4VeqNwvsx7UOE3ZqD6lkwg8GvBhapRTWj0qWO3Pw8w==";
       };
     };
-    "bson-4.6.2" = {
+    "bson-4.6.3" = {
       name = "bson";
       packageName = "bson";
-      version = "4.6.2";
+      version = "4.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bson/-/bson-4.6.2.tgz";
-        sha512 = "VeJKHShcu1b/ugl0QiujlVuBepab714X9nNyBdA1kfekuDGecxgpTA2Z6nYbagrWFeiIyzSWIOzju3lhj+RNyQ==";
+        url = "https://registry.npmjs.org/bson/-/bson-4.6.3.tgz";
+        sha512 = "rAqP5hcUVJhXP2MCSNVsf0oM2OGU1So6A9pVRDYayvJ5+hygXHQApf87wd5NlhPM1J9RJnbqxIG/f8QTzRoQ4A==";
       };
     };
-    "btc-rpc-client-git://github.com/btc21/btc-rpc-client" = {
+    "btc-rpc-client-git+https://github.com/btc21/btc-rpc-client" = {
       name = "bitcoin-core";
       packageName = "bitcoin-core";
       version = "3.0.0";
       src = fetchgit {
-        url = "git://github.com/btc21/btc-rpc-client";
+        url = "https://github.com/btc21/btc-rpc-client";
         rev = "8ed164d9ea4964d5c059084f48818b1a14bf86c9";
         sha256 = "963ea67486cf531755c04d655bcff31d24f64682debd05a6c0ef469fd1e09bbb";
       };
@@ -17366,6 +17303,15 @@ let
         sha1 = "69fdf13ad9d91222baee109945faadc431534f86";
       };
     };
+    "bufferutil-4.0.5" = {
+      name = "bufferutil";
+      packageName = "bufferutil";
+      version = "4.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz";
+        sha512 = "HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==";
+      };
+    };
     "bufferutil-4.0.6" = {
       name = "bufferutil";
       packageName = "bufferutil";
@@ -17447,13 +17393,13 @@ let
         sha512 = "1bPRZQtmKaO6h7qV1YHXNtr6nCK28k0Zo95KM4dXfILcZZwoHJBN1m3lfLv9LPkcOZlrSr+J1bzMaZFO98Yq0w==";
       };
     };
-    "builtins-5.0.0" = {
+    "builtins-5.0.1" = {
       name = "builtins";
       packageName = "builtins";
-      version = "5.0.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/builtins/-/builtins-5.0.0.tgz";
-        sha512 = "aizhtbxgT1Udg0Fj6GssXshAVK+nxbtCV+1OtTrMNy67jffDFBY6CUBAkhO4owbleAx6fdbnWdpsmmcXydbzNw==";
+        url = "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz";
+        sha512 = "qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==";
       };
     };
     "bulk-write-stream-1.1.4" = {
@@ -17528,13 +17474,13 @@ let
         sha512 = "y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==";
       };
     };
-    "busboy-1.5.0" = {
+    "busboy-1.6.0" = {
       name = "busboy";
       packageName = "busboy";
-      version = "1.5.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/busboy/-/busboy-1.5.0.tgz";
-        sha512 = "bTXFtUV/DkvfwzHD7yjAkRK5/F3RuF2Ab/qWvf5plbHZMSCea8mxOdqMj8tG1PoSNj/Qi0cb3IoRPEj6qXAGgw==";
+        url = "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz";
+        sha512 = "8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==";
       };
     };
     "bval-0.1.6" = {
@@ -17681,13 +17627,13 @@ let
         sha512 = "VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==";
       };
     };
-    "cacache-16.0.4" = {
+    "cacache-16.0.7" = {
       name = "cacache";
       packageName = "cacache";
-      version = "16.0.4";
+      version = "16.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cacache/-/cacache-16.0.4.tgz";
-        sha512 = "U0D4wF3/W8ZgK4qDA5fTtOVSr0gaDfd5aa7tUdAV0uukVWKsAIn6SzXQCoVlg7RWZiJa+bcsM3/pXLumGaL2Ug==";
+        url = "https://registry.npmjs.org/cacache/-/cacache-16.0.7.tgz";
+        sha512 = "a4zfQpp5vm4Ipdvbj+ZrPonikRhm6WBEd4zT1Yc1DXsmAxrPgDwWBLF/u/wTVXSFPIgOJ1U3ghSa2Xm4s3h28w==";
       };
     };
     "cache-base-1.0.1" = {
@@ -17753,15 +17699,6 @@ let
         sha512 = "2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==";
       };
     };
-    "cacheable-lookup-6.0.4" = {
-      name = "cacheable-lookup";
-      packageName = "cacheable-lookup";
-      version = "6.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.0.4.tgz";
-        sha512 = "mbcDEZCkv2CZF4G01kr8eBd/5agkt9oCqz75tJMSIsquvRZ2sL6Hi5zGVKi/0OSC9oO1GHfJ2AV0ZIOY9vye0A==";
-      };
-    };
     "cacheable-request-2.1.4" = {
       name = "cacheable-request";
       packageName = "cacheable-request";
@@ -18086,13 +18023,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001332" = {
+    "caniuse-lite-1.0.30001334" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001332";
+      version = "1.0.30001334";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz";
-        sha512 = "10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001334.tgz";
+        sha512 = "kbaCEBRRVSoeNs74sCuq92MJyGrMtjWVfhltoHUCW4t4pXFvGjUBrfo47weBRViHkiV3eBYyIsfl956NtHGazw==";
       };
     };
     "canvas-2.9.1" = {
@@ -18203,6 +18140,15 @@ let
         sha1 = "a9193b1a5448b8cb9a0415bd021c8811ed7b0544";
       };
     };
+    "catering-2.1.1" = {
+      name = "catering";
+      packageName = "catering";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz";
+        sha512 = "K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==";
+      };
+    };
     "catharsis-0.9.0" = {
       name = "catharsis";
       packageName = "catharsis";
@@ -18248,31 +18194,31 @@ let
         sha512 = "eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==";
       };
     };
-    "cdk8s-1.5.69" = {
+    "cdk8s-1.5.86" = {
       name = "cdk8s";
       packageName = "cdk8s";
-      version = "1.5.69";
+      version = "1.5.86";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.5.69.tgz";
-        sha512 = "IIewuKWN2rA0eEu0F2LqbWpMDbnFWnQta4pHhJr++MUfryi+SIDBibBn4f3Yr9X2wCYQ30zQorBKLPVWSDbsXg==";
+        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.5.86.tgz";
+        sha512 = "5brCXdY69cJYff1njLMhbpj2lO5EAeeXbaR4l7m+vb/BIN/WpgiV9QatNgcxLqalcILnzGyDzlMB+TaCp//Rqw==";
       };
     };
-    "cdk8s-plus-22-1.0.0-beta.193" = {
+    "cdk8s-plus-22-1.0.0-beta.218" = {
       name = "cdk8s-plus-22";
       packageName = "cdk8s-plus-22";
-      version = "1.0.0-beta.193";
+      version = "1.0.0-beta.218";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.193.tgz";
-        sha512 = "AnLYgHgNV8fuID4AYvrAL+drooU3LAcxqWONouo3nim3aIVlmCGecaNJU9K1bkVG+7P5TKoWsKiKx9QFzGBV2A==";
+        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.218.tgz";
+        sha512 = "MpodeEotALdHVUie7ioxvs35WHN/2E31Hw/TTWYcXyrcBMg8g+x9y4u96ZWpsCfHE+QCaXCQ1jAGSQta2dE9AA==";
       };
     };
-    "cdktf-0.10.1" = {
+    "cdktf-0.10.3" = {
       name = "cdktf";
       packageName = "cdktf";
-      version = "0.10.1";
+      version = "0.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.10.1.tgz";
-        sha512 = "c+Hj3cBppRNcT1qD2FL1R4IDQXaQWwq4ZCyQeWktT5IB3tE2ncRCoZ8me8aaZ4vfT5CpAIkPf5heNmhy+U5P0Q==";
+        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.10.3.tgz";
+        sha512 = "Ja9YmHOZz1jqAbbZjK0V2IDsOJUc6MI38nlBu7wSA+ajmUmYOhgW331kxvT+q6nRwO06iqkUtRsR6FfndQ1xvA==";
       };
     };
     "center-align-0.1.3" = {
@@ -18761,15 +18707,6 @@ let
         sha512 = "Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==";
       };
     };
-    "chownr-0.0.2" = {
-      name = "chownr";
-      packageName = "chownr";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chownr/-/chownr-0.0.2.tgz";
-        sha1 = "2f9aebf746f90808ce00607b72ba73b41604c485";
-      };
-    };
     "chownr-1.1.4" = {
       name = "chownr";
       packageName = "chownr";
@@ -19022,13 +18959,13 @@ let
         sha512 = "OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==";
       };
     };
-    "cldr-7.1.1" = {
+    "cldr-7.2.0" = {
       name = "cldr";
       packageName = "cldr";
-      version = "7.1.1";
+      version = "7.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cldr/-/cldr-7.1.1.tgz";
-        sha512 = "zHHQLSZT9i/g7wAxGrMj1BRD7JYOSJHvPIT06EFkFEl4m9ItW48i9yWqgRgWESJ5oUqLs9IuMDoKf+21Lscqrg==";
+        url = "https://registry.npmjs.org/cldr/-/cldr-7.2.0.tgz";
+        sha512 = "NJB6wpFlIVrS4BhA/Q1a6UuS6MuFr5o2XhfosM6a+W+rad/Rt0HLLX3kuXdRrwHQZvla25iuzTkRnxOKjS+VhQ==";
       };
     };
     "clean-css-3.4.28" = {
@@ -19085,13 +19022,13 @@ let
         sha512 = "lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==";
       };
     };
-    "clean-stack-4.1.0" = {
+    "clean-stack-4.2.0" = {
       name = "clean-stack";
       packageName = "clean-stack";
-      version = "4.1.0";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clean-stack/-/clean-stack-4.1.0.tgz";
-        sha512 = "dxXQYI7mfQVcaF12s6sjNFoZ6ZPDQuBBLp3QJ5156k9EvUFClUoZ11fo8HnLQO241DDVntHEug8MOuFO5PSfRg==";
+        url = "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz";
+        sha512 = "LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==";
       };
     };
     "clean-webpack-plugin-3.0.0" = {
@@ -19139,15 +19076,6 @@ let
         sha512 = "y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==";
       };
     };
-    "cli-color-1.4.0" = {
-      name = "cli-color";
-      packageName = "cli-color";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-color/-/cli-color-1.4.0.tgz";
-        sha512 = "xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w==";
-      };
-    };
     "cli-color-2.0.2" = {
       name = "cli-color";
       packageName = "cli-color";
@@ -19211,13 +19139,13 @@ let
         sha1 = "7e673ee0dd39a611a486476e53f3c6b3941cb582";
       };
     };
-    "cli-progress-3.10.0" = {
+    "cli-progress-3.11.0" = {
       name = "cli-progress";
       packageName = "cli-progress";
-      version = "3.10.0";
+      version = "3.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-progress/-/cli-progress-3.10.0.tgz";
-        sha512 = "kLORQrhYCAtUPLZxqsAt2YJGOvRdt34+O6jl5cQGb7iF3dM55FQZlTR+rQyIK9JUcO9bBMwZsTlND+3dmFU2Cw==";
+        url = "https://registry.npmjs.org/cli-progress/-/cli-progress-3.11.0.tgz";
+        sha512 = "ug+V4/Qy3+0jX9XkWPV/AwHD98RxKXqDpL37vJBOxQhD90qQ3rDqDKoFpef9se91iTUuOXKlyg2HUyHBo5lHsQ==";
       };
     };
     "cli-progress-footer-2.3.1" = {
@@ -19859,13 +19787,13 @@ let
         sha512 = "3WQV/Fpa77nvzjUlc+0u53uIroJyyMB2Qwl++aXpAiDIsrsiAQq4uCURwdRBRX+eLkOTIAmT0L4qna3T7+2pUg==";
       };
     };
-    "codemaker-1.56.0" = {
+    "codemaker-1.57.0" = {
       name = "codemaker";
       packageName = "codemaker";
-      version = "1.56.0";
+      version = "1.57.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.56.0.tgz";
-        sha512 = "KA6B9FpkJIgFMQBIFnxTXofTFXrYhSWGZaL3Z9jaJSnpIMTs7RHF+k79cQdEPGeokwCj00ubmWSCjN8vlAjTbw==";
+        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.57.0.tgz";
+        sha512 = "M2/8sfQxQ9IkN2tsbOIwHn9U6KqG/mCRsg14muK8HIZH5oqjgc8Ucfqboqlrye8+9kyuQLieIhABiRV2gqeEDg==";
       };
     };
     "codepage-1.4.0" = {
@@ -19985,13 +19913,13 @@ let
         sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
       };
     };
-    "color-string-1.9.0" = {
+    "color-string-1.9.1" = {
       name = "color-string";
       packageName = "color-string";
-      version = "1.9.0";
+      version = "1.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz";
-        sha512 = "9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==";
+        url = "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz";
+        sha512 = "shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==";
       };
     };
     "color-support-1.1.3" = {
@@ -20921,22 +20849,22 @@ let
         sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "constructs-10.0.115" = {
+    "constructs-10.0.130" = {
       name = "constructs";
       packageName = "constructs";
-      version = "10.0.115";
+      version = "10.0.130";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-10.0.115.tgz";
-        sha512 = "BZfiDjilEzfq+y8hNGRbh5yIYa+mK6ZAO172Q03pvN47Fe2a2PxzA1Y6dNCP+AKcajAiyzHjYg/hw98XheZh5A==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-10.0.130.tgz";
+        sha512 = "9LYBePJHHnuXCr42eN0T4+O8xXHRxxak6G/UX+avt8ZZ/SNE9HFbFD8a+FKP8ixSNzzaEamDMswrMwPPTtU8cA==";
       };
     };
-    "constructs-3.3.268" = {
+    "constructs-3.3.283" = {
       name = "constructs";
       packageName = "constructs";
-      version = "3.3.268";
+      version = "3.3.283";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.268.tgz";
-        sha512 = "hbWMEALQbekilwintwaWTw7Hxj+EKn45lIWd3jwp1kiLFfMe1IGOh81JC/suFw3Ig9eFe3akAgZu3mcBUarkjg==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.283.tgz";
+        sha512 = "0LbWDLDPE6sa19F87kTg/a+7ZhO6YXaGs3JYPYcYcd1vzastOUbJQ+GY9O7BweDMLj0Hcw4WP33qV0SFmGnipQ==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -21336,6 +21264,15 @@ let
         sha512 = "aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==";
       };
     };
+    "cookie-0.5.0" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz";
+        sha512 = "YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==";
+      };
+    };
     "cookie-parser-1.4.6" = {
       name = "cookie-parser";
       packageName = "cookie-parser";
@@ -21534,31 +21471,31 @@ let
         sha512 = "YUdI3fFu4TF/2WykQ2xzSiTQdldLB4KVuL9WeAy5XONZYt5Cun/fpQvctoKbCgvPhmzADeesTk/j2Rdx77AcKQ==";
       };
     };
-    "core-js-3.22.0" = {
+    "core-js-3.22.3" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.22.0";
+      version = "3.22.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.22.0.tgz";
-        sha512 = "8h9jBweRjMiY+ORO7bdWSeWfHhLPO7whobj7Z2Bl0IDo00C228EdGgH7FE4jGumbEjzcFfkfW8bXgdkEDhnwHQ==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.22.3.tgz";
+        sha512 = "1t+2a/d2lppW1gkLXx3pKPVGbBdxXAkqztvWb1EJ8oF8O2gIGiytzflNiFEehYwVK/t2ryUsGBoOFFvNx95mbg==";
       };
     };
-    "core-js-compat-3.22.0" = {
+    "core-js-compat-3.22.3" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.22.0";
+      version = "3.22.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.0.tgz";
-        sha512 = "WwA7xbfRGrk8BGaaHlakauVXrlYmAIkk8PNGb1FDQS+Rbrewc3pgFfwJFRw6psmJVAll7Px9UHRYE16oRQnwAQ==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.3.tgz";
+        sha512 = "wliMbvPI2idgFWpFe7UEyHMvu6HWgW8WA+HnDRtgzoSDYvXFMpoGX1H3tPDDXrcfUSyXafCLDd7hOeMQHEZxGw==";
       };
     };
-    "core-js-pure-3.22.0" = {
+    "core-js-pure-3.22.3" = {
       name = "core-js-pure";
       packageName = "core-js-pure";
-      version = "3.22.0";
+      version = "3.22.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.0.tgz";
-        sha512 = "ylOC9nVy0ak1N+fPIZj00umoZHgUVqmucklP5RT5N+vJof38klKn8Ze6KGyvchdClvEBr6LcQqJpI216LUMqYA==";
+        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.3.tgz";
+        sha512 = "oN88zz7nmKROMy8GOjs+LN+0LedIvbMdnB5XsTlhcOg1WGARt9l0LFg0zohdoFmCsEZ1h2ZbSQ6azj3M+vhzwQ==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -21687,15 +21624,6 @@ let
         sha512 = "tRuMRhxN4m1Y8hP9SNYfz7jRwt8lZdWxdjg/ohg5esKmsndJIn4yT96oJVcf5x0eA11taXl+sIp+ielu529k6g==";
       };
     };
-    "couch-login-0.1.20" = {
-      name = "couch-login";
-      packageName = "couch-login";
-      version = "0.1.20";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/couch-login/-/couch-login-0.1.20.tgz";
-        sha1 = "007c70ef80089dbae6f59eeeec37480799b39595";
-      };
-    };
     "count-trailing-zeros-1.0.1" = {
       name = "count-trailing-zeros";
       packageName = "count-trailing-zeros";
@@ -21813,13 +21741,13 @@ let
         sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
       };
     };
-    "create-gatsby-2.12.1" = {
+    "create-gatsby-2.13.0" = {
       name = "create-gatsby";
       packageName = "create-gatsby";
-      version = "2.12.1";
+      version = "2.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-2.12.1.tgz";
-        sha512 = "dOsEy9feLJVFVzFFnA6xJL9OhfYcKewaGMqI9uUaUdifIehBjb5jdeWi+cNy49j2FQLMm38jfZ2SNSQjEK2yOw==";
+        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-2.13.0.tgz";
+        sha512 = "y2v+O1ydY0jfGevbW7oU/UA+gp5ljBTRwjdc4DyDdvS+SLnbHUp586j0rgaT/6cbY6CxfDgyGJxiAzYxuB5dlg==";
       };
     };
     "create-graphback-1.0.1" = {
@@ -22002,13 +21930,13 @@ let
         sha512 = "mkLtJJcYbDCxEG7Js6eUnUNndWjyUZwJ3H7bErmmtOYU/Zb99DyUkpamuIZE0b3bhmJyZ7D90uS6f+CGxRRjOw==";
       };
     };
-    "cross-undici-fetch-0.2.5" = {
+    "cross-undici-fetch-0.3.3" = {
       name = "cross-undici-fetch";
       packageName = "cross-undici-fetch";
-      version = "0.2.5";
+      version = "0.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cross-undici-fetch/-/cross-undici-fetch-0.2.5.tgz";
-        sha512 = "6IR+JN6o2UMNj2f3fu0ZVkZeP0h22DRKzq78SiMenkqyBYyGIT1AkZjHkItvh0A80LdsAlWENHUpvapapePucw==";
+        url = "https://registry.npmjs.org/cross-undici-fetch/-/cross-undici-fetch-0.3.3.tgz";
+        sha512 = "pNariiu7YGO/00sFPAUxgQUDEJcoYbalF4XwmA6p2fYICbcv5y9FsybnuaNGZ2wEk49HhiN8xaFt7s+Lk4EQ/w==";
       };
     };
     "crossroads-0.12.2" = {
@@ -22704,6 +22632,15 @@ let
         sha1 = "596e9698fd0c80e12038c2b82d6eb1b35b6224d9";
       };
     };
+    "cypress-image-snapshot-4.0.1" = {
+      name = "cypress-image-snapshot";
+      packageName = "cypress-image-snapshot";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cypress-image-snapshot/-/cypress-image-snapshot-4.0.1.tgz";
+        sha512 = "PBpnhX/XItlx3/DAk5ozsXQHUi72exybBNH5Mpqj1DVmjq+S5Jd9WE5CRa4q5q0zuMZb2V2VpXHth6MjFpgj9Q==";
+      };
+    };
     "d-1.0.1" = {
       name = "d";
       packageName = "d";
@@ -23604,13 +23541,13 @@ let
         sha512 = "X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==";
       };
     };
-    "data-urls-3.0.1" = {
+    "data-urls-3.0.2" = {
       name = "data-urls";
       packageName = "data-urls";
-      version = "3.0.1";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/data-urls/-/data-urls-3.0.1.tgz";
-        sha512 = "Ds554NeT5Gennfoo9KN50Vh6tpgtvYEwraYjejXnyTpu1C7oXKxdFk75REooENHE8ndTVOJuv+BEs4/J/xcozw==";
+        url = "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz";
+        sha512 = "Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==";
       };
     };
     "dataloader-2.0.0" = {
@@ -23685,13 +23622,13 @@ let
         sha512 = "eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==";
       };
     };
-    "date-format-4.0.7" = {
+    "date-format-4.0.9" = {
       name = "date-format";
       packageName = "date-format";
-      version = "4.0.7";
+      version = "4.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/date-format/-/date-format-4.0.7.tgz";
-        sha512 = "k5xqlzDGIfv2N/DHR/BR8Kc4N9CRy9ReuDkmdxeX/jNfit94QXd36emWMm40ZOEDKNm/c91yV9EO3uGPkR7wWQ==";
+        url = "https://registry.npmjs.org/date-format/-/date-format-4.0.9.tgz";
+        sha512 = "+8J+BOUpSrlKLQLeF8xJJVTxS8QfRSuJgwxSVvslzgO3E6khbI0F5mMEPf5mTYhCCm4h99knYP6H3W9n3BQFrg==";
       };
     };
     "date-now-0.1.4" = {
@@ -24909,13 +24846,13 @@ let
         sha512 = "4INMPwNm9XRpBukhNbF7OB6fNTTCaI8pzy/fXg0xQzAy5h3zL1P8xT3QazgKqBrb/hAYwIBizqDBZ7GtJE74QQ==";
       };
     };
-    "devtools-protocol-0.0.969999" = {
+    "devtools-protocol-0.0.981744" = {
       name = "devtools-protocol";
       packageName = "devtools-protocol";
-      version = "0.0.969999";
+      version = "0.0.981744";
       src = fetchurl {
-        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.969999.tgz";
-        sha512 = "6GfzuDWU0OFAuOvBokXpXPLxjOJ5DZ157Ue3sGQQM3LgAamb8m0R0ruSfN0DDu+XG5XJgT50i6zZ/0o8RglreQ==";
+        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.981744.tgz";
+        sha512 = "0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==";
       };
     };
     "dezalgo-1.0.4" = {
@@ -25107,6 +25044,15 @@ let
         sha512 = "QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==";
       };
     };
+    "dir-compare-2.4.0" = {
+      name = "dir-compare";
+      packageName = "dir-compare";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dir-compare/-/dir-compare-2.4.0.tgz";
+        sha512 = "l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==";
+      };
+    };
     "dir-glob-2.0.0" = {
       name = "dir-glob";
       packageName = "dir-glob";
@@ -26088,6 +26034,15 @@ let
         sha512 = "9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==";
       };
     };
+    "ejs-3.1.7" = {
+      name = "ejs";
+      packageName = "ejs";
+      version = "3.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ejs/-/ejs-3.1.7.tgz";
+        sha512 = "BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==";
+      };
+    };
     "electron-14.2.9" = {
       name = "electron";
       packageName = "electron";
@@ -26115,13 +26070,13 @@ let
         sha512 = "icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==";
       };
     };
-    "electron-packager-15.4.0" = {
+    "electron-packager-15.5.1" = {
       name = "electron-packager";
       packageName = "electron-packager";
-      version = "15.4.0";
+      version = "15.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-packager/-/electron-packager-15.4.0.tgz";
-        sha512 = "JrrLcBP15KGrPj0cZ/ALKGmaQ4gJkn3mocf0E3bRKdR3kxKWYcDRpCvdhksYDXw/r3I6tMEcZ7XzyApWFXdVpw==";
+        url = "https://registry.npmjs.org/electron-packager/-/electron-packager-15.5.1.tgz";
+        sha512 = "9/fqF64GACZsLYLuFJ8vCqItMXbvsD0NMDLNfFmAv9mSqkqKWSZb5V3VE9CxT6CeXwZ6wN3YowEQuqBNyShEVg==";
       };
     };
     "electron-rebuild-3.2.7" = {
@@ -26133,21 +26088,21 @@ let
         sha512 = "WvaW1EgRinDQ61khHFZfx30rkPQG5ItaOT0wrI7iJv9A3SbghriQGfZQfHZs25fWLBe6/vkv05LOqg6aDw6Wzw==";
       };
     };
-    "electron-to-chromium-1.4.110" = {
+    "electron-to-chromium-1.4.129" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.110";
+      version = "1.4.129";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.110.tgz";
-        sha512 = "TvHZrkj9anfWkxgblHlNr4IMQdm2N6D0o8Wu1BDpSL/RKT4DHyUt/tvDFtApgZ+LGFL3U9EO4LRZ1eSlQ8xMYA==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.129.tgz";
+        sha512 = "GgtN6bsDtHdtXJtlMYZWGB/uOyjZWjmRDumXTas7dGBaB9zUyCjzHet1DY2KhyHN8R0GLbzZWqm4efeddqqyRQ==";
       };
     };
-    "electrum-client-git://github.com/janoside/electrum-client" = {
+    "electrum-client-git+https://github.com/janoside/electrum-client" = {
       name = "electrum-client";
       packageName = "electrum-client";
       version = "1.1.7";
       src = fetchgit {
-        url = "git://github.com/janoside/electrum-client";
+        url = "https://github.com/janoside/electrum-client";
         rev = "d98e929028d2b05c88a41fe37652737912bead79";
         sha256 = "d6dfc396ae69eba6efa303039d6ebb46a5cd51d1b79a293f915609057b9062be";
       };
@@ -26207,6 +26162,15 @@ let
         sha512 = "Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==";
       };
     };
+    "emittery-0.10.0" = {
+      name = "emittery";
+      packageName = "emittery";
+      version = "0.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz";
+        sha512 = "AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==";
+      };
+    };
     "emmet-2.3.6" = {
       name = "emmet";
       packageName = "emmet";
@@ -26495,6 +26459,15 @@ let
         sha512 = "rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==";
       };
     };
+    "engine.io-6.2.0" = {
+      name = "engine.io";
+      packageName = "engine.io";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz";
+        sha512 = "4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==";
+      };
+    };
     "engine.io-client-1.3.1" = {
       name = "engine.io-client";
       packageName = "engine.io-client";
@@ -26540,13 +26513,13 @@ let
         sha512 = "IH8ZhDIwiLv0d/wXVzmjfV9Y82hbJIDhCGSVUV8o1kcpDe2I6Y3bZA3ZbJy4Ls7k7IVmcy/qn4k9RKWFhUGf5w==";
       };
     };
-    "engine.io-client-6.1.1" = {
+    "engine.io-client-6.2.1" = {
       name = "engine.io-client";
       packageName = "engine.io-client";
-      version = "6.1.1";
+      version = "6.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.1.1.tgz";
-        sha512 = "V05mmDo4gjimYW+FGujoGmmmxRaDsrVr7AXA3ZIfa04MWM1jOfZfUwou0oNqhNwy/votUDvGDt4JA4QF4e0b4g==";
+        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.1.tgz";
+        sha512 = "5cu7xubVxEwoB6O9hJ6Zfu990yBVjXfyMlE1ZvfO5L8if3Kvc9bgDNEapV0C5pMp+5Om1UZFnljxoOuFm6dBKA==";
       };
     };
     "engine.io-parser-1.0.6" = {
@@ -26576,13 +26549,13 @@ let
         sha512 = "x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==";
       };
     };
-    "engine.io-parser-5.0.3" = {
+    "engine.io-parser-5.0.4" = {
       name = "engine.io-parser";
       packageName = "engine.io-parser";
-      version = "5.0.3";
+      version = "5.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz";
-        sha512 = "BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==";
+        url = "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz";
+        sha512 = "+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==";
       };
     };
     "enhanced-resolve-2.3.0" = {
@@ -26882,13 +26855,13 @@ let
         sha1 = "5dae3e650e5be3684b88066513d528d092629862";
       };
     };
-    "es5-ext-0.10.60" = {
+    "es5-ext-0.10.61" = {
       name = "es5-ext";
       packageName = "es5-ext";
-      version = "0.10.60";
+      version = "0.10.61";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.60.tgz";
-        sha512 = "jpKNXIt60htYG59/9FGf2PYT3pwMpnEbNKysU+k/4FGwyGtMotOvcZOuW+EmXXYASRqYSXQfGL5cVIthOTgbkg==";
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz";
+        sha512 = "yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==";
       };
     };
     "es6-error-4.1.1" = {
@@ -27224,13 +27197,13 @@ let
         sha512 = "/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==";
       };
     };
-    "eslint-8.13.0" = {
+    "eslint-8.14.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "8.13.0";
+      version = "8.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.13.0.tgz";
-        sha512 = "D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz";
+        sha512 = "3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==";
       };
     };
     "eslint-config-prettier-6.15.0" = {
@@ -28205,22 +28178,22 @@ let
         sha1 = "a793d3ac0cad4c6ab571e9968fbbab6cb2532929";
       };
     };
-    "expo-modules-autolinking-0.5.5" = {
+    "expo-modules-autolinking-0.7.0" = {
       name = "expo-modules-autolinking";
       packageName = "expo-modules-autolinking";
-      version = "0.5.5";
+      version = "0.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-0.5.5.tgz";
-        sha512 = "bILEG0Fg+ZhIhdEaShHzsEN1WC0hUmXJ5Kcd4cd+8rVk1Ead9vRZxA/yLx1cNBDCOwMe0GAMrhF7TKT+A1P+YA==";
+        url = "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-0.7.0.tgz";
+        sha512 = "xwO3hLCl3Ru8ouuf35cLQgbOL6ym1ku1HLXX/1xs7inYLKvDzAWY/oeiNS30qOl13T4aYFR3q2Nq9XlDw41/2Q==";
       };
     };
-    "expo-pwa-0.0.115" = {
+    "expo-pwa-0.0.118" = {
       name = "expo-pwa";
       packageName = "expo-pwa";
-      version = "0.0.115";
+      version = "0.0.118";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.115.tgz";
-        sha512 = "Z10w+JuRYVcRLnM8DTLmqaKJKG7mh8nBgDLvSZ8T6Hw/x7Eoq3YI0mx8aRRDV/uNQBPZZ02QZSNaxLyDtEuCAA==";
+        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.118.tgz";
+        sha512 = "zm8QDDty+AzVkYHfzox/jk/97XdYlxFBOx3Lw6zprjlnZcZgOR+VR/uuek+kgEWRo7Oxhr+4al3rNgEurIsAzw==";
       };
     };
     "exponential-backoff-3.1.0" = {
@@ -28295,6 +28268,15 @@ let
         sha512 = "yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==";
       };
     };
+    "express-4.18.1" = {
+      name = "express";
+      packageName = "express";
+      version = "4.18.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express/-/express-4.18.1.tgz";
+        sha512 = "zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==";
+      };
+    };
     "express-async-handler-1.2.0" = {
       name = "express-async-handler";
       packageName = "express-async-handler";
@@ -28781,13 +28763,13 @@ let
         sha512 = "xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==";
       };
     };
-    "fast-equals-3.0.1" = {
+    "fast-equals-3.0.2" = {
       name = "fast-equals";
       packageName = "fast-equals";
-      version = "3.0.1";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-equals/-/fast-equals-3.0.1.tgz";
-        sha512 = "J9FxqqC9E/ja0C+SYhoG3Jl6pQuhP92HNcVC75xDEhB+GUzPnjEp3vMfPIxPprYZFfXS5hpVvvPCWUMiDSMS8Q==";
+        url = "https://registry.npmjs.org/fast-equals/-/fast-equals-3.0.2.tgz";
+        sha512 = "iY0fAmW7fzxHp22VCRLpOgWbsWsF+DJWi1jhc8w+VGlJUiS+KcGZV2A8t+Q9oTQwhG3L1W8Lu/oe3ZyOPdhZjw==";
       };
     };
     "fast-fifo-1.1.0" = {
@@ -28979,13 +28961,13 @@ let
         sha512 = "483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==";
       };
     };
-    "fastpriorityqueue-0.7.1" = {
+    "fastpriorityqueue-0.7.2" = {
       name = "fastpriorityqueue";
       packageName = "fastpriorityqueue";
-      version = "0.7.1";
+      version = "0.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.1.tgz";
-        sha512 = "XJ+vbiXYjmxc32VEpXScAq7mBg3vqh90OjLfiuyQ0zAtXpgICdVgGjKHep1kLGQufyuCBiEYpl6ZKcw79chTpA==";
+        url = "https://registry.npmjs.org/fastpriorityqueue/-/fastpriorityqueue-0.7.2.tgz";
+        sha512 = "5DtIKh6vtOmEGkYdEPNNb+mxeYCnBiKbK3s4gq52l6cX8I5QaTDWWw0Wx/iYo80fVOblSycHu1/iJeqeNxG8Jw==";
       };
     };
     "fastq-1.13.0" = {
@@ -29087,15 +29069,6 @@ let
         sha1 = "25c7c89cb1f9077f8891bbe61d8f390eae256f1e";
       };
     };
-    "fecha-4.2.2" = {
-      name = "fecha";
-      packageName = "fecha";
-      version = "4.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fecha/-/fecha-4.2.2.tgz";
-        sha512 = "5rOQWkBVz3FnYWTi/ELZmq4CoK1Pb+xKNZWuJRsOwo0+8DrP43CrWJtyLVvb5U7z7ggE5llahfDbLjaVNzXVJQ==";
-      };
-    };
     "fecha-4.2.3" = {
       name = "fecha";
       packageName = "fecha";
@@ -29402,13 +29375,13 @@ let
         sha512 = "hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==";
       };
     };
-    "filelist-1.0.2" = {
+    "filelist-1.0.3" = {
       name = "filelist";
       packageName = "filelist";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz";
-        sha512 = "z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==";
+        url = "https://registry.npmjs.org/filelist/-/filelist-1.0.3.tgz";
+        sha512 = "LwjCsruLWQULGYKy7TX0OPtrL9kLpojOFKc5VCTxdFTV7w5zbsgqVKfnkKG7Qgjtq50gKfO56hJv88OfcGb70Q==";
       };
     };
     "filename-regex-2.0.1" = {
@@ -29717,15 +29690,6 @@ let
         sha512 = "hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==";
       };
     };
-    "findit-1.2.0" = {
-      name = "findit";
-      packageName = "findit";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/findit/-/findit-1.2.0.tgz";
-        sha1 = "f571a3a840749ae8b0cbf4bf43ced7659eec3ce8";
-      };
-    };
     "findit-2.0.0" = {
       name = "findit";
       packageName = "findit";
@@ -29771,6 +29735,15 @@ let
         sha512 = "ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==";
       };
     };
+    "firebase-frameworks-0.3.0" = {
+      name = "firebase-frameworks";
+      packageName = "firebase-frameworks";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/firebase-frameworks/-/firebase-frameworks-0.3.0.tgz";
+        sha512 = "Zxtx5WsD8ZZdItIeDjjpM+JgaIWDdwBujmLYLKf2Ou6onyRsd8bNRrnVsqrnq4S3FN9TcNYliXdwMu7AwYdW7Q==";
+      };
+    };
     "firefox-profile-4.2.2" = {
       name = "firefox-profile";
       packageName = "firefox-profile";
@@ -29807,13 +29780,13 @@ let
         sha512 = "eN9cmsIlRdq06wu3m01OOEgQf5Xh/M7REm0jfZ4eL3V3XisjXzfRq3iyqtKS+FhO6wB36FvWRiRGdeSx5KpLAQ==";
       };
     };
-    "fkill-8.0.0" = {
+    "fkill-8.0.1" = {
       name = "fkill";
       packageName = "fkill";
-      version = "8.0.0";
+      version = "8.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fkill/-/fkill-8.0.0.tgz";
-        sha512 = "ItJHI5BDPAzmTg7IuFRRMI2liFOthzaRPhJaplkWqrIf7ss7e+zR+sVzOCljv7zauaFiSjca5b8NHmqT4VgyRQ==";
+        url = "https://registry.npmjs.org/fkill/-/fkill-8.0.1.tgz";
+        sha512 = "ZWAKbgy3pphXWCBfdNS03zXaS16SnTWaD1+n471XSUJ+K5kpFpzZsvRatfUqH8Jwt9wHzZIVIKS+o5Gblqo7PQ==";
       };
     };
     "flagged-respawn-1.0.1" = {
@@ -29834,15 +29807,6 @@ let
         sha512 = "b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==";
       };
     };
-    "flat-arguments-1.0.2" = {
-      name = "flat-arguments";
-      packageName = "flat-arguments";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flat-arguments/-/flat-arguments-1.0.2.tgz";
-        sha1 = "9baa780adf0501f282d726c9c6a038dba44ea76f";
-      };
-    };
     "flat-cache-1.3.4" = {
       name = "flat-cache";
       packageName = "flat-cache";
@@ -29933,13 +29897,13 @@ let
         sha512 = "jlbUu0XkbpXeXhan5xyTqVK1jmEKNxE8hpzznI3TThHTr76GiFwK0iRzhDo4KNy+S9h/KxHaqVhTP86vA6wHCg==";
       };
     };
-    "flow-parser-0.176.2" = {
+    "flow-parser-0.176.3" = {
       name = "flow-parser";
       packageName = "flow-parser";
-      version = "0.176.2";
+      version = "0.176.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.176.2.tgz";
-        sha512 = "unqoh60i18C67h2rvK0SCFUBac/waUcx7CF1a5E4D0Cwj1NErTP42RF7yb7+dy25Tpyzt7uwVtXw13Wr17VzWA==";
+        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.176.3.tgz";
+        sha512 = "KDzHEoEtc/kbW7NzujhfFkcTCdNi6VK91UpcdT3tc3yEAQdh4JXAEY/0TVJKipjRuVm8E2FxX/3B5Xpm3EFWXA==";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -30392,13 +30356,13 @@ let
         sha512 = "wJaE62fLaB3jCYvY2ZHjZvmKK2iiLiiehX38rz5QZxtdN8fVPJDeZUiVvJrHStdTc+23LHlyZuSEKgFc0pxi2g==";
       };
     };
-    "fp-ts-2.11.10" = {
+    "fp-ts-2.12.1" = {
       name = "fp-ts";
       packageName = "fp-ts";
-      version = "2.11.10";
+      version = "2.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fp-ts/-/fp-ts-2.11.10.tgz";
-        sha512 = "wtUo3eA0/+GZnT+dCjkSt5CuGCH5ZXjjrcZvYm/3BC5KGavuwgvME+eRRHYtCGYWD6I+fJ2uZ9en/JVqDEPrJw==";
+        url = "https://registry.npmjs.org/fp-ts/-/fp-ts-2.12.1.tgz";
+        sha512 = "oxvgqUYR6O9VkKXrxkJ0NOyU0FrE705MeqgBUMEPWyTu6Pwn768cJbHChw2XOBlgFLKfIHxjr2OOBFpv2mUGZw==";
       };
     };
     "fraction.js-4.2.0" = {
@@ -30581,6 +30545,15 @@ let
         sha512 = "NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==";
       };
     };
+    "fs-extra-10.1.0" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "10.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz";
+        sha512 = "oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==";
+      };
+    };
     "fs-extra-3.0.1" = {
       name = "fs-extra";
       packageName = "fs-extra";
@@ -30797,15 +30770,6 @@ let
         sha512 = "xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==";
       };
     };
-    "fstream-0.1.31" = {
-      name = "fstream";
-      packageName = "fstream";
-      version = "0.1.31";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
-        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
-      };
-    };
     "fstream-1.0.12" = {
       name = "fstream";
       packageName = "fstream";
@@ -30869,13 +30833,13 @@ let
         sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
       };
     };
-    "functions-have-names-1.2.2" = {
+    "functions-have-names-1.2.3" = {
       name = "functions-have-names";
       packageName = "functions-have-names";
-      version = "1.2.2";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.2.tgz";
-        sha512 = "bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==";
+        url = "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz";
+        sha512 = "xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==";
       };
     };
     "fuse.js-6.4.1" = {
@@ -30932,22 +30896,22 @@ let
         sha1 = "cbed2d20a40c1f5679a35908e2b9415733e78db9";
       };
     };
-    "gatsby-core-utils-3.12.1" = {
+    "gatsby-core-utils-3.13.0" = {
       name = "gatsby-core-utils";
       packageName = "gatsby-core-utils";
-      version = "3.12.1";
+      version = "3.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-3.12.1.tgz";
-        sha512 = "jBG1MfR6t2MZNIl8LQ3Cwc92F6uFNcEC091IK+qKVy9FNT0+WzcKQ6Olip6u1NSvCatfrg1FqrH0K78a6lmnLQ==";
+        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-3.13.0.tgz";
+        sha512 = "uAyy54t9dYAUHjLq38QfX/pxyWxsqDiWN/+Ppg/KXTbE83LUQlD0PctdNxz9jFmJ8CgE1BUbfUKpmemh8BLkjw==";
       };
     };
-    "gatsby-telemetry-3.12.1" = {
+    "gatsby-telemetry-3.13.0" = {
       name = "gatsby-telemetry";
       packageName = "gatsby-telemetry";
-      version = "3.12.1";
+      version = "3.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-3.12.1.tgz";
-        sha512 = "sAL2T9GdYpceGlFP6CymVDoy0UEhRvrJApv/mu7sU6F0gu8g8rOLvRxVYE3Y2D9RdfCzkuLIonzmscmVIduyOg==";
+        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-3.13.0.tgz";
+        sha512 = "VKwRRw6WVvCmekeeMgb+Ic4pS/3Jn+3LTP2nX/QZ1G3256xFxKZVPMRO4007xLKmuIu4liEAaLrnZpG3ZuprYA==";
       };
     };
     "gauge-1.2.7" = {
@@ -32121,6 +32085,15 @@ let
         sha512 = "5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==";
       };
     };
+    "glur-1.1.2" = {
+      name = "glur";
+      packageName = "glur";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glur/-/glur-1.1.2.tgz";
+        sha1 = "f20ea36db103bfc292343921f1f91e83c3467689";
+      };
+    };
     "gm-1.23.1" = {
       name = "gm";
       packageName = "gm";
@@ -32139,15 +32112,6 @@ let
         sha512 = "nwrFxarqF2kxQXEzgcfvfqh64eokhcfyPl5i/RXGueRwUUSV7XW64A4BehcPcjKMKMxPM9RZarBTwa4vdnSZMA==";
       };
     };
-    "goldengate-11.1.1" = {
-      name = "goldengate";
-      packageName = "goldengate";
-      version = "11.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/goldengate/-/goldengate-11.1.1.tgz";
-        sha512 = "mxP1gmk5Bg72biHUgH7RYAQAjqX16/e5npGYPeBScspNYdwxqK87PDkZADy3p26dlOnbZN3G7tP06xzASKb7/g==";
-      };
-    };
     "goldengate-11.2.1" = {
       name = "goldengate";
       packageName = "goldengate";
@@ -32184,13 +32148,13 @@ let
         sha512 = "Vric7QFWxzHFxITZ10bmlG1H/5rhODb7hJuWyKWMD8GflpQzRmbMVqkFp3fKvN+U9tPwZItGVhkiOR+84PX3ew==";
       };
     };
-    "google-gax-2.29.6" = {
+    "google-gax-2.30.2" = {
       name = "google-gax";
       packageName = "google-gax";
-      version = "2.29.6";
+      version = "2.30.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.29.6.tgz";
-        sha512 = "NsuGBpxOzvBS4rbaeicIpgZ1caU3vNcG04kJWb51rlcYJvzXwHgPof9w4UplR2WVqlFzLkDtEStQOKhS/QcLmA==";
+        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.30.2.tgz";
+        sha512 = "BCNCT26kb0iC52zj2SosyOZMhI5sVfXuul1h0Aw5uT9nGAbmS5eOvQ49ft53ft6XotDj11sUSDV6XESEiQqCqg==";
       };
     };
     "google-p12-pem-3.1.4" = {
@@ -32328,24 +32292,6 @@ let
         sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
       };
     };
-    "graceful-fs-1.2.3" = {
-      name = "graceful-fs";
-      packageName = "graceful-fs";
-      version = "1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-      };
-    };
-    "graceful-fs-2.0.3" = {
-      name = "graceful-fs";
-      packageName = "graceful-fs";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz";
-        sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0";
-      };
-    };
     "graceful-fs-3.0.12" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
@@ -32373,22 +32319,13 @@ let
         sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
       };
     };
-    "grammy-1.7.1" = {
-      name = "grammy";
-      packageName = "grammy";
-      version = "1.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/grammy/-/grammy-1.7.1.tgz";
-        sha512 = "7a4mFIGpFZgjk1G+CbFudOX8y8J5HzHkP19eYuEcv1Dif5IITYVDoQxa5GTORL6dsmmQ/sdZQ3QXuT1DMq6gbg==";
-      };
-    };
-    "grammy-1.7.3" = {
+    "grammy-1.8.2" = {
       name = "grammy";
       packageName = "grammy";
-      version = "1.7.3";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/grammy/-/grammy-1.7.3.tgz";
-        sha512 = "vODORSFt3lHInoHB5dWKXKF1zwGAd4JogQrtkczCVCyjLkqhED3OZjOOxeMI2mQxuGYiiCPyjUomRpzqP+KoTQ==";
+        url = "https://registry.npmjs.org/grammy/-/grammy-1.8.2.tgz";
+        sha512 = "mD3E/QxYJYfT8jPxWDxJPszVQteMtPoLHAMvXT1EsjEBvxCbrFVg5U3TKaA6Xgl6fhinBcv2yFT6tWw3h+xJzQ==";
       };
     };
     "grant-4.7.0" = {
@@ -32634,13 +32571,13 @@ let
         sha512 = "sHkK9+lUm20/BGawNEWNtVAeJzhZeBg21VmvmLoT5NdGVeZWv5PdIhkcayQIAgjSyyQ17WMKmbDijIPG2On+Ag==";
       };
     };
-    "graphql-ws-5.7.0" = {
+    "graphql-ws-5.8.1" = {
       name = "graphql-ws";
       packageName = "graphql-ws";
-      version = "5.7.0";
+      version = "5.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.7.0.tgz";
-        sha512 = "8yYuvnyqIjlJ/WfebOyu2GSOQeFauRxnfuTveY9yvrDGs2g3kR9Nv4gu40AKvRHbXlSJwTbMJ6dVxAtEyKwVRA==";
+        url = "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.8.1.tgz";
+        sha512 = "UVf/fxlHultC1+12tX9ShTIipqQFNZ96g7N51RFQlk7MFPsDUUMCR3QXVEzHEd5xlTp16rs5vCyfBljvcPN3fA==";
       };
     };
     "gray-matter-4.0.3" = {
@@ -32958,13 +32895,13 @@ let
         sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
       };
     };
-    "has-bigints-1.0.1" = {
+    "has-bigints-1.0.2" = {
       name = "has-bigints";
       packageName = "has-bigints";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz";
-        sha512 = "LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==";
+        url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz";
+        sha512 = "tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==";
       };
     };
     "has-binary-data-0.1.1" = {
@@ -33732,15 +33669,6 @@ let
         sha512 = "/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==";
       };
     };
-    "home-dir-1.0.0" = {
-      name = "home-dir";
-      packageName = "home-dir";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/home-dir/-/home-dir-1.0.0.tgz";
-        sha1 = "2917eb44bdc9072ceda942579543847e3017fe4e";
-      };
-    };
     "homedir-polyfill-1.0.3" = {
       name = "homedir-polyfill";
       packageName = "homedir-polyfill";
@@ -34299,13 +34227,13 @@ let
         sha512 = "13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==";
       };
     };
-    "http-proxy-middleware-2.0.4" = {
+    "http-proxy-middleware-2.0.6" = {
       name = "http-proxy-middleware";
       packageName = "http-proxy-middleware";
-      version = "2.0.4";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz";
-        sha512 = "m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg==";
+        url = "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz";
+        sha512 = "ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==";
       };
     };
     "http-signature-0.11.0" = {
@@ -35298,15 +35226,6 @@ let
         sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
       };
     };
-    "inherits-1.0.2" = {
-      name = "inherits";
-      packageName = "inherits";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz";
-        sha1 = "ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b";
-      };
-    };
     "inherits-2.0.1" = {
       name = "inherits";
       packageName = "inherits";
@@ -35559,6 +35478,15 @@ let
         sha512 = "pG7I/si6K/0X7p1qU+rfWnpTE1UIkTONN1wxtzh0d+dHXtT/JG6qBgLxoyHVsQa8cFABxAPh0pD6uUUHiAoaow==";
       };
     };
+    "inquirer-8.2.4" = {
+      name = "inquirer";
+      packageName = "inquirer";
+      version = "8.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz";
+        sha512 = "nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==";
+      };
+    };
     "inquirer-autocomplete-prompt-1.4.0" = {
       name = "inquirer-autocomplete-prompt";
       packageName = "inquirer-autocomplete-prompt";
@@ -35901,6 +35829,15 @@ let
         sha512 = "097isfZK3qaDJXQOEqTr3IfnrFZnGCAsbyqWNHAESdG12vBC39dprZWFwPLtnv7I8exhJG6WFFlaC51qaJan/w==";
       };
     };
+    "invoices-2.0.6" = {
+      name = "invoices";
+      packageName = "invoices";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invoices/-/invoices-2.0.6.tgz";
+        sha512 = "adGV6WmSItMWzuZXmgR2sbaiLKXMg4YTybNgmSc+TsNDCVgTFluJFUWaihyn1ewK483z6/vNZ9VMP2tYw5tMug==";
+      };
+    };
     "iota-array-1.0.0" = {
       name = "iota-array";
       packageName = "iota-array";
@@ -35928,13 +35865,13 @@ let
         sha512 = "u9YYtb1p2fWSbzpKmZ/b3QXWA+diRYPxc2c4y5lFB/MMk5WZ7wNZv8S3CFcIGVJ5XtlaCAl/FQy/D3eQ2XtdOA==";
       };
     };
-    "ip-num-1.3.4" = {
+    "ip-num-1.4.0" = {
       name = "ip-num";
       packageName = "ip-num";
-      version = "1.3.4";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ip-num/-/ip-num-1.3.4.tgz";
-        sha512 = "ZlO1YqjR87dsMFTxUJGj1iZR+UV+0QHWeOAMZfTBpGocBsKGc7fJdlFoa7F5xpK/guKW7dkfT6UAVDwvWjLK1Q==";
+        url = "https://registry.npmjs.org/ip-num/-/ip-num-1.4.0.tgz";
+        sha512 = "MP+gq4uBvrvm+G7EwP14GcJeFK49/p6sZrNOarMUoExLRodULJQM8mnkb/SbT1YKxRsZfh8rgwei2pUJIa35jA==";
       };
     };
     "ip-regex-2.1.0" = {
@@ -36351,13 +36288,13 @@ let
         sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345";
       };
     };
-    "is-core-module-2.8.1" = {
+    "is-core-module-2.9.0" = {
       name = "is-core-module";
       packageName = "is-core-module";
-      version = "2.8.1";
+      version = "2.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz";
-        sha512 = "SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==";
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz";
+        sha512 = "+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==";
       };
     };
     "is-data-descriptor-0.1.4" = {
@@ -37854,13 +37791,13 @@ let
         sha512 = "eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==";
       };
     };
-    "istanbul-lib-instrument-5.1.0" = {
+    "istanbul-lib-instrument-5.2.0" = {
       name = "istanbul-lib-instrument";
       packageName = "istanbul-lib-instrument";
-      version = "5.1.0";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz";
-        sha512 = "czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==";
+        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz";
+        sha512 = "6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==";
       };
     };
     "isuri-2.0.3" = {
@@ -37935,6 +37872,15 @@ let
         sha512 = "R2SE/AQrE4IhlyRbBp7ASIjFO+Wlpfra2Q7GMZkOjQb890MLtKyINPawJ7fr+Z7CPgHoXj2J3BNyebBIbVn8PQ==";
       };
     };
+    "iterm2-version-4.2.0" = {
+      name = "iterm2-version";
+      packageName = "iterm2-version";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iterm2-version/-/iterm2-version-4.2.0.tgz";
+        sha512 = "IoiNVk4SMPu6uTcK+1nA5QaHNok2BMDLjSl5UomrOixe5g4GkylhPwuiGdw00ysSCrXAKNMfFTu+u/Lk5f6OLQ==";
+      };
+    };
     "jade-0.26.3" = {
       name = "jade";
       packageName = "jade";
@@ -37962,13 +37908,13 @@ let
         sha512 = "M0c7cKHmdyEUtjemnJyx/y9uX16XHocL46yQvyqDlPdvAcwPDbHrIbKjQdBqtiE4apQ/9dmr+ZLJYYPGnurgpw==";
       };
     };
-    "jake-10.8.4" = {
+    "jake-10.8.5" = {
       name = "jake";
       packageName = "jake";
-      version = "10.8.4";
+      version = "10.8.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jake/-/jake-10.8.4.tgz";
-        sha512 = "MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==";
+        url = "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz";
+        sha512 = "sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==";
       };
     };
     "javascript-stringify-2.1.0" = {
@@ -38007,6 +37953,15 @@ let
         sha512 = "dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==";
       };
     };
+    "jest-image-snapshot-4.2.0" = {
+      name = "jest-image-snapshot";
+      packageName = "jest-image-snapshot";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-image-snapshot/-/jest-image-snapshot-4.2.0.tgz";
+        sha512 = "6aAqv2wtfOgxiJeBayBCqHo1zX+A12SUNNzo7rIxiXh6W6xYVu8QyHWkada8HeRi+QUTHddp0O0Xa6kmQr+xbQ==";
+      };
+    };
     "jest-message-util-27.5.1" = {
       name = "jest-message-util";
       packageName = "jest-message-util";
@@ -38214,12 +38169,12 @@ let
         sha1 = "f6f9f099f9882bad84585c6b1004344d6fadb33c";
       };
     };
-    "jpgjs-git://github.com/notmasteryet/jpgjs" = {
+    "jpgjs-git+https://github.com/notmasteryet/jpgjs" = {
       name = "jpgjs";
       packageName = "jpgjs";
       version = "1.0.0";
       src = fetchgit {
-        url = "git://github.com/notmasteryet/jpgjs";
+        url = "https://github.com/notmasteryet/jpgjs";
         rev = "f1d30922fda93417669246f5a25cf2393dd9c108";
         sha256 = "c1b7d85fad2ff0b6a2d1ed1140142c0450e3240a371703ad66d60cb3b5f612b6";
       };
@@ -38305,6 +38260,15 @@ let
         sha512 = "X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==";
       };
     };
+    "js-md5-0.7.3" = {
+      name = "js-md5";
+      packageName = "js-md5";
+      version = "0.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz";
+        sha512 = "ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==";
+      };
+    };
     "js-message-1.0.7" = {
       name = "js-message";
       packageName = "js-message";
@@ -38341,6 +38305,15 @@ let
         sha512 = "gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==";
       };
     };
+    "js-sha512-0.8.0" = {
+      name = "js-sha512";
+      packageName = "js-sha512";
+      version = "0.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-sha512/-/js-sha512-0.8.0.tgz";
+        sha512 = "PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ==";
+      };
+    };
     "js-string-escape-1.0.1" = {
       name = "js-string-escape";
       packageName = "js-string-escape";
@@ -38566,49 +38539,49 @@ let
         sha512 = "xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==";
       };
     };
-    "jsii-1.56.0" = {
+    "jsii-1.57.0" = {
       name = "jsii";
       packageName = "jsii";
-      version = "1.56.0";
+      version = "1.57.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii/-/jsii-1.56.0.tgz";
-        sha512 = "G1etNH8JRSfSlgicTBYsi/yVUxxreMnWYwAtXN6BH/sIiv5o6gFnYkumF2x+OTqmQAkKj1NxSssn5icvOrONzA==";
+        url = "https://registry.npmjs.org/jsii/-/jsii-1.57.0.tgz";
+        sha512 = "r9U1+vAfYlKgJ4FnBmf8Fj/VP+ngx/uSi3FxH9BL2KrCS0PBcHml5YXsH9pBGfCSrDQvOxULlONnw+RqEbI1Lw==";
       };
     };
-    "jsii-pacmak-1.56.0" = {
+    "jsii-pacmak-1.57.0" = {
       name = "jsii-pacmak";
       packageName = "jsii-pacmak";
-      version = "1.56.0";
+      version = "1.57.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.56.0.tgz";
-        sha512 = "7Sk+LHZ98G6G82FZdaUbZU38N/ZSve2kjp0pInkjw3TQUGfO9IdI7EhH5eEUeGO2maTzxIcgn8ZElASUsXk8gA==";
+        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.57.0.tgz";
+        sha512 = "yUIuhVqovNEE8Oq0BKVauiv1/5AT1JguhsuKkB4AWTxdkXHxOkv4eVA/w4jiCBaGjbwVg7BjgWR8zuMuNCU98w==";
       };
     };
-    "jsii-reflect-1.56.0" = {
+    "jsii-reflect-1.57.0" = {
       name = "jsii-reflect";
       packageName = "jsii-reflect";
-      version = "1.56.0";
+      version = "1.57.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.56.0.tgz";
-        sha512 = "OGpINABFiiwnvndlLjJU3mZSaXwzyuLyIkKidAV24PLS5XkFZYKXlA+Qz6HA8AWdDNJVCW0S9AbAr3Ab4J6QDQ==";
+        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.57.0.tgz";
+        sha512 = "aSmEAxxBjyrdTnzzFx1O0Q+6D8pi1jwIB7LTvdlPQMy8GuLqO8K3nAiZPjfnNpzKBM65iJKFY3I5XNjJf2iIfA==";
       };
     };
-    "jsii-rosetta-1.56.0" = {
+    "jsii-rosetta-1.57.0" = {
       name = "jsii-rosetta";
       packageName = "jsii-rosetta";
-      version = "1.56.0";
+      version = "1.57.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.56.0.tgz";
-        sha512 = "aeFHXnO9hQXirgLjYqYMoAdvBGnpLOEhRVe4w7RuYjaqwsIPof4xIfSj2YvNQ9ZAWalYpg1Tm8kiLeWEyEeX6w==";
+        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.57.0.tgz";
+        sha512 = "ey0tBYk6or4CGkgiP+Ox+9Qxf2HD0KZnqr2dN4hpu8aiyZRJYinktaL/ryARM89EqhfpHKrgHAPD11RPDhFo9w==";
       };
     };
-    "jsii-srcmak-0.1.531" = {
+    "jsii-srcmak-0.1.548" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.531";
+      version = "0.1.548";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.531.tgz";
-        sha512 = "Ol0Lo1h03APM5zhVwGVaBgdzZbJb+o6D3cch9J9TEjSXOcQH/G64txSb/L2afLskqca3mj4ClCcli2XSwZv3FA==";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.548.tgz";
+        sha512 = "T04iUa1449ajETALwI0QNiCy+ePrhU21cyGzcVrhF4dRTnfQeNwQkWZkcc6QIoL6rg/m9zuuxJl5wZaHDDXqhA==";
       };
     };
     "json-bigint-1.0.0" = {
@@ -38836,15 +38809,6 @@ let
         sha1 = "28e4ffd51c8d893295280eb4064d9703594de5a2";
       };
     };
-    "json-source-map-0.6.1" = {
-      name = "json-source-map";
-      packageName = "json-source-map";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-source-map/-/json-source-map-0.6.1.tgz";
-        sha512 = "1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg==";
-      };
-    };
     "json-stable-stringify-0.0.1" = {
       name = "json-stable-stringify";
       packageName = "json-stable-stringify";
@@ -38908,13 +38872,13 @@ let
         sha512 = "YRZbUnyaJZLZUJSRi2G/MqahCyRv9n/ds+4oIetjDF3jWQA7AG7iSeKTiZiCNqtMZM7HDyt0e/W6lEnoGEmMGA==";
       };
     };
-    "json2jsii-0.2.192" = {
+    "json2jsii-0.2.207" = {
       name = "json2jsii";
       packageName = "json2jsii";
-      version = "0.2.192";
+      version = "0.2.207";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.192.tgz";
-        sha512 = "6Hwlnu4J4toplfk10/lzWZV8EwwgGZiclQDqKm8CX0ghmwE7kHsD8JUIjZbdVvcb1l+s1epXUCnEmKthv0nZdQ==";
+        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.207.tgz";
+        sha512 = "WhmFUfUX/iOqoFaZiFqsWRzIz4LohsPzhf7IcosE6Ap94bpQ+i1dwHn1mjuSJDx8tzCCyE80h5h0zRADX0berA==";
       };
     };
     "json3-3.2.6" = {
@@ -39313,13 +39277,13 @@ let
         sha512 = "xtgnwBBZaLtKspGo6jDX/H0FDsHrn41mQVWhNHge7pZe6Nj2gU2izfC09O0rPU/i97iMcJFVjbecFiTAvmNhLQ==";
       };
     };
-    "just-diff-5.0.1" = {
+    "just-diff-5.0.2" = {
       name = "just-diff";
       packageName = "just-diff";
-      version = "5.0.1";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/just-diff/-/just-diff-5.0.1.tgz";
-        sha512 = "X00TokkRIDotUIf3EV4xUm6ELc/IkqhS/vPSHdWnsM5y0HoNMfEqrazizI7g78lpHvnRSRt/PFfKtRqJCOGIuQ==";
+        url = "https://registry.npmjs.org/just-diff/-/just-diff-5.0.2.tgz";
+        sha512 = "uGd6F+eIZ4T95EinP8ubINGkbEy3jrgBym+6LjW+ja1UG1WQIcEcQ6FLeyXtVJZglk+bj7fvEn+Cu2LBxkgiYQ==";
       };
     };
     "just-diff-apply-5.2.0" = {
@@ -39484,6 +39448,15 @@ let
         sha512 = "hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==";
       };
     };
+    "keccak-3.0.1" = {
+      name = "keccak";
+      packageName = "keccak";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz";
+        sha512 = "epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==";
+      };
+    };
     "keccak-3.0.2" = {
       name = "keccak";
       packageName = "keccak";
@@ -40186,6 +40159,15 @@ let
         sha512 = "OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==";
       };
     };
+    "level-concat-iterator-3.1.0" = {
+      name = "level-concat-iterator";
+      packageName = "level-concat-iterator";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz";
+        sha512 = "BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ==";
+      };
+    };
     "level-errors-2.0.1" = {
       name = "level-errors";
       packageName = "level-errors";
@@ -40258,6 +40240,15 @@ let
         sha512 = "rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==";
       };
     };
+    "level-supports-2.1.0" = {
+      name = "level-supports";
+      packageName = "level-supports";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/level-supports/-/level-supports-2.1.0.tgz";
+        sha512 = "E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA==";
+      };
+    };
     "leveldown-5.6.0" = {
       name = "leveldown";
       packageName = "leveldown";
@@ -40267,6 +40258,15 @@ let
         sha512 = "iB8O/7Db9lPaITU1aA2txU/cBEXAt4vWwKQRrrWuS6XDgbP4QZGj9BL2aNbwb002atoQ/lIotJkfyzz+ygQnUQ==";
       };
     };
+    "leveldown-6.1.0" = {
+      name = "leveldown";
+      packageName = "leveldown";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/leveldown/-/leveldown-6.1.0.tgz";
+        sha512 = "8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w==";
+      };
+    };
     "levelup-4.4.0" = {
       name = "levelup";
       packageName = "levelup";
@@ -40456,22 +40456,22 @@ let
         sha512 = "dIrN4vPzmzq9DaMD6c+9DqQwJCMl1lOleWrhIrv+HIpzq6rdNJvUXaVJOFz1OV8P3zy2Q3+s9VxnzeN70ee+ow==";
       };
     };
-    "lightning-5.8.2" = {
+    "lightning-5.14.0" = {
       name = "lightning";
       packageName = "lightning";
-      version = "5.8.2";
+      version = "5.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lightning/-/lightning-5.8.2.tgz";
-        sha512 = "ryJlD9qhbUSq4ZS6Q0WXnTgmj3IMqN1iBfUJoGAMzSbSGZAS8E8eejci88naBbbDA0N34hALpSsa5Ok7JayAdQ==";
+        url = "https://registry.npmjs.org/lightning/-/lightning-5.14.0.tgz";
+        sha512 = "T8NGH6F+t4sajEbC3CT2MbjqGyzTu0fH/X/UnnO8YlKoSUlU3Y9LFkmQDjMyDkxWN+peJmUQt8Em+OZu5XHLaw==";
       };
     };
-    "lightning-5.8.6" = {
+    "lightning-5.8.2" = {
       name = "lightning";
       packageName = "lightning";
-      version = "5.8.6";
+      version = "5.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lightning/-/lightning-5.8.6.tgz";
-        sha512 = "qiKxXH81vfxJdR1TbY095IKjD7kwbiWbdGcGHs1GMaAxxcGo/iqf5F+VDWHwGjSlPMohMI827vN0JHqZQKcojA==";
+        url = "https://registry.npmjs.org/lightning/-/lightning-5.8.2.tgz";
+        sha512 = "ryJlD9qhbUSq4ZS6Q0WXnTgmj3IMqN1iBfUJoGAMzSbSGZAS8E8eejci88naBbbDA0N34hALpSsa5Ok7JayAdQ==";
       };
     };
     "lightning-5.9.0" = {
@@ -40654,13 +40654,13 @@ let
         sha512 = "q7Z71n3i4X0R9xthAryBdNGVGAO2R5X+/xXpmKeuPMrteg+W2U8VusTKV3YiJbXZwKsOlFlHe+go6uSNjfxrZw==";
       };
     };
-    "livereload-js-3.3.3" = {
+    "livereload-js-3.4.0" = {
       name = "livereload-js";
       packageName = "livereload-js";
-      version = "3.3.3";
+      version = "3.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/livereload-js/-/livereload-js-3.3.3.tgz";
-        sha512 = "a7Jipme3XIBIryJluWP5LQrEAvhobDPyScBe+q+MYwxBiMT2Ck7msy4tAdF8TAa33FMdJqX4guP81Yhiu6BkmQ==";
+        url = "https://registry.npmjs.org/livereload-js/-/livereload-js-3.4.0.tgz";
+        sha512 = "F/pz9ZZP+R+arY94cECTZco7PXgBXyL+KVWUPZq8AQE9TOu14GV6fYeKOviv02JCvFa4Oi3Rs1hYEpfeajc+ow==";
       };
     };
     "lmdb-2.2.4" = {
@@ -40672,67 +40672,67 @@ let
         sha512 = "gto+BB2uEob8qRiTlOq+R3uX0YNHsX9mjxj9Sbdue/LIKqu6IlZjrsjKeGyOMquc/474GEqFyX2pdytpydp0rQ==";
       };
     };
-    "lmdb-2.3.3" = {
+    "lmdb-2.3.8" = {
       name = "lmdb";
       packageName = "lmdb";
-      version = "2.3.3";
+      version = "2.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lmdb/-/lmdb-2.3.3.tgz";
-        sha512 = "CrooSvHOzd+jPXCXpiffu2+5m90Fe6L/cw90fg+4sCWNrw3W7/ad20CGuTkMVU7mAuwXEAJAfnUwvHN2pS9Rqg==";
+        url = "https://registry.npmjs.org/lmdb/-/lmdb-2.3.8.tgz";
+        sha512 = "SoYYrcmJWJgIG4PSkVJiXot3m9035zE0FRUgqhgzZIO6LnikbORzBznxbSrN7SaogR95w9lgTm+LwW+Os4mN5Q==";
       };
     };
-    "lmdb-darwin-arm64-2.3.2" = {
+    "lmdb-darwin-arm64-2.3.8" = {
       name = "lmdb-darwin-arm64";
       packageName = "lmdb-darwin-arm64";
-      version = "2.3.2";
+      version = "2.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.3.2.tgz";
-        sha512 = "20lWWUPGKnSZRFY8FBm+vZEFx/5Deh0joz6cqJ8/0SuO/ejqRCppSsNqAxPqW87KUNR5rNfhaA2oRekMeb0cwQ==";
+        url = "https://registry.npmjs.org/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.3.8.tgz";
+        sha512 = "QFFnLQlQn1WjSyWSKU4pdOQNPLea2/iL8LcR979LGp3y4OKmuC9fNLIiCTqp+t5QBVBOKfJZ8sqFd/5KHmDFYg==";
       };
     };
-    "lmdb-darwin-x64-2.3.2" = {
+    "lmdb-darwin-x64-2.3.8" = {
       name = "lmdb-darwin-x64";
       packageName = "lmdb-darwin-x64";
-      version = "2.3.2";
+      version = "2.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lmdb-darwin-x64/-/lmdb-darwin-x64-2.3.2.tgz";
-        sha512 = "BsBnOfgK1B11Dh4RgcgBTmkmsPv3mjBPKsA4W4E+18SW9K2aRi86CAMPXqjfY/OJDUe1pSrpVf1A83b8N/C9rg==";
+        url = "https://registry.npmjs.org/lmdb-darwin-x64/-/lmdb-darwin-x64-2.3.8.tgz";
+        sha512 = "cPVym3ZUXJurjv9YnZ40fsJuszPzn8mvIWjcqZuhXonUXAgSxvGloAwH5HCtFF7oIT6r/iXZejfgVL1MbM97tw==";
       };
     };
-    "lmdb-linux-arm-2.3.2" = {
+    "lmdb-linux-arm-2.3.8" = {
       name = "lmdb-linux-arm";
       packageName = "lmdb-linux-arm";
-      version = "2.3.2";
+      version = "2.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lmdb-linux-arm/-/lmdb-linux-arm-2.3.2.tgz";
-        sha512 = "ofxfxVQqMbaC2Ygjzk8k6xgS5Dg/3cANeLcEx14T35GoU5pQKlLAWjypptyLQEeOboEmEOpZmHMoD7sWu/zakQ==";
+        url = "https://registry.npmjs.org/lmdb-linux-arm/-/lmdb-linux-arm-2.3.8.tgz";
+        sha512 = "jriO1nsPIPEBZjJ4OgshLRmi1br5E6CWnPTwSz3XO1UvDh6GEj87IL/brQxJq6HlpUj01wrQCqpvJMBTMtk+Ew==";
       };
     };
-    "lmdb-linux-arm64-2.3.2" = {
+    "lmdb-linux-arm64-2.3.8" = {
       name = "lmdb-linux-arm64";
       packageName = "lmdb-linux-arm64";
-      version = "2.3.2";
+      version = "2.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lmdb-linux-arm64/-/lmdb-linux-arm64-2.3.2.tgz";
-        sha512 = "DIibLZHpwwlIsP9cBRmw0xqDy6wZH+CDAnOTI+eihQ5PdWjTs+kaQs5O/x8l6/8fwCB0TPYKWTqfdUbvd/F7AA==";
+        url = "https://registry.npmjs.org/lmdb-linux-arm64/-/lmdb-linux-arm64-2.3.8.tgz";
+        sha512 = "9kgNOm7xhGmji2pH4UgeBbojBuH+0KeJ7C51kL7zEBxVXB/xD3IMZV42+MdSFzJJcmgEe3XuIdxt/TFSXhEEIw==";
       };
     };
-    "lmdb-linux-x64-2.3.2" = {
+    "lmdb-linux-x64-2.3.8" = {
       name = "lmdb-linux-x64";
       packageName = "lmdb-linux-x64";
-      version = "2.3.2";
+      version = "2.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lmdb-linux-x64/-/lmdb-linux-x64-2.3.2.tgz";
-        sha512 = "HBUd013RRQ2KpiyBqqqSPSEwPpVUpTJZdTZGDVQFQZuxqyJumt4Wye3uh6ZgEiBtxzSelt4xvAeNjYPH0dcZSQ==";
+        url = "https://registry.npmjs.org/lmdb-linux-x64/-/lmdb-linux-x64-2.3.8.tgz";
+        sha512 = "qTdGkBKhuROMNxrOsI31YInjBEr3b29tI80XutD3kcO3UgBXE/I1Jy57WOde6ghEdPlfh3pkycme6+Q+tsmhyA==";
       };
     };
-    "lmdb-win32-x64-2.3.2" = {
+    "lmdb-win32-x64-2.3.8" = {
       name = "lmdb-win32-x64";
       packageName = "lmdb-win32-x64";
-      version = "2.3.2";
+      version = "2.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lmdb-win32-x64/-/lmdb-win32-x64-2.3.2.tgz";
-        sha512 = "/hir5oU+GYm7/B6QirrpyOmIuzCKiIbWoKIJI2ebXeJlrs6Jj7UY9caPBYVkCzd79QzJnB7hIlX/F6Jx6gcUmg==";
+        url = "https://registry.npmjs.org/lmdb-win32-x64/-/lmdb-win32-x64-2.3.8.tgz";
+        sha512 = "IalYsXztvgjjPmXxFEkmZ3Tio0QmDCOxYBgxQDvAghpqa4RwufbS6unbkxO+aYK6ZWjzEZbsNKFSSb/vVgkn2A==";
       };
     };
     "ln-accounting-5.0.6" = {
@@ -40762,40 +40762,22 @@ let
         sha512 = "qdsgLRFGdn8+zfSDgbGw584fS2QQromxp4VRXzj9nk3qveTD6IwBjaEhC1xtY73MQCHQ3ALkWVn3aYMoy5erFw==";
       };
     };
-    "ln-service-53.9.3" = {
+    "ln-service-53.15.0" = {
       name = "ln-service";
       packageName = "ln-service";
-      version = "53.9.3";
+      version = "53.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.9.3.tgz";
-        sha512 = "vB7pnTJveZSMHbyO6qyGbxNqo+rNTYexb3PONon2+Ow4fBUQW5eeBTj+LguuQdN7AgpXX/PHZUQM0TPFeHlVWw==";
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.15.0.tgz";
+        sha512 = "7WHV5uP0BrnXX3me4OsdaFI8J81LMJRENCREbxR/CQuvLW6rvLe0KlZmuLVBxwVAYKcXc0CcfiZPX0js2+8NKA==";
       };
     };
-    "ln-service-53.9.4" = {
+    "ln-service-53.9.3" = {
       name = "ln-service";
       packageName = "ln-service";
-      version = "53.9.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.9.4.tgz";
-        sha512 = "JHPpLaJJ3LSyytDdor9V5GQViEI06kZlxtE6SJeyL+/KAL+feC6Iz/6AlE39pmb1ymm1/CihtSeYcQmgreXlgA==";
-      };
-    };
-    "ln-sync-3.11.0" = {
-      name = "ln-sync";
-      packageName = "ln-sync";
-      version = "3.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-3.11.0.tgz";
-        sha512 = "YqtS0v6zsDvv7rA51bSbXnB7Il4HQida+FpPD9KTAXdEiJW1L/NiyV4B+oosaygdUbT2oYgM3xw++L7XVBkPvA==";
-      };
-    };
-    "ln-sync-3.11.1" = {
-      name = "ln-sync";
-      packageName = "ln-sync";
-      version = "3.11.1";
+      version = "53.9.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-3.11.1.tgz";
-        sha512 = "KTMnSjKN5g4fE3M+axLWLJO6DGyzZ/UroKaV4fNxjqvKJrBY9XpXhHqJCAbzzJiN4Ff3CjoSUCjiDqJdDe1A4w==";
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.9.3.tgz";
+        sha512 = "vB7pnTJveZSMHbyO6qyGbxNqo+rNTYexb3PONon2+Ow4fBUQW5eeBTj+LguuQdN7AgpXX/PHZUQM0TPFeHlVWw==";
       };
     };
     "ln-sync-3.12.0" = {
@@ -40807,13 +40789,13 @@ let
         sha512 = "+TFRyMVvUU9jAqRGPiawPY8cGSmfd2bKfofGsH95zTlQ4DeQLYyEPFxzqJZrkmddqdohfuF0XVW9y7+4v4eq5A==";
       };
     };
-    "ln-telegram-3.21.1" = {
+    "ln-telegram-3.21.4" = {
       name = "ln-telegram";
       packageName = "ln-telegram";
-      version = "3.21.1";
+      version = "3.21.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.21.1.tgz";
-        sha512 = "xvTNSaM8fG/jnORTPnpU6+righKsqaYNyS1NR4NseqnS3fM5vshsCb+do5mY1R3BNh8Fp6CDT+agakF7hVlFDg==";
+        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.21.4.tgz";
+        sha512 = "h3EpnHptvIDF+9H9hvaHGMNHkvYNSnXLLhOL5S6RBfFSl0rcQW0tB/fkxBOHB8//3Ich3AvBJMiISabA6m2ckg==";
       };
     };
     "load-bmfont-1.4.1" = {
@@ -41752,15 +41734,6 @@ let
         sha1 = "0a11ba631d0e95c23c7f2f4cbb9a692ed178e705";
       };
     };
-    "lodash.isarguments-2.4.1" = {
-      name = "lodash.isarguments";
-      packageName = "lodash.isarguments";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-2.4.1.tgz";
-        sha1 = "4931a9c08253adf091ae7ca192258a973876ecca";
-      };
-    };
     "lodash.isarguments-3.1.0" = {
       name = "lodash.isarguments";
       packageName = "lodash.isarguments";
@@ -42229,15 +42202,6 @@ let
         sha1 = "a3a17bbf62eeb6240f491846e97c1c4e2a5e1e21";
       };
     };
-    "lodash.values-2.4.1" = {
-      name = "lodash.values";
-      packageName = "lodash.values";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz";
-        sha1 = "abf514436b3cb705001627978cbcf30b1280eea4";
-      };
-    };
     "lodash.zip-4.2.0" = {
       name = "lodash.zip";
       packageName = "lodash.zip";
@@ -42346,13 +42310,13 @@ let
         sha512 = "ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==";
       };
     };
-    "log-update-5.0.0" = {
+    "log-update-5.0.1" = {
       name = "log-update";
       packageName = "log-update";
-      version = "5.0.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/log-update/-/log-update-5.0.0.tgz";
-        sha512 = "HovF3knyZX9sleS0OkSJ6f53JEpbzcbomC6/WJ3iuGK8i6CRb6WZ542gO2F3pdQK8hwlijddDefVFhlMpwkOSQ==";
+        url = "https://registry.npmjs.org/log-update/-/log-update-5.0.1.tgz";
+        sha512 = "5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==";
       };
     };
     "log4js-3.0.6" = {
@@ -42373,13 +42337,13 @@ let
         sha512 = "Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==";
       };
     };
-    "log4js-6.4.5" = {
+    "log4js-6.4.6" = {
       name = "log4js";
       packageName = "log4js";
-      version = "6.4.5";
+      version = "6.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/log4js/-/log4js-6.4.5.tgz";
-        sha512 = "43RJcYZ7nfUxpPO2woTl8CJ0t5+gucLJZ43mtp2PlInT+LygCp/bl6hNJtKulCJ+++fQsjIv4EO3Mp611PfeLQ==";
+        url = "https://registry.npmjs.org/log4js/-/log4js-6.4.6.tgz";
+        sha512 = "1XMtRBZszmVZqPAOOWczH+Q94AI42mtNWjvjA5RduKTSWjEc56uOBbyM1CJnfN4Ym0wSd8cQ43zOojlSHgRDAw==";
       };
     };
     "logform-2.4.0" = {
@@ -42733,13 +42697,13 @@ let
         sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
       };
     };
-    "lru-cache-7.8.1" = {
+    "lru-cache-7.9.0" = {
       name = "lru-cache";
       packageName = "lru-cache";
-      version = "7.8.1";
+      version = "7.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz";
-        sha512 = "E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==";
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-7.9.0.tgz";
+        sha512 = "lkcNMUKqdJk96TuIXUidxaPuEg5sJo/+ZyVE2BDFnuZGzwXem7d8582eG8vbu4todLfT14snP6iHriCHXXi5Rw==";
       };
     };
     "lru-queue-0.1.0" = {
@@ -42796,12 +42760,12 @@ let
         sha512 = "bu3/4/ApUmMqVNuIkHaRhqVtEi6didYcBDIF56xhPRCzVpdztCipZ62CUuaxMlMBUzaVL93+4LZRqe02fuAG6A==";
       };
     };
-    "luaparse-git://github.com/oxyc/luaparse#ac42a00ebf4020b8c9d3219e4b0f84bf7ce6e802" = {
+    "luaparse-git+https://github.com/oxyc/luaparse#ac42a00ebf4020b8c9d3219e4b0f84bf7ce6e802" = {
       name = "luaparse";
       packageName = "luaparse";
       version = "0.2.1";
       src = fetchgit {
-        url = "git://github.com/oxyc/luaparse";
+        url = "https://github.com/oxyc/luaparse";
         rev = "ac42a00ebf4020b8c9d3219e4b0f84bf7ce6e802";
         sha256 = "f813d671f8f8088d70d29f7a7770bdd5ed41ed97240ae9346d7ced0c094ee049";
       };
@@ -42815,13 +42779,13 @@ let
         sha512 = "zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==";
       };
     };
-    "luxon-2.3.1" = {
+    "luxon-2.3.2" = {
       name = "luxon";
       packageName = "luxon";
-      version = "2.3.1";
+      version = "2.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/luxon/-/luxon-2.3.1.tgz";
-        sha512 = "I8vnjOmhXsMSlNMZlMkSOvgrxKJl0uOsEzdGgGNZuZPaS9KlefpE9KV95QFftlJSC+1UyCC9/I69R02cz/zcCA==";
+        url = "https://registry.npmjs.org/luxon/-/luxon-2.3.2.tgz";
+        sha512 = "MlAQQVMFhGk4WUA6gpfsy0QycnKP0+NlCBJRVRNPxxSIbjrCbQ65nrpJD3FVyJNZLuJ0uoqL57ye6BmDYgHaSw==";
       };
     };
     "lzma-native-8.0.6" = {
@@ -43427,15 +43391,6 @@ let
         sha512 = "ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==";
       };
     };
-    "marked-2.1.3" = {
-      name = "marked";
-      packageName = "marked";
-      version = "2.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz";
-        sha512 = "/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==";
-      };
-    };
     "marked-4.0.14" = {
       name = "marked";
       packageName = "marked";
@@ -44336,6 +44291,15 @@ let
         sha512 = "ITSHjwVaby1Li738sxhF48sLTxcNyUAoWfoqyztL1f7J6JOLpHOuQPNLBb6lxGPUA0u7xP9IRULgvod0dKu35A==";
       };
     };
+    "mermaid-9.0.1" = {
+      name = "mermaid";
+      packageName = "mermaid";
+      version = "9.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mermaid/-/mermaid-9.0.1.tgz";
+        sha512 = "TXXffALLhCACez+MUky4cOOcGXEXiJhHwN8eRV7bBqD8F6KdcjssyPZClVgzrC2KQzSGLqQkj7ce8ea7MhWz+Q==";
+      };
+    };
     "meros-1.1.4" = {
       name = "meros";
       packageName = "meros";
@@ -44651,13 +44615,13 @@ let
         sha512 = "TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==";
       };
     };
-    "micromark-extension-mdxjs-esm-1.0.2" = {
+    "micromark-extension-mdxjs-esm-1.0.3" = {
       name = "micromark-extension-mdxjs-esm";
       packageName = "micromark-extension-mdxjs-esm";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.2.tgz";
-        sha512 = "bIaxblNIM+CCaJvp3L/V+168l79iuNmxEiTU6i3vB0YuDW+rumV64BFMxvhfRDxaJxQE1zD5vTPdyLBbW4efGA==";
+        url = "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz";
+        sha512 = "2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==";
       };
     };
     "micromark-factory-destination-1.0.0" = {
@@ -44777,13 +44741,13 @@ let
         sha512 = "U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==";
       };
     };
-    "micromark-util-events-to-acorn-1.0.4" = {
+    "micromark-util-events-to-acorn-1.0.6" = {
       name = "micromark-util-events-to-acorn";
       packageName = "micromark-util-events-to-acorn";
-      version = "1.0.4";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.0.4.tgz";
-        sha512 = "dpo8ecREK5s/KMph7jJ46RLM6g7N21CMc9LAJQbDLdbQnTpijigkSJPTIfLXZ+h5wdXlcsQ+b6ufAE9v76AdgA==";
+        url = "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.0.6.tgz";
+        sha512 = "+kUMe2kNGy4mljNVt+YmFfwomSIVqX3NI6ePrk6SIl/0GaR53a6eUIGmhV5DDUkbLPPNWgVFCS6ExOqb0WFgHQ==";
       };
     };
     "micromark-util-html-tag-name-1.0.0" = {
@@ -45722,13 +45686,13 @@ let
         sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
       };
     };
-    "moment-2.29.2" = {
+    "moment-2.29.3" = {
       name = "moment";
       packageName = "moment";
-      version = "2.29.2";
+      version = "2.29.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz";
-        sha512 = "UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==";
+        url = "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz";
+        sha512 = "c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==";
       };
     };
     "moment-2.7.0" = {
@@ -46028,13 +45992,13 @@ let
         sha512 = "VoY2AaoowHZLLKyEb5FRzuhdSzXn5quGjcMKJOJHJPxp9baYZx5t6jiHUhp5aNRlqqlt+5GXQGovMLNKsrm1hg==";
       };
     };
-    "msgpackr-1.5.5" = {
+    "msgpackr-1.5.6" = {
       name = "msgpackr";
       packageName = "msgpackr";
-      version = "1.5.5";
+      version = "1.5.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/msgpackr/-/msgpackr-1.5.5.tgz";
-        sha512 = "JG0V47xRIQ9pyUnx6Hb4+3TrQoia2nA3UIdmyTldhxaxtKFkekkKpUW/N6fwHwod9o4BGuJGtouxOk+yCP5PEA==";
+        url = "https://registry.npmjs.org/msgpackr/-/msgpackr-1.5.6.tgz";
+        sha512 = "Y1Ia1AYKcz30JOAUyyC0jCicI7SeP8NK+SVCGZIeLg2oQs28wSwW2GbHXktk4ZZmrq9/v2jU0JAbvbp2d1ewpg==";
       };
     };
     "msgpackr-extract-1.1.4" = {
@@ -46586,22 +46550,13 @@ let
         sha512 = "a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==";
       };
     };
-    "nanoid-3.3.1" = {
-      name = "nanoid";
-      packageName = "nanoid";
-      version = "3.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz";
-        sha512 = "n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==";
-      };
-    };
-    "nanoid-3.3.2" = {
+    "nanoid-3.3.3" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.3.2";
+      version = "3.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz";
-        sha512 = "CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz";
+        sha512 = "p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==";
       };
     };
     "nanoiterator-1.2.1" = {
@@ -46694,15 +46649,6 @@ let
         sha512 = "A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==";
       };
     };
-    "nash-3.0.0" = {
-      name = "nash";
-      packageName = "nash";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nash/-/nash-3.0.0.tgz";
-        sha512 = "M5SahEycXUmko3zOvsBkF6p94CWLhnyy9hfpQ9Qzp+rQkQ8D1OaTlfTl1OBWktq9Fak3oDXKU+ev7tiMaMu+1w==";
-      };
-    };
     "native-promise-only-0.8.1" = {
       name = "native-promise-only";
       packageName = "native-promise-only";
@@ -47253,15 +47199,6 @@ let
         sha512 = "oUqnng1vhKLaA4GR+OzVbLuZZ7OOguKCtMHxHMiyP8+9mXidKfoCyc030LbAyNI3xcgCHHyitK3Q8wP+w6DwVQ==";
       };
     };
-    "nocache-2.1.0" = {
-      name = "nocache";
-      packageName = "nocache";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nocache/-/nocache-2.1.0.tgz";
-        sha512 = "0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==";
-      };
-    };
     "node-abi-2.30.1" = {
       name = "node-abi";
       packageName = "node-abi";
@@ -47271,13 +47208,13 @@ let
         sha512 = "/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==";
       };
     };
-    "node-abi-3.8.0" = {
+    "node-abi-3.15.0" = {
       name = "node-abi";
       packageName = "node-abi";
-      version = "3.8.0";
+      version = "3.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.8.0.tgz";
-        sha512 = "tzua9qWWi7iW4I42vUPKM+SfaF0vQSLAm4yO5J83mSwB7GeoWrDKC/K+8YCnYNwqP5duwazbw2X9l4m8SC2cUw==";
+        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.15.0.tgz";
+        sha512 = "Ic6z/j6I9RLm4ov7npo1I48UQr2BEyFCqh6p7S1dhEx9jPO0GPGq/e2Rb7x7DroQrmiVMz/Bw1vJm9sPAl2nxA==";
       };
     };
     "node-abort-controller-3.0.1" = {
@@ -47469,13 +47406,13 @@ let
         sha512 = "ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==";
       };
     };
-    "node-fetch-3.2.3" = {
+    "node-fetch-3.2.4" = {
       name = "node-fetch";
       packageName = "node-fetch";
-      version = "3.2.3";
+      version = "3.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.3.tgz";
-        sha512 = "AXP18u4pidSZ1xYXRDPY/8jdv3RAozIt/WLNR/MBGZAz+xjtlr90RvCnsvHQRiXyWliZF/CpytExp32UU67/SA==";
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.4.tgz";
+        sha512 = "WvYJRN7mMyOLurFR2YpysQGuwYrJN+qrrpHjJDuKMcSPdfFccRUla/kng2mz6HWSBxJcqPbvatS6Gb4RhOzCJw==";
       };
     };
     "node-fetch-h2-2.3.0" = {
@@ -47595,6 +47532,15 @@ let
         sha512 = "dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==";
       };
     };
+    "node-gyp-build-4.3.0" = {
+      name = "node-gyp-build";
+      packageName = "node-gyp-build";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz";
+        sha512 = "iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==";
+      };
+    };
     "node-gyp-build-4.4.0" = {
       name = "node-gyp-build";
       packageName = "node-gyp-build";
@@ -47730,13 +47676,13 @@ let
         sha1 = "dbbd4af12134e2e635c245ef93ffcf6f60673a5d";
       };
     };
-    "node-red-admin-2.2.3" = {
+    "node-red-admin-2.2.4" = {
       name = "node-red-admin";
       packageName = "node-red-admin";
-      version = "2.2.3";
+      version = "2.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-admin/-/node-red-admin-2.2.3.tgz";
-        sha512 = "qKmnjR+TXJLk/aMUIW/x6I9P28b5BhlkvjNi1iZgfuVtI6wxRNpzpSUPtcOHvQTYxKdK6d5XGZdM6FD1Xy4nAg==";
+        url = "https://registry.npmjs.org/node-red-admin/-/node-red-admin-2.2.4.tgz";
+        sha512 = "DlJpMFopqBNj10k5rGGI9ZNBi+whAIS+IHrSZH1xllfuJKZxQBZgR+o+rJeufDyc0OBRgHRqmX776HrBrlDtMA==";
       };
     };
     "node-redis-pubsub-5.0.0" = {
@@ -47757,13 +47703,13 @@ let
         sha512 = "rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==";
       };
     };
-    "node-releases-2.0.3" = {
+    "node-releases-2.0.4" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz";
-        sha512 = "maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz";
+        sha512 = "gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==";
       };
     };
     "node-rsa-1.1.1" = {
@@ -48009,15 +47955,6 @@ let
         sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
       };
     };
-    "nopt-2.2.1" = {
-      name = "nopt";
-      packageName = "nopt";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz";
-        sha1 = "2aa09b7d1768487b3b89a9c5aa52335bff0baea7";
-      };
-    };
     "nopt-3.0.6" = {
       name = "nopt";
       packageName = "nopt";
@@ -48369,13 +48306,13 @@ let
         sha512 = "L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==";
       };
     };
-    "npm-packlist-5.0.0" = {
+    "npm-packlist-5.0.2" = {
       name = "npm-packlist";
       packageName = "npm-packlist";
-      version = "5.0.0";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.0.0.tgz";
-        sha512 = "uU20UwM4Hogfab1Q7htJbhcyafM9lGHxOrDjkKvR2S3z7Ds0uRaESk0cXctczk+ABT4DZWNwjB10xlurFdEwZg==";
+        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.0.2.tgz";
+        sha512 = "jLhcNisUgpz6v2KC75qSeEYAM8UBMYjQ2OhlCOJjB4Ovu7XXnD25UqZ6hOQNeGShL/2ju3LL2E/zBbsuzkIQ8w==";
       };
     };
     "npm-pick-manifest-6.1.1" = {
@@ -48405,15 +48342,6 @@ let
         sha1 = "e619455f7074ba54cc66d6d0d37dd9f1be6bcbc0";
       };
     };
-    "npm-registry-client-0.2.27" = {
-      name = "npm-registry-client";
-      packageName = "npm-registry-client";
-      version = "0.2.27";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.27.tgz";
-        sha1 = "8f338189d32769267886a07ad7b7fd2267446adf";
-      };
-    };
     "npm-registry-client-8.6.0" = {
       name = "npm-registry-client";
       packageName = "npm-registry-client";
@@ -48504,15 +48432,6 @@ let
         sha512 = "S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==";
       };
     };
-    "npmconf-0.1.1" = {
-      name = "npmconf";
-      packageName = "npmconf";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npmconf/-/npmconf-0.1.1.tgz";
-        sha1 = "7a254182591ca22d77b2faecc0d17e0f9bdf25a1";
-      };
-    };
     "npmconf-2.1.3" = {
       name = "npmconf";
       packageName = "npmconf";
@@ -48549,13 +48468,13 @@ let
         sha512 = "AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==";
       };
     };
-    "npmlog-6.0.1" = {
+    "npmlog-6.0.2" = {
       name = "npmlog";
       packageName = "npmlog";
-      version = "6.0.1";
+      version = "6.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npmlog/-/npmlog-6.0.1.tgz";
-        sha512 = "BTHDvY6nrRHuRfyjt1MAufLxYdVXZfd099H4+i1f0lPywNQyI4foeNXJRObB/uy+TYqUW0vAD9gbdSOXPst7Eg==";
+        url = "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz";
+        sha512 = "/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==";
       };
     };
     "nprogress-0.2.0" = {
@@ -49090,13 +49009,13 @@ let
         sha512 = "eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==";
       };
     };
-    "obliterator-2.0.2" = {
+    "obliterator-2.0.3" = {
       name = "obliterator";
       packageName = "obliterator";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/obliterator/-/obliterator-2.0.2.tgz";
-        sha512 = "g0TrA7SbUggROhDPK8cEu/qpItwH2LSKcNl4tlfBNT54XY+nOsqrs0Q68h1V9b3HOSpIWv15jb1lax2hAggdIg==";
+        url = "https://registry.npmjs.org/obliterator/-/obliterator-2.0.3.tgz";
+        sha512 = "qN5lHhArxl/789Bp3XCpssAYy7cvOdRzxzflmGEJaiipAT2b/USr1XvKjYyssPOwQ/3KjV1e8Ed9po9rie6E6A==";
       };
     };
     "observ-0.2.0" = {
@@ -49144,6 +49063,15 @@ let
         sha512 = "rH3U4eLHsV+OgkOS29ULiC9JLspwMCyCIH/+BglLPXDxQs13IK8AGD+nVmkGXqGN5JefZu85YhfIi05CsOKWPw==";
       };
     };
+    "obz-1.1.0" = {
+      name = "obz";
+      packageName = "obz";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/obz/-/obz-1.1.0.tgz";
+        sha512 = "cG6v76kgWh48urwdsFSkxQlKWCKFYkxZJMhOIG9Aj1uPKTnNW9Hvo/ROyBfGzqaZD3K75K3jhsanKssRPkNKYA==";
+      };
+    };
     "omggif-1.0.10" = {
       name = "omggif";
       packageName = "omggif";
@@ -49216,15 +49144,6 @@ let
         sha1 = "00d79d987dde7c8117bee74bb4903f6f6dafa52b";
       };
     };
-    "once-1.1.1" = {
-      name = "once";
-      packageName = "once";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/once/-/once-1.1.1.tgz";
-        sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
-      };
-    };
     "once-1.2.0" = {
       name = "once";
       packageName = "once";
@@ -49324,13 +49243,13 @@ let
         sha512 = "fvaSZRzprpwLFge/mcwE0CItfniNisVNamDdMK1FQUjh4ArQZ8ZWSkDaJbZc3XaANKZHq0xIa8NJpZ2HSe3oXA==";
       };
     };
-    "oo-ascii-tree-1.56.0" = {
+    "oo-ascii-tree-1.57.0" = {
       name = "oo-ascii-tree";
       packageName = "oo-ascii-tree";
-      version = "1.56.0";
+      version = "1.57.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.56.0.tgz";
-        sha512 = "tPOSOEjN1uq2NktoBU2KExOU9lVghkpg+tDLWMtnqSSmX+lnDJIYIFpa/HqXwyiAXoHpcKh+bcmTPMZagLNIZA==";
+        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.57.0.tgz";
+        sha512 = "f0YTN8p0IN/X05R3N8yfENqCx7seBtDdVdJa8yQc2kx/v5OuEz/femhwEerxSsVXlb/OKjo2u4QAXTkjWjbPHA==";
       };
     };
     "open-0.0.2" = {
@@ -49504,13 +49423,13 @@ let
         sha512 = "2AOzHAbrwdj5DNL3u+BadhfmL3mlc3mmCv6cSAsEjoMncpOOVd95JyMf0j0XUyJigJ8/ILxnhETfg35vt1pGSQ==";
       };
     };
-    "openapi-sampler-1.2.1" = {
+    "openapi-sampler-1.2.3" = {
       name = "openapi-sampler";
       packageName = "openapi-sampler";
-      version = "1.2.1";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.2.1.tgz";
-        sha512 = "mHrYmyvcLD0qrfqPkPRBAL2z16hGT2rW0d0B7nklfoTcc3pmkJLkSZlKSeFgerUM41E5c7jlxf0Y19xrM7mWQQ==";
+        url = "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.2.3.tgz";
+        sha512 = "dH2QYXqakorV5dxkP/f1BV3Ku4yNn21YmBsqJunnyrHLw7mnCNZZldftgrEpv/66b1m5oaUAmiJoJN+FqBEkJg==";
       };
     };
     "openapi-schema-validator-8.0.0" = {
@@ -49981,15 +49900,6 @@ let
         sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
       };
     };
-    "osenv-0.0.3" = {
-      name = "osenv";
-      packageName = "osenv";
-      version = "0.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
-        sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
-      };
-    };
     "osenv-0.1.5" = {
       name = "osenv";
       packageName = "osenv";
@@ -49999,22 +49909,22 @@ let
         sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
       };
     };
-    "ot-builder-1.5.1" = {
+    "ot-builder-1.5.2" = {
       name = "ot-builder";
       packageName = "ot-builder";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ot-builder/-/ot-builder-1.5.1.tgz";
-        sha512 = "i5kUXVflf7Ek10jTng/E4pVt9F/8PpIQ5p3estArHrzi6OL2EfsqeQskz3IKoAhNjjfsq1h/+MpL3yNu6ZYoVg==";
+        url = "https://registry.npmjs.org/ot-builder/-/ot-builder-1.5.2.tgz";
+        sha512 = "WAcfUKnBSM7Sf5wAbguIjtEffkca5hFCYTw2W84DcGid5SrSyxxOzWAXFRoxaPli8X9gmeTdx773nYqmnAjNgA==";
       };
     };
-    "otb-ttc-bundle-1.5.1" = {
+    "otb-ttc-bundle-1.5.2" = {
       name = "otb-ttc-bundle";
       packageName = "otb-ttc-bundle";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/otb-ttc-bundle/-/otb-ttc-bundle-1.5.1.tgz";
-        sha512 = "i6c3SBvEHyxnptFm0uoRNbfGt6UuXnQOIChG65IFlj9OizEZhqkdwPs+AQ3CZcHcsj6/lXCs20lFOtMOYeScEg==";
+        url = "https://registry.npmjs.org/otb-ttc-bundle/-/otb-ttc-bundle-1.5.2.tgz";
+        sha512 = "9h7WMtCauJeg74puwZF6W1ahyhewY/7shjsoiEqfLjX7dwCR/WgbIwx7DnpQ3acTwOzfsaBfgmq+XDMUz+TPrg==";
       };
     };
     "ow-0.21.0" = {
@@ -50377,13 +50287,13 @@ let
         sha512 = "oepllyG9gX1qH4Sm20YAKxg1GA7L7puhvGnTfimi31P07zSIj7SDV6YtuAx9nbJF51DES+2CIIRkXs8GKqWJxA==";
       };
     };
-    "p-retry-4.6.1" = {
+    "p-retry-4.6.2" = {
       name = "p-retry";
       packageName = "p-retry";
-      version = "4.6.1";
+      version = "4.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz";
-        sha512 = "e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==";
+        url = "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz";
+        sha512 = "312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==";
       };
     };
     "p-settle-4.1.1" = {
@@ -50683,13 +50593,13 @@ let
         sha1 = "ad1f22ce1bf0fdc0d6ddd908af17f351a404b8ac";
       };
     };
-    "paid-services-3.14.5" = {
+    "paid-services-3.16.0" = {
       name = "paid-services";
       packageName = "paid-services";
-      version = "3.14.5";
+      version = "3.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/paid-services/-/paid-services-3.14.5.tgz";
-        sha512 = "oFfpfIeXLJfulqQNupGyWukEgt5yFVm+hNulRm9PCfS9Tr+9akZvW1ZvmakNxuwZugaJqkAgZaDi0xIe9v9Fdw==";
+        url = "https://registry.npmjs.org/paid-services/-/paid-services-3.16.0.tgz";
+        sha512 = "1NJojLf8qLulTuhO//XqpQWsK/cE/kMrM0hmX6ggToOWJQC+5wSiqwjlaAKRARLwX/uAMOpCTlm3n/EoBrEuQA==";
       };
     };
     "pako-0.2.9" = {
@@ -52069,6 +51979,15 @@ let
         sha1 = "8f47dcec5011b477b67db03c243bc1f3085e8854";
       };
     };
+    "pixelmatch-5.3.0" = {
+      name = "pixelmatch";
+      packageName = "pixelmatch";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.3.0.tgz";
+        sha512 = "o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==";
+      };
+    };
     "pixiv-api-client-0.25.0" = {
       name = "pixiv-api-client";
       packageName = "pixiv-api-client";
@@ -52420,6 +52339,15 @@ let
         sha512 = "40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==";
       };
     };
+    "pngjs-6.0.0" = {
+      name = "pngjs";
+      packageName = "pngjs";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz";
+        sha512 = "TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==";
+      };
+    };
     "pnp-webpack-plugin-1.7.0" = {
       name = "pnp-webpack-plugin";
       packageName = "pnp-webpack-plugin";
@@ -52492,12 +52420,12 @@ let
         sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
       };
     };
-    "posix-getopt-git://github.com/anmonteiro/node-getopt#master" = {
+    "posix-getopt-git+https://github.com/anmonteiro/node-getopt#master" = {
       name = "posix-getopt";
       packageName = "posix-getopt";
       version = "1.2.0";
       src = fetchgit {
-        url = "git://github.com/anmonteiro/node-getopt";
+        url = "https://github.com/anmonteiro/node-getopt";
         rev = "a3123885e3559c9b70903948d6e5c34852520d74";
         sha256 = "0092766ac49279342f7d17677359880b44b245ad9d32237a11a5ea45cb0d03fa";
       };
@@ -52547,6 +52475,15 @@ let
         sha512 = "lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==";
       };
     };
+    "postcss-8.4.13" = {
+      name = "postcss";
+      packageName = "postcss";
+      version = "8.4.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz";
+        sha512 = "jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==";
+      };
+    };
     "postcss-calc-7.0.5" = {
       name = "postcss-calc";
       packageName = "postcss-calc";
@@ -53429,13 +53366,13 @@ let
         sha512 = "Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==";
       };
     };
-    "prebuild-install-7.0.1" = {
+    "prebuild-install-7.1.0" = {
       name = "prebuild-install";
       packageName = "prebuild-install";
-      version = "7.0.1";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.0.1.tgz";
-        sha512 = "QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==";
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.0.tgz";
+        sha512 = "CNcMgI1xBypOyGqjp3wOc8AAo1nMhZS3Cwd3iHIxOdAUbb+YxdNuM4Z5iIrZ8RLvOsf3F3bl7b7xGq6DjQoNYA==";
       };
     };
     "precond-0.2.3" = {
@@ -53645,15 +53582,6 @@ let
         sha512 = "zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==";
       };
     };
-    "pretty-format-26.6.2" = {
-      name = "pretty-format";
-      packageName = "pretty-format";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz";
-        sha512 = "7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==";
-      };
-    };
     "pretty-format-27.5.1" = {
       name = "pretty-format";
       packageName = "pretty-format";
@@ -53726,13 +53654,13 @@ let
         sha512 = "dG2w7WtovUa4SiYTdWn9H8Bd4JNdei2djtkP/Bk9fXq81j5Q15ZPHYSwhUVvBRbp5zMkGtu0Yk62HuMcly0pRw==";
       };
     };
-    "prismjs-1.27.0" = {
+    "prismjs-1.28.0" = {
       name = "prismjs";
       packageName = "prismjs";
-      version = "1.27.0";
+      version = "1.28.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz";
-        sha512 = "t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==";
+        url = "https://registry.npmjs.org/prismjs/-/prismjs-1.28.0.tgz";
+        sha512 = "8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw==";
       };
     };
     "private-0.1.8" = {
@@ -55301,13 +55229,13 @@ let
         sha512 = "2cP8mBoqnu5gzAVpbZ0fRaobBWZM8GEUF4I1F6WbgHrKV/rz7SX8PG2wMymZgD0wo0UBlg2FBPNxlF/xlqW6+w==";
       };
     };
-    "puppeteer-13.5.2" = {
+    "puppeteer-13.7.0" = {
       name = "puppeteer";
       packageName = "puppeteer";
-      version = "13.5.2";
+      version = "13.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-13.5.2.tgz";
-        sha512 = "DJAyXODBikZ3xPs8C35CtExEw78LZR9RyelGDAs0tX1dERv3OfW7qpQ9VPBgsfz+hG2HiMTO/Tyf7BuMVWsrxg==";
+        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-13.7.0.tgz";
+        sha512 = "U1uufzBjz3+PkpCxFrWzh4OrMIdIb2ztzCu0YEPfRHjHswcSwHZswnK+WdsOQJsRV8WeTg3jLhJR4D867+fjsA==";
       };
     };
     "purest-3.1.0" = {
@@ -55382,13 +55310,13 @@ let
         sha512 = "pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==";
       };
     };
-    "pyright-1.1.237" = {
+    "pyright-1.1.243" = {
       name = "pyright";
       packageName = "pyright";
-      version = "1.1.237";
+      version = "1.1.243";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.237.tgz";
-        sha512 = "CU3YsC0+NFtj0TO7wDLTDqNEvnrBuz8foavK7/kgKLhBbF50m6xksrRb61SSDzFYn5+1oWEKNvmzDVCktp39Vg==";
+        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.243.tgz";
+        sha512 = "0PUyHTSr+LyE9Ej0A7tB8tM4pzAr34o1c3rHtfaBdZ2265HPvPE/Kj92ljX2F00Q6uAeZyyLEmzPOTuKh2WC8Q==";
       };
     };
     "q-0.9.7" = {
@@ -56048,13 +55976,13 @@ let
         sha512 = "PPYLwZ63lXi6Tv2EZ8w3M4FzC0rVqvxivaOVS8pXSp5FMIHFnvi4MWHL3UdFLhwSy50aNtJsgjY0mBC6oFL26Q==";
       };
     };
-    "rate-limiter-flexible-2.3.6" = {
+    "rate-limiter-flexible-2.3.7" = {
       name = "rate-limiter-flexible";
       packageName = "rate-limiter-flexible";
-      version = "2.3.6";
+      version = "2.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-2.3.6.tgz";
-        sha512 = "8DVFOe89rreyut/vzwBI7vgXJynyYoYnH5XogtAKs0F/neAbCTTglXxSJ7fZeZamcFXZDvMidCBvps4KM+1srw==";
+        url = "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-2.3.7.tgz";
+        sha512 = "dmc+J/IffVBvHlqq5/XClsdLdkOdQV/tjrz00cwneHUbEDYVrf4aUDAyR4Jybcf2+Vpn4NwoVrnnAyt/D0ciWw==";
       };
     };
     "raven-js-3.27.2" = {
@@ -56444,13 +56372,13 @@ let
         sha512 = "7tQ0BmZqfVF6YYEWcIGuoR3OdYe8I/ZFbNclFlGOC3pMqunkYF/oL30NCjSGl9sMEb17AnzixDz98Kqc3N76HQ==";
       };
     };
-    "react-window-1.8.6" = {
+    "react-window-1.8.7" = {
       name = "react-window";
       packageName = "react-window";
-      version = "1.8.6";
+      version = "1.8.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-window/-/react-window-1.8.6.tgz";
-        sha512 = "8VwEEYyjz6DCnGBsd+MgkD0KJ2/OXFULyDtorIiTz+QzwoP94tBoA7CnbtyXMm+cCeAUER5KJcPtWl9cpKbOBg==";
+        url = "https://registry.npmjs.org/react-window/-/react-window-1.8.7.tgz";
+        sha512 = "JHEZbPXBpKMmoNO1bNhoXOOLg/ujhL/BU4IqVU9r8eQPcy5KQnGHIHDRkJ0ns9IM5+Aq5LNwt3j8t3tIrePQzA==";
       };
     };
     "react-window-infinite-loader-1.0.7" = {
@@ -56597,13 +56525,13 @@ let
         sha512 = "Dqer4pqzamDE2O4M55xp1qZMuLPqi4ldk2ya648FOMHRjwMzFhuxVrG04wd0c38IsvkVdr3vgHI6z+QTPdAjrQ==";
       };
     };
-    "read-package-json-5.0.0" = {
+    "read-package-json-5.0.1" = {
       name = "read-package-json";
       packageName = "read-package-json";
-      version = "5.0.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.0.tgz";
-        sha512 = "1cjk2MV5ONDMn34uxSID3X8NY7VKsXfJnjbcVdFMvHEnJOBzU6MJ7/3yg6QFVZDq5/1yFNrKBUK9kGnonyGP2Q==";
+        url = "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.1.tgz";
+        sha512 = "MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg==";
       };
     };
     "read-package-json-fast-2.0.3" = {
@@ -57101,13 +57029,13 @@ let
         sha1 = "b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4";
       };
     };
-    "redoc-2.0.0-rc.66" = {
+    "redoc-2.0.0-rc.67" = {
       name = "redoc";
       packageName = "redoc";
-      version = "2.0.0-rc.66";
+      version = "2.0.0-rc.67";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redoc/-/redoc-2.0.0-rc.66.tgz";
-        sha512 = "ZjmZhYkg46QAkza4SYCouY3TEuqnkjf50uyJBiz6Dyaz55RLClofAKokPoy5uEBo0RkPjxebKf9HTGyrxNqJ8A==";
+        url = "https://registry.npmjs.org/redoc/-/redoc-2.0.0-rc.67.tgz";
+        sha512 = "u6rEKB0LylSisN+mFa3flj7zf+prXDB+G02foqC9BOlcXkUYXHFDZM4L3BTBL/DstyGTgjhe2dA9csAjIVti/g==";
       };
     };
     "reduce-component-1.0.1" = {
@@ -58388,13 +58316,13 @@ let
         sha512 = "wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==";
       };
     };
-    "requestretry-7.0.2" = {
+    "requestretry-7.1.0" = {
       name = "requestretry";
       packageName = "requestretry";
-      version = "7.0.2";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/requestretry/-/requestretry-7.0.2.tgz";
-        sha512 = "Zz8z7G2OuVs4F0wR0shKMEMm7lNvPNHM0UIHNns9qfyuBDKSExoTsZGtSjKst6nPEwlMrbA9G+m/yC0AbGj+8w==";
+        url = "https://registry.npmjs.org/requestretry/-/requestretry-7.1.0.tgz";
+        sha512 = "TqVDgp251BW4b8ddQ2ptaj/57Z3LZHLscAUT7v6qs70buqF2/IoOVjYbpjJ6HiW7j5+waqegGI8xKJ/+uzgDmw==";
       };
     };
     "require-directory-2.1.1" = {
@@ -58901,15 +58829,6 @@ let
         sha512 = "XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==";
       };
     };
-    "retry-0.6.0" = {
-      name = "retry";
-      packageName = "retry";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
-        sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
-      };
-    };
     "retry-0.6.1" = {
       name = "retry";
       packageName = "retry";
@@ -59036,15 +58955,6 @@ let
         sha1 = "8ca08c2cbb5b55e74dafa96bf7fd1a27d568c8d0";
       };
     };
-    "rimraf-2.1.4" = {
-      name = "rimraf";
-      packageName = "rimraf";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
-        sha1 = "5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2";
-      };
-    };
     "rimraf-2.2.8" = {
       name = "rimraf";
       packageName = "rimraf";
@@ -59261,13 +59171,13 @@ let
         sha1 = "6f04063a2d04eba3303a1bbc6765eef63037cf3d";
       };
     };
-    "router-1.3.6" = {
+    "router-1.3.7" = {
       name = "router";
       packageName = "router";
-      version = "1.3.6";
+      version = "1.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/router/-/router-1.3.6.tgz";
-        sha512 = "gsjhou+LFApzkIP8VDrouG6Z4pqkeF11n3o5orlwPPvPTl0x7c+dbF71itKOhDoFHygmc3N3uqm55Uq/gIDUwg==";
+        url = "https://registry.npmjs.org/router/-/router-1.3.7.tgz";
+        sha512 = "bYnD9Vv2287+g3AIll2kHITLtHV5+fldq6hVzaul9RbdGme77mvBY/1cO+ahsgstA2RI6DSg/j4W1TYHm4Lz4g==";
       };
     };
     "router-ips-1.0.0" = {
@@ -59720,13 +59630,13 @@ let
         sha512 = "zmXn03k3hN0KaiVTjohgkg98C3UowhL1/VSGdj4/VAAiMKGQOE80PFPxFP2Kyq0OUskPKcY5lImkhBKEHlypJA==";
       };
     };
-    "sass-1.50.0" = {
+    "sass-1.51.0" = {
       name = "sass";
       packageName = "sass";
-      version = "1.50.0";
+      version = "1.51.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sass/-/sass-1.50.0.tgz";
-        sha512 = "cLsD6MEZ5URXHStxApajEh7gW189kkjn4Rc8DQweMyF+o5HF5nfEz8QYLMlPsTOD88DknatTmBWkOcw5/LnJLQ==";
+        url = "https://registry.npmjs.org/sass/-/sass-1.51.0.tgz";
+        sha512 = "haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA==";
       };
     };
     "sass-loader-10.2.0" = {
@@ -59882,6 +59792,15 @@ let
         sha512 = "jhXqQAQVM+8Xj5EjJGVweuEzgtGWb3tmEEpl3CLP3cStInSbVHSg0QWOGQzNq8pSID4JkpeV2mPqlMDLrm0/Vw==";
       };
     };
+    "secp256k1-4.0.2" = {
+      name = "secp256k1";
+      packageName = "secp256k1";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz";
+        sha512 = "UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==";
+      };
+    };
     "secp256k1-4.0.3" = {
       name = "secp256k1";
       packageName = "secp256k1";
@@ -60008,24 +59927,6 @@ let
         sha1 = "857bef5e3644601ca4b9570b87e9df5ca12974fa";
       };
     };
-    "semver-2.0.11" = {
-      name = "semver";
-      packageName = "semver";
-      version = "2.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
-        sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
-      };
-    };
-    "semver-2.3.2" = {
-      name = "semver";
-      packageName = "semver";
-      version = "2.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz";
-        sha1 = "b9848f25d6cf36333073ec9ef8856d42f1233e52";
-      };
-    };
     "semver-4.3.6" = {
       name = "semver";
       packageName = "semver";
@@ -60701,15 +60602,6 @@ let
         sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
       };
     };
-    "shell-quote-1.6.1" = {
-      name = "shell-quote";
-      packageName = "shell-quote";
-      version = "1.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz";
-        sha1 = "f4781949cce402697127430ea3b3c5476f481767";
-      };
-    };
     "shell-quote-1.7.2" = {
       name = "shell-quote";
       packageName = "shell-quote";
@@ -61007,13 +60899,13 @@ let
         sha512 = "z4qtrRuaAFJS4PUd0g+xy7aN4y+RvEt/QTJpR184lhJguBA1S/LsVlvE/CM95RsYMOFJG3NGGDjqFCzKU19S/A==";
       };
     };
-    "simple-git-3.6.0" = {
+    "simple-git-3.7.1" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "3.6.0";
+      version = "3.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.6.0.tgz";
-        sha512 = "2e+4QhOVO59GeLsHgwSMKNrSKCnuACeA/gMNrLCYR8ID9qwm4hViVt4WsODcUGjx//KDv6GMLC6Hs/MeosgXxg==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.7.1.tgz";
+        sha512 = "+Osjtsumbtew2y9to0pOYjNzSIr4NkKGBg7Po5SUtjQhaJf2QBmiTX/9E9cv9rmc7oUiSGFIB9e7ys5ibnT9+A==";
       };
     };
     "simple-handshake-3.0.0" = {
@@ -61529,6 +61421,15 @@ let
         sha512 = "s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==";
       };
     };
+    "socket.io-4.5.0" = {
+      name = "socket.io";
+      packageName = "socket.io";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io/-/socket.io-4.5.0.tgz";
+        sha512 = "slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA==";
+      };
+    };
     "socket.io-adapter-0.2.0" = {
       name = "socket.io-adapter";
       packageName = "socket.io-adapter";
@@ -61556,6 +61457,15 @@ let
         sha512 = "Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==";
       };
     };
+    "socket.io-adapter-2.4.0" = {
+      name = "socket.io-adapter";
+      packageName = "socket.io-adapter";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz";
+        sha512 = "W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==";
+      };
+    };
     "socket.io-client-1.0.6" = {
       name = "socket.io-client";
       packageName = "socket.io-client";
@@ -61601,13 +61511,13 @@ let
         sha512 = "2B9LqSunN60yV8F7S84CCEEcgbYNfrn7ejIInZtLZ7ppWtiX8rGZAjvdCvbnC8bqo/9RlCNOUsORLyskxSFP1g==";
       };
     };
-    "socket.io-client-4.4.1" = {
+    "socket.io-client-4.5.0" = {
       name = "socket.io-client";
       packageName = "socket.io-client";
-      version = "4.4.1";
+      version = "4.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.4.1.tgz";
-        sha512 = "N5C/L5fLNha5Ojd7Yeb/puKcPWWcoB/A09fEjjNsg91EDVr5twk/OEyO6VT9dlLSUNY85NpW6KBhVMvaLKQ3vQ==";
+        url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.0.tgz";
+        sha512 = "HW61c1G7OrYGxaI79WRn17+b03iBCdvhBj4iqyXHBoL5M8w2MSO/vChsjA93knG4GYEai1/vbXWJna9dzxXtSg==";
       };
     };
     "socket.io-parser-2.1.2" = {
@@ -61673,6 +61583,15 @@ let
         sha512 = "j3kk71QLJuyQ/hh5F/L2t1goqzdTL0gvDzuhTuNSwihfuFUrcSji0qFZmJJPtG6Rmug153eOPsUizeirf1IIog==";
       };
     };
+    "socket.io-parser-4.2.0" = {
+      name = "socket.io-parser";
+      packageName = "socket.io-parser";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.0.tgz";
+        sha512 = "tLfmEwcEwnlQTxFB7jibL/q2+q8dlVQzj4JdRLJ/W/G1+Fu9VSxCx1Lo+n1HvXxKnM//dUuD0xgiA7tQf57Vng==";
+      };
+    };
     "sockjs-0.3.20" = {
       name = "sockjs";
       packageName = "sockjs";
@@ -61727,22 +61646,13 @@ let
         sha512 = "vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==";
       };
     };
-    "socks-proxy-agent-6.1.1" = {
-      name = "socks-proxy-agent";
-      packageName = "socks-proxy-agent";
-      version = "6.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz";
-        sha512 = "t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==";
-      };
-    };
-    "socks-proxy-agent-6.2.0-beta.0" = {
+    "socks-proxy-agent-6.2.0" = {
       name = "socks-proxy-agent";
       packageName = "socks-proxy-agent";
-      version = "6.2.0-beta.0";
+      version = "6.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0-beta.0.tgz";
-        sha512 = "vJVDGsyaBh7cP8BfynQV1sSqiZ045FkNTyaWLz1g4Ut3sCIuO52sxK0ix8yvqf5n0teDyY1Pw4NRclRiuGTV+w==";
+        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz";
+        sha512 = "wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ==";
       };
     };
     "socks5-client-1.2.8" = {
@@ -61871,13 +61781,13 @@ let
         sha512 = "zlOmAKFLJzTI+MbvmkWhnOOJ++NYo0Iy7F93ARNPmvZvpWG2l8Ff3uwM3CkpHqRw8v3pcRROScM5E+vbeTeOKw==";
       };
     };
-    "sonic-boom-2.7.0" = {
+    "sonic-boom-2.8.0" = {
       name = "sonic-boom";
       packageName = "sonic-boom";
-      version = "2.7.0";
+      version = "2.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.7.0.tgz";
-        sha512 = "Ynxp0OGQG91wvDjCbFlRMHbSUmDq7dE/EgDeUJ/j+Q9x1FVkFry20cjLykxRSmlm3QS0B4JYAKE8239XKN4SHQ==";
+        url = "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz";
+        sha512 = "kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==";
       };
     };
     "sorcery-0.10.0" = {
@@ -62042,6 +61952,15 @@ let
         sha512 = "CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==";
       };
     };
+    "source-map-0.8.0-beta.0" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.8.0-beta.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz";
+        sha512 = "2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==";
+      };
+    };
     "source-map-js-1.0.2" = {
       name = "source-map-js";
       packageName = "source-map-js";
@@ -62573,13 +62492,13 @@ let
         sha512 = "1SdTNo+BVU211Xj1csWa8lV6KM0CtucDwRyA0VHl91wEH1Mgh7RxUpI4rVvG7OhHrzCSGaVyW5g8vKvlrk9DJA==";
       };
     };
-    "sqlite3-5.0.3" = {
+    "sqlite3-5.0.6" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "5.0.3";
+      version = "5.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.3.tgz";
-        sha512 = "/cDwes7XtTOtKH5zYeJSuiavuaJ6jXxPjebw9lDFxBAwR/DvP0tnJ5MPZQ3zpnNzJBa1G6mPTpB+5O1T+AoSdQ==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.6.tgz";
+        sha512 = "uT1dC6N3ReF+jchY01zvl1wVFFJ5xO86wSnCpK39uA/zmAHBDm6TiAq1v876QKv8JgiijxQ7/fb5C2LPm7ZAJA==";
       };
     };
     "sqlite3-git+https://github.com/mapbox/node-sqlite3.git#918052b538b0effe6c4a44c74a16b2749c08a0d2" = {
@@ -62790,13 +62709,13 @@ let
         sha512 = "FPeyYU/3LpxcagnbmVWE+Q/qzg6keqeOBPbD7sEH9UKixUASeufPKiORDgh8nVX7J9Z+0vUaHt/WG999kGjvVQ==";
       };
     };
-    "ssb-keys-8.2.0" = {
+    "ssb-keys-8.2.1" = {
       name = "ssb-keys";
       packageName = "ssb-keys";
-      version = "8.2.0";
+      version = "8.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-keys/-/ssb-keys-8.2.0.tgz";
-        sha512 = "U5vmEvWlMdmJQDHyiWYzXQwxlq+Th6cYvHy/cfhyoGU1vopiB5ytYm339bfhdmtjjRDSV2SPrm3vcgLrN3KH2w==";
+        url = "https://registry.npmjs.org/ssb-keys/-/ssb-keys-8.2.1.tgz";
+        sha512 = "3C/Kw78vGqj6Wrvb8+JZbkCA8u+8TXKaTcK/wiNZa2mfowRlCQTOH1dMlzxC60w+1GoTQi/vOk7IVaummANAiA==";
       };
     };
     "ssb-links-3.0.10" = {
@@ -63015,13 +62934,13 @@ let
         sha512 = "zZ/Q1M+9ZWlrchgh4QauD/MEUFa6eC6H6FYq6T8Of/y82JqsQBLwN6YlzbO09evE7Rx6x0oliXDCnQSjwGwQRA==";
       };
     };
-    "sscaff-1.2.258" = {
+    "sscaff-1.2.274" = {
       name = "sscaff";
       packageName = "sscaff";
-      version = "1.2.258";
+      version = "1.2.274";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.258.tgz";
-        sha512 = "xgzUmt9tuBjGwGXzffkOAvvXBqzWnrGDcsAbQbqXJ8uewtaWRI4SzVJsrsFJwQd18E1f7C7mPqR+eia2E4Ymuw==";
+        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.274.tgz";
+        sha512 = "sztRa50SL1LVxZnF1au6QT1SC2z0S1oEOyi2Kpnlg6urDns93aL32YxiJcNkLcY+VHFtVqm/SRv4cb+6LeoBQA==";
       };
     };
     "ssh-config-1.1.6" = {
@@ -63096,6 +63015,15 @@ let
         sha512 = "YzAzemVrXEf1OeZUpveXLeYUT5VVw/I5gxLeyzq1aMS3pRvFvCeaGliNFjKR3VKtGXRqF9WamqKwYadIG6vStQ==";
       };
     };
+    "ssim.js-3.5.0" = {
+      name = "ssim.js";
+      packageName = "ssim.js";
+      version = "3.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssim.js/-/ssim.js-3.5.0.tgz";
+        sha512 = "Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==";
+      };
+    };
     "ssri-5.3.0" = {
       name = "ssri";
       packageName = "ssri";
@@ -63699,13 +63627,13 @@ let
         sha512 = "OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==";
       };
     };
-    "streamroller-3.0.7" = {
+    "streamroller-3.0.8" = {
       name = "streamroller";
       packageName = "streamroller";
-      version = "3.0.7";
+      version = "3.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/streamroller/-/streamroller-3.0.7.tgz";
-        sha512 = "kh68kwiDGuIPiPDWwRbEC5us+kfARP1e9AsQiaLaSqGrctOvMn0mtL8iNY3r4/o5nIoYi3gPI1jexguZsXDlxw==";
+        url = "https://registry.npmjs.org/streamroller/-/streamroller-3.0.8.tgz";
+        sha512 = "VI+ni3czbFZrd1MrlybxykWZ8sMDCMtTU7YJyhgb9M5X6d1DDxLdJr+gSnmRpXPMnIWxWKMaAE8K0WumBp3lDg==";
       };
     };
     "streamsearch-0.1.2" = {
@@ -63933,13 +63861,13 @@ let
         sha1 = "aba36de08dcee6a5a337d49b2ea1da1b28fc0ecf";
       };
     };
-    "string.prototype.trim-1.2.5" = {
+    "string.prototype.trim-1.2.6" = {
       name = "string.prototype.trim";
       packageName = "string.prototype.trim";
-      version = "1.2.5";
+      version = "1.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.5.tgz";
-        sha512 = "Lnh17webJVsD6ECeovpVN17RlAKjmz4rF9S+8Y45CkMc/ufVpTkU3vZIyIC7sllQ1FCvObZnnCdNs/HXTUOTlg==";
+        url = "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.6.tgz";
+        sha512 = "8lMR2m+U0VJTPp6JjvJTtGyc4FIGq9CdRt7O9p6T0e6K4vjU+OP+SQJpbe/SBmRcCUIvNUnjsbmY6lnMp8MhsQ==";
       };
     };
     "string.prototype.trimend-1.0.4" = {
@@ -64482,13 +64410,13 @@ let
         sha512 = "luHn2OAMGJouOnadm6Fim6WXodQ2AWDkWjYq0rMdyEwzO5PdE4LzoXAEn9LL2snmBAlwUp1URVOTF7lZR3KU+Q==";
       };
     };
-    "stylis-4.1.0" = {
+    "stylis-4.1.1" = {
       name = "stylis";
       packageName = "stylis";
-      version = "4.1.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stylis/-/stylis-4.1.0.tgz";
-        sha512 = "SrSDzNasOCBTo7C2N9geFwydg/2bmdkWXd4gJirtq82m5JBYtR2+Ialck8czmfBLIdPxCOotlgJESPa8C1RqvA==";
+        url = "https://registry.npmjs.org/stylis/-/stylis-4.1.1.tgz";
+        sha512 = "lVrM/bNdhVX2OgBFNa2YJ9Lxj7kPzylieHd3TNjuGE0Re9JB7joL5VUKOVH1kdNNJTgGPpT8hmwIAPLaSyEVFQ==";
       };
     };
     "stylus-0.54.8" = {
@@ -64671,13 +64599,13 @@ let
         sha512 = "EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==";
       };
     };
-    "superstatic-7.1.0" = {
+    "superstatic-8.0.0" = {
       name = "superstatic";
       packageName = "superstatic";
-      version = "7.1.0";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/superstatic/-/superstatic-7.1.0.tgz";
-        sha512 = "yBU8iw07nM3Bu4jFc8lnKwLey0cj61OaGmFJZcYC2X+kEpXVmXzERJ3OTAHZAESe1OTeNIuWadt81U5IULGGAA==";
+        url = "https://registry.npmjs.org/superstatic/-/superstatic-8.0.0.tgz";
+        sha512 = "PqlA2xuEwOlRZsknl58A/rZEmgCUcfWIFec0bn10wYE5/tbMhEbMXGHCYDppiXLXcuhGHyOp1IimM2hLqkLLuw==";
       };
     };
     "supports-color-0.2.0" = {
@@ -64815,13 +64743,13 @@ let
         sha1 = "5a7f8a20a71188cf9e75a2cfe8eb182de90daf3b";
       };
     };
-    "svelte-3.47.0" = {
+    "svelte-3.48.0" = {
       name = "svelte";
       packageName = "svelte";
-      version = "3.47.0";
+      version = "3.48.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svelte/-/svelte-3.47.0.tgz";
-        sha512 = "4JaJp3HEoTCGARRWZQIZDUanhYv0iyoHikklVHVLH9xFE9db22g4TDv7CPeNA8HD1JgjXI1vlhR1JZvvhaTu2Q==";
+        url = "https://registry.npmjs.org/svelte/-/svelte-3.48.0.tgz";
+        sha512 = "fN2YRm/bGumvjUpu6yI3BpvZnpIm9I6A7HR4oUNYd7ggYyIwSA/BX7DJ+UXXffLp6XNcUijyLvttbPVCYa/3xQ==";
       };
     };
     "svelte-preprocess-4.10.6" = {
@@ -65139,13 +65067,13 @@ let
         sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
       };
     };
-    "systeminformation-5.11.9" = {
+    "systeminformation-5.11.14" = {
       name = "systeminformation";
       packageName = "systeminformation";
-      version = "5.11.9";
+      version = "5.11.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.9.tgz";
-        sha512 = "eeMtL9UJFR/LYG+2rpeAgZ0Va4ojlNQTkYiQH/xbbPwDjDMsaetj3Pkc+C1aH5G8mav6HvDY8kI4Vl4noksSkA==";
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.14.tgz";
+        sha512 = "m8CJx3fIhKohanB0ExTk5q53uI1J0g5B09p77kU+KxnxRVpADVqTAwCg1PFelqKsj4LHd+qmVnumb511Hg4xow==";
       };
     };
     "sywac-1.3.0" = {
@@ -65302,15 +65230,6 @@ let
         sha512 = "k7F5pyr91n9D/yjSJwbLLYDCrTWXxMSXbbmHX2n334lSIc2rxeXyFkaBv4UuUd2gBYMrAOalPutAiCxC6q1qbw==";
       };
     };
-    "tar-0.1.17" = {
-      name = "tar";
-      packageName = "tar";
-      version = "0.1.17";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-0.1.17.tgz";
-        sha1 = "408c8a95deb8e78a65b59b1a51a333183a32badc";
-      };
-    };
     "tar-2.2.2" = {
       name = "tar";
       packageName = "tar";
@@ -65473,15 +65392,6 @@ let
         sha512 = "6u5UyW2KpMS/hwC4DKLGlicK/rVSYCahPFgF14ioP6BzwcDwQlciHCB/oWguvxLJaYGrvY6crzLHfjupFTBPXw==";
       };
     };
-    "temp-0.6.0" = {
-      name = "temp";
-      packageName = "temp";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/temp/-/temp-0.6.0.tgz";
-        sha1 = "6b13df5cddf370f2e3a606ca40f202c419173f07";
-      };
-    };
     "temp-0.8.3" = {
       name = "temp";
       packageName = "temp";
@@ -65608,6 +65518,15 @@ let
         sha512 = "ZXwggmsv+mheSNZ0yOtpOBS5kTSosGPVcTeS9didqs2VRW0sIByYr2cLS1N2vlpGAjq5PKqmy6Z3hZEgcCG4Wg==";
       };
     };
+    "term-img-4.1.0" = {
+      name = "term-img";
+      packageName = "term-img";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/term-img/-/term-img-4.1.0.tgz";
+        sha512 = "DFpBhaF5j+2f7kheKFc1ajsAUUDGOaNPpKPtiIMxlbfud6mvfFZuWGnTRpaujUa5J7yl6cIw/h6nyr4mSsENPg==";
+      };
+    };
     "term-size-1.2.0" = {
       name = "term-size";
       packageName = "term-size";
@@ -65671,13 +65590,13 @@ let
         sha512 = "EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==";
       };
     };
-    "terser-5.12.1" = {
+    "terser-5.13.1" = {
       name = "terser";
       packageName = "terser";
-      version = "5.12.1";
+      version = "5.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz";
-        sha512 = "NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==";
+        url = "https://registry.npmjs.org/terser/-/terser-5.13.1.tgz";
+        sha512 = "hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==";
       };
     };
     "terser-webpack-plugin-1.4.5" = {
@@ -66229,15 +66148,6 @@ let
         sha512 = "pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==";
       };
     };
-    "tiny-lru-7.0.6" = {
-      name = "tiny-lru";
-      packageName = "tiny-lru";
-      version = "7.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tiny-lru/-/tiny-lru-7.0.6.tgz";
-        sha512 = "zNYO0Kvgn5rXzWpL0y3RS09sMK67eGaQj9805jlK9G6pSadfriTczzLHFXa/xcW4mIRfmlB9HyQ/+SgL0V1uow==";
-      };
-    };
     "tiny-queue-0.2.1" = {
       name = "tiny-queue";
       packageName = "tiny-queue";
@@ -67129,13 +67039,13 @@ let
         sha512 = "HDo5kXZCBml3EUPcc7RlZOV/JGlLHwppTLEHb3SHnr5V7NXD4klMEkrhJe5wgRbaWsSXi+Y1SIBN/K9B6zWGWQ==";
       };
     };
-    "ts-loader-8.3.0" = {
+    "ts-loader-8.4.0" = {
       name = "ts-loader";
       packageName = "ts-loader";
-      version = "8.3.0";
+      version = "8.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-loader/-/ts-loader-8.3.0.tgz";
-        sha512 = "MgGly4I6cStsJy27ViE32UoqxPTN9Xly4anxxVyaIWR+9BGxboV4EyJBGfR3RePV7Ksjj3rHmPZJeIt+7o4Vag==";
+        url = "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz";
+        sha512 = "6nFY3IZ2//mrPc+ImY3hNWx1vCHyEhl6V+wLmL4CZcm6g1CqX7UKrkc6y0i4FwcfOhxyMPCfaEvh20f4r9GNpw==";
       };
     };
     "ts-loader-9.2.6" = {
@@ -67192,6 +67102,15 @@ let
         sha512 = "hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==";
       };
     };
+    "ts-pattern-4.0.2" = {
+      name = "ts-pattern";
+      packageName = "ts-pattern";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts-pattern/-/ts-pattern-4.0.2.tgz";
+        sha512 = "eHqR/7A6fcw05vCOfnL6RwgGJbVi9G/YHTdYdjYmElhDdJ1SMn7pWs+6+YuxygaFwQS/g+cIDlu+UD8IVpur1A==";
+      };
+    };
     "ts-pnp-1.2.0" = {
       name = "ts-pnp";
       packageName = "ts-pnp";
@@ -67300,6 +67219,15 @@ let
         sha512 = "77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==";
       };
     };
+    "tslib-2.4.0" = {
+      name = "tslib";
+      packageName = "tslib";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz";
+        sha512 = "d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==";
+      };
+    };
     "tslint-5.20.1" = {
       name = "tslint";
       packageName = "tslint";
@@ -67804,13 +67732,13 @@ let
         sha512 = "7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==";
       };
     };
-    "typegram-3.8.0" = {
+    "typegram-3.9.1" = {
       name = "typegram";
       packageName = "typegram";
-      version = "3.8.0";
+      version = "3.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typegram/-/typegram-3.8.0.tgz";
-        sha512 = "MdlbWu0HfmgFJf4+xj6eqGYuanV2LJxBYTzLrD0kTV+woQ5dxDD2k8UVVjYnbBGkAagAyxzQevPiFZRWLFHSBw==";
+        url = "https://registry.npmjs.org/typegram/-/typegram-3.9.1.tgz";
+        sha512 = "vfFr2o0iX+amnUj1h/0c49y8bCvGwt6DgdmTVD732Kf81XG26vgFwNWj+33Ol+xORC7m0cqU2hPYGRtcGinwZg==";
       };
     };
     "typeorm-0.2.38" = {
@@ -67894,13 +67822,13 @@ let
         sha512 = "HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==";
       };
     };
-    "typescript-4.6.3" = {
+    "typescript-4.6.4" = {
       name = "typescript";
       packageName = "typescript";
-      version = "4.6.3";
+      version = "4.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz";
-        sha512 = "yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz";
+        sha512 = "9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==";
       };
     };
     "typescript-eslint-parser-16.0.1" = {
@@ -68218,13 +68146,13 @@ let
         sha512 = "2ISqZLXtzp1l9f1V8Yr6S+zuhXxEwE1CjKHjXULFDHJcfhc9Gm3mn19hdPp4rlNGEdCivKYGKjYe3WRGnafYdA==";
       };
     };
-    "unbox-primitive-1.0.1" = {
+    "unbox-primitive-1.0.2" = {
       name = "unbox-primitive";
       packageName = "unbox-primitive";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz";
-        sha512 = "tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==";
+        url = "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz";
+        sha512 = "61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==";
       };
     };
     "unbzip2-stream-1.3.3" = {
@@ -68290,13 +68218,13 @@ let
         sha512 = "hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==";
       };
     };
-    "underscore-1.13.2" = {
+    "underscore-1.13.3" = {
       name = "underscore";
       packageName = "underscore";
-      version = "1.13.2";
+      version = "1.13.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz";
-        sha512 = "ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==";
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.13.3.tgz";
+        sha512 = "QvjkYpiD+dJJraRA8+dGAU4i7aBbb2s0S3jA45TFOvg2VgqvdCDd/3N6CqA8gluk1W91GLoXg5enMUx560QzuA==";
       };
     };
     "underscore-1.2.1" = {
@@ -68353,15 +68281,6 @@ let
         sha1 = "a4bd7f5a9c7f2eec31e4784b402241df36671499";
       };
     };
-    "underscore.string-2.3.3" = {
-      name = "underscore.string";
-      packageName = "underscore.string";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
-        sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
-      };
-    };
     "undertaker-1.3.0" = {
       name = "undertaker";
       packageName = "undertaker";
@@ -68380,13 +68299,13 @@ let
         sha1 = "5e4bda308e4a8a2ae584f9b9a4359a499825cc50";
       };
     };
-    "undici-5.0.0" = {
+    "undici-5.1.0" = {
       name = "undici";
       packageName = "undici";
-      version = "5.0.0";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/undici/-/undici-5.0.0.tgz";
-        sha512 = "VhUpiZ3No1DOPPQVQnsDZyfcbTTcHdcgWej1PdFnSvOeJmOVDgiOHkunJmBLfmjt4CqgPQddPVjSWW0dsTs5Yg==";
+        url = "https://registry.npmjs.org/undici/-/undici-5.1.0.tgz";
+        sha512 = "S+Vy6GGLHmW0uNLyCOpma6qCEoX6Pw/Mga34UFeqNaMnfDMgeJhPdHwb9FDPC/gWnNhLxhE9Lis6yBDHtcJCqw==";
       };
     };
     "unherit-1.1.3" = {
@@ -69650,6 +69569,15 @@ let
         sha1 = "8bb871a4741e085c70487ca7acdbd7d6d36029eb";
       };
     };
+    "utf-8-validate-5.0.7" = {
+      name = "utf-8-validate";
+      packageName = "utf-8-validate";
+      version = "5.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz";
+        sha512 = "vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==";
+      };
+    };
     "utf-8-validate-5.0.9" = {
       name = "utf-8-validate";
       packageName = "utf-8-validate";
@@ -69974,13 +69902,13 @@ let
         sha512 = "l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==";
       };
     };
-    "v8-compile-cache-lib-3.0.0" = {
+    "v8-compile-cache-lib-3.0.1" = {
       name = "v8-compile-cache-lib";
       packageName = "v8-compile-cache-lib";
-      version = "3.0.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz";
-        sha512 = "mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==";
+        url = "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz";
+        sha512 = "wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==";
       };
     };
     "v8-debug-1.0.1" = {
@@ -71000,13 +70928,13 @@ let
         sha512 = "FA0foqMzMmEoO0WJP+MjoD4dRERhKS+Ag+yBrtmWQDmw2OuZ1R/5FkvI/XdTkCpHmTD9VMczugpHRejQyTXCNQ==";
       };
     };
-    "vscode-css-languageservice-5.4.1" = {
+    "vscode-css-languageservice-5.4.2" = {
       name = "vscode-css-languageservice";
       packageName = "vscode-css-languageservice";
-      version = "5.4.1";
+      version = "5.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.4.1.tgz";
-        sha512 = "W7D3GKFXf97ReAaU4EZ2nxVO1kQhztbycJgc1b/Ipr0h8zYWr88BADmrXu02z+lsCS84D7Sr4hoUzDKeaFn2Kg==";
+        url = "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.4.2.tgz";
+        sha512 = "DT7+7vfdT2HDNjDoXWtYJ0lVDdeDEdbMNdK4PKqUl2MS8g7PWt7J5G9B6k9lYox8nOfhCEjLnoNC3UKHHCR1lg==";
       };
     };
     "vscode-debugadapter-testsupport-1.51.0" = {
@@ -71063,13 +70991,13 @@ let
         sha512 = "rrDyCiOgMwOPgchpPGAeLzjYVVEW/Ror2/a1BWUEI3S9+NQhA9vj4SQkzmH6g2Bq9S9SV0OQeadD+xphOf1N3w==";
       };
     };
-    "vscode-html-languageservice-4.2.4" = {
+    "vscode-html-languageservice-4.2.5" = {
       name = "vscode-html-languageservice";
       packageName = "vscode-html-languageservice";
-      version = "4.2.4";
+      version = "4.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-4.2.4.tgz";
-        sha512 = "1HqvXKOq9WlZyW4HTD+0XzrjZoZ/YFrgQY2PZqktbRloHXVAUKm6+cAcvZi4YqKPVn05/CK7do+KBHfuSaEdbg==";
+        url = "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-4.2.5.tgz";
+        sha512 = "dbr10KHabB9EaK8lI0XZW7SqOsTfrNyT3Nuj0GoPi4LjGKUmMiLtsqzfedIzRTzqY+w0FiLdh0/kQrnQ0tLxrw==";
       };
     };
     "vscode-json-languageservice-3.11.0" = {
@@ -71171,13 +71099,13 @@ let
         sha512 = "owRllqcFTnz5rXxcbmHPFGmpFmLqj9Z1V3Dzrv+s8ejOHLIT62Pyb5Uqzyl2/in2VP22DmzErPgZwrxjLCIKiQ==";
       };
     };
-    "vscode-jsonrpc-8.0.0-next.7" = {
+    "vscode-jsonrpc-8.0.0-next.8" = {
       name = "vscode-jsonrpc";
       packageName = "vscode-jsonrpc";
-      version = "8.0.0-next.7";
+      version = "8.0.0-next.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.0-next.7.tgz";
-        sha512 = "JX/F31LEsims0dAlOTKFE4E+AJMiJvdRSRViifFJSqSN7EzeYyWlfuDchF7g91oRNPZOIWfibTkDf3/UMsQGzQ==";
+        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.0-next.8.tgz";
+        sha512 = "2eh7v+rzttUG6wg21xnm3U4IaR/i8cU9vHI9ZntRXuBtCcyR3RrPBvl86Ffm91m/Cio45kmn/LskHK3BAKZILA==";
       };
     };
     "vscode-languageclient-4.0.1" = {
@@ -71279,13 +71207,13 @@ let
         sha512 = "/65lxR/CuLJoOdzTjOTYUPWS7k5qzaWese4PObnWc6jwLryUrSa7DslYfaRXigh5/xr1nlaUZCcJwkpgM0wFvw==";
       };
     };
-    "vscode-languageserver-8.0.0-next.10" = {
+    "vscode-languageserver-8.0.0-next.14" = {
       name = "vscode-languageserver";
       packageName = "vscode-languageserver";
-      version = "8.0.0-next.10";
+      version = "8.0.0-next.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.0-next.10.tgz";
-        sha512 = "sdjldl9ipuBSWVw5ENVMRcOVQwF0o+J6+lNA7FrB8MiLmzflnfjRoJMqA5tCEY8S/J/+P56ZR/dqiQnRYg5m8w==";
+        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.0-next.14.tgz";
+        sha512 = "8CjwnSuKuIs71E9dCtx8MBTCKmH7KvWZHgTf2KN9Pa03IshdNU3zcFs/yfifpDSWpE1EcLeWYCvZwir/1Jt5kA==";
       };
     };
     "vscode-languageserver-protocol-3.14.1" = {
@@ -71333,13 +71261,13 @@ let
         sha512 = "VLRcWKOpCXcx9UrqrS+NSF6pNxV498VGYGW+eyp9a79/F9ElUq3wdG6acXYlEfpWHuIxpm6MXps8FU88wqIgTg==";
       };
     };
-    "vscode-languageserver-protocol-3.17.0-next.16" = {
+    "vscode-languageserver-protocol-3.17.0-next.20" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
-      version = "3.17.0-next.16";
+      version = "3.17.0-next.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.0-next.16.tgz";
-        sha512 = "tx4DnXw9u3N7vw+bx6n2NKp6FoxoNwiP/biH83AS30I2AnTGyLd7afSeH6Oewn2E8jvB7K15bs12sMppkKOVeQ==";
+        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.0-next.20.tgz";
+        sha512 = "uQSgoKsxFH+74NRwoWGYWr/FwmtN0XGesh+jHqTGhmVsMco9I5Li8kAc5et6zA7yt1RQcUAW3Jqim7Uvb0Npfg==";
       };
     };
     "vscode-languageserver-protocol-3.17.0-next.5" = {
@@ -71441,6 +71369,15 @@ let
         sha512 = "VGzh06oynbYa6JbTKUbxOEZN7CYEtWhN7DK5wfzUpeCJl8X8xZX39g2PVfpqXrIEduu7dcJgK007KgnX9tHNKA==";
       };
     };
+    "vscode-languageserver-types-3.17.0-next.12" = {
+      name = "vscode-languageserver-types";
+      packageName = "vscode-languageserver-types";
+      version = "3.17.0-next.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.12.tgz";
+        sha512 = "kaXEKkIrkd8UaQzkwUYSMgG6VVr8lplvng+/UKPb6rPYdOJ5a6JqNd87ohgIIWFE/tDWPiFM8TTGIQ2IJe02eg==";
+      };
+    };
     "vscode-languageserver-types-3.17.0-next.3" = {
       name = "vscode-languageserver-types";
       packageName = "vscode-languageserver-types";
@@ -71459,15 +71396,6 @@ let
         sha512 = "rHYeCotiabJHgvIYzWjV8g0dHCxyOQtcryTv1Xa1horaQ4jx2V+rjLBstc6zMpCyrnZcjorwEcAvGBDCd6wudw==";
       };
     };
-    "vscode-languageserver-types-3.17.0-next.9" = {
-      name = "vscode-languageserver-types";
-      packageName = "vscode-languageserver-types";
-      version = "3.17.0-next.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.9.tgz";
-        sha512 = "9/PeDNPYduaoXRUzYpqmu4ZV9L01HGo0wH9FUt+sSHR7IXwA7xoXBfNUlv8gB9H0D2WwEmMomSy1NmhjKQyn3A==";
-      };
-    };
     "vscode-languageserver-types-3.5.0" = {
       name = "vscode-languageserver-types";
       packageName = "vscode-languageserver-types";
@@ -71504,13 +71432,13 @@ let
         sha512 = "7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw==";
       };
     };
-    "vscode-nls-5.0.0" = {
+    "vscode-nls-5.0.1" = {
       name = "vscode-nls";
       packageName = "vscode-nls";
-      version = "5.0.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.0.tgz";
-        sha512 = "u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==";
+        url = "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.1.tgz";
+        sha512 = "hHQV6iig+M21lTdItKPkJAaWrxALQb/nqpVffakO4knJOh3DrU2SXOMzUzNgo1eADPzu3qSsJY1weCzvR52q9A==";
       };
     };
     "vscode-textbuffer-1.0.0" = {
@@ -72368,13 +72296,13 @@ let
         sha512 = "7iZ+u28Ljw5hCnMiq0BCOeSYf0vCFQe/ORY0HgscTiKjQed8WqugpBUggJ2NTnB9fahn1kEnPRX2jf8Px5PhJw==";
       };
     };
-    "webtorrent-1.8.13" = {
+    "webtorrent-1.8.16" = {
       name = "webtorrent";
       packageName = "webtorrent";
-      version = "1.8.13";
+      version = "1.8.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.8.13.tgz";
-        sha512 = "CrNeCA2ZRSvG7YRVpmjyT8sr7QOa7E70k0nAAqIEIvXsYgDexwrwMe4TxH9sXbwaJCA9URSX9UBEGNZ/bjhwMg==";
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.8.16.tgz";
+        sha512 = "cRiCUn+B62KHN+BtQLZ8+9eGJ8aPQtrk9OVnLDehudxY1u/1ajwuE+5p/ho1vT3ysmro0UtCRNnEor0+QmNaDA==";
       };
     };
     "webworkify-webpack-2.1.5" = {
@@ -72845,6 +72773,15 @@ let
         sha512 = "TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==";
       };
     };
+    "winston-2.4.6" = {
+      name = "winston";
+      packageName = "winston";
+      version = "2.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz";
+        sha512 = "J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==";
+      };
+    };
     "winston-3.3.3" = {
       name = "winston";
       packageName = "winston";
@@ -72989,15 +72926,6 @@ let
         sha512 = "toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==";
       };
     };
-    "workerpool-6.2.0" = {
-      name = "workerpool";
-      packageName = "workerpool";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz";
-        sha512 = "Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==";
-      };
-    };
     "workerpool-6.2.1" = {
       name = "workerpool";
       packageName = "workerpool";
@@ -73313,6 +73241,15 @@ let
         sha512 = "BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==";
       };
     };
+    "ws-8.6.0" = {
+      name = "ws";
+      packageName = "ws";
+      version = "8.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz";
+        sha512 = "AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==";
+      };
+    };
     "wtfnode-0.8.4" = {
       name = "wtfnode";
       packageName = "wtfnode";
@@ -73412,13 +73349,13 @@ let
         sha512 = "N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ==";
       };
     };
-    "xdl-59.2.31" = {
+    "xdl-59.2.36" = {
       name = "xdl";
       packageName = "xdl";
-      version = "59.2.31";
+      version = "59.2.36";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xdl/-/xdl-59.2.31.tgz";
-        sha512 = "RCx00veTOTZeB2aCz84wBJw4dgOJPR5cEBgngyFf33hK5VCP/2+YjzNEAkKbZySjfG6q5pY1Wli9ktlLbFdwDA==";
+        url = "https://registry.npmjs.org/xdl/-/xdl-59.2.36.tgz";
+        sha512 = "XpooZ7+Hq8og+InhqXknp8Ykk6onrm/+cVXYjCfvVbgW9VUApAyOx4ldsIA6XXa4osLj8z1MFhp/vWoVFPjubg==";
       };
     };
     "xenvar-0.5.1" = {
@@ -73917,15 +73854,6 @@ let
         sha512 = "r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==";
       };
     };
-    "yaml-2.0.0-10" = {
-      name = "yaml";
-      packageName = "yaml";
-      version = "2.0.0-10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yaml/-/yaml-2.0.0-10.tgz";
-        sha512 = "FHV8s5ODFFQXX/enJEU2EkanNl1UDBUz8oa4k5Qo/sR+Iq7VmhCDkRMb0/mjJCNeAWQ31W8WV6PYStDE4d9EIw==";
-      };
-    };
     "yaml-2.0.0-11" = {
       name = "yaml";
       packageName = "yaml";
@@ -74625,15 +74553,15 @@ in
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "13.3.3";
+    version = "13.3.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-13.3.3.tgz";
-      sha512 = "a+nnzFP1FfnypXpAhrHbIBaJcxzegWLZUvVzJQwt6P2z60IoHdvTVmyNbY89qI0LE1SrAokEUO1zW3Yjmu7fUw==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-13.3.4.tgz";
+      sha512 = "4S5FNjkZgq98zcBVgwkYtMgMRMSVsprCgq7dM8yTxIQh+Np3fYgj5eRJ1+mfFG/kankH2z/TFyuoYiILh2D9Uw==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.1303.3"
-      sources."@angular-devkit/core-13.3.3"
-      sources."@angular-devkit/schematics-13.3.3"
+      sources."@angular-devkit/architect-0.1303.4"
+      sources."@angular-devkit/core-13.3.4"
+      sources."@angular-devkit/schematics-13.3.4"
       sources."@gar/promisify-1.1.3"
       sources."@npmcli/fs-1.1.1"
       sources."@npmcli/git-2.1.0"
@@ -74642,7 +74570,7 @@ in
       sources."@npmcli/node-gyp-1.0.3"
       sources."@npmcli/promise-spawn-1.3.2"
       sources."@npmcli/run-script-2.0.0"
-      sources."@schematics/angular-13.3.3"
+      sources."@schematics/angular-13.3.4"
       sources."@tootallnate/once-1.1.2"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."abbrev-1.1.1"
@@ -74721,11 +74649,11 @@ in
       (sources."inquirer-8.2.0" // {
         dependencies = [
           sources."rxjs-7.5.5"
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."ip-1.1.5"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-docker-2.2.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-interactive-1.0.0"
@@ -74769,18 +74697,21 @@ in
           sources."@npmcli/fs-2.1.0"
           sources."@npmcli/move-file-2.0.0"
           sources."@tootallnate/once-2.0.0"
-          sources."cacache-16.0.4"
+          sources."brace-expansion-2.0.1"
+          sources."cacache-16.0.7"
+          sources."glob-8.0.1"
           sources."http-proxy-agent-5.0.0"
-          sources."lru-cache-7.8.1"
+          sources."lru-cache-7.9.0"
           (sources."make-fetch-happen-10.1.2" // {
             dependencies = [
               sources."minipass-fetch-2.1.0"
             ];
           })
+          sources."minimatch-5.0.1"
           sources."ssri-9.0.0"
         ];
       })
-      sources."npmlog-6.0.1"
+      sources."npmlog-6.0.2"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       sources."open-8.4.0"
@@ -74809,7 +74740,7 @@ in
       sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
       sources."socks-2.6.2"
-      sources."socks-proxy-agent-6.1.1"
+      sources."socks-proxy-agent-6.2.0"
       sources."source-map-0.7.3"
       sources."sourcemap-codec-1.4.8"
       sources."ssri-8.0.1"
@@ -74849,10 +74780,10 @@ in
   "@antfu/ni" = nodeEnv.buildNodePackage {
     name = "_at_antfu_slash_ni";
     packageName = "@antfu/ni";
-    version = "0.14.0";
+    version = "0.16.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@antfu/ni/-/ni-0.14.0.tgz";
-      sha512 = "AfHEQ+6Kjb+PMdOBR2h6CrDKYgncIZKW5NwkR1BLkCWm4DHBCTfnQJeO3ixtWr0KE9BCnwGoM8xEx6y45p0n4g==";
+      url = "https://registry.npmjs.org/@antfu/ni/-/ni-0.16.2.tgz";
+      sha512 = "HZH4I07EYKU4KZLtUYm/zEmaDIhaq51H/qu45uH1AcUPWqMGbB7evE/TnSr0SGInEA+oQs4Is5Vn/PmQhfuU5w==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -74880,7 +74811,7 @@ in
       sources."@iarna/toml-2.2.5"
       sources."ansi-styles-3.2.1"
       sources."argparse-2.0.1"
-      sources."args-5.0.1"
+      sources."args-5.0.3"
       sources."atomic-sleep-1.0.0"
       sources."camelcase-5.0.0"
       (sources."camelcase-keys-7.0.2" // {
@@ -74977,7 +74908,7 @@ in
       sources."ansi-styles-3.2.1"
       sources."append-buffer-1.0.2"
       sources."argparse-2.0.1"
-      (sources."args-5.0.1" // {
+      (sources."args-5.0.3" // {
         dependencies = [
           sources."camelcase-5.0.0"
         ];
@@ -75199,13 +75130,13 @@ in
   "@astrojs/language-server" = nodeEnv.buildNodePackage {
     name = "_at_astrojs_slash_language-server";
     packageName = "@astrojs/language-server";
-    version = "0.14.0";
+    version = "0.16.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.14.0.tgz";
-      sha512 = "JxyjiH4Ve/jRaOhWGsTfVtzTULK+LX3oXROgl4NXOAiI2b5bzNuL3n4jyFSNA3oO3BkjjQKpauXYxpkPe7YMEQ==";
+      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.16.0.tgz";
+      sha512 = "NNXsLGh6LxzcIBPTtwPcS9nrkTCI2afHzxaAsdG3DXUFaztNlJa05PIA/tqnob/BIqZj02cEFS5bX1npLyjqaw==";
     };
     dependencies = [
-      sources."@astrojs/svelte-language-integration-0.1.2"
+      sources."@astrojs/svelte-language-integration-0.1.4"
       sources."@emmetio/abbreviation-2.2.3"
       sources."@emmetio/css-abbreviation-2.1.4"
       sources."@emmetio/scanner-1.0.0"
@@ -75222,18 +75153,18 @@ in
       sources."no-case-3.0.4"
       sources."pascal-case-3.1.2"
       sources."source-map-0.7.3"
-      sources."svelte-3.47.0"
+      sources."svelte-3.48.0"
       sources."svelte2tsx-0.5.9"
-      sources."tslib-2.3.1"
-      sources."typescript-4.6.3"
-      sources."vscode-css-languageservice-5.4.1"
-      sources."vscode-html-languageservice-4.2.4"
+      sources."tslib-2.4.0"
+      sources."typescript-4.6.4"
+      sources."vscode-css-languageservice-5.4.2"
+      sources."vscode-html-languageservice-4.2.5"
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-7.0.0"
       sources."vscode-languageserver-protocol-3.16.0"
       sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
-      sources."vscode-nls-5.0.0"
+      sources."vscode-nls-5.0.1"
       sources."vscode-uri-3.0.3"
     ];
     buildInputs = globalBuildInputs;
@@ -75248,18 +75179,18 @@ in
   "@bitwarden/cli" = nodeEnv.buildNodePackage {
     name = "_at_bitwarden_slash_cli";
     packageName = "@bitwarden/cli";
-    version = "1.22.0";
+    version = "1.22.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@bitwarden/cli/-/cli-1.22.0.tgz";
-      sha512 = "EZ304ncWMB1wUA+EJ7BO6mANQa/0yMxmXta6HGKIBoVqW0tSeWq8632ifhQm8/GbDpGbeZ7cLs4Zb04lyffSgw==";
+      url = "https://registry.npmjs.org/@bitwarden/cli/-/cli-1.22.1.tgz";
+      sha512 = "tjRig3vs+tS6zBXZPqei8EEzFLtGJAaqPz2GUIbZWCfKoPTUhDZFGjKVwUFaVbfadYBms4QW8NB/7FPtlBcVRw==";
     };
     dependencies = [
       sources."@koa/multer-3.0.0"
       sources."@koa/router-10.1.1"
       sources."@tootallnate/once-1.1.2"
-      sources."abab-2.0.5"
+      sources."abab-2.0.6"
       sources."accepts-1.3.8"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -75515,10 +75446,10 @@ in
   "@commitlint/cli" = nodeEnv.buildNodePackage {
     name = "_at_commitlint_slash_cli";
     packageName = "@commitlint/cli";
-    version = "16.2.3";
+    version = "16.2.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@commitlint/cli/-/cli-16.2.3.tgz";
-      sha512 = "VsJBQLvhhlOgEfxs/Z5liYuK0dXqLE5hz1VJzLBxiOxG31kL/X5Q4OvK292BmO7IGZcm1yJE3XQPWSiFaEHbWA==";
+      url = "https://registry.npmjs.org/@commitlint/cli/-/cli-16.2.4.tgz";
+      sha512 = "rbvqvz9JI+uiKxV2nH65BtSU01fsADd3bxe9fWtO3rM0c+CI/H9FfzKkDLvSRmXjvk1G2/wXlCGeqO9IBT4X9g==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -75537,14 +75468,14 @@ in
       sources."@commitlint/ensure-16.2.1"
       sources."@commitlint/execute-rule-16.2.1"
       sources."@commitlint/format-16.2.1"
-      sources."@commitlint/is-ignored-16.2.1"
-      sources."@commitlint/lint-16.2.1"
-      sources."@commitlint/load-16.2.3"
+      sources."@commitlint/is-ignored-16.2.4"
+      sources."@commitlint/lint-16.2.4"
+      sources."@commitlint/load-16.2.4"
       sources."@commitlint/message-16.2.1"
       sources."@commitlint/parse-16.2.1"
       sources."@commitlint/read-16.2.1"
       sources."@commitlint/resolve-extends-16.2.1"
-      sources."@commitlint/rules-16.2.1"
+      sources."@commitlint/rules-16.2.4"
       sources."@commitlint/to-lines-16.2.1"
       (sources."@commitlint/top-level-16.2.1" // {
         dependencies = [
@@ -75562,11 +75493,11 @@ in
       sources."@tsconfig/node14-1.0.1"
       sources."@tsconfig/node16-1.0.2"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."JSONStream-1.3.5"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-walk-8.2.0"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
@@ -75605,7 +75536,7 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."find-up-4.1.0"
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
       sources."get-stream-6.0.1"
@@ -75626,7 +75557,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-obj-2.0.0"
       sources."is-plain-obj-1.1.0"
@@ -75685,7 +75616,7 @@ in
       sources."resolve-from-5.0.0"
       sources."resolve-global-1.0.0"
       sources."safe-buffer-5.2.1"
-      sources."semver-7.3.5"
+      sources."semver-7.3.7"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.7"
@@ -75707,11 +75638,11 @@ in
       sources."trim-newlines-3.0.1"
       sources."ts-node-10.7.0"
       sources."type-fest-0.18.1"
-      sources."typescript-4.6.3"
+      sources."typescript-4.6.4"
       sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
       sources."util-deprecate-1.0.2"
-      sources."v8-compile-cache-lib-3.0.0"
+      sources."v8-compile-cache-lib-3.0.1"
       sources."validate-npm-package-license-3.0.4"
       sources."which-2.0.2"
       sources."wrap-ansi-7.0.0"
@@ -75740,10 +75671,10 @@ in
   "@commitlint/config-conventional" = nodeEnv.buildNodePackage {
     name = "_at_commitlint_slash_config-conventional";
     packageName = "@commitlint/config-conventional";
-    version = "16.2.1";
+    version = "16.2.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-16.2.1.tgz";
-      sha512 = "cP9gArx7gnaj4IqmtCIcHdRjTYdRUi6lmGE+lOzGGjGe45qGOS8nyQQNvkNy2Ey2VqoSWuXXkD8zCUh6EHf1Ww==";
+      url = "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-16.2.4.tgz";
+      sha512 = "av2UQJa3CuE5P0dzxj/o/B9XVALqYzEViHrMXtDrW9iuflrqCStWBAioijppj9URyz6ONpohJKAtSdgAOE0gkA==";
     };
     dependencies = [
       sources."array-ify-1.0.0"
@@ -75792,7 +75723,7 @@ in
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/responselike-1.0.0"
       sources."abort-controller-3.0.0"
@@ -75858,7 +75789,7 @@ in
       sources."figures-3.2.0"
       sources."fill-range-7.0.1"
       sources."find-up-5.0.0"
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."fuzzy-0.1.3"
@@ -75885,7 +75816,7 @@ in
       sources."ieee754-1.2.1"
       sources."indent-string-4.0.0"
       sources."inherits-2.0.4"
-      sources."inquirer-8.2.2"
+      sources."inquirer-8.2.4"
       (sources."inquirer-autocomplete-prompt-ipt-2.0.0" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -75900,7 +75831,7 @@ in
       })
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-2.1.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -75967,7 +75898,7 @@ in
       (sources."p-map-5.3.0" // {
         dependencies = [
           sources."aggregate-error-4.0.0"
-          sources."clean-stack-4.1.0"
+          sources."clean-stack-4.2.0"
           sources."escape-string-regexp-5.0.0"
           sources."indent-string-5.0.0"
         ];
@@ -76033,9 +75964,9 @@ in
           sources."type-fest-2.12.2"
         ];
       })
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."type-fest-0.21.3"
-      sources."typescript-4.6.3"
+      sources."typescript-4.6.4"
       sources."universalify-2.0.0"
       sources."url-parse-1.5.10"
       sources."url-template-2.0.8"
@@ -76045,6 +75976,7 @@ in
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
+      sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."wtfnode-0.8.4"
       sources."yallist-4.0.0"
@@ -76078,10 +76010,10 @@ in
       sources."@hyperswarm/hypersign-2.1.1"
       sources."@hyperswarm/network-2.1.0"
       sources."@leichtgewicht/ip-codec-2.0.3"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."abstract-extension-3.1.1"
       sources."abstract-leveldown-6.2.3"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-walk-8.2.0"
       (sources."ansi-diff-stream-1.2.1" // {
         dependencies = [
@@ -76094,8 +76026,8 @@ in
       sources."arpeecee-2.2.0"
       sources."array-lru-1.1.1"
       sources."atomic-batcher-1.0.2"
-      sources."await-lock-2.1.0"
-      sources."b4a-1.3.1"
+      sources."await-lock-2.2.2"
+      sources."b4a-1.5.0"
       sources."base64-js-1.5.1"
       sources."binary-extensions-2.2.0"
       (sources."bitfield-rle-2.2.1" // {
@@ -76231,7 +76163,7 @@ in
       sources."inspect-custom-symbol-1.1.1"
       sources."ipv4-peers-2.0.0"
       sources."is-binary-path-2.1.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
@@ -76271,7 +76203,7 @@ in
       sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
       sources."mkdirp-classic-0.5.3"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."mountable-hypertrie-2.8.0"
       sources."ms-2.0.0"
       sources."multicast-dns-7.2.4"
@@ -76439,7 +76371,7 @@ in
       sha512 = "hV1PG20mLFmYbSJvV+JIGVLUT3zzDt2snR9T7tKMBAVvGQBAfzodylbTZe+b20hNz3Max2Z4zsKVksRu71x1+A==";
     };
     dependencies = [
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@medable/mdctl-api-1.0.64"
       sources."@medable/mdctl-api-driver-1.0.64"
       sources."@medable/mdctl-axon-tools-1.0.64"
@@ -76474,7 +76406,7 @@ in
       sources."@types/markdown-it-12.2.3"
       sources."@types/mdurl-1.0.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/tough-cookie-2.3.8"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -76807,7 +76739,7 @@ in
       sources."ip-regex-2.1.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
@@ -76907,7 +76839,7 @@ in
         ];
       })
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.7"
       sources."nan-2.14.0"
@@ -77279,7 +77211,7 @@ in
       sources."type-check-0.3.2"
       sources."uc.micro-1.0.6"
       sources."uglify-js-3.15.4"
-      sources."underscore-1.13.2"
+      sources."underscore-1.13.3"
       sources."union-value-1.0.1"
       (sources."universal-url-2.0.0" // {
         dependencies = [
@@ -77361,7 +77293,7 @@ in
       sha512 = "wNbAzVF3G4zjGkxATccYtiSgiWXseDRacra71ozH5JOUX4L3RRbd1iaqKRwILLKzcyxsvsOWbV47CSBRR6bK5g==";
     };
     dependencies = [
-      sources."@hapi/hoek-9.2.1"
+      sources."@hapi/hoek-9.3.0"
       sources."@hapi/topo-5.1.0"
       sources."@kwsites/file-exists-1.1.1"
       sources."@kwsites/promise-deferred-1.1.1"
@@ -77478,7 +77410,7 @@ in
           sources."chalk-4.1.2"
           sources."inquirer-8.2.0"
           sources."rxjs-7.5.5"
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."@babel/code-frame-7.16.7"
@@ -77499,7 +77431,7 @@ in
       sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.11"
       sources."@types/json5-0.0.29"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/parse-json-4.0.0"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
@@ -77518,7 +77450,7 @@ in
       sources."@webassemblyjs/wast-printer-1.11.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-import-assertions-1.8.0"
       sources."ajv-8.9.0"
       sources."ajv-formats-2.1.1"
@@ -77534,11 +77466,11 @@ in
       sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       sources."chalk-3.0.0"
       sources."chardet-0.7.0"
       sources."chokidar-3.5.3"
@@ -77557,7 +77489,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."enhanced-resolve-5.9.3"
@@ -77610,7 +77542,7 @@ in
       sources."interpret-1.4.0"
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-2.1.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
@@ -77634,6 +77566,7 @@ in
       sources."lines-and-columns-1.2.4"
       sources."loader-runner-4.3.0"
       sources."lodash-4.17.21"
+      sources."lodash.sortby-4.7.0"
       (sources."log-symbols-4.1.0" // {
         dependencies = [
           sources."chalk-4.1.2"
@@ -77652,7 +77585,7 @@ in
       sources."mute-stream-0.0.8"
       sources."neo-async-2.6.2"
       sources."node-emoji-1.11.0"
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
       sources."once-1.4.0"
@@ -77716,9 +77649,10 @@ in
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."symbol-observable-4.0.0"
       sources."tapable-2.2.1"
-      (sources."terser-5.12.1" // {
+      (sources."terser-5.13.1" // {
         dependencies = [
           sources."commander-2.20.3"
+          sources."source-map-0.8.0-beta.0"
         ];
       })
       (sources."terser-webpack-plugin-5.3.1" // {
@@ -77729,6 +77663,7 @@ in
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."to-regex-range-5.0.1"
+      sources."tr46-1.0.1"
       sources."tree-kill-1.2.2"
       sources."tsconfig-paths-3.14.1"
       (sources."tsconfig-paths-webpack-plugin-3.5.2" // {
@@ -77744,9 +77679,11 @@ in
       sources."util-deprecate-1.0.2"
       sources."watchpack-2.3.1"
       sources."wcwidth-1.0.1"
+      sources."webidl-conversions-4.0.2"
       sources."webpack-5.71.0"
       sources."webpack-node-externals-3.0.0"
       sources."webpack-sources-3.2.3"
+      sources."whatwg-url-7.1.0"
       sources."which-2.0.2"
       sources."windows-release-4.0.0"
       sources."wrappy-1.0.2"
@@ -77878,10 +77815,10 @@ in
   "@tailwindcss/line-clamp" = nodeEnv.buildNodePackage {
     name = "_at_tailwindcss_slash_line-clamp";
     packageName = "@tailwindcss/line-clamp";
-    version = "0.3.1";
+    version = "0.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.3.1.tgz";
-      sha512 = "pNr0T8LAc3TUx/gxCfQZRe9NB2dPEo/cedPHzUGIPxqDMhgjwNm6jYxww4W5l0zAsAddxr+XfZcqttGiFDgrGg==";
+      url = "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.4.0.tgz";
+      sha512 = "HQZo6gfx1D0+DU3nWlNLD5iA6Ef4JAXh0LeD8lOGrJwEDBwwJNKQza6WoXhhY1uQrxOuU8ROxV7CqiQV4CoiLw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -77919,10 +77856,10 @@ in
   "@uppy/companion" = nodeEnv.buildNodePackage {
     name = "_at_uppy_slash_companion";
     packageName = "@uppy/companion";
-    version = "3.5.0";
+    version = "3.5.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@uppy/companion/-/companion-3.5.0.tgz";
-      sha512 = "hFsp3x/B2H++bjuDiaC0s0ktENe35OQKAoj78WUn1W50my6lpDMywd5WWmlFurK7Dda7I0OwVyaZ0c9L2hqCCg==";
+      url = "https://registry.npmjs.org/@uppy/companion/-/companion-3.5.2.tgz";
+      sha512 = "jvDzOlYvujIzUp4xgB9bJ80eGna9d59eIuLgJY1AlZTerNSwnsd6cfEhVofL1peQ6lGKoBzgqhfYzXts5mdinQ==";
     };
     dependencies = [
       sources."@purest/config-1.0.1"
@@ -77942,7 +77879,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.1115.0" // {
+      (sources."aws-sdk-2.1125.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -78097,7 +78034,7 @@ in
           sources."mime-db-1.42.0"
         ];
       })
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."moment-timezone-0.5.34"
       (sources."morgan-1.10.0" // {
         dependencies = [
@@ -78222,7 +78159,7 @@ in
     dependencies = [
       sources."@achrinza/node-ipc-9.2.2"
       sources."@akryum/winattr-3.0.0"
-      sources."@ampproject/remapping-2.1.2"
+      sources."@ampproject/remapping-2.2.0"
       (sources."@apollo/protobufjs-1.2.2" // {
         dependencies = [
           sources."@types/node-10.17.60"
@@ -78232,20 +78169,16 @@ in
       sources."@apollographql/graphql-playground-html-1.6.27"
       sources."@apollographql/graphql-upload-8-fork-8.1.3"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.7"
-      (sources."@babel/core-7.17.9" // {
+      sources."@babel/compat-data-7.17.10"
+      (sources."@babel/core-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.17.9" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
+      sources."@babel/generator-7.17.10"
       sources."@babel/helper-annotate-as-pure-7.16.7"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.17.7" // {
+      (sources."@babel/helper-compilation-targets-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -78285,7 +78218,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
@@ -78318,7 +78251,7 @@ in
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-syntax-typescript-7.16.7"
+      sources."@babel/plugin-syntax-typescript-7.17.10"
       sources."@babel/plugin-transform-arrow-functions-7.16.7"
       sources."@babel/plugin-transform-async-to-generator-7.16.8"
       sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
@@ -78338,7 +78271,7 @@ in
       sources."@babel/plugin-transform-modules-commonjs-7.17.9"
       sources."@babel/plugin-transform-modules-systemjs-7.17.8"
       sources."@babel/plugin-transform-modules-umd-7.16.7"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.17.10"
       sources."@babel/plugin-transform-new-target-7.16.7"
       sources."@babel/plugin-transform-object-super-7.16.7"
       sources."@babel/plugin-transform-parameters-7.16.7"
@@ -78353,7 +78286,7 @@ in
       sources."@babel/plugin-transform-typescript-7.16.8"
       sources."@babel/plugin-transform-unicode-escapes-7.16.7"
       sources."@babel/plugin-transform-unicode-regex-7.16.7"
-      (sources."@babel/preset-env-7.16.11" // {
+      (sources."@babel/preset-env-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -78370,14 +78303,16 @@ in
       })
       sources."@babel/runtime-7.17.9"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.9"
-      sources."@babel/types-7.17.0"
-      sources."@hapi/hoek-9.2.1"
+      sources."@babel/traverse-7.17.10"
+      sources."@babel/types-7.17.10"
+      sources."@hapi/hoek-9.3.0"
       sources."@hapi/topo-5.1.0"
       sources."@josephg/resolvable-1.0.1"
-      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/resolve-uri-3.0.6"
+      sources."@jridgewell/set-array-1.1.0"
       sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@jridgewell/trace-mapping-0.3.9"
       sources."@node-ipc/js-queue-2.0.3"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
@@ -78418,9 +78353,9 @@ in
       sources."@types/keygrip-1.0.2"
       sources."@types/koa-2.13.4"
       sources."@types/koa-compose-3.2.5"
-      sources."@types/long-4.0.1"
+      sources."@types/long-4.0.2"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
@@ -78527,7 +78462,7 @@ in
       })
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -78546,7 +78481,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       sources."caw-2.0.1"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
@@ -78596,15 +78531,15 @@ in
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      (sources."core-js-compat-3.22.0" // {
+      (sources."core-js-compat-3.22.3" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
       })
-      sources."core-js-pure-3.22.0"
+      sources."core-js-pure-3.22.3"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       (sources."cross-spawn-6.0.5" // {
@@ -78666,8 +78601,8 @@ in
       sources."duplexer3-0.1.4"
       sources."easy-stack-1.0.1"
       sources."ee-first-1.1.1"
-      sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.4.110"
+      sources."ejs-3.1.7"
+      sources."electron-to-chromium-1.4.129"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -78705,13 +78640,12 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
-          sources."body-parser-1.19.2"
           sources."debug-2.6.9"
-          sources."on-finished-2.3.0"
-          sources."qs-6.9.7"
-          sources."raw-body-2.4.3"
+          sources."depd-2.0.0"
+          sources."http-errors-2.0.0"
+          sources."statuses-2.0.1"
         ];
       })
       sources."express-history-api-fallback-2.2.1"
@@ -78735,14 +78669,19 @@ in
       sources."fd-slicer-1.1.0"
       sources."figures-3.2.0"
       sources."file-type-8.1.0"
-      sources."filelist-1.0.2"
+      (sources."filelist-1.0.3" // {
+        dependencies = [
+          sources."brace-expansion-2.0.1"
+          sources."minimatch-5.0.1"
+        ];
+      })
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-2.1.0"
       sources."fill-range-7.0.1"
-      (sources."finalhandler-1.1.2" // {
+      (sources."finalhandler-1.2.0" // {
         dependencies = [
           sources."debug-2.6.9"
-          sources."on-finished-2.3.0"
+          sources."statuses-2.0.1"
         ];
       })
       (sources."find-cache-dir-2.1.0" // {
@@ -78772,7 +78711,7 @@ in
           sources."which-2.0.2"
         ];
       })
-      sources."flow-parser-0.176.2"
+      sources."flow-parser-0.176.3"
       sources."for-each-0.3.3"
       sources."for-in-1.0.2"
       sources."forwarded-0.2.0"
@@ -78827,7 +78766,7 @@ in
       sources."graphql-type-json-0.3.2"
       sources."growly-1.3.0"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-flag-4.0.0"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbol-support-x-1.4.2"
@@ -78858,7 +78797,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inquirer-8.2.2"
+      sources."inquirer-8.2.4"
       sources."internal-slot-1.0.3"
       sources."into-stream-3.1.0"
       sources."ipaddr.js-1.9.1"
@@ -78868,7 +78807,7 @@ in
       sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
@@ -78902,9 +78841,9 @@ in
       sources."isobject-3.0.1"
       sources."isurl-1.0.0"
       sources."iterall-1.3.0"
-      (sources."jake-10.8.4" // {
+      (sources."jake-10.8.5" // {
         dependencies = [
-          sources."async-0.9.2"
+          sources."async-3.2.3"
         ];
       })
       sources."javascript-stringify-2.1.0"
@@ -78988,7 +78927,7 @@ in
           sources."which-2.0.2"
         ];
       })
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -79079,7 +79018,7 @@ in
       })
       sources."posix-character-classes-0.1.1"
       sources."prepend-http-2.0.0"
-      sources."prismjs-1.27.0"
+      sources."prismjs-1.28.0"
       sources."private-0.1.8"
       (sources."process-exists-4.1.0" // {
         dependencies = [
@@ -79142,19 +79081,20 @@ in
         ];
       })
       sources."semver-7.3.7"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
               sources."ms-2.0.0"
             ];
           })
-          sources."destroy-1.0.4"
+          sources."depd-2.0.0"
+          sources."http-errors-2.0.0"
           sources."ms-2.1.3"
-          sources."on-finished-2.3.0"
+          sources."statuses-2.0.1"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -79295,12 +79235,12 @@ in
           sources."tslib-1.14.1"
         ];
       })
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."tunnel-agent-0.6.0"
       sources."type-fest-0.6.0"
       sources."type-is-1.6.18"
       sources."typescript-4.5.5"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."unbzip2-stream-1.4.3"
       sources."unicode-canonical-property-names-ecmascript-2.0.0"
       sources."unicode-match-property-ecmascript-2.0.0"
@@ -79511,12 +79451,15 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/generator-7.17.9"
+      sources."@babel/generator-7.17.10"
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/highlight-7.17.9"
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/template-7.16.7"
-      sources."@babel/types-7.17.0"
+      sources."@babel/types-7.17.10"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/set-array-1.1.0"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
       sources."@webassemblyjs/helper-api-error-1.11.1"
@@ -79537,7 +79480,6 @@ in
       sources."has-flag-3.0.0"
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
-      sources."source-map-0.5.7"
       sources."supports-color-5.5.0"
       sources."to-fast-properties-2.0.0"
     ];
@@ -79607,12 +79549,12 @@ in
       sources."@types/minimist-1.2.2"
       sources."@types/ms-0.7.31"
       sources."@types/nlcst-1.0.0"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse5-6.0.3"
       sources."@types/supports-color-8.1.1"
       sources."@types/unist-2.0.6"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-jsx-5.3.2"
       sources."ansi-align-3.0.1"
       sources."ansi-regex-5.0.1"
@@ -79753,7 +79695,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-decimal-2.0.1"
       sources."is-empty-1.2.0"
       sources."is-fullwidth-code-point-3.0.0"
@@ -79834,7 +79776,7 @@ in
       sources."micromark-extension-mdx-jsx-1.0.3"
       sources."micromark-extension-mdx-md-1.0.0"
       sources."micromark-extension-mdxjs-1.0.0"
-      sources."micromark-extension-mdxjs-esm-1.0.2"
+      sources."micromark-extension-mdxjs-esm-1.0.3"
       sources."micromark-factory-destination-1.0.0"
       sources."micromark-factory-label-1.0.2"
       sources."micromark-factory-mdx-expression-1.0.6"
@@ -79848,11 +79790,7 @@ in
       sources."micromark-util-decode-numeric-character-reference-1.0.0"
       sources."micromark-util-decode-string-1.0.2"
       sources."micromark-util-encode-1.0.1"
-      (sources."micromark-util-events-to-acorn-1.0.4" // {
-        dependencies = [
-          sources."@types/estree-0.0.50"
-        ];
-      })
+      sources."micromark-util-events-to-acorn-1.0.6"
       sources."micromark-util-html-tag-name-1.0.0"
       sources."micromark-util-normalize-identifier-1.0.0"
       sources."micromark-util-resolve-all-1.0.0"
@@ -80078,16 +80016,12 @@ in
       sha512 = "6Avt9pRA194Z/yN4hb7/6ZRhMtWLydsje2uP82b1VVFSBWwDlkswLTDFD0ngSEHlBSNR+bFnyOAGh+mpHQNYOQ==";
     };
     dependencies = [
-      sources."@ampproject/remapping-2.1.2"
+      sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.7"
-      sources."@babel/core-7.17.9"
-      (sources."@babel/generator-7.17.9" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
-      sources."@babel/helper-compilation-targets-7.17.7"
+      sources."@babel/compat-data-7.17.10"
+      sources."@babel/core-7.17.10"
+      sources."@babel/generator-7.17.10"
+      sources."@babel/helper-compilation-targets-7.17.10"
       sources."@babel/helper-environment-visitor-7.16.7"
       sources."@babel/helper-function-name-7.17.9"
       sources."@babel/helper-hoist-variables-7.16.7"
@@ -80099,22 +80033,24 @@ in
       sources."@babel/helper-validator-option-7.16.7"
       sources."@babel/helpers-7.17.9"
       sources."@babel/highlight-7.17.9"
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.9"
-      sources."@babel/types-7.17.0"
-      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@babel/traverse-7.17.10"
+      sources."@babel/types-7.17.10"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/resolve-uri-3.0.6"
+      sources."@jridgewell/set-array-1.1.0"
       sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@jridgewell/trace-mapping-0.3.9"
       sources."@xmldom/xmldom-0.8.2"
       sources."JSV-4.0.2"
       sources."ansi-styles-3.2.1"
       sources."array-unique-0.3.2"
       sources."async-3.2.3"
       sources."balanced-match-1.0.2"
-      sources."brace-expansion-1.1.11"
-      sources."browserslist-4.20.2"
-      sources."caniuse-lite-1.0.30001332"
+      sources."brace-expansion-2.0.1"
+      sources."browserslist-4.20.3"
+      sources."caniuse-lite-1.0.30001334"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -80124,11 +80060,15 @@ in
       sources."convert-source-map-1.8.0"
       sources."debug-4.3.4"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       sources."ensure-posix-path-1.1.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
-      sources."filelist-1.0.2"
+      (sources."filelist-1.0.3" // {
+        dependencies = [
+          sources."minimatch-5.0.1"
+        ];
+      })
       sources."fs-extra-5.0.0"
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
@@ -80151,13 +80091,12 @@ in
       sources."homedir-polyfill-1.0.3"
       sources."ini-1.3.8"
       sources."is-3.3.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-windows-1.0.2"
       sources."isexe-2.0.0"
-      (sources."jake-10.8.4" // {
+      (sources."jake-10.8.5" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."async-0.9.2"
           sources."chalk-4.1.2"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
@@ -80172,10 +80111,14 @@ in
       sources."jsonlint-1.6.3"
       sources."lodash-4.17.21"
       sources."matcher-collection-1.1.2"
-      sources."minimatch-3.1.2"
+      (sources."minimatch-3.1.2" // {
+        dependencies = [
+          sources."brace-expansion-1.1.11"
+        ];
+      })
       sources."moment-2.29.1"
       sources."ms-2.1.2"
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       sources."node.extend-2.0.2"
       (sources."nomnom-1.8.1" // {
         dependencies = [
@@ -80216,10 +80159,10 @@ in
   antennas = nodeEnv.buildNodePackage {
     name = "antennas";
     packageName = "antennas";
-    version = "4.1.0";
+    version = "4.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/antennas/-/antennas-4.1.0.tgz";
-      sha512 = "lqPoPSftBQyiIPFL2GNxvbHZrHTIL+iw9xhqwemUxB3ftcQRfpuWPE95MC1NSSFJ+dEAqtAkwh8tdNidK95yyQ==";
+      url = "https://registry.npmjs.org/antennas/-/antennas-4.2.0.tgz";
+      sha512 = "jnGXyVBWZ2X6Fd//dEWmcrcjzt60sFSEN+sJniDNvOMkBJ+NyoNmS1hVxG4LLfK/vZ/tOCXqniw8yq9b/QaC+w==";
     };
     dependencies = [
       sources."accepts-1.3.8"
@@ -80234,6 +80177,8 @@ in
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
+      sources."axios-0.24.0"
+      sources."axios-digest-0.3.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bluebird-3.7.2"
       sources."bytes-3.1.2"
@@ -80268,6 +80213,7 @@ in
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
+      sources."follow-redirects-1.14.9"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."fresh-0.5.2"
@@ -80293,6 +80239,9 @@ in
       sources."is-typedarray-1.0.0"
       sources."isarray-0.0.1"
       sources."isstream-0.1.2"
+      sources."js-md5-0.7.3"
+      sources."js-sha256-0.9.0"
+      sources."js-sha512-0.8.0"
       sources."js-yaml-3.14.1"
       sources."jsbn-0.1.1"
       sources."json-schema-0.4.0"
@@ -80348,8 +80297,6 @@ in
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       sources."request-2.88.2"
-      sources."request-promise-core-1.1.4"
-      sources."request-promise-native-1.0.9"
       sources."require-directory-2.1.1"
       (sources."resolve-path-1.4.0" // {
         dependencies = [
@@ -80365,7 +80312,6 @@ in
       sources."sprintf-js-1.0.3"
       sources."sshpk-1.17.0"
       sources."statuses-1.5.0"
-      sources."stealthy-require-1.1.1"
       sources."string-width-4.2.3"
       sources."strip-ansi-6.0.1"
       sources."supports-color-5.5.0"
@@ -80397,7 +80343,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "HDHomeRun emulator for Plex DVR to connect to Tvheadend.";
-      homepage = "https://github.com/thejf/antennas#readme";
+      homepage = "https://github.com/jfarseneau/antennas#readme";
       license = "MIT";
     };
     production = true;
@@ -80415,7 +80361,7 @@ in
     dependencies = [
       sources."@types/glob-7.2.0"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
@@ -80493,18 +80439,18 @@ in
   autoprefixer = nodeEnv.buildNodePackage {
     name = "autoprefixer";
     packageName = "autoprefixer";
-    version = "10.4.4";
+    version = "10.4.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz";
-      sha512 = "Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==";
+      url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.6.tgz";
+      sha512 = "Rvzel0AZO9tJNm3ydySK80PpkWoEZTGC5bHUh/xbrP8qJCy08NFBwNGPcozy3d3SDIM0b2kNxw2K7jAIYFF01A==";
     };
     dependencies = [
-      sources."browserslist-4.20.2"
-      sources."caniuse-lite-1.0.30001332"
-      sources."electron-to-chromium-1.4.110"
+      sources."browserslist-4.20.3"
+      sources."caniuse-lite-1.0.30001334"
+      sources."electron-to-chromium-1.4.129"
       sources."escalade-3.1.1"
       sources."fraction.js-4.2.0"
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       sources."normalize-range-0.1.2"
       sources."picocolors-1.0.0"
       sources."postcss-value-parser-4.2.0"
@@ -80529,14 +80475,14 @@ in
     };
     dependencies = [
       sources."@tootallnate/once-1.1.2"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/yauzl-2.10.0"
       sources."agent-base-6.0.2"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."ast-types-0.13.4"
-      (sources."aws-sdk-2.1115.0" // {
+      (sources."aws-sdk-2.1125.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -80621,7 +80567,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inquirer-8.2.2"
+      sources."inquirer-8.2.4"
       sources."ip-1.1.5"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-interactive-1.0.0"
@@ -80701,7 +80647,7 @@ in
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."toidentifier-1.0.1"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."type-check-0.3.2"
       sources."type-fest-0.21.3"
       (sources."unbzip2-stream-1.3.3" // {
@@ -80716,6 +80662,7 @@ in
       sources."uuid-8.3.2"
       sources."wcwidth-1.0.1"
       sources."word-wrap-1.2.3"
+      sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."ws-7.4.6"
       sources."xml2js-0.4.19"
@@ -80870,7 +80817,7 @@ in
       sources."is-alphanumerical-1.0.4"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-decimal-1.0.4"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -81155,10 +81102,10 @@ in
   balanceofsatoshis = nodeEnv.buildNodePackage {
     name = "balanceofsatoshis";
     packageName = "balanceofsatoshis";
-    version = "12.1.0";
+    version = "12.7.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-12.1.0.tgz";
-      sha512 = "Kj7bXqIw9oe3zvDKSyfkqRG+5rVMUU91QEYBCf1EybHwGOyKZi3QO7rdf4M5QMM/D1wHsxyWE5h6J6mCoDitdw==";
+      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-12.7.1.tgz";
+      sha512 = "moTdbzn6qXvDWYe4NuzePwTRK4QtlH4VMEkz7YHgOB/H/218vTRugg/qx1B8mAnLG4h7dwpZcribQXVOsM4Jww==";
     };
     dependencies = [
       (sources."@alexbosworth/caporal-1.4.4" // {
@@ -81184,7 +81131,7 @@ in
       })
       sources."@colors/colors-1.5.0"
       sources."@dabh/diagnostics-2.0.3"
-      sources."@grammyjs/types-2.6.0"
+      sources."@grammyjs/types-2.7.1"
       sources."@grpc/grpc-js-1.6.4"
       sources."@grpc/proto-loader-0.6.9"
       sources."@handsontable/formulajs-2.0.2"
@@ -81207,15 +81154,15 @@ in
       sources."@types/connect-3.4.35"
       sources."@types/express-4.17.13"
       sources."@types/express-serve-static-core-4.17.28"
-      sources."@types/long-4.0.1"
+      sources."@types/long-4.0.2"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
       sources."@types/request-2.48.8"
       sources."@types/serve-static-1.13.10"
       sources."@types/tough-cookie-4.0.2"
-      sources."@types/ws-8.5.2"
+      sources."@types/ws-8.5.3"
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.8"
       (sources."agent-base-6.0.2" // {
@@ -81259,7 +81206,7 @@ in
       sources."bolt01-1.2.4"
       sources."bolt03-1.2.14"
       sources."bolt07-1.8.1"
-      sources."bolt09-0.2.1"
+      sources."bolt09-0.2.2"
       (sources."boxen-5.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -81275,7 +81222,6 @@ in
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."bytes-3.1.2"
-      sources."cacheable-lookup-6.0.4"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.2.0"
@@ -81305,7 +81251,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."colorette-2.0.16"
       sources."colors-1.4.0"
       sources."colorspace-1.1.4"
@@ -81368,7 +81314,7 @@ in
       sources."external-editor-1.1.1"
       sources."fast-deep-equal-3.1.3"
       sources."fast-levenshtein-2.0.6"
-      sources."fecha-4.2.2"
+      sources."fecha-4.2.3"
       sources."figures-1.7.0"
       (sources."finalhandler-1.1.2" // {
         dependencies = [
@@ -81390,10 +81336,14 @@ in
           sources."ini-2.0.0"
         ];
       })
-      sources."goldengate-11.2.1"
+      (sources."goldengate-11.2.1" // {
+        dependencies = [
+          sources."ln-service-53.11.0"
+        ];
+      })
       sources."got-9.6.0"
       sources."graceful-fs-4.2.10"
-      (sources."grammy-1.7.3" // {
+      (sources."grammy-1.8.2" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -81424,7 +81374,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."inherits-2.0.4"
       sources."ini-3.0.0"
-      (sources."inquirer-8.2.2" // {
+      (sources."inquirer-8.2.4" // {
         dependencies = [
           sources."ansi-escapes-4.3.2"
           sources."ansi-styles-4.3.0"
@@ -81440,15 +81390,10 @@ in
           sources."restore-cursor-3.1.0"
           sources."supports-color-7.2.0"
           sources."tmp-0.0.33"
+          sources."type-fest-0.21.3"
         ];
       })
-      (sources."invoices-2.0.4" // {
-        dependencies = [
-          sources."bolt07-1.8.0"
-          sources."tiny-secp256k1-2.2.0"
-          sources."uint8array-tools-0.0.6"
-        ];
-      })
+      sources."invoices-2.0.5"
       sources."ip-1.1.5"
       sources."ipaddr.js-1.9.1"
       sources."is-accessor-descriptor-1.0.0"
@@ -81482,32 +81427,21 @@ in
       sources."kind-of-6.0.3"
       sources."kuler-2.0.0"
       sources."latest-version-5.1.0"
-      (sources."lightning-5.8.2" // {
+      (sources."lightning-5.10.1" // {
         dependencies = [
-          sources."@grpc/grpc-js-1.5.7"
-          sources."@types/node-17.0.21"
-          sources."asyncjs-util-1.2.8"
-          sources."body-parser-1.19.2"
-          sources."bolt07-1.8.0"
-          sources."bolt09-0.2.2"
-          sources."depd-1.1.2"
-          sources."http-errors-1.8.1"
-          sources."on-finished-2.3.0"
-          sources."psbt-2.0.0"
-          sources."qs-6.9.7"
-          sources."raw-body-2.4.3"
-          sources."statuses-1.5.0"
-          sources."type-fest-2.12.0"
+          sources."@grpc/grpc-js-1.6.2"
+          sources."@types/node-17.0.23"
+          sources."bolt09-0.2.3"
         ];
       })
       (sources."ln-accounting-5.0.6" // {
         dependencies = [
           sources."@grpc/grpc-js-1.5.7"
-          sources."@types/node-17.0.23"
-          sources."@types/ws-8.5.3"
+          sources."@types/node-17.0.21"
+          sources."@types/ws-8.5.2"
           sources."body-parser-1.19.2"
           sources."bolt07-1.8.0"
-          sources."bolt09-0.2.2"
+          sources."bolt09-0.2.1"
           sources."depd-1.1.2"
           (sources."goldengate-11.1.0" // {
             dependencies = [
@@ -81516,105 +81450,86 @@ in
             ];
           })
           sources."http-errors-1.8.1"
+          sources."invoices-2.0.4"
+          (sources."lightning-5.8.2" // {
+            dependencies = [
+              sources."asyncjs-util-1.2.8"
+              sources."bolt09-0.2.2"
+              sources."tiny-secp256k1-2.2.1"
+              sources."uint8array-tools-0.0.7"
+            ];
+          })
           (sources."ln-service-53.10.0" // {
             dependencies = [
               sources."@grpc/grpc-js-1.6.1"
+              sources."@types/node-17.0.23"
+              sources."@types/ws-8.5.3"
               sources."asyncjs-util-1.2.8"
+              sources."bolt09-0.2.2"
               sources."lightning-5.9.0"
+              sources."tiny-secp256k1-2.2.1"
+              sources."type-fest-2.12.2"
+              sources."uint8array-tools-0.0.7"
             ];
           })
           sources."on-finished-2.3.0"
-          sources."p2tr-1.3.0"
+          (sources."p2tr-1.3.0" // {
+            dependencies = [
+              sources."tiny-secp256k1-2.2.1"
+              sources."uint8array-tools-0.0.7"
+            ];
+          })
           sources."psbt-2.0.0"
           sources."qs-6.9.7"
           sources."raw-body-2.4.3"
           sources."statuses-1.5.0"
-          sources."type-fest-2.12.2"
+          sources."tiny-secp256k1-2.2.0"
+          sources."type-fest-2.12.0"
         ];
       })
-      (sources."ln-service-53.11.0" // {
+      (sources."ln-service-53.15.0" // {
         dependencies = [
-          sources."@grpc/grpc-js-1.6.2"
-          sources."@types/node-17.0.23"
-          sources."@types/ws-8.5.3"
-          sources."bolt09-0.2.2"
-          sources."invoices-2.0.5"
-          (sources."lightning-5.10.1" // {
-            dependencies = [
-              sources."bolt09-0.2.3"
-            ];
-          })
-          sources."type-fest-2.12.2"
+          sources."@grpc/grpc-js-1.6.7"
+          sources."@types/node-17.0.25"
+          sources."bolt09-0.2.3"
+          sources."invoices-2.0.6"
+          sources."lightning-5.14.0"
         ];
       })
       (sources."ln-sync-3.12.0" // {
         dependencies = [
           sources."@grpc/grpc-js-1.6.1"
           sources."@types/node-17.0.23"
-          sources."@types/ws-8.5.3"
           sources."body-parser-1.19.2"
-          sources."bolt09-0.2.2"
+          sources."bolt09-0.2.1"
           sources."depd-1.1.2"
           sources."http-errors-1.8.1"
-          (sources."lightning-5.9.0" // {
+          (sources."invoices-2.0.4" // {
             dependencies = [
-              sources."asyncjs-util-1.2.8"
               sources."bolt07-1.8.0"
-              sources."psbt-2.0.0"
+              sources."tiny-secp256k1-2.2.0"
             ];
           })
-          (sources."ln-service-53.10.0" // {
-            dependencies = [
-              sources."bolt07-1.8.0"
-            ];
-          })
-          sources."on-finished-2.3.0"
-          sources."qs-6.9.7"
-          sources."raw-body-2.4.3"
-          sources."statuses-1.5.0"
-          sources."type-fest-2.12.2"
-        ];
-      })
-      (sources."ln-telegram-3.21.1" // {
-        dependencies = [
-          sources."@grpc/grpc-js-1.6.1"
-          sources."@types/node-17.0.23"
-          sources."@types/ws-8.5.3"
-          (sources."body-parser-1.19.2" // {
-            dependencies = [
-              sources."debug-2.6.9"
-              sources."ms-2.0.0"
-            ];
-          })
-          sources."bolt07-1.8.0"
-          sources."bolt09-0.2.2"
-          sources."debug-4.3.4"
-          sources."depd-1.1.2"
-          sources."goldengate-11.1.1"
-          sources."grammy-1.7.1"
-          sources."http-errors-1.8.1"
           (sources."lightning-5.9.0" // {
             dependencies = [
               sources."asyncjs-util-1.2.8"
+              sources."bolt07-1.8.0"
+              sources."bolt09-0.2.2"
+              sources."psbt-2.0.0"
             ];
           })
-          sources."ln-service-53.10.0"
-          (sources."ln-sync-3.11.1" // {
+          (sources."ln-service-53.10.0" // {
             dependencies = [
-              sources."asyncjs-util-1.2.8"
-              sources."lightning-5.8.6"
-              sources."ln-service-53.9.4"
+              sources."bolt07-1.8.0"
             ];
           })
-          sources."ms-2.1.2"
           sources."on-finished-2.3.0"
-          sources."psbt-2.0.0"
           sources."qs-6.9.7"
           sources."raw-body-2.4.3"
           sources."statuses-1.5.0"
-          sources."type-fest-2.12.2"
         ];
       })
+      sources."ln-telegram-3.21.4"
       sources."lodash-4.17.21"
       sources."lodash.camelcase-4.3.0"
       sources."lodash.difference-4.5.0"
@@ -81641,7 +81556,7 @@ in
       sources."long-4.0.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
-      sources."luxon-2.3.1"
+      sources."luxon-2.3.2"
       sources."macaroon-3.0.4"
       (sources."make-dir-3.1.0" // {
         dependencies = [
@@ -81660,7 +81575,7 @@ in
       sources."mimic-response-1.0.1"
       sources."minimist-1.2.6"
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       (sources."morgan-1.10.0" // {
         dependencies = [
           sources."on-finished-2.3.0"
@@ -81702,37 +81617,10 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."paid-services-3.14.5" // {
+      (sources."paid-services-3.16.0" // {
         dependencies = [
-          sources."@alexbosworth/fiat-1.0.1"
-          sources."@grpc/grpc-js-1.6.1"
-          sources."@types/node-17.0.23"
-          sources."@types/ws-8.5.3"
-          sources."asyncjs-util-1.2.8"
-          sources."body-parser-1.19.2"
-          sources."bolt01-1.2.3"
-          sources."bolt07-1.8.0"
-          sources."bolt09-0.2.2"
-          sources."depd-1.1.2"
-          sources."http-errors-1.8.1"
-          sources."lightning-5.8.6"
-          sources."ln-service-53.9.4"
-          (sources."ln-sync-3.11.0" // {
-            dependencies = [
-              sources."@grpc/grpc-js-1.5.7"
-              sources."@types/node-17.0.21"
-              sources."@types/ws-8.5.2"
-              sources."lightning-5.8.2"
-              sources."ln-service-53.9.3"
-              sources."type-fest-2.12.0"
-            ];
-          })
-          sources."on-finished-2.3.0"
-          sources."psbt-2.0.0"
-          sources."qs-6.9.7"
-          sources."raw-body-2.4.3"
-          sources."statuses-1.5.0"
-          sources."type-fest-2.12.2"
+          sources."bolt09-0.2.3"
+          sources."invoices-2.0.6"
         ];
       })
       sources."parseurl-1.3.3"
@@ -81740,7 +81628,11 @@ in
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
       sources."prepend-http-2.0.0"
-      sources."probing-2.0.5"
+      (sources."probing-2.0.5" // {
+        dependencies = [
+          sources."ln-service-53.11.0"
+        ];
+      })
       sources."process-nextick-args-2.0.1"
       sources."protobufjs-6.11.2"
       sources."proxy-addr-2.0.7"
@@ -81806,7 +81698,7 @@ in
       })
       sources."smart-buffer-4.2.0"
       sources."socks-2.6.2"
-      (sources."socks-proxy-agent-6.2.0-beta.0" // {
+      (sources."socks-proxy-agent-6.2.0" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -81833,22 +81725,26 @@ in
       sources."text-hex-1.0.0"
       sources."through-2.3.8"
       sources."tiny-emitter-2.1.0"
-      sources."tiny-secp256k1-2.2.1"
+      (sources."tiny-secp256k1-2.2.1" // {
+        dependencies = [
+          sources."uint8array-tools-0.0.7"
+        ];
+      })
       sources."tmp-0.0.29"
       sources."to-readable-stream-1.0.0"
       sources."toidentifier-1.0.1"
       sources."tr46-0.0.3"
       sources."triple-beam-1.3.0"
       sources."truncate-utf8-bytes-1.0.2"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."tweetnacl-1.0.3"
       sources."tweetnacl-util-0.15.1"
-      sources."type-fest-0.21.3"
+      sources."type-fest-2.12.2"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
       sources."typeforce-1.18.0"
-      sources."uint8array-tools-0.0.7"
+      sources."uint8array-tools-0.0.6"
       sources."unique-string-2.0.0"
       sources."unpipe-1.0.0"
       (sources."update-notifier-5.1.0" // {
@@ -81913,13 +81809,13 @@ in
   bash-language-server = nodeEnv.buildNodePackage {
     name = "bash-language-server";
     packageName = "bash-language-server";
-    version = "2.0.0";
+    version = "2.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/bash-language-server/-/bash-language-server-2.0.0.tgz";
-      sha512 = "yp6KF2GCVgj64kU2qknE+CFydb8IHc+2ZTRFc6UrN8FugOAHEfO7PzkxfJ/SDWbqa7wIJyjdEFtbTOy/qbHtbQ==";
+      url = "https://registry.npmjs.org/bash-language-server/-/bash-language-server-2.1.0.tgz";
+      sha512 = "cmW/ba3Di7Quq9TkfwDrinIlwVZ+W8aT4ctzNZMFK2LgQliKBxW6qZuUhjrvl/Ll863HWjzPo76jGEG5yisonw==";
     };
     dependencies = [
-      sources."abab-2.0.5"
+      sources."abab-2.0.6"
       sources."acorn-5.7.4"
       (sources."acorn-globals-4.3.4" // {
         dependencies = [
@@ -82277,7 +82173,7 @@ in
       sources."inherits-2.0.4"
       sources."intersect-1.0.1"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-finite-1.1.0"
       sources."is-plain-obj-1.1.0"
       sources."is-utf8-0.2.1"
@@ -82460,7 +82356,7 @@ in
       sources."get-symbol-description-1.0.0"
       sources."glob-7.2.0"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
@@ -82484,7 +82380,7 @@ in
       sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-date-object-1.0.5"
       sources."is-generator-function-1.0.10"
       sources."is-negative-zero-2.0.2"
@@ -82578,7 +82474,7 @@ in
       sources."tty-browserify-0.0.1"
       sources."typedarray-0.0.6"
       sources."umd-3.0.3"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."undeclared-identifiers-1.1.3"
       (sources."url-0.11.0" // {
         dependencies = [
@@ -82612,12 +82508,11 @@ in
       sha512 = "3zBtggcaZIeU9so4ja9yxk7/CZu9B3DOL6zkxFpzHCHsQmkGBPVXg61jItbeoa+WXgNLnr1sYES/2yQwyEZ2+w==";
     };
     dependencies = [
-      sources."@socket.io/base64-arraybuffer-1.0.2"
-      sources."@socket.io/component-emitter-3.0.0"
+      sources."@socket.io/component-emitter-3.1.0"
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."accepts-1.3.8"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
@@ -82625,7 +82520,6 @@ in
       sources."async-1.5.2"
       sources."async-each-series-0.1.1"
       sources."axios-0.21.4"
-      sources."backo2-1.0.2"
       sources."balanced-match-1.0.2"
       sources."base64id-2.0.0"
       sources."batch-0.6.1"
@@ -82669,9 +82563,9 @@ in
       sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
-      sources."engine.io-6.1.3"
-      sources."engine.io-client-6.1.1"
-      sources."engine.io-parser-5.0.3"
+      sources."engine.io-6.2.0"
+      sources."engine.io-client-6.2.1"
+      sources."engine.io-parser-5.0.4"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
@@ -82692,7 +82586,6 @@ in
       sources."glob-parent-5.1.2"
       sources."graceful-fs-4.2.10"
       sources."has-ansi-2.0.0"
-      sources."has-cors-1.1.0"
       (sources."http-errors-2.0.0" // {
         dependencies = [
           sources."statuses-2.0.1"
@@ -82732,8 +82625,6 @@ in
       sources."on-finished-2.3.0"
       sources."openurl-1.1.1"
       sources."opn-5.3.0"
-      sources."parseqs-0.0.6"
-      sources."parseuri-0.0.6"
       sources."parseurl-1.3.3"
       sources."picomatch-2.3.1"
       sources."portscanner-2.1.1"
@@ -82777,14 +82668,14 @@ in
       sources."serve-static-1.13.2"
       sources."server-destroy-1.0.1"
       sources."setprototypeof-1.2.0"
-      (sources."socket.io-4.4.1" // {
+      (sources."socket.io-4.5.0" // {
         dependencies = [
           sources."socket.io-parser-4.0.4"
         ];
       })
-      sources."socket.io-adapter-2.3.3"
-      sources."socket.io-client-4.4.1"
-      sources."socket.io-parser-4.1.2"
+      sources."socket.io-adapter-2.4.0"
+      sources."socket.io-client-4.5.0"
+      sources."socket.io-parser-4.2.0"
       sources."statuses-1.3.1"
       sources."stream-throttle-0.1.3"
       (sources."string-width-4.2.3" // {
@@ -82820,7 +82711,6 @@ in
         ];
       })
       sources."yargs-parser-20.2.9"
-      sources."yeast-0.1.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -82844,8 +82734,8 @@ in
       sources."@babel/code-frame-7.16.7"
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/highlight-7.17.9"
-      sources."@babel/parser-7.17.9"
-      sources."@babel/types-7.17.0"
+      sources."@babel/parser-7.17.10"
+      sources."@babel/types-7.17.10"
       sources."@kwsites/file-exists-1.1.1"
       sources."@kwsites/promise-deferred-1.1.1"
       sources."@types/minimist-1.2.2"
@@ -82898,7 +82788,7 @@ in
       sources."brorand-1.1.0"
       sources."bs58-4.0.1"
       sources."bs58check-2.1.2"
-      sources."btc-rpc-client-git://github.com/btc21/btc-rpc-client"
+      sources."btc-rpc-client-git+https://github.com/btc21/btc-rpc-client"
       sources."bunyan-1.8.15"
       sources."bytes-3.1.2"
       sources."call-bind-1.0.2"
@@ -82976,7 +82866,7 @@ in
       sources."dtrace-provider-0.8.8"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electrum-client-git://github.com/janoside/electrum-client"
+      sources."electrum-client-git+https://github.com/janoside/electrum-client"
       sources."elliptic-6.5.4"
       sources."emoji-regex-8.0.0"
       sources."encode-utf8-1.0.3"
@@ -82987,18 +82877,11 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
       sources."event-loop-stats-1.4.1"
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
-          sources."body-parser-1.19.2"
-          sources."cookie-0.4.2"
+          sources."cookie-0.5.0"
           sources."debug-2.6.9"
-          sources."depd-1.1.2"
-          sources."http-errors-1.8.1"
-          sources."on-finished-2.3.0"
-          sources."qs-6.9.7"
-          sources."raw-body-2.4.3"
           sources."safe-buffer-5.2.1"
-          sources."statuses-1.5.0"
         ];
       })
       sources."express-async-handler-1.2.0"
@@ -83013,11 +82896,9 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."file-uri-to-path-1.0.0"
-      (sources."finalhandler-1.1.2" // {
+      (sources."finalhandler-1.2.0" // {
         dependencies = [
           sources."debug-2.6.9"
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
         ];
       })
       sources."find-up-4.1.0"
@@ -83055,7 +82936,7 @@ in
       sources."ipaddr.js-1.9.1"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-expression-4.0.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-plain-obj-1.1.0"
@@ -83110,7 +82991,7 @@ in
       sources."minimist-1.2.6"
       sources."minimist-options-4.1.0"
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."moment-duration-format-2.3.2"
       (sources."morgan-1.10.0" // {
         dependencies = [
@@ -83204,19 +83085,14 @@ in
       sources."safe-json-stringify-1.2.0"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.7"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
               sources."ms-2.0.0"
             ];
           })
-          sources."depd-1.1.2"
-          sources."destroy-1.0.4"
-          sources."http-errors-1.8.1"
           sources."ms-2.1.3"
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
         ];
       })
       (sources."serve-favicon-2.5.0" // {
@@ -83225,7 +83101,7 @@ in
           sources."safe-buffer-5.1.1"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
       sources."sha.js-2.4.11"
@@ -83322,8 +83198,8 @@ in
       sources."@protobufjs/path-1.1.2"
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
-      sources."@types/long-4.0.1"
-      sources."@types/node-17.0.24"
+      sources."@types/long-4.0.2"
+      sources."@types/node-17.0.31"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.2.16"
       sources."ajv-6.12.6"
@@ -83466,7 +83342,7 @@ in
       sources."ip-set-1.0.2"
       sources."ipaddr.js-2.0.1"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-finite-1.1.0"
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
@@ -83973,7 +83849,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
       sources."is-ci-1.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
@@ -84006,7 +83882,7 @@ in
       sources."isobject-3.0.1"
       sources."iterm2-version-3.0.0"
       sources."jpeg-js-0.2.0"
-      sources."jpgjs-git://github.com/notmasteryet/jpgjs"
+      sources."jpgjs-git+https://github.com/notmasteryet/jpgjs"
       sources."json-parse-better-errors-1.0.2"
       sources."jsonfile-5.0.0"
       sources."kind-of-6.0.3"
@@ -84330,18 +84206,18 @@ in
   cdk8s-cli = nodeEnv.buildNodePackage {
     name = "cdk8s-cli";
     packageName = "cdk8s-cli";
-    version = "1.0.148";
+    version = "1.0.164";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.148.tgz";
-      sha512 = "sNZPZDbxMrECsM8gr1zOprPsq+TGdZtrRlh3MIpUQuFql65nHjhJjtB5FCCCFE4h53KsdNaBvkukEcWAoilpCQ==";
+      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.164.tgz";
+      sha512 = "1saDFNPhU3v1GI7KxuIj96oXV3x+QbqF9ZKBS9gRSj61YkZOsQ6L8UsMl1lFBBvKeO2OYc11Kvtrqxss0bIXkQ==";
     };
     dependencies = [
-      sources."@jsii/check-node-1.56.0"
-      sources."@jsii/spec-1.56.0"
+      sources."@jsii/check-node-1.57.0"
+      sources."@jsii/spec-1.57.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-12.20.48"
+      sources."@types/node-12.20.50"
       sources."@xmldom/xmldom-0.8.2"
       sources."ajv-8.11.0"
       sources."ansi-regex-5.0.1"
@@ -84352,12 +84228,12 @@ in
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdk8s-1.5.69"
-      sources."cdk8s-plus-22-1.0.0-beta.193"
+      sources."cdk8s-1.5.86"
+      sources."cdk8s-plus-22-1.0.0-beta.218"
       sources."chalk-4.1.2"
       sources."cliui-7.0.4"
       sources."clone-2.1.2"
-      (sources."codemaker-1.56.0" // {
+      (sources."codemaker-1.57.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
@@ -84366,8 +84242,8 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.30.0"
-      sources."constructs-3.3.268"
-      sources."date-format-4.0.7"
+      sources."constructs-3.3.283"
+      sources."date-format-4.0.9"
       sources."debug-4.3.4"
       sources."decamelize-5.0.1"
       sources."deep-equal-2.0.5"
@@ -84396,14 +84272,14 @@ in
         ];
       })
       sources."function-bind-1.1.1"
-      sources."functions-have-names-1.2.2"
+      sources."functions-have-names-1.2.3"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
       sources."glob-parent-5.1.2"
       sources."graceful-fs-4.2.10"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-flag-4.0.0"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
@@ -84431,42 +84307,42 @@ in
       sources."is-weakref-1.0.2"
       sources."is-weakset-2.0.2"
       sources."isarray-2.0.5"
-      (sources."jsii-1.56.0" // {
+      (sources."jsii-1.57.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-pacmak-1.56.0" // {
+      (sources."jsii-pacmak-1.57.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-reflect-1.56.0" // {
+      (sources."jsii-reflect-1.57.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-rosetta-1.56.0" // {
+      (sources."jsii-rosetta-1.57.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.531" // {
+      (sources."jsii-srcmak-0.1.548" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
       })
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-1.0.0"
-      sources."json2jsii-0.2.192"
+      sources."json2jsii-0.2.207"
       sources."jsonfile-6.1.0"
       sources."jsonschema-1.4.0"
       sources."locate-path-5.0.0"
-      sources."log4js-6.4.5"
+      sources."log4js-6.4.6"
       sources."lower-case-2.0.2"
       sources."lru-cache-6.0.0"
       sources."mdurl-1.0.1"
@@ -84480,7 +84356,7 @@ in
       sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
-      sources."oo-ascii-tree-1.56.0"
+      sources."oo-ascii-tree-1.57.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
@@ -84506,10 +84382,10 @@ in
       sources."snake-case-3.0.4"
       sources."sort-json-2.0.1"
       sources."spdx-license-list-6.5.0"
-      sources."sscaff-1.2.258"
-      (sources."streamroller-3.0.7" // {
+      sources."sscaff-1.2.274"
+      (sources."streamroller-3.0.8" // {
         dependencies = [
-          sources."fs-extra-10.0.1"
+          sources."fs-extra-10.1.0"
         ];
       })
       sources."string-width-4.2.3"
@@ -84519,9 +84395,9 @@ in
       sources."strip-ansi-6.0.1"
       sources."supports-color-7.2.0"
       sources."to-regex-range-5.0.1"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."typescript-3.9.10"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
       sources."which-boxed-primitive-1.0.2"
@@ -84558,23 +84434,26 @@ in
   cdktf-cli = nodeEnv.buildNodePackage {
     name = "cdktf-cli";
     packageName = "cdktf-cli";
-    version = "0.10.1";
+    version = "0.10.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.10.1.tgz";
-      sha512 = "zmmalXgXObKkh8IY5cFJkpbN0iWzJDUMaQlJHmivmTFAxgNTn31/zJjjg6zqngIFpkpDOHbf5nyinJVKXKxI5Q==";
+      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.10.3.tgz";
+      sha512 = "gSbwPFofGm0VShMyx3k8SThmabe73Imib2jN7W1F7Lg5MI1Rjyx3+hNGI6YCI0hnT8pqdWghEGO1QHC7Smbl6g==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/generator-7.17.9"
+      sources."@babel/generator-7.17.10"
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/highlight-7.17.9"
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/template-7.16.7"
-      sources."@babel/types-7.17.0"
-      sources."@cdktf/hcl2cdk-0.10.1"
-      sources."@cdktf/hcl2json-0.10.1"
-      sources."@cdktf/provider-generator-0.10.1"
-      (sources."@jsii/check-node-1.56.0" // {
+      sources."@babel/types-7.17.10"
+      sources."@cdktf/hcl2cdk-0.10.3"
+      sources."@cdktf/hcl2json-0.10.3"
+      sources."@cdktf/provider-generator-0.10.3"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/set-array-1.1.0"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
+      (sources."@jsii/check-node-1.57.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -84584,12 +84463,14 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@jsii/spec-1.56.0"
+      sources."@jsii/spec-1.57.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/node-fetch-2.6.1"
+      sources."@types/yargs-17.0.10"
+      sources."@types/yargs-parser-21.0.0"
       sources."@xmldom/xmldom-0.8.2"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
@@ -84603,7 +84484,7 @@ in
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdktf-0.10.1"
+      sources."cdktf-0.10.3"
       sources."chalk-2.4.2"
       sources."cliui-6.0.0"
       sources."clone-2.1.2"
@@ -84617,8 +84498,9 @@ in
       sources."combined-stream-1.0.8"
       sources."commonmark-0.30.0"
       sources."concat-map-0.0.1"
-      sources."constructs-10.0.115"
-      sources."date-format-4.0.7"
+      sources."constructs-10.0.130"
+      sources."cross-spawn-7.0.3"
+      sources."date-format-4.0.9"
       sources."debug-4.3.4"
       sources."decamelize-1.2.0"
       sources."deep-equal-2.0.5"
@@ -84645,7 +84527,7 @@ in
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."functions-have-names-1.2.2"
+      sources."functions-have-names-1.2.3"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
@@ -84659,7 +84541,7 @@ in
       sources."graphology-0.24.1"
       sources."graphology-types-0.21.2"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-flag-3.0.0"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
@@ -84691,9 +84573,10 @@ in
       sources."is-weakref-1.0.2"
       sources."is-weakset-2.0.2"
       sources."isarray-2.0.5"
+      sources."isexe-2.0.0"
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
-      (sources."jsii-1.56.0" // {
+      (sources."jsii-1.57.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -84711,11 +84594,11 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-pacmak-1.56.0" // {
+      (sources."jsii-pacmak-1.57.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
-          sources."codemaker-1.56.0"
+          sources."codemaker-1.57.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."decamelize-5.0.1"
@@ -84729,7 +84612,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-reflect-1.56.0" // {
+      (sources."jsii-reflect-1.57.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -84747,7 +84630,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-rosetta-1.56.0" // {
+      (sources."jsii-rosetta-1.57.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
@@ -84762,7 +84645,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-srcmak-0.1.531" // {
+      (sources."jsii-srcmak-0.1.548" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -84774,7 +84657,7 @@ in
       sources."jsonschema-1.4.0"
       sources."locate-path-5.0.0"
       sources."lodash.isequal-4.5.0"
-      sources."log4js-6.4.5"
+      sources."log4js-6.4.6"
       sources."lru-cache-6.0.0"
       sources."mdurl-1.0.1"
       sources."merge2-1.4.1"
@@ -84795,14 +84678,15 @@ in
       sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
-      sources."obliterator-2.0.2"
+      sources."obliterator-2.0.3"
       sources."once-1.4.0"
-      sources."oo-ascii-tree-1.56.0"
+      sources."oo-ascii-tree-1.57.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
+      sources."path-key-3.1.1"
       sources."picomatch-2.3.1"
       sources."prettier-2.6.2"
       sources."punycode-2.1.1"
@@ -84822,13 +84706,14 @@ in
         ];
       })
       sources."set-blocking-2.0.0"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
       sources."side-channel-1.0.4"
       sources."sort-json-2.0.1"
-      sources."source-map-0.5.7"
       sources."spdx-license-list-6.5.0"
-      (sources."streamroller-3.0.7" // {
+      (sources."streamroller-3.0.8" // {
         dependencies = [
-          sources."fs-extra-10.0.1"
+          sources."fs-extra-10.1.0"
           sources."jsonfile-6.1.0"
           sources."universalify-2.0.0"
         ];
@@ -84844,10 +84729,11 @@ in
       sources."tr46-0.0.3"
       sources."tunnel-agent-0.6.0"
       sources."typescript-3.9.10"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."universalify-0.1.2"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
+      sources."which-2.0.2"
       sources."which-boxed-primitive-1.0.2"
       sources."which-collection-1.0.1"
       sources."which-module-2.0.0"
@@ -84986,7 +84872,7 @@ in
       sources."human-signals-2.1.0"
       sources."indent-string-5.0.0"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-docker-2.2.1"
       sources."is-plain-obj-1.1.0"
       sources."is-stream-2.0.1"
@@ -85096,11 +84982,7 @@ in
       sources."webidl-conversions-4.0.2"
       sources."whatwg-fetch-3.6.2"
       sources."whatwg-url-7.1.0"
-      (sources."winston-2.4.5" // {
-        dependencies = [
-          sources."async-1.0.0"
-        ];
-      })
+      sources."winston-2.4.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -85115,10 +84997,10 @@ in
   coc-clangd = nodeEnv.buildNodePackage {
     name = "coc-clangd";
     packageName = "coc-clangd";
-    version = "0.21.3";
+    version = "0.21.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-clangd/-/coc-clangd-0.21.3.tgz";
-      sha512 = "fo38suoOGygQ68d6WAcQyTT0uVyEq+plVgr0viWb/DVe4vy51S5RLDboGFuCfkk8GIy6snWCv0am0w83WXBuig==";
+      url = "https://registry.npmjs.org/coc-clangd/-/coc-clangd-0.21.4.tgz";
+      sha512 = "atI92VBGGtYnH1E5KHXVxTHY8V8UgSHHRsaEdhuIkxGwEajCABAmf9XQlhHv6kawjfOysd7UT91d+P7wUKgmNw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -85351,7 +85233,7 @@ in
     };
     dependencies = [
       sources."isexe-2.0.0"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-uri-3.0.3"
       sources."which-2.0.2"
@@ -85365,6 +85247,24 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  coc-haxe = nodeEnv.buildNodePackage {
+    name = "coc-haxe";
+    packageName = "coc-haxe";
+    version = "0.8.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/coc-haxe/-/coc-haxe-0.8.0.tgz";
+      sha512 = "u8DAHCGDi9C/7xY5xXxmsD4mIry07ujX+piCzkcDg/n6rMQ0R3lmqDk4tBt+C/qfWxqAFgee45q++OD62wsNxg==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Haxe language server extension for coc.nvim";
+      homepage = "https://github.com/vantreeseba/coc-haxe#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   coc-highlight = nodeEnv.buildNodePackage {
     name = "coc-highlight";
     packageName = "coc-highlight";
@@ -85391,7 +85291,7 @@ in
       sha512 = "HtFYiBx2ZIFairTsfDwLsMUTGwlH498VzAipWZeCOIGf7ZXetEbv0t+wr7IAy2KMIwhlmzoMsi5aHSlUupxGHA==";
     };
     dependencies = [
-      sources."typescript-4.6.3"
+      sources."typescript-4.6.4"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -85547,7 +85447,7 @@ in
           sources."which-1.3.1"
         ];
       })
-      sources."date-format-4.0.7"
+      sources."date-format-4.0.9"
       sources."debounce-1.2.1"
       sources."debug-4.3.4"
       sources."deep-extend-0.6.0"
@@ -85562,8 +85462,8 @@ in
       sources."fb-watchman-2.0.1"
       sources."flatted-3.2.5"
       sources."follow-redirects-1.14.9"
-      sources."fp-ts-2.11.10"
-      sources."fs-extra-10.0.1"
+      sources."fp-ts-2.12.1"
+      sources."fs-extra-10.1.0"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       (sources."fstream-1.0.12" // {
@@ -85579,7 +85479,7 @@ in
       sources."glob-7.2.0"
       sources."graceful-fs-4.2.10"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
@@ -85617,7 +85517,7 @@ in
         ];
       })
       sources."lodash-4.17.21"
-      sources."log4js-6.4.5"
+      sources."log4js-6.4.6"
       sources."lru-cache-6.0.0"
       sources."metals-languageclient-0.4.2"
       sources."minimatch-3.1.2"
@@ -85667,7 +85567,7 @@ in
       sources."shell-quote-1.7.3"
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
-      sources."streamroller-3.0.7"
+      sources."streamroller-3.0.8"
       sources."string.prototype.trimend-1.0.4"
       sources."string.prototype.trimstart-1.0.4"
       (sources."string_decoder-1.1.1" // {
@@ -85680,8 +85580,8 @@ in
       sources."tar-6.1.11"
       sources."tr46-0.0.3"
       sources."traverse-0.3.9"
-      sources."tslib-2.3.1"
-      sources."unbox-primitive-1.0.1"
+      sources."tslib-2.4.0"
+      sources."unbox-primitive-1.0.2"
       sources."universalify-2.0.0"
       sources."unzipper-0.10.11"
       sources."util-deprecate-1.0.2"
@@ -85732,10 +85632,10 @@ in
   coc-prettier = nodeEnv.buildNodePackage {
     name = "coc-prettier";
     packageName = "coc-prettier";
-    version = "9.2.3";
+    version = "9.2.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-prettier/-/coc-prettier-9.2.3.tgz";
-      sha512 = "LkwQTBlD/chH0BTl7zFMw+M1CKbVIy8W49nVLuB+wmgS3dqnKZo58PRTYkcX2X25/FIWOh/oMSjWoZ8cTck8zQ==";
+      url = "https://registry.npmjs.org/coc-prettier/-/coc-prettier-9.2.4.tgz";
+      sha512 = "QI0SD7lbfDz969h8wgpepbDKZcLAbg3rmdBtzC9OnHUGZr6C6iWfhEfbWzFvdEgqvlkUTCrqt/IkxxKbkzXZDw==";
     };
     dependencies = [
       sources."prettier-2.6.2"
@@ -85759,7 +85659,7 @@ in
       sha512 = "7hF2rkGFbx4KQrYflu12OlPVV/7lQxaJWyslJMsdElEVOVOpO5C6wmwf2+6Xnzm65i6mFIg5lO7zYAz6nRSMFg==";
     };
     dependencies = [
-      sources."pyright-1.1.237"
+      sources."pyright-1.1.243"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -85833,10 +85733,10 @@ in
   coc-rust-analyzer = nodeEnv.buildNodePackage {
     name = "coc-rust-analyzer";
     packageName = "coc-rust-analyzer";
-    version = "0.61.2";
+    version = "0.62.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.61.2.tgz";
-      sha512 = "qFVrmFNls2WsLtfgGlChm+mKpQc5lypxhjHgELslQbKBKSEZHpV4OfpknTpCjocSHpP0HFgIKiDVVwC2wsW0PA==";
+      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.62.0.tgz";
+      sha512 = "rLvqkBL26cSgWtmfJMR9byRAyAIRZRQB0dx/tUqBQP34U0xkkyqlo2HirQ5fqlpnziUh9U4cYTItthRALe8vxA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -85869,10 +85769,10 @@ in
   coc-snippets = nodeEnv.buildNodePackage {
     name = "coc-snippets";
     packageName = "coc-snippets";
-    version = "3.0.8";
+    version = "3.0.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-3.0.8.tgz";
-      sha512 = "+9CpyQNMNQQCn3gGbH84/nuihfWzt0I/TXGVAj11AQL4ns4iAlQaaqqle7FmG1VTlvHYwZy5luN8YYWqKBx6uQ==";
+      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-3.0.9.tgz";
+      sha512 = "BrQfCIW4kOWbNB0+RTXPs3pT6tqYI8xqrD7kbKBUaP0e7pFrQYCvf7SHCmT7M3TeIcfMCuv0bwiuHEoWejj1MQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -85886,10 +85786,10 @@ in
   coc-solargraph = nodeEnv.buildNodePackage {
     name = "coc-solargraph";
     packageName = "coc-solargraph";
-    version = "1.2.3";
+    version = "1.2.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-solargraph/-/coc-solargraph-1.2.3.tgz";
-      sha512 = "271smxh06nFDBJ/xfVYmrW8IosGWQzApBzYt244mbbBlMhcJBV5W9CvT2SuhrU9bp8ZM6jw9BWYgD/ex8311Lw==";
+      url = "https://registry.npmjs.org/coc-solargraph/-/coc-solargraph-1.2.4.tgz";
+      sha512 = "Z00v8HmgQyJgv/FKo7FkqWWTPNHeiOgEDqsI4RT9457rEQ8ZF/wLeq38DRihTfIra93GZ3EprVKYCOels6JHgQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -85909,12 +85809,12 @@ in
       sha512 = "+GYR6KTvHQnqu0j1kXT30hRZMuCwG/G52wG/19LSPE+p9Q0i8XFH6582T0btTu39xz2TPsDOGjT1VgyRw2urug==";
     };
     dependencies = [
-      sources."@ampproject/remapping-2.1.2"
+      sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.7"
-      sources."@babel/core-7.17.9"
-      sources."@babel/generator-7.17.9"
-      sources."@babel/helper-compilation-targets-7.17.7"
+      sources."@babel/compat-data-7.17.10"
+      sources."@babel/core-7.17.10"
+      sources."@babel/generator-7.17.10"
+      sources."@babel/helper-compilation-targets-7.17.10"
       sources."@babel/helper-environment-visitor-7.16.7"
       sources."@babel/helper-function-name-7.17.9"
       sources."@babel/helper-hoist-variables-7.16.7"
@@ -85930,13 +85830,15 @@ in
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.9"
-      sources."@babel/types-7.17.0"
-      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@babel/traverse-7.17.10"
+      sources."@babel/types-7.17.10"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/resolve-uri-3.0.6"
+      sources."@jridgewell/set-array-1.1.0"
       sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@jridgewell/trace-mapping-0.3.9"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -85966,11 +85868,11 @@ in
         ];
       })
       sources."braces-3.0.2"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -86007,7 +85909,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -86059,7 +85961,7 @@ in
       sources."is-alphanumerical-1.0.4"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-decimal-1.0.4"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -86103,7 +86005,7 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       (sources."normalize-package-data-3.0.3" // {
         dependencies = [
           sources."semver-7.3.7"
@@ -86129,7 +86031,6 @@ in
       (sources."postcss-7.0.39" // {
         dependencies = [
           sources."picocolors-0.2.1"
-          sources."source-map-0.6.1"
         ];
       })
       sources."postcss-html-0.36.0"
@@ -86181,7 +86082,7 @@ in
           sources."color-name-1.1.4"
         ];
       })
-      sources."source-map-0.5.7"
+      sources."source-map-0.6.1"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
@@ -86312,7 +86213,7 @@ in
       sources."has-flag-3.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."js-tokens-4.0.0"
       sources."js-yaml-3.14.1"
       sources."minimatch-3.1.2"
@@ -86378,13 +86279,13 @@ in
   coc-tsserver = nodeEnv.buildNodePackage {
     name = "coc-tsserver";
     packageName = "coc-tsserver";
-    version = "1.10.0";
+    version = "1.10.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.10.0.tgz";
-      sha512 = "5NTbIKgRAo2to0h2+PsC3zaScfJVs9btnzDi807StRS7OZjFRAAx4G4331UrfeCtugrgHoasxtb7RZQO6x5FYg==";
+      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.10.1.tgz";
+      sha512 = "wkXnt6Ok/VL7/Nx/96mldX/BactXvNmme2mpmk3qk9VdN8Do9esETyBxqzbQqBO71ZVtTUxYGpK+W61gm15Dow==";
     };
     dependencies = [
-      sources."typescript-4.6.3"
+      sources."typescript-4.6.4"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -86522,7 +86423,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-expression-4.0.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -86595,7 +86496,7 @@ in
       sources."tsutils-2.29.0"
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
-      sources."typescript-4.6.3"
+      sources."typescript-4.6.4"
       sources."uri-js-4.4.1"
       sources."v8-compile-cache-2.3.0"
       sources."vls-0.7.6"
@@ -87012,12 +86913,12 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."colorspace-1.1.4"
       sources."commander-7.2.0"
       sources."enabled-2.0.0"
       sources."eventemitter3-4.0.7"
-      sources."fecha-4.2.2"
+      sources."fecha-4.2.3"
       sources."fn.name-1.1.0"
       sources."follow-redirects-1.14.9"
       sources."http-proxy-1.18.1"
@@ -87142,7 +87043,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-obj-2.0.0"
       sources."is-plain-obj-1.1.0"
@@ -87336,13 +87237,14 @@ in
       sources."base64-js-1.5.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."big-integer-1.6.51"
-      (sources."body-parser-1.19.2" // {
+      (sources."body-parser-1.20.0" // {
         dependencies = [
           sources."bytes-3.1.2"
           sources."debug-2.6.9"
+          sources."depd-2.0.0"
           sources."iconv-lite-0.4.24"
           sources."ms-2.0.0"
-          sources."qs-6.9.7"
+          sources."qs-6.10.3"
         ];
       })
       (sources."boxen-5.1.2" // {
@@ -87366,6 +87268,7 @@ in
           sources."lowercase-keys-2.0.0"
         ];
       })
+      sources."call-bind-1.0.2"
       sources."callsites-3.1.0"
       sources."camelcase-6.3.0"
       sources."caseless-0.12.0"
@@ -87405,7 +87308,7 @@ in
         ];
       })
       sources."content-type-1.0.4"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."cordova-app-hello-world-6.0.0"
       (sources."cordova-common-4.0.2" // {
@@ -87449,7 +87352,7 @@ in
         ];
       })
       sources."depd-1.1.2"
-      sources."destroy-1.0.4"
+      sources."destroy-1.2.0"
       sources."detect-indent-6.1.0"
       sources."detect-newline-3.1.0"
       sources."dir-glob-3.0.1"
@@ -87471,11 +87374,12 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
       sources."execa-5.1.1"
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
           sources."debug-2.6.9"
+          sources."depd-2.0.0"
           sources."ms-2.0.0"
-          sources."qs-6.9.7"
+          sources."qs-6.10.3"
           sources."safe-buffer-5.2.1"
         ];
       })
@@ -87494,7 +87398,7 @@ in
       sources."fastq-1.13.0"
       sources."figures-2.0.0"
       sources."fill-range-7.0.1"
-      (sources."finalhandler-1.1.2" // {
+      (sources."finalhandler-1.2.0" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -87505,11 +87409,12 @@ in
       sources."form-data-2.3.3"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gauge-2.7.4"
+      sources."get-intrinsic-1.1.1"
       sources."get-stream-6.0.1"
       sources."getpass-0.1.7"
       sources."glob-7.2.0"
@@ -87526,11 +87431,16 @@ in
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
+      sources."has-symbols-1.0.3"
       sources."has-unicode-2.0.1"
       sources."has-yarn-2.1.0"
       sources."hosted-git-info-4.1.0"
       sources."http-cache-semantics-4.1.0"
-      sources."http-errors-1.8.1"
+      (sources."http-errors-2.0.0" // {
+        dependencies = [
+          sources."depd-2.0.0"
+        ];
+      })
       sources."http-proxy-agent-4.0.1"
       sources."http-signature-1.2.0"
       sources."https-proxy-agent-5.0.1"
@@ -87582,7 +87492,7 @@ in
       sources."ip-1.1.5"
       sources."ipaddr.js-1.9.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-1.0.0"
@@ -87672,8 +87582,9 @@ in
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
+      sources."object-inspect-1.12.0"
       sources."objectorarray-1.0.5"
-      sources."on-finished-2.3.0"
+      sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
@@ -87720,7 +87631,7 @@ in
       sources."qs-6.5.3"
       sources."queue-microtask-1.2.3"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.3" // {
+      (sources."raw-body-2.5.1" // {
         dependencies = [
           sources."bytes-3.1.2"
           sources."iconv-lite-0.4.24"
@@ -87764,33 +87675,35 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
               sources."ms-2.0.0"
             ];
           })
+          sources."depd-2.0.0"
           sources."ms-2.1.3"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
+      sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."smart-buffer-4.2.0"
       sources."socks-2.6.2"
-      sources."socks-proxy-agent-6.1.1"
+      sources."socks-proxy-agent-6.2.0"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.11"
       sources."sshpk-1.17.0"
       sources."ssri-8.0.1"
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."stringify-package-1.0.1"
@@ -87800,7 +87713,7 @@ in
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.11.9"
+      sources."systeminformation-5.11.14"
       sources."tar-6.1.11"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
@@ -87814,7 +87727,7 @@ in
       sources."type-fest-0.20.2"
       sources."type-is-1.6.18"
       sources."typedarray-to-buffer-3.1.5"
-      sources."underscore-1.13.2"
+      sources."underscore-1.13.3"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."unique-string-2.0.0"
@@ -87908,7 +87821,7 @@ in
           sources."escape-string-regexp-1.0.5"
         ];
       })
-      sources."clean-stack-4.1.0"
+      sources."clean-stack-4.2.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."cp-file-9.1.0"
@@ -87938,7 +87851,7 @@ in
       sources."ignore-5.2.0"
       sources."indent-string-5.0.0"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
@@ -88030,7 +87943,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.2"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -88061,7 +87974,7 @@ in
       sources."debug-3.2.7"
       sources."define-properties-1.1.4"
       sources."delayed-stream-1.0.0"
-      sources."es5-ext-0.10.60"
+      sources."es5-ext-0.10.61"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
       (sources."es6-set-0.1.5" // {
@@ -88204,7 +88117,7 @@ in
       sources."debug-2.6.9"
       sources."duplexer2-0.0.2"
       sources."envinfo-7.8.1"
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."fs.realpath-1.0.0"
       sources."fstream-1.0.12"
       sources."fstream-ignore-1.0.5"
@@ -88319,7 +88232,7 @@ in
       sources."@cspell/dict-ada-2.0.0"
       sources."@cspell/dict-aws-2.0.0"
       sources."@cspell/dict-bash-2.0.2"
-      sources."@cspell/dict-companies-2.0.3"
+      sources."@cspell/dict-companies-2.0.4"
       sources."@cspell/dict-cpp-2.0.3"
       sources."@cspell/dict-cryptocurrencies-2.0.0"
       sources."@cspell/dict-csharp-2.0.1"
@@ -88329,7 +88242,7 @@ in
       sources."@cspell/dict-dotnet-2.0.1"
       sources."@cspell/dict-elixir-2.0.1"
       sources."@cspell/dict-en-gb-1.1.33"
-      sources."@cspell/dict-en_us-2.2.0"
+      sources."@cspell/dict-en_us-2.2.1"
       sources."@cspell/dict-filetypes-2.0.1"
       sources."@cspell/dict-fonts-2.0.0"
       sources."@cspell/dict-fullstack-2.0.4"
@@ -88342,7 +88255,7 @@ in
       sources."@cspell/dict-latex-2.0.0"
       sources."@cspell/dict-lorem-ipsum-2.0.0"
       sources."@cspell/dict-lua-2.0.0"
-      sources."@cspell/dict-node-2.0.0"
+      sources."@cspell/dict-node-2.0.1"
       sources."@cspell/dict-npm-2.0.2"
       sources."@cspell/dict-php-2.0.0"
       sources."@cspell/dict-powershell-2.0.0"
@@ -88384,14 +88297,14 @@ in
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
-      sources."fast-equals-3.0.1"
+      sources."fast-equals-3.0.2"
       sources."fast-json-stable-stringify-2.1.0"
       sources."file-entry-cache-6.0.1"
       sources."fill-range-7.0.1"
       sources."find-up-5.0.0"
       sources."flat-cache-3.0.4"
       sources."flatted-3.2.5"
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."fs.realpath-1.0.0"
       sources."gensequence-3.1.1"
       sources."get-stdin-8.0.0"
@@ -88540,7 +88453,7 @@ in
       sources."atomic-batcher-1.0.2"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
-      sources."b4a-1.3.1"
+      sources."b4a-1.5.0"
       sources."balanced-match-1.0.2"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -89090,11 +89003,7 @@ in
       })
       sources."which-1.3.1"
       sources."widest-line-2.0.1"
-      (sources."winston-2.4.5" // {
-        dependencies = [
-          sources."async-1.0.0"
-        ];
-      })
+      sources."winston-2.4.6"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
       sources."xdg-basedir-3.0.0"
@@ -89138,18 +89047,14 @@ in
     version = "1.28.2";
     src = ../../applications/networking/instant-messengers/deltachat-desktop;
     dependencies = [
-      sources."@ampproject/remapping-2.1.2"
+      sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.7"
-      sources."@babel/core-7.17.9"
-      (sources."@babel/generator-7.17.9" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
+      sources."@babel/compat-data-7.17.10"
+      sources."@babel/core-7.17.10"
+      sources."@babel/generator-7.17.10"
       sources."@babel/helper-annotate-as-pure-7.16.7"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-      sources."@babel/helper-compilation-targets-7.17.7"
+      sources."@babel/helper-compilation-targets-7.17.10"
       sources."@babel/helper-create-class-features-plugin-7.17.9"
       sources."@babel/helper-create-regexp-features-plugin-7.17.0"
       sources."@babel/helper-define-polyfill-provider-0.3.1"
@@ -89172,7 +89077,7 @@ in
       sources."@babel/helper-wrap-function-7.16.8"
       sources."@babel/helpers-7.17.9"
       sources."@babel/highlight-7.17.9"
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
@@ -89223,7 +89128,7 @@ in
       sources."@babel/plugin-transform-modules-commonjs-7.17.9"
       sources."@babel/plugin-transform-modules-systemjs-7.17.8"
       sources."@babel/plugin-transform-modules-umd-7.16.7"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.17.10"
       sources."@babel/plugin-transform-new-target-7.16.7"
       sources."@babel/plugin-transform-object-super-7.16.7"
       sources."@babel/plugin-transform-parameters-7.16.7"
@@ -89241,22 +89146,24 @@ in
       sources."@babel/plugin-transform-typeof-symbol-7.16.7"
       sources."@babel/plugin-transform-unicode-escapes-7.16.7"
       sources."@babel/plugin-transform-unicode-regex-7.16.7"
-      sources."@babel/preset-env-7.16.11"
+      sources."@babel/preset-env-7.17.10"
       sources."@babel/preset-modules-0.1.5"
       sources."@babel/preset-react-7.16.7"
       sources."@babel/runtime-7.17.9"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.9"
-      sources."@babel/types-7.17.0"
-      sources."@blueprintjs/colors-4.1.0"
+      sources."@babel/traverse-7.17.10"
+      sources."@babel/types-7.17.10"
+      sources."@blueprintjs/colors-4.1.1"
       sources."@blueprintjs/core-3.54.0"
       sources."@blueprintjs/icons-3.33.0"
       sources."@deltachat/message_parser_wasm-0.3.0"
       sources."@electron/get-1.14.1"
       sources."@hypnosphi/create-react-context-0.3.1"
-      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/resolve-uri-3.0.6"
+      sources."@jridgewell/set-array-1.1.0"
       sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@jridgewell/trace-mapping-0.3.9"
       sources."@juggle/resize-observer-3.3.1"
       sources."@mapbox/extent-0.4.0"
       sources."@mapbox/geojson-coords-0.0.2"
@@ -89280,12 +89187,12 @@ in
       sources."@types/mapbox-gl-0.54.5"
       sources."@types/mime-types-2.1.1"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-14.18.13"
+      sources."@types/node-14.18.16"
       sources."@types/node-fetch-2.6.1"
       sources."@types/prop-types-15.7.5"
       sources."@types/rc-1.2.1"
       sources."@types/react-16.14.25"
-      sources."@types/react-dom-16.9.14"
+      sources."@types/react-dom-16.9.15"
       sources."@types/react-window-1.8.5"
       sources."@types/react-window-infinite-loader-1.0.6"
       sources."@types/scheduler-0.16.2"
@@ -89326,7 +89233,7 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."buffer-crc32-0.2.13"
       sources."buffer-from-1.1.2"
       sources."cache-base-1.0.1"
@@ -89337,7 +89244,7 @@ in
         ];
       })
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
       (sources."class-utils-0.3.6" // {
@@ -89378,7 +89285,7 @@ in
         ];
       })
       sources."copy-descriptor-0.1.1"
-      (sources."core-js-compat-3.22.0" // {
+      (sources."core-js-compat-3.22.3" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -89404,7 +89311,7 @@ in
       sources."duplexer3-0.1.4"
       sources."earcut-2.2.3"
       sources."electron-14.2.9"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       sources."emoji-js-clean-4.0.0"
       sources."emoji-mart-3.0.1"
       sources."emoji-regex-9.2.2"
@@ -89469,7 +89376,7 @@ in
       sources."fs-extra-8.1.0"
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
-      sources."functions-have-names-1.2.2"
+      sources."functions-have-names-1.2.3"
       sources."gensync-1.0.0-beta.2"
       sources."geojson-flatten-1.0.4"
       sources."geojson-vt-3.2.1"
@@ -89520,7 +89427,7 @@ in
       sources."is-arguments-1.1.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
@@ -89578,7 +89485,7 @@ in
         ];
       })
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."ms-2.1.2"
       sources."murmurhash-js-1.0.0"
       sources."nan-2.15.0"
@@ -89586,7 +89493,7 @@ in
       sources."napi-macros-2.0.0"
       sources."node-fetch-2.6.7"
       sources."node-gyp-build-4.4.0"
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       sources."normalize-path-3.0.0"
       sources."normalize-url-4.5.1"
       sources."normalize.css-8.0.1"
@@ -89647,7 +89554,7 @@ in
       sources."react-string-replace-1.0.0"
       sources."react-transition-group-2.9.0"
       sources."react-virtualized-auto-sizer-1.0.6"
-      sources."react-window-1.8.6"
+      sources."react-window-1.8.7"
       sources."react-window-infinite-loader-1.0.7"
       sources."react-zoom-pan-pinch-2.1.3"
       sources."readable-stream-3.6.0"
@@ -89685,7 +89592,7 @@ in
       sources."rw-0.1.4"
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
-      (sources."sass-1.50.0" // {
+      (sources."sass-1.51.0" // {
         dependencies = [
           sources."anymatch-3.1.2"
           sources."binary-extensions-2.2.0"
@@ -89798,7 +89705,7 @@ in
       sources."type-fest-0.3.1"
       sources."typed-styles-0.0.7"
       sources."typedarray-0.0.6"
-      sources."typescript-4.6.3"
+      sources."typescript-4.6.4"
       sources."unicode-canonical-property-names-ecmascript-2.0.0"
       sources."unicode-match-property-ecmascript-2.0.0"
       sources."unicode-match-property-value-ecmascript-2.0.0"
@@ -89959,11 +89866,11 @@ in
       sources."dockerfile-ast-0.4.2"
       sources."dockerfile-language-service-0.8.1"
       sources."dockerfile-utils-0.9.4"
-      sources."vscode-jsonrpc-8.0.0-next.7"
-      sources."vscode-languageserver-8.0.0-next.10"
-      (sources."vscode-languageserver-protocol-3.17.0-next.16" // {
+      sources."vscode-jsonrpc-8.0.0-next.8"
+      sources."vscode-languageserver-8.0.0-next.14"
+      (sources."vscode-languageserver-protocol-3.17.0-next.20" // {
         dependencies = [
-          sources."vscode-languageserver-types-3.17.0-next.9"
+          sources."vscode-languageserver-types-3.17.0-next.12"
         ];
       })
       sources."vscode-languageserver-textdocument-1.0.4"
@@ -89982,22 +89889,22 @@ in
   elasticdump = nodeEnv.buildNodePackage {
     name = "elasticdump";
     packageName = "elasticdump";
-    version = "6.82.3";
+    version = "6.84.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.82.3.tgz";
-      sha512 = "Q7JNsKRQbPkwCQIj9YNHbgYZ2TcHAMdKlga++mBkKwpuIiwYYtqvb40TtjQBWpAD+k9MI7Lrp2/Vqrt9vmy0ow==";
+      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.84.0.tgz";
+      sha512 = "AMU2VN264ic/57c2FTW7XW271FFDOZvZX56fzOna9VkvszRwT4HJdVStizWjy40flUZFxRa2w9jvSwDg0aryzA==";
     };
     dependencies = [
       sources."@fast-csv/format-4.3.5"
       sources."@fast-csv/parse-4.3.6"
-      sources."@types/node-14.18.13"
+      sources."@types/node-14.18.16"
       sources."JSONStream-1.3.5"
       sources."ajv-6.12.6"
       sources."asn1-0.2.6"
       sources."assert-plus-1.0.0"
       sources."async-2.6.4"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.1097.0"
+      sources."aws-sdk-2.1122.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."base64-js-1.5.1"
@@ -90076,7 +89983,7 @@ in
         ];
       })
       sources."request-2.88.2"
-      sources."requestretry-7.0.2"
+      sources."requestretry-7.1.0"
       sources."s3-stream-upload-2.0.2"
       sources."s3signed-0.1.0"
       sources."s3urls-1.5.2"
@@ -90177,6 +90084,12 @@ in
           sources."universalify-0.1.2"
         ];
       })
+      (sources."@electron/universal-1.2.1" // {
+        dependencies = [
+          sources."@malept/cross-spawn-promise-1.1.1"
+          sources."fs-extra-9.1.0"
+        ];
+      })
       sources."@gar/promisify-1.1.3"
       sources."@malept/cross-spawn-promise-2.0.0"
       sources."@nodelib/fs.scandir-2.1.5"
@@ -90193,7 +90106,7 @@ in
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/responselike-1.0.0"
       sources."@types/yauzl-2.10.0"
       sources."abbrev-1.1.1"
@@ -90234,6 +90147,7 @@ in
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-crc32-0.2.13"
+      sources."buffer-equal-1.0.0"
       sources."buffer-fill-1.0.0"
       sources."buffer-from-1.1.2"
       sources."cacache-15.3.0"
@@ -90255,6 +90169,7 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."color-support-1.1.3"
+      sources."colors-1.0.3"
       sources."combined-stream-1.0.8"
       sources."commander-4.1.1"
       sources."compare-version-0.1.2"
@@ -90293,6 +90208,12 @@ in
       sources."depd-1.1.2"
       sources."detect-libc-1.0.3"
       sources."detect-node-2.1.0"
+      (sources."dir-compare-2.4.0" // {
+        dependencies = [
+          sources."commander-2.9.0"
+          sources."minimatch-3.0.4"
+        ];
+      })
       sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.2"
       (sources."electron-notarize-1.2.1" // {
@@ -90305,7 +90226,7 @@ in
           sources."debug-2.6.9"
         ];
       })
-      (sources."electron-packager-15.4.0" // {
+      (sources."electron-packager-15.5.1" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
@@ -90367,7 +90288,7 @@ in
       })
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
@@ -90404,6 +90325,7 @@ in
       sources."globalthis-1.0.2"
       sources."got-11.8.3"
       sources."graceful-fs-4.2.10"
+      sources."graceful-readlink-1.0.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
@@ -90427,10 +90349,10 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      sources."inquirer-8.2.2"
+      sources."inquirer-8.2.4"
       sources."ip-1.1.5"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -90492,7 +90414,7 @@ in
       sources."mute-stream-0.0.8"
       sources."negotiator-0.6.3"
       sources."nice-try-1.0.5"
-      sources."node-abi-3.8.0"
+      sources."node-abi-3.15.0"
       sources."node-addon-api-3.2.1"
       sources."node-api-version-0.1.4"
       sources."node-fetch-2.6.7"
@@ -90515,7 +90437,7 @@ in
           sources."path-key-2.0.1"
         ];
       })
-      sources."npmlog-6.0.1"
+      sources."npmlog-6.0.2"
       (sources."nugget-2.0.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -90617,7 +90539,7 @@ in
       })
       sources."smart-buffer-4.2.0"
       sources."socks-2.6.2"
-      sources."socks-proxy-agent-6.1.1"
+      sources."socks-proxy-agent-6.2.0"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.21"
       sources."spdx-correct-3.1.1"
@@ -90653,7 +90575,7 @@ in
       sources."tough-cookie-2.5.0"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."tunnel-0.0.6"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
@@ -90739,17 +90661,17 @@ in
       sha512 = "ceJSyC2s1VCIqyzGkHeJkWBq/85QXaHM+0rZ1lRRtmcK9CsfRDyLSIZ7KJDZhPdIRUXBgBkdcOAW3AIu/yO/ew==";
     };
     dependencies = [
-      sources."@ampproject/remapping-2.1.2"
+      sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.7"
-      (sources."@babel/core-7.17.9" // {
+      sources."@babel/compat-data-7.17.10"
+      (sources."@babel/core-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.17.9"
+      sources."@babel/generator-7.17.10"
       sources."@babel/helper-annotate-as-pure-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.17.7" // {
+      (sources."@babel/helper-compilation-targets-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -90766,7 +90688,7 @@ in
       sources."@babel/helper-validator-option-7.16.7"
       sources."@babel/helpers-7.17.9"
       sources."@babel/highlight-7.17.9"
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/plugin-proposal-object-rest-spread-7.17.3"
       sources."@babel/plugin-syntax-jsx-7.16.7"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
@@ -90774,11 +90696,13 @@ in
       sources."@babel/plugin-transform-parameters-7.16.7"
       sources."@babel/plugin-transform-react-jsx-7.17.3"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.9"
-      sources."@babel/types-7.17.0"
-      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@babel/traverse-7.17.10"
+      sources."@babel/types-7.17.10"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/resolve-uri-3.0.6"
+      sources."@jridgewell/set-array-1.1.0"
       sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@jridgewell/trace-mapping-0.3.9"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/yoga-layout-1.9.2"
@@ -90797,13 +90721,13 @@ in
       sources."auto-bind-4.0.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."caller-callsite-4.1.0"
       sources."caller-path-3.0.1"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       sources."chalk-2.4.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -90832,7 +90756,7 @@ in
         ];
       })
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       sources."emoji-regex-8.0.0"
       sources."emojilib-2.4.0"
       sources."end-of-stream-1.4.4"
@@ -90882,7 +90806,7 @@ in
       })
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-docker-2.2.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-obj-2.0.0"
@@ -90921,7 +90845,7 @@ in
       sources."minimist-options-4.1.0"
       sources."ms-2.1.2"
       sources."nice-try-1.0.5"
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       sources."normalize-package-data-2.5.0"
       sources."npm-run-path-2.0.2"
       sources."object-assign-4.1.1"
@@ -90994,7 +90918,6 @@ in
           sources."color-name-1.1.4"
         ];
       })
-      sources."source-map-0.5.7"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
@@ -91098,11 +91021,11 @@ in
       })
       sources."@fluentui/date-time-utilities-8.5.0"
       sources."@fluentui/dom-utilities-2.2.0"
-      sources."@fluentui/font-icons-mdl2-8.3.1"
+      sources."@fluentui/font-icons-mdl2-8.3.2"
       sources."@fluentui/foundation-legacy-8.2.6"
       sources."@fluentui/keyboard-key-0.4.0"
       sources."@fluentui/merge-styles-8.5.1"
-      sources."@fluentui/react-8.65.0"
+      sources."@fluentui/react-8.67.2"
       sources."@fluentui/react-focus-8.5.7"
       sources."@fluentui/react-hooks-8.5.4"
       sources."@fluentui/react-window-provider-2.2.0"
@@ -91131,7 +91054,7 @@ in
         ];
       })
       sources."@humanwhocodes/object-schema-1.2.1"
-      sources."@microsoft/load-themed-styles-1.10.258"
+      sources."@microsoft/load-themed-styles-1.10.260"
       sources."@node-rs/crc32-1.5.0"
       sources."@node-rs/crc32-android-arm-eabi-1.5.0"
       sources."@node-rs/crc32-android-arm64-1.5.0"
@@ -91150,7 +91073,6 @@ in
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@sindresorhus/is-0.14.0"
-      sources."@socket.io/base64-arraybuffer-1.0.2"
       sources."@sqltools/formatter-1.2.3"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@tokenizer/token-0.3.0"
@@ -91265,7 +91187,7 @@ in
       })
       sources."arg-4.1.3"
       sources."argparse-1.0.10"
-      sources."arib-mpeg2ts-parser-3.0.13"
+      sources."arib-mpeg2ts-parser-3.0.15"
       sources."arib-subtitle-timedmetadater-4.0.9"
       sources."aribts-2.1.12"
       sources."arr-diff-4.0.0"
@@ -91318,7 +91240,6 @@ in
       sources."base64id-2.0.0"
       sources."basic-auth-2.0.1"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."big-integer-1.6.51"
       sources."bignumber.js-9.0.0"
       sources."binary-extensions-1.13.1"
       sources."bindings-1.5.0"
@@ -91326,7 +91247,7 @@ in
       sources."body-parser-1.19.0"
       sources."brace-expansion-2.0.1"
       sources."braces-3.0.2"
-      sources."bson-4.6.2"
+      sources."bson-4.6.3"
       sources."buffer-5.7.1"
       sources."buffer-equal-1.0.0"
       sources."buffer-from-1.1.2"
@@ -91533,11 +91454,11 @@ in
           sources."ws-8.2.3"
         ];
       })
-      sources."engine.io-parser-5.0.3"
+      sources."engine.io-parser-5.0.4"
       sources."enhanced-resolve-5.9.3"
       sources."enquirer-2.3.6"
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.60"
+      sources."es5-ext-0.10.61"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
@@ -91876,14 +91797,14 @@ in
       sources."inversify-5.1.1"
       sources."invert-kv-1.0.0"
       sources."ip-1.1.5"
-      sources."ip-num-1.3.4"
+      sources."ip-num-1.4.0"
       sources."ipaddr.js-1.9.1"
       sources."is-absolute-1.0.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-dir-1.0.0"
@@ -92532,10 +92453,10 @@ in
       sources."ts-log-2.2.4"
       (sources."ts-node-10.4.0" // {
         dependencies = [
-          sources."acorn-8.7.0"
+          sources."acorn-8.7.1"
         ];
       })
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       (sources."tsutils-3.21.0" // {
         dependencies = [
           sources."tslib-1.14.1"
@@ -92705,7 +92626,6 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@socket.io/base64-arraybuffer-1.0.2"
       sources."@socket.io/component-emitter-3.0.0"
       (sources."@soda/friendly-errors-webpack-plugin-1.8.1" // {
         dependencies = [
@@ -92732,7 +92652,7 @@ in
       sources."@types/mime-1.3.2"
       sources."@types/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
@@ -92897,7 +92817,7 @@ in
       sources."acorn-6.4.2"
       sources."acorn-jsx-5.3.2"
       sources."acorn-walk-7.2.0"
-      sources."address-1.1.2"
+      sources."address-1.2.0"
       sources."ajv-6.12.6"
       sources."ajv-errors-1.0.1"
       sources."ajv-keywords-3.5.2"
@@ -92979,11 +92899,11 @@ in
       sources."bindings-1.5.0"
       sources."bluebird-3.7.2"
       sources."bn.js-5.2.0"
-      (sources."body-parser-1.19.2" // {
+      (sources."body-parser-1.20.0" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
-          sources."qs-6.9.7"
+          sources."qs-6.10.3"
         ];
       })
       (sources."bonjour-3.5.0" // {
@@ -93005,7 +92925,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."buffer-4.9.2"
       sources."buffer-from-1.1.2"
       sources."buffer-indexof-1.1.1"
@@ -93047,7 +92967,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
@@ -93112,7 +93032,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."combined-stream-1.0.8"
       sources."commander-2.20.3"
       sources."commondir-1.0.1"
@@ -93134,7 +93054,7 @@ in
       sources."constants-browserify-1.0.0"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
@@ -93250,9 +93170,9 @@ in
         ];
       })
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.2"
+      sources."depd-2.0.0"
       sources."des.js-1.0.1"
-      sources."destroy-1.0.4"
+      sources."destroy-1.2.0"
       sources."detect-node-2.1.0"
       sources."diff-4.0.2"
       (sources."diffie-hellman-5.0.3" // {
@@ -93288,7 +93208,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -93299,7 +93219,7 @@ in
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
       sources."engine.io-client-6.0.3"
-      sources."engine.io-parser-5.0.3"
+      sources."engine.io-parser-5.0.4"
       (sources."enhanced-resolve-4.5.0" // {
         dependencies = [
           sources."memory-fs-0.5.0"
@@ -93409,11 +93329,11 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
-          sources."qs-6.9.7"
+          sources."qs-6.10.3"
         ];
       })
       sources."extend-3.0.2"
@@ -93448,7 +93368,7 @@ in
       sources."file-uri-to-path-1.0.0"
       sources."filesize-3.6.1"
       sources."fill-range-7.0.1"
-      (sources."finalhandler-1.1.2" // {
+      (sources."finalhandler-1.2.0" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -93501,7 +93421,7 @@ in
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
-      sources."functions-have-names-1.2.2"
+      sources."functions-have-names-1.2.3"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
       sources."get-stdin-6.0.0"
@@ -93529,7 +93449,7 @@ in
           sources."ansi-regex-2.1.1"
         ];
       })
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-cors-1.1.0"
       sources."has-flag-3.0.0"
       sources."has-property-descriptors-1.0.0"
@@ -93586,7 +93506,7 @@ in
         ];
       })
       sources."http-deceiver-1.2.7"
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       sources."http-parser-js-0.5.6"
       sources."http-proxy-1.18.1"
       sources."http-proxy-middleware-1.3.1"
@@ -93652,7 +93572,7 @@ in
       sources."is-callable-1.2.4"
       sources."is-ci-1.2.1"
       sources."is-color-stop-1.1.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
@@ -93798,7 +93718,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -93842,7 +93762,7 @@ in
       sources."object.pick-1.3.0"
       sources."object.values-1.1.5"
       sources."obuf-1.1.2"
-      sources."on-finished-2.3.0"
+      sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
@@ -94063,7 +93983,7 @@ in
       sources."randombytes-2.1.0"
       sources."randomfill-1.0.4"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.3"
+      sources."raw-body-2.5.1"
       sources."read-pkg-5.2.0"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
@@ -94135,7 +94055,7 @@ in
       sources."select-hose-2.0.0"
       sources."selfsigned-1.10.14"
       sources."semver-7.3.7"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
@@ -94150,13 +94070,15 @@ in
       (sources."serve-index-1.9.1" // {
         dependencies = [
           sources."debug-2.6.9"
+          sources."depd-1.1.2"
           sources."http-errors-1.6.3"
           sources."inherits-2.0.3"
           sources."ms-2.0.0"
           sources."setprototypeof-1.1.0"
+          sources."statuses-1.5.0"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
@@ -94276,7 +94198,7 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."stream-browserify-2.0.2"
       sources."stream-each-1.2.3"
       sources."stream-http-2.8.3"
@@ -94378,7 +94300,7 @@ in
           sources."source-map-0.6.1"
         ];
       })
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."union-value-1.0.1"
       sources."uniq-1.0.1"
       sources."uniqs-2.0.0"
@@ -94653,16 +94575,16 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "8.13.0";
+    version = "8.14.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-8.13.0.tgz";
-      sha512 = "D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ==";
+      url = "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz";
+      sha512 = "3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==";
     };
     dependencies = [
-      sources."@eslint/eslintrc-1.2.1"
+      sources."@eslint/eslintrc-1.2.2"
       sources."@humanwhocodes/config-array-0.9.5"
       sources."@humanwhocodes/object-schema-1.2.1"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-jsx-5.3.2"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
@@ -94757,16 +94679,16 @@ in
   eslint_d = nodeEnv.buildNodePackage {
     name = "eslint_d";
     packageName = "eslint_d";
-    version = "12.0.0";
+    version = "12.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint_d/-/eslint_d-12.0.0.tgz";
-      sha512 = "jSueemgxyOsxVLOWkJuBbJfQB1vt9rjCqAbht51W/2982VcDxQ3ywjUaEvWTF+oTFWe2M1ER+d54kFgoZCGevg==";
+      url = "https://registry.npmjs.org/eslint_d/-/eslint_d-12.1.0.tgz";
+      sha512 = "mRttHSO/sC6oxnfdlnLUTfB1sI2ApmbPAHSNx60+8jQmwwvEZjUv4WDmv20g7i9DSBuK8Y5boTyz4ijBAujk0Q==";
     };
     dependencies = [
-      sources."@eslint/eslintrc-1.2.1"
+      sources."@eslint/eslintrc-1.2.2"
       sources."@humanwhocodes/config-array-0.9.5"
       sources."@humanwhocodes/object-schema-1.2.1"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-jsx-5.3.2"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
@@ -94789,7 +94711,7 @@ in
       sources."deep-is-0.1.4"
       sources."doctrine-3.0.0"
       sources."escape-string-regexp-4.0.0"
-      sources."eslint-8.13.0"
+      sources."eslint-8.14.0"
       sources."eslint-scope-7.1.1"
       (sources."eslint-utils-3.0.0" // {
         dependencies = [
@@ -94885,10 +94807,10 @@ in
   expo-cli = nodeEnv.buildNodePackage {
     name = "expo-cli";
     packageName = "expo-cli";
-    version = "5.3.1";
+    version = "5.4.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-5.3.1.tgz";
-      sha512 = "iNJLde2HDRiQTNGBlhNfWcTQQCKOwZoXsl55YV2YlRWWiWhLCWFrC8+j5OxD2PRiRqueSOtwR+Kf+ODD60dBAA==";
+      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-5.4.3.tgz";
+      sha512 = "MT21EV+7e53qqXcRGZaovguOVBG4mmpm6JpZnC5grQAsWn6Jf+YwEk5XUORhIyM2FcrQfnseAJJuRA1OY4kzrw==";
     };
     dependencies = [
       sources."@babel/code-frame-7.10.4"
@@ -94898,7 +94820,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."@babel/generator-7.17.9"
+      sources."@babel/generator-7.17.10"
       sources."@babel/helper-environment-visitor-7.16.7"
       sources."@babel/helper-function-name-7.17.9"
       sources."@babel/helper-hoist-variables-7.16.7"
@@ -94913,30 +94835,30 @@ in
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/runtime-7.9.0"
       (sources."@babel/template-7.16.7" // {
         dependencies = [
           sources."@babel/code-frame-7.16.7"
         ];
       })
-      (sources."@babel/traverse-7.17.9" // {
+      (sources."@babel/traverse-7.17.10" // {
         dependencies = [
           sources."@babel/code-frame-7.16.7"
         ];
       })
-      sources."@babel/types-7.17.0"
-      sources."@expo/apple-utils-0.0.0-alpha.26"
+      sources."@babel/types-7.17.10"
+      sources."@expo/apple-utils-0.0.0-alpha.31"
       sources."@expo/bunyan-4.0.0"
-      sources."@expo/config-6.0.20"
-      (sources."@expo/config-plugins-4.1.1" // {
+      sources."@expo/config-6.0.23"
+      (sources."@expo/config-plugins-4.1.4" // {
         dependencies = [
           sources."semver-7.3.7"
         ];
       })
-      sources."@expo/config-types-44.0.0"
-      sources."@expo/dev-server-0.1.107"
-      sources."@expo/dev-tools-0.13.147"
+      sources."@expo/config-types-45.0.0"
+      sources."@expo/dev-server-0.1.110"
+      sources."@expo/dev-tools-0.13.152"
       (sources."@expo/devcert-1.0.0" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -94944,17 +94866,18 @@ in
           sources."sudo-prompt-8.2.5"
         ];
       })
-      (sources."@expo/image-utils-0.3.19" // {
+      (sources."@expo/image-utils-0.3.20" // {
         dependencies = [
+          sources."mime-2.6.0"
           sources."temp-dir-1.0.0"
           sources."tempy-0.3.0"
           sources."type-fest-0.3.1"
         ];
       })
-      sources."@expo/json-file-8.2.35"
-      sources."@expo/metro-config-0.3.13"
-      sources."@expo/osascript-2.0.32"
-      (sources."@expo/package-manager-0.0.51" // {
+      sources."@expo/json-file-8.2.36"
+      sources."@expo/metro-config-0.3.16"
+      sources."@expo/osascript-2.0.33"
+      (sources."@expo/package-manager-0.0.53" // {
         dependencies = [
           sources."npm-package-arg-7.0.0"
           sources."rimraf-3.0.2"
@@ -94966,25 +94889,23 @@ in
           sources."xmlbuilder-14.0.0"
         ];
       })
-      sources."@expo/prebuild-config-3.1.1"
+      sources."@expo/prebuild-config-4.0.0"
       sources."@expo/rudder-sdk-node-1.1.1"
-      sources."@expo/schemer-1.3.34"
+      sources."@expo/schemer-1.4.1"
       sources."@expo/sdk-runtime-versions-1.0.0"
       sources."@expo/spawn-async-1.5.0"
-      (sources."@expo/webpack-config-0.16.20" // {
-        dependencies = [
-          sources."is-wsl-2.2.0"
-        ];
-      })
+      sources."@expo/webpack-config-0.16.23"
       (sources."@expo/xcpretty-4.1.1" // {
         dependencies = [
           sources."js-yaml-4.1.0"
         ];
       })
       sources."@gar/promisify-1.1.3"
-      sources."@hapi/hoek-9.2.1"
+      sources."@hapi/hoek-9.3.0"
       sources."@hapi/topo-5.1.0"
-      sources."@jest/types-26.6.2"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/set-array-1.1.0"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -94999,19 +94920,6 @@ in
           sources."rimraf-3.0.2"
         ];
       })
-      sources."@react-native-community/cli-debugger-ui-5.0.1"
-      sources."@react-native-community/cli-server-api-5.0.1"
-      (sources."@react-native-community/cli-tools-5.0.1" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-3.0.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."open-6.4.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
       sources."@react-native/normalize-color-2.0.0"
       sources."@segment/loosely-validate-event-2.0.0"
       sources."@sideway/address-4.1.4"
@@ -95023,17 +94931,14 @@ in
       sources."@types/glob-7.2.0"
       sources."@types/html-minifier-terser-5.1.2"
       sources."@types/http-cache-semantics-4.0.1"
-      sources."@types/istanbul-lib-coverage-2.0.4"
-      sources."@types/istanbul-lib-report-3.0.0"
-      sources."@types/istanbul-reports-3.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/json-schema-7.0.11"
       sources."@types/keyv-3.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.24"
+      sources."@types/node-9.6.61"
       sources."@types/q-1.5.5"
       sources."@types/responselike-1.0.0"
-      sources."@types/retry-0.12.1"
+      sources."@types/retry-0.12.2"
       sources."@types/source-list-map-0.1.2"
       sources."@types/tapable-1.0.8"
       (sources."@types/uglify-js-3.13.2" // {
@@ -95051,8 +94956,6 @@ in
           sources."source-map-0.7.3"
         ];
       })
-      sources."@types/yargs-15.0.14"
-      sources."@types/yargs-parser-21.0.0"
       sources."@webassemblyjs/ast-1.9.0"
       sources."@webassemblyjs/floating-point-hex-parser-1.9.0"
       sources."@webassemblyjs/helper-api-error-1.9.0"
@@ -95095,11 +94998,7 @@ in
       sources."ansi-styles-3.2.1"
       sources."any-promise-1.3.0"
       sources."anymatch-3.1.2"
-      (sources."apollo-link-1.2.1" // {
-        dependencies = [
-          sources."@types/node-9.6.61"
-        ];
-      })
+      sources."apollo-link-1.2.1"
       sources."apollo-utilities-1.3.4"
       sources."application-config-path-0.1.0"
       sources."aproba-1.2.0"
@@ -95107,10 +95006,7 @@ in
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
-      sources."array-filter-0.0.1"
       sources."array-flatten-1.1.1"
-      sources."array-map-0.0.0"
-      sources."array-reduce-0.0.0"
       sources."array-union-2.1.0"
       sources."array-uniq-1.0.3"
       sources."array-unique-0.3.2"
@@ -95162,16 +95058,8 @@ in
       sources."bn.js-5.2.0"
       (sources."body-parser-1.19.0" // {
         dependencies = [
-          sources."bytes-3.1.0"
           sources."debug-2.6.9"
-          sources."depd-1.1.2"
-          sources."http-errors-1.7.2"
-          sources."inherits-2.0.3"
           sources."ms-2.0.0"
-          sources."on-finished-2.3.0"
-          sources."setprototypeof-1.1.1"
-          sources."statuses-1.5.0"
-          sources."toidentifier-1.0.0"
         ];
       })
       (sources."bonjour-3.5.0" // {
@@ -95201,7 +95089,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      (sources."browserslist-4.20.2" // {
+      (sources."browserslist-4.20.3" // {
         dependencies = [
           sources."picocolors-1.0.0"
         ];
@@ -95212,7 +95100,7 @@ in
       sources."buffer-xor-1.0.3"
       sources."builtin-status-codes-3.0.0"
       sources."builtins-1.0.3"
-      sources."bytes-3.0.0"
+      sources."bytes-3.1.0"
       (sources."cacache-15.3.0" // {
         dependencies = [
           sources."minipass-3.1.6"
@@ -95230,12 +95118,12 @@ in
       sources."callsites-2.0.0"
       (sources."camel-case-4.1.2" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."camelcase-6.3.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -95309,7 +95197,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."combined-stream-1.0.8"
       sources."command-exists-1.2.9"
       sources."commander-2.17.1"
@@ -95320,6 +95208,7 @@ in
       sources."compressible-2.0.18"
       (sources."compression-1.7.4" // {
         dependencies = [
+          sources."bytes-3.0.0"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
         ];
@@ -95448,10 +95337,10 @@ in
         ];
       })
       sources."delayed-stream-1.0.0"
-      sources."depd-2.0.0"
+      sources."depd-1.1.2"
       sources."deprecated-decorator-0.1.6"
       sources."des.js-1.0.1"
-      sources."destroy-1.2.0"
+      sources."destroy-1.0.4"
       sources."detect-node-2.1.0"
       (sources."detect-port-alt-1.1.6" // {
         dependencies = [
@@ -95485,7 +95374,7 @@ in
       })
       (sources."dot-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."dot-prop-5.3.0"
@@ -95493,7 +95382,7 @@ in
       sources."duplexer3-0.1.4"
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -95513,7 +95402,6 @@ in
       sources."eol-0.9.1"
       sources."errno-0.1.8"
       sources."error-ex-1.3.2"
-      sources."errorhandler-1.5.1"
       sources."es-abstract-1.19.5"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
@@ -95559,13 +95447,13 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."expo-modules-autolinking-0.5.5" // {
+      (sources."expo-modules-autolinking-0.7.0" // {
         dependencies = [
           sources."commander-7.2.0"
           sources."fs-extra-9.1.0"
         ];
       })
-      (sources."expo-pwa-0.0.115" // {
+      (sources."expo-pwa-0.0.118" // {
         dependencies = [
           sources."commander-2.20.0"
         ];
@@ -95573,20 +95461,15 @@ in
       (sources."express-4.16.4" // {
         dependencies = [
           sources."body-parser-1.18.3"
+          sources."bytes-3.0.0"
           sources."debug-2.6.9"
-          sources."depd-1.1.2"
-          sources."destroy-1.0.4"
           sources."finalhandler-1.1.1"
           sources."http-errors-1.6.3"
           sources."iconv-lite-0.4.23"
           sources."inherits-2.0.3"
-          sources."mime-1.4.1"
           sources."ms-2.0.0"
-          sources."on-finished-2.3.0"
           sources."qs-6.5.2"
           sources."raw-body-2.3.3"
-          sources."send-0.16.2"
-          sources."serve-static-1.13.2"
           sources."setprototypeof-1.1.0"
           sources."statuses-1.4.0"
         ];
@@ -95624,8 +95507,6 @@ in
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
         ];
       })
       sources."find-cache-dir-2.1.0"
@@ -95677,7 +95558,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
-      sources."functions-have-names-1.2.2"
+      sources."functions-have-names-1.2.3"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
@@ -95703,7 +95584,7 @@ in
       sources."gzip-size-5.1.1"
       sources."handle-thing-2.0.1"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-flag-3.0.0"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
@@ -95757,7 +95638,11 @@ in
       sources."htmlparser2-4.1.0"
       sources."http-cache-semantics-4.1.0"
       sources."http-deceiver-1.2.7"
-      sources."http-errors-2.0.0"
+      (sources."http-errors-1.7.2" // {
+        dependencies = [
+          sources."inherits-2.0.3"
+        ];
+      })
       (sources."http-proxy-1.18.1" // {
         dependencies = [
           sources."eventemitter3-4.0.7"
@@ -95811,7 +95696,7 @@ in
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
       sources."is-color-stop-1.1.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
@@ -95873,7 +95758,7 @@ in
       sources."is-valid-path-0.1.1"
       sources."is-weakref-1.0.2"
       sources."is-windows-1.0.2"
-      sources."is-wsl-1.1.0"
+      sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
@@ -95906,7 +95791,6 @@ in
       sources."json3-3.3.3"
       sources."json5-1.0.1"
       sources."jsonfile-6.1.0"
-      sources."jsonify-0.0.0"
       sources."keychain-1.3.0"
       sources."keyv-4.2.2"
       sources."killable-1.0.1"
@@ -95937,7 +95821,7 @@ in
       sources."loglevel-1.8.0"
       (sources."lower-case-2.0.2" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."lowercase-keys-2.0.0"
@@ -95967,7 +95851,7 @@ in
           sources."bn.js-4.12.0"
         ];
       })
-      sources."mime-2.6.0"
+      sources."mime-1.4.1"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-1.2.0"
@@ -96041,10 +95925,9 @@ in
       sources."nice-try-1.0.5"
       (sources."no-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
-      sources."nocache-2.1.0"
       sources."node-fetch-2.6.7"
       sources."node-forge-0.10.0"
       sources."node-html-parser-1.4.9"
@@ -96053,7 +95936,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       sources."normalize-path-3.0.0"
       sources."normalize-url-6.1.0"
       (sources."npm-package-arg-6.1.0" // {
@@ -96089,18 +95972,17 @@ in
       sources."object.pick-1.3.0"
       sources."object.values-1.1.5"
       sources."obuf-1.1.2"
-      sources."on-finished-2.4.1"
+      sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
-      (sources."open-8.4.0" // {
+      sources."open-8.4.0"
+      (sources."opn-5.5.0" // {
         dependencies = [
-          sources."is-wsl-2.2.0"
+          sources."is-wsl-1.1.0"
         ];
       })
-      sources."opn-5.5.0"
       sources."optimize-css-assets-webpack-plugin-5.0.8"
-      sources."options-0.0.6"
       (sources."ora-3.4.0" // {
         dependencies = [
           sources."ansi-regex-4.1.1"
@@ -96156,7 +96038,7 @@ in
       sources."parallel-transform-1.2.0"
       (sources."param-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."parse-asn1-5.1.6"
@@ -96166,7 +96048,7 @@ in
       sources."parseurl-1.3.3"
       (sources."pascal-case-3.1.2" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."pascalcase-0.1.1"
@@ -96338,13 +96220,6 @@ in
       sources."prepend-http-3.0.1"
       sources."pretty-bytes-5.6.0"
       sources."pretty-error-2.1.2"
-      (sources."pretty-format-26.6.2" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-        ];
-      })
       sources."probe-image-size-6.0.0"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
@@ -96377,17 +96252,7 @@ in
       sources."randombytes-2.1.0"
       sources."randomfill-1.0.4"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.0" // {
-        dependencies = [
-          sources."bytes-3.1.0"
-          sources."depd-1.1.2"
-          sources."http-errors-1.7.2"
-          sources."inherits-2.0.3"
-          sources."setprototypeof-1.1.1"
-          sources."statuses-1.5.0"
-          sources."toidentifier-1.0.0"
-        ];
-      })
+      sources."raw-body-2.4.0"
       sources."rc-1.2.8"
       (sources."react-dev-utils-11.0.4" // {
         dependencies = [
@@ -96401,7 +96266,6 @@ in
           sources."escape-string-regexp-2.0.0"
           sources."find-up-4.1.0"
           sources."globby-11.0.1"
-          sources."is-wsl-2.2.0"
           sources."json5-2.2.1"
           sources."loader-utils-2.0.0"
           sources."locate-path-5.0.0"
@@ -96413,13 +96277,11 @@ in
           sources."prompts-2.4.0"
           sources."shebang-command-2.0.0"
           sources."shebang-regex-3.0.0"
-          sources."shell-quote-1.7.2"
           sources."strip-ansi-6.0.0"
           sources."which-2.0.2"
         ];
       })
       sources."react-error-overlay-6.0.11"
-      sources."react-is-17.0.2"
       sources."read-chunk-3.2.0"
       sources."read-last-lines-1.6.0"
       sources."readable-stream-2.3.7"
@@ -96496,15 +96358,14 @@ in
       sources."select-hose-2.0.0"
       sources."selfsigned-1.10.14"
       sources."semver-7.3.2"
-      (sources."send-0.18.0" // {
+      (sources."send-0.16.2" // {
         dependencies = [
-          (sources."debug-2.6.9" // {
-            dependencies = [
-              sources."ms-2.0.0"
-            ];
-          })
-          sources."mime-1.6.0"
-          sources."ms-2.1.3"
+          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."statuses-1.4.0"
         ];
       })
       sources."serialize-error-6.0.0"
@@ -96512,15 +96373,13 @@ in
       (sources."serve-index-1.9.1" // {
         dependencies = [
           sources."debug-2.6.9"
-          sources."depd-1.1.2"
           sources."http-errors-1.6.3"
           sources."inherits-2.0.3"
           sources."ms-2.0.0"
           sources."setprototypeof-1.1.0"
-          sources."statuses-1.5.0"
         ];
       })
-      sources."serve-static-1.15.0"
+      sources."serve-static-1.13.2"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
@@ -96528,11 +96387,11 @@ in
         ];
       })
       sources."setimmediate-1.0.5"
-      sources."setprototypeof-1.2.0"
+      sources."setprototypeof-1.1.1"
       sources."sha.js-2.4.11"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."shell-quote-1.6.1"
+      sources."shell-quote-1.7.2"
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
       (sources."simple-plist-1.3.1" // {
@@ -96626,7 +96485,7 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."statuses-2.0.1"
+      sources."statuses-1.5.0"
       sources."stream-browserify-2.0.2"
       sources."stream-buffers-2.2.0"
       sources."stream-each-1.2.3"
@@ -96658,12 +96517,7 @@ in
           sources."postcss-selector-parser-3.1.2"
         ];
       })
-      (sources."subscriptions-transport-ws-0.9.8" // {
-        dependencies = [
-          sources."ultron-1.1.1"
-          sources."ws-3.3.3"
-        ];
-      })
+      sources."subscriptions-transport-ws-0.9.8"
       (sources."sucrase-3.21.0" // {
         dependencies = [
           sources."commander-4.1.1"
@@ -96756,7 +96610,7 @@ in
       sources."to-readable-stream-1.0.0"
       sources."to-regex-3.0.2"
       sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.1"
+      sources."toidentifier-1.0.0"
       sources."tr46-0.0.3"
       sources."traverse-0.6.6"
       sources."tree-kill-1.2.2"
@@ -96769,8 +96623,8 @@ in
       sources."type-fest-0.12.0"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."ultron-1.0.2"
-      sources."unbox-primitive-1.0.1"
+      sources."ultron-1.1.1"
+      sources."unbox-primitive-1.0.2"
       sources."union-value-1.0.1"
       sources."uniq-1.0.1"
       sources."uniqs-2.0.0"
@@ -96858,6 +96712,7 @@ in
           sources."fast-deep-equal-3.1.3"
           sources."fill-range-4.0.0"
           sources."is-number-3.0.0"
+          sources."is-wsl-1.1.0"
           sources."json-schema-traverse-0.4.1"
           sources."kind-of-3.2.2"
           sources."loader-utils-1.4.0"
@@ -96872,7 +96727,11 @@ in
           sources."yallist-3.1.1"
         ];
       })
-      sources."webpack-dev-middleware-3.7.3"
+      (sources."webpack-dev-middleware-3.7.3" // {
+        dependencies = [
+          sources."mime-2.6.0"
+        ];
+      })
       (sources."webpack-dev-server-3.11.0" // {
         dependencies = [
           sources."ajv-6.12.6"
@@ -96880,7 +96739,7 @@ in
           sources."anymatch-2.0.0"
           sources."array-union-1.0.2"
           sources."binary-extensions-1.13.1"
-          (sources."body-parser-1.19.2" // {
+          (sources."body-parser-1.20.0" // {
             dependencies = [
               sources."debug-2.6.9"
             ];
@@ -96889,11 +96748,11 @@ in
           sources."bytes-3.1.2"
           sources."chokidar-2.1.8"
           sources."content-disposition-0.5.4"
-          sources."cookie-0.4.2"
+          sources."cookie-0.5.0"
           sources."del-4.1.1"
-          sources."depd-1.1.2"
-          sources."destroy-1.0.4"
-          (sources."express-4.17.3" // {
+          sources."depd-2.0.0"
+          sources."destroy-1.2.0"
+          (sources."express-4.18.1" // {
             dependencies = [
               sources."debug-2.6.9"
             ];
@@ -96901,10 +96760,15 @@ in
           sources."extend-shallow-2.0.1"
           sources."fast-deep-equal-3.1.3"
           sources."fill-range-4.0.0"
+          (sources."finalhandler-1.2.0" // {
+            dependencies = [
+              sources."debug-2.6.9"
+            ];
+          })
           sources."fsevents-1.2.13"
           sources."glob-parent-3.1.0"
           sources."globby-6.1.0"
-          sources."http-errors-1.8.1"
+          sources."http-errors-2.0.0"
           sources."is-absolute-url-3.0.3"
           sources."is-binary-path-1.0.1"
           sources."is-glob-3.1.0"
@@ -96915,18 +96779,18 @@ in
           sources."mime-1.6.0"
           sources."ms-2.0.0"
           sources."normalize-path-2.1.1"
-          sources."on-finished-2.3.0"
+          sources."on-finished-2.4.1"
           sources."p-map-2.1.0"
           sources."p-retry-3.0.1"
           sources."pify-2.3.0"
-          sources."qs-6.9.7"
-          sources."raw-body-2.4.3"
+          sources."qs-6.10.3"
+          sources."raw-body-2.5.1"
           sources."readdirp-2.2.1"
           sources."rimraf-2.7.1"
           sources."safe-buffer-5.2.1"
           sources."schema-utils-1.0.0"
           sources."semver-6.3.0"
-          (sources."send-0.17.2" // {
+          (sources."send-0.18.0" // {
             dependencies = [
               (sources."debug-2.6.9" // {
                 dependencies = [
@@ -96936,11 +96800,13 @@ in
               sources."ms-2.1.3"
             ];
           })
-          sources."serve-static-1.14.2"
-          sources."statuses-1.5.0"
+          sources."serve-static-1.15.0"
+          sources."setprototypeof-1.2.0"
+          sources."statuses-2.0.1"
           sources."strip-ansi-3.0.1"
           sources."supports-color-6.1.0"
           sources."to-regex-range-2.1.1"
+          sources."toidentifier-1.0.1"
           sources."ws-6.2.2"
         ];
       })
@@ -96980,13 +96846,13 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
-      sources."ws-1.1.5"
+      sources."ws-3.3.3"
       (sources."xcode-3.0.1" // {
         dependencies = [
           sources."uuid-7.0.3"
         ];
       })
-      (sources."xdl-59.2.31" // {
+      (sources."xdl-59.2.36" // {
         dependencies = [
           sources."bplist-parser-0.3.1"
           sources."chownr-1.1.4"
@@ -97050,13 +96916,13 @@ in
       sha512 = "sA4bbCHFe8DqtRjlIVD5Hga+tDpYOgoOOG+NKyLFYJfLrxlmU28RmSjr+pC15q0xU67g7Ut3jDskasmjeLgRsg==";
     };
     dependencies = [
-      sources."@ampproject/remapping-2.1.2"
+      sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.7"
-      sources."@babel/core-7.17.9"
-      sources."@babel/generator-7.17.9"
+      sources."@babel/compat-data-7.17.10"
+      sources."@babel/core-7.17.10"
+      sources."@babel/generator-7.17.10"
       sources."@babel/helper-annotate-as-pure-7.16.7"
-      sources."@babel/helper-compilation-targets-7.17.7"
+      sources."@babel/helper-compilation-targets-7.17.10"
       sources."@babel/helper-environment-visitor-7.16.7"
       sources."@babel/helper-function-name-7.17.9"
       sources."@babel/helper-hoist-variables-7.16.7"
@@ -97069,7 +96935,7 @@ in
       sources."@babel/helper-validator-option-7.16.7"
       sources."@babel/helpers-7.17.9"
       sources."@babel/highlight-7.17.9"
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/plugin-proposal-object-rest-spread-7.17.3"
       sources."@babel/plugin-syntax-jsx-7.16.7"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
@@ -97077,13 +96943,15 @@ in
       sources."@babel/plugin-transform-parameters-7.16.7"
       sources."@babel/plugin-transform-react-jsx-7.17.3"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.9"
-      sources."@babel/types-7.17.0"
-      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@babel/traverse-7.17.10"
+      sources."@babel/types-7.17.10"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/resolve-uri-3.0.6"
+      sources."@jridgewell/set-array-1.1.0"
       sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@jridgewell/trace-mapping-0.3.9"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/yauzl-2.10.0"
       sources."@types/yoga-layout-1.9.2"
@@ -97102,7 +96970,7 @@ in
       sources."base64-js-1.5.1"
       sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."buffer-5.7.1"
       sources."buffer-crc32-0.2.13"
       sources."caller-callsite-4.1.0"
@@ -97110,7 +96978,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       sources."chalk-2.4.2"
       sources."chownr-1.1.4"
       sources."ci-info-2.0.0"
@@ -97134,8 +97002,8 @@ in
         ];
       })
       sources."delay-5.0.0"
-      sources."devtools-protocol-0.0.969999"
-      sources."electron-to-chromium-1.4.110"
+      sources."devtools-protocol-0.0.981744"
+      sources."electron-to-chromium-1.4.129"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -97156,7 +97024,7 @@ in
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."hosted-git-info-4.1.0"
-      sources."https-proxy-agent-5.0.0"
+      sources."https-proxy-agent-5.0.1"
       sources."ieee754-1.2.1"
       sources."import-jsx-4.0.1"
       sources."indent-string-4.0.0"
@@ -97175,7 +97043,7 @@ in
       sources."ink-spinner-4.0.3"
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-plain-obj-1.1.0"
       sources."js-tokens-4.0.0"
@@ -97202,7 +97070,7 @@ in
       sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
       sources."node-fetch-2.6.7"
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       (sources."normalize-package-data-3.0.3" // {
         dependencies = [
           sources."semver-7.3.7"
@@ -97225,7 +97093,7 @@ in
       sources."progress-2.0.3"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      (sources."puppeteer-13.5.2" // {
+      (sources."puppeteer-13.7.0" // {
         dependencies = [
           sources."ws-8.5.0"
         ];
@@ -97265,7 +97133,6 @@ in
           sources."color-name-1.1.4"
         ];
       })
-      sources."source-map-0.5.7"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
@@ -97538,7 +97405,7 @@ in
       sources."indent-string-4.0.0"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      (sources."inquirer-8.2.2" // {
+      (sources."inquirer-8.2.4" // {
         dependencies = [
           sources."ansi-escapes-4.3.2"
           sources."type-fest-0.21.3"
@@ -97584,7 +97451,7 @@ in
       sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       (sources."netrc-parser-3.1.6" // {
@@ -97624,7 +97491,7 @@ in
       sources."qs-6.5.3"
       sources."query-string-5.1.1"
       sources."queue-microtask-1.2.3"
-      sources."rate-limiter-flexible-2.3.6"
+      sources."rate-limiter-flexible-2.3.7"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -97675,7 +97542,7 @@ in
       sources."tough-cookie-2.5.0"
       sources."tr46-0.0.3"
       sources."treeify-1.1.0"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
@@ -97713,10 +97580,10 @@ in
   firebase-tools = nodeEnv.buildNodePackage {
     name = "firebase-tools";
     packageName = "firebase-tools";
-    version = "10.6.0";
+    version = "10.7.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-10.6.0.tgz";
-      sha512 = "bJvamfCfvgoPixnJQwKdju88u+fWC0fvbQHRD11IPKFH6G9zd41nlAzqP/b9Sh9YjA/MSDpVA7nUnlnipxB01g==";
+      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-10.7.2.tgz";
+      sha512 = "KU6cQ9XPBn2++gMBkR393LYbl4YEbKbHG/KsUR/JnfB2p5rhSPL/X4TntIl59QFs5527+VcLpeeeRRIB4Z9wUw==";
     };
     dependencies = [
       (sources."@apidevtools/json-schema-ref-parser-9.0.9" // {
@@ -97731,8 +97598,8 @@ in
       sources."@google-cloud/precise-date-2.0.4"
       sources."@google-cloud/projectify-2.1.1"
       sources."@google-cloud/promisify-2.0.4"
-      sources."@google-cloud/pubsub-2.19.0"
-      sources."@grpc/grpc-js-1.5.10"
+      sources."@google-cloud/pubsub-2.19.3"
+      sources."@grpc/grpc-js-1.6.7"
       sources."@grpc/proto-loader-0.6.9"
       sources."@jsdevtools/ono-7.1.3"
       (sources."@npmcli/fs-1.1.1" // {
@@ -97746,7 +97613,7 @@ in
         ];
       })
       sources."@opentelemetry/api-1.1.0"
-      sources."@opentelemetry/semantic-conventions-1.1.1"
+      sources."@opentelemetry/semantic-conventions-1.2.0"
       sources."@protobufjs/aspromise-1.1.2"
       sources."@protobufjs/base64-1.1.2"
       sources."@protobufjs/codegen-2.0.4"
@@ -97762,12 +97629,12 @@ in
       sources."@tootallnate/once-1.1.2"
       sources."@types/duplexify-3.6.1"
       sources."@types/json-schema-7.0.11"
-      sources."@types/long-4.0.1"
-      sources."@types/node-17.0.24"
+      sources."@types/long-4.0.2"
+      sources."@types/node-17.0.31"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.8"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
       (sources."agentkeepalive-4.2.1" // {
@@ -97790,7 +97657,7 @@ in
       sources."ansicolors-0.3.2"
       sources."anymatch-3.1.2"
       sources."aproba-2.0.0"
-      sources."archiver-5.3.0"
+      sources."archiver-5.3.1"
       (sources."archiver-utils-2.1.0" // {
         dependencies = [
           sources."readable-stream-2.3.7"
@@ -97871,11 +97738,7 @@ in
       sources."cjson-0.3.3"
       sources."clean-stack-2.2.0"
       sources."cli-boxes-2.2.1"
-      (sources."cli-color-1.4.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-        ];
-      })
+      sources."cli-color-2.0.2"
       sources."cli-cursor-3.1.0"
       sources."cli-spinners-2.6.1"
       sources."cli-table-0.3.11"
@@ -97891,7 +97754,7 @@ in
       })
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."color-support-1.1.3"
       sources."colors-1.0.3"
       sources."colorspace-1.1.4"
@@ -97913,13 +97776,16 @@ in
       (sources."connect-3.7.0" // {
         dependencies = [
           sources."debug-2.6.9"
+          sources."finalhandler-1.1.2"
           sources."ms-2.0.0"
+          sources."on-finished-2.3.0"
+          sources."statuses-1.5.0"
         ];
       })
       sources."console-control-strings-1.1.0"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
@@ -97980,7 +97846,7 @@ in
       sources."end-of-stream-1.4.4"
       sources."env-paths-2.2.1"
       sources."err-code-2.0.3"
-      sources."es5-ext-0.10.60"
+      sources."es5-ext-0.10.61"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
@@ -98005,17 +97871,10 @@ in
       })
       sources."exegesis-express-4.0.0"
       sources."exit-code-1.0.2"
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
-          sources."body-parser-1.19.2"
           sources."debug-2.6.9"
-          sources."depd-1.1.2"
-          sources."http-errors-1.8.1"
           sources."ms-2.0.0"
-          sources."on-finished-2.3.0"
-          sources."qs-6.9.7"
-          sources."raw-body-2.4.3"
-          sources."statuses-1.5.0"
         ];
       })
       (sources."ext-1.6.0" // {
@@ -98035,30 +97894,18 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."fecha-4.2.2"
+      sources."fecha-4.2.3"
       sources."figures-3.2.0"
       sources."file-uri-to-path-2.0.0"
       sources."filesize-6.4.0"
       sources."fill-range-7.0.1"
-      (sources."finalhandler-1.1.2" // {
+      (sources."finalhandler-1.2.0" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
-        ];
-      })
-      (sources."flat-arguments-1.0.2" // {
-        dependencies = [
-          (sources."as-array-1.0.0" // {
-            dependencies = [
-              sources."lodash.isarguments-2.4.1"
-              sources."lodash.isobject-2.4.1"
-            ];
-          })
-          sources."lodash.isobject-3.0.2"
         ];
       })
+      sources."firebase-frameworks-0.3.0"
       sources."fn.name-1.1.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -98100,7 +97947,7 @@ in
       sources."glob-slasher-1.0.1"
       sources."global-dirs-2.1.0"
       sources."google-auth-library-7.14.1"
-      sources."google-gax-2.29.6"
+      sources."google-gax-2.30.2"
       sources."google-p12-pem-3.1.4"
       sources."got-9.6.0"
       sources."graceful-fs-4.2.10"
@@ -98117,7 +97964,6 @@ in
       sources."has-symbols-1.0.3"
       sources."has-unicode-2.0.1"
       sources."has-yarn-2.1.0"
-      sources."home-dir-1.0.0"
       sources."http-cache-semantics-4.1.0"
       sources."http-errors-2.0.0"
       sources."http-proxy-agent-4.0.1"
@@ -98133,7 +97979,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.7"
-      sources."inquirer-8.2.2"
+      sources."inquirer-8.2.4"
       sources."install-artifact-from-github-1.3.0"
       sources."ip-1.1.5"
       sources."ip-regex-4.3.0"
@@ -98202,26 +98048,21 @@ in
       sources."levn-0.3.0"
       sources."listenercount-1.0.1"
       sources."lodash-4.17.21"
-      sources."lodash._isnative-2.4.1"
       sources."lodash._objecttypes-2.4.1"
-      sources."lodash._shimkeys-2.4.1"
       sources."lodash.camelcase-4.3.0"
       sources."lodash.defaults-4.2.0"
       sources."lodash.difference-4.5.0"
       sources."lodash.flatten-4.4.0"
       sources."lodash.includes-4.3.0"
-      sources."lodash.isarguments-3.1.0"
       sources."lodash.isboolean-3.0.3"
       sources."lodash.isinteger-4.0.4"
       sources."lodash.isnumber-3.0.3"
       sources."lodash.isobject-2.4.1"
       sources."lodash.isplainobject-4.0.6"
       sources."lodash.isstring-4.0.1"
-      sources."lodash.keys-2.4.1"
       sources."lodash.once-4.1.1"
       sources."lodash.snakecase-4.1.1"
       sources."lodash.union-4.6.0"
-      sources."lodash.values-2.4.1"
       sources."log-symbols-4.1.0"
       sources."logform-2.4.0"
       sources."long-4.0.0"
@@ -98235,7 +98076,7 @@ in
       })
       (sources."make-fetch-happen-9.1.0" // {
         dependencies = [
-          sources."socks-proxy-agent-6.1.1"
+          sources."socks-proxy-agent-6.2.0"
         ];
       })
       sources."marked-4.0.14"
@@ -98279,11 +98120,6 @@ in
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."nan-2.15.0"
-      (sources."nash-3.0.0" // {
-        dependencies = [
-          sources."async-1.5.2"
-        ];
-      })
       sources."negotiator-0.6.3"
       sources."netmask-2.0.2"
       sources."next-tick-1.1.0"
@@ -98300,10 +98136,10 @@ in
       sources."nopt-5.0.0"
       sources."normalize-path-3.0.0"
       sources."normalize-url-4.5.1"
-      sources."npmlog-6.0.1"
+      sources."npmlog-6.0.2"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
-      sources."object-hash-2.2.0"
+      sources."object-hash-3.0.0"
       sources."object-inspect-1.12.0"
       sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
@@ -98386,14 +98222,13 @@ in
       sources."retry-0.13.1"
       sources."retry-request-4.2.2"
       sources."rimraf-3.0.2"
-      (sources."router-1.3.6" // {
+      (sources."router-1.3.7" // {
         dependencies = [
           sources."array-flatten-3.0.0"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
         ];
       })
-      sources."rsvp-4.8.5"
       sources."run-async-2.4.1"
       sources."rxjs-7.5.5"
       sources."safe-buffer-5.2.1"
@@ -98405,23 +98240,18 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
               sources."ms-2.0.0"
             ];
           })
-          sources."depd-1.1.2"
-          sources."destroy-1.0.4"
-          sources."http-errors-1.8.1"
           sources."mime-1.6.0"
           sources."ms-2.1.3"
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."set-blocking-2.0.0"
       sources."setimmediate-1.0.5"
       sources."setprototypeof-1.2.0"
@@ -98452,12 +98282,12 @@ in
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-2.0.1"
-      (sources."superstatic-7.1.0" // {
+      (sources."superstatic-8.0.0" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
           sources."ansi-styles-2.2.1"
           sources."chalk-1.1.3"
-          sources."fs-extra-8.1.0"
+          sources."commander-9.2.0"
           sources."isarray-0.0.1"
           sources."path-to-regexp-1.8.0"
           sources."strip-ansi-3.0.1"
@@ -98506,7 +98336,7 @@ in
       sources."tr46-0.0.3"
       sources."traverse-0.3.9"
       sources."triple-beam-1.3.0"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       (sources."tweetsodium-0.0.5" // {
@@ -98679,7 +98509,7 @@ in
       })
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
-      sources."clean-stack-4.1.0"
+      sources."clean-stack-4.2.0"
       sources."cli-cursor-3.1.0"
       sources."cli-spinners-2.6.1"
       sources."cli-truncate-3.1.0"
@@ -98709,7 +98539,7 @@ in
         ];
       })
       sources."find-up-5.0.0"
-      sources."fkill-8.0.0"
+      sources."fkill-8.0.1"
       sources."function-bind-1.1.1"
       sources."fuzzy-search-3.2.1"
       sources."get-stream-6.0.1"
@@ -98722,7 +98552,7 @@ in
       sources."ieee754-1.2.1"
       sources."indent-string-5.0.0"
       sources."inherits-2.0.4"
-      (sources."inquirer-8.2.2" // {
+      (sources."inquirer-8.2.4" // {
         dependencies = [
           sources."ansi-regex-5.0.1"
           sources."emoji-regex-8.0.0"
@@ -98738,7 +98568,7 @@ in
         ];
       })
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-fullwidth-code-point-4.0.0"
       sources."is-interactive-1.0.0"
       sources."is-plain-obj-1.1.0"
@@ -98832,12 +98662,21 @@ in
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."trim-newlines-4.0.2"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."type-fest-0.21.3"
       sources."util-deprecate-1.0.2"
       sources."validate-npm-package-license-3.0.4"
       sources."wcwidth-1.0.1"
       sources."which-2.0.2"
+      (sources."wrap-ansi-7.0.0" // {
+        dependencies = [
+          sources."ansi-regex-5.0.1"
+          sources."emoji-regex-8.0.0"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.3"
+          sources."strip-ansi-6.0.1"
+        ];
+      })
       sources."yallist-4.0.0"
       sources."yargs-parser-20.2.9"
       sources."yocto-queue-0.1.0"
@@ -98864,7 +98703,7 @@ in
       sources."@types/atob-2.1.2"
       sources."@types/bn.js-5.1.0"
       sources."@types/inquirer-6.5.0"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/pbkdf2-3.1.0"
       sources."@types/secp256k1-4.0.3"
       sources."@types/through-0.0.30"
@@ -99178,7 +99017,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."colors-0.6.2"
       sources."colorspace-1.1.4"
       sources."component-emitter-1.3.0"
@@ -99230,7 +99069,7 @@ in
         ];
       })
       sources."eyes-0.1.8"
-      sources."fecha-4.2.2"
+      sources."fecha-4.2.3"
       sources."file-uri-to-path-1.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
@@ -99248,7 +99087,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
-      sources."functions-have-names-1.2.2"
+      sources."functions-have-names-1.2.3"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
       sources."get-value-2.0.6"
@@ -99260,7 +99099,7 @@ in
       })
       sources."graceful-fs-4.2.10"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
@@ -99491,7 +99330,7 @@ in
       sources."to-regex-3.0.2"
       sources."to-regex-range-2.1.1"
       sources."triple-beam-1.3.0"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       (sources."union-value-1.0.1" // {
         dependencies = [
           sources."is-extendable-0.1.1"
@@ -99581,18 +99420,47 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  ganache-cli = nodeEnv.buildNodePackage {
-    name = "ganache-cli";
-    packageName = "ganache-cli";
-    version = "6.12.2";
+  ganache = nodeEnv.buildNodePackage {
+    name = "ganache";
+    packageName = "ganache";
+    version = "7.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ganache-cli/-/ganache-cli-6.12.2.tgz";
-      sha512 = "bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw==";
+      url = "https://registry.npmjs.org/ganache/-/ganache-7.1.0.tgz";
+      sha512 = "f794GTIxHcb9o889GOh0Ad6/Q09nsNhJtN11oi8m+nxsuPHkkMNaGRHav3hApZLY3GPrSBT3XIKlDIUFxcBq8g==";
     };
+    dependencies = [
+      sources."@trufflesuite/bigint-buffer-1.1.9"
+      sources."abstract-leveldown-7.2.0"
+      sources."base64-js-1.5.1"
+      sources."bn.js-4.12.0"
+      sources."brorand-1.1.0"
+      sources."buffer-6.0.3"
+      sources."bufferutil-4.0.5"
+      sources."catering-2.1.1"
+      sources."elliptic-6.5.4"
+      sources."emittery-0.10.0"
+      sources."hash.js-1.1.7"
+      sources."hmac-drbg-1.0.1"
+      sources."ieee754-1.2.1"
+      sources."inherits-2.0.4"
+      sources."is-buffer-2.0.5"
+      sources."keccak-3.0.1"
+      sources."level-concat-iterator-3.1.0"
+      sources."level-supports-2.1.0"
+      sources."leveldown-6.1.0"
+      sources."minimalistic-assert-1.0.1"
+      sources."minimalistic-crypto-utils-1.0.1"
+      sources."napi-macros-2.0.0"
+      sources."node-addon-api-2.0.2"
+      sources."node-gyp-build-4.3.0"
+      sources."queue-microtask-1.2.3"
+      sources."secp256k1-4.0.2"
+      sources."utf-8-validate-5.0.7"
+    ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "<p align=\"center\">   <em>NOTICE</em>: <code>testrpc</code> is now <code>ganache-cli</code>. Use it just as you would <code>testrpc</code>. </p> <hr/>";
-      homepage = "https://github.com/trufflesuite/ganache-cli#readme";
+      description = "A library and cli to create a local blockchain for fast Ethereum development.";
+      homepage = "https://github.com/trufflesuite/ganache/tree/develop/src/packages/ganache#readme";
       license = "MIT";
     };
     production = true;
@@ -99602,27 +99470,23 @@ in
   gatsby-cli = nodeEnv.buildNodePackage {
     name = "gatsby-cli";
     packageName = "gatsby-cli";
-    version = "4.12.1";
+    version = "4.13.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-4.12.1.tgz";
-      sha512 = "vlSqri0p9HpLfACFtUCJhxQArzxSvdcUkrN4Jlw8RgeJYxcJyb8VPPDJHJT3rMGRKZFeBaAeqMbqx/eK4K5F1w==";
+      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-4.13.0.tgz";
+      sha512 = "xxO+869h6QmQnkuT9Bk9DFpKFvjPDVMjmhq8+44QbxKqrjTt/3Hz5rqnFvhmxUyhr/JyczRRL2HwaTBOEzixPQ==";
     };
     dependencies = [
-      sources."@ampproject/remapping-2.1.2"
+      sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.7"
-      (sources."@babel/core-7.17.9" // {
+      sources."@babel/compat-data-7.17.10"
+      (sources."@babel/core-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.17.9" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
+      sources."@babel/generator-7.17.10"
       sources."@babel/helper-annotate-as-pure-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.17.7" // {
+      (sources."@babel/helper-compilation-targets-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -99647,19 +99511,21 @@ in
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.17.9"
-      sources."@babel/plugin-syntax-typescript-7.16.7"
+      sources."@babel/parser-7.17.10"
+      sources."@babel/plugin-syntax-typescript-7.17.10"
       sources."@babel/plugin-transform-typescript-7.16.8"
       sources."@babel/preset-typescript-7.16.7"
       sources."@babel/runtime-7.17.9"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.9"
-      sources."@babel/types-7.17.0"
-      sources."@hapi/hoek-9.2.1"
+      sources."@babel/traverse-7.17.10"
+      sources."@babel/types-7.17.10"
+      sources."@hapi/hoek-9.3.0"
       sources."@hapi/topo-5.1.0"
-      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/resolve-uri-3.0.6"
+      sources."@jridgewell/set-array-1.1.0"
       sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@jridgewell/trace-mapping-0.3.9"
       sources."@sideway/address-4.1.4"
       sources."@sideway/formula-3.0.0"
       sources."@sideway/pinpoint-2.0.0"
@@ -99673,7 +99539,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/node-fetch-2.6.1"
       sources."@types/responselike-1.0.0"
       sources."@types/yoga-layout-1.9.2"
@@ -99693,7 +99559,7 @@ in
       sources."boolbase-1.0.0"
       sources."boxen-5.1.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."cacheable-lookup-5.0.4"
       (sources."cacheable-request-7.0.2" // {
         dependencies = [
@@ -99702,7 +99568,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -99740,7 +99606,7 @@ in
       sources."configstore-5.0.1"
       sources."convert-hrtime-3.0.0"
       sources."convert-source-map-1.8.0"
-      sources."create-gatsby-2.12.1"
+      sources."create-gatsby-2.13.0"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -99767,7 +99633,7 @@ in
       sources."domutils-2.8.0"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."entities-2.2.0"
@@ -99799,11 +99665,11 @@ in
       sources."find-up-4.1.0"
       sources."form-data-3.0.1"
       sources."fs-exists-cached-1.0.0"
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."gatsby-core-utils-3.12.1"
-      (sources."gatsby-telemetry-3.12.1" // {
+      sources."gatsby-core-utils-3.13.0"
+      (sources."gatsby-telemetry-3.13.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."boxen-4.2.0"
@@ -99870,13 +99736,13 @@ in
       sources."keyv-4.2.2"
       sources."kleur-3.0.3"
       sources."latest-version-5.1.0"
-      sources."lmdb-2.3.3"
-      sources."lmdb-darwin-arm64-2.3.2"
-      sources."lmdb-darwin-x64-2.3.2"
-      sources."lmdb-linux-arm-2.3.2"
-      sources."lmdb-linux-arm64-2.3.2"
-      sources."lmdb-linux-x64-2.3.2"
-      sources."lmdb-win32-x64-2.3.2"
+      sources."lmdb-2.3.8"
+      sources."lmdb-darwin-arm64-2.3.8"
+      sources."lmdb-darwin-x64-2.3.8"
+      sources."lmdb-linux-arm-2.3.8"
+      sources."lmdb-linux-arm64-2.3.8"
+      sources."lmdb-linux-x64-2.3.8"
+      sources."lmdb-win32-x64-2.3.8"
       sources."locate-path-5.0.0"
       sources."lock-1.1.0"
       sources."lodash-4.17.21"
@@ -99896,7 +99762,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."ms-2.1.2"
-      sources."msgpackr-1.5.5"
+      sources."msgpackr-1.5.6"
       sources."msgpackr-extract-1.1.4"
       sources."msgpackr-extract-darwin-arm64-1.1.0"
       sources."msgpackr-extract-darwin-x64-1.1.0"
@@ -99911,7 +99777,7 @@ in
       sources."node-fetch-2.6.7"
       sources."node-gyp-build-optional-packages-4.3.2"
       sources."node-object-hash-2.3.10"
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       sources."normalize-url-6.1.0"
       sources."npm-run-path-2.0.2"
       sources."nth-check-2.0.1"
@@ -100093,10 +99959,10 @@ in
   generator-code = nodeEnv.buildNodePackage {
     name = "generator-code";
     packageName = "generator-code";
-    version = "1.6.9";
+    version = "1.6.10";
     src = fetchurl {
-      url = "https://registry.npmjs.org/generator-code/-/generator-code-1.6.9.tgz";
-      sha512 = "e+mFv1JS6MyY1Rlez4pUhnRPxxylyDztSbTAJJ57hg4jkuASOZw8LP9b7PQCjrtCsXSSjqFSoqXSkomg3duWIQ==";
+      url = "https://registry.npmjs.org/generator-code/-/generator-code-1.6.10.tgz";
+      sha512 = "iekT5pNIuF31R1nIqHsiHZULt0A4lWydmXW7zUZr+YTdmRFMVTvmnPDIBFDwn+DV9sbo9EkjPVkMT34AySq5qw==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -100160,7 +100026,7 @@ in
       sources."inherits-2.0.4"
       sources."interpret-1.4.0"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-plain-obj-2.1.0"
       sources."is-plain-object-5.0.0"
@@ -100385,7 +100251,7 @@ in
       sources."mime-types-2.1.35"
       sources."minimist-1.2.6"
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."moo-0.5.1"
       sources."ms-2.1.2"
       sources."multicb-1.2.2"
@@ -100473,7 +100339,7 @@ in
         dependencies = [
           (sources."ssb-config-3.4.6" // {
             dependencies = [
-              sources."ssb-keys-8.2.0"
+              sources."ssb-keys-8.2.1"
             ];
           })
         ];
@@ -100560,7 +100426,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/responselike-1.0.0"
       sources."ansi-regex-6.0.1"
       sources."ansi-styles-4.3.0"
@@ -100665,10 +100531,10 @@ in
   gitmoji-cli = nodeEnv.buildNodePackage {
     name = "gitmoji-cli";
     packageName = "gitmoji-cli";
-    version = "4.13.1";
+    version = "5.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-4.13.1.tgz";
-      sha512 = "2gj+T45cAuhaT6OICHKPxRAnGSXEsYRa/tgcNM8HmhENEcyjun7x0LAgP/soRXjENJ2CgWJrATU0EVUhb9uAYA==";
+      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-5.0.0.tgz";
+      sha512 = "DFiHpvCtnsX/e80RZSFhLZz7e9Ev102M3vLy9UYGi4XUaB5A1d158rLvVNi2Z66+5eKgaGi0k6L83i2QhI06ow==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -100688,7 +100554,7 @@ in
       sources."@tootallnate/once-1.1.2"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
       sources."ajv-8.11.0"
@@ -100817,7 +100683,7 @@ in
       sources."ip-1.1.5"
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-installed-globally-0.4.0"
       sources."is-interactive-1.0.0"
@@ -100981,7 +100847,7 @@ in
       sources."toidentifier-1.0.1"
       sources."tr46-0.0.3"
       sources."trim-newlines-3.0.1"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."type-check-0.3.2"
       sources."type-fest-0.21.3"
       sources."typedarray-to-buffer-3.1.5"
@@ -101068,7 +100934,7 @@ in
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-crc32-0.2.13"
       sources."buffer-fill-1.0.0"
-      sources."cli-progress-3.10.0"
+      sources."cli-progress-3.11.0"
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -101259,9 +101125,9 @@ in
           sources."tslib-2.1.0"
         ];
       })
-      (sources."@graphql-tools/import-6.6.12" // {
+      (sources."@graphql-tools/import-6.6.13" // {
         dependencies = [
-          sources."@graphql-tools/utils-8.6.8"
+          sources."@graphql-tools/utils-8.6.9"
           sources."tslib-2.3.1"
         ];
       })
@@ -101274,7 +101140,7 @@ in
           })
           (sources."camel-case-4.1.2" // {
             dependencies = [
-              sources."tslib-2.3.1"
+              sources."tslib-2.4.0"
             ];
           })
         ];
@@ -101286,10 +101152,10 @@ in
           sources."tslib-2.3.1"
         ];
       })
-      (sources."@graphql-tools/schema-8.3.9" // {
+      (sources."@graphql-tools/schema-8.3.10" // {
         dependencies = [
-          sources."@graphql-tools/merge-8.2.9"
-          sources."@graphql-tools/utils-8.6.8"
+          sources."@graphql-tools/merge-8.2.10"
+          sources."@graphql-tools/utils-8.6.9"
           sources."tslib-2.3.1"
         ];
       })
@@ -101320,7 +101186,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.2"
       sources."abort-controller-3.0.0"
@@ -101450,7 +101316,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fullname-4.0.1"
       sources."function-bind-1.1.1"
-      sources."functions-have-names-1.2.2"
+      sources."functions-have-names-1.2.3"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
       sources."get-stream-4.1.0"
@@ -101478,7 +101344,7 @@ in
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-flag-4.0.0"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
@@ -101577,7 +101443,7 @@ in
       })
       (sources."lower-case-2.0.2" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."lowercase-keys-1.0.1"
@@ -101604,7 +101470,7 @@ in
       sources."nice-try-1.0.5"
       (sources."no-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."node-emoji-1.10.0"
@@ -101662,7 +101528,7 @@ in
       sources."parse-json-5.2.0"
       (sources."pascal-case-3.1.2" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."passwd-user-3.0.0"
@@ -101746,7 +101612,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-fest-0.3.1"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."universalify-1.0.0"
       sources."unixify-1.0.0"
       sources."uri-js-4.4.1"
@@ -101812,30 +101678,61 @@ in
       })
       sources."@cronvel/get-pixels-3.4.0"
       sources."@endemolshinegroup/cosmiconfig-typescript-loader-3.0.2"
-      sources."@envelop/core-2.3.1"
-      sources."@envelop/disable-introspection-3.3.1"
-      sources."@envelop/parser-cache-4.3.1"
-      sources."@envelop/types-2.2.0"
-      sources."@envelop/validation-cache-4.3.1"
-      sources."@graphql-tools/batch-execute-8.4.5"
-      sources."@graphql-tools/delegate-8.7.6"
-      sources."@graphql-tools/graphql-file-loader-7.3.10"
-      sources."@graphql-tools/import-6.6.12"
-      sources."@graphql-tools/json-file-loader-7.3.10"
-      sources."@graphql-tools/load-7.5.9"
-      sources."@graphql-tools/merge-8.2.9"
-      sources."@graphql-tools/schema-8.3.9"
-      (sources."@graphql-tools/url-loader-7.9.13" // {
+      (sources."@graphql-tools/batch-execute-8.4.6" // {
         dependencies = [
-          sources."ws-8.5.0"
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@graphql-tools/delegate-8.7.7" // {
+        dependencies = [
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@graphql-tools/graphql-file-loader-7.3.11" // {
+        dependencies = [
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@graphql-tools/import-6.6.13" // {
+        dependencies = [
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@graphql-tools/json-file-loader-7.3.11" // {
+        dependencies = [
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@graphql-tools/load-7.5.10" // {
+        dependencies = [
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@graphql-tools/merge-8.2.10" // {
+        dependencies = [
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@graphql-tools/schema-8.3.10" // {
+        dependencies = [
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@graphql-tools/url-loader-7.9.17" // {
+        dependencies = [
+          sources."ws-8.6.0"
+        ];
+      })
+      (sources."@graphql-tools/utils-8.6.9" // {
+        dependencies = [
+          sources."tslib-2.3.1"
+        ];
+      })
+      (sources."@graphql-tools/wrap-8.4.16" // {
+        dependencies = [
+          sources."tslib-2.3.1"
         ];
       })
-      sources."@graphql-tools/utils-8.6.8"
-      sources."@graphql-tools/wrap-8.4.15"
-      sources."@graphql-typed-document-node/core-3.1.1"
-      sources."@graphql-yoga/common-2.3.0"
-      sources."@graphql-yoga/node-2.3.0"
-      sources."@graphql-yoga/subscription-2.0.0"
       sources."@iarna/toml-2.2.5"
       sources."@n1ru4l/graphql-live-query-0.9.0"
       sources."@nodelib/fs.scandir-2.1.5"
@@ -101870,9 +101767,8 @@ in
         ];
       })
       sources."@oclif/screen-1.0.4"
-      sources."@repeaterjs/repeater-3.0.4"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/parse-json-4.0.0"
       sources."@types/ws-8.5.3"
       sources."abort-controller-3.0.0"
@@ -101938,7 +101834,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."cross-undici-fetch-0.2.5"
+      sources."cross-undici-fetch-0.3.3"
       sources."cwise-compiler-1.1.3"
       sources."dataloader-2.1.0"
       sources."debug-4.3.4"
@@ -101997,7 +101893,7 @@ in
       sources."graphql-language-service-parser-1.10.4"
       sources."graphql-language-service-types-1.8.7"
       sources."graphql-language-service-utils-2.5.1"
-      sources."graphql-ws-5.7.0"
+      sources."graphql-ws-5.8.1"
       sources."has-flag-4.0.0"
       sources."http-errors-1.6.3"
       sources."hyperlinker-1.0.0"
@@ -102129,15 +102025,14 @@ in
       sources."symbol-observable-1.2.0"
       sources."sync-fetch-0.3.1"
       sources."terminal-kit-1.49.4"
-      sources."tiny-lru-7.0.6"
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
       sources."tree-kit-0.7.4"
       sources."treeify-1.1.0"
       sources."ts-node-9.1.1"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."type-is-1.6.18"
-      sources."undici-5.0.0"
+      sources."undici-5.1.0"
       sources."uniq-1.0.1"
       sources."universalify-0.1.2"
       sources."unixify-1.0.0"
@@ -102200,7 +102095,7 @@ in
       sources."ini-1.3.8"
       sources."interpret-1.1.0"
       sources."is-absolute-1.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
@@ -102276,25 +102171,30 @@ in
     dependencies = [
       sources."accepts-1.3.8"
       sources."array-flatten-1.1.1"
-      sources."body-parser-1.19.2"
+      sources."body-parser-1.20.0"
       sources."bytes-3.1.2"
+      sources."call-bind-1.0.2"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."debug-2.6.9"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
+      sources."depd-2.0.0"
+      sources."destroy-1.2.0"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      sources."express-4.17.3"
+      sources."express-4.18.1"
       sources."express-ws-2.0.0"
-      sources."finalhandler-1.1.2"
+      sources."finalhandler-1.2.0"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
-      sources."http-errors-1.8.1"
+      sources."function-bind-1.1.1"
+      sources."get-intrinsic-1.1.1"
+      sources."has-1.0.3"
+      sources."has-symbols-1.0.3"
+      sources."http-errors-2.0.0"
       sources."iconv-lite-0.4.24"
       sources."inherits-2.0.4"
       sources."ipaddr.js-1.9.1"
@@ -102307,24 +102207,26 @@ in
       sources."minimist-1.2.6"
       sources."ms-2.0.0"
       sources."negotiator-0.6.3"
-      sources."on-finished-2.3.0"
+      sources."object-inspect-1.12.0"
+      sources."on-finished-2.4.1"
       sources."options-0.0.6"
       sources."parseurl-1.3.3"
       sources."path-to-regexp-0.1.7"
       sources."proxy-addr-2.0.7"
-      sources."qs-6.9.7"
+      sources."qs-6.10.3"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.3"
+      sources."raw-body-2.5.1"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           sources."ms-2.1.3"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."setprototypeof-1.2.0"
-      sources."statuses-1.5.0"
+      sources."side-channel-1.0.4"
+      sources."statuses-2.0.1"
       sources."toidentifier-1.0.1"
       sources."type-is-1.6.18"
       sources."ultron-1.0.2"
@@ -102461,7 +102363,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."systeminformation-5.11.9"
+      sources."systeminformation-5.11.14"
       sources."term-canvas-0.0.5"
       sources."type-fest-1.4.0"
       sources."wordwrap-0.0.3"
@@ -102602,7 +102504,7 @@ in
       sources."each-props-1.3.2"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.60"
+      sources."es5-ext-0.10.61"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
@@ -102700,7 +102602,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
@@ -103023,7 +102925,7 @@ in
         ];
       })
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.60"
+      sources."es5-ext-0.10.61"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       (sources."expand-brackets-2.1.4" // {
@@ -103104,7 +103006,7 @@ in
       })
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.3"
@@ -103644,16 +103546,16 @@ in
   hyperpotamus = nodeEnv.buildNodePackage {
     name = "hyperpotamus";
     packageName = "hyperpotamus";
-    version = "0.38.2";
+    version = "0.39.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/hyperpotamus/-/hyperpotamus-0.38.2.tgz";
-      sha512 = "VavhoS9dr44WPPdtuBgHAge1uM/elPo8fAI6fMJ4Bs1NsOCgMOFg4g7FBo7ODgzmAaa2CjAFQGu1hIaY5UIqPg==";
+      url = "https://registry.npmjs.org/hyperpotamus/-/hyperpotamus-0.39.0.tgz";
+      sha512 = "T3RBIVw6hZACXRtlE3F0scXQa2tU3Ybbg2d0MDBYulv3NunZ5U0LHtBFnslWwFShNlnrXCEo5+f0TXj4YP4y6Q==";
     };
     dependencies = [
       sources."@colors/colors-1.5.0"
       sources."@fast-csv/format-4.3.5"
       sources."@fast-csv/parse-4.3.6"
-      sources."@types/node-14.18.13"
+      sources."@types/node-14.18.16"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -103662,7 +103564,7 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.4"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.1116.0"
+      sources."aws-sdk-2.1125.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."base64-js-1.5.1"
@@ -103764,12 +103666,12 @@ in
       sources."lodash.reject-4.6.0"
       sources."lodash.some-4.6.0"
       sources."lodash.uniq-4.5.0"
-      sources."marked-2.1.3"
+      sources."marked-4.0.14"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."minimist-1.2.6"
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."moment-timezone-0.5.34"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
@@ -103827,9 +103729,9 @@ in
       sources."util-deprecate-1.0.2"
       sources."uuid-3.3.2"
       sources."verror-1.10.1"
-      (sources."winston-2.4.5" // {
+      (sources."winston-2.4.6" // {
         dependencies = [
-          sources."async-1.0.0"
+          sources."async-3.2.3"
           sources."colors-1.0.3"
         ];
       })
@@ -104133,7 +104035,7 @@ in
           sources."minimist-1.2.6"
         ];
       })
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."mv-2.1.1"
       sources."nan-2.15.0"
       sources."ncp-2.0.0"
@@ -104244,7 +104146,7 @@ in
       sources."p-finally-1.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
-      sources."prismjs-1.27.0"
+      sources."prismjs-1.28.0"
       sources."pump-3.0.0"
       sources."rimraf-2.7.1"
       sources."safer-buffer-2.1.2"
@@ -104302,7 +104204,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@selderee/plugin-htmlparser2-0.6.0"
-      sources."@types/long-4.0.1"
+      sources."@types/long-4.0.2"
       sources."@types/node-13.13.52"
       sources."abbrev-1.1.1"
       sources."ajv-6.12.6"
@@ -104441,17 +104343,17 @@ in
       sources."tough-cookie-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."typescript-4.6.3"
+      sources."typescript-4.6.4"
       sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
-      (sources."vscode-css-languageservice-5.4.1" // {
+      (sources."vscode-css-languageservice-5.4.2" // {
         dependencies = [
           sources."vscode-languageserver-types-3.16.0"
         ];
       })
-      (sources."vscode-html-languageservice-4.2.4" // {
+      (sources."vscode-html-languageservice-4.2.5" // {
         dependencies = [
           sources."vscode-languageserver-types-3.16.0"
         ];
@@ -104470,7 +104372,7 @@ in
       })
       sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.17.0-next.1"
-      sources."vscode-nls-5.0.0"
+      sources."vscode-nls-5.0.1"
       sources."vscode-uri-3.0.3"
       sources."wrappy-1.0.2"
       sources."yallist-2.1.2"
@@ -104512,7 +104414,7 @@ in
       sources."ansi-styles-3.2.1"
       (sources."ast-types-0.13.4" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
         ];
       })
       sources."astral-regex-2.0.0"
@@ -104806,44 +104708,44 @@ in
     dependencies = [
       sources."@iarna/toml-2.2.5"
       sources."@msgpack/msgpack-2.7.2"
-      sources."@ot-builder/bin-composite-types-1.5.1"
-      sources."@ot-builder/bin-util-1.5.1"
-      sources."@ot-builder/cli-help-shower-1.5.1"
-      sources."@ot-builder/cli-proc-1.5.1"
-      sources."@ot-builder/cli-shared-1.5.1"
-      sources."@ot-builder/common-impl-1.5.1"
-      sources."@ot-builder/errors-1.5.1"
-      sources."@ot-builder/io-bin-cff-1.5.1"
-      sources."@ot-builder/io-bin-encoding-1.5.1"
-      sources."@ot-builder/io-bin-ext-private-1.5.1"
-      sources."@ot-builder/io-bin-font-1.5.1"
-      sources."@ot-builder/io-bin-glyph-store-1.5.1"
-      sources."@ot-builder/io-bin-layout-1.5.1"
-      sources."@ot-builder/io-bin-metadata-1.5.1"
-      sources."@ot-builder/io-bin-metric-1.5.1"
-      sources."@ot-builder/io-bin-name-1.5.1"
-      sources."@ot-builder/io-bin-sfnt-1.5.1"
-      sources."@ot-builder/io-bin-ttf-1.5.1"
-      sources."@ot-builder/io-bin-vtt-private-1.5.1"
-      sources."@ot-builder/ot-1.5.1"
-      sources."@ot-builder/ot-encoding-1.5.1"
-      sources."@ot-builder/ot-ext-private-1.5.1"
-      sources."@ot-builder/ot-glyphs-1.5.1"
-      sources."@ot-builder/ot-layout-1.5.1"
-      sources."@ot-builder/ot-metadata-1.5.1"
-      sources."@ot-builder/ot-name-1.5.1"
-      sources."@ot-builder/ot-sfnt-1.5.1"
-      sources."@ot-builder/ot-standard-glyph-namer-1.5.1"
-      sources."@ot-builder/ot-vtt-private-1.5.1"
-      sources."@ot-builder/prelude-1.5.1"
-      sources."@ot-builder/primitive-1.5.1"
-      sources."@ot-builder/rectify-1.5.1"
-      sources."@ot-builder/stat-glyphs-1.5.1"
-      sources."@ot-builder/trace-1.5.1"
-      sources."@ot-builder/var-store-1.5.1"
-      sources."@ot-builder/variance-1.5.1"
+      sources."@ot-builder/bin-composite-types-1.5.2"
+      sources."@ot-builder/bin-util-1.5.2"
+      sources."@ot-builder/cli-help-shower-1.5.2"
+      sources."@ot-builder/cli-proc-1.5.2"
+      sources."@ot-builder/cli-shared-1.5.2"
+      sources."@ot-builder/common-impl-1.5.2"
+      sources."@ot-builder/errors-1.5.2"
+      sources."@ot-builder/io-bin-cff-1.5.2"
+      sources."@ot-builder/io-bin-encoding-1.5.2"
+      sources."@ot-builder/io-bin-ext-private-1.5.2"
+      sources."@ot-builder/io-bin-font-1.5.2"
+      sources."@ot-builder/io-bin-glyph-store-1.5.2"
+      sources."@ot-builder/io-bin-layout-1.5.2"
+      sources."@ot-builder/io-bin-metadata-1.5.2"
+      sources."@ot-builder/io-bin-metric-1.5.2"
+      sources."@ot-builder/io-bin-name-1.5.2"
+      sources."@ot-builder/io-bin-sfnt-1.5.2"
+      sources."@ot-builder/io-bin-ttf-1.5.2"
+      sources."@ot-builder/io-bin-vtt-private-1.5.2"
+      sources."@ot-builder/ot-1.5.2"
+      sources."@ot-builder/ot-encoding-1.5.2"
+      sources."@ot-builder/ot-ext-private-1.5.2"
+      sources."@ot-builder/ot-glyphs-1.5.2"
+      sources."@ot-builder/ot-layout-1.5.2"
+      sources."@ot-builder/ot-metadata-1.5.2"
+      sources."@ot-builder/ot-name-1.5.2"
+      sources."@ot-builder/ot-sfnt-1.5.2"
+      sources."@ot-builder/ot-standard-glyph-namer-1.5.2"
+      sources."@ot-builder/ot-vtt-private-1.5.2"
+      sources."@ot-builder/prelude-1.5.2"
+      sources."@ot-builder/primitive-1.5.2"
+      sources."@ot-builder/rectify-1.5.2"
+      sources."@ot-builder/stat-glyphs-1.5.2"
+      sources."@ot-builder/trace-1.5.2"
+      sources."@ot-builder/var-store-1.5.2"
+      sources."@ot-builder/variance-1.5.2"
       sources."@unicode/unicode-14.0.0-1.2.1"
-      sources."@xmldom/xmldom-0.7.5"
+      sources."@xmldom/xmldom-0.8.2"
       sources."aglfn-1.0.2"
       sources."amdefine-1.0.1"
       sources."ansi-regex-5.0.1"
@@ -104851,7 +104753,7 @@ in
       sources."argparse-2.0.1"
       sources."chainsaw-0.0.9"
       sources."chalk-4.1.2"
-      sources."cldr-7.1.1"
+      sources."cldr-7.2.0"
       sources."cli-cursor-3.1.0"
       sources."clipper-lib-6.4.2"
       sources."cliui-7.0.4"
@@ -104888,7 +104790,7 @@ in
       sources."esutils-2.0.3"
       sources."fast-deep-equal-3.1.3"
       sources."fast-levenshtein-2.0.6"
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."get-caller-file-2.0.5"
       sources."graceful-fs-4.2.10"
       sources."has-flag-4.0.0"
@@ -104903,8 +104805,8 @@ in
       sources."mimic-fn-2.1.0"
       sources."onetime-5.1.2"
       sources."optionator-0.8.3"
-      sources."ot-builder-1.5.1"
-      sources."otb-ttc-bundle-1.5.1"
+      sources."ot-builder-1.5.2"
+      sources."otb-ttc-bundle-1.5.2"
       sources."passerror-1.1.1"
       sources."patel-0.37.1"
       sources."patrisika-0.24.0"
@@ -104931,7 +104833,7 @@ in
       sources."through-2.3.8"
       sources."toposort-2.0.2"
       sources."traverse-0.3.9"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."type-check-0.3.2"
       sources."typo-geom-0.12.1"
       sources."unicoderegexp-0.4.1"
@@ -104963,23 +104865,31 @@ in
   jake = nodeEnv.buildNodePackage {
     name = "jake";
     packageName = "jake";
-    version = "10.8.4";
+    version = "10.8.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jake/-/jake-10.8.4.tgz";
-      sha512 = "MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==";
+      url = "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz";
+      sha512 = "sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==";
     };
     dependencies = [
       sources."ansi-styles-4.3.0"
-      sources."async-0.9.2"
+      sources."async-3.2.3"
       sources."balanced-match-1.0.2"
-      sources."brace-expansion-1.1.11"
+      sources."brace-expansion-2.0.1"
       sources."chalk-4.1.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."concat-map-0.0.1"
-      sources."filelist-1.0.2"
+      (sources."filelist-1.0.3" // {
+        dependencies = [
+          sources."minimatch-5.0.1"
+        ];
+      })
       sources."has-flag-4.0.0"
-      sources."minimatch-3.1.2"
+      (sources."minimatch-3.1.2" // {
+        dependencies = [
+          sources."brace-expansion-1.1.11"
+        ];
+      })
       sources."supports-color-7.2.0"
     ];
     buildInputs = globalBuildInputs;
@@ -105128,66 +105038,66 @@ in
           sources."tslib-1.14.1"
         ];
       })
-      sources."@aws-sdk/abort-controller-3.55.0"
+      sources."@aws-sdk/abort-controller-3.78.0"
       sources."@aws-sdk/chunked-blob-reader-3.55.0"
       sources."@aws-sdk/chunked-blob-reader-native-3.58.0"
-      sources."@aws-sdk/client-s3-3.72.0"
-      sources."@aws-sdk/client-sso-3.72.0"
-      sources."@aws-sdk/client-sts-3.72.0"
-      sources."@aws-sdk/config-resolver-3.58.0"
-      sources."@aws-sdk/credential-provider-env-3.55.0"
-      sources."@aws-sdk/credential-provider-imds-3.58.0"
-      sources."@aws-sdk/credential-provider-ini-3.72.0"
-      sources."@aws-sdk/credential-provider-node-3.72.0"
-      sources."@aws-sdk/credential-provider-process-3.58.0"
-      sources."@aws-sdk/credential-provider-sso-3.72.0"
-      sources."@aws-sdk/credential-provider-web-identity-3.55.0"
-      sources."@aws-sdk/eventstream-marshaller-3.58.0"
-      sources."@aws-sdk/eventstream-serde-browser-3.72.0"
-      sources."@aws-sdk/eventstream-serde-config-resolver-3.55.0"
-      sources."@aws-sdk/eventstream-serde-node-3.72.0"
-      sources."@aws-sdk/eventstream-serde-universal-3.72.0"
-      sources."@aws-sdk/fetch-http-handler-3.58.0"
-      sources."@aws-sdk/hash-blob-browser-3.58.0"
-      sources."@aws-sdk/hash-node-3.55.0"
-      sources."@aws-sdk/hash-stream-node-3.58.0"
-      sources."@aws-sdk/invalid-dependency-3.55.0"
+      sources."@aws-sdk/client-s3-3.81.0"
+      sources."@aws-sdk/client-sso-3.81.0"
+      sources."@aws-sdk/client-sts-3.81.0"
+      sources."@aws-sdk/config-resolver-3.80.0"
+      sources."@aws-sdk/credential-provider-env-3.78.0"
+      sources."@aws-sdk/credential-provider-imds-3.81.0"
+      sources."@aws-sdk/credential-provider-ini-3.81.0"
+      sources."@aws-sdk/credential-provider-node-3.81.0"
+      sources."@aws-sdk/credential-provider-process-3.80.0"
+      sources."@aws-sdk/credential-provider-sso-3.81.0"
+      sources."@aws-sdk/credential-provider-web-identity-3.78.0"
+      sources."@aws-sdk/eventstream-marshaller-3.78.0"
+      sources."@aws-sdk/eventstream-serde-browser-3.78.0"
+      sources."@aws-sdk/eventstream-serde-config-resolver-3.78.0"
+      sources."@aws-sdk/eventstream-serde-node-3.78.0"
+      sources."@aws-sdk/eventstream-serde-universal-3.78.0"
+      sources."@aws-sdk/fetch-http-handler-3.78.0"
+      sources."@aws-sdk/hash-blob-browser-3.78.0"
+      sources."@aws-sdk/hash-node-3.78.0"
+      sources."@aws-sdk/hash-stream-node-3.78.0"
+      sources."@aws-sdk/invalid-dependency-3.78.0"
       sources."@aws-sdk/is-array-buffer-3.55.0"
-      sources."@aws-sdk/md5-js-3.58.0"
-      sources."@aws-sdk/middleware-bucket-endpoint-3.58.0"
-      sources."@aws-sdk/middleware-content-length-3.58.0"
-      sources."@aws-sdk/middleware-expect-continue-3.58.0"
-      sources."@aws-sdk/middleware-flexible-checksums-3.72.0"
-      sources."@aws-sdk/middleware-header-default-3.58.0"
-      sources."@aws-sdk/middleware-host-header-3.58.0"
-      sources."@aws-sdk/middleware-location-constraint-3.55.0"
-      sources."@aws-sdk/middleware-logger-3.55.0"
-      (sources."@aws-sdk/middleware-retry-3.58.0" // {
+      sources."@aws-sdk/md5-js-3.78.0"
+      sources."@aws-sdk/middleware-bucket-endpoint-3.80.0"
+      sources."@aws-sdk/middleware-content-length-3.78.0"
+      sources."@aws-sdk/middleware-expect-continue-3.78.0"
+      sources."@aws-sdk/middleware-flexible-checksums-3.78.0"
+      sources."@aws-sdk/middleware-header-default-3.78.0"
+      sources."@aws-sdk/middleware-host-header-3.78.0"
+      sources."@aws-sdk/middleware-location-constraint-3.78.0"
+      sources."@aws-sdk/middleware-logger-3.78.0"
+      (sources."@aws-sdk/middleware-retry-3.80.0" // {
         dependencies = [
           sources."uuid-8.3.2"
         ];
       })
-      sources."@aws-sdk/middleware-sdk-s3-3.66.0"
-      sources."@aws-sdk/middleware-sdk-sts-3.58.0"
-      sources."@aws-sdk/middleware-serde-3.55.0"
-      sources."@aws-sdk/middleware-signing-3.58.0"
-      sources."@aws-sdk/middleware-ssec-3.55.0"
-      sources."@aws-sdk/middleware-stack-3.55.0"
-      sources."@aws-sdk/middleware-user-agent-3.58.0"
-      sources."@aws-sdk/node-config-provider-3.58.0"
-      sources."@aws-sdk/node-http-handler-3.58.0"
-      sources."@aws-sdk/property-provider-3.55.0"
-      sources."@aws-sdk/protocol-http-3.58.0"
-      sources."@aws-sdk/querystring-builder-3.55.0"
-      sources."@aws-sdk/querystring-parser-3.55.0"
-      sources."@aws-sdk/s3-request-presigner-3.72.0"
-      sources."@aws-sdk/service-error-classification-3.55.0"
-      sources."@aws-sdk/shared-ini-file-loader-3.58.0"
-      sources."@aws-sdk/signature-v4-3.58.0"
-      sources."@aws-sdk/signature-v4-multi-region-3.66.0"
-      sources."@aws-sdk/smithy-client-3.72.0"
-      sources."@aws-sdk/types-3.55.0"
-      sources."@aws-sdk/url-parser-3.55.0"
+      sources."@aws-sdk/middleware-sdk-s3-3.78.0"
+      sources."@aws-sdk/middleware-sdk-sts-3.78.0"
+      sources."@aws-sdk/middleware-serde-3.78.0"
+      sources."@aws-sdk/middleware-signing-3.78.0"
+      sources."@aws-sdk/middleware-ssec-3.78.0"
+      sources."@aws-sdk/middleware-stack-3.78.0"
+      sources."@aws-sdk/middleware-user-agent-3.78.0"
+      sources."@aws-sdk/node-config-provider-3.80.0"
+      sources."@aws-sdk/node-http-handler-3.78.0"
+      sources."@aws-sdk/property-provider-3.78.0"
+      sources."@aws-sdk/protocol-http-3.78.0"
+      sources."@aws-sdk/querystring-builder-3.78.0"
+      sources."@aws-sdk/querystring-parser-3.78.0"
+      sources."@aws-sdk/s3-request-presigner-3.81.0"
+      sources."@aws-sdk/service-error-classification-3.78.0"
+      sources."@aws-sdk/shared-ini-file-loader-3.80.0"
+      sources."@aws-sdk/signature-v4-3.78.0"
+      sources."@aws-sdk/signature-v4-multi-region-3.78.0"
+      sources."@aws-sdk/smithy-client-3.78.0"
+      sources."@aws-sdk/types-3.78.0"
+      sources."@aws-sdk/url-parser-3.78.0"
       sources."@aws-sdk/util-arn-parser-3.55.0"
       sources."@aws-sdk/util-base64-browser-3.58.0"
       sources."@aws-sdk/util-base64-node-3.55.0"
@@ -105195,21 +105105,21 @@ in
       sources."@aws-sdk/util-body-length-node-3.55.0"
       sources."@aws-sdk/util-buffer-from-3.55.0"
       sources."@aws-sdk/util-config-provider-3.55.0"
-      sources."@aws-sdk/util-create-request-3.72.0"
-      sources."@aws-sdk/util-defaults-mode-browser-3.72.0"
-      sources."@aws-sdk/util-defaults-mode-node-3.72.0"
-      sources."@aws-sdk/util-format-url-3.58.0"
+      sources."@aws-sdk/util-create-request-3.78.0"
+      sources."@aws-sdk/util-defaults-mode-browser-3.78.0"
+      sources."@aws-sdk/util-defaults-mode-node-3.81.0"
+      sources."@aws-sdk/util-format-url-3.78.0"
       sources."@aws-sdk/util-hex-encoding-3.58.0"
       sources."@aws-sdk/util-locate-window-3.55.0"
-      sources."@aws-sdk/util-middleware-3.55.0"
-      sources."@aws-sdk/util-stream-browser-3.55.0"
-      sources."@aws-sdk/util-stream-node-3.55.0"
+      sources."@aws-sdk/util-middleware-3.78.0"
+      sources."@aws-sdk/util-stream-browser-3.78.0"
+      sources."@aws-sdk/util-stream-node-3.78.0"
       sources."@aws-sdk/util-uri-escape-3.55.0"
-      sources."@aws-sdk/util-user-agent-browser-3.58.0"
-      sources."@aws-sdk/util-user-agent-node-3.58.0"
+      sources."@aws-sdk/util-user-agent-browser-3.78.0"
+      sources."@aws-sdk/util-user-agent-node-3.80.0"
       sources."@aws-sdk/util-utf8-browser-3.55.0"
       sources."@aws-sdk/util-utf8-node-3.55.0"
-      sources."@aws-sdk/util-waiter-3.55.0"
+      sources."@aws-sdk/util-waiter-3.78.0"
       sources."@aws-sdk/xml-builder-3.55.0"
       sources."@braintree/sanitize-url-3.1.0"
       sources."@cronvel/get-pixels-3.4.0"
@@ -105218,7 +105128,7 @@ in
       sources."@joplin/fork-sax-1.2.43"
       (sources."@joplin/htmlpack-2.6.1" // {
         dependencies = [
-          sources."fs-extra-10.0.1"
+          sources."fs-extra-10.1.0"
         ];
       })
       sources."@joplin/lib-2.6.3"
@@ -105267,7 +105177,7 @@ in
         ];
       })
       sources."@tootallnate/once-1.1.2"
-      sources."abab-2.0.5"
+      sources."abab-2.0.6"
       sources."abbrev-1.1.1"
       sources."acorn-7.4.1"
       (sources."acorn-globals-4.3.4" // {
@@ -105313,7 +105223,7 @@ in
       sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.1116.0" // {
+      (sources."aws-sdk-2.1125.0" // {
         dependencies = [
           sources."sax-1.2.1"
           sources."uuid-3.3.2"
@@ -105367,7 +105277,7 @@ in
       sources."color-3.1.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."color-support-1.1.3"
       sources."combined-stream-1.0.8"
       sources."command-line-usage-4.1.0"
@@ -105768,19 +105678,19 @@ in
       sources."minizlib-1.3.3"
       sources."mkdirp-0.5.6"
       sources."mkdirp-classic-0.5.3"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."moment-mini-2.24.0"
       sources."ms-2.1.2"
       sources."multiparty-4.2.3"
       sources."mustache-4.2.0"
-      sources."nanoid-3.3.2"
+      sources."nanoid-3.3.3"
       sources."napi-build-utils-1.0.2"
       sources."ndarray-1.0.19"
       sources."ndarray-pack-1.2.1"
       sources."negotiator-0.6.3"
       sources."nextgen-events-1.5.2"
       sources."no-case-2.3.2"
-      sources."node-abi-3.8.0"
+      sources."node-abi-3.15.0"
       sources."node-addon-api-4.3.0"
       sources."node-bitmap-0.0.1"
       sources."node-emoji-1.11.0"
@@ -105796,7 +105706,7 @@ in
           sources."minipass-3.1.6"
           sources."minizlib-2.1.2"
           sources."mkdirp-1.0.4"
-          sources."npmlog-6.0.1"
+          sources."npmlog-6.0.2"
           sources."readable-stream-3.6.0"
           sources."rimraf-3.0.2"
           sources."string-width-4.2.3"
@@ -105842,7 +105752,7 @@ in
       sources."pipe-functions-1.3.0"
       sources."pn-1.1.0"
       sources."pngjs-5.0.0"
-      sources."prebuild-install-7.0.1"
+      sources."prebuild-install-7.1.0"
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
       sources."promise-7.3.1"
@@ -105936,7 +105846,7 @@ in
       })
       sources."smart-buffer-4.2.0"
       sources."socks-2.6.2"
-      (sources."socks-proxy-agent-6.1.1" // {
+      (sources."socks-proxy-agent-6.2.0" // {
         dependencies = [
           sources."debug-4.3.4"
         ];
@@ -105946,7 +105856,7 @@ in
       sources."source-map-url-0.4.1"
       sources."split-skip-0.0.2"
       sources."sprintf-js-1.1.2"
-      (sources."sqlite3-5.0.3" // {
+      (sources."sqlite3-5.0.6" // {
         dependencies = [
           sources."chownr-2.0.0"
           sources."fs-minipass-2.1.0"
@@ -105989,7 +105899,7 @@ in
         ];
       })
       sources."strip-json-comments-2.0.1"
-      sources."stylis-4.1.0"
+      sources."stylis-4.1.1"
       sources."supports-color-7.2.0"
       sources."symbol-observable-1.2.0"
       sources."symbol-tree-3.2.4"
@@ -106026,7 +105936,7 @@ in
       sources."tough-cookie-3.0.1"
       sources."tr46-1.0.1"
       sources."tree-kit-0.7.4"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
@@ -106168,7 +106078,7 @@ in
       sha512 = "IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==";
     };
     dependencies = [
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@types/linkify-it-3.0.2"
       sources."@types/markdown-it-12.2.3"
       sources."@types/mdurl-1.0.2"
@@ -106190,7 +106100,7 @@ in
       sources."strip-json-comments-3.1.1"
       sources."taffydb-2.6.2"
       sources."uc.micro-1.0.6"
-      sources."underscore-1.13.2"
+      sources."underscore-1.13.3"
       sources."xmlcreate-2.0.4"
     ];
     buildInputs = globalBuildInputs;
@@ -106285,7 +106195,7 @@ in
       sources."d-1.0.1"
       sources."difflib-0.2.4"
       sources."dreamopt-0.8.0"
-      sources."es5-ext-0.10.60"
+      sources."es5-ext-0.10.61"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."es6-weak-map-2.0.3"
@@ -106426,7 +106336,7 @@ in
         ];
       })
       sources."content-type-1.0.4"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."cors-2.8.5"
       sources."crypto-random-string-2.0.0"
@@ -106447,16 +106357,9 @@ in
       sources."escape-goat-2.1.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
-          sources."body-parser-1.19.2"
-          sources."depd-1.1.2"
-          sources."http-errors-1.8.1"
-          sources."on-finished-2.3.0"
-          sources."qs-6.9.7"
-          sources."raw-body-2.4.3"
           sources."safe-buffer-5.2.1"
-          sources."statuses-1.5.0"
         ];
       })
       (sources."express-urlrewrite-1.4.0" // {
@@ -106464,12 +106367,7 @@ in
           sources."path-to-regexp-1.8.0"
         ];
       })
-      (sources."finalhandler-1.1.2" // {
-        dependencies = [
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
-        ];
-      })
+      sources."finalhandler-1.2.0"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."function-bind-1.1.1"
@@ -106535,7 +106433,7 @@ in
         ];
       })
       sources."ms-2.0.0"
-      sources."nanoid-3.3.2"
+      sources."nanoid-3.3.3"
       sources."negotiator-0.6.3"
       sources."normalize-url-4.5.1"
       sources."object-assign-4.1.1"
@@ -106579,17 +106477,12 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
-          sources."depd-1.1.2"
-          sources."destroy-1.0.4"
-          sources."http-errors-1.8.1"
           sources."ms-2.1.3"
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."server-destroy-1.0.1"
       sources."setprototypeof-1.2.0"
       sources."side-channel-1.0.4"
@@ -106753,7 +106646,7 @@ in
         ];
       })
       sources."content-type-1.0.4"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.3"
@@ -106784,16 +106677,9 @@ in
       sources."etag-1.8.1"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
-          sources."body-parser-1.19.2"
-          sources."depd-1.1.2"
-          sources."http-errors-1.8.1"
-          sources."on-finished-2.3.0"
-          sources."qs-6.9.7"
-          sources."raw-body-2.4.3"
           sources."safe-buffer-5.2.1"
-          sources."statuses-1.5.0"
         ];
       })
       sources."extend-3.0.2"
@@ -106810,12 +106696,7 @@ in
       sources."filename-regex-2.0.1"
       sources."fill-range-2.2.4"
       sources."filled-array-1.1.0"
-      (sources."finalhandler-1.1.2" // {
-        dependencies = [
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
-        ];
-      })
+      sources."finalhandler-1.2.0"
       sources."find-up-1.1.2"
       sources."for-in-1.0.2"
       sources."for-own-0.1.5"
@@ -106871,7 +106752,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.3"
@@ -107106,17 +106987,12 @@ in
       sources."safer-buffer-2.1.2"
       sources."semver-5.7.1"
       sources."semver-diff-2.1.0"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
-          sources."depd-1.1.2"
-          sources."destroy-1.0.4"
-          sources."http-errors-1.8.1"
           sources."ms-2.1.3"
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."server-destroy-1.0.1"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.1" // {
@@ -107284,7 +107160,7 @@ in
         ];
       })
       sources."@oclif/screen-1.0.4"
-      (sources."@putdotio/api-client-8.31.2" // {
+      (sources."@putdotio/api-client-8.32.0" // {
         dependencies = [
           sources."axios-0.21.4"
         ];
@@ -107311,7 +107187,7 @@ in
       sources."chardet-0.7.0"
       sources."clean-stack-3.0.1"
       sources."cli-cursor-3.1.0"
-      sources."cli-progress-3.10.0"
+      sources."cli-progress-3.11.0"
       (sources."cli-ux-5.6.7" // {
         dependencies = [
           sources."supports-color-8.1.1"
@@ -107344,7 +107220,7 @@ in
       sources."dotenv-8.6.0"
       sources."emoji-regex-8.0.0"
       sources."env-paths-2.2.1"
-      sources."es5-ext-0.10.60"
+      sources."es5-ext-0.10.61"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.3"
       sources."escape-string-regexp-4.0.0"
@@ -107408,7 +107284,7 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."natural-orderby-2.0.3"
@@ -107460,7 +107336,7 @@ in
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."to-regex-range-5.0.1"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."type-2.6.0"
       sources."type-fest-0.21.3"
       sources."typedarray-to-buffer-3.1.5"
@@ -107508,18 +107384,17 @@ in
   karma = nodeEnv.buildNodePackage {
     name = "karma";
     packageName = "karma";
-    version = "6.3.18";
+    version = "6.3.19";
     src = fetchurl {
-      url = "https://registry.npmjs.org/karma/-/karma-6.3.18.tgz";
-      sha512 = "YEwXVHRILKWKN7uEW9IkgTPjnYGb3YA3MDvlp04xpSRAyrNPoRmsBayLDgHykKAwBm6/mAOckj4xi/1JdQfhzQ==";
+      url = "https://registry.npmjs.org/karma/-/karma-6.3.19.tgz";
+      sha512 = "NDhWckzES/Y9xMiddyU1RzaKL76/scCsu8Mp0vR0Z3lQRvC3p72+Ab4ppoxs36S9tyPNX5V48yvaV++RNEBPZw==";
     };
     dependencies = [
       sources."@colors/colors-1.5.0"
-      sources."@socket.io/base64-arraybuffer-1.0.2"
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."accepts-1.3.8"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -107543,7 +107418,7 @@ in
       sources."cookie-0.4.2"
       sources."cors-2.8.5"
       sources."custom-event-1.0.1"
-      sources."date-format-4.0.7"
+      sources."date-format-4.0.9"
       sources."debug-2.6.9"
       sources."depd-2.0.0"
       sources."destroy-1.2.0"
@@ -107552,13 +107427,13 @@ in
       sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
-      (sources."engine.io-6.1.3" // {
+      (sources."engine.io-6.2.0" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      sources."engine.io-parser-5.0.3"
+      sources."engine.io-parser-5.0.4"
       sources."ent-2.2.0"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -107573,7 +107448,7 @@ in
       })
       sources."flatted-3.2.5"
       sources."follow-redirects-1.14.9"
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
@@ -107597,7 +107472,7 @@ in
       sources."isbinaryfile-4.0.10"
       sources."jsonfile-6.1.0"
       sources."lodash-4.17.21"
-      (sources."log4js-6.4.5" // {
+      (sources."log4js-6.4.6" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -107632,13 +107507,13 @@ in
       sources."safer-buffer-2.1.2"
       sources."setprototypeof-1.2.0"
       sources."side-channel-1.0.4"
-      (sources."socket.io-4.4.1" // {
+      (sources."socket.io-4.5.0" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      sources."socket.io-adapter-2.3.3"
+      sources."socket.io-adapter-2.4.0"
       (sources."socket.io-parser-4.0.4" // {
         dependencies = [
           sources."debug-4.3.4"
@@ -107647,7 +107522,7 @@ in
       })
       sources."source-map-0.6.1"
       sources."statuses-2.0.1"
-      (sources."streamroller-3.0.7" // {
+      (sources."streamroller-3.0.8" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -107691,18 +107566,18 @@ in
       sha512 = "RUV9keqP/XK49OiVC4l5N5NxjYDPoDJFkr5OLa7rlFd/6JYah7YkqMfzm7Q9iw2ig9GKiQI9KgtR2IixzwEJnw==";
     };
     dependencies = [
-      sources."@ampproject/remapping-2.1.2"
-      sources."@babel/cli-7.17.6"
+      sources."@ampproject/remapping-2.2.0"
+      sources."@babel/cli-7.17.10"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.7"
-      (sources."@babel/core-7.17.9" // {
+      sources."@babel/compat-data-7.17.10"
+      (sources."@babel/core-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.17.9"
+      sources."@babel/generator-7.17.10"
       sources."@babel/helper-annotate-as-pure-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.17.7" // {
+      (sources."@babel/helper-compilation-targets-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -107719,17 +107594,19 @@ in
       sources."@babel/helper-validator-option-7.16.7"
       sources."@babel/helpers-7.17.9"
       sources."@babel/highlight-7.17.9"
-      sources."@babel/node-7.16.8"
-      sources."@babel/parser-7.17.9"
+      sources."@babel/node-7.17.10"
+      sources."@babel/parser-7.17.10"
       sources."@babel/plugin-syntax-jsx-7.16.7"
       sources."@babel/plugin-transform-react-jsx-7.17.3"
       sources."@babel/register-7.17.7"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.9"
-      sources."@babel/types-7.17.0"
-      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@babel/traverse-7.17.10"
+      sources."@babel/types-7.17.10"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/resolve-uri-3.0.6"
+      sources."@jridgewell/set-array-1.1.0"
       sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@jridgewell/trace-mapping-0.3.9"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -107767,9 +107644,9 @@ in
       sources."@xmpp/tls-0.13.1"
       sources."@xmpp/websocket-0.13.1"
       sources."@xmpp/xml-0.13.1"
-      sources."abab-2.0.5"
+      sources."abab-2.0.6"
       sources."accepts-1.3.8"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -107790,7 +107667,7 @@ in
       sources."array-flatten-1.1.1"
       sources."array-union-2.1.0"
       sources."asn1.js-5.4.1"
-      sources."asn1js-2.3.2"
+      sources."asn1js-2.4.0"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."axios-0.25.0"
@@ -107802,7 +107679,7 @@ in
       sources."bitwise-xor-0.0.0"
       sources."bl-4.1.0"
       sources."bn.js-4.12.0"
-      (sources."body-parser-1.19.2" // {
+      (sources."body-parser-1.20.0" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -107812,12 +107689,12 @@ in
       sources."braces-3.0.2"
       sources."browser-or-node-1.3.0"
       sources."browser-process-hrtime-1.0.0"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."bytes-3.1.2"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       sources."chalk-2.4.2"
       sources."chardet-1.4.0"
       sources."chownr-1.1.4"
@@ -107844,9 +107721,9 @@ in
       })
       sources."content-type-1.0.4"
       sources."convert-source-map-1.8.0"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.22.0"
+      sources."core-js-3.22.3"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       sources."create-hash-1.2.0"
@@ -107873,8 +107750,8 @@ in
       sources."define-properties-1.1.4"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
+      sources."depd-2.0.0"
+      sources."destroy-1.2.0"
       sources."detect-libc-1.0.3"
       sources."dir-glob-3.0.1"
       sources."doipjs-0.15.6"
@@ -107885,7 +107762,7 @@ in
       })
       sources."dotenv-8.6.0"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -107895,18 +107772,14 @@ in
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
-      (sources."escodegen-2.0.0" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."escodegen-2.0.0"
       sources."esprima-4.0.1"
       sources."estraverse-5.3.0"
       sources."esutils-2.0.3"
       sources."etag-1.8.1"
       sources."events-3.3.0"
       sources."expand-template-2.0.3"
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -107919,7 +107792,7 @@ in
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."filter-obj-1.1.0"
-      (sources."finalhandler-1.1.2" // {
+      (sources."finalhandler-1.2.0" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -107966,7 +107839,7 @@ in
       })
       sources."graceful-fs-4.2.10"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-flag-3.0.0"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
@@ -107979,7 +107852,7 @@ in
       })
       sources."homedir-polyfill-1.0.3"
       sources."html-encoding-sniffer-2.0.1"
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       sources."http-proxy-agent-4.0.1"
       sources."https-proxy-agent-5.0.1"
       sources."iconv-lite-0.4.24"
@@ -108000,7 +107873,7 @@ in
       sources."is-bigint-1.0.4"
       sources."is-boolean-object-1.1.2"
       sources."is-callable-1.2.4"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-date-object-1.0.5"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-1.0.0"
@@ -108064,7 +107937,7 @@ in
       sources."node-abi-2.30.1"
       sources."node-environment-flags-1.0.6"
       sources."node-fetch-2.6.7"
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
       sources."nwsapi-2.2.0"
@@ -108073,7 +107946,7 @@ in
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
       sources."object.getownpropertydescriptors-2.1.3"
-      sources."on-finished-2.3.0"
+      sources."on-finished-2.4.1"
       sources."once-1.4.0"
       sources."openpgp-5.2.1"
       sources."optionator-0.8.3"
@@ -108103,6 +107976,7 @@ in
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
           sources."supports-color-7.2.0"
+          sources."tslib-2.3.1"
         ];
       })
       sources."pkg-dir-3.0.0"
@@ -108127,12 +108001,12 @@ in
       sources."punycode-2.1.1"
       sources."pvtsutils-1.2.2"
       sources."pvutils-1.1.3"
-      sources."qs-6.9.7"
+      sources."qs-6.10.3"
       sources."query-string-6.14.1"
       sources."queue-microtask-1.2.3"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.3"
+      sources."raw-body-2.5.1"
       sources."rc-1.2.8"
       sources."readable-stream-3.6.0"
       sources."regenerator-runtime-0.13.9"
@@ -108149,7 +108023,7 @@ in
       sources."saslmechanisms-0.1.1"
       sources."saxes-5.0.1"
       sources."semver-5.7.1"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
@@ -108159,7 +108033,7 @@ in
           sources."ms-2.1.3"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
       sources."sha.js-2.4.11"
@@ -108169,14 +108043,10 @@ in
       sources."simple-concat-1.0.1"
       sources."simple-get-3.1.1"
       sources."slash-2.0.0"
-      sources."source-map-0.5.7"
-      (sources."source-map-support-0.5.21" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."source-map-0.6.1"
+      sources."source-map-support-0.5.21"
       sources."split-on-first-1.1.0"
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       (sources."stream-meter-1.0.4" // {
         dependencies = [
           sources."readable-stream-2.3.7"
@@ -108212,11 +108082,11 @@ in
       sources."toidentifier-1.0.1"
       sources."tough-cookie-4.0.0"
       sources."tr46-0.0.3"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."tunnel-agent-0.6.0"
       sources."type-check-0.3.2"
       sources."type-is-1.6.18"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       sources."util-deprecate-1.0.2"
@@ -108245,7 +108115,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-8.5.0"
+      sources."ws-8.6.0"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
@@ -108489,7 +108359,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."mute-stream-0.0.8"
       (sources."nconf-0.10.0" // {
         dependencies = [
@@ -108739,7 +108609,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."mute-stream-0.0.8"
       (sources."nconf-0.10.0" // {
         dependencies = [
@@ -109217,7 +109087,7 @@ in
       sources."har-validator-5.1.5"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-flag-4.0.0"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
@@ -109259,7 +109129,7 @@ in
       sources."is-boolean-object-1.1.2"
       sources."is-callable-1.2.4"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-date-object-1.0.5"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -109518,7 +109388,7 @@ in
       sources."slide-1.1.6"
       sources."smart-buffer-4.2.0"
       sources."socks-2.6.2"
-      sources."socks-proxy-agent-6.1.1"
+      sources."socks-proxy-agent-6.2.0"
       sources."sort-keys-2.0.0"
       sources."source-map-0.6.1"
       sources."spdx-correct-3.1.1"
@@ -109567,7 +109437,7 @@ in
       sources."uglify-js-3.15.4"
       sources."uid-number-0.0.6"
       sources."umask-1.1.0"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."universal-user-agent-6.0.0"
@@ -109649,7 +109519,7 @@ in
       sources."sax-1.2.4"
       sources."semver-5.7.1"
       sources."source-map-0.6.1"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -109688,10 +109558,10 @@ in
   live-server = nodeEnv.buildNodePackage {
     name = "live-server";
     packageName = "live-server";
-    version = "1.2.1";
+    version = "1.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/live-server/-/live-server-1.2.1.tgz";
-      sha512 = "Yn2XCVjErTkqnM3FfTmM7/kWy3zP7+cEtC7x6u+wUzlQ+1UW3zEYbbyJrc0jNDwiMDZI0m4a0i3dxlGHVyXczw==";
+      url = "https://registry.npmjs.org/live-server/-/live-server-1.2.2.tgz";
+      sha512 = "t28HXLjITRGoMSrCOv4eZ88viHaBVIjKjdI5PO92Vxlu+twbk6aE0t7dVIaz6ZWkjPilYFV6OSdMYl9ybN2B4w==";
     };
     dependencies = [
       sources."accepts-1.3.8"
@@ -110098,7 +109968,7 @@ in
         ];
       })
       sources."content-type-1.0.4"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.3"
@@ -110118,6 +109988,7 @@ in
       sources."encodeurl-1.0.2"
       (sources."engine.io-3.5.0" // {
         dependencies = [
+          sources."cookie-0.4.2"
           sources."debug-4.1.1"
           sources."ms-2.1.3"
         ];
@@ -110133,16 +110004,9 @@ in
       sources."etag-1.8.1"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
-          sources."body-parser-1.19.2"
-          sources."depd-1.1.2"
-          sources."http-errors-1.8.1"
-          sources."on-finished-2.3.0"
-          sources."qs-6.9.7"
-          sources."raw-body-2.4.3"
           sources."safe-buffer-5.2.1"
-          sources."statuses-1.5.0"
         ];
       })
       sources."extend-3.0.2"
@@ -110158,12 +110022,7 @@ in
       sources."file-uri-to-path-1.0.0"
       sources."filename-regex-2.0.1"
       sources."fill-range-2.2.4"
-      (sources."finalhandler-1.1.2" // {
-        dependencies = [
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
-        ];
-      })
+      sources."finalhandler-1.2.0"
       sources."for-in-1.0.2"
       sources."for-own-0.1.5"
       sources."forever-agent-0.6.1"
@@ -110405,17 +110264,12 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
-          sources."depd-1.1.2"
-          sources."destroy-1.0.4"
-          sources."http-errors-1.8.1"
           sources."ms-2.1.3"
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -110572,14 +110426,14 @@ in
     version = "1.10.1";
     src = ../interpreters/clojurescript/lumo;
     dependencies = [
-      sources."@ampproject/remapping-2.1.2"
+      sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.7"
-      sources."@babel/core-7.17.9"
-      sources."@babel/generator-7.17.9"
+      sources."@babel/compat-data-7.17.10"
+      sources."@babel/core-7.17.10"
+      sources."@babel/generator-7.17.10"
       sources."@babel/helper-annotate-as-pure-7.16.7"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-      sources."@babel/helper-compilation-targets-7.17.7"
+      sources."@babel/helper-compilation-targets-7.17.10"
       sources."@babel/helper-create-class-features-plugin-7.17.9"
       sources."@babel/helper-create-regexp-features-plugin-7.17.0"
       sources."@babel/helper-define-polyfill-provider-0.3.1"
@@ -110606,7 +110460,7 @@ in
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7"
       sources."@babel/plugin-external-helpers-7.8.3"
@@ -110659,14 +110513,14 @@ in
       sources."@babel/plugin-transform-modules-commonjs-7.17.9"
       sources."@babel/plugin-transform-modules-systemjs-7.17.8"
       sources."@babel/plugin-transform-modules-umd-7.16.7"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.17.10"
       sources."@babel/plugin-transform-new-target-7.16.7"
       sources."@babel/plugin-transform-object-super-7.16.7"
       sources."@babel/plugin-transform-parameters-7.16.7"
       sources."@babel/plugin-transform-property-literals-7.16.7"
       sources."@babel/plugin-transform-regenerator-7.17.9"
       sources."@babel/plugin-transform-reserved-words-7.16.7"
-      sources."@babel/plugin-transform-runtime-7.17.0"
+      sources."@babel/plugin-transform-runtime-7.17.10"
       sources."@babel/plugin-transform-shorthand-properties-7.16.7"
       sources."@babel/plugin-transform-spread-7.16.7"
       sources."@babel/plugin-transform-sticky-regex-7.16.7"
@@ -110674,37 +110528,35 @@ in
       sources."@babel/plugin-transform-typeof-symbol-7.16.7"
       sources."@babel/plugin-transform-unicode-escapes-7.16.7"
       sources."@babel/plugin-transform-unicode-regex-7.16.7"
-      sources."@babel/preset-env-7.16.11"
+      sources."@babel/preset-env-7.17.10"
       sources."@babel/preset-modules-0.1.5"
       sources."@babel/preset-stage-2-7.8.3"
       sources."@babel/runtime-7.17.9"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.9"
-      sources."@babel/types-7.17.0"
+      sources."@babel/traverse-7.17.10"
+      sources."@babel/types-7.17.10"
       sources."@cnakazawa/watch-1.0.4"
       sources."@comandeer/babel-plugin-banner-5.0.0"
       sources."@istanbuljs/load-nyc-config-1.1.0"
       sources."@istanbuljs/schema-0.1.3"
-      (sources."@jest/transform-25.5.1" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."@jest/transform-25.5.1"
       sources."@jest/types-25.5.0"
-      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/resolve-uri-3.0.6"
+      sources."@jridgewell/set-array-1.1.0"
       sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@jridgewell/trace-mapping-0.3.9"
       sources."@types/babel__core-7.1.19"
       sources."@types/babel__generator-7.6.4"
       sources."@types/babel__template-7.4.1"
-      sources."@types/babel__traverse-7.17.0"
+      sources."@types/babel__traverse-7.17.1"
       sources."@types/estree-0.0.51"
       sources."@types/graceful-fs-4.1.5"
       sources."@types/istanbul-lib-coverage-2.0.4"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/json-schema-7.0.11"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/resolve-0.0.8"
       sources."@types/yargs-15.0.14"
@@ -110778,7 +110630,7 @@ in
       sources."babel-helper-remove-or-void-0.4.3"
       sources."babel-helper-to-multiple-sequence-expressions-0.5.0"
       sources."babel-jest-25.5.1"
-      sources."babel-loader-8.2.4"
+      sources."babel-loader-8.2.5"
       sources."babel-plugin-dynamic-import-node-2.3.3"
       sources."babel-plugin-istanbul-6.1.1"
       sources."babel-plugin-jest-hoist-25.5.0"
@@ -110861,7 +110713,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."bser-2.1.1"
       sources."buffer-5.2.1"
       sources."buffer-from-1.1.2"
@@ -110877,7 +110729,7 @@ in
       sources."cached-path-relative-1.1.0"
       sources."call-bind-1.0.2"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       sources."capture-exit-2.0.0"
       sources."caseless-0.12.0"
       (sources."chalk-3.0.0" // {
@@ -110930,6 +110782,7 @@ in
       (sources."combine-source-map-0.8.0" // {
         dependencies = [
           sources."convert-source-map-1.1.3"
+          sources."source-map-0.5.7"
         ];
       })
       sources."combined-stream-1.0.8"
@@ -110948,7 +110801,7 @@ in
       })
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.22.0" // {
+      (sources."core-js-compat-3.22.3" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -111000,7 +110853,7 @@ in
       sources."duplexer2-0.1.4"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -111168,7 +111021,11 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      sources."inline-source-map-0.6.2"
+      (sources."inline-source-map-0.6.2" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+        ];
+      })
       sources."insert-module-globals-7.2.1"
       sources."interpret-1.4.0"
       sources."is-accessor-descriptor-1.0.0"
@@ -111176,7 +111033,7 @@ in
       sources."is-binary-path-2.1.0"
       sources."is-buffer-1.1.6"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-deflate-1.0.0"
       sources."is-descriptor-1.0.2"
@@ -111202,7 +111059,7 @@ in
       sources."isobject-3.0.1"
       sources."isstream-0.1.2"
       sources."istanbul-lib-coverage-3.2.0"
-      sources."istanbul-lib-instrument-5.1.0"
+      sources."istanbul-lib-instrument-5.2.0"
       sources."jest-haste-map-25.5.1"
       sources."jest-regex-util-25.2.6"
       sources."jest-serializer-25.5.0"
@@ -111299,7 +111156,7 @@ in
           sources."util-0.11.1"
         ];
       })
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -111358,7 +111215,7 @@ in
       sources."pirates-4.0.5"
       sources."pkg-dir-4.2.0"
       sources."posix-character-classes-0.1.1"
-      sources."posix-getopt-git://github.com/anmonteiro/node-getopt#master"
+      sources."posix-getopt-git+https://github.com/anmonteiro/node-getopt#master"
       sources."prettier-1.19.1"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
@@ -111484,6 +111341,7 @@ in
           sources."is-descriptor-0.1.6"
           sources."kind-of-5.1.0"
           sources."ms-2.0.0"
+          sources."source-map-0.5.7"
         ];
       })
       (sources."snapdragon-node-2.1.1" // {
@@ -111497,13 +111355,9 @@ in
         ];
       })
       sources."source-list-map-0.1.8"
-      sources."source-map-0.5.7"
+      sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.3"
-      (sources."source-map-support-0.5.21" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."source-map-support-0.5.21"
       sources."source-map-url-0.4.1"
       sources."sourcemap-codec-1.4.8"
       sources."spdx-correct-3.1.1"
@@ -111559,11 +111413,7 @@ in
           sources."readable-stream-3.6.0"
         ];
       })
-      (sources."terser-4.8.0" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."terser-4.8.0"
       (sources."terser-webpack-plugin-1.4.5" // {
         dependencies = [
           sources."find-cache-dir-2.1.0"
@@ -111575,7 +111425,6 @@ in
           sources."pkg-dir-3.0.0"
           sources."schema-utils-1.0.0"
           sources."semver-5.7.1"
-          sources."source-map-0.6.1"
         ];
       })
       sources."test-exclude-6.0.0"
@@ -111691,7 +111540,6 @@ in
       (sources."webpack-sources-1.4.3" // {
         dependencies = [
           sources."source-list-map-2.0.1"
-          sources."source-map-0.6.1"
         ];
       })
       sources."whatwg-url-5.0.0"
@@ -111739,11 +111587,11 @@ in
       sources."@types/commander-2.12.2"
       sources."@types/diff-3.5.5"
       sources."@types/get-stdin-5.0.1"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."commander-2.20.3"
       sources."diff-3.5.0"
       sources."get-stdin-5.0.1"
-      sources."luaparse-git://github.com/oxyc/luaparse#ac42a00ebf4020b8c9d3219e4b0f84bf7ce6e802"
+      sources."luaparse-git+https://github.com/oxyc/luaparse#ac42a00ebf4020b8c9d3219e4b0f84bf7ce6e802"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -111861,7 +111709,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       (sources."mooremachine-2.3.0" // {
         dependencies = [
           sources."assert-plus-0.2.0"
@@ -112134,7 +111982,7 @@ in
       sources."accepts-1.3.8"
       sources."after-0.8.2"
       sources."arraybuffer.slice-0.0.7"
-      sources."async-1.0.0"
+      sources."async-3.2.3"
       sources."async-limiter-1.0.1"
       sources."backo2-1.0.2"
       sources."base64-arraybuffer-0.1.5"
@@ -112226,7 +112074,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
       sources."vim-node-rpc-0.1.24"
-      sources."winston-2.4.5"
+      sources."winston-2.4.6"
       sources."ws-3.3.3"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yeast-0.1.2"
@@ -112312,7 +112160,7 @@ in
       })
       sources."ecc-jsbn-0.1.2"
       sources."entities-1.1.2"
-      sources."es5-ext-0.10.60"
+      sources."es5-ext-0.10.61"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
       (sources."es6-set-0.1.5" // {
@@ -112390,7 +112238,7 @@ in
       sources."inherits-2.0.4"
       sources."inquirer-0.12.0"
       sources."interpret-1.4.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-my-ip-valid-1.0.1"
       sources."is-my-json-valid-2.20.6"
@@ -112599,17 +112447,20 @@ in
   "@mermaid-js/mermaid-cli" = nodeEnv.buildNodePackage {
     name = "_at_mermaid-js_slash_mermaid-cli";
     packageName = "@mermaid-js/mermaid-cli";
-    version = "8.14.0";
+    version = "9.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-8.14.0.tgz";
-      sha512 = "NHuFVPINakXJlAX0DHl3Bvcrz664ZblHfvB7M2X9fwTZNMZzoFTO2k0Q79Rh9QTmZTmmMjj0JmKMg7LiP+pFCA==";
+      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-9.0.3.tgz";
+      sha512 = "Frh3pInE16H3GA9J1/uYIHIAaqB6nJBbwU5XHCbVoyPs+LOU91sVM6fTI5SZYqyn8intu1cL1hfu6z74G7Lorw==";
     };
     dependencies = [
-      sources."@braintree/sanitize-url-3.1.0"
-      sources."@types/node-17.0.24"
+      sources."@braintree/sanitize-url-6.0.0"
+      sources."@types/node-17.0.31"
       sources."@types/yauzl-2.10.0"
       sources."agent-base-6.0.2"
+      sources."ansi-escapes-4.3.2"
+      sources."ansi-regex-2.1.1"
       sources."ansi-styles-4.3.0"
+      sources."app-path-3.3.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."bl-4.1.0"
@@ -112623,6 +112474,17 @@ in
       sources."commander-9.2.0"
       sources."concat-map-0.0.1"
       sources."cross-fetch-3.1.5"
+      sources."cross-spawn-6.0.5"
+      (sources."cypress-image-snapshot-4.0.1" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
       sources."d3-7.4.4"
       sources."d3-array-3.1.6"
       sources."d3-axis-3.0.0"
@@ -112699,64 +112561,120 @@ in
       })
       sources."debug-4.3.4"
       sources."delaunator-5.0.0"
-      sources."devtools-protocol-0.0.969999"
-      sources."dompurify-2.3.5"
+      sources."devtools-protocol-0.0.981744"
+      sources."dompurify-2.3.6"
       sources."end-of-stream-1.4.4"
-      sources."extract-zip-2.0.1"
+      sources."escape-string-regexp-1.0.5"
+      sources."execa-1.0.0"
+      (sources."extract-zip-2.0.1" // {
+        dependencies = [
+          sources."get-stream-5.2.0"
+        ];
+      })
       sources."fd-slicer-1.1.0"
-      sources."find-up-4.1.0"
+      sources."find-up-3.0.0"
       sources."fs-constants-1.0.0"
+      sources."fs-extra-7.0.1"
       sources."fs.realpath-1.0.0"
-      sources."get-stream-5.2.0"
+      sources."get-stdin-5.0.1"
+      sources."get-stream-4.1.0"
       sources."glob-7.2.0"
+      sources."glur-1.1.2"
+      sources."graceful-fs-4.2.10"
       sources."graphlib-2.1.8"
+      sources."has-ansi-2.0.0"
       sources."has-flag-4.0.0"
-      sources."https-proxy-agent-5.0.0"
+      sources."https-proxy-agent-5.0.1"
       sources."iconv-lite-0.6.3"
       sources."ieee754-1.2.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."internmap-2.0.3"
+      sources."is-stream-1.1.0"
+      sources."isexe-2.0.0"
+      sources."iterm2-version-4.2.0"
+      (sources."jest-image-snapshot-4.2.0" // {
+        dependencies = [
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."supports-color-2.0.0"
+        ];
+      })
+      sources."jsonfile-4.0.0"
       sources."khroma-1.4.1"
-      sources."locate-path-5.0.0"
+      sources."locate-path-3.0.0"
       sources."lodash-4.17.21"
-      sources."mermaid-8.14.0"
+      sources."mermaid-9.0.1"
       sources."minimatch-3.1.2"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."mkdirp-classic-0.5.3"
       sources."moment-mini-2.24.0"
       sources."ms-2.1.2"
+      sources."nice-try-1.0.5"
       sources."node-fetch-2.6.7"
+      sources."npm-run-path-2.0.2"
       sources."once-1.4.0"
+      sources."p-finally-1.0.0"
       sources."p-limit-2.3.0"
-      sources."p-locate-4.1.0"
+      sources."p-locate-3.0.0"
       sources."p-try-2.2.0"
-      sources."path-exists-4.0.0"
+      sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
+      sources."path-key-2.0.1"
       sources."pend-1.2.0"
-      sources."pkg-dir-4.2.0"
+      (sources."pixelmatch-5.3.0" // {
+        dependencies = [
+          sources."pngjs-6.0.0"
+        ];
+      })
+      sources."pkg-dir-3.0.0"
+      sources."plist-3.0.5"
+      sources."pngjs-3.4.0"
       sources."progress-2.0.3"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      sources."puppeteer-13.5.2"
+      (sources."puppeteer-13.7.0" // {
+        dependencies = [
+          sources."find-up-4.1.0"
+          sources."locate-path-5.0.0"
+          sources."p-locate-4.1.0"
+          sources."path-exists-4.0.0"
+          sources."pkg-dir-4.2.0"
+          sources."rimraf-3.0.2"
+        ];
+      })
       sources."readable-stream-3.6.0"
-      sources."rimraf-3.0.2"
+      sources."rimraf-2.7.1"
       sources."robust-predicates-3.0.1"
       sources."rw-1.3.3"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
+      sources."semver-5.7.1"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."signal-exit-3.0.7"
+      sources."ssim.js-3.5.0"
       sources."string_decoder-1.3.0"
-      sources."stylis-4.1.0"
+      sources."strip-ansi-3.0.1"
+      sources."strip-eof-1.0.0"
+      sources."stylis-4.1.1"
       sources."supports-color-7.2.0"
       sources."tar-fs-2.1.1"
       sources."tar-stream-2.2.0"
+      sources."term-img-4.1.0"
       sources."through-2.3.8"
       sources."tr46-0.0.3"
+      sources."type-fest-0.21.3"
       sources."unbzip2-stream-1.4.3"
+      sources."universalify-0.1.2"
       sources."util-deprecate-1.0.2"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
+      sources."which-1.3.1"
       sources."wrappy-1.0.2"
       sources."ws-8.5.0"
+      sources."xmlbuilder-9.0.7"
       sources."yauzl-2.10.0"
     ];
     buildInputs = globalBuildInputs;
@@ -112772,10 +112690,10 @@ in
   mocha = nodeEnv.buildNodePackage {
     name = "mocha";
     packageName = "mocha";
-    version = "9.2.2";
+    version = "10.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz";
-      sha512 = "L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==";
+      url = "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz";
+      sha512 = "0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==";
     };
     dependencies = [
       sources."@ungap/promise-all-settled-1.1.2"
@@ -112800,7 +112718,7 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."concat-map-0.0.1"
-      (sources."debug-4.3.3" // {
+      (sources."debug-4.3.4" // {
         dependencies = [
           sources."ms-2.1.2"
         ];
@@ -112822,7 +112740,6 @@ in
         ];
       })
       sources."glob-parent-5.1.2"
-      sources."growl-1.10.5"
       sources."has-flag-4.0.0"
       sources."he-1.2.0"
       sources."inflight-1.0.6"
@@ -112834,13 +112751,16 @@ in
       sources."is-number-7.0.0"
       sources."is-plain-obj-2.1.0"
       sources."is-unicode-supported-0.1.0"
-      sources."isexe-2.0.0"
       sources."js-yaml-4.1.0"
       sources."locate-path-6.0.0"
       sources."log-symbols-4.1.0"
-      sources."minimatch-4.2.1"
+      (sources."minimatch-5.0.1" // {
+        dependencies = [
+          sources."brace-expansion-2.0.1"
+        ];
+      })
       sources."ms-2.1.3"
-      sources."nanoid-3.3.1"
+      sources."nanoid-3.3.3"
       sources."normalize-path-3.0.0"
       sources."once-1.4.0"
       sources."p-limit-3.1.0"
@@ -112858,8 +112778,7 @@ in
       sources."strip-json-comments-3.1.1"
       sources."supports-color-8.1.1"
       sources."to-regex-range-5.0.1"
-      sources."which-2.0.2"
-      sources."workerpool-6.2.0"
+      sources."workerpool-6.2.1"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."y18n-5.0.8"
@@ -113085,7 +113004,7 @@ in
       sources."@types/istanbul-lib-coverage-2.0.4"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-3.0.1"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/stack-utils-2.0.1"
       sources."@types/yargs-16.0.4"
       sources."@types/yargs-parser-21.0.0"
@@ -113406,10 +113325,10 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."colorspace-1.1.4"
       sources."enabled-2.0.0"
-      sources."fecha-4.2.2"
+      sources."fecha-4.2.3"
       sources."fn.name-1.1.0"
       sources."inherits-2.0.4"
       sources."is-arrayish-0.3.2"
@@ -113487,7 +113406,13 @@ in
       sources."are-we-there-yet-3.0.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."cacache-16.0.4"
+      (sources."cacache-16.0.7" // {
+        dependencies = [
+          sources."brace-expansion-2.0.1"
+          sources."glob-8.0.1"
+          sources."minimatch-5.0.1"
+        ];
+      })
       sources."chownr-2.0.0"
       sources."clean-stack-2.2.0"
       sources."color-support-1.1.3"
@@ -113520,7 +113445,7 @@ in
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-lambda-1.0.1"
       sources."isexe-2.0.0"
-      sources."lru-cache-7.8.1"
+      sources."lru-cache-7.9.0"
       sources."make-fetch-happen-10.1.2"
       sources."minimatch-3.1.2"
       sources."minipass-3.1.6"
@@ -113534,7 +113459,7 @@ in
       sources."ms-2.1.2"
       sources."negotiator-0.6.3"
       sources."nopt-5.0.0"
-      sources."npmlog-6.0.1"
+      sources."npmlog-6.0.2"
       sources."once-1.4.0"
       sources."p-map-4.0.0"
       sources."path-is-absolute-1.0.1"
@@ -113554,7 +113479,7 @@ in
       sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
       sources."socks-2.6.2"
-      sources."socks-proxy-agent-6.1.1"
+      sources."socks-proxy-agent-6.2.0"
       sources."ssri-9.0.0"
       sources."string-width-4.2.3"
       sources."string_decoder-1.3.0"
@@ -113626,12 +113551,13 @@ in
       sources."biased-opener-0.2.8"
       sources."big-integer-1.6.51"
       sources."block-stream-0.0.9"
-      sources."body-parser-1.19.2"
+      sources."body-parser-1.20.0"
       sources."boom-2.10.1"
       sources."bplist-parser-0.1.1"
       sources."brace-expansion-1.1.11"
       sources."browser-launcher2-0.4.6"
       sources."bytes-3.1.2"
+      sources."call-bind-1.0.2"
       sources."camelcase-2.1.1"
       sources."camelcase-keys-2.1.0"
       sources."caseless-0.12.0"
@@ -113643,7 +113569,7 @@ in
       sources."console-control-strings-1.1.0"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."cryptiles-2.0.5"
@@ -113659,8 +113585,8 @@ in
       sources."default-browser-id-1.0.4"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
+      sources."depd-2.0.0"
+      sources."destroy-1.2.0"
       sources."detect-libc-1.0.3"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
@@ -113668,10 +113594,10 @@ in
       sources."error-ex-1.3.2"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      sources."express-4.17.3"
+      sources."express-4.18.1"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
-      sources."finalhandler-1.1.2"
+      sources."finalhandler-1.2.0"
       sources."find-up-1.1.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.1.4"
@@ -113682,6 +113608,7 @@ in
       sources."fstream-ignore-1.0.5"
       sources."function-bind-1.1.1"
       sources."gauge-2.7.4"
+      sources."get-intrinsic-1.1.1"
       sources."get-stdin-4.0.1"
       (sources."getpass-0.1.7" // {
         dependencies = [
@@ -113693,12 +113620,13 @@ in
       sources."har-schema-1.0.5"
       sources."har-validator-4.2.1"
       sources."has-1.0.3"
+      sources."has-symbols-1.0.3"
       sources."has-unicode-2.0.1"
       sources."hawk-3.1.3"
       sources."headless-0.1.7"
       sources."hoek-2.16.3"
       sources."hosted-git-info-2.8.9"
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       sources."http-signature-1.1.1"
       sources."iconv-lite-0.4.24"
       sources."indent-string-2.1.0"
@@ -113708,7 +113636,7 @@ in
       sources."invert-kv-1.0.0"
       sources."ipaddr.js-1.9.1"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-finite-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-typedarray-1.0.0"
@@ -113757,7 +113685,8 @@ in
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.8.2"
       sources."object-assign-4.1.1"
-      sources."on-finished-2.3.0"
+      sources."object-inspect-1.12.0"
+      sources."on-finished-2.4.1"
       sources."once-1.4.0"
       sources."options-0.0.6"
       sources."os-homedir-1.0.2"
@@ -113779,9 +113708,9 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.7"
       sources."punycode-1.4.1"
-      sources."qs-6.9.7"
+      sources."qs-6.10.3"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.3"
+      sources."raw-body-2.5.1"
       sources."rc-1.2.8"
       sources."read-pkg-1.1.0"
       sources."read-pkg-up-1.0.1"
@@ -113802,7 +113731,7 @@ in
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-4.3.6"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           sources."ms-2.1.3"
         ];
@@ -113813,9 +113742,10 @@ in
           sources."safe-buffer-5.1.1"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
+      sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
       sources."sntp-1.0.9"
       sources."spdx-correct-3.1.1"
@@ -113827,7 +113757,7 @@ in
           sources."assert-plus-1.0.0"
         ];
       })
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."string-width-1.0.2"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
@@ -114028,7 +113958,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.8"
@@ -114056,7 +113986,7 @@ in
       sources."async-0.1.22"
       sources."async-mutex-0.3.2"
       sources."asynckit-0.4.0"
-      sources."axios-0.26.0"
+      sources."axios-0.27.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       (sources."basic-auth-2.0.1" // {
@@ -114245,7 +114175,7 @@ in
         ];
       })
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."moment-timezone-0.5.34"
       (sources."mqtt-4.3.5" // {
         dependencies = [
@@ -114271,7 +114201,7 @@ in
       sources."negotiator-0.6.3"
       sources."node-addon-api-3.2.1"
       sources."node-fetch-2.6.7"
-      sources."node-red-admin-2.2.3"
+      sources."node-red-admin-2.2.4"
       sources."nopt-5.0.0"
       sources."normalize-url-6.1.0"
       sources."npmlog-5.0.1"
@@ -114360,7 +114290,7 @@ in
       sources."toidentifier-1.0.1"
       sources."tough-cookie-4.0.0"
       sources."tr46-0.0.3"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
       sources."uglify-js-3.15.1"
@@ -114396,10 +114326,10 @@ in
   node2nix = nodeEnv.buildNodePackage {
     name = "node2nix";
     packageName = "node2nix";
-    version = "1.10.0";
+    version = "1.11.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node2nix/-/node2nix-1.10.0.tgz";
-      sha512 = "3hUEkGeUl9X2FQCeZ9K2/WiSdBjXVKMnGz7qQVGuWnyxwA8xqWi+dQueTd+YmOA7LmZAseQgok1CUcoTR7d2FQ==";
+      url = "https://registry.npmjs.org/node2nix/-/node2nix-1.11.0.tgz";
+      sha512 = "GG3s/A3EO0KetjI97VHgnqujsltMnrDy1cNZOV3gtIrHpajD7/0kAGsSjh/Dofm5i4kfwzHxCjqIDYxRFGOckQ==";
     };
     dependencies = [
       sources."abbrev-1.1.1"
@@ -114457,7 +114387,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-typedarray-1.0.0"
       sources."isarray-1.0.0"
@@ -114592,10 +114522,10 @@ in
   nodemon = nodeEnv.buildNodePackage {
     name = "nodemon";
     packageName = "nodemon";
-    version = "2.0.15";
+    version = "2.0.16";
     src = fetchurl {
-      url = "https://registry.npmjs.org/nodemon/-/nodemon-2.0.15.tgz";
-      sha512 = "gdHMNx47Gw7b3kWxJV64NI+Q5nfl0y5DgDbiVtShiwa7Z0IZ07Ll4RLFo6AjrhzMtoEZn5PDE3/c2AbVsiCkpA==";
+      url = "https://registry.npmjs.org/nodemon/-/nodemon-2.0.16.tgz";
+      sha512 = "zsrcaOfTWRuUzBn3P44RDliLlp263Z/76FPoHFr3cFFkOz0lTPAcIw8dCzfdVIx/t3AtDYCZRCDkoCojJqaG3w==";
     };
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
@@ -114738,7 +114668,7 @@ in
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "Simple monitor script for use during development of a node.js app.";
+      description = "Simple monitor script for use during development of a Node.js app.";
       homepage = "https://nodemon.io";
       license = "MIT";
     };
@@ -114783,7 +114713,7 @@ in
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@types/responselike-1.0.0"
@@ -114956,7 +114886,7 @@ in
       })
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -115278,10 +115208,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "8.7.0";
+    version = "8.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-8.7.0.tgz";
-      sha512 = "fOSunmSa1K3dBv4YFoX54wew3PC6aYYDMGWBAonWRO4Yc7smYtk3nLrCda6+dtkTJwA8D4Tv/0wmnpYNgf5VFw==";
+      url = "https://registry.npmjs.org/npm/-/npm-8.8.0.tgz";
+      sha512 = "MDHVaj0zrinLkshylII8pT46VCkAUqQfYRS+pyuuZZtBZRRphH/IG5HC1YbIc77AX5FmLUWGvu23Kah5fscIbw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -115296,10 +115226,10 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "12.5.9";
+    version = "12.5.11";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-12.5.9.tgz";
-      sha512 = "l9iOvD7EsQb96gFJL45V01YG6bP8+dmobYnSguvehPuNwgdWNMrE8RC8bSfURX5iUmX4bkobN4T8XMHXN9GMHA==";
+      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-12.5.11.tgz";
+      sha512 = "uS3yYYK/F1VvZlJRymuCkq+MY2R7v/WlORo5WPUTYx+1OwkqeDMC/CEEGfCN7ATwT2M+JxVVKk9Gq/TGiZjJOw==";
     };
     dependencies = [
       sources."@gar/promisify-1.1.3"
@@ -115332,8 +115262,12 @@ in
       sources."brace-expansion-2.0.1"
       sources."braces-3.0.2"
       sources."buffer-from-1.1.2"
-      sources."builtins-5.0.0"
-      sources."cacache-16.0.4"
+      sources."builtins-5.0.1"
+      (sources."cacache-16.0.7" // {
+        dependencies = [
+          sources."glob-8.0.1"
+        ];
+      })
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.2.0"
@@ -115422,7 +115356,7 @@ in
       sources."ini-1.3.8"
       sources."ip-1.1.5"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
@@ -115458,7 +115392,7 @@ in
       sources."locate-path-6.0.0"
       sources."lodash-4.17.21"
       sources."lowercase-keys-1.0.1"
-      sources."lru-cache-7.8.1"
+      sources."lru-cache-7.9.0"
       (sources."make-dir-3.1.0" // {
         dependencies = [
           sources."semver-6.3.0"
@@ -115489,10 +115423,14 @@ in
       sources."npm-install-checks-5.0.0"
       sources."npm-normalize-package-bin-1.0.1"
       sources."npm-package-arg-9.0.2"
-      sources."npm-packlist-5.0.0"
+      (sources."npm-packlist-5.0.2" // {
+        dependencies = [
+          sources."glob-8.0.1"
+        ];
+      })
       sources."npm-pick-manifest-7.0.1"
       sources."npm-registry-fetch-13.1.1"
-      sources."npmlog-6.0.1"
+      sources."npmlog-6.0.2"
       sources."once-1.4.0"
       sources."p-cancelable-1.1.0"
       sources."p-limit-3.1.0"
@@ -115521,7 +115459,11 @@ in
       sources."queue-microtask-1.2.3"
       sources."rc-1.2.8"
       sources."rc-config-loader-4.1.0"
-      sources."read-package-json-5.0.0"
+      (sources."read-package-json-5.0.1" // {
+        dependencies = [
+          sources."glob-8.0.1"
+        ];
+      })
       sources."read-package-json-fast-2.0.3"
       sources."readable-stream-3.6.0"
       sources."registry-auth-token-4.2.1"
@@ -115552,7 +115494,7 @@ in
       sources."slash-3.0.0"
       sources."smart-buffer-4.2.0"
       sources."socks-2.6.2"
-      sources."socks-proxy-agent-6.1.1"
+      sources."socks-proxy-agent-6.2.0"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.21"
       sources."spawn-please-1.0.0"
@@ -115618,168 +115560,6 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "npm2nix-git://github.com/NixOS/npm2nix.git#5.12.0" = nodeEnv.buildNodePackage {
-    name = "npm2nix";
-    packageName = "npm2nix";
-    version = "5.12.0";
-    src = fetchgit {
-      url = "git://github.com/NixOS/npm2nix.git";
-      rev = "0c06be7d278a7f64fc853a5fd42d2031d14496d5";
-      sha256 = "e1b252cd883fd8c5c4618b157d03b3fb869fa6aad4170ef51e34681069d50bf5";
-    };
-    dependencies = [
-      sources."abbrev-1.1.1"
-      sources."ajv-6.12.6"
-      sources."ansi-regex-5.0.1"
-      sources."aproba-2.0.0"
-      sources."are-we-there-yet-3.0.0"
-      sources."argparse-0.1.15"
-      sources."asn1-0.2.6"
-      sources."assert-plus-1.0.0"
-      sources."asynckit-0.4.0"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.11.0"
-      sources."balanced-match-1.0.2"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."block-stream-0.0.9"
-      sources."brace-expansion-1.1.11"
-      sources."caseless-0.12.0"
-      sources."chownr-0.0.2"
-      sources."coffee-script-1.12.7"
-      sources."color-support-1.1.3"
-      sources."combined-stream-1.0.8"
-      sources."concat-map-0.0.1"
-      (sources."config-chain-1.1.13" // {
-        dependencies = [
-          sources."ini-1.3.8"
-        ];
-      })
-      sources."console-control-strings-1.1.0"
-      sources."core-util-is-1.0.2"
-      sources."couch-login-0.1.20"
-      sources."dashdash-1.14.1"
-      sources."delayed-stream-1.0.0"
-      sources."delegates-1.0.0"
-      sources."ecc-jsbn-0.1.2"
-      sources."emoji-regex-8.0.0"
-      sources."extend-3.0.2"
-      sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.3"
-      sources."fast-json-stable-stringify-2.1.0"
-      sources."findit-1.2.0"
-      sources."foreachasync-3.0.0"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
-      (sources."fs-extra-0.6.4" // {
-        dependencies = [
-          sources."rimraf-2.2.8"
-        ];
-      })
-      sources."fs.extra-1.3.2"
-      sources."fs.realpath-1.0.0"
-      (sources."fstream-0.1.31" // {
-        dependencies = [
-          sources."graceful-fs-3.0.12"
-          sources."mkdirp-0.5.6"
-        ];
-      })
-      sources."gauge-4.0.4"
-      sources."getpass-0.1.7"
-      sources."glob-7.2.0"
-      sources."graceful-fs-2.0.3"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
-      sources."has-unicode-2.0.1"
-      sources."http-signature-1.2.0"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."ini-1.1.0"
-      sources."is-fullwidth-code-point-3.0.0"
-      sources."is-typedarray-1.0.0"
-      sources."isstream-0.1.2"
-      sources."jsbn-0.1.1"
-      sources."json-schema-0.4.0"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stringify-safe-5.0.1"
-      sources."jsonfile-1.0.1"
-      sources."jsprim-1.4.2"
-      sources."mime-db-1.52.0"
-      sources."mime-types-2.1.35"
-      sources."minimatch-3.1.2"
-      sources."minimist-1.2.6"
-      sources."mkdirp-0.3.5"
-      sources."natives-1.1.6"
-      sources."ncp-0.4.2"
-      sources."nopt-2.2.1"
-      (sources."npm-registry-client-0.2.27" // {
-        dependencies = [
-          sources."semver-2.0.11"
-        ];
-      })
-      (sources."npmconf-0.1.1" // {
-        dependencies = [
-          sources."inherits-1.0.2"
-          sources."once-1.1.1"
-          sources."semver-2.3.2"
-        ];
-      })
-      sources."npmlog-6.0.1"
-      sources."oauth-sign-0.9.0"
-      sources."once-1.4.0"
-      sources."osenv-0.0.3"
-      sources."path-is-absolute-1.0.1"
-      sources."performance-now-2.1.0"
-      sources."proto-list-1.2.4"
-      sources."psl-1.8.0"
-      sources."punycode-2.1.1"
-      sources."qs-6.5.3"
-      sources."readable-stream-3.6.0"
-      sources."request-2.88.2"
-      sources."retry-0.6.0"
-      sources."rimraf-2.7.1"
-      sources."safe-buffer-5.2.1"
-      sources."safer-buffer-2.1.2"
-      sources."semver-4.3.6"
-      sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.7"
-      sources."slide-1.1.6"
-      sources."sshpk-1.17.0"
-      sources."string-width-4.2.3"
-      sources."string_decoder-1.3.0"
-      sources."strip-ansi-6.0.1"
-      (sources."tar-0.1.17" // {
-        dependencies = [
-          sources."inherits-1.0.2"
-        ];
-      })
-      (sources."temp-0.6.0" // {
-        dependencies = [
-          sources."graceful-fs-1.2.3"
-          sources."rimraf-2.1.4"
-        ];
-      })
-      sources."tough-cookie-2.5.0"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
-      sources."underscore-1.4.4"
-      sources."underscore.string-2.3.3"
-      sources."uri-js-4.4.1"
-      sources."util-deprecate-1.0.2"
-      sources."uuid-3.4.0"
-      sources."verror-1.10.0"
-      sources."walk-2.3.15"
-      sources."wide-align-1.1.5"
-      sources."wrappy-1.0.2"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "Generate nix expressions to build npm packages";
-      homepage = "https://github.com/NixOS/npm2nix";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
   nrm = nodeEnv.buildNodePackage {
     name = "nrm";
     packageName = "nrm";
@@ -115908,23 +115688,19 @@ in
       sha512 = "hpku8mW67U6PXQIenW6NBbphBOMb8XzW6B9r093DUhYj5GN2FUB/CXCiz5hKoPYUsusZ35BpProH8AUF9bh5IQ==";
     };
     dependencies = [
-      sources."@ampproject/remapping-2.1.2"
+      sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.7"
-      (sources."@babel/core-7.17.9" // {
+      sources."@babel/compat-data-7.17.10"
+      (sources."@babel/core-7.17.10" // {
         dependencies = [
           sources."json5-2.2.1"
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.17.9" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
+      sources."@babel/generator-7.17.10"
       sources."@babel/helper-annotate-as-pure-7.16.7"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.17.7" // {
+      (sources."@babel/helper-compilation-targets-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -115955,7 +115731,7 @@ in
       sources."@babel/helper-wrap-function-7.16.8"
       sources."@babel/helpers-7.17.9"
       sources."@babel/highlight-7.17.9"
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
@@ -116008,7 +115784,7 @@ in
       sources."@babel/plugin-transform-modules-commonjs-7.17.9"
       sources."@babel/plugin-transform-modules-systemjs-7.17.8"
       sources."@babel/plugin-transform-modules-umd-7.16.7"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.17.10"
       sources."@babel/plugin-transform-new-target-7.16.7"
       sources."@babel/plugin-transform-object-super-7.16.7"
       sources."@babel/plugin-transform-parameters-7.16.7"
@@ -116023,7 +115799,7 @@ in
       sources."@babel/plugin-transform-typeof-symbol-7.16.7"
       sources."@babel/plugin-transform-unicode-escapes-7.16.7"
       sources."@babel/plugin-transform-unicode-regex-7.16.7"
-      (sources."@babel/preset-env-7.16.11" // {
+      (sources."@babel/preset-env-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -116031,12 +115807,14 @@ in
       sources."@babel/preset-modules-0.1.5"
       sources."@babel/runtime-7.17.9"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.9"
-      sources."@babel/types-7.17.0"
+      sources."@babel/traverse-7.17.10"
+      sources."@babel/types-7.17.10"
       sources."@iarna/toml-2.2.5"
-      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/resolve-uri-3.0.6"
+      sources."@jridgewell/set-array-1.1.0"
       sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@jridgewell/trace-mapping-0.3.9"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@parcel/fs-1.11.0"
@@ -116045,7 +115823,7 @@ in
       sources."@parcel/watcher-1.12.1"
       sources."@parcel/workers-1.11.0"
       sources."@types/q-1.5.5"
-      sources."abab-2.0.5"
+      sources."abab-2.0.6"
       sources."acorn-7.4.1"
       (sources."acorn-globals-4.3.4" // {
         dependencies = [
@@ -116140,7 +115918,7 @@ in
           sources."pako-1.0.11"
         ];
       })
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       (sources."buffer-4.9.2" // {
         dependencies = [
           sources."isarray-1.0.0"
@@ -116157,7 +115935,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -116171,7 +115949,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."combined-stream-1.0.8"
       sources."command-exists-1.2.9"
       sources."commander-2.20.3"
@@ -116183,7 +115961,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.22.0" // {
+      (sources."core-js-compat-3.22.3" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -116294,7 +116072,7 @@ in
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -116376,7 +116154,7 @@ in
           sources."ansi-regex-2.1.1"
         ];
       })
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-flag-3.0.0"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
@@ -116402,11 +116180,11 @@ in
       sources."html-tags-1.2.0"
       (sources."htmlnano-0.2.9" // {
         dependencies = [
-          sources."acorn-8.7.0"
+          sources."acorn-8.7.1"
           sources."posthtml-0.15.2"
           sources."posthtml-parser-0.7.2"
-          sources."source-map-0.7.3"
-          sources."terser-5.12.1"
+          sources."source-map-0.8.0-beta.0"
+          sources."terser-5.13.1"
         ];
       })
       (sources."htmlparser2-6.1.0" // {
@@ -116440,7 +116218,7 @@ in
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
       sources."is-color-stop-1.1.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.3"
@@ -116563,7 +116341,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       sources."normalize-path-3.0.0"
       sources."normalize-url-3.3.0"
       sources."nth-check-1.0.2"
@@ -116854,7 +116632,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
       sources."typedarray-0.0.6"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       (sources."uncss-0.17.3" // {
         dependencies = [
           sources."is-absolute-url-3.0.3"
@@ -116936,10 +116714,10 @@ in
   parcel = nodeEnv.buildNodePackage {
     name = "parcel";
     packageName = "parcel";
-    version = "2.4.1";
+    version = "2.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/parcel/-/parcel-2.4.1.tgz";
-      sha512 = "H8n7cJ0rOt0AZZLuPuG6hvujUWiWz8kxx4pkqEDm31dijrbKb0pNgccXOllQ34em6r7elv6yH7lxox8jDCp0hw==";
+      url = "https://registry.npmjs.org/parcel/-/parcel-2.5.0.tgz";
+      sha512 = "er0mj/BaMjWyzQ/jedLUi/LNAuQcFT8lCvoNqANF+jTaX9rohaBwxIvKVJVAZgyCnmyfbbldp496wPMW0R0+CA==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -116949,90 +116727,93 @@ in
           sources."chalk-2.4.2"
         ];
       })
-      sources."@parcel/bundler-default-2.4.1"
-      sources."@parcel/cache-2.4.1"
-      sources."@parcel/codeframe-2.4.1"
-      sources."@parcel/compressor-raw-2.4.1"
-      sources."@parcel/config-default-2.4.1"
-      sources."@parcel/core-2.4.1"
-      sources."@parcel/css-1.8.1"
-      sources."@parcel/css-darwin-arm64-1.8.1"
-      sources."@parcel/css-darwin-x64-1.8.1"
-      sources."@parcel/css-linux-arm-gnueabihf-1.8.1"
-      sources."@parcel/css-linux-arm64-gnu-1.8.1"
-      sources."@parcel/css-linux-arm64-musl-1.8.1"
-      sources."@parcel/css-linux-x64-gnu-1.8.1"
-      sources."@parcel/css-linux-x64-musl-1.8.1"
-      sources."@parcel/css-win32-x64-msvc-1.8.1"
-      sources."@parcel/diagnostic-2.4.1"
-      sources."@parcel/events-2.4.1"
-      sources."@parcel/fs-2.4.1"
-      sources."@parcel/fs-search-2.4.1"
-      sources."@parcel/graph-2.4.1"
-      sources."@parcel/hash-2.4.1"
-      sources."@parcel/logger-2.4.1"
-      sources."@parcel/markdown-ansi-2.4.1"
-      sources."@parcel/namer-default-2.4.1"
-      sources."@parcel/node-resolver-core-2.4.1"
-      sources."@parcel/optimizer-css-2.4.1"
-      sources."@parcel/optimizer-htmlnano-2.4.1"
-      sources."@parcel/optimizer-image-2.4.1"
-      sources."@parcel/optimizer-svgo-2.4.1"
-      sources."@parcel/optimizer-terser-2.4.1"
-      sources."@parcel/package-manager-2.4.1"
-      sources."@parcel/packager-css-2.4.1"
-      sources."@parcel/packager-html-2.4.1"
-      sources."@parcel/packager-js-2.4.1"
-      sources."@parcel/packager-raw-2.4.1"
-      sources."@parcel/packager-svg-2.4.1"
-      sources."@parcel/plugin-2.4.1"
-      sources."@parcel/reporter-cli-2.4.1"
-      sources."@parcel/reporter-dev-server-2.4.1"
-      sources."@parcel/resolver-default-2.4.1"
-      sources."@parcel/runtime-browser-hmr-2.4.1"
-      sources."@parcel/runtime-js-2.4.1"
-      sources."@parcel/runtime-react-refresh-2.4.1"
-      sources."@parcel/runtime-service-worker-2.4.1"
+      sources."@lezer/common-0.15.12"
+      sources."@lezer/lr-0.15.8"
+      sources."@mischnic/json-sourcemap-0.1.0"
+      sources."@parcel/bundler-default-2.5.0"
+      sources."@parcel/cache-2.5.0"
+      sources."@parcel/codeframe-2.5.0"
+      sources."@parcel/compressor-raw-2.5.0"
+      sources."@parcel/config-default-2.5.0"
+      sources."@parcel/core-2.5.0"
+      sources."@parcel/css-1.8.2"
+      sources."@parcel/css-darwin-arm64-1.8.2"
+      sources."@parcel/css-darwin-x64-1.8.2"
+      sources."@parcel/css-linux-arm-gnueabihf-1.8.2"
+      sources."@parcel/css-linux-arm64-gnu-1.8.2"
+      sources."@parcel/css-linux-arm64-musl-1.8.2"
+      sources."@parcel/css-linux-x64-gnu-1.8.2"
+      sources."@parcel/css-linux-x64-musl-1.8.2"
+      sources."@parcel/css-win32-x64-msvc-1.8.2"
+      sources."@parcel/diagnostic-2.5.0"
+      sources."@parcel/events-2.5.0"
+      sources."@parcel/fs-2.5.0"
+      sources."@parcel/fs-search-2.5.0"
+      sources."@parcel/graph-2.5.0"
+      sources."@parcel/hash-2.5.0"
+      sources."@parcel/logger-2.5.0"
+      sources."@parcel/markdown-ansi-2.5.0"
+      sources."@parcel/namer-default-2.5.0"
+      sources."@parcel/node-resolver-core-2.5.0"
+      sources."@parcel/optimizer-css-2.5.0"
+      sources."@parcel/optimizer-htmlnano-2.5.0"
+      sources."@parcel/optimizer-image-2.5.0"
+      sources."@parcel/optimizer-svgo-2.5.0"
+      sources."@parcel/optimizer-terser-2.5.0"
+      sources."@parcel/package-manager-2.5.0"
+      sources."@parcel/packager-css-2.5.0"
+      sources."@parcel/packager-html-2.5.0"
+      sources."@parcel/packager-js-2.5.0"
+      sources."@parcel/packager-raw-2.5.0"
+      sources."@parcel/packager-svg-2.5.0"
+      sources."@parcel/plugin-2.5.0"
+      sources."@parcel/reporter-cli-2.5.0"
+      sources."@parcel/reporter-dev-server-2.5.0"
+      sources."@parcel/resolver-default-2.5.0"
+      sources."@parcel/runtime-browser-hmr-2.5.0"
+      sources."@parcel/runtime-js-2.5.0"
+      sources."@parcel/runtime-react-refresh-2.5.0"
+      sources."@parcel/runtime-service-worker-2.5.0"
       sources."@parcel/source-map-2.0.2"
-      sources."@parcel/transformer-babel-2.4.1"
-      sources."@parcel/transformer-css-2.4.1"
-      (sources."@parcel/transformer-html-2.4.1" // {
+      sources."@parcel/transformer-babel-2.5.0"
+      sources."@parcel/transformer-css-2.5.0"
+      (sources."@parcel/transformer-html-2.5.0" // {
         dependencies = [
           sources."posthtml-parser-0.10.2"
         ];
       })
-      sources."@parcel/transformer-image-2.4.1"
-      sources."@parcel/transformer-js-2.4.1"
-      sources."@parcel/transformer-json-2.4.1"
-      sources."@parcel/transformer-postcss-2.4.1"
-      (sources."@parcel/transformer-posthtml-2.4.1" // {
+      sources."@parcel/transformer-image-2.5.0"
+      sources."@parcel/transformer-js-2.5.0"
+      sources."@parcel/transformer-json-2.5.0"
+      sources."@parcel/transformer-postcss-2.5.0"
+      (sources."@parcel/transformer-posthtml-2.5.0" // {
         dependencies = [
           sources."posthtml-parser-0.10.2"
         ];
       })
-      sources."@parcel/transformer-raw-2.4.1"
-      sources."@parcel/transformer-react-refresh-wrap-2.4.1"
-      (sources."@parcel/transformer-svg-2.4.1" // {
+      sources."@parcel/transformer-raw-2.5.0"
+      sources."@parcel/transformer-react-refresh-wrap-2.5.0"
+      (sources."@parcel/transformer-svg-2.5.0" // {
         dependencies = [
           sources."posthtml-parser-0.10.2"
         ];
       })
-      sources."@parcel/types-2.4.1"
-      sources."@parcel/utils-2.4.1"
+      sources."@parcel/types-2.5.0"
+      sources."@parcel/utils-2.5.0"
       sources."@parcel/watcher-2.0.5"
-      sources."@parcel/workers-2.4.1"
-      sources."@swc/helpers-0.3.8"
+      sources."@parcel/workers-2.5.0"
+      sources."@swc/helpers-0.3.9"
       sources."@trysound/sax-0.2.0"
       sources."@types/parse-json-4.0.0"
       sources."abortcontroller-polyfill-1.7.3"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."ansi-styles-3.2.1"
       sources."base-x-3.0.9"
       sources."boolbase-1.0.0"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -117063,7 +116844,7 @@ in
       sources."domutils-2.8.0"
       sources."dotenv-7.0.0"
       sources."dotenv-expand-5.1.0"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       sources."entities-3.0.1"
       sources."error-ex-1.3.2"
       sources."escalade-3.1.1"
@@ -117078,12 +116859,12 @@ in
       sources."is-json-2.0.1"
       sources."js-tokens-4.0.0"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."json-source-map-0.6.1"
       sources."json5-2.2.1"
       sources."lines-and-columns-1.2.4"
       sources."lmdb-2.2.4"
+      sources."lodash.sortby-4.7.0"
       sources."mdn-data-2.0.14"
-      sources."msgpackr-1.5.5"
+      sources."msgpackr-1.5.6"
       sources."msgpackr-extract-1.1.4"
       sources."msgpackr-extract-darwin-arm64-1.1.0"
       sources."msgpackr-extract-darwin-x64-1.1.0"
@@ -117095,7 +116876,7 @@ in
       sources."node-addon-api-3.2.1"
       sources."node-gyp-build-4.4.0"
       sources."node-gyp-build-optional-packages-4.3.2"
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       sources."nth-check-2.0.1"
       sources."nullthrows-1.1.1"
       sources."ordered-binary-1.2.5"
@@ -117107,6 +116888,7 @@ in
       sources."posthtml-0.16.6"
       sources."posthtml-parser-0.11.0"
       sources."posthtml-render-3.0.0"
+      sources."punycode-2.1.1"
       sources."react-refresh-0.9.0"
       sources."regenerator-runtime-0.13.9"
       sources."resolve-from-4.0.0"
@@ -117118,17 +116900,20 @@ in
       sources."supports-color-5.5.0"
       sources."svgo-2.8.0"
       sources."term-size-2.2.1"
-      (sources."terser-5.12.1" // {
+      (sources."terser-5.13.1" // {
         dependencies = [
           sources."commander-2.20.3"
-          sources."source-map-0.7.3"
+          sources."source-map-0.8.0-beta.0"
         ];
       })
       sources."timsort-0.3.0"
+      sources."tr46-1.0.1"
       sources."type-fest-0.20.2"
       sources."utility-types-3.10.0"
       sources."v8-compile-cache-2.3.0"
       sources."weak-lru-cache-1.2.2"
+      sources."webidl-conversions-4.0.2"
+      sources."whatwg-url-7.1.0"
       sources."xxhash-wasm-0.4.2"
       sources."yaml-1.10.2"
     ];
@@ -117175,7 +116960,7 @@ in
       sources."bintrees-1.0.1"
       sources."bl-1.2.3"
       sources."bluebird-3.7.2"
-      (sources."body-parser-1.19.2" // {
+      (sources."body-parser-1.20.0" // {
         dependencies = [
           sources."bytes-3.1.2"
           sources."content-type-1.0.4"
@@ -117184,7 +116969,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."bunyan-1.8.15"
       sources."bunyan-syslog-udp-0.2.0"
-      sources."busboy-1.5.0"
+      sources."busboy-1.6.0"
       sources."bytes-3.0.0"
       sources."call-bind-1.0.2"
       sources."camelcase-5.3.1"
@@ -117205,7 +116990,7 @@ in
         ];
       })
       sources."content-type-git+https://github.com/wikimedia/content-type.git#master"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."core-js-2.6.12"
       sources."core-util-is-1.0.2"
@@ -117214,8 +116999,8 @@ in
       sources."decamelize-1.2.0"
       sources."define-properties-1.1.4"
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
+      sources."depd-2.0.0"
+      sources."destroy-1.2.0"
       sources."dnscache-1.0.2"
       sources."dom-storage-2.1.0"
       sources."domino-2.1.6"
@@ -117229,10 +117014,9 @@ in
       sources."escape-html-1.0.3"
       sources."esprima-4.0.1"
       sources."etag-1.8.1"
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
           sources."content-type-1.0.4"
-          sources."finalhandler-1.1.2"
           sources."safe-buffer-5.2.1"
         ];
       })
@@ -117242,12 +117026,7 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."file-uri-to-path-1.0.0"
-      (sources."finalhandler-1.2.0" // {
-        dependencies = [
-          sources."on-finished-2.4.1"
-          sources."statuses-2.0.1"
-        ];
-      })
+      sources."finalhandler-1.2.0"
       sources."find-up-3.0.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -117273,7 +117052,7 @@ in
       sources."hat-0.0.3"
       sources."heapdump-0.3.15"
       sources."hot-shots-6.8.7"
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.24"
       sources."inflight-1.0.6"
@@ -117309,7 +117088,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."ms-2.0.0"
       sources."msgpack5-3.6.1"
       sources."mv-2.1.1"
@@ -117318,9 +117097,10 @@ in
       sources."negotiator-git+https://github.com/arlolra/negotiator.git#full-parse-access"
       sources."neo-async-2.6.2"
       sources."oauth-sign-0.9.0"
+      sources."object-inspect-1.12.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
-      sources."on-finished-2.3.0"
+      sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."p-limit-2.3.0"
@@ -117340,9 +117120,9 @@ in
       sources."prr-1.0.1"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.9.7"
+      sources."qs-6.10.3"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.3" // {
+      (sources."raw-body-2.5.1" // {
         dependencies = [
           sources."bytes-3.1.2"
         ];
@@ -117364,7 +117144,7 @@ in
       sources."safe-json-stringify-1.2.0"
       sources."safer-buffer-2.1.2"
       sources."semver-6.3.0"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           sources."ms-2.1.3"
         ];
@@ -117375,7 +117155,7 @@ in
           sources."safe-buffer-5.1.1"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       (sources."service-runner-2.9.0" // {
         dependencies = [
           sources."semver-7.3.7"
@@ -117384,11 +117164,12 @@ in
       })
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
+      sources."side-channel-1.0.4"
       sources."simplediff-0.1.1"
       sources."source-map-0.6.1"
       sources."sprintf-js-1.0.3"
       sources."sshpk-1.17.0"
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."streamsearch-1.1.0"
       sources."string-width-3.1.0"
       sources."string_decoder-1.1.1"
@@ -117606,7 +117387,7 @@ in
       })
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."functions-have-names-1.2.2"
+      sources."functions-have-names-1.2.3"
       sources."get-browser-rtc-1.1.0"
       sources."get-intrinsic-1.1.1"
       sources."get-stdin-4.0.1"
@@ -117645,7 +117426,7 @@ in
       sources."ipaddr.js-2.0.1"
       sources."is-arguments-1.1.1"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-date-object-1.0.5"
       sources."is-finite-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
@@ -117918,7 +117699,7 @@ in
         ];
       })
       sources."content-type-1.0.4"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."crc-3.8.0"
@@ -117936,6 +117717,7 @@ in
       sources."end-of-stream-1.4.4"
       (sources."engine.io-3.5.0" // {
         dependencies = [
+          sources."cookie-0.4.2"
           sources."debug-4.1.1"
           sources."ms-2.1.3"
         ];
@@ -117949,17 +117731,9 @@ in
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
       sources."events-3.3.0"
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
-          sources."body-parser-1.19.2"
-          sources."depd-1.1.2"
-          sources."http-errors-1.8.1"
-          sources."on-finished-2.3.0"
-          sources."qs-6.9.7"
-          sources."raw-body-2.4.3"
           sources."safe-buffer-5.2.1"
-          sources."serve-static-1.14.2"
-          sources."statuses-1.5.0"
         ];
       })
       sources."extend-3.0.2"
@@ -117967,12 +117741,7 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fifo-0.1.4"
-      (sources."finalhandler-1.1.2" // {
-        dependencies = [
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
-        ];
-      })
+      sources."finalhandler-1.2.0"
       sources."flatten-0.0.1"
       sources."fluent-ffmpeg-2.1.2"
       sources."forever-agent-0.6.1"
@@ -118126,22 +117895,12 @@ in
       sources."rusha-0.8.14"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      (sources."send-0.17.2" // {
-        dependencies = [
-          sources."depd-1.1.2"
-          sources."destroy-1.0.4"
-          sources."http-errors-1.8.1"
-          sources."ms-2.1.3"
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
-        ];
-      })
-      (sources."serve-static-1.15.0" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           sources."ms-2.1.3"
-          sources."send-0.18.0"
         ];
       })
+      sources."serve-static-1.15.0"
       sources."setprototypeof-1.2.0"
       sources."side-channel-1.0.4"
       sources."simple-concat-1.0.1"
@@ -118324,7 +118083,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."into-stream-6.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
@@ -118464,7 +118223,7 @@ in
       })
       sources."@pm2/pm2-version-check-1.0.4"
       sources."@tootallnate/once-1.1.2"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
       sources."amp-0.3.1"
@@ -118547,7 +118306,7 @@ in
       sources."ini-1.3.8"
       sources."ip-1.1.5"
       sources."is-binary-path-2.1.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
@@ -118628,10 +118387,10 @@ in
       sources."string_decoder-0.10.31"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.11.9"
+      sources."systeminformation-5.11.14"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."tv4-1.3.0"
       sources."tx2-1.0.5"
       sources."type-check-0.3.2"
@@ -118664,10 +118423,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "6.32.7";
+    version = "7.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-6.32.7.tgz";
-      sha512 = "2LtKMtQ7ffQEIW0lQn6z1WBnz2SPB416DDlyEf3WzOlXCO0BXjLr6kX2vDOTFzKyHWbhjcd45qw3ty3G92fb2Q==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-7.0.0.tgz";
+      sha512 = "5njVSmE/Sz6coyikS6gjwoKWaxxsJ6BY6jL1aqwvnEpNUfFednbHqid3aZ42JszOFaSOz3Qipcfp4ei22G/JEg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -118710,13 +118469,13 @@ in
   postcss = nodeEnv.buildNodePackage {
     name = "postcss";
     packageName = "postcss";
-    version = "8.4.12";
+    version = "8.4.13";
     src = fetchurl {
-      url = "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz";
-      sha512 = "lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==";
+      url = "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz";
+      sha512 = "jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==";
     };
     dependencies = [
-      sources."nanoid-3.3.2"
+      sources."nanoid-3.3.3"
       sources."picocolors-1.0.0"
       sources."source-map-js-1.0.2"
     ];
@@ -118759,7 +118518,7 @@ in
       sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."fsevents-2.3.2"
       sources."get-caller-file-2.0.5"
       sources."get-stdin-9.0.0"
@@ -118815,10 +118574,10 @@ in
   prebuild-install = nodeEnv.buildNodePackage {
     name = "prebuild-install";
     packageName = "prebuild-install";
-    version = "7.0.1";
+    version = "7.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.0.1.tgz";
-      sha512 = "QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==";
+      url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.0.tgz";
+      sha512 = "CNcMgI1xBypOyGqjp3wOc8AAo1nMhZS3Cwd3iHIxOdAUbb+YxdNuM4Z5iIrZ8RLvOsf3F3bl7b7xGq6DjQoNYA==";
     };
     dependencies = [
       sources."ansi-regex-2.1.1"
@@ -118855,7 +118614,7 @@ in
       sources."minimist-1.2.6"
       sources."mkdirp-classic-0.5.3"
       sources."napi-build-utils-1.0.2"
-      sources."node-abi-3.8.0"
+      sources."node-abi-3.15.0"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
@@ -118928,7 +118687,7 @@ in
       sources."function-bind-1.1.1"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."minimist-1.2.6"
       sources."nanolru-1.0.0"
       sources."path-parse-1.0.7"
@@ -118974,13 +118733,14 @@ in
   prisma = nodeEnv.buildNodePackage {
     name = "prisma";
     packageName = "prisma";
-    version = "3.12.0";
+    version = "3.13.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prisma/-/prisma-3.12.0.tgz";
-      sha512 = "ltCMZAx1i0i9xuPM692Srj8McC665h6E5RqJom999sjtVSccHSD8Z+HSdBN2183h9PJKvC5dapkn78dd0NWMBg==";
+      url = "https://registry.npmjs.org/prisma/-/prisma-3.13.0.tgz";
+      sha512 = "oO1auBnBtieGdiN+57IgsA9Vr7Sy4HkILi1KSaUG4mpKfEbnkTGnLOxAqjLed+K2nsG/GtE1tJBtB7JxN1a78Q==";
     };
     dependencies = [
-      sources."@prisma/engines-3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980"
+      sources."@prisma/engines-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b"
+      sources."ts-pattern-4.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -118995,13 +118755,13 @@ in
   "@prisma/language-server" = nodeEnv.buildNodePackage {
     name = "_at_prisma_slash_language-server";
     packageName = "@prisma/language-server";
-    version = "3.12.0";
+    version = "3.13.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@prisma/language-server/-/language-server-3.12.0.tgz";
-      sha512 = "YP22QXvdwCHKmYObWJzmHgFJKJ/g4NDhgJ22vfcOYVRIqu4PanK8XyBtjiKqj4SJMkg1QjhxWkdH+KSA6wQszA==";
+      url = "https://registry.npmjs.org/@prisma/language-server/-/language-server-3.13.0.tgz";
+      sha512 = "0QzP+i+WgbpVsmdx6Xnq7P1b4Zjep6R6TKWjexD88/DeS5aUUdmuA2JXSEFhRyr67Q2BURPtSGfPCgeGCd9Nqg==";
     };
     dependencies = [
-      sources."@prisma/prisma-fmt-wasm-3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980"
+      sources."@prisma/prisma-fmt-wasm-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b"
       sources."@types/js-levenshtein-1.1.1"
       sources."js-levenshtein-1.1.6"
       sources."klona-2.0.5"
@@ -119065,10 +118825,10 @@ in
   pulp = nodeEnv.buildNodePackage {
     name = "pulp";
     packageName = "pulp";
-    version = "16.0.0-0";
+    version = "16.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pulp/-/pulp-16.0.0-0.tgz";
-      sha512 = "6nG6qg/p5IGa0k4w9EkBVBX3+7Ra1mjbOCYwbn85kjUC6x1jkyP+hAP7xAwBxTPgxSD8x5IZtoX9sbrNeKecnQ==";
+      url = "https://registry.npmjs.org/pulp/-/pulp-16.0.0.tgz";
+      sha512 = "JrAiw/j2zokiuhNTxQDtOMXaTHZ6hdlyPFD4QtBVt/+bSAwiSm5+4VokCQRmn4+Z7RngO9yEzSot81BE7gKYAQ==";
     };
     dependencies = [
       sources."JSONStream-1.3.5"
@@ -119195,7 +118955,7 @@ in
         ];
       })
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."json-stable-stringify-0.0.1"
@@ -119344,11 +119104,11 @@ in
       sources."isexe-2.0.0"
       sources."shell-quote-1.7.3"
       sources."uuid-3.4.0"
-      sources."vscode-jsonrpc-8.0.0-next.7"
-      sources."vscode-languageserver-8.0.0-next.10"
-      sources."vscode-languageserver-protocol-3.17.0-next.16"
+      sources."vscode-jsonrpc-8.0.0-next.8"
+      sources."vscode-languageserver-8.0.0-next.14"
+      sources."vscode-languageserver-protocol-3.17.0-next.20"
       sources."vscode-languageserver-textdocument-1.0.4"
-      sources."vscode-languageserver-types-3.17.0-next.9"
+      sources."vscode-languageserver-types-3.17.0-next.12"
       sources."vscode-uri-2.1.2"
       sources."which-2.0.2"
     ];
@@ -119432,7 +119192,7 @@ in
       sources."duplexer3-0.1.4"
       sources."end-of-stream-1.4.4"
       sources."follow-redirects-1.14.9"
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
       sources."get-stream-4.1.0"
@@ -119456,7 +119216,7 @@ in
       sources."lowercase-keys-1.0.1"
       sources."mimic-response-1.0.1"
       sources."minimist-1.2.6"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."ms-2.1.2"
       sources."node-abort-controller-3.0.1"
       sources."normalize-url-4.5.1"
@@ -119506,10 +119266,10 @@ in
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.237";
+    version = "1.1.243";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.237.tgz";
-      sha512 = "CU3YsC0+NFtj0TO7wDLTDqNEvnrBuz8foavK7/kgKLhBbF50m6xksrRb61SSDzFYn5+1oWEKNvmzDVCktp39Vg==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.243.tgz";
+      sha512 = "0PUyHTSr+LyE9Ej0A7tB8tM4pzAr34o1c3rHtfaBdZ2265HPvPE/Kj92ljX2F00Q6uAeZyyLEmzPOTuKh2WC8Q==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -119589,7 +119349,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."invert-kv-2.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-stream-1.1.0"
       sources."is-url-1.2.4"
@@ -119620,7 +119380,7 @@ in
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."nice-try-1.0.5"
       sources."node-fetch-2.6.7"
       sources."npm-run-path-2.0.2"
@@ -119780,13 +119540,13 @@ in
       sources."foreach-2.0.5"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."functions-have-names-1.2.2"
+      sources."functions-have-names-1.2.3"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
       sources."glob-7.2.0"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
@@ -119837,7 +119597,7 @@ in
       sources."string.prototype.trimstart-1.0.4"
       sources."strip-ansi-3.0.1"
       sources."supports-color-2.0.0"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."utile-0.2.1"
       sources."which-boxed-primitive-1.0.2"
       sources."which-collection-1.0.1"
@@ -119868,19 +119628,19 @@ in
       sha512 = "JQACM+3GgF1vkUH6E6w1k0Qut6IbcfXjU37shGUWM9tIs3F9e/33saXK4G/uSl1kc8qjI+RekAQs/qyjMlUKlg==";
     };
     dependencies = [
-      sources."@ampproject/remapping-2.1.2"
-      sources."@babel/cli-7.17.6"
+      sources."@ampproject/remapping-2.2.0"
+      sources."@babel/cli-7.17.10"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.7"
-      (sources."@babel/core-7.17.9" // {
+      sources."@babel/compat-data-7.17.10"
+      (sources."@babel/core-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.17.9"
+      sources."@babel/generator-7.17.10"
       sources."@babel/helper-annotate-as-pure-7.16.7"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-      (sources."@babel/helper-compilation-targets-7.17.7" // {
+      (sources."@babel/helper-compilation-targets-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -119911,7 +119671,7 @@ in
       sources."@babel/helper-wrap-function-7.16.8"
       sources."@babel/helpers-7.17.9"
       sources."@babel/highlight-7.17.9"
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
@@ -119964,7 +119724,7 @@ in
       sources."@babel/plugin-transform-modules-commonjs-7.17.9"
       sources."@babel/plugin-transform-modules-systemjs-7.17.8"
       sources."@babel/plugin-transform-modules-umd-7.16.7"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.17.10"
       sources."@babel/plugin-transform-new-target-7.16.7"
       sources."@babel/plugin-transform-object-super-7.16.7"
       sources."@babel/plugin-transform-parameters-7.16.7"
@@ -119975,7 +119735,7 @@ in
       sources."@babel/plugin-transform-react-pure-annotations-7.16.7"
       sources."@babel/plugin-transform-regenerator-7.17.9"
       sources."@babel/plugin-transform-reserved-words-7.16.7"
-      (sources."@babel/plugin-transform-runtime-7.17.0" // {
+      (sources."@babel/plugin-transform-runtime-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -119987,7 +119747,7 @@ in
       sources."@babel/plugin-transform-typeof-symbol-7.16.7"
       sources."@babel/plugin-transform-unicode-escapes-7.16.7"
       sources."@babel/plugin-transform-unicode-regex-7.16.7"
-      (sources."@babel/preset-env-7.16.11" // {
+      (sources."@babel/preset-env-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -119998,17 +119758,19 @@ in
       sources."@babel/register-7.17.7"
       sources."@babel/runtime-7.17.9"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.9"
-      sources."@babel/types-7.17.0"
-      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@babel/traverse-7.17.10"
+      sources."@babel/types-7.17.10"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/resolve-uri-3.0.6"
+      sources."@jridgewell/set-array-1.1.0"
       sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@jridgewell/trace-mapping-0.3.9"
       sources."@reach/router-1.3.4"
       sources."@sindresorhus/is-0.7.0"
       sources."@types/glob-7.2.0"
       sources."@types/json-schema-7.0.11"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
       sources."@webassemblyjs/ast-1.9.0"
@@ -120087,7 +119849,7 @@ in
       })
       sources."axios-0.21.4"
       sources."babel-core-7.0.0-bridge.0"
-      (sources."babel-loader-8.2.4" // {
+      (sources."babel-loader-8.2.5" // {
         dependencies = [
           sources."find-cache-dir-3.3.2"
           sources."find-up-4.1.0"
@@ -120134,7 +119896,7 @@ in
       sources."blob-0.0.5"
       sources."bluebird-3.7.2"
       sources."bn.js-5.2.0"
-      (sources."body-parser-1.19.2" // {
+      (sources."body-parser-1.20.0" // {
         dependencies = [
           sources."bytes-3.1.2"
           sources."debug-2.6.9"
@@ -120166,7 +119928,7 @@ in
         ];
       })
       sources."browserify-zlib-0.1.4"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -120200,7 +119962,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caw-2.0.1"
       sources."chalk-2.4.2"
@@ -120228,11 +119990,7 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      (sources."clean-css-4.2.4" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."clean-css-4.2.4"
       sources."cli-boxes-1.0.0"
       sources."cli-cursor-2.1.0"
       sources."cli-width-2.2.1"
@@ -120253,7 +120011,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."commander-4.1.1"
       sources."commondir-1.0.1"
       sources."component-bind-1.0.0"
@@ -120284,7 +120042,7 @@ in
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.22.0" // {
+      (sources."core-js-compat-3.22.3" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -120314,11 +120072,7 @@ in
       })
       sources."css-select-2.1.0"
       sources."css-select-base-adapter-0.1.1"
-      (sources."css-tree-1.0.0-alpha.37" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."css-tree-1.0.0-alpha.37"
       sources."css-what-3.4.2"
       sources."cssesc-3.0.0"
       (sources."cssnano-4.1.11" // {
@@ -120338,7 +120092,6 @@ in
         dependencies = [
           sources."css-tree-1.1.3"
           sources."mdn-data-2.0.14"
-          sources."source-map-0.6.1"
         ];
       })
       sources."cyclist-1.0.1"
@@ -120391,9 +120144,9 @@ in
       sources."define-properties-1.1.4"
       sources."define-property-2.0.2"
       sources."del-4.1.1"
-      sources."depd-1.1.2"
+      sources."depd-2.0.0"
       sources."des.js-1.0.1"
-      sources."destroy-1.0.4"
+      sources."destroy-1.2.0"
       sources."detect-node-2.1.0"
       (sources."diffie-hellman-5.0.3" // {
         dependencies = [
@@ -120430,7 +120183,7 @@ in
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -120501,8 +120254,9 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
+          sources."cookie-0.5.0"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
           sources."path-to-regexp-0.1.7"
@@ -120556,7 +120310,7 @@ in
       sources."filenamify-2.1.0"
       sources."filesize-3.6.1"
       sources."fill-range-7.0.1"
-      (sources."finalhandler-1.1.2" // {
+      (sources."finalhandler-1.2.0" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -120578,7 +120332,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
-      sources."functions-have-names-1.2.2"
+      sources."functions-have-names-1.2.3"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
@@ -120607,7 +120361,7 @@ in
       sources."gzip-size-5.1.1"
       sources."handle-thing-2.0.1"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       (sources."has-binary2-1.0.3" // {
         dependencies = [
           sources."isarray-2.0.1"
@@ -120669,7 +120423,7 @@ in
       })
       sources."http-cache-semantics-3.8.1"
       sources."http-deceiver-1.2.7"
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       sources."http-parser-js-0.5.6"
       sources."http-proxy-1.18.1"
       sources."http-proxy-middleware-0.19.1"
@@ -120729,7 +120483,7 @@ in
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
       sources."is-color-stop-1.1.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-date-object-1.0.5"
       sources."is-deflate-1.0.0"
@@ -120868,7 +120622,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       sources."normalize-path-3.0.0"
       sources."normalize-range-0.1.2"
       (sources."normalize-url-2.0.1" // {
@@ -120907,7 +120661,7 @@ in
       sources."object.pick-1.3.0"
       sources."object.values-1.1.5"
       sources."obuf-1.1.2"
-      sources."on-finished-2.3.0"
+      sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
@@ -120966,7 +120720,6 @@ in
       (sources."postcss-7.0.39" // {
         dependencies = [
           sources."picocolors-0.2.1"
-          sources."source-map-0.6.1"
         ];
       })
       sources."postcss-calc-7.0.5"
@@ -121119,7 +120872,7 @@ in
       sources."pumpify-1.5.1"
       sources."punycode-2.1.1"
       sources."q-1.5.1"
-      sources."qs-6.9.7"
+      sources."qs-6.10.3"
       sources."query-string-5.1.1"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
@@ -121128,7 +120881,7 @@ in
       sources."randombytes-2.1.0"
       sources."randomfill-1.0.4"
       sources."range-parser-1.2.0"
-      (sources."raw-body-2.4.3" // {
+      (sources."raw-body-2.5.1" // {
         dependencies = [
           sources."bytes-3.1.2"
         ];
@@ -121214,7 +120967,7 @@ in
       sources."select-hose-2.0.0"
       sources."selfsigned-1.10.14"
       sources."semver-5.7.1"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
@@ -121245,13 +120998,15 @@ in
       (sources."serve-index-1.9.1" // {
         dependencies = [
           sources."debug-2.6.9"
+          sources."depd-1.1.2"
           sources."http-errors-1.6.3"
           sources."inherits-2.0.3"
           sources."ms-2.0.0"
           sources."setprototypeof-1.1.0"
+          sources."statuses-1.5.0"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
@@ -121291,6 +121046,7 @@ in
           sources."is-descriptor-0.1.6"
           sources."kind-of-5.1.0"
           sources."ms-2.0.0"
+          sources."source-map-0.5.7"
         ];
       })
       (sources."snapdragon-node-2.1.1" // {
@@ -121333,13 +121089,9 @@ in
       sources."sort-keys-1.1.2"
       sources."sort-keys-length-1.0.1"
       sources."source-list-map-2.0.1"
-      sources."source-map-0.5.7"
+      sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.3"
-      (sources."source-map-support-0.5.21" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."source-map-support-0.5.21"
       sources."source-map-url-0.4.1"
       sources."spdy-4.0.2"
       (sources."spdy-transport-3.0.0" // {
@@ -121368,7 +121120,7 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."stream-browserify-2.0.2"
       sources."stream-each-1.2.3"
       sources."stream-http-2.8.3"
@@ -121421,13 +121173,11 @@ in
       (sources."terser-4.8.0" // {
         dependencies = [
           sources."commander-2.20.3"
-          sources."source-map-0.6.1"
         ];
       })
       (sources."terser-webpack-plugin-1.4.5" // {
         dependencies = [
           sources."schema-utils-1.0.0"
-          sources."source-map-0.6.1"
         ];
       })
       sources."through-2.3.8"
@@ -121461,10 +121211,9 @@ in
       (sources."uglify-js-3.4.10" // {
         dependencies = [
           sources."commander-2.19.0"
-          sources."source-map-0.6.1"
         ];
       })
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."unbzip2-stream-1.4.3"
       sources."unicode-canonical-property-names-ecmascript-2.0.0"
       sources."unicode-match-property-ecmascript-2.0.0"
@@ -121601,11 +121350,7 @@ in
         ];
       })
       sources."webpack-node-externals-1.7.2"
-      (sources."webpack-sources-1.4.3" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."webpack-sources-1.4.3"
       sources."websocket-driver-0.7.4"
       sources."websocket-extensions-0.1.4"
       sources."which-1.3.1"
@@ -121709,8 +121454,8 @@ in
     dependencies = [
       sources."@mozilla/readability-0.4.2"
       sources."@tootallnate/once-2.0.0"
-      sources."abab-2.0.5"
-      sources."acorn-8.7.0"
+      sources."abab-2.0.6"
+      sources."acorn-8.7.1"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -121732,7 +121477,11 @@ in
           sources."cssom-0.3.8"
         ];
       })
-      sources."data-urls-3.0.1"
+      (sources."data-urls-3.0.2" // {
+        dependencies = [
+          sources."whatwg-url-11.0.0"
+        ];
+      })
       sources."debug-4.3.4"
       sources."decimal.js-10.3.1"
       sources."deep-is-0.1.4"
@@ -121784,7 +121533,7 @@ in
       sources."whatwg-url-10.0.0"
       sources."word-wrap-1.2.3"
       sources."wrap-ansi-7.0.0"
-      sources."ws-8.5.0"
+      sources."ws-8.6.0"
       sources."xml-name-validator-4.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
@@ -121804,18 +121553,14 @@ in
   redoc-cli = nodeEnv.buildNodePackage {
     name = "redoc-cli";
     packageName = "redoc-cli";
-    version = "0.13.10";
+    version = "0.13.11";
     src = fetchurl {
-      url = "https://registry.npmjs.org/redoc-cli/-/redoc-cli-0.13.10.tgz";
-      sha512 = "txYchKO6rpXJapD6Kg/Vd6mEg3ZJDz+TLCev8dvj8cGQxiSZDJ/V/x3uRfg03EH5FrC71kHC4ETI97MUlye9NQ==";
+      url = "https://registry.npmjs.org/redoc-cli/-/redoc-cli-0.13.11.tgz";
+      sha512 = "6zqf2j+LdsM0SnisPYrAln6nYW7tc/E28+sJMhIiTbI3TtEPGHC7hgRrRsrnhavNChKclU7ln2+dEtRZkzpR+Q==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
-      (sources."@babel/generator-7.17.9" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
+      sources."@babel/generator-7.17.10"
       sources."@babel/helper-annotate-as-pure-7.16.7"
       sources."@babel/helper-environment-visitor-7.16.7"
       sources."@babel/helper-function-name-7.17.9"
@@ -121824,21 +121569,24 @@ in
       sources."@babel/helper-split-export-declaration-7.16.7"
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/highlight-7.17.9"
-      sources."@babel/parser-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/runtime-7.17.9"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.9"
-      sources."@babel/types-7.17.0"
+      sources."@babel/traverse-7.17.10"
+      sources."@babel/types-7.17.10"
       sources."@emotion/is-prop-valid-1.1.2"
       sources."@emotion/memoize-0.7.5"
       sources."@emotion/stylis-0.8.5"
       sources."@emotion/unitless-0.7.5"
       sources."@exodus/schemasafe-1.0.0-rc.6"
+      sources."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/set-array-1.1.0"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
       sources."@redocly/ajv-8.6.4"
       sources."@redocly/openapi-core-1.0.0-beta.94"
       sources."@redocly/react-dropdown-aria-2.0.12"
       sources."@types/json-schema-7.0.11"
-      sources."@types/node-14.18.13"
+      sources."@types/node-14.18.16"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.2"
@@ -122000,7 +121748,7 @@ in
       sources."oas-schema-walker-1.1.5"
       sources."oas-validator-5.0.8"
       sources."object-assign-4.1.1"
-      sources."openapi-sampler-1.2.1"
+      sources."openapi-sampler-1.2.3"
       sources."os-browserify-0.3.0"
       sources."pako-1.0.11"
       sources."parse-asn1-5.1.6"
@@ -122011,7 +121759,7 @@ in
       sources."pluralize-8.0.0"
       sources."polished-4.2.2"
       sources."postcss-value-parser-4.2.0"
-      sources."prismjs-1.27.0"
+      sources."prismjs-1.28.0"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
       sources."prop-types-15.8.1"
@@ -122038,7 +121786,7 @@ in
         ];
       })
       sources."readdirp-3.6.0"
-      (sources."redoc-2.0.0-rc.66" // {
+      (sources."redoc-2.0.0-rc.67" // {
         dependencies = [
           sources."path-browserify-1.0.1"
         ];
@@ -122170,7 +121918,7 @@ in
       sources."ink-2.7.1"
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-plain-obj-1.1.0"
       sources."js-tokens-4.0.0"
@@ -122429,7 +122177,7 @@ in
       sources."keyv-3.1.0"
       sources."latest-version-5.1.0"
       sources."livereload-0.9.3"
-      sources."livereload-js-3.3.3"
+      sources."livereload-js-3.4.0"
       sources."lodash-4.17.21"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
@@ -122609,10 +122357,10 @@ in
   rollup = nodeEnv.buildNodePackage {
     name = "rollup";
     packageName = "rollup";
-    version = "2.70.2";
+    version = "2.71.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/rollup/-/rollup-2.70.2.tgz";
-      sha512 = "EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==";
+      url = "https://registry.npmjs.org/rollup/-/rollup-2.71.1.tgz";
+      sha512 = "lMZk3XfUBGjrrZQpvPSoXcZSfKcJ2Bgn+Z0L1MoW2V8Wh7BVM+LOBJTPo16yul2MwL59cXedzW1ruq3rCjSRgw==";
     };
     dependencies = [
       sources."fsevents-2.3.2"
@@ -122633,7 +122381,7 @@ in
     version = "0.2.975";
     src = ../../applications/editors/vscode/extensions/rust-analyzer/build-deps;
     dependencies = [
-      sources."@eslint/eslintrc-1.2.1"
+      sources."@eslint/eslintrc-1.2.2"
       sources."@hpcc-js/wasm-1.12.8"
       sources."@humanwhocodes/config-array-0.9.5"
       sources."@humanwhocodes/object-schema-1.2.1"
@@ -122644,16 +122392,16 @@ in
       sources."@types/json-schema-7.0.11"
       sources."@types/node-14.17.34"
       sources."@types/vscode-1.63.2"
-      sources."@typescript-eslint/eslint-plugin-5.19.0"
-      sources."@typescript-eslint/parser-5.19.0"
-      sources."@typescript-eslint/scope-manager-5.19.0"
-      sources."@typescript-eslint/type-utils-5.19.0"
-      sources."@typescript-eslint/types-5.19.0"
-      sources."@typescript-eslint/typescript-estree-5.19.0"
-      sources."@typescript-eslint/utils-5.19.0"
-      sources."@typescript-eslint/visitor-keys-5.19.0"
+      sources."@typescript-eslint/eslint-plugin-5.21.0"
+      sources."@typescript-eslint/parser-5.21.0"
+      sources."@typescript-eslint/scope-manager-5.21.0"
+      sources."@typescript-eslint/type-utils-5.21.0"
+      sources."@typescript-eslint/types-5.21.0"
+      sources."@typescript-eslint/typescript-estree-5.21.0"
+      sources."@typescript-eslint/utils-5.21.0"
+      sources."@typescript-eslint/visitor-keys-5.21.0"
       sources."@vscode/test-electron-2.1.3"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-jsx-5.3.2"
       sources."agent-base-6.0.2"
       sources."ajv-6.12.6"
@@ -122773,7 +122521,7 @@ in
       sources."entities-2.2.0"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-8.13.0" // {
+      (sources."eslint-8.14.0" // {
         dependencies = [
           sources."eslint-scope-7.1.1"
           sources."estraverse-5.3.0"
@@ -122887,7 +122635,7 @@ in
       sources."mute-stream-0.0.8"
       sources."napi-build-utils-1.0.2"
       sources."natural-compare-1.4.0"
-      sources."node-abi-3.8.0"
+      sources."node-abi-3.15.0"
       sources."node-addon-api-4.3.0"
       sources."npmlog-4.1.2"
       sources."nth-check-2.0.1"
@@ -122909,7 +122657,7 @@ in
       sources."path-type-4.0.0"
       sources."pend-1.2.0"
       sources."picomatch-2.3.1"
-      sources."prebuild-install-7.0.1"
+      sources."prebuild-install-7.1.0"
       sources."prelude-ls-1.2.1"
       sources."process-nextick-args-2.0.1"
       sources."pseudomap-1.0.2"
@@ -122961,7 +122709,7 @@ in
       sources."tmp-0.2.1"
       sources."to-regex-range-5.0.1"
       sources."traverse-0.3.9"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       (sources."tsutils-3.21.0" // {
         dependencies = [
           sources."tslib-1.14.1"
@@ -122972,10 +122720,10 @@ in
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
       sources."typed-rest-client-1.8.6"
-      sources."typescript-4.6.3"
+      sources."typescript-4.6.4"
       sources."typescript-formatter-7.2.2"
       sources."uc.micro-1.0.6"
-      sources."underscore-1.13.2"
+      sources."underscore-1.13.3"
       sources."unzipper-0.10.11"
       sources."uri-js-4.4.1"
       sources."url-join-4.0.1"
@@ -123030,12 +122778,12 @@ in
     dependencies = [
       sources."find-up-5.0.0"
       sources."locate-path-6.0.0"
-      sources."nanoid-3.3.2"
+      sources."nanoid-3.3.3"
       sources."p-limit-3.1.0"
       sources."p-locate-5.0.0"
       sources."path-exists-4.0.0"
       sources."picocolors-1.0.0"
-      sources."postcss-8.4.12"
+      sources."postcss-8.4.13"
       sources."source-map-js-1.0.2"
       sources."strip-json-comments-3.1.1"
       sources."yocto-queue-0.1.0"
@@ -123149,10 +122897,10 @@ in
   sass = nodeEnv.buildNodePackage {
     name = "sass";
     packageName = "sass";
-    version = "1.50.0";
+    version = "1.51.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sass/-/sass-1.50.0.tgz";
-      sha512 = "cLsD6MEZ5URXHStxApajEh7gW189kkjn4Rc8DQweMyF+o5HF5nfEz8QYLMlPsTOD88DknatTmBWkOcw5/LnJLQ==";
+      url = "https://registry.npmjs.org/sass/-/sass-1.51.0.tgz";
+      sha512 = "haGdpTgywJTvHC2b91GSq+clTKGbtkkZmVAb82jZQN/wTy6qs8DdFm2lhEQbEwrY0QDRgSQ3xDurqM977C3noA==";
     };
     dependencies = [
       sources."anymatch-3.1.2"
@@ -123329,10 +123077,10 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "3.14.0";
+    version = "3.16.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-3.14.0.tgz";
-      sha512 = "+8B26dyIfsQ9QqDubKJhVRbSjcg0qJNWlFU/fdHYoLn/nUO4u1u+4AYdnUSiku8bDyrdaAjFJp9Zk3cwPCsm9A==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-3.16.0.tgz";
+      sha512 = "z/UV32k+Pipii6CVtaCTDka5+rYExUwvF0Kx8808ghr7MstWclfL81x4CGDoXSTixRE/lus2KHLQfdljnunBnA==";
     };
     dependencies = [
       sources."2-thenable-1.0.0"
@@ -123341,7 +123089,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@serverless/dashboard-plugin-6.2.1"
+      sources."@serverless/dashboard-plugin-6.2.2"
       sources."@serverless/event-mocks-1.1.1"
       (sources."@serverless/platform-client-4.3.2" // {
         dependencies = [
@@ -123360,8 +123108,8 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/lodash-4.14.181"
-      sources."@types/node-17.0.24"
+      sources."@types/lodash-4.14.182"
+      sources."@types/node-17.0.31"
       sources."@types/responselike-1.0.0"
       sources."adm-zip-0.5.9"
       sources."agent-base-6.0.2"
@@ -123387,7 +123135,7 @@ in
       sources."async-3.2.3"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      (sources."aws-sdk-2.1116.0" // {
+      (sources."aws-sdk-2.1125.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -123529,7 +123277,7 @@ in
       sources."duration-0.2.2"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
-      sources."es5-ext-0.10.60"
+      sources."es5-ext-0.10.61"
       sources."es6-iterator-2.0.3"
       (sources."es6-set-0.1.5" // {
         dependencies = [
@@ -123594,7 +123342,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."inquirer-8.2.2"
+      sources."inquirer-8.2.4"
       sources."is-binary-path-2.1.0"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
@@ -123733,7 +123481,7 @@ in
       sources."shebang-regex-1.0.0"
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
-      sources."simple-git-3.6.0"
+      sources."simple-git-3.7.1"
       sources."slash-3.0.0"
       sources."sort-keys-1.1.2"
       sources."sort-keys-length-1.0.1"
@@ -123777,7 +123525,7 @@ in
       sources."tr46-0.0.3"
       sources."traverse-0.6.6"
       sources."trim-repeated-1.0.0"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."type-2.6.0"
       sources."type-fest-0.21.3"
       sources."unbzip2-stream-1.4.3"
@@ -123798,6 +123546,7 @@ in
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
+      sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-4.0.1"
       sources."ws-7.5.7"
@@ -123851,8 +123600,9 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."better-assert-1.0.2"
       sources."blob-0.0.2"
-      sources."body-parser-1.19.2"
+      sources."body-parser-1.20.0"
       sources."bytes-3.1.2"
+      sources."call-bind-1.0.2"
       sources."callsite-1.0.0"
       sources."caseless-0.12.0"
       sources."cheerio-0.17.0"
@@ -123863,14 +123613,14 @@ in
       sources."component-inherit-0.0.3"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
+      sources."depd-2.0.0"
+      sources."destroy-1.2.0"
       (sources."dom-serializer-0.0.1" // {
         dependencies = [
           sources."domelementtype-1.1.3"
@@ -123899,30 +123649,34 @@ in
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
       sources."event-stream-3.3.5"
-      sources."express-4.17.3"
+      sources."express-4.18.1"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."finalhandler-1.1.2"
+      sources."finalhandler-1.2.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."from-0.1.7"
+      sources."function-bind-1.1.1"
+      sources."get-intrinsic-1.1.1"
       sources."getpass-0.1.7"
       sources."global-https://github.com/component/global/archive/v2.0.1.tar.gz"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
+      sources."has-1.0.3"
       sources."has-binary-data-0.1.1"
       sources."has-cors-1.0.3"
+      sources."has-symbols-1.0.3"
       (sources."htmlparser2-3.7.3" // {
         dependencies = [
           sources."domutils-1.5.1"
           sources."entities-1.0.0"
         ];
       })
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.24"
       sources."indexof-0.0.1"
@@ -123956,7 +123710,8 @@ in
       sources."negotiator-0.6.3"
       sources."oauth-sign-0.9.0"
       sources."object-component-0.0.3"
-      sources."on-finished-2.3.0"
+      sources."object-inspect-1.12.0"
+      sources."on-finished-2.4.1"
       sources."options-0.0.6"
       sources."parsejson-0.0.1"
       sources."parseqs-0.0.2"
@@ -123968,9 +123723,9 @@ in
       sources."proxy-addr-2.0.7"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.9.7"
+      sources."qs-6.10.3"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.3"
+      sources."raw-body-2.5.1"
       sources."read-1.0.7"
       sources."readable-stream-1.1.14"
       (sources."request-2.88.2" // {
@@ -123980,13 +123735,14 @@ in
       })
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           sources."ms-2.1.3"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."setprototypeof-1.2.0"
+      sources."side-channel-1.0.4"
       sources."slate-irc-0.7.3"
       (sources."slate-irc-parser-0.0.2" // {
         dependencies = [
@@ -124017,7 +123773,7 @@ in
       })
       sources."split-1.0.1"
       sources."sshpk-1.17.0"
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."stream-combiner-0.2.2"
       sources."string_decoder-0.10.31"
       sources."through-2.3.8"
@@ -124452,10 +124208,10 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.906.0";
+    version = "1.915.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.906.0.tgz";
-      sha512 = "BqHGSWBVx7LuiM9BuPE2zXRCQyAN7wJch4IEm0LFibZcLaoJ+4QWcn6X2ZynRzMCX7UJOntQUQj3q7lTmSaiug==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.915.0.tgz";
+      sha512 = "1b7HkeFdD33hA/yWbAhenPIMJeqxR0w377+HsgIUHqDbbBVMvgEkz93tlZE3WigaiQ1J09R6bA4QA1/ELMnUNA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -124469,31 +124225,30 @@ in
   "socket.io" = nodeEnv.buildNodePackage {
     name = "socket.io";
     packageName = "socket.io";
-    version = "4.4.1";
+    version = "4.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz";
-      sha512 = "s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==";
+      url = "https://registry.npmjs.org/socket.io/-/socket.io-4.5.0.tgz";
+      sha512 = "slTYqU2jCgMjXwresG8grhUi/cC6GjzmcfqArzaH3BN/9I/42eZk9yamNvZJdBfTubkjEdKAKs12NEztId+bUA==";
     };
     dependencies = [
-      sources."@socket.io/base64-arraybuffer-1.0.2"
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."accepts-1.3.8"
       sources."base64id-2.0.0"
       sources."component-emitter-1.3.0"
       sources."cookie-0.4.2"
       sources."cors-2.8.5"
       sources."debug-4.3.4"
-      sources."engine.io-6.1.3"
-      sources."engine.io-parser-5.0.3"
+      sources."engine.io-6.2.0"
+      sources."engine.io-parser-5.0.4"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."ms-2.1.2"
       sources."negotiator-0.6.3"
       sources."object-assign-4.1.1"
-      sources."socket.io-adapter-2.3.3"
+      sources."socket.io-adapter-2.4.0"
       sources."socket.io-parser-4.0.4"
       sources."vary-1.1.2"
       sources."ws-8.2.3"
@@ -124575,7 +124330,7 @@ in
       sources."indent-string-5.0.0"
       sources."inherits-2.0.4"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-fullwidth-code-point-4.0.0"
       sources."is-interactive-2.0.0"
       sources."is-plain-obj-1.1.0"
@@ -124590,7 +124345,7 @@ in
           sources."chalk-5.0.1"
         ];
       })
-      sources."log-update-5.0.0"
+      sources."log-update-5.0.1"
       sources."lru-cache-6.0.0"
       sources."map-obj-4.3.0"
       sources."meow-10.1.2"
@@ -124734,7 +124489,7 @@ in
       sources."atomic-file-rw-0.2.2"
       sources."attach-ware-1.1.1"
       sources."available-typed-arrays-1.0.5"
-      sources."b4a-1.3.1"
+      sources."b4a-1.5.0"
       sources."bail-1.0.5"
       sources."balanced-match-1.0.2"
       (sources."base-0.11.2" // {
@@ -124751,7 +124506,7 @@ in
       sources."binary-search-1.3.6"
       sources."binary-search-bounds-2.0.5"
       sources."bindings-1.5.0"
-      sources."bipf-1.6.2"
+      sources."bipf-1.6.3"
       sources."blake2s-1.1.0"
       sources."brace-expansion-1.1.11"
       sources."braces-1.8.5"
@@ -124879,7 +124634,7 @@ in
       sources."extend.js-0.0.2"
       sources."extglob-0.3.2"
       sources."fastintcompression-0.0.4"
-      sources."fastpriorityqueue-0.7.1"
+      sources."fastpriorityqueue-0.7.2"
       sources."file-uri-to-path-1.0.0"
       sources."filename-regex-2.0.1"
       sources."fill-range-2.2.4"
@@ -124927,7 +124682,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
-      sources."functions-have-names-1.2.2"
+      sources."functions-have-names-1.2.3"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
       sources."get-value-2.0.6"
@@ -124939,7 +124694,7 @@ in
       sources."graceful-fs-4.2.10"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-network-0.0.1"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
@@ -124988,7 +124743,7 @@ in
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
       sources."is-canonical-base64-1.1.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       (sources."is-data-descriptor-1.0.0" // {
         dependencies = [
           sources."kind-of-6.0.3"
@@ -125038,6 +124793,7 @@ in
       (sources."jitdb-4.1.0" // {
         dependencies = [
           sources."mkdirp-1.0.4"
+          sources."obz-1.0.3"
           sources."push-stream-11.0.1"
         ];
       })
@@ -125173,7 +124929,7 @@ in
       sources."observ-0.2.0"
       sources."observ-debounce-1.1.1"
       sources."obv-0.0.1"
-      sources."obz-1.0.3"
+      sources."obz-1.1.0"
       sources."on-change-network-0.0.2"
       sources."on-wakeup-1.0.1"
       sources."once-1.4.0"
@@ -125435,7 +125191,7 @@ in
       sources."split-string-3.1.0"
       (sources."ssb-bendy-butt-0.12.5" // {
         dependencies = [
-          sources."ssb-keys-8.2.0"
+          sources."ssb-keys-8.2.1"
         ];
       })
       sources."ssb-bfe-3.1.3"
@@ -125445,7 +125201,7 @@ in
       sources."ssb-client-4.9.0"
       (sources."ssb-config-3.4.6" // {
         dependencies = [
-          sources."ssb-keys-8.2.0"
+          sources."ssb-keys-8.2.1"
         ];
       })
       sources."ssb-db-19.2.0"
@@ -125463,7 +125219,7 @@ in
           sources."mkdirp-1.0.4"
           sources."push-stream-11.0.1"
           sources."rimraf-3.0.2"
-          (sources."ssb-keys-8.2.0" // {
+          (sources."ssb-keys-8.2.1" // {
             dependencies = [
               sources."mkdirp-0.5.6"
             ];
@@ -125508,7 +125264,7 @@ in
       sources."ssb-uri2-1.7.2"
       (sources."ssb-validate-4.1.4" // {
         dependencies = [
-          sources."ssb-keys-8.2.0"
+          sources."ssb-keys-8.2.1"
         ];
       })
       sources."ssb-validate2-0.1.2"
@@ -125539,7 +125295,7 @@ in
         ];
       })
       sources."string-width-1.0.2"
-      sources."string.prototype.trim-1.2.5"
+      sources."string.prototype.trim-1.2.6"
       sources."string.prototype.trimend-1.0.4"
       sources."string.prototype.trimstart-1.0.4"
       sources."string_decoder-1.1.1"
@@ -125579,7 +125335,7 @@ in
       sources."typedfastbitset-0.2.1"
       sources."typewiselite-1.0.0"
       sources."uint48be-2.0.1"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."unherit-1.1.3"
       sources."unified-2.1.4"
       sources."union-value-1.0.1"
@@ -125717,7 +125473,7 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.1116.0" // {
+      (sources."aws-sdk-2.1125.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -125885,19 +125641,12 @@ in
           sources."cross-spawn-6.0.5"
         ];
       })
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
-          sources."body-parser-1.19.2"
-          sources."cookie-0.4.2"
-          sources."depd-1.1.2"
-          sources."http-errors-1.8.1"
-          sources."on-finished-2.3.0"
+          sources."cookie-0.5.0"
           sources."proxy-addr-2.0.7"
-          sources."qs-6.9.7"
-          sources."raw-body-2.4.3"
+          sources."qs-6.10.3"
           sources."safe-buffer-5.2.1"
-          sources."serve-static-1.14.2"
-          sources."statuses-1.5.0"
         ];
       })
       (sources."express-validator-2.21.0" // {
@@ -125913,12 +125662,7 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fd-slicer-1.1.0"
-      (sources."finalhandler-1.1.2" // {
-        dependencies = [
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
-        ];
-      })
+      sources."finalhandler-1.2.0"
       sources."find-up-3.0.0"
       sources."follow-redirects-1.14.9"
       sources."forever-agent-0.6.1"
@@ -125985,7 +125729,7 @@ in
       sources."ipaddr.js-1.9.1"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       (sources."is-expression-3.0.0" // {
         dependencies = [
           sources."acorn-4.0.13"
@@ -126097,7 +125841,7 @@ in
       sources."minimist-1.2.6"
       sources."minitouch-prebuilt-1.2.0"
       sources."mkdirp-0.5.6"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."ms-2.1.3"
       sources."multer-1.4.4"
       sources."mustache-2.3.2"
@@ -126248,26 +125992,14 @@ in
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
       sources."semver-5.7.1"
-      (sources."send-0.17.2" // {
-        dependencies = [
-          sources."depd-1.1.2"
-          sources."destroy-1.0.4"
-          sources."http-errors-1.8.1"
-          sources."on-finished-2.3.0"
-          sources."statuses-1.5.0"
-        ];
-      })
+      sources."send-0.18.0"
       (sources."serve-favicon-2.5.0" // {
         dependencies = [
           sources."ms-2.1.1"
           sources."safe-buffer-5.1.1"
         ];
       })
-      (sources."serve-static-1.15.0" // {
-        dependencies = [
-          sources."send-0.18.0"
-        ];
-      })
+      sources."serve-static-1.15.0"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
       sources."shebang-command-1.2.0"
@@ -126435,9 +126167,9 @@ in
       sources."which-1.3.1"
       sources."which-module-2.0.0"
       sources."window-size-0.1.0"
-      (sources."winston-2.4.5" // {
+      (sources."winston-2.4.6" // {
         dependencies = [
-          sources."async-1.0.0"
+          sources."async-3.2.3"
         ];
       })
       sources."with-5.1.1"
@@ -126517,10 +126249,10 @@ in
   stylelint = nodeEnv.buildNodePackage {
     name = "stylelint";
     packageName = "stylelint";
-    version = "14.7.0";
+    version = "14.8.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/stylelint/-/stylelint-14.7.0.tgz";
-      sha512 = "vAVPAYaHhcexOiuvym0S64UWIIonMKgYz1Eh+SZgXKkKFLL+wwBzzWGH7Bdnk/HLyH3KlrX+tlisFdEG8ik+Lw==";
+      url = "https://registry.npmjs.org/stylelint/-/stylelint-14.8.1.tgz";
+      sha512 = "0YxTop3wTeEVmQWhS7jjLFaBkvfPmffRiJ6eFIDlK++f3OklaobTYFJu32E5u/cIrFLbcW52pLqrYpihA/y0/w==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -126605,7 +126337,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."is-arrayish-0.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
@@ -126632,7 +126364,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-options-4.1.0"
       sources."ms-2.1.2"
-      sources."nanoid-3.3.2"
+      sources."nanoid-3.3.3"
       sources."normalize-package-data-3.0.3"
       sources."normalize-path-3.0.0"
       sources."normalize-selector-0.2.0"
@@ -126648,7 +126380,7 @@ in
       sources."path-type-4.0.0"
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
-      sources."postcss-8.4.12"
+      sources."postcss-8.4.13"
       sources."postcss-media-query-parser-0.2.3"
       sources."postcss-resolve-nested-selector-0.1.1"
       sources."postcss-safe-parser-6.0.0"
@@ -126880,7 +126612,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/pug-2.0.6"
       sources."@types/sass-1.43.1"
       sources."anymatch-3.1.2"
@@ -126937,7 +126669,7 @@ in
       sources."strip-indent-3.0.0"
       sources."svelte-preprocess-4.10.6"
       sources."to-regex-range-5.0.1"
-      sources."typescript-4.6.3"
+      sources."typescript-4.6.4"
       sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -126965,7 +126697,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/pug-2.0.6"
       sources."@types/sass-1.43.1"
       sources."anymatch-3.1.2"
@@ -127023,12 +126755,12 @@ in
       sources."source-map-0.7.3"
       sources."sourcemap-codec-1.4.8"
       sources."strip-indent-3.0.0"
-      sources."svelte-3.47.0"
+      sources."svelte-3.48.0"
       sources."svelte-preprocess-4.10.6"
       sources."svelte2tsx-0.5.9"
       sources."to-regex-range-5.0.1"
-      sources."tslib-2.3.1"
-      sources."typescript-4.6.3"
+      sources."tslib-2.4.0"
+      sources."typescript-4.6.4"
       sources."vscode-css-languageservice-5.1.13"
       (sources."vscode-emmet-helper-2.6.4" // {
         dependencies = [
@@ -127050,7 +126782,7 @@ in
       })
       sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
-      sources."vscode-nls-5.0.0"
+      sources."vscode-nls-5.0.1"
       sources."vscode-uri-3.0.3"
       sources."wrappy-1.0.2"
     ];
@@ -127791,7 +127523,7 @@ in
       sources."glob-parent-6.0.2"
       sources."has-1.0.3"
       sources."is-binary-path-2.1.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
@@ -127799,13 +127531,13 @@ in
       sources."merge2-1.4.1"
       sources."micromatch-4.0.5"
       sources."minimist-1.2.6"
-      sources."nanoid-3.3.2"
+      sources."nanoid-3.3.3"
       sources."normalize-path-3.0.0"
       sources."object-hash-3.0.0"
       sources."path-parse-1.0.7"
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
-      sources."postcss-8.4.12"
+      sources."postcss-8.4.13"
       sources."postcss-js-4.0.0"
       sources."postcss-load-config-3.1.4"
       sources."postcss-nested-5.0.6"
@@ -127902,7 +127634,7 @@ in
       sources."mime-types-2.1.35"
       sources."minimist-1.2.6"
       sources."module-alias-2.2.2"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."ms-2.1.2"
       sources."node-fetch-2.6.7"
       sources."oauth-sign-0.9.0"
@@ -127938,7 +127670,7 @@ in
       sources."tr46-0.0.3"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-1.0.3"
-      sources."typegram-3.8.0"
+      sources."typegram-3.9.1"
       sources."uri-js-4.4.1"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
@@ -128036,21 +127768,26 @@ in
   terser = nodeEnv.buildNodePackage {
     name = "terser";
     packageName = "terser";
-    version = "5.12.1";
+    version = "5.13.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz";
-      sha512 = "NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==";
+      url = "https://registry.npmjs.org/terser/-/terser-5.13.1.tgz";
+      sha512 = "hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==";
     };
     dependencies = [
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."buffer-from-1.1.2"
       sources."commander-2.20.3"
-      sources."source-map-0.7.3"
+      sources."lodash.sortby-4.7.0"
+      sources."punycode-2.1.1"
+      sources."source-map-0.8.0-beta.0"
       (sources."source-map-support-0.5.21" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
+      sources."tr46-1.0.1"
+      sources."webidl-conversions-4.0.2"
+      sources."whatwg-url-7.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -128130,7 +127867,7 @@ in
       sources."format-0.2.2"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."functions-have-names-1.2.2"
+      sources."functions-have-names-1.2.3"
       sources."get-intrinsic-1.1.1"
       sources."get-stdin-5.0.1"
       sources."glob-7.2.0"
@@ -128148,7 +127885,7 @@ in
       sources."is-arguments-1.1.1"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-date-object-1.0.5"
       sources."is-decimal-1.0.4"
       sources."is-file-1.0.0"
@@ -128316,7 +128053,7 @@ in
       sources."call-bind-1.0.2"
       sources."define-properties-1.1.4"
       sources."function-bind-1.1.1"
-      sources."functions-have-names-1.2.2"
+      sources."functions-have-names-1.2.3"
       sources."get-intrinsic-1.1.1"
       sources."has-1.0.3"
       sources."has-property-descriptors-1.0.0"
@@ -128485,7 +128222,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-decimal-1.0.4"
       sources."is-empty-1.2.0"
       sources."is-fullwidth-code-point-3.0.0"
@@ -128935,7 +128672,7 @@ in
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
@@ -128957,7 +128694,7 @@ in
       sources."side-channel-1.0.4"
       sources."string.prototype.trimend-1.0.4"
       sources."string.prototype.trimstart-1.0.4"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."which-boxed-primitive-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -129046,7 +128783,7 @@ in
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
@@ -129069,7 +128806,7 @@ in
       sources."side-channel-1.0.4"
       sources."string.prototype.trimend-1.0.4"
       sources."string.prototype.trimstart-1.0.4"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."which-boxed-primitive-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -129129,7 +128866,6 @@ in
       sources."@fastify/busboy-1.0.0"
       sources."@mapbox/node-pre-gyp-1.0.9"
       sources."@sindresorhus/is-4.6.0"
-      sources."@socket.io/base64-arraybuffer-1.0.2"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@tokenizer/token-0.3.0"
       sources."@types/cacheable-request-6.0.2"
@@ -129139,7 +128875,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -129191,7 +128927,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.22.0"
+      sources."core-js-3.22.3"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."css-select-4.3.0"
@@ -129224,7 +128960,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."engine.io-parser-5.0.3"
+      sources."engine.io-parser-5.0.4"
       sources."entities-2.2.0"
       sources."es-abstract-1.19.5"
       sources."es-to-primitive-1.2.1"
@@ -129253,7 +128989,7 @@ in
       sources."got-11.8.3"
       sources."grapheme-splitter-1.0.4"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-flag-4.0.0"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
@@ -129421,11 +129157,11 @@ in
       sources."token-types-4.2.0"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."type-is-1.6.18"
       sources."ua-parser-js-1.0.2"
       sources."uc.micro-1.0.6"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."unpipe-1.0.0"
       sources."urlsafe-base64-1.0.0"
       sources."util-0.12.4"
@@ -129473,7 +129209,6 @@ in
       sources."@fastify/busboy-1.0.0"
       sources."@mapbox/node-pre-gyp-1.0.9"
       sources."@sindresorhus/is-4.6.0"
-      sources."@socket.io/base64-arraybuffer-1.0.2"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@tokenizer/token-0.3.0"
       sources."@types/cacheable-request-6.0.2"
@@ -129483,7 +129218,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -129535,7 +129270,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.22.0"
+      sources."core-js-3.22.3"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."css-select-4.3.0"
@@ -129568,7 +129303,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."engine.io-parser-5.0.3"
+      sources."engine.io-parser-5.0.4"
       sources."entities-2.2.0"
       sources."es-abstract-1.19.5"
       sources."es-to-primitive-1.2.1"
@@ -129597,7 +129332,7 @@ in
       sources."got-11.8.3"
       sources."grapheme-splitter-1.0.4"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
+      sources."has-bigints-1.0.2"
       sources."has-flag-4.0.0"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
@@ -129766,11 +129501,11 @@ in
       sources."token-types-4.2.0"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."type-is-1.6.18"
       sources."ua-parser-js-1.0.2"
       sources."uc.micro-1.0.6"
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-1.0.2"
       sources."unpipe-1.0.0"
       sources."urlsafe-base64-1.0.0"
       sources."util-0.12.4"
@@ -129900,7 +129635,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.22.0"
+      sources."core-js-3.22.3"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -130354,10 +130089,10 @@ in
   thelounge-theme-chord = nodeEnv.buildNodePackage {
     name = "thelounge-theme-chord";
     packageName = "thelounge-theme-chord";
-    version = "1.1.3";
+    version = "1.1.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/thelounge-theme-chord/-/thelounge-theme-chord-1.1.3.tgz";
-      sha512 = "1STzJ2NT68+4IxSlV82W3Z8UkVwCZV+qLdDW/z927k4ZKCjP0cWGH7nB2CwiBBJpBm4zAhBjmwa4Ip3jYWZ/eg==";
+      url = "https://registry.npmjs.org/thelounge-theme-chord/-/thelounge-theme-chord-1.1.9.tgz";
+      sha512 = "DPjUxjF4N+uk0tdc6e3nkQf4CV3PzJ1rW9xl4xm7gyYb5YtMAVhHrpJSm3NpZcmLJ8jhZlzJk+KXYhc1Q1jf6A==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -130493,7 +130228,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -130574,7 +130309,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.22.0"
+      sources."core-js-3.22.3"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -130960,7 +130695,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -131041,7 +130776,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.22.0"
+      sources."core-js-3.22.3"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -131486,10 +131221,10 @@ in
   thelounge-theme-midnight = nodeEnv.buildNodePackage {
     name = "thelounge-theme-midnight";
     packageName = "thelounge-theme-midnight";
-    version = "1.1.3";
+    version = "1.1.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/thelounge-theme-midnight/-/thelounge-theme-midnight-1.1.3.tgz";
-      sha512 = "g57O8pLOUtXubRuYCurwP3eKHLvh3KoBvD30rZnXB7d+fwaSApKe9wzPSiOiCeNfMlwbV/1Zwbdg4+AWU25kHw==";
+      url = "https://registry.npmjs.org/thelounge-theme-midnight/-/thelounge-theme-midnight-1.1.8.tgz";
+      sha512 = "E9i+7y9IBz/DiS/0ja2tIYnor9PpBUkp4jPM8Tpz6JRblytCPOzGAQ6Zn52hRaaCZGhk3cZKswuapQIbkH6Wfw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -131810,10 +131545,10 @@ in
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.139.2";
+    version = "0.140.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.139.2.tgz";
-      sha512 = "gV7q7QY8rogu7HLFZR9cWnOQAUedUhu2WXAnpr2kdXZP9YDKsG/0ychwQvWkZN5PlNw9mv5MoCTin6zNTXoONg==";
+      url = "https://registry.npmjs.org/three/-/three-0.140.0.tgz";
+      sha512 = "jcHjbnYspPLDdsDQChmzyAoZ5KhJbgFk6pNGlAIc9fQMvsfPGjF5H9glrngqvb2CR/qXcClMyp5PYdF996lldA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -132060,7 +131795,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."mooremachine-2.3.0"
       sources."mute-stream-0.0.8"
       sources."mv-2.1.1"
@@ -132248,13 +131983,13 @@ in
       sources."@tsconfig/node12-1.0.9"
       sources."@tsconfig/node14-1.0.1"
       sources."@tsconfig/node16-1.0.2"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-walk-8.2.0"
       sources."arg-4.1.3"
       sources."create-require-1.1.1"
       sources."diff-4.0.2"
       sources."make-error-1.3.6"
-      sources."v8-compile-cache-lib-3.0.0"
+      sources."v8-compile-cache-lib-3.0.1"
       sources."yn-3.1.1"
     ];
     buildInputs = globalBuildInputs;
@@ -132291,10 +132026,10 @@ in
   typescript = nodeEnv.buildNodePackage {
     name = "typescript";
     packageName = "typescript";
-    version = "4.6.3";
+    version = "4.6.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz";
-      sha512 = "yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==";
+      url = "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz";
+      sha512 = "9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -132333,7 +132068,7 @@ in
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."find-up-3.0.0"
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."fs.realpath-1.0.0"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
@@ -132447,7 +132182,6 @@ in
       sources."@dabh/diagnostics-2.0.3"
       sources."@primer/octicons-17.0.0"
       sources."@sindresorhus/is-4.6.0"
-      sources."@socket.io/base64-arraybuffer-1.0.2"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/component-emitter-1.2.11"
@@ -132456,7 +132190,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-16.11.27"
+      sources."@types/node-16.11.33"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.8"
@@ -132485,7 +132219,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."colorspace-1.1.4"
       sources."component-emitter-1.3.0"
       sources."compress-brotli-1.3.6"
@@ -132528,7 +132262,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."engine.io-parser-5.0.3"
+      sources."engine.io-parser-5.0.4"
       sources."error-ex-1.3.2"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -132609,7 +132343,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."ms-2.0.0"
       sources."negotiator-0.6.3"
       sources."node-cache-5.1.2"
@@ -132720,7 +132454,7 @@ in
         ];
       })
       sources."type-is-1.6.18"
-      sources."typescript-4.6.3"
+      sources."typescript-4.6.4"
       sources."uid-safe-2.1.5"
       sources."unpipe-1.0.0"
       sources."util-deprecate-1.0.2"
@@ -132773,7 +132507,7 @@ in
       sources."@types/is-empty-1.2.1"
       sources."@types/js-yaml-4.0.5"
       sources."@types/ms-0.7.31"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/supports-color-8.1.1"
       sources."@types/unist-2.0.6"
       sources."ansi-regex-6.0.1"
@@ -133078,21 +132812,21 @@ in
   vercel = nodeEnv.buildNodePackage {
     name = "vercel";
     packageName = "vercel";
-    version = "24.1.0";
+    version = "24.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vercel/-/vercel-24.1.0.tgz";
-      sha512 = "OSX9Dn7+EAQnITdx4+cvfhtOLIi81qzbQwh9FtLmDOarba+reXDDTAJX/yxtcohSLT2NmyJ8mDyIdhr/5FeE8g==";
+      url = "https://registry.npmjs.org/vercel/-/vercel-24.2.0.tgz";
+      sha512 = "XC0ejLnWJ90hk6K9r3zycClhpzCz3hU4p7vStvbQe73r+kyqzLEdop1CB+vBg5jSy7ApE+6pz0fon7TWA1gNrg==";
     };
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-17.0.24"
-      sources."@vercel/build-utils-2.15.1"
-      sources."@vercel/go-1.3.2"
-      sources."@vercel/node-1.14.1"
-      sources."@vercel/node-bridge-2.2.0"
-      sources."@vercel/python-2.2.2"
-      sources."@vercel/ruby-1.3.2"
+      sources."@types/node-17.0.31"
+      sources."@vercel/build-utils-2.16.0"
+      sources."@vercel/go-1.4.0"
+      sources."@vercel/node-1.15.0"
+      sources."@vercel/node-bridge-2.2.1"
+      sources."@vercel/python-2.3.0"
+      sources."@vercel/ruby-1.3.3"
       sources."ansi-align-3.0.1"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -133320,7 +133054,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-expression-4.0.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -133393,7 +133127,7 @@ in
       sources."tsutils-2.29.0"
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
-      sources."typescript-4.6.3"
+      sources."typescript-4.6.4"
       sources."uri-js-4.4.1"
       sources."v8-compile-cache-2.3.0"
       (sources."vue-eslint-parser-7.11.0" // {
@@ -133504,7 +133238,7 @@ in
       sources."request-light-0.4.0"
       (sources."vscode-json-languageservice-4.2.1" // {
         dependencies = [
-          sources."vscode-nls-5.0.0"
+          sources."vscode-nls-5.0.1"
         ];
       })
       sources."vscode-jsonrpc-6.0.0"
@@ -133549,7 +133283,7 @@ in
       (sources."vscode-json-languageservice-3.11.0" // {
         dependencies = [
           sources."jsonc-parser-3.0.0"
-          sources."vscode-nls-5.0.0"
+          sources."vscode-nls-5.0.1"
           sources."vscode-uri-2.1.2"
         ];
       })
@@ -133584,24 +133318,24 @@ in
       sha512 = "HZfrlqpVu8N0UkSyjldPsGFpVFByYaDRDMmBvmKwKai2rAsd2vtde2CFnX9rOpmg3pN2vET8j3qtqZvZLzmkjQ==";
     };
     dependencies = [
-      sources."core-js-3.22.0"
+      sources."core-js-3.22.3"
       sources."jsonc-parser-3.0.0"
       sources."regenerator-runtime-0.13.9"
       sources."request-light-0.5.8"
-      sources."typescript-4.6.3"
-      sources."vscode-css-languageservice-5.4.1"
-      sources."vscode-html-languageservice-4.2.4"
+      sources."typescript-4.6.4"
+      sources."vscode-css-languageservice-5.4.2"
+      sources."vscode-html-languageservice-4.2.5"
       sources."vscode-json-languageservice-4.2.1"
-      sources."vscode-jsonrpc-8.0.0-next.7"
-      sources."vscode-languageserver-8.0.0-next.10"
-      (sources."vscode-languageserver-protocol-3.17.0-next.16" // {
+      sources."vscode-jsonrpc-8.0.0-next.8"
+      sources."vscode-languageserver-8.0.0-next.14"
+      (sources."vscode-languageserver-protocol-3.17.0-next.20" // {
         dependencies = [
-          sources."vscode-languageserver-types-3.17.0-next.9"
+          sources."vscode-languageserver-types-3.17.0-next.12"
         ];
       })
       sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
-      sources."vscode-nls-5.0.0"
+      sources."vscode-nls-5.0.1"
       sources."vscode-uri-3.0.3"
       sources."yarn-1.22.18"
     ];
@@ -133651,7 +133385,7 @@ in
       sources."@webpack-cli/serve-1.6.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-import-assertions-1.8.0"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
@@ -133668,12 +133402,12 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-stdout-1.3.1"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."buffer-crc32-0.2.13"
       sources."buffer-from-1.1.2"
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."supports-color-7.2.0"
@@ -133713,7 +133447,7 @@ in
       sources."domelementtype-2.3.0"
       sources."domhandler-4.3.1"
       sources."domutils-2.8.0"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."enhanced-resolve-5.9.3"
@@ -133761,7 +133495,7 @@ in
       sources."inherits-2.0.4"
       sources."interpret-2.2.0"
       sources."is-binary-path-2.1.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-glob-4.0.3"
@@ -133784,6 +133518,7 @@ in
       sources."loader-utils-2.0.2"
       sources."locate-path-6.0.0"
       sources."lodash-4.17.21"
+      sources."lodash.sortby-4.7.0"
       sources."log-symbols-4.0.0"
       sources."lru-cache-6.0.0"
       (sources."markdown-it-10.0.0" // {
@@ -133814,7 +133549,7 @@ in
       sources."mute-stream-0.0.8"
       sources."nanoid-3.1.20"
       sources."neo-async-2.6.2"
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
       sources."nth-check-2.0.1"
@@ -133879,10 +133614,10 @@ in
       sources."supports-color-8.1.1"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."tapable-2.2.1"
-      (sources."terser-5.12.1" // {
+      (sources."terser-5.13.1" // {
         dependencies = [
           sources."commander-2.20.3"
-          sources."source-map-0.7.3"
+          sources."source-map-0.8.0-beta.0"
         ];
       })
       (sources."terser-webpack-plugin-5.3.1" // {
@@ -133892,19 +133627,20 @@ in
       })
       sources."tmp-0.0.29"
       sources."to-regex-range-5.0.1"
-      (sources."ts-loader-8.3.0" // {
+      sources."tr46-1.0.1"
+      (sources."ts-loader-8.4.0" // {
         dependencies = [
           sources."enhanced-resolve-4.5.0"
           sources."semver-7.3.7"
           sources."tapable-1.1.3"
         ];
       })
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."tunnel-0.0.6"
       sources."typed-rest-client-1.8.6"
-      sources."typescript-4.6.3"
+      sources."typescript-4.6.4"
       sources."uc.micro-1.0.6"
-      sources."underscore-1.13.2"
+      sources."underscore-1.13.3"
       sources."uri-js-4.4.1"
       sources."url-join-1.1.0"
       sources."util-deprecate-1.0.2"
@@ -133922,6 +133658,7 @@ in
       sources."vscode-debugadapter-testsupport-1.51.0"
       sources."vscode-debugprotocol-1.51.0"
       sources."watchpack-2.3.1"
+      sources."webidl-conversions-4.0.2"
       sources."webpack-5.72.0"
       (sources."webpack-cli-4.9.2" // {
         dependencies = [
@@ -133930,6 +133667,7 @@ in
       })
       sources."webpack-merge-5.8.0"
       sources."webpack-sources-3.2.3"
+      sources."whatwg-url-7.1.0"
       sources."which-2.0.2"
       sources."wide-align-1.1.3"
       sources."wildcard-2.0.0"
@@ -134288,7 +134026,7 @@ in
       sources."@starptech/rehype-webparser-0.10.0"
       sources."@starptech/webparser-0.10.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/unist-2.0.6"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -134645,7 +134383,7 @@ in
       sources."is-binary-path-2.1.0"
       sources."is-buffer-2.0.5"
       sources."is-ci-2.0.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-decimal-1.0.4"
       sources."is-descriptor-1.0.2"
@@ -135155,7 +134893,7 @@ in
       sources."vscode-languageserver-protocol-3.16.0"
       sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
-      sources."vscode-nls-5.0.0"
+      sources."vscode-nls-5.0.1"
       sources."vscode-textbuffer-1.0.0"
       sources."vscode-uri-1.0.8"
       (sources."vue-eslint-parser-6.0.5" // {
@@ -135218,9 +134956,9 @@ in
       sources."@mapbox/node-pre-gyp-1.0.9"
       sources."@tootallnate/once-1.1.2"
       sources."@types/raf-3.4.0"
-      sources."abab-2.0.5"
+      sources."abab-2.0.6"
       sources."abbrev-1.1.1"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -135249,7 +134987,7 @@ in
       sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
-      sources."core-js-pure-3.22.0"
+      sources."core-js-pure-3.22.3"
       sources."cssom-0.4.4"
       (sources."cssstyle-2.3.0" // {
         dependencies = [
@@ -135283,7 +135021,7 @@ in
       sources."esutils-2.0.3"
       sources."fast-levenshtein-2.0.6"
       sources."form-data-3.0.1"
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."gauge-3.0.2"
@@ -135429,7 +135167,7 @@ in
       sources."@devicefarmer/adbkit-2.11.3"
       sources."@devicefarmer/adbkit-logcat-1.1.0"
       sources."@devicefarmer/adbkit-monkey-1.0.1"
-      (sources."@eslint/eslintrc-1.2.1" // {
+      (sources."@eslint/eslintrc-1.2.2" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -135446,9 +135184,9 @@ in
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/yauzl-2.9.2"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-jsx-5.3.2"
       (sources."addons-linter-4.14.0" // {
         dependencies = [
@@ -135613,7 +135351,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
-      sources."functions-have-names-1.2.2"
+      sources."functions-have-names-1.2.3"
       (sources."fx-runner-1.2.0" // {
         dependencies = [
           sources."commander-2.9.0"
@@ -135750,7 +135488,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."ms-2.0.0"
       sources."multimatch-5.0.0"
       (sources."mv-2.1.1" // {
@@ -135762,7 +135500,7 @@ in
       })
       sources."mz-2.7.0"
       sources."nan-2.15.0"
-      sources."nanoid-3.3.2"
+      sources."nanoid-3.3.3"
       sources."natural-compare-1.4.0"
       sources."ncp-2.0.0"
       sources."node-forge-0.10.0"
@@ -135871,7 +135609,7 @@ in
         ];
       })
       sources."signal-exit-3.0.7"
-      sources."sonic-boom-2.7.0"
+      sources."sonic-boom-2.8.0"
       sources."source-map-0.6.1"
       sources."source-map-js-1.0.2"
       sources."source-map-support-0.5.20"
@@ -135900,7 +135638,7 @@ in
       sources."to-readable-stream-1.0.0"
       sources."tosource-1.0.0"
       sources."tough-cookie-2.5.0"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.4.0"
@@ -135974,7 +135712,7 @@ in
       sources."@types/eslint-scope-3.7.3"
       sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.11"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
       sources."@webassemblyjs/helper-api-error-1.11.1"
@@ -135992,16 +135730,16 @@ in
       sources."@webassemblyjs/wast-printer-1.11.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.7.0"
+      sources."acorn-8.7.1"
       sources."acorn-import-assertions-1.8.0"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."buffer-from-1.1.2"
-      sources."caniuse-lite-1.0.30001332"
+      sources."caniuse-lite-1.0.30001334"
       sources."chrome-trace-event-1.0.3"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.4.110"
+      sources."electron-to-chromium-1.4.129"
       sources."enhanced-resolve-5.9.3"
       sources."es-module-lexer-0.9.3"
       sources."escalade-3.1.1"
@@ -136022,11 +135760,12 @@ in
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
       sources."loader-runner-4.3.0"
+      sources."lodash.sortby-4.7.0"
       sources."merge-stream-2.0.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."neo-async-2.6.2"
-      sources."node-releases-2.0.3"
+      sources."node-releases-2.0.4"
       sources."picocolors-1.0.0"
       sources."punycode-2.1.1"
       sources."randombytes-2.1.0"
@@ -136037,15 +135776,18 @@ in
       sources."source-map-support-0.5.21"
       sources."supports-color-8.1.1"
       sources."tapable-2.2.1"
-      (sources."terser-5.12.1" // {
+      (sources."terser-5.13.1" // {
         dependencies = [
-          sources."source-map-0.7.3"
+          sources."source-map-0.8.0-beta.0"
         ];
       })
       sources."terser-webpack-plugin-5.3.1"
+      sources."tr46-1.0.1"
       sources."uri-js-4.4.1"
       sources."watchpack-2.3.1"
+      sources."webidl-conversions-4.0.2"
       sources."webpack-sources-3.2.3"
+      sources."whatwg-url-7.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -136084,7 +135826,7 @@ in
       sources."human-signals-2.1.0"
       sources."import-local-3.1.0"
       sources."interpret-2.2.0"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-plain-object-2.0.4"
       sources."is-stream-2.0.1"
       sources."isexe-2.0.0"
@@ -136145,10 +135887,10 @@ in
       sources."@types/http-proxy-1.17.8"
       sources."@types/json-schema-7.0.11"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
-      sources."@types/retry-0.12.1"
+      sources."@types/retry-0.12.0"
       sources."@types/serve-index-1.9.1"
       sources."@types/serve-static-1.13.10"
       sources."@types/sockjs-0.3.33"
@@ -136164,15 +135906,16 @@ in
       sources."balanced-match-1.0.2"
       sources."batch-0.6.1"
       sources."binary-extensions-2.2.0"
-      (sources."body-parser-1.19.2" // {
+      (sources."body-parser-1.20.0" // {
         dependencies = [
           sources."bytes-3.1.2"
         ];
       })
-      sources."bonjour-service-1.0.11"
+      sources."bonjour-service-1.0.12"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."bytes-3.0.0"
+      sources."call-bind-1.0.2"
       sources."chokidar-3.5.3"
       sources."colorette-2.0.16"
       sources."compressible-2.0.18"
@@ -136185,15 +135928,15 @@ in
         ];
       })
       sources."content-type-1.0.4"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."cross-spawn-7.0.3"
       sources."debug-2.6.9"
       sources."default-gateway-6.0.3"
       sources."define-lazy-prop-2.0.0"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
+      sources."depd-2.0.0"
+      sources."destroy-1.2.0"
       sources."detect-node-2.1.0"
       sources."dns-equal-1.0.0"
       sources."dns-packet-5.3.1"
@@ -136203,7 +135946,7 @@ in
       sources."etag-1.8.1"
       sources."eventemitter3-4.0.7"
       sources."execa-5.1.1"
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
           sources."array-flatten-1.1.1"
           sources."safe-buffer-5.2.1"
@@ -136212,18 +135955,22 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."faye-websocket-0.11.4"
       sources."fill-range-7.0.1"
-      sources."finalhandler-1.1.2"
+      sources."finalhandler-1.2.0"
       sources."follow-redirects-1.14.9"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs-monkey-1.0.3"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
+      sources."function-bind-1.1.1"
+      sources."get-intrinsic-1.1.1"
       sources."get-stream-6.0.1"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
       sources."graceful-fs-4.2.10"
       sources."handle-thing-2.0.1"
+      sources."has-1.0.3"
+      sources."has-symbols-1.0.3"
       (sources."hpack.js-2.1.6" // {
         dependencies = [
           sources."readable-stream-2.3.7"
@@ -136231,10 +135978,10 @@ in
       })
       sources."html-entities-2.3.3"
       sources."http-deceiver-1.2.7"
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       sources."http-parser-js-0.5.6"
       sources."http-proxy-1.18.1"
-      sources."http-proxy-middleware-2.0.4"
+      sources."http-proxy-middleware-2.0.6"
       sources."human-signals-2.1.0"
       sources."iconv-lite-0.4.24"
       sources."inflight-1.0.6"
@@ -136272,13 +136019,14 @@ in
       sources."node-forge-1.3.1"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
+      sources."object-inspect-1.12.0"
       sources."obuf-1.1.2"
-      sources."on-finished-2.3.0"
+      sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       sources."open-8.4.0"
-      sources."p-retry-4.6.1"
+      sources."p-retry-4.6.2"
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
@@ -136297,9 +136045,9 @@ in
         ];
       })
       sources."punycode-2.1.1"
-      sources."qs-6.9.7"
+      sources."qs-6.10.3"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.3" // {
+      (sources."raw-body-2.5.1" // {
         dependencies = [
           sources."bytes-3.1.2"
         ];
@@ -136315,22 +136063,25 @@ in
       sources."schema-utils-4.0.0"
       sources."select-hose-2.0.0"
       sources."selfsigned-2.0.1"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           sources."ms-2.1.3"
         ];
       })
       (sources."serve-index-1.9.1" // {
         dependencies = [
+          sources."depd-1.1.2"
           sources."http-errors-1.6.3"
           sources."inherits-2.0.3"
           sources."setprototypeof-1.1.0"
+          sources."statuses-1.5.0"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."setprototypeof-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
+      sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
       sources."sockjs-0.3.24"
       (sources."spdy-4.0.2" // {
@@ -136345,7 +136096,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."string_decoder-1.1.1"
       sources."strip-final-newline-2.0.0"
       sources."thunky-1.1.0"
@@ -136364,7 +136115,7 @@ in
       sources."websocket-extensions-0.1.4"
       sources."which-2.0.2"
       sources."wrappy-1.0.2"
-      sources."ws-8.5.0"
+      sources."ws-8.6.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -136458,20 +136209,20 @@ in
       sources."@protobufjs/path-1.1.2"
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
-      sources."@types/long-4.0.1"
-      sources."@types/node-17.0.24"
+      sources."@types/long-4.0.2"
+      sources."@types/node-17.0.31"
       sources."@webtorrent/http-node-1.3.0"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.3.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
-      sources."b4a-1.3.1"
+      sources."b4a-1.5.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."bencode-2.0.2"
       sources."bep53-range-1.1.1"
       sources."binary-search-1.3.6"
-      sources."bitfield-4.0.0"
+      sources."bitfield-4.1.0"
       (sources."bittorrent-dht-10.0.2" // {
         dependencies = [
           sources."debug-4.3.4"
@@ -136485,7 +136236,7 @@ in
         ];
       })
       sources."bittorrent-peerid-1.3.4"
-      (sources."bittorrent-protocol-3.5.2" // {
+      (sources."bittorrent-protocol-3.5.5" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -136632,7 +136383,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."mkdirp-classic-0.5.3"
-      sources."moment-2.29.2"
+      sources."moment-2.29.3"
       sources."mp4-box-encoding-1.4.1"
       sources."mp4-stream-3.1.3"
       sources."ms-2.0.0"
@@ -136759,7 +136510,7 @@ in
       sources."utp-native-2.5.3"
       sources."videostream-3.2.2"
       sources."vlc-command-1.2.0"
-      (sources."webtorrent-1.8.13" // {
+      (sources."webtorrent-1.8.16" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."decompress-response-6.0.0"
@@ -136837,10 +136588,10 @@ in
   yaml-language-server = nodeEnv.buildNodePackage {
     name = "yaml-language-server";
     packageName = "yaml-language-server";
-    version = "1.6.0";
+    version = "1.7.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.6.0.tgz";
-      sha512 = "4L8vgCuqRZgfjVnAPW8nKKj5dq4QBSc8LoceCaqtufVxHK+G6MVjI5aT9wHLO1/W07RXSyr0vYqSap7B1GFZ6w==";
+      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.7.0.tgz";
+      sha512 = "lIn8cKP7WvXAs/9ybENadjA/RZ3z0eT+/Qxu/Qhh9aG7U3FTtmO6xauRAih4Gxm4qZeBE1t4C31XB8B/KOQRtw==";
     };
     dependencies = [
       sources."jsonc-parser-3.0.0"
@@ -136851,9 +136602,9 @@ in
       sources."vscode-languageserver-protocol-3.16.0"
       sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
-      sources."vscode-nls-5.0.0"
+      sources."vscode-nls-5.0.1"
       sources."vscode-uri-3.0.3"
-      sources."yaml-2.0.0-10"
+      sources."yaml-2.0.0-11"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -136977,9 +136728,8 @@ in
         ];
       })
       sources."@npmcli/installed-package-contents-1.0.7"
-      (sources."@npmcli/map-workspaces-2.0.2" // {
+      (sources."@npmcli/map-workspaces-2.0.3" // {
         dependencies = [
-          sources."brace-expansion-2.0.1"
           sources."minimatch-5.0.1"
         ];
       })
@@ -137065,13 +136815,14 @@ in
           sources."camelcase-4.1.0"
         ];
       })
-      sources."brace-expansion-1.1.11"
+      sources."brace-expansion-2.0.1"
       sources."braces-3.0.2"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."builtins-1.0.3"
       (sources."cacache-15.3.0" // {
         dependencies = [
+          sources."glob-7.2.0"
           sources."mkdirp-1.0.4"
         ];
       })
@@ -137118,7 +136869,7 @@ in
       sources."config-chain-1.1.13"
       sources."configstore-3.1.5"
       sources."console-control-strings-1.1.0"
-      sources."core-js-3.22.0"
+      sources."core-js-3.22.3"
       sources."core-util-is-1.0.3"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-6.0.5"
@@ -137146,7 +136897,7 @@ in
       sources."downgrade-root-1.2.2"
       sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.2"
-      sources."ejs-3.1.6"
+      sources."ejs-3.1.7"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       (sources."encoding-0.1.13" // {
@@ -137174,7 +136925,11 @@ in
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.13.0"
       sources."figures-2.0.0"
-      sources."filelist-1.0.2"
+      (sources."filelist-1.0.3" // {
+        dependencies = [
+          sources."minimatch-5.0.1"
+        ];
+      })
       sources."fill-range-7.0.1"
       sources."filter-obj-2.0.2"
       sources."find-up-2.1.0"
@@ -137194,7 +136949,11 @@ in
       sources."get-stdin-4.0.1"
       sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
-      sources."glob-7.2.0"
+      (sources."glob-8.0.1" // {
+        dependencies = [
+          sources."minimatch-5.0.1"
+        ];
+      })
       sources."glob-parent-5.1.2"
       (sources."global-agent-2.2.0" // {
         dependencies = [
@@ -137267,7 +137026,7 @@ in
       sources."ip-regex-2.1.0"
       sources."is-arrayish-0.2.1"
       sources."is-ci-1.2.1"
-      sources."is-core-module-2.8.1"
+      sources."is-core-module-2.9.0"
       sources."is-docker-1.1.0"
       sources."is-extglob-2.1.1"
       sources."is-finite-1.1.0"
@@ -137298,10 +137057,10 @@ in
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
       sources."isurl-1.0.0"
-      (sources."jake-10.8.4" // {
+      (sources."jake-10.8.5" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."async-0.9.2"
+          sources."async-3.2.3"
           sources."chalk-4.1.2"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
@@ -137320,7 +137079,7 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonparse-1.3.1"
       sources."jsprim-1.4.2"
-      sources."just-diff-5.0.1"
+      sources."just-diff-5.0.2"
       sources."just-diff-apply-5.2.0"
       sources."keyv-3.0.0"
       (sources."latest-version-3.1.0" // {
@@ -137385,7 +137144,11 @@ in
       sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.1.2"
+      (sources."minimatch-3.1.2" // {
+        dependencies = [
+          sources."brace-expansion-1.1.11"
+        ];
+      })
       sources."minimist-1.2.6"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
@@ -137412,8 +137175,9 @@ in
           sources."are-we-there-yet-3.0.0"
           sources."env-paths-2.2.1"
           sources."gauge-4.0.4"
+          sources."glob-7.2.0"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."npmlog-6.0.1"
+          sources."npmlog-6.0.2"
           sources."readable-stream-3.6.0"
           sources."semver-7.3.7"
           sources."string-width-4.2.3"
@@ -137449,7 +137213,11 @@ in
           sources."semver-7.3.7"
         ];
       })
-      sources."npm-packlist-3.0.0"
+      (sources."npm-packlist-3.0.0" // {
+        dependencies = [
+          sources."glob-7.2.0"
+        ];
+      })
       (sources."npm-pick-manifest-6.1.1" // {
         dependencies = [
           sources."semver-7.3.7"
@@ -137460,11 +137228,11 @@ in
           sources."@npmcli/fs-2.1.0"
           sources."@npmcli/move-file-2.0.0"
           sources."@tootallnate/once-2.0.0"
-          sources."cacache-16.0.4"
+          sources."cacache-16.0.7"
           sources."debug-4.3.4"
           sources."http-cache-semantics-4.1.0"
           sources."http-proxy-agent-5.0.0"
-          sources."lru-cache-7.8.1"
+          sources."lru-cache-7.9.0"
           (sources."make-fetch-happen-10.1.2" // {
             dependencies = [
               sources."minipass-fetch-2.1.0"
@@ -137643,7 +137411,11 @@ in
       sources."restore-cursor-2.0.0"
       sources."retry-0.12.0"
       sources."reusify-1.0.4"
-      sources."rimraf-3.0.2"
+      (sources."rimraf-3.0.2" // {
+        dependencies = [
+          sources."glob-7.2.0"
+        ];
+      })
       sources."roarr-2.15.4"
       sources."root-check-1.0.0"
       sources."run-async-2.4.1"
@@ -137670,7 +137442,7 @@ in
       sources."slash-3.0.0"
       sources."smart-buffer-4.2.0"
       sources."socks-2.6.2"
-      (sources."socks-proxy-agent-6.1.1" // {
+      (sources."socks-proxy-agent-6.2.0" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -137780,6 +137552,7 @@ in
       sources."tweetnacl-0.14.5"
       (sources."twig-1.15.4" // {
         dependencies = [
+          sources."brace-expansion-1.1.11"
           sources."minimatch-3.0.8"
         ];
       })
@@ -137826,12 +137599,15 @@ in
       sources."wide-align-1.1.5"
       sources."widest-line-2.0.1"
       sources."windows-release-3.3.3"
-      (sources."wrap-ansi-2.1.0" // {
+      (sources."wrap-ansi-7.0.0" // {
         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."ansi-regex-5.0.1"
+          sources."ansi-styles-4.3.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.3"
+          sources."strip-ansi-6.0.1"
         ];
       })
       sources."wrappy-1.0.2"
@@ -137869,7 +137645,7 @@ in
           sources."gauge-3.0.2"
           sources."get-stream-6.0.1"
           sources."has-flag-4.0.0"
-          sources."inquirer-8.2.2"
+          sources."inquirer-8.2.4"
           sources."is-fullwidth-code-point-3.0.0"
           sources."is-stream-2.0.1"
           sources."locate-path-6.0.0"
@@ -137892,7 +137668,7 @@ in
           sources."string-width-4.2.3"
           sources."strip-ansi-6.0.1"
           sources."supports-color-7.2.0"
-          sources."tslib-2.3.1"
+          sources."tslib-2.4.0"
           sources."type-fest-0.21.3"
           sources."which-2.0.2"
         ];
@@ -137906,8 +137682,14 @@ in
               sources."ansi-styles-2.2.1"
             ];
           })
+          sources."is-fullwidth-code-point-1.0.0"
           sources."strip-ansi-3.0.1"
           sources."supports-color-2.0.0"
+          (sources."wrap-ansi-2.1.0" // {
+            dependencies = [
+              sources."string-width-1.0.2"
+            ];
+          })
         ];
       })
     ];
@@ -137935,7 +137717,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@types/fs-extra-9.0.13"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.24"
+      sources."@types/node-17.0.31"
       sources."@types/which-2.0.1"
       sources."braces-3.0.2"
       sources."chalk-5.0.1"
@@ -137949,7 +137731,7 @@ in
       sources."fill-range-7.0.1"
       sources."formdata-polyfill-4.0.10"
       sources."from-0.1.7"
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."glob-parent-5.1.2"
       sources."globby-13.1.1"
       sources."graceful-fs-4.2.10"
@@ -137964,7 +137746,7 @@ in
       sources."micromatch-4.0.5"
       sources."minimist-1.2.6"
       sources."node-domexception-1.0.0"
-      sources."node-fetch-3.2.3"
+      sources."node-fetch-3.2.4"
       sources."path-type-4.0.0"
       sources."pause-stream-0.0.11"
       sources."picomatch-2.3.1"
diff --git a/pkgs/development/ocaml-modules/alcotest/default.nix b/pkgs/development/ocaml-modules/alcotest/default.nix
index bb1b18e3ec1..c54deed737a 100644
--- a/pkgs/development/ocaml-modules/alcotest/default.nix
+++ b/pkgs/development/ocaml-modules/alcotest/default.nix
@@ -1,18 +1,20 @@
 { lib, buildDunePackage, fetchurl
-, astring, cmdliner, fmt, uuidm, re, stdlib-shims, uutf
+, astring, cmdliner, fmt, uuidm, re, stdlib-shims, uutf, ocaml-syntax-shims
 }:
 
 buildDunePackage rec {
   pname = "alcotest";
-  version = "1.4.0";
+  version = "1.5.0";
 
   useDune2 = true;
 
   src = fetchurl {
-    url = "https://github.com/mirage/alcotest/releases/download/${version}/alcotest-mirage-${version}.tbz";
-    sha256 = "sha256:1h9yp44snb6sgm5g1x3wg4gwjscic7i56jf0j8jr07355pxwrami";
+    url = "https://github.com/mirage/alcotest/releases/download/${version}/alcotest-js-${version}.tbz";
+    sha256 = "sha256-VCgZB+AteJld8kbcLhDtGCgoKUrSBZNHoeOhM1SEj2w=";
   };
 
+  nativeBuildInputs = [ ocaml-syntax-shims ];
+
   propagatedBuildInputs = [ astring cmdliner fmt uuidm re stdlib-shims uutf ];
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/atd/default.nix b/pkgs/development/ocaml-modules/atd/default.nix
index 7468900e07e..5ff5496ed6f 100644
--- a/pkgs/development/ocaml-modules/atd/default.nix
+++ b/pkgs/development/ocaml-modules/atd/default.nix
@@ -1,25 +1,17 @@
-{ lib, menhir, easy-format, fetchurl, buildDunePackage, which, re, nixosTests }:
+{ lib, atdgen-codec-runtime, menhir, easy-format, buildDunePackage, which, re, nixosTests }:
 
 buildDunePackage rec {
   pname = "atd";
-  version = "2.2.1";
+  inherit (atdgen-codec-runtime) version src;
 
-  useDune2 = true;
-
-  minimumOCamlVersion = "4.02";
-
-  src = fetchurl {
-    url = "https://github.com/ahrefs/atd/releases/download/2.2.1/atd-2.2.1.tbz";
-    sha256 = "17jm79np69ixp53a4njxnlb1pg8sd1g47nm3nyki9clkc8d4qsyv";
-  };
+  minimalOCamlVersion = "4.08";
 
   nativeBuildInputs = [ which menhir ];
-  propagatedBuildInputs = [ easy-format re ];
+  buildInputs = [ re ];
+  propagatedBuildInputs = [ easy-format ];
 
   strictDeps = true;
 
-  doCheck = true;
-
   passthru.tests = {
     smoke-test = nixosTests.atd;
   };
@@ -27,7 +19,7 @@ buildDunePackage rec {
   meta = with lib; {
     homepage = "https://github.com/mjambon/atd";
     description = "Syntax for cross-language type definitions";
-    license = licenses.bsd3;
+    license = licenses.mit;
     maintainers = with maintainers; [ aij jwilberding ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/atdgen/codec-runtime.nix b/pkgs/development/ocaml-modules/atdgen/codec-runtime.nix
new file mode 100644
index 00000000000..9ad64549ea3
--- /dev/null
+++ b/pkgs/development/ocaml-modules/atdgen/codec-runtime.nix
@@ -0,0 +1,18 @@
+{ lib, buildDunePackage, fetchurl }:
+
+buildDunePackage rec {
+  pname = "atdgen-codec-runtime";
+  version = "2.4.1";
+
+  src = fetchurl {
+    url = "https://github.com/ahrefs/atd/releases/download/${version}/atdgen-codec-runtime-${version}.tbz";
+    sha256 = "sha256:16888rnvhgh5yxxsnzsj10g5pzs1l4dn27n23kk2f4641dn26s3a";
+  };
+
+  meta = {
+    description = "Runtime for atdgen generated bucklescript converters";
+    homepage = "https://github.com/ahrefs/atd";
+    maintainers = [ lib.maintainers.vbgl ];
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/atdgen/default.nix b/pkgs/development/ocaml-modules/atdgen/default.nix
index 2537c92d97a..f35e6617a9b 100644
--- a/pkgs/development/ocaml-modules/atdgen/default.nix
+++ b/pkgs/development/ocaml-modules/atdgen/default.nix
@@ -1,26 +1,17 @@
-{ buildDunePackage, atd, biniou, yojson }:
-
-let runtime =
-  buildDunePackage {
-    pname = "atdgen-runtime";
-    inherit (atd) version useDune2 src;
-
-    propagatedBuildInputs = [ biniou yojson ];
-
-    meta = { inherit (atd.meta) license; };
-  }
-; in
+{ buildDunePackage, alcotest, atd, atdgen-codec-runtime, atdgen-runtime, biniou, re, yojson }:
 
 buildDunePackage {
   pname = "atdgen";
-  inherit (atd) version useDune2 src;
+  inherit (atdgen-codec-runtime) version src;
+
+  buildInputs = [ atd re ];
 
-  buildInputs = [ atd ];
+  propagatedBuildInputs = [ atdgen-runtime ];
 
-  propagatedBuildInputs = [ runtime ];
+  doCheck = true;
+  checkInputs = [ alcotest atdgen-codec-runtime ];
 
-  meta = {
+  meta = atd.meta // {
     description = "Generates efficient JSON serializers, deserializers and validators";
-    inherit (atd.meta) license;
   };
 }
diff --git a/pkgs/development/ocaml-modules/atdgen/runtime.nix b/pkgs/development/ocaml-modules/atdgen/runtime.nix
new file mode 100644
index 00000000000..0fc98a1f66b
--- /dev/null
+++ b/pkgs/development/ocaml-modules/atdgen/runtime.nix
@@ -0,0 +1,15 @@
+{ buildDunePackage, atdgen-codec-runtime, biniou, camlp-streams, yojson }:
+
+buildDunePackage rec {
+  pname = "atdgen-runtime";
+  inherit (atdgen-codec-runtime) version src;
+
+  minimalOCamlVersion = "4.08";
+
+  propagatedBuildInputs = [ biniou camlp-streams yojson ];
+
+  meta = atdgen-codec-runtime.meta // {
+    description = "Runtime library for code generated by atdgen";
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix
index 2bf671c6a09..52287277276 100644
--- a/pkgs/development/ocaml-modules/bap/default.nix
+++ b/pkgs/development/ocaml-modules/bap/default.nix
@@ -10,7 +10,7 @@
 , z3
 }:
 
-if !lib.versionAtLeast ocaml.version "4.08"
+if lib.versionOlder ocaml.version "4.08"
 then throw "BAP is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix
index 865518ec29c..731f6e26363 100644
--- a/pkgs/development/ocaml-modules/batteries/default.nix
+++ b/pkgs/development/ocaml-modules/batteries/default.nix
@@ -2,7 +2,7 @@
 , doCheck ? lib.versionAtLeast ocaml.version "4.08" && !stdenv.isAarch64
 }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "batteries is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/bitstring/ppx.nix b/pkgs/development/ocaml-modules/bitstring/ppx.nix
index 4d391d3458d..9eb4c74f574 100644
--- a/pkgs/development/ocaml-modules/bitstring/ppx.nix
+++ b/pkgs/development/ocaml-modules/bitstring/ppx.nix
@@ -3,7 +3,7 @@
 , ounit
 }:
 
-if !lib.versionAtLeast ppxlib.version "0.18.0"
+if lib.versionOlder ppxlib.version "0.18.0"
 then throw "ppx_bitstring is not available with ppxlib-${ppxlib.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/bitv/default.nix b/pkgs/development/ocaml-modules/bitv/default.nix
index 07649f3655b..a986a46f293 100644
--- a/pkgs/development/ocaml-modules/bitv/default.nix
+++ b/pkgs/development/ocaml-modules/bitv/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, autoreconfHook, which, ocaml, findlib }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "bitv is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/bz2/default.nix b/pkgs/development/ocaml-modules/bz2/default.nix
index 4ac0262e1ee..6d8b56ae232 100644
--- a/pkgs/development/ocaml-modules/bz2/default.nix
+++ b/pkgs/development/ocaml-modules/bz2/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitLab, ocaml, findlib, bzip2, autoreconfHook }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "bz2 is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/camlp-streams/default.nix b/pkgs/development/ocaml-modules/camlp-streams/default.nix
new file mode 100644
index 00000000000..d5c8ac945d5
--- /dev/null
+++ b/pkgs/development/ocaml-modules/camlp-streams/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildDunePackage, fetchFromGitHub }:
+
+buildDunePackage rec {
+  pname = "camlp-streams";
+  version = "5.0";
+
+  src = fetchFromGitHub {
+    owner = "ocaml";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256:1wd5k0irzwi841b27pbx0n5fdybbgx97184zm8cjajizd2j8w0g5";
+  };
+
+  meta = {
+    description = "Stream and Genlex libraries for use with Camlp4 and Camlp5";
+    license = lib.licenses.lgpl21Only;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/camlpdf/default.nix b/pkgs/development/ocaml-modules/camlpdf/default.nix
index 06456b9c930..cbcb67e2d29 100644
--- a/pkgs/development/ocaml-modules/camlpdf/default.nix
+++ b/pkgs/development/ocaml-modules/camlpdf/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, which, ocaml, findlib }:
 
-if !lib.versionAtLeast ocaml.version "4.10"
+if lib.versionOlder ocaml.version "4.10"
 then throw "camlpdf is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/caqti/default.nix b/pkgs/development/ocaml-modules/caqti/default.nix
index e8367402cad..a4ac9dadad1 100644
--- a/pkgs/development/ocaml-modules/caqti/default.nix
+++ b/pkgs/development/ocaml-modules/caqti/default.nix
@@ -1,8 +1,10 @@
-{ lib, fetchFromGitHub, buildDunePackage, cppo, logs, ptime, uri }:
+{ lib, fetchFromGitHub, buildDunePackage
+, cppo, logs, ptime, uri, bigstringaf
+, re, cmdliner, alcotest }:
 
 buildDunePackage rec {
   pname = "caqti";
-  version = "1.7.0";
+  version = "1.8.0";
   useDune2 = true;
 
   minimumOCamlVersion = "4.04";
@@ -11,11 +13,14 @@ buildDunePackage rec {
     owner = "paurkedal";
     repo = "ocaml-${pname}";
     rev = "v${version}";
-    sha256 = "sha256-NGK38so6ZVCRbtV3ww1u31EFAjkHgDdsFfFUwc8ldm4=";
+    sha256 = "sha256-8uKlrq9j1Z3QzkCyoRIn2j6wCdGyo7BY7XlbFHN1xVE=";
   };
 
   nativeBuildInputs = [ cppo ];
-  propagatedBuildInputs = [ logs ptime uri ];
+  propagatedBuildInputs = [ logs ptime uri bigstringaf ];
+  checkInputs = [ re cmdliner alcotest ];
+
+  doCheck = true;
 
   meta = {
     description = "Unified interface to relational database libraries";
diff --git a/pkgs/development/ocaml-modules/cpdf/default.nix b/pkgs/development/ocaml-modules/cpdf/default.nix
index 3f60263736e..b1694885258 100644
--- a/pkgs/development/ocaml-modules/cpdf/default.nix
+++ b/pkgs/development/ocaml-modules/cpdf/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, ocaml, findlib, camlpdf, ncurses }:
 
-if !lib.versionAtLeast ocaml.version "4.10"
+if lib.versionOlder ocaml.version "4.10"
 then throw "cpdf is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/cstruct/lwt.nix b/pkgs/development/ocaml-modules/cstruct/lwt.nix
index df8941d1260..60e73449264 100644
--- a/pkgs/development/ocaml-modules/cstruct/lwt.nix
+++ b/pkgs/development/ocaml-modules/cstruct/lwt.nix
@@ -1,6 +1,6 @@
 { lib, buildDunePackage, cstruct, lwt }:
 
-if !lib.versionAtLeast (cstruct.version or "1") "3"
+if lib.versionOlder (cstruct.version or "1") "3"
 then cstruct
 else
 
diff --git a/pkgs/development/ocaml-modules/cstruct/ppx.nix b/pkgs/development/ocaml-modules/cstruct/ppx.nix
index 523a2c04f61..6705602ef25 100644
--- a/pkgs/development/ocaml-modules/cstruct/ppx.nix
+++ b/pkgs/development/ocaml-modules/cstruct/ppx.nix
@@ -2,7 +2,7 @@
 , ounit, cppo, ppx_sexp_conv, cstruct-unix, cstruct-sexp
 }:
 
-if !lib.versionAtLeast (cstruct.version or "1") "3"
+if lib.versionOlder (cstruct.version or "1") "3"
 then cstruct
 else
 
diff --git a/pkgs/development/ocaml-modules/cstruct/sexp.nix b/pkgs/development/ocaml-modules/cstruct/sexp.nix
index b04810e4803..69972ad3403 100644
--- a/pkgs/development/ocaml-modules/cstruct/sexp.nix
+++ b/pkgs/development/ocaml-modules/cstruct/sexp.nix
@@ -1,6 +1,6 @@
 { lib, buildDunePackage, ocaml, alcotest, cstruct, sexplib }:
 
-if !lib.versionAtLeast (cstruct.version or "1") "3"
+if lib.versionOlder (cstruct.version or "1") "3"
 then cstruct
 else
 
diff --git a/pkgs/development/ocaml-modules/cstruct/unix.nix b/pkgs/development/ocaml-modules/cstruct/unix.nix
index 1ea27bb04de..c3d280d785a 100644
--- a/pkgs/development/ocaml-modules/cstruct/unix.nix
+++ b/pkgs/development/ocaml-modules/cstruct/unix.nix
@@ -1,6 +1,6 @@
 { lib, buildDunePackage, cstruct }:
 
-if !lib.versionAtLeast (cstruct.version or "1") "3"
+if lib.versionOlder (cstruct.version or "1") "3"
 then cstruct
 else
 
diff --git a/pkgs/development/ocaml-modules/csv/lwt.nix b/pkgs/development/ocaml-modules/csv/lwt.nix
index b0f771209aa..c90dc019b9d 100644
--- a/pkgs/development/ocaml-modules/csv/lwt.nix
+++ b/pkgs/development/ocaml-modules/csv/lwt.nix
@@ -1,6 +1,6 @@
 { lib, buildDunePackage, ocaml, csv, ocaml_lwt }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "csv-lwt is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/ctypes/default.nix b/pkgs/development/ocaml-modules/ctypes/default.nix
index 0558cf4a163..6e9aa98e1cc 100644
--- a/pkgs/development/ocaml-modules/ctypes/default.nix
+++ b/pkgs/development/ocaml-modules/ctypes/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, ocaml, findlib, libffi, pkg-config, ncurses, integers, bigarray-compat }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "ctypes is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/dune-action-plugin/default.nix b/pkgs/development/ocaml-modules/dune-action-plugin/default.nix
index c39239525d1..1892c0dbada 100644
--- a/pkgs/development/ocaml-modules/dune-action-plugin/default.nix
+++ b/pkgs/development/ocaml-modules/dune-action-plugin/default.nix
@@ -10,6 +10,10 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ dune-glob dune-private-libs ];
 
+  preBuild = ''
+    rm -r vendor/csexp
+  '';
+
   meta = with lib; {
     inherit (dune_3.meta) homepage;
     description = "API for writing dynamic Dune actions";
diff --git a/pkgs/development/ocaml-modules/dune-glob/default.nix b/pkgs/development/ocaml-modules/dune-glob/default.nix
index 04b5e762379..59b78a7b775 100644
--- a/pkgs/development/ocaml-modules/dune-glob/default.nix
+++ b/pkgs/development/ocaml-modules/dune-glob/default.nix
@@ -10,6 +10,10 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ dune-private-libs ];
 
+  preBuild = ''
+    rm -r vendor/csexp
+  '';
+
   meta = with lib; {
     inherit (dune_3.meta) homepage;
     description = "Glob string matching language supported by dune";
diff --git a/pkgs/development/ocaml-modules/dune-private-libs/default.nix b/pkgs/development/ocaml-modules/dune-private-libs/default.nix
index 9b45064d198..ecd8a0016e6 100644
--- a/pkgs/development/ocaml-modules/dune-private-libs/default.nix
+++ b/pkgs/development/ocaml-modules/dune-private-libs/default.nix
@@ -13,6 +13,10 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ stdune ];
 
+  preBuild = ''
+    rm -r vendor/csexp
+  '';
+
   meta = with lib; {
     description = "Private libraries of Dune";
     maintainers = [ maintainers.marsam ];
diff --git a/pkgs/development/ocaml-modules/dune-rpc/default.nix b/pkgs/development/ocaml-modules/dune-rpc/default.nix
new file mode 100644
index 00000000000..c0b2d958169
--- /dev/null
+++ b/pkgs/development/ocaml-modules/dune-rpc/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildDunePackage, dune_3, stdune, ordering, pp, xdg, dyn }:
+
+buildDunePackage rec {
+  pname = "dune-rpc";
+  inherit (dune_3) src version;
+
+  duneVersion = "3";
+
+  dontAddPrefix = true;
+
+  buildInputs = [ stdune ordering pp xdg dyn ];
+
+  preBuild = ''
+    rm -r vendor/csexp
+  '';
+
+  meta = with lib; {
+    description = "Library to connect and control a running dune instance";
+    inherit (dune_3.meta) homepage;
+    maintainers = with lib.maintainers; [ ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/dune-site/default.nix b/pkgs/development/ocaml-modules/dune-site/default.nix
index 8f51e182970..9eb2dcba5a4 100644
--- a/pkgs/development/ocaml-modules/dune-site/default.nix
+++ b/pkgs/development/ocaml-modules/dune-site/default.nix
@@ -10,6 +10,10 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ dune-private-libs ];
 
+  preBuild = ''
+    rm -r vendor/csexp
+  '';
+
   meta = with lib; {
     description = "A library for embedding location information inside executable and libraries";
     inherit (dune_3.meta) homepage;
diff --git a/pkgs/development/ocaml-modules/erm_xml/default.nix b/pkgs/development/ocaml-modules/erm_xml/default.nix
index ebf9cdaad69..d1f93f57264 100644
--- a/pkgs/development/ocaml-modules/erm_xml/default.nix
+++ b/pkgs/development/ocaml-modules/erm_xml/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "erm_xml is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/expat/default.nix b/pkgs/development/ocaml-modules/expat/default.nix
index 6fb7927073d..0bd6c733e6f 100644
--- a/pkgs/development/ocaml-modules/expat/default.nix
+++ b/pkgs/development/ocaml-modules/expat/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   strictDeps = true;
 
-  doCheck = !lib.versionAtLeast ocaml.version "4.06";
+  doCheck = lib.versionOlder ocaml.version "4.06";
   checkTarget = "testall";
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/ocaml-modules/farfadet/default.nix b/pkgs/development/ocaml-modules/farfadet/default.nix
index 1ac5595a015..a02866e3b4f 100644
--- a/pkgs/development/ocaml-modules/farfadet/default.nix
+++ b/pkgs/development/ocaml-modules/farfadet/default.nix
@@ -2,7 +2,7 @@
 , faraday
 }:
 
-if !lib.versionAtLeast ocaml.version "4.3"
+if lib.versionOlder ocaml.version "4.3"
 then throw "farfadet is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/fiber/default.nix b/pkgs/development/ocaml-modules/fiber/default.nix
new file mode 100644
index 00000000000..fe805c82a35
--- /dev/null
+++ b/pkgs/development/ocaml-modules/fiber/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildDunePackage, dune_3, stdune, dyn }:
+
+buildDunePackage rec {
+  pname = "fiber";
+  inherit (dune_3) src version;
+
+  duneVersion = "3";
+
+  dontAddPrefix = true;
+
+  buildInputs = [ stdune dyn ];
+
+  preBuild = ''
+    rm -r vendor/csexp
+  '';
+
+  meta = with lib; {
+    description = "Structured concurrency library";
+    inherit (dune_3.meta) homepage;
+    maintainers = with lib.maintainers; [ ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/fmt/default.nix b/pkgs/development/ocaml-modules/fmt/default.nix
index edf8d08eaab..4816cab57cf 100644
--- a/pkgs/development/ocaml-modules/fmt/default.nix
+++ b/pkgs/development/ocaml-modules/fmt/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, cmdliner, seq, stdlib-shims }:
 
-if !lib.versionAtLeast ocaml.version "4.05"
+if lib.versionOlder ocaml.version "4.05"
 then throw "fmt is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/fpath/default.nix b/pkgs/development/ocaml-modules/fpath/default.nix
index 53489f69cc3..84f25fed284 100644
--- a/pkgs/development/ocaml-modules/fpath/default.nix
+++ b/pkgs/development/ocaml-modules/fpath/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, astring }:
 
-if !lib.versionAtLeast ocaml.version "4.03"
+if lib.versionOlder ocaml.version "4.03"
 then throw "fpath is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/javalib/default.nix b/pkgs/development/ocaml-modules/javalib/default.nix
index ccd3fa19a92..a12ade51c2e 100644
--- a/pkgs/development/ocaml-modules/javalib/default.nix
+++ b/pkgs/development/ocaml-modules/javalib/default.nix
@@ -8,7 +8,7 @@
 , extlib
 }:
 
-if !lib.versionAtLeast ocaml.version "4.04"
+if lib.versionOlder ocaml.version "4.04"
 then throw "javalib is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix
index 85c27f93a09..fa525dbba81 100644
--- a/pkgs/development/ocaml-modules/lablgl/default.nix
+++ b/pkgs/development/ocaml-modules/lablgl/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, ocaml, findlib, libGLU, libGL, freeglut } :
 
-if !lib.versionAtLeast ocaml.version "4.03"
+if lib.versionOlder ocaml.version "4.03"
 then throw "lablgl is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
index 736e345dfb3..75b3940a1d5 100644
--- a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitLab, ocaml, findlib, camlp4, config-file, lablgtk, xmlm }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 || lib.versionAtLeast ocaml.version "4.13"
 then throw "lablgtk-extras is not available for OCaml ${ocaml.version}"
 else
diff --git a/pkgs/development/ocaml-modules/llvm/default.nix b/pkgs/development/ocaml-modules/llvm/default.nix
index 9ab3d906ab1..c0600df64f2 100644
--- a/pkgs/development/ocaml-modules/llvm/default.nix
+++ b/pkgs/development/ocaml-modules/llvm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, python2, cmake, libllvm, ocaml, findlib, ctypes }:
+{ stdenv, lib, python3, cmake, libllvm, ocaml, findlib, ctypes }:
 
 let version = lib.getVersion libllvm; in
 
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
 
   inherit (libllvm) src;
 
-  nativeBuildInputs = [ cmake python2 ocaml findlib ];
+  nativeBuildInputs = [ cmake python3 ocaml findlib ];
   buildInputs = [ ctypes ];
   propagatedBuildInputs = [ libllvm ];
 
diff --git a/pkgs/development/ocaml-modules/logs/default.nix b/pkgs/development/ocaml-modules/logs/default.nix
index 4359f09ebd3..adc7f255b19 100644
--- a/pkgs/development/ocaml-modules/logs/default.nix
+++ b/pkgs/development/ocaml-modules/logs/default.nix
@@ -8,7 +8,7 @@ let
   webpage = "https://erratique.ch/software/${pname}";
 in
 
-if !lib.versionAtLeast ocaml.version "4.03"
+if lib.versionOlder ocaml.version "4.03"
 then throw "logs is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/lua-ml/default.nix b/pkgs/development/ocaml-modules/lua-ml/default.nix
index 586fc395064..523e453b7d4 100644
--- a/pkgs/development/ocaml-modules/lua-ml/default.nix
+++ b/pkgs/development/ocaml-modules/lua-ml/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, opaline }:
 
-if !lib.versionAtLeast ocaml.version "4.07"
+if lib.versionOlder ocaml.version "4.07"
 then throw "lua-ml is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix
index 96e3abc2674..5f1059395ab 100644
--- a/pkgs/development/ocaml-modules/lwt/default.nix
+++ b/pkgs/development/ocaml-modules/lwt/default.nix
@@ -4,7 +4,7 @@
 , ocaml-syntax-shims
 }:
 
-let inherit (lib) optional versionAtLeast; in
+let inherit (lib) optional versionOlder; in
 
 buildDunePackage rec {
   pname = "lwt";
@@ -22,9 +22,9 @@ buildDunePackage rec {
   strictDeps = true;
 
   nativeBuildInputs = [ pkg-config cppo ]
-    ++ optional (!versionAtLeast ocaml.version "4.08") ocaml-syntax-shims;
+    ++ optional (versionOlder ocaml.version "4.08") ocaml-syntax-shims;
   buildInputs = [ dune-configurator ]
-    ++ optional (!versionAtLeast ocaml.version "4.07") ncurses;
+    ++ optional (versionOlder ocaml.version "4.07") ncurses;
   propagatedBuildInputs = [ libev mmap ocplib-endian seq result ];
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/nocrypto/default.nix b/pkgs/development/ocaml-modules/nocrypto/default.nix
index d179c8c1c90..e34e3ae0146 100644
--- a/pkgs/development/ocaml-modules/nocrypto/default.nix
+++ b/pkgs/development/ocaml-modules/nocrypto/default.nix
@@ -15,7 +15,7 @@ let
   '';
 in
 
-if !versionAtLeast ocaml.version "4.08"
+if versionOlder ocaml.version "4.08"
 then throw "nocrypto is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/notty/default.nix b/pkgs/development/ocaml-modules/notty/default.nix
index 1598b2ee5cd..2e53944a306 100644
--- a/pkgs/development/ocaml-modules/notty/default.nix
+++ b/pkgs/development/ocaml-modules/notty/default.nix
@@ -4,7 +4,7 @@
 
 with lib;
 
-if !versionAtLeast ocaml.version "4.05"
+if versionOlder ocaml.version "4.05"
 then throw "notty is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/default.nix b/pkgs/development/ocaml-modules/ocaml-lsp/default.nix
index 602f5eb77fe..c1831e660f4 100644
--- a/pkgs/development/ocaml-modules/ocaml-lsp/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-lsp/default.nix
@@ -1,14 +1,13 @@
-{ lib, buildDunePackage, jsonrpc, lsp, re, makeWrapper, dot-merlin-reader, spawn }:
+{ lib, buildDunePackage, lsp, xdg, re, fiber, makeWrapper, dot-merlin-reader, spawn }:
 
-buildDunePackage {
+buildDunePackage rec {
   pname = "ocaml-lsp-server";
-  inherit (jsonrpc) version src;
-  useDune2 = true;
-
-  inherit (lsp) preBuild;
+  inherit (lsp) version src preBuild;
+  duneVersion = if lib.versionAtLeast version "1.10.0" then "3" else "2";
 
   buildInputs = lsp.buildInputs ++ [ lsp re ]
-  ++ lib.optional (lib.versionAtLeast jsonrpc.version "1.9") spawn;
+  ++ lib.optional (lib.versionAtLeast version "1.9") spawn
+  ++ lib.optionals (lib.versionAtLeast version "1.10") [ fiber xdg ];
 
   nativeBuildInputs = [ makeWrapper ];
 
@@ -16,7 +15,7 @@ buildDunePackage {
     wrapProgram $out/bin/ocamllsp --prefix PATH : ${dot-merlin-reader}/bin
   '';
 
-  meta = jsonrpc.meta // {
+  meta = lsp.meta // {
     description = "OCaml Language Server Protocol implementation";
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
index 4f192fe20ec..2e6802a5042 100644
--- a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
+++ b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
@@ -10,10 +10,14 @@
 }:
 
 let params =
-  if lib.versionAtLeast ocaml.version "4.13"
+  if lib.versionAtLeast ocaml.version "4.14"
   then {
-    version = "1.10.3";
-    sha256 = "sha256-o6wQc7Byi5T0vbARF3LAq69/9wMkOZRQ6rcVa/rBUfE=";
+    version = "1.11.3";
+    sha256 = "sha256-KlMFh05O04I0Xil2B+nL2hUxZw0jaDMUnI23oUwGyhs=";
+  } else if lib.versionAtLeast ocaml.version "4.13"
+  then {
+    version = "1.10.5";
+    sha256 = "sha256-TeJS6t1ruWhWPvWNatrnSUWI6T17XKiosHLYizBDDcw=";
   } else if lib.versionAtLeast ocaml.version "4.12"
   then {
     version = "1.9.0";
@@ -32,7 +36,7 @@ buildDunePackage rec {
     inherit (params) sha256;
   };
 
-  useDune2 = true;
+  duneVersion = if lib.versionAtLeast version "1.10.0" then "3" else "2";
   minimalOCamlVersion = "4.06";
 
   buildInputs =
diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix b/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix
index cd01116b820..faa14951907 100644
--- a/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix
+++ b/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix
@@ -8,18 +8,23 @@
 , omd
 , octavius
 , dune-build-info
+, dune-rpc
 , uutf
+, dyn
 , re
-, pp
+, stdune
+, dune_3
 , csexp
+, pp
 , cmdliner
+, ordering
 , ocamlformat-rpc-lib
 }:
 
 buildDunePackage rec {
   pname = "lsp";
   inherit (jsonrpc) version src;
-  useDune2 = true;
+  duneVersion = if lib.versionAtLeast version "1.10.0" then "3" else "2";
   minimumOCamlVersion =
     if lib.versionAtLeast version "1.7.0" then
       "4.12"
@@ -30,15 +35,30 @@ buildDunePackage rec {
   # They are vendored by upstream only because it is then easier to install
   # ocaml-lsp without messing with your opam switch, but nix should prevent
   # this type of problems without resorting to vendoring.
-  preBuild = ''
+  preBuild = lib.optionalString (lib.versionOlder version "1.10.4") ''
     rm -r ocaml-lsp-server/vendor/{octavius,uutf,omd,cmdliner}
   '';
 
   buildInputs =
-    if lib.versionAtLeast version "1.7.0" then
+    if lib.versionAtLeast version "1.10.0" then
+      [
+        pp
+        re
+        ppx_yojson_conv_lib
+        octavius
+        dune-build-info
+        dune-rpc
+        omd
+        cmdliner
+        ocamlformat-rpc-lib
+        dyn
+        stdune
+      ]
+    else if lib.versionAtLeast version "1.7.0" then
       [ pp re ppx_yojson_conv_lib octavius dune-build-info omd cmdliner ocamlformat-rpc-lib ]
     else
-      [ cppo
+      [
+        cppo
         ppx_yojson_conv_lib
         ocaml-syntax-shims
         octavius
diff --git a/pkgs/development/ocaml-modules/ocamlformat-rpc-lib/default.nix b/pkgs/development/ocaml-modules/ocamlformat-rpc-lib/default.nix
index 9a1d26f21f0..e3582cbed1d 100644
--- a/pkgs/development/ocaml-modules/ocamlformat-rpc-lib/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlformat-rpc-lib/default.nix
@@ -1,12 +1,24 @@
-{ lib, fetchurl, buildDunePackage, csexp, sexplib0 }:
+{ lib, fetchurl, buildDunePackage, ocaml, csexp, sexplib0 }:
+
+# for compat with ocaml-lsp
+let source =
+  if lib.versionAtLeast ocaml.version "4.13"
+  then {
+    version = "0.21.0";
+    sha256 = "sha256-KhgX9rxYH/DM6fCqloe4l7AnJuKrdXSe6Y1XY3BXMy0=";
+  } else {
+    version = "0.20.0";
+    sha256 = "sha256-JtmNCgwjbCyUE4bWqdH5Nc2YSit+rekwS43DcviIfgk=";
+  };
+in
 
 buildDunePackage rec {
   pname = "ocamlformat-rpc-lib";
-  version = "0.19.0";
+  inherit (source) version;
 
   src = fetchurl {
     url = "https://github.com/ocaml-ppx/ocamlformat/releases/download/${version}/ocamlformat-${version}.tbz";
-    sha256 = "sha256-YvxGqujwpKM85/jXcm1xCb/2Fepvy1DRSC8h0g7lD0Y=";
+    inherit (source) sha256;
   };
 
   minimumOCamlVersion = "4.08";
diff --git a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
index 763617be132..d084e7f8a62 100644
--- a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
+++ b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib, astring, pprint }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "ocp-ocamlres is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
index 480ea6daf20..6ffeec98304 100644
--- a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
@@ -9,7 +9,7 @@
 , num
 }:
 
-if !lib.versionAtLeast ocaml.version "4.03"
+if lib.versionOlder ocaml.version "4.03"
 then throw "ocsigen-deriving is not available of OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/ocsigen-ppx-rpc/default.nix b/pkgs/development/ocaml-modules/ocsigen-ppx-rpc/default.nix
new file mode 100644
index 00000000000..0db40c254bd
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocsigen-ppx-rpc/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildDunePackage, fetchFromGitHub, ppxlib }:
+
+buildDunePackage rec {
+  pname = "ocsigen-ppx-rpc";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "ocsigen";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256:0qgasd89ayamgl2rfyxsipznmwa3pjllkyq9qg0g1f41h8ixpsfh";
+  };
+
+  propagatedBuildInputs = [ ppxlib ];
+
+  meta = {
+    inherit (src.meta) homepage;
+    description = "Syntax for RPCs for Eliom and Ocsigen Start";
+    license = lib.licenses.lgpl21Only;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/ocsigen-start/default.nix b/pkgs/development/ocaml-modules/ocsigen-start/default.nix
index 4f439733740..1df74b9036d 100644
--- a/pkgs/development/ocaml-modules/ocsigen-start/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-start/default.nix
@@ -2,13 +2,15 @@
 , cohttp-lwt-unix, eliom
 , resource-pooling
 , ocamlnet
+, ocsigen-ppx-rpc
 }:
 
 stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-ocsigen-start";
-  version = "4.5.0";
+  version = "6.0.1";
 
   nativeBuildInputs = [ ocaml findlib eliom ];
+  buildInputs = [ ocsigen-ppx-rpc ];
   propagatedBuildInputs = [ pgocaml_ppx safepass ocsigen-toolkit yojson resource-pooling cohttp-lwt-unix ocamlnet ];
 
   strictDeps = true;
@@ -19,7 +21,7 @@ stdenv.mkDerivation rec {
     owner = "ocsigen";
     repo = "ocsigen-start";
     rev = version;
-    sha256 = "sha256:1n94r8rbkzxbgcz5w135n6f2cwpc91bdvf7yslcdq4cn713rncmq";
+    sha256 = "sha256:097bjaxvb1canilmqr8ay3ihig2msq7z8mi0g0rnbciikj1jsrym";
   };
 
   preInstall = ''
diff --git a/pkgs/development/ocaml-modules/ppxlib/default.nix b/pkgs/development/ocaml-modules/ppxlib/default.nix
index c5b2dd762ce..2b7feddfa89 100644
--- a/pkgs/development/ocaml-modules/ppxlib/default.nix
+++ b/pkgs/development/ocaml-modules/ppxlib/default.nix
@@ -49,7 +49,7 @@ let param = {
 }."${version}"; in
 
 if param ? max_version && lib.versionAtLeast ocaml.version param.max_version
-|| param ? min_version && !lib.versionAtLeast ocaml.version param.min_version
+|| param ? min_version && lib.versionOlder ocaml.version param.min_version
 then throw "ppxlib-${version} is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/reactivedata/default.nix b/pkgs/development/ocaml-modules/reactivedata/default.nix
index 23ebb3144d1..9be32d28bab 100644
--- a/pkgs/development/ocaml-modules/reactivedata/default.nix
+++ b/pkgs/development/ocaml-modules/reactivedata/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, react, opaline }:
 
-if !lib.versionAtLeast ocaml.version "4.04"
+if lib.versionOlder ocaml.version "4.04"
 then throw "reactiveData is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/reperf/default.nix b/pkgs/development/ocaml-modules/reperf/default.nix
new file mode 100644
index 00000000000..bcae9dc695c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/reperf/default.nix
@@ -0,0 +1,41 @@
+{ buildDunePackage, fetchFromGitHub, lib, printbox-text, reason }:
+
+buildDunePackage rec {
+  pname = "reperf";
+  version = "1.5.1";
+
+  src = fetchFromGitHub {
+    owner = "bryphe";
+    repo = "reperf";
+    rev = "68ef2f96899c09e6ac7d929b0375f7a806aee067";
+    sha256 = "sha256-ASujTsH4eDAYLNalB9Xt1p3C8x+FI0kMldZBYaXMCWc=";
+  };
+
+  postPatch = ''
+    substituteInPlace src/dune --replace "printbox" "printbox-text"
+  '';
+
+  nativeBuildInputs = [ reason ];
+
+  buildInputs = [
+    printbox-text
+  ];
+
+  meta = with lib; {
+    description = "Native Reason + JSOO cross-platform performance benchmarking tools";
+    longDescription = ''
+      Inspired by the core_bench tools from Janestreet.
+
+      reperf helps with:
+      * Timing: time spent in a code block
+      * Call count: frequency of code-path calls
+      * Allocations: code-block impact to garbage collector
+
+      Supports benchmarks, which are test cases that exercise performance scenarios.
+      Outputs a JSON performance report, and compare it with previous iterations - and fail if a regression is detected.
+    '';
+    homepage = "https://github.com/bryphe/reperf";
+    maintainers = with maintainers; [ superherointj ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix
index ec1b59c0407..eaad7e7f1bb 100644
--- a/pkgs/development/ocaml-modules/sawja/default.nix
+++ b/pkgs/development/ocaml-modules/sawja/default.nix
@@ -5,7 +5,7 @@ let
   version = "1.5.11";
 in
 
-if !lib.versionAtLeast ocaml.version "4.07"
+if lib.versionOlder ocaml.version "4.07"
 then throw "${pname} is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/sedlex/default.nix b/pkgs/development/ocaml-modules/sedlex/default.nix
index b808145bcbb..685d4426cfc 100644
--- a/pkgs/development/ocaml-modules/sedlex/default.nix
+++ b/pkgs/development/ocaml-modules/sedlex/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib, gen, ppx_tools_versioned, ocaml-migrate-parsetree }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "sedlex is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/sosa/default.nix b/pkgs/development/ocaml-modules/sosa/default.nix
index 141e2a50193..623f21748a8 100644
--- a/pkgs/development/ocaml-modules/sosa/default.nix
+++ b/pkgs/development/ocaml-modules/sosa/default.nix
@@ -2,7 +2,7 @@
 , findlib, ocaml, ocamlbuild
 }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "sosa is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/stdune/default.nix b/pkgs/development/ocaml-modules/stdune/default.nix
index fd1e4f987b4..5e0b798772d 100644
--- a/pkgs/development/ocaml-modules/stdune/default.nix
+++ b/pkgs/development/ocaml-modules/stdune/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildDunePackage, dune_3, dyn, ordering }:
+{ lib, buildDunePackage, dune_3, dyn, ordering, csexp }:
 
 buildDunePackage {
   pname = "stdune";
@@ -7,7 +7,11 @@ buildDunePackage {
 
   dontAddPrefix = true;
 
-  propagatedBuildInputs = [ dyn ordering ];
+  propagatedBuildInputs = [ dyn ordering csexp ];
+
+  preBuild = ''
+    rm -r vendor/csexp
+  '';
 
   meta = dune_3.meta // {
     description = "Dune's unstable standard library";
diff --git a/pkgs/development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix b/pkgs/development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix
deleted file mode 100644
index fe2664333e3..00000000000
--- a/pkgs/development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-stdlib-unix
-, tezos-base
-, tezos-shell-services
-, tezos-protocol-environment
-, tezos-protocol-010-PtGRANAD
-, tezos-protocol-010-PtGRANAD-parameters
-, tezos-client-010-PtGRANAD
-, alcotest-lwt
-}:
-
-buildDunePackage {
-  pname = "tezos-010-PtGRANAD-test-helpers";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_protocol/test/helpers";
-
-  propagatedBuildInputs = [
-    tezos-base
-    tezos-stdlib-unix
-    tezos-shell-services
-    tezos-protocol-environment
-    tezos-protocol-010-PtGRANAD
-    tezos-protocol-010-PtGRANAD-parameters
-    tezos-client-010-PtGRANAD
-    alcotest-lwt
-  ];
-
-  checkInputs = [
-    alcotest-lwt
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: protocol testing framework";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/011-PtHangz2-test-helpers.nix b/pkgs/development/ocaml-modules/tezos/011-PtHangz2-test-helpers.nix
deleted file mode 100644
index 589d6465b20..00000000000
--- a/pkgs/development/ocaml-modules/tezos/011-PtHangz2-test-helpers.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-base
-, tezos-client-011-PtHangz2
-, tezos-protocol-011-PtHangz2
-, tezos-protocol-011-PtHangz2-parameters
-, tezos-protocol-environment
-, tezos-shell-services
-, tezos-stdlib-unix
-, tezos-test-helpers
-}:
-
-buildDunePackage {
-  pname = "tezos-011-PtHangz2-test-helpers";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src";
-
-  propagatedBuildInputs = [
-    tezos-base
-    tezos-client-011-PtHangz2
-    tezos-protocol-011-PtHangz2
-    tezos-protocol-011-PtHangz2-parameters
-    tezos-protocol-environment
-    tezos-shell-services
-    tezos-stdlib-unix
-    tezos-test-helpers
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: protocol testing framework";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/base-test-helpers.nix b/pkgs/development/ocaml-modules/tezos/base-test-helpers.nix
deleted file mode 100644
index d9a8307bd30..00000000000
--- a/pkgs/development/ocaml-modules/tezos/base-test-helpers.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib
-, buildDunePackage
-, alcotest
-, alcotest-lwt
-, tezos-base
-, tezos-event-logging-test-helpers
-, tezos-stdlib
-, tezos-test-helpers
-}:
-
-buildDunePackage {
-  pname = "tezos-base-test-helpers";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_base/test_helpers";
-
-  propagatedBuildInputs = [
-    alcotest
-    alcotest-lwt
-    tezos-base
-    tezos-event-logging-test-helpers
-  ];
-
-  checkInputs = [
-    tezos-test-helpers
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: base test helpers";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/base.nix b/pkgs/development/ocaml-modules/tezos/base.nix
deleted file mode 100644
index 544daa297ac..00000000000
--- a/pkgs/development/ocaml-modules/tezos/base.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-crypto
-, tezos-hacl-glue-unix
-, tezos-micheline
-, tezos-test-helpers
-, ptime
-, ipaddr
-, bls12-381-unix
-}:
-
-buildDunePackage {
-  pname = "tezos-base";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_base";
-
-  propagatedBuildInputs = [
-    tezos-crypto
-    tezos-micheline
-    tezos-hacl-glue-unix
-    bls12-381-unix
-    ptime
-    ipaddr
-  ];
-
-  checkInputs = [
-    # tezos-test-helpers
-  ];
-
-  # circular dependency if we add this
-  doCheck = false;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: meta-package and pervasive type definitions for Tezos";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/clic.nix b/pkgs/development/ocaml-modules/tezos/clic.nix
deleted file mode 100644
index 863ecb8df45..00000000000
--- a/pkgs/development/ocaml-modules/tezos/clic.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-stdlib-unix
-, alcotest
-, alcotest-lwt
-}:
-
-buildDunePackage {
-  pname = "tezos-clic";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_clic";
-
-  propagatedBuildInputs = [
-    tezos-stdlib-unix
-  ];
-
-  checkInputs = [
-    alcotest
-    alcotest-lwt
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: library of auto-documented command-line-parsing combinators";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/client-010-PtGRANAD.nix b/pkgs/development/ocaml-modules/tezos/client-010-PtGRANAD.nix
deleted file mode 100644
index 55a98454508..00000000000
--- a/pkgs/development/ocaml-modules/tezos/client-010-PtGRANAD.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-mockup-registration
-, tezos-proxy
-, tezos-signer-backends
-, tezos-protocol-010-PtGRANAD-parameters
-, tezos-protocol-plugin-010-PtGRANAD
-, alcotest-lwt
-, ppx_inline_test
-, cacert
-}:
-
-buildDunePackage {
-  pname = "tezos-client-010-PtGRANAD";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_client";
-
-  propagatedBuildInputs = [
-    tezos-mockup-registration
-    tezos-proxy
-    tezos-signer-backends
-    tezos-protocol-010-PtGRANAD-parameters
-    tezos-protocol-plugin-010-PtGRANAD
-    ppx_inline_test
-  ];
-
-  checkInputs = [
-    alcotest-lwt
-    cacert
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: protocol specific library for `tezos-client`";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/client-011-PtHangz2.nix b/pkgs/development/ocaml-modules/tezos/client-011-PtHangz2.nix
deleted file mode 100644
index ec564f70f3b..00000000000
--- a/pkgs/development/ocaml-modules/tezos/client-011-PtHangz2.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-mockup-registration
-, tezos-proxy
-, tezos-signer-backends
-, tezos-protocol-011-PtHangz2-parameters
-, tezos-protocol-plugin-011-PtHangz2
-, alcotest-lwt
-, cacert
-, ppx_inline_test
-, qcheck-alcotest
-, tezos-base-test-helpers
-, tezos-test-helpers
-}:
-
-buildDunePackage {
-  pname = "tezos-client-011-PtHangz2";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src";
-
-  propagatedBuildInputs = [
-    tezos-mockup-registration
-    tezos-proxy
-    tezos-signer-backends
-    tezos-protocol-011-PtHangz2-parameters
-    tezos-protocol-plugin-011-PtHangz2
-    ppx_inline_test
-  ];
-
-  checkInputs = [
-    alcotest-lwt
-    cacert
-    qcheck-alcotest
-    tezos-base-test-helpers
-    tezos-test-helpers
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: protocol specific library for `tezos-client`";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/client-base.nix b/pkgs/development/ocaml-modules/tezos/client-base.nix
deleted file mode 100644
index f2503481720..00000000000
--- a/pkgs/development/ocaml-modules/tezos/client-base.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-shell-services
-, tezos-sapling
-, alcotest
-}:
-
-buildDunePackage {
-  pname = "tezos-client-base";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_client_base";
-
-  propagatedBuildInputs = [
-    tezos-shell-services
-    tezos-sapling
-  ];
-
-  checkInputs = [
-    alcotest
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: protocol registration for the mockup mode";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/context.nix b/pkgs/development/ocaml-modules/tezos/context.nix
deleted file mode 100644
index e118c3e1ebe..00000000000
--- a/pkgs/development/ocaml-modules/tezos/context.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-base
-, tezos-shell-services
-, irmin
-, irmin-pack
-, digestif
-, alcotest-lwt
-}:
-
-buildDunePackage {
-  pname = "tezos-context";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_context";
-
-  propagatedBuildInputs = [
-    tezos-base
-    tezos-shell-services
-    irmin
-    irmin-pack
-    digestif
-  ];
-
-  checkInputs = [
-    alcotest-lwt
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: library of auto-documented RPCs (service and hierarchy descriptions)";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/crypto.nix b/pkgs/development/ocaml-modules/tezos/crypto.nix
deleted file mode 100644
index 532e8fc12b2..00000000000
--- a/pkgs/development/ocaml-modules/tezos/crypto.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-rpc
-, tezos-clic
-, tezos-hacl-glue
-, tezos-hacl-glue-unix
-, secp256k1-internal
-, ringo
-, bls12-381
-, bls12-381-unix
-, tezos-test-helpers
-, alcotest-lwt
-}:
-
-buildDunePackage {
-  pname = "tezos-crypto";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_crypto";
-
-  propagatedBuildInputs = [
-    tezos-rpc
-    tezos-clic
-    tezos-hacl-glue
-    tezos-hacl-glue-unix
-    secp256k1-internal
-    ringo
-    bls12-381
-    bls12-381-unix
-  ];
-
-  checkInputs = [
-    tezos-test-helpers
-    alcotest-lwt
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: library with all the cryptographic primitives used by Tezos";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix b/pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix
deleted file mode 100644
index e2b9a8e8d79..00000000000
--- a/pkgs/development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-010-PtGRANAD
-, tezos-protocol-updater
-}:
-
-buildDunePackage {
-  pname = "tezos-embedded-protocol-010-PtGRANAD";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src";
-
-  propagatedBuildInputs = [
-    tezos-protocol-010-PtGRANAD
-    tezos-protocol-updater
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: economic-protocol definition, embedded in `tezos-node`";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/embedded-protocol-demo-noops.nix b/pkgs/development/ocaml-modules/tezos/embedded-protocol-demo-noops.nix
deleted file mode 100644
index abe4aed67eb..00000000000
--- a/pkgs/development/ocaml-modules/tezos/embedded-protocol-demo-noops.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-demo-noops
-, tezos-protocol-updater
-}:
-
-buildDunePackage {
-  pname = "tezos-embedded-protocol-demo-noops";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src";
-
-  propagatedBuildInputs = [
-    tezos-protocol-demo-noops
-    tezos-protocol-updater
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: demo_noops (economic-protocol definition, embedded in `tezos-node`)";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/error-monad.nix b/pkgs/development/ocaml-modules/tezos/error-monad.nix
deleted file mode 100644
index cbebf1e51c6..00000000000
--- a/pkgs/development/ocaml-modules/tezos/error-monad.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, data-encoding
-, lwt
-, lwt-canceler
-, tezos-lwt-result-stdlib
-, alcotest
-, alcotest-lwt
-}:
-
-buildDunePackage {
-  pname = "tezos-error-monad";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_error_monad";
-
-  propagatedBuildInputs = [
-    tezos-stdlib
-    data-encoding
-    lwt
-    lwt-canceler
-    tezos-lwt-result-stdlib
-  ];
-
-  checkInputs = [
-    alcotest
-    alcotest-lwt
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: error monad";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/event-logging-test-helpers.nix b/pkgs/development/ocaml-modules/tezos/event-logging-test-helpers.nix
deleted file mode 100644
index 0407277bde9..00000000000
--- a/pkgs/development/ocaml-modules/tezos/event-logging-test-helpers.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib
-, buildDunePackage
-, alcotest
-, tezos-event-logging
-, tezos-stdlib
-, tezos-test-helpers
-}:
-
-buildDunePackage {
-  pname = "tezos-event-logging-test-helpers";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_event_logging/test_helpers/";
-
-  propagatedBuildInputs = [
-    alcotest
-    tezos-event-logging
-    tezos-test-helpers
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: test helpers for the event logging library";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/event-logging.nix b/pkgs/development/ocaml-modules/tezos/event-logging.nix
deleted file mode 100644
index 75b4a5d0643..00000000000
--- a/pkgs/development/ocaml-modules/tezos/event-logging.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-error-monad
-, data-encoding
-, lwt_log
-, lwt
-}:
-
-buildDunePackage {
-  pname = "tezos-event-logging";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_event_logging";
-
-  propagatedBuildInputs = [
-    tezos-stdlib
-    tezos-error-monad
-    data-encoding
-    lwt_log
-    lwt
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: event logging library";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/hacl-glue-unix.nix b/pkgs/development/ocaml-modules/tezos/hacl-glue-unix.nix
deleted file mode 100644
index 5c8afad0f2a..00000000000
--- a/pkgs/development/ocaml-modules/tezos/hacl-glue-unix.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-hacl-glue
-, ctypes
-, hacl-star
-}:
-
-buildDunePackage {
-  pname = "tezos-hacl-glue-unix";
-
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_hacl_glue/unix";
-
-  propagatedBuildInputs = [
-    ctypes
-    hacl-star
-    tezos-hacl-glue
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: thin layer of glue around hacl-star (unix implementation)";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/hacl-glue.nix b/pkgs/development/ocaml-modules/tezos/hacl-glue.nix
deleted file mode 100644
index 409d04bb266..00000000000
--- a/pkgs/development/ocaml-modules/tezos/hacl-glue.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-}:
-
-buildDunePackage {
-  pname = "tezos-hacl-glue";
-
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_hacl_glue/virtual";
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: thin layer of glue around hacl-star (virtual package)";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/legacy-store.nix b/pkgs/development/ocaml-modules/tezos/legacy-store.nix
deleted file mode 100644
index b6d9f20df3c..00000000000
--- a/pkgs/development/ocaml-modules/tezos/legacy-store.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-context
-, tezos-lmdb
-, tezos-validation
-, tezos-shell-services
-, tezos-protocol-compiler
-, lwt-watcher
-, alcotest-lwt
-}:
-
-buildDunePackage {
-  pname = "tezos-legacy-store";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_store/legacy_store";
-
-  propagatedBuildInputs = [
-    tezos-context
-    tezos-lmdb
-    tezos-validation
-    tezos-shell-services
-    lwt-watcher
-  ];
-
-  nativeBuildInputs = [
-    tezos-protocol-compiler
-  ];
-
-  strictDeps = true;
-
-  checkInputs = [
-    alcotest-lwt
-  ];
-
-  # A lot of extra deps with wide dependency cones needed
-  doCheck = false;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: custom economic-protocols environment implementation for `tezos-client` and testing";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/lmdb.nix b/pkgs/development/ocaml-modules/tezos/lmdb.nix
deleted file mode 100644
index 5b5690707ab..00000000000
--- a/pkgs/development/ocaml-modules/tezos/lmdb.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ lib
-, fetchFromGitLab
-, pkg-config
-, buildDunePackage
-, lmdb
-, rresult
-, cstruct
-, alcotest
-}:
-
-let
-  version = "7.4";
-  src = fetchFromGitLab {
-    owner = "tezos";
-    repo = "tezos";
-    rev = "v${version}";
-    sha256 = "0sghc60xzr02pmmkr626pnhzrnczf7mki7qyxzzfn7rbbdbrf4wp";
-  };
-in
-
-buildDunePackage {
-  pname = "tezos-lmdb";
-  version = version;
-  src = "${src}/vendors/ocaml-lmdb";
-
-  useDune2 = true;
-
-  nativeBuildInputs = [
-    pkg-config
-  ];
-
-  propagatedBuildInputs = [
-    rresult
-    lmdb
-  ];
-
-  strictDeps = true;
-
-  checkInputs = [
-    cstruct
-    alcotest
-  ];
-
-  doCheck = false;
-
-  meta = {
-    description = "Legacy Tezos OCaml binding to LMDB (Consider ocaml-lmdb instead)";
-    license = lib.licenses.isc;
-    maintainers = [ lib.maintainers.ulrikstrid ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix b/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix
deleted file mode 100644
index fd209741b3f..00000000000
--- a/pkgs/development/ocaml-modules/tezos/lwt-result-stdlib.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib
-, buildDunePackage
-, ocaml
-, tezos-stdlib
-, lwt
-, alcotest-lwt
-, tezos-test-helpers
-}:
-
-buildDunePackage {
-  pname = "tezos-lwt-result-stdlib";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_lwt_result_stdlib";
-
-  minimalOCamlVersion = "4.12";
-
-  propagatedBuildInputs = [
-    lwt
-  ];
-
-  checkInputs = [
-    alcotest-lwt
-    tezos-test-helpers
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: error-aware stdlib replacement";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/micheline.nix b/pkgs/development/ocaml-modules/tezos/micheline.nix
deleted file mode 100644
index c28e8f89745..00000000000
--- a/pkgs/development/ocaml-modules/tezos/micheline.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-error-monad
-, uutf
-, alcotest
-, alcotest-lwt
-, ppx_inline_test
-}:
-
-buildDunePackage {
-  pname = "tezos-micheline";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_micheline";
-
-  propagatedBuildInputs = [
-    tezos-error-monad
-    uutf
-    ppx_inline_test
-  ];
-
-  checkInputs = [
-    alcotest
-    alcotest-lwt
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: internal AST and parser for the Michelson language";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/mockup-proxy.nix b/pkgs/development/ocaml-modules/tezos/mockup-proxy.nix
deleted file mode 100644
index d949439fcee..00000000000
--- a/pkgs/development/ocaml-modules/tezos/mockup-proxy.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-client-base
-, tezos-protocol-environment
-, tezos-rpc-http-client
-, resto-cohttp-self-serving-client
-}:
-
-buildDunePackage {
-  pname = "tezos-mockup-proxy";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_mockup_proxy";
-
-  propagatedBuildInputs = [
-    tezos-client-base
-    tezos-protocol-environment
-    tezos-rpc-http-client
-    resto-cohttp-self-serving-client
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: local RPCs";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/mockup-registration.nix b/pkgs/development/ocaml-modules/tezos/mockup-registration.nix
deleted file mode 100644
index 651c89a5986..00000000000
--- a/pkgs/development/ocaml-modules/tezos/mockup-registration.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-client-base
-, tezos-protocol-environment
-}:
-
-buildDunePackage {
-  pname = "tezos-mockup-registration";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_mockup";
-
-  propagatedBuildInputs = [
-    tezos-client-base
-    tezos-protocol-environment
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: protocol registration for the mockup mode";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/p2p-services.nix b/pkgs/development/ocaml-modules/tezos/p2p-services.nix
deleted file mode 100644
index da15852aa97..00000000000
--- a/pkgs/development/ocaml-modules/tezos/p2p-services.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-base
-}:
-
-buildDunePackage {
-  pname = "tezos-p2p-services";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_p2p_services";
-
-  propagatedBuildInputs = [
-    tezos-base
-  ];
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: descriptions of RPCs exported by `tezos-p2p`";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/p2p.nix b/pkgs/development/ocaml-modules/tezos/p2p.nix
deleted file mode 100644
index bdaabfda1b7..00000000000
--- a/pkgs/development/ocaml-modules/tezos/p2p.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib
-, buildDunePackage
-, alcotest-lwt
-, astring
-, lwt
-, lwt-canceler
-, lwt-watcher
-, ringo
-, tezos-base-test-helpers
-, tezos-p2p-services
-, tezos-stdlib
-}:
-
-buildDunePackage {
-  pname = "tezos-p2p";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_p2p";
-
-  propagatedBuildInputs = [
-    lwt
-    lwt-canceler
-    lwt-watcher
-    ringo
-    tezos-p2p-services
-  ];
-
-  checkInputs = [
-    alcotest-lwt
-    astring
-    tezos-base-test-helpers
-  ];
-
-  doCheck = false; # some tests fail
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: library for a pool of P2P connections";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix b/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix
deleted file mode 100644
index 832ca9df30c..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-010-PtGRANAD
-, tezos-protocol-environment
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-010-PtGRANAD-parameters";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_parameters";
-
-  propagatedBuildInputs = [
-    tezos-protocol-010-PtGRANAD
-    tezos-protocol-environment
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: parameters";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix b/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix
deleted file mode 100644
index 85dc33dc98f..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-compiler
-, tezos-protocol-environment
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-010-PtGRANAD";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src";
-
-  nativeBuildInputs = [
-    tezos-protocol-compiler
-  ];
-
-  buildInputs = [
-    tezos-protocol-environment
-  ];
-
-  strictDeps = true;
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: economic-protocol definition";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2-parameters.nix b/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2-parameters.nix
deleted file mode 100644
index 26b05e56f85..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2-parameters.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-011-PtHangz2
-, tezos-protocol-environment
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-011-PtHangz2-parameters";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src";
-
-  propagatedBuildInputs = [
-    tezos-protocol-011-PtHangz2
-    tezos-protocol-environment
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: parameters";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2.nix b/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2.nix
deleted file mode 100644
index 3cfb8cced04..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-compiler
-, tezos-protocol-environment
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-011-PtHangz2";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src";
-
-  nativeBuildInputs = [
-    tezos-protocol-compiler
-  ];
-
-  buildInputs = [
-    tezos-protocol-environment
-  ];
-
-  strictDeps = true;
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: economic-protocol definition";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-alpha.nix b/pkgs/development/ocaml-modules/tezos/protocol-alpha.nix
deleted file mode 100644
index df31eeeefb8..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-alpha.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-compiler
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-alpha";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src";
-
-  propagatedBuildInputs = [
-    tezos-protocol-compiler
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: economic-protocol definition";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix b/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix
deleted file mode 100644
index ac72c518e82..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-compiler.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib
-, buildDunePackage
-, ocaml
-, tezos-stdlib
-, tezos-version
-, tezos-protocol-environment
-, ocp-ocamlres
-, pprint
-}:
-
-if lib.versionAtLeast ocaml.version "4.13" then
-  throw "tezos-protocol-compiler-${tezos-stdlib.version} is not available for OCaml > 4.12"
-else
-
-buildDunePackage {
-  pname = "tezos-protocol-compiler";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_protocol_compiler";
-
-  minimalOCamlVersion = "4.12";
-
-  propagatedBuildInputs = [
-    tezos-version
-    tezos-protocol-environment
-    ocp-ocamlres
-    pprint
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: economic-protocol compiler";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix b/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix
deleted file mode 100644
index 02958401ff8..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-demo-noops.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-compiler
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-demo-noops";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/";
-
-  propagatedBuildInputs = [
-    tezos-protocol-compiler
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: demo_noops economic-protocol definition";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix b/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix
deleted file mode 100644
index 3aa5e0f6fca..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-environment-packer.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-environment-packer";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
-
-  minimalOCamlVersion = "4.03";
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: sigs/structs packer for economic protocol environment";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix b/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix
deleted file mode 100644
index dfd3fd14fe3..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-environment-sigs.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib
-, buildDunePackage
-, ocaml
-, tezos-stdlib
-, tezos-protocol-environment-packer
-, zarith
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-environment-sigs";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
-
-  minimalOCamlVersion = "4.12";
-
-  postPatch = ''
-    ls ./sigs/v0
-    cp -f ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith/z.mli ./sigs/v1/z.mli
-    cp -f ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith/z.mli ./sigs/v2/z.mli
-    cp -f ${zarith}/lib/ocaml/${ocaml.version}/site-lib/zarith/z.mli ./sigs/v3/z.mli
-    sed -i 's/out_channel/Stdlib.out_channel/g' ./sigs/v1/z.mli
-    sed -i 's/Buffer/Stdlib.Buffer/g' ./sigs/v1/z.mli
-    sed -i 's/out_channel/Stdlib.out_channel/g' ./sigs/v2/z.mli
-    sed -i 's/Buffer/Stdlib.Buffer/g' ./sigs/v2/z.mli
-    sed -i 's/out_channel/Stdlib.out_channel/g' ./sigs/v3/z.mli
-    sed -i 's/Buffer/Stdlib.Buffer/g' ./sigs/v3/z.mli
-  '';
-
-  propagatedBuildInputs = [
-    tezos-protocol-environment-packer
-  ];
-
-  checkInputs = [
-    tezos-stdlib
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: restricted typing environment for the economic protocols";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix b/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix
deleted file mode 100644
index c55578b5605..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-environment-structs.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-crypto
-, tezos-protocol-environment-packer
-, bls12-381-legacy
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-environment-structs";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
-
-  propagatedBuildInputs = [
-    tezos-crypto
-    tezos-protocol-environment-packer
-    bls12-381-legacy
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: restricted typing environment for the economic protocols";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-environment.nix b/pkgs/development/ocaml-modules/tezos/protocol-environment.nix
deleted file mode 100644
index f3e8bc42c54..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-environment.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib
-, ocaml
-, buildDunePackage
-, bls12-381
-, bls12-381-legacy
-, tezos-stdlib
-, tezos-base
-, tezos-sapling
-, tezos-context
-, tezos-protocol-environment-sigs
-, tezos-protocol-environment-structs
-, tezos-test-helpers
-, zarith
-, alcotest-lwt
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-environment";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
-
-  propagatedBuildInputs = [
-    bls12-381
-    bls12-381-legacy
-    tezos-sapling
-    tezos-base
-    tezos-context
-    tezos-protocol-environment-sigs
-    tezos-protocol-environment-structs
-    zarith # this might break, since they actually want 1.11
-  ];
-
-  checkInputs = [
-    alcotest-lwt
-    tezos-test-helpers
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: custom economic-protocols environment implementation for `tezos-client` and testing";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix b/pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix
deleted file mode 100644
index 8e80b3c65d3..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-010-PtGRANAD
-, tezos-protocol-environment
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-plugin-010-PtGRANAD";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/proto_010_PtGRANAD/lib_plugin";
-
-  buildInputs = [
-    tezos-protocol-010-PtGRANAD
-    tezos-protocol-environment
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: protocol plugin registerer";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-plugin-011-PtHangz2.nix b/pkgs/development/ocaml-modules/tezos/protocol-plugin-011-PtHangz2.nix
deleted file mode 100644
index 79333e04617..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-plugin-011-PtHangz2.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-011-PtHangz2
-, tezos-protocol-environment
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-plugin-011-PtHangz2";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src";
-
-  buildInputs = [
-    tezos-protocol-011-PtHangz2
-    tezos-protocol-environment
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: protocol plugin";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-plugin-alpha.nix b/pkgs/development/ocaml-modules/tezos/protocol-plugin-alpha.nix
deleted file mode 100644
index 588a420a890..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-plugin-alpha.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-alpha
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-plugin-alpha";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src";
-
-  propagatedBuildInputs = [
-    tezos-protocol-alpha
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: protocol plugin";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/protocol-updater.nix b/pkgs/development/ocaml-modules/tezos/protocol-updater.nix
deleted file mode 100644
index 29aaa8be734..00000000000
--- a/pkgs/development/ocaml-modules/tezos/protocol-updater.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib
-, ocaml
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-compiler
-, tezos-shell-context
-, lwt-exit
-}:
-
-buildDunePackage {
-  pname = "tezos-protocol-updater";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_protocol_updater";
-
-  propagatedBuildInputs = [
-    tezos-shell-context
-    lwt-exit
-    tezos-protocol-compiler
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: economic-protocol dynamic loading for `tezos-node`";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/proxy.nix b/pkgs/development/ocaml-modules/tezos/proxy.nix
deleted file mode 100644
index 91ed6ab2340..00000000000
--- a/pkgs/development/ocaml-modules/tezos/proxy.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-mockup-proxy
-, tezos-context
-, ringo-lwt
-, alcotest-lwt
-, qcheck-alcotest
-, tezos-base-test-helpers
-, tezos-shell-services-test-helpers
-}:
-
-buildDunePackage {
-  pname = "tezos-proxy";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_proxy";
-
-  propagatedBuildInputs = [
-    ringo-lwt
-    tezos-mockup-proxy
-    tezos-context
-  ];
-
-  checkInputs = [
-    alcotest-lwt
-    qcheck-alcotest
-    tezos-base-test-helpers
-    tezos-shell-services-test-helpers
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: protocol registration for the mockup mode";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/requester.nix b/pkgs/development/ocaml-modules/tezos/requester.nix
deleted file mode 100644
index 35e426feb29..00000000000
--- a/pkgs/development/ocaml-modules/tezos/requester.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-base
-, lwt-watcher
-, alcotest-lwt
-, qcheck-alcotest
-, tezos-base-test-helpers
-, tezos-test-helpers
-}:
-
-buildDunePackage {
-  pname = "tezos-requester";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_requester";
-
-  propagatedBuildInputs = [
-    tezos-base
-    lwt-watcher
-  ];
-
-  checkInputs = [
-    alcotest-lwt
-    qcheck-alcotest
-    tezos-base-test-helpers
-    tezos-test-helpers
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: generic resource fetching service";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/rpc-http-client-unix.nix b/pkgs/development/ocaml-modules/tezos/rpc-http-client-unix.nix
deleted file mode 100644
index 246618ce076..00000000000
--- a/pkgs/development/ocaml-modules/tezos/rpc-http-client-unix.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-rpc-http-client
-, cohttp-lwt-unix
-}:
-
-buildDunePackage {
-  pname = "tezos-rpc-http-client-unix";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_rpc_http";
-
-  propagatedBuildInputs = [
-    tezos-rpc-http-client
-    cohttp-lwt-unix
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: unix implementation of the RPC client";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/rpc-http-client.nix b/pkgs/development/ocaml-modules/tezos/rpc-http-client.nix
deleted file mode 100644
index 54cb71617bb..00000000000
--- a/pkgs/development/ocaml-modules/tezos/rpc-http-client.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-rpc-http
-, resto-cohttp-client
-}:
-
-buildDunePackage {
-  pname = "tezos-rpc-http-client";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_rpc_http";
-
-  propagatedBuildInputs = [
-    tezos-rpc-http
-    resto-cohttp-client
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: library of auto-documented RPCs (http client)";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/rpc-http.nix b/pkgs/development/ocaml-modules/tezos/rpc-http.nix
deleted file mode 100644
index 56fda87f93d..00000000000
--- a/pkgs/development/ocaml-modules/tezos/rpc-http.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-base
-, resto-directory
-, resto-cohttp
-}:
-
-buildDunePackage {
-  pname = "tezos-rpc-http";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_rpc_http";
-
-  propagatedBuildInputs = [
-    tezos-base
-    resto-directory
-    resto-cohttp
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: library of auto-documented RPCs (http server and client)";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/rpc.nix b/pkgs/development/ocaml-modules/tezos/rpc.nix
deleted file mode 100644
index f8a1336146e..00000000000
--- a/pkgs/development/ocaml-modules/tezos/rpc.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-error-monad
-, resto
-, resto-directory
-}:
-
-buildDunePackage {
-  pname = "tezos-rpc";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_rpc";
-
-  propagatedBuildInputs = [
-    tezos-error-monad
-    resto
-    resto-directory
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: library of auto-documented RPCs (service and hierarchy descriptions)";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/sapling.nix b/pkgs/development/ocaml-modules/tezos/sapling.nix
deleted file mode 100644
index 59e61d49af0..00000000000
--- a/pkgs/development/ocaml-modules/tezos/sapling.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib
-, buildDunePackage
-, ocaml
-, tezos-stdlib
-, tezos-crypto
-, tezos-rust-libs
-, tezos-base-test-helpers
-, alcotest-lwt
-}:
-
-buildDunePackage {
-  pname = "tezos-sapling";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_sapling";
-
-  propagatedBuildInputs = [
-    tezos-crypto
-    tezos-rust-libs
-  ];
-
-  checkInputs = [
-    alcotest-lwt
-    tezos-base-test-helpers
-  ];
-
-  # requires the "zcash-params" files
-  doCheck = false;
-
-  # This is a hack to work around the hack used in the dune files
-  OPAM_SWITCH_PREFIX = "${tezos-rust-libs}";
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos/Protocol: economic-protocol definition";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/shell-context.nix b/pkgs/development/ocaml-modules/tezos/shell-context.nix
deleted file mode 100644
index 89b50177f2c..00000000000
--- a/pkgs/development/ocaml-modules/tezos/shell-context.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-environment
-}:
-
-buildDunePackage {
-  pname = "tezos-shell-context";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_protocol_environment";
-
-  propagatedBuildInputs = [
-    tezos-protocol-environment
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: economic-protocols environment implementation for `tezos-node`";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/shell-services-test-helpers.nix b/pkgs/development/ocaml-modules/tezos/shell-services-test-helpers.nix
deleted file mode 100644
index 077e44852ed..00000000000
--- a/pkgs/development/ocaml-modules/tezos/shell-services-test-helpers.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-test-helpers
-, tezos-base
-, tezos-shell-services
-, qcheck-core
-, qcheck-alcotest
-}:
-
-buildDunePackage {
-  pname = "tezos-shell-services-test-helpers";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_shell_services/test_helpers/";
-
-  propagatedBuildInputs = [
-    tezos-base
-    tezos-shell-services
-    tezos-test-helpers
-    qcheck-core
-  ];
-
-  checkInputs = [
-    qcheck-alcotest
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: shell_services test helpers";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/shell-services.nix b/pkgs/development/ocaml-modules/tezos/shell-services.nix
deleted file mode 100644
index 34354b1821f..00000000000
--- a/pkgs/development/ocaml-modules/tezos/shell-services.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-workers
-, tezos-p2p-services
-, tezos-version
-, alcotest-lwt
-}:
-
-buildDunePackage {
-  pname = "tezos-shell-services";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_shell_services";
-
-  propagatedBuildInputs = [
-    tezos-workers
-    tezos-p2p-services
-    tezos-version
-  ];
-
-  doCheck = true;
-
-  checkInputs = [
-    alcotest-lwt
-  ];
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: descriptions of RPCs exported by `tezos-shell`";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/shell.nix b/pkgs/development/ocaml-modules/tezos/shell.nix
deleted file mode 100644
index cdf5ea66395..00000000000
--- a/pkgs/development/ocaml-modules/tezos/shell.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-p2p
-, tezos-requester
-, tezos-validation
-, tezos-store
-, lwt-canceler
-, alcotest-lwt
-, qcheck-alcotest
-, tezos-base-test-helpers
-, tezos-embedded-protocol-demo-noops
-, tezos-protocol-plugin-alpha
-, tezos-test-helpers
-}:
-
-buildDunePackage {
-  pname = "tezos-shell";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_shell";
-
-  propagatedBuildInputs = [
-    lwt-canceler
-    tezos-p2p
-    tezos-requester
-    tezos-store
-    tezos-validation
-  ];
-
-  checkInputs = [
-    alcotest-lwt
-    qcheck-alcotest
-    tezos-base-test-helpers
-    tezos-embedded-protocol-demo-noops
-    tezos-protocol-plugin-alpha
-    tezos-test-helpers
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: descriptions of RPCs exported by `tezos-shell`";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/signer-backends.nix b/pkgs/development/ocaml-modules/tezos/signer-backends.nix
deleted file mode 100644
index 0b49779c279..00000000000
--- a/pkgs/development/ocaml-modules/tezos/signer-backends.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-rpc-http-client-unix
-, tezos-signer-services
-, alcotest
-, alcotest-lwt
-}:
-
-buildDunePackage {
-  pname = "tezos-signer-backends";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_signer_backends";
-
-  propagatedBuildInputs = [
-    tezos-rpc-http-client-unix
-    tezos-signer-services
-  ];
-
-  checkInputs = [
-    alcotest
-    alcotest-lwt
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: remote-signature backends for `tezos-client`";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/signer-services.nix b/pkgs/development/ocaml-modules/tezos/signer-services.nix
deleted file mode 100644
index 2f7333312fa..00000000000
--- a/pkgs/development/ocaml-modules/tezos/signer-services.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-client-base
-}:
-
-buildDunePackage {
-  pname = "tezos-signer-services";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_signer_services";
-
-  propagatedBuildInputs = [
-    tezos-client-base
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: descriptions of RPCs exported by `tezos-signer`";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix b/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix
deleted file mode 100644
index 1b275d03dff..00000000000
--- a/pkgs/development/ocaml-modules/tezos/stdlib-unix.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-event-logging
-, re
-, ptime
-, mtime
-, ipaddr
-, ezjsonm
-, fmt
-}:
-
-buildDunePackage {
-  pname = "tezos-stdlib-unix";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_stdlib_unix";
-
-  propagatedBuildInputs = [
-    tezos-event-logging
-    re
-    ptime
-    mtime
-    ipaddr
-    ezjsonm
-    fmt
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: yet-another local-extension of the OCaml standard library (unix-specific fragment)";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/stdlib.nix b/pkgs/development/ocaml-modules/tezos/stdlib.nix
deleted file mode 100644
index 31dfd43b615..00000000000
--- a/pkgs/development/ocaml-modules/tezos/stdlib.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ lib
-, fetchFromGitLab
-, buildDunePackage
-, hex
-, lwt
-, zarith
-, alcotest
-, alcotest-lwt
-, crowbar
-, bigstring
-, lwt_log
-, ppx_inline_test
-, qcheck-alcotest
-, tezos-test-helpers
-}:
-
-buildDunePackage rec {
-  pname = "tezos-stdlib";
-  version = "11.0";
-  base_src = fetchFromGitLab {
-    owner = "tezos";
-    repo = "tezos";
-    rev = "v${version}";
-    sha256 = "uUYd1DxH2bdCQlevQt3oGxvg0ai5EiCD2mti5SiueU8=";
-  };
-
-  src = "${base_src}/src/lib_stdlib";
-
-  minimalOCamlVersion = "4.08";
-
-  useDune2 = true;
-
-  preBuild = ''
-    rm -rf vendors
-  '';
-
-  propagatedBuildInputs = [
-    hex
-    lwt
-    zarith
-    ppx_inline_test
-  ];
-
-  checkInputs = [
-    bigstring
-    lwt_log
-    alcotest
-    alcotest-lwt
-    crowbar
-    bigstring
-    lwt_log
-    qcheck-alcotest
-    # tezos-test-helpers
-  ];
-
-  # circular dependency if we add this
-  doCheck = false;
-
-  meta = {
-    description = "Tezos: yet-another local-extension of the OCaml standard library";
-    license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.ulrikstrid ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/store.nix b/pkgs/development/ocaml-modules/tezos/store.nix
deleted file mode 100644
index 3fbe945d07b..00000000000
--- a/pkgs/development/ocaml-modules/tezos/store.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-updater
-, tezos-validation
-, tezos-legacy-store
-, tezos-protocol-compiler
-, index
-, camlzip
-, tar-unix
-, ringo-lwt
-, digestif
-, alcotest-lwt
-, lwt-watcher
-}:
-
-buildDunePackage {
-  pname = "tezos-store";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_store";
-
-  propagatedBuildInputs = [
-    index
-    camlzip
-    tar-unix
-    ringo-lwt
-    digestif
-    lwt-watcher
-    tezos-protocol-updater
-    tezos-validation
-    tezos-legacy-store
-  ];
-
-  nativeBuildInputs = [
-    tezos-protocol-compiler
-  ];
-
-  strictDeps = true;
-
-  checkInputs = [
-    alcotest-lwt
-  ];
-
-  # A lot of extra deps with wide dependency cones needed
-  doCheck = false;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: custom economic-protocols environment implementation for `tezos-client` and testing";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/test-helpers.nix b/pkgs/development/ocaml-modules/tezos/test-helpers.nix
deleted file mode 100644
index 6b3c42b85ba..00000000000
--- a/pkgs/development/ocaml-modules/tezos/test-helpers.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, fetchFromGitLab
-, buildDunePackage
-, qcheck-alcotest
-, alcotest
-, alcotest-lwt
-, uri
-, tezos-stdlib
-}:
-
-buildDunePackage rec {
-  pname = "tezos-test-helpers";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_test";
-
-  propagatedBuildInputs = [
-    qcheck-alcotest
-    alcotest
-    alcotest-lwt
-    uri
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: yet-another local-extension of the OCaml standard library";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/validation.nix b/pkgs/development/ocaml-modules/tezos/validation.nix
deleted file mode 100644
index 44a7576cc06..00000000000
--- a/pkgs/development/ocaml-modules/tezos/validation.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-protocol-updater
-, tezos-protocol-compiler
-}:
-
-buildDunePackage {
-  pname = "tezos-validation";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_validation";
-
-  propagatedBuildInputs = [
-    tezos-protocol-updater
-  ];
-
-  nativeBuildInputs = [
-    tezos-protocol-compiler
-  ];
-
-  strictDeps = true;
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: library for blocks validation";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/version.nix b/pkgs/development/ocaml-modules/tezos/version.nix
deleted file mode 100644
index a0928d15f46..00000000000
--- a/pkgs/development/ocaml-modules/tezos/version.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-base
-}:
-
-buildDunePackage {
-  pname = "tezos-version";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_version";
-
-  propagatedBuildInputs = [
-    tezos-base
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: version information generated from Git";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tezos/workers.nix b/pkgs/development/ocaml-modules/tezos/workers.nix
deleted file mode 100644
index 65a60a216cd..00000000000
--- a/pkgs/development/ocaml-modules/tezos/workers.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib
-, buildDunePackage
-, tezos-stdlib
-, tezos-base
-}:
-
-buildDunePackage {
-  pname = "tezos-workers";
-  inherit (tezos-stdlib) version useDune2;
-  src = "${tezos-stdlib.base_src}/src/lib_workers";
-
-  propagatedBuildInputs = [
-    tezos-base
-  ];
-
-  doCheck = true;
-
-  meta = tezos-stdlib.meta // {
-    description = "Tezos: worker library";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tsdl/default.nix b/pkgs/development/ocaml-modules/tsdl/default.nix
index a56cccbe071..3a1990326df 100644
--- a/pkgs/development/ocaml-modules/tsdl/default.nix
+++ b/pkgs/development/ocaml-modules/tsdl/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, ctypes, result, SDL2, pkg-config, ocb-stubblr }:
 
-if !lib.versionAtLeast ocaml.version "4.03"
+if lib.versionOlder ocaml.version "4.03"
 then throw "tsdl is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/uri/sexp.nix b/pkgs/development/ocaml-modules/uri/sexp.nix
index 83be70c3649..ba970b1d6c5 100644
--- a/pkgs/development/ocaml-modules/uri/sexp.nix
+++ b/pkgs/development/ocaml-modules/uri/sexp.nix
@@ -1,6 +1,6 @@
 { lib, ocaml, buildDunePackage, uri, ounit, ppx_sexp_conv, sexplib0 }:
 
-if !lib.versionAtLeast ocaml.version "4.04"
+if lib.versionOlder ocaml.version "4.04"
 then throw "uri-sexp is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/uucp/default.nix b/pkgs/development/ocaml-modules/uucp/default.nix
index 9031087f505..42705e20d3f 100644
--- a/pkgs/development/ocaml-modules/uucp/default.nix
+++ b/pkgs/development/ocaml-modules/uucp/default.nix
@@ -8,7 +8,7 @@ let
   doCheck = true;
 in
 
-if !(lib.versionAtLeast ocaml.version minimumOCamlVersion)
+if lib.versionOlder ocaml.version minimumOCamlVersion
 then builtins.throw "${pname} needs at least OCaml ${minimumOCamlVersion}"
 else
 
diff --git a/pkgs/development/ocaml-modules/uunf/default.nix b/pkgs/development/ocaml-modules/uunf/default.nix
index 12031c53927..b61a60c2a37 100644
--- a/pkgs/development/ocaml-modules/uunf/default.nix
+++ b/pkgs/development/ocaml-modules/uunf/default.nix
@@ -5,7 +5,7 @@ let
   version = "14.0.0";
 in
 
-if !lib.versionAtLeast ocaml.version "4.03"
+if lib.versionOlder ocaml.version "4.03"
 then throw "${pname} is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/uuuu/default.nix b/pkgs/development/ocaml-modules/uuuu/default.nix
index 4f400d1ec75..d2895ce68e6 100644
--- a/pkgs/development/ocaml-modules/uuuu/default.nix
+++ b/pkgs/development/ocaml-modules/uuuu/default.nix
@@ -1,20 +1,19 @@
 { angstrom
 , buildDunePackage
-, fetchzip
+, fetchurl
 , findlib
 , lib
-, menhir
 , ocaml
 , re
 }:
 
 buildDunePackage rec {
   pname = "uuuu";
-  version = "0.2.0";
+  version = "0.3.0";
 
-  src = fetchzip {
-    url = "https://github.com/mirage/uuuu/releases/download/v${version}/uuuu-v${version}.tbz";
-    sha256 = "0457qcxvakbbc56frsh8a5v4y4l0raj9p4zz7jx3brn9255j1mw3";
+  src = fetchurl {
+    url = "https://github.com/mirage/uuuu/releases/download/v${version}/uuuu-${version}.tbz";
+    sha256 = "sha256:19n39yc7spgzpk9i70r0nhkwsb0bfbvbgpf8d863p0a3wgryhzkb";
   };
 
   postPatch = ''
@@ -22,9 +21,7 @@ buildDunePackage rec {
       'ocaml} -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib '
   '';
 
-  useDune2 = true;
-
-  nativeBuildInputs = [ menhir findlib ];
+  nativeBuildInputs = [ findlib ];
 
   buildInputs = [ angstrom ];
 
diff --git a/pkgs/development/ocaml-modules/vg/default.nix b/pkgs/development/ocaml-modules/vg/default.nix
index 9dc7a4eeeef..35a0e51cb09 100644
--- a/pkgs/development/ocaml-modules/vg/default.nix
+++ b/pkgs/development/ocaml-modules/vg/default.nix
@@ -8,14 +8,14 @@
 with lib;
 
 let
-  inherit (lib) optionals versionAtLeast;
+  inherit (lib) optionals versionOlder;
 
   pname = "vg";
   version = "0.9.4";
   webpage = "https://erratique.ch/software/${pname}";
 in
 
-if !versionAtLeast ocaml.version "4.03"
+if versionOlder ocaml.version "4.03"
 then throw "vg is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/wasm/default.nix b/pkgs/development/ocaml-modules/wasm/default.nix
index ffe8479b67e..5d53d6db418 100644
--- a/pkgs/development/ocaml-modules/wasm/default.nix
+++ b/pkgs/development/ocaml-modules/wasm/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild }:
 
-if !lib.versionAtLeast ocaml.version "4.03"
+if lib.versionOlder ocaml.version "4.03"
 || lib.versionOlder "4.13" ocaml.version
 then throw "wasm is not available for OCaml ${ocaml.version}"
 else
diff --git a/pkgs/development/ocaml-modules/xdg/default.nix b/pkgs/development/ocaml-modules/xdg/default.nix
new file mode 100644
index 00000000000..8d3810fa7e9
--- /dev/null
+++ b/pkgs/development/ocaml-modules/xdg/default.nix
@@ -0,0 +1,17 @@
+{ lib, buildDunePackage, dune_3 }:
+
+buildDunePackage rec {
+  pname = "xdg";
+  inherit (dune_3) src version;
+
+  duneVersion = "3";
+
+  dontAddPrefix = true;
+
+  meta = with lib; {
+    description = "XDG Base Directory Specification";
+    inherit (dune_3.meta) homepage;
+    maintainers = with lib.maintainers; [ ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/xmlm/default.nix b/pkgs/development/ocaml-modules/xmlm/default.nix
index f7aa1fdf113..d989b281cad 100644
--- a/pkgs/development/ocaml-modules/xmlm/default.nix
+++ b/pkgs/development/ocaml-modules/xmlm/default.nix
@@ -4,7 +4,7 @@ let
   webpage = "https://erratique.ch/software/${pname}";
 in
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 then throw "xmlm is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/z3/default.nix b/pkgs/development/ocaml-modules/z3/default.nix
index 35709b3105e..f2ece5550d7 100644
--- a/pkgs/development/ocaml-modules/z3/default.nix
+++ b/pkgs/development/ocaml-modules/z3/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, ocaml, findlib, zarith, z3 }:
 
-if !lib.versionAtLeast ocaml.version "4.07"
+if lib.versionOlder ocaml.version "4.07"
 then throw "z3 is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/ocaml-modules/zarith/default.nix b/pkgs/development/ocaml-modules/zarith/default.nix
index 95351caee30..70f0be8c7af 100644
--- a/pkgs/development/ocaml-modules/zarith/default.nix
+++ b/pkgs/development/ocaml-modules/zarith/default.nix
@@ -3,7 +3,7 @@
 , gmp
 }:
 
-if !lib.versionAtLeast ocaml.version "4.04"
+if lib.versionOlder ocaml.version "4.04"
 then throw "zarith is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/octave-modules/octproj/default.nix b/pkgs/development/octave-modules/octproj/default.nix
index 74596c015f8..4bb2962ed6e 100644
--- a/pkgs/development/octave-modules/octproj/default.nix
+++ b/pkgs/development/octave-modules/octproj/default.nix
@@ -28,5 +28,6 @@ buildOctavePackage rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ KarlJoad ];
     description = "GNU Octave bindings to PROJ library for cartographic projections and CRS transformations";
+    broken = true; # error: unlink: operation failed: No such file or directory
   };
 }
diff --git a/pkgs/development/php-packages/openswoole/default.nix b/pkgs/development/php-packages/openswoole/default.nix
new file mode 100644
index 00000000000..49379dfd541
--- /dev/null
+++ b/pkgs/development/php-packages/openswoole/default.nix
@@ -0,0 +1,22 @@
+{ lib, stdenv, buildPecl, php, valgrind, pcre2 }:
+let
+  pname = "openswoole";
+  version = "4.11.1";
+in
+buildPecl {
+  inherit pname version;
+
+  sha256 = "sha256-Rhoa4ny86dwB3e86/1W30AlDGRUDYjK8RusquKF5Izg=";
+
+  buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin) [ valgrind ];
+  internalDeps = lib.optionals (lib.versionOlder php.version "7.4") [ php.extensions.hash ];
+
+  meta = with lib; {
+    changelog = "https://pecl.php.net/package/openswoole/${version}";
+    description = "Coroutine-based concurrency library and high performance programmatic server for PHP";
+    homepage = "https://www.openswoole.com/";
+    license = licenses.asl20;
+    longDescription = "Open Swoole allows you to build high-performance, async multi-tasking webservices and applications using an easy to use Coroutine API.\nOpen Swoole is a complete async solution that has built-in support for async programming via coroutines.\nIt offers a range of multi-threaded I/O modules (HTTP Server, WebSockets, TaskWorkers, Process Pools) out of the box and support for popular PHP clients like PDO for MySQL, and CURL.\nYou can use the sync or async, Coroutine API to write whole applications or create thousands of light weight Coroutines within one Linux process.";
+    maintainers = teams.php.members;
+  };
+}
diff --git a/pkgs/development/php-packages/pdepend/default.nix b/pkgs/development/php-packages/pdepend/default.nix
new file mode 100644
index 00000000000..d1507040fce
--- /dev/null
+++ b/pkgs/development/php-packages/pdepend/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, makeWrapper, lib, php }:
+
+let
+  pname = "pdepend";
+  version = "2.10.3";
+in
+stdenv.mkDerivation {
+  inherit pname version;
+
+  src = fetchurl {
+    url = "https://github.com/pdepend/pdepend/releases/download/${version}/pdepend.phar";
+    sha256 = "I5+n8+a3rHRgW4OM6FbVcf3T1wu9zBrTSb5sGq7ArH4=";
+  };
+
+  dontUnpack = true;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    install -D $src $out/libexec/pdepend/pdepend.phar
+    makeWrapper ${php}/bin/php $out/bin/pdepend \
+      --add-flags "$out/libexec/pdepend/pdepend.phar"
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "An adaptation of JDepend for PHP";
+    homepage = "https://github.com/pdepend/pdepend";
+    license = licenses.bsd3;
+    longDescription = "
+      PHP Depend is an adaptation of the established Java
+      development tool JDepend. This tool shows you the quality
+      of your design in terms of extensibility, reusability and
+      maintainability.
+    ";
+    maintainers = teams.php.members;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/python-modules/Nikola/default.nix b/pkgs/development/python-modules/Nikola/default.nix
index faa17a83839..c95283acda5 100644
--- a/pkgs/development/python-modules/Nikola/default.nix
+++ b/pkgs/development/python-modules/Nikola/default.nix
@@ -41,12 +41,12 @@
 
 buildPythonPackage rec {
   pname = "Nikola";
-  version = "8.2.0";
+  version = "8.2.2";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9998fedfcb932e19e3b54faeb497a49cde8b15163af764c5afe5847fef5ec1ff";
+    sha256 = "sha256-lfSrBRwkWMHTFEJ4KmrWIx9XIMO5I9XxcuJe7zTxJsE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/Theano/default.nix b/pkgs/development/python-modules/Theano/default.nix
index cd4c81056d5..f596a6d804d 100644
--- a/pkgs/development/python-modules/Theano/default.nix
+++ b/pkgs/development/python-modules/Theano/default.nix
@@ -99,6 +99,6 @@ in buildPythonPackage rec {
     homepage = "https://github.com/Theano/Theano";
     description = "A Python library for large-scale array computation";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ maintainers.bcdarwin ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/XlsxWriter/default.nix b/pkgs/development/python-modules/XlsxWriter/default.nix
index 5096f37e302..747887f2eaa 100644
--- a/pkgs/development/python-modules/XlsxWriter/default.nix
+++ b/pkgs/development/python-modules/XlsxWriter/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "xlsxwriter";
-  version = "3.0.2";
+  version = "3.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "jmcnamara";
     repo = "XlsxWriter";
     rev = "RELEASE_${version}";
-    hash = "sha256-I87/8OhMoI9/BRXdmTZ1Ul+d+/x+Kg/9CuqMgTsP8Eo=";
+    hash = "sha256-9fIxNkOdM+Bz1F9AWq02H3LLQnefxGSAtp9kM2OtJ9M=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/advocate/default.nix b/pkgs/development/python-modules/advocate/default.nix
new file mode 100644
index 00000000000..7462dfb8683
--- /dev/null
+++ b/pkgs/development/python-modules/advocate/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, ndg-httpsclient
+, netifaces
+, pyasn1
+, pyopenssl
+, requests
+, six
+, urllib3
+}:
+
+buildPythonPackage rec {
+  pname = "advocate";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "JordanMilne";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-opObkjkad+yrLE2b7DULHjGuNeVhu4fEmSavgA39YPw=";
+  };
+
+  propagatedBuildInputs = [
+    ndg-httpsclient
+    netifaces
+    pyasn1
+    pyopenssl
+    requests
+    six
+    urllib3
+  ];
+
+  # The tests do network requests, so disabled
+  doCheck = false;
+
+  pythonImportsCheck = [ "advocate" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/JordanMilne/Advocate";
+    description = "An SSRF-preventing wrapper around Python's requests library";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pborzenkov ];
+  };
+}
diff --git a/pkgs/development/python-modules/afsapi/default.nix b/pkgs/development/python-modules/afsapi/default.nix
index 864d0caba39..d1f6325f850 100644
--- a/pkgs/development/python-modules/afsapi/default.nix
+++ b/pkgs/development/python-modules/afsapi/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "afsapi";
-  version = "0.2.3";
+  version = "0.2.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "wlcrs";
     repo = "python-afsapi";
-    rev = version;
-    hash = "sha256-6nmj15jCGBRkT7Ip/VGHX5IrAbhu1LUlvXuvFhvXknY=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-pNggrg97GIBBTm4rjtpx0NOZIWCGn9boB/Wss/QwF6U=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index ef606a027d0..9f6828fd632 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -7,8 +7,8 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.1.12332";
-  format = "setuptools";
+  version = "9.2.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-qWKvNhiOAonUi0qpOWtwbNZa2lgBQ+gaGrAHMgDdr4Q=";
+    hash = "sha256-F0t4vVxi4KUUtIZc8FJD9+2qf1XA58haFfjmHwAQaWA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioairzone/default.nix b/pkgs/development/python-modules/aioairzone/default.nix
index fc62525915e..4865812023b 100644
--- a/pkgs/development/python-modules/aioairzone/default.nix
+++ b/pkgs/development/python-modules/aioairzone/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "aioairzone";
-  version = "0.3.4";
+  version = "0.4.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ENdgaG30Fll5HQOTcghkmqOAiMYEY1aHRIel4Bd25Pk=";
+    hash = "sha256-SPxSIcsDjsT7dZQs1CoU7DstQTxYN1c0qAB+XQjVXlo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiodiscover/default.nix b/pkgs/development/python-modules/aiodiscover/default.nix
index f54ffc9d4ce..d8fb5c6b38b 100644
--- a/pkgs/development/python-modules/aiodiscover/default.nix
+++ b/pkgs/development/python-modules/aiodiscover/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aiodiscover";
-  version = "1.4.9";
+  version = "1.4.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KfNf09L8WF8Op+uVLRttROIgXpY79v0HfMv8b2qMSxE=";
+    sha256 = "sha256-s5g8otQSWTAOkN4q1LrM/FxVlOnGSv8XKtIDkdwcHMg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioftp/default.nix b/pkgs/development/python-modules/aioftp/default.nix
index 56ac63bfc5f..4ef05d27d99 100644
--- a/pkgs/development/python-modules/aioftp/default.nix
+++ b/pkgs/development/python-modules/aioftp/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "aioftp";
-  version = "0.21.0";
+  version = "0.21.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-TwORfChymaB4k5Q3CAPjsPaTXiQdjyi7s2fCN5qTT5I=";
+    sha256 = "sha256-JWzeBdCPXLYMmKkvCqQQF/mHoRbdRvj0vKVF4+D8LSI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiohttp-apispec/default.nix b/pkgs/development/python-modules/aiohttp-apispec/default.nix
index ffd8e698c58..df8c1fffdb9 100644
--- a/pkgs/development/python-modules/aiohttp-apispec/default.nix
+++ b/pkgs/development/python-modules/aiohttp-apispec/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "aiohttp-apispec";
-  version = "3.0.0b1";
+  version = "3.0.0b2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "maximdanilchenko";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-LGdi5ZhJ1G0GxUJVBZnwW3Q+x3Yo9FRV9b6REPlq7As=";
+    hash = "sha256-C+/M25oCLTNGGEUj2EyXn3UjcvPvDYFmmUW8IOoF1uU=";
   };
 
   propagatedBuildInputs = [
@@ -40,11 +40,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "jinja2<3.0" "jinja2"
-  '';
-
   pythonImportsCheck = [
     "aiohttp_apispec"
   ];
diff --git a/pkgs/development/python-modules/aiohttp-remotes/default.nix b/pkgs/development/python-modules/aiohttp-remotes/default.nix
index be33becb26c..4b150b9edea 100644
--- a/pkgs/development/python-modules/aiohttp-remotes/default.nix
+++ b/pkgs/development/python-modules/aiohttp-remotes/default.nix
@@ -41,6 +41,12 @@ buildPythonPackage rec {
     "aiohttp_remotes"
   ];
 
+  pytestFlagsArray = [
+    "-W"
+    "ignore::DeprecationWarning"
+    "--asyncio-mode=auto"
+  ];
+
   meta = with lib; {
     description = "Set of useful tools for aiohttp.web server";
     homepage = "https://github.com/wikibusiness/aiohttp-remotes";
diff --git a/pkgs/development/python-modules/aiohttp-swagger/default.nix b/pkgs/development/python-modules/aiohttp-swagger/default.nix
index 501c70e3ee4..a8e3499ee58 100644
--- a/pkgs/development/python-modules/aiohttp-swagger/default.nix
+++ b/pkgs/development/python-modules/aiohttp-swagger/default.nix
@@ -13,6 +13,7 @@
 buildPythonPackage rec {
   pname = "aiohttp-swagger";
   version = "1.0.15";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
@@ -20,7 +21,7 @@ buildPythonPackage rec {
     owner = "cr0hn";
     repo = pname;
     rev = version;
-    sha256 = "sha256-M43sNpbXWXFRTd549cZhvhO35nBB6OH+ki36BzSk87Q=";
+    hash = "sha256-M43sNpbXWXFRTd549cZhvhO35nBB6OH+ki36BzSk87Q=";
   };
 
   propagatedBuildInputs = [
@@ -41,7 +42,14 @@ buildPythonPackage rec {
       --replace "jinja2~=2.11.2" "jinja2>=2.11.2"
   '';
 
-  pythonImportsCheck = [ "aiohttp_swagger" ];
+  preCheck = ''
+    # The custom client is obsolete
+    rm tests/conftest.py
+  '';
+
+  pythonImportsCheck = [
+    "aiohttp_swagger"
+  ];
 
   meta = with lib; {
     description = "Swagger API Documentation builder for aiohttp";
diff --git a/pkgs/development/python-modules/aiolifx/default.nix b/pkgs/development/python-modules/aiolifx/default.nix
index 2cc04130c67..68a630a96ee 100644
--- a/pkgs/development/python-modules/aiolifx/default.nix
+++ b/pkgs/development/python-modules/aiolifx/default.nix
@@ -8,13 +8,14 @@
 
 buildPythonPackage rec {
   pname = "aiolifx";
-  version = "0.7.1";
+  version = "0.8.1";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.4";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ktXnAgrxfDELfMQATcWHn/u6C4bKQii+mbT4mA54coo=";
+    hash = "sha256-w6d2qpU8jPrE2Dtuq4825qOCU1SoIpkEjOEX+BYxhuU=";
   };
 
   propagatedBuildInputs = [
@@ -25,10 +26,12 @@ buildPythonPackage rec {
   # tests are not implemented
   doCheck = false;
 
-  pythonImportsCheck = [ "aiolifx" ];
+  pythonImportsCheck = [
+    "aiolifx"
+  ];
 
   meta = with lib; {
-    description = "API for local communication with LIFX devices over a LAN";
+    description = "Module for local communication with LIFX devices over a LAN";
     homepage = "https://github.com/frawau/aiolifx";
     license = licenses.mit;
     maintainers = with maintainers; [ netixx ];
diff --git a/pkgs/development/python-modules/aiolimiter/default.nix b/pkgs/development/python-modules/aiolimiter/default.nix
new file mode 100644
index 00000000000..9f8f81e2fca
--- /dev/null
+++ b/pkgs/development/python-modules/aiolimiter/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, poetry-core
+, importlib-metadata
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, toml
+}:
+
+buildPythonPackage rec {
+  pname = "aiolimiter";
+  version = "1.0.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "mjpieters";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-4wByVZoOLhrXFx9oK19GBmRcjGoJolQ3Gwx9vQV/n8s=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+    toml
+  ];
+
+  patches = [
+    # Switch to poetry-core, https://github.com/mjpieters/aiolimiter/pull/77
+    (fetchpatch {
+      name = "switch-to-peotry-core.patch";
+      url = "https://github.com/mjpieters/aiolimiter/commit/84a85eff42621b0daff8fcf6bb485db313faae0b.patch";
+      sha256 = "sha256-xUfJwLvMF2Xt/V1bKBFn/fjn1uyw7bGNo9RpWxtyr50=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace tox.ini \
+      --replace " --cov=aiolimiter --cov-config=tox.ini --cov-report term-missing" ""
+  '';
+
+  pythonImportsCheck = [
+    "aiolimiter"
+  ];
+
+  meta = with lib; {
+    description = "Implementation of a rate limiter for asyncio";
+    homepage = "https://github.com/mjpieters/aiolimiter";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiomysql/default.nix b/pkgs/development/python-modules/aiomysql/default.nix
index 3432931f935..b52760d2069 100644
--- a/pkgs/development/python-modules/aiomysql/default.nix
+++ b/pkgs/development/python-modules/aiomysql/default.nix
@@ -2,55 +2,45 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pymysql
-, pytest
-, isPy27
-, fetchpatch
+, pythonOlder
+, setuptools-scm
+, setuptools-scm-git-archive
 }:
 
 buildPythonPackage rec {
   pname = "aiomysql";
-  version = "0.0.21";
-  disabled = isPy27;
+  version = "0.1.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qvy3phbsxp55161dnppjfx2m1kn82v0irc3xzqw0adfd81vaiad";
+    hash = "sha256-TNaQ4EKiHwSmPpUco0pA5SBP3fljWQ/Kd5RLs649fu0=";
   };
 
-  patches = [
-    (fetchpatch {
-      # vendor functions previously provided by pymysql.util
-      url = "https://github.com/aio-libs/aiomysql/pull/554/commits/919b997a9de7f53d721af76762fba425e306531e.patch";
-      sha256 = "V1VYyqr6RwTXoVoGVyMuJst6uqTuuHbpMOpLoVZO1XA=";
-    })
+  nativeBuildInputs = [
+    setuptools-scm
+    setuptools-scm-git-archive
   ];
 
   propagatedBuildInputs = [
     pymysql
   ];
 
-  checkInputs = [
-    pytest
-  ];
-
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "PyMySQL>=0.9,<=0.9.3" "PyMySQL"
-  '';
-
-  checkPhase = ''
-    pytest
-  '';
-
-  # tests require mysql database
+  # Tests require MySQL database
   doCheck = false;
 
+  pythonImportsCheck = [
+    "aiomysql"
+  ];
+
   meta = with lib; {
     description = "MySQL driver for asyncio";
     homepage = "https://github.com/aio-libs/aiomysql";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/aiooncue/default.nix b/pkgs/development/python-modules/aiooncue/default.nix
index 3e9cc46b16b..728c28eddd8 100644
--- a/pkgs/development/python-modules/aiooncue/default.nix
+++ b/pkgs/development/python-modules/aiooncue/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "aiooncue";
-  version = "0.3.3";
+  version = "0.3.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = version;
-    hash = "sha256-rzgSvgVfpz2AVwqnat+TO+QhA3KcXV/a1HDNAP1fNPM=";
+    hash = "sha256-/Db32OomEkrBtq5lfT8zBGgvaUWnWE/sTqwNVNB9XAg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioqsw/default.nix b/pkgs/development/python-modules/aioqsw/default.nix
index 91dac94f20d..ae311fe4bc7 100644
--- a/pkgs/development/python-modules/aioqsw/default.nix
+++ b/pkgs/development/python-modules/aioqsw/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aioqsw";
-  version = "0.0.5";
+  version = "0.0.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "Noltari";
     repo = pname;
-    rev = version;
-    hash = "sha256-2MuJrWrjcRkdeVkKfv/nUVfHyBtKKsq1sC5ISSEtyEE=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-EEgEpil6/pa3gihiLZ5RrtTxP63H24VmMc8Nf1Vsrw8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioslimproto/default.nix b/pkgs/development/python-modules/aioslimproto/default.nix
new file mode 100644
index 00000000000..2990659556c
--- /dev/null
+++ b/pkgs/development/python-modules/aioslimproto/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aioslimproto";
+  version = "2.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "home-assistant-libs";
+    repo = pname;
+    rev = version;
+    hash = "sha256-xa0LZGq0di4lnJGVMbb1Un0Ebd4vXRlbkxbatJ9GwB0=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # AssertionError: assert ['mixer', 'volume', '50'] == ['volume', '50']
+    "test_msg_instantiation"
+  ];
+
+  pythonImportsCheck = [
+    "aioslimproto"
+  ];
+
+  meta = with lib; {
+    description = "Module to control Squeezebox players";
+    homepage = "https://github.com/home-assistant-libs/aioslimproto";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/amply/default.nix b/pkgs/development/python-modules/amply/default.nix
index 35aa3ecb4d3..5a26e341958 100644
--- a/pkgs/development/python-modules/amply/default.nix
+++ b/pkgs/development/python-modules/amply/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "amply";
-  version = "0.1.4";
+  version = "0.1.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cb12dcb49d16b168c02be128a1527ecde50211e4bd94af76ff4e67707f5a2d38";
+    sha256 = "sha256-rXF7SQtrcFWQn6oZXoKkQytwb4+VhUBQFy9Ckx5HhCY=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/amqp/default.nix b/pkgs/development/python-modules/amqp/default.nix
index d226192164d..ec4dd4dfcbe 100644
--- a/pkgs/development/python-modules/amqp/default.nix
+++ b/pkgs/development/python-modules/amqp/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "amqp";
-  version = "5.1.0";
+  version = "5.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-RGs+io68LOr9Qk/8qrHDU4MNSBYSVleO16ZUSOYB6+0=";
+    hash = "sha256-LBsT/swIk+lGxly9XzZCeGHP+k6iIB2Pb8oi4qNzteI=";
   };
 
   propagatedBuildInputs = [
@@ -38,8 +38,8 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    homepage = "https://github.com/celery/py-amqp";
     description = "Python client for the Advanced Message Queuing Procotol (AMQP). This is a fork of amqplib which is maintained by the Celery project";
+    homepage = "https://github.com/celery/py-amqp";
     license = licenses.bsd3;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/androidtv/default.nix b/pkgs/development/python-modules/androidtv/default.nix
index f116cef3dc7..2f7afc11375 100644
--- a/pkgs/development/python-modules/androidtv/default.nix
+++ b/pkgs/development/python-modules/androidtv/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "androidtv";
-  version = "0.0.66";
+  version = "0.0.67";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "JeffLIrion";
     repo = "python-androidtv";
     rev = "v${version}";
-    hash = "sha256-gSbckVjM49nVfzpk9sfynJDx15+zQ/KgaI7oxEkXQpo=";
+    hash = "sha256-MAlKD2PDQJQaKPiMQDu1CMvn4xnxb8FmeYqzcW4hso0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index 1881da62f50..31629eab9d6 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -46,8 +46,8 @@ in
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.1.12332";
-  format = "setuptools";
+  version = "9.2.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-GaW1XyFOnjU28HqptFC6+Fe41zYZMR716Nsq0dPy660=";
+    hash = "sha256-7t4NV1udBq3tK7czuKYUsQ+9tLahFM8DlUUBT3d6bco=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/angrop/default.nix b/pkgs/development/python-modules/angrop/default.nix
index 8164190cd49..d32441a989c 100644
--- a/pkgs/development/python-modules/angrop/default.nix
+++ b/pkgs/development/python-modules/angrop/default.nix
@@ -9,8 +9,8 @@
 
 buildPythonPackage rec {
   pname = "angrop";
-  version = "9.1.12332";
-  format = "setuptools";
+  version = "9.2.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-lhwlZ7eHaEMaTW7c+WCRSeGSIQ5IeEx6XALyYJH+Ey0=";
+    hash = "sha256-VhlsRd5IN8zF6aUU5Ji/ULkdecOpR+egU3vhYpi+KL8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ansible-compat/default.nix b/pkgs/development/python-modules/ansible-compat/default.nix
index 97766cdd3aa..743ebab42f1 100644
--- a/pkgs/development/python-modules/ansible-compat/default.nix
+++ b/pkgs/development/python-modules/ansible-compat/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, ansible
+, ansible-core
 , flaky
 , pytest-mock
 , pytestCheckHook
@@ -35,7 +35,7 @@ buildPythonPackage rec {
   '';
 
   checkInputs = [
-    ansible
+    ansible-core
     flaky
     pytest-mock
     pytestCheckHook
diff --git a/pkgs/development/python-modules/ansible-doctor/default.nix b/pkgs/development/python-modules/ansible-doctor/default.nix
index 4792712f41e..d988f69683e 100644
--- a/pkgs/development/python-modules/ansible-doctor/default.nix
+++ b/pkgs/development/python-modules/ansible-doctor/default.nix
@@ -1,65 +1,72 @@
-{ buildPythonPackage
-, fetchFromGitHub
-, lib
-
-# pythonPackages
+{ lib
 , anyconfig
 , appdirs
+, buildPythonPackage
 , colorama
 , environs
+, fetchFromGitHub
 , jinja2
 , jsonschema
 , nested-lookup
 , pathspec
 , poetry-core
 , python-json-logger
+, pythonOlder
 , ruamel-yaml
 }:
 
 buildPythonPackage rec {
   pname = "ansible-doctor";
-  version = "1.2.1";
+  version = "1.3.0";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "thegeeklab";
     repo = "ansible-doctor";
     rev = "v${version}";
-    sha256 = "sha256-2Jaf7asU4c7kw9v9dUYDL4/M2Y/2qhMM3m0jqYiobUI=";
+    hash = "sha256-lJKJE9UccknQg8aqt/6qmjKKaICBxaCH5e8fdmie6u8=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    anyconfig
+    appdirs
+    colorama
+    environs
+    jinja2
+    jsonschema
+    nested-lookup
+    pathspec
+    python-json-logger
+    ruamel-yaml
+  ];
+
   postInstall = ''
     rm $out/lib/python*/site-packages/LICENSE
   '';
 
   postPatch = ''
     substituteInPlace pyproject.toml \
+      --replace 'version = "0.0.0"' 'version = "${version}"' \
+      --replace 'Jinja2 = "3.1.2"' 'Jinja2 = "*"' \
+      --replace 'anyconfig = "0.13.0"' 'anyconfig = "*"' \
       --replace 'environs = "9.5.0"' 'environs = "*"' \
       --replace 'jsonschema = "4.4.0"' 'jsonschema = "*"' \
       --replace '"ruamel.yaml" = "0.17.21"' '"ruamel.yaml" = "*"'
   '';
 
-  nativeBuildInputs = [
-    poetry-core
-  ];
+  # Module has no tests
+  doCheck = false;
 
-  propagatedBuildInputs = [
-    jinja2
-    colorama
-    python-json-logger
-    pathspec
-    environs
-    jsonschema
-    appdirs
-    ruamel-yaml
-    anyconfig
-    nested-lookup
+  pythonImportsCheck = [
+    "ansibledoctor"
   ];
 
-  # no tests
-  doCheck = false;
-  pythonImportsCheck = [ "ansibledoctor" ];
-
   meta = with lib; {
     description = "Annotation based documentation for your Ansible roles";
     homepage = "https://github.com/thegeeklab/ansible-doctor";
diff --git a/pkgs/development/python-modules/ansible-later/default.nix b/pkgs/development/python-modules/ansible-later/default.nix
index 43f24bfbf0a..8ad96e78bcf 100644
--- a/pkgs/development/python-modules/ansible-later/default.nix
+++ b/pkgs/development/python-modules/ansible-later/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "ansible-later";
-  version = "2.0.9";
+  version = "2.0.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -29,8 +29,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "thegeeklab";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-g7/RClQB+6HsDbe/VjjKka97LcwRTKO0OD0RlCG9lWY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-0N/BER7tV8Hv1pvHaf/46BKnzZfHBGuEaPPex/CDQe0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ansible-runner/default.nix b/pkgs/development/python-modules/ansible-runner/default.nix
index 706cde06b8b..ded3205f47b 100644
--- a/pkgs/development/python-modules/ansible-runner/default.nix
+++ b/pkgs/development/python-modules/ansible-runner/default.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, ansible
+, ansible-core
 , buildPythonPackage
 , fetchPypi
 , mock
@@ -32,7 +32,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    ansible
+    ansible-core
     psutil
     pexpect
     python-daemon
@@ -41,7 +41,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    ansible # required to place ansible CLI onto the PATH in tests
+    ansible-core # required to place ansible CLI onto the PATH in tests
     pytestCheckHook
     pytest-mock
     pytest-timeout
diff --git a/pkgs/development/python-modules/ansible/base.nix b/pkgs/development/python-modules/ansible/base.nix
deleted file mode 100644
index 173e620703a..00000000000
--- a/pkgs/development/python-modules/ansible/base.nix
+++ /dev/null
@@ -1,88 +0,0 @@
-{ lib
-, callPackage
-, buildPythonPackage
-, fetchPypi
-, installShellFiles
-, cryptography
-, jinja2
-, junit-xml
-, lxml
-, ncclient
-, packaging
-, paramiko
-, pexpect
-, psutil
-, pycrypto
-, pyyaml
-, requests
-, scp
-, windowsSupport ? false, pywinrm
-, xmltodict
-}:
-
-let
-  ansible-collections = callPackage ./collections.nix {
-    version = "3.4.0"; # must be < 4.0
-    sha256 = "096rbgz730njk0pg8qnc27mmz110wqrw354ca9gasb7rqg0f4d6a";
-  };
-in
-buildPythonPackage rec {
-  pname = "ansible-base";
-  version = "2.10.17";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-75JYgsqNTDwszQkc3hmeDIaQJMytDQejN9zyB7/zLzQ=";
-  };
-
-  # ansible_connection is already wrapped, so don't pass it through
-  # the python interpreter again, as it would break execution of
-  # connection plugins.
-  postPatch = ''
-    substituteInPlace lib/ansible/executor/task_executor.py \
-      --replace "[python," "["
-  '';
-
-  nativeBuildInputs = [
-    installShellFiles
-  ];
-
-  propagatedBuildInputs = [
-    # depend on ansible-collections instead of the other way around
-    ansible-collections
-    # from requirements.txt
-    cryptography
-    jinja2
-    packaging
-    pyyaml
-    # optional dependencies
-    junit-xml
-    lxml
-    ncclient
-    paramiko
-    pexpect
-    psutil
-    pycrypto
-    requests
-    scp
-    xmltodict
-  ] ++ lib.optional windowsSupport pywinrm;
-
-  postInstall = ''
-    installManPage docs/man/man1/*.1
-  '';
-
-  # internal import errors, missing dependencies
-  doCheck = false;
-
-  passthru = {
-    collections = ansible-collections;
-  };
-
-  meta = with lib; {
-    description = "Radically simple IT automation";
-    homepage = "https://www.ansible.com";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ hexa ];
-  };
-}
diff --git a/pkgs/development/python-modules/ansible/core.nix b/pkgs/development/python-modules/ansible/core.nix
index fc242ccd10a..49ae39feba7 100644
--- a/pkgs/development/python-modules/ansible/core.nix
+++ b/pkgs/development/python-modules/ansible/core.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , fetchPypi
 , installShellFiles
+, ansible
 , cryptography
 , jinja2
 , junit-xml
@@ -21,19 +22,13 @@
 , xmltodict
 }:
 
-let
-  ansible-collections = callPackage ./collections.nix {
-    version = "5.5.0";
-    sha256 = "sha256-uKdtc3iJyb/Q5rDyJ23PjYNtpmcGejVXdvNQTXpm1Rg=";
-  };
-in
 buildPythonPackage rec {
   pname = "ansible-core";
-  version = "2.12.3";
+  version = "2.12.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ihNan3TJfKtndZKTdErTQ1D3GVI+i9m7kAjfTPlTryA=";
+    sha256 = "sha256-HMyZRPEBMxra0e1A1axmqBSRMwUq402wJnp0qnO+67M=";
   };
 
   # ansible_connection is already wrapped, so don't pass it through
@@ -49,8 +44,8 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    # depend on ansible-collections instead of the other way around
-    ansible-collections
+    # depend on ansible instead of the other way around
+    ansible
     # from requirements.txt
     cryptography
     jinja2
@@ -77,10 +72,6 @@ buildPythonPackage rec {
   # internal import errors, missing dependencies
   doCheck = false;
 
-  passthru = {
-    collections = ansible-collections;
-  };
-
   meta = with lib; {
     description = "Radically simple IT automation";
     homepage = "https://www.ansible.com";
diff --git a/pkgs/development/python-modules/ansible/collections.nix b/pkgs/development/python-modules/ansible/default.nix
index 427e76a979c..2e44fa4e243 100644
--- a/pkgs/development/python-modules/ansible/collections.nix
+++ b/pkgs/development/python-modules/ansible/default.nix
@@ -1,4 +1,5 @@
 { lib
+, pythonOlder
 , buildPythonPackage
 , fetchPypi
 , jsonschema
@@ -11,25 +12,30 @@
 , textfsm
 , ttp
 , xmltodict
+
+# optionals
 , withJunos ? false
 , withNetbox ? false
-
-, version
-, sha256
 }:
 
-buildPythonPackage rec {
+let
   pname = "ansible";
-  inherit version;
+  version = "5.7.1";
+in
+buildPythonPackage {
+  inherit pname version;
   format = "setuptools";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchPypi {
-    inherit pname version sha256;
+    inherit pname version;
+    sha256 = "sha256-kKCaNFENGU1jVWiVoiWonkqLdIua4hW1XlF6N94GOmE=";
   };
 
   postPatch = ''
-    # make ansible-base depend on ansible-collection, not the other way around
-    sed -Ei '/ansible-(base|core)/d' setup.py
+    # we make ansible-core depend on ansible, not the other way around
+    sed -Ei '/ansible-core/d' setup.py
   '';
 
   propagatedBuildInputs = lib.unique ([
@@ -72,6 +78,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Radically simple IT automation";
     homepage = "https://www.ansible.com";
+    changelog = "https://github.com/ansible-community/ansible-build-data/blob/${version}/${lib.versions.major version}/CHANGELOG-v${lib.versions.major version}.rst";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ hexa ];
   };
diff --git a/pkgs/development/python-modules/ansible/legacy.nix b/pkgs/development/python-modules/ansible/legacy.nix
deleted file mode 100644
index 50662b43f32..00000000000
--- a/pkgs/development/python-modules/ansible/legacy.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ lib
-, fetchPypi
-, buildPythonPackage
-, pycrypto
-, paramiko
-, jinja2
-, pyyaml
-, httplib2
-, six
-, netaddr
-, dnspython
-, jmespath
-, dopy
-, ncclient
-, windowsSupport ? false
-, pywinrm
-}:
-
-buildPythonPackage rec {
-  pname = "ansible";
-  version = "2.9.27";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-R5FZ5Qs72Qkg0GvFlBDDpR0/m+m04QKeEdHkotBwVzY=";
-  };
-
-  prePatch = ''
-    # ansible-connection is wrapped, so make sure it's not passed
-    # through the python interpreter.
-    sed -i "s/\[python, /[/" lib/ansible/executor/task_executor.py
-  '';
-
-  postInstall = ''
-    for m in docs/man/man1/*; do
-      install -vD $m -t $out/share/man/man1
-    done
-  '';
-
-  propagatedBuildInputs = [
-    pycrypto paramiko jinja2 pyyaml httplib2
-    six netaddr dnspython jmespath dopy ncclient
-  ] ++ lib.optional windowsSupport pywinrm;
-
-  # dificult to test
-  doCheck = false;
-
-  meta = with lib; {
-    homepage = "https://www.ansible.com";
-    description = "Radically simple IT automation";
-    license = [ licenses.gpl3 ] ;
-    maintainers = with maintainers; [ joamaki costrouc hexa ];
-    platforms = platforms.linux ++ platforms.darwin;
-  };
-}
diff --git a/pkgs/development/python-modules/apispec/default.nix b/pkgs/development/python-modules/apispec/default.nix
index 9c15537af35..0c145848810 100644
--- a/pkgs/development/python-modules/apispec/default.nix
+++ b/pkgs/development/python-modules/apispec/default.nix
@@ -1,23 +1,25 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pythonOlder
-, pyyaml
-, prance
 , marshmallow
-, pytestCheckHook
 , mock
 , openapi-spec-validator
+, prance
+, pytestCheckHook
+, pythonOlder
+, pyyaml
 }:
 
 buildPythonPackage rec {
   pname = "apispec";
-  version = "5.1.1";
-  disabled = pythonOlder "3.6";
+  version = "5.2.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d167890e37f14f3f26b588ff2598af35faa5c27612264ea1125509c8ff860834";
+    hash = "sha256-z3VMQ5pW3xLwFJ/FaQpCJ3TprDOV+2eYiCwX+8OinS0=";
   };
 
   propagatedBuildInputs = [
@@ -32,12 +34,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "apispec" ];
+  pythonImportsCheck = [
+    "apispec"
+  ];
 
   meta = with lib; {
     description = "A pluggable API specification generator with support for the OpenAPI Specification";
     homepage = "https://github.com/marshmallow-code/apispec";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix
index e0b5c696e31..5bccffea292 100644
--- a/pkgs/development/python-modules/apprise/default.nix
+++ b/pkgs/development/python-modules/apprise/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "apprise";
-  version = "0.9.7";
+  version = "0.9.8.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-BOMeSvwmGiZvA95+e2bceCGXRwowU5+zJAl7Sn4wKqM=";
+    hash = "sha256-24OYAjbnzer0KyTRx7Kty8HVsHdon+l4UazcWMIm428=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix
index a6c94f24442..dd2f26e92d1 100644
--- a/pkgs/development/python-modules/approvaltests/default.nix
+++ b/pkgs/development/python-modules/approvaltests/default.nix
@@ -16,7 +16,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "5.0.0";
+  version = "5.0.1";
   pname = "approvaltests";
   format = "setuptools";
 
@@ -26,8 +26,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "approvals";
     repo = "ApprovalTests.Python";
-    rev = "v${version}";
-    sha256 = "sha256-ku8J1ccX6LZZitlAOgc3eNCdsFx/FP1nqtdgPJF/jRg=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-lmH/nw/7woLCDepR/rDQUqwrhuLFY+TO8sdgK1+apgc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aprslib/default.nix b/pkgs/development/python-modules/aprslib/default.nix
index 67d585d36ed..7c2fa222bd2 100644
--- a/pkgs/development/python-modules/aprslib/default.nix
+++ b/pkgs/development/python-modules/aprslib/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "aprslib";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "rossengeorgiev";
     repo = "aprs-python";
     rev = "v${version}";
-    sha256 = "sha256-QasyF0Ch4zdPoAgcqRavEENVGA/02/AgeWAgXYcSUjk=";
+    hash = "sha256-wWlzOFhWJ7hJeM3RWsPTEsLjRzN4SMXsb2Cd612HB4w=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/apsw/default.nix b/pkgs/development/python-modules/apsw/default.nix
index 8ff78f7ad63..dda3fe6a683 100644
--- a/pkgs/development/python-modules/apsw/default.nix
+++ b/pkgs/development/python-modules/apsw/default.nix
@@ -4,7 +4,7 @@
 , fetchFromGitHub
 , sqlite
 , isPyPy
-, pytestCheckHook
+, python
 }:
 
 buildPythonPackage rec {
@@ -25,37 +25,13 @@ buildPythonPackage rec {
     sqlite
   ];
 
-  checkInputs = [
-    pytestCheckHook
-  ];
-
-  # Works around the following error by dropping the call to that function
-  #     def print_version_info(write=write):
-  # >       write("                Python " + sys.executable + " " + str(sys.version_info) + "\n")
-  # E       TypeError: 'module' object is not callable
-  preCheck = ''
-    sed -i '/print_version_info(write)/d' tests.py
+  # Project uses custom test setup to exclude some tests by default, so using pytest
+  # requires more maintenance
+  # https://github.com/rogerbinns/apsw/issues/335
+  checkPhase = ''
+    ${python.interpreter} setup.py test
   '';
 
-  pytestFlagsArray = [
-    "tests.py"
-  ];
-
-  disabledTests = [
-    "testCursor"
-    "testdb"
-    "testLargeObjects"
-    "testLoadExtension"
-    "testShell"
-    "testVFS"
-    "testVFSWithWAL"
-  ] ++ lib.optionals stdenv.isDarwin [
-    # This is https://github.com/rogerbinns/apsw/issues/277 but
-    # because we use pytestCheckHook we need to blacklist the test
-    # manually
-    "testzzForkChecker"
-  ];
-
   pythonImportsCheck = [
     "apsw"
   ];
@@ -64,6 +40,6 @@ buildPythonPackage rec {
     description = "A Python wrapper for the SQLite embedded relational database engine";
     homepage = "https://github.com/rogerbinns/apsw";
     license = licenses.zlib;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ gador ];
   };
 }
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index f9affcddd12..b9b29a7167a 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pytestCheckHook
 , nose
 , pythonOlder
@@ -9,8 +8,8 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.1.12332";
-  format = "setuptools";
+  version = "9.2.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -18,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-nv/hwQZgKv/cM8fF6GqI8zY9GAe8aCZ/AGFOmhz+bMM=";
+    hash = "sha256-RWdY7tzT5wDVjAn1QIkQm8b5lIo++VzktsYZxn8taeg=";
   };
 
   checkInputs = [
@@ -26,15 +25,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  patches = [
-    # Make archinfo import without installing pyvex, https://github.com/angr/archinfo/pull/113
-    (fetchpatch {
-      name = "fix-import-issue.patch";
-      url = "https://github.com/angr/archinfo/commit/d29c108f55ffd458ff1d3d65db2d651c76b19267.patch";
-      sha256 = "sha256-9vi0QyqQLIPQxFuB8qrpcnPXWOJ6d27/IXJE/Ui6HhM=";
-    })
-  ];
-
   pythonImportsCheck = [
     "archinfo"
   ];
@@ -43,6 +33,6 @@ buildPythonPackage rec {
     description = "Classes with architecture-specific information";
     homepage = "https://github.com/angr/archinfo";
     license = with licenses; [ bsd2 ];
-    maintainers = [ maintainers.fab ];
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/arris-tg2492lg/default.nix b/pkgs/development/python-modules/arris-tg2492lg/default.nix
new file mode 100644
index 00000000000..9a883b2f68e
--- /dev/null
+++ b/pkgs/development/python-modules/arris-tg2492lg/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-aiohttp
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "arris-tg2492lg";
+  version = "2.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "vanbalken";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-C1o9HWWJ/G/7Pp6I0FbRmX2PQvUJx71L9wHRkUMtnL4=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  checkInputs = [
+    pytest-aiohttp
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "arris_tg2492lg"
+  ];
+
+  meta = with lib; {
+    description = "Library to connect to an Arris TG2492LG";
+    homepage = "https://github.com/vanbalken/arris-tg2492lg";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/asciimatics/default.nix b/pkgs/development/python-modules/asciimatics/default.nix
index 0d7286c171f..3854abed09f 100644
--- a/pkgs/development/python-modules/asciimatics/default.nix
+++ b/pkgs/development/python-modules/asciimatics/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "asciimatics";
-  version = "1.13.0";
+  version = "1.14.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a041826ec5add03fb882d8981c1debf9b9e98274f4f2d52ec21ef30de70c2c6e";
+    sha256 = "sha256-FtIM5CIQtDTrBbpGns24KTrH7TwM4N1PcOMNctdgIic=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/async-upnp-client/default.nix b/pkgs/development/python-modules/async-upnp-client/default.nix
index 0f1a578c20d..c80c2646b7d 100644
--- a/pkgs/development/python-modules/async-upnp-client/default.nix
+++ b/pkgs/development/python-modules/async-upnp-client/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "async-upnp-client";
-  version = "0.27.0";
+  version = "0.29.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "StevenLooman";
     repo = "async_upnp_client";
     rev = version;
-    sha256 = "sha256-QElc4J2BxOFI+L9D/SVMiYeRVOmwrNTW65LgdBG0TbU=";
+    sha256 = "sha256-IzT48ABfk/v8VZJRJEMU/Rsi6mJG4IvtF7HNRv6TLeA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/authheaders/default.nix b/pkgs/development/python-modules/authheaders/default.nix
index 8593f7f4d74..0d9c1a4093d 100644
--- a/pkgs/development/python-modules/authheaders/default.nix
+++ b/pkgs/development/python-modules/authheaders/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "authheaders";
-  version = "0.14.1";
+  version = "0.15.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4e601b5b54080019a2f548fadf80ddf9c5538615607c7fb602936404aafe67e2";
+    sha256 = "sha256-90rOvu+CbHtammrMDZpPx7rIboIT2X/jL1GtfjpmuOk=";
   };
 
   propagatedBuildInputs = [ authres dnspython dkimpy publicsuffix2 ]
diff --git a/pkgs/development/python-modules/av/default.nix b/pkgs/development/python-modules/av/default.nix
index 3ebc44d1c4d..a6aa50b2de0 100644
--- a/pkgs/development/python-modules/av/default.nix
+++ b/pkgs/development/python-modules/av/default.nix
@@ -18,15 +18,16 @@
 
 buildPythonPackage rec {
   pname = "av";
-  version = "9.1.1";
+  version = "9.2.0";
   format = "pyproject";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "mikeboers";
     repo = "PyAV";
     rev = "v${version}";
-    hash = "sha256-/6C5GE9zANPy0xaptu/+pIupOLDra/R7TJ41YLGszUs=";
+    hash = "sha256-I7j+EzpvgKCNY8TbcaHsaWtetyvmno6YYhQTer2+Ds0=";
   };
 
   nativeBuildInputs = [
@@ -100,6 +101,11 @@ buildPythonPackage rec {
     "--deselect=tests/test_videoframe.py::TestVideoFrameImage::test_roundtrip"
   ];
 
+  disabledTests = [
+    # urlopen fails during DNS resolution
+    "test_writing_to_custom_io"
+  ];
+
   disabledTestPaths = [
     # urlopen fails during DNS resolution
     "tests/test_doctests.py"
diff --git a/pkgs/development/python-modules/awkward/default.nix b/pkgs/development/python-modules/awkward/default.nix
index 2b3b1e4ce8c..9698b445eb8 100644
--- a/pkgs/development/python-modules/awkward/default.nix
+++ b/pkgs/development/python-modules/awkward/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Manipulate JSON-like data with NumPy-like idioms";
-    homepage = "https://github.com/scikit-hep/awkward-1.0";
+    homepage = "https://github.com/scikit-hep/awkward";
     license = licenses.bsd3;
     maintainers = with maintainers; [ veprbl ];
   };
diff --git a/pkgs/development/python-modules/aws-adfs/default.nix b/pkgs/development/python-modules/aws-adfs/default.nix
index 673b6631cf2..9f4a6dcb45a 100644
--- a/pkgs/development/python-modules/aws-adfs/default.nix
+++ b/pkgs/development/python-modules/aws-adfs/default.nix
@@ -1,31 +1,41 @@
 { lib
+, boto3
 , botocore
 , buildPythonPackage
 , click
 , configparser
-, fetchPypi
+, fetchFromGitHub
 , fido2
-, glibcLocales
-, isPy27
 , lxml
-, mock
+, poetry-core
 , pyopenssl
 , pytestCheckHook
+, pythonOlder
 , requests
 , requests-kerberos
+, toml
 }:
 
 buildPythonPackage rec {
   pname = "aws-adfs";
-  version = "2.0.1";
-  disabled = isPy27;
+  version = "2.0.2";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-+WMv52JIbh51pqLhDnUCzrcbPD5eutzwFcPOhO+nR7s=";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "venth";
+    repo = pname;
+    rev = version;
+    hash = "sha256-T3AmPCOSeu7gvl57aHjnviy5iQAKlWy85fUOVecFRFc=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
+    boto3
     botocore
     click
     configparser
@@ -36,31 +46,29 @@ buildPythonPackage rec {
     requests-kerberos
   ];
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'boto3 = "^1.20.50"' 'boto3 = "*"' \
+      --replace 'botocore = ">=1.12.6"' 'botocore = "*"'
+  '';
+
   checkInputs = [
-    glibcLocales
-    mock
     pytestCheckHook
+    toml
   ];
 
-  # Relax version constraint
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace 'coverage < 4' 'coverage' \
-      --replace 'fido2>=0.8.1,<0.9.0' 'fido2>=0.8.1,<1.0.0'
+  preCheck = ''
+    export HOME=$(mktemp -d);
   '';
 
-  # Test suite writes files to $HOME/.aws/, or /homeless-shelter if unset
-  HOME = ".";
-
-  # Required for python3 tests, along with glibcLocales
-  LC_ALL = "en_US.UTF-8";
-
-  pythonImportsCheck = [ "aws_adfs" ];
+  pythonImportsCheck = [
+    "aws_adfs"
+  ];
 
   meta = with lib; {
-    description = "Command line tool to ease aws cli authentication against ADFS";
+    description = "Command line tool to ease AWS CLI authentication against ADFS";
     homepage = "https://github.com/venth/aws-adfs";
     license = licenses.psfl;
-    maintainers = [ maintainers.bhipple ];
+    maintainers = with maintainers; [ bhipple ];
   };
 }
diff --git a/pkgs/development/python-modules/aws-lambda-builders/default.nix b/pkgs/development/python-modules/aws-lambda-builders/default.nix
index 0aac1e71e7c..ce5c753a4af 100644
--- a/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "aws-lambda-builders";
-  version = "1.14.0";
+  version = "1.15.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-lambda-builders";
-    rev = "v${version}";
-    sha256 = "sha256-ypzo0cYvP8LV74cQMzHIFDk3LH0bbEB4UxPxRuqe2fc=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-kXglpj82e+LzUI6SW86wyfG2lGVnL/PsrTNsseg4VYk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/awscrt/default.nix b/pkgs/development/python-modules/awscrt/default.nix
index cc43d411039..d1866c0fc7d 100644
--- a/pkgs/development/python-modules/awscrt/default.nix
+++ b/pkgs/development/python-modules/awscrt/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "awscrt";
-  version = "0.13.9";
+  version = "0.13.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9XUzHfezr+bhQt6OKYiVEaCHqqWE6J7Y4Rj3MmaMAXA=";
+    hash = "sha256-Yx3I3RD57Nx6Cvm4moc5zmMbdsHeYiMghDfbQUor38E=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/python-modules/azure-identity/default.nix b/pkgs/development/python-modules/azure-identity/default.nix
index c4897fb306f..bf0af097b15 100644
--- a/pkgs/development/python-modules/azure-identity/default.nix
+++ b/pkgs/development/python-modules/azure-identity/default.nix
@@ -1,58 +1,55 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchPypi
-, lib
-
-# pythonPackages
 , azure-common
 , azure-core
-, azure-nspkg
 , cryptography
 , mock
 , msal
 , msal-extensions
 , msrest
 , msrestazure
+, pythonOlder
+, six
 }:
 
 buildPythonPackage rec {
   pname = "azure-identity";
-  version = "1.9.0";
+  version = "1.10.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-CFTRnaTFZEZBgU3E+VHELgFAC1eS8J37a/+nJti5Fg0=";
+    hash = "sha256-ZW5QNNnO8pfPmzU3btYgCFJzwYz6Us6kpiW/DV0tZAk=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "msal-extensions~=0.3.0" "msal-extensions"
-  '';
-
   propagatedBuildInputs = [
     azure-common
     azure-core
-    azure-nspkg
     cryptography
     mock
     msal
     msal-extensions
     msrest
     msrestazure
+    six
   ];
 
-  pythonImportsCheck = [ "azure.identity" ];
+  pythonImportsCheck = [
+    "azure.identity"
+  ];
 
   # Requires checkout from mono-repo and a mock account:
-  #   https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/identity/tests.yml
+  # https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/identity/tests.yml
   doCheck = false;
 
   meta = with lib; {
     description = "Microsoft Azure Identity Library for Python";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [
-      kamadorueda
-    ];
+    maintainers = with maintainers; [ kamadorueda ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-msi/default.nix b/pkgs/development/python-modules/azure-mgmt-msi/default.nix
index 1f1a2dde376..985c9828974 100644
--- a/pkgs/development/python-modules/azure-mgmt-msi/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-msi/default.nix
@@ -1,16 +1,20 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
 , msrest
-, msrestazure
 , azure-common
-, azure-mgmt-nspkg
+, azure-mgmt-core
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-msi";
   version = "6.0.0";
 
+  disabled = pythonOlder "3.6";
+
+  format = "setuptools";
+
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
@@ -19,9 +23,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     msrest
-    msrestazure
     azure-common
-    azure-mgmt-nspkg
+    azure-mgmt-core
   ];
 
   pythonNamespaces = [ "azure.mgmt" ];
@@ -29,9 +32,11 @@ buildPythonPackage rec {
   # has no tests
   doCheck = false;
 
+  pythonImportsCheck = [ "azure.mgmt.msi" ];
+
   meta = with lib; {
     description = "This is the Microsoft Azure MSI Management Client Library";
-    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/resources/azure-mgmt-msi";
     license = licenses.mit;
     maintainers = with maintainers; [ maxwilson ];
   };
diff --git a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
index 7e08b16166d..0be05eb390f 100644
--- a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
@@ -5,18 +5,20 @@
 , msrestazure
 , azure-common
 , azure-mgmt-core
-, azure-mgmt-nspkg
-, isPy3k
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-reservations";
-  version = "1.0.0";
+  version = "2.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "880df54fdf3869ee6b142d4fc7a3fce518c850523c42cc895b7fb8359956554e";
+    hash = "sha256-5vXdXiRubnzPk4uTFeNHR6rwiHSGbeUREX9eW1pqC3E=";
   };
 
   propagatedBuildInputs = [
@@ -24,8 +26,6 @@ buildPythonPackage rec {
     msrestazure
     azure-common
     azure-mgmt-core
-  ] ++ lib.optionals (!isPy3k) [
-    azure-mgmt-nspkg
   ];
 
   # has no tests
diff --git a/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
index 761472b631f..8ac4330b45a 100644
--- a/pkgs/development/python-modules/azure-mgmt-resource/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
@@ -8,14 +8,14 @@
 
 
 buildPythonPackage rec {
-  version = "21.0.0";
+  version = "21.1.0";
   pname = "azure-mgmt-resource";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-y9J/UhxwtA/YO/Y88XsStbwD5ecNwrbnpxtevYuQDQM=";
+    sha256 = "sha256-UpZa3jHNBZ/qKxUT1l/mFgRuQz3g5YPc9cnJvr8+vWk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix b/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
index 58d32853194..55f4d928492 100644
--- a/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-servicelinker";
-  version = "1.0.0b1";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4f70d3bcd98ba539bfef870e3c497ebdc5efed3200c2627a61718baa9ab21a61";
+    sha256 = "sha256-lAjgwEa2TJDEUU8pwfwkU8EyA1bhLkcAv++I6WHb7Xs=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/azure-synapse-artifacts/default.nix b/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
index 5a83385b754..de0909fa0c0 100644
--- a/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
+++ b/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "azure-synapse-artifacts";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-IfQWsITuThzh+TRgv99JTtcDFY3gMq5PjALkN4mJEZo=";
+    sha256 = "sha256-WJZtE7efs1xwalyb0Sr2J+pmPIt9gn2o01/prncb2uM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/backports-zoneinfo/default.nix b/pkgs/development/python-modules/backports-zoneinfo/default.nix
index d2b6d06c4cd..5fa4c632316 100644
--- a/pkgs/development/python-modules/backports-zoneinfo/default.nix
+++ b/pkgs/development/python-modules/backports-zoneinfo/default.nix
@@ -7,6 +7,7 @@
 , tzdata
 , hypothesis
 , pytestCheckHook
+, fetchpatch
 }:
 
 buildPythonPackage rec {
@@ -22,7 +23,25 @@ buildPythonPackage rec {
     sha256 = "sha256-00xdDOVdDanfsjQTd3yjMN2RFGel4cWRrAA3CvSnl24=";
   };
 
+  # Make sure test data update patch applies
+  prePatch = ''
+    substituteInPlace tests/data/zoneinfo_data.json --replace \"2020a\" \"2021a\"
+  '';
+
   patches = [
+    # Update test suite's test data to zoneinfo 2022a
+    # https://github.com/pganssle/zoneinfo/pull/115
+    (fetchpatch {
+      name = "backports-zoneinfo-2022a-update-test-data1.patch";
+      url = "https://github.com/pganssle/zoneinfo/pull/115/commits/837e2a0f9f1a1332e4233f83e3648fa564a9ec9e.patch";
+      sha256 = "196knwa212mr0b7zsh8papzr3f5mii87gcjjjx1r9zzvmk3g3ri0";
+    })
+    (fetchpatch {
+      name = "backports-zoneinfo-2022a-update-test-data2.patch";
+      url = "https://github.com/pganssle/zoneinfo/pull/115/commits/9fd330265b177916d6182249439bb40d5691eb58.patch";
+      sha256 = "1zxa5bkwi8hbnh4c0qv72wv6vdp5jlxqizfjsc05ymzvwa99cf75";
+    })
+
     (substituteAll {
       name = "zoneinfo-path";
       src = ./zoneinfo.patch;
diff --git a/pkgs/development/python-modules/beautifulsoup4/default.nix b/pkgs/development/python-modules/beautifulsoup4/default.nix
index 0d6b534b4aa..2a59ac00f7a 100644
--- a/pkgs/development/python-modules/beautifulsoup4/default.nix
+++ b/pkgs/development/python-modules/beautifulsoup4/default.nix
@@ -6,17 +6,20 @@
 , pytestCheckHook
 , pythonOlder
 , soupsieve
+, sphinxHook
 }:
 
 buildPythonPackage rec {
   pname = "beautifulsoup4";
-  version = "4.10.0";
+  version = "4.11.1";
+  format = "setuptools";
+  outputs = ["out" "doc"];
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-wjrSPFIdgYlVpBUaZ9gVgDGdS/VI09SfQiOuBB/5iJE=";
+    hash = "sha256-rZqlW2XvKAjrQF9Gz3Tff8twRNXLwmSH+W6y7y5DZpM=";
   };
 
   propagatedBuildInputs = [
@@ -28,8 +31,11 @@ buildPythonPackage rec {
   checkInputs = [
     pytestCheckHook
   ];
+  nativeBuildInputs = [ sphinxHook ];
 
-  pythonImportsCheck = [ "bs4" ];
+  pythonImportsCheck = [
+    "bs4"
+  ];
 
   meta = with lib; {
     homepage = "http://crummy.com/software/BeautifulSoup/bs4/";
diff --git a/pkgs/development/python-modules/bimmer-connected/default.nix b/pkgs/development/python-modules/bimmer-connected/default.nix
index 8f754b213e8..3e8ba28c717 100644
--- a/pkgs/development/python-modules/bimmer-connected/default.nix
+++ b/pkgs/development/python-modules/bimmer-connected/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "bimmer-connected";
-  version = "0.8.11";
+  version = "0.8.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "bimmerconnected";
     repo = "bimmer_connected";
     rev = version;
-    hash = "sha256-Ufx9Tl0PmV3AEig3UvejJBVxhewzPN6IRsji5MzVxG8=";
+    hash = "sha256-0yXEm8cjzw1ClSP8a5TB9RrugzgHSu40tTtyNQU4dfY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/bitstruct/default.nix b/pkgs/development/python-modules/bitstruct/default.nix
index 8279f0ac976..5867e695b81 100644
--- a/pkgs/development/python-modules/bitstruct/default.nix
+++ b/pkgs/development/python-modules/bitstruct/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "bitstruct";
-  version = "8.14.0";
+  version = "8.14.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IwwZHHXxUm9pIs2wjqtvUsBVRS4iOb9WOPAunP04LJE=";
+    hash = "sha256-04ExvUR7avW49GTEh4eXyHpdnaHJW5NX4HHEJP3l8FU=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/bleach/default.nix b/pkgs/development/python-modules/bleach/default.nix
index 6d3c7fffe6a..fce105163a5 100644
--- a/pkgs/development/python-modules/bleach/default.nix
+++ b/pkgs/development/python-modules/bleach/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "bleach";
-  version = "4.1.0";
+  version = "5.0.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-CQDYs366YagC7kCsAGH4wrXe4pwZJ90dIz4HXr9acdo=";
+    hash = "sha256-xtbMBUvcnIO0i4CD4jbl8A8jhChmbSzi4IPqpf1WhWU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bleak/default.nix b/pkgs/development/python-modules/bleak/default.nix
index 7db587ed58b..2a401955317 100644
--- a/pkgs/development/python-modules/bleak/default.nix
+++ b/pkgs/development/python-modules/bleak/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "bleak";
-  version = "0.14.2";
+  version = "0.14.3";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fkq8q54s9apqiamdd8vgrhk5p02w5w281q93dfnrd37xv7ysk6h";
+    sha256 = "sha256-dg5bsegECH92JXa5uVY9Y7R9UhsWUpiOKMPLXmS2GZA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/blspy/default.nix b/pkgs/development/python-modules/blspy/default.nix
index aac2c2b9739..9f07fa764f9 100644
--- a/pkgs/development/python-modules/blspy/default.nix
+++ b/pkgs/development/python-modules/blspy/default.nix
@@ -27,10 +27,10 @@ buildPythonPackage rec {
       src = ./dont_fetch_dependencies.patch;
       pybind11_src = pybind11.src;
       relic_src = fetchFromGitHub {
-        owner = "relic-toolkit";
+        owner = "Chia-Network";
         repo = "relic";
-        rev = "1885ae3b681c423c72b65ce1fe70910142cf941c"; # pinned by blspy
-        hash = "sha256-tsSZTcssl8t7Nqdex4BesgQ+ACPgTdtHnJFvS9josN0=";
+        rev = "1d98e5abf3ca5b14fd729bd5bcced88ea70ecfd7"; # pinned by blspy
+        hash = "sha256-IfTD8DvTEXeLUoKe4Ejafb+PEJW5DV/VXRYuutwGQHU=";
       };
       sodium_src = fetchFromGitHub {
         owner = "AmineKhaldi";
diff --git a/pkgs/development/python-modules/bottleneck/default.nix b/pkgs/development/python-modules/bottleneck/default.nix
index 7b8334ee36c..4197920d2b9 100644
--- a/pkgs/development/python-modules/bottleneck/default.nix
+++ b/pkgs/development/python-modules/bottleneck/default.nix
@@ -1,32 +1,47 @@
-{ lib, buildPythonPackage, fetchPypi
-, nose
+{ lib
+, buildPythonPackage
+, fetchPypi
 , numpy
-, pytest
+, pytestCheckHook
 , python
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  pname = "Bottleneck";
+  pname = "bottleneck";
   version = "1.3.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-F2Sn9K1YxVhyPFQoR+s2erC7ttiApOXV7vMKDs5c7Oo=";
+    pname = "Bottleneck";
+    inherit version;
+    hash = "sha256-F2Sn9K1YxVhyPFQoR+s2erC7ttiApOXV7vMKDs5c7Oo=";
   };
 
-  propagatedBuildInputs = [ numpy ];
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "$out/${python.sitePackages}"
+  ];
 
-  postPatch = ''
-    substituteInPlace setup.py --replace "__builtins__.__NUMPY_SETUP__ = False" ""
-  '';
+  disabledTests = [
+    "test_make_c_files"
+  ];
 
-  checkInputs = [ pytest nose ];
-  checkPhase = ''
-    py.test -p no:warnings $out/${python.sitePackages}
-  '';
+  pythonImportsCheck = [
+    "bottleneck"
+  ];
 
   meta = with lib; {
-    description = "Fast NumPy array functions written in C";
+    description = "Fast NumPy array functions";
     homepage = "https://github.com/pydata/bottleneck";
     license = licenses.bsd2;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/development/python-modules/boxx/default.nix b/pkgs/development/python-modules/boxx/default.nix
index 964bf2dd812..10032f0ae58 100644
--- a/pkgs/development/python-modules/boxx/default.nix
+++ b/pkgs/development/python-modules/boxx/default.nix
@@ -13,16 +13,20 @@
 , pyopengl
 , seaborn
 , pytorch
+, pythonOlder
 , torchvision
 }:
 
 buildPythonPackage rec {
   pname = "boxx";
-  version = "0.9.11";
+  version = "0.10.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-xB/bCSIzT0JF5ZPWqSn3P8soBJnzDTfCyan+iOrfWzw=";
+    hash = "sha256-1Q6wCloOCfyDmvC8VbK6GgfnxuliJ6Ze7UEvsNFBVa0=";
   };
 
   propagatedBuildInputs = [
@@ -37,19 +41,22 @@ buildPythonPackage rec {
     seaborn
   ];
 
-  pythonImportsCheck = [ "boxx" ];
   checkInputs = [
     xvfb-run
     pytorch
     torchvision
   ];
 
+  pythonImportsCheck = [
+    "boxx"
+  ];
+
   checkPhase = ''
     xvfb-run ${python.interpreter} -m unittest
   '';
 
   meta = with lib; {
-    description = "Tool-box for efficient build and debug in Python. Especially for Scientific Computing and Computer Vision.";
+    description = "Tool-box for efficient build and debug for Scientific Computing and Computer Vision";
     homepage = "https://github.com/DIYer22/boxx";
     license = licenses.mit;
     maintainers = with maintainers; [ lucasew ];
diff --git a/pkgs/development/python-modules/bpython/default.nix b/pkgs/development/python-modules/bpython/default.nix
index 3285f3dee97..b66f81d032e 100644
--- a/pkgs/development/python-modules/bpython/default.nix
+++ b/pkgs/development/python-modules/bpython/default.nix
@@ -3,10 +3,12 @@
 , fetchPypi
 , curtsies
 , cwcwidth
+, dataclasses
 , greenlet
 , jedi
 , pygments
 , pytestCheckHook
+, pythonOlder
 , pyperclip
 , pyxdg
 , requests
@@ -19,10 +21,13 @@
 buildPythonPackage rec {
   pname = "bpython";
   version = "0.22.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fb1e0a52332579fc4e3dcf75e21796af67aae2be460179ecfcce9530a49a200";
+    hash = "sha256-H7HgpSMyV5/E49z3XiF5avZ6rivkYBeez8zpUwpJogA=";
   };
 
   propagatedBuildInputs = [
@@ -37,6 +42,8 @@ buildPythonPackage rec {
     typing-extensions
     urwid
     watchdog
+  ] ++ lib.optionals (pythonOlder "3.7") [
+    dataclasses
   ];
 
   postInstall = ''
@@ -48,7 +55,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "bpython" ];
+  pythonImportsCheck = [
+    "bpython"
+  ];
+
+  disabledTests = [
+    # Check for syntax error ends with an AssertionError
+    "test_syntaxerror"
+  ];
 
   meta = with lib; {
     description = "A fancy curses interface to the Python interactive interpreter";
diff --git a/pkgs/development/python-modules/breezy/default.nix b/pkgs/development/python-modules/breezy/default.nix
index 3c24d5f3192..64774a70867 100644
--- a/pkgs/development/python-modules/breezy/default.nix
+++ b/pkgs/development/python-modules/breezy/default.nix
@@ -3,23 +3,36 @@
 , fetchPypi
 , configobj
 , patiencediff
-, six
+, fastbencode
 , fastimport
 , dulwich
 , launchpadlib
 , testtools
+, pythonOlder
+, installShellFiles
 }:
 
 buildPythonPackage rec {
   pname = "breezy";
-  version = "3.2.1";
+  version = "3.2.2";
+
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-4LJo6xoooq8EUoDDfQIa4y1/8XX0ybmfM6rX2wsp2Fw=";
+    sha256 = "sha256-GHpuRSCN0F2BdQc2cgyDcQz0gJT1R+xAgcVxJZVZpNU=";
   };
 
-  propagatedBuildInputs = [ configobj patiencediff six fastimport dulwich launchpadlib ];
+  nativeBuildInputs = [ installShellFiles ];
+
+  propagatedBuildInputs = [
+    configobj
+    fastbencode
+    patiencediff
+    fastimport
+    dulwich
+    launchpadlib
+  ];
 
   checkInputs = [ testtools ];
 
@@ -29,6 +42,8 @@ buildPythonPackage rec {
   # symlink for bazaar compatibility
   postInstall = ''
     ln -s "$out/bin/brz" "$out/bin/bzr"
+
+    installShellCompletion --cmd brz --bash contrib/bash/brz
   '';
 
   pythonImportsCheck = [ "breezy" ];
@@ -36,7 +51,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Friendly distributed version control system";
     homepage = "https://www.breezy-vcs.org/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = [ maintainers.marsam ];
   };
 }
diff --git a/pkgs/development/python-modules/browser-cookie3/default.nix b/pkgs/development/python-modules/browser-cookie3/default.nix
index d15f28e475c..163c0e4a15a 100644
--- a/pkgs/development/python-modules/browser-cookie3/default.nix
+++ b/pkgs/development/python-modules/browser-cookie3/default.nix
@@ -1,7 +1,7 @@
 { lib
 , fetchPypi
 , buildPythonPackage
-, isPy3k
+, pythonOlder
 , lz4
 , keyring
 , pbkdf2
@@ -11,15 +11,16 @@
 
 buildPythonPackage rec {
   pname = "browser-cookie3";
-  version = "0.13.0";
+  version = "0.14.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9f8e5ddf5a6641a1fdca12d82b0923777ba59a988b68c9bcf358bfb7c42ef25b";
+    hash = "sha256-kWYMl/JZxonLfT0u/13bXz0MlC36jssWWq/i05FDpOA=";
   };
 
-  disabled = !isPy3k;
-
   propagatedBuildInputs = [
     lz4
     keyring
diff --git a/pkgs/development/python-modules/bsblan/default.nix b/pkgs/development/python-modules/bsblan/default.nix
index ed13a3a3a7b..e371079b360 100644
--- a/pkgs/development/python-modules/bsblan/default.nix
+++ b/pkgs/development/python-modules/bsblan/default.nix
@@ -1,19 +1,16 @@
 { lib
+, aiohttp
+, aresponses
 , buildPythonPackage
 , fetchFromGitHub
-, pytestCheckHook
-, aresponses
-, coverage
 , mypy
+, packaging
 , poetry-core
 , pydantic
 , pytest-asyncio
-, pytest-cov
 , pytest-mock
+, pytestCheckHook
 , pythonOlder
-, aiohttp
-, attrs
-, cattrs
 , yarl
 }:
 
@@ -22,13 +19,13 @@ buildPythonPackage rec {
   version = "0.5.5";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "liudger";
     repo = "python-bsblan";
     rev = "v${version}";
-    sha256 = "sha256-kq4cML7D9XC/QRPjGfaWcs0H78OOc2IXGua7qJpWYOQ=";
+    hash = "sha256-kq4cML7D9XC/QRPjGfaWcs0H78OOc2IXGua7qJpWYOQ=";
   };
 
   nativeBuildInputs = [
@@ -37,22 +34,26 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiohttp
-    attrs
-    cattrs
+    packaging
     pydantic
     yarl
   ];
 
   checkInputs = [
     aresponses
-    coverage
     mypy
     pytest-asyncio
-    pytest-cov
     pytest-mock
     pytestCheckHook
   ];
 
+  postPatch = ''
+    # Upstream doesn't set a version for the pyproject.toml
+    substituteInPlace pyproject.toml \
+      --replace 'version = "0.0.0"' 'version = "${version}"' \
+      --replace "--cov" ""
+  '';
+
   pythonImportsCheck = [
     "bsblan"
   ];
diff --git a/pkgs/development/python-modules/caldav/default.nix b/pkgs/development/python-modules/caldav/default.nix
index 27b59cfc07e..c2ffe1786c4 100644
--- a/pkgs/development/python-modules/caldav/default.nix
+++ b/pkgs/development/python-modules/caldav/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "caldav";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "python-caldav";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-2mpE1aLipps4X/3EF0oKHXDcrgUh78/fxY6y1B1V2IU=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-1pYbL9k2cfjIw9AFiItlDCidxZIuOAoUcgFmSibkphA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/can/default.nix b/pkgs/development/python-modules/can/default.nix
index 18077ce78cc..f0b221e5adf 100644
--- a/pkgs/development/python-modules/can/default.nix
+++ b/pkgs/development/python-modules/can/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , future
 , hypothesis
+, packaging
 , parameterized
 , msgpack
 , pyserial
@@ -29,6 +30,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     msgpack
+    packaging
     pyserial
     typing-extensions
     wrapt
@@ -71,7 +73,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "CAN support for Python";
-    homepage = "python-can.readthedocs.io";
+    homepage = "https://python-can.readthedocs.io";
     license = licenses.lgpl3Only;
     maintainers = with maintainers; [ fab sorki ];
   };
diff --git a/pkgs/development/python-modules/canonicaljson/default.nix b/pkgs/development/python-modules/canonicaljson/default.nix
index 8743c01ba2a..d613bb9e897 100644
--- a/pkgs/development/python-modules/canonicaljson/default.nix
+++ b/pkgs/development/python-modules/canonicaljson/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "canonicaljson";
-  version = "1.6.0";
+  version = "1.6.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hznV/ZGspygdQlZgrmWvdmOAjIF3d4ll9n6QsWorJCc=";
+    hash = "sha256-qTZk9phVbb1Lq5w/xPs1g0zyU12h6gC2t3WNj+K7uCQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/casbin/default.nix b/pkgs/development/python-modules/casbin/default.nix
index 433b7644e7a..f09b2ab6630 100644
--- a/pkgs/development/python-modules/casbin/default.nix
+++ b/pkgs/development/python-modules/casbin/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "casbin";
-  version = "1.15.5";
+  version = "1.16.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "pycasbin";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-7q9zTuqdIUAiipA5kh8CwQa/TeiXGsKuGGvYYwTjObw=";
+    sha256 = "sha256-7URIk76iQ1u59RM1VeqO5qqTg+0kCPtsP+2Y5CxCZ3I=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/celery/default.nix b/pkgs/development/python-modules/celery/default.nix
index 247d25bf420..4c7e2d8d62f 100644
--- a/pkgs/development/python-modules/celery/default.nix
+++ b/pkgs/development/python-modules/celery/default.nix
@@ -24,14 +24,14 @@
 
 buildPythonPackage rec {
   pname = "celery";
-  version = "5.2.3";
+  version = "5.2.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4s1BZnrZfU9qL0Zy0cam662hlMYZJTBYtfI3BKqtqoI=";
+    hash = "sha256-0TmMrfMPV2Jms0Nw4o6IAwbsVfektjB1SbCunBVmNIE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cert-chain-resolver/default.nix b/pkgs/development/python-modules/cert-chain-resolver/default.nix
index eea43d5c739..6491749498b 100644
--- a/pkgs/development/python-modules/cert-chain-resolver/default.nix
+++ b/pkgs/development/python-modules/cert-chain-resolver/default.nix
@@ -1,35 +1,50 @@
 { lib
-, fetchFromGitHub
 , buildPythonPackage
+, cryptography
+, fetchFromGitHub
 , pytestCheckHook
 , pytest-mock
-, cryptography
+, pythonOlder
+, six
 }:
 
 buildPythonPackage rec {
   pname = "cert-chain-resolver";
   version = "1.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "rkoopmans";
     repo = "python-certificate-chain-resolver";
     rev = version;
-    sha256 = "1kmig4ksbx1wvgcjn4r9jjg2pn1ag5rq871bjwxkp9kslb3x3d1l";
+    hash = "sha256-NLTRx6J6pjs7lyschHN5KtgrnpQpEyvZ2zz0pSd5sc4=";
   };
 
-  propagatedBuildInputs = [ cryptography ];
+  propagatedBuildInputs = [
+    cryptography
+  ];
 
-  checkInputs = [ pytestCheckHook pytest-mock ];
+  checkInputs = [
+    pytestCheckHook
+    pytest-mock
+    six
+  ];
 
-  # online tests
   disabledTests = [
+    # Tests require network access
     "test_cert_returns_completed_chain"
     "test_display_flag_is_properly_formatted"
   ];
 
+  pythonImportsCheck = [
+    "cert_chain_resolver"
+  ];
+
   meta = with lib; {
-    homepage = "https://github.com/rkoopmans/python-certificate-chain-resolver";
     description = "Resolve / obtain the certificate intermediates of a x509 certificate";
+    homepage = "https://github.com/rkoopmans/python-certificate-chain-resolver";
     license = licenses.mit;
     maintainers = with maintainers; [ veehaitch ];
   };
diff --git a/pkgs/development/python-modules/certomancer/default.nix b/pkgs/development/python-modules/certomancer/default.nix
new file mode 100644
index 00000000000..3d863165f29
--- /dev/null
+++ b/pkgs/development/python-modules/certomancer/default.nix
@@ -0,0 +1,71 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, asn1crypto
+, click
+, oscrypto
+, pyyaml
+, python-dateutil
+, tzlocal
+, pytest-aiohttp
+, pytz
+, freezegun
+, jinja2
+, pyhanko-certvalidator
+, requests
+, requests-mock
+, werkzeug
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "certomancer";
+  version = "0.8.2";
+  format = "setuptools";
+  disabled = pythonOlder "3.7";
+
+  # Tests are only available on GitHub
+  src = fetchFromGitHub {
+    owner = "MatthiasValvekens";
+    repo = "certomancer";
+    rev = version;
+    sha256 = "sha256-H43NlFNTwZtedHsB7c62MocwQVOi5JjVJxRcZY+Wn7Y=";
+  };
+
+  propagatedBuildInputs = [
+    asn1crypto
+    click
+    oscrypto
+    pyyaml
+    python-dateutil
+    tzlocal
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace ", 'pytest-runner'" "" \
+      --replace "pyhanko-certvalidator==0.19.2" "pyhanko-certvalidator==0.19.5"
+  '';
+
+  checkInputs = [
+    freezegun
+    jinja2
+    pyhanko-certvalidator
+    pytest-aiohttp
+    pytz
+    requests
+    requests-mock
+    werkzeug
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "certomancer" ];
+
+  meta = with lib; {
+    description = "Quickly construct, mock & deploy PKI test configurations using simple declarative configuration";
+    homepage = "https://github.com/MatthiasValvekens/certomancer";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index b1650577149..8f66e8551ed 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -14,8 +14,8 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.1.12332";
-  format = "setuptools";
+  version = "9.2.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YrR8OkDoop6kHAuk4cM4STYYOjjaMLZCQuE07/5IXqs=";
+    hash = "sha256-pCqhSpZfX3u9vJ8Oy1yyicagBQYK5+jBVCEab0TnGA4=";
   };
 
   propagatedBuildInputs = [
@@ -42,8 +42,8 @@ buildPythonPackage rec {
 
   postPatch = ''
     # Use upstream z3 implementation
-    substituteInPlace setup.py \
-      --replace "z3-solver>=4.8.5.0" ""
+    substituteInPlace setup.cfg \
+      --replace "z3-solver >= 4.8.5.0" ""
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index 6c8126172c0..8ee898b445e 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -15,7 +15,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.1.12332";
+  version = "9.2.1";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -29,7 +29,7 @@ in
 buildPythonPackage rec {
   pname = "cle";
   inherit version;
-  format = "setuptools";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-xcj6Skzzmw5g+0KsBMLNOhRyXQA7nbgnc9YyfJLteCM=";
+    hash = "sha256-OGdnrRFfx2LMMsw6giPC+4izWX603cYbpKHuslj4Gng=";
   };
 
   propagatedBuildInputs = [
@@ -70,6 +70,8 @@ buildPythonPackage rec {
     "test_plt_full_relro"
     # Test fails
     "test_tls_pe_incorrect_tls_data_start"
+    # The required parts is not present on Nix
+    "test_remote_file_map"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/codepy/default.nix b/pkgs/development/python-modules/codepy/default.nix
new file mode 100644
index 00000000000..34e87224982
--- /dev/null
+++ b/pkgs/development/python-modules/codepy/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytools
+, appdirs
+, six
+, cgen
+}:
+
+buildPythonPackage rec {
+  pname = "codepy";
+  version = "2019.1";
+
+  src = fetchFromGitHub {
+    owner = "inducer";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-viMfB/nDrvDA/IGRZEX+yXylxbbmqbh/fgdYXBzK0zM=";
+  };
+
+  buildInputs = [ pytools six cgen ];
+  propagatedBuildInputs = [ appdirs ];
+
+  pythonImportsCheck = [ "codepy" ];
+
+  # Tests are broken
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/inducer/codepy";
+    description = "Generate and execute native code at run time, from Python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ atila ];
+  };
+}
diff --git a/pkgs/development/python-modules/collections-extended/default.nix b/pkgs/development/python-modules/collections-extended/default.nix
index b51a458109c..867226c327b 100644
--- a/pkgs/development/python-modules/collections-extended/default.nix
+++ b/pkgs/development/python-modules/collections-extended/default.nix
@@ -1,10 +1,12 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, pythonOlder
+, hypothesis
 , poetry-core
 , pytestCheckHook
+, pythonOlder
 }:
+
 buildPythonPackage rec {
   pname = "collections-extended";
   version = "2.0.2";
@@ -16,7 +18,7 @@ buildPythonPackage rec {
     owner = "mlenzen";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-cK13+CQUELKSiLpG747+C+RB5b6luu0mWLLXTT+uGH4=";
+    hash = "sha256-cK13+CQUELKSiLpG747+C+RB5b6luu0mWLLXTT+uGH4=";
   };
 
   nativeBuildInputs = [
@@ -24,14 +26,17 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    hypothesis
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "collections_extended" ];
+  pythonImportsCheck = [
+    "collections_extended"
+  ];
 
   meta = with lib; {
+    description = "Extra Python Collections - bags (multisets), setlists (unique list/indexed set), RangeMap and IndexedDict";
     homepage = "https://github.com/mlenzen/collections-extended";
-    description = "Extra Python Collections - bags (multisets), setlists (unique list / indexed set), RangeMap and IndexedDict";
     license = licenses.asl20;
     maintainers = with maintainers; [ exarkun ];
   };
diff --git a/pkgs/development/python-modules/commoncode/default.nix b/pkgs/development/python-modules/commoncode/default.nix
index b6c5f02fb8e..42bf9d15a67 100644
--- a/pkgs/development/python-modules/commoncode/default.nix
+++ b/pkgs/development/python-modules/commoncode/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "commoncode";
-  version = "30.1.1";
+  version = "30.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-KymdX+5CAYSRpOwpqQ1DMCFWqkeMAmOHjVnBZTji76I=";
+    sha256 = "sha256-7kcDWfw4M7boe0ABO4ob1d+XO1YxS924mtGETvHoNf0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/connexion/default.nix b/pkgs/development/python-modules/connexion/default.nix
index 6ccd3c98c21..2e36a1c4554 100644
--- a/pkgs/development/python-modules/connexion/default.nix
+++ b/pkgs/development/python-modules/connexion/default.nix
@@ -22,16 +22,16 @@
 
 buildPythonPackage rec {
   pname = "connexion";
-  version = "2.12.0";
+  version = "2.13.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
-    owner = "zalando";
+    owner = "spec-first";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-JMuI3h0Pg7nCXrJtF0fhSFJTOWelEqcvmqv3ooIfkqM=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-nWhrb2oyBue/Q/dAdSgk3K/JXdgLg1xAEbOtCTRYs/M=";
   };
 
   propagatedBuildInputs = [
@@ -56,24 +56,18 @@ buildPythonPackage rec {
     testfixtures
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "PyYAML>=5.1,<6" "PyYAML>=5.1" \
-      --replace "jsonschema>=2.5.1,<4" "jsonschema>=2.5.1"
-  '';
-
-  disabledTests = [
-    # We have a later PyYAML release
-    "test_swagger_yaml"
-  ];
-
   pythonImportsCheck = [
     "connexion"
   ];
 
+  disabledTests = [
+    # AssertionError
+    "test_headers"
+  ];
+
   meta = with lib; {
     description = "Swagger/OpenAPI First framework on top of Flask";
-    homepage = "https://github.com/zalando/connexion/";
+    homepage = "https://github.com/spec-first/connexion";
     license = licenses.asl20;
     maintainers = with maintainers; [ elohmeier ];
   };
diff --git a/pkgs/development/python-modules/contexttimer/default.nix b/pkgs/development/python-modules/contexttimer/default.nix
new file mode 100644
index 00000000000..02aeec5bfcc
--- /dev/null
+++ b/pkgs/development/python-modules/contexttimer/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, mock
+, fetchpatch
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "contexttimer";
+  version = "unstable-2019-03-30";
+
+  src = fetchFromGitHub {
+    owner = "brouberol";
+    repo = "contexttimer";
+    rev = "a866f420ed4c10f29abf252c58b11f9db6706100";
+    sha256 = "sha256-Fc1vK1KSZWgBPtBf5dVydF6dLHEGAOslWMV0FLRdj8w=";
+  };
+
+  patches = [
+  # https://github.com/brouberol/contexttimer/pull/16
+    (fetchpatch {
+      url = "https://github.com/brouberol/contexttimer/commit/dd65871f3f25a523a47a74f2f5306c57048592b0.patch";
+      hash = "sha256-vNBuFXvuvb6hWPzg4W4iyKbd4N+vofhxsKydEkc25E4=";
+    })
+  ];
+
+  pythonImportCheck = [ "contexttimer" ];
+
+  checkInputs = [ mock ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest tests/test_timer.py
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/brouberol/contexttimer";
+    description = "A timer as a context manager";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ atila ];
+  };
+}
diff --git a/pkgs/development/python-modules/coqpit/default.nix b/pkgs/development/python-modules/coqpit/default.nix
index e19255c4479..12e1a46025a 100644
--- a/pkgs/development/python-modules/coqpit/default.nix
+++ b/pkgs/development/python-modules/coqpit/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "coqpit";
-  version = "0.0.15";
+  version = "0.0.16";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "coqui-ai";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-i2Lf7YQ9Ht4AlmfIBvJTWNPgEk8Kv92rs5VxuPgvR5U=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-f1FLjR4VzSOA/VaeseVA4F1NWVJIvokIZIDW1k7fNqU=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/crytic-compile/default.nix b/pkgs/development/python-modules/crytic-compile/default.nix
index 7260310ea03..393dcd5e9d8 100644
--- a/pkgs/development/python-modules/crytic-compile/default.nix
+++ b/pkgs/development/python-modules/crytic-compile/default.nix
@@ -2,15 +2,15 @@
 
 buildPythonPackage rec {
   pname = "crytic-compile";
-  version = "0.2.2";
+  version = "0.2.3";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "crytic";
     repo = "crytic-compile";
-    rev = version;
-    sha256 = "sha256-4Lz+jJdKURp+K5XJJb7ksiFbnQwzS71gZWOufBvqz/k=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-l8a9QXERpkVrx7zHluMlb3zBvJSODsviNtJPzvL3hDo=";
   };
 
   propagatedBuildInputs = [ pysha3 setuptools ];
diff --git a/pkgs/development/python-modules/dask-yarn/default.nix b/pkgs/development/python-modules/dask-yarn/default.nix
new file mode 100644
index 00000000000..2ef7c232f4c
--- /dev/null
+++ b/pkgs/development/python-modules/dask-yarn/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, distributed
+, dask
+, grpcio
+, skein
+}:
+
+buildPythonPackage rec {
+  pname = "dask-yarn";
+  version = "0.9";
+
+  src = fetchFromGitHub {
+    owner = "dask";
+    repo = pname;
+    rev = version;
+    hash = "sha256-/BTsxQSiVQrihrCa9DE7pueyg3aPAdjd/Dt4dpUwdtM=";
+  };
+
+  propagatedBuildInputs = [
+    distributed
+    dask
+    grpcio
+    skein
+  ];
+
+  checkInputs = [ pytestCheckHook ];
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+  pythonImportsCheck = [ "dask_yarn" ];
+
+  meta = with lib; {
+    description = "Deploy dask on YARN clusters";
+    longDescription = ''Dask-Yarn deploys Dask on YARN clusters,
+      such as are found in traditional Hadoop installations.
+      Dask-Yarn provides an easy interface to quickly start,
+      stop, and scale Dask clusters natively from Python.
+    '';
+    homepage = "https://yarn.dask.org/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ illustris ];
+  };
+}
diff --git a/pkgs/development/python-modules/databricks-connect/default.nix b/pkgs/development/python-modules/databricks-connect/default.nix
index b86dbb79810..1782598efd8 100644
--- a/pkgs/development/python-modules/databricks-connect/default.nix
+++ b/pkgs/development/python-modules/databricks-connect/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "databricks-connect";
-  version = "9.1.13";
+  version = "9.1.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-TpE15UOwbuAvp+ffC9JUnR8yQb0DWvBMkSieMhQGjao=";
+    sha256 = "sha256-qXS/hgF2qKUtTfo9UZ5KBa9N0PHJqKA8SC/vgE46LmA=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/development/python-modules/db-dtypes/default.nix b/pkgs/development/python-modules/db-dtypes/default.nix
new file mode 100644
index 00000000000..883439aba46
--- /dev/null
+++ b/pkgs/development/python-modules/db-dtypes/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+, packaging
+, pandas
+, pyarrow
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "db-dtypes";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "3070d1a8d86ff0b5d9b16f15c5fab9c18893c6b3d5723cd95ee397b169049454";
+  };
+
+  propagatedBuildInputs = [
+    numpy
+    packaging
+    pandas
+    pyarrow
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "db_dtypes" ];
+
+  meta = with lib; {
+    description = "Pandas Data Types for SQL systems (BigQuery, Spanner)";
+    homepage = "https://github.com/googleapis/python-db-dtypes-pandas";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/deezer-python/default.nix b/pkgs/development/python-modules/deezer-python/default.nix
index 0f01ebab4a5..ef8b091b0c4 100644
--- a/pkgs/development/python-modules/deezer-python/default.nix
+++ b/pkgs/development/python-modules/deezer-python/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "deezer-python";
-  version = "5.2.0";
+  version = "5.3.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -21,8 +21,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "browniebroke";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-jaF5vQx8/qP9pGLfilx86v1GxHbjxaRghjjI5Me0pU0=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-lOVHSYL57hwzvdC+pJFDkDGFuu29jdZ36BYscw82uDE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/deltachat/default.nix b/pkgs/development/python-modules/deltachat/default.nix
index 381bcf66a5c..a342538d4ac 100644
--- a/pkgs/development/python-modules/deltachat/default.nix
+++ b/pkgs/development/python-modules/deltachat/default.nix
@@ -1,12 +1,14 @@
 { lib
 , buildPythonPackage
 , isPy27
+, pkg-config
+, pkgconfig
 , setuptools-scm
 , libdeltachat
 , cffi
-, imapclient
-, pluggy
+, imap-tools
 , requests
+, pluggy
 , setuptools
 , pytestCheckHook
 }:
@@ -19,6 +21,8 @@ buildPythonPackage rec {
   disabled = isPy27;
 
   nativeBuildInputs = [
+    pkg-config
+    pkgconfig
     setuptools-scm
   ];
 
@@ -30,7 +34,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     cffi
-    imapclient
+    imap-tools
     pluggy
     requests
     setuptools
diff --git a/pkgs/development/python-modules/denonavr/default.nix b/pkgs/development/python-modules/denonavr/default.nix
index 9922522138b..c842759b8d5 100644
--- a/pkgs/development/python-modules/denonavr/default.nix
+++ b/pkgs/development/python-modules/denonavr/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "denonavr";
-  version = "0.10.10";
+  version = "0.10.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "scarface-4711";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ZL04JJZStOr6egoki85qCQrXoSTTO43RlLVbNBVz3QA=";
+    hash = "sha256-RY1XRGuwSFL429foEjEN93fBucUyyYc6cmpzYmYRorc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/devito/default.nix b/pkgs/development/python-modules/devito/default.nix
new file mode 100644
index 00000000000..be3358cf887
--- /dev/null
+++ b/pkgs/development/python-modules/devito/default.nix
@@ -0,0 +1,100 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, anytree
+, nbval
+, sympy
+, scipy
+, cached-property
+, psutil
+, py-cpuinfo
+, cgen
+, click
+, multidict
+, distributed
+, pyrevolve
+, codepy
+, pytestCheckHook
+, matplotlib
+, pytest-xdist
+}:
+
+buildPythonPackage rec {
+  pname = "devito";
+  version = "unstable-2022-04-22";
+
+  src = fetchFromGitHub {
+    owner = "devitocodes";
+    repo = "devito";
+    rev = "7cb52eded4038c1a0ee92cfd04d3412c48f2fb7c";
+    sha256 = "sha256-75hkkufQK9Nv65DBz8cmYTfkxH/UUWDQK/rGUDULvjM=";
+  };
+
+  postPatch = ''
+    # Removing unecessary dependencies
+    sed -e "s/flake8.*//g" \
+        -e "s/codecov.*//g" \
+        -e "s/pytest.*//g" \
+        -e "s/pytest-runner.*//g" \
+        -e "s/pytest-cov.*//g" \
+        -i requirements.txt
+
+    # Relaxing dependencies requirements
+    sed -e "s/>.*//g" \
+        -e "s/<.*//g" \
+        -i requirements.txt
+  '';
+
+  checkInputs = [ pytestCheckHook pytest-xdist matplotlib ];
+
+  # I've had to disable the following tests since they fail while using nix-build, but they do pass
+  # outside the build. They mostly related to the usage of MPI in a sandboxed environment.
+  disabledTests = [
+    "test_assign_parallel"
+    "test_gs_parallel"
+    "test_if_parallel"
+    "test_if_halo_mpi"
+    "test_cache_blocking_structure_distributed"
+    "test_mpi"
+    "test_codegen_quality0"
+    "test_new_distributor"
+    "test_subdomainset_mpi"
+    "test_init_omp_env_w_mpi"
+    "test_mpi_nocomms"
+  ];
+
+  disabledTestPaths = [
+    "tests/test_pickle.py"
+    "tests/test_benchmark.py"
+    "tests/test_mpi.py"
+    "tests/test_autotuner.py"
+    "tests/test_data.py"
+    "tests/test_dse.py"
+    "tests/test_gradient.py"
+  ];
+
+  propagatedBuildInputs = [
+    anytree
+    cached-property
+    cgen
+    click
+    codepy
+    distributed
+    nbval
+    multidict
+    psutil
+    py-cpuinfo
+    pyrevolve
+    scipy
+    sympy
+  ];
+
+  pythonImportsCheck = [ "devito" ];
+
+  meta = with lib; {
+    homepage = "https://www.devitoproject.org/";
+    description = "Code generation framework for automated finite difference computation";
+    license = licenses.mit;
+    maintainers = with maintainers; [ atila ];
+  };
+}
diff --git a/pkgs/development/python-modules/django-taggit/default.nix b/pkgs/development/python-modules/django-taggit/default.nix
index 9fa31b871e7..22f7f83decd 100644
--- a/pkgs/development/python-modules/django-taggit/default.nix
+++ b/pkgs/development/python-modules/django-taggit/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "django-taggit";
-  version = "2.1.0";
+  version = "3.0.0";
   format = "setuptools";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a9f41e4ad58efe4b28d86f274728ee87eb98eeae90c9eb4b4efad39e5068184e";
+    sha256 = "sha256-5kW4491PhZidXvXFo9Xrvlut9dHlG1PkLQr3JiQLALk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/dm-sonnet/default.nix b/pkgs/development/python-modules/dm-sonnet/default.nix
deleted file mode 100644
index 3820fdd1e36..00000000000
--- a/pkgs/development/python-modules/dm-sonnet/default.nix
+++ /dev/null
@@ -1,91 +0,0 @@
-{ lib
-, fetchFromGitHub
-, bazel_0_26
-, buildBazelPackage
-, buildPythonPackage
-, git
-, python
-, six
-, absl-py
-, semantic-version
-, contextlib2
-, wrapt
-, tensorflow
-, tensorflow-probability
-, tensorflow-estimator
-}:
-
-let
-  version = "1.33";
-
-  # first build all binaries and generate setup.py using bazel
-  bazel-build = buildBazelPackage {
-    bazel = bazel_0_26;
-
-    name = "dm-sonnet-bazel-${version}";
-
-    src = fetchFromGitHub {
-      owner = "deepmind";
-      repo = "sonnet";
-      rev = "v${version}";
-      sha256 = "1nqsja1s8jrkq6v1whgh7smk17313mjr9vs3k5c1m8px4yblzhqc";
-    };
-
-    nativeBuildInputs = [
-      git # needed to fetch the bazel deps (protobuf in particular)
-    ];
-
-    # see https://github.com/deepmind/sonnet/blob/master/docs/INSTALL.md
-    bazelTarget = ":install";
-
-    fetchAttrs = {
-      sha256 = "09dzxs2v5wpiaxrz7qj257q1fbx0gxwbk0jyx58n81m5kys7yj9k";
-    };
-
-    buildAttrs = {
-      preBuild = ''
-        patchShebangs .
-      '';
-
-      installPhase = ''
-        # do not generate a wheel, instead just copy the generated files to $out to be installed by buildPythonPackage
-        sed -i 's,.*bdist_wheel.*,cp -rL . "$out"; exit 0,' bazel-bin/install
-
-        # the target directory "dist" does not actually matter since we're not generating a wheel
-        bazel-bin/install dist
-      '';
-    };
-  };
-
-# now use pip to install the package prepared by bazel
-in buildPythonPackage {
-  pname = "dm-sonnet";
-  inherit version;
-
-  src = bazel-build;
-
-  propagatedBuildInputs = [
-    six
-    absl-py
-    semantic-version
-    contextlib2
-    wrapt
-    tensorflow
-    tensorflow-probability
-    tensorflow-estimator
-  ];
-
-  # not sure how to properly run the real test suite -- through bazel?
-  checkPhase = ''
-    ${python.interpreter} -c "import sonnet"
-  '';
-
-  meta = with lib; {
-    description = "TensorFlow-based neural network library";
-    homepage = "https://sonnet.dev";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ timokau ];
-    platforms = platforms.linux;
-    broken = true; # depends on older TensorFlow version than is currently packaged
-  };
-}
diff --git a/pkgs/development/python-modules/dockerfile-parse/default.nix b/pkgs/development/python-modules/dockerfile-parse/default.nix
index e9a31b461fd..55ff20803b2 100644
--- a/pkgs/development/python-modules/dockerfile-parse/default.nix
+++ b/pkgs/development/python-modules/dockerfile-parse/default.nix
@@ -1,24 +1,42 @@
-{ lib, buildPythonPackage, fetchPypi, six, pytest-cov, pytest }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
-  version = "1.2.0";
   pname = "dockerfile-parse";
+  version = "1.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "07e65eec313978e877da819855870b3ae47f3fac94a40a965b9ede10484dacc5";
+    hash = "sha256-B+Ze7DE5eOh32oGYVYcLOuR/P6yUpAqWW57eEEhNrMU=";
   };
 
-  postPatch = ''
-    echo " " > tests/requirements.txt \
-  '';
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  propagatedBuildInputs = [ six ];
+  pythonImportsCheck = [
+    "dockerfile_parse"
+  ];
 
-  checkInputs = [ pytest-cov pytest ];
+  disabledTests = [
+    # python-dockerfile-parse.spec is not present
+    "test_all_versions_match"
+  ];
 
   meta = with lib; {
-    description = "Python library for parsing Dockerfile files";
+    description = "Library for parsing Dockerfile files";
     homepage = "https://github.com/DBuildService/dockerfile-parse";
     license = licenses.bsd3;
     maintainers = with maintainers; [ leenaars ];
diff --git a/pkgs/development/python-modules/docstring-parser/default.nix b/pkgs/development/python-modules/docstring-parser/default.nix
index 5408b11c7d8..53a59f10ffa 100644
--- a/pkgs/development/python-modules/docstring-parser/default.nix
+++ b/pkgs/development/python-modules/docstring-parser/default.nix
@@ -1,25 +1,39 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, setuptools
-, setuptools-scm
-, wheel
-, pytest
-}: buildPythonPackage rec {
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
   pname = "docstring-parser";
-  version = "0.12";
+  version = "0.14.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "rr-";
     repo = "docstring_parser";
     rev = "${version}";
-    sha256 = "sha256-hQuPJQrGvDs4dJrMLSR4sSnqy45xrF2ufinBG+azuCg=";
+    hash = "sha256-NIijq+QR0panVCGDEQrTlkAvHfIexwS0PxFikglxd74=";
   };
-  nativeBuildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [ pytest setuptools wheel ];
-  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "docstring_parser"
+  ];
 
   meta = with lib; {
-    description = "Parse Python docstrings in various flavors. ";
+    description = "Parse Python docstrings in various flavors";
     homepage = "https://github.com/rr-/docstring_parser";
     license = licenses.mit;
     maintainers = with maintainers; [ SomeoneSerge ];
diff --git a/pkgs/development/python-modules/dropbox/default.nix b/pkgs/development/python-modules/dropbox/default.nix
index f18f6203d1e..4184ddb1250 100644
--- a/pkgs/development/python-modules/dropbox/default.nix
+++ b/pkgs/development/python-modules/dropbox/default.nix
@@ -1,52 +1,81 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchFromGitHub
 , requests
-, urllib3
-, mock
-, setuptools
+, six
 , stone
-, pythonOlder
+, mock
+, pytest-mock
+, pytestCheckHook
+, sphinxHook
 }:
 
 buildPythonPackage rec {
   pname = "dropbox";
-  version = "11.29.0";
+  version = "11.30.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
+  outputs = ["out" "doc"];
 
   src = fetchFromGitHub {
     owner = "dropbox";
     repo = "dropbox-sdk-python";
     rev = "v${version}";
-    sha256 = "sha256-TKJb34hJYzZtQcqgopLpN8c1utWCNjmev9epY+hYU7M=";
+    hash = "sha256-w07r95MBAClf0F3SICiZsHLdslzf+JuxC+BVdTACCog=";
   };
 
   propagatedBuildInputs = [
     requests
-    urllib3
-    mock
-    setuptools
+    six
     stone
   ];
 
+  checkInputs = [
+    mock
+    pytest-mock
+    pytestCheckHook
+  ];
+
   postPatch = ''
     substituteInPlace setup.py \
       --replace "'pytest-runner == 5.2.0'," ""
   '';
 
-  # Set DROPBOX_TOKEN environment variable to a valid token.
-  doCheck = false;
+  doCheck = true;
 
   pythonImportsCheck = [
     "dropbox"
   ];
+  nativeBuildInputs = [ sphinxHook ];
+
+  # Set SCOPED_USER_DROPBOX_TOKEN environment variable to a valid value.
+  disabledTests = [
+    "test_default_oauth2_urls"
+    "test_bad_auth"
+    "test_multi_auth"
+    "test_refresh"
+    "test_app_auth"
+    "test_downscope"
+    "test_rpc"
+    "test_upload_download"
+    "test_bad_upload_types"
+    "test_clone_when_user_linked"
+    "test_with_path_root_constructor"
+    "test_path_root"
+    "test_path_root_err"
+    "test_versioned_route"
+    "test_team"
+    "test_as_user"
+    "test_as_admin"
+    "test_clone_when_team_linked"
+  ];
 
   meta = with lib; {
     description = "Python library for Dropbox's HTTP-based Core and Datastore APIs";
     homepage = "https://github.com/dropbox/dropbox-sdk-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ sfrijters ];
   };
 }
diff --git a/pkgs/development/python-modules/duckdb-engine/default.nix b/pkgs/development/python-modules/duckdb-engine/default.nix
new file mode 100644
index 00000000000..fe7a95aba9b
--- /dev/null
+++ b/pkgs/development/python-modules/duckdb-engine/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, duckdb
+, hypothesis
+, ipython-sql
+, poetry-core
+, sqlalchemy
+}:
+buildPythonPackage rec {
+  pname = "duckdb-engine";
+  version = "0.1.8";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    repo = "duckdb_engine";
+    owner = "Mause";
+    rev = version;
+    hash = "sha256-dnm1nveCjrXFjDRykHp39AeVx7sk7Q/XwGn6hxdydT4=";
+  };
+
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedBuildInputs = [ duckdb sqlalchemy ];
+
+  checkInputs = [ pytestCheckHook hypothesis ipython-sql ];
+
+  pythonImportsCheck = [ "duckdb_engine" ];
+
+  meta = with lib; {
+    description = "Very very very basic sqlalchemy driver for duckdb";
+    homepage = "https://github.com/Mause/duckdb_engine";
+    license = licenses.mit;
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/pkgs/development/python-modules/dungeon-eos/default.nix b/pkgs/development/python-modules/dungeon-eos/default.nix
index 0b1e5ebc53f..f87bbf82b77 100644
--- a/pkgs/development/python-modules/dungeon-eos/default.nix
+++ b/pkgs/development/python-modules/dungeon-eos/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "dungeon-eos";
-  version = "0.0.4";
+  version = "0.0.5";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    sha256 = "0hxygjk9i4qlwsxnxr52cxhqy3i62pc373z1x5sh2pas5ag59bvl";
+    sha256 = "sha256-Z1fGtslXP8zcZmVeWjRrbcM2ZJsfbrWjpLWZ49uSCRY=";
   };
 
   doCheck = false; # there are no tests
diff --git a/pkgs/development/python-modules/durus/default.nix b/pkgs/development/python-modules/durus/default.nix
new file mode 100644
index 00000000000..456ae010d63
--- /dev/null
+++ b/pkgs/development/python-modules/durus/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "Durus";
+  version = "4.2";
+
+  src = fetchPypi {
+    inherit version pname;
+    sha256 = "sha256:1gzxg43zawwgqjrfixvcrilwpikb1ix9b7710rsl5ffk7q50yi3c";
+  };
+
+  # Checks disabled due to missing python unittest framework 'sancho' in nixpkgs
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "durus.connection"
+    "durus.file_storage"
+    "durus.client_storage"
+    "durus.sqlite_storage"
+  ];
+
+  meta = with lib; {
+    description = "Object persistence layer";
+    homepage = "https://github.com/nascheme/durus";
+    license = licenses.mit;
+    maintainers = with maintainers; [ grindhold ];
+  };
+}
diff --git a/pkgs/development/python-modules/eagle100/default.nix b/pkgs/development/python-modules/eagle100/default.nix
index 599181b1123..9d5e5d79502 100644
--- a/pkgs/development/python-modules/eagle100/default.nix
+++ b/pkgs/development/python-modules/eagle100/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "eagle100";
-  version = "0.1.0";
+  version = "0.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-i9ZvbjxSENJlQ+9sqWnIl1fL6tVbG3E/IUhe7b59sBk=";
+    hash = "sha256-eyYY1x8IjIfUx5OiaOomiWunsO1++seFwXlI/iKDDLw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/elementpath/default.nix b/pkgs/development/python-modules/elementpath/default.nix
index e756701ab4e..e3104d8d882 100644
--- a/pkgs/development/python-modules/elementpath/default.nix
+++ b/pkgs/development/python-modules/elementpath/default.nix
@@ -6,16 +6,16 @@
 
 buildPythonPackage rec {
   pname = "elementpath";
-  version = "2.5.0";
+  version = "2.5.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "sissaschool";
     repo = "elementpath";
-    rev = "v${version}";
-    sha256 = "sha256-I2Vg0rpCFH1Z+N+JgtDv2se6lXsggzOsJn3Fj252aTQ=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-tejsQ6m9XyMGDIEDzWYwSav5Iqa9S/DIYShOpoSlTWo=";
   };
 
   # avoid circular dependency with xmlschema which directly depends on this
diff --git a/pkgs/development/python-modules/elkm1-lib/default.nix b/pkgs/development/python-modules/elkm1-lib/default.nix
index 5a6ad1f0fac..57c51964fc8 100644
--- a/pkgs/development/python-modules/elkm1-lib/default.nix
+++ b/pkgs/development/python-modules/elkm1-lib/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "elkm1-lib";
-  version = "1.3.1";
+  version = "1.3.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "gwww";
     repo = "elkm1";
     rev = version;
-    hash = "sha256-z6iiXMvBZs4JshQofQpPA7u89wu8owW1wi+JAYk/R9k=";
+    hash = "sha256-aIqwb2YHw/kYHBqydelTRs2+75WimgJ+4X0BYcwogh8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/envs/default.nix b/pkgs/development/python-modules/envs/default.nix
index 25e6d235cff..3f095459642 100644
--- a/pkgs/development/python-modules/envs/default.nix
+++ b/pkgs/development/python-modules/envs/default.nix
@@ -1,29 +1,29 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, fetchpatch
 , click
+, fetchPypi
 , jinja2
-, terminaltables
 , mock
 , nose
+, poetry-core
+, pythonOlder
+, terminaltables
 }:
 
 buildPythonPackage rec {
   pname = "envs";
-  version = "1.3";
+  version = "1.4";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ccf5cd85ddb8ed335e39ed8a22e0d23658f5a6d7da430f225e6f750c6f50ae42";
+    hash = "sha256-nYQ1xphdHN1oKZ4ExY4r24rmz2ayWWqAeeb5qT8qA5g=";
   };
 
-  patches = [
-    # https://github.com/capless/envs/pull/19
-    (fetchpatch {
-      url = "https://github.com/capless/envs/commit/6947043fa9120a7b17094fd43ee0e1edf808f42b.patch";
-      sha256 = "0zswg8kp2g922mkc7x34ps37qli1d1mjwna2jfrbnsq2fg4mk818";
-    })
+  nativeBuildInputs = [
+    poetry-core
   ];
 
   propagatedBuildInputs = [
@@ -45,6 +45,10 @@ buildPythonPackage rec {
     runHook postCheck
   '';
 
+  pythonImportsCheck = [
+    "envs"
+  ];
+
   meta = with lib; {
     description = "Easy access to environment variables from Python";
     homepage = "https://github.com/capless/envs";
diff --git a/pkgs/development/python-modules/exceptiongroup/default.nix b/pkgs/development/python-modules/exceptiongroup/default.nix
new file mode 100644
index 00000000000..b2a355e94d2
--- /dev/null
+++ b/pkgs/development/python-modules/exceptiongroup/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flit-core
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "exceptiongroup";
+  version = "1.0.0rc5";
+  format = "flit";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-ZlQiVQuWU6zUbpzTXZM/KMUVjKTAWMU2Gc+hEpFc1p4=";
+  };
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  # Tests are only in the source available but tagged releases
+  # are incomplete as files are generated during the release process
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "exceptiongroup"
+  ];
+
+  meta = with lib; {
+    description = "Backport of PEP 654 (exception groups)";
+    homepage = "https://github.com/agronholm/exceptiongroup";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix b/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix
index 544cb93bca4..8649e069827 100644
--- a/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix
+++ b/pkgs/development/python-modules/faraday-agent-parameters-types/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , marshmallow
+, packaging
 , pytestCheckHook
 }:
 
@@ -17,6 +18,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     marshmallow
+    packaging
   ];
 
   checkInputs = [
@@ -28,7 +30,10 @@ buildPythonPackage rec {
       --replace '"pytest-runner",' ""
   '';
 
-  pythonImportsCheck = [ "faraday_agent_parameters_types" ];
+  pythonImportsCheck = [
+    "faraday_agent_parameters_types"
+    "faraday_agent_parameters_types.utils"
+  ];
 
   meta = with lib; {
     description = "Collection of Faraday agent parameters types";
diff --git a/pkgs/development/python-modules/faraday-plugins/default.nix b/pkgs/development/python-modules/faraday-plugins/default.nix
index 17f40b7a849..92a9eb9edc0 100644
--- a/pkgs/development/python-modules/faraday-plugins/default.nix
+++ b/pkgs/development/python-modules/faraday-plugins/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "faraday-plugins";
-  version = "1.6.3";
+  version = "1.6.5";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "infobyte";
     repo = "faraday_plugins";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-oynDX1miBvBmiN22ILQH1Q2y+PmWOfBunjZmVSnlvKk=";
+    sha256 = "sha256-mzzUbUBlzOyFpDaoUwwjxC3dqbheLWAt8gXrIH0XXss=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/fastavro/default.nix b/pkgs/development/python-modules/fastavro/default.nix
index fcd65f1f317..419cb74c2cf 100644
--- a/pkgs/development/python-modules/fastavro/default.nix
+++ b/pkgs/development/python-modules/fastavro/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "fastavro";
-  version = "1.4.10";
+  version = "1.4.11";
 
   disabled = pythonOlder "3.6";
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = version;
-    sha256 = "sha256-JTNRm/nCQckAZrVTgcJVP3bLE53QPtccdoDcGLbP6BE=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-PK8+NFJurJ0nD5coEFj8lXWg4VMcpX0954qDb1GW6Gk=";
   };
 
   preBuild = ''
diff --git a/pkgs/development/python-modules/fastbencode/default.nix b/pkgs/development/python-modules/fastbencode/default.nix
new file mode 100644
index 00000000000..87072491cef
--- /dev/null
+++ b/pkgs/development/python-modules/fastbencode/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchPypi, python, cython }:
+
+buildPythonPackage rec {
+  pname = "fastbencode";
+  version = "0.0.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-tryavlQtBmN5NSlXb0m6iJFQhVT4XQm11tXtevfgxuQ=";
+  };
+
+  nativeBuildInputs = [ cython ];
+
+  pythonImportsCheck = [ "fastbencode" ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest fastbencode.tests.test_suite
+  '';
+
+  meta = with lib; {
+    description = "Fast implementation of bencode";
+    homepage = "https://github.com/breezy-team/fastbencode";
+    license = licenses.gpl2Only;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/development/python-modules/fastjsonschema/default.nix b/pkgs/development/python-modules/fastjsonschema/default.nix
index 415f226b783..23a552a9b4c 100644
--- a/pkgs/development/python-modules/fastjsonschema/default.nix
+++ b/pkgs/development/python-modules/fastjsonschema/default.nix
@@ -1,24 +1,23 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "fastjsonschema";
-  version = "2.15.2";
+  version = "2.15.3";
   format = "setuptools";
 
-  disabled = pythonOlder "3.3";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "horejsek";
     repo = "python-fastjsonschema";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-zrdQVFfLZxZRr9qvss4CI3LJK97xl+bY+AcPzcweYeU=";
+    sha256 = "sha256-WKnjSlKtMGpWKPbPr7hpS6Dg0+9i/nWVYmar0N3Q9Pc=";
   };
 
   checkInputs = [
@@ -27,16 +26,6 @@ buildPythonPackage rec {
 
   dontUseSetuptoolsCheck = true;
 
-  patches = [
-    # Can be removed with the next release, https://github.com/horejsek/python-fastjsonschema/pull/134
-    (fetchpatch {
-      name = "fix-exception-name.patch";
-      url = "https://github.com/horejsek/python-fastjsonschema/commit/f639dcba0299926d688e1d8d08a6a91bfe70ce8b.patch";
-      sha256 = "sha256-yPV5ZNeyAobLrYf5QHanPsEomBPJ/7ZN2148R8NO4/U=";
-    })
-  ];
-
-
   disabledTests = [
     "benchmark"
     # these tests require network access
diff --git a/pkgs/development/libraries/science/math/fenics/default.nix b/pkgs/development/python-modules/fenics/default.nix
index 9ca4d6314c1..f1ccc5efc84 100644
--- a/pkgs/development/libraries/science/math/fenics/default.nix
+++ b/pkgs/development/python-modules/fenics/default.nix
@@ -1,45 +1,37 @@
 { lib, stdenv
 , fetchurl
 , fetchpatch
+, blas
 , boost
 , cmake
 , doxygen
 , eigen
+, gtest
+, hdf5
+, lapack
+, mpi
 , mpi4py
 , numpy
 , pkg-config
+, ply
 , pybind11
 , pytest
-, pythonPackages
-, six
-, sympy
-, gtest
-, hdf5
-, mpi
-, ply
 , python
+, pythonPackages
 , scotch
 , setuptools
+, six
 , sphinx
 , suitesparse
 , swig
+, sympy
 , zlib
-, blas
-, lapack
 , nixosTests
 }:
+
 let
   version = "2019.1.0";
 
-  # TODO: test with newer pytest
-  pytest = pythonPackages.callPackage
-    ../../../../python2-modules/pytest {
-      # hypothesis tests require pytest that causes dependency cycle
-      hypothesis = pythonPackages.hypothesis.override {
-        doCheck = false;
-      };
-    };
-
   dijitso = pythonPackages.buildPythonPackage {
     pname = "dijitso";
     inherit version;
diff --git a/pkgs/development/python-modules/ffcv/default.nix b/pkgs/development/python-modules/ffcv/default.nix
index 2aee132e294..08f80d198e4 100644
--- a/pkgs/development/python-modules/ffcv/default.nix
+++ b/pkgs/development/python-modules/ffcv/default.nix
@@ -5,7 +5,7 @@
 , numba
 , opencv4
 , pandas
-, pkgconfig
+, pkg-config
 , pytorch-pfn-extras
 , terminaltables
 , tqdm
@@ -35,7 +35,8 @@ buildPythonPackage rec {
       --replace "'webdataset'," ""
   '';
 
-  buildInputs = [ libjpeg pkgconfig ];
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ libjpeg ];
   propagatedBuildInputs = [ opencv4 numba pandas pytorch-pfn-extras terminaltables tqdm ];
 
   # `ffcv._libffcv*.so` cannot be loaded in the nix build environment for some
diff --git a/pkgs/development/python-modules/filetype/default.nix b/pkgs/development/python-modules/filetype/default.nix
index 3c777d828b4..1a85a61f642 100644
--- a/pkgs/development/python-modules/filetype/default.nix
+++ b/pkgs/development/python-modules/filetype/default.nix
@@ -1,21 +1,41 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, python
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "filetype";
-  version = "1.0.10";
+  version = "1.0.13";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-MjoTUAcxtsZaJTvDkwu86aVt+6cekLYP/ZaKtp2a6Tc=";
+    hash = "sha256-ahBHYv6T11XJYqqWyz2TCkj5GgdhBHEmxe6tIVPjOwM=";
   };
 
-  checkPhase = ''
-    ${python.interpreter} -m unittest discover
-  '';
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "filetype"
+  ];
+
+  disabledTests = [
+    # https://github.com/h2non/filetype.py/issues/119
+    "test_guess_memoryview"
+    "test_guess_extension_memoryview"
+    "test_guess_mime_memoryview"
+  ];
+
+  disabledTestPaths = [
+    # We don't care about benchmarks
+    "tests/test_benchmark.py"
+  ];
 
   meta = with lib; {
     description = "Infer file type and MIME type of any file/buffer";
diff --git a/pkgs/development/python-modules/fivem-api/default.nix b/pkgs/development/python-modules/fivem-api/default.nix
new file mode 100644
index 00000000000..aef6fc34212
--- /dev/null
+++ b/pkgs/development/python-modules/fivem-api/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "fivem-api";
+  version = "0.1.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-6llrMGWbDRmysEw+B6B115hLS5xlktQEXiSHzPLbV5s=";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "fivem"
+  ];
+
+  meta = with lib; {
+    description = "Module for interacting with FiveM servers";
+    homepage = "https://github.com/Sander0542/fivem-api";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/flake8-bugbear/default.nix b/pkgs/development/python-modules/flake8-bugbear/default.nix
index ef014011bdf..a2fb820c1e5 100644
--- a/pkgs/development/python-modules/flake8-bugbear/default.nix
+++ b/pkgs/development/python-modules/flake8-bugbear/default.nix
@@ -4,19 +4,23 @@
 , attrs
 , flake8
 , pytestCheckHook
+, pythonOlder
 , hypothesis
 , hypothesmith
 }:
 
 buildPythonPackage rec {
   pname = "flake8-bugbear";
-  version = "22.3.23";
+  version = "22.4.25";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-s1EnPM2He+R+vafu14XI1Xuft8Rg6W3vPH2Atc6N7I0=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-y/hpBlIQ3aJj3Y1snpArOCIv2w1ncQNMSYJ+G0CeM84=";
   };
 
   propagatedBuildInputs = [
@@ -32,9 +36,10 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
+    description = "Plugin for Flake8 to find bugs and design problems";
     homepage = "https://github.com/PyCQA/flake8-bugbear";
     changelog = "https://github.com/PyCQA/flake8-bugbear/blob/${version}/README.rst#change-log";
-    description = ''
+    longDescription = ''
       A plugin for flake8 finding likely bugs and design problems in your
       program.
     '';
diff --git a/pkgs/development/python-modules/flake8-debugger/default.nix b/pkgs/development/python-modules/flake8-debugger/default.nix
index 67f4ea529f1..55858a9eaf2 100644
--- a/pkgs/development/python-modules/flake8-debugger/default.nix
+++ b/pkgs/development/python-modules/flake8-debugger/default.nix
@@ -1,32 +1,41 @@
-{ lib, fetchPypi, buildPythonPackage, isPy27
+{ lib
+, buildPythonPackage
+, fetchPypi
 , flake8
 , pycodestyle
-, six
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "flake8-debugger";
-  version = "4.0.0";
-  disabled = isPy27;
+  version = "4.1.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e43dc777f7db1481db473210101ec2df2bd39a45b149d7218a618e954177eda6";
+    hash = "sha256-UrACVglB422b+Ab8olI9x/uFYKKV1fGm4VrC3tenOEA=";
   };
 
-  propagatedBuildInputs = [ flake8 pycodestyle six ];
+  propagatedBuildInputs = [
+    flake8
+    pycodestyle
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  # Tests not included in PyPI tarball
-  # FIXME: Remove when https://github.com/JBKahn/flake8-debugger/pull/15 is merged
-  doCheck = false;
+  pythonImportsCheck = [
+    "flake8_debugger"
+  ];
 
-  meta = {
-    homepage = "https://github.com/jbkahn/flake8-debugger";
+  meta = with lib; {
     description = "ipdb/pdb statement checker plugin for flake8";
-    maintainers = with lib.maintainers; [ johbo ];
-    license = lib.licenses.mit;
+    homepage = "https://github.com/jbkahn/flake8-debugger";
+    license = licenses.mit;
+    maintainers = with maintainers; [ johbo ];
   };
 }
diff --git a/pkgs/development/python-modules/flask-appbuilder/default.nix b/pkgs/development/python-modules/flask-appbuilder/default.nix
index 0129c987723..1d84fb88ed7 100644
--- a/pkgs/development/python-modules/flask-appbuilder/default.nix
+++ b/pkgs/development/python-modules/flask-appbuilder/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "flask-appbuilder";
-  version = "3.4.4";
+  version = "4.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -35,14 +35,10 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Flask-AppBuilder";
     inherit version;
-    sha256 = "sha256-uZzuvNusqMzAS/vmg3CuZ+D442J4LbFwsBboVIx/srE=";
+    hash = "sha256-g+iHUL83PokXPGu7HJ8ffLocQr0uGpMqS5MbfIlZZ2E=";
   };
 
-  # See here: https://github.com/dpgaspar/Flask-AppBuilder/commit/7097a7b133f27c78d2b54d2a46e4a4c24478a066.patch
-  #           https://github.com/dpgaspar/Flask-AppBuilder/pull/1610
-  # The patch from the PR doesn't apply cleanly so I edited it manually.
   patches = [
-    ./upgrade-to-flask_jwt_extended-4.patch
     (fetchpatch {
       # https://github.com/dpgaspar/Flask-AppBuilder/pull/1734
       name = "flask-appbuilder-wtf3.patch";
@@ -82,16 +78,11 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace setup.py \
       --replace "apispec[yaml]>=3.3, <4" "apispec[yaml] >=3.3" \
-      --replace "Flask>=0.12, <2" "Flask" \
-      --replace "Flask-Login>=0.3, <0.5" "Flask-Login >=0.3, <0.6" \
-      --replace "Flask-Babel>=1, <2" "Flask-Babel >=1, <3" \
+      --replace "Flask-Login>=0.3, <0.5" "Flask-Login >=0.3" \
       --replace "Flask-WTF>=0.14.2, <0.15.0" "Flask-WTF" \
       --replace "WTForms<3.0.0" "WTForms" \
       --replace "marshmallow-sqlalchemy>=0.22.0, <0.27.0" "marshmallow-sqlalchemy" \
-      --replace "Flask-JWT-Extended>=3.18, <4" "Flask-JWT-Extended>=4.1.0" \
-      --replace "PyJWT>=1.7.1, <2.0.0" "PyJWT>=2.0.1" \
-      --replace "prison>=0.2.1, <1.0.0" "prison" \
-      --replace "SQLAlchemy<1.4.0" "SQLAlchemy"
+      --replace "prison>=0.2.1, <1.0.0" "prison"
   '';
 
   # Majority of tests require network access or mongo
diff --git a/pkgs/development/python-modules/flask-compress/default.nix b/pkgs/development/python-modules/flask-compress/default.nix
index 26e5feca03e..2825e41a081 100644
--- a/pkgs/development/python-modules/flask-compress/default.nix
+++ b/pkgs/development/python-modules/flask-compress/default.nix
@@ -8,13 +8,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.11";
+  version = "1.12";
   pname = "Flask-Compress";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-9WnzLERtayXKjjR9UAOgUxgR73MmeABbADb8HJ6xwhw=";
+    sha256 = "sha256-4hWUmfOdYYpNVroEhOe1i1eVa5osbTUQ8JX1uxS3r8U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/flask-httpauth/default.nix b/pkgs/development/python-modules/flask-httpauth/default.nix
index e667e08b144..fb313faff23 100644
--- a/pkgs/development/python-modules/flask-httpauth/default.nix
+++ b/pkgs/development/python-modules/flask-httpauth/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "flask-httpauth";
-  version = "4.5.0";
+  version = "4.6.0";
 
   disabled = python.pythonOlder "3";
 
   src = fetchPypi {
     pname = "Flask-HTTPAuth";
     version = version;
-    sha256 = "0ada63rkcvwkakjyx4ay98fjzwx5h55br12ys40ghkc5lbyl0l1r";
+    sha256 = "sha256-IHbPhuhMaqRC7gM0S/91Hq4TPTWhpIkx5vmfFHFhtVs=";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/flask-jwt-extended/default.nix b/pkgs/development/python-modules/flask-jwt-extended/default.nix
index 3b9c9b4a067..0d99a08ab17 100644
--- a/pkgs/development/python-modules/flask-jwt-extended/default.nix
+++ b/pkgs/development/python-modules/flask-jwt-extended/default.nix
@@ -1,20 +1,41 @@
-{ lib, buildPythonPackage, fetchPypi, python-dateutil, flask, pyjwt, werkzeug, pytest }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flask
+, pyjwt
+, pytestCheckHook
+, python-dateutil
+, pythonOlder
+, werkzeug
+}:
 
 buildPythonPackage rec {
-  pname = "Flask-JWT-Extended";
-  version = "4.3.1";
+  pname = "flask-jwt-extended";
+  version = "4.4.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "ad6977b07c54e51c13b5981afc246868b9901a46715d9b9827898bfd916aae88";
+    pname = "Flask-JWT-Extended";
+    inherit version;
+    hash = "sha256-P+gVBL3JGtjxy5db0tlexgElHzG94YQRXjn8fm7SPqY=";
   };
 
-  propagatedBuildInputs = [ python-dateutil flask pyjwt werkzeug ];
-  checkInputs = [ pytest ];
+  propagatedBuildInputs = [
+    flask
+    pyjwt
+    python-dateutil
+    werkzeug
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    pytest tests/
-  '';
+  pythonImportsCheck = [
+    "flask_jwt_extended"
+  ];
 
   meta = with lib; {
     description = "JWT extension for Flask";
diff --git a/pkgs/development/python-modules/flask-login/default.nix b/pkgs/development/python-modules/flask-login/default.nix
index 62eb3287f8c..cd5bab252cc 100644
--- a/pkgs/development/python-modules/flask-login/default.nix
+++ b/pkgs/development/python-modules/flask-login/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "flask-login";
-  version = "0.6.0";
+  version = "0.6.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Flask-Login";
     inherit version;
-    sha256 = "sha256-qoT8+0w88JyljAjoFre85z8TSboc8T0A2N/8WHLV/PY=";
+    sha256 = "sha256-EwbUdKJwoDbW/RT0VkDE13NV5PHGfKQzGzctNEiZe4w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/flask-testing/default.nix b/pkgs/development/python-modules/flask-testing/default.nix
index 6cfcffdb7be..e17662e7ca6 100644
--- a/pkgs/development/python-modules/flask-testing/default.nix
+++ b/pkgs/development/python-modules/flask-testing/default.nix
@@ -1,32 +1,58 @@
-{ lib, stdenv, fetchPypi, buildPythonPackage, isPy3k, flask, blinker, twill }:
+{ lib
+, stdenv
+, blinker
+, pytestCheckHook
+, buildPythonPackage
+, fetchPypi
+, flask
+, pythonOlder
+}:
 
 buildPythonPackage rec {
-  pname = "Flask-Testing";
+  pname = "flask-testing";
   version = "0.8.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "0a734d7b68e63a9410b413cd7b1f96456f9a858bd09a6222d465650cc782eb01";
+    pname = "Flask-Testing";
+    inherit version;
+    hash = "sha256-CnNNe2jmOpQQtBPNex+WRW+ahYvQmmIi1GVlDMeC6wE=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py --replace "twill==0.9.1" "twill"
-  '';
+  propagatedBuildInputs = [
+    flask
+  ];
+
+  checkInputs = [
+    blinker
+    pytestCheckHook
+  ];
 
-  propagatedBuildInputs = [ flask ];
+  # Some of the tests use localhost networking on darwin
+  doCheck = !stdenv.isDarwin;
 
-  checkInputs = [ blinker ] ++ lib.optionals (!isPy3k) [ twill ];
+  disabledTests = [
+    # RuntimeError and NotImplementedError
+    "test_assert_redirects"
+    "test_server_listening"
+    "test_server_process_is_spawned"
+  ];
 
-  # twill integration is outdated in Python 2, hence it the tests fails.
-  # Some of the tests use localhost networking on darwin.
-  doCheck = isPy3k && !stdenv.isDarwin;
+  disabledTestPaths = [
+    # twill is only used by Python 2 according setup.py
+    "tests/test_twill.py"
+  ];
 
-  pythonImportsCheck = [ "flask_testing" ];
+  pythonImportsCheck = [
+    "flask_testing"
+  ];
 
   meta = with lib; {
-    description = "Flask unittest integration.";
+    description = "Extension provides unit testing utilities for Flask";
     homepage = "https://pythonhosted.org/Flask-Testing/";
     license = licenses.bsd3;
-    maintainers = [ maintainers.mic92 ];
+    maintainers = with maintainers; [ mic92 ];
   };
 }
diff --git a/pkgs/development/python-modules/flatdict/default.nix b/pkgs/development/python-modules/flatdict/default.nix
index 186118d3010..bed9647af84 100644
--- a/pkgs/development/python-modules/flatdict/default.nix
+++ b/pkgs/development/python-modules/flatdict/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "flatdict";
-  version = "4.0.0";
+  version = "4.0.1";
 
   src = fetchFromGitHub {
     owner = "gmr";
     repo = pname;
     rev = version;
-    hash = "sha256-qH4MMDSXf92BPavnRdCka6lRoWZg+2KnHpHA8kt5JaM=";
+    hash = "sha256-CWsTiCNdIKSQtjpQC07lhZoU1hXT/MGpXdj649x2GlU=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/flax/default.nix b/pkgs/development/python-modules/flax/default.nix
index 97f2c3c3862..1cd68790479 100644
--- a/pkgs/development/python-modules/flax/default.nix
+++ b/pkgs/development/python-modules/flax/default.nix
@@ -45,6 +45,7 @@ buildPythonPackage rec {
 
   pytestFlagsArray = [
     "-W ignore::FutureWarning"
+    "-W ignore::DeprecationWarning"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/fontmake/default.nix b/pkgs/development/python-modules/fontmake/default.nix
new file mode 100644
index 00000000000..a075d64406e
--- /dev/null
+++ b/pkgs/development/python-modules/fontmake/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, glyphslib
+, setuptools-scm
+, ufo2ft
+, fonttools
+, fontmath
+, lxml
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "fontmake";
+  version = "3.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-lD7MvZdr9CeWdoZtD3+8stVJTeQN5/AQ4miA/I2TFoE=";
+    extension = "zip";
+  };
+
+  nativeBuildInputs = [ setuptools-scm ];
+
+  propagatedBuildInputs = [
+    glyphslib
+    ufo2ft
+    fonttools
+    fontmath
+    lxml
+    setuptools
+  ];
+
+  pythonImportsCheck = [ "fontmake" ];
+
+  meta = {
+    description = "Compiles fonts from various sources (.glyphs, .ufo, designspace) into binaries formats (.otf, .ttf)";
+    homepage = "https://github.com/googlefonts/fontmake";
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.BarinovMaxim ];
+  };
+}
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
index a70dfef0054..a667f631eb1 100644
--- a/pkgs/development/python-modules/fonttools/default.nix
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -13,11 +13,12 @@
 , sphinx
 , pytestCheckHook
 , glibcLocales
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "4.30.0";
+  version = "4.33.3";
 
   disabled = pythonOlder "3.7";
 
@@ -25,9 +26,11 @@ buildPythonPackage rec {
     owner  = pname;
     repo   = pname;
     rev    = version;
-    sha256 = "1y9f071bdl66rsx42j16j5v53h85xra5qlg860rz3m054s2rmin9";
+    sha256 = "MUIZGnYwlfTat9655AOYgK5r6AvHj/xXghUvOZR8HIM=";
   };
 
+  nativeBuildInputs = [ setuptools-scm ];
+
   # all dependencies are optional, but
   # we run the checks with them
 
@@ -51,6 +54,8 @@ buildPythonPackage rec {
     unicodedata2
   ];
 
+  pythonImportsCheck = [ "fontTools" ];
+
   preCheck = ''
     # tests want to execute the "fonttools" executable from $PATH
     export PATH="$out/bin:$PATH"
@@ -72,7 +77,6 @@ buildPythonPackage rec {
     "Tests/ufoLib"
   ];
 
-
   meta = with lib; {
     homepage = "https://github.com/fonttools/fonttools";
     description = "A library to manipulate font files from Python";
diff --git a/pkgs/development/python-modules/fqdn/default.nix b/pkgs/development/python-modules/fqdn/default.nix
new file mode 100644
index 00000000000..cff62be2aff
--- /dev/null
+++ b/pkgs/development/python-modules/fqdn/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "fqdn";
+  version = "1.5.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "ypcrts";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-T0CdWWr8p3JVhp3nol5hyxsrD3951JE2EDpFt+m+3bE=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "fqdn"
+  ];
+
+  meta = with lib; {
+    description = "RFC-compliant FQDN validation and manipulation";
+    homepage = "https://github.com/ypcrts/fqdn";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/fuse-python/default.nix b/pkgs/development/python-modules/fuse-python/default.nix
index f1bf6e39a06..46cf6ec5345 100644
--- a/pkgs/development/python-modules/fuse-python/default.nix
+++ b/pkgs/development/python-modules/fuse-python/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "fuse-python";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b9a69c38b3909ffd35d77cb1a73ebfdc3a103a6d4cdd20c86c70ed1141771580";
+    sha256 = "sha256-dOX/szaCu6mlrypaBI9Ht+e0ZOv4QpG/WiWL+60Do6o=";
   };
 
   buildInputs = [ fuse ];
diff --git a/pkgs/development/python-modules/garminconnect/default.nix b/pkgs/development/python-modules/garminconnect/default.nix
index 62a85ea8bc3..19a931c2bf4 100644
--- a/pkgs/development/python-modules/garminconnect/default.nix
+++ b/pkgs/development/python-modules/garminconnect/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "garminconnect";
-  version = "0.1.44";
+  version = "0.1.45";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "cyberjunky";
     repo = "python-garminconnect";
-    rev = version;
-    hash = "sha256-CUjMbh3eGPwoHW+oOjaVyr0g/txWmzGuP1usq2WCwZg=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-8ORot3ZEh+1cAV/Ec63ghBQFt4LyaH+rRsgzYA6wEdI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gbulb/default.nix b/pkgs/development/python-modules/gbulb/default.nix
new file mode 100644
index 00000000000..fe0c1b21d28
--- /dev/null
+++ b/pkgs/development/python-modules/gbulb/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pygobject3
+, pytestCheckHook
+, gtk3
+, gobject-introspection
+}:
+
+buildPythonPackage rec {
+  pname = "gbulb";
+  version = "0.6.3";
+
+  src = fetchFromGitHub {
+    owner = "beeware";
+    repo = "gbulb";
+    rev = "v${version}";
+    sha256 = "sha256-QNpZf1zfe6r6MtmYMWSrXPsXm5iX36oMx4GnXiTYPaQ=";
+  };
+
+  propagatedBuildInputs = [
+    pygobject3
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    gtk3
+    gobject-introspection
+  ];
+
+  disabledTests = [
+    "test_glib_events.TestBaseGLibEventLoop" # Somtimes fail due to imprecise timing
+  ];
+
+  pythonImportsCheck = [ "gbulb" ];
+
+  meta = with lib; {
+    description = "GLib implementation of PEP 3156";
+    homepage = "https://github.com/beeware/gbulb";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ marius851000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/gcal-sync/default.nix b/pkgs/development/python-modules/gcal-sync/default.nix
new file mode 100644
index 00000000000..101a3ef53d6
--- /dev/null
+++ b/pkgs/development/python-modules/gcal-sync/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, aiohttp
+, pydantic
+, freezegun
+, pytest-aiohttp
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "gcal-sync";
+  version = "0.7.1";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "allenporter";
+    repo = "gcal_sync";
+    rev = version;
+    hash = "sha256-NOB74P+5i63FEeHJsPXRdRgY6iyIUEn7BogbVKm8P5M=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    pydantic
+  ];
+
+  checkInputs = [
+    freezegun
+    pytest-aiohttp
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "gcal_sync" ];
+
+  meta = {
+    description = "Python library for syncing Google Calendar to local storage";
+    homepage = "https://github.com/allenporter/gcal_sync";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/gehomesdk/default.nix b/pkgs/development/python-modules/gehomesdk/default.nix
index a4c9d2d7460..43609f33292 100644
--- a/pkgs/development/python-modules/gehomesdk/default.nix
+++ b/pkgs/development/python-modules/gehomesdk/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "gehomesdk";
-  version = "0.4.24";
+  version = "0.4.25";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-20l3zNOvZVGucm1SFzmSjkj3iOXPQhp4T5sInTGO/aQ=";
+    sha256 = "sha256-TGitDdRvNKaZzbPrYvWx1bdbXAJW3OSnzbPBF2LpJW4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gensim/default.nix b/pkgs/development/python-modules/gensim/default.nix
index 5cf36c15dfa..3a6fc0d254a 100644
--- a/pkgs/development/python-modules/gensim/default.nix
+++ b/pkgs/development/python-modules/gensim/default.nix
@@ -1,43 +1,60 @@
 { lib
 , buildPythonPackage
+, cython
 , fetchPypi
+, mock
 , numpy
-, six
 , scipy
 , smart-open
-, scikit-learn, testfixtures, unittest2
-, isPy3k
+, testfixtures
+, pyemd
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "gensim";
-  version = "4.1.2";
-  disabled = !isPy3k;
+  version = "4.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1932c257de4eccbb64cc40d46e8577a25f5f47b94b96019a969fb36150f11d15";
+    hash = "sha256-mV69KXCjHUfBAKqsECEvR+K/EuKwZTbTiIPJUf807vE=";
   };
 
-  propagatedBuildInputs = [ smart-open numpy six scipy ];
+  nativeBuildInputs = [
+    cython
+  ];
+
+  propagatedBuildInputs = [
+    smart-open
+    numpy
+    scipy
+  ];
 
-  checkInputs = [ scikit-learn testfixtures unittest2 ];
+  checkInputs = [
+    mock
+    pyemd
+    pytestCheckHook
+  ];
 
-  # Two tests fail.
-  #
-  # ERROR: testAddMorphemesToEmbeddings (gensim.test.test_varembed_wrapper.TestVarembed)
-  # ImportError: Could not import morfessor.
-  # This package is not in nix
-  #
-  # ERROR: testWmdistance (gensim.test.test_fasttext_wrapper.TestFastText)
-  # ImportError: Please install pyemd Python package to compute WMD.
-  # This package is not in nix
+  pythonImportsCheck = [
+    "gensim"
+  ];
+
+  # Test setup takes several minutes
   doCheck = false;
 
-  meta = {
+  pytestFlagsArray = [
+    "gensim/test"
+  ];
+
+  meta = with lib; {
     description = "Topic-modelling library";
     homepage = "https://radimrehurek.com/gensim/";
-    license = lib.licenses.lgpl21;
-    maintainers = with lib.maintainers; [ jyp ];
+    license = licenses.lgpl21Only;
+    maintainers = with maintainers; [ jyp ];
   };
 }
diff --git a/pkgs/development/python-modules/geopandas/default.nix b/pkgs/development/python-modules/geopandas/default.nix
index b62b2c67ef7..9bacb9fd818 100644
--- a/pkgs/development/python-modules/geopandas/default.nix
+++ b/pkgs/development/python-modules/geopandas/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildPythonPackage, fetchFromGitHub, pythonOlder
+{ lib, stdenv, buildPythonPackage, fetchFromGitHub, fetchpatch, pythonOlder
 , pandas, shapely, fiona, pyproj
 , pytestCheckHook, Rtree }:
 
@@ -14,6 +14,19 @@ buildPythonPackage rec {
     sha256 = "14azl3gppqn90k8h4hpjilsivj92k6p1jh7mdr6p4grbww1b7sdq";
   };
 
+  patches = [
+    # Fixes a test, will be included in the next release after 0.10.2
+    (fetchpatch {
+      url = "https://github.com/geopandas/geopandas/pull/2219/commits/ac67515c9df745b672cca1669adf05eaf5cb0f3b.patch";
+      sha256 = "sha256-XcaoFhD6Rq0nfEpMbOJiAWPbaPDrMwFwoyppayq8NHc=";
+    })
+    # 5 commits from post 0.10.2 that fix the test suite compatibility with pandas >=1.4
+    (fetchpatch {
+      url = "https://github.com/geopandas/geopandas/pull/2289.patch";
+      sha256 = "sha256-BcZVdaO/DdpZoVGUWaw9etFvvgwizAgrkaBISEOhV4A=";
+    })
+  ];
+
   propagatedBuildInputs = [
     pandas
     shapely
diff --git a/pkgs/development/python-modules/ghp-import/default.nix b/pkgs/development/python-modules/ghp-import/default.nix
index 03aabc4ab6e..956b1098e33 100644
--- a/pkgs/development/python-modules/ghp-import/default.nix
+++ b/pkgs/development/python-modules/ghp-import/default.nix
@@ -2,23 +2,31 @@
 , buildPythonPackage
 , fetchPypi
 , python-dateutil
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "ghp-import";
-  version = "2.0.2";
+  version = "2.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lHs3cfEb6FDIUsZLVhxgD93feUurNjBghUwe560F4HE=";
+    hash = "sha256-nFNcTGEZPC34hxIiVn1/1+UBTYNfl9x7dDkGniQT00M=";
   };
 
-  propagatedBuildInputs = [ python-dateutil ];
+  propagatedBuildInputs = [
+    python-dateutil
+  ];
 
   # Does not include any unit tests
   doCheck = false;
 
-  pythonImportsCheck = [ "ghp_import" ];
+  pythonImportsCheck = [
+    "ghp_import"
+  ];
 
   meta = with lib; {
     description = "Copy your docs directly to the gh-pages branch";
diff --git a/pkgs/development/python-modules/glad/default.nix b/pkgs/development/python-modules/glad/default.nix
new file mode 100644
index 00000000000..9d05720d84d
--- /dev/null
+++ b/pkgs/development/python-modules/glad/default.nix
@@ -0,0 +1,18 @@
+{ buildPythonPackage, fetchPypi, lib }:
+
+buildPythonPackage rec {
+  pname = "glad";
+  version = "0.1.36";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-P7ANv+x65t2+ugTiFUf2fzzPx5X8NFYkUM8/K7Gf28c=";
+  };
+
+  meta = with lib; {
+    description = "Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs";
+    homepage = "https://github.com/Dav1dde/glad";
+    license = licenses.mit;
+    maintainers = with maintainers; [ superherointj ];
+  };
+}
diff --git a/pkgs/development/python-modules/glances-api/default.nix b/pkgs/development/python-modules/glances-api/default.nix
index 2c52db8ab5f..8394f791832 100644
--- a/pkgs/development/python-modules/glances-api/default.nix
+++ b/pkgs/development/python-modules/glances-api/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "glances-api";
-  version = "0.3.4";
+  version = "0.3.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "home-assistant-ecosystem";
     repo = "python-glances-api";
     rev = version;
-    sha256 = "sha256-mV67mppzx3lka04bxQ5CdufknZTTqWqGJzqPaHb4C2o=";
+    sha256 = "sha256-8NWrsiiKevIMeD++C2weRdG0FPm5T4fHMUSJM4J+AOo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/glcontext/default.nix b/pkgs/development/python-modules/glcontext/default.nix
index fe25277e8cd..a9306c18186 100644
--- a/pkgs/development/python-modules/glcontext/default.nix
+++ b/pkgs/development/python-modules/glcontext/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "glcontext";
-  version = "2.3.5";
+  version = "2.3.6";
 
   src = fetchFromGitHub {
     owner = "moderngl";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-wvoIfwd0UBooqbJGshADjf96Xqx2k9G1nN3Dy6v3GIY=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-fE1fyoKQz1jmTBcAz2CbkLjRfgN5QedpMOLMU8keIZs=";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/globus-sdk/default.nix b/pkgs/development/python-modules/globus-sdk/default.nix
index 88a2c49e052..68209275426 100644
--- a/pkgs/development/python-modules/globus-sdk/default.nix
+++ b/pkgs/development/python-modules/globus-sdk/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "globus-sdk";
-  version = "3.7.0";
+  version = "3.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "globus";
     repo = "globus-sdk-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-Us3SCkrBPL3v9YCOQ7ceF3neCUZkJTrchYsvCRSX84Y=";
+    hash = "sha256-JaAiAAf0zIJDXXl3zb4UE9XpmjZ8KQiEcZJm1ps+efA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/glyphslib/default.nix b/pkgs/development/python-modules/glyphslib/default.nix
new file mode 100644
index 00000000000..2d6b19bea35
--- /dev/null
+++ b/pkgs/development/python-modules/glyphslib/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fonttools
+, openstep-plist
+, ufoLib2
+, pytestCheckHook
+, unicodedata2
+, setuptools-scm
+, ufonormalizer
+, xmldiff
+, defcon
+, ufo2ft
+, skia-pathops
+}:
+
+buildPythonPackage rec {
+  pname = "glyphslib";
+  version = "6.0.4";
+
+  format = "pyproject";
+
+  src = fetchPypi {
+    pname = "glyphsLib";
+    inherit version;
+    sha256 = "sha256-PT66n1WEO5FNcwov8GaXT1YNrAi22X4HN7iVNkuehKI=";
+  };
+
+  nativeBuildInputs = [ setuptools-scm ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "glyphsLib" ];
+
+  propagatedBuildInputs = [
+    fonttools
+    openstep-plist
+    ufoLib2
+    unicodedata2
+    ufonormalizer
+    xmldiff
+    defcon
+    ufo2ft
+    skia-pathops
+  ];
+
+  disabledTestPaths = [
+    "tests/builder/designspace_gen_test.py" # this test tries to use non-existent font "CoolFoundry Examplary Serif"
+    "tests/builder/interpolation_test.py" # this test tries to use a font that previous test should made
+  ];
+
+  meta = {
+    description = "Bridge from Glyphs source files (.glyphs) to UFOs and Designspace files via defcon and designspaceLib";
+    homepage = "https://github.com/googlefonts/glyphsLib";
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.BarinovMaxim ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix b/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix
new file mode 100644
index 00000000000..1b59bc8ddbf
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-bigquery-storage/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, google-auth
+, google-cloud-bigquery
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-bigquery-storage";
+  version = "2.13.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7a25148f635a04ca9ff568d47e64be275d3a4a3c90772524879e8f88f270d92d";
+  };
+
+  propagatedBuildInputs = [
+    google-api-core
+  ];
+
+  checkInputs = [
+    google-auth
+    google-cloud-bigquery
+    pytestCheckHook
+  ];
+
+  # dependency loop with google-cloud-bigquery
+  doCheck = false;
+
+  preCheck = ''
+    rm -r google
+  '';
+
+  pythonImportsCheck = [
+    "google.cloud.bigquery_storage"
+    "google.cloud.bigquery_storage_v1"
+    "google.cloud.bigquery_storage_v1beta2"
+  ];
+
+  meta = with lib; {
+    description = "BigQuery Storage API API client library";
+    homepage = "https://github.com/googleapis/python-bigquery-storage";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index e6b2ba11f67..3a5142a9cef 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -2,7 +2,9 @@
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
+, db-dtypes
 , freezegun
+, google-cloud-bigquery-storage
 , google-cloud-core
 , google-cloud-datacatalog
 , google-cloud-storage
@@ -27,13 +29,15 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    google-resumable-media
     google-cloud-core
+    google-cloud-bigquery-storage
+    google-resumable-media
     proto-plus
     pyarrow
   ];
 
   checkInputs = [
+    db-dtypes
     freezegun
     google-cloud-testutils
     ipython
@@ -54,8 +58,8 @@ buildPythonPackage rec {
     # requires credentials
     "test_bigquery_magic"
     "TestBigQuery"
+    "test_context_with_no_query_cache_from_context"
     "test_arrow_extension_types_same_for_storage_and_REST_APIs_894"
-    "test_query_retry_539"
     "test_list_rows_empty_table"
     "test_list_rows_page_size"
     "test_list_rows_scalars"
@@ -75,6 +79,13 @@ buildPythonPackage rec {
     "test__initiate_resumable_upload_with_retry"
   ];
 
+  disabledTestPaths = [
+    # requires credentials
+    "tests/system/test_query.py"
+    "tests/system/test_job_retry.py"
+    "tests/system/test_pandas.py"
+  ];
+
   pythonImportsCheck = [
     "google.cloud.bigquery"
     "google.cloud.bigquery_v2"
diff --git a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
index 58368693523..060847cc0f7 100644
--- a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
+++ b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-videointelligence";
-  version = "2.6.1";
+  version = "2.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-p1HXFxURs0axONrqHahl/SPvWN2mhAhvJePFOwzRR4c=";
+    sha256 = "sha256-ylzS63MoRkJ5JZpLBMX6B9EE99EwahWuC8rEYRg00B0=";
   };
 
   propagatedBuildInputs = [ google-api-core proto-plus ];
diff --git a/pkgs/development/python-modules/gradient/default.nix b/pkgs/development/python-modules/gradient/default.nix
index fa70e62a6fd..5e909ee3627 100644
--- a/pkgs/development/python-modules/gradient/default.nix
+++ b/pkgs/development/python-modules/gradient/default.nix
@@ -23,12 +23,12 @@
 
 buildPythonPackage rec {
   pname = "gradient";
-  version = "1.11.0";
+  version = "2.0.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IfScVoXFq6XPwUQdkcN87zOmuFY7kapbTkthxHqMAFU=";
+    hash = "sha256-NEbXLhQC72UP5+crUzkgqMTd3rvipXO7bGlGAWUDoP4=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/graph_nets/default.nix b/pkgs/development/python-modules/graph_nets/default.nix
deleted file mode 100644
index 4f7b8c52e9e..00000000000
--- a/pkgs/development/python-modules/graph_nets/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, tensorflow
-, absl-py
-, dm-sonnet
-, networkx
-, numpy
-, setuptools
-, six
-, future
-}:
-
-buildPythonPackage rec {
-  pname = "graph_nets";
-  version = "1.1.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "278a040674bef295aaf8bb5b0d1b3f207144dc68f0bcfe3f14912b9b85eb0927";
-  };
-
-  postPatch = ''
-    # https://github.com/deepmind/graph_nets/issues/63
-    sed -i 's/dm-sonnet==1.23/dm-sonnet/' setup.py
-  '';
-
-  propagatedBuildInputs = [
-    tensorflow
-    absl-py
-    dm-sonnet
-    networkx
-    numpy
-    setuptools
-    six
-    future
-  ];
-
-  meta = with lib; {
-    description = "Build Graph Nets in Tensorflow";
-    homepage = "https://github.com/deepmind/graph_nets";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ timokau ];
-  };
-}
diff --git a/pkgs/development/python-modules/gtts/default.nix b/pkgs/development/python-modules/gtts/default.nix
index cc08c48f694..3e3fabddf31 100644
--- a/pkgs/development/python-modules/gtts/default.nix
+++ b/pkgs/development/python-modules/gtts/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "gtts";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchFromGitHub {
     owner = "pndurette";
     repo = "gTTS";
     rev = "v${version}";
-    sha256 = "1pj7lyd1r72nxs3sgd78awpbsz41g4idjvbsjjp4chfq4qnsq0ji";
+    sha256 = "sha256-hQnFHi85Rifco0afLF8kKNOy9oPxKoupfmdm+fht6Cg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index 8f00c8ec175..aef938e8266 100644
--- a/pkgs/development/python-modules/hahomematic/default.nix
+++ b/pkgs/development/python-modules/hahomematic/default.nix
@@ -14,8 +14,8 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "1.1.2";
-  format = "setuptools";
+  version = "1.2.2";
+  format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-yglKgRsjYGzW8PiMWu2YOQRoxei7VFPNrS8VYwDIAA0=";
+    sha256 = "sha256-eXJXKWlvNJIqEJY5WE5Wbk9BdGu9N9xhintJbdSkJrQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hatasmota/default.nix b/pkgs/development/python-modules/hatasmota/default.nix
index b710e5fb2e2..db524438d63 100644
--- a/pkgs/development/python-modules/hatasmota/default.nix
+++ b/pkgs/development/python-modules/hatasmota/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "hatasmota";
-  version = "0.4.0";
+  version = "0.4.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "emontnemery";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-r9EBuaKxc7Vcdfk8zoDpIi2i6yIGc7soSWx+RjG+SZo=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-So3wnz6HBGlgBgBJiU4m+fFx7f8Y+6c15OCD8GFGQaE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hatchling/default.nix b/pkgs/development/python-modules/hatchling/default.nix
index 045bbafd636..1a95d20cff7 100644
--- a/pkgs/development/python-modules/hatchling/default.nix
+++ b/pkgs/development/python-modules/hatchling/default.nix
@@ -21,7 +21,7 @@
 
 let
   pname = "hatchling";
-  version = "0.22.0";
+  version = "0.24.0";
 in
 buildPythonPackage {
   inherit pname version;
@@ -29,7 +29,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-BUJ24F4oON/9dWpnnDNM5nIOuh3yuwlvDnLA9uQAIXo=";
+    hash = "sha256-zmdl9bW688tX0vgBlsUOIB43KMrNlTU/XJtPA9/fTrk=";
   };
 
   # listed in backend/src/hatchling/ouroboros.py
diff --git a/pkgs/development/python-modules/hg-evolve/default.nix b/pkgs/development/python-modules/hg-evolve/default.nix
index 9b1264e738b..f068fab049a 100644
--- a/pkgs/development/python-modules/hg-evolve/default.nix
+++ b/pkgs/development/python-modules/hg-evolve/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "hg-evolve";
-  version = "10.5.0";
+  version = "10.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-p2zPUCc+KrsNxPChdW3ZgkOo+HJB7IcYtqh5Uh0Qnaw=";
+    sha256 = "sha256-JGk9PdCDXiDkP8Arw2pfpU+sEj/sCHwwHHWVwF3Ofzw=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/hkavr/default.nix b/pkgs/development/python-modules/hkavr/default.nix
new file mode 100644
index 00000000000..851150ea1dd
--- /dev/null
+++ b/pkgs/development/python-modules/hkavr/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "hkavr";
+  version = "0.0.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-wa0yS0KPdrQUuxxViweESD6Itn2rFlTwwrPQ0COWIPc=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "hkavr"
+  ];
+
+  meta = with lib; {
+    description = "Library for interacting with Harman Kardon AVR controllers";
+    homepage = "https://github.com/Devqon/hkavr";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/hmmlearn/default.nix b/pkgs/development/python-modules/hmmlearn/default.nix
index bdeff30b761..8c699af9752 100644
--- a/pkgs/development/python-modules/hmmlearn/default.nix
+++ b/pkgs/development/python-modules/hmmlearn/default.nix
@@ -1,4 +1,6 @@
-{ lib, fetchurl, buildPythonPackage, numpy, scikit-learn, setuptools-scm, cython, pytest }:
+{ lib, fetchurl, buildPythonPackage
+, numpy, scikit-learn, pybind11, setuptools-scm, cython
+, pytestCheckHook }:
 
 buildPythonPackage rec {
   pname = "hmmlearn";
@@ -9,13 +11,12 @@ buildPythonPackage rec {
     sha256 = "sha256-a0snIPJ6912pNnq02Q3LAPONozFo322Rf57F3mZw9uE=";
   };
 
-  buildInputs = [ setuptools-scm cython ];
+  buildInputs = [ setuptools-scm cython pybind11 ];
   propagatedBuildInputs = [ numpy scikit-learn ];
-  checkInputs = [ pytest ];
+  checkInputs = [ pytestCheckHook ];
 
-  checkPhase = ''
-    pytest --pyargs hmmlearn
-  '';
+  pythonImportsCheck = [ "hmmlearn" ];
+  pytestFlagsArray = [ "--pyargs" "hmmlearn" ];
 
   meta = with lib; {
     description = "Hidden Markov Models in Python with scikit-learn like API";
diff --git a/pkgs/development/python-modules/howdoi/default.nix b/pkgs/development/python-modules/howdoi/default.nix
index 213c382be0b..49535fd3339 100644
--- a/pkgs/development/python-modules/howdoi/default.nix
+++ b/pkgs/development/python-modules/howdoi/default.nix
@@ -10,17 +10,21 @@
 , pyquery
 , requests
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "howdoi";
   version = "2.0.19";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "gleitz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hl7cpxm4llsgw6390bpjgkzrprrpb0vxx2flgly7wiy9zl1rc5q";
+    hash = "sha256-uLAc6E8+8uPpo070vsG6Od/855N3gTQMf5pSUvtlh0I=";
   };
 
   propagatedBuildInputs = [
@@ -46,6 +50,16 @@ buildPythonPackage rec {
     # AssertionError: "The...
     "test_get_text_with_one_link"
     "test_get_text_without_links"
+    # Those tests are failing in the sandbox
+    # OSError: [Errno 24] Too many open files
+    "test_answers"
+    "test_answers_bing"
+    "test_colorize"
+    "test_json_output"
+    "test_missing_pre_or_code_query"
+    "test_multiple_answers"
+    "test_position"
+    "test_unicode_answer"
   ];
 
   pythonImportsCheck = [
@@ -54,7 +68,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Instant coding answers via the command line";
-    homepage = "https://pypi.python.org/pypi/howdoi";
+    homepage = "https://github.com/gleitz/howdoi";
     license = licenses.mit;
     maintainers = with maintainers; [ costrouc ];
   };
diff --git a/pkgs/development/python-modules/http-message-signatures/default.nix b/pkgs/development/python-modules/http-message-signatures/default.nix
new file mode 100644
index 00000000000..fb67dd34c7b
--- /dev/null
+++ b/pkgs/development/python-modules/http-message-signatures/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, cryptography
+, fetchFromGitHub
+, http-sfv
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "http-message-signatures";
+  version = "0.4.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "pyauth";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-CMF9p913P04Hx/221ck1e0AoAsP7aXkX2UKp4S1nnU0=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    cryptography
+    http-sfv
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    requests
+  ];
+
+  pytestFlagsArray = [
+    "test/test.py"
+  ];
+
+  pythonImportsCheck = [
+    "http_message_signatures"
+  ];
+
+  meta = with lib; {
+    description = "Requests authentication module for HTTP Signature";
+    homepage = "https://github.com/pyauth/http-message-signatures";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/http-sfv/default.nix b/pkgs/development/python-modules/http-sfv/default.nix
new file mode 100644
index 00000000000..264065b6efa
--- /dev/null
+++ b/pkgs/development/python-modules/http-sfv/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "http-sfv";
+  version = "0.9.5";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "mnot";
+    repo = "http_sfv";
+    rev = "http_sfv-${version}";
+    hash = "sha256-hzg5vRX0vNKS/hYLF6n8mLK5qiwP7do4M8YMlBAA66I=";
+  };
+
+  propagatedBuildInputs = [
+    typing-extensions
+  ];
+
+  # Tests require external data (https://github.com/httpwg/structured-field-tests)
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "http_sfv"
+  ];
+
+  meta = with lib; {
+    description = "Module to parse and serialise HTTP structured field values";
+    homepage = "https://github.com/mnot/http_sfv";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/hydra-check/default.nix b/pkgs/development/python-modules/hydra-check/default.nix
index 48833d77e8b..8c1fd56b8d3 100644
--- a/pkgs/development/python-modules/hydra-check/default.nix
+++ b/pkgs/development/python-modules/hydra-check/default.nix
@@ -2,46 +2,39 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, docopt
+, poetry-core
 , requests
 , beautifulsoup4
-, mypy
-, types-requests
+, colorama
 }:
 
 buildPythonPackage rec {
   pname = "hydra-check";
-  version = "1.2.0";
-  disabled = pythonOlder "3.5";
+  version = "1.3.4";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = pname;
-    rev = version;
-    sha256 = "EegoQ8qTrFGFYbCDsbAOE4Afg9haLjYdC0Cux/yvSk8=";
+    rev = "v${version}";
+    sha256 = "sha256-voSbpOPJUPjwzdMLVt2TC/FIi6LKk01PLd/GczOAUR8=";
   };
 
+  nativeBuildInputs = [ poetry-core ];
   propagatedBuildInputs = [
-    docopt
+    colorama
     requests
     beautifulsoup4
   ];
 
-  checkInputs = [
-    mypy
-    types-requests
-  ];
-
-  checkPhase = ''
-    echo -e "\x1b[32m## run mypy\x1b[0m"
-    mypy hydracheck
-  '';
+  pythonImportsCheck = [ "hydra_check" ];
 
   meta = with lib; {
     description = "check hydra for the build status of a package";
     homepage = "https://github.com/nix-community/hydra-check";
     license = licenses.mit;
-    maintainers = with maintainers; [ makefu ];
+    maintainers = with maintainers; [ makefu artturin ];
   };
 }
-
diff --git a/pkgs/development/python-modules/hyppo/default.nix b/pkgs/development/python-modules/hyppo/default.nix
index b09d5bd565f..de089ba39d2 100644
--- a/pkgs/development/python-modules/hyppo/default.nix
+++ b/pkgs/development/python-modules/hyppo/default.nix
@@ -3,6 +3,7 @@
 , pythonOlder
 , fetchFromGitHub
 , pytestCheckHook
+, autograd
 , numba
 , numpy
 , scikit-learn
@@ -25,6 +26,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
+    autograd
     numba
     numpy
     scikit-learn
@@ -40,8 +42,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/neurodata/hyppo";
-    description = "Indepedence testing in Python";
-    license = licenses.asl20;
+    description = "Python package for multivariate hypothesis testing";
+    license = licenses.mit;
     maintainers = with maintainers; [ bcdarwin ];
   };
 }
diff --git a/pkgs/development/python-modules/ibis-framework/default.nix b/pkgs/development/python-modules/ibis-framework/default.nix
index 39d226bb956..dee63fb0856 100644
--- a/pkgs/development/python-modules/ibis-framework/default.nix
+++ b/pkgs/development/python-modules/ibis-framework/default.nix
@@ -8,6 +8,9 @@
 , clickhouse-driver
 , click
 , dask
+, datafusion
+, duckdb
+, duckdb-engine
 , graphviz
 , importlib-metadata
 , multipledispatch
@@ -15,50 +18,51 @@
 , pandas
 , parsy
 , poetry-core
+, poetry-dynamic-versioning
 , pyarrow
-, pytest
+, pydantic
+, pytest-benchmark
 , pytest-mock
 , pytest-xdist
+, python
 , pytz
 , regex
 , requests
 , sqlalchemy
-, tables
+, sqlite
+, tabulate
 , toolz
 }:
 let
   # ignore tests for which dependencies are not available
   backends = [
-    "csv"
     "dask"
-    "hdf5"
+    "datafusion"
+    "duckdb"
     "pandas"
-    "parquet"
     "sqlite"
   ];
 
-  backendsString = lib.concatStringsSep " " backends;
-
   ibisTestingData = fetchFromGitHub {
     owner = "ibis-project";
     repo = "testing-data";
-    rev = "743201a35c6b968cf55b054f9d28949ea15d1f0a";
-    sha256 = "sha256-xuSE6wHP3aF8lnEE2SuFbTRBu49ecRmc1F3HPcszptI=";
+    rev = "a88a4b3c3b54a88e7f77e59de70f5bf20fb62f19";
+    sha256 = "sha256-BnRhVwPcWFwiBJ2ySgiiuUdnF4gesnTq1/dLcuvc868=";
   };
 in
 
 buildPythonPackage rec {
   pname = "ibis-framework";
-  version = "2.1.1";
+  version = "3.0.2";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     repo = "ibis";
     owner = "ibis-project";
     rev = version;
-    hash = "sha256-n3fR6wvcSfIo7760seB+5SxtoYSqQmqkzZ9VlNQF200=";
+    hash = "sha256-7ywDMAHQAl39kiHfxVkq7voUEKqbb9Zq8qlaug7+ukI=";
   };
 
   nativeBuildInputs = [ poetry-core ];
@@ -68,65 +72,48 @@ buildPythonPackage rec {
     cached-property
     clickhouse-driver
     dask
+    datafusion
+    duckdb
+    duckdb-engine
     graphviz
+    importlib-metadata
     multipledispatch
     numpy
     pandas
     parsy
+    poetry-dynamic-versioning
     pyarrow
+    pydantic
     pytz
     regex
     requests
     sqlalchemy
-    tables
+    tabulate
     toolz
-  ] ++ lib.optionals (pythonOlder "3.8" && lib.versionOlder version "3.0.0") [
-    importlib-metadata
   ];
 
   checkInputs = [
     pytestCheckHook
     click
-    pytest
+    pytest-benchmark
     pytest-mock
     pytest-xdist
+    sqlite
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'atpublic = ">=2.3,<3"' 'atpublic = ">=2.3"' \
-      --replace 'regex = "^2021.7.6"' 'regex = "*"'
-  '';
-
   preBuild = ''
     # setup.py exists only for developer convenience and is automatically generated
     rm setup.py
   '';
 
-  disabledTests = [
-    # These tests are broken upstream: https://github.com/ibis-project/ibis/issues/3291
-    "test_summary_numeric"
-    "test_summary_non_numeric"
-    "test_batting_most_hits"
-    "test_join_with_window_function"
-    "test_where_long"
-    "test_quantile_groupby"
-    "test_summary_numeric"
-    "test_summary_numeric_group_by"
-    "test_summary_non_numeric"
-    "test_searched_case_column"
-    "test_simple_case_column"
-    "test_summary_non_numeric_group_by"
-  ];
-
   pytestFlagsArray = [
-    "ibis/tests"
-    "ibis/backends/tests"
-    "ibis/backends/{${lib.concatStringsSep "," backends}}/tests"
+    "--dist=loadgroup"
+    "-m"
+    "'${lib.concatStringsSep " or " backends} or core'"
   ];
 
   preCheck = ''
-    set -euo pipefail
+    set -eo pipefail
 
     export IBIS_TEST_DATA_DIRECTORY
     IBIS_TEST_DATA_DIRECTORY="$(mktemp -d)"
@@ -138,13 +125,13 @@ buildPythonPackage rec {
     find "$IBIS_TEST_DATA_DIRECTORY" -type f -exec chmod u+rw {} +
 
     # load data
-    for backend in ${backendsString}; do
-      python ci/datamgr.py "$backend" &
+    for backend in ${lib.concatStringsSep " " backends}; do
+      ${python.interpreter} ci/datamgr.py load "$backend"
     done
+  '';
 
-    wait
-  '' + lib.optionalString (lib.versionOlder version "3.0.0") ''
-    export PYTEST_BACKENDS="${backendsString}"
+  postCheck = ''
+    rm -r "$IBIS_TEST_DATA_DIRECTORY"
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix
index 18a12fe9e19..5fb9c1a0e9b 100644
--- a/pkgs/development/python-modules/identify/default.nix
+++ b/pkgs/development/python-modules/identify/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "2.4.12";
+  version = "2.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pre-commit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kXhUlt+lcqK3ohOA8eziFcrm4U/FAYWpie4rH5xRejI=";
+    sha256 = "sha256-gbR2z4mo5EFHS2N3pg5mwFQAfL9ysqYaC+tSSYBK7YI=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/ihatemoney/default.nix b/pkgs/development/python-modules/ihatemoney/default.nix
index d351f1ca7d4..5092175b50c 100644
--- a/pkgs/development/python-modules/ihatemoney/default.nix
+++ b/pkgs/development/python-modules/ihatemoney/default.nix
@@ -1,6 +1,6 @@
-{ buildPythonPackage
-, lib
-, isPy27
+{ lib
+, buildPythonPackage
+, pythonOlder
 , nixosTests
 , fetchPypi
 , alembic
@@ -29,7 +29,6 @@
 , python-dateutil
 , pytz
 , requests
-, six
 , sqlalchemy
 , sqlalchemy-utils
 , sqlalchemy-continuum
@@ -37,82 +36,85 @@
 , werkzeug
 , wtforms
 , psycopg2 # optional, for postgresql support
-, flask_testing
+, flask-testing
 , pytestCheckHook
-, fetchpatch
 }:
 
 buildPythonPackage rec {
   pname = "ihatemoney";
-  version = "5.1.1";
+  version = "5.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gsqba9qbs1dpmfys8qpiahy4pbn4khcc6mgmdnhssmkjsb94sx6";
+    sha256 = "sha256-uQgZBbpqqbZYHpR+GwHWX0c7di2rVvEz0jPRY6+BkkQ=";
   };
 
-  disabled = isPy27;
-
   propagatedBuildInputs = [
     aniso8601
     Babel
     blinker
     cachetools
     click
+    debts
     dnspython
     email_validator
     flask
-    flask-babel
-    flask-cors
     flask_mail
     flask_migrate
+    flask_wtf
+    flask-babel
+    flask-cors
     flask-restful
     flask-talisman
-    flask_wtf
     idna
     itsdangerous
     jinja2
     Mako
     markupsafe
+    psycopg2
     python-dateutil
     pytz
     requests
-    six
+    sqlalchemy
     sqlalchemy-continuum
     werkzeug
     wtforms
-    psycopg2
-    debts
-  ];
-
-  patches = [
-    # fix build with wtforms 3. remove with next release
-    (fetchpatch {
-      url = "https://github.com/spiral-project/ihatemoney/commit/40ce32d9fa58a60d26a4d0df547b8deb709c330d.patch";
-      sha256 = "sha256-2ewOu21qhq/AOZaE9qrF5J6HH0h6ohFgjDb+BYjJnuQ=";
-      excludes = [ "setup.cfg" ];
-    })
   ];
 
   postPatch = ''
     substituteInPlace setup.cfg \
       --replace "cachetools>=4.1,<5" "cachetools>=4.1" \
-      --replace "Flask-WTF>=0.14.3,<1" "Flask-WTF>=0.14.3,<2" \
       --replace "SQLAlchemy>=1.3.0,<1.4" "SQLAlchemy>=1.3.0,<1.5" \
-      --replace "WTForms>=2.3.1,<2.4" "WTForms"
+      --replace "WTForms>=2.3.1,<3.1" "WTForms"
   '';
 
   checkInputs = [
-    flask_testing
+    flask-testing
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "ihatemoney" ];
+  pythonImportsCheck = [
+    "ihatemoney"
+  ];
 
   disabledTests = [
-    "test_notifications"  # requires running service.
-    "test_invite"         # requires running service.
-    "test_invitation_email_failure" # requires dns resolution
+    # Requires running service
+    "test_notifications"
+    "test_invite"
+    "test_access_other_projects"
+    "test_authentication"
+    "test_manage_bills"
+    "test_member_delete_method"
+    "test_membership"
+    "test_bill_add_remove_add"
+    "test_clear_ip_records"
+    "test_disable_clear_no_new_records"
+    "test_logs_for_common_actions"
+    # Requires DNS resolution
+    "test_invitation_email_failure"
   ];
 
   passthru.tests = {
@@ -120,9 +122,9 @@ buildPythonPackage rec {
   };
 
   meta = with lib; {
+    description = "Shared budget manager web application";
     homepage = "https://ihatemoney.org";
-    description = "A simple shared budget manager web application";
     license = licenses.beerware;
-    maintainers = [ maintainers.symphorien ];
+    maintainers = with maintainers; [ symphorien ];
   };
 }
diff --git a/pkgs/development/python-modules/impacket/default.nix b/pkgs/development/python-modules/impacket/default.nix
index 6b6f7e452b2..cc957ac156a 100644
--- a/pkgs/development/python-modules/impacket/default.nix
+++ b/pkgs/development/python-modules/impacket/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "impacket";
-  version = "0.9.24";
+  version = "0.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GNVX04f0kU+vpzmBO5FyvD+L2cA26Tv1iajg67cwS7o=";
+    hash = "sha256-uOsCCiy7RxRmac/jHGS7Ln1kmdBJxJPWQYuXFvXHRYM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix b/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix
new file mode 100644
index 00000000000..646ffec6552
--- /dev/null
+++ b/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "insteon-frontend-home-assistant";
+  version = "0.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "70ee413cae8717416f5add1be7647158d8ff4303942dafccac0792ef44336cdf";
+  };
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "insteon_frontend" ];
+
+  meta = {
+    description = "The Insteon frontend for Home Assistant";
+    homepage = "https://github.com/teharris1/insteon-panel";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/intellifire4py/default.nix b/pkgs/development/python-modules/intellifire4py/default.nix
index b93b9b9c957..f8cbd93bb35 100644
--- a/pkgs/development/python-modules/intellifire4py/default.nix
+++ b/pkgs/development/python-modules/intellifire4py/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "intellifire4py";
-  version = "1.0.2";
+  version = "1.0.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "jeeftor";
     repo = pname;
     rev = version;
-    hash = "sha256-t3wJQ7dXX65yqxMYsFggViqqGvLCdASw1QLc5DJBn+4=";
+    hash = "sha256-wBk9tCVXDxHBnhofFQfMbsrYF4UYRZ2oXEBCldvJTnM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/intensity-normalization/default.nix b/pkgs/development/python-modules/intensity-normalization/default.nix
index 86bc21c488d..94d6252e3c0 100644
--- a/pkgs/development/python-modules/intensity-normalization/default.nix
+++ b/pkgs/development/python-modules/intensity-normalization/default.nix
@@ -58,5 +58,7 @@ buildPythonPackage rec {
     description = "MRI intensity normalization tools";
     maintainers = with maintainers; [ bcdarwin ];
     license = licenses.asl20;
+    # depends on simpleitk python wrapper which is not packaged yet
+    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/ipython-sql/default.nix b/pkgs/development/python-modules/ipython-sql/default.nix
new file mode 100644
index 00000000000..1a86ae238be
--- /dev/null
+++ b/pkgs/development/python-modules/ipython-sql/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, ipython
+, ipython_genutils
+, pandas
+, prettytable
+, pytest
+, sqlalchemy
+, sqlparse
+}:
+buildPythonPackage rec {
+  pname = "ipython-sql";
+  version = "0.4.0";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "catherinedevlin";
+    repo = "ipython-sql";
+    rev = "117764caf099d80100ed4b09fc004b55eed6f121";
+    hash = "sha256-ScQihsvRSnC7VIgy8Tzi1z4x6KIZo0SAeLPvHAVdrfA=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace 'prettytable<1' prettytable
+  '';
+
+  propagatedBuildInputs = [
+    ipython
+    ipython_genutils
+    prettytable
+    sqlalchemy
+    sqlparse
+  ];
+
+  checkInputs = [ ipython pandas pytest ];
+
+  checkPhase = ''
+    runHook preCheck
+
+    # running with ipython is required because the tests use objects available
+    # only inside of ipython, for example the global `get_ipython()` function
+    ipython -c 'import pytest; pytest.main()'
+
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [ "sql" ];
+
+  meta = with lib; {
+    description = "Introduces a %sql (or %%sql) magic.";
+    homepage = "https://github.com/catherinedevlin/ipython-sql";
+    license = licenses.mit;
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/pkgs/development/python-modules/ismartgate/default.nix b/pkgs/development/python-modules/ismartgate/default.nix
index 83d29173243..943036ecbd4 100644
--- a/pkgs/development/python-modules/ismartgate/default.nix
+++ b/pkgs/development/python-modules/ismartgate/default.nix
@@ -18,13 +18,15 @@
 buildPythonPackage rec {
   pname = "ismartgate";
   version = "4.0.4";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yh7gPyy3VMdyINBCZo5K2wA0BY7yYgHrKGZRB/pm77U=";
+    hash = "sha256-yh7gPyy3VMdyINBCZo5K2wA0BY7yYgHrKGZRB/pm77U=";
   };
 
   propagatedBuildInputs = [
@@ -49,7 +51,15 @@ buildPythonPackage rec {
       --replace '"pytest-runner>=5.2",' ""
   '';
 
-  pythonImportsCheck = [ "ismartgate" ];
+  pythonImportsCheck = [
+    "ismartgate"
+  ];
+
+  disabledTestPaths = [
+    # Tests are out-dated
+    "ismartgate/tests/test_init.py"
+  ];
+
 
   meta = with lib; {
     description = "Python module to work with the ismartgate and gogogate2 API";
diff --git a/pkgs/development/python-modules/isoduration/default.nix b/pkgs/development/python-modules/isoduration/default.nix
new file mode 100644
index 00000000000..16bb9b13bf8
--- /dev/null
+++ b/pkgs/development/python-modules/isoduration/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, arrow
+, buildPythonPackage
+, fetchFromGitHub
+, hypothesis
+, isodate
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "isoduration";
+  version = "20.11.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "bolsote";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-6LqsH+3V/K0s2YD1gvmelo+cCH+yCAmmyTYGhUegVdk=";
+  };
+
+  propagatedBuildInputs = [
+    arrow
+  ];
+
+  checkInputs = [
+    hypothesis
+    isodate
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # We don't care about benchmarks
+    "tests/test_benchmark.py"
+  ];
+
+  pythonImportsCheck = [
+    "isoduration"
+  ];
+
+  meta = with lib; {
+    description = "Library for operations with ISO 8601 durations";
+    homepage = "https://github.com/bolsote/isoduration";
+    license = licenses.isc;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/jc/default.nix b/pkgs/development/python-modules/jc/default.nix
index 11534126a18..d7f8e6c5a1b 100644
--- a/pkgs/development/python-modules/jc/default.nix
+++ b/pkgs/development/python-modules/jc/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "jc";
-  version = "1.18.6";
+  version = "1.18.8";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "kellyjonbrazil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yk6Rg9DwilG8OWmT7SF80eYRsRwDwJp+mx2Yv2Gg+ak=";
+    sha256 = "sha256-tZrvWMt0qdOFTNeL99mZGFl8bVDGCqj25zVl7QvXQLw=";
   };
 
   propagatedBuildInputs = [ ruamel-yaml xmltodict pygments ];
diff --git a/pkgs/development/python-modules/jedi-language-server/default.nix b/pkgs/development/python-modules/jedi-language-server/default.nix
index 4603b8708c4..31e45176218 100644
--- a/pkgs/development/python-modules/jedi-language-server/default.nix
+++ b/pkgs/development/python-modules/jedi-language-server/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "jedi-language-server";
-  version = "0.35.1";
+  version = "0.36.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pappasam";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-+bhvWWiG0cA36oc2PFvgRTIvqnjIt5BUN82DY0tvuPo=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-PTLzZu3CZincY4zxN+/GUryTzWre595W+kztgCXTueo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jeepney/default.nix b/pkgs/development/python-modules/jeepney/default.nix
index 3079f152e44..6ec1fb811cf 100644
--- a/pkgs/development/python-modules/jeepney/default.nix
+++ b/pkgs/development/python-modules/jeepney/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, flit-core
 , async-timeout
 , dbus
 , pytest
@@ -13,15 +14,21 @@
 
 buildPythonPackage rec {
   pname = "jeepney";
-  version = "0.7.1";
+  version = "0.8.0";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
+
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fa9e232dfa0c498bd0b8a3a73b8d8a31978304dcef0515adc859d4e096f96f4f";
+    sha256 = "5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   checkInputs = [
     async-timeout
     dbus
diff --git a/pkgs/development/python-modules/json-schema-for-humans/default.nix b/pkgs/development/python-modules/json-schema-for-humans/default.nix
index 8fb0e2dd40c..6be5da3fda5 100644
--- a/pkgs/development/python-modules/json-schema-for-humans/default.nix
+++ b/pkgs/development/python-modules/json-schema-for-humans/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "json-schema-for-humans";
-  version = "0.40";
+  version = "0.40.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "coveooss";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-H0jvOnrWE4/xxRYNehshHBRNc/qLX1+sCV7O1ACCdew=";
+    hash = "sha256-9bHylNG+YT+tZmqE8DJMbhpPPaany29+0sIt1jKmFLg=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/jsonrpc-async/default.nix b/pkgs/development/python-modules/jsonrpc-async/default.nix
index 9a53e852f1a..622c84988a4 100644
--- a/pkgs/development/python-modules/jsonrpc-async/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-async/default.nix
@@ -1,34 +1,55 @@
 { lib
+, aiohttp
 , buildPythonPackage
 , fetchFromGitHub
-, aiohttp
+, fetchpatch
 , jsonrpc-base
 , pytest-aiohttp
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "jsonrpc-async";
-  version = "2.0.0";
+  version = "2.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "emlove";
     repo = pname;
     rev = version;
-    sha256 = "1ff3523rwgira5llmf5iriwqag7b6ln9vmj0s70yyc6k98yg06rp";
+    hash = "sha256-Lr8gvQR0Q46b/e1K/XyvqtJo18nBpHjlDdNq4vjCMyU=";
   };
 
-  propagatedBuildInputs = [ aiohttp jsonrpc-base ];
+  propagatedBuildInputs = [
+    aiohttp
+    jsonrpc-base
+  ];
 
   checkInputs = [
     pytest-aiohttp
     pytestCheckHook
   ];
 
+  patches = [
+    # Fix tests with later pytest-aiohttp, https://github.com/emlove/jsonrpc-async/pull/9
+    (fetchpatch {
+      name = "support-later-pytest-aiohttp.patch";
+      url = "https://github.com/emlove/jsonrpc-async/commit/8b790f23af0d898df90460029d5ba3bcfb0423ed.patch";
+      sha256 = "sha256-rthHRF90hywMIbvIHo3Do/uzXKe+STPOoZIa80H4b/g=";
+    })
+  ];
+
   pytestFlagsArray = [
     "tests.py"
   ];
 
+  pythonImportsCheck = [
+    "jsonrpc_async"
+  ];
+
   meta = with lib; {
     description = "A JSON-RPC client library for asyncio";
     homepage = "https://github.com/emlove/jsonrpc-async";
diff --git a/pkgs/development/python-modules/jsonrpc-base/default.nix b/pkgs/development/python-modules/jsonrpc-base/default.nix
index 62fbf0130cb..bdcdda0f41e 100644
--- a/pkgs/development/python-modules/jsonrpc-base/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-base/default.nix
@@ -3,17 +3,21 @@
 , fetchFromGitHub
 , pytest-asyncio
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "jsonrpc-base";
   version = "2.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "emlove";
     repo = pname;
     rev = version;
-    sha256 = "1cd83m831ngck2v8m08pb2g29z4vr9iggi73l7h506v6clkb4n3y";
+    hash = "sha256-fliyJmVmG1DgoePE92LKm/wknlgXgYq2mOzZMFAdqLE=";
   };
 
   checkInputs = [
@@ -25,6 +29,10 @@ buildPythonPackage rec {
     "tests.py"
   ];
 
+  pythonImportsCheck = [
+    "jsonrpc_base"
+  ];
+
   meta = with lib; {
     description = "A JSON-RPC client library base interface";
     homepage = "https://github.com/emlove/jsonrpc-base";
diff --git a/pkgs/development/python-modules/jug/default.nix b/pkgs/development/python-modules/jug/default.nix
index 3c805b4eca5..1dea4743cdb 100644
--- a/pkgs/development/python-modules/jug/default.nix
+++ b/pkgs/development/python-modules/jug/default.nix
@@ -1,33 +1,46 @@
-{ lib, buildPythonPackage, fetchPypi, nose, numpy
-, bottle, pyyaml, redis, six
-, zlib
-, pytestCheckHook }:
+{ lib
+, bottle
+, buildPythonPackage
+, fetchPypi
+, numpy
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, redis
+}:
 
 buildPythonPackage rec {
-  pname = "Jug";
-  version = "2.1.1";
-  buildInputs = [ nose numpy ];
+  pname = "jug";
+  version = "2.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "Jug";
+    inherit version;
+    hash = "sha256-2Y9xRr5DyV9UqG6tiq9rYET2Z7LaPXfzwYKKGwR3OSs=";
+  };
+
   propagatedBuildInputs = [
     bottle
+  ];
+
+  checkInputs = [
+    numpy
+    pytestCheckHook
     pyyaml
     redis
-    six
-
-    zlib
   ];
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "8ae7bb45d4495cf3d0dc5dd9df104a35bba2ca83eb4576732cadf8469e7cf1a1";
-  };
-
-  checkInputs = [ pytestCheckHook ];
-  pythonImportsCheck = [ "jug" ];
+  pythonImportsCheck = [
+    "jug"
+  ];
 
   meta = with lib; {
     description = "A Task-Based Parallelization Framework";
-    license = licenses.mit;
     homepage = "https://jug.readthedocs.io/";
+    license = licenses.mit;
     maintainers = with maintainers; [ luispedro ];
   };
 }
diff --git a/pkgs/development/python-modules/jupyterlab_server/default.nix b/pkgs/development/python-modules/jupyterlab_server/default.nix
index bcd06ebffb3..e612cfaeab0 100644
--- a/pkgs/development/python-modules/jupyterlab_server/default.nix
+++ b/pkgs/development/python-modules/jupyterlab_server/default.nix
@@ -25,7 +25,11 @@ buildPythonPackage rec {
   };
 
   postPatch = ''
-    sed -i "/^addopts/d" pyproject.toml
+    substituteInPlace pyproject.toml \
+      --replace "--cov jupyterlab_server --cov-report term-missing --cov-report term:skip-covered" ""
+
+    # translation tests try to install additional packages into read only paths
+    rm -r tests/translations/
   '';
 
   propagatedBuildInputs = [ requests jsonschema pyjson5 Babel jupyter_server ];
@@ -37,8 +41,6 @@ buildPythonPackage rec {
     ruamel-yaml
   ];
 
-  pytestFlagsArray = [ "--pyargs" "jupyterlab_server" ];
-
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/jwcrypto/default.nix b/pkgs/development/python-modules/jwcrypto/default.nix
index ca7319eeb1f..4a6bd63c765 100644
--- a/pkgs/development/python-modules/jwcrypto/default.nix
+++ b/pkgs/development/python-modules/jwcrypto/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "jwcrypto";
-  version = "1.0";
+  version = "1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f88816eb0a41b8f006af978ced5f171f33782525006cdb055b536a40f4d46ac9";
+    sha256 = "sha256-7fQwkyFyHlFhzvzN1ksEUJ4Dkk/q894IW0d4B2WYmuM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/labgrid/default.nix b/pkgs/development/python-modules/labgrid/default.nix
index c95acdf68e3..2032eb33d60 100644
--- a/pkgs/development/python-modules/labgrid/default.nix
+++ b/pkgs/development/python-modules/labgrid/default.nix
@@ -6,6 +6,7 @@
 , jinja2
 , lib
 , mock
+, packaging
 , pexpect
 , psutil
 , pyserial
@@ -44,6 +45,7 @@ buildPythonPackage rec {
     attrs
     autobahn
     jinja2
+    packaging
     pexpect
     pyserial
     pyudev
diff --git a/pkgs/development/python-modules/lektor/default.nix b/pkgs/development/python-modules/lektor/default.nix
index 020506d5191..600304f48a1 100644
--- a/pkgs/development/python-modules/lektor/default.nix
+++ b/pkgs/development/python-modules/lektor/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "lektor";
-  version = "3.3.3";
+  version = "3.3.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     owner = "lektor";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-3jPN4VQdIUVjSSGJxPek2RrnXzCwkDxoEBqk4vuL+nc=";
+    hash = "sha256-9Zd+N6FkvRuW7rptWAr3JLIARXwJDcocxAp/ZCTQ3Hw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/libtmux/default.nix b/pkgs/development/python-modules/libtmux/default.nix
index 7a7e116aa22..74515e1c139 100644
--- a/pkgs/development/python-modules/libtmux/default.nix
+++ b/pkgs/development/python-modules/libtmux/default.nix
@@ -3,19 +3,20 @@
 , buildPythonPackage
 , poetry-core
 , pytestCheckHook
-, pkgs
+, procps
+, tmux
 }:
 
 buildPythonPackage rec {
   pname = "libtmux";
-  version = "0.10.3";
+  version = "0.11.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "tmux-python";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256:0syj8m4x2mcq96b76b7h75dsmcai22m15pfgkk90rpg7rp6sn772";
+    hash = "sha256-QbKqS40la6UGZENyGEw5kXigzexp3q7ff43fKlQ9GqE=";
   };
 
   nativeBuildInputs = [
@@ -23,8 +24,9 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pkgs.procps
-    pkgs.tmux
+    procps
+    tmux
+
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/lightwave2/default.nix b/pkgs/development/python-modules/lightwave2/default.nix
index 4501eb664e9..f5e341fc43a 100644
--- a/pkgs/development/python-modules/lightwave2/default.nix
+++ b/pkgs/development/python-modules/lightwave2/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "lightwave2";
-  version = "0.8.4";
+  version = "0.8.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-WB5U8VjUKx2hCcJX2JeFgEiwzweGzROEK3pox3l/wrE=";
+    sha256 = "sha256-FKEUpfHnPwiLwC8fk+6AikviZKX7DBoWpSMxK1cHC2Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/limnoria/default.nix b/pkgs/development/python-modules/limnoria/default.nix
index 27550c30dbf..b0672c012a9 100644
--- a/pkgs/development/python-modules/limnoria/default.nix
+++ b/pkgs/development/python-modules/limnoria/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "limnoria";
-  version = "2022.3.17";
+  version = "2022.4.22";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-sSZFbEDlkc+F0PIwvseVEBoQQZVTFypW2nvLmPDD4u0=";
+    hash = "sha256-NKRxt25uvMBvSpY8vk4Vr56NmnW2VTpOLBHUzM2j/yc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/loo-py/default.nix b/pkgs/development/python-modules/loopy/default.nix
index d16b06a284a..75d250ad03d 100644
--- a/pkgs/development/python-modules/loo-py/default.nix
+++ b/pkgs/development/python-modules/loopy/default.nix
@@ -1,51 +1,55 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, pytools
-, pymbolic
-, genpy
+, codepy
 , cgen
-, islpy
-, six
 , colorama
+, fetchFromGitHub
+, genpy
+, islpy
 , mako
+, numpy
+, pymbolic
 , pyopencl
-, pytest
+, pyrsistent
+, pythonOlder
+, pytools
 }:
 
 buildPythonPackage rec {
-  pname = "loo-py";
-  version = "2020.2";
+  pname = "loopy";
+  version = "2020.2.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    pname = "loo.py";
-    inherit version;
-    sha256 = "c0aba31f8b61f6487e84120a154fab862d19c3b374ad4285b987c4f2d746d51f";
+  src = fetchFromGitHub {
+    owner = "inducer";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-GL2GY3fbP9yMEQYyuh4CRHpeN9DGnZxbMt6jC+O/C0g=";
   };
 
-  checkInputs = [ pytest ];
   propagatedBuildInputs = [
-    pytools
-    pymbolic
-    genpy
+    codepy
     cgen
-    islpy
-    six
     colorama
+    genpy
+    islpy
     mako
+    numpy
+    pymbolic
     pyopencl
+    pyrsistent
+    pytools
   ];
 
   # pyopencl._cl.LogicError: clGetPlatformIDs failed: PLATFORM_NOT_FOUND_KHR
   doCheck = false;
-  checkPhase = ''
-    HOME=$(mktemp -d) pytest test
-  '';
 
   meta = with lib; {
     description = "A code generator for array-based code on CPUs and GPUs";
-    homepage = "https://mathema.tician.de/software/loopy";
+    homepage = "https://github.com/inducer/loopy";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/luxtronik/default.nix b/pkgs/development/python-modules/luxtronik/default.nix
index 7f7225bdb92..e8c72a5cf4c 100644
--- a/pkgs/development/python-modules/luxtronik/default.nix
+++ b/pkgs/development/python-modules/luxtronik/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "luxtronik";
-  version = "0.3.12";
+  version = "0.3.13";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Bouni";
     repo = "python-luxtronik";
     rev = version;
-    sha256 = "sha256-qQwMahZ3EzXzI7FyTL71WzDpLqmIgVYxiJ0IGvlw8dY=";
+    sha256 = "sha256-ULpi3oNJJe8H9z1C1nCNsR5eMmXQnXtbonrV9Ec2NyY=";
   };
 
   # Project has no tests
diff --git a/pkgs/development/python-modules/mailchecker/default.nix b/pkgs/development/python-modules/mailchecker/default.nix
index 61e4c3d21f0..b62d4a67e75 100644
--- a/pkgs/development/python-modules/mailchecker/default.nix
+++ b/pkgs/development/python-modules/mailchecker/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "mailchecker";
-  version = "4.1.15";
+  version = "4.1.16";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-DOtLJKNvmj5dlveZX9sScfJZa3SY7GH7xfZHhIsybVQ=";
+    hash = "sha256-A+lh+BggMSJ/PIcYMfX3u/YlKVqhG5IxbrHPb1U6Ll4=";
   };
 
   # Module has no tests
diff --git a/pkgs/development/python-modules/marshmallow-dataclass/default.nix b/pkgs/development/python-modules/marshmallow-dataclass/default.nix
index 4b36ee9b74e..32a490822d2 100644
--- a/pkgs/development/python-modules/marshmallow-dataclass/default.nix
+++ b/pkgs/development/python-modules/marshmallow-dataclass/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "marshmallow-dataclass";
-  version = "8.5.3";
+  version = "8.5.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "lovasoa";
     repo = "marshmallow_dataclass";
     rev = "v${version}";
-    sha256 = "0mngkjfs2nxxr0y77n429hb22rmjxbnn95j4vwqr9y6q16bqxs0w";
+    sha256 = "sha256-3kd/V3U3+/HfUmzwkp3/ChwSjknQ8rIYnTUsRH3WoP4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mat2/default.nix b/pkgs/development/python-modules/mat2/default.nix
index 1d5a76b7b80..e8b514bc45a 100644
--- a/pkgs/development/python-modules/mat2/default.nix
+++ b/pkgs/development/python-modules/mat2/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "mat2";
-  version = "0.12.3";
+  version = "0.12.4";
 
   disabled = pythonOlder "3.5";
 
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "jvoisin";
     repo = "mat2";
     rev = version;
-    hash = "sha256-TW+FwlZ+J1tanPL5WuwXtZJmtYB9LaimeIaPlN/jzqo=";
+    hash = "sha256-HjPr4pb0x2Sdq8ALaZeQRnGHmNAoEV8XUGbhOjY00jc=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/mautrix/default.nix b/pkgs/development/python-modules/mautrix/default.nix
index 683b3c099e0..9fafec281dd 100644
--- a/pkgs/development/python-modules/mautrix/default.nix
+++ b/pkgs/development/python-modules/mautrix/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "mautrix";
-  version = "0.14.10";
+  version = "0.16.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-mO0bKUepIjb50UKEOvFIaepHAskehkBajevsTRST8e4=";
+    sha256 = "sha256-OpHLh5pCzGooQ5yxAa0+85m/szAafV+l+OfipQcfLtU=";
   };
 
   propagatedBuildInputs = [
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     lxml
   ];
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   # no tests available
   doCheck = false;
diff --git a/pkgs/development/python-modules/meater-python/default.nix b/pkgs/development/python-modules/meater-python/default.nix
new file mode 100644
index 00000000000..219af570dfe
--- /dev/null
+++ b/pkgs/development/python-modules/meater-python/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "meater-python";
+  version = "0.0.8";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-86XJmKOc2MCyU9v0UAZsPCUL/kAXywOlQOIHaykNF1o=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "meater"
+  ];
+
+  meta = with lib; {
+    description = "Library for the Apption Labs Meater cooking probe";
+    homepage = "https://github.com/Sotolotl/meater-python";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/meshtastic/default.nix b/pkgs/development/python-modules/meshtastic/default.nix
index 4c92063de66..596b622f679 100644
--- a/pkgs/development/python-modules/meshtastic/default.nix
+++ b/pkgs/development/python-modules/meshtastic/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "meshtastic";
-  version = "1.2.93";
+  version = "1.2.95";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "meshtastic";
     repo = "Meshtastic-python";
     rev = version;
-    sha256 = "sha256-4jh5AYjr1qnr3nOeJSLwtAzdPlmpW1BBrEXfB86NrL0=";
+    sha256 = "sha256-CMw7PbM82AjbhrCYnRuxF9WFJqr6gvCEkTyG2vKM7FM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mkdocs-material/default.nix b/pkgs/development/python-modules/mkdocs-material/default.nix
index 41eff2026b9..a0df1000892 100644
--- a/pkgs/development/python-modules/mkdocs-material/default.nix
+++ b/pkgs/development/python-modules/mkdocs-material/default.nix
@@ -1,21 +1,28 @@
-{ lib, callPackage, buildPythonApplication, fetchFromGitHub
+{ lib
+, callPackage
+, buildPythonApplication
+, fetchFromGitHub
 , jinja2
 , markdown
 , mkdocs
 , mkdocs-material-extensions
 , pygments
 , pymdown-extensions
+, pythonOlder
 }:
 
 buildPythonApplication rec {
   pname = "mkdocs-material";
-  version = "8.2.9";
+  version = "8.2.11";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "squidfunk";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-lrklTQWWsP1rjixqu5/S7XMN+K095NRGv3JkjRQ4brM=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-YAXdIA36QWwdQxTux6Sy/F0j8lprSO+5/VezFcsGQYg=";
   };
 
   propagatedBuildInputs = [
@@ -30,7 +37,9 @@ buildPythonApplication rec {
   # No tests for python
   doCheck = false;
 
-  pythonImportsCheck = [ "mkdocs" ];
+  pythonImportsCheck = [
+    "mkdocs"
+  ];
 
   meta = with lib; {
     description = "Material for mkdocs";
diff --git a/pkgs/development/python-modules/mkdocs-minify/default.nix b/pkgs/development/python-modules/mkdocs-minify/default.nix
new file mode 100644
index 00000000000..0beeb516416
--- /dev/null
+++ b/pkgs/development/python-modules/mkdocs-minify/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, callPackage
+, buildPythonApplication
+, fetchFromGitHub
+, mkdocs
+, csscompressor
+, htmlmin
+, jsmin
+}:
+
+buildPythonApplication rec {
+  pname = "mkdocs-minify";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "byrnereese";
+    repo = "${pname}-plugin";
+    rev = version;
+    sha256 = "sha256-7v4uX711KAKuXFeVdLuIdGQi2i+dL4WX7+Zd4H1L3lM=";
+  };
+
+  propagatedBuildInputs = [
+    csscompressor
+    htmlmin
+    jsmin
+    mkdocs
+  ];
+
+  pythonImportsCheck = [ "mkdocs" ];
+
+  meta = with lib; {
+    description = "A mkdocs plugin to minify the HTML of a page before it is written to disk.";
+    homepage = "https://github.com/byrnereese/mkdocs-minify-plugin";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tfc ];
+  };
+}
diff --git a/pkgs/development/python-modules/mkdocs-redirects/default.nix b/pkgs/development/python-modules/mkdocs-redirects/default.nix
new file mode 100644
index 00000000000..44d3ac83a67
--- /dev/null
+++ b/pkgs/development/python-modules/mkdocs-redirects/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, callPackage
+, buildPythonApplication
+, fetchFromGitHub
+, mkdocs
+}:
+
+buildPythonApplication rec {
+  pname = "mkdocs-redirects";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "mkdocs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-hdMfl8j+kZzePkSd/bBHKuVXAVA1sAt7DvPZj9x5i0c=";
+  };
+
+  propagatedBuildInputs = [
+    mkdocs
+  ];
+
+  pythonImportsCheck = [ "mkdocs" ];
+
+  meta = with lib; {
+    description = "Open source plugin for Mkdocs page redirects";
+    homepage = "https://github.com/mkdocs/mkdocs-redirects";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tfc ];
+  };
+}
diff --git a/pkgs/development/python-modules/mocket/default.nix b/pkgs/development/python-modules/mocket/default.nix
index 1a0b7ee907b..d5fe44b37e7 100644
--- a/pkgs/development/python-modules/mocket/default.nix
+++ b/pkgs/development/python-modules/mocket/default.nix
@@ -19,12 +19,12 @@
 
 buildPythonPackage rec {
   pname = "mocket";
-  version = "3.10.4";
+  version = "3.10.5";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "831c23bf891c525828b7da49a358c6e0698481e4c8b3a61a69e87f36d06ef969";
+    sha256 = "sha256-rF6ol5T6wH0nNmaP+lHQL8H+XZz1kl7OEe7NNO4MCtw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/monty/default.nix b/pkgs/development/python-modules/monty/default.nix
index ea95e2b2d85..8e115bf3a18 100644
--- a/pkgs/development/python-modules/monty/default.nix
+++ b/pkgs/development/python-modules/monty/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "monty";
-  version = "2022.1.19";
+  version = "2022.4.26";
   disabled = pythonOlder "3.5"; # uses type annotations
 
   src = fetchFromGitHub {
     owner = "materialsvirtuallab";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-CGYYPpXRBvqf6GJYYZUARpzt4XFc5uAw91n21UInYpU=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-SQku10nzTSuO5ISUDyDKAEoMhBBxPzyLNhoAyrlKH+E=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/murmurhash/default.nix b/pkgs/development/python-modules/murmurhash/default.nix
index a5f414cad54..23587889f6a 100644
--- a/pkgs/development/python-modules/murmurhash/default.nix
+++ b/pkgs/development/python-modules/murmurhash/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "murmurhash";
-  version = "1.0.6";
+  version = "1.0.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00a5252b569d3f914b5bd0bce72d2efe9c0fb91a9703556ea1b608b141c68f2d";
+    sha256 = "sha256-Ywo5br0xykTYm07KNvp06oquckrfCvqi3naAw1Cyk28=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/mutmut/default.nix b/pkgs/development/python-modules/mutmut/default.nix
index ae0f06213a8..626c768f2a8 100644
--- a/pkgs/development/python-modules/mutmut/default.nix
+++ b/pkgs/development/python-modules/mutmut/default.nix
@@ -7,7 +7,7 @@
 , pony
 , junit-xml
 , pythonOlder
-, testVersion
+, testers
 }:
 
 let self = buildPythonApplication rec {
@@ -31,7 +31,7 @@ let self = buildPythonApplication rec {
 
   propagatedBuildInputs = [ click glob2 parso pony junit-xml ];
 
-  passthru.tests.version = testVersion { package = self; };
+  passthru.tests.version = testers.testVersion { package = self; };
 
   meta = with lib; {
     description = "mutation testing system for Python, with a strong focus on ease of use";
diff --git a/pkgs/development/python-modules/mwdblib/default.nix b/pkgs/development/python-modules/mwdblib/default.nix
index 96c3f193396..db81e951cf2 100644
--- a/pkgs/development/python-modules/mwdblib/default.nix
+++ b/pkgs/development/python-modules/mwdblib/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "mwdblib";
-  version = "4.1.0";
+  version = "4.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "CERT-Polska";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-afqE6zL1uwsLNAuy5XY7OduP1e3W2ueteOOVaFJg3b0=";
+    hash = "sha256-Wkqvi/buYKDoGi+4C9zkxWEiGynk9Ds8gLsdoaZCdKg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mypy-boto3-s3/default.nix b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
index fe0933f7bd9..a329d5ab9e5 100644
--- a/pkgs/development/python-modules/mypy-boto3-s3/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-s3";
-  version = "1.21.34";
+  version = "1.22.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-gXvMC+GZknL+jYG9ZQD1/dqRhMwXrZvXG8CvCFYxdco=";
+    hash = "sha256-b+Rf7mYifN5KXAECg7goCDlD/S1W7sTh06In1mp4NR4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/namedlist/default.nix b/pkgs/development/python-modules/namedlist/default.nix
index 874b1e177d2..d9b2db64f46 100644
--- a/pkgs/development/python-modules/namedlist/default.nix
+++ b/pkgs/development/python-modules/namedlist/default.nix
@@ -1,33 +1,54 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytest
+, fetchpatch
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "namedlist";
   version = "1.8";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "34f89fc992592c80b39a709e136edcf41ea17f24ba31eaf84a314a02c8b9bcef";
+    hash = "sha256-NPifyZJZLICzmnCeE27c9B6hfyS6Mer4SjFKAsi5vO8=";
   };
 
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  patches = [
+    # Deprecation warning using collections.abc, https://gitlab.com/ericvsmith/namedlist/-/merge_requests/1
+    (fetchpatch {
+      url = "https://gitlab.com/ericvsmith/namedlist/-/commit/102d15b455e6f058b9c95fe135167be82b34c14a.patch";
+      sha256 = "sha256-IfDgiObFFSOUnAlXR/+ye8uutGaFJ/AyQvCb76iNaMM=";
+    })
+  ];
+
   # Test file has a `unittest.main()` at the bottom that fails the tests;
   # py.test can run the tests without it.
   postPatch = ''
     substituteInPlace test/test_namedlist.py --replace "unittest.main()" ""
   '';
 
-  checkInputs = [ pytest ];
-  checkPhase = ''
-    py.test
-  '';
+  pythonImportsCheck = [
+    "namedlist"
+  ];
+
+  disabledTests = [
+    # AttributeError: module 'collections' has no attribute 'Container'
+    "test_ABC"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Similar to namedtuple, but instances are mutable";
     homepage = "https://gitlab.com/ericvsmith/namedlist";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ ivan ];
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ivan ];
   };
 }
diff --git a/pkgs/development/python-modules/nbclient/default.nix b/pkgs/development/python-modules/nbclient/default.nix
index 1b2071e7f0c..6579185861f 100644
--- a/pkgs/development/python-modules/nbclient/default.nix
+++ b/pkgs/development/python-modules/nbclient/default.nix
@@ -1,27 +1,50 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder,
-  async_generator, traitlets, nbformat, nest-asyncio, jupyter-client,
-  pytest, xmltodict, nbconvert, ipywidgets
-, doCheck ? true
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, async_generator
+, traitlets
+, nbformat
+, nest-asyncio
+, jupyter-client
+, pytestCheckHook
+, xmltodict
+, nbconvert
+, ipywidgets
 }:
 
-buildPythonPackage rec {
+let nbclient = buildPythonPackage rec {
   pname = "nbclient";
-  version = "0.5.13";
+  version = "0.6.2";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-QMUsm148MfrsruafICs/U+ONfBxWPeD63enX7aD9r+g=";
+    hash = "sha256-i0dVPxztB3zXxFN/1dcB1G92gfJLKCdeXMHTR+fJtGs=";
   };
 
-  inherit doCheck;
-  checkInputs = [ pytest xmltodict nbconvert ipywidgets ];
   propagatedBuildInputs = [ async_generator traitlets nbformat nest-asyncio jupyter-client ];
 
+  # circular dependencies if enabled by default
+  doCheck = false;
+
+  checkInputs = [ pytestCheckHook xmltodict nbconvert ipywidgets ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  passthru.tests = {
+    check = nbclient.overridePythonAttrs (_: { doCheck = true; });
+  };
+
   meta = with lib; {
     homepage = "https://github.com/jupyter/nbclient";
     description = "A client library for executing notebooks";
     license = licenses.bsd3;
     maintainers = [ maintainers.erictapen ];
   };
-}
+};
+in nbclient
diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix
index 5a89210170f..69aa660f142 100644
--- a/pkgs/development/python-modules/nbconvert/default.nix
+++ b/pkgs/development/python-modules/nbconvert/default.nix
@@ -5,13 +5,11 @@
 , glibcLocales
 , entrypoints
 , bleach
-, beautifulsoup4
 , mistune
 , nbclient
 , jinja2
 , pygments
 , traitlets
-, testpath
 , jupyter_core
 , jupyterlab-pygments
 , nbformat
@@ -20,15 +18,18 @@
 , tornado
 , jupyter-client
 , defusedxml
+, tinycss2
+, beautifulsoup4
 }:
 
 buildPythonPackage rec {
   pname = "nbconvert";
-  version = "6.4.5";
+  version = "6.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-IRY6jiBzwHEJyo85iDbkXv26KqzqaNb3WopUX+8HDU4=";
+    hash = "sha256-Ij5G4nq+hZa4rtVDAfrbukM7f/6oGWpo/Xsf9Qnu6Z0=";
   };
 
   # Add $out/share/jupyter to the list of paths that are used to search for
@@ -44,10 +45,10 @@ buildPythonPackage rec {
   checkInputs = [ pytestCheckHook glibcLocales ];
 
   propagatedBuildInputs = [
-    entrypoints bleach mistune jinja2 pygments traitlets testpath
+    entrypoints bleach mistune jinja2 pygments traitlets
     jupyter_core nbformat ipykernel pandocfilters tornado jupyter-client
-    defusedxml beautifulsoup4
-    (nbclient.override { doCheck = false; }) # avoid infinite recursion
+    defusedxml tinycss2 beautifulsoup4
+    nbclient
     jupyterlab-pygments
   ];
 
diff --git a/pkgs/development/python-modules/neo4j-driver/default.nix b/pkgs/development/python-modules/neo4j-driver/default.nix
index 63a2efafbd6..c86ae1b00c4 100644
--- a/pkgs/development/python-modules/neo4j-driver/default.nix
+++ b/pkgs/development/python-modules/neo4j-driver/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "neo4j-driver";
-  version = "4.4.2";
+  version = "4.4.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "neo4j";
     repo = "neo4j-python-driver";
     rev = version;
-    sha256 = "sha256-rYedmxQvT+RjVdbDckLv00J4YuEQtMuIc8Q5FGWr3Rw=";
+    sha256 = "sha256-YApj4EA0e3Q9V+ujnJC7/eSS0DybnZH22LnnSla/mw4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/net2grid/default.nix b/pkgs/development/python-modules/net2grid/default.nix
deleted file mode 100644
index ef03d45ab6b..00000000000
--- a/pkgs/development/python-modules/net2grid/default.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ lib
-, aiohttp
-, aresponses
-, buildPythonPackage
-, fetchFromGitHub
-, poetry-core
-, pytest-asyncio
-, pytestCheckHook
-, pythonOlder
-, yarl
-}:
-
-buildPythonPackage rec {
-  pname = "net2grid";
-  version = "4.0.0";
-  format = "pyproject";
-
-  disabled = pythonOlder "3.9";
-
-  src = fetchFromGitHub {
-    owner = "klaasnicolaas";
-    repo = "python-net2grid";
-    rev = "v${version}";
-    hash = "sha256-Ihs8qUx50tAUcRBsVArRhzoLcQUi1vbYh8sPyK75AEk=";
-  };
-
-  nativeBuildInputs = [
-    poetry-core
-  ];
-
-  propagatedBuildInputs = [
-    aiohttp
-    yarl
-  ];
-
-  checkInputs = [
-    aresponses
-    pytest-asyncio
-    pytestCheckHook
-  ];
-
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace '"0.0.0"' '"${version}"' \
-      --replace 'addopts = "--cov"' ""
-  '';
-
-  pythonImportsCheck = [
-    "net2grid"
-  ];
-
-  meta = with lib; {
-    description = "Module for interacting with NET2GRID devices";
-    homepage = "https://github.com/klaasnicolaas/python-net2grid";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ fab ];
-  };
-}
diff --git a/pkgs/development/python-modules/nettigo-air-monitor/default.nix b/pkgs/development/python-modules/nettigo-air-monitor/default.nix
index ede91e7df91..6f85a797c37 100644
--- a/pkgs/development/python-modules/nettigo-air-monitor/default.nix
+++ b/pkgs/development/python-modules/nettigo-air-monitor/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "nettigo-air-monitor";
-  version = "1.2.1";
+  version = "1.2.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "bieniu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-hKEXTzJMSVBRDiqrN90/fETEhirwSWLdgRULRvlQjbY=";
+    sha256 = "sha256-gHgFEDUji43vTBZp5FLK90H+D44sfH2AuCc7Gu2T1pg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/netutils/default.nix b/pkgs/development/python-modules/netutils/default.nix
new file mode 100644
index 00000000000..d8548002d91
--- /dev/null
+++ b/pkgs/development/python-modules/netutils/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, jinja2
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, toml
+}:
+
+buildPythonPackage rec {
+  pname = "netutils";
+  version = "1.1.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "networktocode";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-rTSesG7XmIzu2DcJMVgZMlh0kRQ8jEB3t++rgf63Flw=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  checkInputs = [
+    jinja2
+    pytestCheckHook
+    pyyaml
+    toml
+  ];
+
+  patches = [
+    # Switch to poetry-core, https://github.com/networktocode/netutils/pull/115
+    (fetchpatch {
+      name = "switch-to-poetry-core.patch";
+      url = "https://github.com/networktocode/netutils/commit/edc8b06686db4e5b4c8c4deb6d0effbc22177b31.patch";
+      sha256 = "sha256-K5oSbtOJYeKbxzbaZQBXcl6LsHQAK8CxBLfkak15V6M=";
+    })
+  ];
+
+  pythonImportsCheck = [
+    "netutils"
+  ];
+
+  disabledTests = [
+    # Tests require network access
+    "test_is_fqdn_resolvable"
+    "test_fqdn_to_ip"
+    "test_tcp_ping"
+    # Skip SPhinx test
+    "test_sphinx_build"
+  ];
+
+  meta = with lib; {
+    description = "Library that is a collection of objects for common network automation tasks";
+    homepage = "https://github.com/networktocode/netutils";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/nutils/default.nix b/pkgs/development/python-modules/nutils/default.nix
new file mode 100644
index 00000000000..88486910796
--- /dev/null
+++ b/pkgs/development/python-modules/nutils/default.nix
@@ -0,0 +1,32 @@
+{ lib, python, buildPythonPackage, fetchPypi, numpy, treelog, stringly, coverage }:
+
+buildPythonPackage rec {
+  pname = "nutils";
+  version = "7.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1sw310l2yb8wbcv2qhik8s928zjh2syzz2qxisglbzski9qdw2x6";
+  };
+
+  pythonImportChecks = [ "nutils" ];
+
+  propagatedBuildInputs = [
+    numpy
+    treelog
+    stringly
+  ];
+
+  checkInputs = [ coverage ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest
+  '';
+
+  meta = with lib; {
+    description = "Numerical Utilities for Finite Element Analysis";
+    homepage = "https://www.nutils.org/";
+    license = licenses.mit;
+    maintainers = [ maintainers.Scriptkiddi ];
+  };
+}
diff --git a/pkgs/development/python-modules/nvchecker/default.nix b/pkgs/development/python-modules/nvchecker/default.nix
index d4d9cf1811e..bc650b7eafe 100644
--- a/pkgs/development/python-modules/nvchecker/default.nix
+++ b/pkgs/development/python-modules/nvchecker/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "nvchecker";
-  version = "2.7";
+  version = "2.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "lilydjwg";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-OPUqkHLG8PUlD5NP7q/BpKUvmAA8Jk1NvsPPVbImv0A=";
+    hash = "sha256-ikpjR1fEZBsSOE20jxTyarb9Pqn3Fz+TYOzXp0g4G9c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/onnx/default.nix b/pkgs/development/python-modules/onnx/default.nix
index e873f325608..377521bb2f8 100644
--- a/pkgs/development/python-modules/onnx/default.nix
+++ b/pkgs/development/python-modules/onnx/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, bash
 , cmake
 , fetchPypi
 , isPy27
@@ -43,8 +44,9 @@ buildPythonPackage rec {
 
   postPatch = ''
     chmod +x tools/protoc-gen-mypy.sh.in
-    patchShebangs tools/protoc-gen-mypy.sh.in tools/protoc-gen-mypy.py
-
+    patchShebangs tools/protoc-gen-mypy.py
+    substituteInPlace tools/protoc-gen-mypy.sh.in \
+      --replace "/bin/bash" "${bash}/bin/bash"
     substituteInPlace setup.py \
       --replace "setup_requires.append('pytest-runner')" ""
   '';
@@ -53,6 +55,11 @@ buildPythonPackage rec {
     export MAX_JOBS=$NIX_BUILD_CORES
   '';
 
+  disabledTestPaths = [
+    # Unexpected output fields from running code: {'stderr'}
+    "onnx/examples/np_array_tensorproto.ipynb"
+  ];
+
   # The executables are just utility scripts that aren't too important
   postInstall = ''
     rm -r $out/bin
diff --git a/pkgs/development/python-modules/openai/default.nix b/pkgs/development/python-modules/openai/default.nix
index ff0f4796587..b137050ebff 100644
--- a/pkgs/development/python-modules/openai/default.nix
+++ b/pkgs/development/python-modules/openai/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "openai";
-  version = "0.18.0";
+  version = "0.18.1";
 
   disabled = pythonOlder "3.7.1";
 
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "openai";
     repo = "openai-python";
     rev = "v${version}";
-    sha256 = "sha256-MC3xTiQJrUyfRbnv7jigIal3/paK08bzy+mJI/j7fxo=";
+    sha256 = "sha256-ii/w29aRGhuzR6E+kbknsSrVZlOurpy/tTVGeAYKkXo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/openstep-plist/default.nix b/pkgs/development/python-modules/openstep-plist/default.nix
new file mode 100644
index 00000000000..274294f5938
--- /dev/null
+++ b/pkgs/development/python-modules/openstep-plist/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools-scm
+, pytestCheckHook
+, cython
+, pythonImportsCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "openstep-plist";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    pname = "openstep_plist";
+    inherit version;
+    sha256 = "sha256-KO4sGKjod5BwUFQ1MU2S1dG0DyiJ06mdroMbRDsugBk=";
+    extension = "zip";
+  };
+
+  nativeBuildInputs = [ setuptools-scm cython ];
+  checkInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [ "openstep_plist" ];
+
+  meta = {
+    description = "Parser for the 'old style' OpenStep property list format also known as ASCII plist";
+    homepage = "https://github.com/fonttools/openstep-plist";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.BarinovMaxim ];
+  };
+}
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index 70919715eef..5188ce63795 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -122,6 +122,8 @@ buildPythonPackage rec {
     export PATH=$(pwd):$PATH
   '';
 
+  enableParallelBuilding = true;
+
   pythonImportsCheck = [ "pandas" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pathy/default.nix b/pkgs/development/python-modules/pathy/default.nix
index aba6fdccb32..30cdd782df2 100644
--- a/pkgs/development/python-modules/pathy/default.nix
+++ b/pkgs/development/python-modules/pathy/default.nix
@@ -1,36 +1,59 @@
 { lib
 , buildPythonPackage
+, dataclasses
 , fetchPypi
+, fetchpatch
+, google-cloud-storage
+, mock
 , pytestCheckHook
-, typer
+, pythonOlder
 , smart-open
-, mock
-, google-cloud-storage
+, typer
 }:
 
 buildPythonPackage rec {
   pname = "pathy";
   version = "0.6.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "838624441f799a06b446a657e4ecc9ebc3fdd05234397e044a7c87e8f6e76b1c";
   };
 
-  propagatedBuildInputs = [ smart-open typer google-cloud-storage ];
+  propagatedBuildInputs = [
+    smart-open
+    typer
+    google-cloud-storage
+  ] ++ lib.optionals (pythonOlder "3.7") [
+    dataclasses
+  ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
 
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "smart-open>=2.2.0,<4.0.0" "smart-open>=2.2.0"
-  '';
+  patches = [
+    # Support for smart-open >= 6.0.0, https://github.com/justindujardin/pathy/pull/71
+    (fetchpatch {
+      name = "support-later-smart-open.patch";
+      url = "https://github.com/justindujardin/pathy/commit/ba1c23df6ee5d1e57bdfe845ff6a9315cba3df6a.patch";
+      sha256 = "sha256-V1i4tx73Xkdqb/wZhQIv4p6FVpF9SEfDhlBkwaaRE3w=";
+    })
+  ];
 
-  checkInputs = [ pytestCheckHook mock ];
+  disabledTestPaths = [
+    # Exclude tests that require provider credentials
+    "pathy/_tests/test_clients.py"
+    "pathy/_tests/test_gcs.py"
+    "pathy/_tests/test_s3.py"
+  ];
 
-  # Exclude tests that require provider credentials
-  pytestFlagsArray = [
-    "--ignore=pathy/_tests/test_clients.py"
-    "--ignore=pathy/_tests/test_gcs.py"
-    "--ignore=pathy/_tests/test_s3.py"
+  pythonImportsCheck = [
+    "pathy"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix
new file mode 100644
index 00000000000..c24886d7101
--- /dev/null
+++ b/pkgs/development/python-modules/peaqevcore/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "peaqevcore";
+  version = "0.0.22";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-ye8evqkOy08wHYohVOpXB2pfPN/vsK9GnPnL/nbVZU0=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pytest" ""
+  '';
+
+  # Tests are not shipped and source is not tagged
+  # https://github.com/elden1337/peaqev-core/issues/4
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "peaqevcore"
+  ];
+
+  meta = with lib; {
+    description = "Library for interacting with Peaqev car charging";
+    homepage = "https://github.com/elden1337/peaqev-core";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/peco/default.nix b/pkgs/development/python-modules/peco/default.nix
new file mode 100644
index 00000000000..72450237a54
--- /dev/null
+++ b/pkgs/development/python-modules/peco/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchPypi
+, pydantic
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "peco";
+  version = "0.0.29";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-zL0tBTwm+l5eyxlWr2xoE+nLpMfUKri1/yD+WgTUqHQ=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    pydantic
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "peco"
+  ];
+
+  meta = with lib; {
+    description = "Library for interacting with the PECO outage map";
+    homepage = "https://github.com/IceBotYT/peco-outage-api";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/peewee/default.nix b/pkgs/development/python-modules/peewee/default.nix
index 85a58271b6d..deb7fcde179 100644
--- a/pkgs/development/python-modules/peewee/default.nix
+++ b/pkgs/development/python-modules/peewee/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "peewee";
-  version = "3.14.9";
+  version = "3.14.10";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "coleifer";
     repo = pname;
     rev = version;
-    sha256 = "sha256-8rwWKsOOYUrk2k1piCurb1LkB9zzmSITq52qWdyx4yk=";
+    hash = "sha256-k3kKAImE1aVlmsSPXpaIkAVspAsAo5Hz6/n7u6+zTzA=";
   };
 
   buildInputs = [
@@ -31,8 +31,11 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     apsw
-  ] ++ lib.optional withPostgres psycopg2
-  ++ lib.optional withMysql mysql-connector;
+  ] ++ lib.optional withPostgres [
+    psycopg2
+  ] ++ lib.optional withMysql [
+    mysql-connector
+  ];
 
   checkInputs = [
     flask
diff --git a/pkgs/development/python-modules/pencompy/default.nix b/pkgs/development/python-modules/pencompy/default.nix
new file mode 100644
index 00000000000..b2648e36e5a
--- /dev/null
+++ b/pkgs/development/python-modules/pencompy/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pencompy";
+  version = "0.0.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-PjALTsk0Msv3g8M6k0v6ftzDAuFKyIPSpfvT8S3YL48=";
+  };
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pencompy"
+  ];
+
+  meta = with lib; {
+    description = "Library for interacting with Pencom relay boards";
+    homepage = "https://github.com/dubnom/pencompy";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix
index 19bf4676b01..e582ad1a446 100644
--- a/pkgs/development/python-modules/pex/default.nix
+++ b/pkgs/development/python-modules/pex/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "2.1.82";
+  version = "2.1.84";
   format = "flit";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VwbpcKPtPH/43E+lfzUken8JvX8QtTa6o0H0S2RXbYk=";
+    hash = "sha256-tjPjLzNOO/PUU6EItLYyQw+KPekIwboTBn98T8wHpHw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pg8000/default.nix b/pkgs/development/python-modules/pg8000/default.nix
index f22df192148..c871a7bccb8 100644
--- a/pkgs/development/python-modules/pg8000/default.nix
+++ b/pkgs/development/python-modules/pg8000/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pg8000";
-  version = "1.26.0";
+  version = "1.26.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-niXqE6W3/Mg7AmBR18bk3NUiHpUOvlOT3nFaP+oVJ9M=";
+    sha256 = "sha256-zNK2/hkK3ddMCTpivgcwuemfPqA6oO96uV7Rt/9p0lc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index 603980645e4..4f8dc93c671 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.12.46";
+  version = "8.12.47";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-HEQPYzbLSYk/8agybHC032k4Aq6YHyEPVFzUIVrEgTM=";
+    sha256 = "sha256-Vv1gXS9UYOHfIRcIW2U7s4MiKV7GWOasqvycl2hn1SI=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix
index d0671f93513..0b72031a4bc 100644
--- a/pkgs/development/python-modules/pikepdf/default.nix
+++ b/pkgs/development/python-modules/pikepdf/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "5.1.1";
+  version = "5.1.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     extraPostFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-LgF46DGVWNuUN2KGdfOGSokf4reDx55ay3gP2LO+4dY=";
+    hash = "sha256-VR2/+XCQb62FdkGZBxP2XTqatdFYZO1ngb8gvoJEvzs=";
   };
 
   patches = [
@@ -81,10 +81,6 @@ buildPythonPackage rec {
     setuptools
   ];
 
-  disabledTests = [
-    "test_image_palette" # https://github.com/pikepdf/pikepdf/issues/328
-  ];
-
   pythonImportsCheck = [ "pikepdf" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pilkit/default.nix b/pkgs/development/python-modules/pilkit/default.nix
index bc21d6bf465..49a07000667 100644
--- a/pkgs/development/python-modules/pilkit/default.nix
+++ b/pkgs/development/python-modules/pilkit/default.nix
@@ -1,36 +1,48 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, pillow
-, nose_progressive
-, nose
+, fetchFromGitHub
 , mock
-, blessings
+, pillow
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pilkit";
-  version = "2.0";
+  version = "unstable-2022-02-17";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "ddb30c2f0198a147e56b151476c3bb9fe045fbfd5b0a0fa2a3148dba62d1559f";
+  src = fetchFromGitHub {
+    owner = "matthewwithanm";
+    repo = pname;
+    rev = "09ffa2ad33318ae5fd3464655c14c7f01ffc2097";
+    hash = "sha256-jtnFffKr0yhSv2jBmXzPa6iP2r41MbmGukfmnvgABhk=";
   };
 
-  preConfigure = ''
-    substituteInPlace setup.py --replace 'nose==1.2.1' 'nose'
-  '';
+  buildInputs = [
+    pillow
+  ];
 
-  # tests fail, see https://github.com/matthewwithanm/pilkit/issues/9
-  doCheck = false;
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
 
-  buildInputs = [ pillow nose_progressive nose mock blessings ];
+  postPatch = ''
+    substituteInPlace tox.ini \
+      --replace " --cov --cov-report term-missing:skip-covered" ""
+  '';
+
+  pythonImportsCheck = [
+    "pilkit"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/matthewwithanm/pilkit/";
     description = "A collection of utilities and processors for the Python Imaging Libary";
+    homepage = "https://github.com/matthewwithanm/pilkit/";
     license = licenses.bsd0;
     maintainers = with maintainers; [ domenkozar ];
   };
-
 }
diff --git a/pkgs/development/python-modules/pillow-simd/default.nix b/pkgs/development/python-modules/pillow-simd/default.nix
index e2ea4c71388..826d9f15252 100644
--- a/pkgs/development/python-modules/pillow-simd/default.nix
+++ b/pkgs/development/python-modules/pillow-simd/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, buildPythonPackage, fetchFromGitHub, isPyPy, isPy3k
 , olefile, freetype, libjpeg, zlib, libtiff, libwebp, tcl, lcms2
-, libxcb, tk, libX11, openjpeg, libimagequant, pyroma, numpy
+, libxcb, tk, libX11, openjpeg, libimagequant, pyroma, numpy, defusedxml
 , pytestCheckHook
 }@args:
 
@@ -8,14 +8,14 @@ import ../pillow/generic.nix (rec {
   pname = "Pillow-SIMD";
   # check for release version on https://pypi.org/project/Pillow-SIMD/#history
   # does not match the latest pillow release version!
-  version = "7.0.0.post3";
+  version = "9.0.0.post1";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "uploadcare";
     repo = "pillow-simd";
     rev = "v${version}";
-    sha256 = "1h832xp1bzf951hr4dmjmxqfsv28sx9lr2cq96qdz1c72k40zj1h";
+    sha256 = "sha256-qTZYhgHjVMXqoYl3mG1xVrFaWrPidSY8HlyFQizV27Y=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pims/default.nix b/pkgs/development/python-modules/pims/default.nix
index 2f9fbdccd55..85a867ec511 100644
--- a/pkgs/development/python-modules/pims/default.nix
+++ b/pkgs/development/python-modules/pims/default.nix
@@ -1,34 +1,57 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, slicerator
-, scikitimage
-, six
+, fetchFromGitHub
+, imageio
 , numpy
-, tifffile
-, nose
+, pytestCheckHook
+, pythonOlder
+, scikitimage
+, slicerator
 }:
 
 buildPythonPackage rec {
-  version = "0.5";
-  pname = "PIMS";
+  pname = "pims";
+  version = "0.6.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a02cdcbb153e2792042fb0bae7df4f30878bbba1f2d176114a87ee0dc18715a0";
+  src = fetchFromGitHub {
+    owner = "soft-matter";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-F4UWbD9fOfvaZwYcY1l7XOzVKZyqqTGTqVJoNPo1Ozg=";
   };
 
-  checkInputs = [ nose ];
-  propagatedBuildInputs = [ slicerator six numpy tifffile scikitimage ];
+  propagatedBuildInputs = [
+    slicerator
+    imageio
+    numpy
+  ];
 
-  # not everything packaged with pypi release
-  doCheck = false;
-  pythonImportsCheck = [ "pims" ];
+  checkInputs = [
+    pytestCheckHook
+    scikitimage
+  ];
+
+  pythonImportsCheck = [
+    "pims"
+  ];
+
+  pytestFlagsArray = [
+    "-W"
+    "ignore::DeprecationWarning"
+  ];
+
+  disabledTests = [
+    # NotImplementedError: Do not know how to deal with infinite readers
+    "TestVideo_ImageIO"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/soft-matter/pims";
     description = "Python Image Sequence: Load video and sequential images in many formats with a simple, consistent interface";
-    license = licenses.bsdOriginal;
-    maintainers = [ maintainers.costrouc ];
+    homepage = "https://github.com/soft-matter/pims";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/pipdate/default.nix b/pkgs/development/python-modules/pipdate/default.nix
index 627e2b0a6fa..4d241e87e1c 100644
--- a/pkgs/development/python-modules/pipdate/default.nix
+++ b/pkgs/development/python-modules/pipdate/default.nix
@@ -1,9 +1,10 @@
 { lib
+, appdirs
 , buildPythonPackage
 , fetchPypi
-, pythonOlder
-, appdirs
 , importlib-metadata
+, packaging
+, pythonOlder
 , requests
 , rich
 , setuptools
@@ -12,19 +13,22 @@
 
 buildPythonPackage rec {
   pname = "pipdate";
-  version = "0.5.5";
+  version = "0.5.6";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "03hr9i691cpg9q2xc1xr4lpd90xs8rba0xjh6qmc1vg7lgcdgbaa";
+    hash = "sha256-G2t+wsVGj7cDbsnWss7XqKU421WqygPzAZkhbTu9Jks=";
   };
 
-  nativeBuildInputs = [ wheel ];
+  nativeBuildInputs = [
+    wheel
+  ];
 
   propagatedBuildInputs = [
     appdirs
+    packaging
     requests
     rich
     setuptools
diff --git a/pkgs/development/python-modules/pipdeptree/default.nix b/pkgs/development/python-modules/pipdeptree/default.nix
new file mode 100644
index 00000000000..b6dbfe53d8d
--- /dev/null
+++ b/pkgs/development/python-modules/pipdeptree/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, tox
+, pip
+}:
+
+buildPythonPackage rec {
+  pname = "pipdeptree";
+  version = "2.2.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.4";
+
+  src = fetchFromGitHub {
+    owner = "naiquevin";
+    repo = "pipdeptree";
+    rev = "${version}";
+    sha256 = "sha256-CL0li/79qptOtOGLwder5s0+6zv7+PUnl+bD6p+XBtA=";
+  };
+
+  propagatedBuildInputs = [
+    pip
+  ];
+
+  checkInputs = [
+    tox
+  ];
+
+  pythonImportsCheck = [
+    "pipdeptree"
+  ];
+
+  meta = with lib; {
+    description = "Command line utility to show dependency tree of packages";
+    homepage = "https://github.com/naiquevin/pipdeptree";
+    license = licenses.mit;
+    maintainers = with maintainers; [ charlesbaynham ];
+  };
+}
diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix
index fe364ea0ece..18d4fec6c16 100644
--- a/pkgs/development/python-modules/plugwise/default.nix
+++ b/pkgs/development/python-modules/plugwise/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.17.7";
+  version = "0.17.8";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "python-plugwise";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-PZoxI7s3LTb60oXFfsOi5mCaLOKzq6ed2yFKap0Q1Ng=";
+    sha256 = "sha256-ZNlkdubB6E5ak+EaXsEBGa1xpm5ms4Rp3DG/M4/+WOg=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix b/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix
new file mode 100644
index 00000000000..b662452d8a0
--- /dev/null
+++ b/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, dunamai
+, fetchFromGitHub
+, jinja2
+, markupsafe
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, tomlkit
+}:
+
+buildPythonPackage rec {
+  pname = "poetry-dynamic-versioning";
+  version = "0.15.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "mtkennerly";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-RHCP5SakizURg5MwD96Bxs/NvoTdPSCKWVYt5m4meLA=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    dunamai
+    jinja2
+    markupsafe
+    tomlkit
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # these require .git, but leaveDotGit = true doesn't help
+    "test__get_version__defaults"
+    "test__get_version__format_jinja"
+  ];
+
+  pythonImportsCheck = [
+    "poetry_dynamic_versioning"
+  ];
+
+  meta = with lib; {
+    description = "Plugin for Poetry to enable dynamic versioning based on VCS tags";
+    homepage = "https://github.com/mtkennerly/poetry-dynamic-versioning";
+    license = licenses.mit;
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/pkgs/development/python-modules/policyuniverse/default.nix b/pkgs/development/python-modules/policyuniverse/default.nix
index 9b03c3581bd..b8e6a790f74 100644
--- a/pkgs/development/python-modules/policyuniverse/default.nix
+++ b/pkgs/development/python-modules/policyuniverse/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "policyuniverse";
-  version = "1.5.0.20220420";
+  version = "1.5.0.20220426";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-HWyzwvsn3ikL5cbEPljMHShF2vQEOSP6umk08UZgQsI=";
+    sha256 = "sha256-lOis0JE0XI43KsuGgpG20iBRPttVJvRS225PInu7EUM=";
   };
 
   # Tests are not shipped and there are no GitHub tags
diff --git a/pkgs/development/python-modules/preprocess-cancellation/default.nix b/pkgs/development/python-modules/preprocess-cancellation/default.nix
index d671cb4d66e..44a54810e44 100644
--- a/pkgs/development/python-modules/preprocess-cancellation/default.nix
+++ b/pkgs/development/python-modules/preprocess-cancellation/default.nix
@@ -1,6 +1,11 @@
-{ lib, fetchFromGitHub, buildPythonPackage, pythonOlder, poetry-core
-, pytestCheckHook, pytest-cov
-, shapely }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, poetry-core
+, shapely
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "preprocess-cancellation";
@@ -16,11 +21,36 @@ buildPythonPackage rec {
     hash = "sha256-mn3/etXA5dkL+IsyxwD4/XjU/t4/roYFVyqQxlLOoOI=";
   };
 
-  nativeBuildInputs = [ poetry-core ];
+  patches = [
+    ./pep-621.patch
+  ];
 
-  propagatedBuildInputs = [ shapely ];
+  postPatch = ''
+    sed -i "/^addopts/d" pyproject.toml
 
-  checkInputs = [ pytestCheckHook pytest-cov ];
+    # setuptools 61 compatibility
+    # error: Multiple top-level packages discovered in a flat-layout: ['STLs', 'GCode'].
+    mkdir tests
+    mv GCode STLs test_* tests
+    substituteInPlace tests/test_preprocessor.py \
+      --replace "./GCode" "./tests/GCode"
+    substituteInPlace tests/test_preprocessor_with_shapely.py \
+      --replace "./GCode" "./tests/GCode"
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    shapely
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "preprocess_cancellation" ];
 
   meta = with lib; {
     description = "Klipper GCode Preprocessor for Object Cancellation";
diff --git a/pkgs/development/python-modules/preprocess-cancellation/pep-621.patch b/pkgs/development/python-modules/preprocess-cancellation/pep-621.patch
new file mode 100644
index 00000000000..48d8db33d46
--- /dev/null
+++ b/pkgs/development/python-modules/preprocess-cancellation/pep-621.patch
@@ -0,0 +1,20 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index da1376e..88298a7 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,11 +1,11 @@
+-[tool.poetry]

++[project]

+ name = "preprocess_cancellation"

+ version = "0.2.0"

+ description = "GCode processor to add klipper cancel-object markers"

+ readme = "README.md"

+-authors = ["Franklyn Tackitt <im@frank.af>"]

+-repository = "https://github.com/kageurufu/cancelobject-preprocessor"

+-license = "GPL-3.0-only"

++authors = [ { name = "Franklyn Tackitt", email = "im@frank.af" } ]

++urls.repository = "https://github.com/kageurufu/cancelobject-preprocessor"

++license.text = "GPL-3.0-only"

+ 

+ [tool.poetry.urls]

+ "Bug Tracker" = "https://github.com/kageurufu/cancelobject-preprocessor/issues"

diff --git a/pkgs/development/python-modules/proton-client/0001-OpenSSL-path-fix.patch b/pkgs/development/python-modules/proton-client/0001-OpenSSL-path-fix.patch
new file mode 100644
index 00000000000..7e97b2da5d3
--- /dev/null
+++ b/pkgs/development/python-modules/proton-client/0001-OpenSSL-path-fix.patch
@@ -0,0 +1,41 @@
+From 48da17d61e38657dfb10f2ac642fd3e6a45ee607 Mon Sep 17 00:00:00 2001
+From: "P. R. d. O" <d.ol.rod@tutanota.com>
+Date: Wed, 27 Apr 2022 14:29:53 -0600
+Subject: [PATCH] OpenSSL path fix
+
+---
+ proton/srp/_ctsrp.py | 12 ++----------
+ 1 file changed, 2 insertions(+), 10 deletions(-)
+
+diff --git a/proton/srp/_ctsrp.py b/proton/srp/_ctsrp.py
+index e19f184..af359c5 100644
+--- a/proton/srp/_ctsrp.py
++++ b/proton/srp/_ctsrp.py
+@@ -24,22 +24,14 @@ from .util import PM_VERSION, SRP_LEN_BYTES, SALT_LEN_BYTES, hash_password
+ dlls = list()
+ 
+ platform = sys.platform
+-if platform == 'darwin':
+-    dlls.append(ctypes.cdll.LoadLibrary('libssl.dylib'))
+-elif 'win' in platform:
++if 'win' in platform:
+     for d in ('libeay32.dll', 'libssl32.dll', 'ssleay32.dll'):
+         try:
+             dlls.append(ctypes.cdll.LoadLibrary(d))
+         except Exception:
+             pass
+ else:
+-    try:
+-        dlls.append(ctypes.cdll.LoadLibrary('libssl.so.10'))
+-    except OSError:
+-        try:
+-            dlls.append(ctypes.cdll.LoadLibrary('libssl.so.1.0.0'))
+-        except OSError:
+-            dlls.append(ctypes.cdll.LoadLibrary('libssl.so'))
++    dlls.append(ctypes.cdll.LoadLibrary('@openssl@/lib/libssl@ext@'))
+ 
+ 
+ class BIGNUM_Struct(ctypes.Structure):
+-- 
+2.35.1
+
diff --git a/pkgs/development/python-modules/proton-client/default.nix b/pkgs/development/python-modules/proton-client/default.nix
index 01ebed36c72..ca68c8cb54c 100644
--- a/pkgs/development/python-modules/proton-client/default.nix
+++ b/pkgs/development/python-modules/proton-client/default.nix
@@ -1,10 +1,13 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, substituteAll
 , bcrypt
 , pyopenssl
 , python-gnupg
+, pytestCheckHook
 , requests
 , openssl
 }:
@@ -30,14 +33,21 @@ buildPythonPackage rec {
 
   buildInputs = [ openssl ];
 
-  # This patch is supposed to indicate where to load OpenSSL library,
-  # but it is not working as intended.
-  #patchPhase = ''
-  #  substituteInPlace proton/srp/_ctsrp.py --replace \
-  #    "ctypes.cdll.LoadLibrary('libssl.so.10')" "'${lib.getLib openssl}/lib/libssl.so'"
-  #'';
-  # Regarding the issue above, I'm disabling tests for now
-  doCheck = false;
+  patches = [
+    # Patches library by fixing the openssl path
+    (substituteAll {
+      src = ./0001-OpenSSL-path-fix.patch;
+      openssl = openssl.out;
+      ext = stdenv.hostPlatform.extensions.sharedLibrary;
+    })
+  ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  disabledTests = [
+    #ValueError: Invalid modulus
+    "test_modulus_verification"
+  ];
 
   pythonImportsCheck = [ "proton" ];
 
diff --git a/pkgs/development/python-modules/pubnub/default.nix b/pkgs/development/python-modules/pubnub/default.nix
index da417565d2d..7ac259aa4ab 100644
--- a/pkgs/development/python-modules/pubnub/default.nix
+++ b/pkgs/development/python-modules/pubnub/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pubnub";
-  version = "6.3.0";
+  version = "6.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HnDCRwGrWYVW2WpCFDySVYzNW4/cNhVqNG2YfF5V3WY=";
+    hash = "sha256-HeblPnHSGO12+2hNvwRde84hvjdkxEJU6Eygxs36UBE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/py-desmume/default.nix b/pkgs/development/python-modules/py-desmume/default.nix
index e9cff7eb824..0c700151f69 100644
--- a/pkgs/development/python-modules/py-desmume/default.nix
+++ b/pkgs/development/python-modules/py-desmume/default.nix
@@ -3,29 +3,18 @@
 , alsa-lib, soundtouch, openal
 }:
 
-let
-  desmume = fetchFromGitHub {
-    owner = "SkyTemple";
-    repo = "desmume";
-    rev = "8e7af8ada883b7e91344985236f7c7c04ee795d7";
-    sha256 = "0svmv2rch9q347gbpbws4agymas8n014gh1ssaf91wx7jwn53842";
-  };
-in
 buildPythonPackage rec {
   pname = "py-desmume";
-  version = "0.0.3.post2";
+  version = "0.0.4.post2";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    sha256 = "1chsg70k8kqnlasn88b04ww3yl0lay1bjxvz6lhp6s2cvsxv03x1";
+    sha256 = "sha256-a819+K/Ovnz53ViDKpUGGjeblWvrAO5ozt/tizdLKCY=";
+    fetchSubmodules = true;
   };
 
-  postPatch = ''
-    cp -R --no-preserve=mode ${desmume} __build_desmume
-  '';
-
   buildInputs = [ GitPython libpcap SDL2 alsa-lib soundtouch openal ];
   nativeBuildInputs = [ meson ninja pkg-config ];
   propagatedBuildInputs = [ pillow pygobject3 ];
diff --git a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
index 508e6f71d11..36f25fce9d1 100644
--- a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
+++ b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pyTelegramBotAPI";
-  version = "4.4.1";
+  version = "4.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3Qppp/UDKiGChnvMOgW8EKygI75gYzv37c0ctExmK+g=";
+    hash = "sha256-Jonbb26MbK/LKztFkB7IlaHQm98DPYn4lYK4ikDPpaE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pybind11/default.nix b/pkgs/development/python-modules/pybind11/default.nix
index 8627ca53d54..9333055ccdc 100644
--- a/pkgs/development/python-modules/pybind11/default.nix
+++ b/pkgs/development/python-modules/pybind11/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "pybind11";
-  version = "2.9.1";
+  version = "2.9.2";
 
   src = fetchFromGitHub {
     owner = "pybind";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-wBvEWQlZhHoSCMbGgYtB3alWBLA8mA8Mz6JPLhXa3Pc=";
+    hash = "sha256-O3bkexUBa+gfiJEM6KSR8y/iVqHqlCFmz/9EghxdIpw=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -66,6 +66,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/pybind/pybind11";
+    changelog = "https://github.com/pybind/pybind11/blob/${src.rev}/docs/changelog.rst";
     description = "Seamless operability between C++11 and Python";
     longDescription = ''
       Pybind11 is a lightweight header-only library that exposes
diff --git a/pkgs/development/python-modules/pybullet/default.nix b/pkgs/development/python-modules/pybullet/default.nix
index df9c1a0d21e..24c0014a118 100644
--- a/pkgs/development/python-modules/pybullet/default.nix
+++ b/pkgs/development/python-modules/pybullet/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pybullet";
-  version = "3.2.2";
+  version = "3.2.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Rtq2RZ2CjgS2YbuA4BS8+xPJ8bpAwCLl6xEy78/guOA=";
+    sha256 = "sha256-lZ6FvABRMkucSroj15Nlt33iFvnO68OS+dVR/mOg68Y=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pycapnp/default.nix b/pkgs/development/python-modules/pycapnp/default.nix
index 8c63a118622..cd2e8f450cd 100644
--- a/pkgs/development/python-modules/pycapnp/default.nix
+++ b/pkgs/development/python-modules/pycapnp/default.nix
@@ -20,16 +20,18 @@ buildPythonPackage rec {
     sha256 = "1xi6df93ggkpmwckwbi356v7m32zv5qry8s45hvsps66dz438kmi";
   };
 
-  buildInputs = [ capnproto cython pkgconfig ];
+  nativeBuildInputs = [ cython pkgconfig ];
 
-  # Tests disabled due to dependency on jinja and various other libraries.
+  buildInputs = [ capnproto ];
+
+  # Tests depend on schema_capnp which fails to generate
   doCheck = false;
 
   pythonImportsCheck = [ "capnp" ];
 
   meta = with lib; {
+    homepage = "https://capnproto.github.io/pycapnp/";
     maintainers = with maintainers; [ cstrahan lukeadams ];
     license = licenses.bsd2;
-    homepage = "https://capnproto.github.io/pycapnp/";
   };
 }
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index 32462707cb6..27e464f6e5f 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pychromecast";
-  version = "11.0.0";
+  version = "12.0.0";
   format = "setuptools";
 
   disabled = !isPy3k;
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyChromecast";
     inherit version;
-    sha256 = "sha256-FRcjsXgRAFK2c7h2WhIMhdFurowi11V13O6+K+HrHvY=";
+    sha256 = "sha256-asvEJix8/3glVhenll/rlTwSZdX0LRPMX4uCSURohJ4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pycm/default.nix b/pkgs/development/python-modules/pycm/default.nix
index 90bd83f85d2..549cc8a96ad 100644
--- a/pkgs/development/python-modules/pycm/default.nix
+++ b/pkgs/development/python-modules/pycm/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pycm";
-  version = "3.4";
+  version = "3.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "sepandhaghighi";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0agis9jh6kjf7k1vf1fiyf5h3lb9p0w9k710wwpsby292ydazr4f";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-iDt1voNcn59bZN/AyKrWFBIymTT618o91kz2AV42hWs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pycoolmasternet-async/default.nix b/pkgs/development/python-modules/pycoolmasternet-async/default.nix
index 45b40ddeadb..909feb94432 100644
--- a/pkgs/development/python-modules/pycoolmasternet-async/default.nix
+++ b/pkgs/development/python-modules/pycoolmasternet-async/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "pycoolmasternet-async";
-  version = "0.1.2";
+  version = "0.1.3";
 
   disabled = pythonOlder "3.7";
 
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     owner = "OnFreund";
     repo = "pycoolmasternet-async";
     rev = "v${version}";
-    sha256 = "0qzdk18iqrvin8p8zrydf69d6pii3j47j11h7ymmsx08gh7c176g";
+    hash = "sha256-1Xd8OdN8d3g23kQZqihZrNLKoqLCbu5BvAMNitg8aDA=";
   };
 
   # no tests implemented
diff --git a/pkgs/development/python-modules/pydantic/default.nix b/pkgs/development/python-modules/pydantic/default.nix
index 8ac9eeca2a8..aac95982cea 100644
--- a/pkgs/development/python-modules/pydantic/default.nix
+++ b/pkgs/development/python-modules/pydantic/default.nix
@@ -43,6 +43,8 @@ buildPythonPackage rec {
     export HOME=$(mktemp -d)
   '';
 
+  enableParallelBuilding = true;
+
   pythonImportsCheck = [ "pydantic" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pydeconz/default.nix b/pkgs/development/python-modules/pydeconz/default.nix
index 8d37521f326..8523fd96f64 100644
--- a/pkgs/development/python-modules/pydeconz/default.nix
+++ b/pkgs/development/python-modules/pydeconz/default.nix
@@ -1,6 +1,7 @@
 { lib
 , aiohttp
 , aioresponses
+, async-timeout
 , buildPythonPackage
 , fetchFromGitHub
 , pytest-aiohttp
@@ -10,20 +11,21 @@
 
 buildPythonPackage rec {
   pname = "pydeconz";
-  version = "87";
+  version = "91";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "Kane610";
     repo = "deconz";
-    rev = "v${version}";
-    sha256 = "sha256-scNTHbUL8TOhkUJyib4cgL8A4gZ73asmFLi8aGw3sX8=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-JoQapWQZPjP9TD6gnIGE23hzBt22kAWDKreTzq3GBWQ=";
   };
 
   propagatedBuildInputs = [
     aiohttp
+    async-timeout
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pydeps/default.nix b/pkgs/development/python-modules/pydeps/default.nix
new file mode 100644
index 00000000000..9cfd0fe3c9c
--- /dev/null
+++ b/pkgs/development/python-modules/pydeps/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, graphviz
+, stdlib-list
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "pydeps";
+  version = "1.10.17";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "thebjorn";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-V0LgHFvGvJqDHmyXJNb0sJjRuqGGDZpV467XDmdFg5k=";
+  };
+
+  buildInputs = [
+    graphviz
+  ];
+
+  propagatedBuildInputs = [
+    graphviz
+    stdlib-list
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pyyaml
+  ];
+
+  postPatch = ''
+    # Path is hard-coded
+    substituteInPlace pydeps/dot.py \
+      --replace "dot -Gstart=1" "${lib.makeBinPath [ graphviz ]}/dot -Gstart=1"
+  '';
+
+  disabledTests = [
+    # Would require to have additional modules available
+    "test_find_package_names"
+  ];
+
+  pythonImportsCheck = [
+    "pydeps"
+  ];
+
+  meta = with lib; {
+    description = "Python module dependency visualization";
+    homepage = "https://github.com/thebjorn/pydeps";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyeapi/default.nix b/pkgs/development/python-modules/pyeapi/default.nix
index a31123492d4..aa9e0983b7e 100644
--- a/pkgs/development/python-modules/pyeapi/default.nix
+++ b/pkgs/development/python-modules/pyeapi/default.nix
@@ -1,10 +1,11 @@
 { lib
 , buildPythonPackage
-, pythonAtLeast
 , fetchFromGitHub
+, fetchpatch
+, mock
 , netaddr
 , pytestCheckHook
-, mock
+, pythonOlder
 }:
 
 buildPythonPackage rec {
@@ -12,8 +13,7 @@ buildPythonPackage rec {
   version = "0.8.4";
   format = "pyproject";
 
-  # https://github.com/arista-eosplus/pyeapi/issues/189
-  disabled = pythonAtLeast "3.10";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "arista-eosplus";
@@ -22,21 +22,49 @@ buildPythonPackage rec {
     sha256 = "13chya6wix5jb82k67gr44bjx35gcdwz80nsvpv0gvzs6shn4d7b";
   };
 
-  propagatedBuildInputs = [ netaddr ];
+  propagatedBuildInputs = [
+    netaddr
+  ];
 
   checkInputs = [
     mock
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [ "test/unit" ];
+  patches = [
+    # Fix usage of collection, https://github.com/arista-eosplus/pyeapi/pull/223
+    (fetchpatch {
+      name = "fix-collection-usage.patch";
+      url = "https://github.com/arista-eosplus/pyeapi/commit/81754f57eb095703cc474f527a0915360af76f68.patch";
+      sha256 = "sha256-ZNBTPRNmXCFVJeRAJxzIHmCOXZiGwU6t4ekSupU3BX8=";
+    })
+    (fetchpatch {
+      name = "fix-collection-usage-2.patch";
+      url = "https://github.com/arista-eosplus/pyeapi/commit/cc9c584e4a3167e3c1624cccb6bc0d9c9bcdbc1c.patch";
+      sha256 = "sha256-EY0i1Skm1llEQAAzvrb2yelhhLBkqKAFJB5ObAIxAYo=";
+      excludes = [
+        ".github/workflows/ci.yml"
+      ];
+    })
+    (fetchpatch {
+      name = "fix-collection-usage-3.patch";
+      url = "https://github.com/arista-eosplus/pyeapi/commit/dc35ab076687ea71665ae9524480b05a4e893909.patch";
+      sha256 = "sha256-xPaYULCPTxiQGB9Im/qLet+XebW9wq+TAfrxcgQxcoE=";
+    })
+  ];
 
-  pythonImportsCheck = [ "pyeapi" ];
+  pytestFlagsArray = [
+    "test/unit"
+  ];
+
+  pythonImportsCheck = [
+    "pyeapi"
+  ];
 
   meta = with lib; {
     description = "Client for Arista eAPI";
     homepage = "https://github.com/arista-eosplus/pyeapi";
     license = licenses.bsd3;
-    maintainers = [ maintainers.astro ];
+    maintainers = with maintainers; [ astro ];
   };
 }
diff --git a/pkgs/development/python-modules/pyevilgenius/default.nix b/pkgs/development/python-modules/pyevilgenius/default.nix
index 28bb1a2c4c0..b59f2ad4fe9 100644
--- a/pkgs/development/python-modules/pyevilgenius/default.nix
+++ b/pkgs/development/python-modules/pyevilgenius/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyevilgenius";
-  version = "1.0.0";
+  version = "2.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = version;
-    sha256 = "06xnl93sqklg7gx0z50vm79xwww0yyw05c1yynajc9aijfi8cmi3";
+    sha256 = "sha256-wjC32oq/lW3Z4XB+4SILRKIOuCgBKk1gruOo4uc/4/o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyezviz/default.nix b/pkgs/development/python-modules/pyezviz/default.nix
index 6499b91dda6..1d01f491676 100644
--- a/pkgs/development/python-modules/pyezviz/default.nix
+++ b/pkgs/development/python-modules/pyezviz/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyezviz";
-  version = "0.2.0.7";
+  version = "0.2.0.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "baqs";
     repo = "pyEzviz";
     rev = version;
-    sha256 = "sha256-cQsjEH+e2/rNXmCnhNRv2Vg5i/ax0x88w1pit2eVO2c=";
+    sha256 = "sha256-W2JtqRyNVUo74esmCvCQygIMB1+v77OW/ll48IMVj/Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyfritzhome/default.nix b/pkgs/development/python-modules/pyfritzhome/default.nix
index 714159ff994..98aaea66f2e 100644
--- a/pkgs/development/python-modules/pyfritzhome/default.nix
+++ b/pkgs/development/python-modules/pyfritzhome/default.nix
@@ -9,16 +9,16 @@
 
 buildPythonPackage rec {
   pname = "pyfritzhome";
-  version = "0.6.4";
+  version = "0.6.5";
   format = "setuptools";
 
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "hthiery";
     repo = "python-fritzhome";
     rev = version;
-    sha256 = "sha256-JCaB3E8KCfncwnTKIb0shB2qYpsKwBkrPZdC5lAJ1KQ=";
+    hash = "sha256-0wfC4lQeTghN2uDUO8Rn2+G8BYOh2UfCZBDJmTw6Lb0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyhanko-certvalidator/default.nix b/pkgs/development/python-modules/pyhanko-certvalidator/default.nix
new file mode 100644
index 00000000000..4675e48a564
--- /dev/null
+++ b/pkgs/development/python-modules/pyhanko-certvalidator/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, aiohttp
+, asn1crypto
+, cryptography
+, oscrypto
+, requests
+, uritools
+, openssl
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pyhanko-certvalidator";
+  version = "0.19.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  # Tests are only available on GitHub
+  src = fetchFromGitHub {
+    owner = "MatthiasValvekens";
+    repo = "certvalidator";
+    rev = version;
+    sha256 = "sha256-UxlBggKgqvbKioG98UaKvhW0YgEa6PqV913nqYvTx1I=";
+  };
+
+  propagatedBuildInputs = [
+    asn1crypto
+    cryptography
+    oscrypto
+    requests
+    uritools
+  ];
+
+  checkInputs = [
+    aiohttp
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # Test looks for libcrypto.so.1.1
+    "dev/stress_test.py"
+    # Requests
+    "tests/test_crl_client.py"
+  ];
+
+  disabledTests = [
+    # Look for nonexisting certificates
+    "test_basic_certificate_validator_tls"
+    # Failed to fetch OCSP response from http://ocsp.digicert.com
+    "test_fetch_ocsp_aiohttp"
+    "test_fetch_ocsp_requests"
+    "test_fetch_ocsp_err_requests"
+    # Unable to build a validation path for the certificate "%s" - no issuer matching "%s" was found
+    "test_revocation_mode_hard_aiohttp_autofetch"
+    # The path could not be validated because no revocation information could be found for intermediate certificate 1
+    "test_revocation_mode_hard"
+  ];
+
+  pythonImportsCheck = [
+    "pyhanko_certvalidator"
+  ];
+
+  meta = with lib; {
+    description = "Python library for validating X.509 certificates and paths";
+    homepage = "https://github.com/MatthiasValvekens/certvalidator";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch b/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch
new file mode 100644
index 00000000000..562dc6461ef
--- /dev/null
+++ b/pkgs/development/python-modules/pyhanko/0001-Updating-pytest-aiohttp-version.patch
@@ -0,0 +1,25 @@
+From 942d4fd37786941bae91b769ef6499a4b4da6843 Mon Sep 17 00:00:00 2001
+From: "P. R. d. O" <d.ol.rod@tutanota.com>
+Date: Sat, 9 Apr 2022 12:40:59 -0600
+Subject: [PATCH] Updating pytest-aiohttp version
+
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index fe33d9a..694fab4 100644
+--- a/setup.py
++++ b/setup.py
+@@ -85,7 +85,7 @@ setup(
+     tests_require=[
+         'pytest>=6.1.1', 'requests-mock>=1.8.0',
+         'freezegun>=1.1.0', 'certomancer~=0.8.1',
+-        'aiohttp~=3.8.0', 'pytest-aiohttp~=0.3.0',
++        'aiohttp~=3.8.0', 'pytest-aiohttp~=1.0.3',
+         'python-pae==0.1.0'
+     ],
+     keywords="signature pdf pades digital-signature pkcs11"
+-- 
+2.35.1
+
diff --git a/pkgs/development/python-modules/pyhanko/default.nix b/pkgs/development/python-modules/pyhanko/default.nix
new file mode 100644
index 00000000000..2cd71ae0f33
--- /dev/null
+++ b/pkgs/development/python-modules/pyhanko/default.nix
@@ -0,0 +1,132 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, asn1crypto
+, click
+, cryptography
+, pyhanko-certvalidator
+, pytz
+, pyyaml
+, qrcode
+, requests
+, tzlocal
+, certomancer
+, freezegun
+, python-pae
+, pytest-aiohttp
+, requests-mock
+, pytestCheckHook
+# Flags to add to the library
+, extraPubkeyAlgsSupport ? false
+, oscrypto
+, opentypeSupport ? false
+, fonttools
+, uharfbuzz
+, imageSupport ? false
+, pillow
+, python-barcode
+, pkcs11Support ? false
+, python-pkcs11
+, asyncHttpSupport ? false
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "pyhanko";
+  version = "0.12.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  # Tests are only available on GitHub
+  src = fetchFromGitHub {
+    owner = "MatthiasValvekens";
+    repo = "pyHanko";
+    rev = version;
+    sha256 = "sha256-W60NTKEtCqJ/QdtNiieKUsrl2jIjIH86Wych68R3mBc=";
+  };
+
+  propagatedBuildInputs = [
+    click
+    pyhanko-certvalidator
+    pytz
+    pyyaml
+    qrcode
+    tzlocal
+  ] ++ lib.optionals (extraPubkeyAlgsSupport) [
+    oscrypto
+  ] ++ lib.optionals (opentypeSupport) [
+    fonttools
+    uharfbuzz
+  ] ++ lib.optionals (imageSupport) [
+    pillow
+    python-barcode
+  ] ++ lib.optionals (pkcs11Support) [
+    python-pkcs11
+  ] ++ lib.optionals (asyncHttpSupport) [
+    aiohttp
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace ", 'pytest-runner'" "" \
+      --replace "pytest-aiohttp~=0.3.0" "pytest-aiohttp~=1.0.3"
+  '';
+
+  checkInputs = [
+    aiohttp
+    certomancer
+    freezegun
+    python-pae
+    pytest-aiohttp
+    requests-mock
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = lib.optionals (!opentypeSupport) [
+    "pyhanko_tests/test_stamp.py"
+    "pyhanko_tests/test_text.py"
+  ] ++ lib.optionals (!imageSupport) [
+    "pyhanko_tests/test_barcode.py"
+  ] ++ lib.optionals (!pkcs11Support) [
+    "pyhanko_tests/test_pkcs11.py"
+  ];
+
+  disabledTests = [
+    # Most of the test require working with local certificates,
+    # contacting OSCP or performing requests
+    "test_generic_data_sign_legacy"
+    "test_generic_data_sign"
+    "test_cms_v3_sign"
+    "test_detached_cms_with_self_reported_timestamp"
+    "test_detached_cms_with_tst"
+    "test_detached_cms_with_content_tst"
+    "test_detached_cms_with_wrong_content_tst"
+    "test_detached_with_malformed_content_tst"
+    "test_noop_attribute_prov"
+    "test_detached_cades_cms_with_tst"
+    "test_read_qr_config"
+    "test_no_changes_policy"
+    "test_bogus_metadata_manipulation"
+    "test_tamper_sig_obj"
+    "test_signed_file_diff_proxied_objs"
+    "test_pades_revinfo_live"
+    "test_diff_fallback_ok"
+    "test_no_diff_summary"
+    "test_ocsp_embed"
+    "test_ts_fetch_aiohttp"
+    "test_ts_fetch_requests"
+  ];
+
+  pythonImportsCheck = [
+    "pyhanko"
+  ];
+
+  meta = with lib; {
+    description = "Sign and stamp PDF files";
+    homepage = "https://github.com/MatthiasValvekens/pyHanko";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyhiveapi/default.nix b/pkgs/development/python-modules/pyhiveapi/default.nix
index 0218b77e116..32975651e1f 100644
--- a/pkgs/development/python-modules/pyhiveapi/default.nix
+++ b/pkgs/development/python-modules/pyhiveapi/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, setuptools
 , unasync
 , boto3
 , botocore
@@ -13,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pyhiveapi";
-  version = "0.5.1";
+  version = "0.5.3";
 
   format = "pyproject";
 
@@ -23,7 +24,7 @@ buildPythonPackage rec {
     owner = "Pyhass";
     repo = "Pyhiveapi";
     rev = "v${version}";
-    hash = "sha256-/M1OjApc0l0EzNI4hs4KO6woCOmTPveTFCyj5MjM5EE=";
+    hash = "sha256-QBn+yKZN461npdhGngTnFeewE40dPZ+5TkUf5Xacajk=";
   };
 
   postPatch = ''
@@ -32,6 +33,7 @@ buildPythonPackage rec {
   '';
 
   nativeBuildInputs = [
+    setuptools
     unasync
   ];
 
diff --git a/pkgs/development/python-modules/pyinfra/default.nix b/pkgs/development/python-modules/pyinfra/default.nix
index dc25d162445..d85a1733224 100644
--- a/pkgs/development/python-modules/pyinfra/default.nix
+++ b/pkgs/development/python-modules/pyinfra/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "pyinfra";
-  version = "2.0";
+  version = "2.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-rzVirU697wGehCIc/WwE6Rg9AaYYELXfoe10GMRFHgw=";
+    sha256 = "sha256-AW2pOyLqyugTSM7PE4oR9ZwD1liNpdD636QA3ElafG0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyinsteon/default.nix b/pkgs/development/python-modules/pyinsteon/default.nix
index 0dc1c5be49c..ed28f1c7522 100644
--- a/pkgs/development/python-modules/pyinsteon/default.nix
+++ b/pkgs/development/python-modules/pyinsteon/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyinsteon";
-  version = "1.0.16";
+  version = "1.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -24,8 +24,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = version;
-    hash = "sha256-V0niLQAplN/uZ0YeN6g8uax3U/d0LUT4aXxe3ENXIHc=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-YoDCvYpbw06MXx371SNarrtQ0t4xlhwm1CBbl524P7c=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyiqvia/default.nix b/pkgs/development/python-modules/pyiqvia/default.nix
index b88bc006bcc..6ebe09463e3 100644
--- a/pkgs/development/python-modules/pyiqvia/default.nix
+++ b/pkgs/development/python-modules/pyiqvia/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pyiqvia";
-  version = "2021.11.0";
+  version = "2022.04.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Cqc3zRJ2VpKKCGF4y+4IYfvfANblCEmh0sJ3tXH1AAA=";
+    hash = "sha256-qW1rjKc1+w2rTUGackPjb0qgTZpFXh0ZRBqMmf4nDnk=";
   };
 
   nativeBuildInputs = [
@@ -51,7 +51,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "Python3 API for IQVIA data";
+    description = "Module for working with IQVIA data";
     longDescription = ''
       pyiqvia is an async-focused Python library for allergen, asthma, and
       disease data from the IQVIA family of websites (such as https://pollen.com,
diff --git a/pkgs/development/python-modules/pykulersky/default.nix b/pkgs/development/python-modules/pykulersky/default.nix
index 520f1fea269..83a5b58c7f1 100644
--- a/pkgs/development/python-modules/pykulersky/default.nix
+++ b/pkgs/development/python-modules/pykulersky/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pykulersky";
-  version = "0.5.3";
+  version = "0.5.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "emlove";
     repo = pname;
     rev = version;
-    sha256 = "sha256-l3obfs5zo5DqArsDml8EZ+/uzab35Jjsuzw6U1XFJ3k=";
+    sha256 = "sha256-voD4tR+k5TKGjLXFK94GJy4+wUoP2cSFc5BWkCiinOg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pylast/default.nix b/pkgs/development/python-modules/pylast/default.nix
index 257cb72b3ec..1a101310d40 100644
--- a/pkgs/development/python-modules/pylast/default.nix
+++ b/pkgs/development/python-modules/pylast/default.nix
@@ -1,8 +1,8 @@
 { lib
 , buildPythonPackage
-, certifi
 , fetchPypi
 , flaky
+, httpx
 , importlib-metadata
 , pytestCheckHook
 , pythonOlder
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pylast";
-  version = "4.5.0";
+  version = "5.0.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-YoALculx2trEDD1vU4xhiCGdb1OFPdxI1p2fwlZZAY8=";
+    hash = "sha256-UBi2bCtGMtcavYEDtz5m5N0UxmCaj3un5aomxzbfLfg=";
   };
 
   nativeBuildInputs = [
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    certifi
+    httpx
   ] ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata
   ];
diff --git a/pkgs/development/python-modules/pymyq/default.nix b/pkgs/development/python-modules/pymyq/default.nix
index 5f151aa46e2..94ff699507e 100644
--- a/pkgs/development/python-modules/pymyq/default.nix
+++ b/pkgs/development/python-modules/pymyq/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pymyq";
-  version = "3.1.4";
+  version = "3.1.5";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "arraylabs";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-B8CnyM0nQr8HWnD5toMd8A57j/UtnQ2aWys0netOAtA=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-/2eWB4rtHPptfc8Tm0CGk0UB+Hq1EmNhWmdrpPiUJcw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pync/default.nix b/pkgs/development/python-modules/pync/default.nix
index f01bfa33186..43161880e26 100644
--- a/pkgs/development/python-modules/pync/default.nix
+++ b/pkgs/development/python-modules/pync/default.nix
@@ -3,7 +3,6 @@
 , fetchPypi
 , python-dateutil
 , pkgs
-, coreutils
 , which
 }:
 
@@ -16,7 +15,6 @@ buildPythonPackage rec {
     sha256 = "38b9e61735a3161f9211a5773c5f5ea698f36af4ff7f77fa03e8d1ff0caa117f";
   };
 
-  nativeBuildInputs = [ coreutils ];
   checkInputs = [ which ];
   propagatedBuildInputs = [ python-dateutil ];
 
diff --git a/pkgs/development/python-modules/pynetdicom/default.nix b/pkgs/development/python-modules/pynetdicom/default.nix
index fa2b369aa2b..32c93b50e55 100644
--- a/pkgs/development/python-modules/pynetdicom/default.nix
+++ b/pkgs/development/python-modules/pynetdicom/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pynetdicom";
-  version = "2.0.1";
+  version = "2.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "pydicom";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-28SoOdS6sAj3KrfJT8PR2k8XLEY2zh0k9w1eq1y7V8M=";
+    sha256 = "sha256-/JWQUtFBW4uqCbs/nUxj1pRBfTCXV4wcqTkqvzpdFrM=";
   };
 
   propagatedBuildInputs = [
@@ -40,14 +40,17 @@ buildPythonPackage rec {
     "TestAEGoodAssociation"
     "TestEchoSCP"
     "TestEchoSCPCLI"
+    "TestEventHandlingAcceptor"
     "TestFindSCP"
     "TestFindSCPCLI"
     "TestGetSCP"
     "TestGetSCPCLI"
     "TestMoveSCP"
     "TestMoveSCPCLI"
+    "TestPrimitive_N_GET"
     "TestQRGetServiceClass"
     "TestQRMoveServiceClass"
+    "TestSearch"
     "TestState"
     "TestStorageServiceClass"
     "TestStoreSCP"
@@ -56,6 +59,11 @@ buildPythonPackage rec {
     "TestStoreSCUCLI"
   ];
 
+  disabledTestPaths = [
+    # Ignore apps tests
+    "pynetdicom/apps/tests/"
+  ];
+
   pythonImportsCheck = [
     "pynetdicom"
   ];
diff --git a/pkgs/development/python-modules/pynetgear/default.nix b/pkgs/development/python-modules/pynetgear/default.nix
index 1eabc9daaee..454c684076b 100644
--- a/pkgs/development/python-modules/pynetgear/default.nix
+++ b/pkgs/development/python-modules/pynetgear/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pynetgear";
-  version = "0.9.4";
+  version = "0.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "MatMaul";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-/oxwUukYq/a0WeO/XhkMW3Jj7I1icZZUDwh1mdbGi08=";
+    sha256 = "sha256-l+hfE1YdSoMWLonSWKX0809M0OCYxpcvPd4gV9mS4DI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pynrrd/default.nix b/pkgs/development/python-modules/pynrrd/default.nix
index 641cd6bd128..91cff70bae3 100644
--- a/pkgs/development/python-modules/pynrrd/default.nix
+++ b/pkgs/development/python-modules/pynrrd/default.nix
@@ -2,20 +2,30 @@
 , buildPythonPackage
 , fetchFromGitHub
 , numpy
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pynrrd";
-  version = "0.4.2";
+  version = "0.4.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "mhe";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "1wn3ara3i19fi1y9a5j4imyczpa6dkkzd5djggxg4kkl1ff9awrj";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-4UM2NAKWfsjxAoLQCFSPVKG5GukxqppywqvLM0V/dIs=";
   };
 
-  propagatedBuildInputs = [ numpy ];
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  pythonImportsCheck = [
+    "nrrd"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/mhe/pynrrd";
diff --git a/pkgs/development/python-modules/pynws/default.nix b/pkgs/development/python-modules/pynws/default.nix
index df258cad930..eb19d273459 100644
--- a/pkgs/development/python-modules/pynws/default.nix
+++ b/pkgs/development/python-modules/pynws/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pynws";
-  version = "1.3.2";
+  version = "1.4.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "MatthewFlamm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0d2x3vlm444aar4wbdg48xzpgwng5m7i2d7h1z0pb6c514747sd1";
+    sha256 = "sha256-hAUD92wlQZ0BZ++e/KdIOgTzavmUkrH3esDhI3mbl5Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyomo/default.nix b/pkgs/development/python-modules/pyomo/default.nix
index 20450cd9eff..105f78b5824 100644
--- a/pkgs/development/python-modules/pyomo/default.nix
+++ b/pkgs/development/python-modules/pyomo/default.nix
@@ -1,48 +1,60 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, isPy27
-, pyutilib
-, appdirs
+, parameterized
 , ply
-, six
-, nose
-, glpk
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyomo";
-  version = "6.3.0";
-  disabled = isPy27; # unable to import pyutilib.th
+  version = "6.4.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     repo = "pyomo";
     owner = "pyomo";
     rev = version;
-    sha256 = "sha256-xyjiB5fDRf5y9Av5Cr+8wtU4pHzMHsM45mcmJEOaTWs=";
+    hash = "sha256-FdUhne5Dn5hTIXMce1G6Zu6nx+AuP/JdK0a5fCE3hg8=";
   };
 
-  checkInputs = [ nose glpk ];
   propagatedBuildInputs = [
-    pyutilib
-    appdirs
     ply
-    six
   ];
 
-  checkPhase = ''
-    rm pyomo/bilevel/tests/test_blp.py \
-       pyomo/version/tests/test_installer.py \
-       pyomo/common/tests/test_download.py \
-       pyomo/core/tests/examples/test_pyomo.py
-    export HOME=$TMPDIR
-    nosetests
+  checkInputs = [
+    parameterized
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pyomo"
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d);
   '';
 
+  disabledTestPaths = [
+    # Don't test the documentation and the examples
+    "doc/"
+    "examples/"
+    # Tests don't work properly in the sandbox
+    "pyomo/environ/tests/test_environ.py"
+  ];
+
+  disabledTests = [
+    # Test requires lsb_release
+    "test_get_os_version"
+  ];
+
   meta = with lib; {
-    description = "Pyomo: Python Optimization Modeling Objects";
+    description = "Python Optimization Modeling Objects";
     homepage = "http://pyomo.org";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/pyopenuv/default.nix b/pkgs/development/python-modules/pyopenuv/default.nix
index e5d7f8d0b94..17942ca0b19 100644
--- a/pkgs/development/python-modules/pyopenuv/default.nix
+++ b/pkgs/development/python-modules/pyopenuv/default.nix
@@ -14,16 +14,16 @@
 
 buildPythonPackage rec {
   pname = "pyopenuv";
-  version = "2021.11.0";
+  version = "2022.04.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "bachya";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-J0YIq00/GcWEL23UHmN98Jp/imOAz8NLzhMdk8WFozk=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-qPk3XA6ciID6h12102AGLxfaTmE63BzKPLvwFn6F1tM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyoppleio/default.nix b/pkgs/development/python-modules/pyoppleio/default.nix
new file mode 100644
index 00000000000..f0d11d86c7c
--- /dev/null
+++ b/pkgs/development/python-modules/pyoppleio/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, crc16
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pyoppleio";
+  version = "1.0.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-S1w3pPqhX903kkXUq9ALz0+zRvNGOimLughRRVKjV8E=";
+  };
+
+  propagatedBuildInputs = [
+    crc16
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pyoppleio"
+  ];
+
+  meta = with lib; {
+    description = "Library for interacting with OPPLE lights";
+    homepage = "https://github.com/jedmeng/python-oppleio";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyplaato/default.nix b/pkgs/development/python-modules/pyplaato/default.nix
index 1870647a341..f070340f929 100644
--- a/pkgs/development/python-modules/pyplaato/default.nix
+++ b/pkgs/development/python-modules/pyplaato/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pyplaato";
-  version = "0.0.17";
+  version = "0.0.18";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fd7gHDah5yoqpH5d3bwEDsIfeflXzXevJLMD7lvz180=";
+    hash = "sha256-HZF3Yxb/dTQSVzTkdAbfeD1Zyf8jFHoF3nt6OcdCnAM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyplatec/default.nix b/pkgs/development/python-modules/pyplatec/default.nix
index 0c8c6c4328a..aff4d54abc4 100644
--- a/pkgs/development/python-modules/pyplatec/default.nix
+++ b/pkgs/development/python-modules/pyplatec/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 }:
@@ -16,6 +17,7 @@ buildPythonPackage rec {
     description = "Library to simulate plate tectonics with Python bindings";
     homepage    = "https://github.com/Mindwerks/plate-tectonics";
     license     = licenses.lgpl3;
+    broken      = stdenv.isLinux;
   };
 
 }
diff --git a/pkgs/development/python-modules/pypykatz/default.nix b/pkgs/development/python-modules/pypykatz/default.nix
index 67b5bf8be9e..72fdb6d3c5b 100644
--- a/pkgs/development/python-modules/pypykatz/default.nix
+++ b/pkgs/development/python-modules/pypykatz/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pypykatz";
-  version = "0.5.6";
+  version = "0.5.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-iuLQfdRNxy6Z+7sYGG+dSHlxicOPtNOdB/VNLyZjRsY=";
+    hash = "sha256-G+dbP+xtRH8dIU70HbimRJV+e/yYlo2ds5OAIzUcydY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyqtwebengine/default.nix b/pkgs/development/python-modules/pyqtwebengine/default.nix
index f59694876cc..12021e52271 100644
--- a/pkgs/development/python-modules/pyqtwebengine/default.nix
+++ b/pkgs/development/python-modules/pyqtwebengine/default.nix
@@ -66,6 +66,6 @@ in buildPythonPackage rec {
     description = "Python bindings for Qt5";
     homepage    = "http://www.riverbankcomputing.co.uk";
     license     = licenses.gpl3;
-    platforms   = platforms.mesaPlatforms;
+    platforms   = lib.lists.intersectLists qtwebengine.meta.platforms platforms.mesaPlatforms;
   };
 }
diff --git a/pkgs/development/python-modules/pyradios/default.nix b/pkgs/development/python-modules/pyradios/default.nix
index 06d5f972483..da140669e8d 100644
--- a/pkgs/development/python-modules/pyradios/default.nix
+++ b/pkgs/development/python-modules/pyradios/default.nix
@@ -3,6 +3,7 @@
 , fetchPypi
 , appdirs
 , requests
+, setuptools
 , pythonOlder
 }:
 
@@ -21,6 +22,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     appdirs
     requests
+    setuptools
   ];
 
   # Tests and pythonImportsCheck require network access
diff --git a/pkgs/development/python-modules/pyrainbird/default.nix b/pkgs/development/python-modules/pyrainbird/default.nix
new file mode 100644
index 00000000000..74f0ed630a2
--- /dev/null
+++ b/pkgs/development/python-modules/pyrainbird/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, parameterized
+, pycryptodome
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, requests
+, responses
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "pyrainbird";
+  version = "0.4.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "jbarrancos";
+    repo = pname;
+    rev = version;
+    hash = "sha256-uRHknWvoPKPu3B5MbSEUlWqBKwAbNMwsgXuf6PZxhkU=";
+  };
+
+  propagatedBuildInputs = [
+    pycryptodome
+    pyyaml
+    requests
+    setuptools
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    parameterized
+    responses
+  ];
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "datetime" ""
+    substituteInPlace pytest.ini \
+      --replace "--cov=pyrainbird --cov-report=term-missing --pep8 --flakes --mccabe" ""
+  '';
+
+  pythonImportsCheck = [
+    "pyrainbird"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with Rainbird controllers";
+    homepage = "https://github.com/jbarrancos/pyrainbird/";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyrevolve/default.nix b/pkgs/development/python-modules/pyrevolve/default.nix
new file mode 100644
index 00000000000..74fdc68c07e
--- /dev/null
+++ b/pkgs/development/python-modules/pyrevolve/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, contexttimer
+, versioneer
+, cython
+, numpy
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "pyrevolve";
+  version = "2.2";
+
+  src = fetchFromGitHub {
+    owner = "devitocodes";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-5a4zvyf2vfz8aI6vFMI2vxekYrcUi/YuPFvZnUOx+Zs=";
+  };
+
+  nativeBuildInputs = [ versioneer cython ];
+  propagatedBuildInputs = [ contexttimer numpy ];
+
+  checkInputs = [ pytest ];
+  # Using approach bellow bcs the tests fail with the pytestCheckHook, throwing the following error
+  # ImportError: cannot import name 'crevolve' from partially initialized module 'pyrevolve'
+  # (most likely due to a circular import)
+  checkPhase = ''
+    pytest
+  '';
+
+  pythonImportsCheck = [ "pyrevolve" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/devitocodes/pyrevolve";
+    description = "Python library to manage checkpointing for adjoints";
+    license = licenses.epl10;
+    maintainers = with maintainers; [ atila ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyrogram/default.nix b/pkgs/development/python-modules/pyrogram/default.nix
index d4d49fd2626..6a2ce2af05e 100644
--- a/pkgs/development/python-modules/pyrogram/default.nix
+++ b/pkgs/development/python-modules/pyrogram/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchPypi
+, fetchFromGitHub
 , pyaes
 , pysocks
 , async-lru
@@ -12,14 +12,15 @@
 
 buildPythonPackage rec {
   pname = "pyrogram";
-  version = "1.4.16";
+  version = "2.0.16";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    pname = "Pyrogram";
-    inherit version;
-    hash = "sha256-ZYAPaAa92z3KtciVHOexdZf9bwZjKQ9WKg6+We0dW+Q=";
+  src = fetchFromGitHub {
+    owner = "pyrogram";
+    repo = "pyrogram";
+    rev = "v${version}";
+    hash = "sha256-uRGLk8XTHimKtkVjPPe2ohTPv3UiaxmkRywQY4iPHyg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pysaj/default.nix b/pkgs/development/python-modules/pysaj/default.nix
new file mode 100644
index 00000000000..15f8dd0fccf
--- /dev/null
+++ b/pkgs/development/python-modules/pysaj/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, lxml
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pysaj";
+  version = "0.0.16";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "fredericvl";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-7mN6GPRbXfEUfCrCrCs71SSt4x2Ch2y3a5rfXnuwVA0=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    lxml
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pysaj"
+  ];
+
+  meta = with lib; {
+    description = "Library to communicate with SAJ inverters";
+    homepage = "https://github.com/fredericvl/pysaj";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysensibo/default.nix b/pkgs/development/python-modules/pysensibo/default.nix
new file mode 100644
index 00000000000..98cf9444b0e
--- /dev/null
+++ b/pkgs/development/python-modules/pysensibo/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pysensibo";
+  version = "1.0.14";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "andrey-git";
+    repo = pname;
+    rev = version;
+    hash = "sha256-r2YIQ6JPyRWzfXprj3tFwrsAR0NtmVLncWZAsLkAzSA=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # no tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pysensibo"
+  ];
+
+  meta = with lib; {
+    description = "Module for interacting with Sensibo";
+    homepage = "https://github.com/andrey-git/pysensibo";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyshp/default.nix b/pkgs/development/python-modules/pyshp/default.nix
index fab58a72251..122d90ccf1e 100644
--- a/pkgs/development/python-modules/pyshp/default.nix
+++ b/pkgs/development/python-modules/pyshp/default.nix
@@ -2,12 +2,12 @@
 , setuptools }:
 
 buildPythonPackage rec {
-  version = "2.2.0";
+  version = "2.3.0";
   pname = "pyshp";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Dtogm9YvM0VwHE9nmbY4wRTOtn/uKClc3bThyvBT6UQ=";
+    sha256 = "sha256-glBk6kA6zxNehGz4sJJEmUMOa+HNN6DzS+cTCQZhfTw=";
   };
 
   buildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/pysigma/default.nix b/pkgs/development/python-modules/pysigma/default.nix
index 921de2e0c7e..210e9040581 100644
--- a/pkgs/development/python-modules/pysigma/default.nix
+++ b/pkgs/development/python-modules/pysigma/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pysigma";
-  version = "0.5.0";
+  version = "0.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma";
     rev = "v${version}";
-    hash = "sha256-HGF8Tu28ksIfaCKAbnJv6sDmoQrDDjteVLxbJN1HH3U=";
+    hash = "sha256-U5jBFnWC73W9tFco5faiqGmk8K+Ig18f9HhXJ4vhhGs=";
   };
 
   nativeBuildInputs = [
@@ -36,11 +36,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'pyparsing = "^3.0.7"' 'pyparsing = "*"' \
-  '';
-
   pythonImportsCheck = [
     "sigma"
   ];
diff --git a/pkgs/development/python-modules/pyskyqremote/default.nix b/pkgs/development/python-modules/pyskyqremote/default.nix
index e72e38b30cb..e7e52991f6e 100644
--- a/pkgs/development/python-modules/pyskyqremote/default.nix
+++ b/pkgs/development/python-modules/pyskyqremote/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pyskyqremote";
-  version = "0.3.5";
+  version = "0.3.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,8 +17,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "RogerSelwyn";
     repo = "skyq_remote";
-    rev = version;
-    sha256 = "sha256-/BhNoU1dnZj07ZvG126srSb6eW00n8htFuDttq006QE=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-CCbLRb8eoMuYH3it2onfiUzHLW6sirePR/lqATpp4K0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytenable/default.nix b/pkgs/development/python-modules/pytenable/default.nix
index 843f140ce75..7405df0aaf0 100644
--- a/pkgs/development/python-modules/pytenable/default.nix
+++ b/pkgs/development/python-modules/pytenable/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "pytenable";
-  version = "1.4.4";
+  version = "1.4.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "tenable";
     repo = "pyTenable";
     rev = version;
-    hash = "sha256-qp+e40z24RIOV5RfSw/nI/y1Z3972nCLN8DgQyLbDOc=";
+    hash = "sha256-0isXHh0b2l8Br4XXR1y8A+zu8vkJjEsJ6faNNEx12lM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-aiohttp/default.nix b/pkgs/development/python-modules/pytest-aiohttp/default.nix
index 794bbce74e0..bc9d4c37a87 100644
--- a/pkgs/development/python-modules/pytest-aiohttp/default.nix
+++ b/pkgs/development/python-modules/pytest-aiohttp/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , setuptools-scm
 , aiohttp
 , pytest
@@ -11,29 +10,27 @@
 
 buildPythonPackage rec {
   pname = "pytest-aiohttp";
-  version = "1.0.3";
+  version = "1.0.4";
+
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-DI/rSNyOuAhw4rFTrK9iu7zCB5d+vLdDZf/P4WrcnxU=";
+    sha256 = "39ff3a0d15484c01d1436cbedad575c6eafbf0f57cdf76fb94994c97b5b8c5a4";
   };
 
-  patches = [
-    # https://github.com/aio-libs/pytest-aiohttp/pull/26
-    (fetchpatch {
-      name = "fix-tests-with-pytest-asyncio-0.18.0.patch";
-      url = "https://github.com/aio-libs/pytest-aiohttp/commit/97152c2dfdd368f799ec6bcb5fc315736a726f53.patch";
-      hash = "sha256-g7MTyCKUHnufOfrbhVV58WtfbGt1uXx8F7U9U+EaXfg=";
-    })
-  ];
-
   nativeBuildInputs = [
     setuptools-scm
   ];
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  buildInputs = [
+    pytest
+  ];
+
   propagatedBuildInputs = [
     aiohttp
-    pytest
     pytest-asyncio
   ];
 
@@ -43,6 +40,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/aio-libs/pytest-aiohttp/";
+    changelog = "https://github.com/aio-libs/pytest-aiohttp/blob/v${version}/CHANGES.rst";
     description = "Pytest plugin for aiohttp support";
     license = licenses.asl20;
     maintainers = with maintainers; [ dotlambda ];
diff --git a/pkgs/development/python-modules/pytest-ansible/default.nix b/pkgs/development/python-modules/pytest-ansible/default.nix
index 8285996170a..ee8d7caf779 100644
--- a/pkgs/development/python-modules/pytest-ansible/default.nix
+++ b/pkgs/development/python-modules/pytest-ansible/default.nix
@@ -40,5 +40,7 @@ buildPythonPackage rec {
     description = "Plugin for py.test to simplify calling ansible modules from tests or fixtures";
     license = licenses.mit;
     maintainers = [ maintainers.costrouc ];
+    # https://github.com/ansible-community/pytest-ansible/blob/v2.2.4/setup.py#L124
+    broken = lib.versionAtLeast ansible.version "2.10";
   };
 }
diff --git a/pkgs/development/python-modules/pytest-datafiles/default.nix b/pkgs/development/python-modules/pytest-datafiles/default.nix
index bdcab2788ae..fb960c13de5 100644
--- a/pkgs/development/python-modules/pytest-datafiles/default.nix
+++ b/pkgs/development/python-modules/pytest-datafiles/default.nix
@@ -1,18 +1,43 @@
-{ lib, buildPythonPackage, fetchPypi, py, pytest }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, py
+, pytest
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "pytest-datafiles";
-  version = "2.0";
-  src = fetchPypi {
-    inherit version pname;
-    sha256 = "1yfvaqbqvjfikz215kwn6qiwwn9girka93zq4jphgfyvn75jjcql";
+  version = "2.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "omarkohl";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-M0Lnsqi05Xs0uN6LlafNS7HJZOut+nrMZyvGPMMhIkc=";
   };
 
-  buildInputs = [ py pytest ];
+  buildInputs = [
+    py
+    pytest
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pytest_datafiles"
+  ];
 
   meta = with lib; {
-    license = licenses.mit;
+    description = "Pytest plugin to create a tmpdir containing predefined files/directories";
     homepage = "https://github.com/omarkohl/pytest-datafiles";
-    description = "py.test plugin to create a 'tmpdir' containing predefined files/directories.";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pytest-isort/default.nix b/pkgs/development/python-modules/pytest-isort/default.nix
index c06959b96c4..234742f2e6d 100644
--- a/pkgs/development/python-modules/pytest-isort/default.nix
+++ b/pkgs/development/python-modules/pytest-isort/default.nix
@@ -1,26 +1,64 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27, mock, pytest, isort }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, importlib-metadata
+, isort
+, poetry-core
+, pytest
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "pytest-isort";
   version = "3.0.0";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-T+Sybq0q93ZzDsI/WHDXQh81qs4ipBxOk4WG702Hh8s=";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "stephrdev";
+    repo = pname;
+    rev = version;
+    hash = "sha256-gbEO3HBDeZ+nUACzpeV6iVuCdNHS5956wFzIYkbam+M=";
   };
 
-  propagatedBuildInputs = [ isort ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [
+    pytest
+  ];
+
+  propagatedBuildInputs = [
+    isort
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkInputs = [ pytest ]
-    ++ lib.optionals isPy27 [ mock ];
+  patches = [
+    # Can be removed with the next release, https://github.com/stephrdev/pytest-isort/pull/44
+    (fetchpatch {
+      name = "switch-to-poetry-core.patch";
+      url = "https://github.com/stephrdev/pytest-isort/commit/f17ed2d294ae90e415d051e1c720982e3dd01bff.patch";
+      sha256 = "sha256-PiOs0c61BNx/tZN11DYblOd7tNzGthNnlkmYMTI9v18=";
+    })
+  ];
 
-  checkPhase = ''
-    py.test -vs --cache-clear
-  '';
+  pythonImportsCheck = [
+    "pytest_isort"
+  ];
 
   meta = with lib; {
     description = "Pytest plugin to perform isort checks (import ordering)";
     homepage = "https://github.com/moccu/pytest-isort/";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pytest-mpl/default.nix b/pkgs/development/python-modules/pytest-mpl/default.nix
index 040299ad544..f0215ed7d7b 100644
--- a/pkgs/development/python-modules/pytest-mpl/default.nix
+++ b/pkgs/development/python-modules/pytest-mpl/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-mpl";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-iE4HjS1TgK9WQzhOIzw1jpZZgl+y2X/9r48YXENMjYk=";
+    sha256 = "sha256-p5/UKLVoDYclp2o/MBb2oX1pHzxsQpHjmfwU1kFSKbw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-snapshot/default.nix b/pkgs/development/python-modules/pytest-snapshot/default.nix
index 34833bcc30a..0d24f8fa202 100644
--- a/pkgs/development/python-modules/pytest-snapshot/default.nix
+++ b/pkgs/development/python-modules/pytest-snapshot/default.nix
@@ -5,18 +5,21 @@
 , pytest
 , setuptools-scm
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pytest-snapshot";
-  version = "0.8.1";
+  version = "0.9.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.5";
+
   src = fetchFromGitHub {
     owner = "joseph-roitman";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-ymB9h3Mc6GSMRsxIh6uuf111qLvIkNAnFsxR6O2SF7s=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-0PZu9wL29iEppLxxbl4D0E4WfOHe61KUUld003cRBRU=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/python-barcode/default.nix b/pkgs/development/python-modules/python-barcode/default.nix
new file mode 100644
index 00000000000..7a586c2caed
--- /dev/null
+++ b/pkgs/development/python-modules/python-barcode/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools-scm
+, imagesSupport ? false
+, pillow
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "python-barcode";
+  version = "0.13.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-+vukqiTp2Wl3e+UhwpT/GPbCs2rWO1/C8hCNly4jslI=";
+  };
+
+  propagatedBuildInputs = [
+    setuptools-scm
+  ] ++ lib.optionals (imagesSupport) [
+    pillow
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=barcode" "" \
+      --replace "--cov-report=term-missing:skip-covered" "" \
+      --replace "--no-cov-on-fail" ""
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "barcode" ];
+
+  meta = with lib; {
+    description = "Create standard barcodes with Python";
+    homepage = "https://github.com/WhyNotHugo/python-barcode";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-benedict/default.nix b/pkgs/development/python-modules/python-benedict/default.nix
index bf386d6d62d..03d6be7c306 100644
--- a/pkgs/development/python-modules/python-benedict/default.nix
+++ b/pkgs/development/python-modules/python-benedict/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "python-benedict";
-  version = "0.25.0";
+  version = "0.25.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,8 +27,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "fabiocaccamo";
     repo = pname;
-    rev = version;
-    hash = "sha256-G7pTbxNcESMUiKpQxjiF0gwN5mBhmuwIDlzauN5JCB4=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-egOrotWgRyB6pdWUIRWogwdoK82g/1JfRDc85W4FrjQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-efl/default.nix b/pkgs/development/python-modules/python-efl/default.nix
index c5557b3fa6d..24e076d1391 100644
--- a/pkgs/development/python-modules/python-efl/default.nix
+++ b/pkgs/development/python-modules/python-efl/default.nix
@@ -44,6 +44,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/DaveMDS/python-efl";
     platforms = platforms.linux;
     license = with licenses; [ gpl3 lgpl3 ];
-    maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx romildo ];
+    maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx ] ++ teams.enlightenment.members;
   };
 }
diff --git a/pkgs/development/python-modules/python-gitlab/default.nix b/pkgs/development/python-modules/python-gitlab/default.nix
index 8ccf35ff8e8..3db152119a2 100644
--- a/pkgs/development/python-modules/python-gitlab/default.nix
+++ b/pkgs/development/python-modules/python-gitlab/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "python-gitlab";
-  version = "3.3.0";
+  version = "3.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-/vJdQaYvkdqC7iD3KnKLnGnu80zwowBc27mgtHHVtJg=";
+    sha256 = "sha256-YYC4HuLyZa2NhBKVahdAtNPOynsori9wff5iN1/tAII=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-kasa/default.nix b/pkgs/development/python-modules/python-kasa/default.nix
index 46ee0ad00fb..c45a32d2f61 100644
--- a/pkgs/development/python-modules/python-kasa/default.nix
+++ b/pkgs/development/python-modules/python-kasa/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , importlib-metadata
+, pydantic
 , poetry-core
 , pytest-asyncio
 , pytest-mock
@@ -13,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "python-kasa";
-  version = "0.4.3";
+  version = "0.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +23,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-r1PoOxFPA4zYFEpw+BakzDAJ13IMfcZpTJWkRt/q4go=";
+    sha256 = "sha256-9zCUYB+TYgDMoTHpR0u42Usq2EKp8vtzlTgU82eXxl8=";
   };
 
   nativeBuildInputs = [
@@ -32,6 +33,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     asyncclick
     importlib-metadata
+    pydantic
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/python-pae/default.nix b/pkgs/development/python-modules/python-pae/default.nix
new file mode 100644
index 00000000000..067d2a2843e
--- /dev/null
+++ b/pkgs/development/python-modules/python-pae/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, poetry-core
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "python-pae";
+  version = "0.1.0";
+  format = "pyproject";
+  disabled = pythonOlder "3.7";
+
+  # Tests are on GitHub
+  src = fetchFromGitHub {
+    owner = "MatthiasValvekens";
+    repo = "python-pae";
+    rev = version;
+    sha256 = "sha256-D0X2T0ze79KR6Gno4UWpA/XvlkK6Y/jXUtLbzlOKr3E=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "python_pae" ];
+
+  meta = with lib; {
+    description = "Pre-authentication encoding (PAE) implementation in Python";
+    homepage = "https://github.com/MatthiasValvekens/python-pae";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-smarttub/default.nix b/pkgs/development/python-modules/python-smarttub/default.nix
index 6770b589ce7..1b1deba78fa 100644
--- a/pkgs/development/python-modules/python-smarttub/default.nix
+++ b/pkgs/development/python-modules/python-smarttub/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "python-smarttub";
-  version = "0.0.31";
+  version = "0.0.32";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "mdz";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-tyE50HzwnrxXGWJ0+YRxCmSxtqrPnYmJzBH2ZDFJDZ4=";
+    sha256 = "sha256-3qAs0vL6YGFDsMFC3KAhSc/axxVOll/SOswaJgVi9Hc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-sql/default.nix b/pkgs/development/python-modules/python-sql/default.nix
index a32dcfa5f00..91012839d05 100644
--- a/pkgs/development/python-modules/python-sql/default.nix
+++ b/pkgs/development/python-modules/python-sql/default.nix
@@ -1,18 +1,34 @@
-{ lib, fetchPypi, buildPythonPackage }:
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "python-sql";
-  version = "1.3.0";
+  version = "1.4.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9d603a6273f2f5966bab7ce77e1f50e88818d5237ac85e566e2dc84ebfabd176";
+    hash = "sha256-b+dkCC9IiR2Ffqfm+kJfpU8TUx3fa4nyTAmOZGrRtLY=";
   };
 
-  meta = {
-    homepage = "https://python-sql.tryton.org/";
-    description = "A library to write SQL queries in a pythonic way";
-    maintainers = with lib.maintainers; [ johbo ];
-    license = lib.licenses.bsd3;
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "sql"
+  ];
+
+  meta = with lib; {
+    description = "Library to write SQL queries in a pythonic way";
+    homepage = "https://pypi.org/project/python-sql/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ johbo ];
   };
 }
diff --git a/pkgs/development/python-modules/pytomorrowio/default.nix b/pkgs/development/python-modules/pytomorrowio/default.nix
index 2c695fc7e05..abc90f2a6c7 100644
--- a/pkgs/development/python-modules/pytomorrowio/default.nix
+++ b/pkgs/development/python-modules/pytomorrowio/default.nix
@@ -3,19 +3,20 @@
 , pythonOlder
 , fetchPypi
 , aiohttp
+, pytest-aiohttp
 , pytest-asyncio
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pytomorrowio";
-  version = "0.2.1";
+  version = "0.3.3";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aabb41436fb5834b687d73b334d95be07a18d5943d27a1fd06271b749558ba0e";
+    sha256 = "0d4f81dc90aefa26da18b927473cb7b08b093f7732301983ef5f0b1ca1181c62";
   };
 
   propagatedBuildInputs = [
@@ -23,6 +24,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    pytest-aiohttp
     pytest-asyncio
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/pytorch-metric-learning/default.nix b/pkgs/development/python-modules/pytorch-metric-learning/default.nix
index 64dfca2e94b..8dd2211e3e4 100644
--- a/pkgs/development/python-modules/pytorch-metric-learning/default.nix
+++ b/pkgs/development/python-modules/pytorch-metric-learning/default.nix
@@ -59,5 +59,6 @@ buildPythonPackage rec {
     changelog = "https://github.com/KevinMusgrave/pytorch-metric-learning/releases/tag/v${version}";
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ bcdarwin ];
+    broken = true;  # requires faiss which is unpackaged
   };
 }
diff --git a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
index 3c239d97040..2da1536a6f6 100644
--- a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
+++ b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
@@ -3,25 +3,32 @@
 , lib
 , numpy
 , onnx
+, packaging
 , pytestCheckHook
 , pytorch
+, torchvision
 , typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "pytorch-pfn-extras";
-  version = "0.5.7";
+  version = "0.5.8";
 
   src = fetchFromGitHub {
     owner = "pfnet";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-gB575ZKXZRAy5K5CkBtfG6KG1yQ9WDREIobsy43CEOc=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-ApXDO7VMnExYfh5nfiIaxdbvPjR7dWRAkxh3+0KxWnM=";
   };
 
-  propagatedBuildInputs = [ numpy pytorch typing-extensions ];
+  propagatedBuildInputs = [ numpy packaging pytorch typing-extensions ];
 
-  checkInputs = [ onnx pytestCheckHook ];
+  checkInputs = [ onnx pytestCheckHook torchvision ];
+
+  # ignore all pytest warnings
+  preCheck = ''
+    rm pytest.ini
+  '';
 
   pythonImportsCheck = [ "pytorch_pfn_extras" ];
 
@@ -29,6 +36,15 @@ buildPythonPackage rec {
     # Requires optuna which is currently (2022-02-16) marked as broken.
     "tests/pytorch_pfn_extras_tests/test_config_types.py"
 
+    # requires onnxruntime which was removed because of poor maintainability
+    # See https://github.com/NixOS/nixpkgs/pull/105951 https://github.com/NixOS/nixpkgs/pull/155058
+    "tests/pytorch_pfn_extras_tests/onnx_tests/test_export.py"
+    "tests/pytorch_pfn_extras_tests/onnx_tests/test_torchvision.py"
+    "tests/pytorch_pfn_extras_tests/onnx_tests/utils.py"
+
+    # RuntimeError: No Op registered for Gradient with domain_version of 9
+    "tests/pytorch_pfn_extras_tests/onnx_tests/test_grad.py"
+
     # Requires CUDA access which is not possible in the nix environment.
     "tests/pytorch_pfn_extras_tests/cuda_tests/test_allocator.py"
     "tests/pytorch_pfn_extras_tests/nn_tests/modules_tests/test_lazy_batchnorm.py"
diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix
index 810460a30ad..4c7ad30a4a9 100644
--- a/pkgs/development/python-modules/pytorch/default.nix
+++ b/pkgs/development/python-modules/pytorch/default.nix
@@ -6,7 +6,7 @@
   cudaArchList ? null,
 
   # Native build inputs
-  cmake, util-linux, linkFarm, symlinkJoin, which, pybind11,
+  cmake, util-linux, linkFarm, symlinkJoin, which, pybind11, removeReferencesTo,
 
   # Build inputs
   numactl,
@@ -220,6 +220,7 @@ in buildPythonPackage rec {
     which
     ninja
     pybind11
+    removeReferencesTo
   ] ++ lib.optionals cudaSupport [ cudatoolkit_joined ];
 
   buildInputs = [ blas blas.provider ]
@@ -259,6 +260,8 @@ in buildPythonPackage rec {
     ])
   ];
   postInstall = ''
+    find "$out/${python.sitePackages}/torch/include" "$out/${python.sitePackages}/torch/lib" -type f -exec remove-references-to -t ${stdenv.cc} '{}' +
+
     mkdir $dev
     cp -r $out/${python.sitePackages}/torch/include $dev/include
     cp -r $out/${python.sitePackages}/torch/share   $dev/share
@@ -273,7 +276,8 @@ in buildPythonPackage rec {
       --replace \''${_IMPORT_PREFIX}/lib "$lib/lib"
 
     mkdir $lib
-    cp -r $out/${python.sitePackages}/torch/lib     $lib/lib
+    mv $out/${python.sitePackages}/torch/lib     $lib/lib
+    ln -s $lib/lib $out/${python.sitePackages}/torch/lib
   '';
 
   postFixup = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/python-modules/pytrafikverket/default.nix b/pkgs/development/python-modules/pytrafikverket/default.nix
index 0a65a960fb7..660a6a70bfc 100644
--- a/pkgs/development/python-modules/pytrafikverket/default.nix
+++ b/pkgs/development/python-modules/pytrafikverket/default.nix
@@ -4,15 +4,19 @@
 , aiohttp
 , async-timeout
 , lxml
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pytrafikverket";
-  version = "0.1.6.2";
+  version = "0.2.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0hrjsw53ixgmhsiszdrzzh0wma705nrhq8npzacsyaf43r29zvqy";
+    hash = "sha256-RsB8b96aCIBM3aABOuuexB5fIo7H1Kq/XsGvV8b7/sA=";
   };
 
   propagatedBuildInputs = [
@@ -23,10 +27,13 @@ buildPythonPackage rec {
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "pytrafikverket" ];
+
+  pythonImportsCheck = [
+    "pytrafikverket"
+  ];
 
   meta = with lib; {
-    description = "Python library to manage Etekcity Devices and Levoit Air Purifier";
+    description = "Library to get data from the Swedish Transport Administration (Trafikverket) API";
     homepage = "https://github.com/endor-force/pytrafikverket";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
diff --git a/pkgs/development/python-modules/pyttsx3/default.nix b/pkgs/development/python-modules/pyttsx3/default.nix
new file mode 100644
index 00000000000..fc476234060
--- /dev/null
+++ b/pkgs/development/python-modules/pyttsx3/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchPypi, espeak-ng }:
+
+buildPythonPackage rec {
+  pname = "pyttsx3";
+  version = "2.90";
+  format = "wheel";
+
+  src = fetchPypi {
+    inherit pname version format;
+    sha256 = "a585b6d8cffc19bd92db1e0ccbd8aa9c6528dd2baa5a47045d6fed542a44aa19";
+    dist = "py3";
+    python = "py3";
+  };
+
+  # This package has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Offline text-to-speech synthesis library";
+    homepage = "https://github.com/nateshmbhat/pyttsx3";
+    license = licenses.mpl20;
+    maintainers = [ maintainers.ethindp ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index e3a810be916..799271371c7 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.1.12332";
-  format = "setuptools";
+  version = "9.2.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-e1lruHgppQ8mJbTx6xsUDSkLCYQISqM9c1vsjdQU4eI=";
+    hash = "sha256-b6LZJmAyxklvZxvane19dK/kQfbLPjkk29RydiWMZCY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyvips/default.nix b/pkgs/development/python-modules/pyvips/default.nix
index b25d9d3b5ae..39747678566 100644
--- a/pkgs/development/python-modules/pyvips/default.nix
+++ b/pkgs/development/python-modules/pyvips/default.nix
@@ -1,23 +1,23 @@
-{ buildPythonPackage, fetchPypi, pytest-runner, pytestCheckHook, glib, vips, cffi
-, pkg-config, pkgconfig, lib }:
+{ buildPythonPackage, fetchFromGitHub, pytestCheckHook, glib, vips, cffi
+, pkgconfig, lib }:
 
 buildPythonPackage rec {
   pname = "pyvips";
   version = "2.1.16";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "654c03014a15f846786807a2ece6f525a8fec883d1c857742c8e37da149a81ed";
+  src = fetchFromGitHub {
+    owner = "libvips";
+    repo = "pyvips";
+    rev = "v${version}";
+    sha256 = "sha256-8CeQbx3f2i0lEU0wxPeUwHlUGtzOztzTOdFNjIDy8s0=";
   };
 
-  nativeBuildInputs = [ pytest-runner pkgconfig pkg-config ];
+  nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [ glib vips ];
 
   propagatedBuildInputs = [ cffi ];
 
-  # tests are not included in pypi tarball
-  doCheck = false;
   checkInputs = [ pytestCheckHook ];
 
   pythonImportsCheck = [ "pyvips" ];
diff --git a/pkgs/development/python-modules/pyvo/default.nix b/pkgs/development/python-modules/pyvo/default.nix
index 715cf0196aa..c04c70ebc60 100644
--- a/pkgs/development/python-modules/pyvo/default.nix
+++ b/pkgs/development/python-modules/pyvo/default.nix
@@ -49,7 +49,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Astropy affiliated package for accessing Virtual Observatory data and services";
-    homepage = "github.com/astropy/pyvo";
+    homepage = "https://github.com/astropy/pyvo";
     license = licenses.bsd3;
     maintainers = with maintainers; [ smaret ];
   };
diff --git a/pkgs/development/python-modules/pywinrm/default.nix b/pkgs/development/python-modules/pywinrm/default.nix
index 629c75bfeaf..8830ee67e2d 100644
--- a/pkgs/development/python-modules/pywinrm/default.nix
+++ b/pkgs/development/python-modules/pywinrm/default.nix
@@ -1,10 +1,10 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy38
+, pythonOlder
 , kerberos
 , mock
-, pytest
+, pytestCheckHook
 , requests
 , requests_ntlm
 , six
@@ -13,25 +13,41 @@
 
 buildPythonPackage rec {
   pname = "pywinrm";
-  version = "0.4.2";
-  disabled = isPy38;
+  version = "0.4.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e7865ec5e46e7fedb859c656cfaba4fcf669de7c042b5a7d8a759544636bcfb7";
+    hash = "sha256-mVZ0v1rGSyViycVlQEcxCeUw02veEMJi1aUpYSGtVWU=";
   };
 
-  checkInputs = [ mock pytest ];
-  propagatedBuildInputs = [ requests requests_ntlm six kerberos xmltodict ];
+  propagatedBuildInputs = [
+    requests
+    requests_ntlm
+    six
+    kerberos
+    xmltodict
+  ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "winrm"
+  ];
+
+  pytestFlagsArray = [
+    "winrm/tests/"
+  ];
 
   meta = with lib; {
     description = "Python library for Windows Remote Management";
     homepage = "https://github.com/diyan/pywinrm";
     license = licenses.mit;
-    maintainers = with maintainers; [
-      elasticdog
-      kamadorueda
-    ];
-    platforms = platforms.all;
+    maintainers = with maintainers; [ elasticdog kamadorueda ];
   };
 }
diff --git a/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix b/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
index 8f8d510712c..ca2f9b22d83 100644
--- a/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
+++ b/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
@@ -40,15 +40,15 @@ let
 in
 buildPythonPackage rec {
   pname = "qiskit-ibmq-provider";
-  version = "0.19.0";
+  version = "0.19.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Qiskit";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-ODu8OgGpzlMjRX7ebMu4DXKj6jUyohCq4Hb8aV5eWIU=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-VdGdaOxCwD2Qa0JCCDVZJtcjhmTssS/KgpcjoaPXYB8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qiskit-terra/default.nix b/pkgs/development/python-modules/qiskit-terra/default.nix
index 8289e3e24ec..ca71de5dbbd 100644
--- a/pkgs/development/python-modules/qiskit-terra/default.nix
+++ b/pkgs/development/python-modules/qiskit-terra/default.nix
@@ -55,7 +55,7 @@ in
 
 buildPythonPackage rec {
   pname = "qiskit-terra";
-  version = "0.20.0";
+  version = "0.20.1";
 
   disabled = pythonOlder "3.7";
 
@@ -63,7 +63,7 @@ buildPythonPackage rec {
     owner = "qiskit";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/t87IgazpJlfd8NT2Pkn5b6/Ut104DcJEFCubQ/bBiw=";
+    sha256 = "sha256-spKLPUlUXBmnIo/rnBPUFf72Vxd53xFhh409KzytpkI=";
   };
 
   nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [ rust.rustc rust.cargo cargoSetupHook ]);
@@ -71,7 +71,7 @@ buildPythonPackage rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "sha256-tNiBXn32g1PTuTmKNXSac+4PLSc1Ao9n+oAMfvVYR30=";
+    sha256 = "sha256-KNx7c5Jc1AWIpldMQ1AcWYuMb4W+yLY/cgB87hzPuVY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qiskit/default.nix b/pkgs/development/python-modules/qiskit/default.nix
index 74d227e22e9..b3c15b1b385 100644
--- a/pkgs/development/python-modules/qiskit/default.nix
+++ b/pkgs/development/python-modules/qiskit/default.nix
@@ -28,7 +28,7 @@ in
 buildPythonPackage rec {
   pname = "qiskit";
   # NOTE: This version denotes a specific set of subpackages. See https://qiskit.org/documentation/release_notes.html#version-history
-  version = "0.36.0";
+  version = "0.36.1";
 
   disabled = pythonOlder "3.6";
 
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     owner = "Qiskit";
     repo = "qiskit";
     rev = version;
-    sha256 = "sha256-zTdvROru56/HNpoHKSVe3pQZeDSMFmaTCUAr1FOaE5A=";
+    sha256 = "sha256-cprFWWvYgfoJXvK0Xoi67BwOXQfz7XeHT/JbfErqblk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/raincloudy/default.nix b/pkgs/development/python-modules/raincloudy/default.nix
new file mode 100644
index 00000000000..860f9461e44
--- /dev/null
+++ b/pkgs/development/python-modules/raincloudy/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, beautifulsoup4
+, buildPythonPackage
+, fetchFromGitHub
+, html5lib
+, pytestCheckHook
+, pythonOlder
+, requests
+, requests-mock
+, urllib3
+}:
+
+buildPythonPackage rec {
+  pname = "raincloudy";
+  version = "1.1.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "vanstinator";
+    repo = pname;
+    rev = version;
+    hash = "sha256-c6tux0DZY56a4BpuiMXtaqm8+JKNDiyMxrFUju3cp2Y=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    beautifulsoup4
+    urllib3
+    html5lib
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    requests-mock
+  ];
+
+  postPatch = ''
+    # https://github.com/vanstinator/raincloudy/pull/60
+    substituteInPlace setup.py \
+      --replace "bs4" "beautifulsoup4" \
+      --replace "html5lib==1.0.1" "html5lib"
+  '';
+
+  pythonImportsCheck = [
+    "raincloudy"
+  ];
+
+  disabledTests = [
+    # Test requires network access
+    "test_attributes"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with Melnor RainCloud Smart Garden Watering Irrigation Timer";
+    homepage = "https://github.com/vanstinator/raincloudy";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/rapidfuzz/default.nix b/pkgs/development/python-modules/rapidfuzz/default.nix
index 0ce27eccd0e..45929e3c991 100644
--- a/pkgs/development/python-modules/rapidfuzz/default.nix
+++ b/pkgs/development/python-modules/rapidfuzz/default.nix
@@ -9,13 +9,16 @@
 , jarowinkler
 , numpy
 , hypothesis
+, jarowinkler-cpp
 , pandas
 , pytestCheckHook
+, rapidfuzz-cpp
+, taskflow
 }:
 
 buildPythonPackage rec {
   pname = "rapidfuzz";
-  version = "2.0.8";
+  version = "2.0.11";
 
   disabled = pythonOlder "3.6";
 
@@ -23,8 +26,7 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "RapidFuzz";
     rev = "v${version}";
-    fetchSubmodules = true;
-    hash = "sha256-LA4UpP3jFcVZTYKuq8aBvfGgEhyOLeCUsUXEgSnwb94=";
+    hash = "sha256-npmdnUMrmbHgUgqMxKBytgtL1weWw6BjVNmBkYSKNMw=";
   };
 
   nativeBuildInputs = [
@@ -36,6 +38,12 @@ buildPythonPackage rec {
 
   dontUseCmakeConfigure = true;
 
+  buildInputs = [
+    jarowinkler-cpp
+    rapidfuzz-cpp
+    taskflow
+  ];
+
   propagatedBuildInputs = [
     jarowinkler
     numpy
diff --git a/pkgs/development/python-modules/ratelimiter/default.nix b/pkgs/development/python-modules/ratelimiter/default.nix
index fc51e1488d6..cccca46296b 100644
--- a/pkgs/development/python-modules/ratelimiter/default.nix
+++ b/pkgs/development/python-modules/ratelimiter/default.nix
@@ -1,35 +1,43 @@
-{
-  lib
+{ lib
 , buildPythonPackage
 , fetchPypi
-, pytest
-, glibcLocales
+, pytest-asyncio
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "ratelimiter";
   version = "1.2.0.post0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5c395dcabdbbde2e5178ef3f89b568a3066454a6ddc223b76473dac22f89b4f7";
+    hash = "sha256-XDldyr273i5ReO8/ibVoowZkVKbdwiO3ZHPawi+JtPc=";
   };
 
-  LC_ALL = "en_US.utf-8";
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
 
-  nativeBuildInputs = [ glibcLocales ];
+  pythonImportsCheck = [
+    "ratelimiter"
+  ];
 
-  checkInputs = [ pytest ];
-
-  checkPhase = ''
-    py.test tests
+  preCheck = ''
+    # Uses out-dated options
+    rm tests/conftest.py
   '';
 
+  disabledTests = [
+    # TypeError: object Lock can't be used in 'await' expression
+    "test_alock"
+  ];
+
   meta = with lib; {
+    description = "Simple python rate limiting object";
     homepage = "https://github.com/RazerM/ratelimiter";
     license = licenses.asl20;
-    description = "Simple python rate limiting object";
     maintainers = with maintainers; [ helkafen ];
   };
 }
-
diff --git a/pkgs/development/python-modules/readme_renderer/default.nix b/pkgs/development/python-modules/readme_renderer/default.nix
index ab062615cc4..1c1ea480cd4 100644
--- a/pkgs/development/python-modules/readme_renderer/default.nix
+++ b/pkgs/development/python-modules/readme_renderer/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "readme-renderer";
-  version = "34.0";
+  version = "35.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "readme_renderer";
     inherit version;
-    sha256 = "sha256-37TRfyFwbRRfdHPgthyiRbpY6BDPmyIJpII5Z3+C5bA=";
+    sha256 = "sha256-pyeZms/CIvwh2CoS7UjJV8SYl4XlhlgHxlpIfSFndJc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/reorder-python-imports/default.nix b/pkgs/development/python-modules/reorder-python-imports/default.nix
index 860188eba60..1bb3475168c 100644
--- a/pkgs/development/python-modules/reorder-python-imports/default.nix
+++ b/pkgs/development/python-modules/reorder-python-imports/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "reorder-python-imports";
-  version = "3.0.1";
+  version = "3.1.0";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "asottile";
     repo = "reorder_python_imports";
     rev = "v${version}";
-    sha256 = "1bdKM1sUhpZHy03DdoTzpt1iGm1t1nWnuPyTgl3KhCY=";
+    hash = "sha256-Ge+VQjK24TqWLMQS19DBX+FFHF3irogK21orlENJx50=";
   };
 
   propagatedBuildInputs = [ aspy-refactor-imports ];
diff --git a/pkgs/development/python-modules/requests-cache/default.nix b/pkgs/development/python-modules/requests-cache/default.nix
index 6f11559aad4..9e092ca8251 100644
--- a/pkgs/development/python-modules/requests-cache/default.nix
+++ b/pkgs/development/python-modules/requests-cache/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "requests-cache";
-  version = "0.9.3";
+  version = "0.9.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "reclosedev";
     repo = "requests-cache";
     rev = "v${version}";
-    hash = "sha256-9eA2fx+j6WLbEkLaemwEuoWLUWlS0iF5AkR2YienN5g=";
+    hash = "sha256-9OlWMom/0OMlbPd3evjIaX75Gjlu+F8vKBJwX4Z58qQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/requests-http-signature/default.nix b/pkgs/development/python-modules/requests-http-signature/default.nix
index c51e24e0ac9..96ade3b45f6 100644
--- a/pkgs/development/python-modules/requests-http-signature/default.nix
+++ b/pkgs/development/python-modules/requests-http-signature/default.nix
@@ -1,25 +1,37 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, cryptography
+, http-message-signatures
+, http-sfv
 , requests
 , pytestCheckHook
+, pythonOlder
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "requests-http-signature";
-  version = "0.2.0";
+  version = "0.7.1";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "pyauth";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-B45P/loXcRKOChSDeHOnlz+67mtmTeAMYlo21TOmV8s=";
+    hash = "sha256-sW2vYqT/nY27DvEKHdptc3dUpuqKmD7PLMs+Xp+cpeU=";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [
-    cryptography
+    http-message-signatures
+    http-sfv
     requests
   ];
 
diff --git a/pkgs/development/python-modules/requests-pkcs12/default.nix b/pkgs/development/python-modules/requests-pkcs12/default.nix
index 00277daf8a3..fcc4db1fbf0 100644
--- a/pkgs/development/python-modules/requests-pkcs12/default.nix
+++ b/pkgs/development/python-modules/requests-pkcs12/default.nix
@@ -2,18 +2,22 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pyopenssl
+, pythonOlder
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "requests-pkcs12";
-  version = "1.13";
+  version = "1.14";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "m-click";
     repo = "requests_pkcs12";
     rev = version;
-    sha256 = "0mc9zpa0d9gijf56mxmsxy4qdcm200ixhnm6i3y5xc2yfv9r6xqy";
+    hash = "sha256-LZgKjSas0KdJAf4leSVz8sEnRrlJ20Sm9Ka+S5zDOTM=";
   };
 
   propagatedBuildInputs = [
@@ -23,7 +27,10 @@ buildPythonPackage rec {
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "requests_pkcs12" ];
+
+  pythonImportsCheck = [
+    "requests_pkcs12"
+  ];
 
   meta = with lib; {
     description = "PKCS#12 support for the Python requests library";
diff --git a/pkgs/development/python-modules/ripser/default.nix b/pkgs/development/python-modules/ripser/default.nix
index 6c510f577e4..5317b39f083 100644
--- a/pkgs/development/python-modules/ripser/default.nix
+++ b/pkgs/development/python-modules/ripser/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , pythonOlder
 , cython
@@ -7,7 +8,7 @@
 , scipy
 , scikit-learn
 , persim
-, pytest
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -20,8 +21,11 @@ buildPythonPackage rec {
     sha256 = "335112a0f94532ccbe686db7826ee8d0714b32f65891abf92c0a02f3cb0fc5fd";
   };
 
-  checkInputs = [
-    pytest
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/scikit-tda/ripser.py/commit/4baa248994cee9a65d710fac91809bad8ed4e5f1.patch";
+      sha256 = "sha256-J/nxMOGOUiBueojJrUlAaXwktHDploYG/XL8/siF2kY=";
+    })
   ];
 
   propagatedBuildInputs = [
@@ -32,13 +36,15 @@ buildPythonPackage rec {
     persim
   ];
 
-  checkPhase = ''
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  preCheck = ''
     # specifically needed for darwin
     export HOME=$(mktemp -d)
     mkdir -p $HOME/.matplotlib
     echo "backend: ps" > $HOME/.matplotlib/matplotlibrc
-
-    pytest
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/rjpl/default.nix b/pkgs/development/python-modules/rjpl/default.nix
new file mode 100644
index 00000000000..8d5cfbc92aa
--- /dev/null
+++ b/pkgs/development/python-modules/rjpl/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, requests
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "rjpl";
+  version = "0.3.6";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-GLNIpZuM3yuCnPyjBa8KjdaL5cFK8InluuY+LTCrimc=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "rjpl"
+  ];
+
+  meta = with lib; {
+    description = "Library for interacting with the Rejseplanen API";
+    homepage = "https://github.com/tomatpasser/python-rejseplanen";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/rns/default.nix b/pkgs/development/python-modules/rns/default.nix
index 39496de24c0..fde916994a4 100644
--- a/pkgs/development/python-modules/rns/default.nix
+++ b/pkgs/development/python-modules/rns/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "rns";
-  version = "0.3.4";
+  version = "0.3.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "Reticulum";
     rev = version;
-    hash = "sha256-fpXbp0Tj22flco9Rg4JTWZes6oxY7FhvYD76jA3yVuE=";
+    hash = "sha256-LzrI5pJ3mLaxikqS1eWFvdgneoCnsRTYWbshVX7U8lg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ropper/default.nix b/pkgs/development/python-modules/ropper/default.nix
index 391e8d36139..82dee5155a9 100644
--- a/pkgs/development/python-modules/ropper/default.nix
+++ b/pkgs/development/python-modules/ropper/default.nix
@@ -1,32 +1,43 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , capstone
 , filebytes
-, pytest
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "ropper";
-  version = "1.13.6";
+  version = "1.13.7";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "6e4226f5ef01951c7df87029535e051c6deb3f156f7511613fb69e8a7f4801fb";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "sashs";
+    repo = "Ropper";
+    rev = "v${version}";
+    hash = "sha256-3tWWIYqh/G/b7Z6BMua5bRvtSh4SibT6pv/NArhmqPE=";
   };
-  # XXX tests rely on user-writeable /dev/shm to obtain process locks and return PermissionError otherwise
-  # workaround: sudo chmod 777 /dev/shm
-  checkPhase = ''
-    py.test testcases
-  '';
-  doCheck = false; # Tests not included in archive
 
-  checkInputs = [pytest];
-  propagatedBuildInputs = [ capstone filebytes ];
+  propagatedBuildInputs = [
+    capstone
+    filebytes
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "ropper"
+  ];
+
   meta = with lib; {
+    description = "Show information about files in different file formats";
     homepage = "https://scoding.de/ropper/";
     license = licenses.bsd3;
-    description = "Show information about files in different file formats";
     maintainers = with maintainers; [ bennofs ];
   };
 }
diff --git a/pkgs/development/python-modules/s3-credentials/default.nix b/pkgs/development/python-modules/s3-credentials/default.nix
index dd142cd09c7..ac87288033c 100644
--- a/pkgs/development/python-modules/s3-credentials/default.nix
+++ b/pkgs/development/python-modules/s3-credentials/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "s3-credentials";
-  version = "0.10";
+  version = "0.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "simonw";
     repo = pname;
     rev = version;
-    hash = "sha256-JgqKmZG3K4JwQ1Bzw2oll/LQ1njA9wFhX0/uYr9XjAU=";
+    hash = "sha256-t6Q+/2k93cEk+eeFm9aOvZNb1IcUzt66iApfH2FvHbw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/scikit-learn-extra/default.nix b/pkgs/development/python-modules/scikit-learn-extra/default.nix
index a91f4ed74f1..f198b49c7ad 100644
--- a/pkgs/development/python-modules/scikit-learn-extra/default.nix
+++ b/pkgs/development/python-modules/scikit-learn-extra/default.nix
@@ -38,6 +38,7 @@ buildPythonPackage rec {
   ];
   disabledTests = [
     "build"   # needs network connection
+    "test_all_estimators" # sklearn.exceptions.NotFittedError: Estimator fails to pass `check_is_fitted` even though it has been fit.
   ];
 
   # Check packages with cythonized modules
diff --git a/pkgs/development/python-modules/scikit-survival/default.nix b/pkgs/development/python-modules/scikit-survival/default.nix
index fcf16503462..34d0f169c55 100644
--- a/pkgs/development/python-modules/scikit-survival/default.nix
+++ b/pkgs/development/python-modules/scikit-survival/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "scikit-survival";
-  version = "0.17.1";
+  version = "0.17.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Sx+reZKBbahjkVgo8hC8EP5vMsRhnprwGjKumQqH83k=";
+    sha256 = "sha256-eP58TcFxNG0J32YgnaGhWkkjAC08F3ooPLwMv4ZUA1U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/scmrepo/default.nix b/pkgs/development/python-modules/scmrepo/default.nix
index 93854478853..5b80bb00dd6 100644
--- a/pkgs/development/python-modules/scmrepo/default.nix
+++ b/pkgs/development/python-modules/scmrepo/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "scmrepo";
-  version = "0.0.18";
+  version = "0.0.20";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-eMtYVdKLiIaagDB1OEdYge6+McchOZPBcuIKGMzyvQQ=";
+    hash = "sha256-3gNHWncP9laevuX3EcnmNJ825eQehoLp75WJ5V5/R9w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/seabreeze/default.nix b/pkgs/development/python-modules/seabreeze/default.nix
index 06802a8a2ce..6f048144dfa 100644
--- a/pkgs/development/python-modules/seabreeze/default.nix
+++ b/pkgs/development/python-modules/seabreeze/default.nix
@@ -4,7 +4,6 @@
 , cython
 , git
 , pkgconfig
-, pytest-runner
 , setuptools-scm
 , future
 , numpy
@@ -31,11 +30,15 @@ buildPythonPackage rec {
     leaveDotGit = true;
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace '"pytest-runner",' ""
+  '';
+
   nativeBuildInputs = [
     cython
     git
     pkgconfig
-    pytest-runner
     setuptools-scm
   ];
 
diff --git a/pkgs/development/python-modules/secretstorage/default.nix b/pkgs/development/python-modules/secretstorage/default.nix
index 5b7b7ea2797..a9f336d18df 100644
--- a/pkgs/development/python-modules/secretstorage/default.nix
+++ b/pkgs/development/python-modules/secretstorage/default.nix
@@ -1,15 +1,22 @@
-{ lib, fetchPypi, buildPythonPackage, pythonOlder, cryptography, jeepney }:
+{ lib
+, buildPythonPackage
+, cryptography
+, fetchPypi
+, jeepney
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "secretstorage";
-  version = "3.3.1";
+  version = "3.3.2";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "SecretStorage";
     inherit version;
-    sha256 = "15ginv4gzxrx77n7517xnvf2jcpqc6ran12s951hc85zlr8nqrpx";
+    hash = "sha256-Co65ZFsyCIHCIugnwm9M/PVTY+izdKAhmB74hmV6kS8=";
   };
 
   propagatedBuildInputs = [
@@ -17,12 +24,16 @@ buildPythonPackage rec {
     jeepney
   ];
 
-  # Needs a D-Bus Sesison
+  # Needs a D-Bus session
   doCheck = false;
 
+  pythonImportsCheck = [
+    "secretstorage"
+  ];
+
   meta = with lib; {
-    homepage = "https://github.com/mitya57/secretstorage";
     description = "Python bindings to FreeDesktop.org Secret Service API";
+    homepage = "https://github.com/mitya57/secretstorage";
     license = licenses.bsd3;
     maintainers = with maintainers; [ teto ];
   };
diff --git a/pkgs/development/python-modules/segyio/default.nix b/pkgs/development/python-modules/segyio/default.nix
new file mode 100644
index 00000000000..546f1117e80
--- /dev/null
+++ b/pkgs/development/python-modules/segyio/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, ninja
+, python
+, scikit-build
+, pytest
+, numpy
+, fetchpatch
+}:
+
+stdenv.mkDerivation rec {
+  pname = "segyio";
+  version = "1.9.9";
+
+  patches = [
+    # PR https://github.com/equinor/segyio/pull/531
+    (fetchpatch {
+        url = "https://github.com/equinor/segyio/commit/628bc5e02d0f98b89fe70b072df9b8e677622e9e.patch";
+        sha256 = "sha256-j+vqHZNfPIh+yWBgqbGD3W04FBvFiDJKnmcC/oTk3a8=";
+    })
+  ];
+
+  postPatch = ''
+    # Removing unecessary build dependency
+    substituteInPlace python/setup.py --replace "'pytest-runner'," ""
+
+    # Fixing bug making one test fail in the python 3.10 build
+    substituteInPlace python/segyio/open.py --replace \
+    "cube_metrics = f.xfd.cube_metrics(iline, xline)" \
+    "cube_metrics = f.xfd.cube_metrics(int(iline), int(xline))"
+  '';
+
+  src = fetchFromGitHub {
+    owner = "equinor";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-L3u5BHS5tARS2aIiQbumADkuzw1Aw4Yuav8H8tRNYNg=";
+  };
+
+  nativeBuildInputs = [ cmake ninja python scikit-build ];
+
+  doCheck = true;
+  # I'm not modifying the checkPhase nor adding a pytestCheckHook because the pytest is called
+  # within the cmake test phase
+  checkInputs = [ pytest numpy ];
+
+  meta = with lib; {
+    description = "Fast Python library for SEGY files";
+    homepage = "https://github.com/equinor/segyio";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ atila ];
+  };
+}
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index 3272c4b612f..e764cd912a0 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -28,6 +28,7 @@
 , pytest-forked
 , pytest-localserver
 , pytestCheckHook
+, pythonOlder
 , rq
 , sanic
 , sanic-testing
@@ -40,14 +41,16 @@
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "1.5.8";
+  version = "1.5.11";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-python";
     rev = version;
-    sha256 = "sha256-28MkwQog+Abk1PSDPWbah650YATiGCBWaTbFO52KgzY=";
+    hash = "sha256-2WN18hzOn/gomNvQNbm9R8CcxN6G1XxoodBHqsG6es0=";
   };
 
   propagatedBuildInputs = [
@@ -56,10 +59,12 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    aiohttp
     asttokens
     blinker
     botocore
     bottle
+    celery
     chalice
     django
     executing
@@ -67,25 +72,22 @@ buildPythonPackage rec {
     falcon
     flask_login
     gevent
+    httpx
     jsonschema
     pure-eval
+    pyramid
+    pyspark
     pytest-django
     pytest-forked
     pytest-localserver
     pytestCheckHook
     rq
+    sanic
+    sanic-testing
     sqlalchemy
     tornado
     trytond
     werkzeug
-  ] ++ lib.optionals isPy3k [
-    aiohttp
-    celery
-    httpx
-    pyramid
-    pyspark
-    sanic
-    sanic-testing
   ];
 
   doCheck = !stdenv.isDarwin;
@@ -112,6 +114,8 @@ buildPythonPackage rec {
     "test_auto_session_tracking_with_aggregates"
     # Network requests to public web
     "test_crumb_capture"
+    # TypeError: cannot unpack non-iterable TestResponse object
+    "test_rpc_error_page"
   ];
 
   disabledTestPaths = [
@@ -128,6 +132,16 @@ buildPythonPackage rec {
     "tests/integrations/rq/"
     # broken since pytest 7.0.1; AssertionError: previous item was not torn down properly
     "tests/utils/test_contextvars.py"
+    # broken since Flask and Werkzeug update to 2.1.0 (different error messages)
+    "tests/integrations/flask/test_flask.py"
+    "tests/integrations/bottle/test_bottle.py"
+    "tests/integrations/django/test_basic.py"
+    "tests/integrations/pyramid/test_pyramid.py"
+  ]
+  # test crashes on aarch64
+  ++ lib.optionals (stdenv.buildPlatform != "x86_64-linux") [
+    "tests/test_transport.py"
+    "tests/integrations/threading/test_threading.py"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/seventeentrack/default.nix b/pkgs/development/python-modules/seventeentrack/default.nix
index f9786ec2a4b..8e70b4af51d 100644
--- a/pkgs/development/python-modules/seventeentrack/default.nix
+++ b/pkgs/development/python-modules/seventeentrack/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "seventeentrack";
-  version = "2022.04.4";
+  version = "2022.04.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "McSwindler";
     repo = pname;
     rev = version;
-    hash = "sha256-r77UA9NDQ1EQIVXZK6povmp/jIIX/f+NbpH0qmYiHZs=";
+    hash = "sha256-vMdRXcd0es/LjgsVyWItSLFzlSTEa3oaA6lr/NL4i8U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/signedjson/default.nix b/pkgs/development/python-modules/signedjson/default.nix
index 8409d9702e7..c7604126c7a 100644
--- a/pkgs/development/python-modules/signedjson/default.nix
+++ b/pkgs/development/python-modules/signedjson/default.nix
@@ -1,40 +1,53 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, fetchpatch
 , canonicaljson
-, unpaddedbase64
-, pynacl
-, typing-extensions
-, setuptools-scm
+, fetchPypi
 , importlib-metadata
+, pynacl
+, pytestCheckHook
 , pythonOlder
+, setuptools-scm
+, typing-extensions
+, unpaddedbase64
 }:
 
 buildPythonPackage rec {
   pname = "signedjson";
-  version = "1.1.1";
+  version = "1.1.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0280f8zyycsmd7iy65bs438flm7m8ffs1kcxfbvhi8hbazkqc19m";
+    hash = "sha256-zZHFavU/Fp7wMsYunEoyktwViGaTMxjQWS40Yts9ZJI=";
   };
 
-  patches = [
-    # Do not require importlib_metadata on python 3.8
-    (fetchpatch {
-      url = "https://github.com/matrix-org/python-signedjson/commit/c40c83f844fee3c1c7b0c5d1508f87052334b4e5.patch";
-      sha256 = "109f135zn9azg5h1ljw3v94kpvnzmlqz1aiknpl5hsqfa3imjca1";
-    })
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    canonicaljson
+    unpaddedbase64
+    pynacl
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+    typing-extensions
+  ];
+
+  checkInputs = [
+    pytestCheckHook
   ];
 
-  nativeBuildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [ canonicaljson unpaddedbase64 pynacl typing-extensions ]
-    ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
+  pythonImportsCheck = [
+    "signedjson"
+  ];
 
   meta = with lib; {
-    homepage = "https://pypi.org/project/signedjson/";
     description = "Sign JSON with Ed25519 signatures";
+    homepage = "https://github.com/matrix-org/python-signedjson";
     license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/simplejson/default.nix b/pkgs/development/python-modules/simplejson/default.nix
index 1e6def5ae78..74530b3fb83 100644
--- a/pkgs/development/python-modules/simplejson/default.nix
+++ b/pkgs/development/python-modules/simplejson/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "v${version}";
+    rev = "refs/tags/v${version}";
     sha256 = "1irlp5sakbdfcf717qmrx0r9rjlmwk0vza6zm3y55d32zw5c1cxg";
   };
 
diff --git a/pkgs/development/python-modules/simplisafe-python/default.nix b/pkgs/development/python-modules/simplisafe-python/default.nix
index ec3cf592786..cb3446156bf 100644
--- a/pkgs/development/python-modules/simplisafe-python/default.nix
+++ b/pkgs/development/python-modules/simplisafe-python/default.nix
@@ -3,6 +3,7 @@
 , aresponses
 , asynctest
 , backoff
+, beautifulsoup4
 , buildPythonPackage
 , docutils
 , fetchFromGitHub
@@ -19,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "simplisafe-python";
-  version = "2022.03.3";
+  version = "2022.05.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -28,7 +29,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-19+p39uZO9pSDzH6YkS9ZDVA4zyl9oJ325yTQ5+SQcw=";
+    sha256 = "sha256-NXEhjj8L7MPAdQwjqe6u+L9vi/mIIA8TxDpM5q4uUrU=";
   };
 
   nativeBuildInputs = [
@@ -38,6 +39,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     aiohttp
     backoff
+    beautifulsoup4
     docutils
     pytz
     voluptuous
@@ -62,6 +64,8 @@ buildPythonPackage rec {
     # simplipy/api.py:253: InvalidCredentialsError
     "test_request_error_failed_retry"
     "test_update_error"
+    # ClientConnectorError: Cannot connect to host auth.simplisafe.com:443 ssl:default [Temporary failure in name resolution]
+    "test_client_async_from_refresh_token_unknown_error"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/skein/default.nix b/pkgs/development/python-modules/skein/default.nix
index 56e853f73e2..8dc3391e9e9 100644
--- a/pkgs/development/python-modules/skein/default.nix
+++ b/pkgs/development/python-modules/skein/default.nix
@@ -2,26 +2,29 @@
 , callPackage
 , fetchPypi
 , isPy27
-, jre
 , lib
-, pythonPackages
-
+, cryptography
+, grpcio
+, pyyaml
+, grpcio-tools
+, hadoop
+, pytestCheckHook
+, python
 }:
 
-let
+buildPythonPackage rec {
   pname = "skein";
   version = "0.8.1";
   src = fetchPypi {
     inherit pname version;
     sha256 = "04208b4be9df2dc68ac5b3e3ae51fd9b589add95ea1b67222a8de754d17b1efa";
   };
-  skeinJar = callPackage ./skeinjar.nix { inherit src version; };
-in
-buildPythonPackage rec {
-  inherit pname version src;
-  disabled = isPy27;
+  # Update this hash if bumping versions
+  jarHash = "sha256-UGiEoTZ17IhLG72FZ18Zb+Ej4T8z9rMIMDUxzSZGZyY=";
+  skeinJar = callPackage ./skeinjar.nix { inherit pname version jarHash; };
 
-  propagatedBuildInputs = with pythonPackages; [ cryptography grpcio grpcio-tools jupyter pytest pyyaml requests jre ];
+  propagatedBuildInputs = [ cryptography grpcio pyyaml ];
+  buildInputs = [ grpcio-tools ];
 
   preBuild = ''
     # Ensure skein.jar exists skips the maven build in setup.py
@@ -29,12 +32,30 @@ buildPythonPackage rec {
     ln -s ${skeinJar} skein/java/skein.jar
   '';
 
+  postPatch = ''
+    substituteInPlace skein/core.py --replace "'yarn'" "'${hadoop}/bin/yarn'" \
+      --replace "else 'java'" "else '${hadoop.jdk}/bin/java'"
+  '';
+
+  pythonImportsCheck = [ "skein" ];
+
+  checkInputs = [ pytestCheckHook ];
+  # These tests require connecting to a YARN cluster. They could be done through NixOS tests later.
+  disabledTests = [
+    "test_ui"
+    "test_tornado"
+    "test_kv"
+    "test_core"
+    "test_cli"
+  ];
+
   meta = with lib; {
     homepage = "https://jcristharif.com/skein";
     description = "A tool and library for easily deploying applications on Apache YARN";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ alexbiehl ];
-    broken = true; # maven repo src isn't stable
+    maintainers = with maintainers; [ alexbiehl illustris ];
+    # https://github.com/NixOS/nixpkgs/issues/48663#issuecomment-1083031627
+    # replace with https://github.com/NixOS/nixpkgs/pull/140325 once it is merged
+    broken = lib.traceIf isPy27 "${pname} not supported on ${python.executable}" isPy27;
   };
-
 }
diff --git a/pkgs/development/python-modules/skein/skeinjar.nix b/pkgs/development/python-modules/skein/skeinjar.nix
index d29e0e2f99c..d559f237bf7 100644
--- a/pkgs/development/python-modules/skein/skeinjar.nix
+++ b/pkgs/development/python-modules/skein/skeinjar.nix
@@ -1,21 +1,20 @@
-{ callPackage, stdenv, maven, src, version }:
+{ fetchPypi, unzip, stdenv, pname, version, jarHash }:
 
-let
-  skeinRepo = callPackage ./skeinrepo.nix { inherit src version; };
-in
 stdenv.mkDerivation rec {
-  pname = "skein.jar";
+  inherit pname version;
 
-  inherit version src;
+  src = fetchPypi {
+    inherit pname version;
+    format = "wheel";
+    hash = jarHash;
+  };
 
-  nativeBuildInputs = [ maven ];
+  dontUnpack = true;
 
-  buildPhase = ''
-    mvn --offline -f java/pom.xml package -Dmaven.repo.local="${skeinRepo}" -Dskein.version=${version} -Dversion=${version}
-  '';
+  nativeBuildInputs = [ unzip ];
 
   installPhase = ''
-    # Making sure skein.jar exists skips the maven build in setup.py
-    mv java/target/skein-*.jar $out
+    unzip ${src}
+    mv ./skein/java/skein.jar $out
   '';
 }
diff --git a/pkgs/development/python-modules/skein/skeinrepo.nix b/pkgs/development/python-modules/skein/skeinrepo.nix
deleted file mode 100644
index 86cbf82b7f0..00000000000
--- a/pkgs/development/python-modules/skein/skeinrepo.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ autoPatchelfHook, lib, maven, stdenv, src, version }:
-
-stdenv.mkDerivation rec {
-  pname = "skein-maven-repo";
-
-  inherit version src;
-
-  nativeBuildInputs = [ maven ] ++ lib.optional stdenv.isLinux autoPatchelfHook;
-
-  installPhase = ''
-    mkdir -p $out
-
-    archs="${
-      if stdenv.isLinux
-      then "linux-x86_32 linux-x86_64"
-      else "osx-x86_64"
-    }"
-
-    for arch in $archs
-    do
-      mvn -Dmaven.repo.local=$out dependency:get -Dartifact=com.google.protobuf:protoc:3.0.0:exe:$arch
-      mvn -Dmaven.repo.local=$out dependency:get -Dartifact=io.grpc:protoc-gen-grpc-java:1.16.0:exe:$arch
-    done
-
-    if ${ lib.boolToString stdenv.isLinux }
-    then
-      autoPatchelf $out
-    fi
-
-    # We have to use maven package here as dependency:go-offline doesn't
-    # fetch every required jar.
-    mvn -f java/pom.xml -Dmaven.repo.local=$out package
-
-    rm $(find $out -name _remote.repositories)
-    rm $(find $out -name resolver-status.properties)
-  '';
-
-  outputHashMode = "recursive";
-  outputHashAlgo = "sha256";
-  outputHash = if stdenv.isLinux
-    then "12f0q3444qw6y4f6qsa9540a0fz4cgi844zzi8z1phqn3k4dnl6v"
-    else "0bjbwiv17cary1isxca0m2hsvgs1i5fh18z247h1hky73lnhbrz8";
-
-} // lib.optionalAttrs stdenv.isLinux { dontAutoPatchelf = true; }
diff --git a/pkgs/development/python-modules/skia-pathops/default.nix b/pkgs/development/python-modules/skia-pathops/default.nix
new file mode 100644
index 00000000000..53d1fb1227d
--- /dev/null
+++ b/pkgs/development/python-modules/skia-pathops/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, cython
+, ninja
+, setuptools-scm
+, setuptools
+, fetchPypi
+, gn
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "skia-pathops";
+  version = "0.7.2";
+
+  src = fetchPypi {
+    pname = "skia-pathops";
+    inherit version;
+    extension = "zip";
+    sha256 = "sha256-Gdhcmv77oVr5KxPIiJlk935jgvWPQsYEC0AZ6yjLppA=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "build_cmd = [sys.executable, build_skia_py, build_dir]" \
+        'build_cmd = [sys.executable, build_skia_py, "--no-fetch-gn", "--no-virtualenv", "--gn-path", "${gn}/bin/gn", build_dir]'
+  '';
+
+  nativeBuildInputs = [ cython ninja setuptools-scm ];
+
+  propagatedBuildInputs = [ setuptools ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "pathops" ];
+
+  meta = {
+    description = "Python access to operations on paths using the Skia library";
+    homepage = "https://skia.org/dev/present/pathops";
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.BarinovMaxim ];
+  };
+}
diff --git a/pkgs/development/python-modules/skytemple-files/default.nix b/pkgs/development/python-modules/skytemple-files/default.nix
index 7893cfb2e81..42012dbd4cf 100644
--- a/pkgs/development/python-modules/skytemple-files/default.nix
+++ b/pkgs/development/python-modules/skytemple-files/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "skytemple-files";
-  version = "1.3.3";
+  version = "1.3.9";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    sha256 = "01j6khn60mdmz32xkpqrzwdqibmpdpi2wvwzxgdnaim9sq0fdqws";
+    sha256 = "sha256-Z/jbr9o0WKPjkAsfZzxuwAKKdwYV3rLGkUMlMgyC5s0=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/python-modules/skytemple-rust/default.nix b/pkgs/development/python-modules/skytemple-rust/default.nix
index 793e22690e4..6066407dafd 100644
--- a/pkgs/development/python-modules/skytemple-rust/default.nix
+++ b/pkgs/development/python-modules/skytemple-rust/default.nix
@@ -1,25 +1,34 @@
-{ lib, stdenv, buildPythonPackage, fetchFromGitHub, libiconv, rustPlatform, setuptools-rust }:
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, libiconv
+, Foundation
+, rustPlatform
+, setuptools-rust }:
 
 buildPythonPackage rec {
   pname = "skytemple-rust";
-  version = "unstable-2021-08-11";
+  version = "1.3.7";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
-    rev = "e306e5edc096cb3fef25585d9ca5a2817543f1cd";
-    sha256 = "0ja231gsy9i1z6jsaywawz93rnyjhldngi5i787nhnf88zrwx9ml";
+    rev = version;
+    sha256 = "sha256-rC7KA79va8gZpMKJQ7s3xYdbopNqmWdRYDCbaWaxsR0=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "0gjvfblyv72m0nqv90m7qvbdnazsh5ind1pxwqz83vm4zjh9a873";
+    sha256 = "sha256-lXPCxRbaqUC5EfyeBPtJDuGADYOA+DWMaOZRwXppP8E=";
   };
 
-  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
   nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [ cargoSetupHook rust.cargo rust.rustc ]);
 
+  GETTEXT_SYSTEM = true;
+
   doCheck = false; # there are no tests
   pythonImportsCheck = [ "skytemple_rust" ];
 
diff --git a/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix b/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
index bb91bad3ff1..8ca4a45b371 100644
--- a/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
+++ b/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "skytemple-ssb-debugger";
-  version = "1.3.0";
+  version = "1.3.8.post2";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    sha256 = "12v0071125m8xjcp2hxm9qvs0qw4hdhkx8r3gbl0plm22vl3fk0d";
+    sha256 = "sha256-dd0qsSNBwxuSopjz2PLqEFddZpvMgeJIjBXY5P6OAow=";
   };
 
   buildInputs = [ gobject-introspection gtk3 gtksourceview3 ];
diff --git a/pkgs/development/python-modules/slack-sdk/default.nix b/pkgs/development/python-modules/slack-sdk/default.nix
index 09682a2a3d0..baba69922eb 100644
--- a/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/pkgs/development/python-modules/slack-sdk/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.15.2";
+  version = "3.16.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -28,8 +28,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "slackapi";
     repo = "python-slack-sdk";
-    rev = "v${version}";
-    sha256 = "sha256-lhdh4Eo7yIsukXoKI6Ss793fYmAu91O1UElmxV9xAc4=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-odu8/xT2TuOLT2jRztPDUHcGMfmHvWrsnDRkp4yGaY0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/slither-analyzer/default.nix b/pkgs/development/python-modules/slither-analyzer/default.nix
index 8eaf442fb5d..d3295cbb1f8 100644
--- a/pkgs/development/python-modules/slither-analyzer/default.nix
+++ b/pkgs/development/python-modules/slither-analyzer/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , makeWrapper
 , pythonOlder
 , crytic-compile
@@ -13,12 +13,16 @@
 
 buildPythonPackage rec {
   pname = "slither-analyzer";
-  version = "0.8.2";
-  disabled = pythonOlder "3.6";
+  version = "0.8.3";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-77045eB7KvHBb0j61qz4zJTtEprg4/aH6MrPlQY1wiM=";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "crytic";
+    repo = "slither";
+    rev = version;
+    sha256 = "sha256-Kh5owlkRB9hDlfIRiS+aNFe4YtZj38CLeE3Fe+R7diM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/slixmpp/0001-xep_0030-allow-extra-args-in-get_info_from_domain.patch b/pkgs/development/python-modules/slixmpp/0001-xep_0030-allow-extra-args-in-get_info_from_domain.patch
new file mode 100644
index 00000000000..3f73ab91e3a
--- /dev/null
+++ b/pkgs/development/python-modules/slixmpp/0001-xep_0030-allow-extra-args-in-get_info_from_domain.patch
@@ -0,0 +1,36 @@
+From 7b5ac168892dedc5bd6be4244b18dc32d37d00fd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?F=C3=A9lix=20Baylac-Jacqu=C3=A9?= <felix@alternativebit.fr>
+Date: Fri, 22 Apr 2022 15:26:05 +0200
+Subject: [PATCH] xep_0030: allow extra args in get_info_from_domain
+
+Aftermath of ea2d851a.
+
+http_upload from xep_0363 is now forwarding all its extra input args
+to get_info_from_domain. Sadly for us, get_info_from_domain won't
+accept any extra args passed that way and will yield a "got an
+unexpected keyword argument".
+
+Modifying get_info_from_domain to accept these extra args.
+
+I hit this bug by passing a timeout_callback argument to http_upload.
+Adding this scenario to the relevant integration test.
+---
+ itests/test_httpupload.py         | 1 +
+ slixmpp/plugins/xep_0030/disco.py | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/slixmpp/plugins/xep_0030/disco.py b/slixmpp/plugins/xep_0030/disco.py
+index 37d453aa..9f9a45f2 100644
+--- a/slixmpp/plugins/xep_0030/disco.py
++++ b/slixmpp/plugins/xep_0030/disco.py
+@@ -307,7 +307,7 @@ class XEP_0030(BasePlugin):
+         return self.api['has_identity'](jid, node, ifrom, data)
+
+     async def get_info_from_domain(self, domain=None, timeout=None,
+-                                   cached=True, callback=None):
++                                   cached=True, callback=None, **iqkwargs):
+         """Fetch disco#info of specified domain and one disco#items level below
+         """
+
+--
+2.35.1
diff --git a/pkgs/development/python-modules/slixmpp/default.nix b/pkgs/development/python-modules/slixmpp/default.nix
index 375f910e5f8..30bdd8b31ff 100644
--- a/pkgs/development/python-modules/slixmpp/default.nix
+++ b/pkgs/development/python-modules/slixmpp/default.nix
@@ -39,6 +39,8 @@ buildPythonPackage rec {
       src = ./hardcode-gnupg-path.patch;
       inherit gnupg;
     })
+    # Upstream MR: https://lab.louiz.org/poezio/slixmpp/-/merge_requests/198
+    ./0001-xep_0030-allow-extra-args-in-get_info_from_domain.patch
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/smart-open/default.nix b/pkgs/development/python-modules/smart-open/default.nix
index bbe8b1b468e..b124a7c887e 100644
--- a/pkgs/development/python-modules/smart-open/default.nix
+++ b/pkgs/development/python-modules/smart-open/default.nix
@@ -9,21 +9,21 @@
 , google-cloud-storage
 , requests
 , moto
-, parameterizedtestcase
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "smart-open";
-  version = "5.2.1";
+  version = "6.0.0";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "RaRe-Technologies";
     repo = "smart_open";
     rev = "v${version}";
-    sha256 = "13a1qsb4vwrhx45hz4qcl0d7bgv20ai5vsy7cq0q6qbj212nff19";
+    sha256 = "sha256-FEIJ1DBW0mz7n+J03C1Lg8uAs2ZxI0giM7+mvuNPyGg=";
   };
 
   propagatedBuildInputs = [
@@ -37,35 +37,17 @@ buildPythonPackage rec {
 
   checkInputs = [
     moto
-    parameterizedtestcase
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [ "smart_open" ];
-
-  disabledTestPaths = [
-    "smart_open/tests/test_http.py"
-    "smart_open/tests/test_s3.py"
-    "smart_open/tests/test_s3_version.py"
-    "smart_open/tests/test_sanity.py"
+  pytestFlagsArray = [
+    "smart_open"
   ];
 
-  disabledTests = [
-    "test_compression_invalid"
-    "test_gs_uri_contains_question_mark"
-    "test_gzip_compress_sanity"
-    "test_http"
-    "test_ignore_ext"
-    "test_initialize_write"
-    "test_read_explicit"
-    "test_s3_handles_querystring"
-    "test_s3_uri_contains_question_mark"
-    "test_webhdfs"
-    "test_write"
+  pythonImportsCheck = [
+    "smart_open"
   ];
 
-  pythonImportsCheck = [ "smart_open" ];
-
   meta = with lib; {
     description = "Library for efficient streaming of very large file";
     homepage = "https://github.com/RaRe-Technologies/smart_open";
diff --git a/pkgs/development/python-modules/snowflake-connector-python/default.nix b/pkgs/development/python-modules/snowflake-connector-python/default.nix
index e4b5d9ee677..743a7e77afd 100644
--- a/pkgs/development/python-modules/snowflake-connector-python/default.nix
+++ b/pkgs/development/python-modules/snowflake-connector-python/default.nix
@@ -24,12 +24,12 @@
 
 buildPythonPackage rec {
   pname = "snowflake-connector-python";
-  version = "2.7.6";
+  version = "2.7.7";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-MxYo4MoCdkSSuDteR3A72FcRWuKTRrct4y1/t8nsVIs=";
+    sha256 = "sha256-OZL/ClHY8yatR0AJVyomBq7AjBwQwm5f9UnmdlL8IFw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix b/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix
index ba2463f4aa8..e40a3f8b588 100644
--- a/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "snowflake-sqlalchemy";
-  version = "1.3.3";
+  version = "1.3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d1c087ce0a90bbce77f2308b9c4aeb14efeb26a3ae9da7c3d5a153341cd8ef34";
+    sha256 = "sha256-nXTPnWChj/rIMmPoVZr1AhY7tHVRygmpNmh1oGR6W4A=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/socid-extractor/default.nix b/pkgs/development/python-modules/socid-extractor/default.nix
index 38b1de48b2f..de552ca673c 100644
--- a/pkgs/development/python-modules/socid-extractor/default.nix
+++ b/pkgs/development/python-modules/socid-extractor/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "soxoj";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vdcxinpnl3vn2l4dybbyggdzm5mpmi3qbpars7lrg5m0mib0cml";
+    hash = "sha256-tDKwYgW1vEyPzuouPGK9tdTf3vNr+UaosHtQe23srG0=";
   };
 
   propagatedBuildInputs = [
@@ -27,6 +27,12 @@ buildPythonPackage rec {
     requests
   ];
 
+  postPatch = ''
+    # https://github.com/soxoj/socid-extractor/pull/125
+    substituteInPlace requirements.txt \
+      --replace "beautifulsoup4~=4.10.0" "beautifulsoup4>=4.10.0"
+  '';
+
   # Test require network access
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/spacy-transformers/default.nix b/pkgs/development/python-modules/spacy-transformers/default.nix
index 2a81a5bce08..afc3ffbd25e 100644
--- a/pkgs/development/python-modules/spacy-transformers/default.nix
+++ b/pkgs/development/python-modules/spacy-transformers/default.nix
@@ -2,6 +2,7 @@
 , callPackage
 , fetchPypi
 , buildPythonPackage
+, dataclasses
 , pytorch
 , pythonOlder
 , spacy
@@ -13,30 +14,31 @@
 buildPythonPackage rec {
   pname = "spacy-transformers";
   version = "1.1.5";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-nxbmnFyHptbe5M7rQi2ECGoBpxUuutdCtY20eHsGDPI=";
+    hash = "sha256-nxbmnFyHptbe5M7rQi2ECGoBpxUuutdCtY20eHsGDPI=";
   };
 
-  postPatch = ''
-    sed -i 's/transformers>=3.4.0,<4.13.0/transformers/' setup.cfg
-  '';
-
   propagatedBuildInputs = [
     pytorch
     spacy
     spacy-alignments
     srsly
     transformers
+  ] ++ lib.optionals (pythonOlder "3.7") [
+    dataclasses
   ];
 
   # Test fails due to missing arguments for trfs2arrays().
   doCheck = false;
 
-  pythonImportsCheck = [ "spacy_transformers" ];
+  pythonImportsCheck = [
+    "spacy_transformers"
+  ];
 
   passthru.tests.annotation = callPackage ./annotation-test { };
 
diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix
index 41e6a8cc37c..40bd609520f 100644
--- a/pkgs/development/python-modules/spacy/default.nix
+++ b/pkgs/development/python-modules/spacy/default.nix
@@ -1,43 +1,44 @@
 { lib
+, blis
 , buildPythonPackage
 , callPackage
-, fetchPypi
-, pythonOlder
-, pytest
-, blis
 , catalogue
 , cymem
+, fetchPypi
 , jinja2
 , jsonschema
+, langcodes
 , murmurhash
 , numpy
+, packaging
+, pathy
 , preshed
+, pydantic
+, pytest
+, python
+, pythonOlder
 , requests
 , setuptools
-, srsly
 , spacy-legacy
+, spacy-loggers
+, srsly
 , thinc
-, typer
-, wasabi
-, packaging
-, pathy
-, pydantic
-, python
 , tqdm
+, typer
 , typing-extensions
-, spacy-loggers
-, langcodes
+, wasabi
 }:
 
 buildPythonPackage rec {
   pname = "spacy";
-  version = "3.2.4";
+  version = "3.3.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-PkxvKY1UBEWC2soRQrCC7jiDG7PXu5MdLuYB6Ljc5k8=";
+    hash = "sha256-xJ1Q++NxWtxXQUGTZ7OaRo0lVmSEIvELb8Tt846uLLM=";
   };
 
   propagatedBuildInputs = [
@@ -46,6 +47,7 @@ buildPythonPackage rec {
     cymem
     jinja2
     jsonschema
+    langcodes
     murmurhash
     numpy
     packaging
@@ -54,15 +56,16 @@ buildPythonPackage rec {
     pydantic
     requests
     setuptools
-    srsly
     spacy-legacy
+    spacy-loggers
+    srsly
     thinc
     tqdm
     typer
     wasabi
-    spacy-loggers
-    langcodes
-  ] ++ lib.optional (pythonOlder "3.8") typing-extensions;
+  ] ++ lib.optional (pythonOlder "3.8") [
+    typing-extensions
+  ];
 
   postPatch = ''
     substituteInPlace setup.cfg \
@@ -78,12 +81,14 @@ buildPythonPackage rec {
     ${python.interpreter} -m pytest spacy/tests --vectors --models --slow
   '';
 
-  pythonImportsCheck = [ "spacy" ];
+  pythonImportsCheck = [
+    "spacy"
+  ];
 
   passthru.tests.annotation = callPackage ./annotation-test { };
 
   meta = with lib; {
-    description = "Industrial-strength Natural Language Processing (NLP) with Python and Cython";
+    description = "Industrial-strength Natural Language Processing (NLP)";
     homepage = "https://github.com/explosion/spaCy";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/development/python-modules/sphinxcontrib-spelling/default.nix b/pkgs/development/python-modules/sphinxcontrib-spelling/default.nix
index 6239ba0bc83..0a0c0ec6dde 100644
--- a/pkgs/development/python-modules/sphinxcontrib-spelling/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-spelling/default.nix
@@ -10,24 +10,38 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-spelling";
-  version = "7.3.2";
+  version = "7.3.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9d66dc4990749c5ac52e7eaf17e82f4dc6b4aff6515d26bbf48821829d41bd02";
+    hash = "sha256-OBnRJinZXgyQkiT6QLRipn4K2zIdUCg9f8DRFobIrH4=";
   };
 
-  propagatedBuildInputs = [ sphinx pyenchant pbr ]
-    ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
+  nativeBuildInputs = [
+    pbr
+  ];
+
+  propagatedBuildInputs = [
+    sphinx
+    pyenchant
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
 
   # No tests included
   doCheck = false;
 
+  pythonImportsCheck = [
+    "sphinxcontrib.spelling"
+  ];
+
   meta = with lib; {
     description = "Sphinx spelling extension";
-    homepage = "https://bitbucket.org/dhellmann/sphinxcontrib-spelling";
-    maintainers = with maintainers; [ ];
+    homepage = "https://github.com/sphinx-contrib/spelling";
     license = licenses.bsd2;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/sqlalchemy-mixins/default.nix b/pkgs/development/python-modules/sqlalchemy-mixins/default.nix
index 85a03482a32..c979fc58b19 100644
--- a/pkgs/development/python-modules/sqlalchemy-mixins/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy-mixins/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "sqlalchemy-mixins";
-  version = "1.5.1";
+  version = "1.5.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "absent1706";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-HZiv7F0/UatgY3KlILgzywrK5NJE/tDe6B8/smeYwlM=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-GmMxya6aJ7MMqQ3KSqO3f/cbwgWvQYhEVXtGi6fhP1M=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sqlite-utils/default.nix b/pkgs/development/python-modules/sqlite-utils/default.nix
index b3621802a09..d7f07eea073 100644
--- a/pkgs/development/python-modules/sqlite-utils/default.nix
+++ b/pkgs/development/python-modules/sqlite-utils/default.nix
@@ -14,16 +14,21 @@
 
 buildPythonPackage rec {
   pname = "sqlite-utils";
-  version = "3.26";
+  version = "3.26.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-G2Fy9PEYtq0dIWhsgV4HZa5y+wLxcI3CYSgDL6ijkdo=";
+    hash = "sha256-GK/036zijOSi9IWZSFifXrexY8dyo6cfwWyaF06x82c=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "click-default-group-wheel" "click-default-group"
+  '';
+
   propagatedBuildInputs = [
     click
     click-default-group
@@ -45,6 +50,6 @@ buildPythonPackage rec {
     description = "Python CLI utility and library for manipulating SQLite databases";
     homepage = "https://github.com/simonw/sqlite-utils";
     license = licenses.asl20;
-    maintainers = with maintainers; [ meatcar ];
+    maintainers = with maintainers; [ meatcar techknowlogick ];
   };
 }
diff --git a/pkgs/development/python-modules/sqlitedict/default.nix b/pkgs/development/python-modules/sqlitedict/default.nix
index 178617e18de..5634eb41601 100644
--- a/pkgs/development/python-modules/sqlitedict/default.nix
+++ b/pkgs/development/python-modules/sqlitedict/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "sqlitedict";
-  version = "1.7.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "RaRe-Technologies";
     repo = "sqlitedict";
-    rev = version;
-    sha256 = "08fr81rz1fz35d35kravg7vl234aqagr9wqb09x6wi9lx9zkkh28";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-8dmGn5h3NigCdDtnDYjpjntRpyjk7ivRp1B8x8nUgpE=";
   };
 
   preCheck = ''
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index 6313f413c6a..257c7c27615 100644
--- a/pkgs/development/python-modules/sqlmap/default.nix
+++ b/pkgs/development/python-modules/sqlmap/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.6.4";
+  version = "1.6.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-6RKJ5a8Yl+SnWgdfrTIwY0m1JyY6W9fhZk6pTZiBVx8=";
+    sha256 = "sha256-EdiLTzjRigJLsslWSymLNajvUDimBt4d4EBugxVYueg=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/srvlookup/default.nix b/pkgs/development/python-modules/srvlookup/default.nix
index f325d40ba92..11f31c06550 100644
--- a/pkgs/development/python-modules/srvlookup/default.nix
+++ b/pkgs/development/python-modules/srvlookup/default.nix
@@ -1,24 +1,41 @@
-{ lib, fetchPypi, buildPythonPackage
+{ lib
+, buildPythonPackage
 , dnspython
-, mock, nose
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "srvlookup";
-  version = "2.0.0";
+  version = "3.0.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1zf1v04zd5phabyqh0nhplr5a8vxskzfrzdh4akljnz1yk2n2a0b";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "gmr";
+    repo = pname;
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-iXbi25HsoNX0hnhwZoFik5ddlJ7i+xml3HGaezj3jgY=";
   };
 
-  propagatedBuildInputs = [ dnspython ];
-  checkInputs = [ mock nose ];
+  propagatedBuildInputs = [
+    dnspython
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "srvlookup"
+  ];
 
   meta = with lib; {
+    description = "Wrapper for dnspython to return SRV records for a given host, protocol, and domain name";
     homepage = "https://github.com/gmr/srvlookup";
-    license = [ licenses.bsd3 ];
-    description = "A small wrapper for dnspython to return SRV records for a given host, protocol, and domain name as a list of namedtuples.";
-    maintainers = [ maintainers.mmlb ];
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ mmlb ];
   };
 }
diff --git a/pkgs/development/python-modules/staticjinja/default.nix b/pkgs/development/python-modules/staticjinja/default.nix
index ac3c173c09a..0c1a698aa63 100644
--- a/pkgs/development/python-modules/staticjinja/default.nix
+++ b/pkgs/development/python-modules/staticjinja/default.nix
@@ -9,7 +9,7 @@
 , pytest-check
 , pythonOlder
 , markdown
-, testVersion
+, testers
 , tomlkit
 , staticjinja
 , callPackage
@@ -53,7 +53,7 @@ buildPythonPackage rec {
   '';
 
   passthru.tests = {
-    version = testVersion { package = staticjinja; };
+    version = testers.testVersion { package = staticjinja; };
     minimal-template = callPackage ./test-minimal-template {};
   };
 
diff --git a/pkgs/development/python-modules/stringly/default.nix b/pkgs/development/python-modules/stringly/default.nix
new file mode 100644
index 00000000000..777fc11ed37
--- /dev/null
+++ b/pkgs/development/python-modules/stringly/default.nix
@@ -0,0 +1,28 @@
+{ lib , python, buildPythonPackage , fetchPypi, typing-extensions }:
+
+buildPythonPackage rec {
+  pname = "stringly";
+  version = "1.0b2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "09fi9dgf27v4qi0mwwms7hpwim9qpyalckd66p7nlmfp6c8bzppq";
+  };
+
+  pythonImportsCheck = [ "stringly" ];
+
+  propagatedBuildInputs = [
+    typing-extensions
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest
+  '';
+
+  meta = with lib; {
+    description = "Stringly: Human Readable Object Serialization";
+    homepage = "https://github.com/evalf/stringly";
+    license = licenses.mit;
+    maintainers = [ maintainers.Scriptkiddi ];
+  };
+}
diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix
index c0bd1751bf1..c49dd79679d 100644
--- a/pkgs/development/python-modules/stripe/default.nix
+++ b/pkgs/development/python-modules/stripe/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "2.73.0";
+  version = "2.75.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Z5JG1mPaX7OElL48OoIljUdqu4TKrmfwrh85Z81i0zo=";
+    hash = "sha256-iAjXsbeX+vZW8FtaJRIB5lR3EEkDUU/dPpLpdHSxLME=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/superqt/default.nix b/pkgs/development/python-modules/superqt/default.nix
index af600f62342..1386706a331 100644
--- a/pkgs/development/python-modules/superqt/default.nix
+++ b/pkgs/development/python-modules/superqt/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "superqt";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "napari";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-DPjJxOgybNvZ3YvYHr48fmx59Puck61Dzm2G4M9qKo4=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-P1uKQaYgXVTE7DK5w4Ct4aJyfdQ6jUPfaTOcYkpo9pc=";
   };
   format = "pyproject";
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/svdtools/default.nix b/pkgs/development/python-modules/svdtools/default.nix
index 03db4b6356e..21e6a143ce7 100644
--- a/pkgs/development/python-modules/svdtools/default.nix
+++ b/pkgs/development/python-modules/svdtools/default.nix
@@ -11,22 +11,16 @@
 
 buildPythonPackage rec {
   pname = "svdtools";
-  version = "0.1.21";
+  version = "0.1.23";
+  format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "0qc94haqkj4dbhify1l3x0ji1dx34m79nfnsk1c7l1kl2zjvz6bz";
+    hash = "sha256-LuursRuUZEDLbk9Wbnq/S0dsZHbzIJo1YCSVFMUoiog=";
   };
 
-  # remove upon next release
-  # see: https://github.com/stm32-rs/svdtools/pull/96
-  prePatch = ''
-    substituteInPlace setup.py \
-      --replace 'PyYAML ~= 5.3' 'PyYAML >= 5.3'
-  '';
-
   propagatedBuildInputs = [
     braceexpand
     click
@@ -34,9 +28,13 @@ buildPythonPackage rec {
     lxml
   ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "svdtools" ];
+  pythonImportsCheck = [
+    "svdtools"
+  ];
 
   meta = with lib; {
     description = "Python package to handle vendor-supplied, often buggy SVD files";
diff --git a/pkgs/development/python-modules/swspotify/default.nix b/pkgs/development/python-modules/swspotify/default.nix
index b1fc4d128cf..1e1a9fd9cea 100644
--- a/pkgs/development/python-modules/swspotify/default.nix
+++ b/pkgs/development/python-modules/swspotify/default.nix
@@ -1,40 +1,57 @@
-{ lib, stdenv, buildPythonPackage, fetchFromGitHub, requests
-, pytestCheckHook, flask, flask-cors, dbus-python, mock, isPy27
-, poetry-core }:
+{ lib
+, stdenv
+, buildPythonPackage
+, dbus-python
+, fetchFromGitHub
+, flask
+, flask-cors
+, poetry-core
+, pythonOlder
+, requests
+}:
 
 buildPythonPackage rec {
-  pname = "SwSpotify";
+  pname = "swspotify";
   version = "1.2.3";
-  disabled = isPy27;
   format = "pyproject";
 
+  disabled = pythonOlder "3.6";
+
   src = fetchFromGitHub {
     owner = "SwagLyrics";
     repo = "SwSpotify";
     rev = "v${version}";
-    sha256 = "sha256-xGLvc154xnje45Akf7H1qqQRUc03gGVt8AhGlkcP3kY=";
+    hash = "sha256-xGLvc154xnje45Akf7H1qqQRUc03gGVt8AhGlkcP3kY=";
   };
 
-  nativeBuildInputs = [ poetry-core ];
-
-  propagatedBuildInputs = [ requests flask flask-cors ]
-    ++ lib.optionals stdenv.isLinux [ dbus-python ];
-
-  doCheck = !stdenv.isDarwin;
-
-  checkPhase = ''
-    pytest tests/test_spotify.py::${if stdenv.isDarwin then "DarwinTests" else "LinuxTests"}
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    dbus-python
+    flask
+    flask-cors
+    requests
+  ];
+
+  postPatch = ''
+    # Detection of the  platform doesn't always works with 1.2.3
+    substituteInPlace pyproject.toml \
+      --replace 'dbus-python = {version = "^1.2.16", platform = "linux"}' ""
   '';
 
-  checkInputs = [ pytestCheckHook mock ];
+  # Tests want to use Dbus
+  doCheck = false;
 
-  pythonImportsCheck = [ "SwSpotify" ];
+  pythonImportsCheck = [
+    "SwSpotify"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/SwagLyrics/SwSpotify";
     description = "Library to get the currently playing song and artist from Spotify";
+    homepage = "https://github.com/SwagLyrics/SwSpotify";
     license = licenses.mit;
     maintainers = with maintainers; [ siraben ];
-    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/tern/default.nix b/pkgs/development/python-modules/tern/default.nix
index 2e7aa708629..c0bceca72b8 100644
--- a/pkgs/development/python-modules/tern/default.nix
+++ b/pkgs/development/python-modules/tern/default.nix
@@ -17,11 +17,11 @@
 
 buildPythonPackage rec {
   pname = "tern";
-  version = "2.9.1";
+  version = "2.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c7ce55a500061e1160b040e75dc38d0eccc790a2b70fa3b7ad1b4fb715c18fc9";
+    sha256 = "sha256-KpkEnpItHC/9IswfboFZ5nCcGaM9bWFX/i+6jxGN5hg=";
   };
 
   preBuild = ''
diff --git a/pkgs/development/python-modules/teslajsonpy/default.nix b/pkgs/development/python-modules/teslajsonpy/default.nix
index 83d1e1780b0..11235e13a81 100644
--- a/pkgs/development/python-modules/teslajsonpy/default.nix
+++ b/pkgs/development/python-modules/teslajsonpy/default.nix
@@ -15,16 +15,16 @@
 
 buildPythonPackage rec {
   pname = "teslajsonpy";
-  version = "2.0.1";
+  version = "2.2.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "zabuldon";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-cplx6Zhqc/ft7l9dy1ian3zzgDqEfpO/0AF7ErX4wqk=";
+    sha256 = "sha256-/y+ZXNqNbSIjQeTDacu3/Fd+6FrDrW3Nigptj0f5KTg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/textual/default.nix b/pkgs/development/python-modules/textual/default.nix
index e14c64730a2..5806b28e349 100644
--- a/pkgs/development/python-modules/textual/default.nix
+++ b/pkgs/development/python-modules/textual/default.nix
@@ -1,38 +1,34 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , rich
 , typing-extensions
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "textual";
-  version = "0.1.15";
+  version = "0.1.18";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "Textualize";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jmjais0yq8dwi9yikgrxdw4rwp8aq1981nhfxn0v97jb07i4cj6";
+    sha256 = "sha256-XVmbt8r5HL8r64ISdJozmM+9HuyvqbpdejWICzFnfiw=";
   };
 
-  patches = [
-    (fetchpatch {
-      # v0.1.15 git tag has 0.1.14 in pyproject.toml
-      name = "version.patch";
-      url = "https://github.com/Textualize/textual/commit/1b8d7d184e10889002425641222702afba508aea.patch";
-      sha256 = "1nfqp5f8ba3fg0ar3lghrlqypbjbsaywxaz3iiff8fy8j2wgsppp";
-    })
+  nativeBuildInputs = [
+    poetry-core
   ];
 
-  nativeBuildInputs = [ poetry-core ];
-
   propagatedBuildInputs = [
     rich
+  ] ++ lib.optionals (pythonOlder "3.9") [
     typing-extensions
   ];
 
@@ -40,7 +36,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "textual" ];
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'rich = "^12.3.0"' 'rich = "*"'
+  '';
+
+  pythonImportsCheck = [
+    "textual"
+  ];
 
   meta = with lib; {
     description = "TUI framework for Python inspired by modern web development";
diff --git a/pkgs/development/python-modules/timetagger/default.nix b/pkgs/development/python-modules/timetagger/default.nix
index 65b22f905ef..80668736158 100644
--- a/pkgs/development/python-modules/timetagger/default.nix
+++ b/pkgs/development/python-modules/timetagger/default.nix
@@ -9,13 +9,13 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "timetagger";
-  version = "22.3.1";
+  version = "22.4.2";
 
   src = fetchFromGitHub {
     owner = "almarklein";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-pHogDjqXuoQp5afSnPvMPaKoBtPE6u3kMi87SzY5yoU=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-CWY+5O4Y1dvKQNy1Cclqj4+U6q5vVVj9hZq41MYqXKs=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/development/python-modules/total-connect-client/default.nix b/pkgs/development/python-modules/total-connect-client/default.nix
index 7846525f65f..24d2093a59d 100644
--- a/pkgs/development/python-modules/total-connect-client/default.nix
+++ b/pkgs/development/python-modules/total-connect-client/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "total-connect-client";
-  version = "2022.2.1";
+  version = "2022.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "craigjmidwinter";
     repo = "total-connect-client";
     rev = version;
-    hash = "sha256-1/uqOxaJqrT+E+0ikNZX9AfIRRbpBSjh2nINrqGWxbY=";
+    hash = "sha256-KfJFU85yQmBZn4f0ljnaiy/DjHMOuNi+Q7nb8yCpKVk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/tpm2-pytss/default.nix b/pkgs/development/python-modules/tpm2-pytss/default.nix
index 77f778b0010..e003d075a15 100644
--- a/pkgs/development/python-modules/tpm2-pytss/default.nix
+++ b/pkgs/development/python-modules/tpm2-pytss/default.nix
@@ -1,37 +1,58 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder
-, pkg-config, swig
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, asn1crypto
+, cffi
+, cryptography
+, ibm-sw-tpm2
+, pkg-config
+, pkgconfig
+, pycparser
+, pytestCheckHook
+, python
+, setuptools-scm
 , tpm2-tss
-, cryptography, ibm-sw-tpm2
 }:
 
 buildPythonPackage rec {
   pname = "tpm2-pytss";
-
-  # Last version on github is 0.2.4, but it looks
-  # like a mistake (it's missing commits from 0.1.9)
   version = "1.1.0";
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "sha256-O0d1b99/V8b3embg8veerTrJGSVb/prlPVb7qSHErdQ=";
   };
-  postPatch = ''
-    substituteInPlace tpm2_pytss/config.py --replace \
-      'SYSCONFDIR = CONFIG.get("sysconfdir", "/etc")' \
-      'SYSCONFDIR = "${tpm2-tss}/etc"'
-  '';
 
-  nativeBuildInputs = [ pkg-config swig ];
-  # The TCTI is dynamically loaded from tpm2-tss, we have to provide the library to the end-user
-  propagatedBuildInputs = [ tpm2-tss ];
+  nativeBuildInputs = [
+    cffi
+    pkgconfig
+    # somehow propagating from pkgconfig does not work
+    pkg-config
+    setuptools-scm
+  ];
 
-  checkInputs = [
+  buildInputs = [
+    tpm2-tss
+  ];
+
+  propagatedBuildInputs = [
+    cffi
+    asn1crypto
     cryptography
-    # provide tpm_server used as simulator for the tests
+  ];
+
+  # https://github.com/tpm2-software/tpm2-pytss/issues/341
+  doCheck = false;
+
+  checkInputs = [
     ibm-sw-tpm2
+    pytestCheckHook
   ];
 
+  pythonImportsCheck = [ "tpm2_pytss" ];
+
   meta = with lib; {
     homepage = "https://github.com/tpm2-software/tpm2-pytss";
     description = "TPM2 TSS Python bindings for Enhanced System API (ESYS)";
diff --git a/pkgs/development/python-modules/treelog/default.nix b/pkgs/development/python-modules/treelog/default.nix
new file mode 100644
index 00000000000..e3b85cd64fb
--- /dev/null
+++ b/pkgs/development/python-modules/treelog/default.nix
@@ -0,0 +1,28 @@
+{ lib , python, buildPythonPackage , fetchPypi, typing-extensions }:
+
+buildPythonPackage rec {
+  pname = "treelog";
+  version = "1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0hnivz4p4llky6djxgcsr9r3j4vr46mkjvp0ksybhpx0fsnhdi81";
+  };
+
+  pythonImportsCheck = [ "treelog" ];
+
+  propagatedBuildInputs = [
+    typing-extensions
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest
+  '';
+
+  meta = with lib; {
+    description = "Logging framework that organizes messages in a tree structure";
+    homepage = "https://github.com/evalf/treelog";
+    license = licenses.mit;
+    maintainers = [ maintainers.Scriptkiddi ];
+  };
+}
diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix
index 0810acd1ea4..c3a6a4af9e5 100644
--- a/pkgs/development/python-modules/trimesh/default.nix
+++ b/pkgs/development/python-modules/trimesh/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "3.10.8";
+  version = "3.11.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-SFG3wGGFxzZKfNyIQrpDGblL2vC0pQguWIYdwF0Mg5A=";
+    sha256 = "sha256-7booFScN2qNqldPdBmxH1pTUz2+u7JMmPmX0tJojaeI=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/twitch-python/default.nix b/pkgs/development/python-modules/twitch-python/default.nix
index d4910cfdbe9..c11e8bd4fda 100644
--- a/pkgs/development/python-modules/twitch-python/default.nix
+++ b/pkgs/development/python-modules/twitch-python/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "twitch-python";
-  version = "0.0.19";
+  version = "0.0.20";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b0b02abdd33458e4ffabc632aa6a6779f3599e188819632551353b6c5553f5c5";
+    sha256 = "sha256-bgnXIQuOCrtoknZ9ciB56zWxTCnncM2032TVaey6oXw=";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/types-cryptography/default.nix b/pkgs/development/python-modules/types-cryptography/default.nix
index 449ab50117c..374780d5151 100644
--- a/pkgs/development/python-modules/types-cryptography/default.nix
+++ b/pkgs/development/python-modules/types-cryptography/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "types-cryptography";
-  version = "3.3.20";
+  version = "3.3.21";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-u+9bZpcllvPNYbMJFxn8k14IHzu6h+zqVhvA27Fnh1M=";
+    sha256 = "sha256-rRucYxWcAJ+GdsfkGk1ZXfuW6MA6/6Lmk+FheQi7QJ4=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/types-dateutil/default.nix b/pkgs/development/python-modules/types-dateutil/default.nix
index 5a1e7220ec4..8e52c5b6e01 100644
--- a/pkgs/development/python-modules/types-dateutil/default.nix
+++ b/pkgs/development/python-modules/types-dateutil/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-python-dateutil";
-  version = "2.8.12";
+  version = "2.8.14";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-7zBTt0XwHERDtRK2s9WwT7ry1HaqUDtsyTIEah7fpWo=";
+    sha256 = "sha256-Nnwf+hpSpLKlNMmzC0CwHyt/LqR6l/2CH2x20ceuMSk=";
   };
 
   pythonImportsCheck = [ "dateutil-stubs" ];
diff --git a/pkgs/development/python-modules/types-decorator/default.nix b/pkgs/development/python-modules/types-decorator/default.nix
index 114ceade047..d2f9ef03f5d 100644
--- a/pkgs/development/python-modules/types-decorator/default.nix
+++ b/pkgs/development/python-modules/types-decorator/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-decorator";
-  version = "5.1.6";
+  version = "5.1.7";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-OZ+qczvJMstRtQ08odfpV7KuAvPE1xGcdpYxKCo4aKY=";
+    sha256 = "sha256-srf0f9AcoY+JyMAmSDnZLl95oezAes5Hu5AO/XzQL1k=";
   };
 
   # Modules doesn't have tests
diff --git a/pkgs/development/python-modules/types-paramiko/default.nix b/pkgs/development/python-modules/types-paramiko/default.nix
index 4405a02770a..154bfb514ad 100644
--- a/pkgs/development/python-modules/types-paramiko/default.nix
+++ b/pkgs/development/python-modules/types-paramiko/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "types-paramiko";
-  version = "2.8.19";
+  version = "2.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-UhkthDZk73wfh7n+Bpe7u1qPgS5DAWlEz+q+x93spCM=";
+    sha256 = "sha256-q2iT1fzl7QaWTWGTntanFoqxSVKUWpCZWmKKXoKl4WE=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/types-pytz/default.nix b/pkgs/development/python-modules/types-pytz/default.nix
index eecf45c82fa..d3ac7e4932b 100644
--- a/pkgs/development/python-modules/types-pytz/default.nix
+++ b/pkgs/development/python-modules/types-pytz/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-pytz";
-  version = "2021.3.6";
+  version = "2021.3.7";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-dFR/2Q2NirTx7t86NEp9GG2XSGlziV+BIhpxLh4s2ZM=";
+    sha256 = "sha256-EdW6BiaBZ5U8zEo+7hksJLQtANKu9FbBYKh5iJPLIIE=";
   };
 
   # Modules doesn't have tests
diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix
index 59f8d50fcb1..bb7e12d5963 100644
--- a/pkgs/development/python-modules/types-requests/default.nix
+++ b/pkgs/development/python-modules/types-requests/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.27.20";
+  version = "2.27.25";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-YzRFc83mxO/UTYZ8AVjZ+35r65VyHL6YgvP4V+6KU5g=";
+    sha256 = "sha256-gFrn44/Z0VcVMGbcQ4HPWF/TTfohLy/B/s4kjAWqxXE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-tabulate/default.nix b/pkgs/development/python-modules/types-tabulate/default.nix
index 1fc11aeede9..5da6ea01680 100644
--- a/pkgs/development/python-modules/types-tabulate/default.nix
+++ b/pkgs/development/python-modules/types-tabulate/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "types-tabulate";
-  version = "0.8.7";
+  version = "0.8.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Cs0ClYZuXy3i6Qc4/wvBIBdR4d0Ci9MMv6Qap6Zpkp4=";
+    hash = "sha256-CzGcfhDdVh98FfVt7DR8MZP9hl9Ovl/x7LAg6vp5O8M=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-toml/default.nix b/pkgs/development/python-modules/types-toml/default.nix
index 263fc0edd7b..ed965cbb8c4 100644
--- a/pkgs/development/python-modules/types-toml/default.nix
+++ b/pkgs/development/python-modules/types-toml/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-toml";
-  version = "0.10.5";
+  version = "0.10.6";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-+UlGOjiCAL45Lvk5nbrT4eO75tRUPYStk9lsP9oCgIA=";
+    sha256 = "sha256-aus+17+oaTgVUcd07WqRQuPu2YqD76UQipYy6v1W3NM=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-typed-ast/default.nix b/pkgs/development/python-modules/types-typed-ast/default.nix
index e08450c6a3e..2c8e2a09580 100644
--- a/pkgs/development/python-modules/types-typed-ast/default.nix
+++ b/pkgs/development/python-modules/types-typed-ast/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-typed-ast";
-  version = "1.5.2";
+  version = "1.5.4";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-bY/S6pCDbLQxEayKrnzYZOCYWTyT7M66kP5G1rewxz4=";
+    hash = "sha256-MlOHn/Y6+4lkZa/kIoocTfLmPNw57vm5dD1QC42aUXY=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-urllib3/default.nix b/pkgs/development/python-modules/types-urllib3/default.nix
index 45b6dd97c2d..9f1285f7444 100644
--- a/pkgs/development/python-modules/types-urllib3/default.nix
+++ b/pkgs/development/python-modules/types-urllib3/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-urllib3";
-  version = "1.26.13";
+  version = "1.26.14";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-QPj7XozX1X6K797j/dXpMKoaG7QXnNrdVSJs6liK95A=";
+    hash = "sha256-KiV45LNjQczSQLAPzNqYJpiP8FiaRLpKZku9ae80jSc=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/typical/default.nix b/pkgs/development/python-modules/typical/default.nix
index 96a07802b1c..066c3f452ed 100644
--- a/pkgs/development/python-modules/typical/default.nix
+++ b/pkgs/development/python-modules/typical/default.nix
@@ -14,7 +14,7 @@
 , pytestCheckHook
 , pythonOlder
 , sqlalchemy
-, typing-extensions
+, ujson
 }:
 
 buildPythonPackage rec {
@@ -22,7 +22,8 @@ buildPythonPackage rec {
   version = "2.8.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  # Support for typing-extensions >= 4.0.0 on Python < 3.10 is missing
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "seandstewart";
@@ -36,13 +37,12 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    inflection
-    pendulum
     fastjsonschema
-    orjson
     future-typing
-  ] ++ lib.optionals (pythonOlder "3.10") [
-    typing-extensions
+    inflection
+    orjson
+    pendulum
+    ujson
   ];
 
   checkInputs = [
@@ -63,13 +63,14 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    # We use orjson
-    "test_ujson"
     # ConstraintValueError: Given value <{'key...
     "test_tagged_union_validate"
+    # TypeError: 'NoneType' object cannot be interpreted as an integer
+    "test_ujson"
   ];
 
   disabledTestPaths = [
+    # We don't care about benchmarks
     "benchmark/"
     # Tests are failing on Hydra
     "tests/mypy/test_mypy.py"
diff --git a/pkgs/development/python-modules/ufo2ft/default.nix b/pkgs/development/python-modules/ufo2ft/default.nix
index 8f700107bce..b1e5ea7905a 100644
--- a/pkgs/development/python-modules/ufo2ft/default.nix
+++ b/pkgs/development/python-modules/ufo2ft/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "ufo2ft";
-  version = "2.26.0";
+  version = "2.27.0";
 
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-1WQAs1ypWtLObgBzPtqtvHjkKnDWohu3PbI3bF7B0Sg=";
+    sha256 = "r5bE4M/blt5TKzP43MpijwYY6ll3aasszmGksY5WTTE=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/ufoLib2/default.nix b/pkgs/development/python-modules/ufoLib2/default.nix
index 21894203d1a..fab42e5169b 100644
--- a/pkgs/development/python-modules/ufoLib2/default.nix
+++ b/pkgs/development/python-modules/ufoLib2/default.nix
@@ -5,6 +5,7 @@
 , fonttools
 , pytestCheckHook
 , fs
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
@@ -25,6 +26,8 @@ buildPythonPackage rec {
     fs
   ];
 
+  nativeBuildInputs = [ setuptools-scm ];
+
   checkInputs = [
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/uharfbuzz/default.nix b/pkgs/development/python-modules/uharfbuzz/default.nix
new file mode 100644
index 00000000000..f39aa12152a
--- /dev/null
+++ b/pkgs/development/python-modules/uharfbuzz/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, cython
+, setuptools-scm
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "uharfbuzz";
+  version = "0.24.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.5";
+
+  # Fetching from GitHub as Pypi contains different versions
+  src = fetchFromGitHub {
+    owner = "harfbuzz";
+    repo = "uharfbuzz";
+    rev = "v${version}";
+    sha256 = "sha256-DyFXbwB28JH2lvmWDezRh49tjCvleviUNSE5LHG3kUg=";
+    fetchSubmodules = true;
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    cython
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "uharfbuzz" ];
+
+  meta = with lib; {
+    description = "Streamlined Cython bindings for the harfbuzz shaping engine";
+    homepage = "https://github.com/harfbuzz/uharfbuzz";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/python-modules/update-dotdee/default.nix b/pkgs/development/python-modules/update-dotdee/default.nix
index 1532fca78c4..a89f0df403c 100644
--- a/pkgs/development/python-modules/update-dotdee/default.nix
+++ b/pkgs/development/python-modules/update-dotdee/default.nix
@@ -1,17 +1,56 @@
-{ lib, buildPythonPackage, fetchFromGitHub, executor, naturalsort }:
+{ lib
+, buildPythonPackage
+, coloredlogs
+, executor
+, fetchFromGitHub
+, humanfriendly
+, naturalsort
+, property-manager
+, pytestCheckHook
+, pythonOlder
+, six
+}:
 
 buildPythonPackage rec {
   pname = "update-dotdee";
   version = "6.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "xolox";
     repo = "python-update-dotdee";
     rev = version;
-    sha256 = "sha256-2k7FdgWM0ESHQb2za87yhXGaR/rbMYLVcv10QexUH1A=";
+    hash = "sha256-2k7FdgWM0ESHQb2za87yhXGaR/rbMYLVcv10QexUH1A=";
   };
 
-  propagatedBuildInputs = [ executor naturalsort ];
+  propagatedBuildInputs = [
+    coloredlogs
+    executor
+    humanfriendly
+    naturalsort
+    property-manager
+    six
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace tox.ini \
+      --replace " --cov --showlocals --verbose" ""
+  '';
+
+  pythonImportsCheck = [
+    "update_dotdee"
+  ];
+
+  disabledTests = [
+    # TypeError: %o format: an integer is required, not str
+    "test_executable"
+  ];
 
   meta = with lib; {
     description = "Generic modularized configuration file manager";
diff --git a/pkgs/development/python-modules/vispy/default.nix b/pkgs/development/python-modules/vispy/default.nix
index 47a96633254..c17f3728738 100644
--- a/pkgs/development/python-modules/vispy/default.nix
+++ b/pkgs/development/python-modules/vispy/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "vispy";
-  version = "0.9.6";
+  version = "0.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ISzVtQgkSZu84+LXQaray3nAt3GsVm+THGE1WXYCi8s=";
+    sha256 = "sha256-t2rW8+rK2/xJRM+4IR6ttuqEF6WQmT7OWqfKrAgs/8I=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/vivisect/default.nix b/pkgs/development/python-modules/vivisect/default.nix
index ddf6ce54b25..8eddde2b65b 100644
--- a/pkgs/development/python-modules/vivisect/default.nix
+++ b/pkgs/development/python-modules/vivisect/default.nix
@@ -2,32 +2,56 @@
 , buildPythonPackage
 , isPy3k
 , fetchPypi
+, wrapQtAppsHook
+
+# propagates
 , pyasn1
 , pyasn1-modules
 , cxxfilt
 , msgpack
 , pycparser
+
+# extras: gui
+, pyqt5
+, pyqtwebengine
+
+# knobs
+, withGui ? false
 }:
+
 buildPythonPackage rec {
   pname = "vivisect";
   version = "1.0.7";
-  disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "727a27ac1eb95d5a41f4430f6912e79940525551314fe68a2811fc9d51eaf2e9";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'cxxfilt>=0.2.1,<0.3.0' 'cxxfilt'
+  '';
+
+  nativeBuildInputs = [
+    wrapQtAppsHook
+  ];
+
   propagatedBuildInputs = [
     pyasn1
     pyasn1-modules
     cxxfilt
     msgpack
     pycparser
+  ] ++ lib.optionals (withGui) passthru.extras-require.gui;
+
+  passthru.extras-require.gui = [
+    pyqt5
+    pyqtwebengine
   ];
 
-  preBuild = ''
-    sed "s@==.*'@'@" -i setup.py
+  postFixup = ''
+    wrapQtApp $out/bin/vivbin
   '';
 
   # requires another repo for test files
diff --git a/pkgs/development/python-modules/voluptuous/default.nix b/pkgs/development/python-modules/voluptuous/default.nix
index d2e221d6e39..4212de031be 100644
--- a/pkgs/development/python-modules/voluptuous/default.nix
+++ b/pkgs/development/python-modules/voluptuous/default.nix
@@ -1,27 +1,31 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, nose
+, fetchFromGitHub
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "voluptuous";
-  version = "0.13.0";
+  version = "0.13.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-yuakUmtDS2QoFrNKAOEYbVpfXgyUirlNKpGOAeWHQGY=";
+  src = fetchFromGitHub {
+    owner = "alecthomas";
+    repo = pname;
+    rev = version;
+    hash = "sha256-cz3Bd+/yPh+VOHxzi/W+gbDh/H5Nl/n4jvxDOirmAVk=";
   };
 
   checkInputs = [
-    nose
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    nosetests
-  '';
+  pythonImportsCheck = [
+    "voluptuous"
+  ];
 
-  pythonImportsCheck = [ "voluptuous" ];
+  pytestFlagsArray = [
+    "voluptuous/tests/"
+  ];
 
   meta = with lib; {
     description = "Python data validation library";
diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix
index b4804176edd..615b4e64aa4 100644
--- a/pkgs/development/python-modules/wandb/default.nix
+++ b/pkgs/development/python-modules/wandb/default.nix
@@ -1,4 +1,6 @@
-{ azure-core
+{ lib
+, stdenv
+, azure-core
 , bokeh
 , buildPythonPackage
 , click
@@ -9,8 +11,8 @@
 , GitPython
 , jsonref
 , jsonschema
-, lib
 , matplotlib
+, nbclient
 , nbformat
 , pandas
 , pathtools
@@ -22,6 +24,7 @@
 , pytest-xdist
 , pytestCheckHook
 , python-dateutil
+, pythonOlder
 , pyyaml
 , requests
 , scikit-learn
@@ -29,19 +32,21 @@
 , setproctitle
 , setuptools
 , shortuuid
-, stdenv
 , tqdm
 }:
 
 buildPythonPackage rec {
   pname = "wandb";
-  version = "0.12.14";
+  version = "0.12.16";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "client";
     rev = "v${version}";
-    hash = "sha256-60E64ePW+C0C/eG7pLp4SpAFqycOHiCvOvmNOg2yoqY=";
+    hash = "sha256-ZY7nTj93piTEeHhW+H+nQ+ws2dDmmY6u3p7uz296PbA=";
   };
 
   # setuptools is necessary since pkg_resources is required at runtime.
@@ -72,6 +77,28 @@ buildPythonPackage rec {
     ln -s ${git}/bin/git $out/bin/git
   '';
 
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  checkInputs = [
+    azure-core
+    bokeh
+    flask
+    jsonref
+    jsonschema
+    matplotlib
+    nbclient
+    nbformat
+    pandas
+    pydantic
+    pytest-mock
+    pytest-xdist
+    pytestCheckHook
+    scikit-learn
+    tqdm
+  ];
+
   disabledTestPaths = [
     # Tests that try to get chatty over sockets or spin up servers, not possible in the nix build environment.
     "tests/test_cli.py"
@@ -112,26 +139,13 @@ buildPythonPackage rec {
 
   # Disable test that fails on darwin due to issue with python3Packages.psutil:
   # https://github.com/giampaolo/psutil/issues/1219
-  disabledTests = lib.optional stdenv.isDarwin "test_tpu_system_stats";
-
-  checkInputs = [
-    azure-core
-    bokeh
-    flask
-    jsonref
-    jsonschema
-    matplotlib
-    nbformat
-    pandas
-    pydantic
-    pytest-mock
-    pytest-xdist
-    pytestCheckHook
-    scikit-learn
-    tqdm
+  disabledTests = lib.optional stdenv.isDarwin [
+    "test_tpu_system_stats"
   ];
 
-  pythonImportsCheck = [ "wandb" ];
+  pythonImportsCheck = [
+    "wandb"
+  ];
 
   meta = with lib; {
     description = "A CLI and library for interacting with the Weights and Biases API";
diff --git a/pkgs/development/python-modules/webssh/default.nix b/pkgs/development/python-modules/webssh/default.nix
index ff26a9f1711..db21f16f424 100644
--- a/pkgs/development/python-modules/webssh/default.nix
+++ b/pkgs/development/python-modules/webssh/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "webssh";
-  version = "1.5.3";
+  version = "1.6.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Au6PE8jYm8LkEp0B1ymW//ZkrkcV0BauwufQmrHLEU4=";
+    hash = "sha256-yqjwahh2METXD83geTGt5sUL+vmxbrYxj4KtwTxbD94=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/weconnect-mqtt/default.nix b/pkgs/development/python-modules/weconnect-mqtt/default.nix
index b49d6c35821..646702befbb 100644
--- a/pkgs/development/python-modules/weconnect-mqtt/default.nix
+++ b/pkgs/development/python-modules/weconnect-mqtt/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "weconnect-mqtt";
-  version = "0.32.0";
+  version = "0.33.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-mqtt";
     rev = "v${version}";
-    sha256 = "sha256-XuWiWL3cszC8aM+CJcAk359VaBCZNUOu4mAfmbdpoGg=";
+    sha256 = "sha256-m8T1ngTcqwrel4EW8jvXg7RH+TtYyZRvIR33kzgda7E=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/weconnect/default.nix b/pkgs/development/python-modules/weconnect/default.nix
index db3cc1b8f82..1dab5c8c928 100644
--- a/pkgs/development/python-modules/weconnect/default.nix
+++ b/pkgs/development/python-modules/weconnect/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "weconnect";
-  version = "0.38.1";
+  version = "0.39.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-python";
     rev = "v${version}";
-    sha256 = "sha256-n9MqJ+npdHYpQJ8m6V8Oop+VuQ3EOCRrfIlU5qAc/Y8=";
+    sha256 = "sha256-O5Dh0RWvSXCIF0savyNG5XDhGqCTJZHQpJM4VEX+S9w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/wifi/default.nix b/pkgs/development/python-modules/wifi/default.nix
new file mode 100644
index 00000000000..0b5a9444dbf
--- /dev/null
+++ b/pkgs/development/python-modules/wifi/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pbkdf2
+, pytestCheckHook
+, pythonOlder
+, substituteAll
+, wirelesstools
+}:
+
+buildPythonPackage rec {
+  pname = "wifi";
+  version = "0.3.5";
+
+  src = fetchFromGitHub {
+    owner = "rockymeza";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-scg/DvApvyQZtzDgkHFJzf9gCRfJgBvZ64CG/c2Cx8E=";
+  };
+
+  disabled = pythonOlder "2.6";
+
+  postPatch = ''
+    substituteInPlace wifi/scan.py \
+      --replace "/sbin/iwlist" "${wirelesstools}/bin/iwlist"
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  propagatedBuildInputs = [
+    pbkdf2
+  ];
+
+  pythonImportsCheck = [ "wifi" ];
+
+  meta = with lib; {
+    description = "Provides a command line wrapper for iwlist and /etc/network/interfaces";
+    homepage = "https://github.com/rockymeza/wifi";
+    maintainers = with maintainers; [ rhoriguchi ];
+    license = licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/python-modules/winacl/default.nix b/pkgs/development/python-modules/winacl/default.nix
index 76d6d71c0b6..52ae843d426 100644
--- a/pkgs/development/python-modules/winacl/default.nix
+++ b/pkgs/development/python-modules/winacl/default.nix
@@ -1,15 +1,19 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "winacl";
-  version = "0.1.2";
+  version = "0.1.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "187b4394ef247806f50e1d8320bdb9e33ad1f759d9e61e2e391b97b9adf5f58a";
+    hash = "sha256-G6xWep0hMACCqiJGuw+UpZH8qOIY4WO6sY3w4y7v6gY=";
   };
 
   # Project doesn't have tests
diff --git a/pkgs/development/python-modules/winsspi/default.nix b/pkgs/development/python-modules/winsspi/default.nix
index ea880234c0b..6869c9f0b08 100644
--- a/pkgs/development/python-modules/winsspi/default.nix
+++ b/pkgs/development/python-modules/winsspi/default.nix
@@ -2,21 +2,31 @@
 , buildPythonPackage
 , fetchPypi
 , minikerberos
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "winsspi";
-  version = "0.0.9";
+  version = "0.0.10";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1q8hr8l8d9jxyp55qsrlkyhdhqjc0n18ajzms7hf1xkhdl7rrbd2";
+    hash = "sha256-L1qNLEufRZFEQmkJ4mp05VBRLiO2z5r1LCoAADx8P9s=";
   };
-  propagatedBuildInputs = [ minikerberos ];
 
-  # Project doesn't have tests
+  propagatedBuildInputs = [
+    minikerberos
+  ];
+
+  # Module doesn't have tests
   doCheck = false;
-  pythonImportsCheck = [ "winsspi" ];
+
+  pythonImportsCheck = [
+    "winsspi"
+  ];
 
   meta = with lib; {
     description = "Python module for ACL/ACE/Security descriptor manipulation";
diff --git a/pkgs/development/python-modules/xhtml2pdf/default.nix b/pkgs/development/python-modules/xhtml2pdf/default.nix
index 5a47fc90f67..230e57a0643 100644
--- a/pkgs/development/python-modules/xhtml2pdf/default.nix
+++ b/pkgs/development/python-modules/xhtml2pdf/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , html5lib
 , pillow
+, pyhanko
 , pypdf3
 , pytestCheckHook
 , python-bidi
@@ -14,22 +15,25 @@
 
 buildPythonPackage rec {
   pname = "xhtml2pdf";
-  version = "0.2.6";
+  version = "0.2.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
+  # Tests are only available on GitHub
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-EyIERvAC98LqPTMCdwWqTkm1RiMhikscL0tnMZUHIT8=";
+    # Currently it is not possible to fetch from version as there is a branch with the same name
+    rev = "afa72cdbbdaf7d459261c1605263101ffcd999af";
+    sha256 = "sha256-plyIM7Ohnp5UBWz/UDTJa1UeWK9yckSZR16wxmLrpnc=";
   };
 
   propagatedBuildInputs = [
     arabic-reshaper
     html5lib
     pillow
+    pyhanko
     pypdf3
     python-bidi
     reportlab
diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix
index 88bf7541428..315ba9416d5 100644
--- a/pkgs/development/python-modules/xknx/default.nix
+++ b/pkgs/development/python-modules/xknx/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , cryptography
-, netifaces
+, ifaddr
 , voluptuous
 , pyyaml
 , pytest-asyncio
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "xknx";
-  version = "0.20.4";
+  version = "0.21.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,12 +21,12 @@ buildPythonPackage rec {
     owner = "XKNX";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-uqFS/kveWLEmu+8L9dOprcQcO+Odq9lzfTI9lqIhaSw=";
+    sha256 = "sha256-GEjrqqmlGA6wG5x89AZXd8FLvrKEzCLmVhhZ7FxDB+w=";
   };
 
   propagatedBuildInputs = [
     cryptography
-    netifaces
+    ifaddr
   ];
 
   checkInputs = [
@@ -38,6 +38,11 @@ buildPythonPackage rec {
     "xknx"
   ];
 
+  disabledTests = [
+    # Test requires network access
+    "test_scan_timeout"
+  ];
+
   meta = with lib; {
     description = "KNX Library Written in Python";
     longDescription = ''
diff --git a/pkgs/development/python-modules/xml2rfc/default.nix b/pkgs/development/python-modules/xml2rfc/default.nix
index c9cf286b6cc..be9323c774d 100644
--- a/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/pkgs/development/python-modules/xml2rfc/default.nix
@@ -1,6 +1,6 @@
 { lib
-, fetchPypi
 , buildPythonPackage
+, fetchFromGitHub
 , pythonOlder
 , intervaltree
 , pyflakes
@@ -18,19 +18,37 @@
 , jinja2
 , configargparse
 , appdirs
+, decorator
+, pycairo
+, pytestCheckHook
+, python-fontconfig
 }:
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "3.12.3";
+  version = "3.12.4";
 
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-YUrcD3Q1fkDW+nwf6k2T/aBL8+W9iWkPYW/TqdTiuA0=";
+  src = fetchFromGitHub {
+    owner = "ietf-tools";
+    repo = "xml2rfc";
+    rev = "v${version}";
+    sha256 = "sha256-TAu2Ls553t7wJ/Jhgu+Ff+H4P6az0Du8OL00JjZyCDs=";
   };
 
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace "SHELL := /bin/bash" "SHELL := bash" \
+      --replace "test flaketest" "test" \
+      --replace "python setup.py --quiet install" ""
+    substituteInPlace setup.py \
+      --replace "'tox'," ""
+    substituteInPlace requirements.txt \
+      --replace "jinja2>=2.11,<3.0" "jinja2" \
+      --replace "markupsafe==2.0.1" "markupsafe"
+  '';
+
   propagatedBuildInputs = [
     intervaltree
     jinja2
@@ -50,23 +68,25 @@ buildPythonPackage rec {
     appdirs
   ];
 
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "jinja2>=2.11,<3.0" "jinja2>=2.11"
-  '';
-
-  preCheck = ''
-    export HOME=$(mktemp -d)
-  '';
+  checkInputs = [
+    decorator
+    pycairo
+    pytestCheckHook
+    python-fontconfig
+  ];
 
-  # lxml tries to fetch from the internet
+   # requires Noto Serif and Roboto Mono font
   doCheck = false;
 
+  checkPhase = ''
+    make tests-no-network
+  '';
+
   pythonImportsCheck = [ "xml2rfc" ];
 
   meta = with lib; {
     description = "Tool generating IETF RFCs and drafts from XML sources";
-    homepage = "https://tools.ietf.org/tools/xml2rfc/trac/";
+    homepage = "https://github.com/ietf-tools/xml2rfc";
     # Well, parts might be considered unfree, if being strict; see:
     # http://metadata.ftp-master.debian.org/changelogs/non-free/x/xml2rfc/xml2rfc_2.9.6-1_copyright
     license = licenses.bsd3;
diff --git a/pkgs/development/python-modules/xxhash/default.nix b/pkgs/development/python-modules/xxhash/default.nix
index f70526da6a1..ff4eeff3545 100644
--- a/pkgs/development/python-modules/xxhash/default.nix
+++ b/pkgs/development/python-modules/xxhash/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
@@ -12,6 +13,10 @@ buildPythonPackage rec {
     sha256 = "sha256-MLLZeq8R+xIgI/a0TruXxpVengDXRhqWQVygMLXOucc=";
   };
 
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/ifduyue/python-xxhash";
     description = "Python Binding for xxHash https://pypi.org/project/xxhash/";
diff --git a/pkgs/development/python-modules/youtube-search-python/default.nix b/pkgs/development/python-modules/youtube-search-python/default.nix
index 361966ef458..9383d4cb059 100644
--- a/pkgs/development/python-modules/youtube-search-python/default.nix
+++ b/pkgs/development/python-modules/youtube-search-python/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "youtube-search-python";
-  version = "1.6.4";
+  version = "1.6.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9ZAZaLkJb2mEg0rstBxOvs9/L4wtbLuCTdFDOuxMqN0=";
+    hash = "sha256-1B7rppa+s/oE8w91Ca7ogjkNHu5pFSnNmDyUopCWEY8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yte/default.nix b/pkgs/development/python-modules/yte/default.nix
new file mode 100644
index 00000000000..7a7132a8326
--- /dev/null
+++ b/pkgs/development/python-modules/yte/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, plac
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "yte";
+  version = "1.2.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "koesterlab";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-x0CmPiV/6zTnawPW9lgrZ9NsUhmK8fhafwqOP9o3Mdc=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    plac
+    pyyaml
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "yte"
+  ];
+
+  pytestFlagsArray = [
+    "tests.py"
+  ];
+
+  preCheck = ''
+    # The CLI test need yte on the PATH
+    export PATH=$out/bin:$PATH
+  '';
+
+  meta = with lib; {
+    description = "YAML template engine with Python expressions";
+    homepage = "https://github.com/koesterlab/yte";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix
index b81ac4f1fc5..ef78dee484c 100644
--- a/pkgs/development/python-modules/zeroconf/default.nix
+++ b/pkgs/development/python-modules/zeroconf/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.38.4";
+  version = "0.38.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = version;
-    sha256 = "sha256-CLV1/maraSJ3GWnyN/0rLyEyWoQIL18rhm35llgvthw=";
+    hash = "sha256-QmmVxrvBPEwsmD/XJZClNQj4PUX+7X+75ZWSOO4/C24=";
   };
 
   propagatedBuildInputs = [
@@ -39,6 +39,8 @@ buildPythonPackage rec {
     "test_launch_and_close_v4_v6"
     "test_launch_and_close_v6_only"
     "test_integration_with_listener_ipv6"
+    # Starting with 0.38.5: AssertionError: assert [('add', '_ht..._tcp.local.')]
+    "test_service_browser_expire_callbacks"
   ] ++ lib.optionals stdenv.isDarwin [
     "test_lots_of_names"
   ];
diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix
index 541eda6185e..33d0bea9b83 100644
--- a/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/pkgs/development/python-modules/zha-quirks/default.nix
@@ -4,18 +4,22 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, pythonOlder
 , zigpy
 }:
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.72";
+  version = "0.0.73";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "zha-device-handlers";
-    rev = version;
-    sha256 = "sha256-tVCvmQR9tGhSDB4OztNaSCj2BTxPdrX3Gw9WZopRo8k=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-vC1kkh9t2fWmSqmKQz9ON8Y+tBFhTxrprLNzOldQR+A=";
   };
 
   propagatedBuildInputs = [
@@ -28,7 +32,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "zhaquirks" ];
+  pythonImportsCheck = [
+    "zhaquirks"
+  ];
 
   meta = with lib; {
     description = "ZHA Device Handlers are custom quirks implementations for Zigpy";
diff --git a/pkgs/development/python-modules/zigpy-deconz/default.nix b/pkgs/development/python-modules/zigpy-deconz/default.nix
index 029221ca01b..54a2a7aae5f 100644
--- a/pkgs/development/python-modules/zigpy-deconz/default.nix
+++ b/pkgs/development/python-modules/zigpy-deconz/default.nix
@@ -6,19 +6,22 @@
 , pyserial-asyncio
 , pytest-asyncio
 , pytestCheckHook
+, pythonOlder
 , zigpy
 }:
 
 buildPythonPackage rec {
   pname = "zigpy-deconz";
-  version = "0.15.0";
+  version = "0.16.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-QLEyEoX3gbrY/zvFmB1eah1wuc4bHH4S0D1B2WNHxaM=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-MEYe8DGx338ze1t36Fh0Zl8GgBpk2Wmx0EKnewjnTws=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix
index a10e9ae65c7..da0ae7872da 100644
--- a/pkgs/development/python-modules/zigpy/default.nix
+++ b/pkgs/development/python-modules/zigpy/default.nix
@@ -4,6 +4,7 @@
 , asynctest
 , buildPythonPackage
 , crccheck
+, cryptography
 , fetchFromGitHub
 , pycryptodome
 , pytest-aiohttp
@@ -15,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy";
-  version = "0.44.2";
+  version = "0.45.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -24,13 +25,14 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy";
     rev = version;
-    sha256 = "sha256-E6SeuVu5UdWL5Tx39UQymNhABltR+qVHANYWuCh+h6I=";
+    sha256 = "sha256-85Bi8qjbUKLXFW7VGOxzelMa1gY9giGeQRmOeoZ1idE=";
   };
 
   propagatedBuildInputs = [
     aiohttp
     aiosqlite
     crccheck
+    cryptography
     pycryptodome
     voluptuous
   ];
diff --git a/pkgs/development/python-modules/zodbpickle/default.nix b/pkgs/development/python-modules/zodbpickle/default.nix
index 864155c2a20..de1f8dfd3aa 100644
--- a/pkgs/development/python-modules/zodbpickle/default.nix
+++ b/pkgs/development/python-modules/zodbpickle/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "zodbpickle";
-  version = "2.2.0";
+  version = "2.3";
   disabled = isPyPy; # https://github.com/zopefoundation/zodbpickle/issues/10
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "584127173db0a2647af0fc8cb935130b1594398c611e94fb09a719e09e1ed4bd";
+    sha256 = "sha256-5MtccZcF6Lseju5Kok4gcaMJTs8ng9h0B6uCLxZto6I=";
   };
 
   # fails..
diff --git a/pkgs/development/python-modules/zwave-js-server-python/default.nix b/pkgs/development/python-modules/zwave-js-server-python/default.nix
index 5f4203634ac..d0f938c6a8b 100644
--- a/pkgs/development/python-modules/zwave-js-server-python/default.nix
+++ b/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.35.2";
+  version = "0.36.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Bte4pAi+atdkMvxYlzdN/UOrHB2WKfl44U9m/vKFMoA=";
+    sha256 = "sha256-XVFOx0f5lBh5i7q8XEb4qd0Lu09jEEYKyJUJBqXwirc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zwave-me-ws/default.nix b/pkgs/development/python-modules/zwave-me-ws/default.nix
new file mode 100644
index 00000000000..479b2d5193e
--- /dev/null
+++ b/pkgs/development/python-modules/zwave-me-ws/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, aiohttp
+, aresponses
+, asynctest
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytest-aiohttp
+, pytest-asyncio
+, pytestCheckHook
+, python-engineio
+, python-socketio
+, pythonOlder
+, websocket-client
+}:
+
+buildPythonPackage rec {
+  pname = "zwave-me-ws";
+  version = "0.2.4";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "Z-Wave-Me";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-x7P6fOYTe/u0GKUsO62cNVz2i/hVjUb8t8Bigijxgk0=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    websocket-client
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "zwave_me_ws"
+  ];
+
+  meta = with lib; {
+    description = "Library to connect to a ZWave-Me instance";
+    homepage = "https://github.com/Z-Wave-Me/zwave-me-ws";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/quickemu/default.nix b/pkgs/development/quickemu/default.nix
index 7aa5b1602c3..c693827cd1c 100644
--- a/pkgs/development/quickemu/default.nix
+++ b/pkgs/development/quickemu/default.nix
@@ -11,7 +11,7 @@
 , cdrtools
 , usbutils
 , util-linux
-, spicy
+, spice-gtk
 , swtpm
 , wget
 , xdg-user-dirs
@@ -19,7 +19,7 @@
 , zsync
 , OVMF
 , quickemu
-, testVersion
+, testers
 }:
 let
   runtimePaths = [
@@ -32,7 +32,7 @@ let
     cdrtools
     usbutils
     util-linux
-    spicy
+    spice-gtk
     swtpm
     wget
     xdg-user-dirs
@@ -43,13 +43,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "quickemu";
-  version = "3.14";
+  version = "3.15";
 
   src = fetchFromGitHub {
     owner = "quickemu-project";
     repo = "quickemu";
     rev = version;
-    sha256="sha256-7zaXazGzb36Nwk/meJ3lGD+l+fylWZYnhttDL1CXN9s=";
+    sha256="sha256-ako/eh8cMWKvdrgm9VTgSH67nA2igKUlJZtBeH1bu4Y=";
   };
 
   patches = [
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  passthru.tests = testVersion { package = quickemu; };
+  passthru.tests = testers.testVersion { package = quickemu; };
 
   meta = with lib; {
     description = "Quickly create and run optimised Windows, macOS and Linux desktop virtual machines";
diff --git a/pkgs/development/tools/altair-graphql-client/default.nix b/pkgs/development/tools/altair-graphql-client/default.nix
index febd5515f7c..19650671f12 100644
--- a/pkgs/development/tools/altair-graphql-client/default.nix
+++ b/pkgs/development/tools/altair-graphql-client/default.nix
@@ -3,24 +3,23 @@
 let
   pname = "altair";
   version = "4.1.0";
-  name = "${pname}-v${version}";
 
   src = fetchurl {
     url = "https://github.com/imolorhe/altair/releases/download/v${version}/altair_${version}_x86_64_linux.AppImage";
     sha256 = "sha256-YuG7H+7FXYGbNNhM5vxps72dqltcj3bA325e7ZbW8aI=";
   };
 
-  appimageContents = appimageTools.extract { inherit name src; };
+  appimageContents = appimageTools.extract { inherit pname version src; };
 in
 appimageTools.wrapType2 {
-  inherit src name;
+  inherit src pname version;
 
   profile = ''
     export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
   '';
 
   extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
+    mv $out/bin/${pname}-${version} $out/bin/${pname}
 
     install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
     substituteInPlace $out/share/applications/${pname}.desktop \
diff --git a/pkgs/development/tools/amazon-qldb-shell/default.nix b/pkgs/development/tools/amazon-qldb-shell/default.nix
index 6f6ef1ca8af..d017c213415 100644
--- a/pkgs/development/tools/amazon-qldb-shell/default.nix
+++ b/pkgs/development/tools/amazon-qldb-shell/default.nix
@@ -4,7 +4,7 @@
 , fetchFromGitHub
 , llvmPackages
 , rustPlatform
-, testVersion
+, testers
 }:
 
 let
@@ -27,7 +27,7 @@ let
 
     LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
 
-    passthru.tests.version = testVersion { inherit package; };
+    passthru.tests.version = testers.testVersion { inherit package; };
 
     meta = with lib; {
       description = "An interface to send PartiQL statements to Amazon Quantum Ledger Database (QLDB)";
diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix
index 080a8362ba7..efeaf9df507 100644
--- a/pkgs/development/tools/ammonite/default.nix
+++ b/pkgs/development/tools/ammonite/default.nix
@@ -9,7 +9,7 @@ let
   common = { scalaVersion, sha256 }:
     stdenv.mkDerivation rec {
       pname = "ammonite";
-      version = "2.5.2";
+      version = "2.5.3";
 
       src = fetchurl {
         url =
@@ -83,10 +83,10 @@ let
 in {
   ammonite_2_12 = common {
     scalaVersion = "2.12";
-    sha256 = "sha256-vj0Ze+Tn8jgq1mIVZWq2q768vW6fNXHB28gMcB9bWHU=";
+    sha256 = "sha256-Iov55ohFjcGhur5UEng7aAZJPVua1H/JaKKW6OKS6Zg=";
   };
   ammonite_2_13 = common {
     scalaVersion = "2.13";
-    sha256 = "sha256-ZuPyZFD3/VRP/GegcKqXZm3bveQB/Xr5E39eQktDCJI=";
+    sha256 = "sha256-dzUhKUQDHrYZ4WyCk4z4CTxb6vK05qfApR/WPOwhA5s=";
   };
 }
diff --git a/pkgs/development/tools/analysis/actionlint/default.nix b/pkgs/development/tools/analysis/actionlint/default.nix
index 6945ea8ca70..2380c5bd113 100644
--- a/pkgs/development/tools/analysis/actionlint/default.nix
+++ b/pkgs/development/tools/analysis/actionlint/default.nix
@@ -10,7 +10,7 @@
 
 buildGoModule rec {
   pname = "actionlint";
-  version = "1.6.11";
+  version = "1.6.12";
 
   subPackages = [ "cmd/actionlint" ];
 
@@ -18,7 +18,7 @@ buildGoModule rec {
     owner = "rhysd";
     repo = "actionlint";
     rev = "v${version}";
-    sha256 = "sha256-BlJxgRDnAlfM/81qAEGEW09luScivYSDf5w2lR8hQUA=";
+    sha256 = "sha256-nFHf+X7Onf06o3G77mrfszfrWGq65y3VJffkuAxXk50=";
   };
 
   vendorSha256 = "sha256-nG0u5hZ/YRn+yUoEGTBo6ZdOp0e+sH6Jl9F+QhpfYAU=";
diff --git a/pkgs/development/tools/analysis/brakeman/Gemfile.lock b/pkgs/development/tools/analysis/brakeman/Gemfile.lock
index 257d8a7fba1..e11251a4681 100644
--- a/pkgs/development/tools/analysis/brakeman/Gemfile.lock
+++ b/pkgs/development/tools/analysis/brakeman/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    brakeman (5.1.1)
+    brakeman (5.2.2)
 
 PLATFORMS
   ruby
@@ -10,4 +10,4 @@ DEPENDENCIES
   brakeman
 
 BUNDLED WITH
-   2.2.24
+   2.3.9
diff --git a/pkgs/development/tools/analysis/brakeman/gemset.nix b/pkgs/development/tools/analysis/brakeman/gemset.nix
index ea241dbf6e7..2d1ceb0393a 100644
--- a/pkgs/development/tools/analysis/brakeman/gemset.nix
+++ b/pkgs/development/tools/analysis/brakeman/gemset.nix
@@ -4,9 +4,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y71fqqd0azy5rn78fwiz9px0mql23zrl0ij0dzdkx22l4cscpb0";
+      sha256 = "1bk1xz5w29cq84svnrlgcrwvy1lpkwqrv6cmkkivs3yrym09av14";
       type = "gem";
     };
-    version = "5.1.1";
+    version = "5.2.2";
   };
 }
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 36fff6af567..1245603c53a 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -32,13 +32,13 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "checkov";
-  version = "2.0.1075";
+  version = "2.0.1110";
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = pname;
     rev = version;
-    hash = "sha256-5KAmIJngrs4nvjLJsaUrbgZsMFe0eTTDiwquyguvKLI=";
+    hash = "sha256-HtXJGi20SbbOofL8TAZDZ9L3aFVx33Xz+QS/f7NxYFI=";
   };
 
   nativeBuildInputs = with py.pkgs; [
@@ -89,6 +89,7 @@ buildPythonApplication rec {
     pytest-mock
     pytest-xdist
     pytestCheckHook
+    responses
   ];
 
   postPatch = ''
diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix
index 2584965499e..22bfbcae918 100644
--- a/pkgs/development/tools/analysis/codeql/default.nix
+++ b/pkgs/development/tools/analysis/codeql/default.nix
@@ -1,8 +1,8 @@
-{ lib, stdenv, fetchzip, zlib, xorg, freetype, jdk11, curl, autoPatchelfHook }:
+{ lib, stdenv, fetchzip, zlib, xorg, freetype, jdk11, curl }:
 
 stdenv.mkDerivation rec {
   pname = "codeql";
-  version = "2.8.2";
+  version = "2.8.5";
 
   dontConfigure = true;
   dontBuild = true;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
-    sha256 = "sha256-F0tr4oQPgusLVCP5jSCYxl/xHbZLrVXd2FFYSJY3PPs=";
+    sha256 = "sha256-HZJBqm196RgWR/14mfrLYQlU+4W3t0b4TXme04XkfKw=";
   };
 
   nativeBuildInputs = [
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     description = "Semantic code analysis engine";
     homepage = "https://codeql.github.com";
     maintainers = [ maintainers.dump_stack ];
-    platforms = [ "x86_64-linux" ];
+    platforms = lib.platforms.linux ++ lib.platforms.darwin;
     license = licenses.unfree;
   };
 }
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index 993f5dbe7e9..f4b3804f02a 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cppcheck";
-  version = "2.7.4";
+  version = "2.7.5";
 
   src = fetchFromGitHub {
     owner = "danmar";
     repo = "cppcheck";
     rev = version;
-    sha256 = "sha256-bMDH3TRAdDoI1AaHTpIl4P/yk9wsV0ReNh6bMmCsKys=";
+    sha256 = "sha256-GRhQXGldirIhUBI4CucDTTxuZhG0XW0qp1FjYXhVS0o=";
   };
 
   buildInputs = [ pcre
diff --git a/pkgs/development/tools/analysis/cvehound/default.nix b/pkgs/development/tools/analysis/cvehound/default.nix
index 05073bba750..3fe3c043c23 100644
--- a/pkgs/development/tools/analysis/cvehound/default.nix
+++ b/pkgs/development/tools/analysis/cvehound/default.nix
@@ -1,30 +1,34 @@
-{ lib, fetchFromGitHub, coccinelle, gnugrep, python3Packages }:
-
-with python3Packages;
-
-buildPythonApplication rec {
+{ lib
+, fetchFromGitHub
+, coccinelle
+, gnugrep
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
   pname = "cvehound";
-  version = "1.0.4";
+  version = "1.0.9";
 
   src = fetchFromGitHub {
     owner = "evdenis";
     repo = "cvehound";
     rev = version;
-    sha256 = "sha256-m8vpea02flQ8elSvGWv9FqBhsEcBzRYjcUk+dc4kb2M=";
+    hash = "sha256-qwQfpelY1Air3wVQ3RziM/+MNOR3jiKmLpO2w6kXZwM=";
   };
 
   makeWrapperArgs = [
     "--prefix PATH : ${lib.makeBinPath [ coccinelle gnugrep ]}"
   ];
 
-  propagatedBuildInputs = [
-    psutil
+  propagatedBuildInputs = with python3.pkgs; [
+    lxml
     setuptools
     sympy
   ];
 
-  checkInputs = [
+  checkInputs = with python3.pkgs; [
     GitPython
+    psutil
     pytestCheckHook
   ];
 
@@ -32,10 +36,11 @@ buildPythonApplication rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "tool to check linux kernel source dump for known CVEs";
+    description = "Tool to check linux kernel source dump for known CVEs";
     homepage = "https://github.com/evdenis/cvehound";
+    changelog = "https://github.com/evdenis/cvehound/blob/${src.rev}/ChangeLog";
     # See https://github.com/evdenis/cvehound/issues/22
-    license = with licenses; [ gpl2Only gpl3Only ];
+    license = with licenses; [ gpl2Only gpl3Plus ];
     maintainers = with maintainers; [ ambroisie ];
   };
 }
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 8fcd53cf48f..2325ab03c96 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.175.1";
+  version = "0.176.3";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "sha256-40Kc/Qg0ppTQLU2ySbKXZyhap3hH4BiIMhJeNDU6mKA=";
+    sha256 = "sha256-ZjWIaZ4XT7v66ozjQu+ld0Tz2gVjQFUD6JoL1nW/DmE=";
   };
 
   makeFlags = [ "FLOW_RELEASE=1" ];
diff --git a/pkgs/development/tools/analysis/oclgrind/default.nix b/pkgs/development/tools/analysis/oclgrind/default.nix
index 3752fa8e251..9e8d1da4d36 100644
--- a/pkgs/development/tools/analysis/oclgrind/default.nix
+++ b/pkgs/development/tools/analysis/oclgrind/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, llvmPackages, readline, python2 }:
+{ lib, stdenv, fetchFromGitHub, cmake, llvmPackages, readline, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "oclgrind";
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ llvmPackages.llvm llvmPackages.clang-unwrapped readline python2 ];
+  checkInputs = [ python3 ];
+  buildInputs = [ llvmPackages.llvm llvmPackages.clang-unwrapped readline ];
 
   cmakeFlags = [
     "-DCLANG_ROOT=${llvmPackages.clang-unwrapped}"
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index d5d393ee96e..6bb7d2545c0 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -44,13 +44,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "radare2";
-  version = "5.6.4";
+  version = "5.6.8";
 
   src = fetchFromGitHub {
     owner = "radare";
     repo = "radare2";
     rev = version;
-    sha256 = "sha256-rqGlp9fHTF1z8A+DROYfzHXi5xfLMdUWzssGN5uHQmE=";
+    sha256 = "0fpz63dfac1i6wwf5wp3v1vs3r5yzh05g95m5vidx56h0g4dcp44";
   };
 
   preBuild = ''
diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix
index bda6f7e4e3c..a667de3d5cb 100644
--- a/pkgs/development/tools/analysis/rr/default.nix
+++ b/pkgs/development/tools/analysis/rr/default.nix
@@ -1,6 +1,6 @@
-{ lib, gcc9Stdenv, fetchFromGitHub, cmake, libpfm, zlib, pkg-config, python3Packages, which, procps, gdb, capnproto }:
+{ lib, stdenv, fetchFromGitHub, cmake, libpfm, zlib, pkg-config, python3Packages, which, procps, gdb, capnproto }:
 
-gcc9Stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   version = "5.5.0";
   pname = "rr";
 
@@ -17,9 +17,15 @@ gcc9Stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
-  # TODO: remove this preConfigure hook after 5.2.0 since it is fixed upstream
-  # see https://github.com/mozilla/rr/issues/2269
-  preConfigure = ''substituteInPlace CMakeLists.txt --replace "std=c++11" "std=c++14"'';
+  # With LTO enabled, linking fails with the following message:
+  #
+  # src/AddressSpace.cc:1666: undefined reference to `rr_syscall_addr'
+  # ld.bfd: bin/rr: hidden symbol `rr_syscall_addr' isn't defined
+  # ld.bfd: final link failed: bad value
+  # collect2: error: ld returned 1 exit status
+  #
+  # See also https://github.com/NixOS/nixpkgs/pull/110846
+  preConfigure = ''substituteInPlace CMakeLists.txt --replace "-flto" ""'';
 
   nativeBuildInputs = [ cmake pkg-config which ];
   buildInputs = [
diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix
index 097fd30ea9a..a4fdf0085c3 100644
--- a/pkgs/development/tools/analysis/tfsec/default.nix
+++ b/pkgs/development/tools/analysis/tfsec/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "tfsec";
-  version = "1.18.0";
+  version = "1.19.1";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lQo3rhPjKZV9XuuKYxd3jXqSiElj+O0DdERtmsMZMEw=";
+    sha256 = "sha256-xeAMwYpi9WvKALzOPLjVItHYzFJW+O++5jgqRSC7awk=";
   };
 
   ldflags = [
@@ -21,7 +21,7 @@ buildGoModule rec {
     # "-extldflags '-fno-PIC -static'"
   ];
 
-  vendorSha256 = "sha256-n93ZP6sIyL5Q9UeDRXxm8KleDfUf2wd6JcTgSPtBGWg=";
+  vendorSha256 = "sha256-xDK40Vc2tHZ7apfKznt7EEz1vR6UhqtXHgYXR2mISiI=";
 
   subPackages = [
     "cmd/tfsec"
diff --git a/pkgs/development/tools/apksigcopier/default.nix b/pkgs/development/tools/apksigcopier/default.nix
index cc23081473a..f8747398c22 100644
--- a/pkgs/development/tools/apksigcopier/default.nix
+++ b/pkgs/development/tools/apksigcopier/default.nix
@@ -1,10 +1,10 @@
 { lib
+, apksigner
+, bash
 , fetchFromGitHub
-, python3
 , installShellFiles
-, bash
 , pandoc
-, apksigner
+, python3
 }:
 
 python3.pkgs.buildPythonApplication rec {
@@ -18,33 +18,48 @@ python3.pkgs.buildPythonApplication rec {
     sha256 = "07ldq3q1x2lpb15q5s5i1pbg89sn6ah45amskm9pndqlh16z9k2x";
   };
 
-  nativeBuildInputs = [ installShellFiles pandoc ];
-  propagatedBuildInputs = with python3.pkgs; [ click ];
-  checkInputs = with python3.pkgs; [ flake8 mypy pylint ];
-  makeWrapperArgs = [ "--prefix" "PATH" ":" "${lib.makeBinPath [ apksigner ]}" ];
+  nativeBuildInputs = [
+    installShellFiles
+    pandoc
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    click
+  ];
+
+  makeWrapperArgs = [
+    "--prefix"
+    "PATH"
+    ":"
+    "${lib.makeBinPath [ apksigner ]}"
+  ];
 
   postPatch = ''
     substituteInPlace Makefile \
-      --replace /bin/bash ${bash}/bin/bash \
-      --replace 'apksigcopier --version' '${python3.interpreter} apksigcopier --version'
+      --replace /bin/bash ${bash}/bin/bash
   '';
 
   postBuild = ''
     make ${pname}.1
   '';
 
-  checkPhase = ''
-    make test
-  '';
-
   postInstall = ''
     installManPage ${pname}.1
   '';
 
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/apksigcopier --version | grep "${version}"
+    runHook postInstallCheck
+  '';
+
   meta = with lib; {
-    description = "Copy/extract/patch android apk signatures & compare apks";
+    description = "Copy/extract/patch android apk signatures & compare APKs";
     longDescription = ''
-      apksigcopier is a tool for copying android APK signatures from a signed APK to an unsigned one (in order to verify reproducible builds).
+      apksigcopier is a tool for copying android APK signatures from a signed
+      APK to an unsigned one (in order to verify reproducible builds).
       It can also be used to compare two APKs with different signatures.
       Its command-line tool offers four operations:
 
@@ -55,6 +70,6 @@ python3.pkgs.buildPythonApplication rec {
     '';
     homepage = "https://github.com/obfusk/apksigcopier";
     license = with licenses; [ gpl3Plus ];
-    maintainers = [ maintainers.obfusk ];
+    maintainers = with maintainers; [ obfusk ];
   };
 }
diff --git a/pkgs/development/tools/bingo/bingo_version.patch b/pkgs/development/tools/bingo/bingo_version.patch
new file mode 100644
index 00000000000..a3d85df6a9c
--- /dev/null
+++ b/pkgs/development/tools/bingo/bingo_version.patch
@@ -0,0 +1,13 @@
+diff --git a/pkg/version/version.go b/pkg/version/version.go
+index 30f8f30..11c12a0 100644
+--- a/pkg/version/version.go
++++ b/pkg/version/version.go
+@@ -6,7 +6,7 @@ package version
+ import "github.com/Masterminds/semver"
+ 
+ // Version returns 'bingo' version.
+-const Version = "v0.6"
++const Version = "v0.6.0"
+ 
+ var (
+ 	Go114 = semver.MustParse("1.14")
diff --git a/pkgs/development/tools/bingo/default.nix b/pkgs/development/tools/bingo/default.nix
index 8fe1dbaa4be..1b4ddd41c0e 100644
--- a/pkgs/development/tools/bingo/default.nix
+++ b/pkgs/development/tools/bingo/default.nix
@@ -1,21 +1,23 @@
-{ lib, buildGoModule, fetchFromGitHub, testVersion, bingo }:
+{ lib, buildGoModule, fetchFromGitHub, testers, bingo }:
 
 buildGoModule rec {
   pname = "bingo";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "bwplotka";
     repo = "bingo";
     rev = "v${version}";
-    sha256 = "sha256-4D8YaA/AH1gIp5iwD7WEAdBl73sqwHpfOe7bnxVcRcw=";
+    sha256 = "sha256-t2nkY+mwek2NcbCwCkI3Mc1ULEJIjatBjChBdnKFAg8=";
   };
 
-  vendorSha256 = "sha256-xrz9FpwZd+FboVVTWSqGHRguGwrwE9cSFEEtulzbfDQ=";
+  vendorSha256 = "sha256-TCbwIHDg2YaLIscCoGPRBv5G3YSJ+qn/koOjPh+KKRY=";
 
   patches = [
     # Do not execute `go` command when invoking `bingo version`.
     ./version_go.patch
+    # Specific to v0.6.0. `v0.6` -> `v0.6.0`
+    ./bingo_version.patch
   ];
 
   postPatch = ''
@@ -26,7 +28,7 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" ];
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = bingo;
     command = "bingo version";
     version = "v${version}";
diff --git a/pkgs/development/tools/buf/default.nix b/pkgs/development/tools/buf/default.nix
index 0f7904fe9bb..746233fb0de 100644
--- a/pkgs/development/tools/buf/default.nix
+++ b/pkgs/development/tools/buf/default.nix
@@ -3,23 +3,23 @@
 , fetchFromGitHub
 , protobuf
 , git
-, testVersion
+, testers
 , buf
 , installShellFiles
 }:
 
 buildGoModule rec {
   pname = "buf";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "bufbuild";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rOT7HuvbJFRyBOmCNmx5Vic4zckYgS+1BB0PcpwD9OQ=";
+    sha256 = "sha256-cKb9pZYEsO1thgtl/8XFJHpNrO6P3OR8Lox/Gf9ccYk=";
   };
 
-  vendorSha256 = "sha256-qIWZYsl1hFV4Ts27WSyjQAQ+jWjtLLG+A+yS0Ms7hfI=";
+  vendorSha256 = "sha256-zXLvKEdiIFnmwWQBgbJHCEBe2i7FobgeUOnA3LvHl8w=";
 
   patches = [
     # Skip a test that requires networking to be available to work.
@@ -70,7 +70,7 @@ buildGoModule rec {
     runHook postInstall
   '';
 
-  passthru.tests.version = testVersion { package = buf; };
+  passthru.tests.version = testers.testVersion { package = buf; };
 
   meta = with lib; {
     homepage = "https://buf.build";
diff --git a/pkgs/development/tools/build-managers/alibuild/default.nix b/pkgs/development/tools/build-managers/alibuild/default.nix
index ad9813cde6f..4baa144fa81 100644
--- a/pkgs/development/tools/build-managers/alibuild/default.nix
+++ b/pkgs/development/tools/build-managers/alibuild/default.nix
@@ -1,18 +1,21 @@
-{ lib, python}:
+{ lib, python }:
 
 python.pkgs.buildPythonApplication rec {
   pname = "alibuild";
-  version = "1.5.5";
+  version = "1.11.2";
 
   src = python.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "1sh02avpab4qlyin3p928xw91l4fgs8x5x2rzl623ayqsnfjv19j";
+    hash = "sha256-wq2H2inUf2CjPD45krCNdjw2s4FXsEDlfOHqW8VaVKg=";
   };
 
   doCheck = false;
-  propagatedBuildInputs = [
-    python.pkgs.requests
-    python.pkgs.pyyaml
+  propagatedBuildInputs = with python.pkgs; [
+    requests
+    pyyaml
+    boto3
+    jinja2
+    distro
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix b/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
index a133526514f..f519ce5233e 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "bazel-remote";
-  version = "2.3.6";
+  version = "2.3.7";
 
   src = fetchFromGitHub {
     owner = "buchgr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-geb7uHCBvhmqyaDr8wK9sQUcHT3xVgSclovFDpHhIiw=";
+    sha256 = "sha256-5VxPCfartTRYCmjwNrH7SM0o7IQ4+Tq8Q2IM8hFWyVc=";
   };
 
   vendorSha256 = "sha256-wXgW7HigMIeUZAcZpm5TH9thfCHmpz+M42toWHgwIYo=";
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix
index 9f2fb8b40f4..91131bc02c6 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix
@@ -279,12 +279,7 @@ stdenv'.mkDerivation rec {
       # fixed-output hashes of the fetch phase need to be spot-checked manually
       downstream = recurseIntoAttrs ({
         inherit bazel-watcher;
-      }
-          # dm-sonnet is only packaged for linux
-      // (lib.optionalAttrs stdenv.isLinux {
-          # TODO(timokau) dm-sonnet is broken currently
-          # dm-sonnet-linux = python3.pkgs.dm-sonnet;
-      }));
+      });
     };
 
   # update the list of workspace dependencies
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix
index 0402fb85f26..f9bcab19fe0 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix
@@ -280,12 +280,7 @@ stdenv'.mkDerivation rec {
       # fixed-output hashes of the fetch phase need to be spot-checked manually
       downstream = recurseIntoAttrs ({
         inherit bazel-watcher;
-      }
-          # dm-sonnet is only packaged for linux
-      // (lib.optionalAttrs stdenv.isLinux {
-          # TODO(timokau) dm-sonnet is broken currently
-          # dm-sonnet-linux = python3.pkgs.dm-sonnet;
-      }));
+      });
     };
 
   # update the list of workspace dependencies
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
index 3a5c9e2e76f..69a61a71886 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
@@ -186,6 +186,8 @@ stdenv.mkDerivation rec {
     # we accept this fact because xcode_locator is only a short-lived process used during the build.
     ./no-arc.patch
 
+    ./gcc11.patch
+
     # --experimental_strict_action_env (which may one day become the default
     # see bazelbuild/bazel#2574) hardcodes the default
     # action environment to a non hermetic value (e.g. "/usr/local/bin").
@@ -301,12 +303,7 @@ stdenv.mkDerivation rec {
       # fixed-output hashes of the fetch phase need to be spot-checked manually
       downstream = recurseIntoAttrs ({
         inherit bazel-watcher;
-      }
-          # dm-sonnet is only packaged for linux
-      // (lib.optionalAttrs stdenv.isLinux {
-          # TODO(timokau) dm-sonnet is broken currently
-          # dm-sonnet-linux = python3.pkgs.dm-sonnet;
-      }));
+      });
     };
 
   # update the list of workspace dependencies
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_3/gcc11.patch b/pkgs/development/tools/build-managers/bazel/bazel_3/gcc11.patch
new file mode 100644
index 00000000000..450bcd11477
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/bazel_3/gcc11.patch
@@ -0,0 +1,24 @@
+diff --git a/third_party/ijar/mapped_file_unix.cc b/third_party/ijar/mapped_file_unix.cc
+index 6e3a908..030e9ca 100644
+--- a/third_party/ijar/mapped_file_unix.cc
++++ b/third_party/ijar/mapped_file_unix.cc
+@@ -19,6 +19,7 @@
+ #include <sys/mman.h>
+ 
+ #include <algorithm>
++#include <limits>
+ 
+ #include "third_party/ijar/mapped_file.h"
+ 
+diff --git a/third_party/ijar/zlib_client.h b/third_party/ijar/zlib_client.h
+index ed66163..c4b051e 100644
+--- a/third_party/ijar/zlib_client.h
++++ b/third_party/ijar/zlib_client.h
+@@ -16,6 +16,7 @@
+ #define THIRD_PARTY_IJAR_ZLIB_CLIENT_H_
+ 
+ #include <limits.h>
++#include <limits>
+ 
+ #include "third_party/ijar/common.h"
+ 
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix
index 79bb378534b..593a48a0fd9 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix
@@ -338,12 +338,7 @@ stdenv.mkDerivation rec {
       # fixed-output hashes of the fetch phase need to be spot-checked manually
       downstream = recurseIntoAttrs ({
         inherit bazel-watcher;
-      }
-          # dm-sonnet is only packaged for linux
-      // (lib.optionalAttrs stdenv.isLinux {
-          # TODO(timokau) dm-sonnet is broken currently
-          # dm-sonnet-linux = python3.pkgs.dm-sonnet;
-      }));
+      });
     };
 
   src_for_updater = stdenv.mkDerivation rec {
@@ -489,7 +484,6 @@ stdenv.mkDerivation rec {
       build --host_java_toolchain='${javaToolchain}'
       build --verbose_failures
       build --curses=no
-      build --sandbox_debug
       EOF
 
       # add the same environment vars to compile.sh
@@ -503,7 +497,6 @@ stdenv.mkDerivation rec {
           -e "/\$command \\\\$/a --host_java_toolchain='${javaToolchain}' \\\\" \
           -e "/\$command \\\\$/a --verbose_failures \\\\" \
           -e "/\$command \\\\$/a --curses=no \\\\" \
-          -e "/\$command \\\\$/a --sandbox_debug \\\\" \
           -i scripts/bootstrap/compile.sh
 
       # This is necessary to avoid:
@@ -530,7 +523,6 @@ stdenv.mkDerivation rec {
   # when a command can’t be found in a bazel build, you might also
   # need to add it to `defaultShellPath`.
   nativeBuildInputs = [
-    coreutils
     installShellFiles
     makeWrapper
     python3
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix
index 60e708bb47c..296d0bb4830 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_5/default.nix
@@ -300,12 +300,7 @@ stdenv.mkDerivation rec {
       # fixed-output hashes of the fetch phase need to be spot-checked manually
       downstream = recurseIntoAttrs ({
         inherit bazel-watcher;
-      }
-          # dm-sonnet is only packaged for linux
-      // (lib.optionalAttrs stdenv.isLinux {
-          # TODO(timokau) dm-sonnet is broken currently
-          # dm-sonnet-linux = python3.pkgs.dm-sonnet;
-      }));
+      });
     };
 
   src_for_updater = stdenv.mkDerivation rec {
@@ -458,7 +453,6 @@ stdenv.mkDerivation rec {
       build --extra_toolchains=@bazel_tools//tools/jdk:nonprebuilt_toolchain_definition
       build --verbose_failures
       build --curses=no
-      build --sandbox_debug
       build --features=-layering_check
       EOF
 
@@ -498,7 +492,6 @@ stdenv.mkDerivation rec {
           -e "/\$command \\\\$/a --verbose_failures \\\\" \
           -e "/\$command \\\\$/a --curses=no \\\\" \
           -e "/\$command \\\\$/a --features=-layering_check \\\\" \
-          -e "/\$command \\\\$/a --sandbox_debug \\\\" \
           -i scripts/bootstrap/compile.sh
 
       # This is necessary to avoid:
@@ -525,7 +518,6 @@ stdenv.mkDerivation rec {
   # when a command can’t be found in a bazel build, you might also
   # need to add it to `defaultShellPath`.
   nativeBuildInputs = [
-    coreutils
     installShellFiles
     makeWrapper
     python3
diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
index b0375db8c65..cd313a5bc50 100644
--- a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "bazel-buildtools";
-  version = "5.0.1";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = "buildtools";
     rev = version;
-    sha256 = "sha256-AIOfudFxr1obuxABEN0ggainci/EjbBrdgr2cjVu2Io=";
+    sha256 = "sha256-PNIqsP5p+OdYH0JgOmjqvge9zVOrAcNg0FMflXFJHwQ=";
   };
 
-  vendorSha256 = "sha256-buMkRxVLlS2LBJGaGWeR41BsmE/0vgDS8s1VcRYN0fA=";
+  vendorSha256 = "sha256-9WUjQhXWkpSEJj9Xq+9rOe3I1VZ7nqMTnX7DPl+rxsU=";
 
   preBuild = ''
     rm -r warn/docs
diff --git a/pkgs/development/tools/build-managers/bloop/default.nix b/pkgs/development/tools/build-managers/bloop/default.nix
index 0649b0c86c6..aa0e9adc2fc 100644
--- a/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/pkgs/development/tools/build-managers/bloop/default.nix
@@ -1,6 +1,5 @@
 { stdenv
 , fetchurl
-, coursier
 , autoPatchelfHook
 , installShellFiles
 , makeWrapper
@@ -11,58 +10,34 @@
 
 stdenv.mkDerivation rec {
   pname = "bloop";
-  version = "1.4.13";
+  version = "1.5.0";
 
-  bloop-coursier-channel = fetchurl {
-    url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-coursier.json";
-    sha256 = "VbvBAz7mXhgQtbrlB6uCSmZXLcdYaROJRSREbazAReo=";
-  };
+  platform =
+    if stdenv.isLinux && stdenv.isx86_64 then "x86_64-pc-linux"
+    else if stdenv.isDarwin && stdenv.isx86_64 then "x86_64-apple-darwin"
+    else throw "unsupported platform";
 
   bloop-bash = fetchurl {
     url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bash-completions";
-    sha256 = "2mt+zUEJvQ/5ixxFLZ3Z0m7uDSj/YE9sg/uNMjamvdE=";
+    sha256 = "sha256-2mt+zUEJvQ/5ixxFLZ3Z0m7uDSj/YE9sg/uNMjamvdE=";
   };
 
   bloop-fish = fetchurl {
     url = "https://github.com/scalacenter/bloop/releases/download/v${version}/fish-completions";
-    sha256 = "eFESR6iPHRDViGv+Fk3sCvPgVAhk2L1gCG4LnfXO/v4=";
+    sha256 = "sha256-eFESR6iPHRDViGv+Fk3sCvPgVAhk2L1gCG4LnfXO/v4=";
   };
 
   bloop-zsh = fetchurl {
     url = "https://github.com/scalacenter/bloop/releases/download/v${version}/zsh-completions";
-    sha256 = "WNMsPwBfd5EjeRbRtc06lCEVI2FVoLfrqL82OR0G7/c=";
+    sha256 = "sha256-WNMsPwBfd5EjeRbRtc06lCEVI2FVoLfrqL82OR0G7/c=";
   };
 
-  bloop-coursier = stdenv.mkDerivation rec {
-    name = "${pname}-coursier-${version}";
-
-    platform = if stdenv.isLinux && stdenv.isx86_64 then "x86_64-pc-linux"
-    else if stdenv.isDarwin && stdenv.isx86_64 then "x86_64-apple-darwin"
-    else throw "unsupported platform";
-
-    dontUnpack = true;
-    installPhase = ''
-      runHook preInstall
-
-      export COURSIER_CACHE=$(pwd)
-      export COURSIER_JVM_CACHE=$(pwd)
-
-      mkdir channel
-      ln -s ${bloop-coursier-channel} channel/bloop.json
-      ${coursier}/bin/cs install --install-dir . --install-platform ${platform} --default-channels=false --channel channel --only-prebuilt=true bloop
-
-      # Only keeping the binary, we'll wrap it ourselves
-      # This guarantees the output of this fixed-output derivation doesn't have references to itself
-      install -D -m 0755 .bloop.aux $out
-
-      runHook postInstall
-    '';
-
-    outputHashMode = "recursive";
-    outputHashAlgo = "sha256";
-    outputHash = if stdenv.isLinux && stdenv.isx86_64 then "sha256-AiF/ih15Jd0WuDP/0vU0vdaSo3FGjWXos+hNVBayFz4="
-    else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-LD23YpcNhWfioGDMqb1plqLy87ZHzT0zvIyc4O4WP5g="
-    else throw "unsupported platform";
+  bloop-binary = fetchurl rec {
+    url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-${platform}";
+    sha256 =
+      if stdenv.isLinux && stdenv.isx86_64 then "sha256-jif9z05W17vjFgb146qWC3o44HmbnX05gWPlbXttYsE="
+      else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-YOnXgKXsGrTu9P4I0NZW6ollZVQUXnbW8WtZTJmy+w0="
+      else throw "unsupported platform";
   };
 
   dontUnpack = true;
@@ -74,14 +49,9 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    export COURSIER_CACHE=$(pwd)
-    export COURSIER_JVM_CACHE=$(pwd)
-
-    install -D -m 0755 ${bloop-coursier} $out/.bloop-wrapped
+    install -D -m 0755 ${bloop-binary} $out/.bloop-wrapped
 
-    makeWrapper $out/.bloop-wrapped $out/bin/bloop \
-      --set CS_NATIVE_LAUNCHER true \
-      --set IS_CS_INSTALLED_LAUNCHER true
+    makeWrapper $out/.bloop-wrapped $out/bin/bloop
 
     #Install completions
     installShellCompletion --name bloop --bash ${bloop-bash}
diff --git a/pkgs/development/tools/build-managers/mage/default.nix b/pkgs/development/tools/build-managers/mage/default.nix
index 06d38588dbd..77141a69beb 100644
--- a/pkgs/development/tools/build-managers/mage/default.nix
+++ b/pkgs/development/tools/build-managers/mage/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "mage";
-  version = "1.12.1";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "magefile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hfLclI9bzsvITwdo8LTqNcr25yZN82B0pqwlk559tRU=";
+    sha256 = "sha256-+OhmV5+XNhJVCVYNKc6M5bNB4gyb/SV6bEohaZJXtLk=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index d8c92bc82d6..f62bb22314d 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -58,6 +58,13 @@ python3.pkgs.buildPythonApplication rec {
     # unsandboxed non-NixOS builds, see:
     # https://github.com/NixOS/nixpkgs/issues/86131#issuecomment-711051774
     ./boost-Do-not-add-system-paths-on-nix.patch
+
+    # https://github.com/mesonbuild/meson/pull/9841
+    # cross-compilation fix
+    (fetchpatch {
+      url = "https://github.com/mesonbuild/meson/commit/266e8acb5807b38a550cb5145cea0e19545a21d7.patch";
+      sha256 = "sha256-1GdKsm2xvq2GxTNeTyBH5O73hxboL0YI+w2BCoUeWXM=";
+    })
   ] ++ lib.optionals withDarwinFrameworksGtkDocPatch [
     # Fix building gtkdoc for GLib
     # https://github.com/mesonbuild/meson/pull/10186
diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix
index 3ec37b89fd3..c7b6f72ac8e 100644
--- a/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -81,7 +81,7 @@ let
           (rebar3WithPlugins { globalPlugins = [rebar3-nix]; })
         ]
       }
-      latest=$(list-git-tags --url=https://github.com/${owner}/${pname}.git | sed -n '/[\d\.]\+/p' | sort -V | tail -1)
+      latest=$(list-git-tags | sed -n '/[\d\.]\+/p' | sort -V | tail -1)
       if [ "$latest" != "${version}" ]; then
         nixpkgs="$(git rev-parse --show-toplevel)"
         nix_path="$nixpkgs/pkgs/development/tools/build-managers/rebar3"
diff --git a/pkgs/development/tools/build-managers/redo-apenwarr/default.nix b/pkgs/development/tools/build-managers/redo-apenwarr/default.nix
index 460ee004147..e8ea9a91f45 100644
--- a/pkgs/development/tools/build-managers/redo-apenwarr/default.nix
+++ b/pkgs/development/tools/build-managers/redo-apenwarr/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, python3, fetchFromGitHub, which, findutils, coreutils
+{ stdenv, lib, python3, fetchFromGitHub, which, coreutils
 , perl, installShellFiles
 , doCheck ? true
 }: stdenv.mkDerivation rec {
@@ -52,7 +52,6 @@
     python3
     (with python3.pkgs; [ beautifulsoup4 markdown ])
     which
-    findutils
     installShellFiles
   ];
 
diff --git a/pkgs/development/tools/build-managers/rocm-cmake/default.nix b/pkgs/development/tools/build-managers/rocm-cmake/default.nix
index f6d5de34893..5dabaaab5d6 100644
--- a/pkgs/development/tools/build-managers/rocm-cmake/default.nix
+++ b/pkgs/development/tools/build-managers/rocm-cmake/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-cmake";
-  version = "5.0.2";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "rocm-cmake";
     rev = "rocm-${version}";
-    hash = "sha256-4PtLe864MQ9wUn+l1fshiiTQvP06ewD39TDYZl70Hgg=";
+    hash = "sha256-7jLn0FIjsww1lu1J9MB0s/Ksnw66BL1U0jQwiwmgw64=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/build-managers/scala-cli/default.nix b/pkgs/development/tools/build-managers/scala-cli/default.nix
index 81859bcb799..40b230a72c3 100644
--- a/pkgs/development/tools/build-managers/scala-cli/default.nix
+++ b/pkgs/development/tools/build-managers/scala-cli/default.nix
@@ -1,15 +1,15 @@
 { stdenv, coreutils, lib, installShellFiles, zlib, autoPatchelfHook, fetchurl }:
 
 let
-  version = "0.1.3";
+  version = "0.1.5";
   assets = {
     x86_64-darwin = {
       asset = "scala-cli-x86_64-apple-darwin.gz";
-      sha256 = "UlDF2Eaaet62zZV0z6XOZvg/YeB//AXPDni8h3Wc6rw=";
+      sha256 = "1sczbvvhh1ff8mdb6zj4q3fnrz1qsqmr58jlb1s3fy1wv2p5ywxl";
     };
     x86_64-linux = {
       asset = "scala-cli-x86_64-pc-linux.gz";
-      sha256 = "086fi7ma4j9xy6gs0k7i06ql8ranjkjlrir2860q74kinfisk79a";
+      sha256 = "1ahvjgcghh1pmgfsajg0b8bf5aaqxdx0f6b6qgljs0xfqm7zs05v";
     };
   };
 in
diff --git a/pkgs/development/tools/build-managers/tup/default.nix b/pkgs/development/tools/build-managers/tup/default.nix
index 403adaff89e..0763f2e9359 100644
--- a/pkgs/development/tools/build-managers/tup/default.nix
+++ b/pkgs/development/tools/build-managers/tup/default.nix
@@ -17,6 +17,8 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ fuse pcre ];
 
+  patches = [ ./fusermount-setuid.patch ];
+
   configurePhase = ''
     substituteInPlace  src/tup/link.sh --replace '`git describe' '`echo ${version}'
     substituteInPlace Tuprules.tup --replace 'pcre-config' 'pkg-config libpcre'
diff --git a/pkgs/development/tools/build-managers/tup/fusermount-setuid.patch b/pkgs/development/tools/build-managers/tup/fusermount-setuid.patch
new file mode 100644
index 00000000000..34b77ab8659
--- /dev/null
+++ b/pkgs/development/tools/build-managers/tup/fusermount-setuid.patch
@@ -0,0 +1,31 @@
+# Tup needs a setuid fusermount which may be outside $PATH.
+
+diff --git a/src/tup/server/fuse_server.c b/src/tup/server/fuse_server.c
+index d4ab648d..2dc9294b 100644
+--- a/src/tup/server/fuse_server.c
++++ b/src/tup/server/fuse_server.c
+@@ -105,16 +105,21 @@ static void *fuse_thread(void *arg)
+ #if defined(__linux__)
+ static int os_unmount(void)
+ {
+-	int rc;
+ #ifdef FUSE3
+-	rc = system("fusermount3 -u -z " TUP_MNT);
++#define FUSERMOUNT "fusermount3"
+ #else
+-	rc = system("fusermount -u -z " TUP_MNT);
++#define FUSERMOUNT "fusermount"
+ #endif
++	int rc;
++	const char *cmd = (access("/run/wrappers/bin/" FUSERMOUNT, X_OK) == 0)
++		? "/run/wrappers/bin/" FUSERMOUNT " -u -z " TUP_MNT
++		: FUSERMOUNT " -u -z " TUP_MNT;
++	rc = system(cmd);
+ 	if(rc == -1) {
+ 		perror("system");
+ 	}
+ 	return rc;
++#undef FUSERMOUNT
+ }
+ #elif defined(__APPLE__)
+ static int os_unmount(void)
diff --git a/pkgs/development/tools/build-managers/tup/setup-hook.sh b/pkgs/development/tools/build-managers/tup/setup-hook.sh
index b7962c80d46..6116e207ac4 100644
--- a/pkgs/development/tools/build-managers/tup/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/tup/setup-hook.sh
@@ -19,7 +19,7 @@ tupConfigurePhase() {
     echo "${tupConfig-}" >> tup.config
 
     tup init
-    tup generate tupBuild.sh
+    tup generate --verbose tupBuild.sh
 
     runHook postConfigure
 }
@@ -33,7 +33,7 @@ tupBuildPhase() {
     runHook preBuild
 
     pushd .
-    . tupBuild.sh
+    ./tupBuild.sh
     popd
 
     runHook postBuild
diff --git a/pkgs/development/tools/checkmate/default.nix b/pkgs/development/tools/checkmate/default.nix
index bcb115e409b..6ca90b28f4e 100644
--- a/pkgs/development/tools/checkmate/default.nix
+++ b/pkgs/development/tools/checkmate/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "checkmate";
-  version = "0.5.8";
+  version = "0.5.9";
 
   src = fetchFromGitHub {
     owner = "adedayo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nzhzeXy70UQ1HP3/PCBnUPhrjg7CnKURMCH0iJ099E0=";
+    sha256 = "sha256-V7b8NEKzS4wDIhFJkAve94Tl3tzYtnbG01GzyRj8yfA=";
   };
 
   vendorSha256 = "sha256-uQRAVbLnzY+E3glMJ3AvmbtmwD2LkuqCh2mUpqZbmaA=";
diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix
index 0268ad463ff..5db37b60d10 100644
--- a/pkgs/development/tools/clj-kondo/default.nix
+++ b/pkgs/development/tools/clj-kondo/default.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "clj-kondo";
-  version = "2022.04.08";
+  version = "2022.04.23";
 
   src = fetchurl {
     url = "https://github.com/clj-kondo/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-dZtiwePwgLgKc0WkSnxI2zW9hOWKVW5+rO905LQhgvQ=";
+    sha256 = "sha256-TFDaIpsR1Q0510HZl31bB9jh9D3K0LspCARiE7QKLx0=";
   };
 
   extraNativeImageBuildArgs = [
diff --git a/pkgs/development/tools/conftest/default.nix b/pkgs/development/tools/conftest/default.nix
index f200cd742d9..fa4f9ea4384 100644
--- a/pkgs/development/tools/conftest/default.nix
+++ b/pkgs/development/tools/conftest/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "conftest";
-  version = "0.30.0";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "conftest";
     rev = "v${version}";
-    sha256 = "sha256-8/eZz5ejw5bahCYwz825HI+oZ6D1odeTpMIJh0TcGMY=";
+    sha256 = "sha256-p3EzJLq+LH8G8P7x6+47XWn8ckFeW2O7xhQGoRQDOOQ=";
   };
-  vendorSha256 = "sha256-wvOtBK3lRK7XwgeClywowgrZLohltSTGdoB+j3NRmkE=";
+  vendorSha256 = "sha256-WFR0DtOz4dteRWWaqjTIiyTpBTnH6qKivH9t+gRWsvg=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/continuous-integration/dagger/default.nix b/pkgs/development/tools/continuous-integration/dagger/default.nix
index b204cfc1ae5..2cecbce2f4c 100644
--- a/pkgs/development/tools/continuous-integration/dagger/default.nix
+++ b/pkgs/development/tools/continuous-integration/dagger/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dagger";
-  version = "0.2.6";
+  version = "0.2.7";
 
   src = fetchFromGitHub {
     owner = "dagger";
     repo = "dagger";
     rev = "v${version}";
-    sha256 = "sha256-3rkHWWpZGUL+7DoUtwY3v2tlcNXdbfVqs+u1wq3jNVI=";
+    sha256 = "sha256-sy4z/kyHUn9OSkB1uYQsmr/T5ij/0HfTrr0sIyIUGTE=";
   };
 
-  vendorSha256 = "sha256-DKjVY2G+sG5CjwN262aZkH90fosuBCKHlB8sRbILjaI=";
+  vendorSha256 = "sha256-l2Ydj7snWQa7L1uVQxBqtj9DsrH+ayUhlsiwDJSeOWk=";
 
   subPackages = [
     "cmd/dagger"
diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix
index aa20eae8f19..aae87fb976d 100644
--- a/pkgs/development/tools/continuous-integration/github-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix
@@ -105,6 +105,8 @@ stdenv.mkDerivation rec {
   configurePhase = ''
     runHook preConfigure
 
+    export HOME=$(mktemp -d)
+
     # Never use nuget.org
     nuget sources Disable -Name "nuget.org"
 
diff --git a/pkgs/development/tools/continuous-integration/github-runner/deps.nix b/pkgs/development/tools/continuous-integration/github-runner/deps.nix
index 0db94420732..b8997dee2c2 100644
--- a/pkgs/development/tools/continuous-integration/github-runner/deps.nix
+++ b/pkgs/development/tools/continuous-integration/github-runner/deps.nix
@@ -1,16 +1,16 @@
 { fetchNuGet }: [
   (fetchNuGet { pname = "Castle.Core"; version = "4.4.0"; sha256 = "0rpcbmyhckvlvp6vbzpj03c1gqz56ixc6f15vgmxmyf1g40c24pf"; })
   (fetchNuGet { pname = "Microsoft.AspNet.WebApi.Client"; version = "5.2.4"; sha256 = "00fkczf69z2rwarcd8kjjdp47517a0ca6lggn72qbilsp03a5scj"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.3"; sha256 = "1jpw4s862j4aa7b7wchi03gxcy02j6hhpbsfbcayiyx6ry788i15"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.3"; sha256 = "0rrrfgkr7rzhlnsnajvzb1ijkybp99d992bqxy9pbawmq7d60bdk"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.4"; sha256 = "0s1hkanhfv7virdynxxx28kp3w596iiplvi0jqv3dsr63gl0m0m7"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.4"; sha256 = "1fvv5ri32pbl43628zqnim6fbv6hjxf66p0v793xdh57dzkdyh0j"; })
   (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.0.0"; sha256 = "18gdbsqf6i79ld4ikqr4jhx9ndsggm865b5xj1xmnmgg12ydp19a"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; })
   (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "5.2.1"; sha256 = "1gpka9jm2gl6f07pcwzwvaxw9xq1a19i9fskn0qs921c5grhlp3g"; })
   (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "5.2.1"; sha256 = "03v6145vr1winq8xxfikydicds4f10qmy1ybyz2gfimnzzx51w00"; })
   (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.0.0"; sha256 = "0bknyf5kig5icwjxls7pcn51x2b2qf91dz9qv67fl70v6cczaz2r"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.3"; sha256 = "1swbrmpsayy99ycwaq68dx9ydd5h3qv9brwig6ryff1xfn1llndq"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.3"; sha256 = "0gjj6p2nnxzhyrmmmwiyrll782famhll9lbgj8cji1i93amxq1pb"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.3"; sha256 = "0f04srx6q0jk81a60n956hz32fdngzp0xmdb2x7gyl77gsq8yijj"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.4"; sha256 = "0g1vw0wr88zlfpdg2gz8c0mriasci1kzvjia4nj19j7b0zaga7f0"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.4"; sha256 = "09i8ca56szmvyp1xlddyv3124rrcar8vgsq3pmprcylfdjarck6x"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.4"; sha256 = "1gibwhplbanv6bz3l71w8vhzlgqsh21bms30dbf1n60v7p02fl3h"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1-rc2-24027"; sha256 = "1a0w5fv8slfr4q7m3mh78lb9awdwyz4zv3bb73vybkyq1f6z7lx8"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
diff --git a/pkgs/development/tools/dapr/cli/default.nix b/pkgs/development/tools/dapr/cli/default.nix
index 59e04455c2a..96b86719e6c 100644
--- a/pkgs/development/tools/dapr/cli/default.nix
+++ b/pkgs/development/tools/dapr/cli/default.nix
@@ -1,23 +1,30 @@
-{ buildGoModule, fetchFromGitHub, lib }:
+{ buildGoModule, fetchFromGitHub, installShellFiles, lib }:
 
 buildGoModule rec {
-  pname = "dapr";
-  version = "1.1.0";
-
-  vendorSha256 = "0fng5a1pvpbwil79xapdalzgkgc9dwsdxs6bznjfwnkyd1vvw6fm";
+  pname = "dapr-cli";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
-    sha256 = "0x2mvlzlmcik6ys6xp722px9l4lj9ssyxb06bzxd7yj7m1wwcwp9";
-
     owner = "dapr";
     repo = "cli";
     rev = "v${version}";
+    sha256 = "sha256-+P1oXG+uvnFDGis5pz9VUQ4n1C7mjuetXz1OtN7IIrg=";
   };
 
-  doCheck = false;
+  vendorSha256 = "sha256-EvOyOy7DFQtFavOC9eBUZRJsj3pNdx7jumVmZ/THdaM=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
 
   postInstall = ''
     mv $out/bin/cli $out/bin/dapr
+
+    installShellCompletion --cmd dapr \
+      --bash <($out/bin/dapr completion bash) \
+      --zsh <($out/bin/dapr completion zsh)
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/database/clickhouse-backup/default.nix b/pkgs/development/tools/database/clickhouse-backup/default.nix
index fdc15a9256d..a55ed8a3b65 100644
--- a/pkgs/development/tools/database/clickhouse-backup/default.nix
+++ b/pkgs/development/tools/database/clickhouse-backup/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clickhouse-backup";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "AlexAkulov";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-M9fJFdwNyNOolXFknzEPG7pNDVrqKv/WOQZUHmr8B84=";
+    sha256 = "sha256-dpVFDLDEqqW1u1afb3klpdqwOptudbjUfoFhFBc85Pg=";
   };
 
-  vendorSha256 = "sha256-d6h0LK4zbrfkUum7FXHIP+hqBx5A0mQmvW5GOi+EMVQ=";
+  vendorSha256 = "sha256-wj4N146iqj/YwyBI0XdrvBp1tqeK43Yq4kSpN594hRs=";
 
   postConfigure = ''
     export CGO_ENABLED=0
diff --git a/pkgs/development/tools/database/liquibase/default.nix b/pkgs/development/tools/database/liquibase/default.nix
index 87a66f9bdab..9b13ef220d3 100644
--- a/pkgs/development/tools/database/liquibase/default.nix
+++ b/pkgs/development/tools/database/liquibase/default.nix
@@ -1,11 +1,25 @@
-{ lib, stdenv, fetchurl, jre, makeWrapper
-, mysqlSupport ? true, mysql_jdbc
-, postgresqlSupport ? true, postgresql_jdbc }:
+{ lib
+, stdenv
+, fetchurl
+, jre
+, makeWrapper
+, mysqlSupport ? true
+, mysql_jdbc
+, postgresqlSupport ? true
+, postgresql_jdbc
+, redshiftSupport ? true
+, redshift_jdbc
+, liquibase_redshift_extension
+}:
 
 let
   extraJars =
     lib.optional mysqlSupport mysql_jdbc
-    ++ lib.optional postgresqlSupport postgresql_jdbc;
+    ++ lib.optional postgresqlSupport postgresql_jdbc
+    ++ lib.optionals redshiftSupport [
+      redshift_jdbc
+      liquibase_redshift_extension
+    ];
 in
 
 stdenv.mkDerivation rec {
@@ -30,7 +44,8 @@ stdenv.mkDerivation rec {
         CP="\$CP":"\$jar"
       done
     '';
-    in ''
+    in
+    ''
       mkdir -p $out
       mv ./{lib,licenses,liquibase.jar} $out/
 
@@ -51,10 +66,10 @@ stdenv.mkDerivation rec {
       ${lib.concatStringsSep "\n" (map (p: addJars "${p}/share/java") extraJars)}
 
       ${lib.getBin jre}/bin/java -cp "\$CP" \$JAVA_OPTS \
-        liquibase.integration.commandline.Main \''${1+"\$@"}
+        liquibase.integration.commandline.LiquibaseCommandLine \''${1+"\$@"}
       EOF
       chmod +x $out/bin/liquibase
-  '';
+    '';
 
   meta = with lib; {
     description = "Version Control for your database";
diff --git a/pkgs/development/tools/database/pg_activity/default.nix b/pkgs/development/tools/database/pg_activity/default.nix
index 6282a6b69e5..efa32358b2d 100644
--- a/pkgs/development/tools/database/pg_activity/default.nix
+++ b/pkgs/development/tools/database/pg_activity/default.nix
@@ -2,14 +2,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pg_activity";
-  version = "2.3.0";
+  version = "2.3.1";
   disabled = python3Packages.pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "dalibo";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-O5ACTWsHoIty+QLTGaSuk985qduH7xBjviiH4yCrY2o=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-oStoZVFf0g1Dj2m+T+8caiKS0o1CnhtQNe/GbnlVUCM=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/development/tools/database/prisma-engines/default.nix b/pkgs/development/tools/database/prisma-engines/default.nix
index 73af1bde5ea..b3c5c1b0dd0 100644
--- a/pkgs/development/tools/database/prisma-engines/default.nix
+++ b/pkgs/development/tools/database/prisma-engines/default.nix
@@ -13,19 +13,19 @@
 # function correctly.
 rustPlatform.buildRustPackage rec {
   pname = "prisma-engines";
-  version = "3.12.0";
+  version = "3.13.0";
 
   src = fetchFromGitHub {
     owner = "prisma";
     repo = "prisma-engines";
     rev = version;
-    sha256 = "sha256-lIHE63XIPutvTS2cid0+tuo+JMSKMGuSUcnFv1mCRrM=";
+    sha256 = "sha256-+Ug4tOaqUaqcEoMv20CKE8JrjIdW34VSn20gXZYX92k=";
   };
 
   # Use system openssl.
   OPENSSL_NO_VENDOR = 1;
 
-  cargoSha256 = "sha256-SkI+GLHknC+CGhGo7KiZahBxMp/JCIukTe2C0mMTdjY=";
+  cargoSha256 = "sha256-V2G++BYLRGVM4leB2jkM+HcFiCIdf2wA3dfYdtlq7XI=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -62,3 +62,15 @@ rustPlatform.buildRustPackage rec {
     maintainers = with maintainers; [ pamplemousse pimeys superherointj ];
   };
 }
+
+### Troubleshooting
+# Here's an example application using Prisma with Nix: https://github.com/pimeys/nix-prisma-example
+# At example's `flake.nix` shellHook, notice the requirement of defining environment variables for prisma, it's values will show on `prisma --version`.
+# Read the example's README: https://github.com/pimeys/nix-prisma-example/blob/main/README.md
+# Prisma requires 2 packages, `prisma-engines` and `nodePackages.prisma`, to be at *exact* same versions.
+# Certify at `package.json` that dependencies "@prisma/client" and "prisma" are equal, meaning no caret (`^`) in version.
+# Configure NPM to use exact version: `npm config set save-exact=true`
+# Delete `package-lock.json`, delete `node_modules` directory and run `npm install`.
+# Run prisma client from `node_modules/.bin/prisma`.
+# Run `./node_modules/.bin/prisma --version` and check if both prisma packages versions are equal, current platform is `linux-nixos`, and other keys equal to the prisma environment variables you defined for prisma.
+# Test prisma with `generate`, `db push`, etc. It should work. If not, open an issue.
diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix
index 82a588e3020..79c31c1937f 100644
--- a/pkgs/development/tools/database/sqlfluff/default.nix
+++ b/pkgs/development/tools/database/sqlfluff/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sqlfluff";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-WL9bp77Q1cQakxaptw6ZHCq2+IAscMIDKkbQAHSCo1s=";
+    hash = "sha256-UFvrtLVHGlWUlvA7KLDgaCydE/UoxtYV+8RqLblOdns=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/ddosify/default.nix b/pkgs/development/tools/ddosify/default.nix
index 601f4f17ae6..998be0d15ea 100644
--- a/pkgs/development/tools/ddosify/default.nix
+++ b/pkgs/development/tools/ddosify/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ddosify";
-  version = "0.7.6";
+  version = "0.7.9";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nwTVSx6+ELTZnM2tOuyzr7Koq6SE5L52S4revRjGABs=";
+    sha256 = "sha256-7dPDYBypLz0YWcgwP57LtZV+WNEGd705/0jyDXT4xTY=";
   };
 
-  vendorSha256 = "sha256-lbo9P2UN9TmUAqyhFdbOHWokoAogVQZihpcOlhmumxU=";
+  vendorSha256 = "sha256-WvchcVd0tql5Kxt2EP/auSq66hjiVqew7Iyi/ytaI64=";
 
   ldflags = [
     "-s -w"
diff --git a/pkgs/development/tools/dive/default.nix b/pkgs/development/tools/dive/default.nix
index 581b0db3b35..d6217671b0c 100644
--- a/pkgs/development/tools/dive/default.nix
+++ b/pkgs/development/tools/dive/default.nix
@@ -13,8 +13,6 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-0gJ3dAPoilh3IWkuesy8geNsuI1T0DN64XvInc9LvlM=";
 
-  doCheck = false;
-
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = lib.optionals stdenv.isLinux [ btrfs-progs gpgme lvm2 ];
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index d7667538e8e..9c428347d8f 100644
--- a/pkgs/development/tools/doctl/default.nix
+++ b/pkgs/development/tools/doctl/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "doctl";
-  version = "1.71.1";
+  version = "1.72.0";
 
   vendorSha256 = null;
 
@@ -31,7 +31,7 @@ buildGoModule rec {
     owner = "digitalocean";
     repo = "doctl";
     rev = "v${version}";
-    sha256 = "sha256-Y6YabrpM1WcNGp5ksvq3SBuAS6KEUVzEfxsPmBDS+Io=";
+    sha256 = "sha256-+8uGh7cvNndBBLdTfbYDxfn7Z+4LPPgqeseLcR1P468=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/dprint/default.nix b/pkgs/development/tools/dprint/default.nix
index b81c3b3dd5b..20646fa696d 100644
--- a/pkgs/development/tools/dprint/default.nix
+++ b/pkgs/development/tools/dprint/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dprint";
-  version = "0.24.4";
+  version = "0.26.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-cOjtwdkkENy9HmJ9KRiZJ+JibTmNdkr/17EDgvyNmPw=";
+    sha256 = "sha256-s8M7xQTADPVRGM3Cu2jmNrdMWBRKNLWsRlXnnB+FHH4=";
   };
 
-  cargoSha256 = "sha256-cyd9h2Yz8XU/X1w0P9qMv1GDuOL5X24CCstAv7BS7nw=";
+  cargoSha256 = "sha256-UaD85fCWWYyDNF/HiWDRVpQD0snhiQtEWfIq7GSoZts=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/development/tools/earthly/default.nix b/pkgs/development/tools/earthly/default.nix
index 86805daf1c7..06b17c1ff1f 100644
--- a/pkgs/development/tools/earthly/default.nix
+++ b/pkgs/development/tools/earthly/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "earthly";
-  version = "0.6.13";
+  version = "0.6.14";
 
   src = fetchFromGitHub {
     owner = "earthly";
     repo = "earthly";
     rev = "v${version}";
-    sha256 = "sha256-xOsLFFa6OsfdXOjYZBV71gafaAAX9PfMokppMKJzlZg=";
+    sha256 = "sha256-1zJPtx+W+UuH+upun1o9f3ofieahTsb4bSuznPhIYnw=";
   };
 
   vendorSha256 = "sha256-2bOaJdK12qGjjVtoBp3LeSyIiFwm4ZvxNI5yR0HriXI=";
diff --git a/pkgs/development/tools/efm-langserver/default.nix b/pkgs/development/tools/efm-langserver/default.nix
index a030a271b48..788c4edc9a8 100644
--- a/pkgs/development/tools/efm-langserver/default.nix
+++ b/pkgs/development/tools/efm-langserver/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "efm-langserver";
-  version = "0.0.42";
+  version = "0.0.44";
 
   src = fetchFromGitHub {
     owner = "mattn";
     repo = "efm-langserver";
     rev = "v${version}";
-    sha256 = "sha256-1IAPtqIozp9Wp3L95mmhFuWvWvCDuTh1VsCVaJSzyfk=";
+    sha256 = "sha256-+yN08MAoFaixvt2EexhRNucG6I4v2FdHf44XlYIwzhA=";
   };
 
   vendorSha256 = "sha256-KABezphT5/o3XWSFNe2OvfawFR8uwsGMnjsI9xh378Q=";
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index 0ed800eb7c6..1eb6144b4c3 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -23,7 +23,7 @@ let
 in
 rec {
 
-  electron = electron_17;
+  electron = electron_18;
 
   electron_9 = mkElectron "9.4.4" {
     x86_64-linux = "781d6ca834d415c71078e1c2c198faba926d6fce19e31448bbf4450869135450";
@@ -83,33 +83,43 @@ rec {
     headers = "181b2agnf4b5s81p2rdnd6wkw9c2ri4cv1x0wwf7rj60axvzvydm";
   };
 
-  electron_15 = mkElectron "15.5.1" {
-    armv7l-linux = "222e9ad3210cf538c45f938b5b1a5d901b36fb6ec09461446e4ab4ea6ee9bc1b";
-    aarch64-linux = "16a0053036a9f6ba947445c85bacda720975a23a910e78cab8dce1bf8ad2acf7";
-    x86_64-linux = "99867ef0eef53f214ef4c8a4ec0223890d9c38b73fd6bf4fb49a9e400dff5726";
-    i686-linux = "6d65c900c77b9e259932b20978d78a56bb04fad590f29a5935d8a31f5e0891db";
-    x86_64-darwin = "54e6312d5e06e16eab78d86ddb01553864b66f608d017c7a1c4a0a318be32081";
-    aarch64-darwin = "6472bea7f38f38c20a8c87e6daf70ca0d00b7c29b1641eeda6c8d45f9e60784b";
-    headers = "0dgxyndsyhk5m9m8iiy2h3vg1gz1xg5nj75537apsh9mdiizsfhk";
+  electron_15 = mkElectron "15.5.2" {
+    armv7l-linux = "da434095fd7cc17d85ebca5eab3510ec7ff73ace4edc933fe2f27a716ca711c0";
+    aarch64-linux = "bcec3f962c7acefc8690680a19df9d83721db7e5db55c7b7a8946365139457a6";
+    x86_64-linux = "a4a95888c313dbe279f5f9d9dfd99f56a2a1b6b905fb6cba3b284322fe19a530";
+    i686-linux = "0fd1dd9027bfdbc573fd39e163b6b3f8c07e8ac1586a554e65e7324e7fa7ea35";
+    x86_64-darwin = "688cc1d501d32afa5efe1883be42446b61f404d4a5e84bd9815254b5437c869b";
+    aarch64-darwin = "b43237d7612ada2f2dccaf6e13fa70ba938dc48f1e2f895558949dd372171db7";
+    headers = "0jbxazkjkm8g8b8d0ini2l4q9z7885mz5vyj74lf85lqdfqzgzc0";
   };
 
-  electron_16 = mkElectron "16.2.1" {
-    armv7l-linux = "d55daeffed60cfd0c2de4ea8cab102ec5957dbd0cd863add881080e891b02334";
-    aarch64-linux = "6446c665a1c6d7648dbeae94a669423b4c6768bafa96f0d3f8072b8c5d5a949e";
-    x86_64-linux = "7b27a8531a8ef60fa27dd119422a81a710e09f7d8cb01777f1fe7b7ab67e3ac4";
-    i686-linux = "eb7e0c8113af80f0e4edbae35d2cca718c1e98966da87041304fa6afb2d3e4c0";
-    x86_64-darwin = "0386e3318d4b5cfabccc226ca88bd9946669901f381e3817d1d414b1356e472c";
-    aarch64-darwin = "280660c0333702de9d95bcf9a21d3db8d148bef2a5946bb57d20b9e5f2aadb96";
-    headers = "121wrzy81h9m12y83mb0xs9jbm5l4w31f831lmb4wmkkg54bvcwj";
+  electron_16 = mkElectron "16.2.3" {
+    armv7l-linux = "9b442b17349dcec08e6efadecf9d338a7f4b2955635fed2a78374af850ceee5d";
+    aarch64-linux = "eec581d162b494a7bcba4b0221f3beac9f359b48fb8612c83ce6ad7ac63094cd";
+    x86_64-linux = "2c032baff08b40f106dfcd86e7b63c6275f13e64d26b8c301af704563edf8600";
+    i686-linux = "227e9f5670a2d92a814eeda41c7ef4efd8fc6150bee659e0f322a8d2481ecdec";
+    x86_64-darwin = "3a51ad480d4085a822b0526018805e64fe82f93b954abe500eaebb3c81c80d45";
+    aarch64-darwin = "38c736c336abf8747040f22542d6a0bd785b5a10f6ba01d71335cc5f77a3d0b5";
+    headers = "1a9kb89iigwmahjwq14i74rr6gj21gmpc106pg0il73c50khaxpz";
   };
 
-  electron_17 = mkElectron "17.3.1" {
-    armv7l-linux = "ad7864f9a580b3fd8865480caa6cccbaefa5d7e5fdbe455700ab711b0adf2228";
-    aarch64-linux = "e0f03aff5339e4dab85cbc970568ca31599ee0f032d1e766c23deea7d96654b0";
-    x86_64-linux = "59d13b1d060523d1098e6e1e5bf7c6f2494b713321541f863dc459a42d2c40a8";
-    i686-linux = "6d31d5117f4508bc7e0f9ecb6423d266b47fb5f074b0dfa8ddcfc2298c764151";
-    x86_64-darwin = "c70a6e906ae7ce02552f1722022147f2416f27de0f98b88a0b7b1a09e341426f";
-    aarch64-darwin = "76a9c8cbfa578c7e6678e6ccab2417374d1b3d3d81c6cac5ceea0aa058c12a8f";
-    headers = "11k5sw7wk0fjjdlhcvbkwpffslngm9ns8l4c7rxa4qx8n1six9sf";
+  electron_17 = mkElectron "17.4.1" {
+    armv7l-linux = "d1329468cb21039fb5b503fc813381f9be4d43422383b44f859b450be0e4200c";
+    aarch64-linux = "70d29bca5f884753341a11b0445ccf159c0f43dfae16eb60c53946582c3128b0";
+    x86_64-linux = "f9437a86947c418d92eabea14b268dcc4a5dde74cc6927530c1e9195e4aeddf8";
+    i686-linux = "436f44d778acc41a4a07cc4ee23ab861e2c4d72e4b1335e3c4ccfd4855deb594";
+    x86_64-darwin = "0357bcf841bc246d01df8b838fa5de9856bd48f4fa6b2b4f3053ba3db492e54b";
+    aarch64-darwin = "827f6ecb7bc4d4ed88eb22e1b02615465ad13ace918d294c873a67a34c207dcf";
+    headers = "064qnwv6gqn502r1cv7vi6ahvgyxcqq7mv0rmk2bxfpkr5x6hgmh";
+  };
+
+  electron_18 = mkElectron "18.1.0" {
+    armv7l-linux = "c2296f3f68938aab4cef07b747d2dd28973625b6717163b9c51fbcf1509fd8ff";
+    aarch64-linux = "13bd4998d0d86ccf4cb87d11f9581d5a6063b4585fc4828e130054527dfb9179";
+    x86_64-linux = "7f95069d58e6843e6ae2b8f02619d4dcef7db4c35bd6e90b903268d83b939fba";
+    i686-linux = "e952d06b3828695636de522e3af8140543ecbe02d7351dd002b0ffb9e2a09705";
+    x86_64-darwin = "24dd64a66b820c9553c5e5570907da6c98e808d33fac98072b9c2a8f1659cb14";
+    aarch64-darwin = "97adf13306c9b3b304d3e9ddf68f5f7fb9b79c9a1342114e3671182f3cc9e808";
+    headers = "0gl30q2igr9c8sjlhyj5w57dm5navpkas5hnz9yl7sasbx66v10v";
   };
 }
diff --git a/pkgs/development/tools/electron/generic.nix b/pkgs/development/tools/electron/generic.nix
index 7fefe186c10..05d9facf60b 100644
--- a/pkgs/development/tools/electron/generic.nix
+++ b/pkgs/development/tools/electron/generic.nix
@@ -62,10 +62,10 @@ let
 
   electronLibPath = with lib; makeLibraryPath (
     [ libuuid at-spi2-atk at-spi2-core libappindicator-gtk3 ]
-    ++ optionals (! versionOlder version "9.0.0") [ libdrm mesa ]
-    ++ optionals (! versionOlder version "11.0.0") [ libxkbcommon ]
-    ++ optionals (! versionOlder version "12.0.0") [ libxshmfence ]
-    ++ optionals (! versionOlder version "17.0.0") [ libglvnd ]
+    ++ optionals (versionAtLeast version "9.0.0") [ libdrm mesa ]
+    ++ optionals (versionAtLeast version "11.0.0") [ libxkbcommon ]
+    ++ optionals (versionAtLeast version "12.0.0") [ libxshmfence ]
+    ++ optionals (versionAtLeast version "17.0.0") [ libglvnd ]
   );
 
   linux = {
@@ -92,7 +92,8 @@ let
       patchelf \
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
         --set-rpath "${atomEnv.libPath}:${electronLibPath}:$out/lib/electron" \
-        $out/lib/electron/electron
+        $out/lib/electron/electron \
+        ${lib.optionalString (lib.versionAtLeast version "15.0.0") "$out/lib/electron/chrome_crashpad_handler" }
 
       wrapProgram $out/lib/electron/electron \
         --prefix LD_PRELOAD : ${lib.makeLibraryPath [ libXScrnSaver ]}/libXss.so.1 \
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index 3a8fcd67dd0..1af15e82110 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.14.34";
+  version = "0.14.38";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "sha256-TnX/vd12GStzFsCaRYOY7VyDYRw5qP4EeAa0GmWlFWc=";
+    sha256 = "sha256-rvMi1oC7qGidvi4zrm9KCMMntu6LJGVOGN6VmU2ivQE=";
   };
 
   vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";
diff --git a/pkgs/development/tools/evans/default.nix b/pkgs/development/tools/evans/default.nix
index 95e0839f46b..82238d65d4a 100644
--- a/pkgs/development/tools/evans/default.nix
+++ b/pkgs/development/tools/evans/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "evans";
-  version = "0.10.3";
+  version = "0.10.5";
 
   src = fetchFromGitHub {
     owner = "ktr0731";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4KHJodqmx03uQ+HJBWmKbIBvkLh80N4fHnYL4GLciNc=";
+    sha256 = "sha256-3gl4m0zTe8y4KLMAy3I7YD4Q7gLrRf3QsJap2IGX9Tk=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-to75gON3Kl0GHgVhhrW8I6GWOg9/KrUts3rwDLAfFnM=";
+  vendorSha256 = "sha256-BYOrby7tlQJ0ZjZHCeDWzsCv7jBfwX9RX1weLfEz+cU=";
 
   meta = with lib; {
     description = "More expressive universal gRPC client";
diff --git a/pkgs/development/tools/flip-link/default.nix b/pkgs/development/tools/flip-link/default.nix
index 6e752379a73..d42e282289a 100644
--- a/pkgs/development/tools/flip-link/default.nix
+++ b/pkgs/development/tools/flip-link/default.nix
@@ -2,23 +2,31 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "flip-link";
-  version = "0.1.4";
+  version = "0.1.6";
 
   src = fetchFromGitHub {
     owner = "knurling-rs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-LE0cWS6sOb9/VvGloezNnePHGldnpfNTdCFUv3F/nwE=";
+    sha256 = "sha256-Sf2HlAfPlg8Er2g17AnRmUkvRhTw5AVPuL2B92hFvpA=";
   };
 
-  cargoSha256 = "sha256-8WBMF5stMB4JXvYwa5yHVFV+3utDuMFJNTZ4fZFDftw=";
+  cargoSha256 = "sha256-2VgsO2hUIvSPNQhR13+bGTxXa6xZXcK0amfiWv2EIxk=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
+  checkFlags = [
+    # requires embedded toolchains
+    "--skip should_link_example_firmware::case_1_normal"
+    "--skip should_link_example_firmware::case_2_custom_linkerscript"
+    "--skip should_verify_memory_layout"
+  ];
+
   meta = with lib; {
     description = "Adds zero-cost stack overflow protection to your embedded programs";
     homepage = "https://github.com/knurling-rs/flip-link";
-    license = with licenses; [ asl20 mit ];
-    maintainers = [ maintainers.FlorianFranzen ];
+    changelog = "https://github.com/knurling-rs/flip-link/blob/v${version}/CHANGELOG.md";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ FlorianFranzen newam ];
   };
 }
diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix
index c7ecf4cace2..3f3a2b190eb 100644
--- a/pkgs/development/tools/flyway/default.nix
+++ b/pkgs/development/tools/flyway/default.nix
@@ -1,10 +1,10 @@
 { lib, stdenv, fetchurl, jre_headless, makeWrapper }:
 stdenv.mkDerivation rec{
   pname = "flyway";
-  version = "8.5.1";
+  version = "8.5.9";
   src = fetchurl {
     url = "mirror://maven/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz";
-    sha256 = "sha256-aD8++IhpV89hgx6pIe8CDg07ps+44si4Z6RcZD8g1Fc=";
+    sha256 = "sha256-AOfCYWjn8XyyFdz6BbYOysEE1TADfIk8CyPBHsQJTDE=";
   };
   nativeBuildInputs = [ makeWrapper ];
   dontBuild = true;
diff --git a/pkgs/development/tools/fq/default.nix b/pkgs/development/tools/fq/default.nix
index ad8c43195c9..76757e1f891 100644
--- a/pkgs/development/tools/fq/default.nix
+++ b/pkgs/development/tools/fq/default.nix
@@ -2,21 +2,21 @@
 , buildGoModule
 , fetchFromGitHub
 , fq
-, testVersion
+, testers
 }:
 
 buildGoModule rec {
   pname = "fq";
-  version = "0.0.6";
+  version = "0.0.7";
 
   src = fetchFromGitHub {
     owner = "wader";
     repo = "fq";
     rev = "v${version}";
-    sha256 = "sha256-/9TBnhFGYNOcCsQKUF0uuJEgnF+qRGly/5z1s3sYhqY=";
+    sha256 = "sha256-4bCJcLpU/k87p884jw9Gq1i6ocuD4vMn4PuOStihssE=";
   };
 
-  vendorSha256 = "sha256-zvtYyNJO4QoTes3vf6CFa3dYMJqkp0PG9pnOk+aO97Y=";
+  vendorSha256 = "sha256-XsMhxQ83nQO3fQ1EN2XxcZeN+I96h8mcAq+TNIvbTyo=";
 
   ldflags = [
     "-s"
@@ -26,7 +26,7 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  passthru.tests = testVersion { package = fq; };
+  passthru.tests = testers.testVersion { package = fq; };
 
   meta = with lib; {
     description = "jq for binary formats";
diff --git a/pkgs/development/tools/fx/default.nix b/pkgs/development/tools/fx/default.nix
new file mode 100644
index 00000000000..d3ae227ca26
--- /dev/null
+++ b/pkgs/development/tools/fx/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "fx";
+  version = "22.0.10";
+
+  src = fetchFromGitHub {
+    owner = "antonmedv";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-BoWb27sRqcYHSLhUvjRIRIkcj90FitpbrH2R3VHsRyI=";
+  };
+
+  vendorSha256 = "sha256-ZDPRKrum2tnhscZxLzslezYs/hOOtHwAORrAWoQhXbs=";
+
+  meta = with lib; {
+    description = "Terminal JSON viewer";
+    homepage = "https://github.com/antonmedv/fx";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/tools/ginkgo/default.nix b/pkgs/development/tools/ginkgo/default.nix
index 9985d43da2f..d06a63d12f0 100644
--- a/pkgs/development/tools/ginkgo/default.nix
+++ b/pkgs/development/tools/ginkgo/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "ginkgo";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "onsi";
     repo = "ginkgo";
     rev = "v${version}";
-    sha256 = "sha256-q+m1NDl9zd6ueyBTzbzlvHIQyoIul5dAfUQ6UK4wlrc=";
+    sha256 = "sha256-5MVOJingEJojJA79nHJDWwso3eunjox/d+JzX11X46Q=";
   };
-  vendorSha256 = "sha256-kMQ60HdsorZU27qoOY52DpwFwP+Br2bp8mRx+ZwnQlI=";
+  vendorSha256 = "sha256-RFI87HCw+/4J8YKLZ7Kt7D2PNmwr1qXEiHCCLlBHtPA=";
 
   # integration tests expect more file changes
   # types tests are missing CodeLocation
diff --git a/pkgs/development/tools/go-motion/default.nix b/pkgs/development/tools/go-motion/default.nix
index 5004afc28e3..d06f6e5acd1 100644
--- a/pkgs/development/tools/go-motion/default.nix
+++ b/pkgs/development/tools/go-motion/default.nix
@@ -1,23 +1,20 @@
-{ buildGoPackage
-, lib
-, fetchFromGitHub
-}:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
-  pname = "motion-unstable";
-  version = "2018-04-09";
-  rev = "218875ebe23806e7af82f3b5b14bb3355534f679";
-
-  goPackagePath = "github.com/fatih/motion";
+buildGoModule rec {
+  pname = "motion";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
-    inherit rev;
-
     owner = "fatih";
     repo = "motion";
-    sha256 = "08lp61hmb77p0cknf71jp8lssplxad3ddyqjxh8x3cr0bmn9ykr9";
+    rev = "v${version}";
+    sha256 = "sha256-bD6Mm9/LOzguoK/xMpVEeT7G8j1shCsMv14wFostlW4=";
   };
 
+  vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     description = "Navigation and insight in Go";
     longDescription = ''
diff --git a/pkgs/development/tools/go-protobuf/default.nix b/pkgs/development/tools/go-protobuf/default.nix
index 72dabc3b938..00e62c87cb3 100644
--- a/pkgs/development/tools/go-protobuf/default.nix
+++ b/pkgs/development/tools/go-protobuf/default.nix
@@ -13,8 +13,6 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-CcJjFMslSUiZMM0LLMM3BR53YMxyWk8m7hxjMI9tduE=";
 
-  doCheck = false;
-
   meta = with lib; {
     homepage    = "https://github.com/golang/protobuf";
     description = " Go bindings for protocol buffer";
diff --git a/pkgs/development/tools/go-toml/default.nix b/pkgs/development/tools/go-toml/default.nix
index add3780de5f..accc8390995 100644
--- a/pkgs/development/tools/go-toml/default.nix
+++ b/pkgs/development/tools/go-toml/default.nix
@@ -1,19 +1,21 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "go-toml";
-  version = "1.9.4";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "pelletier";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1ENmSeo3TtTvhgwtbmq+O9n9fD/FqSUiCrSplkJNTTg=";
+    sha256 = "sha256-NdUD+QpqKU5CaY2vBEop6hoK6z1Ok4Dn+W9eUHaGFb4=";
   };
 
-  goPackagePath = "github.com/pelletier/go-toml";
+  vendorSha256 = "sha256-TuyrtUAbT++S3glpCD603KV6QMkOFv5FgnPpYcMjy1I=";
 
-  excludedPackages = [ "cmd/tomltestgen" ];
+  excludedPackages = [ "cmd/gotoml-test-decoder" "cmd/tomltestgen" ];
+
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     description = "Go library for the TOML language";
diff --git a/pkgs/development/tools/gofumpt/default.nix b/pkgs/development/tools/gofumpt/default.nix
index 9c8f5e20b7e..9030a185d56 100644
--- a/pkgs/development/tools/gofumpt/default.nix
+++ b/pkgs/development/tools/gofumpt/default.nix
@@ -13,8 +13,6 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-Il1E1yOejLEdKRRMqelGeJbHRjx4qFymf7N98BEdFzg=";
 
-  doCheck = false;
-
   meta = with lib; {
     description = "A stricter gofmt";
     homepage = "https://github.com/mvdan/gofumpt";
diff --git a/pkgs/development/tools/gojq/default.nix b/pkgs/development/tools/gojq/default.nix
index d78c587cfbd..08fe68e3a0a 100644
--- a/pkgs/development/tools/gojq/default.nix
+++ b/pkgs/development/tools/gojq/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, testVersion, gojq }:
+{ lib, buildGoModule, fetchFromGitHub, testers, gojq }:
 
 buildGoModule rec {
   pname = "gojq";
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" ];
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = gojq;
   };
 
diff --git a/pkgs/development/tools/gomplate/default.nix b/pkgs/development/tools/gomplate/default.nix
index 10f853a6523..087c4fcf3c3 100644
--- a/pkgs/development/tools/gomplate/default.nix
+++ b/pkgs/development/tools/gomplate/default.nix
@@ -2,21 +2,26 @@
 
 buildGoModule rec {
   pname = "gomplate";
-  version = "3.9.0";
+  version = "3.10.0";
   owner = "hairyhenderson";
   rev = "v${version}";
 
   src = fetchFromGitHub {
     inherit owner rev;
     repo = pname;
-    sha256 = "sha256-liy8cqn+hWoTOHchCY1LLu23tNvz7eGA+AN0d0APjC4=";
+    sha256 = "0dbi9saxbwcvypxc0s656ln9zq2vysx8dhrcz488nmy6rcpqiiah";
   };
 
-  vendorSha256 = "sha256-Ph9z/Tom7O7V7yZ/On+etty+Bl653HiY/J3d3yfweeQ=";
+  vendorSha256 = "0rvki8ghlbbaqgnjfsbs1jswj08jfzmnz9ilynv2c6kfkx9zs108";
 
-  # some tests require network access
   postPatch = ''
-    rm net/net_test.go
+    # some tests require network access
+    rm net/net_test.go \
+      internal/tests/integration/datasources_blob_test.go \
+      internal/tests/integration/datasources_git_test.go
+    # some tests rely on external tools we'd rather not depend on
+    rm internal/tests/integration/datasources_consul_test.go \
+      internal/tests/integration/datasources_vault*_test.go
   '';
 
   ldflags = [
diff --git a/pkgs/development/tools/gosec/default.nix b/pkgs/development/tools/gosec/default.nix
index ac653db1bf0..343ab9624ca 100644
--- a/pkgs/development/tools/gosec/default.nix
+++ b/pkgs/development/tools/gosec/default.nix
@@ -20,8 +20,6 @@ buildGoModule rec {
     "cmd/gosec"
   ];
 
-  doCheck = false;
-
   ldflags = [
     "-s"
     "-w"
diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix
index 0e9474e4f39..e311a4b8107 100644
--- a/pkgs/development/tools/hcloud/default.nix
+++ b/pkgs/development/tools/hcloud/default.nix
@@ -2,22 +2,23 @@
 
 buildGoModule rec {
   pname = "hcloud";
-  version = "1.29.0";
+  version = "1.29.5";
 
   src = fetchFromGitHub {
     owner = "hetznercloud";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-B5L4vK5JkcYHqdyxAsP+tBcA6PtM2Gd4JwtW5nMuIXQ=";
+    sha256 = "sha256-a+AXWr/60VFdNk+UkDYRXo5ib8LvaCVpjNi1GFrRVho=";
   };
 
-  nativeBuildInputs = [ installShellFiles ];
-
-  vendorSha256 = "sha256-3YU6vAIzTzkEwyMPH4QSUuQ1PQlrWnfRRCA1fHMny48=";
+  vendorSha256 = "sha256-iJnjmfP9BcT+OXotbS2+OSWGxQaMXwdlR1WTi04FesM=";
 
-  doCheck = false;
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/hetznercloud/cli/internal/version.Version=${version}"
+  ];
 
-  ldflags = [ "-s" "-w" "-X github.com/hetznercloud/cli/cli.Version=${version}" ];
+  nativeBuildInputs = [ installShellFiles ];
 
   postInstall = ''
     for shell in bash zsh; do
diff --git a/pkgs/development/tools/hjson-go/default.nix b/pkgs/development/tools/hjson-go/default.nix
index 3b2dc501521..1700bae1a48 100644
--- a/pkgs/development/tools/hjson-go/default.nix
+++ b/pkgs/development/tools/hjson-go/default.nix
@@ -1,23 +1,25 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "hjson-go";
-  version = "3.1.1";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "hjson";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yU1VkxwQ12CjzITR9X6LLaOfiteN+807rfB/tWcRR1c=";
+    sha256 = "sha256-plsiHxjrZXcnaqN8Frs+VuGwV7JOj8UwB0iibp3ApAk=";
   };
 
-  goPackagePath = "github.com/hjson/hjson-go";
+  vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
 
-  meta = with lib;
-    src.meta // {
-      description = "Utility to convert JSON to and from HJSON";
-      maintainers = with maintainers; [ ehmry ];
-      mainProgram = "hjson-cli";
-      license = licenses.mit;
-    };
+  ldflags = [ "-s" "-w" ];
+
+  meta = with lib; {
+    description = "Utility to convert JSON to and from HJSON";
+    homepage = "https://hjson.github.io/";
+    maintainers = with maintainers; [ ehmry ];
+    license = licenses.mit;
+    mainProgram = "hjson-cli";
+  };
 }
diff --git a/pkgs/development/tools/jdt-language-server/default.nix b/pkgs/development/tools/jdt-language-server/default.nix
new file mode 100644
index 00000000000..e79d212c7d4
--- /dev/null
+++ b/pkgs/development/tools/jdt-language-server/default.nix
@@ -0,0 +1,103 @@
+{ lib
+, stdenv
+, fetchurl
+, makeWrapper
+, jdk
+}:
+
+stdenv.mkDerivation rec {
+  pname = "jdt-language-server";
+  version = "1.8.0";
+  timestamp = "202201261434";
+
+  src = fetchurl {
+    url = "https://download.eclipse.org/jdtls/milestones/${version}/jdt-language-server-${version}-${timestamp}.tar.gz";
+    sha256 = "0wlnsr72hncdqrbpgfl9hgwqw9d9rppq4iymnjmgfn51rjcqadv8";
+  };
+
+  sourceRoot = ".";
+
+  buildInputs = [
+    jdk
+  ];
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  installPhase =
+    let
+      # The application ships with config directories for linux and mac
+      configDir = if stdenv.isDarwin then "config_mac" else "config_linux";
+    in
+    ''
+      # Copy jars
+      install -D -t $out/share/java/plugins/ plugins/*.jar
+
+      # Copy config directories for linux and mac
+      install -Dm 444 -t $out/share/config ${configDir}/*
+
+      # Get latest version of launcher jar
+      # e.g. org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar
+      launcher="$(ls $out/share/java/plugins/org.eclipse.equinox.launcher_* | sort -V | tail -n1)"
+
+      # The wrapper script will create a directory in the user's cache, copy in the config
+      # files since this dir can't be read-only, and by default use this as the runtime dir.
+      #
+      # The following options are required as per the upstream documentation:
+      #
+      #   -Declipse.application=org.eclipse.jdt.ls.core.id1
+      #   -Dosgi.bundles.defaultStartLevel=4
+      #   -Declipse.product=org.eclipse.jdt.ls.core.product
+      #   -noverify
+      #   --add-modules=ALL-SYSTEM
+      #   --add-opens java.base/java.util=ALL-UNNAMED
+      #   --add-opens java.base/java.lang=ALL-UNNAMED
+      #
+      # The following options configure the server to run without writing logs to the nix store:
+      #
+      #   -Dosgi.sharedConfiguration.area.readOnly=true
+      #   -Dosgi.checkConfiguration=true
+      #   -Dosgi.configuration.cascaded=true
+      #   -Dosgi.sharedConfiguration.area=$out/share/config
+      #
+      # Other options which the caller may change:
+      #
+      #   -Dlog.level:
+      #     Log level.
+      #     This can be overidden by setting JAVA_OPTS.
+      #
+      # The caller must specify the following:
+      #
+      #   -data:
+      #     The application stores runtime data here. We set this to <cache-dir>/$PWD
+      #     so that projects don't collide with each other.
+      #     This can be overidden by specifying -configuration to the wrapper.
+      #
+      # Java options, such as -Xms and Xmx can be specified by setting JAVA_OPTS.
+      #
+      makeWrapper ${jdk}/bin/java $out/bin/jdt-language-server \
+        --add-flags "-Declipse.application=org.eclipse.jdt.ls.core.id1" \
+        --add-flags "-Dosgi.bundles.defaultStartLevel=4" \
+        --add-flags "-Declipse.product=org.eclipse.jdt.ls.core.product" \
+        --add-flags "-Dosgi.sharedConfiguration.area=$out/share/config" \
+        --add-flags "-Dosgi.sharedConfiguration.area.readOnly=true" \
+        --add-flags "-Dosgi.checkConfiguration=true" \
+        --add-flags "-Dosgi.configuration.cascaded=true" \
+        --add-flags "-Dlog.level=ALL" \
+        --add-flags "-noverify" \
+        --add-flags "\$JAVA_OPTS" \
+        --add-flags "-jar $launcher" \
+        --add-flags "--add-modules=ALL-SYSTEM" \
+        --add-flags "--add-opens java.base/java.util=ALL-UNNAMED" \
+        --add-flags "--add-opens java.base/java.lang=ALL-UNNAMED"
+    '';
+
+  meta = with lib; {
+    homepage = "https://github.com/eclipse/eclipse.jdt.ls";
+    description = "Java language server";
+    license = licenses.epl20;
+    maintainers = with maintainers; [ matt-snider ];
+  };
+}
+
diff --git a/pkgs/development/tools/just/default.nix b/pkgs/development/tools/just/default.nix
index e5ad74d64c7..d9519130761 100644
--- a/pkgs/development/tools/just/default.nix
+++ b/pkgs/development/tools/just/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
-  version = "1.1.2";
+  version = "1.1.3";
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = version;
-    sha256 = "sha256-vUtJ9QVMmDGfkYTBoK8mVaJTEfNBQD5sTEp7kC0LNZw=";
+    sha256 = "sha256-2tKO0NyWFtRQgGrOKB3bROpDaIbQzTT4s2hGnBdZ6Fg=";
   };
 
-  cargoSha256 = "sha256-rJjLXktWnT6kRx1/18AFr6KciaFF8PaTpz27wz+vGug=";
+  cargoSha256 = "sha256-O5ntehb9ifWpBxBoOcFyyc8Ns6+SzHVOifUOD2QyhMY=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
diff --git a/pkgs/development/tools/kdash/default.nix b/pkgs/development/tools/kdash/default.nix
new file mode 100644
index 00000000000..90bd304c87c
--- /dev/null
+++ b/pkgs/development/tools/kdash/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenv
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, perl
+, python3
+, openssl
+, xorg
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "kdash";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "kdash-rs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "08ca638kvs98xhbc9g1szw0730cjk9g01qqaja8j413n2h1pr8yq";
+  };
+
+  nativeBuildInputs = [ perl python3 pkg-config ];
+
+  buildInputs = [ openssl xorg.xcbutil ];
+
+  cargoSha256 = "0nb554y8r7gvw7ls6gnrg98xxbws0mc6zdsc6ss3p2x9z8xwx204";
+
+  meta = with lib; {
+    description = "A simple and fast dashboard for Kubernetes";
+    homepage = "https://github.com/kdash-rs/kdash";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ matthiasbeyer ];
+  };
+}
diff --git a/pkgs/development/tools/krankerl/default.nix b/pkgs/development/tools/krankerl/default.nix
index 0061ca60bfc..d78fef8463d 100644
--- a/pkgs/development/tools/krankerl/default.nix
+++ b/pkgs/development/tools/krankerl/default.nix
@@ -6,7 +6,6 @@
 , dbus
 , sqlite
 , file
-, gzip
 , makeWrapper
 }:
 
@@ -25,7 +24,6 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [
     pkg-config
-    gzip
     makeWrapper
   ];
 
diff --git a/pkgs/development/tools/kube-linter/default.nix b/pkgs/development/tools/kube-linter/default.nix
index d234e458c18..e982cbfed17 100644
--- a/pkgs/development/tools/kube-linter/default.nix
+++ b/pkgs/development/tools/kube-linter/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, testVersion, kube-linter }:
+{ lib, buildGoModule, fetchFromGitHub, testers, kube-linter }:
 
 buildGoModule rec {
   pname = "kube-linter";
@@ -17,7 +17,7 @@ buildGoModule rec {
     "-s" "-w" "-X golang.stackrox.io/kube-linter/internal/version.version=${version}"
   ];
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = kube-linter;
     command = "kube-linter version";
   };
diff --git a/pkgs/development/tools/metals/default.nix b/pkgs/development/tools/metals/default.nix
index a4fd0ee2338..b7e8eca1b83 100644
--- a/pkgs/development/tools/metals/default.nix
+++ b/pkgs/development/tools/metals/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, lib, coursier, jdk, jre, makeWrapper }:
+{ stdenv, lib, coursier, jre, makeWrapper, setJavaClassPath }:
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "0.11.2";
+  version = "0.11.4";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
     buildCommand = ''
       export COURSIER_CACHE=$(pwd)
-      ${coursier}/bin/cs fetch org.scalameta:metals_2.12:${version} \
+      ${coursier}/bin/cs fetch org.scalameta:metals_2.13:${version} \
         -r bintray:scalacenter/releases \
         -r sonatype:snapshots > deps
       mkdir -p $out/share/java
@@ -16,11 +16,11 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "sha256-sriiHgKs2hC8inBGWuLM9qFfGgtcYqKHh0VZWNmg51U=";
+    outputHash     = "sha256-ZHl+uqYTSMEMR1CSo0btxEn/NQz7MNwh4JISm2L5B3Y=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ jdk deps ];
+  nativeBuildInputs = [ makeWrapper setJavaClassPath ];
+  buildInputs = [ deps ];
 
   dontUnpack = true;
 
@@ -32,24 +32,19 @@ stdenv.mkDerivation rec {
     # This variant is not targeted at any particular client, clients are
     # expected to declare their supported features in initialization options.
     makeWrapper ${jre}/bin/java $out/bin/metals \
-      --prefix PATH : ${lib.makeBinPath [ jdk ]} \
       --add-flags "${extraJavaOpts} -cp $CLASSPATH scala.meta.metals.Main"
 
     # Further variants targeted at clients with featuresets pre-set.
     makeWrapper ${jre}/bin/java $out/bin/metals-emacs \
-      --prefix PATH : ${lib.makeBinPath [ jdk ]} \
       --add-flags "${extraJavaOpts} -Dmetals.client=emacs -cp $CLASSPATH scala.meta.metals.Main"
 
     makeWrapper ${jre}/bin/java $out/bin/metals-vim \
-      --prefix PATH : ${lib.makeBinPath [ jdk ]} \
       --add-flags "${extraJavaOpts} -Dmetals.client=coc.nvim -cp $CLASSPATH scala.meta.metals.Main"
 
     makeWrapper ${jre}/bin/java $out/bin/metals-vim-lsc \
-      --prefix PATH : ${lib.makeBinPath [ jdk ]} \
       --add-flags "${extraJavaOpts} -Dmetals.client=vim-lsc -cp $CLASSPATH scala.meta.metals.Main"
 
     makeWrapper ${jre}/bin/java $out/bin/metals-sublime \
-      --prefix PATH : ${lib.makeBinPath [ jdk ]} \
       --add-flags "${extraJavaOpts} -Dmetals.client=sublime -cp $CLASSPATH scala.meta.metals.Main"
   '';
 
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 93b018b0d8b..da2b4864552 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -21,7 +21,7 @@ in
 , enableGold ? execFormatIsELF stdenv.targetPlatform
 , enableShared ? !stdenv.hostPlatform.isStatic
   # WARN: Enabling all targets increases output size to a multiple.
-, withAllTargets ? false, libbfd, libopcodes
+, withAllTargets ? false
 }:
 
 # WARN: configure silently disables ld.gold if it's unsupported, so we need to
@@ -183,11 +183,9 @@ stdenv.mkDerivation {
   # Fails
   doCheck = false;
 
-  postFixup = lib.optionalString (enableShared && withAllTargets) ''
-    rm "$out"/lib/lib{bfd,opcodes}-${version}.so
-    ln -s '${lib.getLib libbfd}/lib/libbfd-${version}.so' "$out/lib/"
-    ln -s '${lib.getLib libopcodes}/lib/libopcodes-${version}.so' "$out/lib/"
-  '';
+  # Remove on next bump. It's a vestige of past conditional. Stays here to avoid
+  # mass rebuild.
+  postFixup = "";
 
   # INFO: Otherwise it fails with:
   # `./sanity.sh: line 36: $out/bin/size: not found`
diff --git a/pkgs/development/tools/misc/blackfire/default.nix b/pkgs/development/tools/misc/blackfire/default.nix
index 6f82e073108..8ccc03c6e50 100644
--- a/pkgs/development/tools/misc/blackfire/default.nix
+++ b/pkgs/development/tools/misc/blackfire/default.nix
@@ -2,56 +2,96 @@
 , lib
 , fetchurl
 , dpkg
-, autoPatchelfHook
 , writeShellScript
 , curl
 , jq
 , common-updater-scripts
 }:
 
+let
+  version = "2.8.1";
+
+  sources = {
+    "x86_64-linux" = fetchurl {
+      url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_amd64.deb";
+      sha256 = "znaM00jM6yrpb+bGTxzJUxViCUzv4G+CYK2EB5dxhfY=";
+    };
+    "i686-linux" = fetchurl {
+      url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_i386.deb";
+      sha256 = "QIY4qGm333H5MWhe3CIfEieqTEk8st5A7SJHkwGnnxw=";
+    };
+    "aarch64-linux" = fetchurl {
+      url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_arm64.deb";
+      sha256 = "eZbKoKYC2tt4Rxn5OJr7iA1aJlYFC0tpRmbLq7qSrIU=";
+    };
+    "aarch64-darwin" = fetchurl {
+      url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_arm64.pkg.tar.gz";
+      sha256 = "tn2vF3v7KfF7CfWqyydL5Iyh5tP9Tez87PJH+URgSIw=";
+    };
+    "x86_64-darwin" = fetchurl {
+      url = "https://packages.blackfire.io/blackfire/${version}/blackfire-darwin_amd64.pkg.tar.gz";
+      sha256 = "CRFlnqpX4j2CMGzS+UvXwNty2mHpONOjym6UJPE2Yg4=";
+    };
+  };
+in
 stdenv.mkDerivation rec {
   pname = "blackfire";
-  version = "2.5.2";
+  inherit version;
 
-  src = fetchurl {
-    url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire/blackfire_${version}_amd64.deb";
-    sha256 = "1RO5yabSNpIz5lWXngMOZ1S2vtnLEkXIj1ZoIinRrQ0=";
-  };
+  src = sources.${stdenv.hostPlatform.system};
 
-  nativeBuildInputs = [
-    dpkg
-    autoPatchelfHook
-  ];
+  nativeBuildInputs = lib.optionals stdenv.isLinux [ dpkg ];
 
   dontUnpack = true;
 
   installPhase = ''
     runHook preInstall
 
-    dpkg-deb -x $src $out
-    mv $out/usr/* $out
-    rmdir $out/usr
+    if ${ lib.boolToString stdenv.isLinux }
+    then
+      dpkg-deb -x $src $out
+      mv $out/usr/* $out
+      rmdir $out/usr
+
+      # Fix ExecStart path and replace deprecated directory creation method,
+      # use dynamic user.
+      substituteInPlace "$out/lib/systemd/system/blackfire-agent.service" \
+        --replace '/usr/' "$out/" \
+        --replace 'ExecStartPre=/bin/mkdir -p /var/run/blackfire' 'RuntimeDirectory=blackfire' \
+        --replace 'ExecStartPre=/bin/chown blackfire: /var/run/blackfire' "" \
+        --replace 'User=blackfire' 'DynamicUser=yes' \
+        --replace 'PermissionsStartOnly=true' ""
 
-    # Fix ExecStart path and replace deprecated directory creation method,
-    # use dynamic user.
-    substituteInPlace "$out/lib/systemd/system/blackfire-agent.service" \
-      --replace '/usr/' "$out/" \
-      --replace 'ExecStartPre=/bin/mkdir -p /var/run/blackfire' 'RuntimeDirectory=blackfire' \
-      --replace 'ExecStartPre=/bin/chown blackfire: /var/run/blackfire' "" \
-      --replace 'User=blackfire' 'DynamicUser=yes' \
-      --replace 'PermissionsStartOnly=true' ""
+      # Modernize socket path.
+      substituteInPlace "$out/etc/blackfire/agent" \
+        --replace '/var/run' '/run'
+    else
+      mkdir $out
 
-    # Modernize socket path.
-    substituteInPlace "$out/etc/blackfire/agent" \
-      --replace '/var/run' '/run'
+      tar -zxvf $src
+
+      mv etc $out
+      mv usr/* $out
+    fi
 
     runHook postInstall
   '';
 
   passthru = {
     updateScript = writeShellScript "update-${pname}" ''
+      set -o errexit
       export PATH="${lib.makeBinPath [ curl jq common-updater-scripts ]}"
-      update-source-version "$UPDATE_NIX_ATTR_PATH" "$(curl https://blackfire.io/api/v1/releases | jq .cli --raw-output)"
+      NEW_VERSION=$(curl -s https://blackfire.io/api/v1/releases | jq .cli --raw-output)
+
+      if [[ "${version}" = "$NEW_VERSION" ]]; then
+          echo "The new version same as the old version."
+          exit 0
+      fi
+
+      for platform in ${lib.concatStringsSep " " meta.platforms}; do
+        update-source-version "blackfire" "0" "${lib.fakeSha256}" "--system=$platform"
+        update-source-version "blackfire" "$NEW_VERSION" "--system=$platform" --ignore-same-hash
+      done
     '';
   };
 
@@ -59,7 +99,7 @@ stdenv.mkDerivation rec {
     description = "Blackfire Profiler agent and client";
     homepage = "https://blackfire.io/";
     license = licenses.unfree;
-    maintainers = with maintainers; [ jtojnar ];
-    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ jtojnar shyim ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" ];
   };
 }
diff --git a/pkgs/development/tools/misc/blackfire/php-probe.nix b/pkgs/development/tools/misc/blackfire/php-probe.nix
index cffc73b2dce..7abca124920 100644
--- a/pkgs/development/tools/misc/blackfire/php-probe.nix
+++ b/pkgs/development/tools/misc/blackfire/php-probe.nix
@@ -11,55 +11,197 @@
 }:
 
 let
+  phpMajor = lib.versions.majorMinor php.version;
   soFile = {
-    "7.3" = "blackfire-20180731";
     "7.4" = "blackfire-20190902";
     "8.0" = "blackfire-20200930";
     "8.1" = "blackfire-20210902";
-  }.${lib.versions.majorMinor php.version} or (throw "Unsupported PHP version.");
-in stdenv.mkDerivation rec {
+  }.${phpMajor} or (throw "Unsupported PHP version.");
+
+  version = "1.77.0";
+
+  hashes = {
+    "x86_64-linux" = {
+      system = "amd64";
+      sha256 = "oC4pANYT2XtF3ju+pT2TCb6iJSlNm6t+Xkawb88xWUo=";
+    };
+    "i686-linux" = {
+      system = "i386";
+      sha256 = "zdebak5RWuPqCJ3eReKjtDLnCXtjtVFnSqvqC4U0+RE=";
+    };
+    "aarch64-linux" = {
+      system = "arm64";
+      sha256 = "5J1JcD/ZFxV0FWaySv037x1xjmCdM/zHiBfmRuCidjs=";
+    };
+    "aarch64-darwin" = {
+      system = "arm64";
+      sha256 = {
+        "7.4" = {
+          normal = "vKOH+yPDyf8KxX0DoEnrp2HXYfDAxVD708MZrRGMEEk=";
+          zts = "cpeOtDRhPA35utai8G1Dosuqhf76hiqvwe+Em9cFhDo=";
+        };
+        "8.0" = {
+          normal = "v6PD1+Ghvtoq1wzAXwqi9elyC9/NwzX0EDdtQtCfeL4=";
+          zts = "Dqs0P8X7ScDJCPYKuqlumnLz4kB7cEOnVbDACQ02sko=";
+        };
+        "8.1" = {
+          normal = "mCZ1avC8FsqYdGYNepeqWgSK2kqVo1E0VjhofxdaSyk=";
+          zts = "zliaM2VbaDEgNBr5ETe1GdYNyTZy5te92LedZiolx/8=";
+        };
+      };
+    };
+    "x86_64-darwin" = {
+      system = "amd64";
+      sha256 = {
+        "7.4" = {
+          normal = "nLsrpRnR9zo3d/a0+TFBlNcAebknpBQc101ysqPs+dU=";
+          zts = "o7R8zmhIOtiNDS8Se3Dog+cn9HyTHzS4jquXdzGQQOU=";
+        };
+        "8.0" = {
+          normal = "Pe2/GNDiS5DuSXCffO0jo5dRl0qkh1RgBVL3JzLwVkQ=";
+          zts = "zu7QgaKbBNQkby7bLv+NKLSIa79UXMONEf171EO+uNE=";
+        };
+        "8.1" = {
+          normal = "3SOlLeLCM4crWY6U+/zmtWmNYg2j0HC/3FWCmCi7lOo=";
+          zts = "GG8s+Pd0K6SEUzRV96Ba2mYfLgQMuGNzRoUtmz9m0NY=";
+        };
+      };
+    };
+  };
+
+  makeSource =
+    {
+      system,
+      phpMajor,
+      ztsSupport,
+    }:
+
+    let
+      isLinux = builtins.match ".+-linux" system != null;
+    in
+    assert !isLinux -> (phpMajor != null && ztsSupport != null);
+    fetchurl {
+      url =
+        if isLinux
+        then "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-php_${version}_${hashes.${system}.system}.deb"
+        else "https://packages.blackfire.io/homebrew/blackfire-php_${version}-darwin_${hashes.${system}.system}-php${builtins.replaceStrings ["."] [""] phpMajor}${lib.optionalString ztsSupport "-zts"}.tar.gz";
+      sha256 =
+        if isLinux
+        then hashes.${system}.sha256
+        else hashes.${system}.sha256.${phpMajor}.${if ztsSupport then "zts" else "normal"};
+    };
+self = stdenv.mkDerivation rec {
   pname = "php-blackfire";
-  version = "1.75.0";
+  inherit version;
 
-  src = fetchurl {
-    url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-php_${version}_amd64.deb";
-    sha256 = "MsmQJSEr1GOqzw2jq77ZJn13AYqMIGY+yez6dMxyOMo=";
+  src = makeSource {
+    system = stdenv.hostPlatform.system;
+    inherit phpMajor;
+    inherit (php) ztsSupport;
   };
 
-  nativeBuildInputs = [
+  nativeBuildInputs = lib.optionals stdenv.isLinux [
     dpkg
     autoPatchelfHook
   ];
 
-  unpackPhase = ''
-    runHook preUnpack
+  setSourceRoot = if stdenv.isDarwin then "sourceRoot=`pwd`" else null;
 
+  unpackPhase = if stdenv.isLinux then ''
+    runHook preUnpack
     dpkg-deb -x $src pkg
     sourceRoot=pkg
 
     runHook postUnpack
-  '';
+  '' else null;
 
   installPhase = ''
     runHook preInstall
 
-    install -D usr/lib/blackfire-php/amd64/${soFile}${lib.optionalString php.ztsSupport "-zts"}.so $out/lib/php/extensions/blackfire.so
+    if ${ lib.boolToString stdenv.isLinux }
+    then
+        install -D usr/lib/blackfire-php/*/${soFile}${lib.optionalString php.ztsSupport "-zts"}.so $out/lib/php/extensions/blackfire.so
+    else
+        install -D blackfire.so $out/lib/php/extensions/blackfire.so
+    fi
 
     runHook postInstall
   '';
 
   passthru = {
     updateScript = writeShellScript "update-${pname}" ''
+      set -o errexit
       export PATH="${lib.makeBinPath [ curl jq common-updater-scripts ]}"
-      update-source-version "$UPDATE_NIX_ATTR_PATH" "$(curl https://blackfire.io/api/v1/releases | jq .probe.php --raw-output)"
+      NEW_VERSION=$(curl --silent https://blackfire.io/api/v1/releases | jq .probe.php --raw-output)
+
+      if [[ "${version}" = "$NEW_VERSION" ]]; then
+          echo "The new version same as the old version."
+          exit 0
+      fi
+
+      for source in ${lib.concatStringsSep " " (builtins.attrNames passthru.updateables)}; do
+        update-source-version "$UPDATE_NIX_ATTR_PATH.updateables.$source" "0" "${lib.fakeSha256}"
+        update-source-version "$UPDATE_NIX_ATTR_PATH.updateables.$source" "$NEW_VERSION"
+      done
     '';
+
+    # All sources for updating by the update script.
+    updateables =
+      let
+        createName =
+          path:
+
+          builtins.replaceStrings [ "." ] [ "_" ] (lib.concatStringsSep "_" path);
+
+        createSourceParams =
+          path:
+
+          let
+            # The path will be either [«system» sha256], or [«system» sha256 «phpMajor» «zts»],
+            # Let’s skip the sha256.
+            rest = builtins.tail (builtins.tail path);
+          in {
+            system =
+              builtins.head path;
+            phpMajor =
+              if builtins.length rest == 0
+              then null
+              else builtins.head rest;
+            ztsSupport =
+              if builtins.length rest == 0
+              then null
+              else
+                builtins.head (builtins.tail rest) == "zts";
+          };
+
+          createUpdateable =
+            path:
+            _value:
+
+            lib.nameValuePair
+              (createName path)
+              (self.overrideAttrs (attrs: {
+                src = makeSource (createSourceParams path);
+              }));
+
+          hashesOnly =
+            # Filter out all attributes other than hashes.
+            lib.filterAttrsRecursive (name: _value: name != "system") hashes;
+      in
+      builtins.listToAttrs
+        # Collect all leaf attributes (containing hashes).
+        (lib.collect
+          (attrs: attrs ? name)
+          (lib.mapAttrsRecursive createUpdateable hashesOnly));
   };
 
   meta = with lib; {
     description = "Blackfire Profiler PHP module";
     homepage = "https://blackfire.io/";
     license = licenses.unfree;
-    maintainers = with maintainers; [ jtojnar ];
-    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ jtojnar shyim ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" ];
   };
-}
+};
+in
+self
diff --git a/pkgs/development/tools/misc/circleci-cli/default.nix b/pkgs/development/tools/misc/circleci-cli/default.nix
index 4aa1b8c0b91..19984886207 100644
--- a/pkgs/development/tools/misc/circleci-cli/default.nix
+++ b/pkgs/development/tools/misc/circleci-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "circleci-cli";
-  version = "0.1.17110";
+  version = "0.1.17142";
 
   src = fetchFromGitHub {
     owner = "CircleCI-Public";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zCX6LWIPiHDOnSBE+BeePjeQ1evTWhLY0Pqk7NmMMlc=";
+    sha256 = "sha256-69GGJfnOHry+N3hKZapKz6eFSerqIHt4wRAhm/q/SOQ=";
   };
 
   vendorSha256 = "sha256-7u2y1yBVpXf+D19tslD4s3B1KmABl4OWNzzLaBNL/2U=";
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix
index 4dc63d54f14..4b8278f94ac 100644
--- a/pkgs/development/tools/misc/clojure-lsp/default.nix
+++ b/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -2,18 +2,18 @@
 
 buildGraalvmNativeImage rec {
   pname = "clojure-lsp";
-  version = "2022.04.18-00.59.32";
+  version = "2022.05.03-12.35.40";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-14EsJIKYl8TWbDqM9PyVrbs/4EssqXp0EK70RrFz+RE=";
+    sha256 = "sha256-5jh4umT93P53ufgdKYHNtiDJ1QpoJ8QpfAti0+tmvmc=";
   };
 
   jar = fetchurl {
     url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp-standalone.jar";
-    sha256 = "d78094b015bd9e671eea2eb89ca0bb3ec58d39802ad1bfdf875b50e1cdd4995e";
+    sha256 = "b4984b5d8411542ec7d4732c950340d16e379ad76c40e57c3d41a8e7adda2faf";
   };
 
   extraNativeImageBuildArgs = [
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index a394ee61577..d105dd61665 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -89,6 +89,6 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://wiki.gnome.org/Apps/DFeet";
     platforms = platforms.linux;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ ktosiek ];
+    maintainers = teams.gnome.members;
   };
 }
diff --git a/pkgs/development/tools/misc/devspace/default.nix b/pkgs/development/tools/misc/devspace/default.nix
new file mode 100644
index 00000000000..df59686b2b9
--- /dev/null
+++ b/pkgs/development/tools/misc/devspace/default.nix
@@ -0,0 +1,37 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "devspace";
+  version = "5.18.4";
+
+  src = fetchFromGitHub {
+    owner = "loft-sh";
+    repo = "devspace";
+    rev = "v${version}";
+    sha256 = "0s5117cgxgrxfki5drvg6d22dvrjffa03bi644zdl1p631r599r1";
+  };
+
+  vendorSha256 = null;
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.version=${version}"
+  ];
+
+  # Check are disable since they requiered a working K8S cluster
+  # TODO: add a nixosTest to be able to perform the package check
+  doCheck = false;
+
+  meta = with lib; {
+    description = "DevSpace is an open-source developer tool for Kubernetes that lets you develop and deploy cloud-native software faster";
+    homepage = "https://devspace.sh/";
+    changelog = "https://github.com/loft-sh/devspace/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ darkonion0 ];
+  };
+}
diff --git a/pkgs/development/tools/misc/go-license-detector/default.nix b/pkgs/development/tools/misc/go-license-detector/default.nix
index fc69d8cdd12..11e7547afc4 100644
--- a/pkgs/development/tools/misc/go-license-detector/default.nix
+++ b/pkgs/development/tools/misc/go-license-detector/default.nix
@@ -1,23 +1,23 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, git }:
 
 buildGoModule rec {
   pname = "go-license-detector";
-  version = "3.1.0";
+  version = "4.3.0";
 
   src = fetchFromGitHub {
-    owner = "src-d";
+    owner = "go-enry";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ln1z3y9q5igf9djkxw05ql2hb1ijcvvz0mrbwz11cdv9xrsa4z4";
+    sha256 = "sha256-MubQpxpUCPDBVsEz4NmY8MFEoECXQtzAaZJ89vv5bDc=";
   };
 
-  vendorSha256 = "0gan5l7vsq0hixxcymhhs8p07v92w60r0lhgvrr9a99nic12vmia";
+  vendorSha256 = "sha256-a9yCnGg+4f+UoHbGG8a47z2duBD3qXcAzPKnE4PQsvM=";
 
-  doCheck = false;
+  checkInputs = [ git ];
 
   meta = with lib; {
     description = "Reliable project licenses detector";
-    homepage = "https://github.com/src-d/go-license-detector";
+    homepage = "https://github.com/go-enry/go-license-detector";
     license = licenses.asl20;
     maintainers = with maintainers; [ dtzWill ];
     mainProgram = "license-detector";
diff --git a/pkgs/development/tools/misc/mkcert/default.nix b/pkgs/development/tools/misc/mkcert/default.nix
index bfd55157009..57a5f4d462a 100644
--- a/pkgs/development/tools/misc/mkcert/default.nix
+++ b/pkgs/development/tools/misc/mkcert/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "mkcert";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "FiloSottile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0q0069ripnpb027krc4yk47552xl5rp0ymxf1j2mln9wdmfq65ba";
+    sha256 = "sha256-FMAXjRL+kJ/hwGmaWBy8ecON+JCMgRytfpryeLWsSVc=";
   };
 
-  vendorSha256 = "133vlx825g4zay88ppylsz93q4gnd9ari12x1h57qvk45rwxqx95";
+  vendorSha256 = "sha256-DdA7s+N5S1ivwUgZ+M2W/HCp/7neeoqRQL0umn3m6Do=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/misc/patchelf/0.13.nix b/pkgs/development/tools/misc/patchelf/0.13.nix
new file mode 100644
index 00000000000..0111a4b065c
--- /dev/null
+++ b/pkgs/development/tools/misc/patchelf/0.13.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, patchelf }:
+
+# Note: this package is used for bootstrapping fetchurl, and thus
+# cannot use fetchpatch! All mutable patches (generated by GitHub or
+# cgit) that are needed here should be included directly in Nixpkgs as
+# files.
+
+stdenv.mkDerivation rec {
+  pname = "patchelf";
+  version = "0.13.1";
+
+  src = fetchurl {
+    url = "https://github.com/NixOS/${pname}/releases/download/${version}/${pname}-${version}.tar.bz2";
+    sha256 = "sha256-OeiuzNdJXVTfCU0rSnwIAQ/3d3A2+q8k8o4Hd30VmOI=";
+  };
+
+  setupHook = [ ./setup-hook.sh ];
+
+  # fails 8 out of 24 tests, problems when loading libc.so.6
+  doCheck = stdenv.name == "stdenv-linux";
+
+  inherit (patchelf) meta;
+}
diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix
index 6919cd0f23f..03e3d003ad1 100644
--- a/pkgs/development/tools/misc/patchelf/default.nix
+++ b/pkgs/development/tools/misc/patchelf/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/NixOS/patchelf";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     description = "A small utility to modify the dynamic linker and RPATH of ELF executables";
     maintainers = [ maintainers.eelco ];
     platforms = platforms.all;
diff --git a/pkgs/development/tools/misc/saleae-logic-2/default.nix b/pkgs/development/tools/misc/saleae-logic-2/default.nix
index 3b9ae267d70..c3349661c55 100644
--- a/pkgs/development/tools/misc/saleae-logic-2/default.nix
+++ b/pkgs/development/tools/misc/saleae-logic-2/default.nix
@@ -1,10 +1,10 @@
 { lib, fetchurl, makeDesktopItem, appimageTools, gtk3 }:
 let
   name = "saleae-logic-2";
-  version = "2.3.47";
+  version = "2.3.51";
   src = fetchurl {
     url = "https://downloads.saleae.com/logic2/Logic-${version}-master.AppImage";
-    sha256 = "sha256-6/FtdupveKnbAK6LizmJ6BokE0kXgUaMz0sOWi+Fq8k=";
+    sha256 = "sha256-Z5GPA1cJbQJOjntWXe1uF26e7nJ99+ANoCP57Y/OO5A=";
   };
   desktopItem = makeDesktopItem {
     inherit name;
diff --git a/pkgs/development/tools/misc/universal-ctags/default.nix b/pkgs/development/tools/misc/universal-ctags/default.nix
index 51ea6302743..240d8a1f10d 100644
--- a/pkgs/development/tools/misc/universal-ctags/default.nix
+++ b/pkgs/development/tools/misc/universal-ctags/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = [ autoreconfHook coreutils pkg-config python3Packages.docutils ];
+  nativeBuildInputs = [ autoreconfHook pkg-config python3Packages.docutils ];
   buildInputs = [ jansson ] ++ lib.optional stdenv.isDarwin libiconv;
 
   # to generate makefile.in
diff --git a/pkgs/development/tools/mockgen/default.nix b/pkgs/development/tools/mockgen/default.nix
index af3e21afc91..56615d9b700 100644
--- a/pkgs/development/tools/mockgen/default.nix
+++ b/pkgs/development/tools/mockgen/default.nix
@@ -1,19 +1,24 @@
-{ buildGoModule, lib, fetchFromGitHub }:
+{ buildGoModule, fetchFromGitHub, lib }:
+
 buildGoModule rec {
   pname = "mockgen";
   version = "1.6.0";
+
   src = fetchFromGitHub {
     owner = "golang";
     repo = "mock";
     rev = "v${version}";
     sha256 = "sha256-5Kp7oTmd8kqUN+rzm9cLqp9nb3jZdQyltGGQDiRSWcE=";
   };
-  vendorSha256 = "sha256-5gkrn+OxbNN8J1lbgbxM8jACtKA7t07sbfJ7gVJWpJM=";
 
-  doCheck = false;
+  vendorSha256 = "sha256-5gkrn+OxbNN8J1lbgbxM8jACtKA7t07sbfJ7gVJWpJM=";
 
   subPackages = [ "mockgen" ];
 
+  preCheck = ''
+    export GOROOT="$(go env GOROOT)"
+  '';
+
   meta = with lib; {
     description = "GoMock is a mocking framework for the Go programming language";
     homepage = "https://github.com/golang/mock";
diff --git a/pkgs/development/tools/mold/default.nix b/pkgs/development/tools/mold/default.nix
index 491afd68bbb..514835e81e4 100644
--- a/pkgs/development/tools/mold/default.nix
+++ b/pkgs/development/tools/mold/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mold";
-  version = "1.1.1";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "rui314";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+uPVt3w3A25JFyENxqhAcjZMRzSowi2uHwGjkeQP8Og=";
+    sha256 = "sha256-qrIaHDjPiOzQ8Gi7aPT0BM9oIgWr1IdcT7vvYmsea7k=";
   };
 
   buildInputs = [ zlib openssl ];
diff --git a/pkgs/development/tools/mustache-go/default.nix b/pkgs/development/tools/mustache-go/default.nix
index 7e21d415c79..70997a7a29d 100644
--- a/pkgs/development/tools/mustache-go/default.nix
+++ b/pkgs/development/tools/mustache-go/default.nix
@@ -1,18 +1,21 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "mustache-go";
-  version = "1.3.0";
-
-  goPackagePath = "github.com/cbroglie/mustache";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "cbroglie";
     repo = "mustache";
     rev = "v${version}";
-    sha256 = "sha256-Z33hHOcx2K34v3j/qFD1VqeuUaqH0jqoMsVZQnLFx4U=";
+    fetchSubmodules = true;
+    sha256 = "sha256-3mGxbgxZFL05ZKn6T85tYYjaEkEJbIUkCwlNJTwoIfc=";
   };
 
+  vendorSha256 = "sha256-FYdsLcW6FYxSgixZ5US9cBPABOAVwidC3ejUNbs1lbA=";
+
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     homepage = "https://github.com/cbroglie/mustache";
     description = "The mustache template language in Go";
diff --git a/pkgs/development/tools/mysql-shell/default.nix b/pkgs/development/tools/mysql-shell/default.nix
index caa790e9fd4..c54cda1ad27 100644
--- a/pkgs/development/tools/mysql-shell/default.nix
+++ b/pkgs/development/tools/mysql-shell/default.nix
@@ -31,7 +31,6 @@
 , CoreServices
 , developer_cmds
 , DarwinTools
-, testVersion
 , mysql-shell
 }:
 
diff --git a/pkgs/development/tools/ocaml/cppo/ocamlbuild.nix b/pkgs/development/tools/ocaml/cppo/ocamlbuild.nix
index 633dc6bc7bf..d0627480ea1 100644
--- a/pkgs/development/tools/ocaml/cppo/ocamlbuild.nix
+++ b/pkgs/development/tools/ocaml/cppo/ocamlbuild.nix
@@ -1,6 +1,6 @@
 { lib, buildDunePackage, cppo, ocamlbuild }:
 
-if !lib.versionAtLeast (lib.getVersion cppo) "1.6"
+if lib.versionOlder (lib.getVersion cppo) "1.6"
 then cppo
 else
 
diff --git a/pkgs/development/tools/ocaml/dune/1.nix b/pkgs/development/tools/ocaml/dune/1.nix
index 74deb9d2fa5..d6d3863afab 100644
--- a/pkgs/development/tools/ocaml/dune/1.nix
+++ b/pkgs/development/tools/ocaml/dune/1.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, ocaml, findlib, ncurses }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if lib.versionOlder ocaml.version "4.02"
 || lib.versionAtLeast ocaml.version "4.12"
 then throw "dune 1 is not available for OCaml ${ocaml.version}"
 else
diff --git a/pkgs/development/tools/ocaml/dune/3.nix b/pkgs/development/tools/ocaml/dune/3.nix
index a43c88671f8..de661948b9c 100644
--- a/pkgs/development/tools/ocaml/dune/3.nix
+++ b/pkgs/development/tools/ocaml/dune/3.nix
@@ -6,11 +6,11 @@ else
 
 stdenv.mkDerivation rec {
   pname = "dune";
-  version = "3.1.0";
+  version = "3.1.1";
 
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/fiber-${version}.tbz";
-    sha256 = "sha256-B31SCwhFxW4Q7FhW18ZuvnofG+pKMCfRgvRLJSlRnYE=";
+    sha256 = "sha256-AkhEVKsbmYhAx4c1CexrIwHrkmYsEy749fT1abNaa2A=";
   };
 
   nativeBuildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/tools/ocaml/merlin/4.x.nix b/pkgs/development/tools/ocaml/merlin/4.x.nix
index 2d030b2d156..635273bcfd2 100644
--- a/pkgs/development/tools/ocaml/merlin/4.x.nix
+++ b/pkgs/development/tools/ocaml/merlin/4.x.nix
@@ -48,7 +48,7 @@ buildDunePackage {
       dot_merlin_reader = "${dot-merlin-reader}/bin/dot-merlin-reader";
       dune = "${dune_2}/bin/dune";
     })
-  ] ++ lib.optional (!lib.versionAtLeast ocaml.version "4.12")
+  ] ++ lib.optional (lib.versionOlder ocaml.version "4.12")
     # This fixes the test-suite on macOS
     # See https://github.com/ocaml/merlin/pull/1399
     # Fixed in 4.4 for OCaml ≥ 4.12
diff --git a/pkgs/development/tools/omnisharp-roslyn/create-deps.sh b/pkgs/development/tools/omnisharp-roslyn/create-deps.sh
index 46cbb06951b..c1b5da12473 100755
--- a/pkgs/development/tools/omnisharp-roslyn/create-deps.sh
+++ b/pkgs/development/tools/omnisharp-roslyn/create-deps.sh
@@ -1,13 +1,19 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -I nixpkgs=../../../../.. -i bash -p dotnet-sdk_6 jq xmlstarlet curl
+#!nix-shell -I nixpkgs=../../../.. -i bash -p dotnet-sdk_6 jq xmlstarlet curl
 set -euo pipefail
 
 cat << EOL
 { fetchurl }: [
 EOL
 
+# enter a temporary directory containing the source code, copied from the derivation
+srcdir="$(mktemp -d)"
+cp -r "$(nix-build -A omnisharp-roslyn.src ../../../..)"/. "$srcdir"
+rm -f "$srcdir"/global.json
+
+pushd $srcdir >&2
+
 tmpdir="$(mktemp -d -p "$(pwd)")" # must be under source root
-trap 'rm -rf "$tmpdir"' EXIT
 
 mapfile -t repos < <(
     xmlstarlet sel -t -v 'configuration/packageSources/add/@value' -n NuGet.Config |
@@ -20,7 +26,7 @@ mapfile -t repos < <(
 
 dotnet msbuild -t:restore -p:Configuration=Release -p:RestorePackagesPath="$tmpdir" \
         -p:RestoreNoCache=true -p:RestoreForce=true \
-        src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj >&2
+        "$srcdir/src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj" >&2
 
 cd "$tmpdir"
 for package in *
@@ -64,3 +70,5 @@ cd ..
 cat << EOL
 ]
 EOL
+
+popd >&2
diff --git a/pkgs/development/tools/omnisharp-roslyn/default.nix b/pkgs/development/tools/omnisharp-roslyn/default.nix
index d40248a5234..a76e57ad426 100644
--- a/pkgs/development/tools/omnisharp-roslyn/default.nix
+++ b/pkgs/development/tools/omnisharp-roslyn/default.nix
@@ -95,6 +95,11 @@ in stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     cp -r bin/Release/OmniSharp.Stdio.Driver/net6.0 $out/src
+
+    # Delete files to mimick hacks in https://github.com/OmniSharp/omnisharp-roslyn/blob/bdc14ca/build.cake#L594
+    rm $out/src/NuGet.*.dll
+    rm $out/src/System.Configuration.ConfigurationManager.dll
+
     makeWrapper $out/src/OmniSharp $out/bin/omnisharp \
       --prefix DOTNET_ROOT : ${dotnet-sdk} \
       --suffix PATH : ${dotnet-sdk}/bin
diff --git a/pkgs/development/tools/omnisharp-roslyn/deps.nix b/pkgs/development/tools/omnisharp-roslyn/deps.nix
index 0d3bba7722b..653194f5c85 100644
--- a/pkgs/development/tools/omnisharp-roslyn/deps.nix
+++ b/pkgs/development/tools/omnisharp-roslyn/deps.nix
@@ -65,26 +65,26 @@
   }
   {
     pname = "microsoft.aspnetcore.app.runtime.win-arm64";
-    version = "6.0.3";
+    version = "6.0.4";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.app.runtime.win-arm64/6.0.3/microsoft.aspnetcore.app.runtime.win-arm64.6.0.3.nupkg";
-      sha256 = "0wxnwqg43hd1hk07j1wqhfrwbjm5ly7bsy9z2jgy9zf8lya4qs9a";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.app.runtime.win-arm64/6.0.4/microsoft.aspnetcore.app.runtime.win-arm64.6.0.4.nupkg";
+      sha256 = "1sn2jlqzyiszrxscd3ah7sfvv065xc3vjky34qy81wdmyvxwhkba";
     };
   }
   {
     pname = "microsoft.aspnetcore.app.runtime.win-x64";
-    version = "6.0.3";
+    version = "6.0.4";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.app.runtime.win-x64/6.0.3/microsoft.aspnetcore.app.runtime.win-x64.6.0.3.nupkg";
-      sha256 = "11kv50kll3iq88kn40f5v5qlq8mydv6y6xz2cbzjw4aadd44njwq";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.app.runtime.win-x64/6.0.4/microsoft.aspnetcore.app.runtime.win-x64.6.0.4.nupkg";
+      sha256 = "1sqv7vhkm4j11rl7mfvs4mmmclcdps2n4pf31ck2mcx54nr4d2kj";
     };
   }
   {
     pname = "microsoft.aspnetcore.app.runtime.win-x86";
-    version = "6.0.3";
+    version = "6.0.4";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.app.runtime.win-x86/6.0.3/microsoft.aspnetcore.app.runtime.win-x86.6.0.3.nupkg";
-      sha256 = "1c1qx840hwcp6a26dbx10f24pw9kzlvr15w3s1pakldygng5skwm";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.app.runtime.win-x86/6.0.4/microsoft.aspnetcore.app.runtime.win-x86.6.0.4.nupkg";
+      sha256 = "0v7bpbl7bif1qlkdc0p10l69amf4vpzdd8bgz2455h6zxwjc1hy4";
     };
   }
   {
@@ -553,50 +553,50 @@
   }
   {
     pname = "microsoft.netcore.app.host.win-arm64";
-    version = "6.0.3";
+    version = "6.0.4";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.host.win-arm64/6.0.3/microsoft.netcore.app.host.win-arm64.6.0.3.nupkg";
-      sha256 = "1dhdr3ccaag3yb803qswkm1zvvwc9q6m3d9nvxvb5f8m94rsbhka";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.host.win-arm64/6.0.4/microsoft.netcore.app.host.win-arm64.6.0.4.nupkg";
+      sha256 = "1bnfb4yxdandddr36j5gkpaqym5pm971rp7gc8nkp3xmff4fnmc0";
     };
   }
   {
     pname = "microsoft.netcore.app.host.win-x64";
-    version = "6.0.3";
+    version = "6.0.4";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.host.win-x64/6.0.3/microsoft.netcore.app.host.win-x64.6.0.3.nupkg";
-      sha256 = "1y428glba68s76icjzfl1v3p61pcz7rd78wybhabs8zq8w9cp2pj";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.host.win-x64/6.0.4/microsoft.netcore.app.host.win-x64.6.0.4.nupkg";
+      sha256 = "1qasm6j25lmcc4xn7f7s3jli1pypz1kfnj7j9dkjlx9mc8r356zp";
     };
   }
   {
     pname = "microsoft.netcore.app.host.win-x86";
-    version = "6.0.3";
+    version = "6.0.4";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.host.win-x86/6.0.3/microsoft.netcore.app.host.win-x86.6.0.3.nupkg";
-      sha256 = "0byyxiv8253zgymn0vwz8zxyasmhdwj891gxg3ydgnc2qf23f16g";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.host.win-x86/6.0.4/microsoft.netcore.app.host.win-x86.6.0.4.nupkg";
+      sha256 = "16chkjf2fc2d4bd7wccxkgb5n44dpb6admchmg8mx3mlg0n24bwa";
     };
   }
   {
     pname = "microsoft.netcore.app.runtime.win-arm64";
-    version = "6.0.3";
+    version = "6.0.4";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.runtime.win-arm64/6.0.3/microsoft.netcore.app.runtime.win-arm64.6.0.3.nupkg";
-      sha256 = "022kld62v6npxx27mvllg3nv7rpw142q49zwgprzvrxgnn5zszq1";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.runtime.win-arm64/6.0.4/microsoft.netcore.app.runtime.win-arm64.6.0.4.nupkg";
+      sha256 = "1jcfajqq6i06w8a9n2r92f326x3v7avkiv31nsldzjdn1ikiwfzj";
     };
   }
   {
     pname = "microsoft.netcore.app.runtime.win-x64";
-    version = "6.0.3";
+    version = "6.0.4";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.runtime.win-x64/6.0.3/microsoft.netcore.app.runtime.win-x64.6.0.3.nupkg";
-      sha256 = "1rjkzs2013razi2xs943q62ys1jh8blhjcnj75qkvirf859d11qw";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.runtime.win-x64/6.0.4/microsoft.netcore.app.runtime.win-x64.6.0.4.nupkg";
+      sha256 = "1x4ysack9n57h8w1ybfyczkf3w6jsgz7ila0czm2011w4sjnyqj0";
     };
   }
   {
     pname = "microsoft.netcore.app.runtime.win-x86";
-    version = "6.0.3";
+    version = "6.0.4";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.runtime.win-x86/6.0.3/microsoft.netcore.app.runtime.win-x86.6.0.3.nupkg";
-      sha256 = "0gsk9939f6vrqbgc7cw8g8q9c7669rkfwwlyhiq13piqmj2kni6g";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.runtime.win-x86/6.0.4/microsoft.netcore.app.runtime.win-x86.6.0.4.nupkg";
+      sha256 = "1ha2w6zh0l1kl36rxy9g38xcq8awhyqiiwi9gbr9kmxig5i5fxfa";
     };
   }
   {
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix b/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
index b7ae694c918..cb083bd06c7 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
@@ -39,6 +39,7 @@
   tree-sitter-hjson = lib.importJSON ./tree-sitter-hjson.json;
   tree-sitter-html = lib.importJSON ./tree-sitter-html.json;
   tree-sitter-http = lib.importJSON ./tree-sitter-http.json;
+  tree-sitter-janet-simple = lib.importJSON ./tree-sitter-janet-simple.json;
   tree-sitter-java = lib.importJSON ./tree-sitter-java.json;
   tree-sitter-javascript = lib.importJSON ./tree-sitter-javascript.json;
   tree-sitter-jsdoc = lib.importJSON ./tree-sitter-jsdoc.json;
@@ -57,6 +58,7 @@
   tree-sitter-ocaml = lib.importJSON ./tree-sitter-ocaml.json;
   tree-sitter-org-nvim = lib.importJSON ./tree-sitter-org-nvim.json;
   tree-sitter-perl = lib.importJSON ./tree-sitter-perl.json;
+  tree-sitter-pgn = lib.importJSON ./tree-sitter-pgn.json;
   tree-sitter-php = lib.importJSON ./tree-sitter-php.json;
   tree-sitter-pioasm = lib.importJSON ./tree-sitter-pioasm.json;
   tree-sitter-prisma = lib.importJSON ./tree-sitter-prisma.json;
@@ -70,6 +72,7 @@
   tree-sitter-ruby = lib.importJSON ./tree-sitter-ruby.json;
   tree-sitter-rust = lib.importJSON ./tree-sitter-rust.json;
   tree-sitter-scala = lib.importJSON ./tree-sitter-scala.json;
+  tree-sitter-scheme = lib.importJSON ./tree-sitter-scheme.json;
   tree-sitter-scss = lib.importJSON ./tree-sitter-scss.json;
   tree-sitter-sparql = lib.importJSON ./tree-sitter-sparql.json;
   tree-sitter-supercollider = lib.importJSON ./tree-sitter-supercollider.json;
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
index 487f3a27e07..e2cfb0944dd 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-c-sharp",
-  "rev": "352a4630c81a7a5cbd3bc67327743bd8d38f2dd2",
-  "date": "2022-01-03T12:31:17+00:00",
-  "path": "/nix/store/c7k10h98vzqag0rsywm0p71jaz57880x-tree-sitter-c-sharp",
-  "sha256": "198n5i9bvks0mmbqgzjgrhv6hy1afnx806jnap10241iyd817jbf",
+  "rev": "5b6ae1f88e741b9ed738891ad1362fb9f2041671",
+  "date": "2022-03-23T15:50:46-04:00",
+  "path": "/nix/store/n5kjbimssqrwz7h99gq83935432dpm5s-tree-sitter-c-sharp",
+  "sha256": "1yp1lyzay7hxlgca2r5yigpdy80vli4f48k2bm3h2rpa99fczmrb",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-clojure.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-clojure.json
index 4527f8d000e..292b7c03266 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-clojure.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-clojure.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/sogaiu/tree-sitter-clojure",
-  "rev": "1b24766fe9feacb8f5006233fe5c2ebd0ba31eff",
-  "date": "2022-02-19T08:24:15+09:00",
-  "path": "/nix/store/1vxhbw0dxg95z8rbs1b96nrcjvhrhb52-tree-sitter-clojure",
-  "sha256": "0sqi825gyjndn3v00kvk9scw6s5q0lr3ig6v49sccqc2addnr6di",
+  "rev": "879f0e726295807d917d576fcf9e1e432c4c20fc",
+  "date": "2022-04-11T22:46:47+09:00",
+  "path": "/nix/store/19bcj8f61w958njvksnqzm5r5s8szzz2-tree-sitter-clojure",
+  "sha256": "16g7s819gjgdc4wlp7rnvyv5i5dqa1yawxs8l4ggnz8n8acqza9n",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json
index 56e0ad099ce..bc6b7d93916 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-comment.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/stsewd/tree-sitter-comment",
-  "rev": "6975eb268f42df2afc313f96c0693e284685dba7",
-  "date": "2022-01-22T20:58:19-05:00",
-  "path": "/nix/store/nl4whdipy7a4g3ds2yv3c0qr7z4pifwn-tree-sitter-comment",
-  "sha256": "009krarzs9qykd8fas67gychjzcbgj8j0jm9h0963dlxs4hyay73",
+  "rev": "a37ca370310ac6f89b6e0ebf2b86b2219780494e",
+  "date": "2022-03-28T20:21:33-05:00",
+  "path": "/nix/store/nbf4bgxb7a15mwbi6lsfn7gbq8x1s3c1-tree-sitter-comment",
+  "sha256": "0y0wqzgrwwg09ipfs6i3bcxm5hbvs938g2ksnygcbgqdwgd5h8f2",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-devicetree.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-devicetree.json
index 4b301bb0f57..6bb7fd34215 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-devicetree.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-devicetree.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/joelspadin/tree-sitter-devicetree",
-  "rev": "fa70098cd70393f84785f85cdc6a45299b59cd5b",
-  "date": "2021-03-28T12:08:53-05:00",
-  "path": "/nix/store/6nqsmnd75vwbvkj764vg5slkmjzkmdd9-tree-sitter-devicetree",
-  "sha256": "0mr3q2l7js6csb1fp8xjysikj26l94p3mmsiik4qwnw5kg694yam",
+  "rev": "877adbfa0174d25894c40fa75ad52d4515a36368",
+  "date": "2022-03-23T18:25:46-05:00",
+  "path": "/nix/store/q0rqqm39h4dh17nlrr10kbfcqbdfk5kl-tree-sitter-devicetree",
+  "sha256": "1ds7pa4x1yd54xa2mba37vp8lbi8n4l975lps0249x8xw35r0jrl",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json
index c6257a25b15..2f673c7172c 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/elixir-lang/tree-sitter-elixir",
-  "rev": "b4027d7cfc96935b50878bdf9faf80bd64ac73cf",
-  "date": "2022-03-04T15:40:04+00:00",
-  "path": "/nix/store/h3qh2s4q51bnq66p1v067g1fb8bd1743-tree-sitter-elixir",
-  "sha256": "1pf2n1j8j5w7mrh81yzvha1gh4w3vffngikj04kzd5gkx9asf3x6",
+  "rev": "ec1c4cac1b2f0290c53511a72fbab17c47815d2b",
+  "date": "2022-04-18T23:16:26+02:00",
+  "path": "/nix/store/2jmkl3lxq6cy0cg4wjf3hgjciw0xsm0y-tree-sitter-elixir",
+  "sha256": "0xiprldyfqpx5fil1b1kbnpj57n7j15j3m8dhibhif7azbd1z1y3",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
index 49a04edbc37..ca9760bb7e2 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-go",
-  "rev": "07d722831382a043b16547b6d9202f3da07f3cb3",
-  "date": "2022-03-22T15:34:30+01:00",
-  "path": "/nix/store/9ay5gjwnip3jcmi096sw5fyi1kxqg1pk-tree-sitter-go",
-  "sha256": "0rc1p5jab08v1r81gzaz5xmxmbspl5i5zxba9immzax8ahzhhaxn",
+  "rev": "c8fed1f0847a65a04a4b8cb7655f5f416e0742ca",
+  "date": "2022-03-29T10:06:48+02:00",
+  "path": "/nix/store/f9vy5q9p3rf2dcp7zdw9708j138ibi36-tree-sitter-go",
+  "sha256": "0yi8h1q39hsdxp9053by9xkl53wn229fhwjrrzml7k8y95qgnsyd",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-gomod.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-gomod.json
index 2b8fe79a3d2..9ae45f89910 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-gomod.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-gomod.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/camdencheek/tree-sitter-go-mod",
-  "rev": "3cbcb572109ea0bc476a292208722c326c9e6c3a",
-  "date": "2021-12-16T14:44:10-07:00",
-  "path": "/nix/store/jxc3lqcxagfvlk7l62fg8z98mjrn7pgz-tree-sitter-go-mod",
-  "sha256": "0csrvmpvihwmw3772j4lkj49myqqp0f7imi7c11h9x9szz3lc8x8",
+  "rev": "e8f51f8e4363a3d9a427e8f63f4c1bbc5ef5d8d0",
+  "date": "2022-04-05T11:00:59-06:00",
+  "path": "/nix/store/4a0idwqi76n4g809inrkv88nv68dgc0i-tree-sitter-go-mod",
+  "sha256": "09rkqwdwhsm41nrz73rqbajap4bc0spjcld9k9fr8xmlmqa67j2b",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json
index 654a89b5979..1a067f18d14 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/connorlay/tree-sitter-heex",
-  "rev": "592e22292a367312c35e13de7fdb888f029981d6",
-  "date": "2022-01-30T14:04:04-08:00",
-  "path": "/nix/store/21n6sqyvkfd0q5ass9nj2wgicm9ljmgv-tree-sitter-heex",
-  "sha256": "1k4nhlbbn7lqrjmkz8rr81rsrfkl9qfwm9q7qd2b18ygzr52payh",
+  "rev": "57e46b4b002d5fb5c1f2706fe42380e544ecab5f",
+  "date": "2022-04-17T10:39:01-07:00",
+  "path": "/nix/store/afmvzkh237ikn0b9fw51crzhyk4ys1d2-tree-sitter-heex",
+  "sha256": "0gfxqph5j3n3dlpnyw85lrwhgjh4zm7mdrnf0qyv0f2basayfabm",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-janet-simple.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-janet-simple.json
new file mode 100644
index 00000000000..10b524747a3
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-janet-simple.json
@@ -0,0 +1,11 @@
+{
+  "url": "https://github.com/sogaiu/tree-sitter-janet-simple",
+  "rev": "e6c04e4b243cf3e5aca8f201e48926a72cc18334",
+  "date": "2022-03-29T10:00:03+09:00",
+  "path": "/nix/store/4ynwhc2s20xm093inlpyxgdb6pbc753m-tree-sitter-janet-simple",
+  "sha256": "1anbd0bx8vcg1rb6mr8hknnd5f9f6zr3h7kn98x8s7znyvlj4w6q",
+  "fetchLFS": false,
+  "fetchSubmodules": false,
+  "deepClone": false,
+  "leaveDotGit": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
index 664e31613c5..42bd6f10771 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-java",
-  "rev": "881b84fe7078651af5077cc4cea4c85f9fddde3b",
-  "date": "2022-03-21T10:50:51+01:00",
-  "path": "/nix/store/ii1dwsg972sbllim6vrmjbcaw9fcy2b1-tree-sitter-java",
-  "sha256": "0kvqqrx669fyaxm55l0p5vbswf9bfknl0brsr6llyzdz81dl0vk4",
+  "rev": "e7cb801ef57f74db5c4ebe14df74de852bb451b5",
+  "date": "2022-04-16T15:36:51+02:00",
+  "path": "/nix/store/55br93464adchwwjwdqjai8ppykwh098-tree-sitter-java",
+  "sha256": "0w27xk9j7mm9gr5aiwcv6cgfvzfnps0l9b09mwfqxhndh7j96vfn",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
index 13e67533f40..397ee48ff77 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-json",
-  "rev": "203e239408d642be83edde8988d6e7b20a19f0e8",
-  "date": "2021-08-18T10:35:07-07:00",
-  "path": "/nix/store/yqbmn17vs2lxqg5wa8b269fcsd5wr4bv-tree-sitter-json",
-  "sha256": "08igb9ylfdsjasyn0p9j4sqpp0i2x1qcdzacbmsag02jmkyi6s7f",
+  "rev": "137e1ce6a02698fc246cdb9c6b886ed1de9a1ed8",
+  "date": "2022-04-21T11:20:07-07:00",
+  "path": "/nix/store/5f0z08shhb8d03ab4zlaq9ss4dim6k9f-tree-sitter-json",
+  "sha256": "1amiaiizd4mvmnbwqbr8lmisi9831di8r8xck9wyi5sfj3nd8hai",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-julia.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-julia.json
index 9f093a4d4e3..087e491a034 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-julia.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-julia.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-julia",
-  "rev": "12ea597262125fc22fd2e91aa953ac69b19c26ca",
-  "date": "2021-05-03T17:44:45-07:00",
-  "path": "/nix/store/lbz23r698hn7cha09qq0dbfay7dh74gg-tree-sitter-julia",
-  "sha256": "0rmd7k3rv567psxrlqv17gvckijs19xs6mxni045rpayxmk441sk",
+  "rev": "1e8fe0b3988e7cf56530837fd3a870089ddc7684",
+  "date": "2022-04-15T13:59:51-07:00",
+  "path": "/nix/store/9li8yqbvf95jksbv6myzha9bpmwq6xsg-tree-sitter-julia",
+  "sha256": "0jwwx7ipdw7lq53zn5j72w5n4schjnmfv5fb3lii1nj60fqahrp7",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
index 739e6006c27..5b7e511efb1 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/latex-lsp/tree-sitter-latex",
-  "rev": "b71e4928a63a6d75bc1670004a5b5a98c850a149",
-  "date": "2022-03-16T20:19:11+01:00",
-  "path": "/nix/store/gzpihd6k8cqsl0facz7kfgn2dh294fxw-tree-sitter-latex",
-  "sha256": "1z2ywj57fpxaym6bv5ixvc01h8szazbhzmzzw960f49mlrima3n6",
+  "rev": "8c5d90e78fa58ee6acab465ffa9a53e8b7b2c69c",
+  "date": "2022-04-23T15:10:18+02:00",
+  "path": "/nix/store/qpc37mjsl75qnmyzbkw6azphwzfdr9n9-tree-sitter-latex",
+  "sha256": "1xq5g34g9sqshhpprakc4k5lrlgg1n8vb7d7nfrx4ilrz5s0kks1",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ledger.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ledger.json
index a75a6176491..879893ca4bd 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ledger.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ledger.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/cbarrete/tree-sitter-ledger",
-  "rev": "0cdeb0e51411a3ba5493662952c3039de08939ca",
-  "date": "2021-09-06T18:36:51-04:00",
-  "path": "/nix/store/8gh6lfvqczb6n6ncnmszvk3kj527m75w-tree-sitter-ledger",
-  "sha256": "1z0r2aphijzq6j67gb2lx2qr3fi2qpiz2x9dwkjvppdb4ch7ga7m",
+  "rev": "1050a25df55a62878102d10e524b5184b316b7ad",
+  "date": "2022-04-01T08:21:18-04:00",
+  "path": "/nix/store/hfhxv3k8kxpg7m31xzrf56lbaa4ips65-tree-sitter-ledger",
+  "sha256": "0qivr9wjab8m1ha4zisznijpw4x3phv0q0nh8lnsx7bjbz6f7xfx",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json
index caa2f13a358..1ed8397bd17 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-llvm.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/benwilliamgraham/tree-sitter-llvm",
-  "rev": "3b213925b9c4f42c1acfe2e10bfbb438d9c6834d",
-  "date": "2021-12-27T14:02:51-05:00",
-  "path": "/nix/store/hjg9z82l3iqyjw0s9lf1kkm31p5wlv3d-tree-sitter-llvm",
-  "sha256": "0ymrdcajji11852c158w67mgcsycphwj9mh777q3n4jn8pp37y8j",
+  "rev": "e9948edc41e9e5869af99dddb2b5ff5cc5581af6",
+  "date": "2022-03-31T23:27:40-04:00",
+  "path": "/nix/store/8nkhzala4wscfip1g0skh1cxvmp3gp8l-tree-sitter-llvm",
+  "sha256": "0d579ylhi3hgzm5wbahs6hci1rhv7q1x6wsav9dbzv1y6np2dfrk",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json
index a11ac648fed..52ade503e8a 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-lua.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/MunifTanjim/tree-sitter-lua",
-  "rev": "547184a6cfcc900fcac4a2a56538fa8bcdb293e6",
-  "date": "2022-01-28T20:44:16+06:00",
-  "path": "/nix/store/gvq91asqk6911bci8xxx5wjbp2p3c2lk-tree-sitter-lua",
-  "sha256": "04z182d591r3jlw0yx29m0hhzw4b14f8m85rz2bw959p0yghs88k",
+  "rev": "2b4ffd5a5ffd0c6b4c84f0d9e003050a70db2a37",
+  "date": "2022-04-08T22:29:43+06:00",
+  "path": "/nix/store/gj2bbwc3105djyl3l5b0hjr1y1jg7262-tree-sitter-lua",
+  "sha256": "1l383clymmzk0q9b21kcgnmpww4hsh938yd3z9djpkhagadpqpjs",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
index 5da2dc0585e..a60bf1dffc6 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/MDeiml/tree-sitter-markdown",
-  "rev": "b49b2da50864171eff56acc8ba067c3540a3991f",
-  "date": "2022-02-26T15:22:17+01:00",
-  "path": "/nix/store/vllxsz0nvlw6z9y6s199l5z8f5dlhcpv-tree-sitter-markdown",
-  "sha256": "1adypmkfsf6pgahba588d8l6ib59209rb2fkyk2dv0d3va76pr8x",
+  "rev": "d24196f9b3e5af6fcb2ec2a0b6cbc5c06f58b85e",
+  "date": "2022-03-30T11:47:57+02:00",
+  "path": "/nix/store/rdac46kl274bdd18bdrdh33s71sin7xd-tree-sitter-markdown",
+  "sha256": "07i3zwjla74s61w39fqfmb5a61dw6xlgfagh70p1rpvyrpxsywds",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json
index 67e75cd60ee..c9b0ce8fcbb 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/milisims/tree-sitter-org",
-  "rev": "1c3eb533a9cf6800067357b59e03ac3f91fc3a54",
-  "date": "2022-02-05T14:19:52-05:00",
-  "path": "/nix/store/n51rx6d005iibpvb1bb2d7az1l6p6vlq-tree-sitter-org",
-  "sha256": "06xkhhdlkikvxadp7wnk8riz51mjq9ks1jchdy9x3fmq6bj72y1p",
+  "rev": "fab7af32a2719091df5b222f98099c566859de78",
+  "date": "2022-04-07T16:00:06-04:00",
+  "path": "/nix/store/b17cvbkdvv7d3dzbi58lgrqsnhvh79d8-tree-sitter-org",
+  "sha256": "0jz69wm1ay84zkslbcp4l906ay7l4jd3bi1k1ivclpx493pg8ia7",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-pgn.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-pgn.json
new file mode 100644
index 00000000000..786fec353d5
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-pgn.json
@@ -0,0 +1,11 @@
+{
+  "url": "https://github.com/rolandwalker/tree-sitter-pgn",
+  "rev": "e26ee30850f0cb81541480cf1e2c70385bdb013a",
+  "date": "2021-08-25T17:57:38-04:00",
+  "path": "/nix/store/fj882ab2hl3qrz45zvq366na6d2gqv8v-tree-sitter-pgn",
+  "sha256": "1c4602jmq3p7p7splzip76863l1z3rgbjlbksqv0diqjxp7c42gq",
+  "fetchLFS": false,
+  "fetchSubmodules": false,
+  "deepClone": false,
+  "leaveDotGit": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
index 856d6bbb7e5..c1bc94c210a 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-php",
-  "rev": "0ce134234214427b6aeb2735e93a307881c6cd6f",
-  "date": "2022-01-31T19:53:17+01:00",
-  "path": "/nix/store/kdddnbbsik9wvnjh1wnbyzzr1x8v64ps-tree-sitter-php",
-  "sha256": "0gg3p1zpwfhf0qz0isnca0zi5zkxs5j5bmjix99dv3rkw911vk17",
+  "rev": "3c17a28da38afac41332d3ce79bbd8951867f346",
+  "date": "2022-03-29T09:09:35-07:00",
+  "path": "/nix/store/7dmygp3gi9ch00mf59d7g2l8k6f2pl81-tree-sitter-php",
+  "sha256": "06xc4y67pl96h1gfh9zg4yxdgqj5mv7md28m78gix8sk1h011irq",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-prisma.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-prisma.json
index ad0fbd525ed..9688a1d2b7c 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-prisma.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-prisma.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/victorhqc/tree-sitter-prisma",
-  "rev": "bf0833cbedb2c5b39250f5ba900f1239a16c6749",
-  "date": "2022-03-18T18:56:29+01:00",
-  "path": "/nix/store/9pq2l5b34xvi3v6i9zq1qxh3r2ilg2qs-tree-sitter-prisma",
-  "sha256": "0idgrra41w4v3sa4sb0p3ba7k6sxfw74px4fkpprddjqjdnsrl50",
+  "rev": "0ac307e4be0409d4327082ddc737ed432a49dfc3",
+  "date": "2022-04-20T10:52:00+02:00",
+  "path": "/nix/store/24vp6k2ijg832c95hx2x0j8x4i6pxffz-tree-sitter-prisma",
+  "sha256": "13rcwlkxv9dns7mgxrb34vzhq32c854bna6gsyczvs6vishm6i9l",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json
index f77e9292253..a5797af4139 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/r-lib/tree-sitter-r",
-  "rev": "c19e54de252d5573cc2a762a030957074526fe99",
-  "date": "2022-01-27T09:41:27-05:00",
-  "path": "/nix/store/b2h3khs1x0j4j2fvs2sbkx1dp3d8fx4g-tree-sitter-r",
-  "sha256": "1zan8dhjpxrn7vy7mvbc85hcdd5lls3vzpk6nchvn3j0i1ach85h",
+  "rev": "cc04302e1bff76fa02e129f332f44636813b0c3c",
+  "date": "2022-03-28T10:31:51-04:00",
+  "path": "/nix/store/0s6513shwiiqq26ma0alx16f9w0sg2yp-tree-sitter-r",
+  "sha256": "0adq1qng3ghb4wvglplj73q8c95hzpfiqb2q8bqnms81i7p2xma7",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
index 09559a4a7a2..bf15e656e91 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-scala",
-  "rev": "0a3dd53a7fc4b352a538397d054380aaa28be54c",
-  "date": "2021-10-10T10:34:22-07:00",
-  "path": "/nix/store/mys098cdap3mdp6x4qwlk7b9v84998b0-tree-sitter-scala",
-  "sha256": "1lwyipn5b36fskr8cm60qjblj2chf8336zkqbsifq49z1lj0wvpi",
+  "rev": "ec6047f531e7d4c13787d4ff208b94a84de34165",
+  "date": "2022-03-27T09:48:17+02:00",
+  "path": "/nix/store/70sghy226gl3s1b2p0zjhplb6zjy777g-tree-sitter-scala",
+  "sha256": "0yjl8hwdm1pkihfgfbg19z5j0v3cp64a2pa59maws1i231fm5bsw",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json
new file mode 100644
index 00000000000..88e5e784c05
--- /dev/null
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json
@@ -0,0 +1,11 @@
+{
+  "url": "https://github.com/6cdh/tree-sitter-scheme",
+  "rev": "aee42e302f36045cdc671223ce10a069203fd604",
+  "date": "2022-04-21T11:07:14+08:00",
+  "path": "/nix/store/jviqv18g5yszjcqmv48rpml6z4q4ccv8-tree-sitter-scheme",
+  "sha256": "1piw1g5w29jxhwrvivpmdkyr2vbi8fpj2idzk8bwvplzbb6hfr7x",
+  "fetchLFS": false,
+  "fetchSubmodules": false,
+  "deepClone": false,
+  "leaveDotGit": false
+}
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json
index 24f57762949..22a0fa23948 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/madskjeldgaard/tree-sitter-supercollider",
-  "rev": "0f0e5b5a96dd3e048a9c3db648ed969c44068bff",
-  "date": "2022-02-01T13:46:31+01:00",
-  "path": "/nix/store/5rzm6vnqvpwxwakrjyy93hg0glfvcx93-tree-sitter-supercollider",
-  "sha256": "0nxl43j7ddsddqcq56p921h1r5jkx8v49zxjzr6mcj6y1ljzndm2",
+  "rev": "90c6d9f777d2b8c4ce497c48b5f270a44bcf3ea0",
+  "date": "2022-04-14T11:41:40+02:00",
+  "path": "/nix/store/hzdm20x9fpc8bqd6bphq1akbdmdcpq7s-tree-sitter-supercollider",
+  "sha256": "1g0q32crsnzxnwh5bjfjm0dkxpnvdj76idjc8s4ba7hinwa8jpv0",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json
index 0052b3f8e71..30052fe6407 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-svelte.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/Himujjal/tree-sitter-svelte",
-  "rev": "98274d94ec33e994e8354d9ddfdef58cca471294",
-  "date": "2021-10-28T16:53:33+05:30",
-  "path": "/nix/store/q3dapi6k6zdnnr0lki2ic9l6cbxdi2rq-tree-sitter-svelte",
-  "sha256": "1kav0h755sa1j9j930kjrykb17aih017mbi0a97ncjjrlc6nyak5",
+  "rev": "84c90ee15f851e1541c25c86e8a4338f5b4d5af2",
+  "date": "2022-04-13T11:35:15+05:30",
+  "path": "/nix/store/2miakcpw7xgg2pcwdbcg0kl2djijcfbj-tree-sitter-svelte",
+  "sha256": "0hidafgzbnksyigksab8731jdnvj1vqn7fv0jxsc1yfrwrmai6ls",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-toml.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-toml.json
index ae182486506..34eb4ffe03a 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-toml.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-toml.json
@@ -1,9 +1,9 @@
 {
-  "url": "https://github.com/ikatyang/tree-sitter-toml",
-  "rev": "8bd2056818b21860e3d756b5a58c4f6e05fb744e",
-  "date": "2021-05-11T12:47:32+08:00",
-  "path": "/nix/store/isgpadcxmgkb14w9yg67pb8lx7wlfhnn-tree-sitter-toml",
-  "sha256": "0yasw5fp4mq6vzrdwlc3dxlss8a94bsffv4mzrfp0b3iw0s1dlyg",
+  "url": "https://github.com/tree-sitter/tree-sitter-toml",
+  "rev": "342d9be207c2dba869b9967124c679b5e6fd0ebe",
+  "date": "2022-04-21T16:26:30-07:00",
+  "path": "/nix/store/is4vnj1s94455s9msasbn7px7jjfr0ai-tree-sitter-toml",
+  "sha256": "00pigsc947qc2p6g21iki6xy4h497arq53fp2fjgiw50bqmknrsp",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
index fc04fd069e4..44477aa24d3 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-typescript",
-  "rev": "e8e8e8dc2745840b036421b4e43286750443cb13",
-  "date": "2022-01-10T13:42:45-08:00",
-  "path": "/nix/store/zl36qsk7pd9pcawfsy368axax97d83wz-tree-sitter-typescript",
-  "sha256": "1z1v7fjgp418qsp0xkycfpvc8vm4a2ai5kx10xif1dvjpfgcj1qq",
+  "rev": "8e9dba7bd7cf089838a036a98be94db53ba2d0a9",
+  "date": "2022-04-13T09:44:02-07:00",
+  "path": "/nix/store/188d0ki07nhmihrl2b868vmb9rd4hf4q-tree-sitter-typescript",
+  "sha256": "010nnihmaw1a1l9mzjd1nmrb0z6j2h3pr872dzpdq7ajg0j3j1wl",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
index f4aaecb7bdf..b9a3184e942 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/vigoux/tree-sitter-viml",
-  "rev": "c9d70082af14988842eb071c6c0b07e8d1d993ac",
-  "date": "2022-03-21T17:11:25+01:00",
-  "path": "/nix/store/z1bjg25frb0sq7kr0s3sp6jnz888p900-tree-sitter-viml",
-  "sha256": "05mf8i5ni0kp4g1gdpgwjxi2d86hna2ijp9k7c1gy9j33hsq9i8g",
+  "rev": "5268e0ec901e33ad7142ee31b580269a94fba042",
+  "date": "2022-04-16T20:12:40+02:00",
+  "path": "/nix/store/rw6cjm4vj4yihlfmrxa2vc81lr3x59rn-tree-sitter-viml",
+  "sha256": "0vga1bivzkr00brzvv309hx7sqvg7y2kf6vx0s8hv9r56x6nm54s",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json
index a9de3692209..0ad82155c77 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-zig.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/maxxnino/tree-sitter-zig",
-  "rev": "42e93d02ca945094699e2dc4de785bbaf8f740ec",
-  "date": "2022-02-11T10:40:42+09:00",
-  "path": "/nix/store/2yv27si133zqb93bm9gia0ymib9q2y75-tree-sitter-zig",
-  "sha256": "14p02b04v67cvkvj7apipsmkmvv3jnhykm0qrrmqqxnkprac31im",
+  "rev": "4cff36421dae9c05388b86cd64d2bab4b9ed6676",
+  "date": "2022-04-02T10:33:48+07:00",
+  "path": "/nix/store/ripw74y32a8nzsr9n30jfhh16wjxlxvb-tree-sitter-zig",
+  "sha256": "0k9z0f6vfj1pfz3qkscb41wz2nzjp0xpz9mvm6264q655rq73dlc",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/update.nix b/pkgs/development/tools/parsing/tree-sitter/update.nix
index 961a5e96e0b..e1491ee81da 100644
--- a/pkgs/development/tools/parsing/tree-sitter/update.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/update.nix
@@ -42,6 +42,7 @@ let
     "tree-sitter-ql"
     "tree-sitter-embedded-template"
     "tree-sitter-tsq"
+    "tree-sitter-toml"
   ];
   knownTreeSitterOrgGrammarReposJson = jsonFile "known-tree-sitter-org-grammar-repos" knownTreeSitterOrgGrammarRepos;
 
@@ -136,10 +137,6 @@ let
       orga = "ikatyang";
       repo = "tree-sitter-yaml";
     };
-    "tree-sitter-toml" = {
-      orga = "ikatyang";
-      repo = "tree-sitter-toml";
-    };
     "tree-sitter-zig" = {
       orga = "maxxnino";
       repo = "tree-sitter-zig";
@@ -184,6 +181,10 @@ let
       orga = "bkegley";
       repo = "tree-sitter-graphql";
     };
+    "tree-sitter-pgn" = {
+      orga = "rolandwalker";
+      repo = "tree-sitter-pgn";
+    };
     "tree-sitter-perl" = {
       orga = "ganezdragon";
       repo = "tree-sitter-perl";
@@ -280,6 +281,10 @@ let
       orga = "uyha";
       repo = "tree-sitter-cmake";
     };
+    "tree-sitter-janet-simple" = {
+      orga = "sogaiu";
+      repo = "tree-sitter-janet-simple";
+    };
     "tree-sitter-json5" = {
       orga = "joakker";
       repo = "tree-sitter-json5";
@@ -312,6 +317,10 @@ let
       orga = "MichaHoffmann";
       repo = "tree-sitter-hcl";
     };
+    "tree-sitter-scheme" = {
+      orga = "6cdh";
+      repo = "tree-sitter-scheme";
+    };
   };
 
   allGrammars =
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
index 6489a23c37d..f42ee6b79cc 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
@@ -5,7 +5,7 @@
 }:
 let
   # Poetry2nix version
-  version = "1.27.1";
+  version = "1.28.0";
 
   inherit (poetryLib) isCompatible readTOML moduleName;
 
@@ -287,12 +287,20 @@ lib.makeScope pkgs.newScope (self: {
         (name: value: projectDir + "/${value.path}")
         (lib.filterAttrs (name: dep: dep.develop or false && hasAttr "path" dep) set);
 
-      editablePackageSources' = (
+      excludedEditablePackageNames = builtins.filter
+        (pkg: editablePackageSources."${pkg}" == null)
+        (builtins.attrNames editablePackageSources);
+
+      allEditablePackageSources = (
         (getEditableDeps (pyProject.tool.poetry."dependencies" or { }))
         // (getEditableDeps (pyProject.tool.poetry."dev-dependencies" or { }))
         // editablePackageSources
       );
 
+      editablePackageSources' = builtins.removeAttrs
+        allEditablePackageSources
+        excludedEditablePackageNames;
+
       poetryPython = self.mkPoetryPackages {
         inherit pyproject poetrylock overrides python pwd preferWheels pyProject;
         editablePackageSources = editablePackageSources';
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
index a905d302d2a..b5bf0c975e0 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
@@ -180,7 +180,7 @@ let
       hasGitIgnore = builtins.pathExists gitIgnore;
       gitIgnores = if hasGitIgnore then [ gitIgnore ] else [ ];
     in
-    lib.optionals (builtins.toString path != "/" && ! isGitRoot) (findGitIgnores parent) ++ gitIgnores;
+    lib.optionals (builtins.pathExists path && builtins.toString path != "/" && ! isGitRoot) (findGitIgnores parent) ++ gitIgnores;
 
   /*
     Provides a source filtering mechanism that:
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json
index e3c74473b8c..e4d64b05b99 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json
@@ -29,6 +29,9 @@
   "aioflo": [
     "poetry-core"
   ],
+  "aiogithubapi": [
+    "poetry-core"
+  ],
   "aioguardian": [
     "poetry-core"
   ],
@@ -89,9 +92,21 @@
   "amqtt": [
     "poetry-core"
   ],
+  "ansible-doctor": [
+    "poetry-core"
+  ],
+  "ansible-later": [
+    "poetry-core"
+  ],
+  "ansible-runner": [
+    "pbr"
+  ],
   "apache-beam": [
     "cython"
   ],
+  "aplpy": [
+    "cython"
+  ],
   "argon2_cffi": [
     "flitBuildHook"
   ],
@@ -114,15 +129,24 @@
   "atomman": [
     "cython"
   ],
+  "atpublic": [
+    "pdm-pep517"
+  ],
   "autarco": [
     "poetry-core"
   ],
   "authcaptureproxy": [
     "poetry-core"
   ],
+  "av": [
+    "cython"
+  ],
   "awesomeversion": [
     "poetry-core"
   ],
+  "aws-adfs": [
+    "poetry-core"
+  ],
   "aws-error-utils": [
     "poetry"
   ],
@@ -147,6 +171,9 @@
   "boltztrap2": [
     "cython"
   ],
+  "bsblan": [
+    "poetry-core"
+  ],
   "build": [
     "flit-core"
   ],
@@ -183,6 +210,9 @@
   "clikit": [
     "poetry-core"
   ],
+  "cloudflare-dyndns": [
+    "poetry"
+  ],
   "collections-extended": [
     "poetry-core"
   ],
@@ -210,7 +240,8 @@
     "poetry-core"
   ],
   "cssselect2": [
-    "flit"
+    "flit",
+    "flit-core"
   ],
   "cwcwidth": [
     "cython"
@@ -224,9 +255,15 @@
   "cypari2": [
     "cython"
   ],
+  "cypherpunkpay": [
+    "poetry-core"
+  ],
   "cysignals": [
     "cython"
   ],
+  "datadog": [
+    "hatchling"
+  ],
   "datrie": [
     "cython"
   ],
@@ -260,6 +297,9 @@
   "doc8": [
     "pbr"
   ],
+  "docstring-parser": [
+    "poetry-core"
+  ],
   "dtlssocket": [
     "cython"
   ],
@@ -301,7 +341,8 @@
     "poetry-core"
   ],
   "entrypoints": [
-    "flit"
+    "flit",
+    "flit-core"
   ],
   "enturclient": [
     "poetry-core"
@@ -309,6 +350,13 @@
   "enumatch": [
     "poetry"
   ],
+  "exceptiongroup": [
+    "flit-core",
+    "flitBuildHook"
+  ],
+  "falcon": [
+    "cython"
+  ],
   "fastapi": [
     "flitBuildHook"
   ],
@@ -378,6 +426,9 @@
   "generic": [
     "poetry-core"
   ],
+  "gensim": [
+    "cython"
+  ],
   "glances-api": [
     "poetry-core"
   ],
@@ -492,9 +543,15 @@
   "ipwhl": [
     "flitBuildHook"
   ],
+  "iso8601": [
+    "poetry-core"
+  ],
   "isort": [
     "poetry-core"
   ],
+  "jarowinkler": [
+    "cython"
+  ],
   "jedi-language-server": [
     "poetry"
   ],
@@ -519,6 +576,12 @@
   "jupyterlab": [
     "jupyter-packaging"
   ],
+  "jupyterlab-code-formatter": [
+    "jupyter-packaging"
+  ],
+  "jupyterlab-pygments": [
+    "jupyter-packaging"
+  ],
   "keystoneauth1": [
     "pbr"
   ],
@@ -537,6 +600,9 @@
   "ldappool": [
     "pbr"
   ],
+  "levenshtein": [
+    "cython"
+  ],
   "libgpuarray": [
     "cython"
   ],
@@ -564,6 +630,9 @@
   "lockfile": [
     "pbr"
   ],
+  "lsassy": [
+    "poetry-core"
+  ],
   "luftdaten": [
     "poetry-core"
   ],
@@ -585,6 +654,9 @@
   "marisa-trie": [
     "cython"
   ],
+  "markdown-it-py": [
+    "flit-core"
+  ],
   "mask-rcnn": [
     "cython"
   ],
@@ -607,6 +679,9 @@
   "memory-allocator": [
     "cython"
   ],
+  "meteofrance-api": [
+    "poetry"
+  ],
   "metprint": [
     "poetry-core"
   ],
@@ -618,6 +693,7 @@
     "poetry"
   ],
   "mkdocs-jupyter": [
+    "ipython_genutils",
     "poetry-core"
   ],
   "mkdocs-literate-nav": [
@@ -674,6 +750,9 @@
   "netdata": [
     "poetry-core"
   ],
+  "netutils": [
+    "poetry-core"
+  ],
   "newversion": [
     "poetry-core"
   ],
@@ -689,6 +768,9 @@
   "nkdfu": [
     "flitBuildHook"
   ],
+  "notebook-shim": [
+    "jupyter-packaging"
+  ],
   "notus-scanner": [
     "poetry-core"
   ],
@@ -728,6 +810,9 @@
   "openvino": [
     "cython"
   ],
+  "ordered-set": [
+    "flit-core"
+  ],
   "ormar": [
     "poetry-core"
   ],
@@ -807,6 +892,9 @@
   "poetry": [
     "poetry-core"
   ],
+  "poetry-dynamic-versioning": [
+    "poetry-core"
+  ],
   "poetry2conda": [
     "poetry"
   ],
@@ -930,6 +1018,9 @@
   "pymaven-patch": [
     "pbr"
   ],
+  "pymdown-extensions": [
+    "hatchling"
+  ],
   "pymfy": [
     "poetry-core"
   ],
@@ -954,6 +1045,9 @@
   "pyoverkiz": [
     "poetry-core"
   ],
+  "pyparsing": [
+    "flit-core"
+  ],
   "pypass": [
     "pbr"
   ],
@@ -978,12 +1072,21 @@
   "pyproject-flake8": [
     "flit-core"
   ],
+  "pypsrp": [
+    "poetry-core"
+  ],
   "pyquil": [
     "poetry-core"
   ],
+  "pyrad": [
+    "poetry-core"
+  ],
   "pyregion": [
     "cython"
   ],
+  "pyrevolve": [
+    "cython"
+  ],
   "pyrmvtransport": [
     "flit"
   ],
@@ -999,6 +1102,9 @@
   "pysigma": [
     "poetry-core"
   ],
+  "pysigma-backend-insightidr": [
+    "poetry-core"
+  ],
   "pysigma-backend-splunk": [
     "poetry-core"
   ],
@@ -1008,14 +1114,30 @@
   "pysigma-pipeline-sysmon": [
     "poetry-core"
   ],
+  "pysigma-pipeline-windows": [
+    "poetry-core"
+  ],
+  "pyslurm": [
+    "cython"
+  ],
   "pysmf": [
     "cython"
   ],
   "pysml": [
     "poetry-core"
   ],
+  "pysnmp-pyasn1": [
+    "poetry-core"
+  ],
+  "pysnmp-pysmi": [
+    "poetry-core"
+  ],
+  "pysnmplib": [
+    "poetry-core"
+  ],
   "pysnow": [
-    "poetry"
+    "poetry",
+    "poetry-core"
   ],
   "pysptk": [
     "cython"
@@ -1035,6 +1157,9 @@
   "pytest-httpserver": [
     "poetry-core"
   ],
+  "pytest-isort": [
+    "poetry-core"
+  ],
   "pytest-mockservers": [
     "poetry-core"
   ],
@@ -1097,6 +1222,9 @@
   "python-openstackclient": [
     "pbr"
   ],
+  "python-pae": [
+    "poetry-core"
+  ],
   "python-pkcs11": [
     "cython"
   ],
@@ -1215,7 +1343,8 @@
     "poetry-core"
   ],
   "rokuecp": [
-    "poetry"
+    "poetry",
+    "poetry-core"
   ],
   "roombapy": [
     "poetry-core"
@@ -1280,6 +1409,9 @@
   "sentinel": [
     "poetry-core"
   ],
+  "seventeentrack": [
+    "poetry-core"
+  ],
   "sfepy": [
     "cython"
   ],
@@ -1301,9 +1433,15 @@
   "slowapi": [
     "poetry-core"
   ],
+  "socksio": [
+    "flit-core"
+  ],
   "solo-python": [
     "flitBuildHook"
   ],
+  "soupsieve": [
+    "hatchling"
+  ],
   "spacy-pkuseg": [
     "cython"
   ],
@@ -1425,7 +1563,8 @@
     "cython"
   ],
   "testpath": [
-    "flit"
+    "flit",
+    "flit-core"
   ],
   "testrepository": [
     "pbr"
@@ -1505,6 +1644,9 @@
   "typing-extensions": [
     "flit-core"
   ],
+  "uharfbuzz": [
+    "cython"
+  ],
   "unpaddedbase64": [
     "poetry-core"
   ],
@@ -1550,8 +1692,14 @@
   "yoda": [
     "cython"
   ],
+  "yte": [
+    "poetry-core"
+  ],
   "zeversolarlocal": [
     "flit-core",
     "flitBuildHook"
+  ],
+  "zwave-me-ws": [
+    "poetry-core"
   ]
 }
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
index 5439f1814dc..a04e2d65385 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
@@ -8,13 +8,14 @@ let
     { self
     , drv
     , attr
+    , extraAttrs ? [ ]
     }:
     let
       buildSystem = if attr == "cython" then self.python.pythonForBuild.pkgs.cython else self.${attr};
     in
     (
       # Flit only works on Python3
-      if (attr == "flit-core" || attr == "flit") && !self.isPy3k then drv
+      if (attr == "flit-core" || attr == "flit" || attr == "hatchling") && !self.isPy3k then drv
       else
         drv.overridePythonAttrs (
           old:
@@ -23,7 +24,7 @@ let
             { }
           else
             {
-              nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.${attr} ];
+              nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.${attr} ] ++ map (a: self.${a}) extraAttrs;
             }
         )
     );
@@ -55,6 +56,16 @@ lib.composeManyExtensions [
         systems)
       buildSystems)
 
+  # Build systems with conditionals
+  (self: super: {
+
+    platformdirs =
+      if lib.versionAtLeast super.platformdirs.version "2.5.2"
+      then addBuildSystem { inherit self; drv = super.platformdirs; attr = "hatchling"; extraAttrs = [ "hatch-vcs" ]; }
+      else super.platformdirs;
+
+  })
+
   # Build fixes
   (self: super:
     let
@@ -437,6 +448,17 @@ lib.composeManyExtensions [
         }
       );
 
+      # Setuptools >= 60 broke build_py_2to3
+      docutils =
+        if lib.versionOlder super.docutils.version "0.16" && lib.versionAtLeast super.setuptools.version "60" then
+          (
+            super.docutils.overridePythonAttrs (
+              old: {
+                SETUPTOOLS_USE_DISTUTILS = "stdlib";
+              }
+            )
+          ) else super.docutils;
+
       # Environment markers are not always included (depending on how a dep was defined)
       enum34 = if self.pythonAtLeast "3.4" then null else super.enum34;
 
@@ -844,6 +866,17 @@ lib.composeManyExtensions [
         }
       );
 
+      lsassy =
+        if super.lsassy.version == "3.1.1" then
+          super.lsassy.overridePythonAttrs
+            (old: {
+              # pyproject.toml contains a constraint `rich = "^10.6.0"` which is not replicated in setup.py
+              # hence pypi misses it and poetry pins rich to 11.0.0
+              preConfigure = (old.preConfigure or "") + ''
+                rm pyproject.toml
+              '';
+            }) else super.lsassy;
+
       lxml = super.lxml.overridePythonAttrs (
         old: {
           nativeBuildInputs = with pkgs.buildPackages; (old.nativeBuildInputs or [ ]) ++ [ pkg-config libxml2.dev libxslt.dev ] ++ lib.optionals stdenv.isDarwin [ xcodebuild ];
@@ -1143,6 +1176,26 @@ lib.composeManyExtensions [
         }
       );
 
+      orjson =
+        let
+          getCargoHash = version: {
+            "3.6.7" = "sha256-sz2k9podPB6QSptkyOu7+BoVTrKhefizRtYU+MICPt4=";
+            "3.6.8" = "sha256-vpfceVtYkU09xszNIihY1xbqGWieqDquxwsAmDH8jd4=";
+          }.${version} or null;
+        in
+        super.orjson.overridePythonAttrs (old: {
+          cargoDeps = pkgs.rustPlatform.fetchCargoTarball {
+            inherit (old) src;
+            name = "${old.pname}-${old.version}";
+            hash = getCargoHash old.version;
+          };
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+            pkgs.rustPlatform.cargoSetupHook
+            pkgs.rustPlatform.maturinBuildHook
+          ];
+          buildInputs = (old.buildInputs or [ ]) ++ lib.optional pkgs.stdenv.isDarwin pkgs.libiconv;
+        });
+
       osqp = super.osqp.overridePythonAttrs (
         old: {
           nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.cmake ];
@@ -1150,6 +1203,29 @@ lib.composeManyExtensions [
         }
       );
 
+
+      pandas = super.pandas.overridePythonAttrs (old: {
+
+        buildInputs = old.buildInputs or [ ] ++ lib.optional stdenv.isDarwin pkgs.libcxx;
+
+        # Doesn't work with -Werror,-Wunused-command-line-argument
+        # https://github.com/NixOS/nixpkgs/issues/39687
+        hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow";
+
+        # For OSX, we need to add a dependency on libcxx, which provides
+        # `complex.h` and other libraries that pandas depends on to build.
+        postPatch = lib.optionalString stdenv.isDarwin ''
+          cpp_sdk="${lib.getDev pkgs.libcxx}/include/c++/v1";
+          echo "Adding $cpp_sdk to the setup.py common_include variable"
+          substituteInPlace setup.py \
+            --replace "['pandas/src/klib', 'pandas/src']" \
+                      "['pandas/src/klib', 'pandas/src', '$cpp_sdk']"
+        '';
+
+
+        enableParallelBuilding = true;
+      });
+
       pantalaimon = super.pantalaimon.overridePythonAttrs (old: {
         nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.installShellFiles ];
         postInstall = old.postInstall or "" + ''
@@ -1196,8 +1272,12 @@ lib.composeManyExtensions [
 
       pillow = super.pillow.overridePythonAttrs (
         old: {
-          nativeBuildInputs = [ pkg-config self.pytest-runner ] ++ (old.nativeBuildInputs or [ ]);
-          buildInputs = with pkgs; [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ] ++ (old.buildInputs or [ ]);
+          nativeBuildInputs = (old.nativeBuildInputs or [ ])
+            ++ [ pkg-config self.pytest-runner ];
+          buildInputs = with pkgs; (old.buildInputs or [ ])
+            ++ [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ]
+            ++ lib.optionals (lib.versionAtLeast old.version "7.1.0") [ xorg.libxcb ]
+            ++ lib.optionals (self.isPyPy) [ tk xorg.libX11 ];
         }
       );
 
@@ -1246,6 +1326,14 @@ lib.composeManyExtensions [
         }
       );
 
+      psycopg2cffi = super.psycopg2cffi.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ])
+            ++ lib.optional stdenv.isDarwin pkgs.openssl;
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ];
+        }
+      );
+
       py-solc-x = super.py-solc-x.overridePythonAttrs (
         old: {
           preConfigure = ''
@@ -1860,6 +1948,12 @@ lib.composeManyExtensions [
 
       });
 
+      soundfile = super.soundfile.overridePythonAttrs (old: {
+        postPatch = ''
+          substituteInPlace soundfile.py --replace "_find_library('sndfile')" "'${pkgs.libsndfile.out}/lib/libsndfile${stdenv.hostPlatform.extensions.sharedLibrary}'"
+        '';
+      });
+
       systemd-python = super.systemd-python.overridePythonAttrs (old: {
         buildInputs = old.buildInputs ++ [ pkgs.systemd ];
         nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
diff --git a/pkgs/development/tools/protoc-gen-doc/default.nix b/pkgs/development/tools/protoc-gen-doc/default.nix
index 4774d1a11d5..50badf258b0 100644
--- a/pkgs/development/tools/protoc-gen-doc/default.nix
+++ b/pkgs/development/tools/protoc-gen-doc/default.nix
@@ -1,19 +1,17 @@
 { buildGoModule, fetchFromGitHub, lib }:
 
 buildGoModule rec {
-  pname = "protoc-gen-doc-unstable";
-  version = "1.5.0";
+  pname = "protoc-gen-doc";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "pseudomuto";
     repo = "protoc-gen-doc";
     rev = "v${version}";
-    sha256 = "1bpb5wv76p0sjffh5d1frbygp3q1p07sdh5c8pznl5bdh5pd7zxq";
+    sha256 = "sha256-19CN62AwqQGq5Gb5kQqVYhs+LKsJ9K2L0VAakwzPD5Y=";
   };
 
-  vendorSha256 = "08pk9nxsl28dw3qmrlb7vsm8xbdzmx98qwkxgg93ykrhzx235k1b";
-
-  doCheck = false;
+  vendorSha256 = "sha256-K0rZBERSKob5ubZW28QpbcPhgFKOOASkd9UyC9f8gyQ=";
 
   meta = with lib; {
     description = "Documentation generator plugin for Google Protocol Buffers";
diff --git a/pkgs/development/tools/protoc-gen-entgrpc/default.nix b/pkgs/development/tools/protoc-gen-entgrpc/default.nix
new file mode 100644
index 00000000000..d92b805082a
--- /dev/null
+++ b/pkgs/development/tools/protoc-gen-entgrpc/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "protoc-gen-entgrpc";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "ent";
+    repo = "contrib";
+    rev = "v${version}";
+    sha256 = "sha256-cpk8yRDBsupI277NWYFaLCvi3ltQDLgCrcpJ/FUVi9o=";
+  };
+
+  vendorSha256 = "sha256-RwwGFBiasxMmtKMLSyAqvkozqoyzzYuslMq+HnzZUhw=";
+
+  subPackages = [ "entproto/cmd/protoc-gen-entgrpc" ];
+
+  ldflags = [ "-s" "-w" ];
+
+  meta = with lib; {
+    description = "Generator of an implementation of the service interface for ent protobuff";
+    downloadPage = "https://github.com/ent/contrib/";
+    license = licenses.asl20;
+    homepage = "https://entgo.io/";
+    maintainers = with maintainers; [ superherointj ];
+  };
+}
+
diff --git a/pkgs/development/tools/protoc-gen-twirp_php/default.nix b/pkgs/development/tools/protoc-gen-twirp_php/default.nix
index df5afac2dbb..a54c860f295 100644
--- a/pkgs/development/tools/protoc-gen-twirp_php/default.nix
+++ b/pkgs/development/tools/protoc-gen-twirp_php/default.nix
@@ -2,19 +2,23 @@
 
 buildGoModule rec {
   pname = "protoc-gen-twirp_php";
-  version = "0.8.0";
+  version = "0.8.1";
 
   # fetchFromGitHub currently not possible, because go.mod and go.sum are export-ignored
   src = fetchgit {
     url = "https://github.com/twirphp/twirp.git";
     rev = "v${version}";
-    sha256 = "sha256-TaHfyYoWsA/g5xZFxIMNwE1w6Dd9Cq5bp1gpQudYLs0=";
+    sha256 = "sha256-5PACgKqc8rWqaA6Syj5NyxHm3827yd67tm0mwVSMnWQ=";
   };
 
   vendorSha256 = "sha256-qQFlBviRISEnPBt0q5391RqUrPTI/QDxg3MNfwWE8MI=";
 
   subPackages = [ "protoc-gen-twirp_php" ];
 
+  ldflags = [
+    "-X main.version=${version}"
+  ];
+
   meta = with lib; {
     description = "PHP port of Twitch's Twirp RPC framework";
     homepage = "https://github.com/twirphp/twirp";
diff --git a/pkgs/development/tools/protolint/default.nix b/pkgs/development/tools/protolint/default.nix
new file mode 100644
index 00000000000..dee2f9c28f5
--- /dev/null
+++ b/pkgs/development/tools/protolint/default.nix
@@ -0,0 +1,39 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+buildGoModule rec {
+  pname = "protolint";
+  version = "0.37.1";
+
+  src = fetchFromGitHub {
+    owner = "yoheimuta";
+    repo = pname;
+    rev = "6aa30515838cc0adf7c76a9461f52bdc713f2e9f";
+    sha256 = "sha256-oKGA5FZpT3E5G7oREGAojdu4Xn8JPd7IYwfueK9QA34=";
+  };
+
+  vendorSha256 = "sha256-iLQwx3B5n21ZXefWiGBBL9roa9LIFByzB8KXLywhvKs=";
+
+  # Something about the way we run tests causes issues. It doesn't happen
+  # when using "go test" directly:
+  # === RUN   TestEnumFieldNamesPrefixRule_Apply_fix/no_fix_for_a_correct_proto
+  #    util_test.go:35: open : no such file or directory
+  # === RUN   TestEnumFieldNamesPrefixRule_Apply_fix/fix_for_an_incorrect_proto
+  #    util_test.go:35: open : no such file or directory
+  excludedPackages = [ "internal" ];
+
+  ldflags = let
+    rev = builtins.substring 0 7 src.rev;
+  in [
+    "-X github.com/yoheimuta/protolint/internal/cmd.version=${version}"
+    "-X github.com/yoheimuta/protolint/internal/cmd.revision=${rev}"
+    "-X github.com/yoheimuta/protolint/internal/cmd/protocgenprotolint.version=${version}"
+    "-X github.com/yoheimuta/protolint/internal/cmd/protocgenprotolint.revision=${rev}"
+  ];
+
+  meta = with lib; {
+    description = "A pluggable linter and fixer to enforce Protocol Buffer style and conventions";
+    homepage = "https://github.com/yoheimuta/protolint";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.zane ];
+  };
+}
diff --git a/pkgs/development/tools/pur/default.nix b/pkgs/development/tools/pur/default.nix
index 359f3519acd..fc6a46cbc0a 100644
--- a/pkgs/development/tools/pur/default.nix
+++ b/pkgs/development/tools/pur/default.nix
@@ -3,34 +3,23 @@
 , fetchFromGitHub
 }:
 
-let
-  py = python3.override {
-    packageOverrides = self: super: {
-      # newest version doesn't support click >8.0 https://github.com/alanhamlett/pip-update-requirements/issues/38
-      # Use click 7
-      click = self.callPackage ../../../development/python2-modules/click/default.nix { };
-    };
-  };
-  inherit (py.pkgs) buildPythonApplication click pytestCheckHook;
-in
-
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "pur";
-  version = "5.4.2";
+  version = "6.1.0";
 
   src = fetchFromGitHub {
     owner = "alanhamlett";
     repo = "pip-update-requirements";
     rev = version;
-    sha256 = "sha256-coJO9AYm0Qx0arMf/e+pZFG/VxK6bnxxXRgw7x7V2hY=";
+    hash = "sha256-EcyDEXDgjicCRThXC+co/PwTjAxkRXVG1++JZtsSjZo=";
   };
 
   propagatedBuildInputs = [
-    click
+    python3.pkgs.click
   ];
 
   checkInputs = [
-    pytestCheckHook
+    python3.pkgs.pytestCheckHook
   ];
 
   pythonImportsCheck = [ "pur" ];
diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix
index 1747aaa55fd..b5cc43a6724 100644
--- a/pkgs/development/tools/purescript/spago/spago.nix
+++ b/pkgs/development/tools/purescript/spago/spago.nix
@@ -14,11 +14,11 @@
 }:
 mkDerivation {
   pname = "spago";
-  version = "0.20.7";
+  version = "0.20.8";
   src = fetchgit {
     url = "https://github.com/purescript/spago.git";
-    sha256 = "0k9ablqhx4m1hk0sc0rx824qq5gr7fp7dpg9rj5v793v6hd3q4jv";
-    rev = "41d9c967dc1db0de03985e31083eb76b3e2fcce4";
+    sha256 = "0lakss2pg5kwbxqsmvzgkcc70l6j40cj9rarhkpcf0kxw98bb5x0";
+    rev = "744bdbbefc538750d4c36888ee53dc5d336314c4";
     fetchSubmodules = true;
   };
   isLibrary = true;
diff --git a/pkgs/development/tools/pydb/default.nix b/pkgs/development/tools/pydb/default.nix
deleted file mode 100644
index 5380bb68608..00000000000
--- a/pkgs/development/tools/pydb/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, stdenv, fetchurl, python2, emacs }:
-
-stdenv.mkDerivation rec {
-  pname = "pydb";
-  version = "1.26";
-
-  src = fetchurl {
-    url =  "mirror://sourceforge/sourceforge/bashdb/${pname}-${version}.tar.bz2";
-    sha256 = "1wlkz1hd5d4gkzhkjkzcm650c1lchj28hj36jx96mklglm41h4q1";
-  };
-
-  buildInputs = [ python2 emacs /* emacs is optional */ ];
-
-  preConfigure = ''
-    p="$(toPythonPath $out)"
-    configureFlags="$configureFlags --with-python=${python2.interpreter} --with-site-packages=$p"
-  '';
-
-  meta = {
-    description = "Python debugger with GDB-like commands and Emacs bindings";
-    homepage = "http://bashdb.sourceforge.net/pydb/";
-    license = lib.licenses.gpl3;
-    platforms = lib.platforms.all;
-  };
-}
diff --git a/pkgs/development/tools/quick-lint-js/default.nix b/pkgs/development/tools/quick-lint-js/default.nix
index 47151dd1e66..43a7fa494ba 100644
--- a/pkgs/development/tools/quick-lint-js/default.nix
+++ b/pkgs/development/tools/quick-lint-js/default.nix
@@ -1,4 +1,4 @@
-{ cmake, fetchFromGitHub, lib, ninja, stdenv, testVersion, quick-lint-js }:
+{ cmake, fetchFromGitHub, lib, ninja, stdenv, testers, quick-lint-js }:
 
 
 stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   passthru.tests = {
-    version = testVersion { package = quick-lint-js; };
+    version = testers.testVersion { package = quick-lint-js; };
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/reflex/default.nix b/pkgs/development/tools/reflex/default.nix
index 86576869a97..c437d93f101 100644
--- a/pkgs/development/tools/reflex/default.nix
+++ b/pkgs/development/tools/reflex/default.nix
@@ -1,19 +1,20 @@
-{ lib, fetchFromGitHub, buildGoPackage }:
+{ lib, fetchFromGitHub, buildGoModule }:
 
-
-buildGoPackage rec {
+buildGoModule rec {
   pname = "reflex";
-  version = "0.2.0";
-
-  goPackagePath = "github.com/cespare/reflex";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "cespare";
     repo = "reflex";
     rev = "v${version}";
-    sha256 = "0ccwjmf8rjh03hpbmfiy70ai9dhgvb5vp7albffq0cmv2sl69dqr";
+    sha256 = "sha256-/2qVm2xpSFVspA16rkiIw/qckxzXQp/1EGOl0f9KljY=";
   };
 
+  vendorSha256 = "sha256-JCtVYDHbhH2i7tGNK1jvgHCjU6gMMkNhQ2ZnlTeqtmA=";
+
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     description = "A small tool to watch a directory and rerun a command when certain files change";
     homepage = "https://github.com/cespare/reflex";
diff --git a/pkgs/development/tools/relic/default.nix b/pkgs/development/tools/relic/default.nix
new file mode 100644
index 00000000000..d602afecdc4
--- /dev/null
+++ b/pkgs/development/tools/relic/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "relic";
+  version = "7.3.0";
+
+  src = fetchFromGitHub {
+    owner = "sassoftware";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256:0lmxgr9ld6rvqk990c60qh4gb8lr8s77f8i2p4jmp6cf434sc6y0";
+  };
+
+  vendorSha256 = "sha256:1l6xxr54rzjfvwmfvpavwzjnscsp532hjqhmdv0l1vx1psdk2aci";
+
+  meta = with lib; {
+    homepage = "https://github.com/sassoftware/relic";
+    description = "A service and a tool for adding digital signatures to operating system packages for Linux and Windows";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ strager ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/rocminfo/default.nix b/pkgs/development/tools/rocminfo/default.nix
index d399a912b5f..a7f895f8917 100644
--- a/pkgs/development/tools/rocminfo/default.nix
+++ b/pkgs/development/tools/rocminfo/default.nix
@@ -7,13 +7,13 @@
   # compilers to determine the desired target.
 , defaultTargets ? []}:
 stdenv.mkDerivation rec {
-  version = "5.0.1";
+  version = "5.1.1";
   pname = "rocminfo";
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "rocminfo";
     rev = "rocm-${version}";
-    sha256 = "sha256-H9JdrDS/pbvYMKkayu/1rrXusHeXBH1CO9jYArsbCNI=";
+    sha256 = "sha256-x+QJJtUvgtNS4116tJFWdJOUS8yV4o10mbTAUuxerkE=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/ronn/Gemfile b/pkgs/development/tools/ronn/Gemfile
index 64f1df743ab..0643ca6ddfd 100644
--- a/pkgs/development/tools/ronn/Gemfile
+++ b/pkgs/development/tools/ronn/Gemfile
@@ -1,3 +1,3 @@
 source "https://rubygems.org"
 
-gem "ronn"
+gem "ronn-ng"
diff --git a/pkgs/development/tools/ronn/Gemfile.lock b/pkgs/development/tools/ronn/Gemfile.lock
index ff71ebd7a01..a7f76ffd787 100644
--- a/pkgs/development/tools/ronn/Gemfile.lock
+++ b/pkgs/development/tools/ronn/Gemfile.lock
@@ -1,19 +1,25 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    hpricot (0.8.6)
-    mustache (1.0.3)
-    rdiscount (2.2.0.1)
-    ronn (0.7.3)
-      hpricot (>= 0.8.2)
-      mustache (>= 0.7.0)
-      rdiscount (>= 1.5.8)
+    kramdown (2.3.2)
+      rexml
+    mini_portile2 (2.8.0)
+    mustache (0.99.8)
+    nokogiri (1.13.4)
+      mini_portile2 (~> 2.8.0)
+      racc (~> 1.4)
+    racc (1.6.0)
+    rexml (3.2.5)
+    ronn-ng (0.9.1)
+      kramdown (~> 2.1)
+      mustache (~> 0.7, >= 0.7.0)
+      nokogiri (~> 1.9, >= 1.9.0)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  ronn
+  ronn-ng
 
 BUNDLED WITH
-   2.1.4
+   2.3.9
diff --git a/pkgs/development/tools/ronn/default.nix b/pkgs/development/tools/ronn/default.nix
index 4d06db77a69..c3f0d263184 100644
--- a/pkgs/development/tools/ronn/default.nix
+++ b/pkgs/development/tools/ronn/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "ronn";
-  version = env.gems.ronn.version;
+  version = env.gems.ronn-ng.version;
 
   env = bundlerEnv {
     name = "ronn-gems";
@@ -11,12 +11,18 @@ stdenv.mkDerivation rec {
 
   dontUnpack = true;
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [
+    makeWrapper
+  ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     makeWrapper ${env}/bin/ronn $out/bin/ronn \
       --set PATH ${groff}/bin
+
+    runHook postInstall
   '';
 
   passthru.updateScript = bundlerUpdateScript "ronn";
@@ -25,7 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "markdown-based tool for building manpages";
-    homepage = "https://rtomayko.github.io/ronn/";
+    homepage = "https://github.com/apjanke/ronn-ng";
     license = licenses.mit;
     maintainers = with maintainers; [ zimbatm nicknovitski ];
     platforms = env.ruby.meta.platforms;
diff --git a/pkgs/development/tools/ronn/gemset.nix b/pkgs/development/tools/ronn/gemset.nix
index 534741a6993..04703a84a36 100644
--- a/pkgs/development/tools/ronn/gemset.nix
+++ b/pkgs/development/tools/ronn/gemset.nix
@@ -1,34 +1,75 @@
 {
-  hpricot = {
+  kramdown = {
+    dependencies = ["rexml"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jn8x9ch79gqmnzgyz78kppavjh5lqx0y0r6frykga2b86rz9s6z";
+      sha256 = "0757lqaq593z8hzdv98nai73ag384dkk7jgj3mcq2r6ix7130ifb";
       type = "gem";
     };
-    version = "0.8.6";
+    version = "2.3.2";
+  };
+  mini_portile2 = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy";
+      type = "gem";
+    };
+    version = "2.8.0";
   };
   mustache = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2";
+      type = "gem";
+    };
+    version = "0.99.8";
+  };
+  nokogiri = {
+    dependencies = ["mini_portile2" "racc"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g43ii497cwdqhfnaxfl500bq5yfc5hfv5df1lvf6wcjnd708ihd";
+      type = "gem";
+    };
+    version = "1.13.4";
+  };
+  racc = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v4pdvgvs8gw0zbh5sy3l308amlsjg8sdfrkml0g0m0wwj4x7naf";
+      sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.6.0";
   };
-  rdiscount = {
+  rexml = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1arvk3k06prxasq1djbj065ixar4zl171340g7wr1ww4gj9makx3";
+      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
       type = "gem";
     };
-    version = "2.2.0.1";
+    version = "3.2.5";
   };
-  ronn = {
+  ronn-ng = {
+    dependencies = ["kramdown" "mustache" "nokogiri"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07plsxxfx5bxdk72ii9za6km0ziqlq8jh3bicr4774dalga6zpw2";
+      sha256 = "1slxfg57cabmh98fw507z4ka6lwq1pvbrqwppflxw6700pi8ykfh";
       type = "gem";
     };
-    version = "0.7.3";
+    version = "0.9.1";
   };
 }
diff --git a/pkgs/development/tools/rover/default.nix b/pkgs/development/tools/rover/default.nix
index 7232089ee99..5144ecb38e8 100644
--- a/pkgs/development/tools/rover/default.nix
+++ b/pkgs/development/tools/rover/default.nix
@@ -3,26 +3,20 @@
 , fetchFromGitHub
 , perl
 , rustPlatform
-, librusty_v8 ? callPackage ./librusty_v8.nix { }
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rover";
-  version = "0.4.8";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "apollographql";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9o2bGa9vxN7EprKgsy9TI7AFmwjo1OT1pDyiLierTq0=";
+    sha256 = "sha256-wBHMND/xpm9o7pkWMUj9lEtEkzy3mX+E4Dt7qDn6auY=";
   };
 
-  cargoSha256 = "sha256-4oNuyZ1xNK2jP9QFEcthCjEQRyvFykd5N0j5KCXrzVY=";
-
-  # The v8 package will try to download a `librusty_v8.a` release at build time
-  # to our read-only filesystem. To avoid this we pre-download the file and
-  # export it via RUSTY_V8_ARCHIVE
-  RUSTY_V8_ARCHIVE = librusty_v8;
+  cargoSha256 = "sha256-n0R2MdAYGsOsYt4x1N1KdGvBZYTALyhSzCGW29bnFU4=";
 
   nativeBuildInputs = [
     perl
diff --git a/pkgs/development/tools/rover/librusty_v8.nix b/pkgs/development/tools/rover/librusty_v8.nix
deleted file mode 100644
index 3dcb1f95acd..00000000000
--- a/pkgs/development/tools/rover/librusty_v8.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ rust, stdenv, fetchurl }:
-
-let
-  arch = rust.toRustTarget stdenv.hostPlatform;
-  fetch_librusty_v8 = args: fetchurl {
-    name = "librusty_v8-${args.version}";
-    url = "https://github.com/denoland/rusty_v8/releases/download/v${args.version}/librusty_v8_release_${arch}.a";
-    sha256 = args.shas.${stdenv.hostPlatform.system};
-    meta = { inherit (args) version; };
-  };
-in
-fetch_librusty_v8 {
-  version = "0.38.1";
-  shas = {
-    x86_64-linux = "sha256-vRkb5ZrIOYSKa84UbsJD+Oua0wve7f1Yf3kMg/kkYSY=";
-  };
-}
diff --git a/pkgs/development/tools/rover/schema/etag.id b/pkgs/development/tools/rover/schema/etag.id
index 369872c3115..a8b9f0cece3 100644
--- a/pkgs/development/tools/rover/schema/etag.id
+++ b/pkgs/development/tools/rover/schema/etag.id
@@ -1 +1 @@
-1bdcf8916afc3cea660add457724dddd70154904f4e360e15da27fa7d5c43cd0
+2694c7b893d44c9ad8f5d7161116deb9985a6bd05e8e0cdcd7379947430e6f89
diff --git a/pkgs/development/tools/rover/schema/schema.graphql b/pkgs/development/tools/rover/schema/schema.graphql
index 58198f7e181..b20b21a91e4 100644
--- a/pkgs/development/tools/rover/schema/schema.graphql
+++ b/pkgs/development/tools/rover/schema/schema.graphql
@@ -7,7 +7,7 @@ argument is used for bandwidth reduction, and should be the size of the image as
 application. Apollo's media server will downscale larger images to at least the requested size,
 but this will not happen for third-party media servers.""" avatarUrl(size:Int!=40):String billingInfo:BillingInfo companyUrl:String currentBillingMonth:BillingMonth currentPlan:BillingPlan!currentPlanV2:BillingPlanV2!currentSubscription:BillingSubscription currentSubscriptionV2:BillingSubscriptionV2 experimentalFeatures:AccountExperimentalFeatures!expiredTrialSubscription:BillingSubscription expiredTrialSubscriptionV2:BillingSubscriptionV2 graphIDAvailable(id:ID!):Boolean!hasBeenOnTrial:Boolean!hasBeenOnTrialV2:Boolean!"""Globally unique identifier, which isn't guaranteed stable (can be changed by administrators).""" id:ID!"""Internal immutable identifier for the account. Only visible to Apollo admins (because it really
 shouldn't be used in normal client apps).""" internalID:ID!invitations(includeAccepted:Boolean!=false):[AccountInvitation!]invoices:[Invoice!]invoicesV2:[InvoiceV2!]!isOnExpiredTrial:Boolean!isOnTrial:Boolean!legacyIsOnTrial:Boolean!memberships:[AccountMembership!]"""Name of the organization, which can change over time and isn't unique.""" name:String!provisionedAt:Timestamp recurlyEmail:String """Returns a different registry related stats pertaining to this account.""" registryStatsWindow(from:Timestamp!resolution:Resolution to:Timestamp):RegistryStatsWindow requests(from:Timestamp!to:Timestamp!):Long requestsInCurrentBillingPeriod:Long roles:AccountRoles """How many seats would be included in your next bill, as best estimated today""" seatCountForNextBill:Int seats:Seats secondaryIDs:[ID!]!"""Graphs belonging to this organization.""" services(includeDeleted:Boolean):[Service!]!"""If non-null, this organization tracks its members through an upstream, eg PingOne;
-invitations are not possible on SSO-synchronized account.""" sso:OrganizationSSO state:AccountState """A list of reusable invitations for the organization.""" staticInvitations:[OrganizationInviteLink!]stats(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):AccountStatsWindow!@deprecated(reason:"use Account.statsWindow instead")statsWindow(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):AccountStatsWindow subscriptions:[BillingSubscription!]subscriptionsV2:[BillingSubscriptionV2!]!"""Gets a ticket for this org, by id""" ticket(id:ID!):ZendeskTicket """List of Zendesk tickets submitted for this org""" tickets:[ZendeskTicket!]}"""Columns of AccountBillingUsageStats.""" enum AccountBillingUsageStatsColumn{OPERATION_COUNT OPERATION_COUNT_PROVIDED_EXPLICITLY SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountBillingUsageStatsDimensions{operationCountProvidedExplicitly:String schemaTag:String serviceId:ID}"""Filter for data in AccountBillingUsageStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountBillingUsageStatsFilter{and:[AccountBillingUsageStatsFilter!]in:AccountBillingUsageStatsFilterIn not:AccountBillingUsageStatsFilter """Selects rows whose operationCountProvidedExplicitly dimension equals the given value if not null. To query for the null value, use {in: {operationCountProvidedExplicitly: [null]}} instead.""" operationCountProvidedExplicitly:String or:[AccountBillingUsageStatsFilter!]"""Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountBillingUsageStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountBillingUsageStatsFilterIn{"""Selects rows whose operationCountProvidedExplicitly dimension is in the given list. A null value in the list means a row with null for that dimension.""" operationCountProvidedExplicitly:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountBillingUsageStatsMetrics{operationCount:Long!}input AccountBillingUsageStatsOrderBySpec{column:AccountBillingUsageStatsColumn!direction:Ordering!}type AccountBillingUsageStatsRecord{"""Dimensions of AccountBillingUsageStats that can be grouped by.""" groupBy:AccountBillingUsageStatsDimensions!"""Metrics of AccountBillingUsageStats that can be aggregated over.""" metrics:AccountBillingUsageStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountChecksStatsMetrics{totalFailedChecks:Long!totalSuccessfulChecks:Long!}type AccountChecksStatsRecord{id:ID!metrics:AccountChecksStatsMetrics!timestamp:Timestamp!}"""Columns of AccountEdgeServerInfos.""" enum AccountEdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID SERVICE_ID TIMESTAMP USER_VERSION}type AccountEdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID serviceId:ID userVersion:String}"""Filter for data in AccountEdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountEdgeServerInfosFilter{and:[AccountEdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:AccountEdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:AccountEdgeServerInfosFilter or:[AccountEdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in AccountEdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountEdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input AccountEdgeServerInfosOrderBySpec{column:AccountEdgeServerInfosColumn!direction:Ordering!}type AccountEdgeServerInfosRecord{"""Dimensions of AccountEdgeServerInfos that can be grouped by.""" groupBy:AccountEdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountErrorStats.""" enum AccountErrorStatsColumn{CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountErrorStatsDimensions{clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountErrorStatsFilter{and:[AccountErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:AccountErrorStatsFilterIn not:AccountErrorStatsFilter or:[AccountErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountErrorStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input AccountErrorStatsOrderBySpec{column:AccountErrorStatsColumn!direction:Ordering!}type AccountErrorStatsRecord{"""Dimensions of AccountErrorStats that can be grouped by.""" groupBy:AccountErrorStatsDimensions!"""Metrics of AccountErrorStats that can be aggregated over.""" metrics:AccountErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountExperimentalFeatures{auditLogs:Boolean!championDashboard:Boolean!derivedLaunches:Boolean!federation2Preview:Boolean!preRequestPreview:Boolean!publicVariants:Boolean!variantHomepage:Boolean!webhooksPreview:Boolean!}"""Columns of AccountFieldLatencies.""" enum AccountFieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldLatenciesFilter{and:[AccountFieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldLatenciesFilterIn not:AccountFieldLatenciesFilter or:[AccountFieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input AccountFieldLatenciesOrderBySpec{column:AccountFieldLatenciesColumn!direction:Ordering!}type AccountFieldLatenciesRecord{"""Dimensions of AccountFieldLatencies that can be grouped by.""" groupBy:AccountFieldLatenciesDimensions!"""Metrics of AccountFieldLatencies that can be aggregated over.""" metrics:AccountFieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountFieldUsage.""" enum AccountFieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldUsageFilter{and:[AccountFieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldUsageFilterIn not:AccountFieldUsageFilter or:[AccountFieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input AccountFieldUsageOrderBySpec{column:AccountFieldUsageColumn!direction:Ordering!}type AccountFieldUsageRecord{"""Dimensions of AccountFieldUsage that can be grouped by.""" groupBy:AccountFieldUsageDimensions!"""Metrics of AccountFieldUsage that can be aggregated over.""" metrics:AccountFieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountInvitation{"""An accepted invitation cannot be used anymore""" acceptedAt:Timestamp """Who accepted the invitation""" acceptedBy:User """Time the invitation was created""" createdAt:Timestamp!"""Who created the invitation""" createdBy:User email:String!id:ID!"""Last time we sent an email for the invitation""" lastSentAt:Timestamp """Access role for the invitee""" role:UserPermission!}type AccountMembership{account:Account!createdAt:Timestamp!"""If this membership is a free seat (based on role)""" free:Boolean permission:UserPermission!user:User!}type AccountMutation{auditExport(id:String!):AuditLogExportMutation """Cancel a pending change from an annual team subscription to a monthly team subscription when the current period expires.""" cancelConvertAnnualTeamSubscriptionToMonthlyAtNextPeriod:Account """Cancel account subscriptions, subscriptions will remain active until the end of the paid period""" cancelSubscriptions:Account """Changes an annual team subscription to a monthly team subscription when the current period expires.""" convertAnnualTeamSubscriptionToMonthlyAtNextPeriod:Account """Changes a monthly team subscription to an annual team subscription.""" convertMonthlyTeamSubscriptionToAnnual:Account createStaticInvitation(role:UserPermission!):OrganizationInviteLink """Delete the account's avatar. Requires Account.canUpdateAvatar to be true.""" deleteAvatar:AvatarDeleteError """Acknowledge that a trial has expired and return to community""" dismissExpiredTrial:Account """Apollo admins only: extend an ongoing trial""" extendTrial(to:Timestamp!):Account """Hard delete an account and all associated services""" hardDelete:Void """Send an invitation to join the account by E-mail""" invite(email:String!role:UserPermission):AccountInvitation """Reactivate a canceled current subscription""" reactivateCurrentSubscription:Account """Refresh billing information from third-party billing service""" refreshBilling:Void """Delete an invitation""" removeInvitation(id:ID):Void """Remove a member of the account""" removeMember(id:ID!):Account requestAuditExport(actors:[ActorInput!]from:Timestamp!graphIds:[String!]to:Timestamp!):Account """Send a new E-mail for an existing invitation""" resendInvitation(id:ID):AccountInvitation revokeStaticInvitation(token:String!):OrganizationInviteLink """Apollo admins only: set the billing plan to an arbitrary plan""" setPlan(id:ID!):Void """Start a new team subscription with the given billing period""" startTeamSubscription(billingPeriod:BillingPeriod!):Account """Start a team trial""" startTrial:Account """This is called by the form shown to users after they cancel their team subscription.""" submitTeamCancellationFeedback(feedback:String!):Void """Apollo admins only: terminate any ongoing subscriptions in the account, without refunds""" terminateSubscriptions:Account """Update the billing address for a Recurly token""" updateBillingAddress(billingAddress:BillingAddressInput!):Account """Update the billing information from a Recurly token""" updateBillingInfo(token:String!):Void updateCompanyUrl(companyUrl:String):Account """Set the E-mail address of the account, used notably for billing""" updateEmail(email:String!):Void """Update the account ID""" updateID(id:ID!):Account """Update the company name""" updateName(name:String!):Void """Apollo admins only: enable or disable an account for PingOne SSO login""" updatePingOneSSOIDPID(idpid:String):Account """Updates the role assigned to new SSO users.""" updateSSODefaultRole(role:UserPermission!):OrganizationSSO """A (currently) internal to Apollo mutation to update a user's role within an organization""" updateUserPermission(permission:UserPermission!userID:ID!):User}"""Columns of AccountOperationCheckStats.""" enum AccountOperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_REQUESTS_COUNT}type AccountOperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String serviceId:ID}"""Filter for data in AccountOperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountOperationCheckStatsFilter{and:[AccountOperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:AccountOperationCheckStatsFilterIn not:AccountOperationCheckStatsFilter or:[AccountOperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountOperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountOperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountOperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input AccountOperationCheckStatsOrderBySpec{column:AccountOperationCheckStatsColumn!direction:Ordering!}type AccountOperationCheckStatsRecord{"""Dimensions of AccountOperationCheckStats that can be grouped by.""" groupBy:AccountOperationCheckStatsDimensions!"""Metrics of AccountOperationCheckStats that can be aggregated over.""" metrics:AccountOperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountPublishesStatsMetrics{totalPublishes:Long!}type AccountPublishesStatsRecord{id:ID!metrics:AccountPublishesStatsMetrics!timestamp:Timestamp!}"""Columns of AccountQueryStats.""" enum AccountQueryStatsColumn{CACHED_HISTOGRAM CACHED_REQUESTS_COUNT CACHE_TTL_HISTOGRAM CLIENT_NAME CLIENT_VERSION FORBIDDEN_OPERATION_COUNT FROM_ENGINEPROXY QUERY_ID QUERY_NAME REGISTERED_OPERATION_COUNT REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_HISTOGRAM UNCACHED_REQUESTS_COUNT}type AccountQueryStatsDimensions{clientName:String clientVersion:String fromEngineproxy:String queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountQueryStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountQueryStatsFilter{and:[AccountQueryStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fromEngineproxy dimension equals the given value if not null. To query for the null value, use {in: {fromEngineproxy: [null]}} instead.""" fromEngineproxy:String in:AccountQueryStatsFilterIn not:AccountQueryStatsFilter or:[AccountQueryStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountQueryStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountQueryStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fromEngineproxy dimension is in the given list. A null value in the list means a row with null for that dimension.""" fromEngineproxy:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountQueryStatsMetrics{cacheTtlHistogram:DurationHistogram!cachedHistogram:DurationHistogram!cachedRequestsCount:Long!forbiddenOperationCount:Long!registeredOperationCount:Long!requestsWithErrorsCount:Long!totalLatencyHistogram:DurationHistogram!totalRequestCount:Long!uncachedHistogram:DurationHistogram!uncachedRequestsCount:Long!}input AccountQueryStatsOrderBySpec{column:AccountQueryStatsColumn!direction:Ordering!}type AccountQueryStatsRecord{"""Dimensions of AccountQueryStats that can be grouped by.""" groupBy:AccountQueryStatsDimensions!"""Metrics of AccountQueryStats that can be aggregated over.""" metrics:AccountQueryStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountRoles{canAudit:Boolean!canCreateDevGraph:Boolean!canCreateService:Boolean!canDelete:Boolean!canDownloadInvoice:Boolean!@deprecated(reason:"Use canQueryBillingInfo instead")canManageMembers:Boolean!canQuery:Boolean!canQueryAudit:Boolean!canQueryBillingInfo:Boolean!canQueryInvoices:Boolean!@deprecated(reason:"Use canQueryBillingInfo instead")canQueryMembers:Boolean!canQueryStats:Boolean!canReadTickets:Boolean!canRemoveMembers:Boolean!canSetConstrainedPlan:Boolean!canUpdateBillingInfo:Boolean!canUpdateMetadata:Boolean!}enum AccountState{ACTIVE CLOSED UNKNOWN UNPROVISIONED}"""A time window with a specified granularity over a given account.""" type AccountStatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:AccountBillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountBillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountBillingUsageStatsOrderBySpec!]):[AccountBillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:AccountEdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountEdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountEdgeServerInfosOrderBySpec!]):[AccountEdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:AccountErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountErrorStatsOrderBySpec!]):[AccountErrorStatsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:AccountFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldLatenciesOrderBySpec!]):[AccountFieldLatenciesRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:AccountFieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldUsageOrderBySpec!]):[AccountFieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:AccountOperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountOperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountOperationCheckStatsOrderBySpec!]):[AccountOperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:AccountQueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountQueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountQueryStatsOrderBySpec!]):[AccountQueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:AccountTracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountTracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountTracePathErrorsRefsOrderBySpec!]):[AccountTracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:AccountTraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountTraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountTraceRefsOrderBySpec!]):[AccountTraceRefsRecord!]!}"""Columns of AccountTracePathErrorsRefs.""" enum AccountTracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type AccountTracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in AccountTracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountTracePathErrorsRefsFilter{and:[AccountTracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:AccountTracePathErrorsRefsFilterIn not:AccountTracePathErrorsRefsFilter or:[AccountTracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in AccountTracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountTracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type AccountTracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input AccountTracePathErrorsRefsOrderBySpec{column:AccountTracePathErrorsRefsColumn!direction:Ordering!}type AccountTracePathErrorsRefsRecord{"""Dimensions of AccountTracePathErrorsRefs that can be grouped by.""" groupBy:AccountTracePathErrorsRefsDimensions!"""Metrics of AccountTracePathErrorsRefs that can be aggregated over.""" metrics:AccountTracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountTraceRefs.""" enum AccountTraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type AccountTraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID traceId:ID}"""Filter for data in AccountTraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountTraceRefsFilter{and:[AccountTraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:AccountTraceRefsFilterIn not:AccountTraceRefsFilter or:[AccountTraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in AccountTraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountTraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type AccountTraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input AccountTraceRefsOrderBySpec{column:AccountTraceRefsColumn!direction:Ordering!}type AccountTraceRefsRecord{"""Dimensions of AccountTraceRefs that can be grouped by.""" groupBy:AccountTraceRefsDimensions!"""Metrics of AccountTraceRefs that can be aggregated over.""" metrics:AccountTraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""An actor (view of Identity) that performed an action within Studio.""" type Actor{actorId:ID!type:ActorType!}input ActorInput{actorId:ID!type:ActorType!}enum ActorType{ANONYMOUS_USER BACKFILL CRON GRAPH INTERNAL_IDENTITY SYNCHRONIZATION SYSTEM USER}union AddOperationCollectionEntryResult=OperationCollectionEntry|PermissionError|ValidationError union AddOperationCollectionToVariantResult=GraphVariant|InvalidTarget|PermissionError|ValidationError type AffectedClient{"""ID, often the name, of the client set by the user and reported alongside metrics""" clientReferenceId:ID@deprecated(reason:"Unsupported.")"""version of the client set by the user and reported alongside metrics""" clientVersion:String@deprecated(reason:"Unsupported.")}type AffectedQuery{"""If the operation would be approved if the check ran again. Returns null if queried from SchemaDiff.changes.affectedQueries.alreadyApproved""" alreadyApproved:Boolean """If the operation would be ignored if the check ran again""" alreadyIgnored:Boolean """List of changes affecting this query. Returns null if queried from SchemaDiff.changes.affectedQueries.changes""" changes:[ChangeOnOperation!]"""Name to display to the user for the operation""" displayName:String id:ID!"""Determines if this query validates against the proposed schema""" isValid:Boolean """Whether this operation was ignored and its severity was downgraded for that reason""" markedAsIgnored:Boolean """Whether the changes were marked as safe and its severity was downgraded for that reason""" markedAsSafe:Boolean """Name provided for the operation, which can be empty string if it is an anonymous operation""" name:String """First 128 characters of query signature for display""" signature:String}interface ApiKey{id:ID!keyName:String token:String!}type ApiKeyProvision{apiKey:ApiKey!created:Boolean!}type AuditLogExport{actors:[Identity!]bigqueryTriggeredAt:Timestamp completedAt:Timestamp createdAt:Timestamp!exportedFiles:[String!]from:Timestamp!graphs:[Service!]id:ID!requester:User status:AuditStatus!to:Timestamp!}type AuditLogExportMutation{cancel:Account delete:Account}enum AuditStatus{CANCELLED COMPLETED EXPIRED FAILED IN_PROGRESS QUEUED}type AvatarDeleteError{clientMessage:String!code:AvatarDeleteErrorCode!serverMessage:String!}enum AvatarDeleteErrorCode{SSO_USERS_CANNOT_DELETE_SELF_AVATAR}type AvatarUploadError{clientMessage:String!code:AvatarUploadErrorCode!serverMessage:String!}enum AvatarUploadErrorCode{SSO_USERS_CANNOT_UPLOAD_SELF_AVATAR}union AvatarUploadResult=AvatarUploadError|MediaUploadInfo type BillingAddress{address1:String address2:String city:String country:String state:String zip:String}"""Billing address inpnut""" input BillingAddressInput{address1:String!address2:String city:String!country:String!state:String!zip:String!}type BillingInfo{address:BillingAddress!cardType:String firstName:String lastFour:Int lastName:String month:Int vatNumber:String year:Int}enum BillingModel{REQUEST_BASED SEAT_BASED}type BillingMonth{end:Timestamp!requests:Long!start:Timestamp!}enum BillingPeriod{MONTHLY QUARTERLY SEMI_ANNUALLY YEARLY}type BillingPlan{addons:[BillingPlanAddon!]!billingModel:BillingModel!billingPeriod:BillingPeriod capabilities:BillingPlanCapabilities!description:String id:ID!isTrial:Boolean!kind:BillingPlanKind!name:String!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of subscribing to this plan with a quantity of 1 (currently always the case)""" pricePerUnitInUsdCents:Int!"""Whether the plan is accessible by all users in QueryRoot.allPlans, QueryRoot.plan, or AccountMutation.setPlan""" public:Boolean!tier:BillingPlanTier!}type BillingPlanAddon{id:ID!pricePerUnitInUsdCents:Int!}type BillingPlanAddonV2{id:ID!pricePerUnitInUsdCents:Int!}type BillingPlanCapabilities{clients:Boolean!contracts:Boolean!datadog:Boolean!errors:Boolean!federation:Boolean!launches:Boolean!maxAuditInDays:Int!maxRangeInDays:Int maxRequestsPerMonth:Long metrics:Boolean!notifications:Boolean!operationRegistry:Boolean!ranges:[String!]!schemaValidation:Boolean!traces:Boolean!userRoles:Boolean!webhooks:Boolean!}enum BillingPlanKind{COMMUNITY ENTERPRISE_INTERNAL ENTERPRISE_PAID ENTERPRISE_PILOT TEAM_PAID TEAM_TRIAL}enum BillingPlanKindV2{COMMUNITY ENTERPRISE_INTERNAL ENTERPRISE_PAID ENTERPRISE_PILOT TEAM_PAID TEAM_TRIAL UNKNOWN}enum BillingPlanTier{COMMUNITY ENTERPRISE TEAM}enum BillingPlanTierV2{COMMUNITY ENTERPRISE TEAM UNKNOWN}type BillingPlanV2{addons:[BillingPlanAddonV2!]!billingModel:BillingModel!billingPeriod:BillingPeriod clients:Boolean!contracts:Boolean!datadog:Boolean!description:String errors:Boolean!federation:Boolean!id:ID!isTrial:Boolean!kind:BillingPlanKindV2!launches:Boolean!maxAuditInDays:Int!maxRangeInDays:Int maxRequestsPerMonth:Long metrics:Boolean!name:String!notifications:Boolean!operationRegistry:Boolean!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of subscribing to this plan with a quantity of 1 (currently always the case)""" pricePerUnitInUsdCents:Int!"""Whether the plan is accessible by all users in QueryRoot.allPlans, QueryRoot.plan, or AccountMutation.setPlan""" public:Boolean!ranges:[String!]!schemaValidation:Boolean!tier:BillingPlanTierV2!traces:Boolean!userRoles:Boolean!webhooks:Boolean!}type BillingSubscription{activatedAt:Timestamp!addons:[BillingSubscriptionAddon!]!autoRenew:Boolean!"""The price of the subscription when ignoring add-ons (such as seats), ie quantity * pricePerUnitInUsdCents""" basePriceInUsdCents:Long!canceledAt:Timestamp currentPeriodEndsAt:Timestamp!currentPeriodStartedAt:Timestamp!expiresAt:Timestamp plan:BillingPlan!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of every unit in the subscription (hence multiplied by quantity to get to the basePriceInUsdCents)""" pricePerUnitInUsdCents:Int!quantity:Int!"""Total price of the subscription when it next renews, including add-ons (such as seats)""" renewalTotalPriceInUsdCents:Long!state:SubscriptionState!"""Total price of the subscription, including add-ons (such as seats)""" totalPriceInUsdCents:Long!"""When this subscription's trial period expires (if it is a trial). Not the same as the
+invitations are not possible on SSO-synchronized account.""" sso:OrganizationSSO state:AccountState """A list of reusable invitations for the organization.""" staticInvitations:[OrganizationInviteLink!]stats(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):AccountStatsWindow!@deprecated(reason:"use Account.statsWindow instead")statsWindow(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):AccountStatsWindow subscriptions:[BillingSubscription!]subscriptionsV2:[BillingSubscriptionV2!]!"""Gets a ticket for this org, by id""" ticket(id:ID!):ZendeskTicket """List of Zendesk tickets submitted for this org""" tickets:[ZendeskTicket!]}"""Columns of AccountBillingUsageStats.""" enum AccountBillingUsageStatsColumn{OPERATION_COUNT OPERATION_COUNT_PROVIDED_EXPLICITLY SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountBillingUsageStatsDimensions{operationCountProvidedExplicitly:String schemaTag:String serviceId:ID}"""Filter for data in AccountBillingUsageStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountBillingUsageStatsFilter{and:[AccountBillingUsageStatsFilter!]in:AccountBillingUsageStatsFilterIn not:AccountBillingUsageStatsFilter """Selects rows whose operationCountProvidedExplicitly dimension equals the given value if not null. To query for the null value, use {in: {operationCountProvidedExplicitly: [null]}} instead.""" operationCountProvidedExplicitly:String or:[AccountBillingUsageStatsFilter!]"""Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountBillingUsageStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountBillingUsageStatsFilterIn{"""Selects rows whose operationCountProvidedExplicitly dimension is in the given list. A null value in the list means a row with null for that dimension.""" operationCountProvidedExplicitly:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountBillingUsageStatsMetrics{operationCount:Long!}input AccountBillingUsageStatsOrderBySpec{column:AccountBillingUsageStatsColumn!direction:Ordering!}type AccountBillingUsageStatsRecord{"""Dimensions of AccountBillingUsageStats that can be grouped by.""" groupBy:AccountBillingUsageStatsDimensions!"""Metrics of AccountBillingUsageStats that can be aggregated over.""" metrics:AccountBillingUsageStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountChecksStatsMetrics{totalFailedChecks:Long!totalSuccessfulChecks:Long!}type AccountChecksStatsRecord{id:ID!metrics:AccountChecksStatsMetrics!timestamp:Timestamp!}"""Columns of AccountEdgeServerInfos.""" enum AccountEdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID SERVICE_ID TIMESTAMP USER_VERSION}type AccountEdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID serviceId:ID userVersion:String}"""Filter for data in AccountEdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountEdgeServerInfosFilter{and:[AccountEdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:AccountEdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:AccountEdgeServerInfosFilter or:[AccountEdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in AccountEdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountEdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input AccountEdgeServerInfosOrderBySpec{column:AccountEdgeServerInfosColumn!direction:Ordering!}type AccountEdgeServerInfosRecord{"""Dimensions of AccountEdgeServerInfos that can be grouped by.""" groupBy:AccountEdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountErrorStats.""" enum AccountErrorStatsColumn{CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountErrorStatsDimensions{clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountErrorStatsFilter{and:[AccountErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:AccountErrorStatsFilterIn not:AccountErrorStatsFilter or:[AccountErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountErrorStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input AccountErrorStatsOrderBySpec{column:AccountErrorStatsColumn!direction:Ordering!}type AccountErrorStatsRecord{"""Dimensions of AccountErrorStats that can be grouped by.""" groupBy:AccountErrorStatsDimensions!"""Metrics of AccountErrorStats that can be aggregated over.""" metrics:AccountErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountExperimentalFeatures{auditLogs:Boolean!championDashboard:Boolean!federation2Preview:Boolean!preRequestPreview:Boolean!publicVariants:Boolean!variantHomepage:Boolean!webhooksPreview:Boolean!}"""Columns of AccountFieldExecutions.""" enum AccountFieldExecutionsColumn{ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldExecutionsDimensions{fieldName:String parentType:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldExecutions. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldExecutionsFilter{and:[AccountFieldExecutionsFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldExecutionsFilterIn not:AccountFieldExecutionsFilter or:[AccountFieldExecutionsFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldExecutions. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldExecutionsFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldExecutionsMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input AccountFieldExecutionsOrderBySpec{column:AccountFieldExecutionsColumn!direction:Ordering!}type AccountFieldExecutionsRecord{"""Dimensions of AccountFieldExecutions that can be grouped by.""" groupBy:AccountFieldExecutionsDimensions!"""Metrics of AccountFieldExecutions that can be aggregated over.""" metrics:AccountFieldExecutionsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountFieldLatencies.""" enum AccountFieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldLatenciesFilter{and:[AccountFieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldLatenciesFilterIn not:AccountFieldLatenciesFilter or:[AccountFieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input AccountFieldLatenciesOrderBySpec{column:AccountFieldLatenciesColumn!direction:Ordering!}type AccountFieldLatenciesRecord{"""Dimensions of AccountFieldLatencies that can be grouped by.""" groupBy:AccountFieldLatenciesDimensions!"""Metrics of AccountFieldLatencies that can be aggregated over.""" metrics:AccountFieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountFieldRequestsByClientVersion.""" enum AccountFieldRequestsByClientVersionColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldRequestsByClientVersionDimensions{clientName:String clientVersion:String fieldName:String parentType:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldRequestsByClientVersion. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldRequestsByClientVersionFilter{and:[AccountFieldRequestsByClientVersionFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldRequestsByClientVersionFilterIn not:AccountFieldRequestsByClientVersionFilter or:[AccountFieldRequestsByClientVersionFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldRequestsByClientVersion. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldRequestsByClientVersionFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldRequestsByClientVersionMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input AccountFieldRequestsByClientVersionOrderBySpec{column:AccountFieldRequestsByClientVersionColumn!direction:Ordering!}type AccountFieldRequestsByClientVersionRecord{"""Dimensions of AccountFieldRequestsByClientVersion that can be grouped by.""" groupBy:AccountFieldRequestsByClientVersionDimensions!"""Metrics of AccountFieldRequestsByClientVersion that can be aggregated over.""" metrics:AccountFieldRequestsByClientVersionMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountFieldUsage.""" enum AccountFieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type AccountFieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountFieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountFieldUsageFilter{and:[AccountFieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:AccountFieldUsageFilterIn not:AccountFieldUsageFilter or:[AccountFieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountFieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountFieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountFieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input AccountFieldUsageOrderBySpec{column:AccountFieldUsageColumn!direction:Ordering!}type AccountFieldUsageRecord{"""Dimensions of AccountFieldUsage that can be grouped by.""" groupBy:AccountFieldUsageDimensions!"""Metrics of AccountFieldUsage that can be aggregated over.""" metrics:AccountFieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountInvitation{"""An accepted invitation cannot be used anymore""" acceptedAt:Timestamp """Who accepted the invitation""" acceptedBy:User """Time the invitation was created""" createdAt:Timestamp!"""Who created the invitation""" createdBy:User email:String!id:ID!"""Last time we sent an email for the invitation""" lastSentAt:Timestamp """Access role for the invitee""" role:UserPermission!}type AccountMembership{account:Account!createdAt:Timestamp!"""If this membership is a free seat (based on role)""" free:Boolean permission:UserPermission!user:User!}type AccountMutation{auditExport(id:String!):AuditLogExportMutation """Cancel a pending change from an annual team subscription to a monthly team subscription when the current period expires.""" cancelConvertAnnualTeamSubscriptionToMonthlyAtNextPeriod:Account """Cancel account subscriptions, subscriptions will remain active until the end of the paid period""" cancelSubscriptions:Account """Changes an annual team subscription to a monthly team subscription when the current period expires.""" convertAnnualTeamSubscriptionToMonthlyAtNextPeriod:Account """Changes a monthly team subscription to an annual team subscription.""" convertMonthlyTeamSubscriptionToAnnual:Account createStaticInvitation(role:UserPermission!):OrganizationInviteLink """Delete the account's avatar. Requires Account.canUpdateAvatar to be true.""" deleteAvatar:AvatarDeleteError """Acknowledge that a trial has expired and return to community""" dismissExpiredTrial:Account """Apollo admins only: extend an ongoing trial""" extendTrial(to:Timestamp!):Account """Hard delete an account and all associated services""" hardDelete:Void """Send an invitation to join the account by E-mail""" invite(email:String!role:UserPermission):AccountInvitation """Reactivate a canceled current subscription""" reactivateCurrentSubscription:Account """Refresh billing information from third-party billing service""" refreshBilling:Void """Delete an invitation""" removeInvitation(id:ID):Void """Remove a member of the account""" removeMember(id:ID!):Account requestAuditExport(actors:[ActorInput!]from:Timestamp!graphIds:[String!]to:Timestamp!):Account """Send a new E-mail for an existing invitation""" resendInvitation(id:ID):AccountInvitation revokeStaticInvitation(token:String!):OrganizationInviteLink """Apollo admins only: set the billing plan to an arbitrary plan""" setPlan(id:ID!):Void """Start a new team subscription with the given billing period""" startTeamSubscription(billingPeriod:BillingPeriod!):Account """Start a team trial""" startTrial:Account """This is called by the form shown to users after they cancel their team subscription.""" submitTeamCancellationFeedback(feedback:String!):Void """Apollo admins only: terminate any ongoing subscriptions in the account, without refunds""" terminateSubscriptions:Account """Update the billing address for a Recurly token""" updateBillingAddress(billingAddress:BillingAddressInput!):Account """Update the billing information from a Recurly token""" updateBillingInfo(token:String!):Void updateCompanyUrl(companyUrl:String):Account """Set the E-mail address of the account, used notably for billing""" updateEmail(email:String!):Void """Update the account ID""" updateID(id:ID!):Account """Update the company name""" updateName(name:String!):Void """Apollo admins only: enable or disable an account for PingOne SSO login""" updatePingOneSSOIDPID(idpid:String):Account """Updates the role assigned to new SSO users.""" updateSSODefaultRole(role:UserPermission!):OrganizationSSO """A (currently) internal to Apollo mutation to update a user's role within an organization""" updateUserPermission(permission:UserPermission!userID:ID!):User}"""Columns of AccountOperationCheckStats.""" enum AccountOperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_REQUESTS_COUNT}type AccountOperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String serviceId:ID}"""Filter for data in AccountOperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountOperationCheckStatsFilter{and:[AccountOperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:AccountOperationCheckStatsFilterIn not:AccountOperationCheckStatsFilter or:[AccountOperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountOperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountOperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountOperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input AccountOperationCheckStatsOrderBySpec{column:AccountOperationCheckStatsColumn!direction:Ordering!}type AccountOperationCheckStatsRecord{"""Dimensions of AccountOperationCheckStats that can be grouped by.""" groupBy:AccountOperationCheckStatsDimensions!"""Metrics of AccountOperationCheckStats that can be aggregated over.""" metrics:AccountOperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountPublishesStatsMetrics{totalPublishes:Long!}type AccountPublishesStatsRecord{id:ID!metrics:AccountPublishesStatsMetrics!timestamp:Timestamp!}"""Columns of AccountQueryStats.""" enum AccountQueryStatsColumn{CACHED_HISTOGRAM CACHED_REQUESTS_COUNT CACHE_TTL_HISTOGRAM CLIENT_NAME CLIENT_VERSION FORBIDDEN_OPERATION_COUNT FROM_ENGINEPROXY QUERY_ID QUERY_NAME REGISTERED_OPERATION_COUNT REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_HISTOGRAM UNCACHED_REQUESTS_COUNT}type AccountQueryStatsDimensions{clientName:String clientVersion:String fromEngineproxy:String queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in AccountQueryStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountQueryStatsFilter{and:[AccountQueryStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fromEngineproxy dimension equals the given value if not null. To query for the null value, use {in: {fromEngineproxy: [null]}} instead.""" fromEngineproxy:String in:AccountQueryStatsFilterIn not:AccountQueryStatsFilter or:[AccountQueryStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in AccountQueryStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountQueryStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fromEngineproxy dimension is in the given list. A null value in the list means a row with null for that dimension.""" fromEngineproxy:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type AccountQueryStatsMetrics{cacheTtlHistogram:DurationHistogram!cachedHistogram:DurationHistogram!cachedRequestsCount:Long!forbiddenOperationCount:Long!registeredOperationCount:Long!requestsWithErrorsCount:Long!totalLatencyHistogram:DurationHistogram!totalRequestCount:Long!uncachedHistogram:DurationHistogram!uncachedRequestsCount:Long!}input AccountQueryStatsOrderBySpec{column:AccountQueryStatsColumn!direction:Ordering!}type AccountQueryStatsRecord{"""Dimensions of AccountQueryStats that can be grouped by.""" groupBy:AccountQueryStatsDimensions!"""Metrics of AccountQueryStats that can be aggregated over.""" metrics:AccountQueryStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type AccountRoles{canAudit:Boolean!canCreateDevGraph:Boolean!canCreateService:Boolean!canDelete:Boolean!canDownloadInvoice:Boolean!@deprecated(reason:"Use canQueryBillingInfo instead")canManageMembers:Boolean!canQuery:Boolean!canQueryAudit:Boolean!canQueryBillingInfo:Boolean!canQueryInvoices:Boolean!@deprecated(reason:"Use canQueryBillingInfo instead")canQueryMembers:Boolean!canQueryStats:Boolean!canReadTickets:Boolean!canRemoveMembers:Boolean!canSetConstrainedPlan:Boolean!canUpdateBillingInfo:Boolean!canUpdateMetadata:Boolean!}enum AccountState{ACTIVE CLOSED UNKNOWN UNPROVISIONED}"""A time window with a specified granularity over a given account.""" type AccountStatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:AccountBillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountBillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountBillingUsageStatsOrderBySpec!]):[AccountBillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:AccountEdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountEdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountEdgeServerInfosOrderBySpec!]):[AccountEdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:AccountErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountErrorStatsOrderBySpec!]):[AccountErrorStatsRecord!]!fieldExecutions("""Filter to select what rows to return.""" filter:AccountFieldExecutionsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldExecutions by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldExecutionsOrderBySpec!]):[AccountFieldExecutionsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:AccountFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldLatenciesOrderBySpec!]):[AccountFieldLatenciesRecord!]!fieldRequestsByClientVersion("""Filter to select what rows to return.""" filter:AccountFieldRequestsByClientVersionFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldRequestsByClientVersion by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldRequestsByClientVersionOrderBySpec!]):[AccountFieldRequestsByClientVersionRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:AccountFieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountFieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountFieldUsageOrderBySpec!]):[AccountFieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:AccountOperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountOperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountOperationCheckStatsOrderBySpec!]):[AccountOperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:AccountQueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountQueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountQueryStatsOrderBySpec!]):[AccountQueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:AccountTracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountTracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountTracePathErrorsRefsOrderBySpec!]):[AccountTracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:AccountTraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order AccountTraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[AccountTraceRefsOrderBySpec!]):[AccountTraceRefsRecord!]!}"""Columns of AccountTracePathErrorsRefs.""" enum AccountTracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type AccountTracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in AccountTracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountTracePathErrorsRefsFilter{and:[AccountTracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:AccountTracePathErrorsRefsFilterIn not:AccountTracePathErrorsRefsFilter or:[AccountTracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in AccountTracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountTracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type AccountTracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input AccountTracePathErrorsRefsOrderBySpec{column:AccountTracePathErrorsRefsColumn!direction:Ordering!}type AccountTracePathErrorsRefsRecord{"""Dimensions of AccountTracePathErrorsRefs that can be grouped by.""" groupBy:AccountTracePathErrorsRefsDimensions!"""Metrics of AccountTracePathErrorsRefs that can be aggregated over.""" metrics:AccountTracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of AccountTraceRefs.""" enum AccountTraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type AccountTraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID traceId:ID}"""Filter for data in AccountTraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input AccountTraceRefsFilter{and:[AccountTraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:AccountTraceRefsFilterIn not:AccountTraceRefsFilter or:[AccountTraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in AccountTraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input AccountTraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type AccountTraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input AccountTraceRefsOrderBySpec{column:AccountTraceRefsColumn!direction:Ordering!}type AccountTraceRefsRecord{"""Dimensions of AccountTraceRefs that can be grouped by.""" groupBy:AccountTraceRefsDimensions!"""Metrics of AccountTraceRefs that can be aggregated over.""" metrics:AccountTraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""An actor (view of Identity) that performed an action within Studio.""" type Actor{actorId:ID!type:ActorType!}input ActorInput{actorId:ID!type:ActorType!}enum ActorType{ANONYMOUS_USER BACKFILL CRON GRAPH INTERNAL_IDENTITY SYNCHRONIZATION SYSTEM USER}union AddOperationCollectionEntryResult=OperationCollectionEntry|PermissionError|ValidationError union AddOperationCollectionToVariantResult=GraphVariant|InvalidTarget|PermissionError|ValidationError type AffectedClient{"""ID, often the name, of the client set by the user and reported alongside metrics""" clientReferenceId:ID@deprecated(reason:"Unsupported.")"""version of the client set by the user and reported alongside metrics""" clientVersion:String@deprecated(reason:"Unsupported.")}type AffectedQuery{"""If the operation would be approved if the check ran again. Returns null if queried from SchemaDiff.changes.affectedQueries.alreadyApproved""" alreadyApproved:Boolean """If the operation would be ignored if the check ran again""" alreadyIgnored:Boolean """List of changes affecting this query. Returns null if queried from SchemaDiff.changes.affectedQueries.changes""" changes:[ChangeOnOperation!]"""Name to display to the user for the operation""" displayName:String id:ID!"""Determines if this query validates against the proposed schema""" isValid:Boolean """Whether this operation was ignored and its severity was downgraded for that reason""" markedAsIgnored:Boolean """Whether the changes were marked as safe and its severity was downgraded for that reason""" markedAsSafe:Boolean """Name provided for the operation, which can be empty string if it is an anonymous operation""" name:String """First 128 characters of query signature for display""" signature:String}interface ApiKey{id:ID!keyName:String token:String!}type ApiKeyProvision{apiKey:ApiKey!created:Boolean!}type AuditLogExport{actors:[Identity!]bigqueryTriggeredAt:Timestamp completedAt:Timestamp createdAt:Timestamp!exportedFiles:[String!]from:Timestamp!graphs:[Service!]id:ID!requester:User status:AuditStatus!to:Timestamp!}type AuditLogExportMutation{cancel:Account delete:Account}enum AuditStatus{CANCELLED COMPLETED EXPIRED FAILED IN_PROGRESS QUEUED}type AvatarDeleteError{clientMessage:String!code:AvatarDeleteErrorCode!serverMessage:String!}enum AvatarDeleteErrorCode{SSO_USERS_CANNOT_DELETE_SELF_AVATAR}type AvatarUploadError{clientMessage:String!code:AvatarUploadErrorCode!serverMessage:String!}enum AvatarUploadErrorCode{SSO_USERS_CANNOT_UPLOAD_SELF_AVATAR}union AvatarUploadResult=AvatarUploadError|MediaUploadInfo type BillingAddress{address1:String address2:String city:String country:String state:String zip:String}"""Billing address inpnut""" input BillingAddressInput{address1:String!address2:String city:String!country:String!state:String!zip:String!}type BillingInfo{address:BillingAddress!cardType:String firstName:String lastFour:Int lastName:String month:Int vatNumber:String year:Int}enum BillingModel{REQUEST_BASED SEAT_BASED}type BillingMonth{end:Timestamp!requests:Long!start:Timestamp!}enum BillingPeriod{MONTHLY QUARTERLY SEMI_ANNUALLY YEARLY}type BillingPlan{addons:[BillingPlanAddon!]!billingModel:BillingModel!billingPeriod:BillingPeriod capabilities:BillingPlanCapabilities!description:String id:ID!isTrial:Boolean!kind:BillingPlanKind!name:String!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of subscribing to this plan with a quantity of 1 (currently always the case)""" pricePerUnitInUsdCents:Int!"""Whether the plan is accessible by all users in QueryRoot.allPlans, QueryRoot.plan, or AccountMutation.setPlan""" public:Boolean!tier:BillingPlanTier!}type BillingPlanAddon{id:ID!pricePerUnitInUsdCents:Int!}type BillingPlanAddonV2{id:ID!pricePerUnitInUsdCents:Int!}type BillingPlanCapabilities{clients:Boolean!contracts:Boolean!datadog:Boolean!errors:Boolean!federation:Boolean!launches:Boolean!maxAuditInDays:Int!maxRangeInDays:Int maxRequestsPerMonth:Long metrics:Boolean!notifications:Boolean!operationRegistry:Boolean!ranges:[String!]!schemaValidation:Boolean!traces:Boolean!userRoles:Boolean!webhooks:Boolean!}enum BillingPlanKind{COMMUNITY ENTERPRISE_INTERNAL ENTERPRISE_PAID ENTERPRISE_PILOT TEAM_PAID TEAM_TRIAL}enum BillingPlanKindV2{COMMUNITY ENTERPRISE_INTERNAL ENTERPRISE_PAID ENTERPRISE_PILOT TEAM_PAID TEAM_TRIAL UNKNOWN}enum BillingPlanTier{COMMUNITY ENTERPRISE TEAM}enum BillingPlanTierV2{COMMUNITY ENTERPRISE TEAM UNKNOWN}type BillingPlanV2{addons:[BillingPlanAddonV2!]!billingModel:BillingModel!billingPeriod:BillingPeriod clients:Boolean!contracts:Boolean!datadog:Boolean!description:String errors:Boolean!federation:Boolean!id:ID!isTrial:Boolean!kind:BillingPlanKindV2!launches:Boolean!maxAuditInDays:Int!maxRangeInDays:Int maxRequestsPerMonth:Long metrics:Boolean!name:String!notifications:Boolean!operationRegistry:Boolean!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of subscribing to this plan with a quantity of 1 (currently always the case)""" pricePerUnitInUsdCents:Int!"""Whether the plan is accessible by all users in QueryRoot.allPlans, QueryRoot.plan, or AccountMutation.setPlan""" public:Boolean!ranges:[String!]!schemaValidation:Boolean!tier:BillingPlanTierV2!traces:Boolean!userRoles:Boolean!webhooks:Boolean!}type BillingSubscription{activatedAt:Timestamp!addons:[BillingSubscriptionAddon!]!autoRenew:Boolean!"""The price of the subscription when ignoring add-ons (such as seats), ie quantity * pricePerUnitInUsdCents""" basePriceInUsdCents:Long!canceledAt:Timestamp currentPeriodEndsAt:Timestamp!currentPeriodStartedAt:Timestamp!expiresAt:Timestamp plan:BillingPlan!"""The price of every seat""" pricePerSeatInUsdCents:Int """The price of every unit in the subscription (hence multiplied by quantity to get to the basePriceInUsdCents)""" pricePerUnitInUsdCents:Int!quantity:Int!"""Total price of the subscription when it next renews, including add-ons (such as seats)""" renewalTotalPriceInUsdCents:Long!state:SubscriptionState!"""Total price of the subscription, including add-ons (such as seats)""" totalPriceInUsdCents:Long!"""When this subscription's trial period expires (if it is a trial). Not the same as the
 subscription's Recurly expiration).""" trialExpiresAt:Timestamp uuid:ID!}type BillingSubscriptionAddon{id:ID!pricePerUnitInUsdCents:Int!quantity:Int!}type BillingSubscriptionAddonV2{id:ID!pricePerUnitInUsdCents:Int!quantity:Int!}type BillingSubscriptionV2{"""The price of every unit in the subscription (hence multiplied by quantity to get to the basePriceInUsdCents)""" activatedAt:Timestamp!addons:[BillingSubscriptionAddonV2!]!autoRenew:Boolean!canceledAt:Timestamp currentPeriodEndsAt:Timestamp!currentPeriodStartedAt:Timestamp!expiresAt:Timestamp plan:BillingPlanV2!"""The price of every seat""" pricePerSeatInUsdCents:Int quantity:Int!state:SubscriptionStateV2!"""When this subscription's trial period expires (if it is a trial). Not the same as the
 subscription's Recurly expiration).""" trialExpiresAt:Timestamp uuid:ID!}"""Columns of BillingUsageStats.""" enum BillingUsageStatsColumn{ACCOUNT_ID OPERATION_COUNT OPERATION_COUNT_PROVIDED_EXPLICITLY SCHEMA_TAG SERVICE_ID TIMESTAMP}type BillingUsageStatsDimensions{accountId:ID operationCountProvidedExplicitly:String schemaTag:String serviceId:ID}"""Filter for data in BillingUsageStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input BillingUsageStatsFilter{"""Selects rows whose accountId dimension equals the given value if not null. To query for the null value, use {in: {accountId: [null]}} instead.""" accountId:ID and:[BillingUsageStatsFilter!]in:BillingUsageStatsFilterIn not:BillingUsageStatsFilter """Selects rows whose operationCountProvidedExplicitly dimension equals the given value if not null. To query for the null value, use {in: {operationCountProvidedExplicitly: [null]}} instead.""" operationCountProvidedExplicitly:String or:[BillingUsageStatsFilter!]"""Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in BillingUsageStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input BillingUsageStatsFilterIn{"""Selects rows whose accountId dimension is in the given list. A null value in the list means a row with null for that dimension.""" accountId:[ID]"""Selects rows whose operationCountProvidedExplicitly dimension is in the given list. A null value in the list means a row with null for that dimension.""" operationCountProvidedExplicitly:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type BillingUsageStatsMetrics{operationCount:Long!}input BillingUsageStatsOrderBySpec{column:BillingUsageStatsColumn!direction:Ordering!}type BillingUsageStatsRecord{"""Dimensions of BillingUsageStats that can be grouped by.""" groupBy:BillingUsageStatsDimensions!"""Metrics of BillingUsageStats that can be aggregated over.""" metrics:BillingUsageStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""A blob (base64'ed in JSON & GraphQL)""" scalar Blob type Build{input:BuildInput!result:BuildResult}type BuildError{code:String locations:[SourceLocation!]!message:String!}type BuildFailure{errorMessages:[BuildError!]!}union BuildInput=CompositionBuildInput|FilterBuildInput union BuildResult=BuildFailure|BuildSuccess type BuildSuccess{coreSchema:CoreSchema!}enum CacheScope{PRIVATE PUBLIC UNKNOWN UNRECOGNIZED}"""A specific change to a definition in your schema.""" type Change{affectedQueries:[AffectedQuery!]"""Target arg of change made.""" argNode:NamedIntrospectionArg """Indication of the category of the change (e.g. addition, removal, edit).""" category:ChangeCategory!"""Node related to the top level node that was changed, such as a field in an object,
 a value in an enum or the object of an interface.""" childNode:NamedIntrospectionValue """Indication of the kind of target and action of the change, e.g. 'TYPE_REMOVED'.""" code:String!"""Human-readable description of the change.""" description:String!"""Top level node affected by the change.""" parentNode:NamedIntrospectionType """Severity of the change, either failure or warning.""" severity:ChangeSeverity!"""Indication of the success of the overall change, either failure, warning, or notice.""" type:ChangeType!@deprecated(reason:"use severity instead")}"""Defines a set of categories that a schema change
@@ -26,13 +26,13 @@ ancestor) was added/removed.""" type ChangeSummary{"""Counts for changes to fiel
 and all aspects of enums, unions, and scalars.""" type:TypeChangeSummaryCounts!}enum ChangeType{FAILURE NOTICE}type ChangelogLaunchResult{createdAt:Timestamp!schemaTagID:ID!}"""Destination for notifications""" interface Channel{id:ID!name:String!subscriptions:[ChannelSubscription!]!}interface ChannelSubscription{channels:[Channel!]!enabled:Boolean!id:ID!variant:String}type CheckConfiguration{"""Time when check configuration was created""" createdAt:Timestamp!"""Clients to ignore during validation""" excludedClients:[ClientFilter!]!"""Operation names to ignore during validation""" excludedOperationNames:[OperationNameFilter]"""Operations to ignore during validation""" excludedOperations:[ExcludedOperation!]!"""Graph that this check configuration belongs to""" graphID:ID!"""ID of the check configuration""" id:ID!"""Default configuration to include operations on the base variant.""" includeBaseVariant:Boolean!"""Variant overrides for validation""" includedVariants:[String!]!"""Minimum number of requests within the window for an operation to be considered.""" operationCountThreshold:Int!"""Number of requests within the window for an operation to be considered, relative to
 total request count. Expected values are between 0 and 0.05 (minimum 5% of
 total request volume)""" operationCountThresholdPercentage:Float!"""Only check operations from the last <timeRangeSeconds> seconds.
-The default is 7 days (604,800 seconds).""" timeRangeSeconds:Long!"""Time when check configuration was last updated""" updatedAt:Timestamp!"""Identity of the last user to update the check configuration""" updatedBy:Identity}"""Filter options available when listing checks.""" input CheckFilterInput{authors:[String!]branches:[String!]status:CheckFilterInputStatusOption subgraphs:[String!]}"""Options for filtering CheckWorkflows by status""" enum CheckFilterInputStatusOption{FAILED PASSED PENDING}"""The result of performing a subgraph check, including all steps.""" type CheckPartialSchemaResult{"""Overall result of the check. This will be null if composition validation was unsuccessful.""" checkSchemaResult:CheckSchemaResult """Result of compostion run as part of the overall subgraph check.""" compositionValidationResult:CompositionValidationResult!"""If any modifications were detected in the composed core schema""" coreSchemaModified:Boolean!"""Check workflow associated with the overall subgraph check.""" workflow:CheckWorkflow}type CheckSchemaResult{"""Schema diff and affected operations generated by the schema check""" diffToPrevious:SchemaDiff!"""ID of the operations check that was created""" operationsCheckID:ID!"""Generated url to view schema diff in Engine""" targetUrl:String """Workflow associated with this check result""" workflow:CheckWorkflow}type CheckWorkflow{"""The variant provided as a base to check against.  Only the differences from the
+The default is 7 days (604,800 seconds).""" timeRangeSeconds:Long!"""Time when check configuration was last updated""" updatedAt:Timestamp!"""Identity of the last user to update the check configuration""" updatedBy:Identity}"""Filter options available when listing checks.""" input CheckFilterInput{authors:[String!]branches:[String!]status:CheckFilterInputStatusOption subgraphs:[String!]}"""Options for filtering CheckWorkflows by status""" enum CheckFilterInputStatusOption{FAILED PASSED PENDING}"""The result of performing a subgraph check, including all steps.""" type CheckPartialSchemaResult{"""Overall result of the check. This will be null if composition validation was unsuccessful.""" checkSchemaResult:CheckSchemaResult """Result of compostion run as part of the overall subgraph check.""" compositionValidationResult:CompositionValidationResult!"""Whether any modifications were detected in the composed core schema.""" coreSchemaModified:Boolean!"""Check workflow associated with the overall subgraph check.""" workflow:CheckWorkflow}type CheckSchemaResult{"""Schema diff and affected operations generated by the schema check""" diffToPrevious:SchemaDiff!"""ID of the operations check that was created""" operationsCheckID:ID!"""Generated url to view schema diff in Engine""" targetUrl:String """Workflow associated with this check result""" workflow:CheckWorkflow}type CheckWorkflow{"""The variant provided as a base to check against.  Only the differences from the
 base schema will be tested in operations checks.""" baseVariant:GraphVariant completedAt:Timestamp createdAt:Timestamp!"""Contextual parameters supplied by the runtime environment where the check was run.""" gitContext:GitContext id:ID!"""The name of the implementing service that was responsible for triggering the validation.""" implementingServiceName:String """If this check is triggered for an sdl fetched using introspection, this is the endpoint where that schema was being served.""" introspectionEndpoint:String """Only true if the check was triggered from Sandbox Checks page.""" isSandboxCheck:Boolean!"""If this check was created by rerunning, the original check that was rerun.""" rerunOf:CheckWorkflow """Checks created by re-running this check, most recent first.""" reruns(limit:Int!=20):[CheckWorkflow!]startedAt:Timestamp """Overall status of the workflow, based on the underlying task statuses.""" status:CheckWorkflowStatus!"""The set of check tasks associated with this workflow, e.g. OperationsCheck, GraphComposition, etc.""" tasks:[CheckWorkflowTask!]!"""Identity of the user who ran this check""" triggeredBy:Identity """Configuration of validation at the time the check was run.""" validationConfig:SchemaDiffValidationConfig}type CheckWorkflowMutation{"""Re-run a check workflow using the current configuration. A new workflow is created and returned.""" rerun:CheckWorkflowRerunResult}type CheckWorkflowRerunResult{"""Check workflow created by re-running.""" result:CheckWorkflow """Check workflow that was rerun.""" source:CheckWorkflow}enum CheckWorkflowStatus{FAILED PASSED PENDING}interface CheckWorkflowTask{completedAt:Timestamp createdAt:Timestamp!id:ID!status:CheckWorkflowTaskStatus!"""The workflow that this task belongs to.""" workflow:CheckWorkflow!}enum CheckWorkflowTaskStatus{BLOCKED FAILED PASSED PENDING}"""Client filter configuration for a graph.""" type ClientFilter{"""name of the client set by the user and reported alongside metrics""" name:String """version of the client set by the user and reported alongside metrics""" version:String}"""Options to filter by client reference ID, client name, and client version.
 If passing client version, make sure to either provide a client reference ID or client name.""" input ClientFilterInput{"""name of the client set by the user and reported alongside metrics""" name:String """version of the client set by the user and reported alongside metrics""" version:String}"""Filter options to exclude by client reference ID, client name, and client version.""" input ClientInfoFilter{name:String """Ignored""" referenceID:ID version:String}"""Filter options to exclude clients. Used as an output type for SchemaDiffValidationConfig.""" type ClientInfoFilterOutput{name:String version:String}enum ComparisonOperator{EQUALS GREATER_THAN GREATER_THAN_OR_EQUAL_TO LESS_THAN LESS_THAN_OR_EQUAL_TO NOT_EQUALS UNRECOGNIZED}"""The result of composition run in the cloud, upon an attempted subgraph deletion.""" type CompositionAndRemoveResult{"""The produced composition config. Will be null if there are any errors""" compositionConfig:CompositionConfig """Whether the removed implementing service existed.""" didExist:Boolean!"""  List of errors during composition. Errors mean that Apollo was unable to compose the
   graph variant's subgraphs into a GraphQL schema. If present, gateways / routers
 are not updated.""" errors:[SchemaCompositionError]!"""ID that points to the results of composition.""" graphCompositionID:String!"""List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Whether the gateway/router was updated via Uplink, or would have been for dry runs.""" updatedGateway:Boolean!}"""The result of composition run in the cloud, upon attempted publish of a subgraph.""" type CompositionAndUpsertResult{"""The produced composition config, or null if there are any errors.""" compositionConfig:CompositionConfig """List of errors during composition. Errors mean that Apollo was unable to compose the
 graph variant's subgraphs into a supergraph schema. If present, gateways / routers
-are not updated.""" errors:[SchemaCompositionError]!"""ID that points to the results of composition.""" graphCompositionID:String!"""Copy text for the launch result of a publish.""" launchCliCopy:String """Link to corresponding launches page on Studio if avaliable.""" launchUrl:String """List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Whether the gateway/router was updated via Uplink, or would have been for dry runs.""" updatedGateway:Boolean!"""Whether a subgraph was created as part of this mutation.""" wasCreated:Boolean!"""Whether an implementingService was updated as part of this mutation""" wasUpdated:Boolean!}type CompositionBuildInput{subgraphs:[Subgraph!]!version:String}type CompositionCheckTask implements CheckWorkflowTask{completedAt:Timestamp createdAt:Timestamp!id:ID!"""The result of the composition.""" result:CompositionResult status:CheckWorkflowTaskStatus!workflow:CheckWorkflow!}"""Composition configuration exposed to the gateway.""" type CompositionConfig{"""List of GCS links for implementing services that comprise a composed graph. Is empty if tag/inaccessible is enabled.""" implementingServiceLocations:[ImplementingServiceLocation!]!@deprecated(reason:"Soon we will stop writing to GCS locations")"""Hash of the API schema.""" schemaHash:String!}"""The result of composition run in the cloud.""" type CompositionPublishResult implements CompositionResult{"""The produced composition config. Will be null if there are any errors""" compositionConfig:CompositionConfig """Supergraph SDL generated by composition (this is not the CSDL, that is a deprecated format).""" csdl:GraphQLDocument@deprecated(reason:"Use supergraphSdl instead")"""List of errors during composition. Errors mean that Apollo was unable to compose the
+are not updated.""" errors:[SchemaCompositionError]!"""ID that points to the results of composition.""" graphCompositionID:String!"""Copy text for the launch result of a publish.""" launchCliCopy:String """Link to corresponding launches page on Studio if available.""" launchUrl:String """List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Whether the gateway/router was updated via Uplink, or would have been for dry runs.""" updatedGateway:Boolean!"""Whether a subgraph was created as part of this mutation.""" wasCreated:Boolean!"""Whether an implementingService was updated as part of this mutation""" wasUpdated:Boolean!}type CompositionBuildInput{subgraphs:[Subgraph!]!version:String}type CompositionCheckTask implements CheckWorkflowTask{completedAt:Timestamp createdAt:Timestamp!id:ID!"""The result of the composition.""" result:CompositionResult status:CheckWorkflowTaskStatus!workflow:CheckWorkflow!}"""Composition configuration exposed to the gateway.""" type CompositionConfig{"""List of GCS links for implementing services that comprise a composed graph. Is empty if tag/inaccessible is enabled.""" implementingServiceLocations:[ImplementingServiceLocation!]!@deprecated(reason:"Soon we will stop writing to GCS locations")"""Hash of the API schema.""" schemaHash:String!}"""The result of composition run in the cloud.""" type CompositionPublishResult implements CompositionResult{"""The produced composition config. Will be null if there are any errors""" compositionConfig:CompositionConfig """Supergraph SDL generated by composition (this is not the CSDL, that is a deprecated format).""" csdl:GraphQLDocument@deprecated(reason:"Use supergraphSdl instead")"""List of errors during composition. Errors mean that Apollo was unable to compose the
 graph variant's subgraphs into a supergraph schema. If present, gateways / routers
 are not updated.""" errors:[SchemaCompositionError!]!"""ID for a particular composition.""" graphCompositionID:ID!"""List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Supergraph SDL generated by composition.""" supergraphSdl:GraphQLDocument """Whether the gateway/router was updated via Uplink, or would have been for dry runs.""" updatedGateway:Boolean!webhookNotificationBody:String}"""Result of a composition, often as the result of a subgraph check or subgraph publish.
 See implementations for more details.""" interface CompositionResult{"""Supergraph SDL generated by composition (this is not the cSDL, a deprecated format).""" csdl:GraphQLDocument@deprecated(reason:"Use supergraphSdl instead")"""List of errors during composition. Errors mean that Apollo was unable to compose the
@@ -41,12 +41,12 @@ are not updated.""" errors:[SchemaCompositionError!]!"""Globally unique identifi
 in running composition. Will be null if any errors are encountered. Also may contain a schema hash if
 one could be computed, which can be used for schema validation.""" compositionValidationDetails:CompositionValidationDetails """Supergraph SDL generated by composition (this is not the CSDL, that is a deprecated format).""" csdl:GraphQLDocument@deprecated(reason:"Use supergraphSdl instead")"""List of errors during composition. Errors mean that Apollo was unable to compose the
 graph variant's subgraphs into a supergraph schema. If present, gateways / routers
-are not updated.""" errors:[SchemaCompositionError!]!"""ID that points to the results of this composition.""" graphCompositionID:ID!"""The implementing service that was responsible for triggering the validation""" proposedImplementingService:FederatedImplementingServicePartialSchema!"""List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Supergraph schema document generated by composition.""" supergraphSdl:GraphQLDocument """If created as part of a check workflow, the associated workflow task.""" workflowTask:CompositionCheckTask}type ContractPreview{result:ContractPreviewResult!upstreamLaunch:Launch!}type ContractPreviewErrors{errors:[String!]!failedAt:ContractVariantFailedStep!}union ContractPreviewResult=ContractPreviewErrors|ContractPreviewSuccess type ContractPreviewSuccess{apiDocument:String!coreDocument:String!fieldCount:Int!typeCount:Int!}enum ContractVariantFailedStep{ADD_DIRECTIVE_DEFINITIONS_IF_NOT_PRESENT DIRECTIVE_DEFINITION_LOCATION_AUGMENTING EMPTY_OBJECT_AND_INTERFACE_MASKING EMPTY_UNION_MASKING INPUT_VALIDATION PARSING PARSING_TAG_DIRECTIVES PARTIAL_INTERFACE_MASKING SCHEMA_RETRIEVAL TAG_INHERITING TAG_MATCHING TO_API_SCHEMA TO_FILTER_SCHEMA UNKNOWN VERSION_CHECK}type ContractVariantPreviewErrors{errorMessages:[String!]!failedStep:ContractVariantFailedStep!}union ContractVariantPreviewResult=ContractVariantPreviewErrors|ContractVariantPreviewSuccess type ContractVariantPreviewSuccess{baseApiSchema:String!baseCoreSchema:String!contractApiSchema:String!contractCoreSchema:String!}type ContractVariantUpsertErrors{errorMessages:[String!]!}union ContractVariantUpsertResult=ContractVariantUpsertErrors|ContractVariantUpsertSuccess type ContractVariantUpsertSuccess{contractVariant:GraphVariant!}type CoreSchema{apiDocument:GraphQLDocument!coreDocument:GraphQLDocument!coreHash:String!fieldCount:Int!typeCount:Int!}union CreateOperationCollectionResult=OperationCollection|PermissionError|ValidationError type CronExecution{completedAt:Timestamp failure:String id:ID!job:CronJob!resolvedAt:Timestamp resolvedBy:Actor schedule:String!startedAt:Timestamp!}type CronJob{group:String!name:String!recentExecutions(n:Int):[CronExecution!]!}enum DatadogApiRegion{EU EU1 US US1 US1FED US3 US5}type DatadogMetricsConfig{apiKey:String!apiRegion:DatadogApiRegion!enabled:Boolean!legacyMetricNames:Boolean!}union DeleteOperationCollectionResult=DeleteOperationCollectionSuccess|PermissionError type DeleteOperationCollectionSuccess{sandboxOwner:User variants:[GraphVariant!]!}"""The result of attempting to delete a graph variant.""" type DeleteSchemaTagResult{"""WHether a variant was deleted or not.""" deleted:Boolean!}enum DeletionTargetType{ACCOUNT USER}"""Support for a single directive on a graph variant""" type DirectiveSupportStatus{"""whether the directive is supported on the current graph variant""" enabled:Boolean!"""name of the directive""" name:String!}union DuplicateOperationCollectionResult=OperationCollection|PermissionError|ValidationError type DurationHistogram{averageDurationMs:Float buckets:[DurationHistogramBucket!]!durationMs("""Percentile (between 0 and 1)""" percentile:Float!):Float """Counts per durationBucket, where sequences of zeroes are replaced with the negative of their size""" sparseBuckets:[Long!]!totalCount:Long!totalDurationMs:Float!}type DurationHistogramBucket{count:Long!index:Int!rangeBeginMs:Float!rangeEndMs:Float!}input EdgeServerInfo{"""A randomly generated UUID, immutable for the lifetime of the edge server runtime.""" bootId:String!"""A unique identifier for the executable GraphQL served by the edge server. length must be <= 64 characters.""" executableSchemaId:String!"""The graph variant, defaults to 'current'""" graphVariant:String!="current" """The version of the edge server reporting agent, e.g. apollo-server-2.8, graphql-java-3.1, etc. length must be <= 256 characters.""" libraryVersion:String """The infra environment in which this edge server is running, e.g. localhost, Kubernetes, AWS Lambda, Google CloudRun, AWS ECS, etc. length must be <= 256 characters.""" platform:String """The runtime in which the edge server is running, e.g. node 12.03, zulu8.46.0.19-ca-jdk8.0.252-macosx_x64, etc. length must be <= 256 characters.""" runtimeVersion:String """If available, an identifier for the edge server instance, such that when restarting this instance it will have the same serverId, with a different bootId. For example, in Kubernetes this might be the pod name. Length must be <= 256 characters.""" serverId:String """An identifier used to distinguish the version (from the user's perspective) of the edge server's code itself. For instance, the git sha of the server's repository or the docker sha of the associated image this server runs with. Length must be <= 256 characters.""" userVersion:String}"""Columns of EdgeServerInfos.""" enum EdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID SERVICE_ID TIMESTAMP USER_VERSION}type EdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID serviceId:ID userVersion:String}"""Filter for data in EdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input EdgeServerInfosFilter{and:[EdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:EdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:EdgeServerInfosFilter or:[EdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in EdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input EdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input EdgeServerInfosOrderBySpec{column:EdgeServerInfosColumn!direction:Ordering!}type EdgeServerInfosRecord{"""Dimensions of EdgeServerInfos that can be grouped by.""" groupBy:EdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}enum EmailCategory{EDUCATIONAL}type EmailPreferences{email:String!subscriptions:[EmailCategory!]!unsubscribedFromAll:Boolean!}interface Error{message:String!}"""Columns of ErrorStats.""" enum ErrorStatsColumn{ACCOUNT_ID CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type ErrorStatsDimensions{accountId:ID clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in ErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ErrorStatsFilter{"""Selects rows whose accountId dimension equals the given value if not null. To query for the null value, use {in: {accountId: [null]}} instead.""" accountId:ID and:[ErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ErrorStatsFilterIn not:ErrorStatsFilter or:[ErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in ErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ErrorStatsFilterIn{"""Selects rows whose accountId dimension is in the given list. A null value in the list means a row with null for that dimension.""" accountId:[ID]"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type ErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input ErrorStatsOrderBySpec{column:ErrorStatsColumn!direction:Ordering!}type ErrorStatsRecord{"""Dimensions of ErrorStats that can be grouped by.""" groupBy:ErrorStatsDimensions!"""Metrics of ErrorStats that can be aggregated over.""" metrics:ErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}""" Input parameters for run explorer operation event.""" enum EventEnum{CLICK_CHECK_LIST CLICK_GO_TO_GRAPH_SETTINGS RUN_EXPLORER_OPERATION}"""Excluded operation for a graph.""" type ExcludedOperation{"""Operation ID to exclude from schema check.""" ID:ID!}"""Option to filter by operation ID.""" input ExcludedOperationInput{"""Operation ID to exclude from schema check.""" ID:ID!}type FeatureIntros{devGraph:Boolean!federatedGraph:Boolean!freeConsumerSeats:Boolean!}"""Feature Intros Input Type""" input FeatureIntrosInput{devGraph:Boolean federatedGraph:Boolean freeConsumerSeats:Boolean}"""Subgraph. Federated graph variants that are managed by Apollo Studio are composed of subgraphs.
+are not updated.""" errors:[SchemaCompositionError!]!"""ID that points to the results of this composition.""" graphCompositionID:ID!"""The implementing service that was responsible for triggering the validation""" proposedImplementingService:FederatedImplementingServicePartialSchema!"""List of subgraphs that are included in this composition.""" subgraphConfigs:[SubgraphConfig!]!"""Supergraph schema document generated by composition.""" supergraphSdl:GraphQLDocument """If created as part of a check workflow, the associated workflow task.""" workflowTask:CompositionCheckTask}type ContractPreview{result:ContractPreviewResult!upstreamLaunch:Launch!}type ContractPreviewErrors{errors:[String!]!failedAt:ContractVariantFailedStep!}union ContractPreviewResult=ContractPreviewErrors|ContractPreviewSuccess type ContractPreviewSuccess{apiDocument:String!coreDocument:String!fieldCount:Int!typeCount:Int!}enum ContractVariantFailedStep{ADD_DIRECTIVE_DEFINITIONS_IF_NOT_PRESENT DIRECTIVE_DEFINITION_LOCATION_AUGMENTING EMPTY_ENUM_MASKING EMPTY_INPUT_OBJECT_MASKING EMPTY_OBJECT_AND_INTERFACE_FIELD_MASKING EMPTY_OBJECT_AND_INTERFACE_MASKING EMPTY_UNION_MASKING INPUT_VALIDATION PARSING PARSING_TAG_DIRECTIVES PARTIAL_INTERFACE_MASKING SCHEMA_RETRIEVAL TAG_INHERITING TAG_MATCHING TO_API_SCHEMA TO_FILTER_SCHEMA UNKNOWN VERSION_CHECK}type ContractVariantPreviewErrors{errorMessages:[String!]!failedStep:ContractVariantFailedStep!}union ContractVariantPreviewResult=ContractVariantPreviewErrors|ContractVariantPreviewSuccess type ContractVariantPreviewSuccess{baseApiSchema:String!baseCoreSchema:String!contractApiSchema:String!contractCoreSchema:String!}type ContractVariantUpsertErrors{errorMessages:[String!]!}union ContractVariantUpsertResult=ContractVariantUpsertErrors|ContractVariantUpsertSuccess type ContractVariantUpsertSuccess{contractVariant:GraphVariant!}type CoreSchema{apiDocument:GraphQLDocument!coreDocument:GraphQLDocument!coreHash:String!fieldCount:Int!tags:[String!]!typeCount:Int!}union CreateOperationCollectionResult=OperationCollection|PermissionError|ValidationError type CronExecution{completedAt:Timestamp failure:String id:ID!job:CronJob!resolvedAt:Timestamp resolvedBy:Actor schedule:String!startedAt:Timestamp!}type CronJob{group:String!name:String!recentExecutions(n:Int):[CronExecution!]!}enum DatadogApiRegion{EU EU1 US US1 US1FED US3 US5}type DatadogMetricsConfig{apiKey:String!apiRegion:DatadogApiRegion!enabled:Boolean!legacyMetricNames:Boolean!}union DeleteOperationCollectionResult=DeleteOperationCollectionSuccess|PermissionError type DeleteOperationCollectionSuccess{sandboxOwner:User variants:[GraphVariant!]!}"""The result of attempting to delete a graph variant.""" type DeleteSchemaTagResult{"""WHether a variant was deleted or not.""" deleted:Boolean!}enum DeletionTargetType{ACCOUNT USER}"""Support for a single directive on a graph variant""" type DirectiveSupportStatus{"""whether the directive is supported on the current graph variant""" enabled:Boolean!"""name of the directive""" name:String!}union DuplicateOperationCollectionResult=OperationCollection|PermissionError|ValidationError type DurationHistogram{averageDurationMs:Float buckets:[DurationHistogramBucket!]!durationMs("""Percentile (between 0 and 1)""" percentile:Float!):Float """Counts per durationBucket, where sequences of zeroes are replaced with the negative of their size""" sparseBuckets:[Long!]!totalCount:Long!totalDurationMs:Float!}type DurationHistogramBucket{count:Long!index:Int!rangeBeginMs:Float!rangeEndMs:Float!}input EdgeServerInfo{"""A randomly generated UUID, immutable for the lifetime of the edge server runtime.""" bootId:String!"""A unique identifier for the executable GraphQL served by the edge server. length must be <= 64 characters.""" executableSchemaId:String!"""The graph variant, defaults to 'current'""" graphVariant:String!="current" """The version of the edge server reporting agent, e.g. apollo-server-2.8, graphql-java-3.1, etc. length must be <= 256 characters.""" libraryVersion:String """The infra environment in which this edge server is running, e.g. localhost, Kubernetes, AWS Lambda, Google CloudRun, AWS ECS, etc. length must be <= 256 characters.""" platform:String """The runtime in which the edge server is running, e.g. node 12.03, zulu8.46.0.19-ca-jdk8.0.252-macosx_x64, etc. length must be <= 256 characters.""" runtimeVersion:String """If available, an identifier for the edge server instance, such that when restarting this instance it will have the same serverId, with a different bootId. For example, in Kubernetes this might be the pod name. Length must be <= 256 characters.""" serverId:String """An identifier used to distinguish the version (from the user's perspective) of the edge server's code itself. For instance, the git sha of the server's repository or the docker sha of the associated image this server runs with. Length must be <= 256 characters.""" userVersion:String}"""Columns of EdgeServerInfos.""" enum EdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID SERVICE_ID TIMESTAMP USER_VERSION}type EdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID serviceId:ID userVersion:String}"""Filter for data in EdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input EdgeServerInfosFilter{and:[EdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:EdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:EdgeServerInfosFilter or:[EdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in EdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input EdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input EdgeServerInfosOrderBySpec{column:EdgeServerInfosColumn!direction:Ordering!}type EdgeServerInfosRecord{"""Dimensions of EdgeServerInfos that can be grouped by.""" groupBy:EdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}enum EmailCategory{EDUCATIONAL}type EmailPreferences{email:String!subscriptions:[EmailCategory!]!unsubscribedFromAll:Boolean!}interface Error{message:String!}"""Columns of ErrorStats.""" enum ErrorStatsColumn{ACCOUNT_ID CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type ErrorStatsDimensions{accountId:ID clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in ErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ErrorStatsFilter{"""Selects rows whose accountId dimension equals the given value if not null. To query for the null value, use {in: {accountId: [null]}} instead.""" accountId:ID and:[ErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ErrorStatsFilterIn not:ErrorStatsFilter or:[ErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in ErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ErrorStatsFilterIn{"""Selects rows whose accountId dimension is in the given list. A null value in the list means a row with null for that dimension.""" accountId:[ID]"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type ErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input ErrorStatsOrderBySpec{column:ErrorStatsColumn!direction:Ordering!}type ErrorStatsRecord{"""Dimensions of ErrorStats that can be grouped by.""" groupBy:ErrorStatsDimensions!"""Metrics of ErrorStats that can be aggregated over.""" metrics:ErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}""" Input parameters for run explorer operation event.""" enum EventEnum{CLICK_CHECK_LIST CLICK_GO_TO_GRAPH_SETTINGS RUN_EXPLORER_OPERATION}"""Excluded operation for a graph.""" type ExcludedOperation{"""Operation ID to exclude from schema check.""" ID:ID!}"""Option to filter by operation ID.""" input ExcludedOperationInput{"""Operation ID to exclude from schema check.""" ID:ID!}type FeatureIntros{devGraph:Boolean!federatedGraph:Boolean!freeConsumerSeats:Boolean!}"""Feature Intros Input Type""" input FeatureIntrosInput{devGraph:Boolean federatedGraph:Boolean freeConsumerSeats:Boolean}"""Subgraph. Federated graph variants that are managed by Apollo Studio are composed of subgraphs.
 See https://www.apollographql.com/docs/federation/managed-federation/overview/ for more information.""" type FederatedImplementingService{"""The subgraph schema actively published, used for composition for the graph variant this subgraph belongs to.""" activePartialSchema:PartialSchema!"""Timestamp of when this subgraph was created.""" createdAt:Timestamp!"""The ID of the graph this subgraph belongs to.""" graphID:String!"""Which variant of a graph this subgraph belongs to.""" graphVariant:String!"""Name of the subgraph.""" name:String!"""The particular version/edition of a subgraph, entered by users. Typically a Git SHA or docker image ID.""" revision:String!"""Timestamp for when this subgraph was updated.""" updatedAt:Timestamp!"""URL of the subgraph's GraphQL endpoint.""" url:String}"""A minimal representation of a federated implementing service, using only a name and partial schema SDL""" type FederatedImplementingServicePartialSchema{"""The name of the implementing service""" name:String!"""The partial schema of the implementing service""" sdl:String!}"""Container for a list of subgraphs composing a graph.""" type FederatedImplementingServices{"""The list of underlying subgraphs.""" services:[FederatedImplementingService!]!}"""Counts of changes at the field level, including objects, interfaces, and input fields.""" type FieldChangeSummaryCounts{"""Number of changes that are additions of fields to object, interface, and input types.""" additions:Int!"""Number of changes that are field edits. This includes fields changing type and any field
 deprecation and description changes, but also includes any argument changes and any input object
-field changes.""" edits:Int!"""Number of changes that are removals of fields from object, interface, and input types.""" removals:Int!}"""Columns of FieldLatencies.""" enum FieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in FieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldLatenciesFilter{and:[FieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldLatenciesFilterIn not:FieldLatenciesFilter or:[FieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input FieldLatenciesOrderBySpec{column:FieldLatenciesColumn!direction:Ordering!}type FieldLatenciesRecord{"""Dimensions of FieldLatencies that can be grouped by.""" groupBy:FieldLatenciesDimensions!"""Metrics of FieldLatencies that can be aggregated over.""" metrics:FieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of FieldUsage.""" enum FieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in FieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldUsageFilter{and:[FieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldUsageFilterIn not:FieldUsageFilter or:[FieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input FieldUsageOrderBySpec{column:FieldUsageColumn!direction:Ordering!}type FieldUsageRecord{"""Dimensions of FieldUsage that can be grouped by.""" groupBy:FieldUsageDimensions!"""Metrics of FieldUsage that can be aggregated over.""" metrics:FieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type FilterBuildInput{filterConfig:FilterConfig!schemaHash:String!}type FilterConfig{exclude:[String!]!include:[String!]!}input FilterConfigInput{exclude:[String!]!include:[String!]!}type GitContext{branch:String commit:ID commitUrl:String committer:String message:String remoteHost:GitRemoteHost remoteUrl:String}"""This is stored with a schema when it is uploaded""" input GitContextInput{branch:String commit:ID committer:String message:String remoteUrl:String}enum GitRemoteHost{BITBUCKET GITHUB GITLAB}type GlobalExperimentalFeatures{operationsCollections:Boolean!sandboxesFullRelease:Boolean!sandboxesPreview:Boolean!sandboxesSchemaChecksPage:Boolean!sandboxesSchemaDiffPage:Boolean!subgraphsInSandbox:Boolean!}type GraphApiKey implements ApiKey{createdAt:Timestamp!createdBy:Identity id:ID!keyName:String role:UserPermission!token:String!}"""A union of all combinations that can comprise the implementingServices for a Service""" union GraphImplementors=FederatedImplementingServices|NonFederatedImplementingService scalar GraphQLDocument """A variant of a graph, often corresponding to an environment where a graph runs (e.g. staging).
-See https://www.apollographql.com/docs/studio/org/graphs/ for more details.""" type GraphVariant{"""As new schema tags keep getting published, activeSchemaPublish refers to the latest.""" activeSchemaPublish:SchemaTag """The version of composition currently in use, if applicable""" compositionVersion:String """Filter configuration used to create the contract schema""" contractFilterConfig:FilterConfig """Preview a Contract schema built from this source variant.""" contractPreview(filters:FilterConfigInput!):ContractPreview!"""Explorer setting for default headers for a graph""" defaultHeaders:String derivedVariantCount:Int!"""Graph the variant belongs to.""" graph:Service!"""Graph ID of the variant. Prefer using graph { id } when feasible.""" graphId:String!"""If the variant has managed subgraphs.""" hasManagedSubgraphs:Boolean """Global identifier for the graph variant, in the form `graph@variant`.""" id:ID!"""Represents whether this variant is a Contract.""" isContract:Boolean!"""Is this variant one of the current user's favorite variants?""" isFavoriteOfCurrentUser:Boolean!"""If the variant has managed subgraphs.""" isFederated:Boolean@deprecated(reason:"Replaced by hasManagedSubgraphs")"""If the variant is protected""" isProtected:Boolean!isPublic:Boolean!"""Represents whether this variant should be listed in the public variants directory. This can only be true if the variant is also public.""" isPubliclyListed:Boolean!"""Represents whether Apollo has verified the authenticity of this public variant. This can only be true if the variant is also public.""" isVerified:Boolean!"""Latest approved launch for the variant, and what is served through Uplink.""" latestApprovedLaunch:Launch """Latest launch for the variant, whether successful or not.""" latestLaunch:Launch """Latest publication for the variant.""" latestPublication:SchemaTag launch(id:ID!):Launch launchHistory(limit:Int!=100):[Launch!]!links:[LinkInfo!]"""Name of the variant, like `variant`.""" name:String!operationCollections:[OperationCollection!]!"""Which permissions the current user has for interacting with this variant""" permissions:GraphVariantPermissions!"""Generate a federated operation plan for a given operation""" plan(document:GraphQLDocument!operationName:String):QueryPlan """Explorer setting for preflight script to run before the actual GraphQL operations is run.""" preflightScript:String readme:Readme """Registry stats for this particular graph variant""" registryStatsWindow(from:Timestamp!resolution:Resolution to:Timestamp):RegistryStatsWindow """The total number of requests for this variant in the last 24 hours""" requestsInLastDay:Long """If the graphql endpoint is set up to accept cookies.""" sendCookies:Boolean sourceVariant:GraphVariant """List of subgraphs that comprise a variant, null if not federated.
-Set includeDeleted to see deleted subgraphs.""" subgraphs(includeDeleted:Boolean!=false):[FederatedImplementingService!]"""URL where subscription operations can be executed.""" subscriptionUrl:String """A list of supported directives""" supportedDirectives:[DirectiveSupportStatus!]"""URL where non-subscription operations can be executed.""" url:String """The last instant that usage information (e.g. operation stat, client stats) was reported for this variant""" usageLastReportedAt:Timestamp}"""Result of looking up a variant by ref""" union GraphVariantLookup=GraphVariant|InvalidRefFormat """Modifies a variant of a graph, also called a schema tag in parts of our product.""" type GraphVariantMutation{addLinkToVariant(title:String type:LinkInfoType!url:String!):GraphVariant!configureComposition(enableTagAndInaccessible:Boolean version:String):GraphVariant enableTagAndInaccessible(enabled:Boolean!):GraphVariant@deprecated(reason:"Use configureComposition instead")"""Graph ID of the variant""" graphId:String!"""Global identifier for the graph variant, in the form `graph@variant`.""" id:ID!"""Name of the variant, like `variant`.""" name:String!relaunch:RelaunchResult!removeLinkFromVariant(linkInfoId:ID!):GraphVariant!setIsFavoriteOfCurrentUser(favorite:Boolean!):GraphVariant!updateDefaultHeaders(defaultHeaders:String):GraphVariant updateIsProtected(isProtected:Boolean!):GraphVariant updatePreflightScript(preflightScript:String):GraphVariant updateSendCookies(sendCookies:Boolean!):GraphVariant updateSubscriptionURL(subscriptionUrl:String):GraphVariant updateURL(url:String):GraphVariant updateVariantIsPublic(isPublic:Boolean!):GraphVariant updateVariantIsPubliclyListed(isPubliclyListed:Boolean!):GraphVariant updateVariantIsVerified(isVerified:Boolean!):GraphVariant updateVariantReadme(readme:String!):GraphVariant}"""A map from permission String to boolean that the currently authenticated user is allowed for a particular graph variant.""" type GraphVariantPermissions{canCreateCollectionInVariant:Boolean!"""Whether the currently authenticated user is permitted to manage/update the build configuration (e.g. build pipeline version) for this variant.""" canManageBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to update variant-level settings for the Schema Explorer.""" canManageExplorerSettings:Boolean!"""Whether the currently authenticated user is permitted to publish schemas to this variant.""" canPushSchemas:Boolean!"""Whether the currently authenticated user is permitted to view details regarding the build configuration (e.g. build pipeline version) for this variant.""" canQueryBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to download schemas associated to this variant.""" canQuerySchemas:Boolean!canShareCollectionInVariant:Boolean!canUpdateVariantLinkInfo:Boolean!"""Whether the currently authenticated user is permitted to update the README for this variant.""" canUpdateVariantReadme:Boolean!variantId:ID!}enum HTTPMethod{CONNECT DELETE GET HEAD OPTIONS PATCH POST PUT TRACE UNKNOWN UNRECOGNIZED}input HistoricQueryParameters{"""A list of clients to filter out during validation.""" excludedClients:[ClientInfoFilter!]=null """A list of operation names to filter out during validation.""" excludedOperationNames:[OperationNameFilterInput!]=null from:Timestamp="-86400" """A list of operation IDs to filter out during validation.""" ignoredOperations:[ID!]=null """A list of variants to include in the validation. If no variants are provided
+field changes.""" edits:Int!"""Number of changes that are removals of fields from object, interface, and input types.""" removals:Int!}"""Columns of FieldExecutions.""" enum FieldExecutionsColumn{ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldExecutionsDimensions{fieldName:String parentType:String schemaTag:String serviceId:ID}"""Filter for data in FieldExecutions. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldExecutionsFilter{and:[FieldExecutionsFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldExecutionsFilterIn not:FieldExecutionsFilter or:[FieldExecutionsFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldExecutions. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldExecutionsFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldExecutionsMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input FieldExecutionsOrderBySpec{column:FieldExecutionsColumn!direction:Ordering!}type FieldExecutionsRecord{"""Dimensions of FieldExecutions that can be grouped by.""" groupBy:FieldExecutionsDimensions!"""Metrics of FieldExecutions that can be aggregated over.""" metrics:FieldExecutionsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of FieldLatencies.""" enum FieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in FieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldLatenciesFilter{and:[FieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldLatenciesFilterIn not:FieldLatenciesFilter or:[FieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input FieldLatenciesOrderBySpec{column:FieldLatenciesColumn!direction:Ordering!}type FieldLatenciesRecord{"""Dimensions of FieldLatencies that can be grouped by.""" groupBy:FieldLatenciesDimensions!"""Metrics of FieldLatencies that can be aggregated over.""" metrics:FieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of FieldRequestsByClientVersion.""" enum FieldRequestsByClientVersionColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldRequestsByClientVersionDimensions{clientName:String clientVersion:String fieldName:String parentType:String schemaTag:String serviceId:ID}"""Filter for data in FieldRequestsByClientVersion. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldRequestsByClientVersionFilter{and:[FieldRequestsByClientVersionFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldRequestsByClientVersionFilterIn not:FieldRequestsByClientVersionFilter or:[FieldRequestsByClientVersionFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldRequestsByClientVersion. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldRequestsByClientVersionFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldRequestsByClientVersionMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input FieldRequestsByClientVersionOrderBySpec{column:FieldRequestsByClientVersionColumn!direction:Ordering!}type FieldRequestsByClientVersionRecord{"""Dimensions of FieldRequestsByClientVersion that can be grouped by.""" groupBy:FieldRequestsByClientVersionDimensions!"""Metrics of FieldRequestsByClientVersion that can be aggregated over.""" metrics:FieldRequestsByClientVersionMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of FieldUsage.""" enum FieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP}type FieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in FieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input FieldUsageFilter{and:[FieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:FieldUsageFilterIn not:FieldUsageFilter or:[FieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in FieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input FieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type FieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input FieldUsageOrderBySpec{column:FieldUsageColumn!direction:Ordering!}type FieldUsageRecord{"""Dimensions of FieldUsage that can be grouped by.""" groupBy:FieldUsageDimensions!"""Metrics of FieldUsage that can be aggregated over.""" metrics:FieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type FilterBuildInput{filterConfig:FilterConfig!schemaHash:String!}type FilterConfig{exclude:[String!]!include:[String!]!}input FilterConfigInput{exclude:[String!]!include:[String!]!}type GitContext{branch:String commit:ID commitUrl:String committer:String message:String remoteHost:GitRemoteHost remoteUrl:String}"""This is stored with a schema when it is uploaded""" input GitContextInput{branch:String commit:ID committer:String message:String remoteUrl:String}enum GitRemoteHost{BITBUCKET GITHUB GITLAB}type GlobalExperimentalFeatures{operationsCollections:Boolean!sandboxesFullRelease:Boolean!sandboxesPreview:Boolean!sandboxesSchemaChecksPage:Boolean!sandboxesSchemaDiffPage:Boolean!subgraphsInSandbox:Boolean!}type GraphApiKey implements ApiKey{createdAt:Timestamp!createdBy:Identity id:ID!keyName:String role:UserPermission!token:String!}"""A union of all combinations that can comprise the implementingServices for a Service""" union GraphImplementors=FederatedImplementingServices|NonFederatedImplementingService scalar GraphQLDocument """A variant of a graph, often corresponding to an environment where a graph runs (e.g. staging).
+See https://www.apollographql.com/docs/studio/org/graphs/ for more details.""" type GraphVariant{"""As new schema tags keep getting published, activeSchemaPublish refers to the latest.""" activeSchemaPublish:SchemaTag """The version of composition currently in use, if applicable""" compositionVersion:String """Filter configuration used to create the contract schema""" contractFilterConfig:FilterConfig """Preview a Contract schema built from this source variant.""" contractPreview(filters:FilterConfigInput!):ContractPreview!defaultHeaders:String@deprecated(reason:"Use sharedHeaders instead")derivedVariantCount:Int!"""Graph the variant belongs to.""" graph:Service!"""Graph ID of the variant. Prefer using graph { id } when feasible.""" graphId:String!"""If the variant has managed subgraphs.""" hasManagedSubgraphs:Boolean """Global identifier for the graph variant, in the form `graph@variant`.""" id:ID!"""Represents whether this variant is a Contract.""" isContract:Boolean!"""Is this variant one of the current user's favorite variants?""" isFavoriteOfCurrentUser:Boolean!"""If the variant has managed subgraphs.""" isFederated:Boolean@deprecated(reason:"Replaced by hasManagedSubgraphs")"""If the variant is protected""" isProtected:Boolean!isPublic:Boolean!"""Represents whether this variant should be listed in the public variants directory. This can only be true if the variant is also public.""" isPubliclyListed:Boolean!"""Represents whether Apollo has verified the authenticity of this public variant. This can only be true if the variant is also public.""" isVerified:Boolean!"""Latest approved launch for the variant, and what is served through Uplink.""" latestApprovedLaunch:Launch """Latest launch for the variant, whether successful or not.""" latestLaunch:Launch """Latest publication for the variant.""" latestPublication:SchemaTag launch(id:ID!):Launch launchHistory(limit:Int!=100):[Launch!]!links:[LinkInfo!]"""Name of the variant, like `variant`.""" name:String!operationCollections:[OperationCollection!]!"""Which permissions the current user has for interacting with this variant""" permissions:GraphVariantPermissions!"""Generate a federated operation plan for a given operation""" plan(document:GraphQLDocument!operationName:String):QueryPlan """Explorer setting for preflight script to run before the actual GraphQL operations is run.""" preflightScript:String readme:Readme """Registry stats for this particular graph variant""" registryStatsWindow(from:Timestamp!resolution:Resolution to:Timestamp):RegistryStatsWindow """The total number of requests for this variant in the last 24 hours""" requestsInLastDay:Long """If the graphql endpoint is set up to accept cookies.""" sendCookies:Boolean """Explorer setting for shared headers for a graph""" sharedHeaders:String sourceVariant:GraphVariant """Subgraph of a given name, null if non-existent.""" subgraph(name:ID!):FederatedImplementingService """List of subgraphs that comprise a variant, null if not federated.
+Set includeDeleted to see deleted subgraphs.""" subgraphs(includeDeleted:Boolean!=false):[FederatedImplementingService!]"""URL where subscription operations can be executed.""" subscriptionUrl:String """A list of supported directives""" supportedDirectives:[DirectiveSupportStatus!]"""URL where non-subscription operations can be executed.""" url:String """The last instant that usage information (e.g. operation stat, client stats) was reported for this variant""" usageLastReportedAt:Timestamp}"""Result of looking up a variant by ref""" union GraphVariantLookup=GraphVariant|InvalidRefFormat """Modifies a variant of a graph, also called a schema tag in parts of our product.""" type GraphVariantMutation{addLinkToVariant(title:String type:LinkInfoType!url:String!):GraphVariant!configureComposition(enableTagAndInaccessible:Boolean version:String):GraphVariant """Delete the variant.""" delete:DeleteSchemaTagResult!enableTagAndInaccessible(enabled:Boolean!):GraphVariant@deprecated(reason:"Use configureComposition instead")"""Graph ID of the variant""" graphId:String!"""Global identifier for the graph variant, in the form `graph@variant`.""" id:ID!"""Name of the variant, like `variant`.""" name:String!relaunch:RelaunchResult!removeLinkFromVariant(linkInfoId:ID!):GraphVariant!setIsFavoriteOfCurrentUser(favorite:Boolean!):GraphVariant!updateDefaultHeaders(defaultHeaders:String):GraphVariant@deprecated(reason:"Use updateSharedHeaders instead")updateIsProtected(isProtected:Boolean!):GraphVariant updatePreflightScript(preflightScript:String):GraphVariant updateSendCookies(sendCookies:Boolean!):GraphVariant updateSharedHeaders(sharedHeaders:String):GraphVariant updateSubscriptionURL(subscriptionUrl:String):GraphVariant updateURL(url:String):GraphVariant updateVariantIsPublic(isPublic:Boolean!):GraphVariant updateVariantIsPubliclyListed(isPubliclyListed:Boolean!):GraphVariant updateVariantIsVerified(isVerified:Boolean!):GraphVariant updateVariantReadme(readme:String!):GraphVariant}"""A map from permission String to boolean that the currently authenticated user is allowed for a particular graph variant.""" type GraphVariantPermissions{canCreateCollectionInVariant:Boolean!"""Whether the currently authenticated user is permitted to manage/update the build configuration (e.g. build pipeline version) for this variant.""" canManageBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to update variant-level settings for the Schema Explorer.""" canManageExplorerSettings:Boolean!"""Whether the currently authenticated user is permitted to publish schemas to this variant.""" canPushSchemas:Boolean!"""Whether the currently authenticated user is permitted to view details regarding the build configuration (e.g. build pipeline version) for this variant.""" canQueryBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to download schemas associated to this variant.""" canQuerySchemas:Boolean!canShareCollectionInVariant:Boolean!canUpdateVariantLinkInfo:Boolean!"""Whether the currently authenticated user is permitted to update the README for this variant.""" canUpdateVariantReadme:Boolean!variantId:ID!}enum HTTPMethod{CONNECT DELETE GET HEAD OPTIONS PATCH POST PUT TRACE UNKNOWN UNRECOGNIZED}input HistoricQueryParameters{"""A list of clients to filter out during validation.""" excludedClients:[ClientInfoFilter!]=null """A list of operation names to filter out during validation.""" excludedOperationNames:[OperationNameFilterInput!]=null from:Timestamp="-86400" """A list of operation IDs to filter out during validation.""" ignoredOperations:[ID!]=null """A list of variants to include in the validation. If no variants are provided
 then this defaults to the "current" variant along with the base variant. The
 base variant indicates the schema that generates diff and marks the metrics that
 are checked for broken queries. We union this base variant with the untagged values('',
@@ -54,10 +54,10 @@ same as null inside of `in`, and 'current') in this metrics fetch. This strategy
 supports users who have not tagged their metrics or schema.""" includedVariants:[String!]=null """Minimum number of requests within the window for a query to be considered.""" queryCountThreshold:Int=1 """Number of requests within the window for a query to be considered, relative to
 total request count. Expected values are between 0 and 0.05 (minimum 5% of total
 request volume)""" queryCountThresholdPercentage:Float=0 to:Timestamp="-0"}"""An identity (e.g. Anonymous, a specific User) within Apollo Studio. See implementations.""" interface Identity{"""A view of the identity as an Actor type.""" asActor:Actor!"""An identifier for a given identity, unique within the context of the identity type.""" id:ID!"""A human-readable name for the identity in question.""" name:String!}"""An actor's identity and info about the client they used to perform the action""" type IdentityAndClientInfo{"""Client name provided when the actor performed the action""" clientName:String """Client version provided when the actor performed the action""" clientVersion:String """Identity info about the actor""" identity:Identity}union IdentityMutation=ServiceMutation|UserMutation type IgnoreOperationsInChecksResult{graph:Service!}"""The location of the implementing service config file in storage""" type ImplementingServiceLocation{"""The name of the implementing service""" name:String!"""The path in storage to access the implementing service config file""" path:String!}type InternalAdminUser{role:InternalMdgAdminRole!userID:String!}type InternalIdentity implements Identity{accounts:[Account!]!asActor:Actor!email:String id:ID!name:String!}enum InternalMdgAdminRole{INTERNAL_MDG_READ_ONLY INTERNAL_MDG_SALES INTERNAL_MDG_SUPER_ADMIN INTERNAL_MDG_SUPPORT}type IntrospectionDirective{args:[IntrospectionInputValue!]!description:String locations:[IntrospectionDirectiveLocation!]!name:String!}input IntrospectionDirectiveInput{args:[IntrospectionInputValueInput!]!description:String isRepeatable:Boolean locations:[IntrospectionDirectiveLocation!]!name:String!}"""__DirectiveLocation introspection type""" enum IntrospectionDirectiveLocation{"""Location adjacent to an argument definition.""" ARGUMENT_DEFINITION """Location adjacent to an enum definition.""" ENUM """Location adjacent to an enum value definition.""" ENUM_VALUE """Location adjacent to a field.""" FIELD """Location adjacent to a field definition.""" FIELD_DEFINITION """Location adjacent to a fragment definition.""" FRAGMENT_DEFINITION """Location adjacent to a fragment spread.""" FRAGMENT_SPREAD """Location adjacent to an inline fragment.""" INLINE_FRAGMENT """Location adjacent to an input object field definition.""" INPUT_FIELD_DEFINITION """Location adjacent to an input object type definition.""" INPUT_OBJECT """Location adjacent to an interface definition.""" INTERFACE """Location adjacent to a mutation operation.""" MUTATION """Location adjacent to an object type definition.""" OBJECT """Location adjacent to a query operation.""" QUERY """Location adjacent to a scalar definition.""" SCALAR """Location adjacent to a schema definition.""" SCHEMA """Location adjacent to a subscription operation.""" SUBSCRIPTION """Location adjacent to a union definition.""" UNION """Location adjacent to a variable definition.""" VARIABLE_DEFINITION}"""Values associated with introspection result for an enum value""" type IntrospectionEnumValue{depreactionReason:String@deprecated(reason:"Use deprecationReason instead")deprecationReason:String description:String isDeprecated:Boolean!name:String!}"""__EnumValue introspection type""" input IntrospectionEnumValueInput{deprecationReason:String description:String isDeprecated:Boolean!name:String!}"""Values associated with introspection result for field""" type IntrospectionField{args:[IntrospectionInputValue!]!deprecationReason:String description:String isDeprecated:Boolean!name:String!type:IntrospectionType!}"""__Field introspection type""" input IntrospectionFieldInput{args:[IntrospectionInputValueInput!]!deprecationReason:String description:String isDeprecated:Boolean!name:String!type:IntrospectionTypeInput!}"""Values associated with introspection result for an input field""" type IntrospectionInputValue{defaultValue:String description:String name:String!type:IntrospectionType!}"""__Value introspection type""" input IntrospectionInputValueInput{defaultValue:String deprecationReason:String description:String isDeprecated:Boolean name:String!type:IntrospectionTypeInput!}type IntrospectionSchema{directives:[IntrospectionDirective!]!mutationType:IntrospectionType queryType:IntrospectionType!subscriptionType:IntrospectionType types(filter:TypeFilterConfig={includeAbstractTypes:true includeBuiltInTypes:true includeIntrospectionTypes:true}):[IntrospectionType!]!}"""__Schema introspection type""" input IntrospectionSchemaInput{description:String directives:[IntrospectionDirectiveInput!]!mutationType:IntrospectionTypeRefInput queryType:IntrospectionTypeRefInput!subscriptionType:IntrospectionTypeRefInput types:[IntrospectionTypeInput!]}"""Object containing all possible values for an introspectionType""" type IntrospectionType{"""the base kind of the type this references, ignoring lists and nullability""" baseKind:IntrospectionTypeKind description:String enumValues(includeDeprecated:Boolean=false):[IntrospectionEnumValue!]fields:[IntrospectionField!]inputFields:[IntrospectionInputValue!]interfaces:[IntrospectionType!]kind:IntrospectionTypeKind name:String ofType:IntrospectionType possibleTypes:[IntrospectionType!]"""printed representation of type, including nested nullability and list ofTypes""" printed:String!}"""__Type introspection type""" input IntrospectionTypeInput{description:String enumValues:[IntrospectionEnumValueInput!]fields:[IntrospectionFieldInput!]inputFields:[IntrospectionInputValueInput!]interfaces:[IntrospectionTypeInput!]kind:IntrospectionTypeKind!name:String ofType:IntrospectionTypeInput possibleTypes:[IntrospectionTypeInput!]specifiedByUrl:String}enum IntrospectionTypeKind{"""Indicates this type is an enum. 'enumValues' is a valid field.""" ENUM """Indicates this type is an input object. 'inputFields' is a valid field.""" INPUT_OBJECT """Indicates this type is an interface. 'fields' and 'possibleTypes' are valid
-fields""" INTERFACE """Indicates this type is a list. 'ofType' is a valid field.""" LIST """Indicates this type is a non-null. 'ofType' is a valid field.""" NON_NULL """Indicates this type is an object. 'fields' and 'interfaces' are valid fields.""" OBJECT """Indicates this type is a scalar.""" SCALAR """Indicates this type is a union. 'possibleTypes' is a valid field.""" UNION}"""Shallow __Type introspection type""" input IntrospectionTypeRefInput{kind:String name:String!}type InvalidOperation{errors:[OperationValidationError!]signature:ID!}"""Type returned by reference lookup when the reference was invalid""" type InvalidRefFormat implements Error{message:String!}type InvalidTarget implements Error{message:String!}type Invoice{closedAt:Timestamp collectionMethod:String createdAt:Timestamp!invoiceNumber:Int!state:InvoiceState!totalInCents:Int!updatedAt:Timestamp!uuid:ID!}enum InvoiceState{COLLECTED FAILED OPEN PAST_DUE UNKNOWN}enum InvoiceStateV2{COLLECTED FAILED OPEN PAST_DUE UNKNOWN}type InvoiceV2{closedAt:Timestamp collectionMethod:String createdAt:Timestamp!invoiceNumber:Int!state:InvoiceStateV2!totalInCents:Int!updatedAt:Timestamp!uuid:ID!}type Launch{approvedAt:Timestamp build:Build buildInput:BuildInput!completedAt:Timestamp createdAt:Timestamp!downstreamLaunches:[Launch!]!graphId:String!graphVariant:String!id:ID!isAvailable:Boolean isCompleted:Boolean isPublished:Boolean isTarget:Boolean latestSequenceStep:LaunchSequenceStep publication:SchemaTag results:[LaunchResult!]!schemaTag:SchemaTag sequence:[LaunchSequenceStep!]!shortenedID:String!status:LaunchStatus!subgraphChanges:[SubgraphChange!]supersededAt:Timestamp supersededBy:Launch upstreamLaunch:Launch}"""more result types will be supported in the future""" union LaunchResult=ChangelogLaunchResult type LaunchSequenceBuildStep{completedAt:Timestamp startedAt:Timestamp}type LaunchSequenceCheckStep{completedAt:Timestamp startedAt:Timestamp}type LaunchSequenceCompletedStep{completedAt:Timestamp}type LaunchSequenceInitiatedStep{startedAt:Timestamp}type LaunchSequencePublishStep{completedAt:Timestamp startedAt:Timestamp}union LaunchSequenceStep=LaunchSequenceBuildStep|LaunchSequenceCheckStep|LaunchSequenceCompletedStep|LaunchSequenceInitiatedStep|LaunchSequencePublishStep|LaunchSequenceSupersededStep type LaunchSequenceSupersededStep{completedAt:Timestamp}enum LaunchStatus{LAUNCH_COMPLETED LAUNCH_FAILED LAUNCH_INITIATED}type LinkInfo{createdAt:Timestamp!id:ID!title:String type:LinkInfoType!url:String!}enum LinkInfoType{DEVELOPER_PORTAL OTHER REPOSITORY}"""Long type""" scalar Long type MarkChangesForOperationAsSafeResult{"""Nice to have for the frontend since the Apollo cache is already watching for AffectedQuery to update.
+fields""" INTERFACE """Indicates this type is a list. 'ofType' is a valid field.""" LIST """Indicates this type is a non-null. 'ofType' is a valid field.""" NON_NULL """Indicates this type is an object. 'fields' and 'interfaces' are valid fields.""" OBJECT """Indicates this type is a scalar.""" SCALAR """Indicates this type is a union. 'possibleTypes' is a valid field.""" UNION}"""Shallow __Type introspection type""" input IntrospectionTypeRefInput{kind:String name:String!}type InvalidOperation{errors:[OperationValidationError!]signature:ID!}"""Type returned by reference lookup when the reference was invalid""" type InvalidRefFormat implements Error{message:String!}type InvalidTarget implements Error{message:String!}type Invoice{closedAt:Timestamp collectionMethod:String createdAt:Timestamp!invoiceNumber:Int!state:InvoiceState!totalInCents:Int!updatedAt:Timestamp!uuid:ID!}enum InvoiceState{COLLECTED FAILED OPEN PAST_DUE UNKNOWN}enum InvoiceStateV2{COLLECTED FAILED OPEN PAST_DUE UNKNOWN}type InvoiceV2{closedAt:Timestamp collectionMethod:String createdAt:Timestamp!invoiceNumber:Int!state:InvoiceStateV2!totalInCents:Int!updatedAt:Timestamp!uuid:ID!}"""A Launch represents the complete process of making a set of updates to your deployed graph.""" type Launch{"""The time at which this launch was approved.""" approvedAt:Timestamp """The build for the variant being launched. Is non-null once the build is initiated.""" build:Build """Set of items that will be passed to the build.""" buildInput:BuildInput!"""The time at which this launch completed.""" completedAt:Timestamp """The time at which this launch initiated.""" createdAt:Timestamp!"""Contract launches that were triggered by this launch.""" downstreamLaunches:[Launch!]!"""The ID of the graph that this launch was initiated for.""" graphId:String!"""The name of the variant that this launch was initiated for.""" graphVariant:String!"""Unique identifier for this launch.""" id:ID!isAvailable:Boolean """Whether the launch completed.""" isCompleted:Boolean """Whether the launch was published.""" isPublished:Boolean isTarget:Boolean """Returns the most recent launch sequence step.""" latestSequenceStep:LaunchSequenceStep """A specific publication of a graph variant pertaining to this launch.""" publication:SchemaTag """The outcome of the launch.""" results:[LaunchResult!]!schemaTag:SchemaTag """This represents a sequence in the Launch. Returns a list of sequence steps that represents points of time in the launch.""" sequence:[LaunchSequenceStep!]!"""A shortened version of Launch.id. Contains the first 8 characters of the ID.""" shortenedID:String!"""The status of the launch.""" status:LaunchStatus!"""Changes that were made to the subgraphs for this launch.""" subgraphChanges:[SubgraphChange!]"""The time at which this launch was superseded by another launch.""" supersededAt:Timestamp """Represents the launch that caused this launch to not continue/publish.""" supersededBy:Launch """Upstream launch represents the launch of the source variant.""" upstreamLaunch:Launch}"""more result types will be supported in the future""" union LaunchResult=ChangelogLaunchResult type LaunchSequenceBuildStep{completedAt:Timestamp startedAt:Timestamp}type LaunchSequenceCheckStep{completedAt:Timestamp startedAt:Timestamp}type LaunchSequenceCompletedStep{completedAt:Timestamp}type LaunchSequenceInitiatedStep{startedAt:Timestamp}type LaunchSequencePublishStep{completedAt:Timestamp startedAt:Timestamp}union LaunchSequenceStep=LaunchSequenceBuildStep|LaunchSequenceCheckStep|LaunchSequenceCompletedStep|LaunchSequenceInitiatedStep|LaunchSequencePublishStep|LaunchSequenceSupersededStep type LaunchSequenceSupersededStep{completedAt:Timestamp}enum LaunchStatus{LAUNCH_COMPLETED LAUNCH_FAILED LAUNCH_INITIATED}type LinkInfo{createdAt:Timestamp!id:ID!title:String type:LinkInfoType!url:String!}enum LinkInfoType{DEVELOPER_PORTAL OTHER REPOSITORY}"""Long type""" scalar Long type MarkChangesForOperationAsSafeResult{"""Nice to have for the frontend since the Apollo cache is already watching for AffectedQuery to update.
 This might return null if no behavior changes were found for the affected operation ID.
 This is a weird situation that should never happen.""" affectedOperation:AffectedQuery message:String!success:Boolean!}type MediaUploadInfo{csrfToken:String!maxContentLength:Int!url:String!}union MoveOperationCollectionEntryResult=InvalidTarget|MoveOperationCollectionEntrySuccess|PermissionError type MoveOperationCollectionEntrySuccess{operation:OperationCollectionEntry!originCollection:OperationCollection!targetCollection:OperationCollection!}type Mutation{account(id:ID!):AccountMutation """Creates an operation collection for the given variantRefs, or make a sandbox collection without variantRefs.""" createOperationCollection(description:String editRoles:[UserPermission!]isSandbox:Boolean!isShared:Boolean!name:String!variantRefs:[ID!]):CreateOperationCollectionResult!"""Finalize a password reset with a token included in the E-mail link,
-returns the corresponding login email when successful""" finalizePasswordReset(newPassword:String!resetToken:String!):String """Mutation a graph.""" graph(id:ID!):ServiceMutation """Join an account with a token""" joinAccount(accountId:ID!joinToken:String!):Account me:IdentityMutation newAccount(companyUrl:String id:ID!):Account newService(accountId:ID!description:String hiddenFromUninvitedNonAdminAccountMembers:Boolean!=false id:ID!isDev:Boolean!=false name:String title:String):Service operationCollection(id:ID!):OperationCollectionMutation """Refresh all plans from third-party billing service""" plansRefreshBilling:Void """Report a running GraphQL server's schema.""" reportSchema("""Only sent if previously requested i.e. received ReportSchemaResult with withCoreSchema = true. This is a GraphQL schema document as a string. Note that for a GraphQL server with a core schema, this should be the core schema, not the API schema.""" coreSchema:String """Information about server and its schema.""" report:SchemaReport!):ReportSchemaResult """Ask for a user's password to be reset by E-mail""" resetPassword(email:String!):Void resolveAllInternalCronExecutions(group:String name:String):Void resolveInternalCronExecution(id:ID!):CronExecution service(id:ID!):ServiceMutation """Set the subscriptions for a given email""" setSubscriptions(email:String!subscriptions:[EmailCategory!]!token:String!):EmailPreferences """Set the studio settings for the current user""" setUserSettings(newSettings:UserSettingsInput):UserSettings signUp(email:String!fullName:String!password:String!referrer:String trackingGoogleClientId:String trackingMarketoClientId:String userSegment:UserSegment utmCampaign:String utmMedium:String utmSource:String):User """This is called by the form shown to users after they delete their user or organization account.""" submitPostDeletionFeedback(feedback:String!targetIdentifier:ID!targetType:DeletionTargetType!):Void """Mutation for basic engagement tracking in studio""" track(event:EventEnum!graphID:String!graphVariant:String!="current"):Void """Rover session tracking. Reserved to https://rover.apollo.dev/telemetry (https://github.com/apollographql/orbiter).""" trackRoverSession(anonymousId:ID!arguments:[RoverArgumentInput!]!ci:String command:String!cwdHash:SHA256!os:String!remoteUrlHash:SHA256!sessionId:ID!version:String!):Void """Unsubscribe a given email from all emails""" unsubscribeFromAll(email:String!token:String!):EmailPreferences user(id:ID!):UserMutation}type NamedIntrospectionArg{description:String name:String}type NamedIntrospectionArgNoDescription{name:String}"""The shared fields for a named introspection type. Currently this is returned for the
+returns the corresponding login email when successful""" finalizePasswordReset(newPassword:String!resetToken:String!):String """Mutation a graph.""" graph(id:ID!):ServiceMutation """Join an account with a token""" joinAccount(accountId:ID!joinToken:String!):Account me:IdentityMutation newAccount(companyUrl:String id:ID!):Account newService(accountId:ID!description:String hiddenFromUninvitedNonAdminAccountMembers:Boolean!=false id:ID!isDev:Boolean!=false name:String onboardingArchitecture:OnboardingArchitecture title:String):Service operationCollection(id:ID!):OperationCollectionMutation """Report a running GraphQL server's schema.""" reportSchema("""Only sent if previously requested i.e. received ReportSchemaResult with withCoreSchema = true. This is a GraphQL schema document as a string. Note that for a GraphQL server with a core schema, this should be the core schema, not the API schema.""" coreSchema:String """Information about server and its schema.""" report:SchemaReport!):ReportSchemaResult """Ask for a user's password to be reset by E-mail""" resetPassword(email:String!):Void resolveAllInternalCronExecutions(group:String name:String):Void resolveInternalCronExecution(id:ID!):CronExecution service(id:ID!):ServiceMutation """Set the subscriptions for a given email""" setSubscriptions(email:String!subscriptions:[EmailCategory!]!token:String!):EmailPreferences """Set the studio settings for the current user""" setUserSettings(newSettings:UserSettingsInput):UserSettings signUp(email:String!fullName:String!password:String!referrer:String trackingGoogleClientId:String trackingMarketoClientId:String userSegment:UserSegment utmCampaign:String utmMedium:String utmSource:String):User """This is called by the form shown to users after they delete their user or organization account.""" submitPostDeletionFeedback(feedback:String!targetIdentifier:ID!targetType:DeletionTargetType!):Void """Mutation for basic engagement tracking in studio""" track(event:EventEnum!graphID:String!graphVariant:String!="current"):Void """Rover session tracking. Reserved to https://rover.apollo.dev/telemetry (https://github.com/apollographql/orbiter).""" trackRoverSession(anonymousId:ID!arguments:[RoverArgumentInput!]!ci:String command:String!cwdHash:SHA256!os:String!remoteUrlHash:SHA256 sessionId:ID!version:String!):Void """Unsubscribe a given email from all emails""" unsubscribeFromAll(email:String!token:String!):EmailPreferences user(id:ID!):UserMutation}type NamedIntrospectionArg{description:String name:String}type NamedIntrospectionArgNoDescription{name:String}"""The shared fields for a named introspection type. Currently this is returned for the
 top level value affected by a change. In the future, we may update this
 type to be an interface, which is extended by the more specific types:
 scalar, object, input object, union, interface, and enum
@@ -68,8 +68,8 @@ as input fields, objects in interfaces, enum values. In the future, this
 value could become an interface to allow fields specific to the types
 returned.""" type NamedIntrospectionValue{description:String name:String printedType:String}type NamedIntrospectionValueNoDescription{name:String printedType:String}"""A non-federated service for a monolithic graph.""" type NonFederatedImplementingService{"""Timestamp of when this implementing service was created.""" createdAt:Timestamp!"""Identifies which graph this non-implementing service belongs to.
 Formerly known as "service_id".""" graphID:String!"""Specifies which variant of a graph this implementing service belongs to".
-Formerly known as "tag".""" graphVariant:String!}type NotFoundError implements Error{message:String!}"""Arbitrary JSON object""" scalar Object type OdysseyCertification{certificationId:String!earnedAt:Timestamp!id:ID!owner:OdysseyCertificationOwner}type OdysseyCertificationOwner{fullName:String!id:ID!}type OdysseyCourse{completedAt:Timestamp enrolledAt:Timestamp id:ID!}input OdysseyCourseInput{completedAt:Timestamp courseId:String!}type OdysseyTask{completedAt:Timestamp id:ID!value:String}input OdysseyTaskInput{completedAt:Timestamp taskId:String!value:String}type Operation{id:ID!name:String signature:String truncated:Boolean!}type OperationAcceptedChange{acceptedAt:Timestamp!acceptedBy:Identity!change:StoredApprovedChange!checkID:ID!graphID:ID!id:ID!operationID:String!}"""Columns of OperationCheckStats.""" enum OperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_REQUESTS_COUNT}type OperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String serviceId:ID}"""Filter for data in OperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input OperationCheckStatsFilter{and:[OperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:OperationCheckStatsFilterIn not:OperationCheckStatsFilter or:[OperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in OperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input OperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type OperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input OperationCheckStatsOrderBySpec{column:OperationCheckStatsColumn!direction:Ordering!}type OperationCheckStatsRecord{"""Dimensions of OperationCheckStats that can be grouped by.""" groupBy:OperationCheckStatsDimensions!"""Metrics of OperationCheckStats that can be aggregated over.""" metrics:OperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type OperationCollection{createdAt:Timestamp!createdBy:Identity description:String """If a user has any of these roles, they will be able to edit this
-collection. This will be null if and only if \`isShared\` is false""" editRoles:[UserPermission!]id:ID!isFavorite:Boolean!isSandbox:Boolean!isShared:Boolean!lastUpdatedAt:Timestamp!lastUpdatedBy:Identity name:String!operation(id:ID!):OperationCollectionEntryResult operations:[OperationCollectionEntry!]!""" Permissions the current user has for this collection""" permissions:OperationCollectionPermissions!variants:[GraphVariant!]!}type OperationCollectionEntry{collection:OperationCollection!createdAt:Timestamp!createdBy:Identity currentOperationRevision:OperationCollectionEntryState!id:ID!lastUpdatedAt:Timestamp!lastUpdatedBy:Identity name:String!orderingIndex:String!}type OperationCollectionEntryMutation{moveToCollection(collectionId:ID!lowerOrderingBound:String upperOrderingBound:String):MoveOperationCollectionEntryResult!reorderEntry(lowerOrderingBound:String upperOrderingBound:String):UpdateOperationCollectionResult updateName(name:String!):UpdateOperationCollectionEntryResult updateValues(operationInput:OperationCollectionEntryStateInput!):UpdateOperationCollectionEntryResult}union OperationCollectionEntryMutationResult=NotFoundError|OperationCollectionEntryMutation|PermissionError union OperationCollectionEntryResult=NotFoundError|OperationCollectionEntry type OperationCollectionEntryState{body:String!createdAt:Timestamp!createdBy:Identity headers:[OperationHeader!]variables:String}input OperationCollectionEntryStateInput{body:String!headers:[OperationHeaderInput!]""" I'm assuming this is non null""" variables:String}type OperationCollectionMutation{addOperation(name:String!operationInput:OperationCollectionEntryStateInput!):AddOperationCollectionEntryResult addToVariant(variantRef:ID!):AddOperationCollectionToVariantResult!@deprecated(reason:"Will throw NotImplemented")delete:DeleteOperationCollectionResult deleteOperation(id:ID!):RemoveOperationCollectionEntryResult duplicateCollection(description:String isSandbox:Boolean!isShared:Boolean!name:String!variantRef:ID):DuplicateOperationCollectionResult!operation(id:ID!):OperationCollectionEntryMutationResult removeFromVariant(variantRef:ID!):RemoveOperationCollectionFromVariantResult!@deprecated(reason:"Will throw NotImplemented")updateDescription(description:String):UpdateOperationCollectionResult updateEditRoles(editRoles:[UserPermission!]!):UpdateOperationCollectionResult updateIsFavorite(isFavorite:Boolean!):UpdateOperationCollectionResult updateIsShared(isShared:Boolean!):UpdateOperationCollectionResult updateName(name:String!):UpdateOperationCollectionResult}type OperationCollectionPermissions{canEditOperations:Boolean!canManage:Boolean!canReadOperations:Boolean!}union OperationCollectionResult=NotFoundError|OperationCollection|PermissionError type OperationDocument{"""Operation document body""" body:String!"""Operation name""" name:String}input OperationDocumentInput{"""Operation document body""" body:String!"""Operation name""" name:String}type OperationHeader{name:String!value:String!}input OperationHeaderInput{name:String!value:String!}"""Operation name filter configuration for a graph.""" type OperationNameFilter{"""name of the operation by the user and reported alongside metrics""" name:String!}"""Options to filter by operation name.""" input OperationNameFilterInput{"""name of the operation set by the user and reported alongside metrics""" name:String!}type OperationValidationError{message:String!}type OperationsCheckResult{"""Operations affected by all changes in diff""" affectedQueries:[AffectedQuery!]"""Summary/counts for all changes in diff""" changeSummary:ChangeSummary!"""List of schema changes with associated affected clients and operations""" changes:[Change!]!"""Indication of the success of the change, either failure, warning, or notice.""" checkSeverity:ChangeSeverity!"""The variant that was used as a base to check against""" checkedVariant:GraphVariant!createdAt:Timestamp!id:ID!"""Number of affected query operations that are neither marked as SAFE or IGNORED""" numberOfAffectedOperations:Int!"""Number of operations that were validated during schema diff""" numberOfCheckedOperations:Int!workflowTask:OperationsCheckTask!}type OperationsCheckTask implements CheckWorkflowTask{completedAt:Timestamp createdAt:Timestamp!id:ID!"""The result of the check.""" result:OperationsCheckResult status:CheckWorkflowTaskStatus!workflow:CheckWorkflow!}enum Ordering{ASCENDING DESCENDING}"""A reusable invite link for an organization.""" type OrganizationInviteLink{createdAt:Timestamp!"""A joinToken that can be passed to Mutation.joinAccount to join the organization.""" joinToken:String!"""The role that the user will receive if they join the organization with this link.""" role:UserPermission!}type OrganizationSSO{defaultRole:UserPermission!idpid:ID!provider:OrganizationSSOProvider!}enum OrganizationSSOProvider{PINGONE}"""PagerDuty notification channel""" type PagerDutyChannel implements Channel{id:ID!name:String!routingKey:String!subscriptions:[ChannelSubscription!]!}"""PagerDuty notification channel parameters""" input PagerDutyChannelInput{name:String routingKey:String!}"""Schema for a subgraph with associated metadata""" type PartialSchema{"""Timestamp for when the partial schema was created""" createdAt:Timestamp!"""If this sdl is currently actively composed in the gateway, this is true""" isLive:Boolean!"""The GraphQL document for a subgraph schema.""" sdl:String!"""The path of deep storage to find the raw enriched partial schema file""" sdlPath:String!}"""Input for registering a partial schema to an implementing service.
+Formerly known as "tag".""" graphVariant:String!}type NotFoundError implements Error{message:String!}"""Arbitrary JSON object""" scalar Object type OdysseyAttempt{completedAt:Timestamp id:ID!responses:[OdysseyResponse!]!startedAt:Timestamp!testId:String!}type OdysseyCertification{certificationId:String!earnedAt:Timestamp!id:ID!owner:OdysseyCertificationOwner}type OdysseyCertificationOwner{fullName:String!id:ID!}type OdysseyCourse{completedAt:Timestamp enrolledAt:Timestamp id:ID!}input OdysseyCourseInput{completedAt:Timestamp courseId:String!}type OdysseyResponse{correct:Boolean!id:ID!questionId:String!values:[OdysseyValue!]!}input OdysseyResponseInput{attemptId:ID!correct:Boolean!questionId:String!values:[String!]!}type OdysseyTask{completedAt:Timestamp id:ID!value:String}input OdysseyTaskInput{completedAt:Timestamp taskId:String!value:String}type OdysseyValue{id:ID!value:String!}enum OnboardingArchitecture{MONOLITH SUPERGRAPH}type Operation{id:ID!name:String signature:String truncated:Boolean!}type OperationAcceptedChange{acceptedAt:Timestamp!acceptedBy:Identity!change:StoredApprovedChange!checkID:ID!graphID:ID!id:ID!operationID:String!}"""Columns of OperationCheckStats.""" enum OperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_REQUESTS_COUNT}type OperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String serviceId:ID}"""Filter for data in OperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input OperationCheckStatsFilter{and:[OperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:OperationCheckStatsFilterIn not:OperationCheckStatsFilter or:[OperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in OperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input OperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type OperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input OperationCheckStatsOrderBySpec{column:OperationCheckStatsColumn!direction:Ordering!}type OperationCheckStatsRecord{"""Dimensions of OperationCheckStats that can be grouped by.""" groupBy:OperationCheckStatsDimensions!"""Metrics of OperationCheckStats that can be aggregated over.""" metrics:OperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type OperationCollection{createdAt:Timestamp!createdBy:Identity description:String """If a user has any of these roles, they will be able to edit this
+collection. This will be null if and only if \`isShared\` is false""" editRoles:[UserPermission!]@deprecated(reason:"deprecated in favour of minEditRole")id:ID!isFavorite:Boolean!isSandbox:Boolean!isShared:Boolean!lastUpdatedAt:Timestamp!lastUpdatedBy:Identity minEditRole:UserPermission name:String!operation(id:ID!):OperationCollectionEntryResult operations:[OperationCollectionEntry!]!""" Permissions the current user has for this collection""" permissions:OperationCollectionPermissions!variants:[GraphVariant!]!}type OperationCollectionEntry{collection:OperationCollection!createdAt:Timestamp!createdBy:Identity currentOperationRevision:OperationCollectionEntryState!id:ID!lastUpdatedAt:Timestamp!lastUpdatedBy:Identity name:String!orderingIndex:String!}type OperationCollectionEntryMutation{moveToCollection(collectionId:ID!lowerOrderingBound:String upperOrderingBound:String):MoveOperationCollectionEntryResult!reorderEntry(lowerOrderingBound:String upperOrderingBound:String):UpdateOperationCollectionResult updateName(name:String!):UpdateOperationCollectionEntryResult updateValues(operationInput:OperationCollectionEntryStateInput!):UpdateOperationCollectionEntryResult}union OperationCollectionEntryMutationResult=NotFoundError|OperationCollectionEntryMutation|PermissionError union OperationCollectionEntryResult=NotFoundError|OperationCollectionEntry type OperationCollectionEntryState{body:String!createdAt:Timestamp!createdBy:Identity headers:[OperationHeader!]variables:String}input OperationCollectionEntryStateInput{body:String!headers:[OperationHeaderInput!]""" I'm assuming this is non null""" variables:String}type OperationCollectionMutation{addOperation(name:String!operationInput:OperationCollectionEntryStateInput!):AddOperationCollectionEntryResult addToVariant(variantRef:ID!):AddOperationCollectionToVariantResult!@deprecated(reason:"Will throw NotImplemented")delete:DeleteOperationCollectionResult deleteOperation(id:ID!):RemoveOperationCollectionEntryResult duplicateCollection(description:String isSandbox:Boolean!isShared:Boolean!name:String!variantRef:ID):DuplicateOperationCollectionResult!operation(id:ID!):OperationCollectionEntryMutationResult removeFromVariant(variantRef:ID!):RemoveOperationCollectionFromVariantResult!@deprecated(reason:"Will throw NotImplemented")setMinEditRole(editRole:UserPermission):UpdateOperationCollectionResult updateDescription(description:String):UpdateOperationCollectionResult updateEditRoles(editRoles:[UserPermission!]!):UpdateOperationCollectionResult@deprecated(reason:"Deprecated in favour of setMinEditRole")updateIsFavorite(isFavorite:Boolean!):UpdateOperationCollectionResult updateIsShared(isShared:Boolean!):UpdateOperationCollectionResult updateName(name:String!):UpdateOperationCollectionResult}type OperationCollectionPermissions{canEditOperations:Boolean!canManage:Boolean!canReadOperations:Boolean!}union OperationCollectionResult=NotFoundError|OperationCollection|PermissionError type OperationDocument{"""Operation document body""" body:String!"""Operation name""" name:String}input OperationDocumentInput{"""Operation document body""" body:String!"""Operation name""" name:String}type OperationHeader{name:String!value:String!}input OperationHeaderInput{name:String!value:String!}"""Operation name filter configuration for a graph.""" type OperationNameFilter{"""name of the operation by the user and reported alongside metrics""" name:String!}"""Options to filter by operation name.""" input OperationNameFilterInput{"""name of the operation set by the user and reported alongside metrics""" name:String!}type OperationValidationError{message:String!}type OperationsCheckResult{"""Operations affected by all changes in diff""" affectedQueries:[AffectedQuery!]"""Summary/counts for all changes in diff""" changeSummary:ChangeSummary!"""List of schema changes with associated affected clients and operations""" changes:[Change!]!"""Indication of the success of the change, either failure, warning, or notice.""" checkSeverity:ChangeSeverity!"""The variant that was used as a base to check against""" checkedVariant:GraphVariant!createdAt:Timestamp!id:ID!"""Number of affected query operations that are neither marked as SAFE or IGNORED""" numberOfAffectedOperations:Int!"""Number of operations that were validated during schema diff""" numberOfCheckedOperations:Int!workflowTask:OperationsCheckTask!}type OperationsCheckTask implements CheckWorkflowTask{completedAt:Timestamp createdAt:Timestamp!id:ID!"""The result of the check.""" result:OperationsCheckResult status:CheckWorkflowTaskStatus!workflow:CheckWorkflow!}enum Ordering{ASCENDING DESCENDING}"""A reusable invite link for an organization.""" type OrganizationInviteLink{createdAt:Timestamp!"""A joinToken that can be passed to Mutation.joinAccount to join the organization.""" joinToken:String!"""The role that the user will receive if they join the organization with this link.""" role:UserPermission!}type OrganizationSSO{defaultRole:UserPermission!idpid:ID!provider:OrganizationSSOProvider!}enum OrganizationSSOProvider{PINGONE}"""PagerDuty notification channel""" type PagerDutyChannel implements Channel{id:ID!name:String!routingKey:String!subscriptions:[ChannelSubscription!]!}"""PagerDuty notification channel parameters""" input PagerDutyChannelInput{name:String routingKey:String!}"""Schema for a subgraph with associated metadata""" type PartialSchema{"""Timestamp for when the partial schema was created""" createdAt:Timestamp!"""If this sdl is currently actively composed in the gateway, this is true""" isLive:Boolean!"""The GraphQL document for a subgraph schema.""" sdl:String!"""The path of deep storage to find the raw enriched partial schema file""" sdlPath:String!}"""Input for registering a partial schema to an implementing service.
 One of the fields must be specified (validated server-side).
 
 If a new partialSchemaSDL is passed in, this operation will store it before
@@ -79,7 +79,7 @@ If both the sdl and hash are specified, an error will be thrown if the provided
 hash doesn't match our hash of the sdl contents. If the sdl field is specified,
 the hash does not need to be and will be computed server-side.""" input PartialSchemaInput{"""Hash of the partial schema to associate; error is thrown if only the hash is
 specified and the hash has not been seen before""" hash:String """Contents of the partial schema in SDL syntax, but may reference types
-that aren't defined in this document""" sdl:String}type PermissionError implements Error{message:String!}type PromoteSchemaError{code:PromoteSchemaErrorCode!message:String!}enum PromoteSchemaErrorCode{CANNOT_PROMOTE_SCHEMA_FOR_FEDERATED_GRAPH}type PromoteSchemaResponse{code:PromoteSchemaResponseCode!tag:SchemaTag!}enum PromoteSchemaResponseCode{NO_CHANGES_DETECTED PROMOTION_SUCCESS}union PromoteSchemaResponseOrError=PromoteSchemaError|PromoteSchemaResponse type Protobuf{json:String!object:Object!raw:Blob!text:String!}type Query{"""Account by ID""" account(id:ID!):Account """Retrieve account by billing provider identifier""" accountByBillingCode(id:ID!):Account """Whether an account ID is available for mutation{newAccount(id:)}""" accountIDAvailable(id:ID!):Boolean!"""All accounts""" allAccounts(search:String tier:BillingPlanTier):[Account!]"""All available plans""" allPlans:[BillingPlan!]!allPublicVariants:[GraphVariant!]"""All services""" allServices(search:String):[Service!]"""All timezones with their offsets from UTC""" allTimezoneOffsets:[TimezoneOffset!]!"""All users""" allUsers(search:String):[User!]"""Look up a plan by ID""" billingPlan(id:ID):BillingPlanV2 """All available plans""" billingPlans:[BillingPlanV2!]!"""If this is true, the user is an Apollo administrator who can ignore restrictions based purely on billing plan.""" canBypassPlanRestrictions:Boolean!diffSchemas(baseSchema:String!nextSchema:String!):[Change!]!"""Get the unsubscribe settings for a given email.""" emailPreferences(email:String!token:String!):EmailPreferences experimentalFeatures:GlobalExperimentalFeatures!"""Address of the Studio frontend.""" frontendUrlRoot:String!"""Access a graph by ID.""" graph(id:ID!):Service internalActiveCronJobs:[CronJob!]!internalAdminUsers:[InternalAdminUser!]internalUnresolvedCronExecutionFailures:[CronExecution!]!"""User or graph querying the API, null if not authenticated.""" me:Identity odysseyCertification(id:ID!):OdysseyCertification operationCollection(id:ID!):OperationCollectionResult!operationCollectionEntries(collectionEntryIds:[ID!]!):[OperationCollectionEntry!]!"""Access an organization by ID.""" organization(id:ID!):Account """Look up a plan by ID""" plan(id:ID):BillingPlan """A list of public variants that have been selected to be shown on our Graph Directory.""" publiclyListedVariants:[GraphVariant!]"""Service by ID""" service(id:ID!):Service """Query statistics across all services. For admins only; normal users must go through AccountsStatsWindow or ServiceStatsWindow.""" stats(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):StatsWindow!"""Get the studio settings for the current user""" studioSettings:UserSettings """The plan started by AccountMutation.startTeamSubscription""" teamBillingPlan(billingPeriod:BillingPeriod!):BillingPlanV2!"""The plan started by AccountMutation.startTeamSubscription""" teamPlan(billingPeriod:BillingPeriod!):BillingPlan!"""Schema transformation for the Apollo platform API. Renames types. Internal to Apollo.""" transformSchemaForPlatformApi(baseSchema:GraphQLDocument!):GraphQLDocument """The plan started by AccountMutation.startTrial""" trialBillingPlan:BillingPlanV2!"""The plan started by AccountMutation.startTrial""" trialPlan:BillingPlan!"""User by ID""" user(id:ID!):User """Access a variant by reference of the form `graphID@variantName`, or `graphID` for the default `current` variant.
+that aren't defined in this document""" sdl:String}type PermissionError implements Error{message:String!}type PromoteSchemaError{code:PromoteSchemaErrorCode!message:String!}enum PromoteSchemaErrorCode{CANNOT_PROMOTE_SCHEMA_FOR_FEDERATED_GRAPH}type PromoteSchemaResponse{code:PromoteSchemaResponseCode!tag:SchemaTag!}enum PromoteSchemaResponseCode{NO_CHANGES_DETECTED PROMOTION_SUCCESS}union PromoteSchemaResponseOrError=PromoteSchemaError|PromoteSchemaResponse type Protobuf{json:String!object:Object!raw:Blob!text:String!}type Query{"""Account by ID""" account(id:ID!):Account """Retrieve account by billing provider identifier""" accountByBillingCode(id:ID!):Account """Retrieve account by internal id""" accountByInternalID(id:ID!):Account """Whether an account ID is available for mutation{newAccount(id:)}""" accountIDAvailable(id:ID!):Boolean!"""All accounts""" allAccounts(search:String tier:BillingPlanTier):[Account!]"""All available plans""" allPlans:[BillingPlan!]!allPublicVariants:[GraphVariant!]"""All services""" allServices(search:String):[Service!]"""All timezones with their offsets from UTC""" allTimezoneOffsets:[TimezoneOffset!]!"""All users""" allUsers(search:String):[User!]"""Look up a plan by ID""" billingPlan(id:ID):BillingPlanV2 """All available plans""" billingPlans:[BillingPlanV2!]!"""If this is true, the user is an Apollo administrator who can ignore restrictions based purely on billing plan.""" canBypassPlanRestrictions:Boolean!diffSchemas(baseSchema:String!nextSchema:String!):[Change!]!"""Get the unsubscribe settings for a given email.""" emailPreferences(email:String!token:String!):EmailPreferences experimentalFeatures:GlobalExperimentalFeatures!"""Address of the Studio frontend.""" frontendUrlRoot:String!"""Access a graph by ID.""" graph(id:ID!):Service internalActiveCronJobs:[CronJob!]!internalAdminUsers:[InternalAdminUser!]internalUnresolvedCronExecutionFailures:[CronExecution!]!"""User or graph querying the API, null if not authenticated.""" me:Identity odysseyCertification(id:ID!):OdysseyCertification operationCollection(id:ID!):OperationCollectionResult!operationCollectionEntries(collectionEntryIds:[ID!]!):[OperationCollectionEntry!]!"""Access an organization by ID.""" organization(id:ID!):Account """Look up a plan by ID""" plan(id:ID):BillingPlan """A list of public variants that have been selected to be shown on our Graph Directory.""" publiclyListedVariants:[GraphVariant!]"""Service by ID""" service(id:ID!):Service """Query statistics across all services. For admins only; normal users must go through AccountsStatsWindow or ServiceStatsWindow.""" stats(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):StatsWindow!"""Get the studio settings for the current user""" studioSettings:UserSettings """The plan started by AccountMutation.startTeamSubscription""" teamBillingPlan(billingPeriod:BillingPeriod!):BillingPlanV2!"""The plan started by AccountMutation.startTeamSubscription""" teamPlan(billingPeriod:BillingPeriod!):BillingPlan!"""Schema transformation for the Apollo platform API. Renames types. Internal to Apollo.""" transformSchemaForPlatformApi(baseSchema:GraphQLDocument!):GraphQLDocument """The plan started by AccountMutation.startTrial""" trialBillingPlan:BillingPlanV2!"""The plan started by AccountMutation.startTrial""" trialPlan:BillingPlan!"""User by ID""" user(id:ID!):User """Access a variant by reference of the form `graphID@variantName`, or `graphID` for the default `current` variant.
 Returns null when the graph or variant do not exist, or when the graph cannot be accessed.
 Note that we can return more types implementing Error in the future.""" variant(ref:ID!):GraphVariantLookup}"""query documents to validate against""" input QueryDocumentInput{document:String}type QueryPlan{json:String!object:Object!text:String!}"""Columns of QueryStats.""" enum QueryStatsColumn{ACCOUNT_ID CACHED_HISTOGRAM CACHED_REQUESTS_COUNT CACHE_TTL_HISTOGRAM CLIENT_NAME CLIENT_VERSION FORBIDDEN_OPERATION_COUNT FROM_ENGINEPROXY QUERY_ID QUERY_NAME REGISTERED_OPERATION_COUNT REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP UNCACHED_HISTOGRAM UNCACHED_REQUESTS_COUNT}type QueryStatsDimensions{accountId:ID clientName:String clientVersion:String fromEngineproxy:String queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID}"""Filter for data in QueryStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input QueryStatsFilter{"""Selects rows whose accountId dimension equals the given value if not null. To query for the null value, use {in: {accountId: [null]}} instead.""" accountId:ID and:[QueryStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fromEngineproxy dimension equals the given value if not null. To query for the null value, use {in: {fromEngineproxy: [null]}} instead.""" fromEngineproxy:String in:QueryStatsFilterIn not:QueryStatsFilter or:[QueryStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID}"""Filter for data in QueryStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input QueryStatsFilterIn{"""Selects rows whose accountId dimension is in the given list. A null value in the list means a row with null for that dimension.""" accountId:[ID]"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fromEngineproxy dimension is in the given list. A null value in the list means a row with null for that dimension.""" fromEngineproxy:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]}type QueryStatsMetrics{cacheTtlHistogram:DurationHistogram!cachedHistogram:DurationHistogram!cachedRequestsCount:Long!forbiddenOperationCount:Long!registeredOperationCount:Long!requestsWithErrorsCount:Long!totalLatencyHistogram:DurationHistogram!totalRequestCount:Long!uncachedHistogram:DurationHistogram!uncachedRequestsCount:Long!}input QueryStatsOrderBySpec{column:QueryStatsColumn!direction:Ordering!}type QueryStatsRecord{"""Dimensions of QueryStats that can be grouped by.""" groupBy:QueryStatsDimensions!"""Metrics of QueryStats that can be aggregated over.""" metrics:QueryStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Query Trigger""" type QueryTrigger implements ChannelSubscription{channels:[Channel!]!comparisonOperator:ComparisonOperator!enabled:Boolean!excludedOperationNames:[String!]!id:ID!metric:QueryTriggerMetric!operationNames:[String!]!percentile:Float scope:QueryTriggerScope!serviceId:String!state:QueryTriggerState!threshold:Float!variant:String window:QueryTriggerWindow!}"""Query trigger""" input QueryTriggerInput{channelIds:[String!]comparisonOperator:ComparisonOperator!enabled:Boolean excludedOperationNames:[String!]metric:QueryTriggerMetric!operationNames:[String!]percentile:Float scope:QueryTriggerScope threshold:Float!variant:String window:QueryTriggerWindow!}enum QueryTriggerMetric{"""Number of requests within the window that resulted in an error. Ignores `percentile`.""" ERROR_COUNT """Number of error requests divided by total number of requests. Ignores `percentile`.""" ERROR_PERCENTAGE """Number of requests within the window. Ignores `percentile`.""" REQUEST_COUNT """Request latency in ms. Requires `percentile`.""" REQUEST_SERVICE_TIME}enum QueryTriggerScope{ALL ANY UNRECOGNIZED}"""Query trigger state""" type QueryTriggerState{evaluatedAt:Timestamp!lastTriggeredAt:Timestamp operations:[QueryTriggerStateOperation!]!triggered:Boolean!}type QueryTriggerStateOperation{count:Long!operation:String!triggered:Boolean!value:Float!}enum QueryTriggerWindow{FIFTEEN_MINUTES FIVE_MINUTES ONE_MINUTE UNRECOGNIZED}"""The documentation for a graph variant, as display in Studio.""" type Readme{"""Content of the document.""" content:String!id:ID!"""Last time the document was updated.""" lastUpdatedAt:Timestamp!"""Identity of who updated the document last.""" lastUpdatedBy:Identity}type RegisterOperationsMutationResponse{invalidOperations:[InvalidOperation!]newOperations:[RegisteredOperation!]registrationSuccess:Boolean!}input RegisteredClientIdentityInput{identifier:String!name:String!version:String}type RegisteredOperation{signature:ID!}input RegisteredOperationInput{document:String metadata:RegisteredOperationMetadataInput signature:ID!}input RegisteredOperationMetadataInput{"""This will be used to link existing records in Engine to a new ID.""" engineSignature:String}type RegistryApiKey{keyName:String token:String!}type RegistryStatsWindow{schemaCheckStats:[AccountChecksStatsRecord!]!schemaPublishStats:[AccountPublishesStatsRecord!]!}type RegistrySubscription implements ChannelSubscription{channel:Channel channels:[Channel!]!@deprecated(reason:"Use channels list instead")createdAt:Timestamp!enabled:Boolean!id:ID!lastUpdatedAt:Timestamp!options:SubscriptionOptions!variant:String}type RelaunchComplete{latestLaunch:Launch!updated:Boolean!}type RelaunchError{message:String!}union RelaunchResult=RelaunchComplete|RelaunchError union RemoveOperationCollectionEntryResult=OperationCollection|PermissionError union RemoveOperationCollectionFromVariantResult=GraphVariant|NotFoundError|PermissionError|ValidationError union ReorderOperationCollectionResult=OperationCollection|PermissionError type ReportSchemaError implements ReportSchemaResult{code:ReportSchemaErrorCode!inSeconds:Int!message:String!withCoreSchema:Boolean!}enum ReportSchemaErrorCode{BOOT_ID_IS_NOT_VALID_UUID BOOT_ID_IS_REQUIRED CORE_SCHEMA_HASH_IS_NOT_SCHEMA_SHA256 CORE_SCHEMA_HASH_IS_REQUIRED CORE_SCHEMA_HASH_IS_TOO_LONG EXECUTABLE_SCHEMA_ID_IS_NOT_SCHEMA_SHA256 EXECUTABLE_SCHEMA_ID_IS_REQUIRED EXECUTABLE_SCHEMA_ID_IS_TOO_LONG GRAPH_REF_INVALID_FORMAT GRAPH_REF_IS_REQUIRED GRAPH_VARIANT_DOES_NOT_MATCH_REGEX GRAPH_VARIANT_IS_REQUIRED LIBRARY_VERSION_IS_TOO_LONG PLATFORM_IS_TOO_LONG RUNTIME_VERSION_IS_TOO_LONG SCHEMA_IS_NOT_PARSABLE SCHEMA_IS_NOT_VALID SERVER_ID_IS_TOO_LONG USER_VERSION_IS_TOO_LONG}type ReportSchemaResponse implements ReportSchemaResult{inSeconds:Int!withCoreSchema:Boolean!}interface ReportSchemaResult{inSeconds:Int!withCoreSchema:Boolean!}type ReportServerInfoError implements ReportServerInfoResult{code:ReportSchemaErrorCode!inSeconds:Int!message:String!withExecutableSchema:Boolean!}type ReportServerInfoResponse implements ReportServerInfoResult{inSeconds:Int!withExecutableSchema:Boolean!}interface ReportServerInfoResult{inSeconds:Int!withExecutableSchema:Boolean!}enum Resolution{R1D R1H R1M R5M R6H R15M}enum ResponseHints{NONE SAMPLE_RESPONSES SUBGRAPHS TIMINGS TRACE_TIMINGS}type RoleOverride{graph:Service!lastUpdatedAt:Timestamp!role:UserPermission!user:User!}input RoverArgumentInput{key:String!value:Object}"""SHA-256 hash, represented in lowercase hexadecimal""" scalar SHA256 type ScheduledSummary implements ChannelSubscription{channel:Channel@deprecated(reason:"Use channels list instead")channels:[Channel!]!enabled:Boolean!id:ID!timezone:String!variant:String!}"""A GraphQL schema document, which may optionally map back to context with which the schema was ingested.""" type Schema{createTemporaryURL(expiresInSeconds:Int!=86400):TemporaryURL """The timestamp of initial ingestion of a schema to a graph.""" createdAt:Timestamp!"""The raw GraphQL document for the schema in question""" document:GraphQLDocument!"""The number of fields; this includes user defined fields only, excluding built-in types and fields""" fieldCount:Int!gitContext:GitContext """The hex representation of the SHA256 of the GraphQL document.""" hash:ID!introspection:IntrospectionSchema!"""The number of types; this includes user defined types only, excluding built-in types""" typeCount:Int!}"""Represents an error from running schema composition on a list of subgraph definitions.""" type SchemaCompositionError{"""A machine-readable error code.""" code:String """Affected locations.""" locations:[SourceLocation]!"""A human-readable locations.""" message:String!}"""The difference between two schemas, as usually computed during a schema check.""" type SchemaDiff{"""Clients affected by all changes in the diff.""" affectedClients:[AffectedClient!]@deprecated(reason:"Unsupported.")"""Operations affected by all changes in the diff.""" affectedQueries:[AffectedQuery!]"""Numeric summary of all changes in the diff.""" changeSummary:ChangeSummary!"""List of schema changes with associated affected clients and operations.""" changes:[Change!]!"""Number of affected query operations that are neither marked as safe or ignored.""" numberOfAffectedOperations:Int!"""Number of operations that were validated during the check.""" numberOfCheckedOperations:Int """Indication of the success of the change; either failure, warning, or notice.""" severity:ChangeSeverity!"""The tag against which this diff was created""" tag:String type:ChangeType!@deprecated(reason:"use severity instead")"""Configuration of validation""" validationConfig:SchemaDiffValidationConfig}type SchemaDiffValidationConfig{"""Clients to ignore during validation.""" excludedClients:[ClientInfoFilterOutput!]"""Operation names to ignore during validation.""" excludedOperationNames:[OperationNameFilter]"""delta in seconds from current time that determines the start of the window
 for reported metrics included in a schema diff. A day window from the present
@@ -112,12 +112,12 @@ application. Apollo's media server will downscale larger images to at least the
 but this will not happen for third-party media servers.""" avatarUrl(size:Int!=40):String """Get available notification endpoints""" channels(channelIds:[ID!]):[Channel!]"""Get check configuration for this graph.""" checkConfiguration:CheckConfiguration """Get a check workflow for this graph by its ID""" checkWorkflow(id:ID!):CheckWorkflow """Get check workflows for this graph ordered by creation time, most recent first.""" checkWorkflows(filter:CheckFilterInput limit:Int!=100):[CheckWorkflow!]!"""List of options available for filtering checks for this graph by author.
 If a filter is passed, constrains results to match the filter.""" checksAuthorOptions(filter:CheckFilterInput):[String!]!"""List of options available for filtering checks for this graph by branch.
 If a filter is passed, constrains results to match the filter.""" checksBranchOptions(filter:CheckFilterInput):[String!]!"""List of options available for filtering checks for this graph by subgraph name.
-If a filter is passed, constrains results to match the filter.""" checksSubgraphOptions(filter:CheckFilterInput):[String!]!"""Given a graphCompositionID, return the results of composition. This can represent either a validation or a publish.""" compositionResultById(id:ID!):CompositionResult createdAt:Timestamp!createdBy:Identity datadogMetricsConfig:DatadogMetricsConfig deletedAt:Timestamp description:String devGraphOwner:User """Get a GraphQL document by hash""" document(hash:SHA256):GraphQLDocument """When this is true, this graph will be hidden from non-admin members of the org who haven't been explicitly assigned a
+If a filter is passed, constrains results to match the filter.""" checksSubgraphOptions(filter:CheckFilterInput):[String!]!"""Given a graphCompositionID, return the results of composition. This can represent either a validation or a publish.""" compositionResultById(id:ID!):CompositionResult createdAt:Timestamp!createdBy:Identity datadogMetricsConfig:DatadogMetricsConfig defaultBuildPipelineTrack:String deletedAt:Timestamp description:String devGraphOwner:User """Get a GraphQL document by hash""" document(hash:SHA256):GraphQLDocument """When this is true, this graph will be hidden from non-admin members of the org who haven't been explicitly assigned a
 role on this graph.""" hiddenFromUninvitedNonAdminAccountMembers:Boolean!"""Globally unique identifier for this graph.""" id:ID!"""List of subgraphs that comprise a graph. A non-federated graph should have a single implementing service.
-Set includeDeleted to see deleted subgraphs.""" implementingServices(graphVariant:String!includeDeleted:Boolean):GraphImplementors lastReportedAt(graphVariant:String):Timestamp """Current identity, null if not authenticated.""" me:Identity """The composition result that was most recently published to a graph variant.""" mostRecentCompositionPublish(graphVariant:String!):CompositionPublishResult """Permissions of the current user in this graph.""" myRole:UserPermission """Name of this graph. Note that this field is deprecated.""" name:String!@deprecated(reason:"Use Service.title")operation(id:ID!):Operation """Gets the operations and their approved changes for this graph, checkID, and operationID.""" operationsAcceptedChanges(checkID:ID!operationID:String!):[OperationAcceptedChange!]!"""Get an operations check result for a specific check ID""" operationsCheck(checkID:ID!):OperationsCheckResult """Get query triggers for a given variant. If variant is null all the triggers for this service will be gotten.""" queryTriggers(graphVariant:String operationNames:[String!]):[QueryTrigger!]readme:Readme """Registry specific stats for this graph.""" registryStatsWindow(from:Timestamp!resolution:Resolution to:Timestamp):RegistryStatsWindow """Whether registry subscriptions (with any options) are enabled. If variant is not passed, returns true if configuration is present for any variant""" registrySubscriptionsEnabled(graphVariant:String):Boolean!@deprecated(reason:"This field will be removed")reportingEnabled:Boolean!"""The list of members that can access this graph, accounting for graph role overrides""" roleOverrides:[RoleOverride!]"""Which permissions the current user has for interacting with this graph""" roles:ServiceRoles scheduledSummaries:[ScheduledSummary!]!"""Get a schema by hash or current tag""" schema(hash:ID tag:String):Schema """The current publish associated to a given variant (with 'tag' as the variant name).""" schemaTag(tag:String!):SchemaTag schemaTagById(id:ID!):SchemaTag """Get schema tags, with optional filtering to a set of tags. Always sorted by creation
+Set includeDeleted to see deleted subgraphs.""" implementingServices(graphVariant:String!includeDeleted:Boolean):GraphImplementors lastReportedAt(graphVariant:String):Timestamp """Current identity, null if not authenticated.""" me:Identity """The composition result that was most recently published to a graph variant.""" mostRecentCompositionPublish(graphVariant:String!):CompositionPublishResult """Permissions of the current user in this graph.""" myRole:UserPermission """Name of this graph. Note that this field is deprecated.""" name:String!@deprecated(reason:"Use Service.title")onboardingArchitecture:OnboardingArchitecture operation(id:ID!):Operation """Gets the operations and their approved changes for this graph, checkID, and operationID.""" operationsAcceptedChanges(checkID:ID!operationID:String!):[OperationAcceptedChange!]!"""Get an operations check result for a specific check ID""" operationsCheck(checkID:ID!):OperationsCheckResult """Get query triggers for a given variant. If variant is null all the triggers for this service will be gotten.""" queryTriggers(graphVariant:String operationNames:[String!]):[QueryTrigger!]readme:Readme """Registry specific stats for this graph.""" registryStatsWindow(from:Timestamp!resolution:Resolution to:Timestamp):RegistryStatsWindow """Whether registry subscriptions (with any options) are enabled. If variant is not passed, returns true if configuration is present for any variant""" registrySubscriptionsEnabled(graphVariant:String):Boolean!@deprecated(reason:"This field will be removed")reportingEnabled:Boolean!"""The list of members that can access this graph, accounting for graph role overrides""" roleOverrides:[RoleOverride!]"""Which permissions the current user has for interacting with this graph""" roles:ServiceRoles scheduledSummaries:[ScheduledSummary!]!"""Get a schema by hash or current tag""" schema(hash:ID tag:String):Schema """The current publish associated to a given variant (with 'tag' as the variant name).""" schemaTag(tag:String!):SchemaTag schemaTagById(id:ID!):SchemaTag """Get schema tags, with optional filtering to a set of tags. Always sorted by creation
 date in reverse chronological order.""" schemaTags(tags:[String!]):[SchemaTag!]stats(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):ServiceStatsWindow!@deprecated(reason:"use Service.statsWindow instead")statsWindow(from:Timestamp!"""Granularity of buckets. Defaults to the entire range (aggregate all data into a single durationBucket) when null.""" resolution:Resolution """Defaults to the current time when null.""" to:Timestamp):ServiceStatsWindow """Generate a test schema publish notification body""" testSchemaPublishBody(variant:String!):String!"""Name of this graph.""" title:String!trace(id:ID!):Trace traceStorageEnabled:Boolean!"""A particular variant often representing a live traffic environment (such as "dev", "staging", or "prod").
 Each variant can represent a specific URL or destination to query at, analytics, and its own schema history.
-Pass in a name to get a specific variant. Use `Graph.variants` to get a list of variants.""" variant(name:String!):GraphVariant """The list of variants that exist for this graph""" variants:[GraphVariant!]!}"""Columns of ServiceBillingUsageStats.""" enum ServiceBillingUsageStatsColumn{OPERATION_COUNT OPERATION_COUNT_PROVIDED_EXPLICITLY SCHEMA_TAG TIMESTAMP}type ServiceBillingUsageStatsDimensions{operationCountProvidedExplicitly:String schemaTag:String}"""Filter for data in ServiceBillingUsageStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceBillingUsageStatsFilter{and:[ServiceBillingUsageStatsFilter!]in:ServiceBillingUsageStatsFilterIn not:ServiceBillingUsageStatsFilter """Selects rows whose operationCountProvidedExplicitly dimension equals the given value if not null. To query for the null value, use {in: {operationCountProvidedExplicitly: [null]}} instead.""" operationCountProvidedExplicitly:String or:[ServiceBillingUsageStatsFilter!]"""Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceBillingUsageStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceBillingUsageStatsFilterIn{"""Selects rows whose operationCountProvidedExplicitly dimension is in the given list. A null value in the list means a row with null for that dimension.""" operationCountProvidedExplicitly:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceBillingUsageStatsMetrics{operationCount:Long!}input ServiceBillingUsageStatsOrderBySpec{column:ServiceBillingUsageStatsColumn!direction:Ordering!}type ServiceBillingUsageStatsRecord{"""Dimensions of ServiceBillingUsageStats that can be grouped by.""" groupBy:ServiceBillingUsageStatsDimensions!"""Metrics of ServiceBillingUsageStats that can be aggregated over.""" metrics:ServiceBillingUsageStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceEdgeServerInfos.""" enum ServiceEdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID TIMESTAMP USER_VERSION}type ServiceEdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID userVersion:String}"""Filter for data in ServiceEdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceEdgeServerInfosFilter{and:[ServiceEdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:ServiceEdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:ServiceEdgeServerInfosFilter or:[ServiceEdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in ServiceEdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceEdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input ServiceEdgeServerInfosOrderBySpec{column:ServiceEdgeServerInfosColumn!direction:Ordering!}type ServiceEdgeServerInfosRecord{"""Dimensions of ServiceEdgeServerInfos that can be grouped by.""" groupBy:ServiceEdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceErrorStats.""" enum ServiceErrorStatsColumn{CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceErrorStatsDimensions{clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String}"""Filter for data in ServiceErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceErrorStatsFilter{and:[ServiceErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ServiceErrorStatsFilterIn not:ServiceErrorStatsFilter or:[ServiceErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceErrorStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input ServiceErrorStatsOrderBySpec{column:ServiceErrorStatsColumn!direction:Ordering!}type ServiceErrorStatsRecord{"""Dimensions of ServiceErrorStats that can be grouped by.""" groupBy:ServiceErrorStatsDimensions!"""Metrics of ServiceErrorStats that can be aggregated over.""" metrics:ServiceErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldLatencies.""" enum ServiceFieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceFieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String}"""Filter for data in ServiceFieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldLatenciesFilter{and:[ServiceFieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldLatenciesFilterIn not:ServiceFieldLatenciesFilter or:[ServiceFieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input ServiceFieldLatenciesOrderBySpec{column:ServiceFieldLatenciesColumn!direction:Ordering!}type ServiceFieldLatenciesRecord{"""Dimensions of ServiceFieldLatencies that can be grouped by.""" groupBy:ServiceFieldLatenciesDimensions!"""Metrics of ServiceFieldLatencies that can be aggregated over.""" metrics:ServiceFieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldUsage.""" enum ServiceFieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceFieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String}"""Filter for data in ServiceFieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldUsageFilter{and:[ServiceFieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldUsageFilterIn not:ServiceFieldUsageFilter or:[ServiceFieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input ServiceFieldUsageOrderBySpec{column:ServiceFieldUsageColumn!direction:Ordering!}type ServiceFieldUsageRecord{"""Dimensions of ServiceFieldUsage that can be grouped by.""" groupBy:ServiceFieldUsageDimensions!"""Metrics of ServiceFieldUsage that can be aggregated over.""" metrics:ServiceFieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Mutations to a graph.""" type ServiceMutation{"""Check a proposed subgraph schema change.
+Pass in a name to get a specific variant. Use `Graph.variants` to get a list of variants.""" variant(name:String!):GraphVariant """The list of variants that exist for this graph""" variants:[GraphVariant!]!}"""Columns of ServiceBillingUsageStats.""" enum ServiceBillingUsageStatsColumn{OPERATION_COUNT OPERATION_COUNT_PROVIDED_EXPLICITLY SCHEMA_TAG TIMESTAMP}type ServiceBillingUsageStatsDimensions{operationCountProvidedExplicitly:String schemaTag:String}"""Filter for data in ServiceBillingUsageStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceBillingUsageStatsFilter{and:[ServiceBillingUsageStatsFilter!]in:ServiceBillingUsageStatsFilterIn not:ServiceBillingUsageStatsFilter """Selects rows whose operationCountProvidedExplicitly dimension equals the given value if not null. To query for the null value, use {in: {operationCountProvidedExplicitly: [null]}} instead.""" operationCountProvidedExplicitly:String or:[ServiceBillingUsageStatsFilter!]"""Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceBillingUsageStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceBillingUsageStatsFilterIn{"""Selects rows whose operationCountProvidedExplicitly dimension is in the given list. A null value in the list means a row with null for that dimension.""" operationCountProvidedExplicitly:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceBillingUsageStatsMetrics{operationCount:Long!}input ServiceBillingUsageStatsOrderBySpec{column:ServiceBillingUsageStatsColumn!direction:Ordering!}type ServiceBillingUsageStatsRecord{"""Dimensions of ServiceBillingUsageStats that can be grouped by.""" groupBy:ServiceBillingUsageStatsDimensions!"""Metrics of ServiceBillingUsageStats that can be aggregated over.""" metrics:ServiceBillingUsageStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceEdgeServerInfos.""" enum ServiceEdgeServerInfosColumn{BOOT_ID EXECUTABLE_SCHEMA_ID LIBRARY_VERSION PLATFORM RUNTIME_VERSION SCHEMA_TAG SERVER_ID TIMESTAMP USER_VERSION}type ServiceEdgeServerInfosDimensions{bootId:ID executableSchemaId:ID libraryVersion:String platform:String runtimeVersion:String schemaTag:String serverId:ID userVersion:String}"""Filter for data in ServiceEdgeServerInfos. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceEdgeServerInfosFilter{and:[ServiceEdgeServerInfosFilter!]"""Selects rows whose bootId dimension equals the given value if not null. To query for the null value, use {in: {bootId: [null]}} instead.""" bootId:ID """Selects rows whose executableSchemaId dimension equals the given value if not null. To query for the null value, use {in: {executableSchemaId: [null]}} instead.""" executableSchemaId:ID in:ServiceEdgeServerInfosFilterIn """Selects rows whose libraryVersion dimension equals the given value if not null. To query for the null value, use {in: {libraryVersion: [null]}} instead.""" libraryVersion:String not:ServiceEdgeServerInfosFilter or:[ServiceEdgeServerInfosFilter!]"""Selects rows whose platform dimension equals the given value if not null. To query for the null value, use {in: {platform: [null]}} instead.""" platform:String """Selects rows whose runtimeVersion dimension equals the given value if not null. To query for the null value, use {in: {runtimeVersion: [null]}} instead.""" runtimeVersion:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serverId dimension equals the given value if not null. To query for the null value, use {in: {serverId: [null]}} instead.""" serverId:ID """Selects rows whose userVersion dimension equals the given value if not null. To query for the null value, use {in: {userVersion: [null]}} instead.""" userVersion:String}"""Filter for data in ServiceEdgeServerInfos. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceEdgeServerInfosFilterIn{"""Selects rows whose bootId dimension is in the given list. A null value in the list means a row with null for that dimension.""" bootId:[ID]"""Selects rows whose executableSchemaId dimension is in the given list. A null value in the list means a row with null for that dimension.""" executableSchemaId:[ID]"""Selects rows whose libraryVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" libraryVersion:[String]"""Selects rows whose platform dimension is in the given list. A null value in the list means a row with null for that dimension.""" platform:[String]"""Selects rows whose runtimeVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" runtimeVersion:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serverId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serverId:[ID]"""Selects rows whose userVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" userVersion:[String]}input ServiceEdgeServerInfosOrderBySpec{column:ServiceEdgeServerInfosColumn!direction:Ordering!}type ServiceEdgeServerInfosRecord{"""Dimensions of ServiceEdgeServerInfos that can be grouped by.""" groupBy:ServiceEdgeServerInfosDimensions!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceErrorStats.""" enum ServiceErrorStatsColumn{CLIENT_NAME CLIENT_VERSION ERRORS_COUNT PATH QUERY_ID QUERY_NAME REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceErrorStatsDimensions{clientName:String clientVersion:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String}"""Filter for data in ServiceErrorStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceErrorStatsFilter{and:[ServiceErrorStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ServiceErrorStatsFilterIn not:ServiceErrorStatsFilter or:[ServiceErrorStatsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceErrorStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceErrorStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceErrorStatsMetrics{errorsCount:Long!requestsWithErrorsCount:Long!}input ServiceErrorStatsOrderBySpec{column:ServiceErrorStatsColumn!direction:Ordering!}type ServiceErrorStatsRecord{"""Dimensions of ServiceErrorStats that can be grouped by.""" groupBy:ServiceErrorStatsDimensions!"""Metrics of ServiceErrorStats that can be aggregated over.""" metrics:ServiceErrorStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldExecutions.""" enum ServiceFieldExecutionsColumn{ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG TIMESTAMP}type ServiceFieldExecutionsDimensions{fieldName:String parentType:String schemaTag:String}"""Filter for data in ServiceFieldExecutions. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldExecutionsFilter{and:[ServiceFieldExecutionsFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldExecutionsFilterIn not:ServiceFieldExecutionsFilter or:[ServiceFieldExecutionsFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldExecutions. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldExecutionsFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldExecutionsMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input ServiceFieldExecutionsOrderBySpec{column:ServiceFieldExecutionsColumn!direction:Ordering!}type ServiceFieldExecutionsRecord{"""Dimensions of ServiceFieldExecutions that can be grouped by.""" groupBy:ServiceFieldExecutionsDimensions!"""Metrics of ServiceFieldExecutions that can be aggregated over.""" metrics:ServiceFieldExecutionsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldLatencies.""" enum ServiceFieldLatenciesColumn{FIELD_HISTOGRAM FIELD_NAME PARENT_TYPE SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceFieldLatenciesDimensions{field:String fieldName:String parentType:String schemaHash:String schemaTag:String}"""Filter for data in ServiceFieldLatencies. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldLatenciesFilter{and:[ServiceFieldLatenciesFilter!]"""Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldLatenciesFilterIn not:ServiceFieldLatenciesFilter or:[ServiceFieldLatenciesFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldLatencies. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldLatenciesFilterIn{"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldLatenciesMetrics{fieldHistogram:DurationHistogram!}input ServiceFieldLatenciesOrderBySpec{column:ServiceFieldLatenciesColumn!direction:Ordering!}type ServiceFieldLatenciesRecord{"""Dimensions of ServiceFieldLatencies that can be grouped by.""" groupBy:ServiceFieldLatenciesDimensions!"""Metrics of ServiceFieldLatencies that can be aggregated over.""" metrics:ServiceFieldLatenciesMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldRequestsByClientVersion.""" enum ServiceFieldRequestsByClientVersionColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT FIELD_NAME OBSERVED_EXECUTION_COUNT PARENT_TYPE REFERENCING_OPERATION_COUNT SCHEMA_TAG TIMESTAMP}type ServiceFieldRequestsByClientVersionDimensions{clientName:String clientVersion:String fieldName:String parentType:String schemaTag:String}"""Filter for data in ServiceFieldRequestsByClientVersion. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldRequestsByClientVersionFilter{and:[ServiceFieldRequestsByClientVersionFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldRequestsByClientVersionFilterIn not:ServiceFieldRequestsByClientVersionFilter or:[ServiceFieldRequestsByClientVersionFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldRequestsByClientVersion. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldRequestsByClientVersionFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldRequestsByClientVersionMetrics{estimatedExecutionCount:Long!observedExecutionCount:Long!referencingOperationCount:Long!}input ServiceFieldRequestsByClientVersionOrderBySpec{column:ServiceFieldRequestsByClientVersionColumn!direction:Ordering!}type ServiceFieldRequestsByClientVersionRecord{"""Dimensions of ServiceFieldRequestsByClientVersion that can be grouped by.""" groupBy:ServiceFieldRequestsByClientVersionDimensions!"""Metrics of ServiceFieldRequestsByClientVersion that can be aggregated over.""" metrics:ServiceFieldRequestsByClientVersionMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceFieldUsage.""" enum ServiceFieldUsageColumn{CLIENT_NAME CLIENT_VERSION ESTIMATED_EXECUTION_COUNT EXECUTION_COUNT FIELD_NAME PARENT_TYPE QUERY_ID QUERY_NAME REFERENCING_OPERATION_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP}type ServiceFieldUsageDimensions{clientName:String clientVersion:String fieldName:String parentType:String queryId:ID queryName:String schemaHash:String schemaTag:String}"""Filter for data in ServiceFieldUsage. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceFieldUsageFilter{and:[ServiceFieldUsageFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fieldName dimension equals the given value if not null. To query for the null value, use {in: {fieldName: [null]}} instead.""" fieldName:String in:ServiceFieldUsageFilterIn not:ServiceFieldUsageFilter or:[ServiceFieldUsageFilter!]"""Selects rows whose parentType dimension equals the given value if not null. To query for the null value, use {in: {parentType: [null]}} instead.""" parentType:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceFieldUsage. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceFieldUsageFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fieldName dimension is in the given list. A null value in the list means a row with null for that dimension.""" fieldName:[String]"""Selects rows whose parentType dimension is in the given list. A null value in the list means a row with null for that dimension.""" parentType:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceFieldUsageMetrics{estimatedExecutionCount:Long!executionCount:Long!referencingOperationCount:Long!}input ServiceFieldUsageOrderBySpec{column:ServiceFieldUsageColumn!direction:Ordering!}type ServiceFieldUsageRecord{"""Dimensions of ServiceFieldUsage that can be grouped by.""" groupBy:ServiceFieldUsageDimensions!"""Metrics of ServiceFieldUsage that can be aggregated over.""" metrics:ServiceFieldUsageMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Mutations to a graph.""" type ServiceMutation{"""Check a proposed subgraph schema change.
 If the proposal composes successfully, perform a usage check for the resulting schema.""" checkPartialSchema("""Deprecated and ignored.""" frontend:String gitContext:GitContextInput """Specifies which variant of a graph this mutation operates on.""" graphVariant:String!historicParameters:HistoricQueryParameters """Name of the implementing service to validate the partial schema against""" implementingServiceName:String!"""If this check is triggered for an sdl fetched using introspection, this is the endpoint where that schema was being served.""" introspectionEndpoint:String isSandboxCheck:Boolean!=false """The partial schema to validate against an implementing service""" partialSchema:PartialSchemaInput!"""Whether to use the maximum retention for historical validation. This only takes
 effect if historicParameters is null.""" useMaximumRetention:Boolean):CheckPartialSchemaResult!"""Checks a proposed schema against the schema that has been published to
 a particular variant, using metrics corresponding to `historicParameters`.
@@ -131,10 +131,10 @@ changes affecting it will be tracked,
 but won't affect the outcome of the check.
 Returns true if the operation is newly ignored,
 false if it already was.""" ignoreOperationsInChecks(ids:[ID!]!):IgnoreOperationsInChecksResult """Mark the changeset that affects an operation in a given check instance as safe.
-Note that only operations marked as behavior changes are allowed to be marked as safe.""" markChangesForOperationAsSafe("""ID of the schema check.""" checkID:ID!"""ID of the operation to accept changes for.""" operationID:ID!):MarkChangesForOperationAsSafeResult!newKey(keyName:String role:UserPermission!=GRAPH_ADMIN):GraphApiKey!"""Adds an override to the given users permission for this graph""" overrideUserPermission(permission:UserPermission userID:ID!):Service """Returns a preview of the Core and API schema contracts derived from a source variant and a set of filter configurations""" previewContractVariant(filterConfig:FilterConfigInput!sourceVariant:String!):ContractVariantPreviewResult!@deprecated(reason:"use GraphVariant.contractPreview instead")"""Promote the schema with the given SHA-256 hash to active for the given variant/tag.""" promoteSchema(graphVariant:String!historicParameters:HistoricQueryParameters overrideComposedSchema:Boolean!=false sha256:SHA256!):PromoteSchemaResponseOrError!"""Publish to a subgraph. If composition is successful, this will update running routers.""" publishSubgraph(activePartialSchema:PartialSchemaInput!gitContext:GitContextInput graphVariant:String!name:String!revision:String!url:String):CompositionAndUpsertResult registerOperationsWithResponse(clientIdentity:RegisteredClientIdentityInput gitContext:GitContextInput """Specifies which variant of a graph these operations belong to.
+Note that only operations marked as behavior changes are allowed to be marked as safe.""" markChangesForOperationAsSafe("""ID of the schema check.""" checkID:ID!"""ID of the operation to accept changes for.""" operationID:ID!):MarkChangesForOperationAsSafeResult!newKey(keyName:String role:UserPermission!=GRAPH_ADMIN):GraphApiKey!"""Adds an override to the given users permission for this graph""" overrideUserPermission(permission:UserPermission userID:ID!):Service """Promote the schema with the given SHA-256 hash to active for the given variant/tag.""" promoteSchema(graphVariant:String!historicParameters:HistoricQueryParameters overrideComposedSchema:Boolean!=false sha256:SHA256!):PromoteSchemaResponseOrError!"""Publish to a subgraph. If composition is successful, this will update running routers.""" publishSubgraph(activePartialSchema:PartialSchemaInput!gitContext:GitContextInput graphVariant:String!name:String!revision:String!url:String):CompositionAndUpsertResult registerOperationsWithResponse(clientIdentity:RegisteredClientIdentityInput gitContext:GitContextInput """Specifies which variant of a graph these operations belong to.
 Formerly known as "tag"
 Defaults to "current"
-""" graphVariant:String!="current" manifestVersion:Int operations:[RegisteredOperationInput!]!):RegisterOperationsMutationResponse """Removes a subgraph. If composition is successful, this will update running routers.""" removeImplementingServiceAndTriggerComposition("""Do not remove the service, but recompose without it and report any errors.""" dryRun:Boolean!=false graphVariant:String!name:String!):CompositionAndRemoveResult!removeKey("""API key ID""" id:ID):Void renameKey(id:ID!newKeyName:String):GraphApiKey reportServerInfo("""Only sent if previously requested i.e. received ReportServerInfoResult with withExecutableSchema = true. An executable schema is a schema document that describes the full GraphQL schema that an external client could execute queries against. This must be a valid GraphQL schema document, as per the GraphQL specification: https://spec.graphql.org/""" executableSchema:String """Information about the edge server, see descriptions for individual fields.""" info:EdgeServerInfo!):ReportServerInfoResult@deprecated(reason:"use Mutation.reportSchema instead")service:Service!"""Store a given schema document. This schema will be attached to the graph but
+""" graphVariant:String!="current" manifestVersion:Int operations:[RegisteredOperationInput!]!):RegisterOperationsMutationResponse """Removes a subgraph. If composition is successful, this will update running routers.""" removeImplementingServiceAndTriggerComposition("""Do not remove the service, but recompose without it and report any errors.""" dryRun:Boolean!=false graphVariant:String!name:String!):CompositionAndRemoveResult!removeKey("""API key ID""" id:ID):Void renameKey(id:ID!newKeyName:String):GraphApiKey reportServerInfo("""Only sent if previously requested i.e. received ReportServerInfoResult with withExecutableSchema = true. An executable schema is a schema document that describes the full GraphQL schema that an external client could execute queries against. This must be a valid GraphQL schema document, as per the GraphQL specification: https://spec.graphql.org/""" executableSchema:String """Information about the edge server, see descriptions for individual fields.""" info:EdgeServerInfo!):ReportServerInfoResult@deprecated(reason:"use Mutation.reportSchema instead")service:Service!setDefaultBuildPipelineTrack(version:String!):String """Store a given schema document. This schema will be attached to the graph but
 not be associated with any variant. On success, returns the schema hash.""" storeSchemaDocument(schemaDocument:String!):StoreSchemaResponseOrError!"""Test Slack notification channel""" testSlackChannel(id:ID!notification:SlackNotificationInput!):Void testSubscriptionForChannel(channelID:ID!subscriptionID:ID!):String!transfer(to:String!):Service triggerRepublish(graphVariant:String!):Void undelete:Service """Revert the effects of ignoreOperation.
 Returns true if the operation is no longer ignored,
 false if it wasn't.""" unignoreOperationsInChecks(ids:[ID!]!):UnignoreOperationsInChecksResult """Unmark changes for an operation as safe.""" unmarkChangesForOperationAsSafe("""ID of the schema check.""" checkID:ID!"""ID of the operation to unmark changes for.""" operationID:ID!):MarkChangesForOperationAsSafeResult!"""Update schema check configuration for a graph.""" updateCheckConfiguration("""Clients to ignore during validation.""" excludedClients:[ClientFilterInput!]"""Operation names to ignore during validation.""" excludedOperationNames:[OperationNameFilterInput!]"""Operations to ignore during validation.""" excludedOperations:[ExcludedOperationInput!]"""Default configuration to include operations on the base variant.""" includeBaseVariant:Boolean """Variant overrides for validation.""" includedVariants:[String!]"""Minimum number of requests within the window for a query to be considered.""" operationCountThreshold:Int """Number of requests within the window for a query to be considered, relative to
@@ -143,13 +143,13 @@ total request volume)""" operationCountThresholdPercentage:Float """Only check o
 Run composition with the Implementing Service's partial schema replaced with the one provided
 in the mutation's input. Store the composed schema, return the hash of the composed schema,
 and any warnings and errors pertaining to composition.
-This mutation will not run validation against operations.""" validatePartialSchemaOfImplementingServiceAgainstGraph(graphVariant:String!implementingServiceName:String!partialSchema:PartialSchemaInput!):CompositionValidationResult!"""Make changes to a graph variant.""" variant(name:String!):GraphVariantMutation}"""Columns of ServiceOperationCheckStats.""" enum ServiceOperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG TIMESTAMP UNCACHED_REQUESTS_COUNT}type ServiceOperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String}"""Filter for data in ServiceOperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceOperationCheckStatsFilter{and:[ServiceOperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ServiceOperationCheckStatsFilterIn not:ServiceOperationCheckStatsFilter or:[ServiceOperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceOperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceOperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceOperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input ServiceOperationCheckStatsOrderBySpec{column:ServiceOperationCheckStatsColumn!direction:Ordering!}type ServiceOperationCheckStatsRecord{"""Dimensions of ServiceOperationCheckStats that can be grouped by.""" groupBy:ServiceOperationCheckStatsDimensions!"""Metrics of ServiceOperationCheckStats that can be aggregated over.""" metrics:ServiceOperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceQueryStats.""" enum ServiceQueryStatsColumn{CACHED_HISTOGRAM CACHED_REQUESTS_COUNT CACHE_TTL_HISTOGRAM CLIENT_NAME CLIENT_VERSION FORBIDDEN_OPERATION_COUNT FROM_ENGINEPROXY QUERY_ID QUERY_NAME REGISTERED_OPERATION_COUNT REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP UNCACHED_HISTOGRAM UNCACHED_REQUESTS_COUNT}type ServiceQueryStatsDimensions{clientName:String clientVersion:String fromEngineproxy:String queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String}"""Filter for data in ServiceQueryStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceQueryStatsFilter{and:[ServiceQueryStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fromEngineproxy dimension equals the given value if not null. To query for the null value, use {in: {fromEngineproxy: [null]}} instead.""" fromEngineproxy:String in:ServiceQueryStatsFilterIn not:ServiceQueryStatsFilter or:[ServiceQueryStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceQueryStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceQueryStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fromEngineproxy dimension is in the given list. A null value in the list means a row with null for that dimension.""" fromEngineproxy:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceQueryStatsMetrics{cacheTtlHistogram:DurationHistogram!cachedHistogram:DurationHistogram!cachedRequestsCount:Long!forbiddenOperationCount:Long!registeredOperationCount:Long!requestsWithErrorsCount:Long!totalLatencyHistogram:DurationHistogram!totalRequestCount:Long!uncachedHistogram:DurationHistogram!uncachedRequestsCount:Long!}input ServiceQueryStatsOrderBySpec{column:ServiceQueryStatsColumn!direction:Ordering!}type ServiceQueryStatsRecord{"""Dimensions of ServiceQueryStats that can be grouped by.""" groupBy:ServiceQueryStatsDimensions!"""Metrics of ServiceQueryStats that can be aggregated over.""" metrics:ServiceQueryStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""A map from role (permission) String to boolean that the current user is allowed for a particular graph.""" type ServiceRoles{"""Whether the currently authenticated user is permitted to perform schema checks (i.e. run `rover (sub)graph check`).""" canCheckSchemas:Boolean!"""Whether the currently authenticated user is permitted to create new graph variants.""" canCreateVariants:Boolean!"""Whether the currently authenticated user is permitted to delete the graph in question""" canDelete:Boolean!"""Whether the currently authenticated user is permitted to manage user access to the graph in question.""" canManageAccess:Boolean!"""Whether the currently authenticated user is permitted to manage the build configuration (e.g. build pipeline version).""" canManageBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to manage 3rd party integrations (e.g. Datadog forwarding).""" canManageIntegrations:Boolean!"""Whether the currently authenticated user is permitted to manage graph-level API keys.""" canManageKeys:Boolean!"""Whether the currently authenticated user is permitted to perform basic administration (e.g. set to public) over variants.""" canManageVariants:Boolean!"""Whether the currently authenticated user is permitted to view details about the build configuration (e.g. build pipeline version).""" canQueryBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to view details of the check configuration for this graph.""" canQueryCheckConfiguration:Boolean!canQueryDeletedImplementingServices:Boolean!"""Whether the currently authenticated user is permitted to view which subgraphs the graph is composed of.""" canQueryImplementingServices:Boolean!canQueryIntegrations:Boolean!canQueryPrivateInfo:Boolean!canQueryPublicInfo:Boolean!canQueryReadmeAuthor:Boolean!canQueryRoleOverrides:Boolean!"""Whether the currently authenticated user is permitted to download schemas owned by this graph.""" canQuerySchemas:Boolean!canQueryStats:Boolean!canQueryTokens:Boolean!canQueryTraces:Boolean!"""Whether the currently authenticated user is permitted to register operations (i.e. `apollo client:push`) for this graph.""" canRegisterOperations:Boolean!canStoreSchemasWithoutVariant:Boolean!canUndelete:Boolean!canUpdateAvatar:Boolean!canUpdateDescription:Boolean!canUpdateTitle:Boolean!canVisualizeStats:Boolean!@deprecated(reason:"Replaced with canQueryTraces and canQueryStats")"""Whether the currently authenticated user is permitted to make updates to the check configuration for this graph.""" canWriteCheckConfiguration:Boolean!canWriteTraces:Boolean!@deprecated(reason:"Never worked, not replaced")}"""A time window with a specified granularity over a given service.""" type ServiceStatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:ServiceBillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceBillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceBillingUsageStatsOrderBySpec!]):[ServiceBillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:ServiceEdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceEdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceEdgeServerInfosOrderBySpec!]):[ServiceEdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:ServiceErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceErrorStatsOrderBySpec!]):[ServiceErrorStatsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:ServiceFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldLatenciesOrderBySpec!]):[ServiceFieldLatenciesRecord!]!fieldStats("""Filter to select what rows to return.""" filter:ServiceFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldLatenciesOrderBySpec!]):[ServiceFieldLatenciesRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:ServiceFieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldUsageOrderBySpec!]):[ServiceFieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:ServiceOperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceOperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceOperationCheckStatsOrderBySpec!]):[ServiceOperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:ServiceQueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceQueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceQueryStatsOrderBySpec!]):[ServiceQueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:ServiceTracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceTracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceTracePathErrorsRefsOrderBySpec!]):[ServiceTracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:ServiceTraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceTraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceTraceRefsOrderBySpec!]):[ServiceTraceRefsRecord!]!}"""Columns of ServiceTracePathErrorsRefs.""" enum ServiceTracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type ServiceTracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in ServiceTracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceTracePathErrorsRefsFilter{and:[ServiceTracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:ServiceTracePathErrorsRefsFilterIn not:ServiceTracePathErrorsRefsFilter or:[ServiceTracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in ServiceTracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceTracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type ServiceTracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input ServiceTracePathErrorsRefsOrderBySpec{column:ServiceTracePathErrorsRefsColumn!direction:Ordering!}type ServiceTracePathErrorsRefsRecord{"""Dimensions of ServiceTracePathErrorsRefs that can be grouped by.""" groupBy:ServiceTracePathErrorsRefsDimensions!"""Metrics of ServiceTracePathErrorsRefs that can be aggregated over.""" metrics:ServiceTracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceTraceRefs.""" enum ServiceTraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type ServiceTraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String traceId:ID}"""Filter for data in ServiceTraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceTraceRefsFilter{and:[ServiceTraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:ServiceTraceRefsFilterIn not:ServiceTraceRefsFilter or:[ServiceTraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in ServiceTraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceTraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type ServiceTraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input ServiceTraceRefsOrderBySpec{column:ServiceTraceRefsColumn!direction:Ordering!}type ServiceTraceRefsRecord{"""Dimensions of ServiceTraceRefs that can be grouped by.""" groupBy:ServiceTraceRefsDimensions!"""Metrics of ServiceTraceRefs that can be aggregated over.""" metrics:ServiceTraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Slack notification channel""" type SlackChannel implements Channel{id:ID!name:String!subscriptions:[ChannelSubscription!]!url:String!}"""Slack notification channel parameters""" input SlackChannelInput{name:String url:String!}input SlackNotificationField{key:String!value:String!}"""Slack notification message""" input SlackNotificationInput{color:String fallback:String!fields:[SlackNotificationField!]iconUrl:String text:String timestamp:Timestamp title:String titleLink:String username:String}type SourceLocation{column:Int!line:Int!}"""A time window with a specified granularity.""" type StatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:BillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order BillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[BillingUsageStatsOrderBySpec!]):[BillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:EdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order EdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[EdgeServerInfosOrderBySpec!]):[EdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:ErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ErrorStatsOrderBySpec!]):[ErrorStatsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:FieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldLatenciesOrderBySpec!]):[FieldLatenciesRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:FieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldUsageOrderBySpec!]):[FieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:OperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order OperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[OperationCheckStatsOrderBySpec!]):[OperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:QueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order QueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[QueryStatsOrderBySpec!]):[QueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:TracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order TracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[TracePathErrorsRefsOrderBySpec!]):[TracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:TraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order TraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[TraceRefsOrderBySpec!]):[TraceRefsRecord!]!}type StoreSchemaError{code:StoreSchemaErrorCode!message:String!}enum StoreSchemaErrorCode{SCHEMA_IS_NOT_PARSABLE SCHEMA_IS_NOT_VALID}type StoreSchemaResponse{sha256:SHA256!}union StoreSchemaResponseOrError=StoreSchemaError|StoreSchemaResponse type StoredApprovedChange{argNode:NamedIntrospectionArgNoDescription childNode:NamedIntrospectionValueNoDescription code:ChangeCode!parentNode:NamedIntrospectionTypeNoDescription}scalar StringOrInt type StringToString{key:String!value:String!}input StringToStringInput{key:String!value:String!}type Subgraph{hash:String!name:String!routingURL:String!}type SubgraphChange{name:ID!type:SubgraphChangeType!}enum SubgraphChangeType{ADDITION DELETION MODIFICATION}type SubgraphConfig{id:ID!name:String!schemaHash:String!sdl:String!url:String!}type SubscriptionOptions{"""Enables notifications for schema updates""" schemaUpdates:Boolean!}input SubscriptionOptionsInput{"""Enables notifications for schema updates""" schemaUpdates:Boolean!}enum SubscriptionState{ACTIVE CANCELED EXPIRED FUTURE PAST_DUE PAUSED PENDING UNKNOWN}enum SubscriptionStateV2{ACTIVE CANCELED EXPIRED FUTURE PAST_DUE PAUSED PENDING UNKNOWN}type TemporaryURL{url:String!}enum ThemeName{DARK LIGHT}enum TicketPriority{P0 P1 P2 P3}enum TicketStatus{CLOSED HOLD NEW OPEN PENDING SOLVED}"""ISO 8601, extended format with nanoseconds, Zulu (or '[+-]seconds' for times relative to now)""" scalar Timestamp type TimezoneOffset{minutesOffsetFromUTC:Int!zoneID:String!}"""Counts of changes.""" type TotalChangeSummaryCounts{"""Number of changes that are additions. This includes adding types, adding fields to object, input
+This mutation will not run validation against operations.""" validatePartialSchemaOfImplementingServiceAgainstGraph(graphVariant:String!implementingServiceName:String!partialSchema:PartialSchemaInput!):CompositionValidationResult!"""Make changes to a graph variant.""" variant(name:String!):GraphVariantMutation}"""Columns of ServiceOperationCheckStats.""" enum ServiceOperationCheckStatsColumn{CACHED_REQUESTS_COUNT CLIENT_NAME CLIENT_VERSION QUERY_ID QUERY_NAME SCHEMA_TAG TIMESTAMP UNCACHED_REQUESTS_COUNT}type ServiceOperationCheckStatsDimensions{clientName:String clientVersion:String queryId:ID queryName:String schemaTag:String}"""Filter for data in ServiceOperationCheckStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceOperationCheckStatsFilter{and:[ServiceOperationCheckStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String in:ServiceOperationCheckStatsFilterIn not:ServiceOperationCheckStatsFilter or:[ServiceOperationCheckStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceOperationCheckStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceOperationCheckStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceOperationCheckStatsMetrics{cachedRequestsCount:Long!uncachedRequestsCount:Long!}input ServiceOperationCheckStatsOrderBySpec{column:ServiceOperationCheckStatsColumn!direction:Ordering!}type ServiceOperationCheckStatsRecord{"""Dimensions of ServiceOperationCheckStats that can be grouped by.""" groupBy:ServiceOperationCheckStatsDimensions!"""Metrics of ServiceOperationCheckStats that can be aggregated over.""" metrics:ServiceOperationCheckStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceQueryStats.""" enum ServiceQueryStatsColumn{CACHED_HISTOGRAM CACHED_REQUESTS_COUNT CACHE_TTL_HISTOGRAM CLIENT_NAME CLIENT_VERSION FORBIDDEN_OPERATION_COUNT FROM_ENGINEPROXY QUERY_ID QUERY_NAME REGISTERED_OPERATION_COUNT REQUESTS_WITH_ERRORS_COUNT SCHEMA_HASH SCHEMA_TAG TIMESTAMP UNCACHED_HISTOGRAM UNCACHED_REQUESTS_COUNT}type ServiceQueryStatsDimensions{clientName:String clientVersion:String fromEngineproxy:String queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String}"""Filter for data in ServiceQueryStats. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceQueryStatsFilter{and:[ServiceQueryStatsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose fromEngineproxy dimension equals the given value if not null. To query for the null value, use {in: {fromEngineproxy: [null]}} instead.""" fromEngineproxy:String in:ServiceQueryStatsFilterIn not:ServiceQueryStatsFilter or:[ServiceQueryStatsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String}"""Filter for data in ServiceQueryStats. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceQueryStatsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose fromEngineproxy dimension is in the given list. A null value in the list means a row with null for that dimension.""" fromEngineproxy:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]}type ServiceQueryStatsMetrics{cacheTtlHistogram:DurationHistogram!cachedHistogram:DurationHistogram!cachedRequestsCount:Long!forbiddenOperationCount:Long!registeredOperationCount:Long!requestsWithErrorsCount:Long!totalLatencyHistogram:DurationHistogram!totalRequestCount:Long!uncachedHistogram:DurationHistogram!uncachedRequestsCount:Long!}input ServiceQueryStatsOrderBySpec{column:ServiceQueryStatsColumn!direction:Ordering!}type ServiceQueryStatsRecord{"""Dimensions of ServiceQueryStats that can be grouped by.""" groupBy:ServiceQueryStatsDimensions!"""Metrics of ServiceQueryStats that can be aggregated over.""" metrics:ServiceQueryStatsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""A map from role (permission) String to boolean that the current user is allowed for a particular graph.""" type ServiceRoles{"""Whether the currently authenticated user is permitted to perform schema checks (i.e. run `rover (sub)graph check`).""" canCheckSchemas:Boolean!"""Whether the currently authenticated user is permitted to create new graph variants.""" canCreateVariants:Boolean!"""Whether the currently authenticated user is permitted to delete the graph in question""" canDelete:Boolean!"""Whether the currently authenticated user is permitted to manage user access to the graph in question.""" canManageAccess:Boolean!"""Whether the currently authenticated user is permitted to manage the build configuration (e.g. build pipeline version).""" canManageBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to manage 3rd party integrations (e.g. Datadog forwarding).""" canManageIntegrations:Boolean!"""Whether the currently authenticated user is permitted to manage graph-level API keys.""" canManageKeys:Boolean!"""Whether the currently authenticated user is permitted to perform basic administration (e.g. set to public) over variants.""" canManageVariants:Boolean!"""Whether the currently authenticated user is permitted to view details about the build configuration (e.g. build pipeline version).""" canQueryBuildConfig:Boolean!"""Whether the currently authenticated user is permitted to view details of the check configuration for this graph.""" canQueryCheckConfiguration:Boolean!canQueryDeletedImplementingServices:Boolean!"""Whether the currently authenticated user is permitted to view which subgraphs the graph is composed of.""" canQueryImplementingServices:Boolean!canQueryIntegrations:Boolean!canQueryPrivateInfo:Boolean!canQueryPublicInfo:Boolean!canQueryReadmeAuthor:Boolean!canQueryRoleOverrides:Boolean!"""Whether the currently authenticated user is permitted to download schemas owned by this graph.""" canQuerySchemas:Boolean!canQueryStats:Boolean!canQueryTokens:Boolean!canQueryTraces:Boolean!"""Whether the currently authenticated user is permitted to register operations (i.e. `apollo client:push`) for this graph.""" canRegisterOperations:Boolean!canStoreSchemasWithoutVariant:Boolean!canUndelete:Boolean!canUpdateAvatar:Boolean!canUpdateDescription:Boolean!canUpdateTitle:Boolean!canVisualizeStats:Boolean!@deprecated(reason:"Replaced with canQueryTraces and canQueryStats")"""Whether the currently authenticated user is permitted to make updates to the check configuration for this graph.""" canWriteCheckConfiguration:Boolean!canWriteTraces:Boolean!@deprecated(reason:"Never worked, not replaced")}"""A time window with a specified granularity over a given service.""" type ServiceStatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:ServiceBillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceBillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceBillingUsageStatsOrderBySpec!]):[ServiceBillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:ServiceEdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceEdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceEdgeServerInfosOrderBySpec!]):[ServiceEdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:ServiceErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceErrorStatsOrderBySpec!]):[ServiceErrorStatsRecord!]!fieldExecutions("""Filter to select what rows to return.""" filter:ServiceFieldExecutionsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldExecutions by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldExecutionsOrderBySpec!]):[ServiceFieldExecutionsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:ServiceFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldLatenciesOrderBySpec!]):[ServiceFieldLatenciesRecord!]!fieldRequestsByClientVersion("""Filter to select what rows to return.""" filter:ServiceFieldRequestsByClientVersionFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldRequestsByClientVersion by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldRequestsByClientVersionOrderBySpec!]):[ServiceFieldRequestsByClientVersionRecord!]!fieldStats("""Filter to select what rows to return.""" filter:ServiceFieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldLatenciesOrderBySpec!]):[ServiceFieldLatenciesRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:ServiceFieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceFieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceFieldUsageOrderBySpec!]):[ServiceFieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:ServiceOperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceOperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceOperationCheckStatsOrderBySpec!]):[ServiceOperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:ServiceQueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceQueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceQueryStatsOrderBySpec!]):[ServiceQueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:ServiceTracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceTracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceTracePathErrorsRefsOrderBySpec!]):[ServiceTracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:ServiceTraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ServiceTraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ServiceTraceRefsOrderBySpec!]):[ServiceTraceRefsRecord!]!}"""Columns of ServiceTracePathErrorsRefs.""" enum ServiceTracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type ServiceTracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String path:String queryId:ID queryName:String schemaHash:String schemaTag:String traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in ServiceTracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceTracePathErrorsRefsFilter{and:[ServiceTracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:ServiceTracePathErrorsRefsFilterIn not:ServiceTracePathErrorsRefsFilter or:[ServiceTracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in ServiceTracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceTracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type ServiceTracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input ServiceTracePathErrorsRefsOrderBySpec{column:ServiceTracePathErrorsRefsColumn!direction:Ordering!}type ServiceTracePathErrorsRefsRecord{"""Dimensions of ServiceTracePathErrorsRefs that can be grouped by.""" groupBy:ServiceTracePathErrorsRefsDimensions!"""Metrics of ServiceTracePathErrorsRefs that can be aggregated over.""" metrics:ServiceTracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of ServiceTraceRefs.""" enum ServiceTraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type ServiceTraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String traceId:ID}"""Filter for data in ServiceTraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input ServiceTraceRefsFilter{and:[ServiceTraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:ServiceTraceRefsFilterIn not:ServiceTraceRefsFilter or:[ServiceTraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in ServiceTraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input ServiceTraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type ServiceTraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input ServiceTraceRefsOrderBySpec{column:ServiceTraceRefsColumn!direction:Ordering!}type ServiceTraceRefsRecord{"""Dimensions of ServiceTraceRefs that can be grouped by.""" groupBy:ServiceTraceRefsDimensions!"""Metrics of ServiceTraceRefs that can be aggregated over.""" metrics:ServiceTraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Slack notification channel""" type SlackChannel implements Channel{id:ID!name:String!subscriptions:[ChannelSubscription!]!url:String!}"""Slack notification channel parameters""" input SlackChannelInput{name:String url:String!}input SlackNotificationField{key:String!value:String!}"""Slack notification message""" input SlackNotificationInput{color:String fallback:String!fields:[SlackNotificationField!]iconUrl:String text:String timestamp:Timestamp title:String titleLink:String username:String}type SourceLocation{column:Int!line:Int!}"""A time window with a specified granularity.""" type StatsWindow{billingUsageStats("""Filter to select what rows to return.""" filter:BillingUsageStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order BillingUsageStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[BillingUsageStatsOrderBySpec!]):[BillingUsageStatsRecord!]!edgeServerInfos("""Filter to select what rows to return.""" filter:EdgeServerInfosFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order EdgeServerInfos by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[EdgeServerInfosOrderBySpec!]):[EdgeServerInfosRecord!]!errorStats("""Filter to select what rows to return.""" filter:ErrorStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order ErrorStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[ErrorStatsOrderBySpec!]):[ErrorStatsRecord!]!fieldExecutions("""Filter to select what rows to return.""" filter:FieldExecutionsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldExecutions by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldExecutionsOrderBySpec!]):[FieldExecutionsRecord!]!fieldLatencies("""Filter to select what rows to return.""" filter:FieldLatenciesFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldLatencies by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldLatenciesOrderBySpec!]):[FieldLatenciesRecord!]!fieldRequestsByClientVersion("""Filter to select what rows to return.""" filter:FieldRequestsByClientVersionFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldRequestsByClientVersion by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldRequestsByClientVersionOrderBySpec!]):[FieldRequestsByClientVersionRecord!]!fieldUsage("""Filter to select what rows to return.""" filter:FieldUsageFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order FieldUsage by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[FieldUsageOrderBySpec!]):[FieldUsageRecord!]!operationCheckStats("""Filter to select what rows to return.""" filter:OperationCheckStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order OperationCheckStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[OperationCheckStatsOrderBySpec!]):[OperationCheckStatsRecord!]!queryStats("""Filter to select what rows to return.""" filter:QueryStatsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order QueryStats by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[QueryStatsOrderBySpec!]):[QueryStatsRecord!]!"""From field rounded down to the nearest resolution.""" roundedDownFrom:Timestamp!"""To field rounded up to the nearest resolution.""" roundedUpTo:Timestamp!tracePathErrorsRefs("""Filter to select what rows to return.""" filter:TracePathErrorsRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order TracePathErrorsRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[TracePathErrorsRefsOrderBySpec!]):[TracePathErrorsRefsRecord!]!traceRefs("""Filter to select what rows to return.""" filter:TraceRefsFilter """The maximum number of entries to return, cannot be more than 15000.""" limit:Int=10000 """A list of OrderBySpecs to order TraceRefs by. The earlier an OrderBySpec appears in the list, the higher priority it has in the final ordering. When empty or null, defaults to sorting by ascending timestamp.""" orderBy:[TraceRefsOrderBySpec!]):[TraceRefsRecord!]!}type StoreSchemaError{code:StoreSchemaErrorCode!message:String!}enum StoreSchemaErrorCode{SCHEMA_IS_NOT_PARSABLE SCHEMA_IS_NOT_VALID}type StoreSchemaResponse{sha256:SHA256!}union StoreSchemaResponseOrError=StoreSchemaError|StoreSchemaResponse type StoredApprovedChange{argNode:NamedIntrospectionArgNoDescription childNode:NamedIntrospectionValueNoDescription code:ChangeCode!parentNode:NamedIntrospectionTypeNoDescription}scalar StringOrInt type StringToString{key:String!value:String!}input StringToStringInput{key:String!value:String!}type Subgraph{hash:String!name:String!routingURL:String!}type SubgraphChange{name:ID!type:SubgraphChangeType!}enum SubgraphChangeType{ADDITION DELETION MODIFICATION}type SubgraphConfig{id:ID!name:String!schemaHash:String!sdl:String!url:String!}type SubscriptionOptions{"""Enables notifications for schema updates""" schemaUpdates:Boolean!}input SubscriptionOptionsInput{"""Enables notifications for schema updates""" schemaUpdates:Boolean!}enum SubscriptionState{ACTIVE CANCELED EXPIRED FUTURE PAST_DUE PAUSED PENDING UNKNOWN}enum SubscriptionStateV2{ACTIVE CANCELED EXPIRED FUTURE PAST_DUE PAUSED PENDING UNKNOWN}type TemporaryURL{url:String!}enum ThemeName{DARK LIGHT}enum TicketPriority{P0 P1 P2 P3}enum TicketStatus{CLOSED HOLD NEW OPEN PENDING SOLVED}"""ISO 8601, extended format with nanoseconds, Zulu (or '[+-]seconds' for times relative to now)""" scalar Timestamp type TimezoneOffset{minutesOffsetFromUTC:Int!zoneID:String!}"""Counts of changes.""" type TotalChangeSummaryCounts{"""Number of changes that are additions. This includes adding types, adding fields to object, input
 object, and interface types, adding values to enums, adding members to interfaces and unions, and
 adding arguments.""" additions:Int!"""Number of changes that are new usages of the @deprecated directive.""" deprecations:Int!"""Number of changes that are edits. This includes types changing kind, fields and arguments
 changing type, arguments changing default value, and any description changes. This also includes
 edits to @deprecated reason strings.""" edits:Int!"""Number of changes that are removals. This includes removing types, removing fields from object,
 input object, and interface types, removing values from enums, removing members from interfaces
-and unions, and removing arguments. This also includes removing @deprecated usages.""" removals:Int!}type Trace{cacheMaxAgeMs:Float cacheScope:CacheScope clientName:String clientVersion:String durationMs:Float!endTime:Timestamp!http:TraceHTTP id:ID!operationName:String protobuf:Protobuf!root:TraceNode!signature:String!startTime:Timestamp!variablesJSON:[StringToString!]!}type TraceError{json:String!locations:[TraceSourceLocation!]!message:String!timestamp:Timestamp}type TraceHTTP{host:String method:HTTPMethod!path:String protocol:String requestHeaders:[StringToString!]!responseHeaders:[StringToString!]!secure:Boolean!statusCode:Int!}type TraceNode{cacheMaxAgeMs:Float cacheScope:CacheScope children:[TraceNode!]!childrenIds:[ID!]!descendants:[TraceNode!]!descendantsIds:[ID!]!endTime:Timestamp!errors:[TraceError!]!id:ID!key:StringOrInt originalFieldName:String parent:ID!parentId:ID path:[String!]!startTime:Timestamp!type:String}"""Columns of TracePathErrorsRefs.""" enum TracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type TracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String """If metrics were collected from a federated service, this field will be prefixed with `service:<SERVICE_NAME>.`""" path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in TracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input TracePathErrorsRefsFilter{and:[TracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:TracePathErrorsRefsFilterIn not:TracePathErrorsRefsFilter or:[TracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in TracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input TracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type TracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input TracePathErrorsRefsOrderBySpec{column:TracePathErrorsRefsColumn!direction:Ordering!}type TracePathErrorsRefsRecord{"""Dimensions of TracePathErrorsRefs that can be grouped by.""" groupBy:TracePathErrorsRefsDimensions!"""Metrics of TracePathErrorsRefs that can be aggregated over.""" metrics:TracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of TraceRefs.""" enum TraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type TraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID traceId:ID}"""Filter for data in TraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input TraceRefsFilter{and:[TraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:TraceRefsFilterIn not:TraceRefsFilter or:[TraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in TraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input TraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type TraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input TraceRefsOrderBySpec{column:TraceRefsColumn!direction:Ordering!}type TraceRefsRecord{"""Dimensions of TraceRefs that can be grouped by.""" groupBy:TraceRefsDimensions!"""Metrics of TraceRefs that can be aggregated over.""" metrics:TraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type TraceSourceLocation{column:Int!line:Int!}"""Counts of changes at the type level, including interfaces, unions, enums, scalars, input objects, etc.""" type TypeChangeSummaryCounts{"""Number of changes that are additions of types.""" additions:Int!"""Number of changes that are edits. This includes types changing kind and any type description
+and unions, and removing arguments. This also includes removing @deprecated usages.""" removals:Int!}type Trace{cacheMaxAgeMs:Float cacheScope:CacheScope clientName:String clientVersion:String durationMs:Float!endTime:Timestamp!http:TraceHTTP id:ID!operationName:String protobuf:Protobuf!root:TraceNode!signature:String!startTime:Timestamp!unexecutedOperationBody:String unexecutedOperationName:String variablesJSON:[StringToString!]!}type TraceError{json:String!locations:[TraceSourceLocation!]!message:String!timestamp:Timestamp}type TraceHTTP{host:String method:HTTPMethod!path:String protocol:String requestHeaders:[StringToString!]!responseHeaders:[StringToString!]!secure:Boolean!statusCode:Int!}type TraceNode{cacheMaxAgeMs:Float cacheScope:CacheScope children:[TraceNode!]!childrenIds:[ID!]!descendants:[TraceNode!]!descendantsIds:[ID!]!endTime:Timestamp!errors:[TraceError!]!id:ID!key:StringOrInt originalFieldName:String parent:ID!parentId:ID path:[String!]!startTime:Timestamp!type:String}"""Columns of TracePathErrorsRefs.""" enum TracePathErrorsRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET ERRORS_COUNT_IN_PATH ERRORS_COUNT_IN_TRACE ERROR_MESSAGE PATH QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_HTTP_STATUS_CODE TRACE_ID TRACE_SIZE_BYTES TRACE_STARTS_AT}type TracePathErrorsRefsDimensions{clientName:String clientVersion:String durationBucket:Int errorMessage:String """If metrics were collected from a federated service, this field will be prefixed with `service:<SERVICE_NAME>.`""" path:String queryId:ID queryName:String schemaHash:String schemaTag:String serviceId:ID traceHttpStatusCode:Int traceId:ID traceStartsAt:Timestamp}"""Filter for data in TracePathErrorsRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input TracePathErrorsRefsFilter{and:[TracePathErrorsRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int """Selects rows whose errorMessage dimension equals the given value if not null. To query for the null value, use {in: {errorMessage: [null]}} instead.""" errorMessage:String in:TracePathErrorsRefsFilterIn not:TracePathErrorsRefsFilter or:[TracePathErrorsRefsFilter!]"""Selects rows whose path dimension equals the given value if not null. To query for the null value, use {in: {path: [null]}} instead.""" path:String """Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceHttpStatusCode dimension equals the given value if not null. To query for the null value, use {in: {traceHttpStatusCode: [null]}} instead.""" traceHttpStatusCode:Int """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in TracePathErrorsRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input TracePathErrorsRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose errorMessage dimension is in the given list. A null value in the list means a row with null for that dimension.""" errorMessage:[String]"""Selects rows whose path dimension is in the given list. A null value in the list means a row with null for that dimension.""" path:[String]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceHttpStatusCode dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceHttpStatusCode:[Int]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type TracePathErrorsRefsMetrics{errorsCountInPath:Long!errorsCountInTrace:Long!traceSizeBytes:Long!}input TracePathErrorsRefsOrderBySpec{column:TracePathErrorsRefsColumn!direction:Ordering!}type TracePathErrorsRefsRecord{"""Dimensions of TracePathErrorsRefs that can be grouped by.""" groupBy:TracePathErrorsRefsDimensions!"""Metrics of TracePathErrorsRefs that can be aggregated over.""" metrics:TracePathErrorsRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}"""Columns of TraceRefs.""" enum TraceRefsColumn{CLIENT_NAME CLIENT_VERSION DURATION_BUCKET DURATION_NS QUERY_ID QUERY_NAME SCHEMA_HASH SCHEMA_TAG SERVICE_ID TIMESTAMP TRACE_ID TRACE_SIZE_BYTES}type TraceRefsDimensions{clientName:String clientVersion:String durationBucket:Int queryId:ID queryName:String querySignature:String schemaHash:String schemaTag:String serviceId:ID traceId:ID}"""Filter for data in TraceRefs. Fields with dimension names represent equality checks. All fields are implicitly ANDed together.""" input TraceRefsFilter{and:[TraceRefsFilter!]"""Selects rows whose clientName dimension equals the given value if not null. To query for the null value, use {in: {clientName: [null]}} instead.""" clientName:String """Selects rows whose clientVersion dimension equals the given value if not null. To query for the null value, use {in: {clientVersion: [null]}} instead.""" clientVersion:String """Selects rows whose durationBucket dimension equals the given value if not null. To query for the null value, use {in: {durationBucket: [null]}} instead.""" durationBucket:Int in:TraceRefsFilterIn not:TraceRefsFilter or:[TraceRefsFilter!]"""Selects rows whose queryId dimension equals the given value if not null. To query for the null value, use {in: {queryId: [null]}} instead.""" queryId:ID """Selects rows whose queryName dimension equals the given value if not null. To query for the null value, use {in: {queryName: [null]}} instead.""" queryName:String """Selects rows whose schemaHash dimension equals the given value if not null. To query for the null value, use {in: {schemaHash: [null]}} instead.""" schemaHash:String """Selects rows whose schemaTag dimension equals the given value if not null. To query for the null value, use {in: {schemaTag: [null]}} instead.""" schemaTag:String """Selects rows whose serviceId dimension equals the given value if not null. To query for the null value, use {in: {serviceId: [null]}} instead.""" serviceId:ID """Selects rows whose traceId dimension equals the given value if not null. To query for the null value, use {in: {traceId: [null]}} instead.""" traceId:ID}"""Filter for data in TraceRefs. Fields match if the corresponding dimension's value is in the given list. All fields are implicitly ANDed together.""" input TraceRefsFilterIn{"""Selects rows whose clientName dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientName:[String]"""Selects rows whose clientVersion dimension is in the given list. A null value in the list means a row with null for that dimension.""" clientVersion:[String]"""Selects rows whose durationBucket dimension is in the given list. A null value in the list means a row with null for that dimension.""" durationBucket:[Int]"""Selects rows whose queryId dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryId:[ID]"""Selects rows whose queryName dimension is in the given list. A null value in the list means a row with null for that dimension.""" queryName:[String]"""Selects rows whose schemaHash dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaHash:[String]"""Selects rows whose schemaTag dimension is in the given list. A null value in the list means a row with null for that dimension.""" schemaTag:[String]"""Selects rows whose serviceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" serviceId:[ID]"""Selects rows whose traceId dimension is in the given list. A null value in the list means a row with null for that dimension.""" traceId:[ID]}type TraceRefsMetrics{durationNs:Long!traceSizeBytes:Long!}input TraceRefsOrderBySpec{column:TraceRefsColumn!direction:Ordering!}type TraceRefsRecord{"""Dimensions of TraceRefs that can be grouped by.""" groupBy:TraceRefsDimensions!"""Metrics of TraceRefs that can be aggregated over.""" metrics:TraceRefsMetrics!"""Starting segment timestamp.""" timestamp:Timestamp!}type TraceSourceLocation{column:Int!line:Int!}"""Counts of changes at the type level, including interfaces, unions, enums, scalars, input objects, etc.""" type TypeChangeSummaryCounts{"""Number of changes that are additions of types.""" additions:Int!"""Number of changes that are edits. This includes types changing kind and any type description
 changes, but also includes adding/removing values from enums, adding/removing members from
 interfaces and unions, and any enum value deprecation and description changes.""" edits:Int!"""Number of changes that are removals of types.""" removals:Int!}"""the TypeFilterConfig is used to isolate
 types, and subsequent fields, through
@@ -164,9 +164,9 @@ MediaUploadInfo.csrfToken.""" avatarUpload:AvatarUploadResult """Get an image UR
 argument is used for bandwidth reduction, and should be the size of the image as displayed in the
 application. Apollo's media server will downscale larger images to at least the requested size,
 but this will not happen for third-party media servers.""" avatarUrl(size:Int!=40):String betaFeaturesOn:Boolean!canUpdateAvatar:Boolean!canUpdateEmail:Boolean!canUpdateFullName:Boolean!createdAt:Timestamp!email:String emailModifiedAt:Timestamp emailVerified:Boolean!experimentalFeatures:UserExperimentalFeatures!featureIntros:FeatureIntros fullName:String!"""The user's GitHub username, if they log in via GitHub. May be null even for GitHub users in some edge cases.""" githubUsername:String """The unique identifier for a user.""" id:ID!"""This role is reserved exclusively for internal MDG employees, and it controls what access they may have to other
-organizations. Only admins are allowed to see this field.""" internalAdminRole:InternalMdgAdminRole """Last time any API token from this user was used against AGM services""" lastAuthenticatedAt:Timestamp logoutAfterIdleMs:Int """Which organizations a user belongs to.""" memberships:[UserMembership!]!"""The name (first and last) of a user.""" name:String!odysseyCertifications:[OdysseyCertification!]odysseyCourses:[OdysseyCourse!]odysseyHasEarlyAccess:Boolean!odysseyHasRequestedEarlyAccess:Boolean!odysseyTasks:[OdysseyTask!]sandboxOperationCollections:[OperationCollection!]!synchronized:Boolean!"""List of Zendesk tickets this user has submitted""" tickets:[ZendeskTicket!]type:UserType!}type UserApiKey implements ApiKey{id:ID!keyName:String token:String!}type UserExperimentalFeatures{exampleFeature:Boolean!}"""An organization a given user belongs to.""" type UserMembership{"""The organization a user is a member of.""" account:Account!"""When the user joined the organization.""" createdAt:Timestamp!"""What level of access a use has to an organization.""" permission:UserPermission!"""The user that is a member of an organization.""" user:User!}type UserMutation{acceptPrivacyPolicy:Void """Change the user's password""" changePassword(newPassword:String!previousPassword:String!):Void createOdysseyCertification(certificationId:String!):OdysseyCertification createOdysseyCourses(courses:[OdysseyCourseInput!]!):[OdysseyCourse!]createOdysseyTasks(tasks:[OdysseyTaskInput!]!):[OdysseyTask!]"""Delete the user's avatar. Requires User.canUpdateAvatar to be true.""" deleteAvatar:AvatarDeleteError """Hard deletes the associated user. Throws an error otherwise with reason included.""" hardDelete:Void """Create a new API key for this user. Must take in a name for this key.""" newKey(keyName:String!):UserApiKey!"""Create a new API key for this user if there are no current API keys.
-If an API key already exists, this will return one at random and not create a new one.""" provisionKey(keyName:String!="add-a-name"):ApiKeyProvision """Refresh information about the user from its upstream service (eg list of organizations from GitHub)""" refresh:User """Removes the given key from this user. Can be used to remove either a web cookie or a user API key.""" removeKey(id:ID!):Void """Renames the given key to the new key name.""" renameKey(id:ID!newKeyName:String):UserApiKey resendVerificationEmail:Void setOdysseyCourse(course:OdysseyCourseInput!):OdysseyCourse setOdysseyTask(task:OdysseyTaskInput!):OdysseyTask """Submit a zendesk ticket for this user""" submitZendeskTicket(collaborators:[String!]email:String!ticket:ZendeskTicketInput!):ZendeskTicket """Update information about a user; all arguments are optional""" update(email:String fullName:String referrer:String trackingGoogleClientId:String trackingMarketoClientId:String userSegment:UserSegment utmCampaign:String utmMedium:String utmSource:String):User """Updates this users' preference concerning opting into beta features.""" updateBetaFeaturesOn(betaFeaturesOn:Boolean!):User """Update the status of a feature for this. For example, if you want to hide an introductory popup.""" updateFeatureIntros(newFeatureIntros:FeatureIntrosInput):User """Update user to have the given internal mdg admin role.
+organizations. Only admins are allowed to see this field.""" internalAdminRole:InternalMdgAdminRole """Last time any API token from this user was used against AGM services""" lastAuthenticatedAt:Timestamp logoutAfterIdleMs:Int """Which organizations a user belongs to.""" memberships:[UserMembership!]!"""The name (first and last) of a user.""" name:String!odysseyAttempt(id:ID!):OdysseyAttempt odysseyAttempts:[OdysseyAttempt!]!odysseyCertifications:[OdysseyCertification!]odysseyCourses:[OdysseyCourse!]odysseyHasEarlyAccess:Boolean!odysseyHasRequestedEarlyAccess:Boolean!odysseyTasks:[OdysseyTask!]sandboxOperationCollections:[OperationCollection!]!synchronized:Boolean!"""List of Zendesk tickets this user has submitted""" tickets:[ZendeskTicket!]type:UserType!}type UserApiKey implements ApiKey{id:ID!keyName:String token:String!}type UserExperimentalFeatures{exampleFeature:Boolean!}"""An organization a given user belongs to.""" type UserMembership{"""The organization a user is a member of.""" account:Account!"""When the user joined the organization.""" createdAt:Timestamp!"""What level of access a use has to an organization.""" permission:UserPermission!"""The user that is a member of an organization.""" user:User!}type UserMutation{acceptPrivacyPolicy:Void """Change the user's password""" changePassword(newPassword:String!previousPassword:String!):Void createOdysseyAttempt(testId:String!):OdysseyAttempt createOdysseyCertification(certificationId:String!):OdysseyCertification createOdysseyCourses(courses:[OdysseyCourseInput!]!):[OdysseyCourse!]createOdysseyTasks(tasks:[OdysseyTaskInput!]!):[OdysseyTask!]"""Delete the user's avatar. Requires User.canUpdateAvatar to be true.""" deleteAvatar:AvatarDeleteError """Hard deletes the associated user. Throws an error otherwise with reason included.""" hardDelete:Void """Create a new API key for this user. Must take in a name for this key.""" newKey(keyName:String!):UserApiKey!"""Create a new API key for this user if there are no current API keys.
+If an API key already exists, this will return one at random and not create a new one.""" provisionKey(keyName:String!="add-a-name"):ApiKeyProvision """Refresh information about the user from its upstream service (eg list of organizations from GitHub)""" refresh:User """Removes the given key from this user. Can be used to remove either a web cookie or a user API key.""" removeKey(id:ID!):Void """Renames the given key to the new key name.""" renameKey(id:ID!newKeyName:String):UserApiKey resendVerificationEmail:Void setOdysseyCourse(course:OdysseyCourseInput!):OdysseyCourse setOdysseyResponse(response:OdysseyResponseInput!):OdysseyResponse setOdysseyTask(task:OdysseyTaskInput!):OdysseyTask """Submit a zendesk ticket for this user""" submitZendeskTicket(collaborators:[String!]email:String!ticket:ZendeskTicketInput!):ZendeskTicket """Update information about a user; all arguments are optional""" update(email:String fullName:String referrer:String trackingGoogleClientId:String trackingMarketoClientId:String userSegment:UserSegment utmCampaign:String utmMedium:String utmSource:String):User """Updates this users' preference concerning opting into beta features.""" updateBetaFeaturesOn(betaFeaturesOn:Boolean!):User """Update the status of a feature for this. For example, if you want to hide an introductory popup.""" updateFeatureIntros(newFeatureIntros:FeatureIntrosInput):User updateOdysseyAttempt(completedAt:Timestamp id:ID!):OdysseyAttempt """Update user to have the given internal mdg admin role.
 It is necessary to be an MDG_INTERNAL_SUPER_ADMIN to perform update.
 Additionally, upserting a null value explicitly revokes this user's
-admin status.""" updateRole(newRole:InternalMdgAdminRole):User user:User!verifyEmail(token:String!):User}enum UserPermission{BILLING_MANAGER CONSUMER CONTRIBUTOR GRAPH_ADMIN LEGACY_GRAPH_KEY OBSERVER ORG_ADMIN}enum UserSegment{JOIN_MY_TEAM LOCAL_DEVELOPMENT NOT_SPECIFIED PRODUCTION_GRAPHS SANDBOX SANDBOX_OPERATION_COLLECTIONS TRY_TEAM}type UserSettings{appNavCollapsed:Boolean!autoManageVariables:Boolean!id:String!mockingResponses:Boolean!preflightScriptEnabled:Boolean!responseHints:ResponseHints!tableMode:Boolean!themeName:ThemeName!}"""Explorer user settings input""" input UserSettingsInput{appNavCollapsed:Boolean autoManageVariables:Boolean mockingResponses:Boolean preflightScriptEnabled:Boolean responseHints:ResponseHints tableMode:Boolean themeName:ThemeName}enum UserType{APOLLO GITHUB SSO}type ValidateOperationsResult{validationResults:[ValidationResult!]!}type ValidationError implements Error{message:String!}enum ValidationErrorCode{DEPRECATED_FIELD INVALID_OPERATION NON_PARSEABLE_DOCUMENT}enum ValidationErrorType{FAILURE INVALID WARNING}"""Represents a single validation error, with information relating to the error
+admin status.""" updateRole(newRole:InternalMdgAdminRole):User user:User!verifyEmail(token:String!):User}enum UserPermission{BILLING_MANAGER CONSUMER CONTRIBUTOR DOCUMENTER GRAPH_ADMIN LEGACY_GRAPH_KEY OBSERVER ORG_ADMIN}enum UserSegment{JOIN_MY_TEAM LOCAL_DEVELOPMENT NOT_SPECIFIED PRODUCTION_GRAPHS SANDBOX SANDBOX_OPERATION_COLLECTIONS TRY_TEAM}type UserSettings{appNavCollapsed:Boolean!autoManageVariables:Boolean!id:String!mockingResponses:Boolean!preflightScriptEnabled:Boolean!responseHints:ResponseHints!tableMode:Boolean!themeName:ThemeName!}"""Explorer user settings input""" input UserSettingsInput{appNavCollapsed:Boolean autoManageVariables:Boolean mockingResponses:Boolean preflightScriptEnabled:Boolean responseHints:ResponseHints tableMode:Boolean themeName:ThemeName}enum UserType{APOLLO GITHUB SSO}type ValidateOperationsResult{validationResults:[ValidationResult!]!}type ValidationError implements Error{message:String!}enum ValidationErrorCode{DEPRECATED_FIELD INVALID_OPERATION NON_PARSEABLE_DOCUMENT}enum ValidationErrorType{FAILURE INVALID WARNING}"""Represents a single validation error, with information relating to the error
 and its respective operation""" type ValidationResult{"""The validation result's error code""" code:ValidationErrorCode!"""Description of the validation error""" description:String!"""The operation related to this validation result""" operation:OperationDocument!"""The type of validation error thrown - warning, failure, or invalid.""" type:ValidationErrorType!}"""Always null""" scalar Void """Webhook notification channel""" type WebhookChannel implements Channel{id:ID!name:String!secretToken:String subscriptions:[ChannelSubscription!]!url:String!}"""PagerDuty notification channel parameters""" input WebhookChannelInput{name:String secretToken:String url:String!}type ZendeskTicket{createdAt:Timestamp!description:String!graph:Service id:Int!organization:Account priority:TicketPriority!status:TicketStatus subject:String!user:User}"""Zendesk ticket input""" input ZendeskTicketInput{description:String!graphId:String organizationId:String priority:TicketPriority!subject:String!}
diff --git a/pkgs/development/tools/rover/update.sh b/pkgs/development/tools/rover/update.sh
index 50a9945884b..fbf6fba989c 100755
--- a/pkgs/development/tools/rover/update.sh
+++ b/pkgs/development/tools/rover/update.sh
@@ -26,17 +26,6 @@ rover_tar_url="https://github.com/apollographql/rover/archive/refs/tags/${rover_
 # Convert hash to SRI representation
 rover_sri_hash=$(nix hash to-sri --type sha256 "$rover_hash")
 
-# Identify librusty version and hash
-librusty_version=$(
-    sed --quiet '/^name = "v8"$/{n;p}' "${repo}/Cargo.lock" \
-        | grep --only-matching --perl-regexp '^version = "\K[^"]+'
-)
-librusty_arch=x86_64-unknown-linux-gnu
-librusty_url="https://github.com/denoland/rusty_v8/releases/download/v${librusty_version}/librusty_v8_release_${librusty_arch}.a"
-echo "Fetching librusty"
-librusty_hash=$(nix-prefetch-url "$librusty_url" --type sha256)
-librusty_sri_hash=$(nix hash to-sri --type sha256 "$librusty_hash")
-
 # Update rover version.
 sed --in-place \
     "s|version = \"[0-9.]*\"|version = \"$rover_version\"|" \
@@ -61,16 +50,6 @@ sed --in-place \
     "s|cargoSha256 = \".*\"|cargoSha256 = \"$cargoSha256\"|" \
     "$dirname/default.nix"
 
-# Update librusty version
-sed --in-place \
-    "s|version = \"[0-9.]*\"|version = \"$librusty_version\"|" \
-    "$dirname/librusty_v8.nix"
-
-# Update librusty hash
-sed --in-place \
-    "s|x86_64-linux = \"[^\"]*\"|x86_64-linux = \"$librusty_sri_hash\"|" \
-    "$dirname/librusty_v8.nix"
-
 # Update apollo api schema info
 response="$(mktemp)"
 schemaUrl=https://graphql.api.apollographql.com/api/schema
diff --git a/pkgs/development/tools/rust/cargo-depgraph/default.nix b/pkgs/development/tools/rust/cargo-depgraph/default.nix
index ab45d053477..3ec0c110a69 100644
--- a/pkgs/development/tools/rust/cargo-depgraph/default.nix
+++ b/pkgs/development/tools/rust/cargo-depgraph/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-depgraph";
-  version = "1.2.2";
+  version = "1.2.4";
 
   src = fetchFromSourcehut {
     owner = "~jplatte";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Zt60F43hhFSj9zfAkEbgRqODvBRmzn04dHMijbz+uX0=";
+    sha256 = "sha256-EbAV2VM73K0KiEKcy9kkK1TQHFQ1jRmKG3Tn9GAsWIk=";
   };
 
-  cargoSha256 = "sha256-mMXIiAfYBqOS3z4735T9dB9TEo7Ph2JCNq0QfyetxJg=";
+  cargoSha256 = "sha256-AAZlAYhl62c8nFvFtwwGniGbQqXu2vHTO4++O1VJ4LM=";
 
   meta = with lib; {
     description = "Create dependency graphs for cargo projects using `cargo metadata` and graphviz";
diff --git a/pkgs/development/tools/rust/cargo-diet/default.nix b/pkgs/development/tools/rust/cargo-diet/default.nix
index 471b7454684..a809e02fe31 100644
--- a/pkgs/development/tools/rust/cargo-diet/default.nix
+++ b/pkgs/development/tools/rust/cargo-diet/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-diet";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "the-lean-crate";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-R40cggAdNbd8/+fG87PYHIbmgIsrhEwQ9ocB4p22bL4=";
+    sha256 = "sha256-olF+F2y7F3ZpyluyslRDlfRKkWmE+zJ01bXyzy9x5EQ=";
   };
 
-  cargoSha256 = "sha256-lgCP5P7X9B4sTND+p8repZB63c64o1QuozJoz6KQXiE=";
+  cargoSha256 = "sha256-ayi7Px1A8XzswlGnm31YWF7+8+lBChBaVJFwozSAimw=";
 
   meta = with lib; {
     description = "Help computing optimal include directives for your Cargo.toml manifest";
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 2e2ff56fd05..46738f7cf45 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -13,11 +13,11 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.35.10";
+  version = "0.35.11";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-l34sThvzhAW8VfxVuv+UGVil7yOvsOiWSqr/N91V8C8=";
+    sha256 = "sha256-NzhEXt0z+0/6F3pgGmQwjnexBA2icWV3dCifZ8BxnOQ=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration libiconv ];
 
-  cargoSha256 = "sha256-974Gqtv+g32iHrIqIzqwBsE8frzmjF0Ma/hSMGzMaGs=";
+  cargoSha256 = "sha256-+FGl0JhaRu+KLQJGAcMXv9vP6pmRzdTDtNA3h6A1jcY=";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/cargo-nextest/default.nix b/pkgs/development/tools/rust/cargo-nextest/default.nix
index ed0c8c87009..2c00f12f111 100644
--- a/pkgs/development/tools/rust/cargo-nextest/default.nix
+++ b/pkgs/development/tools/rust/cargo-nextest/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-nextest";
-  version = "0.9.12";
+  version = "0.9.14";
 
   src = fetchFromGitHub {
     owner = "nextest-rs";
     repo = "nextest";
     rev = "cargo-nextest-${version}";
-    sha256 = "sha256-E3/AgzLvjlMfbmvAOYx4V1/1wSLKlFo61tGv79ow7XY=";
+    sha256 = "sha256-g2kgMMmztURik/aSgP76vG+yI3vSqX9k836ACtLviFk=";
   };
 
-  cargoSha256 = "sha256-zrYmZG3VAneanHaNoG3txv7LbKCYvqIf60g1W7CmPG8=";
+  cargoSha256 = "sha256-1TJ96ilHX+LGkrMLXIK4rAebVxNQpRTYo9RnPE6BmmU=";
 
   cargoTestFlags = [ # TODO: investigate some more why these tests fail in nix
     "--"
diff --git a/pkgs/development/tools/rust/cargo-sync-readme/default.nix b/pkgs/development/tools/rust/cargo-sync-readme/default.nix
index 07c51c3163c..904404c65c3 100644
--- a/pkgs/development/tools/rust/cargo-sync-readme/default.nix
+++ b/pkgs/development/tools/rust/cargo-sync-readme/default.nix
@@ -2,20 +2,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-sync-readme";
-  version = "1.0";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "phaazon";
     repo = pname;
     rev = version;
-    sha256 = "1c38q87fyfmj6nlwdpavb1xxpi26ncywkgqcwbvblad15c6ydcyc";
+    sha256 = "sha256-n9oIWblTTuXFFQFN6mpQiCH5N7yg5fAp8v9vpB5/DAo=";
   };
 
-  cargoSha256 = "0vrbgs49ghhl4z4ljhghcs9fnbf7qx1an9kwbrgv9wng8m1dccah";
+  cargoSha256 = "sha256-DsB2C2ELuvuVSvxG/xztmnY2qfX8+Y7udbXlpRQoL/c=";
 
   meta = with lib; {
     description = "A cargo plugin that generates a Markdown section in your README based on your Rust documentation";
     homepage = "https://github.com/phaazon/cargo-sync-readme";
+    changelog = "https://github.com/phaazon/cargo-sync-readme/blob/${version}/CHANGELOG.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ b4dm4n ];
   };
diff --git a/pkgs/development/tools/rust/cbindgen/default.nix b/pkgs/development/tools/rust/cbindgen/default.nix
index a4f02023bb0..347534329b1 100644
--- a/pkgs/development/tools/rust/cbindgen/default.nix
+++ b/pkgs/development/tools/rust/cbindgen/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-cbindgen";
-  version = "0.21.0";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "eqrion";
     repo = "cbindgen";
     rev = "v${version}";
-    sha256 = "sha256-WvCGAjFxjaql/y35QfHyHvwbEL4pKtlc3JO2NecqQCM=";
+    hash = "sha256-yux5VpN8UqBscu5TyojlZmu4q2uz8b9Tu++eNlPUj/M=";
   };
 
-  cargoSha256 = "sha256-Kl2/u+ttPn1k7f3+XRCord4u+c4QZ80/Okb40XeyeIk=";
+  cargoSha256 = "sha256:1838dsmaqdlbd3j040bdy1fvl3z77xmcz73r11qmnqsga4yva6d7";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
@@ -33,6 +33,6 @@ rustPlatform.buildRustPackage rec {
     description = "A project for generating C bindings from Rust code";
     homepage = "https://github.com/eqrion/cbindgen";
     license = licenses.mpl20;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ hexa ];
   };
 }
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 92d731c79b5..3e471a3ac55 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -11,14 +11,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2022-04-11";
-  cargoSha256 = "sha256-pc8S+5g67vN9170ABiHGe1t4Go0F63UiOeLd71USYCI=";
+  version = "2022-05-02";
+  cargoSha256 = "sha256-uZCUruIBTNTKYWYb8xQgJ6FsKlRi+Sh5n7m7aVk+hHQ=";
 
   src = fetchFromGitHub {
     owner = "rust-analyzer";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-miMIrDawSS1zXh6EuX03x5ACM2NTabksssSyutSNpjY=";
+    sha256 = "sha256-5kAbd/tTc9vkr27ar44hnpXdS0vQg0OLJUMlp0FBjqA=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/scalafix/default.nix b/pkgs/development/tools/scalafix/default.nix
index a38b6cee852..3d57bdbd92c 100644
--- a/pkgs/development/tools/scalafix/default.nix
+++ b/pkgs/development/tools/scalafix/default.nix
@@ -1,33 +1,36 @@
-{ lib, stdenv, jdk, jre, coursier, makeWrapper }:
+{ lib, stdenv, jre, coursier, makeWrapper, installShellFiles, setJavaClassPath }:
 
 let
   baseName = "scalafix";
-  version = "0.9.0";
+  version = "0.10.0";
   deps = stdenv.mkDerivation {
     name = "${baseName}-deps-${version}";
     buildCommand = ''
       export COURSIER_CACHE=$(pwd)
-      ${coursier}/bin/cs fetch ch.epfl.scala:scalafix-cli_2.12.7:${version} > deps
+      ${coursier}/bin/cs fetch ch.epfl.scala:scalafix-cli_2.13.8:${version} > deps
       mkdir -p $out/share/java
       cp $(< deps) $out/share/java/
     '';
     outputHashMode = "recursive";
-    outputHashAlgo = "sha256";
-    outputHash     = "19j260prx7k010nxyvc1m9jj1ncxr73m2cym7if39360v5dc05c0";
+    outputHash     = "sha256-lDeg90L484MggtQ2a9OyHv4UcfLPjzG3OJZCaWW2AC8=";
   };
 in
 stdenv.mkDerivation {
   pname = baseName;
   inherit version;
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ jdk deps ];
+  nativeBuildInputs = [ makeWrapper installShellFiles setJavaClassPath ];
+  buildInputs = [ deps ];
 
   dontUnpack = true;
 
   installPhase = ''
     makeWrapper ${jre}/bin/java $out/bin/${baseName} \
       --add-flags "-cp $CLASSPATH scalafix.cli.Cli"
+
+    installShellCompletion --cmd ${baseName} \
+      --bash <($out/bin/${baseName} --bash) \
+      --zsh  <($out/bin/${baseName} --zsh)
   '';
 
   installCheckPhase = ''
diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix
index a75488a229d..66a73b1c1e9 100644
--- a/pkgs/development/tools/selenium/chromedriver/default.nix
+++ b/pkgs/development/tools/selenium/chromedriver/default.nix
@@ -2,7 +2,7 @@
 , cairo, fontconfig, freetype, gdk-pixbuf, glib
 , glibc, gtk2, libX11, nspr, nss, pango
 , libxcb, libXi, libXrender, libXext, dbus
-, testVersion, chromedriver
+, testers, chromedriver
 }:
 
 let
@@ -56,7 +56,7 @@ in stdenv.mkDerivation rec {
     wrapProgram "$out/bin/chromedriver" --prefix LD_LIBRARY_PATH : "${libs}"
   '';
 
-  passthru.tests.version = testVersion { package = chromedriver; };
+  passthru.tests.version = testers.testVersion { package = chromedriver; };
 
   meta = with lib; {
     homepage = "https://chromedriver.chromium.org/";
diff --git a/pkgs/development/tools/snazy/default.nix b/pkgs/development/tools/snazy/default.nix
new file mode 100644
index 00000000000..c284c18d015
--- /dev/null
+++ b/pkgs/development/tools/snazy/default.nix
@@ -0,0 +1,34 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "snazy";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "chmouel";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-Pv+vLdbMTbDbdUVQhA07WY+o1PwtCiqdAXCj+UlP/ZQ=";
+  };
+  cargoSha256 = "sha256-96xgpkkWHsyb3kxEXM5f5jFSjbO+VEmX2uHltGJUPGk=";
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/snazy --help
+    $out/bin/snazy --version | grep "snazy ${version}"
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/chmouel/snazy/";
+    changelog = "https://github.com/chmouel/snazy/releases/tag/v${version}";
+    description = "A snazzy json log viewer";
+    longDescription = ''
+      Snazy is a simple tool to parse json logs and output them in a nice format
+      with nice colors.
+    '';
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/pkgs/development/tools/spirv-tools/default.nix b/pkgs/development/tools/spirv-tools/default.nix
index aa58b37773e..948da2773ec 100644
--- a/pkgs/development/tools/spirv-tools/default.nix
+++ b/pkgs/development/tools/spirv-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spirv-tools";
-  version = "1.2.198.0";
+  version = "1.3.211.0";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Tools";
     rev = "sdk-${version}";
-    sha256 = "sha256-8EJbTPY5dvsqx32POf2HcCV3j2fA68GtGZA66l9V4TI=";
+    sha256 = "sha256-DoE+UCJOTB8JidC208wgfV1trZC4r9uFvwRPUhJVaII=";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/pkgs/development/tools/sq/default.nix b/pkgs/development/tools/sq/default.nix
index 4141fd59733..0be6e6c7bb6 100644
--- a/pkgs/development/tools/sq/default.nix
+++ b/pkgs/development/tools/sq/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testVersion, sq }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, sq }:
 buildGoModule rec {
   pname = "sq";
   version = "0.15.4";
@@ -29,7 +29,7 @@ buildGoModule rec {
   '';
 
   passthru.tests = {
-    version = testVersion { package = sq; };
+    version = testers.testVersion { package = sq; };
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/sumneko-lua-language-server/default.nix b/pkgs/development/tools/sumneko-lua-language-server/default.nix
index f9f3e9eaab6..27606f998d5 100644
--- a/pkgs/development/tools/sumneko-lua-language-server/default.nix
+++ b/pkgs/development/tools/sumneko-lua-language-server/default.nix
@@ -4,13 +4,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "sumneko-lua-language-server";
-  version = "3.1.0";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner = "sumneko";
     repo = "lua-language-server";
     rev = version;
-    sha256 = "sha256-P0ga7uXwxkihpuLdjT1VNbuspbYpOh3+U60u1Blppo4=";
+    sha256 = "sha256-rxferVxTWmclviDshHhBmbCezOI+FvcfUW3gAkBQNHQ=";
     fetchSubmodules = true;
   };
 
@@ -24,6 +24,13 @@ stdenv.mkDerivation rec {
     darwin.apple_sdk.frameworks.Foundation
   ];
 
+  # Disable cwd support on darwin, because it requires macOS>=10.15
+  preConfigure = lib.optionalString stdenv.isDarwin ''
+    for file in 3rd/bee.lua/bee/subprocess/subprocess_posix.cpp 3rd/luamake/3rd/bee.lua/bee/subprocess/subprocess_posix.cpp; do
+      substituteInPlace $file --replace '#define SUPPORT_CWD 1' ""
+    done
+  '';
+
   preBuild = ''
     cd 3rd/luamake
   ''
diff --git a/pkgs/development/tools/tracy/default.nix b/pkgs/development/tools/tracy/default.nix
index fa0f472463c..2904e20c99f 100644
--- a/pkgs/development/tools/tracy/default.nix
+++ b/pkgs/development/tools/tracy/default.nix
@@ -1,23 +1,25 @@
-{ stdenv, lib, darwin, fetchFromGitHub, tbb, gtk3, glfw, pkg-config, freetype, Carbon, AppKit, capstone }:
+{ stdenv, lib, darwin, fetchFromGitHub
+, tbb, gtk3, glfw, pkg-config, freetype, Carbon, AppKit, capstone, dbus
+}:
 
 let
   disableLTO = stdenv.cc.isClang && stdenv.isDarwin;  # workaround issue #19098
 in stdenv.mkDerivation rec {
   pname = "tracy";
-  version = "0.8";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "wolfpld";
     repo = "tracy";
     rev = "v${version}";
-    sha256 = "sha256-wsb2pOF8Y+cFHHSkDSJngTyWeLKCtFNK/mm+usyo+0k=";
+    sha256 = "sha256-4z3tos/sQUCL5UAcvqHzIzwoxo1fCGldNpmKsCXKJDs=";
   };
 
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ glfw capstone ]
     ++ lib.optionals stdenv.isDarwin [ Carbon AppKit freetype ]
-    ++ lib.optionals stdenv.isLinux [ gtk3 tbb ];
+    ++ lib.optionals stdenv.isLinux [ gtk3 tbb dbus ];
 
   NIX_CFLAGS_COMPILE = [ ]
     # Apple's compiler finds a format string security error on
diff --git a/pkgs/development/tools/unityhub/default.nix b/pkgs/development/tools/unityhub/default.nix
index ad0e2c998e6..e52c3882216 100644
--- a/pkgs/development/tools/unityhub/default.nix
+++ b/pkgs/development/tools/unityhub/default.nix
@@ -1,15 +1,14 @@
 { lib, fetchurl, appimageTools, gsettings-desktop-schemas, gtk3 }:
 
-let
+appimageTools.wrapType2 rec {
+  pname = "unityhub";
   version = "2.3.2";
+
   src = fetchurl {
     # mirror of https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage
     url = "https://archive.org/download/unity-hub-${version}/UnityHub.AppImage";
     sha256 = "07nfyfp9apshqarc6pgshsczila6x4943hiyyizc55kp85aw0imn";
   };
-  name = "unityhub";
-in appimageTools.wrapType2 rec {
-  inherit name src;
 
   extraPkgs = (pkgs: with pkgs; with xorg; [ gtk2 gdk-pixbuf glib libGL libGLU nss nspr
     alsa-lib cups libcap fontconfig freetype pango
@@ -23,11 +22,11 @@ in appimageTools.wrapType2 rec {
   ]);
 
   extraInstallCommands =
-    let appimageContents = appimageTools.extractType2 { inherit name src; }; in
+    let appimageContents = appimageTools.extractType2 { inherit pname version src; }; in
     ''
       install -Dm444 ${appimageContents}/unityhub.desktop -t $out/share/applications
       substituteInPlace $out/share/applications/unityhub.desktop \
-        --replace 'Exec=AppRun' 'Exec=${name}'
+        --replace 'Exec=AppRun' 'Exec=${pname}'
       install -m 444 -D ${appimageContents}/unityhub.png \
         $out/share/icons/hicolor/64x64/apps/unityhub.png
     '';
diff --git a/pkgs/development/tools/vala-language-server/default.nix b/pkgs/development/tools/vala-language-server/default.nix
index fc7af672664..f69f6db863c 100644
--- a/pkgs/development/tools/vala-language-server/default.nix
+++ b/pkgs/development/tools/vala-language-server/default.nix
@@ -6,7 +6,6 @@
 , pkg-config
 , scdoc
 , gnome-builder
-, gnused
 , glib
 , libgee
 , json-glib
@@ -37,7 +36,6 @@ stdenv.mkDerivation rec {
     pkg-config
     scdoc
     # GNOME Builder Plugin
-    gnused
     gnome-builder
   ];
 
diff --git a/pkgs/development/tools/vulkan-validation-layers/default.nix b/pkgs/development/tools/vulkan-validation-layers/default.nix
index dfc5ea9de65..17ef58be4bc 100644
--- a/pkgs/development/tools/vulkan-validation-layers/default.nix
+++ b/pkgs/development/tools/vulkan-validation-layers/default.nix
@@ -1,10 +1,15 @@
 { lib
+, callPackage
 , stdenv
 , fetchFromGitHub
 , cmake
+, pkg-config
 , glslang
+, libffi
 , libX11
+, libXau
 , libxcb
+, libXdmcp
 , libXrandr
 , spirv-headers
 , spirv-tools
@@ -13,16 +18,11 @@
 }:
 
 let
-  robin-hood-hashing = fetchFromGitHub {
-    owner = "martinus";
-    repo = "robin-hood-hashing";
-    rev = "3.11.3"; # pin
-    sha256 = "1gm3lwjkh6h8m7lfykzd0jzhfqjmjchindkmxc008rwvxafsd1pl";
-  };
+  robin-hood-hashing = callPackage ./robin-hood-hashing.nix {};
 in
 stdenv.mkDerivation rec {
   pname = "vulkan-validation-layers";
-  version = "1.2.198.0";
+  version = "1.3.211.0";
 
   # If we were to use "dev" here instead of headers, the setupHook would be
   # placed in that output instead of "out".
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
       owner = "KhronosGroup";
       repo = "Vulkan-ValidationLayers";
       rev = "sdk-${version}";
-      sha256 = "sha256-/pnXT55EQZcnjOzY2vBwp+gM6l2hktZHwB9yKP8vVTU=";
+      sha256 = "sha256-NGpFfekZtB0rvnGxYVDo808xzgBuo8ZC4bjXjQnTpxU=";
     });
 
   # Include absolute paths to layer libraries in their associated
@@ -45,12 +45,17 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake
+    pkg-config
   ];
 
   buildInputs = [
     libX11
-    libxcb
+    libXau
+    libXdmcp
     libXrandr
+    libffi
+    libxcb
+    spirv-tools
     vulkan-headers
     wayland
   ];
@@ -60,6 +65,7 @@ stdenv.mkDerivation rec {
     "-DSPIRV_HEADERS_INSTALL_DIR=${spirv-headers}"
     "-DROBIN_HOOD_HASHING_INSTALL_DIR=${robin-hood-hashing}"
     "-DBUILD_LAYER_SUPPORT_FILES=ON"
+    "-DPKG_CONFIG_EXECUTABLE=${pkg-config}/bin/pkg-config"
     # Hide dev warnings that are useless for packaging
     "-Wno-dev"
   ];
diff --git a/pkgs/development/tools/vulkan-validation-layers/robin-hood-hashing.nix b/pkgs/development/tools/vulkan-validation-layers/robin-hood-hashing.nix
new file mode 100644
index 00000000000..cd08f0231ab
--- /dev/null
+++ b/pkgs/development/tools/vulkan-validation-layers/robin-hood-hashing.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "robin-hood-hashing";
+  version = "3.11.5"; # pin
+
+  src = fetchFromGitHub {
+    owner = "martinus";
+    repo = "robin-hood-hashing";
+    rev = version; # pin
+    sha256 = "sha256-J4u9Q6cXF0SLHbomP42AAn5LSKBYeVgTooOhqxOIpuM=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  cmakeFlags = [
+    "-DRH_STANDALONE_PROJECT=OFF"
+  ];
+
+  meta = with lib; {
+    description = "A faster, more efficient replacement for std::unordered_map / std::unordered_set";
+    homepage    = "https://github.com/martinus/robin-hood-hashing";
+    platforms   = platforms.linux;
+    license     = licenses.mit;
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/development/tools/wails/default.nix b/pkgs/development/tools/wails/default.nix
index 875ed794647..73198af687c 100644
--- a/pkgs/development/tools/wails/default.nix
+++ b/pkgs/development/tools/wails/default.nix
@@ -15,16 +15,16 @@
 
 buildGoModule rec {
   pname = "wails";
-  version = "2.0.0-beta.34";
+  version = "2.0.0-beta.36";
 
   src = fetchFromGitHub {
     owner = "wailsapp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dsDruZSmr8qSNpX8L27tLpNxvdSkc2mfNQLRxN9AnCg=";
+    sha256 = "sha256-uAbVc1UDgSNJwk8R6zXXqZImo6J9TRs3zPNlWelXS/I=";
   } + "/v2";
 
-  vendorSha256 = "sha256-OaSPpCb2VxMGlkUIg3fyEJhjz256amEfXBX+5WMY3a0=";
+  vendorSha256 = "sha256-rrwlFZQT7sHhUqtU4UzwEqZbjWd/1fudfj/xdTGFUmQ=";
 
   proxyVendor = true;
 
diff --git a/pkgs/development/tools/winpdb/default.nix b/pkgs/development/tools/winpdb/default.nix
deleted file mode 100644
index 8f8d03db950..00000000000
--- a/pkgs/development/tools/winpdb/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ lib, fetchurl, python2Packages, makeDesktopItem }:
-
-python2Packages.buildPythonApplication rec {
-  pname = "winpdb";
-  version = "1.4.8";
-  namePrefix = "";
-
-  src = fetchurl {
-    url = "https://winpdb.googlecode.com/files/${pname}-${version}.tar.gz";
-    sha256 = "0vkpd24r40j928vc04c721innv0168sbllg97v4zw10adm24d8fs";
-  };
-
-  propagatedBuildInputs = [ python2Packages.wxPython ];
-
-  desktopItem = makeDesktopItem {
-    name = "winpdb";
-    exec = "winpdb";
-    icon = "winpdb";
-    comment = "Platform independend Python debugger";
-    desktopName = "Winpdb";
-    genericName = "Python Debugger";
-    categories = [ "Development" "Debugger" ];
-  };
-
-  # Don't call gnome-terminal with "--disable-factory" flag, which is
-  # unsupported since GNOME >= 3.10. Apparently, debian also does this fix:
-  # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757718
-  postPatch = ''
-    sed -i "s/--disable-factory//" rpdb2.py
-  '';
-
-  postInstall = ''
-    mkdir -p "$out"/share/applications
-    cp "$desktopItem"/share/applications/* "$out"/share/applications/
-
-    mkdir -p "$out"/share/icons
-    cp artwork/winpdb-icon.svg "$out"/share/icons/winpdb.svg
-  '';
-
-  # no tests
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Platform independent Python debugger";
-    longDescription = ''
-      Winpdb is a platform independent GPL Python debugger with support for
-      multiple threads, namespace modification, embedded debugging, encrypted
-      communication and is up to 20 times faster than pdb.
-    '';
-    homepage = "http://winpdb.org/";
-    license = licenses.gpl2Plus;
-    platforms = platforms.all;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/pkgs/development/tools/wp4nix/default.nix b/pkgs/development/tools/wp4nix/default.nix
new file mode 100644
index 00000000000..967459e91b7
--- /dev/null
+++ b/pkgs/development/tools/wp4nix/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildGoModule, fetchFromGitLab, nix, subversion }:
+
+buildGoModule rec {
+  pname = "wp4nix";
+  version = "1.0.0";
+
+  src = fetchFromGitLab {
+    domain = "git.helsinki.tools";
+    owner = "helsinki-systems";
+    repo = "wp4nix";
+    rev = "v${version}";
+    sha256 = "sha256-WJteeFUMr684yZEtUP13MqRjJ1UAeo48AzOPdLEE65w=";
+  };
+
+  vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+
+  postPatch = ''
+    substituteInPlace main.go --replace nix-hash ${nix}/bin/nix-hash
+    substituteInPlace svn.go --replace '"svn"' '"${subversion}/bin/svn"'
+  '';
+
+  meta = with lib; {
+    description = "Packaging helper for Wordpress themes and plugins";
+    homepage = "https://git.helsinki.tools/helsinki-systems/wp4nix";
+    license = licenses.mit;
+    maintainers = with maintainers; [ onny ];
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix
index 0e39a714ccd..d934eadcdf8 100644
--- a/pkgs/development/tools/yarn/default.nix
+++ b/pkgs/development/tools/yarn/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, nodejs, fetchzip, testVersion, yarn }:
+{ lib, stdenv, nodejs, fetchzip, testers, yarn }:
 
 stdenv.mkDerivation rec {
   pname = "yarn";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     ln -s $out/libexec/yarn/bin/yarn.js $out/bin/yarnpkg
   '';
 
-  passthru.tests = testVersion { package = yarn; };
+  passthru.tests = testers.testVersion { package = yarn; };
 
   meta = with lib; {
     homepage = "https://yarnpkg.com/";
diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js
index 5004e6f3903..e2bae7d3d6e 100644
--- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js
+++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/generateNix.js
@@ -49,7 +49,8 @@ function fetchgit(fileName, url, rev, branch, builtinFetchGit) {
           url = "${url}";
           ref = "${branch}";
           rev = "${rev}";
-        } // (if builtins.substring 0 3 builtins.nixVersion == "2.4" then {
+        } // (if builtins.compareVersions "2.4pre" builtins.nixVersion < 0 then {
+          # workaround for https://github.com/NixOS/nix/issues/5128
           allRefs = true;
         } else {}));
       ` : `
diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
index 9dd9f832ccd..f7780f2df15 100644
--- a/pkgs/development/tools/yq-go/default.nix
+++ b/pkgs/development/tools/yq-go/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "yq-go";
-  version = "4.24.5";
+  version = "4.25.1";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     repo = "yq";
     rev = "v${version}";
-    sha256 = "sha256-3rO0BFx/hduERTQ3j90EWUtYTROD63RHwW/U4U+oAfw=";
+    sha256 = "sha256-pop6FOOQoWGpFuvor2a1TP1tevw7+MIfm0PevGO9nUs=";
   };
 
   vendorSha256 = "sha256-R40zU0jOc/eIFVDsWG3+4o51iro7Sd7jwtyH/fpWVZs=";
diff --git a/pkgs/development/web/cypress/default.nix b/pkgs/development/web/cypress/default.nix
index 0a726d18b1b..b85a1f06b2b 100644
--- a/pkgs/development/web/cypress/default.nix
+++ b/pkgs/development/web/cypress/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cypress";
-  version = "9.5.4";
+  version = "9.6.0";
 
   src = fetchzip {
     url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
-    sha256 = "F4BSIA3ImXwmmki8/FK0t08Gf5S8KMpXNNBIPPJQNsM=";
+    sha256 = "Mac6lmwQqbj9EPfpG0iLI8Qx04q7E0swmTqXx0J+Sdc=";
   };
 
   # don't remove runtime deps
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 1bcb1f4fc60..4a2fc5aafc5 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -2,7 +2,6 @@
 , lib
 , callPackage
 , fetchFromGitHub
-, rust
 , rustPlatform
 , installShellFiles
 , libiconv
@@ -17,15 +16,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.20.5";
+  version = "1.21.1";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-j8aYps70yPH7excYdU99zWbtVsr/ok5cRX2Z6DAW0qU=";
+    sha256 = "sha256-97KWvaxjIxdWjpuJHYzKbYmQZvAcDW/rzj0VkvnQas4=";
   };
-  cargoSha256 = "sha256-NIUb9ifA06cPwMU3tY0lWJLcK8a8hjkdu/nlADPxWNg=";
+  cargoSha256 = "sha256-cqKxKHX/xQLvDN5FwyjB/2aHgm3KZsjxHVRiugYIvQE=";
+
+  postPatch = ''
+    # upstream uses lld on aarch64-darwin for faster builds
+    # within nix lld looks for CoreFoundation rather than CoreFoundation.tbd and fails
+    substituteInPlace .cargo/config --replace '"-C", "link-arg=-fuse-ld=lld"' ""
+  '';
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/development/web/deno/librusty_v8.nix b/pkgs/development/web/deno/librusty_v8.nix
index d60fdad1b08..e1a9b0de753 100644
--- a/pkgs/development/web/deno/librusty_v8.nix
+++ b/pkgs/development/web/deno/librusty_v8.nix
@@ -11,11 +11,11 @@ let
   };
 in
 fetch_librusty_v8 {
-  version = "0.41.0";
+  version = "0.42.0";
   shas = {
-    x86_64-linux = "sha256-f5HWLe1wF6nA+e5SwWd+DwXtYnOrcXI8kLIwdi8scmg=";
-    aarch64-linux = "sha256-tLCR1CBeM+1vRThsJNtEtKH6iJluxdCfnbCNkQQjNfM=";
-    x86_64-darwin = "sha256-KVBskUTr1SXL/hm9gnHvGGd3TO3QVESiZy0EYXDwPo0=";
-    aarch64-darwin = "sha256-KjBO6cgibo98P8n1kiMIT1cJ7Aa6BnQeMku71j4sgZY=";
+    x86_64-linux = "sha256-p8wC2r9+PKEabaHj0NF059TBSKOpE+rtZkqk1SXINzQ=";
+    aarch64-linux = "sha256-1mQQ5XmR+WcYW6BGfnUdsG4yzhwIal80Y5fWw4XAJ3g=";
+    x86_64-darwin = "sha256-a5Mu33gXn2X02WRdtO1hb9JRctmFTiCaLNhScz2D0J8=";
+    aarch64-darwin = "sha256-THEFn8nQDktXJlY1zpi2760KAS2eKEQ9O3Y+yqI2OYw=";
   };
 }
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 720467ac4cd..87b6ddfa923 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.0.320";
+  version = "0.0.323";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    sha256 = "sha256-hljQzMdA+dfZDQMqehkdZ1giv56IRygby4UF57Cogq8=";
+    sha256 = "sha256-7mPZ4p7fb49Lc+sx7/jEw+oFdFaYtEJcSzFS5haC6NM=";
   };
 
-  vendorSha256 = "sha256-8+EYVaWOppzv4bV/rBWyTTdAFSx7QI0a3+oplBglxyQ=";
+  vendorSha256 = "sha256-dTeFeDdT44k1HxIEuvTU/A8xAa1VhVv4ZFbvg1PagPw=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix
index 317de55ada5..ab9a8b95d1a 100644
--- a/pkgs/development/web/nodejs/nodejs.nix
+++ b/pkgs/development/web/nodejs/nodejs.nix
@@ -136,7 +136,7 @@ let
 
       ${optionalString (enableNpm && stdenv.hostPlatform == stdenv.buildPlatform) ''
         mkdir -p $out/share/bash-completion/completions/
-        $out/bin/npm completion > $out/share/bash-completion/completions/npm
+        HOME=$TMPDIR $out/bin/npm completion > $out/share/bash-completion/completions/npm
         for dir in "$out/lib/node_modules/npm/man/"*; do
           mkdir -p $out/share/man/$(basename "$dir")
           for page in "$dir"/*; do
@@ -194,7 +194,7 @@ let
       maintainers = with maintainers; [ goibhniu gilligan cko marsam ];
       platforms = platforms.linux ++ platforms.darwin;
       mainProgram = "node";
-      knownVulnerabilities = optional (versionOlder version "12") "This NodeJS release has reached its end of life. See https://nodejs.org/en/about/releases/.";
+      knownVulnerabilities = optional (versionOlder version "14") "This NodeJS release has reached its end of life. See https://nodejs.org/en/about/releases/.";
     };
 
     passthru.python = python; # to ensure nodeEnv uses the same version
diff --git a/pkgs/development/web/nodejs/v14.nix b/pkgs/development/web/nodejs/v14.nix
index e2a65ace381..d2f63498947 100644
--- a/pkgs/development/web/nodejs/v14.nix
+++ b/pkgs/development/web/nodejs/v14.nix
@@ -7,7 +7,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "14.19.1";
-    sha256 = "sha256-4a4J3YYas5rwRIO7XA+lTd2CtrFVQ76aJ+pnBKi6ndk=";
+    version = "14.19.2";
+    sha256 = "sha256-70N1qRUv9p8oI9eyCjtTdnoEYWS7rHgkQpyyFtFojPA=";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/pkgs/development/web/nodejs/v16.nix b/pkgs/development/web/nodejs/v16.nix
index 7f3dce2d70c..3c90b7f665a 100644
--- a/pkgs/development/web/nodejs/v16.nix
+++ b/pkgs/development/web/nodejs/v16.nix
@@ -1,4 +1,4 @@
-{ callPackage, fetchpatch, openssl, python3, enableNpm ? true }:
+{ callPackage, openssl, python3, enableNpm ? true }:
 
 let
   buildNodejs = callPackage ./nodejs.nix {
@@ -8,15 +8,9 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "16.14.2";
-    sha256 = "sha256-6SLiFcxo61+U0z6KC2HiyGO3cxzIYAq5VdOCLakP+NE=";
+    version = "16.15.0";
+    sha256 = "sha256-oPgS78Q/eDIeygiVeWCkj15r+XAE1QWMjdOwPGRupPc=";
     patches = [
       ./disable-darwin-v8-system-instrumentation.patch
-      # Fixes node incorrectly building vendored OpenSSL when we want system OpenSSL.
-      # https://github.com/nodejs/node/pull/40965
-      (fetchpatch {
-        url = "https://github.com/nodejs/node/commit/65119a89586b94b0dd46b45f6d315c9d9f4c9261.patch";
-        sha256 = "sha256-dihKYEdK68sQIsnfTRambJ2oZr0htROVbNZlFzSAL+I=";
-      })
     ];
   }
diff --git a/pkgs/development/web/nodejs/v18.nix b/pkgs/development/web/nodejs/v18.nix
new file mode 100644
index 00000000000..6a55c20b195
--- /dev/null
+++ b/pkgs/development/web/nodejs/v18.nix
@@ -0,0 +1,15 @@
+{ callPackage, python3, enableNpm ? true }:
+
+let
+  buildNodejs = callPackage ./nodejs.nix {
+    python = python3;
+  };
+in
+buildNodejs {
+  inherit enableNpm;
+  version = "18.1.0";
+  sha256 = "0zhb61ihzslmpl1g3dd6vcxjccc8gwj1v4hfphk7f3cy10hcrc78";
+  patches = [
+    ./disable-darwin-v8-system-instrumentation.patch
+  ];
+}
diff --git a/pkgs/games/7kaa/default.nix b/pkgs/games/7kaa/default.nix
index 2b74306cd25..ad128d4e127 100644
--- a/pkgs/games/7kaa/default.nix
+++ b/pkgs/games/7kaa/default.nix
@@ -15,17 +15,15 @@
 }:
 
 let
+  pname = "7kaa";
+  version = "2.15.4p1";
 
-  name = "7kaa";
-  versionMajor = "2.15";
-  versionMinor = "4p1";
-
-  music = stdenv.mkDerivation rec {
-    pname = "${name}-music";
-    version = "${versionMajor}";
+  music = stdenv.mkDerivation {
+    pname = "7kaa-music";
+    version = lib.versions.majorMinor version;
 
     src = fetchurl {
-      url = "https://www.7kfans.com/downloads/${name}-music-${versionMajor}.tar.bz2";
+      url = "https://www.7kfans.com/downloads/7kaa-music-${lib.versions.majorMinor version}.tar.bz2";
       sha256 = "sha256-sNdntuJXGaFPXzSpN0SoAi17wkr2YnW+5U38eIaVwcM=";
     };
 
@@ -41,8 +39,7 @@ let
 in
 
 gccStdenv.mkDerivation rec {
-  pname = "${name}";
-  version = "v${versionMajor}.${versionMinor}";
+  inherit pname version;
 
   src = fetchFromGitHub {
     owner = "the3dfxdude";
diff --git a/pkgs/games/assaultcube/default.nix b/pkgs/games/assaultcube/default.nix
index 4a0951d0964..7164e66feeb 100644
--- a/pkgs/games/assaultcube/default.nix
+++ b/pkgs/games/assaultcube/default.nix
@@ -1,42 +1,67 @@
-{ fetchFromGitHub, lib, stdenv, makeDesktopItem, openal, pkg-config, libogg,
-  libvorbis, SDL, SDL_image, makeWrapper, zlib, file,
-  client ? true, server ? true }:
-
-with lib;
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeDesktopItem
+, copyDesktopItems
+, openal
+, pkg-config
+, libogg
+, libvorbis
+, SDL2
+, SDL2_image
+, makeWrapper
+, zlib
+, file
+, client ? true, server ? true
+}:
 
 stdenv.mkDerivation rec {
-
-  # master branch has legacy (1.2.0.2) protocol 1201 and gcc 6 fix.
   pname = "assaultcube";
-  version = "unstable-2018-05-20";
+  version = "1.3.0.2";
 
   src = fetchFromGitHub {
     owner = "assaultcube";
     repo  = "AC";
-    rev = "f58ea22b46b5013a520520670434b3c235212371";
-    sha256 = "1vfn3d55vmmipdykrcfvgk6dddi9y95vlclsliirm7jdp20f15hd";
+    rev = "v${version}";
+    sha256 = "0qv339zw9q5q1y7bghca03gw7z4v89sl4lbr6h3b7siy08mcwiz9";
   };
 
-  nativeBuildInputs = [ makeWrapper pkg-config ];
-
-  buildInputs = [ file zlib ] ++ optionals client [ openal SDL SDL_image libogg libvorbis ];
-
-  targets = (optionalString server "server") + (optionalString client " client");
+  nativeBuildInputs = [
+    makeWrapper
+    pkg-config
+    copyDesktopItems
+  ];
+
+  buildInputs = [
+    file
+    zlib
+  ] ++ lib.optionals client [
+    openal
+    SDL2
+    SDL2_image
+    libogg
+    libvorbis
+  ];
+
+  targets = (lib.optionalString server "server") + (lib.optionalString client " client");
   makeFlags = [ "-C source/src" "CXX=${stdenv.cc.targetPrefix}c++" targets ];
 
-  desktop = makeDesktopItem {
-    name = "AssaultCube";
-    desktopName = "AssaultCube";
-    comment = "A multiplayer, first-person shooter game, based on the CUBE engine. Fast, arcade gameplay.";
-    genericName = "First-person shooter";
-    categories = [ "Game" "ActionGame" "Shooter" ];
-    icon = "assaultcube.png";
-    exec = pname;
-  };
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      desktopName = "AssaultCube";
+      comment = "A multiplayer, first-person shooter game, based on the CUBE engine. Fast, arcade gameplay.";
+      genericName = "First-person shooter";
+      categories = [ "Game" "ActionGame" "Shooter" ];
+      icon = "assaultcube";
+      exec = pname;
+    })
+  ];
 
   gamedatadir = "/share/games/${pname}";
 
   installPhase = ''
+    runHook preInstall
 
     bindir=$out/bin
 
@@ -47,7 +72,6 @@ stdenv.mkDerivation rec {
     if (test -e source/src/ac_client) then
       cp source/src/ac_client $bindir
       mkdir -p $out/share/applications
-      cp ${desktop}/share/applications/* $out/share/applications
       install -Dpm644 packages/misc/icon.png $out/share/icons/assaultcube.png
       install -Dpm644 packages/misc/icon.png $out/share/pixmaps/assaultcube.png
 
@@ -60,13 +84,15 @@ stdenv.mkDerivation rec {
       makeWrapper $out/bin/ac_server $out/bin/${pname}-server \
         --chdir "$out/$gamedatadir" --add-flags "-Cconfig/servercmdline.txt"
     fi
-    '';
 
-  meta = {
+    runHook postInstall
+  '';
+
+  meta = with lib; {
     description = "Fast and fun first-person-shooter based on the Cube fps";
     homepage = "https://assault.cubers.net";
-    maintainers = [ ];
     platforms = platforms.linux; # should work on darwin with a little effort.
-    license = lib.licenses.unfree;
+    license = licenses.unfree;
+    maintainers = with maintainers; [ darkonion0 ];
   };
 }
diff --git a/pkgs/games/ddnet/default.nix b/pkgs/games/ddnet/default.nix
index 1663e17b14d..54335279fed 100644
--- a/pkgs/games/ddnet/default.nix
+++ b/pkgs/games/ddnet/default.nix
@@ -16,17 +16,23 @@
 , SDL2
 , sqlite
 , wavpack
+, ffmpeg
+, x264
+, vulkan-headers
+, vulkan-loader
+, glslang
+, spirv-tools
 }:
 
 stdenv.mkDerivation rec {
   pname = "ddnet";
-  version = "15.9.1";
+  version = "16.0.3";
 
   src = fetchFromGitHub {
     owner = "ddnet";
     repo = pname;
     rev = version;
-    sha256 = "sha256-QGtXI4Dbua5LBXSvB17tnSTGEvCCoopvg1XKBuDIEoQ=";
+    sha256 = "sha256-9hjVAtnn+dTBNCu6E90CtjGTAStmVTsQFm2UYq68xcM=";
   };
 
   nativeBuildInputs = [ cmake ninja pkg-config ];
@@ -44,6 +50,12 @@ stdenv.mkDerivation rec {
     SDL2
     sqlite
     wavpack
+    ffmpeg
+    x264
+    vulkan-loader
+    vulkan-headers
+    glslang
+    spirv-tools
   ];
 
   cmakeFlags = [
diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix
index 80fa1de18e4..2064aa0199b 100644
--- a/pkgs/games/dwarf-fortress/dfhack/default.nix
+++ b/pkgs/games/dwarf-fortress/dfhack/default.nix
@@ -131,6 +131,9 @@ let
 
     patches = [ ./fix-stonesense.patch ];
 
+    # gcc 11 fix
+    NIX_CFLAGS_COMPILE = "-fpermissive";
+
     # As of
     # https://github.com/DFHack/dfhack/commit/56e43a0dde023c5a4595a22b29d800153b31e3c4,
     # dfhack gets its goodies from the directory above the Dwarf_Fortress
diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json
index 3c083c555d2..8dc902ea099 100644
--- a/pkgs/games/factorio/versions.json
+++ b/pkgs/games/factorio/versions.json
@@ -2,56 +2,56 @@
   "x86_64-linux": {
     "alpha": {
       "experimental": {
-        "name": "factorio_alpha_x64-1.1.56.tar.xz",
+        "name": "factorio_alpha_x64-1.1.57.tar.xz",
         "needsAuth": true,
-        "sha256": "1i9mcq8m48ar0b3x53zgi5x9rsaddmlm2wqaphyf81xampl7ivcx",
+        "sha256": "0sazpljdkknv74dqhrv5gxi7s50bfccynqk7xhsr4awl2gdkys0v",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.56/alpha/linux64",
-        "version": "1.1.56"
+        "url": "https://factorio.com/get-download/1.1.57/alpha/linux64",
+        "version": "1.1.57"
       },
       "stable": {
-        "name": "factorio_alpha_x64-1.1.53.tar.xz",
+        "name": "factorio_alpha_x64-1.1.57.tar.xz",
         "needsAuth": true,
-        "sha256": "1l5sk9rhf4pq9l87w5sv4a1ikqx8rpby5hf4xn7sdsm9mshd3wyw",
+        "sha256": "0sazpljdkknv74dqhrv5gxi7s50bfccynqk7xhsr4awl2gdkys0v",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.53/alpha/linux64",
-        "version": "1.1.53"
+        "url": "https://factorio.com/get-download/1.1.57/alpha/linux64",
+        "version": "1.1.57"
       }
     },
     "demo": {
       "experimental": {
-        "name": "factorio_demo_x64-1.1.56.tar.xz",
+        "name": "factorio_demo_x64-1.1.57.tar.xz",
         "needsAuth": false,
-        "sha256": "0g1gphysh79h1frcjpfd5i3fpi05y8mq9gwmgnmalmr56w5n4qlz",
+        "sha256": "1lwrz0ix7iycampjh87ki8vg3pkk753873vmrfiyrmh3hchvbj34",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.56/demo/linux64",
-        "version": "1.1.56"
+        "url": "https://factorio.com/get-download/1.1.57/demo/linux64",
+        "version": "1.1.57"
       },
       "stable": {
-        "name": "factorio_demo_x64-1.1.53.tar.xz",
+        "name": "factorio_demo_x64-1.1.57.tar.xz",
         "needsAuth": false,
-        "sha256": "0m3mk296w4azma2v5z6pay1caqql2jfnlcyyd120laxl4rdg2k76",
+        "sha256": "1lwrz0ix7iycampjh87ki8vg3pkk753873vmrfiyrmh3hchvbj34",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.53/demo/linux64",
-        "version": "1.1.53"
+        "url": "https://factorio.com/get-download/1.1.57/demo/linux64",
+        "version": "1.1.57"
       }
     },
     "headless": {
       "experimental": {
-        "name": "factorio_headless_x64-1.1.56.tar.xz",
+        "name": "factorio_headless_x64-1.1.57.tar.xz",
         "needsAuth": false,
-        "sha256": "174fvi9slpdp3y8j46w0w0ays7i7gy98il74xx5wxh7s94zb1b68",
+        "sha256": "1y65wppfzfpad6g6kvdd8srd9sq71dh1dpqia5b3x6pnwk5xsqdm",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.56/headless/linux64",
-        "version": "1.1.56"
+        "url": "https://factorio.com/get-download/1.1.57/headless/linux64",
+        "version": "1.1.57"
       },
       "stable": {
-        "name": "factorio_headless_x64-1.1.53.tar.xz",
+        "name": "factorio_headless_x64-1.1.57.tar.xz",
         "needsAuth": false,
-        "sha256": "18ra52h32nhdqxz6vagp9nw3an5pgamariy0ny050xr2xpidw3v1",
+        "sha256": "1y65wppfzfpad6g6kvdd8srd9sq71dh1dpqia5b3x6pnwk5xsqdm",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.53/headless/linux64",
-        "version": "1.1.53"
+        "url": "https://factorio.com/get-download/1.1.57/headless/linux64",
+        "version": "1.1.57"
       }
     }
   }
diff --git a/pkgs/games/hedgewars/default.nix b/pkgs/games/hedgewars/default.nix
index 9062af5be38..a45c4fee05e 100644
--- a/pkgs/games/hedgewars/default.nix
+++ b/pkgs/games/hedgewars/default.nix
@@ -103,5 +103,10 @@ mkDerivation rec {
        all movement on the battlefield has ceased).'';
     maintainers = with maintainers; [ kragniz fpletz ];
     inherit (fpc.meta) platforms;
+
+    # Appears to be some sort of C++ linking error.
+    # Example: https://hydra.nixos.org/build/174544990/nixlog/6
+    broken = true;
+    hydraPlatforms = platforms.none;
   };
 }
diff --git a/pkgs/games/kabeljau/default.nix b/pkgs/games/kabeljau/default.nix
new file mode 100644
index 00000000000..b277966f31d
--- /dev/null
+++ b/pkgs/games/kabeljau/default.nix
@@ -0,0 +1,40 @@
+{ stdenvNoCC, lib, fetchFromGitea, just, inkscape, makeWrapper, bash, dialog }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "kabeljau";
+  version = "1.2.0";
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "papojari";
+    repo = "kabeljau";
+    rev = "v${version}";
+    sha256 = "sha256-RedVItgfr6vgqXHA3bOiHXDpfGuHI+sX4jCHL9G5jYk=";
+  };
+
+  # Inkscape is needed in a just recipe where it is used to export the SVG icon to several different sized PNGs.
+  nativeBuildInputs = [ just inkscape makeWrapper ];
+  postPatch = ''
+    patchShebangs --host ${pname}
+    substituteInPlace ./justfile \
+      --replace " /bin" " $out/bin" \
+      --replace " /usr" " $out"
+  '';
+  installPhase = ''
+    runHook preInstall
+
+    just install
+    wrapProgram $out/bin/${pname} --suffix PATH : ${
+      lib.makeBinPath [ dialog ]
+    }
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Survive as a stray cat in an ncurses game";
+    homepage = "https://codeberg.org/papojari/kabeljau";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ papojari ];
+  };
+}
diff --git a/pkgs/games/lgames/barrage/default.nix b/pkgs/games/lgames/barrage/default.nix
new file mode 100644
index 00000000000..70f97b59100
--- /dev/null
+++ b/pkgs/games/lgames/barrage/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, stdenv
+, fetchurl
+, SDL
+, SDL_mixer
+}:
+
+stdenv.mkDerivation rec {
+  pname = "barrage";
+  version = "1.0.5";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz";
+    hash = "sha256-p4iXq2qM9tU9QJO7irriBN36OiLFyrnnYiDkmH3naQQ=";
+  };
+
+  buildInputs = [
+    SDL
+    SDL_mixer
+  ];
+
+  hardeningDisable = [ "format" ];
+
+  meta = with lib; {
+    homepage = "https://lgames.sourceforge.io/Barrage/";
+    description = "A destructive action game";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    inherit (SDL.meta) platforms;
+  };
+}
diff --git a/pkgs/games/lgames/lbreakout2/default.nix b/pkgs/games/lgames/lbreakout2/default.nix
index 818cd31fa59..4645baf0624 100644
--- a/pkgs/games/lgames/lbreakout2/default.nix
+++ b/pkgs/games/lgames/lbreakout2/default.nix
@@ -1,19 +1,34 @@
-{ lib, stdenv, fetchurl, SDL, SDL_mixer, zlib, libpng, libintl }:
+{ lib
+, stdenv
+, fetchurl
+, SDL
+, SDL_mixer
+, libintl
+, libpng
+, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "lbreakout2";
   version = "2.6.5";
-  buildInputs = [ SDL SDL_mixer zlib libpng libintl ];
 
   src = fetchurl {
     url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz";
     sha256 = "0vwdlyvh7c4y80q5vp7fyfpzbqk9lq3w8pvavi139njkalbxc14i";
   };
 
+  buildInputs = [
+    SDL
+    SDL_mixer
+    libintl
+    libpng
+    zlib
+  ];
+
   meta = with lib; {
-    description = "Breakout clone from the LGames series";
     homepage = "http://lgames.sourceforge.net/LBreakout2/";
-    license = licenses.gpl2;
+    description = "Breakout clone from the LGames series";
+    license = licenses.gpl2Plus;
     maintainers = [ maintainers.ciil ];
     platforms = platforms.unix;
     hydraPlatforms = lib.platforms.linux; # sdl-config times out on darwin
diff --git a/pkgs/games/lgames/lbreakouthd/default.nix b/pkgs/games/lgames/lbreakouthd/default.nix
new file mode 100644
index 00000000000..4a6e2c31bbf
--- /dev/null
+++ b/pkgs/games/lgames/lbreakouthd/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, stdenv
+, fetchurl
+, SDL2
+, SDL2_image
+, SDL2_mixer
+, SDL2_ttf
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lbreakouthd";
+  version = "1.0.9";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz";
+    hash = "sha256-MHwK4jeDfZSS4jh///jW0/q4ntM4IuB0fQ8Bsaq0d0s=";
+  };
+
+  buildInputs = [
+    SDL2
+    SDL2_image
+    SDL2_mixer
+    SDL2_ttf
+  ];
+
+  hardeningDisable = [ "format" ];
+
+  meta = with lib; {
+    homepage = "https://lgames.sourceforge.io/LBreakoutHD/";
+    description = "A widescreen Breakout clone";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    inherit (SDL2.meta) platforms;
+  };
+}
diff --git a/pkgs/games/lgames/lpairs2/default.nix b/pkgs/games/lgames/lpairs2/default.nix
new file mode 100644
index 00000000000..4011dd9a294
--- /dev/null
+++ b/pkgs/games/lgames/lpairs2/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, stdenv
+, fetchurl
+, SDL2
+, SDL2_image
+, SDL2_mixer
+, SDL2_ttf
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lpairs2";
+  version = "2.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz";
+    hash = "sha256-35KYDnPWOjNPu9wz9AWvSBAo1tdVDo7I2TNxtxE5RRg=";
+  };
+
+  buildInputs = [
+    SDL2
+    SDL2_image
+    SDL2_mixer
+    SDL2_ttf
+  ];
+
+  meta = with lib; {
+    homepage = "http://lgames.sourceforge.net/LPairs/";
+    description = "Matching the pairs - a typical Memory Game";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/games/lgogdownloader/default.nix b/pkgs/games/lgogdownloader/default.nix
index 0c40d537fce..ab029e055aa 100644
--- a/pkgs/games/lgogdownloader/default.nix
+++ b/pkgs/games/lgogdownloader/default.nix
@@ -11,7 +11,7 @@
 , rhash
 , tinyxml-2
 , help2man
-, testVersion
+, testers
 , lgogdownloader
 }:
 
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
   ];
 
   passthru.tests = {
-    version = testVersion { package = lgogdownloader; };
+    version = testers.testVersion { package = lgogdownloader; };
   };
 
   meta = with lib; {
diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix
index 2572cd60c4a..ff77f08651a 100644
--- a/pkgs/games/mindustry/default.nix
+++ b/pkgs/games/mindustry/default.nix
@@ -128,15 +128,6 @@ stdenv.mkDerivation rec {
     rm Arc/backends/backend-sdl/libs/linux64/libsdl-arc*.so
   '' + cleanupMindustrySrc;
 
-  # Propagate glew to prevent it from being cleaned up.
-  # Since a jar is a compressed archive, nix can't figure out that the dependency is actually in there,
-  # and will assume that it's not actually needed.
-  # This can cause issues.
-  # See https://github.com/NixOS/nixpkgs/issues/109798.
-  propagatedBuildInputs = lib.optionals enableClient [
-    glew.out
-  ];
-
   buildInputs = lib.optionals enableClient [
     SDL2
     glew
@@ -183,6 +174,17 @@ stdenv.mkDerivation rec {
     makeWrapper ${jdk}/bin/java $out/bin/mindustry \
       --add-flags "-jar $out/share/mindustry.jar" \
       --set ALSA_PLUGIN_DIR ${alsa-plugins}/lib/alsa-lib/
+
+    # Retain runtime depends to prevent them from being cleaned up.
+    # Since a jar is a compressed archive, nix can't figure out that the dependency is actually in there,
+    # and will assume that it's not actually needed.
+    # This can cause issues.
+    # See https://github.com/NixOS/nixpkgs/issues/109798.
+    echo "# Retained runtime dependencies: " >> $out/bin/mindustry
+    for dep in ${SDL2.out} ${alsa-lib.out} ${glew.out}; do
+      echo "# $dep" >> $out/bin/mindustry
+    done
+
     install -Dm644 core/assets/icons/icon_64.png $out/share/icons/hicolor/64x64/apps/mindustry.png
   '' + optionalString enableServer ''
     install -Dm644 server/build/libs/server-release.jar $out/share/mindustry-server.jar
diff --git a/pkgs/games/openrct2/default.nix b/pkgs/games/openrct2/default.nix
index 4e07148761b..41c3ccac1f9 100644
--- a/pkgs/games/openrct2/default.nix
+++ b/pkgs/games/openrct2/default.nix
@@ -5,32 +5,32 @@
 }:
 
 let
-  openrct2-version = "0.3.5.1";
+  openrct2-version = "0.4.0";
 
   # Those versions MUST match the pinned versions within the CMakeLists.txt
   # file. The REPLAYS repository from the CMakeLists.txt is not necessary.
-  objects-version = "1.0.21";
-  title-sequences-version = "0.1.2c";
+  objects-version = "1.2.7";
+  title-sequences-version = "0.4.0";
 
   openrct2-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "OpenRCT2";
     rev = "v${openrct2-version}";
-    sha256 = "01v9nsabqjq8hjmyshcp7f5liagfq8sxx9i3yqqab7zk4iixag1h";
+    sha256 = "sha256-4MDOLOPsKzk1vb1o/G90/NTyYJWBSrGRX6ZJETbBIaI=";
   };
 
   objects-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "objects";
     rev = "v${objects-version}";
-    sha256 = "0r2vp2y67jc1mpfl4j83sx5khvvaddx7xs26ppkigmr2d1xpxgr7";
+    sha256 = "sha256-R4+rEdGdvYwFrkm/S3+zXmU+UDam51dI/pWKmFXNrbE=";
   };
 
   title-sequences-src = fetchFromGitHub {
     owner = "OpenRCT2";
     repo = "title-sequences";
     rev = "v${title-sequences-version}";
-    sha256 = "1qdrm4q75bznmgdrpjdaiqvbf3q4vwbkkmls45izxvyg1djrpsdf";
+    sha256 = "sha256-anqCZkhYoaxPu3MYCYSsFFngOmPp2wnx2MGb0hj6W5U=";
   };
 in
 stdenv.mkDerivation {
diff --git a/pkgs/games/opensupaplex/default.nix b/pkgs/games/opensupaplex/default.nix
index d3f8155f546..dc5d9aae690 100644
--- a/pkgs/games/opensupaplex/default.nix
+++ b/pkgs/games/opensupaplex/default.nix
@@ -4,7 +4,7 @@
 , fetchurl
 , makeDesktopItem
 , copyDesktopItems
-, testVersion
+, testers
 , opensupaplex
 , SDL2
 , SDL2_mixer
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = opensupaplex;
     command = "opensupaplex --help";
     version = "v${version}";
diff --git a/pkgs/games/osu-lazer/deps.nix b/pkgs/games/osu-lazer/deps.nix
index 400467839fd..2ceafca07b0 100644
--- a/pkgs/games/osu-lazer/deps.nix
+++ b/pkgs/games/osu-lazer/deps.nix
@@ -66,7 +66,7 @@
   (fetchNuGet { pname = "Markdig"; version = "0.23.0"; sha256 = "1bwn885w7balwncmr764vidyyp9bixqlq6r3lhsapj8ykrpxxa70"; })
   (fetchNuGet { pname = "MessagePack"; version = "2.3.85"; sha256 = "0n7kv4i6knhv1dd35cv45sfpidsiy9albfdmbrdschykd1mzxmiy"; })
   (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.3.85"; sha256 = "0axjgy9r533bw00lflnc6acjyza76mf2x1nn6fw7qacvak9rqxm3"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.3"; sha256 = "0rrrfgkr7rzhlnsnajvzb1ijkybp99d992bqxy9pbawmq7d60bdk"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.4"; sha256 = "1fvv5ri32pbl43628zqnim6fbv6hjxf66p0v793xdh57dzkdyh0j"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.Connections.Abstractions"; version = "6.0.3"; sha256 = "0mc84qjsbsi7m1yx42w4zh8bdkqyqlvvx9iw80g4wsbrflkq5pwi"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Client"; version = "6.0.3"; sha256 = "1vadkmcxj2nv01mg8027z0ywxk2fddyj5aqflanslbfclsz4779i"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Common"; version = "6.0.3"; sha256 = "11a5w8p0nkfyp21aafpmrf0lvjpbg2p4yqay4dxbjg0w99w2kwq6"; })
@@ -115,7 +115,7 @@
   (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "6.0.0"; sha256 = "008pnk2p50i594ahz308v81a41mbjz9mwcarqhmrjpl2d20c868g"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "6.0.0"; sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.3"; sha256 = "0f04srx6q0jk81a60n956hz32fdngzp0xmdb2x7gyl77gsq8yijj"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.4"; sha256 = "1gibwhplbanv6bz3l71w8vhzlgqsh21bms30dbf1n60v7p02fl3h"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
diff --git a/pkgs/games/osu-lazer/update.sh b/pkgs/games/osu-lazer/update.sh
index 7aa3d678bd2..ae130e187cc 100755
--- a/pkgs/games/osu-lazer/update.sh
+++ b/pkgs/games/osu-lazer/update.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl jq common-updater-scripts nuget-to-nix dotnet-sdk
+#!nix-shell -I nixpkgs=../../../. -i bash -p curl jq common-updater-scripts nuget-to-nix dotnet-sdk
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
@@ -13,7 +13,11 @@ if [[ "$new_version" == "$old_version" ]]; then
 fi
 
 cd ../../..
-update-source-version osu-lazer "$new_version"
+
+if [[ "$1" != "--deps-only" ]]; then
+    update-source-version osu-lazer "$new_version"
+fi
+
 store_src="$(nix-build . -A osu-lazer.src --no-out-link)"
 src="$(mktemp -d /tmp/osu-src.XXX)"
 echo "Temp src dir: $src"
@@ -26,6 +30,7 @@ export DOTNET_NOLOGO=1
 export DOTNET_CLI_TELEMETRY_OPTOUT=1
 
 mkdir ./nuget_tmp.packages
+dotnet --info
 dotnet restore osu.Desktop --packages ./nuget_tmp.packages --runtime linux-x64
 
 nuget-to-nix ./nuget_tmp.packages > "$deps_file"
diff --git a/pkgs/games/polymc/default.nix b/pkgs/games/polymc/default.nix
index 57d6a0c9faa..4c5c8f6b780 100644
--- a/pkgs/games/polymc/default.nix
+++ b/pkgs/games/polymc/default.nix
@@ -18,18 +18,18 @@
 
 mkDerivation rec {
   pname = "polymc";
-  version = "1.1.1";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "PolyMC";
     repo = "PolyMC";
     rev = version;
-    sha256 = "sha256-virXfnjCzuR2cJoyzapIopT9B+Yi1neff2ZqfOvsmxY=";
+    sha256 = "sha256-pnMmmeIKAaX+z1YzzowotjaG/HKdiqcz2tJ5eGRR77I=";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [ cmake file makeWrapper ];
-  buildInputs = [ qtbase jdk8 zlib ];
+  buildInputs = [ qtbase jdk zlib ];
 
   postPatch = ''
     # hardcode jdk paths
diff --git a/pkgs/games/prboom-plus/default.nix b/pkgs/games/prboom-plus/default.nix
new file mode 100644
index 00000000000..a249a4585bd
--- /dev/null
+++ b/pkgs/games/prboom-plus/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, SDL2
+, SDL2_mixer
+, SDL2_image
+, SDL2_net
+, fluidsynth
+, soundfont-fluid
+, portmidi
+, dumb
+, libvorbis
+, libmad
+, pcre
+}:
+
+stdenv.mkDerivation rec {
+  pname = "prboom-plus";
+  version = "2.6.2";
+
+  src = fetchFromGitHub {
+    owner = "coelckers";
+    repo = "prboom-plus";
+    rev = "v${version}";
+    sha256 = "iK70PMRLJiZHcK1jCQ2s88LgEMbcfG2pXjwCDVG7zUM=";
+  };
+
+  sourceRoot = "source/prboom2";
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    SDL2
+    SDL2_mixer
+    SDL2_image
+    SDL2_net
+    fluidsynth
+    portmidi
+    dumb
+    libvorbis
+    libmad
+    pcre
+  ];
+
+  # Fixes impure path to soundfont
+  prePatch = ''
+    substituteInPlace src/m_misc.c --replace \
+      "/usr/share/sounds/sf3/default-GM.sf3" \
+      "${soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/coelckers/prboom-plus";
+    description = "An advanced, Vanilla-compatible Doom engine based on PrBoom";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.ashley ];
+  };
+}
diff --git a/pkgs/games/prboom/default.nix b/pkgs/games/prboom/default.nix
deleted file mode 100644
index 8adc9645b7a..00000000000
--- a/pkgs/games/prboom/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib, stdenv, fetchurl, SDL, SDL_mixer, SDL_net
-, libGLU ? null
-, libGL ? null
-, useOpenGL ? stdenv.hostPlatform == stdenv.buildPlatform
-}:
-
-assert useOpenGL -> libGL != null && libGLU != null;
-
-stdenv.mkDerivation rec {
-  pname = "prboom";
-  version = "2.5.0";
-  src = fetchurl {
-    url = "mirror://sourceforge/prboom/prboom-${version}.tar.gz";
-    sha256 = "1bjb04q8dk232956k30qlpq6q0hxb904yh1nflr87jcc1x3iqv12";
-  };
-
-  buildInputs = [ SDL SDL_mixer SDL_net ]
-    ++ lib.optionals useOpenGL [ libGL libGLU ];
-
-  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
-
-  configureFlags = [
-    (lib.enableFeature useOpenGL "gl")
-    (lib.enableFeature doCheck "sdltest")
-  ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
-    "--disable-cpu-opt"
-    "--without-x"
-    "ac_cv_type_uid_t=yes"
-    "ac_cv_type_gid_t=yes"
-  ];
-
-  postInstall = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
-    mv $out/games/ $out/bin
-  '';
-}
diff --git a/pkgs/games/quake2/yquake2/default.nix b/pkgs/games/quake2/yquake2/default.nix
index d251c48d382..7d75b4cc1d8 100644
--- a/pkgs/games/quake2/yquake2/default.nix
+++ b/pkgs/games/quake2/yquake2/default.nix
@@ -1,63 +1,55 @@
-{ stdenv, lib, fetchFromGitHub, buildEnv, cmake, makeWrapper
+{ stdenv, lib, fetchFromGitHub, buildEnv, makeWrapper
 , SDL2, libGL, curl
-, oggSupport ? true, libogg, libvorbis
 , openalSupport ? true, openal
-, zipSupport ? true, zlib
 , Cocoa, OpenAL
 }:
 
 let
-  mkFlag = b: if b then "ON" else "OFF";
+  mkFlag = b: if b then "yes" else "no";
 
-  games = import ./games.nix { inherit stdenv lib fetchFromGitHub cmake; };
+  games = import ./games.nix { inherit stdenv lib fetchFromGitHub; };
 
   wrapper = import ./wrapper.nix { inherit stdenv lib buildEnv makeWrapper yquake2; };
 
   yquake2 = stdenv.mkDerivation rec {
     pname = "yquake2";
-    version = "8.00";
+    version = "8.01";
 
     src = fetchFromGitHub {
       owner = "yquake2";
       repo = "yquake2";
       rev = "QUAKE2_${builtins.replaceStrings ["."] ["_"] version}";
-      sha256 = "0xnpmh0pl1095dykhc76rp242x587yh9zh6wayqzaam6cn3xlz3w";
+      sha256 = "1dll5lx4bnls5w5f2zwjhwpcpxa97rjn6ymb2v3vrjm19jbd16yd";
     };
 
     postPatch = ''
-      substituteInPlace src/common/filesystem.c \
-        --replace /usr/share/games/quake2 $out/share/games/quake2
+      substituteInPlace src/client/curl/qcurl.c \
+        --replace "\"libcurl.so.3\", \"libcurl.so.4\"" "\"${curl.out}/lib/libcurl.so\", \"libcurl.so.3\", \"libcurl.so.4\""
+    '' + lib.optionalString (openalSupport && !stdenv.isDarwin) ''
+      substituteInPlace Makefile \
+        --replace "\"libopenal.so.1\"" "\"${openal}/lib/libopenal.so.1\""
     '';
 
-    nativeBuildInputs = [ cmake ];
-
     buildInputs = [ SDL2 libGL curl ]
       ++ lib.optionals stdenv.isDarwin [ Cocoa OpenAL ]
-      ++ lib.optionals oggSupport [ libogg libvorbis ]
-      ++ lib.optional openalSupport openal
-      ++ lib.optional zipSupport zlib;
-
-    cmakeFlags = [
-      "-DCMAKE_BUILD_TYPE=Release"
-      "-DOGG_SUPPORT=${mkFlag oggSupport}"
-      "-DOPENAL_SUPPORT=${mkFlag openalSupport}"
-      "-DZIP_SUPPORT=${mkFlag zipSupport}"
-      "-DSYSTEMWIDE_SUPPORT=ON"
+      ++ lib.optional openalSupport openal;
+
+    makeFlags = [
+      "WITH_OPENAL=${mkFlag openalSupport}"
+      "WITH_SYSTEMWIDE=yes"
+      "WITH_SYSTEMDIR=$\{out}/share/games/quake2"
     ];
 
-    preConfigure = ''
-      # Since we can't expand $out in `cmakeFlags`
-      cmakeFlags="$cmakeFlags -DSYSTEMDIR=$out/share/games/quake2"
-    '';
+    enableParallelBuilding = true;
 
     installPhase = ''
       # Yamagi Quake II expects all binaries (executables and libs) to be in the
       # same directory.
-      mkdir -p $out/bin $out/lib/yquake2 $out/share/games/quake2
+      mkdir -p $out/bin $out/lib/yquake2 $out/share/games/quake2/baseq2
       cp -r release/* $out/lib/yquake2
       ln -s $out/lib/yquake2/quake2 $out/bin/yquake2
       ln -s $out/lib/yquake2/q2ded $out/bin/yq2ded
-      cp $src/stuff/yq2.cfg $out/share/games/quake2
+      cp $src/stuff/yq2.cfg $out/share/games/quake2/baseq2
     '';
 
     meta = with lib; {
diff --git a/pkgs/games/quake2/yquake2/games.nix b/pkgs/games/quake2/yquake2/games.nix
index 0c9b24963ba..c78689971a6 100644
--- a/pkgs/games/quake2/yquake2/games.nix
+++ b/pkgs/games/quake2/yquake2/games.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake }:
+{ stdenv, lib, fetchFromGitHub }:
 
 let
   games = {
@@ -37,11 +37,9 @@ let
       rev = "${lib.toUpper id}_${builtins.replaceStrings ["."] ["_"] version}";
     };
 
-    nativeBuildInputs = [ cmake ];
-
     installPhase = ''
       mkdir -p $out/lib/yquake2/${id}
-      cp Release/* $out/lib/yquake2/${id}
+      cp release/* $out/lib/yquake2/${id}
     '';
 
     meta = with lib; {
diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix
index f3a5c67ba13..a6aadef7a57 100644
--- a/pkgs/games/quakespasm/vulkan.nix
+++ b/pkgs/games/quakespasm/vulkan.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vkquake";
-  version = "1.12.2";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "Novum";
     repo = "vkQuake";
     rev = version;
-    sha256 = "sha256-+AUSsqarDW40JKgDUIF3G9RNOKqQLuQHOGF23L8anPQ=";
+    sha256 = "sha256-dRPeUsBLliBevjMOSMU+uPSAivrQ0tbuh4QeLmowrAI=";
   };
 
   sourceRoot = "source/Quake";
diff --git a/pkgs/games/rili/default.nix b/pkgs/games/rili/default.nix
index a0082d28d50..3a87fc0523c 100644
--- a/pkgs/games/rili/default.nix
+++ b/pkgs/games/rili/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, SDL_mixer, SDL, autoreconfHook }:
+{ lib, stdenv, fetchurl, fetchpatch, SDL_mixer, SDL, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "ri_li";
@@ -9,7 +9,17 @@ stdenv.mkDerivation rec {
     sha256 = "f71ccc20c37c601358d963e087ac0d524de8c68e96df09c3aac1ae65edd38dbd";
   };
 
-  patches = [ ./moderinze_cpp.patch ];
+  patches = [
+    ./moderinze_cpp.patch
+
+    # Build fix for gcc-11 pending upstream inclusion:
+    #  https://sourceforge.net/p/ri-li/bugs/2/
+    (fetchpatch {
+      name = "gcc-11.patch";
+      url = "https://sourceforge.net/p/ri-li/bugs/2/attachment/0001-Fix-build-on-gcc-11.patch";
+      sha256 = "01il9lm3amwp3b435ka9q63p0jwlzajwnbshyazx6n9vcnrr17yw";
+    })
+  ];
 
   CPPFLAGS = "-I${SDL.dev}/include -I${SDL.dev}/include/SDL -I${SDL_mixer}/include";
 
diff --git a/pkgs/games/runescape-launcher/default.nix b/pkgs/games/runescape-launcher/default.nix
index 8b678d792fc..3208aa3b461 100644
--- a/pkgs/games/runescape-launcher/default.nix
+++ b/pkgs/games/runescape-launcher/default.nix
@@ -10,9 +10,11 @@ let
     pname = "runescape-launcher";
     version = "2.2.9";
 
+    # Packages: https://content.runescape.com/downloads/ubuntu/dists/trusty/non-free/binary-amd64/Packages
+    # upstream is https://content.runescape.com/downloads/ubuntu/pool/non-free/r/${pname}/${pname}_${version}_amd64.deb
     src = fetchurl {
-      url = "https://content.runescape.com/downloads/ubuntu/pool/non-free/r/${pname}/${pname}_${version}_amd64.deb";
-      sha256 = "0r5v1pwh0aas31b1d3pkrc8lqmqz9b4fml2b4kxmg5xzp677h271";
+      url = "https://archive.org/download/${pname}_${version}_amd64/${pname}_${version}_amd64.deb";
+      sha256 = "1zilpxh8k8baylbl9nqq9kgjiv2xzw4lizbgcmzky5rhmych8n4g";
     };
 
     nativeBuildInputs = [
@@ -76,7 +78,7 @@ let
       description = "Launcher for RuneScape 3, the current main RuneScape";
       homepage = "https://www.runescape.com/";
       license = licenses.unfree;
-      maintainers = with lib.maintainers; [ grburst ];
+      maintainers = with maintainers; [ grburst ];
       platforms = [ "x86_64-linux" ];
     };
   };
@@ -89,15 +91,23 @@ in
   * FHS simulates a classic linux shell
   */
   buildFHSUserEnv {
-   name = "RuneScape";
-   targetPkgs = pkgs: [
-     runescape
-     dpkg glibc gcc-unwrapped
-     libSM libXxf86vm libX11 glib pango cairo gtk2-x11 zlib openssl
-     libpulseaudio
-     xorg.libX11
-     SDL2 xorg_sys_opengl libGL
-   ];
-   multiPkgs = pkgs: [ libGL ];
-   runScript = "runescape-launcher";
-}
+    name = "RuneScape";
+    targetPkgs = pkgs: [
+      runescape
+      dpkg glibc gcc-unwrapped
+      libSM libXxf86vm libX11 glib pango cairo gtk2-x11 zlib openssl
+      libpulseaudio
+      xorg.libX11
+      SDL2 xorg_sys_opengl libGL
+    ];
+    multiPkgs = pkgs: [ libGL ];
+    runScript = "runescape-launcher";
+
+    meta = with lib; {
+      description = "RuneScape Game Client (NXT) - Launcher for RuneScape 3";
+      homepage = "https://www.runescape.com/";
+      license = licenses.unfree;
+      maintainers = with maintainers; [ grburst ];
+      platforms = [ "x86_64-linux" ];
+    };
+  }
diff --git a/pkgs/games/tintin/default.nix b/pkgs/games/tintin/default.nix
deleted file mode 100644
index aac7cf8f6ab..00000000000
--- a/pkgs/games/tintin/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, fetchurl, lib, zlib, pcre
-, memorymappingHook, memstreamHook
-, tlsSupport ? true, gnutls ? null
-# ^ set { tlsSupport = false; } to reduce closure size by ~= 18.6 MB
-}:
-
-assert tlsSupport -> gnutls != null;
-
-stdenv.mkDerivation rec {
-  pname = "tintin";
-  version = "2.02.12";
-
-  src = fetchurl {
-    url    = "mirror://sourceforge/tintin/tintin-${version}.tar.gz";
-    sha256 = "sha256-tvn9TywefNyM/0Fy16gAFJYbA5Q4DO2RgiCdw014GgA=";
-  };
-
-  nativeBuildInputs = lib.optional tlsSupport gnutls.dev;
-  buildInputs = [ zlib pcre ]
-    ++ lib.optionals (stdenv.system == "x86_64-darwin") [ memorymappingHook memstreamHook ]
-    ++ lib.optional tlsSupport gnutls;
-
-  preConfigure = ''
-    cd src
-  '';
-
-  meta = with lib; {
-    description = "A free MUD client for macOS, Linux and Windows";
-    homepage    = "http://tintin.sourceforge.net";
-    license     = licenses.gpl2;
-    maintainers = with maintainers; [ lovek323 ];
-    mainProgram = "tt++";
-    platforms   = platforms.unix;
-  };
-}
diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix
index a44f965b0e5..2df306d686f 100644
--- a/pkgs/games/warzone2100/default.nix
+++ b/pkgs/games/warzone2100/default.nix
@@ -26,7 +26,7 @@
 , vulkan-loader
 , shaderc
 
-, testVersion
+, testers
 , warzone2100
 
 , withVideos ? false
@@ -104,7 +104,7 @@ stdenv.mkDerivation rec {
   '';
 
   passthru.tests = {
-    version = testVersion {
+    version = testers.testVersion {
       package = warzone2100;
       # The command always exits with code 1
       command = "(warzone2100 --version || [ $? -eq 1 ])";
diff --git a/pkgs/games/xconq/default.nix b/pkgs/games/xconq/default.nix
index 10a959a676b..2d28090c595 100644
--- a/pkgs/games/xconq/default.nix
+++ b/pkgs/games/xconq/default.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
     "--with-tkconfig=${tk}/lib"
   ];
 
+  CXXFLAGS = " --std=c++11 ";
+
   hardeningDisable = [ "format" ];
 
   patchPhase = ''
diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix
index 46b0b594d72..208608f0c15 100644
--- a/pkgs/games/xonotic/default.nix
+++ b/pkgs/games/xonotic/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchzip, makeWrapper, runCommand, makeDesktopItem
+{ lib, stdenv, fetchurl, fetchpatch, fetchzip, makeWrapper, runCommand, makeDesktopItem
 , xonotic-data, copyDesktopItems
 , # required for both
   unzip, libjpeg, zlib, libvorbis, curl
@@ -64,6 +64,15 @@ let
       sha256 = "0axxw04fyz6jlfqd0kp7hdrqa0li31sx1pbipf2j5qp9wvqicsay";
     };
 
+    patches = [
+      # Fix to make darkplaces compile under GCC 11
+      (fetchpatch {
+        name = "fix-darkplaces-gcc11";
+        url = "https://gitlab.com/xonotic/darkplaces/-/commit/5e9e998c1759bc0085c3273fc39f9ea6f72a7dc8.patch";
+        sha256 = "sha256-s0JettSg0AYr8V2mXKJ2QU125bBcX1BAu/yDciTWC5o=";
+      })
+    ];
+
     nativeBuildInputs = [ unzip ];
     buildInputs = [ libjpeg zlib libvorbis curl gmp ]
       ++ lib.optional withGLX [ libX11.dev libGLU.dev libGL.dev libXpm.dev libXext.dev libXxf86vm.dev alsa-lib.dev ]
diff --git a/pkgs/misc/cups/drivers/kyodialog3/default.nix b/pkgs/misc/cups/drivers/kyodialog3/default.nix
index 7e0a0dea67d..5a17f88a725 100644
--- a/pkgs/misc/cups/drivers/kyodialog3/default.nix
+++ b/pkgs/misc/cups/drivers/kyodialog3/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   dontStrip = true;
 
   src = fetchzip {
-    url = "https://la.kyoceradocumentsolutions.com/content/dam/kdc/kdag/downloads/technical/executables/drivers/kyoceradocumentsolutions/lad/en/Kyocera_Linux_PPD_Ver_${version}.tar.gz";
+    url = "https://www.kyoceradocumentsolutions.us/content/download-center-americas/us/drivers/drivers/Kyocera_Linux_PPD_Ver_${lib.replaceChars ["."] ["_"] version}_tar_gz.download.gz";
     sha256 = "11znnlkfssakml7w80gxlz1k59f3nvhph91fkzzadnm9i7a8yjal";
   };
 
diff --git a/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix b/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix
index 73d88ad19c2..7a467ac1ad3 100644
--- a/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix
+++ b/pkgs/misc/drivers/epson-workforce-635-nx625-series/default.nix
@@ -1,5 +1,5 @@
 {
-  autoreconfHook, cups, gzip, libjpeg, rpmextract,
+  autoreconfHook, cups, libjpeg, rpmextract,
   fetchurl, lib, stdenv
 }:
 
@@ -22,7 +22,7 @@ in stdenv.mkDerivation rec {
   };
   sourceRoot = srcdirs.filter;
 
-  nativeBuildInputs = [ autoreconfHook gzip rpmextract ];
+  nativeBuildInputs = [ autoreconfHook rpmextract ];
   buildInputs = [ cups libjpeg ];
 
   unpackPhase = ''
diff --git a/pkgs/misc/drivers/pantum-driver/default.nix b/pkgs/misc/drivers/pantum-driver/default.nix
new file mode 100644
index 00000000000..1677dbca6fa
--- /dev/null
+++ b/pkgs/misc/drivers/pantum-driver/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, fetchzip
+, libusb1
+, cups
+, dpkg
+, libjpeg8
+, makeWrapper
+, autoPatchelfHook
+, enablePtqpdf ? false # Pantum's version of qpdf
+}:
+
+let
+  architecture = {
+    i686-linux = "i386";
+    x86_64-linux = "amd64";
+  }.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
+in
+stdenv.mkDerivation rec {
+  pname = "pantum-driver";
+  version = "1.1.84";
+
+  src = fetchzip {
+    url = "https://drivers.pantum.com/Pantum_Ubuntu_Driver_V${version}_1.zip";
+    sha256 = "sha256-UJzYBsGj/TMhQoMourx7UPGBpN0MPi4pEN8m1sXLw/g=";
+  };
+
+  buildInputs = [ libusb1 libjpeg8 cups ];
+  nativeBuildInputs = [ dpkg autoPatchelfHook ];
+
+  installPhase = ''
+    dpkg-deb -x ./Resources/pantum_${version}-1_${architecture}.deb .
+
+    mkdir -p $out $out/lib
+    cp -r etc $out/
+    cp -r usr/lib/cups $out/lib/
+    cp -r usr/local/lib/* $out/lib/
+    cp -r usr/share $out/
+    cp Resources/locale/en_US.UTF-8/* $out/share/doc/pantum/
+  '' + lib.optionalString enablePtqpdf ''
+    cp -r opt/pantum/* $out/
+    ln -s $out/lib/libqpdf.so* $out/lib/libqpdf.so
+    ln -s $out/lib/libqpdf.so $out/lib/libqpdf.so.21
+  '';
+
+  meta = {
+    description = "Pantum universal driver";
+    homepage = "https://global.pantum.com/";
+    license = lib.licenses.unfree;
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/misc/openrussian-cli/default.nix b/pkgs/misc/openrussian-cli/default.nix
index 4f30fd91896..e7b3d1c496d 100644
--- a/pkgs/misc/openrussian-cli/default.nix
+++ b/pkgs/misc/openrussian-cli/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, gnumake, pkg-config, wget, unzip, gawk
+{ stdenv, lib, fetchFromGitHub, pkg-config, wget, unzip
 , sqlite, which, lua, installShellFiles, makeWrapper
 }:
 let
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    gnumake pkg-config wget unzip gawk sqlite which installShellFiles makeWrapper
+    pkg-config wget unzip sqlite which installShellFiles makeWrapper
   ];
 
   buildInputs = [ luaEnv ];
diff --git a/pkgs/misc/platformsh/default.nix b/pkgs/misc/platformsh/default.nix
new file mode 100644
index 00000000000..9c0410b4738
--- /dev/null
+++ b/pkgs/misc/platformsh/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, makeWrapper, writeShellScript, lib, php, curl, jq, common-updater-scripts }:
+
+let
+  pname = "platformsh";
+  version = "3.79.2";
+in
+stdenv.mkDerivation {
+  inherit pname version;
+
+  src = fetchurl {
+    url = "https://github.com/platformsh/platformsh-cli/releases/download/v${version}/platform.phar";
+    sha256 = "sha256-STGMKWgI4C6ccg8DGUhdnEENOB2//gtpU0ljM4cQCXI=";
+  };
+
+  dontUnpack = true;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    install -D $src $out/libexec/platformsh/platform.phar
+    makeWrapper ${php}/bin/php $out/bin/platform \
+      --add-flags "$out/libexec/platformsh/platform.phar"
+    runHook postInstall
+  '';
+
+  passthru = {
+      updateScript = writeShellScript "update-${pname}" ''
+        set -o errexit
+        export PATH="${lib.makeBinPath [ curl jq common-updater-scripts ]}"
+        NEW_VERSION=$(curl -s https://api.github.com/repos/platformsh/platformsh-cli/releases/latest | jq .tag_name --raw-output)
+
+        if [[ "v${version}" = "$NEW_VERSION" ]]; then
+            echo "The new version same as the old version."
+            exit 0
+        fi
+
+        update-source-version "platformsh" "$NEW_VERSION"
+      '';
+    };
+
+  meta = with lib; {
+    description = "The unified tool for managing your Platform.sh services from the command line.";
+    license = licenses.mit;
+    homepage = "https://github.com/platformsh/platformsh-cli";
+    maintainers = with maintainers; [ shyim ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/misc/rich-cli/default.nix b/pkgs/misc/rich-cli/default.nix
index e2970bd30ba..17ea9ffee6e 100644
--- a/pkgs/misc/rich-cli/default.nix
+++ b/pkgs/misc/rich-cli/default.nix
@@ -1,17 +1,20 @@
-{ lib, python3 }:
+{ lib
+, python3
+}:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "rich-cli";
-  version = "1.5.1";
+  version = "1.7.0";
+  format = "pyproject";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "18qpdaw4drkwq71xikngwaarkjxhfc0nrb1zm36rw31b8dz0ij2k";
+    sha256 = "sha256-fporylec9H+9G2v8D0O32ek7OQs3YRSma1xOpakClqk=";
   };
 
-  format = "pyproject";
-
-  nativeBuildInputs = [ python3.pkgs.poetry-core ];
+  nativeBuildInputs = with python3.pkgs; [
+    poetry-core
+  ];
 
   propagatedBuildInputs = with python3.pkgs; [
     rich
@@ -21,11 +24,18 @@ python3.pkgs.buildPythonApplication rec {
     rich-rst
   ];
 
-  buildInputs = [ python3 ];
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'rich = "^12.3.0"' 'rich = "*"'
+  '';
+
+  pythonImportsCheck = [
+    "rich_cli"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/Textualize/rich-cli";
     description = "Command Line Interface to Rich";
+    homepage = "https://github.com/Textualize/rich-cli";
     license = licenses.mit;
     maintainers = with maintainers; [ jyooru ];
   };
diff --git a/pkgs/misc/scrcpy/default.nix b/pkgs/misc/scrcpy/default.nix
index 75caa3fcfb3..bd3eedbe94f 100644
--- a/pkgs/misc/scrcpy/default.nix
+++ b/pkgs/misc/scrcpy/default.nix
@@ -11,10 +11,10 @@
 }:
 
 let
-  version = "1.23";
+  version = "1.24";
   prebuilt_server = fetchurl {
     url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}";
-    sha256 = "sha256-KpE/1HR4wLMG/KUHywvrYl5JoZ/5/Hq5BONu9bn+fmg=";
+    sha256 = "sha256-rnSoHqecDcclDlhmJ8J4wKmoxd5GyftcOMFn+xo28FY=";
   };
 in
 stdenv.mkDerivation rec {
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "Genymobile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WR70wV+EfNFFkMFkffnwaTridd33CpJ0zTAlXYyjZgM=";
+    sha256 = "sha256-mL0lSZUPMMcLGq4iPp/IgYZLaTeey9Nv9vVwY1gaIRk=";
   };
 
   # postPatch:
diff --git a/pkgs/misc/tpm2-pkcs11/default.nix b/pkgs/misc/tpm2-pkcs11/default.nix
index f332688de4b..87a9a0f979e 100644
--- a/pkgs/misc/tpm2-pkcs11/default.nix
+++ b/pkgs/misc/tpm2-pkcs11/default.nix
@@ -1,18 +1,18 @@
 { stdenv, lib, fetchFromGitHub, substituteAll
 , pkg-config, autoreconfHook, autoconf-archive, makeWrapper, patchelf
-, tpm2-tss, tpm2-tools, opensc, openssl, sqlite, python37, glibc, libyaml
+, tpm2-tss, tpm2-tools, opensc, openssl, sqlite, python3, glibc, libyaml
 , abrmdSupport ? true, tpm2-abrmd ? null
 }:
 
 stdenv.mkDerivation rec {
   pname = "tpm2-pkcs11";
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "tpm2-software";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Z9w6mIFen8Lf1l59XrMtR/Je2BZZycsOLxKS0VS4r4c=";
+    sha256 = "sha256-f5wi0nIM071yaQCwPkY1agKc7OEQa/IxHJc4V2i0Q9I=";
   };
 
   patches = lib.singleton (
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   ];
   buildInputs = [
     tpm2-tss tpm2-tools opensc openssl sqlite libyaml
-    (python37.withPackages (ps: [ ps.pyyaml ps.cryptography ps.pyasn1-modules ]))
+    (python3.withPackages (ps: [ ps.pyyaml ps.cryptography ps.pyasn1-modules ps.tpm2-pytss ]))
   ];
 
   outputs = [ "out" "bin" "dev" ];
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index 986494e599d..d6e5e8a7bcb 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -10,6 +10,7 @@
 , openssl
 , swig
 , meson-tools
+, which
 , armTrustedFirmwareAllwinner
 , armTrustedFirmwareAllwinnerH616
 , armTrustedFirmwareRK3328
@@ -19,10 +20,10 @@
 }:
 
 let
-  defaultVersion = "2021.10";
+  defaultVersion = "2022.01";
   defaultSrc = fetchurl {
     url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${defaultVersion}.tar.bz2";
-    sha256 = "1m0bvwv8r62s4wk4w3cmvs888dhv9gnfa98dczr4drk2jbhj7ryd";
+    hash = "sha256-gbRUMifbIowD+KG/XdvIE7C7j2VVzkYGTvchpvxoBBM=";
   };
   buildUBoot = {
     version ? null
@@ -66,11 +67,14 @@ let
         p.setuptools # for pkg_resources
       ]))
       swig
+      which # for scripts/dtc-version.sh
     ];
     depsBuildBuild = [ buildPackages.stdenv.cc ];
 
     hardeningDisable = [ "all" ];
 
+    enableParallelBuilding = true;
+
     makeFlags = [
       "DTC=dtc"
       "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
@@ -102,9 +106,6 @@ let
       runHook postInstall
     '';
 
-    # make[2]: *** No rule to make target 'lib/efi_loader/helloworld.efi', needed by '__build'.  Stop.
-    enableParallelBuilding = false;
-
     dontStrip = true;
 
     meta = with lib; {
@@ -373,14 +374,6 @@ in {
       CONFIG_USB_EHCI_GENERIC=y
       CONFIG_USB_XHCI_HCD=y
     '';
-    extraPatches = [
-      # https://patchwork.ozlabs.org/project/uboot/list/?series=268007&state=%2A&archive=both
-      # Remove when upgrading to 2022.01
-      (fetchpatch {
-        url = "https://patchwork.ozlabs.org/series/268007/mbox/";
-        sha256 = "sha256-xn4Q959dgoB63zlmJepI41AXAf1kCycIGcmu4IIVjmE=";
-      })
-    ];
     extraMeta.platforms = [ "i686-linux" "x86_64-linux" ];
     filesToInstall = [ "u-boot.rom" ];
   };
@@ -401,28 +394,12 @@ in {
     defconfig = "rpi_3_32b_defconfig";
     extraMeta.platforms = ["armv7l-linux"];
     filesToInstall = ["u-boot.bin"];
-    extraPatches = [
-      # Remove when updating to 2022.01
-      # https://patchwork.ozlabs.org/project/uboot/list/?series=273129&archive=both&state=*
-      (fetchpatch {
-        url = "https://patchwork.ozlabs.org/series/273129/mbox/";
-        sha256 = "sha256-/Gu7RNvBNYCGqdFRzQ11qPDDxgGVpwKYYw1CpumIGfU=";
-      })
-    ];
   };
 
   ubootRaspberryPi3_64bit = buildUBoot {
     defconfig = "rpi_3_defconfig";
     extraMeta.platforms = ["aarch64-linux"];
     filesToInstall = ["u-boot.bin"];
-    extraPatches = [
-      # Remove when updating to 2022.01
-      # https://patchwork.ozlabs.org/project/uboot/list/?series=273129&archive=both&state=*
-      (fetchpatch {
-        url = "https://patchwork.ozlabs.org/series/273129/mbox/";
-        sha256 = "sha256-/Gu7RNvBNYCGqdFRzQ11qPDDxgGVpwKYYw1CpumIGfU=";
-      })
-    ];
   };
 
   ubootRaspberryPi4_32bit = buildUBoot {
diff --git a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
index d3b00e6a6a6..0c70d9bc258 100644
--- a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
@@ -1,4 +1,4 @@
-# Current as of 10.9
+# Current as of 10.12
 # Epic weird knot-tying happening here.
 # TODO: clean up the process for generating this and include it
 
diff --git a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
index 2772ca0460d..3ffe77b73b3 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
@@ -1,9 +1,9 @@
 { lib, appleDerivation, xcbuildHook
-, openssl, Librpcsvc, xnu, libpcap, developer_cmds }:
+, libressl, Librpcsvc, xnu, libpcap, developer_cmds }:
 
 appleDerivation {
   nativeBuildInputs = [ xcbuildHook ];
-  buildInputs = [ openssl xnu Librpcsvc libpcap developer_cmds ];
+  buildInputs = [ libressl xnu Librpcsvc libpcap developer_cmds ];
 
   NIX_CFLAGS_COMPILE = " -I./unbound -I${xnu}/Library/Frameworks/System.framework/Headers/";
 
diff --git a/pkgs/os-specific/darwin/mas/default.nix b/pkgs/os-specific/darwin/mas/default.nix
index 33a3114c3d6..968cb10cd5a 100644
--- a/pkgs/os-specific/darwin/mas/default.nix
+++ b/pkgs/os-specific/darwin/mas/default.nix
@@ -2,7 +2,7 @@
 , stdenvNoCC
 , fetchurl
 , installShellFiles
-, testVersion
+, testers
 , mas
 }:
 
@@ -25,7 +25,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   passthru.tests = {
-    version = testVersion {
+    version = testers.testVersion {
       package = mas;
       command = "mas version";
     };
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index a7afd838624..f7a2c0c52a9 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -192,7 +192,6 @@ let
     nativeBuildInputs = [
       pkg-config
       libapparmor
-      gawk
       which
     ];
 
diff --git a/pkgs/os-specific/linux/bionic-prebuilt/default.nix b/pkgs/os-specific/linux/bionic-prebuilt/default.nix
index 8fa17036c4a..da5011e6737 100644
--- a/pkgs/os-specific/linux/bionic-prebuilt/default.nix
+++ b/pkgs/os-specific/linux/bionic-prebuilt/default.nix
@@ -4,22 +4,47 @@
 }:
 let
 
-  prebuilt_crt = fetchzip {
-    url =  "https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/+archive/98dce673ad97a9640c5d90bbb1c718e75c21e071/lib/gcc/aarch64-linux-android/4.9.x.tar.gz";
-    sha256 = "sha256-LLD2OJi78sNN5NulOsJZl7Ei4F1EUYItGG6eUsKWULc=";
-    stripRoot = false;
+  choosePlatform =
+    let pname = stdenv.targetPlatform.parsed.cpu.name; in
+    pset: pset.${pname} or (throw "bionic-prebuilt: unsupported platform ${pname}");
+
+  prebuilt_crt = choosePlatform {
+    aarch64 = fetchzip {
+      url =  "https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/+archive/98dce673ad97a9640c5d90bbb1c718e75c21e071/lib/gcc/aarch64-linux-android/4.9.x.tar.gz";
+      sha256 = "sha256-LLD2OJi78sNN5NulOsJZl7Ei4F1EUYItGG6eUsKWULc=";
+      stripRoot = false;
+    };
+    x86_64 = fetchzip {
+      url = "https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/+archive/7e8507d2a2d4df3bced561b894576de70f065be4/lib/gcc/x86_64-linux-android/4.9.x.tar.gz";
+      sha256 = "sha256-y7CFLF76pTlj+oYev9taBnL2nlT3+Tx8c6wmicWmKEw=";
+      stripRoot = false;
+    };
   };
 
-  prebuilt_libs = fetchzip {
-    url = "https://android.googlesource.com/platform/prebuilts/ndk/+archive/f2c77d8ba8a7f5c2d91771e31164f29be0b8ff98/platform/platforms/android-30/arch-arm64/usr/lib.tar.gz";
-    sha256 = "sha256-TZBV7+D1QvKOCEi+VNGT5SStkgj0xRbyWoLH65zSrjw=";
-    stripRoot = false;
+  prebuilt_libs = choosePlatform {
+    aarch64 = fetchzip {
+      url = "https://android.googlesource.com/platform/prebuilts/ndk/+archive/f2c77d8ba8a7f5c2d91771e31164f29be0b8ff98/platform/platforms/android-30/arch-arm64/usr/lib.tar.gz";
+      sha256 = "sha256-TZBV7+D1QvKOCEi+VNGT5SStkgj0xRbyWoLH65zSrjw=";
+      stripRoot = false;
+    };
+    x86_64 = fetchzip {
+      url = "https://android.googlesource.com/platform/prebuilts/ndk/+archive/f2c77d8ba8a7f5c2d91771e31164f29be0b8ff98/platform/platforms/android-30/arch-x86_64/usr/lib64.tar.gz";
+      sha256 = "sha256-n2EuOKy3RGKmEYofNlm+vDDBuiQRuAJEJT6wq6NEJQs=";
+      stripRoot = false;
+    };
   };
 
-  prebuilt_ndk_crt = fetchzip {
-    url = "https://android.googlesource.com/toolchain/prebuilts/ndk/r23/+archive/6c5fa4c0d3999b9ee932f6acbd430eb2f31f3151/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/30.tar.gz";
-    sha256 = "sha256-KHw+cCwAwlm+5Nwp1o8WONqdi4BBDhFaVVr+7GxQ5uE=";
-    stripRoot = false;
+  prebuilt_ndk_crt = choosePlatform {
+    aarch64 = fetchzip {
+      url = "https://android.googlesource.com/toolchain/prebuilts/ndk/r23/+archive/6c5fa4c0d3999b9ee932f6acbd430eb2f31f3151/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/30.tar.gz";
+      sha256 = "sha256-KHw+cCwAwlm+5Nwp1o8WONqdi4BBDhFaVVr+7GxQ5uE=";
+      stripRoot = false;
+    };
+    x86_64 = fetchzip {
+      url = "https://android.googlesource.com/toolchain/prebuilts/ndk/r23/+archive/6c5fa4c0d3999b9ee932f6acbd430eb2f31f3151/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/x86_64-linux-android/30.tar.gz";
+      sha256 = "sha256-XEd7L3cBzn+1pKfji40V92G/uZhHSMMuZcRZaiKkLnk=";
+      stripRoot = false;
+    };
   };
 
   ndk_support_headers = fetchzip {
@@ -41,6 +66,7 @@ in
 stdenvNoCC.mkDerivation rec {
   pname = "bionic-prebuilt";
   version = "ndk-release-r23";
+  name = "${stdenv.targetPlatform.parsed.cpu.name}-${pname}-${version}";
 
   src = fetchzip {
     url = "https://android.googlesource.com/platform/bionic/+archive/00e8ce1142d8823b0d2fc8a98b40119b0f1f02cd.tar.gz";
diff --git a/pkgs/os-specific/linux/bolt/default.nix b/pkgs/os-specific/linux/bolt/default.nix
index dd9436d9b0e..d424f89fdfb 100644
--- a/pkgs/os-specific/linux/bolt/default.nix
+++ b/pkgs/os-specific/linux/bolt/default.nix
@@ -13,7 +13,7 @@
 , libxml2
 , libxslt
 , docbook_xml_dtd_45
-, docbook_xsl
+, docbook-xsl-nons
 , glib
 , systemd
 , polkit
@@ -21,39 +21,33 @@
 
 stdenv.mkDerivation rec {
   pname = "bolt";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "bolt";
     repo = "bolt";
     rev = version;
-    sha256 = "1phgp8fs0dlj74kbkqlvfniwc32daz47b3pvsxlfxqzyrp77xrfm";
+    sha256 = "eXjj7oD5HOW/AG2uxDa0tSleKmbouFd2fwlL2HHFiMA=";
   };
 
   patches = [
     # meson install tries to create /var/lib/boltd
     ./0001-skip-mkdir.patch
 
-    # https://github.com/NixOS/nixpkgs/issues/104429
+    # Test does not work on ZFS with atime disabled.
     # Upstream issue: https://gitlab.freedesktop.org/bolt/bolt/-/issues/167
     (fetchpatch {
-      name = "disable-atime-tests.diff";
-      url = "https://gitlab.freedesktop.org/roberth/bolt/-/commit/1f672a7de2ebc4dd51590bb90f3b873a8ac0f4e6.diff";
-      sha256 = "134f5s6kjqs6612pwq5pm1miy58crn1kxbyyqhzjnzmf9m57fnc8";
-    })
-
-    # Fix tests with newer umockdev
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/bolt/bolt/-/commit/130e09d1c7ff02c09e4ad1c9c36e9940b68e58d8.patch";
-      sha256 = "HycuM7z4VvtBuZZLU68tBxGT1YjaqJRS4sKyoTGHZEk=";
+      url = "https://gitlab.freedesktop.org/bolt/bolt/-/commit/c2f1d5c40ad71b20507e02faa11037b395fac2f8.diff";
+      revert = true;
+      sha256 = "6w7ll65W/CydrWAVi/qgzhrQeDv1PWWShulLxoglF+I=";
     })
   ];
 
   nativeBuildInputs = [
     asciidoc
     docbook_xml_dtd_45
-    docbook_xsl
+    docbook-xsl-nons
     libxml2
     libxslt
     meson
diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix
index d6dcf702110..e4635a915ef 100644
--- a/pkgs/os-specific/linux/cifs-utils/default.nix
+++ b/pkgs/os-specific/linux/cifs-utils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, autoreconfHook, docutils, pkg-config
+{ stdenv, lib, fetchurl, fetchpatch, autoreconfHook, docutils, pkg-config
 , libkrb5, keyutils, pam, talloc, python3 }:
 
 stdenv.mkDerivation rec {
@@ -10,6 +10,22 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-ZgnoB0tUISlf8BKjHwLM2aBYQVxhnIE2Lrt4jb8HVrg=";
   };
 
+  patches = [
+    (fetchpatch {
+      # Fix buffer-overflow in handling of ip= parameter in mount.cifs
+      # https://www.openwall.com/lists/oss-security/2022/04/27/5
+      name = "CVE-2022-27239.patch";
+      url = "https://github.com/piastry/cifs-utils/commit/007c07fd91b6d42f8bd45187cf78ebb06801139d.patch";
+      sha256 = "sha256-3uoHso2q17r2bcEW+ZjYUWsW4OIGYA7kxYZxQQy0JOg=";
+    })
+    (fetchpatch {
+      # Fix disclosure of invalid credential configuration in verbose mode
+      name = "CVE-2022-29869.patch";
+      url = "https://github.com/piastry/cifs-utils/commit/8acc963a2e7e9d63fe1f2e7f73f5a03f83d9c379.patch";
+      sha256 = "sha256-MjfreeL1ME550EYK9LPOUAAjIk1BoMGfb+pQe3A1bz8=";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook docutils pkg-config ];
 
   buildInputs = [ libkrb5 keyutils pam talloc python3 ];
diff --git a/pkgs/os-specific/linux/device-tree/default.nix b/pkgs/os-specific/linux/device-tree/default.nix
index 13c609cdf7d..88791a1fb1d 100644
--- a/pkgs/os-specific/linux/device-tree/default.nix
+++ b/pkgs/os-specific/linux/device-tree/default.nix
@@ -1,9 +1,9 @@
-{ lib, stdenvNoCC, dtc, findutils }:
+{ lib, stdenvNoCC, dtc }:
 
 with lib; {
   applyOverlays = (base: overlays': stdenvNoCC.mkDerivation {
     name = "device-tree-overlays";
-    nativeBuildInputs = [ dtc findutils ];
+    nativeBuildInputs = [ dtc ];
     buildCommand = let
       overlays = toList overlays';
     in ''
diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix
index d79201cc4cd..43b65f5ae7b 100644
--- a/pkgs/os-specific/linux/ell/default.nix
+++ b/pkgs/os-specific/linux/ell/default.nix
@@ -7,14 +7,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ell";
-  version = "0.49";
+  version = "0.50";
 
   outputs = [ "out" "dev" ];
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/libs/ell/ell.git";
     rev = version;
-    sha256 = "sha256-/5ivelqRDvJuPVJqMs27VJUIq7/Dw6ROt/cmjSo309s=";
+    sha256 = "sha256-LQAbE/pAKjVFsn9FjIbvY6sTBcVBdi4LCOnDVZ/WGV0=";
   };
 
   nativeBuildInputs = [
@@ -31,11 +31,12 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    homepage = "https://01.org/ell";
+    homepage = "https://git.kernel.org/pub/scm/libs/ell/ell.git";
     description = "Embedded Linux Library";
     longDescription = ''
       The Embedded Linux* Library (ELL) provides core, low-level functionality for system daemons. It typically has no dependencies other than the Linux kernel, C standard library, and libdl (for dynamic linking). While ELL is designed to be efficient and compact enough for use on embedded Linux platforms, it is not limited to resource-constrained systems.
     '';
+    changelog = "https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ChangeLog?h=${version}";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mic92 dtzWill maxeaubrey ];
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
index 721a49ed4a5..3c6207890e2 100644
--- a/pkgs/os-specific/linux/evdi/default.nix
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evdi";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "DisplayLink";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vMcmUWdnO9JmImxz4vO3/UONlsrCGc8VH/o38YwCIzg=";
+    sha256 = "sha256-XABpC2g4/e6/2HsHzrBUs6OW1lzgGBYlFAatVcA/vD8=";
   };
 
   NIX_CFLAGS_COMPILE = "-Wno-error -Wno-error=sign-compare";
diff --git a/pkgs/os-specific/linux/firmware/facetimehd-calibration/default.nix b/pkgs/os-specific/linux/firmware/facetimehd-calibration/default.nix
new file mode 100644
index 00000000000..5152b3dfe71
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/facetimehd-calibration/default.nix
@@ -0,0 +1,62 @@
+{ lib, stdenv, fetchurl, unrar-wrapper, pkgs }:
+
+let
+
+  version = "5.1.5769";
+
+
+  # Described on https://github.com/patjak/facetimehd/wiki/Extracting-the-sensor-calibration-files
+
+  # From the wiki page, range extracted with binwalk:
+  zipUrl = "https://download.info.apple.com/Mac_OS_X/031-30890-20150812-ea191174-4130-11e5-a125-930911ba098f/bootcamp${version}.zip";
+  zipRange = "2338085-3492508"; # the whole download is 518MB, this deflate stream is 1.2MB
+
+  # CRC and length from the ZIP entry header (not strictly necessary, but makes it extract cleanly):
+  gzFooter = ''\x51\x1f\x86\x78\xcf\x5b\x12\x00'';
+
+  # Also from the wiki page:
+  calibrationFiles = [
+    { file = "1771_01XX.dat"; offset = "1644880"; size = "19040"; }
+    { file = "1871_01XX.dat"; offset = "1606800"; size = "19040"; }
+    { file = "1874_01XX.dat"; offset = "1625840"; size = "19040"; }
+    { file = "9112_01XX.dat"; offset = "1663920"; size = "33060"; }
+  ];
+
+in
+
+stdenv.mkDerivation {
+
+  pname = "facetimehd-calibration";
+  inherit version;
+  src = fetchurl {
+    url = zipUrl;
+    sha256 = "1dzyv457fp6d8ly29sivqn6llwj5ydygx7p8kzvdnsp11zvid2xi";
+    curlOpts = "-r ${zipRange}";
+  };
+
+  dontUnpack = true;
+  dontInstall = true;
+
+  buildInputs = [ unrar-wrapper ];
+
+  buildPhase = ''
+    { printf '\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x00'
+      cat $src
+      printf '${gzFooter}'
+    } | zcat > AppleCamera64.exe
+    unrar x AppleCamera64.exe AppleCamera.sys
+
+    mkdir -p $out/lib/firmware/facetimehd
+  '' + lib.concatMapStrings ({file, offset, size}: ''
+    dd bs=1 skip=${offset} count=${size} if=AppleCamera.sys of=$out/lib/firmware/facetimehd/${file}
+  '') calibrationFiles;
+
+  meta = with lib; {
+    description = "facetimehd calibration";
+    homepage = "https://support.apple.com/kb/DL1837";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ womfoo grahamc ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+
+}
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 272bd6dbe8f..596db7511b0 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -3,7 +3,6 @@
 { stdenv
 , lib
 , fetchurl
-, fetchpatch
 , fetchFromGitHub
 , gtk-doc
 , pkg-config
@@ -54,6 +53,8 @@
 , modemmanager
 , libqmi
 , libmbim
+, libcbor
+, xz
 }:
 
 let
@@ -116,7 +117,7 @@ let
 
   self = stdenv.mkDerivation rec {
     pname = "fwupd";
-    version = "1.7.6";
+    version = "1.8.0";
 
     # libfwupd goes to lib
     # daemon, plug-ins and libfwupdplugin go to out
@@ -125,7 +126,7 @@ let
 
     src = fetchurl {
       url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
-      sha256 = "sha256-fr4VFKy2iNJknOzDktuSkJTaPwPPyYqcD6zKuwhJEvo=";
+      sha256 = "LAliLnOSowtORQQ0M4z2cNQzKMLyE/RsX//xAWifrps=";
     };
 
     patches = [
@@ -140,26 +141,12 @@ let
       # they are not really part of the library.
       ./install-fwupdplugin-to-out.patch
 
-      # Fix detection of installed tests
-      # https://github.com/fwupd/fwupd/issues/3880
-      (fetchpatch {
-        url = "https://github.com/fwupd/fwupd/commit/5bc546221331feae9cedc1892219a25d8837955f.patch";
-        sha256 = "XcLhcDrB2/MFCXjKAyhftQgvJG4BBkp07geM9eK3q1g=";
-      })
-
       # Installed tests are installed to different output
       # we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle.
       ./installed-tests-path.patch
 
       # EFI capsule is located in fwupd-efi now.
       ./efi-app-path.patch
-
-      # Drop hard-coded FHS path
-      # https://github.com/fwupd/fwupd/issues/4360
-      (fetchpatch {
-        url = "https://github.com/fwupd/fwupd/commit/14cc2e7ee471b66ee2ef54741f4bec1f92204620.patch";
-        sha256 = "47682oqE66Y6QKPtN2mYpnb2+TIJFqBgsgx60LmC3FM=";
-      })
     ];
 
     nativeBuildInputs = [
@@ -204,16 +191,20 @@ let
       protobufc
       modemmanager
       libmbim
+      libcbor
       libqmi
+      xz # for liblzma.
     ] ++ lib.optionals haveDell [
       libsmbios
+    ] ++ lib.optionals haveFlashrom [
+      flashrom
     ];
 
     mesonFlags = [
       "-Ddocs=gtkdoc"
       "-Dplugin_dummy=true"
       # We are building the official releases.
-      "-Dsupported_build=true"
+      "-Dsupported_build=enabled"
       # Would dlopen libsoup to preserve compatibility with clients linking against older fwupd.
       # https://github.com/fwupd/fwupd/commit/173d389fa59d8db152a5b9da7cc1171586639c97
       "-Dsoup_session_compat=false"
@@ -224,7 +215,7 @@ let
       "--sysconfdir=/etc"
       "-Dsysconfdir_install=${placeholder "out"}/etc"
       "-Defi_os_dir=nixos"
-      "-Dplugin_modem_manager=true"
+      "-Dplugin_modem_manager=enabled"
 
       # We do not want to place the daemon into lib (cyclic reference)
       "--libexecdir=${placeholder "out"}/libexec"
@@ -232,14 +223,14 @@ let
       # against libfwupdplugin which is in $out/lib.
       "-Dc_link_args=-Wl,-rpath,${placeholder "out"}/lib"
     ] ++ lib.optionals (!haveDell) [
-      "-Dplugin_dell=false"
-      "-Dplugin_synaptics_mst=false"
+      "-Dplugin_dell=disabled"
+      "-Dplugin_synaptics_mst=disabled"
     ] ++ lib.optionals (!haveRedfish) [
-      "-Dplugin_redfish=false"
-    ] ++ lib.optionals haveFlashrom [
-      "-Dplugin_flashrom=true"
+      "-Dplugin_redfish=disabled"
+    ] ++ lib.optionals (!haveFlashrom) [
+      "-Dplugin_flashrom=disabled"
     ] ++ lib.optionals (!haveMSR) [
-      "-Dplugin_msr=false"
+      "-Dplugin_msr=disabled"
     ];
 
     # TODO: wrapGAppsHook wraps efi capsule even though it is not ELF
@@ -298,7 +289,7 @@ let
         efibootmgr
         bubblewrap
         tpm2-tools
-      ] ++ lib.optional haveFlashrom flashrom;
+      ];
     in ''
       gappsWrapperArgs+=(
         --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
@@ -323,7 +314,6 @@ let
     passthru = {
       filesInstalledToEtc = [
         "fwupd/daemon.conf"
-        "fwupd/msr.conf"
         "fwupd/remotes.d/lvfs-testing.conf"
         "fwupd/remotes.d/lvfs.conf"
         "fwupd/remotes.d/vendor.conf"
@@ -341,6 +331,8 @@ let
         "fwupd/remotes.d/dell-esrt.conf"
       ] ++ lib.optionals haveRedfish [
         "fwupd/redfish.conf"
+      ] ++ lib.optionals haveMSR [
+        "fwupd/msr.conf"
       ];
 
       # DisabledPlugins key in fwupd/daemon.conf
diff --git a/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch b/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch
index ea50d88dfed..4b278c33f7f 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch
+++ b/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch
@@ -10,10 +10,10 @@ index b8ec916f0..38209b363 100644
 +  install_dir: join_paths(get_option('installed_test_prefix'), 'etc', 'fwupd', 'remotes.d'),
  )
 diff --git a/meson.build b/meson.build
-index 32fe6e408..b35d741e0 100644
+index d8bd9fdc7..ff924d373 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -183,8 +183,8 @@ else
+@@ -187,8 +187,8 @@ else
    datadir = join_paths(prefix, get_option('datadir'))
    sysconfdir = join_paths(prefix, get_option('sysconfdir'))
    localstatedir = join_paths(prefix, get_option('localstatedir'))
@@ -24,7 +24,7 @@ index 32fe6e408..b35d741e0 100644
  endif
  mandir = join_paths(prefix, get_option('mandir'))
  localedir = join_paths(prefix, get_option('localedir'))
-@@ -484,6 +484,7 @@ gnome = import('gnome')
+@@ -487,6 +487,7 @@ gnome = import('gnome')
  i18n = import('i18n')
  
  conf.set_quoted('FWUPD_PREFIX', prefix)
@@ -33,19 +33,19 @@ index 32fe6e408..b35d741e0 100644
  conf.set_quoted('FWUPD_LIBDIR', libdir)
  conf.set_quoted('FWUPD_LIBEXECDIR', libexecdir)
 diff --git a/meson_options.txt b/meson_options.txt
-index 0a0e2853..5f68d78b 100644
+index d00038dbc..be1c45b40 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -25,6 +26,7 @@ option('plugin_coreboot', type : 'boolean', value : true, description : 'enable
- option('systemd', type : 'boolean', value : true, description : 'enable systemd support')
+@@ -56,6 +56,7 @@ option('systemd', type : 'feature', description : 'systemd support', deprecated:
+ option('systemd_unit_user', type : 'string', description : 'User account to use for fwupd-refresh.service (empty for DynamicUser)')
  option('systemd_root_prefix', type: 'string', value: '', description: 'Directory to base systemd’s installation directories on')
- option('elogind', type : 'boolean', value : false, description : 'enable elogind support')
+ option('elogind', type : 'feature', description : 'elogind support', deprecated: {'true': 'enabled', 'false': 'disabled'})
 +option('installed_test_prefix', type: 'string', description: 'Prefix for installed tests')
  option('tests', type : 'boolean', value : true, description : 'enable tests')
- option('tpm', type : 'boolean', value : true, description : 'enable TPM support')
- option('udevdir', type: 'string', value: '', description: 'Directory for udev rules')
+ option('soup_session_compat', type : 'boolean', value : true, description : 'enable SoupSession runtime compatibility support')
+ option('curl', type : 'feature', description : 'libcurl support', deprecated: {'true': 'enabled', 'false': 'disabled'})
 diff --git a/plugins/redfish/fu-self-test.c b/plugins/redfish/fu-self-test.c
-index c507fabc8..0cddc3248 100644
+index 4d19e560f..91cfaa616 100644
 --- a/plugins/redfish/fu-self-test.c
 +++ b/plugins/redfish/fu-self-test.c
 @@ -27,7 +27,7 @@ fu_test_is_installed_test(void)
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
index 4ade35845ec..c9192744a46 100644
--- a/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
+++ b/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   pname = "raspberrypi-wireless-firmware";
-  version = "2021-11-02";
+  version = "2021-12-06";
 
   srcs = [
     (fetchFromGitHub {
@@ -10,14 +10,14 @@ stdenv.mkDerivation {
       owner = "RPi-Distro";
       repo = "bluez-firmware";
       rev = "e7fd166981ab4bb9a36c2d1500205a078a35714d";
-      sha256 = "1dkg8mzn7n4afi50ibrda2s33nw2qj52jjjdv9w560q601gms47b";
+      hash = "sha256-6xBdXwAGA1N42k1KKYrEgtsxtFAtrwhKdIrYY39Fb7Y=";
     })
     (fetchFromGitHub {
       name = "firmware-nonfree";
       owner = "RPi-Distro";
       repo = "firmware-nonfree";
-      rev = "54ffdd6e2ea6055d46656b78e148fe7def3ec9d8";
-      sha256 = "4WTrs/tUyOugufRrrh0qsEmhPclQD64ypYysxsnOyS8=";
+      rev = "99d5c588e95ec9c9b86d7e88d3cf85b4f729d2bc";
+      hash = "sha256-xg6fYQvg7t2ikyLI8/XfpiNaNTf7CNFQlAzpTldTz10=";
     })
   ];
 
@@ -32,20 +32,19 @@ stdenv.mkDerivation {
     mkdir -p "$out/lib/firmware/brcm"
 
     # Wifi firmware
-    shopt -s extglob
-    for filename in firmware-nonfree/brcm/brcmfmac434??{,s}-sdio.*; do
-      cp "$filename" "$out/lib/firmware/brcm"
-    done
+    cp -rv "$NIX_BUILD_TOP/firmware-nonfree/debian/config/brcm80211/." "$out/lib/firmware/"
 
     # Bluetooth firmware
-    cp bluez-firmware/broadcom/*.hcd "$out/lib/firmware/brcm"
+    cp -rv "$NIX_BUILD_TOP/bluez-firmware/broadcom/." "$out/lib/firmware/brcm"
+
+    # CM4 symlink must be added since it's missing from upstream
+    pushd $out/lib/firmware/brcm &>/dev/null
+    ln -s "./brcmfmac43455-sdio.txt" "$out/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt"
+    popd &>/dev/null
+
     runHook postInstall
   '';
 
-  outputHashMode = "recursive";
-  outputHashAlgo = "sha256";
-  outputHash = "l+7VOq7CV5QA8/FWjMBGDcxq8Qe7NFf6E2Y42htZEgE=";
-
   meta = with lib; {
     description = "Firmware for builtin Wifi/Bluetooth devices in the Raspberry Pi 3+ and Zero W";
     homepage = "https://github.com/RPi-Distro/firmware-nonfree";
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
index 7f0eef05dc4..9181a94dcb6 100644
--- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
+++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenvNoCC, fetchurl, unzip }:
+{ lib, stdenvNoCC, fetchFromGitHub }:
 
 stdenvNoCC.mkDerivation rec {
   # NOTE: this should be updated with linux_rpi
   pname = "raspberrypi-firmware";
-  version = "1.20220118";
+  version = "1.20220331";
 
-  src = fetchurl {
-    url = "https://github.com/raspberrypi/firmware/archive/${version}.zip";
-    sha256 = "sha256-98rbwKIuB7vb4MWbFCr7TYsvJB0HzPdH8Tw0+bktK/M=";
+  src = fetchFromGitHub {
+    owner = "raspberrypi";
+    repo = "firmware";
+    rev = version;
+    hash = "sha256-TxlpHPEJAtVJTtDghuJpx2mLjEPiKkcAr7S9Cd/cocE=";
   };
 
-  nativeBuildInputs = [ unzip ];
-
   installPhase = ''
     mkdir -p $out/share/raspberrypi/
     mv boot "$out/share/raspberrypi/"
@@ -26,5 +26,6 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/raspberrypi/firmware";
     license = licenses.unfreeRedistributableFirmware; # See https://github.com/raspberrypi/firmware/blob/master/boot/LICENCE.broadcom
     maintainers = with maintainers; [ dezgeg ];
+    broken = stdenvNoCC.isDarwin; # Hash mismatch on source, mystery.
   };
 }
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index bc5811942a5..424a1d1a50e 100644
--- a/pkgs/os-specific/linux/iwd/default.nix
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -12,12 +12,12 @@
 
 stdenv.mkDerivation rec {
   pname = "iwd";
-  version = "1.26";
+  version = "1.27";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
     rev = version;
-    sha256 = "sha256-+BciYfb9++u9Ux4AdvPFFIFVq8j+TVoTLKqxzmn5p3o=";
+    sha256 = "sha256-gN9+9Cc6zjZBXDhcHBH5wyucO5/vL7bKSLWM5laFqaA=";
   };
 
   outputs = [ "out" "man" "doc" ]
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
index 83359844887..0c1514d01c2 100644
--- a/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -81,12 +81,12 @@ let
 in {
   inherit makeLinuxHeaders;
 
-  linuxHeaders = let version = "5.16"; in
+  linuxHeaders = let version = "5.17"; in
     makeLinuxHeaders {
       inherit version;
       src = fetchurl {
         url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-        sha256 = "1fq86dbx2p124vi4j8nan68gj4zyw4xnqh4jxq9aqsdvi24pwz82";
+        sha256 = "1cdi43x4c3l4chznh57gm55szycj4wjlxl1dss1ilnfvvmhyypsm";
       };
       patches = [
          ./no-relocs.patch # for building x86 kernel headers on non-ELF platforms
diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json
index cdb6099d4a1..cb73bbed557 100644
--- a/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -2,51 +2,51 @@
     "4.14": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.14.269-hardened1.patch",
-            "sha256": "1hj3yn70aifprcfz4k088pj0lbr92cl5y840g08p0cqz3f3jvf24",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.269-hardened1/linux-hardened-4.14.269-hardened1.patch"
+            "name": "linux-hardened-4.14.276-hardened1.patch",
+            "sha256": "1q0w8fqn9z32r35s3lil9dllkykydnpfp1dkhgvmy5rggbm801ay",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.276-hardened1/linux-hardened-4.14.276-hardened1.patch"
         },
-        "sha256": "1lhqq3va468k8w5f4hhsq1rgjcfrgi5l8lnrikfy9jisbi05z9h3",
-        "version": "4.14.269"
+        "sha256": "1rxksrmkh5raz930y9khfg85dglgphrgcvkj21n86m333pajs4mf",
+        "version": "4.14.276"
     },
     "4.19": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.19.232-hardened1.patch",
-            "sha256": "195gbiial5rpiak4mszw3kn1dmm38npk2bchyb9lfvk1f26h2ybc",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.232-hardened1/linux-hardened-4.19.232-hardened1.patch"
+            "name": "linux-hardened-4.19.239-hardened1.patch",
+            "sha256": "1w0h47av90aapz5g5ldny1vrq21n22kxag24byk4b43ndg6q0ksc",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.239-hardened1/linux-hardened-4.19.239-hardened1.patch"
         },
-        "sha256": "0b520cwwqr5b1skc3gbq35hfjqpidxcl3gq7x5bdqqqdg0afiksg",
-        "version": "4.19.232"
+        "sha256": "0fsr9jy8d1rpg6ixp7av01pqz3vq50rgfcjd7vj16ccsdk15sz5z",
+        "version": "4.19.239"
     },
     "5.10": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.10.103-hardened1.patch",
-            "sha256": "0i70cya9llz6nnhf4d5zz3f8xhj21si8capymmzcjczz0378argj",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.103-hardened1/linux-hardened-5.10.103-hardened1.patch"
+            "name": "linux-hardened-5.10.112-hardened1.patch",
+            "sha256": "1sryrhl7bblx4r0smvlzw7p4xhc4l8bsqgwzlj2x8qamj544w464",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.112-hardened1/linux-hardened-5.10.112-hardened1.patch"
         },
-        "sha256": "02jq126r8dgqrhgdg8dym2v8xgp9jkjm8kf9zgj440s3wrasvf2g",
-        "version": "5.10.103"
+        "sha256": "19aa7fq8n75gh0vv01mpxg4cxkfpr5lj0sv6lxiyzcgbc71isv4c",
+        "version": "5.10.112"
     },
     "5.15": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.15.26-hardened1.patch",
-            "sha256": "14pdmiqnn06by8mvxw4gklqfrnngrimyz1ag76pr60iz6ka6y5g8",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.26-hardened1/linux-hardened-5.15.26-hardened1.patch"
+            "name": "linux-hardened-5.15.35-hardened1.patch",
+            "sha256": "10x2q01bckmfmgdzfg01khj43pav1drzzp3fr20hk718ywikvgax",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.35-hardened1/linux-hardened-5.15.35-hardened1.patch"
         },
-        "sha256": "0fmydc5v51iacd5ys7p1m1k2318p47prj8xv02rcngv1y8s224jq",
-        "version": "5.15.26"
+        "sha256": "1n05c4c4ish25x483a2p5177zgda8pq7g4752n1b7chfygi5l6ha",
+        "version": "5.15.35"
     },
     "5.4": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.4.182-hardened1.patch",
-            "sha256": "0hcxy2hn836mivydmrbqrpvm4bfdsgf9xpx0iyz92rhd91ipgcyq",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.182-hardened1/linux-hardened-5.4.182-hardened1.patch"
+            "name": "linux-hardened-5.4.190-hardened1.patch",
+            "sha256": "0z4w05fq20pmiyxf4bip61ywy5xg96klbnj62yxiaha68pfwlm29",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.190-hardened1/linux-hardened-5.4.190-hardened1.patch"
         },
-        "sha256": "03gly4ivsdahixmshi021al48ycsalx30vsxr3iyj47hchgj1wdj",
-        "version": "5.4.182"
+        "sha256": "157ifcl59xxj721r302hg82vmbqzx5hjrlihrc5s4maxfw3ygm41",
+        "version": "5.4.190"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/hardened/update.py b/pkgs/os-specific/linux/kernel/hardened/update.py
index 48567b68dc3..d0f8c77c783 100755
--- a/pkgs/os-specific/linux/kernel/hardened/update.py
+++ b/pkgs/os-specific/linux/kernel/hardened/update.py
@@ -219,7 +219,16 @@ failures = False
 
 # Match each kernel version with the best patch version.
 releases = {}
+i = 0
 for release in repo.get_releases():
+    # Dirty workaround to make sure that we don't run into issues because
+    # GitHub's API only allows fetching the last 1000 releases.
+    # It's not reliable to exit earlier because not every kernel minor may
+    # have hardened patches, hence the naive search below.
+    i += 1
+    if i > 500:
+        break
+
     version = parse_version(release.tag_name)
     # needs to look like e.g. 5.6.3-hardened1
     if len(version) < 4:
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index edf274aa85c..b451202871e 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.14.275";
+  version = "4.14.277";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1yaq5qhl694ygx17x998syg79yx72l3n9vzfkyf0g3idzdh9j2hh";
+    sha256 = "058vzn1gcsc194hgwrj78afawz2anm7ga8a1x5m5i4cw8p1arp73";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 6121fccf15f..c03c5d5afd2 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.19.237";
+  version = "4.19.240";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1n0c4bmmbj145zsp662a5rxh294fpq4dkillpz16wj6c098z7zxs";
+    sha256 = "1hj6vngynx6kjaczjl77jjwqq0kh0lm6jdqjvakd1cgrppaizb3j";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 5786079a47d..704423c6e99 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,12 +1,12 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.310";
+  version = "4.9.312";
   extraMeta.branch = "4.9";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "17d3isb1i52v8360vspnywjpsy9vvkc54k5kwdddj0plawvxklw5";
+    sha256 = "09y6wl4j3y46fza6kmssibmxspxx0i44fqrhc2cyvrm2bgxv2bzs";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index f13ec02408e..1ac78adf7c7 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.10.111";
+  version = "5.10.113";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "06mbl327bin8pv1073f7x37np3whklbvnh8lwn8wx4jmfvcb6c8q";
+    sha256 = "1z3dd5hrdbn2axsi2n70n41q1dq2dvg7s8aph1p6yiajpc16llc2";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.15.nix b/pkgs/os-specific/linux/kernel/linux-5.15.nix
index 2286dd9ef75..44438676ae3 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.15.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.15.34";
+  version = "5.15.36";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -15,6 +15,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0sfviwwp7qy8b5h15lg84dyskih4l082l9gs6yrqj3rg762lcld7";
+    sha256 = "1466557034q1fzvpy8vwj8ps3cv2q8s7z76af9y1jz4kgaqmsd1n";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.16.nix b/pkgs/os-specific/linux/kernel/linux-5.16.nix
deleted file mode 100644
index e68e76597e3..00000000000
--- a/pkgs/os-specific/linux/kernel/linux-5.16.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, modDirVersionArg ? null, ... } @ args:
-
-with lib;
-
-buildLinux (args // rec {
-  version = "5.16.20";
-
-  # modDirVersion needs to be x.y.z, will automatically add .0 if needed
-  modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
-
-  # branchVersion needs to be x.y
-  extraMeta.branch = versions.majorMinor version;
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "09dz8zp8cxvsc5amrswqqrkxd3i92ay2samlcspalaw6iz40s1nq";
-  };
-} // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.17.nix b/pkgs/os-specific/linux/kernel/linux-5.17.nix
index ae1ac1400d9..4c67169b706 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.17.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.17.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.17.3";
+  version = "5.17.5";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0b0nb807r2pwrifc7yk0p9q6cm472ahggfaix6yiqzmqcvisil1j";
+    sha256 = "11z95wsgmj97pg77yck26l0383gncbla0zwpzv4gjdj4p62x3g4v";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index 65c9f6c4b26..073d0ef7705 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.4.188";
+  version = "5.4.191";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1g7xf2jx1hx580f42yirfgv9v0f9f88wzxxx0wiwx7wcqbyqpg4z";
+    sha256 = "0fharjqasvq76pciwci6qamdadpfjh2n8gdyri8fj65drmgsi318";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index 16bbbf614aa..7bb6e5f7972 100644
--- a/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-    rev = "18664";
-    sha256 = "0yvgnqf355wr7wmfd0r8zydbr7icic06cp5hjp060vv0m9bf87xi";
+    rev = "18688";
+    sha256 = "15f83zcwxk28b3a4am8avi0xwd7zr79n00150k6xdf3g8haz7yaj";
   }
 , ...
 }:
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix
index 99b966ac5cd..8654bc432ce 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -2,9 +2,8 @@
 
 let
   # NOTE: raspberrypifw & raspberryPiWirelessFirmware should be updated with this
-  modDirVersion = "5.10.92";
-  tag = "1.20220118";
-  rev = "650082a559a570d6c9d2739ecc62843d6f951059";
+  modDirVersion = "5.15.32";
+  tag = "1.20220331";
 in
 lib.overrideDerivation (buildLinux (args // {
   version = "${modDirVersion}-${tag}";
@@ -13,8 +12,8 @@ lib.overrideDerivation (buildLinux (args // {
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "linux";
-    inherit rev;
-    sha256 = "sha256-OSDx9dzqm8JnLUvdiv1aKqhRz80uWqfjXLd7m6ycXME=";
+    rev = tag;
+    hash = "sha256-dJtOXe4yvZz/iu0Ly5F9/E/2GbpTJF/9ZMU3rC1nKMw=";
   };
 
   defconfig = {
diff --git a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
index 327da3e0f34..51f47cea2c4 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
@@ -1,9 +1,9 @@
 { lib
 , fetchpatch
 , kernel
-, date ? "2022-04-08"
-, commit ? "6ddf061e68560a2bb263b126af7e894a6c1afb5f"
-, diffHash ? "1nkrr1cxavw0rqxlyiz7pf9igvqay0d5kk7194v9ph3fcp9rz5kc"
+, date ? "2022-04-25"
+, commit ? "bdf6d7c1350497bc7b0be6027a51d9330645672d"
+, diffHash ? "09bcbklvfj9i9czjdpix2iz7fvjksmavaljx8l92ay1i9fapjmhc"
 , kernelPatches # must always be defined in bcachefs' all-packages.nix entry because it's also a top-level attribute supplied by callPackage
 , argsOverride ? {}
 , ...
diff --git a/pkgs/os-specific/linux/kernel/linux-zen.nix b/pkgs/os-specific/linux/kernel/linux-zen.nix
index 0d9d34588a9..aec27a7620a 100644
--- a/pkgs/os-specific/linux/kernel/linux-zen.nix
+++ b/pkgs/os-specific/linux/kernel/linux-zen.nix
@@ -2,7 +2,7 @@
 
 let
   # having the full version string here makes it easier to update
-  modDirVersion = "5.17.2-zen3";
+  modDirVersion = "5.17.5-zen1";
   parts = lib.splitString "-" modDirVersion;
   version = lib.elemAt parts 0;
   suffix = lib.elemAt parts 1;
@@ -20,7 +20,7 @@ buildLinux (args // {
     owner = "zen-kernel";
     repo = "zen-kernel";
     inherit rev;
-    sha256 = "sha256-q6Cc3wQHDXzyt2hx3+CS8N74myC6ra/Y+8IHQxTkoLo=";
+    sha256 = "sha256-DWkdnSG+4qMAFdGDmtEItaQZnIiorxLYMqdq5eBqQfs=";
   };
 
   structuredExtraConfig = with lib.kernel; {
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 220f09ed8b5..aeb8d8d0902 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -1,5 +1,5 @@
 { lib, buildPackages, runCommand, nettools, bc, bison, flex, perl, rsync, gmp, libmpc, mpfr, openssl
-, libelf, cpio, elfutils, zstd, gawk, python3Minimal, zlib, pahole
+, libelf, cpio, elfutils, zstd, python3Minimal, zlib, pahole
 , writeTextFile
 }:
 
@@ -320,7 +320,7 @@ stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.linux-kernel kernelPat
   enableParallelBuilding = true;
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = [ perl bc nettools openssl rsync gmp libmpc mpfr gawk zstd python3Minimal ]
+  nativeBuildInputs = [ perl bc nettools openssl rsync gmp libmpc mpfr zstd python3Minimal ]
       ++ optional  (stdenv.hostPlatform.linux-kernel.target == "uImage") buildPackages.ubootTools
       ++ optional  (lib.versionAtLeast version "4.14" && lib.versionOlder version "5.8") libelf
       # Removed util-linuxMinimal since it should not be a dependency.
diff --git a/pkgs/os-specific/linux/kernel/update-zen.sh b/pkgs/os-specific/linux/kernel/update-zen.sh
index 1532d7be02b..48b29b6dd43 100755
--- a/pkgs/os-specific/linux/kernel/update-zen.sh
+++ b/pkgs/os-specific/linux/kernel/update-zen.sh
@@ -18,4 +18,4 @@ sed -i -e "s!modDirVersion = \".*\"!modDirVersion = \"${new}\"!" "$path"
 checksum=$(nix-prefetch "(import ${nixpkgs} {}).linuxPackages_zen.kernel")
 sed -i -e "s!sha256 = \".*\"!sha256 = \"${checksum}\"!" "$path"
 
-git commit -m "linux_zen: ${old} -> ${new}" $path
+git commit -m "linuxKernel.kernels.linux_zen: ${old} -> ${new}" $path
diff --git a/pkgs/os-specific/linux/ledger-udev-rules/default.nix b/pkgs/os-specific/linux/ledger-udev-rules/default.nix
index 7b23719c791..3a6bf9e5d51 100644
--- a/pkgs/os-specific/linux/ledger-udev-rules/default.nix
+++ b/pkgs/os-specific/linux/ledger-udev-rules/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "ledger-udev-rules";
-  version = "unstable-2019-05-30";
+  version = "unstable-2021-09-10";
 
   src = fetchFromGitHub {
     owner = "LedgerHQ";
     repo = "udev-rules";
-    rev = "765b7fdf57b20fd9326cedf48ee52e905024ab4f";
-    sha256 = "10a42al020zpkx918y6b1l9az45vk3921b2l1mx87w3m0ad9qvif";
+    rev = "2776324af6df36c2af4d2e8e92a1c98c281117c9";
+    sha256 = "sha256-yTYI81PXMc32lMfI5uhD14nP20zAI7ZF33V1LRDWg2Y=";
   };
 
   dontBuild = true;
diff --git a/pkgs/os-specific/linux/libcap-ng/default.nix b/pkgs/os-specific/linux/libcap-ng/default.nix
index 615f376d79d..ad01a83ac93 100644
--- a/pkgs/os-specific/linux/libcap-ng/default.nix
+++ b/pkgs/os-specific/linux/libcap-ng/default.nix
@@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
   pname = "libcap-ng";
   # When updating make sure to test that the version with
   # all of the python bindings still works
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchurl {
     url = "${meta.homepage}/${pname}-${version}.tar.gz";
-    sha256 = "1sasp1n154aqy9fz0knlb966svm7xg1zjhg1vr4q839bgjvq7h2j";
+    sha256 = "sha256-vtb2hI4iuy+Dtfdksq7w7TkwVOgDqOOocRyyo55rSS0=";
   };
 
   nativeBuildInputs = [ swig ];
diff --git a/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix b/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix
index 2cefc9b0216..a29fe923f60 100644
--- a/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix
+++ b/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix
@@ -8,7 +8,13 @@
 , iw
 , makeWrapper
 , qrencode
-, hostapd }:
+, hostapd
+, getopt
+, dnsmasq
+, iproute2
+, flock
+, iptables
+, gawk }:
 
 stdenv.mkDerivation rec {
   pname = "linux-wifi-hotspot";
@@ -41,9 +47,6 @@ stdenv.mkDerivation rec {
       --replace "etc" "$out/etc"
     substituteInPlace ./src/scripts/wihotspot \
       --replace "/usr" "$out"
-    substituteInPlace ./src/scripts/create_ap.service \
-      --replace "/usr/bin/create_ap" "$out/bin/create_cap" \
-      --replace "/etc/create_ap.conf" "$out/etc/create_cap.conf"
   '';
 
   makeFlags = [
@@ -52,7 +55,9 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram $out/bin/create_ap \
-      --prefix PATH : ${lib.makeBinPath [ hostapd ]}
+      --prefix PATH : ${lib.makeBinPath [
+          hostapd getopt iw which dnsmasq iproute2 flock iptables gawk
+        ]}
 
     wrapProgram $out/bin/wihotspot-gui \
       --prefix PATH : ${lib.makeBinPath [ iw ]} \
diff --git a/pkgs/os-specific/linux/lvm2/common.nix b/pkgs/os-specific/linux/lvm2/common.nix
index 641945a5685..4cb86bf3d8b 100644
--- a/pkgs/os-specific/linux/lvm2/common.nix
+++ b/pkgs/os-specific/linux/lvm2/common.nix
@@ -4,18 +4,19 @@
 , fetchpatch
 , fetchurl
 , pkg-config
-, util-linux
 , coreutils
 , libuuid
 , libaio
 , substituteAll
 , enableCmdlib ? false
 , enableDmeventd ? false
-, udevSupport ? !stdenv.hostPlatform.isStatic, udev ? null
+, udevSupport ? !stdenv.hostPlatform.isStatic, udev
 , onlyLib ? stdenv.hostPlatform.isStatic
-, enableVDO ? false, vdo ? null
-, enableMdadm ? false, mdadm ? null
-, enableMultipath ? false, multipath-tools ? null
+  # Otherwise we have a infinity recursion during static compilation
+, enableUtilLinux ? !stdenv.hostPlatform.isStatic, util-linux
+, enableVDO ? false, vdo
+, enableMdadm ? false, mdadm
+, enableMultipath ? false, multipath-tools
 , nixosTests
 }:
 
@@ -95,14 +96,15 @@ stdenv.mkDerivation rec {
     sed -i 's|^#define LVM_CONFIGURE_LINE.*$|#define LVM_CONFIGURE_LINE "<removed>"|g' ./include/configure.h
   '';
 
-  patches = [
+  patches = lib.optionals (lib.versionAtLeast version "2.03.15") [
     # fixes paths to and checks for tools
+    # TODO: needs backport to LVM 2.02 used by static/musl
     (substituteAll (let
       optionalTool = cond: pkg: if cond then pkg else "/run/current-system/sw";
     in {
       src = ./fix-blkdeactivate.patch;
       inherit coreutils;
-      util_linux = util-linux;
+      util_linux = optionalTool enableUtilLinux util-linux;
       mdadm = optionalTool enableMdadm mdadm;
       multipath_tools = optionalTool enableMultipath multipath-tools;
       vdo = optionalTool enableVDO vdo;
diff --git a/pkgs/os-specific/linux/multipath-tools/default.nix b/pkgs/os-specific/linux/multipath-tools/default.nix
index 184d2e1fe6e..437fe9bd1bd 100644
--- a/pkgs/os-specific/linux/multipath-tools/default.nix
+++ b/pkgs/os-specific/linux/multipath-tools/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkg-config, perl, lvm2, libaio, gzip, readline, systemd, liburcu, json_c, kmod, nixosTests }:
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, perl, lvm2, libaio, readline, systemd, liburcu, json_c, kmod, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "multipath-tools";
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       $(find * -name Makefile\*)
   '';
 
-  nativeBuildInputs = [ gzip pkg-config perl ];
+  nativeBuildInputs = [ pkg-config perl ];
   buildInputs = [ systemd lvm2 libaio readline liburcu json_c ];
 
   makeFlags = [
diff --git a/pkgs/os-specific/linux/musl-obstack/default.nix b/pkgs/os-specific/linux/musl-obstack/default.nix
index f7682d37efd..ec183da7048 100644
--- a/pkgs/os-specific/linux/musl-obstack/default.nix
+++ b/pkgs/os-specific/linux/musl-obstack/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "musl-obstack";
-  version = "1.2.2";
+  version = "1.2.3";
 
   src = fetchFromGitHub {
     owner = "void-linux";
     repo = "musl-obstack";
     rev = "v${version}";
-    sha256 = "v0RTnrqAmJfOeGsJFc04lqFR8QZhYiLyvy8oRYiuC80=";
+    sha256 = "sha256-oydS7FubUniMHAUWfg84OH9+CZ0JCrTXy7jzwOyJzC8=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix
index 8485a868d8a..051ca196305 100644
--- a/pkgs/os-specific/linux/nftables/default.nix
+++ b/pkgs/os-specific/linux/nftables/default.nix
@@ -8,8 +8,6 @@
 , withXtables ? true , iptables
 }:
 
-with lib;
-
 stdenv.mkDerivation rec {
   version = "1.0.2";
   pname = "nftables";
@@ -28,8 +26,8 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libmnl libnftnl libpcap
     gmp jansson libedit
-  ] ++ optional withXtables iptables
-    ++ optional withPython python3;
+  ] ++ lib.optional withXtables iptables
+    ++ lib.optional withPython python3;
 
   preConfigure = ''
     substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file
@@ -46,12 +44,12 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--with-json"
     "--with-cli=editline"
-  ] ++ optional (!withDebugSymbols) "--disable-debug"
-    ++ optional (!withPython) "--disable-python"
-    ++ optional withPython "--enable-python"
-    ++ optional withXtables "--with-xtables";
+  ] ++ lib.optional (!withDebugSymbols) "--disable-debug"
+    ++ lib.optional (!withPython) "--disable-python"
+    ++ lib.optional withPython "--enable-python"
+    ++ lib.optional withXtables "--with-xtables";
 
-  meta = {
+  meta = with lib; {
     description = "The project that aims to replace the existing {ip,ip6,arp,eb}tables framework";
     homepage = "https://netfilter.org/projects/nftables/";
     license = licenses.gpl2Only;
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 76df6047390..996db748055 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -3,8 +3,8 @@
 let
   generic = args: let
     imported = import ./generic.nix args;
-  in if ((!lib.versionOlder args.version "391")
-    && stdenv.hostPlatform.system != "x86_64-linux") then null
+  in if lib.versionAtLeast args.version "391"
+    && stdenv.hostPlatform.system != "x86_64-linux" then null
   else callPackage imported {
     lib32 = (pkgsi686Linux.callPackage imported {
       libsOnly = true;
@@ -19,10 +19,10 @@ rec {
   # Policy: use the highest stable version as the default (on our master).
   stable = if stdenv.hostPlatform.system == "x86_64-linux"
     then generic {
-      version = "510.60.02";
-      sha256_64bit = "sha256-qADfwFSQeP2Mbo5ngO+47uh4cuYFXH9fOGpHaM4H4AM=";
-      settingsSha256 = "sha256-Voa1JZ2qqJ1t+bfwKh/mssEi/hjzLTPwef2XG/gAC+0=";
-      persistencedSha256 = "sha256-THgK2GpRcttqSN2WxcuJu5My++Q+Y34jG8hm7daxhAQ=";
+      version = "510.68.02";
+      sha256_64bit = "sha256-vSw0SskrL8ErBgQ1kKT+jU6wzLdNDEk1LwBM8tKZ9MU=";
+      settingsSha256 = "sha256-4TBA/ITpaaBiVDkpj7/Iydei1knRPpruPL4fRrqFAmU=";
+      persistencedSha256 = "sha256-Q1Rk6dAK4pnm6yDK4kmj5Vg4GRbi034C96ypywHYB2I=";
     }
     else legacy_390;
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix
index c7e062534a4..bc867d8b82b 100644
--- a/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -33,7 +33,7 @@ with lib;
 
 assert !libsOnly -> kernel != null;
 assert versionOlder version "391" -> sha256_32bit != null;
-assert ! versionOlder version "391" -> stdenv.hostPlatform.system == "x86_64-linux";
+assert versionAtLeast version "391" -> stdenv.hostPlatform.system == "x86_64-linux";
 
 let
   nameSuffix = optionalString (!libsOnly) "-${kernel.version}";
diff --git a/pkgs/os-specific/linux/power-profiles-daemon/default.nix b/pkgs/os-specific/linux/power-profiles-daemon/default.nix
index 9f96eb2576d..253c3caf6aa 100644
--- a/pkgs/os-specific/linux/power-profiles-daemon/default.nix
+++ b/pkgs/os-specific/linux/power-profiles-daemon/default.nix
@@ -8,6 +8,7 @@
 , libgudev
 , glib
 , polkit
+, dbus
 , gobject-introspection
 , gettext
 , gtk-doc
@@ -29,34 +30,21 @@ let
     dbus-python
     python-dbusmock
   ];
-  testTypelibPath = lib.makeSearchPathOutput "lib" "lib/girepository-1.0" [ umockdev ];
 in
 stdenv.mkDerivation rec {
   pname = "power-profiles-daemon";
-  version = "0.10.1";
+  version = "0.11.1";
 
-  outputs = [ "out" "devdoc" "installedTests" ];
+  outputs = [ "out" "devdoc" ];
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "hadess";
     repo = "power-profiles-daemon";
     rev = version;
-    sha256 = "sha256-sQWiCHc0kEELdmPq9Qdk7OKDUgbM5R44639feC7gjJc=";
+    sha256 = "sha256-qU9A9U2R3UioC7bo8Pc0IIsHIjghb6gsG4pTAg6tp9E=";
   };
 
-  patches = [
-    # Enable installed tests.
-    # https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/merge_requests/92
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/commit/3c64d9e1732eb6425e33013c452f1c4aa7a26f7e.patch";
-      sha256 = "din5VuZZwARNDInHtl44yJK8pLmlxr5eoD4iMT4a8HA=";
-    })
-
-    # Install installed tests to separate output.
-    ./installed-tests-path.patch
-  ];
-
   nativeBuildInputs = [
     pkg-config
     meson
@@ -70,9 +58,6 @@ stdenv.mkDerivation rec {
     gobject-introspection
     wrapGAppsNoGuiHook
     python3.pkgs.wrapPython
-
-    # For finding tests.
-    (python3.withPackages testPythonPkgs)
   ];
 
   buildInputs = [
@@ -91,31 +76,28 @@ stdenv.mkDerivation rec {
     python3.pkgs.pygobject3
   ];
 
+  checkInputs = [
+    umockdev
+    dbus
+    (python3.withPackages testPythonPkgs)
+  ];
+
   mesonFlags = [
-    "-Dinstalled_test_prefix=${placeholder "installedTests"}"
     "-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
     "-Dgtk_doc=true"
   ];
 
+  doCheck = true;
+
   PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions";
 
   # Avoid double wrapping
   dontWrapGApps = true;
 
   postPatch = ''
-    patchShebangs tests/unittest_inspector.py
-  '';
-
-  preConfigure = ''
-    # For finding tests.
-    GI_TYPELIB_PATH_original=$GI_TYPELIB_PATH
-    addToSearchPath GI_TYPELIB_PATH "${testTypelibPath}"
-  '';
-
-  postConfigure = ''
-    # Restore the original value to prevent the program from depending on umockdev.
-    export GI_TYPELIB_PATH=$GI_TYPELIB_PATH_original
-    unset GI_TYPELIB_PATH_original
+    patchShebangs --build \
+      tests/integration-test.py \
+      tests/unittest_inspector.py
   '';
 
   preInstall = ''
@@ -128,33 +110,22 @@ stdenv.mkDerivation rec {
     export PKEXEC_UID=-1
   '';
 
+  postCheck = ''
+    # Do not contaminate the wrapper with test dependencies.
+    unset GI_TYPELIB_PATH
+    unset XDG_DATA_DIRS
+  '';
+
   postFixup = ''
     # Avoid double wrapping
     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
     # Make Python libraries available
     wrapPythonProgramsIn "$out/bin" "$pythonPath"
-
-    # Make Python libraries available for installed tests
-    makeWrapperArgs+=(
-      --prefix GI_TYPELIB_PATH : "${testTypelibPath}"
-      --prefix PATH : "${lib.makeBinPath [ umockdev ]}"
-      # Vala does not use absolute paths in typelibs
-      # https://github.com/NixOS/nixpkgs/issues/47226
-      # Also umockdev binaries use relative paths for LD_PRELOAD.
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ umockdev ]}"
-      # dbusmock calls its templates using exec so our regular patching of Python scripts
-      # to add package directories to site will not carry over.
-      # https://github.com/martinpitt/python-dbusmock/blob/2254e69279a02fb3027b500ed7288b77c7a80f2a/dbusmock/mockobject.py#L51
-      # https://github.com/martinpitt/python-dbusmock/blob/2254e69279a02fb3027b500ed7288b77c7a80f2a/dbusmock/__main__.py#L60-L62
-      --prefix PYTHONPATH : "${lib.makeSearchPath python3.sitePackages (testPythonPkgs python3.pkgs)}"
-    )
-    wrapPythonProgramsIn "$installedTests/libexec/installed-tests" "$pythonPath ${lib.concatStringsSep " " (testPythonPkgs python3.pkgs)}"
   '';
 
   passthru = {
     tests = {
       nixos = nixosTests.power-profiles-daemon;
-      installed-tests = nixosTests.installed-tests.power-profiles-daemon;
     };
   };
 
diff --git a/pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch b/pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch
deleted file mode 100644
index 63059f3ac73..00000000000
--- a/pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/meson_options.txt b/meson_options.txt
-index 7e89619..76497db 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -1,3 +1,4 @@
-+option('installed_test_prefix', type: 'string', description: 'Prefix for installed tests')
- option('systemdsystemunitdir',
-        description: 'systemd unit directory',
-        type: 'string',
-diff --git a/tests/meson.build b/tests/meson.build
-index b306a7f..7670e1b 100644
---- a/tests/meson.build
-+++ b/tests/meson.build
-@@ -2,8 +2,8 @@ envs = environment()
- envs.set ('top_builddir', meson.build_root())
- envs.set ('top_srcdir', meson.source_root())
- 
--installed_test_bindir = libexecdir / 'installed-tests' / meson.project_name()
--installed_test_datadir = datadir / 'installed-tests' / meson.project_name()
-+installed_test_bindir = get_option('installed_test_prefix') / 'libexec' / 'installed-tests' / meson.project_name()
-+installed_test_datadir = get_option('installed_test_prefix') / 'share' / 'installed-tests' / meson.project_name()
- 
- python3 = find_program('python3')
- unittest_inspector = find_program('unittest_inspector.py')
-diff --git a/tests/integration-test.py b/tests/integration-test.py
-index 22dc42c..0f92b76 100755
---- a/tests/integration-test.py
-+++ b/tests/integration-test.py
-@@ -67,7 +67,7 @@ class Tests(dbusmock.DBusTestCase):
-             print('Testing binaries from JHBuild (%s)' % cls.daemon_path)
-         else:
-             cls.daemon_path = None
--            with open('/usr/lib/systemd/system/power-profiles-daemon.service') as f:
-+            with open('/run/current-system/sw/lib/systemd/system/power-profiles-daemon.service') as f:
-                 for line in f:
-                     if line.startswith('ExecStart='):
-                         cls.daemon_path = line.split('=', 1)[1].strip()
diff --git a/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix b/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix
index c68d4058396..c2ce195faf1 100644
--- a/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix
+++ b/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix
@@ -3,18 +3,13 @@
 }:
 stdenvNoCC.mkDerivation rec {
   pname = "raspberrypi-eeprom";
-  version = "2021.12.02";
-  # From 3fdf703f3f7bbe57eacceada3b558031229a34b0 Mon Sep 17 00:00:00 2001
-  # From: Peter Harper <peter.harper@raspberrypi.com>
-  # Date: Mon, 13 Dec 2021 11:56:11 +0000
-  # Subject: [PATCH] 2021-12-02: Promote the 2021-12-02 beta release to LATEST/STABLE
-  commit = "3fdf703f3f7bbe57eacceada3b558031229a34b0";
+  version = "unstable-2022-03-10";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "rpi-eeprom";
-    rev = commit;
-    sha256 = "sha256-JTL2ziOkT0tnOrOS08ttNtxj3qegsacP73xZBVur7xM=";
+    rev = "e8927007e3800db3a72100ee6cd38b0d9b687c16";
+    hash = "sha256-/hn6l5gheh6E3zoANwU1SXYgdry2IjOT9Muw2jkrtCU=";
   };
 
   buildInputs = [ python3 ];
diff --git a/pkgs/os-specific/linux/rdma-core/default.nix b/pkgs/os-specific/linux/rdma-core/default.nix
index d9f6196d931..44308d8a89d 100644
--- a/pkgs/os-specific/linux/rdma-core/default.nix
+++ b/pkgs/os-specific/linux/rdma-core/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rdma-core";
-  version = "39.1";
+  version = "40.0";
 
   src = fetchFromGitHub {
     owner = "linux-rdma";
     repo = "rdma-core";
     rev = "v${version}";
-    sha256 = "19jfrb0jv050abxswzh34nx2zr8if3rb2k5a7n5ydvi3x9r8827w";
+    sha256 = "0pcpbri50y5gzrmdqx90wngfd6cfas3m7zlfhz9lqr583fp08vfw";
   };
 
   strictDeps = true;
@@ -23,12 +23,6 @@ stdenv.mkDerivation rec {
     "-DCMAKE_INSTALL_SHAREDSTATEDIR=/var/lib"
   ];
 
-  patches = [
-    # this has been fixed in master. As soon as it gets into a release, this
-    # patch won't apply anymore and can be removed.
-    ./pkg-config-template.patch
-  ];
-
   postPatch = ''
     substituteInPlace srp_daemon/srp_daemon.sh.in \
       --replace /bin/rm rm
diff --git a/pkgs/os-specific/linux/rdma-core/pkg-config-template.patch b/pkgs/os-specific/linux/rdma-core/pkg-config-template.patch
deleted file mode 100644
index 22898bc7528..00000000000
--- a/pkgs/os-specific/linux/rdma-core/pkg-config-template.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -ru source/buildlib/template.pc.in source-fixed/buildlib/template.pc.in
---- source/buildlib/template.pc.in	1970-01-01 01:00:01.000000000 +0100
-+++ source-fixed/buildlib/template.pc.in	2022-03-30 22:29:12.988625941 +0200
-@@ -1,7 +1,6 @@
--prefix=@CMAKE_INSTALL_PREFIX@
--exec_prefix=${prefix}
--libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
--includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
-+exec_prefix=@CMAKE_INSTALL_PREFIX@
-+libdir=@CMAKE_INSTALL_LIBDIR@
-+includedir=@CMAKE_INSTALL_INCLUDEDIR@
- 
- Name: lib@PC_LIB_NAME@
- Description: RDMA Core Userspace Library
diff --git a/pkgs/os-specific/linux/rtl8723bs/default.nix b/pkgs/os-specific/linux/rtl8723bs/default.nix
index a862b351716..b6ab883ca75 100644
--- a/pkgs/os-specific/linux/rtl8723bs/default.nix
+++ b/pkgs/os-specific/linux/rtl8723bs/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/hadess/rtl8723bs";
     license = lib.licenses.gpl2;
     platforms = lib.platforms.linux;
-    broken = (! versionOlder kernel.version "4.12"); # Now in kernel staging drivers
+    broken = versionAtLeast kernel.version "4.12"; # Now in kernel staging drivers
     maintainers = with maintainers; [ elitak ];
   };
 }
diff --git a/pkgs/os-specific/linux/s6-linux-init/default.nix b/pkgs/os-specific/linux/s6-linux-init/default.nix
index ab9843d07f1..199442b65da 100644
--- a/pkgs/os-specific/linux/s6-linux-init/default.nix
+++ b/pkgs/os-specific/linux/s6-linux-init/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6-linux-init";
-  version = "1.0.7.0";
-  sha256 = "16bzijmzxi91ycayhpn398yjgag3c5pnlghs6sqdmzlf2fiirif5";
+  version = "1.0.7.3";
+  sha256 = "sha256-yQblfr/jANwXz7+5wlSvWZaHYt/RYr/gZLTOK9aVp3Y=";
 
   description = "A set of minimalistic tools used to create a s6-based init system, including a /sbin/init binary, on a Linux kernel";
   platforms = lib.platforms.linux;
diff --git a/pkgs/os-specific/linux/sasutils/default.nix b/pkgs/os-specific/linux/sasutils/default.nix
new file mode 100644
index 00000000000..fd1a6f0b049
--- /dev/null
+++ b/pkgs/os-specific/linux/sasutils/default.nix
@@ -0,0 +1,28 @@
+{ lib, python3Packages, fetchFromGitHub, installShellFiles, sg3_utils }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "sasutils";
+  version = "0.3.12";
+
+  src = fetchFromGitHub {
+    owner = "stanford-rc";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0kh5pcc2shdmrvqqi2y1zamzsfvk56pqgwqgqhjfz4r6yfpm04wl";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  propagatedBuildInputs = [ sg3_utils ];
+
+  postInstall = ''
+    installManPage doc/man/man1/*.1
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/stanford-rc/sasutils";
+    description = "A set of command-line tools to ease the administration of Serial Attached SCSI (SAS) fabrics";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ aij ];
+  };
+}
diff --git a/pkgs/os-specific/linux/sch_cake/default.nix b/pkgs/os-specific/linux/sch_cake/default.nix
index a959fac5dca..f93713344ef 100644
--- a/pkgs/os-specific/linux/sch_cake/default.nix
+++ b/pkgs/os-specific/linux/sch_cake/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation {
     license = with licenses; [ bsd3 gpl2 ];
     maintainers = with maintainers; [ fpletz ];
     platforms = platforms.linux;
-    broken = !lib.versionOlder kernel.version "4.13";
+    broken = lib.versionAtLeast kernel.version "4.13";
   };
 }
diff --git a/pkgs/os-specific/linux/sgx/ssl/default.nix b/pkgs/os-specific/linux/sgx/ssl/default.nix
index c54eda19d6a..6b83515ff13 100644
--- a/pkgs/os-specific/linux/sgx/ssl/default.nix
+++ b/pkgs/os-specific/linux/sgx/ssl/default.nix
@@ -14,12 +14,12 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "sgx-ssl" + lib.optionalString debug "-debug";
-  version = "lin_${sgxVersion}_${opensslVersion}";
+  version = "${sgxVersion}_${opensslVersion}";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "intel-sgx-ssl";
-    rev = version;
+    rev = "lin_${sgxVersion}_${opensslVersion}";
     hash = "sha256-ibPXs90ni2fkxJ09fNO6wWVpfCFdko6MjBFkEsyIih8=";
   };
 
diff --git a/pkgs/os-specific/linux/speedometer/default.nix b/pkgs/os-specific/linux/speedometer/default.nix
deleted file mode 100644
index 2802fddf8ce..00000000000
--- a/pkgs/os-specific/linux/speedometer/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, fetchurl, python2Packages }:
-
-python2Packages.buildPythonApplication rec {
-  pname = "speedometer";
-  version = "2.8";
-
-  src = fetchurl {
-    url = "https://excess.org/speedometer/speedometer-${version}.tar.gz";
-    sha256 = "060bikv3gwr203jbdmvawsfhc0yq0bg1m42dk8czx1nqvwvgv6fm";
-  };
-
-  propagatedBuildInputs = [ python2Packages.urwid ];
-
-  postPatch = ''
-    sed -i "/'entry_points': {/d" setup.py
-    sed -i "/'console_scripts': \['speedometer = speedometer:console'\],},/d" setup.py
-  '';
-
-  meta = with lib; {
-    description = "Measure and display the rate of data across a network connection or data being stored in a file";
-    homepage = "https://excess.org/speedometer/";
-    license = licenses.lgpl21Plus;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ Baughn ];
-  };
-}
diff --git a/pkgs/os-specific/linux/sysstat/default.nix b/pkgs/os-specific/linux/sysstat/default.nix
index 5389caaa33f..127c6fc9c03 100644
--- a/pkgs/os-specific/linux/sysstat/default.nix
+++ b/pkgs/os-specific/linux/sysstat/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sysstat";
-  version = "12.4.4";
+  version = "12.4.5";
 
   src = fetchurl {
     url = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${version}.tar.xz";
-    sha256 = "sha256-lRLnR54E+S4lHFxrS9lLj2Q9ISvQ6Yao6k0Uem6UPSQ=";
+    sha256 = "sha256-70RazqMBu7mW5BCEL2KQqNBJ6ITUhoz+9+hdwEt+7ls=";
   };
 
   buildInputs = [ gettext ];
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index aff9125c236..f083184a114 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -18,13 +18,15 @@
 , systemd
 , useIMobileDevice ? true
 , libimobiledevice
+, withDocs ? (stdenv.buildPlatform == stdenv.hostPlatform)
 }:
 
 stdenv.mkDerivation rec {
   pname = "upower";
   version = "0.99.17";
 
-  outputs = [ "out" "dev" "devdoc" ];
+  outputs = [ "out" "dev" ]
+    ++ lib.optionals withDocs [ "devdoc" ];
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
@@ -34,6 +36,12 @@ stdenv.mkDerivation rec {
     sha256 = "xvvqzGxgkuGcvnO12jnLURNJUoSlnMw2g/mnII+i6Bs=";
   };
 
+  strictDeps = true;
+
+  depsBuildBuild = [
+    pkg-config
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
@@ -66,6 +74,8 @@ stdenv.mkDerivation rec {
     "-Dos_backend=linux"
     "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
     "-Dudevrulesdir=${placeholder "out"}/lib/udev/rules.d"
+    "-Dintrospection=${if (stdenv.buildPlatform == stdenv.hostPlatform) then "auto" else "disabled"}"
+    "-Dgtk-doc=${lib.boolToString withDocs}"
   ];
 
   doCheck = false; # fails with "env: './linux/integration-test': No such file or directory"
diff --git a/pkgs/os-specific/linux/usbrelay/daemon.nix b/pkgs/os-specific/linux/usbrelay/daemon.nix
new file mode 100644
index 00000000000..5f8d23e5201
--- /dev/null
+++ b/pkgs/os-specific/linux/usbrelay/daemon.nix
@@ -0,0 +1,36 @@
+{ stdenv, usbrelay, python3 }:
+let
+  python = python3.withPackages (ps: with ps; [ usbrelay-py paho-mqtt ]);
+in
+# This is a separate derivation, not just an additional output of
+# usbrelay, because otherwise, we have a cyclic dependency between
+# usbrelay (default.nix) and the python module (python.nix).
+stdenv.mkDerivation rec {
+  pname = "usbrelayd";
+
+  inherit (usbrelay) src version;
+
+  postPatch = ''
+    substituteInPlace 'usbrelayd.service' \
+      --replace '/usr/bin/python3' "${python}/bin/python3" \
+      --replace '/usr/sbin/usbrelayd' "$out/bin/usbrelayd"
+  '';
+
+  buildInputs = [ python ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall;
+    install -m 644 -D usbrelayd $out/bin/usbrelayd
+    install -m 644 -D usbrelayd.service $out/lib/systemd/system/usbrelayd.service
+    install -m 644 -D 50-usbrelay.rules $out/lib/udev/rules.d/50-usbrelay.rules
+    runHook postInstall
+  '';
+  # TODO for later releases: install -D usbrelayd.conf $out/etc/usbrelayd.conf # include this as an example
+
+  meta = {
+    description = "USB Relay MQTT service";
+    inherit (usbrelay.meta) homepage license maintainers platforms;
+  };
+}
diff --git a/pkgs/os-specific/linux/usbrelay/default.nix b/pkgs/os-specific/linux/usbrelay/default.nix
new file mode 100644
index 00000000000..ebbb1dd7922
--- /dev/null
+++ b/pkgs/os-specific/linux/usbrelay/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, lib, fetchFromGitHub, hidapi }:
+stdenv.mkDerivation rec {
+  pname = "usbrelay";
+  version = "0.9";
+
+  src = fetchFromGitHub {
+    owner = "darrylb123";
+    repo = "usbrelay";
+    rev = version;
+    sha256 = "sha256-bxME4r5W5bZKxMZ/Svi1EenqHKVWIjU6iiKaM8U6lmA=";
+  };
+
+  buildInputs = [
+    hidapi
+  ];
+
+  makeFlags = [
+    "DIR_VERSION=${version}"
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  meta = with lib; {
+    description = "Tool to control USB HID relays";
+    homepage = "https://github.com/darrylb123/usbrelay";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ wentasah ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/usbrelay/python.nix b/pkgs/os-specific/linux/usbrelay/python.nix
new file mode 100644
index 00000000000..02d5ac284ed
--- /dev/null
+++ b/pkgs/os-specific/linux/usbrelay/python.nix
@@ -0,0 +1,12 @@
+{ buildPythonPackage, usbrelay }:
+
+buildPythonPackage rec {
+  pname = "usbrelay_py";
+  inherit (usbrelay) version src;
+
+  buildInputs = [ usbrelay ];
+
+  pythonImportsCheck = [ "usbrelay_py" ];
+
+  inherit (usbrelay) meta;
+}
diff --git a/pkgs/os-specific/linux/usbrelay/test.nix b/pkgs/os-specific/linux/usbrelay/test.nix
new file mode 100644
index 00000000000..dc5847558a6
--- /dev/null
+++ b/pkgs/os-specific/linux/usbrelay/test.nix
@@ -0,0 +1,63 @@
+# NixOS test for usbrelayd
+#
+# It is not stored in nixos/tests directory, because it requires the
+# USB relay connected to the host computer and as such, it cannot be
+# run automatically.
+#
+# Run this test as:
+#
+#     nix-build test.nix -A driverInteractive && ./result/bin/nixos-test-driver --no-interactive
+#
+# The interactive driver is required because the default
+# (non-interactive) driver uses qemu without support for passing USB
+# devices to the guest (see
+# https://discourse.nixos.org/t/hardware-dependent-nixos-tests/18564
+# for discussion of other alternatives).
+
+import ../../../../nixos/tests/make-test-python.nix ({ pkgs, ... }: {
+  name = "usbrelayd";
+
+  nodes.machine = {
+    virtualisation.qemu.options = [
+      "-device qemu-xhci"
+      "-device usb-host,vendorid=0x16c0,productid=0x05df"
+    ];
+    services.usbrelayd.enable = true;
+    systemd.services.usbrelayd = {
+      after = [ "mosquitto.service" ];
+    };
+    services.mosquitto = {
+      enable = true;
+      listeners = [{
+        acl = [ "pattern readwrite #" ];
+        omitPasswordAuth = true;
+        settings.allow_anonymous = true;
+      }];
+    };
+    environment.systemPackages = [
+      pkgs.usbrelay
+      pkgs.mosquitto
+    ];
+    documentation.nixos.enable = false; # building nixos manual takes long time
+  };
+
+  testScript = ''
+    if os.waitstatus_to_exitcode(os.system("lsusb -d 16c0:05df")) != 0:
+        print("No USB relay detected, skipping test")
+        import sys
+        sys.exit(2)
+    machine.start()
+    # usbrelayd is started by udev when an relay is detected
+    machine.wait_for_unit("usbrelayd.service")
+
+    stdout = machine.succeed("usbrelay")
+    relay_id = stdout.split(sep="_")[0]
+    assert relay_id != ""
+    import time
+    time.sleep(1)
+    machine.succeed(f"mosquitto_pub -h localhost -t cmnd/{relay_id}/1 -m ON")
+    time.sleep(1)
+    machine.succeed(f"mosquitto_pub -h localhost -t cmnd/{relay_id}/1 -m OFF")
+    print("Did you see the relay switching on and off?")
+  '';
+})
diff --git a/pkgs/os-specific/linux/vmware/default.nix b/pkgs/os-specific/linux/vmware/default.nix
new file mode 100644
index 00000000000..aa77a10015e
--- /dev/null
+++ b/pkgs/os-specific/linux/vmware/default.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, fetchFromGitHub, kernel, kmod, gnugrep, vmware-workstation }:
+
+stdenv.mkDerivation rec {
+  pname = "vmware-modules";
+  version = "${vmware-workstation.version}-${kernel.version}";
+
+  src = fetchFromGitHub {
+    owner = "mkubecek";
+    repo = "vmware-host-modules";
+    rev = "w${vmware-workstation.version}-k5.17";
+    sha256 = "sha256-EM6YU2nOwNlAXpQ7cGrLS1N+gAS1KxleVjJTzo22De0=";
+  };
+
+  hardeningDisable = [ "pic" ];
+
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  enableParallelBuilding = true;
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace '/lib/modules/$(VM_UNAME)/misc' "$out/lib/modules/${kernel.modDirVersion}/misc" \
+      --replace '$(shell uname -r)' "${kernel.modDirVersion}" \
+      --replace /sbin/modinfo "${kmod}/bin/modinfo" \
+      --replace 'test -z "$(DESTDIR)"' "0"
+
+    for module in "vmmon-only" "vmnet-only"; do
+      substituteInPlace "./$module/Makefile" \
+        --replace '/lib/modules/' "${kernel.dev}/lib/modules/" \
+        --replace '$(shell uname -r)' "${kernel.modDirVersion}" \
+        --replace /bin/grep "${gnugrep}/bin/grep"
+    done
+  '';
+
+  preInstall = ''
+    mkdir -p "$out/lib/modules/${kernel.modDirVersion}/misc"
+  '';
+
+  meta = with lib; {
+    description = "Kernel modules needed for VMware hypervisor";
+    homepage = "https://github.com/mkubecek/vmware-host-modules";
+    license = licenses.gpl2Only;
+    platforms = [ "x86_64-linux" ];
+    broken = kernel.kernelOlder "5.5" && kernel.isHardened;
+    maintainers = with maintainers; [ deinferno ];
+  };
+}
diff --git a/pkgs/pkgs-lib/formats/java-properties/default.nix b/pkgs/pkgs-lib/formats/java-properties/default.nix
index 6ac56bff4bf..d3a4761f0f8 100644
--- a/pkgs/pkgs-lib/formats/java-properties/default.nix
+++ b/pkgs/pkgs-lib/formats/java-properties/default.nix
@@ -1,6 +1,10 @@
 { lib, pkgs }:
+let
+  inherit (lib) types;
+  inherit (types) attrsOf oneOf coercedTo str bool int float package;
+in
 {
-  javaProperties = { comment ? "Generated with Nix" }: {
+  javaProperties = { comment ? "Generated with Nix", boolToString ? lib.boolToString }: {
 
     # Design note:
     # A nested representation of inevitably leads to bad UX:
@@ -25,7 +29,21 @@
     # We _can_ choose to support hierarchical config files
     # via nested attrsets, but the module author should
     # make sure that problem (2) does not occur.
-    type = lib.types.attrsOf lib.types.str;
+    type = let
+      elemType =
+        oneOf ([
+          # `package` isn't generalized to `path` because path values
+          # are ambiguous. Are they host path strings (toString /foo/bar)
+          # or should they be added to the store? ("${/foo/bar}")
+          # The user must decide.
+          (coercedTo package toString str)
+
+          (coercedTo bool boolToString str)
+          (coercedTo int toString str)
+          (coercedTo float toString str)
+        ])
+        // { description = "string, package, bool, int or float"; };
+      in attrsOf elemType;
 
     generate = name: value:
       pkgs.runCommandLocal name
diff --git a/pkgs/pkgs-lib/formats/java-properties/test/default.nix b/pkgs/pkgs-lib/formats/java-properties/test/default.nix
index 4b3845c1029..4a51179d1c8 100644
--- a/pkgs/pkgs-lib/formats/java-properties/test/default.nix
+++ b/pkgs/pkgs-lib/formats/java-properties/test/default.nix
@@ -5,6 +5,12 @@
 , lib
 , stdenv
 }:
+
+# This test primarily tests correct escaping.
+# See also testJavaProperties in
+# pkgs/pkgs-lib/tests/formats.nix, which tests
+# type coercions and is a bit easier to read.
+
 let
   inherit (lib) concatStrings attrValues mapAttrs;
 
@@ -71,7 +77,8 @@ stdenv.mkDerivation {
   src = lib.sourceByRegex ./. [
     ".*\.java"
   ];
-  LANG = "C.UTF-8";
+  # On Linux, this can be C.UTF-8, but darwin + zulu requires en_US.UTF-8
+  LANG = "en_US.UTF-8";
   buildPhase = ''
     javac Main.java
   '';
diff --git a/pkgs/pkgs-lib/tests/formats.nix b/pkgs/pkgs-lib/tests/formats.nix
index aa51e2c5842..dba7f981cbd 100644
--- a/pkgs/pkgs-lib/tests/formats.nix
+++ b/pkgs/pkgs-lib/tests/formats.nix
@@ -18,8 +18,11 @@ let
       }) [ def ]);
     in formatSet.generate "test-format-file" config;
 
-  runBuildTest = name: { drv, expected }: pkgs.runCommand name {} ''
-    if diff -u '${builtins.toFile "expected" expected}' '${drv}'; then
+  runBuildTest = name: { drv, expected }: pkgs.runCommand name {
+    passAsFile = ["expected"];
+    inherit expected drv;
+  } ''
+    if diff -u "$expectedPath" "$drv"; then
       touch "$out"
     else
       echo
@@ -171,11 +174,21 @@ in runBuildTests {
     '';
   };
 
-  # See also java-properties/default.nix for more complete tests
+  # This test is responsible for
+  #   1. testing type coercions
+  #   2. providing a more readable example test
+  # Whereas java-properties/default.nix tests the low level escaping, etc.
   testJavaProperties = {
     drv = evalFormat formats.javaProperties {} {
+      floaty = 3.1415;
+      tautologies = true;
+      contradictions = false;
       foo = "bar";
-      "1" = "2";
+      # # Disallowed at eval time, because it's ambiguous:
+      # # add to store or convert to string?
+      # root = /root;
+      "1" = 2;
+      package = pkgs.hello;
       "ütf 8" = "dûh";
       # NB: Some editors (vscode) show this _whole_ line in right-to-left order
       "الجبر" = "أكثر من مجرد أرقام";
@@ -184,7 +197,11 @@ in runBuildTests {
       # Generated with Nix
 
       1 = 2
+      contradictions = false
+      floaty = 3.141500
       foo = bar
+      package = ${pkgs.hello}
+      tautologies = true
       \u00fctf\ 8 = d\u00fbh
       \u0627\u0644\u062c\u0628\u0631 = \u0623\u0643\u062b\u0631 \u0645\u0646 \u0645\u062c\u0631\u062f \u0623\u0631\u0642\u0627\u0645
     '';
diff --git a/pkgs/servers/adguardhome/bins.nix b/pkgs/servers/adguardhome/bins.nix
index 96b2e9491fe..bbcc7cf5489 100644
--- a/pkgs/servers/adguardhome/bins.nix
+++ b/pkgs/servers/adguardhome/bins.nix
@@ -1,18 +1,22 @@
 { fetchurl, fetchzip }:
 {
-"x86_64-darwin" = fetchzip {
+x86_64-darwin = fetchzip {
   sha256 = "sha256-vUOdHDyvVg+8GhctW925WfjONi7TnPRfVfXmehOweB4=";
   url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.6/AdGuardHome_darwin_amd64.zip";
 };
-"i686-linux" = fetchurl {
+aarch64-darwin = fetchzip {
+  sha256 = "sha256-3JmMvxd317Qmyrv7vWyfQsLol+yPuKBXHByt5YRrbX8=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.6/AdGuardHome_darwin_arm64.zip";
+};
+i686-linux = fetchurl {
   sha256 = "sha256-A6IsDRbRHyU0+IUKkrudKvlKiJkVNNs12MrKQ6RlpMQ=";
   url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.6/AdGuardHome_linux_386.tar.gz";
 };
-"x86_64-linux" = fetchurl {
+x86_64-linux = fetchurl {
   sha256 = "sha256-nPcqAk0m1e9izkylBuNcatHESgvSewR+MKmVdz+HBec=";
   url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.6/AdGuardHome_linux_amd64.tar.gz";
 };
-"aarch64-linux" = fetchurl {
+aarch64-linux = fetchurl {
   sha256 = "sha256-ITkZdVU03FG9AUAMgD6nlCyioPJX357wB9m1jYdPlS4=";
   url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.6/AdGuardHome_linux_arm64.tar.gz";
 };
diff --git a/pkgs/servers/adguardhome/default.nix b/pkgs/servers/adguardhome/default.nix
index 8b0c743856d..be3943c9fad 100644
--- a/pkgs/servers/adguardhome/default.nix
+++ b/pkgs/servers/adguardhome/default.nix
@@ -1,10 +1,14 @@
 { lib, stdenv, fetchurl, fetchzip, nixosTests }:
 
+let
+  inherit (stdenv.hostPlatform) system;
+  sources = import ./bins.nix { inherit fetchurl fetchzip; };
+in
+
 stdenv.mkDerivation rec {
   pname = "adguardhome";
   version = "0.107.6";
-
-  src = (import ./bins.nix { inherit fetchurl fetchzip; }).${stdenv.hostPlatform.system};
+  src = sources.${system} or (throw "Source for ${pname} is not available for ${system}");
 
   installPhase = ''
     install -m755 -D ./AdGuardHome $out/bin/adguardhome
@@ -18,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/AdguardTeam/AdGuardHome";
     description = "Network-wide ads & trackers blocking DNS server";
-    platforms = [ "x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin" ];
+    platforms = builtins.attrNames sources;
     maintainers = with maintainers; [ numkem iagoq ];
     license = licenses.gpl3Only;
   };
diff --git a/pkgs/servers/adguardhome/update.sh b/pkgs/servers/adguardhome/update.sh
index 69f1d8e97fd..5f436bb126d 100755
--- a/pkgs/servers/adguardhome/update.sh
+++ b/pkgs/servers/adguardhome/update.sh
@@ -18,9 +18,10 @@ systems[linux_386]=i686-linux
 systems[linux_amd64]=x86_64-linux
 systems[linux_arm64]=aarch64-linux
 systems[darwin_amd64]=x86_64-darwin
+systems[darwin_arm64]=aarch64-darwin
 
 echo '{ fetchurl, fetchzip }:' > "$bins"
-echo '{'        >> "$bins"
+echo '{' >> "$bins"
 
 for asset in $(curl --silent https://api.github.com/repos/AdguardTeam/AdGuardHome/releases/latest | jq -c '.assets[]') ; do
     url="$(jq -r '.browser_download_url' <<< "$asset")"
@@ -29,7 +30,7 @@ for asset in $(curl --silent https://api.github.com/repos/AdguardTeam/AdGuardHom
         fetch="$(grep '\.zip$' <<< "$url" > /dev/null && echo fetchzip || echo fetchurl)"
         nix_system=${systems[$adg_system]}
         nix_src="$(nix-prefetch -s --output nix $fetch --url $url)"
-        echo "\"$nix_system\" = $fetch $nix_src;" >> $bins
+        echo "$nix_system = $fetch $nix_src;" >> $bins
     fi
 done
 
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index 37e6f1fd243..c59d53897fc 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -3,7 +3,7 @@
 , fetchurl
 , erlang
 , elixir
-, python2
+, python3
 , libxml2
 , libxslt
 , xmlto
@@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-c6GpB6CSCHiU9hTC9FkxyTc1UpNWxx5iP3y2dbTUfS0=";
   };
 
-  nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync ];
-  buildInputs = [ erlang elixir python2 libxml2 libxslt glibcLocales ]
+  nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync python3 ];
+  buildInputs = [ erlang elixir libxml2 libxslt glibcLocales ]
     ++ lib.optionals stdenv.isDarwin [ AppKit Carbon Cocoa ];
 
   outputs = [ "out" "man" "doc" ];
diff --git a/pkgs/servers/asterisk/default.nix b/pkgs/servers/asterisk/default.nix
index ab309612788..eb8560a98b3 100644
--- a/pkgs/servers/asterisk/default.nix
+++ b/pkgs/servers/asterisk/default.nix
@@ -1,8 +1,10 @@
-{ stdenv, lib, fetchurl, fetchsvn,
+{ stdenv, lib, fetchurl, fetchsvn, fetchFromGitHub,
   jansson, libedit, libxml2, libxslt, ncurses, openssl, sqlite,
   util-linux, dmidecode, libuuid, newt,
-  lua, speex,
-  srtp, wget, curl, iksemel, pkg-config
+  lua, speex, libopus, opusfile, libogg,
+  srtp, wget, curl, iksemel, pkg-config,
+  autoconf, libtool, automake,
+  withOpus ? true,
 }:
 
 let
@@ -13,8 +15,9 @@ let
     buildInputs = [ jansson libedit libxml2 libxslt ncurses openssl sqlite
                     dmidecode libuuid newt
                     lua speex
-                    srtp wget curl iksemel ];
-    nativeBuildInputs = [ util-linux pkg-config ];
+                    srtp wget curl iksemel ]
+                  ++ lib.optionals withOpus [ libopus opusfile libogg ];
+    nativeBuildInputs = [ util-linux pkg-config autoconf libtool automake ];
 
     patches = [
       # We want the Makefile to install the default /var skeleton
@@ -22,7 +25,7 @@ let
       # This patch changes the runtime behavior to look for state
       # directories in /var rather than ${out}/var.
       ./runtime-vardirs.patch
-    ];
+    ] ++ lib.optional withOpus "${asterisk-opus}/asterisk.patch";
 
     postPatch = ''
       echo "PJPROJECT_CONFIG_OPTS += --prefix=$out" >> third-party/pjproject/Makefile.rules
@@ -49,6 +52,12 @@ let
       ${lib.optionalString (externals ? "addons/mp3") "bash contrib/scripts/get_mp3_source.sh || true"}
 
       chmod -w externals_cache
+      ${lib.optionalString withOpus ''
+        cp ${asterisk-opus}/include/asterisk/* ./include/asterisk
+        cp ${asterisk-opus}/codecs/* ./codecs
+        cp ${asterisk-opus}/formats/* ./formats
+      ''}
+      ./bootstrap.sh
     '';
 
     configureFlags = [
@@ -63,6 +72,10 @@ let
       ${lib.optionalString (externals ? "addons/mp3") ''
         substituteInPlace menuselect.makeopts --replace 'format_mp3 ' ""
       ''}
+      ${lib.optionalString withOpus ''
+        substituteInPlace menuselect.makeopts --replace 'codec_opus_open_source ' ""
+        substituteInPlace menuselect.makeopts --replace 'format_ogg_opus_open_source ' ""
+      ''}
     '';
 
     postInstall = ''
@@ -90,6 +103,14 @@ let
     sha256 = "1s9idx2miwk178sa731ig9r4fzx4gy1q8xazfqyd7q4lfd70s1cy";
   };
 
+  asterisk-opus = fetchFromGitHub {
+    owner = "traud";
+    repo = "asterisk-opus";
+    # No releases, points to master as of 2022-04-06
+    rev = "a959f072d3f364be983dd27e6e250b038aaef747";
+    sha256 = "sha256-CASlTvTahOg9D5jccF/IN10LP/U8rRy9BFCSaHGQfCw=";
+  };
+
   # auto-generated by update.py
   versions = lib.mapAttrs (_: {version, sha256}: common {
     inherit version sha256;
diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix
index f580abc1878..6dfe291746b 100644
--- a/pkgs/servers/atlassian/confluence.nix
+++ b/pkgs/servers/atlassian/confluence.nix
@@ -8,11 +8,11 @@ assert withMysql -> (mysql_jdbc != null);
 
 stdenvNoCC.mkDerivation rec {
   pname = "atlassian-confluence";
-  version = "7.14.1";
+  version = "7.17.1";
 
   src = fetchurl {
     url = "https://product-downloads.atlassian.com/software/confluence/downloads/${pname}-${version}.tar.gz";
-    sha256 = "1lcwdjby18xr54i408kncfhlizf18xcrnhfgsvhx5m02arid7mk7";
+    sha256 = "sha256-TFtWuJR/t3MMbs8Gd818ByOnMtiT4QxbcpgBxYXzFYY=";
   };
 
   buildPhase = ''
@@ -44,6 +44,6 @@ stdenvNoCC.mkDerivation rec {
     description = "Team collaboration software written in Java and mainly used in corporate environments";
     homepage = "https://www.atlassian.com/software/confluence";
     license = licenses.unfree;
-    maintainers = with maintainers; [ fpletz globin willibutz ciil ];
+    maintainers = with maintainers; [ fpletz globin willibutz ciil techknowlogick ];
   };
 }
diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix
index 7880c529c73..e9d38a41c02 100644
--- a/pkgs/servers/atlassian/jira.nix
+++ b/pkgs/servers/atlassian/jira.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-jira";
-  version = "8.22.0";
+  version = "8.22.2";
 
   src = fetchurl {
     url = "https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz";
-    sha256 = "sha256-swEq8g/A1Ok1P7JtceUDId7kG0GRtBPGblY09xt81Ys=";
+    sha256 = "sha256-j9JUIK4GOdY9rMLPZcWbjWUh/s2ZkoVEQBNAIqHhdYI=";
   };
 
   buildPhase = ''
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     description = "Proprietary issue tracking product, also providing project management functions";
     homepage = "https://www.atlassian.com/software/jira";
     license = licenses.unfree;
-    maintainers = with maintainers; [ fpletz globin ciil megheaiulian ];
+    maintainers = with maintainers; [ fpletz globin ciil megheaiulian techknowlogick ];
   };
 }
diff --git a/pkgs/servers/caddy/default.nix b/pkgs/servers/caddy/default.nix
index 46ce2a94a6b..711c65f6617 100644
--- a/pkgs/servers/caddy/default.nix
+++ b/pkgs/servers/caddy/default.nix
@@ -1,6 +1,6 @@
 { lib, buildGoModule, fetchFromGitHub, nixosTests }:
 let
-  version = "2.4.6";
+  version = "2.5.0";
   dist = fetchFromGitHub {
     owner = "caddyserver";
     repo = "dist";
@@ -18,10 +18,10 @@ buildGoModule {
     owner = "caddyserver";
     repo = "caddy";
     rev = "v${version}";
-    sha256 = "sha256-xNCxzoNpXkj8WF9+kYJfO18ux8/OhxygkGjA49+Q4vY=";
+    sha256 = "sha256-V9iIz/93n6EBJZ9v3MDKD6FivtplRFN9a/e0o7YX0/w=";
   };
 
-  vendorSha256 = "sha256-NomgHqIiugSISbEtvIbJDn5GRn6Dn72adLPkAvLbUQU=";
+  vendorSha256 = "sha256-xu3klc9yb4Ws8fvXRV286IDhi/zQVN1PKCiFKb8VJBo=";
 
   postInstall = ''
     install -Dm644 ${dist}/init/caddy.service ${dist}/init/caddy-api.service -t $out/lib/systemd/system
@@ -36,6 +36,6 @@ buildGoModule {
     homepage = "https://caddyserver.com";
     description = "Fast, cross-platform HTTP/2 web server with automatic HTTPS";
     license = licenses.asl20;
-    maintainers = with maintainers; [ Br1ght0ne ];
+    maintainers = with maintainers; [ Br1ght0ne techknowlogick ];
   };
 }
diff --git a/pkgs/servers/calibre-web/default.nix b/pkgs/servers/calibre-web/default.nix
index 30865403998..675230478f9 100644
--- a/pkgs/servers/calibre-web/default.nix
+++ b/pkgs/servers/calibre-web/default.nix
@@ -7,16 +7,17 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "calibre-web";
-  version = "0.6.17";
+  version = "0.6.18";
 
   src = fetchFromGitHub {
     owner = "janeczku";
     repo = "calibre-web";
     rev = version;
-    sha256 = "sha256-K2va9as+z00txpg/0fR89+kpMzpQSiSSIV489NDs8Bs=";
+    sha256 = "sha256-KjmpFetNhNM5tL34e/Pn1i3hc86JZglubSMsHZWu198=";
   };
 
   propagatedBuildInputs = with python3Packages; [
+    advocate
     backports_abc
     flask-babel
     flask_login
@@ -30,6 +31,7 @@ python3.pkgs.buildPythonApplication rec {
     tornado
     unidecode
     Wand
+    werkzeug
   ];
 
   patches = [
@@ -53,11 +55,14 @@ python3.pkgs.buildPythonApplication rec {
 
     substituteInPlace setup.cfg \
       --replace "cps = calibreweb:main" "calibre-web = calibreweb:main" \
-      --replace "flask-wtf>=0.14.2,<0.16.0" "flask-wtf>=0.14.2" \
-      --replace "lxml>=3.8.0,<4.7.0" "lxml>=3.8.0" \
-      --replace "PyPDF3>=1.0.0,<1.0.4" "PyPDF3>=1.0.0" \
-      --replace "requests>=2.11.1,<2.25.0" "requests" \
-      --replace "unidecode>=0.04.19,<1.3.0" "unidecode>=0.04.19"
+      --replace "Flask>=1.0.2,<2.1.0" "Flask>=1.0.2" \
+      --replace "Flask-Login>=0.3.2,<0.5.1" "Flask-Login>=0.3.2" \
+      --replace "flask-wtf>=0.14.2,<1.1.0" "flask-wtf>=0.14.2" \
+      --replace "lxml>=3.8.0,<4.9.0" "lxml>=3.8.0" \
+      --replace "PyPDF3>=1.0.0,<1.0.7" "PyPDF3>=1.0.0" \
+      --replace "requests>=2.11.1,<2.28.0" "requests" \
+      --replace "unidecode>=0.04.19,<1.4.0" "unidecode>=0.04.19" \
+      --replace "werkzeug<2.1.0" ""
   '';
 
   # Upstream repo doesn't provide any tests.
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index 1179e86351a..de0ac56478a 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -9,7 +9,7 @@
 
 stdenv.mkDerivation rec {
   pname = "slurm";
-  version = "21.08.6.1";
+  version = "21.08.7.1";
 
   # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
   # because the latter does not keep older releases.
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     repo = "slurm";
     # The release tags use - instead of .
     rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
-    sha256 = "1pdj2nxxky2g9j0y5h6f7fvpypbh0a4g76z90115yr770yf4g2hz";
+    sha256 = "1rhhfiwpfrg3mpdpvmdl3qz20ydi5m88dfv9hhwqm95sldqb6qw1";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/servers/dict/wiktionary/default.nix b/pkgs/servers/dict/wiktionary/default.nix
index 9ebbfb76739..03f60f694c5 100644
--- a/pkgs/servers/dict/wiktionary/default.nix
+++ b/pkgs/servers/dict/wiktionary/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dict-db-wiktionary";
-  version = "20220301";
+  version = "20220420";
 
   src = fetchurl {
     url = "https://dumps.wikimedia.org/enwiktionary/${version}/enwiktionary-${version}-pages-articles.xml.bz2";
-    sha256 = "Gobilm9Rlb7qtZU+hlsYOl1/BAjj/MtNp5z2GQx8NN8=";
+    sha256 = "qsha26LL2513SDtriE/0zdPX1zlnpzk1KKk+R9dSdew=";
   };
 
   # script in nixpkgs does not support python2
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index 7367c269ab8..20f7f831bdc 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "knot-dns";
-  version = "3.1.7";
+  version = "3.1.8";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
-    sha256 = "ffb6887e238ce4c7df0cc76bb55a5093465275201ac12156a3390782dc49857b";
+    sha256 = "767e458a56277a1270b359294c3be6c63fd734884d62a045e01756a46507aa94";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/servers/dns/pdns/default.nix b/pkgs/servers/dns/pdns/default.nix
index 0cec5f6e744..9dddfb03089 100644
--- a/pkgs/servers/dns/pdns/default.nix
+++ b/pkgs/servers/dns/pdns/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "powerdns";
-  version = "4.6.1";
+  version = "4.6.2";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-${version}.tar.bz2";
-    sha256 = "sha256-eRKxSIfWKEUYX3zktH21gOqnuLiX3LHJVV3+D6xe+uM=";
+    hash = "sha256-9EOEiUS7Ebu0hQIhYTs6Af+1f+vyZx2myqVzYu4LGbg=";
   };
   # redact configure flags from version output to reduce closure size
   patches = [ ./version.patch ];
diff --git a/pkgs/servers/etebase/default.nix b/pkgs/servers/etebase/default.nix
index e340d1ff2a5..9ed14ac5503 100644
--- a/pkgs/servers/etebase/default.nix
+++ b/pkgs/servers/etebase/default.nix
@@ -1,18 +1,10 @@
-{ lib, stdenv, python3, fetchFromGitHub }:
-
-let
-  py = python3.override {
-    packageOverrides = self: super: {
-      django = super.django_3;
-    };
-  };
-in
-  with py.pkgs;
+{ lib, fetchFromGitHub, buildPythonPackage, aioredis, aiofiles, django_3
+, fastapi, msgpack, pynacl, typing-extensions }:
 
 buildPythonPackage rec {
   pname = "etebase-server";
   version = "0.8.3";
-  format = "pyproject";
+  format = "other";
 
   src = fetchFromGitHub {
     owner = "etesync";
@@ -23,21 +15,14 @@ buildPythonPackage rec {
 
   patches = [ ./secret.patch ];
 
-  propagatedBuildInputs = with pythonPackages; [
-    asgiref
-    cffi
-    django
-    django-cors-headers
-    djangorestframework
-    drf-nested-routers
+  propagatedBuildInputs = [
+    aioredis
+    aiofiles
+    django_3
     fastapi
     msgpack
-    psycopg2
-    pycparser
     pynacl
-    pytz
-    six
-    sqlparse
+    typing-extensions
   ];
 
   installPhase = ''
diff --git a/pkgs/servers/foundationdb/vsmake.nix b/pkgs/servers/foundationdb/vsmake.nix
index 52807fc0620..284dc9fb3bd 100644
--- a/pkgs/servers/foundationdb/vsmake.nix
+++ b/pkgs/servers/foundationdb/vsmake.nix
@@ -3,7 +3,7 @@
 # (which will eventually become the default version.)
 { gcc6Stdenv, lib, fetchurl, fetchFromGitHub
 
-, which, findutils, m4, gawk
+, which, m4
 , python2, openjdk, mono, libressl
 , ...
 }:
@@ -51,7 +51,7 @@ let
           inherit rev sha256;
         };
 
-        nativeBuildInputs = [ python2 openjdk gawk which m4 findutils mono ];
+        nativeBuildInputs = [ python2 openjdk which m4 mono ];
         buildInputs = [ libressl boost ];
 
         inherit patches;
@@ -84,7 +84,7 @@ let
         makeFlags = [ "all" "fdb_java" "fdb_python" ]
           # Don't compile FDBLibTLS if we don't need it in 6.0 or later;
           # it gets statically linked in
-          ++ lib.optional (!lib.versionAtLeast version "6.0") [ "fdb_c" ]
+          ++ lib.optional (lib.versionOlder version "6.0") [ "fdb_c" ]
           # Needed environment overrides
           ++ [ "KVRELEASE=1"
                "NOSTRIP=1"
@@ -100,7 +100,7 @@ let
         installPhase = ''
           mkdir -vp $out/{bin,libexec/plugins} $lib/{lib,share/java} $dev/include/foundationdb
 
-        '' + lib.optionalString (!lib.versionAtLeast version "6.0") ''
+        '' + lib.optionalString (lib.versionOlder version "6.0") ''
           # we only copy the TLS library on < 6.0, since it's compiled-in otherwise
           cp -v ./lib/libFDBLibTLS.so $out/libexec/plugins/FDBLibTLS.so
         '' + ''
diff --git a/pkgs/servers/gortr/default.nix b/pkgs/servers/gortr/default.nix
index 721570c5c0a..44057033bd5 100644
--- a/pkgs/servers/gortr/default.nix
+++ b/pkgs/servers/gortr/default.nix
@@ -10,9 +10,8 @@ buildGoModule rec {
     rev = "v${version}";
     sha256 = "10dq42d3hb6a3ln3x1rag1lqzhwqb66xn4q8k4igjkn5my81nr6q";
   };
-  vendorSha256 = "1nwrzbpqycr4ixk8a90pgaxcwakv5nlfnql6hmcc518qrva198wp";
 
-  doCheck = false;
+  vendorSha256 = "1nwrzbpqycr4ixk8a90pgaxcwakv5nlfnql6hmcc518qrva198wp";
 
   meta = with lib; {
     description = "The RPKI-to-Router server used at Cloudflare";
diff --git a/pkgs/servers/gpm/default.nix b/pkgs/servers/gpm/default.nix
index 206ac6131e4..f132f98344a 100644
--- a/pkgs/servers/gpm/default.nix
+++ b/pkgs/servers/gpm/default.nix
@@ -1,16 +1,16 @@
-{ lib, stdenv, fetchurl, automake, autoconf, libtool, flex, bison, texinfo, fetchpatch
-
-# Optional Dependencies
-, ncurses ? null
+{ lib, stdenv, fetchFromGitHub, automake, autoconf, libtool, flex, bison, texinfo, fetchpatch, pkgsStatic
+, withNcurses ? true, ncurses
 }:
 
 stdenv.mkDerivation rec {
   pname = "gpm";
-  version = "1.20.7";
+  version = "unstable-2020-06-17";
 
-  src = fetchurl {
-    url = "https://www.nico.schottelius.org/software/gpm/archives/gpm-${version}.tar.bz2";
-    sha256 = "13d426a8h403ckpc8zyf7s2p5rql0lqbg2bv0454x0pvgbfbf4gh";
+  src = fetchFromGitHub {
+    owner = "telmich";
+    repo = "gpm";
+    rev = "e82d1a653ca94aa4ed12441424da6ce780b1e530";
+    sha256 = "0ndn6dwc87slvyqp2cnbb02a6hkjwb6zjhs6viysykv06hq7ihy6";
   };
 
   postPatch = ''
@@ -23,24 +23,9 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "format" ];
 
   patches = [
-    # musl compat patches, safe everywhere
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/gentoo/musl/5aed405d87dfa92a5cab1596f898e9dea07169b8/sys-libs/gpm/files/gpm-1.20.7-musl-missing-headers.patch";
-      sha256 = "1g338m6j1sba84wlqp1r6rpabj5nm6ki577hjalg46czg0lfp20h";
-    })
-    # Touches same code as glibc fix in postPatch above, but on the non-glibc route
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/gentoo/musl/5aed405d87dfa92a5cab1596f898e9dea07169b8/sys-libs/gpm/files/gpm-1.20.7-musl-portable-sigaction.patch";
-      sha256 = "0hfdqm9977hd5dpzn05y0a6jbj55w1kp4hd9gyzmg9wslmxni4rg";
-    })
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/gentoo/musl/5aed405d87dfa92a5cab1596f898e9dea07169b8/sys-libs/gpm/files/gpm-1.20.7-sysmacros.patch";
-      sha256 = "0lg4l9phvy2n8gy17qsn6zn0qq52vm8g01pgq5kqpr8sd3fb21c2";
-    })
-    (fetchpatch {
-      # upstream build fix against -fno-common compilers like >=gcc-10
-      url = "https://github.com/telmich/gpm/commit/f04f24dd5ca5c1c13608b144ab66e2ccd47f106a.patch";
-      sha256 = "1q5hl5m61pci2f0x7r5in99rmqh328v1k0zj2693wdlafk9dabks";
+    (fetchpatch { # pull request telmich/gpm#42
+      url = "https://github.com/kaction/gpm/commit/217b4fe4c9b62298a4e9a54c1f07e3b52b013a09.patch";
+      sha256 = "1f74h12iph4z1dldbxk9imcq11805c3ai2xhbsqvx8jpjrcfp19q";
     })
   ];
   preConfigure = ''
@@ -58,6 +43,8 @@ stdenv.mkDerivation rec {
     ln -sv $out/lib/libgpm.so.2 $out/lib/libgpm.so
   '';
 
+  passthru.tests.static = pkgsStatic.gpm;
+
   meta = with lib; {
     homepage = "https://www.nico.schottelius.org/software/gpm/";
     description = "A daemon that provides mouse support on the Linux console";
diff --git a/pkgs/servers/grocy/default.nix b/pkgs/servers/grocy/default.nix
index bcdd3c97c2a..059f325adaa 100644
--- a/pkgs/servers/grocy/default.nix
+++ b/pkgs/servers/grocy/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "grocy";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchurl {
     url = "https://github.com/grocy/grocy/releases/download/v${version}/grocy_${version}.zip";
-    sha256 = "sha256-UPawutm5MllPYdru+Rpk8UYfHDNcrNYaq4qMbZksouI=";
+    sha256 = "sha256-y0l0V+cTIfZYtyV8l6kdFW9UzJWb7eQMEocaPo7TLbg=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/servers/heisenbridge/default.nix b/pkgs/servers/heisenbridge/default.nix
index cfbf1c1fb95..f217c993234 100644
--- a/pkgs/servers/heisenbridge/default.nix
+++ b/pkgs/servers/heisenbridge/default.nix
@@ -1,20 +1,17 @@
 { lib, fetchFromGitHub, fetchpatch, python3 }:
 python3.pkgs.buildPythonApplication rec {
   pname = "heisenbridge";
-  version = "1.10.1";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "hifi";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-c+YP4pEGvLi7wZsDXrkoqR/isuYfXQmTwQp9gN5jHkQ=";
+    sha256 = "sha256-10y0sWpOLbjbGBpOjr1/tJrhcOsCwcm2sSO5kHfmJZA=";
   };
 
   postPatch = ''
     echo "${version}" > heisenbridge/version.txt
-
-    substituteInPlace setup.cfg \
-      --replace "irc >=19.0.0, <20.0" "irc"
   '';
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 90a7259afe6..3ffb7594cd0 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "2022.4.6";
+  version = "2022.5.0";
   components = {
     "abode" = ps: with ps; [
       abodepy
@@ -157,12 +157,9 @@
     ];
     "arest" = ps: with ps; [
     ];
-    "arlo" = ps: with ps; [
-      ha-ffmpeg
-      pyarlo
-    ];
     "arris_tg2492lg" = ps: with ps; [
-    ]; # missing inputs: arris-tg2492lg
+      arris-tg2492lg
+    ];
     "aruba" = ps: with ps; [
       pexpect
     ];
@@ -553,8 +550,6 @@
     "digital_ocean" = ps: with ps; [
       digital-ocean
     ];
-    "digitalloggers" = ps: with ps; [
-    ]; # missing inputs: dlipower
     "directv" = ps: with ps; [
       directv
     ];
@@ -822,7 +817,8 @@
       fitbit
     ];
     "fivem" = ps: with ps; [
-    ]; # missing inputs: fivem-api
+      fivem-api
+    ];
     "fixer" = ps: with ps; [
       fixerio
     ];
@@ -991,8 +987,7 @@
     ];
     "google" = ps: with ps; [
       aiohttp-cors
-      google-api-python-client
-      httplib2
+      gcal-sync
       oauth2client
     ];
     "google_assistant" = ps: with ps; [
@@ -1053,7 +1048,8 @@
       hangups
     ];
     "harman_kardon_avr" = ps: with ps; [
-    ]; # missing inputs: hkavr
+      hkavr
+    ];
     "harmony" = ps: with ps; [
       aioharmony
     ];
@@ -1245,9 +1241,15 @@
     ];
     "insteon" = ps: with ps; [
       aiohttp-cors
+      fnvhash
+      home-assistant-frontend
+      insteon-frontend-home-assistant
+      lru-dict
+      pillow
       pyinsteon
       pyserial
       pyudev
+      sqlalchemy
     ];
     "integration" = ps: with ps; [
     ];
@@ -1388,8 +1390,10 @@
       life360
     ];
     "lifx" = ps: with ps; [
+      aiohttp-cors
       aiolifx
       aiolifx-effects
+      ifaddr
     ];
     "lifx_cloud" = ps: with ps; [
     ];
@@ -1511,6 +1515,9 @@
     "mazda" = ps: with ps; [
       pymazda
     ];
+    "meater" = ps: with ps; [
+      meater-python
+    ];
     "media_extractor" = ps: with ps; [
       aiohttp-cors
       youtube-dl-light
@@ -1905,7 +1912,8 @@
       pyopnsense
     ];
     "opple" = ps: with ps; [
-    ]; # missing inputs: pyoppleio
+      pyoppleio
+    ];
     "oru" = ps: with ps; [
     ]; # missing inputs: oru
     "orvibo" = ps: with ps; [
@@ -1957,9 +1965,11 @@
       sqlalchemy
     ];
     "peco" = ps: with ps; [
-    ]; # missing inputs: peco
+      peco
+    ];
     "pencom" = ps: with ps; [
-    ]; # missing inputs: pencompy
+      pencompy
+    ];
     "persistent_notification" = ps: with ps; [
     ];
     "person" = ps: with ps; [
@@ -2082,6 +2092,9 @@
     ];
     "qnap" = ps: with ps; [
     ]; # missing inputs: qnapstats
+    "qnap_qsw" = ps: with ps; [
+      aioqsw
+    ];
     "qrcode" = ps: with ps; [
       pillow
       pyzbar
@@ -2109,9 +2122,11 @@
       radiotherm
     ];
     "rainbird" = ps: with ps; [
-    ]; # missing inputs: pyrainbird
+      pyrainbird
+    ];
     "raincloud" = ps: with ps; [
-    ]; # missing inputs: raincloudy
+      raincloudy
+    ];
     "rainforest_eagle" = ps: with ps; [
       aioeagle
       ueagle
@@ -2140,7 +2155,8 @@
       praw
     ];
     "rejseplanen" = ps: with ps; [
-    ]; # missing inputs: rjpl
+      rjpl
+    ];
     "remember_the_milk" = ps: with ps; [
       httplib2
     ]; # missing inputs: RtmAPI
@@ -2241,7 +2257,8 @@
       sqlalchemy
     ];
     "saj" = ps: with ps; [
-    ]; # missing inputs: pysaj
+      pysaj
+    ];
     "samsungtv" = ps: with ps; [
       aiohttp-cors
       async-upnp-client
@@ -2291,7 +2308,8 @@
       aiosenseme
     ];
     "sensibo" = ps: with ps; [
-    ]; # missing inputs: pysensibo
+      pysensibo
+    ];
     "sensor" = ps: with ps; [
       fnvhash
       lru-dict
@@ -2300,6 +2318,10 @@
     "sentry" = ps: with ps; [
       sentry-sdk
     ];
+    "senz" = ps: with ps; [
+      aiohttp-cors
+      aiosenz
+    ];
     "serial" = ps: with ps; [
       pyserial-asyncio
     ];
@@ -2373,6 +2395,10 @@
     ];
     "slide" = ps: with ps; [
     ]; # missing inputs: goslide-api
+    "slimproto" = ps: with ps; [
+      aiohttp-cors
+      aioslimproto
+    ];
     "sma" = ps: with ps; [
       pysma
     ];
@@ -2411,7 +2437,7 @@
       paho-mqtt
     ];
     "snmp" = ps: with ps; [
-      pysnmp
+      pysnmplib
     ];
     "solaredge" = ps: with ps; [
       solaredge
@@ -2738,6 +2764,9 @@
       pytradfri
     ]
     ++ pytradfri.extras-require.async;
+    "trafikverket_ferry" = ps: with ps; [
+      pytrafikverket
+    ];
     "trafikverket_train" = ps: with ps; [
       pytrafikverket
     ];
@@ -2819,11 +2848,10 @@
     ];
     "update" = ps: with ps; [
     ];
-    "updater" = ps: with ps; [
-    ];
     "upnp" = ps: with ps; [
       aiohttp-cors
       async-upnp-client
+      getmac
       ifaddr
       zeroconf
     ];
@@ -3122,7 +3150,8 @@
       ifaddr
       url-normalize
       zeroconf
-    ]; # missing inputs: zwave_me_ws
+      zwave-me-ws
+    ];
   };
   # components listed in tests/components for which all dependencies are packaged
   supportedComponentsWithTests = [
@@ -3158,7 +3187,6 @@
     "apprise"
     "aprs"
     "arcam_fmj"
-    "arlo"
     "aseko_pool_live"
     "asuswrt"
     "atag"
@@ -3281,6 +3309,7 @@
     "filter"
     "fireservicerota"
     "firmata"
+    "fivem"
     "fjaraskupan"
     "flic"
     "flick_electric"
@@ -3425,6 +3454,7 @@
     "manual_mqtt"
     "maxcube"
     "mazda"
+    "meater"
     "media_player"
     "media_source"
     "melcloud"
@@ -3505,6 +3535,7 @@
     "p1_monitor"
     "panel_custom"
     "panel_iframe"
+    "peco"
     "persistent_notification"
     "person"
     "philips_js"
@@ -3528,6 +3559,7 @@
     "pvpc_hourly_pricing"
     "python_script"
     "qld_bushfire"
+    "qnap_qsw"
     "rachio"
     "radarr"
     "radio_browser"
@@ -3567,8 +3599,10 @@
     "select"
     "sense"
     "senseme"
+    "sensibo"
     "sensor"
     "sentry"
+    "senz"
     "seventeentrack"
     "shell_command"
     "shelly"
@@ -3582,6 +3616,7 @@
     "siren"
     "slack"
     "sleepiq"
+    "slimproto"
     "sma"
     "smappee"
     "smart_meter_texas"
@@ -3635,6 +3670,7 @@
     "tailscale"
     "tankerkoenig"
     "tasmota"
+    "tautulli"
     "tcp"
     "telegram"
     "telegram_bot"
@@ -3658,6 +3694,7 @@
     "trace"
     "tractive"
     "tradfri"
+    "trafikverket_ferry"
     "trafikverket_train"
     "trafikverket_weatherstation"
     "transmission"
@@ -3676,7 +3713,6 @@
     "upb"
     "upcloud"
     "update"
-    "updater"
     "upnp"
     "uptime"
     "uptimerobot"
@@ -3735,5 +3771,6 @@
     "zodiac"
     "zone"
     "zwave_js"
+    "zwave_me"
   ];
 }
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index fbaba057ca4..b7d0faca0c1 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -30,7 +30,6 @@ let
   defaultOverrides = [
     # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
     (mkOverride "python-slugify" "4.0.1" "sha256-aaUXdm4AwSaOW7/A0BCgqFCN4LGNMK1aH/NX+K5yQnA=")
-    (mkOverride "voluptuous" "0.12.2" "sha256-TbGsUHnbkkmCDUnIkctGYKb4yuNQSRIQq850H6v1ZRM=")
 
     # pytest-aiohttp>0.3.0 breaks home-assistant tests
     (self: super: {
@@ -47,9 +46,21 @@ let
       aiohomekit = super.aiohomekit.overridePythonAttrs (oldAttrs: {
         doCheck = false; # requires aiohttp>=1.0.0
       });
+      gcal-sync = super.gcal-sync.overridePythonAttrs (oldAttrs: {
+        doCheck = false; # requires aiohttp>=1.0.0
+      });
       hass-nabucasa = super.hass-nabucasa.overridePythonAttrs (oldAttrs: {
         doCheck = false; # requires aiohttp>=1.0.0
       });
+      pydeconz = super.pydeconz.overridePythonAttrs (oldAttrs: {
+        doCheck = false; # requires pytest-aiohttp>=1.0.0
+      });
+      pynws = super.pynws.overridePythonAttrs (oldAttrs: {
+        doCheck = false; # requires pytest-aiohttp>=1.0.0
+      });
+      pytomorrowio = super.pytomorrowio.overridePythonAttrs (oldAttrs: {
+        doCheck = false; # requires pytest-aiohttp>=1.0.0
+      });
       rtsp-to-webrtc = super.rtsp-to-webrtc.overridePythonAttrs (oldAttrs: {
         doCheck = false; # requires pytest-aiohttp>=1.0.0
       });
@@ -110,7 +121,7 @@ let
         src = fetchFromGitHub {
           owner = "ManneW";
           repo = "vilfo-api-client-python";
-          rev = "v$version}";
+          rev = "v${version}";
           sha256 = "1gy5gpsg99rcm1cc3m30232za00r9i46sp74zpd12p3vzz1wyyqf";
         };
       });
@@ -168,7 +179,7 @@ let
   extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2022.4.6";
+  hassVersion = "2022.5.0";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -186,7 +197,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    hash = "sha256-f2cPkORh6DoNjqZFz7XjxQdZwej3k+8NtZTstYIbrc4=";
+    hash = "sha256-xlotye/8oeCs/ntNV4osGjcl7fo05ke7nFLQeee/USY=";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index fb708313072..98fe3a04e2b 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -4,7 +4,7 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20220405.0";
+  version = "20220504.0";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    sha256 = "sha256-M024uJJVhVSoGhJTc7d8NKItw0sAOGFuCsZNUe//vBg=";
+    sha256 = "sha256-CYhUId5SGfPX9beAZH0ZemwciVDxchbDcTvQcRhJwog=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/hqplayerd/default.nix b/pkgs/servers/hqplayerd/default.nix
index e2b3abc6c0a..fb6194eaab3 100644
--- a/pkgs/servers/hqplayerd/default.nix
+++ b/pkgs/servers/hqplayerd/default.nix
@@ -1,6 +1,6 @@
-{ stdenv
-, alsa-lib
+{ stdenv, lib
 , addOpenGLRunpath
+, alsa-lib
 , autoPatchelfHook
 , cairo
 , fetchurl
@@ -8,26 +8,25 @@
 , gcc11
 , gnome
 , gssdp
+, gupnp
+, gupnp-av
 , lame
-, lib
 , libgmpris
+, libusb-compat-0_1
 , llvmPackages_10
+, meson
 , mpg123
+, ninja
 , rpmextract
 , wavpack
-
-, gupnp
-, gupnp-av
-, meson
-, ninja
 }:
 stdenv.mkDerivation rec {
   pname = "hqplayerd";
-  version = "4.30.3-87";
+  version = "4.31.0-89";
 
   src = fetchurl {
     url = "https://www.signalyst.eu/bins/${pname}/fc35/${pname}-${version}.fc35.x86_64.rpm";
-    hash = "sha256-fEze4aScWDwHDTXU0GatdopQf6FWcywWCGhR/7zXK7A=";
+    hash = "sha256-L9S3MIbvvBViKSxu0x/GkE/pa61NETtw4vA8xM4rJEg=";
   };
 
   unpackPhase = ''
@@ -47,6 +46,7 @@ stdenv.mkDerivation rec {
     gupnp-av
     lame
     libgmpris
+    libusb-compat-0_1
     llvmPackages_10.openmp
     mpg123
     wavpack
@@ -58,34 +58,37 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    # main executable
-    mkdir -p $out/bin
-    cp ./usr/bin/hqplayerd $out/bin
+    # executables
+    mkdir -p $out
+    cp -rv ./usr/bin $out/bin
+
+    # libs
+    mkdir -p $out
+    cp -rv ./opt/hqplayerd/lib $out
 
-    # main configuration
-    mkdir -p $out/etc/hqplayer
-    cp ./etc/hqplayer/hqplayerd.xml $out/etc/hqplayer/
+    # configuration
+    mkdir -p $out/etc
+    cp -rv ./etc/hqplayer $out/etc/
 
     # udev rules
-    mkdir -p $out/etc/udev/rules.d
-    cp ./etc/udev/rules.d/50-taudio2.rules $out/etc/udev/rules.d/
+    mkdir -p $out/etc/udev
+    cp -rv ./etc/udev/rules.d $out/etc/udev/
 
     # kernel module cfgs
-    mkdir -p $out/etc/modules-load.d
-    cp ./etc/modules-load.d/taudio2.conf $out/etc/modules-load.d/
+    mkdir -p $out/etc
+    cp -rv ./etc/modules-load.d $out/etc/
 
     # systemd service file
-    mkdir -p $out/lib/systemd/system
-    cp ./usr/lib/systemd/system/hqplayerd.service $out/lib/systemd/system/
+    mkdir -p $out/lib/systemd
+    cp -rv ./usr/lib/systemd/system $out/lib/systemd/
 
     # documentation
-    mkdir -p $out/share/doc/hqplayerd
-    cp ./usr/share/doc/hqplayerd/* $out/share/doc/hqplayerd/
+    mkdir -p $out/share/doc
+    cp -rv ./usr/share/doc/hqplayerd $out/share/doc/
 
     # misc service support files
-    mkdir -p $out/var/lib/hqplayer
-    cp -r ./var/lib/hqplayer/web $out/var/lib/hqplayer
-
+    mkdir -p $out/var/lib
+    cp -rv ./var/lib/hqplayer $out/var/lib/
     runHook postInstall
   '';
 
diff --git a/pkgs/servers/http/couchdb/3.nix b/pkgs/servers/http/couchdb/3.nix
index 076edfb8453..7f02d5fb858 100644
--- a/pkgs/servers/http/couchdb/3.nix
+++ b/pkgs/servers/http/couchdb/3.nix
@@ -1,26 +1,26 @@
-{ lib, stdenv, fetchurl, erlang, icu, openssl, spidermonkey_78
+{ lib, stdenv, fetchurl, erlang, icu, openssl, spidermonkey_91
 , coreutils, bash, makeWrapper, python3, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "couchdb";
-  version = "3.2.1";
+  version = "3.2.2";
 
 
   # when updating this, please consider bumping the erlang/OTP version
   # in all-packages.nix
   src = fetchurl {
     url = "mirror://apache/couchdb/source/${version}/apache-${pname}-${version}.tar.gz";
-    sha256 = "1y5cfic88drlr9qiwyj2p8xc9m9hcbvw77j5lwbp0cav78f2vphi";
+    sha256 = "sha256-acn9b4ATNVf2igLpLdpypP1kbWRvQp9Fu4Mpow+C8g4=";
   };
 
-  buildInputs = [ erlang icu openssl spidermonkey_78 (python3.withPackages(ps: with ps; [ requests ]))];
+  buildInputs = [ erlang icu openssl spidermonkey_91 (python3.withPackages(ps: with ps; [ requests ]))];
   postPatch = ''
-    substituteInPlace src/couch/rebar.config.script --replace '/usr/include/mozjs-78' "${spidermonkey_78.dev}/include/mozjs-78"
+    substituteInPlace src/couch/rebar.config.script --replace '/usr/include/mozjs-91' "${spidermonkey_91.dev}/include/mozjs-91"
     patchShebangs bin/rebar
   '';
 
   dontAddPrefix= "True";
-  configureFlags = ["--spidermonkey-version=78"];
+  configureFlags = ["--spidermonkey-version=91"];
   buildFlags = ["release"];
 
   installPhase = ''
diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix
index fa711d1dff4..f6b91d77511 100644
--- a/pkgs/servers/http/nginx/generic.nix
+++ b/pkgs/servers/http/nginx/generic.nix
@@ -18,6 +18,7 @@
 , sha256 ? null # when not specifying src
 , configureFlags ? []
 , buildInputs ? []
+, extraPatches ? []
 , fixPatch ? p: p
 , preConfigure ? ""
 , postInstall ? null
@@ -106,6 +107,9 @@ stdenv.mkDerivation {
   NIX_CFLAGS_COMPILE = toString ([
     "-I${libxml2.dev}/include/libxml2"
     "-Wno-error=implicit-fallthrough"
+  ] ++ optionals (stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11") [
+    # fix build vts module on gcc11
+    "-Wno-error=stringop-overread"
   ] ++ optional stdenv.isDarwin "-Wno-error=deprecated-declarations");
 
   configurePlatforms = [];
@@ -134,7 +138,8 @@ stdenv.mkDerivation {
       url = "https://raw.githubusercontent.com/openwrt/packages/c057dfb09c7027287c7862afab965a4cd95293a3/net/nginx/patches/103-sys_nerr.patch";
       sha256 = "0s497x6mkz947aw29wdy073k8dyjq8j99lax1a1mzpikzr4rxlmd";
     })
-  ] ++ mapModules "patches");
+  ] ++ mapModules "patches")
+    ++ extraPatches;
 
   hardeningEnable = optional (!stdenv.isDarwin) "pie";
 
diff --git a/pkgs/servers/http/nginx/stable.nix b/pkgs/servers/http/nginx/stable.nix
index 5db7c65daa4..c219b01fbb3 100644
--- a/pkgs/servers/http/nginx/stable.nix
+++ b/pkgs/servers/http/nginx/stable.nix
@@ -1,6 +1,13 @@
-{ callPackage, ... } @ args:
+{ callPackage, fetchpatch, ... } @ args:
 
 callPackage ./generic.nix args {
   version = "1.20.2";
   sha256 = "0hjsyjzd35qyw49w210f67g678kvzinw4kg1acb0l6c2fxspd24m";
+  extraPatches = [
+    (fetchpatch {
+      name = "CVE-2021-3618.patch";
+      url = "https://github.com/nginx/nginx/commit/173f16f736c10eae46cd15dd861b04b82d91a37a.patch";
+      sha256 = "0cnxmbkp6ip61w7y1ihhnvziiwzz3p3wi2vpi5c7yaj5m964k5db";
+    })
+  ];
 }
diff --git a/pkgs/servers/http/unit/default.nix b/pkgs/servers/http/unit/default.nix
index e6fcaaca4bc..4db762ec40d 100644
--- a/pkgs/servers/http/unit/default.nix
+++ b/pkgs/servers/http/unit/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv, fetchFromGitHub, nixosTests, which
 , pcre2
-, withPython2 ? false, python2
 , withPython3 ? true, python3, ncurses
 , withPHP74 ? false, php74
 , withPHP80 ? true, php80
@@ -42,7 +41,6 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ which ];
 
   buildInputs = [ pcre2.dev ]
-    ++ optional withPython2 python2
     ++ optionals withPython3 [ python3 ncurses ]
     ++ optional withPHP74 php74-unit
     ++ optional withPHP80 php80-unit
@@ -66,7 +64,6 @@ in stdenv.mkDerivation rec {
   usedPhp80 = optionals withPHP80 php80-unit;
 
   postConfigure = ''
-    ${optionalString withPython2    "./configure python --module=python2  --config=python2-config  --lib-path=${python2}/lib"}
     ${optionalString withPython3    "./configure python --module=python3  --config=python3-config  --lib-path=${python3}/lib"}
     ${optionalString withPHP74      "./configure php    --module=php74    --config=${php74-unit.unwrapped.dev}/bin/php-config --lib-path=${php74-unit}/lib"}
     ${optionalString withPHP80      "./configure php    --module=php80    --config=${php80-unit.unwrapped.dev}/bin/php-config --lib-path=${php80-unit}/lib"}
diff --git a/pkgs/servers/icingaweb2/default.nix b/pkgs/servers/icingaweb2/default.nix
index 75282ad15c4..651c7398868 100644
--- a/pkgs/servers/icingaweb2/default.nix
+++ b/pkgs/servers/icingaweb2/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "icingaweb2";
-  version = "2.10.0";
+  version = "2.10.1";
 
   src = fetchFromGitHub {
     owner = "Icinga";
     repo = "icingaweb2";
     rev = "v${version}";
-    sha256 = "sha256:0fhhq6mzpwj3dh6w583n4sngshf15dm8zgbli5cacy7jkzmsz0wn";
+    sha256 = "sha256-X4RaAJjhUnSALJyFYiwagN3cHyW+GyB5MPkW7l+Zv10=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/irc/inspircd/default.nix b/pkgs/servers/irc/inspircd/default.nix
index f3138915be0..6480e242510 100644
--- a/pkgs/servers/irc/inspircd/default.nix
+++ b/pkgs/servers/irc/inspircd/default.nix
@@ -142,13 +142,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "inspircd";
-  version = "3.12.0";
+  version = "3.13.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3c7PFIZy/TGf68XdaSC25Amr8Zfb0O+za4ermIzQjnY=";
+    sha256 = "1d5mnj86x4bk6iygns0cc15w315wrzmqxcq0sc4n75xsg6wwp1zl";
   };
 
   outputs = [ "bin" "lib" "man" "doc" "out" ];
diff --git a/pkgs/servers/kanidm/default.nix b/pkgs/servers/kanidm/default.nix
new file mode 100644
index 00000000000..f160886fb64
--- /dev/null
+++ b/pkgs/servers/kanidm/default.nix
@@ -0,0 +1,89 @@
+{ stdenv
+, lib
+, formats
+, nixosTests
+, rustPlatform
+, fetchFromGitHub
+, installShellFiles
+, pkg-config
+, udev
+, openssl
+, sqlite
+, pam
+}:
+
+let
+  arch = if stdenv.isx86_64 then "x86_64" else "generic";
+in
+rustPlatform.buildRustPackage rec {
+  pname = "kanidm";
+  version = "1.1.0-alpha.8";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-zMtbE6Y9wXFPBqhmiTMJ3m6bLVZl+c6lRY39DWDlJNo=";
+  };
+
+  cargoSha256 = "sha256:1l7xqp457zfd9gfjp6f4lzgadfp6112jbip4irazw4084qwj0z6x";
+
+  KANIDM_BUILD_PROFILE = "release_nixos_${arch}";
+
+  postPatch =
+    let
+      format = (formats.toml { }).generate "${KANIDM_BUILD_PROFILE}.toml";
+      profile = {
+        web_ui_pkg_path = "@web_ui_pkg_path@";
+        cpu_flags = if stdenv.isx86_64 then "x86_64_v1" else "none";
+      };
+    in
+    ''
+      cp ${format profile} profiles/${KANIDM_BUILD_PROFILE}.toml
+      substituteInPlace profiles/${KANIDM_BUILD_PROFILE}.toml \
+        --replace '@web_ui_pkg_path@' "$out/ui"
+    '';
+
+  nativeBuildInputs = [
+    pkg-config
+    installShellFiles
+  ];
+
+  buildInputs = [
+    udev
+    openssl
+    sqlite
+    pam
+  ];
+
+  # Failing tests, probably due to network issues
+  checkFlags = [
+    "--skip default_entries"
+    "--skip oauth2_openid_basic_flow"
+    "--skip test_server"
+    "--skip test_cache"
+  ];
+
+  preFixup = ''
+    installShellCompletion --bash $releaseDir/build/completions/*.bash
+    installShellCompletion --zsh  $releaseDir/build/completions/_*
+
+    # PAM and NSS need fix library names
+    mv $out/lib/libnss_kanidm.so $out/lib/libnss_kanidm.so.2
+    mv $out/lib/libpam_kanidm.so $out/lib/pam_kanidm.so
+
+    # We don't compile the wasm-part form source, as there isn't a rustc for
+    # wasm32-unknown-unknown in nixpkgs yet.
+    cp -r kanidmd_web_ui/pkg $out/ui
+  '';
+
+  passthru.tests = { inherit (nixosTests) kanidm; };
+
+  meta = with lib; {
+    description = "A simple, secure and fast identity management platform";
+    homepage = "https://github.com/kanidm/kanidm";
+    license = licenses.mpl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ erictapen Flakebi ];
+  };
+}
diff --git a/pkgs/servers/keycloak/default.nix b/pkgs/servers/keycloak/default.nix
index f28679f2cf5..95a3ade822c 100644
--- a/pkgs/servers/keycloak/default.nix
+++ b/pkgs/servers/keycloak/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "keycloak";
-  version = "17.0.1";
+  version = "18.0.0";
 
   src = fetchzip {
     url = "https://github.com/keycloak/keycloak/releases/download/${version}/keycloak-${version}.zip";
-    sha256 = "sha256-z1LfTUoK+v4oQxdyIQruFhl5O333zirSrkPoTFgVfmI=";
+    sha256 = "0fxf9m50hpjplj077z2zjp0qibixz5y4lbc8159cnxbd4gzpkaaf";
   };
 
   nativeBuildInputs = [ makeWrapper jre ];
@@ -57,8 +57,8 @@ stdenv.mkDerivation rec {
   '';
 
   postFixup = ''
-    substituteInPlace $out/bin/kc.sh --replace '-Dkc.home.dir=$DIRNAME/../' '-Dkc.home.dir=$KC_HOME_DIR'
-    substituteInPlace $out/bin/kc.sh --replace '-Djboss.server.config.dir=$DIRNAME/../conf' '-Djboss.server.config.dir=$KC_CONF_DIR'
+    substituteInPlace $out/bin/kc.sh --replace ${lib.escapeShellArg "-Dkc.home.dir='$DIRNAME'/../"} '-Dkc.home.dir=$KC_HOME_DIR'
+    substituteInPlace $out/bin/kc.sh --replace ${lib.escapeShellArg "-Djboss.server.config.dir='$DIRNAME'/../conf"} '-Djboss.server.config.dir=$KC_CONF_DIR'
 
     for script in $(find $out/bin -type f -executable); do
       wrapProgram "$script" --set JAVA_HOME ${jre} --prefix PATH : ${jre}/bin
diff --git a/pkgs/servers/klipper/default.nix b/pkgs/servers/klipper/default.nix
index 7b2bb8d4df9..b882bc589c6 100644
--- a/pkgs/servers/klipper/default.nix
+++ b/pkgs/servers/klipper/default.nix
@@ -6,13 +6,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "klipper";
-  version = "unstable-2022-03-11";
+  version = "unstable-2022-03-14";
 
   src = fetchFromGitHub {
     owner = "KevinOConnor";
     repo = "klipper";
-    rev = "e3beafbdb4f2ac3f889f81aec0cad5ec473c8612";
-    sha256 = "sha256-xZSZUJ2TNaUzfwEFpnzr5EPlOvILLyiQ/3K1iiup7kU=";
+    rev = "30098db22a43274ceb87e078e603889f403a35c4";
+    sha256 = "sha256-ORpXBFGPY6A/HEYX9Hhwb3wP2KcAE+z3pTxf6j7CwGg=";
   };
 
   sourceRoot = "source/klippy";
diff --git a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
index e6ec0063338..2f3a4d807d2 100644
--- a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, autoconf, automake, sqlite, pkg-config, dovecot, libtool, xapian, icu64 }:
 stdenv.mkDerivation rec {
   pname = "dovecot-fts-xapian";
-  version = "1.5.4b";
+  version = "1.5.5";
 
   src = fetchFromGitHub {
     owner = "grosjo";
     repo = "fts-xapian";
     rev = version;
-    sha256 = "sha256-RzwJjcUgk1XXQZpNdz86Pr9HsUaQCOSt5oSejnGVmgA=";
+    sha256 = "sha256-KAZno4N/4dFH3QHFTs0wkY4PtGF+j4ZEjZzn9ljCjrM=";
   };
 
   buildInputs = [ dovecot xapian icu64 sqlite ];
diff --git a/pkgs/servers/mail/opensmtpd/cross_fix.diff b/pkgs/servers/mail/opensmtpd/cross_fix.diff
new file mode 100644
index 00000000000..6f4c769954a
--- /dev/null
+++ b/pkgs/servers/mail/opensmtpd/cross_fix.diff
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index c215f3bf..f5aa25d8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -67,7 +67,7 @@ AC_C_BIGENDIAN
+ AC_PROG_CPP
+ AC_PROG_INSTALL
+ AC_PROG_LIBTOOL
+-AC_PATH_PROG([AR], [ar])
++AC_PATH_TOOL([AR], [ar])
+ AC_PATH_PROG([CAT], [cat])
+ AC_PATH_PROG([CHMOD], [chmod])
+ AC_PATH_PROG([CHOWN], [chown])
diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix
index 72d4ca760e7..5f36b139781 100644
--- a/pkgs/servers/mail/opensmtpd/default.nix
+++ b/pkgs/servers/mail/opensmtpd/default.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./proc_path.diff # TODO: upstream to OpenSMTPD, see https://github.com/NixOS/nixpkgs/issues/54045
+    ./cross_fix.diff # TODO: remove when https://github.com/OpenSMTPD/OpenSMTPD/pull/1177 will have made it into a release
   ];
 
   # See https://github.com/OpenSMTPD/OpenSMTPD/issues/885 for the `sh bootstrap`
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 942023b4eaf..65e0041a01e 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -25,11 +25,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "postfix";
-  version = "3.6.5";
+  version = "3.6.6";
 
   src = fetchurl {
     url = "http://cdn.postfix.johnriley.me/mirrors/postfix-release/official/${pname}-${version}.tar.gz";
-    hash = "sha256-MA+ogRzqINAdJcYZ01m/+rgmVucE2qcZ4MmvxOz/SAg=";
+    hash = "sha256-CYpxT0EEaO/ibiGR3I8xy6RQfVv0iPVvnrVUXjaG8NY=";
   };
 
   nativeBuildInputs = [ makeWrapper m4 ];
diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix
index f43747e185a..075389e325a 100644
--- a/pkgs/servers/mastodon/default.nix
+++ b/pkgs/servers/mastodon/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   yarnOfflineCache = fetchYarnDeps {
     yarnLock = "${src}/yarn.lock";
-    sha256 = "sha256-Swe7AH/j1+N1T20xaQ+U0Ajtoe9BGzsghAjN1QakOp8=";
+    sha256 = "sha256-FCwyJJwZ3/CVPT8LUid+KJcWCmFQet8Cftl7DVYhZ6I=";
   };
 
   mastodon-gems = bundlerEnv {
diff --git a/pkgs/servers/mastodon/gemset.nix b/pkgs/servers/mastodon/gemset.nix
index 0b841c325db..a6deedbcb81 100644
--- a/pkgs/servers/mastodon/gemset.nix
+++ b/pkgs/servers/mastodon/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zsb2x1j044rcx9b2ijgnp1ir7vsccxfrar59pvra83j5pjmsyiz";
+      sha256 = "0znrdixzpbr7spr4iwp19z3r2f2klggh9pmnsiix8qrvccc5lsdl";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pzpf5vivh864an88gb7fab1gh137prfjpbf92mx5qnln1wjhlgh";
+      sha256 = "17mcv2qfjkix1q18nj6kidrhdwxd0rdzssdkdanrpp905z0sx0mw";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sm5rp2jxlikhvv7085r7zrazy42dw74k9rlniaka8m6wfas01nf";
+      sha256 = "1084nk3fzq76gzl6kc9dwb586g3kcj1kmp8w1nsrhpl523ljgl1s";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kk8c6n94lg5gyarsy33wakw04zbmdwgfr7zxv4zzmbnp1yach0w";
+      sha256 = "1b2vxprwfkza3h6z3pq508hsjh1hz9f8d7739j469mqlxsq5jh1l";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hkqhliw766vcd4c83af2dd1hcnbsh5zkcx8bdqmjcq7zqfn7xib";
+      sha256 = "0ld6x9x05b1n40rjp83hsi4byp15zvb3lmvfk2h8jgxfrpb47c6j";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16w7pl8ir253g1dzlzx4mwrjsx3v7fl7zn941xz53zb4ld286mhi";
+      sha256 = "0y54nw3x38lj0qh36hlzjw82px328k01fyrk21d6xlpn1w0j98gv";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   active_model_serializers = {
     dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"];
@@ -92,10 +92,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0arf4vxcahb9f9y5fa1ap7dwnknfjb0d5g9zsh0dnqfga9vp1hws";
+      sha256 = "1i6s8ppwnf0zcz466i5qi2gd7fdgxkl22db50mxkyfnbwnzbfw49";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -103,10 +103,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16anyz7wqwmphzb6w1sgmvdvj50g3zp70s94s5v8hwxj680f6195";
+      sha256 = "01bbxwbih29qcmqrrvqymlc6hjf0r38rpwdfgaimisp5vms3xxsn";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -114,10 +114,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jl6jc9g9jxsljfnnmbkxrgwrz86icw6g745cv6iavryizrmw939";
+      sha256 = "1yscjy5766g67ip3g7614b0hhrpgz5qk22nj8ghzcjqh3fj2k2n0";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   activestorage = {
     dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"];
@@ -125,10 +125,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gpxx9wyavp1mhy6fmyj4b20c4x0dcdj94y0ag61fgnyishd19ph";
+      sha256 = "1m0m7k0p5b7dfpmh9aqfs5fapaymkml3gspirpaq6w9w55ahf6pv";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -136,10 +136,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jmqndx3a46hpwz33ximqch27018n3mk9z19azgpylm33w7xpkx4";
+      sha256 = "1ylj0nwk9y5hbgv93wk8kkbg9z9bv1052ic37n9ib34w0bkgrzw4";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -250,10 +250,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0q5c8jjnlz6dlkxwsm6cj9n1z08pylvibsx8r42z50ws0jw2f7jm";
+      sha256 = "1afpq7sczg91xx5xi4xlgcwrrhmy3k6mrk60ph8avbfiyxgw27pc";
       type = "gem";
     };
-    version = "1.558.0";
+    version = "1.582.0";
   };
   aws-sdk-core = {
     dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
@@ -261,10 +261,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cmrz2ddv8235z2dx1hyw85mh3lxaipk9dyy10zk2fvmv1nkfkiq";
+      sha256 = "0hajbavfngn99hcz6n20162jygvwdflldvnlrza7z32hizawaaan";
       type = "gem";
     };
-    version = "3.127.0";
+    version = "3.130.2";
   };
   aws-sdk-kms = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -272,10 +272,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fmpdll52ng1kfn4r5ndcyppn5553qvvxw87w58m9n70ga3avasi";
+      sha256 = "14dcfqqdx1dy7qwrdyqdvqjs53kswm4njvg34f61jpl9xi3h2yf3";
       type = "gem";
     };
-    version = "1.55.0";
+    version = "1.56.0";
   };
   aws-sdk-s3 = {
     dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
@@ -283,10 +283,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iafjly868kdzmpxkv1ndmqm524ik36ibs15mqh145vw32gz7bax";
+      sha256 = "17pc197a6axmnj6rbhgsvks2w0mv2mmr2bwh1k4mazbfp72ss87i";
       type = "gem";
     };
-    version = "1.113.0";
+    version = "1.113.2";
   };
   aws-sigv4 = {
     dependencies = ["aws-eventstream"];
@@ -294,10 +294,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wh1y79v0s4zgby2m79bnifk65hwf5pvk2yyrxzn2jkjjq8f8fqa";
+      sha256 = "0xp7diwq7nv4vvxrl9x3lis2l4x6bissrfzbfyy6rv5bmj5w109z";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.5.0";
   };
   bcrypt = {
     groups = ["default" "pam_authentication"];
@@ -369,20 +369,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "053hx5hz1zdcqwywlnabzf0gkrrchhzh66p1bfzvrryb075lsqm1";
+      sha256 = "0bjhh8pngmvnrsri2h6a753pgv0xdkbbgi1bmv6c7q137sp37jbg";
       type = "gem";
     };
-    version = "1.10.3";
+    version = "1.11.1";
   };
   brakeman = {
     groups = ["development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "197bvfm4rpczyrpbjzn7zh4q6rxigwnxnnmvvgfg9451k3jjygyy";
+      sha256 = "1bk1xz5w29cq84svnrlgcrwvy1lpkwqrv6cmkkivs3yrym09av14";
       type = "gem";
     };
-    version = "5.2.1";
+    version = "5.2.2";
   };
   browser = {
     groups = ["default"];
@@ -864,10 +864,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xsfa02hin2ymfcf0bdvsw6wk8w706rrfdqpy6b4f439zbqmn05m";
+      sha256 = "1d2z4ky2v15dpcz672i2p7lb2nc793dasq3yq3660h2az53kss9v";
       type = "gem";
     };
-    version = "1.2.6";
+    version = "1.2.7";
   };
   excon = {
     groups = ["default"];
@@ -1102,10 +1102,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l8878iqg85zmpifjfnidpp17swgh103a0br68nqakflnn0zwcka";
+      sha256 = "16xki30md6bygc62yi2s1y002vq6dm3bhjcjb9pl5dpr3al3fa1j";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "1.5.3";
   };
   fuubar = {
     dependencies = ["rspec-core" "ruby-progressbar"];
@@ -1312,10 +1312,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f3pgfjk4xmyjhqqq8dpx3vbxbq1d9bwlh3d7957vnkpdwk432n0";
+      sha256 = "1hiblss98hmybs82xsaavhz1cwlhhx92jzlx8ypkriylxhhwmigk";
       type = "gem";
     };
-    version = "1.0.8";
+    version = "1.0.9";
   };
   idn-ruby = {
     groups = ["default"];
@@ -1342,10 +1342,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gjrr5pdcl3l3skhp9d0jzs4yhmknpv3ldcz59b339b9lqbqasnr";
+      sha256 = "1mnvb80cdg7fzdcs3xscv21p28w4igk5sj5m7m81xp8v2ks87jj0";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.6.1";
   };
   json = {
     groups = ["default" "test"];
@@ -1545,10 +1545,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15s6z5bvhdhnqv4wg8zcz3mhbc7i4dbqskv5jvhprz33ak7682km";
+      sha256 = "0fpx5p8n0jq4bdazb2vn19sqkmh398rk9b2pa3gdi43snfn485cr";
       type = "gem";
     };
-    version = "2.16.0";
+    version = "2.17.0";
   };
   mail = {
     dependencies = ["mini_mime"];
@@ -1690,10 +1690,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b98w2j7g89ihnc753hh3if68r5qrmdp9n2j6mvqy2yl73sbv739";
+      sha256 = "1i0gbypr1yxwfkaxzrk0i1wz4n6v3mw7z24k65jy3q1h5lda5xbw";
       type = "gem";
     };
-    version = "1.4.4";
+    version = "1.5.1";
   };
   multi_json = {
     groups = ["default"];
@@ -1762,10 +1762,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p6b3q411h2mw4dsvhjrp1hh66hha5cm69fqg85vn2lizz71n6xz";
+      sha256 = "1g43ii497cwdqhfnaxfl500bq5yfc5hfv5df1lvf6wcjnd708ihd";
       type = "gem";
     };
-    version = "1.13.3";
+    version = "1.13.4";
   };
   nsa = {
     dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"];
@@ -1941,10 +1941,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00rqwbbxiq7rsmfisfnqbgdswbwdm937f2wmj840j8wahsqmj2r8";
+      sha256 = "1v0cszy9lgjqn3ax8pbj5fg01pg83wyl41wzid3g35h4xdxz1d4a";
       type = "gem";
     };
-    version = "2.8.2";
+    version = "2.8.3";
   };
   pkg-config = {
     groups = ["default"];
@@ -2099,10 +2099,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rc6simyql7ax5zzp667x6krl0xxxh3asc1av6gcn8j6cyl86wsx";
+      sha256 = "049s3y3dpl6dn478g912y6f9nzclnnkl30psrbc2w5kaihj5szhq";
       type = "gem";
     };
-    version = "6.6.0";
+    version = "6.6.1";
   };
   rack-cors = {
     dependencies = ["rack"];
@@ -2154,10 +2154,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yr66s65nfw5yclf1x0ziy80gzhp9vqvyy0yzl0npmx25h4aizdv";
+      sha256 = "08a9wl2g4q403jc9iziqh37c64yccp6rzxz6avy0l7ydslpxggv8";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -2220,10 +2220,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fdqhv8qhk2dspkrr9f5dj3806g52cb0l1chh2hx8v81y218cl93";
+      sha256 = "0lirp0g1n114gwkqbqki2fjqwnbyzhn30z97jhikqldd0r54f4b9";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   rainbow = {
     groups = ["default" "development" "test"];
@@ -2293,10 +2293,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "155f6cr4rrfw5bs5xd3m5kfw32qhc5fsi4nk82rhif56rc6cs0wm";
+      sha256 = "0a6nxfq3ln1i109jx172n33s73a90l8g04h8p56bmw9phj467h9k";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "2.3.0";
   };
   request_store = {
     dependencies = ["rack"];
@@ -2399,10 +2399,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y38dc66yhnfcf4ky3k47c20xak1rax940s4a96qkjxqrniy5ys3";
+      sha256 = "07vagjxdm5a6s103y8zkcnja6avpl8r196hrpiffmg7sk83dqdsm";
       type = "gem";
     };
-    version = "3.11.0";
+    version = "3.11.1";
   };
   rspec-rails = {
     dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
@@ -2410,10 +2410,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jj5zs9h2ll8iz699ac4bysih7y4csnf8h5h80bm6ppbf02ly8fa";
+      sha256 = "1cqw7bhj4a4rhh1x9i5gjm9r91ckhjyngw0zcr7jw2jnfis10d7l";
       type = "gem";
     };
-    version = "5.1.1";
+    version = "5.1.2";
   };
   rspec-sidekiq = {
     dependencies = ["rspec-core" "sidekiq"];
@@ -2453,10 +2453,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06105yrqajpm5l07fng1nbk55y9490hny542zclnan8hg841pjgl";
+      sha256 = "00d9nzlnbxr3jqkya2b2rcahs9l22qpdk5qf3y7pws8m555l8slk";
       type = "gem";
     };
-    version = "1.26.1";
+    version = "1.27.0";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -2464,10 +2464,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bd2z82ly7fix8415gvfiwzb6bjialz5rs3sr72kv1lk68rd23wv";
+      sha256 = "1k9izkr5rhw3zc309yjp17z7496l74j4li3zrcgpgqfnqwz695qx";
       type = "gem";
     };
-    version = "1.16.0";
+    version = "1.17.0";
   };
   rubocop-rails = {
     dependencies = ["activesupport" "rack" "rubocop"];
@@ -2603,10 +2603,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13pc206l9w1wklrgkcafbp332cf8ikl4wfks6ikhk9lvd6hi22sx";
+      sha256 = "0ncly0glyvcx8cm976c811iw70y5wyix6iwfsmmgfvi0jmy1h4v3";
       type = "gem";
     };
-    version = "3.1.1";
+    version = "3.2.0";
   };
   sidekiq-unique-jobs = {
     dependencies = ["brpoplpush-redis_script" "concurrent-ruby" "sidekiq" "thor"];
@@ -2614,10 +2614,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b2dcw604mmjh4ncfwsidzbzqaa3fbngqidhvhsjv6ladpzsrb8y";
+      sha256 = "0ibrdlpvlra8wxkhapiipwrx8v9y6wpmxlfn5r53swvhmlkrjqgq";
       type = "gem";
     };
-    version = "7.1.16";
+    version = "7.1.21";
   };
   simple-navigation = {
     dependencies = ["activesupport"];
diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix
index aa915395e31..6d4dc034ff6 100644
--- a/pkgs/servers/mastodon/source.nix
+++ b/pkgs/servers/mastodon/source.nix
@@ -2,8 +2,8 @@
 { fetchgit, applyPatches }: let
   src = fetchgit {
     url = "https://github.com/mastodon/mastodon.git";
-    rev = "v3.5.1";
-    sha256 = "0n6ml245jdc2inzw7jwhxbqlfkp5bs61kslyy71ww6a29ndd6hv0";
+    rev = "v3.5.2";
+    sha256 = "03sk0rzf7zy0vpq6f5f909hx5gbnan5b5h068grgzv2v7lj11was";
   };
 in applyPatches {
   inherit src;
diff --git a/pkgs/servers/mastodon/version.nix b/pkgs/servers/mastodon/version.nix
index 7714a397576..843ef5820f9 100644
--- a/pkgs/servers/mastodon/version.nix
+++ b/pkgs/servers/mastodon/version.nix
@@ -1 +1 @@
-"3.5.1"
+"3.5.2"
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 235d1895e15..c81800a3561 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -11,11 +11,11 @@ in
 with python3.pkgs;
 buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.57.0";
+  version = "1.58.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-pZhm3jfpqOcLT+M4eeD8FyHtwj5EOAFESFu+4ZMoz0s=";
+    sha256 = "sha256-cY3rtmaaAimEQPU4wcMEy/QysPNCdk7yptrkctnLfDA=";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix b/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix
index f9a1999f36d..a038d882e7f 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
+# This file has been generated by node2nix 1.11.1. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix b/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix
index 92885cee877..2e74ced5fb2 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
+# This file has been generated by node2nix 1.11.1. Do not edit!
 
 {nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
@@ -3128,13 +3128,13 @@ let
         sha512 = "HnEXoEhqpNp9/W9Ep7ZNZAubFlUssFyVpjgKfMOxxg+dYbBk5NWToHmAPQxlRUgrZ/rIMLVyMJROSCIthDbo2A==";
       };
     };
-    "matrix-org-irc-1.2.0" = {
+    "matrix-org-irc-1.2.1" = {
       name = "matrix-org-irc";
       packageName = "matrix-org-irc";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/matrix-org-irc/-/matrix-org-irc-1.2.0.tgz";
-        sha512 = "RnfeR9FimJJD/iOWw0GiV7NIPRmBJobvFasUgjVmGre9A4qJ9klHIDOlQ5vXIoPPMjzG8XXuAf4WHgMCNBfZkQ==";
+        url = "https://registry.npmjs.org/matrix-org-irc/-/matrix-org-irc-1.2.1.tgz";
+        sha512 = "x7SoeIOP+Z6R2s8PJqhM89OZNsS2RO4srx7c3JGa/VN6rtJ1AMLEyW4EPCVh09tGiTvmbit9KJysjLvFQPx9KA==";
       };
     };
     "media-typer-0.3.0" = {
@@ -5031,7 +5031,7 @@ let
   args = {
     name = "matrix-appservice-irc";
     packageName = "matrix-appservice-irc";
-    version = "0.33.1";
+    version = "0.34.0";
     src = ./.;
     dependencies = [
       sources."@alloc/quick-lru-5.2.0"
@@ -5475,7 +5475,7 @@ let
           sources."qs-6.10.3"
         ];
       })
-      sources."matrix-org-irc-1.2.0"
+      sources."matrix-org-irc-1.2.1"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
       sources."merge2-1.4.1"
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json b/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json
index f94cfc996ba..f0a1b6fc60c 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json
@@ -1,6 +1,6 @@
 {
   "name": "matrix-appservice-irc",
-  "version": "0.33.1",
+  "version": "0.34.0",
   "description": "An IRC Bridge for Matrix",
   "main": "app.js",
   "bin": "./bin/matrix-appservice-irc",
@@ -34,7 +34,7 @@
     "he": "^1.2.0",
     "logform": "^2.4.0",
     "matrix-appservice-bridge": "^3.2.0",
-    "matrix-org-irc": "^1.2.0",
+    "matrix-org-irc": "^1.2.1",
     "matrix-bot-sdk": "0.5.19",
     "nopt": "^3.0.1",
     "p-queue": "^6.6.2",
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json b/pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json
index 35bea461b9f..ca4ea394550 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/matrix-org/matrix-appservice-irc",
-  "rev": "00c8e7afb057021126c5e8ea9a46f2f8a55ea0bc",
-  "date": "2022-03-30T14:29:04+01:00",
-  "path": "/nix/store/9cm14kvicwc83irmbb8zsr8rc4893l22-matrix-appservice-irc",
-  "sha256": "1zhcihji9cwrdajx5dfnd4w38xsnqnqmwccngfiwrh8mwra7phfi",
+  "rev": "8faf9614e80073e3cf07c96dbd295379d80f4161",
+  "date": "2022-05-04T09:06:31+02:00",
+  "path": "/nix/store/sy3v3h9xf4zc9cggavfk720c1pv3hiz2-matrix-appservice-irc",
+  "sha256": "1ihhd1y6jsz98iwrza3fnfinpkpzkn0776wiz6jzdzz71hnb444l",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix b/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix
index 3df7f1e5a5d..a6e22db34fe 100644
--- a/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix
+++ b/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "matrix-synapse-shared-secret-auth";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "devture";
     repo = "matrix-synapse-shared-secret-auth";
     rev = version;
-    sha256 = "sha256-kaok5IwKx97FYDrVIGAtUJfExqDln5vxEKrZda2RdzE=";
+    sha256 = "sha256-qzXKwTEOMtdvsxoU3Xh3vQyhK+Q18LfkeSts7EyDIXE=";
   };
 
   doCheck = false;
diff --git a/pkgs/servers/mattermost/matterircd.nix b/pkgs/servers/mattermost/matterircd.nix
index 07c0b30d737..ac459234093 100644
--- a/pkgs/servers/mattermost/matterircd.nix
+++ b/pkgs/servers/mattermost/matterircd.nix
@@ -1,17 +1,19 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "matterircd";
-  version = "0.25.0";
+  version = "0.25.1";
 
   src = fetchFromGitHub {
     owner = "42wim";
     repo = "matterircd";
     rev = "v${version}";
-    sha256 = "sha256-AuY6tAZ1WlUkiKcbDcXBDh2OdKwWllx2xJxPCbqQguM=";
+    sha256 = "sha256-qglr0QN0ca6waxhwEFgYP9RHvTJ4YVn90vl+crcktao=";
   };
 
-  goPackagePath = "github.com/42wim/matterircd";
+  vendorSha256 = null;
+
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     inherit (src.meta) homepage;
diff --git a/pkgs/servers/mautrix-facebook/default.nix b/pkgs/servers/mautrix-facebook/default.nix
index b51ae848cc8..08d7f1046c7 100644
--- a/pkgs/servers/mautrix-facebook/default.nix
+++ b/pkgs/servers/mautrix-facebook/default.nix
@@ -7,13 +7,13 @@
 
 python3.pkgs.buildPythonPackage rec {
   pname = "mautrix-facebook";
-  version = "0.3.3";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "facebook";
     rev = "v${version}";
-    hash = "sha256-lIUGuc6ZL+GW7jw5OhPE3/mU5pg8Y09dd+p5kiy14io=";
+    hash = "sha256-Yc8W8A11dnXrJdLtu/rJHTVlu2pEawXn5xuT8Ez+h9U=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/servers/mautrix-signal/default.nix b/pkgs/servers/mautrix-signal/default.nix
index 426d2a32fbe..8c5310f6801 100644
--- a/pkgs/servers/mautrix-signal/default.nix
+++ b/pkgs/servers/mautrix-signal/default.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonPackage rec {
   pname = "mautrix-signal";
-  version = "0.2.3";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "signal";
     rev = "v${version}";
-    sha256 = "sha256-P5a/JoL6PBkYDDitlkMj2QClvcXMgXcnup5EAatGcSs=";
+    sha256 = "sha256-khtvfZbqBRQyHteil+H/b3EktjRet6DRcKMHmCClNq0=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/servers/mautrix-telegram/default.nix b/pkgs/servers/mautrix-telegram/default.nix
index e96427f30f3..bb52507dbaa 100644
--- a/pkgs/servers/mautrix-telegram/default.nix
+++ b/pkgs/servers/mautrix-telegram/default.nix
@@ -6,11 +6,11 @@ let
   python = python3.override {
     packageOverrides = self: super: {
       tulir-telethon = self.telethon.overridePythonAttrs (oldAttrs: rec {
-        version = "1.25.0a5";
+        version = "1.25.0a7";
         pname = "tulir-telethon";
         src = oldAttrs.src.override {
           inherit pname version;
-          sha256 = "sha256-WFiWczuw6eVVid2Z1LsnGE6BCEhqeCuiQ/p0d2Ahbi8=";
+          sha256 = "sha256-+wHRrBluM0ejdHjIvSk28wOIfCfIyibBcmwG/ksbiac=";
         };
       });
     };
@@ -25,14 +25,14 @@ let
 
 in python.pkgs.buildPythonPackage rec {
   pname = "mautrix-telegram";
-  version = "0.11.2";
-  disabled = python.pythonOlder "3.7";
+  version = "0.11.3";
+  disabled = python.pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "telegram";
     rev = "v${version}";
-    sha256 = "sha256-ZECTHAP5l9tAk9Ies8XuPpH9jqYDJSRSHVKz1lA6Sjg=";
+    sha256 = "sha256-PfER/wqJ607w0xVrFZadzmxYyj72O10c2lIvCW7LT8Y=";
   };
 
   patches = [ ./0001-Re-add-entrypoint.patch ];
diff --git a/pkgs/servers/monitoring/alerta/client.nix b/pkgs/servers/monitoring/alerta/client.nix
index 31f31d07405..cd969d9dbba 100644
--- a/pkgs/servers/monitoring/alerta/client.nix
+++ b/pkgs/servers/monitoring/alerta/client.nix
@@ -4,11 +4,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "alerta";
-  version = "8.4.0";
+  version = "8.5.1";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "260ff3118e73396104129928217b0f317ac5afdff8221874d8986df22ecf5f34";
+    sha256 = "sha256-O13Ic2iHjNF/llp6vdaAiiWExcTBPsz46GAWY3oGDY8=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/servers/monitoring/alerta/default.nix b/pkgs/servers/monitoring/alerta/default.nix
index e69a594a728..c3758c26b25 100644
--- a/pkgs/servers/monitoring/alerta/default.nix
+++ b/pkgs/servers/monitoring/alerta/default.nix
@@ -4,11 +4,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "alerta-server";
-  version = "8.3.3";
+  version = "8.7.0";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "a2713a31c6e326c774a3ee0328f424f944b951935ff1b893a4a66598d61c5a97";
+    sha256 = "sha256-EM3owmj+6gFjU0ARaQP3FLYXliGaGCRSaLgkiPwhGdU=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -21,6 +21,7 @@ python3.pkgs.buildPythonApplication rec {
     psycopg2
     pyjwt
     pymongo
+    pyparsing
     python-dateutil
     pytz
     pyyaml
@@ -29,13 +30,17 @@ python3.pkgs.buildPythonApplication rec {
     sentry-sdk
   ];
 
-  doCheck = false; # We can't run the tests from Nix, because they rely on the presence of a working MongoDB server
+   # We can't run the tests from Nix, because they rely on the presence of a working MongoDB server
+  doCheck = false;
 
-  disabled = python3.pythonOlder "3.6";
+  pythonImportsCheck = [
+    "alerta"
+  ];
 
   meta = with lib; {
     homepage = "https://alerta.io";
     description = "Alerta Monitoring System server";
     license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 4152e8bf984..652f203460b 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "grafana";
-  version = "8.4.7";
+  version = "8.5.1";
 
   excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" ];
 
@@ -10,15 +10,15 @@ buildGoModule rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "sha256-8owcfWTiXhejFc5P0AM6POXBXuAABn4M/uX9X68Zn8k=";
+    sha256 = "sha256-GwvJA+lcbUuVbzniDW6gYbxQO5uXSP6rjzgmcJ5YYxk=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "1wi28v1xhav8p2jqkf2gmk1accfcf1w0d6h312d4pns6pkhdabxv";
+    sha256 = "030zl5k8b4hcay06a2lvlmq8swbix88ii4gz9yd4kywcjy5vhnyf";
   };
 
-  vendorSha256 = "sha256-7ZeOncdiA/0Awg+olJvsLneLQH4zBQka4M81jsxwUdE=";
+  vendorSha256 = "sha256-ZL+A6Sz0uHg7ZzYHmA4EU5ZxfRXBLyKglk135iQT600=";
 
   nativeBuildInputs = [ wire ];
 
diff --git a/pkgs/servers/monitoring/mimir/default.nix b/pkgs/servers/monitoring/mimir/default.nix
new file mode 100644
index 00000000000..db5c45f2fd3
--- /dev/null
+++ b/pkgs/servers/monitoring/mimir/default.nix
@@ -0,0 +1,35 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+buildGoModule rec {
+  pname = "mimir";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    rev = "${pname}-${version}";
+    owner = "grafana";
+    repo = pname;
+    sha256 = "T1lljhC/TS3eoIc9AFo9Oy9/COM/XnfcwtkU618YCdM=";
+  };
+
+  vendorSha256 = null;
+
+  subPackages = [ "cmd/mimir" ];
+
+  ldflags = let t = "github.com/grafana/mimir/pkg/util/version";
+  in [
+    ''-extldflags "-static"''
+    "-s"
+    "-w"
+    "-X ${t}.Version=${version}"
+    "-X ${t}.Revision=unknown"
+    "-X ${t}.Branch=unknown"
+  ];
+
+  meta = with lib; {
+    description =
+      "Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus. ";
+    homepage = "https://github.com/grafana/mimir";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ happysalada bryanhonof ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
index dc0aa891bdf..c4fb36d5a3b 100644
--- a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
+++ b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "check_ssl_cert";
-  version = "2.24.0";
+  version = "2.25.0";
 
   src = fetchFromGitHub {
     owner = "matteocorti";
     repo = "check_ssl_cert";
     rev = "v${version}";
-    sha256 = "sha256-TZT37W4A09t7okPFfcOJOQEAKAchH1FJ+LRftdHZQsM=";
+    sha256 = "sha256-WjiUsf8PMlTsldMaxnQbgnC1XLVW6wz50JyX/3MbZ+k=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix
index 432542a1120..5e7aa35d622 100644
--- a/pkgs/servers/monitoring/net-snmp/default.nix
+++ b/pkgs/servers/monitoring/net-snmp/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, fetchpatch, autoreconfHook, removeReferencesTo
-, file, openssl, perl, perlPackages, nettools, gnused
+, file, openssl, perl, perlPackages, nettools
 , withPerlTools ? false }: let
 
   perlWithPkgs = perl.withPackages (ps: with ps; [
@@ -44,7 +44,7 @@ in stdenv.mkDerivation rec {
     substituteInPlace testing/fulltests/support/simple_TESTCONF.sh --replace "/bin/netstat" "${nettools}/bin/netstat"
   '';
 
-  nativeBuildInputs = [ autoreconfHook nettools removeReferencesTo gnused file ];
+  nativeBuildInputs = [ autoreconfHook nettools removeReferencesTo file ];
   buildInputs = [ openssl ]
     ++ lib.optional withPerlTools perlWithPkgs;
 
diff --git a/pkgs/servers/monitoring/prometheus/aws-s3-exporter.nix b/pkgs/servers/monitoring/prometheus/aws-s3-exporter.nix
index e93db302552..fd0234e7e16 100644
--- a/pkgs/servers/monitoring/prometheus/aws-s3-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/aws-s3-exporter.nix
@@ -1,19 +1,19 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "aws-s3-exporter";
-  version = "0.4.1";
-
-  goPackagePath = "github.com/ribbybibby/s3_exporter";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "ribbybibby";
     repo = "s3_exporter";
     rev = "v${version}";
-    sha256 = "01g4k5wrbc2ggxkn4yqd2v0amw8yl5dbcfwi4jm3kqkihrf0rbiq";
+    sha256 = "sha256-dYkMCCAIlFDFOFUNJd4NvtAeJDTsHeJoH90b5pSGlQE=";
   };
 
-  doCheck = true;
+  vendorSha256 = null;
+
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     description = "Exports Prometheus metrics about S3 buckets and objects";
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index 25053e83794..62cb43abefa 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -2,13 +2,10 @@
 , lib
 , go
 , pkgs
-, nodejs-14_x
-, nodePackages
 , buildGoModule
 , fetchFromGitHub
-, mkYarnPackage
+, fetchurl
 , nixosTests
-, fetchpatch
 , enableAWS ? true
 , enableAzure ? true
 , enableConsul ? true
@@ -30,131 +27,82 @@
 }:
 
 let
-  version = "2.30.3";
+  version = "2.35.0";
+  webUiStatic = fetchurl {
+    url = "https://github.com/prometheus/prometheus/releases/download/v${version}/prometheus-web-ui-${version}.tar.gz";
+    sha256 = "sha256-66zWOjFTYwmspiKeklt3NAAT1uJJrZqeyQvWWsCN9fQ=";
+  };
+in
+buildGoModule rec {
+  pname = "prometheus";
+  inherit version;
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "prometheus";
     repo = "prometheus";
-    sha256 = "1as6x5bsp7mxa4rp7jhyjlpcvzqm1zngnwvp73rc4rwhz8w8vm3k";
-  };
-
-  goPackagePath = "github.com/prometheus/prometheus";
-
-  codemirrorNode = import ./webui/codemirror-promql {
-    inherit pkgs;
-    nodejs = nodejs-14_x;
-    inherit (stdenv.hostPlatform) system;
-  };
-  webuiNode = import ./webui/webui {
-    inherit pkgs;
-    nodejs = nodejs-14_x;
-    inherit (stdenv.hostPlatform) system;
-  };
-
-  codemirror = stdenv.mkDerivation {
-    name = "prometheus-webui-codemirror-promql";
-    src = "${src}/web/ui/module/codemirror-promql";
-
-    buildInputs = [ nodejs-14_x nodePackages.typescript codemirrorNode.nodeDependencies ];
-
-    configurePhase = ''
-      ln -s ${codemirrorNode.nodeDependencies}/lib/node_modules node_modules
-    '';
-    buildPhase = ''
-      PUBLIC_URL=. npm run build
-    '';
-    installPhase = ''
-      mkdir -p $out
-      mv lib dist $out
-    '';
-    distPhase = ":";
-  };
-
-
-  webui = stdenv.mkDerivation {
-    name = "prometheus-webui";
-    src = "${src}/web/ui/react-app";
-
-    buildInputs = [ nodejs-14_x webuiNode.nodeDependencies ];
-
-    # create `node_modules/.cache` dir (we need writeable .cache)
-    # and then copy the rest over.
-    configurePhase = ''
-      mkdir -p node_modules/{.cache,.bin}
-      cp -a ${webuiNode.nodeDependencies}/lib/node_modules/. node_modules
-    '';
-    buildPhase = "PUBLIC_URL=. npm run build";
-    installPhase = "mv build $out";
-    distPhase = "true";
+    sha256 = "sha256-h0uBs3xMKpRH3A1VG5xrhjXVAT7GL5L3UZWb3HJ2Fz4=";
   };
-in
-buildGoModule rec {
-  pname = "prometheus";
-  inherit src version;
 
-  vendorSha256 = "0qyv8vybx5wg8k8hwvrpp4hz9wv6g4kf9sq5v5qc2bxx6apc0s9r";
+  vendorSha256 = "sha256-0I6hmjhdfB41rWOQ9FM9CMq5w5437ka/jLuFXcBQBlM=";
 
   excludedPackages = [ "documentation/prometheus-mixin" ];
 
-  nativeBuildInputs = [ nodejs-14_x ];
-
   postPatch = ''
-    # we don't want this anyways, as we
-    # build modules for them
-    echo "exit 0" > web/ui/module/build.sh
-
-    ln -s ${webuiNode.nodeDependencies}/lib/node_modules web/ui/react-app/node_modules
-    ln -s ${webui} web/ui/static/react
-
-    # webui-codemirror
-    ln -s ${codemirror}/dist web/ui/module/codemirror-promql/dist
-    ln -s ${codemirror}/lib web/ui/module/codemirror-promql/lib
+    tar -C web/ui -xzf ${webUiStatic}
+
+    patchShebangs scripts
+
+    # Enable only select service discovery to shrink binaries.
+    (
+    ${lib.optionalString (enableAWS)
+      "echo - github.com/prometheus/prometheus/discovery/aws"}
+    ${lib.optionalString (enableAzure)
+      "echo - github.com/prometheus/prometheus/discovery/azure"}
+    ${lib.optionalString (enableConsul)
+      "echo - github.com/prometheus/prometheus/discovery/consul"}
+    ${lib.optionalString (enableDigitalOcean)
+      "echo - github.com/prometheus/prometheus/discovery/digitalocean"}
+    ${lib.optionalString (enableEureka)
+      "echo - github.com/prometheus/prometheus/discovery/eureka"}
+    ${lib.optionalString (enableGCE)
+      "echo - github.com/prometheus/prometheus/discovery/gce"}
+    ${lib.optionalString (enableHetzner)
+      "echo - github.com/prometheus/prometheus/discovery/hetzner"}
+    ${lib.optionalString (enableKubernetes)
+      "echo - github.com/prometheus/prometheus/discovery/kubernetes"}
+    ${lib.optionalString (enableLinode)
+      "echo - github.com/prometheus/prometheus/discovery/linode"}
+    ${lib.optionalString (enableMarathon)
+      "echo - github.com/prometheus/prometheus/discovery/marathon"}
+    ${lib.optionalString (enableMoby)
+      "echo - github.com/prometheus/prometheus/discovery/moby"}
+    ${lib.optionalString (enableOpenstack)
+      "echo - github.com/prometheus/prometheus/discovery/openstack"}
+    ${lib.optionalString (enablePuppetDB)
+      "echo - github.com/prometheus/prometheus/discovery/puppetdb"}
+    ${lib.optionalString (enableScaleway)
+      "echo - github.com/prometheus/prometheus/discovery/scaleway"}
+    ${lib.optionalString (enableTriton)
+      "echo - github.com/prometheus/prometheus/discovery/triton"}
+    ${lib.optionalString (enableUyuni)
+      "echo - github.com/prometheus/prometheus/discovery/uyuni"}
+    ${lib.optionalString (enableXDS)
+      "echo - github.com/prometheus/prometheus/discovery/xds"}
+    ${lib.optionalString (enableZookeeper)
+      "echo - github.com/prometheus/prometheus/discovery/zookeeper"}
+    ) > plugins.yml
+  '';
 
-    # Disable some service discovery to shrink binaries.
-    ${lib.optionalString (!enableAWS)
-      "sed -i -e '/register aws/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableAzure)
-      "sed -i -e '/register azure/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableConsul)
-      "sed -i -e '/register consul/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableDigitalOcean)
-      "sed -i -e '/register digitalocean/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableEureka)
-      "sed -i -e '/register eureka/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableGCE)
-      "sed -i -e '/register gce/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableHetzner)
-      "sed -i -e '/register hetzner/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableKubernetes)
-      "sed -i -e '/register kubernetes/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableLinode)
-      "sed -i -e '/register linode/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableMarathon)
-      "sed -i -e '/register marathon/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableMoby)
-      "sed -i -e '/register moby/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableOpenstack)
-      "sed -i -e '/register openstack/d' discovery/install/install.go"}
-    ${lib.optionalString (!enablePuppetDB)
-      "sed -i -e '/register puppetdb/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableScaleway)
-      "sed -i -e '/register scaleway/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableTriton)
-      "sed -i -e '/register triton/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableUyuni)
-      "sed -i -e '/register uyuni/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableXDS)
-      "sed -i -e '/register xds/d' discovery/install/install.go"}
-    ${lib.optionalString (!enableZookeeper)
-      "sed -i -e '/register zookeeper/d' discovery/install/install.go"}
+  preBuild = ''
+    if [[ -d vendor ]]; then make -o assets assets-compress plugins; fi
   '';
 
   tags = [ "builtinassets" ];
 
   ldflags =
     let
-      t = "${goPackagePath}/vendor/github.com/prometheus/common/version";
+      t = "github.com/prometheus/common/version";
     in
     [
       "-X ${t}.Version=${version}"
@@ -165,20 +113,13 @@ buildGoModule rec {
       "-X ${t}.GoVersion=${lib.getVersion go}"
     ];
 
-  # only run this in the real build, not during the vendor build
-  # this should probably be fixed in buildGoModule
-  preBuild = ''
-    if [ -d vendor ]; then make assets; fi
-  '';
-
   preInstall = ''
     mkdir -p "$out/share/doc/prometheus" "$out/etc/prometheus"
     cp -a $src/documentation/* $out/share/doc/prometheus
     cp -a $src/console_libraries $src/consoles $out/etc/prometheus
   '';
 
-  # doCheck = !stdenv.isDarwin; # https://hydra.nixos.org/build/130673870/nixlog/1
-  doCheck = false;
+  doCheck = !stdenv.isDarwin; # https://hydra.nixos.org/build/130673870/nixlog/1
 
   passthru.tests = { inherit (nixosTests) prometheus; };
 
diff --git a/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix b/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix
index 6af1dbffbc8..f4c64d225e9 100644
--- a/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix
@@ -1,18 +1,20 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "haproxy_exporter";
-  version = "0.12.0";
-
-  goPackagePath = "github.com/prometheus/haproxy_exporter";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
-    rev = "v${version}";
     owner = "prometheus";
     repo = "haproxy_exporter";
-    sha256 = "09aqm2zqimn6w10p1nhnpjcigm299b31xfrq8ma0d7z4v9p2y9dn";
+    rev = "v${version}";
+    sha256 = "sha256-F0yYUIKTIGyhzL0QwmioQYnWBb0GeFOhBwL3IqDKoQA=";
   };
 
+  vendorSha256 = "sha256-iJ2doxsLqTitsKJg3PUFLzEtLlP5QckSdFZkXX3ALIE=";
+
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     description = "HAProxy Exporter for the Prometheus monitoring system";
     homepage = "https://github.com/prometheus/haproxy_exporter";
diff --git a/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix b/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
index 4f96e516278..386e49594d2 100644
--- a/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "prometheus-nextcloud-exporter";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "xperimental";
     repo = "nextcloud-exporter";
     rev = "v${version}";
-    sha256 = "sha256-73IxGxnKgbG50nr57Wft+hh0KT7redrwXc4EZFn25qs=";
+    sha256 = "18xvxx0aplkj7xzi0zfsz7a5d45hh8blfqb105360pknvvi6apjv";
   };
 
-  vendorSha256 = "sha256-vIhHUFg8m6raKF82DcXRGKCgSM2FJ2VTM+MdMjP7KUY=";
+  vendorSha256 = "1wr1ckz0klk9sqpyk96h8bwr1dg6aiirr1l1f23kbib91pfpd08r";
 
   passthru.tests = { inherit (nixosTests.prometheus-exporters) nextcloud; };
 
diff --git a/pkgs/servers/monitoring/prometheus/promscale/default.nix b/pkgs/servers/monitoring/prometheus/promscale/default.nix
index dd297d4c258..fbd1661c5f8 100644
--- a/pkgs/servers/monitoring/prometheus/promscale/default.nix
+++ b/pkgs/servers/monitoring/prometheus/promscale/default.nix
@@ -2,7 +2,7 @@
 , buildGoModule
 , fetchFromGitHub
 , promscale
-, testVersion
+, testers
 }:
 
 buildGoModule rec {
@@ -40,7 +40,7 @@ buildGoModule rec {
     runHook postCheck
   '';
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = promscale;
     command = "promscale -version";
   };
diff --git a/pkgs/servers/monitoring/prometheus/webui/codemirror-promql/default.nix b/pkgs/servers/monitoring/prometheus/webui/codemirror-promql/default.nix
deleted file mode 100644
index 6b56f640ae9..00000000000
--- a/pkgs/servers/monitoring/prometheus/webui/codemirror-promql/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file has been generated by node2nix 1.9.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 lib python2 runCommand writeTextFile writeShellScript;
-    inherit pkgs nodejs;
-    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
-  };
-in
-import ./node-packages.nix {
-  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
-  inherit nodeEnv;
-}
diff --git a/pkgs/servers/monitoring/prometheus/webui/codemirror-promql/node-packages.nix b/pkgs/servers/monitoring/prometheus/webui/codemirror-promql/node-packages.nix
deleted file mode 100644
index 0dd3cfeb0a9..00000000000
--- a/pkgs/servers/monitoring/prometheus/webui/codemirror-promql/node-packages.nix
+++ /dev/null
@@ -1,9436 +0,0 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
-
-{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
-
-let
-  sources = {
-    "@babel/code-frame-7.12.13" = {
-      name = "_at_babel_slash_code-frame";
-      packageName = "@babel/code-frame";
-      version = "7.12.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz";
-        sha512 = "HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==";
-      };
-    };
-    "@babel/compat-data-7.13.15" = {
-      name = "_at_babel_slash_compat-data";
-      packageName = "@babel/compat-data";
-      version = "7.13.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.15.tgz";
-        sha512 = "ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA==";
-      };
-    };
-    "@babel/core-7.13.15" = {
-      name = "_at_babel_slash_core";
-      packageName = "@babel/core";
-      version = "7.13.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.13.15.tgz";
-        sha512 = "6GXmNYeNjS2Uz+uls5jalOemgIhnTMeaXo+yBUA72kC2uX/8VW6XyhVIo2L8/q0goKQA3EVKx0KOQpVKSeWadQ==";
-      };
-    };
-    "@babel/generator-7.13.9" = {
-      name = "_at_babel_slash_generator";
-      packageName = "@babel/generator";
-      version = "7.13.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz";
-        sha512 = "mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==";
-      };
-    };
-    "@babel/helper-compilation-targets-7.13.13" = {
-      name = "_at_babel_slash_helper-compilation-targets";
-      packageName = "@babel/helper-compilation-targets";
-      version = "7.13.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz";
-        sha512 = "q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ==";
-      };
-    };
-    "@babel/helper-function-name-7.12.13" = {
-      name = "_at_babel_slash_helper-function-name";
-      packageName = "@babel/helper-function-name";
-      version = "7.12.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz";
-        sha512 = "TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==";
-      };
-    };
-    "@babel/helper-get-function-arity-7.12.13" = {
-      name = "_at_babel_slash_helper-get-function-arity";
-      packageName = "@babel/helper-get-function-arity";
-      version = "7.12.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz";
-        sha512 = "DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==";
-      };
-    };
-    "@babel/helper-member-expression-to-functions-7.13.12" = {
-      name = "_at_babel_slash_helper-member-expression-to-functions";
-      packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.13.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz";
-        sha512 = "48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==";
-      };
-    };
-    "@babel/helper-module-imports-7.13.12" = {
-      name = "_at_babel_slash_helper-module-imports";
-      packageName = "@babel/helper-module-imports";
-      version = "7.13.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz";
-        sha512 = "4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==";
-      };
-    };
-    "@babel/helper-module-transforms-7.13.14" = {
-      name = "_at_babel_slash_helper-module-transforms";
-      packageName = "@babel/helper-module-transforms";
-      version = "7.13.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz";
-        sha512 = "QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==";
-      };
-    };
-    "@babel/helper-optimise-call-expression-7.12.13" = {
-      name = "_at_babel_slash_helper-optimise-call-expression";
-      packageName = "@babel/helper-optimise-call-expression";
-      version = "7.12.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz";
-        sha512 = "BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==";
-      };
-    };
-    "@babel/helper-replace-supers-7.13.12" = {
-      name = "_at_babel_slash_helper-replace-supers";
-      packageName = "@babel/helper-replace-supers";
-      version = "7.13.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz";
-        sha512 = "Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==";
-      };
-    };
-    "@babel/helper-simple-access-7.13.12" = {
-      name = "_at_babel_slash_helper-simple-access";
-      packageName = "@babel/helper-simple-access";
-      version = "7.13.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz";
-        sha512 = "7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==";
-      };
-    };
-    "@babel/helper-split-export-declaration-7.12.13" = {
-      name = "_at_babel_slash_helper-split-export-declaration";
-      packageName = "@babel/helper-split-export-declaration";
-      version = "7.12.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz";
-        sha512 = "tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==";
-      };
-    };
-    "@babel/helper-validator-identifier-7.12.11" = {
-      name = "_at_babel_slash_helper-validator-identifier";
-      packageName = "@babel/helper-validator-identifier";
-      version = "7.12.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz";
-        sha512 = "np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==";
-      };
-    };
-    "@babel/helper-validator-option-7.12.17" = {
-      name = "_at_babel_slash_helper-validator-option";
-      packageName = "@babel/helper-validator-option";
-      version = "7.12.17";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz";
-        sha512 = "TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==";
-      };
-    };
-    "@babel/helpers-7.13.10" = {
-      name = "_at_babel_slash_helpers";
-      packageName = "@babel/helpers";
-      version = "7.13.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.10.tgz";
-        sha512 = "4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ==";
-      };
-    };
-    "@babel/highlight-7.13.10" = {
-      name = "_at_babel_slash_highlight";
-      packageName = "@babel/highlight";
-      version = "7.13.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz";
-        sha512 = "5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==";
-      };
-    };
-    "@babel/parser-7.13.15" = {
-      name = "_at_babel_slash_parser";
-      packageName = "@babel/parser";
-      version = "7.13.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.13.15.tgz";
-        sha512 = "b9COtcAlVEQljy/9fbcMHpG+UIW9ReF+gpaxDHTlZd0c6/UU9ng8zdySAW9sRTzpvcdCHn6bUcbuYUgGzLAWVQ==";
-      };
-    };
-    "@babel/template-7.12.13" = {
-      name = "_at_babel_slash_template";
-      packageName = "@babel/template";
-      version = "7.12.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz";
-        sha512 = "/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==";
-      };
-    };
-    "@babel/traverse-7.13.15" = {
-      name = "_at_babel_slash_traverse";
-      packageName = "@babel/traverse";
-      version = "7.13.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.15.tgz";
-        sha512 = "/mpZMNvj6bce59Qzl09fHEs8Bt8NnpEDQYleHUPZQ3wXUMvXi+HJPLars68oAbmp839fGoOkv2pSL2z9ajCIaQ==";
-      };
-    };
-    "@babel/types-7.13.14" = {
-      name = "_at_babel_slash_types";
-      packageName = "@babel/types";
-      version = "7.13.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz";
-        sha512 = "A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==";
-      };
-    };
-    "@codemirror/autocomplete-0.18.3" = {
-      name = "_at_codemirror_slash_autocomplete";
-      packageName = "@codemirror/autocomplete";
-      version = "0.18.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.3.tgz";
-        sha512 = "XAilIpYxsessr3Zh39nc5T97Zz9wLMwQTCDlIKapm/VK3JnX1I1jkoe8JqpbyVyabVxGXpB2K88GIVS9X+nLZQ==";
-      };
-    };
-    "@codemirror/basic-setup-0.18.0" = {
-      name = "_at_codemirror_slash_basic-setup";
-      packageName = "@codemirror/basic-setup";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/basic-setup/-/basic-setup-0.18.0.tgz";
-        sha512 = "3IU6gBIkVVCF+ZtKqzCmYU1GLfbA12OsPYPWWq9rSzEb5G/FrWCA51ERYJpS3CzOI7TfBFjZZYc5j0OiNIF2VQ==";
-      };
-    };
-    "@codemirror/closebrackets-0.18.0" = {
-      name = "_at_codemirror_slash_closebrackets";
-      packageName = "@codemirror/closebrackets";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/closebrackets/-/closebrackets-0.18.0.tgz";
-        sha512 = "O1RAgUkzF4nq/B8IyXenZKZ1rJi2Mc7I6y4IhWhELiTnjyQy7YdAthTsJ40mNr8kZ6gRbasYe3K7TraITElZJA==";
-      };
-    };
-    "@codemirror/commands-0.18.0" = {
-      name = "_at_codemirror_slash_commands";
-      packageName = "@codemirror/commands";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/commands/-/commands-0.18.0.tgz";
-        sha512 = "4H63B4oqr8dmJ3VOKvMI7xrZIBJjAdtz3Z0V/Jt0HlIYTe76Omy4h9BS3b9EgyNaWjIO/Slz3KQPwihcC8uR5Q==";
-      };
-    };
-    "@codemirror/comment-0.18.0" = {
-      name = "_at_codemirror_slash_comment";
-      packageName = "@codemirror/comment";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/comment/-/comment-0.18.0.tgz";
-        sha512 = "yb/8dz/zIzXIa00L0Ed7/R8m2FupPZux/EMquwzbAOnTNcXeeaPVcp9kEMPf85b9D82csunXXdiOSalBVGjKWQ==";
-      };
-    };
-    "@codemirror/fold-0.18.0" = {
-      name = "_at_codemirror_slash_fold";
-      packageName = "@codemirror/fold";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/fold/-/fold-0.18.0.tgz";
-        sha512 = "qZsl85rp1Wm2ifaw1E25paDRVGr0m2vKRIoUG5mv+G2NxJx6lsuMLgU7MKIJQ+3iDHUR2is2yU8d6lOwwp5IEg==";
-      };
-    };
-    "@codemirror/gutter-0.18.0" = {
-      name = "_at_codemirror_slash_gutter";
-      packageName = "@codemirror/gutter";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/gutter/-/gutter-0.18.0.tgz";
-        sha512 = "9hcKzBM5EjhWwrau5Xiv0ll/yOvkgiyLnH7DTsjFCUvuyfbS45WVEMhQ6C+HfsoRVR4TJqRVLJjaIktZqaAqnw==";
-      };
-    };
-    "@codemirror/highlight-0.18.3" = {
-      name = "_at_codemirror_slash_highlight";
-      packageName = "@codemirror/highlight";
-      version = "0.18.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/highlight/-/highlight-0.18.3.tgz";
-        sha512 = "NmRmkmWl8ht6Y6Y39ghov84AMPCqhUPIH9fmILs2NaWxZFZf4jGCTzrULnmREGsTie+26+LbKUncIU+PBu1Qng==";
-      };
-    };
-    "@codemirror/history-0.18.0" = {
-      name = "_at_codemirror_slash_history";
-      packageName = "@codemirror/history";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/history/-/history-0.18.0.tgz";
-        sha512 = "oMpvu7c8GQnEn1nX98+WuVQuMEVxOPJFU1yrA22sWfqG7lkrJAv7p4geCWOpwQY9/LWw4sICkDbCeirre4BqBA==";
-      };
-    };
-    "@codemirror/language-0.18.0" = {
-      name = "_at_codemirror_slash_language";
-      packageName = "@codemirror/language";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/language/-/language-0.18.0.tgz";
-        sha512 = "gryu0Sej1vG3S3njwsJ+bhz9zLoJxZ2TahLlxpqOB3uqVGZrGDyE+GmZBnA6I3hwHvaO1O4WXKScVsKoW6HqFA==";
-      };
-    };
-    "@codemirror/lint-0.18.1" = {
-      name = "_at_codemirror_slash_lint";
-      packageName = "@codemirror/lint";
-      version = "0.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.1.tgz";
-        sha512 = "2Ueg/ojU56vF5thxMdS67XQzvHNcBnPKw2zgbDVmL/Z+84SMjP7EKvHV5FlbrKFNGZiwnaAKk5MZRYUwBY3f0g==";
-      };
-    };
-    "@codemirror/matchbrackets-0.18.0" = {
-      name = "_at_codemirror_slash_matchbrackets";
-      packageName = "@codemirror/matchbrackets";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/matchbrackets/-/matchbrackets-0.18.0.tgz";
-        sha512 = "dPDopnZVkD54sSYdmQbyQbPdiuIA83p7XxX6Hp1ScEkOjukwCiFXiA/84x10FUTsQpUYp8bDzm7gwII119bGIw==";
-      };
-    };
-    "@codemirror/panel-0.18.1" = {
-      name = "_at_codemirror_slash_panel";
-      packageName = "@codemirror/panel";
-      version = "0.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.1.tgz";
-        sha512 = "5Zo9cUw0QDlFzX4nhIDYjTARPOnPk5rzxAUQo1O35kTLV+6zRh7wsGlvU7VrZnBcIoaAmHfKrZ4lt6+h7fbFGw==";
-      };
-    };
-    "@codemirror/rangeset-0.18.0" = {
-      name = "_at_codemirror_slash_rangeset";
-      packageName = "@codemirror/rangeset";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/rangeset/-/rangeset-0.18.0.tgz";
-        sha512 = "+dpK3T6EFv2vkoAc3sTZld0N5SHZDjD3YowFYuMWn0Xw3t+u6k+JZlGBuaFTXdsLeF0auclsm0XhRUpMVuXhTg==";
-      };
-    };
-    "@codemirror/rectangular-selection-0.18.0" = {
-      name = "_at_codemirror_slash_rectangular-selection";
-      packageName = "@codemirror/rectangular-selection";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/rectangular-selection/-/rectangular-selection-0.18.0.tgz";
-        sha512 = "BQ4pp2zhXCVZNqct5LtLR3AOWVseENBF/3oOgBmwsCKH7c11NfTqIqgWG5EW8NLOXp8HP8cDm3np8eWez0VkGQ==";
-      };
-    };
-    "@codemirror/search-0.18.1" = {
-      name = "_at_codemirror_slash_search";
-      packageName = "@codemirror/search";
-      version = "0.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/search/-/search-0.18.1.tgz";
-        sha512 = "T1yAZHLmCzaXicyHoW/45f/7ImQs87kajcl4+9F/uBgzDjvQAL1sL5NVVONze2UxGHPAHRPTLwvkPxKFgQ0kGg==";
-      };
-    };
-    "@codemirror/state-0.18.2" = {
-      name = "_at_codemirror_slash_state";
-      packageName = "@codemirror/state";
-      version = "0.18.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/state/-/state-0.18.2.tgz";
-        sha512 = "fzd9duIkRjSZFsz9lie0V6wa4zZac8LtjZYd9pSmNneDAoJx0AigFEswJ+KDdYuiPmsKd8NB0wXzoiGLLjP6MA==";
-      };
-    };
-    "@codemirror/text-0.18.0" = {
-      name = "_at_codemirror_slash_text";
-      packageName = "@codemirror/text";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/text/-/text-0.18.0.tgz";
-        sha512 = "HMzHNIAbjCiCf3tEJMRg6ul01KPuXxQGNiHlHgAnqPguq/CX+L4Nvj5JlWQAI91Pupk18zhmM1c6eaazX4YeTg==";
-      };
-    };
-    "@codemirror/tooltip-0.18.4" = {
-      name = "_at_codemirror_slash_tooltip";
-      packageName = "@codemirror/tooltip";
-      version = "0.18.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.4.tgz";
-        sha512 = "LDlDOSEfjoG24uapLN7exK3Z3JchYFKUwWqo1x/9YdlAkmD1ik7cMSQZboCquP1uJVcXhtbpKmaO6vENGVaarg==";
-      };
-    };
-    "@codemirror/view-0.18.1" = {
-      name = "_at_codemirror_slash_view";
-      packageName = "@codemirror/view";
-      version = "0.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/view/-/view-0.18.1.tgz";
-        sha512 = "chyy+oEnywKMUFDMafVAMcrV+DkjJT3l6pSfN1cvM2LBM/eY54gekv/aXtmsBFRSnd+u09mhjb/kGB+EdNHIjg==";
-      };
-    };
-    "@istanbuljs/load-nyc-config-1.1.0" = {
-      name = "_at_istanbuljs_slash_load-nyc-config";
-      packageName = "@istanbuljs/load-nyc-config";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz";
-        sha512 = "VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==";
-      };
-    };
-    "@istanbuljs/schema-0.1.3" = {
-      name = "_at_istanbuljs_slash_schema";
-      packageName = "@istanbuljs/schema";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz";
-        sha512 = "ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==";
-      };
-    };
-    "@tootallnate/once-1.1.2" = {
-      name = "_at_tootallnate_slash_once";
-      packageName = "@tootallnate/once";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz";
-        sha512 = "RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==";
-      };
-    };
-    "@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/chai-4.2.14" = {
-      name = "_at_types_slash_chai";
-      packageName = "@types/chai";
-      version = "4.2.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/chai/-/chai-4.2.14.tgz";
-        sha512 = "G+ITQPXkwTrslfG5L/BksmbLUA0M1iybEsmCWPqzSxsRRhJZimBKJkoMi8fr/CPygPTj4zO5pJH7I2/cm9M7SQ==";
-      };
-    };
-    "@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/glob-7.1.3" = {
-      name = "_at_types_slash_glob";
-      packageName = "@types/glob";
-      version = "7.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz";
-        sha512 = "SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==";
-      };
-    };
-    "@types/html-minifier-terser-5.1.1" = {
-      name = "_at_types_slash_html-minifier-terser";
-      packageName = "@types/html-minifier-terser";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz";
-        sha512 = "giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==";
-      };
-    };
-    "@types/json-schema-7.0.6" = {
-      name = "_at_types_slash_json-schema";
-      packageName = "@types/json-schema";
-      version = "7.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz";
-        sha512 = "3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==";
-      };
-    };
-    "@types/json5-0.0.29" = {
-      name = "_at_types_slash_json5";
-      packageName = "@types/json5";
-      version = "0.0.29";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz";
-        sha1 = "ee28707ae94e11d2b827bcbe5270bcea7f3e71ee";
-      };
-    };
-    "@types/lru-cache-5.1.0" = {
-      name = "_at_types_slash_lru-cache";
-      packageName = "@types/lru-cache";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.0.tgz";
-        sha512 = "RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w==";
-      };
-    };
-    "@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/mocha-8.0.4" = {
-      name = "_at_types_slash_mocha";
-      packageName = "@types/mocha";
-      version = "8.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mocha/-/mocha-8.0.4.tgz";
-        sha512 = "M4BwiTJjHmLq6kjON7ZoI2JMlBvpY3BYSdiP6s/qCT3jb1s9/DeJF0JELpAxiVSIxXDzfNKe+r7yedMIoLbknQ==";
-      };
-    };
-    "@types/node-14.14.10" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "14.14.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz";
-        sha512 = "J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==";
-      };
-    };
-    "@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.11.1" = {
-      name = "_at_types_slash_uglify-js";
-      packageName = "@types/uglify-js";
-      version = "3.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz";
-        sha512 = "7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==";
-      };
-    };
-    "@types/webpack-4.41.25" = {
-      name = "_at_types_slash_webpack";
-      packageName = "@types/webpack";
-      version = "4.41.25";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz";
-        sha512 = "cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==";
-      };
-    };
-    "@types/webpack-sources-2.1.0" = {
-      name = "_at_types_slash_webpack-sources";
-      packageName = "@types/webpack-sources";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz";
-        sha512 = "LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==";
-      };
-    };
-    "@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==";
-      };
-    };
-    "@ungap/promise-all-settled-1.1.2" = {
-      name = "_at_ungap_slash_promise-all-settled";
-      packageName = "@ungap/promise-all-settled";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz";
-        sha512 = "sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==";
-      };
-    };
-    "@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==";
-      };
-    };
-    "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.2" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "6.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz";
-        sha512 = "XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==";
-      };
-    };
-    "acorn-7.4.1" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "7.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz";
-        sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
-      };
-    };
-    "acorn-jsx-5.3.1" = {
-      name = "acorn-jsx";
-      packageName = "acorn-jsx";
-      version = "5.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz";
-        sha512 = "K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==";
-      };
-    };
-    "agent-base-5.1.1" = {
-      name = "agent-base";
-      packageName = "agent-base";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz";
-        sha512 = "TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==";
-      };
-    };
-    "agent-base-6.0.2" = {
-      name = "agent-base";
-      packageName = "agent-base";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz";
-        sha512 = "RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==";
-      };
-    };
-    "aggregate-error-3.1.0" = {
-      name = "aggregate-error";
-      packageName = "aggregate-error";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz";
-        sha512 = "4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==";
-      };
-    };
-    "ajv-6.12.6" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "6.12.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz";
-        sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
-      };
-    };
-    "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.5.2" = {
-      name = "ajv-keywords";
-      packageName = "ajv-keywords";
-      version = "3.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz";
-        sha512 = "5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==";
-      };
-    };
-    "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-colors-4.1.1" = {
-      name = "ansi-colors";
-      packageName = "ansi-colors";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz";
-        sha512 = "JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==";
-      };
-    };
-    "ansi-escapes-4.3.1" = {
-      name = "ansi-escapes";
-      packageName = "ansi-escapes";
-      version = "4.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz";
-        sha512 = "JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==";
-      };
-    };
-    "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-3.2.1" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
-        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
-      };
-    };
-    "ansi-styles-4.3.0" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz";
-        sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "append-transform-2.0.0" = {
-      name = "append-transform";
-      packageName = "append-transform";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz";
-        sha512 = "7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "archy-1.0.0" = {
-      name = "archy";
-      packageName = "archy";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz";
-        sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40";
-      };
-    };
-    "arg-4.1.3" = {
-      name = "arg";
-      packageName = "arg";
-      version = "4.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz";
-        sha512 = "58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==";
-      };
-    };
-    "argparse-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==";
-      };
-    };
-    "argv-0.0.2" = {
-      name = "argv";
-      packageName = "argv";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz";
-        sha1 = "ecbd16f8949b157183711b1bda334f37840185ab";
-      };
-    };
-    "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-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-includes-3.1.2" = {
-      name = "array-includes";
-      packageName = "array-includes";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz";
-        sha512 = "w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==";
-      };
-    };
-    "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";
-      };
-    };
-    "array.prototype.flat-1.2.4" = {
-      name = "array.prototype.flat";
-      packageName = "array.prototype.flat";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz";
-        sha512 = "4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==";
-      };
-    };
-    "arrify-1.0.1" = {
-      name = "arrify";
-      packageName = "arrify";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz";
-        sha1 = "898508da2226f380df904728456849c1501a4b0d";
-      };
-    };
-    "asn1.js-5.4.1" = {
-      name = "asn1.js";
-      packageName = "asn1.js";
-      version = "5.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz";
-        sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "assertion-error-1.1.0" = {
-      name = "assertion-error";
-      packageName = "assertion-error";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz";
-        sha512 = "jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==";
-      };
-    };
-    "assign-symbols-1.0.0" = {
-      name = "assign-symbols";
-      packageName = "assign-symbols";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz";
-        sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
-      };
-    };
-    "astral-regex-1.0.0" = {
-      name = "astral-regex";
-      packageName = "astral-regex";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz";
-        sha512 = "+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==";
-      };
-    };
-    "async-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-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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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.5.1" = {
-      name = "base64-js";
-      packageName = "base64-js";
-      version = "1.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz";
-        sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
-      };
-    };
-    "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";
-      };
-    };
-    "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==";
-      };
-    };
-    "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.9" = {
-      name = "bn.js";
-      packageName = "bn.js";
-      version = "4.11.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz";
-        sha512 = "E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==";
-      };
-    };
-    "bn.js-5.1.3" = {
-      name = "bn.js";
-      packageName = "bn.js";
-      version = "5.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz";
-        sha512 = "GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==";
-      };
-    };
-    "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";
-      };
-    };
-    "browser-stdout-1.3.1" = {
-      name = "browser-stdout";
-      packageName = "browser-stdout";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz";
-        sha512 = "qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==";
-      };
-    };
-    "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.1.0" = {
-      name = "browserify-rsa";
-      packageName = "browserify-rsa";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz";
-        sha512 = "AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==";
-      };
-    };
-    "browserify-sign-4.2.1" = {
-      name = "browserify-sign";
-      packageName = "browserify-sign";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz";
-        sha512 = "/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==";
-      };
-    };
-    "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.16.3" = {
-      name = "browserslist";
-      packageName = "browserslist";
-      version = "4.16.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz";
-        sha512 = "vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==";
-      };
-    };
-    "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-xor-1.0.3" = {
-      name = "buffer-xor";
-      packageName = "buffer-xor";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz";
-        sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
-      };
-    };
-    "builtin-status-codes-3.0.0" = {
-      name = "builtin-status-codes";
-      packageName = "builtin-status-codes";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
-        sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
-      };
-    };
-    "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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "caching-transform-4.0.0" = {
-      name = "caching-transform";
-      packageName = "caching-transform";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz";
-        sha512 = "kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==";
-      };
-    };
-    "call-bind-1.0.0" = {
-      name = "call-bind";
-      packageName = "call-bind";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz";
-        sha512 = "AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==";
-      };
-    };
-    "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-4.1.2" = {
-      name = "camel-case";
-      packageName = "camel-case";
-      version = "4.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz";
-        sha512 = "gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==";
-      };
-    };
-    "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-6.2.0" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz";
-        sha512 = "c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==";
-      };
-    };
-    "caniuse-lite-1.0.30001208" = {
-      name = "caniuse-lite";
-      packageName = "caniuse-lite";
-      version = "1.0.30001208";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001208.tgz";
-        sha512 = "OE5UE4+nBOro8Dyvv0lfx+SRtfVIOM9uhKqFmJeUbGriqhhStgp1A0OyBpgy3OUF8AhYCT+PVwPC1gMl2ZcQMA==";
-      };
-    };
-    "chai-4.2.0" = {
-      name = "chai";
-      packageName = "chai";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz";
-        sha512 = "XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==";
-      };
-    };
-    "chalk-2.4.2" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "2.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
-        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
-      };
-    };
-    "chalk-4.1.0" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz";
-        sha512 = "qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==";
-      };
-    };
-    "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-error-1.0.2" = {
-      name = "check-error";
-      packageName = "check-error";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz";
-        sha1 = "574d312edd88bb5dd8912e9286dd6c0aed4aac82";
-      };
-    };
-    "chokidar-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.3" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "3.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz";
-        sha512 = "DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "clean-webpack-plugin-3.0.0" = {
-      name = "clean-webpack-plugin";
-      packageName = "clean-webpack-plugin";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz";
-        sha512 = "MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==";
-      };
-    };
-    "cli-cursor-3.1.0" = {
-      name = "cli-cursor";
-      packageName = "cli-cursor";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz";
-        sha512 = "I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==";
-      };
-    };
-    "cli-width-3.0.0" = {
-      name = "cli-width";
-      packageName = "cli-width";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz";
-        sha512 = "FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==";
-      };
-    };
-    "cliui-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==";
-      };
-    };
-    "codecov-3.8.1" = {
-      name = "codecov";
-      packageName = "codecov";
-      version = "3.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/codecov/-/codecov-3.8.1.tgz";
-        sha512 = "Qm7ltx1pzLPsliZY81jyaQ80dcNR4/JpcX0IHCIWrHBXgseySqbdbYfkdiXd7o/xmzQpGRVCKGYeTrHUpn6Dcw==";
-      };
-    };
-    "collection-visit-1.0.0" = {
-      name = "collection-visit";
-      packageName = "collection-visit";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz";
-        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
-      };
-    };
-    "color-convert-1.9.3" = {
-      name = "color-convert";
-      packageName = "color-convert";
-      version = "1.9.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
-        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
-      };
-    };
-    "color-convert-2.0.1" = {
-      name = "color-convert";
-      packageName = "color-convert";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz";
-        sha512 = "RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==";
-      };
-    };
-    "color-name-1.1.3" = {
-      name = "color-name";
-      packageName = "color-name";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
-        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
-      };
-    };
-    "color-name-1.1.4" = {
-      name = "color-name";
-      packageName = "color-name";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz";
-        sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
-      };
-    };
-    "colorette-1.2.2" = {
-      name = "colorette";
-      packageName = "colorette";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz";
-        sha512 = "MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==";
-      };
-    };
-    "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==";
-      };
-    };
-    "commander-4.1.1" = {
-      name = "commander";
-      packageName = "commander";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz";
-        sha512 = "NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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";
-      };
-    };
-    "contains-path-0.1.0" = {
-      name = "contains-path";
-      packageName = "contains-path";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz";
-        sha1 = "fe8cf184ff6670b6baef01a9d4861a5cbec4120a";
-      };
-    };
-    "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";
-      };
-    };
-    "core-util-is-1.0.2" = {
-      name = "core-util-is";
-      packageName = "core-util-is";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
-        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
-      };
-    };
-    "create-ecdh-4.0.4" = {
-      name = "create-ecdh";
-      packageName = "create-ecdh";
-      version = "4.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz";
-        sha512 = "mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==";
-      };
-    };
-    "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==";
-      };
-    };
-    "create-require-1.1.1" = {
-      name = "create-require";
-      packageName = "create-require";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz";
-        sha512 = "dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==";
-      };
-    };
-    "crelt-1.0.5" = {
-      name = "crelt";
-      packageName = "crelt";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz";
-        sha512 = "+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==";
-      };
-    };
-    "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-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-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==";
-      };
-    };
-    "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";
-      };
-    };
-    "debug-2.6.9" = {
-      name = "debug";
-      packageName = "debug";
-      version = "2.6.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
-        sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
-      };
-    };
-    "debug-3.2.7" = {
-      name = "debug";
-      packageName = "debug";
-      version = "3.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz";
-        sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
-      };
-    };
-    "debug-4.2.0" = {
-      name = "debug";
-      packageName = "debug";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz";
-        sha512 = "IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==";
-      };
-    };
-    "debug-4.3.1" = {
-      name = "debug";
-      packageName = "debug";
-      version = "4.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz";
-        sha512 = "doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==";
-      };
-    };
-    "decamelize-1.2.0" = {
-      name = "decamelize";
-      packageName = "decamelize";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
-        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
-      };
-    };
-    "decamelize-4.0.0" = {
-      name = "decamelize";
-      packageName = "decamelize";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz";
-        sha512 = "9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==";
-      };
-    };
-    "decode-uri-component-0.2.0" = {
-      name = "decode-uri-component";
-      packageName = "decode-uri-component";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
-        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
-      };
-    };
-    "deep-eql-3.0.1" = {
-      name = "deep-eql";
-      packageName = "deep-eql";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz";
-        sha512 = "+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==";
-      };
-    };
-    "deep-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";
-      };
-    };
-    "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-require-extensions-3.0.0" = {
-      name = "default-require-extensions";
-      packageName = "default-require-extensions";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz";
-        sha512 = "ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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-file-1.0.0" = {
-      name = "detect-file";
-      packageName = "detect-file";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz";
-        sha1 = "f0d66d03672a825cb1b73bdb3fe62310c8e552b7";
-      };
-    };
-    "detect-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-3.5.0" = {
-      name = "diff";
-      packageName = "diff";
-      version = "3.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz";
-        sha512 = "A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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-1.5.0" = {
-      name = "doctrine";
-      packageName = "doctrine";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz";
-        sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa";
-      };
-    };
-    "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.1.0" = {
-      name = "domelementtype";
-      packageName = "domelementtype";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz";
-        sha512 = "LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==";
-      };
-    };
-    "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";
-      };
-    };
-    "dot-case-3.0.4" = {
-      name = "dot-case";
-      packageName = "dot-case";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz";
-        sha512 = "Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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";
-      };
-    };
-    "electron-to-chromium-1.3.712" = {
-      name = "electron-to-chromium";
-      packageName = "electron-to-chromium";
-      version = "1.3.712";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.712.tgz";
-        sha512 = "3kRVibBeCM4vsgoHHGKHmPocLqtFAGTrebXxxtgKs87hNUzXrX2NuS3jnBys7IozCnw7viQlozxKkmty2KNfrw==";
-      };
-    };
-    "elliptic-6.5.4" = {
-      name = "elliptic";
-      packageName = "elliptic";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz";
-        sha512 = "iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==";
-      };
-    };
-    "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-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.3.0" = {
-      name = "enhanced-resolve";
-      packageName = "enhanced-resolve";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz";
-        sha512 = "3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==";
-      };
-    };
-    "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.1.0" = {
-      name = "entities";
-      packageName = "entities";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz";
-        sha512 = "hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==";
-      };
-    };
-    "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==";
-      };
-    };
-    "es-abstract-1.17.7" = {
-      name = "es-abstract";
-      packageName = "es-abstract";
-      version = "1.17.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz";
-        sha512 = "VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==";
-      };
-    };
-    "es-abstract-1.18.0-next.1" = {
-      name = "es-abstract";
-      packageName = "es-abstract";
-      version = "1.18.0-next.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz";
-        sha512 = "I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "es6-error-4.1.1" = {
-      name = "es6-error";
-      packageName = "es6-error";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz";
-        sha512 = "Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==";
-      };
-    };
-    "escalade-3.1.1" = {
-      name = "escalade";
-      packageName = "escalade";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz";
-        sha512 = "k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==";
-      };
-    };
-    "escape-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";
-      };
-    };
-    "escape-string-regexp-4.0.0" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz";
-        sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
-      };
-    };
-    "eslint-6.8.0" = {
-      name = "eslint";
-      packageName = "eslint";
-      version = "6.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz";
-        sha512 = "K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==";
-      };
-    };
-    "eslint-config-prettier-6.15.0" = {
-      name = "eslint-config-prettier";
-      packageName = "eslint-config-prettier";
-      version = "6.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz";
-        sha512 = "a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==";
-      };
-    };
-    "eslint-import-resolver-node-0.3.4" = {
-      name = "eslint-import-resolver-node";
-      packageName = "eslint-import-resolver-node";
-      version = "0.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz";
-        sha512 = "ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==";
-      };
-    };
-    "eslint-module-utils-2.6.0" = {
-      name = "eslint-module-utils";
-      packageName = "eslint-module-utils";
-      version = "2.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz";
-        sha512 = "6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==";
-      };
-    };
-    "eslint-plugin-flowtype-5.2.0" = {
-      name = "eslint-plugin-flowtype";
-      packageName = "eslint-plugin-flowtype";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.2.0.tgz";
-        sha512 = "z7ULdTxuhlRJcEe1MVljePXricuPOrsWfScRXFhNzVD5dmTHWjIF57AxD0e7AbEoLSbjSsaA5S+hCg43WvpXJQ==";
-      };
-    };
-    "eslint-plugin-import-2.22.1" = {
-      name = "eslint-plugin-import";
-      packageName = "eslint-plugin-import";
-      version = "2.22.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz";
-        sha512 = "8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==";
-      };
-    };
-    "eslint-plugin-prettier-3.2.0" = {
-      name = "eslint-plugin-prettier";
-      packageName = "eslint-plugin-prettier";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.2.0.tgz";
-        sha512 = "kOUSJnFjAUFKwVxuzy6sA5yyMx6+o9ino4gCdShzBNx4eyFRudWRYKCFolKjoM40PEiuU6Cn7wBLfq3WsGg7qg==";
-      };
-    };
-    "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.1.1" = {
-      name = "eslint-scope";
-      packageName = "eslint-scope";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz";
-        sha512 = "2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==";
-      };
-    };
-    "eslint-utils-1.4.3" = {
-      name = "eslint-utils";
-      packageName = "eslint-utils";
-      version = "1.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz";
-        sha512 = "fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==";
-      };
-    };
-    "eslint-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.3.0" = {
-      name = "eslint-visitor-keys";
-      packageName = "eslint-visitor-keys";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz";
-        sha512 = "6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==";
-      };
-    };
-    "espree-6.2.1" = {
-      name = "espree";
-      packageName = "espree";
-      version = "6.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz";
-        sha512 = "ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==";
-      };
-    };
-    "esprima-4.0.1" = {
-      name = "esprima";
-      packageName = "esprima";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";
-        sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
-      };
-    };
-    "esquery-1.3.1" = {
-      name = "esquery";
-      packageName = "esquery";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz";
-        sha512 = "olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==";
-      };
-    };
-    "esrecurse-4.3.0" = {
-      name = "esrecurse";
-      packageName = "esrecurse";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz";
-        sha512 = "KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==";
-      };
-    };
-    "estraverse-4.3.0" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz";
-        sha512 = "39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==";
-      };
-    };
-    "estraverse-5.2.0" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz";
-        sha512 = "BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==";
-      };
-    };
-    "esutils-2.0.3" = {
-      name = "esutils";
-      packageName = "esutils";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz";
-        sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==";
-      };
-    };
-    "etag-1.8.1" = {
-      name = "etag";
-      packageName = "etag";
-      version = "1.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz";
-        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
-      };
-    };
-    "eventemitter3-4.0.7" = {
-      name = "eventemitter3";
-      packageName = "eventemitter3";
-      version = "4.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz";
-        sha512 = "8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==";
-      };
-    };
-    "events-3.2.0" = {
-      name = "events";
-      packageName = "events";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/events/-/events-3.2.0.tgz";
-        sha512 = "/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==";
-      };
-    };
-    "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-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==";
-      };
-    };
-    "expand-brackets-2.1.4" = {
-      name = "expand-brackets";
-      packageName = "expand-brackets";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz";
-        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
-      };
-    };
-    "expand-tilde-2.0.2" = {
-      name = "expand-tilde";
-      packageName = "expand-tilde";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz";
-        sha1 = "97e801aa052df02454de46b02bf621642cdc8502";
-      };
-    };
-    "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-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==";
-      };
-    };
-    "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-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.2.0" = {
-      name = "figures";
-      packageName = "figures";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz";
-        sha512 = "yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==";
-      };
-    };
-    "file-entry-cache-5.0.1" = {
-      name = "file-entry-cache";
-      packageName = "file-entry-cache";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz";
-        sha512 = "bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==";
-      };
-    };
-    "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-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-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==";
-      };
-    };
-    "find-up-5.0.0" = {
-      name = "find-up";
-      packageName = "find-up";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz";
-        sha512 = "78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==";
-      };
-    };
-    "findup-sync-3.0.0" = {
-      name = "findup-sync";
-      packageName = "findup-sync";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz";
-        sha512 = "YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==";
-      };
-    };
-    "flat-5.0.2" = {
-      name = "flat";
-      packageName = "flat";
-      version = "5.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz";
-        sha512 = "b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==";
-      };
-    };
-    "flat-cache-2.0.1" = {
-      name = "flat-cache";
-      packageName = "flat-cache";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz";
-        sha512 = "LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==";
-      };
-    };
-    "flatted-2.0.2" = {
-      name = "flatted";
-      packageName = "flatted";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz";
-        sha512 = "r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==";
-      };
-    };
-    "flush-write-stream-1.1.1" = {
-      name = "flush-write-stream";
-      packageName = "flush-write-stream";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz";
-        sha512 = "3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==";
-      };
-    };
-    "follow-redirects-1.13.0" = {
-      name = "follow-redirects";
-      packageName = "follow-redirects";
-      version = "1.13.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz";
-        sha512 = "aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==";
-      };
-    };
-    "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";
-      };
-    };
-    "foreground-child-2.0.0" = {
-      name = "foreground-child";
-      packageName = "foreground-child";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz";
-        sha512 = "dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==";
-      };
-    };
-    "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";
-      };
-    };
-    "fromentries-1.3.2" = {
-      name = "fromentries";
-      packageName = "fromentries";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz";
-        sha512 = "cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==";
-      };
-    };
-    "fs-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.13" = {
-      name = "fsevents";
-      packageName = "fsevents";
-      version = "1.2.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz";
-        sha512 = "oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==";
-      };
-    };
-    "fsevents-2.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==";
-      };
-    };
-    "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";
-      };
-    };
-    "gensync-1.0.0-beta.2" = {
-      name = "gensync";
-      packageName = "gensync";
-      version = "1.0.0-beta.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz";
-        sha512 = "3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==";
-      };
-    };
-    "get-caller-file-2.0.5" = {
-      name = "get-caller-file";
-      packageName = "get-caller-file";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz";
-        sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
-      };
-    };
-    "get-func-name-2.0.0" = {
-      name = "get-func-name";
-      packageName = "get-func-name";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz";
-        sha1 = "ead774abee72e20409433a066366023dd6887a41";
-      };
-    };
-    "get-intrinsic-1.0.1" = {
-      name = "get-intrinsic";
-      packageName = "get-intrinsic";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz";
-        sha512 = "ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==";
-      };
-    };
-    "get-package-type-0.1.0" = {
-      name = "get-package-type";
-      packageName = "get-package-type";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz";
-        sha512 = "pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==";
-      };
-    };
-    "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-4.1.0" = {
-      name = "get-stream";
-      packageName = "get-stream";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz";
-        sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==";
-      };
-    };
-    "get-value-2.0.6" = {
-      name = "get-value";
-      packageName = "get-value";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz";
-        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
-      };
-    };
-    "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.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==";
-      };
-    };
-    "global-modules-1.0.0" = {
-      name = "global-modules";
-      packageName = "global-modules";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz";
-        sha512 = "sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==";
-      };
-    };
-    "global-modules-2.0.0" = {
-      name = "global-modules";
-      packageName = "global-modules";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz";
-        sha512 = "NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==";
-      };
-    };
-    "global-prefix-1.0.2" = {
-      name = "global-prefix";
-      packageName = "global-prefix";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz";
-        sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe";
-      };
-    };
-    "global-prefix-3.0.0" = {
-      name = "global-prefix";
-      packageName = "global-prefix";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz";
-        sha512 = "awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==";
-      };
-    };
-    "globals-11.12.0" = {
-      name = "globals";
-      packageName = "globals";
-      version = "11.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz";
-        sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
-      };
-    };
-    "globals-12.4.0" = {
-      name = "globals";
-      packageName = "globals";
-      version = "12.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz";
-        sha512 = "BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==";
-      };
-    };
-    "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";
-      };
-    };
-    "graceful-fs-4.2.4" = {
-      name = "graceful-fs";
-      packageName = "graceful-fs";
-      version = "4.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz";
-        sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==";
-      };
-    };
-    "growl-1.10.5" = {
-      name = "growl";
-      packageName = "growl";
-      version = "1.10.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz";
-        sha512 = "qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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-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-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.1.0" = {
-      name = "hash-base";
-      packageName = "hash-base";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz";
-        sha512 = "1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "hasha-5.2.2" = {
-      name = "hasha";
-      packageName = "hasha";
-      version = "5.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz";
-        sha512 = "Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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";
-      };
-    };
-    "homedir-polyfill-1.0.3" = {
-      name = "homedir-polyfill";
-      packageName = "homedir-polyfill";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz";
-        sha512 = "eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==";
-      };
-    };
-    "hosted-git-info-2.8.9" = {
-      name = "hosted-git-info";
-      packageName = "hosted-git-info";
-      version = "2.8.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz";
-        sha512 = "mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==";
-      };
-    };
-    "hpack.js-2.1.6" = {
-      name = "hpack.js";
-      packageName = "hpack.js";
-      version = "2.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz";
-        sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2";
-      };
-    };
-    "html-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-escaper-2.0.2" = {
-      name = "html-escaper";
-      packageName = "html-escaper";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz";
-        sha512 = "H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==";
-      };
-    };
-    "html-minifier-terser-5.1.1" = {
-      name = "html-minifier-terser";
-      packageName = "html-minifier-terser";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz";
-        sha512 = "ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==";
-      };
-    };
-    "html-webpack-plugin-4.5.0" = {
-      name = "html-webpack-plugin";
-      packageName = "html-webpack-plugin";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz";
-        sha512 = "MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==";
-      };
-    };
-    "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-agent-4.0.1" = {
-      name = "http-proxy-agent";
-      packageName = "http-proxy-agent";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz";
-        sha512 = "k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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";
-      };
-    };
-    "https-proxy-agent-4.0.0" = {
-      name = "https-proxy-agent";
-      packageName = "https-proxy-agent";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz";
-        sha512 = "zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==";
-      };
-    };
-    "iconv-lite-0.4.24" = {
-      name = "iconv-lite";
-      packageName = "iconv-lite";
-      version = "0.4.24";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
-        sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
-      };
-    };
-    "ieee754-1.2.1" = {
-      name = "ieee754";
-      packageName = "ieee754";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz";
-        sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
-      };
-    };
-    "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-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==";
-      };
-    };
-    "ignore-walk-3.0.3" = {
-      name = "ignore-walk";
-      packageName = "ignore-walk";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz";
-        sha512 = "m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==";
-      };
-    };
-    "import-fresh-3.2.2" = {
-      name = "import-fresh";
-      packageName = "import-fresh";
-      version = "3.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz";
-        sha512 = "cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==";
-      };
-    };
-    "import-local-2.0.0" = {
-      name = "import-local";
-      packageName = "import-local";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz";
-        sha512 = "b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==";
-      };
-    };
-    "imurmurhash-0.1.4" = {
-      name = "imurmurhash";
-      packageName = "imurmurhash";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
-        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
-      };
-    };
-    "indent-string-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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "ini-1.3.8" = {
-      name = "ini";
-      packageName = "ini";
-      version = "1.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz";
-        sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
-      };
-    };
-    "inquirer-7.3.3" = {
-      name = "inquirer";
-      packageName = "inquirer";
-      version = "7.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz";
-        sha512 = "JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==";
-      };
-    };
-    "internal-ip-4.3.0" = {
-      name = "internal-ip";
-      packageName = "internal-ip";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz";
-        sha512 = "S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==";
-      };
-    };
-    "interpret-1.4.0" = {
-      name = "interpret";
-      packageName = "interpret";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz";
-        sha512 = "agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==";
-      };
-    };
-    "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-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-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.2.2" = {
-      name = "is-callable";
-      packageName = "is-callable";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz";
-        sha512 = "dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==";
-      };
-    };
-    "is-core-module-2.2.0" = {
-      name = "is-core-module";
-      packageName = "is-core-module";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz";
-        sha512 = "XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==";
-      };
-    };
-    "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-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-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-negative-zero-2.0.0" = {
-      name = "is-negative-zero";
-      packageName = "is-negative-zero";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz";
-        sha1 = "9553b121b0fac28869da9ed459e20c7543788461";
-      };
-    };
-    "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-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-2.1.0" = {
-      name = "is-plain-obj";
-      packageName = "is-plain-obj";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz";
-        sha512 = "YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==";
-      };
-    };
-    "is-plain-object-2.0.4" = {
-      name = "is-plain-object";
-      packageName = "is-plain-object";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz";
-        sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==";
-      };
-    };
-    "is-regex-1.1.1" = {
-      name = "is-regex";
-      packageName = "is-regex";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz";
-        sha512 = "1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==";
-      };
-    };
-    "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-string-1.0.5" = {
-      name = "is-string";
-      packageName = "is-string";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz";
-        sha512 = "buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==";
-      };
-    };
-    "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-windows-1.0.2" = {
-      name = "is-windows";
-      packageName = "is-windows";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz";
-        sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==";
-      };
-    };
-    "is-wsl-1.1.0" = {
-      name = "is-wsl";
-      packageName = "is-wsl";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz";
-        sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
-      };
-    };
-    "isarray-1.0.0" = {
-      name = "isarray";
-      packageName = "isarray";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
-        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
-      };
-    };
-    "isexe-2.0.0" = {
-      name = "isexe";
-      packageName = "isexe";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz";
-        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
-      };
-    };
-    "isobject-2.1.0" = {
-      name = "isobject";
-      packageName = "isobject";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz";
-        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
-      };
-    };
-    "isobject-3.0.1" = {
-      name = "isobject";
-      packageName = "isobject";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";
-        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
-      };
-    };
-    "isomorphic-fetch-3.0.0" = {
-      name = "isomorphic-fetch";
-      packageName = "isomorphic-fetch";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz";
-        sha512 = "qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==";
-      };
-    };
-    "istanbul-lib-coverage-3.0.0" = {
-      name = "istanbul-lib-coverage";
-      packageName = "istanbul-lib-coverage";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz";
-        sha512 = "UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==";
-      };
-    };
-    "istanbul-lib-hook-3.0.0" = {
-      name = "istanbul-lib-hook";
-      packageName = "istanbul-lib-hook";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz";
-        sha512 = "Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==";
-      };
-    };
-    "istanbul-lib-instrument-4.0.3" = {
-      name = "istanbul-lib-instrument";
-      packageName = "istanbul-lib-instrument";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz";
-        sha512 = "BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==";
-      };
-    };
-    "istanbul-lib-processinfo-2.0.2" = {
-      name = "istanbul-lib-processinfo";
-      packageName = "istanbul-lib-processinfo";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz";
-        sha512 = "kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==";
-      };
-    };
-    "istanbul-lib-report-3.0.0" = {
-      name = "istanbul-lib-report";
-      packageName = "istanbul-lib-report";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz";
-        sha512 = "wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==";
-      };
-    };
-    "istanbul-lib-source-maps-4.0.0" = {
-      name = "istanbul-lib-source-maps";
-      packageName = "istanbul-lib-source-maps";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz";
-        sha512 = "c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==";
-      };
-    };
-    "istanbul-reports-3.0.2" = {
-      name = "istanbul-reports";
-      packageName = "istanbul-reports";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz";
-        sha512 = "9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==";
-      };
-    };
-    "js-tokens-4.0.0" = {
-      name = "js-tokens";
-      packageName = "js-tokens";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz";
-        sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
-      };
-    };
-    "js-yaml-3.14.0" = {
-      name = "js-yaml";
-      packageName = "js-yaml";
-      version = "3.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz";
-        sha512 = "/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==";
-      };
-    };
-    "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-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-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.2.0" = {
-      name = "json5";
-      packageName = "json5";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz";
-        sha512 = "f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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";
-      };
-    };
-    "lezer-0.13.4" = {
-      name = "lezer";
-      packageName = "lezer";
-      version = "0.13.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lezer/-/lezer-0.13.4.tgz";
-        sha512 = "cLQxUVY28VBBqKBt/R8CYeH57KQnIvscAnoahzvhlZTK8qxMkIyGExR6ecEpYYDX06ZhROZrEm1IiPvjLAsTig==";
-      };
-    };
-    "lezer-generator-0.13.4" = {
-      name = "lezer-generator";
-      packageName = "lezer-generator";
-      version = "0.13.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lezer-generator/-/lezer-generator-0.13.4.tgz";
-        sha512 = "pTWxEgw6U41jM/IwMbhPBPonrcQV5YYL3XoY4QPR7ibOjgo2RaF4wVrdabN1ILtBbGvtHZekTGyrbsqfKnMHMA==";
-      };
-    };
-    "lezer-tree-0.13.2" = {
-      name = "lezer-tree";
-      packageName = "lezer-tree";
-      version = "0.13.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lezer-tree/-/lezer-tree-0.13.2.tgz";
-        sha512 = "15ZxW8TxVNAOkHIo43Iouv4zbSkQQ5chQHBpwXcD2bBFz46RB4jYLEEww5l1V0xyIx9U2clSyyrLes+hAUFrGQ==";
-      };
-    };
-    "load-json-file-2.0.0" = {
-      name = "load-json-file";
-      packageName = "load-json-file";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz";
-        sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8";
-      };
-    };
-    "loader-runner-2.4.0" = {
-      name = "loader-runner";
-      packageName = "loader-runner";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz";
-        sha512 = "Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==";
-      };
-    };
-    "loader-utils-1.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==";
-      };
-    };
-    "locate-path-6.0.0" = {
-      name = "locate-path";
-      packageName = "locate-path";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz";
-        sha512 = "iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==";
-      };
-    };
-    "lodash-4.17.21" = {
-      name = "lodash";
-      packageName = "lodash";
-      version = "4.17.21";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz";
-        sha512 = "v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==";
-      };
-    };
-    "lodash.flattendeep-4.4.0" = {
-      name = "lodash.flattendeep";
-      packageName = "lodash.flattendeep";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz";
-        sha1 = "fb030917f86a3134e5bc9bec0d69e0013ddfedb2";
-      };
-    };
-    "lodash.set-4.3.2" = {
-      name = "lodash.set";
-      packageName = "lodash.set";
-      version = "4.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz";
-        sha1 = "d8757b1da807dde24816b0d6a84bea1a76230b23";
-      };
-    };
-    "log-symbols-4.0.0" = {
-      name = "log-symbols";
-      packageName = "log-symbols";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz";
-        sha512 = "FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==";
-      };
-    };
-    "loglevel-1.7.1" = {
-      name = "loglevel";
-      packageName = "loglevel";
-      version = "1.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz";
-        sha512 = "Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==";
-      };
-    };
-    "lower-case-2.0.2" = {
-      name = "lower-case";
-      packageName = "lower-case";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz";
-        sha512 = "7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "lru-cache-6.0.0" = {
-      name = "lru-cache";
-      packageName = "lru-cache";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz";
-        sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
-      };
-    };
-    "make-dir-2.1.0" = {
-      name = "make-dir";
-      packageName = "make-dir";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz";
-        sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
-      };
-    };
-    "make-dir-3.1.0" = {
-      name = "make-dir";
-      packageName = "make-dir";
-      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==";
-      };
-    };
-    "make-error-1.3.6" = {
-      name = "make-error";
-      packageName = "make-error";
-      version = "1.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz";
-        sha512 = "s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==";
-      };
-    };
-    "map-cache-0.2.2" = {
-      name = "map-cache";
-      packageName = "map-cache";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz";
-        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
-      };
-    };
-    "map-visit-1.0.0" = {
-      name = "map-visit";
-      packageName = "map-visit";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz";
-        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
-      };
-    };
-    "md5.js-1.3.5" = {
-      name = "md5.js";
-      packageName = "md5.js";
-      version = "1.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz";
-        sha512 = "xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==";
-      };
-    };
-    "media-typer-0.3.0" = {
-      name = "media-typer";
-      packageName = "media-typer";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
-        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
-      };
-    };
-    "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==";
-      };
-    };
-    "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";
-      };
-    };
-    "methods-1.1.2" = {
-      name = "methods";
-      packageName = "methods";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
-        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
-      };
-    };
-    "micromatch-3.1.10" = {
-      name = "micromatch";
-      packageName = "micromatch";
-      version = "3.1.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz";
-        sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==";
-      };
-    };
-    "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.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.27" = {
-      name = "mime-types";
-      packageName = "mime-types";
-      version = "2.1.27";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz";
-        sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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-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==";
-      };
-    };
-    "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.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==";
-      };
-    };
-    "mocha-8.2.1" = {
-      name = "mocha";
-      packageName = "mocha";
-      version = "8.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz";
-        sha512 = "cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==";
-      };
-    };
-    "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==";
-      };
-    };
-    "nanoid-3.1.12" = {
-      name = "nanoid";
-      packageName = "nanoid";
-      version = "3.1.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz";
-        sha512 = "1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==";
-      };
-    };
-    "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.2" = {
-      name = "neo-async";
-      packageName = "neo-async";
-      version = "2.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz";
-        sha512 = "Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==";
-      };
-    };
-    "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-3.0.4" = {
-      name = "no-case";
-      packageName = "no-case";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz";
-        sha512 = "fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==";
-      };
-    };
-    "nock-13.0.11" = {
-      name = "nock";
-      packageName = "nock";
-      version = "13.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nock/-/nock-13.0.11.tgz";
-        sha512 = "sKZltNkkWblkqqPAsjYW0bm3s9DcHRPiMOyKO/PkfJ+ANHZ2+LA2PLe22r4lLrKgXaiSaDQwW3qGsJFtIpQIeQ==";
-      };
-    };
-    "node-fetch-2.6.1" = {
-      name = "node-fetch";
-      packageName = "node-fetch";
-      version = "2.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz";
-        sha512 = "V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==";
-      };
-    };
-    "node-forge-0.10.0" = {
-      name = "node-forge";
-      packageName = "node-forge";
-      version = "0.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz";
-        sha512 = "PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==";
-      };
-    };
-    "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-preload-0.2.1" = {
-      name = "node-preload";
-      packageName = "node-preload";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz";
-        sha512 = "RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==";
-      };
-    };
-    "node-releases-1.1.71" = {
-      name = "node-releases";
-      packageName = "node-releases";
-      version = "1.1.71";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz";
-        sha512 = "zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==";
-      };
-    };
-    "normalize-package-data-2.5.0" = {
-      name = "normalize-package-data";
-      packageName = "normalize-package-data";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
-        sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
-      };
-    };
-    "normalize-path-2.1.1" = {
-      name = "normalize-path";
-      packageName = "normalize-path";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz";
-        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
-      };
-    };
-    "normalize-path-3.0.0" = {
-      name = "normalize-path";
-      packageName = "normalize-path";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz";
-        sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
-      };
-    };
-    "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";
-      };
-    };
-    "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==";
-      };
-    };
-    "nyc-15.1.0" = {
-      name = "nyc";
-      packageName = "nyc";
-      version = "15.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz";
-        sha512 = "jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==";
-      };
-    };
-    "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-inspect-1.9.0" = {
-      name = "object-inspect";
-      packageName = "object-inspect";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz";
-        sha512 = "i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==";
-      };
-    };
-    "object-is-1.1.4" = {
-      name = "object-is";
-      packageName = "object-is";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz";
-        sha512 = "1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==";
-      };
-    };
-    "object-keys-1.1.1" = {
-      name = "object-keys";
-      packageName = "object-keys";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz";
-        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
-      };
-    };
-    "object-visit-1.0.1" = {
-      name = "object-visit";
-      packageName = "object-visit";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz";
-        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
-      };
-    };
-    "object.assign-4.1.2" = {
-      name = "object.assign";
-      packageName = "object.assign";
-      version = "4.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz";
-        sha512 = "ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==";
-      };
-    };
-    "object.getownpropertydescriptors-2.1.1" = {
-      name = "object.getownpropertydescriptors";
-      packageName = "object.getownpropertydescriptors";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz";
-        sha512 = "6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==";
-      };
-    };
-    "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.2" = {
-      name = "object.values";
-      packageName = "object.values";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz";
-        sha512 = "MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==";
-      };
-    };
-    "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-5.1.2" = {
-      name = "onetime";
-      packageName = "onetime";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz";
-        sha512 = "kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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-tmpdir-1.0.2" = {
-      name = "os-tmpdir";
-      packageName = "os-tmpdir";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
-        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
-      };
-    };
-    "p-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-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.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-limit-3.1.0" = {
-      name = "p-limit";
-      packageName = "p-limit";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz";
-        sha512 = "TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==";
-      };
-    };
-    "p-locate-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-locate-5.0.0" = {
-      name = "p-locate";
-      packageName = "p-locate";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz";
-        sha512 = "LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "package-hash-4.0.0" = {
-      name = "package-hash";
-      packageName = "package-hash";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz";
-        sha512 = "whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==";
-      };
-    };
-    "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-3.0.4" = {
-      name = "param-case";
-      packageName = "param-case";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz";
-        sha512 = "RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==";
-      };
-    };
-    "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.6" = {
-      name = "parse-asn1";
-      packageName = "parse-asn1";
-      version = "5.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz";
-        sha512 = "RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==";
-      };
-    };
-    "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-passwd-1.0.0" = {
-      name = "parse-passwd";
-      packageName = "parse-passwd";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz";
-        sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6";
-      };
-    };
-    "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==";
-      };
-    };
-    "pascal-case-3.1.2" = {
-      name = "pascal-case";
-      packageName = "pascal-case";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz";
-        sha512 = "uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==";
-      };
-    };
-    "pascalcase-0.1.1" = {
-      name = "pascalcase";
-      packageName = "pascalcase";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz";
-        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
-      };
-    };
-    "path-browserify-0.0.1" = {
-      name = "path-browserify";
-      packageName = "path-browserify";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz";
-        sha512 = "BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==";
-      };
-    };
-    "path-dirname-1.0.2" = {
-      name = "path-dirname";
-      packageName = "path-dirname";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz";
-        sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
-      };
-    };
-    "path-exists-3.0.0" = {
-      name = "path-exists";
-      packageName = "path-exists";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
-        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
-      };
-    };
-    "path-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-2.0.0" = {
-      name = "path-type";
-      packageName = "path-type";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz";
-        sha1 = "f012ccb8415b7096fc2daa1054c3d72389594c73";
-      };
-    };
-    "pathval-1.1.0" = {
-      name = "pathval";
-      packageName = "pathval";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz";
-        sha1 = "b942e6d4bde653005ef6b71361def8727d0645e0";
-      };
-    };
-    "pbkdf2-3.1.1" = {
-      name = "pbkdf2";
-      packageName = "pbkdf2";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz";
-        sha512 = "4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==";
-      };
-    };
-    "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-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-2.0.0" = {
-      name = "pkg-dir";
-      packageName = "pkg-dir";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz";
-        sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b";
-      };
-    };
-    "pkg-dir-3.0.0" = {
-      name = "pkg-dir";
-      packageName = "pkg-dir";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz";
-        sha512 = "/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "portfinder-1.0.28" = {
-      name = "portfinder";
-      packageName = "portfinder";
-      version = "1.0.28";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz";
-        sha512 = "Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==";
-      };
-    };
-    "posix-character-classes-0.1.1" = {
-      name = "posix-character-classes";
-      packageName = "posix-character-classes";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
-        sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
-      };
-    };
-    "prelude-ls-1.1.2" = {
-      name = "prelude-ls";
-      packageName = "prelude-ls";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
-        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
-      };
-    };
-    "prettier-2.2.1" = {
-      name = "prettier";
-      packageName = "prettier";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz";
-        sha512 = "PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==";
-      };
-    };
-    "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.2" = {
-      name = "pretty-error";
-      packageName = "pretty-error";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz";
-        sha512 = "EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "process-on-spawn-1.0.0" = {
-      name = "process-on-spawn";
-      packageName = "process-on-spawn";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz";
-        sha512 = "1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==";
-      };
-    };
-    "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";
-      };
-    };
-    "propagate-2.0.1" = {
-      name = "propagate";
-      packageName = "propagate";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz";
-        sha512 = "vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==";
-      };
-    };
-    "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";
-      };
-    };
-    "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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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.2.0" = {
-      name = "querystringify";
-      packageName = "querystringify";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz";
-        sha512 = "FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==";
-      };
-    };
-    "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-2.0.0" = {
-      name = "read-pkg";
-      packageName = "read-pkg";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz";
-        sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8";
-      };
-    };
-    "read-pkg-up-2.0.0" = {
-      name = "read-pkg-up";
-      packageName = "read-pkg-up";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz";
-        sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be";
-      };
-    };
-    "readable-stream-2.3.7" = {
-      name = "readable-stream";
-      packageName = "readable-stream";
-      version = "2.3.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz";
-        sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
-      };
-    };
-    "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.5.0" = {
-      name = "readdirp";
-      packageName = "readdirp";
-      version = "3.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz";
-        sha512 = "cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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";
-      };
-    };
-    "release-zalgo-1.0.0" = {
-      name = "release-zalgo";
-      packageName = "release-zalgo";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz";
-        sha1 = "09700b7e5074329739330e535c5a90fb67851730";
-      };
-    };
-    "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.4" = {
-      name = "renderkid";
-      packageName = "renderkid";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz";
-        sha512 = "K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==";
-      };
-    };
-    "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";
-      };
-    };
-    "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";
-      };
-    };
-    "resolve-1.19.0" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz";
-        sha512 = "rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==";
-      };
-    };
-    "resolve-cwd-2.0.0" = {
-      name = "resolve-cwd";
-      packageName = "resolve-cwd";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz";
-        sha1 = "00a9f7387556e27038eae232caa372a6a59b665a";
-      };
-    };
-    "resolve-dir-1.0.1" = {
-      name = "resolve-dir";
-      packageName = "resolve-dir";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz";
-        sha1 = "79a40644c362be82f26effe739c9bb5382046f43";
-      };
-    };
-    "resolve-from-3.0.0" = {
-      name = "resolve-from";
-      packageName = "resolve-from";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz";
-        sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748";
-      };
-    };
-    "resolve-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-from-5.0.0" = {
-      name = "resolve-from";
-      packageName = "resolve-from";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz";
-        sha512 = "qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==";
-      };
-    };
-    "resolve-url-0.2.1" = {
-      name = "resolve-url";
-      packageName = "resolve-url";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz";
-        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
-      };
-    };
-    "restore-cursor-3.1.0" = {
-      name = "restore-cursor";
-      packageName = "restore-cursor";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz";
-        sha512 = "l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==";
-      };
-    };
-    "ret-0.1.15" = {
-      name = "ret";
-      packageName = "ret";
-      version = "0.1.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz";
-        sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==";
-      };
-    };
-    "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";
-      };
-    };
-    "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.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.6.3" = {
-      name = "rxjs";
-      packageName = "rxjs";
-      version = "6.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz";
-        sha512 = "trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==";
-      };
-    };
-    "safe-buffer-5.1.2" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
-        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
-      };
-    };
-    "safe-buffer-5.2.1" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
-        sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "schema-utils-1.0.0" = {
-      name = "schema-utils";
-      packageName = "schema-utils";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz";
-        sha512 = "i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==";
-      };
-    };
-    "select-hose-2.0.0" = {
-      name = "select-hose";
-      packageName = "select-hose";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz";
-        sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
-      };
-    };
-    "selfsigned-1.10.8" = {
-      name = "selfsigned";
-      packageName = "selfsigned";
-      version = "1.10.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz";
-        sha512 = "2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==";
-      };
-    };
-    "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.3.4" = {
-      name = "semver";
-      packageName = "semver";
-      version = "7.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz";
-        sha512 = "tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==";
-      };
-    };
-    "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-4.0.0" = {
-      name = "serialize-javascript";
-      packageName = "serialize-javascript";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz";
-        sha512 = "GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==";
-      };
-    };
-    "serialize-javascript-5.0.1" = {
-      name = "serialize-javascript";
-      packageName = "serialize-javascript";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz";
-        sha512 = "SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==";
-      };
-    };
-    "serve-index-1.9.1" = {
-      name = "serve-index";
-      packageName = "serve-index";
-      version = "1.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz";
-        sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239";
-      };
-    };
-    "serve-static-1.14.1" = {
-      name = "serve-static";
-      packageName = "serve-static";
-      version = "1.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz";
-        sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==";
-      };
-    };
-    "set-blocking-2.0.0" = {
-      name = "set-blocking";
-      packageName = "set-blocking";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
-        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
-      };
-    };
-    "set-value-2.0.1" = {
-      name = "set-value";
-      packageName = "set-value";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz";
-        sha512 = "JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==";
-      };
-    };
-    "setimmediate-1.0.5" = {
-      name = "setimmediate";
-      packageName = "setimmediate";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz";
-        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
-      };
-    };
-    "setprototypeof-1.1.0" = {
-      name = "setprototypeof";
-      packageName = "setprototypeof";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz";
-        sha512 = "BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==";
-      };
-    };
-    "setprototypeof-1.1.1" = {
-      name = "setprototypeof";
-      packageName = "setprototypeof";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz";
-        sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==";
-      };
-    };
-    "sha.js-2.4.11" = {
-      name = "sha.js";
-      packageName = "sha.js";
-      version = "2.4.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz";
-        sha512 = "QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==";
-      };
-    };
-    "shebang-command-1.2.0" = {
-      name = "shebang-command";
-      packageName = "shebang-command";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz";
-        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
-      };
-    };
-    "shebang-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==";
-      };
-    };
-    "signal-exit-3.0.3" = {
-      name = "signal-exit";
-      packageName = "signal-exit";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz";
-        sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==";
-      };
-    };
-    "slice-ansi-2.1.0" = {
-      name = "slice-ansi";
-      packageName = "slice-ansi";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz";
-        sha512 = "Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==";
-      };
-    };
-    "snapdragon-0.8.2" = {
-      name = "snapdragon";
-      packageName = "snapdragon";
-      version = "0.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz";
-        sha512 = "FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==";
-      };
-    };
-    "snapdragon-node-2.1.1" = {
-      name = "snapdragon-node";
-      packageName = "snapdragon-node";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
-        sha512 = "O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==";
-      };
-    };
-    "snapdragon-util-3.0.1" = {
-      name = "snapdragon-util";
-      packageName = "snapdragon-util";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
-        sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "source-list-map-2.0.1" = {
-      name = "source-list-map";
-      packageName = "source-list-map";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz";
-        sha512 = "qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==";
-      };
-    };
-    "source-map-0.5.7" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.5.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";
-        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
-      };
-    };
-    "source-map-0.6.1" = {
-      name = "source-map";
-      packageName = "source-map";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
-        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
-      };
-    };
-    "source-map-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.19" = {
-      name = "source-map-support";
-      packageName = "source-map-support";
-      version = "0.5.19";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz";
-        sha512 = "Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==";
-      };
-    };
-    "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";
-      };
-    };
-    "spawn-wrap-2.0.0" = {
-      name = "spawn-wrap";
-      packageName = "spawn-wrap";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz";
-        sha512 = "EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==";
-      };
-    };
-    "spdx-correct-3.1.1" = {
-      name = "spdx-correct";
-      packageName = "spdx-correct";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz";
-        sha512 = "cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==";
-      };
-    };
-    "spdx-exceptions-2.3.0" = {
-      name = "spdx-exceptions";
-      packageName = "spdx-exceptions";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz";
-        sha512 = "/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==";
-      };
-    };
-    "spdx-expression-parse-3.0.1" = {
-      name = "spdx-expression-parse";
-      packageName = "spdx-expression-parse";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz";
-        sha512 = "cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==";
-      };
-    };
-    "spdx-license-ids-3.0.7" = {
-      name = "spdx-license-ids";
-      packageName = "spdx-license-ids";
-      version = "3.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz";
-        sha512 = "U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==";
-      };
-    };
-    "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";
-      };
-    };
-    "ssri-6.0.2" = {
-      name = "ssri";
-      packageName = "ssri";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz";
-        sha512 = "cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==";
-      };
-    };
-    "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";
-      };
-    };
-    "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-events-1.0.5" = {
-      name = "stream-events";
-      packageName = "stream-events";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz";
-        sha512 = "E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "string-natural-compare-3.0.1" = {
-      name = "string-natural-compare";
-      packageName = "string-natural-compare";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz";
-        sha512 = "n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==";
-      };
-    };
-    "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.3" = {
-      name = "string.prototype.trimend";
-      packageName = "string.prototype.trimend";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz";
-        sha512 = "ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==";
-      };
-    };
-    "string.prototype.trimstart-1.0.3" = {
-      name = "string.prototype.trimstart";
-      packageName = "string.prototype.trimstart";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz";
-        sha512 = "oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "string_decoder-1.3.0" = {
-      name = "string_decoder";
-      packageName = "string_decoder";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz";
-        sha512 = "hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==";
-      };
-    };
-    "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-3.0.0" = {
-      name = "strip-bom";
-      packageName = "strip-bom";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";
-        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
-      };
-    };
-    "strip-bom-4.0.0" = {
-      name = "strip-bom";
-      packageName = "strip-bom";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz";
-        sha512 = "3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==";
-      };
-    };
-    "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-json-comments-3.1.1" = {
-      name = "strip-json-comments";
-      packageName = "strip-json-comments";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz";
-        sha512 = "6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==";
-      };
-    };
-    "stubs-3.0.0" = {
-      name = "stubs";
-      packageName = "stubs";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz";
-        sha1 = "e8d2ba1fa9c90570303c030b6900f7d5f89abe5b";
-      };
-    };
-    "style-mod-4.0.0" = {
-      name = "style-mod";
-      packageName = "style-mod";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz";
-        sha512 = "OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==";
-      };
-    };
-    "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.2.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "7.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz";
-        sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "teeny-request-6.0.1" = {
-      name = "teeny-request";
-      packageName = "teeny-request";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/teeny-request/-/teeny-request-6.0.1.tgz";
-        sha512 = "TAK0c9a00ELOqLrZ49cFxvPVogMUFaWY8dUsQc/0CuQPGF+BOxOQzXfE413BAk2kLomwNplvdtMpeaeGWmoc2g==";
-      };
-    };
-    "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.5" = {
-      name = "terser-webpack-plugin";
-      packageName = "terser-webpack-plugin";
-      version = "1.4.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz";
-        sha512 = "04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==";
-      };
-    };
-    "test-exclude-6.0.0" = {
-      name = "test-exclude";
-      packageName = "test-exclude";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz";
-        sha512 = "cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==";
-      };
-    };
-    "text-table-0.2.0" = {
-      name = "text-table";
-      packageName = "text-table";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
-        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
-      };
-    };
-    "through-2.3.8" = {
-      name = "through";
-      packageName = "through";
-      version = "2.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
-        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
-      };
-    };
-    "through2-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.12" = {
-      name = "timers-browserify";
-      packageName = "timers-browserify";
-      version = "2.0.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz";
-        sha512 = "9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "ts-loader-7.0.5" = {
-      name = "ts-loader";
-      packageName = "ts-loader";
-      version = "7.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ts-loader/-/ts-loader-7.0.5.tgz";
-        sha512 = "zXypEIT6k3oTc+OZNx/cqElrsbBtYqDknf48OZos0NQ3RTt045fBIU8RRSu+suObBzYB355aIPGOe/3kj9h7Ig==";
-      };
-    };
-    "ts-mocha-8.0.0" = {
-      name = "ts-mocha";
-      packageName = "ts-mocha";
-      version = "8.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ts-mocha/-/ts-mocha-8.0.0.tgz";
-        sha512 = "Kou1yxTlubLnD5C3unlCVO7nh0HERTezjoVhVw/M5S1SqoUec0WgllQvPk3vzPMc6by8m6xD1uR1yRf8lnVUbA==";
-      };
-    };
-    "ts-node-7.0.1" = {
-      name = "ts-node";
-      packageName = "ts-node";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz";
-        sha512 = "BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==";
-      };
-    };
-    "ts-node-9.1.0" = {
-      name = "ts-node";
-      packageName = "ts-node";
-      version = "9.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ts-node/-/ts-node-9.1.0.tgz";
-        sha512 = "0yqcL4sgruCvM+w64LiAfNJo6+lHfCYc5Ajj4yiLNkJ9oZ2HWaa+Kso7htYOOxVQ7+csAjdUjffOe9PIqC4pMg==";
-      };
-    };
-    "tsconfig-paths-3.9.0" = {
-      name = "tsconfig-paths";
-      packageName = "tsconfig-paths";
-      version = "3.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz";
-        sha512 = "dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==";
-      };
-    };
-    "tslib-1.14.1" = {
-      name = "tslib";
-      packageName = "tslib";
-      version = "1.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz";
-        sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
-      };
-    };
-    "tslib-2.0.3" = {
-      name = "tslib";
-      packageName = "tslib";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz";
-        sha512 = "uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==";
-      };
-    };
-    "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";
-      };
-    };
-    "type-check-0.3.2" = {
-      name = "type-check";
-      packageName = "type-check";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
-        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
-      };
-    };
-    "type-detect-4.0.8" = {
-      name = "type-detect";
-      packageName = "type-detect";
-      version = "4.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz";
-        sha512 = "0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==";
-      };
-    };
-    "type-fest-0.11.0" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz";
-        sha512 = "OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==";
-      };
-    };
-    "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";
-      };
-    };
-    "typedarray-to-buffer-3.1.5" = {
-      name = "typedarray-to-buffer";
-      packageName = "typedarray-to-buffer";
-      version = "3.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
-        sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
-      };
-    };
-    "typescript-4.2.3" = {
-      name = "typescript";
-      packageName = "typescript";
-      version = "4.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz";
-        sha512 = "qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==";
-      };
-    };
-    "union-value-1.0.1" = {
-      name = "union-value";
-      packageName = "union-value";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz";
-        sha512 = "tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==";
-      };
-    };
-    "unique-filename-1.1.1" = {
-      name = "unique-filename";
-      packageName = "unique-filename";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz";
-        sha512 = "Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==";
-      };
-    };
-    "unique-slug-2.0.2" = {
-      name = "unique-slug";
-      packageName = "unique-slug";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz";
-        sha512 = "zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==";
-      };
-    };
-    "unpipe-1.0.0" = {
-      name = "unpipe";
-      packageName = "unpipe";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
-        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
-      };
-    };
-    "unset-value-1.0.0" = {
-      name = "unset-value";
-      packageName = "unset-value";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz";
-        sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
-      };
-    };
-    "upath-1.2.0" = {
-      name = "upath";
-      packageName = "upath";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz";
-        sha512 = "aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==";
-      };
-    };
-    "uri-js-4.4.0" = {
-      name = "uri-js";
-      packageName = "uri-js";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz";
-        sha512 = "B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==";
-      };
-    };
-    "urix-0.1.0" = {
-      name = "urix";
-      packageName = "urix";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz";
-        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
-      };
-    };
-    "url-0.11.0" = {
-      name = "url";
-      packageName = "url";
-      version = "0.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url/-/url-0.11.0.tgz";
-        sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
-      };
-    };
-    "url-parse-1.5.1" = {
-      name = "url-parse";
-      packageName = "url-parse";
-      version = "1.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz";
-        sha512 = "HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==";
-      };
-    };
-    "urlgrey-0.4.4" = {
-      name = "urlgrey";
-      packageName = "urlgrey";
-      version = "0.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz";
-        sha1 = "892fe95960805e85519f1cd4389f2cb4cbb7652f";
-      };
-    };
-    "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==";
-      };
-    };
-    "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.4.0" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
-        sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
-      };
-    };
-    "v8-compile-cache-2.2.0" = {
-      name = "v8-compile-cache";
-      packageName = "v8-compile-cache";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz";
-        sha512 = "gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==";
-      };
-    };
-    "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";
-      };
-    };
-    "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==";
-      };
-    };
-    "w3c-keyname-2.2.4" = {
-      name = "w3c-keyname";
-      packageName = "w3c-keyname";
-      version = "2.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz";
-        sha512 = "tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==";
-      };
-    };
-    "watchpack-1.7.5" = {
-      name = "watchpack";
-      packageName = "watchpack";
-      version = "1.7.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz";
-        sha512 = "9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==";
-      };
-    };
-    "watchpack-chokidar2-2.0.1" = {
-      name = "watchpack-chokidar2";
-      packageName = "watchpack-chokidar2";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz";
-        sha512 = "nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==";
-      };
-    };
-    "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==";
-      };
-    };
-    "webpack-4.44.2" = {
-      name = "webpack";
-      packageName = "webpack";
-      version = "4.44.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz";
-        sha512 = "6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==";
-      };
-    };
-    "webpack-cli-3.3.12" = {
-      name = "webpack-cli";
-      packageName = "webpack-cli";
-      version = "3.3.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz";
-        sha512 = "NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==";
-      };
-    };
-    "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-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==";
-      };
-    };
-    "whatwg-fetch-3.6.2" = {
-      name = "whatwg-fetch";
-      packageName = "whatwg-fetch";
-      version = "3.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz";
-        sha512 = "bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "workerpool-6.0.2" = {
-      name = "workerpool";
-      packageName = "workerpool";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz";
-        sha512 = "DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==";
-      };
-    };
-    "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==";
-      };
-    };
-    "write-file-atomic-3.0.3" = {
-      name = "write-file-atomic";
-      packageName = "write-file-atomic";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz";
-        sha512 = "AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==";
-      };
-    };
-    "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.1" = {
-      name = "y18n";
-      packageName = "y18n";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz";
-        sha512 = "wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==";
-      };
-    };
-    "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.4.1" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "15.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz";
-        sha512 = "aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==";
-      };
-    };
-    "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==";
-      };
-    };
-    "yargs-unparser-2.0.0" = {
-      name = "yargs-unparser";
-      packageName = "yargs-unparser";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz";
-        sha512 = "7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==";
-      };
-    };
-    "yn-2.0.0" = {
-      name = "yn";
-      packageName = "yn";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz";
-        sha1 = "e5adabc8acf408f6385fc76495684c88e6af689a";
-      };
-    };
-    "yn-3.1.1" = {
-      name = "yn";
-      packageName = "yn";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz";
-        sha512 = "Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==";
-      };
-    };
-    "yocto-queue-0.1.0" = {
-      name = "yocto-queue";
-      packageName = "yocto-queue";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz";
-        sha512 = "rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==";
-      };
-    };
-  };
-  args = {
-    name = "codemirror-promql";
-    packageName = "codemirror-promql";
-    version = "0.17.0";
-    src = ./.;
-    dependencies = [
-      sources."@babel/code-frame-7.12.13"
-      sources."@babel/compat-data-7.13.15"
-      (sources."@babel/core-7.13.15" // {
-        dependencies = [
-          sources."json5-2.2.0"
-          sources."semver-6.3.0"
-          sources."source-map-0.5.7"
-        ];
-      })
-      (sources."@babel/generator-7.13.9" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
-      (sources."@babel/helper-compilation-targets-7.13.13" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@babel/helper-function-name-7.12.13"
-      sources."@babel/helper-get-function-arity-7.12.13"
-      sources."@babel/helper-member-expression-to-functions-7.13.12"
-      sources."@babel/helper-module-imports-7.13.12"
-      sources."@babel/helper-module-transforms-7.13.14"
-      sources."@babel/helper-optimise-call-expression-7.12.13"
-      sources."@babel/helper-replace-supers-7.13.12"
-      sources."@babel/helper-simple-access-7.13.12"
-      sources."@babel/helper-split-export-declaration-7.12.13"
-      sources."@babel/helper-validator-identifier-7.12.11"
-      sources."@babel/helper-validator-option-7.12.17"
-      sources."@babel/helpers-7.13.10"
-      sources."@babel/highlight-7.13.10"
-      sources."@babel/parser-7.13.15"
-      sources."@babel/template-7.12.13"
-      (sources."@babel/traverse-7.13.15" // {
-        dependencies = [
-          sources."globals-11.12.0"
-        ];
-      })
-      sources."@babel/types-7.13.14"
-      sources."@codemirror/autocomplete-0.18.3"
-      sources."@codemirror/basic-setup-0.18.0"
-      sources."@codemirror/closebrackets-0.18.0"
-      sources."@codemirror/commands-0.18.0"
-      sources."@codemirror/comment-0.18.0"
-      sources."@codemirror/fold-0.18.0"
-      sources."@codemirror/gutter-0.18.0"
-      sources."@codemirror/highlight-0.18.3"
-      sources."@codemirror/history-0.18.0"
-      sources."@codemirror/language-0.18.0"
-      sources."@codemirror/lint-0.18.1"
-      sources."@codemirror/matchbrackets-0.18.0"
-      sources."@codemirror/panel-0.18.1"
-      sources."@codemirror/rangeset-0.18.0"
-      sources."@codemirror/rectangular-selection-0.18.0"
-      sources."@codemirror/search-0.18.1"
-      sources."@codemirror/state-0.18.2"
-      sources."@codemirror/text-0.18.0"
-      sources."@codemirror/tooltip-0.18.4"
-      sources."@codemirror/view-0.18.1"
-      (sources."@istanbuljs/load-nyc-config-1.1.0" // {
-        dependencies = [
-          sources."find-up-4.1.0"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."path-exists-4.0.0"
-          sources."resolve-from-5.0.0"
-        ];
-      })
-      sources."@istanbuljs/schema-0.1.3"
-      sources."@tootallnate/once-1.1.2"
-      sources."@types/anymatch-1.3.1"
-      sources."@types/chai-4.2.14"
-      sources."@types/eslint-visitor-keys-1.0.0"
-      sources."@types/glob-7.1.3"
-      sources."@types/html-minifier-terser-5.1.1"
-      sources."@types/json-schema-7.0.6"
-      sources."@types/json5-0.0.29"
-      sources."@types/lru-cache-5.1.0"
-      sources."@types/minimatch-3.0.3"
-      sources."@types/mocha-8.0.4"
-      sources."@types/node-14.14.10"
-      sources."@types/source-list-map-0.1.2"
-      sources."@types/tapable-1.0.6"
-      sources."@types/uglify-js-3.11.1"
-      sources."@types/webpack-4.41.25"
-      (sources."@types/webpack-sources-2.1.0" // {
-        dependencies = [
-          sources."source-map-0.7.3"
-        ];
-      })
-      sources."@typescript-eslint/eslint-plugin-2.34.0"
-      sources."@typescript-eslint/experimental-utils-2.34.0"
-      sources."@typescript-eslint/parser-2.34.0"
-      sources."@typescript-eslint/typescript-estree-2.34.0"
-      sources."@ungap/promise-all-settled-1.1.2"
-      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."accepts-1.3.7"
-      sources."acorn-7.4.1"
-      sources."acorn-jsx-5.3.1"
-      sources."agent-base-6.0.2"
-      sources."aggregate-error-3.1.0"
-      sources."ajv-6.12.6"
-      sources."ajv-errors-1.0.1"
-      sources."ajv-keywords-3.5.2"
-      sources."ansi-colors-4.1.1"
-      (sources."ansi-escapes-4.3.1" // {
-        dependencies = [
-          sources."type-fest-0.11.0"
-        ];
-      })
-      sources."ansi-html-0.0.7"
-      sources."ansi-regex-5.0.0"
-      sources."ansi-styles-3.2.1"
-      sources."anymatch-3.1.1"
-      sources."append-transform-2.0.0"
-      sources."aproba-1.2.0"
-      sources."archy-1.0.0"
-      sources."arg-4.1.3"
-      sources."argparse-1.0.10"
-      sources."argv-0.0.2"
-      sources."arr-diff-4.0.0"
-      sources."arr-flatten-1.1.0"
-      sources."arr-union-3.1.0"
-      sources."array-flatten-2.1.2"
-      sources."array-includes-3.1.2"
-      sources."array-union-1.0.2"
-      sources."array-uniq-1.0.3"
-      sources."array-unique-0.3.2"
-      sources."array.prototype.flat-1.2.4"
-      sources."arrify-1.0.1"
-      (sources."asn1.js-5.4.1" // {
-        dependencies = [
-          sources."bn.js-4.11.9"
-        ];
-      })
-      (sources."assert-1.5.0" // {
-        dependencies = [
-          sources."inherits-2.0.1"
-          sources."util-0.10.3"
-        ];
-      })
-      sources."assertion-error-1.1.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-limiter-1.0.1"
-      sources."atob-2.1.2"
-      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.5.1"
-      sources."batch-0.6.1"
-      sources."big.js-5.2.2"
-      sources."binary-extensions-2.1.0"
-      sources."bluebird-3.7.2"
-      sources."bn.js-5.1.3"
-      (sources."body-parser-1.19.0" // {
-        dependencies = [
-          sources."bytes-3.1.0"
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."bonjour-3.5.0"
-      sources."boolbase-1.0.0"
-      sources."brace-expansion-1.1.11"
-      sources."braces-3.0.2"
-      sources."brorand-1.1.0"
-      sources."browser-stdout-1.3.1"
-      sources."browserify-aes-1.2.0"
-      sources."browserify-cipher-1.0.1"
-      sources."browserify-des-1.0.2"
-      sources."browserify-rsa-4.1.0"
-      sources."browserify-sign-4.2.1"
-      sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.16.3"
-      sources."buffer-4.9.2"
-      sources."buffer-from-1.1.1"
-      sources."buffer-indexof-1.1.1"
-      sources."buffer-xor-1.0.3"
-      sources."builtin-status-codes-3.0.0"
-      sources."bytes-3.0.0"
-      (sources."cacache-12.0.4" // {
-        dependencies = [
-          sources."lru-cache-5.1.1"
-          sources."yallist-3.1.1"
-        ];
-      })
-      sources."cache-base-1.0.1"
-      (sources."caching-transform-4.0.0" // {
-        dependencies = [
-          sources."make-dir-3.1.0"
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."call-bind-1.0.0"
-      sources."callsites-3.1.0"
-      (sources."camel-case-4.1.2" // {
-        dependencies = [
-          sources."tslib-2.0.3"
-        ];
-      })
-      sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001208"
-      sources."chai-4.2.0"
-      sources."chalk-2.4.2"
-      sources."chardet-0.7.0"
-      sources."check-error-1.0.2"
-      sources."chokidar-3.4.3"
-      sources."chownr-1.1.4"
-      sources."chrome-trace-event-1.0.2"
-      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."clean-webpack-plugin-3.0.0"
-      sources."cli-cursor-3.1.0"
-      sources."cli-width-3.0.0"
-      (sources."cliui-5.0.0" // {
-        dependencies = [
-          sources."emoji-regex-7.0.3"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-3.1.0"
-        ];
-      })
-      sources."codecov-3.8.1"
-      sources."collection-visit-1.0.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
-      sources."commander-4.1.1"
-      sources."commondir-1.0.1"
-      sources."component-emitter-1.3.0"
-      sources."compressible-2.0.18"
-      (sources."compression-1.7.4" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."concat-map-0.0.1"
-      (sources."concat-stream-1.6.2" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."connect-history-api-fallback-1.6.0"
-      sources."console-browserify-1.2.0"
-      sources."constants-browserify-1.0.0"
-      sources."contains-path-0.1.0"
-      (sources."content-disposition-0.5.3" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."content-type-1.0.4"
-      (sources."convert-source-map-1.7.0" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."cookie-0.4.0"
-      sources."cookie-signature-1.0.6"
-      sources."copy-concurrently-1.0.5"
-      sources."copy-descriptor-0.1.1"
-      sources."core-util-is-1.0.2"
-      (sources."create-ecdh-4.0.4" // {
-        dependencies = [
-          sources."bn.js-4.11.9"
-        ];
-      })
-      sources."create-hash-1.2.0"
-      sources."create-hmac-1.1.7"
-      sources."create-require-1.1.1"
-      sources."crelt-1.0.5"
-      (sources."cross-spawn-6.0.5" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."crypto-browserify-3.12.0"
-      sources."css-select-1.2.0"
-      sources."css-what-2.1.3"
-      sources."cyclist-1.0.1"
-      sources."debug-4.3.1"
-      sources."decamelize-1.2.0"
-      sources."decode-uri-component-0.2.0"
-      sources."deep-eql-3.0.1"
-      sources."deep-equal-1.1.1"
-      sources."deep-is-0.1.3"
-      sources."default-gateway-4.2.0"
-      (sources."default-require-extensions-3.0.0" // {
-        dependencies = [
-          sources."strip-bom-4.0.0"
-        ];
-      })
-      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"
-      sources."depd-1.1.2"
-      sources."des.js-1.0.1"
-      sources."destroy-1.0.4"
-      sources."detect-file-1.0.0"
-      sources."detect-node-2.0.4"
-      sources."diff-4.0.2"
-      (sources."diffie-hellman-5.0.3" // {
-        dependencies = [
-          sources."bn.js-4.11.9"
-        ];
-      })
-      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.1.0"
-        ];
-      })
-      sources."domain-browser-1.2.0"
-      sources."domelementtype-1.3.1"
-      sources."domhandler-2.4.2"
-      sources."domutils-1.5.1"
-      (sources."dot-case-3.0.4" // {
-        dependencies = [
-          sources."tslib-2.0.3"
-        ];
-      })
-      (sources."duplexify-3.7.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.712"
-      (sources."elliptic-6.5.4" // {
-        dependencies = [
-          sources."bn.js-4.11.9"
-        ];
-      })
-      sources."emoji-regex-8.0.0"
-      sources."emojis-list-3.0.0"
-      sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.4"
-      sources."enhanced-resolve-4.3.0"
-      sources."entities-2.1.0"
-      sources."errno-0.1.7"
-      sources."error-ex-1.3.2"
-      sources."es-abstract-1.18.0-next.1"
-      sources."es-to-primitive-1.2.1"
-      sources."es6-error-4.1.1"
-      sources."escalade-3.1.1"
-      sources."escape-html-1.0.3"
-      sources."escape-string-regexp-1.0.5"
-      (sources."eslint-6.8.0" // {
-        dependencies = [
-          sources."eslint-utils-1.4.3"
-          sources."regexpp-2.0.1"
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."eslint-config-prettier-6.15.0"
-      (sources."eslint-import-resolver-node-0.3.4" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      (sources."eslint-module-utils-2.6.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."eslint-plugin-flowtype-5.2.0"
-      (sources."eslint-plugin-import-2.22.1" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."doctrine-1.5.0"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."eslint-plugin-prettier-3.2.0"
-      sources."eslint-scope-5.1.1"
-      sources."eslint-utils-2.1.0"
-      sources."eslint-visitor-keys-1.3.0"
-      sources."espree-6.2.1"
-      sources."esprima-4.0.1"
-      (sources."esquery-1.3.1" // {
-        dependencies = [
-          sources."estraverse-5.2.0"
-        ];
-      })
-      (sources."esrecurse-4.3.0" // {
-        dependencies = [
-          sources."estraverse-5.2.0"
-        ];
-      })
-      sources."estraverse-4.3.0"
-      sources."esutils-2.0.3"
-      sources."etag-1.8.1"
-      sources."eventemitter3-4.0.7"
-      sources."events-3.2.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."expand-tilde-2.0.2"
-      (sources."express-4.17.1" // {
-        dependencies = [
-          sources."array-flatten-1.1.1"
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-          sources."safe-buffer-5.1.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."fast-deep-equal-3.1.3"
-      sources."fast-diff-1.2.0"
-      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.2.0"
-      sources."file-entry-cache-5.0.1"
-      sources."fill-range-7.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" // {
-        dependencies = [
-          sources."find-up-3.0.0"
-          sources."locate-path-3.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
-          sources."p-try-2.2.0"
-          sources."pkg-dir-3.0.0"
-        ];
-      })
-      sources."find-up-2.1.0"
-      (sources."findup-sync-3.0.0" // {
-        dependencies = [
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."micromatch-3.1.10"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
-      sources."flat-5.0.2"
-      (sources."flat-cache-2.0.1" // {
-        dependencies = [
-          sources."rimraf-2.6.3"
-        ];
-      })
-      sources."flatted-2.0.2"
-      (sources."flush-write-stream-1.1.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."follow-redirects-1.13.0"
-      sources."for-in-1.0.2"
-      (sources."foreground-child-2.0.0" // {
-        dependencies = [
-          sources."cross-spawn-7.0.3"
-          sources."path-key-3.1.1"
-          sources."shebang-command-2.0.0"
-          sources."shebang-regex-3.0.0"
-          sources."which-2.0.2"
-        ];
-      })
-      sources."forwarded-0.1.2"
-      sources."fragment-cache-0.2.1"
-      sources."fresh-0.5.2"
-      (sources."from2-2.3.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."fromentries-1.3.2"
-      (sources."fs-write-stream-atomic-1.0.10" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."fs.realpath-1.0.0"
-      sources."fsevents-2.1.3"
-      sources."function-bind-1.1.1"
-      sources."functional-red-black-tree-1.0.1"
-      sources."gensync-1.0.0-beta.2"
-      sources."get-caller-file-2.0.5"
-      sources."get-func-name-2.0.0"
-      sources."get-intrinsic-1.0.1"
-      sources."get-package-type-0.1.0"
-      sources."get-stdin-6.0.0"
-      sources."get-stream-4.1.0"
-      sources."get-value-2.0.6"
-      sources."glob-7.1.6"
-      sources."glob-parent-5.1.1"
-      (sources."global-modules-2.0.0" // {
-        dependencies = [
-          sources."global-prefix-3.0.0"
-        ];
-      })
-      sources."global-prefix-1.0.2"
-      sources."globals-12.4.0"
-      (sources."globby-6.1.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
-      sources."graceful-fs-4.2.4"
-      sources."growl-1.10.5"
-      sources."handle-thing-2.0.1"
-      sources."has-1.0.3"
-      sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.1"
-      sources."has-value-1.0.0"
-      (sources."has-values-1.0.0" // {
-        dependencies = [
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."kind-of-4.0.0"
-        ];
-      })
-      sources."hash-base-3.1.0"
-      sources."hash.js-1.1.7"
-      (sources."hasha-5.2.2" // {
-        dependencies = [
-          sources."is-stream-2.0.0"
-        ];
-      })
-      sources."he-1.2.0"
-      sources."hmac-drbg-1.0.1"
-      sources."homedir-polyfill-1.0.3"
-      sources."hosted-git-info-2.8.9"
-      (sources."hpack.js-2.1.6" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."html-entities-1.3.1"
-      sources."html-escaper-2.0.2"
-      sources."html-minifier-terser-5.1.1"
-      sources."html-webpack-plugin-4.5.0"
-      (sources."htmlparser2-3.10.1" // {
-        dependencies = [
-          sources."entities-1.1.2"
-        ];
-      })
-      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-agent-4.0.1"
-      (sources."http-proxy-middleware-0.19.1" // {
-        dependencies = [
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."micromatch-3.1.10"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
-      sources."https-browserify-1.0.0"
-      (sources."https-proxy-agent-4.0.0" // {
-        dependencies = [
-          sources."agent-base-5.1.1"
-        ];
-      })
-      sources."iconv-lite-0.4.24"
-      sources."ieee754-1.2.1"
-      sources."iferr-0.1.5"
-      sources."ignore-4.0.6"
-      sources."ignore-walk-3.0.3"
-      sources."import-fresh-3.2.2"
-      (sources."import-local-2.0.0" // {
-        dependencies = [
-          sources."find-up-3.0.0"
-          sources."locate-path-3.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
-          sources."p-try-2.2.0"
-          sources."pkg-dir-3.0.0"
-        ];
-      })
-      sources."imurmurhash-0.1.4"
-      sources."indent-string-4.0.0"
-      sources."infer-owner-1.0.4"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."ini-1.3.8"
-      (sources."inquirer-7.3.3" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."strip-ansi-6.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."internal-ip-4.3.0"
-      sources."interpret-1.4.0"
-      sources."ip-1.1.5"
-      sources."ip-regex-2.1.0"
-      sources."ipaddr.js-1.9.1"
-      sources."is-absolute-url-3.0.3"
-      (sources."is-accessor-descriptor-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-2.1.0"
-      sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.2"
-      sources."is-core-module-2.2.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-extendable-0.1.1"
-      sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-3.0.0"
-      sources."is-glob-4.0.1"
-      sources."is-negative-zero-2.0.0"
-      sources."is-number-7.0.0"
-      sources."is-path-cwd-2.2.0"
-      sources."is-path-in-cwd-2.1.0"
-      sources."is-path-inside-2.1.0"
-      sources."is-plain-obj-2.1.0"
-      sources."is-plain-object-2.0.4"
-      sources."is-regex-1.1.1"
-      sources."is-stream-1.1.0"
-      sources."is-string-1.0.5"
-      sources."is-symbol-1.0.3"
-      sources."is-typedarray-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."isomorphic-fetch-3.0.0"
-      sources."istanbul-lib-coverage-3.0.0"
-      sources."istanbul-lib-hook-3.0.0"
-      (sources."istanbul-lib-instrument-4.0.3" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      (sources."istanbul-lib-processinfo-2.0.2" // {
-        dependencies = [
-          sources."cross-spawn-7.0.3"
-          sources."make-dir-3.1.0"
-          sources."p-map-3.0.0"
-          sources."path-key-3.1.1"
-          sources."rimraf-3.0.2"
-          sources."semver-6.3.0"
-          sources."shebang-command-2.0.0"
-          sources."shebang-regex-3.0.0"
-          sources."which-2.0.2"
-        ];
-      })
-      (sources."istanbul-lib-report-3.0.0" // {
-        dependencies = [
-          sources."has-flag-4.0.0"
-          sources."make-dir-3.1.0"
-          sources."semver-6.3.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."istanbul-lib-source-maps-4.0.0"
-      sources."istanbul-reports-3.0.2"
-      sources."js-tokens-4.0.0"
-      sources."js-yaml-3.14.0"
-      sources."jsesc-2.5.2"
-      sources."json-parse-better-errors-1.0.2"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."json-stringify-safe-5.0.1"
-      sources."json3-3.3.3"
-      sources."json5-1.0.1"
-      sources."killable-1.0.1"
-      sources."kind-of-6.0.3"
-      sources."levn-0.3.0"
-      sources."lezer-0.13.4"
-      sources."lezer-generator-0.13.4"
-      sources."lezer-tree-0.13.2"
-      (sources."load-json-file-2.0.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
-      sources."loader-runner-2.4.0"
-      sources."loader-utils-1.4.0"
-      sources."locate-path-2.0.0"
-      sources."lodash-4.17.21"
-      sources."lodash.flattendeep-4.4.0"
-      sources."lodash.set-4.3.2"
-      (sources."log-symbols-4.0.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."loglevel-1.7.1"
-      (sources."lower-case-2.0.2" // {
-        dependencies = [
-          sources."tslib-2.0.3"
-        ];
-      })
-      sources."lru-cache-6.0.0"
-      (sources."make-dir-2.1.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."make-error-1.3.6"
-      sources."map-cache-0.2.2"
-      sources."map-visit-1.0.0"
-      sources."md5.js-1.3.5"
-      sources."media-typer-0.3.0"
-      (sources."memory-fs-0.5.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."merge-descriptors-1.0.1"
-      sources."methods-1.1.2"
-      sources."micromatch-4.0.2"
-      (sources."miller-rabin-4.0.1" // {
-        dependencies = [
-          sources."bn.js-4.11.9"
-        ];
-      })
-      sources."mime-1.6.0"
-      sources."mime-db-1.44.0"
-      sources."mime-types-2.1.27"
-      sources."mimic-fn-2.1.0"
-      sources."minimalistic-assert-1.0.1"
-      sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
-      sources."mississippi-3.0.0"
-      (sources."mixin-deep-1.3.2" // {
-        dependencies = [
-          sources."is-extendable-1.0.1"
-        ];
-      })
-      sources."mkdirp-0.5.5"
-      (sources."mocha-8.2.1" // {
-        dependencies = [
-          sources."debug-4.2.0"
-          sources."escape-string-regexp-4.0.0"
-          sources."find-up-5.0.0"
-          sources."has-flag-4.0.0"
-          sources."locate-path-6.0.0"
-          sources."p-limit-3.1.0"
-          sources."p-locate-5.0.0"
-          sources."path-exists-4.0.0"
-          sources."supports-color-7.2.0"
-          sources."which-2.0.2"
-        ];
-      })
-      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."nanoid-3.1.12"
-      sources."nanomatch-1.2.13"
-      sources."natural-compare-1.4.0"
-      sources."negotiator-0.6.2"
-      sources."neo-async-2.6.2"
-      sources."nice-try-1.0.5"
-      (sources."no-case-3.0.4" // {
-        dependencies = [
-          sources."tslib-2.0.3"
-        ];
-      })
-      sources."nock-13.0.11"
-      sources."node-fetch-2.6.1"
-      sources."node-forge-0.10.0"
-      (sources."node-libs-browser-2.2.1" // {
-        dependencies = [
-          sources."punycode-1.4.1"
-          (sources."readable-stream-2.3.7" // {
-            dependencies = [
-              sources."string_decoder-1.1.1"
-            ];
-          })
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."node-preload-0.2.1"
-      sources."node-releases-1.1.71"
-      (sources."normalize-package-data-2.5.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."normalize-path-3.0.0"
-      sources."npm-run-path-2.0.2"
-      sources."nth-check-1.0.2"
-      (sources."nyc-15.1.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."cliui-6.0.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."find-cache-dir-3.3.1"
-          sources."find-up-4.1.0"
-          sources."locate-path-5.0.0"
-          sources."make-dir-3.1.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-map-3.0.0"
-          sources."p-try-2.2.0"
-          sources."path-exists-4.0.0"
-          sources."pkg-dir-4.2.0"
-          sources."resolve-from-5.0.0"
-          sources."rimraf-3.0.2"
-          sources."semver-6.3.0"
-          sources."strip-ansi-6.0.0"
-          sources."wrap-ansi-6.2.0"
-          sources."yargs-15.4.1"
-          sources."yargs-parser-18.1.3"
-        ];
-      })
-      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-inspect-1.9.0"
-      sources."object-is-1.1.4"
-      sources."object-keys-1.1.1"
-      sources."object-visit-1.0.1"
-      sources."object.assign-4.1.2"
-      sources."object.getownpropertydescriptors-2.1.1"
-      sources."object.pick-1.3.0"
-      sources."object.values-1.1.2"
-      sources."obuf-1.1.2"
-      sources."on-finished-2.3.0"
-      sources."on-headers-1.0.2"
-      sources."once-1.4.0"
-      sources."onetime-5.1.2"
-      sources."opn-5.5.0"
-      sources."optionator-0.8.3"
-      sources."original-1.0.2"
-      sources."os-browserify-0.3.0"
-      sources."os-tmpdir-1.0.2"
-      sources."p-finally-1.0.0"
-      sources."p-limit-1.3.0"
-      sources."p-locate-2.0.0"
-      sources."p-map-2.1.0"
-      sources."p-retry-3.0.1"
-      sources."p-try-1.0.0"
-      sources."package-hash-4.0.0"
-      sources."pako-1.0.11"
-      (sources."parallel-transform-1.2.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      (sources."param-case-3.0.4" // {
-        dependencies = [
-          sources."tslib-2.0.3"
-        ];
-      })
-      sources."parent-module-1.0.1"
-      sources."parse-asn1-5.1.6"
-      sources."parse-json-2.2.0"
-      sources."parse-passwd-1.0.0"
-      sources."parseurl-1.3.3"
-      (sources."pascal-case-3.1.2" // {
-        dependencies = [
-          sources."tslib-2.0.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-2.0.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
-      sources."pathval-1.1.0"
-      sources."pbkdf2-3.1.1"
-      sources."picomatch-2.2.2"
-      sources."pify-4.0.1"
-      sources."pinkie-2.0.4"
-      sources."pinkie-promise-2.0.1"
-      sources."pkg-dir-2.0.0"
-      (sources."portfinder-1.0.28" // {
-        dependencies = [
-          sources."debug-3.2.7"
-        ];
-      })
-      sources."posix-character-classes-0.1.1"
-      sources."prelude-ls-1.1.2"
-      sources."prettier-2.2.1"
-      sources."prettier-linter-helpers-1.0.0"
-      sources."pretty-error-2.1.2"
-      sources."process-0.11.10"
-      sources."process-nextick-args-2.0.1"
-      sources."process-on-spawn-1.0.0"
-      sources."progress-2.0.3"
-      sources."promise-inflight-1.0.1"
-      sources."propagate-2.0.1"
-      sources."proxy-addr-2.0.6"
-      sources."prr-1.0.1"
-      (sources."public-encrypt-4.0.3" // {
-        dependencies = [
-          sources."bn.js-4.11.9"
-        ];
-      })
-      sources."pump-3.0.0"
-      (sources."pumpify-1.5.1" // {
-        dependencies = [
-          sources."pump-2.0.1"
-        ];
-      })
-      sources."punycode-2.1.1"
-      sources."qs-6.7.0"
-      sources."querystring-0.2.0"
-      sources."querystring-es3-0.2.1"
-      sources."querystringify-2.2.0"
-      sources."randombytes-2.1.0"
-      sources."randomfill-1.0.4"
-      sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.0" // {
-        dependencies = [
-          sources."bytes-3.1.0"
-        ];
-      })
-      sources."read-pkg-2.0.0"
-      sources."read-pkg-up-2.0.0"
-      sources."readable-stream-3.6.0"
-      sources."readdirp-3.5.0"
-      sources."regex-not-1.0.2"
-      (sources."regexp.prototype.flags-1.3.0" // {
-        dependencies = [
-          sources."es-abstract-1.17.7"
-        ];
-      })
-      sources."regexpp-3.1.0"
-      sources."relateurl-0.2.7"
-      sources."release-zalgo-1.0.0"
-      sources."remove-trailing-separator-1.1.0"
-      (sources."renderkid-2.0.4" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."strip-ansi-3.0.1"
-        ];
-      })
-      sources."repeat-element-1.1.3"
-      sources."repeat-string-1.6.1"
-      sources."require-directory-2.1.1"
-      sources."require-main-filename-2.0.0"
-      sources."requires-port-1.0.0"
-      sources."resolve-1.19.0"
-      (sources."resolve-cwd-2.0.0" // {
-        dependencies = [
-          sources."resolve-from-3.0.0"
-        ];
-      })
-      (sources."resolve-dir-1.0.1" // {
-        dependencies = [
-          sources."global-modules-1.0.0"
-        ];
-      })
-      sources."resolve-from-4.0.0"
-      sources."resolve-url-0.2.1"
-      sources."restore-cursor-3.1.0"
-      sources."ret-0.1.15"
-      sources."retry-0.12.0"
-      sources."rimraf-2.7.1"
-      sources."ripemd160-2.0.2"
-      sources."run-async-2.4.1"
-      sources."run-queue-1.0.3"
-      sources."rxjs-6.6.3"
-      sources."safe-buffer-5.2.1"
-      sources."safe-regex-1.1.0"
-      sources."safer-buffer-2.1.2"
-      sources."schema-utils-1.0.0"
-      sources."select-hose-2.0.0"
-      sources."selfsigned-1.10.8"
-      sources."semver-7.3.4"
-      (sources."send-0.17.1" // {
-        dependencies = [
-          (sources."debug-2.6.9" // {
-            dependencies = [
-              sources."ms-2.0.0"
-            ];
-          })
-          sources."ms-2.1.1"
-        ];
-      })
-      sources."serialize-javascript-5.0.1"
-      (sources."serve-index-1.9.1" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."http-errors-1.6.3"
-          sources."inherits-2.0.3"
-          sources."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."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.3"
-      (sources."slice-ansi-2.1.0" // {
-        dependencies = [
-          sources."is-fullwidth-code-point-2.0.0"
-        ];
-      })
-      (sources."snapdragon-0.8.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."define-property-0.2.5"
-          sources."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"
-      (sources."sockjs-client-1.4.0" // {
-        dependencies = [
-          sources."debug-3.2.7"
-          sources."faye-websocket-0.11.3"
-        ];
-      })
-      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.19"
-      sources."source-map-url-0.4.0"
-      (sources."spawn-wrap-2.0.0" // {
-        dependencies = [
-          sources."make-dir-3.1.0"
-          sources."rimraf-3.0.2"
-          sources."semver-6.3.0"
-          sources."which-2.0.2"
-        ];
-      })
-      sources."spdx-correct-3.1.1"
-      sources."spdx-exceptions-2.3.0"
-      sources."spdx-expression-parse-3.0.1"
-      sources."spdx-license-ids-3.0.7"
-      sources."spdy-4.0.2"
-      sources."spdy-transport-3.0.0"
-      sources."split-string-3.1.0"
-      sources."sprintf-js-1.0.3"
-      sources."ssri-6.0.2"
-      (sources."static-extend-0.1.2" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-        ];
-      })
-      sources."statuses-1.5.0"
-      (sources."stream-browserify-2.0.2" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."stream-each-1.2.3"
-      sources."stream-events-1.0.5"
-      (sources."stream-http-2.8.3" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."stream-shift-1.0.1"
-      sources."string-natural-compare-3.0.1"
-      (sources."string-width-4.2.0" // {
-        dependencies = [
-          sources."strip-ansi-6.0.0"
-        ];
-      })
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
-      sources."string_decoder-1.3.0"
-      (sources."strip-ansi-5.2.0" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-        ];
-      })
-      sources."strip-bom-3.0.0"
-      sources."strip-eof-1.0.0"
-      sources."strip-json-comments-3.1.1"
-      sources."stubs-3.0.0"
-      sources."style-mod-4.0.0"
-      sources."supports-color-5.5.0"
-      (sources."table-5.4.6" // {
-        dependencies = [
-          sources."emoji-regex-7.0.3"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-3.1.0"
-        ];
-      })
-      sources."tapable-1.1.3"
-      sources."teeny-request-6.0.1"
-      (sources."terser-4.8.0" // {
-        dependencies = [
-          sources."commander-2.20.3"
-        ];
-      })
-      (sources."terser-webpack-plugin-1.4.5" // {
-        dependencies = [
-          sources."serialize-javascript-4.0.0"
-        ];
-      })
-      sources."test-exclude-6.0.0"
-      sources."text-table-0.2.0"
-      sources."through-2.3.8"
-      (sources."through2-2.0.5" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."thunky-1.1.0"
-      sources."timers-browserify-2.0.12"
-      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-5.0.1"
-      sources."toidentifier-1.0.0"
-      (sources."ts-loader-7.0.5" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      (sources."ts-mocha-8.0.0" // {
-        dependencies = [
-          sources."diff-3.5.0"
-          sources."ts-node-7.0.1"
-          sources."yn-2.0.0"
-        ];
-      })
-      sources."ts-node-9.1.0"
-      sources."tsconfig-paths-3.9.0"
-      sources."tslib-1.14.1"
-      sources."tsutils-3.17.1"
-      sources."tty-browserify-0.0.0"
-      sources."type-check-0.3.2"
-      sources."type-detect-4.0.8"
-      sources."type-fest-0.8.1"
-      sources."type-is-1.6.18"
-      sources."typedarray-0.0.6"
-      sources."typedarray-to-buffer-3.1.5"
-      sources."typescript-4.2.3"
-      sources."union-value-1.0.1"
-      sources."unique-filename-1.1.1"
-      sources."unique-slug-2.0.2"
-      sources."unpipe-1.0.0"
-      (sources."unset-value-1.0.0" // {
-        dependencies = [
-          (sources."has-value-0.3.1" // {
-            dependencies = [
-              sources."isobject-2.1.0"
-            ];
-          })
-          sources."has-values-0.1.4"
-        ];
-      })
-      sources."upath-1.2.0"
-      sources."uri-js-4.4.0"
-      sources."urix-0.1.0"
-      (sources."url-0.11.0" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-        ];
-      })
-      sources."url-parse-1.5.1"
-      sources."urlgrey-0.4.4"
-      sources."use-3.1.1"
-      (sources."util-0.11.1" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
-      sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
-      sources."utila-0.4.0"
-      sources."utils-merge-1.0.1"
-      sources."uuid-3.4.0"
-      sources."v8-compile-cache-2.2.0"
-      sources."validate-npm-package-license-3.0.4"
-      sources."vary-1.1.2"
-      sources."vm-browserify-1.1.2"
-      sources."w3c-keyname-2.2.4"
-      sources."watchpack-1.7.5"
-      (sources."watchpack-chokidar2-2.0.1" // {
-        dependencies = [
-          (sources."anymatch-2.0.0" // {
-            dependencies = [
-              sources."normalize-path-2.1.1"
-            ];
-          })
-          sources."binary-extensions-1.13.1"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."chokidar-2.1.8"
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."fsevents-1.2.13"
-          (sources."glob-parent-3.1.0" // {
-            dependencies = [
-              sources."is-glob-3.1.0"
-            ];
-          })
-          sources."is-binary-path-1.0.1"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."micromatch-3.1.10"
-          sources."readable-stream-2.3.7"
-          sources."readdirp-2.2.1"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
-      sources."wbuf-1.7.3"
-      (sources."webpack-4.44.2" // {
-        dependencies = [
-          sources."acorn-6.4.2"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."eslint-scope-4.0.3"
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."memory-fs-0.4.1"
-          sources."micromatch-3.1.10"
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
-      (sources."webpack-cli-3.3.12" // {
-        dependencies = [
-          sources."supports-color-6.1.0"
-        ];
-      })
-      (sources."webpack-dev-middleware-3.7.2" // {
-        dependencies = [
-          sources."memory-fs-0.4.1"
-          sources."mime-2.4.6"
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      (sources."webpack-dev-server-3.11.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-          (sources."anymatch-2.0.0" // {
-            dependencies = [
-              sources."normalize-path-2.1.1"
-            ];
-          })
-          sources."binary-extensions-1.13.1"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."chokidar-2.1.8"
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."fsevents-1.2.13"
-          (sources."glob-parent-3.1.0" // {
-            dependencies = [
-              sources."is-glob-3.1.0"
-            ];
-          })
-          sources."is-binary-path-1.0.1"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."micromatch-3.1.10"
-          sources."readable-stream-2.3.7"
-          sources."readdirp-2.2.1"
-          sources."safe-buffer-5.1.2"
-          sources."semver-6.3.0"
-          sources."string_decoder-1.1.1"
-          sources."strip-ansi-3.0.1"
-          sources."supports-color-6.1.0"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
-      (sources."webpack-log-2.0.0" // {
-        dependencies = [
-          sources."ansi-colors-3.2.4"
-        ];
-      })
-      sources."webpack-sources-1.4.3"
-      sources."websocket-driver-0.6.5"
-      sources."websocket-extensions-0.1.4"
-      sources."whatwg-fetch-3.6.2"
-      sources."which-1.3.1"
-      sources."which-module-2.0.0"
-      (sources."wide-align-1.1.3" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-2.1.1"
-          sources."strip-ansi-4.0.0"
-        ];
-      })
-      sources."word-wrap-1.2.3"
-      sources."worker-farm-1.7.0"
-      sources."workerpool-6.0.2"
-      (sources."wrap-ansi-5.1.0" // {
-        dependencies = [
-          sources."emoji-regex-7.0.3"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-3.1.0"
-        ];
-      })
-      sources."wrappy-1.0.2"
-      sources."write-1.0.3"
-      sources."write-file-atomic-3.0.3"
-      sources."ws-6.2.1"
-      sources."xtend-4.0.2"
-      sources."y18n-4.0.1"
-      sources."yallist-4.0.0"
-      (sources."yargs-13.3.2" // {
-        dependencies = [
-          sources."emoji-regex-7.0.3"
-          sources."find-up-3.0.0"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."locate-path-3.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
-          sources."p-try-2.2.0"
-          sources."string-width-3.1.0"
-        ];
-      })
-      sources."yargs-parser-13.1.2"
-      (sources."yargs-unparser-2.0.0" // {
-        dependencies = [
-          sources."camelcase-6.2.0"
-          sources."decamelize-4.0.0"
-        ];
-      })
-      sources."yn-3.1.1"
-      sources."yocto-queue-0.1.0"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "a CodeMirror mode for the PromQL language";
-      homepage = "https://github.com/prometheus-community/codemirror-promql/blob/master/README.md";
-      license = "MIT";
-    };
-    production = false;
-    bypassCache = true;
-    reconstructLock = false;
-  };
-in
-{
-  args = args;
-  sources = sources;
-  tarball = nodeEnv.buildNodeSourceDist args;
-  package = nodeEnv.buildNodePackage args;
-  shell = nodeEnv.buildNodeShell args;
-  nodeDependencies = nodeEnv.buildNodeDependencies (lib.overrideExisting args {
-    src = stdenv.mkDerivation {
-      name = args.name + "-package-json";
-      src = nix-gitignore.gitignoreSourcePure [
-        "*"
-        "!package.json"
-        "!package-lock.json"
-      ] args.src;
-      dontBuild = true;
-      installPhase = "mkdir -p $out; cp -r ./* $out;";
-    };
-  });
-}
diff --git a/pkgs/servers/monitoring/prometheus/webui/codemirror-promql/package-lock.json b/pkgs/servers/monitoring/prometheus/webui/codemirror-promql/package-lock.json
deleted file mode 100644
index 9eec7a216fa..00000000000
--- a/pkgs/servers/monitoring/prometheus/webui/codemirror-promql/package-lock.json
+++ /dev/null
@@ -1,22167 +0,0 @@
-{
-  "name": "codemirror-promql",
-  "version": "0.17.0",
-  "lockfileVersion": 2,
-  "requires": true,
-  "packages": {
-    "": {
-      "version": "0.17.0",
-      "license": "MIT",
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "devDependencies": {
-        "@codemirror/autocomplete": "^0.18.3",
-        "@codemirror/basic-setup": "^0.18.0",
-        "@codemirror/highlight": "^0.18.3",
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/lint": "^0.18.1",
-        "@codemirror/state": "^0.18.2",
-        "@codemirror/view": "^0.18.1",
-        "@types/chai": "^4.2.12",
-        "@types/lru-cache": "^5.1.0",
-        "@types/mocha": "^8.0.3",
-        "@types/node": "^14.0.13",
-        "@typescript-eslint/eslint-plugin": "^2.22.0",
-        "@typescript-eslint/parser": "^2.22.0",
-        "chai": "^4.2.0",
-        "clean-webpack-plugin": "^3.0.0",
-        "codecov": "^3.8.1",
-        "eslint": "^6.8.0",
-        "eslint-config-prettier": "^6.11.0",
-        "eslint-plugin-flowtype": "^5.2.0",
-        "eslint-plugin-import": "^2.22.0",
-        "eslint-plugin-prettier": "^3.1.4",
-        "html-webpack-plugin": "^4.3.0",
-        "isomorphic-fetch": "^3.0.0",
-        "lezer": "^0.13.1",
-        "lezer-generator": "^0.13.1",
-        "mocha": "^8.1.2",
-        "nock": "^13.0.11",
-        "nyc": "^15.1.0",
-        "prettier": "^2.0.5",
-        "ts-loader": "^7.0.4",
-        "ts-mocha": "^8.0.0",
-        "ts-node": "^9.0.0",
-        "typescript": "^4.2.3",
-        "webpack": "^4.43.0",
-        "webpack-cli": "^3.3.11",
-        "webpack-dev-server": "^3.11.0"
-      },
-      "engines": {
-        "node": ">=12.0.0"
-      },
-      "peerDependencies": {
-        "@codemirror/autocomplete": "^0.18.3",
-        "@codemirror/highlight": "^0.18.3",
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/lint": "^0.18.1",
-        "@codemirror/state": "^0.18.2",
-        "@codemirror/view": "^0.18.1",
-        "lezer": "^0.13.0"
-      }
-    },
-    "node_modules/@babel/code-frame": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
-      "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/highlight": "^7.12.13"
-      }
-    },
-    "node_modules/@babel/compat-data": {
-      "version": "7.13.15",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.15.tgz",
-      "integrity": "sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA==",
-      "dev": true
-    },
-    "node_modules/@babel/core": {
-      "version": "7.13.15",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.15.tgz",
-      "integrity": "sha512-6GXmNYeNjS2Uz+uls5jalOemgIhnTMeaXo+yBUA72kC2uX/8VW6XyhVIo2L8/q0goKQA3EVKx0KOQpVKSeWadQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.12.13",
-        "@babel/generator": "^7.13.9",
-        "@babel/helper-compilation-targets": "^7.13.13",
-        "@babel/helper-module-transforms": "^7.13.14",
-        "@babel/helpers": "^7.13.10",
-        "@babel/parser": "^7.13.15",
-        "@babel/template": "^7.12.13",
-        "@babel/traverse": "^7.13.15",
-        "@babel/types": "^7.13.14",
-        "convert-source-map": "^1.7.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.2",
-        "json5": "^2.1.2",
-        "semver": "^6.3.0",
-        "source-map": "^0.5.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/babel"
-      }
-    },
-    "node_modules/@babel/core/node_modules/json5": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
-      "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.5"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/@babel/core/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/@babel/core/node_modules/source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/@babel/generator": {
-      "version": "7.13.9",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz",
-      "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.13.0",
-        "jsesc": "^2.5.1",
-        "source-map": "^0.5.0"
-      }
-    },
-    "node_modules/@babel/generator/node_modules/source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/@babel/helper-compilation-targets": {
-      "version": "7.13.13",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz",
-      "integrity": "sha512-q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.13.12",
-        "@babel/helper-validator-option": "^7.12.17",
-        "browserslist": "^4.14.5",
-        "semver": "^6.3.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/@babel/helper-function-name": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz",
-      "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-get-function-arity": "^7.12.13",
-        "@babel/template": "^7.12.13",
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "node_modules/@babel/helper-get-function-arity": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz",
-      "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "node_modules/@babel/helper-member-expression-to-functions": {
-      "version": "7.13.12",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz",
-      "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.13.12"
-      }
-    },
-    "node_modules/@babel/helper-module-imports": {
-      "version": "7.13.12",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz",
-      "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.13.12"
-      }
-    },
-    "node_modules/@babel/helper-module-transforms": {
-      "version": "7.13.14",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz",
-      "integrity": "sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-imports": "^7.13.12",
-        "@babel/helper-replace-supers": "^7.13.12",
-        "@babel/helper-simple-access": "^7.13.12",
-        "@babel/helper-split-export-declaration": "^7.12.13",
-        "@babel/helper-validator-identifier": "^7.12.11",
-        "@babel/template": "^7.12.13",
-        "@babel/traverse": "^7.13.13",
-        "@babel/types": "^7.13.14"
-      }
-    },
-    "node_modules/@babel/helper-optimise-call-expression": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz",
-      "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "node_modules/@babel/helper-replace-supers": {
-      "version": "7.13.12",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz",
-      "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-member-expression-to-functions": "^7.13.12",
-        "@babel/helper-optimise-call-expression": "^7.12.13",
-        "@babel/traverse": "^7.13.0",
-        "@babel/types": "^7.13.12"
-      }
-    },
-    "node_modules/@babel/helper-simple-access": {
-      "version": "7.13.12",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz",
-      "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.13.12"
-      }
-    },
-    "node_modules/@babel/helper-split-export-declaration": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz",
-      "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "node_modules/@babel/helper-validator-identifier": {
-      "version": "7.12.11",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
-      "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
-      "dev": true
-    },
-    "node_modules/@babel/helper-validator-option": {
-      "version": "7.12.17",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz",
-      "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==",
-      "dev": true
-    },
-    "node_modules/@babel/helpers": {
-      "version": "7.13.10",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.10.tgz",
-      "integrity": "sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/template": "^7.12.13",
-        "@babel/traverse": "^7.13.0",
-        "@babel/types": "^7.13.0"
-      }
-    },
-    "node_modules/@babel/highlight": {
-      "version": "7.13.10",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz",
-      "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-validator-identifier": "^7.12.11",
-        "chalk": "^2.0.0",
-        "js-tokens": "^4.0.0"
-      }
-    },
-    "node_modules/@babel/parser": {
-      "version": "7.13.15",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.15.tgz",
-      "integrity": "sha512-b9COtcAlVEQljy/9fbcMHpG+UIW9ReF+gpaxDHTlZd0c6/UU9ng8zdySAW9sRTzpvcdCHn6bUcbuYUgGzLAWVQ==",
-      "dev": true,
-      "bin": {
-        "parser": "bin/babel-parser.js"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@babel/template": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz",
-      "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.12.13",
-        "@babel/parser": "^7.12.13",
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "node_modules/@babel/traverse": {
-      "version": "7.13.15",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.15.tgz",
-      "integrity": "sha512-/mpZMNvj6bce59Qzl09fHEs8Bt8NnpEDQYleHUPZQ3wXUMvXi+HJPLars68oAbmp839fGoOkv2pSL2z9ajCIaQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.12.13",
-        "@babel/generator": "^7.13.9",
-        "@babel/helper-function-name": "^7.12.13",
-        "@babel/helper-split-export-declaration": "^7.12.13",
-        "@babel/parser": "^7.13.15",
-        "@babel/types": "^7.13.14",
-        "debug": "^4.1.0",
-        "globals": "^11.1.0"
-      }
-    },
-    "node_modules/@babel/traverse/node_modules/globals": {
-      "version": "11.12.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/@babel/types": {
-      "version": "7.13.14",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz",
-      "integrity": "sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-validator-identifier": "^7.12.11",
-        "lodash": "^4.17.19",
-        "to-fast-properties": "^2.0.0"
-      }
-    },
-    "node_modules/@codemirror/autocomplete": {
-      "version": "0.18.3",
-      "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.3.tgz",
-      "integrity": "sha512-XAilIpYxsessr3Zh39nc5T97Zz9wLMwQTCDlIKapm/VK3JnX1I1jkoe8JqpbyVyabVxGXpB2K88GIVS9X+nLZQ==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/tooltip": "^0.18.4",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "node_modules/@codemirror/basic-setup": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/basic-setup/-/basic-setup-0.18.0.tgz",
-      "integrity": "sha512-3IU6gBIkVVCF+ZtKqzCmYU1GLfbA12OsPYPWWq9rSzEb5G/FrWCA51ERYJpS3CzOI7TfBFjZZYc5j0OiNIF2VQ==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/autocomplete": "^0.18.0",
-        "@codemirror/closebrackets": "^0.18.0",
-        "@codemirror/commands": "^0.18.0",
-        "@codemirror/comment": "^0.18.0",
-        "@codemirror/fold": "^0.18.0",
-        "@codemirror/gutter": "^0.18.0",
-        "@codemirror/highlight": "^0.18.0",
-        "@codemirror/history": "^0.18.0",
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/lint": "^0.18.0",
-        "@codemirror/matchbrackets": "^0.18.0",
-        "@codemirror/rectangular-selection": "^0.18.0",
-        "@codemirror/search": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/closebrackets": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/closebrackets/-/closebrackets-0.18.0.tgz",
-      "integrity": "sha512-O1RAgUkzF4nq/B8IyXenZKZ1rJi2Mc7I6y4IhWhELiTnjyQy7YdAthTsJ40mNr8kZ6gRbasYe3K7TraITElZJA==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/commands": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-0.18.0.tgz",
-      "integrity": "sha512-4H63B4oqr8dmJ3VOKvMI7xrZIBJjAdtz3Z0V/Jt0HlIYTe76Omy4h9BS3b9EgyNaWjIO/Slz3KQPwihcC8uR5Q==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/matchbrackets": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "node_modules/@codemirror/comment": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/comment/-/comment-0.18.0.tgz",
-      "integrity": "sha512-yb/8dz/zIzXIa00L0Ed7/R8m2FupPZux/EMquwzbAOnTNcXeeaPVcp9kEMPf85b9D82csunXXdiOSalBVGjKWQ==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/fold": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/fold/-/fold-0.18.0.tgz",
-      "integrity": "sha512-qZsl85rp1Wm2ifaw1E25paDRVGr0m2vKRIoUG5mv+G2NxJx6lsuMLgU7MKIJQ+3iDHUR2is2yU8d6lOwwp5IEg==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/gutter": "^0.18.0",
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/gutter": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/gutter/-/gutter-0.18.0.tgz",
-      "integrity": "sha512-9hcKzBM5EjhWwrau5Xiv0ll/yOvkgiyLnH7DTsjFCUvuyfbS45WVEMhQ6C+HfsoRVR4TJqRVLJjaIktZqaAqnw==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/highlight": {
-      "version": "0.18.3",
-      "resolved": "https://registry.npmjs.org/@codemirror/highlight/-/highlight-0.18.3.tgz",
-      "integrity": "sha512-NmRmkmWl8ht6Y6Y39ghov84AMPCqhUPIH9fmILs2NaWxZFZf4jGCTzrULnmREGsTie+26+LbKUncIU+PBu1Qng==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0",
-        "style-mod": "^4.0.0"
-      }
-    },
-    "node_modules/@codemirror/history": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/history/-/history-0.18.0.tgz",
-      "integrity": "sha512-oMpvu7c8GQnEn1nX98+WuVQuMEVxOPJFU1yrA22sWfqG7lkrJAv7p4geCWOpwQY9/LWw4sICkDbCeirre4BqBA==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/language": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-0.18.0.tgz",
-      "integrity": "sha512-gryu0Sej1vG3S3njwsJ+bhz9zLoJxZ2TahLlxpqOB3uqVGZrGDyE+GmZBnA6I3hwHvaO1O4WXKScVsKoW6HqFA==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer": "^0.13.4",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "node_modules/@codemirror/lint": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.1.tgz",
-      "integrity": "sha512-2Ueg/ojU56vF5thxMdS67XQzvHNcBnPKw2zgbDVmL/Z+84SMjP7EKvHV5FlbrKFNGZiwnaAKk5MZRYUwBY3f0g==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/panel": "^0.18.1",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/tooltip": "^0.18.4",
-        "@codemirror/view": "^0.18.0",
-        "crelt": "^1.0.5"
-      }
-    },
-    "node_modules/@codemirror/matchbrackets": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/matchbrackets/-/matchbrackets-0.18.0.tgz",
-      "integrity": "sha512-dPDopnZVkD54sSYdmQbyQbPdiuIA83p7XxX6Hp1ScEkOjukwCiFXiA/84x10FUTsQpUYp8bDzm7gwII119bGIw==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "node_modules/@codemirror/panel": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.1.tgz",
-      "integrity": "sha512-5Zo9cUw0QDlFzX4nhIDYjTARPOnPk5rzxAUQo1O35kTLV+6zRh7wsGlvU7VrZnBcIoaAmHfKrZ4lt6+h7fbFGw==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/rangeset": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/rangeset/-/rangeset-0.18.0.tgz",
-      "integrity": "sha512-+dpK3T6EFv2vkoAc3sTZld0N5SHZDjD3YowFYuMWn0Xw3t+u6k+JZlGBuaFTXdsLeF0auclsm0XhRUpMVuXhTg==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/state": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/rectangular-selection": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/rectangular-selection/-/rectangular-selection-0.18.0.tgz",
-      "integrity": "sha512-BQ4pp2zhXCVZNqct5LtLR3AOWVseENBF/3oOgBmwsCKH7c11NfTqIqgWG5EW8NLOXp8HP8cDm3np8eWez0VkGQ==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/search": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.18.1.tgz",
-      "integrity": "sha512-T1yAZHLmCzaXicyHoW/45f/7ImQs87kajcl4+9F/uBgzDjvQAL1sL5NVVONze2UxGHPAHRPTLwvkPxKFgQ0kGg==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/panel": "^0.18.1",
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "crelt": "^1.0.5"
-      }
-    },
-    "node_modules/@codemirror/state": {
-      "version": "0.18.2",
-      "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.18.2.tgz",
-      "integrity": "sha512-fzd9duIkRjSZFsz9lie0V6wa4zZac8LtjZYd9pSmNneDAoJx0AigFEswJ+KDdYuiPmsKd8NB0wXzoiGLLjP6MA==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/text": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/text": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/text/-/text-0.18.0.tgz",
-      "integrity": "sha512-HMzHNIAbjCiCf3tEJMRg6ul01KPuXxQGNiHlHgAnqPguq/CX+L4Nvj5JlWQAI91Pupk18zhmM1c6eaazX4YeTg==",
-      "dev": true
-    },
-    "node_modules/@codemirror/tooltip": {
-      "version": "0.18.4",
-      "resolved": "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.4.tgz",
-      "integrity": "sha512-LDlDOSEfjoG24uapLN7exK3Z3JchYFKUwWqo1x/9YdlAkmD1ik7cMSQZboCquP1uJVcXhtbpKmaO6vENGVaarg==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/view": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-0.18.1.tgz",
-      "integrity": "sha512-chyy+oEnywKMUFDMafVAMcrV+DkjJT3l6pSfN1cvM2LBM/eY54gekv/aXtmsBFRSnd+u09mhjb/kGB+EdNHIjg==",
-      "dev": true,
-      "dependencies": {
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "style-mod": "^4.0.0",
-        "w3c-keyname": "^2.2.4"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
-      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
-      "dev": true,
-      "dependencies": {
-        "camelcase": "^5.3.1",
-        "find-up": "^4.1.0",
-        "get-package-type": "^0.1.0",
-        "js-yaml": "^3.13.1",
-        "resolve-from": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/schema": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
-      "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@tootallnate/once": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
-      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/@types/anymatch": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz",
-      "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==",
-      "dev": true
-    },
-    "node_modules/@types/chai": {
-      "version": "4.2.14",
-      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.14.tgz",
-      "integrity": "sha512-G+ITQPXkwTrslfG5L/BksmbLUA0M1iybEsmCWPqzSxsRRhJZimBKJkoMi8fr/CPygPTj4zO5pJH7I2/cm9M7SQ==",
-      "dev": true
-    },
-    "node_modules/@types/eslint-visitor-keys": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
-      "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==",
-      "dev": true
-    },
-    "node_modules/@types/glob": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
-      "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
-      "dev": true,
-      "dependencies": {
-        "@types/minimatch": "*",
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/html-minifier-terser": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
-      "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==",
-      "dev": true
-    },
-    "node_modules/@types/json-schema": {
-      "version": "7.0.6",
-      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
-      "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
-      "dev": true
-    },
-    "node_modules/@types/json5": {
-      "version": "0.0.29",
-      "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
-      "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
-      "dev": true
-    },
-    "node_modules/@types/lru-cache": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.0.tgz",
-      "integrity": "sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w==",
-      "dev": true
-    },
-    "node_modules/@types/minimatch": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
-      "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
-      "dev": true
-    },
-    "node_modules/@types/mocha": {
-      "version": "8.0.4",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.0.4.tgz",
-      "integrity": "sha512-M4BwiTJjHmLq6kjON7ZoI2JMlBvpY3BYSdiP6s/qCT3jb1s9/DeJF0JELpAxiVSIxXDzfNKe+r7yedMIoLbknQ==",
-      "dev": true
-    },
-    "node_modules/@types/node": {
-      "version": "14.14.10",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
-      "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==",
-      "dev": true
-    },
-    "node_modules/@types/source-list-map": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
-      "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
-      "dev": true
-    },
-    "node_modules/@types/tapable": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz",
-      "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==",
-      "dev": true
-    },
-    "node_modules/@types/uglify-js": {
-      "version": "3.11.1",
-      "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz",
-      "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==",
-      "dev": true,
-      "dependencies": {
-        "source-map": "^0.6.1"
-      }
-    },
-    "node_modules/@types/webpack": {
-      "version": "4.41.25",
-      "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz",
-      "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/anymatch": "*",
-        "@types/node": "*",
-        "@types/tapable": "*",
-        "@types/uglify-js": "*",
-        "@types/webpack-sources": "*",
-        "source-map": "^0.6.0"
-      }
-    },
-    "node_modules/@types/webpack-sources": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz",
-      "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==",
-      "dev": true,
-      "dependencies": {
-        "@types/node": "*",
-        "@types/source-list-map": "*",
-        "source-map": "^0.7.3"
-      }
-    },
-    "node_modules/@types/webpack-sources/node_modules/source-map": {
-      "version": "0.7.3",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/@typescript-eslint/eslint-plugin": {
-      "version": "2.34.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz",
-      "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/experimental-utils": "2.34.0",
-        "functional-red-black-tree": "^1.0.1",
-        "regexpp": "^3.0.0",
-        "tsutils": "^3.17.1"
-      },
-      "engines": {
-        "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
-      }
-    },
-    "node_modules/@typescript-eslint/experimental-utils": {
-      "version": "2.34.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz",
-      "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.3",
-        "@typescript-eslint/typescript-estree": "2.34.0",
-        "eslint-scope": "^5.0.0",
-        "eslint-utils": "^2.0.0"
-      },
-      "engines": {
-        "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
-      }
-    },
-    "node_modules/@typescript-eslint/parser": {
-      "version": "2.34.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz",
-      "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==",
-      "dev": true,
-      "dependencies": {
-        "@types/eslint-visitor-keys": "^1.0.0",
-        "@typescript-eslint/experimental-utils": "2.34.0",
-        "@typescript-eslint/typescript-estree": "2.34.0",
-        "eslint-visitor-keys": "^1.1.0"
-      },
-      "engines": {
-        "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
-      }
-    },
-    "node_modules/@typescript-eslint/typescript-estree": {
-      "version": "2.34.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz",
-      "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.1",
-        "eslint-visitor-keys": "^1.1.0",
-        "glob": "^7.1.6",
-        "is-glob": "^4.0.1",
-        "lodash": "^4.17.15",
-        "semver": "^7.3.2",
-        "tsutils": "^3.17.1"
-      },
-      "engines": {
-        "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
-      }
-    },
-    "node_modules/@ungap/promise-all-settled": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
-      "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/ast": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
-      "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
-      "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-api-error": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
-      "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-buffer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
-      "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-code-frame": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
-      "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/wast-printer": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/helper-fsm": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
-      "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-module-context": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
-      "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
-      "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-wasm-section": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
-      "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/ieee754": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
-      "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
-      "dev": true,
-      "dependencies": {
-        "@xtuc/ieee754": "^1.2.0"
-      }
-    },
-    "node_modules/@webassemblyjs/leb128": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
-      "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
-      "dev": true,
-      "dependencies": {
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@webassemblyjs/utf8": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
-      "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/wasm-edit": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
-      "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/helper-wasm-section": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-opt": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "@webassemblyjs/wast-printer": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-gen": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
-      "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-opt": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
-      "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
-      "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/wast-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
-      "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/floating-point-hex-parser": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-code-frame": "1.9.0",
-        "@webassemblyjs/helper-fsm": "1.9.0",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@webassemblyjs/wast-printer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
-      "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@xtuc/ieee754": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
-      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
-      "dev": true
-    },
-    "node_modules/@xtuc/long": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
-      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
-      "dev": true
-    },
-    "node_modules/accepts": {
-      "version": "1.3.7",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
-      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
-      "dev": true,
-      "dependencies": {
-        "mime-types": "~2.1.24",
-        "negotiator": "0.6.2"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/acorn": {
-      "version": "7.4.1",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
-      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
-      "dev": true,
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/acorn-jsx": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
-      "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
-      "dev": true
-    },
-    "node_modules/agent-base": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
-      "dev": true,
-      "dependencies": {
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6.0.0"
-      }
-    },
-    "node_modules/aggregate-error": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
-      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
-      "dev": true,
-      "dependencies": {
-        "clean-stack": "^2.0.0",
-        "indent-string": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
-      "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      }
-    },
-    "node_modules/ajv-errors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
-      "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
-      "dev": true
-    },
-    "node_modules/ajv-keywords": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-      "dev": true
-    },
-    "node_modules/ansi-colors": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
-      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/ansi-escapes": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
-      "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
-      "dev": true,
-      "dependencies": {
-        "type-fest": "^0.11.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ansi-escapes/node_modules/type-fest": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
-      "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ansi-html": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
-      "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
-      "dev": true,
-      "engines": [
-        "node >= 0.8.0"
-      ],
-      "bin": {
-        "ansi-html": "bin/ansi-html"
-      }
-    },
-    "node_modules/ansi-regex": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
-      "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ansi-styles": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^1.9.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/anymatch": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
-      "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
-      "dev": true,
-      "dependencies": {
-        "normalize-path": "^3.0.0",
-        "picomatch": "^2.0.4"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/append-transform": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
-      "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
-      "dev": true,
-      "dependencies": {
-        "default-require-extensions": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
-    },
-    "node_modules/archy": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
-      "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
-      "dev": true
-    },
-    "node_modules/arg": {
-      "version": "4.1.3",
-      "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
-      "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
-      "dev": true
-    },
-    "node_modules/argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-      "dev": true,
-      "dependencies": {
-        "sprintf-js": "~1.0.2"
-      }
-    },
-    "node_modules/argv": {
-      "version": "0.0.2",
-      "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz",
-      "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.6.10"
-      }
-    },
-    "node_modules/arr-diff": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/arr-flatten": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/arr-union": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/array-flatten": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
-      "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
-      "dev": true
-    },
-    "node_modules/array-includes": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz",
-      "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.1",
-        "get-intrinsic": "^1.0.1",
-        "is-string": "^1.0.5"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/array-union": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
-      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
-      "dev": true,
-      "dependencies": {
-        "array-uniq": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/array-uniq": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
-      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/array-unique": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/array.prototype.flat": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz",
-      "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/arrify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
-      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/asn1.js": {
-      "version": "5.4.1",
-      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
-      "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0",
-        "safer-buffer": "^2.1.0"
-      }
-    },
-    "node_modules/asn1.js/node_modules/bn.js": {
-      "version": "4.11.9",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
-      "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
-      "dev": true
-    },
-    "node_modules/assert": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
-      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
-      "dev": true,
-      "dependencies": {
-        "object-assign": "^4.1.1",
-        "util": "0.10.3"
-      }
-    },
-    "node_modules/assert/node_modules/inherits": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
-      "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
-      "dev": true
-    },
-    "node_modules/assert/node_modules/util": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
-      "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-      "dev": true,
-      "dependencies": {
-        "inherits": "2.0.1"
-      }
-    },
-    "node_modules/assertion-error": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
-      "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/assign-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/astral-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
-      "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dev": true,
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
-    "node_modules/async-each": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
-      "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
-      "dev": true
-    },
-    "node_modules/async-limiter": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
-      "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
-      "dev": true
-    },
-    "node_modules/atob": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true,
-      "bin": {
-        "atob": "bin/atob.js"
-      },
-      "engines": {
-        "node": ">= 4.5.0"
-      }
-    },
-    "node_modules/balanced-match": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
-      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
-      "dev": true
-    },
-    "node_modules/base": {
-      "version": "0.11.2",
-      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
-      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
-      "dependencies": {
-        "cache-base": "^1.0.1",
-        "class-utils": "^0.3.5",
-        "component-emitter": "^1.2.1",
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.1",
-        "mixin-deep": "^1.2.0",
-        "pascalcase": "^0.1.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/base/node_modules/define-property": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/base/node_modules/is-accessor-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/base/node_modules/is-data-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/base/node_modules/is-descriptor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.0",
-        "is-data-descriptor": "^1.0.0",
-        "kind-of": "^6.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/base64-js": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
-      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
-      "dev": true
-    },
-    "node_modules/batch": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
-      "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
-      "dev": true
-    },
-    "node_modules/big.js": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
-      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/binary-extensions": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
-      "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/bluebird": {
-      "version": "3.7.2",
-      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
-      "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
-      "dev": true
-    },
-    "node_modules/bn.js": {
-      "version": "5.1.3",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz",
-      "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==",
-      "dev": true
-    },
-    "node_modules/body-parser": {
-      "version": "1.19.0",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
-      "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
-      "dev": true,
-      "dependencies": {
-        "bytes": "3.1.0",
-        "content-type": "~1.0.4",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "on-finished": "~2.3.0",
-        "qs": "6.7.0",
-        "raw-body": "2.4.0",
-        "type-is": "~1.6.17"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/body-parser/node_modules/bytes": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-      "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/body-parser/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/body-parser/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/bonjour": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
-      "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
-      "dev": true,
-      "dependencies": {
-        "array-flatten": "^2.1.0",
-        "deep-equal": "^1.0.1",
-        "dns-equal": "^1.0.0",
-        "dns-txt": "^2.0.2",
-        "multicast-dns": "^6.0.1",
-        "multicast-dns-service-types": "^1.1.0"
-      }
-    },
-    "node_modules/boolbase": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
-      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
-      "dev": true
-    },
-    "node_modules/brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "dev": true,
-      "dependencies": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "node_modules/braces": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-      "dev": true,
-      "dependencies": {
-        "fill-range": "^7.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/brorand": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
-      "dev": true
-    },
-    "node_modules/browser-stdout": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
-      "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
-      "dev": true
-    },
-    "node_modules/browserify-aes": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
-      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "dev": true,
-      "dependencies": {
-        "buffer-xor": "^1.0.3",
-        "cipher-base": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.3",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "node_modules/browserify-cipher": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
-      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "dev": true,
-      "dependencies": {
-        "browserify-aes": "^1.0.4",
-        "browserify-des": "^1.0.0",
-        "evp_bytestokey": "^1.0.0"
-      }
-    },
-    "node_modules/browserify-des": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
-      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
-      "dev": true,
-      "dependencies": {
-        "cipher-base": "^1.0.1",
-        "des.js": "^1.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "node_modules/browserify-rsa": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
-      "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^5.0.0",
-        "randombytes": "^2.0.1"
-      }
-    },
-    "node_modules/browserify-sign": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
-      "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^5.1.1",
-        "browserify-rsa": "^4.0.1",
-        "create-hash": "^1.2.0",
-        "create-hmac": "^1.1.7",
-        "elliptic": "^6.5.3",
-        "inherits": "^2.0.4",
-        "parse-asn1": "^5.1.5",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      }
-    },
-    "node_modules/browserify-zlib": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
-      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
-      "dev": true,
-      "dependencies": {
-        "pako": "~1.0.5"
-      }
-    },
-    "node_modules/browserslist": {
-      "version": "4.16.3",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz",
-      "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==",
-      "dev": true,
-      "dependencies": {
-        "caniuse-lite": "^1.0.30001181",
-        "colorette": "^1.2.1",
-        "electron-to-chromium": "^1.3.649",
-        "escalade": "^3.1.1",
-        "node-releases": "^1.1.70"
-      },
-      "bin": {
-        "browserslist": "cli.js"
-      },
-      "engines": {
-        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/browserslist"
-      }
-    },
-    "node_modules/buffer": {
-      "version": "4.9.2",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
-      "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
-      "dev": true,
-      "dependencies": {
-        "base64-js": "^1.0.2",
-        "ieee754": "^1.1.4",
-        "isarray": "^1.0.0"
-      }
-    },
-    "node_modules/buffer-from": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
-      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
-      "dev": true
-    },
-    "node_modules/buffer-indexof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
-      "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
-      "dev": true
-    },
-    "node_modules/buffer-xor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
-      "dev": true
-    },
-    "node_modules/builtin-status-codes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
-      "dev": true
-    },
-    "node_modules/bytes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
-      "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/cacache": {
-      "version": "12.0.4",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
-      "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
-      "dev": true,
-      "dependencies": {
-        "bluebird": "^3.5.5",
-        "chownr": "^1.1.1",
-        "figgy-pudding": "^3.5.1",
-        "glob": "^7.1.4",
-        "graceful-fs": "^4.1.15",
-        "infer-owner": "^1.0.3",
-        "lru-cache": "^5.1.1",
-        "mississippi": "^3.0.0",
-        "mkdirp": "^0.5.1",
-        "move-concurrently": "^1.0.1",
-        "promise-inflight": "^1.0.1",
-        "rimraf": "^2.6.3",
-        "ssri": "^6.0.1",
-        "unique-filename": "^1.1.1",
-        "y18n": "^4.0.0"
-      }
-    },
-    "node_modules/cacache/node_modules/lru-cache": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
-      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-      "dev": true,
-      "dependencies": {
-        "yallist": "^3.0.2"
-      }
-    },
-    "node_modules/cacache/node_modules/yallist": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-      "dev": true
-    },
-    "node_modules/cache-base": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
-      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
-      "dependencies": {
-        "collection-visit": "^1.0.0",
-        "component-emitter": "^1.2.1",
-        "get-value": "^2.0.6",
-        "has-value": "^1.0.0",
-        "isobject": "^3.0.1",
-        "set-value": "^2.0.0",
-        "to-object-path": "^0.3.0",
-        "union-value": "^1.0.0",
-        "unset-value": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/caching-transform": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
-      "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
-      "dev": true,
-      "dependencies": {
-        "hasha": "^5.0.0",
-        "make-dir": "^3.0.0",
-        "package-hash": "^4.0.0",
-        "write-file-atomic": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/caching-transform/node_modules/make-dir": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-      "dev": true,
-      "dependencies": {
-        "semver": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/caching-transform/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/call-bind": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
-      "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
-      "dev": true,
-      "dependencies": {
-        "function-bind": "^1.1.1",
-        "get-intrinsic": "^1.0.0"
-      }
-    },
-    "node_modules/callsites": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
-      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/camel-case": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
-      "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
-      "dev": true,
-      "dependencies": {
-        "pascal-case": "^3.1.2",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/camel-case/node_modules/tslib": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
-      "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==",
-      "dev": true
-    },
-    "node_modules/camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/caniuse-lite": {
-      "version": "1.0.30001208",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001208.tgz",
-      "integrity": "sha512-OE5UE4+nBOro8Dyvv0lfx+SRtfVIOM9uhKqFmJeUbGriqhhStgp1A0OyBpgy3OUF8AhYCT+PVwPC1gMl2ZcQMA==",
-      "dev": true
-    },
-    "node_modules/chai": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
-      "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
-      "dev": true,
-      "dependencies": {
-        "assertion-error": "^1.1.0",
-        "check-error": "^1.0.2",
-        "deep-eql": "^3.0.1",
-        "get-func-name": "^2.0.0",
-        "pathval": "^1.1.0",
-        "type-detect": "^4.0.5"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/chalk": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^3.2.1",
-        "escape-string-regexp": "^1.0.5",
-        "supports-color": "^5.3.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/chardet": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
-      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
-      "dev": true
-    },
-    "node_modules/check-error": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
-      "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/chokidar": {
-      "version": "3.4.3",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
-      "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
-      "dev": true,
-      "dependencies": {
-        "anymatch": "~3.1.1",
-        "braces": "~3.0.2",
-        "glob-parent": "~5.1.0",
-        "is-binary-path": "~2.1.0",
-        "is-glob": "~4.0.1",
-        "normalize-path": "~3.0.0",
-        "readdirp": "~3.5.0"
-      },
-      "engines": {
-        "node": ">= 8.10.0"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.1.2"
-      }
-    },
-    "node_modules/chownr": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-      "dev": true
-    },
-    "node_modules/chrome-trace-event": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
-      "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^1.9.0"
-      },
-      "engines": {
-        "node": ">=6.0"
-      }
-    },
-    "node_modules/cipher-base": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
-      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "node_modules/class-utils": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
-      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
-      "dependencies": {
-        "arr-union": "^3.1.0",
-        "define-property": "^0.2.5",
-        "isobject": "^3.0.0",
-        "static-extend": "^0.1.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/class-utils/node_modules/define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/clean-css": {
-      "version": "4.2.3",
-      "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
-      "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
-      "dev": true,
-      "dependencies": {
-        "source-map": "~0.6.0"
-      },
-      "engines": {
-        "node": ">= 4.0"
-      }
-    },
-    "node_modules/clean-stack": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
-      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/clean-webpack-plugin": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz",
-      "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==",
-      "dev": true,
-      "dependencies": {
-        "@types/webpack": "^4.4.31",
-        "del": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=8.9.0"
-      }
-    },
-    "node_modules/cli-cursor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
-      "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
-      "dev": true,
-      "dependencies": {
-        "restore-cursor": "^3.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/cli-width": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
-      "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/cliui": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
-      "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
-      "dev": true,
-      "dependencies": {
-        "string-width": "^3.1.0",
-        "strip-ansi": "^5.2.0",
-        "wrap-ansi": "^5.1.0"
-      }
-    },
-    "node_modules/cliui/node_modules/emoji-regex": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
-      "dev": true
-    },
-    "node_modules/cliui/node_modules/is-fullwidth-code-point": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/cliui/node_modules/string-width": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-      "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-      "dev": true,
-      "dependencies": {
-        "emoji-regex": "^7.0.1",
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^5.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/codecov": {
-      "version": "3.8.1",
-      "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.8.1.tgz",
-      "integrity": "sha512-Qm7ltx1pzLPsliZY81jyaQ80dcNR4/JpcX0IHCIWrHBXgseySqbdbYfkdiXd7o/xmzQpGRVCKGYeTrHUpn6Dcw==",
-      "dev": true,
-      "dependencies": {
-        "argv": "0.0.2",
-        "ignore-walk": "3.0.3",
-        "js-yaml": "3.14.0",
-        "teeny-request": "6.0.1",
-        "urlgrey": "0.4.4"
-      },
-      "bin": {
-        "codecov": "bin/codecov"
-      },
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/collection-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
-      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "dev": true,
-      "dependencies": {
-        "map-visit": "^1.0.0",
-        "object-visit": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/color-convert": {
-      "version": "1.9.3",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "1.1.3"
-      }
-    },
-    "node_modules/color-name": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-      "dev": true
-    },
-    "node_modules/colorette": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
-      "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
-      "dev": true
-    },
-    "node_modules/commander": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
-      "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/commondir": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
-      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
-      "dev": true
-    },
-    "node_modules/component-emitter": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
-      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
-      "dev": true
-    },
-    "node_modules/compressible": {
-      "version": "2.0.18",
-      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
-      "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
-      "dev": true,
-      "dependencies": {
-        "mime-db": ">= 1.43.0 < 2"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/compression": {
-      "version": "1.7.4",
-      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
-      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
-      "dev": true,
-      "dependencies": {
-        "accepts": "~1.3.5",
-        "bytes": "3.0.0",
-        "compressible": "~2.0.16",
-        "debug": "2.6.9",
-        "on-headers": "~1.0.2",
-        "safe-buffer": "5.1.2",
-        "vary": "~1.1.2"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/compression/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/compression/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/compression/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/concat-map": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
-      "dev": true
-    },
-    "node_modules/concat-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
-      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "dev": true,
-      "engines": [
-        "node >= 0.8"
-      ],
-      "dependencies": {
-        "buffer-from": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.2.2",
-        "typedarray": "^0.0.6"
-      }
-    },
-    "node_modules/concat-stream/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/concat-stream/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/concat-stream/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/connect-history-api-fallback": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
-      "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8"
-      }
-    },
-    "node_modules/console-browserify": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
-      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
-      "dev": true
-    },
-    "node_modules/constants-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
-      "dev": true
-    },
-    "node_modules/contains-path": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
-      "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/content-disposition": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
-      "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "5.1.2"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/content-disposition/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/content-type": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
-      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/convert-source-map": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
-      "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.1"
-      }
-    },
-    "node_modules/convert-source-map/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/cookie": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
-      "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/cookie-signature": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
-      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
-      "dev": true
-    },
-    "node_modules/copy-concurrently": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
-      "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.1.1",
-        "fs-write-stream-atomic": "^1.0.8",
-        "iferr": "^0.1.5",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.0"
-      }
-    },
-    "node_modules/copy-descriptor": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/core-util-is": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
-      "dev": true
-    },
-    "node_modules/create-ecdh": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
-      "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.1.0",
-        "elliptic": "^6.5.3"
-      }
-    },
-    "node_modules/create-ecdh/node_modules/bn.js": {
-      "version": "4.11.9",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
-      "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
-      "dev": true
-    },
-    "node_modules/create-hash": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
-      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "dev": true,
-      "dependencies": {
-        "cipher-base": "^1.0.1",
-        "inherits": "^2.0.1",
-        "md5.js": "^1.3.4",
-        "ripemd160": "^2.0.1",
-        "sha.js": "^2.4.0"
-      }
-    },
-    "node_modules/create-hmac": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
-      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "dev": true,
-      "dependencies": {
-        "cipher-base": "^1.0.3",
-        "create-hash": "^1.1.0",
-        "inherits": "^2.0.1",
-        "ripemd160": "^2.0.0",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "node_modules/create-require": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
-      "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
-      "dev": true
-    },
-    "node_modules/crelt": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz",
-      "integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==",
-      "dev": true
-    },
-    "node_modules/cross-spawn": {
-      "version": "6.0.5",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
-      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
-      "dev": true,
-      "dependencies": {
-        "nice-try": "^1.0.4",
-        "path-key": "^2.0.1",
-        "semver": "^5.5.0",
-        "shebang-command": "^1.2.0",
-        "which": "^1.2.9"
-      },
-      "engines": {
-        "node": ">=4.8"
-      }
-    },
-    "node_modules/cross-spawn/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/crypto-browserify": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
-      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
-      "dev": true,
-      "dependencies": {
-        "browserify-cipher": "^1.0.0",
-        "browserify-sign": "^4.0.0",
-        "create-ecdh": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.0",
-        "diffie-hellman": "^5.0.0",
-        "inherits": "^2.0.1",
-        "pbkdf2": "^3.0.3",
-        "public-encrypt": "^4.0.0",
-        "randombytes": "^2.0.0",
-        "randomfill": "^1.0.3"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/css-select": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
-      "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
-      "dev": true,
-      "dependencies": {
-        "boolbase": "~1.0.0",
-        "css-what": "2.1",
-        "domutils": "1.5.1",
-        "nth-check": "~1.0.1"
-      }
-    },
-    "node_modules/css-what": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
-      "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/cyclist": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
-      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
-      "dev": true
-    },
-    "node_modules/debug": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
-      "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.1.2"
-      },
-      "engines": {
-        "node": ">=6.0"
-      }
-    },
-    "node_modules/decamelize": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
-      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/decode-uri-component": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/deep-eql": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
-      "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
-      "dev": true,
-      "dependencies": {
-        "type-detect": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
-    "node_modules/deep-equal": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
-      "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
-      "dev": true,
-      "dependencies": {
-        "is-arguments": "^1.0.4",
-        "is-date-object": "^1.0.1",
-        "is-regex": "^1.0.4",
-        "object-is": "^1.0.1",
-        "object-keys": "^1.1.1",
-        "regexp.prototype.flags": "^1.2.0"
-      }
-    },
-    "node_modules/deep-is": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
-      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
-      "dev": true
-    },
-    "node_modules/default-gateway": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
-      "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==",
-      "dev": true,
-      "dependencies": {
-        "execa": "^1.0.0",
-        "ip-regex": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/default-require-extensions": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
-      "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==",
-      "dev": true,
-      "dependencies": {
-        "strip-bom": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/default-require-extensions/node_modules/strip-bom": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
-      "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/define-properties": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
-      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
-      "dev": true,
-      "dependencies": {
-        "object-keys": "^1.0.12"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/define-property/node_modules/is-accessor-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/define-property/node_modules/is-data-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/define-property/node_modules/is-descriptor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.0",
-        "is-data-descriptor": "^1.0.0",
-        "kind-of": "^6.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/del": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
-      "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/glob": "^7.1.1",
-        "globby": "^6.1.0",
-        "is-path-cwd": "^2.0.0",
-        "is-path-in-cwd": "^2.0.0",
-        "p-map": "^2.0.0",
-        "pify": "^4.0.1",
-        "rimraf": "^2.6.3"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/depd": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
-      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/des.js": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
-      "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "node_modules/destroy": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
-      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
-      "dev": true
-    },
-    "node_modules/detect-file": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
-      "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/detect-node": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
-      "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
-      "dev": true
-    },
-    "node_modules/diff": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
-      "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.3.1"
-      }
-    },
-    "node_modules/diffie-hellman": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
-      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.1.0",
-        "miller-rabin": "^4.0.0",
-        "randombytes": "^2.0.0"
-      }
-    },
-    "node_modules/diffie-hellman/node_modules/bn.js": {
-      "version": "4.11.9",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
-      "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
-      "dev": true
-    },
-    "node_modules/dns-equal": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
-      "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
-      "dev": true
-    },
-    "node_modules/dns-packet": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
-      "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
-      "dev": true,
-      "dependencies": {
-        "ip": "^1.1.0",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "node_modules/dns-txt": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
-      "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
-      "dev": true,
-      "dependencies": {
-        "buffer-indexof": "^1.0.0"
-      }
-    },
-    "node_modules/doctrine": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
-      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
-      "dev": true,
-      "dependencies": {
-        "esutils": "^2.0.2"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/dom-converter": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
-      "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
-      "dev": true,
-      "dependencies": {
-        "utila": "~0.4"
-      }
-    },
-    "node_modules/dom-serializer": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
-      "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
-      "dev": true,
-      "dependencies": {
-        "domelementtype": "^2.0.1",
-        "entities": "^2.0.0"
-      }
-    },
-    "node_modules/dom-serializer/node_modules/domelementtype": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz",
-      "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==",
-      "dev": true
-    },
-    "node_modules/domain-browser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
-      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4",
-        "npm": ">=1.2"
-      }
-    },
-    "node_modules/domelementtype": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
-      "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
-      "dev": true
-    },
-    "node_modules/domhandler": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
-      "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
-      "dev": true,
-      "dependencies": {
-        "domelementtype": "1"
-      }
-    },
-    "node_modules/domutils": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
-      "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
-      "dev": true,
-      "dependencies": {
-        "dom-serializer": "0",
-        "domelementtype": "1"
-      }
-    },
-    "node_modules/dot-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
-      "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
-      "dev": true,
-      "dependencies": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/dot-case/node_modules/tslib": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
-      "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==",
-      "dev": true
-    },
-    "node_modules/duplexify": {
-      "version": "3.7.1",
-      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
-      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
-      "dev": true,
-      "dependencies": {
-        "end-of-stream": "^1.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "node_modules/duplexify/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/duplexify/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/duplexify/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/ee-first": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
-      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
-      "dev": true
-    },
-    "node_modules/electron-to-chromium": {
-      "version": "1.3.712",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.712.tgz",
-      "integrity": "sha512-3kRVibBeCM4vsgoHHGKHmPocLqtFAGTrebXxxtgKs87hNUzXrX2NuS3jnBys7IozCnw7viQlozxKkmty2KNfrw==",
-      "dev": true
-    },
-    "node_modules/elliptic": {
-      "version": "6.5.4",
-      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
-      "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.11.9",
-        "brorand": "^1.1.0",
-        "hash.js": "^1.0.0",
-        "hmac-drbg": "^1.0.1",
-        "inherits": "^2.0.4",
-        "minimalistic-assert": "^1.0.1",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "node_modules/elliptic/node_modules/bn.js": {
-      "version": "4.11.9",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
-      "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
-      "dev": true
-    },
-    "node_modules/emoji-regex": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-      "dev": true
-    },
-    "node_modules/emojis-list": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
-      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/encodeurl": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
-      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/end-of-stream": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
-      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
-      "dev": true,
-      "dependencies": {
-        "once": "^1.4.0"
-      }
-    },
-    "node_modules/enhanced-resolve": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz",
-      "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "memory-fs": "^0.5.0",
-        "tapable": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/entities": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
-      "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
-      "dev": true
-    },
-    "node_modules/errno": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
-      "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
-      "dev": true,
-      "dependencies": {
-        "prr": "~1.0.1"
-      },
-      "bin": {
-        "errno": "cli.js"
-      }
-    },
-    "node_modules/error-ex": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
-      "dev": true,
-      "dependencies": {
-        "is-arrayish": "^0.2.1"
-      }
-    },
-    "node_modules/es-abstract": {
-      "version": "1.18.0-next.1",
-      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
-      "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
-      "dev": true,
-      "dependencies": {
-        "es-to-primitive": "^1.2.1",
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.1",
-        "is-callable": "^1.2.2",
-        "is-negative-zero": "^2.0.0",
-        "is-regex": "^1.1.1",
-        "object-inspect": "^1.8.0",
-        "object-keys": "^1.1.1",
-        "object.assign": "^4.1.1",
-        "string.prototype.trimend": "^1.0.1",
-        "string.prototype.trimstart": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/es-to-primitive": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
-      "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
-      "dev": true,
-      "dependencies": {
-        "is-callable": "^1.1.4",
-        "is-date-object": "^1.0.1",
-        "is-symbol": "^1.0.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/es6-error": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
-      "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
-      "dev": true
-    },
-    "node_modules/escalade": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
-      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/escape-html": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
-      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
-      "dev": true
-    },
-    "node_modules/escape-string-regexp": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/eslint": {
-      "version": "6.8.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
-      "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.0.0",
-        "ajv": "^6.10.0",
-        "chalk": "^2.1.0",
-        "cross-spawn": "^6.0.5",
-        "debug": "^4.0.1",
-        "doctrine": "^3.0.0",
-        "eslint-scope": "^5.0.0",
-        "eslint-utils": "^1.4.3",
-        "eslint-visitor-keys": "^1.1.0",
-        "espree": "^6.1.2",
-        "esquery": "^1.0.1",
-        "esutils": "^2.0.2",
-        "file-entry-cache": "^5.0.1",
-        "functional-red-black-tree": "^1.0.1",
-        "glob-parent": "^5.0.0",
-        "globals": "^12.1.0",
-        "ignore": "^4.0.6",
-        "import-fresh": "^3.0.0",
-        "imurmurhash": "^0.1.4",
-        "inquirer": "^7.0.0",
-        "is-glob": "^4.0.0",
-        "js-yaml": "^3.13.1",
-        "json-stable-stringify-without-jsonify": "^1.0.1",
-        "levn": "^0.3.0",
-        "lodash": "^4.17.14",
-        "minimatch": "^3.0.4",
-        "mkdirp": "^0.5.1",
-        "natural-compare": "^1.4.0",
-        "optionator": "^0.8.3",
-        "progress": "^2.0.0",
-        "regexpp": "^2.0.1",
-        "semver": "^6.1.2",
-        "strip-ansi": "^5.2.0",
-        "strip-json-comments": "^3.0.1",
-        "table": "^5.2.3",
-        "text-table": "^0.2.0",
-        "v8-compile-cache": "^2.0.3"
-      },
-      "bin": {
-        "eslint": "bin/eslint.js"
-      },
-      "engines": {
-        "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
-      }
-    },
-    "node_modules/eslint-config-prettier": {
-      "version": "6.15.0",
-      "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz",
-      "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==",
-      "dev": true,
-      "dependencies": {
-        "get-stdin": "^6.0.0"
-      },
-      "bin": {
-        "eslint-config-prettier-check": "bin/cli.js"
-      }
-    },
-    "node_modules/eslint-import-resolver-node": {
-      "version": "0.3.4",
-      "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz",
-      "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^2.6.9",
-        "resolve": "^1.13.1"
-      }
-    },
-    "node_modules/eslint-import-resolver-node/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/eslint-import-resolver-node/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/eslint-module-utils": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz",
-      "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^2.6.9",
-        "pkg-dir": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/eslint-module-utils/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/eslint-module-utils/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/eslint-plugin-flowtype": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.2.0.tgz",
-      "integrity": "sha512-z7ULdTxuhlRJcEe1MVljePXricuPOrsWfScRXFhNzVD5dmTHWjIF57AxD0e7AbEoLSbjSsaA5S+hCg43WvpXJQ==",
-      "dev": true,
-      "dependencies": {
-        "lodash": "^4.17.15",
-        "string-natural-compare": "^3.0.1"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      }
-    },
-    "node_modules/eslint-plugin-import": {
-      "version": "2.22.1",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz",
-      "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==",
-      "dev": true,
-      "dependencies": {
-        "array-includes": "^3.1.1",
-        "array.prototype.flat": "^1.2.3",
-        "contains-path": "^0.1.0",
-        "debug": "^2.6.9",
-        "doctrine": "1.5.0",
-        "eslint-import-resolver-node": "^0.3.4",
-        "eslint-module-utils": "^2.6.0",
-        "has": "^1.0.3",
-        "minimatch": "^3.0.4",
-        "object.values": "^1.1.1",
-        "read-pkg-up": "^2.0.0",
-        "resolve": "^1.17.0",
-        "tsconfig-paths": "^3.9.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/eslint-plugin-import/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/eslint-plugin-import/node_modules/doctrine": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
-      "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
-      "dev": true,
-      "dependencies": {
-        "esutils": "^2.0.2",
-        "isarray": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/eslint-plugin-import/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/eslint-plugin-prettier": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.2.0.tgz",
-      "integrity": "sha512-kOUSJnFjAUFKwVxuzy6sA5yyMx6+o9ino4gCdShzBNx4eyFRudWRYKCFolKjoM40PEiuU6Cn7wBLfq3WsGg7qg==",
-      "dev": true,
-      "dependencies": {
-        "prettier-linter-helpers": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/eslint-scope": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
-      "dev": true,
-      "dependencies": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/eslint-utils": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
-      "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
-      "dev": true,
-      "dependencies": {
-        "eslint-visitor-keys": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/eslint-visitor-keys": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
-      "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/eslint/node_modules/eslint-utils": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
-      "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
-      "dev": true,
-      "dependencies": {
-        "eslint-visitor-keys": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/eslint/node_modules/regexpp": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
-      "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.5.0"
-      }
-    },
-    "node_modules/eslint/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/espree": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
-      "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
-      "dev": true,
-      "dependencies": {
-        "acorn": "^7.1.1",
-        "acorn-jsx": "^5.2.0",
-        "eslint-visitor-keys": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/esprima": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
-      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
-      "dev": true,
-      "bin": {
-        "esparse": "bin/esparse.js",
-        "esvalidate": "bin/esvalidate.js"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/esquery": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
-      "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
-      "dev": true,
-      "dependencies": {
-        "estraverse": "^5.1.0"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/esquery/node_modules/estraverse": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
-      "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/esrecurse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
-      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
-      "dev": true,
-      "dependencies": {
-        "estraverse": "^5.2.0"
-      },
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/esrecurse/node_modules/estraverse": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
-      "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/esutils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
-      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/etag": {
-      "version": "1.8.1",
-      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
-      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/eventemitter3": {
-      "version": "4.0.7",
-      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
-      "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
-      "dev": true
-    },
-    "node_modules/events": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz",
-      "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.x"
-      }
-    },
-    "node_modules/eventsource": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz",
-      "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==",
-      "dev": true,
-      "dependencies": {
-        "original": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.12.0"
-      }
-    },
-    "node_modules/evp_bytestokey": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
-      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "dev": true,
-      "dependencies": {
-        "md5.js": "^1.3.4",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "node_modules/execa": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
-      "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
-      "dev": true,
-      "dependencies": {
-        "cross-spawn": "^6.0.0",
-        "get-stream": "^4.0.0",
-        "is-stream": "^1.1.0",
-        "npm-run-path": "^2.0.0",
-        "p-finally": "^1.0.0",
-        "signal-exit": "^3.0.0",
-        "strip-eof": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/expand-brackets": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
-      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "dev": true,
-      "dependencies": {
-        "debug": "^2.3.3",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "posix-character-classes": "^0.1.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/expand-tilde": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
-      "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
-      "dev": true,
-      "dependencies": {
-        "homedir-polyfill": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/express": {
-      "version": "4.17.1",
-      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
-      "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
-      "dev": true,
-      "dependencies": {
-        "accepts": "~1.3.7",
-        "array-flatten": "1.1.1",
-        "body-parser": "1.19.0",
-        "content-disposition": "0.5.3",
-        "content-type": "~1.0.4",
-        "cookie": "0.4.0",
-        "cookie-signature": "1.0.6",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "finalhandler": "~1.1.2",
-        "fresh": "0.5.2",
-        "merge-descriptors": "1.0.1",
-        "methods": "~1.1.2",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.7",
-        "proxy-addr": "~2.0.5",
-        "qs": "6.7.0",
-        "range-parser": "~1.2.1",
-        "safe-buffer": "5.1.2",
-        "send": "0.17.1",
-        "serve-static": "1.14.1",
-        "setprototypeof": "1.1.1",
-        "statuses": "~1.5.0",
-        "type-is": "~1.6.18",
-        "utils-merge": "1.0.1",
-        "vary": "~1.1.2"
-      },
-      "engines": {
-        "node": ">= 0.10.0"
-      }
-    },
-    "node_modules/express/node_modules/array-flatten": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
-      "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
-      "dev": true
-    },
-    "node_modules/express/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/express/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/express/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extend-shallow/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/external-editor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
-      "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
-      "dev": true,
-      "dependencies": {
-        "chardet": "^0.7.0",
-        "iconv-lite": "^0.4.24",
-        "tmp": "^0.0.33"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/extglob": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
-      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
-      "dependencies": {
-        "array-unique": "^0.3.2",
-        "define-property": "^1.0.0",
-        "expand-brackets": "^2.1.4",
-        "extend-shallow": "^2.0.1",
-        "fragment-cache": "^0.2.1",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob/node_modules/define-property": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob/node_modules/is-accessor-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob/node_modules/is-data-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob/node_modules/is-descriptor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.0",
-        "is-data-descriptor": "^1.0.0",
-        "kind-of": "^6.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/fast-deep-equal": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
-      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
-      "dev": true
-    },
-    "node_modules/fast-diff": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
-      "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
-      "dev": true
-    },
-    "node_modules/fast-json-stable-stringify": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
-      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
-      "dev": true
-    },
-    "node_modules/fast-levenshtein": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
-      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
-      "dev": true
-    },
-    "node_modules/faye-websocket": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
-      "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
-      "dev": true,
-      "dependencies": {
-        "websocket-driver": ">=0.5.1"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/figgy-pudding": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
-      "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
-      "dev": true
-    },
-    "node_modules/figures": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
-      "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
-      "dev": true,
-      "dependencies": {
-        "escape-string-regexp": "^1.0.5"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/file-entry-cache": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
-      "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
-      "dev": true,
-      "dependencies": {
-        "flat-cache": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/fill-range": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-      "dev": true,
-      "dependencies": {
-        "to-regex-range": "^5.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/finalhandler": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
-      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
-      "dev": true,
-      "dependencies": {
-        "debug": "2.6.9",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "statuses": "~1.5.0",
-        "unpipe": "~1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/finalhandler/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/finalhandler/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/find-cache-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
-      "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
-      "dev": true,
-      "dependencies": {
-        "commondir": "^1.0.1",
-        "make-dir": "^2.0.0",
-        "pkg-dir": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/find-cache-dir/node_modules/find-up": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/find-cache-dir/node_modules/locate-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^3.0.0",
-        "path-exists": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/find-cache-dir/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/find-cache-dir/node_modules/p-locate": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/find-cache-dir/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/find-cache-dir/node_modules/pkg-dir": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-      "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/find-up": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
-      "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/findup-sync": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
-      "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
-      "dev": true,
-      "dependencies": {
-        "detect-file": "^1.0.0",
-        "is-glob": "^4.0.0",
-        "micromatch": "^3.0.4",
-        "resolve-dir": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/findup-sync/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/findup-sync/node_modules/braces/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/findup-sync/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/findup-sync/node_modules/fill-range/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/findup-sync/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/findup-sync/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/findup-sync/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/findup-sync/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/flat": {
-      "version": "5.0.2",
-      "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
-      "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
-      "dev": true,
-      "bin": {
-        "flat": "cli.js"
-      }
-    },
-    "node_modules/flat-cache": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
-      "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
-      "dev": true,
-      "dependencies": {
-        "flatted": "^2.0.0",
-        "rimraf": "2.6.3",
-        "write": "1.0.3"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/flat-cache/node_modules/rimraf": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
-      "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
-    "node_modules/flatted": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
-      "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
-      "dev": true
-    },
-    "node_modules/flush-write-stream": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
-      "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.3.6"
-      }
-    },
-    "node_modules/flush-write-stream/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/flush-write-stream/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/flush-write-stream/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/follow-redirects": {
-      "version": "1.13.0",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz",
-      "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/for-in": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/foreground-child": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
-      "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
-      "dev": true,
-      "dependencies": {
-        "cross-spawn": "^7.0.0",
-        "signal-exit": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/foreground-child/node_modules/cross-spawn": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
-      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
-      "dev": true,
-      "dependencies": {
-        "path-key": "^3.1.0",
-        "shebang-command": "^2.0.0",
-        "which": "^2.0.1"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/foreground-child/node_modules/path-key": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
-      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/foreground-child/node_modules/shebang-command": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
-      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
-      "dev": true,
-      "dependencies": {
-        "shebang-regex": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/foreground-child/node_modules/shebang-regex": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
-      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/foreground-child/node_modules/which": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
-      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "node-which": "bin/node-which"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/forwarded": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
-      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/fragment-cache": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
-      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "dev": true,
-      "dependencies": {
-        "map-cache": "^0.2.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/fresh": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
-      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/from2": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
-      "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0"
-      }
-    },
-    "node_modules/from2/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/from2/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/from2/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/fromentries": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
-      "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/fs-write-stream-atomic": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
-      "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "iferr": "^0.1.5",
-        "imurmurhash": "^0.1.4",
-        "readable-stream": "1 || 2"
-      }
-    },
-    "node_modules/fs-write-stream-atomic/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/fs-write-stream-atomic/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/fs-write-stream-atomic/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
-      "dev": true
-    },
-    "node_modules/fsevents": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
-      "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
-      "dev": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
-      }
-    },
-    "node_modules/function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
-      "dev": true
-    },
-    "node_modules/functional-red-black-tree": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
-      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
-      "dev": true
-    },
-    "node_modules/gensync": {
-      "version": "1.0.0-beta.2",
-      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
-      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/get-caller-file": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
-      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
-      "dev": true,
-      "engines": {
-        "node": "6.* || 8.* || >= 10.*"
-      }
-    },
-    "node_modules/get-func-name": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
-      "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/get-intrinsic": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz",
-      "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==",
-      "dev": true,
-      "dependencies": {
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.1"
-      }
-    },
-    "node_modules/get-package-type": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
-      "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/get-stdin": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
-      "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/get-stream": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
-      "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
-      "dev": true,
-      "dependencies": {
-        "pump": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/get-value": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/glob": {
-      "version": "7.1.6",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
-      "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
-      "dev": true,
-      "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.0.4",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/glob-parent": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
-      "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
-      "dev": true,
-      "dependencies": {
-        "is-glob": "^4.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/global-modules": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
-      "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
-      "dev": true,
-      "dependencies": {
-        "global-prefix": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/global-modules/node_modules/global-prefix": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
-      "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
-      "dev": true,
-      "dependencies": {
-        "ini": "^1.3.5",
-        "kind-of": "^6.0.2",
-        "which": "^1.3.1"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/global-prefix": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
-      "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
-      "dev": true,
-      "dependencies": {
-        "expand-tilde": "^2.0.2",
-        "homedir-polyfill": "^1.0.1",
-        "ini": "^1.3.4",
-        "is-windows": "^1.0.1",
-        "which": "^1.2.14"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/globals": {
-      "version": "12.4.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
-      "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
-      "dev": true,
-      "dependencies": {
-        "type-fest": "^0.8.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/globby": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
-      "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
-      "dev": true,
-      "dependencies": {
-        "array-union": "^1.0.1",
-        "glob": "^7.0.3",
-        "object-assign": "^4.0.1",
-        "pify": "^2.0.0",
-        "pinkie-promise": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/globby/node_modules/pify": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/graceful-fs": {
-      "version": "4.2.4",
-      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
-      "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
-      "dev": true
-    },
-    "node_modules/growl": {
-      "version": "1.10.5",
-      "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
-      "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.x"
-      }
-    },
-    "node_modules/handle-thing": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
-      "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
-      "dev": true
-    },
-    "node_modules/has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-      "dev": true,
-      "dependencies": {
-        "function-bind": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.4.0"
-      }
-    },
-    "node_modules/has-flag": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/has-symbols": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
-      "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/has-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
-      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "dev": true,
-      "dependencies": {
-        "get-value": "^2.0.6",
-        "has-values": "^1.0.0",
-        "isobject": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
-      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "kind-of": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values/node_modules/kind-of": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
-      "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/hash-base": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
-      "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/hash.js": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
-      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "minimalistic-assert": "^1.0.1"
-      }
-    },
-    "node_modules/hasha": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
-      "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==",
-      "dev": true,
-      "dependencies": {
-        "is-stream": "^2.0.0",
-        "type-fest": "^0.8.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/hasha/node_modules/is-stream": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
-      "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/he": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
-      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
-      "dev": true,
-      "bin": {
-        "he": "bin/he"
-      }
-    },
-    "node_modules/hmac-drbg": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
-      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
-      "dev": true,
-      "dependencies": {
-        "hash.js": "^1.0.3",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "node_modules/homedir-polyfill": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
-      "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
-      "dev": true,
-      "dependencies": {
-        "parse-passwd": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/hosted-git-info": {
-      "version": "2.8.9",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
-      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
-      "dev": true
-    },
-    "node_modules/hpack.js": {
-      "version": "2.1.6",
-      "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
-      "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "obuf": "^1.0.0",
-        "readable-stream": "^2.0.1",
-        "wbuf": "^1.1.0"
-      }
-    },
-    "node_modules/hpack.js/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/hpack.js/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/hpack.js/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/html-entities": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz",
-      "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==",
-      "dev": true
-    },
-    "node_modules/html-escaper": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
-      "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
-      "dev": true
-    },
-    "node_modules/html-minifier-terser": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
-      "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==",
-      "dev": true,
-      "dependencies": {
-        "camel-case": "^4.1.1",
-        "clean-css": "^4.2.3",
-        "commander": "^4.1.1",
-        "he": "^1.2.0",
-        "param-case": "^3.0.3",
-        "relateurl": "^0.2.7",
-        "terser": "^4.6.3"
-      },
-      "bin": {
-        "html-minifier-terser": "cli.js"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/html-webpack-plugin": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz",
-      "integrity": "sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==",
-      "dev": true,
-      "dependencies": {
-        "@types/html-minifier-terser": "^5.0.0",
-        "@types/tapable": "^1.0.5",
-        "@types/webpack": "^4.41.8",
-        "html-minifier-terser": "^5.0.1",
-        "loader-utils": "^1.2.3",
-        "lodash": "^4.17.15",
-        "pretty-error": "^2.1.1",
-        "tapable": "^1.1.3",
-        "util.promisify": "1.0.0"
-      },
-      "engines": {
-        "node": ">=6.9"
-      }
-    },
-    "node_modules/htmlparser2": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
-      "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
-      "dev": true,
-      "dependencies": {
-        "domelementtype": "^1.3.1",
-        "domhandler": "^2.3.0",
-        "domutils": "^1.5.1",
-        "entities": "^1.1.1",
-        "inherits": "^2.0.1",
-        "readable-stream": "^3.1.1"
-      }
-    },
-    "node_modules/htmlparser2/node_modules/entities": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
-      "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
-      "dev": true
-    },
-    "node_modules/http-deceiver": {
-      "version": "1.2.7",
-      "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
-      "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
-      "dev": true
-    },
-    "node_modules/http-errors": {
-      "version": "1.7.2",
-      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
-      "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
-      "dev": true,
-      "dependencies": {
-        "depd": "~1.1.2",
-        "inherits": "2.0.3",
-        "setprototypeof": "1.1.1",
-        "statuses": ">= 1.5.0 < 2",
-        "toidentifier": "1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/http-errors/node_modules/inherits": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-      "dev": true
-    },
-    "node_modules/http-proxy": {
-      "version": "1.18.1",
-      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
-      "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
-      "dev": true,
-      "dependencies": {
-        "eventemitter3": "^4.0.0",
-        "follow-redirects": "^1.0.0",
-        "requires-port": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/http-proxy-agent": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
-      "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
-      "dev": true,
-      "dependencies": {
-        "@tootallnate/once": "1",
-        "agent-base": "6",
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/http-proxy-middleware": {
-      "version": "0.19.1",
-      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
-      "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
-      "dev": true,
-      "dependencies": {
-        "http-proxy": "^1.17.0",
-        "is-glob": "^4.0.0",
-        "lodash": "^4.17.11",
-        "micromatch": "^3.1.10"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/braces/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/fill-range/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/https-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
-      "dev": true
-    },
-    "node_modules/https-proxy-agent": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
-      "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
-      "dev": true,
-      "dependencies": {
-        "agent-base": "5",
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6.0.0"
-      }
-    },
-    "node_modules/https-proxy-agent/node_modules/agent-base": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
-      "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6.0.0"
-      }
-    },
-    "node_modules/iconv-lite": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
-      "dev": true,
-      "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/ieee754": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
-      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
-      "dev": true
-    },
-    "node_modules/iferr": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
-      "dev": true
-    },
-    "node_modules/ignore": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
-      "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/ignore-walk": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
-      "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
-      "dev": true,
-      "dependencies": {
-        "minimatch": "^3.0.4"
-      }
-    },
-    "node_modules/import-fresh": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
-      "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
-      "dev": true,
-      "dependencies": {
-        "parent-module": "^1.0.0",
-        "resolve-from": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/import-local": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
-      "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
-      "dev": true,
-      "dependencies": {
-        "pkg-dir": "^3.0.0",
-        "resolve-cwd": "^2.0.0"
-      },
-      "bin": {
-        "import-local-fixture": "fixtures/cli.js"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/import-local/node_modules/find-up": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/import-local/node_modules/locate-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^3.0.0",
-        "path-exists": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/import-local/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/import-local/node_modules/p-locate": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/import-local/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/import-local/node_modules/pkg-dir": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-      "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/imurmurhash": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.19"
-      }
-    },
-    "node_modules/indent-string": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
-      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/infer-owner": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
-      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
-      "dev": true
-    },
-    "node_modules/inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
-      "dev": true,
-      "dependencies": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
-    "node_modules/inherits": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
-      "dev": true
-    },
-    "node_modules/ini": {
-      "version": "1.3.8",
-      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
-      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
-      "dev": true
-    },
-    "node_modules/inquirer": {
-      "version": "7.3.3",
-      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
-      "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^4.1.0",
-        "cli-cursor": "^3.1.0",
-        "cli-width": "^3.0.0",
-        "external-editor": "^3.0.3",
-        "figures": "^3.0.0",
-        "lodash": "^4.17.19",
-        "mute-stream": "0.0.8",
-        "run-async": "^2.4.0",
-        "rxjs": "^6.6.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0",
-        "through": "^2.3.6"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/inquirer/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/inquirer/node_modules/chalk": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
-      "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/inquirer/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/inquirer/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/inquirer/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/inquirer/node_modules/strip-ansi": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
-      "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/inquirer/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/internal-ip": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
-      "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==",
-      "dev": true,
-      "dependencies": {
-        "default-gateway": "^4.2.0",
-        "ipaddr.js": "^1.9.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/interpret": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
-      "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/ip": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
-      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
-      "dev": true
-    },
-    "node_modules/ip-regex": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
-      "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/ipaddr.js": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
-      "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/is-absolute-url": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz",
-      "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-accessor-descriptor/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-arguments": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
-      "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/is-arrayish": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
-      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
-      "dev": true
-    },
-    "node_modules/is-binary-path": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
-      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-      "dev": true,
-      "dependencies": {
-        "binary-extensions": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
-    },
-    "node_modules/is-callable": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
-      "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/is-core-module": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
-      "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
-      "dev": true,
-      "dependencies": {
-        "has": "^1.0.3"
-      }
-    },
-    "node_modules/is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-data-descriptor/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-date-object": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
-      "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/is-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^0.1.6",
-        "is-data-descriptor": "^0.1.4",
-        "kind-of": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-descriptor/node_modules/kind-of": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-      "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-extglob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-fullwidth-code-point": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/is-glob": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
-      "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
-      "dev": true,
-      "dependencies": {
-        "is-extglob": "^2.1.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-negative-zero": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
-      "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/is-number": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.12.0"
-      }
-    },
-    "node_modules/is-path-cwd": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
-      "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/is-path-in-cwd": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
-      "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
-      "dev": true,
-      "dependencies": {
-        "is-path-inside": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/is-path-inside": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
-      "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
-      "dev": true,
-      "dependencies": {
-        "path-is-inside": "^1.0.2"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/is-plain-obj": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
-      "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/is-plain-object": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
-      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-      "dev": true,
-      "dependencies": {
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-regex": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
-      "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
-      "dev": true,
-      "dependencies": {
-        "has-symbols": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-string": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
-      "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/is-symbol": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
-      "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
-      "dev": true,
-      "dependencies": {
-        "has-symbols": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/is-typedarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
-      "dev": true
-    },
-    "node_modules/is-windows": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-wsl": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
-      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/isexe": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
-      "dev": true
-    },
-    "node_modules/isobject": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/isomorphic-fetch": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz",
-      "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==",
-      "dev": true,
-      "dependencies": {
-        "node-fetch": "^2.6.1",
-        "whatwg-fetch": "^3.4.1"
-      }
-    },
-    "node_modules/istanbul-lib-coverage": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
-      "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-hook": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz",
-      "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==",
-      "dev": true,
-      "dependencies": {
-        "append-transform": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-instrument": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
-      "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.7.5",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-coverage": "^3.0.0",
-        "semver": "^6.3.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-instrument/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/istanbul-lib-processinfo": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz",
-      "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==",
-      "dev": true,
-      "dependencies": {
-        "archy": "^1.0.0",
-        "cross-spawn": "^7.0.0",
-        "istanbul-lib-coverage": "^3.0.0-alpha.1",
-        "make-dir": "^3.0.0",
-        "p-map": "^3.0.0",
-        "rimraf": "^3.0.0",
-        "uuid": "^3.3.3"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-processinfo/node_modules/cross-spawn": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
-      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
-      "dev": true,
-      "dependencies": {
-        "path-key": "^3.1.0",
-        "shebang-command": "^2.0.0",
-        "which": "^2.0.1"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/istanbul-lib-processinfo/node_modules/make-dir": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-      "dev": true,
-      "dependencies": {
-        "semver": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/istanbul-lib-processinfo/node_modules/p-map": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
-      "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
-      "dev": true,
-      "dependencies": {
-        "aggregate-error": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-processinfo/node_modules/path-key": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
-      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-processinfo/node_modules/rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/istanbul-lib-processinfo/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/istanbul-lib-processinfo/node_modules/shebang-command": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
-      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
-      "dev": true,
-      "dependencies": {
-        "shebang-regex": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-processinfo/node_modules/shebang-regex": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
-      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-processinfo/node_modules/which": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
-      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "node-which": "bin/node-which"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/istanbul-lib-report": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
-      "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
-      "dev": true,
-      "dependencies": {
-        "istanbul-lib-coverage": "^3.0.0",
-        "make-dir": "^3.0.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-report/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-report/node_modules/make-dir": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-      "dev": true,
-      "dependencies": {
-        "semver": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/istanbul-lib-report/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/istanbul-lib-report/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
-      "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.1",
-        "istanbul-lib-coverage": "^3.0.0",
-        "source-map": "^0.6.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-reports": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
-      "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
-      "dev": true,
-      "dependencies": {
-        "html-escaper": "^2.0.0",
-        "istanbul-lib-report": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/js-tokens": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-      "dev": true
-    },
-    "node_modules/js-yaml": {
-      "version": "3.14.0",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
-      "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
-      "dev": true,
-      "dependencies": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      },
-      "bin": {
-        "js-yaml": "bin/js-yaml.js"
-      }
-    },
-    "node_modules/jsesc": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
-      "dev": true,
-      "bin": {
-        "jsesc": "bin/jsesc"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/json-parse-better-errors": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
-      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
-      "dev": true
-    },
-    "node_modules/json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "node_modules/json-stable-stringify-without-jsonify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
-      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
-      "dev": true
-    },
-    "node_modules/json-stringify-safe": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
-      "dev": true
-    },
-    "node_modules/json3": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
-      "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==",
-      "dev": true
-    },
-    "node_modules/json5": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
-      }
-    },
-    "node_modules/killable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
-      "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==",
-      "dev": true
-    },
-    "node_modules/kind-of": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
-      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/levn": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
-      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
-      "dev": true,
-      "dependencies": {
-        "prelude-ls": "~1.1.2",
-        "type-check": "~0.3.2"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/lezer": {
-      "version": "0.13.4",
-      "resolved": "https://registry.npmjs.org/lezer/-/lezer-0.13.4.tgz",
-      "integrity": "sha512-cLQxUVY28VBBqKBt/R8CYeH57KQnIvscAnoahzvhlZTK8qxMkIyGExR6ecEpYYDX06ZhROZrEm1IiPvjLAsTig==",
-      "dev": true,
-      "dependencies": {
-        "lezer-tree": "^0.13.2"
-      }
-    },
-    "node_modules/lezer-generator": {
-      "version": "0.13.4",
-      "resolved": "https://registry.npmjs.org/lezer-generator/-/lezer-generator-0.13.4.tgz",
-      "integrity": "sha512-pTWxEgw6U41jM/IwMbhPBPonrcQV5YYL3XoY4QPR7ibOjgo2RaF4wVrdabN1ILtBbGvtHZekTGyrbsqfKnMHMA==",
-      "dev": true,
-      "dependencies": {
-        "lezer": "^0.13.2"
-      },
-      "bin": {
-        "lezer-generator": "dist/lezer-generator.cjs"
-      }
-    },
-    "node_modules/lezer-tree": {
-      "version": "0.13.2",
-      "resolved": "https://registry.npmjs.org/lezer-tree/-/lezer-tree-0.13.2.tgz",
-      "integrity": "sha512-15ZxW8TxVNAOkHIo43Iouv4zbSkQQ5chQHBpwXcD2bBFz46RB4jYLEEww5l1V0xyIx9U2clSyyrLes+hAUFrGQ==",
-      "dev": true
-    },
-    "node_modules/load-json-file": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
-      "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "parse-json": "^2.2.0",
-        "pify": "^2.0.0",
-        "strip-bom": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/load-json-file/node_modules/pify": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/loader-runner": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
-      "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.3.0 <5.0.0 || >=5.10"
-      }
-    },
-    "node_modules/loader-utils": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-      "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-      "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/locate-path": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
-      "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^2.0.0",
-        "path-exists": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/lodash": {
-      "version": "4.17.21",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
-      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
-      "dev": true
-    },
-    "node_modules/lodash.flattendeep": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
-      "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
-      "dev": true
-    },
-    "node_modules/lodash.set": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
-      "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=",
-      "dev": true
-    },
-    "node_modules/log-symbols": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
-      "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/log-symbols/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/log-symbols/node_modules/chalk": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
-      "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/log-symbols/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/log-symbols/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/log-symbols/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/log-symbols/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/loglevel": {
-      "version": "1.7.1",
-      "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz",
-      "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6.0"
-      }
-    },
-    "node_modules/lower-case": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
-      "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/lower-case/node_modules/tslib": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
-      "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==",
-      "dev": true
-    },
-    "node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/make-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-      "dev": true,
-      "dependencies": {
-        "pify": "^4.0.1",
-        "semver": "^5.6.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/make-dir/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/make-error": {
-      "version": "1.3.6",
-      "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
-      "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
-      "dev": true
-    },
-    "node_modules/map-cache": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/map-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
-      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "dev": true,
-      "dependencies": {
-        "object-visit": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/md5.js": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
-      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
-      "dev": true,
-      "dependencies": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "node_modules/media-typer": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
-      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/memory-fs": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
-      "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
-      "dev": true,
-      "dependencies": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=4.3.0 <5.0.0 || >=5.10"
-      }
-    },
-    "node_modules/memory-fs/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/memory-fs/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/memory-fs/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/merge-descriptors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
-      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
-      "dev": true
-    },
-    "node_modules/methods": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
-      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/micromatch": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
-      "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
-      "dev": true,
-      "dependencies": {
-        "braces": "^3.0.1",
-        "picomatch": "^2.0.5"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/miller-rabin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
-      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.0.0",
-        "brorand": "^1.0.1"
-      },
-      "bin": {
-        "miller-rabin": "bin/miller-rabin"
-      }
-    },
-    "node_modules/miller-rabin/node_modules/bn.js": {
-      "version": "4.11.9",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
-      "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
-      "dev": true
-    },
-    "node_modules/mime": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
-      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
-      "dev": true,
-      "bin": {
-        "mime": "cli.js"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/mime-db": {
-      "version": "1.44.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
-      "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/mime-types": {
-      "version": "2.1.27",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
-      "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
-      "dev": true,
-      "dependencies": {
-        "mime-db": "1.44.0"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/mimic-fn": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
-      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/minimalistic-assert": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
-      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
-      "dev": true
-    },
-    "node_modules/minimalistic-crypto-utils": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
-      "dev": true
-    },
-    "node_modules/minimatch": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
-      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
-      "dev": true,
-      "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/minimist": {
-      "version": "1.2.5",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-      "dev": true
-    },
-    "node_modules/mississippi": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
-      "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
-      "dev": true,
-      "dependencies": {
-        "concat-stream": "^1.5.0",
-        "duplexify": "^3.4.2",
-        "end-of-stream": "^1.1.0",
-        "flush-write-stream": "^1.0.0",
-        "from2": "^2.1.0",
-        "parallel-transform": "^1.1.0",
-        "pump": "^3.0.0",
-        "pumpify": "^1.3.3",
-        "stream-each": "^1.1.0",
-        "through2": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/mixin-deep": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
-      "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "dev": true,
-      "dependencies": {
-        "for-in": "^1.0.2",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/mixin-deep/node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/mkdirp": {
-      "version": "0.5.5",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
-      "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.5"
-      },
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      }
-    },
-    "node_modules/mocha": {
-      "version": "8.2.1",
-      "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz",
-      "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==",
-      "dev": true,
-      "dependencies": {
-        "@ungap/promise-all-settled": "1.1.2",
-        "ansi-colors": "4.1.1",
-        "browser-stdout": "1.3.1",
-        "chokidar": "3.4.3",
-        "debug": "4.2.0",
-        "diff": "4.0.2",
-        "escape-string-regexp": "4.0.0",
-        "find-up": "5.0.0",
-        "glob": "7.1.6",
-        "growl": "1.10.5",
-        "he": "1.2.0",
-        "js-yaml": "3.14.0",
-        "log-symbols": "4.0.0",
-        "minimatch": "3.0.4",
-        "ms": "2.1.2",
-        "nanoid": "3.1.12",
-        "serialize-javascript": "5.0.1",
-        "strip-json-comments": "3.1.1",
-        "supports-color": "7.2.0",
-        "which": "2.0.2",
-        "wide-align": "1.1.3",
-        "workerpool": "6.0.2",
-        "yargs": "13.3.2",
-        "yargs-parser": "13.1.2",
-        "yargs-unparser": "2.0.0"
-      },
-      "bin": {
-        "_mocha": "bin/_mocha",
-        "mocha": "bin/mocha"
-      },
-      "engines": {
-        "node": ">= 10.12.0"
-      }
-    },
-    "node_modules/mocha/node_modules/debug": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
-      "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.1.2"
-      },
-      "engines": {
-        "node": ">=6.0"
-      }
-    },
-    "node_modules/mocha/node_modules/escape-string-regexp": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/mocha/node_modules/find-up": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
-      "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^6.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/mocha/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/mocha/node_modules/locate-path": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
-      "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/mocha/node_modules/p-limit": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
-      "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
-      "dev": true,
-      "dependencies": {
-        "yocto-queue": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/mocha/node_modules/p-locate": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
-      "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/mocha/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/mocha/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/mocha/node_modules/which": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
-      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "node-which": "bin/node-which"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/move-concurrently": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
-      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.1.1",
-        "copy-concurrently": "^1.0.0",
-        "fs-write-stream-atomic": "^1.0.8",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.3"
-      }
-    },
-    "node_modules/ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-      "dev": true
-    },
-    "node_modules/multicast-dns": {
-      "version": "6.2.3",
-      "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
-      "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
-      "dev": true,
-      "dependencies": {
-        "dns-packet": "^1.3.1",
-        "thunky": "^1.0.2"
-      },
-      "bin": {
-        "multicast-dns": "cli.js"
-      }
-    },
-    "node_modules/multicast-dns-service-types": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
-      "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
-      "dev": true
-    },
-    "node_modules/mute-stream": {
-      "version": "0.0.8",
-      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
-      "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
-      "dev": true
-    },
-    "node_modules/nanoid": {
-      "version": "3.1.12",
-      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz",
-      "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==",
-      "dev": true,
-      "bin": {
-        "nanoid": "bin/nanoid.cjs"
-      },
-      "engines": {
-        "node": "^10 || ^12 || >=13.7"
-      }
-    },
-    "node_modules/nanomatch": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
-      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "fragment-cache": "^0.2.1",
-        "is-windows": "^1.0.2",
-        "kind-of": "^6.0.2",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/natural-compare": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
-      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
-      "dev": true
-    },
-    "node_modules/negotiator": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
-      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/neo-async": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
-      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
-      "dev": true
-    },
-    "node_modules/nice-try": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
-      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
-      "dev": true
-    },
-    "node_modules/no-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
-      "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
-      "dev": true,
-      "dependencies": {
-        "lower-case": "^2.0.2",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/no-case/node_modules/tslib": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
-      "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==",
-      "dev": true
-    },
-    "node_modules/nock": {
-      "version": "13.0.11",
-      "resolved": "https://registry.npmjs.org/nock/-/nock-13.0.11.tgz",
-      "integrity": "sha512-sKZltNkkWblkqqPAsjYW0bm3s9DcHRPiMOyKO/PkfJ+ANHZ2+LA2PLe22r4lLrKgXaiSaDQwW3qGsJFtIpQIeQ==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.0",
-        "json-stringify-safe": "^5.0.1",
-        "lodash.set": "^4.3.2",
-        "propagate": "^2.0.0"
-      },
-      "engines": {
-        "node": ">= 10.13"
-      }
-    },
-    "node_modules/node-fetch": {
-      "version": "2.6.1",
-      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
-      "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
-      "dev": true,
-      "engines": {
-        "node": "4.x || >=6.0.0"
-      }
-    },
-    "node_modules/node-forge": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",
-      "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6.0.0"
-      }
-    },
-    "node_modules/node-libs-browser": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
-      "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
-      "dev": true,
-      "dependencies": {
-        "assert": "^1.1.1",
-        "browserify-zlib": "^0.2.0",
-        "buffer": "^4.3.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "^1.0.0",
-        "crypto-browserify": "^3.11.0",
-        "domain-browser": "^1.1.1",
-        "events": "^3.0.0",
-        "https-browserify": "^1.0.0",
-        "os-browserify": "^0.3.0",
-        "path-browserify": "0.0.1",
-        "process": "^0.11.10",
-        "punycode": "^1.2.4",
-        "querystring-es3": "^0.2.0",
-        "readable-stream": "^2.3.3",
-        "stream-browserify": "^2.0.1",
-        "stream-http": "^2.7.2",
-        "string_decoder": "^1.0.0",
-        "timers-browserify": "^2.0.4",
-        "tty-browserify": "0.0.0",
-        "url": "^0.11.0",
-        "util": "^0.11.0",
-        "vm-browserify": "^1.0.1"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/punycode": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-      "dev": true
-    },
-    "node_modules/node-libs-browser/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/node-preload": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
-      "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
-      "dev": true,
-      "dependencies": {
-        "process-on-spawn": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/node-releases": {
-      "version": "1.1.71",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz",
-      "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==",
-      "dev": true
-    },
-    "node_modules/normalize-package-data": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
-      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
-      "dev": true,
-      "dependencies": {
-        "hosted-git-info": "^2.1.4",
-        "resolve": "^1.10.0",
-        "semver": "2 || 3 || 4 || 5",
-        "validate-npm-package-license": "^3.0.1"
-      }
-    },
-    "node_modules/normalize-package-data/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/normalize-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-run-path": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
-      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
-      "dev": true,
-      "dependencies": {
-        "path-key": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/nth-check": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
-      "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
-      "dev": true,
-      "dependencies": {
-        "boolbase": "~1.0.0"
-      }
-    },
-    "node_modules/nyc": {
-      "version": "15.1.0",
-      "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
-      "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
-      "dev": true,
-      "dependencies": {
-        "@istanbuljs/load-nyc-config": "^1.0.0",
-        "@istanbuljs/schema": "^0.1.2",
-        "caching-transform": "^4.0.0",
-        "convert-source-map": "^1.7.0",
-        "decamelize": "^1.2.0",
-        "find-cache-dir": "^3.2.0",
-        "find-up": "^4.1.0",
-        "foreground-child": "^2.0.0",
-        "get-package-type": "^0.1.0",
-        "glob": "^7.1.6",
-        "istanbul-lib-coverage": "^3.0.0",
-        "istanbul-lib-hook": "^3.0.0",
-        "istanbul-lib-instrument": "^4.0.0",
-        "istanbul-lib-processinfo": "^2.0.2",
-        "istanbul-lib-report": "^3.0.0",
-        "istanbul-lib-source-maps": "^4.0.0",
-        "istanbul-reports": "^3.0.2",
-        "make-dir": "^3.0.0",
-        "node-preload": "^0.2.1",
-        "p-map": "^3.0.0",
-        "process-on-spawn": "^1.0.0",
-        "resolve-from": "^5.0.0",
-        "rimraf": "^3.0.0",
-        "signal-exit": "^3.0.2",
-        "spawn-wrap": "^2.0.0",
-        "test-exclude": "^6.0.0",
-        "yargs": "^15.0.2"
-      },
-      "bin": {
-        "nyc": "bin/nyc.js"
-      },
-      "engines": {
-        "node": ">=8.9"
-      }
-    },
-    "node_modules/nyc/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/nyc/node_modules/cliui": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
-      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
-      "dev": true,
-      "dependencies": {
-        "string-width": "^4.2.0",
-        "strip-ansi": "^6.0.0",
-        "wrap-ansi": "^6.2.0"
-      }
-    },
-    "node_modules/nyc/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/nyc/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/nyc/node_modules/find-cache-dir": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
-      "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
-      "dev": true,
-      "dependencies": {
-        "commondir": "^1.0.1",
-        "make-dir": "^3.0.2",
-        "pkg-dir": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
-      }
-    },
-    "node_modules/nyc/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/make-dir": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-      "dev": true,
-      "dependencies": {
-        "semver": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/nyc/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/nyc/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/p-map": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
-      "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
-      "dev": true,
-      "dependencies": {
-        "aggregate-error": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/nyc/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/pkg-dir": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
-      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/resolve-from": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/nyc/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/nyc/node_modules/strip-ansi": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
-      "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/wrap-ansi": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
-      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/yargs": {
-      "version": "15.4.1",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
-      "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
-      "dev": true,
-      "dependencies": {
-        "cliui": "^6.0.0",
-        "decamelize": "^1.2.0",
-        "find-up": "^4.1.0",
-        "get-caller-file": "^2.0.1",
-        "require-directory": "^2.1.1",
-        "require-main-filename": "^2.0.0",
-        "set-blocking": "^2.0.0",
-        "string-width": "^4.2.0",
-        "which-module": "^2.0.0",
-        "y18n": "^4.0.0",
-        "yargs-parser": "^18.1.2"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nyc/node_modules/yargs-parser": {
-      "version": "18.1.3",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
-      "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
-      "dev": true,
-      "dependencies": {
-        "camelcase": "^5.0.0",
-        "decamelize": "^1.2.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/object-assign": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-copy": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
-      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
-      "dev": true,
-      "dependencies": {
-        "copy-descriptor": "^0.1.0",
-        "define-property": "^0.2.5",
-        "kind-of": "^3.0.3"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-copy/node_modules/define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-copy/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-inspect": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
-      "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==",
-      "dev": true
-    },
-    "node_modules/object-is": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz",
-      "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/object-keys": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
-      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/object-visit": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
-      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "dev": true,
-      "dependencies": {
-        "isobject": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object.assign": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
-      "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "has-symbols": "^1.0.1",
-        "object-keys": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/object.getownpropertydescriptors": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz",
-      "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.1"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/object.pick": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
-      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "dev": true,
-      "dependencies": {
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object.values": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz",
-      "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.1",
-        "has": "^1.0.3"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/obuf": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
-      "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
-      "dev": true
-    },
-    "node_modules/on-finished": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
-      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
-      "dev": true,
-      "dependencies": {
-        "ee-first": "1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/on-headers": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
-      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/once": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
-      "dev": true,
-      "dependencies": {
-        "wrappy": "1"
-      }
-    },
-    "node_modules/onetime": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
-      "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
-      "dev": true,
-      "dependencies": {
-        "mimic-fn": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/opn": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
-      "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
-      "dev": true,
-      "dependencies": {
-        "is-wsl": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/optionator": {
-      "version": "0.8.3",
-      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
-      "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
-      "dev": true,
-      "dependencies": {
-        "deep-is": "~0.1.3",
-        "fast-levenshtein": "~2.0.6",
-        "levn": "~0.3.0",
-        "prelude-ls": "~1.1.2",
-        "type-check": "~0.3.2",
-        "word-wrap": "~1.2.3"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/original": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
-      "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
-      "dev": true,
-      "dependencies": {
-        "url-parse": "^1.4.3"
-      }
-    },
-    "node_modules/os-browserify": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
-      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
-      "dev": true
-    },
-    "node_modules/os-tmpdir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/p-finally": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/p-limit": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
-      "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/p-locate": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
-      "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/p-map": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
-      "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/p-retry": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz",
-      "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==",
-      "dev": true,
-      "dependencies": {
-        "retry": "^0.12.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/p-try": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
-      "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/package-hash": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz",
-      "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.15",
-        "hasha": "^5.0.0",
-        "lodash.flattendeep": "^4.4.0",
-        "release-zalgo": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/pako": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
-      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
-      "dev": true
-    },
-    "node_modules/parallel-transform": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
-      "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
-      "dev": true,
-      "dependencies": {
-        "cyclist": "^1.0.1",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.1.5"
-      }
-    },
-    "node_modules/parallel-transform/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/parallel-transform/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/parallel-transform/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/param-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
-      "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
-      "dev": true,
-      "dependencies": {
-        "dot-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/param-case/node_modules/tslib": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
-      "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==",
-      "dev": true
-    },
-    "node_modules/parent-module": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
-      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
-      "dev": true,
-      "dependencies": {
-        "callsites": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/parse-asn1": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
-      "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
-      "dev": true,
-      "dependencies": {
-        "asn1.js": "^5.2.0",
-        "browserify-aes": "^1.0.0",
-        "evp_bytestokey": "^1.0.0",
-        "pbkdf2": "^3.0.3",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "node_modules/parse-json": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
-      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
-      "dev": true,
-      "dependencies": {
-        "error-ex": "^1.2.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/parse-passwd": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
-      "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/parseurl": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
-      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/pascal-case": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
-      "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
-      "dev": true,
-      "dependencies": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/pascal-case/node_modules/tslib": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
-      "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==",
-      "dev": true
-    },
-    "node_modules/pascalcase": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/path-browserify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
-      "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
-      "dev": true
-    },
-    "node_modules/path-dirname": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
-      "dev": true
-    },
-    "node_modules/path-exists": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/path-is-absolute": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/path-is-inside": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
-      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
-      "dev": true
-    },
-    "node_modules/path-key": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/path-parse": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
-      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
-      "dev": true
-    },
-    "node_modules/path-to-regexp": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
-      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
-      "dev": true
-    },
-    "node_modules/path-type": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
-      "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
-      "dev": true,
-      "dependencies": {
-        "pify": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/path-type/node_modules/pify": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/pathval": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
-      "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/pbkdf2": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz",
-      "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==",
-      "dev": true,
-      "dependencies": {
-        "create-hash": "^1.1.2",
-        "create-hmac": "^1.1.4",
-        "ripemd160": "^2.0.1",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      },
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
-    "node_modules/picomatch": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
-      "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8.6"
-      }
-    },
-    "node_modules/pify": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/pinkie": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
-      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/pinkie-promise": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
-      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
-      "dev": true,
-      "dependencies": {
-        "pinkie": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/pkg-dir": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
-      "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/portfinder": {
-      "version": "1.0.28",
-      "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
-      "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
-      "dev": true,
-      "dependencies": {
-        "async": "^2.6.2",
-        "debug": "^3.1.1",
-        "mkdirp": "^0.5.5"
-      },
-      "engines": {
-        "node": ">= 0.12.0"
-      }
-    },
-    "node_modules/portfinder/node_modules/debug": {
-      "version": "3.2.7",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
-      "dev": true,
-      "dependencies": {
-        "ms": "^2.1.1"
-      }
-    },
-    "node_modules/posix-character-classes": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/prelude-ls": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
-      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/prettier": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz",
-      "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==",
-      "dev": true,
-      "bin": {
-        "prettier": "bin-prettier.js"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
-    "node_modules/prettier-linter-helpers": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
-      "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
-      "dev": true,
-      "dependencies": {
-        "fast-diff": "^1.1.2"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/pretty-error": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz",
-      "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==",
-      "dev": true,
-      "dependencies": {
-        "lodash": "^4.17.20",
-        "renderkid": "^2.0.4"
-      }
-    },
-    "node_modules/process": {
-      "version": "0.11.10",
-      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6.0"
-      }
-    },
-    "node_modules/process-nextick-args": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
-      "dev": true
-    },
-    "node_modules/process-on-spawn": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
-      "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
-      "dev": true,
-      "dependencies": {
-        "fromentries": "^1.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/progress": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
-      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/promise-inflight": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
-      "dev": true
-    },
-    "node_modules/propagate": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz",
-      "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/proxy-addr": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
-      "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
-      "dev": true,
-      "dependencies": {
-        "forwarded": "~0.1.2",
-        "ipaddr.js": "1.9.1"
-      },
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/prr": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
-      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
-      "dev": true
-    },
-    "node_modules/public-encrypt": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
-      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.1.0",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "parse-asn1": "^5.0.0",
-        "randombytes": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "node_modules/public-encrypt/node_modules/bn.js": {
-      "version": "4.11.9",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
-      "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
-      "dev": true
-    },
-    "node_modules/pump": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
-      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
-      "dev": true,
-      "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "node_modules/pumpify": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
-      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
-      "dev": true,
-      "dependencies": {
-        "duplexify": "^3.6.0",
-        "inherits": "^2.0.3",
-        "pump": "^2.0.0"
-      }
-    },
-    "node_modules/pumpify/node_modules/pump": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
-      "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
-      "dev": true,
-      "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "node_modules/punycode": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/qs": {
-      "version": "6.7.0",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
-      "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.6"
-      }
-    },
-    "node_modules/querystring": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
-      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4.x"
-      }
-    },
-    "node_modules/querystring-es3": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
-      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4.x"
-      }
-    },
-    "node_modules/querystringify": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
-      "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
-      "dev": true
-    },
-    "node_modules/randombytes": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
-      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "node_modules/randomfill": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
-      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "dev": true,
-      "dependencies": {
-        "randombytes": "^2.0.5",
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "node_modules/range-parser": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
-      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/raw-body": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
-      "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
-      "dev": true,
-      "dependencies": {
-        "bytes": "3.1.0",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "unpipe": "1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/raw-body/node_modules/bytes": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-      "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/read-pkg": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
-      "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
-      "dev": true,
-      "dependencies": {
-        "load-json-file": "^2.0.0",
-        "normalize-package-data": "^2.3.2",
-        "path-type": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/read-pkg-up": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
-      "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^2.0.0",
-        "read-pkg": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/readable-stream": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/readdirp": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
-      "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
-      "dev": true,
-      "dependencies": {
-        "picomatch": "^2.2.1"
-      },
-      "engines": {
-        "node": ">=8.10.0"
-      }
-    },
-    "node_modules/regex-not": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
-      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^3.0.2",
-        "safe-regex": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/regexp.prototype.flags": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz",
-      "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==",
-      "dev": true,
-      "dependencies": {
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.17.0-next.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/regexp.prototype.flags/node_modules/es-abstract": {
-      "version": "1.17.7",
-      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
-      "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
-      "dev": true,
-      "dependencies": {
-        "es-to-primitive": "^1.2.1",
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.1",
-        "is-callable": "^1.2.2",
-        "is-regex": "^1.1.1",
-        "object-inspect": "^1.8.0",
-        "object-keys": "^1.1.1",
-        "object.assign": "^4.1.1",
-        "string.prototype.trimend": "^1.0.1",
-        "string.prototype.trimstart": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/regexpp": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
-      "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/relateurl": {
-      "version": "0.2.7",
-      "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
-      "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/release-zalgo": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
-      "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=",
-      "dev": true,
-      "dependencies": {
-        "es6-error": "^4.0.1"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/remove-trailing-separator": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
-    },
-    "node_modules/renderkid": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz",
-      "integrity": "sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==",
-      "dev": true,
-      "dependencies": {
-        "css-select": "^1.1.0",
-        "dom-converter": "^0.2",
-        "htmlparser2": "^3.3.0",
-        "lodash": "^4.17.20",
-        "strip-ansi": "^3.0.0"
-      }
-    },
-    "node_modules/renderkid/node_modules/ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/renderkid/node_modules/strip-ansi": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/repeat-element": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
-      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/repeat-string": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/require-directory": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/require-main-filename": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
-      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
-      "dev": true
-    },
-    "node_modules/requires-port": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
-      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
-      "dev": true
-    },
-    "node_modules/resolve": {
-      "version": "1.19.0",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
-      "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
-      "dev": true,
-      "dependencies": {
-        "is-core-module": "^2.1.0",
-        "path-parse": "^1.0.6"
-      }
-    },
-    "node_modules/resolve-cwd": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
-      "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
-      "dev": true,
-      "dependencies": {
-        "resolve-from": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/resolve-cwd/node_modules/resolve-from": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-      "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/resolve-dir": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
-      "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
-      "dev": true,
-      "dependencies": {
-        "expand-tilde": "^2.0.0",
-        "global-modules": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/resolve-dir/node_modules/global-modules": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
-      "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
-      "dev": true,
-      "dependencies": {
-        "global-prefix": "^1.0.1",
-        "is-windows": "^1.0.1",
-        "resolve-dir": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/resolve-from": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
-      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/resolve-url": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "dev": true
-    },
-    "node_modules/restore-cursor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
-      "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
-      "dev": true,
-      "dependencies": {
-        "onetime": "^5.1.0",
-        "signal-exit": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ret": {
-      "version": "0.1.15",
-      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
-    "node_modules/retry": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
-      "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
-    "node_modules/ripemd160": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
-      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "dev": true,
-      "dependencies": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1"
-      }
-    },
-    "node_modules/run-async": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
-      "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.12.0"
-      }
-    },
-    "node_modules/run-queue": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
-      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.1.1"
-      }
-    },
-    "node_modules/rxjs": {
-      "version": "6.6.3",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz",
-      "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^1.9.0"
-      },
-      "engines": {
-        "npm": ">=2.0.0"
-      }
-    },
-    "node_modules/safe-buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-      "dev": true
-    },
-    "node_modules/safe-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
-      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "dev": true,
-      "dependencies": {
-        "ret": "~0.1.10"
-      }
-    },
-    "node_modules/safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
-      "dev": true
-    },
-    "node_modules/schema-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-      "dev": true,
-      "dependencies": {
-        "ajv": "^6.1.0",
-        "ajv-errors": "^1.0.0",
-        "ajv-keywords": "^3.1.0"
-      },
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/select-hose": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
-      "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
-      "dev": true
-    },
-    "node_modules/selfsigned": {
-      "version": "1.10.8",
-      "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz",
-      "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==",
-      "dev": true,
-      "dependencies": {
-        "node-forge": "^0.10.0"
-      }
-    },
-    "node_modules/semver": {
-      "version": "7.3.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
-      "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/send": {
-      "version": "0.17.1",
-      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
-      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
-      "dev": true,
-      "dependencies": {
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "destroy": "~1.0.4",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "fresh": "0.5.2",
-        "http-errors": "~1.7.2",
-        "mime": "1.6.0",
-        "ms": "2.1.1",
-        "on-finished": "~2.3.0",
-        "range-parser": "~1.2.1",
-        "statuses": "~1.5.0"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/send/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/send/node_modules/debug/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/send/node_modules/ms": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
-      "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
-      "dev": true
-    },
-    "node_modules/serialize-javascript": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
-      "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
-      "dev": true,
-      "dependencies": {
-        "randombytes": "^2.1.0"
-      }
-    },
-    "node_modules/serve-index": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
-      "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
-      "dev": true,
-      "dependencies": {
-        "accepts": "~1.3.4",
-        "batch": "0.6.1",
-        "debug": "2.6.9",
-        "escape-html": "~1.0.3",
-        "http-errors": "~1.6.2",
-        "mime-types": "~2.1.17",
-        "parseurl": "~1.3.2"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/serve-index/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/serve-index/node_modules/http-errors": {
-      "version": "1.6.3",
-      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
-      "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
-      "dev": true,
-      "dependencies": {
-        "depd": "~1.1.2",
-        "inherits": "2.0.3",
-        "setprototypeof": "1.1.0",
-        "statuses": ">= 1.4.0 < 2"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/serve-index/node_modules/inherits": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-      "dev": true
-    },
-    "node_modules/serve-index/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/serve-index/node_modules/setprototypeof": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
-      "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
-      "dev": true
-    },
-    "node_modules/serve-static": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
-      "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
-      "dev": true,
-      "dependencies": {
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "parseurl": "~1.3.3",
-        "send": "0.17.1"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/set-blocking": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
-      "dev": true
-    },
-    "node_modules/set-value": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
-      "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-extendable": "^0.1.1",
-        "is-plain-object": "^2.0.3",
-        "split-string": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/set-value/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/setimmediate": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
-      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
-      "dev": true
-    },
-    "node_modules/setprototypeof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
-      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
-      "dev": true
-    },
-    "node_modules/sha.js": {
-      "version": "2.4.11",
-      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
-      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      },
-      "bin": {
-        "sha.js": "bin.js"
-      }
-    },
-    "node_modules/shebang-command": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
-      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-      "dev": true,
-      "dependencies": {
-        "shebang-regex": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/shebang-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/signal-exit": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
-      "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
-      "dev": true
-    },
-    "node_modules/slice-ansi": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
-      "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^3.2.0",
-        "astral-regex": "^1.0.0",
-        "is-fullwidth-code-point": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/snapdragon": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
-      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "dev": true,
-      "dependencies": {
-        "base": "^0.11.1",
-        "debug": "^2.2.0",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "map-cache": "^0.2.2",
-        "source-map": "^0.5.6",
-        "source-map-resolve": "^0.5.0",
-        "use": "^3.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-node": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
-      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "dev": true,
-      "dependencies": {
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.0",
-        "snapdragon-util": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-node/node_modules/define-property": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-node/node_modules/is-data-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-node/node_modules/is-descriptor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.0",
-        "is-data-descriptor": "^1.0.0",
-        "kind-of": "^6.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-util": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
-      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.2.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-util/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/snapdragon/node_modules/source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sockjs": {
-      "version": "0.3.20",
-      "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz",
-      "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==",
-      "dev": true,
-      "dependencies": {
-        "faye-websocket": "^0.10.0",
-        "uuid": "^3.4.0",
-        "websocket-driver": "0.6.5"
-      }
-    },
-    "node_modules/sockjs-client": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz",
-      "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^3.2.5",
-        "eventsource": "^1.0.7",
-        "faye-websocket": "~0.11.1",
-        "inherits": "^2.0.3",
-        "json3": "^3.3.2",
-        "url-parse": "^1.4.3"
-      }
-    },
-    "node_modules/sockjs-client/node_modules/debug": {
-      "version": "3.2.7",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
-      "dev": true,
-      "dependencies": {
-        "ms": "^2.1.1"
-      }
-    },
-    "node_modules/sockjs-client/node_modules/faye-websocket": {
-      "version": "0.11.3",
-      "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
-      "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
-      "dev": true,
-      "dependencies": {
-        "websocket-driver": ">=0.5.1"
-      },
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/source-list-map": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
-      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
-      "dev": true
-    },
-    "node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/source-map-resolve": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
-      "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
-      "dev": true,
-      "dependencies": {
-        "atob": "^2.1.2",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
-      }
-    },
-    "node_modules/source-map-support": {
-      "version": "0.5.19",
-      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
-      "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
-      "dev": true,
-      "dependencies": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
-      }
-    },
-    "node_modules/source-map-url": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
-      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
-      "dev": true
-    },
-    "node_modules/spawn-wrap": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
-      "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
-      "dev": true,
-      "dependencies": {
-        "foreground-child": "^2.0.0",
-        "is-windows": "^1.0.2",
-        "make-dir": "^3.0.0",
-        "rimraf": "^3.0.0",
-        "signal-exit": "^3.0.2",
-        "which": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/spawn-wrap/node_modules/make-dir": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-      "dev": true,
-      "dependencies": {
-        "semver": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/spawn-wrap/node_modules/rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/spawn-wrap/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/spawn-wrap/node_modules/which": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
-      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "node-which": "bin/node-which"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/spdx-correct": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
-      "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
-      "dev": true,
-      "dependencies": {
-        "spdx-expression-parse": "^3.0.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "node_modules/spdx-exceptions": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
-      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
-      "dev": true
-    },
-    "node_modules/spdx-expression-parse": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
-      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
-      "dev": true,
-      "dependencies": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "node_modules/spdx-license-ids": {
-      "version": "3.0.7",
-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz",
-      "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==",
-      "dev": true
-    },
-    "node_modules/spdy": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
-      "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.0",
-        "handle-thing": "^2.0.0",
-        "http-deceiver": "^1.2.7",
-        "select-hose": "^2.0.0",
-        "spdy-transport": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/spdy-transport": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
-      "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.0",
-        "detect-node": "^2.0.4",
-        "hpack.js": "^2.1.6",
-        "obuf": "^1.1.2",
-        "readable-stream": "^3.0.6",
-        "wbuf": "^1.7.3"
-      }
-    },
-    "node_modules/split-string": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
-      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sprintf-js": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
-      "dev": true
-    },
-    "node_modules/ssri": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
-      "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
-      "dev": true,
-      "dependencies": {
-        "figgy-pudding": "^3.5.1"
-      }
-    },
-    "node_modules/static-extend": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
-      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "dev": true,
-      "dependencies": {
-        "define-property": "^0.2.5",
-        "object-copy": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/static-extend/node_modules/define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/statuses": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
-      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/stream-browserify": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
-      "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "~2.0.1",
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "node_modules/stream-browserify/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/stream-browserify/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/stream-browserify/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/stream-each": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
-      "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
-      "dev": true,
-      "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "node_modules/stream-events": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz",
-      "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==",
-      "dev": true,
-      "dependencies": {
-        "stubs": "^3.0.0"
-      }
-    },
-    "node_modules/stream-http": {
-      "version": "2.8.3",
-      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
-      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
-      "dev": true,
-      "dependencies": {
-        "builtin-status-codes": "^3.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.3.6",
-        "to-arraybuffer": "^1.0.0",
-        "xtend": "^4.0.0"
-      }
-    },
-    "node_modules/stream-http/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/stream-http/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/stream-http/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/stream-shift": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
-      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
-      "dev": true
-    },
-    "node_modules/string_decoder": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.2.0"
-      }
-    },
-    "node_modules/string-natural-compare": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz",
-      "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==",
-      "dev": true
-    },
-    "node_modules/string-width": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
-      "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
-      "dev": true,
-      "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/string-width/node_modules/strip-ansi": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
-      "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/string.prototype.trimend": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
-      "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3"
-      }
-    },
-    "node_modules/string.prototype.trimstart": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz",
-      "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3"
-      }
-    },
-    "node_modules/strip-ansi": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/strip-ansi/node_modules/ansi-regex": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-      "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/strip-bom": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-      "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/strip-eof": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
-      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/strip-json-comments": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
-      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/stubs": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
-      "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=",
-      "dev": true
-    },
-    "node_modules/style-mod": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz",
-      "integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==",
-      "dev": true
-    },
-    "node_modules/supports-color": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/table": {
-      "version": "5.4.6",
-      "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
-      "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
-      "dev": true,
-      "dependencies": {
-        "ajv": "^6.10.2",
-        "lodash": "^4.17.14",
-        "slice-ansi": "^2.1.0",
-        "string-width": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/table/node_modules/emoji-regex": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
-      "dev": true
-    },
-    "node_modules/table/node_modules/is-fullwidth-code-point": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/table/node_modules/string-width": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-      "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-      "dev": true,
-      "dependencies": {
-        "emoji-regex": "^7.0.1",
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^5.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/tapable": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
-      "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/teeny-request": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-6.0.1.tgz",
-      "integrity": "sha512-TAK0c9a00ELOqLrZ49cFxvPVogMUFaWY8dUsQc/0CuQPGF+BOxOQzXfE413BAk2kLomwNplvdtMpeaeGWmoc2g==",
-      "dev": true,
-      "dependencies": {
-        "http-proxy-agent": "^4.0.0",
-        "https-proxy-agent": "^4.0.0",
-        "node-fetch": "^2.2.0",
-        "stream-events": "^1.0.5",
-        "uuid": "^3.3.2"
-      }
-    },
-    "node_modules/terser": {
-      "version": "4.8.0",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
-      "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
-      "dev": true,
-      "dependencies": {
-        "commander": "^2.20.0",
-        "source-map": "~0.6.1",
-        "source-map-support": "~0.5.12"
-      },
-      "bin": {
-        "terser": "bin/terser"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/terser-webpack-plugin": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
-      "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
-      "dev": true,
-      "dependencies": {
-        "cacache": "^12.0.2",
-        "find-cache-dir": "^2.1.0",
-        "is-wsl": "^1.1.0",
-        "schema-utils": "^1.0.0",
-        "serialize-javascript": "^4.0.0",
-        "source-map": "^0.6.1",
-        "terser": "^4.1.2",
-        "webpack-sources": "^1.4.0",
-        "worker-farm": "^1.7.0"
-      },
-      "engines": {
-        "node": ">= 6.9.0"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
-      "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
-      "dev": true,
-      "dependencies": {
-        "randombytes": "^2.1.0"
-      }
-    },
-    "node_modules/terser/node_modules/commander": {
-      "version": "2.20.3",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-      "dev": true
-    },
-    "node_modules/test-exclude": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
-      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
-      "dev": true,
-      "dependencies": {
-        "@istanbuljs/schema": "^0.1.2",
-        "glob": "^7.1.4",
-        "minimatch": "^3.0.4"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/text-table": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
-      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
-      "dev": true
-    },
-    "node_modules/through": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
-      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
-      "dev": true
-    },
-    "node_modules/through2": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
-      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
-      "dev": true,
-      "dependencies": {
-        "readable-stream": "~2.3.6",
-        "xtend": "~4.0.1"
-      }
-    },
-    "node_modules/through2/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/through2/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/through2/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/thunky": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
-      "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
-      "dev": true
-    },
-    "node_modules/timers-browserify": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
-      "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
-      "dev": true,
-      "dependencies": {
-        "setimmediate": "^1.0.4"
-      },
-      "engines": {
-        "node": ">=0.6.0"
-      }
-    },
-    "node_modules/tmp": {
-      "version": "0.0.33",
-      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
-      "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
-      "dev": true,
-      "dependencies": {
-        "os-tmpdir": "~1.0.2"
-      },
-      "engines": {
-        "node": ">=0.6.0"
-      }
-    },
-    "node_modules/to-arraybuffer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
-      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
-      "dev": true
-    },
-    "node_modules/to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/to-object-path": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
-      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-object-path/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-regex": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
-      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "dev": true,
-      "dependencies": {
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "regex-not": "^1.0.2",
-        "safe-regex": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-regex-range": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=8.0"
-      }
-    },
-    "node_modules/toidentifier": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
-      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.6"
-      }
-    },
-    "node_modules/ts-loader": {
-      "version": "7.0.5",
-      "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-7.0.5.tgz",
-      "integrity": "sha512-zXypEIT6k3oTc+OZNx/cqElrsbBtYqDknf48OZos0NQ3RTt045fBIU8RRSu+suObBzYB355aIPGOe/3kj9h7Ig==",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^2.3.0",
-        "enhanced-resolve": "^4.0.0",
-        "loader-utils": "^1.0.2",
-        "micromatch": "^4.0.0",
-        "semver": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/ts-loader/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/ts-mocha": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/ts-mocha/-/ts-mocha-8.0.0.tgz",
-      "integrity": "sha512-Kou1yxTlubLnD5C3unlCVO7nh0HERTezjoVhVw/M5S1SqoUec0WgllQvPk3vzPMc6by8m6xD1uR1yRf8lnVUbA==",
-      "dev": true,
-      "dependencies": {
-        "ts-node": "7.0.1"
-      },
-      "bin": {
-        "ts-mocha": "bin/ts-mocha"
-      },
-      "engines": {
-        "node": ">= 6.X.X"
-      },
-      "optionalDependencies": {
-        "tsconfig-paths": "^3.5.0"
-      },
-      "peerDependencies": {
-        "mocha": "^3.X.X || ^4.X.X || ^5.X.X || ^6.X.X || ^7.X.X || ^8.X.X"
-      }
-    },
-    "node_modules/ts-mocha/node_modules/diff": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
-      "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.3.1"
-      }
-    },
-    "node_modules/ts-mocha/node_modules/ts-node": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz",
-      "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==",
-      "dev": true,
-      "dependencies": {
-        "arrify": "^1.0.0",
-        "buffer-from": "^1.1.0",
-        "diff": "^3.1.0",
-        "make-error": "^1.1.1",
-        "minimist": "^1.2.0",
-        "mkdirp": "^0.5.1",
-        "source-map-support": "^0.5.6",
-        "yn": "^2.0.0"
-      },
-      "bin": {
-        "ts-node": "dist/bin.js"
-      },
-      "engines": {
-        "node": ">=4.2.0"
-      }
-    },
-    "node_modules/ts-mocha/node_modules/yn": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz",
-      "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/ts-node": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.0.tgz",
-      "integrity": "sha512-0yqcL4sgruCvM+w64LiAfNJo6+lHfCYc5Ajj4yiLNkJ9oZ2HWaa+Kso7htYOOxVQ7+csAjdUjffOe9PIqC4pMg==",
-      "dev": true,
-      "dependencies": {
-        "arg": "^4.1.0",
-        "create-require": "^1.1.0",
-        "diff": "^4.0.1",
-        "make-error": "^1.1.1",
-        "source-map-support": "^0.5.17",
-        "yn": "3.1.1"
-      },
-      "bin": {
-        "ts-node": "dist/bin.js",
-        "ts-node-script": "dist/bin-script.js",
-        "ts-node-transpile-only": "dist/bin-transpile.js",
-        "ts-script": "dist/bin-script-deprecated.js"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/tsconfig-paths": {
-      "version": "3.9.0",
-      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz",
-      "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==",
-      "dev": true,
-      "dependencies": {
-        "@types/json5": "^0.0.29",
-        "json5": "^1.0.1",
-        "minimist": "^1.2.0",
-        "strip-bom": "^3.0.0"
-      }
-    },
-    "node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-      "dev": true
-    },
-    "node_modules/tsutils": {
-      "version": "3.17.1",
-      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
-      "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^1.8.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/tty-browserify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
-      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
-      "dev": true
-    },
-    "node_modules/type-check": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
-      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
-      "dev": true,
-      "dependencies": {
-        "prelude-ls": "~1.1.2"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/type-detect": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
-      "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/type-fest": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/type-is": {
-      "version": "1.6.18",
-      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
-      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
-      "dev": true,
-      "dependencies": {
-        "media-typer": "0.3.0",
-        "mime-types": "~2.1.24"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/typedarray": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
-      "dev": true
-    },
-    "node_modules/typedarray-to-buffer": {
-      "version": "3.1.5",
-      "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
-      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
-      "dev": true,
-      "dependencies": {
-        "is-typedarray": "^1.0.0"
-      }
-    },
-    "node_modules/typescript": {
-      "version": "4.2.3",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz",
-      "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==",
-      "dev": true,
-      "bin": {
-        "tsc": "bin/tsc",
-        "tsserver": "bin/tsserver"
-      },
-      "engines": {
-        "node": ">=4.2.0"
-      }
-    },
-    "node_modules/union-value": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
-      "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
-      "dev": true,
-      "dependencies": {
-        "arr-union": "^3.1.0",
-        "get-value": "^2.0.6",
-        "is-extendable": "^0.1.1",
-        "set-value": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/unique-filename": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
-      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
-      "dev": true,
-      "dependencies": {
-        "unique-slug": "^2.0.0"
-      }
-    },
-    "node_modules/unique-slug": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
-      "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
-      "dev": true,
-      "dependencies": {
-        "imurmurhash": "^0.1.4"
-      }
-    },
-    "node_modules/unpipe": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
-      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/unset-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
-      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "dev": true,
-      "dependencies": {
-        "has-value": "^0.3.1",
-        "isobject": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/unset-value/node_modules/has-value": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
-      "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-      "dev": true,
-      "dependencies": {
-        "get-value": "^2.0.3",
-        "has-values": "^0.1.4",
-        "isobject": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
-      "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-      "dev": true,
-      "dependencies": {
-        "isarray": "1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/unset-value/node_modules/has-values": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-      "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/upath": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
-      "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
-      "dev": true,
-      "engines": {
-        "node": ">=4",
-        "yarn": "*"
-      }
-    },
-    "node_modules/uri-js": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
-      "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
-      "dev": true,
-      "dependencies": {
-        "punycode": "^2.1.0"
-      }
-    },
-    "node_modules/urix": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "dev": true
-    },
-    "node_modules/url": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
-      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "dev": true,
-      "dependencies": {
-        "punycode": "1.3.2",
-        "querystring": "0.2.0"
-      }
-    },
-    "node_modules/url-parse": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz",
-      "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==",
-      "dev": true,
-      "dependencies": {
-        "querystringify": "^2.1.1",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "node_modules/url/node_modules/punycode": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-      "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
-      "dev": true
-    },
-    "node_modules/urlgrey": {
-      "version": "0.4.4",
-      "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz",
-      "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=",
-      "dev": true
-    },
-    "node_modules/use": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/util": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
-      "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "2.0.3"
-      }
-    },
-    "node_modules/util-deprecate": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
-    },
-    "node_modules/util.promisify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
-      "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
-      "dev": true,
-      "dependencies": {
-        "define-properties": "^1.1.2",
-        "object.getownpropertydescriptors": "^2.0.3"
-      }
-    },
-    "node_modules/util/node_modules/inherits": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-      "dev": true
-    },
-    "node_modules/utila": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
-      "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
-      "dev": true
-    },
-    "node_modules/utils-merge": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
-      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4.0"
-      }
-    },
-    "node_modules/uuid": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
-      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
-      "dev": true,
-      "bin": {
-        "uuid": "bin/uuid"
-      }
-    },
-    "node_modules/v8-compile-cache": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz",
-      "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==",
-      "dev": true
-    },
-    "node_modules/validate-npm-package-license": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
-      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
-      "dev": true,
-      "dependencies": {
-        "spdx-correct": "^3.0.0",
-        "spdx-expression-parse": "^3.0.0"
-      }
-    },
-    "node_modules/vary": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
-      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/vm-browserify": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
-      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
-      "dev": true
-    },
-    "node_modules/w3c-keyname": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz",
-      "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==",
-      "dev": true
-    },
-    "node_modules/watchpack": {
-      "version": "1.7.5",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
-      "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
-      "dev": true,
-      "dependencies": {
-        "chokidar": "^3.4.1",
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0"
-      },
-      "optionalDependencies": {
-        "watchpack-chokidar2": "^2.0.1"
-      }
-    },
-    "node_modules/watchpack-chokidar2": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
-      "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "chokidar": "^2.1.8"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/anymatch": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-      "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "micromatch": "^3.1.4",
-        "normalize-path": "^2.1.1"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "remove-trailing-separator": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/binary-extensions": {
-      "version": "1.13.1",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-      "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-      "dev": true,
-      "optional": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/chokidar": {
-      "version": "2.1.8",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-      "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "anymatch": "^2.0.0",
-        "async-each": "^1.0.1",
-        "braces": "^2.3.2",
-        "fsevents": "^1.2.7",
-        "glob-parent": "^3.1.0",
-        "inherits": "^2.0.3",
-        "is-binary-path": "^1.0.0",
-        "is-glob": "^4.0.0",
-        "normalize-path": "^3.0.0",
-        "path-is-absolute": "^1.0.0",
-        "readdirp": "^2.2.1",
-        "upath": "^1.1.1"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/fsevents": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-      "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-      "dev": true,
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": ">= 4.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/glob-parent": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-glob": "^3.1.0",
-        "path-dirname": "^1.0.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-      "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-extglob": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/is-binary-path": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "binary-extensions": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/readdirp": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-      "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.11",
-        "micromatch": "^3.1.10",
-        "readable-stream": "^2.0.2"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true,
-      "optional": true
-    },
-    "node_modules/watchpack-chokidar2/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/wbuf": {
-      "version": "1.7.3",
-      "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
-      "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
-      "dev": true,
-      "dependencies": {
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "node_modules/webpack": {
-      "version": "4.44.2",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz",
-      "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/wasm-edit": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "acorn": "^6.4.1",
-        "ajv": "^6.10.2",
-        "ajv-keywords": "^3.4.1",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^4.3.0",
-        "eslint-scope": "^4.0.3",
-        "json-parse-better-errors": "^1.0.2",
-        "loader-runner": "^2.4.0",
-        "loader-utils": "^1.2.3",
-        "memory-fs": "^0.4.1",
-        "micromatch": "^3.1.10",
-        "mkdirp": "^0.5.3",
-        "neo-async": "^2.6.1",
-        "node-libs-browser": "^2.2.1",
-        "schema-utils": "^1.0.0",
-        "tapable": "^1.1.3",
-        "terser-webpack-plugin": "^1.4.3",
-        "watchpack": "^1.7.4",
-        "webpack-sources": "^1.4.1"
-      },
-      "bin": {
-        "webpack": "bin/webpack.js"
-      },
-      "engines": {
-        "node": ">=6.11.5"
-      }
-    },
-    "node_modules/webpack-cli": {
-      "version": "3.3.12",
-      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz",
-      "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^2.4.2",
-        "cross-spawn": "^6.0.5",
-        "enhanced-resolve": "^4.1.1",
-        "findup-sync": "^3.0.0",
-        "global-modules": "^2.0.0",
-        "import-local": "^2.0.0",
-        "interpret": "^1.4.0",
-        "loader-utils": "^1.4.0",
-        "supports-color": "^6.1.0",
-        "v8-compile-cache": "^2.1.1",
-        "yargs": "^13.3.2"
-      },
-      "bin": {
-        "webpack-cli": "bin/cli.js"
-      },
-      "engines": {
-        "node": ">=6.11.5"
-      }
-    },
-    "node_modules/webpack-cli/node_modules/supports-color": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-      "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-middleware": {
-      "version": "3.7.2",
-      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz",
-      "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==",
-      "dev": true,
-      "dependencies": {
-        "memory-fs": "^0.4.1",
-        "mime": "^2.4.4",
-        "mkdirp": "^0.5.1",
-        "range-parser": "^1.2.1",
-        "webpack-log": "^2.0.0"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/webpack-dev-middleware/node_modules/memory-fs": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
-      "dev": true,
-      "dependencies": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      }
-    },
-    "node_modules/webpack-dev-middleware/node_modules/mime": {
-      "version": "2.4.6",
-      "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz",
-      "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==",
-      "dev": true,
-      "bin": {
-        "mime": "cli.js"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/webpack-dev-middleware/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/webpack-dev-middleware/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/webpack-dev-middleware/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/webpack-dev-server": {
-      "version": "3.11.0",
-      "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz",
-      "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==",
-      "dev": true,
-      "dependencies": {
-        "ansi-html": "0.0.7",
-        "bonjour": "^3.5.0",
-        "chokidar": "^2.1.8",
-        "compression": "^1.7.4",
-        "connect-history-api-fallback": "^1.6.0",
-        "debug": "^4.1.1",
-        "del": "^4.1.1",
-        "express": "^4.17.1",
-        "html-entities": "^1.3.1",
-        "http-proxy-middleware": "0.19.1",
-        "import-local": "^2.0.0",
-        "internal-ip": "^4.3.0",
-        "ip": "^1.1.5",
-        "is-absolute-url": "^3.0.3",
-        "killable": "^1.0.1",
-        "loglevel": "^1.6.8",
-        "opn": "^5.5.0",
-        "p-retry": "^3.0.1",
-        "portfinder": "^1.0.26",
-        "schema-utils": "^1.0.0",
-        "selfsigned": "^1.10.7",
-        "semver": "^6.3.0",
-        "serve-index": "^1.9.1",
-        "sockjs": "0.3.20",
-        "sockjs-client": "1.4.0",
-        "spdy": "^4.0.2",
-        "strip-ansi": "^3.0.1",
-        "supports-color": "^6.1.0",
-        "url": "^0.11.0",
-        "webpack-dev-middleware": "^3.7.2",
-        "webpack-log": "^2.0.0",
-        "ws": "^6.2.1",
-        "yargs": "^13.3.2"
-      },
-      "bin": {
-        "webpack-dev-server": "bin/webpack-dev-server.js"
-      },
-      "engines": {
-        "node": ">= 6.11.5"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/anymatch": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-      "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "dev": true,
-      "dependencies": {
-        "micromatch": "^3.1.4",
-        "normalize-path": "^2.1.1"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-      "dev": true,
-      "dependencies": {
-        "remove-trailing-separator": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/binary-extensions": {
-      "version": "1.13.1",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-      "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/braces/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/chokidar": {
-      "version": "2.1.8",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-      "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-      "dev": true,
-      "dependencies": {
-        "anymatch": "^2.0.0",
-        "async-each": "^1.0.1",
-        "braces": "^2.3.2",
-        "glob-parent": "^3.1.0",
-        "inherits": "^2.0.3",
-        "is-binary-path": "^1.0.0",
-        "is-glob": "^4.0.0",
-        "normalize-path": "^3.0.0",
-        "path-is-absolute": "^1.0.0",
-        "readdirp": "^2.2.1",
-        "upath": "^1.1.1"
-      },
-      "optionalDependencies": {
-        "fsevents": "^1.2.7"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/fill-range/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/fsevents": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-      "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-      "dev": true,
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": ">= 4.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/glob-parent": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-      "dev": true,
-      "dependencies": {
-        "is-glob": "^3.1.0",
-        "path-dirname": "^1.0.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-      "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-      "dev": true,
-      "dependencies": {
-        "is-extglob": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/is-binary-path": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-      "dev": true,
-      "dependencies": {
-        "binary-extensions": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/readdirp": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-      "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.11",
-        "micromatch": "^3.1.10",
-        "readable-stream": "^2.0.2"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/webpack-dev-server/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/strip-ansi": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/supports-color": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-      "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-log": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
-      "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
-      "dev": true,
-      "dependencies": {
-        "ansi-colors": "^3.0.0",
-        "uuid": "^3.3.2"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/webpack-log/node_modules/ansi-colors": {
-      "version": "3.2.4",
-      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
-      "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-sources": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
-      "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
-      "dev": true,
-      "dependencies": {
-        "source-list-map": "^2.0.0",
-        "source-map": "~0.6.1"
-      }
-    },
-    "node_modules/webpack/node_modules/acorn": {
-      "version": "6.4.2",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
-      "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
-      "dev": true,
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/webpack/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/eslint-scope": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
-      "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
-      "dev": true,
-      "dependencies": {
-        "esrecurse": "^4.1.0",
-        "estraverse": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/webpack/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/memory-fs": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
-      "dev": true,
-      "dependencies": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      }
-    },
-    "node_modules/webpack/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/webpack/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/webpack/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/webpack/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/websocket-driver": {
-      "version": "0.6.5",
-      "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz",
-      "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=",
-      "dev": true,
-      "dependencies": {
-        "websocket-extensions": ">=0.1.1"
-      },
-      "engines": {
-        "node": ">=0.6.0"
-      }
-    },
-    "node_modules/websocket-extensions": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
-      "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/whatwg-fetch": {
-      "version": "3.6.2",
-      "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz",
-      "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==",
-      "dev": true
-    },
-    "node_modules/which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "which": "bin/which"
-      }
-    },
-    "node_modules/which-module": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
-      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
-      "dev": true
-    },
-    "node_modules/wide-align": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
-      "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
-      "dev": true,
-      "dependencies": {
-        "string-width": "^1.0.2 || 2"
-      }
-    },
-    "node_modules/wide-align/node_modules/ansi-regex": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-      "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/wide-align/node_modules/is-fullwidth-code-point": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/wide-align/node_modules/string-width": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
-      "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
-      "dev": true,
-      "dependencies": {
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/wide-align/node_modules/strip-ansi": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-      "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/word-wrap": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
-      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/worker-farm": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
-      "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
-      "dev": true,
-      "dependencies": {
-        "errno": "~0.1.7"
-      }
-    },
-    "node_modules/workerpool": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz",
-      "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==",
-      "dev": true
-    },
-    "node_modules/wrap-ansi": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
-      "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^3.2.0",
-        "string-width": "^3.0.0",
-        "strip-ansi": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/wrap-ansi/node_modules/emoji-regex": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
-      "dev": true
-    },
-    "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/wrap-ansi/node_modules/string-width": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-      "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-      "dev": true,
-      "dependencies": {
-        "emoji-regex": "^7.0.1",
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^5.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/wrappy": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
-      "dev": true
-    },
-    "node_modules/write": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
-      "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
-      "dev": true,
-      "dependencies": {
-        "mkdirp": "^0.5.1"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/write-file-atomic": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
-      "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
-      "dev": true,
-      "dependencies": {
-        "imurmurhash": "^0.1.4",
-        "is-typedarray": "^1.0.0",
-        "signal-exit": "^3.0.2",
-        "typedarray-to-buffer": "^3.1.5"
-      }
-    },
-    "node_modules/ws": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
-      "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
-      "dev": true,
-      "dependencies": {
-        "async-limiter": "~1.0.0"
-      }
-    },
-    "node_modules/xtend": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
-      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4"
-      }
-    },
-    "node_modules/y18n": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
-      "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
-      "dev": true
-    },
-    "node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
-    },
-    "node_modules/yargs": {
-      "version": "13.3.2",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
-      "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
-      "dev": true,
-      "dependencies": {
-        "cliui": "^5.0.0",
-        "find-up": "^3.0.0",
-        "get-caller-file": "^2.0.1",
-        "require-directory": "^2.1.1",
-        "require-main-filename": "^2.0.0",
-        "set-blocking": "^2.0.0",
-        "string-width": "^3.0.0",
-        "which-module": "^2.0.0",
-        "y18n": "^4.0.0",
-        "yargs-parser": "^13.1.2"
-      }
-    },
-    "node_modules/yargs-parser": {
-      "version": "13.1.2",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
-      "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
-      "dev": true,
-      "dependencies": {
-        "camelcase": "^5.0.0",
-        "decamelize": "^1.2.0"
-      }
-    },
-    "node_modules/yargs-unparser": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
-      "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
-      "dev": true,
-      "dependencies": {
-        "camelcase": "^6.0.0",
-        "decamelize": "^4.0.0",
-        "flat": "^5.0.2",
-        "is-plain-obj": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/yargs-unparser/node_modules/camelcase": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
-      "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/yargs-unparser/node_modules/decamelize": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
-      "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/yargs/node_modules/emoji-regex": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
-      "dev": true
-    },
-    "node_modules/yargs/node_modules/find-up": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/yargs/node_modules/is-fullwidth-code-point": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/yargs/node_modules/locate-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^3.0.0",
-        "path-exists": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/yargs/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/yargs/node_modules/p-locate": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/yargs/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/yargs/node_modules/string-width": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-      "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-      "dev": true,
-      "dependencies": {
-        "emoji-regex": "^7.0.1",
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^5.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/yn": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
-      "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/yocto-queue": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
-      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
-    }
-  },
-  "dependencies": {
-    "@babel/code-frame": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
-      "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
-      "dev": true,
-      "requires": {
-        "@babel/highlight": "^7.12.13"
-      }
-    },
-    "@babel/compat-data": {
-      "version": "7.13.15",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.15.tgz",
-      "integrity": "sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA==",
-      "dev": true
-    },
-    "@babel/core": {
-      "version": "7.13.15",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.15.tgz",
-      "integrity": "sha512-6GXmNYeNjS2Uz+uls5jalOemgIhnTMeaXo+yBUA72kC2uX/8VW6XyhVIo2L8/q0goKQA3EVKx0KOQpVKSeWadQ==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.12.13",
-        "@babel/generator": "^7.13.9",
-        "@babel/helper-compilation-targets": "^7.13.13",
-        "@babel/helper-module-transforms": "^7.13.14",
-        "@babel/helpers": "^7.13.10",
-        "@babel/parser": "^7.13.15",
-        "@babel/template": "^7.12.13",
-        "@babel/traverse": "^7.13.15",
-        "@babel/types": "^7.13.14",
-        "convert-source-map": "^1.7.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.2",
-        "json5": "^2.1.2",
-        "semver": "^6.3.0",
-        "source-map": "^0.5.0"
-      },
-      "dependencies": {
-        "json5": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
-          "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.5"
-          }
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
-      }
-    },
-    "@babel/generator": {
-      "version": "7.13.9",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz",
-      "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.13.0",
-        "jsesc": "^2.5.1",
-        "source-map": "^0.5.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
-      }
-    },
-    "@babel/helper-compilation-targets": {
-      "version": "7.13.13",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz",
-      "integrity": "sha512-q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ==",
-      "dev": true,
-      "requires": {
-        "@babel/compat-data": "^7.13.12",
-        "@babel/helper-validator-option": "^7.12.17",
-        "browserslist": "^4.14.5",
-        "semver": "^6.3.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        }
-      }
-    },
-    "@babel/helper-function-name": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz",
-      "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-get-function-arity": "^7.12.13",
-        "@babel/template": "^7.12.13",
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "@babel/helper-get-function-arity": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz",
-      "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "@babel/helper-member-expression-to-functions": {
-      "version": "7.13.12",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz",
-      "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.13.12"
-      }
-    },
-    "@babel/helper-module-imports": {
-      "version": "7.13.12",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz",
-      "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.13.12"
-      }
-    },
-    "@babel/helper-module-transforms": {
-      "version": "7.13.14",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz",
-      "integrity": "sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.13.12",
-        "@babel/helper-replace-supers": "^7.13.12",
-        "@babel/helper-simple-access": "^7.13.12",
-        "@babel/helper-split-export-declaration": "^7.12.13",
-        "@babel/helper-validator-identifier": "^7.12.11",
-        "@babel/template": "^7.12.13",
-        "@babel/traverse": "^7.13.13",
-        "@babel/types": "^7.13.14"
-      }
-    },
-    "@babel/helper-optimise-call-expression": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz",
-      "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "@babel/helper-replace-supers": {
-      "version": "7.13.12",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz",
-      "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-member-expression-to-functions": "^7.13.12",
-        "@babel/helper-optimise-call-expression": "^7.12.13",
-        "@babel/traverse": "^7.13.0",
-        "@babel/types": "^7.13.12"
-      }
-    },
-    "@babel/helper-simple-access": {
-      "version": "7.13.12",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz",
-      "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.13.12"
-      }
-    },
-    "@babel/helper-split-export-declaration": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz",
-      "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "@babel/helper-validator-identifier": {
-      "version": "7.12.11",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
-      "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
-      "dev": true
-    },
-    "@babel/helper-validator-option": {
-      "version": "7.12.17",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz",
-      "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==",
-      "dev": true
-    },
-    "@babel/helpers": {
-      "version": "7.13.10",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.10.tgz",
-      "integrity": "sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ==",
-      "dev": true,
-      "requires": {
-        "@babel/template": "^7.12.13",
-        "@babel/traverse": "^7.13.0",
-        "@babel/types": "^7.13.0"
-      }
-    },
-    "@babel/highlight": {
-      "version": "7.13.10",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz",
-      "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-validator-identifier": "^7.12.11",
-        "chalk": "^2.0.0",
-        "js-tokens": "^4.0.0"
-      }
-    },
-    "@babel/parser": {
-      "version": "7.13.15",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.15.tgz",
-      "integrity": "sha512-b9COtcAlVEQljy/9fbcMHpG+UIW9ReF+gpaxDHTlZd0c6/UU9ng8zdySAW9sRTzpvcdCHn6bUcbuYUgGzLAWVQ==",
-      "dev": true
-    },
-    "@babel/template": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz",
-      "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.12.13",
-        "@babel/parser": "^7.12.13",
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "@babel/traverse": {
-      "version": "7.13.15",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.15.tgz",
-      "integrity": "sha512-/mpZMNvj6bce59Qzl09fHEs8Bt8NnpEDQYleHUPZQ3wXUMvXi+HJPLars68oAbmp839fGoOkv2pSL2z9ajCIaQ==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.12.13",
-        "@babel/generator": "^7.13.9",
-        "@babel/helper-function-name": "^7.12.13",
-        "@babel/helper-split-export-declaration": "^7.12.13",
-        "@babel/parser": "^7.13.15",
-        "@babel/types": "^7.13.14",
-        "debug": "^4.1.0",
-        "globals": "^11.1.0"
-      },
-      "dependencies": {
-        "globals": {
-          "version": "11.12.0",
-          "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-          "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-          "dev": true
-        }
-      }
-    },
-    "@babel/types": {
-      "version": "7.13.14",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz",
-      "integrity": "sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-validator-identifier": "^7.12.11",
-        "lodash": "^4.17.19",
-        "to-fast-properties": "^2.0.0"
-      }
-    },
-    "@codemirror/autocomplete": {
-      "version": "0.18.3",
-      "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.3.tgz",
-      "integrity": "sha512-XAilIpYxsessr3Zh39nc5T97Zz9wLMwQTCDlIKapm/VK3JnX1I1jkoe8JqpbyVyabVxGXpB2K88GIVS9X+nLZQ==",
-      "dev": true,
-      "requires": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/tooltip": "^0.18.4",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "@codemirror/basic-setup": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/basic-setup/-/basic-setup-0.18.0.tgz",
-      "integrity": "sha512-3IU6gBIkVVCF+ZtKqzCmYU1GLfbA12OsPYPWWq9rSzEb5G/FrWCA51ERYJpS3CzOI7TfBFjZZYc5j0OiNIF2VQ==",
-      "dev": true,
-      "requires": {
-        "@codemirror/autocomplete": "^0.18.0",
-        "@codemirror/closebrackets": "^0.18.0",
-        "@codemirror/commands": "^0.18.0",
-        "@codemirror/comment": "^0.18.0",
-        "@codemirror/fold": "^0.18.0",
-        "@codemirror/gutter": "^0.18.0",
-        "@codemirror/highlight": "^0.18.0",
-        "@codemirror/history": "^0.18.0",
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/lint": "^0.18.0",
-        "@codemirror/matchbrackets": "^0.18.0",
-        "@codemirror/rectangular-selection": "^0.18.0",
-        "@codemirror/search": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "@codemirror/closebrackets": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/closebrackets/-/closebrackets-0.18.0.tgz",
-      "integrity": "sha512-O1RAgUkzF4nq/B8IyXenZKZ1rJi2Mc7I6y4IhWhELiTnjyQy7YdAthTsJ40mNr8kZ6gRbasYe3K7TraITElZJA==",
-      "dev": true,
-      "requires": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "@codemirror/commands": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-0.18.0.tgz",
-      "integrity": "sha512-4H63B4oqr8dmJ3VOKvMI7xrZIBJjAdtz3Z0V/Jt0HlIYTe76Omy4h9BS3b9EgyNaWjIO/Slz3KQPwihcC8uR5Q==",
-      "dev": true,
-      "requires": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/matchbrackets": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "@codemirror/comment": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/comment/-/comment-0.18.0.tgz",
-      "integrity": "sha512-yb/8dz/zIzXIa00L0Ed7/R8m2FupPZux/EMquwzbAOnTNcXeeaPVcp9kEMPf85b9D82csunXXdiOSalBVGjKWQ==",
-      "dev": true,
-      "requires": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "@codemirror/fold": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/fold/-/fold-0.18.0.tgz",
-      "integrity": "sha512-qZsl85rp1Wm2ifaw1E25paDRVGr0m2vKRIoUG5mv+G2NxJx6lsuMLgU7MKIJQ+3iDHUR2is2yU8d6lOwwp5IEg==",
-      "dev": true,
-      "requires": {
-        "@codemirror/gutter": "^0.18.0",
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "@codemirror/gutter": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/gutter/-/gutter-0.18.0.tgz",
-      "integrity": "sha512-9hcKzBM5EjhWwrau5Xiv0ll/yOvkgiyLnH7DTsjFCUvuyfbS45WVEMhQ6C+HfsoRVR4TJqRVLJjaIktZqaAqnw==",
-      "dev": true,
-      "requires": {
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "@codemirror/highlight": {
-      "version": "0.18.3",
-      "resolved": "https://registry.npmjs.org/@codemirror/highlight/-/highlight-0.18.3.tgz",
-      "integrity": "sha512-NmRmkmWl8ht6Y6Y39ghov84AMPCqhUPIH9fmILs2NaWxZFZf4jGCTzrULnmREGsTie+26+LbKUncIU+PBu1Qng==",
-      "dev": true,
-      "requires": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0",
-        "style-mod": "^4.0.0"
-      }
-    },
-    "@codemirror/history": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/history/-/history-0.18.0.tgz",
-      "integrity": "sha512-oMpvu7c8GQnEn1nX98+WuVQuMEVxOPJFU1yrA22sWfqG7lkrJAv7p4geCWOpwQY9/LWw4sICkDbCeirre4BqBA==",
-      "dev": true,
-      "requires": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "@codemirror/language": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-0.18.0.tgz",
-      "integrity": "sha512-gryu0Sej1vG3S3njwsJ+bhz9zLoJxZ2TahLlxpqOB3uqVGZrGDyE+GmZBnA6I3hwHvaO1O4WXKScVsKoW6HqFA==",
-      "dev": true,
-      "requires": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer": "^0.13.4",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "@codemirror/lint": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.1.tgz",
-      "integrity": "sha512-2Ueg/ojU56vF5thxMdS67XQzvHNcBnPKw2zgbDVmL/Z+84SMjP7EKvHV5FlbrKFNGZiwnaAKk5MZRYUwBY3f0g==",
-      "dev": true,
-      "requires": {
-        "@codemirror/panel": "^0.18.1",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/tooltip": "^0.18.4",
-        "@codemirror/view": "^0.18.0",
-        "crelt": "^1.0.5"
-      }
-    },
-    "@codemirror/matchbrackets": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/matchbrackets/-/matchbrackets-0.18.0.tgz",
-      "integrity": "sha512-dPDopnZVkD54sSYdmQbyQbPdiuIA83p7XxX6Hp1ScEkOjukwCiFXiA/84x10FUTsQpUYp8bDzm7gwII119bGIw==",
-      "dev": true,
-      "requires": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "@codemirror/panel": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.1.tgz",
-      "integrity": "sha512-5Zo9cUw0QDlFzX4nhIDYjTARPOnPk5rzxAUQo1O35kTLV+6zRh7wsGlvU7VrZnBcIoaAmHfKrZ4lt6+h7fbFGw==",
-      "dev": true,
-      "requires": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "@codemirror/rangeset": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/rangeset/-/rangeset-0.18.0.tgz",
-      "integrity": "sha512-+dpK3T6EFv2vkoAc3sTZld0N5SHZDjD3YowFYuMWn0Xw3t+u6k+JZlGBuaFTXdsLeF0auclsm0XhRUpMVuXhTg==",
-      "dev": true,
-      "requires": {
-        "@codemirror/state": "^0.18.0"
-      }
-    },
-    "@codemirror/rectangular-selection": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/rectangular-selection/-/rectangular-selection-0.18.0.tgz",
-      "integrity": "sha512-BQ4pp2zhXCVZNqct5LtLR3AOWVseENBF/3oOgBmwsCKH7c11NfTqIqgWG5EW8NLOXp8HP8cDm3np8eWez0VkGQ==",
-      "dev": true,
-      "requires": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "@codemirror/search": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.18.1.tgz",
-      "integrity": "sha512-T1yAZHLmCzaXicyHoW/45f/7ImQs87kajcl4+9F/uBgzDjvQAL1sL5NVVONze2UxGHPAHRPTLwvkPxKFgQ0kGg==",
-      "dev": true,
-      "requires": {
-        "@codemirror/panel": "^0.18.1",
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "crelt": "^1.0.5"
-      }
-    },
-    "@codemirror/state": {
-      "version": "0.18.2",
-      "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.18.2.tgz",
-      "integrity": "sha512-fzd9duIkRjSZFsz9lie0V6wa4zZac8LtjZYd9pSmNneDAoJx0AigFEswJ+KDdYuiPmsKd8NB0wXzoiGLLjP6MA==",
-      "dev": true,
-      "requires": {
-        "@codemirror/text": "^0.18.0"
-      }
-    },
-    "@codemirror/text": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/text/-/text-0.18.0.tgz",
-      "integrity": "sha512-HMzHNIAbjCiCf3tEJMRg6ul01KPuXxQGNiHlHgAnqPguq/CX+L4Nvj5JlWQAI91Pupk18zhmM1c6eaazX4YeTg==",
-      "dev": true
-    },
-    "@codemirror/tooltip": {
-      "version": "0.18.4",
-      "resolved": "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.4.tgz",
-      "integrity": "sha512-LDlDOSEfjoG24uapLN7exK3Z3JchYFKUwWqo1x/9YdlAkmD1ik7cMSQZboCquP1uJVcXhtbpKmaO6vENGVaarg==",
-      "dev": true,
-      "requires": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "@codemirror/view": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-0.18.1.tgz",
-      "integrity": "sha512-chyy+oEnywKMUFDMafVAMcrV+DkjJT3l6pSfN1cvM2LBM/eY54gekv/aXtmsBFRSnd+u09mhjb/kGB+EdNHIjg==",
-      "dev": true,
-      "requires": {
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "style-mod": "^4.0.0",
-        "w3c-keyname": "^2.2.4"
-      }
-    },
-    "@istanbuljs/load-nyc-config": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
-      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
-      "dev": true,
-      "requires": {
-        "camelcase": "^5.3.1",
-        "find-up": "^4.1.0",
-        "get-package-type": "^0.1.0",
-        "js-yaml": "^3.13.1",
-        "resolve-from": "^5.0.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "resolve-from": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-          "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
-          "dev": true
-        }
-      }
-    },
-    "@istanbuljs/schema": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
-      "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
-      "dev": true
-    },
-    "@tootallnate/once": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
-      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
-      "dev": true
-    },
-    "@types/anymatch": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz",
-      "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==",
-      "dev": true
-    },
-    "@types/chai": {
-      "version": "4.2.14",
-      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.14.tgz",
-      "integrity": "sha512-G+ITQPXkwTrslfG5L/BksmbLUA0M1iybEsmCWPqzSxsRRhJZimBKJkoMi8fr/CPygPTj4zO5pJH7I2/cm9M7SQ==",
-      "dev": true
-    },
-    "@types/eslint-visitor-keys": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
-      "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==",
-      "dev": true
-    },
-    "@types/glob": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
-      "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
-      "dev": true,
-      "requires": {
-        "@types/minimatch": "*",
-        "@types/node": "*"
-      }
-    },
-    "@types/html-minifier-terser": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
-      "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==",
-      "dev": true
-    },
-    "@types/json-schema": {
-      "version": "7.0.6",
-      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
-      "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
-      "dev": true
-    },
-    "@types/json5": {
-      "version": "0.0.29",
-      "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
-      "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
-      "dev": true
-    },
-    "@types/lru-cache": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.0.tgz",
-      "integrity": "sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w==",
-      "dev": true
-    },
-    "@types/minimatch": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
-      "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
-      "dev": true
-    },
-    "@types/mocha": {
-      "version": "8.0.4",
-      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.0.4.tgz",
-      "integrity": "sha512-M4BwiTJjHmLq6kjON7ZoI2JMlBvpY3BYSdiP6s/qCT3jb1s9/DeJF0JELpAxiVSIxXDzfNKe+r7yedMIoLbknQ==",
-      "dev": true
-    },
-    "@types/node": {
-      "version": "14.14.10",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz",
-      "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==",
-      "dev": true
-    },
-    "@types/source-list-map": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
-      "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
-      "dev": true
-    },
-    "@types/tapable": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz",
-      "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==",
-      "dev": true
-    },
-    "@types/uglify-js": {
-      "version": "3.11.1",
-      "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz",
-      "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==",
-      "dev": true,
-      "requires": {
-        "source-map": "^0.6.1"
-      }
-    },
-    "@types/webpack": {
-      "version": "4.41.25",
-      "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz",
-      "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==",
-      "dev": true,
-      "requires": {
-        "@types/anymatch": "*",
-        "@types/node": "*",
-        "@types/tapable": "*",
-        "@types/uglify-js": "*",
-        "@types/webpack-sources": "*",
-        "source-map": "^0.6.0"
-      }
-    },
-    "@types/webpack-sources": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz",
-      "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==",
-      "dev": true,
-      "requires": {
-        "@types/node": "*",
-        "@types/source-list-map": "*",
-        "source-map": "^0.7.3"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.7.3",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-          "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-          "dev": true
-        }
-      }
-    },
-    "@typescript-eslint/eslint-plugin": {
-      "version": "2.34.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz",
-      "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==",
-      "dev": true,
-      "requires": {
-        "@typescript-eslint/experimental-utils": "2.34.0",
-        "functional-red-black-tree": "^1.0.1",
-        "regexpp": "^3.0.0",
-        "tsutils": "^3.17.1"
-      }
-    },
-    "@typescript-eslint/experimental-utils": {
-      "version": "2.34.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz",
-      "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==",
-      "dev": true,
-      "requires": {
-        "@types/json-schema": "^7.0.3",
-        "@typescript-eslint/typescript-estree": "2.34.0",
-        "eslint-scope": "^5.0.0",
-        "eslint-utils": "^2.0.0"
-      }
-    },
-    "@typescript-eslint/parser": {
-      "version": "2.34.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz",
-      "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==",
-      "dev": true,
-      "requires": {
-        "@types/eslint-visitor-keys": "^1.0.0",
-        "@typescript-eslint/experimental-utils": "2.34.0",
-        "@typescript-eslint/typescript-estree": "2.34.0",
-        "eslint-visitor-keys": "^1.1.0"
-      }
-    },
-    "@typescript-eslint/typescript-estree": {
-      "version": "2.34.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz",
-      "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.1",
-        "eslint-visitor-keys": "^1.1.0",
-        "glob": "^7.1.6",
-        "is-glob": "^4.0.1",
-        "lodash": "^4.17.15",
-        "semver": "^7.3.2",
-        "tsutils": "^3.17.1"
-      }
-    },
-    "@ungap/promise-all-settled": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
-      "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
-      "dev": true
-    },
-    "@webassemblyjs/ast": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
-      "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0"
-      }
-    },
-    "@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
-      "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-api-error": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
-      "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-buffer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
-      "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-code-frame": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
-      "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/wast-printer": "1.9.0"
-      }
-    },
-    "@webassemblyjs/helper-fsm": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
-      "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-module-context": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
-      "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0"
-      }
-    },
-    "@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
-      "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-wasm-section": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
-      "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0"
-      }
-    },
-    "@webassemblyjs/ieee754": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
-      "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
-      "dev": true,
-      "requires": {
-        "@xtuc/ieee754": "^1.2.0"
-      }
-    },
-    "@webassemblyjs/leb128": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
-      "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
-      "dev": true,
-      "requires": {
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@webassemblyjs/utf8": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
-      "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
-      "dev": true
-    },
-    "@webassemblyjs/wasm-edit": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
-      "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/helper-wasm-section": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-opt": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "@webassemblyjs/wast-printer": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wasm-gen": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
-      "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wasm-opt": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
-      "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wasm-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
-      "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wast-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
-      "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/floating-point-hex-parser": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-code-frame": "1.9.0",
-        "@webassemblyjs/helper-fsm": "1.9.0",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@webassemblyjs/wast-printer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
-      "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@xtuc/ieee754": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
-      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
-      "dev": true
-    },
-    "@xtuc/long": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
-      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
-      "dev": true
-    },
-    "accepts": {
-      "version": "1.3.7",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
-      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
-      "dev": true,
-      "requires": {
-        "mime-types": "~2.1.24",
-        "negotiator": "0.6.2"
-      }
-    },
-    "acorn": {
-      "version": "7.4.1",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
-      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
-      "dev": true
-    },
-    "acorn-jsx": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
-      "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
-      "dev": true
-    },
-    "agent-base": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
-      "dev": true,
-      "requires": {
-        "debug": "4"
-      }
-    },
-    "aggregate-error": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
-      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
-      "dev": true,
-      "requires": {
-        "clean-stack": "^2.0.0",
-        "indent-string": "^4.0.0"
-      }
-    },
-    "ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
-      "requires": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      }
-    },
-    "ajv-errors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
-      "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
-      "dev": true
-    },
-    "ajv-keywords": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-      "dev": true
-    },
-    "ansi-colors": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
-      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
-      "dev": true
-    },
-    "ansi-escapes": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
-      "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
-      "dev": true,
-      "requires": {
-        "type-fest": "^0.11.0"
-      },
-      "dependencies": {
-        "type-fest": {
-          "version": "0.11.0",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
-          "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
-          "dev": true
-        }
-      }
-    },
-    "ansi-html": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
-      "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
-      "dev": true
-    },
-    "ansi-regex": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
-      "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
-      "dev": true
-    },
-    "ansi-styles": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-      "dev": true,
-      "requires": {
-        "color-convert": "^1.9.0"
-      }
-    },
-    "anymatch": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
-      "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
-      "dev": true,
-      "requires": {
-        "normalize-path": "^3.0.0",
-        "picomatch": "^2.0.4"
-      }
-    },
-    "append-transform": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
-      "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
-      "dev": true,
-      "requires": {
-        "default-require-extensions": "^3.0.0"
-      }
-    },
-    "aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
-    },
-    "archy": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
-      "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
-      "dev": true
-    },
-    "arg": {
-      "version": "4.1.3",
-      "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
-      "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
-      "dev": true
-    },
-    "argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-      "dev": true,
-      "requires": {
-        "sprintf-js": "~1.0.2"
-      }
-    },
-    "argv": {
-      "version": "0.0.2",
-      "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz",
-      "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=",
-      "dev": true
-    },
-    "arr-diff": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true
-    },
-    "arr-flatten": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true
-    },
-    "arr-union": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true
-    },
-    "array-flatten": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
-      "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
-      "dev": true
-    },
-    "array-includes": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz",
-      "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.1",
-        "get-intrinsic": "^1.0.1",
-        "is-string": "^1.0.5"
-      }
-    },
-    "array-union": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
-      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
-      "dev": true,
-      "requires": {
-        "array-uniq": "^1.0.1"
-      }
-    },
-    "array-uniq": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
-      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
-      "dev": true
-    },
-    "array-unique": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true
-    },
-    "array.prototype.flat": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz",
-      "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.1"
-      }
-    },
-    "arrify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
-      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
-      "dev": true
-    },
-    "asn1.js": {
-      "version": "5.4.1",
-      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
-      "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0",
-        "safer-buffer": "^2.1.0"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.11.9",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
-          "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
-          "dev": true
-        }
-      }
-    },
-    "assert": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
-      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
-      "dev": true,
-      "requires": {
-        "object-assign": "^4.1.1",
-        "util": "0.10.3"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
-          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
-          "dev": true
-        },
-        "util": {
-          "version": "0.10.3",
-          "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
-          "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-          "dev": true,
-          "requires": {
-            "inherits": "2.0.1"
-          }
-        }
-      }
-    },
-    "assertion-error": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
-      "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
-      "dev": true
-    },
-    "assign-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true
-    },
-    "astral-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
-      "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
-      "dev": true
-    },
-    "async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.14"
-      }
-    },
-    "async-each": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
-      "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
-      "dev": true
-    },
-    "async-limiter": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
-      "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
-      "dev": true
-    },
-    "atob": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true
-    },
-    "balanced-match": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
-      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
-      "dev": true
-    },
-    "base": {
-      "version": "0.11.2",
-      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
-      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
-      "requires": {
-        "cache-base": "^1.0.1",
-        "class-utils": "^0.3.5",
-        "component-emitter": "^1.2.1",
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.1",
-        "mixin-deep": "^1.2.0",
-        "pascalcase": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "base64-js": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
-      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
-      "dev": true
-    },
-    "batch": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
-      "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
-      "dev": true
-    },
-    "big.js": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
-      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
-      "dev": true
-    },
-    "binary-extensions": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
-      "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
-      "dev": true
-    },
-    "bluebird": {
-      "version": "3.7.2",
-      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
-      "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
-      "dev": true
-    },
-    "bn.js": {
-      "version": "5.1.3",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz",
-      "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==",
-      "dev": true
-    },
-    "body-parser": {
-      "version": "1.19.0",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
-      "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
-      "dev": true,
-      "requires": {
-        "bytes": "3.1.0",
-        "content-type": "~1.0.4",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "on-finished": "~2.3.0",
-        "qs": "6.7.0",
-        "raw-body": "2.4.0",
-        "type-is": "~1.6.17"
-      },
-      "dependencies": {
-        "bytes": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
-          "dev": true
-        },
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "bonjour": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
-      "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
-      "dev": true,
-      "requires": {
-        "array-flatten": "^2.1.0",
-        "deep-equal": "^1.0.1",
-        "dns-equal": "^1.0.0",
-        "dns-txt": "^2.0.2",
-        "multicast-dns": "^6.0.1",
-        "multicast-dns-service-types": "^1.1.0"
-      }
-    },
-    "boolbase": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
-      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
-      "dev": true
-    },
-    "brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "dev": true,
-      "requires": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "braces": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-      "dev": true,
-      "requires": {
-        "fill-range": "^7.0.1"
-      }
-    },
-    "brorand": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
-      "dev": true
-    },
-    "browser-stdout": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
-      "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
-      "dev": true
-    },
-    "browserify-aes": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
-      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "dev": true,
-      "requires": {
-        "buffer-xor": "^1.0.3",
-        "cipher-base": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.3",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "browserify-cipher": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
-      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "dev": true,
-      "requires": {
-        "browserify-aes": "^1.0.4",
-        "browserify-des": "^1.0.0",
-        "evp_bytestokey": "^1.0.0"
-      }
-    },
-    "browserify-des": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
-      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "des.js": "^1.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "browserify-rsa": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
-      "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^5.0.0",
-        "randombytes": "^2.0.1"
-      }
-    },
-    "browserify-sign": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
-      "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^5.1.1",
-        "browserify-rsa": "^4.0.1",
-        "create-hash": "^1.2.0",
-        "create-hmac": "^1.1.7",
-        "elliptic": "^6.5.3",
-        "inherits": "^2.0.4",
-        "parse-asn1": "^5.1.5",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      }
-    },
-    "browserify-zlib": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
-      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
-      "dev": true,
-      "requires": {
-        "pako": "~1.0.5"
-      }
-    },
-    "browserslist": {
-      "version": "4.16.3",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz",
-      "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==",
-      "dev": true,
-      "requires": {
-        "caniuse-lite": "^1.0.30001181",
-        "colorette": "^1.2.1",
-        "electron-to-chromium": "^1.3.649",
-        "escalade": "^3.1.1",
-        "node-releases": "^1.1.70"
-      }
-    },
-    "buffer": {
-      "version": "4.9.2",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
-      "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
-      "dev": true,
-      "requires": {
-        "base64-js": "^1.0.2",
-        "ieee754": "^1.1.4",
-        "isarray": "^1.0.0"
-      }
-    },
-    "buffer-from": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
-      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
-      "dev": true
-    },
-    "buffer-indexof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
-      "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
-      "dev": true
-    },
-    "buffer-xor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
-      "dev": true
-    },
-    "builtin-status-codes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
-      "dev": true
-    },
-    "bytes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
-      "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
-      "dev": true
-    },
-    "cacache": {
-      "version": "12.0.4",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
-      "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
-      "dev": true,
-      "requires": {
-        "bluebird": "^3.5.5",
-        "chownr": "^1.1.1",
-        "figgy-pudding": "^3.5.1",
-        "glob": "^7.1.4",
-        "graceful-fs": "^4.1.15",
-        "infer-owner": "^1.0.3",
-        "lru-cache": "^5.1.1",
-        "mississippi": "^3.0.0",
-        "mkdirp": "^0.5.1",
-        "move-concurrently": "^1.0.1",
-        "promise-inflight": "^1.0.1",
-        "rimraf": "^2.6.3",
-        "ssri": "^6.0.1",
-        "unique-filename": "^1.1.1",
-        "y18n": "^4.0.0"
-      },
-      "dependencies": {
-        "lru-cache": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
-          "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-          "dev": true,
-          "requires": {
-            "yallist": "^3.0.2"
-          }
-        },
-        "yallist": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
-        }
-      }
-    },
-    "cache-base": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
-      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
-      "requires": {
-        "collection-visit": "^1.0.0",
-        "component-emitter": "^1.2.1",
-        "get-value": "^2.0.6",
-        "has-value": "^1.0.0",
-        "isobject": "^3.0.1",
-        "set-value": "^2.0.0",
-        "to-object-path": "^0.3.0",
-        "union-value": "^1.0.0",
-        "unset-value": "^1.0.0"
-      }
-    },
-    "caching-transform": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
-      "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
-      "dev": true,
-      "requires": {
-        "hasha": "^5.0.0",
-        "make-dir": "^3.0.0",
-        "package-hash": "^4.0.0",
-        "write-file-atomic": "^3.0.0"
-      },
-      "dependencies": {
-        "make-dir": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-          "dev": true,
-          "requires": {
-            "semver": "^6.0.0"
-          }
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        }
-      }
-    },
-    "call-bind": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
-      "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1",
-        "get-intrinsic": "^1.0.0"
-      }
-    },
-    "callsites": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
-      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
-      "dev": true
-    },
-    "camel-case": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
-      "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
-      "dev": true,
-      "requires": {
-        "pascal-case": "^3.1.2",
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
-          "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==",
-          "dev": true
-        }
-      }
-    },
-    "camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-      "dev": true
-    },
-    "caniuse-lite": {
-      "version": "1.0.30001208",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001208.tgz",
-      "integrity": "sha512-OE5UE4+nBOro8Dyvv0lfx+SRtfVIOM9uhKqFmJeUbGriqhhStgp1A0OyBpgy3OUF8AhYCT+PVwPC1gMl2ZcQMA==",
-      "dev": true
-    },
-    "chai": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
-      "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
-      "dev": true,
-      "requires": {
-        "assertion-error": "^1.1.0",
-        "check-error": "^1.0.2",
-        "deep-eql": "^3.0.1",
-        "get-func-name": "^2.0.0",
-        "pathval": "^1.1.0",
-        "type-detect": "^4.0.5"
-      }
-    },
-    "chalk": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^3.2.1",
-        "escape-string-regexp": "^1.0.5",
-        "supports-color": "^5.3.0"
-      }
-    },
-    "chardet": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
-      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
-      "dev": true
-    },
-    "check-error": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
-      "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
-      "dev": true
-    },
-    "chokidar": {
-      "version": "3.4.3",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
-      "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
-      "dev": true,
-      "requires": {
-        "anymatch": "~3.1.1",
-        "braces": "~3.0.2",
-        "fsevents": "~2.1.2",
-        "glob-parent": "~5.1.0",
-        "is-binary-path": "~2.1.0",
-        "is-glob": "~4.0.1",
-        "normalize-path": "~3.0.0",
-        "readdirp": "~3.5.0"
-      }
-    },
-    "chownr": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-      "dev": true
-    },
-    "chrome-trace-event": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
-      "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==",
-      "dev": true,
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "cipher-base": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
-      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "class-utils": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
-      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "define-property": "^0.2.5",
-        "isobject": "^3.0.0",
-        "static-extend": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        }
-      }
-    },
-    "clean-css": {
-      "version": "4.2.3",
-      "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
-      "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
-      "dev": true,
-      "requires": {
-        "source-map": "~0.6.0"
-      }
-    },
-    "clean-stack": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
-      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
-      "dev": true
-    },
-    "clean-webpack-plugin": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz",
-      "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==",
-      "dev": true,
-      "requires": {
-        "@types/webpack": "^4.4.31",
-        "del": "^4.1.1"
-      }
-    },
-    "cli-cursor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
-      "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
-      "dev": true,
-      "requires": {
-        "restore-cursor": "^3.1.0"
-      }
-    },
-    "cli-width": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
-      "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
-      "dev": true
-    },
-    "cliui": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
-      "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
-      "dev": true,
-      "requires": {
-        "string-width": "^3.1.0",
-        "strip-ansi": "^5.2.0",
-        "wrap-ansi": "^5.1.0"
-      },
-      "dependencies": {
-        "emoji-regex": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-          "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
-          }
-        }
-      }
-    },
-    "codecov": {
-      "version": "3.8.1",
-      "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.8.1.tgz",
-      "integrity": "sha512-Qm7ltx1pzLPsliZY81jyaQ80dcNR4/JpcX0IHCIWrHBXgseySqbdbYfkdiXd7o/xmzQpGRVCKGYeTrHUpn6Dcw==",
-      "dev": true,
-      "requires": {
-        "argv": "0.0.2",
-        "ignore-walk": "3.0.3",
-        "js-yaml": "3.14.0",
-        "teeny-request": "6.0.1",
-        "urlgrey": "0.4.4"
-      }
-    },
-    "collection-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
-      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "dev": true,
-      "requires": {
-        "map-visit": "^1.0.0",
-        "object-visit": "^1.0.0"
-      }
-    },
-    "color-convert": {
-      "version": "1.9.3",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-      "dev": true,
-      "requires": {
-        "color-name": "1.1.3"
-      }
-    },
-    "color-name": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-      "dev": true
-    },
-    "colorette": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
-      "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
-      "dev": true
-    },
-    "commander": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
-      "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
-      "dev": true
-    },
-    "commondir": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
-      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
-      "dev": true
-    },
-    "component-emitter": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
-      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
-      "dev": true
-    },
-    "compressible": {
-      "version": "2.0.18",
-      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
-      "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
-      "dev": true,
-      "requires": {
-        "mime-db": ">= 1.43.0 < 2"
-      }
-    },
-    "compression": {
-      "version": "1.7.4",
-      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
-      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.5",
-        "bytes": "3.0.0",
-        "compressible": "~2.0.16",
-        "debug": "2.6.9",
-        "on-headers": "~1.0.2",
-        "safe-buffer": "5.1.2",
-        "vary": "~1.1.2"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        }
-      }
-    },
-    "concat-map": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
-      "dev": true
-    },
-    "concat-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
-      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "dev": true,
-      "requires": {
-        "buffer-from": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.2.2",
-        "typedarray": "^0.0.6"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "connect-history-api-fallback": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
-      "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
-      "dev": true
-    },
-    "console-browserify": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
-      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
-      "dev": true
-    },
-    "constants-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
-      "dev": true
-    },
-    "contains-path": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
-      "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
-      "dev": true
-    },
-    "content-disposition": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
-      "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "5.1.2"
-      },
-      "dependencies": {
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        }
-      }
-    },
-    "content-type": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
-      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
-      "dev": true
-    },
-    "convert-source-map": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
-      "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "~5.1.1"
-      },
-      "dependencies": {
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        }
-      }
-    },
-    "cookie": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
-      "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
-      "dev": true
-    },
-    "cookie-signature": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
-      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
-      "dev": true
-    },
-    "copy-concurrently": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
-      "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1",
-        "fs-write-stream-atomic": "^1.0.8",
-        "iferr": "^0.1.5",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.0"
-      }
-    },
-    "copy-descriptor": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true
-    },
-    "core-util-is": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
-      "dev": true
-    },
-    "create-ecdh": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
-      "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "elliptic": "^6.5.3"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.11.9",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
-          "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
-          "dev": true
-        }
-      }
-    },
-    "create-hash": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
-      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "inherits": "^2.0.1",
-        "md5.js": "^1.3.4",
-        "ripemd160": "^2.0.1",
-        "sha.js": "^2.4.0"
-      }
-    },
-    "create-hmac": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
-      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.3",
-        "create-hash": "^1.1.0",
-        "inherits": "^2.0.1",
-        "ripemd160": "^2.0.0",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "create-require": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
-      "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
-      "dev": true
-    },
-    "crelt": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz",
-      "integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==",
-      "dev": true
-    },
-    "cross-spawn": {
-      "version": "6.0.5",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
-      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
-      "dev": true,
-      "requires": {
-        "nice-try": "^1.0.4",
-        "path-key": "^2.0.1",
-        "semver": "^5.5.0",
-        "shebang-command": "^1.2.0",
-        "which": "^1.2.9"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "crypto-browserify": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
-      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
-      "dev": true,
-      "requires": {
-        "browserify-cipher": "^1.0.0",
-        "browserify-sign": "^4.0.0",
-        "create-ecdh": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.0",
-        "diffie-hellman": "^5.0.0",
-        "inherits": "^2.0.1",
-        "pbkdf2": "^3.0.3",
-        "public-encrypt": "^4.0.0",
-        "randombytes": "^2.0.0",
-        "randomfill": "^1.0.3"
-      }
-    },
-    "css-select": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
-      "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
-      "dev": true,
-      "requires": {
-        "boolbase": "~1.0.0",
-        "css-what": "2.1",
-        "domutils": "1.5.1",
-        "nth-check": "~1.0.1"
-      }
-    },
-    "css-what": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
-      "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
-      "dev": true
-    },
-    "cyclist": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
-      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
-      "dev": true
-    },
-    "debug": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
-      "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
-      "dev": true,
-      "requires": {
-        "ms": "2.1.2"
-      }
-    },
-    "decamelize": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
-      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
-      "dev": true
-    },
-    "decode-uri-component": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true
-    },
-    "deep-eql": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
-      "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
-      "dev": true,
-      "requires": {
-        "type-detect": "^4.0.0"
-      }
-    },
-    "deep-equal": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
-      "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
-      "dev": true,
-      "requires": {
-        "is-arguments": "^1.0.4",
-        "is-date-object": "^1.0.1",
-        "is-regex": "^1.0.4",
-        "object-is": "^1.0.1",
-        "object-keys": "^1.1.1",
-        "regexp.prototype.flags": "^1.2.0"
-      }
-    },
-    "deep-is": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
-      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
-      "dev": true
-    },
-    "default-gateway": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
-      "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==",
-      "dev": true,
-      "requires": {
-        "execa": "^1.0.0",
-        "ip-regex": "^2.1.0"
-      }
-    },
-    "default-require-extensions": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
-      "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==",
-      "dev": true,
-      "requires": {
-        "strip-bom": "^4.0.0"
-      },
-      "dependencies": {
-        "strip-bom": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
-          "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
-          "dev": true
-        }
-      }
-    },
-    "define-properties": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
-      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
-      "dev": true,
-      "requires": {
-        "object-keys": "^1.0.12"
-      }
-    },
-    "define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
-      "requires": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "dependencies": {
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "del": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
-      "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
-      "dev": true,
-      "requires": {
-        "@types/glob": "^7.1.1",
-        "globby": "^6.1.0",
-        "is-path-cwd": "^2.0.0",
-        "is-path-in-cwd": "^2.0.0",
-        "p-map": "^2.0.0",
-        "pify": "^4.0.1",
-        "rimraf": "^2.6.3"
-      }
-    },
-    "depd": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
-      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
-      "dev": true
-    },
-    "des.js": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
-      "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "destroy": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
-      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
-      "dev": true
-    },
-    "detect-file": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
-      "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
-      "dev": true
-    },
-    "detect-node": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
-      "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
-      "dev": true
-    },
-    "diff": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
-      "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
-      "dev": true
-    },
-    "diffie-hellman": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
-      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "miller-rabin": "^4.0.0",
-        "randombytes": "^2.0.0"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.11.9",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
-          "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
-          "dev": true
-        }
-      }
-    },
-    "dns-equal": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
-      "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
-      "dev": true
-    },
-    "dns-packet": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
-      "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
-      "dev": true,
-      "requires": {
-        "ip": "^1.1.0",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "dns-txt": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
-      "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
-      "dev": true,
-      "requires": {
-        "buffer-indexof": "^1.0.0"
-      }
-    },
-    "doctrine": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
-      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
-      "dev": true,
-      "requires": {
-        "esutils": "^2.0.2"
-      }
-    },
-    "dom-converter": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
-      "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
-      "dev": true,
-      "requires": {
-        "utila": "~0.4"
-      }
-    },
-    "dom-serializer": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
-      "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
-      "dev": true,
-      "requires": {
-        "domelementtype": "^2.0.1",
-        "entities": "^2.0.0"
-      },
-      "dependencies": {
-        "domelementtype": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz",
-          "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==",
-          "dev": true
-        }
-      }
-    },
-    "domain-browser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
-      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
-      "dev": true
-    },
-    "domelementtype": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
-      "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
-      "dev": true
-    },
-    "domhandler": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
-      "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
-      "dev": true,
-      "requires": {
-        "domelementtype": "1"
-      }
-    },
-    "domutils": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
-      "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
-      "dev": true,
-      "requires": {
-        "dom-serializer": "0",
-        "domelementtype": "1"
-      }
-    },
-    "dot-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
-      "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
-      "dev": true,
-      "requires": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
-          "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==",
-          "dev": true
-        }
-      }
-    },
-    "duplexify": {
-      "version": "3.7.1",
-      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
-      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0",
-        "stream-shift": "^1.0.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "ee-first": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
-      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
-      "dev": true
-    },
-    "electron-to-chromium": {
-      "version": "1.3.712",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.712.tgz",
-      "integrity": "sha512-3kRVibBeCM4vsgoHHGKHmPocLqtFAGTrebXxxtgKs87hNUzXrX2NuS3jnBys7IozCnw7viQlozxKkmty2KNfrw==",
-      "dev": true
-    },
-    "elliptic": {
-      "version": "6.5.4",
-      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
-      "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.11.9",
-        "brorand": "^1.1.0",
-        "hash.js": "^1.0.0",
-        "hmac-drbg": "^1.0.1",
-        "inherits": "^2.0.4",
-        "minimalistic-assert": "^1.0.1",
-        "minimalistic-crypto-utils": "^1.0.1"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.11.9",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
-          "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
-          "dev": true
-        }
-      }
-    },
-    "emoji-regex": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-      "dev": true
-    },
-    "emojis-list": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
-      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
-      "dev": true
-    },
-    "encodeurl": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
-      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
-      "dev": true
-    },
-    "end-of-stream": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
-      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
-      "dev": true,
-      "requires": {
-        "once": "^1.4.0"
-      }
-    },
-    "enhanced-resolve": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz",
-      "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "memory-fs": "^0.5.0",
-        "tapable": "^1.0.0"
-      }
-    },
-    "entities": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
-      "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
-      "dev": true
-    },
-    "errno": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
-      "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
-      "dev": true,
-      "requires": {
-        "prr": "~1.0.1"
-      }
-    },
-    "error-ex": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
-      "dev": true,
-      "requires": {
-        "is-arrayish": "^0.2.1"
-      }
-    },
-    "es-abstract": {
-      "version": "1.18.0-next.1",
-      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
-      "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
-      "dev": true,
-      "requires": {
-        "es-to-primitive": "^1.2.1",
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.1",
-        "is-callable": "^1.2.2",
-        "is-negative-zero": "^2.0.0",
-        "is-regex": "^1.1.1",
-        "object-inspect": "^1.8.0",
-        "object-keys": "^1.1.1",
-        "object.assign": "^4.1.1",
-        "string.prototype.trimend": "^1.0.1",
-        "string.prototype.trimstart": "^1.0.1"
-      }
-    },
-    "es-to-primitive": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
-      "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
-      "dev": true,
-      "requires": {
-        "is-callable": "^1.1.4",
-        "is-date-object": "^1.0.1",
-        "is-symbol": "^1.0.2"
-      }
-    },
-    "es6-error": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
-      "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
-      "dev": true
-    },
-    "escalade": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
-      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
-      "dev": true
-    },
-    "escape-html": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
-      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
-      "dev": true
-    },
-    "escape-string-regexp": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true
-    },
-    "eslint": {
-      "version": "6.8.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
-      "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "ajv": "^6.10.0",
-        "chalk": "^2.1.0",
-        "cross-spawn": "^6.0.5",
-        "debug": "^4.0.1",
-        "doctrine": "^3.0.0",
-        "eslint-scope": "^5.0.0",
-        "eslint-utils": "^1.4.3",
-        "eslint-visitor-keys": "^1.1.0",
-        "espree": "^6.1.2",
-        "esquery": "^1.0.1",
-        "esutils": "^2.0.2",
-        "file-entry-cache": "^5.0.1",
-        "functional-red-black-tree": "^1.0.1",
-        "glob-parent": "^5.0.0",
-        "globals": "^12.1.0",
-        "ignore": "^4.0.6",
-        "import-fresh": "^3.0.0",
-        "imurmurhash": "^0.1.4",
-        "inquirer": "^7.0.0",
-        "is-glob": "^4.0.0",
-        "js-yaml": "^3.13.1",
-        "json-stable-stringify-without-jsonify": "^1.0.1",
-        "levn": "^0.3.0",
-        "lodash": "^4.17.14",
-        "minimatch": "^3.0.4",
-        "mkdirp": "^0.5.1",
-        "natural-compare": "^1.4.0",
-        "optionator": "^0.8.3",
-        "progress": "^2.0.0",
-        "regexpp": "^2.0.1",
-        "semver": "^6.1.2",
-        "strip-ansi": "^5.2.0",
-        "strip-json-comments": "^3.0.1",
-        "table": "^5.2.3",
-        "text-table": "^0.2.0",
-        "v8-compile-cache": "^2.0.3"
-      },
-      "dependencies": {
-        "eslint-utils": {
-          "version": "1.4.3",
-          "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
-          "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
-          "dev": true,
-          "requires": {
-            "eslint-visitor-keys": "^1.1.0"
-          }
-        },
-        "regexpp": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
-          "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
-          "dev": true
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        }
-      }
-    },
-    "eslint-config-prettier": {
-      "version": "6.15.0",
-      "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz",
-      "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==",
-      "dev": true,
-      "requires": {
-        "get-stdin": "^6.0.0"
-      }
-    },
-    "eslint-import-resolver-node": {
-      "version": "0.3.4",
-      "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz",
-      "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==",
-      "dev": true,
-      "requires": {
-        "debug": "^2.6.9",
-        "resolve": "^1.13.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "eslint-module-utils": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz",
-      "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==",
-      "dev": true,
-      "requires": {
-        "debug": "^2.6.9",
-        "pkg-dir": "^2.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "eslint-plugin-flowtype": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.2.0.tgz",
-      "integrity": "sha512-z7ULdTxuhlRJcEe1MVljePXricuPOrsWfScRXFhNzVD5dmTHWjIF57AxD0e7AbEoLSbjSsaA5S+hCg43WvpXJQ==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.15",
-        "string-natural-compare": "^3.0.1"
-      }
-    },
-    "eslint-plugin-import": {
-      "version": "2.22.1",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz",
-      "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==",
-      "dev": true,
-      "requires": {
-        "array-includes": "^3.1.1",
-        "array.prototype.flat": "^1.2.3",
-        "contains-path": "^0.1.0",
-        "debug": "^2.6.9",
-        "doctrine": "1.5.0",
-        "eslint-import-resolver-node": "^0.3.4",
-        "eslint-module-utils": "^2.6.0",
-        "has": "^1.0.3",
-        "minimatch": "^3.0.4",
-        "object.values": "^1.1.1",
-        "read-pkg-up": "^2.0.0",
-        "resolve": "^1.17.0",
-        "tsconfig-paths": "^3.9.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "doctrine": {
-          "version": "1.5.0",
-          "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
-          "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "isarray": "^1.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "eslint-plugin-prettier": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.2.0.tgz",
-      "integrity": "sha512-kOUSJnFjAUFKwVxuzy6sA5yyMx6+o9ino4gCdShzBNx4eyFRudWRYKCFolKjoM40PEiuU6Cn7wBLfq3WsGg7qg==",
-      "dev": true,
-      "requires": {
-        "prettier-linter-helpers": "^1.0.0"
-      }
-    },
-    "eslint-scope": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
-      "dev": true,
-      "requires": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^4.1.1"
-      }
-    },
-    "eslint-utils": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
-      "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
-      "dev": true,
-      "requires": {
-        "eslint-visitor-keys": "^1.1.0"
-      }
-    },
-    "eslint-visitor-keys": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
-      "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
-      "dev": true
-    },
-    "espree": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
-      "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
-      "dev": true,
-      "requires": {
-        "acorn": "^7.1.1",
-        "acorn-jsx": "^5.2.0",
-        "eslint-visitor-keys": "^1.1.0"
-      }
-    },
-    "esprima": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
-      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
-      "dev": true
-    },
-    "esquery": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
-      "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
-      "dev": true,
-      "requires": {
-        "estraverse": "^5.1.0"
-      },
-      "dependencies": {
-        "estraverse": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
-          "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
-          "dev": true
-        }
-      }
-    },
-    "esrecurse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
-      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
-      "dev": true,
-      "requires": {
-        "estraverse": "^5.2.0"
-      },
-      "dependencies": {
-        "estraverse": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
-          "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
-          "dev": true
-        }
-      }
-    },
-    "estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true
-    },
-    "esutils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
-      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
-      "dev": true
-    },
-    "etag": {
-      "version": "1.8.1",
-      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
-      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
-      "dev": true
-    },
-    "eventemitter3": {
-      "version": "4.0.7",
-      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
-      "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
-      "dev": true
-    },
-    "events": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz",
-      "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==",
-      "dev": true
-    },
-    "eventsource": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz",
-      "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==",
-      "dev": true,
-      "requires": {
-        "original": "^1.0.0"
-      }
-    },
-    "evp_bytestokey": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
-      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "dev": true,
-      "requires": {
-        "md5.js": "^1.3.4",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "execa": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
-      "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
-      "dev": true,
-      "requires": {
-        "cross-spawn": "^6.0.0",
-        "get-stream": "^4.0.0",
-        "is-stream": "^1.1.0",
-        "npm-run-path": "^2.0.0",
-        "p-finally": "^1.0.0",
-        "signal-exit": "^3.0.0",
-        "strip-eof": "^1.0.0"
-      }
-    },
-    "expand-brackets": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
-      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "dev": true,
-      "requires": {
-        "debug": "^2.3.3",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "posix-character-classes": "^0.1.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "expand-tilde": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
-      "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
-      "dev": true,
-      "requires": {
-        "homedir-polyfill": "^1.0.1"
-      }
-    },
-    "express": {
-      "version": "4.17.1",
-      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
-      "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.7",
-        "array-flatten": "1.1.1",
-        "body-parser": "1.19.0",
-        "content-disposition": "0.5.3",
-        "content-type": "~1.0.4",
-        "cookie": "0.4.0",
-        "cookie-signature": "1.0.6",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "finalhandler": "~1.1.2",
-        "fresh": "0.5.2",
-        "merge-descriptors": "1.0.1",
-        "methods": "~1.1.2",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.7",
-        "proxy-addr": "~2.0.5",
-        "qs": "6.7.0",
-        "range-parser": "~1.2.1",
-        "safe-buffer": "5.1.2",
-        "send": "0.17.1",
-        "serve-static": "1.14.1",
-        "setprototypeof": "1.1.1",
-        "statuses": "~1.5.0",
-        "type-is": "~1.6.18",
-        "utils-merge": "1.0.1",
-        "vary": "~1.1.2"
-      },
-      "dependencies": {
-        "array-flatten": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
-          "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
-          "dev": true
-        },
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        }
-      }
-    },
-    "extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "requires": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "external-editor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
-      "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
-      "dev": true,
-      "requires": {
-        "chardet": "^0.7.0",
-        "iconv-lite": "^0.4.24",
-        "tmp": "^0.0.33"
-      }
-    },
-    "extglob": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
-      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
-      "requires": {
-        "array-unique": "^0.3.2",
-        "define-property": "^1.0.0",
-        "expand-brackets": "^2.1.4",
-        "extend-shallow": "^2.0.1",
-        "fragment-cache": "^0.2.1",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "fast-deep-equal": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
-      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
-      "dev": true
-    },
-    "fast-diff": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
-      "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
-      "dev": true
-    },
-    "fast-json-stable-stringify": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
-      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
-      "dev": true
-    },
-    "fast-levenshtein": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
-      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
-      "dev": true
-    },
-    "faye-websocket": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
-      "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
-      "dev": true,
-      "requires": {
-        "websocket-driver": ">=0.5.1"
-      }
-    },
-    "figgy-pudding": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
-      "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
-      "dev": true
-    },
-    "figures": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
-      "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
-      "dev": true,
-      "requires": {
-        "escape-string-regexp": "^1.0.5"
-      }
-    },
-    "file-entry-cache": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
-      "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
-      "dev": true,
-      "requires": {
-        "flat-cache": "^2.0.1"
-      }
-    },
-    "fill-range": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-      "dev": true,
-      "requires": {
-        "to-regex-range": "^5.0.1"
-      }
-    },
-    "finalhandler": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
-      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
-      "dev": true,
-      "requires": {
-        "debug": "2.6.9",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "statuses": "~1.5.0",
-        "unpipe": "~1.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "find-cache-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
-      "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
-      "dev": true,
-      "requires": {
-        "commondir": "^1.0.1",
-        "make-dir": "^2.0.0",
-        "pkg-dir": "^3.0.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^3.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-          "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^3.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-          "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.0.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-          "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-          "dev": true,
-          "requires": {
-            "find-up": "^3.0.0"
-          }
-        }
-      }
-    },
-    "find-up": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
-      "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
-      "dev": true,
-      "requires": {
-        "locate-path": "^2.0.0"
-      }
-    },
-    "findup-sync": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
-      "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
-      "dev": true,
-      "requires": {
-        "detect-file": "^1.0.0",
-        "is-glob": "^4.0.0",
-        "micromatch": "^3.0.4",
-        "resolve-dir": "^1.0.1"
-      },
-      "dependencies": {
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "flat": {
-      "version": "5.0.2",
-      "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
-      "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
-      "dev": true
-    },
-    "flat-cache": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
-      "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
-      "dev": true,
-      "requires": {
-        "flatted": "^2.0.0",
-        "rimraf": "2.6.3",
-        "write": "1.0.3"
-      },
-      "dependencies": {
-        "rimraf": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
-          "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        }
-      }
-    },
-    "flatted": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
-      "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
-      "dev": true
-    },
-    "flush-write-stream": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
-      "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.3.6"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "follow-redirects": {
-      "version": "1.13.0",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz",
-      "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==",
-      "dev": true
-    },
-    "for-in": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true
-    },
-    "foreground-child": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
-      "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
-      "dev": true,
-      "requires": {
-        "cross-spawn": "^7.0.0",
-        "signal-exit": "^3.0.2"
-      },
-      "dependencies": {
-        "cross-spawn": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
-          "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
-          "dev": true,
-          "requires": {
-            "path-key": "^3.1.0",
-            "shebang-command": "^2.0.0",
-            "which": "^2.0.1"
-          }
-        },
-        "path-key": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
-          "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
-          "dev": true
-        },
-        "shebang-command": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
-          "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
-          "dev": true,
-          "requires": {
-            "shebang-regex": "^3.0.0"
-          }
-        },
-        "shebang-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
-          "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
-          "dev": true
-        },
-        "which": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
-          "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-          "dev": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        }
-      }
-    },
-    "forwarded": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
-      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
-      "dev": true
-    },
-    "fragment-cache": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
-      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "dev": true,
-      "requires": {
-        "map-cache": "^0.2.2"
-      }
-    },
-    "fresh": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
-      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
-      "dev": true
-    },
-    "from2": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
-      "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "fromentries": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
-      "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
-      "dev": true
-    },
-    "fs-write-stream-atomic": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
-      "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "iferr": "^0.1.5",
-        "imurmurhash": "^0.1.4",
-        "readable-stream": "1 || 2"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
-      "dev": true
-    },
-    "fsevents": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
-      "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
-      "dev": true,
-      "optional": true
-    },
-    "function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
-      "dev": true
-    },
-    "functional-red-black-tree": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
-      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
-      "dev": true
-    },
-    "gensync": {
-      "version": "1.0.0-beta.2",
-      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
-      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
-      "dev": true
-    },
-    "get-caller-file": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
-      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
-      "dev": true
-    },
-    "get-func-name": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
-      "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
-      "dev": true
-    },
-    "get-intrinsic": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz",
-      "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.1"
-      }
-    },
-    "get-package-type": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
-      "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
-      "dev": true
-    },
-    "get-stdin": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
-      "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
-      "dev": true
-    },
-    "get-stream": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
-      "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
-      "dev": true,
-      "requires": {
-        "pump": "^3.0.0"
-      }
-    },
-    "get-value": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true
-    },
-    "glob": {
-      "version": "7.1.6",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
-      "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
-      "dev": true,
-      "requires": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.0.4",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      }
-    },
-    "glob-parent": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
-      "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
-      "dev": true,
-      "requires": {
-        "is-glob": "^4.0.1"
-      }
-    },
-    "global-modules": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
-      "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
-      "dev": true,
-      "requires": {
-        "global-prefix": "^3.0.0"
-      },
-      "dependencies": {
-        "global-prefix": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
-          "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
-          "dev": true,
-          "requires": {
-            "ini": "^1.3.5",
-            "kind-of": "^6.0.2",
-            "which": "^1.3.1"
-          }
-        }
-      }
-    },
-    "global-prefix": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
-      "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
-      "dev": true,
-      "requires": {
-        "expand-tilde": "^2.0.2",
-        "homedir-polyfill": "^1.0.1",
-        "ini": "^1.3.4",
-        "is-windows": "^1.0.1",
-        "which": "^1.2.14"
-      }
-    },
-    "globals": {
-      "version": "12.4.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
-      "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
-      "dev": true,
-      "requires": {
-        "type-fest": "^0.8.1"
-      }
-    },
-    "globby": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
-      "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
-      "dev": true,
-      "requires": {
-        "array-union": "^1.0.1",
-        "glob": "^7.0.3",
-        "object-assign": "^4.0.1",
-        "pify": "^2.0.0",
-        "pinkie-promise": "^2.0.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        }
-      }
-    },
-    "graceful-fs": {
-      "version": "4.2.4",
-      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
-      "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
-      "dev": true
-    },
-    "growl": {
-      "version": "1.10.5",
-      "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
-      "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
-      "dev": true
-    },
-    "handle-thing": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
-      "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
-      "dev": true
-    },
-    "has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1"
-      }
-    },
-    "has-flag": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-      "dev": true
-    },
-    "has-symbols": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
-      "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
-      "dev": true
-    },
-    "has-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
-      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "dev": true,
-      "requires": {
-        "get-value": "^2.0.6",
-        "has-values": "^1.0.0",
-        "isobject": "^3.0.0"
-      }
-    },
-    "has-values": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
-      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "dev": true,
-      "requires": {
-        "is-number": "^3.0.0",
-        "kind-of": "^4.0.0"
-      },
-      "dependencies": {
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "kind-of": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
-          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "hash-base": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
-      "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      }
-    },
-    "hash.js": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
-      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "minimalistic-assert": "^1.0.1"
-      }
-    },
-    "hasha": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
-      "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==",
-      "dev": true,
-      "requires": {
-        "is-stream": "^2.0.0",
-        "type-fest": "^0.8.0"
-      },
-      "dependencies": {
-        "is-stream": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
-          "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
-          "dev": true
-        }
-      }
-    },
-    "he": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
-      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
-      "dev": true
-    },
-    "hmac-drbg": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
-      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
-      "dev": true,
-      "requires": {
-        "hash.js": "^1.0.3",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "homedir-polyfill": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
-      "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
-      "dev": true,
-      "requires": {
-        "parse-passwd": "^1.0.0"
-      }
-    },
-    "hosted-git-info": {
-      "version": "2.8.9",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
-      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
-      "dev": true
-    },
-    "hpack.js": {
-      "version": "2.1.6",
-      "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
-      "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "obuf": "^1.0.0",
-        "readable-stream": "^2.0.1",
-        "wbuf": "^1.1.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "html-entities": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz",
-      "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==",
-      "dev": true
-    },
-    "html-escaper": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
-      "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
-      "dev": true
-    },
-    "html-minifier-terser": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
-      "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==",
-      "dev": true,
-      "requires": {
-        "camel-case": "^4.1.1",
-        "clean-css": "^4.2.3",
-        "commander": "^4.1.1",
-        "he": "^1.2.0",
-        "param-case": "^3.0.3",
-        "relateurl": "^0.2.7",
-        "terser": "^4.6.3"
-      }
-    },
-    "html-webpack-plugin": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz",
-      "integrity": "sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==",
-      "dev": true,
-      "requires": {
-        "@types/html-minifier-terser": "^5.0.0",
-        "@types/tapable": "^1.0.5",
-        "@types/webpack": "^4.41.8",
-        "html-minifier-terser": "^5.0.1",
-        "loader-utils": "^1.2.3",
-        "lodash": "^4.17.15",
-        "pretty-error": "^2.1.1",
-        "tapable": "^1.1.3",
-        "util.promisify": "1.0.0"
-      }
-    },
-    "htmlparser2": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
-      "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
-      "dev": true,
-      "requires": {
-        "domelementtype": "^1.3.1",
-        "domhandler": "^2.3.0",
-        "domutils": "^1.5.1",
-        "entities": "^1.1.1",
-        "inherits": "^2.0.1",
-        "readable-stream": "^3.1.1"
-      },
-      "dependencies": {
-        "entities": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
-          "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
-          "dev": true
-        }
-      }
-    },
-    "http-deceiver": {
-      "version": "1.2.7",
-      "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
-      "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
-      "dev": true
-    },
-    "http-errors": {
-      "version": "1.7.2",
-      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
-      "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
-      "dev": true,
-      "requires": {
-        "depd": "~1.1.2",
-        "inherits": "2.0.3",
-        "setprototypeof": "1.1.1",
-        "statuses": ">= 1.5.0 < 2",
-        "toidentifier": "1.0.0"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        }
-      }
-    },
-    "http-proxy": {
-      "version": "1.18.1",
-      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
-      "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
-      "dev": true,
-      "requires": {
-        "eventemitter3": "^4.0.0",
-        "follow-redirects": "^1.0.0",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "http-proxy-agent": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
-      "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
-      "dev": true,
-      "requires": {
-        "@tootallnate/once": "1",
-        "agent-base": "6",
-        "debug": "4"
-      }
-    },
-    "http-proxy-middleware": {
-      "version": "0.19.1",
-      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
-      "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
-      "dev": true,
-      "requires": {
-        "http-proxy": "^1.17.0",
-        "is-glob": "^4.0.0",
-        "lodash": "^4.17.11",
-        "micromatch": "^3.1.10"
-      },
-      "dependencies": {
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "https-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
-      "dev": true
-    },
-    "https-proxy-agent": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
-      "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
-      "dev": true,
-      "requires": {
-        "agent-base": "5",
-        "debug": "4"
-      },
-      "dependencies": {
-        "agent-base": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
-          "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
-          "dev": true
-        }
-      }
-    },
-    "iconv-lite": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
-      "dev": true,
-      "requires": {
-        "safer-buffer": ">= 2.1.2 < 3"
-      }
-    },
-    "ieee754": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
-      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
-      "dev": true
-    },
-    "iferr": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
-      "dev": true
-    },
-    "ignore": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
-      "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
-      "dev": true
-    },
-    "ignore-walk": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
-      "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
-      "dev": true,
-      "requires": {
-        "minimatch": "^3.0.4"
-      }
-    },
-    "import-fresh": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz",
-      "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==",
-      "dev": true,
-      "requires": {
-        "parent-module": "^1.0.0",
-        "resolve-from": "^4.0.0"
-      }
-    },
-    "import-local": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
-      "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
-      "dev": true,
-      "requires": {
-        "pkg-dir": "^3.0.0",
-        "resolve-cwd": "^2.0.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^3.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-          "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^3.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-          "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.0.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-          "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-          "dev": true,
-          "requires": {
-            "find-up": "^3.0.0"
-          }
-        }
-      }
-    },
-    "imurmurhash": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
-      "dev": true
-    },
-    "indent-string": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
-      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
-      "dev": true
-    },
-    "infer-owner": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
-      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
-      "dev": true
-    },
-    "inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
-      "dev": true,
-      "requires": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
-    "inherits": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
-      "dev": true
-    },
-    "ini": {
-      "version": "1.3.8",
-      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
-      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
-      "dev": true
-    },
-    "inquirer": {
-      "version": "7.3.3",
-      "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
-      "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
-      "dev": true,
-      "requires": {
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^4.1.0",
-        "cli-cursor": "^3.1.0",
-        "cli-width": "^3.0.0",
-        "external-editor": "^3.0.3",
-        "figures": "^3.0.0",
-        "lodash": "^4.17.19",
-        "mute-stream": "0.0.8",
-        "run-async": "^2.4.0",
-        "rxjs": "^6.6.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0",
-        "through": "^2.3.6"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
-          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "strip-ansi": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
-          "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^5.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "internal-ip": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
-      "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==",
-      "dev": true,
-      "requires": {
-        "default-gateway": "^4.2.0",
-        "ipaddr.js": "^1.9.0"
-      }
-    },
-    "interpret": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
-      "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
-      "dev": true
-    },
-    "ip": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
-      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
-      "dev": true
-    },
-    "ip-regex": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
-      "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
-      "dev": true
-    },
-    "ipaddr.js": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
-      "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
-      "dev": true
-    },
-    "is-absolute-url": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz",
-      "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==",
-      "dev": true
-    },
-    "is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "is-arguments": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
-      "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==",
-      "dev": true
-    },
-    "is-arrayish": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
-      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
-      "dev": true
-    },
-    "is-binary-path": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
-      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-      "dev": true,
-      "requires": {
-        "binary-extensions": "^2.0.0"
-      }
-    },
-    "is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
-    },
-    "is-callable": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
-      "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
-      "dev": true
-    },
-    "is-core-module": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
-      "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
-      "dev": true,
-      "requires": {
-        "has": "^1.0.3"
-      }
-    },
-    "is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "is-date-object": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
-      "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
-      "dev": true
-    },
-    "is-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
-      "requires": {
-        "is-accessor-descriptor": "^0.1.6",
-        "is-data-descriptor": "^0.1.4",
-        "kind-of": "^5.0.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-          "dev": true
-        }
-      }
-    },
-    "is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true
-    },
-    "is-extglob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true
-    },
-    "is-fullwidth-code-point": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-      "dev": true
-    },
-    "is-glob": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
-      "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
-      "dev": true,
-      "requires": {
-        "is-extglob": "^2.1.1"
-      }
-    },
-    "is-negative-zero": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
-      "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=",
-      "dev": true
-    },
-    "is-number": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-      "dev": true
-    },
-    "is-path-cwd": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
-      "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
-      "dev": true
-    },
-    "is-path-in-cwd": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
-      "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
-      "dev": true,
-      "requires": {
-        "is-path-inside": "^2.1.0"
-      }
-    },
-    "is-path-inside": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
-      "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
-      "dev": true,
-      "requires": {
-        "path-is-inside": "^1.0.2"
-      }
-    },
-    "is-plain-obj": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
-      "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
-      "dev": true
-    },
-    "is-plain-object": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
-      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "is-regex": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
-      "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
-      "dev": true,
-      "requires": {
-        "has-symbols": "^1.0.1"
-      }
-    },
-    "is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true
-    },
-    "is-string": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
-      "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
-      "dev": true
-    },
-    "is-symbol": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
-      "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
-      "dev": true,
-      "requires": {
-        "has-symbols": "^1.0.1"
-      }
-    },
-    "is-typedarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
-      "dev": true
-    },
-    "is-windows": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "dev": true
-    },
-    "is-wsl": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
-      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
-      "dev": true
-    },
-    "isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "isexe": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
-      "dev": true
-    },
-    "isobject": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true
-    },
-    "isomorphic-fetch": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz",
-      "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==",
-      "dev": true,
-      "requires": {
-        "node-fetch": "^2.6.1",
-        "whatwg-fetch": "^3.4.1"
-      }
-    },
-    "istanbul-lib-coverage": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
-      "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
-      "dev": true
-    },
-    "istanbul-lib-hook": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz",
-      "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==",
-      "dev": true,
-      "requires": {
-        "append-transform": "^2.0.0"
-      }
-    },
-    "istanbul-lib-instrument": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
-      "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
-      "dev": true,
-      "requires": {
-        "@babel/core": "^7.7.5",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-coverage": "^3.0.0",
-        "semver": "^6.3.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        }
-      }
-    },
-    "istanbul-lib-processinfo": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz",
-      "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==",
-      "dev": true,
-      "requires": {
-        "archy": "^1.0.0",
-        "cross-spawn": "^7.0.0",
-        "istanbul-lib-coverage": "^3.0.0-alpha.1",
-        "make-dir": "^3.0.0",
-        "p-map": "^3.0.0",
-        "rimraf": "^3.0.0",
-        "uuid": "^3.3.3"
-      },
-      "dependencies": {
-        "cross-spawn": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
-          "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
-          "dev": true,
-          "requires": {
-            "path-key": "^3.1.0",
-            "shebang-command": "^2.0.0",
-            "which": "^2.0.1"
-          }
-        },
-        "make-dir": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-          "dev": true,
-          "requires": {
-            "semver": "^6.0.0"
-          }
-        },
-        "p-map": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
-          "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
-          "dev": true,
-          "requires": {
-            "aggregate-error": "^3.0.0"
-          }
-        },
-        "path-key": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
-          "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
-          "dev": true
-        },
-        "rimraf": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        },
-        "shebang-command": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
-          "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
-          "dev": true,
-          "requires": {
-            "shebang-regex": "^3.0.0"
-          }
-        },
-        "shebang-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
-          "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
-          "dev": true
-        },
-        "which": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
-          "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-          "dev": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        }
-      }
-    },
-    "istanbul-lib-report": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
-      "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
-      "dev": true,
-      "requires": {
-        "istanbul-lib-coverage": "^3.0.0",
-        "make-dir": "^3.0.0",
-        "supports-color": "^7.1.0"
-      },
-      "dependencies": {
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "make-dir": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-          "dev": true,
-          "requires": {
-            "semver": "^6.0.0"
-          }
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "istanbul-lib-source-maps": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
-      "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.1",
-        "istanbul-lib-coverage": "^3.0.0",
-        "source-map": "^0.6.1"
-      }
-    },
-    "istanbul-reports": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
-      "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
-      "dev": true,
-      "requires": {
-        "html-escaper": "^2.0.0",
-        "istanbul-lib-report": "^3.0.0"
-      }
-    },
-    "js-tokens": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-      "dev": true
-    },
-    "js-yaml": {
-      "version": "3.14.0",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
-      "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
-      "dev": true,
-      "requires": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      }
-    },
-    "jsesc": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
-      "dev": true
-    },
-    "json-parse-better-errors": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
-      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
-      "dev": true
-    },
-    "json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "json-stable-stringify-without-jsonify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
-      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
-      "dev": true
-    },
-    "json-stringify-safe": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
-      "dev": true
-    },
-    "json3": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
-      "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==",
-      "dev": true
-    },
-    "json5": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-      "dev": true,
-      "requires": {
-        "minimist": "^1.2.0"
-      }
-    },
-    "killable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
-      "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==",
-      "dev": true
-    },
-    "kind-of": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
-      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-      "dev": true
-    },
-    "levn": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
-      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
-      "dev": true,
-      "requires": {
-        "prelude-ls": "~1.1.2",
-        "type-check": "~0.3.2"
-      }
-    },
-    "lezer": {
-      "version": "0.13.4",
-      "resolved": "https://registry.npmjs.org/lezer/-/lezer-0.13.4.tgz",
-      "integrity": "sha512-cLQxUVY28VBBqKBt/R8CYeH57KQnIvscAnoahzvhlZTK8qxMkIyGExR6ecEpYYDX06ZhROZrEm1IiPvjLAsTig==",
-      "dev": true,
-      "requires": {
-        "lezer-tree": "^0.13.2"
-      }
-    },
-    "lezer-generator": {
-      "version": "0.13.4",
-      "resolved": "https://registry.npmjs.org/lezer-generator/-/lezer-generator-0.13.4.tgz",
-      "integrity": "sha512-pTWxEgw6U41jM/IwMbhPBPonrcQV5YYL3XoY4QPR7ibOjgo2RaF4wVrdabN1ILtBbGvtHZekTGyrbsqfKnMHMA==",
-      "dev": true,
-      "requires": {
-        "lezer": "^0.13.2"
-      }
-    },
-    "lezer-tree": {
-      "version": "0.13.2",
-      "resolved": "https://registry.npmjs.org/lezer-tree/-/lezer-tree-0.13.2.tgz",
-      "integrity": "sha512-15ZxW8TxVNAOkHIo43Iouv4zbSkQQ5chQHBpwXcD2bBFz46RB4jYLEEww5l1V0xyIx9U2clSyyrLes+hAUFrGQ==",
-      "dev": true
-    },
-    "load-json-file": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
-      "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "parse-json": "^2.2.0",
-        "pify": "^2.0.0",
-        "strip-bom": "^3.0.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        }
-      }
-    },
-    "loader-runner": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
-      "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
-      "dev": true
-    },
-    "loader-utils": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-      "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-      "dev": true,
-      "requires": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
-      }
-    },
-    "locate-path": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
-      "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
-      "dev": true,
-      "requires": {
-        "p-locate": "^2.0.0",
-        "path-exists": "^3.0.0"
-      }
-    },
-    "lodash": {
-      "version": "4.17.21",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
-      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
-      "dev": true
-    },
-    "lodash.flattendeep": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
-      "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
-      "dev": true
-    },
-    "lodash.set": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
-      "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=",
-      "dev": true
-    },
-    "log-symbols": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
-      "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
-      "dev": true,
-      "requires": {
-        "chalk": "^4.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
-          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "loglevel": {
-      "version": "1.7.1",
-      "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz",
-      "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==",
-      "dev": true
-    },
-    "lower-case": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
-      "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
-      "dev": true,
-      "requires": {
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
-          "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==",
-          "dev": true
-        }
-      }
-    },
-    "lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "requires": {
-        "yallist": "^4.0.0"
-      }
-    },
-    "make-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-      "dev": true,
-      "requires": {
-        "pify": "^4.0.1",
-        "semver": "^5.6.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "make-error": {
-      "version": "1.3.6",
-      "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
-      "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
-      "dev": true
-    },
-    "map-cache": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true
-    },
-    "map-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
-      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "dev": true,
-      "requires": {
-        "object-visit": "^1.0.0"
-      }
-    },
-    "md5.js": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
-      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "media-typer": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
-      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
-      "dev": true
-    },
-    "memory-fs": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
-      "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
-      "dev": true,
-      "requires": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "merge-descriptors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
-      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
-      "dev": true
-    },
-    "methods": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
-      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
-      "dev": true
-    },
-    "micromatch": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
-      "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
-      "dev": true,
-      "requires": {
-        "braces": "^3.0.1",
-        "picomatch": "^2.0.5"
-      }
-    },
-    "miller-rabin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
-      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "brorand": "^1.0.1"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.11.9",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
-          "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
-          "dev": true
-        }
-      }
-    },
-    "mime": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
-      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
-      "dev": true
-    },
-    "mime-db": {
-      "version": "1.44.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
-      "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
-      "dev": true
-    },
-    "mime-types": {
-      "version": "2.1.27",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
-      "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
-      "dev": true,
-      "requires": {
-        "mime-db": "1.44.0"
-      }
-    },
-    "mimic-fn": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
-      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
-      "dev": true
-    },
-    "minimalistic-assert": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
-      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
-      "dev": true
-    },
-    "minimalistic-crypto-utils": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
-      "dev": true
-    },
-    "minimatch": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
-      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
-      "dev": true,
-      "requires": {
-        "brace-expansion": "^1.1.7"
-      }
-    },
-    "minimist": {
-      "version": "1.2.5",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-      "dev": true
-    },
-    "mississippi": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
-      "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
-      "dev": true,
-      "requires": {
-        "concat-stream": "^1.5.0",
-        "duplexify": "^3.4.2",
-        "end-of-stream": "^1.1.0",
-        "flush-write-stream": "^1.0.0",
-        "from2": "^2.1.0",
-        "parallel-transform": "^1.1.0",
-        "pump": "^3.0.0",
-        "pumpify": "^1.3.3",
-        "stream-each": "^1.1.0",
-        "through2": "^2.0.0"
-      }
-    },
-    "mixin-deep": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
-      "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "dev": true,
-      "requires": {
-        "for-in": "^1.0.2",
-        "is-extendable": "^1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "mkdirp": {
-      "version": "0.5.5",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
-      "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
-      "dev": true,
-      "requires": {
-        "minimist": "^1.2.5"
-      }
-    },
-    "mocha": {
-      "version": "8.2.1",
-      "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz",
-      "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==",
-      "dev": true,
-      "requires": {
-        "@ungap/promise-all-settled": "1.1.2",
-        "ansi-colors": "4.1.1",
-        "browser-stdout": "1.3.1",
-        "chokidar": "3.4.3",
-        "debug": "4.2.0",
-        "diff": "4.0.2",
-        "escape-string-regexp": "4.0.0",
-        "find-up": "5.0.0",
-        "glob": "7.1.6",
-        "growl": "1.10.5",
-        "he": "1.2.0",
-        "js-yaml": "3.14.0",
-        "log-symbols": "4.0.0",
-        "minimatch": "3.0.4",
-        "ms": "2.1.2",
-        "nanoid": "3.1.12",
-        "serialize-javascript": "5.0.1",
-        "strip-json-comments": "3.1.1",
-        "supports-color": "7.2.0",
-        "which": "2.0.2",
-        "wide-align": "1.1.3",
-        "workerpool": "6.0.2",
-        "yargs": "13.3.2",
-        "yargs-parser": "13.1.2",
-        "yargs-unparser": "2.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
-          "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
-          "dev": true,
-          "requires": {
-            "ms": "2.1.2"
-          }
-        },
-        "escape-string-regexp": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-          "dev": true
-        },
-        "find-up": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
-          "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^6.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "locate-path": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
-          "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^5.0.0"
-          }
-        },
-        "p-limit": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
-          "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
-          "dev": true,
-          "requires": {
-            "yocto-queue": "^0.1.0"
-          }
-        },
-        "p-locate": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
-          "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^3.0.2"
-          }
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        },
-        "which": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
-          "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-          "dev": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        }
-      }
-    },
-    "move-concurrently": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
-      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1",
-        "copy-concurrently": "^1.0.0",
-        "fs-write-stream-atomic": "^1.0.8",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.3"
-      }
-    },
-    "ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-      "dev": true
-    },
-    "multicast-dns": {
-      "version": "6.2.3",
-      "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
-      "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
-      "dev": true,
-      "requires": {
-        "dns-packet": "^1.3.1",
-        "thunky": "^1.0.2"
-      }
-    },
-    "multicast-dns-service-types": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
-      "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
-      "dev": true
-    },
-    "mute-stream": {
-      "version": "0.0.8",
-      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
-      "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
-      "dev": true
-    },
-    "nanoid": {
-      "version": "3.1.12",
-      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz",
-      "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==",
-      "dev": true
-    },
-    "nanomatch": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
-      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
-      "requires": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "fragment-cache": "^0.2.1",
-        "is-windows": "^1.0.2",
-        "kind-of": "^6.0.2",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      }
-    },
-    "natural-compare": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
-      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
-      "dev": true
-    },
-    "negotiator": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
-      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
-      "dev": true
-    },
-    "neo-async": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
-      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
-      "dev": true
-    },
-    "nice-try": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
-      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
-      "dev": true
-    },
-    "no-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
-      "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
-      "dev": true,
-      "requires": {
-        "lower-case": "^2.0.2",
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
-          "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==",
-          "dev": true
-        }
-      }
-    },
-    "nock": {
-      "version": "13.0.11",
-      "resolved": "https://registry.npmjs.org/nock/-/nock-13.0.11.tgz",
-      "integrity": "sha512-sKZltNkkWblkqqPAsjYW0bm3s9DcHRPiMOyKO/PkfJ+ANHZ2+LA2PLe22r4lLrKgXaiSaDQwW3qGsJFtIpQIeQ==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.0",
-        "json-stringify-safe": "^5.0.1",
-        "lodash.set": "^4.3.2",
-        "propagate": "^2.0.0"
-      }
-    },
-    "node-fetch": {
-      "version": "2.6.1",
-      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
-      "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
-      "dev": true
-    },
-    "node-forge": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",
-      "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==",
-      "dev": true
-    },
-    "node-libs-browser": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
-      "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
-      "dev": true,
-      "requires": {
-        "assert": "^1.1.1",
-        "browserify-zlib": "^0.2.0",
-        "buffer": "^4.3.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "^1.0.0",
-        "crypto-browserify": "^3.11.0",
-        "domain-browser": "^1.1.1",
-        "events": "^3.0.0",
-        "https-browserify": "^1.0.0",
-        "os-browserify": "^0.3.0",
-        "path-browserify": "0.0.1",
-        "process": "^0.11.10",
-        "punycode": "^1.2.4",
-        "querystring-es3": "^0.2.0",
-        "readable-stream": "^2.3.3",
-        "stream-browserify": "^2.0.1",
-        "stream-http": "^2.7.2",
-        "string_decoder": "^1.0.0",
-        "timers-browserify": "^2.0.4",
-        "tty-browserify": "0.0.0",
-        "url": "^0.11.0",
-        "util": "^0.11.0",
-        "vm-browserify": "^1.0.1"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.4.1",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          },
-          "dependencies": {
-            "string_decoder": {
-              "version": "1.1.1",
-              "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-              "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-              "dev": true,
-              "requires": {
-                "safe-buffer": "~5.1.0"
-              }
-            }
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        }
-      }
-    },
-    "node-preload": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
-      "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
-      "dev": true,
-      "requires": {
-        "process-on-spawn": "^1.0.0"
-      }
-    },
-    "node-releases": {
-      "version": "1.1.71",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz",
-      "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==",
-      "dev": true
-    },
-    "normalize-package-data": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
-      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
-      "dev": true,
-      "requires": {
-        "hosted-git-info": "^2.1.4",
-        "resolve": "^1.10.0",
-        "semver": "2 || 3 || 4 || 5",
-        "validate-npm-package-license": "^3.0.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "normalize-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-      "dev": true
-    },
-    "npm-run-path": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
-      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
-      "dev": true,
-      "requires": {
-        "path-key": "^2.0.0"
-      }
-    },
-    "nth-check": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
-      "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
-      "dev": true,
-      "requires": {
-        "boolbase": "~1.0.0"
-      }
-    },
-    "nyc": {
-      "version": "15.1.0",
-      "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
-      "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
-      "dev": true,
-      "requires": {
-        "@istanbuljs/load-nyc-config": "^1.0.0",
-        "@istanbuljs/schema": "^0.1.2",
-        "caching-transform": "^4.0.0",
-        "convert-source-map": "^1.7.0",
-        "decamelize": "^1.2.0",
-        "find-cache-dir": "^3.2.0",
-        "find-up": "^4.1.0",
-        "foreground-child": "^2.0.0",
-        "get-package-type": "^0.1.0",
-        "glob": "^7.1.6",
-        "istanbul-lib-coverage": "^3.0.0",
-        "istanbul-lib-hook": "^3.0.0",
-        "istanbul-lib-instrument": "^4.0.0",
-        "istanbul-lib-processinfo": "^2.0.2",
-        "istanbul-lib-report": "^3.0.0",
-        "istanbul-lib-source-maps": "^4.0.0",
-        "istanbul-reports": "^3.0.2",
-        "make-dir": "^3.0.0",
-        "node-preload": "^0.2.1",
-        "p-map": "^3.0.0",
-        "process-on-spawn": "^1.0.0",
-        "resolve-from": "^5.0.0",
-        "rimraf": "^3.0.0",
-        "signal-exit": "^3.0.2",
-        "spawn-wrap": "^2.0.0",
-        "test-exclude": "^6.0.0",
-        "yargs": "^15.0.2"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "cliui": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
-          "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
-          "dev": true,
-          "requires": {
-            "string-width": "^4.2.0",
-            "strip-ansi": "^6.0.0",
-            "wrap-ansi": "^6.2.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "find-cache-dir": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
-          "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
-          "dev": true,
-          "requires": {
-            "commondir": "^1.0.1",
-            "make-dir": "^3.0.2",
-            "pkg-dir": "^4.1.0"
-          }
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "make-dir": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-          "dev": true,
-          "requires": {
-            "semver": "^6.0.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-map": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
-          "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
-          "dev": true,
-          "requires": {
-            "aggregate-error": "^3.0.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
-          "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
-          "dev": true,
-          "requires": {
-            "find-up": "^4.0.0"
-          }
-        },
-        "resolve-from": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-          "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
-          "dev": true
-        },
-        "rimraf": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        },
-        "strip-ansi": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
-          "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^5.0.0"
-          }
-        },
-        "wrap-ansi": {
-          "version": "6.2.0",
-          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
-          "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.0.0",
-            "string-width": "^4.1.0",
-            "strip-ansi": "^6.0.0"
-          }
-        },
-        "yargs": {
-          "version": "15.4.1",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
-          "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
-          "dev": true,
-          "requires": {
-            "cliui": "^6.0.0",
-            "decamelize": "^1.2.0",
-            "find-up": "^4.1.0",
-            "get-caller-file": "^2.0.1",
-            "require-directory": "^2.1.1",
-            "require-main-filename": "^2.0.0",
-            "set-blocking": "^2.0.0",
-            "string-width": "^4.2.0",
-            "which-module": "^2.0.0",
-            "y18n": "^4.0.0",
-            "yargs-parser": "^18.1.2"
-          }
-        },
-        "yargs-parser": {
-          "version": "18.1.3",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
-          "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
-          "dev": true,
-          "requires": {
-            "camelcase": "^5.0.0",
-            "decamelize": "^1.2.0"
-          }
-        }
-      }
-    },
-    "object-assign": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
-      "dev": true
-    },
-    "object-copy": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
-      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
-      "dev": true,
-      "requires": {
-        "copy-descriptor": "^0.1.0",
-        "define-property": "^0.2.5",
-        "kind-of": "^3.0.3"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "object-inspect": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
-      "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==",
-      "dev": true
-    },
-    "object-is": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz",
-      "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3"
-      }
-    },
-    "object-keys": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
-      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
-      "dev": true
-    },
-    "object-visit": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
-      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.0"
-      }
-    },
-    "object.assign": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
-      "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "has-symbols": "^1.0.1",
-        "object-keys": "^1.1.1"
-      }
-    },
-    "object.getownpropertydescriptors": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz",
-      "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.1"
-      }
-    },
-    "object.pick": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
-      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "object.values": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz",
-      "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.1",
-        "has": "^1.0.3"
-      }
-    },
-    "obuf": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
-      "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
-      "dev": true
-    },
-    "on-finished": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
-      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
-      "dev": true,
-      "requires": {
-        "ee-first": "1.1.1"
-      }
-    },
-    "on-headers": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
-      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
-      "dev": true
-    },
-    "once": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
-      "dev": true,
-      "requires": {
-        "wrappy": "1"
-      }
-    },
-    "onetime": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
-      "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
-      "dev": true,
-      "requires": {
-        "mimic-fn": "^2.1.0"
-      }
-    },
-    "opn": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
-      "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
-      "dev": true,
-      "requires": {
-        "is-wsl": "^1.1.0"
-      }
-    },
-    "optionator": {
-      "version": "0.8.3",
-      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
-      "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
-      "dev": true,
-      "requires": {
-        "deep-is": "~0.1.3",
-        "fast-levenshtein": "~2.0.6",
-        "levn": "~0.3.0",
-        "prelude-ls": "~1.1.2",
-        "type-check": "~0.3.2",
-        "word-wrap": "~1.2.3"
-      }
-    },
-    "original": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
-      "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
-      "dev": true,
-      "requires": {
-        "url-parse": "^1.4.3"
-      }
-    },
-    "os-browserify": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
-      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
-      "dev": true
-    },
-    "os-tmpdir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
-      "dev": true
-    },
-    "p-finally": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
-      "dev": true
-    },
-    "p-limit": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
-      "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
-      "dev": true,
-      "requires": {
-        "p-try": "^1.0.0"
-      }
-    },
-    "p-locate": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
-      "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
-      "dev": true,
-      "requires": {
-        "p-limit": "^1.1.0"
-      }
-    },
-    "p-map": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
-      "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
-      "dev": true
-    },
-    "p-retry": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz",
-      "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==",
-      "dev": true,
-      "requires": {
-        "retry": "^0.12.0"
-      }
-    },
-    "p-try": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
-      "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
-      "dev": true
-    },
-    "package-hash": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz",
-      "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.15",
-        "hasha": "^5.0.0",
-        "lodash.flattendeep": "^4.4.0",
-        "release-zalgo": "^1.0.0"
-      }
-    },
-    "pako": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
-      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
-      "dev": true
-    },
-    "parallel-transform": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
-      "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
-      "dev": true,
-      "requires": {
-        "cyclist": "^1.0.1",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.1.5"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "param-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
-      "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
-      "dev": true,
-      "requires": {
-        "dot-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
-          "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==",
-          "dev": true
-        }
-      }
-    },
-    "parent-module": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
-      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
-      "dev": true,
-      "requires": {
-        "callsites": "^3.0.0"
-      }
-    },
-    "parse-asn1": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
-      "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
-      "dev": true,
-      "requires": {
-        "asn1.js": "^5.2.0",
-        "browserify-aes": "^1.0.0",
-        "evp_bytestokey": "^1.0.0",
-        "pbkdf2": "^3.0.3",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "parse-json": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
-      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
-      "dev": true,
-      "requires": {
-        "error-ex": "^1.2.0"
-      }
-    },
-    "parse-passwd": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
-      "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
-      "dev": true
-    },
-    "parseurl": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
-      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
-      "dev": true
-    },
-    "pascal-case": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
-      "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
-      "dev": true,
-      "requires": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
-          "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==",
-          "dev": true
-        }
-      }
-    },
-    "pascalcase": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true
-    },
-    "path-browserify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
-      "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
-      "dev": true
-    },
-    "path-dirname": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
-      "dev": true
-    },
-    "path-exists": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-      "dev": true
-    },
-    "path-is-absolute": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
-      "dev": true
-    },
-    "path-is-inside": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
-      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
-      "dev": true
-    },
-    "path-key": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
-      "dev": true
-    },
-    "path-parse": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
-      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
-      "dev": true
-    },
-    "path-to-regexp": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
-      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
-      "dev": true
-    },
-    "path-type": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
-      "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
-      "dev": true,
-      "requires": {
-        "pify": "^2.0.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        }
-      }
-    },
-    "pathval": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
-      "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
-      "dev": true
-    },
-    "pbkdf2": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz",
-      "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==",
-      "dev": true,
-      "requires": {
-        "create-hash": "^1.1.2",
-        "create-hmac": "^1.1.4",
-        "ripemd160": "^2.0.1",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "picomatch": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
-      "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
-      "dev": true
-    },
-    "pify": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-      "dev": true
-    },
-    "pinkie": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
-      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
-      "dev": true
-    },
-    "pinkie-promise": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
-      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
-      "dev": true,
-      "requires": {
-        "pinkie": "^2.0.0"
-      }
-    },
-    "pkg-dir": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
-      "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
-      "dev": true,
-      "requires": {
-        "find-up": "^2.1.0"
-      }
-    },
-    "portfinder": {
-      "version": "1.0.28",
-      "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
-      "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
-      "dev": true,
-      "requires": {
-        "async": "^2.6.2",
-        "debug": "^3.1.1",
-        "mkdirp": "^0.5.5"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.7",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        }
-      }
-    },
-    "posix-character-classes": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true
-    },
-    "prelude-ls": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
-      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
-      "dev": true
-    },
-    "prettier": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz",
-      "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==",
-      "dev": true
-    },
-    "prettier-linter-helpers": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
-      "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
-      "dev": true,
-      "requires": {
-        "fast-diff": "^1.1.2"
-      }
-    },
-    "pretty-error": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz",
-      "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.20",
-        "renderkid": "^2.0.4"
-      }
-    },
-    "process": {
-      "version": "0.11.10",
-      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
-      "dev": true
-    },
-    "process-nextick-args": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
-      "dev": true
-    },
-    "process-on-spawn": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
-      "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
-      "dev": true,
-      "requires": {
-        "fromentries": "^1.2.0"
-      }
-    },
-    "progress": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
-      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
-      "dev": true
-    },
-    "promise-inflight": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
-      "dev": true
-    },
-    "propagate": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz",
-      "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==",
-      "dev": true
-    },
-    "proxy-addr": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
-      "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
-      "dev": true,
-      "requires": {
-        "forwarded": "~0.1.2",
-        "ipaddr.js": "1.9.1"
-      }
-    },
-    "prr": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
-      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
-      "dev": true
-    },
-    "public-encrypt": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
-      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "parse-asn1": "^5.0.0",
-        "randombytes": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.11.9",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
-          "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
-          "dev": true
-        }
-      }
-    },
-    "pump": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
-      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "pumpify": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
-      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
-      "dev": true,
-      "requires": {
-        "duplexify": "^3.6.0",
-        "inherits": "^2.0.3",
-        "pump": "^2.0.0"
-      },
-      "dependencies": {
-        "pump": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
-          "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
-          "dev": true,
-          "requires": {
-            "end-of-stream": "^1.1.0",
-            "once": "^1.3.1"
-          }
-        }
-      }
-    },
-    "punycode": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-      "dev": true
-    },
-    "qs": {
-      "version": "6.7.0",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
-      "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
-      "dev": true
-    },
-    "querystring": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
-      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
-      "dev": true
-    },
-    "querystring-es3": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
-      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
-      "dev": true
-    },
-    "querystringify": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
-      "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
-      "dev": true
-    },
-    "randombytes": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
-      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "randomfill": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
-      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "dev": true,
-      "requires": {
-        "randombytes": "^2.0.5",
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "range-parser": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
-      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
-      "dev": true
-    },
-    "raw-body": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
-      "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
-      "dev": true,
-      "requires": {
-        "bytes": "3.1.0",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "unpipe": "1.0.0"
-      },
-      "dependencies": {
-        "bytes": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
-          "dev": true
-        }
-      }
-    },
-    "read-pkg": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
-      "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
-      "dev": true,
-      "requires": {
-        "load-json-file": "^2.0.0",
-        "normalize-package-data": "^2.3.2",
-        "path-type": "^2.0.0"
-      }
-    },
-    "read-pkg-up": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
-      "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
-      "dev": true,
-      "requires": {
-        "find-up": "^2.0.0",
-        "read-pkg": "^2.0.0"
-      }
-    },
-    "readable-stream": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      }
-    },
-    "readdirp": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
-      "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
-      "dev": true,
-      "requires": {
-        "picomatch": "^2.2.1"
-      }
-    },
-    "regex-not": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
-      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.2",
-        "safe-regex": "^1.1.0"
-      }
-    },
-    "regexp.prototype.flags": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz",
-      "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.17.0-next.1"
-      },
-      "dependencies": {
-        "es-abstract": {
-          "version": "1.17.7",
-          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
-          "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
-          "dev": true,
-          "requires": {
-            "es-to-primitive": "^1.2.1",
-            "function-bind": "^1.1.1",
-            "has": "^1.0.3",
-            "has-symbols": "^1.0.1",
-            "is-callable": "^1.2.2",
-            "is-regex": "^1.1.1",
-            "object-inspect": "^1.8.0",
-            "object-keys": "^1.1.1",
-            "object.assign": "^4.1.1",
-            "string.prototype.trimend": "^1.0.1",
-            "string.prototype.trimstart": "^1.0.1"
-          }
-        }
-      }
-    },
-    "regexpp": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
-      "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
-      "dev": true
-    },
-    "relateurl": {
-      "version": "0.2.7",
-      "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
-      "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
-      "dev": true
-    },
-    "release-zalgo": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
-      "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=",
-      "dev": true,
-      "requires": {
-        "es6-error": "^4.0.1"
-      }
-    },
-    "remove-trailing-separator": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
-    },
-    "renderkid": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz",
-      "integrity": "sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==",
-      "dev": true,
-      "requires": {
-        "css-select": "^1.1.0",
-        "dom-converter": "^0.2",
-        "htmlparser2": "^3.3.0",
-        "lodash": "^4.17.20",
-        "strip-ansi": "^3.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        }
-      }
-    },
-    "repeat-element": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
-      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
-      "dev": true
-    },
-    "repeat-string": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true
-    },
-    "require-directory": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
-      "dev": true
-    },
-    "require-main-filename": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
-      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
-      "dev": true
-    },
-    "requires-port": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
-      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
-      "dev": true
-    },
-    "resolve": {
-      "version": "1.19.0",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
-      "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
-      "dev": true,
-      "requires": {
-        "is-core-module": "^2.1.0",
-        "path-parse": "^1.0.6"
-      }
-    },
-    "resolve-cwd": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
-      "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
-      "dev": true,
-      "requires": {
-        "resolve-from": "^3.0.0"
-      },
-      "dependencies": {
-        "resolve-from": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-          "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-          "dev": true
-        }
-      }
-    },
-    "resolve-dir": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
-      "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
-      "dev": true,
-      "requires": {
-        "expand-tilde": "^2.0.0",
-        "global-modules": "^1.0.0"
-      },
-      "dependencies": {
-        "global-modules": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
-          "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
-          "dev": true,
-          "requires": {
-            "global-prefix": "^1.0.1",
-            "is-windows": "^1.0.1",
-            "resolve-dir": "^1.0.0"
-          }
-        }
-      }
-    },
-    "resolve-from": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
-      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
-      "dev": true
-    },
-    "resolve-url": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "dev": true
-    },
-    "restore-cursor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
-      "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
-      "dev": true,
-      "requires": {
-        "onetime": "^5.1.0",
-        "signal-exit": "^3.0.2"
-      }
-    },
-    "ret": {
-      "version": "0.1.15",
-      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true
-    },
-    "retry": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
-      "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
-      "dev": true
-    },
-    "rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "requires": {
-        "glob": "^7.1.3"
-      }
-    },
-    "ripemd160": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
-      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1"
-      }
-    },
-    "run-async": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
-      "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
-      "dev": true
-    },
-    "run-queue": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
-      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1"
-      }
-    },
-    "rxjs": {
-      "version": "6.6.3",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz",
-      "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==",
-      "dev": true,
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "safe-buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-      "dev": true
-    },
-    "safe-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
-      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "dev": true,
-      "requires": {
-        "ret": "~0.1.10"
-      }
-    },
-    "safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
-      "dev": true
-    },
-    "schema-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-      "dev": true,
-      "requires": {
-        "ajv": "^6.1.0",
-        "ajv-errors": "^1.0.0",
-        "ajv-keywords": "^3.1.0"
-      }
-    },
-    "select-hose": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
-      "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
-      "dev": true
-    },
-    "selfsigned": {
-      "version": "1.10.8",
-      "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz",
-      "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==",
-      "dev": true,
-      "requires": {
-        "node-forge": "^0.10.0"
-      }
-    },
-    "semver": {
-      "version": "7.3.4",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
-      "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
-      "dev": true,
-      "requires": {
-        "lru-cache": "^6.0.0"
-      }
-    },
-    "send": {
-      "version": "0.17.1",
-      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
-      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
-      "dev": true,
-      "requires": {
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "destroy": "~1.0.4",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "fresh": "0.5.2",
-        "http-errors": "~1.7.2",
-        "mime": "1.6.0",
-        "ms": "2.1.1",
-        "on-finished": "~2.3.0",
-        "range-parser": "~1.2.1",
-        "statuses": "~1.5.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          },
-          "dependencies": {
-            "ms": {
-              "version": "2.0.0",
-              "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-              "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-              "dev": true
-            }
-          }
-        },
-        "ms": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
-          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
-          "dev": true
-        }
-      }
-    },
-    "serialize-javascript": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
-      "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
-      "dev": true,
-      "requires": {
-        "randombytes": "^2.1.0"
-      }
-    },
-    "serve-index": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
-      "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.4",
-        "batch": "0.6.1",
-        "debug": "2.6.9",
-        "escape-html": "~1.0.3",
-        "http-errors": "~1.6.2",
-        "mime-types": "~2.1.17",
-        "parseurl": "~1.3.2"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "http-errors": {
-          "version": "1.6.3",
-          "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
-          "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
-          "dev": true,
-          "requires": {
-            "depd": "~1.1.2",
-            "inherits": "2.0.3",
-            "setprototypeof": "1.1.0",
-            "statuses": ">= 1.4.0 < 2"
-          }
-        },
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "setprototypeof": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
-          "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
-          "dev": true
-        }
-      }
-    },
-    "serve-static": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
-      "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
-      "dev": true,
-      "requires": {
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "parseurl": "~1.3.3",
-        "send": "0.17.1"
-      }
-    },
-    "set-blocking": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
-      "dev": true
-    },
-    "set-value": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
-      "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^2.0.1",
-        "is-extendable": "^0.1.1",
-        "is-plain-object": "^2.0.3",
-        "split-string": "^3.0.1"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "setimmediate": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
-      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
-      "dev": true
-    },
-    "setprototypeof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
-      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
-      "dev": true
-    },
-    "sha.js": {
-      "version": "2.4.11",
-      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
-      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "shebang-command": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
-      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-      "dev": true,
-      "requires": {
-        "shebang-regex": "^1.0.0"
-      }
-    },
-    "shebang-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
-      "dev": true
-    },
-    "signal-exit": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
-      "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
-      "dev": true
-    },
-    "slice-ansi": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
-      "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^3.2.0",
-        "astral-regex": "^1.0.0",
-        "is-fullwidth-code-point": "^2.0.0"
-      },
-      "dependencies": {
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        }
-      }
-    },
-    "snapdragon": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
-      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "dev": true,
-      "requires": {
-        "base": "^0.11.1",
-        "debug": "^2.2.0",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "map-cache": "^0.2.2",
-        "source-map": "^0.5.6",
-        "source-map-resolve": "^0.5.0",
-        "use": "^3.1.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
-      }
-    },
-    "snapdragon-node": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
-      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "dev": true,
-      "requires": {
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.0",
-        "snapdragon-util": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "snapdragon-util": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
-      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.2.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "sockjs": {
-      "version": "0.3.20",
-      "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz",
-      "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==",
-      "dev": true,
-      "requires": {
-        "faye-websocket": "^0.10.0",
-        "uuid": "^3.4.0",
-        "websocket-driver": "0.6.5"
-      }
-    },
-    "sockjs-client": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz",
-      "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==",
-      "dev": true,
-      "requires": {
-        "debug": "^3.2.5",
-        "eventsource": "^1.0.7",
-        "faye-websocket": "~0.11.1",
-        "inherits": "^2.0.3",
-        "json3": "^3.3.2",
-        "url-parse": "^1.4.3"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.7",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "faye-websocket": {
-          "version": "0.11.3",
-          "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
-          "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
-          "dev": true,
-          "requires": {
-            "websocket-driver": ">=0.5.1"
-          }
-        }
-      }
-    },
-    "source-list-map": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
-      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
-      "dev": true
-    },
-    "source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true
-    },
-    "source-map-resolve": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
-      "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
-      "dev": true,
-      "requires": {
-        "atob": "^2.1.2",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
-      }
-    },
-    "source-map-support": {
-      "version": "0.5.19",
-      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
-      "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
-      "dev": true,
-      "requires": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
-      }
-    },
-    "source-map-url": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
-      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
-      "dev": true
-    },
-    "spawn-wrap": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
-      "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
-      "dev": true,
-      "requires": {
-        "foreground-child": "^2.0.0",
-        "is-windows": "^1.0.2",
-        "make-dir": "^3.0.0",
-        "rimraf": "^3.0.0",
-        "signal-exit": "^3.0.2",
-        "which": "^2.0.1"
-      },
-      "dependencies": {
-        "make-dir": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-          "dev": true,
-          "requires": {
-            "semver": "^6.0.0"
-          }
-        },
-        "rimraf": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        },
-        "which": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
-          "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-          "dev": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        }
-      }
-    },
-    "spdx-correct": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
-      "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
-      "dev": true,
-      "requires": {
-        "spdx-expression-parse": "^3.0.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-exceptions": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
-      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
-      "dev": true
-    },
-    "spdx-expression-parse": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
-      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
-      "dev": true,
-      "requires": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-license-ids": {
-      "version": "3.0.7",
-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz",
-      "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==",
-      "dev": true
-    },
-    "spdy": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
-      "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.0",
-        "handle-thing": "^2.0.0",
-        "http-deceiver": "^1.2.7",
-        "select-hose": "^2.0.0",
-        "spdy-transport": "^3.0.0"
-      }
-    },
-    "spdy-transport": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
-      "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.0",
-        "detect-node": "^2.0.4",
-        "hpack.js": "^2.1.6",
-        "obuf": "^1.1.2",
-        "readable-stream": "^3.0.6",
-        "wbuf": "^1.7.3"
-      }
-    },
-    "split-string": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
-      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.0"
-      }
-    },
-    "sprintf-js": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
-      "dev": true
-    },
-    "ssri": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
-      "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
-      "dev": true,
-      "requires": {
-        "figgy-pudding": "^3.5.1"
-      }
-    },
-    "static-extend": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
-      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "dev": true,
-      "requires": {
-        "define-property": "^0.2.5",
-        "object-copy": "^0.1.0"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        }
-      }
-    },
-    "statuses": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
-      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
-      "dev": true
-    },
-    "stream-browserify": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
-      "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
-      "dev": true,
-      "requires": {
-        "inherits": "~2.0.1",
-        "readable-stream": "^2.0.2"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "stream-each": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
-      "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "stream-events": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz",
-      "integrity": "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==",
-      "dev": true,
-      "requires": {
-        "stubs": "^3.0.0"
-      }
-    },
-    "stream-http": {
-      "version": "2.8.3",
-      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
-      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
-      "dev": true,
-      "requires": {
-        "builtin-status-codes": "^3.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.3.6",
-        "to-arraybuffer": "^1.0.0",
-        "xtend": "^4.0.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "stream-shift": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
-      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
-      "dev": true
-    },
-    "string_decoder": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "~5.2.0"
-      }
-    },
-    "string-natural-compare": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz",
-      "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==",
-      "dev": true
-    },
-    "string-width": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
-      "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
-      "dev": true,
-      "requires": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "dependencies": {
-        "strip-ansi": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
-          "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^5.0.0"
-          }
-        }
-      }
-    },
-    "string.prototype.trimend": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
-      "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3"
-      }
-    },
-    "string.prototype.trimstart": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz",
-      "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3"
-      }
-    },
-    "strip-ansi": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-      "dev": true,
-      "requires": {
-        "ansi-regex": "^4.1.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-          "dev": true
-        }
-      }
-    },
-    "strip-bom": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-      "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
-      "dev": true
-    },
-    "strip-eof": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
-      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
-      "dev": true
-    },
-    "strip-json-comments": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
-      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
-      "dev": true
-    },
-    "stubs": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
-      "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=",
-      "dev": true
-    },
-    "style-mod": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz",
-      "integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==",
-      "dev": true
-    },
-    "supports-color": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-      "dev": true,
-      "requires": {
-        "has-flag": "^3.0.0"
-      }
-    },
-    "table": {
-      "version": "5.4.6",
-      "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
-      "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
-      "dev": true,
-      "requires": {
-        "ajv": "^6.10.2",
-        "lodash": "^4.17.14",
-        "slice-ansi": "^2.1.0",
-        "string-width": "^3.0.0"
-      },
-      "dependencies": {
-        "emoji-regex": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-          "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
-          }
-        }
-      }
-    },
-    "tapable": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
-      "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
-      "dev": true
-    },
-    "teeny-request": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-6.0.1.tgz",
-      "integrity": "sha512-TAK0c9a00ELOqLrZ49cFxvPVogMUFaWY8dUsQc/0CuQPGF+BOxOQzXfE413BAk2kLomwNplvdtMpeaeGWmoc2g==",
-      "dev": true,
-      "requires": {
-        "http-proxy-agent": "^4.0.0",
-        "https-proxy-agent": "^4.0.0",
-        "node-fetch": "^2.2.0",
-        "stream-events": "^1.0.5",
-        "uuid": "^3.3.2"
-      }
-    },
-    "terser": {
-      "version": "4.8.0",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
-      "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
-      "dev": true,
-      "requires": {
-        "commander": "^2.20.0",
-        "source-map": "~0.6.1",
-        "source-map-support": "~0.5.12"
-      },
-      "dependencies": {
-        "commander": {
-          "version": "2.20.3",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-          "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-          "dev": true
-        }
-      }
-    },
-    "terser-webpack-plugin": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
-      "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
-      "dev": true,
-      "requires": {
-        "cacache": "^12.0.2",
-        "find-cache-dir": "^2.1.0",
-        "is-wsl": "^1.1.0",
-        "schema-utils": "^1.0.0",
-        "serialize-javascript": "^4.0.0",
-        "source-map": "^0.6.1",
-        "terser": "^4.1.2",
-        "webpack-sources": "^1.4.0",
-        "worker-farm": "^1.7.0"
-      },
-      "dependencies": {
-        "serialize-javascript": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
-          "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
-          "dev": true,
-          "requires": {
-            "randombytes": "^2.1.0"
-          }
-        }
-      }
-    },
-    "test-exclude": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
-      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
-      "dev": true,
-      "requires": {
-        "@istanbuljs/schema": "^0.1.2",
-        "glob": "^7.1.4",
-        "minimatch": "^3.0.4"
-      }
-    },
-    "text-table": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
-      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
-      "dev": true
-    },
-    "through": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
-      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
-      "dev": true
-    },
-    "through2": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
-      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
-      "dev": true,
-      "requires": {
-        "readable-stream": "~2.3.6",
-        "xtend": "~4.0.1"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "thunky": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
-      "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
-      "dev": true
-    },
-    "timers-browserify": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
-      "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
-      "dev": true,
-      "requires": {
-        "setimmediate": "^1.0.4"
-      }
-    },
-    "tmp": {
-      "version": "0.0.33",
-      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
-      "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
-      "dev": true,
-      "requires": {
-        "os-tmpdir": "~1.0.2"
-      }
-    },
-    "to-arraybuffer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
-      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
-      "dev": true
-    },
-    "to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
-      "dev": true
-    },
-    "to-object-path": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
-      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "to-regex": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
-      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "dev": true,
-      "requires": {
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "regex-not": "^1.0.2",
-        "safe-regex": "^1.1.0"
-      }
-    },
-    "to-regex-range": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-      "dev": true,
-      "requires": {
-        "is-number": "^7.0.0"
-      }
-    },
-    "toidentifier": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
-      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
-      "dev": true
-    },
-    "ts-loader": {
-      "version": "7.0.5",
-      "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-7.0.5.tgz",
-      "integrity": "sha512-zXypEIT6k3oTc+OZNx/cqElrsbBtYqDknf48OZos0NQ3RTt045fBIU8RRSu+suObBzYB355aIPGOe/3kj9h7Ig==",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.3.0",
-        "enhanced-resolve": "^4.0.0",
-        "loader-utils": "^1.0.2",
-        "micromatch": "^4.0.0",
-        "semver": "^6.0.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        }
-      }
-    },
-    "ts-mocha": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/ts-mocha/-/ts-mocha-8.0.0.tgz",
-      "integrity": "sha512-Kou1yxTlubLnD5C3unlCVO7nh0HERTezjoVhVw/M5S1SqoUec0WgllQvPk3vzPMc6by8m6xD1uR1yRf8lnVUbA==",
-      "dev": true,
-      "requires": {
-        "ts-node": "7.0.1",
-        "tsconfig-paths": "^3.5.0"
-      },
-      "dependencies": {
-        "diff": {
-          "version": "3.5.0",
-          "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
-          "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
-          "dev": true
-        },
-        "ts-node": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz",
-          "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==",
-          "dev": true,
-          "requires": {
-            "arrify": "^1.0.0",
-            "buffer-from": "^1.1.0",
-            "diff": "^3.1.0",
-            "make-error": "^1.1.1",
-            "minimist": "^1.2.0",
-            "mkdirp": "^0.5.1",
-            "source-map-support": "^0.5.6",
-            "yn": "^2.0.0"
-          }
-        },
-        "yn": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz",
-          "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=",
-          "dev": true
-        }
-      }
-    },
-    "ts-node": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.0.tgz",
-      "integrity": "sha512-0yqcL4sgruCvM+w64LiAfNJo6+lHfCYc5Ajj4yiLNkJ9oZ2HWaa+Kso7htYOOxVQ7+csAjdUjffOe9PIqC4pMg==",
-      "dev": true,
-      "requires": {
-        "arg": "^4.1.0",
-        "create-require": "^1.1.0",
-        "diff": "^4.0.1",
-        "make-error": "^1.1.1",
-        "source-map-support": "^0.5.17",
-        "yn": "3.1.1"
-      }
-    },
-    "tsconfig-paths": {
-      "version": "3.9.0",
-      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz",
-      "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==",
-      "dev": true,
-      "requires": {
-        "@types/json5": "^0.0.29",
-        "json5": "^1.0.1",
-        "minimist": "^1.2.0",
-        "strip-bom": "^3.0.0"
-      }
-    },
-    "tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-      "dev": true
-    },
-    "tsutils": {
-      "version": "3.17.1",
-      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
-      "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
-      "dev": true,
-      "requires": {
-        "tslib": "^1.8.1"
-      }
-    },
-    "tty-browserify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
-      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
-      "dev": true
-    },
-    "type-check": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
-      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
-      "dev": true,
-      "requires": {
-        "prelude-ls": "~1.1.2"
-      }
-    },
-    "type-detect": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
-      "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
-      "dev": true
-    },
-    "type-fest": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-      "dev": true
-    },
-    "type-is": {
-      "version": "1.6.18",
-      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
-      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
-      "dev": true,
-      "requires": {
-        "media-typer": "0.3.0",
-        "mime-types": "~2.1.24"
-      }
-    },
-    "typedarray": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
-      "dev": true
-    },
-    "typedarray-to-buffer": {
-      "version": "3.1.5",
-      "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
-      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
-      "dev": true,
-      "requires": {
-        "is-typedarray": "^1.0.0"
-      }
-    },
-    "typescript": {
-      "version": "4.2.3",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz",
-      "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==",
-      "dev": true
-    },
-    "union-value": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
-      "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "get-value": "^2.0.6",
-        "is-extendable": "^0.1.1",
-        "set-value": "^2.0.1"
-      }
-    },
-    "unique-filename": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
-      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
-      "dev": true,
-      "requires": {
-        "unique-slug": "^2.0.0"
-      }
-    },
-    "unique-slug": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
-      "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
-      "dev": true,
-      "requires": {
-        "imurmurhash": "^0.1.4"
-      }
-    },
-    "unpipe": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
-      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
-      "dev": true
-    },
-    "unset-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
-      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "dev": true,
-      "requires": {
-        "has-value": "^0.3.1",
-        "isobject": "^3.0.0"
-      },
-      "dependencies": {
-        "has-value": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
-          "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-          "dev": true,
-          "requires": {
-            "get-value": "^2.0.3",
-            "has-values": "^0.1.4",
-            "isobject": "^2.0.0"
-          },
-          "dependencies": {
-            "isobject": {
-              "version": "2.1.0",
-              "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
-              "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-              "dev": true,
-              "requires": {
-                "isarray": "1.0.0"
-              }
-            }
-          }
-        },
-        "has-values": {
-          "version": "0.1.4",
-          "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-          "dev": true
-        }
-      }
-    },
-    "upath": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
-      "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
-      "dev": true
-    },
-    "uri-js": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
-      "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
-      "dev": true,
-      "requires": {
-        "punycode": "^2.1.0"
-      }
-    },
-    "urix": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "dev": true
-    },
-    "url": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
-      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "dev": true,
-      "requires": {
-        "punycode": "1.3.2",
-        "querystring": "0.2.0"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.3.2",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
-          "dev": true
-        }
-      }
-    },
-    "url-parse": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz",
-      "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==",
-      "dev": true,
-      "requires": {
-        "querystringify": "^2.1.1",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "urlgrey": {
-      "version": "0.4.4",
-      "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz",
-      "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=",
-      "dev": true
-    },
-    "use": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true
-    },
-    "util": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
-      "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
-      "dev": true,
-      "requires": {
-        "inherits": "2.0.3"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        }
-      }
-    },
-    "util-deprecate": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
-    },
-    "util.promisify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
-      "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.2",
-        "object.getownpropertydescriptors": "^2.0.3"
-      }
-    },
-    "utila": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
-      "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
-      "dev": true
-    },
-    "utils-merge": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
-      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
-      "dev": true
-    },
-    "uuid": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
-      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
-      "dev": true
-    },
-    "v8-compile-cache": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz",
-      "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==",
-      "dev": true
-    },
-    "validate-npm-package-license": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
-      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
-      "dev": true,
-      "requires": {
-        "spdx-correct": "^3.0.0",
-        "spdx-expression-parse": "^3.0.0"
-      }
-    },
-    "vary": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
-      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
-      "dev": true
-    },
-    "vm-browserify": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
-      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
-      "dev": true
-    },
-    "w3c-keyname": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz",
-      "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==",
-      "dev": true
-    },
-    "watchpack": {
-      "version": "1.7.5",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
-      "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
-      "dev": true,
-      "requires": {
-        "chokidar": "^3.4.1",
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0",
-        "watchpack-chokidar2": "^2.0.1"
-      }
-    },
-    "watchpack-chokidar2": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
-      "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "chokidar": "^2.1.8"
-      },
-      "dependencies": {
-        "anymatch": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-          "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "micromatch": "^3.1.4",
-            "normalize-path": "^2.1.1"
-          },
-          "dependencies": {
-            "normalize-path": {
-              "version": "2.1.1",
-              "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-              "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "remove-trailing-separator": "^1.0.1"
-              }
-            }
-          }
-        },
-        "binary-extensions": {
-          "version": "1.13.1",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-          "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-          "dev": true,
-          "optional": true
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "fsevents": {
-          "version": "1.2.13",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-          "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-          "dev": true,
-          "optional": true
-        },
-        "glob-parent": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-glob": "^3.1.0",
-            "path-dirname": "^1.0.0"
-          },
-          "dependencies": {
-            "is-glob": {
-              "version": "3.1.0",
-              "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-              "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "is-extglob": "^2.1.0"
-              }
-            }
-          }
-        },
-        "is-binary-path": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-          "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "binary-extensions": "^1.0.0"
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          }
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "readdirp": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-          "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "graceful-fs": "^4.1.11",
-            "micromatch": "^3.1.10",
-            "readable-stream": "^2.0.2"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true,
-          "optional": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "wbuf": {
-      "version": "1.7.3",
-      "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
-      "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
-      "dev": true,
-      "requires": {
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "webpack": {
-      "version": "4.44.2",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz",
-      "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/wasm-edit": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "acorn": "^6.4.1",
-        "ajv": "^6.10.2",
-        "ajv-keywords": "^3.4.1",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^4.3.0",
-        "eslint-scope": "^4.0.3",
-        "json-parse-better-errors": "^1.0.2",
-        "loader-runner": "^2.4.0",
-        "loader-utils": "^1.2.3",
-        "memory-fs": "^0.4.1",
-        "micromatch": "^3.1.10",
-        "mkdirp": "^0.5.3",
-        "neo-async": "^2.6.1",
-        "node-libs-browser": "^2.2.1",
-        "schema-utils": "^1.0.0",
-        "tapable": "^1.1.3",
-        "terser-webpack-plugin": "^1.4.3",
-        "watchpack": "^1.7.4",
-        "webpack-sources": "^1.4.1"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "6.4.2",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
-          "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
-          "dev": true
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "eslint-scope": {
-          "version": "4.0.3",
-          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
-          "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
-          "dev": true,
-          "requires": {
-            "esrecurse": "^4.1.0",
-            "estraverse": "^4.1.1"
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "memory-fs": {
-          "version": "0.4.1",
-          "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-          "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
-          "dev": true,
-          "requires": {
-            "errno": "^0.1.3",
-            "readable-stream": "^2.0.1"
-          }
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          }
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "webpack-cli": {
-      "version": "3.3.12",
-      "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz",
-      "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.4.2",
-        "cross-spawn": "^6.0.5",
-        "enhanced-resolve": "^4.1.1",
-        "findup-sync": "^3.0.0",
-        "global-modules": "^2.0.0",
-        "import-local": "^2.0.0",
-        "interpret": "^1.4.0",
-        "loader-utils": "^1.4.0",
-        "supports-color": "^6.1.0",
-        "v8-compile-cache": "^2.1.1",
-        "yargs": "^13.3.2"
-      },
-      "dependencies": {
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "webpack-dev-middleware": {
-      "version": "3.7.2",
-      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz",
-      "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==",
-      "dev": true,
-      "requires": {
-        "memory-fs": "^0.4.1",
-        "mime": "^2.4.4",
-        "mkdirp": "^0.5.1",
-        "range-parser": "^1.2.1",
-        "webpack-log": "^2.0.0"
-      },
-      "dependencies": {
-        "memory-fs": {
-          "version": "0.4.1",
-          "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-          "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
-          "dev": true,
-          "requires": {
-            "errno": "^0.1.3",
-            "readable-stream": "^2.0.1"
-          }
-        },
-        "mime": {
-          "version": "2.4.6",
-          "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz",
-          "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "webpack-dev-server": {
-      "version": "3.11.0",
-      "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz",
-      "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==",
-      "dev": true,
-      "requires": {
-        "ansi-html": "0.0.7",
-        "bonjour": "^3.5.0",
-        "chokidar": "^2.1.8",
-        "compression": "^1.7.4",
-        "connect-history-api-fallback": "^1.6.0",
-        "debug": "^4.1.1",
-        "del": "^4.1.1",
-        "express": "^4.17.1",
-        "html-entities": "^1.3.1",
-        "http-proxy-middleware": "0.19.1",
-        "import-local": "^2.0.0",
-        "internal-ip": "^4.3.0",
-        "ip": "^1.1.5",
-        "is-absolute-url": "^3.0.3",
-        "killable": "^1.0.1",
-        "loglevel": "^1.6.8",
-        "opn": "^5.5.0",
-        "p-retry": "^3.0.1",
-        "portfinder": "^1.0.26",
-        "schema-utils": "^1.0.0",
-        "selfsigned": "^1.10.7",
-        "semver": "^6.3.0",
-        "serve-index": "^1.9.1",
-        "sockjs": "0.3.20",
-        "sockjs-client": "1.4.0",
-        "spdy": "^4.0.2",
-        "strip-ansi": "^3.0.1",
-        "supports-color": "^6.1.0",
-        "url": "^0.11.0",
-        "webpack-dev-middleware": "^3.7.2",
-        "webpack-log": "^2.0.0",
-        "ws": "^6.2.1",
-        "yargs": "^13.3.2"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "anymatch": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-          "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-          "dev": true,
-          "requires": {
-            "micromatch": "^3.1.4",
-            "normalize-path": "^2.1.1"
-          },
-          "dependencies": {
-            "normalize-path": {
-              "version": "2.1.1",
-              "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-              "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-              "dev": true,
-              "requires": {
-                "remove-trailing-separator": "^1.0.1"
-              }
-            }
-          }
-        },
-        "binary-extensions": {
-          "version": "1.13.1",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-          "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-          "dev": true
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "dev": true,
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "fsevents": {
-          "version": "1.2.13",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-          "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-          "dev": true,
-          "optional": true
-        },
-        "glob-parent": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-          "dev": true,
-          "requires": {
-            "is-glob": "^3.1.0",
-            "path-dirname": "^1.0.0"
-          },
-          "dependencies": {
-            "is-glob": {
-              "version": "3.1.0",
-              "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-              "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-              "dev": true,
-              "requires": {
-                "is-extglob": "^2.1.0"
-              }
-            }
-          }
-        },
-        "is-binary-path": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-          "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-          "dev": true,
-          "requires": {
-            "binary-extensions": "^1.0.0"
-          }
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          }
-        },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "readdirp": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-          "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.11",
-            "micromatch": "^3.1.10",
-            "readable-stream": "^2.0.2"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "webpack-log": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
-      "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
-      "dev": true,
-      "requires": {
-        "ansi-colors": "^3.0.0",
-        "uuid": "^3.3.2"
-      },
-      "dependencies": {
-        "ansi-colors": {
-          "version": "3.2.4",
-          "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
-          "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
-          "dev": true
-        }
-      }
-    },
-    "webpack-sources": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
-      "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
-      "dev": true,
-      "requires": {
-        "source-list-map": "^2.0.0",
-        "source-map": "~0.6.1"
-      }
-    },
-    "websocket-driver": {
-      "version": "0.6.5",
-      "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz",
-      "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=",
-      "dev": true,
-      "requires": {
-        "websocket-extensions": ">=0.1.1"
-      }
-    },
-    "websocket-extensions": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
-      "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
-      "dev": true
-    },
-    "whatwg-fetch": {
-      "version": "3.6.2",
-      "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz",
-      "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==",
-      "dev": true
-    },
-    "which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "dev": true,
-      "requires": {
-        "isexe": "^2.0.0"
-      }
-    },
-    "which-module": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
-      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
-      "dev": true
-    },
-    "wide-align": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
-      "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
-      "dev": true,
-      "requires": {
-        "string-width": "^1.0.2 || 2"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "string-width": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
-          "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
-          "dev": true,
-          "requires": {
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^4.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^3.0.0"
-          }
-        }
-      }
-    },
-    "word-wrap": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
-      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
-      "dev": true
-    },
-    "worker-farm": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
-      "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
-      "dev": true,
-      "requires": {
-        "errno": "~0.1.7"
-      }
-    },
-    "workerpool": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz",
-      "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==",
-      "dev": true
-    },
-    "wrap-ansi": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
-      "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^3.2.0",
-        "string-width": "^3.0.0",
-        "strip-ansi": "^5.0.0"
-      },
-      "dependencies": {
-        "emoji-regex": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-          "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
-          }
-        }
-      }
-    },
-    "wrappy": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
-      "dev": true
-    },
-    "write": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
-      "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
-      "dev": true,
-      "requires": {
-        "mkdirp": "^0.5.1"
-      }
-    },
-    "write-file-atomic": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
-      "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
-      "dev": true,
-      "requires": {
-        "imurmurhash": "^0.1.4",
-        "is-typedarray": "^1.0.0",
-        "signal-exit": "^3.0.2",
-        "typedarray-to-buffer": "^3.1.5"
-      }
-    },
-    "ws": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
-      "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
-      "dev": true,
-      "requires": {
-        "async-limiter": "~1.0.0"
-      }
-    },
-    "xtend": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
-      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
-      "dev": true
-    },
-    "y18n": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
-      "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
-      "dev": true
-    },
-    "yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
-    },
-    "yargs": {
-      "version": "13.3.2",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
-      "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
-      "dev": true,
-      "requires": {
-        "cliui": "^5.0.0",
-        "find-up": "^3.0.0",
-        "get-caller-file": "^2.0.1",
-        "require-directory": "^2.1.1",
-        "require-main-filename": "^2.0.0",
-        "set-blocking": "^2.0.0",
-        "string-width": "^3.0.0",
-        "which-module": "^2.0.0",
-        "y18n": "^4.0.0",
-        "yargs-parser": "^13.1.2"
-      },
-      "dependencies": {
-        "emoji-regex": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-          "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
-          "dev": true
-        },
-        "find-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^3.0.0"
-          }
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "locate-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-          "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^3.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-          "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.0.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
-          }
-        }
-      }
-    },
-    "yargs-parser": {
-      "version": "13.1.2",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
-      "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
-      "dev": true,
-      "requires": {
-        "camelcase": "^5.0.0",
-        "decamelize": "^1.2.0"
-      }
-    },
-    "yargs-unparser": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
-      "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
-      "dev": true,
-      "requires": {
-        "camelcase": "^6.0.0",
-        "decamelize": "^4.0.0",
-        "flat": "^5.0.2",
-        "is-plain-obj": "^2.1.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "6.2.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
-          "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
-          "dev": true
-        },
-        "decamelize": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
-          "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
-          "dev": true
-        }
-      }
-    },
-    "yn": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
-      "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
-      "dev": true
-    },
-    "yocto-queue": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
-      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
-      "dev": true
-    }
-  }
-}
diff --git a/pkgs/servers/monitoring/prometheus/webui/codemirror-promql/package.json b/pkgs/servers/monitoring/prometheus/webui/codemirror-promql/package.json
deleted file mode 100644
index 1980eba94d5..00000000000
--- a/pkgs/servers/monitoring/prometheus/webui/codemirror-promql/package.json
+++ /dev/null
@@ -1,93 +0,0 @@
-{
-  "name": "codemirror-promql",
-  "version": "0.17.0",
-  "description": "a CodeMirror mode for the PromQL language",
-  "main": "cjs/index.js",
-  "module": "esm/index.js",
-  "scripts": {
-    "start": "webpack-dev-server --config webpack.config.cjs --open",
-    "build": "npm run build:grammar && npm run build:lib && npm run build:app",
-    "build:grammar": "lezer-generator src/lang-promql/grammar/promql.grammar -o src/lang-promql/grammar/parser",
-    "build:lib": "bash ./build.sh",
-    "build:app": "webpack --config webpack.config.cjs",
-    "test": "npm run build:grammar && ts-mocha -p tsconfig.json src/**/*.test.ts",
-    "test-coverage": "npm run build:grammar && nyc ts-mocha -p ./tsconfig.json ./**/*.test.ts",
-    "codecov": "nyc report --reporter=text-lcov > coverage.lcov && codecov",
-    "lint": "eslint src/ --ext .ts",
-    "lint:fix": "eslint --fix src/ --ext .ts"
-  },
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/prometheus-community/codemirror-promql.git"
-  },
-  "keywords": [
-    "promql",
-    "codemirror",
-    "mode",
-    "prometheus"
-  ],
-  "author": "Prometheus Authors <prometheus-developers@googlegroups.com>",
-  "license": "MIT",
-  "bugs": {
-    "url": "https://github.com/prometheus-community/codemirror-promql/issues"
-  },
-  "homepage": "https://github.com/prometheus-community/codemirror-promql/blob/master/README.md",
-  "dependencies": {
-    "lru-cache": "^6.0.0"
-  },
-  "devDependencies": {
-    "@codemirror/autocomplete": "^0.18.3",
-    "@codemirror/basic-setup": "^0.18.0",
-    "@codemirror/highlight": "^0.18.3",
-    "@codemirror/language": "^0.18.0",
-    "@codemirror/lint": "^0.18.1",
-    "@codemirror/state": "^0.18.2",
-    "@codemirror/view": "^0.18.1",
-    "@types/chai": "^4.2.12",
-    "@types/lru-cache": "^5.1.0",
-    "@types/mocha": "^8.0.3",
-    "@types/node": "^14.0.13",
-    "@typescript-eslint/eslint-plugin": "^2.22.0",
-    "@typescript-eslint/parser": "^2.22.0",
-    "chai": "^4.2.0",
-    "clean-webpack-plugin": "^3.0.0",
-    "codecov": "^3.8.1",
-    "eslint": "^6.8.0",
-    "eslint-config-prettier": "^6.11.0",
-    "eslint-plugin-flowtype": "^5.2.0",
-    "eslint-plugin-import": "^2.22.0",
-    "eslint-plugin-prettier": "^3.1.4",
-    "html-webpack-plugin": "^4.3.0",
-    "isomorphic-fetch": "^3.0.0",
-    "lezer": "^0.13.1",
-    "lezer-generator": "^0.13.1",
-    "mocha": "^8.1.2",
-    "nock": "^13.0.11",
-    "nyc": "^15.1.0",
-    "prettier": "^2.0.5",
-    "ts-loader": "^7.0.4",
-    "ts-mocha": "^8.0.0",
-    "ts-node": "^9.0.0",
-    "typescript": "^4.2.3",
-    "webpack": "^4.43.0",
-    "webpack-cli": "^3.3.11",
-    "webpack-dev-server": "^3.11.0"
-  },
-  "peerDependencies": {
-    "@codemirror/autocomplete": "^0.18.3",
-    "@codemirror/highlight": "^0.18.3",
-    "@codemirror/language": "^0.18.0",
-    "@codemirror/lint": "^0.18.1",
-    "@codemirror/state": "^0.18.2",
-    "@codemirror/view": "^0.18.1",
-    "lezer": "^0.13.0"
-  },
-  "prettier": {
-    "singleQuote": true,
-    "trailingComma": "es5",
-    "printWidth": 150
-  },
-  "engines": {
-    "node": ">=12.0.0"
-  }
-}
diff --git a/pkgs/servers/monitoring/prometheus/webui/update-web-deps.sh b/pkgs/servers/monitoring/prometheus/webui/update-web-deps.sh
deleted file mode 100755
index 328488e81e5..00000000000
--- a/pkgs/servers/monitoring/prometheus/webui/update-web-deps.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -i bash -p nodePackages.node2nix
-set -euo pipefail
-
-if [[ "$#" -ne 1 || "$1" == -* ]]; then
-    echo "Regenerates the npm dependency lock files for the prometheus package."
-    echo "Usage: $0 <git release tag>"
-    exit 1
-fi
-
-update() {
-    RELEASE_TAG=$1
-    GIT_PATH=$2
-    OUTPUT_PATH=$3
-    NODE_ENV=$4
-
-    PROM_WEB_SRC="https://raw.githubusercontent.com/prometheus/prometheus/$1"
-    wget "$PROM_WEB_SRC/$GIT_PATH/package.json" -O package.json
-    wget "$PROM_WEB_SRC/$GIT_PATH/package-lock.json" -O package-lock.json
-
-    node2nix \
-        --lock package-lock.json \
-        --development \
-        --node-env $NODE_ENV \
-        --no-copy-node-env
-
-    mkdir -p $OUTPUT_PATH
-    mv default.nix node-packages.nix package.json package-lock.json $OUTPUT_PATH
-}
-
-update $1 "web/ui/module/codemirror-promql" "codemirror-promql" ../../../../../development/node-packages/node-env.nix
-update $1 "web/ui/react-app" "webui" ../../../../../development/node-packages/node-env.nix
diff --git a/pkgs/servers/monitoring/prometheus/webui/webui/default.nix b/pkgs/servers/monitoring/prometheus/webui/webui/default.nix
deleted file mode 100644
index 6b56f640ae9..00000000000
--- a/pkgs/servers/monitoring/prometheus/webui/webui/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file has been generated by node2nix 1.9.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 lib python2 runCommand writeTextFile writeShellScript;
-    inherit pkgs nodejs;
-    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
-  };
-in
-import ./node-packages.nix {
-  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
-  inherit nodeEnv;
-}
diff --git a/pkgs/servers/monitoring/prometheus/webui/webui/node-packages.nix b/pkgs/servers/monitoring/prometheus/webui/webui/node-packages.nix
deleted file mode 100644
index ba7dba1c9b7..00000000000
--- a/pkgs/servers/monitoring/prometheus/webui/webui/node-packages.nix
+++ /dev/null
@@ -1,17600 +0,0 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
-
-{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
-
-let
-  sources = {
-    "@babel/code-frame-7.10.4" = {
-      name = "_at_babel_slash_code-frame";
-      packageName = "@babel/code-frame";
-      version = "7.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz";
-        sha512 = "vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==";
-      };
-    };
-    "@babel/code-frame-7.12.11" = {
-      name = "_at_babel_slash_code-frame";
-      packageName = "@babel/code-frame";
-      version = "7.12.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz";
-        sha512 = "Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==";
-      };
-    };
-    "@babel/code-frame-7.14.5" = {
-      name = "_at_babel_slash_code-frame";
-      packageName = "@babel/code-frame";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz";
-        sha512 = "9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==";
-      };
-    };
-    "@babel/compat-data-7.15.0" = {
-      name = "_at_babel_slash_compat-data";
-      packageName = "@babel/compat-data";
-      version = "7.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz";
-        sha512 = "0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==";
-      };
-    };
-    "@babel/core-7.12.3" = {
-      name = "_at_babel_slash_core";
-      packageName = "@babel/core";
-      version = "7.12.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz";
-        sha512 = "0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==";
-      };
-    };
-    "@babel/core-7.15.5" = {
-      name = "_at_babel_slash_core";
-      packageName = "@babel/core";
-      version = "7.15.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz";
-        sha512 = "pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==";
-      };
-    };
-    "@babel/generator-7.15.4" = {
-      name = "_at_babel_slash_generator";
-      packageName = "@babel/generator";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz";
-        sha512 = "d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==";
-      };
-    };
-    "@babel/helper-annotate-as-pure-7.15.4" = {
-      name = "_at_babel_slash_helper-annotate-as-pure";
-      packageName = "@babel/helper-annotate-as-pure";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz";
-        sha512 = "QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==";
-      };
-    };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.15.4" = {
-      name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
-      packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz";
-        sha512 = "P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==";
-      };
-    };
-    "@babel/helper-compilation-targets-7.15.4" = {
-      name = "_at_babel_slash_helper-compilation-targets";
-      packageName = "@babel/helper-compilation-targets";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz";
-        sha512 = "rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==";
-      };
-    };
-    "@babel/helper-create-class-features-plugin-7.15.4" = {
-      name = "_at_babel_slash_helper-create-class-features-plugin";
-      packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz";
-        sha512 = "7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==";
-      };
-    };
-    "@babel/helper-create-regexp-features-plugin-7.14.5" = {
-      name = "_at_babel_slash_helper-create-regexp-features-plugin";
-      packageName = "@babel/helper-create-regexp-features-plugin";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz";
-        sha512 = "TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==";
-      };
-    };
-    "@babel/helper-define-polyfill-provider-0.2.3" = {
-      name = "_at_babel_slash_helper-define-polyfill-provider";
-      packageName = "@babel/helper-define-polyfill-provider";
-      version = "0.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz";
-        sha512 = "RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==";
-      };
-    };
-    "@babel/helper-explode-assignable-expression-7.15.4" = {
-      name = "_at_babel_slash_helper-explode-assignable-expression";
-      packageName = "@babel/helper-explode-assignable-expression";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz";
-        sha512 = "J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==";
-      };
-    };
-    "@babel/helper-function-name-7.15.4" = {
-      name = "_at_babel_slash_helper-function-name";
-      packageName = "@babel/helper-function-name";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz";
-        sha512 = "Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==";
-      };
-    };
-    "@babel/helper-get-function-arity-7.15.4" = {
-      name = "_at_babel_slash_helper-get-function-arity";
-      packageName = "@babel/helper-get-function-arity";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz";
-        sha512 = "1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==";
-      };
-    };
-    "@babel/helper-hoist-variables-7.15.4" = {
-      name = "_at_babel_slash_helper-hoist-variables";
-      packageName = "@babel/helper-hoist-variables";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz";
-        sha512 = "VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==";
-      };
-    };
-    "@babel/helper-member-expression-to-functions-7.15.4" = {
-      name = "_at_babel_slash_helper-member-expression-to-functions";
-      packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz";
-        sha512 = "cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==";
-      };
-    };
-    "@babel/helper-module-imports-7.15.4" = {
-      name = "_at_babel_slash_helper-module-imports";
-      packageName = "@babel/helper-module-imports";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz";
-        sha512 = "jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==";
-      };
-    };
-    "@babel/helper-module-transforms-7.15.4" = {
-      name = "_at_babel_slash_helper-module-transforms";
-      packageName = "@babel/helper-module-transforms";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz";
-        sha512 = "9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==";
-      };
-    };
-    "@babel/helper-optimise-call-expression-7.15.4" = {
-      name = "_at_babel_slash_helper-optimise-call-expression";
-      packageName = "@babel/helper-optimise-call-expression";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz";
-        sha512 = "E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==";
-      };
-    };
-    "@babel/helper-plugin-utils-7.14.5" = {
-      name = "_at_babel_slash_helper-plugin-utils";
-      packageName = "@babel/helper-plugin-utils";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz";
-        sha512 = "/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==";
-      };
-    };
-    "@babel/helper-remap-async-to-generator-7.15.4" = {
-      name = "_at_babel_slash_helper-remap-async-to-generator";
-      packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz";
-        sha512 = "v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==";
-      };
-    };
-    "@babel/helper-replace-supers-7.15.4" = {
-      name = "_at_babel_slash_helper-replace-supers";
-      packageName = "@babel/helper-replace-supers";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz";
-        sha512 = "/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==";
-      };
-    };
-    "@babel/helper-simple-access-7.15.4" = {
-      name = "_at_babel_slash_helper-simple-access";
-      packageName = "@babel/helper-simple-access";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz";
-        sha512 = "UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==";
-      };
-    };
-    "@babel/helper-skip-transparent-expression-wrappers-7.15.4" = {
-      name = "_at_babel_slash_helper-skip-transparent-expression-wrappers";
-      packageName = "@babel/helper-skip-transparent-expression-wrappers";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz";
-        sha512 = "BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==";
-      };
-    };
-    "@babel/helper-split-export-declaration-7.15.4" = {
-      name = "_at_babel_slash_helper-split-export-declaration";
-      packageName = "@babel/helper-split-export-declaration";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz";
-        sha512 = "HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==";
-      };
-    };
-    "@babel/helper-validator-identifier-7.14.9" = {
-      name = "_at_babel_slash_helper-validator-identifier";
-      packageName = "@babel/helper-validator-identifier";
-      version = "7.14.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz";
-        sha512 = "pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==";
-      };
-    };
-    "@babel/helper-validator-option-7.14.5" = {
-      name = "_at_babel_slash_helper-validator-option";
-      packageName = "@babel/helper-validator-option";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz";
-        sha512 = "OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==";
-      };
-    };
-    "@babel/helper-wrap-function-7.15.4" = {
-      name = "_at_babel_slash_helper-wrap-function";
-      packageName = "@babel/helper-wrap-function";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz";
-        sha512 = "Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==";
-      };
-    };
-    "@babel/helpers-7.15.4" = {
-      name = "_at_babel_slash_helpers";
-      packageName = "@babel/helpers";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz";
-        sha512 = "V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==";
-      };
-    };
-    "@babel/highlight-7.14.5" = {
-      name = "_at_babel_slash_highlight";
-      packageName = "@babel/highlight";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz";
-        sha512 = "qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==";
-      };
-    };
-    "@babel/parser-7.15.5" = {
-      name = "_at_babel_slash_parser";
-      packageName = "@babel/parser";
-      version = "7.15.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.15.5.tgz";
-        sha512 = "2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg==";
-      };
-    };
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4" = {
-      name = "_at_babel_slash_plugin-bugfix-v8-spread-parameters-in-optional-chaining";
-      packageName = "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz";
-        sha512 = "eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==";
-      };
-    };
-    "@babel/plugin-proposal-async-generator-functions-7.15.4" = {
-      name = "_at_babel_slash_plugin-proposal-async-generator-functions";
-      packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz";
-        sha512 = "2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw==";
-      };
-    };
-    "@babel/plugin-proposal-class-properties-7.12.1" = {
-      name = "_at_babel_slash_plugin-proposal-class-properties";
-      packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz";
-        sha512 = "cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==";
-      };
-    };
-    "@babel/plugin-proposal-class-properties-7.14.5" = {
-      name = "_at_babel_slash_plugin-proposal-class-properties";
-      packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz";
-        sha512 = "q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==";
-      };
-    };
-    "@babel/plugin-proposal-class-static-block-7.15.4" = {
-      name = "_at_babel_slash_plugin-proposal-class-static-block";
-      packageName = "@babel/plugin-proposal-class-static-block";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz";
-        sha512 = "M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==";
-      };
-    };
-    "@babel/plugin-proposal-decorators-7.12.1" = {
-      name = "_at_babel_slash_plugin-proposal-decorators";
-      packageName = "@babel/plugin-proposal-decorators";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz";
-        sha512 = "knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==";
-      };
-    };
-    "@babel/plugin-proposal-dynamic-import-7.14.5" = {
-      name = "_at_babel_slash_plugin-proposal-dynamic-import";
-      packageName = "@babel/plugin-proposal-dynamic-import";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz";
-        sha512 = "ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==";
-      };
-    };
-    "@babel/plugin-proposal-export-namespace-from-7.14.5" = {
-      name = "_at_babel_slash_plugin-proposal-export-namespace-from";
-      packageName = "@babel/plugin-proposal-export-namespace-from";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz";
-        sha512 = "g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==";
-      };
-    };
-    "@babel/plugin-proposal-json-strings-7.14.5" = {
-      name = "_at_babel_slash_plugin-proposal-json-strings";
-      packageName = "@babel/plugin-proposal-json-strings";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz";
-        sha512 = "NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==";
-      };
-    };
-    "@babel/plugin-proposal-logical-assignment-operators-7.14.5" = {
-      name = "_at_babel_slash_plugin-proposal-logical-assignment-operators";
-      packageName = "@babel/plugin-proposal-logical-assignment-operators";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz";
-        sha512 = "YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==";
-      };
-    };
-    "@babel/plugin-proposal-nullish-coalescing-operator-7.12.1" = {
-      name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
-      packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz";
-        sha512 = "nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==";
-      };
-    };
-    "@babel/plugin-proposal-nullish-coalescing-operator-7.14.5" = {
-      name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
-      packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz";
-        sha512 = "gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==";
-      };
-    };
-    "@babel/plugin-proposal-numeric-separator-7.12.1" = {
-      name = "_at_babel_slash_plugin-proposal-numeric-separator";
-      packageName = "@babel/plugin-proposal-numeric-separator";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz";
-        sha512 = "MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA==";
-      };
-    };
-    "@babel/plugin-proposal-numeric-separator-7.14.5" = {
-      name = "_at_babel_slash_plugin-proposal-numeric-separator";
-      packageName = "@babel/plugin-proposal-numeric-separator";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz";
-        sha512 = "yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==";
-      };
-    };
-    "@babel/plugin-proposal-object-rest-spread-7.14.7" = {
-      name = "_at_babel_slash_plugin-proposal-object-rest-spread";
-      packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.14.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz";
-        sha512 = "082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==";
-      };
-    };
-    "@babel/plugin-proposal-optional-catch-binding-7.14.5" = {
-      name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
-      packageName = "@babel/plugin-proposal-optional-catch-binding";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz";
-        sha512 = "3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==";
-      };
-    };
-    "@babel/plugin-proposal-optional-chaining-7.12.1" = {
-      name = "_at_babel_slash_plugin-proposal-optional-chaining";
-      packageName = "@babel/plugin-proposal-optional-chaining";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz";
-        sha512 = "c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==";
-      };
-    };
-    "@babel/plugin-proposal-optional-chaining-7.14.5" = {
-      name = "_at_babel_slash_plugin-proposal-optional-chaining";
-      packageName = "@babel/plugin-proposal-optional-chaining";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz";
-        sha512 = "ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==";
-      };
-    };
-    "@babel/plugin-proposal-private-methods-7.14.5" = {
-      name = "_at_babel_slash_plugin-proposal-private-methods";
-      packageName = "@babel/plugin-proposal-private-methods";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz";
-        sha512 = "838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==";
-      };
-    };
-    "@babel/plugin-proposal-private-property-in-object-7.15.4" = {
-      name = "_at_babel_slash_plugin-proposal-private-property-in-object";
-      packageName = "@babel/plugin-proposal-private-property-in-object";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz";
-        sha512 = "X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==";
-      };
-    };
-    "@babel/plugin-proposal-unicode-property-regex-7.14.5" = {
-      name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
-      packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz";
-        sha512 = "6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==";
-      };
-    };
-    "@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-bigint-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-bigint";
-      packageName = "@babel/plugin-syntax-bigint";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz";
-        sha512 = "wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==";
-      };
-    };
-    "@babel/plugin-syntax-class-properties-7.12.13" = {
-      name = "_at_babel_slash_plugin-syntax-class-properties";
-      packageName = "@babel/plugin-syntax-class-properties";
-      version = "7.12.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz";
-        sha512 = "fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==";
-      };
-    };
-    "@babel/plugin-syntax-class-static-block-7.14.5" = {
-      name = "_at_babel_slash_plugin-syntax-class-static-block";
-      packageName = "@babel/plugin-syntax-class-static-block";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz";
-        sha512 = "b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==";
-      };
-    };
-    "@babel/plugin-syntax-decorators-7.14.5" = {
-      name = "_at_babel_slash_plugin-syntax-decorators";
-      packageName = "@babel/plugin-syntax-decorators";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz";
-        sha512 = "c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw==";
-      };
-    };
-    "@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-export-namespace-from-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-export-namespace-from";
-      packageName = "@babel/plugin-syntax-export-namespace-from";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz";
-        sha512 = "MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==";
-      };
-    };
-    "@babel/plugin-syntax-flow-7.14.5" = {
-      name = "_at_babel_slash_plugin-syntax-flow";
-      packageName = "@babel/plugin-syntax-flow";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.14.5.tgz";
-        sha512 = "9WK5ZwKCdWHxVuU13XNT6X73FGmutAXeor5lGFq6qhOFtMFUF4jkbijuyUdZZlpYq6E2hZeZf/u3959X9wsv0Q==";
-      };
-    };
-    "@babel/plugin-syntax-import-meta-7.10.4" = {
-      name = "_at_babel_slash_plugin-syntax-import-meta";
-      packageName = "@babel/plugin-syntax-import-meta";
-      version = "7.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz";
-        sha512 = "Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==";
-      };
-    };
-    "@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.14.5" = {
-      name = "_at_babel_slash_plugin-syntax-jsx";
-      packageName = "@babel/plugin-syntax-jsx";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz";
-        sha512 = "ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==";
-      };
-    };
-    "@babel/plugin-syntax-logical-assignment-operators-7.10.4" = {
-      name = "_at_babel_slash_plugin-syntax-logical-assignment-operators";
-      packageName = "@babel/plugin-syntax-logical-assignment-operators";
-      version = "7.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz";
-        sha512 = "d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==";
-      };
-    };
-    "@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.4" = {
-      name = "_at_babel_slash_plugin-syntax-numeric-separator";
-      packageName = "@babel/plugin-syntax-numeric-separator";
-      version = "7.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz";
-        sha512 = "9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==";
-      };
-    };
-    "@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-private-property-in-object-7.14.5" = {
-      name = "_at_babel_slash_plugin-syntax-private-property-in-object";
-      packageName = "@babel/plugin-syntax-private-property-in-object";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz";
-        sha512 = "0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==";
-      };
-    };
-    "@babel/plugin-syntax-top-level-await-7.14.5" = {
-      name = "_at_babel_slash_plugin-syntax-top-level-await";
-      packageName = "@babel/plugin-syntax-top-level-await";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz";
-        sha512 = "hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==";
-      };
-    };
-    "@babel/plugin-syntax-typescript-7.14.5" = {
-      name = "_at_babel_slash_plugin-syntax-typescript";
-      packageName = "@babel/plugin-syntax-typescript";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz";
-        sha512 = "u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==";
-      };
-    };
-    "@babel/plugin-transform-arrow-functions-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-arrow-functions";
-      packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz";
-        sha512 = "KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==";
-      };
-    };
-    "@babel/plugin-transform-async-to-generator-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-async-to-generator";
-      packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz";
-        sha512 = "szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==";
-      };
-    };
-    "@babel/plugin-transform-block-scoped-functions-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-block-scoped-functions";
-      packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz";
-        sha512 = "dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==";
-      };
-    };
-    "@babel/plugin-transform-block-scoping-7.15.3" = {
-      name = "_at_babel_slash_plugin-transform-block-scoping";
-      packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.15.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz";
-        sha512 = "nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==";
-      };
-    };
-    "@babel/plugin-transform-classes-7.15.4" = {
-      name = "_at_babel_slash_plugin-transform-classes";
-      packageName = "@babel/plugin-transform-classes";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz";
-        sha512 = "Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==";
-      };
-    };
-    "@babel/plugin-transform-computed-properties-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-computed-properties";
-      packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz";
-        sha512 = "pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==";
-      };
-    };
-    "@babel/plugin-transform-destructuring-7.14.7" = {
-      name = "_at_babel_slash_plugin-transform-destructuring";
-      packageName = "@babel/plugin-transform-destructuring";
-      version = "7.14.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz";
-        sha512 = "0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==";
-      };
-    };
-    "@babel/plugin-transform-dotall-regex-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-dotall-regex";
-      packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz";
-        sha512 = "loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==";
-      };
-    };
-    "@babel/plugin-transform-duplicate-keys-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-duplicate-keys";
-      packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz";
-        sha512 = "iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==";
-      };
-    };
-    "@babel/plugin-transform-exponentiation-operator-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-exponentiation-operator";
-      packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz";
-        sha512 = "jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==";
-      };
-    };
-    "@babel/plugin-transform-flow-strip-types-7.12.1" = {
-      name = "_at_babel_slash_plugin-transform-flow-strip-types";
-      packageName = "@babel/plugin-transform-flow-strip-types";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz";
-        sha512 = "8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg==";
-      };
-    };
-    "@babel/plugin-transform-for-of-7.15.4" = {
-      name = "_at_babel_slash_plugin-transform-for-of";
-      packageName = "@babel/plugin-transform-for-of";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz";
-        sha512 = "DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==";
-      };
-    };
-    "@babel/plugin-transform-function-name-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-function-name";
-      packageName = "@babel/plugin-transform-function-name";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz";
-        sha512 = "vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==";
-      };
-    };
-    "@babel/plugin-transform-literals-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-literals";
-      packageName = "@babel/plugin-transform-literals";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz";
-        sha512 = "ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==";
-      };
-    };
-    "@babel/plugin-transform-member-expression-literals-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-member-expression-literals";
-      packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz";
-        sha512 = "WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==";
-      };
-    };
-    "@babel/plugin-transform-modules-amd-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-modules-amd";
-      packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz";
-        sha512 = "3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==";
-      };
-    };
-    "@babel/plugin-transform-modules-commonjs-7.15.4" = {
-      name = "_at_babel_slash_plugin-transform-modules-commonjs";
-      packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz";
-        sha512 = "qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==";
-      };
-    };
-    "@babel/plugin-transform-modules-systemjs-7.15.4" = {
-      name = "_at_babel_slash_plugin-transform-modules-systemjs";
-      packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz";
-        sha512 = "fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==";
-      };
-    };
-    "@babel/plugin-transform-modules-umd-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-modules-umd";
-      packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz";
-        sha512 = "RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==";
-      };
-    };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.14.9" = {
-      name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
-      packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.14.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz";
-        sha512 = "l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==";
-      };
-    };
-    "@babel/plugin-transform-new-target-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-new-target";
-      packageName = "@babel/plugin-transform-new-target";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz";
-        sha512 = "Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==";
-      };
-    };
-    "@babel/plugin-transform-object-super-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-object-super";
-      packageName = "@babel/plugin-transform-object-super";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz";
-        sha512 = "MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==";
-      };
-    };
-    "@babel/plugin-transform-parameters-7.15.4" = {
-      name = "_at_babel_slash_plugin-transform-parameters";
-      packageName = "@babel/plugin-transform-parameters";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz";
-        sha512 = "9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==";
-      };
-    };
-    "@babel/plugin-transform-property-literals-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-property-literals";
-      packageName = "@babel/plugin-transform-property-literals";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz";
-        sha512 = "r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==";
-      };
-    };
-    "@babel/plugin-transform-react-constant-elements-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-react-constant-elements";
-      packageName = "@babel/plugin-transform-react-constant-elements";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz";
-        sha512 = "NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ==";
-      };
-    };
-    "@babel/plugin-transform-react-display-name-7.12.1" = {
-      name = "_at_babel_slash_plugin-transform-react-display-name";
-      packageName = "@babel/plugin-transform-react-display-name";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz";
-        sha512 = "cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==";
-      };
-    };
-    "@babel/plugin-transform-react-display-name-7.15.1" = {
-      name = "_at_babel_slash_plugin-transform-react-display-name";
-      packageName = "@babel/plugin-transform-react-display-name";
-      version = "7.15.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz";
-        sha512 = "yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q==";
-      };
-    };
-    "@babel/plugin-transform-react-jsx-7.14.9" = {
-      name = "_at_babel_slash_plugin-transform-react-jsx";
-      packageName = "@babel/plugin-transform-react-jsx";
-      version = "7.14.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz";
-        sha512 = "30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==";
-      };
-    };
-    "@babel/plugin-transform-react-jsx-development-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-react-jsx-development";
-      packageName = "@babel/plugin-transform-react-jsx-development";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz";
-        sha512 = "rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ==";
-      };
-    };
-    "@babel/plugin-transform-react-jsx-self-7.14.9" = {
-      name = "_at_babel_slash_plugin-transform-react-jsx-self";
-      packageName = "@babel/plugin-transform-react-jsx-self";
-      version = "7.14.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.14.9.tgz";
-        sha512 = "Fqqu0f8zv9W+RyOnx29BX/RlEsBRANbOf5xs5oxb2aHP4FKbLXxIaVPUiCti56LAR1IixMH4EyaixhUsKqoBHw==";
-      };
-    };
-    "@babel/plugin-transform-react-jsx-source-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-react-jsx-source";
-      packageName = "@babel/plugin-transform-react-jsx-source";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.5.tgz";
-        sha512 = "1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q==";
-      };
-    };
-    "@babel/plugin-transform-react-pure-annotations-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-react-pure-annotations";
-      packageName = "@babel/plugin-transform-react-pure-annotations";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz";
-        sha512 = "3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g==";
-      };
-    };
-    "@babel/plugin-transform-regenerator-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-regenerator";
-      packageName = "@babel/plugin-transform-regenerator";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz";
-        sha512 = "NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==";
-      };
-    };
-    "@babel/plugin-transform-reserved-words-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-reserved-words";
-      packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz";
-        sha512 = "cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==";
-      };
-    };
-    "@babel/plugin-transform-runtime-7.12.1" = {
-      name = "_at_babel_slash_plugin-transform-runtime";
-      packageName = "@babel/plugin-transform-runtime";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz";
-        sha512 = "Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg==";
-      };
-    };
-    "@babel/plugin-transform-shorthand-properties-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-shorthand-properties";
-      packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz";
-        sha512 = "xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==";
-      };
-    };
-    "@babel/plugin-transform-spread-7.14.6" = {
-      name = "_at_babel_slash_plugin-transform-spread";
-      packageName = "@babel/plugin-transform-spread";
-      version = "7.14.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz";
-        sha512 = "Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==";
-      };
-    };
-    "@babel/plugin-transform-sticky-regex-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-sticky-regex";
-      packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz";
-        sha512 = "Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==";
-      };
-    };
-    "@babel/plugin-transform-template-literals-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-template-literals";
-      packageName = "@babel/plugin-transform-template-literals";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz";
-        sha512 = "22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==";
-      };
-    };
-    "@babel/plugin-transform-typeof-symbol-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-typeof-symbol";
-      packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz";
-        sha512 = "lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==";
-      };
-    };
-    "@babel/plugin-transform-typescript-7.15.4" = {
-      name = "_at_babel_slash_plugin-transform-typescript";
-      packageName = "@babel/plugin-transform-typescript";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.4.tgz";
-        sha512 = "sM1/FEjwYjXvMwu1PJStH11kJ154zd/lpY56NQJ5qH2D0mabMv1CAy/kdvS9RP4Xgfj9fBBA3JiSLdDHgXdzOA==";
-      };
-    };
-    "@babel/plugin-transform-unicode-escapes-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-unicode-escapes";
-      packageName = "@babel/plugin-transform-unicode-escapes";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz";
-        sha512 = "crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==";
-      };
-    };
-    "@babel/plugin-transform-unicode-regex-7.14.5" = {
-      name = "_at_babel_slash_plugin-transform-unicode-regex";
-      packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz";
-        sha512 = "UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==";
-      };
-    };
-    "@babel/preset-env-7.12.1" = {
-      name = "_at_babel_slash_preset-env";
-      packageName = "@babel/preset-env";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.1.tgz";
-        sha512 = "H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==";
-      };
-    };
-    "@babel/preset-env-7.15.4" = {
-      name = "_at_babel_slash_preset-env";
-      packageName = "@babel/preset-env";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.4.tgz";
-        sha512 = "4f2nLw+q6ht8gl3sHCmNhmA5W6b1ItLzbH3UrKuJxACHr2eCpk96jwjrAfCAaXaaVwTQGnyUYHY2EWXJGt7TUQ==";
-      };
-    };
-    "@babel/preset-modules-0.1.4" = {
-      name = "_at_babel_slash_preset-modules";
-      packageName = "@babel/preset-modules";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz";
-        sha512 = "J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==";
-      };
-    };
-    "@babel/preset-react-7.12.1" = {
-      name = "_at_babel_slash_preset-react";
-      packageName = "@babel/preset-react";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.1.tgz";
-        sha512 = "euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g==";
-      };
-    };
-    "@babel/preset-react-7.14.5" = {
-      name = "_at_babel_slash_preset-react";
-      packageName = "@babel/preset-react";
-      version = "7.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.14.5.tgz";
-        sha512 = "XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ==";
-      };
-    };
-    "@babel/preset-typescript-7.12.1" = {
-      name = "_at_babel_slash_preset-typescript";
-      packageName = "@babel/preset-typescript";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz";
-        sha512 = "hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw==";
-      };
-    };
-    "@babel/runtime-7.12.1" = {
-      name = "_at_babel_slash_runtime";
-      packageName = "@babel/runtime";
-      version = "7.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz";
-        sha512 = "J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==";
-      };
-    };
-    "@babel/runtime-7.15.4" = {
-      name = "_at_babel_slash_runtime";
-      packageName = "@babel/runtime";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz";
-        sha512 = "99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==";
-      };
-    };
-    "@babel/runtime-corejs3-7.15.4" = {
-      name = "_at_babel_slash_runtime-corejs3";
-      packageName = "@babel/runtime-corejs3";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.4.tgz";
-        sha512 = "lWcAqKeB624/twtTc3w6w/2o9RqJPaNBhPGK6DKLSiwuVWC7WFkypWyNg+CpZoyJH0jVzv1uMtXZ/5/lQOLtCg==";
-      };
-    };
-    "@babel/template-7.15.4" = {
-      name = "_at_babel_slash_template";
-      packageName = "@babel/template";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz";
-        sha512 = "UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==";
-      };
-    };
-    "@babel/traverse-7.15.4" = {
-      name = "_at_babel_slash_traverse";
-      packageName = "@babel/traverse";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz";
-        sha512 = "W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==";
-      };
-    };
-    "@babel/types-7.15.4" = {
-      name = "_at_babel_slash_types";
-      packageName = "@babel/types";
-      version = "7.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz";
-        sha512 = "0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==";
-      };
-    };
-    "@bcoe/v8-coverage-0.2.3" = {
-      name = "_at_bcoe_slash_v8-coverage";
-      packageName = "@bcoe/v8-coverage";
-      version = "0.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz";
-        sha512 = "0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==";
-      };
-    };
-    "@cnakazawa/watch-1.0.4" = {
-      name = "_at_cnakazawa_slash_watch";
-      packageName = "@cnakazawa/watch";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz";
-        sha512 = "v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==";
-      };
-    };
-    "@codemirror/autocomplete-0.18.8" = {
-      name = "_at_codemirror_slash_autocomplete";
-      packageName = "@codemirror/autocomplete";
-      version = "0.18.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.8.tgz";
-        sha512 = "Va1Q763Vu/rVmIazru/ZnO2kkWVq6SlmMEjeD0qmxLAypyP6j/QNdpmaPDI1qb/+Mb9VFZBbac6a0aLTTi8qxQ==";
-      };
-    };
-    "@codemirror/closebrackets-0.18.0" = {
-      name = "_at_codemirror_slash_closebrackets";
-      packageName = "@codemirror/closebrackets";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/closebrackets/-/closebrackets-0.18.0.tgz";
-        sha512 = "O1RAgUkzF4nq/B8IyXenZKZ1rJi2Mc7I6y4IhWhELiTnjyQy7YdAthTsJ40mNr8kZ6gRbasYe3K7TraITElZJA==";
-      };
-    };
-    "@codemirror/commands-0.18.3" = {
-      name = "_at_codemirror_slash_commands";
-      packageName = "@codemirror/commands";
-      version = "0.18.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/commands/-/commands-0.18.3.tgz";
-        sha512 = "nHYDG13qOirioXTAKmjl10W2L0eZ1ftvmTwvUTNY27UWVBPFSpk5zDXP3WqJ0mgMhQ4AOFLJaTjJEO3hmPComg==";
-      };
-    };
-    "@codemirror/comment-0.18.1" = {
-      name = "_at_codemirror_slash_comment";
-      packageName = "@codemirror/comment";
-      version = "0.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/comment/-/comment-0.18.1.tgz";
-        sha512 = "Inhqs0F24WE28Fcp1dBZghwixBGv1HDwY9MjE0d5tpMY/IPGI6uT30fGyHAXrir6hUqk7eJRkO4UYnODGOnoIA==";
-      };
-    };
-    "@codemirror/highlight-0.18.4" = {
-      name = "_at_codemirror_slash_highlight";
-      packageName = "@codemirror/highlight";
-      version = "0.18.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/highlight/-/highlight-0.18.4.tgz";
-        sha512 = "3azJntqWrShOIq/0kVcdMc9k7ACL0LQErgK+A6aWXmCj5Mx0gShq+Iajy8AMQ2zB0v3nhCBgFaniL1LLD5m5hQ==";
-      };
-    };
-    "@codemirror/history-0.18.1" = {
-      name = "_at_codemirror_slash_history";
-      packageName = "@codemirror/history";
-      version = "0.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/history/-/history-0.18.1.tgz";
-        sha512 = "Aad3p4zs6UYKCUMXYjh7cvPK0ajuL+rMib9yBZ61w81LLl6OkM31Xrn9J6CLJmPxCwP3OJFiqBmNSBQ05oIsTw==";
-      };
-    };
-    "@codemirror/language-0.18.2" = {
-      name = "_at_codemirror_slash_language";
-      packageName = "@codemirror/language";
-      version = "0.18.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/language/-/language-0.18.2.tgz";
-        sha512 = "2Kz0Xyfvt1Ex2KfTUcYZ3IBxpnFCqHaJijwZknGBT7JXv9dwbOPs9SfPfL4oxVuDIHZx8JTPfoV3LTTJrm8M3Q==";
-      };
-    };
-    "@codemirror/lint-0.18.6" = {
-      name = "_at_codemirror_slash_lint";
-      packageName = "@codemirror/lint";
-      version = "0.18.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.6.tgz";
-        sha512 = "juE05YyDoLp9WCcR0hQagphOCIZ0r4WRocRFu9tbFwsMjfuForjn4m+wsLSDaDgp2Z9secMyOSGDpBNtVwM9lQ==";
-      };
-    };
-    "@codemirror/matchbrackets-0.18.0" = {
-      name = "_at_codemirror_slash_matchbrackets";
-      packageName = "@codemirror/matchbrackets";
-      version = "0.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/matchbrackets/-/matchbrackets-0.18.0.tgz";
-        sha512 = "dPDopnZVkD54sSYdmQbyQbPdiuIA83p7XxX6Hp1ScEkOjukwCiFXiA/84x10FUTsQpUYp8bDzm7gwII119bGIw==";
-      };
-    };
-    "@codemirror/panel-0.18.2" = {
-      name = "_at_codemirror_slash_panel";
-      packageName = "@codemirror/panel";
-      version = "0.18.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.2.tgz";
-        sha512 = "ea/g2aAKtfmie1kD7C8GDutD/5u+uzRJr/varUiAbHKr1sAdjtz5xYvC3GBAMYMan1GOh0vD5zP1yEupJl3b3Q==";
-      };
-    };
-    "@codemirror/rangeset-0.18.5" = {
-      name = "_at_codemirror_slash_rangeset";
-      packageName = "@codemirror/rangeset";
-      version = "0.18.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/rangeset/-/rangeset-0.18.5.tgz";
-        sha512 = "gvYniNeEbGRp74MM8EQ+0tylK85pVody4r4N5bs94msPwHQSKFkEmosl8tVmS0Z4e8gRtlB37m8/cWoRiuSz5Q==";
-      };
-    };
-    "@codemirror/search-0.18.4" = {
-      name = "_at_codemirror_slash_search";
-      packageName = "@codemirror/search";
-      version = "0.18.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/search/-/search-0.18.4.tgz";
-        sha512 = "3chVkMPzl+pTUSqtimTicebhti4SLpvkj03pQx2aPZScXxIiYuDk4cLdIJK9omjmO1+oycRKbOrqvG7iZJJwMg==";
-      };
-    };
-    "@codemirror/state-0.18.7" = {
-      name = "_at_codemirror_slash_state";
-      packageName = "@codemirror/state";
-      version = "0.18.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/state/-/state-0.18.7.tgz";
-        sha512 = "cVyTiAC9vv90NKmGOfNtBjyIem3BqKui1L5Hfcxurp8K9votQj2oH9COcgWPnQ2Xs64yC70tEuTt9DF1pj5PFQ==";
-      };
-    };
-    "@codemirror/text-0.18.1" = {
-      name = "_at_codemirror_slash_text";
-      packageName = "@codemirror/text";
-      version = "0.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/text/-/text-0.18.1.tgz";
-        sha512 = "vjXs6mi1F418kucTPlFvnCt9glKnjtYssdXb8mm1oaY/F5O+tgGVepm9Z8F7AKWCQvW8Bns1D3uLz/DOIEywIw==";
-      };
-    };
-    "@codemirror/tooltip-0.18.4" = {
-      name = "_at_codemirror_slash_tooltip";
-      packageName = "@codemirror/tooltip";
-      version = "0.18.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.4.tgz";
-        sha512 = "LDlDOSEfjoG24uapLN7exK3Z3JchYFKUwWqo1x/9YdlAkmD1ik7cMSQZboCquP1uJVcXhtbpKmaO6vENGVaarg==";
-      };
-    };
-    "@codemirror/view-0.18.19" = {
-      name = "_at_codemirror_slash_view";
-      packageName = "@codemirror/view";
-      version = "0.18.19";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/view/-/view-0.18.19.tgz";
-        sha512 = "TmazVl8H3L+aYwlNb8xk6qADRb8KiYOO047pz51R4mGCg4Ja2siSjXktZgUvklsyWbUY7h9q+oAf4piH+mQZTw==";
-      };
-    };
-    "@csstools/convert-colors-1.4.0" = {
-      name = "_at_csstools_slash_convert-colors";
-      packageName = "@csstools/convert-colors";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz";
-        sha512 = "5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==";
-      };
-    };
-    "@csstools/normalize.css-10.1.0" = {
-      name = "_at_csstools_slash_normalize.css";
-      packageName = "@csstools/normalize.css";
-      version = "10.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz";
-        sha512 = "ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==";
-      };
-    };
-    "@eslint/eslintrc-0.4.3" = {
-      name = "_at_eslint_slash_eslintrc";
-      packageName = "@eslint/eslintrc";
-      version = "0.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz";
-        sha512 = "J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==";
-      };
-    };
-    "@forevolve/bootstrap-dark-1.1.0" = {
-      name = "_at_forevolve_slash_bootstrap-dark";
-      packageName = "@forevolve/bootstrap-dark";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@forevolve/bootstrap-dark/-/bootstrap-dark-1.1.0.tgz";
-        sha512 = "A3ucpEpxPoTVO490lZZCfjPXxv832l7mm1IxX3bXyxvgwnPGXDLyh7dWrphXKO8YBAu3EswbBEu3VSW8NRMW3A==";
-      };
-    };
-    "@fortawesome/fontawesome-common-types-0.2.36" = {
-      name = "_at_fortawesome_slash_fontawesome-common-types";
-      packageName = "@fortawesome/fontawesome-common-types";
-      version = "0.2.36";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz";
-        sha512 = "a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==";
-      };
-    };
-    "@fortawesome/fontawesome-svg-core-1.2.36" = {
-      name = "_at_fortawesome_slash_fontawesome-svg-core";
-      packageName = "@fortawesome/fontawesome-svg-core";
-      version = "1.2.36";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz";
-        sha512 = "YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==";
-      };
-    };
-    "@fortawesome/free-solid-svg-icons-5.15.4" = {
-      name = "_at_fortawesome_slash_free-solid-svg-icons";
-      packageName = "@fortawesome/free-solid-svg-icons";
-      version = "5.15.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz";
-        sha512 = "JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==";
-      };
-    };
-    "@fortawesome/react-fontawesome-0.1.15" = {
-      name = "_at_fortawesome_slash_react-fontawesome";
-      packageName = "@fortawesome/react-fontawesome";
-      version = "0.1.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.15.tgz";
-        sha512 = "/HFHdcoLESxxMkqZAcZ6RXDJ69pVApwdwRos/B2kiMWxDSAX2dFK8Er2/+rG+RsrzWB/dsAyjefLmemgmfE18g==";
-      };
-    };
-    "@gar/promisify-1.1.2" = {
-      name = "_at_gar_slash_promisify";
-      packageName = "@gar/promisify";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz";
-        sha512 = "82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==";
-      };
-    };
-    "@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==";
-      };
-    };
-    "@humanwhocodes/config-array-0.5.0" = {
-      name = "_at_humanwhocodes_slash_config-array";
-      packageName = "@humanwhocodes/config-array";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz";
-        sha512 = "FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==";
-      };
-    };
-    "@humanwhocodes/object-schema-1.2.0" = {
-      name = "_at_humanwhocodes_slash_object-schema";
-      packageName = "@humanwhocodes/object-schema";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz";
-        sha512 = "wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==";
-      };
-    };
-    "@hypnosphi/create-react-context-0.3.1" = {
-      name = "_at_hypnosphi_slash_create-react-context";
-      packageName = "@hypnosphi/create-react-context";
-      version = "0.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz";
-        sha512 = "V1klUed202XahrWJLLOT3EXNeCpFHCcJntdFGI15ntCwau+jfT386w7OFTMaCqOgXUH1fa0w/I1oZs+i/Rfr0A==";
-      };
-    };
-    "@istanbuljs/load-nyc-config-1.1.0" = {
-      name = "_at_istanbuljs_slash_load-nyc-config";
-      packageName = "@istanbuljs/load-nyc-config";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz";
-        sha512 = "VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==";
-      };
-    };
-    "@istanbuljs/schema-0.1.3" = {
-      name = "_at_istanbuljs_slash_schema";
-      packageName = "@istanbuljs/schema";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz";
-        sha512 = "ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==";
-      };
-    };
-    "@jest/console-26.6.2" = {
-      name = "_at_jest_slash_console";
-      packageName = "@jest/console";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz";
-        sha512 = "IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==";
-      };
-    };
-    "@jest/core-26.6.3" = {
-      name = "_at_jest_slash_core";
-      packageName = "@jest/core";
-      version = "26.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz";
-        sha512 = "xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==";
-      };
-    };
-    "@jest/environment-26.6.2" = {
-      name = "_at_jest_slash_environment";
-      packageName = "@jest/environment";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz";
-        sha512 = "nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==";
-      };
-    };
-    "@jest/fake-timers-26.6.2" = {
-      name = "_at_jest_slash_fake-timers";
-      packageName = "@jest/fake-timers";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz";
-        sha512 = "14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==";
-      };
-    };
-    "@jest/globals-26.6.2" = {
-      name = "_at_jest_slash_globals";
-      packageName = "@jest/globals";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz";
-        sha512 = "85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==";
-      };
-    };
-    "@jest/reporters-26.6.2" = {
-      name = "_at_jest_slash_reporters";
-      packageName = "@jest/reporters";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz";
-        sha512 = "h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==";
-      };
-    };
-    "@jest/source-map-26.6.2" = {
-      name = "_at_jest_slash_source-map";
-      packageName = "@jest/source-map";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz";
-        sha512 = "YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==";
-      };
-    };
-    "@jest/test-result-26.6.2" = {
-      name = "_at_jest_slash_test-result";
-      packageName = "@jest/test-result";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz";
-        sha512 = "5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==";
-      };
-    };
-    "@jest/test-sequencer-26.6.3" = {
-      name = "_at_jest_slash_test-sequencer";
-      packageName = "@jest/test-sequencer";
-      version = "26.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz";
-        sha512 = "YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==";
-      };
-    };
-    "@jest/transform-26.6.2" = {
-      name = "_at_jest_slash_transform";
-      packageName = "@jest/transform";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz";
-        sha512 = "E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==";
-      };
-    };
-    "@jest/types-26.6.2" = {
-      name = "_at_jest_slash_types";
-      packageName = "@jest/types";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz";
-        sha512 = "fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==";
-      };
-    };
-    "@jest/types-27.1.0" = {
-      name = "_at_jest_slash_types";
-      packageName = "@jest/types";
-      version = "27.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/types/-/types-27.1.0.tgz";
-        sha512 = "pRP5cLIzN7I7Vp6mHKRSaZD7YpBTK7hawx5si8trMKqk4+WOdK8NEKOTO2G8PKWD1HbKMVckVB6/XHh/olhf2g==";
-      };
-    };
-    "@nexucis/fuzzy-0.3.0" = {
-      name = "_at_nexucis_slash_fuzzy";
-      packageName = "@nexucis/fuzzy";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@nexucis/fuzzy/-/fuzzy-0.3.0.tgz";
-        sha512 = "Z1+ADKY0fxdBE28REraWhUCNy+Bp5UmpK3Tc/5wdCDpY+6fXh8l2csMtbPGaqEBsyGLxJz9wUYGCf+CW9unyvQ==";
-      };
-    };
-    "@nodelib/fs.scandir-2.1.5" = {
-      name = "_at_nodelib_slash_fs.scandir";
-      packageName = "@nodelib/fs.scandir";
-      version = "2.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz";
-        sha512 = "vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==";
-      };
-    };
-    "@nodelib/fs.stat-2.0.5" = {
-      name = "_at_nodelib_slash_fs.stat";
-      packageName = "@nodelib/fs.stat";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz";
-        sha512 = "RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==";
-      };
-    };
-    "@nodelib/fs.walk-1.2.8" = {
-      name = "_at_nodelib_slash_fs.walk";
-      packageName = "@nodelib/fs.walk";
-      version = "1.2.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz";
-        sha512 = "oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==";
-      };
-    };
-    "@npmcli/fs-1.0.0" = {
-      name = "_at_npmcli_slash_fs";
-      packageName = "@npmcli/fs";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz";
-        sha512 = "8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==";
-      };
-    };
-    "@npmcli/move-file-1.1.2" = {
-      name = "_at_npmcli_slash_move-file";
-      packageName = "@npmcli/move-file";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz";
-        sha512 = "1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==";
-      };
-    };
-    "@pmmmwh/react-refresh-webpack-plugin-0.4.3" = {
-      name = "_at_pmmmwh_slash_react-refresh-webpack-plugin";
-      packageName = "@pmmmwh/react-refresh-webpack-plugin";
-      version = "0.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz";
-        sha512 = "br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==";
-      };
-    };
-    "@rollup/plugin-node-resolve-7.1.3" = {
-      name = "_at_rollup_slash_plugin-node-resolve";
-      packageName = "@rollup/plugin-node-resolve";
-      version = "7.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz";
-        sha512 = "RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==";
-      };
-    };
-    "@rollup/plugin-replace-2.4.2" = {
-      name = "_at_rollup_slash_plugin-replace";
-      packageName = "@rollup/plugin-replace";
-      version = "2.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz";
-        sha512 = "IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==";
-      };
-    };
-    "@rollup/pluginutils-3.1.0" = {
-      name = "_at_rollup_slash_pluginutils";
-      packageName = "@rollup/pluginutils";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz";
-        sha512 = "GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==";
-      };
-    };
-    "@sinonjs/commons-1.8.3" = {
-      name = "_at_sinonjs_slash_commons";
-      packageName = "@sinonjs/commons";
-      version = "1.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz";
-        sha512 = "xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==";
-      };
-    };
-    "@sinonjs/fake-timers-6.0.1" = {
-      name = "_at_sinonjs_slash_fake-timers";
-      packageName = "@sinonjs/fake-timers";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz";
-        sha512 = "MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==";
-      };
-    };
-    "@sinonjs/samsam-5.3.1" = {
-      name = "_at_sinonjs_slash_samsam";
-      packageName = "@sinonjs/samsam";
-      version = "5.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz";
-        sha512 = "1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==";
-      };
-    };
-    "@sinonjs/text-encoding-0.7.1" = {
-      name = "_at_sinonjs_slash_text-encoding";
-      packageName = "@sinonjs/text-encoding";
-      version = "0.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz";
-        sha512 = "+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==";
-      };
-    };
-    "@surma/rollup-plugin-off-main-thread-1.4.2" = {
-      name = "_at_surma_slash_rollup-plugin-off-main-thread";
-      packageName = "@surma/rollup-plugin-off-main-thread";
-      version = "1.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz";
-        sha512 = "yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A==";
-      };
-    };
-    "@svgr/babel-plugin-add-jsx-attribute-5.4.0" = {
-      name = "_at_svgr_slash_babel-plugin-add-jsx-attribute";
-      packageName = "@svgr/babel-plugin-add-jsx-attribute";
-      version = "5.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz";
-        sha512 = "ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==";
-      };
-    };
-    "@svgr/babel-plugin-remove-jsx-attribute-5.4.0" = {
-      name = "_at_svgr_slash_babel-plugin-remove-jsx-attribute";
-      packageName = "@svgr/babel-plugin-remove-jsx-attribute";
-      version = "5.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz";
-        sha512 = "yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==";
-      };
-    };
-    "@svgr/babel-plugin-remove-jsx-empty-expression-5.0.1" = {
-      name = "_at_svgr_slash_babel-plugin-remove-jsx-empty-expression";
-      packageName = "@svgr/babel-plugin-remove-jsx-empty-expression";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz";
-        sha512 = "LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==";
-      };
-    };
-    "@svgr/babel-plugin-replace-jsx-attribute-value-5.0.1" = {
-      name = "_at_svgr_slash_babel-plugin-replace-jsx-attribute-value";
-      packageName = "@svgr/babel-plugin-replace-jsx-attribute-value";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz";
-        sha512 = "PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==";
-      };
-    };
-    "@svgr/babel-plugin-svg-dynamic-title-5.4.0" = {
-      name = "_at_svgr_slash_babel-plugin-svg-dynamic-title";
-      packageName = "@svgr/babel-plugin-svg-dynamic-title";
-      version = "5.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz";
-        sha512 = "zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==";
-      };
-    };
-    "@svgr/babel-plugin-svg-em-dimensions-5.4.0" = {
-      name = "_at_svgr_slash_babel-plugin-svg-em-dimensions";
-      packageName = "@svgr/babel-plugin-svg-em-dimensions";
-      version = "5.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz";
-        sha512 = "cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==";
-      };
-    };
-    "@svgr/babel-plugin-transform-react-native-svg-5.4.0" = {
-      name = "_at_svgr_slash_babel-plugin-transform-react-native-svg";
-      packageName = "@svgr/babel-plugin-transform-react-native-svg";
-      version = "5.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz";
-        sha512 = "3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==";
-      };
-    };
-    "@svgr/babel-plugin-transform-svg-component-5.5.0" = {
-      name = "_at_svgr_slash_babel-plugin-transform-svg-component";
-      packageName = "@svgr/babel-plugin-transform-svg-component";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz";
-        sha512 = "q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==";
-      };
-    };
-    "@svgr/babel-preset-5.5.0" = {
-      name = "_at_svgr_slash_babel-preset";
-      packageName = "@svgr/babel-preset";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz";
-        sha512 = "4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==";
-      };
-    };
-    "@svgr/core-5.5.0" = {
-      name = "_at_svgr_slash_core";
-      packageName = "@svgr/core";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz";
-        sha512 = "q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==";
-      };
-    };
-    "@svgr/hast-util-to-babel-ast-5.5.0" = {
-      name = "_at_svgr_slash_hast-util-to-babel-ast";
-      packageName = "@svgr/hast-util-to-babel-ast";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz";
-        sha512 = "cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==";
-      };
-    };
-    "@svgr/plugin-jsx-5.5.0" = {
-      name = "_at_svgr_slash_plugin-jsx";
-      packageName = "@svgr/plugin-jsx";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz";
-        sha512 = "V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==";
-      };
-    };
-    "@svgr/plugin-svgo-5.5.0" = {
-      name = "_at_svgr_slash_plugin-svgo";
-      packageName = "@svgr/plugin-svgo";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz";
-        sha512 = "r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==";
-      };
-    };
-    "@svgr/webpack-5.5.0" = {
-      name = "_at_svgr_slash_webpack";
-      packageName = "@svgr/webpack";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz";
-        sha512 = "DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==";
-      };
-    };
-    "@testing-library/react-hooks-3.7.0" = {
-      name = "_at_testing-library_slash_react-hooks";
-      packageName = "@testing-library/react-hooks";
-      version = "3.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-3.7.0.tgz";
-        sha512 = "TwfbY6BWtWIHitjT05sbllyLIProcysC0dF0q1bbDa7OHLC6A6rJOYJwZ13hzfz3O4RtOuInmprBozJRyyo7/g==";
-      };
-    };
-    "@tootallnate/once-1.1.2" = {
-      name = "_at_tootallnate_slash_once";
-      packageName = "@tootallnate/once";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz";
-        sha512 = "RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==";
-      };
-    };
-    "@types/babel__core-7.1.16" = {
-      name = "_at_types_slash_babel__core";
-      packageName = "@types/babel__core";
-      version = "7.1.16";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz";
-        sha512 = "EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==";
-      };
-    };
-    "@types/babel__generator-7.6.3" = {
-      name = "_at_types_slash_babel__generator";
-      packageName = "@types/babel__generator";
-      version = "7.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz";
-        sha512 = "/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==";
-      };
-    };
-    "@types/babel__template-7.4.1" = {
-      name = "_at_types_slash_babel__template";
-      packageName = "@types/babel__template";
-      version = "7.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz";
-        sha512 = "azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==";
-      };
-    };
-    "@types/babel__traverse-7.14.2" = {
-      name = "_at_types_slash_babel__traverse";
-      packageName = "@types/babel__traverse";
-      version = "7.14.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz";
-        sha512 = "K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==";
-      };
-    };
-    "@types/cheerio-0.22.30" = {
-      name = "_at_types_slash_cheerio";
-      packageName = "@types/cheerio";
-      version = "0.22.30";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.30.tgz";
-        sha512 = "t7ZVArWZlq3dFa9Yt33qFBQIK4CQd1Q3UJp0V+UhP6vgLWLM6Qug7vZuRSGXg45zXeB1Fm5X2vmBkEX58LV2Tw==";
-      };
-    };
-    "@types/enzyme-3.10.9" = {
-      name = "_at_types_slash_enzyme";
-      packageName = "@types/enzyme";
-      version = "3.10.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.10.9.tgz";
-        sha512 = "dx5UvcWe2Vtye6S9Hw2rFB7Ul9uMXOAje2FAbXvVYieQDNle9qPAo7DfvFMSztZ9NFiD3dVZ4JsRYGTrSLynJg==";
-      };
-    };
-    "@types/enzyme-adapter-react-16-1.0.6" = {
-      name = "_at_types_slash_enzyme-adapter-react-16";
-      packageName = "@types/enzyme-adapter-react-16";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.6.tgz";
-        sha512 = "VonDkZ15jzqDWL8mPFIQnnLtjwebuL9YnDkqeCDYnB4IVgwUm0mwKkqhrxLL6mb05xm7qqa3IE95m8CZE9imCg==";
-      };
-    };
-    "@types/eslint-7.28.0" = {
-      name = "_at_types_slash_eslint";
-      packageName = "@types/eslint";
-      version = "7.28.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz";
-        sha512 = "07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==";
-      };
-    };
-    "@types/estree-0.0.39" = {
-      name = "_at_types_slash_estree";
-      packageName = "@types/estree";
-      version = "0.0.39";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz";
-        sha512 = "EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==";
-      };
-    };
-    "@types/estree-0.0.50" = {
-      name = "_at_types_slash_estree";
-      packageName = "@types/estree";
-      version = "0.0.50";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz";
-        sha512 = "C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==";
-      };
-    };
-    "@types/flot-0.0.32" = {
-      name = "_at_types_slash_flot";
-      packageName = "@types/flot";
-      version = "0.0.32";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/flot/-/flot-0.0.32.tgz";
-        sha512 = "aturel4TWMY86N4Pkpc9pSoUd/p8c3BjGj4fTDkaZIpkRPzLH1VXZCAKGUywcFkTqgZMhPJFPWxd4pl87y8h/w==";
-      };
-    };
-    "@types/glob-7.1.4" = {
-      name = "_at_types_slash_glob";
-      packageName = "@types/glob";
-      version = "7.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz";
-        sha512 = "w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==";
-      };
-    };
-    "@types/graceful-fs-4.1.5" = {
-      name = "_at_types_slash_graceful-fs";
-      packageName = "@types/graceful-fs";
-      version = "4.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz";
-        sha512 = "anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==";
-      };
-    };
-    "@types/history-4.7.9" = {
-      name = "_at_types_slash_history";
-      packageName = "@types/history";
-      version = "4.7.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/history/-/history-4.7.9.tgz";
-        sha512 = "MUc6zSmU3tEVnkQ78q0peeEjKWPUADMlC/t++2bI8WnAG2tvYRPIgHG8lWkXwqc8MsUF6Z2MOf+Mh5sazOmhiQ==";
-      };
-    };
-    "@types/html-minifier-terser-5.1.2" = {
-      name = "_at_types_slash_html-minifier-terser";
-      packageName = "@types/html-minifier-terser";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz";
-        sha512 = "h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==";
-      };
-    };
-    "@types/istanbul-lib-coverage-2.0.3" = {
-      name = "_at_types_slash_istanbul-lib-coverage";
-      packageName = "@types/istanbul-lib-coverage";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz";
-        sha512 = "sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==";
-      };
-    };
-    "@types/istanbul-lib-report-3.0.0" = {
-      name = "_at_types_slash_istanbul-lib-report";
-      packageName = "@types/istanbul-lib-report";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz";
-        sha512 = "plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==";
-      };
-    };
-    "@types/istanbul-reports-3.0.1" = {
-      name = "_at_types_slash_istanbul-reports";
-      packageName = "@types/istanbul-reports";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz";
-        sha512 = "c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==";
-      };
-    };
-    "@types/jest-27.0.1" = {
-      name = "_at_types_slash_jest";
-      packageName = "@types/jest";
-      version = "27.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jest/-/jest-27.0.1.tgz";
-        sha512 = "HTLpVXHrY69556ozYkcq47TtQJXpcWAWfkoqz+ZGz2JnmZhzlRjprCIyFnetSy8gpDWwTTGBcRVv1J1I1vBrHw==";
-      };
-    };
-    "@types/jquery-3.5.6" = {
-      name = "_at_types_slash_jquery";
-      packageName = "@types/jquery";
-      version = "3.5.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.6.tgz";
-        sha512 = "SmgCQRzGPId4MZQKDj9Hqc6kSXFNWZFHpELkyK8AQhf8Zr6HKfCzFv9ZC1Fv3FyQttJZOlap3qYb12h61iZAIg==";
-      };
-    };
-    "@types/json-schema-7.0.9" = {
-      name = "_at_types_slash_json-schema";
-      packageName = "@types/json-schema";
-      version = "7.0.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz";
-        sha512 = "qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==";
-      };
-    };
-    "@types/json5-0.0.29" = {
-      name = "_at_types_slash_json5";
-      packageName = "@types/json5";
-      version = "0.0.29";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz";
-        sha1 = "ee28707ae94e11d2b827bcbe5270bcea7f3e71ee";
-      };
-    };
-    "@types/minimatch-3.0.5" = {
-      name = "_at_types_slash_minimatch";
-      packageName = "@types/minimatch";
-      version = "3.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz";
-        sha512 = "Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==";
-      };
-    };
-    "@types/moment-timezone-0.5.30" = {
-      name = "_at_types_slash_moment-timezone";
-      packageName = "@types/moment-timezone";
-      version = "0.5.30";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/moment-timezone/-/moment-timezone-0.5.30.tgz";
-        sha512 = "aDVfCsjYnAQaV/E9Qc24C5Njx1CoDjXsEgkxtp9NyXDpYu4CCbmclb6QhWloS9UTU/8YROUEEdEkWI0D7DxnKg==";
-      };
-    };
-    "@types/node-12.20.24" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "12.20.24";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz";
-        sha512 = "yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==";
-      };
-    };
-    "@types/normalize-package-data-2.4.1" = {
-      name = "_at_types_slash_normalize-package-data";
-      packageName = "@types/normalize-package-data";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz";
-        sha512 = "Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==";
-      };
-    };
-    "@types/parse-json-4.0.0" = {
-      name = "_at_types_slash_parse-json";
-      packageName = "@types/parse-json";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz";
-        sha512 = "//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==";
-      };
-    };
-    "@types/prettier-2.3.2" = {
-      name = "_at_types_slash_prettier";
-      packageName = "@types/prettier";
-      version = "2.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz";
-        sha512 = "eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==";
-      };
-    };
-    "@types/prop-types-15.7.4" = {
-      name = "_at_types_slash_prop-types";
-      packageName = "@types/prop-types";
-      version = "15.7.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz";
-        sha512 = "rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==";
-      };
-    };
-    "@types/q-1.5.5" = {
-      name = "_at_types_slash_q";
-      packageName = "@types/q";
-      version = "1.5.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz";
-        sha512 = "L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==";
-      };
-    };
-    "@types/react-16.14.15" = {
-      name = "_at_types_slash_react";
-      packageName = "@types/react";
-      version = "16.14.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react/-/react-16.14.15.tgz";
-        sha512 = "jOxlBV9RGZhphdeqJTCv35VZOkjY+XIEY2owwSk84BNDdDv2xS6Csj6fhi+B/q30SR9Tz8lDNt/F2Z5RF3TrRg==";
-      };
-    };
-    "@types/react-copy-to-clipboard-5.0.1" = {
-      name = "_at_types_slash_react-copy-to-clipboard";
-      packageName = "@types/react-copy-to-clipboard";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.1.tgz";
-        sha512 = "CDuRrJWEIdfKFC4vbwpXT3vk0O4gA/I/Kxu/1npUvGc2Yey5swPvsgO3JEnQkIUwdnYUbwUYDE/fTFQVgqr4oA==";
-      };
-    };
-    "@types/react-dom-16.9.14" = {
-      name = "_at_types_slash_react-dom";
-      packageName = "@types/react-dom";
-      version = "16.9.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.14.tgz";
-        sha512 = "FIX2AVmPTGP30OUJ+0vadeIFJJ07Mh1m+U0rxfgyW34p3rTlXI+nlenvAxNn4BP36YyI9IJ/+UJ7Wu22N1pI7A==";
-      };
-    };
-    "@types/react-resize-detector-5.0.0" = {
-      name = "_at_types_slash_react-resize-detector";
-      packageName = "@types/react-resize-detector";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react-resize-detector/-/react-resize-detector-5.0.0.tgz";
-        sha512 = "JTqR0G+RcC6Guqi/JXQBq3jewflumUGd4fDUucmZN9L1d8TZuRHzDTtrmgYWrgLvRTBTV6FjegmLeV1UnrIuzw==";
-      };
-    };
-    "@types/react-router-5.1.16" = {
-      name = "_at_types_slash_react-router";
-      packageName = "@types/react-router";
-      version = "5.1.16";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.16.tgz";
-        sha512 = "8d7nR/fNSqlTFGHti0R3F9WwIertOaaA1UEB8/jr5l5mDMOs4CidEgvvYMw4ivqrBK+vtVLxyTj2P+Pr/dtgzg==";
-      };
-    };
-    "@types/react-router-dom-5.1.8" = {
-      name = "_at_types_slash_react-router-dom";
-      packageName = "@types/react-router-dom";
-      version = "5.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.1.8.tgz";
-        sha512 = "03xHyncBzG0PmDmf8pf3rehtjY0NpUj7TIN46FrT5n1ZWHPZvXz32gUyNboJ+xsL8cpg8bQVLcllptcQHvocrw==";
-      };
-    };
-    "@types/react-test-renderer-17.0.1" = {
-      name = "_at_types_slash_react-test-renderer";
-      packageName = "@types/react-test-renderer";
-      version = "17.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-17.0.1.tgz";
-        sha512 = "3Fi2O6Zzq/f3QR9dRnlnHso9bMl7weKCviFmfF6B4LS1Uat6Hkm15k0ZAQuDz+UBq6B3+g+NM6IT2nr5QgPzCw==";
-      };
-    };
-    "@types/reactstrap-8.7.2" = {
-      name = "_at_types_slash_reactstrap";
-      packageName = "@types/reactstrap";
-      version = "8.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/reactstrap/-/reactstrap-8.7.2.tgz";
-        sha512 = "8sYGS/LhG+ic8vhLwxhuVn+TSqS1lKzplm9BHv4JaQoetStAi9uOqP2VREfefIRT3JnOq5Y+G7Afdryvn+UgZQ==";
-      };
-    };
-    "@types/resolve-0.0.8" = {
-      name = "_at_types_slash_resolve";
-      packageName = "@types/resolve";
-      version = "0.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz";
-        sha512 = "auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==";
-      };
-    };
-    "@types/sanitize-html-1.27.2" = {
-      name = "_at_types_slash_sanitize-html";
-      packageName = "@types/sanitize-html";
-      version = "1.27.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/sanitize-html/-/sanitize-html-1.27.2.tgz";
-        sha512 = "DrH26m7CV6PB4YVckjbSIx+xloB7HBolr9Ctm0gZBffSu5dDV4yJKFQGPquJlReVW+xmg59gx+b/8/qYHxZEuw==";
-      };
-    };
-    "@types/scheduler-0.16.2" = {
-      name = "_at_types_slash_scheduler";
-      packageName = "@types/scheduler";
-      version = "0.16.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz";
-        sha512 = "hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==";
-      };
-    };
-    "@types/sinon-9.0.11" = {
-      name = "_at_types_slash_sinon";
-      packageName = "@types/sinon";
-      version = "9.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.11.tgz";
-        sha512 = "PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg==";
-      };
-    };
-    "@types/sinonjs__fake-timers-6.0.3" = {
-      name = "_at_types_slash_sinonjs__fake-timers";
-      packageName = "@types/sinonjs__fake-timers";
-      version = "6.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.3.tgz";
-        sha512 = "E1dU4fzC9wN2QK2Cr1MLCfyHM8BoNnRFvuf45LYMPNDA+WqbNzC45S4UzPxvp1fFJ1rvSGU0bPvdd35VLmXG8g==";
-      };
-    };
-    "@types/sizzle-2.3.3" = {
-      name = "_at_types_slash_sizzle";
-      packageName = "@types/sizzle";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz";
-        sha512 = "JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==";
-      };
-    };
-    "@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/stack-utils-2.0.1" = {
-      name = "_at_types_slash_stack-utils";
-      packageName = "@types/stack-utils";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz";
-        sha512 = "Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==";
-      };
-    };
-    "@types/tapable-1.0.8" = {
-      name = "_at_types_slash_tapable";
-      packageName = "@types/tapable";
-      version = "1.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz";
-        sha512 = "ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==";
-      };
-    };
-    "@types/testing-library__react-hooks-3.4.1" = {
-      name = "_at_types_slash_testing-library__react-hooks";
-      packageName = "@types/testing-library__react-hooks";
-      version = "3.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/testing-library__react-hooks/-/testing-library__react-hooks-3.4.1.tgz";
-        sha512 = "G4JdzEcq61fUyV6wVW9ebHWEiLK2iQvaBuCHHn9eMSbZzVh4Z4wHnUGIvQOYCCYeu5DnUtFyNYuAAgbSaO/43Q==";
-      };
-    };
-    "@types/uglify-js-3.13.1" = {
-      name = "_at_types_slash_uglify-js";
-      packageName = "@types/uglify-js";
-      version = "3.13.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz";
-        sha512 = "O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==";
-      };
-    };
-    "@types/webpack-4.41.30" = {
-      name = "_at_types_slash_webpack";
-      packageName = "@types/webpack";
-      version = "4.41.30";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.30.tgz";
-        sha512 = "GUHyY+pfuQ6haAfzu4S14F+R5iGRwN6b2FRNJY7U0NilmFAqbsOfK6j1HwuLBAqwRIT+pVdNDJGJ6e8rpp0KHA==";
-      };
-    };
-    "@types/webpack-sources-3.2.0" = {
-      name = "_at_types_slash_webpack-sources";
-      packageName = "@types/webpack-sources";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz";
-        sha512 = "Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==";
-      };
-    };
-    "@types/yargs-15.0.14" = {
-      name = "_at_types_slash_yargs";
-      packageName = "@types/yargs";
-      version = "15.0.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz";
-        sha512 = "yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==";
-      };
-    };
-    "@types/yargs-16.0.4" = {
-      name = "_at_types_slash_yargs";
-      packageName = "@types/yargs";
-      version = "16.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz";
-        sha512 = "T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==";
-      };
-    };
-    "@types/yargs-parser-20.2.1" = {
-      name = "_at_types_slash_yargs-parser";
-      packageName = "@types/yargs-parser";
-      version = "20.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz";
-        sha512 = "7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==";
-      };
-    };
-    "@typescript-eslint/eslint-plugin-4.31.0" = {
-      name = "_at_typescript-eslint_slash_eslint-plugin";
-      packageName = "@typescript-eslint/eslint-plugin";
-      version = "4.31.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.0.tgz";
-        sha512 = "iPKZTZNavAlOhfF4gymiSuUkgLne/nh5Oz2/mdiUmuZVD42m9PapnCnzjxuDsnpnbH3wT5s2D8bw6S39TC6GNw==";
-      };
-    };
-    "@typescript-eslint/experimental-utils-3.10.1" = {
-      name = "_at_typescript-eslint_slash_experimental-utils";
-      packageName = "@typescript-eslint/experimental-utils";
-      version = "3.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz";
-        sha512 = "DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==";
-      };
-    };
-    "@typescript-eslint/experimental-utils-4.31.0" = {
-      name = "_at_typescript-eslint_slash_experimental-utils";
-      packageName = "@typescript-eslint/experimental-utils";
-      version = "4.31.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.0.tgz";
-        sha512 = "Hld+EQiKLMppgKKkdUsLeVIeEOrwKc2G983NmznY/r5/ZtZCDvIOXnXtwqJIgYz/ymsy7n7RGvMyrzf1WaSQrw==";
-      };
-    };
-    "@typescript-eslint/parser-4.31.0" = {
-      name = "_at_typescript-eslint_slash_parser";
-      packageName = "@typescript-eslint/parser";
-      version = "4.31.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.31.0.tgz";
-        sha512 = "oWbzvPh5amMuTmKaf1wp0ySxPt2ZXHnFQBN2Szu1O//7LmOvgaKTCIDNLK2NvzpmVd5A2M/1j/rujBqO37hj3w==";
-      };
-    };
-    "@typescript-eslint/scope-manager-4.31.0" = {
-      name = "_at_typescript-eslint_slash_scope-manager";
-      packageName = "@typescript-eslint/scope-manager";
-      version = "4.31.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.31.0.tgz";
-        sha512 = "LJ+xtl34W76JMRLjbaQorhR0hfRAlp3Lscdiz9NeI/8i+q0hdBZ7BsiYieLoYWqy+AnRigaD3hUwPFugSzdocg==";
-      };
-    };
-    "@typescript-eslint/types-3.10.1" = {
-      name = "_at_typescript-eslint_slash_types";
-      packageName = "@typescript-eslint/types";
-      version = "3.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz";
-        sha512 = "+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==";
-      };
-    };
-    "@typescript-eslint/types-4.31.0" = {
-      name = "_at_typescript-eslint_slash_types";
-      packageName = "@typescript-eslint/types";
-      version = "4.31.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.31.0.tgz";
-        sha512 = "9XR5q9mk7DCXgXLS7REIVs+BaAswfdHhx91XqlJklmqWpTALGjygWVIb/UnLh4NWhfwhR5wNe1yTyCInxVhLqQ==";
-      };
-    };
-    "@typescript-eslint/typescript-estree-3.10.1" = {
-      name = "_at_typescript-eslint_slash_typescript-estree";
-      packageName = "@typescript-eslint/typescript-estree";
-      version = "3.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz";
-        sha512 = "QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==";
-      };
-    };
-    "@typescript-eslint/typescript-estree-4.31.0" = {
-      name = "_at_typescript-eslint_slash_typescript-estree";
-      packageName = "@typescript-eslint/typescript-estree";
-      version = "4.31.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.0.tgz";
-        sha512 = "QHl2014t3ptg+xpmOSSPn5hm4mY8D4s97ftzyk9BZ8RxYQ3j73XcwuijnJ9cMa6DO4aLXeo8XS3z1omT9LA/Eg==";
-      };
-    };
-    "@typescript-eslint/visitor-keys-3.10.1" = {
-      name = "_at_typescript-eslint_slash_visitor-keys";
-      packageName = "@typescript-eslint/visitor-keys";
-      version = "3.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz";
-        sha512 = "9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==";
-      };
-    };
-    "@typescript-eslint/visitor-keys-4.31.0" = {
-      name = "_at_typescript-eslint_slash_visitor-keys";
-      packageName = "@typescript-eslint/visitor-keys";
-      version = "4.31.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.0.tgz";
-        sha512 = "HUcRp2a9I+P21+O21yu3ezv3GEPGjyGiXoEUQwZXjR8UxRApGeLyWH4ZIIUSalE28aG4YsV6GjtaAVB3QKOu0w==";
-      };
-    };
-    "@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==";
-      };
-    };
-    "abab-2.0.5" = {
-      name = "abab";
-      packageName = "abab";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz";
-        sha512 = "9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==";
-      };
-    };
-    "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.2" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "6.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz";
-        sha512 = "XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==";
-      };
-    };
-    "acorn-7.4.1" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "7.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz";
-        sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
-      };
-    };
-    "acorn-8.5.0" = {
-      name = "acorn";
-      packageName = "acorn";
-      version = "8.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz";
-        sha512 = "yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==";
-      };
-    };
-    "acorn-globals-6.0.0" = {
-      name = "acorn-globals";
-      packageName = "acorn-globals";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz";
-        sha512 = "ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==";
-      };
-    };
-    "acorn-jsx-5.3.2" = {
-      name = "acorn-jsx";
-      packageName = "acorn-jsx";
-      version = "5.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz";
-        sha512 = "rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "adjust-sourcemap-loader-3.0.0" = {
-      name = "adjust-sourcemap-loader";
-      packageName = "adjust-sourcemap-loader";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz";
-        sha512 = "YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==";
-      };
-    };
-    "agent-base-6.0.2" = {
-      name = "agent-base";
-      packageName = "agent-base";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz";
-        sha512 = "RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==";
-      };
-    };
-    "aggregate-error-3.1.0" = {
-      name = "aggregate-error";
-      packageName = "aggregate-error";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz";
-        sha512 = "4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==";
-      };
-    };
-    "airbnb-prop-types-2.16.0" = {
-      name = "airbnb-prop-types";
-      packageName = "airbnb-prop-types";
-      version = "2.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz";
-        sha512 = "7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==";
-      };
-    };
-    "ajv-6.12.6" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "6.12.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz";
-        sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
-      };
-    };
-    "ajv-8.6.2" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "8.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz";
-        sha512 = "9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==";
-      };
-    };
-    "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.5.2" = {
-      name = "ajv-keywords";
-      packageName = "ajv-keywords";
-      version = "3.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz";
-        sha512 = "5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==";
-      };
-    };
-    "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";
-      };
-    };
-    "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-colors-4.1.1" = {
-      name = "ansi-colors";
-      packageName = "ansi-colors";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz";
-        sha512 = "JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==";
-      };
-    };
-    "ansi-escapes-4.3.2" = {
-      name = "ansi-escapes";
-      packageName = "ansi-escapes";
-      version = "4.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz";
-        sha512 = "gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==";
-      };
-    };
-    "ansi-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-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-3.2.1" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
-        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
-      };
-    };
-    "ansi-styles-4.3.0" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz";
-        sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==";
-      };
-    };
-    "ansi-styles-5.2.0" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz";
-        sha512 = "Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==";
-      };
-    };
-    "anymatch-2.0.0" = {
-      name = "anymatch";
-      packageName = "anymatch";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz";
-        sha512 = "5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==";
-      };
-    };
-    "anymatch-3.1.2" = {
-      name = "anymatch";
-      packageName = "anymatch";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz";
-        sha512 = "P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==";
-      };
-    };
-    "aproba-1.2.0" = {
-      name = "aproba";
-      packageName = "aproba";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
-        sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
-      };
-    };
-    "argparse-1.0.10" = {
-      name = "argparse";
-      packageName = "argparse";
-      version = "1.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz";
-        sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==";
-      };
-    };
-    "aria-query-4.2.2" = {
-      name = "aria-query";
-      packageName = "aria-query";
-      version = "4.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz";
-        sha512 = "o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==";
-      };
-    };
-    "arity-n-1.0.4" = {
-      name = "arity-n";
-      packageName = "arity-n";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz";
-        sha1 = "d9e76b11733e08569c0847ae7b39b2860b30b745";
-      };
-    };
-    "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-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-includes-3.1.3" = {
-      name = "array-includes";
-      packageName = "array-includes";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz";
-        sha512 = "gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==";
-      };
-    };
-    "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-union-2.1.0" = {
-      name = "array-union";
-      packageName = "array-union";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz";
-        sha512 = "HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==";
-      };
-    };
-    "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";
-      };
-    };
-    "array.prototype.filter-1.0.0" = {
-      name = "array.prototype.filter";
-      packageName = "array.prototype.filter";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.0.tgz";
-        sha512 = "TfO1gz+tLm+Bswq0FBOXPqAchtCr2Rn48T8dLJoRFl8NoEosjZmzptmuo1X8aZBzZcqsR1W8U761tjACJtngTQ==";
-      };
-    };
-    "array.prototype.find-2.1.1" = {
-      name = "array.prototype.find";
-      packageName = "array.prototype.find";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.1.tgz";
-        sha512 = "mi+MYNJYLTx2eNYy+Yh6raoQacCsNeeMUaspFPh9Y141lFSsWxxB8V9mM2ye+eqiRs917J6/pJ4M9ZPzenWckA==";
-      };
-    };
-    "array.prototype.flat-1.2.4" = {
-      name = "array.prototype.flat";
-      packageName = "array.prototype.flat";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz";
-        sha512 = "4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==";
-      };
-    };
-    "array.prototype.flatmap-1.2.4" = {
-      name = "array.prototype.flatmap";
-      packageName = "array.prototype.flatmap";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz";
-        sha512 = "r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==";
-      };
-    };
-    "arrify-2.0.1" = {
-      name = "arrify";
-      packageName = "arrify";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz";
-        sha512 = "3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==";
-      };
-    };
-    "asap-2.0.6" = {
-      name = "asap";
-      packageName = "asap";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz";
-        sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
-      };
-    };
-    "asn1.js-5.4.1" = {
-      name = "asn1.js";
-      packageName = "asn1.js";
-      version = "5.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz";
-        sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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";
-      };
-    };
-    "ast-types-flow-0.0.7" = {
-      name = "ast-types-flow";
-      packageName = "ast-types-flow";
-      version = "0.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz";
-        sha1 = "f70b735c6bca1a5c9c22d982c3e39e7feba3bdad";
-      };
-    };
-    "astral-regex-2.0.0" = {
-      name = "astral-regex";
-      packageName = "astral-regex";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz";
-        sha512 = "Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==";
-      };
-    };
-    "async-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-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";
-      };
-    };
-    "at-least-node-1.0.0" = {
-      name = "at-least-node";
-      packageName = "at-least-node";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz";
-        sha512 = "+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==";
-      };
-    };
-    "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.6" = {
-      name = "autoprefixer";
-      packageName = "autoprefixer";
-      version = "9.8.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz";
-        sha512 = "XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==";
-      };
-    };
-    "axe-core-4.3.3" = {
-      name = "axe-core";
-      packageName = "axe-core";
-      version = "4.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/axe-core/-/axe-core-4.3.3.tgz";
-        sha512 = "/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA==";
-      };
-    };
-    "axobject-query-2.2.0" = {
-      name = "axobject-query";
-      packageName = "axobject-query";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz";
-        sha512 = "Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==";
-      };
-    };
-    "babel-eslint-10.1.0" = {
-      name = "babel-eslint";
-      packageName = "babel-eslint";
-      version = "10.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz";
-        sha512 = "ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==";
-      };
-    };
-    "babel-extract-comments-1.0.0" = {
-      name = "babel-extract-comments";
-      packageName = "babel-extract-comments";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz";
-        sha512 = "qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==";
-      };
-    };
-    "babel-jest-26.6.3" = {
-      name = "babel-jest";
-      packageName = "babel-jest";
-      version = "26.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz";
-        sha512 = "pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "babel-plugin-istanbul-6.0.0" = {
-      name = "babel-plugin-istanbul";
-      packageName = "babel-plugin-istanbul";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz";
-        sha512 = "AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==";
-      };
-    };
-    "babel-plugin-jest-hoist-26.6.2" = {
-      name = "babel-plugin-jest-hoist";
-      packageName = "babel-plugin-jest-hoist";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz";
-        sha512 = "PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==";
-      };
-    };
-    "babel-plugin-macros-2.8.0" = {
-      name = "babel-plugin-macros";
-      packageName = "babel-plugin-macros";
-      version = "2.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz";
-        sha512 = "SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==";
-      };
-    };
-    "babel-plugin-named-asset-import-0.3.7" = {
-      name = "babel-plugin-named-asset-import";
-      packageName = "babel-plugin-named-asset-import";
-      version = "0.3.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz";
-        sha512 = "squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==";
-      };
-    };
-    "babel-plugin-polyfill-corejs2-0.2.2" = {
-      name = "babel-plugin-polyfill-corejs2";
-      packageName = "babel-plugin-polyfill-corejs2";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz";
-        sha512 = "kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==";
-      };
-    };
-    "babel-plugin-polyfill-corejs3-0.2.4" = {
-      name = "babel-plugin-polyfill-corejs3";
-      packageName = "babel-plugin-polyfill-corejs3";
-      version = "0.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz";
-        sha512 = "z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==";
-      };
-    };
-    "babel-plugin-polyfill-regenerator-0.2.2" = {
-      name = "babel-plugin-polyfill-regenerator";
-      packageName = "babel-plugin-polyfill-regenerator";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz";
-        sha512 = "Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==";
-      };
-    };
-    "babel-plugin-syntax-object-rest-spread-6.13.0" = {
-      name = "babel-plugin-syntax-object-rest-spread";
-      packageName = "babel-plugin-syntax-object-rest-spread";
-      version = "6.13.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz";
-        sha1 = "fd6536f2bce13836ffa3a5458c4903a597bb3bf5";
-      };
-    };
-    "babel-plugin-transform-object-rest-spread-6.26.0" = {
-      name = "babel-plugin-transform-object-rest-spread";
-      packageName = "babel-plugin-transform-object-rest-spread";
-      version = "6.26.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz";
-        sha1 = "0f36692d50fef6b7e2d4b3ac1478137a963b7b06";
-      };
-    };
-    "babel-plugin-transform-react-remove-prop-types-0.4.24" = {
-      name = "babel-plugin-transform-react-remove-prop-types";
-      packageName = "babel-plugin-transform-react-remove-prop-types";
-      version = "0.4.24";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz";
-        sha512 = "eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==";
-      };
-    };
-    "babel-preset-current-node-syntax-1.0.1" = {
-      name = "babel-preset-current-node-syntax";
-      packageName = "babel-preset-current-node-syntax";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz";
-        sha512 = "M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==";
-      };
-    };
-    "babel-preset-jest-26.6.2" = {
-      name = "babel-preset-jest";
-      packageName = "babel-preset-jest";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz";
-        sha512 = "YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==";
-      };
-    };
-    "babel-preset-react-app-10.0.0" = {
-      name = "babel-preset-react-app";
-      packageName = "babel-preset-react-app";
-      version = "10.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.0.tgz";
-        sha512 = "itL2z8v16khpuKutx5IH8UdCdSTuzrOhRFTEdIhveZ2i1iBKDrVE0ATa4sFVy+02GLucZNVBWtoarXBy0Msdpg==";
-      };
-    };
-    "babel-runtime-6.26.0" = {
-      name = "babel-runtime";
-      packageName = "babel-runtime";
-      version = "6.26.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz";
-        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
-      };
-    };
-    "babylon-6.18.0" = {
-      name = "babylon";
-      packageName = "babylon";
-      version = "6.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz";
-        sha512 = "q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==";
-      };
-    };
-    "balanced-match-1.0.2" = {
-      name = "balanced-match";
-      packageName = "balanced-match";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz";
-        sha512 = "3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==";
-      };
-    };
-    "base-0.11.2" = {
-      name = "base";
-      packageName = "base";
-      version = "0.11.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/base/-/base-0.11.2.tgz";
-        sha512 = "5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==";
-      };
-    };
-    "base64-js-1.5.1" = {
-      name = "base64-js";
-      packageName = "base64-js";
-      version = "1.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz";
-        sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
-      };
-    };
-    "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";
-      };
-    };
-    "bfj-7.0.2" = {
-      name = "bfj";
-      packageName = "bfj";
-      version = "7.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz";
-        sha512 = "+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==";
-      };
-    };
-    "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.2.0" = {
-      name = "binary-extensions";
-      packageName = "binary-extensions";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz";
-        sha512 = "jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==";
-      };
-    };
-    "bindings-1.5.0" = {
-      name = "bindings";
-      packageName = "bindings";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz";
-        sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==";
-      };
-    };
-    "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.12.0" = {
-      name = "bn.js";
-      packageName = "bn.js";
-      version = "4.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz";
-        sha512 = "c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==";
-      };
-    };
-    "bn.js-5.2.0" = {
-      name = "bn.js";
-      packageName = "bn.js";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz";
-        sha512 = "D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==";
-      };
-    };
-    "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";
-      };
-    };
-    "bootstrap-4.6.0" = {
-      name = "bootstrap";
-      packageName = "bootstrap";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz";
-        sha512 = "Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==";
-      };
-    };
-    "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";
-      };
-    };
-    "browser-process-hrtime-1.0.0" = {
-      name = "browser-process-hrtime";
-      packageName = "browser-process-hrtime";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz";
-        sha512 = "9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==";
-      };
-    };
-    "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.1.0" = {
-      name = "browserify-rsa";
-      packageName = "browserify-rsa";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz";
-        sha512 = "AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==";
-      };
-    };
-    "browserify-sign-4.2.1" = {
-      name = "browserify-sign";
-      packageName = "browserify-sign";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz";
-        sha512 = "/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==";
-      };
-    };
-    "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.14.2" = {
-      name = "browserslist";
-      packageName = "browserslist";
-      version = "4.14.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz";
-        sha512 = "HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==";
-      };
-    };
-    "browserslist-4.17.0" = {
-      name = "browserslist";
-      packageName = "browserslist";
-      version = "4.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.17.0.tgz";
-        sha512 = "g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g==";
-      };
-    };
-    "bser-2.1.1" = {
-      name = "bser";
-      packageName = "bser";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz";
-        sha512 = "gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==";
-      };
-    };
-    "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.2" = {
-      name = "buffer-from";
-      packageName = "buffer-from";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz";
-        sha512 = "E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==";
-      };
-    };
-    "buffer-indexof-1.1.1" = {
-      name = "buffer-indexof";
-      packageName = "buffer-indexof";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz";
-        sha512 = "4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==";
-      };
-    };
-    "buffer-xor-1.0.3" = {
-      name = "buffer-xor";
-      packageName = "buffer-xor";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz";
-        sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
-      };
-    };
-    "builtin-modules-3.2.0" = {
-      name = "builtin-modules";
-      packageName = "builtin-modules";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz";
-        sha512 = "lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==";
-      };
-    };
-    "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";
-      };
-    };
-    "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-15.3.0" = {
-      name = "cacache";
-      packageName = "cacache";
-      version = "15.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz";
-        sha512 = "VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==";
-      };
-    };
-    "cache-base-1.0.1" = {
-      name = "cache-base";
-      packageName = "cache-base";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz";
-        sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==";
-      };
-    };
-    "call-bind-1.0.2" = {
-      name = "call-bind";
-      packageName = "call-bind";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz";
-        sha512 = "7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==";
-      };
-    };
-    "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-4.1.2" = {
-      name = "camel-case";
-      packageName = "camel-case";
-      version = "4.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz";
-        sha512 = "gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==";
-      };
-    };
-    "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-6.2.0" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz";
-        sha512 = "c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==";
-      };
-    };
-    "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.30001255" = {
-      name = "caniuse-lite";
-      packageName = "caniuse-lite";
-      version = "1.0.30001255";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001255.tgz";
-        sha512 = "F+A3N9jTZL882f/fg/WWVnKSu6IOo3ueLz4zwaOPbPYHNmM/ZaDUyzyJwS1mZhX7Ex5jqTyW599Gdelh5PDYLQ==";
-      };
-    };
-    "capture-exit-2.0.0" = {
-      name = "capture-exit";
-      packageName = "capture-exit";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz";
-        sha512 = "PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==";
-      };
-    };
-    "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==";
-      };
-    };
-    "chalk-2.4.2" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "2.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
-        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
-      };
-    };
-    "chalk-4.1.2" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "4.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz";
-        sha512 = "oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==";
-      };
-    };
-    "char-regex-1.0.2" = {
-      name = "char-regex";
-      packageName = "char-regex";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz";
-        sha512 = "kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==";
-      };
-    };
-    "check-types-11.1.2" = {
-      name = "check-types";
-      packageName = "check-types";
-      version = "11.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz";
-        sha512 = "tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==";
-      };
-    };
-    "cheerio-1.0.0-rc.10" = {
-      name = "cheerio";
-      packageName = "cheerio";
-      version = "1.0.0-rc.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz";
-        sha512 = "g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==";
-      };
-    };
-    "cheerio-select-1.5.0" = {
-      name = "cheerio-select";
-      packageName = "cheerio-select";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz";
-        sha512 = "qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==";
-      };
-    };
-    "chokidar-2.1.8" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "2.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz";
-        sha512 = "ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==";
-      };
-    };
-    "chokidar-3.5.2" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "3.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz";
-        sha512 = "ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "chownr-2.0.0" = {
-      name = "chownr";
-      packageName = "chownr";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz";
-        sha512 = "bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==";
-      };
-    };
-    "chrome-trace-event-1.0.3" = {
-      name = "chrome-trace-event";
-      packageName = "chrome-trace-event";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz";
-        sha512 = "p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==";
-      };
-    };
-    "ci-info-2.0.0" = {
-      name = "ci-info";
-      packageName = "ci-info";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz";
-        sha512 = "5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==";
-      };
-    };
-    "cipher-base-1.0.4" = {
-      name = "cipher-base";
-      packageName = "cipher-base";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz";
-        sha512 = "Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==";
-      };
-    };
-    "cjs-module-lexer-0.6.0" = {
-      name = "cjs-module-lexer";
-      packageName = "cjs-module-lexer";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz";
-        sha512 = "uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "classnames-2.3.1" = {
-      name = "classnames";
-      packageName = "classnames";
-      version = "2.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz";
-        sha512 = "OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "co-4.6.0" = {
-      name = "co";
-      packageName = "co";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
-        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
-      };
-    };
-    "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==";
-      };
-    };
-    "codemirror-promql-0.17.0" = {
-      name = "codemirror-promql";
-      packageName = "codemirror-promql";
-      version = "0.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/codemirror-promql/-/codemirror-promql-0.17.0.tgz";
-        sha512 = "etlSQ8t9FvNfnNXZSGDOsLDFIgFaUaYUWQVPEs/YLdG41VMFdhnFoC4zb4iHyx1DJjxBW/dHk7ZHLJDa9aNNzg==";
-      };
-    };
-    "collect-v8-coverage-1.0.1" = {
-      name = "collect-v8-coverage";
-      packageName = "collect-v8-coverage";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz";
-        sha512 = "iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==";
-      };
-    };
-    "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.2.1" = {
-      name = "color";
-      packageName = "color";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color/-/color-3.2.1.tgz";
-        sha512 = "aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==";
-      };
-    };
-    "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.6.0" = {
-      name = "color-string";
-      packageName = "color-string";
-      version = "1.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz";
-        sha512 = "c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==";
-      };
-    };
-    "colorette-1.3.0" = {
-      name = "colorette";
-      packageName = "colorette";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz";
-        sha512 = "ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==";
-      };
-    };
-    "combined-stream-1.0.8" = {
-      name = "combined-stream";
-      packageName = "combined-stream";
-      version = "1.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
-        sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
-      };
-    };
-    "commander-2.20.3" = {
-      name = "commander";
-      packageName = "commander";
-      version = "2.20.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz";
-        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
-      };
-    };
-    "commander-4.1.1" = {
-      name = "commander";
-      packageName = "commander";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz";
-        sha512 = "NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==";
-      };
-    };
-    "common-tags-1.8.0" = {
-      name = "common-tags";
-      packageName = "common-tags";
-      version = "1.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz";
-        sha512 = "6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "compose-function-3.0.3" = {
-      name = "compose-function";
-      packageName = "compose-function";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz";
-        sha1 = "9ed675f13cc54501d30950a486ff6a7ba3ab185f";
-      };
-    };
-    "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==";
-      };
-    };
-    "compute-scroll-into-view-1.0.17" = {
-      name = "compute-scroll-into-view";
-      packageName = "compute-scroll-into-view";
-      version = "1.0.17";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz";
-        sha512 = "j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "confusing-browser-globals-1.0.10" = {
-      name = "confusing-browser-globals";
-      packageName = "confusing-browser-globals";
-      version = "1.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz";
-        sha512 = "gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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-0.3.5" = {
-      name = "convert-source-map";
-      packageName = "convert-source-map";
-      version = "0.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz";
-        sha1 = "f1d802950af7dd2631a1febe0596550c86ab3190";
-      };
-    };
-    "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==";
-      };
-    };
-    "convert-source-map-1.8.0" = {
-      name = "convert-source-map";
-      packageName = "convert-source-map";
-      version = "1.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz";
-        sha512 = "+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==";
-      };
-    };
-    "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-to-clipboard-3.3.1" = {
-      name = "copy-to-clipboard";
-      packageName = "copy-to-clipboard";
-      version = "3.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz";
-        sha512 = "i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==";
-      };
-    };
-    "core-js-2.6.12" = {
-      name = "core-js";
-      packageName = "core-js";
-      version = "2.6.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz";
-        sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
-      };
-    };
-    "core-js-3.17.2" = {
-      name = "core-js";
-      packageName = "core-js";
-      version = "3.17.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.17.2.tgz";
-        sha512 = "XkbXqhcXeMHPRk2ItS+zQYliAMilea2euoMsnpRRdDad6b2VY6CQQcwz1K8AnWesfw4p165RzY0bTnr3UrbYiA==";
-      };
-    };
-    "core-js-compat-3.17.2" = {
-      name = "core-js-compat";
-      packageName = "core-js-compat";
-      version = "3.17.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.17.2.tgz";
-        sha512 = "lHnt7A1Oqplebl5i0MrQyFv/yyEzr9p29OjlkcsFRDDgHwwQyVckfRGJ790qzXhkwM8ba4SFHHa2sO+T5f1zGg==";
-      };
-    };
-    "core-js-pure-3.17.2" = {
-      name = "core-js-pure";
-      packageName = "core-js-pure";
-      version = "3.17.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.17.2.tgz";
-        sha512 = "2VV7DlIbooyTI7Bh+yzOOWL9tGwLnQKHno7qATE+fqZzDKYr6llVjVQOzpD/QLZFgXDPb8T71pJokHEZHEYJhQ==";
-      };
-    };
-    "core-util-is-1.0.3" = {
-      name = "core-util-is";
-      packageName = "core-util-is";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz";
-        sha512 = "ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "cosmiconfig-6.0.0" = {
-      name = "cosmiconfig";
-      packageName = "cosmiconfig";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz";
-        sha512 = "xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==";
-      };
-    };
-    "cosmiconfig-7.0.1" = {
-      name = "cosmiconfig";
-      packageName = "cosmiconfig";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz";
-        sha512 = "a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==";
-      };
-    };
-    "create-ecdh-4.0.4" = {
-      name = "create-ecdh";
-      packageName = "create-ecdh";
-      version = "4.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz";
-        sha512 = "mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==";
-      };
-    };
-    "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==";
-      };
-    };
-    "crelt-1.0.5" = {
-      name = "crelt";
-      packageName = "crelt";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz";
-        sha512 = "+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==";
-      };
-    };
-    "cross-fetch-3.1.4" = {
-      name = "cross-fetch";
-      packageName = "cross-fetch";
-      version = "3.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz";
-        sha512 = "1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "crypto-random-string-1.0.0" = {
-      name = "crypto-random-string";
-      packageName = "crypto-random-string";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz";
-        sha1 = "a230f64f568310e1498009940790ec99545bca7e";
-      };
-    };
-    "css-2.2.4" = {
-      name = "css";
-      packageName = "css";
-      version = "2.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css/-/css-2.2.4.tgz";
-        sha512 = "oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==";
-      };
-    };
-    "css-blank-pseudo-0.1.4" = {
-      name = "css-blank-pseudo";
-      packageName = "css-blank-pseudo";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz";
-        sha512 = "LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==";
-      };
-    };
-    "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-has-pseudo-0.10.0" = {
-      name = "css-has-pseudo";
-      packageName = "css-has-pseudo";
-      version = "0.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz";
-        sha512 = "Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==";
-      };
-    };
-    "css-loader-4.3.0" = {
-      name = "css-loader";
-      packageName = "css-loader";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-loader/-/css-loader-4.3.0.tgz";
-        sha512 = "rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==";
-      };
-    };
-    "css-prefers-color-scheme-3.1.1" = {
-      name = "css-prefers-color-scheme";
-      packageName = "css-prefers-color-scheme";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz";
-        sha512 = "MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==";
-      };
-    };
-    "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-4.1.3" = {
-      name = "css-select";
-      packageName = "css-select";
-      version = "4.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz";
-        sha512 = "gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==";
-      };
-    };
-    "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.1.3" = {
-      name = "css-tree";
-      packageName = "css-tree";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz";
-        sha512 = "tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==";
-      };
-    };
-    "css-what-3.4.2" = {
-      name = "css-what";
-      packageName = "css-what";
-      version = "3.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz";
-        sha512 = "ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==";
-      };
-    };
-    "css-what-5.0.1" = {
-      name = "css-what";
-      packageName = "css-what";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz";
-        sha512 = "FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==";
-      };
-    };
-    "css.escape-1.5.1" = {
-      name = "css.escape";
-      packageName = "css.escape";
-      version = "1.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz";
-        sha1 = "42e27d4fa04ae32f931a4b4d4191fa9cddee97cb";
-      };
-    };
-    "cssdb-4.4.0" = {
-      name = "cssdb";
-      packageName = "cssdb";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz";
-        sha512 = "LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==";
-      };
-    };
-    "cssesc-2.0.0" = {
-      name = "cssesc";
-      packageName = "cssesc";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz";
-        sha512 = "MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==";
-      };
-    };
-    "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.11" = {
-      name = "cssnano";
-      packageName = "cssnano";
-      version = "4.1.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz";
-        sha512 = "6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==";
-      };
-    };
-    "cssnano-preset-default-4.0.8" = {
-      name = "cssnano-preset-default";
-      packageName = "cssnano-preset-default";
-      version = "4.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz";
-        sha512 = "LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==";
-      };
-    };
-    "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.2.0" = {
-      name = "csso";
-      packageName = "csso";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz";
-        sha512 = "wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==";
-      };
-    };
-    "cssom-0.3.8" = {
-      name = "cssom";
-      packageName = "cssom";
-      version = "0.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz";
-        sha512 = "b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==";
-      };
-    };
-    "cssom-0.4.4" = {
-      name = "cssom";
-      packageName = "cssom";
-      version = "0.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz";
-        sha512 = "p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==";
-      };
-    };
-    "cssstyle-2.3.0" = {
-      name = "cssstyle";
-      packageName = "cssstyle";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz";
-        sha512 = "AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==";
-      };
-    };
-    "csstype-3.0.8" = {
-      name = "csstype";
-      packageName = "csstype";
-      version = "3.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz";
-        sha512 = "jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==";
-      };
-    };
-    "cyclist-1.0.1" = {
-      name = "cyclist";
-      packageName = "cyclist";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz";
-        sha1 = "596e9698fd0c80e12038c2b82d6eb1b35b6224d9";
-      };
-    };
-    "d-1.0.1" = {
-      name = "d";
-      packageName = "d";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/d/-/d-1.0.1.tgz";
-        sha512 = "m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==";
-      };
-    };
-    "damerau-levenshtein-1.0.7" = {
-      name = "damerau-levenshtein";
-      packageName = "damerau-levenshtein";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz";
-        sha512 = "VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==";
-      };
-    };
-    "data-urls-2.0.0" = {
-      name = "data-urls";
-      packageName = "data-urls";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz";
-        sha512 = "X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==";
-      };
-    };
-    "debug-2.6.9" = {
-      name = "debug";
-      packageName = "debug";
-      version = "2.6.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
-        sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
-      };
-    };
-    "debug-3.2.7" = {
-      name = "debug";
-      packageName = "debug";
-      version = "3.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz";
-        sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
-      };
-    };
-    "debug-4.3.2" = {
-      name = "debug";
-      packageName = "debug";
-      version = "4.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz";
-        sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
-      };
-    };
-    "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";
-      };
-    };
-    "decimal.js-10.3.1" = {
-      name = "decimal.js";
-      packageName = "decimal.js";
-      version = "10.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz";
-        sha512 = "V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==";
-      };
-    };
-    "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";
-      };
-    };
-    "dedent-0.7.0" = {
-      name = "dedent";
-      packageName = "dedent";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz";
-        sha1 = "2495ddbaf6eb874abb0e1be9df22d2e5a544326c";
-      };
-    };
-    "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.4" = {
-      name = "deep-is";
-      packageName = "deep-is";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz";
-        sha512 = "oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==";
-      };
-    };
-    "deepmerge-4.2.2" = {
-      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==";
-      };
-    };
-    "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";
-      };
-    };
-    "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-newline-3.1.0" = {
-      name = "detect-newline";
-      packageName = "detect-newline";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz";
-        sha512 = "TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==";
-      };
-    };
-    "detect-node-2.1.0" = {
-      name = "detect-node";
-      packageName = "detect-node";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz";
-        sha512 = "T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==";
-      };
-    };
-    "detect-port-alt-1.1.6" = {
-      name = "detect-port-alt";
-      packageName = "detect-port-alt";
-      version = "1.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz";
-        sha512 = "5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==";
-      };
-    };
-    "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==";
-      };
-    };
-    "diff-sequences-26.6.2" = {
-      name = "diff-sequences";
-      packageName = "diff-sequences";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz";
-        sha512 = "Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==";
-      };
-    };
-    "diff-sequences-27.0.6" = {
-      name = "diff-sequences";
-      packageName = "diff-sequences";
-      version = "27.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz";
-        sha512 = "ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==";
-      };
-    };
-    "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-3.0.1" = {
-      name = "dir-glob";
-      packageName = "dir-glob";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz";
-        sha512 = "WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==";
-      };
-    };
-    "discontinuous-range-1.0.0" = {
-      name = "discontinuous-range";
-      packageName = "discontinuous-range";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz";
-        sha1 = "e38331f0844bba49b9a9cb71c771585aab1bc65a";
-      };
-    };
-    "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.4" = {
-      name = "dns-packet";
-      packageName = "dns-packet";
-      version = "1.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz";
-        sha512 = "BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==";
-      };
-    };
-    "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-2.1.0" = {
-      name = "doctrine";
-      packageName = "doctrine";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz";
-        sha512 = "35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==";
-      };
-    };
-    "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-helpers-3.4.0" = {
-      name = "dom-helpers";
-      packageName = "dom-helpers";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz";
-        sha512 = "LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==";
-      };
-    };
-    "dom-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==";
-      };
-    };
-    "dom-serializer-1.3.2" = {
-      name = "dom-serializer";
-      packageName = "dom-serializer";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz";
-        sha512 = "5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==";
-      };
-    };
-    "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.2.0" = {
-      name = "domelementtype";
-      packageName = "domelementtype";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz";
-        sha512 = "DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==";
-      };
-    };
-    "domexception-2.0.1" = {
-      name = "domexception";
-      packageName = "domexception";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz";
-        sha512 = "yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==";
-      };
-    };
-    "domhandler-3.3.0" = {
-      name = "domhandler";
-      packageName = "domhandler";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz";
-        sha512 = "J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==";
-      };
-    };
-    "domhandler-4.2.2" = {
-      name = "domhandler";
-      packageName = "domhandler";
-      version = "4.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz";
-        sha512 = "PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==";
-      };
-    };
-    "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==";
-      };
-    };
-    "domutils-2.8.0" = {
-      name = "domutils";
-      packageName = "domutils";
-      version = "2.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz";
-        sha512 = "w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==";
-      };
-    };
-    "dot-case-3.0.4" = {
-      name = "dot-case";
-      packageName = "dot-case";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz";
-        sha512 = "Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==";
-      };
-    };
-    "dot-prop-5.3.0" = {
-      name = "dot-prop";
-      packageName = "dot-prop";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz";
-        sha512 = "QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==";
-      };
-    };
-    "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==";
-      };
-    };
-    "downshift-3.4.8" = {
-      name = "downshift";
-      packageName = "downshift";
-      version = "3.4.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/downshift/-/downshift-3.4.8.tgz";
-        sha512 = "dZL3iNL/LbpHNzUQAaVq/eTD1ocnGKKjbAl/848Q0KEp6t81LJbS37w3f93oD6gqqAnjdgM7Use36qZSipHXBw==";
-      };
-    };
-    "duplexer-0.1.2" = {
-      name = "duplexer";
-      packageName = "duplexer";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz";
-        sha512 = "jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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.830" = {
-      name = "electron-to-chromium";
-      packageName = "electron-to-chromium";
-      version = "1.3.830";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.830.tgz";
-        sha512 = "gBN7wNAxV5vl1430dG+XRcQhD4pIeYeak6p6rjdCtlz5wWNwDad8jwvphe5oi1chL5MV6RNRikfffBBiFuj+rQ==";
-      };
-    };
-    "elliptic-6.5.4" = {
-      name = "elliptic";
-      packageName = "elliptic";
-      version = "6.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz";
-        sha512 = "iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==";
-      };
-    };
-    "emittery-0.7.2" = {
-      name = "emittery";
-      packageName = "emittery";
-      version = "0.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz";
-        sha512 = "A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "emoji-regex-9.2.2" = {
-      name = "emoji-regex";
-      packageName = "emoji-regex";
-      version = "9.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz";
-        sha512 = "L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==";
-      };
-    };
-    "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.5.0" = {
-      name = "enhanced-resolve";
-      packageName = "enhanced-resolve";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz";
-        sha512 = "Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==";
-      };
-    };
-    "enquirer-2.3.6" = {
-      name = "enquirer";
-      packageName = "enquirer";
-      version = "2.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz";
-        sha512 = "yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==";
-      };
-    };
-    "entities-2.2.0" = {
-      name = "entities";
-      packageName = "entities";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz";
-        sha512 = "p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==";
-      };
-    };
-    "enzyme-3.11.0" = {
-      name = "enzyme";
-      packageName = "enzyme";
-      version = "3.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enzyme/-/enzyme-3.11.0.tgz";
-        sha512 = "Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==";
-      };
-    };
-    "enzyme-adapter-react-16-1.15.6" = {
-      name = "enzyme-adapter-react-16";
-      packageName = "enzyme-adapter-react-16";
-      version = "1.15.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.6.tgz";
-        sha512 = "yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g==";
-      };
-    };
-    "enzyme-adapter-utils-1.14.0" = {
-      name = "enzyme-adapter-utils";
-      packageName = "enzyme-adapter-utils";
-      version = "1.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.14.0.tgz";
-        sha512 = "F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg==";
-      };
-    };
-    "enzyme-shallow-equal-1.0.4" = {
-      name = "enzyme-shallow-equal";
-      packageName = "enzyme-shallow-equal";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz";
-        sha512 = "MttIwB8kKxypwHvRynuC3ahyNc+cFbR8mjVIltnmzQ0uKGqmsfO4bfBuLxb0beLNPhjblUEYvEbsg+VSygvF1Q==";
-      };
-    };
-    "enzyme-to-json-3.6.2" = {
-      name = "enzyme-to-json";
-      packageName = "enzyme-to-json";
-      version = "3.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enzyme-to-json/-/enzyme-to-json-3.6.2.tgz";
-        sha512 = "Ynm6Z6R6iwQ0g2g1YToz6DWhxVnt8Dy1ijR2zynRKxTyBGA8rCDXU3rs2Qc4OKvUvc2Qoe1bcFK6bnPs20TrTg==";
-      };
-    };
-    "errno-0.1.8" = {
-      name = "errno";
-      packageName = "errno";
-      version = "0.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz";
-        sha512 = "dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==";
-      };
-    };
-    "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.18.5" = {
-      name = "es-abstract";
-      packageName = "es-abstract";
-      version = "1.18.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz";
-        sha512 = "DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==";
-      };
-    };
-    "es-array-method-boxes-properly-1.0.0" = {
-      name = "es-array-method-boxes-properly";
-      packageName = "es-array-method-boxes-properly";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz";
-        sha512 = "wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "es5-ext-0.10.53" = {
-      name = "es5-ext";
-      packageName = "es5-ext";
-      version = "0.10.53";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz";
-        sha512 = "Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==";
-      };
-    };
-    "es6-iterator-2.0.3" = {
-      name = "es6-iterator";
-      packageName = "es6-iterator";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz";
-        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
-      };
-    };
-    "es6-symbol-3.1.3" = {
-      name = "es6-symbol";
-      packageName = "es6-symbol";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz";
-        sha512 = "NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==";
-      };
-    };
-    "escalade-3.1.1" = {
-      name = "escalade";
-      packageName = "escalade";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz";
-        sha512 = "k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==";
-      };
-    };
-    "escape-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";
-      };
-    };
-    "escape-string-regexp-2.0.0" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz";
-        sha512 = "UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==";
-      };
-    };
-    "escape-string-regexp-4.0.0" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz";
-        sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
-      };
-    };
-    "escodegen-2.0.0" = {
-      name = "escodegen";
-      packageName = "escodegen";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz";
-        sha512 = "mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==";
-      };
-    };
-    "eslint-7.32.0" = {
-      name = "eslint";
-      packageName = "eslint";
-      version = "7.32.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz";
-        sha512 = "VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==";
-      };
-    };
-    "eslint-config-prettier-8.3.0" = {
-      name = "eslint-config-prettier";
-      packageName = "eslint-config-prettier";
-      version = "8.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz";
-        sha512 = "BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==";
-      };
-    };
-    "eslint-config-react-app-6.0.0" = {
-      name = "eslint-config-react-app";
-      packageName = "eslint-config-react-app";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-6.0.0.tgz";
-        sha512 = "bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==";
-      };
-    };
-    "eslint-import-resolver-node-0.3.6" = {
-      name = "eslint-import-resolver-node";
-      packageName = "eslint-import-resolver-node";
-      version = "0.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz";
-        sha512 = "0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==";
-      };
-    };
-    "eslint-module-utils-2.6.2" = {
-      name = "eslint-module-utils";
-      packageName = "eslint-module-utils";
-      version = "2.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz";
-        sha512 = "QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==";
-      };
-    };
-    "eslint-plugin-flowtype-5.9.2" = {
-      name = "eslint-plugin-flowtype";
-      packageName = "eslint-plugin-flowtype";
-      version = "5.9.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.9.2.tgz";
-        sha512 = "qxE/eo9DCN7800MIB/O1ToOiFuOPOlaMJWQY2BEm69oY7RCm3s2X1z4CdgtFvDDWf9RSSugZm1KRhdBMBueKbg==";
-      };
-    };
-    "eslint-plugin-import-2.24.2" = {
-      name = "eslint-plugin-import";
-      packageName = "eslint-plugin-import";
-      version = "2.24.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz";
-        sha512 = "hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==";
-      };
-    };
-    "eslint-plugin-jest-24.4.0" = {
-      name = "eslint-plugin-jest";
-      packageName = "eslint-plugin-jest";
-      version = "24.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.4.0.tgz";
-        sha512 = "8qnt/hgtZ94E9dA6viqfViKBfkJwFHXgJmTWlMGDgunw1XJEGqm3eiPjDsTanM3/u/3Az82nyQM9GX7PM/QGmg==";
-      };
-    };
-    "eslint-plugin-jsx-a11y-6.4.1" = {
-      name = "eslint-plugin-jsx-a11y";
-      packageName = "eslint-plugin-jsx-a11y";
-      version = "6.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz";
-        sha512 = "0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==";
-      };
-    };
-    "eslint-plugin-prettier-4.0.0" = {
-      name = "eslint-plugin-prettier";
-      packageName = "eslint-plugin-prettier";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz";
-        sha512 = "98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==";
-      };
-    };
-    "eslint-plugin-react-7.25.1" = {
-      name = "eslint-plugin-react";
-      packageName = "eslint-plugin-react";
-      version = "7.25.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.25.1.tgz";
-        sha512 = "P4j9K1dHoFXxDNP05AtixcJEvIT6ht8FhYKsrkY0MPCPaUMYijhpWwNiRDZVtA8KFuZOkGSeft6QwH8KuVpJug==";
-      };
-    };
-    "eslint-plugin-react-hooks-4.2.0" = {
-      name = "eslint-plugin-react-hooks";
-      packageName = "eslint-plugin-react-hooks";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz";
-        sha512 = "623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==";
-      };
-    };
-    "eslint-plugin-testing-library-3.10.2" = {
-      name = "eslint-plugin-testing-library";
-      packageName = "eslint-plugin-testing-library";
-      version = "3.10.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-3.10.2.tgz";
-        sha512 = "WAmOCt7EbF1XM8XfbCKAEzAPnShkNSwcIsAD2jHdsMUT9mZJPjLCG7pMzbcC8kK366NOuGip8HKLDC+Xk4yIdA==";
-      };
-    };
-    "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.1.1" = {
-      name = "eslint-scope";
-      packageName = "eslint-scope";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz";
-        sha512 = "2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==";
-      };
-    };
-    "eslint-utils-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-utils-3.0.0" = {
-      name = "eslint-utils";
-      packageName = "eslint-utils";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz";
-        sha512 = "uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==";
-      };
-    };
-    "eslint-visitor-keys-1.3.0" = {
-      name = "eslint-visitor-keys";
-      packageName = "eslint-visitor-keys";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz";
-        sha512 = "6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==";
-      };
-    };
-    "eslint-visitor-keys-2.1.0" = {
-      name = "eslint-visitor-keys";
-      packageName = "eslint-visitor-keys";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz";
-        sha512 = "0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==";
-      };
-    };
-    "eslint-webpack-plugin-2.5.4" = {
-      name = "eslint-webpack-plugin";
-      packageName = "eslint-webpack-plugin";
-      version = "2.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-2.5.4.tgz";
-        sha512 = "7rYh0m76KyKSDE+B+2PUQrlNS4HJ51t3WKpkJg6vo2jFMbEPTG99cBV0Dm7LXSHucN4WGCG65wQcRiTFrj7iWw==";
-      };
-    };
-    "espree-7.3.1" = {
-      name = "espree";
-      packageName = "espree";
-      version = "7.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz";
-        sha512 = "v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==";
-      };
-    };
-    "esprima-4.0.1" = {
-      name = "esprima";
-      packageName = "esprima";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";
-        sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
-      };
-    };
-    "esquery-1.4.0" = {
-      name = "esquery";
-      packageName = "esquery";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz";
-        sha512 = "cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==";
-      };
-    };
-    "esrecurse-4.3.0" = {
-      name = "esrecurse";
-      packageName = "esrecurse";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz";
-        sha512 = "KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==";
-      };
-    };
-    "estraverse-4.3.0" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz";
-        sha512 = "39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==";
-      };
-    };
-    "estraverse-5.2.0" = {
-      name = "estraverse";
-      packageName = "estraverse";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz";
-        sha512 = "BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==";
-      };
-    };
-    "estree-walker-0.6.1" = {
-      name = "estree-walker";
-      packageName = "estree-walker";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz";
-        sha512 = "SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==";
-      };
-    };
-    "estree-walker-1.0.1" = {
-      name = "estree-walker";
-      packageName = "estree-walker";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz";
-        sha512 = "1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==";
-      };
-    };
-    "esutils-2.0.3" = {
-      name = "esutils";
-      packageName = "esutils";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz";
-        sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==";
-      };
-    };
-    "etag-1.8.1" = {
-      name = "etag";
-      packageName = "etag";
-      version = "1.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz";
-        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
-      };
-    };
-    "eventemitter3-4.0.7" = {
-      name = "eventemitter3";
-      packageName = "eventemitter3";
-      version = "4.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz";
-        sha512 = "8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==";
-      };
-    };
-    "events-3.3.0" = {
-      name = "events";
-      packageName = "events";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/events/-/events-3.3.0.tgz";
-        sha512 = "mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==";
-      };
-    };
-    "eventsource-1.1.0" = {
-      name = "eventsource";
-      packageName = "eventsource";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz";
-        sha512 = "VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==";
-      };
-    };
-    "evp_bytestokey-1.0.3" = {
-      name = "evp_bytestokey";
-      packageName = "evp_bytestokey";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
-        sha512 = "/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==";
-      };
-    };
-    "exec-sh-0.3.6" = {
-      name = "exec-sh";
-      packageName = "exec-sh";
-      version = "0.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz";
-        sha512 = "nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==";
-      };
-    };
-    "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-4.1.0" = {
-      name = "execa";
-      packageName = "execa";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz";
-        sha512 = "j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==";
-      };
-    };
-    "exit-0.1.2" = {
-      name = "exit";
-      packageName = "exit";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
-        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
-      };
-    };
-    "expand-brackets-2.1.4" = {
-      name = "expand-brackets";
-      packageName = "expand-brackets";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz";
-        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
-      };
-    };
-    "expect-26.6.2" = {
-      name = "expect";
-      packageName = "expect";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz";
-        sha512 = "9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "ext-1.5.0" = {
-      name = "ext";
-      packageName = "ext";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ext/-/ext-1.5.0.tgz";
-        sha512 = "+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q==";
-      };
-    };
-    "extend-shallow-2.0.1" = {
-      name = "extend-shallow";
-      packageName = "extend-shallow";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";
-        sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
-      };
-    };
-    "extend-shallow-3.0.2" = {
-      name = "extend-shallow";
-      packageName = "extend-shallow";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz";
-        sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
-      };
-    };
-    "extglob-2.0.4" = {
-      name = "extglob";
-      packageName = "extglob";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz";
-        sha512 = "Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==";
-      };
-    };
-    "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-3.2.7" = {
-      name = "fast-glob";
-      packageName = "fast-glob";
-      version = "3.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz";
-        sha512 = "rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==";
-      };
-    };
-    "fast-json-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";
-      };
-    };
-    "fastq-1.12.0" = {
-      name = "fastq";
-      packageName = "fastq";
-      version = "1.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz";
-        sha512 = "VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==";
-      };
-    };
-    "faye-websocket-0.11.4" = {
-      name = "faye-websocket";
-      packageName = "faye-websocket";
-      version = "0.11.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz";
-        sha512 = "CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==";
-      };
-    };
-    "fb-watchman-2.0.1" = {
-      name = "fb-watchman";
-      packageName = "fb-watchman";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz";
-        sha512 = "DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "file-entry-cache-6.0.1" = {
-      name = "file-entry-cache";
-      packageName = "file-entry-cache";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz";
-        sha512 = "7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==";
-      };
-    };
-    "file-loader-6.1.1" = {
-      name = "file-loader";
-      packageName = "file-loader";
-      version = "6.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/file-loader/-/file-loader-6.1.1.tgz";
-        sha512 = "Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw==";
-      };
-    };
-    "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-6.1.0" = {
-      name = "filesize";
-      packageName = "filesize";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz";
-        sha512 = "LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==";
-      };
-    };
-    "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-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.2" = {
-      name = "find-cache-dir";
-      packageName = "find-cache-dir";
-      version = "3.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz";
-        sha512 = "wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==";
-      };
-    };
-    "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-cache-3.0.4" = {
-      name = "flat-cache";
-      packageName = "flat-cache";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz";
-        sha512 = "dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==";
-      };
-    };
-    "flatted-3.2.2" = {
-      name = "flatted";
-      packageName = "flatted";
-      version = "3.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz";
-        sha512 = "JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==";
-      };
-    };
-    "flatten-1.0.3" = {
-      name = "flatten";
-      packageName = "flatten";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz";
-        sha512 = "dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==";
-      };
-    };
-    "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.14.3" = {
-      name = "follow-redirects";
-      packageName = "follow-redirects";
-      version = "1.14.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.3.tgz";
-        sha512 = "3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw==";
-      };
-    };
-    "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";
-      };
-    };
-    "fork-ts-checker-webpack-plugin-4.1.6" = {
-      name = "fork-ts-checker-webpack-plugin";
-      packageName = "fork-ts-checker-webpack-plugin";
-      version = "4.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz";
-        sha512 = "DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==";
-      };
-    };
-    "form-data-3.0.1" = {
-      name = "form-data";
-      packageName = "form-data";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz";
-        sha512 = "RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==";
-      };
-    };
-    "forwarded-0.2.0" = {
-      name = "forwarded";
-      packageName = "forwarded";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz";
-        sha512 = "buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==";
-      };
-    };
-    "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-extra-8.1.0" = {
-      name = "fs-extra";
-      packageName = "fs-extra";
-      version = "8.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz";
-        sha512 = "yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==";
-      };
-    };
-    "fs-extra-9.1.0" = {
-      name = "fs-extra";
-      packageName = "fs-extra";
-      version = "9.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz";
-        sha512 = "hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==";
-      };
-    };
-    "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.13" = {
-      name = "fsevents";
-      packageName = "fsevents";
-      version = "1.2.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz";
-        sha512 = "oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==";
-      };
-    };
-    "fsevents-2.3.2" = {
-      name = "fsevents";
-      packageName = "fsevents";
-      version = "2.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz";
-        sha512 = "xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==";
-      };
-    };
-    "function-bind-1.1.1" = {
-      name = "function-bind";
-      packageName = "function-bind";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
-        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
-      };
-    };
-    "function.prototype.name-1.1.4" = {
-      name = "function.prototype.name";
-      packageName = "function.prototype.name";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.4.tgz";
-        sha512 = "iqy1pIotY/RmhdFZygSSlW0wko2yxkSCKqsuv4pr8QESohpYyG/Z7B/XXvPRKTJS//960rgguE5mSRUsDdaJrQ==";
-      };
-    };
-    "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";
-      };
-    };
-    "functions-have-names-1.2.2" = {
-      name = "functions-have-names";
-      packageName = "functions-have-names";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.2.tgz";
-        sha512 = "bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==";
-      };
-    };
-    "gensync-1.0.0-beta.2" = {
-      name = "gensync";
-      packageName = "gensync";
-      version = "1.0.0-beta.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz";
-        sha512 = "3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==";
-      };
-    };
-    "get-caller-file-2.0.5" = {
-      name = "get-caller-file";
-      packageName = "get-caller-file";
-      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-intrinsic-1.1.1" = {
-      name = "get-intrinsic";
-      packageName = "get-intrinsic";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz";
-        sha512 = "kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==";
-      };
-    };
-    "get-own-enumerable-property-symbols-3.0.2" = {
-      name = "get-own-enumerable-property-symbols";
-      packageName = "get-own-enumerable-property-symbols";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz";
-        sha512 = "I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==";
-      };
-    };
-    "get-package-type-0.1.0" = {
-      name = "get-package-type";
-      packageName = "get-package-type";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz";
-        sha512 = "pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==";
-      };
-    };
-    "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.2.0" = {
-      name = "get-stream";
-      packageName = "get-stream";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz";
-        sha512 = "nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==";
-      };
-    };
-    "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";
-      };
-    };
-    "glob-7.1.7" = {
-      name = "glob";
-      packageName = "glob";
-      version = "7.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz";
-        sha512 = "OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==";
-      };
-    };
-    "glob-parent-3.1.0" = {
-      name = "glob-parent";
-      packageName = "glob-parent";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz";
-        sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
-      };
-    };
-    "glob-parent-5.1.2" = {
-      name = "glob-parent";
-      packageName = "glob-parent";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz";
-        sha512 = "AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==";
-      };
-    };
-    "global-modules-2.0.0" = {
-      name = "global-modules";
-      packageName = "global-modules";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz";
-        sha512 = "NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==";
-      };
-    };
-    "global-prefix-3.0.0" = {
-      name = "global-prefix";
-      packageName = "global-prefix";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz";
-        sha512 = "awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==";
-      };
-    };
-    "globals-11.12.0" = {
-      name = "globals";
-      packageName = "globals";
-      version = "11.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz";
-        sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
-      };
-    };
-    "globals-13.11.0" = {
-      name = "globals";
-      packageName = "globals";
-      version = "13.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz";
-        sha512 = "08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==";
-      };
-    };
-    "globby-11.0.1" = {
-      name = "globby";
-      packageName = "globby";
-      version = "11.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz";
-        sha512 = "iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==";
-      };
-    };
-    "globby-11.0.4" = {
-      name = "globby";
-      packageName = "globby";
-      version = "11.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz";
-        sha512 = "9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==";
-      };
-    };
-    "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";
-      };
-    };
-    "graceful-fs-4.2.8" = {
-      name = "graceful-fs";
-      packageName = "graceful-fs";
-      version = "4.2.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz";
-        sha512 = "qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==";
-      };
-    };
-    "growly-1.3.0" = {
-      name = "growly";
-      packageName = "growly";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz";
-        sha1 = "f10748cbe76af964b7c96c93c6bcc28af120c081";
-      };
-    };
-    "gud-1.0.0" = {
-      name = "gud";
-      packageName = "gud";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz";
-        sha512 = "zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==";
-      };
-    };
-    "gzip-size-5.1.1" = {
-      name = "gzip-size";
-      packageName = "gzip-size";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz";
-        sha512 = "FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==";
-      };
-    };
-    "handle-thing-2.0.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==";
-      };
-    };
-    "harmony-reflect-1.6.2" = {
-      name = "harmony-reflect";
-      packageName = "harmony-reflect";
-      version = "1.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz";
-        sha512 = "HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==";
-      };
-    };
-    "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-bigints-1.0.1" = {
-      name = "has-bigints";
-      packageName = "has-bigints";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz";
-        sha512 = "LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==";
-      };
-    };
-    "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.2" = {
-      name = "has-symbols";
-      packageName = "has-symbols";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz";
-        sha512 = "chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==";
-      };
-    };
-    "has-tostringtag-1.0.0" = {
-      name = "has-tostringtag";
-      packageName = "has-tostringtag";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz";
-        sha512 = "kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==";
-      };
-    };
-    "has-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.1.0" = {
-      name = "hash-base";
-      packageName = "hash-base";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz";
-        sha512 = "1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "history-4.10.1" = {
-      name = "history";
-      packageName = "history";
-      version = "4.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/history/-/history-4.10.1.tgz";
-        sha512 = "36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==";
-      };
-    };
-    "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";
-      };
-    };
-    "hoist-non-react-statics-3.3.2" = {
-      name = "hoist-non-react-statics";
-      packageName = "hoist-non-react-statics";
-      version = "3.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz";
-        sha512 = "/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==";
-      };
-    };
-    "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.9" = {
-      name = "hosted-git-info";
-      packageName = "hosted-git-info";
-      version = "2.8.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz";
-        sha512 = "mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==";
-      };
-    };
-    "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-element-map-1.3.1" = {
-      name = "html-element-map";
-      packageName = "html-element-map";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-element-map/-/html-element-map-1.3.1.tgz";
-        sha512 = "6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==";
-      };
-    };
-    "html-encoding-sniffer-2.0.1" = {
-      name = "html-encoding-sniffer";
-      packageName = "html-encoding-sniffer";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz";
-        sha512 = "D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==";
-      };
-    };
-    "html-entities-1.4.0" = {
-      name = "html-entities";
-      packageName = "html-entities";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz";
-        sha512 = "8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==";
-      };
-    };
-    "html-escaper-2.0.2" = {
-      name = "html-escaper";
-      packageName = "html-escaper";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz";
-        sha512 = "H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==";
-      };
-    };
-    "html-minifier-terser-5.1.1" = {
-      name = "html-minifier-terser";
-      packageName = "html-minifier-terser";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz";
-        sha512 = "ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==";
-      };
-    };
-    "html-webpack-plugin-4.5.0" = {
-      name = "html-webpack-plugin";
-      packageName = "html-webpack-plugin";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz";
-        sha512 = "MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==";
-      };
-    };
-    "htmlparser2-4.1.0" = {
-      name = "htmlparser2";
-      packageName = "htmlparser2";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz";
-        sha512 = "4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==";
-      };
-    };
-    "htmlparser2-6.1.0" = {
-      name = "htmlparser2";
-      packageName = "htmlparser2";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz";
-        sha512 = "gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==";
-      };
-    };
-    "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-parser-js-0.5.3" = {
-      name = "http-parser-js";
-      packageName = "http-parser-js";
-      version = "0.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz";
-        sha512 = "t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==";
-      };
-    };
-    "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-agent-4.0.1" = {
-      name = "http-proxy-agent";
-      packageName = "http-proxy-agent";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz";
-        sha512 = "k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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";
-      };
-    };
-    "https-proxy-agent-5.0.0" = {
-      name = "https-proxy-agent";
-      packageName = "https-proxy-agent";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz";
-        sha512 = "EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "i-0.3.6" = {
-      name = "i";
-      packageName = "i";
-      version = "0.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/i/-/i-0.3.6.tgz";
-        sha1 = "d96c92732076f072711b6b10fd7d4f65ad8ee23d";
-      };
-    };
-    "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==";
-      };
-    };
-    "identity-obj-proxy-3.0.0" = {
-      name = "identity-obj-proxy";
-      packageName = "identity-obj-proxy";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz";
-        sha1 = "94d2bda96084453ef36fbc5aaec37e0f79f1fc14";
-      };
-    };
-    "ieee754-1.2.1" = {
-      name = "ieee754";
-      packageName = "ieee754";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz";
-        sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
-      };
-    };
-    "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-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==";
-      };
-    };
-    "ignore-5.1.8" = {
-      name = "ignore";
-      packageName = "ignore";
-      version = "5.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz";
-        sha512 = "BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==";
-      };
-    };
-    "immer-8.0.1" = {
-      name = "immer";
-      packageName = "immer";
-      version = "8.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz";
-        sha512 = "aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==";
-      };
-    };
-    "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.3.0" = {
-      name = "import-fresh";
-      packageName = "import-fresh";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz";
-        sha512 = "veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "import-local-3.0.2" = {
-      name = "import-local";
-      packageName = "import-local";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz";
-        sha512 = "vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==";
-      };
-    };
-    "imurmurhash-0.1.4" = {
-      name = "imurmurhash";
-      packageName = "imurmurhash";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
-        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
-      };
-    };
-    "indent-string-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==";
-      };
-    };
-    "ini-1.3.8" = {
-      name = "ini";
-      packageName = "ini";
-      version = "1.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz";
-        sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
-      };
-    };
-    "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==";
-      };
-    };
-    "internal-slot-1.0.3" = {
-      name = "internal-slot";
-      packageName = "internal-slot";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz";
-        sha512 = "O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==";
-      };
-    };
-    "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.1.1" = {
-      name = "is-arguments";
-      packageName = "is-arguments";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz";
-        sha512 = "8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==";
-      };
-    };
-    "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-bigint-1.0.4" = {
-      name = "is-bigint";
-      packageName = "is-bigint";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz";
-        sha512 = "zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==";
-      };
-    };
-    "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-boolean-object-1.1.2" = {
-      name = "is-boolean-object";
-      packageName = "is-boolean-object";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz";
-        sha512 = "gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==";
-      };
-    };
-    "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.2.4" = {
-      name = "is-callable";
-      packageName = "is-callable";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz";
-        sha512 = "nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==";
-      };
-    };
-    "is-ci-2.0.0" = {
-      name = "is-ci";
-      packageName = "is-ci";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz";
-        sha512 = "YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==";
-      };
-    };
-    "is-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-core-module-2.6.0" = {
-      name = "is-core-module";
-      packageName = "is-core-module";
-      version = "2.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz";
-        sha512 = "wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==";
-      };
-    };
-    "is-data-descriptor-0.1.4" = {
-      name = "is-data-descriptor";
-      packageName = "is-data-descriptor";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
-        sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
-      };
-    };
-    "is-data-descriptor-1.0.0" = {
-      name = "is-data-descriptor";
-      packageName = "is-data-descriptor";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
-        sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==";
-      };
-    };
-    "is-date-object-1.0.5" = {
-      name = "is-date-object";
-      packageName = "is-date-object";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz";
-        sha512 = "9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==";
-      };
-    };
-    "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.2.1" = {
-      name = "is-docker";
-      packageName = "is-docker";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz";
-        sha512 = "F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==";
-      };
-    };
-    "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-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-generator-fn-2.1.0" = {
-      name = "is-generator-fn";
-      packageName = "is-generator-fn";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz";
-        sha512 = "cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==";
-      };
-    };
-    "is-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-module-1.0.0" = {
-      name = "is-module";
-      packageName = "is-module";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz";
-        sha1 = "3258fb69f78c14d5b815d664336b4cffb6441591";
-      };
-    };
-    "is-negative-zero-2.0.1" = {
-      name = "is-negative-zero";
-      packageName = "is-negative-zero";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz";
-        sha512 = "2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==";
-      };
-    };
-    "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-number-object-1.0.6" = {
-      name = "is-number-object";
-      packageName = "is-number-object";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz";
-        sha512 = "bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==";
-      };
-    };
-    "is-obj-1.0.1" = {
-      name = "is-obj";
-      packageName = "is-obj";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz";
-        sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
-      };
-    };
-    "is-obj-2.0.0" = {
-      name = "is-obj";
-      packageName = "is-obj";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz";
-        sha512 = "drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==";
-      };
-    };
-    "is-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-plain-object-5.0.0" = {
-      name = "is-plain-object";
-      packageName = "is-plain-object";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz";
-        sha512 = "VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==";
-      };
-    };
-    "is-potential-custom-element-name-1.0.1" = {
-      name = "is-potential-custom-element-name";
-      packageName = "is-potential-custom-element-name";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz";
-        sha512 = "bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==";
-      };
-    };
-    "is-regex-1.1.4" = {
-      name = "is-regex";
-      packageName = "is-regex";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz";
-        sha512 = "kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==";
-      };
-    };
-    "is-regexp-1.0.0" = {
-      name = "is-regexp";
-      packageName = "is-regexp";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz";
-        sha1 = "fd2d883545c46bac5a633e7b9a09e87fa2cb5069";
-      };
-    };
-    "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-root-2.1.0" = {
-      name = "is-root";
-      packageName = "is-root";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz";
-        sha512 = "AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==";
-      };
-    };
-    "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.1" = {
-      name = "is-stream";
-      packageName = "is-stream";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz";
-        sha512 = "hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==";
-      };
-    };
-    "is-string-1.0.7" = {
-      name = "is-string";
-      packageName = "is-string";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz";
-        sha512 = "tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==";
-      };
-    };
-    "is-subset-0.1.1" = {
-      name = "is-subset";
-      packageName = "is-subset";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz";
-        sha1 = "8a59117d932de1de00f245fcdd39ce43f1e939a6";
-      };
-    };
-    "is-symbol-1.0.4" = {
-      name = "is-symbol";
-      packageName = "is-symbol";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz";
-        sha512 = "C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==";
-      };
-    };
-    "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-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-0.0.1" = {
-      name = "isarray";
-      packageName = "isarray";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
-        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
-      };
-    };
-    "isarray-1.0.0" = {
-      name = "isarray";
-      packageName = "isarray";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
-        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
-      };
-    };
-    "isexe-2.0.0" = {
-      name = "isexe";
-      packageName = "isexe";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz";
-        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
-      };
-    };
-    "isobject-2.1.0" = {
-      name = "isobject";
-      packageName = "isobject";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz";
-        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
-      };
-    };
-    "isobject-3.0.1" = {
-      name = "isobject";
-      packageName = "isobject";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";
-        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
-      };
-    };
-    "istanbul-lib-coverage-3.0.0" = {
-      name = "istanbul-lib-coverage";
-      packageName = "istanbul-lib-coverage";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz";
-        sha512 = "UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==";
-      };
-    };
-    "istanbul-lib-instrument-4.0.3" = {
-      name = "istanbul-lib-instrument";
-      packageName = "istanbul-lib-instrument";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz";
-        sha512 = "BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==";
-      };
-    };
-    "istanbul-lib-report-3.0.0" = {
-      name = "istanbul-lib-report";
-      packageName = "istanbul-lib-report";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz";
-        sha512 = "wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==";
-      };
-    };
-    "istanbul-lib-source-maps-4.0.0" = {
-      name = "istanbul-lib-source-maps";
-      packageName = "istanbul-lib-source-maps";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz";
-        sha512 = "c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==";
-      };
-    };
-    "istanbul-reports-3.0.2" = {
-      name = "istanbul-reports";
-      packageName = "istanbul-reports";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz";
-        sha512 = "9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==";
-      };
-    };
-    "jest-26.6.0" = {
-      name = "jest";
-      packageName = "jest";
-      version = "26.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest/-/jest-26.6.0.tgz";
-        sha512 = "jxTmrvuecVISvKFFhOkjsWRZV7sFqdSUAd1ajOKY+/QE/aLBVstsJ/dX8GczLzwiT6ZEwwmZqtCUHLHHQVzcfA==";
-      };
-    };
-    "jest-changed-files-26.6.2" = {
-      name = "jest-changed-files";
-      packageName = "jest-changed-files";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz";
-        sha512 = "fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==";
-      };
-    };
-    "jest-circus-26.6.0" = {
-      name = "jest-circus";
-      packageName = "jest-circus";
-      version = "26.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-circus/-/jest-circus-26.6.0.tgz";
-        sha512 = "L2/Y9szN6FJPWFK8kzWXwfp+FOR7xq0cUL4lIsdbIdwz3Vh6P1nrpcqOleSzr28zOtSHQNV9Z7Tl+KkuK7t5Ng==";
-      };
-    };
-    "jest-cli-26.6.3" = {
-      name = "jest-cli";
-      packageName = "jest-cli";
-      version = "26.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz";
-        sha512 = "GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==";
-      };
-    };
-    "jest-config-26.6.3" = {
-      name = "jest-config";
-      packageName = "jest-config";
-      version = "26.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz";
-        sha512 = "t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==";
-      };
-    };
-    "jest-diff-26.6.2" = {
-      name = "jest-diff";
-      packageName = "jest-diff";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz";
-        sha512 = "6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==";
-      };
-    };
-    "jest-diff-27.1.0" = {
-      name = "jest-diff";
-      packageName = "jest-diff";
-      version = "27.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-27.1.0.tgz";
-        sha512 = "rjfopEYl58g/SZTsQFmspBODvMSytL16I+cirnScWTLkQVXYVZfxm78DFfdIIXc05RCYuGjxJqrdyG4PIFzcJg==";
-      };
-    };
-    "jest-docblock-26.0.0" = {
-      name = "jest-docblock";
-      packageName = "jest-docblock";
-      version = "26.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz";
-        sha512 = "RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==";
-      };
-    };
-    "jest-each-26.6.2" = {
-      name = "jest-each";
-      packageName = "jest-each";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz";
-        sha512 = "Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==";
-      };
-    };
-    "jest-environment-jsdom-26.6.2" = {
-      name = "jest-environment-jsdom";
-      packageName = "jest-environment-jsdom";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz";
-        sha512 = "jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==";
-      };
-    };
-    "jest-environment-node-26.6.2" = {
-      name = "jest-environment-node";
-      packageName = "jest-environment-node";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz";
-        sha512 = "zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==";
-      };
-    };
-    "jest-fetch-mock-3.0.3" = {
-      name = "jest-fetch-mock";
-      packageName = "jest-fetch-mock";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz";
-        sha512 = "Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==";
-      };
-    };
-    "jest-get-type-26.3.0" = {
-      name = "jest-get-type";
-      packageName = "jest-get-type";
-      version = "26.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz";
-        sha512 = "TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==";
-      };
-    };
-    "jest-get-type-27.0.6" = {
-      name = "jest-get-type";
-      packageName = "jest-get-type";
-      version = "27.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.6.tgz";
-        sha512 = "XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==";
-      };
-    };
-    "jest-haste-map-26.6.2" = {
-      name = "jest-haste-map";
-      packageName = "jest-haste-map";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz";
-        sha512 = "easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==";
-      };
-    };
-    "jest-jasmine2-26.6.3" = {
-      name = "jest-jasmine2";
-      packageName = "jest-jasmine2";
-      version = "26.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz";
-        sha512 = "kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==";
-      };
-    };
-    "jest-leak-detector-26.6.2" = {
-      name = "jest-leak-detector";
-      packageName = "jest-leak-detector";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz";
-        sha512 = "i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==";
-      };
-    };
-    "jest-matcher-utils-26.6.2" = {
-      name = "jest-matcher-utils";
-      packageName = "jest-matcher-utils";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz";
-        sha512 = "llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==";
-      };
-    };
-    "jest-message-util-26.6.2" = {
-      name = "jest-message-util";
-      packageName = "jest-message-util";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz";
-        sha512 = "rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==";
-      };
-    };
-    "jest-mock-26.6.2" = {
-      name = "jest-mock";
-      packageName = "jest-mock";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz";
-        sha512 = "YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==";
-      };
-    };
-    "jest-pnp-resolver-1.2.2" = {
-      name = "jest-pnp-resolver";
-      packageName = "jest-pnp-resolver";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz";
-        sha512 = "olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==";
-      };
-    };
-    "jest-regex-util-26.0.0" = {
-      name = "jest-regex-util";
-      packageName = "jest-regex-util";
-      version = "26.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz";
-        sha512 = "Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==";
-      };
-    };
-    "jest-resolve-26.6.0" = {
-      name = "jest-resolve";
-      packageName = "jest-resolve";
-      version = "26.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.0.tgz";
-        sha512 = "tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ==";
-      };
-    };
-    "jest-resolve-26.6.2" = {
-      name = "jest-resolve";
-      packageName = "jest-resolve";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz";
-        sha512 = "sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==";
-      };
-    };
-    "jest-resolve-dependencies-26.6.3" = {
-      name = "jest-resolve-dependencies";
-      packageName = "jest-resolve-dependencies";
-      version = "26.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz";
-        sha512 = "pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==";
-      };
-    };
-    "jest-runner-26.6.3" = {
-      name = "jest-runner";
-      packageName = "jest-runner";
-      version = "26.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz";
-        sha512 = "atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==";
-      };
-    };
-    "jest-runtime-26.6.3" = {
-      name = "jest-runtime";
-      packageName = "jest-runtime";
-      version = "26.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz";
-        sha512 = "lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==";
-      };
-    };
-    "jest-serializer-26.6.2" = {
-      name = "jest-serializer";
-      packageName = "jest-serializer";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz";
-        sha512 = "S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==";
-      };
-    };
-    "jest-snapshot-26.6.2" = {
-      name = "jest-snapshot";
-      packageName = "jest-snapshot";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz";
-        sha512 = "OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==";
-      };
-    };
-    "jest-util-26.6.2" = {
-      name = "jest-util";
-      packageName = "jest-util";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz";
-        sha512 = "MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==";
-      };
-    };
-    "jest-validate-26.6.2" = {
-      name = "jest-validate";
-      packageName = "jest-validate";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz";
-        sha512 = "NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==";
-      };
-    };
-    "jest-watch-typeahead-0.6.1" = {
-      name = "jest-watch-typeahead";
-      packageName = "jest-watch-typeahead";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.6.1.tgz";
-        sha512 = "ITVnHhj3Jd/QkqQcTqZfRgjfyRhDFM/auzgVo2RKvSwi18YMvh0WvXDJFoFED6c7jd/5jxtu4kSOb9PTu2cPVg==";
-      };
-    };
-    "jest-watcher-26.6.2" = {
-      name = "jest-watcher";
-      packageName = "jest-watcher";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz";
-        sha512 = "WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==";
-      };
-    };
-    "jest-worker-24.9.0" = {
-      name = "jest-worker";
-      packageName = "jest-worker";
-      version = "24.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz";
-        sha512 = "51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==";
-      };
-    };
-    "jest-worker-26.6.2" = {
-      name = "jest-worker";
-      packageName = "jest-worker";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz";
-        sha512 = "KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==";
-      };
-    };
-    "jquery-3.6.0" = {
-      name = "jquery";
-      packageName = "jquery";
-      version = "3.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz";
-        sha512 = "JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==";
-      };
-    };
-    "jquery.flot.tooltip-0.9.0" = {
-      name = "jquery.flot.tooltip";
-      packageName = "jquery.flot.tooltip";
-      version = "0.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jquery.flot.tooltip/-/jquery.flot.tooltip-0.9.0.tgz";
-        sha1 = "ae16bf94b26c2ed9ab4db167bba52dfdb615c1df";
-      };
-    };
-    "js-tokens-4.0.0" = {
-      name = "js-tokens";
-      packageName = "js-tokens";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz";
-        sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
-      };
-    };
-    "js-yaml-3.14.1" = {
-      name = "js-yaml";
-      packageName = "js-yaml";
-      version = "3.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz";
-        sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==";
-      };
-    };
-    "jsdom-16.7.0" = {
-      name = "jsdom";
-      packageName = "jsdom";
-      version = "16.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz";
-        sha512 = "u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==";
-      };
-    };
-    "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-parse-even-better-errors-2.3.1" = {
-      name = "json-parse-even-better-errors";
-      packageName = "json-parse-even-better-errors";
-      version = "2.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz";
-        sha512 = "xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==";
-      };
-    };
-    "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-schema-traverse-1.0.0" = {
-      name = "json-schema-traverse";
-      packageName = "json-schema-traverse";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz";
-        sha512 = "NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==";
-      };
-    };
-    "json-stable-stringify-without-jsonify-1.0.1" = {
-      name = "json-stable-stringify-without-jsonify";
-      packageName = "json-stable-stringify-without-jsonify";
-      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";
-      };
-    };
-    "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-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.2.0" = {
-      name = "json5";
-      packageName = "json5";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz";
-        sha512 = "f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==";
-      };
-    };
-    "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";
-      };
-    };
-    "jsonfile-6.1.0" = {
-      name = "jsonfile";
-      packageName = "jsonfile";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz";
-        sha512 = "5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==";
-      };
-    };
-    "jsx-ast-utils-3.2.0" = {
-      name = "jsx-ast-utils";
-      packageName = "jsx-ast-utils";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz";
-        sha512 = "EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==";
-      };
-    };
-    "just-extend-4.2.1" = {
-      name = "just-extend";
-      packageName = "just-extend";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz";
-        sha512 = "g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "kleur-3.0.3" = {
-      name = "kleur";
-      packageName = "kleur";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz";
-        sha512 = "eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==";
-      };
-    };
-    "klona-2.0.4" = {
-      name = "klona";
-      packageName = "klona";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz";
-        sha512 = "ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==";
-      };
-    };
-    "language-subtag-registry-0.3.21" = {
-      name = "language-subtag-registry";
-      packageName = "language-subtag-registry";
-      version = "0.3.21";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz";
-        sha512 = "L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==";
-      };
-    };
-    "language-tags-1.0.5" = {
-      name = "language-tags";
-      packageName = "language-tags";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz";
-        sha1 = "d321dbc4da30ba8bf3024e040fa5c14661f9193a";
-      };
-    };
-    "last-call-webpack-plugin-3.0.0" = {
-      name = "last-call-webpack-plugin";
-      packageName = "last-call-webpack-plugin";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz";
-        sha512 = "7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==";
-      };
-    };
-    "leven-3.1.0" = {
-      name = "leven";
-      packageName = "leven";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz";
-        sha512 = "qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==";
-      };
-    };
-    "levn-0.3.0" = {
-      name = "levn";
-      packageName = "levn";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz";
-        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
-      };
-    };
-    "levn-0.4.1" = {
-      name = "levn";
-      packageName = "levn";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz";
-        sha512 = "+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==";
-      };
-    };
-    "lezer-0.13.5" = {
-      name = "lezer";
-      packageName = "lezer";
-      version = "0.13.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lezer/-/lezer-0.13.5.tgz";
-        sha512 = "cAiMQZGUo2BD8mpcz7Nv1TlKzWP7YIdIRrX41CiP5bk5t4GHxskOxWUx2iAOuHlz8dO+ivbuXr0J1bfHsWD+lQ==";
-      };
-    };
-    "lezer-promql-0.20.0" = {
-      name = "lezer-promql";
-      packageName = "lezer-promql";
-      version = "0.20.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lezer-promql/-/lezer-promql-0.20.0.tgz";
-        sha512 = "1CHG77fFghl032FfHT33buGyAHiTaMy2fqicEhcp2wWnbxZxS+Jt6gMzEUaf/TmRTIUJofj9uLar7iL22Jazug==";
-      };
-    };
-    "lezer-tree-0.13.2" = {
-      name = "lezer-tree";
-      packageName = "lezer-tree";
-      version = "0.13.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lezer-tree/-/lezer-tree-0.13.2.tgz";
-        sha512 = "15ZxW8TxVNAOkHIo43Iouv4zbSkQQ5chQHBpwXcD2bBFz46RB4jYLEEww5l1V0xyIx9U2clSyyrLes+hAUFrGQ==";
-      };
-    };
-    "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-4.0.0" = {
-      name = "load-json-file";
-      packageName = "load-json-file";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz";
-        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
-      };
-    };
-    "loader-runner-2.4.0" = {
-      name = "loader-runner";
-      packageName = "loader-runner";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz";
-        sha512 = "Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==";
-      };
-    };
-    "loader-utils-1.2.3" = {
-      name = "loader-utils";
-      packageName = "loader-utils";
-      version = "1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz";
-        sha512 = "fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "loader-utils-2.0.0" = {
-      name = "loader-utils";
-      packageName = "loader-utils";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz";
-        sha512 = "rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==";
-      };
-    };
-    "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.21" = {
-      name = "lodash";
-      packageName = "lodash";
-      version = "4.17.21";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz";
-        sha512 = "v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==";
-      };
-    };
-    "lodash._reinterpolate-3.0.0" = {
-      name = "lodash._reinterpolate";
-      packageName = "lodash._reinterpolate";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz";
-        sha1 = "0ccf2d89166af03b3663c796538b75ac6e114d9d";
-      };
-    };
-    "lodash.clonedeep-4.5.0" = {
-      name = "lodash.clonedeep";
-      packageName = "lodash.clonedeep";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
-        sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
-      };
-    };
-    "lodash.debounce-4.0.8" = {
-      name = "lodash.debounce";
-      packageName = "lodash.debounce";
-      version = "4.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz";
-        sha1 = "82d79bff30a67c4005ffd5e2515300ad9ca4d7af";
-      };
-    };
-    "lodash.escape-4.0.1" = {
-      name = "lodash.escape";
-      packageName = "lodash.escape";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz";
-        sha1 = "c9044690c21e04294beaa517712fded1fa88de98";
-      };
-    };
-    "lodash.flattendeep-4.4.0" = {
-      name = "lodash.flattendeep";
-      packageName = "lodash.flattendeep";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz";
-        sha1 = "fb030917f86a3134e5bc9bec0d69e0013ddfedb2";
-      };
-    };
-    "lodash.get-4.4.2" = {
-      name = "lodash.get";
-      packageName = "lodash.get";
-      version = "4.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz";
-        sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99";
-      };
-    };
-    "lodash.isequal-4.5.0" = {
-      name = "lodash.isequal";
-      packageName = "lodash.isequal";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz";
-        sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0";
-      };
-    };
-    "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.merge-4.6.2" = {
-      name = "lodash.merge";
-      packageName = "lodash.merge";
-      version = "4.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz";
-        sha512 = "0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==";
-      };
-    };
-    "lodash.template-4.5.0" = {
-      name = "lodash.template";
-      packageName = "lodash.template";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz";
-        sha512 = "84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==";
-      };
-    };
-    "lodash.templatesettings-4.2.0" = {
-      name = "lodash.templatesettings";
-      packageName = "lodash.templatesettings";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz";
-        sha512 = "stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==";
-      };
-    };
-    "lodash.truncate-4.4.2" = {
-      name = "lodash.truncate";
-      packageName = "lodash.truncate";
-      version = "4.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz";
-        sha1 = "5a350da0b1113b837ecfffd5812cbe58d6eae193";
-      };
-    };
-    "lodash.uniq-4.5.0" = {
-      name = "lodash.uniq";
-      packageName = "lodash.uniq";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
-        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
-      };
-    };
-    "loglevel-1.7.1" = {
-      name = "loglevel";
-      packageName = "loglevel";
-      version = "1.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz";
-        sha512 = "Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "lower-case-2.0.2" = {
-      name = "lower-case";
-      packageName = "lower-case";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz";
-        sha512 = "7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "lru-cache-6.0.0" = {
-      name = "lru-cache";
-      packageName = "lru-cache";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz";
-        sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
-      };
-    };
-    "magic-string-0.25.7" = {
-      name = "magic-string";
-      packageName = "magic-string";
-      version = "0.25.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz";
-        sha512 = "4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==";
-      };
-    };
-    "make-dir-2.1.0" = {
-      name = "make-dir";
-      packageName = "make-dir";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz";
-        sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
-      };
-    };
-    "make-dir-3.1.0" = {
-      name = "make-dir";
-      packageName = "make-dir";
-      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==";
-      };
-    };
-    "makeerror-1.0.11" = {
-      name = "makeerror";
-      packageName = "makeerror";
-      version = "1.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz";
-        sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c";
-      };
-    };
-    "map-cache-0.2.2" = {
-      name = "map-cache";
-      packageName = "map-cache";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz";
-        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
-      };
-    };
-    "map-visit-1.0.0" = {
-      name = "map-visit";
-      packageName = "map-visit";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz";
-        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
-      };
-    };
-    "md5.js-1.3.5" = {
-      name = "md5.js";
-      packageName = "md5.js";
-      version = "1.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz";
-        sha512 = "xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==";
-      };
-    };
-    "mdn-data-2.0.14" = {
-      name = "mdn-data";
-      packageName = "mdn-data";
-      version = "2.0.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz";
-        sha512 = "dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "merge-descriptors-1.0.1" = {
-      name = "merge-descriptors";
-      packageName = "merge-descriptors";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
-        sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
-      };
-    };
-    "merge-stream-2.0.0" = {
-      name = "merge-stream";
-      packageName = "merge-stream";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz";
-        sha512 = "abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==";
-      };
-    };
-    "merge2-1.4.1" = {
-      name = "merge2";
-      packageName = "merge2";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz";
-        sha512 = "8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==";
-      };
-    };
-    "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.4" = {
-      name = "micromatch";
-      packageName = "micromatch";
-      version = "4.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz";
-        sha512 = "pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==";
-      };
-    };
-    "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.5.2" = {
-      name = "mime";
-      packageName = "mime";
-      version = "2.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz";
-        sha512 = "tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==";
-      };
-    };
-    "mime-db-1.49.0" = {
-      name = "mime-db";
-      packageName = "mime-db";
-      version = "1.49.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz";
-        sha512 = "CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==";
-      };
-    };
-    "mime-types-2.1.32" = {
-      name = "mime-types";
-      packageName = "mime-types";
-      version = "2.1.32";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz";
-        sha512 = "hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==";
-      };
-    };
-    "mimic-fn-2.1.0" = {
-      name = "mimic-fn";
-      packageName = "mimic-fn";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz";
-        sha512 = "OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==";
-      };
-    };
-    "mini-create-react-context-0.4.1" = {
-      name = "mini-create-react-context";
-      packageName = "mini-create-react-context";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz";
-        sha512 = "YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==";
-      };
-    };
-    "mini-css-extract-plugin-0.11.3" = {
-      name = "mini-css-extract-plugin";
-      packageName = "mini-css-extract-plugin";
-      version = "0.11.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz";
-        sha512 = "n9BA8LonkOkW1/zn+IbLPQmovsL0wMb9yx75fMJQZf2X1Zoec9yTZtyMePcyu19wPkmFbzZZA6fLTotpFhQsOA==";
-      };
-    };
-    "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-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.4" = {
-      name = "minipass-pipeline";
-      packageName = "minipass-pipeline";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz";
-        sha512 = "xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==";
-      };
-    };
-    "minizlib-2.1.2" = {
-      name = "minizlib";
-      packageName = "minizlib";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz";
-        sha512 = "bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==";
-      };
-    };
-    "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.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==";
-      };
-    };
-    "mkdirp-1.0.4" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz";
-        sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
-      };
-    };
-    "moment-2.24.0" = {
-      name = "moment";
-      packageName = "moment";
-      version = "2.24.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz";
-        sha512 = "bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==";
-      };
-    };
-    "moment-2.29.1" = {
-      name = "moment";
-      packageName = "moment";
-      version = "2.29.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz";
-        sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
-      };
-    };
-    "moment-timezone-0.5.33" = {
-      name = "moment-timezone";
-      packageName = "moment-timezone";
-      version = "0.5.33";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz";
-        sha512 = "PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==";
-      };
-    };
-    "moo-0.5.1" = {
-      name = "moo";
-      packageName = "moo";
-      version = "0.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz";
-        sha512 = "I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==";
-      };
-    };
-    "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";
-      };
-    };
-    "mutationobserver-shim-0.3.7" = {
-      name = "mutationobserver-shim";
-      packageName = "mutationobserver-shim";
-      version = "0.3.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mutationobserver-shim/-/mutationobserver-shim-0.3.7.tgz";
-        sha512 = "oRIDTyZQU96nAiz2AQyngwx1e89iApl2hN5AOYwyxLUB47UYsU3Wv9lJWqH5y/QdiYkc5HQLi23ZNB3fELdHcQ==";
-      };
-    };
-    "nan-2.15.0" = {
-      name = "nan";
-      packageName = "nan";
-      version = "2.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz";
-        sha512 = "8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==";
-      };
-    };
-    "nanoid-3.1.25" = {
-      name = "nanoid";
-      packageName = "nanoid";
-      version = "3.1.25";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz";
-        sha512 = "rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==";
-      };
-    };
-    "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==";
-      };
-    };
-    "native-url-0.2.6" = {
-      name = "native-url";
-      packageName = "native-url";
-      version = "0.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz";
-        sha512 = "k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==";
-      };
-    };
-    "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";
-      };
-    };
-    "nearley-2.20.1" = {
-      name = "nearley";
-      packageName = "nearley";
-      version = "2.20.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz";
-        sha512 = "+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==";
-      };
-    };
-    "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.2" = {
-      name = "neo-async";
-      packageName = "neo-async";
-      version = "2.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz";
-        sha512 = "Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==";
-      };
-    };
-    "next-tick-1.0.0" = {
-      name = "next-tick";
-      packageName = "next-tick";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz";
-        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
-      };
-    };
-    "nice-try-1.0.5" = {
-      name = "nice-try";
-      packageName = "nice-try";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz";
-        sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==";
-      };
-    };
-    "nise-4.1.0" = {
-      name = "nise";
-      packageName = "nise";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz";
-        sha512 = "eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==";
-      };
-    };
-    "no-case-3.0.4" = {
-      name = "no-case";
-      packageName = "no-case";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz";
-        sha512 = "fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==";
-      };
-    };
-    "node-fetch-2.6.1" = {
-      name = "node-fetch";
-      packageName = "node-fetch";
-      version = "2.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz";
-        sha512 = "V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==";
-      };
-    };
-    "node-forge-0.10.0" = {
-      name = "node-forge";
-      packageName = "node-forge";
-      version = "0.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz";
-        sha512 = "PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==";
-      };
-    };
-    "node-int64-0.4.0" = {
-      name = "node-int64";
-      packageName = "node-int64";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz";
-        sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
-      };
-    };
-    "node-libs-browser-2.2.1" = {
-      name = "node-libs-browser";
-      packageName = "node-libs-browser";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz";
-        sha512 = "h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==";
-      };
-    };
-    "node-modules-regexp-1.0.0" = {
-      name = "node-modules-regexp";
-      packageName = "node-modules-regexp";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz";
-        sha1 = "8d9dbe28964a4ac5712e9131642107c71e90ec40";
-      };
-    };
-    "node-notifier-8.0.2" = {
-      name = "node-notifier";
-      packageName = "node-notifier";
-      version = "8.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz";
-        sha512 = "oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==";
-      };
-    };
-    "node-releases-1.1.75" = {
-      name = "node-releases";
-      packageName = "node-releases";
-      version = "1.1.75";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz";
-        sha512 = "Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==";
-      };
-    };
-    "normalize-package-data-2.5.0" = {
-      name = "normalize-package-data";
-      packageName = "normalize-package-data";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
-        sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
-      };
-    };
-    "normalize-path-2.1.1" = {
-      name = "normalize-path";
-      packageName = "normalize-path";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz";
-        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
-      };
-    };
-    "normalize-path-3.0.0" = {
-      name = "normalize-path";
-      packageName = "normalize-path";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz";
-        sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
-      };
-    };
-    "normalize-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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "nth-check-2.0.0" = {
-      name = "nth-check";
-      packageName = "nth-check";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz";
-        sha512 = "i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==";
-      };
-    };
-    "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";
-      };
-    };
-    "nwsapi-2.2.0" = {
-      name = "nwsapi";
-      packageName = "nwsapi";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz";
-        sha512 = "h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==";
-      };
-    };
-    "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-inspect-1.11.0" = {
-      name = "object-inspect";
-      packageName = "object-inspect";
-      version = "1.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz";
-        sha512 = "jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==";
-      };
-    };
-    "object-is-1.1.5" = {
-      name = "object-is";
-      packageName = "object-is";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz";
-        sha512 = "3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==";
-      };
-    };
-    "object-keys-1.1.1" = {
-      name = "object-keys";
-      packageName = "object-keys";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz";
-        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
-      };
-    };
-    "object-visit-1.0.1" = {
-      name = "object-visit";
-      packageName = "object-visit";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz";
-        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
-      };
-    };
-    "object.assign-4.1.2" = {
-      name = "object.assign";
-      packageName = "object.assign";
-      version = "4.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz";
-        sha512 = "ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==";
-      };
-    };
-    "object.entries-1.1.4" = {
-      name = "object.entries";
-      packageName = "object.entries";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz";
-        sha512 = "h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==";
-      };
-    };
-    "object.fromentries-2.0.4" = {
-      name = "object.fromentries";
-      packageName = "object.fromentries";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz";
-        sha512 = "EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==";
-      };
-    };
-    "object.getownpropertydescriptors-2.1.2" = {
-      name = "object.getownpropertydescriptors";
-      packageName = "object.getownpropertydescriptors";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz";
-        sha512 = "WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==";
-      };
-    };
-    "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.4" = {
-      name = "object.values";
-      packageName = "object.values";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz";
-        sha512 = "TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==";
-      };
-    };
-    "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-5.1.2" = {
-      name = "onetime";
-      packageName = "onetime";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz";
-        sha512 = "kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==";
-      };
-    };
-    "open-7.4.2" = {
-      name = "open";
-      packageName = "open";
-      version = "7.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/open/-/open-7.4.2.tgz";
-        sha512 = "MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==";
-      };
-    };
-    "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==";
-      };
-    };
-    "optimize-css-assets-webpack-plugin-5.0.4" = {
-      name = "optimize-css-assets-webpack-plugin";
-      packageName = "optimize-css-assets-webpack-plugin";
-      version = "5.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz";
-        sha512 = "wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==";
-      };
-    };
-    "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==";
-      };
-    };
-    "optionator-0.9.1" = {
-      name = "optionator";
-      packageName = "optionator";
-      version = "0.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz";
-        sha512 = "74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==";
-      };
-    };
-    "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";
-      };
-    };
-    "p-each-series-2.2.0" = {
-      name = "p-each-series";
-      packageName = "p-each-series";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz";
-        sha512 = "ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==";
-      };
-    };
-    "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-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.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-limit-3.1.0" = {
-      name = "p-limit";
-      packageName = "p-limit";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz";
-        sha512 = "TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==";
-      };
-    };
-    "p-locate-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-4.0.0" = {
-      name = "p-map";
-      packageName = "p-map";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz";
-        sha512 = "/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==";
-      };
-    };
-    "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-3.0.4" = {
-      name = "param-case";
-      packageName = "param-case";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz";
-        sha512 = "RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==";
-      };
-    };
-    "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.6" = {
-      name = "parse-asn1";
-      packageName = "parse-asn1";
-      version = "5.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz";
-        sha512 = "RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==";
-      };
-    };
-    "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.2.0" = {
-      name = "parse-json";
-      packageName = "parse-json";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz";
-        sha512 = "ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==";
-      };
-    };
-    "parse-srcset-1.0.2" = {
-      name = "parse-srcset";
-      packageName = "parse-srcset";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz";
-        sha1 = "f2bd221f6cc970a938d88556abc589caaaa2bde1";
-      };
-    };
-    "parse5-6.0.1" = {
-      name = "parse5";
-      packageName = "parse5";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz";
-        sha512 = "Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==";
-      };
-    };
-    "parse5-htmlparser2-tree-adapter-6.0.1" = {
-      name = "parse5-htmlparser2-tree-adapter";
-      packageName = "parse5-htmlparser2-tree-adapter";
-      version = "6.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz";
-        sha512 = "qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "pascal-case-3.1.2" = {
-      name = "pascal-case";
-      packageName = "pascal-case";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz";
-        sha512 = "uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==";
-      };
-    };
-    "pascalcase-0.1.1" = {
-      name = "pascalcase";
-      packageName = "pascalcase";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz";
-        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
-      };
-    };
-    "path-browserify-0.0.1" = {
-      name = "path-browserify";
-      packageName = "path-browserify";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz";
-        sha512 = "BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==";
-      };
-    };
-    "path-dirname-1.0.2" = {
-      name = "path-dirname";
-      packageName = "path-dirname";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz";
-        sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
-      };
-    };
-    "path-exists-3.0.0" = {
-      name = "path-exists";
-      packageName = "path-exists";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
-        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
-      };
-    };
-    "path-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.7" = {
-      name = "path-parse";
-      packageName = "path-parse";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz";
-        sha512 = "LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==";
-      };
-    };
-    "path-to-regexp-0.1.7" = {
-      name = "path-to-regexp";
-      packageName = "path-to-regexp";
-      version = "0.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
-        sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
-      };
-    };
-    "path-to-regexp-1.8.0" = {
-      name = "path-to-regexp";
-      packageName = "path-to-regexp";
-      version = "1.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz";
-        sha512 = "n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==";
-      };
-    };
-    "path-type-3.0.0" = {
-      name = "path-type";
-      packageName = "path-type";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz";
-        sha512 = "T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==";
-      };
-    };
-    "path-type-4.0.0" = {
-      name = "path-type";
-      packageName = "path-type";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz";
-        sha512 = "gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==";
-      };
-    };
-    "pbkdf2-3.1.2" = {
-      name = "pbkdf2";
-      packageName = "pbkdf2";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz";
-        sha512 = "iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==";
-      };
-    };
-    "performance-now-2.1.0" = {
-      name = "performance-now";
-      packageName = "performance-now";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
-        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
-      };
-    };
-    "picomatch-2.3.0" = {
-      name = "picomatch";
-      packageName = "picomatch";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz";
-        sha512 = "lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==";
-      };
-    };
-    "pify-2.3.0" = {
-      name = "pify";
-      packageName = "pify";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
-        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
-      };
-    };
-    "pify-3.0.0" = {
-      name = "pify";
-      packageName = "pify";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz";
-        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
-      };
-    };
-    "pify-4.0.1" = {
-      name = "pify";
-      packageName = "pify";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz";
-        sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==";
-      };
-    };
-    "pinkie-2.0.4" = {
-      name = "pinkie";
-      packageName = "pinkie";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
-        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
-      };
-    };
-    "pinkie-promise-2.0.1" = {
-      name = "pinkie-promise";
-      packageName = "pinkie-promise";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
-        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
-      };
-    };
-    "pirates-4.0.1" = {
-      name = "pirates";
-      packageName = "pirates";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz";
-        sha512 = "WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==";
-      };
-    };
-    "pkg-dir-2.0.0" = {
-      name = "pkg-dir";
-      packageName = "pkg-dir";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz";
-        sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b";
-      };
-    };
-    "pkg-dir-3.0.0" = {
-      name = "pkg-dir";
-      packageName = "pkg-dir";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz";
-        sha512 = "/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==";
-      };
-    };
-    "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";
-      };
-    };
-    "pkg-up-3.1.0" = {
-      name = "pkg-up";
-      packageName = "pkg-up";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz";
-        sha512 = "nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "popper.js-1.16.1" = {
-      name = "popper.js";
-      packageName = "popper.js";
-      version = "1.16.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz";
-        sha512 = "Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==";
-      };
-    };
-    "portfinder-1.0.28" = {
-      name = "portfinder";
-      packageName = "portfinder";
-      version = "1.0.28";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz";
-        sha512 = "Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==";
-      };
-    };
-    "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.36" = {
-      name = "postcss";
-      packageName = "postcss";
-      version = "7.0.36";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz";
-        sha512 = "BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==";
-      };
-    };
-    "postcss-8.3.6" = {
-      name = "postcss";
-      packageName = "postcss";
-      version = "8.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz";
-        sha512 = "wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==";
-      };
-    };
-    "postcss-attribute-case-insensitive-4.0.2" = {
-      name = "postcss-attribute-case-insensitive";
-      packageName = "postcss-attribute-case-insensitive";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz";
-        sha512 = "clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==";
-      };
-    };
-    "postcss-browser-comments-3.0.0" = {
-      name = "postcss-browser-comments";
-      packageName = "postcss-browser-comments";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-3.0.0.tgz";
-        sha512 = "qfVjLfq7HFd2e0HW4s1dvU8X080OZdG46fFbIBFjW7US7YPDcWfRvdElvwMJr2LI6hMmD+7LnH2HcmXTs+uOig==";
-      };
-    };
-    "postcss-calc-7.0.5" = {
-      name = "postcss-calc";
-      packageName = "postcss-calc";
-      version = "7.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz";
-        sha512 = "1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==";
-      };
-    };
-    "postcss-color-functional-notation-2.0.1" = {
-      name = "postcss-color-functional-notation";
-      packageName = "postcss-color-functional-notation";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz";
-        sha512 = "ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==";
-      };
-    };
-    "postcss-color-gray-5.0.0" = {
-      name = "postcss-color-gray";
-      packageName = "postcss-color-gray";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz";
-        sha512 = "q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==";
-      };
-    };
-    "postcss-color-hex-alpha-5.0.3" = {
-      name = "postcss-color-hex-alpha";
-      packageName = "postcss-color-hex-alpha";
-      version = "5.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz";
-        sha512 = "PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==";
-      };
-    };
-    "postcss-color-mod-function-3.0.3" = {
-      name = "postcss-color-mod-function";
-      packageName = "postcss-color-mod-function";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz";
-        sha512 = "YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==";
-      };
-    };
-    "postcss-color-rebeccapurple-4.0.1" = {
-      name = "postcss-color-rebeccapurple";
-      packageName = "postcss-color-rebeccapurple";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz";
-        sha512 = "aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==";
-      };
-    };
-    "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-custom-media-7.0.8" = {
-      name = "postcss-custom-media";
-      packageName = "postcss-custom-media";
-      version = "7.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz";
-        sha512 = "c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==";
-      };
-    };
-    "postcss-custom-properties-8.0.11" = {
-      name = "postcss-custom-properties";
-      packageName = "postcss-custom-properties";
-      version = "8.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz";
-        sha512 = "nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==";
-      };
-    };
-    "postcss-custom-selectors-5.1.2" = {
-      name = "postcss-custom-selectors";
-      packageName = "postcss-custom-selectors";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz";
-        sha512 = "DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==";
-      };
-    };
-    "postcss-dir-pseudo-class-5.0.0" = {
-      name = "postcss-dir-pseudo-class";
-      packageName = "postcss-dir-pseudo-class";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz";
-        sha512 = "3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==";
-      };
-    };
-    "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-double-position-gradients-1.0.0" = {
-      name = "postcss-double-position-gradients";
-      packageName = "postcss-double-position-gradients";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz";
-        sha512 = "G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==";
-      };
-    };
-    "postcss-env-function-2.0.2" = {
-      name = "postcss-env-function";
-      packageName = "postcss-env-function";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz";
-        sha512 = "rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==";
-      };
-    };
-    "postcss-flexbugs-fixes-4.2.1" = {
-      name = "postcss-flexbugs-fixes";
-      packageName = "postcss-flexbugs-fixes";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz";
-        sha512 = "9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==";
-      };
-    };
-    "postcss-focus-visible-4.0.0" = {
-      name = "postcss-focus-visible";
-      packageName = "postcss-focus-visible";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz";
-        sha512 = "Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==";
-      };
-    };
-    "postcss-focus-within-3.0.0" = {
-      name = "postcss-focus-within";
-      packageName = "postcss-focus-within";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz";
-        sha512 = "W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==";
-      };
-    };
-    "postcss-font-variant-4.0.1" = {
-      name = "postcss-font-variant";
-      packageName = "postcss-font-variant";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz";
-        sha512 = "I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==";
-      };
-    };
-    "postcss-gap-properties-2.0.0" = {
-      name = "postcss-gap-properties";
-      packageName = "postcss-gap-properties";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz";
-        sha512 = "QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==";
-      };
-    };
-    "postcss-image-set-function-3.0.1" = {
-      name = "postcss-image-set-function";
-      packageName = "postcss-image-set-function";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz";
-        sha512 = "oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==";
-      };
-    };
-    "postcss-initial-3.0.4" = {
-      name = "postcss-initial";
-      packageName = "postcss-initial";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz";
-        sha512 = "3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==";
-      };
-    };
-    "postcss-lab-function-2.0.1" = {
-      name = "postcss-lab-function";
-      packageName = "postcss-lab-function";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz";
-        sha512 = "whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==";
-      };
-    };
-    "postcss-load-config-2.1.2" = {
-      name = "postcss-load-config";
-      packageName = "postcss-load-config";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz";
-        sha512 = "/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==";
-      };
-    };
-    "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-logical-3.0.0" = {
-      name = "postcss-logical";
-      packageName = "postcss-logical";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz";
-        sha512 = "1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==";
-      };
-    };
-    "postcss-media-minmax-4.0.0" = {
-      name = "postcss-media-minmax";
-      packageName = "postcss-media-minmax";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz";
-        sha512 = "fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==";
-      };
-    };
-    "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.3" = {
-      name = "postcss-modules-local-by-default";
-      packageName = "postcss-modules-local-by-default";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz";
-        sha512 = "e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==";
-      };
-    };
-    "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-nesting-7.0.1" = {
-      name = "postcss-nesting";
-      packageName = "postcss-nesting";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz";
-        sha512 = "FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==";
-      };
-    };
-    "postcss-normalize-8.0.1" = {
-      name = "postcss-normalize";
-      packageName = "postcss-normalize";
-      version = "8.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-8.0.1.tgz";
-        sha512 = "rt9JMS/m9FHIRroDDBGSMsyW1c0fkvOJPy62ggxSHUldJO7B195TqFMqIf+lY5ezpDcYOV4j86aUp3/XbxzCCQ==";
-      };
-    };
-    "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-overflow-shorthand-2.0.0" = {
-      name = "postcss-overflow-shorthand";
-      packageName = "postcss-overflow-shorthand";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz";
-        sha512 = "aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==";
-      };
-    };
-    "postcss-page-break-2.0.0" = {
-      name = "postcss-page-break";
-      packageName = "postcss-page-break";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz";
-        sha512 = "tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==";
-      };
-    };
-    "postcss-place-4.0.1" = {
-      name = "postcss-place";
-      packageName = "postcss-place";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz";
-        sha512 = "Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==";
-      };
-    };
-    "postcss-preset-env-6.7.0" = {
-      name = "postcss-preset-env";
-      packageName = "postcss-preset-env";
-      version = "6.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz";
-        sha512 = "eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==";
-      };
-    };
-    "postcss-pseudo-class-any-link-6.0.0" = {
-      name = "postcss-pseudo-class-any-link";
-      packageName = "postcss-pseudo-class-any-link";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz";
-        sha512 = "lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==";
-      };
-    };
-    "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-replace-overflow-wrap-3.0.0" = {
-      name = "postcss-replace-overflow-wrap";
-      packageName = "postcss-replace-overflow-wrap";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz";
-        sha512 = "2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==";
-      };
-    };
-    "postcss-safe-parser-5.0.2" = {
-      name = "postcss-safe-parser";
-      packageName = "postcss-safe-parser";
-      version = "5.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-5.0.2.tgz";
-        sha512 = "jDUfCPJbKOABhwpUKcqCVbbXiloe/QXMcbJ6Iipf3sDIihEzTqRCeMBfRaOHxhBuTYqtASrI1KJWxzztZU4qUQ==";
-      };
-    };
-    "postcss-selector-matches-4.0.0" = {
-      name = "postcss-selector-matches";
-      packageName = "postcss-selector-matches";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz";
-        sha512 = "LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==";
-      };
-    };
-    "postcss-selector-not-4.0.1" = {
-      name = "postcss-selector-not";
-      packageName = "postcss-selector-not";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz";
-        sha512 = "YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==";
-      };
-    };
-    "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-5.0.0" = {
-      name = "postcss-selector-parser";
-      packageName = "postcss-selector-parser";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz";
-        sha512 = "w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==";
-      };
-    };
-    "postcss-selector-parser-6.0.6" = {
-      name = "postcss-selector-parser";
-      packageName = "postcss-selector-parser";
-      version = "6.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz";
-        sha512 = "9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==";
-      };
-    };
-    "postcss-svgo-4.0.3" = {
-      name = "postcss-svgo";
-      packageName = "postcss-svgo";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz";
-        sha512 = "NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "postcss-values-parser-2.0.1" = {
-      name = "postcss-values-parser";
-      packageName = "postcss-values-parser";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz";
-        sha512 = "2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==";
-      };
-    };
-    "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";
-      };
-    };
-    "prelude-ls-1.2.1" = {
-      name = "prelude-ls";
-      packageName = "prelude-ls";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz";
-        sha512 = "vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==";
-      };
-    };
-    "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-2.3.2" = {
-      name = "prettier";
-      packageName = "prettier";
-      version = "2.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz";
-        sha512 = "lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==";
-      };
-    };
-    "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-bytes-5.6.0" = {
-      name = "pretty-bytes";
-      packageName = "pretty-bytes";
-      version = "5.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz";
-        sha512 = "FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==";
-      };
-    };
-    "pretty-error-2.1.2" = {
-      name = "pretty-error";
-      packageName = "pretty-error";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz";
-        sha512 = "EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==";
-      };
-    };
-    "pretty-format-26.6.2" = {
-      name = "pretty-format";
-      packageName = "pretty-format";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz";
-        sha512 = "7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==";
-      };
-    };
-    "pretty-format-27.1.0" = {
-      name = "pretty-format";
-      packageName = "pretty-format";
-      version = "27.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-27.1.0.tgz";
-        sha512 = "4aGaud3w3rxAO6OXmK3fwBFQ0bctIOG3/if+jYEFGNGIs0EvuidQm3bZ9mlP2/t9epLNC/12czabfy7TZNSwVA==";
-      };
-    };
-    "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-8.1.0" = {
-      name = "promise";
-      packageName = "promise";
-      version = "8.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz";
-        sha512 = "W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==";
-      };
-    };
-    "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";
-      };
-    };
-    "promise-polyfill-8.2.0" = {
-      name = "promise-polyfill";
-      packageName = "promise-polyfill";
-      version = "8.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz";
-        sha512 = "k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g==";
-      };
-    };
-    "prompts-2.4.0" = {
-      name = "prompts";
-      packageName = "prompts";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz";
-        sha512 = "awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==";
-      };
-    };
-    "prop-types-15.7.2" = {
-      name = "prop-types";
-      packageName = "prop-types";
-      version = "15.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz";
-        sha512 = "8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==";
-      };
-    };
-    "prop-types-exact-1.2.0" = {
-      name = "prop-types-exact";
-      packageName = "prop-types-exact";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.0.tgz";
-        sha512 = "K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA==";
-      };
-    };
-    "proxy-addr-2.0.7" = {
-      name = "proxy-addr";
-      packageName = "proxy-addr";
-      version = "2.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz";
-        sha512 = "llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==";
-      };
-    };
-    "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";
-      };
-    };
-    "psl-1.8.0" = {
-      name = "psl";
-      packageName = "psl";
-      version = "1.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz";
-        sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==";
-      };
-    };
-    "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.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-0.2.1" = {
-      name = "querystring";
-      packageName = "querystring";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz";
-        sha512 = "wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==";
-      };
-    };
-    "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.2.0" = {
-      name = "querystringify";
-      packageName = "querystringify";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz";
-        sha512 = "FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==";
-      };
-    };
-    "queue-microtask-1.2.3" = {
-      name = "queue-microtask";
-      packageName = "queue-microtask";
-      version = "1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz";
-        sha512 = "NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==";
-      };
-    };
-    "raf-3.4.1" = {
-      name = "raf";
-      packageName = "raf";
-      version = "3.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz";
-        sha512 = "Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==";
-      };
-    };
-    "raf-schd-4.0.3" = {
-      name = "raf-schd";
-      packageName = "raf-schd";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/raf-schd/-/raf-schd-4.0.3.tgz";
-        sha512 = "tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ==";
-      };
-    };
-    "railroad-diagrams-1.0.0" = {
-      name = "railroad-diagrams";
-      packageName = "railroad-diagrams";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz";
-        sha1 = "eb7e6267548ddedfb899c1b90e57374559cddb7e";
-      };
-    };
-    "randexp-0.4.6" = {
-      name = "randexp";
-      packageName = "randexp";
-      version = "0.4.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz";
-        sha512 = "80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "react-16.14.0" = {
-      name = "react";
-      packageName = "react";
-      version = "16.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react/-/react-16.14.0.tgz";
-        sha512 = "0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==";
-      };
-    };
-    "react-app-polyfill-2.0.0" = {
-      name = "react-app-polyfill";
-      packageName = "react-app-polyfill";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-2.0.0.tgz";
-        sha512 = "0sF4ny9v/B7s6aoehwze9vJNWcmCemAUYBVasscVr92+UYiEqDXOxfKjXN685mDaMRNF3WdhHQs76oTODMocFA==";
-      };
-    };
-    "react-copy-to-clipboard-5.0.4" = {
-      name = "react-copy-to-clipboard";
-      packageName = "react-copy-to-clipboard";
-      version = "5.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.4.tgz";
-        sha512 = "IeVAiNVKjSPeGax/Gmkqfa/+PuMTBhutEvFUaMQLwE2tS0EXrAdgOpWDX26bWTXF3HrioorR7lr08NqeYUWQCQ==";
-      };
-    };
-    "react-dev-utils-11.0.4" = {
-      name = "react-dev-utils";
-      packageName = "react-dev-utils";
-      version = "11.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz";
-        sha512 = "dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==";
-      };
-    };
-    "react-dom-16.14.0" = {
-      name = "react-dom";
-      packageName = "react-dom";
-      version = "16.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz";
-        sha512 = "1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==";
-      };
-    };
-    "react-error-overlay-6.0.9" = {
-      name = "react-error-overlay";
-      packageName = "react-error-overlay";
-      version = "6.0.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz";
-        sha512 = "nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==";
-      };
-    };
-    "react-is-16.13.1" = {
-      name = "react-is";
-      packageName = "react-is";
-      version = "16.13.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz";
-        sha512 = "24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==";
-      };
-    };
-    "react-is-17.0.2" = {
-      name = "react-is";
-      packageName = "react-is";
-      version = "17.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz";
-        sha512 = "w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==";
-      };
-    };
-    "react-lifecycles-compat-3.0.4" = {
-      name = "react-lifecycles-compat";
-      packageName = "react-lifecycles-compat";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz";
-        sha512 = "fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==";
-      };
-    };
-    "react-popper-1.3.11" = {
-      name = "react-popper";
-      packageName = "react-popper";
-      version = "1.3.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-popper/-/react-popper-1.3.11.tgz";
-        sha512 = "VSA/bS+pSndSF2fiasHK/PTEEAyOpX60+H5EPAjoArr8JGm+oihu4UbrqcEBpQibJxBVCpYyjAX7abJ+7DoYVg==";
-      };
-    };
-    "react-refresh-0.8.3" = {
-      name = "react-refresh";
-      packageName = "react-refresh";
-      version = "0.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz";
-        sha512 = "X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==";
-      };
-    };
-    "react-resize-detector-5.2.0" = {
-      name = "react-resize-detector";
-      packageName = "react-resize-detector";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-5.2.0.tgz";
-        sha512 = "PQAc03J2eyhvaiWgEdQ8+bKbbyGJzLEr70KuivBd1IEmP/iewNakLUMkxm6MWnDqsRPty85pioyg8MvGb0qC8A==";
-      };
-    };
-    "react-router-5.2.1" = {
-      name = "react-router";
-      packageName = "react-router";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz";
-        sha512 = "lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==";
-      };
-    };
-    "react-router-dom-5.3.0" = {
-      name = "react-router-dom";
-      packageName = "react-router-dom";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz";
-        sha512 = "ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==";
-      };
-    };
-    "react-scripts-4.0.3" = {
-      name = "react-scripts";
-      packageName = "react-scripts";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.3.tgz";
-        sha512 = "S5eO4vjUzUisvkIPB7jVsKtuH2HhWcASREYWHAQ1FP5HyCv3xgn+wpILAEWkmy+A+tTNbSZClhxjT3qz6g4L1A==";
-      };
-    };
-    "react-test-renderer-16.14.0" = {
-      name = "react-test-renderer";
-      packageName = "react-test-renderer";
-      version = "16.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.14.0.tgz";
-        sha512 = "L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==";
-      };
-    };
-    "react-transition-group-2.9.0" = {
-      name = "react-transition-group";
-      packageName = "react-transition-group";
-      version = "2.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz";
-        sha512 = "+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==";
-      };
-    };
-    "reactstrap-8.10.0" = {
-      name = "reactstrap";
-      packageName = "reactstrap";
-      version = "8.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/reactstrap/-/reactstrap-8.10.0.tgz";
-        sha512 = "MsFUB/fRZj6Orf8Mxc93iYuAs+9ngnFmy2cfYlzkmc4vi5oM4u6ziY/DsO71lDG3cotxHRyS3Flr51cuYv+IEQ==";
-      };
-    };
-    "read-pkg-3.0.0" = {
-      name = "read-pkg";
-      packageName = "read-pkg";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz";
-        sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
-      };
-    };
-    "read-pkg-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-3.0.0" = {
-      name = "read-pkg-up";
-      packageName = "read-pkg-up";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz";
-        sha1 = "3ed496685dba0f8fe118d0691dc51f4a1ff96f07";
-      };
-    };
-    "read-pkg-up-7.0.1" = {
-      name = "read-pkg-up";
-      packageName = "read-pkg-up";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz";
-        sha512 = "zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==";
-      };
-    };
-    "readable-stream-2.3.7" = {
-      name = "readable-stream";
-      packageName = "readable-stream";
-      version = "2.3.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz";
-        sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
-      };
-    };
-    "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.6.0" = {
-      name = "readdirp";
-      packageName = "readdirp";
-      version = "3.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz";
-        sha512 = "hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==";
-      };
-    };
-    "recursive-readdir-2.2.2" = {
-      name = "recursive-readdir";
-      packageName = "recursive-readdir";
-      version = "2.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz";
-        sha512 = "nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==";
-      };
-    };
-    "reflect.ownkeys-0.2.0" = {
-      name = "reflect.ownkeys";
-      packageName = "reflect.ownkeys";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz";
-        sha1 = "749aceec7f3fdf8b63f927a04809e90c5c0b3460";
-      };
-    };
-    "regenerate-1.4.2" = {
-      name = "regenerate";
-      packageName = "regenerate";
-      version = "1.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz";
-        sha512 = "zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==";
-      };
-    };
-    "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.11.1" = {
-      name = "regenerator-runtime";
-      packageName = "regenerator-runtime";
-      version = "0.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
-        sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==";
-      };
-    };
-    "regenerator-runtime-0.13.9" = {
-      name = "regenerator-runtime";
-      packageName = "regenerator-runtime";
-      version = "0.13.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz";
-        sha512 = "p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==";
-      };
-    };
-    "regenerator-transform-0.14.5" = {
-      name = "regenerator-transform";
-      packageName = "regenerator-transform";
-      version = "0.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz";
-        sha512 = "eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "regex-parser-2.2.11" = {
-      name = "regex-parser";
-      packageName = "regex-parser";
-      version = "2.2.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz";
-        sha512 = "jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==";
-      };
-    };
-    "regexp.prototype.flags-1.3.1" = {
-      name = "regexp.prototype.flags";
-      packageName = "regexp.prototype.flags";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz";
-        sha512 = "JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==";
-      };
-    };
-    "regexpp-3.2.0" = {
-      name = "regexpp";
-      packageName = "regexpp";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz";
-        sha512 = "pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==";
-      };
-    };
-    "regexpu-core-4.7.1" = {
-      name = "regexpu-core";
-      packageName = "regexpu-core";
-      version = "4.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz";
-        sha512 = "ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==";
-      };
-    };
-    "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.9" = {
-      name = "regjsparser";
-      packageName = "regjsparser";
-      version = "0.6.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz";
-        sha512 = "ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==";
-      };
-    };
-    "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.7" = {
-      name = "renderkid";
-      packageName = "renderkid";
-      version = "2.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz";
-        sha512 = "oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==";
-      };
-    };
-    "repeat-element-1.1.4" = {
-      name = "repeat-element";
-      packageName = "repeat-element";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz";
-        sha512 = "LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==";
-      };
-    };
-    "repeat-string-1.6.1" = {
-      name = "repeat-string";
-      packageName = "repeat-string";
-      version = "1.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
-        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
-      };
-    };
-    "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-from-string-2.0.2" = {
-      name = "require-from-string";
-      packageName = "require-from-string";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz";
-        sha512 = "Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==";
-      };
-    };
-    "require-main-filename-2.0.0" = {
-      name = "require-main-filename";
-      packageName = "require-main-filename";
-      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.18.1" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.18.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz";
-        sha512 = "lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==";
-      };
-    };
-    "resolve-1.20.0" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.20.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz";
-        sha512 = "wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==";
-      };
-    };
-    "resolve-2.0.0-next.3" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "2.0.0-next.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz";
-        sha512 = "W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==";
-      };
-    };
-    "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-cwd-3.0.0" = {
-      name = "resolve-cwd";
-      packageName = "resolve-cwd";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz";
-        sha512 = "OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==";
-      };
-    };
-    "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-from-5.0.0" = {
-      name = "resolve-from";
-      packageName = "resolve-from";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz";
-        sha512 = "qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==";
-      };
-    };
-    "resolve-pathname-3.0.0" = {
-      name = "resolve-pathname";
-      packageName = "resolve-pathname";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz";
-        sha512 = "C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==";
-      };
-    };
-    "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";
-      };
-    };
-    "resolve-url-loader-3.1.4" = {
-      name = "resolve-url-loader";
-      packageName = "resolve-url-loader";
-      version = "3.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz";
-        sha512 = "D3sQ04o0eeQEySLrcz4DsX3saHfsr8/N6tfhblxgZKXxMT2Louargg12oGNfoTRLV09GXhVUe5/qgA5vdgNigg==";
-      };
-    };
-    "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";
-      };
-    };
-    "reusify-1.0.4" = {
-      name = "reusify";
-      packageName = "reusify";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz";
-        sha512 = "U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==";
-      };
-    };
-    "rework-1.0.1" = {
-      name = "rework";
-      packageName = "rework";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz";
-        sha1 = "30806a841342b54510aa4110850cd48534144aa7";
-      };
-    };
-    "rework-visit-1.0.0" = {
-      name = "rework-visit";
-      packageName = "rework-visit";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz";
-        sha1 = "9945b2803f219e2f7aca00adb8bc9f640f842c9a";
-      };
-    };
-    "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.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==";
-      };
-    };
-    "rollup-1.32.1" = {
-      name = "rollup";
-      packageName = "rollup";
-      version = "1.32.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz";
-        sha512 = "/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==";
-      };
-    };
-    "rollup-plugin-babel-4.4.0" = {
-      name = "rollup-plugin-babel";
-      packageName = "rollup-plugin-babel";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz";
-        sha512 = "Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==";
-      };
-    };
-    "rollup-plugin-terser-5.3.1" = {
-      name = "rollup-plugin-terser";
-      packageName = "rollup-plugin-terser";
-      version = "5.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz";
-        sha512 = "1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==";
-      };
-    };
-    "rollup-pluginutils-2.8.2" = {
-      name = "rollup-pluginutils";
-      packageName = "rollup-pluginutils";
-      version = "2.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz";
-        sha512 = "EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==";
-      };
-    };
-    "rst-selector-parser-2.2.3" = {
-      name = "rst-selector-parser";
-      packageName = "rst-selector-parser";
-      version = "2.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz";
-        sha1 = "81b230ea2fcc6066c89e3472de794285d9b03d91";
-      };
-    };
-    "rsvp-4.8.5" = {
-      name = "rsvp";
-      packageName = "rsvp";
-      version = "4.8.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz";
-        sha512 = "nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==";
-      };
-    };
-    "run-parallel-1.2.0" = {
-      name = "run-parallel";
-      packageName = "run-parallel";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz";
-        sha512 = "5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==";
-      };
-    };
-    "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";
-      };
-    };
-    "safe-buffer-5.1.2" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
-        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
-      };
-    };
-    "safe-buffer-5.2.1" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
-        sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
-      };
-    };
-    "safe-regex-1.1.0" = {
-      name = "safe-regex";
-      packageName = "safe-regex";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz";
-        sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
-      };
-    };
-    "safer-buffer-2.1.2" = {
-      name = "safer-buffer";
-      packageName = "safer-buffer";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
-        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
-      };
-    };
-    "sane-4.1.0" = {
-      name = "sane";
-      packageName = "sane";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz";
-        sha512 = "hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==";
-      };
-    };
-    "sanitize-html-2.4.0" = {
-      name = "sanitize-html";
-      packageName = "sanitize-html";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.4.0.tgz";
-        sha512 = "Y1OgkUiTPMqwZNRLPERSEi39iOebn2XJLbeiGOBhaJD/yLqtLGu6GE5w7evx177LeGgSE+4p4e107LMiydOf6A==";
-      };
-    };
-    "sanitize.css-10.0.0" = {
-      name = "sanitize.css";
-      packageName = "sanitize.css";
-      version = "10.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sanitize.css/-/sanitize.css-10.0.0.tgz";
-        sha512 = "vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg==";
-      };
-    };
-    "sass-1.39.0" = {
-      name = "sass";
-      packageName = "sass";
-      version = "1.39.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sass/-/sass-1.39.0.tgz";
-        sha512 = "F4o+RhJkNOIG0b6QudYU8c78ZADKZjKDk5cyrf8XTKWfrgbtyVVXImFstJrc+1pkQDCggyidIOytq6gS4gCCZg==";
-      };
-    };
-    "sass-loader-10.2.0" = {
-      name = "sass-loader";
-      packageName = "sass-loader";
-      version = "10.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sass-loader/-/sass-loader-10.2.0.tgz";
-        sha512 = "kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "saxes-5.0.1" = {
-      name = "saxes";
-      packageName = "saxes";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz";
-        sha512 = "5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==";
-      };
-    };
-    "scheduler-0.19.1" = {
-      name = "scheduler";
-      packageName = "scheduler";
-      version = "0.19.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz";
-        sha512 = "n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==";
-      };
-    };
-    "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.7.1" = {
-      name = "schema-utils";
-      packageName = "schema-utils";
-      version = "2.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz";
-        sha512 = "SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==";
-      };
-    };
-    "schema-utils-3.1.1" = {
-      name = "schema-utils";
-      packageName = "schema-utils";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz";
-        sha512 = "Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==";
-      };
-    };
-    "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.11" = {
-      name = "selfsigned";
-      packageName = "selfsigned";
-      version = "1.10.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz";
-        sha512 = "aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "semver-7.3.5" = {
-      name = "semver";
-      packageName = "semver";
-      version = "7.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz";
-        sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
-      };
-    };
-    "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-4.0.0" = {
-      name = "serialize-javascript";
-      packageName = "serialize-javascript";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz";
-        sha512 = "GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==";
-      };
-    };
-    "serialize-javascript-5.0.1" = {
-      name = "serialize-javascript";
-      packageName = "serialize-javascript";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz";
-        sha512 = "SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==";
-      };
-    };
-    "serve-index-1.9.1" = {
-      name = "serve-index";
-      packageName = "serve-index";
-      version = "1.9.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz";
-        sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239";
-      };
-    };
-    "serve-static-1.14.1" = {
-      name = "serve-static";
-      packageName = "serve-static";
-      version = "1.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz";
-        sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==";
-      };
-    };
-    "set-blocking-2.0.0" = {
-      name = "set-blocking";
-      packageName = "set-blocking";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
-        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
-      };
-    };
-    "set-value-2.0.1" = {
-      name = "set-value";
-      packageName = "set-value";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz";
-        sha512 = "JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==";
-      };
-    };
-    "setimmediate-1.0.5" = {
-      name = "setimmediate";
-      packageName = "setimmediate";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz";
-        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
-      };
-    };
-    "setprototypeof-1.1.0" = {
-      name = "setprototypeof";
-      packageName = "setprototypeof";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz";
-        sha512 = "BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==";
-      };
-    };
-    "setprototypeof-1.1.1" = {
-      name = "setprototypeof";
-      packageName = "setprototypeof";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz";
-        sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==";
-      };
-    };
-    "sha.js-2.4.11" = {
-      name = "sha.js";
-      packageName = "sha.js";
-      version = "2.4.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz";
-        sha512 = "QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==";
-      };
-    };
-    "shebang-command-1.2.0" = {
-      name = "shebang-command";
-      packageName = "shebang-command";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz";
-        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
-      };
-    };
-    "shebang-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==";
-      };
-    };
-    "shellwords-0.1.1" = {
-      name = "shellwords";
-      packageName = "shellwords";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz";
-        sha512 = "vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==";
-      };
-    };
-    "side-channel-1.0.4" = {
-      name = "side-channel";
-      packageName = "side-channel";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz";
-        sha512 = "q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==";
-      };
-    };
-    "signal-exit-3.0.3" = {
-      name = "signal-exit";
-      packageName = "signal-exit";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz";
-        sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==";
-      };
-    };
-    "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";
-      };
-    };
-    "sinon-9.2.4" = {
-      name = "sinon";
-      packageName = "sinon";
-      version = "9.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz";
-        sha512 = "zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg==";
-      };
-    };
-    "sisteransi-1.0.5" = {
-      name = "sisteransi";
-      packageName = "sisteransi";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz";
-        sha512 = "bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==";
-      };
-    };
-    "slash-3.0.0" = {
-      name = "slash";
-      packageName = "slash";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz";
-        sha512 = "g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==";
-      };
-    };
-    "slice-ansi-4.0.0" = {
-      name = "slice-ansi";
-      packageName = "slice-ansi";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz";
-        sha512 = "qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==";
-      };
-    };
-    "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.21" = {
-      name = "sockjs";
-      packageName = "sockjs";
-      version = "0.3.21";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz";
-        sha512 = "DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==";
-      };
-    };
-    "sockjs-client-1.5.2" = {
-      name = "sockjs-client";
-      packageName = "sockjs-client";
-      version = "1.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz";
-        sha512 = "ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==";
-      };
-    };
-    "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.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-js-0.6.2" = {
-      name = "source-map-js";
-      packageName = "source-map-js";
-      version = "0.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz";
-        sha512 = "/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==";
-      };
-    };
-    "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.19" = {
-      name = "source-map-support";
-      packageName = "source-map-support";
-      version = "0.5.19";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz";
-        sha512 = "Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==";
-      };
-    };
-    "source-map-url-0.4.1" = {
-      name = "source-map-url";
-      packageName = "source-map-url";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz";
-        sha512 = "cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==";
-      };
-    };
-    "sourcemap-codec-1.4.8" = {
-      name = "sourcemap-codec";
-      packageName = "sourcemap-codec";
-      version = "1.4.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz";
-        sha512 = "9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==";
-      };
-    };
-    "spdx-correct-3.1.1" = {
-      name = "spdx-correct";
-      packageName = "spdx-correct";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz";
-        sha512 = "cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==";
-      };
-    };
-    "spdx-exceptions-2.3.0" = {
-      name = "spdx-exceptions";
-      packageName = "spdx-exceptions";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz";
-        sha512 = "/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==";
-      };
-    };
-    "spdx-expression-parse-3.0.1" = {
-      name = "spdx-expression-parse";
-      packageName = "spdx-expression-parse";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz";
-        sha512 = "cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==";
-      };
-    };
-    "spdx-license-ids-3.0.10" = {
-      name = "spdx-license-ids";
-      packageName = "spdx-license-ids";
-      version = "3.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz";
-        sha512 = "oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==";
-      };
-    };
-    "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";
-      };
-    };
-    "ssri-6.0.2" = {
-      name = "ssri";
-      packageName = "ssri";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz";
-        sha512 = "cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==";
-      };
-    };
-    "ssri-8.0.1" = {
-      name = "ssri";
-      packageName = "ssri";
-      version = "8.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz";
-        sha512 = "97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "stack-utils-2.0.3" = {
-      name = "stack-utils";
-      packageName = "stack-utils";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz";
-        sha512 = "gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==";
-      };
-    };
-    "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";
-      };
-    };
-    "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-length-4.0.2" = {
-      name = "string-length";
-      packageName = "string-length";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz";
-        sha512 = "+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==";
-      };
-    };
-    "string-natural-compare-3.0.1" = {
-      name = "string-natural-compare";
-      packageName = "string-natural-compare";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz";
-        sha512 = "n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==";
-      };
-    };
-    "string-width-3.1.0" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz";
-        sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
-      };
-    };
-    "string-width-4.2.2" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "4.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz";
-        sha512 = "XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==";
-      };
-    };
-    "string.prototype.matchall-4.0.5" = {
-      name = "string.prototype.matchall";
-      packageName = "string.prototype.matchall";
-      version = "4.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz";
-        sha512 = "Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==";
-      };
-    };
-    "string.prototype.trim-1.2.4" = {
-      name = "string.prototype.trim";
-      packageName = "string.prototype.trim";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz";
-        sha512 = "hWCk/iqf7lp0/AgTF7/ddO1IWtSNPASjlzCicV5irAVdE1grjsneK26YG6xACMBEdCvO8fUST0UzDMh/2Qy+9Q==";
-      };
-    };
-    "string.prototype.trimend-1.0.4" = {
-      name = "string.prototype.trimend";
-      packageName = "string.prototype.trimend";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz";
-        sha512 = "y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==";
-      };
-    };
-    "string.prototype.trimstart-1.0.4" = {
-      name = "string.prototype.trimstart";
-      packageName = "string.prototype.trimstart";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz";
-        sha512 = "jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "string_decoder-1.3.0" = {
-      name = "string_decoder";
-      packageName = "string_decoder";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz";
-        sha512 = "hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==";
-      };
-    };
-    "stringify-object-3.3.0" = {
-      name = "stringify-object";
-      packageName = "stringify-object";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz";
-        sha512 = "rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==";
-      };
-    };
-    "strip-ansi-3.0.1" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
-        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
-      };
-    };
-    "strip-ansi-5.2.0" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz";
-        sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
-      };
-    };
-    "strip-ansi-6.0.0" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz";
-        sha512 = "AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==";
-      };
-    };
-    "strip-bom-3.0.0" = {
-      name = "strip-bom";
-      packageName = "strip-bom";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";
-        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
-      };
-    };
-    "strip-bom-4.0.0" = {
-      name = "strip-bom";
-      packageName = "strip-bom";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz";
-        sha512 = "3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==";
-      };
-    };
-    "strip-comments-1.0.2" = {
-      name = "strip-comments";
-      packageName = "strip-comments";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz";
-        sha512 = "kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==";
-      };
-    };
-    "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-json-comments-3.1.1" = {
-      name = "strip-json-comments";
-      packageName = "strip-json-comments";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz";
-        sha512 = "6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==";
-      };
-    };
-    "style-loader-1.3.0" = {
-      name = "style-loader";
-      packageName = "style-loader";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz";
-        sha512 = "V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==";
-      };
-    };
-    "style-mod-4.0.0" = {
-      name = "style-mod";
-      packageName = "style-mod";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz";
-        sha512 = "OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==";
-      };
-    };
-    "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-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.2.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "7.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz";
-        sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==";
-      };
-    };
-    "supports-hyperlinks-2.2.0" = {
-      name = "supports-hyperlinks";
-      packageName = "supports-hyperlinks";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz";
-        sha512 = "6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==";
-      };
-    };
-    "svg-parser-2.0.4" = {
-      name = "svg-parser";
-      packageName = "svg-parser";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz";
-        sha512 = "e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "symbol-tree-3.2.4" = {
-      name = "symbol-tree";
-      packageName = "symbol-tree";
-      version = "3.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz";
-        sha512 = "9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==";
-      };
-    };
-    "table-6.7.1" = {
-      name = "table";
-      packageName = "table";
-      version = "6.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/table/-/table-6.7.1.tgz";
-        sha512 = "ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==";
-      };
-    };
-    "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-6.1.11" = {
-      name = "tar";
-      packageName = "tar";
-      version = "6.1.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz";
-        sha512 = "an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==";
-      };
-    };
-    "temp-dir-1.0.0" = {
-      name = "temp-dir";
-      packageName = "temp-dir";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz";
-        sha1 = "0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d";
-      };
-    };
-    "tempusdominus-bootstrap-4-5.39.0" = {
-      name = "tempusdominus-bootstrap-4";
-      packageName = "tempusdominus-bootstrap-4";
-      version = "5.39.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tempusdominus-bootstrap-4/-/tempusdominus-bootstrap-4-5.39.0.tgz";
-        sha512 = "vYnkmQYQq4+A51WyRc/6e03eM0BHDoPaxd556K1pd4Nhr0eGeB3+Mi9b+3CDx4189fg3gQlrsKzgJiHPRwSX3Q==";
-      };
-    };
-    "tempusdominus-core-5.19.0" = {
-      name = "tempusdominus-core";
-      packageName = "tempusdominus-core";
-      version = "5.19.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tempusdominus-core/-/tempusdominus-core-5.19.0.tgz";
-        sha512 = "7a4oBQw4cjz6C87BLRg3KHVvzpnPlnRTkuDZ7SwcJayQQ4QgOryX5u6wj0q07TXhgtMQLCntZO6nVhHIKPaeUw==";
-      };
-    };
-    "tempy-0.3.0" = {
-      name = "tempy";
-      packageName = "tempy";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz";
-        sha512 = "WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==";
-      };
-    };
-    "terminal-link-2.1.1" = {
-      name = "terminal-link";
-      packageName = "terminal-link";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz";
-        sha512 = "un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==";
-      };
-    };
-    "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-5.7.2" = {
-      name = "terser";
-      packageName = "terser";
-      version = "5.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz";
-        sha512 = "0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==";
-      };
-    };
-    "terser-webpack-plugin-1.4.5" = {
-      name = "terser-webpack-plugin";
-      packageName = "terser-webpack-plugin";
-      version = "1.4.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz";
-        sha512 = "04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==";
-      };
-    };
-    "terser-webpack-plugin-4.2.3" = {
-      name = "terser-webpack-plugin";
-      packageName = "terser-webpack-plugin";
-      version = "4.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz";
-        sha512 = "jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==";
-      };
-    };
-    "test-exclude-6.0.0" = {
-      name = "test-exclude";
-      packageName = "test-exclude";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz";
-        sha512 = "cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==";
-      };
-    };
-    "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";
-      };
-    };
-    "throat-5.0.0" = {
-      name = "throat";
-      packageName = "throat";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz";
-        sha512 = "fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==";
-      };
-    };
-    "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.12" = {
-      name = "timers-browserify";
-      packageName = "timers-browserify";
-      version = "2.0.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz";
-        sha512 = "9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==";
-      };
-    };
-    "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";
-      };
-    };
-    "tiny-invariant-1.1.0" = {
-      name = "tiny-invariant";
-      packageName = "tiny-invariant";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz";
-        sha512 = "ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==";
-      };
-    };
-    "tiny-warning-1.0.3" = {
-      name = "tiny-warning";
-      packageName = "tiny-warning";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz";
-        sha512 = "lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==";
-      };
-    };
-    "tmpl-1.0.5" = {
-      name = "tmpl";
-      packageName = "tmpl";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz";
-        sha512 = "3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "toggle-selection-1.0.6" = {
-      name = "toggle-selection";
-      packageName = "toggle-selection";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz";
-        sha1 = "6e45b1263f2017fa0acc7d89d78b15b8bf77da32";
-      };
-    };
-    "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==";
-      };
-    };
-    "tough-cookie-4.0.0" = {
-      name = "tough-cookie";
-      packageName = "tough-cookie";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz";
-        sha512 = "tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==";
-      };
-    };
-    "tr46-2.1.0" = {
-      name = "tr46";
-      packageName = "tr46";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz";
-        sha512 = "15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==";
-      };
-    };
-    "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-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==";
-      };
-    };
-    "tsconfig-paths-3.11.0" = {
-      name = "tsconfig-paths";
-      packageName = "tsconfig-paths";
-      version = "3.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz";
-        sha512 = "7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==";
-      };
-    };
-    "tslib-1.14.1" = {
-      name = "tslib";
-      packageName = "tslib";
-      version = "1.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz";
-        sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
-      };
-    };
-    "tslib-2.3.1" = {
-      name = "tslib";
-      packageName = "tslib";
-      version = "2.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz";
-        sha512 = "77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==";
-      };
-    };
-    "tsutils-3.21.0" = {
-      name = "tsutils";
-      packageName = "tsutils";
-      version = "3.21.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz";
-        sha512 = "mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==";
-      };
-    };
-    "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";
-      };
-    };
-    "type-1.2.0" = {
-      name = "type";
-      packageName = "type";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type/-/type-1.2.0.tgz";
-        sha512 = "+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==";
-      };
-    };
-    "type-2.5.0" = {
-      name = "type";
-      packageName = "type";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type/-/type-2.5.0.tgz";
-        sha512 = "180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==";
-      };
-    };
-    "type-check-0.3.2" = {
-      name = "type-check";
-      packageName = "type-check";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
-        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
-      };
-    };
-    "type-check-0.4.0" = {
-      name = "type-check";
-      packageName = "type-check";
-      version = "0.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz";
-        sha512 = "XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==";
-      };
-    };
-    "type-detect-4.0.8" = {
-      name = "type-detect";
-      packageName = "type-detect";
-      version = "4.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz";
-        sha512 = "0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==";
-      };
-    };
-    "type-fest-0.20.2" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.20.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz";
-        sha512 = "Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==";
-      };
-    };
-    "type-fest-0.21.3" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.21.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz";
-        sha512 = "t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==";
-      };
-    };
-    "type-fest-0.3.1" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz";
-        sha512 = "cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "typed-styles-0.0.7" = {
-      name = "typed-styles";
-      packageName = "typed-styles";
-      version = "0.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz";
-        sha512 = "pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==";
-      };
-    };
-    "typedarray-0.0.6" = {
-      name = "typedarray";
-      packageName = "typedarray";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
-        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
-      };
-    };
-    "typedarray-to-buffer-3.1.5" = {
-      name = "typedarray-to-buffer";
-      packageName = "typedarray-to-buffer";
-      version = "3.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
-        sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
-      };
-    };
-    "typescript-4.4.2" = {
-      name = "typescript";
-      packageName = "typescript";
-      version = "4.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz";
-        sha512 = "gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==";
-      };
-    };
-    "unbox-primitive-1.0.1" = {
-      name = "unbox-primitive";
-      packageName = "unbox-primitive";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz";
-        sha512 = "tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "unique-string-1.0.0" = {
-      name = "unique-string";
-      packageName = "unique-string";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz";
-        sha1 = "9e1057cca851abb93398f8b33ae187b99caec11a";
-      };
-    };
-    "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==";
-      };
-    };
-    "universalify-2.0.0" = {
-      name = "universalify";
-      packageName = "universalify";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz";
-        sha512 = "hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "uri-js-4.4.1" = {
-      name = "uri-js";
-      packageName = "uri-js";
-      version = "4.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz";
-        sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
-      };
-    };
-    "urix-0.1.0" = {
-      name = "urix";
-      packageName = "urix";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz";
-        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
-      };
-    };
-    "url-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-4.1.1" = {
-      name = "url-loader";
-      packageName = "url-loader";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz";
-        sha512 = "3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==";
-      };
-    };
-    "url-parse-1.5.3" = {
-      name = "url-parse";
-      packageName = "url-parse";
-      version = "1.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz";
-        sha512 = "IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "use-media-1.4.0" = {
-      name = "use-media";
-      packageName = "use-media";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/use-media/-/use-media-1.4.0.tgz";
-        sha512 = "XsgyUAf3nhzZmEfhc5MqLHwyaPjs78bgytpVJ/xDl0TF4Bptf3vEpBNBBT/EIKOmsOc8UbuECq3mrP3mt1QANA==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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.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==";
-      };
-    };
-    "uuid-8.3.2" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "8.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz";
-        sha512 = "+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==";
-      };
-    };
-    "v8-compile-cache-2.3.0" = {
-      name = "v8-compile-cache";
-      packageName = "v8-compile-cache";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz";
-        sha512 = "l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==";
-      };
-    };
-    "v8-to-istanbul-7.1.2" = {
-      name = "v8-to-istanbul";
-      packageName = "v8-to-istanbul";
-      version = "7.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz";
-        sha512 = "TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==";
-      };
-    };
-    "validate-npm-package-license-3.0.4" = {
-      name = "validate-npm-package-license";
-      packageName = "validate-npm-package-license";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
-        sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==";
-      };
-    };
-    "value-equal-1.0.1" = {
-      name = "value-equal";
-      packageName = "value-equal";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz";
-        sha512 = "NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "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==";
-      };
-    };
-    "w3c-hr-time-1.0.2" = {
-      name = "w3c-hr-time";
-      packageName = "w3c-hr-time";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz";
-        sha512 = "z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==";
-      };
-    };
-    "w3c-keyname-2.2.4" = {
-      name = "w3c-keyname";
-      packageName = "w3c-keyname";
-      version = "2.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz";
-        sha512 = "tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==";
-      };
-    };
-    "w3c-xmlserializer-2.0.0" = {
-      name = "w3c-xmlserializer";
-      packageName = "w3c-xmlserializer";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz";
-        sha512 = "4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==";
-      };
-    };
-    "walker-1.0.7" = {
-      name = "walker";
-      packageName = "walker";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz";
-        sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb";
-      };
-    };
-    "warning-4.0.3" = {
-      name = "warning";
-      packageName = "warning";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz";
-        sha512 = "rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==";
-      };
-    };
-    "watchpack-1.7.5" = {
-      name = "watchpack";
-      packageName = "watchpack";
-      version = "1.7.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz";
-        sha512 = "9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==";
-      };
-    };
-    "watchpack-chokidar2-2.0.1" = {
-      name = "watchpack-chokidar2";
-      packageName = "watchpack-chokidar2";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz";
-        sha512 = "nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==";
-      };
-    };
-    "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==";
-      };
-    };
-    "webidl-conversions-5.0.0" = {
-      name = "webidl-conversions";
-      packageName = "webidl-conversions";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz";
-        sha512 = "VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==";
-      };
-    };
-    "webidl-conversions-6.1.0" = {
-      name = "webidl-conversions";
-      packageName = "webidl-conversions";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz";
-        sha512 = "qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==";
-      };
-    };
-    "webpack-4.44.2" = {
-      name = "webpack";
-      packageName = "webpack";
-      version = "4.44.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz";
-        sha512 = "6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==";
-      };
-    };
-    "webpack-dev-middleware-3.7.3" = {
-      name = "webpack-dev-middleware";
-      packageName = "webpack-dev-middleware";
-      version = "3.7.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz";
-        sha512 = "djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==";
-      };
-    };
-    "webpack-dev-server-3.11.1" = {
-      name = "webpack-dev-server";
-      packageName = "webpack-dev-server";
-      version = "3.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz";
-        sha512 = "u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==";
-      };
-    };
-    "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-manifest-plugin-2.2.0" = {
-      name = "webpack-manifest-plugin";
-      packageName = "webpack-manifest-plugin";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz";
-        sha512 = "9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==";
-      };
-    };
-    "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.7.4" = {
-      name = "websocket-driver";
-      packageName = "websocket-driver";
-      version = "0.7.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz";
-        sha512 = "b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==";
-      };
-    };
-    "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==";
-      };
-    };
-    "whatwg-encoding-1.0.5" = {
-      name = "whatwg-encoding";
-      packageName = "whatwg-encoding";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz";
-        sha512 = "b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==";
-      };
-    };
-    "whatwg-fetch-3.6.2" = {
-      name = "whatwg-fetch";
-      packageName = "whatwg-fetch";
-      version = "3.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz";
-        sha512 = "bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==";
-      };
-    };
-    "whatwg-mimetype-2.3.0" = {
-      name = "whatwg-mimetype";
-      packageName = "whatwg-mimetype";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz";
-        sha512 = "M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==";
-      };
-    };
-    "whatwg-url-8.7.0" = {
-      name = "whatwg-url";
-      packageName = "whatwg-url";
-      version = "8.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz";
-        sha512 = "gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==";
-      };
-    };
-    "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-boxed-primitive-1.0.2" = {
-      name = "which-boxed-primitive";
-      packageName = "which-boxed-primitive";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz";
-        sha512 = "bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==";
-      };
-    };
-    "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";
-      };
-    };
-    "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==";
-      };
-    };
-    "workbox-background-sync-5.1.4" = {
-      name = "workbox-background-sync";
-      packageName = "workbox-background-sync";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-5.1.4.tgz";
-        sha512 = "AH6x5pYq4vwQvfRDWH+vfOePfPIYQ00nCEB7dJRU1e0n9+9HMRyvI63FlDvtFT2AvXVRsXvUt7DNMEToyJLpSA==";
-      };
-    };
-    "workbox-broadcast-update-5.1.4" = {
-      name = "workbox-broadcast-update";
-      packageName = "workbox-broadcast-update";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-5.1.4.tgz";
-        sha512 = "HTyTWkqXvHRuqY73XrwvXPud/FN6x3ROzkfFPsRjtw/kGZuZkPzfeH531qdUGfhtwjmtO/ZzXcWErqVzJNdXaA==";
-      };
-    };
-    "workbox-build-5.1.4" = {
-      name = "workbox-build";
-      packageName = "workbox-build";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-build/-/workbox-build-5.1.4.tgz";
-        sha512 = "xUcZn6SYU8usjOlfLb9Y2/f86Gdo+fy1fXgH8tJHjxgpo53VVsqRX0lUDw8/JuyzNmXuo8vXX14pXX2oIm9Bow==";
-      };
-    };
-    "workbox-cacheable-response-5.1.4" = {
-      name = "workbox-cacheable-response";
-      packageName = "workbox-cacheable-response";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-5.1.4.tgz";
-        sha512 = "0bfvMZs0Of1S5cdswfQK0BXt6ulU5kVD4lwer2CeI+03czHprXR3V4Y8lPTooamn7eHP8Iywi5QjyAMjw0qauA==";
-      };
-    };
-    "workbox-core-5.1.4" = {
-      name = "workbox-core";
-      packageName = "workbox-core";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz";
-        sha512 = "+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==";
-      };
-    };
-    "workbox-expiration-5.1.4" = {
-      name = "workbox-expiration";
-      packageName = "workbox-expiration";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-5.1.4.tgz";
-        sha512 = "oDO/5iC65h2Eq7jctAv858W2+CeRW5e0jZBMNRXpzp0ZPvuT6GblUiHnAsC5W5lANs1QS9atVOm4ifrBiYY7AQ==";
-      };
-    };
-    "workbox-google-analytics-5.1.4" = {
-      name = "workbox-google-analytics";
-      packageName = "workbox-google-analytics";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-5.1.4.tgz";
-        sha512 = "0IFhKoEVrreHpKgcOoddV+oIaVXBFKXUzJVBI+nb0bxmcwYuZMdteBTp8AEDJacENtc9xbR0wa9RDCnYsCDLjA==";
-      };
-    };
-    "workbox-navigation-preload-5.1.4" = {
-      name = "workbox-navigation-preload";
-      packageName = "workbox-navigation-preload";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-5.1.4.tgz";
-        sha512 = "Wf03osvK0wTflAfKXba//QmWC5BIaIZARU03JIhAEO2wSB2BDROWI8Q/zmianf54kdV7e1eLaIEZhth4K4MyfQ==";
-      };
-    };
-    "workbox-precaching-5.1.4" = {
-      name = "workbox-precaching";
-      packageName = "workbox-precaching";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-5.1.4.tgz";
-        sha512 = "gCIFrBXmVQLFwvAzuGLCmkUYGVhBb7D1k/IL7pUJUO5xacjLcFUaLnnsoVepBGAiKw34HU1y/YuqvTKim9qAZA==";
-      };
-    };
-    "workbox-range-requests-5.1.4" = {
-      name = "workbox-range-requests";
-      packageName = "workbox-range-requests";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-5.1.4.tgz";
-        sha512 = "1HSujLjgTeoxHrMR2muDW2dKdxqCGMc1KbeyGcmjZZAizJTFwu7CWLDmLv6O1ceWYrhfuLFJO+umYMddk2XMhw==";
-      };
-    };
-    "workbox-routing-5.1.4" = {
-      name = "workbox-routing";
-      packageName = "workbox-routing";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-routing/-/workbox-routing-5.1.4.tgz";
-        sha512 = "8ljknRfqE1vEQtnMtzfksL+UXO822jJlHTIR7+BtJuxQ17+WPZfsHqvk1ynR/v0EHik4x2+826Hkwpgh4GKDCw==";
-      };
-    };
-    "workbox-strategies-5.1.4" = {
-      name = "workbox-strategies";
-      packageName = "workbox-strategies";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-5.1.4.tgz";
-        sha512 = "VVS57LpaJTdjW3RgZvPwX0NlhNmscR7OQ9bP+N/34cYMDzXLyA6kqWffP6QKXSkca1OFo/v6v7hW7zrrguo6EA==";
-      };
-    };
-    "workbox-streams-5.1.4" = {
-      name = "workbox-streams";
-      packageName = "workbox-streams";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-streams/-/workbox-streams-5.1.4.tgz";
-        sha512 = "xU8yuF1hI/XcVhJUAfbQLa1guQUhdLMPQJkdT0kn6HP5CwiPOGiXnSFq80rAG4b1kJUChQQIGPrq439FQUNVrw==";
-      };
-    };
-    "workbox-sw-5.1.4" = {
-      name = "workbox-sw";
-      packageName = "workbox-sw";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-sw/-/workbox-sw-5.1.4.tgz";
-        sha512 = "9xKnKw95aXwSNc8kk8gki4HU0g0W6KXu+xks7wFuC7h0sembFnTrKtckqZxbSod41TDaGh+gWUA5IRXrL0ECRA==";
-      };
-    };
-    "workbox-webpack-plugin-5.1.4" = {
-      name = "workbox-webpack-plugin";
-      packageName = "workbox-webpack-plugin";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-5.1.4.tgz";
-        sha512 = "PZafF4HpugZndqISi3rZ4ZK4A4DxO8rAqt2FwRptgsDx7NF8TVKP86/huHquUsRjMGQllsNdn4FNl8CD/UvKmQ==";
-      };
-    };
-    "workbox-window-5.1.4" = {
-      name = "workbox-window";
-      packageName = "workbox-window";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workbox-window/-/workbox-window-5.1.4.tgz";
-        sha512 = "vXQtgTeMCUq/4pBWMfQX8Ee7N2wVC4Q7XYFqLnfbXJ2hqew/cU1uMTD2KqGEgEpE4/30luxIxgE+LkIa8glBYw==";
-      };
-    };
-    "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-file-atomic-3.0.3" = {
-      name = "write-file-atomic";
-      packageName = "write-file-atomic";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz";
-        sha512 = "AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==";
-      };
-    };
-    "ws-6.2.2" = {
-      name = "ws";
-      packageName = "ws";
-      version = "6.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz";
-        sha512 = "zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==";
-      };
-    };
-    "ws-7.5.4" = {
-      name = "ws";
-      packageName = "ws";
-      version = "7.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz";
-        sha512 = "zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==";
-      };
-    };
-    "xml-name-validator-3.0.0" = {
-      name = "xml-name-validator";
-      packageName = "xml-name-validator";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz";
-        sha512 = "A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==";
-      };
-    };
-    "xmlchars-2.2.0" = {
-      name = "xmlchars";
-      packageName = "xmlchars";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz";
-        sha512 = "JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==";
-      };
-    };
-    "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.3" = {
-      name = "y18n";
-      packageName = "y18n";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz";
-        sha512 = "JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==";
-      };
-    };
-    "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==";
-      };
-    };
-    "yaml-1.10.2" = {
-      name = "yaml";
-      packageName = "yaml";
-      version = "1.10.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz";
-        sha512 = "r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==";
-      };
-    };
-    "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.4.1" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "15.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz";
-        sha512 = "aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==";
-      };
-    };
-    "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==";
-      };
-    };
-    "yocto-queue-0.1.0" = {
-      name = "yocto-queue";
-      packageName = "yocto-queue";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz";
-        sha512 = "rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==";
-      };
-    };
-  };
-  args = {
-    name = "graph";
-    packageName = "graph";
-    version = "0.1.0";
-    src = ./.;
-    dependencies = [
-      sources."@babel/code-frame-7.14.5"
-      sources."@babel/compat-data-7.15.0"
-      (sources."@babel/core-7.15.5" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@babel/generator-7.15.4"
-      sources."@babel/helper-annotate-as-pure-7.15.4"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.15.4"
-      (sources."@babel/helper-compilation-targets-7.15.4" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@babel/helper-create-class-features-plugin-7.15.4"
-      sources."@babel/helper-create-regexp-features-plugin-7.14.5"
-      (sources."@babel/helper-define-polyfill-provider-0.2.3" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@babel/helper-explode-assignable-expression-7.15.4"
-      sources."@babel/helper-function-name-7.15.4"
-      sources."@babel/helper-get-function-arity-7.15.4"
-      sources."@babel/helper-hoist-variables-7.15.4"
-      sources."@babel/helper-member-expression-to-functions-7.15.4"
-      sources."@babel/helper-module-imports-7.15.4"
-      sources."@babel/helper-module-transforms-7.15.4"
-      sources."@babel/helper-optimise-call-expression-7.15.4"
-      sources."@babel/helper-plugin-utils-7.14.5"
-      sources."@babel/helper-remap-async-to-generator-7.15.4"
-      sources."@babel/helper-replace-supers-7.15.4"
-      sources."@babel/helper-simple-access-7.15.4"
-      sources."@babel/helper-skip-transparent-expression-wrappers-7.15.4"
-      sources."@babel/helper-split-export-declaration-7.15.4"
-      sources."@babel/helper-validator-identifier-7.14.9"
-      sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helper-wrap-function-7.15.4"
-      sources."@babel/helpers-7.15.4"
-      sources."@babel/highlight-7.14.5"
-      sources."@babel/parser-7.15.5"
-      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4"
-      sources."@babel/plugin-proposal-async-generator-functions-7.15.4"
-      sources."@babel/plugin-proposal-class-properties-7.14.5"
-      sources."@babel/plugin-proposal-class-static-block-7.15.4"
-      sources."@babel/plugin-proposal-decorators-7.12.1"
-      sources."@babel/plugin-proposal-dynamic-import-7.14.5"
-      sources."@babel/plugin-proposal-export-namespace-from-7.14.5"
-      sources."@babel/plugin-proposal-json-strings-7.14.5"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.14.5"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.14.5"
-      sources."@babel/plugin-proposal-numeric-separator-7.14.5"
-      sources."@babel/plugin-proposal-object-rest-spread-7.14.7"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.14.5"
-      sources."@babel/plugin-proposal-optional-chaining-7.14.5"
-      sources."@babel/plugin-proposal-private-methods-7.14.5"
-      sources."@babel/plugin-proposal-private-property-in-object-7.15.4"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.14.5"
-      sources."@babel/plugin-syntax-async-generators-7.8.4"
-      sources."@babel/plugin-syntax-bigint-7.8.3"
-      sources."@babel/plugin-syntax-class-properties-7.12.13"
-      sources."@babel/plugin-syntax-class-static-block-7.14.5"
-      sources."@babel/plugin-syntax-decorators-7.14.5"
-      sources."@babel/plugin-syntax-dynamic-import-7.8.3"
-      sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
-      sources."@babel/plugin-syntax-flow-7.14.5"
-      sources."@babel/plugin-syntax-import-meta-7.10.4"
-      sources."@babel/plugin-syntax-json-strings-7.8.3"
-      sources."@babel/plugin-syntax-jsx-7.14.5"
-      sources."@babel/plugin-syntax-logical-assignment-operators-7.10.4"
-      sources."@babel/plugin-syntax-nullish-coalescing-operator-7.8.3"
-      sources."@babel/plugin-syntax-numeric-separator-7.10.4"
-      sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-      sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
-      sources."@babel/plugin-syntax-optional-chaining-7.8.3"
-      sources."@babel/plugin-syntax-private-property-in-object-7.14.5"
-      sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-syntax-typescript-7.14.5"
-      sources."@babel/plugin-transform-arrow-functions-7.14.5"
-      sources."@babel/plugin-transform-async-to-generator-7.14.5"
-      sources."@babel/plugin-transform-block-scoped-functions-7.14.5"
-      sources."@babel/plugin-transform-block-scoping-7.15.3"
-      sources."@babel/plugin-transform-classes-7.15.4"
-      sources."@babel/plugin-transform-computed-properties-7.14.5"
-      sources."@babel/plugin-transform-destructuring-7.14.7"
-      sources."@babel/plugin-transform-dotall-regex-7.14.5"
-      sources."@babel/plugin-transform-duplicate-keys-7.14.5"
-      sources."@babel/plugin-transform-exponentiation-operator-7.14.5"
-      sources."@babel/plugin-transform-flow-strip-types-7.12.1"
-      sources."@babel/plugin-transform-for-of-7.15.4"
-      sources."@babel/plugin-transform-function-name-7.14.5"
-      sources."@babel/plugin-transform-literals-7.14.5"
-      sources."@babel/plugin-transform-member-expression-literals-7.14.5"
-      sources."@babel/plugin-transform-modules-amd-7.14.5"
-      sources."@babel/plugin-transform-modules-commonjs-7.15.4"
-      sources."@babel/plugin-transform-modules-systemjs-7.15.4"
-      sources."@babel/plugin-transform-modules-umd-7.14.5"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.14.9"
-      sources."@babel/plugin-transform-new-target-7.14.5"
-      sources."@babel/plugin-transform-object-super-7.14.5"
-      sources."@babel/plugin-transform-parameters-7.15.4"
-      sources."@babel/plugin-transform-property-literals-7.14.5"
-      sources."@babel/plugin-transform-react-constant-elements-7.14.5"
-      sources."@babel/plugin-transform-react-display-name-7.15.1"
-      sources."@babel/plugin-transform-react-jsx-7.14.9"
-      sources."@babel/plugin-transform-react-jsx-development-7.14.5"
-      sources."@babel/plugin-transform-react-pure-annotations-7.14.5"
-      sources."@babel/plugin-transform-regenerator-7.14.5"
-      sources."@babel/plugin-transform-reserved-words-7.14.5"
-      (sources."@babel/plugin-transform-runtime-7.12.1" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."@babel/plugin-transform-shorthand-properties-7.14.5"
-      sources."@babel/plugin-transform-spread-7.14.6"
-      sources."@babel/plugin-transform-sticky-regex-7.14.5"
-      sources."@babel/plugin-transform-template-literals-7.14.5"
-      sources."@babel/plugin-transform-typeof-symbol-7.14.5"
-      sources."@babel/plugin-transform-typescript-7.15.4"
-      sources."@babel/plugin-transform-unicode-escapes-7.14.5"
-      sources."@babel/plugin-transform-unicode-regex-7.14.5"
-      (sources."@babel/preset-env-7.15.4" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@babel/preset-modules-0.1.4"
-      sources."@babel/preset-react-7.14.5"
-      sources."@babel/preset-typescript-7.12.1"
-      sources."@babel/runtime-7.15.4"
-      sources."@babel/runtime-corejs3-7.15.4"
-      sources."@babel/template-7.15.4"
-      sources."@babel/traverse-7.15.4"
-      sources."@babel/types-7.15.4"
-      sources."@bcoe/v8-coverage-0.2.3"
-      sources."@cnakazawa/watch-1.0.4"
-      sources."@codemirror/autocomplete-0.18.8"
-      sources."@codemirror/closebrackets-0.18.0"
-      sources."@codemirror/commands-0.18.3"
-      sources."@codemirror/comment-0.18.1"
-      sources."@codemirror/highlight-0.18.4"
-      sources."@codemirror/history-0.18.1"
-      sources."@codemirror/language-0.18.2"
-      sources."@codemirror/lint-0.18.6"
-      sources."@codemirror/matchbrackets-0.18.0"
-      sources."@codemirror/panel-0.18.2"
-      sources."@codemirror/rangeset-0.18.5"
-      sources."@codemirror/search-0.18.4"
-      sources."@codemirror/state-0.18.7"
-      sources."@codemirror/text-0.18.1"
-      sources."@codemirror/tooltip-0.18.4"
-      sources."@codemirror/view-0.18.19"
-      sources."@csstools/convert-colors-1.4.0"
-      sources."@csstools/normalize.css-10.1.0"
-      (sources."@eslint/eslintrc-0.4.3" // {
-        dependencies = [
-          sources."globals-13.11.0"
-          sources."type-fest-0.20.2"
-        ];
-      })
-      sources."@forevolve/bootstrap-dark-1.1.0"
-      sources."@fortawesome/fontawesome-common-types-0.2.36"
-      sources."@fortawesome/fontawesome-svg-core-1.2.36"
-      sources."@fortawesome/free-solid-svg-icons-5.15.4"
-      sources."@fortawesome/react-fontawesome-0.1.15"
-      sources."@gar/promisify-1.1.2"
-      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."@humanwhocodes/config-array-0.5.0"
-      sources."@humanwhocodes/object-schema-1.2.0"
-      (sources."@istanbuljs/load-nyc-config-1.1.0" // {
-        dependencies = [
-          sources."camelcase-5.3.1"
-          sources."find-up-4.1.0"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."path-exists-4.0.0"
-          sources."resolve-from-5.0.0"
-        ];
-      })
-      sources."@istanbuljs/schema-0.1.3"
-      (sources."@jest/console-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."@jest/core-26.6.3" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."find-up-4.1.0"
-          sources."has-flag-4.0.0"
-          sources."jest-config-26.6.3"
-          sources."jest-get-type-26.3.0"
-          sources."jest-resolve-26.6.2"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."path-exists-4.0.0"
-          sources."pretty-format-26.6.2"
-          sources."react-is-17.0.2"
-          (sources."read-pkg-5.2.0" // {
-            dependencies = [
-              sources."type-fest-0.6.0"
-            ];
-          })
-          sources."read-pkg-up-7.0.1"
-          sources."supports-color-7.2.0"
-          sources."type-fest-0.8.1"
-        ];
-      })
-      (sources."@jest/environment-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."@jest/fake-timers-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."@jest/globals-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."@jest/reporters-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."find-up-4.1.0"
-          sources."has-flag-4.0.0"
-          sources."jest-resolve-26.6.2"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."path-exists-4.0.0"
-          (sources."read-pkg-5.2.0" // {
-            dependencies = [
-              sources."type-fest-0.6.0"
-            ];
-          })
-          sources."read-pkg-up-7.0.1"
-          sources."source-map-0.6.1"
-          sources."supports-color-7.2.0"
-          sources."type-fest-0.8.1"
-        ];
-      })
-      (sources."@jest/source-map-26.6.2" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      (sources."@jest/test-result-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."@jest/test-sequencer-26.6.3"
-      (sources."@jest/transform-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."source-map-0.6.1"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."@jest/types-27.1.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."@nexucis/fuzzy-0.3.0"
-      sources."@nodelib/fs.scandir-2.1.5"
-      sources."@nodelib/fs.stat-2.0.5"
-      sources."@nodelib/fs.walk-1.2.8"
-      sources."@npmcli/fs-1.0.0"
-      (sources."@npmcli/move-file-1.1.2" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-        ];
-      })
-      (sources."@pmmmwh/react-refresh-webpack-plugin-0.4.3" // {
-        dependencies = [
-          sources."source-map-0.7.3"
-        ];
-      })
-      sources."@rollup/plugin-node-resolve-7.1.3"
-      sources."@rollup/plugin-replace-2.4.2"
-      (sources."@rollup/pluginutils-3.1.0" // {
-        dependencies = [
-          sources."@types/estree-0.0.39"
-        ];
-      })
-      sources."@sinonjs/commons-1.8.3"
-      sources."@sinonjs/fake-timers-6.0.1"
-      sources."@sinonjs/samsam-5.3.1"
-      sources."@sinonjs/text-encoding-0.7.1"
-      sources."@surma/rollup-plugin-off-main-thread-1.4.2"
-      sources."@svgr/babel-plugin-add-jsx-attribute-5.4.0"
-      sources."@svgr/babel-plugin-remove-jsx-attribute-5.4.0"
-      sources."@svgr/babel-plugin-remove-jsx-empty-expression-5.0.1"
-      sources."@svgr/babel-plugin-replace-jsx-attribute-value-5.0.1"
-      sources."@svgr/babel-plugin-svg-dynamic-title-5.4.0"
-      sources."@svgr/babel-plugin-svg-em-dimensions-5.4.0"
-      sources."@svgr/babel-plugin-transform-react-native-svg-5.4.0"
-      sources."@svgr/babel-plugin-transform-svg-component-5.5.0"
-      sources."@svgr/babel-preset-5.5.0"
-      sources."@svgr/core-5.5.0"
-      sources."@svgr/hast-util-to-babel-ast-5.5.0"
-      sources."@svgr/plugin-jsx-5.5.0"
-      sources."@svgr/plugin-svgo-5.5.0"
-      sources."@svgr/webpack-5.5.0"
-      sources."@testing-library/react-hooks-3.7.0"
-      sources."@tootallnate/once-1.1.2"
-      sources."@types/babel__core-7.1.16"
-      sources."@types/babel__generator-7.6.3"
-      sources."@types/babel__template-7.4.1"
-      sources."@types/babel__traverse-7.14.2"
-      sources."@types/cheerio-0.22.30"
-      sources."@types/enzyme-3.10.9"
-      sources."@types/enzyme-adapter-react-16-1.0.6"
-      sources."@types/eslint-7.28.0"
-      sources."@types/estree-0.0.50"
-      sources."@types/flot-0.0.32"
-      sources."@types/glob-7.1.4"
-      sources."@types/graceful-fs-4.1.5"
-      sources."@types/history-4.7.9"
-      sources."@types/html-minifier-terser-5.1.2"
-      sources."@types/istanbul-lib-coverage-2.0.3"
-      sources."@types/istanbul-lib-report-3.0.0"
-      sources."@types/istanbul-reports-3.0.1"
-      sources."@types/jest-27.0.1"
-      sources."@types/jquery-3.5.6"
-      sources."@types/json-schema-7.0.9"
-      sources."@types/json5-0.0.29"
-      sources."@types/minimatch-3.0.5"
-      sources."@types/moment-timezone-0.5.30"
-      sources."@types/node-12.20.24"
-      sources."@types/normalize-package-data-2.4.1"
-      sources."@types/parse-json-4.0.0"
-      sources."@types/prettier-2.3.2"
-      sources."@types/prop-types-15.7.4"
-      sources."@types/q-1.5.5"
-      sources."@types/react-16.14.15"
-      sources."@types/react-copy-to-clipboard-5.0.1"
-      sources."@types/react-dom-16.9.14"
-      sources."@types/react-resize-detector-5.0.0"
-      sources."@types/react-router-5.1.16"
-      sources."@types/react-router-dom-5.1.8"
-      sources."@types/react-test-renderer-17.0.1"
-      sources."@types/reactstrap-8.7.2"
-      sources."@types/resolve-0.0.8"
-      sources."@types/sanitize-html-1.27.2"
-      sources."@types/scheduler-0.16.2"
-      sources."@types/sinon-9.0.11"
-      sources."@types/sinonjs__fake-timers-6.0.3"
-      sources."@types/sizzle-2.3.3"
-      sources."@types/source-list-map-0.1.2"
-      sources."@types/stack-utils-2.0.1"
-      sources."@types/tapable-1.0.8"
-      sources."@types/testing-library__react-hooks-3.4.1"
-      (sources."@types/uglify-js-3.13.1" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      (sources."@types/webpack-4.41.30" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      (sources."@types/webpack-sources-3.2.0" // {
-        dependencies = [
-          sources."source-map-0.7.3"
-        ];
-      })
-      sources."@types/yargs-16.0.4"
-      sources."@types/yargs-parser-20.2.1"
-      sources."@typescript-eslint/eslint-plugin-4.31.0"
-      sources."@typescript-eslint/experimental-utils-4.31.0"
-      sources."@typescript-eslint/parser-4.31.0"
-      sources."@typescript-eslint/scope-manager-4.31.0"
-      sources."@typescript-eslint/types-4.31.0"
-      sources."@typescript-eslint/typescript-estree-4.31.0"
-      sources."@typescript-eslint/visitor-keys-4.31.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."abab-2.0.5"
-      sources."accepts-1.3.7"
-      sources."acorn-7.4.1"
-      sources."acorn-globals-6.0.0"
-      sources."acorn-jsx-5.3.2"
-      sources."acorn-walk-7.2.0"
-      sources."address-1.1.2"
-      sources."adjust-sourcemap-loader-3.0.0"
-      sources."agent-base-6.0.2"
-      sources."aggregate-error-3.1.0"
-      sources."airbnb-prop-types-2.16.0"
-      sources."ajv-6.12.6"
-      sources."ajv-errors-1.0.1"
-      sources."ajv-keywords-3.5.2"
-      sources."alphanum-sort-1.0.2"
-      sources."ansi-colors-4.1.1"
-      sources."ansi-escapes-4.3.2"
-      sources."ansi-html-0.0.7"
-      sources."ansi-regex-5.0.0"
-      sources."ansi-styles-3.2.1"
-      sources."anymatch-3.1.2"
-      sources."aproba-1.2.0"
-      sources."argparse-1.0.10"
-      sources."aria-query-4.2.2"
-      sources."arity-n-1.0.4"
-      sources."arr-diff-4.0.0"
-      sources."arr-flatten-1.1.0"
-      sources."arr-union-3.1.0"
-      sources."array-flatten-2.1.2"
-      sources."array-includes-3.1.3"
-      sources."array-union-2.1.0"
-      sources."array-uniq-1.0.3"
-      sources."array-unique-0.3.2"
-      sources."array.prototype.filter-1.0.0"
-      sources."array.prototype.find-2.1.1"
-      sources."array.prototype.flat-1.2.4"
-      sources."array.prototype.flatmap-1.2.4"
-      sources."arrify-2.0.1"
-      sources."asap-2.0.6"
-      (sources."asn1.js-5.4.1" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      (sources."assert-1.5.0" // {
-        dependencies = [
-          sources."inherits-2.0.1"
-          sources."util-0.10.3"
-        ];
-      })
-      sources."assign-symbols-1.0.0"
-      sources."ast-types-flow-0.0.7"
-      sources."astral-regex-2.0.0"
-      sources."async-2.6.3"
-      sources."async-each-1.0.3"
-      sources."async-limiter-1.0.1"
-      sources."asynckit-0.4.0"
-      sources."at-least-node-1.0.0"
-      sources."atob-2.1.2"
-      sources."autoprefixer-9.8.6"
-      sources."axe-core-4.3.3"
-      sources."axobject-query-2.2.0"
-      (sources."babel-eslint-10.1.0" // {
-        dependencies = [
-          sources."eslint-visitor-keys-1.3.0"
-        ];
-      })
-      sources."babel-extract-comments-1.0.0"
-      (sources."babel-jest-26.6.3" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."babel-loader-8.1.0" // {
-        dependencies = [
-          sources."json5-1.0.1"
-          sources."loader-utils-1.4.0"
-        ];
-      })
-      sources."babel-plugin-dynamic-import-node-2.3.3"
-      sources."babel-plugin-istanbul-6.0.0"
-      sources."babel-plugin-jest-hoist-26.6.2"
-      (sources."babel-plugin-macros-2.8.0" // {
-        dependencies = [
-          sources."cosmiconfig-6.0.0"
-        ];
-      })
-      sources."babel-plugin-named-asset-import-0.3.7"
-      (sources."babel-plugin-polyfill-corejs2-0.2.2" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."babel-plugin-polyfill-corejs3-0.2.4"
-      sources."babel-plugin-polyfill-regenerator-0.2.2"
-      sources."babel-plugin-syntax-object-rest-spread-6.13.0"
-      sources."babel-plugin-transform-object-rest-spread-6.26.0"
-      sources."babel-plugin-transform-react-remove-prop-types-0.4.24"
-      sources."babel-preset-current-node-syntax-1.0.1"
-      sources."babel-preset-jest-26.6.2"
-      (sources."babel-preset-react-app-10.0.0" // {
-        dependencies = [
-          sources."@babel/core-7.12.3"
-          sources."@babel/plugin-proposal-class-properties-7.12.1"
-          sources."@babel/plugin-proposal-nullish-coalescing-operator-7.12.1"
-          sources."@babel/plugin-proposal-numeric-separator-7.12.1"
-          sources."@babel/plugin-proposal-optional-chaining-7.12.1"
-          sources."@babel/plugin-transform-react-display-name-7.12.1"
-          sources."@babel/preset-env-7.12.1"
-          (sources."@babel/preset-react-7.12.1" // {
-            dependencies = [
-              sources."@babel/plugin-transform-react-jsx-self-7.14.9"
-              sources."@babel/plugin-transform-react-jsx-source-7.14.5"
-            ];
-          })
-          sources."@babel/runtime-7.12.1"
-          sources."semver-5.7.1"
-        ];
-      })
-      (sources."babel-runtime-6.26.0" // {
-        dependencies = [
-          sources."core-js-2.6.12"
-          sources."regenerator-runtime-0.11.1"
-        ];
-      })
-      sources."babylon-6.18.0"
-      sources."balanced-match-1.0.2"
-      (sources."base-0.11.2" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
-      sources."base64-js-1.5.1"
-      sources."batch-0.6.1"
-      sources."bfj-7.0.2"
-      sources."big.js-5.2.2"
-      sources."binary-extensions-2.2.0"
-      sources."bindings-1.5.0"
-      sources."bluebird-3.7.2"
-      sources."bn.js-5.2.0"
-      (sources."body-parser-1.19.0" // {
-        dependencies = [
-          sources."bytes-3.1.0"
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."bonjour-3.5.0"
-      sources."boolbase-1.0.0"
-      sources."bootstrap-4.6.0"
-      sources."brace-expansion-1.1.11"
-      sources."braces-3.0.2"
-      sources."brorand-1.1.0"
-      sources."browser-process-hrtime-1.0.0"
-      sources."browserify-aes-1.2.0"
-      sources."browserify-cipher-1.0.1"
-      sources."browserify-des-1.0.2"
-      sources."browserify-rsa-4.1.0"
-      (sources."browserify-sign-4.2.1" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-          sources."safe-buffer-5.2.1"
-        ];
-      })
-      sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.17.0"
-      sources."bser-2.1.1"
-      (sources."buffer-4.9.2" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-        ];
-      })
-      sources."buffer-from-1.1.2"
-      sources."buffer-indexof-1.1.1"
-      sources."buffer-xor-1.0.3"
-      sources."builtin-modules-3.2.0"
-      sources."builtin-status-codes-3.0.0"
-      sources."bytes-3.0.0"
-      (sources."cacache-15.3.0" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-        ];
-      })
-      sources."cache-base-1.0.1"
-      sources."call-bind-1.0.2"
-      (sources."caller-callsite-2.0.0" // {
-        dependencies = [
-          sources."callsites-2.0.0"
-        ];
-      })
-      sources."caller-path-2.0.0"
-      sources."callsites-3.1.0"
-      sources."camel-case-4.1.2"
-      sources."camelcase-6.2.0"
-      sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001255"
-      sources."capture-exit-2.0.0"
-      sources."case-sensitive-paths-webpack-plugin-2.3.0"
-      sources."chalk-2.4.2"
-      sources."char-regex-1.0.2"
-      sources."check-types-11.1.2"
-      (sources."cheerio-1.0.0-rc.10" // {
-        dependencies = [
-          sources."htmlparser2-6.1.0"
-        ];
-      })
-      sources."cheerio-select-1.5.0"
-      sources."chokidar-3.5.2"
-      sources."chownr-2.0.0"
-      sources."chrome-trace-event-1.0.3"
-      sources."ci-info-2.0.0"
-      sources."cipher-base-1.0.4"
-      sources."cjs-module-lexer-0.6.0"
-      (sources."class-utils-0.3.6" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      sources."classnames-2.3.1"
-      (sources."clean-css-4.2.3" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."clean-stack-2.2.0"
-      sources."cliui-6.0.0"
-      sources."co-4.6.0"
-      sources."coa-2.0.2"
-      sources."codemirror-promql-0.17.0"
-      sources."collect-v8-coverage-1.0.1"
-      sources."collection-visit-1.0.0"
-      sources."color-3.2.1"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."color-string-1.6.0"
-      sources."colorette-1.3.0"
-      sources."combined-stream-1.0.8"
-      sources."commander-4.1.1"
-      sources."common-tags-1.8.0"
-      sources."commondir-1.0.1"
-      sources."component-emitter-1.3.0"
-      sources."compose-function-3.0.3"
-      sources."compressible-2.0.18"
-      (sources."compression-1.7.4" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."compute-scroll-into-view-1.0.17"
-      sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.2"
-      sources."confusing-browser-globals-1.0.10"
-      sources."connect-history-api-fallback-1.6.0"
-      sources."console-browserify-1.2.0"
-      sources."constants-browserify-1.0.0"
-      sources."content-disposition-0.5.3"
-      sources."content-type-1.0.4"
-      sources."convert-source-map-1.8.0"
-      sources."cookie-0.4.0"
-      sources."cookie-signature-1.0.6"
-      (sources."copy-concurrently-1.0.5" // {
-        dependencies = [
-          sources."rimraf-2.7.1"
-        ];
-      })
-      sources."copy-descriptor-0.1.1"
-      sources."copy-to-clipboard-3.3.1"
-      sources."core-js-3.17.2"
-      (sources."core-js-compat-3.17.2" // {
-        dependencies = [
-          sources."semver-7.0.0"
-        ];
-      })
-      sources."core-js-pure-3.17.2"
-      sources."core-util-is-1.0.3"
-      sources."cosmiconfig-7.0.1"
-      (sources."create-ecdh-4.0.4" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."create-hash-1.2.0"
-      sources."create-hmac-1.1.7"
-      sources."crelt-1.0.5"
-      sources."cross-fetch-3.1.4"
-      sources."cross-spawn-7.0.3"
-      sources."crypto-browserify-3.12.0"
-      sources."crypto-random-string-1.0.0"
-      (sources."css-2.2.4" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."css-blank-pseudo-0.1.4"
-      sources."css-color-names-0.0.4"
-      sources."css-declaration-sorter-4.0.1"
-      (sources."css-has-pseudo-0.10.0" // {
-        dependencies = [
-          sources."cssesc-2.0.0"
-          sources."postcss-selector-parser-5.0.0"
-        ];
-      })
-      sources."css-loader-4.3.0"
-      sources."css-prefers-color-scheme-3.1.1"
-      sources."css-select-4.1.3"
-      sources."css-select-base-adapter-0.1.1"
-      (sources."css-tree-1.0.0-alpha.37" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."css-what-5.0.1"
-      sources."css.escape-1.5.1"
-      sources."cssdb-4.4.0"
-      sources."cssesc-3.0.0"
-      (sources."cssnano-4.1.11" // {
-        dependencies = [
-          sources."cosmiconfig-5.2.1"
-          sources."import-fresh-2.0.0"
-          sources."parse-json-4.0.0"
-          sources."resolve-from-3.0.0"
-        ];
-      })
-      sources."cssnano-preset-default-4.0.8"
-      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.2.0" // {
-        dependencies = [
-          sources."css-tree-1.1.3"
-          sources."mdn-data-2.0.14"
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."cssom-0.4.4"
-      (sources."cssstyle-2.3.0" // {
-        dependencies = [
-          sources."cssom-0.3.8"
-        ];
-      })
-      sources."csstype-3.0.8"
-      sources."cyclist-1.0.1"
-      sources."d-1.0.1"
-      sources."damerau-levenshtein-1.0.7"
-      sources."data-urls-2.0.0"
-      sources."debug-4.3.2"
-      sources."decamelize-1.2.0"
-      sources."decimal.js-10.3.1"
-      sources."decode-uri-component-0.2.0"
-      sources."dedent-0.7.0"
-      sources."deep-equal-1.1.1"
-      sources."deep-is-0.1.4"
-      sources."deepmerge-4.2.2"
-      (sources."default-gateway-4.2.0" // {
-        dependencies = [
-          sources."cross-spawn-6.0.5"
-          sources."execa-1.0.0"
-          sources."get-stream-4.1.0"
-          sources."is-stream-1.1.0"
-          sources."npm-run-path-2.0.2"
-          sources."path-key-2.0.1"
-          sources."semver-5.7.1"
-          sources."shebang-command-1.2.0"
-          sources."shebang-regex-1.0.0"
-          sources."which-1.3.1"
-        ];
-      })
-      sources."define-properties-1.1.3"
-      sources."define-property-2.0.2"
-      (sources."del-4.1.1" // {
-        dependencies = [
-          sources."array-union-1.0.2"
-          (sources."globby-6.1.0" // {
-            dependencies = [
-              sources."pify-2.3.0"
-            ];
-          })
-          sources."p-map-2.1.0"
-          sources."rimraf-2.7.1"
-        ];
-      })
-      sources."delayed-stream-1.0.0"
-      sources."depd-1.1.2"
-      sources."des.js-1.0.1"
-      sources."destroy-1.0.4"
-      sources."detect-newline-3.1.0"
-      sources."detect-node-2.1.0"
-      (sources."detect-port-alt-1.1.6" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."diff-4.0.2"
-      sources."diff-sequences-27.0.6"
-      (sources."diffie-hellman-5.0.3" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."dir-glob-3.0.1"
-      sources."discontinuous-range-1.0.0"
-      sources."dns-equal-1.0.0"
-      sources."dns-packet-1.3.4"
-      sources."dns-txt-2.0.2"
-      sources."doctrine-3.0.0"
-      sources."dom-converter-0.2.0"
-      sources."dom-helpers-3.4.0"
-      sources."dom-serializer-1.3.2"
-      sources."domain-browser-1.2.0"
-      sources."domelementtype-2.2.0"
-      (sources."domexception-2.0.1" // {
-        dependencies = [
-          sources."webidl-conversions-5.0.0"
-        ];
-      })
-      sources."domhandler-4.2.2"
-      sources."domutils-2.8.0"
-      sources."dot-case-3.0.4"
-      (sources."dot-prop-5.3.0" // {
-        dependencies = [
-          sources."is-obj-2.0.0"
-        ];
-      })
-      sources."dotenv-8.2.0"
-      sources."dotenv-expand-5.1.0"
-      sources."downshift-3.4.8"
-      sources."duplexer-0.1.2"
-      sources."duplexify-3.7.1"
-      sources."ee-first-1.1.1"
-      sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.830"
-      (sources."elliptic-6.5.4" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."emittery-0.7.2"
-      sources."emoji-regex-9.2.2"
-      sources."emojis-list-3.0.0"
-      sources."encodeurl-1.0.2"
-      sources."end-of-stream-1.4.4"
-      (sources."enhanced-resolve-4.5.0" // {
-        dependencies = [
-          sources."memory-fs-0.5.0"
-        ];
-      })
-      sources."enquirer-2.3.6"
-      sources."entities-2.2.0"
-      sources."enzyme-3.11.0"
-      (sources."enzyme-adapter-react-16-1.15.6" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      (sources."enzyme-adapter-utils-1.14.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."enzyme-shallow-equal-1.0.4"
-      sources."enzyme-to-json-3.6.2"
-      sources."errno-0.1.8"
-      sources."error-ex-1.3.2"
-      sources."error-stack-parser-2.0.6"
-      sources."es-abstract-1.18.5"
-      sources."es-array-method-boxes-properly-1.0.0"
-      sources."es-to-primitive-1.2.1"
-      sources."es5-ext-0.10.53"
-      sources."es6-iterator-2.0.3"
-      sources."es6-symbol-3.1.3"
-      sources."escalade-3.1.1"
-      sources."escape-html-1.0.3"
-      sources."escape-string-regexp-1.0.5"
-      (sources."escodegen-2.0.0" // {
-        dependencies = [
-          sources."levn-0.3.0"
-          sources."optionator-0.8.3"
-          sources."prelude-ls-1.1.2"
-          sources."source-map-0.6.1"
-          sources."type-check-0.3.2"
-        ];
-      })
-      (sources."eslint-7.32.0" // {
-        dependencies = [
-          sources."@babel/code-frame-7.12.11"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."escape-string-regexp-4.0.0"
-          (sources."eslint-utils-2.1.0" // {
-            dependencies = [
-              sources."eslint-visitor-keys-1.3.0"
-            ];
-          })
-          sources."globals-13.11.0"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-          sources."type-fest-0.20.2"
-        ];
-      })
-      sources."eslint-config-prettier-8.3.0"
-      sources."eslint-config-react-app-6.0.0"
-      (sources."eslint-import-resolver-node-0.3.6" // {
-        dependencies = [
-          sources."debug-3.2.7"
-        ];
-      })
-      (sources."eslint-module-utils-2.6.2" // {
-        dependencies = [
-          sources."debug-3.2.7"
-        ];
-      })
-      sources."eslint-plugin-flowtype-5.9.2"
-      (sources."eslint-plugin-import-2.24.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."doctrine-2.1.0"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."eslint-plugin-jest-24.4.0"
-      sources."eslint-plugin-jsx-a11y-6.4.1"
-      sources."eslint-plugin-prettier-4.0.0"
-      (sources."eslint-plugin-react-7.25.1" // {
-        dependencies = [
-          sources."doctrine-2.1.0"
-          sources."resolve-2.0.0-next.3"
-        ];
-      })
-      sources."eslint-plugin-react-hooks-4.2.0"
-      (sources."eslint-plugin-testing-library-3.10.2" // {
-        dependencies = [
-          sources."@typescript-eslint/experimental-utils-3.10.1"
-          sources."@typescript-eslint/types-3.10.1"
-          sources."@typescript-eslint/typescript-estree-3.10.1"
-          sources."@typescript-eslint/visitor-keys-3.10.1"
-          sources."eslint-utils-2.1.0"
-          sources."eslint-visitor-keys-1.3.0"
-        ];
-      })
-      (sources."eslint-scope-5.1.1" // {
-        dependencies = [
-          sources."estraverse-4.3.0"
-        ];
-      })
-      sources."eslint-utils-3.0.0"
-      sources."eslint-visitor-keys-2.1.0"
-      (sources."eslint-webpack-plugin-2.5.4" // {
-        dependencies = [
-          sources."schema-utils-3.1.1"
-        ];
-      })
-      (sources."espree-7.3.1" // {
-        dependencies = [
-          sources."eslint-visitor-keys-1.3.0"
-        ];
-      })
-      sources."esprima-4.0.1"
-      sources."esquery-1.4.0"
-      sources."esrecurse-4.3.0"
-      sources."estraverse-5.2.0"
-      sources."estree-walker-1.0.1"
-      sources."esutils-2.0.3"
-      sources."etag-1.8.1"
-      sources."eventemitter3-4.0.7"
-      sources."events-3.3.0"
-      sources."eventsource-1.1.0"
-      sources."evp_bytestokey-1.0.3"
-      sources."exec-sh-0.3.6"
-      sources."execa-4.1.0"
-      sources."exit-0.1.2"
-      (sources."expand-brackets-2.1.4" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."is-extendable-0.1.1"
-          sources."kind-of-5.1.0"
-          sources."ms-2.0.0"
-        ];
-      })
-      (sources."expect-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-get-type-26.3.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."express-4.17.1" // {
-        dependencies = [
-          sources."array-flatten-1.1.1"
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-          sources."path-to-regexp-0.1.7"
-        ];
-      })
-      (sources."ext-1.5.0" // {
-        dependencies = [
-          sources."type-2.5.0"
-        ];
-      })
-      sources."extend-shallow-3.0.2"
-      (sources."extglob-2.0.4" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-          sources."extend-shallow-2.0.1"
-          sources."is-extendable-0.1.1"
-        ];
-      })
-      sources."fast-deep-equal-3.1.3"
-      sources."fast-diff-1.2.0"
-      sources."fast-glob-3.2.7"
-      sources."fast-json-stable-stringify-2.1.0"
-      sources."fast-levenshtein-2.0.6"
-      sources."fastq-1.12.0"
-      sources."faye-websocket-0.11.4"
-      sources."fb-watchman-2.0.1"
-      sources."figgy-pudding-3.5.2"
-      sources."file-entry-cache-6.0.1"
-      (sources."file-loader-6.1.1" // {
-        dependencies = [
-          sources."schema-utils-3.1.1"
-        ];
-      })
-      sources."file-uri-to-path-1.0.0"
-      sources."filesize-6.1.0"
-      sources."fill-range-7.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" // {
-        dependencies = [
-          sources."find-up-3.0.0"
-          sources."locate-path-3.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
-          sources."p-try-2.2.0"
-          sources."pkg-dir-3.0.0"
-        ];
-      })
-      sources."find-up-2.1.0"
-      sources."flat-cache-3.0.4"
-      sources."flatted-3.2.2"
-      sources."flatten-1.0.3"
-      sources."flush-write-stream-1.1.1"
-      sources."follow-redirects-1.14.3"
-      sources."for-in-1.0.2"
-      (sources."fork-ts-checker-webpack-plugin-4.1.6" // {
-        dependencies = [
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."is-extendable-0.1.1"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."micromatch-3.1.10"
-          sources."semver-5.7.1"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
-      sources."form-data-3.0.1"
-      sources."forwarded-0.2.0"
-      sources."fragment-cache-0.2.1"
-      sources."fresh-0.5.2"
-      sources."from2-2.3.0"
-      sources."fs-extra-9.1.0"
-      sources."fs-minipass-2.1.0"
-      sources."fs-write-stream-atomic-1.0.10"
-      sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.2"
-      sources."function-bind-1.1.1"
-      sources."function.prototype.name-1.1.4"
-      sources."functional-red-black-tree-1.0.1"
-      sources."functions-have-names-1.2.2"
-      sources."gensync-1.0.0-beta.2"
-      sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.1"
-      sources."get-own-enumerable-property-symbols-3.0.2"
-      sources."get-package-type-0.1.0"
-      sources."get-stream-5.2.0"
-      sources."get-value-2.0.6"
-      sources."glob-7.1.7"
-      sources."glob-parent-5.1.2"
-      sources."global-modules-2.0.0"
-      (sources."global-prefix-3.0.0" // {
-        dependencies = [
-          sources."which-1.3.1"
-        ];
-      })
-      sources."globals-11.12.0"
-      (sources."globby-11.0.4" // {
-        dependencies = [
-          sources."ignore-5.1.8"
-        ];
-      })
-      sources."graceful-fs-4.2.8"
-      sources."growly-1.3.0"
-      sources."gud-1.0.0"
-      sources."gzip-size-5.1.1"
-      sources."handle-thing-2.0.1"
-      sources."harmony-reflect-1.6.2"
-      sources."has-1.0.3"
-      sources."has-bigints-1.0.1"
-      sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.2"
-      sources."has-tostringtag-1.0.0"
-      sources."has-value-1.0.0"
-      (sources."has-values-1.0.0" // {
-        dependencies = [
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."kind-of-4.0.0"
-        ];
-      })
-      (sources."hash-base-3.1.0" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-          sources."safe-buffer-5.2.1"
-        ];
-      })
-      sources."hash.js-1.1.7"
-      sources."he-1.2.0"
-      sources."hex-color-regex-1.1.0"
-      sources."history-4.10.1"
-      sources."hmac-drbg-1.0.1"
-      sources."hoist-non-react-statics-3.3.2"
-      sources."hoopy-0.1.4"
-      sources."hosted-git-info-2.8.9"
-      sources."hpack.js-2.1.6"
-      sources."hsl-regex-1.0.0"
-      sources."hsla-regex-1.0.0"
-      sources."html-element-map-1.3.1"
-      sources."html-encoding-sniffer-2.0.1"
-      sources."html-entities-1.4.0"
-      sources."html-escaper-2.0.2"
-      sources."html-minifier-terser-5.1.1"
-      (sources."html-webpack-plugin-4.5.0" // {
-        dependencies = [
-          sources."json5-1.0.1"
-          sources."loader-utils-1.4.0"
-        ];
-      })
-      (sources."htmlparser2-4.1.0" // {
-        dependencies = [
-          sources."domhandler-3.3.0"
-        ];
-      })
-      sources."http-deceiver-1.2.7"
-      (sources."http-errors-1.7.2" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
-      sources."http-parser-js-0.5.3"
-      sources."http-proxy-1.18.1"
-      sources."http-proxy-agent-4.0.1"
-      (sources."http-proxy-middleware-0.19.1" // {
-        dependencies = [
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."is-extendable-0.1.1"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."micromatch-3.1.10"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
-      sources."https-browserify-1.0.0"
-      sources."https-proxy-agent-5.0.0"
-      sources."human-signals-1.1.1"
-      sources."i-0.3.6"
-      sources."iconv-lite-0.4.24"
-      sources."icss-utils-4.1.1"
-      sources."identity-obj-proxy-3.0.0"
-      sources."ieee754-1.2.1"
-      sources."iferr-0.1.5"
-      sources."ignore-4.0.6"
-      sources."immer-8.0.1"
-      sources."import-cwd-2.1.0"
-      sources."import-fresh-3.3.0"
-      (sources."import-from-2.1.0" // {
-        dependencies = [
-          sources."resolve-from-3.0.0"
-        ];
-      })
-      (sources."import-local-3.0.2" // {
-        dependencies = [
-          sources."find-up-4.1.0"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."path-exists-4.0.0"
-          sources."pkg-dir-4.2.0"
-        ];
-      })
-      sources."imurmurhash-0.1.4"
-      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."ini-1.3.8"
-      sources."internal-ip-4.3.0"
-      sources."internal-slot-1.0.3"
-      sources."ip-1.1.5"
-      sources."ip-regex-2.1.0"
-      sources."ipaddr.js-1.9.1"
-      sources."is-absolute-url-2.1.0"
-      sources."is-accessor-descriptor-1.0.0"
-      sources."is-arguments-1.1.1"
-      sources."is-arrayish-0.2.1"
-      sources."is-bigint-1.0.4"
-      sources."is-binary-path-2.1.0"
-      sources."is-boolean-object-1.1.2"
-      sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.4"
-      sources."is-ci-2.0.0"
-      sources."is-color-stop-1.1.0"
-      sources."is-core-module-2.6.0"
-      sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.5"
-      sources."is-descriptor-1.0.2"
-      sources."is-directory-0.3.1"
-      sources."is-docker-2.2.1"
-      (sources."is-extendable-1.0.1" // {
-        dependencies = [
-          sources."is-plain-object-2.0.4"
-        ];
-      })
-      sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-3.0.0"
-      sources."is-generator-fn-2.1.0"
-      sources."is-glob-4.0.1"
-      sources."is-module-1.0.0"
-      sources."is-negative-zero-2.0.1"
-      sources."is-number-7.0.0"
-      sources."is-number-object-1.0.6"
-      sources."is-obj-1.0.1"
-      sources."is-path-cwd-2.2.0"
-      sources."is-path-in-cwd-2.1.0"
-      sources."is-path-inside-2.1.0"
-      sources."is-plain-obj-1.1.0"
-      sources."is-plain-object-5.0.0"
-      sources."is-potential-custom-element-name-1.0.1"
-      sources."is-regex-1.1.4"
-      sources."is-regexp-1.0.0"
-      sources."is-resolvable-1.1.0"
-      sources."is-root-2.1.0"
-      sources."is-stream-2.0.1"
-      sources."is-string-1.0.7"
-      sources."is-subset-0.1.1"
-      sources."is-symbol-1.0.4"
-      sources."is-typedarray-1.0.0"
-      sources."is-windows-1.0.2"
-      sources."is-wsl-2.2.0"
-      sources."isarray-0.0.1"
-      sources."isexe-2.0.0"
-      sources."isobject-3.0.1"
-      sources."istanbul-lib-coverage-3.0.0"
-      (sources."istanbul-lib-instrument-4.0.3" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      (sources."istanbul-lib-report-3.0.0" // {
-        dependencies = [
-          sources."has-flag-4.0.0"
-          sources."make-dir-3.1.0"
-          sources."semver-6.3.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."istanbul-lib-source-maps-4.0.0" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."istanbul-reports-3.0.2"
-      sources."jest-26.6.0"
-      (sources."jest-changed-files-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-circus-26.6.0" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."pretty-format-26.6.2"
-          sources."react-is-17.0.2"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-cli-26.6.3" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."find-up-4.1.0"
-          sources."has-flag-4.0.0"
-          sources."jest-config-26.6.3"
-          sources."jest-get-type-26.3.0"
-          sources."jest-resolve-26.6.2"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."path-exists-4.0.0"
-          sources."pretty-format-26.6.2"
-          sources."react-is-17.0.2"
-          (sources."read-pkg-5.2.0" // {
-            dependencies = [
-              sources."type-fest-0.6.0"
-            ];
-          })
-          sources."read-pkg-up-7.0.1"
-          sources."supports-color-7.2.0"
-          sources."type-fest-0.8.1"
-        ];
-      })
-      (sources."jest-diff-27.1.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."jest-docblock-26.0.0"
-      (sources."jest-each-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-get-type-26.3.0"
-          sources."pretty-format-26.6.2"
-          sources."react-is-17.0.2"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-environment-jsdom-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-environment-node-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."jest-fetch-mock-3.0.3"
-      sources."jest-get-type-27.0.6"
-      (sources."jest-haste-map-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-jasmine2-26.6.3" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."pretty-format-26.6.2"
-          sources."react-is-17.0.2"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-leak-detector-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-get-type-26.3.0"
-          sources."pretty-format-26.6.2"
-          sources."react-is-17.0.2"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-matcher-utils-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."diff-sequences-26.6.2"
-          sources."has-flag-4.0.0"
-          sources."jest-diff-26.6.2"
-          sources."jest-get-type-26.3.0"
-          sources."pretty-format-26.6.2"
-          sources."react-is-17.0.2"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-message-util-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."pretty-format-26.6.2"
-          sources."react-is-17.0.2"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-mock-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."jest-pnp-resolver-1.2.2"
-      sources."jest-regex-util-26.0.0"
-      (sources."jest-resolve-26.6.0" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."find-up-4.1.0"
-          sources."has-flag-4.0.0"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."path-exists-4.0.0"
-          (sources."read-pkg-5.2.0" // {
-            dependencies = [
-              sources."type-fest-0.6.0"
-            ];
-          })
-          sources."read-pkg-up-7.0.1"
-          sources."supports-color-7.2.0"
-          sources."type-fest-0.8.1"
-        ];
-      })
-      (sources."jest-resolve-dependencies-26.6.3" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-runner-26.6.3" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."find-up-4.1.0"
-          sources."has-flag-4.0.0"
-          sources."jest-config-26.6.3"
-          sources."jest-get-type-26.3.0"
-          sources."jest-resolve-26.6.2"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."path-exists-4.0.0"
-          sources."pretty-format-26.6.2"
-          sources."react-is-17.0.2"
-          (sources."read-pkg-5.2.0" // {
-            dependencies = [
-              sources."type-fest-0.6.0"
-            ];
-          })
-          sources."read-pkg-up-7.0.1"
-          sources."supports-color-7.2.0"
-          sources."type-fest-0.8.1"
-        ];
-      })
-      (sources."jest-runtime-26.6.3" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."find-up-4.1.0"
-          sources."has-flag-4.0.0"
-          sources."jest-config-26.6.3"
-          sources."jest-get-type-26.3.0"
-          sources."jest-resolve-26.6.2"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."path-exists-4.0.0"
-          sources."pretty-format-26.6.2"
-          sources."react-is-17.0.2"
-          (sources."read-pkg-5.2.0" // {
-            dependencies = [
-              sources."type-fest-0.6.0"
-            ];
-          })
-          sources."read-pkg-up-7.0.1"
-          sources."supports-color-7.2.0"
-          sources."type-fest-0.8.1"
-        ];
-      })
-      sources."jest-serializer-26.6.2"
-      (sources."jest-snapshot-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."diff-sequences-26.6.2"
-          sources."find-up-4.1.0"
-          sources."has-flag-4.0.0"
-          sources."jest-diff-26.6.2"
-          sources."jest-get-type-26.3.0"
-          sources."jest-resolve-26.6.2"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."path-exists-4.0.0"
-          sources."pretty-format-26.6.2"
-          sources."react-is-17.0.2"
-          (sources."read-pkg-5.2.0" // {
-            dependencies = [
-              sources."type-fest-0.6.0"
-            ];
-          })
-          sources."read-pkg-up-7.0.1"
-          sources."supports-color-7.2.0"
-          sources."type-fest-0.8.1"
-        ];
-      })
-      (sources."jest-util-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-validate-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."jest-get-type-26.3.0"
-          sources."pretty-format-26.6.2"
-          sources."react-is-17.0.2"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-watch-typeahead-0.6.1" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-watcher-26.6.2" // {
-        dependencies = [
-          sources."@jest/types-26.6.2"
-          sources."@types/yargs-15.0.14"
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      (sources."jest-worker-26.6.2" // {
-        dependencies = [
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."jquery-3.6.0"
-      sources."jquery.flot.tooltip-0.9.0"
-      sources."js-tokens-4.0.0"
-      sources."js-yaml-3.14.1"
-      (sources."jsdom-16.7.0" // {
-        dependencies = [
-          sources."acorn-8.5.0"
-        ];
-      })
-      sources."jsesc-2.5.2"
-      sources."json-parse-better-errors-1.0.2"
-      sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."json3-3.3.3"
-      sources."json5-2.2.0"
-      sources."jsonfile-6.1.0"
-      sources."jsx-ast-utils-3.2.0"
-      sources."just-extend-4.2.1"
-      sources."killable-1.0.1"
-      sources."kind-of-6.0.3"
-      sources."kleur-3.0.3"
-      sources."klona-2.0.4"
-      sources."language-subtag-registry-0.3.21"
-      sources."language-tags-1.0.5"
-      sources."last-call-webpack-plugin-3.0.0"
-      sources."leven-3.1.0"
-      sources."levn-0.4.1"
-      sources."lezer-0.13.5"
-      sources."lezer-promql-0.20.0"
-      sources."lezer-tree-0.13.2"
-      sources."lines-and-columns-1.1.6"
-      (sources."load-json-file-4.0.0" // {
-        dependencies = [
-          sources."parse-json-4.0.0"
-          sources."pify-3.0.0"
-          sources."strip-bom-3.0.0"
-        ];
-      })
-      sources."loader-runner-2.4.0"
-      sources."loader-utils-2.0.0"
-      sources."locate-path-2.0.0"
-      sources."lodash-4.17.21"
-      sources."lodash._reinterpolate-3.0.0"
-      sources."lodash.clonedeep-4.5.0"
-      sources."lodash.debounce-4.0.8"
-      sources."lodash.escape-4.0.1"
-      sources."lodash.flattendeep-4.4.0"
-      sources."lodash.get-4.4.2"
-      sources."lodash.isequal-4.5.0"
-      sources."lodash.memoize-4.1.2"
-      sources."lodash.merge-4.6.2"
-      sources."lodash.template-4.5.0"
-      sources."lodash.templatesettings-4.2.0"
-      sources."lodash.truncate-4.4.2"
-      sources."lodash.uniq-4.5.0"
-      sources."loglevel-1.7.1"
-      sources."loose-envify-1.4.0"
-      sources."lower-case-2.0.2"
-      sources."lru-cache-6.0.0"
-      sources."magic-string-0.25.7"
-      (sources."make-dir-2.1.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."makeerror-1.0.11"
-      sources."map-cache-0.2.2"
-      sources."map-visit-1.0.0"
-      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."merge-descriptors-1.0.1"
-      sources."merge-stream-2.0.0"
-      sources."merge2-1.4.1"
-      sources."methods-1.1.2"
-      sources."microevent.ts-0.1.1"
-      sources."micromatch-4.0.4"
-      (sources."miller-rabin-4.0.1" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."mime-1.6.0"
-      sources."mime-db-1.49.0"
-      sources."mime-types-2.1.32"
-      sources."mimic-fn-2.1.0"
-      (sources."mini-css-extract-plugin-0.11.3" // {
-        dependencies = [
-          sources."json5-1.0.1"
-          sources."loader-utils-1.4.0"
-          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"
-      sources."minipass-collect-1.0.2"
-      sources."minipass-flush-1.0.5"
-      sources."minipass-pipeline-1.2.4"
-      sources."minizlib-2.1.2"
-      sources."mississippi-3.0.0"
-      sources."mixin-deep-1.3.2"
-      sources."mkdirp-0.5.5"
-      sources."moment-2.29.1"
-      sources."moment-timezone-0.5.33"
-      sources."moo-0.5.1"
-      (sources."move-concurrently-1.0.1" // {
-        dependencies = [
-          sources."rimraf-2.7.1"
-        ];
-      })
-      sources."ms-2.1.2"
-      sources."multicast-dns-6.2.3"
-      sources."multicast-dns-service-types-1.1.0"
-      sources."mutationobserver-shim-0.3.7"
-      sources."nan-2.15.0"
-      sources."nanoid-3.1.25"
-      sources."nanomatch-1.2.13"
-      sources."native-url-0.2.6"
-      sources."natural-compare-1.4.0"
-      (sources."nearley-2.20.1" // {
-        dependencies = [
-          sources."commander-2.20.3"
-        ];
-      })
-      sources."negotiator-0.6.2"
-      sources."neo-async-2.6.2"
-      sources."next-tick-1.0.0"
-      sources."nice-try-1.0.5"
-      sources."nise-4.1.0"
-      sources."no-case-3.0.4"
-      sources."node-fetch-2.6.1"
-      sources."node-forge-0.10.0"
-      sources."node-int64-0.4.0"
-      (sources."node-libs-browser-2.2.1" // {
-        dependencies = [
-          sources."punycode-1.4.1"
-        ];
-      })
-      sources."node-modules-regexp-1.0.0"
-      sources."node-notifier-8.0.2"
-      sources."node-releases-1.1.75"
-      (sources."normalize-package-data-2.5.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."normalize-path-3.0.0"
-      sources."normalize-range-0.1.2"
-      sources."normalize-url-1.9.1"
-      sources."npm-run-path-4.0.1"
-      sources."nth-check-2.0.0"
-      sources."num2fraction-1.2.2"
-      sources."nwsapi-2.2.0"
-      sources."object-assign-4.1.1"
-      (sources."object-copy-0.1.0" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          sources."is-accessor-descriptor-0.1.6"
-          sources."is-data-descriptor-0.1.4"
-          (sources."is-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-5.1.0"
-            ];
-          })
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."object-inspect-1.11.0"
-      sources."object-is-1.1.5"
-      sources."object-keys-1.1.1"
-      sources."object-visit-1.0.1"
-      sources."object.assign-4.1.2"
-      sources."object.entries-1.1.4"
-      sources."object.fromentries-2.0.4"
-      sources."object.getownpropertydescriptors-2.1.2"
-      sources."object.pick-1.3.0"
-      sources."object.values-1.1.4"
-      sources."obuf-1.1.2"
-      sources."on-finished-2.3.0"
-      sources."on-headers-1.0.2"
-      sources."once-1.4.0"
-      sources."onetime-5.1.2"
-      sources."open-7.4.2"
-      (sources."opn-5.5.0" // {
-        dependencies = [
-          sources."is-wsl-1.1.0"
-        ];
-      })
-      sources."optimize-css-assets-webpack-plugin-5.0.4"
-      sources."optionator-0.9.1"
-      sources."original-1.0.2"
-      sources."os-browserify-0.3.0"
-      sources."p-each-series-2.2.0"
-      sources."p-finally-1.0.0"
-      sources."p-limit-1.3.0"
-      sources."p-locate-2.0.0"
-      sources."p-map-4.0.0"
-      sources."p-retry-3.0.1"
-      sources."p-try-1.0.0"
-      sources."pako-1.0.11"
-      sources."parallel-transform-1.2.0"
-      sources."param-case-3.0.4"
-      sources."parent-module-1.0.1"
-      sources."parse-asn1-5.1.6"
-      sources."parse-json-5.2.0"
-      sources."parse-srcset-1.0.2"
-      sources."parse5-6.0.1"
-      sources."parse5-htmlparser2-tree-adapter-6.0.1"
-      sources."parseurl-1.3.3"
-      sources."pascal-case-3.1.2"
-      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-3.1.1"
-      sources."path-parse-1.0.7"
-      sources."path-to-regexp-1.8.0"
-      sources."path-type-4.0.0"
-      sources."pbkdf2-3.1.2"
-      sources."performance-now-2.1.0"
-      sources."picomatch-2.3.0"
-      sources."pify-4.0.1"
-      sources."pinkie-2.0.4"
-      sources."pinkie-promise-2.0.1"
-      sources."pirates-4.0.1"
-      sources."pkg-dir-2.0.0"
-      sources."pkg-up-2.0.0"
-      sources."pnp-webpack-plugin-1.6.4"
-      sources."popper.js-1.16.1"
-      (sources."portfinder-1.0.28" // {
-        dependencies = [
-          sources."debug-3.2.7"
-        ];
-      })
-      sources."posix-character-classes-0.1.1"
-      (sources."postcss-7.0.36" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-          sources."supports-color-6.1.0"
-        ];
-      })
-      sources."postcss-attribute-case-insensitive-4.0.2"
-      sources."postcss-browser-comments-3.0.0"
-      sources."postcss-calc-7.0.5"
-      sources."postcss-color-functional-notation-2.0.1"
-      sources."postcss-color-gray-5.0.0"
-      sources."postcss-color-hex-alpha-5.0.3"
-      sources."postcss-color-mod-function-3.0.3"
-      sources."postcss-color-rebeccapurple-4.0.1"
-      (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-custom-media-7.0.8"
-      sources."postcss-custom-properties-8.0.11"
-      (sources."postcss-custom-selectors-5.1.2" // {
-        dependencies = [
-          sources."cssesc-2.0.0"
-          sources."postcss-selector-parser-5.0.0"
-        ];
-      })
-      (sources."postcss-dir-pseudo-class-5.0.0" // {
-        dependencies = [
-          sources."cssesc-2.0.0"
-          sources."postcss-selector-parser-5.0.0"
-        ];
-      })
-      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-double-position-gradients-1.0.0"
-      sources."postcss-env-function-2.0.2"
-      sources."postcss-flexbugs-fixes-4.2.1"
-      sources."postcss-focus-visible-4.0.0"
-      sources."postcss-focus-within-3.0.0"
-      sources."postcss-font-variant-4.0.1"
-      sources."postcss-gap-properties-2.0.0"
-      sources."postcss-image-set-function-3.0.1"
-      sources."postcss-initial-3.0.4"
-      sources."postcss-lab-function-2.0.1"
-      (sources."postcss-load-config-2.1.2" // {
-        dependencies = [
-          sources."cosmiconfig-5.2.1"
-          sources."import-fresh-2.0.0"
-          sources."parse-json-4.0.0"
-          sources."resolve-from-3.0.0"
-        ];
-      })
-      (sources."postcss-loader-3.0.0" // {
-        dependencies = [
-          sources."json5-1.0.1"
-          sources."loader-utils-1.4.0"
-          sources."schema-utils-1.0.0"
-        ];
-      })
-      sources."postcss-logical-3.0.0"
-      sources."postcss-media-minmax-4.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.3"
-      sources."postcss-modules-scope-2.2.0"
-      sources."postcss-modules-values-3.0.0"
-      sources."postcss-nesting-7.0.1"
-      sources."postcss-normalize-8.0.1"
-      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."normalize-url-3.3.0"
-          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-overflow-shorthand-2.0.0"
-      sources."postcss-page-break-2.0.0"
-      sources."postcss-place-4.0.1"
-      sources."postcss-preset-env-6.7.0"
-      (sources."postcss-pseudo-class-any-link-6.0.0" // {
-        dependencies = [
-          sources."cssesc-2.0.0"
-          sources."postcss-selector-parser-5.0.0"
-        ];
-      })
-      sources."postcss-reduce-initial-4.0.3"
-      (sources."postcss-reduce-transforms-4.0.2" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      sources."postcss-replace-overflow-wrap-3.0.0"
-      (sources."postcss-safe-parser-5.0.2" // {
-        dependencies = [
-          sources."postcss-8.3.6"
-        ];
-      })
-      sources."postcss-selector-matches-4.0.0"
-      sources."postcss-selector-not-4.0.1"
-      sources."postcss-selector-parser-6.0.6"
-      (sources."postcss-svgo-4.0.3" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      sources."postcss-unique-selectors-4.0.1"
-      sources."postcss-value-parser-4.1.0"
-      sources."postcss-values-parser-2.0.1"
-      sources."prelude-ls-1.2.1"
-      sources."prepend-http-1.0.4"
-      sources."prettier-2.3.2"
-      sources."prettier-linter-helpers-1.0.0"
-      sources."pretty-bytes-5.6.0"
-      sources."pretty-error-2.1.2"
-      (sources."pretty-format-27.1.0" // {
-        dependencies = [
-          sources."ansi-styles-5.2.0"
-          sources."react-is-17.0.2"
-        ];
-      })
-      sources."process-0.11.10"
-      sources."process-nextick-args-2.0.1"
-      sources."progress-2.0.3"
-      sources."promise-8.1.0"
-      sources."promise-inflight-1.0.1"
-      sources."promise-polyfill-8.2.0"
-      sources."prompts-2.4.0"
-      sources."prop-types-15.7.2"
-      sources."prop-types-exact-1.2.0"
-      sources."proxy-addr-2.0.7"
-      sources."prr-1.0.1"
-      sources."psl-1.8.0"
-      (sources."public-encrypt-4.0.3" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      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.7.0"
-      sources."query-string-4.3.4"
-      sources."querystring-0.2.1"
-      sources."querystring-es3-0.2.1"
-      sources."querystringify-2.2.0"
-      sources."queue-microtask-1.2.3"
-      sources."raf-3.4.1"
-      sources."raf-schd-4.0.3"
-      sources."railroad-diagrams-1.0.0"
-      sources."randexp-0.4.6"
-      sources."randombytes-2.1.0"
-      sources."randomfill-1.0.4"
-      sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.0" // {
-        dependencies = [
-          sources."bytes-3.1.0"
-        ];
-      })
-      sources."react-16.14.0"
-      sources."react-app-polyfill-2.0.0"
-      sources."react-copy-to-clipboard-5.0.4"
-      (sources."react-dev-utils-11.0.4" // {
-        dependencies = [
-          sources."@babel/code-frame-7.10.4"
-          sources."browserslist-4.14.2"
-          sources."escape-string-regexp-2.0.0"
-          sources."find-up-4.1.0"
-          sources."globby-11.0.1"
-          sources."ignore-5.1.8"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."path-exists-4.0.0"
-          (sources."pkg-up-3.1.0" // {
-            dependencies = [
-              sources."find-up-3.0.0"
-              sources."locate-path-3.0.0"
-              sources."p-locate-3.0.0"
-              sources."path-exists-3.0.0"
-            ];
-          })
-        ];
-      })
-      sources."react-dom-16.14.0"
-      sources."react-error-overlay-6.0.9"
-      sources."react-is-16.13.1"
-      sources."react-lifecycles-compat-3.0.4"
-      sources."react-refresh-0.8.3"
-      sources."react-resize-detector-5.2.0"
-      (sources."react-router-dom-5.3.0" // {
-        dependencies = [
-          (sources."react-router-5.2.1" // {
-            dependencies = [
-              sources."mini-create-react-context-0.4.1"
-            ];
-          })
-        ];
-      })
-      (sources."react-scripts-4.0.3" // {
-        dependencies = [
-          (sources."@babel/core-7.12.3" // {
-            dependencies = [
-              sources."semver-5.7.1"
-            ];
-          })
-          sources."resolve-1.18.1"
-          sources."semver-7.3.2"
-        ];
-      })
-      sources."react-test-renderer-16.14.0"
-      (sources."reactstrap-8.10.0" // {
-        dependencies = [
-          (sources."react-popper-1.3.11" // {
-            dependencies = [
-              sources."@hypnosphi/create-react-context-0.3.1"
-            ];
-          })
-          sources."react-transition-group-2.9.0"
-        ];
-      })
-      (sources."read-pkg-3.0.0" // {
-        dependencies = [
-          sources."path-type-3.0.0"
-          sources."pify-3.0.0"
-        ];
-      })
-      sources."read-pkg-up-3.0.0"
-      (sources."readable-stream-2.3.7" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."readdirp-3.6.0"
-      sources."recursive-readdir-2.2.2"
-      sources."reflect.ownkeys-0.2.0"
-      sources."regenerate-1.4.2"
-      sources."regenerate-unicode-properties-8.2.0"
-      sources."regenerator-runtime-0.13.9"
-      sources."regenerator-transform-0.14.5"
-      sources."regex-not-1.0.2"
-      sources."regex-parser-2.2.11"
-      sources."regexp.prototype.flags-1.3.1"
-      sources."regexpp-3.2.0"
-      sources."regexpu-core-4.7.1"
-      sources."regjsgen-0.5.2"
-      (sources."regjsparser-0.6.9" // {
-        dependencies = [
-          sources."jsesc-0.5.0"
-        ];
-      })
-      sources."relateurl-0.2.7"
-      sources."remove-trailing-separator-1.1.0"
-      (sources."renderkid-2.0.7" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."htmlparser2-6.1.0"
-          sources."strip-ansi-3.0.1"
-        ];
-      })
-      sources."repeat-element-1.1.4"
-      sources."repeat-string-1.6.1"
-      sources."require-directory-2.1.1"
-      sources."require-from-string-2.0.2"
-      sources."require-main-filename-2.0.0"
-      sources."requires-port-1.0.0"
-      sources."resize-observer-polyfill-1.5.1"
-      sources."resolve-1.20.0"
-      (sources."resolve-cwd-3.0.0" // {
-        dependencies = [
-          sources."resolve-from-5.0.0"
-        ];
-      })
-      sources."resolve-from-4.0.0"
-      sources."resolve-pathname-3.0.0"
-      sources."resolve-url-0.2.1"
-      (sources."resolve-url-loader-3.1.4" // {
-        dependencies = [
-          sources."camelcase-5.3.1"
-          sources."convert-source-map-1.7.0"
-          sources."emojis-list-2.1.0"
-          sources."json5-1.0.1"
-          sources."loader-utils-1.2.3"
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."ret-0.1.15"
-      sources."retry-0.12.0"
-      sources."reusify-1.0.4"
-      (sources."rework-1.0.1" // {
-        dependencies = [
-          sources."convert-source-map-0.3.5"
-        ];
-      })
-      sources."rework-visit-1.0.0"
-      sources."rgb-regex-1.0.1"
-      sources."rgba-regex-1.0.0"
-      sources."rimraf-3.0.2"
-      sources."ripemd160-2.0.2"
-      sources."rollup-1.32.1"
-      sources."rollup-plugin-babel-4.4.0"
-      (sources."rollup-plugin-terser-5.3.1" // {
-        dependencies = [
-          sources."jest-worker-24.9.0"
-          sources."serialize-javascript-4.0.0"
-          sources."supports-color-6.1.0"
-        ];
-      })
-      (sources."rollup-pluginutils-2.8.2" // {
-        dependencies = [
-          sources."estree-walker-0.6.1"
-        ];
-      })
-      sources."rst-selector-parser-2.2.3"
-      sources."rsvp-4.8.5"
-      sources."run-parallel-1.2.0"
-      sources."run-queue-1.0.3"
-      sources."safe-buffer-5.1.2"
-      sources."safe-regex-1.1.0"
-      sources."safer-buffer-2.1.2"
-      (sources."sane-4.1.0" // {
-        dependencies = [
-          sources."anymatch-2.0.0"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."cross-spawn-6.0.5"
-          sources."execa-1.0.0"
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."get-stream-4.1.0"
-          sources."is-extendable-0.1.1"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-stream-1.1.0"
-          sources."micromatch-3.1.10"
-          sources."normalize-path-2.1.1"
-          sources."npm-run-path-2.0.2"
-          sources."path-key-2.0.1"
-          sources."semver-5.7.1"
-          sources."shebang-command-1.2.0"
-          sources."shebang-regex-1.0.0"
-          sources."to-regex-range-2.1.1"
-          sources."which-1.3.1"
-        ];
-      })
-      (sources."sanitize-html-2.4.0" // {
-        dependencies = [
-          sources."escape-string-regexp-4.0.0"
-          sources."htmlparser2-6.1.0"
-          sources."postcss-8.3.6"
-        ];
-      })
-      sources."sanitize.css-10.0.0"
-      sources."sass-1.39.0"
-      (sources."sass-loader-10.2.0" // {
-        dependencies = [
-          sources."schema-utils-3.1.1"
-        ];
-      })
-      sources."sax-1.2.4"
-      sources."saxes-5.0.1"
-      sources."scheduler-0.19.1"
-      sources."schema-utils-2.7.1"
-      sources."select-hose-2.0.0"
-      sources."selfsigned-1.10.11"
-      sources."semver-7.3.5"
-      (sources."send-0.17.1" // {
-        dependencies = [
-          (sources."debug-2.6.9" // {
-            dependencies = [
-              sources."ms-2.0.0"
-            ];
-          })
-          sources."ms-2.1.1"
-        ];
-      })
-      sources."serialize-javascript-5.0.1"
-      (sources."serve-index-1.9.1" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."http-errors-1.6.3"
-          sources."inherits-2.0.3"
-          sources."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."is-extendable-0.1.1"
-          sources."is-plain-object-2.0.4"
-        ];
-      })
-      sources."setimmediate-1.0.5"
-      sources."setprototypeof-1.1.1"
-      sources."sha.js-2.4.11"
-      sources."shebang-command-2.0.0"
-      sources."shebang-regex-3.0.0"
-      sources."shell-quote-1.7.2"
-      sources."shellwords-0.1.1"
-      sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.3"
-      (sources."simple-swizzle-0.2.2" // {
-        dependencies = [
-          sources."is-arrayish-0.3.2"
-        ];
-      })
-      (sources."sinon-9.2.4" // {
-        dependencies = [
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."sisteransi-1.0.5"
-      sources."slash-3.0.0"
-      (sources."slice-ansi-4.0.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-        ];
-      })
-      (sources."snapdragon-0.8.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."is-extendable-0.1.1"
-          sources."kind-of-5.1.0"
-          sources."ms-2.0.0"
-        ];
-      })
-      (sources."snapdragon-node-2.1.1" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
-      (sources."snapdragon-util-3.0.1" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
-      (sources."sockjs-0.3.21" // {
-        dependencies = [
-          sources."uuid-3.4.0"
-        ];
-      })
-      (sources."sockjs-client-1.5.2" // {
-        dependencies = [
-          sources."debug-3.2.7"
-        ];
-      })
-      sources."sort-keys-1.1.2"
-      sources."source-list-map-2.0.1"
-      sources."source-map-0.5.7"
-      sources."source-map-js-0.6.2"
-      sources."source-map-resolve-0.5.3"
-      (sources."source-map-support-0.5.19" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."source-map-url-0.4.1"
-      sources."sourcemap-codec-1.4.8"
-      sources."spdx-correct-3.1.1"
-      sources."spdx-exceptions-2.3.0"
-      sources."spdx-expression-parse-3.0.1"
-      sources."spdx-license-ids-3.0.10"
-      sources."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."ssri-8.0.1"
-      sources."stable-0.1.8"
-      (sources."stack-utils-2.0.3" // {
-        dependencies = [
-          sources."escape-string-regexp-2.0.0"
-        ];
-      })
-      sources."stackframe-1.2.0"
-      (sources."static-extend-0.1.2" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      sources."statuses-1.5.0"
-      sources."stream-browserify-2.0.2"
-      sources."stream-each-1.2.3"
-      sources."stream-http-2.8.3"
-      sources."stream-shift-1.0.1"
-      sources."strict-uri-encode-1.1.0"
-      sources."string-length-4.0.2"
-      sources."string-natural-compare-3.0.1"
-      (sources."string-width-4.2.2" // {
-        dependencies = [
-          sources."emoji-regex-8.0.0"
-        ];
-      })
-      sources."string.prototype.matchall-4.0.5"
-      sources."string.prototype.trim-1.2.4"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
-      (sources."string_decoder-1.3.0" // {
-        dependencies = [
-          sources."safe-buffer-5.2.1"
-        ];
-      })
-      sources."stringify-object-3.3.0"
-      sources."strip-ansi-6.0.0"
-      sources."strip-bom-4.0.0"
-      sources."strip-comments-1.0.2"
-      sources."strip-eof-1.0.0"
-      sources."strip-final-newline-2.0.0"
-      sources."strip-json-comments-3.1.1"
-      sources."style-loader-1.3.0"
-      sources."style-mod-4.0.0"
-      (sources."stylehacks-4.0.3" // {
-        dependencies = [
-          sources."postcss-selector-parser-3.1.2"
-        ];
-      })
-      sources."supports-color-5.5.0"
-      (sources."supports-hyperlinks-2.2.0" // {
-        dependencies = [
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."svg-parser-2.0.4"
-      (sources."svgo-1.3.2" // {
-        dependencies = [
-          sources."css-select-2.1.0"
-          sources."css-what-3.4.2"
-          sources."dom-serializer-0.2.2"
-          (sources."domutils-1.7.0" // {
-            dependencies = [
-              sources."domelementtype-1.3.1"
-            ];
-          })
-          sources."nth-check-1.0.2"
-        ];
-      })
-      sources."symbol-tree-3.2.4"
-      (sources."table-6.7.1" // {
-        dependencies = [
-          sources."ajv-8.6.2"
-          sources."json-schema-traverse-1.0.0"
-        ];
-      })
-      sources."tapable-1.1.3"
-      (sources."tar-6.1.11" // {
-        dependencies = [
-          sources."mkdirp-1.0.4"
-        ];
-      })
-      sources."temp-dir-1.0.0"
-      sources."tempusdominus-bootstrap-4-5.39.0"
-      (sources."tempusdominus-core-5.19.0" // {
-        dependencies = [
-          sources."moment-2.24.0"
-        ];
-      })
-      (sources."tempy-0.3.0" // {
-        dependencies = [
-          sources."type-fest-0.3.1"
-        ];
-      })
-      sources."terminal-link-2.1.1"
-      (sources."terser-4.8.0" // {
-        dependencies = [
-          sources."commander-2.20.3"
-          sources."source-map-0.6.1"
-        ];
-      })
-      (sources."terser-webpack-plugin-4.2.3" // {
-        dependencies = [
-          sources."commander-2.20.3"
-          sources."find-cache-dir-3.3.2"
-          sources."find-up-4.1.0"
-          sources."locate-path-5.0.0"
-          sources."make-dir-3.1.0"
-          sources."p-limit-3.1.0"
-          (sources."p-locate-4.1.0" // {
-            dependencies = [
-              sources."p-limit-2.3.0"
-            ];
-          })
-          sources."p-try-2.2.0"
-          sources."path-exists-4.0.0"
-          sources."pkg-dir-4.2.0"
-          sources."schema-utils-3.1.1"
-          sources."semver-6.3.0"
-          sources."source-map-0.6.1"
-          (sources."terser-5.7.2" // {
-            dependencies = [
-              sources."source-map-0.7.3"
-            ];
-          })
-        ];
-      })
-      sources."test-exclude-6.0.0"
-      sources."text-table-0.2.0"
-      sources."throat-5.0.0"
-      sources."through2-2.0.5"
-      sources."thunky-1.1.0"
-      sources."timers-browserify-2.0.12"
-      sources."timsort-0.3.0"
-      sources."tiny-invariant-1.1.0"
-      sources."tiny-warning-1.0.3"
-      sources."tmpl-1.0.5"
-      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-5.0.1"
-      sources."toggle-selection-1.0.6"
-      sources."toidentifier-1.0.0"
-      (sources."tough-cookie-4.0.0" // {
-        dependencies = [
-          sources."universalify-0.1.2"
-        ];
-      })
-      sources."tr46-2.1.0"
-      sources."tryer-1.0.1"
-      sources."ts-pnp-1.2.0"
-      (sources."tsconfig-paths-3.11.0" // {
-        dependencies = [
-          sources."json5-1.0.1"
-          sources."strip-bom-3.0.0"
-        ];
-      })
-      sources."tslib-2.3.1"
-      (sources."tsutils-3.21.0" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
-      sources."tty-browserify-0.0.0"
-      sources."type-1.2.0"
-      sources."type-check-0.4.0"
-      sources."type-detect-4.0.8"
-      sources."type-fest-0.21.3"
-      sources."type-is-1.6.18"
-      sources."typed-styles-0.0.7"
-      sources."typedarray-0.0.6"
-      sources."typedarray-to-buffer-3.1.5"
-      sources."typescript-4.4.2"
-      sources."unbox-primitive-1.0.1"
-      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" // {
-        dependencies = [
-          sources."is-extendable-0.1.1"
-        ];
-      })
-      sources."uniq-1.0.1"
-      sources."uniqs-2.0.0"
-      sources."unique-filename-1.1.1"
-      sources."unique-slug-2.0.2"
-      sources."unique-string-1.0.0"
-      sources."universalify-2.0.0"
-      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."isarray-1.0.0"
-        ];
-      })
-      sources."upath-1.2.0"
-      sources."uri-js-4.4.1"
-      sources."urix-0.1.0"
-      (sources."url-0.11.0" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-          sources."querystring-0.2.0"
-        ];
-      })
-      (sources."url-loader-4.1.1" // {
-        dependencies = [
-          sources."schema-utils-3.1.1"
-        ];
-      })
-      sources."url-parse-1.5.3"
-      sources."use-3.1.1"
-      sources."use-media-1.4.0"
-      (sources."util-0.11.1" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
-      sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
-      sources."utila-0.4.0"
-      sources."utils-merge-1.0.1"
-      sources."uuid-8.3.2"
-      sources."v8-compile-cache-2.3.0"
-      (sources."v8-to-istanbul-7.1.2" // {
-        dependencies = [
-          sources."source-map-0.7.3"
-        ];
-      })
-      sources."validate-npm-package-license-3.0.4"
-      sources."value-equal-1.0.1"
-      sources."vary-1.1.2"
-      sources."vendors-1.0.4"
-      sources."vm-browserify-1.1.2"
-      sources."w3c-hr-time-1.0.2"
-      sources."w3c-keyname-2.2.4"
-      sources."w3c-xmlserializer-2.0.0"
-      sources."walker-1.0.7"
-      sources."warning-4.0.3"
-      sources."watchpack-1.7.5"
-      (sources."watchpack-chokidar2-2.0.1" // {
-        dependencies = [
-          (sources."anymatch-2.0.0" // {
-            dependencies = [
-              sources."normalize-path-2.1.1"
-            ];
-          })
-          sources."binary-extensions-1.13.1"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."chokidar-2.1.8"
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."fsevents-1.2.13"
-          (sources."glob-parent-3.1.0" // {
-            dependencies = [
-              sources."is-glob-3.1.0"
-            ];
-          })
-          sources."is-binary-path-1.0.1"
-          sources."is-extendable-0.1.1"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."micromatch-3.1.10"
-          sources."readdirp-2.2.1"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
-      sources."wbuf-1.7.3"
-      sources."webidl-conversions-6.1.0"
-      (sources."webpack-4.44.2" // {
-        dependencies = [
-          sources."acorn-6.4.2"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."cacache-12.0.4"
-          sources."chownr-1.1.4"
-          sources."eslint-scope-4.0.3"
-          sources."estraverse-4.3.0"
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."is-extendable-0.1.1"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-wsl-1.1.0"
-          sources."json5-1.0.1"
-          sources."loader-utils-1.4.0"
-          sources."lru-cache-5.1.1"
-          sources."micromatch-3.1.10"
-          sources."rimraf-2.7.1"
-          sources."schema-utils-1.0.0"
-          sources."serialize-javascript-4.0.0"
-          sources."source-map-0.6.1"
-          sources."ssri-6.0.2"
-          sources."terser-webpack-plugin-1.4.5"
-          sources."to-regex-range-2.1.1"
-          sources."yallist-3.1.1"
-        ];
-      })
-      (sources."webpack-dev-middleware-3.7.3" // {
-        dependencies = [
-          sources."mime-2.5.2"
-        ];
-      })
-      (sources."webpack-dev-server-3.11.1" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-          (sources."anymatch-2.0.0" // {
-            dependencies = [
-              sources."normalize-path-2.1.1"
-            ];
-          })
-          sources."binary-extensions-1.13.1"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."camelcase-5.3.1"
-          sources."chokidar-2.1.8"
-          (sources."cliui-5.0.0" // {
-            dependencies = [
-              sources."ansi-regex-4.1.0"
-              sources."strip-ansi-5.2.0"
-            ];
-          })
-          sources."emoji-regex-7.0.3"
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."find-up-3.0.0"
-          sources."fsevents-1.2.13"
-          (sources."glob-parent-3.1.0" // {
-            dependencies = [
-              sources."is-glob-3.1.0"
-            ];
-          })
-          sources."import-local-2.0.0"
-          sources."is-absolute-url-3.0.3"
-          sources."is-binary-path-1.0.1"
-          sources."is-extendable-0.1.1"
-          sources."is-fullwidth-code-point-2.0.0"
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."locate-path-3.0.0"
-          sources."micromatch-3.1.10"
-          sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
-          sources."p-try-2.2.0"
-          sources."pkg-dir-3.0.0"
-          sources."readdirp-2.2.1"
-          sources."resolve-cwd-2.0.0"
-          sources."resolve-from-3.0.0"
-          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."to-regex-range-2.1.1"
-          (sources."wrap-ansi-5.1.0" // {
-            dependencies = [
-              sources."ansi-regex-4.1.0"
-              sources."strip-ansi-5.2.0"
-            ];
-          })
-          sources."ws-6.2.2"
-          sources."yargs-13.3.2"
-          sources."yargs-parser-13.1.2"
-        ];
-      })
-      (sources."webpack-log-2.0.0" // {
-        dependencies = [
-          sources."ansi-colors-3.2.4"
-          sources."uuid-3.4.0"
-        ];
-      })
-      (sources."webpack-manifest-plugin-2.2.0" // {
-        dependencies = [
-          sources."fs-extra-7.0.1"
-          sources."jsonfile-4.0.0"
-          sources."universalify-0.1.2"
-        ];
-      })
-      (sources."webpack-sources-1.4.3" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."websocket-driver-0.7.4"
-      sources."websocket-extensions-0.1.4"
-      sources."whatwg-encoding-1.0.5"
-      sources."whatwg-fetch-3.6.2"
-      sources."whatwg-mimetype-2.3.0"
-      sources."whatwg-url-8.7.0"
-      sources."which-2.0.2"
-      sources."which-boxed-primitive-1.0.2"
-      sources."which-module-2.0.0"
-      sources."word-wrap-1.2.3"
-      sources."workbox-background-sync-5.1.4"
-      sources."workbox-broadcast-update-5.1.4"
-      (sources."workbox-build-5.1.4" // {
-        dependencies = [
-          sources."fs-extra-8.1.0"
-          sources."jsonfile-4.0.0"
-          sources."source-map-0.7.3"
-          sources."universalify-0.1.2"
-        ];
-      })
-      sources."workbox-cacheable-response-5.1.4"
-      sources."workbox-core-5.1.4"
-      sources."workbox-expiration-5.1.4"
-      sources."workbox-google-analytics-5.1.4"
-      sources."workbox-navigation-preload-5.1.4"
-      sources."workbox-precaching-5.1.4"
-      sources."workbox-range-requests-5.1.4"
-      sources."workbox-routing-5.1.4"
-      sources."workbox-strategies-5.1.4"
-      sources."workbox-streams-5.1.4"
-      sources."workbox-sw-5.1.4"
-      sources."workbox-webpack-plugin-5.1.4"
-      sources."workbox-window-5.1.4"
-      sources."worker-farm-1.7.0"
-      sources."worker-rpc-0.1.1"
-      (sources."wrap-ansi-6.2.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-        ];
-      })
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-3.0.3"
-      sources."ws-7.5.4"
-      sources."xml-name-validator-3.0.0"
-      sources."xmlchars-2.2.0"
-      sources."xtend-4.0.2"
-      sources."y18n-4.0.3"
-      sources."yallist-4.0.0"
-      sources."yaml-1.10.2"
-      (sources."yargs-15.4.1" // {
-        dependencies = [
-          sources."find-up-4.1.0"
-          sources."locate-path-5.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."path-exists-4.0.0"
-        ];
-      })
-      (sources."yargs-parser-18.1.3" // {
-        dependencies = [
-          sources."camelcase-5.3.1"
-        ];
-      })
-      sources."yocto-queue-0.1.0"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-    };
-    production = false;
-    bypassCache = true;
-    reconstructLock = false;
-  };
-in
-{
-  args = args;
-  sources = sources;
-  tarball = nodeEnv.buildNodeSourceDist args;
-  package = nodeEnv.buildNodePackage args;
-  shell = nodeEnv.buildNodeShell args;
-  nodeDependencies = nodeEnv.buildNodeDependencies (lib.overrideExisting args {
-    src = stdenv.mkDerivation {
-      name = args.name + "-package-json";
-      src = nix-gitignore.gitignoreSourcePure [
-        "*"
-        "!package.json"
-        "!package-lock.json"
-      ] args.src;
-      dontBuild = true;
-      installPhase = "mkdir -p $out; cp -r ./* $out;";
-    };
-  });
-}
diff --git a/pkgs/servers/monitoring/prometheus/webui/webui/package-lock.json b/pkgs/servers/monitoring/prometheus/webui/webui/package-lock.json
deleted file mode 100644
index e6c08a4aeb3..00000000000
--- a/pkgs/servers/monitoring/prometheus/webui/webui/package-lock.json
+++ /dev/null
@@ -1,48650 +0,0 @@
-{
-  "name": "graph",
-  "version": "0.1.0",
-  "lockfileVersion": 2,
-  "requires": true,
-  "packages": {
-    "": {
-      "name": "graph",
-      "version": "0.1.0",
-      "dependencies": {
-        "@codemirror/autocomplete": "^0.18.3",
-        "@codemirror/closebrackets": "^0.18.0",
-        "@codemirror/commands": "^0.18.0",
-        "@codemirror/comment": "^0.18.0",
-        "@codemirror/highlight": "^0.18.3",
-        "@codemirror/history": "^0.18.0",
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/lint": "^0.18.1",
-        "@codemirror/matchbrackets": "^0.18.0",
-        "@codemirror/search": "^0.18.2",
-        "@codemirror/state": "^0.18.2",
-        "@codemirror/view": "^0.18.3",
-        "@forevolve/bootstrap-dark": "^1.0.0",
-        "@fortawesome/fontawesome-svg-core": "^1.2.14",
-        "@fortawesome/free-solid-svg-icons": "^5.7.1",
-        "@fortawesome/react-fontawesome": "^0.1.4",
-        "@nexucis/fuzzy": "^0.3.0",
-        "bootstrap": "^4.6.0",
-        "codemirror-promql": "^0.17.0",
-        "css.escape": "^1.5.1",
-        "downshift": "^3.4.8",
-        "i": "^0.3.6",
-        "jquery": "^3.5.1",
-        "jquery.flot.tooltip": "^0.9.0",
-        "jsdom": "^16.4.0",
-        "moment": "^2.24.0",
-        "moment-timezone": "^0.5.23",
-        "popper.js": "^1.14.3",
-        "react": "^16.7.0",
-        "react-copy-to-clipboard": "^5.0.1",
-        "react-dom": "^16.7.0",
-        "react-resize-detector": "^5.0.7",
-        "react-router-dom": "^5.2.1",
-        "react-test-renderer": "^16.9.0",
-        "reactstrap": "^8.9.0",
-        "sanitize-html": "^2.3.3",
-        "sass": "1.39.0",
-        "tempusdominus-bootstrap-4": "^5.1.2",
-        "tempusdominus-core": "^5.0.3",
-        "use-media": "^1.4.0"
-      },
-      "devDependencies": {
-        "@testing-library/react-hooks": "^3.1.1",
-        "@types/enzyme": "^3.10.3",
-        "@types/enzyme-adapter-react-16": "^1.0.5",
-        "@types/flot": "0.0.32",
-        "@types/jest": "^27.0.0",
-        "@types/jquery": "^3.5.1",
-        "@types/moment-timezone": "^0.5.10",
-        "@types/node": "^12.11.1",
-        "@types/react": "^16.8.2",
-        "@types/react-copy-to-clipboard": "^5.0.0",
-        "@types/react-dom": "^16.8.0",
-        "@types/react-resize-detector": "^5.0.0",
-        "@types/react-router-dom": "^5.1.8",
-        "@types/reactstrap": "^8.7.2",
-        "@types/sanitize-html": "^1.20.2",
-        "@types/sinon": "^9.0.4",
-        "enzyme": "^3.10.0",
-        "enzyme-adapter-react-16": "^1.15.1",
-        "enzyme-to-json": "^3.4.3",
-        "eslint-config-prettier": "^8.3.0",
-        "eslint-config-react-app": "^6.0.0",
-        "eslint-plugin-prettier": "^4.0.0",
-        "jest-fetch-mock": "^3.0.3",
-        "mutationobserver-shim": "^0.3.7",
-        "prettier": "^2.3.2",
-        "react-scripts": "4.0.3",
-        "sinon": "^9.0.3",
-        "typescript": "^4.4.2"
-      },
-      "optionalDependencies": {
-        "fsevents": "^2.3.2"
-      }
-    },
-    "node_modules/@babel/code-frame": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz",
-      "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/highlight": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/compat-data": {
-      "version": "7.15.0",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz",
-      "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/core": {
-      "version": "7.15.5",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz",
-      "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.14.5",
-        "@babel/generator": "^7.15.4",
-        "@babel/helper-compilation-targets": "^7.15.4",
-        "@babel/helper-module-transforms": "^7.15.4",
-        "@babel/helpers": "^7.15.4",
-        "@babel/parser": "^7.15.5",
-        "@babel/template": "^7.15.4",
-        "@babel/traverse": "^7.15.4",
-        "@babel/types": "^7.15.4",
-        "convert-source-map": "^1.7.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.2",
-        "json5": "^2.1.2",
-        "semver": "^6.3.0",
-        "source-map": "^0.5.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/babel"
-      }
-    },
-    "node_modules/@babel/core/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/@babel/generator": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz",
-      "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.15.4",
-        "jsesc": "^2.5.1",
-        "source-map": "^0.5.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-annotate-as-pure": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz",
-      "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz",
-      "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-explode-assignable-expression": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-compilation-targets": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz",
-      "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.15.0",
-        "@babel/helper-validator-option": "^7.14.5",
-        "browserslist": "^4.16.6",
-        "semver": "^6.3.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/@babel/helper-create-class-features-plugin": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz",
-      "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.15.4",
-        "@babel/helper-function-name": "^7.15.4",
-        "@babel/helper-member-expression-to-functions": "^7.15.4",
-        "@babel/helper-optimise-call-expression": "^7.15.4",
-        "@babel/helper-replace-supers": "^7.15.4",
-        "@babel/helper-split-export-declaration": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/helper-create-regexp-features-plugin": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz",
-      "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.14.5",
-        "regexpu-core": "^4.7.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/helper-define-polyfill-provider": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz",
-      "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-compilation-targets": "^7.13.0",
-        "@babel/helper-module-imports": "^7.12.13",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/traverse": "^7.13.0",
-        "debug": "^4.1.1",
-        "lodash.debounce": "^4.0.8",
-        "resolve": "^1.14.2",
-        "semver": "^6.1.2"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.4.0-0"
-      }
-    },
-    "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/@babel/helper-explode-assignable-expression": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz",
-      "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-function-name": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz",
-      "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-get-function-arity": "^7.15.4",
-        "@babel/template": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-get-function-arity": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz",
-      "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-hoist-variables": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz",
-      "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-member-expression-to-functions": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz",
-      "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-module-imports": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz",
-      "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-module-transforms": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz",
-      "integrity": "sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-imports": "^7.15.4",
-        "@babel/helper-replace-supers": "^7.15.4",
-        "@babel/helper-simple-access": "^7.15.4",
-        "@babel/helper-split-export-declaration": "^7.15.4",
-        "@babel/helper-validator-identifier": "^7.14.9",
-        "@babel/template": "^7.15.4",
-        "@babel/traverse": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-optimise-call-expression": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz",
-      "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-plugin-utils": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
-      "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-remap-async-to-generator": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz",
-      "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.15.4",
-        "@babel/helper-wrap-function": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-replace-supers": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz",
-      "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-member-expression-to-functions": "^7.15.4",
-        "@babel/helper-optimise-call-expression": "^7.15.4",
-        "@babel/traverse": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-simple-access": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz",
-      "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz",
-      "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-split-export-declaration": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz",
-      "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-validator-identifier": {
-      "version": "7.14.9",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz",
-      "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-validator-option": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
-      "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-wrap-function": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz",
-      "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-function-name": "^7.15.4",
-        "@babel/template": "^7.15.4",
-        "@babel/traverse": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helpers": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz",
-      "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/template": "^7.15.4",
-        "@babel/traverse": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/highlight": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz",
-      "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-validator-identifier": "^7.14.5",
-        "chalk": "^2.0.0",
-        "js-tokens": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/parser": {
-      "version": "7.15.5",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.5.tgz",
-      "integrity": "sha512-2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg==",
-      "dev": true,
-      "bin": {
-        "parser": "bin/babel-parser.js"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz",
-      "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4",
-        "@babel/plugin-proposal-optional-chaining": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.13.0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz",
-      "integrity": "sha512-2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-remap-async-to-generator": "^7.15.4",
-        "@babel/plugin-syntax-async-generators": "^7.8.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-class-properties": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz",
-      "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-class-static-block": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz",
-      "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.15.4",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.12.0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-decorators": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz",
-      "integrity": "sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.12.1",
-        "@babel/helper-plugin-utils": "^7.10.4",
-        "@babel/plugin-syntax-decorators": "^7.12.1"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-dynamic-import": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz",
-      "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-export-namespace-from": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz",
-      "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-json-strings": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz",
-      "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-json-strings": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz",
-      "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz",
-      "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-numeric-separator": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz",
-      "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-object-rest-spread": {
-      "version": "7.14.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz",
-      "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.14.7",
-        "@babel/helper-compilation-targets": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-transform-parameters": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-optional-catch-binding": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz",
-      "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-optional-chaining": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz",
-      "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-private-methods": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz",
-      "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-private-property-in-object": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz",
-      "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.15.4",
-        "@babel/helper-create-class-features-plugin": "^7.15.4",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-unicode-property-regex": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz",
-      "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-async-generators": {
-      "version": "7.8.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
-      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-bigint": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
-      "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-class-properties": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
-      "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-class-static-block": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
-      "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-decorators": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz",
-      "integrity": "sha512-c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-dynamic-import": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
-      "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-export-namespace-from": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
-      "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.3"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-flow": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.14.5.tgz",
-      "integrity": "sha512-9WK5ZwKCdWHxVuU13XNT6X73FGmutAXeor5lGFq6qhOFtMFUF4jkbijuyUdZZlpYq6E2hZeZf/u3959X9wsv0Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-import-meta": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
-      "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-json-strings": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
-      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-jsx": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz",
-      "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
-      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
-      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-numeric-separator": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
-      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-object-rest-spread": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
-      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
-      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-optional-chaining": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
-      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-private-property-in-object": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
-      "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-top-level-await": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
-      "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-typescript": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz",
-      "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-arrow-functions": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz",
-      "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-async-to-generator": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz",
-      "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-imports": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-remap-async-to-generator": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz",
-      "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-block-scoping": {
-      "version": "7.15.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz",
-      "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-classes": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz",
-      "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.15.4",
-        "@babel/helper-function-name": "^7.15.4",
-        "@babel/helper-optimise-call-expression": "^7.15.4",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-replace-supers": "^7.15.4",
-        "@babel/helper-split-export-declaration": "^7.15.4",
-        "globals": "^11.1.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-computed-properties": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz",
-      "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-destructuring": {
-      "version": "7.14.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz",
-      "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-dotall-regex": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz",
-      "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-duplicate-keys": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz",
-      "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz",
-      "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-flow-strip-types": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz",
-      "integrity": "sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4",
-        "@babel/plugin-syntax-flow": "^7.12.1"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-for-of": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz",
-      "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-function-name": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz",
-      "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-function-name": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-literals": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz",
-      "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-member-expression-literals": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz",
-      "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-modules-amd": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz",
-      "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-transforms": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-modules-commonjs": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz",
-      "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-transforms": "^7.15.4",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-simple-access": "^7.15.4",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-modules-systemjs": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz",
-      "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-hoist-variables": "^7.15.4",
-        "@babel/helper-module-transforms": "^7.15.4",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-validator-identifier": "^7.14.9",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-modules-umd": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz",
-      "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-transforms": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.14.9",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz",
-      "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-new-target": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz",
-      "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-object-super": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz",
-      "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-replace-supers": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-parameters": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz",
-      "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-property-literals": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz",
-      "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-react-constant-elements": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz",
-      "integrity": "sha512-NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-react-display-name": {
-      "version": "7.15.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz",
-      "integrity": "sha512-yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-react-jsx": {
-      "version": "7.14.9",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz",
-      "integrity": "sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.14.5",
-        "@babel/helper-module-imports": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-jsx": "^7.14.5",
-        "@babel/types": "^7.14.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-react-jsx-development": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz",
-      "integrity": "sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/plugin-transform-react-jsx": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-react-pure-annotations": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz",
-      "integrity": "sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-regenerator": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz",
-      "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==",
-      "dev": true,
-      "dependencies": {
-        "regenerator-transform": "^0.14.2"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-reserved-words": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz",
-      "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-runtime": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz",
-      "integrity": "sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-imports": "^7.12.1",
-        "@babel/helper-plugin-utils": "^7.10.4",
-        "resolve": "^1.8.1",
-        "semver": "^5.5.1"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-runtime/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/@babel/plugin-transform-shorthand-properties": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz",
-      "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-spread": {
-      "version": "7.14.6",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz",
-      "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-sticky-regex": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz",
-      "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-template-literals": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz",
-      "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-typeof-symbol": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz",
-      "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-typescript": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.4.tgz",
-      "integrity": "sha512-sM1/FEjwYjXvMwu1PJStH11kJ154zd/lpY56NQJ5qH2D0mabMv1CAy/kdvS9RP4Xgfj9fBBA3JiSLdDHgXdzOA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.15.4",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-typescript": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-unicode-escapes": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz",
-      "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-unicode-regex": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz",
-      "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/preset-env": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.4.tgz",
-      "integrity": "sha512-4f2nLw+q6ht8gl3sHCmNhmA5W6b1ItLzbH3UrKuJxACHr2eCpk96jwjrAfCAaXaaVwTQGnyUYHY2EWXJGt7TUQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.15.0",
-        "@babel/helper-compilation-targets": "^7.15.4",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-validator-option": "^7.14.5",
-        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4",
-        "@babel/plugin-proposal-async-generator-functions": "^7.15.4",
-        "@babel/plugin-proposal-class-properties": "^7.14.5",
-        "@babel/plugin-proposal-class-static-block": "^7.15.4",
-        "@babel/plugin-proposal-dynamic-import": "^7.14.5",
-        "@babel/plugin-proposal-export-namespace-from": "^7.14.5",
-        "@babel/plugin-proposal-json-strings": "^7.14.5",
-        "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5",
-        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5",
-        "@babel/plugin-proposal-numeric-separator": "^7.14.5",
-        "@babel/plugin-proposal-object-rest-spread": "^7.14.7",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.14.5",
-        "@babel/plugin-proposal-optional-chaining": "^7.14.5",
-        "@babel/plugin-proposal-private-methods": "^7.14.5",
-        "@babel/plugin-proposal-private-property-in-object": "^7.15.4",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.14.5",
-        "@babel/plugin-syntax-async-generators": "^7.8.4",
-        "@babel/plugin-syntax-class-properties": "^7.12.13",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
-        "@babel/plugin-syntax-json-strings": "^7.8.3",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
-        "@babel/plugin-syntax-top-level-await": "^7.14.5",
-        "@babel/plugin-transform-arrow-functions": "^7.14.5",
-        "@babel/plugin-transform-async-to-generator": "^7.14.5",
-        "@babel/plugin-transform-block-scoped-functions": "^7.14.5",
-        "@babel/plugin-transform-block-scoping": "^7.15.3",
-        "@babel/plugin-transform-classes": "^7.15.4",
-        "@babel/plugin-transform-computed-properties": "^7.14.5",
-        "@babel/plugin-transform-destructuring": "^7.14.7",
-        "@babel/plugin-transform-dotall-regex": "^7.14.5",
-        "@babel/plugin-transform-duplicate-keys": "^7.14.5",
-        "@babel/plugin-transform-exponentiation-operator": "^7.14.5",
-        "@babel/plugin-transform-for-of": "^7.15.4",
-        "@babel/plugin-transform-function-name": "^7.14.5",
-        "@babel/plugin-transform-literals": "^7.14.5",
-        "@babel/plugin-transform-member-expression-literals": "^7.14.5",
-        "@babel/plugin-transform-modules-amd": "^7.14.5",
-        "@babel/plugin-transform-modules-commonjs": "^7.15.4",
-        "@babel/plugin-transform-modules-systemjs": "^7.15.4",
-        "@babel/plugin-transform-modules-umd": "^7.14.5",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9",
-        "@babel/plugin-transform-new-target": "^7.14.5",
-        "@babel/plugin-transform-object-super": "^7.14.5",
-        "@babel/plugin-transform-parameters": "^7.15.4",
-        "@babel/plugin-transform-property-literals": "^7.14.5",
-        "@babel/plugin-transform-regenerator": "^7.14.5",
-        "@babel/plugin-transform-reserved-words": "^7.14.5",
-        "@babel/plugin-transform-shorthand-properties": "^7.14.5",
-        "@babel/plugin-transform-spread": "^7.14.6",
-        "@babel/plugin-transform-sticky-regex": "^7.14.5",
-        "@babel/plugin-transform-template-literals": "^7.14.5",
-        "@babel/plugin-transform-typeof-symbol": "^7.14.5",
-        "@babel/plugin-transform-unicode-escapes": "^7.14.5",
-        "@babel/plugin-transform-unicode-regex": "^7.14.5",
-        "@babel/preset-modules": "^0.1.4",
-        "@babel/types": "^7.15.4",
-        "babel-plugin-polyfill-corejs2": "^0.2.2",
-        "babel-plugin-polyfill-corejs3": "^0.2.2",
-        "babel-plugin-polyfill-regenerator": "^0.2.2",
-        "core-js-compat": "^3.16.0",
-        "semver": "^6.3.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/preset-env/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/@babel/preset-modules": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz",
-      "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
-        "@babel/plugin-transform-dotall-regex": "^7.4.4",
-        "@babel/types": "^7.4.4",
-        "esutils": "^2.0.2"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/preset-react": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.14.5.tgz",
-      "integrity": "sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-validator-option": "^7.14.5",
-        "@babel/plugin-transform-react-display-name": "^7.14.5",
-        "@babel/plugin-transform-react-jsx": "^7.14.5",
-        "@babel/plugin-transform-react-jsx-development": "^7.14.5",
-        "@babel/plugin-transform-react-pure-annotations": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/preset-typescript": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz",
-      "integrity": "sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4",
-        "@babel/plugin-transform-typescript": "^7.12.1"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/runtime": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz",
-      "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==",
-      "dependencies": {
-        "regenerator-runtime": "^0.13.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/runtime-corejs3": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.4.tgz",
-      "integrity": "sha512-lWcAqKeB624/twtTc3w6w/2o9RqJPaNBhPGK6DKLSiwuVWC7WFkypWyNg+CpZoyJH0jVzv1uMtXZ/5/lQOLtCg==",
-      "dev": true,
-      "dependencies": {
-        "core-js-pure": "^3.16.0",
-        "regenerator-runtime": "^0.13.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/template": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz",
-      "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.14.5",
-        "@babel/parser": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/traverse": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz",
-      "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.14.5",
-        "@babel/generator": "^7.15.4",
-        "@babel/helper-function-name": "^7.15.4",
-        "@babel/helper-hoist-variables": "^7.15.4",
-        "@babel/helper-split-export-declaration": "^7.15.4",
-        "@babel/parser": "^7.15.4",
-        "@babel/types": "^7.15.4",
-        "debug": "^4.1.0",
-        "globals": "^11.1.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/types": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz",
-      "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-validator-identifier": "^7.14.9",
-        "to-fast-properties": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@bcoe/v8-coverage": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
-      "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
-      "dev": true
-    },
-    "node_modules/@cnakazawa/watch": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
-      "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==",
-      "dev": true,
-      "dependencies": {
-        "exec-sh": "^0.3.2",
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "watch": "cli.js"
-      },
-      "engines": {
-        "node": ">=0.1.95"
-      }
-    },
-    "node_modules/@codemirror/autocomplete": {
-      "version": "0.18.8",
-      "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.8.tgz",
-      "integrity": "sha512-Va1Q763Vu/rVmIazru/ZnO2kkWVq6SlmMEjeD0qmxLAypyP6j/QNdpmaPDI1qb/+Mb9VFZBbac6a0aLTTi8qxQ==",
-      "dependencies": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/tooltip": "^0.18.4",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "node_modules/@codemirror/closebrackets": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/closebrackets/-/closebrackets-0.18.0.tgz",
-      "integrity": "sha512-O1RAgUkzF4nq/B8IyXenZKZ1rJi2Mc7I6y4IhWhELiTnjyQy7YdAthTsJ40mNr8kZ6gRbasYe3K7TraITElZJA==",
-      "dependencies": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/commands": {
-      "version": "0.18.3",
-      "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-0.18.3.tgz",
-      "integrity": "sha512-nHYDG13qOirioXTAKmjl10W2L0eZ1ftvmTwvUTNY27UWVBPFSpk5zDXP3WqJ0mgMhQ4AOFLJaTjJEO3hmPComg==",
-      "dependencies": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/matchbrackets": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "node_modules/@codemirror/comment": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/comment/-/comment-0.18.1.tgz",
-      "integrity": "sha512-Inhqs0F24WE28Fcp1dBZghwixBGv1HDwY9MjE0d5tpMY/IPGI6uT30fGyHAXrir6hUqk7eJRkO4UYnODGOnoIA==",
-      "dependencies": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/highlight": {
-      "version": "0.18.4",
-      "resolved": "https://registry.npmjs.org/@codemirror/highlight/-/highlight-0.18.4.tgz",
-      "integrity": "sha512-3azJntqWrShOIq/0kVcdMc9k7ACL0LQErgK+A6aWXmCj5Mx0gShq+Iajy8AMQ2zB0v3nhCBgFaniL1LLD5m5hQ==",
-      "dependencies": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0",
-        "style-mod": "^4.0.0"
-      }
-    },
-    "node_modules/@codemirror/history": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/history/-/history-0.18.1.tgz",
-      "integrity": "sha512-Aad3p4zs6UYKCUMXYjh7cvPK0ajuL+rMib9yBZ61w81LLl6OkM31Xrn9J6CLJmPxCwP3OJFiqBmNSBQ05oIsTw==",
-      "dependencies": {
-        "@codemirror/state": "^0.18.3",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/language": {
-      "version": "0.18.2",
-      "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-0.18.2.tgz",
-      "integrity": "sha512-2Kz0Xyfvt1Ex2KfTUcYZ3IBxpnFCqHaJijwZknGBT7JXv9dwbOPs9SfPfL4oxVuDIHZx8JTPfoV3LTTJrm8M3Q==",
-      "dependencies": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer": "^0.13.4",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "node_modules/@codemirror/lint": {
-      "version": "0.18.6",
-      "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.6.tgz",
-      "integrity": "sha512-juE05YyDoLp9WCcR0hQagphOCIZ0r4WRocRFu9tbFwsMjfuForjn4m+wsLSDaDgp2Z9secMyOSGDpBNtVwM9lQ==",
-      "dependencies": {
-        "@codemirror/panel": "^0.18.1",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/tooltip": "^0.18.4",
-        "@codemirror/view": "^0.18.0",
-        "crelt": "^1.0.5"
-      }
-    },
-    "node_modules/@codemirror/matchbrackets": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/matchbrackets/-/matchbrackets-0.18.0.tgz",
-      "integrity": "sha512-dPDopnZVkD54sSYdmQbyQbPdiuIA83p7XxX6Hp1ScEkOjukwCiFXiA/84x10FUTsQpUYp8bDzm7gwII119bGIw==",
-      "dependencies": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "node_modules/@codemirror/panel": {
-      "version": "0.18.2",
-      "resolved": "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.2.tgz",
-      "integrity": "sha512-ea/g2aAKtfmie1kD7C8GDutD/5u+uzRJr/varUiAbHKr1sAdjtz5xYvC3GBAMYMan1GOh0vD5zP1yEupJl3b3Q==",
-      "dependencies": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/rangeset": {
-      "version": "0.18.5",
-      "resolved": "https://registry.npmjs.org/@codemirror/rangeset/-/rangeset-0.18.5.tgz",
-      "integrity": "sha512-gvYniNeEbGRp74MM8EQ+0tylK85pVody4r4N5bs94msPwHQSKFkEmosl8tVmS0Z4e8gRtlB37m8/cWoRiuSz5Q==",
-      "dependencies": {
-        "@codemirror/state": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/search": {
-      "version": "0.18.4",
-      "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.18.4.tgz",
-      "integrity": "sha512-3chVkMPzl+pTUSqtimTicebhti4SLpvkj03pQx2aPZScXxIiYuDk4cLdIJK9omjmO1+oycRKbOrqvG7iZJJwMg==",
-      "dependencies": {
-        "@codemirror/panel": "^0.18.1",
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.6",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "crelt": "^1.0.5"
-      }
-    },
-    "node_modules/@codemirror/state": {
-      "version": "0.18.7",
-      "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.18.7.tgz",
-      "integrity": "sha512-cVyTiAC9vv90NKmGOfNtBjyIem3BqKui1L5Hfcxurp8K9votQj2oH9COcgWPnQ2Xs64yC70tEuTt9DF1pj5PFQ==",
-      "dependencies": {
-        "@codemirror/text": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/text": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/text/-/text-0.18.1.tgz",
-      "integrity": "sha512-vjXs6mi1F418kucTPlFvnCt9glKnjtYssdXb8mm1oaY/F5O+tgGVepm9Z8F7AKWCQvW8Bns1D3uLz/DOIEywIw=="
-    },
-    "node_modules/@codemirror/tooltip": {
-      "version": "0.18.4",
-      "resolved": "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.4.tgz",
-      "integrity": "sha512-LDlDOSEfjoG24uapLN7exK3Z3JchYFKUwWqo1x/9YdlAkmD1ik7cMSQZboCquP1uJVcXhtbpKmaO6vENGVaarg==",
-      "dependencies": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "node_modules/@codemirror/view": {
-      "version": "0.18.19",
-      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-0.18.19.tgz",
-      "integrity": "sha512-TmazVl8H3L+aYwlNb8xk6qADRb8KiYOO047pz51R4mGCg4Ja2siSjXktZgUvklsyWbUY7h9q+oAf4piH+mQZTw==",
-      "dependencies": {
-        "@codemirror/rangeset": "^0.18.2",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.1",
-        "style-mod": "^4.0.0",
-        "w3c-keyname": "^2.2.4"
-      }
-    },
-    "node_modules/@csstools/convert-colors": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz",
-      "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/@csstools/normalize.css": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz",
-      "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==",
-      "dev": true
-    },
-    "node_modules/@eslint/eslintrc": {
-      "version": "0.4.3",
-      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
-      "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
-      "dev": true,
-      "dependencies": {
-        "ajv": "^6.12.4",
-        "debug": "^4.1.1",
-        "espree": "^7.3.0",
-        "globals": "^13.9.0",
-        "ignore": "^4.0.6",
-        "import-fresh": "^3.2.1",
-        "js-yaml": "^3.13.1",
-        "minimatch": "^3.0.4",
-        "strip-json-comments": "^3.1.1"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      }
-    },
-    "node_modules/@eslint/eslintrc/node_modules/globals": {
-      "version": "13.11.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz",
-      "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==",
-      "dev": true,
-      "dependencies": {
-        "type-fest": "^0.20.2"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@eslint/eslintrc/node_modules/type-fest": {
-      "version": "0.20.2",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
-      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@forevolve/bootstrap-dark": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@forevolve/bootstrap-dark/-/bootstrap-dark-1.1.0.tgz",
-      "integrity": "sha512-A3ucpEpxPoTVO490lZZCfjPXxv832l7mm1IxX3bXyxvgwnPGXDLyh7dWrphXKO8YBAu3EswbBEu3VSW8NRMW3A==",
-      "dependencies": {
-        "bootstrap": "^4.6.0",
-        "jquery": "^3.5.1",
-        "popper.js": "^1.16.1"
-      }
-    },
-    "node_modules/@fortawesome/fontawesome-common-types": {
-      "version": "0.2.36",
-      "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz",
-      "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==",
-      "hasInstallScript": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/@fortawesome/fontawesome-svg-core": {
-      "version": "1.2.36",
-      "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz",
-      "integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==",
-      "hasInstallScript": true,
-      "dependencies": {
-        "@fortawesome/fontawesome-common-types": "^0.2.36"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/@fortawesome/free-solid-svg-icons": {
-      "version": "5.15.4",
-      "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz",
-      "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==",
-      "hasInstallScript": true,
-      "dependencies": {
-        "@fortawesome/fontawesome-common-types": "^0.2.36"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/@fortawesome/react-fontawesome": {
-      "version": "0.1.15",
-      "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.15.tgz",
-      "integrity": "sha512-/HFHdcoLESxxMkqZAcZ6RXDJ69pVApwdwRos/B2kiMWxDSAX2dFK8Er2/+rG+RsrzWB/dsAyjefLmemgmfE18g==",
-      "dependencies": {
-        "prop-types": "^15.7.2"
-      },
-      "peerDependencies": {
-        "@fortawesome/fontawesome-svg-core": "^1.2.32",
-        "react": ">=16.x"
-      }
-    },
-    "node_modules/@gar/promisify": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz",
-      "integrity": "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==",
-      "dev": true
-    },
-    "node_modules/@hapi/address": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
-      "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==",
-      "deprecated": "Moved to 'npm install @sideway/address'",
-      "dev": true
-    },
-    "node_modules/@hapi/bourne": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz",
-      "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==",
-      "deprecated": "This version has been deprecated and is no longer supported or maintained",
-      "dev": true
-    },
-    "node_modules/@hapi/hoek": {
-      "version": "8.5.1",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz",
-      "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==",
-      "deprecated": "This version has been deprecated and is no longer supported or maintained",
-      "dev": true
-    },
-    "node_modules/@hapi/joi": {
-      "version": "15.1.1",
-      "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz",
-      "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==",
-      "deprecated": "Switch to 'npm install joi'",
-      "dev": true,
-      "dependencies": {
-        "@hapi/address": "2.x.x",
-        "@hapi/bourne": "1.x.x",
-        "@hapi/hoek": "8.x.x",
-        "@hapi/topo": "3.x.x"
-      }
-    },
-    "node_modules/@hapi/topo": {
-      "version": "3.1.6",
-      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz",
-      "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==",
-      "deprecated": "This version has been deprecated and is no longer supported or maintained",
-      "dev": true,
-      "dependencies": {
-        "@hapi/hoek": "^8.3.0"
-      }
-    },
-    "node_modules/@humanwhocodes/config-array": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
-      "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
-      "dev": true,
-      "dependencies": {
-        "@humanwhocodes/object-schema": "^1.2.0",
-        "debug": "^4.1.1",
-        "minimatch": "^3.0.4"
-      },
-      "engines": {
-        "node": ">=10.10.0"
-      }
-    },
-    "node_modules/@humanwhocodes/object-schema": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz",
-      "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==",
-      "dev": true
-    },
-    "node_modules/@istanbuljs/load-nyc-config": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
-      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
-      "dev": true,
-      "dependencies": {
-        "camelcase": "^5.3.1",
-        "find-up": "^4.1.0",
-        "get-package-type": "^0.1.0",
-        "js-yaml": "^3.13.1",
-        "resolve-from": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/schema": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
-      "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/console": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz",
-      "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "jest-message-util": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/console/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/console/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/@jest/console/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/@jest/console/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@jest/console/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@jest/console/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/@jest/console/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/console/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/core": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz",
-      "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==",
-      "dev": true,
-      "dependencies": {
-        "@jest/console": "^26.6.2",
-        "@jest/reporters": "^26.6.2",
-        "@jest/test-result": "^26.6.2",
-        "@jest/transform": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^4.0.0",
-        "exit": "^0.1.2",
-        "graceful-fs": "^4.2.4",
-        "jest-changed-files": "^26.6.2",
-        "jest-config": "^26.6.3",
-        "jest-haste-map": "^26.6.2",
-        "jest-message-util": "^26.6.2",
-        "jest-regex-util": "^26.0.0",
-        "jest-resolve": "^26.6.2",
-        "jest-resolve-dependencies": "^26.6.3",
-        "jest-runner": "^26.6.3",
-        "jest-runtime": "^26.6.3",
-        "jest-snapshot": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "jest-validate": "^26.6.2",
-        "jest-watcher": "^26.6.2",
-        "micromatch": "^4.0.2",
-        "p-each-series": "^2.1.0",
-        "rimraf": "^3.0.0",
-        "slash": "^3.0.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/core/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/core/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/@jest/core/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/@jest/core/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@jest/core/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@jest/core/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/@jest/core/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/core/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/core/node_modules/jest-config": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz",
-      "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.1.0",
-        "@jest/test-sequencer": "^26.6.3",
-        "@jest/types": "^26.6.2",
-        "babel-jest": "^26.6.3",
-        "chalk": "^4.0.0",
-        "deepmerge": "^4.2.2",
-        "glob": "^7.1.1",
-        "graceful-fs": "^4.2.4",
-        "jest-environment-jsdom": "^26.6.2",
-        "jest-environment-node": "^26.6.2",
-        "jest-get-type": "^26.3.0",
-        "jest-jasmine2": "^26.6.3",
-        "jest-regex-util": "^26.0.0",
-        "jest-resolve": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "jest-validate": "^26.6.2",
-        "micromatch": "^4.0.2",
-        "pretty-format": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      },
-      "peerDependencies": {
-        "ts-node": ">=9.0.0"
-      },
-      "peerDependenciesMeta": {
-        "ts-node": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@jest/core/node_modules/jest-get-type": {
-      "version": "26.3.0",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-      "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/core/node_modules/jest-resolve": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz",
-      "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.4",
-        "jest-pnp-resolver": "^1.2.2",
-        "jest-util": "^26.6.2",
-        "read-pkg-up": "^7.0.1",
-        "resolve": "^1.18.1",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/core/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/core/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@jest/core/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/core/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/@jest/core/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/core/node_modules/pretty-format": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-      "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "ansi-regex": "^5.0.0",
-        "ansi-styles": "^4.0.0",
-        "react-is": "^17.0.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/@jest/core/node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true
-    },
-    "node_modules/@jest/core/node_modules/read-pkg": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-      "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-      "dev": true,
-      "dependencies": {
-        "@types/normalize-package-data": "^2.4.0",
-        "normalize-package-data": "^2.5.0",
-        "parse-json": "^5.0.0",
-        "type-fest": "^0.6.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/core/node_modules/read-pkg-up": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-      "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^4.1.0",
-        "read-pkg": "^5.2.0",
-        "type-fest": "^0.8.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@jest/core/node_modules/read-pkg/node_modules/type-fest": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-      "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/core/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/core/node_modules/type-fest": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/environment": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz",
-      "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==",
-      "dev": true,
-      "dependencies": {
-        "@jest/fake-timers": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "jest-mock": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/environment/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/environment/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/@jest/environment/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/@jest/environment/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@jest/environment/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@jest/environment/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/@jest/environment/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/environment/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/fake-timers": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz",
-      "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "@sinonjs/fake-timers": "^6.0.1",
-        "@types/node": "*",
-        "jest-message-util": "^26.6.2",
-        "jest-mock": "^26.6.2",
-        "jest-util": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/fake-timers/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/fake-timers/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/@jest/fake-timers/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/@jest/fake-timers/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@jest/fake-timers/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@jest/fake-timers/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/@jest/fake-timers/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/fake-timers/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/globals": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz",
-      "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==",
-      "dev": true,
-      "dependencies": {
-        "@jest/environment": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "expect": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/globals/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/globals/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/@jest/globals/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/@jest/globals/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@jest/globals/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@jest/globals/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/@jest/globals/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/globals/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/reporters": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz",
-      "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==",
-      "dev": true,
-      "dependencies": {
-        "@bcoe/v8-coverage": "^0.2.3",
-        "@jest/console": "^26.6.2",
-        "@jest/test-result": "^26.6.2",
-        "@jest/transform": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "chalk": "^4.0.0",
-        "collect-v8-coverage": "^1.0.0",
-        "exit": "^0.1.2",
-        "glob": "^7.1.2",
-        "graceful-fs": "^4.2.4",
-        "istanbul-lib-coverage": "^3.0.0",
-        "istanbul-lib-instrument": "^4.0.3",
-        "istanbul-lib-report": "^3.0.0",
-        "istanbul-lib-source-maps": "^4.0.0",
-        "istanbul-reports": "^3.0.2",
-        "jest-haste-map": "^26.6.2",
-        "jest-resolve": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "jest-worker": "^26.6.2",
-        "slash": "^3.0.0",
-        "source-map": "^0.6.0",
-        "string-length": "^4.0.1",
-        "terminal-link": "^2.0.0",
-        "v8-to-istanbul": "^7.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      },
-      "optionalDependencies": {
-        "node-notifier": "^8.0.0"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/@jest/reporters/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/jest-resolve": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz",
-      "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.4",
-        "jest-pnp-resolver": "^1.2.2",
-        "jest-util": "^26.6.2",
-        "read-pkg-up": "^7.0.1",
-        "resolve": "^1.18.1",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/read-pkg": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-      "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-      "dev": true,
-      "dependencies": {
-        "@types/normalize-package-data": "^2.4.0",
-        "normalize-package-data": "^2.5.0",
-        "parse-json": "^5.0.0",
-        "type-fest": "^0.6.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/read-pkg-up": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-      "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^4.1.0",
-        "read-pkg": "^5.2.0",
-        "type-fest": "^0.8.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/read-pkg/node_modules/type-fest": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-      "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/type-fest": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/source-map": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz",
-      "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==",
-      "dev": true,
-      "dependencies": {
-        "callsites": "^3.0.0",
-        "graceful-fs": "^4.2.4",
-        "source-map": "^0.6.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/source-map/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/@jest/test-result": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz",
-      "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==",
-      "dev": true,
-      "dependencies": {
-        "@jest/console": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "collect-v8-coverage": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/test-result/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/test-result/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/@jest/test-result/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/@jest/test-result/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@jest/test-result/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@jest/test-result/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/@jest/test-result/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/test-result/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/test-sequencer": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz",
-      "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==",
-      "dev": true,
-      "dependencies": {
-        "@jest/test-result": "^26.6.2",
-        "graceful-fs": "^4.2.4",
-        "jest-haste-map": "^26.6.2",
-        "jest-runner": "^26.6.3",
-        "jest-runtime": "^26.6.3"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/transform": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz",
-      "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.1.0",
-        "@jest/types": "^26.6.2",
-        "babel-plugin-istanbul": "^6.0.0",
-        "chalk": "^4.0.0",
-        "convert-source-map": "^1.4.0",
-        "fast-json-stable-stringify": "^2.0.0",
-        "graceful-fs": "^4.2.4",
-        "jest-haste-map": "^26.6.2",
-        "jest-regex-util": "^26.0.0",
-        "jest-util": "^26.6.2",
-        "micromatch": "^4.0.2",
-        "pirates": "^4.0.1",
-        "slash": "^3.0.0",
-        "source-map": "^0.6.1",
-        "write-file-atomic": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/transform/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/@jest/transform/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/@jest/transform/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/@jest/transform/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@jest/transform/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@jest/transform/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/@jest/transform/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/transform/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/@jest/transform/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/types": {
-      "version": "27.1.0",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.1.0.tgz",
-      "integrity": "sha512-pRP5cLIzN7I7Vp6mHKRSaZD7YpBTK7hawx5si8trMKqk4+WOdK8NEKOTO2G8PKWD1HbKMVckVB6/XHh/olhf2g==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^16.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/@jest/types/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/@jest/types/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@jest/types/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@jest/types/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/@jest/types/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/types/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@nexucis/fuzzy": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/@nexucis/fuzzy/-/fuzzy-0.3.0.tgz",
-      "integrity": "sha512-Z1+ADKY0fxdBE28REraWhUCNy+Bp5UmpK3Tc/5wdCDpY+6fXh8l2csMtbPGaqEBsyGLxJz9wUYGCf+CW9unyvQ=="
-    },
-    "node_modules/@nodelib/fs.scandir": {
-      "version": "2.1.5",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
-      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
-      "dev": true,
-      "dependencies": {
-        "@nodelib/fs.stat": "2.0.5",
-        "run-parallel": "^1.1.9"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/@nodelib/fs.stat": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
-      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/@nodelib/fs.walk": {
-      "version": "1.2.8",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
-      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
-      "dev": true,
-      "dependencies": {
-        "@nodelib/fs.scandir": "2.1.5",
-        "fastq": "^1.6.0"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/@npmcli/fs": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz",
-      "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==",
-      "dev": true,
-      "dependencies": {
-        "@gar/promisify": "^1.0.1",
-        "semver": "^7.3.5"
-      }
-    },
-    "node_modules/@npmcli/move-file": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
-      "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
-      "dev": true,
-      "dependencies": {
-        "mkdirp": "^1.0.4",
-        "rimraf": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@npmcli/move-file/node_modules/mkdirp": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-      "dev": true,
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@pmmmwh/react-refresh-webpack-plugin": {
-      "version": "0.4.3",
-      "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz",
-      "integrity": "sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==",
-      "dev": true,
-      "dependencies": {
-        "ansi-html": "^0.0.7",
-        "error-stack-parser": "^2.0.6",
-        "html-entities": "^1.2.1",
-        "native-url": "^0.2.6",
-        "schema-utils": "^2.6.5",
-        "source-map": "^0.7.3"
-      },
-      "engines": {
-        "node": ">= 10.x"
-      },
-      "peerDependencies": {
-        "@types/webpack": "4.x",
-        "react-refresh": ">=0.8.3 <0.10.0",
-        "sockjs-client": "^1.4.0",
-        "type-fest": "^0.13.1",
-        "webpack": ">=4.43.0 <6.0.0",
-        "webpack-dev-server": "3.x",
-        "webpack-hot-middleware": "2.x",
-        "webpack-plugin-serve": "0.x || 1.x"
-      },
-      "peerDependenciesMeta": {
-        "@types/webpack": {
-          "optional": true
-        },
-        "sockjs-client": {
-          "optional": true
-        },
-        "type-fest": {
-          "optional": true
-        },
-        "webpack-dev-server": {
-          "optional": true
-        },
-        "webpack-hot-middleware": {
-          "optional": true
-        },
-        "webpack-plugin-serve": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@pmmmwh/react-refresh-webpack-plugin/node_modules/source-map": {
-      "version": "0.7.3",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/@rollup/plugin-node-resolve": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz",
-      "integrity": "sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==",
-      "dev": true,
-      "dependencies": {
-        "@rollup/pluginutils": "^3.0.8",
-        "@types/resolve": "0.0.8",
-        "builtin-modules": "^3.1.0",
-        "is-module": "^1.0.0",
-        "resolve": "^1.14.2"
-      },
-      "engines": {
-        "node": ">= 8.0.0"
-      },
-      "peerDependencies": {
-        "rollup": "^1.20.0||^2.0.0"
-      }
-    },
-    "node_modules/@rollup/plugin-replace": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz",
-      "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==",
-      "dev": true,
-      "dependencies": {
-        "@rollup/pluginutils": "^3.1.0",
-        "magic-string": "^0.25.7"
-      },
-      "peerDependencies": {
-        "rollup": "^1.20.0 || ^2.0.0"
-      }
-    },
-    "node_modules/@rollup/pluginutils": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
-      "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
-      "dev": true,
-      "dependencies": {
-        "@types/estree": "0.0.39",
-        "estree-walker": "^1.0.1",
-        "picomatch": "^2.2.2"
-      },
-      "engines": {
-        "node": ">= 8.0.0"
-      },
-      "peerDependencies": {
-        "rollup": "^1.20.0||^2.0.0"
-      }
-    },
-    "node_modules/@rollup/pluginutils/node_modules/@types/estree": {
-      "version": "0.0.39",
-      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
-      "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
-      "dev": true
-    },
-    "node_modules/@sinonjs/commons": {
-      "version": "1.8.3",
-      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
-      "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
-      "dev": true,
-      "dependencies": {
-        "type-detect": "4.0.8"
-      }
-    },
-    "node_modules/@sinonjs/fake-timers": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz",
-      "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==",
-      "dev": true,
-      "dependencies": {
-        "@sinonjs/commons": "^1.7.0"
-      }
-    },
-    "node_modules/@sinonjs/samsam": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz",
-      "integrity": "sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==",
-      "dev": true,
-      "dependencies": {
-        "@sinonjs/commons": "^1.6.0",
-        "lodash.get": "^4.4.2",
-        "type-detect": "^4.0.8"
-      }
-    },
-    "node_modules/@sinonjs/text-encoding": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz",
-      "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==",
-      "dev": true
-    },
-    "node_modules/@surma/rollup-plugin-off-main-thread": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz",
-      "integrity": "sha512-yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A==",
-      "dev": true,
-      "dependencies": {
-        "ejs": "^2.6.1",
-        "magic-string": "^0.25.0"
-      }
-    },
-    "node_modules/@svgr/babel-plugin-add-jsx-attribute": {
-      "version": "5.4.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz",
-      "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
-    "node_modules/@svgr/babel-plugin-remove-jsx-attribute": {
-      "version": "5.4.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz",
-      "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
-    "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz",
-      "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
-    "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz",
-      "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
-    "node_modules/@svgr/babel-plugin-svg-dynamic-title": {
-      "version": "5.4.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz",
-      "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
-    "node_modules/@svgr/babel-plugin-svg-em-dimensions": {
-      "version": "5.4.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz",
-      "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
-    "node_modules/@svgr/babel-plugin-transform-react-native-svg": {
-      "version": "5.4.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz",
-      "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
-    "node_modules/@svgr/babel-plugin-transform-svg-component": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz",
-      "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
-    "node_modules/@svgr/babel-preset": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz",
-      "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==",
-      "dev": true,
-      "dependencies": {
-        "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0",
-        "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0",
-        "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1",
-        "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1",
-        "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0",
-        "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0",
-        "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0",
-        "@svgr/babel-plugin-transform-svg-component": "^5.5.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
-    "node_modules/@svgr/core": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz",
-      "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==",
-      "dev": true,
-      "dependencies": {
-        "@svgr/plugin-jsx": "^5.5.0",
-        "camelcase": "^6.2.0",
-        "cosmiconfig": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
-    "node_modules/@svgr/hast-util-to-babel-ast": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz",
-      "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.12.6"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
-    "node_modules/@svgr/plugin-jsx": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz",
-      "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.12.3",
-        "@svgr/babel-preset": "^5.5.0",
-        "@svgr/hast-util-to-babel-ast": "^5.5.0",
-        "svg-parser": "^2.0.2"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
-    "node_modules/@svgr/plugin-svgo": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz",
-      "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==",
-      "dev": true,
-      "dependencies": {
-        "cosmiconfig": "^7.0.0",
-        "deepmerge": "^4.2.2",
-        "svgo": "^1.2.2"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
-    "node_modules/@svgr/webpack": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz",
-      "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.12.3",
-        "@babel/plugin-transform-react-constant-elements": "^7.12.1",
-        "@babel/preset-env": "^7.12.1",
-        "@babel/preset-react": "^7.12.5",
-        "@svgr/core": "^5.5.0",
-        "@svgr/plugin-jsx": "^5.5.0",
-        "@svgr/plugin-svgo": "^5.5.0",
-        "loader-utils": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
-    "node_modules/@testing-library/react-hooks": {
-      "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-3.7.0.tgz",
-      "integrity": "sha512-TwfbY6BWtWIHitjT05sbllyLIProcysC0dF0q1bbDa7OHLC6A6rJOYJwZ13hzfz3O4RtOuInmprBozJRyyo7/g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/runtime": "^7.12.5",
-        "@types/testing-library__react-hooks": "^3.4.0"
-      },
-      "peerDependencies": {
-        "react": ">=16.9.0",
-        "react-test-renderer": ">=16.9.0"
-      }
-    },
-    "node_modules/@tootallnate/once": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
-      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/@types/babel__core": {
-      "version": "7.1.16",
-      "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz",
-      "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/parser": "^7.1.0",
-        "@babel/types": "^7.0.0",
-        "@types/babel__generator": "*",
-        "@types/babel__template": "*",
-        "@types/babel__traverse": "*"
-      }
-    },
-    "node_modules/@types/babel__generator": {
-      "version": "7.6.3",
-      "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz",
-      "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "node_modules/@types/babel__template": {
-      "version": "7.4.1",
-      "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz",
-      "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/parser": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "node_modules/@types/babel__traverse": {
-      "version": "7.14.2",
-      "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz",
-      "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.3.0"
-      }
-    },
-    "node_modules/@types/cheerio": {
-      "version": "0.22.30",
-      "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.30.tgz",
-      "integrity": "sha512-t7ZVArWZlq3dFa9Yt33qFBQIK4CQd1Q3UJp0V+UhP6vgLWLM6Qug7vZuRSGXg45zXeB1Fm5X2vmBkEX58LV2Tw==",
-      "dev": true,
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/enzyme": {
-      "version": "3.10.9",
-      "resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.10.9.tgz",
-      "integrity": "sha512-dx5UvcWe2Vtye6S9Hw2rFB7Ul9uMXOAje2FAbXvVYieQDNle9qPAo7DfvFMSztZ9NFiD3dVZ4JsRYGTrSLynJg==",
-      "dev": true,
-      "dependencies": {
-        "@types/cheerio": "*",
-        "@types/react": "*"
-      }
-    },
-    "node_modules/@types/enzyme-adapter-react-16": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/@types/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.6.tgz",
-      "integrity": "sha512-VonDkZ15jzqDWL8mPFIQnnLtjwebuL9YnDkqeCDYnB4IVgwUm0mwKkqhrxLL6mb05xm7qqa3IE95m8CZE9imCg==",
-      "dev": true,
-      "dependencies": {
-        "@types/enzyme": "*"
-      }
-    },
-    "node_modules/@types/eslint": {
-      "version": "7.28.0",
-      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz",
-      "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==",
-      "dev": true,
-      "dependencies": {
-        "@types/estree": "*",
-        "@types/json-schema": "*"
-      }
-    },
-    "node_modules/@types/estree": {
-      "version": "0.0.50",
-      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz",
-      "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==",
-      "dev": true
-    },
-    "node_modules/@types/flot": {
-      "version": "0.0.32",
-      "resolved": "https://registry.npmjs.org/@types/flot/-/flot-0.0.32.tgz",
-      "integrity": "sha512-aturel4TWMY86N4Pkpc9pSoUd/p8c3BjGj4fTDkaZIpkRPzLH1VXZCAKGUywcFkTqgZMhPJFPWxd4pl87y8h/w==",
-      "dev": true,
-      "dependencies": {
-        "@types/jquery": "*"
-      }
-    },
-    "node_modules/@types/glob": {
-      "version": "7.1.4",
-      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz",
-      "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==",
-      "dev": true,
-      "dependencies": {
-        "@types/minimatch": "*",
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/graceful-fs": {
-      "version": "4.1.5",
-      "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz",
-      "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==",
-      "dev": true,
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/history": {
-      "version": "4.7.9",
-      "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.9.tgz",
-      "integrity": "sha512-MUc6zSmU3tEVnkQ78q0peeEjKWPUADMlC/t++2bI8WnAG2tvYRPIgHG8lWkXwqc8MsUF6Z2MOf+Mh5sazOmhiQ==",
-      "dev": true
-    },
-    "node_modules/@types/html-minifier-terser": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz",
-      "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==",
-      "dev": true
-    },
-    "node_modules/@types/istanbul-lib-coverage": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
-      "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==",
-      "dev": true
-    },
-    "node_modules/@types/istanbul-lib-report": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
-      "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "*"
-      }
-    },
-    "node_modules/@types/istanbul-reports": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
-      "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-report": "*"
-      }
-    },
-    "node_modules/@types/jest": {
-      "version": "27.0.1",
-      "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.1.tgz",
-      "integrity": "sha512-HTLpVXHrY69556ozYkcq47TtQJXpcWAWfkoqz+ZGz2JnmZhzlRjprCIyFnetSy8gpDWwTTGBcRVv1J1I1vBrHw==",
-      "dev": true,
-      "dependencies": {
-        "jest-diff": "^27.0.0",
-        "pretty-format": "^27.0.0"
-      }
-    },
-    "node_modules/@types/jquery": {
-      "version": "3.5.6",
-      "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.6.tgz",
-      "integrity": "sha512-SmgCQRzGPId4MZQKDj9Hqc6kSXFNWZFHpELkyK8AQhf8Zr6HKfCzFv9ZC1Fv3FyQttJZOlap3qYb12h61iZAIg==",
-      "dev": true,
-      "dependencies": {
-        "@types/sizzle": "*"
-      }
-    },
-    "node_modules/@types/json-schema": {
-      "version": "7.0.9",
-      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
-      "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==",
-      "dev": true
-    },
-    "node_modules/@types/json5": {
-      "version": "0.0.29",
-      "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
-      "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
-      "dev": true
-    },
-    "node_modules/@types/minimatch": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
-      "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
-      "dev": true
-    },
-    "node_modules/@types/moment-timezone": {
-      "version": "0.5.30",
-      "resolved": "https://registry.npmjs.org/@types/moment-timezone/-/moment-timezone-0.5.30.tgz",
-      "integrity": "sha512-aDVfCsjYnAQaV/E9Qc24C5Njx1CoDjXsEgkxtp9NyXDpYu4CCbmclb6QhWloS9UTU/8YROUEEdEkWI0D7DxnKg==",
-      "deprecated": "This is a stub types definition. moment-timezone provides its own type definitions, so you do not need this installed.",
-      "dev": true,
-      "dependencies": {
-        "moment-timezone": "*"
-      }
-    },
-    "node_modules/@types/node": {
-      "version": "12.20.24",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz",
-      "integrity": "sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==",
-      "dev": true
-    },
-    "node_modules/@types/normalize-package-data": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
-      "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==",
-      "dev": true
-    },
-    "node_modules/@types/parse-json": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
-      "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
-      "dev": true
-    },
-    "node_modules/@types/prettier": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz",
-      "integrity": "sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==",
-      "dev": true
-    },
-    "node_modules/@types/prop-types": {
-      "version": "15.7.4",
-      "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz",
-      "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==",
-      "dev": true
-    },
-    "node_modules/@types/q": {
-      "version": "1.5.5",
-      "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz",
-      "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==",
-      "dev": true
-    },
-    "node_modules/@types/react": {
-      "version": "16.14.15",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.15.tgz",
-      "integrity": "sha512-jOxlBV9RGZhphdeqJTCv35VZOkjY+XIEY2owwSk84BNDdDv2xS6Csj6fhi+B/q30SR9Tz8lDNt/F2Z5RF3TrRg==",
-      "dev": true,
-      "dependencies": {
-        "@types/prop-types": "*",
-        "@types/scheduler": "*",
-        "csstype": "^3.0.2"
-      }
-    },
-    "node_modules/@types/react-copy-to-clipboard": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@types/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.1.tgz",
-      "integrity": "sha512-CDuRrJWEIdfKFC4vbwpXT3vk0O4gA/I/Kxu/1npUvGc2Yey5swPvsgO3JEnQkIUwdnYUbwUYDE/fTFQVgqr4oA==",
-      "dev": true,
-      "dependencies": {
-        "@types/react": "*"
-      }
-    },
-    "node_modules/@types/react-dom": {
-      "version": "16.9.14",
-      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.14.tgz",
-      "integrity": "sha512-FIX2AVmPTGP30OUJ+0vadeIFJJ07Mh1m+U0rxfgyW34p3rTlXI+nlenvAxNn4BP36YyI9IJ/+UJ7Wu22N1pI7A==",
-      "dev": true,
-      "dependencies": {
-        "@types/react": "^16"
-      }
-    },
-    "node_modules/@types/react-resize-detector": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/@types/react-resize-detector/-/react-resize-detector-5.0.0.tgz",
-      "integrity": "sha512-JTqR0G+RcC6Guqi/JXQBq3jewflumUGd4fDUucmZN9L1d8TZuRHzDTtrmgYWrgLvRTBTV6FjegmLeV1UnrIuzw==",
-      "dev": true,
-      "dependencies": {
-        "@types/react": "*"
-      }
-    },
-    "node_modules/@types/react-router": {
-      "version": "5.1.16",
-      "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.16.tgz",
-      "integrity": "sha512-8d7nR/fNSqlTFGHti0R3F9WwIertOaaA1UEB8/jr5l5mDMOs4CidEgvvYMw4ivqrBK+vtVLxyTj2P+Pr/dtgzg==",
-      "dev": true,
-      "dependencies": {
-        "@types/history": "*",
-        "@types/react": "*"
-      }
-    },
-    "node_modules/@types/react-router-dom": {
-      "version": "5.1.8",
-      "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.1.8.tgz",
-      "integrity": "sha512-03xHyncBzG0PmDmf8pf3rehtjY0NpUj7TIN46FrT5n1ZWHPZvXz32gUyNboJ+xsL8cpg8bQVLcllptcQHvocrw==",
-      "dev": true,
-      "dependencies": {
-        "@types/history": "*",
-        "@types/react": "*",
-        "@types/react-router": "*"
-      }
-    },
-    "node_modules/@types/react-test-renderer": {
-      "version": "17.0.1",
-      "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-17.0.1.tgz",
-      "integrity": "sha512-3Fi2O6Zzq/f3QR9dRnlnHso9bMl7weKCviFmfF6B4LS1Uat6Hkm15k0ZAQuDz+UBq6B3+g+NM6IT2nr5QgPzCw==",
-      "dev": true,
-      "dependencies": {
-        "@types/react": "*"
-      }
-    },
-    "node_modules/@types/reactstrap": {
-      "version": "8.7.2",
-      "resolved": "https://registry.npmjs.org/@types/reactstrap/-/reactstrap-8.7.2.tgz",
-      "integrity": "sha512-8sYGS/LhG+ic8vhLwxhuVn+TSqS1lKzplm9BHv4JaQoetStAi9uOqP2VREfefIRT3JnOq5Y+G7Afdryvn+UgZQ==",
-      "deprecated": "This is a stub types definition. reactstrap provides its own type definitions, so you do not need this installed.",
-      "dev": true,
-      "dependencies": {
-        "reactstrap": "*"
-      }
-    },
-    "node_modules/@types/resolve": {
-      "version": "0.0.8",
-      "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
-      "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/sanitize-html": {
-      "version": "1.27.2",
-      "resolved": "https://registry.npmjs.org/@types/sanitize-html/-/sanitize-html-1.27.2.tgz",
-      "integrity": "sha512-DrH26m7CV6PB4YVckjbSIx+xloB7HBolr9Ctm0gZBffSu5dDV4yJKFQGPquJlReVW+xmg59gx+b/8/qYHxZEuw==",
-      "dev": true,
-      "dependencies": {
-        "htmlparser2": "^4.1.0"
-      }
-    },
-    "node_modules/@types/scheduler": {
-      "version": "0.16.2",
-      "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
-      "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
-      "dev": true
-    },
-    "node_modules/@types/sinon": {
-      "version": "9.0.11",
-      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.11.tgz",
-      "integrity": "sha512-PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg==",
-      "dev": true,
-      "dependencies": {
-        "@types/sinonjs__fake-timers": "*"
-      }
-    },
-    "node_modules/@types/sinonjs__fake-timers": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.3.tgz",
-      "integrity": "sha512-E1dU4fzC9wN2QK2Cr1MLCfyHM8BoNnRFvuf45LYMPNDA+WqbNzC45S4UzPxvp1fFJ1rvSGU0bPvdd35VLmXG8g==",
-      "dev": true
-    },
-    "node_modules/@types/sizzle": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
-      "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==",
-      "dev": true
-    },
-    "node_modules/@types/source-list-map": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
-      "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
-      "dev": true
-    },
-    "node_modules/@types/stack-utils": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
-      "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==",
-      "dev": true
-    },
-    "node_modules/@types/tapable": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz",
-      "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==",
-      "dev": true
-    },
-    "node_modules/@types/testing-library__react-hooks": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/@types/testing-library__react-hooks/-/testing-library__react-hooks-3.4.1.tgz",
-      "integrity": "sha512-G4JdzEcq61fUyV6wVW9ebHWEiLK2iQvaBuCHHn9eMSbZzVh4Z4wHnUGIvQOYCCYeu5DnUtFyNYuAAgbSaO/43Q==",
-      "dev": true,
-      "dependencies": {
-        "@types/react-test-renderer": "*"
-      }
-    },
-    "node_modules/@types/uglify-js": {
-      "version": "3.13.1",
-      "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz",
-      "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==",
-      "dev": true,
-      "dependencies": {
-        "source-map": "^0.6.1"
-      }
-    },
-    "node_modules/@types/uglify-js/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/@types/webpack": {
-      "version": "4.41.30",
-      "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.30.tgz",
-      "integrity": "sha512-GUHyY+pfuQ6haAfzu4S14F+R5iGRwN6b2FRNJY7U0NilmFAqbsOfK6j1HwuLBAqwRIT+pVdNDJGJ6e8rpp0KHA==",
-      "dev": true,
-      "dependencies": {
-        "@types/node": "*",
-        "@types/tapable": "^1",
-        "@types/uglify-js": "*",
-        "@types/webpack-sources": "*",
-        "anymatch": "^3.0.0",
-        "source-map": "^0.6.0"
-      }
-    },
-    "node_modules/@types/webpack-sources": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz",
-      "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==",
-      "dev": true,
-      "dependencies": {
-        "@types/node": "*",
-        "@types/source-list-map": "*",
-        "source-map": "^0.7.3"
-      }
-    },
-    "node_modules/@types/webpack-sources/node_modules/source-map": {
-      "version": "0.7.3",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/@types/webpack/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/@types/yargs": {
-      "version": "16.0.4",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
-      "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/@types/yargs-parser": {
-      "version": "20.2.1",
-      "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz",
-      "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==",
-      "dev": true
-    },
-    "node_modules/@typescript-eslint/eslint-plugin": {
-      "version": "4.31.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.0.tgz",
-      "integrity": "sha512-iPKZTZNavAlOhfF4gymiSuUkgLne/nh5Oz2/mdiUmuZVD42m9PapnCnzjxuDsnpnbH3wT5s2D8bw6S39TC6GNw==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/experimental-utils": "4.31.0",
-        "@typescript-eslint/scope-manager": "4.31.0",
-        "debug": "^4.3.1",
-        "functional-red-black-tree": "^1.0.1",
-        "regexpp": "^3.1.0",
-        "semver": "^7.3.5",
-        "tsutils": "^3.21.0"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "@typescript-eslint/parser": "^4.0.0",
-        "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@typescript-eslint/experimental-utils": {
-      "version": "4.31.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.0.tgz",
-      "integrity": "sha512-Hld+EQiKLMppgKKkdUsLeVIeEOrwKc2G983NmznY/r5/ZtZCDvIOXnXtwqJIgYz/ymsy7n7RGvMyrzf1WaSQrw==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.7",
-        "@typescript-eslint/scope-manager": "4.31.0",
-        "@typescript-eslint/types": "4.31.0",
-        "@typescript-eslint/typescript-estree": "4.31.0",
-        "eslint-scope": "^5.1.1",
-        "eslint-utils": "^3.0.0"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "eslint": "*"
-      }
-    },
-    "node_modules/@typescript-eslint/parser": {
-      "version": "4.31.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.31.0.tgz",
-      "integrity": "sha512-oWbzvPh5amMuTmKaf1wp0ySxPt2ZXHnFQBN2Szu1O//7LmOvgaKTCIDNLK2NvzpmVd5A2M/1j/rujBqO37hj3w==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/scope-manager": "4.31.0",
-        "@typescript-eslint/types": "4.31.0",
-        "@typescript-eslint/typescript-estree": "4.31.0",
-        "debug": "^4.3.1"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@typescript-eslint/scope-manager": {
-      "version": "4.31.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.31.0.tgz",
-      "integrity": "sha512-LJ+xtl34W76JMRLjbaQorhR0hfRAlp3Lscdiz9NeI/8i+q0hdBZ7BsiYieLoYWqy+AnRigaD3hUwPFugSzdocg==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "4.31.0",
-        "@typescript-eslint/visitor-keys": "4.31.0"
-      },
-      "engines": {
-        "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@typescript-eslint/types": {
-      "version": "4.31.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.31.0.tgz",
-      "integrity": "sha512-9XR5q9mk7DCXgXLS7REIVs+BaAswfdHhx91XqlJklmqWpTALGjygWVIb/UnLh4NWhfwhR5wNe1yTyCInxVhLqQ==",
-      "dev": true,
-      "engines": {
-        "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@typescript-eslint/typescript-estree": {
-      "version": "4.31.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.0.tgz",
-      "integrity": "sha512-QHl2014t3ptg+xpmOSSPn5hm4mY8D4s97ftzyk9BZ8RxYQ3j73XcwuijnJ9cMa6DO4aLXeo8XS3z1omT9LA/Eg==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "4.31.0",
-        "@typescript-eslint/visitor-keys": "4.31.0",
-        "debug": "^4.3.1",
-        "globby": "^11.0.3",
-        "is-glob": "^4.0.1",
-        "semver": "^7.3.5",
-        "tsutils": "^3.21.0"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@typescript-eslint/visitor-keys": {
-      "version": "4.31.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.0.tgz",
-      "integrity": "sha512-HUcRp2a9I+P21+O21yu3ezv3GEPGjyGiXoEUQwZXjR8UxRApGeLyWH4ZIIUSalE28aG4YsV6GjtaAVB3QKOu0w==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "4.31.0",
-        "eslint-visitor-keys": "^2.0.0"
-      },
-      "engines": {
-        "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@webassemblyjs/ast": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
-      "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
-      "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-api-error": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
-      "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-buffer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
-      "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-code-frame": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
-      "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/wast-printer": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/helper-fsm": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
-      "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-module-context": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
-      "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
-      "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/helper-wasm-section": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
-      "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/ieee754": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
-      "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
-      "dev": true,
-      "dependencies": {
-        "@xtuc/ieee754": "^1.2.0"
-      }
-    },
-    "node_modules/@webassemblyjs/leb128": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
-      "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
-      "dev": true,
-      "dependencies": {
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@webassemblyjs/utf8": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
-      "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
-      "dev": true
-    },
-    "node_modules/@webassemblyjs/wasm-edit": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
-      "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/helper-wasm-section": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-opt": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "@webassemblyjs/wast-printer": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-gen": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
-      "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-opt": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
-      "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
-      "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
-      }
-    },
-    "node_modules/@webassemblyjs/wast-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
-      "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/floating-point-hex-parser": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-code-frame": "1.9.0",
-        "@webassemblyjs/helper-fsm": "1.9.0",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@webassemblyjs/wast-printer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
-      "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@xtuc/ieee754": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
-      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
-      "dev": true
-    },
-    "node_modules/@xtuc/long": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
-      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
-      "dev": true
-    },
-    "node_modules/abab": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
-      "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q=="
-    },
-    "node_modules/accepts": {
-      "version": "1.3.7",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
-      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
-      "dev": true,
-      "dependencies": {
-        "mime-types": "~2.1.24",
-        "negotiator": "0.6.2"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/acorn": {
-      "version": "7.4.1",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
-      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/acorn-globals": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
-      "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
-      "dependencies": {
-        "acorn": "^7.1.1",
-        "acorn-walk": "^7.1.1"
-      }
-    },
-    "node_modules/acorn-jsx": {
-      "version": "5.3.2",
-      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
-      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
-      "dev": true,
-      "peerDependencies": {
-        "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
-      }
-    },
-    "node_modules/acorn-walk": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
-      "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/address": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz",
-      "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.12.0"
-      }
-    },
-    "node_modules/adjust-sourcemap-loader": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz",
-      "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==",
-      "dev": true,
-      "dependencies": {
-        "loader-utils": "^2.0.0",
-        "regex-parser": "^2.2.11"
-      },
-      "engines": {
-        "node": ">=8.9"
-      }
-    },
-    "node_modules/agent-base": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
-      "dependencies": {
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6.0.0"
-      }
-    },
-    "node_modules/aggregate-error": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
-      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
-      "dev": true,
-      "dependencies": {
-        "clean-stack": "^2.0.0",
-        "indent-string": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/airbnb-prop-types": {
-      "version": "2.16.0",
-      "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz",
-      "integrity": "sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==",
-      "dev": true,
-      "dependencies": {
-        "array.prototype.find": "^2.1.1",
-        "function.prototype.name": "^1.1.2",
-        "is-regex": "^1.1.0",
-        "object-is": "^1.1.2",
-        "object.assign": "^4.1.0",
-        "object.entries": "^1.1.2",
-        "prop-types": "^15.7.2",
-        "prop-types-exact": "^1.2.0",
-        "react-is": "^16.13.1"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      },
-      "peerDependencies": {
-        "react": "^0.14 || ^15.0.0 || ^16.0.0-alpha"
-      }
-    },
-    "node_modules/ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
-      "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
-      }
-    },
-    "node_modules/ajv-errors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
-      "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
-      "dev": true,
-      "peerDependencies": {
-        "ajv": ">=5.0.0"
-      }
-    },
-    "node_modules/ajv-keywords": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-      "dev": true,
-      "peerDependencies": {
-        "ajv": "^6.9.1"
-      }
-    },
-    "node_modules/alphanum-sort": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
-      "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
-      "dev": true
-    },
-    "node_modules/ansi-colors": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
-      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/ansi-escapes": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
-      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
-      "dev": true,
-      "dependencies": {
-        "type-fest": "^0.21.3"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/ansi-html": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
-      "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
-      "dev": true,
-      "engines": [
-        "node >= 0.8.0"
-      ],
-      "bin": {
-        "ansi-html": "bin/ansi-html"
-      }
-    },
-    "node_modules/ansi-regex": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
-      "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ansi-styles": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^1.9.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/anymatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
-      "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
-      "dependencies": {
-        "normalize-path": "^3.0.0",
-        "picomatch": "^2.0.4"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
-    },
-    "node_modules/argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-      "dev": true,
-      "dependencies": {
-        "sprintf-js": "~1.0.2"
-      }
-    },
-    "node_modules/aria-query": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
-      "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/runtime": "^7.10.2",
-        "@babel/runtime-corejs3": "^7.10.2"
-      },
-      "engines": {
-        "node": ">=6.0"
-      }
-    },
-    "node_modules/arity-n": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz",
-      "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=",
-      "dev": true
-    },
-    "node_modules/arr-diff": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/arr-flatten": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/arr-union": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/array-flatten": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
-      "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
-      "dev": true
-    },
-    "node_modules/array-includes": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz",
-      "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.2",
-        "get-intrinsic": "^1.1.1",
-        "is-string": "^1.0.5"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/array-union": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
-      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/array-uniq": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
-      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/array-unique": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/array.prototype.filter": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.0.tgz",
-      "integrity": "sha512-TfO1gz+tLm+Bswq0FBOXPqAchtCr2Rn48T8dLJoRFl8NoEosjZmzptmuo1X8aZBzZcqsR1W8U761tjACJtngTQ==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0",
-        "es-array-method-boxes-properly": "^1.0.0",
-        "is-string": "^1.0.5"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/array.prototype.find": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.1.tgz",
-      "integrity": "sha512-mi+MYNJYLTx2eNYy+Yh6raoQacCsNeeMUaspFPh9Y141lFSsWxxB8V9mM2ye+eqiRs917J6/pJ4M9ZPzenWckA==",
-      "dev": true,
-      "dependencies": {
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.17.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/array.prototype.flat": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz",
-      "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/array.prototype.flatmap": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz",
-      "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.1",
-        "function-bind": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/arrify": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
-      "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/asap": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
-      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
-      "dev": true
-    },
-    "node_modules/asn1.js": {
-      "version": "5.4.1",
-      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
-      "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0",
-        "safer-buffer": "^2.1.0"
-      }
-    },
-    "node_modules/asn1.js/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
-    "node_modules/assert": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
-      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
-      "dev": true,
-      "dependencies": {
-        "object-assign": "^4.1.1",
-        "util": "0.10.3"
-      }
-    },
-    "node_modules/assert/node_modules/inherits": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
-      "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
-      "dev": true
-    },
-    "node_modules/assert/node_modules/util": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
-      "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-      "dev": true,
-      "dependencies": {
-        "inherits": "2.0.1"
-      }
-    },
-    "node_modules/assign-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/ast-types-flow": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
-      "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
-      "dev": true
-    },
-    "node_modules/astral-regex": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
-      "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dev": true,
-      "dependencies": {
-        "lodash": "^4.17.14"
-      }
-    },
-    "node_modules/async-each": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
-      "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
-      "dev": true
-    },
-    "node_modules/async-limiter": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
-      "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
-      "dev": true
-    },
-    "node_modules/asynckit": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
-    },
-    "node_modules/at-least-node": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
-      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4.0.0"
-      }
-    },
-    "node_modules/atob": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true,
-      "bin": {
-        "atob": "bin/atob.js"
-      },
-      "engines": {
-        "node": ">= 4.5.0"
-      }
-    },
-    "node_modules/autoprefixer": {
-      "version": "9.8.6",
-      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz",
-      "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==",
-      "dev": true,
-      "dependencies": {
-        "browserslist": "^4.12.0",
-        "caniuse-lite": "^1.0.30001109",
-        "colorette": "^1.2.1",
-        "normalize-range": "^0.1.2",
-        "num2fraction": "^1.2.2",
-        "postcss": "^7.0.32",
-        "postcss-value-parser": "^4.1.0"
-      },
-      "bin": {
-        "autoprefixer": "bin/autoprefixer"
-      },
-      "funding": {
-        "type": "tidelift",
-        "url": "https://tidelift.com/funding/github/npm/autoprefixer"
-      }
-    },
-    "node_modules/axe-core": {
-      "version": "4.3.3",
-      "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.3.tgz",
-      "integrity": "sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/axobject-query": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
-      "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==",
-      "dev": true
-    },
-    "node_modules/babel-eslint": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
-      "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==",
-      "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.0.0",
-        "@babel/parser": "^7.7.0",
-        "@babel/traverse": "^7.7.0",
-        "@babel/types": "^7.7.0",
-        "eslint-visitor-keys": "^1.0.0",
-        "resolve": "^1.12.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "peerDependencies": {
-        "eslint": ">= 4.12.1"
-      }
-    },
-    "node_modules/babel-eslint/node_modules/eslint-visitor-keys": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
-      "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/babel-extract-comments": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz",
-      "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==",
-      "dev": true,
-      "dependencies": {
-        "babylon": "^6.18.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/babel-jest": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz",
-      "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==",
-      "dev": true,
-      "dependencies": {
-        "@jest/transform": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/babel__core": "^7.1.7",
-        "babel-plugin-istanbul": "^6.0.0",
-        "babel-preset-jest": "^26.6.2",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.4",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/babel-jest/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/babel-jest/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/babel-jest/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/babel-jest/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/babel-jest/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/babel-jest/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/babel-jest/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/babel-jest/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/babel-loader": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz",
-      "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==",
-      "dev": true,
-      "dependencies": {
-        "find-cache-dir": "^2.1.0",
-        "loader-utils": "^1.4.0",
-        "mkdirp": "^0.5.3",
-        "pify": "^4.0.1",
-        "schema-utils": "^2.6.5"
-      },
-      "engines": {
-        "node": ">= 6.9"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0",
-        "webpack": ">=2"
-      }
-    },
-    "node_modules/babel-loader/node_modules/json5": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
-      }
-    },
-    "node_modules/babel-loader/node_modules/loader-utils": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-      "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-      "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/babel-plugin-dynamic-import-node": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
-      "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
-      "dev": true,
-      "dependencies": {
-        "object.assign": "^4.1.0"
-      }
-    },
-    "node_modules/babel-plugin-istanbul": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
-      "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@istanbuljs/load-nyc-config": "^1.0.0",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-instrument": "^4.0.0",
-        "test-exclude": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/babel-plugin-jest-hoist": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz",
-      "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/template": "^7.3.3",
-        "@babel/types": "^7.3.3",
-        "@types/babel__core": "^7.0.0",
-        "@types/babel__traverse": "^7.0.6"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/babel-plugin-macros": {
-      "version": "2.8.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz",
-      "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "cosmiconfig": "^6.0.0",
-        "resolve": "^1.12.0"
-      }
-    },
-    "node_modules/babel-plugin-macros/node_modules/cosmiconfig": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
-      "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
-      "dev": true,
-      "dependencies": {
-        "@types/parse-json": "^4.0.0",
-        "import-fresh": "^3.1.0",
-        "parse-json": "^5.0.0",
-        "path-type": "^4.0.0",
-        "yaml": "^1.7.2"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/babel-plugin-named-asset-import": {
-      "version": "0.3.7",
-      "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz",
-      "integrity": "sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==",
-      "dev": true,
-      "peerDependencies": {
-        "@babel/core": "^7.1.0"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-corejs2": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz",
-      "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.13.11",
-        "@babel/helper-define-polyfill-provider": "^0.2.2",
-        "semver": "^6.1.1"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-corejs3": {
-      "version": "0.2.4",
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz",
-      "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-define-polyfill-provider": "^0.2.2",
-        "core-js-compat": "^3.14.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-regenerator": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz",
-      "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-define-polyfill-provider": "^0.2.2"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-plugin-syntax-object-rest-spread": {
-      "version": "6.13.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
-      "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
-      "dev": true
-    },
-    "node_modules/babel-plugin-transform-object-rest-spread": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
-      "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
-      "dev": true,
-      "dependencies": {
-        "babel-plugin-syntax-object-rest-spread": "^6.8.0",
-        "babel-runtime": "^6.26.0"
-      }
-    },
-    "node_modules/babel-plugin-transform-react-remove-prop-types": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz",
-      "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==",
-      "dev": true
-    },
-    "node_modules/babel-preset-current-node-syntax": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
-      "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/plugin-syntax-async-generators": "^7.8.4",
-        "@babel/plugin-syntax-bigint": "^7.8.3",
-        "@babel/plugin-syntax-class-properties": "^7.8.3",
-        "@babel/plugin-syntax-import-meta": "^7.8.3",
-        "@babel/plugin-syntax-json-strings": "^7.8.3",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
-        "@babel/plugin-syntax-numeric-separator": "^7.8.3",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
-        "@babel/plugin-syntax-top-level-await": "^7.8.3"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/babel-preset-jest": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz",
-      "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==",
-      "dev": true,
-      "dependencies": {
-        "babel-plugin-jest-hoist": "^26.6.2",
-        "babel-preset-current-node-syntax": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/babel-preset-react-app": {
-      "version": "10.0.0",
-      "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.0.tgz",
-      "integrity": "sha512-itL2z8v16khpuKutx5IH8UdCdSTuzrOhRFTEdIhveZ2i1iBKDrVE0ATa4sFVy+02GLucZNVBWtoarXBy0Msdpg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "7.12.3",
-        "@babel/plugin-proposal-class-properties": "7.12.1",
-        "@babel/plugin-proposal-decorators": "7.12.1",
-        "@babel/plugin-proposal-nullish-coalescing-operator": "7.12.1",
-        "@babel/plugin-proposal-numeric-separator": "7.12.1",
-        "@babel/plugin-proposal-optional-chaining": "7.12.1",
-        "@babel/plugin-transform-flow-strip-types": "7.12.1",
-        "@babel/plugin-transform-react-display-name": "7.12.1",
-        "@babel/plugin-transform-runtime": "7.12.1",
-        "@babel/preset-env": "7.12.1",
-        "@babel/preset-react": "7.12.1",
-        "@babel/preset-typescript": "7.12.1",
-        "@babel/runtime": "7.12.1",
-        "babel-plugin-macros": "2.8.0",
-        "babel-plugin-transform-react-remove-prop-types": "0.4.24"
-      }
-    },
-    "node_modules/babel-preset-react-app/node_modules/@babel/core": {
-      "version": "7.12.3",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz",
-      "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.10.4",
-        "@babel/generator": "^7.12.1",
-        "@babel/helper-module-transforms": "^7.12.1",
-        "@babel/helpers": "^7.12.1",
-        "@babel/parser": "^7.12.3",
-        "@babel/template": "^7.10.4",
-        "@babel/traverse": "^7.12.1",
-        "@babel/types": "^7.12.1",
-        "convert-source-map": "^1.7.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.1",
-        "json5": "^2.1.2",
-        "lodash": "^4.17.19",
-        "resolve": "^1.3.2",
-        "semver": "^5.4.1",
-        "source-map": "^0.5.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/babel"
-      }
-    },
-    "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-class-properties": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz",
-      "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.12.1",
-        "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz",
-      "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-numeric-separator": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz",
-      "integrity": "sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-optional-chaining": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz",
-      "integrity": "sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-preset-react-app/node_modules/@babel/plugin-transform-react-display-name": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz",
-      "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-preset-react-app/node_modules/@babel/preset-env": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.1.tgz",
-      "integrity": "sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.12.1",
-        "@babel/helper-compilation-targets": "^7.12.1",
-        "@babel/helper-module-imports": "^7.12.1",
-        "@babel/helper-plugin-utils": "^7.10.4",
-        "@babel/helper-validator-option": "^7.12.1",
-        "@babel/plugin-proposal-async-generator-functions": "^7.12.1",
-        "@babel/plugin-proposal-class-properties": "^7.12.1",
-        "@babel/plugin-proposal-dynamic-import": "^7.12.1",
-        "@babel/plugin-proposal-export-namespace-from": "^7.12.1",
-        "@babel/plugin-proposal-json-strings": "^7.12.1",
-        "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1",
-        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
-        "@babel/plugin-proposal-numeric-separator": "^7.12.1",
-        "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.12.1",
-        "@babel/plugin-proposal-optional-chaining": "^7.12.1",
-        "@babel/plugin-proposal-private-methods": "^7.12.1",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.12.1",
-        "@babel/plugin-syntax-async-generators": "^7.8.0",
-        "@babel/plugin-syntax-class-properties": "^7.12.1",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.0",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
-        "@babel/plugin-syntax-json-strings": "^7.8.0",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.0",
-        "@babel/plugin-syntax-top-level-await": "^7.12.1",
-        "@babel/plugin-transform-arrow-functions": "^7.12.1",
-        "@babel/plugin-transform-async-to-generator": "^7.12.1",
-        "@babel/plugin-transform-block-scoped-functions": "^7.12.1",
-        "@babel/plugin-transform-block-scoping": "^7.12.1",
-        "@babel/plugin-transform-classes": "^7.12.1",
-        "@babel/plugin-transform-computed-properties": "^7.12.1",
-        "@babel/plugin-transform-destructuring": "^7.12.1",
-        "@babel/plugin-transform-dotall-regex": "^7.12.1",
-        "@babel/plugin-transform-duplicate-keys": "^7.12.1",
-        "@babel/plugin-transform-exponentiation-operator": "^7.12.1",
-        "@babel/plugin-transform-for-of": "^7.12.1",
-        "@babel/plugin-transform-function-name": "^7.12.1",
-        "@babel/plugin-transform-literals": "^7.12.1",
-        "@babel/plugin-transform-member-expression-literals": "^7.12.1",
-        "@babel/plugin-transform-modules-amd": "^7.12.1",
-        "@babel/plugin-transform-modules-commonjs": "^7.12.1",
-        "@babel/plugin-transform-modules-systemjs": "^7.12.1",
-        "@babel/plugin-transform-modules-umd": "^7.12.1",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1",
-        "@babel/plugin-transform-new-target": "^7.12.1",
-        "@babel/plugin-transform-object-super": "^7.12.1",
-        "@babel/plugin-transform-parameters": "^7.12.1",
-        "@babel/plugin-transform-property-literals": "^7.12.1",
-        "@babel/plugin-transform-regenerator": "^7.12.1",
-        "@babel/plugin-transform-reserved-words": "^7.12.1",
-        "@babel/plugin-transform-shorthand-properties": "^7.12.1",
-        "@babel/plugin-transform-spread": "^7.12.1",
-        "@babel/plugin-transform-sticky-regex": "^7.12.1",
-        "@babel/plugin-transform-template-literals": "^7.12.1",
-        "@babel/plugin-transform-typeof-symbol": "^7.12.1",
-        "@babel/plugin-transform-unicode-escapes": "^7.12.1",
-        "@babel/plugin-transform-unicode-regex": "^7.12.1",
-        "@babel/preset-modules": "^0.1.3",
-        "@babel/types": "^7.12.1",
-        "core-js-compat": "^3.6.2",
-        "semver": "^5.5.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-preset-react-app/node_modules/@babel/preset-react": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.1.tgz",
-      "integrity": "sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4",
-        "@babel/plugin-transform-react-display-name": "^7.12.1",
-        "@babel/plugin-transform-react-jsx": "^7.12.1",
-        "@babel/plugin-transform-react-jsx-development": "^7.12.1",
-        "@babel/plugin-transform-react-jsx-self": "^7.12.1",
-        "@babel/plugin-transform-react-jsx-source": "^7.12.1",
-        "@babel/plugin-transform-react-pure-annotations": "^7.12.1"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-preset-react-app/node_modules/@babel/preset-react/node_modules/@babel/plugin-transform-react-jsx-self": {
-      "version": "7.14.9",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.14.9.tgz",
-      "integrity": "sha512-Fqqu0f8zv9W+RyOnx29BX/RlEsBRANbOf5xs5oxb2aHP4FKbLXxIaVPUiCti56LAR1IixMH4EyaixhUsKqoBHw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-preset-react-app/node_modules/@babel/preset-react/node_modules/@babel/plugin-transform-react-jsx-source": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.5.tgz",
-      "integrity": "sha512-1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/babel-preset-react-app/node_modules/@babel/runtime": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz",
-      "integrity": "sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==",
-      "dev": true,
-      "dependencies": {
-        "regenerator-runtime": "^0.13.4"
-      }
-    },
-    "node_modules/babel-preset-react-app/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/babel-runtime": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
-      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
-      "dev": true,
-      "dependencies": {
-        "core-js": "^2.4.0",
-        "regenerator-runtime": "^0.11.0"
-      }
-    },
-    "node_modules/babel-runtime/node_modules/core-js": {
-      "version": "2.6.12",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
-      "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
-      "deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.",
-      "dev": true,
-      "hasInstallScript": true
-    },
-    "node_modules/babel-runtime/node_modules/regenerator-runtime": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
-      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
-      "dev": true
-    },
-    "node_modules/babylon": {
-      "version": "6.18.0",
-      "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
-      "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
-      "dev": true,
-      "bin": {
-        "babylon": "bin/babylon.js"
-      }
-    },
-    "node_modules/balanced-match": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
-      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
-      "dev": true
-    },
-    "node_modules/base": {
-      "version": "0.11.2",
-      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
-      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
-      "dependencies": {
-        "cache-base": "^1.0.1",
-        "class-utils": "^0.3.5",
-        "component-emitter": "^1.2.1",
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.1",
-        "mixin-deep": "^1.2.0",
-        "pascalcase": "^0.1.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/base/node_modules/define-property": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/base64-js": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
-      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/batch": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
-      "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
-      "dev": true
-    },
-    "node_modules/bfj": {
-      "version": "7.0.2",
-      "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz",
-      "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==",
-      "dev": true,
-      "dependencies": {
-        "bluebird": "^3.5.5",
-        "check-types": "^11.1.1",
-        "hoopy": "^0.1.4",
-        "tryer": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 8.0.0"
-      }
-    },
-    "node_modules/big.js": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
-      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/binary-extensions": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
-      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/bindings": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
-      "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "file-uri-to-path": "1.0.0"
-      }
-    },
-    "node_modules/bluebird": {
-      "version": "3.7.2",
-      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
-      "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
-      "dev": true
-    },
-    "node_modules/bn.js": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz",
-      "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==",
-      "dev": true
-    },
-    "node_modules/body-parser": {
-      "version": "1.19.0",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
-      "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
-      "dev": true,
-      "dependencies": {
-        "bytes": "3.1.0",
-        "content-type": "~1.0.4",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "on-finished": "~2.3.0",
-        "qs": "6.7.0",
-        "raw-body": "2.4.0",
-        "type-is": "~1.6.17"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/body-parser/node_modules/bytes": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-      "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/body-parser/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/body-parser/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/bonjour": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
-      "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
-      "dev": true,
-      "dependencies": {
-        "array-flatten": "^2.1.0",
-        "deep-equal": "^1.0.1",
-        "dns-equal": "^1.0.0",
-        "dns-txt": "^2.0.2",
-        "multicast-dns": "^6.0.1",
-        "multicast-dns-service-types": "^1.1.0"
-      }
-    },
-    "node_modules/boolbase": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
-      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
-      "dev": true
-    },
-    "node_modules/bootstrap": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz",
-      "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==",
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/bootstrap"
-      },
-      "peerDependencies": {
-        "jquery": "1.9.1 - 3",
-        "popper.js": "^1.16.1"
-      }
-    },
-    "node_modules/brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "dev": true,
-      "dependencies": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "node_modules/braces": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-      "dependencies": {
-        "fill-range": "^7.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/brorand": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
-      "dev": true
-    },
-    "node_modules/browser-process-hrtime": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
-      "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow=="
-    },
-    "node_modules/browserify-aes": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
-      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "dev": true,
-      "dependencies": {
-        "buffer-xor": "^1.0.3",
-        "cipher-base": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.3",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "node_modules/browserify-cipher": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
-      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "dev": true,
-      "dependencies": {
-        "browserify-aes": "^1.0.4",
-        "browserify-des": "^1.0.0",
-        "evp_bytestokey": "^1.0.0"
-      }
-    },
-    "node_modules/browserify-des": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
-      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
-      "dev": true,
-      "dependencies": {
-        "cipher-base": "^1.0.1",
-        "des.js": "^1.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "node_modules/browserify-rsa": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
-      "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^5.0.0",
-        "randombytes": "^2.0.1"
-      }
-    },
-    "node_modules/browserify-sign": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
-      "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^5.1.1",
-        "browserify-rsa": "^4.0.1",
-        "create-hash": "^1.2.0",
-        "create-hmac": "^1.1.7",
-        "elliptic": "^6.5.3",
-        "inherits": "^2.0.4",
-        "parse-asn1": "^5.1.5",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      }
-    },
-    "node_modules/browserify-sign/node_modules/readable-stream": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/browserify-sign/node_modules/safe-buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/browserify-zlib": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
-      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
-      "dev": true,
-      "dependencies": {
-        "pako": "~1.0.5"
-      }
-    },
-    "node_modules/browserslist": {
-      "version": "4.17.0",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.0.tgz",
-      "integrity": "sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g==",
-      "dev": true,
-      "dependencies": {
-        "caniuse-lite": "^1.0.30001254",
-        "colorette": "^1.3.0",
-        "electron-to-chromium": "^1.3.830",
-        "escalade": "^3.1.1",
-        "node-releases": "^1.1.75"
-      },
-      "bin": {
-        "browserslist": "cli.js"
-      },
-      "engines": {
-        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/browserslist"
-      }
-    },
-    "node_modules/bser": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
-      "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
-      "dev": true,
-      "dependencies": {
-        "node-int64": "^0.4.0"
-      }
-    },
-    "node_modules/buffer": {
-      "version": "4.9.2",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
-      "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
-      "dev": true,
-      "dependencies": {
-        "base64-js": "^1.0.2",
-        "ieee754": "^1.1.4",
-        "isarray": "^1.0.0"
-      }
-    },
-    "node_modules/buffer-from": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
-      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
-      "dev": true
-    },
-    "node_modules/buffer-indexof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
-      "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
-      "dev": true
-    },
-    "node_modules/buffer-xor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
-      "dev": true
-    },
-    "node_modules/buffer/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/builtin-modules": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz",
-      "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/builtin-status-codes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
-      "dev": true
-    },
-    "node_modules/bytes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
-      "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/cacache": {
-      "version": "15.3.0",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
-      "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
-      "dev": true,
-      "dependencies": {
-        "@npmcli/fs": "^1.0.0",
-        "@npmcli/move-file": "^1.0.1",
-        "chownr": "^2.0.0",
-        "fs-minipass": "^2.0.0",
-        "glob": "^7.1.4",
-        "infer-owner": "^1.0.4",
-        "lru-cache": "^6.0.0",
-        "minipass": "^3.1.1",
-        "minipass-collect": "^1.0.2",
-        "minipass-flush": "^1.0.5",
-        "minipass-pipeline": "^1.2.2",
-        "mkdirp": "^1.0.3",
-        "p-map": "^4.0.0",
-        "promise-inflight": "^1.0.1",
-        "rimraf": "^3.0.2",
-        "ssri": "^8.0.1",
-        "tar": "^6.0.2",
-        "unique-filename": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/cacache/node_modules/mkdirp": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-      "dev": true,
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/cache-base": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
-      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
-      "dependencies": {
-        "collection-visit": "^1.0.0",
-        "component-emitter": "^1.2.1",
-        "get-value": "^2.0.6",
-        "has-value": "^1.0.0",
-        "isobject": "^3.0.1",
-        "set-value": "^2.0.0",
-        "to-object-path": "^0.3.0",
-        "union-value": "^1.0.0",
-        "unset-value": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/call-bind": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
-      "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
-      "dependencies": {
-        "function-bind": "^1.1.1",
-        "get-intrinsic": "^1.0.2"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/caller-callsite": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
-      "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
-      "dev": true,
-      "dependencies": {
-        "callsites": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/caller-callsite/node_modules/callsites": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
-      "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/caller-path": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
-      "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
-      "dev": true,
-      "dependencies": {
-        "caller-callsite": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/callsites": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
-      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/camel-case": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
-      "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
-      "dev": true,
-      "dependencies": {
-        "pascal-case": "^3.1.2",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/camelcase": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
-      "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/caniuse-api": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
-      "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
-      "dev": true,
-      "dependencies": {
-        "browserslist": "^4.0.0",
-        "caniuse-lite": "^1.0.0",
-        "lodash.memoize": "^4.1.2",
-        "lodash.uniq": "^4.5.0"
-      }
-    },
-    "node_modules/caniuse-lite": {
-      "version": "1.0.30001255",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001255.tgz",
-      "integrity": "sha512-F+A3N9jTZL882f/fg/WWVnKSu6IOo3ueLz4zwaOPbPYHNmM/ZaDUyzyJwS1mZhX7Ex5jqTyW599Gdelh5PDYLQ==",
-      "dev": true,
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/browserslist"
-      }
-    },
-    "node_modules/capture-exit": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
-      "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
-      "dev": true,
-      "dependencies": {
-        "rsvp": "^4.8.4"
-      },
-      "engines": {
-        "node": "6.* || 8.* || >= 10.*"
-      }
-    },
-    "node_modules/case-sensitive-paths-webpack-plugin": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz",
-      "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/chalk": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^3.2.1",
-        "escape-string-regexp": "^1.0.5",
-        "supports-color": "^5.3.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/char-regex": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
-      "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/check-types": {
-      "version": "11.1.2",
-      "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz",
-      "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==",
-      "dev": true
-    },
-    "node_modules/cheerio": {
-      "version": "1.0.0-rc.10",
-      "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz",
-      "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==",
-      "dev": true,
-      "dependencies": {
-        "cheerio-select": "^1.5.0",
-        "dom-serializer": "^1.3.2",
-        "domhandler": "^4.2.0",
-        "htmlparser2": "^6.1.0",
-        "parse5": "^6.0.1",
-        "parse5-htmlparser2-tree-adapter": "^6.0.1",
-        "tslib": "^2.2.0"
-      },
-      "engines": {
-        "node": ">= 6"
-      },
-      "funding": {
-        "url": "https://github.com/cheeriojs/cheerio?sponsor=1"
-      }
-    },
-    "node_modules/cheerio-select": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz",
-      "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==",
-      "dev": true,
-      "dependencies": {
-        "css-select": "^4.1.3",
-        "css-what": "^5.0.1",
-        "domelementtype": "^2.2.0",
-        "domhandler": "^4.2.0",
-        "domutils": "^2.7.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/fb55"
-      }
-    },
-    "node_modules/cheerio/node_modules/htmlparser2": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
-      "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
-      "dev": true,
-      "funding": [
-        "https://github.com/fb55/htmlparser2?sponsor=1",
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/fb55"
-        }
-      ],
-      "dependencies": {
-        "domelementtype": "^2.0.1",
-        "domhandler": "^4.0.0",
-        "domutils": "^2.5.2",
-        "entities": "^2.0.0"
-      }
-    },
-    "node_modules/chokidar": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
-      "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
-      "dependencies": {
-        "anymatch": "~3.1.2",
-        "braces": "~3.0.2",
-        "glob-parent": "~5.1.2",
-        "is-binary-path": "~2.1.0",
-        "is-glob": "~4.0.1",
-        "normalize-path": "~3.0.0",
-        "readdirp": "~3.6.0"
-      },
-      "engines": {
-        "node": ">= 8.10.0"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.2"
-      }
-    },
-    "node_modules/chownr": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
-      "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/chrome-trace-event": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
-      "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.0"
-      }
-    },
-    "node_modules/ci-info": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
-      "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
-      "dev": true
-    },
-    "node_modules/cipher-base": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
-      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "node_modules/cjs-module-lexer": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz",
-      "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==",
-      "dev": true
-    },
-    "node_modules/class-utils": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
-      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
-      "dependencies": {
-        "arr-union": "^3.1.0",
-        "define-property": "^0.2.5",
-        "isobject": "^3.0.0",
-        "static-extend": "^0.1.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/class-utils/node_modules/define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/class-utils/node_modules/is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/class-utils/node_modules/is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/class-utils/node_modules/is-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^0.1.6",
-        "is-data-descriptor": "^0.1.4",
-        "kind-of": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/class-utils/node_modules/kind-of": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-      "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/classnames": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz",
-      "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA=="
-    },
-    "node_modules/clean-css": {
-      "version": "4.2.3",
-      "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
-      "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
-      "dev": true,
-      "dependencies": {
-        "source-map": "~0.6.0"
-      },
-      "engines": {
-        "node": ">= 4.0"
-      }
-    },
-    "node_modules/clean-css/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/clean-stack": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
-      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/cliui": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
-      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
-      "dev": true,
-      "dependencies": {
-        "string-width": "^4.2.0",
-        "strip-ansi": "^6.0.0",
-        "wrap-ansi": "^6.2.0"
-      }
-    },
-    "node_modules/co": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
-      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
-      "dev": true,
-      "engines": {
-        "iojs": ">= 1.0.0",
-        "node": ">= 0.12.0"
-      }
-    },
-    "node_modules/coa": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
-      "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
-      "dev": true,
-      "dependencies": {
-        "@types/q": "^1.5.1",
-        "chalk": "^2.4.1",
-        "q": "^1.1.2"
-      },
-      "engines": {
-        "node": ">= 4.0"
-      }
-    },
-    "node_modules/codemirror-promql": {
-      "version": "0.17.0",
-      "resolved": "https://registry.npmjs.org/codemirror-promql/-/codemirror-promql-0.17.0.tgz",
-      "integrity": "sha512-etlSQ8t9FvNfnNXZSGDOsLDFIgFaUaYUWQVPEs/YLdG41VMFdhnFoC4zb4iHyx1DJjxBW/dHk7ZHLJDa9aNNzg==",
-      "dependencies": {
-        "lezer-promql": "^0.20.0",
-        "lru-cache": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=12.0.0"
-      },
-      "peerDependencies": {
-        "@codemirror/autocomplete": "^0.18.3",
-        "@codemirror/highlight": "^0.18.3",
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/lint": "^0.18.1",
-        "@codemirror/state": "^0.18.2",
-        "@codemirror/view": "^0.18.1"
-      }
-    },
-    "node_modules/collect-v8-coverage": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
-      "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
-      "dev": true
-    },
-    "node_modules/collection-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
-      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "dev": true,
-      "dependencies": {
-        "map-visit": "^1.0.0",
-        "object-visit": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/color": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
-      "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^1.9.3",
-        "color-string": "^1.6.0"
-      }
-    },
-    "node_modules/color-convert": {
-      "version": "1.9.3",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "1.1.3"
-      }
-    },
-    "node_modules/color-name": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-      "dev": true
-    },
-    "node_modules/color-string": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz",
-      "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "^1.0.0",
-        "simple-swizzle": "^0.2.2"
-      }
-    },
-    "node_modules/colorette": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz",
-      "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w=="
-    },
-    "node_modules/combined-stream": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
-      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
-      "dependencies": {
-        "delayed-stream": "~1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/commander": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
-      "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/common-tags": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz",
-      "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/commondir": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
-      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
-      "dev": true
-    },
-    "node_modules/component-emitter": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
-      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
-      "dev": true
-    },
-    "node_modules/compose-function": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz",
-      "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=",
-      "dev": true,
-      "dependencies": {
-        "arity-n": "^1.0.4"
-      }
-    },
-    "node_modules/compressible": {
-      "version": "2.0.18",
-      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
-      "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
-      "dev": true,
-      "dependencies": {
-        "mime-db": ">= 1.43.0 < 2"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/compression": {
-      "version": "1.7.4",
-      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
-      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
-      "dev": true,
-      "dependencies": {
-        "accepts": "~1.3.5",
-        "bytes": "3.0.0",
-        "compressible": "~2.0.16",
-        "debug": "2.6.9",
-        "on-headers": "~1.0.2",
-        "safe-buffer": "5.1.2",
-        "vary": "~1.1.2"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/compression/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/compression/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/compute-scroll-into-view": {
-      "version": "1.0.17",
-      "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz",
-      "integrity": "sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg=="
-    },
-    "node_modules/concat-map": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
-      "dev": true
-    },
-    "node_modules/concat-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
-      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "dev": true,
-      "engines": [
-        "node >= 0.8"
-      ],
-      "dependencies": {
-        "buffer-from": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.2.2",
-        "typedarray": "^0.0.6"
-      }
-    },
-    "node_modules/confusing-browser-globals": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz",
-      "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==",
-      "dev": true
-    },
-    "node_modules/connect-history-api-fallback": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
-      "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8"
-      }
-    },
-    "node_modules/console-browserify": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
-      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
-      "dev": true
-    },
-    "node_modules/constants-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
-      "dev": true
-    },
-    "node_modules/content-disposition": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
-      "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "5.1.2"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/content-type": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
-      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/convert-source-map": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
-      "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.1"
-      }
-    },
-    "node_modules/cookie": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
-      "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/cookie-signature": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
-      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
-      "dev": true
-    },
-    "node_modules/copy-concurrently": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
-      "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.1.1",
-        "fs-write-stream-atomic": "^1.0.8",
-        "iferr": "^0.1.5",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.0"
-      }
-    },
-    "node_modules/copy-concurrently/node_modules/rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
-    "node_modules/copy-descriptor": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/copy-to-clipboard": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
-      "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
-      "dependencies": {
-        "toggle-selection": "^1.0.6"
-      }
-    },
-    "node_modules/core-js": {
-      "version": "3.17.2",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.17.2.tgz",
-      "integrity": "sha512-XkbXqhcXeMHPRk2ItS+zQYliAMilea2euoMsnpRRdDad6b2VY6CQQcwz1K8AnWesfw4p165RzY0bTnr3UrbYiA==",
-      "dev": true,
-      "hasInstallScript": true,
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/core-js"
-      }
-    },
-    "node_modules/core-js-compat": {
-      "version": "3.17.2",
-      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.17.2.tgz",
-      "integrity": "sha512-lHnt7A1Oqplebl5i0MrQyFv/yyEzr9p29OjlkcsFRDDgHwwQyVckfRGJ790qzXhkwM8ba4SFHHa2sO+T5f1zGg==",
-      "dev": true,
-      "dependencies": {
-        "browserslist": "^4.16.8",
-        "semver": "7.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/core-js"
-      }
-    },
-    "node_modules/core-js-compat/node_modules/semver": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
-      "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/core-js-pure": {
-      "version": "3.17.2",
-      "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.17.2.tgz",
-      "integrity": "sha512-2VV7DlIbooyTI7Bh+yzOOWL9tGwLnQKHno7qATE+fqZzDKYr6llVjVQOzpD/QLZFgXDPb8T71pJokHEZHEYJhQ==",
-      "dev": true,
-      "hasInstallScript": true,
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/core-js"
-      }
-    },
-    "node_modules/core-util-is": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
-      "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
-      "dev": true
-    },
-    "node_modules/cosmiconfig": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
-      "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/parse-json": "^4.0.0",
-        "import-fresh": "^3.2.1",
-        "parse-json": "^5.0.0",
-        "path-type": "^4.0.0",
-        "yaml": "^1.10.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/create-ecdh": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
-      "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.1.0",
-        "elliptic": "^6.5.3"
-      }
-    },
-    "node_modules/create-ecdh/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
-    "node_modules/create-hash": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
-      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "dev": true,
-      "dependencies": {
-        "cipher-base": "^1.0.1",
-        "inherits": "^2.0.1",
-        "md5.js": "^1.3.4",
-        "ripemd160": "^2.0.1",
-        "sha.js": "^2.4.0"
-      }
-    },
-    "node_modules/create-hmac": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
-      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "dev": true,
-      "dependencies": {
-        "cipher-base": "^1.0.3",
-        "create-hash": "^1.1.0",
-        "inherits": "^2.0.1",
-        "ripemd160": "^2.0.0",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "node_modules/crelt": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz",
-      "integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA=="
-    },
-    "node_modules/cross-fetch": {
-      "version": "3.1.4",
-      "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz",
-      "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==",
-      "dev": true,
-      "dependencies": {
-        "node-fetch": "2.6.1"
-      }
-    },
-    "node_modules/cross-spawn": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
-      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
-      "dev": true,
-      "dependencies": {
-        "path-key": "^3.1.0",
-        "shebang-command": "^2.0.0",
-        "which": "^2.0.1"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/crypto-browserify": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
-      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
-      "dev": true,
-      "dependencies": {
-        "browserify-cipher": "^1.0.0",
-        "browserify-sign": "^4.0.0",
-        "create-ecdh": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.0",
-        "diffie-hellman": "^5.0.0",
-        "inherits": "^2.0.1",
-        "pbkdf2": "^3.0.3",
-        "public-encrypt": "^4.0.0",
-        "randombytes": "^2.0.0",
-        "randomfill": "^1.0.3"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/crypto-random-string": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
-      "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/css": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
-      "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "source-map": "^0.6.1",
-        "source-map-resolve": "^0.5.2",
-        "urix": "^0.1.0"
-      }
-    },
-    "node_modules/css-blank-pseudo": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz",
-      "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.5"
-      },
-      "bin": {
-        "css-blank-pseudo": "cli.js"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/css-color-names": {
-      "version": "0.0.4",
-      "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
-      "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/css-declaration-sorter": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz",
-      "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.1",
-        "timsort": "^0.3.0"
-      },
-      "engines": {
-        "node": ">4"
-      }
-    },
-    "node_modules/css-has-pseudo": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz",
-      "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.6",
-        "postcss-selector-parser": "^5.0.0-rc.4"
-      },
-      "bin": {
-        "css-has-pseudo": "cli.js"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/css-has-pseudo/node_modules/cssesc": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
-      "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
-      "dev": true,
-      "bin": {
-        "cssesc": "bin/cssesc"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
-      "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
-      "dev": true,
-      "dependencies": {
-        "cssesc": "^2.0.0",
-        "indexes-of": "^1.0.1",
-        "uniq": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/css-loader": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-4.3.0.tgz",
-      "integrity": "sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==",
-      "dev": true,
-      "dependencies": {
-        "camelcase": "^6.0.0",
-        "cssesc": "^3.0.0",
-        "icss-utils": "^4.1.1",
-        "loader-utils": "^2.0.0",
-        "postcss": "^7.0.32",
-        "postcss-modules-extract-imports": "^2.0.0",
-        "postcss-modules-local-by-default": "^3.0.3",
-        "postcss-modules-scope": "^2.2.0",
-        "postcss-modules-values": "^3.0.0",
-        "postcss-value-parser": "^4.1.0",
-        "schema-utils": "^2.7.1",
-        "semver": "^7.3.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "webpack": "^4.27.0 || ^5.0.0"
-      }
-    },
-    "node_modules/css-prefers-color-scheme": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz",
-      "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.5"
-      },
-      "bin": {
-        "css-prefers-color-scheme": "cli.js"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/css-select": {
-      "version": "4.1.3",
-      "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz",
-      "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==",
-      "dev": true,
-      "dependencies": {
-        "boolbase": "^1.0.0",
-        "css-what": "^5.0.0",
-        "domhandler": "^4.2.0",
-        "domutils": "^2.6.0",
-        "nth-check": "^2.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/fb55"
-      }
-    },
-    "node_modules/css-select-base-adapter": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
-      "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
-      "dev": true
-    },
-    "node_modules/css-tree": {
-      "version": "1.0.0-alpha.37",
-      "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
-      "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
-      "dev": true,
-      "dependencies": {
-        "mdn-data": "2.0.4",
-        "source-map": "^0.6.1"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/css-tree/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/css-what": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz",
-      "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/fb55"
-      }
-    },
-    "node_modules/css.escape": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
-      "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s="
-    },
-    "node_modules/css/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/cssdb": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz",
-      "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==",
-      "dev": true
-    },
-    "node_modules/cssesc": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
-      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
-      "dev": true,
-      "bin": {
-        "cssesc": "bin/cssesc"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/cssnano": {
-      "version": "4.1.11",
-      "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz",
-      "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==",
-      "dev": true,
-      "dependencies": {
-        "cosmiconfig": "^5.0.0",
-        "cssnano-preset-default": "^4.0.8",
-        "is-resolvable": "^1.0.0",
-        "postcss": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/cssnano-preset-default": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz",
-      "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==",
-      "dev": true,
-      "dependencies": {
-        "css-declaration-sorter": "^4.0.1",
-        "cssnano-util-raw-cache": "^4.0.1",
-        "postcss": "^7.0.0",
-        "postcss-calc": "^7.0.1",
-        "postcss-colormin": "^4.0.3",
-        "postcss-convert-values": "^4.0.1",
-        "postcss-discard-comments": "^4.0.2",
-        "postcss-discard-duplicates": "^4.0.2",
-        "postcss-discard-empty": "^4.0.1",
-        "postcss-discard-overridden": "^4.0.1",
-        "postcss-merge-longhand": "^4.0.11",
-        "postcss-merge-rules": "^4.0.3",
-        "postcss-minify-font-values": "^4.0.2",
-        "postcss-minify-gradients": "^4.0.2",
-        "postcss-minify-params": "^4.0.2",
-        "postcss-minify-selectors": "^4.0.2",
-        "postcss-normalize-charset": "^4.0.1",
-        "postcss-normalize-display-values": "^4.0.2",
-        "postcss-normalize-positions": "^4.0.2",
-        "postcss-normalize-repeat-style": "^4.0.2",
-        "postcss-normalize-string": "^4.0.2",
-        "postcss-normalize-timing-functions": "^4.0.2",
-        "postcss-normalize-unicode": "^4.0.1",
-        "postcss-normalize-url": "^4.0.1",
-        "postcss-normalize-whitespace": "^4.0.2",
-        "postcss-ordered-values": "^4.1.2",
-        "postcss-reduce-initial": "^4.0.3",
-        "postcss-reduce-transforms": "^4.0.2",
-        "postcss-svgo": "^4.0.3",
-        "postcss-unique-selectors": "^4.0.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/cssnano-util-get-arguments": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
-      "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/cssnano-util-get-match": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
-      "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/cssnano-util-raw-cache": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz",
-      "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/cssnano-util-same-parent": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz",
-      "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/cssnano/node_modules/cosmiconfig": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
-      "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
-      "dev": true,
-      "dependencies": {
-        "import-fresh": "^2.0.0",
-        "is-directory": "^0.3.1",
-        "js-yaml": "^3.13.1",
-        "parse-json": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/cssnano/node_modules/import-fresh": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
-      "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
-      "dev": true,
-      "dependencies": {
-        "caller-path": "^2.0.0",
-        "resolve-from": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/cssnano/node_modules/parse-json": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
-      "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
-      "dev": true,
-      "dependencies": {
-        "error-ex": "^1.3.1",
-        "json-parse-better-errors": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/cssnano/node_modules/resolve-from": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-      "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/csso": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
-      "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
-      "dev": true,
-      "dependencies": {
-        "css-tree": "^1.1.2"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/csso/node_modules/css-tree": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
-      "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
-      "dev": true,
-      "dependencies": {
-        "mdn-data": "2.0.14",
-        "source-map": "^0.6.1"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/csso/node_modules/mdn-data": {
-      "version": "2.0.14",
-      "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
-      "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
-      "dev": true
-    },
-    "node_modules/csso/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/cssom": {
-      "version": "0.4.4",
-      "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
-      "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw=="
-    },
-    "node_modules/cssstyle": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
-      "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
-      "dependencies": {
-        "cssom": "~0.3.6"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/cssstyle/node_modules/cssom": {
-      "version": "0.3.8",
-      "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
-      "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
-    },
-    "node_modules/csstype": {
-      "version": "3.0.8",
-      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz",
-      "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==",
-      "dev": true
-    },
-    "node_modules/cyclist": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
-      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
-      "dev": true
-    },
-    "node_modules/d": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
-      "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
-      "dev": true,
-      "dependencies": {
-        "es5-ext": "^0.10.50",
-        "type": "^1.0.1"
-      }
-    },
-    "node_modules/damerau-levenshtein": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz",
-      "integrity": "sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==",
-      "dev": true
-    },
-    "node_modules/data-urls": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
-      "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
-      "dependencies": {
-        "abab": "^2.0.3",
-        "whatwg-mimetype": "^2.3.0",
-        "whatwg-url": "^8.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/debug": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
-      "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
-      "dependencies": {
-        "ms": "2.1.2"
-      },
-      "engines": {
-        "node": ">=6.0"
-      },
-      "peerDependenciesMeta": {
-        "supports-color": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/decamelize": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
-      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/decimal.js": {
-      "version": "10.3.1",
-      "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
-      "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ=="
-    },
-    "node_modules/decode-uri-component": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/dedent": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
-      "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
-      "dev": true
-    },
-    "node_modules/deep-equal": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
-      "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
-      "dependencies": {
-        "is-arguments": "^1.0.4",
-        "is-date-object": "^1.0.1",
-        "is-regex": "^1.0.4",
-        "object-is": "^1.0.1",
-        "object-keys": "^1.1.1",
-        "regexp.prototype.flags": "^1.2.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/deep-is": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
-      "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
-    },
-    "node_modules/deepmerge": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
-      "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/default-gateway": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
-      "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==",
-      "dev": true,
-      "dependencies": {
-        "execa": "^1.0.0",
-        "ip-regex": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/default-gateway/node_modules/cross-spawn": {
-      "version": "6.0.5",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
-      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
-      "dev": true,
-      "dependencies": {
-        "nice-try": "^1.0.4",
-        "path-key": "^2.0.1",
-        "semver": "^5.5.0",
-        "shebang-command": "^1.2.0",
-        "which": "^1.2.9"
-      },
-      "engines": {
-        "node": ">=4.8"
-      }
-    },
-    "node_modules/default-gateway/node_modules/execa": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
-      "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
-      "dev": true,
-      "dependencies": {
-        "cross-spawn": "^6.0.0",
-        "get-stream": "^4.0.0",
-        "is-stream": "^1.1.0",
-        "npm-run-path": "^2.0.0",
-        "p-finally": "^1.0.0",
-        "signal-exit": "^3.0.0",
-        "strip-eof": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/default-gateway/node_modules/get-stream": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
-      "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
-      "dev": true,
-      "dependencies": {
-        "pump": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/default-gateway/node_modules/is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/default-gateway/node_modules/npm-run-path": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
-      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
-      "dev": true,
-      "dependencies": {
-        "path-key": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/default-gateway/node_modules/path-key": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/default-gateway/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/default-gateway/node_modules/shebang-command": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
-      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-      "dev": true,
-      "dependencies": {
-        "shebang-regex": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/default-gateway/node_modules/shebang-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/default-gateway/node_modules/which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "which": "bin/which"
-      }
-    },
-    "node_modules/define-properties": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
-      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
-      "dependencies": {
-        "object-keys": "^1.0.12"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/del": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
-      "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/glob": "^7.1.1",
-        "globby": "^6.1.0",
-        "is-path-cwd": "^2.0.0",
-        "is-path-in-cwd": "^2.0.0",
-        "p-map": "^2.0.0",
-        "pify": "^4.0.1",
-        "rimraf": "^2.6.3"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/del/node_modules/array-union": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
-      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
-      "dev": true,
-      "dependencies": {
-        "array-uniq": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/del/node_modules/globby": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
-      "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
-      "dev": true,
-      "dependencies": {
-        "array-union": "^1.0.1",
-        "glob": "^7.0.3",
-        "object-assign": "^4.0.1",
-        "pify": "^2.0.0",
-        "pinkie-promise": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/del/node_modules/globby/node_modules/pify": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/del/node_modules/p-map": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
-      "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/del/node_modules/rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
-    "node_modules/delayed-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/depd": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
-      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/des.js": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
-      "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "node_modules/destroy": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
-      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
-      "dev": true
-    },
-    "node_modules/detect-newline": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
-      "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/detect-node": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
-      "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
-      "dev": true
-    },
-    "node_modules/detect-port-alt": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz",
-      "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==",
-      "dev": true,
-      "dependencies": {
-        "address": "^1.0.1",
-        "debug": "^2.6.0"
-      },
-      "bin": {
-        "detect": "bin/detect-port",
-        "detect-port": "bin/detect-port"
-      },
-      "engines": {
-        "node": ">= 4.2.1"
-      }
-    },
-    "node_modules/detect-port-alt/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/detect-port-alt/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/diff": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
-      "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.3.1"
-      }
-    },
-    "node_modules/diff-sequences": {
-      "version": "27.0.6",
-      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz",
-      "integrity": "sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==",
-      "dev": true,
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/diffie-hellman": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
-      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.1.0",
-        "miller-rabin": "^4.0.0",
-        "randombytes": "^2.0.0"
-      }
-    },
-    "node_modules/diffie-hellman/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
-    "node_modules/dir-glob": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
-      "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
-      "dev": true,
-      "dependencies": {
-        "path-type": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/discontinuous-range": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz",
-      "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=",
-      "dev": true
-    },
-    "node_modules/dns-equal": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
-      "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
-      "dev": true
-    },
-    "node_modules/dns-packet": {
-      "version": "1.3.4",
-      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz",
-      "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==",
-      "dev": true,
-      "dependencies": {
-        "ip": "^1.1.0",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "node_modules/dns-txt": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
-      "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
-      "dev": true,
-      "dependencies": {
-        "buffer-indexof": "^1.0.0"
-      }
-    },
-    "node_modules/doctrine": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
-      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
-      "dev": true,
-      "dependencies": {
-        "esutils": "^2.0.2"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/dom-converter": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
-      "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
-      "dev": true,
-      "dependencies": {
-        "utila": "~0.4"
-      }
-    },
-    "node_modules/dom-helpers": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz",
-      "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==",
-      "dependencies": {
-        "@babel/runtime": "^7.1.2"
-      }
-    },
-    "node_modules/dom-serializer": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
-      "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
-      "dependencies": {
-        "domelementtype": "^2.0.1",
-        "domhandler": "^4.2.0",
-        "entities": "^2.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
-      }
-    },
-    "node_modules/domain-browser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
-      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4",
-        "npm": ">=1.2"
-      }
-    },
-    "node_modules/domelementtype": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
-      "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/fb55"
-        }
-      ]
-    },
-    "node_modules/domexception": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
-      "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
-      "dependencies": {
-        "webidl-conversions": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/domexception/node_modules/webidl-conversions": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
-      "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/domhandler": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
-      "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
-      "dependencies": {
-        "domelementtype": "^2.2.0"
-      },
-      "engines": {
-        "node": ">= 4"
-      },
-      "funding": {
-        "url": "https://github.com/fb55/domhandler?sponsor=1"
-      }
-    },
-    "node_modules/domutils": {
-      "version": "2.8.0",
-      "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
-      "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
-      "dependencies": {
-        "dom-serializer": "^1.0.1",
-        "domelementtype": "^2.2.0",
-        "domhandler": "^4.2.0"
-      },
-      "funding": {
-        "url": "https://github.com/fb55/domutils?sponsor=1"
-      }
-    },
-    "node_modules/dot-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
-      "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
-      "dev": true,
-      "dependencies": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/dot-prop": {
-      "version": "5.3.0",
-      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
-      "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
-      "dev": true,
-      "dependencies": {
-        "is-obj": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/dot-prop/node_modules/is-obj": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
-      "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/dotenv": {
-      "version": "8.2.0",
-      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
-      "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/dotenv-expand": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
-      "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
-      "dev": true
-    },
-    "node_modules/downshift": {
-      "version": "3.4.8",
-      "resolved": "https://registry.npmjs.org/downshift/-/downshift-3.4.8.tgz",
-      "integrity": "sha512-dZL3iNL/LbpHNzUQAaVq/eTD1ocnGKKjbAl/848Q0KEp6t81LJbS37w3f93oD6gqqAnjdgM7Use36qZSipHXBw==",
-      "dependencies": {
-        "@babel/runtime": "^7.4.5",
-        "compute-scroll-into-view": "^1.0.9",
-        "prop-types": "^15.7.2",
-        "react-is": "^16.9.0"
-      },
-      "peerDependencies": {
-        "react": ">=0.14.9"
-      }
-    },
-    "node_modules/duplexer": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
-      "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
-      "dev": true
-    },
-    "node_modules/duplexify": {
-      "version": "3.7.1",
-      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
-      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
-      "dev": true,
-      "dependencies": {
-        "end-of-stream": "^1.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "node_modules/ee-first": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
-      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
-      "dev": true
-    },
-    "node_modules/ejs": {
-      "version": "2.7.4",
-      "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz",
-      "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==",
-      "dev": true,
-      "hasInstallScript": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/electron-to-chromium": {
-      "version": "1.3.830",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.830.tgz",
-      "integrity": "sha512-gBN7wNAxV5vl1430dG+XRcQhD4pIeYeak6p6rjdCtlz5wWNwDad8jwvphe5oi1chL5MV6RNRikfffBBiFuj+rQ==",
-      "dev": true
-    },
-    "node_modules/elliptic": {
-      "version": "6.5.4",
-      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
-      "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.11.9",
-        "brorand": "^1.1.0",
-        "hash.js": "^1.0.0",
-        "hmac-drbg": "^1.0.1",
-        "inherits": "^2.0.4",
-        "minimalistic-assert": "^1.0.1",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "node_modules/elliptic/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
-    "node_modules/emittery": {
-      "version": "0.7.2",
-      "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz",
-      "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sindresorhus/emittery?sponsor=1"
-      }
-    },
-    "node_modules/emoji-regex": {
-      "version": "9.2.2",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
-      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
-      "dev": true
-    },
-    "node_modules/emojis-list": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
-      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/encodeurl": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
-      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/end-of-stream": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
-      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
-      "dev": true,
-      "dependencies": {
-        "once": "^1.4.0"
-      }
-    },
-    "node_modules/enhanced-resolve": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
-      "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "memory-fs": "^0.5.0",
-        "tapable": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/enhanced-resolve/node_modules/memory-fs": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
-      "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
-      "dev": true,
-      "dependencies": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=4.3.0 <5.0.0 || >=5.10"
-      }
-    },
-    "node_modules/enquirer": {
-      "version": "2.3.6",
-      "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
-      "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
-      "dev": true,
-      "dependencies": {
-        "ansi-colors": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=8.6"
-      }
-    },
-    "node_modules/entities": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
-      "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
-      "funding": {
-        "url": "https://github.com/fb55/entities?sponsor=1"
-      }
-    },
-    "node_modules/enzyme": {
-      "version": "3.11.0",
-      "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.11.0.tgz",
-      "integrity": "sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==",
-      "dev": true,
-      "dependencies": {
-        "array.prototype.flat": "^1.2.3",
-        "cheerio": "^1.0.0-rc.3",
-        "enzyme-shallow-equal": "^1.0.1",
-        "function.prototype.name": "^1.1.2",
-        "has": "^1.0.3",
-        "html-element-map": "^1.2.0",
-        "is-boolean-object": "^1.0.1",
-        "is-callable": "^1.1.5",
-        "is-number-object": "^1.0.4",
-        "is-regex": "^1.0.5",
-        "is-string": "^1.0.5",
-        "is-subset": "^0.1.1",
-        "lodash.escape": "^4.0.1",
-        "lodash.isequal": "^4.5.0",
-        "object-inspect": "^1.7.0",
-        "object-is": "^1.0.2",
-        "object.assign": "^4.1.0",
-        "object.entries": "^1.1.1",
-        "object.values": "^1.1.1",
-        "raf": "^3.4.1",
-        "rst-selector-parser": "^2.2.3",
-        "string.prototype.trim": "^1.2.1"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/enzyme-adapter-react-16": {
-      "version": "1.15.6",
-      "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.6.tgz",
-      "integrity": "sha512-yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g==",
-      "dev": true,
-      "dependencies": {
-        "enzyme-adapter-utils": "^1.14.0",
-        "enzyme-shallow-equal": "^1.0.4",
-        "has": "^1.0.3",
-        "object.assign": "^4.1.2",
-        "object.values": "^1.1.2",
-        "prop-types": "^15.7.2",
-        "react-is": "^16.13.1",
-        "react-test-renderer": "^16.0.0-0",
-        "semver": "^5.7.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      },
-      "peerDependencies": {
-        "enzyme": "^3.0.0",
-        "react": "^16.0.0-0",
-        "react-dom": "^16.0.0-0"
-      }
-    },
-    "node_modules/enzyme-adapter-react-16/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/enzyme-adapter-utils": {
-      "version": "1.14.0",
-      "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.14.0.tgz",
-      "integrity": "sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg==",
-      "dev": true,
-      "dependencies": {
-        "airbnb-prop-types": "^2.16.0",
-        "function.prototype.name": "^1.1.3",
-        "has": "^1.0.3",
-        "object.assign": "^4.1.2",
-        "object.fromentries": "^2.0.3",
-        "prop-types": "^15.7.2",
-        "semver": "^5.7.1"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      },
-      "peerDependencies": {
-        "react": "0.13.x || 0.14.x || ^15.0.0-0 || ^16.0.0-0"
-      }
-    },
-    "node_modules/enzyme-adapter-utils/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/enzyme-shallow-equal": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz",
-      "integrity": "sha512-MttIwB8kKxypwHvRynuC3ahyNc+cFbR8mjVIltnmzQ0uKGqmsfO4bfBuLxb0beLNPhjblUEYvEbsg+VSygvF1Q==",
-      "dev": true,
-      "dependencies": {
-        "has": "^1.0.3",
-        "object-is": "^1.1.2"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/enzyme-to-json": {
-      "version": "3.6.2",
-      "resolved": "https://registry.npmjs.org/enzyme-to-json/-/enzyme-to-json-3.6.2.tgz",
-      "integrity": "sha512-Ynm6Z6R6iwQ0g2g1YToz6DWhxVnt8Dy1ijR2zynRKxTyBGA8rCDXU3rs2Qc4OKvUvc2Qoe1bcFK6bnPs20TrTg==",
-      "dev": true,
-      "dependencies": {
-        "@types/cheerio": "^0.22.22",
-        "lodash": "^4.17.21",
-        "react-is": "^16.12.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      },
-      "peerDependencies": {
-        "enzyme": "^3.4.0"
-      }
-    },
-    "node_modules/errno": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
-      "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
-      "dev": true,
-      "dependencies": {
-        "prr": "~1.0.1"
-      },
-      "bin": {
-        "errno": "cli.js"
-      }
-    },
-    "node_modules/error-ex": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
-      "dev": true,
-      "dependencies": {
-        "is-arrayish": "^0.2.1"
-      }
-    },
-    "node_modules/error-stack-parser": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz",
-      "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==",
-      "dev": true,
-      "dependencies": {
-        "stackframe": "^1.1.1"
-      }
-    },
-    "node_modules/es-abstract": {
-      "version": "1.18.5",
-      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz",
-      "integrity": "sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "es-to-primitive": "^1.2.1",
-        "function-bind": "^1.1.1",
-        "get-intrinsic": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.2",
-        "internal-slot": "^1.0.3",
-        "is-callable": "^1.2.3",
-        "is-negative-zero": "^2.0.1",
-        "is-regex": "^1.1.3",
-        "is-string": "^1.0.6",
-        "object-inspect": "^1.11.0",
-        "object-keys": "^1.1.1",
-        "object.assign": "^4.1.2",
-        "string.prototype.trimend": "^1.0.4",
-        "string.prototype.trimstart": "^1.0.4",
-        "unbox-primitive": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/es-array-method-boxes-properly": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz",
-      "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==",
-      "dev": true
-    },
-    "node_modules/es-to-primitive": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
-      "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
-      "dev": true,
-      "dependencies": {
-        "is-callable": "^1.1.4",
-        "is-date-object": "^1.0.1",
-        "is-symbol": "^1.0.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/es5-ext": {
-      "version": "0.10.53",
-      "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
-      "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
-      "dev": true,
-      "dependencies": {
-        "es6-iterator": "~2.0.3",
-        "es6-symbol": "~3.1.3",
-        "next-tick": "~1.0.0"
-      }
-    },
-    "node_modules/es6-iterator": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
-      "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
-      "dev": true,
-      "dependencies": {
-        "d": "1",
-        "es5-ext": "^0.10.35",
-        "es6-symbol": "^3.1.1"
-      }
-    },
-    "node_modules/es6-symbol": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
-      "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
-      "dev": true,
-      "dependencies": {
-        "d": "^1.0.1",
-        "ext": "^1.1.2"
-      }
-    },
-    "node_modules/escalade": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
-      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/escape-html": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
-      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
-      "dev": true
-    },
-    "node_modules/escape-string-regexp": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/escodegen": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
-      "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
-      "dependencies": {
-        "esprima": "^4.0.1",
-        "estraverse": "^5.2.0",
-        "esutils": "^2.0.2",
-        "optionator": "^0.8.1"
-      },
-      "bin": {
-        "escodegen": "bin/escodegen.js",
-        "esgenerate": "bin/esgenerate.js"
-      },
-      "engines": {
-        "node": ">=6.0"
-      },
-      "optionalDependencies": {
-        "source-map": "~0.6.1"
-      }
-    },
-    "node_modules/escodegen/node_modules/levn": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
-      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
-      "dependencies": {
-        "prelude-ls": "~1.1.2",
-        "type-check": "~0.3.2"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/escodegen/node_modules/optionator": {
-      "version": "0.8.3",
-      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
-      "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
-      "dependencies": {
-        "deep-is": "~0.1.3",
-        "fast-levenshtein": "~2.0.6",
-        "levn": "~0.3.0",
-        "prelude-ls": "~1.1.2",
-        "type-check": "~0.3.2",
-        "word-wrap": "~1.2.3"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/escodegen/node_modules/prelude-ls": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
-      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/escodegen/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "optional": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/escodegen/node_modules/type-check": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
-      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
-      "dependencies": {
-        "prelude-ls": "~1.1.2"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/eslint": {
-      "version": "7.32.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz",
-      "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "7.12.11",
-        "@eslint/eslintrc": "^0.4.3",
-        "@humanwhocodes/config-array": "^0.5.0",
-        "ajv": "^6.10.0",
-        "chalk": "^4.0.0",
-        "cross-spawn": "^7.0.2",
-        "debug": "^4.0.1",
-        "doctrine": "^3.0.0",
-        "enquirer": "^2.3.5",
-        "escape-string-regexp": "^4.0.0",
-        "eslint-scope": "^5.1.1",
-        "eslint-utils": "^2.1.0",
-        "eslint-visitor-keys": "^2.0.0",
-        "espree": "^7.3.1",
-        "esquery": "^1.4.0",
-        "esutils": "^2.0.2",
-        "fast-deep-equal": "^3.1.3",
-        "file-entry-cache": "^6.0.1",
-        "functional-red-black-tree": "^1.0.1",
-        "glob-parent": "^5.1.2",
-        "globals": "^13.6.0",
-        "ignore": "^4.0.6",
-        "import-fresh": "^3.0.0",
-        "imurmurhash": "^0.1.4",
-        "is-glob": "^4.0.0",
-        "js-yaml": "^3.13.1",
-        "json-stable-stringify-without-jsonify": "^1.0.1",
-        "levn": "^0.4.1",
-        "lodash.merge": "^4.6.2",
-        "minimatch": "^3.0.4",
-        "natural-compare": "^1.4.0",
-        "optionator": "^0.9.1",
-        "progress": "^2.0.0",
-        "regexpp": "^3.1.0",
-        "semver": "^7.2.1",
-        "strip-ansi": "^6.0.0",
-        "strip-json-comments": "^3.1.0",
-        "table": "^6.0.9",
-        "text-table": "^0.2.0",
-        "v8-compile-cache": "^2.0.3"
-      },
-      "bin": {
-        "eslint": "bin/eslint.js"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/eslint"
-      }
-    },
-    "node_modules/eslint-config-prettier": {
-      "version": "8.3.0",
-      "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz",
-      "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==",
-      "dev": true,
-      "bin": {
-        "eslint-config-prettier": "bin/cli.js"
-      },
-      "peerDependencies": {
-        "eslint": ">=7.0.0"
-      }
-    },
-    "node_modules/eslint-config-react-app": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-6.0.0.tgz",
-      "integrity": "sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==",
-      "dev": true,
-      "dependencies": {
-        "confusing-browser-globals": "^1.0.10"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "peerDependencies": {
-        "@typescript-eslint/eslint-plugin": "^4.0.0",
-        "@typescript-eslint/parser": "^4.0.0",
-        "babel-eslint": "^10.0.0",
-        "eslint": "^7.5.0",
-        "eslint-plugin-flowtype": "^5.2.0",
-        "eslint-plugin-import": "^2.22.0",
-        "eslint-plugin-jest": "^24.0.0",
-        "eslint-plugin-jsx-a11y": "^6.3.1",
-        "eslint-plugin-react": "^7.20.3",
-        "eslint-plugin-react-hooks": "^4.0.8",
-        "eslint-plugin-testing-library": "^3.9.0"
-      },
-      "peerDependenciesMeta": {
-        "eslint-plugin-jest": {
-          "optional": true
-        },
-        "eslint-plugin-testing-library": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/eslint-import-resolver-node": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
-      "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^3.2.7",
-        "resolve": "^1.20.0"
-      }
-    },
-    "node_modules/eslint-import-resolver-node/node_modules/debug": {
-      "version": "3.2.7",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
-      "dev": true,
-      "dependencies": {
-        "ms": "^2.1.1"
-      }
-    },
-    "node_modules/eslint-module-utils": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz",
-      "integrity": "sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^3.2.7",
-        "pkg-dir": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/eslint-module-utils/node_modules/debug": {
-      "version": "3.2.7",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
-      "dev": true,
-      "dependencies": {
-        "ms": "^2.1.1"
-      }
-    },
-    "node_modules/eslint-plugin-flowtype": {
-      "version": "5.9.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.9.2.tgz",
-      "integrity": "sha512-qxE/eo9DCN7800MIB/O1ToOiFuOPOlaMJWQY2BEm69oY7RCm3s2X1z4CdgtFvDDWf9RSSugZm1KRhdBMBueKbg==",
-      "dev": true,
-      "dependencies": {
-        "lodash": "^4.17.15",
-        "string-natural-compare": "^3.0.1"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "peerDependencies": {
-        "eslint": "^7.1.0"
-      }
-    },
-    "node_modules/eslint-plugin-import": {
-      "version": "2.24.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz",
-      "integrity": "sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==",
-      "dev": true,
-      "dependencies": {
-        "array-includes": "^3.1.3",
-        "array.prototype.flat": "^1.2.4",
-        "debug": "^2.6.9",
-        "doctrine": "^2.1.0",
-        "eslint-import-resolver-node": "^0.3.6",
-        "eslint-module-utils": "^2.6.2",
-        "find-up": "^2.0.0",
-        "has": "^1.0.3",
-        "is-core-module": "^2.6.0",
-        "minimatch": "^3.0.4",
-        "object.values": "^1.1.4",
-        "pkg-up": "^2.0.0",
-        "read-pkg-up": "^3.0.0",
-        "resolve": "^1.20.0",
-        "tsconfig-paths": "^3.11.0"
-      },
-      "engines": {
-        "node": ">=4"
-      },
-      "peerDependencies": {
-        "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0"
-      }
-    },
-    "node_modules/eslint-plugin-import/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/eslint-plugin-import/node_modules/doctrine": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
-      "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
-      "dev": true,
-      "dependencies": {
-        "esutils": "^2.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/eslint-plugin-import/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/eslint-plugin-jest": {
-      "version": "24.4.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.4.0.tgz",
-      "integrity": "sha512-8qnt/hgtZ94E9dA6viqfViKBfkJwFHXgJmTWlMGDgunw1XJEGqm3eiPjDsTanM3/u/3Az82nyQM9GX7PM/QGmg==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/experimental-utils": "^4.0.1"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "peerDependencies": {
-        "@typescript-eslint/eslint-plugin": ">= 4",
-        "eslint": ">=5"
-      },
-      "peerDependenciesMeta": {
-        "@typescript-eslint/eslint-plugin": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/eslint-plugin-jsx-a11y": {
-      "version": "6.4.1",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz",
-      "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/runtime": "^7.11.2",
-        "aria-query": "^4.2.2",
-        "array-includes": "^3.1.1",
-        "ast-types-flow": "^0.0.7",
-        "axe-core": "^4.0.2",
-        "axobject-query": "^2.2.0",
-        "damerau-levenshtein": "^1.0.6",
-        "emoji-regex": "^9.0.0",
-        "has": "^1.0.3",
-        "jsx-ast-utils": "^3.1.0",
-        "language-tags": "^1.0.5"
-      },
-      "engines": {
-        "node": ">=4.0"
-      },
-      "peerDependencies": {
-        "eslint": "^3 || ^4 || ^5 || ^6 || ^7"
-      }
-    },
-    "node_modules/eslint-plugin-prettier": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz",
-      "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==",
-      "dev": true,
-      "dependencies": {
-        "prettier-linter-helpers": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      },
-      "peerDependencies": {
-        "eslint": ">=7.28.0",
-        "prettier": ">=2.0.0"
-      },
-      "peerDependenciesMeta": {
-        "eslint-config-prettier": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/eslint-plugin-react": {
-      "version": "7.25.1",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.25.1.tgz",
-      "integrity": "sha512-P4j9K1dHoFXxDNP05AtixcJEvIT6ht8FhYKsrkY0MPCPaUMYijhpWwNiRDZVtA8KFuZOkGSeft6QwH8KuVpJug==",
-      "dev": true,
-      "dependencies": {
-        "array-includes": "^3.1.3",
-        "array.prototype.flatmap": "^1.2.4",
-        "doctrine": "^2.1.0",
-        "estraverse": "^5.2.0",
-        "has": "^1.0.3",
-        "jsx-ast-utils": "^2.4.1 || ^3.0.0",
-        "minimatch": "^3.0.4",
-        "object.entries": "^1.1.4",
-        "object.fromentries": "^2.0.4",
-        "object.values": "^1.1.4",
-        "prop-types": "^15.7.2",
-        "resolve": "^2.0.0-next.3",
-        "string.prototype.matchall": "^4.0.5"
-      },
-      "engines": {
-        "node": ">=4"
-      },
-      "peerDependencies": {
-        "eslint": "^3 || ^4 || ^5 || ^6 || ^7"
-      }
-    },
-    "node_modules/eslint-plugin-react-hooks": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz",
-      "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "peerDependencies": {
-        "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
-      }
-    },
-    "node_modules/eslint-plugin-react/node_modules/doctrine": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
-      "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
-      "dev": true,
-      "dependencies": {
-        "esutils": "^2.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/eslint-plugin-react/node_modules/resolve": {
-      "version": "2.0.0-next.3",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz",
-      "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==",
-      "dev": true,
-      "dependencies": {
-        "is-core-module": "^2.2.0",
-        "path-parse": "^1.0.6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/eslint-plugin-testing-library": {
-      "version": "3.10.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-3.10.2.tgz",
-      "integrity": "sha512-WAmOCt7EbF1XM8XfbCKAEzAPnShkNSwcIsAD2jHdsMUT9mZJPjLCG7pMzbcC8kK366NOuGip8HKLDC+Xk4yIdA==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/experimental-utils": "^3.10.1"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0",
-        "npm": ">=6"
-      },
-      "peerDependencies": {
-        "eslint": "^5 || ^6 || ^7"
-      }
-    },
-    "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/experimental-utils": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz",
-      "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.3",
-        "@typescript-eslint/types": "3.10.1",
-        "@typescript-eslint/typescript-estree": "3.10.1",
-        "eslint-scope": "^5.0.0",
-        "eslint-utils": "^2.0.0"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "eslint": "*"
-      }
-    },
-    "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz",
-      "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==",
-      "dev": true,
-      "engines": {
-        "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz",
-      "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==",
-      "dev": true,
-      "dependencies": {
-        "@typescript-eslint/types": "3.10.1",
-        "@typescript-eslint/visitor-keys": "3.10.1",
-        "debug": "^4.1.1",
-        "glob": "^7.1.6",
-        "is-glob": "^4.0.1",
-        "lodash": "^4.17.15",
-        "semver": "^7.3.2",
-        "tsutils": "^3.17.1"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz",
-      "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==",
-      "dev": true,
-      "dependencies": {
-        "eslint-visitor-keys": "^1.1.0"
-      },
-      "engines": {
-        "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/eslint-plugin-testing-library/node_modules/eslint-utils": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
-      "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
-      "dev": true,
-      "dependencies": {
-        "eslint-visitor-keys": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/mysticatea"
-      }
-    },
-    "node_modules/eslint-plugin-testing-library/node_modules/eslint-visitor-keys": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
-      "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/eslint-scope": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
-      "dev": true,
-      "dependencies": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/eslint-scope/node_modules/estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/eslint-utils": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
-      "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
-      "dev": true,
-      "dependencies": {
-        "eslint-visitor-keys": "^2.0.0"
-      },
-      "engines": {
-        "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/mysticatea"
-      },
-      "peerDependencies": {
-        "eslint": ">=5"
-      }
-    },
-    "node_modules/eslint-visitor-keys": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
-      "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/eslint-webpack-plugin": {
-      "version": "2.5.4",
-      "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-2.5.4.tgz",
-      "integrity": "sha512-7rYh0m76KyKSDE+B+2PUQrlNS4HJ51t3WKpkJg6vo2jFMbEPTG99cBV0Dm7LXSHucN4WGCG65wQcRiTFrj7iWw==",
-      "dev": true,
-      "dependencies": {
-        "@types/eslint": "^7.2.6",
-        "arrify": "^2.0.1",
-        "jest-worker": "^26.6.2",
-        "micromatch": "^4.0.2",
-        "normalize-path": "^3.0.0",
-        "schema-utils": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "eslint": "^7.0.0",
-        "webpack": "^4.0.0 || ^5.0.0"
-      }
-    },
-    "node_modules/eslint-webpack-plugin/node_modules/schema-utils": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
-      "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
-    "node_modules/eslint/node_modules/@babel/code-frame": {
-      "version": "7.12.11",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
-      "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/highlight": "^7.10.4"
-      }
-    },
-    "node_modules/eslint/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/eslint/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/eslint/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/eslint/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/eslint/node_modules/escape-string-regexp": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/eslint/node_modules/eslint-utils": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
-      "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
-      "dev": true,
-      "dependencies": {
-        "eslint-visitor-keys": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/mysticatea"
-      }
-    },
-    "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
-      "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/eslint/node_modules/globals": {
-      "version": "13.11.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz",
-      "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==",
-      "dev": true,
-      "dependencies": {
-        "type-fest": "^0.20.2"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/eslint/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/eslint/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/eslint/node_modules/type-fest": {
-      "version": "0.20.2",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
-      "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/espree": {
-      "version": "7.3.1",
-      "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
-      "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
-      "dev": true,
-      "dependencies": {
-        "acorn": "^7.4.0",
-        "acorn-jsx": "^5.3.1",
-        "eslint-visitor-keys": "^1.3.0"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      }
-    },
-    "node_modules/espree/node_modules/eslint-visitor-keys": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
-      "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/esprima": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
-      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
-      "bin": {
-        "esparse": "bin/esparse.js",
-        "esvalidate": "bin/esvalidate.js"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/esquery": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
-      "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
-      "dev": true,
-      "dependencies": {
-        "estraverse": "^5.1.0"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/esrecurse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
-      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
-      "dev": true,
-      "dependencies": {
-        "estraverse": "^5.2.0"
-      },
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/estraverse": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
-      "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/estree-walker": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
-      "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
-      "dev": true
-    },
-    "node_modules/esutils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
-      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/etag": {
-      "version": "1.8.1",
-      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
-      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/eventemitter3": {
-      "version": "4.0.7",
-      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
-      "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
-      "dev": true
-    },
-    "node_modules/events": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.x"
-      }
-    },
-    "node_modules/eventsource": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz",
-      "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==",
-      "dev": true,
-      "dependencies": {
-        "original": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.12.0"
-      }
-    },
-    "node_modules/evp_bytestokey": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
-      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "dev": true,
-      "dependencies": {
-        "md5.js": "^1.3.4",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "node_modules/exec-sh": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz",
-      "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==",
-      "dev": true
-    },
-    "node_modules/execa": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
-      "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
-      "dev": true,
-      "dependencies": {
-        "cross-spawn": "^7.0.0",
-        "get-stream": "^5.0.0",
-        "human-signals": "^1.1.1",
-        "is-stream": "^2.0.0",
-        "merge-stream": "^2.0.0",
-        "npm-run-path": "^4.0.0",
-        "onetime": "^5.1.0",
-        "signal-exit": "^3.0.2",
-        "strip-final-newline": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sindresorhus/execa?sponsor=1"
-      }
-    },
-    "node_modules/exit": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
-      "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/expand-brackets": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
-      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "dev": true,
-      "dependencies": {
-        "debug": "^2.3.3",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "posix-character-classes": "^0.1.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/is-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^0.1.6",
-        "is-data-descriptor": "^0.1.4",
-        "kind-of": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/kind-of": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-      "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/expand-brackets/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/expect": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz",
-      "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "ansi-styles": "^4.0.0",
-        "jest-get-type": "^26.3.0",
-        "jest-matcher-utils": "^26.6.2",
-        "jest-message-util": "^26.6.2",
-        "jest-regex-util": "^26.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/expect/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/expect/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/expect/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/expect/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/expect/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/expect/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/expect/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/expect/node_modules/jest-get-type": {
-      "version": "26.3.0",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-      "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/expect/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/express": {
-      "version": "4.17.1",
-      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
-      "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
-      "dev": true,
-      "dependencies": {
-        "accepts": "~1.3.7",
-        "array-flatten": "1.1.1",
-        "body-parser": "1.19.0",
-        "content-disposition": "0.5.3",
-        "content-type": "~1.0.4",
-        "cookie": "0.4.0",
-        "cookie-signature": "1.0.6",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "finalhandler": "~1.1.2",
-        "fresh": "0.5.2",
-        "merge-descriptors": "1.0.1",
-        "methods": "~1.1.2",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.7",
-        "proxy-addr": "~2.0.5",
-        "qs": "6.7.0",
-        "range-parser": "~1.2.1",
-        "safe-buffer": "5.1.2",
-        "send": "0.17.1",
-        "serve-static": "1.14.1",
-        "setprototypeof": "1.1.1",
-        "statuses": "~1.5.0",
-        "type-is": "~1.6.18",
-        "utils-merge": "1.0.1",
-        "vary": "~1.1.2"
-      },
-      "engines": {
-        "node": ">= 0.10.0"
-      }
-    },
-    "node_modules/express/node_modules/array-flatten": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
-      "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
-      "dev": true
-    },
-    "node_modules/express/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/express/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/express/node_modules/path-to-regexp": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
-      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
-      "dev": true
-    },
-    "node_modules/ext": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/ext/-/ext-1.5.0.tgz",
-      "integrity": "sha512-+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q==",
-      "dev": true,
-      "dependencies": {
-        "type": "^2.5.0"
-      }
-    },
-    "node_modules/ext/node_modules/type": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
-      "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==",
-      "dev": true
-    },
-    "node_modules/extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "dependencies": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
-      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
-      "dependencies": {
-        "array-unique": "^0.3.2",
-        "define-property": "^1.0.0",
-        "expand-brackets": "^2.1.4",
-        "extend-shallow": "^2.0.1",
-        "fragment-cache": "^0.2.1",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob/node_modules/define-property": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/extglob/node_modules/is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/fast-deep-equal": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
-      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
-      "dev": true
-    },
-    "node_modules/fast-diff": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
-      "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
-      "dev": true
-    },
-    "node_modules/fast-glob": {
-      "version": "3.2.7",
-      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
-      "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
-      "dev": true,
-      "dependencies": {
-        "@nodelib/fs.stat": "^2.0.2",
-        "@nodelib/fs.walk": "^1.2.3",
-        "glob-parent": "^5.1.2",
-        "merge2": "^1.3.0",
-        "micromatch": "^4.0.4"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/fast-json-stable-stringify": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
-      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
-      "dev": true
-    },
-    "node_modules/fast-levenshtein": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
-      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
-    },
-    "node_modules/fastq": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz",
-      "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==",
-      "dev": true,
-      "dependencies": {
-        "reusify": "^1.0.4"
-      }
-    },
-    "node_modules/faye-websocket": {
-      "version": "0.11.4",
-      "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
-      "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
-      "dev": true,
-      "dependencies": {
-        "websocket-driver": ">=0.5.1"
-      },
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/fb-watchman": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
-      "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
-      "dev": true,
-      "dependencies": {
-        "bser": "2.1.1"
-      }
-    },
-    "node_modules/figgy-pudding": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
-      "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
-      "dev": true
-    },
-    "node_modules/file-entry-cache": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
-      "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
-      "dev": true,
-      "dependencies": {
-        "flat-cache": "^3.0.4"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      }
-    },
-    "node_modules/file-loader": {
-      "version": "6.1.1",
-      "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.1.1.tgz",
-      "integrity": "sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw==",
-      "dev": true,
-      "dependencies": {
-        "loader-utils": "^2.0.0",
-        "schema-utils": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "webpack": "^4.0.0 || ^5.0.0"
-      }
-    },
-    "node_modules/file-loader/node_modules/schema-utils": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
-      "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
-    "node_modules/file-uri-to-path": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
-      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
-      "dev": true,
-      "optional": true
-    },
-    "node_modules/filesize": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz",
-      "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4.0"
-      }
-    },
-    "node_modules/fill-range": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-      "dependencies": {
-        "to-regex-range": "^5.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/finalhandler": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
-      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
-      "dev": true,
-      "dependencies": {
-        "debug": "2.6.9",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "statuses": "~1.5.0",
-        "unpipe": "~1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/finalhandler/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/finalhandler/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/find-cache-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
-      "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
-      "dev": true,
-      "dependencies": {
-        "commondir": "^1.0.1",
-        "make-dir": "^2.0.0",
-        "pkg-dir": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/find-cache-dir/node_modules/find-up": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/find-cache-dir/node_modules/locate-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^3.0.0",
-        "path-exists": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/find-cache-dir/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/find-cache-dir/node_modules/p-locate": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/find-cache-dir/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/find-cache-dir/node_modules/pkg-dir": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-      "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/find-up": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
-      "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/flat-cache": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
-      "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
-      "dev": true,
-      "dependencies": {
-        "flatted": "^3.1.0",
-        "rimraf": "^3.0.2"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      }
-    },
-    "node_modules/flatted": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz",
-      "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==",
-      "dev": true
-    },
-    "node_modules/flatten": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz",
-      "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==",
-      "deprecated": "flatten is deprecated in favor of utility frameworks such as lodash.",
-      "dev": true
-    },
-    "node_modules/flush-write-stream": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
-      "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.3.6"
-      }
-    },
-    "node_modules/follow-redirects": {
-      "version": "1.14.3",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.3.tgz",
-      "integrity": "sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "individual",
-          "url": "https://github.com/sponsors/RubenVerborgh"
-        }
-      ],
-      "engines": {
-        "node": ">=4.0"
-      },
-      "peerDependenciesMeta": {
-        "debug": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/for-in": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/fork-ts-checker-webpack-plugin": {
-      "version": "4.1.6",
-      "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz",
-      "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.5.5",
-        "chalk": "^2.4.1",
-        "micromatch": "^3.1.10",
-        "minimatch": "^3.0.4",
-        "semver": "^5.6.0",
-        "tapable": "^1.0.0",
-        "worker-rpc": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=6.11.5",
-        "yarn": ">=1.0.0"
-      }
-    },
-    "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/fork-ts-checker-webpack-plugin/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/fork-ts-checker-webpack-plugin/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/form-data": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
-      "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
-      "dependencies": {
-        "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.8",
-        "mime-types": "^2.1.12"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/forwarded": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
-      "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/fragment-cache": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
-      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "dev": true,
-      "dependencies": {
-        "map-cache": "^0.2.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/fresh": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
-      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/from2": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
-      "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0"
-      }
-    },
-    "node_modules/fs-extra": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
-      "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
-      "dev": true,
-      "dependencies": {
-        "at-least-node": "^1.0.0",
-        "graceful-fs": "^4.2.0",
-        "jsonfile": "^6.0.1",
-        "universalify": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/fs-minipass": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
-      "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/fs-write-stream-atomic": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
-      "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "iferr": "^0.1.5",
-        "imurmurhash": "^0.1.4",
-        "readable-stream": "1 || 2"
-      }
-    },
-    "node_modules/fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
-      "dev": true
-    },
-    "node_modules/fsevents": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
-      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
-      }
-    },
-    "node_modules/function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
-    },
-    "node_modules/function.prototype.name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.4.tgz",
-      "integrity": "sha512-iqy1pIotY/RmhdFZygSSlW0wko2yxkSCKqsuv4pr8QESohpYyG/Z7B/XXvPRKTJS//960rgguE5mSRUsDdaJrQ==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.2",
-        "functions-have-names": "^1.2.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/functional-red-black-tree": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
-      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
-      "dev": true
-    },
-    "node_modules/functions-have-names": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.2.tgz",
-      "integrity": "sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==",
-      "dev": true,
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/gensync": {
-      "version": "1.0.0-beta.2",
-      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
-      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/get-caller-file": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
-      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
-      "dev": true,
-      "engines": {
-        "node": "6.* || 8.* || >= 10.*"
-      }
-    },
-    "node_modules/get-intrinsic": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
-      "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
-      "dependencies": {
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.1"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/get-own-enumerable-property-symbols": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
-      "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==",
-      "dev": true
-    },
-    "node_modules/get-package-type": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
-      "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/get-stream": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
-      "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
-      "dev": true,
-      "dependencies": {
-        "pump": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/get-value": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/glob": {
-      "version": "7.1.7",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
-      "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
-      "dev": true,
-      "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.0.4",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
-      "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/glob-parent": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
-      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-      "dependencies": {
-        "is-glob": "^4.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/global-modules": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
-      "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
-      "dev": true,
-      "dependencies": {
-        "global-prefix": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/global-prefix": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
-      "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
-      "dev": true,
-      "dependencies": {
-        "ini": "^1.3.5",
-        "kind-of": "^6.0.2",
-        "which": "^1.3.1"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/global-prefix/node_modules/which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "which": "bin/which"
-      }
-    },
-    "node_modules/globals": {
-      "version": "11.12.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/globby": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
-      "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
-      "dev": true,
-      "dependencies": {
-        "array-union": "^2.1.0",
-        "dir-glob": "^3.0.1",
-        "fast-glob": "^3.1.1",
-        "ignore": "^5.1.4",
-        "merge2": "^1.3.0",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/globby/node_modules/ignore": {
-      "version": "5.1.8",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
-      "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/graceful-fs": {
-      "version": "4.2.8",
-      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
-      "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
-      "dev": true
-    },
-    "node_modules/growly": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
-      "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
-      "dev": true,
-      "optional": true
-    },
-    "node_modules/gud": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz",
-      "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw=="
-    },
-    "node_modules/gzip-size": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz",
-      "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==",
-      "dev": true,
-      "dependencies": {
-        "duplexer": "^0.1.1",
-        "pify": "^4.0.1"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/handle-thing": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
-      "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
-      "dev": true
-    },
-    "node_modules/harmony-reflect": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz",
-      "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==",
-      "dev": true
-    },
-    "node_modules/has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-      "dependencies": {
-        "function-bind": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.4.0"
-      }
-    },
-    "node_modules/has-bigints": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz",
-      "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==",
-      "dev": true,
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/has-flag": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/has-symbols": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
-      "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/has-tostringtag": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
-      "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
-      "dependencies": {
-        "has-symbols": "^1.0.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/has-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
-      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "dev": true,
-      "dependencies": {
-        "get-value": "^2.0.6",
-        "has-values": "^1.0.0",
-        "isobject": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
-      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "kind-of": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/has-values/node_modules/kind-of": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
-      "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/hash-base": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
-      "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/hash-base/node_modules/readable-stream": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/hash-base/node_modules/safe-buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/hash.js": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
-      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "minimalistic-assert": "^1.0.1"
-      }
-    },
-    "node_modules/he": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
-      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
-      "dev": true,
-      "bin": {
-        "he": "bin/he"
-      }
-    },
-    "node_modules/hex-color-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
-      "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==",
-      "dev": true
-    },
-    "node_modules/history": {
-      "version": "4.10.1",
-      "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz",
-      "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==",
-      "dependencies": {
-        "@babel/runtime": "^7.1.2",
-        "loose-envify": "^1.2.0",
-        "resolve-pathname": "^3.0.0",
-        "tiny-invariant": "^1.0.2",
-        "tiny-warning": "^1.0.0",
-        "value-equal": "^1.0.1"
-      }
-    },
-    "node_modules/hmac-drbg": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
-      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
-      "dev": true,
-      "dependencies": {
-        "hash.js": "^1.0.3",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "node_modules/hoist-non-react-statics": {
-      "version": "3.3.2",
-      "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
-      "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
-      "dependencies": {
-        "react-is": "^16.7.0"
-      }
-    },
-    "node_modules/hoopy": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
-      "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6.0.0"
-      }
-    },
-    "node_modules/hosted-git-info": {
-      "version": "2.8.9",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
-      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
-      "dev": true
-    },
-    "node_modules/hpack.js": {
-      "version": "2.1.6",
-      "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
-      "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "obuf": "^1.0.0",
-        "readable-stream": "^2.0.1",
-        "wbuf": "^1.1.0"
-      }
-    },
-    "node_modules/hsl-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz",
-      "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=",
-      "dev": true
-    },
-    "node_modules/hsla-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
-      "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
-      "dev": true
-    },
-    "node_modules/html-element-map": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.3.1.tgz",
-      "integrity": "sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==",
-      "dev": true,
-      "dependencies": {
-        "array.prototype.filter": "^1.0.0",
-        "call-bind": "^1.0.2"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/html-encoding-sniffer": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
-      "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
-      "dependencies": {
-        "whatwg-encoding": "^1.0.5"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/html-entities": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz",
-      "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==",
-      "dev": true
-    },
-    "node_modules/html-escaper": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
-      "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
-      "dev": true
-    },
-    "node_modules/html-minifier-terser": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
-      "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==",
-      "dev": true,
-      "dependencies": {
-        "camel-case": "^4.1.1",
-        "clean-css": "^4.2.3",
-        "commander": "^4.1.1",
-        "he": "^1.2.0",
-        "param-case": "^3.0.3",
-        "relateurl": "^0.2.7",
-        "terser": "^4.6.3"
-      },
-      "bin": {
-        "html-minifier-terser": "cli.js"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/html-webpack-plugin": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz",
-      "integrity": "sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==",
-      "dev": true,
-      "dependencies": {
-        "@types/html-minifier-terser": "^5.0.0",
-        "@types/tapable": "^1.0.5",
-        "@types/webpack": "^4.41.8",
-        "html-minifier-terser": "^5.0.1",
-        "loader-utils": "^1.2.3",
-        "lodash": "^4.17.15",
-        "pretty-error": "^2.1.1",
-        "tapable": "^1.1.3",
-        "util.promisify": "1.0.0"
-      },
-      "engines": {
-        "node": ">=6.9"
-      },
-      "peerDependencies": {
-        "webpack": "^4.0.0 || ^5.0.0"
-      }
-    },
-    "node_modules/html-webpack-plugin/node_modules/json5": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
-      }
-    },
-    "node_modules/html-webpack-plugin/node_modules/loader-utils": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-      "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-      "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/htmlparser2": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz",
-      "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==",
-      "dev": true,
-      "dependencies": {
-        "domelementtype": "^2.0.1",
-        "domhandler": "^3.0.0",
-        "domutils": "^2.0.0",
-        "entities": "^2.0.0"
-      }
-    },
-    "node_modules/htmlparser2/node_modules/domhandler": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz",
-      "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==",
-      "dev": true,
-      "dependencies": {
-        "domelementtype": "^2.0.1"
-      },
-      "engines": {
-        "node": ">= 4"
-      },
-      "funding": {
-        "url": "https://github.com/fb55/domhandler?sponsor=1"
-      }
-    },
-    "node_modules/http-deceiver": {
-      "version": "1.2.7",
-      "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
-      "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
-      "dev": true
-    },
-    "node_modules/http-errors": {
-      "version": "1.7.2",
-      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
-      "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
-      "dev": true,
-      "dependencies": {
-        "depd": "~1.1.2",
-        "inherits": "2.0.3",
-        "setprototypeof": "1.1.1",
-        "statuses": ">= 1.5.0 < 2",
-        "toidentifier": "1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/http-errors/node_modules/inherits": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-      "dev": true
-    },
-    "node_modules/http-parser-js": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz",
-      "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==",
-      "dev": true
-    },
-    "node_modules/http-proxy": {
-      "version": "1.18.1",
-      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
-      "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
-      "dev": true,
-      "dependencies": {
-        "eventemitter3": "^4.0.0",
-        "follow-redirects": "^1.0.0",
-        "requires-port": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/http-proxy-agent": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
-      "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
-      "dependencies": {
-        "@tootallnate/once": "1",
-        "agent-base": "6",
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/http-proxy-middleware": {
-      "version": "0.19.1",
-      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
-      "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
-      "dev": true,
-      "dependencies": {
-        "http-proxy": "^1.17.0",
-        "is-glob": "^4.0.0",
-        "lodash": "^4.17.11",
-        "micromatch": "^3.1.10"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/braces/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/fill-range/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/http-proxy-middleware/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/https-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
-      "dev": true
-    },
-    "node_modules/https-proxy-agent": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
-      "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
-      "dependencies": {
-        "agent-base": "6",
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/human-signals": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
-      "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8.12.0"
-      }
-    },
-    "node_modules/i": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz",
-      "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=",
-      "engines": {
-        "node": ">=0.4"
-      }
-    },
-    "node_modules/iconv-lite": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
-      "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/icss-utils": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz",
-      "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.14"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/identity-obj-proxy": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz",
-      "integrity": "sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=",
-      "dev": true,
-      "dependencies": {
-        "harmony-reflect": "^1.4.6"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/ieee754": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
-      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/iferr": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
-      "dev": true
-    },
-    "node_modules/ignore": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
-      "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/immer": {
-      "version": "8.0.1",
-      "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz",
-      "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==",
-      "dev": true,
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/immer"
-      }
-    },
-    "node_modules/import-cwd": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
-      "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
-      "dev": true,
-      "dependencies": {
-        "import-from": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/import-fresh": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
-      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
-      "dev": true,
-      "dependencies": {
-        "parent-module": "^1.0.0",
-        "resolve-from": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/import-from": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
-      "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
-      "dev": true,
-      "dependencies": {
-        "resolve-from": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/import-from/node_modules/resolve-from": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-      "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/import-local": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
-      "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
-      "dev": true,
-      "dependencies": {
-        "pkg-dir": "^4.2.0",
-        "resolve-cwd": "^3.0.0"
-      },
-      "bin": {
-        "import-local-fixture": "fixtures/cli.js"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/import-local/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/import-local/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/import-local/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/import-local/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/import-local/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/import-local/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/import-local/node_modules/pkg-dir": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
-      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/imurmurhash": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.19"
-      }
-    },
-    "node_modules/indent-string": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
-      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/indexes-of": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
-      "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
-      "dev": true
-    },
-    "node_modules/infer-owner": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
-      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
-      "dev": true
-    },
-    "node_modules/inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
-      "dev": true,
-      "dependencies": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
-    "node_modules/inherits": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
-      "dev": true
-    },
-    "node_modules/ini": {
-      "version": "1.3.8",
-      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
-      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
-      "dev": true
-    },
-    "node_modules/internal-ip": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
-      "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==",
-      "dev": true,
-      "dependencies": {
-        "default-gateway": "^4.2.0",
-        "ipaddr.js": "^1.9.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/internal-slot": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
-      "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
-      "dev": true,
-      "dependencies": {
-        "get-intrinsic": "^1.1.0",
-        "has": "^1.0.3",
-        "side-channel": "^1.0.4"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/ip": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
-      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
-      "dev": true
-    },
-    "node_modules/ip-regex": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
-      "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/ipaddr.js": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
-      "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/is-absolute-url": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
-      "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-accessor-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-arguments": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
-      "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "has-tostringtag": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/is-arrayish": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
-      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
-      "dev": true
-    },
-    "node_modules/is-bigint": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
-      "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
-      "dev": true,
-      "dependencies": {
-        "has-bigints": "^1.0.1"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/is-binary-path": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
-      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-      "dependencies": {
-        "binary-extensions": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/is-boolean-object": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
-      "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "has-tostringtag": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
-    },
-    "node_modules/is-callable": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
-      "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/is-ci": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
-      "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
-      "dev": true,
-      "dependencies": {
-        "ci-info": "^2.0.0"
-      },
-      "bin": {
-        "is-ci": "bin.js"
-      }
-    },
-    "node_modules/is-color-stop": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
-      "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
-      "dev": true,
-      "dependencies": {
-        "css-color-names": "^0.0.4",
-        "hex-color-regex": "^1.1.0",
-        "hsl-regex": "^1.0.0",
-        "hsla-regex": "^1.0.0",
-        "rgb-regex": "^1.0.1",
-        "rgba-regex": "^1.0.0"
-      }
-    },
-    "node_modules/is-core-module": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz",
-      "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==",
-      "dev": true,
-      "dependencies": {
-        "has": "^1.0.3"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/is-data-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-date-object": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
-      "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
-      "dependencies": {
-        "has-tostringtag": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/is-descriptor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^1.0.0",
-        "is-data-descriptor": "^1.0.0",
-        "kind-of": "^6.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-directory": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
-      "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-docker": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
-      "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
-      "dev": true,
-      "bin": {
-        "is-docker": "cli.js"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
-      "dependencies": {
-        "is-plain-object": "^2.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-extendable/node_modules/is-plain-object": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
-      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-      "dev": true,
-      "dependencies": {
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-extglob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-fullwidth-code-point": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/is-generator-fn": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
-      "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/is-glob": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
-      "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
-      "dependencies": {
-        "is-extglob": "^2.1.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-module": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
-      "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
-      "dev": true
-    },
-    "node_modules/is-negative-zero": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
-      "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/is-number": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-      "engines": {
-        "node": ">=0.12.0"
-      }
-    },
-    "node_modules/is-number-object": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz",
-      "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==",
-      "dev": true,
-      "dependencies": {
-        "has-tostringtag": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/is-obj": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
-      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-path-cwd": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
-      "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/is-path-in-cwd": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
-      "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
-      "dev": true,
-      "dependencies": {
-        "is-path-inside": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/is-path-inside": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
-      "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
-      "dev": true,
-      "dependencies": {
-        "path-is-inside": "^1.0.2"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/is-plain-obj": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
-      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-plain-object": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
-      "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-potential-custom-element-name": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
-      "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="
-    },
-    "node_modules/is-regex": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
-      "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "has-tostringtag": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/is-regexp": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
-      "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-resolvable": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
-      "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
-      "dev": true
-    },
-    "node_modules/is-root": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz",
-      "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/is-stream": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
-      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/is-string": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
-      "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
-      "dev": true,
-      "dependencies": {
-        "has-tostringtag": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/is-subset": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz",
-      "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=",
-      "dev": true
-    },
-    "node_modules/is-symbol": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
-      "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
-      "dev": true,
-      "dependencies": {
-        "has-symbols": "^1.0.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/is-typedarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
-      "dev": true
-    },
-    "node_modules/is-windows": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-wsl": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
-      "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
-      "dev": true,
-      "dependencies": {
-        "is-docker": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/isarray": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
-      "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
-    },
-    "node_modules/isexe": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
-      "dev": true
-    },
-    "node_modules/isobject": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/istanbul-lib-coverage": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
-      "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-instrument": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
-      "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.7.5",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-coverage": "^3.0.0",
-        "semver": "^6.3.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-instrument/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/istanbul-lib-report": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
-      "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
-      "dev": true,
-      "dependencies": {
-        "istanbul-lib-coverage": "^3.0.0",
-        "make-dir": "^3.0.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-report/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-report/node_modules/make-dir": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-      "dev": true,
-      "dependencies": {
-        "semver": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/istanbul-lib-report/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/istanbul-lib-report/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
-      "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.1",
-        "istanbul-lib-coverage": "^3.0.0",
-        "source-map": "^0.6.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/istanbul-reports": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
-      "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
-      "dev": true,
-      "dependencies": {
-        "html-escaper": "^2.0.0",
-        "istanbul-lib-report": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest": {
-      "version": "26.6.0",
-      "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.0.tgz",
-      "integrity": "sha512-jxTmrvuecVISvKFFhOkjsWRZV7sFqdSUAd1ajOKY+/QE/aLBVstsJ/dX8GczLzwiT6ZEwwmZqtCUHLHHQVzcfA==",
-      "dev": true,
-      "dependencies": {
-        "@jest/core": "^26.6.0",
-        "import-local": "^3.0.2",
-        "jest-cli": "^26.6.0"
-      },
-      "bin": {
-        "jest": "bin/jest.js"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-changed-files": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz",
-      "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "execa": "^4.0.0",
-        "throat": "^5.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-changed-files/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-changed-files/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-changed-files/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-changed-files/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-changed-files/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-changed-files/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-changed-files/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-changed-files/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-circus": {
-      "version": "26.6.0",
-      "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-26.6.0.tgz",
-      "integrity": "sha512-L2/Y9szN6FJPWFK8kzWXwfp+FOR7xq0cUL4lIsdbIdwz3Vh6P1nrpcqOleSzr28zOtSHQNV9Z7Tl+KkuK7t5Ng==",
-      "dev": true,
-      "dependencies": {
-        "@babel/traverse": "^7.1.0",
-        "@jest/environment": "^26.6.0",
-        "@jest/test-result": "^26.6.0",
-        "@jest/types": "^26.6.0",
-        "@types/babel__traverse": "^7.0.4",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "co": "^4.6.0",
-        "dedent": "^0.7.0",
-        "expect": "^26.6.0",
-        "is-generator-fn": "^2.0.0",
-        "jest-each": "^26.6.0",
-        "jest-matcher-utils": "^26.6.0",
-        "jest-message-util": "^26.6.0",
-        "jest-runner": "^26.6.0",
-        "jest-runtime": "^26.6.0",
-        "jest-snapshot": "^26.6.0",
-        "jest-util": "^26.6.0",
-        "pretty-format": "^26.6.0",
-        "stack-utils": "^2.0.2",
-        "throat": "^5.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-circus/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-circus/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-circus/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-circus/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-circus/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-circus/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-circus/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-circus/node_modules/pretty-format": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-      "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "ansi-regex": "^5.0.0",
-        "ansi-styles": "^4.0.0",
-        "react-is": "^17.0.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/jest-circus/node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true
-    },
-    "node_modules/jest-circus/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-cli": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz",
-      "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==",
-      "dev": true,
-      "dependencies": {
-        "@jest/core": "^26.6.3",
-        "@jest/test-result": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "chalk": "^4.0.0",
-        "exit": "^0.1.2",
-        "graceful-fs": "^4.2.4",
-        "import-local": "^3.0.2",
-        "is-ci": "^2.0.0",
-        "jest-config": "^26.6.3",
-        "jest-util": "^26.6.2",
-        "jest-validate": "^26.6.2",
-        "prompts": "^2.0.1",
-        "yargs": "^15.4.1"
-      },
-      "bin": {
-        "jest": "bin/jest.js"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-cli/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-cli/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-cli/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-cli/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-cli/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-cli/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-cli/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-cli/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-cli/node_modules/jest-config": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz",
-      "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.1.0",
-        "@jest/test-sequencer": "^26.6.3",
-        "@jest/types": "^26.6.2",
-        "babel-jest": "^26.6.3",
-        "chalk": "^4.0.0",
-        "deepmerge": "^4.2.2",
-        "glob": "^7.1.1",
-        "graceful-fs": "^4.2.4",
-        "jest-environment-jsdom": "^26.6.2",
-        "jest-environment-node": "^26.6.2",
-        "jest-get-type": "^26.3.0",
-        "jest-jasmine2": "^26.6.3",
-        "jest-regex-util": "^26.0.0",
-        "jest-resolve": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "jest-validate": "^26.6.2",
-        "micromatch": "^4.0.2",
-        "pretty-format": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      },
-      "peerDependencies": {
-        "ts-node": ">=9.0.0"
-      },
-      "peerDependenciesMeta": {
-        "ts-node": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/jest-cli/node_modules/jest-get-type": {
-      "version": "26.3.0",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-      "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-cli/node_modules/jest-resolve": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz",
-      "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.4",
-        "jest-pnp-resolver": "^1.2.2",
-        "jest-util": "^26.6.2",
-        "read-pkg-up": "^7.0.1",
-        "resolve": "^1.18.1",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-cli/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-cli/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/jest-cli/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-cli/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/jest-cli/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-cli/node_modules/pretty-format": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-      "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "ansi-regex": "^5.0.0",
-        "ansi-styles": "^4.0.0",
-        "react-is": "^17.0.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/jest-cli/node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true
-    },
-    "node_modules/jest-cli/node_modules/read-pkg": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-      "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-      "dev": true,
-      "dependencies": {
-        "@types/normalize-package-data": "^2.4.0",
-        "normalize-package-data": "^2.5.0",
-        "parse-json": "^5.0.0",
-        "type-fest": "^0.6.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-cli/node_modules/read-pkg-up": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-      "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^4.1.0",
-        "read-pkg": "^5.2.0",
-        "type-fest": "^0.8.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/jest-cli/node_modules/read-pkg/node_modules/type-fest": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-      "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-cli/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-cli/node_modules/type-fest": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-diff": {
-      "version": "27.1.0",
-      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.1.0.tgz",
-      "integrity": "sha512-rjfopEYl58g/SZTsQFmspBODvMSytL16I+cirnScWTLkQVXYVZfxm78DFfdIIXc05RCYuGjxJqrdyG4PIFzcJg==",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^4.0.0",
-        "diff-sequences": "^27.0.6",
-        "jest-get-type": "^27.0.6",
-        "pretty-format": "^27.1.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-diff/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-diff/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-diff/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-diff/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-diff/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-diff/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-docblock": {
-      "version": "26.0.0",
-      "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz",
-      "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==",
-      "dev": true,
-      "dependencies": {
-        "detect-newline": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-each": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz",
-      "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "chalk": "^4.0.0",
-        "jest-get-type": "^26.3.0",
-        "jest-util": "^26.6.2",
-        "pretty-format": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-each/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-each/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-each/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-each/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-each/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-each/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-each/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-each/node_modules/jest-get-type": {
-      "version": "26.3.0",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-      "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-each/node_modules/pretty-format": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-      "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "ansi-regex": "^5.0.0",
-        "ansi-styles": "^4.0.0",
-        "react-is": "^17.0.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/jest-each/node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true
-    },
-    "node_modules/jest-each/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-environment-jsdom": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz",
-      "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==",
-      "dev": true,
-      "dependencies": {
-        "@jest/environment": "^26.6.2",
-        "@jest/fake-timers": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "jest-mock": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "jsdom": "^16.4.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-environment-jsdom/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-environment-jsdom/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-environment-jsdom/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-environment-jsdom/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-environment-jsdom/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-environment-jsdom/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-environment-jsdom/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-environment-jsdom/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-environment-node": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz",
-      "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==",
-      "dev": true,
-      "dependencies": {
-        "@jest/environment": "^26.6.2",
-        "@jest/fake-timers": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "jest-mock": "^26.6.2",
-        "jest-util": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-environment-node/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-environment-node/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-environment-node/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-environment-node/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-environment-node/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-environment-node/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-environment-node/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-environment-node/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-fetch-mock": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz",
-      "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==",
-      "dev": true,
-      "dependencies": {
-        "cross-fetch": "^3.0.4",
-        "promise-polyfill": "^8.1.3"
-      }
-    },
-    "node_modules/jest-get-type": {
-      "version": "27.0.6",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.6.tgz",
-      "integrity": "sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==",
-      "dev": true,
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-haste-map": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz",
-      "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "@types/graceful-fs": "^4.1.2",
-        "@types/node": "*",
-        "anymatch": "^3.0.3",
-        "fb-watchman": "^2.0.0",
-        "graceful-fs": "^4.2.4",
-        "jest-regex-util": "^26.0.0",
-        "jest-serializer": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "jest-worker": "^26.6.2",
-        "micromatch": "^4.0.2",
-        "sane": "^4.0.3",
-        "walker": "^1.0.7"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      },
-      "optionalDependencies": {
-        "fsevents": "^2.1.2"
-      }
-    },
-    "node_modules/jest-haste-map/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-haste-map/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-haste-map/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-haste-map/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-haste-map/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-haste-map/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-haste-map/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-haste-map/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-jasmine2": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz",
-      "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/traverse": "^7.1.0",
-        "@jest/environment": "^26.6.2",
-        "@jest/source-map": "^26.6.2",
-        "@jest/test-result": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "co": "^4.6.0",
-        "expect": "^26.6.2",
-        "is-generator-fn": "^2.0.0",
-        "jest-each": "^26.6.2",
-        "jest-matcher-utils": "^26.6.2",
-        "jest-message-util": "^26.6.2",
-        "jest-runtime": "^26.6.3",
-        "jest-snapshot": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "pretty-format": "^26.6.2",
-        "throat": "^5.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-jasmine2/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-jasmine2/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-jasmine2/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-jasmine2/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-jasmine2/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-jasmine2/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-jasmine2/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-jasmine2/node_modules/pretty-format": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-      "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "ansi-regex": "^5.0.0",
-        "ansi-styles": "^4.0.0",
-        "react-is": "^17.0.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/jest-jasmine2/node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true
-    },
-    "node_modules/jest-jasmine2/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-leak-detector": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz",
-      "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==",
-      "dev": true,
-      "dependencies": {
-        "jest-get-type": "^26.3.0",
-        "pretty-format": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-leak-detector/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-leak-detector/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-leak-detector/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-leak-detector/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-leak-detector/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-leak-detector/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-leak-detector/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-leak-detector/node_modules/jest-get-type": {
-      "version": "26.3.0",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-      "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-leak-detector/node_modules/pretty-format": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-      "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "ansi-regex": "^5.0.0",
-        "ansi-styles": "^4.0.0",
-        "react-is": "^17.0.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/jest-leak-detector/node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true
-    },
-    "node_modules/jest-leak-detector/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-matcher-utils": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz",
-      "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^4.0.0",
-        "jest-diff": "^26.6.2",
-        "jest-get-type": "^26.3.0",
-        "pretty-format": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-matcher-utils/node_modules/diff-sequences": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
-      "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/jest-diff": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz",
-      "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^4.0.0",
-        "diff-sequences": "^26.6.2",
-        "jest-get-type": "^26.3.0",
-        "pretty-format": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/jest-get-type": {
-      "version": "26.3.0",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-      "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/pretty-format": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-      "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "ansi-regex": "^5.0.0",
-        "ansi-styles": "^4.0.0",
-        "react-is": "^17.0.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true
-    },
-    "node_modules/jest-matcher-utils/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-message-util": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz",
-      "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.0.0",
-        "@jest/types": "^26.6.2",
-        "@types/stack-utils": "^2.0.0",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.4",
-        "micromatch": "^4.0.2",
-        "pretty-format": "^26.6.2",
-        "slash": "^3.0.0",
-        "stack-utils": "^2.0.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-message-util/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-message-util/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-message-util/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-message-util/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-message-util/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-message-util/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-message-util/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-message-util/node_modules/pretty-format": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-      "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "ansi-regex": "^5.0.0",
-        "ansi-styles": "^4.0.0",
-        "react-is": "^17.0.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/jest-message-util/node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true
-    },
-    "node_modules/jest-message-util/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-mock": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz",
-      "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "@types/node": "*"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-mock/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-mock/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-mock/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-mock/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-mock/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-mock/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-mock/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-mock/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-pnp-resolver": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
-      "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      },
-      "peerDependencies": {
-        "jest-resolve": "*"
-      },
-      "peerDependenciesMeta": {
-        "jest-resolve": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/jest-regex-util": {
-      "version": "26.0.0",
-      "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz",
-      "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-resolve": {
-      "version": "26.6.0",
-      "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.0.tgz",
-      "integrity": "sha512-tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.0",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.4",
-        "jest-pnp-resolver": "^1.2.2",
-        "jest-util": "^26.6.0",
-        "read-pkg-up": "^7.0.1",
-        "resolve": "^1.17.0",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-resolve-dependencies": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz",
-      "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "jest-regex-util": "^26.0.0",
-        "jest-snapshot": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-resolve-dependencies/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-resolve-dependencies/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-resolve-dependencies/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-resolve-dependencies/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-resolve-dependencies/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-resolve-dependencies/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-resolve-dependencies/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-resolve/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/read-pkg": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-      "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-      "dev": true,
-      "dependencies": {
-        "@types/normalize-package-data": "^2.4.0",
-        "normalize-package-data": "^2.5.0",
-        "parse-json": "^5.0.0",
-        "type-fest": "^0.6.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/read-pkg-up": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-      "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^4.1.0",
-        "read-pkg": "^5.2.0",
-        "type-fest": "^0.8.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/read-pkg/node_modules/type-fest": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-      "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/type-fest": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runner": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz",
-      "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==",
-      "dev": true,
-      "dependencies": {
-        "@jest/console": "^26.6.2",
-        "@jest/environment": "^26.6.2",
-        "@jest/test-result": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "emittery": "^0.7.1",
-        "exit": "^0.1.2",
-        "graceful-fs": "^4.2.4",
-        "jest-config": "^26.6.3",
-        "jest-docblock": "^26.0.0",
-        "jest-haste-map": "^26.6.2",
-        "jest-leak-detector": "^26.6.2",
-        "jest-message-util": "^26.6.2",
-        "jest-resolve": "^26.6.2",
-        "jest-runtime": "^26.6.3",
-        "jest-util": "^26.6.2",
-        "jest-worker": "^26.6.2",
-        "source-map-support": "^0.5.6",
-        "throat": "^5.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-runner/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-runner/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-runner/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-runner/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-runner/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-runner/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-runner/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runner/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runner/node_modules/jest-config": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz",
-      "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.1.0",
-        "@jest/test-sequencer": "^26.6.3",
-        "@jest/types": "^26.6.2",
-        "babel-jest": "^26.6.3",
-        "chalk": "^4.0.0",
-        "deepmerge": "^4.2.2",
-        "glob": "^7.1.1",
-        "graceful-fs": "^4.2.4",
-        "jest-environment-jsdom": "^26.6.2",
-        "jest-environment-node": "^26.6.2",
-        "jest-get-type": "^26.3.0",
-        "jest-jasmine2": "^26.6.3",
-        "jest-regex-util": "^26.0.0",
-        "jest-resolve": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "jest-validate": "^26.6.2",
-        "micromatch": "^4.0.2",
-        "pretty-format": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      },
-      "peerDependencies": {
-        "ts-node": ">=9.0.0"
-      },
-      "peerDependenciesMeta": {
-        "ts-node": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/jest-runner/node_modules/jest-get-type": {
-      "version": "26.3.0",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-      "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-runner/node_modules/jest-resolve": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz",
-      "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.4",
-        "jest-pnp-resolver": "^1.2.2",
-        "jest-util": "^26.6.2",
-        "read-pkg-up": "^7.0.1",
-        "resolve": "^1.18.1",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-runner/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runner/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/jest-runner/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runner/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/jest-runner/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runner/node_modules/pretty-format": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-      "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "ansi-regex": "^5.0.0",
-        "ansi-styles": "^4.0.0",
-        "react-is": "^17.0.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/jest-runner/node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true
-    },
-    "node_modules/jest-runner/node_modules/read-pkg": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-      "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-      "dev": true,
-      "dependencies": {
-        "@types/normalize-package-data": "^2.4.0",
-        "normalize-package-data": "^2.5.0",
-        "parse-json": "^5.0.0",
-        "type-fest": "^0.6.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runner/node_modules/read-pkg-up": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-      "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^4.1.0",
-        "read-pkg": "^5.2.0",
-        "type-fest": "^0.8.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/jest-runner/node_modules/read-pkg/node_modules/type-fest": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-      "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runner/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runner/node_modules/type-fest": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runtime": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz",
-      "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==",
-      "dev": true,
-      "dependencies": {
-        "@jest/console": "^26.6.2",
-        "@jest/environment": "^26.6.2",
-        "@jest/fake-timers": "^26.6.2",
-        "@jest/globals": "^26.6.2",
-        "@jest/source-map": "^26.6.2",
-        "@jest/test-result": "^26.6.2",
-        "@jest/transform": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0",
-        "cjs-module-lexer": "^0.6.0",
-        "collect-v8-coverage": "^1.0.0",
-        "exit": "^0.1.2",
-        "glob": "^7.1.3",
-        "graceful-fs": "^4.2.4",
-        "jest-config": "^26.6.3",
-        "jest-haste-map": "^26.6.2",
-        "jest-message-util": "^26.6.2",
-        "jest-mock": "^26.6.2",
-        "jest-regex-util": "^26.0.0",
-        "jest-resolve": "^26.6.2",
-        "jest-snapshot": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "jest-validate": "^26.6.2",
-        "slash": "^3.0.0",
-        "strip-bom": "^4.0.0",
-        "yargs": "^15.4.1"
-      },
-      "bin": {
-        "jest-runtime": "bin/jest-runtime.js"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-runtime/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/jest-config": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz",
-      "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.1.0",
-        "@jest/test-sequencer": "^26.6.3",
-        "@jest/types": "^26.6.2",
-        "babel-jest": "^26.6.3",
-        "chalk": "^4.0.0",
-        "deepmerge": "^4.2.2",
-        "glob": "^7.1.1",
-        "graceful-fs": "^4.2.4",
-        "jest-environment-jsdom": "^26.6.2",
-        "jest-environment-node": "^26.6.2",
-        "jest-get-type": "^26.3.0",
-        "jest-jasmine2": "^26.6.3",
-        "jest-regex-util": "^26.0.0",
-        "jest-resolve": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "jest-validate": "^26.6.2",
-        "micromatch": "^4.0.2",
-        "pretty-format": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      },
-      "peerDependencies": {
-        "ts-node": ">=9.0.0"
-      },
-      "peerDependenciesMeta": {
-        "ts-node": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/jest-runtime/node_modules/jest-get-type": {
-      "version": "26.3.0",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-      "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/jest-resolve": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz",
-      "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.4",
-        "jest-pnp-resolver": "^1.2.2",
-        "jest-util": "^26.6.2",
-        "read-pkg-up": "^7.0.1",
-        "resolve": "^1.18.1",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/pretty-format": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-      "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "ansi-regex": "^5.0.0",
-        "ansi-styles": "^4.0.0",
-        "react-is": "^17.0.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true
-    },
-    "node_modules/jest-runtime/node_modules/read-pkg": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-      "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-      "dev": true,
-      "dependencies": {
-        "@types/normalize-package-data": "^2.4.0",
-        "normalize-package-data": "^2.5.0",
-        "parse-json": "^5.0.0",
-        "type-fest": "^0.6.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/read-pkg-up": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-      "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^4.1.0",
-        "read-pkg": "^5.2.0",
-        "type-fest": "^0.8.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/read-pkg/node_modules/type-fest": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-      "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/type-fest": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-serializer": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz",
-      "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==",
-      "dev": true,
-      "dependencies": {
-        "@types/node": "*",
-        "graceful-fs": "^4.2.4"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-snapshot": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz",
-      "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.0.0",
-        "@jest/types": "^26.6.2",
-        "@types/babel__traverse": "^7.0.4",
-        "@types/prettier": "^2.0.0",
-        "chalk": "^4.0.0",
-        "expect": "^26.6.2",
-        "graceful-fs": "^4.2.4",
-        "jest-diff": "^26.6.2",
-        "jest-get-type": "^26.3.0",
-        "jest-haste-map": "^26.6.2",
-        "jest-matcher-utils": "^26.6.2",
-        "jest-message-util": "^26.6.2",
-        "jest-resolve": "^26.6.2",
-        "natural-compare": "^1.4.0",
-        "pretty-format": "^26.6.2",
-        "semver": "^7.3.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-snapshot/node_modules/diff-sequences": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
-      "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/jest-diff": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz",
-      "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^4.0.0",
-        "diff-sequences": "^26.6.2",
-        "jest-get-type": "^26.3.0",
-        "pretty-format": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/jest-get-type": {
-      "version": "26.3.0",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-      "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/jest-resolve": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz",
-      "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.4",
-        "jest-pnp-resolver": "^1.2.2",
-        "jest-util": "^26.6.2",
-        "read-pkg-up": "^7.0.1",
-        "resolve": "^1.18.1",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/pretty-format": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-      "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "ansi-regex": "^5.0.0",
-        "ansi-styles": "^4.0.0",
-        "react-is": "^17.0.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true
-    },
-    "node_modules/jest-snapshot/node_modules/read-pkg": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-      "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-      "dev": true,
-      "dependencies": {
-        "@types/normalize-package-data": "^2.4.0",
-        "normalize-package-data": "^2.5.0",
-        "parse-json": "^5.0.0",
-        "type-fest": "^0.6.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/read-pkg-up": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-      "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^4.1.0",
-        "read-pkg": "^5.2.0",
-        "type-fest": "^0.8.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/read-pkg/node_modules/type-fest": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-      "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/type-fest": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-util": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz",
-      "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.4",
-        "is-ci": "^2.0.0",
-        "micromatch": "^4.0.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-util/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-util/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-util/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-util/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-util/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-util/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-util/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-util/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-validate": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz",
-      "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "camelcase": "^6.0.0",
-        "chalk": "^4.0.0",
-        "jest-get-type": "^26.3.0",
-        "leven": "^3.1.0",
-        "pretty-format": "^26.6.2"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-validate/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-validate/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-validate/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-validate/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-validate/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-validate/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-validate/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-validate/node_modules/jest-get-type": {
-      "version": "26.3.0",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-      "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-validate/node_modules/pretty-format": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-      "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^26.6.2",
-        "ansi-regex": "^5.0.0",
-        "ansi-styles": "^4.0.0",
-        "react-is": "^17.0.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/jest-validate/node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true
-    },
-    "node_modules/jest-validate/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-watch-typeahead": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.6.1.tgz",
-      "integrity": "sha512-ITVnHhj3Jd/QkqQcTqZfRgjfyRhDFM/auzgVo2RKvSwi18YMvh0WvXDJFoFED6c7jd/5jxtu4kSOb9PTu2cPVg==",
-      "dev": true,
-      "dependencies": {
-        "ansi-escapes": "^4.3.1",
-        "chalk": "^4.0.0",
-        "jest-regex-util": "^26.0.0",
-        "jest-watcher": "^26.3.0",
-        "slash": "^3.0.0",
-        "string-length": "^4.0.1",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "peerDependencies": {
-        "jest": "^26.0.0"
-      }
-    },
-    "node_modules/jest-watch-typeahead/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-watch-typeahead/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-watch-typeahead/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-watch-typeahead/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-watch-typeahead/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-watch-typeahead/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-watcher": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz",
-      "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==",
-      "dev": true,
-      "dependencies": {
-        "@jest/test-result": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^4.0.0",
-        "jest-util": "^26.6.2",
-        "string-length": "^4.0.1"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-watcher/node_modules/@jest/types": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-      "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10.14.2"
-      }
-    },
-    "node_modules/jest-watcher/node_modules/@types/yargs": {
-      "version": "15.0.14",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-      "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/jest-watcher/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/jest-watcher/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/jest-watcher/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-watcher/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/jest-watcher/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-watcher/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-worker": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
-      "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
-      "dev": true,
-      "dependencies": {
-        "@types/node": "*",
-        "merge-stream": "^2.0.0",
-        "supports-color": "^7.0.0"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      }
-    },
-    "node_modules/jest-worker/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-worker/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jquery": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
-      "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
-    },
-    "node_modules/jquery.flot.tooltip": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/jquery.flot.tooltip/-/jquery.flot.tooltip-0.9.0.tgz",
-      "integrity": "sha1-rha/lLJsLtmrTbFnu6Ut/bYVwd8="
-    },
-    "node_modules/js-tokens": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
-    },
-    "node_modules/js-yaml": {
-      "version": "3.14.1",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
-      "dev": true,
-      "dependencies": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      },
-      "bin": {
-        "js-yaml": "bin/js-yaml.js"
-      }
-    },
-    "node_modules/jsdom": {
-      "version": "16.7.0",
-      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
-      "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
-      "dependencies": {
-        "abab": "^2.0.5",
-        "acorn": "^8.2.4",
-        "acorn-globals": "^6.0.0",
-        "cssom": "^0.4.4",
-        "cssstyle": "^2.3.0",
-        "data-urls": "^2.0.0",
-        "decimal.js": "^10.2.1",
-        "domexception": "^2.0.1",
-        "escodegen": "^2.0.0",
-        "form-data": "^3.0.0",
-        "html-encoding-sniffer": "^2.0.1",
-        "http-proxy-agent": "^4.0.1",
-        "https-proxy-agent": "^5.0.0",
-        "is-potential-custom-element-name": "^1.0.1",
-        "nwsapi": "^2.2.0",
-        "parse5": "6.0.1",
-        "saxes": "^5.0.1",
-        "symbol-tree": "^3.2.4",
-        "tough-cookie": "^4.0.0",
-        "w3c-hr-time": "^1.0.2",
-        "w3c-xmlserializer": "^2.0.0",
-        "webidl-conversions": "^6.1.0",
-        "whatwg-encoding": "^1.0.5",
-        "whatwg-mimetype": "^2.3.0",
-        "whatwg-url": "^8.5.0",
-        "ws": "^7.4.6",
-        "xml-name-validator": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "peerDependencies": {
-        "canvas": "^2.5.0"
-      },
-      "peerDependenciesMeta": {
-        "canvas": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/jsdom/node_modules/acorn": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz",
-      "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==",
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/jsesc": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
-      "dev": true,
-      "bin": {
-        "jsesc": "bin/jsesc"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/json-parse-better-errors": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
-      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
-      "dev": true
-    },
-    "node_modules/json-parse-even-better-errors": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "dev": true
-    },
-    "node_modules/json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "node_modules/json-stable-stringify-without-jsonify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
-      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
-      "dev": true
-    },
-    "node_modules/json3": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
-      "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==",
-      "dev": true
-    },
-    "node_modules/json5": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
-      "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.5"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/jsonfile": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
-      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
-      "dev": true,
-      "dependencies": {
-        "universalify": "^2.0.0"
-      },
-      "optionalDependencies": {
-        "graceful-fs": "^4.1.6"
-      }
-    },
-    "node_modules/jsx-ast-utils": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz",
-      "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==",
-      "dev": true,
-      "dependencies": {
-        "array-includes": "^3.1.2",
-        "object.assign": "^4.1.2"
-      },
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/just-extend": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
-      "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==",
-      "dev": true
-    },
-    "node_modules/killable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
-      "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==",
-      "dev": true
-    },
-    "node_modules/kind-of": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
-      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/kleur": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
-      "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/klona": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz",
-      "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==",
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/language-subtag-registry": {
-      "version": "0.3.21",
-      "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz",
-      "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==",
-      "dev": true
-    },
-    "node_modules/language-tags": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
-      "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=",
-      "dev": true,
-      "dependencies": {
-        "language-subtag-registry": "~0.3.2"
-      }
-    },
-    "node_modules/last-call-webpack-plugin": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz",
-      "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==",
-      "dev": true,
-      "dependencies": {
-        "lodash": "^4.17.5",
-        "webpack-sources": "^1.1.0"
-      }
-    },
-    "node_modules/leven": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
-      "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/levn": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
-      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
-      "dev": true,
-      "dependencies": {
-        "prelude-ls": "^1.2.1",
-        "type-check": "~0.4.0"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/lezer": {
-      "version": "0.13.5",
-      "resolved": "https://registry.npmjs.org/lezer/-/lezer-0.13.5.tgz",
-      "integrity": "sha512-cAiMQZGUo2BD8mpcz7Nv1TlKzWP7YIdIRrX41CiP5bk5t4GHxskOxWUx2iAOuHlz8dO+ivbuXr0J1bfHsWD+lQ==",
-      "dependencies": {
-        "lezer-tree": "^0.13.2"
-      }
-    },
-    "node_modules/lezer-promql": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/lezer-promql/-/lezer-promql-0.20.0.tgz",
-      "integrity": "sha512-1CHG77fFghl032FfHT33buGyAHiTaMy2fqicEhcp2wWnbxZxS+Jt6gMzEUaf/TmRTIUJofj9uLar7iL22Jazug==",
-      "peerDependencies": {
-        "lezer": "^0.13.0"
-      }
-    },
-    "node_modules/lezer-tree": {
-      "version": "0.13.2",
-      "resolved": "https://registry.npmjs.org/lezer-tree/-/lezer-tree-0.13.2.tgz",
-      "integrity": "sha512-15ZxW8TxVNAOkHIo43Iouv4zbSkQQ5chQHBpwXcD2bBFz46RB4jYLEEww5l1V0xyIx9U2clSyyrLes+hAUFrGQ=="
-    },
-    "node_modules/lines-and-columns": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
-      "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
-      "dev": true
-    },
-    "node_modules/load-json-file": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
-      "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "parse-json": "^4.0.0",
-        "pify": "^3.0.0",
-        "strip-bom": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/load-json-file/node_modules/parse-json": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
-      "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
-      "dev": true,
-      "dependencies": {
-        "error-ex": "^1.3.1",
-        "json-parse-better-errors": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/load-json-file/node_modules/pify": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-      "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/load-json-file/node_modules/strip-bom": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-      "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/loader-runner": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
-      "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.3.0 <5.0.0 || >=5.10"
-      }
-    },
-    "node_modules/loader-utils": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
-      "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
-      "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^2.1.2"
-      },
-      "engines": {
-        "node": ">=8.9.0"
-      }
-    },
-    "node_modules/locate-path": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
-      "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^2.0.0",
-        "path-exists": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/lodash": {
-      "version": "4.17.21",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
-      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
-    },
-    "node_modules/lodash._reinterpolate": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
-      "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
-      "dev": true
-    },
-    "node_modules/lodash.clonedeep": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
-      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
-      "dev": true
-    },
-    "node_modules/lodash.debounce": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
-      "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
-      "dev": true
-    },
-    "node_modules/lodash.escape": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz",
-      "integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=",
-      "dev": true
-    },
-    "node_modules/lodash.flattendeep": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
-      "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
-      "dev": true
-    },
-    "node_modules/lodash.get": {
-      "version": "4.4.2",
-      "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
-      "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
-      "dev": true
-    },
-    "node_modules/lodash.isequal": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
-      "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
-      "dev": true
-    },
-    "node_modules/lodash.memoize": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
-      "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
-      "dev": true
-    },
-    "node_modules/lodash.merge": {
-      "version": "4.6.2",
-      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
-      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
-      "dev": true
-    },
-    "node_modules/lodash.template": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
-      "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
-      "dev": true,
-      "dependencies": {
-        "lodash._reinterpolate": "^3.0.0",
-        "lodash.templatesettings": "^4.0.0"
-      }
-    },
-    "node_modules/lodash.templatesettings": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
-      "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
-      "dev": true,
-      "dependencies": {
-        "lodash._reinterpolate": "^3.0.0"
-      }
-    },
-    "node_modules/lodash.truncate": {
-      "version": "4.4.2",
-      "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
-      "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
-      "dev": true
-    },
-    "node_modules/lodash.uniq": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
-      "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
-      "dev": true
-    },
-    "node_modules/loglevel": {
-      "version": "1.7.1",
-      "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz",
-      "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6.0"
-      },
-      "funding": {
-        "type": "tidelift",
-        "url": "https://tidelift.com/funding/github/npm/loglevel"
-      }
-    },
-    "node_modules/loose-envify": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
-      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
-      "dependencies": {
-        "js-tokens": "^3.0.0 || ^4.0.0"
-      },
-      "bin": {
-        "loose-envify": "cli.js"
-      }
-    },
-    "node_modules/lower-case": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
-      "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/magic-string": {
-      "version": "0.25.7",
-      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
-      "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
-      "dev": true,
-      "dependencies": {
-        "sourcemap-codec": "^1.4.4"
-      }
-    },
-    "node_modules/make-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-      "dev": true,
-      "dependencies": {
-        "pify": "^4.0.1",
-        "semver": "^5.6.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/make-dir/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/makeerror": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
-      "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
-      "dev": true,
-      "dependencies": {
-        "tmpl": "1.0.x"
-      }
-    },
-    "node_modules/map-cache": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/map-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
-      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "dev": true,
-      "dependencies": {
-        "object-visit": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/md5.js": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
-      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
-      "dev": true,
-      "dependencies": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "node_modules/mdn-data": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
-      "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
-      "dev": true
-    },
-    "node_modules/media-typer": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
-      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/memory-fs": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
-      "dev": true,
-      "dependencies": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      }
-    },
-    "node_modules/merge-descriptors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
-      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
-      "dev": true
-    },
-    "node_modules/merge-stream": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
-      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
-      "dev": true
-    },
-    "node_modules/merge2": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
-      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/methods": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
-      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/microevent.ts": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz",
-      "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==",
-      "dev": true
-    },
-    "node_modules/micromatch": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
-      "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
-      "dev": true,
-      "dependencies": {
-        "braces": "^3.0.1",
-        "picomatch": "^2.2.3"
-      },
-      "engines": {
-        "node": ">=8.6"
-      }
-    },
-    "node_modules/miller-rabin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
-      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.0.0",
-        "brorand": "^1.0.1"
-      },
-      "bin": {
-        "miller-rabin": "bin/miller-rabin"
-      }
-    },
-    "node_modules/miller-rabin/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
-    "node_modules/mime": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
-      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
-      "dev": true,
-      "bin": {
-        "mime": "cli.js"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/mime-db": {
-      "version": "1.49.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
-      "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==",
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/mime-types": {
-      "version": "2.1.32",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
-      "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
-      "dependencies": {
-        "mime-db": "1.49.0"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/mimic-fn": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
-      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/mini-css-extract-plugin": {
-      "version": "0.11.3",
-      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz",
-      "integrity": "sha512-n9BA8LonkOkW1/zn+IbLPQmovsL0wMb9yx75fMJQZf2X1Zoec9yTZtyMePcyu19wPkmFbzZZA6fLTotpFhQsOA==",
-      "dev": true,
-      "dependencies": {
-        "loader-utils": "^1.1.0",
-        "normalize-url": "1.9.1",
-        "schema-utils": "^1.0.0",
-        "webpack-sources": "^1.1.0"
-      },
-      "engines": {
-        "node": ">= 6.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "webpack": "^4.4.0 || ^5.0.0"
-      }
-    },
-    "node_modules/mini-css-extract-plugin/node_modules/json5": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
-      }
-    },
-    "node_modules/mini-css-extract-plugin/node_modules/loader-utils": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-      "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-      "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/mini-css-extract-plugin/node_modules/schema-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-      "dev": true,
-      "dependencies": {
-        "ajv": "^6.1.0",
-        "ajv-errors": "^1.0.0",
-        "ajv-keywords": "^3.1.0"
-      },
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/minimalistic-assert": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
-      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
-      "dev": true
-    },
-    "node_modules/minimalistic-crypto-utils": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
-      "dev": true
-    },
-    "node_modules/minimatch": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
-      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
-      "dev": true,
-      "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/minimist": {
-      "version": "1.2.5",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-      "dev": true
-    },
-    "node_modules/minipass": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
-      "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
-      "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/minipass-collect": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
-      "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/minipass-flush": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
-      "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/minipass-pipeline": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
-      "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/minizlib": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
-      "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^3.0.0",
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/mississippi": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
-      "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
-      "dev": true,
-      "dependencies": {
-        "concat-stream": "^1.5.0",
-        "duplexify": "^3.4.2",
-        "end-of-stream": "^1.1.0",
-        "flush-write-stream": "^1.0.0",
-        "from2": "^2.1.0",
-        "parallel-transform": "^1.1.0",
-        "pump": "^3.0.0",
-        "pumpify": "^1.3.3",
-        "stream-each": "^1.1.0",
-        "through2": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/mixin-deep": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
-      "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "dev": true,
-      "dependencies": {
-        "for-in": "^1.0.2",
-        "is-extendable": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/mkdirp": {
-      "version": "0.5.5",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
-      "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.5"
-      },
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      }
-    },
-    "node_modules/moment": {
-      "version": "2.29.1",
-      "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
-      "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==",
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/moment-timezone": {
-      "version": "0.5.33",
-      "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz",
-      "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==",
-      "dependencies": {
-        "moment": ">= 2.9.0"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/moo": {
-      "version": "0.5.1",
-      "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz",
-      "integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==",
-      "dev": true
-    },
-    "node_modules/move-concurrently": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
-      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.1.1",
-        "copy-concurrently": "^1.0.0",
-        "fs-write-stream-atomic": "^1.0.8",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.3"
-      }
-    },
-    "node_modules/move-concurrently/node_modules/rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
-    "node_modules/ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
-    },
-    "node_modules/multicast-dns": {
-      "version": "6.2.3",
-      "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
-      "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
-      "dev": true,
-      "dependencies": {
-        "dns-packet": "^1.3.1",
-        "thunky": "^1.0.2"
-      },
-      "bin": {
-        "multicast-dns": "cli.js"
-      }
-    },
-    "node_modules/multicast-dns-service-types": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
-      "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
-      "dev": true
-    },
-    "node_modules/mutationobserver-shim": {
-      "version": "0.3.7",
-      "resolved": "https://registry.npmjs.org/mutationobserver-shim/-/mutationobserver-shim-0.3.7.tgz",
-      "integrity": "sha512-oRIDTyZQU96nAiz2AQyngwx1e89iApl2hN5AOYwyxLUB47UYsU3Wv9lJWqH5y/QdiYkc5HQLi23ZNB3fELdHcQ==",
-      "dev": true
-    },
-    "node_modules/nan": {
-      "version": "2.15.0",
-      "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz",
-      "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==",
-      "dev": true,
-      "optional": true
-    },
-    "node_modules/nanoid": {
-      "version": "3.1.25",
-      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
-      "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
-      "bin": {
-        "nanoid": "bin/nanoid.cjs"
-      },
-      "engines": {
-        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
-      }
-    },
-    "node_modules/nanomatch": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
-      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "fragment-cache": "^0.2.1",
-        "is-windows": "^1.0.2",
-        "kind-of": "^6.0.2",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/native-url": {
-      "version": "0.2.6",
-      "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz",
-      "integrity": "sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==",
-      "dev": true,
-      "dependencies": {
-        "querystring": "^0.2.0"
-      }
-    },
-    "node_modules/natural-compare": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
-      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
-      "dev": true
-    },
-    "node_modules/nearley": {
-      "version": "2.20.1",
-      "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz",
-      "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==",
-      "dev": true,
-      "dependencies": {
-        "commander": "^2.19.0",
-        "moo": "^0.5.0",
-        "railroad-diagrams": "^1.0.0",
-        "randexp": "0.4.6"
-      },
-      "bin": {
-        "nearley-railroad": "bin/nearley-railroad.js",
-        "nearley-test": "bin/nearley-test.js",
-        "nearley-unparse": "bin/nearley-unparse.js",
-        "nearleyc": "bin/nearleyc.js"
-      },
-      "funding": {
-        "type": "individual",
-        "url": "https://nearley.js.org/#give-to-nearley"
-      }
-    },
-    "node_modules/nearley/node_modules/commander": {
-      "version": "2.20.3",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-      "dev": true
-    },
-    "node_modules/negotiator": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
-      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/neo-async": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
-      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
-      "dev": true
-    },
-    "node_modules/next-tick": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
-      "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
-      "dev": true
-    },
-    "node_modules/nice-try": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
-      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
-      "dev": true
-    },
-    "node_modules/nise": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz",
-      "integrity": "sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==",
-      "dev": true,
-      "dependencies": {
-        "@sinonjs/commons": "^1.7.0",
-        "@sinonjs/fake-timers": "^6.0.0",
-        "@sinonjs/text-encoding": "^0.7.1",
-        "just-extend": "^4.0.2",
-        "path-to-regexp": "^1.7.0"
-      }
-    },
-    "node_modules/no-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
-      "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
-      "dev": true,
-      "dependencies": {
-        "lower-case": "^2.0.2",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/node-fetch": {
-      "version": "2.6.1",
-      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
-      "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
-      "dev": true,
-      "engines": {
-        "node": "4.x || >=6.0.0"
-      }
-    },
-    "node_modules/node-forge": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",
-      "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6.0.0"
-      }
-    },
-    "node_modules/node-int64": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
-      "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
-      "dev": true
-    },
-    "node_modules/node-libs-browser": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
-      "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
-      "dev": true,
-      "dependencies": {
-        "assert": "^1.1.1",
-        "browserify-zlib": "^0.2.0",
-        "buffer": "^4.3.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "^1.0.0",
-        "crypto-browserify": "^3.11.0",
-        "domain-browser": "^1.1.1",
-        "events": "^3.0.0",
-        "https-browserify": "^1.0.0",
-        "os-browserify": "^0.3.0",
-        "path-browserify": "0.0.1",
-        "process": "^0.11.10",
-        "punycode": "^1.2.4",
-        "querystring-es3": "^0.2.0",
-        "readable-stream": "^2.3.3",
-        "stream-browserify": "^2.0.1",
-        "stream-http": "^2.7.2",
-        "string_decoder": "^1.0.0",
-        "timers-browserify": "^2.0.4",
-        "tty-browserify": "0.0.0",
-        "url": "^0.11.0",
-        "util": "^0.11.0",
-        "vm-browserify": "^1.0.1"
-      }
-    },
-    "node_modules/node-libs-browser/node_modules/punycode": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-      "dev": true
-    },
-    "node_modules/node-modules-regexp": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
-      "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/node-notifier": {
-      "version": "8.0.2",
-      "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz",
-      "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "growly": "^1.3.0",
-        "is-wsl": "^2.2.0",
-        "semver": "^7.3.2",
-        "shellwords": "^0.1.1",
-        "uuid": "^8.3.0",
-        "which": "^2.0.2"
-      }
-    },
-    "node_modules/node-releases": {
-      "version": "1.1.75",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz",
-      "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==",
-      "dev": true
-    },
-    "node_modules/normalize-package-data": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
-      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
-      "dev": true,
-      "dependencies": {
-        "hosted-git-info": "^2.1.4",
-        "resolve": "^1.10.0",
-        "semver": "2 || 3 || 4 || 5",
-        "validate-npm-package-license": "^3.0.1"
-      }
-    },
-    "node_modules/normalize-package-data/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/normalize-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/normalize-range": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
-      "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/normalize-url": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
-      "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
-      "dev": true,
-      "dependencies": {
-        "object-assign": "^4.0.1",
-        "prepend-http": "^1.0.0",
-        "query-string": "^4.1.0",
-        "sort-keys": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/npm-run-path": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
-      "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
-      "dev": true,
-      "dependencies": {
-        "path-key": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nth-check": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz",
-      "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==",
-      "dev": true,
-      "dependencies": {
-        "boolbase": "^1.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/fb55/nth-check?sponsor=1"
-      }
-    },
-    "node_modules/num2fraction": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
-      "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
-      "dev": true
-    },
-    "node_modules/nwsapi": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
-      "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ=="
-    },
-    "node_modules/object-assign": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-copy": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
-      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
-      "dev": true,
-      "dependencies": {
-        "copy-descriptor": "^0.1.0",
-        "define-property": "^0.2.5",
-        "kind-of": "^3.0.3"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-copy/node_modules/define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-copy/node_modules/is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-copy/node_modules/is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-copy/node_modules/is-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^0.1.6",
-        "is-data-descriptor": "^0.1.4",
-        "kind-of": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-      "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-copy/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object-inspect": {
-      "version": "1.11.0",
-      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz",
-      "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==",
-      "dev": true,
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/object-is": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
-      "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/object-keys": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
-      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/object-visit": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
-      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "dev": true,
-      "dependencies": {
-        "isobject": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object.assign": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
-      "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "has-symbols": "^1.0.1",
-        "object-keys": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/object.entries": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz",
-      "integrity": "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/object.fromentries": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz",
-      "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.2",
-        "has": "^1.0.3"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/object.getownpropertydescriptors": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz",
-      "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.2"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/object.pick": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
-      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "dev": true,
-      "dependencies": {
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/object.values": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz",
-      "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/obuf": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
-      "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
-      "dev": true
-    },
-    "node_modules/on-finished": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
-      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
-      "dev": true,
-      "dependencies": {
-        "ee-first": "1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/on-headers": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
-      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/once": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
-      "dev": true,
-      "dependencies": {
-        "wrappy": "1"
-      }
-    },
-    "node_modules/onetime": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
-      "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
-      "dev": true,
-      "dependencies": {
-        "mimic-fn": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/open": {
-      "version": "7.4.2",
-      "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz",
-      "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==",
-      "dev": true,
-      "dependencies": {
-        "is-docker": "^2.0.0",
-        "is-wsl": "^2.1.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/opn": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
-      "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
-      "dev": true,
-      "dependencies": {
-        "is-wsl": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/opn/node_modules/is-wsl": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
-      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/optimize-css-assets-webpack-plugin": {
-      "version": "5.0.4",
-      "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz",
-      "integrity": "sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==",
-      "dev": true,
-      "dependencies": {
-        "cssnano": "^4.1.10",
-        "last-call-webpack-plugin": "^3.0.0"
-      },
-      "peerDependencies": {
-        "webpack": "^4.0.0"
-      }
-    },
-    "node_modules/optionator": {
-      "version": "0.9.1",
-      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
-      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
-      "dev": true,
-      "dependencies": {
-        "deep-is": "^0.1.3",
-        "fast-levenshtein": "^2.0.6",
-        "levn": "^0.4.1",
-        "prelude-ls": "^1.2.1",
-        "type-check": "^0.4.0",
-        "word-wrap": "^1.2.3"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/original": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
-      "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
-      "dev": true,
-      "dependencies": {
-        "url-parse": "^1.4.3"
-      }
-    },
-    "node_modules/os-browserify": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
-      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
-      "dev": true
-    },
-    "node_modules/p-each-series": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz",
-      "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/p-finally": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/p-limit": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
-      "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/p-locate": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
-      "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/p-map": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
-      "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
-      "dev": true,
-      "dependencies": {
-        "aggregate-error": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/p-retry": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz",
-      "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==",
-      "dev": true,
-      "dependencies": {
-        "retry": "^0.12.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/p-try": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
-      "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/pako": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
-      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
-      "dev": true
-    },
-    "node_modules/parallel-transform": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
-      "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
-      "dev": true,
-      "dependencies": {
-        "cyclist": "^1.0.1",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.1.5"
-      }
-    },
-    "node_modules/param-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
-      "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
-      "dev": true,
-      "dependencies": {
-        "dot-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/parent-module": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
-      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
-      "dev": true,
-      "dependencies": {
-        "callsites": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/parse-asn1": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
-      "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
-      "dev": true,
-      "dependencies": {
-        "asn1.js": "^5.2.0",
-        "browserify-aes": "^1.0.0",
-        "evp_bytestokey": "^1.0.0",
-        "pbkdf2": "^3.0.3",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "node_modules/parse-json": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
-      "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.0.0",
-        "error-ex": "^1.3.1",
-        "json-parse-even-better-errors": "^2.3.0",
-        "lines-and-columns": "^1.1.6"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/parse-srcset": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
-      "integrity": "sha1-8r0iH2zJcKk42IVWq8WJyqqiveE="
-    },
-    "node_modules/parse5": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
-      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
-    },
-    "node_modules/parse5-htmlparser2-tree-adapter": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
-      "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
-      "dev": true,
-      "dependencies": {
-        "parse5": "^6.0.1"
-      }
-    },
-    "node_modules/parseurl": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
-      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/pascal-case": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
-      "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
-      "dev": true,
-      "dependencies": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node_modules/pascalcase": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/path-browserify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
-      "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
-      "dev": true
-    },
-    "node_modules/path-dirname": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
-      "dev": true
-    },
-    "node_modules/path-exists": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/path-is-absolute": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/path-is-inside": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
-      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
-      "dev": true
-    },
-    "node_modules/path-key": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
-      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/path-parse": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
-      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
-      "dev": true
-    },
-    "node_modules/path-to-regexp": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
-      "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
-      "dependencies": {
-        "isarray": "0.0.1"
-      }
-    },
-    "node_modules/path-type": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
-      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/pbkdf2": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
-      "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
-      "dev": true,
-      "dependencies": {
-        "create-hash": "^1.1.2",
-        "create-hmac": "^1.1.4",
-        "ripemd160": "^2.0.1",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      },
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
-    "node_modules/performance-now": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
-      "dev": true
-    },
-    "node_modules/picomatch": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
-      "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
-      "engines": {
-        "node": ">=8.6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/jonschlinkert"
-      }
-    },
-    "node_modules/pify": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/pinkie": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
-      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/pinkie-promise": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
-      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
-      "dev": true,
-      "dependencies": {
-        "pinkie": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/pirates": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
-      "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
-      "dev": true,
-      "dependencies": {
-        "node-modules-regexp": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/pkg-dir": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
-      "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/pkg-up": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
-      "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/pnp-webpack-plugin": {
-      "version": "1.6.4",
-      "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz",
-      "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==",
-      "dev": true,
-      "dependencies": {
-        "ts-pnp": "^1.1.6"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/popper.js": {
-      "version": "1.16.1",
-      "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
-      "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==",
-      "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1",
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/popperjs"
-      }
-    },
-    "node_modules/portfinder": {
-      "version": "1.0.28",
-      "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
-      "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
-      "dev": true,
-      "dependencies": {
-        "async": "^2.6.2",
-        "debug": "^3.1.1",
-        "mkdirp": "^0.5.5"
-      },
-      "engines": {
-        "node": ">= 0.12.0"
-      }
-    },
-    "node_modules/portfinder/node_modules/debug": {
-      "version": "3.2.7",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
-      "dev": true,
-      "dependencies": {
-        "ms": "^2.1.1"
-      }
-    },
-    "node_modules/posix-character-classes": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/postcss": {
-      "version": "7.0.36",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
-      "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^2.4.2",
-        "source-map": "^0.6.1",
-        "supports-color": "^6.1.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/postcss/"
-      }
-    },
-    "node_modules/postcss-attribute-case-insensitive": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz",
-      "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2",
-        "postcss-selector-parser": "^6.0.2"
-      }
-    },
-    "node_modules/postcss-browser-comments": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-3.0.0.tgz",
-      "integrity": "sha512-qfVjLfq7HFd2e0HW4s1dvU8X080OZdG46fFbIBFjW7US7YPDcWfRvdElvwMJr2LI6hMmD+7LnH2HcmXTs+uOig==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      },
-      "peerDependencies": {
-        "browserslist": "^4"
-      }
-    },
-    "node_modules/postcss-calc": {
-      "version": "7.0.5",
-      "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz",
-      "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.27",
-        "postcss-selector-parser": "^6.0.2",
-        "postcss-value-parser": "^4.0.2"
-      }
-    },
-    "node_modules/postcss-color-functional-notation": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz",
-      "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-color-gray": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz",
-      "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==",
-      "dev": true,
-      "dependencies": {
-        "@csstools/convert-colors": "^1.4.0",
-        "postcss": "^7.0.5",
-        "postcss-values-parser": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-color-hex-alpha": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz",
-      "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.14",
-        "postcss-values-parser": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-color-mod-function": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz",
-      "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==",
-      "dev": true,
-      "dependencies": {
-        "@csstools/convert-colors": "^1.4.0",
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-color-rebeccapurple": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz",
-      "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-colormin": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz",
-      "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==",
-      "dev": true,
-      "dependencies": {
-        "browserslist": "^4.0.0",
-        "color": "^3.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-colormin/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-convert-values": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz",
-      "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-convert-values/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-custom-media": {
-      "version": "7.0.8",
-      "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz",
-      "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.14"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-custom-properties": {
-      "version": "8.0.11",
-      "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz",
-      "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.17",
-        "postcss-values-parser": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-custom-selectors": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz",
-      "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2",
-        "postcss-selector-parser": "^5.0.0-rc.3"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-custom-selectors/node_modules/cssesc": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
-      "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
-      "dev": true,
-      "bin": {
-        "cssesc": "bin/cssesc"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
-      "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
-      "dev": true,
-      "dependencies": {
-        "cssesc": "^2.0.0",
-        "indexes-of": "^1.0.1",
-        "uniq": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/postcss-dir-pseudo-class": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz",
-      "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2",
-        "postcss-selector-parser": "^5.0.0-rc.3"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/postcss-dir-pseudo-class/node_modules/cssesc": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
-      "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
-      "dev": true,
-      "bin": {
-        "cssesc": "bin/cssesc"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
-      "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
-      "dev": true,
-      "dependencies": {
-        "cssesc": "^2.0.0",
-        "indexes-of": "^1.0.1",
-        "uniq": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/postcss-discard-comments": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz",
-      "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-discard-duplicates": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz",
-      "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-discard-empty": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz",
-      "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-discard-overridden": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz",
-      "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-double-position-gradients": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz",
-      "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.5",
-        "postcss-values-parser": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-env-function": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz",
-      "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-flexbugs-fixes": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz",
-      "integrity": "sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.26"
-      }
-    },
-    "node_modules/postcss-focus-visible": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz",
-      "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-focus-within": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz",
-      "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-font-variant": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz",
-      "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "node_modules/postcss-gap-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz",
-      "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-image-set-function": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz",
-      "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-initial": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz",
-      "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "node_modules/postcss-lab-function": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz",
-      "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==",
-      "dev": true,
-      "dependencies": {
-        "@csstools/convert-colors": "^1.4.0",
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-load-config": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz",
-      "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==",
-      "dev": true,
-      "dependencies": {
-        "cosmiconfig": "^5.0.0",
-        "import-cwd": "^2.0.0"
-      },
-      "engines": {
-        "node": ">= 4"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/postcss/"
-      }
-    },
-    "node_modules/postcss-load-config/node_modules/cosmiconfig": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
-      "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
-      "dev": true,
-      "dependencies": {
-        "import-fresh": "^2.0.0",
-        "is-directory": "^0.3.1",
-        "js-yaml": "^3.13.1",
-        "parse-json": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/postcss-load-config/node_modules/import-fresh": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
-      "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
-      "dev": true,
-      "dependencies": {
-        "caller-path": "^2.0.0",
-        "resolve-from": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/postcss-load-config/node_modules/parse-json": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
-      "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
-      "dev": true,
-      "dependencies": {
-        "error-ex": "^1.3.1",
-        "json-parse-better-errors": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/postcss-load-config/node_modules/resolve-from": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-      "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/postcss-loader": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz",
-      "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==",
-      "dev": true,
-      "dependencies": {
-        "loader-utils": "^1.1.0",
-        "postcss": "^7.0.0",
-        "postcss-load-config": "^2.0.0",
-        "schema-utils": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/postcss-loader/node_modules/json5": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
-      }
-    },
-    "node_modules/postcss-loader/node_modules/loader-utils": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-      "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-      "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/postcss-loader/node_modules/schema-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-      "dev": true,
-      "dependencies": {
-        "ajv": "^6.1.0",
-        "ajv-errors": "^1.0.0",
-        "ajv-keywords": "^3.1.0"
-      },
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/postcss-logical": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz",
-      "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-media-minmax": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz",
-      "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-merge-longhand": {
-      "version": "4.0.11",
-      "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz",
-      "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==",
-      "dev": true,
-      "dependencies": {
-        "css-color-names": "0.0.4",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0",
-        "stylehacks": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-merge-longhand/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-merge-rules": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz",
-      "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==",
-      "dev": true,
-      "dependencies": {
-        "browserslist": "^4.0.0",
-        "caniuse-api": "^3.0.0",
-        "cssnano-util-same-parent": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-selector-parser": "^3.0.0",
-        "vendors": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
-      "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
-      "dev": true,
-      "dependencies": {
-        "dot-prop": "^5.2.0",
-        "indexes-of": "^1.0.1",
-        "uniq": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/postcss-minify-font-values": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz",
-      "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-minify-font-values/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-minify-gradients": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz",
-      "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==",
-      "dev": true,
-      "dependencies": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "is-color-stop": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-minify-gradients/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-minify-params": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz",
-      "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==",
-      "dev": true,
-      "dependencies": {
-        "alphanum-sort": "^1.0.0",
-        "browserslist": "^4.0.0",
-        "cssnano-util-get-arguments": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0",
-        "uniqs": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-minify-params/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-minify-selectors": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz",
-      "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==",
-      "dev": true,
-      "dependencies": {
-        "alphanum-sort": "^1.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-selector-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
-      "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
-      "dev": true,
-      "dependencies": {
-        "dot-prop": "^5.2.0",
-        "indexes-of": "^1.0.1",
-        "uniq": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/postcss-modules-extract-imports": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
-      "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.5"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/postcss-modules-local-by-default": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz",
-      "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==",
-      "dev": true,
-      "dependencies": {
-        "icss-utils": "^4.1.1",
-        "postcss": "^7.0.32",
-        "postcss-selector-parser": "^6.0.2",
-        "postcss-value-parser": "^4.1.0"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/postcss-modules-scope": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz",
-      "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.6",
-        "postcss-selector-parser": "^6.0.0"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/postcss-modules-values": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz",
-      "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==",
-      "dev": true,
-      "dependencies": {
-        "icss-utils": "^4.0.0",
-        "postcss": "^7.0.6"
-      }
-    },
-    "node_modules/postcss-nesting": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz",
-      "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-normalize": {
-      "version": "8.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-8.0.1.tgz",
-      "integrity": "sha512-rt9JMS/m9FHIRroDDBGSMsyW1c0fkvOJPy62ggxSHUldJO7B195TqFMqIf+lY5ezpDcYOV4j86aUp3/XbxzCCQ==",
-      "dev": true,
-      "dependencies": {
-        "@csstools/normalize.css": "^10.1.0",
-        "browserslist": "^4.6.2",
-        "postcss": "^7.0.17",
-        "postcss-browser-comments": "^3.0.0",
-        "sanitize.css": "^10.0.0"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/postcss-normalize-charset": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
-      "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-normalize-display-values": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz",
-      "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==",
-      "dev": true,
-      "dependencies": {
-        "cssnano-util-get-match": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-normalize-display-values/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-normalize-positions": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz",
-      "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==",
-      "dev": true,
-      "dependencies": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-normalize-positions/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-normalize-repeat-style": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz",
-      "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==",
-      "dev": true,
-      "dependencies": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "cssnano-util-get-match": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-normalize-repeat-style/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-normalize-string": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz",
-      "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==",
-      "dev": true,
-      "dependencies": {
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-normalize-string/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-normalize-timing-functions": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz",
-      "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==",
-      "dev": true,
-      "dependencies": {
-        "cssnano-util-get-match": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-normalize-timing-functions/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-normalize-unicode": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz",
-      "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==",
-      "dev": true,
-      "dependencies": {
-        "browserslist": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-normalize-unicode/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-normalize-url": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz",
-      "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==",
-      "dev": true,
-      "dependencies": {
-        "is-absolute-url": "^2.0.0",
-        "normalize-url": "^3.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-normalize-url/node_modules/normalize-url": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
-      "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/postcss-normalize-url/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-normalize-whitespace": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz",
-      "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-normalize-whitespace/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-ordered-values": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz",
-      "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==",
-      "dev": true,
-      "dependencies": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-ordered-values/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-overflow-shorthand": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz",
-      "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-page-break": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz",
-      "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "node_modules/postcss-place": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz",
-      "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-preset-env": {
-      "version": "6.7.0",
-      "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz",
-      "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==",
-      "dev": true,
-      "dependencies": {
-        "autoprefixer": "^9.6.1",
-        "browserslist": "^4.6.4",
-        "caniuse-lite": "^1.0.30000981",
-        "css-blank-pseudo": "^0.1.4",
-        "css-has-pseudo": "^0.10.0",
-        "css-prefers-color-scheme": "^3.1.1",
-        "cssdb": "^4.4.0",
-        "postcss": "^7.0.17",
-        "postcss-attribute-case-insensitive": "^4.0.1",
-        "postcss-color-functional-notation": "^2.0.1",
-        "postcss-color-gray": "^5.0.0",
-        "postcss-color-hex-alpha": "^5.0.3",
-        "postcss-color-mod-function": "^3.0.3",
-        "postcss-color-rebeccapurple": "^4.0.1",
-        "postcss-custom-media": "^7.0.8",
-        "postcss-custom-properties": "^8.0.11",
-        "postcss-custom-selectors": "^5.1.2",
-        "postcss-dir-pseudo-class": "^5.0.0",
-        "postcss-double-position-gradients": "^1.0.0",
-        "postcss-env-function": "^2.0.2",
-        "postcss-focus-visible": "^4.0.0",
-        "postcss-focus-within": "^3.0.0",
-        "postcss-font-variant": "^4.0.0",
-        "postcss-gap-properties": "^2.0.0",
-        "postcss-image-set-function": "^3.0.1",
-        "postcss-initial": "^3.0.0",
-        "postcss-lab-function": "^2.0.1",
-        "postcss-logical": "^3.0.0",
-        "postcss-media-minmax": "^4.0.0",
-        "postcss-nesting": "^7.0.0",
-        "postcss-overflow-shorthand": "^2.0.0",
-        "postcss-page-break": "^2.0.0",
-        "postcss-place": "^4.0.1",
-        "postcss-pseudo-class-any-link": "^6.0.0",
-        "postcss-replace-overflow-wrap": "^3.0.0",
-        "postcss-selector-matches": "^4.0.0",
-        "postcss-selector-not": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-pseudo-class-any-link": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz",
-      "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2",
-        "postcss-selector-parser": "^5.0.0-rc.3"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/postcss-pseudo-class-any-link/node_modules/cssesc": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
-      "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
-      "dev": true,
-      "bin": {
-        "cssesc": "bin/cssesc"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
-      "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
-      "dev": true,
-      "dependencies": {
-        "cssesc": "^2.0.0",
-        "indexes-of": "^1.0.1",
-        "uniq": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/postcss-reduce-initial": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz",
-      "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==",
-      "dev": true,
-      "dependencies": {
-        "browserslist": "^4.0.0",
-        "caniuse-api": "^3.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-reduce-transforms": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz",
-      "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==",
-      "dev": true,
-      "dependencies": {
-        "cssnano-util-get-match": "^4.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-reduce-transforms/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-replace-overflow-wrap": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz",
-      "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "node_modules/postcss-safe-parser": {
-      "version": "5.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-5.0.2.tgz",
-      "integrity": "sha512-jDUfCPJbKOABhwpUKcqCVbbXiloe/QXMcbJ6Iipf3sDIihEzTqRCeMBfRaOHxhBuTYqtASrI1KJWxzztZU4qUQ==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^8.1.0"
-      },
-      "engines": {
-        "node": ">=10.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/postcss/"
-      }
-    },
-    "node_modules/postcss-safe-parser/node_modules/postcss": {
-      "version": "8.3.6",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz",
-      "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==",
-      "dev": true,
-      "dependencies": {
-        "colorette": "^1.2.2",
-        "nanoid": "^3.1.23",
-        "source-map-js": "^0.6.2"
-      },
-      "engines": {
-        "node": "^10 || ^12 || >=14"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/postcss/"
-      }
-    },
-    "node_modules/postcss-selector-matches": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz",
-      "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==",
-      "dev": true,
-      "dependencies": {
-        "balanced-match": "^1.0.0",
-        "postcss": "^7.0.2"
-      }
-    },
-    "node_modules/postcss-selector-not": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz",
-      "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==",
-      "dev": true,
-      "dependencies": {
-        "balanced-match": "^1.0.0",
-        "postcss": "^7.0.2"
-      }
-    },
-    "node_modules/postcss-selector-parser": {
-      "version": "6.0.6",
-      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz",
-      "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==",
-      "dev": true,
-      "dependencies": {
-        "cssesc": "^3.0.0",
-        "util-deprecate": "^1.0.2"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/postcss-svgo": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz",
-      "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==",
-      "dev": true,
-      "dependencies": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0",
-        "svgo": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-svgo/node_modules/postcss-value-parser": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-      "dev": true
-    },
-    "node_modules/postcss-unique-selectors": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz",
-      "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==",
-      "dev": true,
-      "dependencies": {
-        "alphanum-sort": "^1.0.0",
-        "postcss": "^7.0.0",
-        "uniqs": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/postcss-value-parser": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
-      "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
-      "dev": true
-    },
-    "node_modules/postcss-values-parser": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz",
-      "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==",
-      "dev": true,
-      "dependencies": {
-        "flatten": "^1.0.2",
-        "indexes-of": "^1.0.1",
-        "uniq": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=6.14.4"
-      }
-    },
-    "node_modules/postcss/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/postcss/node_modules/supports-color": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-      "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/prelude-ls": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
-      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/prepend-http": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
-      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/prettier": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz",
-      "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==",
-      "dev": true,
-      "bin": {
-        "prettier": "bin-prettier.js"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
-    "node_modules/prettier-linter-helpers": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
-      "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
-      "dev": true,
-      "dependencies": {
-        "fast-diff": "^1.1.2"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/pretty-bytes": {
-      "version": "5.6.0",
-      "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
-      "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/pretty-error": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz",
-      "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==",
-      "dev": true,
-      "dependencies": {
-        "lodash": "^4.17.20",
-        "renderkid": "^2.0.4"
-      }
-    },
-    "node_modules/pretty-format": {
-      "version": "27.1.0",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.1.0.tgz",
-      "integrity": "sha512-4aGaud3w3rxAO6OXmK3fwBFQ0bctIOG3/if+jYEFGNGIs0EvuidQm3bZ9mlP2/t9epLNC/12czabfy7TZNSwVA==",
-      "dev": true,
-      "dependencies": {
-        "@jest/types": "^27.1.0",
-        "ansi-regex": "^5.0.0",
-        "ansi-styles": "^5.0.0",
-        "react-is": "^17.0.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/pretty-format/node_modules/ansi-styles": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
-      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/pretty-format/node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true
-    },
-    "node_modules/process": {
-      "version": "0.11.10",
-      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6.0"
-      }
-    },
-    "node_modules/process-nextick-args": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
-      "dev": true
-    },
-    "node_modules/progress": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
-      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/promise": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz",
-      "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==",
-      "dev": true,
-      "dependencies": {
-        "asap": "~2.0.6"
-      }
-    },
-    "node_modules/promise-inflight": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
-      "dev": true
-    },
-    "node_modules/promise-polyfill": {
-      "version": "8.2.0",
-      "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz",
-      "integrity": "sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g==",
-      "dev": true
-    },
-    "node_modules/prompts": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz",
-      "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==",
-      "dev": true,
-      "dependencies": {
-        "kleur": "^3.0.3",
-        "sisteransi": "^1.0.5"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/prop-types": {
-      "version": "15.7.2",
-      "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
-      "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
-      "dependencies": {
-        "loose-envify": "^1.4.0",
-        "object-assign": "^4.1.1",
-        "react-is": "^16.8.1"
-      }
-    },
-    "node_modules/prop-types-exact": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.0.tgz",
-      "integrity": "sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA==",
-      "dev": true,
-      "dependencies": {
-        "has": "^1.0.3",
-        "object.assign": "^4.1.0",
-        "reflect.ownkeys": "^0.2.0"
-      }
-    },
-    "node_modules/proxy-addr": {
-      "version": "2.0.7",
-      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
-      "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
-      "dev": true,
-      "dependencies": {
-        "forwarded": "0.2.0",
-        "ipaddr.js": "1.9.1"
-      },
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/prr": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
-      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
-      "dev": true
-    },
-    "node_modules/psl": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
-      "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
-    },
-    "node_modules/public-encrypt": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
-      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
-      "dev": true,
-      "dependencies": {
-        "bn.js": "^4.1.0",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "parse-asn1": "^5.0.0",
-        "randombytes": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "node_modules/public-encrypt/node_modules/bn.js": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
-    },
-    "node_modules/pump": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
-      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
-      "dev": true,
-      "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "node_modules/pumpify": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
-      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
-      "dev": true,
-      "dependencies": {
-        "duplexify": "^3.6.0",
-        "inherits": "^2.0.3",
-        "pump": "^2.0.0"
-      }
-    },
-    "node_modules/pumpify/node_modules/pump": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
-      "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
-      "dev": true,
-      "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "node_modules/punycode": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/q": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
-      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.6.0",
-        "teleport": ">=0.2.0"
-      }
-    },
-    "node_modules/qs": {
-      "version": "6.7.0",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
-      "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.6"
-      }
-    },
-    "node_modules/query-string": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
-      "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
-      "dev": true,
-      "dependencies": {
-        "object-assign": "^4.1.0",
-        "strict-uri-encode": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/querystring": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz",
-      "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==",
-      "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4.x"
-      }
-    },
-    "node_modules/querystring-es3": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
-      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4.x"
-      }
-    },
-    "node_modules/querystringify": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
-      "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
-      "dev": true
-    },
-    "node_modules/queue-microtask": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
-      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/raf": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
-      "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
-      "dev": true,
-      "dependencies": {
-        "performance-now": "^2.1.0"
-      }
-    },
-    "node_modules/raf-schd": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/raf-schd/-/raf-schd-4.0.3.tgz",
-      "integrity": "sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ=="
-    },
-    "node_modules/railroad-diagrams": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz",
-      "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=",
-      "dev": true
-    },
-    "node_modules/randexp": {
-      "version": "0.4.6",
-      "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz",
-      "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==",
-      "dev": true,
-      "dependencies": {
-        "discontinuous-range": "1.0.0",
-        "ret": "~0.1.10"
-      },
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
-    "node_modules/randombytes": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
-      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "node_modules/randomfill": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
-      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "dev": true,
-      "dependencies": {
-        "randombytes": "^2.0.5",
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "node_modules/range-parser": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
-      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/raw-body": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
-      "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
-      "dev": true,
-      "dependencies": {
-        "bytes": "3.1.0",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "unpipe": "1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/raw-body/node_modules/bytes": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-      "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/react": {
-      "version": "16.14.0",
-      "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
-      "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
-      "dependencies": {
-        "loose-envify": "^1.1.0",
-        "object-assign": "^4.1.1",
-        "prop-types": "^15.6.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/react-app-polyfill": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-2.0.0.tgz",
-      "integrity": "sha512-0sF4ny9v/B7s6aoehwze9vJNWcmCemAUYBVasscVr92+UYiEqDXOxfKjXN685mDaMRNF3WdhHQs76oTODMocFA==",
-      "dev": true,
-      "dependencies": {
-        "core-js": "^3.6.5",
-        "object-assign": "^4.1.1",
-        "promise": "^8.1.0",
-        "raf": "^3.4.1",
-        "regenerator-runtime": "^0.13.7",
-        "whatwg-fetch": "^3.4.1"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/react-copy-to-clipboard": {
-      "version": "5.0.4",
-      "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.4.tgz",
-      "integrity": "sha512-IeVAiNVKjSPeGax/Gmkqfa/+PuMTBhutEvFUaMQLwE2tS0EXrAdgOpWDX26bWTXF3HrioorR7lr08NqeYUWQCQ==",
-      "dependencies": {
-        "copy-to-clipboard": "^3",
-        "prop-types": "^15.5.8"
-      },
-      "peerDependencies": {
-        "react": "^15.3.0 || ^16.0.0 || ^17.0.0"
-      }
-    },
-    "node_modules/react-dev-utils": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz",
-      "integrity": "sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "7.10.4",
-        "address": "1.1.2",
-        "browserslist": "4.14.2",
-        "chalk": "2.4.2",
-        "cross-spawn": "7.0.3",
-        "detect-port-alt": "1.1.6",
-        "escape-string-regexp": "2.0.0",
-        "filesize": "6.1.0",
-        "find-up": "4.1.0",
-        "fork-ts-checker-webpack-plugin": "4.1.6",
-        "global-modules": "2.0.0",
-        "globby": "11.0.1",
-        "gzip-size": "5.1.1",
-        "immer": "8.0.1",
-        "is-root": "2.1.0",
-        "loader-utils": "2.0.0",
-        "open": "^7.0.2",
-        "pkg-up": "3.1.0",
-        "prompts": "2.4.0",
-        "react-error-overlay": "^6.0.9",
-        "recursive-readdir": "2.2.2",
-        "shell-quote": "1.7.2",
-        "strip-ansi": "6.0.0",
-        "text-table": "0.2.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/@babel/code-frame": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
-      "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/highlight": "^7.10.4"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/browserslist": {
-      "version": "4.14.2",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz",
-      "integrity": "sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==",
-      "dev": true,
-      "dependencies": {
-        "caniuse-lite": "^1.0.30001125",
-        "electron-to-chromium": "^1.3.564",
-        "escalade": "^3.0.2",
-        "node-releases": "^1.1.61"
-      },
-      "bin": {
-        "browserslist": "cli.js"
-      },
-      "engines": {
-        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
-      },
-      "funding": {
-        "type": "tidelift",
-        "url": "https://tidelift.com/funding/github/npm/browserslist"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/escape-string-regexp": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
-      "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/globby": {
-      "version": "11.0.1",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz",
-      "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==",
-      "dev": true,
-      "dependencies": {
-        "array-union": "^2.1.0",
-        "dir-glob": "^3.0.1",
-        "fast-glob": "^3.1.1",
-        "ignore": "^5.1.4",
-        "merge2": "^1.3.0",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/ignore": {
-      "version": "5.1.8",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
-      "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/pkg-up": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
-      "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/find-up": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/locate-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^3.0.0",
-        "path-exists": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/p-locate": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/path-exists": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/react-dom": {
-      "version": "16.14.0",
-      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz",
-      "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==",
-      "dependencies": {
-        "loose-envify": "^1.1.0",
-        "object-assign": "^4.1.1",
-        "prop-types": "^15.6.2",
-        "scheduler": "^0.19.1"
-      },
-      "peerDependencies": {
-        "react": "^16.14.0"
-      }
-    },
-    "node_modules/react-error-overlay": {
-      "version": "6.0.9",
-      "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz",
-      "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==",
-      "dev": true
-    },
-    "node_modules/react-is": {
-      "version": "16.13.1",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
-      "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
-    },
-    "node_modules/react-lifecycles-compat": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
-      "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
-    },
-    "node_modules/react-refresh": {
-      "version": "0.8.3",
-      "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz",
-      "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/react-resize-detector": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-5.2.0.tgz",
-      "integrity": "sha512-PQAc03J2eyhvaiWgEdQ8+bKbbyGJzLEr70KuivBd1IEmP/iewNakLUMkxm6MWnDqsRPty85pioyg8MvGb0qC8A==",
-      "dependencies": {
-        "lodash": "^4.17.20",
-        "prop-types": "^15.7.2",
-        "raf-schd": "^4.0.2",
-        "resize-observer-polyfill": "^1.5.1"
-      },
-      "peerDependencies": {
-        "react": "^16.0.0",
-        "react-dom": "^16.0.0"
-      }
-    },
-    "node_modules/react-router-dom": {
-      "version": "5.3.0",
-      "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz",
-      "integrity": "sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==",
-      "dependencies": {
-        "@babel/runtime": "^7.12.13",
-        "history": "^4.9.0",
-        "loose-envify": "^1.3.1",
-        "prop-types": "^15.6.2",
-        "react-router": "5.2.1",
-        "tiny-invariant": "^1.0.2",
-        "tiny-warning": "^1.0.0"
-      },
-      "peerDependencies": {
-        "react": ">=15"
-      }
-    },
-    "node_modules/react-router-dom/node_modules/react-router": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz",
-      "integrity": "sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==",
-      "dependencies": {
-        "@babel/runtime": "^7.12.13",
-        "history": "^4.9.0",
-        "hoist-non-react-statics": "^3.1.0",
-        "loose-envify": "^1.3.1",
-        "mini-create-react-context": "^0.4.0",
-        "path-to-regexp": "^1.7.0",
-        "prop-types": "^15.6.2",
-        "react-is": "^16.6.0",
-        "tiny-invariant": "^1.0.2",
-        "tiny-warning": "^1.0.0"
-      },
-      "peerDependencies": {
-        "react": ">=15"
-      }
-    },
-    "node_modules/react-router-dom/node_modules/react-router/node_modules/mini-create-react-context": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz",
-      "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==",
-      "dependencies": {
-        "@babel/runtime": "^7.12.1",
-        "tiny-warning": "^1.0.3"
-      },
-      "peerDependencies": {
-        "prop-types": "^15.0.0",
-        "react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
-      }
-    },
-    "node_modules/react-scripts": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.3.tgz",
-      "integrity": "sha512-S5eO4vjUzUisvkIPB7jVsKtuH2HhWcASREYWHAQ1FP5HyCv3xgn+wpILAEWkmy+A+tTNbSZClhxjT3qz6g4L1A==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "7.12.3",
-        "@pmmmwh/react-refresh-webpack-plugin": "0.4.3",
-        "@svgr/webpack": "5.5.0",
-        "@typescript-eslint/eslint-plugin": "^4.5.0",
-        "@typescript-eslint/parser": "^4.5.0",
-        "babel-eslint": "^10.1.0",
-        "babel-jest": "^26.6.0",
-        "babel-loader": "8.1.0",
-        "babel-plugin-named-asset-import": "^0.3.7",
-        "babel-preset-react-app": "^10.0.0",
-        "bfj": "^7.0.2",
-        "camelcase": "^6.1.0",
-        "case-sensitive-paths-webpack-plugin": "2.3.0",
-        "css-loader": "4.3.0",
-        "dotenv": "8.2.0",
-        "dotenv-expand": "5.1.0",
-        "eslint": "^7.11.0",
-        "eslint-config-react-app": "^6.0.0",
-        "eslint-plugin-flowtype": "^5.2.0",
-        "eslint-plugin-import": "^2.22.1",
-        "eslint-plugin-jest": "^24.1.0",
-        "eslint-plugin-jsx-a11y": "^6.3.1",
-        "eslint-plugin-react": "^7.21.5",
-        "eslint-plugin-react-hooks": "^4.2.0",
-        "eslint-plugin-testing-library": "^3.9.2",
-        "eslint-webpack-plugin": "^2.5.2",
-        "file-loader": "6.1.1",
-        "fs-extra": "^9.0.1",
-        "html-webpack-plugin": "4.5.0",
-        "identity-obj-proxy": "3.0.0",
-        "jest": "26.6.0",
-        "jest-circus": "26.6.0",
-        "jest-resolve": "26.6.0",
-        "jest-watch-typeahead": "0.6.1",
-        "mini-css-extract-plugin": "0.11.3",
-        "optimize-css-assets-webpack-plugin": "5.0.4",
-        "pnp-webpack-plugin": "1.6.4",
-        "postcss-flexbugs-fixes": "4.2.1",
-        "postcss-loader": "3.0.0",
-        "postcss-normalize": "8.0.1",
-        "postcss-preset-env": "6.7.0",
-        "postcss-safe-parser": "5.0.2",
-        "prompts": "2.4.0",
-        "react-app-polyfill": "^2.0.0",
-        "react-dev-utils": "^11.0.3",
-        "react-refresh": "^0.8.3",
-        "resolve": "1.18.1",
-        "resolve-url-loader": "^3.1.2",
-        "sass-loader": "^10.0.5",
-        "semver": "7.3.2",
-        "style-loader": "1.3.0",
-        "terser-webpack-plugin": "4.2.3",
-        "ts-pnp": "1.2.0",
-        "url-loader": "4.1.1",
-        "webpack": "4.44.2",
-        "webpack-dev-server": "3.11.1",
-        "webpack-manifest-plugin": "2.2.0",
-        "workbox-webpack-plugin": "5.1.4"
-      },
-      "bin": {
-        "react-scripts": "bin/react-scripts.js"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
-      },
-      "optionalDependencies": {
-        "fsevents": "^2.1.3"
-      },
-      "peerDependencies": {
-        "react": ">= 16",
-        "typescript": "^3.2.1 || ^4"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/react-scripts/node_modules/@babel/core": {
-      "version": "7.12.3",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz",
-      "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.10.4",
-        "@babel/generator": "^7.12.1",
-        "@babel/helper-module-transforms": "^7.12.1",
-        "@babel/helpers": "^7.12.1",
-        "@babel/parser": "^7.12.3",
-        "@babel/template": "^7.10.4",
-        "@babel/traverse": "^7.12.1",
-        "@babel/types": "^7.12.1",
-        "convert-source-map": "^1.7.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.1",
-        "json5": "^2.1.2",
-        "lodash": "^4.17.19",
-        "resolve": "^1.3.2",
-        "semver": "^5.4.1",
-        "source-map": "^0.5.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/babel"
-      }
-    },
-    "node_modules/react-scripts/node_modules/@babel/core/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/react-scripts/node_modules/resolve": {
-      "version": "1.18.1",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",
-      "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==",
-      "dev": true,
-      "dependencies": {
-        "is-core-module": "^2.0.0",
-        "path-parse": "^1.0.6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/react-scripts/node_modules/semver": {
-      "version": "7.3.2",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
-      "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/react-test-renderer": {
-      "version": "16.14.0",
-      "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.14.0.tgz",
-      "integrity": "sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==",
-      "dependencies": {
-        "object-assign": "^4.1.1",
-        "prop-types": "^15.6.2",
-        "react-is": "^16.8.6",
-        "scheduler": "^0.19.1"
-      },
-      "peerDependencies": {
-        "react": "^16.14.0"
-      }
-    },
-    "node_modules/reactstrap": {
-      "version": "8.10.0",
-      "resolved": "https://registry.npmjs.org/reactstrap/-/reactstrap-8.10.0.tgz",
-      "integrity": "sha512-MsFUB/fRZj6Orf8Mxc93iYuAs+9ngnFmy2cfYlzkmc4vi5oM4u6ziY/DsO71lDG3cotxHRyS3Flr51cuYv+IEQ==",
-      "dependencies": {
-        "@babel/runtime": "^7.12.5",
-        "classnames": "^2.2.3",
-        "prop-types": "^15.5.8",
-        "react-popper": "^1.3.6",
-        "react-transition-group": "^2.3.1"
-      },
-      "peerDependencies": {
-        "react": ">=16.3.0",
-        "react-dom": ">=16.3.0"
-      }
-    },
-    "node_modules/reactstrap/node_modules/react-popper": {
-      "version": "1.3.11",
-      "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.11.tgz",
-      "integrity": "sha512-VSA/bS+pSndSF2fiasHK/PTEEAyOpX60+H5EPAjoArr8JGm+oihu4UbrqcEBpQibJxBVCpYyjAX7abJ+7DoYVg==",
-      "dependencies": {
-        "@babel/runtime": "^7.1.2",
-        "@hypnosphi/create-react-context": "^0.3.1",
-        "deep-equal": "^1.1.1",
-        "popper.js": "^1.14.4",
-        "prop-types": "^15.6.1",
-        "typed-styles": "^0.0.7",
-        "warning": "^4.0.2"
-      },
-      "peerDependencies": {
-        "react": "0.14.x || ^15.0.0 || ^16.0.0 || ^17.0.0"
-      }
-    },
-    "node_modules/reactstrap/node_modules/react-popper/node_modules/@hypnosphi/create-react-context": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz",
-      "integrity": "sha512-V1klUed202XahrWJLLOT3EXNeCpFHCcJntdFGI15ntCwau+jfT386w7OFTMaCqOgXUH1fa0w/I1oZs+i/Rfr0A==",
-      "dependencies": {
-        "gud": "^1.0.0",
-        "warning": "^4.0.3"
-      },
-      "peerDependencies": {
-        "prop-types": "^15.0.0",
-        "react": ">=0.14.0"
-      }
-    },
-    "node_modules/reactstrap/node_modules/react-transition-group": {
-      "version": "2.9.0",
-      "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz",
-      "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==",
-      "dependencies": {
-        "dom-helpers": "^3.4.0",
-        "loose-envify": "^1.4.0",
-        "prop-types": "^15.6.2",
-        "react-lifecycles-compat": "^3.0.4"
-      },
-      "peerDependencies": {
-        "react": ">=15.0.0",
-        "react-dom": ">=15.0.0"
-      }
-    },
-    "node_modules/read-pkg": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
-      "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
-      "dev": true,
-      "dependencies": {
-        "load-json-file": "^4.0.0",
-        "normalize-package-data": "^2.3.2",
-        "path-type": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/read-pkg-up": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
-      "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^2.0.0",
-        "read-pkg": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/read-pkg/node_modules/path-type": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
-      "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
-      "dev": true,
-      "dependencies": {
-        "pify": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/read-pkg/node_modules/pify": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-      "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/readable-stream/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/readable-stream/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/readdirp": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
-      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
-      "dependencies": {
-        "picomatch": "^2.2.1"
-      },
-      "engines": {
-        "node": ">=8.10.0"
-      }
-    },
-    "node_modules/recursive-readdir": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
-      "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
-      "dev": true,
-      "dependencies": {
-        "minimatch": "3.0.4"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/reflect.ownkeys": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz",
-      "integrity": "sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=",
-      "dev": true
-    },
-    "node_modules/regenerate": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
-      "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
-      "dev": true
-    },
-    "node_modules/regenerate-unicode-properties": {
-      "version": "8.2.0",
-      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
-      "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
-      "dev": true,
-      "dependencies": {
-        "regenerate": "^1.4.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/regenerator-runtime": {
-      "version": "0.13.9",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
-      "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
-    },
-    "node_modules/regenerator-transform": {
-      "version": "0.14.5",
-      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz",
-      "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/runtime": "^7.8.4"
-      }
-    },
-    "node_modules/regex-not": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
-      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^3.0.2",
-        "safe-regex": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/regex-parser": {
-      "version": "2.2.11",
-      "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz",
-      "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==",
-      "dev": true
-    },
-    "node_modules/regexp.prototype.flags": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz",
-      "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==",
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/regexpp": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
-      "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/mysticatea"
-      }
-    },
-    "node_modules/regexpu-core": {
-      "version": "4.7.1",
-      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz",
-      "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==",
-      "dev": true,
-      "dependencies": {
-        "regenerate": "^1.4.0",
-        "regenerate-unicode-properties": "^8.2.0",
-        "regjsgen": "^0.5.1",
-        "regjsparser": "^0.6.4",
-        "unicode-match-property-ecmascript": "^1.0.4",
-        "unicode-match-property-value-ecmascript": "^1.2.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/regjsgen": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz",
-      "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==",
-      "dev": true
-    },
-    "node_modules/regjsparser": {
-      "version": "0.6.9",
-      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz",
-      "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==",
-      "dev": true,
-      "dependencies": {
-        "jsesc": "~0.5.0"
-      },
-      "bin": {
-        "regjsparser": "bin/parser"
-      }
-    },
-    "node_modules/regjsparser/node_modules/jsesc": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-      "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
-      "dev": true,
-      "bin": {
-        "jsesc": "bin/jsesc"
-      }
-    },
-    "node_modules/relateurl": {
-      "version": "0.2.7",
-      "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
-      "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/remove-trailing-separator": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
-    },
-    "node_modules/renderkid": {
-      "version": "2.0.7",
-      "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz",
-      "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==",
-      "dev": true,
-      "dependencies": {
-        "css-select": "^4.1.3",
-        "dom-converter": "^0.2.0",
-        "htmlparser2": "^6.1.0",
-        "lodash": "^4.17.21",
-        "strip-ansi": "^3.0.1"
-      }
-    },
-    "node_modules/renderkid/node_modules/ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/renderkid/node_modules/htmlparser2": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
-      "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
-      "dev": true,
-      "funding": [
-        "https://github.com/fb55/htmlparser2?sponsor=1",
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/fb55"
-        }
-      ],
-      "dependencies": {
-        "domelementtype": "^2.0.1",
-        "domhandler": "^4.0.0",
-        "domutils": "^2.5.2",
-        "entities": "^2.0.0"
-      }
-    },
-    "node_modules/renderkid/node_modules/strip-ansi": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/repeat-element": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
-      "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/repeat-string": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/require-directory": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/require-from-string": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
-      "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/require-main-filename": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
-      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
-      "dev": true
-    },
-    "node_modules/requires-port": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
-      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
-      "dev": true
-    },
-    "node_modules/resize-observer-polyfill": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
-      "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
-    },
-    "node_modules/resolve": {
-      "version": "1.20.0",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
-      "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
-      "dev": true,
-      "dependencies": {
-        "is-core-module": "^2.2.0",
-        "path-parse": "^1.0.6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/resolve-cwd": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
-      "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
-      "dev": true,
-      "dependencies": {
-        "resolve-from": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/resolve-cwd/node_modules/resolve-from": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/resolve-from": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
-      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/resolve-pathname": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz",
-      "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng=="
-    },
-    "node_modules/resolve-url": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "deprecated": "https://github.com/lydell/resolve-url#deprecated",
-      "dev": true
-    },
-    "node_modules/resolve-url-loader": {
-      "version": "3.1.4",
-      "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz",
-      "integrity": "sha512-D3sQ04o0eeQEySLrcz4DsX3saHfsr8/N6tfhblxgZKXxMT2Louargg12oGNfoTRLV09GXhVUe5/qgA5vdgNigg==",
-      "dev": true,
-      "dependencies": {
-        "adjust-sourcemap-loader": "3.0.0",
-        "camelcase": "5.3.1",
-        "compose-function": "3.0.3",
-        "convert-source-map": "1.7.0",
-        "es6-iterator": "2.0.3",
-        "loader-utils": "1.2.3",
-        "postcss": "7.0.36",
-        "rework": "1.0.1",
-        "rework-visit": "1.0.0",
-        "source-map": "0.6.1"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/resolve-url-loader/node_modules/camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/resolve-url-loader/node_modules/convert-source-map": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
-      "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.1.1"
-      }
-    },
-    "node_modules/resolve-url-loader/node_modules/emojis-list": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
-      "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/resolve-url-loader/node_modules/json5": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
-      }
-    },
-    "node_modules/resolve-url-loader/node_modules/loader-utils": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
-      "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
-      "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^2.0.0",
-        "json5": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/resolve-url-loader/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/ret": {
-      "version": "0.1.15",
-      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
-    "node_modules/retry": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
-      "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/reusify": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
-      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
-      "dev": true,
-      "engines": {
-        "iojs": ">=1.0.0",
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/rework": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz",
-      "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=",
-      "dev": true,
-      "dependencies": {
-        "convert-source-map": "^0.3.3",
-        "css": "^2.0.0"
-      }
-    },
-    "node_modules/rework-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz",
-      "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=",
-      "dev": true
-    },
-    "node_modules/rework/node_modules/convert-source-map": {
-      "version": "0.3.5",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz",
-      "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=",
-      "dev": true
-    },
-    "node_modules/rgb-regex": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
-      "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=",
-      "dev": true
-    },
-    "node_modules/rgba-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
-      "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
-      "dev": true
-    },
-    "node_modules/rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/ripemd160": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
-      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "dev": true,
-      "dependencies": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1"
-      }
-    },
-    "node_modules/rollup": {
-      "version": "1.32.1",
-      "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz",
-      "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==",
-      "dev": true,
-      "dependencies": {
-        "@types/estree": "*",
-        "@types/node": "*",
-        "acorn": "^7.1.0"
-      },
-      "bin": {
-        "rollup": "dist/bin/rollup"
-      }
-    },
-    "node_modules/rollup-plugin-babel": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz",
-      "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==",
-      "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-babel.",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "rollup-pluginutils": "^2.8.1"
-      },
-      "peerDependencies": {
-        "@babel/core": "7 || ^7.0.0-rc.2",
-        "rollup": ">=0.60.0 <3"
-      }
-    },
-    "node_modules/rollup-plugin-terser": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz",
-      "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.5.5",
-        "jest-worker": "^24.9.0",
-        "rollup-pluginutils": "^2.8.2",
-        "serialize-javascript": "^4.0.0",
-        "terser": "^4.6.2"
-      },
-      "peerDependencies": {
-        "rollup": ">=0.66.0 <3"
-      }
-    },
-    "node_modules/rollup-plugin-terser/node_modules/jest-worker": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
-      "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
-      "dev": true,
-      "dependencies": {
-        "merge-stream": "^2.0.0",
-        "supports-color": "^6.1.0"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
-      "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
-      "dev": true,
-      "dependencies": {
-        "randombytes": "^2.1.0"
-      }
-    },
-    "node_modules/rollup-plugin-terser/node_modules/supports-color": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-      "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/rollup-pluginutils": {
-      "version": "2.8.2",
-      "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
-      "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
-      "dev": true,
-      "dependencies": {
-        "estree-walker": "^0.6.1"
-      }
-    },
-    "node_modules/rollup-pluginutils/node_modules/estree-walker": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
-      "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
-      "dev": true
-    },
-    "node_modules/rst-selector-parser": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz",
-      "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=",
-      "dev": true,
-      "dependencies": {
-        "lodash.flattendeep": "^4.4.0",
-        "nearley": "^2.7.10"
-      }
-    },
-    "node_modules/rsvp": {
-      "version": "4.8.5",
-      "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
-      "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
-      "dev": true,
-      "engines": {
-        "node": "6.* || >= 7.*"
-      }
-    },
-    "node_modules/run-parallel": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
-      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "dependencies": {
-        "queue-microtask": "^1.2.2"
-      }
-    },
-    "node_modules/run-queue": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
-      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
-      "dev": true,
-      "dependencies": {
-        "aproba": "^1.1.1"
-      }
-    },
-    "node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "node_modules/safe-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
-      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "dev": true,
-      "dependencies": {
-        "ret": "~0.1.10"
-      }
-    },
-    "node_modules/safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
-    },
-    "node_modules/sane": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz",
-      "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==",
-      "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added",
-      "dev": true,
-      "dependencies": {
-        "@cnakazawa/watch": "^1.0.3",
-        "anymatch": "^2.0.0",
-        "capture-exit": "^2.0.0",
-        "exec-sh": "^0.3.2",
-        "execa": "^1.0.0",
-        "fb-watchman": "^2.0.0",
-        "micromatch": "^3.1.4",
-        "minimist": "^1.1.1",
-        "walker": "~1.0.5"
-      },
-      "bin": {
-        "sane": "src/cli.js"
-      },
-      "engines": {
-        "node": "6.* || 8.* || >= 10.*"
-      }
-    },
-    "node_modules/sane/node_modules/anymatch": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-      "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "dev": true,
-      "dependencies": {
-        "micromatch": "^3.1.4",
-        "normalize-path": "^2.1.1"
-      }
-    },
-    "node_modules/sane/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sane/node_modules/braces/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sane/node_modules/cross-spawn": {
-      "version": "6.0.5",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
-      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
-      "dev": true,
-      "dependencies": {
-        "nice-try": "^1.0.4",
-        "path-key": "^2.0.1",
-        "semver": "^5.5.0",
-        "shebang-command": "^1.2.0",
-        "which": "^1.2.9"
-      },
-      "engines": {
-        "node": ">=4.8"
-      }
-    },
-    "node_modules/sane/node_modules/execa": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
-      "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
-      "dev": true,
-      "dependencies": {
-        "cross-spawn": "^6.0.0",
-        "get-stream": "^4.0.0",
-        "is-stream": "^1.1.0",
-        "npm-run-path": "^2.0.0",
-        "p-finally": "^1.0.0",
-        "signal-exit": "^3.0.0",
-        "strip-eof": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/sane/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sane/node_modules/get-stream": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
-      "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
-      "dev": true,
-      "dependencies": {
-        "pump": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/sane/node_modules/is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sane/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sane/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sane/node_modules/is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sane/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sane/node_modules/normalize-path": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-      "dev": true,
-      "dependencies": {
-        "remove-trailing-separator": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sane/node_modules/npm-run-path": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
-      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
-      "dev": true,
-      "dependencies": {
-        "path-key": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/sane/node_modules/path-key": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/sane/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/sane/node_modules/shebang-command": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
-      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-      "dev": true,
-      "dependencies": {
-        "shebang-regex": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sane/node_modules/shebang-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sane/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sane/node_modules/which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "which": "bin/which"
-      }
-    },
-    "node_modules/sanitize-html": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.4.0.tgz",
-      "integrity": "sha512-Y1OgkUiTPMqwZNRLPERSEi39iOebn2XJLbeiGOBhaJD/yLqtLGu6GE5w7evx177LeGgSE+4p4e107LMiydOf6A==",
-      "dependencies": {
-        "deepmerge": "^4.2.2",
-        "escape-string-regexp": "^4.0.0",
-        "htmlparser2": "^6.0.0",
-        "is-plain-object": "^5.0.0",
-        "klona": "^2.0.3",
-        "parse-srcset": "^1.0.2",
-        "postcss": "^8.0.2"
-      }
-    },
-    "node_modules/sanitize-html/node_modules/escape-string-regexp": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/sanitize-html/node_modules/htmlparser2": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
-      "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
-      "funding": [
-        "https://github.com/fb55/htmlparser2?sponsor=1",
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/fb55"
-        }
-      ],
-      "dependencies": {
-        "domelementtype": "^2.0.1",
-        "domhandler": "^4.0.0",
-        "domutils": "^2.5.2",
-        "entities": "^2.0.0"
-      }
-    },
-    "node_modules/sanitize-html/node_modules/postcss": {
-      "version": "8.3.6",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz",
-      "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==",
-      "dependencies": {
-        "colorette": "^1.2.2",
-        "nanoid": "^3.1.23",
-        "source-map-js": "^0.6.2"
-      },
-      "engines": {
-        "node": "^10 || ^12 || >=14"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/postcss/"
-      }
-    },
-    "node_modules/sanitize.css": {
-      "version": "10.0.0",
-      "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-10.0.0.tgz",
-      "integrity": "sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg==",
-      "dev": true
-    },
-    "node_modules/sass": {
-      "version": "1.39.0",
-      "resolved": "https://registry.npmjs.org/sass/-/sass-1.39.0.tgz",
-      "integrity": "sha512-F4o+RhJkNOIG0b6QudYU8c78ZADKZjKDk5cyrf8XTKWfrgbtyVVXImFstJrc+1pkQDCggyidIOytq6gS4gCCZg==",
-      "dependencies": {
-        "chokidar": ">=3.0.0 <4.0.0"
-      },
-      "bin": {
-        "sass": "sass.js"
-      },
-      "engines": {
-        "node": ">=8.9.0"
-      }
-    },
-    "node_modules/sass-loader": {
-      "version": "10.2.0",
-      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.2.0.tgz",
-      "integrity": "sha512-kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw==",
-      "dev": true,
-      "dependencies": {
-        "klona": "^2.0.4",
-        "loader-utils": "^2.0.0",
-        "neo-async": "^2.6.2",
-        "schema-utils": "^3.0.0",
-        "semver": "^7.3.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "fibers": ">= 3.1.0",
-        "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0",
-        "sass": "^1.3.0",
-        "webpack": "^4.36.0 || ^5.0.0"
-      },
-      "peerDependenciesMeta": {
-        "fibers": {
-          "optional": true
-        },
-        "node-sass": {
-          "optional": true
-        },
-        "sass": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/sass-loader/node_modules/schema-utils": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
-      "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
-    "node_modules/sax": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
-      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
-      "dev": true
-    },
-    "node_modules/saxes": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
-      "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
-      "dependencies": {
-        "xmlchars": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/scheduler": {
-      "version": "0.19.1",
-      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz",
-      "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==",
-      "dependencies": {
-        "loose-envify": "^1.1.0",
-        "object-assign": "^4.1.1"
-      }
-    },
-    "node_modules/schema-utils": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
-      "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.5",
-        "ajv": "^6.12.4",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 8.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
-    "node_modules/select-hose": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
-      "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
-      "dev": true
-    },
-    "node_modules/selfsigned": {
-      "version": "1.10.11",
-      "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz",
-      "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==",
-      "dev": true,
-      "dependencies": {
-        "node-forge": "^0.10.0"
-      }
-    },
-    "node_modules/semver": {
-      "version": "7.3.5",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
-      "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/send": {
-      "version": "0.17.1",
-      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
-      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
-      "dev": true,
-      "dependencies": {
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "destroy": "~1.0.4",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "fresh": "0.5.2",
-        "http-errors": "~1.7.2",
-        "mime": "1.6.0",
-        "ms": "2.1.1",
-        "on-finished": "~2.3.0",
-        "range-parser": "~1.2.1",
-        "statuses": "~1.5.0"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/send/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/send/node_modules/debug/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/send/node_modules/ms": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
-      "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
-      "dev": true
-    },
-    "node_modules/serialize-javascript": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
-      "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
-      "dev": true,
-      "dependencies": {
-        "randombytes": "^2.1.0"
-      }
-    },
-    "node_modules/serve-index": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
-      "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
-      "dev": true,
-      "dependencies": {
-        "accepts": "~1.3.4",
-        "batch": "0.6.1",
-        "debug": "2.6.9",
-        "escape-html": "~1.0.3",
-        "http-errors": "~1.6.2",
-        "mime-types": "~2.1.17",
-        "parseurl": "~1.3.2"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/serve-index/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/serve-index/node_modules/http-errors": {
-      "version": "1.6.3",
-      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
-      "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
-      "dev": true,
-      "dependencies": {
-        "depd": "~1.1.2",
-        "inherits": "2.0.3",
-        "setprototypeof": "1.1.0",
-        "statuses": ">= 1.4.0 < 2"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/serve-index/node_modules/inherits": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-      "dev": true
-    },
-    "node_modules/serve-index/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/serve-index/node_modules/setprototypeof": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
-      "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
-      "dev": true
-    },
-    "node_modules/serve-static": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
-      "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
-      "dev": true,
-      "dependencies": {
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "parseurl": "~1.3.3",
-        "send": "0.17.1"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/set-blocking": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
-      "dev": true
-    },
-    "node_modules/set-value": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
-      "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-extendable": "^0.1.1",
-        "is-plain-object": "^2.0.3",
-        "split-string": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/set-value/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/set-value/node_modules/is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/set-value/node_modules/is-plain-object": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
-      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-      "dev": true,
-      "dependencies": {
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/setimmediate": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
-      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
-      "dev": true
-    },
-    "node_modules/setprototypeof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
-      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
-      "dev": true
-    },
-    "node_modules/sha.js": {
-      "version": "2.4.11",
-      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
-      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      },
-      "bin": {
-        "sha.js": "bin.js"
-      }
-    },
-    "node_modules/shebang-command": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
-      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
-      "dev": true,
-      "dependencies": {
-        "shebang-regex": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/shebang-regex": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
-      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/shell-quote": {
-      "version": "1.7.2",
-      "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz",
-      "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==",
-      "dev": true
-    },
-    "node_modules/shellwords": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
-      "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
-      "dev": true,
-      "optional": true
-    },
-    "node_modules/side-channel": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
-      "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.0",
-        "get-intrinsic": "^1.0.2",
-        "object-inspect": "^1.9.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/signal-exit": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
-      "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
-      "dev": true
-    },
-    "node_modules/simple-swizzle": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
-      "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
-      "dev": true,
-      "dependencies": {
-        "is-arrayish": "^0.3.1"
-      }
-    },
-    "node_modules/simple-swizzle/node_modules/is-arrayish": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
-      "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
-      "dev": true
-    },
-    "node_modules/sinon": {
-      "version": "9.2.4",
-      "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz",
-      "integrity": "sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg==",
-      "dev": true,
-      "dependencies": {
-        "@sinonjs/commons": "^1.8.1",
-        "@sinonjs/fake-timers": "^6.0.1",
-        "@sinonjs/samsam": "^5.3.1",
-        "diff": "^4.0.2",
-        "nise": "^4.0.4",
-        "supports-color": "^7.1.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/sinon"
-      }
-    },
-    "node_modules/sinon/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/sinon/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/sisteransi": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
-      "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
-      "dev": true
-    },
-    "node_modules/slash": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
-      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/slice-ansi": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
-      "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.0.0",
-        "astral-regex": "^2.0.0",
-        "is-fullwidth-code-point": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/slice-ansi?sponsor=1"
-      }
-    },
-    "node_modules/slice-ansi/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/slice-ansi/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/slice-ansi/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/snapdragon": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
-      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "dev": true,
-      "dependencies": {
-        "base": "^0.11.1",
-        "debug": "^2.2.0",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "map-cache": "^0.2.2",
-        "source-map": "^0.5.6",
-        "source-map-resolve": "^0.5.0",
-        "use": "^3.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-node": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
-      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "dev": true,
-      "dependencies": {
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.0",
-        "snapdragon-util": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-node/node_modules/define-property": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-util": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
-      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.2.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon-util/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/is-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^0.1.6",
-        "is-data-descriptor": "^0.1.4",
-        "kind-of": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/kind-of": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-      "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/snapdragon/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
-    },
-    "node_modules/sockjs": {
-      "version": "0.3.21",
-      "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz",
-      "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==",
-      "dev": true,
-      "dependencies": {
-        "faye-websocket": "^0.11.3",
-        "uuid": "^3.4.0",
-        "websocket-driver": "^0.7.4"
-      }
-    },
-    "node_modules/sockjs-client": {
-      "version": "1.5.2",
-      "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz",
-      "integrity": "sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^3.2.6",
-        "eventsource": "^1.0.7",
-        "faye-websocket": "^0.11.3",
-        "inherits": "^2.0.4",
-        "json3": "^3.3.3",
-        "url-parse": "^1.5.3"
-      }
-    },
-    "node_modules/sockjs-client/node_modules/debug": {
-      "version": "3.2.7",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-      "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
-      "dev": true,
-      "dependencies": {
-        "ms": "^2.1.1"
-      }
-    },
-    "node_modules/sockjs/node_modules/uuid": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
-      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
-      "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
-      "dev": true,
-      "bin": {
-        "uuid": "bin/uuid"
-      }
-    },
-    "node_modules/sort-keys": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
-      "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
-      "dev": true,
-      "dependencies": {
-        "is-plain-obj": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/source-list-map": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
-      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
-      "dev": true
-    },
-    "node_modules/source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/source-map-js": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
-      "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/source-map-resolve": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
-      "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
-      "dev": true,
-      "dependencies": {
-        "atob": "^2.1.2",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
-      }
-    },
-    "node_modules/source-map-support": {
-      "version": "0.5.19",
-      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
-      "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
-      "dev": true,
-      "dependencies": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
-      }
-    },
-    "node_modules/source-map-support/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/source-map-url": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
-      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
-      "dev": true
-    },
-    "node_modules/sourcemap-codec": {
-      "version": "1.4.8",
-      "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
-      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
-      "dev": true
-    },
-    "node_modules/spdx-correct": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
-      "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
-      "dev": true,
-      "dependencies": {
-        "spdx-expression-parse": "^3.0.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "node_modules/spdx-exceptions": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
-      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
-      "dev": true
-    },
-    "node_modules/spdx-expression-parse": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
-      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
-      "dev": true,
-      "dependencies": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "node_modules/spdx-license-ids": {
-      "version": "3.0.10",
-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz",
-      "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==",
-      "dev": true
-    },
-    "node_modules/spdy": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
-      "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.0",
-        "handle-thing": "^2.0.0",
-        "http-deceiver": "^1.2.7",
-        "select-hose": "^2.0.0",
-        "spdy-transport": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/spdy-transport": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
-      "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
-      "dev": true,
-      "dependencies": {
-        "debug": "^4.1.0",
-        "detect-node": "^2.0.4",
-        "hpack.js": "^2.1.6",
-        "obuf": "^1.1.2",
-        "readable-stream": "^3.0.6",
-        "wbuf": "^1.7.3"
-      }
-    },
-    "node_modules/spdy-transport/node_modules/readable-stream": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/split-string": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
-      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/sprintf-js": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
-      "dev": true
-    },
-    "node_modules/ssri": {
-      "version": "8.0.1",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
-      "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
-      "dev": true,
-      "dependencies": {
-        "minipass": "^3.1.1"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/stable": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
-      "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
-      "dev": true
-    },
-    "node_modules/stack-utils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz",
-      "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==",
-      "dev": true,
-      "dependencies": {
-        "escape-string-regexp": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/stack-utils/node_modules/escape-string-regexp": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
-      "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/stackframe": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz",
-      "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==",
-      "dev": true
-    },
-    "node_modules/static-extend": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
-      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "dev": true,
-      "dependencies": {
-        "define-property": "^0.2.5",
-        "object-copy": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/static-extend/node_modules/define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
-      "dependencies": {
-        "is-descriptor": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/static-extend/node_modules/is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/static-extend/node_modules/is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/static-extend/node_modules/is-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
-      "dependencies": {
-        "is-accessor-descriptor": "^0.1.6",
-        "is-data-descriptor": "^0.1.4",
-        "kind-of": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/static-extend/node_modules/kind-of": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-      "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/statuses": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
-      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/stream-browserify": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
-      "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "~2.0.1",
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "node_modules/stream-each": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
-      "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
-      "dev": true,
-      "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "node_modules/stream-http": {
-      "version": "2.8.3",
-      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
-      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
-      "dev": true,
-      "dependencies": {
-        "builtin-status-codes": "^3.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.3.6",
-        "to-arraybuffer": "^1.0.0",
-        "xtend": "^4.0.0"
-      }
-    },
-    "node_modules/stream-shift": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
-      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
-      "dev": true
-    },
-    "node_modules/strict-uri-encode": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
-      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/string_decoder": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "~5.2.0"
-      }
-    },
-    "node_modules/string_decoder/node_modules/safe-buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ]
-    },
-    "node_modules/string-length": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
-      "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
-      "dev": true,
-      "dependencies": {
-        "char-regex": "^1.0.2",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/string-natural-compare": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz",
-      "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==",
-      "dev": true
-    },
-    "node_modules/string-width": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
-      "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
-      "dev": true,
-      "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/string-width/node_modules/emoji-regex": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-      "dev": true
-    },
-    "node_modules/string.prototype.matchall": {
-      "version": "4.0.5",
-      "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz",
-      "integrity": "sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.2",
-        "get-intrinsic": "^1.1.1",
-        "has-symbols": "^1.0.2",
-        "internal-slot": "^1.0.3",
-        "regexp.prototype.flags": "^1.3.1",
-        "side-channel": "^1.0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/string.prototype.trim": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz",
-      "integrity": "sha512-hWCk/iqf7lp0/AgTF7/ddO1IWtSNPASjlzCicV5irAVdE1grjsneK26YG6xACMBEdCvO8fUST0UzDMh/2Qy+9Q==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/string.prototype.trimend": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
-      "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/string.prototype.trimstart": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
-      "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/stringify-object": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
-      "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
-      "dev": true,
-      "dependencies": {
-        "get-own-enumerable-property-symbols": "^3.0.0",
-        "is-obj": "^1.0.1",
-        "is-regexp": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/strip-ansi": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
-      "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/strip-bom": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
-      "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/strip-comments": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz",
-      "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==",
-      "dev": true,
-      "dependencies": {
-        "babel-extract-comments": "^1.0.0",
-        "babel-plugin-transform-object-rest-spread": "^6.26.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/strip-eof": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
-      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/strip-final-newline": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
-      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/strip-json-comments": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
-      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/style-loader": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz",
-      "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==",
-      "dev": true,
-      "dependencies": {
-        "loader-utils": "^2.0.0",
-        "schema-utils": "^2.7.0"
-      },
-      "engines": {
-        "node": ">= 8.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "webpack": "^4.0.0 || ^5.0.0"
-      }
-    },
-    "node_modules/style-mod": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz",
-      "integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw=="
-    },
-    "node_modules/stylehacks": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
-      "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==",
-      "dev": true,
-      "dependencies": {
-        "browserslist": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-selector-parser": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/stylehacks/node_modules/postcss-selector-parser": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
-      "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
-      "dev": true,
-      "dependencies": {
-        "dot-prop": "^5.2.0",
-        "indexes-of": "^1.0.1",
-        "uniq": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/supports-color": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/supports-hyperlinks": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
-      "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0",
-        "supports-color": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/supports-hyperlinks/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/supports-hyperlinks/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/svg-parser": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz",
-      "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==",
-      "dev": true
-    },
-    "node_modules/svgo": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
-      "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==",
-      "dev": true,
-      "dependencies": {
-        "chalk": "^2.4.1",
-        "coa": "^2.0.2",
-        "css-select": "^2.0.0",
-        "css-select-base-adapter": "^0.1.1",
-        "css-tree": "1.0.0-alpha.37",
-        "csso": "^4.0.2",
-        "js-yaml": "^3.13.1",
-        "mkdirp": "~0.5.1",
-        "object.values": "^1.1.0",
-        "sax": "~1.2.4",
-        "stable": "^0.1.8",
-        "unquote": "~1.1.1",
-        "util.promisify": "~1.0.0"
-      },
-      "bin": {
-        "svgo": "bin/svgo"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/svgo/node_modules/css-select": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
-      "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
-      "dev": true,
-      "dependencies": {
-        "boolbase": "^1.0.0",
-        "css-what": "^3.2.1",
-        "domutils": "^1.7.0",
-        "nth-check": "^1.0.2"
-      }
-    },
-    "node_modules/svgo/node_modules/css-what": {
-      "version": "3.4.2",
-      "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz",
-      "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/fb55"
-      }
-    },
-    "node_modules/svgo/node_modules/dom-serializer": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
-      "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
-      "dev": true,
-      "dependencies": {
-        "domelementtype": "^2.0.1",
-        "entities": "^2.0.0"
-      }
-    },
-    "node_modules/svgo/node_modules/domutils": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
-      "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
-      "dev": true,
-      "dependencies": {
-        "dom-serializer": "0",
-        "domelementtype": "1"
-      }
-    },
-    "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
-      "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
-      "dev": true
-    },
-    "node_modules/svgo/node_modules/nth-check": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
-      "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
-      "dev": true,
-      "dependencies": {
-        "boolbase": "~1.0.0"
-      }
-    },
-    "node_modules/symbol-tree": {
-      "version": "3.2.4",
-      "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
-      "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
-    },
-    "node_modules/table": {
-      "version": "6.7.1",
-      "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz",
-      "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==",
-      "dev": true,
-      "dependencies": {
-        "ajv": "^8.0.1",
-        "lodash.clonedeep": "^4.5.0",
-        "lodash.truncate": "^4.4.2",
-        "slice-ansi": "^4.0.0",
-        "string-width": "^4.2.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/table/node_modules/ajv": {
-      "version": "8.6.2",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz",
-      "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==",
-      "dev": true,
-      "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "json-schema-traverse": "^1.0.0",
-        "require-from-string": "^2.0.2",
-        "uri-js": "^4.2.2"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
-      }
-    },
-    "node_modules/table/node_modules/json-schema-traverse": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
-      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
-      "dev": true
-    },
-    "node_modules/tapable": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
-      "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/tar": {
-      "version": "6.1.11",
-      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
-      "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
-      "dev": true,
-      "dependencies": {
-        "chownr": "^2.0.0",
-        "fs-minipass": "^2.0.0",
-        "minipass": "^3.0.0",
-        "minizlib": "^2.1.1",
-        "mkdirp": "^1.0.3",
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/tar/node_modules/mkdirp": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-      "dev": true,
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/temp-dir": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
-      "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/tempusdominus-bootstrap-4": {
-      "version": "5.39.0",
-      "resolved": "https://registry.npmjs.org/tempusdominus-bootstrap-4/-/tempusdominus-bootstrap-4-5.39.0.tgz",
-      "integrity": "sha512-vYnkmQYQq4+A51WyRc/6e03eM0BHDoPaxd556K1pd4Nhr0eGeB3+Mi9b+3CDx4189fg3gQlrsKzgJiHPRwSX3Q==",
-      "dependencies": {
-        "bootstrap": "^4.5.2",
-        "jquery": "^3.5.1",
-        "moment": "^2.29.0",
-        "moment-timezone": "^0.5.31",
-        "popper.js": "^1.16.1"
-      },
-      "peerDependencies": {
-        "bootstrap": ">=4.5.2",
-        "jquery": "^3.5.1",
-        "moment": "^2.29.0",
-        "moment-timezone": "^0.5.31",
-        "popper.js": "^1.16.1",
-        "tempusdominus-core": "5.19.0"
-      }
-    },
-    "node_modules/tempusdominus-core": {
-      "version": "5.19.0",
-      "resolved": "https://registry.npmjs.org/tempusdominus-core/-/tempusdominus-core-5.19.0.tgz",
-      "integrity": "sha512-7a4oBQw4cjz6C87BLRg3KHVvzpnPlnRTkuDZ7SwcJayQQ4QgOryX5u6wj0q07TXhgtMQLCntZO6nVhHIKPaeUw==",
-      "dependencies": {
-        "jquery": "^3.5.0",
-        "moment": "~2.24.0",
-        "moment-timezone": "^0.5.28"
-      },
-      "peerDependencies": {
-        "jquery": "^3.0",
-        "moment": "^2.10",
-        "moment-timezone": "^0.5.0"
-      }
-    },
-    "node_modules/tempusdominus-core/node_modules/moment": {
-      "version": "2.24.0",
-      "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
-      "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==",
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/tempy": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz",
-      "integrity": "sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==",
-      "dev": true,
-      "dependencies": {
-        "temp-dir": "^1.0.0",
-        "type-fest": "^0.3.1",
-        "unique-string": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/tempy/node_modules/type-fest": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz",
-      "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/terminal-link": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
-      "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
-      "dev": true,
-      "dependencies": {
-        "ansi-escapes": "^4.2.1",
-        "supports-hyperlinks": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/terser": {
-      "version": "4.8.0",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
-      "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
-      "dev": true,
-      "dependencies": {
-        "commander": "^2.20.0",
-        "source-map": "~0.6.1",
-        "source-map-support": "~0.5.12"
-      },
-      "bin": {
-        "terser": "bin/terser"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/terser-webpack-plugin": {
-      "version": "4.2.3",
-      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz",
-      "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==",
-      "dev": true,
-      "dependencies": {
-        "cacache": "^15.0.5",
-        "find-cache-dir": "^3.3.1",
-        "jest-worker": "^26.5.0",
-        "p-limit": "^3.0.2",
-        "schema-utils": "^3.0.0",
-        "serialize-javascript": "^5.0.1",
-        "source-map": "^0.6.1",
-        "terser": "^5.3.4",
-        "webpack-sources": "^1.4.3"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "webpack": "^4.0.0 || ^5.0.0"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/commander": {
-      "version": "2.20.3",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-      "dev": true
-    },
-    "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": {
-      "version": "3.3.2",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
-      "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
-      "dev": true,
-      "dependencies": {
-        "commondir": "^1.0.1",
-        "make-dir": "^3.0.2",
-        "pkg-dir": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/make-dir": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-      "dev": true,
-      "dependencies": {
-        "semver": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/p-limit": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
-      "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
-      "dev": true,
-      "dependencies": {
-        "yocto-queue": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/p-locate/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/pkg-dir": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
-      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
-      "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/terser": {
-      "version": "5.7.2",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz",
-      "integrity": "sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==",
-      "dev": true,
-      "dependencies": {
-        "commander": "^2.20.0",
-        "source-map": "~0.7.2",
-        "source-map-support": "~0.5.19"
-      },
-      "bin": {
-        "terser": "bin/terser"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/terser-webpack-plugin/node_modules/terser/node_modules/source-map": {
-      "version": "0.7.3",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/terser/node_modules/commander": {
-      "version": "2.20.3",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-      "dev": true
-    },
-    "node_modules/terser/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/test-exclude": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
-      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
-      "dev": true,
-      "dependencies": {
-        "@istanbuljs/schema": "^0.1.2",
-        "glob": "^7.1.4",
-        "minimatch": "^3.0.4"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/text-table": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
-      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
-      "dev": true
-    },
-    "node_modules/throat": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
-      "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==",
-      "dev": true
-    },
-    "node_modules/through2": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
-      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
-      "dev": true,
-      "dependencies": {
-        "readable-stream": "~2.3.6",
-        "xtend": "~4.0.1"
-      }
-    },
-    "node_modules/thunky": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
-      "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
-      "dev": true
-    },
-    "node_modules/timers-browserify": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
-      "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
-      "dev": true,
-      "dependencies": {
-        "setimmediate": "^1.0.4"
-      },
-      "engines": {
-        "node": ">=0.6.0"
-      }
-    },
-    "node_modules/timsort": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
-      "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
-      "dev": true
-    },
-    "node_modules/tiny-invariant": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz",
-      "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw=="
-    },
-    "node_modules/tiny-warning": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
-      "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
-    },
-    "node_modules/tmpl": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
-      "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
-      "dev": true
-    },
-    "node_modules/to-arraybuffer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
-      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
-      "dev": true
-    },
-    "node_modules/to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/to-object-path": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
-      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-object-path/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-regex": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
-      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "dev": true,
-      "dependencies": {
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "regex-not": "^1.0.2",
-        "safe-regex": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-regex-range": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-      "dependencies": {
-        "is-number": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=8.0"
-      }
-    },
-    "node_modules/toggle-selection": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
-      "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
-    },
-    "node_modules/toidentifier": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
-      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.6"
-      }
-    },
-    "node_modules/tough-cookie": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
-      "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
-      "dependencies": {
-        "psl": "^1.1.33",
-        "punycode": "^2.1.1",
-        "universalify": "^0.1.2"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/tough-cookie/node_modules/universalify": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
-      "engines": {
-        "node": ">= 4.0.0"
-      }
-    },
-    "node_modules/tr46": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
-      "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
-      "dependencies": {
-        "punycode": "^2.1.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/tryer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
-      "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==",
-      "dev": true
-    },
-    "node_modules/ts-pnp": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz",
-      "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/tsconfig-paths": {
-      "version": "3.11.0",
-      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz",
-      "integrity": "sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==",
-      "dev": true,
-      "dependencies": {
-        "@types/json5": "^0.0.29",
-        "json5": "^1.0.1",
-        "minimist": "^1.2.0",
-        "strip-bom": "^3.0.0"
-      }
-    },
-    "node_modules/tsconfig-paths/node_modules/json5": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
-      }
-    },
-    "node_modules/tsconfig-paths/node_modules/strip-bom": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-      "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/tslib": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
-      "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==",
-      "dev": true
-    },
-    "node_modules/tsutils": {
-      "version": "3.21.0",
-      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
-      "dev": true,
-      "dependencies": {
-        "tslib": "^1.8.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      },
-      "peerDependencies": {
-        "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
-      }
-    },
-    "node_modules/tsutils/node_modules/tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-      "dev": true
-    },
-    "node_modules/tty-browserify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
-      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
-      "dev": true
-    },
-    "node_modules/type": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
-      "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
-      "dev": true
-    },
-    "node_modules/type-check": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
-      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
-      "dev": true,
-      "dependencies": {
-        "prelude-ls": "^1.2.1"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/type-detect": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
-      "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/type-fest": {
-      "version": "0.21.3",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
-      "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/type-is": {
-      "version": "1.6.18",
-      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
-      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
-      "dev": true,
-      "dependencies": {
-        "media-typer": "0.3.0",
-        "mime-types": "~2.1.24"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/typed-styles": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz",
-      "integrity": "sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q=="
-    },
-    "node_modules/typedarray": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
-      "dev": true
-    },
-    "node_modules/typedarray-to-buffer": {
-      "version": "3.1.5",
-      "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
-      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
-      "dev": true,
-      "dependencies": {
-        "is-typedarray": "^1.0.0"
-      }
-    },
-    "node_modules/typescript": {
-      "version": "4.4.2",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz",
-      "integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==",
-      "dev": true,
-      "bin": {
-        "tsc": "bin/tsc",
-        "tsserver": "bin/tsserver"
-      },
-      "engines": {
-        "node": ">=4.2.0"
-      }
-    },
-    "node_modules/unbox-primitive": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
-      "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==",
-      "dev": true,
-      "dependencies": {
-        "function-bind": "^1.1.1",
-        "has-bigints": "^1.0.1",
-        "has-symbols": "^1.0.2",
-        "which-boxed-primitive": "^1.0.2"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/unicode-canonical-property-names-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/unicode-match-property-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
-      "dev": true,
-      "dependencies": {
-        "unicode-canonical-property-names-ecmascript": "^1.0.4",
-        "unicode-property-aliases-ecmascript": "^1.0.4"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/unicode-match-property-value-ecmascript": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
-      "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/unicode-property-aliases-ecmascript": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
-      "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/union-value": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
-      "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
-      "dev": true,
-      "dependencies": {
-        "arr-union": "^3.1.0",
-        "get-value": "^2.0.6",
-        "is-extendable": "^0.1.1",
-        "set-value": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/union-value/node_modules/is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/uniq": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
-      "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
-      "dev": true
-    },
-    "node_modules/uniqs": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
-      "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
-      "dev": true
-    },
-    "node_modules/unique-filename": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
-      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
-      "dev": true,
-      "dependencies": {
-        "unique-slug": "^2.0.0"
-      }
-    },
-    "node_modules/unique-slug": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
-      "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
-      "dev": true,
-      "dependencies": {
-        "imurmurhash": "^0.1.4"
-      }
-    },
-    "node_modules/unique-string": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
-      "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
-      "dev": true,
-      "dependencies": {
-        "crypto-random-string": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/universalify": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
-      "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      }
-    },
-    "node_modules/unpipe": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
-      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/unquote": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
-      "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
-      "dev": true
-    },
-    "node_modules/unset-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
-      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "dev": true,
-      "dependencies": {
-        "has-value": "^0.3.1",
-        "isobject": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/unset-value/node_modules/has-value": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
-      "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-      "dev": true,
-      "dependencies": {
-        "get-value": "^2.0.3",
-        "has-values": "^0.1.4",
-        "isobject": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
-      "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-      "dev": true,
-      "dependencies": {
-        "isarray": "1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/unset-value/node_modules/has-values": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-      "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/unset-value/node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "node_modules/upath": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
-      "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
-      "dev": true,
-      "engines": {
-        "node": ">=4",
-        "yarn": "*"
-      }
-    },
-    "node_modules/uri-js": {
-      "version": "4.4.1",
-      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
-      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
-      "dev": true,
-      "dependencies": {
-        "punycode": "^2.1.0"
-      }
-    },
-    "node_modules/urix": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "deprecated": "Please see https://github.com/lydell/urix#deprecated",
-      "dev": true
-    },
-    "node_modules/url": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
-      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "dev": true,
-      "dependencies": {
-        "punycode": "1.3.2",
-        "querystring": "0.2.0"
-      }
-    },
-    "node_modules/url-loader": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz",
-      "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==",
-      "dev": true,
-      "dependencies": {
-        "loader-utils": "^2.0.0",
-        "mime-types": "^2.1.27",
-        "schema-utils": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "file-loader": "*",
-        "webpack": "^4.0.0 || ^5.0.0"
-      },
-      "peerDependenciesMeta": {
-        "file-loader": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/url-loader/node_modules/schema-utils": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
-      "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      }
-    },
-    "node_modules/url-parse": {
-      "version": "1.5.3",
-      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz",
-      "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==",
-      "dev": true,
-      "dependencies": {
-        "querystringify": "^2.1.1",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "node_modules/url/node_modules/punycode": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-      "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
-      "dev": true
-    },
-    "node_modules/url/node_modules/querystring": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
-      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
-      "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4.x"
-      }
-    },
-    "node_modules/use": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/use-media": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/use-media/-/use-media-1.4.0.tgz",
-      "integrity": "sha512-XsgyUAf3nhzZmEfhc5MqLHwyaPjs78bgytpVJ/xDl0TF4Bptf3vEpBNBBT/EIKOmsOc8UbuECq3mrP3mt1QANA==",
-      "peerDependencies": {
-        "react": "^16.8.1"
-      }
-    },
-    "node_modules/util": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
-      "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
-      "dev": true,
-      "dependencies": {
-        "inherits": "2.0.3"
-      }
-    },
-    "node_modules/util-deprecate": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
-    },
-    "node_modules/util.promisify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
-      "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
-      "dev": true,
-      "dependencies": {
-        "define-properties": "^1.1.2",
-        "object.getownpropertydescriptors": "^2.0.3"
-      }
-    },
-    "node_modules/util/node_modules/inherits": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-      "dev": true
-    },
-    "node_modules/utila": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
-      "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
-      "dev": true
-    },
-    "node_modules/utils-merge": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
-      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4.0"
-      }
-    },
-    "node_modules/uuid": {
-      "version": "8.3.2",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
-      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
-      "dev": true,
-      "optional": true,
-      "bin": {
-        "uuid": "dist/bin/uuid"
-      }
-    },
-    "node_modules/v8-compile-cache": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
-      "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
-      "dev": true
-    },
-    "node_modules/v8-to-istanbul": {
-      "version": "7.1.2",
-      "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz",
-      "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==",
-      "dev": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.1",
-        "convert-source-map": "^1.6.0",
-        "source-map": "^0.7.3"
-      },
-      "engines": {
-        "node": ">=10.10.0"
-      }
-    },
-    "node_modules/v8-to-istanbul/node_modules/source-map": {
-      "version": "0.7.3",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/validate-npm-package-license": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
-      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
-      "dev": true,
-      "dependencies": {
-        "spdx-correct": "^3.0.0",
-        "spdx-expression-parse": "^3.0.0"
-      }
-    },
-    "node_modules/value-equal": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz",
-      "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw=="
-    },
-    "node_modules/vary": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
-      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/vendors": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz",
-      "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==",
-      "dev": true,
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/wooorm"
-      }
-    },
-    "node_modules/vm-browserify": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
-      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
-      "dev": true
-    },
-    "node_modules/w3c-hr-time": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
-      "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
-      "dependencies": {
-        "browser-process-hrtime": "^1.0.0"
-      }
-    },
-    "node_modules/w3c-keyname": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz",
-      "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw=="
-    },
-    "node_modules/w3c-xmlserializer": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
-      "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
-      "dependencies": {
-        "xml-name-validator": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/walker": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
-      "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
-      "dev": true,
-      "dependencies": {
-        "makeerror": "1.0.x"
-      }
-    },
-    "node_modules/warning": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
-      "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
-      "dependencies": {
-        "loose-envify": "^1.0.0"
-      }
-    },
-    "node_modules/watchpack": {
-      "version": "1.7.5",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
-      "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0"
-      },
-      "optionalDependencies": {
-        "chokidar": "^3.4.1",
-        "watchpack-chokidar2": "^2.0.1"
-      }
-    },
-    "node_modules/watchpack-chokidar2": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
-      "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "chokidar": "^2.1.8"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/anymatch": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-      "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "micromatch": "^3.1.4",
-        "normalize-path": "^2.1.1"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "remove-trailing-separator": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/binary-extensions": {
-      "version": "1.13.1",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-      "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-      "dev": true,
-      "optional": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/chokidar": {
-      "version": "2.1.8",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-      "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-      "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "anymatch": "^2.0.0",
-        "async-each": "^1.0.1",
-        "braces": "^2.3.2",
-        "glob-parent": "^3.1.0",
-        "inherits": "^2.0.3",
-        "is-binary-path": "^1.0.0",
-        "is-glob": "^4.0.0",
-        "normalize-path": "^3.0.0",
-        "path-is-absolute": "^1.0.0",
-        "readdirp": "^2.2.1",
-        "upath": "^1.1.1"
-      },
-      "optionalDependencies": {
-        "fsevents": "^1.2.7"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/fsevents": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-      "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-      "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.",
-      "dev": true,
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "dependencies": {
-        "bindings": "^1.5.0",
-        "nan": "^2.12.1"
-      },
-      "engines": {
-        "node": ">= 4.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/glob-parent": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-glob": "^3.1.0",
-        "path-dirname": "^1.0.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-      "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-extglob": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/is-binary-path": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "binary-extensions": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true,
-      "optional": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/readdirp": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-      "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.11",
-        "micromatch": "^3.1.10",
-        "readable-stream": "^2.0.2"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/watchpack-chokidar2/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "optional": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/wbuf": {
-      "version": "1.7.3",
-      "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
-      "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
-      "dev": true,
-      "dependencies": {
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "node_modules/webidl-conversions": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
-      "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
-      "engines": {
-        "node": ">=10.4"
-      }
-    },
-    "node_modules/webpack": {
-      "version": "4.44.2",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz",
-      "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==",
-      "dev": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/wasm-edit": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "acorn": "^6.4.1",
-        "ajv": "^6.10.2",
-        "ajv-keywords": "^3.4.1",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^4.3.0",
-        "eslint-scope": "^4.0.3",
-        "json-parse-better-errors": "^1.0.2",
-        "loader-runner": "^2.4.0",
-        "loader-utils": "^1.2.3",
-        "memory-fs": "^0.4.1",
-        "micromatch": "^3.1.10",
-        "mkdirp": "^0.5.3",
-        "neo-async": "^2.6.1",
-        "node-libs-browser": "^2.2.1",
-        "schema-utils": "^1.0.0",
-        "tapable": "^1.1.3",
-        "terser-webpack-plugin": "^1.4.3",
-        "watchpack": "^1.7.4",
-        "webpack-sources": "^1.4.1"
-      },
-      "bin": {
-        "webpack": "bin/webpack.js"
-      },
-      "engines": {
-        "node": ">=6.11.5"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependenciesMeta": {
-        "webpack-cli": {
-          "optional": true
-        },
-        "webpack-command": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/webpack-dev-middleware": {
-      "version": "3.7.3",
-      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz",
-      "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==",
-      "dev": true,
-      "dependencies": {
-        "memory-fs": "^0.4.1",
-        "mime": "^2.4.4",
-        "mkdirp": "^0.5.1",
-        "range-parser": "^1.2.1",
-        "webpack-log": "^2.0.0"
-      },
-      "engines": {
-        "node": ">= 6"
-      },
-      "peerDependencies": {
-        "webpack": "^4.0.0 || ^5.0.0"
-      }
-    },
-    "node_modules/webpack-dev-middleware/node_modules/mime": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz",
-      "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==",
-      "dev": true,
-      "bin": {
-        "mime": "cli.js"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/webpack-dev-server": {
-      "version": "3.11.1",
-      "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz",
-      "integrity": "sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==",
-      "dev": true,
-      "dependencies": {
-        "ansi-html": "0.0.7",
-        "bonjour": "^3.5.0",
-        "chokidar": "^2.1.8",
-        "compression": "^1.7.4",
-        "connect-history-api-fallback": "^1.6.0",
-        "debug": "^4.1.1",
-        "del": "^4.1.1",
-        "express": "^4.17.1",
-        "html-entities": "^1.3.1",
-        "http-proxy-middleware": "0.19.1",
-        "import-local": "^2.0.0",
-        "internal-ip": "^4.3.0",
-        "ip": "^1.1.5",
-        "is-absolute-url": "^3.0.3",
-        "killable": "^1.0.1",
-        "loglevel": "^1.6.8",
-        "opn": "^5.5.0",
-        "p-retry": "^3.0.1",
-        "portfinder": "^1.0.26",
-        "schema-utils": "^1.0.0",
-        "selfsigned": "^1.10.8",
-        "semver": "^6.3.0",
-        "serve-index": "^1.9.1",
-        "sockjs": "^0.3.21",
-        "sockjs-client": "^1.5.0",
-        "spdy": "^4.0.2",
-        "strip-ansi": "^3.0.1",
-        "supports-color": "^6.1.0",
-        "url": "^0.11.0",
-        "webpack-dev-middleware": "^3.7.2",
-        "webpack-log": "^2.0.0",
-        "ws": "^6.2.1",
-        "yargs": "^13.3.2"
-      },
-      "bin": {
-        "webpack-dev-server": "bin/webpack-dev-server.js"
-      },
-      "engines": {
-        "node": ">= 6.11.5"
-      },
-      "peerDependencies": {
-        "webpack": "^4.0.0 || ^5.0.0"
-      },
-      "peerDependenciesMeta": {
-        "webpack-cli": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/anymatch": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-      "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "dev": true,
-      "dependencies": {
-        "micromatch": "^3.1.4",
-        "normalize-path": "^2.1.1"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-      "dev": true,
-      "dependencies": {
-        "remove-trailing-separator": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/binary-extensions": {
-      "version": "1.13.1",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-      "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/braces/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/chokidar": {
-      "version": "2.1.8",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-      "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-      "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.",
-      "dev": true,
-      "dependencies": {
-        "anymatch": "^2.0.0",
-        "async-each": "^1.0.1",
-        "braces": "^2.3.2",
-        "glob-parent": "^3.1.0",
-        "inherits": "^2.0.3",
-        "is-binary-path": "^1.0.0",
-        "is-glob": "^4.0.0",
-        "normalize-path": "^3.0.0",
-        "path-is-absolute": "^1.0.0",
-        "readdirp": "^2.2.1",
-        "upath": "^1.1.1"
-      },
-      "optionalDependencies": {
-        "fsevents": "^1.2.7"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/cliui": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
-      "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
-      "dev": true,
-      "dependencies": {
-        "string-width": "^3.1.0",
-        "strip-ansi": "^5.2.0",
-        "wrap-ansi": "^5.1.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/cliui/node_modules/ansi-regex": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-      "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/emoji-regex": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
-      "dev": true
-    },
-    "node_modules/webpack-dev-server/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/fill-range/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/find-up": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/fsevents": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-      "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-      "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.",
-      "dev": true,
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "dependencies": {
-        "bindings": "^1.5.0",
-        "nan": "^2.12.1"
-      },
-      "engines": {
-        "node": ">= 4.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/glob-parent": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-      "dev": true,
-      "dependencies": {
-        "is-glob": "^3.1.0",
-        "path-dirname": "^1.0.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-      "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-      "dev": true,
-      "dependencies": {
-        "is-extglob": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/import-local": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
-      "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
-      "dev": true,
-      "dependencies": {
-        "pkg-dir": "^3.0.0",
-        "resolve-cwd": "^2.0.0"
-      },
-      "bin": {
-        "import-local-fixture": "fixtures/cli.js"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/is-absolute-url": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz",
-      "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/is-binary-path": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-      "dev": true,
-      "dependencies": {
-        "binary-extensions": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/is-fullwidth-code-point": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/locate-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^3.0.0",
-        "path-exists": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/p-locate": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/pkg-dir": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-      "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/readdirp": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-      "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.11",
-        "micromatch": "^3.1.10",
-        "readable-stream": "^2.0.2"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/resolve-cwd": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
-      "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
-      "dev": true,
-      "dependencies": {
-        "resolve-from": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/resolve-from": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-      "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/schema-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-      "dev": true,
-      "dependencies": {
-        "ajv": "^6.1.0",
-        "ajv-errors": "^1.0.0",
-        "ajv-keywords": "^3.1.0"
-      },
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "dev": true,
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/string-width": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-      "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-      "dev": true,
-      "dependencies": {
-        "emoji-regex": "^7.0.1",
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^5.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/string-width/node_modules/ansi-regex": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-      "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/strip-ansi": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/supports-color": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-      "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-      "dev": true,
-      "dependencies": {
-        "has-flag": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/wrap-ansi": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
-      "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^3.2.0",
-        "string-width": "^3.0.0",
-        "strip-ansi": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/ansi-regex": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-      "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/strip-ansi": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-regex": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/ws": {
-      "version": "6.2.2",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz",
-      "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==",
-      "dev": true,
-      "dependencies": {
-        "async-limiter": "~1.0.0"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/yargs": {
-      "version": "13.3.2",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
-      "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
-      "dev": true,
-      "dependencies": {
-        "cliui": "^5.0.0",
-        "find-up": "^3.0.0",
-        "get-caller-file": "^2.0.1",
-        "require-directory": "^2.1.1",
-        "require-main-filename": "^2.0.0",
-        "set-blocking": "^2.0.0",
-        "string-width": "^3.0.0",
-        "which-module": "^2.0.0",
-        "y18n": "^4.0.0",
-        "yargs-parser": "^13.1.2"
-      }
-    },
-    "node_modules/webpack-dev-server/node_modules/yargs-parser": {
-      "version": "13.1.2",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
-      "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
-      "dev": true,
-      "dependencies": {
-        "camelcase": "^5.0.0",
-        "decamelize": "^1.2.0"
-      }
-    },
-    "node_modules/webpack-log": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
-      "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
-      "dev": true,
-      "dependencies": {
-        "ansi-colors": "^3.0.0",
-        "uuid": "^3.3.2"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/webpack-log/node_modules/ansi-colors": {
-      "version": "3.2.4",
-      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
-      "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/webpack-log/node_modules/uuid": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
-      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
-      "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
-      "dev": true,
-      "bin": {
-        "uuid": "bin/uuid"
-      }
-    },
-    "node_modules/webpack-manifest-plugin": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz",
-      "integrity": "sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==",
-      "dev": true,
-      "dependencies": {
-        "fs-extra": "^7.0.0",
-        "lodash": ">=3.5 <5",
-        "object.entries": "^1.1.0",
-        "tapable": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=6.11.5"
-      },
-      "peerDependencies": {
-        "webpack": "2 || 3 || 4"
-      }
-    },
-    "node_modules/webpack-manifest-plugin/node_modules/fs-extra": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
-      "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "jsonfile": "^4.0.0",
-        "universalify": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=6 <7 || >=8"
-      }
-    },
-    "node_modules/webpack-manifest-plugin/node_modules/jsonfile": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
-      "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
-      "dev": true,
-      "optionalDependencies": {
-        "graceful-fs": "^4.1.6"
-      }
-    },
-    "node_modules/webpack-manifest-plugin/node_modules/universalify": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4.0.0"
-      }
-    },
-    "node_modules/webpack-sources": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
-      "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
-      "dev": true,
-      "dependencies": {
-        "source-list-map": "^2.0.0",
-        "source-map": "~0.6.1"
-      }
-    },
-    "node_modules/webpack-sources/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/acorn": {
-      "version": "6.4.2",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
-      "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
-      "dev": true,
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/webpack/node_modules/braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
-      "dependencies": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/cacache": {
-      "version": "12.0.4",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
-      "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
-      "dev": true,
-      "dependencies": {
-        "bluebird": "^3.5.5",
-        "chownr": "^1.1.1",
-        "figgy-pudding": "^3.5.1",
-        "glob": "^7.1.4",
-        "graceful-fs": "^4.1.15",
-        "infer-owner": "^1.0.3",
-        "lru-cache": "^5.1.1",
-        "mississippi": "^3.0.0",
-        "mkdirp": "^0.5.1",
-        "move-concurrently": "^1.0.1",
-        "promise-inflight": "^1.0.1",
-        "rimraf": "^2.6.3",
-        "ssri": "^6.0.1",
-        "unique-filename": "^1.1.1",
-        "y18n": "^4.0.0"
-      }
-    },
-    "node_modules/webpack/node_modules/chownr": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-      "dev": true
-    },
-    "node_modules/webpack/node_modules/eslint-scope": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
-      "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
-      "dev": true,
-      "dependencies": {
-        "esrecurse": "^4.1.0",
-        "estraverse": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/webpack/node_modules/estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/webpack/node_modules/fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "dependencies": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
-      "dependencies": {
-        "is-extendable": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/is-number/node_modules/kind-of": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
-      "dependencies": {
-        "is-buffer": "^1.1.5"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/is-wsl": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
-      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/webpack/node_modules/json5": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-      "dev": true,
-      "dependencies": {
-        "minimist": "^1.2.0"
-      },
-      "bin": {
-        "json5": "lib/cli.js"
-      }
-    },
-    "node_modules/webpack/node_modules/loader-utils": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-      "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-      "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/webpack/node_modules/lru-cache": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
-      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-      "dev": true,
-      "dependencies": {
-        "yallist": "^3.0.2"
-      }
-    },
-    "node_modules/webpack/node_modules/micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
-      "dependencies": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
-    "node_modules/webpack/node_modules/schema-utils": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-      "dev": true,
-      "dependencies": {
-        "ajv": "^6.1.0",
-        "ajv-errors": "^1.0.0",
-        "ajv-keywords": "^3.1.0"
-      },
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/webpack/node_modules/serialize-javascript": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
-      "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
-      "dev": true,
-      "dependencies": {
-        "randombytes": "^2.1.0"
-      }
-    },
-    "node_modules/webpack/node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/ssri": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
-      "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
-      "dev": true,
-      "dependencies": {
-        "figgy-pudding": "^3.5.1"
-      }
-    },
-    "node_modules/webpack/node_modules/terser-webpack-plugin": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
-      "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
-      "dev": true,
-      "dependencies": {
-        "cacache": "^12.0.2",
-        "find-cache-dir": "^2.1.0",
-        "is-wsl": "^1.1.0",
-        "schema-utils": "^1.0.0",
-        "serialize-javascript": "^4.0.0",
-        "source-map": "^0.6.1",
-        "terser": "^4.1.2",
-        "webpack-sources": "^1.4.0",
-        "worker-farm": "^1.7.0"
-      },
-      "engines": {
-        "node": ">= 6.9.0"
-      },
-      "peerDependencies": {
-        "webpack": "^4.0.0"
-      }
-    },
-    "node_modules/webpack/node_modules/to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "dependencies": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/webpack/node_modules/yallist": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-      "dev": true
-    },
-    "node_modules/websocket-driver": {
-      "version": "0.7.4",
-      "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
-      "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
-      "dev": true,
-      "dependencies": {
-        "http-parser-js": ">=0.5.1",
-        "safe-buffer": ">=5.1.0",
-        "websocket-extensions": ">=0.1.1"
-      },
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/websocket-extensions": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
-      "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/whatwg-encoding": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
-      "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
-      "dependencies": {
-        "iconv-lite": "0.4.24"
-      }
-    },
-    "node_modules/whatwg-fetch": {
-      "version": "3.6.2",
-      "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz",
-      "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==",
-      "dev": true
-    },
-    "node_modules/whatwg-mimetype": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
-      "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g=="
-    },
-    "node_modules/whatwg-url": {
-      "version": "8.7.0",
-      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
-      "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
-      "dependencies": {
-        "lodash": "^4.7.0",
-        "tr46": "^2.1.0",
-        "webidl-conversions": "^6.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/which": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
-      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "node-which": "bin/node-which"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/which-boxed-primitive": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
-      "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
-      "dev": true,
-      "dependencies": {
-        "is-bigint": "^1.0.1",
-        "is-boolean-object": "^1.1.0",
-        "is-number-object": "^1.0.4",
-        "is-string": "^1.0.5",
-        "is-symbol": "^1.0.3"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/which-module": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
-      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
-      "dev": true
-    },
-    "node_modules/word-wrap": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
-      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/workbox-background-sync": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-5.1.4.tgz",
-      "integrity": "sha512-AH6x5pYq4vwQvfRDWH+vfOePfPIYQ00nCEB7dJRU1e0n9+9HMRyvI63FlDvtFT2AvXVRsXvUt7DNMEToyJLpSA==",
-      "dev": true,
-      "dependencies": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "node_modules/workbox-broadcast-update": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-5.1.4.tgz",
-      "integrity": "sha512-HTyTWkqXvHRuqY73XrwvXPud/FN6x3ROzkfFPsRjtw/kGZuZkPzfeH531qdUGfhtwjmtO/ZzXcWErqVzJNdXaA==",
-      "dev": true,
-      "dependencies": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "node_modules/workbox-build": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-5.1.4.tgz",
-      "integrity": "sha512-xUcZn6SYU8usjOlfLb9Y2/f86Gdo+fy1fXgH8tJHjxgpo53VVsqRX0lUDw8/JuyzNmXuo8vXX14pXX2oIm9Bow==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.8.4",
-        "@babel/preset-env": "^7.8.4",
-        "@babel/runtime": "^7.8.4",
-        "@hapi/joi": "^15.1.0",
-        "@rollup/plugin-node-resolve": "^7.1.1",
-        "@rollup/plugin-replace": "^2.3.1",
-        "@surma/rollup-plugin-off-main-thread": "^1.1.1",
-        "common-tags": "^1.8.0",
-        "fast-json-stable-stringify": "^2.1.0",
-        "fs-extra": "^8.1.0",
-        "glob": "^7.1.6",
-        "lodash.template": "^4.5.0",
-        "pretty-bytes": "^5.3.0",
-        "rollup": "^1.31.1",
-        "rollup-plugin-babel": "^4.3.3",
-        "rollup-plugin-terser": "^5.3.1",
-        "source-map": "^0.7.3",
-        "source-map-url": "^0.4.0",
-        "stringify-object": "^3.3.0",
-        "strip-comments": "^1.0.2",
-        "tempy": "^0.3.0",
-        "upath": "^1.2.0",
-        "workbox-background-sync": "^5.1.4",
-        "workbox-broadcast-update": "^5.1.4",
-        "workbox-cacheable-response": "^5.1.4",
-        "workbox-core": "^5.1.4",
-        "workbox-expiration": "^5.1.4",
-        "workbox-google-analytics": "^5.1.4",
-        "workbox-navigation-preload": "^5.1.4",
-        "workbox-precaching": "^5.1.4",
-        "workbox-range-requests": "^5.1.4",
-        "workbox-routing": "^5.1.4",
-        "workbox-strategies": "^5.1.4",
-        "workbox-streams": "^5.1.4",
-        "workbox-sw": "^5.1.4",
-        "workbox-window": "^5.1.4"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/workbox-build/node_modules/fs-extra": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
-      "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
-      "dev": true,
-      "dependencies": {
-        "graceful-fs": "^4.2.0",
-        "jsonfile": "^4.0.0",
-        "universalify": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=6 <7 || >=8"
-      }
-    },
-    "node_modules/workbox-build/node_modules/jsonfile": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
-      "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
-      "dev": true,
-      "optionalDependencies": {
-        "graceful-fs": "^4.1.6"
-      }
-    },
-    "node_modules/workbox-build/node_modules/source-map": {
-      "version": "0.7.3",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/workbox-build/node_modules/universalify": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4.0.0"
-      }
-    },
-    "node_modules/workbox-cacheable-response": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-5.1.4.tgz",
-      "integrity": "sha512-0bfvMZs0Of1S5cdswfQK0BXt6ulU5kVD4lwer2CeI+03czHprXR3V4Y8lPTooamn7eHP8Iywi5QjyAMjw0qauA==",
-      "dev": true,
-      "dependencies": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "node_modules/workbox-core": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
-      "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
-      "dev": true
-    },
-    "node_modules/workbox-expiration": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-5.1.4.tgz",
-      "integrity": "sha512-oDO/5iC65h2Eq7jctAv858W2+CeRW5e0jZBMNRXpzp0ZPvuT6GblUiHnAsC5W5lANs1QS9atVOm4ifrBiYY7AQ==",
-      "dev": true,
-      "dependencies": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "node_modules/workbox-google-analytics": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-5.1.4.tgz",
-      "integrity": "sha512-0IFhKoEVrreHpKgcOoddV+oIaVXBFKXUzJVBI+nb0bxmcwYuZMdteBTp8AEDJacENtc9xbR0wa9RDCnYsCDLjA==",
-      "dev": true,
-      "dependencies": {
-        "workbox-background-sync": "^5.1.4",
-        "workbox-core": "^5.1.4",
-        "workbox-routing": "^5.1.4",
-        "workbox-strategies": "^5.1.4"
-      }
-    },
-    "node_modules/workbox-navigation-preload": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-5.1.4.tgz",
-      "integrity": "sha512-Wf03osvK0wTflAfKXba//QmWC5BIaIZARU03JIhAEO2wSB2BDROWI8Q/zmianf54kdV7e1eLaIEZhth4K4MyfQ==",
-      "dev": true,
-      "dependencies": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "node_modules/workbox-precaching": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-5.1.4.tgz",
-      "integrity": "sha512-gCIFrBXmVQLFwvAzuGLCmkUYGVhBb7D1k/IL7pUJUO5xacjLcFUaLnnsoVepBGAiKw34HU1y/YuqvTKim9qAZA==",
-      "dev": true,
-      "dependencies": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "node_modules/workbox-range-requests": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-5.1.4.tgz",
-      "integrity": "sha512-1HSujLjgTeoxHrMR2muDW2dKdxqCGMc1KbeyGcmjZZAizJTFwu7CWLDmLv6O1ceWYrhfuLFJO+umYMddk2XMhw==",
-      "dev": true,
-      "dependencies": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "node_modules/workbox-routing": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-5.1.4.tgz",
-      "integrity": "sha512-8ljknRfqE1vEQtnMtzfksL+UXO822jJlHTIR7+BtJuxQ17+WPZfsHqvk1ynR/v0EHik4x2+826Hkwpgh4GKDCw==",
-      "dev": true,
-      "dependencies": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "node_modules/workbox-strategies": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-5.1.4.tgz",
-      "integrity": "sha512-VVS57LpaJTdjW3RgZvPwX0NlhNmscR7OQ9bP+N/34cYMDzXLyA6kqWffP6QKXSkca1OFo/v6v7hW7zrrguo6EA==",
-      "dev": true,
-      "dependencies": {
-        "workbox-core": "^5.1.4",
-        "workbox-routing": "^5.1.4"
-      }
-    },
-    "node_modules/workbox-streams": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-5.1.4.tgz",
-      "integrity": "sha512-xU8yuF1hI/XcVhJUAfbQLa1guQUhdLMPQJkdT0kn6HP5CwiPOGiXnSFq80rAG4b1kJUChQQIGPrq439FQUNVrw==",
-      "dev": true,
-      "dependencies": {
-        "workbox-core": "^5.1.4",
-        "workbox-routing": "^5.1.4"
-      }
-    },
-    "node_modules/workbox-sw": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-5.1.4.tgz",
-      "integrity": "sha512-9xKnKw95aXwSNc8kk8gki4HU0g0W6KXu+xks7wFuC7h0sembFnTrKtckqZxbSod41TDaGh+gWUA5IRXrL0ECRA==",
-      "dev": true
-    },
-    "node_modules/workbox-webpack-plugin": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-5.1.4.tgz",
-      "integrity": "sha512-PZafF4HpugZndqISi3rZ4ZK4A4DxO8rAqt2FwRptgsDx7NF8TVKP86/huHquUsRjMGQllsNdn4FNl8CD/UvKmQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/runtime": "^7.5.5",
-        "fast-json-stable-stringify": "^2.0.0",
-        "source-map-url": "^0.4.0",
-        "upath": "^1.1.2",
-        "webpack-sources": "^1.3.0",
-        "workbox-build": "^5.1.4"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      },
-      "peerDependencies": {
-        "webpack": "^4.0.0"
-      }
-    },
-    "node_modules/workbox-window": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-5.1.4.tgz",
-      "integrity": "sha512-vXQtgTeMCUq/4pBWMfQX8Ee7N2wVC4Q7XYFqLnfbXJ2hqew/cU1uMTD2KqGEgEpE4/30luxIxgE+LkIa8glBYw==",
-      "dev": true,
-      "dependencies": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "node_modules/worker-farm": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
-      "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
-      "dev": true,
-      "dependencies": {
-        "errno": "~0.1.7"
-      }
-    },
-    "node_modules/worker-rpc": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz",
-      "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==",
-      "dev": true,
-      "dependencies": {
-        "microevent.ts": "~0.1.1"
-      }
-    },
-    "node_modules/wrap-ansi": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
-      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
-      "dev": true,
-      "dependencies": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/wrap-ansi/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/wrap-ansi/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/wrap-ansi/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true
-    },
-    "node_modules/wrappy": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
-      "dev": true
-    },
-    "node_modules/write-file-atomic": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
-      "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
-      "dev": true,
-      "dependencies": {
-        "imurmurhash": "^0.1.4",
-        "is-typedarray": "^1.0.0",
-        "signal-exit": "^3.0.2",
-        "typedarray-to-buffer": "^3.1.5"
-      }
-    },
-    "node_modules/ws": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz",
-      "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==",
-      "engines": {
-        "node": ">=8.3.0"
-      },
-      "peerDependencies": {
-        "bufferutil": "^4.0.1",
-        "utf-8-validate": "^5.0.2"
-      },
-      "peerDependenciesMeta": {
-        "bufferutil": {
-          "optional": true
-        },
-        "utf-8-validate": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/xml-name-validator": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
-      "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
-    },
-    "node_modules/xmlchars": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
-      "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
-    },
-    "node_modules/xtend": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
-      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.4"
-      }
-    },
-    "node_modules/y18n": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
-      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
-      "dev": true
-    },
-    "node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
-    },
-    "node_modules/yaml": {
-      "version": "1.10.2",
-      "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
-      "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/yargs": {
-      "version": "15.4.1",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
-      "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
-      "dev": true,
-      "dependencies": {
-        "cliui": "^6.0.0",
-        "decamelize": "^1.2.0",
-        "find-up": "^4.1.0",
-        "get-caller-file": "^2.0.1",
-        "require-directory": "^2.1.1",
-        "require-main-filename": "^2.0.0",
-        "set-blocking": "^2.0.0",
-        "string-width": "^4.2.0",
-        "which-module": "^2.0.0",
-        "y18n": "^4.0.0",
-        "yargs-parser": "^18.1.2"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/yargs-parser": {
-      "version": "18.1.3",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
-      "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
-      "dev": true,
-      "dependencies": {
-        "camelcase": "^5.0.0",
-        "decamelize": "^1.2.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/yargs-parser/node_modules/camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/yargs/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/yargs/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/yargs/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/yargs/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/yargs/node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/yargs/node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/yocto-queue": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
-      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    }
-  },
-  "dependencies": {
-    "@babel/code-frame": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz",
-      "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==",
-      "dev": true,
-      "requires": {
-        "@babel/highlight": "^7.14.5"
-      }
-    },
-    "@babel/compat-data": {
-      "version": "7.15.0",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz",
-      "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==",
-      "dev": true
-    },
-    "@babel/core": {
-      "version": "7.15.5",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz",
-      "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.14.5",
-        "@babel/generator": "^7.15.4",
-        "@babel/helper-compilation-targets": "^7.15.4",
-        "@babel/helper-module-transforms": "^7.15.4",
-        "@babel/helpers": "^7.15.4",
-        "@babel/parser": "^7.15.5",
-        "@babel/template": "^7.15.4",
-        "@babel/traverse": "^7.15.4",
-        "@babel/types": "^7.15.4",
-        "convert-source-map": "^1.7.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.2",
-        "json5": "^2.1.2",
-        "semver": "^6.3.0",
-        "source-map": "^0.5.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        }
-      }
-    },
-    "@babel/generator": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz",
-      "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.15.4",
-        "jsesc": "^2.5.1",
-        "source-map": "^0.5.0"
-      }
-    },
-    "@babel/helper-annotate-as-pure": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz",
-      "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz",
-      "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-explode-assignable-expression": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-compilation-targets": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz",
-      "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==",
-      "dev": true,
-      "requires": {
-        "@babel/compat-data": "^7.15.0",
-        "@babel/helper-validator-option": "^7.14.5",
-        "browserslist": "^4.16.6",
-        "semver": "^6.3.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        }
-      }
-    },
-    "@babel/helper-create-class-features-plugin": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz",
-      "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.15.4",
-        "@babel/helper-function-name": "^7.15.4",
-        "@babel/helper-member-expression-to-functions": "^7.15.4",
-        "@babel/helper-optimise-call-expression": "^7.15.4",
-        "@babel/helper-replace-supers": "^7.15.4",
-        "@babel/helper-split-export-declaration": "^7.15.4"
-      }
-    },
-    "@babel/helper-create-regexp-features-plugin": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz",
-      "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.14.5",
-        "regexpu-core": "^4.7.1"
-      }
-    },
-    "@babel/helper-define-polyfill-provider": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz",
-      "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-compilation-targets": "^7.13.0",
-        "@babel/helper-module-imports": "^7.12.13",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/traverse": "^7.13.0",
-        "debug": "^4.1.1",
-        "lodash.debounce": "^4.0.8",
-        "resolve": "^1.14.2",
-        "semver": "^6.1.2"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        }
-      }
-    },
-    "@babel/helper-explode-assignable-expression": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz",
-      "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-function-name": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz",
-      "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-get-function-arity": "^7.15.4",
-        "@babel/template": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-get-function-arity": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz",
-      "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-hoist-variables": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz",
-      "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-member-expression-to-functions": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz",
-      "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-module-imports": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz",
-      "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-module-transforms": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz",
-      "integrity": "sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.15.4",
-        "@babel/helper-replace-supers": "^7.15.4",
-        "@babel/helper-simple-access": "^7.15.4",
-        "@babel/helper-split-export-declaration": "^7.15.4",
-        "@babel/helper-validator-identifier": "^7.14.9",
-        "@babel/template": "^7.15.4",
-        "@babel/traverse": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-optimise-call-expression": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz",
-      "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-plugin-utils": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
-      "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
-      "dev": true
-    },
-    "@babel/helper-remap-async-to-generator": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz",
-      "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.15.4",
-        "@babel/helper-wrap-function": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-replace-supers": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz",
-      "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-member-expression-to-functions": "^7.15.4",
-        "@babel/helper-optimise-call-expression": "^7.15.4",
-        "@babel/traverse": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-simple-access": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz",
-      "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-skip-transparent-expression-wrappers": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz",
-      "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-split-export-declaration": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz",
-      "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helper-validator-identifier": {
-      "version": "7.14.9",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz",
-      "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==",
-      "dev": true
-    },
-    "@babel/helper-validator-option": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
-      "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
-      "dev": true
-    },
-    "@babel/helper-wrap-function": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz",
-      "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-function-name": "^7.15.4",
-        "@babel/template": "^7.15.4",
-        "@babel/traverse": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/helpers": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz",
-      "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==",
-      "dev": true,
-      "requires": {
-        "@babel/template": "^7.15.4",
-        "@babel/traverse": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/highlight": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz",
-      "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-validator-identifier": "^7.14.5",
-        "chalk": "^2.0.0",
-        "js-tokens": "^4.0.0"
-      }
-    },
-    "@babel/parser": {
-      "version": "7.15.5",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.5.tgz",
-      "integrity": "sha512-2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg==",
-      "dev": true
-    },
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz",
-      "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4",
-        "@babel/plugin-proposal-optional-chaining": "^7.14.5"
-      }
-    },
-    "@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz",
-      "integrity": "sha512-2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-remap-async-to-generator": "^7.15.4",
-        "@babel/plugin-syntax-async-generators": "^7.8.4"
-      }
-    },
-    "@babel/plugin-proposal-class-properties": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz",
-      "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-proposal-class-static-block": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz",
-      "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.15.4",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5"
-      }
-    },
-    "@babel/plugin-proposal-decorators": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz",
-      "integrity": "sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.12.1",
-        "@babel/helper-plugin-utils": "^7.10.4",
-        "@babel/plugin-syntax-decorators": "^7.12.1"
-      }
-    },
-    "@babel/plugin-proposal-dynamic-import": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz",
-      "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-export-namespace-from": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz",
-      "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-json-strings": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz",
-      "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-json-strings": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-logical-assignment-operators": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz",
-      "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
-      }
-    },
-    "@babel/plugin-proposal-nullish-coalescing-operator": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz",
-      "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-numeric-separator": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz",
-      "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
-      }
-    },
-    "@babel/plugin-proposal-object-rest-spread": {
-      "version": "7.14.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz",
-      "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==",
-      "dev": true,
-      "requires": {
-        "@babel/compat-data": "^7.14.7",
-        "@babel/helper-compilation-targets": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-transform-parameters": "^7.14.5"
-      }
-    },
-    "@babel/plugin-proposal-optional-catch-binding": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz",
-      "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-optional-chaining": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz",
-      "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-private-methods": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz",
-      "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-proposal-private-property-in-object": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz",
-      "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.15.4",
-        "@babel/helper-create-class-features-plugin": "^7.15.4",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
-      }
-    },
-    "@babel/plugin-proposal-unicode-property-regex": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz",
-      "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-syntax-async-generators": {
-      "version": "7.8.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
-      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-bigint": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
-      "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-class-properties": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
-      "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-syntax-class-static-block": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
-      "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-syntax-decorators": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz",
-      "integrity": "sha512-c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-syntax-dynamic-import": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
-      "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-export-namespace-from": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
-      "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
-      }
-    },
-    "@babel/plugin-syntax-flow": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.14.5.tgz",
-      "integrity": "sha512-9WK5ZwKCdWHxVuU13XNT6X73FGmutAXeor5lGFq6qhOFtMFUF4jkbijuyUdZZlpYq6E2hZeZf/u3959X9wsv0Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-syntax-import-meta": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
-      "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      }
-    },
-    "@babel/plugin-syntax-json-strings": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
-      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-jsx": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz",
-      "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-syntax-logical-assignment-operators": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
-      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      }
-    },
-    "@babel/plugin-syntax-nullish-coalescing-operator": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
-      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-numeric-separator": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
-      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      }
-    },
-    "@babel/plugin-syntax-object-rest-spread": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
-      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
-      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-optional-chaining": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
-      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-private-property-in-object": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
-      "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-syntax-top-level-await": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
-      "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-syntax-typescript": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz",
-      "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-arrow-functions": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz",
-      "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-async-to-generator": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz",
-      "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-remap-async-to-generator": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz",
-      "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-block-scoping": {
-      "version": "7.15.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz",
-      "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-classes": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz",
-      "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.15.4",
-        "@babel/helper-function-name": "^7.15.4",
-        "@babel/helper-optimise-call-expression": "^7.15.4",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-replace-supers": "^7.15.4",
-        "@babel/helper-split-export-declaration": "^7.15.4",
-        "globals": "^11.1.0"
-      }
-    },
-    "@babel/plugin-transform-computed-properties": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz",
-      "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-destructuring": {
-      "version": "7.14.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz",
-      "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-dotall-regex": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz",
-      "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-duplicate-keys": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz",
-      "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz",
-      "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-flow-strip-types": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz",
-      "integrity": "sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.10.4",
-        "@babel/plugin-syntax-flow": "^7.12.1"
-      }
-    },
-    "@babel/plugin-transform-for-of": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz",
-      "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-function-name": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz",
-      "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-function-name": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-literals": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz",
-      "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-member-expression-literals": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz",
-      "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-modules-amd": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz",
-      "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      }
-    },
-    "@babel/plugin-transform-modules-commonjs": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz",
-      "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.15.4",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-simple-access": "^7.15.4",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      }
-    },
-    "@babel/plugin-transform-modules-systemjs": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz",
-      "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-hoist-variables": "^7.15.4",
-        "@babel/helper-module-transforms": "^7.15.4",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-validator-identifier": "^7.14.9",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      }
-    },
-    "@babel/plugin-transform-modules-umd": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz",
-      "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.14.9",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz",
-      "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-new-target": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz",
-      "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-object-super": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz",
-      "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-replace-supers": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-parameters": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz",
-      "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-property-literals": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz",
-      "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-react-constant-elements": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz",
-      "integrity": "sha512-NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-react-display-name": {
-      "version": "7.15.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz",
-      "integrity": "sha512-yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-react-jsx": {
-      "version": "7.14.9",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz",
-      "integrity": "sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.14.5",
-        "@babel/helper-module-imports": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-jsx": "^7.14.5",
-        "@babel/types": "^7.14.9"
-      }
-    },
-    "@babel/plugin-transform-react-jsx-development": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz",
-      "integrity": "sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ==",
-      "dev": true,
-      "requires": {
-        "@babel/plugin-transform-react-jsx": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-react-pure-annotations": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz",
-      "integrity": "sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-regenerator": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz",
-      "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==",
-      "dev": true,
-      "requires": {
-        "regenerator-transform": "^0.14.2"
-      }
-    },
-    "@babel/plugin-transform-reserved-words": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz",
-      "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-runtime": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz",
-      "integrity": "sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.12.1",
-        "@babel/helper-plugin-utils": "^7.10.4",
-        "resolve": "^1.8.1",
-        "semver": "^5.5.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "@babel/plugin-transform-shorthand-properties": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz",
-      "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-spread": {
-      "version": "7.14.6",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz",
-      "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-sticky-regex": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz",
-      "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-template-literals": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz",
-      "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-typeof-symbol": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz",
-      "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-typescript": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.4.tgz",
-      "integrity": "sha512-sM1/FEjwYjXvMwu1PJStH11kJ154zd/lpY56NQJ5qH2D0mabMv1CAy/kdvS9RP4Xgfj9fBBA3JiSLdDHgXdzOA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.15.4",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/plugin-syntax-typescript": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-unicode-escapes": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz",
-      "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-transform-unicode-regex": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz",
-      "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.14.5",
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/preset-env": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.4.tgz",
-      "integrity": "sha512-4f2nLw+q6ht8gl3sHCmNhmA5W6b1ItLzbH3UrKuJxACHr2eCpk96jwjrAfCAaXaaVwTQGnyUYHY2EWXJGt7TUQ==",
-      "dev": true,
-      "requires": {
-        "@babel/compat-data": "^7.15.0",
-        "@babel/helper-compilation-targets": "^7.15.4",
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-validator-option": "^7.14.5",
-        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4",
-        "@babel/plugin-proposal-async-generator-functions": "^7.15.4",
-        "@babel/plugin-proposal-class-properties": "^7.14.5",
-        "@babel/plugin-proposal-class-static-block": "^7.15.4",
-        "@babel/plugin-proposal-dynamic-import": "^7.14.5",
-        "@babel/plugin-proposal-export-namespace-from": "^7.14.5",
-        "@babel/plugin-proposal-json-strings": "^7.14.5",
-        "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5",
-        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5",
-        "@babel/plugin-proposal-numeric-separator": "^7.14.5",
-        "@babel/plugin-proposal-object-rest-spread": "^7.14.7",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.14.5",
-        "@babel/plugin-proposal-optional-chaining": "^7.14.5",
-        "@babel/plugin-proposal-private-methods": "^7.14.5",
-        "@babel/plugin-proposal-private-property-in-object": "^7.15.4",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.14.5",
-        "@babel/plugin-syntax-async-generators": "^7.8.4",
-        "@babel/plugin-syntax-class-properties": "^7.12.13",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
-        "@babel/plugin-syntax-json-strings": "^7.8.3",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
-        "@babel/plugin-syntax-top-level-await": "^7.14.5",
-        "@babel/plugin-transform-arrow-functions": "^7.14.5",
-        "@babel/plugin-transform-async-to-generator": "^7.14.5",
-        "@babel/plugin-transform-block-scoped-functions": "^7.14.5",
-        "@babel/plugin-transform-block-scoping": "^7.15.3",
-        "@babel/plugin-transform-classes": "^7.15.4",
-        "@babel/plugin-transform-computed-properties": "^7.14.5",
-        "@babel/plugin-transform-destructuring": "^7.14.7",
-        "@babel/plugin-transform-dotall-regex": "^7.14.5",
-        "@babel/plugin-transform-duplicate-keys": "^7.14.5",
-        "@babel/plugin-transform-exponentiation-operator": "^7.14.5",
-        "@babel/plugin-transform-for-of": "^7.15.4",
-        "@babel/plugin-transform-function-name": "^7.14.5",
-        "@babel/plugin-transform-literals": "^7.14.5",
-        "@babel/plugin-transform-member-expression-literals": "^7.14.5",
-        "@babel/plugin-transform-modules-amd": "^7.14.5",
-        "@babel/plugin-transform-modules-commonjs": "^7.15.4",
-        "@babel/plugin-transform-modules-systemjs": "^7.15.4",
-        "@babel/plugin-transform-modules-umd": "^7.14.5",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9",
-        "@babel/plugin-transform-new-target": "^7.14.5",
-        "@babel/plugin-transform-object-super": "^7.14.5",
-        "@babel/plugin-transform-parameters": "^7.15.4",
-        "@babel/plugin-transform-property-literals": "^7.14.5",
-        "@babel/plugin-transform-regenerator": "^7.14.5",
-        "@babel/plugin-transform-reserved-words": "^7.14.5",
-        "@babel/plugin-transform-shorthand-properties": "^7.14.5",
-        "@babel/plugin-transform-spread": "^7.14.6",
-        "@babel/plugin-transform-sticky-regex": "^7.14.5",
-        "@babel/plugin-transform-template-literals": "^7.14.5",
-        "@babel/plugin-transform-typeof-symbol": "^7.14.5",
-        "@babel/plugin-transform-unicode-escapes": "^7.14.5",
-        "@babel/plugin-transform-unicode-regex": "^7.14.5",
-        "@babel/preset-modules": "^0.1.4",
-        "@babel/types": "^7.15.4",
-        "babel-plugin-polyfill-corejs2": "^0.2.2",
-        "babel-plugin-polyfill-corejs3": "^0.2.2",
-        "babel-plugin-polyfill-regenerator": "^0.2.2",
-        "core-js-compat": "^3.16.0",
-        "semver": "^6.3.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        }
-      }
-    },
-    "@babel/preset-modules": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz",
-      "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
-        "@babel/plugin-transform-dotall-regex": "^7.4.4",
-        "@babel/types": "^7.4.4",
-        "esutils": "^2.0.2"
-      }
-    },
-    "@babel/preset-react": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.14.5.tgz",
-      "integrity": "sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5",
-        "@babel/helper-validator-option": "^7.14.5",
-        "@babel/plugin-transform-react-display-name": "^7.14.5",
-        "@babel/plugin-transform-react-jsx": "^7.14.5",
-        "@babel/plugin-transform-react-jsx-development": "^7.14.5",
-        "@babel/plugin-transform-react-pure-annotations": "^7.14.5"
-      }
-    },
-    "@babel/preset-typescript": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz",
-      "integrity": "sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.10.4",
-        "@babel/plugin-transform-typescript": "^7.12.1"
-      }
-    },
-    "@babel/runtime": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz",
-      "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==",
-      "requires": {
-        "regenerator-runtime": "^0.13.4"
-      }
-    },
-    "@babel/runtime-corejs3": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.4.tgz",
-      "integrity": "sha512-lWcAqKeB624/twtTc3w6w/2o9RqJPaNBhPGK6DKLSiwuVWC7WFkypWyNg+CpZoyJH0jVzv1uMtXZ/5/lQOLtCg==",
-      "dev": true,
-      "requires": {
-        "core-js-pure": "^3.16.0",
-        "regenerator-runtime": "^0.13.4"
-      }
-    },
-    "@babel/template": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz",
-      "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.14.5",
-        "@babel/parser": "^7.15.4",
-        "@babel/types": "^7.15.4"
-      }
-    },
-    "@babel/traverse": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz",
-      "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.14.5",
-        "@babel/generator": "^7.15.4",
-        "@babel/helper-function-name": "^7.15.4",
-        "@babel/helper-hoist-variables": "^7.15.4",
-        "@babel/helper-split-export-declaration": "^7.15.4",
-        "@babel/parser": "^7.15.4",
-        "@babel/types": "^7.15.4",
-        "debug": "^4.1.0",
-        "globals": "^11.1.0"
-      }
-    },
-    "@babel/types": {
-      "version": "7.15.4",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.4.tgz",
-      "integrity": "sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-validator-identifier": "^7.14.9",
-        "to-fast-properties": "^2.0.0"
-      }
-    },
-    "@bcoe/v8-coverage": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
-      "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
-      "dev": true
-    },
-    "@cnakazawa/watch": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
-      "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==",
-      "dev": true,
-      "requires": {
-        "exec-sh": "^0.3.2",
-        "minimist": "^1.2.0"
-      }
-    },
-    "@codemirror/autocomplete": {
-      "version": "0.18.8",
-      "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.8.tgz",
-      "integrity": "sha512-Va1Q763Vu/rVmIazru/ZnO2kkWVq6SlmMEjeD0qmxLAypyP6j/QNdpmaPDI1qb/+Mb9VFZBbac6a0aLTTi8qxQ==",
-      "requires": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/tooltip": "^0.18.4",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "@codemirror/closebrackets": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/closebrackets/-/closebrackets-0.18.0.tgz",
-      "integrity": "sha512-O1RAgUkzF4nq/B8IyXenZKZ1rJi2Mc7I6y4IhWhELiTnjyQy7YdAthTsJ40mNr8kZ6gRbasYe3K7TraITElZJA==",
-      "requires": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "@codemirror/commands": {
-      "version": "0.18.3",
-      "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-0.18.3.tgz",
-      "integrity": "sha512-nHYDG13qOirioXTAKmjl10W2L0eZ1ftvmTwvUTNY27UWVBPFSpk5zDXP3WqJ0mgMhQ4AOFLJaTjJEO3hmPComg==",
-      "requires": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/matchbrackets": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "@codemirror/comment": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/comment/-/comment-0.18.1.tgz",
-      "integrity": "sha512-Inhqs0F24WE28Fcp1dBZghwixBGv1HDwY9MjE0d5tpMY/IPGI6uT30fGyHAXrir6hUqk7eJRkO4UYnODGOnoIA==",
-      "requires": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "@codemirror/highlight": {
-      "version": "0.18.4",
-      "resolved": "https://registry.npmjs.org/@codemirror/highlight/-/highlight-0.18.4.tgz",
-      "integrity": "sha512-3azJntqWrShOIq/0kVcdMc9k7ACL0LQErgK+A6aWXmCj5Mx0gShq+Iajy8AMQ2zB0v3nhCBgFaniL1LLD5m5hQ==",
-      "requires": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0",
-        "style-mod": "^4.0.0"
-      }
-    },
-    "@codemirror/history": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/history/-/history-0.18.1.tgz",
-      "integrity": "sha512-Aad3p4zs6UYKCUMXYjh7cvPK0ajuL+rMib9yBZ61w81LLl6OkM31Xrn9J6CLJmPxCwP3OJFiqBmNSBQ05oIsTw==",
-      "requires": {
-        "@codemirror/state": "^0.18.3",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "@codemirror/language": {
-      "version": "0.18.2",
-      "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-0.18.2.tgz",
-      "integrity": "sha512-2Kz0Xyfvt1Ex2KfTUcYZ3IBxpnFCqHaJijwZknGBT7JXv9dwbOPs9SfPfL4oxVuDIHZx8JTPfoV3LTTJrm8M3Q==",
-      "requires": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer": "^0.13.4",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "@codemirror/lint": {
-      "version": "0.18.6",
-      "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.6.tgz",
-      "integrity": "sha512-juE05YyDoLp9WCcR0hQagphOCIZ0r4WRocRFu9tbFwsMjfuForjn4m+wsLSDaDgp2Z9secMyOSGDpBNtVwM9lQ==",
-      "requires": {
-        "@codemirror/panel": "^0.18.1",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/tooltip": "^0.18.4",
-        "@codemirror/view": "^0.18.0",
-        "crelt": "^1.0.5"
-      }
-    },
-    "@codemirror/matchbrackets": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@codemirror/matchbrackets/-/matchbrackets-0.18.0.tgz",
-      "integrity": "sha512-dPDopnZVkD54sSYdmQbyQbPdiuIA83p7XxX6Hp1ScEkOjukwCiFXiA/84x10FUTsQpUYp8bDzm7gwII119bGIw==",
-      "requires": {
-        "@codemirror/language": "^0.18.0",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "lezer-tree": "^0.13.0"
-      }
-    },
-    "@codemirror/panel": {
-      "version": "0.18.2",
-      "resolved": "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.2.tgz",
-      "integrity": "sha512-ea/g2aAKtfmie1kD7C8GDutD/5u+uzRJr/varUiAbHKr1sAdjtz5xYvC3GBAMYMan1GOh0vD5zP1yEupJl3b3Q==",
-      "requires": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "@codemirror/rangeset": {
-      "version": "0.18.5",
-      "resolved": "https://registry.npmjs.org/@codemirror/rangeset/-/rangeset-0.18.5.tgz",
-      "integrity": "sha512-gvYniNeEbGRp74MM8EQ+0tylK85pVody4r4N5bs94msPwHQSKFkEmosl8tVmS0Z4e8gRtlB37m8/cWoRiuSz5Q==",
-      "requires": {
-        "@codemirror/state": "^0.18.0"
-      }
-    },
-    "@codemirror/search": {
-      "version": "0.18.4",
-      "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.18.4.tgz",
-      "integrity": "sha512-3chVkMPzl+pTUSqtimTicebhti4SLpvkj03pQx2aPZScXxIiYuDk4cLdIJK9omjmO1+oycRKbOrqvG7iZJJwMg==",
-      "requires": {
-        "@codemirror/panel": "^0.18.1",
-        "@codemirror/rangeset": "^0.18.0",
-        "@codemirror/state": "^0.18.6",
-        "@codemirror/text": "^0.18.0",
-        "@codemirror/view": "^0.18.0",
-        "crelt": "^1.0.5"
-      }
-    },
-    "@codemirror/state": {
-      "version": "0.18.7",
-      "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.18.7.tgz",
-      "integrity": "sha512-cVyTiAC9vv90NKmGOfNtBjyIem3BqKui1L5Hfcxurp8K9votQj2oH9COcgWPnQ2Xs64yC70tEuTt9DF1pj5PFQ==",
-      "requires": {
-        "@codemirror/text": "^0.18.0"
-      }
-    },
-    "@codemirror/text": {
-      "version": "0.18.1",
-      "resolved": "https://registry.npmjs.org/@codemirror/text/-/text-0.18.1.tgz",
-      "integrity": "sha512-vjXs6mi1F418kucTPlFvnCt9glKnjtYssdXb8mm1oaY/F5O+tgGVepm9Z8F7AKWCQvW8Bns1D3uLz/DOIEywIw=="
-    },
-    "@codemirror/tooltip": {
-      "version": "0.18.4",
-      "resolved": "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.4.tgz",
-      "integrity": "sha512-LDlDOSEfjoG24uapLN7exK3Z3JchYFKUwWqo1x/9YdlAkmD1ik7cMSQZboCquP1uJVcXhtbpKmaO6vENGVaarg==",
-      "requires": {
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/view": "^0.18.0"
-      }
-    },
-    "@codemirror/view": {
-      "version": "0.18.19",
-      "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-0.18.19.tgz",
-      "integrity": "sha512-TmazVl8H3L+aYwlNb8xk6qADRb8KiYOO047pz51R4mGCg4Ja2siSjXktZgUvklsyWbUY7h9q+oAf4piH+mQZTw==",
-      "requires": {
-        "@codemirror/rangeset": "^0.18.2",
-        "@codemirror/state": "^0.18.0",
-        "@codemirror/text": "^0.18.1",
-        "style-mod": "^4.0.0",
-        "w3c-keyname": "^2.2.4"
-      }
-    },
-    "@csstools/convert-colors": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz",
-      "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==",
-      "dev": true
-    },
-    "@csstools/normalize.css": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz",
-      "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==",
-      "dev": true
-    },
-    "@eslint/eslintrc": {
-      "version": "0.4.3",
-      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
-      "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
-      "dev": true,
-      "requires": {
-        "ajv": "^6.12.4",
-        "debug": "^4.1.1",
-        "espree": "^7.3.0",
-        "globals": "^13.9.0",
-        "ignore": "^4.0.6",
-        "import-fresh": "^3.2.1",
-        "js-yaml": "^3.13.1",
-        "minimatch": "^3.0.4",
-        "strip-json-comments": "^3.1.1"
-      },
-      "dependencies": {
-        "globals": {
-          "version": "13.11.0",
-          "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz",
-          "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==",
-          "dev": true,
-          "requires": {
-            "type-fest": "^0.20.2"
-          }
-        },
-        "type-fest": {
-          "version": "0.20.2",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
-          "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
-          "dev": true
-        }
-      }
-    },
-    "@forevolve/bootstrap-dark": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@forevolve/bootstrap-dark/-/bootstrap-dark-1.1.0.tgz",
-      "integrity": "sha512-A3ucpEpxPoTVO490lZZCfjPXxv832l7mm1IxX3bXyxvgwnPGXDLyh7dWrphXKO8YBAu3EswbBEu3VSW8NRMW3A==",
-      "requires": {
-        "bootstrap": "^4.6.0",
-        "jquery": "^3.5.1",
-        "popper.js": "^1.16.1"
-      }
-    },
-    "@fortawesome/fontawesome-common-types": {
-      "version": "0.2.36",
-      "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz",
-      "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg=="
-    },
-    "@fortawesome/fontawesome-svg-core": {
-      "version": "1.2.36",
-      "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz",
-      "integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==",
-      "requires": {
-        "@fortawesome/fontawesome-common-types": "^0.2.36"
-      }
-    },
-    "@fortawesome/free-solid-svg-icons": {
-      "version": "5.15.4",
-      "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz",
-      "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==",
-      "requires": {
-        "@fortawesome/fontawesome-common-types": "^0.2.36"
-      }
-    },
-    "@fortawesome/react-fontawesome": {
-      "version": "0.1.15",
-      "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.15.tgz",
-      "integrity": "sha512-/HFHdcoLESxxMkqZAcZ6RXDJ69pVApwdwRos/B2kiMWxDSAX2dFK8Er2/+rG+RsrzWB/dsAyjefLmemgmfE18g==",
-      "requires": {
-        "prop-types": "^15.7.2"
-      }
-    },
-    "@gar/promisify": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz",
-      "integrity": "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==",
-      "dev": true
-    },
-    "@hapi/address": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
-      "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==",
-      "dev": true
-    },
-    "@hapi/bourne": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz",
-      "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==",
-      "dev": true
-    },
-    "@hapi/hoek": {
-      "version": "8.5.1",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz",
-      "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==",
-      "dev": true
-    },
-    "@hapi/joi": {
-      "version": "15.1.1",
-      "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz",
-      "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==",
-      "dev": true,
-      "requires": {
-        "@hapi/address": "2.x.x",
-        "@hapi/bourne": "1.x.x",
-        "@hapi/hoek": "8.x.x",
-        "@hapi/topo": "3.x.x"
-      }
-    },
-    "@hapi/topo": {
-      "version": "3.1.6",
-      "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz",
-      "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==",
-      "dev": true,
-      "requires": {
-        "@hapi/hoek": "^8.3.0"
-      }
-    },
-    "@humanwhocodes/config-array": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
-      "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
-      "dev": true,
-      "requires": {
-        "@humanwhocodes/object-schema": "^1.2.0",
-        "debug": "^4.1.1",
-        "minimatch": "^3.0.4"
-      }
-    },
-    "@humanwhocodes/object-schema": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz",
-      "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==",
-      "dev": true
-    },
-    "@istanbuljs/load-nyc-config": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
-      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
-      "dev": true,
-      "requires": {
-        "camelcase": "^5.3.1",
-        "find-up": "^4.1.0",
-        "get-package-type": "^0.1.0",
-        "js-yaml": "^3.13.1",
-        "resolve-from": "^5.0.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "5.3.1",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-          "dev": true
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "resolve-from": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-          "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
-          "dev": true
-        }
-      }
-    },
-    "@istanbuljs/schema": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
-      "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
-      "dev": true
-    },
-    "@jest/console": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz",
-      "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==",
-      "dev": true,
-      "requires": {
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "jest-message-util": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "slash": "^3.0.0"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "@jest/core": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz",
-      "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==",
-      "dev": true,
-      "requires": {
-        "@jest/console": "^26.6.2",
-        "@jest/reporters": "^26.6.2",
-        "@jest/test-result": "^26.6.2",
-        "@jest/transform": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^4.0.0",
-        "exit": "^0.1.2",
-        "graceful-fs": "^4.2.4",
-        "jest-changed-files": "^26.6.2",
-        "jest-config": "^26.6.3",
-        "jest-haste-map": "^26.6.2",
-        "jest-message-util": "^26.6.2",
-        "jest-regex-util": "^26.0.0",
-        "jest-resolve": "^26.6.2",
-        "jest-resolve-dependencies": "^26.6.3",
-        "jest-runner": "^26.6.3",
-        "jest-runtime": "^26.6.3",
-        "jest-snapshot": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "jest-validate": "^26.6.2",
-        "jest-watcher": "^26.6.2",
-        "micromatch": "^4.0.2",
-        "p-each-series": "^2.1.0",
-        "rimraf": "^3.0.0",
-        "slash": "^3.0.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "jest-config": {
-          "version": "26.6.3",
-          "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz",
-          "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==",
-          "dev": true,
-          "requires": {
-            "@babel/core": "^7.1.0",
-            "@jest/test-sequencer": "^26.6.3",
-            "@jest/types": "^26.6.2",
-            "babel-jest": "^26.6.3",
-            "chalk": "^4.0.0",
-            "deepmerge": "^4.2.2",
-            "glob": "^7.1.1",
-            "graceful-fs": "^4.2.4",
-            "jest-environment-jsdom": "^26.6.2",
-            "jest-environment-node": "^26.6.2",
-            "jest-get-type": "^26.3.0",
-            "jest-jasmine2": "^26.6.3",
-            "jest-regex-util": "^26.0.0",
-            "jest-resolve": "^26.6.2",
-            "jest-util": "^26.6.2",
-            "jest-validate": "^26.6.2",
-            "micromatch": "^4.0.2",
-            "pretty-format": "^26.6.2"
-          }
-        },
-        "jest-get-type": {
-          "version": "26.3.0",
-          "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-          "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-          "dev": true
-        },
-        "jest-resolve": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz",
-          "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "chalk": "^4.0.0",
-            "graceful-fs": "^4.2.4",
-            "jest-pnp-resolver": "^1.2.2",
-            "jest-util": "^26.6.2",
-            "read-pkg-up": "^7.0.1",
-            "resolve": "^1.18.1",
-            "slash": "^3.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "pretty-format": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-          "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "ansi-regex": "^5.0.0",
-            "ansi-styles": "^4.0.0",
-            "react-is": "^17.0.1"
-          }
-        },
-        "react-is": {
-          "version": "17.0.2",
-          "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-          "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-          "dev": true
-        },
-        "read-pkg": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-          "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-          "dev": true,
-          "requires": {
-            "@types/normalize-package-data": "^2.4.0",
-            "normalize-package-data": "^2.5.0",
-            "parse-json": "^5.0.0",
-            "type-fest": "^0.6.0"
-          },
-          "dependencies": {
-            "type-fest": {
-              "version": "0.6.0",
-              "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-              "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-              "dev": true
-            }
-          }
-        },
-        "read-pkg-up": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-          "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-          "dev": true,
-          "requires": {
-            "find-up": "^4.1.0",
-            "read-pkg": "^5.2.0",
-            "type-fest": "^0.8.1"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        },
-        "type-fest": {
-          "version": "0.8.1",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-          "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-          "dev": true
-        }
-      }
-    },
-    "@jest/environment": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz",
-      "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==",
-      "dev": true,
-      "requires": {
-        "@jest/fake-timers": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "jest-mock": "^26.6.2"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "@jest/fake-timers": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz",
-      "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==",
-      "dev": true,
-      "requires": {
-        "@jest/types": "^26.6.2",
-        "@sinonjs/fake-timers": "^6.0.1",
-        "@types/node": "*",
-        "jest-message-util": "^26.6.2",
-        "jest-mock": "^26.6.2",
-        "jest-util": "^26.6.2"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "@jest/globals": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz",
-      "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==",
-      "dev": true,
-      "requires": {
-        "@jest/environment": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "expect": "^26.6.2"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "@jest/reporters": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz",
-      "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==",
-      "dev": true,
-      "requires": {
-        "@bcoe/v8-coverage": "^0.2.3",
-        "@jest/console": "^26.6.2",
-        "@jest/test-result": "^26.6.2",
-        "@jest/transform": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "chalk": "^4.0.0",
-        "collect-v8-coverage": "^1.0.0",
-        "exit": "^0.1.2",
-        "glob": "^7.1.2",
-        "graceful-fs": "^4.2.4",
-        "istanbul-lib-coverage": "^3.0.0",
-        "istanbul-lib-instrument": "^4.0.3",
-        "istanbul-lib-report": "^3.0.0",
-        "istanbul-lib-source-maps": "^4.0.0",
-        "istanbul-reports": "^3.0.2",
-        "jest-haste-map": "^26.6.2",
-        "jest-resolve": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "jest-worker": "^26.6.2",
-        "node-notifier": "^8.0.0",
-        "slash": "^3.0.0",
-        "source-map": "^0.6.0",
-        "string-length": "^4.0.1",
-        "terminal-link": "^2.0.0",
-        "v8-to-istanbul": "^7.0.0"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "jest-resolve": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz",
-          "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "chalk": "^4.0.0",
-            "graceful-fs": "^4.2.4",
-            "jest-pnp-resolver": "^1.2.2",
-            "jest-util": "^26.6.2",
-            "read-pkg-up": "^7.0.1",
-            "resolve": "^1.18.1",
-            "slash": "^3.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "read-pkg": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-          "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-          "dev": true,
-          "requires": {
-            "@types/normalize-package-data": "^2.4.0",
-            "normalize-package-data": "^2.5.0",
-            "parse-json": "^5.0.0",
-            "type-fest": "^0.6.0"
-          },
-          "dependencies": {
-            "type-fest": {
-              "version": "0.6.0",
-              "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-              "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-              "dev": true
-            }
-          }
-        },
-        "read-pkg-up": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-          "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-          "dev": true,
-          "requires": {
-            "find-up": "^4.1.0",
-            "read-pkg": "^5.2.0",
-            "type-fest": "^0.8.1"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        },
-        "type-fest": {
-          "version": "0.8.1",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-          "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-          "dev": true
-        }
-      }
-    },
-    "@jest/source-map": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz",
-      "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==",
-      "dev": true,
-      "requires": {
-        "callsites": "^3.0.0",
-        "graceful-fs": "^4.2.4",
-        "source-map": "^0.6.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "@jest/test-result": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz",
-      "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==",
-      "dev": true,
-      "requires": {
-        "@jest/console": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "collect-v8-coverage": "^1.0.0"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "@jest/test-sequencer": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz",
-      "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==",
-      "dev": true,
-      "requires": {
-        "@jest/test-result": "^26.6.2",
-        "graceful-fs": "^4.2.4",
-        "jest-haste-map": "^26.6.2",
-        "jest-runner": "^26.6.3",
-        "jest-runtime": "^26.6.3"
-      }
-    },
-    "@jest/transform": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz",
-      "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==",
-      "dev": true,
-      "requires": {
-        "@babel/core": "^7.1.0",
-        "@jest/types": "^26.6.2",
-        "babel-plugin-istanbul": "^6.0.0",
-        "chalk": "^4.0.0",
-        "convert-source-map": "^1.4.0",
-        "fast-json-stable-stringify": "^2.0.0",
-        "graceful-fs": "^4.2.4",
-        "jest-haste-map": "^26.6.2",
-        "jest-regex-util": "^26.0.0",
-        "jest-util": "^26.6.2",
-        "micromatch": "^4.0.2",
-        "pirates": "^4.0.1",
-        "slash": "^3.0.0",
-        "source-map": "^0.6.1",
-        "write-file-atomic": "^3.0.0"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "@jest/types": {
-      "version": "27.1.0",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.1.0.tgz",
-      "integrity": "sha512-pRP5cLIzN7I7Vp6mHKRSaZD7YpBTK7hawx5si8trMKqk4+WOdK8NEKOTO2G8PKWD1HbKMVckVB6/XHh/olhf2g==",
-      "dev": true,
-      "requires": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^16.0.0",
-        "chalk": "^4.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "@nexucis/fuzzy": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/@nexucis/fuzzy/-/fuzzy-0.3.0.tgz",
-      "integrity": "sha512-Z1+ADKY0fxdBE28REraWhUCNy+Bp5UmpK3Tc/5wdCDpY+6fXh8l2csMtbPGaqEBsyGLxJz9wUYGCf+CW9unyvQ=="
-    },
-    "@nodelib/fs.scandir": {
-      "version": "2.1.5",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
-      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
-      "dev": true,
-      "requires": {
-        "@nodelib/fs.stat": "2.0.5",
-        "run-parallel": "^1.1.9"
-      }
-    },
-    "@nodelib/fs.stat": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
-      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
-      "dev": true
-    },
-    "@nodelib/fs.walk": {
-      "version": "1.2.8",
-      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
-      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
-      "dev": true,
-      "requires": {
-        "@nodelib/fs.scandir": "2.1.5",
-        "fastq": "^1.6.0"
-      }
-    },
-    "@npmcli/fs": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz",
-      "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==",
-      "dev": true,
-      "requires": {
-        "@gar/promisify": "^1.0.1",
-        "semver": "^7.3.5"
-      }
-    },
-    "@npmcli/move-file": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
-      "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
-      "dev": true,
-      "requires": {
-        "mkdirp": "^1.0.4",
-        "rimraf": "^3.0.2"
-      },
-      "dependencies": {
-        "mkdirp": {
-          "version": "1.0.4",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-          "dev": true
-        }
-      }
-    },
-    "@pmmmwh/react-refresh-webpack-plugin": {
-      "version": "0.4.3",
-      "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz",
-      "integrity": "sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==",
-      "dev": true,
-      "requires": {
-        "ansi-html": "^0.0.7",
-        "error-stack-parser": "^2.0.6",
-        "html-entities": "^1.2.1",
-        "native-url": "^0.2.6",
-        "schema-utils": "^2.6.5",
-        "source-map": "^0.7.3"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.7.3",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-          "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-          "dev": true
-        }
-      }
-    },
-    "@rollup/plugin-node-resolve": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz",
-      "integrity": "sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==",
-      "dev": true,
-      "requires": {
-        "@rollup/pluginutils": "^3.0.8",
-        "@types/resolve": "0.0.8",
-        "builtin-modules": "^3.1.0",
-        "is-module": "^1.0.0",
-        "resolve": "^1.14.2"
-      }
-    },
-    "@rollup/plugin-replace": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz",
-      "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==",
-      "dev": true,
-      "requires": {
-        "@rollup/pluginutils": "^3.1.0",
-        "magic-string": "^0.25.7"
-      }
-    },
-    "@rollup/pluginutils": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
-      "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
-      "dev": true,
-      "requires": {
-        "@types/estree": "0.0.39",
-        "estree-walker": "^1.0.1",
-        "picomatch": "^2.2.2"
-      },
-      "dependencies": {
-        "@types/estree": {
-          "version": "0.0.39",
-          "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
-          "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
-          "dev": true
-        }
-      }
-    },
-    "@sinonjs/commons": {
-      "version": "1.8.3",
-      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
-      "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
-      "dev": true,
-      "requires": {
-        "type-detect": "4.0.8"
-      }
-    },
-    "@sinonjs/fake-timers": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz",
-      "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==",
-      "dev": true,
-      "requires": {
-        "@sinonjs/commons": "^1.7.0"
-      }
-    },
-    "@sinonjs/samsam": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz",
-      "integrity": "sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==",
-      "dev": true,
-      "requires": {
-        "@sinonjs/commons": "^1.6.0",
-        "lodash.get": "^4.4.2",
-        "type-detect": "^4.0.8"
-      }
-    },
-    "@sinonjs/text-encoding": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz",
-      "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==",
-      "dev": true
-    },
-    "@surma/rollup-plugin-off-main-thread": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz",
-      "integrity": "sha512-yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A==",
-      "dev": true,
-      "requires": {
-        "ejs": "^2.6.1",
-        "magic-string": "^0.25.0"
-      }
-    },
-    "@svgr/babel-plugin-add-jsx-attribute": {
-      "version": "5.4.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz",
-      "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==",
-      "dev": true
-    },
-    "@svgr/babel-plugin-remove-jsx-attribute": {
-      "version": "5.4.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz",
-      "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==",
-      "dev": true
-    },
-    "@svgr/babel-plugin-remove-jsx-empty-expression": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz",
-      "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==",
-      "dev": true
-    },
-    "@svgr/babel-plugin-replace-jsx-attribute-value": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz",
-      "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==",
-      "dev": true
-    },
-    "@svgr/babel-plugin-svg-dynamic-title": {
-      "version": "5.4.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz",
-      "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==",
-      "dev": true
-    },
-    "@svgr/babel-plugin-svg-em-dimensions": {
-      "version": "5.4.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz",
-      "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==",
-      "dev": true
-    },
-    "@svgr/babel-plugin-transform-react-native-svg": {
-      "version": "5.4.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz",
-      "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==",
-      "dev": true
-    },
-    "@svgr/babel-plugin-transform-svg-component": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz",
-      "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==",
-      "dev": true
-    },
-    "@svgr/babel-preset": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz",
-      "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==",
-      "dev": true,
-      "requires": {
-        "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0",
-        "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0",
-        "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1",
-        "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1",
-        "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0",
-        "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0",
-        "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0",
-        "@svgr/babel-plugin-transform-svg-component": "^5.5.0"
-      }
-    },
-    "@svgr/core": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz",
-      "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==",
-      "dev": true,
-      "requires": {
-        "@svgr/plugin-jsx": "^5.5.0",
-        "camelcase": "^6.2.0",
-        "cosmiconfig": "^7.0.0"
-      }
-    },
-    "@svgr/hast-util-to-babel-ast": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz",
-      "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.12.6"
-      }
-    },
-    "@svgr/plugin-jsx": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz",
-      "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==",
-      "dev": true,
-      "requires": {
-        "@babel/core": "^7.12.3",
-        "@svgr/babel-preset": "^5.5.0",
-        "@svgr/hast-util-to-babel-ast": "^5.5.0",
-        "svg-parser": "^2.0.2"
-      }
-    },
-    "@svgr/plugin-svgo": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz",
-      "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==",
-      "dev": true,
-      "requires": {
-        "cosmiconfig": "^7.0.0",
-        "deepmerge": "^4.2.2",
-        "svgo": "^1.2.2"
-      }
-    },
-    "@svgr/webpack": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz",
-      "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==",
-      "dev": true,
-      "requires": {
-        "@babel/core": "^7.12.3",
-        "@babel/plugin-transform-react-constant-elements": "^7.12.1",
-        "@babel/preset-env": "^7.12.1",
-        "@babel/preset-react": "^7.12.5",
-        "@svgr/core": "^5.5.0",
-        "@svgr/plugin-jsx": "^5.5.0",
-        "@svgr/plugin-svgo": "^5.5.0",
-        "loader-utils": "^2.0.0"
-      }
-    },
-    "@testing-library/react-hooks": {
-      "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-3.7.0.tgz",
-      "integrity": "sha512-TwfbY6BWtWIHitjT05sbllyLIProcysC0dF0q1bbDa7OHLC6A6rJOYJwZ13hzfz3O4RtOuInmprBozJRyyo7/g==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.12.5",
-        "@types/testing-library__react-hooks": "^3.4.0"
-      }
-    },
-    "@tootallnate/once": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
-      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw=="
-    },
-    "@types/babel__core": {
-      "version": "7.1.16",
-      "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz",
-      "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==",
-      "dev": true,
-      "requires": {
-        "@babel/parser": "^7.1.0",
-        "@babel/types": "^7.0.0",
-        "@types/babel__generator": "*",
-        "@types/babel__template": "*",
-        "@types/babel__traverse": "*"
-      }
-    },
-    "@types/babel__generator": {
-      "version": "7.6.3",
-      "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz",
-      "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@types/babel__template": {
-      "version": "7.4.1",
-      "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz",
-      "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==",
-      "dev": true,
-      "requires": {
-        "@babel/parser": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@types/babel__traverse": {
-      "version": "7.14.2",
-      "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz",
-      "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.3.0"
-      }
-    },
-    "@types/cheerio": {
-      "version": "0.22.30",
-      "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.30.tgz",
-      "integrity": "sha512-t7ZVArWZlq3dFa9Yt33qFBQIK4CQd1Q3UJp0V+UhP6vgLWLM6Qug7vZuRSGXg45zXeB1Fm5X2vmBkEX58LV2Tw==",
-      "dev": true,
-      "requires": {
-        "@types/node": "*"
-      }
-    },
-    "@types/enzyme": {
-      "version": "3.10.9",
-      "resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.10.9.tgz",
-      "integrity": "sha512-dx5UvcWe2Vtye6S9Hw2rFB7Ul9uMXOAje2FAbXvVYieQDNle9qPAo7DfvFMSztZ9NFiD3dVZ4JsRYGTrSLynJg==",
-      "dev": true,
-      "requires": {
-        "@types/cheerio": "*",
-        "@types/react": "*"
-      }
-    },
-    "@types/enzyme-adapter-react-16": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/@types/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.6.tgz",
-      "integrity": "sha512-VonDkZ15jzqDWL8mPFIQnnLtjwebuL9YnDkqeCDYnB4IVgwUm0mwKkqhrxLL6mb05xm7qqa3IE95m8CZE9imCg==",
-      "dev": true,
-      "requires": {
-        "@types/enzyme": "*"
-      }
-    },
-    "@types/eslint": {
-      "version": "7.28.0",
-      "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz",
-      "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==",
-      "dev": true,
-      "requires": {
-        "@types/estree": "*",
-        "@types/json-schema": "*"
-      }
-    },
-    "@types/estree": {
-      "version": "0.0.50",
-      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz",
-      "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==",
-      "dev": true
-    },
-    "@types/flot": {
-      "version": "0.0.32",
-      "resolved": "https://registry.npmjs.org/@types/flot/-/flot-0.0.32.tgz",
-      "integrity": "sha512-aturel4TWMY86N4Pkpc9pSoUd/p8c3BjGj4fTDkaZIpkRPzLH1VXZCAKGUywcFkTqgZMhPJFPWxd4pl87y8h/w==",
-      "dev": true,
-      "requires": {
-        "@types/jquery": "*"
-      }
-    },
-    "@types/glob": {
-      "version": "7.1.4",
-      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz",
-      "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==",
-      "dev": true,
-      "requires": {
-        "@types/minimatch": "*",
-        "@types/node": "*"
-      }
-    },
-    "@types/graceful-fs": {
-      "version": "4.1.5",
-      "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz",
-      "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==",
-      "dev": true,
-      "requires": {
-        "@types/node": "*"
-      }
-    },
-    "@types/history": {
-      "version": "4.7.9",
-      "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.9.tgz",
-      "integrity": "sha512-MUc6zSmU3tEVnkQ78q0peeEjKWPUADMlC/t++2bI8WnAG2tvYRPIgHG8lWkXwqc8MsUF6Z2MOf+Mh5sazOmhiQ==",
-      "dev": true
-    },
-    "@types/html-minifier-terser": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz",
-      "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==",
-      "dev": true
-    },
-    "@types/istanbul-lib-coverage": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
-      "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==",
-      "dev": true
-    },
-    "@types/istanbul-lib-report": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
-      "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
-      "dev": true,
-      "requires": {
-        "@types/istanbul-lib-coverage": "*"
-      }
-    },
-    "@types/istanbul-reports": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
-      "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
-      "dev": true,
-      "requires": {
-        "@types/istanbul-lib-report": "*"
-      }
-    },
-    "@types/jest": {
-      "version": "27.0.1",
-      "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.1.tgz",
-      "integrity": "sha512-HTLpVXHrY69556ozYkcq47TtQJXpcWAWfkoqz+ZGz2JnmZhzlRjprCIyFnetSy8gpDWwTTGBcRVv1J1I1vBrHw==",
-      "dev": true,
-      "requires": {
-        "jest-diff": "^27.0.0",
-        "pretty-format": "^27.0.0"
-      }
-    },
-    "@types/jquery": {
-      "version": "3.5.6",
-      "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.6.tgz",
-      "integrity": "sha512-SmgCQRzGPId4MZQKDj9Hqc6kSXFNWZFHpELkyK8AQhf8Zr6HKfCzFv9ZC1Fv3FyQttJZOlap3qYb12h61iZAIg==",
-      "dev": true,
-      "requires": {
-        "@types/sizzle": "*"
-      }
-    },
-    "@types/json-schema": {
-      "version": "7.0.9",
-      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
-      "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==",
-      "dev": true
-    },
-    "@types/json5": {
-      "version": "0.0.29",
-      "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
-      "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
-      "dev": true
-    },
-    "@types/minimatch": {
-      "version": "3.0.5",
-      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
-      "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
-      "dev": true
-    },
-    "@types/moment-timezone": {
-      "version": "0.5.30",
-      "resolved": "https://registry.npmjs.org/@types/moment-timezone/-/moment-timezone-0.5.30.tgz",
-      "integrity": "sha512-aDVfCsjYnAQaV/E9Qc24C5Njx1CoDjXsEgkxtp9NyXDpYu4CCbmclb6QhWloS9UTU/8YROUEEdEkWI0D7DxnKg==",
-      "dev": true,
-      "requires": {
-        "moment-timezone": "*"
-      }
-    },
-    "@types/node": {
-      "version": "12.20.24",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.24.tgz",
-      "integrity": "sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==",
-      "dev": true
-    },
-    "@types/normalize-package-data": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
-      "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==",
-      "dev": true
-    },
-    "@types/parse-json": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
-      "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
-      "dev": true
-    },
-    "@types/prettier": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz",
-      "integrity": "sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==",
-      "dev": true
-    },
-    "@types/prop-types": {
-      "version": "15.7.4",
-      "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz",
-      "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==",
-      "dev": true
-    },
-    "@types/q": {
-      "version": "1.5.5",
-      "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz",
-      "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==",
-      "dev": true
-    },
-    "@types/react": {
-      "version": "16.14.15",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.15.tgz",
-      "integrity": "sha512-jOxlBV9RGZhphdeqJTCv35VZOkjY+XIEY2owwSk84BNDdDv2xS6Csj6fhi+B/q30SR9Tz8lDNt/F2Z5RF3TrRg==",
-      "dev": true,
-      "requires": {
-        "@types/prop-types": "*",
-        "@types/scheduler": "*",
-        "csstype": "^3.0.2"
-      }
-    },
-    "@types/react-copy-to-clipboard": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@types/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.1.tgz",
-      "integrity": "sha512-CDuRrJWEIdfKFC4vbwpXT3vk0O4gA/I/Kxu/1npUvGc2Yey5swPvsgO3JEnQkIUwdnYUbwUYDE/fTFQVgqr4oA==",
-      "dev": true,
-      "requires": {
-        "@types/react": "*"
-      }
-    },
-    "@types/react-dom": {
-      "version": "16.9.14",
-      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.14.tgz",
-      "integrity": "sha512-FIX2AVmPTGP30OUJ+0vadeIFJJ07Mh1m+U0rxfgyW34p3rTlXI+nlenvAxNn4BP36YyI9IJ/+UJ7Wu22N1pI7A==",
-      "dev": true,
-      "requires": {
-        "@types/react": "^16"
-      }
-    },
-    "@types/react-resize-detector": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/@types/react-resize-detector/-/react-resize-detector-5.0.0.tgz",
-      "integrity": "sha512-JTqR0G+RcC6Guqi/JXQBq3jewflumUGd4fDUucmZN9L1d8TZuRHzDTtrmgYWrgLvRTBTV6FjegmLeV1UnrIuzw==",
-      "dev": true,
-      "requires": {
-        "@types/react": "*"
-      }
-    },
-    "@types/react-router": {
-      "version": "5.1.16",
-      "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.16.tgz",
-      "integrity": "sha512-8d7nR/fNSqlTFGHti0R3F9WwIertOaaA1UEB8/jr5l5mDMOs4CidEgvvYMw4ivqrBK+vtVLxyTj2P+Pr/dtgzg==",
-      "dev": true,
-      "requires": {
-        "@types/history": "*",
-        "@types/react": "*"
-      }
-    },
-    "@types/react-router-dom": {
-      "version": "5.1.8",
-      "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.1.8.tgz",
-      "integrity": "sha512-03xHyncBzG0PmDmf8pf3rehtjY0NpUj7TIN46FrT5n1ZWHPZvXz32gUyNboJ+xsL8cpg8bQVLcllptcQHvocrw==",
-      "dev": true,
-      "requires": {
-        "@types/history": "*",
-        "@types/react": "*",
-        "@types/react-router": "*"
-      }
-    },
-    "@types/react-test-renderer": {
-      "version": "17.0.1",
-      "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-17.0.1.tgz",
-      "integrity": "sha512-3Fi2O6Zzq/f3QR9dRnlnHso9bMl7weKCviFmfF6B4LS1Uat6Hkm15k0ZAQuDz+UBq6B3+g+NM6IT2nr5QgPzCw==",
-      "dev": true,
-      "requires": {
-        "@types/react": "*"
-      }
-    },
-    "@types/reactstrap": {
-      "version": "8.7.2",
-      "resolved": "https://registry.npmjs.org/@types/reactstrap/-/reactstrap-8.7.2.tgz",
-      "integrity": "sha512-8sYGS/LhG+ic8vhLwxhuVn+TSqS1lKzplm9BHv4JaQoetStAi9uOqP2VREfefIRT3JnOq5Y+G7Afdryvn+UgZQ==",
-      "dev": true,
-      "requires": {
-        "reactstrap": "*"
-      }
-    },
-    "@types/resolve": {
-      "version": "0.0.8",
-      "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
-      "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==",
-      "dev": true,
-      "requires": {
-        "@types/node": "*"
-      }
-    },
-    "@types/sanitize-html": {
-      "version": "1.27.2",
-      "resolved": "https://registry.npmjs.org/@types/sanitize-html/-/sanitize-html-1.27.2.tgz",
-      "integrity": "sha512-DrH26m7CV6PB4YVckjbSIx+xloB7HBolr9Ctm0gZBffSu5dDV4yJKFQGPquJlReVW+xmg59gx+b/8/qYHxZEuw==",
-      "dev": true,
-      "requires": {
-        "htmlparser2": "^4.1.0"
-      }
-    },
-    "@types/scheduler": {
-      "version": "0.16.2",
-      "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
-      "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
-      "dev": true
-    },
-    "@types/sinon": {
-      "version": "9.0.11",
-      "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-9.0.11.tgz",
-      "integrity": "sha512-PwP4UY33SeeVKodNE37ZlOsR9cReypbMJOhZ7BVE0lB+Hix3efCOxiJWiE5Ia+yL9Cn2Ch72EjFTRze8RZsNtg==",
-      "dev": true,
-      "requires": {
-        "@types/sinonjs__fake-timers": "*"
-      }
-    },
-    "@types/sinonjs__fake-timers": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.3.tgz",
-      "integrity": "sha512-E1dU4fzC9wN2QK2Cr1MLCfyHM8BoNnRFvuf45LYMPNDA+WqbNzC45S4UzPxvp1fFJ1rvSGU0bPvdd35VLmXG8g==",
-      "dev": true
-    },
-    "@types/sizzle": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz",
-      "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==",
-      "dev": true
-    },
-    "@types/source-list-map": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
-      "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
-      "dev": true
-    },
-    "@types/stack-utils": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz",
-      "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==",
-      "dev": true
-    },
-    "@types/tapable": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz",
-      "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==",
-      "dev": true
-    },
-    "@types/testing-library__react-hooks": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/@types/testing-library__react-hooks/-/testing-library__react-hooks-3.4.1.tgz",
-      "integrity": "sha512-G4JdzEcq61fUyV6wVW9ebHWEiLK2iQvaBuCHHn9eMSbZzVh4Z4wHnUGIvQOYCCYeu5DnUtFyNYuAAgbSaO/43Q==",
-      "dev": true,
-      "requires": {
-        "@types/react-test-renderer": "*"
-      }
-    },
-    "@types/uglify-js": {
-      "version": "3.13.1",
-      "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz",
-      "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==",
-      "dev": true,
-      "requires": {
-        "source-map": "^0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "@types/webpack": {
-      "version": "4.41.30",
-      "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.30.tgz",
-      "integrity": "sha512-GUHyY+pfuQ6haAfzu4S14F+R5iGRwN6b2FRNJY7U0NilmFAqbsOfK6j1HwuLBAqwRIT+pVdNDJGJ6e8rpp0KHA==",
-      "dev": true,
-      "requires": {
-        "@types/node": "*",
-        "@types/tapable": "^1",
-        "@types/uglify-js": "*",
-        "@types/webpack-sources": "*",
-        "anymatch": "^3.0.0",
-        "source-map": "^0.6.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "@types/webpack-sources": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz",
-      "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==",
-      "dev": true,
-      "requires": {
-        "@types/node": "*",
-        "@types/source-list-map": "*",
-        "source-map": "^0.7.3"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.7.3",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-          "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-          "dev": true
-        }
-      }
-    },
-    "@types/yargs": {
-      "version": "16.0.4",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
-      "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==",
-      "dev": true,
-      "requires": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "@types/yargs-parser": {
-      "version": "20.2.1",
-      "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz",
-      "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==",
-      "dev": true
-    },
-    "@typescript-eslint/eslint-plugin": {
-      "version": "4.31.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.0.tgz",
-      "integrity": "sha512-iPKZTZNavAlOhfF4gymiSuUkgLne/nh5Oz2/mdiUmuZVD42m9PapnCnzjxuDsnpnbH3wT5s2D8bw6S39TC6GNw==",
-      "dev": true,
-      "requires": {
-        "@typescript-eslint/experimental-utils": "4.31.0",
-        "@typescript-eslint/scope-manager": "4.31.0",
-        "debug": "^4.3.1",
-        "functional-red-black-tree": "^1.0.1",
-        "regexpp": "^3.1.0",
-        "semver": "^7.3.5",
-        "tsutils": "^3.21.0"
-      }
-    },
-    "@typescript-eslint/experimental-utils": {
-      "version": "4.31.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.0.tgz",
-      "integrity": "sha512-Hld+EQiKLMppgKKkdUsLeVIeEOrwKc2G983NmznY/r5/ZtZCDvIOXnXtwqJIgYz/ymsy7n7RGvMyrzf1WaSQrw==",
-      "dev": true,
-      "requires": {
-        "@types/json-schema": "^7.0.7",
-        "@typescript-eslint/scope-manager": "4.31.0",
-        "@typescript-eslint/types": "4.31.0",
-        "@typescript-eslint/typescript-estree": "4.31.0",
-        "eslint-scope": "^5.1.1",
-        "eslint-utils": "^3.0.0"
-      }
-    },
-    "@typescript-eslint/parser": {
-      "version": "4.31.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.31.0.tgz",
-      "integrity": "sha512-oWbzvPh5amMuTmKaf1wp0ySxPt2ZXHnFQBN2Szu1O//7LmOvgaKTCIDNLK2NvzpmVd5A2M/1j/rujBqO37hj3w==",
-      "dev": true,
-      "requires": {
-        "@typescript-eslint/scope-manager": "4.31.0",
-        "@typescript-eslint/types": "4.31.0",
-        "@typescript-eslint/typescript-estree": "4.31.0",
-        "debug": "^4.3.1"
-      }
-    },
-    "@typescript-eslint/scope-manager": {
-      "version": "4.31.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.31.0.tgz",
-      "integrity": "sha512-LJ+xtl34W76JMRLjbaQorhR0hfRAlp3Lscdiz9NeI/8i+q0hdBZ7BsiYieLoYWqy+AnRigaD3hUwPFugSzdocg==",
-      "dev": true,
-      "requires": {
-        "@typescript-eslint/types": "4.31.0",
-        "@typescript-eslint/visitor-keys": "4.31.0"
-      }
-    },
-    "@typescript-eslint/types": {
-      "version": "4.31.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.31.0.tgz",
-      "integrity": "sha512-9XR5q9mk7DCXgXLS7REIVs+BaAswfdHhx91XqlJklmqWpTALGjygWVIb/UnLh4NWhfwhR5wNe1yTyCInxVhLqQ==",
-      "dev": true
-    },
-    "@typescript-eslint/typescript-estree": {
-      "version": "4.31.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.0.tgz",
-      "integrity": "sha512-QHl2014t3ptg+xpmOSSPn5hm4mY8D4s97ftzyk9BZ8RxYQ3j73XcwuijnJ9cMa6DO4aLXeo8XS3z1omT9LA/Eg==",
-      "dev": true,
-      "requires": {
-        "@typescript-eslint/types": "4.31.0",
-        "@typescript-eslint/visitor-keys": "4.31.0",
-        "debug": "^4.3.1",
-        "globby": "^11.0.3",
-        "is-glob": "^4.0.1",
-        "semver": "^7.3.5",
-        "tsutils": "^3.21.0"
-      }
-    },
-    "@typescript-eslint/visitor-keys": {
-      "version": "4.31.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.0.tgz",
-      "integrity": "sha512-HUcRp2a9I+P21+O21yu3ezv3GEPGjyGiXoEUQwZXjR8UxRApGeLyWH4ZIIUSalE28aG4YsV6GjtaAVB3QKOu0w==",
-      "dev": true,
-      "requires": {
-        "@typescript-eslint/types": "4.31.0",
-        "eslint-visitor-keys": "^2.0.0"
-      }
-    },
-    "@webassemblyjs/ast": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
-      "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0"
-      }
-    },
-    "@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
-      "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-api-error": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
-      "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-buffer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
-      "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-code-frame": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
-      "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/wast-printer": "1.9.0"
-      }
-    },
-    "@webassemblyjs/helper-fsm": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
-      "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-module-context": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
-      "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0"
-      }
-    },
-    "@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
-      "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
-      "dev": true
-    },
-    "@webassemblyjs/helper-wasm-section": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
-      "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0"
-      }
-    },
-    "@webassemblyjs/ieee754": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
-      "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
-      "dev": true,
-      "requires": {
-        "@xtuc/ieee754": "^1.2.0"
-      }
-    },
-    "@webassemblyjs/leb128": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
-      "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
-      "dev": true,
-      "requires": {
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@webassemblyjs/utf8": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
-      "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
-      "dev": true
-    },
-    "@webassemblyjs/wasm-edit": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
-      "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/helper-wasm-section": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-opt": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "@webassemblyjs/wast-printer": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wasm-gen": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
-      "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wasm-opt": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
-      "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wasm-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
-      "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wast-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
-      "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/floating-point-hex-parser": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-code-frame": "1.9.0",
-        "@webassemblyjs/helper-fsm": "1.9.0",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@webassemblyjs/wast-printer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
-      "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@xtuc/ieee754": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
-      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
-      "dev": true
-    },
-    "@xtuc/long": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
-      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
-      "dev": true
-    },
-    "abab": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
-      "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q=="
-    },
-    "accepts": {
-      "version": "1.3.7",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
-      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
-      "dev": true,
-      "requires": {
-        "mime-types": "~2.1.24",
-        "negotiator": "0.6.2"
-      }
-    },
-    "acorn": {
-      "version": "7.4.1",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
-      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
-    },
-    "acorn-globals": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
-      "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
-      "requires": {
-        "acorn": "^7.1.1",
-        "acorn-walk": "^7.1.1"
-      }
-    },
-    "acorn-jsx": {
-      "version": "5.3.2",
-      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
-      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
-      "dev": true,
-      "requires": {}
-    },
-    "acorn-walk": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
-      "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA=="
-    },
-    "address": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz",
-      "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==",
-      "dev": true
-    },
-    "adjust-sourcemap-loader": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz",
-      "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^2.0.0",
-        "regex-parser": "^2.2.11"
-      }
-    },
-    "agent-base": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
-      "requires": {
-        "debug": "4"
-      }
-    },
-    "aggregate-error": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
-      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
-      "dev": true,
-      "requires": {
-        "clean-stack": "^2.0.0",
-        "indent-string": "^4.0.0"
-      }
-    },
-    "airbnb-prop-types": {
-      "version": "2.16.0",
-      "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz",
-      "integrity": "sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==",
-      "dev": true,
-      "requires": {
-        "array.prototype.find": "^2.1.1",
-        "function.prototype.name": "^1.1.2",
-        "is-regex": "^1.1.0",
-        "object-is": "^1.1.2",
-        "object.assign": "^4.1.0",
-        "object.entries": "^1.1.2",
-        "prop-types": "^15.7.2",
-        "prop-types-exact": "^1.2.0",
-        "react-is": "^16.13.1"
-      }
-    },
-    "ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
-      "requires": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      }
-    },
-    "ajv-errors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
-      "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
-      "dev": true,
-      "requires": {}
-    },
-    "ajv-keywords": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-      "dev": true,
-      "requires": {}
-    },
-    "alphanum-sort": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
-      "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
-      "dev": true
-    },
-    "ansi-colors": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
-      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
-      "dev": true
-    },
-    "ansi-escapes": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
-      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
-      "dev": true,
-      "requires": {
-        "type-fest": "^0.21.3"
-      }
-    },
-    "ansi-html": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
-      "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
-      "dev": true
-    },
-    "ansi-regex": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
-      "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
-      "dev": true
-    },
-    "ansi-styles": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-      "dev": true,
-      "requires": {
-        "color-convert": "^1.9.0"
-      }
-    },
-    "anymatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
-      "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
-      "requires": {
-        "normalize-path": "^3.0.0",
-        "picomatch": "^2.0.4"
-      }
-    },
-    "aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
-    },
-    "argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-      "dev": true,
-      "requires": {
-        "sprintf-js": "~1.0.2"
-      }
-    },
-    "aria-query": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
-      "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.10.2",
-        "@babel/runtime-corejs3": "^7.10.2"
-      }
-    },
-    "arity-n": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz",
-      "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=",
-      "dev": true
-    },
-    "arr-diff": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true
-    },
-    "arr-flatten": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true
-    },
-    "arr-union": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true
-    },
-    "array-flatten": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
-      "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
-      "dev": true
-    },
-    "array-includes": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz",
-      "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.2",
-        "get-intrinsic": "^1.1.1",
-        "is-string": "^1.0.5"
-      }
-    },
-    "array-union": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
-      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
-      "dev": true
-    },
-    "array-uniq": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
-      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
-      "dev": true
-    },
-    "array-unique": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true
-    },
-    "array.prototype.filter": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.0.tgz",
-      "integrity": "sha512-TfO1gz+tLm+Bswq0FBOXPqAchtCr2Rn48T8dLJoRFl8NoEosjZmzptmuo1X8aZBzZcqsR1W8U761tjACJtngTQ==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0",
-        "es-array-method-boxes-properly": "^1.0.0",
-        "is-string": "^1.0.5"
-      }
-    },
-    "array.prototype.find": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.1.tgz",
-      "integrity": "sha512-mi+MYNJYLTx2eNYy+Yh6raoQacCsNeeMUaspFPh9Y141lFSsWxxB8V9mM2ye+eqiRs917J6/pJ4M9ZPzenWckA==",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.17.4"
-      }
-    },
-    "array.prototype.flat": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz",
-      "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.1"
-      }
-    },
-    "array.prototype.flatmap": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz",
-      "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.1",
-        "function-bind": "^1.1.1"
-      }
-    },
-    "arrify": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
-      "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
-      "dev": true
-    },
-    "asap": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
-      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
-      "dev": true
-    },
-    "asn1.js": {
-      "version": "5.4.1",
-      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
-      "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0",
-        "safer-buffer": "^2.1.0"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
-    "assert": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
-      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
-      "dev": true,
-      "requires": {
-        "object-assign": "^4.1.1",
-        "util": "0.10.3"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
-          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
-          "dev": true
-        },
-        "util": {
-          "version": "0.10.3",
-          "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
-          "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-          "dev": true,
-          "requires": {
-            "inherits": "2.0.1"
-          }
-        }
-      }
-    },
-    "assign-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true
-    },
-    "ast-types-flow": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
-      "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
-      "dev": true
-    },
-    "astral-regex": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
-      "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
-      "dev": true
-    },
-    "async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
-      "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.14"
-      }
-    },
-    "async-each": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
-      "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
-      "dev": true
-    },
-    "async-limiter": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
-      "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
-      "dev": true
-    },
-    "asynckit": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
-    },
-    "at-least-node": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
-      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
-      "dev": true
-    },
-    "atob": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true
-    },
-    "autoprefixer": {
-      "version": "9.8.6",
-      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz",
-      "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.12.0",
-        "caniuse-lite": "^1.0.30001109",
-        "colorette": "^1.2.1",
-        "normalize-range": "^0.1.2",
-        "num2fraction": "^1.2.2",
-        "postcss": "^7.0.32",
-        "postcss-value-parser": "^4.1.0"
-      }
-    },
-    "axe-core": {
-      "version": "4.3.3",
-      "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.3.tgz",
-      "integrity": "sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA==",
-      "dev": true
-    },
-    "axobject-query": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
-      "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==",
-      "dev": true
-    },
-    "babel-eslint": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
-      "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "@babel/parser": "^7.7.0",
-        "@babel/traverse": "^7.7.0",
-        "@babel/types": "^7.7.0",
-        "eslint-visitor-keys": "^1.0.0",
-        "resolve": "^1.12.0"
-      },
-      "dependencies": {
-        "eslint-visitor-keys": {
-          "version": "1.3.0",
-          "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
-          "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
-          "dev": true
-        }
-      }
-    },
-    "babel-extract-comments": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz",
-      "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==",
-      "dev": true,
-      "requires": {
-        "babylon": "^6.18.0"
-      }
-    },
-    "babel-jest": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz",
-      "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==",
-      "dev": true,
-      "requires": {
-        "@jest/transform": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/babel__core": "^7.1.7",
-        "babel-plugin-istanbul": "^6.0.0",
-        "babel-preset-jest": "^26.6.2",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.4",
-        "slash": "^3.0.0"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "babel-loader": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz",
-      "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==",
-      "dev": true,
-      "requires": {
-        "find-cache-dir": "^2.1.0",
-        "loader-utils": "^1.4.0",
-        "mkdirp": "^0.5.3",
-        "pify": "^4.0.1",
-        "schema-utils": "^2.6.5"
-      },
-      "dependencies": {
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
-          }
-        }
-      }
-    },
-    "babel-plugin-dynamic-import-node": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
-      "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
-      "dev": true,
-      "requires": {
-        "object.assign": "^4.1.0"
-      }
-    },
-    "babel-plugin-istanbul": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
-      "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@istanbuljs/load-nyc-config": "^1.0.0",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-instrument": "^4.0.0",
-        "test-exclude": "^6.0.0"
-      }
-    },
-    "babel-plugin-jest-hoist": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz",
-      "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==",
-      "dev": true,
-      "requires": {
-        "@babel/template": "^7.3.3",
-        "@babel/types": "^7.3.3",
-        "@types/babel__core": "^7.0.0",
-        "@types/babel__traverse": "^7.0.6"
-      }
-    },
-    "babel-plugin-macros": {
-      "version": "2.8.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz",
-      "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.7.2",
-        "cosmiconfig": "^6.0.0",
-        "resolve": "^1.12.0"
-      },
-      "dependencies": {
-        "cosmiconfig": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
-          "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
-          "dev": true,
-          "requires": {
-            "@types/parse-json": "^4.0.0",
-            "import-fresh": "^3.1.0",
-            "parse-json": "^5.0.0",
-            "path-type": "^4.0.0",
-            "yaml": "^1.7.2"
-          }
-        }
-      }
-    },
-    "babel-plugin-named-asset-import": {
-      "version": "0.3.7",
-      "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz",
-      "integrity": "sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==",
-      "dev": true,
-      "requires": {}
-    },
-    "babel-plugin-polyfill-corejs2": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz",
-      "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==",
-      "dev": true,
-      "requires": {
-        "@babel/compat-data": "^7.13.11",
-        "@babel/helper-define-polyfill-provider": "^0.2.2",
-        "semver": "^6.1.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        }
-      }
-    },
-    "babel-plugin-polyfill-corejs3": {
-      "version": "0.2.4",
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz",
-      "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-define-polyfill-provider": "^0.2.2",
-        "core-js-compat": "^3.14.0"
-      }
-    },
-    "babel-plugin-polyfill-regenerator": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz",
-      "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-define-polyfill-provider": "^0.2.2"
-      }
-    },
-    "babel-plugin-syntax-object-rest-spread": {
-      "version": "6.13.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
-      "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
-      "dev": true
-    },
-    "babel-plugin-transform-object-rest-spread": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
-      "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
-      "dev": true,
-      "requires": {
-        "babel-plugin-syntax-object-rest-spread": "^6.8.0",
-        "babel-runtime": "^6.26.0"
-      }
-    },
-    "babel-plugin-transform-react-remove-prop-types": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz",
-      "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==",
-      "dev": true
-    },
-    "babel-preset-current-node-syntax": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
-      "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
-      "dev": true,
-      "requires": {
-        "@babel/plugin-syntax-async-generators": "^7.8.4",
-        "@babel/plugin-syntax-bigint": "^7.8.3",
-        "@babel/plugin-syntax-class-properties": "^7.8.3",
-        "@babel/plugin-syntax-import-meta": "^7.8.3",
-        "@babel/plugin-syntax-json-strings": "^7.8.3",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
-        "@babel/plugin-syntax-numeric-separator": "^7.8.3",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
-        "@babel/plugin-syntax-top-level-await": "^7.8.3"
-      }
-    },
-    "babel-preset-jest": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz",
-      "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==",
-      "dev": true,
-      "requires": {
-        "babel-plugin-jest-hoist": "^26.6.2",
-        "babel-preset-current-node-syntax": "^1.0.0"
-      }
-    },
-    "babel-preset-react-app": {
-      "version": "10.0.0",
-      "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.0.tgz",
-      "integrity": "sha512-itL2z8v16khpuKutx5IH8UdCdSTuzrOhRFTEdIhveZ2i1iBKDrVE0ATa4sFVy+02GLucZNVBWtoarXBy0Msdpg==",
-      "dev": true,
-      "requires": {
-        "@babel/core": "7.12.3",
-        "@babel/plugin-proposal-class-properties": "7.12.1",
-        "@babel/plugin-proposal-decorators": "7.12.1",
-        "@babel/plugin-proposal-nullish-coalescing-operator": "7.12.1",
-        "@babel/plugin-proposal-numeric-separator": "7.12.1",
-        "@babel/plugin-proposal-optional-chaining": "7.12.1",
-        "@babel/plugin-transform-flow-strip-types": "7.12.1",
-        "@babel/plugin-transform-react-display-name": "7.12.1",
-        "@babel/plugin-transform-runtime": "7.12.1",
-        "@babel/preset-env": "7.12.1",
-        "@babel/preset-react": "7.12.1",
-        "@babel/preset-typescript": "7.12.1",
-        "@babel/runtime": "7.12.1",
-        "babel-plugin-macros": "2.8.0",
-        "babel-plugin-transform-react-remove-prop-types": "0.4.24"
-      },
-      "dependencies": {
-        "@babel/core": {
-          "version": "7.12.3",
-          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz",
-          "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.10.4",
-            "@babel/generator": "^7.12.1",
-            "@babel/helper-module-transforms": "^7.12.1",
-            "@babel/helpers": "^7.12.1",
-            "@babel/parser": "^7.12.3",
-            "@babel/template": "^7.10.4",
-            "@babel/traverse": "^7.12.1",
-            "@babel/types": "^7.12.1",
-            "convert-source-map": "^1.7.0",
-            "debug": "^4.1.0",
-            "gensync": "^1.0.0-beta.1",
-            "json5": "^2.1.2",
-            "lodash": "^4.17.19",
-            "resolve": "^1.3.2",
-            "semver": "^5.4.1",
-            "source-map": "^0.5.0"
-          }
-        },
-        "@babel/plugin-proposal-class-properties": {
-          "version": "7.12.1",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz",
-          "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-create-class-features-plugin": "^7.12.1",
-            "@babel/helper-plugin-utils": "^7.10.4"
-          }
-        },
-        "@babel/plugin-proposal-nullish-coalescing-operator": {
-          "version": "7.12.1",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz",
-          "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-plugin-utils": "^7.10.4",
-            "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
-          }
-        },
-        "@babel/plugin-proposal-numeric-separator": {
-          "version": "7.12.1",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz",
-          "integrity": "sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-plugin-utils": "^7.10.4",
-            "@babel/plugin-syntax-numeric-separator": "^7.10.4"
-          }
-        },
-        "@babel/plugin-proposal-optional-chaining": {
-          "version": "7.12.1",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz",
-          "integrity": "sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-plugin-utils": "^7.10.4",
-            "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
-            "@babel/plugin-syntax-optional-chaining": "^7.8.0"
-          }
-        },
-        "@babel/plugin-transform-react-display-name": {
-          "version": "7.12.1",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz",
-          "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-plugin-utils": "^7.10.4"
-          }
-        },
-        "@babel/preset-env": {
-          "version": "7.12.1",
-          "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.1.tgz",
-          "integrity": "sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==",
-          "dev": true,
-          "requires": {
-            "@babel/compat-data": "^7.12.1",
-            "@babel/helper-compilation-targets": "^7.12.1",
-            "@babel/helper-module-imports": "^7.12.1",
-            "@babel/helper-plugin-utils": "^7.10.4",
-            "@babel/helper-validator-option": "^7.12.1",
-            "@babel/plugin-proposal-async-generator-functions": "^7.12.1",
-            "@babel/plugin-proposal-class-properties": "^7.12.1",
-            "@babel/plugin-proposal-dynamic-import": "^7.12.1",
-            "@babel/plugin-proposal-export-namespace-from": "^7.12.1",
-            "@babel/plugin-proposal-json-strings": "^7.12.1",
-            "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1",
-            "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
-            "@babel/plugin-proposal-numeric-separator": "^7.12.1",
-            "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
-            "@babel/plugin-proposal-optional-catch-binding": "^7.12.1",
-            "@babel/plugin-proposal-optional-chaining": "^7.12.1",
-            "@babel/plugin-proposal-private-methods": "^7.12.1",
-            "@babel/plugin-proposal-unicode-property-regex": "^7.12.1",
-            "@babel/plugin-syntax-async-generators": "^7.8.0",
-            "@babel/plugin-syntax-class-properties": "^7.12.1",
-            "@babel/plugin-syntax-dynamic-import": "^7.8.0",
-            "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
-            "@babel/plugin-syntax-json-strings": "^7.8.0",
-            "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
-            "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
-            "@babel/plugin-syntax-numeric-separator": "^7.10.4",
-            "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
-            "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
-            "@babel/plugin-syntax-optional-chaining": "^7.8.0",
-            "@babel/plugin-syntax-top-level-await": "^7.12.1",
-            "@babel/plugin-transform-arrow-functions": "^7.12.1",
-            "@babel/plugin-transform-async-to-generator": "^7.12.1",
-            "@babel/plugin-transform-block-scoped-functions": "^7.12.1",
-            "@babel/plugin-transform-block-scoping": "^7.12.1",
-            "@babel/plugin-transform-classes": "^7.12.1",
-            "@babel/plugin-transform-computed-properties": "^7.12.1",
-            "@babel/plugin-transform-destructuring": "^7.12.1",
-            "@babel/plugin-transform-dotall-regex": "^7.12.1",
-            "@babel/plugin-transform-duplicate-keys": "^7.12.1",
-            "@babel/plugin-transform-exponentiation-operator": "^7.12.1",
-            "@babel/plugin-transform-for-of": "^7.12.1",
-            "@babel/plugin-transform-function-name": "^7.12.1",
-            "@babel/plugin-transform-literals": "^7.12.1",
-            "@babel/plugin-transform-member-expression-literals": "^7.12.1",
-            "@babel/plugin-transform-modules-amd": "^7.12.1",
-            "@babel/plugin-transform-modules-commonjs": "^7.12.1",
-            "@babel/plugin-transform-modules-systemjs": "^7.12.1",
-            "@babel/plugin-transform-modules-umd": "^7.12.1",
-            "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1",
-            "@babel/plugin-transform-new-target": "^7.12.1",
-            "@babel/plugin-transform-object-super": "^7.12.1",
-            "@babel/plugin-transform-parameters": "^7.12.1",
-            "@babel/plugin-transform-property-literals": "^7.12.1",
-            "@babel/plugin-transform-regenerator": "^7.12.1",
-            "@babel/plugin-transform-reserved-words": "^7.12.1",
-            "@babel/plugin-transform-shorthand-properties": "^7.12.1",
-            "@babel/plugin-transform-spread": "^7.12.1",
-            "@babel/plugin-transform-sticky-regex": "^7.12.1",
-            "@babel/plugin-transform-template-literals": "^7.12.1",
-            "@babel/plugin-transform-typeof-symbol": "^7.12.1",
-            "@babel/plugin-transform-unicode-escapes": "^7.12.1",
-            "@babel/plugin-transform-unicode-regex": "^7.12.1",
-            "@babel/preset-modules": "^0.1.3",
-            "@babel/types": "^7.12.1",
-            "core-js-compat": "^3.6.2",
-            "semver": "^5.5.0"
-          }
-        },
-        "@babel/preset-react": {
-          "version": "7.12.1",
-          "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.1.tgz",
-          "integrity": "sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-plugin-utils": "^7.10.4",
-            "@babel/plugin-transform-react-display-name": "^7.12.1",
-            "@babel/plugin-transform-react-jsx": "^7.12.1",
-            "@babel/plugin-transform-react-jsx-development": "^7.12.1",
-            "@babel/plugin-transform-react-jsx-self": "^7.12.1",
-            "@babel/plugin-transform-react-jsx-source": "^7.12.1",
-            "@babel/plugin-transform-react-pure-annotations": "^7.12.1"
-          },
-          "dependencies": {
-            "@babel/plugin-transform-react-jsx-self": {
-              "version": "7.14.9",
-              "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.14.9.tgz",
-              "integrity": "sha512-Fqqu0f8zv9W+RyOnx29BX/RlEsBRANbOf5xs5oxb2aHP4FKbLXxIaVPUiCti56LAR1IixMH4EyaixhUsKqoBHw==",
-              "dev": true,
-              "requires": {
-                "@babel/helper-plugin-utils": "^7.14.5"
-              }
-            },
-            "@babel/plugin-transform-react-jsx-source": {
-              "version": "7.14.5",
-              "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.5.tgz",
-              "integrity": "sha512-1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q==",
-              "dev": true,
-              "requires": {
-                "@babel/helper-plugin-utils": "^7.14.5"
-              }
-            }
-          }
-        },
-        "@babel/runtime": {
-          "version": "7.12.1",
-          "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz",
-          "integrity": "sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==",
-          "dev": true,
-          "requires": {
-            "regenerator-runtime": "^0.13.4"
-          }
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "babel-runtime": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
-      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
-      "dev": true,
-      "requires": {
-        "core-js": "^2.4.0",
-        "regenerator-runtime": "^0.11.0"
-      },
-      "dependencies": {
-        "core-js": {
-          "version": "2.6.12",
-          "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
-          "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
-          "dev": true
-        },
-        "regenerator-runtime": {
-          "version": "0.11.1",
-          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
-          "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
-          "dev": true
-        }
-      }
-    },
-    "babylon": {
-      "version": "6.18.0",
-      "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
-      "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
-      "dev": true
-    },
-    "balanced-match": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
-      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
-      "dev": true
-    },
-    "base": {
-      "version": "0.11.2",
-      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
-      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
-      "requires": {
-        "cache-base": "^1.0.1",
-        "class-utils": "^0.3.5",
-        "component-emitter": "^1.2.1",
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.1",
-        "mixin-deep": "^1.2.0",
-        "pascalcase": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        }
-      }
-    },
-    "base64-js": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
-      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
-      "dev": true
-    },
-    "batch": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
-      "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
-      "dev": true
-    },
-    "bfj": {
-      "version": "7.0.2",
-      "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz",
-      "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==",
-      "dev": true,
-      "requires": {
-        "bluebird": "^3.5.5",
-        "check-types": "^11.1.1",
-        "hoopy": "^0.1.4",
-        "tryer": "^1.0.1"
-      }
-    },
-    "big.js": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
-      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
-      "dev": true
-    },
-    "binary-extensions": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
-      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
-    },
-    "bindings": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
-      "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "file-uri-to-path": "1.0.0"
-      }
-    },
-    "bluebird": {
-      "version": "3.7.2",
-      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
-      "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
-      "dev": true
-    },
-    "bn.js": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz",
-      "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==",
-      "dev": true
-    },
-    "body-parser": {
-      "version": "1.19.0",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
-      "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
-      "dev": true,
-      "requires": {
-        "bytes": "3.1.0",
-        "content-type": "~1.0.4",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "on-finished": "~2.3.0",
-        "qs": "6.7.0",
-        "raw-body": "2.4.0",
-        "type-is": "~1.6.17"
-      },
-      "dependencies": {
-        "bytes": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
-          "dev": true
-        },
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "bonjour": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
-      "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
-      "dev": true,
-      "requires": {
-        "array-flatten": "^2.1.0",
-        "deep-equal": "^1.0.1",
-        "dns-equal": "^1.0.0",
-        "dns-txt": "^2.0.2",
-        "multicast-dns": "^6.0.1",
-        "multicast-dns-service-types": "^1.1.0"
-      }
-    },
-    "boolbase": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
-      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
-      "dev": true
-    },
-    "bootstrap": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz",
-      "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==",
-      "requires": {}
-    },
-    "brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
-      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "dev": true,
-      "requires": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "braces": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-      "requires": {
-        "fill-range": "^7.0.1"
-      }
-    },
-    "brorand": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
-      "dev": true
-    },
-    "browser-process-hrtime": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
-      "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow=="
-    },
-    "browserify-aes": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
-      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "dev": true,
-      "requires": {
-        "buffer-xor": "^1.0.3",
-        "cipher-base": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.3",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "browserify-cipher": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
-      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "dev": true,
-      "requires": {
-        "browserify-aes": "^1.0.4",
-        "browserify-des": "^1.0.0",
-        "evp_bytestokey": "^1.0.0"
-      }
-    },
-    "browserify-des": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
-      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "des.js": "^1.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "browserify-rsa": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
-      "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^5.0.0",
-        "randombytes": "^2.0.1"
-      }
-    },
-    "browserify-sign": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
-      "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^5.1.1",
-        "browserify-rsa": "^4.0.1",
-        "create-hash": "^1.2.0",
-        "create-hmac": "^1.1.7",
-        "elliptic": "^6.5.3",
-        "inherits": "^2.0.4",
-        "parse-asn1": "^5.1.5",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "3.6.0",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
-          "dev": true,
-          "requires": {
-            "inherits": "^2.0.3",
-            "string_decoder": "^1.1.1",
-            "util-deprecate": "^1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.2.1",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-          "dev": true
-        }
-      }
-    },
-    "browserify-zlib": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
-      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
-      "dev": true,
-      "requires": {
-        "pako": "~1.0.5"
-      }
-    },
-    "browserslist": {
-      "version": "4.17.0",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.0.tgz",
-      "integrity": "sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g==",
-      "dev": true,
-      "requires": {
-        "caniuse-lite": "^1.0.30001254",
-        "colorette": "^1.3.0",
-        "electron-to-chromium": "^1.3.830",
-        "escalade": "^3.1.1",
-        "node-releases": "^1.1.75"
-      }
-    },
-    "bser": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
-      "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
-      "dev": true,
-      "requires": {
-        "node-int64": "^0.4.0"
-      }
-    },
-    "buffer": {
-      "version": "4.9.2",
-      "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
-      "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
-      "dev": true,
-      "requires": {
-        "base64-js": "^1.0.2",
-        "ieee754": "^1.1.4",
-        "isarray": "^1.0.0"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        }
-      }
-    },
-    "buffer-from": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
-      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
-      "dev": true
-    },
-    "buffer-indexof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
-      "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
-      "dev": true
-    },
-    "buffer-xor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
-      "dev": true
-    },
-    "builtin-modules": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz",
-      "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==",
-      "dev": true
-    },
-    "builtin-status-codes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
-      "dev": true
-    },
-    "bytes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
-      "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
-      "dev": true
-    },
-    "cacache": {
-      "version": "15.3.0",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
-      "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
-      "dev": true,
-      "requires": {
-        "@npmcli/fs": "^1.0.0",
-        "@npmcli/move-file": "^1.0.1",
-        "chownr": "^2.0.0",
-        "fs-minipass": "^2.0.0",
-        "glob": "^7.1.4",
-        "infer-owner": "^1.0.4",
-        "lru-cache": "^6.0.0",
-        "minipass": "^3.1.1",
-        "minipass-collect": "^1.0.2",
-        "minipass-flush": "^1.0.5",
-        "minipass-pipeline": "^1.2.2",
-        "mkdirp": "^1.0.3",
-        "p-map": "^4.0.0",
-        "promise-inflight": "^1.0.1",
-        "rimraf": "^3.0.2",
-        "ssri": "^8.0.1",
-        "tar": "^6.0.2",
-        "unique-filename": "^1.1.1"
-      },
-      "dependencies": {
-        "mkdirp": {
-          "version": "1.0.4",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-          "dev": true
-        }
-      }
-    },
-    "cache-base": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
-      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
-      "requires": {
-        "collection-visit": "^1.0.0",
-        "component-emitter": "^1.2.1",
-        "get-value": "^2.0.6",
-        "has-value": "^1.0.0",
-        "isobject": "^3.0.1",
-        "set-value": "^2.0.0",
-        "to-object-path": "^0.3.0",
-        "union-value": "^1.0.0",
-        "unset-value": "^1.0.0"
-      }
-    },
-    "call-bind": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
-      "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
-      "requires": {
-        "function-bind": "^1.1.1",
-        "get-intrinsic": "^1.0.2"
-      }
-    },
-    "caller-callsite": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
-      "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
-      "dev": true,
-      "requires": {
-        "callsites": "^2.0.0"
-      },
-      "dependencies": {
-        "callsites": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
-          "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
-          "dev": true
-        }
-      }
-    },
-    "caller-path": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
-      "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
-      "dev": true,
-      "requires": {
-        "caller-callsite": "^2.0.0"
-      }
-    },
-    "callsites": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
-      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
-      "dev": true
-    },
-    "camel-case": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
-      "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
-      "dev": true,
-      "requires": {
-        "pascal-case": "^3.1.2",
-        "tslib": "^2.0.3"
-      }
-    },
-    "camelcase": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
-      "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
-      "dev": true
-    },
-    "caniuse-api": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
-      "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.0.0",
-        "caniuse-lite": "^1.0.0",
-        "lodash.memoize": "^4.1.2",
-        "lodash.uniq": "^4.5.0"
-      }
-    },
-    "caniuse-lite": {
-      "version": "1.0.30001255",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001255.tgz",
-      "integrity": "sha512-F+A3N9jTZL882f/fg/WWVnKSu6IOo3ueLz4zwaOPbPYHNmM/ZaDUyzyJwS1mZhX7Ex5jqTyW599Gdelh5PDYLQ==",
-      "dev": true
-    },
-    "capture-exit": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
-      "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
-      "dev": true,
-      "requires": {
-        "rsvp": "^4.8.4"
-      }
-    },
-    "case-sensitive-paths-webpack-plugin": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz",
-      "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==",
-      "dev": true
-    },
-    "chalk": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^3.2.1",
-        "escape-string-regexp": "^1.0.5",
-        "supports-color": "^5.3.0"
-      }
-    },
-    "char-regex": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
-      "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
-      "dev": true
-    },
-    "check-types": {
-      "version": "11.1.2",
-      "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz",
-      "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==",
-      "dev": true
-    },
-    "cheerio": {
-      "version": "1.0.0-rc.10",
-      "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz",
-      "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==",
-      "dev": true,
-      "requires": {
-        "cheerio-select": "^1.5.0",
-        "dom-serializer": "^1.3.2",
-        "domhandler": "^4.2.0",
-        "htmlparser2": "^6.1.0",
-        "parse5": "^6.0.1",
-        "parse5-htmlparser2-tree-adapter": "^6.0.1",
-        "tslib": "^2.2.0"
-      },
-      "dependencies": {
-        "htmlparser2": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
-          "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
-          "dev": true,
-          "requires": {
-            "domelementtype": "^2.0.1",
-            "domhandler": "^4.0.0",
-            "domutils": "^2.5.2",
-            "entities": "^2.0.0"
-          }
-        }
-      }
-    },
-    "cheerio-select": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz",
-      "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==",
-      "dev": true,
-      "requires": {
-        "css-select": "^4.1.3",
-        "css-what": "^5.0.1",
-        "domelementtype": "^2.2.0",
-        "domhandler": "^4.2.0",
-        "domutils": "^2.7.0"
-      }
-    },
-    "chokidar": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
-      "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
-      "requires": {
-        "anymatch": "~3.1.2",
-        "braces": "~3.0.2",
-        "fsevents": "~2.3.2",
-        "glob-parent": "~5.1.2",
-        "is-binary-path": "~2.1.0",
-        "is-glob": "~4.0.1",
-        "normalize-path": "~3.0.0",
-        "readdirp": "~3.6.0"
-      }
-    },
-    "chownr": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
-      "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
-      "dev": true
-    },
-    "chrome-trace-event": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
-      "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
-      "dev": true
-    },
-    "ci-info": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
-      "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
-      "dev": true
-    },
-    "cipher-base": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
-      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "cjs-module-lexer": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz",
-      "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==",
-      "dev": true
-    },
-    "class-utils": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
-      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "define-property": "^0.2.5",
-        "isobject": "^3.0.0",
-        "static-extend": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "0.1.6",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-          "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "is-data-descriptor": {
-          "version": "0.1.4",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-          "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "is-descriptor": {
-          "version": "0.1.6",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-          "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^0.1.6",
-            "is-data-descriptor": "^0.1.4",
-            "kind-of": "^5.0.0"
-          }
-        },
-        "kind-of": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-          "dev": true
-        }
-      }
-    },
-    "classnames": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz",
-      "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA=="
-    },
-    "clean-css": {
-      "version": "4.2.3",
-      "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
-      "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
-      "dev": true,
-      "requires": {
-        "source-map": "~0.6.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "clean-stack": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
-      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
-      "dev": true
-    },
-    "cliui": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
-      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
-      "dev": true,
-      "requires": {
-        "string-width": "^4.2.0",
-        "strip-ansi": "^6.0.0",
-        "wrap-ansi": "^6.2.0"
-      }
-    },
-    "co": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
-      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
-      "dev": true
-    },
-    "coa": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
-      "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
-      "dev": true,
-      "requires": {
-        "@types/q": "^1.5.1",
-        "chalk": "^2.4.1",
-        "q": "^1.1.2"
-      }
-    },
-    "codemirror-promql": {
-      "version": "0.17.0",
-      "resolved": "https://registry.npmjs.org/codemirror-promql/-/codemirror-promql-0.17.0.tgz",
-      "integrity": "sha512-etlSQ8t9FvNfnNXZSGDOsLDFIgFaUaYUWQVPEs/YLdG41VMFdhnFoC4zb4iHyx1DJjxBW/dHk7ZHLJDa9aNNzg==",
-      "requires": {
-        "lezer-promql": "^0.20.0",
-        "lru-cache": "^6.0.0"
-      }
-    },
-    "collect-v8-coverage": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
-      "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
-      "dev": true
-    },
-    "collection-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
-      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "dev": true,
-      "requires": {
-        "map-visit": "^1.0.0",
-        "object-visit": "^1.0.0"
-      }
-    },
-    "color": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
-      "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==",
-      "dev": true,
-      "requires": {
-        "color-convert": "^1.9.3",
-        "color-string": "^1.6.0"
-      }
-    },
-    "color-convert": {
-      "version": "1.9.3",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-      "dev": true,
-      "requires": {
-        "color-name": "1.1.3"
-      }
-    },
-    "color-name": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-      "dev": true
-    },
-    "color-string": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz",
-      "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==",
-      "dev": true,
-      "requires": {
-        "color-name": "^1.0.0",
-        "simple-swizzle": "^0.2.2"
-      }
-    },
-    "colorette": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz",
-      "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w=="
-    },
-    "combined-stream": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
-      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
-      "requires": {
-        "delayed-stream": "~1.0.0"
-      }
-    },
-    "commander": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
-      "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
-      "dev": true
-    },
-    "common-tags": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz",
-      "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==",
-      "dev": true
-    },
-    "commondir": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
-      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
-      "dev": true
-    },
-    "component-emitter": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
-      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
-      "dev": true
-    },
-    "compose-function": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz",
-      "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=",
-      "dev": true,
-      "requires": {
-        "arity-n": "^1.0.4"
-      }
-    },
-    "compressible": {
-      "version": "2.0.18",
-      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
-      "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
-      "dev": true,
-      "requires": {
-        "mime-db": ">= 1.43.0 < 2"
-      }
-    },
-    "compression": {
-      "version": "1.7.4",
-      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
-      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.5",
-        "bytes": "3.0.0",
-        "compressible": "~2.0.16",
-        "debug": "2.6.9",
-        "on-headers": "~1.0.2",
-        "safe-buffer": "5.1.2",
-        "vary": "~1.1.2"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "compute-scroll-into-view": {
-      "version": "1.0.17",
-      "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz",
-      "integrity": "sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg=="
-    },
-    "concat-map": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
-      "dev": true
-    },
-    "concat-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
-      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "dev": true,
-      "requires": {
-        "buffer-from": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.2.2",
-        "typedarray": "^0.0.6"
-      }
-    },
-    "confusing-browser-globals": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz",
-      "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==",
-      "dev": true
-    },
-    "connect-history-api-fallback": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
-      "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
-      "dev": true
-    },
-    "console-browserify": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
-      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
-      "dev": true
-    },
-    "constants-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
-      "dev": true
-    },
-    "content-disposition": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
-      "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "5.1.2"
-      }
-    },
-    "content-type": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
-      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
-      "dev": true
-    },
-    "convert-source-map": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
-      "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "~5.1.1"
-      }
-    },
-    "cookie": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
-      "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
-      "dev": true
-    },
-    "cookie-signature": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
-      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
-      "dev": true
-    },
-    "copy-concurrently": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
-      "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1",
-        "fs-write-stream-atomic": "^1.0.8",
-        "iferr": "^0.1.5",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.0"
-      },
-      "dependencies": {
-        "rimraf": {
-          "version": "2.7.1",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        }
-      }
-    },
-    "copy-descriptor": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true
-    },
-    "copy-to-clipboard": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
-      "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
-      "requires": {
-        "toggle-selection": "^1.0.6"
-      }
-    },
-    "core-js": {
-      "version": "3.17.2",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.17.2.tgz",
-      "integrity": "sha512-XkbXqhcXeMHPRk2ItS+zQYliAMilea2euoMsnpRRdDad6b2VY6CQQcwz1K8AnWesfw4p165RzY0bTnr3UrbYiA==",
-      "dev": true
-    },
-    "core-js-compat": {
-      "version": "3.17.2",
-      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.17.2.tgz",
-      "integrity": "sha512-lHnt7A1Oqplebl5i0MrQyFv/yyEzr9p29OjlkcsFRDDgHwwQyVckfRGJ790qzXhkwM8ba4SFHHa2sO+T5f1zGg==",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.16.8",
-        "semver": "7.0.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
-          "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
-          "dev": true
-        }
-      }
-    },
-    "core-js-pure": {
-      "version": "3.17.2",
-      "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.17.2.tgz",
-      "integrity": "sha512-2VV7DlIbooyTI7Bh+yzOOWL9tGwLnQKHno7qATE+fqZzDKYr6llVjVQOzpD/QLZFgXDPb8T71pJokHEZHEYJhQ==",
-      "dev": true
-    },
-    "core-util-is": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
-      "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
-      "dev": true
-    },
-    "cosmiconfig": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
-      "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
-      "dev": true,
-      "requires": {
-        "@types/parse-json": "^4.0.0",
-        "import-fresh": "^3.2.1",
-        "parse-json": "^5.0.0",
-        "path-type": "^4.0.0",
-        "yaml": "^1.10.0"
-      }
-    },
-    "create-ecdh": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
-      "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "elliptic": "^6.5.3"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
-    "create-hash": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
-      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "inherits": "^2.0.1",
-        "md5.js": "^1.3.4",
-        "ripemd160": "^2.0.1",
-        "sha.js": "^2.4.0"
-      }
-    },
-    "create-hmac": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
-      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.3",
-        "create-hash": "^1.1.0",
-        "inherits": "^2.0.1",
-        "ripemd160": "^2.0.0",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "crelt": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz",
-      "integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA=="
-    },
-    "cross-fetch": {
-      "version": "3.1.4",
-      "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz",
-      "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==",
-      "dev": true,
-      "requires": {
-        "node-fetch": "2.6.1"
-      }
-    },
-    "cross-spawn": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
-      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
-      "dev": true,
-      "requires": {
-        "path-key": "^3.1.0",
-        "shebang-command": "^2.0.0",
-        "which": "^2.0.1"
-      }
-    },
-    "crypto-browserify": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
-      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
-      "dev": true,
-      "requires": {
-        "browserify-cipher": "^1.0.0",
-        "browserify-sign": "^4.0.0",
-        "create-ecdh": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.0",
-        "diffie-hellman": "^5.0.0",
-        "inherits": "^2.0.1",
-        "pbkdf2": "^3.0.3",
-        "public-encrypt": "^4.0.0",
-        "randombytes": "^2.0.0",
-        "randomfill": "^1.0.3"
-      }
-    },
-    "crypto-random-string": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
-      "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
-      "dev": true
-    },
-    "css": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
-      "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "source-map": "^0.6.1",
-        "source-map-resolve": "^0.5.2",
-        "urix": "^0.1.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "css-blank-pseudo": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz",
-      "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.5"
-      }
-    },
-    "css-color-names": {
-      "version": "0.0.4",
-      "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
-      "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
-      "dev": true
-    },
-    "css-declaration-sorter": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz",
-      "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.1",
-        "timsort": "^0.3.0"
-      }
-    },
-    "css-has-pseudo": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz",
-      "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.6",
-        "postcss-selector-parser": "^5.0.0-rc.4"
-      },
-      "dependencies": {
-        "cssesc": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
-          "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
-          "dev": true
-        },
-        "postcss-selector-parser": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
-          "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
-          "dev": true,
-          "requires": {
-            "cssesc": "^2.0.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "css-loader": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-4.3.0.tgz",
-      "integrity": "sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg==",
-      "dev": true,
-      "requires": {
-        "camelcase": "^6.0.0",
-        "cssesc": "^3.0.0",
-        "icss-utils": "^4.1.1",
-        "loader-utils": "^2.0.0",
-        "postcss": "^7.0.32",
-        "postcss-modules-extract-imports": "^2.0.0",
-        "postcss-modules-local-by-default": "^3.0.3",
-        "postcss-modules-scope": "^2.2.0",
-        "postcss-modules-values": "^3.0.0",
-        "postcss-value-parser": "^4.1.0",
-        "schema-utils": "^2.7.1",
-        "semver": "^7.3.2"
-      }
-    },
-    "css-prefers-color-scheme": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz",
-      "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.5"
-      }
-    },
-    "css-select": {
-      "version": "4.1.3",
-      "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz",
-      "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==",
-      "dev": true,
-      "requires": {
-        "boolbase": "^1.0.0",
-        "css-what": "^5.0.0",
-        "domhandler": "^4.2.0",
-        "domutils": "^2.6.0",
-        "nth-check": "^2.0.0"
-      }
-    },
-    "css-select-base-adapter": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
-      "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
-      "dev": true
-    },
-    "css-tree": {
-      "version": "1.0.0-alpha.37",
-      "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
-      "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
-      "dev": true,
-      "requires": {
-        "mdn-data": "2.0.4",
-        "source-map": "^0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "css-what": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz",
-      "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==",
-      "dev": true
-    },
-    "css.escape": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
-      "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s="
-    },
-    "cssdb": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz",
-      "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==",
-      "dev": true
-    },
-    "cssesc": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
-      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
-      "dev": true
-    },
-    "cssnano": {
-      "version": "4.1.11",
-      "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz",
-      "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==",
-      "dev": true,
-      "requires": {
-        "cosmiconfig": "^5.0.0",
-        "cssnano-preset-default": "^4.0.8",
-        "is-resolvable": "^1.0.0",
-        "postcss": "^7.0.0"
-      },
-      "dependencies": {
-        "cosmiconfig": {
-          "version": "5.2.1",
-          "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
-          "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
-          "dev": true,
-          "requires": {
-            "import-fresh": "^2.0.0",
-            "is-directory": "^0.3.1",
-            "js-yaml": "^3.13.1",
-            "parse-json": "^4.0.0"
-          }
-        },
-        "import-fresh": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
-          "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
-          "dev": true,
-          "requires": {
-            "caller-path": "^2.0.0",
-            "resolve-from": "^3.0.0"
-          }
-        },
-        "parse-json": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
-          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
-          "dev": true,
-          "requires": {
-            "error-ex": "^1.3.1",
-            "json-parse-better-errors": "^1.0.1"
-          }
-        },
-        "resolve-from": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-          "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-          "dev": true
-        }
-      }
-    },
-    "cssnano-preset-default": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz",
-      "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==",
-      "dev": true,
-      "requires": {
-        "css-declaration-sorter": "^4.0.1",
-        "cssnano-util-raw-cache": "^4.0.1",
-        "postcss": "^7.0.0",
-        "postcss-calc": "^7.0.1",
-        "postcss-colormin": "^4.0.3",
-        "postcss-convert-values": "^4.0.1",
-        "postcss-discard-comments": "^4.0.2",
-        "postcss-discard-duplicates": "^4.0.2",
-        "postcss-discard-empty": "^4.0.1",
-        "postcss-discard-overridden": "^4.0.1",
-        "postcss-merge-longhand": "^4.0.11",
-        "postcss-merge-rules": "^4.0.3",
-        "postcss-minify-font-values": "^4.0.2",
-        "postcss-minify-gradients": "^4.0.2",
-        "postcss-minify-params": "^4.0.2",
-        "postcss-minify-selectors": "^4.0.2",
-        "postcss-normalize-charset": "^4.0.1",
-        "postcss-normalize-display-values": "^4.0.2",
-        "postcss-normalize-positions": "^4.0.2",
-        "postcss-normalize-repeat-style": "^4.0.2",
-        "postcss-normalize-string": "^4.0.2",
-        "postcss-normalize-timing-functions": "^4.0.2",
-        "postcss-normalize-unicode": "^4.0.1",
-        "postcss-normalize-url": "^4.0.1",
-        "postcss-normalize-whitespace": "^4.0.2",
-        "postcss-ordered-values": "^4.1.2",
-        "postcss-reduce-initial": "^4.0.3",
-        "postcss-reduce-transforms": "^4.0.2",
-        "postcss-svgo": "^4.0.3",
-        "postcss-unique-selectors": "^4.0.1"
-      }
-    },
-    "cssnano-util-get-arguments": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
-      "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
-      "dev": true
-    },
-    "cssnano-util-get-match": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
-      "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
-      "dev": true
-    },
-    "cssnano-util-raw-cache": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz",
-      "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "cssnano-util-same-parent": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz",
-      "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==",
-      "dev": true
-    },
-    "csso": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
-      "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
-      "dev": true,
-      "requires": {
-        "css-tree": "^1.1.2"
-      },
-      "dependencies": {
-        "css-tree": {
-          "version": "1.1.3",
-          "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
-          "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
-          "dev": true,
-          "requires": {
-            "mdn-data": "2.0.14",
-            "source-map": "^0.6.1"
-          }
-        },
-        "mdn-data": {
-          "version": "2.0.14",
-          "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
-          "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "cssom": {
-      "version": "0.4.4",
-      "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
-      "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw=="
-    },
-    "cssstyle": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
-      "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
-      "requires": {
-        "cssom": "~0.3.6"
-      },
-      "dependencies": {
-        "cssom": {
-          "version": "0.3.8",
-          "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
-          "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
-        }
-      }
-    },
-    "csstype": {
-      "version": "3.0.8",
-      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz",
-      "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==",
-      "dev": true
-    },
-    "cyclist": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
-      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
-      "dev": true
-    },
-    "d": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
-      "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
-      "dev": true,
-      "requires": {
-        "es5-ext": "^0.10.50",
-        "type": "^1.0.1"
-      }
-    },
-    "damerau-levenshtein": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz",
-      "integrity": "sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==",
-      "dev": true
-    },
-    "data-urls": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
-      "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
-      "requires": {
-        "abab": "^2.0.3",
-        "whatwg-mimetype": "^2.3.0",
-        "whatwg-url": "^8.0.0"
-      }
-    },
-    "debug": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
-      "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
-      "requires": {
-        "ms": "2.1.2"
-      }
-    },
-    "decamelize": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
-      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
-      "dev": true
-    },
-    "decimal.js": {
-      "version": "10.3.1",
-      "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
-      "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ=="
-    },
-    "decode-uri-component": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true
-    },
-    "dedent": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
-      "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
-      "dev": true
-    },
-    "deep-equal": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
-      "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
-      "requires": {
-        "is-arguments": "^1.0.4",
-        "is-date-object": "^1.0.1",
-        "is-regex": "^1.0.4",
-        "object-is": "^1.0.1",
-        "object-keys": "^1.1.1",
-        "regexp.prototype.flags": "^1.2.0"
-      }
-    },
-    "deep-is": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
-      "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
-    },
-    "deepmerge": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
-      "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg=="
-    },
-    "default-gateway": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
-      "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==",
-      "dev": true,
-      "requires": {
-        "execa": "^1.0.0",
-        "ip-regex": "^2.1.0"
-      },
-      "dependencies": {
-        "cross-spawn": {
-          "version": "6.0.5",
-          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
-          "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
-          "dev": true,
-          "requires": {
-            "nice-try": "^1.0.4",
-            "path-key": "^2.0.1",
-            "semver": "^5.5.0",
-            "shebang-command": "^1.2.0",
-            "which": "^1.2.9"
-          }
-        },
-        "execa": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
-          "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
-          "dev": true,
-          "requires": {
-            "cross-spawn": "^6.0.0",
-            "get-stream": "^4.0.0",
-            "is-stream": "^1.1.0",
-            "npm-run-path": "^2.0.0",
-            "p-finally": "^1.0.0",
-            "signal-exit": "^3.0.0",
-            "strip-eof": "^1.0.0"
-          }
-        },
-        "get-stream": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
-          "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
-          "dev": true,
-          "requires": {
-            "pump": "^3.0.0"
-          }
-        },
-        "is-stream": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-          "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-          "dev": true
-        },
-        "npm-run-path": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
-          "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
-          "dev": true,
-          "requires": {
-            "path-key": "^2.0.0"
-          }
-        },
-        "path-key": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-          "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
-          "dev": true
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        },
-        "shebang-command": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
-          "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-          "dev": true,
-          "requires": {
-            "shebang-regex": "^1.0.0"
-          }
-        },
-        "shebang-regex": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-          "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
-          "dev": true
-        },
-        "which": {
-          "version": "1.3.1",
-          "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-          "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-          "dev": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        }
-      }
-    },
-    "define-properties": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
-      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
-      "requires": {
-        "object-keys": "^1.0.12"
-      }
-    },
-    "define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
-      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
-      "requires": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      }
-    },
-    "del": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
-      "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
-      "dev": true,
-      "requires": {
-        "@types/glob": "^7.1.1",
-        "globby": "^6.1.0",
-        "is-path-cwd": "^2.0.0",
-        "is-path-in-cwd": "^2.0.0",
-        "p-map": "^2.0.0",
-        "pify": "^4.0.1",
-        "rimraf": "^2.6.3"
-      },
-      "dependencies": {
-        "array-union": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
-          "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
-          "dev": true,
-          "requires": {
-            "array-uniq": "^1.0.1"
-          }
-        },
-        "globby": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
-          "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
-          "dev": true,
-          "requires": {
-            "array-union": "^1.0.1",
-            "glob": "^7.0.3",
-            "object-assign": "^4.0.1",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          },
-          "dependencies": {
-            "pify": {
-              "version": "2.3.0",
-              "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
-              "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-              "dev": true
-            }
-          }
-        },
-        "p-map": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
-          "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
-          "dev": true
-        },
-        "rimraf": {
-          "version": "2.7.1",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        }
-      }
-    },
-    "delayed-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
-    },
-    "depd": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
-      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
-      "dev": true
-    },
-    "des.js": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
-      "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "destroy": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
-      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
-      "dev": true
-    },
-    "detect-newline": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
-      "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
-      "dev": true
-    },
-    "detect-node": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
-      "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
-      "dev": true
-    },
-    "detect-port-alt": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz",
-      "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==",
-      "dev": true,
-      "requires": {
-        "address": "^1.0.1",
-        "debug": "^2.6.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "diff": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
-      "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
-      "dev": true
-    },
-    "diff-sequences": {
-      "version": "27.0.6",
-      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz",
-      "integrity": "sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==",
-      "dev": true
-    },
-    "diffie-hellman": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
-      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "miller-rabin": "^4.0.0",
-        "randombytes": "^2.0.0"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
-    "dir-glob": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
-      "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
-      "dev": true,
-      "requires": {
-        "path-type": "^4.0.0"
-      }
-    },
-    "discontinuous-range": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz",
-      "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=",
-      "dev": true
-    },
-    "dns-equal": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
-      "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
-      "dev": true
-    },
-    "dns-packet": {
-      "version": "1.3.4",
-      "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz",
-      "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==",
-      "dev": true,
-      "requires": {
-        "ip": "^1.1.0",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "dns-txt": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
-      "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
-      "dev": true,
-      "requires": {
-        "buffer-indexof": "^1.0.0"
-      }
-    },
-    "doctrine": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
-      "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
-      "dev": true,
-      "requires": {
-        "esutils": "^2.0.2"
-      }
-    },
-    "dom-converter": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
-      "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
-      "dev": true,
-      "requires": {
-        "utila": "~0.4"
-      }
-    },
-    "dom-helpers": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz",
-      "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==",
-      "requires": {
-        "@babel/runtime": "^7.1.2"
-      }
-    },
-    "dom-serializer": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
-      "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
-      "requires": {
-        "domelementtype": "^2.0.1",
-        "domhandler": "^4.2.0",
-        "entities": "^2.0.0"
-      }
-    },
-    "domain-browser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
-      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
-      "dev": true
-    },
-    "domelementtype": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
-      "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A=="
-    },
-    "domexception": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
-      "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
-      "requires": {
-        "webidl-conversions": "^5.0.0"
-      },
-      "dependencies": {
-        "webidl-conversions": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
-          "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA=="
-        }
-      }
-    },
-    "domhandler": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
-      "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
-      "requires": {
-        "domelementtype": "^2.2.0"
-      }
-    },
-    "domutils": {
-      "version": "2.8.0",
-      "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
-      "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
-      "requires": {
-        "dom-serializer": "^1.0.1",
-        "domelementtype": "^2.2.0",
-        "domhandler": "^4.2.0"
-      }
-    },
-    "dot-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
-      "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
-      "dev": true,
-      "requires": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "dot-prop": {
-      "version": "5.3.0",
-      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
-      "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
-      "dev": true,
-      "requires": {
-        "is-obj": "^2.0.0"
-      },
-      "dependencies": {
-        "is-obj": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
-          "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
-          "dev": true
-        }
-      }
-    },
-    "dotenv": {
-      "version": "8.2.0",
-      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
-      "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==",
-      "dev": true
-    },
-    "dotenv-expand": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
-      "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
-      "dev": true
-    },
-    "downshift": {
-      "version": "3.4.8",
-      "resolved": "https://registry.npmjs.org/downshift/-/downshift-3.4.8.tgz",
-      "integrity": "sha512-dZL3iNL/LbpHNzUQAaVq/eTD1ocnGKKjbAl/848Q0KEp6t81LJbS37w3f93oD6gqqAnjdgM7Use36qZSipHXBw==",
-      "requires": {
-        "@babel/runtime": "^7.4.5",
-        "compute-scroll-into-view": "^1.0.9",
-        "prop-types": "^15.7.2",
-        "react-is": "^16.9.0"
-      }
-    },
-    "duplexer": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
-      "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
-      "dev": true
-    },
-    "duplexify": {
-      "version": "3.7.1",
-      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
-      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "ee-first": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
-      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
-      "dev": true
-    },
-    "ejs": {
-      "version": "2.7.4",
-      "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz",
-      "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==",
-      "dev": true
-    },
-    "electron-to-chromium": {
-      "version": "1.3.830",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.830.tgz",
-      "integrity": "sha512-gBN7wNAxV5vl1430dG+XRcQhD4pIeYeak6p6rjdCtlz5wWNwDad8jwvphe5oi1chL5MV6RNRikfffBBiFuj+rQ==",
-      "dev": true
-    },
-    "elliptic": {
-      "version": "6.5.4",
-      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
-      "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.11.9",
-        "brorand": "^1.1.0",
-        "hash.js": "^1.0.0",
-        "hmac-drbg": "^1.0.1",
-        "inherits": "^2.0.4",
-        "minimalistic-assert": "^1.0.1",
-        "minimalistic-crypto-utils": "^1.0.1"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
-    "emittery": {
-      "version": "0.7.2",
-      "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz",
-      "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==",
-      "dev": true
-    },
-    "emoji-regex": {
-      "version": "9.2.2",
-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
-      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
-      "dev": true
-    },
-    "emojis-list": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
-      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
-      "dev": true
-    },
-    "encodeurl": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
-      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
-      "dev": true
-    },
-    "end-of-stream": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
-      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
-      "dev": true,
-      "requires": {
-        "once": "^1.4.0"
-      }
-    },
-    "enhanced-resolve": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
-      "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "memory-fs": "^0.5.0",
-        "tapable": "^1.0.0"
-      },
-      "dependencies": {
-        "memory-fs": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
-          "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
-          "dev": true,
-          "requires": {
-            "errno": "^0.1.3",
-            "readable-stream": "^2.0.1"
-          }
-        }
-      }
-    },
-    "enquirer": {
-      "version": "2.3.6",
-      "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
-      "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
-      "dev": true,
-      "requires": {
-        "ansi-colors": "^4.1.1"
-      }
-    },
-    "entities": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
-      "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
-    },
-    "enzyme": {
-      "version": "3.11.0",
-      "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.11.0.tgz",
-      "integrity": "sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==",
-      "dev": true,
-      "requires": {
-        "array.prototype.flat": "^1.2.3",
-        "cheerio": "^1.0.0-rc.3",
-        "enzyme-shallow-equal": "^1.0.1",
-        "function.prototype.name": "^1.1.2",
-        "has": "^1.0.3",
-        "html-element-map": "^1.2.0",
-        "is-boolean-object": "^1.0.1",
-        "is-callable": "^1.1.5",
-        "is-number-object": "^1.0.4",
-        "is-regex": "^1.0.5",
-        "is-string": "^1.0.5",
-        "is-subset": "^0.1.1",
-        "lodash.escape": "^4.0.1",
-        "lodash.isequal": "^4.5.0",
-        "object-inspect": "^1.7.0",
-        "object-is": "^1.0.2",
-        "object.assign": "^4.1.0",
-        "object.entries": "^1.1.1",
-        "object.values": "^1.1.1",
-        "raf": "^3.4.1",
-        "rst-selector-parser": "^2.2.3",
-        "string.prototype.trim": "^1.2.1"
-      }
-    },
-    "enzyme-adapter-react-16": {
-      "version": "1.15.6",
-      "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.6.tgz",
-      "integrity": "sha512-yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g==",
-      "dev": true,
-      "requires": {
-        "enzyme-adapter-utils": "^1.14.0",
-        "enzyme-shallow-equal": "^1.0.4",
-        "has": "^1.0.3",
-        "object.assign": "^4.1.2",
-        "object.values": "^1.1.2",
-        "prop-types": "^15.7.2",
-        "react-is": "^16.13.1",
-        "react-test-renderer": "^16.0.0-0",
-        "semver": "^5.7.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "enzyme-adapter-utils": {
-      "version": "1.14.0",
-      "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.14.0.tgz",
-      "integrity": "sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg==",
-      "dev": true,
-      "requires": {
-        "airbnb-prop-types": "^2.16.0",
-        "function.prototype.name": "^1.1.3",
-        "has": "^1.0.3",
-        "object.assign": "^4.1.2",
-        "object.fromentries": "^2.0.3",
-        "prop-types": "^15.7.2",
-        "semver": "^5.7.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "enzyme-shallow-equal": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz",
-      "integrity": "sha512-MttIwB8kKxypwHvRynuC3ahyNc+cFbR8mjVIltnmzQ0uKGqmsfO4bfBuLxb0beLNPhjblUEYvEbsg+VSygvF1Q==",
-      "dev": true,
-      "requires": {
-        "has": "^1.0.3",
-        "object-is": "^1.1.2"
-      }
-    },
-    "enzyme-to-json": {
-      "version": "3.6.2",
-      "resolved": "https://registry.npmjs.org/enzyme-to-json/-/enzyme-to-json-3.6.2.tgz",
-      "integrity": "sha512-Ynm6Z6R6iwQ0g2g1YToz6DWhxVnt8Dy1ijR2zynRKxTyBGA8rCDXU3rs2Qc4OKvUvc2Qoe1bcFK6bnPs20TrTg==",
-      "dev": true,
-      "requires": {
-        "@types/cheerio": "^0.22.22",
-        "lodash": "^4.17.21",
-        "react-is": "^16.12.0"
-      }
-    },
-    "errno": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
-      "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
-      "dev": true,
-      "requires": {
-        "prr": "~1.0.1"
-      }
-    },
-    "error-ex": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
-      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
-      "dev": true,
-      "requires": {
-        "is-arrayish": "^0.2.1"
-      }
-    },
-    "error-stack-parser": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz",
-      "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==",
-      "dev": true,
-      "requires": {
-        "stackframe": "^1.1.1"
-      }
-    },
-    "es-abstract": {
-      "version": "1.18.5",
-      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.5.tgz",
-      "integrity": "sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "es-to-primitive": "^1.2.1",
-        "function-bind": "^1.1.1",
-        "get-intrinsic": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.2",
-        "internal-slot": "^1.0.3",
-        "is-callable": "^1.2.3",
-        "is-negative-zero": "^2.0.1",
-        "is-regex": "^1.1.3",
-        "is-string": "^1.0.6",
-        "object-inspect": "^1.11.0",
-        "object-keys": "^1.1.1",
-        "object.assign": "^4.1.2",
-        "string.prototype.trimend": "^1.0.4",
-        "string.prototype.trimstart": "^1.0.4",
-        "unbox-primitive": "^1.0.1"
-      }
-    },
-    "es-array-method-boxes-properly": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz",
-      "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==",
-      "dev": true
-    },
-    "es-to-primitive": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
-      "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
-      "dev": true,
-      "requires": {
-        "is-callable": "^1.1.4",
-        "is-date-object": "^1.0.1",
-        "is-symbol": "^1.0.2"
-      }
-    },
-    "es5-ext": {
-      "version": "0.10.53",
-      "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
-      "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
-      "dev": true,
-      "requires": {
-        "es6-iterator": "~2.0.3",
-        "es6-symbol": "~3.1.3",
-        "next-tick": "~1.0.0"
-      }
-    },
-    "es6-iterator": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
-      "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
-      "dev": true,
-      "requires": {
-        "d": "1",
-        "es5-ext": "^0.10.35",
-        "es6-symbol": "^3.1.1"
-      }
-    },
-    "es6-symbol": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
-      "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
-      "dev": true,
-      "requires": {
-        "d": "^1.0.1",
-        "ext": "^1.1.2"
-      }
-    },
-    "escalade": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
-      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
-      "dev": true
-    },
-    "escape-html": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
-      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
-      "dev": true
-    },
-    "escape-string-regexp": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true
-    },
-    "escodegen": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
-      "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
-      "requires": {
-        "esprima": "^4.0.1",
-        "estraverse": "^5.2.0",
-        "esutils": "^2.0.2",
-        "optionator": "^0.8.1",
-        "source-map": "~0.6.1"
-      },
-      "dependencies": {
-        "levn": {
-          "version": "0.3.0",
-          "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
-          "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
-          "requires": {
-            "prelude-ls": "~1.1.2",
-            "type-check": "~0.3.2"
-          }
-        },
-        "optionator": {
-          "version": "0.8.3",
-          "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
-          "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
-          "requires": {
-            "deep-is": "~0.1.3",
-            "fast-levenshtein": "~2.0.6",
-            "levn": "~0.3.0",
-            "prelude-ls": "~1.1.2",
-            "type-check": "~0.3.2",
-            "word-wrap": "~1.2.3"
-          }
-        },
-        "prelude-ls": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
-          "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "optional": true
-        },
-        "type-check": {
-          "version": "0.3.2",
-          "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
-          "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
-          "requires": {
-            "prelude-ls": "~1.1.2"
-          }
-        }
-      }
-    },
-    "eslint": {
-      "version": "7.32.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz",
-      "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "7.12.11",
-        "@eslint/eslintrc": "^0.4.3",
-        "@humanwhocodes/config-array": "^0.5.0",
-        "ajv": "^6.10.0",
-        "chalk": "^4.0.0",
-        "cross-spawn": "^7.0.2",
-        "debug": "^4.0.1",
-        "doctrine": "^3.0.0",
-        "enquirer": "^2.3.5",
-        "escape-string-regexp": "^4.0.0",
-        "eslint-scope": "^5.1.1",
-        "eslint-utils": "^2.1.0",
-        "eslint-visitor-keys": "^2.0.0",
-        "espree": "^7.3.1",
-        "esquery": "^1.4.0",
-        "esutils": "^2.0.2",
-        "fast-deep-equal": "^3.1.3",
-        "file-entry-cache": "^6.0.1",
-        "functional-red-black-tree": "^1.0.1",
-        "glob-parent": "^5.1.2",
-        "globals": "^13.6.0",
-        "ignore": "^4.0.6",
-        "import-fresh": "^3.0.0",
-        "imurmurhash": "^0.1.4",
-        "is-glob": "^4.0.0",
-        "js-yaml": "^3.13.1",
-        "json-stable-stringify-without-jsonify": "^1.0.1",
-        "levn": "^0.4.1",
-        "lodash.merge": "^4.6.2",
-        "minimatch": "^3.0.4",
-        "natural-compare": "^1.4.0",
-        "optionator": "^0.9.1",
-        "progress": "^2.0.0",
-        "regexpp": "^3.1.0",
-        "semver": "^7.2.1",
-        "strip-ansi": "^6.0.0",
-        "strip-json-comments": "^3.1.0",
-        "table": "^6.0.9",
-        "text-table": "^0.2.0",
-        "v8-compile-cache": "^2.0.3"
-      },
-      "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.12.11",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
-          "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
-          "dev": true,
-          "requires": {
-            "@babel/highlight": "^7.10.4"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "escape-string-regexp": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
-          "dev": true
-        },
-        "eslint-utils": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
-          "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
-          "dev": true,
-          "requires": {
-            "eslint-visitor-keys": "^1.1.0"
-          },
-          "dependencies": {
-            "eslint-visitor-keys": {
-              "version": "1.3.0",
-              "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
-              "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
-              "dev": true
-            }
-          }
-        },
-        "globals": {
-          "version": "13.11.0",
-          "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz",
-          "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==",
-          "dev": true,
-          "requires": {
-            "type-fest": "^0.20.2"
-          }
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        },
-        "type-fest": {
-          "version": "0.20.2",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
-          "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
-          "dev": true
-        }
-      }
-    },
-    "eslint-config-prettier": {
-      "version": "8.3.0",
-      "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz",
-      "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==",
-      "dev": true,
-      "requires": {}
-    },
-    "eslint-config-react-app": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-6.0.0.tgz",
-      "integrity": "sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==",
-      "dev": true,
-      "requires": {
-        "confusing-browser-globals": "^1.0.10"
-      }
-    },
-    "eslint-import-resolver-node": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
-      "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
-      "dev": true,
-      "requires": {
-        "debug": "^3.2.7",
-        "resolve": "^1.20.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.7",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        }
-      }
-    },
-    "eslint-module-utils": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz",
-      "integrity": "sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==",
-      "dev": true,
-      "requires": {
-        "debug": "^3.2.7",
-        "pkg-dir": "^2.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.7",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        }
-      }
-    },
-    "eslint-plugin-flowtype": {
-      "version": "5.9.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.9.2.tgz",
-      "integrity": "sha512-qxE/eo9DCN7800MIB/O1ToOiFuOPOlaMJWQY2BEm69oY7RCm3s2X1z4CdgtFvDDWf9RSSugZm1KRhdBMBueKbg==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.15",
-        "string-natural-compare": "^3.0.1"
-      }
-    },
-    "eslint-plugin-import": {
-      "version": "2.24.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz",
-      "integrity": "sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==",
-      "dev": true,
-      "requires": {
-        "array-includes": "^3.1.3",
-        "array.prototype.flat": "^1.2.4",
-        "debug": "^2.6.9",
-        "doctrine": "^2.1.0",
-        "eslint-import-resolver-node": "^0.3.6",
-        "eslint-module-utils": "^2.6.2",
-        "find-up": "^2.0.0",
-        "has": "^1.0.3",
-        "is-core-module": "^2.6.0",
-        "minimatch": "^3.0.4",
-        "object.values": "^1.1.4",
-        "pkg-up": "^2.0.0",
-        "read-pkg-up": "^3.0.0",
-        "resolve": "^1.20.0",
-        "tsconfig-paths": "^3.11.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "doctrine": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
-          "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "eslint-plugin-jest": {
-      "version": "24.4.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.4.0.tgz",
-      "integrity": "sha512-8qnt/hgtZ94E9dA6viqfViKBfkJwFHXgJmTWlMGDgunw1XJEGqm3eiPjDsTanM3/u/3Az82nyQM9GX7PM/QGmg==",
-      "dev": true,
-      "requires": {
-        "@typescript-eslint/experimental-utils": "^4.0.1"
-      }
-    },
-    "eslint-plugin-jsx-a11y": {
-      "version": "6.4.1",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz",
-      "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.11.2",
-        "aria-query": "^4.2.2",
-        "array-includes": "^3.1.1",
-        "ast-types-flow": "^0.0.7",
-        "axe-core": "^4.0.2",
-        "axobject-query": "^2.2.0",
-        "damerau-levenshtein": "^1.0.6",
-        "emoji-regex": "^9.0.0",
-        "has": "^1.0.3",
-        "jsx-ast-utils": "^3.1.0",
-        "language-tags": "^1.0.5"
-      }
-    },
-    "eslint-plugin-prettier": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz",
-      "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==",
-      "dev": true,
-      "requires": {
-        "prettier-linter-helpers": "^1.0.0"
-      }
-    },
-    "eslint-plugin-react": {
-      "version": "7.25.1",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.25.1.tgz",
-      "integrity": "sha512-P4j9K1dHoFXxDNP05AtixcJEvIT6ht8FhYKsrkY0MPCPaUMYijhpWwNiRDZVtA8KFuZOkGSeft6QwH8KuVpJug==",
-      "dev": true,
-      "requires": {
-        "array-includes": "^3.1.3",
-        "array.prototype.flatmap": "^1.2.4",
-        "doctrine": "^2.1.0",
-        "estraverse": "^5.2.0",
-        "has": "^1.0.3",
-        "jsx-ast-utils": "^2.4.1 || ^3.0.0",
-        "minimatch": "^3.0.4",
-        "object.entries": "^1.1.4",
-        "object.fromentries": "^2.0.4",
-        "object.values": "^1.1.4",
-        "prop-types": "^15.7.2",
-        "resolve": "^2.0.0-next.3",
-        "string.prototype.matchall": "^4.0.5"
-      },
-      "dependencies": {
-        "doctrine": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
-          "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2"
-          }
-        },
-        "resolve": {
-          "version": "2.0.0-next.3",
-          "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz",
-          "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==",
-          "dev": true,
-          "requires": {
-            "is-core-module": "^2.2.0",
-            "path-parse": "^1.0.6"
-          }
-        }
-      }
-    },
-    "eslint-plugin-react-hooks": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz",
-      "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==",
-      "dev": true,
-      "requires": {}
-    },
-    "eslint-plugin-testing-library": {
-      "version": "3.10.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-3.10.2.tgz",
-      "integrity": "sha512-WAmOCt7EbF1XM8XfbCKAEzAPnShkNSwcIsAD2jHdsMUT9mZJPjLCG7pMzbcC8kK366NOuGip8HKLDC+Xk4yIdA==",
-      "dev": true,
-      "requires": {
-        "@typescript-eslint/experimental-utils": "^3.10.1"
-      },
-      "dependencies": {
-        "@typescript-eslint/experimental-utils": {
-          "version": "3.10.1",
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz",
-          "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==",
-          "dev": true,
-          "requires": {
-            "@types/json-schema": "^7.0.3",
-            "@typescript-eslint/types": "3.10.1",
-            "@typescript-eslint/typescript-estree": "3.10.1",
-            "eslint-scope": "^5.0.0",
-            "eslint-utils": "^2.0.0"
-          }
-        },
-        "@typescript-eslint/types": {
-          "version": "3.10.1",
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz",
-          "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==",
-          "dev": true
-        },
-        "@typescript-eslint/typescript-estree": {
-          "version": "3.10.1",
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz",
-          "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==",
-          "dev": true,
-          "requires": {
-            "@typescript-eslint/types": "3.10.1",
-            "@typescript-eslint/visitor-keys": "3.10.1",
-            "debug": "^4.1.1",
-            "glob": "^7.1.6",
-            "is-glob": "^4.0.1",
-            "lodash": "^4.17.15",
-            "semver": "^7.3.2",
-            "tsutils": "^3.17.1"
-          }
-        },
-        "@typescript-eslint/visitor-keys": {
-          "version": "3.10.1",
-          "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz",
-          "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==",
-          "dev": true,
-          "requires": {
-            "eslint-visitor-keys": "^1.1.0"
-          }
-        },
-        "eslint-utils": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
-          "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
-          "dev": true,
-          "requires": {
-            "eslint-visitor-keys": "^1.1.0"
-          }
-        },
-        "eslint-visitor-keys": {
-          "version": "1.3.0",
-          "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
-          "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
-          "dev": true
-        }
-      }
-    },
-    "eslint-scope": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
-      "dev": true,
-      "requires": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^4.1.1"
-      },
-      "dependencies": {
-        "estraverse": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-          "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-          "dev": true
-        }
-      }
-    },
-    "eslint-utils": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
-      "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
-      "dev": true,
-      "requires": {
-        "eslint-visitor-keys": "^2.0.0"
-      }
-    },
-    "eslint-visitor-keys": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
-      "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
-      "dev": true
-    },
-    "eslint-webpack-plugin": {
-      "version": "2.5.4",
-      "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-2.5.4.tgz",
-      "integrity": "sha512-7rYh0m76KyKSDE+B+2PUQrlNS4HJ51t3WKpkJg6vo2jFMbEPTG99cBV0Dm7LXSHucN4WGCG65wQcRiTFrj7iWw==",
-      "dev": true,
-      "requires": {
-        "@types/eslint": "^7.2.6",
-        "arrify": "^2.0.1",
-        "jest-worker": "^26.6.2",
-        "micromatch": "^4.0.2",
-        "normalize-path": "^3.0.0",
-        "schema-utils": "^3.0.0"
-      },
-      "dependencies": {
-        "schema-utils": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
-          "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
-          "dev": true,
-          "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
-          }
-        }
-      }
-    },
-    "espree": {
-      "version": "7.3.1",
-      "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
-      "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
-      "dev": true,
-      "requires": {
-        "acorn": "^7.4.0",
-        "acorn-jsx": "^5.3.1",
-        "eslint-visitor-keys": "^1.3.0"
-      },
-      "dependencies": {
-        "eslint-visitor-keys": {
-          "version": "1.3.0",
-          "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
-          "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
-          "dev": true
-        }
-      }
-    },
-    "esprima": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
-      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
-    },
-    "esquery": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
-      "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
-      "dev": true,
-      "requires": {
-        "estraverse": "^5.1.0"
-      }
-    },
-    "esrecurse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
-      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
-      "dev": true,
-      "requires": {
-        "estraverse": "^5.2.0"
-      }
-    },
-    "estraverse": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
-      "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ=="
-    },
-    "estree-walker": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
-      "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
-      "dev": true
-    },
-    "esutils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
-      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
-    },
-    "etag": {
-      "version": "1.8.1",
-      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
-      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
-      "dev": true
-    },
-    "eventemitter3": {
-      "version": "4.0.7",
-      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
-      "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
-      "dev": true
-    },
-    "events": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true
-    },
-    "eventsource": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz",
-      "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==",
-      "dev": true,
-      "requires": {
-        "original": "^1.0.0"
-      }
-    },
-    "evp_bytestokey": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
-      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "dev": true,
-      "requires": {
-        "md5.js": "^1.3.4",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "exec-sh": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz",
-      "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==",
-      "dev": true
-    },
-    "execa": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
-      "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
-      "dev": true,
-      "requires": {
-        "cross-spawn": "^7.0.0",
-        "get-stream": "^5.0.0",
-        "human-signals": "^1.1.1",
-        "is-stream": "^2.0.0",
-        "merge-stream": "^2.0.0",
-        "npm-run-path": "^4.0.0",
-        "onetime": "^5.1.0",
-        "signal-exit": "^3.0.2",
-        "strip-final-newline": "^2.0.0"
-      }
-    },
-    "exit": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
-      "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
-      "dev": true
-    },
-    "expand-brackets": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
-      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "dev": true,
-      "requires": {
-        "debug": "^2.3.3",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "posix-character-classes": "^0.1.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "0.1.6",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-          "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "is-data-descriptor": {
-          "version": "0.1.4",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-          "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "is-descriptor": {
-          "version": "0.1.6",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-          "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^0.1.6",
-            "is-data-descriptor": "^0.1.4",
-            "kind-of": "^5.0.0"
-          }
-        },
-        "is-extendable": {
-          "version": "0.1.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-          "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-          "dev": true
-        },
-        "kind-of": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-          "dev": true
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "expect": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz",
-      "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==",
-      "dev": true,
-      "requires": {
-        "@jest/types": "^26.6.2",
-        "ansi-styles": "^4.0.0",
-        "jest-get-type": "^26.3.0",
-        "jest-matcher-utils": "^26.6.2",
-        "jest-message-util": "^26.6.2",
-        "jest-regex-util": "^26.0.0"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "jest-get-type": {
-          "version": "26.3.0",
-          "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-          "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "express": {
-      "version": "4.17.1",
-      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
-      "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.7",
-        "array-flatten": "1.1.1",
-        "body-parser": "1.19.0",
-        "content-disposition": "0.5.3",
-        "content-type": "~1.0.4",
-        "cookie": "0.4.0",
-        "cookie-signature": "1.0.6",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "finalhandler": "~1.1.2",
-        "fresh": "0.5.2",
-        "merge-descriptors": "1.0.1",
-        "methods": "~1.1.2",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.7",
-        "proxy-addr": "~2.0.5",
-        "qs": "6.7.0",
-        "range-parser": "~1.2.1",
-        "safe-buffer": "5.1.2",
-        "send": "0.17.1",
-        "serve-static": "1.14.1",
-        "setprototypeof": "1.1.1",
-        "statuses": "~1.5.0",
-        "type-is": "~1.6.18",
-        "utils-merge": "1.0.1",
-        "vary": "~1.1.2"
-      },
-      "dependencies": {
-        "array-flatten": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
-          "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
-          "dev": true
-        },
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "path-to-regexp": {
-          "version": "0.1.7",
-          "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
-          "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
-          "dev": true
-        }
-      }
-    },
-    "ext": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/ext/-/ext-1.5.0.tgz",
-      "integrity": "sha512-+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q==",
-      "dev": true,
-      "requires": {
-        "type": "^2.5.0"
-      },
-      "dependencies": {
-        "type": {
-          "version": "2.5.0",
-          "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
-          "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==",
-          "dev": true
-        }
-      }
-    },
-    "extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "requires": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      }
-    },
-    "extglob": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
-      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
-      "requires": {
-        "array-unique": "^0.3.2",
-        "define-property": "^1.0.0",
-        "expand-brackets": "^2.1.4",
-        "extend-shallow": "^2.0.1",
-        "fragment-cache": "^0.2.1",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "is-extendable": {
-          "version": "0.1.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-          "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-          "dev": true
-        }
-      }
-    },
-    "fast-deep-equal": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
-      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
-      "dev": true
-    },
-    "fast-diff": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
-      "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
-      "dev": true
-    },
-    "fast-glob": {
-      "version": "3.2.7",
-      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
-      "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
-      "dev": true,
-      "requires": {
-        "@nodelib/fs.stat": "^2.0.2",
-        "@nodelib/fs.walk": "^1.2.3",
-        "glob-parent": "^5.1.2",
-        "merge2": "^1.3.0",
-        "micromatch": "^4.0.4"
-      }
-    },
-    "fast-json-stable-stringify": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
-      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
-      "dev": true
-    },
-    "fast-levenshtein": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
-      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
-    },
-    "fastq": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz",
-      "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==",
-      "dev": true,
-      "requires": {
-        "reusify": "^1.0.4"
-      }
-    },
-    "faye-websocket": {
-      "version": "0.11.4",
-      "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
-      "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
-      "dev": true,
-      "requires": {
-        "websocket-driver": ">=0.5.1"
-      }
-    },
-    "fb-watchman": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
-      "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
-      "dev": true,
-      "requires": {
-        "bser": "2.1.1"
-      }
-    },
-    "figgy-pudding": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
-      "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
-      "dev": true
-    },
-    "file-entry-cache": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
-      "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
-      "dev": true,
-      "requires": {
-        "flat-cache": "^3.0.4"
-      }
-    },
-    "file-loader": {
-      "version": "6.1.1",
-      "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.1.1.tgz",
-      "integrity": "sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^2.0.0",
-        "schema-utils": "^3.0.0"
-      },
-      "dependencies": {
-        "schema-utils": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
-          "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
-          "dev": true,
-          "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
-          }
-        }
-      }
-    },
-    "file-uri-to-path": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
-      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
-      "dev": true,
-      "optional": true
-    },
-    "filesize": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz",
-      "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==",
-      "dev": true
-    },
-    "fill-range": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-      "requires": {
-        "to-regex-range": "^5.0.1"
-      }
-    },
-    "finalhandler": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
-      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
-      "dev": true,
-      "requires": {
-        "debug": "2.6.9",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "statuses": "~1.5.0",
-        "unpipe": "~1.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "find-cache-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
-      "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
-      "dev": true,
-      "requires": {
-        "commondir": "^1.0.1",
-        "make-dir": "^2.0.0",
-        "pkg-dir": "^3.0.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^3.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-          "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^3.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-          "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.0.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-          "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-          "dev": true,
-          "requires": {
-            "find-up": "^3.0.0"
-          }
-        }
-      }
-    },
-    "find-up": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
-      "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
-      "dev": true,
-      "requires": {
-        "locate-path": "^2.0.0"
-      }
-    },
-    "flat-cache": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
-      "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
-      "dev": true,
-      "requires": {
-        "flatted": "^3.1.0",
-        "rimraf": "^3.0.2"
-      }
-    },
-    "flatted": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz",
-      "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==",
-      "dev": true
-    },
-    "flatten": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz",
-      "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==",
-      "dev": true
-    },
-    "flush-write-stream": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
-      "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.3.6"
-      }
-    },
-    "follow-redirects": {
-      "version": "1.14.3",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.3.tgz",
-      "integrity": "sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw==",
-      "dev": true
-    },
-    "for-in": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true
-    },
-    "fork-ts-checker-webpack-plugin": {
-      "version": "4.1.6",
-      "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz",
-      "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.5.5",
-        "chalk": "^2.4.1",
-        "micromatch": "^3.1.10",
-        "minimatch": "^3.0.4",
-        "semver": "^5.6.0",
-        "tapable": "^1.0.0",
-        "worker-rpc": "^0.1.0"
-      },
-      "dependencies": {
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "is-extendable": {
-          "version": "0.1.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-          "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-          "dev": true
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          }
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "form-data": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
-      "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
-      "requires": {
-        "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.8",
-        "mime-types": "^2.1.12"
-      }
-    },
-    "forwarded": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
-      "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
-      "dev": true
-    },
-    "fragment-cache": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
-      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "dev": true,
-      "requires": {
-        "map-cache": "^0.2.2"
-      }
-    },
-    "fresh": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
-      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
-      "dev": true
-    },
-    "from2": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
-      "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0"
-      }
-    },
-    "fs-extra": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
-      "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
-      "dev": true,
-      "requires": {
-        "at-least-node": "^1.0.0",
-        "graceful-fs": "^4.2.0",
-        "jsonfile": "^6.0.1",
-        "universalify": "^2.0.0"
-      }
-    },
-    "fs-minipass": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
-      "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
-      "dev": true,
-      "requires": {
-        "minipass": "^3.0.0"
-      }
-    },
-    "fs-write-stream-atomic": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
-      "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "iferr": "^0.1.5",
-        "imurmurhash": "^0.1.4",
-        "readable-stream": "1 || 2"
-      }
-    },
-    "fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
-      "dev": true
-    },
-    "fsevents": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
-      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-      "optional": true
-    },
-    "function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
-    },
-    "function.prototype.name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.4.tgz",
-      "integrity": "sha512-iqy1pIotY/RmhdFZygSSlW0wko2yxkSCKqsuv4pr8QESohpYyG/Z7B/XXvPRKTJS//960rgguE5mSRUsDdaJrQ==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.2",
-        "functions-have-names": "^1.2.2"
-      }
-    },
-    "functional-red-black-tree": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
-      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
-      "dev": true
-    },
-    "functions-have-names": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.2.tgz",
-      "integrity": "sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==",
-      "dev": true
-    },
-    "gensync": {
-      "version": "1.0.0-beta.2",
-      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
-      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
-      "dev": true
-    },
-    "get-caller-file": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
-      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
-      "dev": true
-    },
-    "get-intrinsic": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
-      "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
-      "requires": {
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.1"
-      }
-    },
-    "get-own-enumerable-property-symbols": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
-      "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==",
-      "dev": true
-    },
-    "get-package-type": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
-      "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
-      "dev": true
-    },
-    "get-stream": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
-      "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
-      "dev": true,
-      "requires": {
-        "pump": "^3.0.0"
-      }
-    },
-    "get-value": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true
-    },
-    "glob": {
-      "version": "7.1.7",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
-      "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
-      "dev": true,
-      "requires": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.0.4",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      }
-    },
-    "glob-parent": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
-      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-      "requires": {
-        "is-glob": "^4.0.1"
-      }
-    },
-    "global-modules": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
-      "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
-      "dev": true,
-      "requires": {
-        "global-prefix": "^3.0.0"
-      }
-    },
-    "global-prefix": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
-      "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
-      "dev": true,
-      "requires": {
-        "ini": "^1.3.5",
-        "kind-of": "^6.0.2",
-        "which": "^1.3.1"
-      },
-      "dependencies": {
-        "which": {
-          "version": "1.3.1",
-          "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-          "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-          "dev": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        }
-      }
-    },
-    "globals": {
-      "version": "11.12.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-      "dev": true
-    },
-    "globby": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
-      "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
-      "dev": true,
-      "requires": {
-        "array-union": "^2.1.0",
-        "dir-glob": "^3.0.1",
-        "fast-glob": "^3.1.1",
-        "ignore": "^5.1.4",
-        "merge2": "^1.3.0",
-        "slash": "^3.0.0"
-      },
-      "dependencies": {
-        "ignore": {
-          "version": "5.1.8",
-          "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
-          "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
-          "dev": true
-        }
-      }
-    },
-    "graceful-fs": {
-      "version": "4.2.8",
-      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
-      "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
-      "dev": true
-    },
-    "growly": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
-      "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
-      "dev": true,
-      "optional": true
-    },
-    "gud": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz",
-      "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw=="
-    },
-    "gzip-size": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz",
-      "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==",
-      "dev": true,
-      "requires": {
-        "duplexer": "^0.1.1",
-        "pify": "^4.0.1"
-      }
-    },
-    "handle-thing": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
-      "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
-      "dev": true
-    },
-    "harmony-reflect": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz",
-      "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==",
-      "dev": true
-    },
-    "has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-      "requires": {
-        "function-bind": "^1.1.1"
-      }
-    },
-    "has-bigints": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz",
-      "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==",
-      "dev": true
-    },
-    "has-flag": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-      "dev": true
-    },
-    "has-symbols": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
-      "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw=="
-    },
-    "has-tostringtag": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
-      "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
-      "requires": {
-        "has-symbols": "^1.0.2"
-      }
-    },
-    "has-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
-      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "dev": true,
-      "requires": {
-        "get-value": "^2.0.6",
-        "has-values": "^1.0.0",
-        "isobject": "^3.0.0"
-      }
-    },
-    "has-values": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
-      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "dev": true,
-      "requires": {
-        "is-number": "^3.0.0",
-        "kind-of": "^4.0.0"
-      },
-      "dependencies": {
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "kind-of": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
-          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "hash-base": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
-      "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "3.6.0",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
-          "dev": true,
-          "requires": {
-            "inherits": "^2.0.3",
-            "string_decoder": "^1.1.1",
-            "util-deprecate": "^1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.2.1",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-          "dev": true
-        }
-      }
-    },
-    "hash.js": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
-      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "minimalistic-assert": "^1.0.1"
-      }
-    },
-    "he": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
-      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
-      "dev": true
-    },
-    "hex-color-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
-      "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==",
-      "dev": true
-    },
-    "history": {
-      "version": "4.10.1",
-      "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz",
-      "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==",
-      "requires": {
-        "@babel/runtime": "^7.1.2",
-        "loose-envify": "^1.2.0",
-        "resolve-pathname": "^3.0.0",
-        "tiny-invariant": "^1.0.2",
-        "tiny-warning": "^1.0.0",
-        "value-equal": "^1.0.1"
-      }
-    },
-    "hmac-drbg": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
-      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
-      "dev": true,
-      "requires": {
-        "hash.js": "^1.0.3",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "hoist-non-react-statics": {
-      "version": "3.3.2",
-      "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
-      "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
-      "requires": {
-        "react-is": "^16.7.0"
-      }
-    },
-    "hoopy": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
-      "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==",
-      "dev": true
-    },
-    "hosted-git-info": {
-      "version": "2.8.9",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
-      "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
-      "dev": true
-    },
-    "hpack.js": {
-      "version": "2.1.6",
-      "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
-      "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "obuf": "^1.0.0",
-        "readable-stream": "^2.0.1",
-        "wbuf": "^1.1.0"
-      }
-    },
-    "hsl-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz",
-      "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=",
-      "dev": true
-    },
-    "hsla-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
-      "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
-      "dev": true
-    },
-    "html-element-map": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.3.1.tgz",
-      "integrity": "sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==",
-      "dev": true,
-      "requires": {
-        "array.prototype.filter": "^1.0.0",
-        "call-bind": "^1.0.2"
-      }
-    },
-    "html-encoding-sniffer": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
-      "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
-      "requires": {
-        "whatwg-encoding": "^1.0.5"
-      }
-    },
-    "html-entities": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz",
-      "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==",
-      "dev": true
-    },
-    "html-escaper": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
-      "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
-      "dev": true
-    },
-    "html-minifier-terser": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
-      "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==",
-      "dev": true,
-      "requires": {
-        "camel-case": "^4.1.1",
-        "clean-css": "^4.2.3",
-        "commander": "^4.1.1",
-        "he": "^1.2.0",
-        "param-case": "^3.0.3",
-        "relateurl": "^0.2.7",
-        "terser": "^4.6.3"
-      }
-    },
-    "html-webpack-plugin": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz",
-      "integrity": "sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==",
-      "dev": true,
-      "requires": {
-        "@types/html-minifier-terser": "^5.0.0",
-        "@types/tapable": "^1.0.5",
-        "@types/webpack": "^4.41.8",
-        "html-minifier-terser": "^5.0.1",
-        "loader-utils": "^1.2.3",
-        "lodash": "^4.17.15",
-        "pretty-error": "^2.1.1",
-        "tapable": "^1.1.3",
-        "util.promisify": "1.0.0"
-      },
-      "dependencies": {
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
-          }
-        }
-      }
-    },
-    "htmlparser2": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz",
-      "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==",
-      "dev": true,
-      "requires": {
-        "domelementtype": "^2.0.1",
-        "domhandler": "^3.0.0",
-        "domutils": "^2.0.0",
-        "entities": "^2.0.0"
-      },
-      "dependencies": {
-        "domhandler": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz",
-          "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==",
-          "dev": true,
-          "requires": {
-            "domelementtype": "^2.0.1"
-          }
-        }
-      }
-    },
-    "http-deceiver": {
-      "version": "1.2.7",
-      "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
-      "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
-      "dev": true
-    },
-    "http-errors": {
-      "version": "1.7.2",
-      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
-      "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
-      "dev": true,
-      "requires": {
-        "depd": "~1.1.2",
-        "inherits": "2.0.3",
-        "setprototypeof": "1.1.1",
-        "statuses": ">= 1.5.0 < 2",
-        "toidentifier": "1.0.0"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        }
-      }
-    },
-    "http-parser-js": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz",
-      "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==",
-      "dev": true
-    },
-    "http-proxy": {
-      "version": "1.18.1",
-      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
-      "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
-      "dev": true,
-      "requires": {
-        "eventemitter3": "^4.0.0",
-        "follow-redirects": "^1.0.0",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "http-proxy-agent": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
-      "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
-      "requires": {
-        "@tootallnate/once": "1",
-        "agent-base": "6",
-        "debug": "4"
-      }
-    },
-    "http-proxy-middleware": {
-      "version": "0.19.1",
-      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
-      "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
-      "dev": true,
-      "requires": {
-        "http-proxy": "^1.17.0",
-        "is-glob": "^4.0.0",
-        "lodash": "^4.17.11",
-        "micromatch": "^3.1.10"
-      },
-      "dependencies": {
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "is-extendable": {
-          "version": "0.1.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-          "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-          "dev": true
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "https-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
-      "dev": true
-    },
-    "https-proxy-agent": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
-      "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
-      "requires": {
-        "agent-base": "6",
-        "debug": "4"
-      }
-    },
-    "human-signals": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
-      "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
-      "dev": true
-    },
-    "i": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz",
-      "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0="
-    },
-    "iconv-lite": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
-      "requires": {
-        "safer-buffer": ">= 2.1.2 < 3"
-      }
-    },
-    "icss-utils": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz",
-      "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.14"
-      }
-    },
-    "identity-obj-proxy": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz",
-      "integrity": "sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=",
-      "dev": true,
-      "requires": {
-        "harmony-reflect": "^1.4.6"
-      }
-    },
-    "ieee754": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
-      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
-      "dev": true
-    },
-    "iferr": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
-      "dev": true
-    },
-    "ignore": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
-      "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
-      "dev": true
-    },
-    "immer": {
-      "version": "8.0.1",
-      "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz",
-      "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==",
-      "dev": true
-    },
-    "import-cwd": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
-      "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
-      "dev": true,
-      "requires": {
-        "import-from": "^2.1.0"
-      }
-    },
-    "import-fresh": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
-      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
-      "dev": true,
-      "requires": {
-        "parent-module": "^1.0.0",
-        "resolve-from": "^4.0.0"
-      }
-    },
-    "import-from": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
-      "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
-      "dev": true,
-      "requires": {
-        "resolve-from": "^3.0.0"
-      },
-      "dependencies": {
-        "resolve-from": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-          "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-          "dev": true
-        }
-      }
-    },
-    "import-local": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
-      "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
-      "dev": true,
-      "requires": {
-        "pkg-dir": "^4.2.0",
-        "resolve-cwd": "^3.0.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
-          "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
-          "dev": true,
-          "requires": {
-            "find-up": "^4.0.0"
-          }
-        }
-      }
-    },
-    "imurmurhash": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
-      "dev": true
-    },
-    "indent-string": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
-      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
-      "dev": true
-    },
-    "indexes-of": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
-      "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
-      "dev": true
-    },
-    "infer-owner": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
-      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
-      "dev": true
-    },
-    "inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
-      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
-      "dev": true,
-      "requires": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
-    "inherits": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
-      "dev": true
-    },
-    "ini": {
-      "version": "1.3.8",
-      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
-      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
-      "dev": true
-    },
-    "internal-ip": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
-      "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==",
-      "dev": true,
-      "requires": {
-        "default-gateway": "^4.2.0",
-        "ipaddr.js": "^1.9.0"
-      }
-    },
-    "internal-slot": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
-      "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
-      "dev": true,
-      "requires": {
-        "get-intrinsic": "^1.1.0",
-        "has": "^1.0.3",
-        "side-channel": "^1.0.4"
-      }
-    },
-    "ip": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
-      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
-      "dev": true
-    },
-    "ip-regex": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
-      "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
-      "dev": true
-    },
-    "ipaddr.js": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
-      "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
-      "dev": true
-    },
-    "is-absolute-url": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
-      "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
-      "dev": true
-    },
-    "is-accessor-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
-      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
-      "requires": {
-        "kind-of": "^6.0.0"
-      }
-    },
-    "is-arguments": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
-      "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
-      "requires": {
-        "call-bind": "^1.0.2",
-        "has-tostringtag": "^1.0.0"
-      }
-    },
-    "is-arrayish": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
-      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
-      "dev": true
-    },
-    "is-bigint": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
-      "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
-      "dev": true,
-      "requires": {
-        "has-bigints": "^1.0.1"
-      }
-    },
-    "is-binary-path": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
-      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-      "requires": {
-        "binary-extensions": "^2.0.0"
-      }
-    },
-    "is-boolean-object": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
-      "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "has-tostringtag": "^1.0.0"
-      }
-    },
-    "is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
-    },
-    "is-callable": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
-      "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
-      "dev": true
-    },
-    "is-ci": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
-      "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
-      "dev": true,
-      "requires": {
-        "ci-info": "^2.0.0"
-      }
-    },
-    "is-color-stop": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
-      "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
-      "dev": true,
-      "requires": {
-        "css-color-names": "^0.0.4",
-        "hex-color-regex": "^1.1.0",
-        "hsl-regex": "^1.0.0",
-        "hsla-regex": "^1.0.0",
-        "rgb-regex": "^1.0.1",
-        "rgba-regex": "^1.0.0"
-      }
-    },
-    "is-core-module": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz",
-      "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==",
-      "dev": true,
-      "requires": {
-        "has": "^1.0.3"
-      }
-    },
-    "is-data-descriptor": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
-      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
-      "requires": {
-        "kind-of": "^6.0.0"
-      }
-    },
-    "is-date-object": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
-      "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
-      "requires": {
-        "has-tostringtag": "^1.0.0"
-      }
-    },
-    "is-descriptor": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
-      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
-      "requires": {
-        "is-accessor-descriptor": "^1.0.0",
-        "is-data-descriptor": "^1.0.0",
-        "kind-of": "^6.0.2"
-      }
-    },
-    "is-directory": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
-      "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
-      "dev": true
-    },
-    "is-docker": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
-      "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
-      "dev": true
-    },
-    "is-extendable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
-      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
-      "requires": {
-        "is-plain-object": "^2.0.4"
-      },
-      "dependencies": {
-        "is-plain-object": {
-          "version": "2.0.4",
-          "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
-          "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-          "dev": true,
-          "requires": {
-            "isobject": "^3.0.1"
-          }
-        }
-      }
-    },
-    "is-extglob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
-    },
-    "is-fullwidth-code-point": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-      "dev": true
-    },
-    "is-generator-fn": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
-      "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
-      "dev": true
-    },
-    "is-glob": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
-      "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
-      "requires": {
-        "is-extglob": "^2.1.1"
-      }
-    },
-    "is-module": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
-      "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
-      "dev": true
-    },
-    "is-negative-zero": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
-      "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
-      "dev": true
-    },
-    "is-number": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
-    },
-    "is-number-object": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz",
-      "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==",
-      "dev": true,
-      "requires": {
-        "has-tostringtag": "^1.0.0"
-      }
-    },
-    "is-obj": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
-      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
-      "dev": true
-    },
-    "is-path-cwd": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
-      "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
-      "dev": true
-    },
-    "is-path-in-cwd": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
-      "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
-      "dev": true,
-      "requires": {
-        "is-path-inside": "^2.1.0"
-      }
-    },
-    "is-path-inside": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
-      "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
-      "dev": true,
-      "requires": {
-        "path-is-inside": "^1.0.2"
-      }
-    },
-    "is-plain-obj": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
-      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
-      "dev": true
-    },
-    "is-plain-object": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
-      "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
-    },
-    "is-potential-custom-element-name": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
-      "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="
-    },
-    "is-regex": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
-      "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
-      "requires": {
-        "call-bind": "^1.0.2",
-        "has-tostringtag": "^1.0.0"
-      }
-    },
-    "is-regexp": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
-      "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
-      "dev": true
-    },
-    "is-resolvable": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
-      "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
-      "dev": true
-    },
-    "is-root": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz",
-      "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==",
-      "dev": true
-    },
-    "is-stream": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
-      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
-      "dev": true
-    },
-    "is-string": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
-      "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
-      "dev": true,
-      "requires": {
-        "has-tostringtag": "^1.0.0"
-      }
-    },
-    "is-subset": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz",
-      "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=",
-      "dev": true
-    },
-    "is-symbol": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
-      "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
-      "dev": true,
-      "requires": {
-        "has-symbols": "^1.0.2"
-      }
-    },
-    "is-typedarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
-      "dev": true
-    },
-    "is-windows": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "dev": true
-    },
-    "is-wsl": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
-      "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
-      "dev": true,
-      "requires": {
-        "is-docker": "^2.0.0"
-      }
-    },
-    "isarray": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
-      "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
-    },
-    "isexe": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
-      "dev": true
-    },
-    "isobject": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true
-    },
-    "istanbul-lib-coverage": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
-      "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
-      "dev": true
-    },
-    "istanbul-lib-instrument": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
-      "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
-      "dev": true,
-      "requires": {
-        "@babel/core": "^7.7.5",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-coverage": "^3.0.0",
-        "semver": "^6.3.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        }
-      }
-    },
-    "istanbul-lib-report": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
-      "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
-      "dev": true,
-      "requires": {
-        "istanbul-lib-coverage": "^3.0.0",
-        "make-dir": "^3.0.0",
-        "supports-color": "^7.1.0"
-      },
-      "dependencies": {
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "make-dir": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-          "dev": true,
-          "requires": {
-            "semver": "^6.0.0"
-          }
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "istanbul-lib-source-maps": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
-      "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.1",
-        "istanbul-lib-coverage": "^3.0.0",
-        "source-map": "^0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "istanbul-reports": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
-      "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
-      "dev": true,
-      "requires": {
-        "html-escaper": "^2.0.0",
-        "istanbul-lib-report": "^3.0.0"
-      }
-    },
-    "jest": {
-      "version": "26.6.0",
-      "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.0.tgz",
-      "integrity": "sha512-jxTmrvuecVISvKFFhOkjsWRZV7sFqdSUAd1ajOKY+/QE/aLBVstsJ/dX8GczLzwiT6ZEwwmZqtCUHLHHQVzcfA==",
-      "dev": true,
-      "requires": {
-        "@jest/core": "^26.6.0",
-        "import-local": "^3.0.2",
-        "jest-cli": "^26.6.0"
-      }
-    },
-    "jest-changed-files": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz",
-      "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==",
-      "dev": true,
-      "requires": {
-        "@jest/types": "^26.6.2",
-        "execa": "^4.0.0",
-        "throat": "^5.0.0"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-circus": {
-      "version": "26.6.0",
-      "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-26.6.0.tgz",
-      "integrity": "sha512-L2/Y9szN6FJPWFK8kzWXwfp+FOR7xq0cUL4lIsdbIdwz3Vh6P1nrpcqOleSzr28zOtSHQNV9Z7Tl+KkuK7t5Ng==",
-      "dev": true,
-      "requires": {
-        "@babel/traverse": "^7.1.0",
-        "@jest/environment": "^26.6.0",
-        "@jest/test-result": "^26.6.0",
-        "@jest/types": "^26.6.0",
-        "@types/babel__traverse": "^7.0.4",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "co": "^4.6.0",
-        "dedent": "^0.7.0",
-        "expect": "^26.6.0",
-        "is-generator-fn": "^2.0.0",
-        "jest-each": "^26.6.0",
-        "jest-matcher-utils": "^26.6.0",
-        "jest-message-util": "^26.6.0",
-        "jest-runner": "^26.6.0",
-        "jest-runtime": "^26.6.0",
-        "jest-snapshot": "^26.6.0",
-        "jest-util": "^26.6.0",
-        "pretty-format": "^26.6.0",
-        "stack-utils": "^2.0.2",
-        "throat": "^5.0.0"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "pretty-format": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-          "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "ansi-regex": "^5.0.0",
-            "ansi-styles": "^4.0.0",
-            "react-is": "^17.0.1"
-          }
-        },
-        "react-is": {
-          "version": "17.0.2",
-          "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-          "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-cli": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz",
-      "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==",
-      "dev": true,
-      "requires": {
-        "@jest/core": "^26.6.3",
-        "@jest/test-result": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "chalk": "^4.0.0",
-        "exit": "^0.1.2",
-        "graceful-fs": "^4.2.4",
-        "import-local": "^3.0.2",
-        "is-ci": "^2.0.0",
-        "jest-config": "^26.6.3",
-        "jest-util": "^26.6.2",
-        "jest-validate": "^26.6.2",
-        "prompts": "^2.0.1",
-        "yargs": "^15.4.1"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "jest-config": {
-          "version": "26.6.3",
-          "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz",
-          "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==",
-          "dev": true,
-          "requires": {
-            "@babel/core": "^7.1.0",
-            "@jest/test-sequencer": "^26.6.3",
-            "@jest/types": "^26.6.2",
-            "babel-jest": "^26.6.3",
-            "chalk": "^4.0.0",
-            "deepmerge": "^4.2.2",
-            "glob": "^7.1.1",
-            "graceful-fs": "^4.2.4",
-            "jest-environment-jsdom": "^26.6.2",
-            "jest-environment-node": "^26.6.2",
-            "jest-get-type": "^26.3.0",
-            "jest-jasmine2": "^26.6.3",
-            "jest-regex-util": "^26.0.0",
-            "jest-resolve": "^26.6.2",
-            "jest-util": "^26.6.2",
-            "jest-validate": "^26.6.2",
-            "micromatch": "^4.0.2",
-            "pretty-format": "^26.6.2"
-          }
-        },
-        "jest-get-type": {
-          "version": "26.3.0",
-          "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-          "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-          "dev": true
-        },
-        "jest-resolve": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz",
-          "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "chalk": "^4.0.0",
-            "graceful-fs": "^4.2.4",
-            "jest-pnp-resolver": "^1.2.2",
-            "jest-util": "^26.6.2",
-            "read-pkg-up": "^7.0.1",
-            "resolve": "^1.18.1",
-            "slash": "^3.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "pretty-format": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-          "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "ansi-regex": "^5.0.0",
-            "ansi-styles": "^4.0.0",
-            "react-is": "^17.0.1"
-          }
-        },
-        "react-is": {
-          "version": "17.0.2",
-          "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-          "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-          "dev": true
-        },
-        "read-pkg": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-          "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-          "dev": true,
-          "requires": {
-            "@types/normalize-package-data": "^2.4.0",
-            "normalize-package-data": "^2.5.0",
-            "parse-json": "^5.0.0",
-            "type-fest": "^0.6.0"
-          },
-          "dependencies": {
-            "type-fest": {
-              "version": "0.6.0",
-              "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-              "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-              "dev": true
-            }
-          }
-        },
-        "read-pkg-up": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-          "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-          "dev": true,
-          "requires": {
-            "find-up": "^4.1.0",
-            "read-pkg": "^5.2.0",
-            "type-fest": "^0.8.1"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        },
-        "type-fest": {
-          "version": "0.8.1",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-          "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-          "dev": true
-        }
-      }
-    },
-    "jest-diff": {
-      "version": "27.1.0",
-      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.1.0.tgz",
-      "integrity": "sha512-rjfopEYl58g/SZTsQFmspBODvMSytL16I+cirnScWTLkQVXYVZfxm78DFfdIIXc05RCYuGjxJqrdyG4PIFzcJg==",
-      "dev": true,
-      "requires": {
-        "chalk": "^4.0.0",
-        "diff-sequences": "^27.0.6",
-        "jest-get-type": "^27.0.6",
-        "pretty-format": "^27.1.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-docblock": {
-      "version": "26.0.0",
-      "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz",
-      "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==",
-      "dev": true,
-      "requires": {
-        "detect-newline": "^3.0.0"
-      }
-    },
-    "jest-each": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz",
-      "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==",
-      "dev": true,
-      "requires": {
-        "@jest/types": "^26.6.2",
-        "chalk": "^4.0.0",
-        "jest-get-type": "^26.3.0",
-        "jest-util": "^26.6.2",
-        "pretty-format": "^26.6.2"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "jest-get-type": {
-          "version": "26.3.0",
-          "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-          "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-          "dev": true
-        },
-        "pretty-format": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-          "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "ansi-regex": "^5.0.0",
-            "ansi-styles": "^4.0.0",
-            "react-is": "^17.0.1"
-          }
-        },
-        "react-is": {
-          "version": "17.0.2",
-          "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-          "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-environment-jsdom": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz",
-      "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==",
-      "dev": true,
-      "requires": {
-        "@jest/environment": "^26.6.2",
-        "@jest/fake-timers": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "jest-mock": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "jsdom": "^16.4.0"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-environment-node": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz",
-      "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==",
-      "dev": true,
-      "requires": {
-        "@jest/environment": "^26.6.2",
-        "@jest/fake-timers": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "jest-mock": "^26.6.2",
-        "jest-util": "^26.6.2"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-fetch-mock": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz",
-      "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==",
-      "dev": true,
-      "requires": {
-        "cross-fetch": "^3.0.4",
-        "promise-polyfill": "^8.1.3"
-      }
-    },
-    "jest-get-type": {
-      "version": "27.0.6",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.6.tgz",
-      "integrity": "sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==",
-      "dev": true
-    },
-    "jest-haste-map": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz",
-      "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==",
-      "dev": true,
-      "requires": {
-        "@jest/types": "^26.6.2",
-        "@types/graceful-fs": "^4.1.2",
-        "@types/node": "*",
-        "anymatch": "^3.0.3",
-        "fb-watchman": "^2.0.0",
-        "fsevents": "^2.1.2",
-        "graceful-fs": "^4.2.4",
-        "jest-regex-util": "^26.0.0",
-        "jest-serializer": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "jest-worker": "^26.6.2",
-        "micromatch": "^4.0.2",
-        "sane": "^4.0.3",
-        "walker": "^1.0.7"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-jasmine2": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz",
-      "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==",
-      "dev": true,
-      "requires": {
-        "@babel/traverse": "^7.1.0",
-        "@jest/environment": "^26.6.2",
-        "@jest/source-map": "^26.6.2",
-        "@jest/test-result": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "co": "^4.6.0",
-        "expect": "^26.6.2",
-        "is-generator-fn": "^2.0.0",
-        "jest-each": "^26.6.2",
-        "jest-matcher-utils": "^26.6.2",
-        "jest-message-util": "^26.6.2",
-        "jest-runtime": "^26.6.3",
-        "jest-snapshot": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "pretty-format": "^26.6.2",
-        "throat": "^5.0.0"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "pretty-format": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-          "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "ansi-regex": "^5.0.0",
-            "ansi-styles": "^4.0.0",
-            "react-is": "^17.0.1"
-          }
-        },
-        "react-is": {
-          "version": "17.0.2",
-          "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-          "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-leak-detector": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz",
-      "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==",
-      "dev": true,
-      "requires": {
-        "jest-get-type": "^26.3.0",
-        "pretty-format": "^26.6.2"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "jest-get-type": {
-          "version": "26.3.0",
-          "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-          "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-          "dev": true
-        },
-        "pretty-format": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-          "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "ansi-regex": "^5.0.0",
-            "ansi-styles": "^4.0.0",
-            "react-is": "^17.0.1"
-          }
-        },
-        "react-is": {
-          "version": "17.0.2",
-          "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-          "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-matcher-utils": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz",
-      "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==",
-      "dev": true,
-      "requires": {
-        "chalk": "^4.0.0",
-        "jest-diff": "^26.6.2",
-        "jest-get-type": "^26.3.0",
-        "pretty-format": "^26.6.2"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "diff-sequences": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
-          "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "jest-diff": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz",
-          "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==",
-          "dev": true,
-          "requires": {
-            "chalk": "^4.0.0",
-            "diff-sequences": "^26.6.2",
-            "jest-get-type": "^26.3.0",
-            "pretty-format": "^26.6.2"
-          }
-        },
-        "jest-get-type": {
-          "version": "26.3.0",
-          "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-          "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-          "dev": true
-        },
-        "pretty-format": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-          "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "ansi-regex": "^5.0.0",
-            "ansi-styles": "^4.0.0",
-            "react-is": "^17.0.1"
-          }
-        },
-        "react-is": {
-          "version": "17.0.2",
-          "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-          "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-message-util": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz",
-      "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "@jest/types": "^26.6.2",
-        "@types/stack-utils": "^2.0.0",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.4",
-        "micromatch": "^4.0.2",
-        "pretty-format": "^26.6.2",
-        "slash": "^3.0.0",
-        "stack-utils": "^2.0.2"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "pretty-format": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-          "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "ansi-regex": "^5.0.0",
-            "ansi-styles": "^4.0.0",
-            "react-is": "^17.0.1"
-          }
-        },
-        "react-is": {
-          "version": "17.0.2",
-          "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-          "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-mock": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz",
-      "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==",
-      "dev": true,
-      "requires": {
-        "@jest/types": "^26.6.2",
-        "@types/node": "*"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-pnp-resolver": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
-      "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
-      "dev": true,
-      "requires": {}
-    },
-    "jest-regex-util": {
-      "version": "26.0.0",
-      "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz",
-      "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==",
-      "dev": true
-    },
-    "jest-resolve": {
-      "version": "26.6.0",
-      "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.0.tgz",
-      "integrity": "sha512-tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ==",
-      "dev": true,
-      "requires": {
-        "@jest/types": "^26.6.0",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.4",
-        "jest-pnp-resolver": "^1.2.2",
-        "jest-util": "^26.6.0",
-        "read-pkg-up": "^7.0.1",
-        "resolve": "^1.17.0",
-        "slash": "^3.0.0"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "read-pkg": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-          "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-          "dev": true,
-          "requires": {
-            "@types/normalize-package-data": "^2.4.0",
-            "normalize-package-data": "^2.5.0",
-            "parse-json": "^5.0.0",
-            "type-fest": "^0.6.0"
-          },
-          "dependencies": {
-            "type-fest": {
-              "version": "0.6.0",
-              "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-              "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-              "dev": true
-            }
-          }
-        },
-        "read-pkg-up": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-          "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-          "dev": true,
-          "requires": {
-            "find-up": "^4.1.0",
-            "read-pkg": "^5.2.0",
-            "type-fest": "^0.8.1"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        },
-        "type-fest": {
-          "version": "0.8.1",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-          "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-          "dev": true
-        }
-      }
-    },
-    "jest-resolve-dependencies": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz",
-      "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==",
-      "dev": true,
-      "requires": {
-        "@jest/types": "^26.6.2",
-        "jest-regex-util": "^26.0.0",
-        "jest-snapshot": "^26.6.2"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-runner": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz",
-      "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==",
-      "dev": true,
-      "requires": {
-        "@jest/console": "^26.6.2",
-        "@jest/environment": "^26.6.2",
-        "@jest/test-result": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "emittery": "^0.7.1",
-        "exit": "^0.1.2",
-        "graceful-fs": "^4.2.4",
-        "jest-config": "^26.6.3",
-        "jest-docblock": "^26.0.0",
-        "jest-haste-map": "^26.6.2",
-        "jest-leak-detector": "^26.6.2",
-        "jest-message-util": "^26.6.2",
-        "jest-resolve": "^26.6.2",
-        "jest-runtime": "^26.6.3",
-        "jest-util": "^26.6.2",
-        "jest-worker": "^26.6.2",
-        "source-map-support": "^0.5.6",
-        "throat": "^5.0.0"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "jest-config": {
-          "version": "26.6.3",
-          "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz",
-          "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==",
-          "dev": true,
-          "requires": {
-            "@babel/core": "^7.1.0",
-            "@jest/test-sequencer": "^26.6.3",
-            "@jest/types": "^26.6.2",
-            "babel-jest": "^26.6.3",
-            "chalk": "^4.0.0",
-            "deepmerge": "^4.2.2",
-            "glob": "^7.1.1",
-            "graceful-fs": "^4.2.4",
-            "jest-environment-jsdom": "^26.6.2",
-            "jest-environment-node": "^26.6.2",
-            "jest-get-type": "^26.3.0",
-            "jest-jasmine2": "^26.6.3",
-            "jest-regex-util": "^26.0.0",
-            "jest-resolve": "^26.6.2",
-            "jest-util": "^26.6.2",
-            "jest-validate": "^26.6.2",
-            "micromatch": "^4.0.2",
-            "pretty-format": "^26.6.2"
-          }
-        },
-        "jest-get-type": {
-          "version": "26.3.0",
-          "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-          "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-          "dev": true
-        },
-        "jest-resolve": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz",
-          "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "chalk": "^4.0.0",
-            "graceful-fs": "^4.2.4",
-            "jest-pnp-resolver": "^1.2.2",
-            "jest-util": "^26.6.2",
-            "read-pkg-up": "^7.0.1",
-            "resolve": "^1.18.1",
-            "slash": "^3.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "pretty-format": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-          "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "ansi-regex": "^5.0.0",
-            "ansi-styles": "^4.0.0",
-            "react-is": "^17.0.1"
-          }
-        },
-        "react-is": {
-          "version": "17.0.2",
-          "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-          "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-          "dev": true
-        },
-        "read-pkg": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-          "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-          "dev": true,
-          "requires": {
-            "@types/normalize-package-data": "^2.4.0",
-            "normalize-package-data": "^2.5.0",
-            "parse-json": "^5.0.0",
-            "type-fest": "^0.6.0"
-          },
-          "dependencies": {
-            "type-fest": {
-              "version": "0.6.0",
-              "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-              "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-              "dev": true
-            }
-          }
-        },
-        "read-pkg-up": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-          "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-          "dev": true,
-          "requires": {
-            "find-up": "^4.1.0",
-            "read-pkg": "^5.2.0",
-            "type-fest": "^0.8.1"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        },
-        "type-fest": {
-          "version": "0.8.1",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-          "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-          "dev": true
-        }
-      }
-    },
-    "jest-runtime": {
-      "version": "26.6.3",
-      "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz",
-      "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==",
-      "dev": true,
-      "requires": {
-        "@jest/console": "^26.6.2",
-        "@jest/environment": "^26.6.2",
-        "@jest/fake-timers": "^26.6.2",
-        "@jest/globals": "^26.6.2",
-        "@jest/source-map": "^26.6.2",
-        "@jest/test-result": "^26.6.2",
-        "@jest/transform": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/yargs": "^15.0.0",
-        "chalk": "^4.0.0",
-        "cjs-module-lexer": "^0.6.0",
-        "collect-v8-coverage": "^1.0.0",
-        "exit": "^0.1.2",
-        "glob": "^7.1.3",
-        "graceful-fs": "^4.2.4",
-        "jest-config": "^26.6.3",
-        "jest-haste-map": "^26.6.2",
-        "jest-message-util": "^26.6.2",
-        "jest-mock": "^26.6.2",
-        "jest-regex-util": "^26.0.0",
-        "jest-resolve": "^26.6.2",
-        "jest-snapshot": "^26.6.2",
-        "jest-util": "^26.6.2",
-        "jest-validate": "^26.6.2",
-        "slash": "^3.0.0",
-        "strip-bom": "^4.0.0",
-        "yargs": "^15.4.1"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "jest-config": {
-          "version": "26.6.3",
-          "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz",
-          "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==",
-          "dev": true,
-          "requires": {
-            "@babel/core": "^7.1.0",
-            "@jest/test-sequencer": "^26.6.3",
-            "@jest/types": "^26.6.2",
-            "babel-jest": "^26.6.3",
-            "chalk": "^4.0.0",
-            "deepmerge": "^4.2.2",
-            "glob": "^7.1.1",
-            "graceful-fs": "^4.2.4",
-            "jest-environment-jsdom": "^26.6.2",
-            "jest-environment-node": "^26.6.2",
-            "jest-get-type": "^26.3.0",
-            "jest-jasmine2": "^26.6.3",
-            "jest-regex-util": "^26.0.0",
-            "jest-resolve": "^26.6.2",
-            "jest-util": "^26.6.2",
-            "jest-validate": "^26.6.2",
-            "micromatch": "^4.0.2",
-            "pretty-format": "^26.6.2"
-          }
-        },
-        "jest-get-type": {
-          "version": "26.3.0",
-          "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-          "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-          "dev": true
-        },
-        "jest-resolve": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz",
-          "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "chalk": "^4.0.0",
-            "graceful-fs": "^4.2.4",
-            "jest-pnp-resolver": "^1.2.2",
-            "jest-util": "^26.6.2",
-            "read-pkg-up": "^7.0.1",
-            "resolve": "^1.18.1",
-            "slash": "^3.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "pretty-format": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-          "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "ansi-regex": "^5.0.0",
-            "ansi-styles": "^4.0.0",
-            "react-is": "^17.0.1"
-          }
-        },
-        "react-is": {
-          "version": "17.0.2",
-          "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-          "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-          "dev": true
-        },
-        "read-pkg": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-          "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-          "dev": true,
-          "requires": {
-            "@types/normalize-package-data": "^2.4.0",
-            "normalize-package-data": "^2.5.0",
-            "parse-json": "^5.0.0",
-            "type-fest": "^0.6.0"
-          },
-          "dependencies": {
-            "type-fest": {
-              "version": "0.6.0",
-              "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-              "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-              "dev": true
-            }
-          }
-        },
-        "read-pkg-up": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-          "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-          "dev": true,
-          "requires": {
-            "find-up": "^4.1.0",
-            "read-pkg": "^5.2.0",
-            "type-fest": "^0.8.1"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        },
-        "type-fest": {
-          "version": "0.8.1",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-          "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-          "dev": true
-        }
-      }
-    },
-    "jest-serializer": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz",
-      "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==",
-      "dev": true,
-      "requires": {
-        "@types/node": "*",
-        "graceful-fs": "^4.2.4"
-      }
-    },
-    "jest-snapshot": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz",
-      "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0",
-        "@jest/types": "^26.6.2",
-        "@types/babel__traverse": "^7.0.4",
-        "@types/prettier": "^2.0.0",
-        "chalk": "^4.0.0",
-        "expect": "^26.6.2",
-        "graceful-fs": "^4.2.4",
-        "jest-diff": "^26.6.2",
-        "jest-get-type": "^26.3.0",
-        "jest-haste-map": "^26.6.2",
-        "jest-matcher-utils": "^26.6.2",
-        "jest-message-util": "^26.6.2",
-        "jest-resolve": "^26.6.2",
-        "natural-compare": "^1.4.0",
-        "pretty-format": "^26.6.2",
-        "semver": "^7.3.2"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "diff-sequences": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
-          "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==",
-          "dev": true
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "jest-diff": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz",
-          "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==",
-          "dev": true,
-          "requires": {
-            "chalk": "^4.0.0",
-            "diff-sequences": "^26.6.2",
-            "jest-get-type": "^26.3.0",
-            "pretty-format": "^26.6.2"
-          }
-        },
-        "jest-get-type": {
-          "version": "26.3.0",
-          "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-          "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-          "dev": true
-        },
-        "jest-resolve": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz",
-          "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "chalk": "^4.0.0",
-            "graceful-fs": "^4.2.4",
-            "jest-pnp-resolver": "^1.2.2",
-            "jest-util": "^26.6.2",
-            "read-pkg-up": "^7.0.1",
-            "resolve": "^1.18.1",
-            "slash": "^3.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "pretty-format": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-          "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "ansi-regex": "^5.0.0",
-            "ansi-styles": "^4.0.0",
-            "react-is": "^17.0.1"
-          }
-        },
-        "react-is": {
-          "version": "17.0.2",
-          "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-          "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-          "dev": true
-        },
-        "read-pkg": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-          "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-          "dev": true,
-          "requires": {
-            "@types/normalize-package-data": "^2.4.0",
-            "normalize-package-data": "^2.5.0",
-            "parse-json": "^5.0.0",
-            "type-fest": "^0.6.0"
-          },
-          "dependencies": {
-            "type-fest": {
-              "version": "0.6.0",
-              "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-              "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-              "dev": true
-            }
-          }
-        },
-        "read-pkg-up": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-          "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-          "dev": true,
-          "requires": {
-            "find-up": "^4.1.0",
-            "read-pkg": "^5.2.0",
-            "type-fest": "^0.8.1"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        },
-        "type-fest": {
-          "version": "0.8.1",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-          "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-          "dev": true
-        }
-      }
-    },
-    "jest-util": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz",
-      "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==",
-      "dev": true,
-      "requires": {
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.4",
-        "is-ci": "^2.0.0",
-        "micromatch": "^4.0.2"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-validate": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz",
-      "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==",
-      "dev": true,
-      "requires": {
-        "@jest/types": "^26.6.2",
-        "camelcase": "^6.0.0",
-        "chalk": "^4.0.0",
-        "jest-get-type": "^26.3.0",
-        "leven": "^3.1.0",
-        "pretty-format": "^26.6.2"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "jest-get-type": {
-          "version": "26.3.0",
-          "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
-          "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
-          "dev": true
-        },
-        "pretty-format": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
-          "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
-          "dev": true,
-          "requires": {
-            "@jest/types": "^26.6.2",
-            "ansi-regex": "^5.0.0",
-            "ansi-styles": "^4.0.0",
-            "react-is": "^17.0.1"
-          }
-        },
-        "react-is": {
-          "version": "17.0.2",
-          "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-          "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-watch-typeahead": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.6.1.tgz",
-      "integrity": "sha512-ITVnHhj3Jd/QkqQcTqZfRgjfyRhDFM/auzgVo2RKvSwi18YMvh0WvXDJFoFED6c7jd/5jxtu4kSOb9PTu2cPVg==",
-      "dev": true,
-      "requires": {
-        "ansi-escapes": "^4.3.1",
-        "chalk": "^4.0.0",
-        "jest-regex-util": "^26.0.0",
-        "jest-watcher": "^26.3.0",
-        "slash": "^3.0.0",
-        "string-length": "^4.0.1",
-        "strip-ansi": "^6.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-watcher": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz",
-      "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==",
-      "dev": true,
-      "requires": {
-        "@jest/test-result": "^26.6.2",
-        "@jest/types": "^26.6.2",
-        "@types/node": "*",
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^4.0.0",
-        "jest-util": "^26.6.2",
-        "string-length": "^4.0.1"
-      },
-      "dependencies": {
-        "@jest/types": {
-          "version": "26.6.2",
-          "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
-          "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
-          "dev": true,
-          "requires": {
-            "@types/istanbul-lib-coverage": "^2.0.0",
-            "@types/istanbul-reports": "^3.0.0",
-            "@types/node": "*",
-            "@types/yargs": "^15.0.0",
-            "chalk": "^4.0.0"
-          }
-        },
-        "@types/yargs": {
-          "version": "15.0.14",
-          "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz",
-          "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==",
-          "dev": true,
-          "requires": {
-            "@types/yargs-parser": "*"
-          }
-        },
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jest-worker": {
-      "version": "26.6.2",
-      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
-      "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
-      "dev": true,
-      "requires": {
-        "@types/node": "*",
-        "merge-stream": "^2.0.0",
-        "supports-color": "^7.0.0"
-      },
-      "dependencies": {
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "jquery": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
-      "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
-    },
-    "jquery.flot.tooltip": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/jquery.flot.tooltip/-/jquery.flot.tooltip-0.9.0.tgz",
-      "integrity": "sha1-rha/lLJsLtmrTbFnu6Ut/bYVwd8="
-    },
-    "js-tokens": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
-    },
-    "js-yaml": {
-      "version": "3.14.1",
-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
-      "dev": true,
-      "requires": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      }
-    },
-    "jsdom": {
-      "version": "16.7.0",
-      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
-      "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
-      "requires": {
-        "abab": "^2.0.5",
-        "acorn": "^8.2.4",
-        "acorn-globals": "^6.0.0",
-        "cssom": "^0.4.4",
-        "cssstyle": "^2.3.0",
-        "data-urls": "^2.0.0",
-        "decimal.js": "^10.2.1",
-        "domexception": "^2.0.1",
-        "escodegen": "^2.0.0",
-        "form-data": "^3.0.0",
-        "html-encoding-sniffer": "^2.0.1",
-        "http-proxy-agent": "^4.0.1",
-        "https-proxy-agent": "^5.0.0",
-        "is-potential-custom-element-name": "^1.0.1",
-        "nwsapi": "^2.2.0",
-        "parse5": "6.0.1",
-        "saxes": "^5.0.1",
-        "symbol-tree": "^3.2.4",
-        "tough-cookie": "^4.0.0",
-        "w3c-hr-time": "^1.0.2",
-        "w3c-xmlserializer": "^2.0.0",
-        "webidl-conversions": "^6.1.0",
-        "whatwg-encoding": "^1.0.5",
-        "whatwg-mimetype": "^2.3.0",
-        "whatwg-url": "^8.5.0",
-        "ws": "^7.4.6",
-        "xml-name-validator": "^3.0.0"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "8.5.0",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz",
-          "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q=="
-        }
-      }
-    },
-    "jsesc": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
-      "dev": true
-    },
-    "json-parse-better-errors": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
-      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
-      "dev": true
-    },
-    "json-parse-even-better-errors": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "dev": true
-    },
-    "json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "json-stable-stringify-without-jsonify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
-      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
-      "dev": true
-    },
-    "json3": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
-      "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==",
-      "dev": true
-    },
-    "json5": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
-      "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
-      "dev": true,
-      "requires": {
-        "minimist": "^1.2.5"
-      }
-    },
-    "jsonfile": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
-      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.6",
-        "universalify": "^2.0.0"
-      }
-    },
-    "jsx-ast-utils": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz",
-      "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==",
-      "dev": true,
-      "requires": {
-        "array-includes": "^3.1.2",
-        "object.assign": "^4.1.2"
-      }
-    },
-    "just-extend": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
-      "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==",
-      "dev": true
-    },
-    "killable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
-      "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==",
-      "dev": true
-    },
-    "kind-of": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
-      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-      "dev": true
-    },
-    "kleur": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
-      "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
-      "dev": true
-    },
-    "klona": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz",
-      "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA=="
-    },
-    "language-subtag-registry": {
-      "version": "0.3.21",
-      "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz",
-      "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==",
-      "dev": true
-    },
-    "language-tags": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
-      "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=",
-      "dev": true,
-      "requires": {
-        "language-subtag-registry": "~0.3.2"
-      }
-    },
-    "last-call-webpack-plugin": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz",
-      "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.5",
-        "webpack-sources": "^1.1.0"
-      }
-    },
-    "leven": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
-      "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
-      "dev": true
-    },
-    "levn": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
-      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
-      "dev": true,
-      "requires": {
-        "prelude-ls": "^1.2.1",
-        "type-check": "~0.4.0"
-      }
-    },
-    "lezer": {
-      "version": "0.13.5",
-      "resolved": "https://registry.npmjs.org/lezer/-/lezer-0.13.5.tgz",
-      "integrity": "sha512-cAiMQZGUo2BD8mpcz7Nv1TlKzWP7YIdIRrX41CiP5bk5t4GHxskOxWUx2iAOuHlz8dO+ivbuXr0J1bfHsWD+lQ==",
-      "requires": {
-        "lezer-tree": "^0.13.2"
-      }
-    },
-    "lezer-promql": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/lezer-promql/-/lezer-promql-0.20.0.tgz",
-      "integrity": "sha512-1CHG77fFghl032FfHT33buGyAHiTaMy2fqicEhcp2wWnbxZxS+Jt6gMzEUaf/TmRTIUJofj9uLar7iL22Jazug==",
-      "requires": {}
-    },
-    "lezer-tree": {
-      "version": "0.13.2",
-      "resolved": "https://registry.npmjs.org/lezer-tree/-/lezer-tree-0.13.2.tgz",
-      "integrity": "sha512-15ZxW8TxVNAOkHIo43Iouv4zbSkQQ5chQHBpwXcD2bBFz46RB4jYLEEww5l1V0xyIx9U2clSyyrLes+hAUFrGQ=="
-    },
-    "lines-and-columns": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
-      "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
-      "dev": true
-    },
-    "load-json-file": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
-      "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "parse-json": "^4.0.0",
-        "pify": "^3.0.0",
-        "strip-bom": "^3.0.0"
-      },
-      "dependencies": {
-        "parse-json": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
-          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
-          "dev": true,
-          "requires": {
-            "error-ex": "^1.3.1",
-            "json-parse-better-errors": "^1.0.1"
-          }
-        },
-        "pify": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-          "dev": true
-        },
-        "strip-bom": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-          "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
-          "dev": true
-        }
-      }
-    },
-    "loader-runner": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
-      "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
-      "dev": true
-    },
-    "loader-utils": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
-      "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
-      "dev": true,
-      "requires": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^2.1.2"
-      }
-    },
-    "locate-path": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
-      "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
-      "dev": true,
-      "requires": {
-        "p-locate": "^2.0.0",
-        "path-exists": "^3.0.0"
-      }
-    },
-    "lodash": {
-      "version": "4.17.21",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
-      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
-    },
-    "lodash._reinterpolate": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
-      "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
-      "dev": true
-    },
-    "lodash.clonedeep": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
-      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
-      "dev": true
-    },
-    "lodash.debounce": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
-      "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
-      "dev": true
-    },
-    "lodash.escape": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz",
-      "integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=",
-      "dev": true
-    },
-    "lodash.flattendeep": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
-      "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
-      "dev": true
-    },
-    "lodash.get": {
-      "version": "4.4.2",
-      "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
-      "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
-      "dev": true
-    },
-    "lodash.isequal": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
-      "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
-      "dev": true
-    },
-    "lodash.memoize": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
-      "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
-      "dev": true
-    },
-    "lodash.merge": {
-      "version": "4.6.2",
-      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
-      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
-      "dev": true
-    },
-    "lodash.template": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
-      "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
-      "dev": true,
-      "requires": {
-        "lodash._reinterpolate": "^3.0.0",
-        "lodash.templatesettings": "^4.0.0"
-      }
-    },
-    "lodash.templatesettings": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
-      "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
-      "dev": true,
-      "requires": {
-        "lodash._reinterpolate": "^3.0.0"
-      }
-    },
-    "lodash.truncate": {
-      "version": "4.4.2",
-      "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
-      "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
-      "dev": true
-    },
-    "lodash.uniq": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
-      "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
-      "dev": true
-    },
-    "loglevel": {
-      "version": "1.7.1",
-      "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz",
-      "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==",
-      "dev": true
-    },
-    "loose-envify": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
-      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
-      "requires": {
-        "js-tokens": "^3.0.0 || ^4.0.0"
-      }
-    },
-    "lower-case": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
-      "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
-      "dev": true,
-      "requires": {
-        "tslib": "^2.0.3"
-      }
-    },
-    "lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "requires": {
-        "yallist": "^4.0.0"
-      }
-    },
-    "magic-string": {
-      "version": "0.25.7",
-      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
-      "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
-      "dev": true,
-      "requires": {
-        "sourcemap-codec": "^1.4.4"
-      }
-    },
-    "make-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-      "dev": true,
-      "requires": {
-        "pify": "^4.0.1",
-        "semver": "^5.6.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "makeerror": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
-      "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
-      "dev": true,
-      "requires": {
-        "tmpl": "1.0.x"
-      }
-    },
-    "map-cache": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true
-    },
-    "map-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
-      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "dev": true,
-      "requires": {
-        "object-visit": "^1.0.0"
-      }
-    },
-    "md5.js": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
-      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "mdn-data": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
-      "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
-      "dev": true
-    },
-    "media-typer": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
-      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
-      "dev": true
-    },
-    "memory-fs": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
-      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
-      "dev": true,
-      "requires": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      }
-    },
-    "merge-descriptors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
-      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
-      "dev": true
-    },
-    "merge-stream": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
-      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
-      "dev": true
-    },
-    "merge2": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
-      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
-      "dev": true
-    },
-    "methods": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
-      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
-      "dev": true
-    },
-    "microevent.ts": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz",
-      "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==",
-      "dev": true
-    },
-    "micromatch": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
-      "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
-      "dev": true,
-      "requires": {
-        "braces": "^3.0.1",
-        "picomatch": "^2.2.3"
-      }
-    },
-    "miller-rabin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
-      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "brorand": "^1.0.1"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
-    "mime": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
-      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
-      "dev": true
-    },
-    "mime-db": {
-      "version": "1.49.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
-      "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA=="
-    },
-    "mime-types": {
-      "version": "2.1.32",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
-      "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
-      "requires": {
-        "mime-db": "1.49.0"
-      }
-    },
-    "mimic-fn": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
-      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
-      "dev": true
-    },
-    "mini-css-extract-plugin": {
-      "version": "0.11.3",
-      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz",
-      "integrity": "sha512-n9BA8LonkOkW1/zn+IbLPQmovsL0wMb9yx75fMJQZf2X1Zoec9yTZtyMePcyu19wPkmFbzZZA6fLTotpFhQsOA==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.1.0",
-        "normalize-url": "1.9.1",
-        "schema-utils": "^1.0.0",
-        "webpack-sources": "^1.1.0"
-      },
-      "dependencies": {
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
-          }
-        },
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        }
-      }
-    },
-    "minimalistic-assert": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
-      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
-      "dev": true
-    },
-    "minimalistic-crypto-utils": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
-      "dev": true
-    },
-    "minimatch": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
-      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
-      "dev": true,
-      "requires": {
-        "brace-expansion": "^1.1.7"
-      }
-    },
-    "minimist": {
-      "version": "1.2.5",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-      "dev": true
-    },
-    "minipass": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
-      "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
-      "dev": true,
-      "requires": {
-        "yallist": "^4.0.0"
-      }
-    },
-    "minipass-collect": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
-      "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
-      "dev": true,
-      "requires": {
-        "minipass": "^3.0.0"
-      }
-    },
-    "minipass-flush": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
-      "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
-      "dev": true,
-      "requires": {
-        "minipass": "^3.0.0"
-      }
-    },
-    "minipass-pipeline": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
-      "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
-      "dev": true,
-      "requires": {
-        "minipass": "^3.0.0"
-      }
-    },
-    "minizlib": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
-      "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
-      "dev": true,
-      "requires": {
-        "minipass": "^3.0.0",
-        "yallist": "^4.0.0"
-      }
-    },
-    "mississippi": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
-      "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
-      "dev": true,
-      "requires": {
-        "concat-stream": "^1.5.0",
-        "duplexify": "^3.4.2",
-        "end-of-stream": "^1.1.0",
-        "flush-write-stream": "^1.0.0",
-        "from2": "^2.1.0",
-        "parallel-transform": "^1.1.0",
-        "pump": "^3.0.0",
-        "pumpify": "^1.3.3",
-        "stream-each": "^1.1.0",
-        "through2": "^2.0.0"
-      }
-    },
-    "mixin-deep": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
-      "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "dev": true,
-      "requires": {
-        "for-in": "^1.0.2",
-        "is-extendable": "^1.0.1"
-      }
-    },
-    "mkdirp": {
-      "version": "0.5.5",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
-      "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
-      "dev": true,
-      "requires": {
-        "minimist": "^1.2.5"
-      }
-    },
-    "moment": {
-      "version": "2.29.1",
-      "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
-      "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
-    },
-    "moment-timezone": {
-      "version": "0.5.33",
-      "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.33.tgz",
-      "integrity": "sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==",
-      "requires": {
-        "moment": ">= 2.9.0"
-      }
-    },
-    "moo": {
-      "version": "0.5.1",
-      "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz",
-      "integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==",
-      "dev": true
-    },
-    "move-concurrently": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
-      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1",
-        "copy-concurrently": "^1.0.0",
-        "fs-write-stream-atomic": "^1.0.8",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.3"
-      },
-      "dependencies": {
-        "rimraf": {
-          "version": "2.7.1",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        }
-      }
-    },
-    "ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
-    },
-    "multicast-dns": {
-      "version": "6.2.3",
-      "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
-      "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
-      "dev": true,
-      "requires": {
-        "dns-packet": "^1.3.1",
-        "thunky": "^1.0.2"
-      }
-    },
-    "multicast-dns-service-types": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
-      "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
-      "dev": true
-    },
-    "mutationobserver-shim": {
-      "version": "0.3.7",
-      "resolved": "https://registry.npmjs.org/mutationobserver-shim/-/mutationobserver-shim-0.3.7.tgz",
-      "integrity": "sha512-oRIDTyZQU96nAiz2AQyngwx1e89iApl2hN5AOYwyxLUB47UYsU3Wv9lJWqH5y/QdiYkc5HQLi23ZNB3fELdHcQ==",
-      "dev": true
-    },
-    "nan": {
-      "version": "2.15.0",
-      "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz",
-      "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==",
-      "dev": true,
-      "optional": true
-    },
-    "nanoid": {
-      "version": "3.1.25",
-      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
-      "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q=="
-    },
-    "nanomatch": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
-      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
-      "requires": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "fragment-cache": "^0.2.1",
-        "is-windows": "^1.0.2",
-        "kind-of": "^6.0.2",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      }
-    },
-    "native-url": {
-      "version": "0.2.6",
-      "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz",
-      "integrity": "sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==",
-      "dev": true,
-      "requires": {
-        "querystring": "^0.2.0"
-      }
-    },
-    "natural-compare": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
-      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
-      "dev": true
-    },
-    "nearley": {
-      "version": "2.20.1",
-      "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz",
-      "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==",
-      "dev": true,
-      "requires": {
-        "commander": "^2.19.0",
-        "moo": "^0.5.0",
-        "railroad-diagrams": "^1.0.0",
-        "randexp": "0.4.6"
-      },
-      "dependencies": {
-        "commander": {
-          "version": "2.20.3",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-          "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-          "dev": true
-        }
-      }
-    },
-    "negotiator": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
-      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
-      "dev": true
-    },
-    "neo-async": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
-      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
-      "dev": true
-    },
-    "next-tick": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
-      "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
-      "dev": true
-    },
-    "nice-try": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
-      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
-      "dev": true
-    },
-    "nise": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz",
-      "integrity": "sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==",
-      "dev": true,
-      "requires": {
-        "@sinonjs/commons": "^1.7.0",
-        "@sinonjs/fake-timers": "^6.0.0",
-        "@sinonjs/text-encoding": "^0.7.1",
-        "just-extend": "^4.0.2",
-        "path-to-regexp": "^1.7.0"
-      }
-    },
-    "no-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
-      "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
-      "dev": true,
-      "requires": {
-        "lower-case": "^2.0.2",
-        "tslib": "^2.0.3"
-      }
-    },
-    "node-fetch": {
-      "version": "2.6.1",
-      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
-      "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
-      "dev": true
-    },
-    "node-forge": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",
-      "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==",
-      "dev": true
-    },
-    "node-int64": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
-      "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
-      "dev": true
-    },
-    "node-libs-browser": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
-      "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
-      "dev": true,
-      "requires": {
-        "assert": "^1.1.1",
-        "browserify-zlib": "^0.2.0",
-        "buffer": "^4.3.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "^1.0.0",
-        "crypto-browserify": "^3.11.0",
-        "domain-browser": "^1.1.1",
-        "events": "^3.0.0",
-        "https-browserify": "^1.0.0",
-        "os-browserify": "^0.3.0",
-        "path-browserify": "0.0.1",
-        "process": "^0.11.10",
-        "punycode": "^1.2.4",
-        "querystring-es3": "^0.2.0",
-        "readable-stream": "^2.3.3",
-        "stream-browserify": "^2.0.1",
-        "stream-http": "^2.7.2",
-        "string_decoder": "^1.0.0",
-        "timers-browserify": "^2.0.4",
-        "tty-browserify": "0.0.0",
-        "url": "^0.11.0",
-        "util": "^0.11.0",
-        "vm-browserify": "^1.0.1"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.4.1",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-          "dev": true
-        }
-      }
-    },
-    "node-modules-regexp": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
-      "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
-      "dev": true
-    },
-    "node-notifier": {
-      "version": "8.0.2",
-      "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz",
-      "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "growly": "^1.3.0",
-        "is-wsl": "^2.2.0",
-        "semver": "^7.3.2",
-        "shellwords": "^0.1.1",
-        "uuid": "^8.3.0",
-        "which": "^2.0.2"
-      }
-    },
-    "node-releases": {
-      "version": "1.1.75",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz",
-      "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==",
-      "dev": true
-    },
-    "normalize-package-data": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
-      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
-      "dev": true,
-      "requires": {
-        "hosted-git-info": "^2.1.4",
-        "resolve": "^1.10.0",
-        "semver": "2 || 3 || 4 || 5",
-        "validate-npm-package-license": "^3.0.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "normalize-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
-    },
-    "normalize-range": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
-      "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
-      "dev": true
-    },
-    "normalize-url": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
-      "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
-      "dev": true,
-      "requires": {
-        "object-assign": "^4.0.1",
-        "prepend-http": "^1.0.0",
-        "query-string": "^4.1.0",
-        "sort-keys": "^1.0.0"
-      }
-    },
-    "npm-run-path": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
-      "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
-      "dev": true,
-      "requires": {
-        "path-key": "^3.0.0"
-      }
-    },
-    "nth-check": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz",
-      "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==",
-      "dev": true,
-      "requires": {
-        "boolbase": "^1.0.0"
-      }
-    },
-    "num2fraction": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
-      "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
-      "dev": true
-    },
-    "nwsapi": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
-      "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ=="
-    },
-    "object-assign": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
-    },
-    "object-copy": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
-      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
-      "dev": true,
-      "requires": {
-        "copy-descriptor": "^0.1.0",
-        "define-property": "^0.2.5",
-        "kind-of": "^3.0.3"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "0.1.6",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-          "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "0.1.4",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-          "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          }
-        },
-        "is-descriptor": {
-          "version": "0.1.6",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-          "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^0.1.6",
-            "is-data-descriptor": "^0.1.4",
-            "kind-of": "^5.0.0"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "5.1.0",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-              "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-              "dev": true
-            }
-          }
-        },
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "object-inspect": {
-      "version": "1.11.0",
-      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz",
-      "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==",
-      "dev": true
-    },
-    "object-is": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
-      "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3"
-      }
-    },
-    "object-keys": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
-      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
-    },
-    "object-visit": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
-      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.0"
-      }
-    },
-    "object.assign": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
-      "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "has-symbols": "^1.0.1",
-        "object-keys": "^1.1.1"
-      }
-    },
-    "object.entries": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz",
-      "integrity": "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.2"
-      }
-    },
-    "object.fromentries": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz",
-      "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.2",
-        "has": "^1.0.3"
-      }
-    },
-    "object.getownpropertydescriptors": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz",
-      "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.2"
-      }
-    },
-    "object.pick": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
-      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "object.values": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz",
-      "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.2"
-      }
-    },
-    "obuf": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
-      "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
-      "dev": true
-    },
-    "on-finished": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
-      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
-      "dev": true,
-      "requires": {
-        "ee-first": "1.1.1"
-      }
-    },
-    "on-headers": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
-      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
-      "dev": true
-    },
-    "once": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
-      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
-      "dev": true,
-      "requires": {
-        "wrappy": "1"
-      }
-    },
-    "onetime": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
-      "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
-      "dev": true,
-      "requires": {
-        "mimic-fn": "^2.1.0"
-      }
-    },
-    "open": {
-      "version": "7.4.2",
-      "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz",
-      "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==",
-      "dev": true,
-      "requires": {
-        "is-docker": "^2.0.0",
-        "is-wsl": "^2.1.1"
-      }
-    },
-    "opn": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
-      "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
-      "dev": true,
-      "requires": {
-        "is-wsl": "^1.1.0"
-      },
-      "dependencies": {
-        "is-wsl": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
-          "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
-          "dev": true
-        }
-      }
-    },
-    "optimize-css-assets-webpack-plugin": {
-      "version": "5.0.4",
-      "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz",
-      "integrity": "sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==",
-      "dev": true,
-      "requires": {
-        "cssnano": "^4.1.10",
-        "last-call-webpack-plugin": "^3.0.0"
-      }
-    },
-    "optionator": {
-      "version": "0.9.1",
-      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
-      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
-      "dev": true,
-      "requires": {
-        "deep-is": "^0.1.3",
-        "fast-levenshtein": "^2.0.6",
-        "levn": "^0.4.1",
-        "prelude-ls": "^1.2.1",
-        "type-check": "^0.4.0",
-        "word-wrap": "^1.2.3"
-      }
-    },
-    "original": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
-      "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
-      "dev": true,
-      "requires": {
-        "url-parse": "^1.4.3"
-      }
-    },
-    "os-browserify": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
-      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
-      "dev": true
-    },
-    "p-each-series": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz",
-      "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==",
-      "dev": true
-    },
-    "p-finally": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
-      "dev": true
-    },
-    "p-limit": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
-      "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
-      "dev": true,
-      "requires": {
-        "p-try": "^1.0.0"
-      }
-    },
-    "p-locate": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
-      "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
-      "dev": true,
-      "requires": {
-        "p-limit": "^1.1.0"
-      }
-    },
-    "p-map": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
-      "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
-      "dev": true,
-      "requires": {
-        "aggregate-error": "^3.0.0"
-      }
-    },
-    "p-retry": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz",
-      "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==",
-      "dev": true,
-      "requires": {
-        "retry": "^0.12.0"
-      }
-    },
-    "p-try": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
-      "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
-      "dev": true
-    },
-    "pako": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
-      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
-      "dev": true
-    },
-    "parallel-transform": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
-      "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
-      "dev": true,
-      "requires": {
-        "cyclist": "^1.0.1",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.1.5"
-      }
-    },
-    "param-case": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
-      "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
-      "dev": true,
-      "requires": {
-        "dot-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "parent-module": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
-      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
-      "dev": true,
-      "requires": {
-        "callsites": "^3.0.0"
-      }
-    },
-    "parse-asn1": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
-      "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
-      "dev": true,
-      "requires": {
-        "asn1.js": "^5.2.0",
-        "browserify-aes": "^1.0.0",
-        "evp_bytestokey": "^1.0.0",
-        "pbkdf2": "^3.0.3",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "parse-json": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
-      "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "error-ex": "^1.3.1",
-        "json-parse-even-better-errors": "^2.3.0",
-        "lines-and-columns": "^1.1.6"
-      }
-    },
-    "parse-srcset": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
-      "integrity": "sha1-8r0iH2zJcKk42IVWq8WJyqqiveE="
-    },
-    "parse5": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
-      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
-    },
-    "parse5-htmlparser2-tree-adapter": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
-      "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
-      "dev": true,
-      "requires": {
-        "parse5": "^6.0.1"
-      }
-    },
-    "parseurl": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
-      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
-      "dev": true
-    },
-    "pascal-case": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
-      "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
-      "dev": true,
-      "requires": {
-        "no-case": "^3.0.4",
-        "tslib": "^2.0.3"
-      }
-    },
-    "pascalcase": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true
-    },
-    "path-browserify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
-      "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
-      "dev": true
-    },
-    "path-dirname": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
-      "dev": true
-    },
-    "path-exists": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-      "dev": true
-    },
-    "path-is-absolute": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
-      "dev": true
-    },
-    "path-is-inside": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
-      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
-      "dev": true
-    },
-    "path-key": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
-      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
-      "dev": true
-    },
-    "path-parse": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
-      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
-      "dev": true
-    },
-    "path-to-regexp": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
-      "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
-      "requires": {
-        "isarray": "0.0.1"
-      }
-    },
-    "path-type": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
-      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
-      "dev": true
-    },
-    "pbkdf2": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
-      "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
-      "dev": true,
-      "requires": {
-        "create-hash": "^1.1.2",
-        "create-hmac": "^1.1.4",
-        "ripemd160": "^2.0.1",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "performance-now": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
-      "dev": true
-    },
-    "picomatch": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
-      "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw=="
-    },
-    "pify": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-      "dev": true
-    },
-    "pinkie": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
-      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
-      "dev": true
-    },
-    "pinkie-promise": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
-      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
-      "dev": true,
-      "requires": {
-        "pinkie": "^2.0.0"
-      }
-    },
-    "pirates": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
-      "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
-      "dev": true,
-      "requires": {
-        "node-modules-regexp": "^1.0.0"
-      }
-    },
-    "pkg-dir": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
-      "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
-      "dev": true,
-      "requires": {
-        "find-up": "^2.1.0"
-      }
-    },
-    "pkg-up": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
-      "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
-      "dev": true,
-      "requires": {
-        "find-up": "^2.1.0"
-      }
-    },
-    "pnp-webpack-plugin": {
-      "version": "1.6.4",
-      "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz",
-      "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==",
-      "dev": true,
-      "requires": {
-        "ts-pnp": "^1.1.6"
-      }
-    },
-    "popper.js": {
-      "version": "1.16.1",
-      "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
-      "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ=="
-    },
-    "portfinder": {
-      "version": "1.0.28",
-      "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
-      "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
-      "dev": true,
-      "requires": {
-        "async": "^2.6.2",
-        "debug": "^3.1.1",
-        "mkdirp": "^0.5.5"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.7",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        }
-      }
-    },
-    "posix-character-classes": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true
-    },
-    "postcss": {
-      "version": "7.0.36",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
-      "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.4.2",
-        "source-map": "^0.6.1",
-        "supports-color": "^6.1.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "postcss-attribute-case-insensitive": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz",
-      "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-selector-parser": "^6.0.2"
-      }
-    },
-    "postcss-browser-comments": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-3.0.0.tgz",
-      "integrity": "sha512-qfVjLfq7HFd2e0HW4s1dvU8X080OZdG46fFbIBFjW7US7YPDcWfRvdElvwMJr2LI6hMmD+7LnH2HcmXTs+uOig==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7"
-      }
-    },
-    "postcss-calc": {
-      "version": "7.0.5",
-      "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz",
-      "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.27",
-        "postcss-selector-parser": "^6.0.2",
-        "postcss-value-parser": "^4.0.2"
-      }
-    },
-    "postcss-color-functional-notation": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz",
-      "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-color-gray": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz",
-      "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==",
-      "dev": true,
-      "requires": {
-        "@csstools/convert-colors": "^1.4.0",
-        "postcss": "^7.0.5",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-color-hex-alpha": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz",
-      "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.14",
-        "postcss-values-parser": "^2.0.1"
-      }
-    },
-    "postcss-color-mod-function": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz",
-      "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==",
-      "dev": true,
-      "requires": {
-        "@csstools/convert-colors": "^1.4.0",
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-color-rebeccapurple": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz",
-      "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-colormin": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz",
-      "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.0.0",
-        "color": "^3.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-convert-values": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz",
-      "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-custom-media": {
-      "version": "7.0.8",
-      "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz",
-      "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.14"
-      }
-    },
-    "postcss-custom-properties": {
-      "version": "8.0.11",
-      "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz",
-      "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.17",
-        "postcss-values-parser": "^2.0.1"
-      }
-    },
-    "postcss-custom-selectors": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz",
-      "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-selector-parser": "^5.0.0-rc.3"
-      },
-      "dependencies": {
-        "cssesc": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
-          "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
-          "dev": true
-        },
-        "postcss-selector-parser": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
-          "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
-          "dev": true,
-          "requires": {
-            "cssesc": "^2.0.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "postcss-dir-pseudo-class": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz",
-      "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-selector-parser": "^5.0.0-rc.3"
-      },
-      "dependencies": {
-        "cssesc": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
-          "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
-          "dev": true
-        },
-        "postcss-selector-parser": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
-          "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
-          "dev": true,
-          "requires": {
-            "cssesc": "^2.0.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "postcss-discard-comments": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz",
-      "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-discard-duplicates": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz",
-      "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-discard-empty": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz",
-      "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-discard-overridden": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz",
-      "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-double-position-gradients": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz",
-      "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.5",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-env-function": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz",
-      "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-flexbugs-fixes": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz",
-      "integrity": "sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.26"
-      }
-    },
-    "postcss-focus-visible": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz",
-      "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-focus-within": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz",
-      "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-font-variant": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz",
-      "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-gap-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz",
-      "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-image-set-function": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz",
-      "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-initial": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz",
-      "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-lab-function": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz",
-      "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==",
-      "dev": true,
-      "requires": {
-        "@csstools/convert-colors": "^1.4.0",
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-load-config": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz",
-      "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==",
-      "dev": true,
-      "requires": {
-        "cosmiconfig": "^5.0.0",
-        "import-cwd": "^2.0.0"
-      },
-      "dependencies": {
-        "cosmiconfig": {
-          "version": "5.2.1",
-          "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
-          "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
-          "dev": true,
-          "requires": {
-            "import-fresh": "^2.0.0",
-            "is-directory": "^0.3.1",
-            "js-yaml": "^3.13.1",
-            "parse-json": "^4.0.0"
-          }
-        },
-        "import-fresh": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
-          "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
-          "dev": true,
-          "requires": {
-            "caller-path": "^2.0.0",
-            "resolve-from": "^3.0.0"
-          }
-        },
-        "parse-json": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
-          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
-          "dev": true,
-          "requires": {
-            "error-ex": "^1.3.1",
-            "json-parse-better-errors": "^1.0.1"
-          }
-        },
-        "resolve-from": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-          "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-loader": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz",
-      "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.1.0",
-        "postcss": "^7.0.0",
-        "postcss-load-config": "^2.0.0",
-        "schema-utils": "^1.0.0"
-      },
-      "dependencies": {
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
-          }
-        },
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        }
-      }
-    },
-    "postcss-logical": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz",
-      "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-media-minmax": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz",
-      "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-merge-longhand": {
-      "version": "4.0.11",
-      "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz",
-      "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==",
-      "dev": true,
-      "requires": {
-        "css-color-names": "0.0.4",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0",
-        "stylehacks": "^4.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-merge-rules": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz",
-      "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.0.0",
-        "caniuse-api": "^3.0.0",
-        "cssnano-util-same-parent": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-selector-parser": "^3.0.0",
-        "vendors": "^1.0.0"
-      },
-      "dependencies": {
-        "postcss-selector-parser": {
-          "version": "3.1.2",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
-          "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
-          "dev": true,
-          "requires": {
-            "dot-prop": "^5.2.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "postcss-minify-font-values": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz",
-      "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-minify-gradients": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz",
-      "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==",
-      "dev": true,
-      "requires": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "is-color-stop": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-minify-params": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz",
-      "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==",
-      "dev": true,
-      "requires": {
-        "alphanum-sort": "^1.0.0",
-        "browserslist": "^4.0.0",
-        "cssnano-util-get-arguments": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0",
-        "uniqs": "^2.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-minify-selectors": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz",
-      "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==",
-      "dev": true,
-      "requires": {
-        "alphanum-sort": "^1.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-selector-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-selector-parser": {
-          "version": "3.1.2",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
-          "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
-          "dev": true,
-          "requires": {
-            "dot-prop": "^5.2.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "postcss-modules-extract-imports": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
-      "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.5"
-      }
-    },
-    "postcss-modules-local-by-default": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz",
-      "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==",
-      "dev": true,
-      "requires": {
-        "icss-utils": "^4.1.1",
-        "postcss": "^7.0.32",
-        "postcss-selector-parser": "^6.0.2",
-        "postcss-value-parser": "^4.1.0"
-      }
-    },
-    "postcss-modules-scope": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz",
-      "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.6",
-        "postcss-selector-parser": "^6.0.0"
-      }
-    },
-    "postcss-modules-values": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz",
-      "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==",
-      "dev": true,
-      "requires": {
-        "icss-utils": "^4.0.0",
-        "postcss": "^7.0.6"
-      }
-    },
-    "postcss-nesting": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz",
-      "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-normalize": {
-      "version": "8.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-8.0.1.tgz",
-      "integrity": "sha512-rt9JMS/m9FHIRroDDBGSMsyW1c0fkvOJPy62ggxSHUldJO7B195TqFMqIf+lY5ezpDcYOV4j86aUp3/XbxzCCQ==",
-      "dev": true,
-      "requires": {
-        "@csstools/normalize.css": "^10.1.0",
-        "browserslist": "^4.6.2",
-        "postcss": "^7.0.17",
-        "postcss-browser-comments": "^3.0.0",
-        "sanitize.css": "^10.0.0"
-      }
-    },
-    "postcss-normalize-charset": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
-      "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-normalize-display-values": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz",
-      "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==",
-      "dev": true,
-      "requires": {
-        "cssnano-util-get-match": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-normalize-positions": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz",
-      "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==",
-      "dev": true,
-      "requires": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-normalize-repeat-style": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz",
-      "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==",
-      "dev": true,
-      "requires": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "cssnano-util-get-match": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-normalize-string": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz",
-      "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==",
-      "dev": true,
-      "requires": {
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-normalize-timing-functions": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz",
-      "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==",
-      "dev": true,
-      "requires": {
-        "cssnano-util-get-match": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-normalize-unicode": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz",
-      "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-normalize-url": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz",
-      "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==",
-      "dev": true,
-      "requires": {
-        "is-absolute-url": "^2.0.0",
-        "normalize-url": "^3.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "normalize-url": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
-          "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==",
-          "dev": true
-        },
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-normalize-whitespace": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz",
-      "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-ordered-values": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz",
-      "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==",
-      "dev": true,
-      "requires": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-overflow-shorthand": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz",
-      "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-page-break": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz",
-      "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-place": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz",
-      "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-values-parser": "^2.0.0"
-      }
-    },
-    "postcss-preset-env": {
-      "version": "6.7.0",
-      "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz",
-      "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==",
-      "dev": true,
-      "requires": {
-        "autoprefixer": "^9.6.1",
-        "browserslist": "^4.6.4",
-        "caniuse-lite": "^1.0.30000981",
-        "css-blank-pseudo": "^0.1.4",
-        "css-has-pseudo": "^0.10.0",
-        "css-prefers-color-scheme": "^3.1.1",
-        "cssdb": "^4.4.0",
-        "postcss": "^7.0.17",
-        "postcss-attribute-case-insensitive": "^4.0.1",
-        "postcss-color-functional-notation": "^2.0.1",
-        "postcss-color-gray": "^5.0.0",
-        "postcss-color-hex-alpha": "^5.0.3",
-        "postcss-color-mod-function": "^3.0.3",
-        "postcss-color-rebeccapurple": "^4.0.1",
-        "postcss-custom-media": "^7.0.8",
-        "postcss-custom-properties": "^8.0.11",
-        "postcss-custom-selectors": "^5.1.2",
-        "postcss-dir-pseudo-class": "^5.0.0",
-        "postcss-double-position-gradients": "^1.0.0",
-        "postcss-env-function": "^2.0.2",
-        "postcss-focus-visible": "^4.0.0",
-        "postcss-focus-within": "^3.0.0",
-        "postcss-font-variant": "^4.0.0",
-        "postcss-gap-properties": "^2.0.0",
-        "postcss-image-set-function": "^3.0.1",
-        "postcss-initial": "^3.0.0",
-        "postcss-lab-function": "^2.0.1",
-        "postcss-logical": "^3.0.0",
-        "postcss-media-minmax": "^4.0.0",
-        "postcss-nesting": "^7.0.0",
-        "postcss-overflow-shorthand": "^2.0.0",
-        "postcss-page-break": "^2.0.0",
-        "postcss-place": "^4.0.1",
-        "postcss-pseudo-class-any-link": "^6.0.0",
-        "postcss-replace-overflow-wrap": "^3.0.0",
-        "postcss-selector-matches": "^4.0.0",
-        "postcss-selector-not": "^4.0.0"
-      }
-    },
-    "postcss-pseudo-class-any-link": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz",
-      "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2",
-        "postcss-selector-parser": "^5.0.0-rc.3"
-      },
-      "dependencies": {
-        "cssesc": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
-          "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
-          "dev": true
-        },
-        "postcss-selector-parser": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
-          "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
-          "dev": true,
-          "requires": {
-            "cssesc": "^2.0.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "postcss-reduce-initial": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz",
-      "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.0.0",
-        "caniuse-api": "^3.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-reduce-transforms": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz",
-      "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==",
-      "dev": true,
-      "requires": {
-        "cssnano-util-get-match": "^4.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-replace-overflow-wrap": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz",
-      "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-safe-parser": {
-      "version": "5.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-5.0.2.tgz",
-      "integrity": "sha512-jDUfCPJbKOABhwpUKcqCVbbXiloe/QXMcbJ6Iipf3sDIihEzTqRCeMBfRaOHxhBuTYqtASrI1KJWxzztZU4qUQ==",
-      "dev": true,
-      "requires": {
-        "postcss": "^8.1.0"
-      },
-      "dependencies": {
-        "postcss": {
-          "version": "8.3.6",
-          "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz",
-          "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==",
-          "dev": true,
-          "requires": {
-            "colorette": "^1.2.2",
-            "nanoid": "^3.1.23",
-            "source-map-js": "^0.6.2"
-          }
-        }
-      }
-    },
-    "postcss-selector-matches": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz",
-      "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==",
-      "dev": true,
-      "requires": {
-        "balanced-match": "^1.0.0",
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-selector-not": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz",
-      "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==",
-      "dev": true,
-      "requires": {
-        "balanced-match": "^1.0.0",
-        "postcss": "^7.0.2"
-      }
-    },
-    "postcss-selector-parser": {
-      "version": "6.0.6",
-      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz",
-      "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==",
-      "dev": true,
-      "requires": {
-        "cssesc": "^3.0.0",
-        "util-deprecate": "^1.0.2"
-      }
-    },
-    "postcss-svgo": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz",
-      "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0",
-        "svgo": "^1.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
-          "dev": true
-        }
-      }
-    },
-    "postcss-unique-selectors": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz",
-      "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==",
-      "dev": true,
-      "requires": {
-        "alphanum-sort": "^1.0.0",
-        "postcss": "^7.0.0",
-        "uniqs": "^2.0.0"
-      }
-    },
-    "postcss-value-parser": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
-      "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
-      "dev": true
-    },
-    "postcss-values-parser": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz",
-      "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==",
-      "dev": true,
-      "requires": {
-        "flatten": "^1.0.2",
-        "indexes-of": "^1.0.1",
-        "uniq": "^1.0.1"
-      }
-    },
-    "prelude-ls": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
-      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
-      "dev": true
-    },
-    "prepend-http": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
-      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
-      "dev": true
-    },
-    "prettier": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz",
-      "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==",
-      "dev": true
-    },
-    "prettier-linter-helpers": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
-      "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
-      "dev": true,
-      "requires": {
-        "fast-diff": "^1.1.2"
-      }
-    },
-    "pretty-bytes": {
-      "version": "5.6.0",
-      "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
-      "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
-      "dev": true
-    },
-    "pretty-error": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz",
-      "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.20",
-        "renderkid": "^2.0.4"
-      }
-    },
-    "pretty-format": {
-      "version": "27.1.0",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.1.0.tgz",
-      "integrity": "sha512-4aGaud3w3rxAO6OXmK3fwBFQ0bctIOG3/if+jYEFGNGIs0EvuidQm3bZ9mlP2/t9epLNC/12czabfy7TZNSwVA==",
-      "dev": true,
-      "requires": {
-        "@jest/types": "^27.1.0",
-        "ansi-regex": "^5.0.0",
-        "ansi-styles": "^5.0.0",
-        "react-is": "^17.0.1"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
-          "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
-          "dev": true
-        },
-        "react-is": {
-          "version": "17.0.2",
-          "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
-          "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-          "dev": true
-        }
-      }
-    },
-    "process": {
-      "version": "0.11.10",
-      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
-      "dev": true
-    },
-    "process-nextick-args": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
-      "dev": true
-    },
-    "progress": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
-      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
-      "dev": true
-    },
-    "promise": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz",
-      "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==",
-      "dev": true,
-      "requires": {
-        "asap": "~2.0.6"
-      }
-    },
-    "promise-inflight": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
-      "dev": true
-    },
-    "promise-polyfill": {
-      "version": "8.2.0",
-      "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz",
-      "integrity": "sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g==",
-      "dev": true
-    },
-    "prompts": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz",
-      "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==",
-      "dev": true,
-      "requires": {
-        "kleur": "^3.0.3",
-        "sisteransi": "^1.0.5"
-      }
-    },
-    "prop-types": {
-      "version": "15.7.2",
-      "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
-      "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
-      "requires": {
-        "loose-envify": "^1.4.0",
-        "object-assign": "^4.1.1",
-        "react-is": "^16.8.1"
-      }
-    },
-    "prop-types-exact": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.0.tgz",
-      "integrity": "sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA==",
-      "dev": true,
-      "requires": {
-        "has": "^1.0.3",
-        "object.assign": "^4.1.0",
-        "reflect.ownkeys": "^0.2.0"
-      }
-    },
-    "proxy-addr": {
-      "version": "2.0.7",
-      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
-      "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
-      "dev": true,
-      "requires": {
-        "forwarded": "0.2.0",
-        "ipaddr.js": "1.9.1"
-      }
-    },
-    "prr": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
-      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
-      "dev": true
-    },
-    "psl": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
-      "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
-    },
-    "public-encrypt": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
-      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "parse-asn1": "^5.0.0",
-        "randombytes": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
-        }
-      }
-    },
-    "pump": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
-      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "pumpify": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
-      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
-      "dev": true,
-      "requires": {
-        "duplexify": "^3.6.0",
-        "inherits": "^2.0.3",
-        "pump": "^2.0.0"
-      },
-      "dependencies": {
-        "pump": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
-          "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
-          "dev": true,
-          "requires": {
-            "end-of-stream": "^1.1.0",
-            "once": "^1.3.1"
-          }
-        }
-      }
-    },
-    "punycode": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
-    },
-    "q": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
-      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
-      "dev": true
-    },
-    "qs": {
-      "version": "6.7.0",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
-      "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
-      "dev": true
-    },
-    "query-string": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
-      "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
-      "dev": true,
-      "requires": {
-        "object-assign": "^4.1.0",
-        "strict-uri-encode": "^1.0.0"
-      }
-    },
-    "querystring": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz",
-      "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==",
-      "dev": true
-    },
-    "querystring-es3": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
-      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
-      "dev": true
-    },
-    "querystringify": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
-      "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
-      "dev": true
-    },
-    "queue-microtask": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
-      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
-      "dev": true
-    },
-    "raf": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
-      "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
-      "dev": true,
-      "requires": {
-        "performance-now": "^2.1.0"
-      }
-    },
-    "raf-schd": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/raf-schd/-/raf-schd-4.0.3.tgz",
-      "integrity": "sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ=="
-    },
-    "railroad-diagrams": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz",
-      "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=",
-      "dev": true
-    },
-    "randexp": {
-      "version": "0.4.6",
-      "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz",
-      "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==",
-      "dev": true,
-      "requires": {
-        "discontinuous-range": "1.0.0",
-        "ret": "~0.1.10"
-      }
-    },
-    "randombytes": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
-      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "randomfill": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
-      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "dev": true,
-      "requires": {
-        "randombytes": "^2.0.5",
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "range-parser": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
-      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
-      "dev": true
-    },
-    "raw-body": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
-      "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
-      "dev": true,
-      "requires": {
-        "bytes": "3.1.0",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "unpipe": "1.0.0"
-      },
-      "dependencies": {
-        "bytes": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-          "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
-          "dev": true
-        }
-      }
-    },
-    "react": {
-      "version": "16.14.0",
-      "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
-      "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
-      "requires": {
-        "loose-envify": "^1.1.0",
-        "object-assign": "^4.1.1",
-        "prop-types": "^15.6.2"
-      }
-    },
-    "react-app-polyfill": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-2.0.0.tgz",
-      "integrity": "sha512-0sF4ny9v/B7s6aoehwze9vJNWcmCemAUYBVasscVr92+UYiEqDXOxfKjXN685mDaMRNF3WdhHQs76oTODMocFA==",
-      "dev": true,
-      "requires": {
-        "core-js": "^3.6.5",
-        "object-assign": "^4.1.1",
-        "promise": "^8.1.0",
-        "raf": "^3.4.1",
-        "regenerator-runtime": "^0.13.7",
-        "whatwg-fetch": "^3.4.1"
-      }
-    },
-    "react-copy-to-clipboard": {
-      "version": "5.0.4",
-      "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.4.tgz",
-      "integrity": "sha512-IeVAiNVKjSPeGax/Gmkqfa/+PuMTBhutEvFUaMQLwE2tS0EXrAdgOpWDX26bWTXF3HrioorR7lr08NqeYUWQCQ==",
-      "requires": {
-        "copy-to-clipboard": "^3",
-        "prop-types": "^15.5.8"
-      }
-    },
-    "react-dev-utils": {
-      "version": "11.0.4",
-      "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz",
-      "integrity": "sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "7.10.4",
-        "address": "1.1.2",
-        "browserslist": "4.14.2",
-        "chalk": "2.4.2",
-        "cross-spawn": "7.0.3",
-        "detect-port-alt": "1.1.6",
-        "escape-string-regexp": "2.0.0",
-        "filesize": "6.1.0",
-        "find-up": "4.1.0",
-        "fork-ts-checker-webpack-plugin": "4.1.6",
-        "global-modules": "2.0.0",
-        "globby": "11.0.1",
-        "gzip-size": "5.1.1",
-        "immer": "8.0.1",
-        "is-root": "2.1.0",
-        "loader-utils": "2.0.0",
-        "open": "^7.0.2",
-        "pkg-up": "3.1.0",
-        "prompts": "2.4.0",
-        "react-error-overlay": "^6.0.9",
-        "recursive-readdir": "2.2.2",
-        "shell-quote": "1.7.2",
-        "strip-ansi": "6.0.0",
-        "text-table": "0.2.0"
-      },
-      "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.10.4",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
-          "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
-          "dev": true,
-          "requires": {
-            "@babel/highlight": "^7.10.4"
-          }
-        },
-        "browserslist": {
-          "version": "4.14.2",
-          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz",
-          "integrity": "sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==",
-          "dev": true,
-          "requires": {
-            "caniuse-lite": "^1.0.30001125",
-            "electron-to-chromium": "^1.3.564",
-            "escalade": "^3.0.2",
-            "node-releases": "^1.1.61"
-          }
-        },
-        "escape-string-regexp": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
-          "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
-          "dev": true
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "globby": {
-          "version": "11.0.1",
-          "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz",
-          "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==",
-          "dev": true,
-          "requires": {
-            "array-union": "^2.1.0",
-            "dir-glob": "^3.0.1",
-            "fast-glob": "^3.1.1",
-            "ignore": "^5.1.4",
-            "merge2": "^1.3.0",
-            "slash": "^3.0.0"
-          }
-        },
-        "ignore": {
-          "version": "5.1.8",
-          "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
-          "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
-          "dev": true
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "pkg-up": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
-          "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
-          "dev": true,
-          "requires": {
-            "find-up": "^3.0.0"
-          },
-          "dependencies": {
-            "find-up": {
-              "version": "3.0.0",
-              "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-              "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-              "dev": true,
-              "requires": {
-                "locate-path": "^3.0.0"
-              }
-            },
-            "locate-path": {
-              "version": "3.0.0",
-              "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-              "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-              "dev": true,
-              "requires": {
-                "p-locate": "^3.0.0",
-                "path-exists": "^3.0.0"
-              }
-            },
-            "p-locate": {
-              "version": "3.0.0",
-              "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-              "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-              "dev": true,
-              "requires": {
-                "p-limit": "^2.0.0"
-              }
-            },
-            "path-exists": {
-              "version": "3.0.0",
-              "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-              "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-              "dev": true
-            }
-          }
-        }
-      }
-    },
-    "react-dom": {
-      "version": "16.14.0",
-      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz",
-      "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==",
-      "requires": {
-        "loose-envify": "^1.1.0",
-        "object-assign": "^4.1.1",
-        "prop-types": "^15.6.2",
-        "scheduler": "^0.19.1"
-      }
-    },
-    "react-error-overlay": {
-      "version": "6.0.9",
-      "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz",
-      "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==",
-      "dev": true
-    },
-    "react-is": {
-      "version": "16.13.1",
-      "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
-      "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
-    },
-    "react-lifecycles-compat": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
-      "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
-    },
-    "react-refresh": {
-      "version": "0.8.3",
-      "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz",
-      "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==",
-      "dev": true
-    },
-    "react-resize-detector": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-5.2.0.tgz",
-      "integrity": "sha512-PQAc03J2eyhvaiWgEdQ8+bKbbyGJzLEr70KuivBd1IEmP/iewNakLUMkxm6MWnDqsRPty85pioyg8MvGb0qC8A==",
-      "requires": {
-        "lodash": "^4.17.20",
-        "prop-types": "^15.7.2",
-        "raf-schd": "^4.0.2",
-        "resize-observer-polyfill": "^1.5.1"
-      }
-    },
-    "react-router-dom": {
-      "version": "5.3.0",
-      "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.0.tgz",
-      "integrity": "sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ==",
-      "requires": {
-        "@babel/runtime": "^7.12.13",
-        "history": "^4.9.0",
-        "loose-envify": "^1.3.1",
-        "prop-types": "^15.6.2",
-        "react-router": "5.2.1",
-        "tiny-invariant": "^1.0.2",
-        "tiny-warning": "^1.0.0"
-      },
-      "dependencies": {
-        "react-router": {
-          "version": "5.2.1",
-          "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz",
-          "integrity": "sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==",
-          "requires": {
-            "@babel/runtime": "^7.12.13",
-            "history": "^4.9.0",
-            "hoist-non-react-statics": "^3.1.0",
-            "loose-envify": "^1.3.1",
-            "mini-create-react-context": "^0.4.0",
-            "path-to-regexp": "^1.7.0",
-            "prop-types": "^15.6.2",
-            "react-is": "^16.6.0",
-            "tiny-invariant": "^1.0.2",
-            "tiny-warning": "^1.0.0"
-          },
-          "dependencies": {
-            "mini-create-react-context": {
-              "version": "0.4.1",
-              "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz",
-              "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==",
-              "requires": {
-                "@babel/runtime": "^7.12.1",
-                "tiny-warning": "^1.0.3"
-              }
-            }
-          }
-        }
-      }
-    },
-    "react-scripts": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.3.tgz",
-      "integrity": "sha512-S5eO4vjUzUisvkIPB7jVsKtuH2HhWcASREYWHAQ1FP5HyCv3xgn+wpILAEWkmy+A+tTNbSZClhxjT3qz6g4L1A==",
-      "dev": true,
-      "requires": {
-        "@babel/core": "7.12.3",
-        "@pmmmwh/react-refresh-webpack-plugin": "0.4.3",
-        "@svgr/webpack": "5.5.0",
-        "@typescript-eslint/eslint-plugin": "^4.5.0",
-        "@typescript-eslint/parser": "^4.5.0",
-        "babel-eslint": "^10.1.0",
-        "babel-jest": "^26.6.0",
-        "babel-loader": "8.1.0",
-        "babel-plugin-named-asset-import": "^0.3.7",
-        "babel-preset-react-app": "^10.0.0",
-        "bfj": "^7.0.2",
-        "camelcase": "^6.1.0",
-        "case-sensitive-paths-webpack-plugin": "2.3.0",
-        "css-loader": "4.3.0",
-        "dotenv": "8.2.0",
-        "dotenv-expand": "5.1.0",
-        "eslint": "^7.11.0",
-        "eslint-config-react-app": "^6.0.0",
-        "eslint-plugin-flowtype": "^5.2.0",
-        "eslint-plugin-import": "^2.22.1",
-        "eslint-plugin-jest": "^24.1.0",
-        "eslint-plugin-jsx-a11y": "^6.3.1",
-        "eslint-plugin-react": "^7.21.5",
-        "eslint-plugin-react-hooks": "^4.2.0",
-        "eslint-plugin-testing-library": "^3.9.2",
-        "eslint-webpack-plugin": "^2.5.2",
-        "file-loader": "6.1.1",
-        "fs-extra": "^9.0.1",
-        "fsevents": "^2.1.3",
-        "html-webpack-plugin": "4.5.0",
-        "identity-obj-proxy": "3.0.0",
-        "jest": "26.6.0",
-        "jest-circus": "26.6.0",
-        "jest-resolve": "26.6.0",
-        "jest-watch-typeahead": "0.6.1",
-        "mini-css-extract-plugin": "0.11.3",
-        "optimize-css-assets-webpack-plugin": "5.0.4",
-        "pnp-webpack-plugin": "1.6.4",
-        "postcss-flexbugs-fixes": "4.2.1",
-        "postcss-loader": "3.0.0",
-        "postcss-normalize": "8.0.1",
-        "postcss-preset-env": "6.7.0",
-        "postcss-safe-parser": "5.0.2",
-        "prompts": "2.4.0",
-        "react-app-polyfill": "^2.0.0",
-        "react-dev-utils": "^11.0.3",
-        "react-refresh": "^0.8.3",
-        "resolve": "1.18.1",
-        "resolve-url-loader": "^3.1.2",
-        "sass-loader": "^10.0.5",
-        "semver": "7.3.2",
-        "style-loader": "1.3.0",
-        "terser-webpack-plugin": "4.2.3",
-        "ts-pnp": "1.2.0",
-        "url-loader": "4.1.1",
-        "webpack": "4.44.2",
-        "webpack-dev-server": "3.11.1",
-        "webpack-manifest-plugin": "2.2.0",
-        "workbox-webpack-plugin": "5.1.4"
-      },
-      "dependencies": {
-        "@babel/core": {
-          "version": "7.12.3",
-          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz",
-          "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.10.4",
-            "@babel/generator": "^7.12.1",
-            "@babel/helper-module-transforms": "^7.12.1",
-            "@babel/helpers": "^7.12.1",
-            "@babel/parser": "^7.12.3",
-            "@babel/template": "^7.10.4",
-            "@babel/traverse": "^7.12.1",
-            "@babel/types": "^7.12.1",
-            "convert-source-map": "^1.7.0",
-            "debug": "^4.1.0",
-            "gensync": "^1.0.0-beta.1",
-            "json5": "^2.1.2",
-            "lodash": "^4.17.19",
-            "resolve": "^1.3.2",
-            "semver": "^5.4.1",
-            "source-map": "^0.5.0"
-          },
-          "dependencies": {
-            "semver": {
-              "version": "5.7.1",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-              "dev": true
-            }
-          }
-        },
-        "resolve": {
-          "version": "1.18.1",
-          "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",
-          "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==",
-          "dev": true,
-          "requires": {
-            "is-core-module": "^2.0.0",
-            "path-parse": "^1.0.6"
-          }
-        },
-        "semver": {
-          "version": "7.3.2",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
-          "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
-          "dev": true
-        }
-      }
-    },
-    "react-test-renderer": {
-      "version": "16.14.0",
-      "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.14.0.tgz",
-      "integrity": "sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==",
-      "requires": {
-        "object-assign": "^4.1.1",
-        "prop-types": "^15.6.2",
-        "react-is": "^16.8.6",
-        "scheduler": "^0.19.1"
-      }
-    },
-    "reactstrap": {
-      "version": "8.10.0",
-      "resolved": "https://registry.npmjs.org/reactstrap/-/reactstrap-8.10.0.tgz",
-      "integrity": "sha512-MsFUB/fRZj6Orf8Mxc93iYuAs+9ngnFmy2cfYlzkmc4vi5oM4u6ziY/DsO71lDG3cotxHRyS3Flr51cuYv+IEQ==",
-      "requires": {
-        "@babel/runtime": "^7.12.5",
-        "classnames": "^2.2.3",
-        "prop-types": "^15.5.8",
-        "react-popper": "^1.3.6",
-        "react-transition-group": "^2.3.1"
-      },
-      "dependencies": {
-        "react-popper": {
-          "version": "1.3.11",
-          "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.11.tgz",
-          "integrity": "sha512-VSA/bS+pSndSF2fiasHK/PTEEAyOpX60+H5EPAjoArr8JGm+oihu4UbrqcEBpQibJxBVCpYyjAX7abJ+7DoYVg==",
-          "requires": {
-            "@babel/runtime": "^7.1.2",
-            "@hypnosphi/create-react-context": "^0.3.1",
-            "deep-equal": "^1.1.1",
-            "popper.js": "^1.14.4",
-            "prop-types": "^15.6.1",
-            "typed-styles": "^0.0.7",
-            "warning": "^4.0.2"
-          },
-          "dependencies": {
-            "@hypnosphi/create-react-context": {
-              "version": "0.3.1",
-              "resolved": "https://registry.npmjs.org/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz",
-              "integrity": "sha512-V1klUed202XahrWJLLOT3EXNeCpFHCcJntdFGI15ntCwau+jfT386w7OFTMaCqOgXUH1fa0w/I1oZs+i/Rfr0A==",
-              "requires": {
-                "gud": "^1.0.0",
-                "warning": "^4.0.3"
-              }
-            }
-          }
-        },
-        "react-transition-group": {
-          "version": "2.9.0",
-          "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz",
-          "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==",
-          "requires": {
-            "dom-helpers": "^3.4.0",
-            "loose-envify": "^1.4.0",
-            "prop-types": "^15.6.2",
-            "react-lifecycles-compat": "^3.0.4"
-          }
-        }
-      }
-    },
-    "read-pkg": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
-      "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
-      "dev": true,
-      "requires": {
-        "load-json-file": "^4.0.0",
-        "normalize-package-data": "^2.3.2",
-        "path-type": "^3.0.0"
-      },
-      "dependencies": {
-        "path-type": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
-          "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
-          "dev": true,
-          "requires": {
-            "pify": "^3.0.0"
-          }
-        },
-        "pify": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-          "dev": true
-        }
-      }
-    },
-    "read-pkg-up": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
-      "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
-      "dev": true,
-      "requires": {
-        "find-up": "^2.0.0",
-        "read-pkg": "^3.0.0"
-      }
-    },
-    "readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
-      "requires": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        }
-      }
-    },
-    "readdirp": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
-      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
-      "requires": {
-        "picomatch": "^2.2.1"
-      }
-    },
-    "recursive-readdir": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
-      "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
-      "dev": true,
-      "requires": {
-        "minimatch": "3.0.4"
-      }
-    },
-    "reflect.ownkeys": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz",
-      "integrity": "sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=",
-      "dev": true
-    },
-    "regenerate": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
-      "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
-      "dev": true
-    },
-    "regenerate-unicode-properties": {
-      "version": "8.2.0",
-      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
-      "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
-      "dev": true,
-      "requires": {
-        "regenerate": "^1.4.0"
-      }
-    },
-    "regenerator-runtime": {
-      "version": "0.13.9",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
-      "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
-    },
-    "regenerator-transform": {
-      "version": "0.14.5",
-      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz",
-      "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.8.4"
-      }
-    },
-    "regex-not": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
-      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.2",
-        "safe-regex": "^1.1.0"
-      }
-    },
-    "regex-parser": {
-      "version": "2.2.11",
-      "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz",
-      "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==",
-      "dev": true
-    },
-    "regexp.prototype.flags": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz",
-      "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==",
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3"
-      }
-    },
-    "regexpp": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
-      "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
-      "dev": true
-    },
-    "regexpu-core": {
-      "version": "4.7.1",
-      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz",
-      "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==",
-      "dev": true,
-      "requires": {
-        "regenerate": "^1.4.0",
-        "regenerate-unicode-properties": "^8.2.0",
-        "regjsgen": "^0.5.1",
-        "regjsparser": "^0.6.4",
-        "unicode-match-property-ecmascript": "^1.0.4",
-        "unicode-match-property-value-ecmascript": "^1.2.0"
-      }
-    },
-    "regjsgen": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz",
-      "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==",
-      "dev": true
-    },
-    "regjsparser": {
-      "version": "0.6.9",
-      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz",
-      "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==",
-      "dev": true,
-      "requires": {
-        "jsesc": "~0.5.0"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
-          "dev": true
-        }
-      }
-    },
-    "relateurl": {
-      "version": "0.2.7",
-      "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
-      "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
-      "dev": true
-    },
-    "remove-trailing-separator": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
-    },
-    "renderkid": {
-      "version": "2.0.7",
-      "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz",
-      "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==",
-      "dev": true,
-      "requires": {
-        "css-select": "^4.1.3",
-        "dom-converter": "^0.2.0",
-        "htmlparser2": "^6.1.0",
-        "lodash": "^4.17.21",
-        "strip-ansi": "^3.0.1"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "htmlparser2": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
-          "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
-          "dev": true,
-          "requires": {
-            "domelementtype": "^2.0.1",
-            "domhandler": "^4.0.0",
-            "domutils": "^2.5.2",
-            "entities": "^2.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        }
-      }
-    },
-    "repeat-element": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
-      "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
-      "dev": true
-    },
-    "repeat-string": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true
-    },
-    "require-directory": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
-      "dev": true
-    },
-    "require-from-string": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
-      "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
-      "dev": true
-    },
-    "require-main-filename": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
-      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
-      "dev": true
-    },
-    "requires-port": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
-      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
-      "dev": true
-    },
-    "resize-observer-polyfill": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
-      "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
-    },
-    "resolve": {
-      "version": "1.20.0",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
-      "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
-      "dev": true,
-      "requires": {
-        "is-core-module": "^2.2.0",
-        "path-parse": "^1.0.6"
-      }
-    },
-    "resolve-cwd": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
-      "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
-      "dev": true,
-      "requires": {
-        "resolve-from": "^5.0.0"
-      },
-      "dependencies": {
-        "resolve-from": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
-          "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
-          "dev": true
-        }
-      }
-    },
-    "resolve-from": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
-      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
-      "dev": true
-    },
-    "resolve-pathname": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz",
-      "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng=="
-    },
-    "resolve-url": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "dev": true
-    },
-    "resolve-url-loader": {
-      "version": "3.1.4",
-      "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz",
-      "integrity": "sha512-D3sQ04o0eeQEySLrcz4DsX3saHfsr8/N6tfhblxgZKXxMT2Louargg12oGNfoTRLV09GXhVUe5/qgA5vdgNigg==",
-      "dev": true,
-      "requires": {
-        "adjust-sourcemap-loader": "3.0.0",
-        "camelcase": "5.3.1",
-        "compose-function": "3.0.3",
-        "convert-source-map": "1.7.0",
-        "es6-iterator": "2.0.3",
-        "loader-utils": "1.2.3",
-        "postcss": "7.0.36",
-        "rework": "1.0.1",
-        "rework-visit": "1.0.0",
-        "source-map": "0.6.1"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "5.3.1",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-          "dev": true
-        },
-        "convert-source-map": {
-          "version": "1.7.0",
-          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
-          "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.1"
-          }
-        },
-        "emojis-list": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
-          "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
-          "dev": true
-        },
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.2.3",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
-          "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^2.0.0",
-            "json5": "^1.0.1"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "ret": {
-      "version": "0.1.15",
-      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true
-    },
-    "retry": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
-      "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
-      "dev": true
-    },
-    "reusify": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
-      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
-      "dev": true
-    },
-    "rework": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz",
-      "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=",
-      "dev": true,
-      "requires": {
-        "convert-source-map": "^0.3.3",
-        "css": "^2.0.0"
-      },
-      "dependencies": {
-        "convert-source-map": {
-          "version": "0.3.5",
-          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz",
-          "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=",
-          "dev": true
-        }
-      }
-    },
-    "rework-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz",
-      "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=",
-      "dev": true
-    },
-    "rgb-regex": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
-      "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=",
-      "dev": true
-    },
-    "rgba-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
-      "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
-      "dev": true
-    },
-    "rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-      "dev": true,
-      "requires": {
-        "glob": "^7.1.3"
-      }
-    },
-    "ripemd160": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
-      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1"
-      }
-    },
-    "rollup": {
-      "version": "1.32.1",
-      "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz",
-      "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==",
-      "dev": true,
-      "requires": {
-        "@types/estree": "*",
-        "@types/node": "*",
-        "acorn": "^7.1.0"
-      }
-    },
-    "rollup-plugin-babel": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz",
-      "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "rollup-pluginutils": "^2.8.1"
-      }
-    },
-    "rollup-plugin-terser": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz",
-      "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.5.5",
-        "jest-worker": "^24.9.0",
-        "rollup-pluginutils": "^2.8.2",
-        "serialize-javascript": "^4.0.0",
-        "terser": "^4.6.2"
-      },
-      "dependencies": {
-        "jest-worker": {
-          "version": "24.9.0",
-          "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
-          "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
-          "dev": true,
-          "requires": {
-            "merge-stream": "^2.0.0",
-            "supports-color": "^6.1.0"
-          }
-        },
-        "serialize-javascript": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
-          "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
-          "dev": true,
-          "requires": {
-            "randombytes": "^2.1.0"
-          }
-        },
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "rollup-pluginutils": {
-      "version": "2.8.2",
-      "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
-      "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
-      "dev": true,
-      "requires": {
-        "estree-walker": "^0.6.1"
-      },
-      "dependencies": {
-        "estree-walker": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
-          "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
-          "dev": true
-        }
-      }
-    },
-    "rst-selector-parser": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz",
-      "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=",
-      "dev": true,
-      "requires": {
-        "lodash.flattendeep": "^4.4.0",
-        "nearley": "^2.7.10"
-      }
-    },
-    "rsvp": {
-      "version": "4.8.5",
-      "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
-      "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
-      "dev": true
-    },
-    "run-parallel": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
-      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
-      "dev": true,
-      "requires": {
-        "queue-microtask": "^1.2.2"
-      }
-    },
-    "run-queue": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
-      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1"
-      }
-    },
-    "safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
-    },
-    "safe-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
-      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "dev": true,
-      "requires": {
-        "ret": "~0.1.10"
-      }
-    },
-    "safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
-    },
-    "sane": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz",
-      "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==",
-      "dev": true,
-      "requires": {
-        "@cnakazawa/watch": "^1.0.3",
-        "anymatch": "^2.0.0",
-        "capture-exit": "^2.0.0",
-        "exec-sh": "^0.3.2",
-        "execa": "^1.0.0",
-        "fb-watchman": "^2.0.0",
-        "micromatch": "^3.1.4",
-        "minimist": "^1.1.1",
-        "walker": "~1.0.5"
-      },
-      "dependencies": {
-        "anymatch": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-          "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-          "dev": true,
-          "requires": {
-            "micromatch": "^3.1.4",
-            "normalize-path": "^2.1.1"
-          }
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "cross-spawn": {
-          "version": "6.0.5",
-          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
-          "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
-          "dev": true,
-          "requires": {
-            "nice-try": "^1.0.4",
-            "path-key": "^2.0.1",
-            "semver": "^5.5.0",
-            "shebang-command": "^1.2.0",
-            "which": "^1.2.9"
-          }
-        },
-        "execa": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
-          "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
-          "dev": true,
-          "requires": {
-            "cross-spawn": "^6.0.0",
-            "get-stream": "^4.0.0",
-            "is-stream": "^1.1.0",
-            "npm-run-path": "^2.0.0",
-            "p-finally": "^1.0.0",
-            "signal-exit": "^3.0.0",
-            "strip-eof": "^1.0.0"
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "get-stream": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
-          "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
-          "dev": true,
-          "requires": {
-            "pump": "^3.0.0"
-          }
-        },
-        "is-extendable": {
-          "version": "0.1.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-          "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-          "dev": true
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "is-stream": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-          "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-          "dev": true
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          }
-        },
-        "normalize-path": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-          "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-          "dev": true,
-          "requires": {
-            "remove-trailing-separator": "^1.0.1"
-          }
-        },
-        "npm-run-path": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
-          "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
-          "dev": true,
-          "requires": {
-            "path-key": "^2.0.0"
-          }
-        },
-        "path-key": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-          "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
-          "dev": true
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        },
-        "shebang-command": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
-          "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-          "dev": true,
-          "requires": {
-            "shebang-regex": "^1.0.0"
-          }
-        },
-        "shebang-regex": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-          "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
-          "dev": true
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        },
-        "which": {
-          "version": "1.3.1",
-          "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-          "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-          "dev": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        }
-      }
-    },
-    "sanitize-html": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.4.0.tgz",
-      "integrity": "sha512-Y1OgkUiTPMqwZNRLPERSEi39iOebn2XJLbeiGOBhaJD/yLqtLGu6GE5w7evx177LeGgSE+4p4e107LMiydOf6A==",
-      "requires": {
-        "deepmerge": "^4.2.2",
-        "escape-string-regexp": "^4.0.0",
-        "htmlparser2": "^6.0.0",
-        "is-plain-object": "^5.0.0",
-        "klona": "^2.0.3",
-        "parse-srcset": "^1.0.2",
-        "postcss": "^8.0.2"
-      },
-      "dependencies": {
-        "escape-string-regexp": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
-          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
-        },
-        "htmlparser2": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
-          "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
-          "requires": {
-            "domelementtype": "^2.0.1",
-            "domhandler": "^4.0.0",
-            "domutils": "^2.5.2",
-            "entities": "^2.0.0"
-          }
-        },
-        "postcss": {
-          "version": "8.3.6",
-          "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz",
-          "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==",
-          "requires": {
-            "colorette": "^1.2.2",
-            "nanoid": "^3.1.23",
-            "source-map-js": "^0.6.2"
-          }
-        }
-      }
-    },
-    "sanitize.css": {
-      "version": "10.0.0",
-      "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-10.0.0.tgz",
-      "integrity": "sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg==",
-      "dev": true
-    },
-    "sass": {
-      "version": "1.39.0",
-      "resolved": "https://registry.npmjs.org/sass/-/sass-1.39.0.tgz",
-      "integrity": "sha512-F4o+RhJkNOIG0b6QudYU8c78ZADKZjKDk5cyrf8XTKWfrgbtyVVXImFstJrc+1pkQDCggyidIOytq6gS4gCCZg==",
-      "requires": {
-        "chokidar": ">=3.0.0 <4.0.0"
-      }
-    },
-    "sass-loader": {
-      "version": "10.2.0",
-      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.2.0.tgz",
-      "integrity": "sha512-kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw==",
-      "dev": true,
-      "requires": {
-        "klona": "^2.0.4",
-        "loader-utils": "^2.0.0",
-        "neo-async": "^2.6.2",
-        "schema-utils": "^3.0.0",
-        "semver": "^7.3.2"
-      },
-      "dependencies": {
-        "schema-utils": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
-          "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
-          "dev": true,
-          "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
-          }
-        }
-      }
-    },
-    "sax": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
-      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
-      "dev": true
-    },
-    "saxes": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
-      "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
-      "requires": {
-        "xmlchars": "^2.2.0"
-      }
-    },
-    "scheduler": {
-      "version": "0.19.1",
-      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz",
-      "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==",
-      "requires": {
-        "loose-envify": "^1.1.0",
-        "object-assign": "^4.1.1"
-      }
-    },
-    "schema-utils": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
-      "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
-      "dev": true,
-      "requires": {
-        "@types/json-schema": "^7.0.5",
-        "ajv": "^6.12.4",
-        "ajv-keywords": "^3.5.2"
-      }
-    },
-    "select-hose": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
-      "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
-      "dev": true
-    },
-    "selfsigned": {
-      "version": "1.10.11",
-      "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz",
-      "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==",
-      "dev": true,
-      "requires": {
-        "node-forge": "^0.10.0"
-      }
-    },
-    "semver": {
-      "version": "7.3.5",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
-      "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
-      "dev": true,
-      "requires": {
-        "lru-cache": "^6.0.0"
-      }
-    },
-    "send": {
-      "version": "0.17.1",
-      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
-      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
-      "dev": true,
-      "requires": {
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "destroy": "~1.0.4",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "fresh": "0.5.2",
-        "http-errors": "~1.7.2",
-        "mime": "1.6.0",
-        "ms": "2.1.1",
-        "on-finished": "~2.3.0",
-        "range-parser": "~1.2.1",
-        "statuses": "~1.5.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          },
-          "dependencies": {
-            "ms": {
-              "version": "2.0.0",
-              "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-              "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-              "dev": true
-            }
-          }
-        },
-        "ms": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
-          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
-          "dev": true
-        }
-      }
-    },
-    "serialize-javascript": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
-      "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
-      "dev": true,
-      "requires": {
-        "randombytes": "^2.1.0"
-      }
-    },
-    "serve-index": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
-      "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.4",
-        "batch": "0.6.1",
-        "debug": "2.6.9",
-        "escape-html": "~1.0.3",
-        "http-errors": "~1.6.2",
-        "mime-types": "~2.1.17",
-        "parseurl": "~1.3.2"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "http-errors": {
-          "version": "1.6.3",
-          "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
-          "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
-          "dev": true,
-          "requires": {
-            "depd": "~1.1.2",
-            "inherits": "2.0.3",
-            "setprototypeof": "1.1.0",
-            "statuses": ">= 1.4.0 < 2"
-          }
-        },
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "setprototypeof": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
-          "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
-          "dev": true
-        }
-      }
-    },
-    "serve-static": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
-      "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
-      "dev": true,
-      "requires": {
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "parseurl": "~1.3.3",
-        "send": "0.17.1"
-      }
-    },
-    "set-blocking": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
-      "dev": true
-    },
-    "set-value": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
-      "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^2.0.1",
-        "is-extendable": "^0.1.1",
-        "is-plain-object": "^2.0.3",
-        "split-string": "^3.0.1"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "is-extendable": {
-          "version": "0.1.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-          "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-          "dev": true
-        },
-        "is-plain-object": {
-          "version": "2.0.4",
-          "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
-          "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-          "dev": true,
-          "requires": {
-            "isobject": "^3.0.1"
-          }
-        }
-      }
-    },
-    "setimmediate": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
-      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
-      "dev": true
-    },
-    "setprototypeof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
-      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
-      "dev": true
-    },
-    "sha.js": {
-      "version": "2.4.11",
-      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
-      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "shebang-command": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
-      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
-      "dev": true,
-      "requires": {
-        "shebang-regex": "^3.0.0"
-      }
-    },
-    "shebang-regex": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
-      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
-      "dev": true
-    },
-    "shell-quote": {
-      "version": "1.7.2",
-      "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz",
-      "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==",
-      "dev": true
-    },
-    "shellwords": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
-      "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
-      "dev": true,
-      "optional": true
-    },
-    "side-channel": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
-      "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "get-intrinsic": "^1.0.2",
-        "object-inspect": "^1.9.0"
-      }
-    },
-    "signal-exit": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
-      "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
-      "dev": true
-    },
-    "simple-swizzle": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
-      "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
-      "dev": true,
-      "requires": {
-        "is-arrayish": "^0.3.1"
-      },
-      "dependencies": {
-        "is-arrayish": {
-          "version": "0.3.2",
-          "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
-          "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
-          "dev": true
-        }
-      }
-    },
-    "sinon": {
-      "version": "9.2.4",
-      "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz",
-      "integrity": "sha512-zljcULZQsJxVra28qIAL6ow1Z9tpattkCTEJR4RBP3TGc00FcttsP5pK284Nas5WjMZU5Yzy3kAIp3B3KRf5Yg==",
-      "dev": true,
-      "requires": {
-        "@sinonjs/commons": "^1.8.1",
-        "@sinonjs/fake-timers": "^6.0.1",
-        "@sinonjs/samsam": "^5.3.1",
-        "diff": "^4.0.2",
-        "nise": "^4.0.4",
-        "supports-color": "^7.1.0"
-      },
-      "dependencies": {
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "sisteransi": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
-      "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
-      "dev": true
-    },
-    "slash": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
-      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
-      "dev": true
-    },
-    "slice-ansi": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
-      "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^4.0.0",
-        "astral-regex": "^2.0.0",
-        "is-fullwidth-code-point": "^3.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        }
-      }
-    },
-    "snapdragon": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
-      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "dev": true,
-      "requires": {
-        "base": "^0.11.1",
-        "debug": "^2.2.0",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "map-cache": "^0.2.2",
-        "source-map": "^0.5.6",
-        "source-map-resolve": "^0.5.0",
-        "use": "^3.1.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
-          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "0.1.6",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-          "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "is-data-descriptor": {
-          "version": "0.1.4",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-          "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "is-descriptor": {
-          "version": "0.1.6",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-          "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^0.1.6",
-            "is-data-descriptor": "^0.1.4",
-            "kind-of": "^5.0.0"
-          }
-        },
-        "is-extendable": {
-          "version": "0.1.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-          "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-          "dev": true
-        },
-        "kind-of": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-          "dev": true
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "snapdragon-node": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
-      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "dev": true,
-      "requires": {
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.0",
-        "snapdragon-util": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        }
-      }
-    },
-    "snapdragon-util": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
-      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.2.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "sockjs": {
-      "version": "0.3.21",
-      "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz",
-      "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==",
-      "dev": true,
-      "requires": {
-        "faye-websocket": "^0.11.3",
-        "uuid": "^3.4.0",
-        "websocket-driver": "^0.7.4"
-      },
-      "dependencies": {
-        "uuid": {
-          "version": "3.4.0",
-          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
-          "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
-          "dev": true
-        }
-      }
-    },
-    "sockjs-client": {
-      "version": "1.5.2",
-      "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz",
-      "integrity": "sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==",
-      "dev": true,
-      "requires": {
-        "debug": "^3.2.6",
-        "eventsource": "^1.0.7",
-        "faye-websocket": "^0.11.3",
-        "inherits": "^2.0.4",
-        "json3": "^3.3.3",
-        "url-parse": "^1.5.3"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.7",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
-          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        }
-      }
-    },
-    "sort-keys": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
-      "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
-      "dev": true,
-      "requires": {
-        "is-plain-obj": "^1.0.0"
-      }
-    },
-    "source-list-map": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
-      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
-      "dev": true
-    },
-    "source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-      "dev": true
-    },
-    "source-map-js": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
-      "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug=="
-    },
-    "source-map-resolve": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
-      "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
-      "dev": true,
-      "requires": {
-        "atob": "^2.1.2",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
-      }
-    },
-    "source-map-support": {
-      "version": "0.5.19",
-      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
-      "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
-      "dev": true,
-      "requires": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "source-map-url": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
-      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
-      "dev": true
-    },
-    "sourcemap-codec": {
-      "version": "1.4.8",
-      "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
-      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
-      "dev": true
-    },
-    "spdx-correct": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
-      "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
-      "dev": true,
-      "requires": {
-        "spdx-expression-parse": "^3.0.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-exceptions": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
-      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
-      "dev": true
-    },
-    "spdx-expression-parse": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
-      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
-      "dev": true,
-      "requires": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-license-ids": {
-      "version": "3.0.10",
-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz",
-      "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==",
-      "dev": true
-    },
-    "spdy": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
-      "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.0",
-        "handle-thing": "^2.0.0",
-        "http-deceiver": "^1.2.7",
-        "select-hose": "^2.0.0",
-        "spdy-transport": "^3.0.0"
-      }
-    },
-    "spdy-transport": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
-      "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.0",
-        "detect-node": "^2.0.4",
-        "hpack.js": "^2.1.6",
-        "obuf": "^1.1.2",
-        "readable-stream": "^3.0.6",
-        "wbuf": "^1.7.3"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "3.6.0",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
-          "dev": true,
-          "requires": {
-            "inherits": "^2.0.3",
-            "string_decoder": "^1.1.1",
-            "util-deprecate": "^1.0.1"
-          }
-        }
-      }
-    },
-    "split-string": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
-      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.0"
-      }
-    },
-    "sprintf-js": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
-      "dev": true
-    },
-    "ssri": {
-      "version": "8.0.1",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
-      "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
-      "dev": true,
-      "requires": {
-        "minipass": "^3.1.1"
-      }
-    },
-    "stable": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
-      "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
-      "dev": true
-    },
-    "stack-utils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz",
-      "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==",
-      "dev": true,
-      "requires": {
-        "escape-string-regexp": "^2.0.0"
-      },
-      "dependencies": {
-        "escape-string-regexp": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
-          "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
-          "dev": true
-        }
-      }
-    },
-    "stackframe": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz",
-      "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==",
-      "dev": true
-    },
-    "static-extend": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
-      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "dev": true,
-      "requires": {
-        "define-property": "^0.2.5",
-        "object-copy": "^0.1.0"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "0.1.6",
-          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-          "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "is-data-descriptor": {
-          "version": "0.1.4",
-          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-          "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "is-descriptor": {
-          "version": "0.1.6",
-          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
-          "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^0.1.6",
-            "is-data-descriptor": "^0.1.4",
-            "kind-of": "^5.0.0"
-          }
-        },
-        "kind-of": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-          "dev": true
-        }
-      }
-    },
-    "statuses": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
-      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
-      "dev": true
-    },
-    "stream-browserify": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
-      "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
-      "dev": true,
-      "requires": {
-        "inherits": "~2.0.1",
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "stream-each": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
-      "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "stream-http": {
-      "version": "2.8.3",
-      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
-      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
-      "dev": true,
-      "requires": {
-        "builtin-status-codes": "^3.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.3.6",
-        "to-arraybuffer": "^1.0.0",
-        "xtend": "^4.0.0"
-      }
-    },
-    "stream-shift": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
-      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
-      "dev": true
-    },
-    "strict-uri-encode": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
-      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
-      "dev": true
-    },
-    "string_decoder": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "~5.2.0"
-      },
-      "dependencies": {
-        "safe-buffer": {
-          "version": "5.2.1",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-          "dev": true
-        }
-      }
-    },
-    "string-length": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
-      "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
-      "dev": true,
-      "requires": {
-        "char-regex": "^1.0.2",
-        "strip-ansi": "^6.0.0"
-      }
-    },
-    "string-natural-compare": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz",
-      "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==",
-      "dev": true
-    },
-    "string-width": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
-      "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
-      "dev": true,
-      "requires": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "dependencies": {
-        "emoji-regex": {
-          "version": "8.0.0",
-          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-          "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-          "dev": true
-        }
-      }
-    },
-    "string.prototype.matchall": {
-      "version": "4.0.5",
-      "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz",
-      "integrity": "sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.2",
-        "get-intrinsic": "^1.1.1",
-        "has-symbols": "^1.0.2",
-        "internal-slot": "^1.0.3",
-        "regexp.prototype.flags": "^1.3.1",
-        "side-channel": "^1.0.4"
-      }
-    },
-    "string.prototype.trim": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz",
-      "integrity": "sha512-hWCk/iqf7lp0/AgTF7/ddO1IWtSNPASjlzCicV5irAVdE1grjsneK26YG6xACMBEdCvO8fUST0UzDMh/2Qy+9Q==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.2"
-      }
-    },
-    "string.prototype.trimend": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
-      "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3"
-      }
-    },
-    "string.prototype.trimstart": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
-      "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3"
-      }
-    },
-    "stringify-object": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
-      "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
-      "dev": true,
-      "requires": {
-        "get-own-enumerable-property-symbols": "^3.0.0",
-        "is-obj": "^1.0.1",
-        "is-regexp": "^1.0.0"
-      }
-    },
-    "strip-ansi": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
-      "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
-      "dev": true,
-      "requires": {
-        "ansi-regex": "^5.0.0"
-      }
-    },
-    "strip-bom": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
-      "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
-      "dev": true
-    },
-    "strip-comments": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz",
-      "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==",
-      "dev": true,
-      "requires": {
-        "babel-extract-comments": "^1.0.0",
-        "babel-plugin-transform-object-rest-spread": "^6.26.0"
-      }
-    },
-    "strip-eof": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
-      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
-      "dev": true
-    },
-    "strip-final-newline": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
-      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
-      "dev": true
-    },
-    "strip-json-comments": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
-      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
-      "dev": true
-    },
-    "style-loader": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz",
-      "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^2.0.0",
-        "schema-utils": "^2.7.0"
-      }
-    },
-    "style-mod": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz",
-      "integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw=="
-    },
-    "stylehacks": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
-      "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-selector-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-selector-parser": {
-          "version": "3.1.2",
-          "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
-          "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
-          "dev": true,
-          "requires": {
-            "dot-prop": "^5.2.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "supports-color": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-      "dev": true,
-      "requires": {
-        "has-flag": "^3.0.0"
-      }
-    },
-    "supports-hyperlinks": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
-      "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
-      "dev": true,
-      "requires": {
-        "has-flag": "^4.0.0",
-        "supports-color": "^7.0.0"
-      },
-      "dependencies": {
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "svg-parser": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz",
-      "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==",
-      "dev": true
-    },
-    "svgo": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
-      "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.4.1",
-        "coa": "^2.0.2",
-        "css-select": "^2.0.0",
-        "css-select-base-adapter": "^0.1.1",
-        "css-tree": "1.0.0-alpha.37",
-        "csso": "^4.0.2",
-        "js-yaml": "^3.13.1",
-        "mkdirp": "~0.5.1",
-        "object.values": "^1.1.0",
-        "sax": "~1.2.4",
-        "stable": "^0.1.8",
-        "unquote": "~1.1.1",
-        "util.promisify": "~1.0.0"
-      },
-      "dependencies": {
-        "css-select": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
-          "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
-          "dev": true,
-          "requires": {
-            "boolbase": "^1.0.0",
-            "css-what": "^3.2.1",
-            "domutils": "^1.7.0",
-            "nth-check": "^1.0.2"
-          }
-        },
-        "css-what": {
-          "version": "3.4.2",
-          "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz",
-          "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==",
-          "dev": true
-        },
-        "dom-serializer": {
-          "version": "0.2.2",
-          "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
-          "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
-          "dev": true,
-          "requires": {
-            "domelementtype": "^2.0.1",
-            "entities": "^2.0.0"
-          }
-        },
-        "domutils": {
-          "version": "1.7.0",
-          "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
-          "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
-          "dev": true,
-          "requires": {
-            "dom-serializer": "0",
-            "domelementtype": "1"
-          },
-          "dependencies": {
-            "domelementtype": {
-              "version": "1.3.1",
-              "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
-              "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
-              "dev": true
-            }
-          }
-        },
-        "nth-check": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
-          "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
-          "dev": true,
-          "requires": {
-            "boolbase": "~1.0.0"
-          }
-        }
-      }
-    },
-    "symbol-tree": {
-      "version": "3.2.4",
-      "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
-      "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
-    },
-    "table": {
-      "version": "6.7.1",
-      "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz",
-      "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==",
-      "dev": true,
-      "requires": {
-        "ajv": "^8.0.1",
-        "lodash.clonedeep": "^4.5.0",
-        "lodash.truncate": "^4.4.2",
-        "slice-ansi": "^4.0.0",
-        "string-width": "^4.2.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "dependencies": {
-        "ajv": {
-          "version": "8.6.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz",
-          "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==",
-          "dev": true,
-          "requires": {
-            "fast-deep-equal": "^3.1.1",
-            "json-schema-traverse": "^1.0.0",
-            "require-from-string": "^2.0.2",
-            "uri-js": "^4.2.2"
-          }
-        },
-        "json-schema-traverse": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
-          "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
-          "dev": true
-        }
-      }
-    },
-    "tapable": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
-      "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
-      "dev": true
-    },
-    "tar": {
-      "version": "6.1.11",
-      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
-      "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
-      "dev": true,
-      "requires": {
-        "chownr": "^2.0.0",
-        "fs-minipass": "^2.0.0",
-        "minipass": "^3.0.0",
-        "minizlib": "^2.1.1",
-        "mkdirp": "^1.0.3",
-        "yallist": "^4.0.0"
-      },
-      "dependencies": {
-        "mkdirp": {
-          "version": "1.0.4",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-          "dev": true
-        }
-      }
-    },
-    "temp-dir": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
-      "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
-      "dev": true
-    },
-    "tempusdominus-bootstrap-4": {
-      "version": "5.39.0",
-      "resolved": "https://registry.npmjs.org/tempusdominus-bootstrap-4/-/tempusdominus-bootstrap-4-5.39.0.tgz",
-      "integrity": "sha512-vYnkmQYQq4+A51WyRc/6e03eM0BHDoPaxd556K1pd4Nhr0eGeB3+Mi9b+3CDx4189fg3gQlrsKzgJiHPRwSX3Q==",
-      "requires": {
-        "bootstrap": "^4.5.2",
-        "jquery": "^3.5.1",
-        "moment": "^2.29.0",
-        "moment-timezone": "^0.5.31",
-        "popper.js": "^1.16.1"
-      }
-    },
-    "tempusdominus-core": {
-      "version": "5.19.0",
-      "resolved": "https://registry.npmjs.org/tempusdominus-core/-/tempusdominus-core-5.19.0.tgz",
-      "integrity": "sha512-7a4oBQw4cjz6C87BLRg3KHVvzpnPlnRTkuDZ7SwcJayQQ4QgOryX5u6wj0q07TXhgtMQLCntZO6nVhHIKPaeUw==",
-      "requires": {
-        "jquery": "^3.5.0",
-        "moment": "~2.24.0",
-        "moment-timezone": "^0.5.28"
-      },
-      "dependencies": {
-        "moment": {
-          "version": "2.24.0",
-          "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
-          "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
-        }
-      }
-    },
-    "tempy": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz",
-      "integrity": "sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==",
-      "dev": true,
-      "requires": {
-        "temp-dir": "^1.0.0",
-        "type-fest": "^0.3.1",
-        "unique-string": "^1.0.0"
-      },
-      "dependencies": {
-        "type-fest": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz",
-          "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==",
-          "dev": true
-        }
-      }
-    },
-    "terminal-link": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
-      "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
-      "dev": true,
-      "requires": {
-        "ansi-escapes": "^4.2.1",
-        "supports-hyperlinks": "^2.0.0"
-      }
-    },
-    "terser": {
-      "version": "4.8.0",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
-      "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
-      "dev": true,
-      "requires": {
-        "commander": "^2.20.0",
-        "source-map": "~0.6.1",
-        "source-map-support": "~0.5.12"
-      },
-      "dependencies": {
-        "commander": {
-          "version": "2.20.3",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-          "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "terser-webpack-plugin": {
-      "version": "4.2.3",
-      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz",
-      "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==",
-      "dev": true,
-      "requires": {
-        "cacache": "^15.0.5",
-        "find-cache-dir": "^3.3.1",
-        "jest-worker": "^26.5.0",
-        "p-limit": "^3.0.2",
-        "schema-utils": "^3.0.0",
-        "serialize-javascript": "^5.0.1",
-        "source-map": "^0.6.1",
-        "terser": "^5.3.4",
-        "webpack-sources": "^1.4.3"
-      },
-      "dependencies": {
-        "commander": {
-          "version": "2.20.3",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-          "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-          "dev": true
-        },
-        "find-cache-dir": {
-          "version": "3.3.2",
-          "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
-          "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
-          "dev": true,
-          "requires": {
-            "commondir": "^1.0.1",
-            "make-dir": "^3.0.2",
-            "pkg-dir": "^4.1.0"
-          }
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "make-dir": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-          "dev": true,
-          "requires": {
-            "semver": "^6.0.0"
-          }
-        },
-        "p-limit": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
-          "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
-          "dev": true,
-          "requires": {
-            "yocto-queue": "^0.1.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          },
-          "dependencies": {
-            "p-limit": {
-              "version": "2.3.0",
-              "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-              "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-              "dev": true,
-              "requires": {
-                "p-try": "^2.0.0"
-              }
-            }
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
-          "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
-          "dev": true,
-          "requires": {
-            "find-up": "^4.0.0"
-          }
-        },
-        "schema-utils": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
-          "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
-          "dev": true,
-          "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
-          }
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "terser": {
-          "version": "5.7.2",
-          "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz",
-          "integrity": "sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==",
-          "dev": true,
-          "requires": {
-            "commander": "^2.20.0",
-            "source-map": "~0.7.2",
-            "source-map-support": "~0.5.19"
-          },
-          "dependencies": {
-            "source-map": {
-              "version": "0.7.3",
-              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-              "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-              "dev": true
-            }
-          }
-        }
-      }
-    },
-    "test-exclude": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
-      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
-      "dev": true,
-      "requires": {
-        "@istanbuljs/schema": "^0.1.2",
-        "glob": "^7.1.4",
-        "minimatch": "^3.0.4"
-      }
-    },
-    "text-table": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
-      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
-      "dev": true
-    },
-    "throat": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
-      "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==",
-      "dev": true
-    },
-    "through2": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
-      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
-      "dev": true,
-      "requires": {
-        "readable-stream": "~2.3.6",
-        "xtend": "~4.0.1"
-      }
-    },
-    "thunky": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
-      "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
-      "dev": true
-    },
-    "timers-browserify": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
-      "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
-      "dev": true,
-      "requires": {
-        "setimmediate": "^1.0.4"
-      }
-    },
-    "timsort": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
-      "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
-      "dev": true
-    },
-    "tiny-invariant": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz",
-      "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw=="
-    },
-    "tiny-warning": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
-      "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
-    },
-    "tmpl": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
-      "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
-      "dev": true
-    },
-    "to-arraybuffer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
-      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
-      "dev": true
-    },
-    "to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
-      "dev": true
-    },
-    "to-object-path": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
-      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "to-regex": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
-      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "dev": true,
-      "requires": {
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "regex-not": "^1.0.2",
-        "safe-regex": "^1.1.0"
-      }
-    },
-    "to-regex-range": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-      "requires": {
-        "is-number": "^7.0.0"
-      }
-    },
-    "toggle-selection": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
-      "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
-    },
-    "toidentifier": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
-      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
-      "dev": true
-    },
-    "tough-cookie": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
-      "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
-      "requires": {
-        "psl": "^1.1.33",
-        "punycode": "^2.1.1",
-        "universalify": "^0.1.2"
-      },
-      "dependencies": {
-        "universalify": {
-          "version": "0.1.2",
-          "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-          "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
-        }
-      }
-    },
-    "tr46": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
-      "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
-      "requires": {
-        "punycode": "^2.1.1"
-      }
-    },
-    "tryer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
-      "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==",
-      "dev": true
-    },
-    "ts-pnp": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz",
-      "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==",
-      "dev": true
-    },
-    "tsconfig-paths": {
-      "version": "3.11.0",
-      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz",
-      "integrity": "sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==",
-      "dev": true,
-      "requires": {
-        "@types/json5": "^0.0.29",
-        "json5": "^1.0.1",
-        "minimist": "^1.2.0",
-        "strip-bom": "^3.0.0"
-      },
-      "dependencies": {
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "strip-bom": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-          "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
-          "dev": true
-        }
-      }
-    },
-    "tslib": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
-      "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==",
-      "dev": true
-    },
-    "tsutils": {
-      "version": "3.21.0",
-      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
-      "dev": true,
-      "requires": {
-        "tslib": "^1.8.1"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "1.14.1",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-          "dev": true
-        }
-      }
-    },
-    "tty-browserify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
-      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
-      "dev": true
-    },
-    "type": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
-      "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
-      "dev": true
-    },
-    "type-check": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
-      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
-      "dev": true,
-      "requires": {
-        "prelude-ls": "^1.2.1"
-      }
-    },
-    "type-detect": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
-      "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
-      "dev": true
-    },
-    "type-fest": {
-      "version": "0.21.3",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
-      "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
-      "dev": true
-    },
-    "type-is": {
-      "version": "1.6.18",
-      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
-      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
-      "dev": true,
-      "requires": {
-        "media-typer": "0.3.0",
-        "mime-types": "~2.1.24"
-      }
-    },
-    "typed-styles": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz",
-      "integrity": "sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q=="
-    },
-    "typedarray": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
-      "dev": true
-    },
-    "typedarray-to-buffer": {
-      "version": "3.1.5",
-      "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
-      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
-      "dev": true,
-      "requires": {
-        "is-typedarray": "^1.0.0"
-      }
-    },
-    "typescript": {
-      "version": "4.4.2",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz",
-      "integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==",
-      "dev": true
-    },
-    "unbox-primitive": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
-      "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1",
-        "has-bigints": "^1.0.1",
-        "has-symbols": "^1.0.2",
-        "which-boxed-primitive": "^1.0.2"
-      }
-    },
-    "unicode-canonical-property-names-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
-      "dev": true
-    },
-    "unicode-match-property-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
-      "dev": true,
-      "requires": {
-        "unicode-canonical-property-names-ecmascript": "^1.0.4",
-        "unicode-property-aliases-ecmascript": "^1.0.4"
-      }
-    },
-    "unicode-match-property-value-ecmascript": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
-      "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
-      "dev": true
-    },
-    "unicode-property-aliases-ecmascript": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
-      "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
-      "dev": true
-    },
-    "union-value": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
-      "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "get-value": "^2.0.6",
-        "is-extendable": "^0.1.1",
-        "set-value": "^2.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "0.1.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-          "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-          "dev": true
-        }
-      }
-    },
-    "uniq": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
-      "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
-      "dev": true
-    },
-    "uniqs": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
-      "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
-      "dev": true
-    },
-    "unique-filename": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
-      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
-      "dev": true,
-      "requires": {
-        "unique-slug": "^2.0.0"
-      }
-    },
-    "unique-slug": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
-      "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
-      "dev": true,
-      "requires": {
-        "imurmurhash": "^0.1.4"
-      }
-    },
-    "unique-string": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
-      "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
-      "dev": true,
-      "requires": {
-        "crypto-random-string": "^1.0.0"
-      }
-    },
-    "universalify": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
-      "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
-      "dev": true
-    },
-    "unpipe": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
-      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
-      "dev": true
-    },
-    "unquote": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
-      "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
-      "dev": true
-    },
-    "unset-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
-      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "dev": true,
-      "requires": {
-        "has-value": "^0.3.1",
-        "isobject": "^3.0.0"
-      },
-      "dependencies": {
-        "has-value": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
-          "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-          "dev": true,
-          "requires": {
-            "get-value": "^2.0.3",
-            "has-values": "^0.1.4",
-            "isobject": "^2.0.0"
-          },
-          "dependencies": {
-            "isobject": {
-              "version": "2.1.0",
-              "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
-              "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-              "dev": true,
-              "requires": {
-                "isarray": "1.0.0"
-              }
-            }
-          }
-        },
-        "has-values": {
-          "version": "0.1.4",
-          "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-          "dev": true
-        },
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        }
-      }
-    },
-    "upath": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
-      "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
-      "dev": true
-    },
-    "uri-js": {
-      "version": "4.4.1",
-      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
-      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
-      "dev": true,
-      "requires": {
-        "punycode": "^2.1.0"
-      }
-    },
-    "urix": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "dev": true
-    },
-    "url": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
-      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "dev": true,
-      "requires": {
-        "punycode": "1.3.2",
-        "querystring": "0.2.0"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.3.2",
-          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
-          "dev": true
-        },
-        "querystring": {
-          "version": "0.2.0",
-          "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
-          "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
-          "dev": true
-        }
-      }
-    },
-    "url-loader": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz",
-      "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^2.0.0",
-        "mime-types": "^2.1.27",
-        "schema-utils": "^3.0.0"
-      },
-      "dependencies": {
-        "schema-utils": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
-          "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
-          "dev": true,
-          "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
-          }
-        }
-      }
-    },
-    "url-parse": {
-      "version": "1.5.3",
-      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz",
-      "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==",
-      "dev": true,
-      "requires": {
-        "querystringify": "^2.1.1",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "use": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true
-    },
-    "use-media": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/use-media/-/use-media-1.4.0.tgz",
-      "integrity": "sha512-XsgyUAf3nhzZmEfhc5MqLHwyaPjs78bgytpVJ/xDl0TF4Bptf3vEpBNBBT/EIKOmsOc8UbuECq3mrP3mt1QANA==",
-      "requires": {}
-    },
-    "util": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
-      "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
-      "dev": true,
-      "requires": {
-        "inherits": "2.0.3"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        }
-      }
-    },
-    "util-deprecate": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
-    },
-    "util.promisify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
-      "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.2",
-        "object.getownpropertydescriptors": "^2.0.3"
-      }
-    },
-    "utila": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
-      "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
-      "dev": true
-    },
-    "utils-merge": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
-      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
-      "dev": true
-    },
-    "uuid": {
-      "version": "8.3.2",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
-      "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
-      "dev": true,
-      "optional": true
-    },
-    "v8-compile-cache": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
-      "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
-      "dev": true
-    },
-    "v8-to-istanbul": {
-      "version": "7.1.2",
-      "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz",
-      "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==",
-      "dev": true,
-      "requires": {
-        "@types/istanbul-lib-coverage": "^2.0.1",
-        "convert-source-map": "^1.6.0",
-        "source-map": "^0.7.3"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.7.3",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-          "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-          "dev": true
-        }
-      }
-    },
-    "validate-npm-package-license": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
-      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
-      "dev": true,
-      "requires": {
-        "spdx-correct": "^3.0.0",
-        "spdx-expression-parse": "^3.0.0"
-      }
-    },
-    "value-equal": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz",
-      "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw=="
-    },
-    "vary": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
-      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
-      "dev": true
-    },
-    "vendors": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz",
-      "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==",
-      "dev": true
-    },
-    "vm-browserify": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
-      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
-      "dev": true
-    },
-    "w3c-hr-time": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
-      "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
-      "requires": {
-        "browser-process-hrtime": "^1.0.0"
-      }
-    },
-    "w3c-keyname": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz",
-      "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw=="
-    },
-    "w3c-xmlserializer": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
-      "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
-      "requires": {
-        "xml-name-validator": "^3.0.0"
-      }
-    },
-    "walker": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
-      "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
-      "dev": true,
-      "requires": {
-        "makeerror": "1.0.x"
-      }
-    },
-    "warning": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
-      "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
-      "requires": {
-        "loose-envify": "^1.0.0"
-      }
-    },
-    "watchpack": {
-      "version": "1.7.5",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
-      "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
-      "dev": true,
-      "requires": {
-        "chokidar": "^3.4.1",
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0",
-        "watchpack-chokidar2": "^2.0.1"
-      }
-    },
-    "watchpack-chokidar2": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
-      "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "chokidar": "^2.1.8"
-      },
-      "dependencies": {
-        "anymatch": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-          "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "micromatch": "^3.1.4",
-            "normalize-path": "^2.1.1"
-          },
-          "dependencies": {
-            "normalize-path": {
-              "version": "2.1.1",
-              "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-              "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "remove-trailing-separator": "^1.0.1"
-              }
-            }
-          }
-        },
-        "binary-extensions": {
-          "version": "1.13.1",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-          "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-          "dev": true,
-          "optional": true
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
-          }
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "fsevents": {
-          "version": "1.2.13",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-          "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "bindings": "^1.5.0",
-            "nan": "^2.12.1"
-          }
-        },
-        "glob-parent": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-glob": "^3.1.0",
-            "path-dirname": "^1.0.0"
-          },
-          "dependencies": {
-            "is-glob": {
-              "version": "3.1.0",
-              "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-              "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "is-extglob": "^2.1.0"
-              }
-            }
-          }
-        },
-        "is-binary-path": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-          "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "binary-extensions": "^1.0.0"
-          }
-        },
-        "is-extendable": {
-          "version": "0.1.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-          "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-          "dev": true,
-          "optional": true
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          }
-        },
-        "readdirp": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-          "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "graceful-fs": "^4.1.11",
-            "micromatch": "^3.1.10",
-            "readable-stream": "^2.0.2"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        }
-      }
-    },
-    "wbuf": {
-      "version": "1.7.3",
-      "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
-      "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
-      "dev": true,
-      "requires": {
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "webidl-conversions": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
-      "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w=="
-    },
-    "webpack": {
-      "version": "4.44.2",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz",
-      "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/wasm-edit": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "acorn": "^6.4.1",
-        "ajv": "^6.10.2",
-        "ajv-keywords": "^3.4.1",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^4.3.0",
-        "eslint-scope": "^4.0.3",
-        "json-parse-better-errors": "^1.0.2",
-        "loader-runner": "^2.4.0",
-        "loader-utils": "^1.2.3",
-        "memory-fs": "^0.4.1",
-        "micromatch": "^3.1.10",
-        "mkdirp": "^0.5.3",
-        "neo-async": "^2.6.1",
-        "node-libs-browser": "^2.2.1",
-        "schema-utils": "^1.0.0",
-        "tapable": "^1.1.3",
-        "terser-webpack-plugin": "^1.4.3",
-        "watchpack": "^1.7.4",
-        "webpack-sources": "^1.4.1"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "6.4.2",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
-          "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
-          "dev": true
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "cacache": {
-          "version": "12.0.4",
-          "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
-          "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
-          "dev": true,
-          "requires": {
-            "bluebird": "^3.5.5",
-            "chownr": "^1.1.1",
-            "figgy-pudding": "^3.5.1",
-            "glob": "^7.1.4",
-            "graceful-fs": "^4.1.15",
-            "infer-owner": "^1.0.3",
-            "lru-cache": "^5.1.1",
-            "mississippi": "^3.0.0",
-            "mkdirp": "^0.5.1",
-            "move-concurrently": "^1.0.1",
-            "promise-inflight": "^1.0.1",
-            "rimraf": "^2.6.3",
-            "ssri": "^6.0.1",
-            "unique-filename": "^1.1.1",
-            "y18n": "^4.0.0"
-          }
-        },
-        "chownr": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-          "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-          "dev": true
-        },
-        "eslint-scope": {
-          "version": "4.0.3",
-          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
-          "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
-          "dev": true,
-          "requires": {
-            "esrecurse": "^4.1.0",
-            "estraverse": "^4.1.1"
-          }
-        },
-        "estraverse": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-          "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-          "dev": true
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "is-extendable": {
-          "version": "0.1.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-          "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-          "dev": true
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "is-wsl": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
-          "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
-          "dev": true
-        },
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
-          }
-        },
-        "lru-cache": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
-          "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-          "dev": true,
-          "requires": {
-            "yallist": "^3.0.2"
-          }
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          }
-        },
-        "rimraf": {
-          "version": "2.7.1",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        },
-        "serialize-javascript": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
-          "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
-          "dev": true,
-          "requires": {
-            "randombytes": "^2.1.0"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "ssri": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
-          "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
-          "dev": true,
-          "requires": {
-            "figgy-pudding": "^3.5.1"
-          }
-        },
-        "terser-webpack-plugin": {
-          "version": "1.4.5",
-          "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
-          "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
-          "dev": true,
-          "requires": {
-            "cacache": "^12.0.2",
-            "find-cache-dir": "^2.1.0",
-            "is-wsl": "^1.1.0",
-            "schema-utils": "^1.0.0",
-            "serialize-javascript": "^4.0.0",
-            "source-map": "^0.6.1",
-            "terser": "^4.1.2",
-            "webpack-sources": "^1.4.0",
-            "worker-farm": "^1.7.0"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        },
-        "yallist": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
-        }
-      }
-    },
-    "webpack-dev-middleware": {
-      "version": "3.7.3",
-      "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz",
-      "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==",
-      "dev": true,
-      "requires": {
-        "memory-fs": "^0.4.1",
-        "mime": "^2.4.4",
-        "mkdirp": "^0.5.1",
-        "range-parser": "^1.2.1",
-        "webpack-log": "^2.0.0"
-      },
-      "dependencies": {
-        "mime": {
-          "version": "2.5.2",
-          "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz",
-          "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==",
-          "dev": true
-        }
-      }
-    },
-    "webpack-dev-server": {
-      "version": "3.11.1",
-      "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz",
-      "integrity": "sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==",
-      "dev": true,
-      "requires": {
-        "ansi-html": "0.0.7",
-        "bonjour": "^3.5.0",
-        "chokidar": "^2.1.8",
-        "compression": "^1.7.4",
-        "connect-history-api-fallback": "^1.6.0",
-        "debug": "^4.1.1",
-        "del": "^4.1.1",
-        "express": "^4.17.1",
-        "html-entities": "^1.3.1",
-        "http-proxy-middleware": "0.19.1",
-        "import-local": "^2.0.0",
-        "internal-ip": "^4.3.0",
-        "ip": "^1.1.5",
-        "is-absolute-url": "^3.0.3",
-        "killable": "^1.0.1",
-        "loglevel": "^1.6.8",
-        "opn": "^5.5.0",
-        "p-retry": "^3.0.1",
-        "portfinder": "^1.0.26",
-        "schema-utils": "^1.0.0",
-        "selfsigned": "^1.10.8",
-        "semver": "^6.3.0",
-        "serve-index": "^1.9.1",
-        "sockjs": "^0.3.21",
-        "sockjs-client": "^1.5.0",
-        "spdy": "^4.0.2",
-        "strip-ansi": "^3.0.1",
-        "supports-color": "^6.1.0",
-        "url": "^0.11.0",
-        "webpack-dev-middleware": "^3.7.2",
-        "webpack-log": "^2.0.0",
-        "ws": "^6.2.1",
-        "yargs": "^13.3.2"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "anymatch": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
-          "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-          "dev": true,
-          "requires": {
-            "micromatch": "^3.1.4",
-            "normalize-path": "^2.1.1"
-          },
-          "dependencies": {
-            "normalize-path": {
-              "version": "2.1.1",
-              "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-              "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-              "dev": true,
-              "requires": {
-                "remove-trailing-separator": "^1.0.1"
-              }
-            }
-          }
-        },
-        "binary-extensions": {
-          "version": "1.13.1",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-          "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-          "dev": true
-        },
-        "braces": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
-          "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.1.0",
-            "array-unique": "^0.3.2",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "camelcase": {
-          "version": "5.3.1",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-          "dev": true
-        },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "dev": true,
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
-          }
-        },
-        "cliui": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
-          "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
-          "dev": true,
-          "requires": {
-            "string-width": "^3.1.0",
-            "strip-ansi": "^5.2.0",
-            "wrap-ansi": "^5.1.0"
-          },
-          "dependencies": {
-            "ansi-regex": {
-              "version": "4.1.0",
-              "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-              "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-              "dev": true
-            },
-            "strip-ansi": {
-              "version": "5.2.0",
-              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-              "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-              "dev": true,
-              "requires": {
-                "ansi-regex": "^4.1.0"
-              }
-            }
-          }
-        },
-        "emoji-regex": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-          "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
-          "dev": true
-        },
-        "fill-range": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
-          "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "dev": true,
-          "requires": {
-            "extend-shallow": "^2.0.1",
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
-              "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "dev": true,
-              "requires": {
-                "is-extendable": "^0.1.0"
-              }
-            }
-          }
-        },
-        "find-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
-          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^3.0.0"
-          }
-        },
-        "fsevents": {
-          "version": "1.2.13",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-          "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "bindings": "^1.5.0",
-            "nan": "^2.12.1"
-          }
-        },
-        "glob-parent": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
-          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-          "dev": true,
-          "requires": {
-            "is-glob": "^3.1.0",
-            "path-dirname": "^1.0.0"
-          },
-          "dependencies": {
-            "is-glob": {
-              "version": "3.1.0",
-              "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
-              "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-              "dev": true,
-              "requires": {
-                "is-extglob": "^2.1.0"
-              }
-            }
-          }
-        },
-        "import-local": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
-          "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
-          "dev": true,
-          "requires": {
-            "pkg-dir": "^3.0.0",
-            "resolve-cwd": "^2.0.0"
-          }
-        },
-        "is-absolute-url": {
-          "version": "3.0.3",
-          "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz",
-          "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==",
-          "dev": true
-        },
-        "is-binary-path": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
-          "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-          "dev": true,
-          "requires": {
-            "binary-extensions": "^1.0.0"
-          }
-        },
-        "is-extendable": {
-          "version": "0.1.1",
-          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-          "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "is-number": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
-          "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          },
-          "dependencies": {
-            "kind-of": {
-              "version": "3.2.2",
-              "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-              "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "dev": true,
-              "requires": {
-                "is-buffer": "^1.1.5"
-              }
-            }
-          }
-        },
-        "locate-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
-          "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^3.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "micromatch": {
-          "version": "3.1.10",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
-          "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-          "dev": true,
-          "requires": {
-            "arr-diff": "^4.0.0",
-            "array-unique": "^0.3.2",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
-          "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.0.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
-          "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-          "dev": true,
-          "requires": {
-            "find-up": "^3.0.0"
-          }
-        },
-        "readdirp": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-          "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.11",
-            "micromatch": "^3.1.10",
-            "readable-stream": "^2.0.2"
-          }
-        },
-        "resolve-cwd": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
-          "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
-          "dev": true,
-          "requires": {
-            "resolve-from": "^3.0.0"
-          }
-        },
-        "resolve-from": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-          "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-          "dev": true
-        },
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
-          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        },
-        "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
-          },
-          "dependencies": {
-            "ansi-regex": {
-              "version": "4.1.0",
-              "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-              "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-              "dev": true
-            },
-            "strip-ansi": {
-              "version": "5.2.0",
-              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-              "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-              "dev": true,
-              "requires": {
-                "ansi-regex": "^4.1.0"
-              }
-            }
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        },
-        "to-regex-range": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
-          "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "dev": true,
-          "requires": {
-            "is-number": "^3.0.0",
-            "repeat-string": "^1.6.1"
-          }
-        },
-        "wrap-ansi": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
-          "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.0",
-            "string-width": "^3.0.0",
-            "strip-ansi": "^5.0.0"
-          },
-          "dependencies": {
-            "ansi-regex": {
-              "version": "4.1.0",
-              "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-              "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-              "dev": true
-            },
-            "strip-ansi": {
-              "version": "5.2.0",
-              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-              "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-              "dev": true,
-              "requires": {
-                "ansi-regex": "^4.1.0"
-              }
-            }
-          }
-        },
-        "ws": {
-          "version": "6.2.2",
-          "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz",
-          "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==",
-          "dev": true,
-          "requires": {
-            "async-limiter": "~1.0.0"
-          }
-        },
-        "yargs": {
-          "version": "13.3.2",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
-          "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
-          "dev": true,
-          "requires": {
-            "cliui": "^5.0.0",
-            "find-up": "^3.0.0",
-            "get-caller-file": "^2.0.1",
-            "require-directory": "^2.1.1",
-            "require-main-filename": "^2.0.0",
-            "set-blocking": "^2.0.0",
-            "string-width": "^3.0.0",
-            "which-module": "^2.0.0",
-            "y18n": "^4.0.0",
-            "yargs-parser": "^13.1.2"
-          }
-        },
-        "yargs-parser": {
-          "version": "13.1.2",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
-          "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
-          "dev": true,
-          "requires": {
-            "camelcase": "^5.0.0",
-            "decamelize": "^1.2.0"
-          }
-        }
-      }
-    },
-    "webpack-log": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
-      "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
-      "dev": true,
-      "requires": {
-        "ansi-colors": "^3.0.0",
-        "uuid": "^3.3.2"
-      },
-      "dependencies": {
-        "ansi-colors": {
-          "version": "3.2.4",
-          "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
-          "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
-          "dev": true
-        },
-        "uuid": {
-          "version": "3.4.0",
-          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
-          "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
-          "dev": true
-        }
-      }
-    },
-    "webpack-manifest-plugin": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz",
-      "integrity": "sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==",
-      "dev": true,
-      "requires": {
-        "fs-extra": "^7.0.0",
-        "lodash": ">=3.5 <5",
-        "object.entries": "^1.1.0",
-        "tapable": "^1.0.0"
-      },
-      "dependencies": {
-        "fs-extra": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
-          "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.2",
-            "jsonfile": "^4.0.0",
-            "universalify": "^0.1.0"
-          }
-        },
-        "jsonfile": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
-          "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.6"
-          }
-        },
-        "universalify": {
-          "version": "0.1.2",
-          "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-          "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
-          "dev": true
-        }
-      }
-    },
-    "webpack-sources": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
-      "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
-      "dev": true,
-      "requires": {
-        "source-list-map": "^2.0.0",
-        "source-map": "~0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
-      }
-    },
-    "websocket-driver": {
-      "version": "0.7.4",
-      "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
-      "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
-      "dev": true,
-      "requires": {
-        "http-parser-js": ">=0.5.1",
-        "safe-buffer": ">=5.1.0",
-        "websocket-extensions": ">=0.1.1"
-      }
-    },
-    "websocket-extensions": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
-      "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
-      "dev": true
-    },
-    "whatwg-encoding": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
-      "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
-      "requires": {
-        "iconv-lite": "0.4.24"
-      }
-    },
-    "whatwg-fetch": {
-      "version": "3.6.2",
-      "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz",
-      "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==",
-      "dev": true
-    },
-    "whatwg-mimetype": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
-      "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g=="
-    },
-    "whatwg-url": {
-      "version": "8.7.0",
-      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
-      "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
-      "requires": {
-        "lodash": "^4.7.0",
-        "tr46": "^2.1.0",
-        "webidl-conversions": "^6.1.0"
-      }
-    },
-    "which": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
-      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-      "dev": true,
-      "requires": {
-        "isexe": "^2.0.0"
-      }
-    },
-    "which-boxed-primitive": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
-      "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
-      "dev": true,
-      "requires": {
-        "is-bigint": "^1.0.1",
-        "is-boolean-object": "^1.1.0",
-        "is-number-object": "^1.0.4",
-        "is-string": "^1.0.5",
-        "is-symbol": "^1.0.3"
-      }
-    },
-    "which-module": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
-      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
-      "dev": true
-    },
-    "word-wrap": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
-      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
-    },
-    "workbox-background-sync": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-5.1.4.tgz",
-      "integrity": "sha512-AH6x5pYq4vwQvfRDWH+vfOePfPIYQ00nCEB7dJRU1e0n9+9HMRyvI63FlDvtFT2AvXVRsXvUt7DNMEToyJLpSA==",
-      "dev": true,
-      "requires": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "workbox-broadcast-update": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-5.1.4.tgz",
-      "integrity": "sha512-HTyTWkqXvHRuqY73XrwvXPud/FN6x3ROzkfFPsRjtw/kGZuZkPzfeH531qdUGfhtwjmtO/ZzXcWErqVzJNdXaA==",
-      "dev": true,
-      "requires": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "workbox-build": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-5.1.4.tgz",
-      "integrity": "sha512-xUcZn6SYU8usjOlfLb9Y2/f86Gdo+fy1fXgH8tJHjxgpo53VVsqRX0lUDw8/JuyzNmXuo8vXX14pXX2oIm9Bow==",
-      "dev": true,
-      "requires": {
-        "@babel/core": "^7.8.4",
-        "@babel/preset-env": "^7.8.4",
-        "@babel/runtime": "^7.8.4",
-        "@hapi/joi": "^15.1.0",
-        "@rollup/plugin-node-resolve": "^7.1.1",
-        "@rollup/plugin-replace": "^2.3.1",
-        "@surma/rollup-plugin-off-main-thread": "^1.1.1",
-        "common-tags": "^1.8.0",
-        "fast-json-stable-stringify": "^2.1.0",
-        "fs-extra": "^8.1.0",
-        "glob": "^7.1.6",
-        "lodash.template": "^4.5.0",
-        "pretty-bytes": "^5.3.0",
-        "rollup": "^1.31.1",
-        "rollup-plugin-babel": "^4.3.3",
-        "rollup-plugin-terser": "^5.3.1",
-        "source-map": "^0.7.3",
-        "source-map-url": "^0.4.0",
-        "stringify-object": "^3.3.0",
-        "strip-comments": "^1.0.2",
-        "tempy": "^0.3.0",
-        "upath": "^1.2.0",
-        "workbox-background-sync": "^5.1.4",
-        "workbox-broadcast-update": "^5.1.4",
-        "workbox-cacheable-response": "^5.1.4",
-        "workbox-core": "^5.1.4",
-        "workbox-expiration": "^5.1.4",
-        "workbox-google-analytics": "^5.1.4",
-        "workbox-navigation-preload": "^5.1.4",
-        "workbox-precaching": "^5.1.4",
-        "workbox-range-requests": "^5.1.4",
-        "workbox-routing": "^5.1.4",
-        "workbox-strategies": "^5.1.4",
-        "workbox-streams": "^5.1.4",
-        "workbox-sw": "^5.1.4",
-        "workbox-window": "^5.1.4"
-      },
-      "dependencies": {
-        "fs-extra": {
-          "version": "8.1.0",
-          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
-          "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.2.0",
-            "jsonfile": "^4.0.0",
-            "universalify": "^0.1.0"
-          }
-        },
-        "jsonfile": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
-          "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.6"
-          }
-        },
-        "source-map": {
-          "version": "0.7.3",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-          "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-          "dev": true
-        },
-        "universalify": {
-          "version": "0.1.2",
-          "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-          "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
-          "dev": true
-        }
-      }
-    },
-    "workbox-cacheable-response": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-5.1.4.tgz",
-      "integrity": "sha512-0bfvMZs0Of1S5cdswfQK0BXt6ulU5kVD4lwer2CeI+03czHprXR3V4Y8lPTooamn7eHP8Iywi5QjyAMjw0qauA==",
-      "dev": true,
-      "requires": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "workbox-core": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
-      "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
-      "dev": true
-    },
-    "workbox-expiration": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-5.1.4.tgz",
-      "integrity": "sha512-oDO/5iC65h2Eq7jctAv858W2+CeRW5e0jZBMNRXpzp0ZPvuT6GblUiHnAsC5W5lANs1QS9atVOm4ifrBiYY7AQ==",
-      "dev": true,
-      "requires": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "workbox-google-analytics": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-5.1.4.tgz",
-      "integrity": "sha512-0IFhKoEVrreHpKgcOoddV+oIaVXBFKXUzJVBI+nb0bxmcwYuZMdteBTp8AEDJacENtc9xbR0wa9RDCnYsCDLjA==",
-      "dev": true,
-      "requires": {
-        "workbox-background-sync": "^5.1.4",
-        "workbox-core": "^5.1.4",
-        "workbox-routing": "^5.1.4",
-        "workbox-strategies": "^5.1.4"
-      }
-    },
-    "workbox-navigation-preload": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-5.1.4.tgz",
-      "integrity": "sha512-Wf03osvK0wTflAfKXba//QmWC5BIaIZARU03JIhAEO2wSB2BDROWI8Q/zmianf54kdV7e1eLaIEZhth4K4MyfQ==",
-      "dev": true,
-      "requires": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "workbox-precaching": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-5.1.4.tgz",
-      "integrity": "sha512-gCIFrBXmVQLFwvAzuGLCmkUYGVhBb7D1k/IL7pUJUO5xacjLcFUaLnnsoVepBGAiKw34HU1y/YuqvTKim9qAZA==",
-      "dev": true,
-      "requires": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "workbox-range-requests": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-5.1.4.tgz",
-      "integrity": "sha512-1HSujLjgTeoxHrMR2muDW2dKdxqCGMc1KbeyGcmjZZAizJTFwu7CWLDmLv6O1ceWYrhfuLFJO+umYMddk2XMhw==",
-      "dev": true,
-      "requires": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "workbox-routing": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-5.1.4.tgz",
-      "integrity": "sha512-8ljknRfqE1vEQtnMtzfksL+UXO822jJlHTIR7+BtJuxQ17+WPZfsHqvk1ynR/v0EHik4x2+826Hkwpgh4GKDCw==",
-      "dev": true,
-      "requires": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "workbox-strategies": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-5.1.4.tgz",
-      "integrity": "sha512-VVS57LpaJTdjW3RgZvPwX0NlhNmscR7OQ9bP+N/34cYMDzXLyA6kqWffP6QKXSkca1OFo/v6v7hW7zrrguo6EA==",
-      "dev": true,
-      "requires": {
-        "workbox-core": "^5.1.4",
-        "workbox-routing": "^5.1.4"
-      }
-    },
-    "workbox-streams": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-5.1.4.tgz",
-      "integrity": "sha512-xU8yuF1hI/XcVhJUAfbQLa1guQUhdLMPQJkdT0kn6HP5CwiPOGiXnSFq80rAG4b1kJUChQQIGPrq439FQUNVrw==",
-      "dev": true,
-      "requires": {
-        "workbox-core": "^5.1.4",
-        "workbox-routing": "^5.1.4"
-      }
-    },
-    "workbox-sw": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-5.1.4.tgz",
-      "integrity": "sha512-9xKnKw95aXwSNc8kk8gki4HU0g0W6KXu+xks7wFuC7h0sembFnTrKtckqZxbSod41TDaGh+gWUA5IRXrL0ECRA==",
-      "dev": true
-    },
-    "workbox-webpack-plugin": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-5.1.4.tgz",
-      "integrity": "sha512-PZafF4HpugZndqISi3rZ4ZK4A4DxO8rAqt2FwRptgsDx7NF8TVKP86/huHquUsRjMGQllsNdn4FNl8CD/UvKmQ==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.5.5",
-        "fast-json-stable-stringify": "^2.0.0",
-        "source-map-url": "^0.4.0",
-        "upath": "^1.1.2",
-        "webpack-sources": "^1.3.0",
-        "workbox-build": "^5.1.4"
-      }
-    },
-    "workbox-window": {
-      "version": "5.1.4",
-      "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-5.1.4.tgz",
-      "integrity": "sha512-vXQtgTeMCUq/4pBWMfQX8Ee7N2wVC4Q7XYFqLnfbXJ2hqew/cU1uMTD2KqGEgEpE4/30luxIxgE+LkIa8glBYw==",
-      "dev": true,
-      "requires": {
-        "workbox-core": "^5.1.4"
-      }
-    },
-    "worker-farm": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
-      "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
-      "dev": true,
-      "requires": {
-        "errno": "~0.1.7"
-      }
-    },
-    "worker-rpc": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz",
-      "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==",
-      "dev": true,
-      "requires": {
-        "microevent.ts": "~0.1.1"
-      }
-    },
-    "wrap-ansi": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
-      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true
-        }
-      }
-    },
-    "wrappy": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
-      "dev": true
-    },
-    "write-file-atomic": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
-      "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
-      "dev": true,
-      "requires": {
-        "imurmurhash": "^0.1.4",
-        "is-typedarray": "^1.0.0",
-        "signal-exit": "^3.0.2",
-        "typedarray-to-buffer": "^3.1.5"
-      }
-    },
-    "ws": {
-      "version": "7.5.4",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.4.tgz",
-      "integrity": "sha512-zP9z6GXm6zC27YtspwH99T3qTG7bBFv2VIkeHstMLrLlDJuzA7tQ5ls3OJ1hOGGCzTQPniNJoHXIAOS0Jljohg==",
-      "requires": {}
-    },
-    "xml-name-validator": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
-      "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
-    },
-    "xmlchars": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
-      "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
-    },
-    "xtend": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
-      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
-      "dev": true
-    },
-    "y18n": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
-      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
-      "dev": true
-    },
-    "yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
-    },
-    "yaml": {
-      "version": "1.10.2",
-      "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
-      "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
-      "dev": true
-    },
-    "yargs": {
-      "version": "15.4.1",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
-      "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
-      "dev": true,
-      "requires": {
-        "cliui": "^6.0.0",
-        "decamelize": "^1.2.0",
-        "find-up": "^4.1.0",
-        "get-caller-file": "^2.0.1",
-        "require-directory": "^2.1.1",
-        "require-main-filename": "^2.0.0",
-        "set-blocking": "^2.0.0",
-        "string-width": "^4.2.0",
-        "which-module": "^2.0.0",
-        "y18n": "^4.0.0",
-        "yargs-parser": "^18.1.2"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        }
-      }
-    },
-    "yargs-parser": {
-      "version": "18.1.3",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
-      "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
-      "dev": true,
-      "requires": {
-        "camelcase": "^5.0.0",
-        "decamelize": "^1.2.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "5.3.1",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-          "dev": true
-        }
-      }
-    },
-    "yocto-queue": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
-      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
-      "dev": true
-    }
-  }
-}
diff --git a/pkgs/servers/monitoring/prometheus/webui/webui/package.json b/pkgs/servers/monitoring/prometheus/webui/webui/package.json
deleted file mode 100644
index 6a7f124a7c4..00000000000
--- a/pkgs/servers/monitoring/prometheus/webui/webui/package.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
-  "name": "graph",
-  "version": "0.1.0",
-  "private": true,
-  "dependencies": {
-    "@codemirror/autocomplete": "^0.18.3",
-    "@codemirror/closebrackets": "^0.18.0",
-    "@codemirror/commands": "^0.18.0",
-    "@codemirror/comment": "^0.18.0",
-    "@codemirror/highlight": "^0.18.3",
-    "@codemirror/history": "^0.18.0",
-    "@codemirror/language": "^0.18.0",
-    "@codemirror/lint": "^0.18.1",
-    "@codemirror/matchbrackets": "^0.18.0",
-    "@codemirror/search": "^0.18.2",
-    "@codemirror/state": "^0.18.2",
-    "@codemirror/view": "^0.18.3",
-    "@forevolve/bootstrap-dark": "^1.0.0",
-    "@fortawesome/fontawesome-svg-core": "^1.2.14",
-    "@fortawesome/free-solid-svg-icons": "^5.7.1",
-    "@fortawesome/react-fontawesome": "^0.1.4",
-    "@nexucis/fuzzy": "^0.3.0",
-    "bootstrap": "^4.6.0",
-    "codemirror-promql": "^0.17.0",
-    "css.escape": "^1.5.1",
-    "downshift": "^3.4.8",
-    "i": "^0.3.6",
-    "jquery": "^3.5.1",
-    "jquery.flot.tooltip": "^0.9.0",
-    "jsdom": "^16.4.0",
-    "moment": "^2.24.0",
-    "moment-timezone": "^0.5.23",
-    "popper.js": "^1.14.3",
-    "react": "^16.7.0",
-    "react-copy-to-clipboard": "^5.0.1",
-    "react-dom": "^16.7.0",
-    "react-resize-detector": "^5.0.7",
-    "react-router-dom": "^5.2.1",
-    "react-test-renderer": "^16.9.0",
-    "reactstrap": "^8.9.0",
-    "sanitize-html": "^2.3.3",
-    "sass": "1.39.0",
-    "tempusdominus-bootstrap-4": "^5.1.2",
-    "tempusdominus-core": "^5.0.3",
-    "use-media": "^1.4.0"
-  },
-  "scripts": {
-    "start": "react-scripts start",
-    "build": "react-scripts build",
-    "test": "react-scripts test --runInBand --resetMocks=false",
-    "test:debug": "react-scripts --inspect-brk test --runInBand --no-cache",
-    "eject": "react-scripts eject",
-    "lint:ci": "eslint --quiet \"src/**/*.{ts,tsx}\"",
-    "lint": "eslint --fix \"src/**/*.{ts,tsx}\""
-  },
-  "prettier": {
-    "singleQuote": true,
-    "trailingComma": "es5",
-    "printWidth": 125
-  },
-  "browserslist": [
-    ">0.2%",
-    "not dead",
-    "not ie <= 11",
-    "not op_mini all"
-  ],
-  "devDependencies": {
-    "@testing-library/react-hooks": "^3.1.1",
-    "@types/enzyme": "^3.10.3",
-    "@types/enzyme-adapter-react-16": "^1.0.5",
-    "@types/flot": "0.0.32",
-    "@types/jest": "^27.0.0",
-    "@types/jquery": "^3.5.1",
-    "@types/moment-timezone": "^0.5.10",
-    "@types/node": "^12.11.1",
-    "@types/react": "^16.8.2",
-    "@types/react-copy-to-clipboard": "^5.0.0",
-    "@types/react-dom": "^16.8.0",
-    "@types/react-resize-detector": "^5.0.0",
-    "@types/react-router-dom": "^5.1.8",
-    "@types/reactstrap": "^8.7.2",
-    "@types/sanitize-html": "^1.20.2",
-    "@types/sinon": "^9.0.4",
-    "enzyme": "^3.10.0",
-    "enzyme-adapter-react-16": "^1.15.1",
-    "enzyme-to-json": "^3.4.3",
-    "eslint-config-prettier": "^8.3.0",
-    "eslint-config-react-app": "^6.0.0",
-    "eslint-plugin-prettier": "^4.0.0",
-    "jest-fetch-mock": "^3.0.3",
-    "mutationobserver-shim": "^0.3.7",
-    "prettier": "^2.3.2",
-    "react-scripts": "4.0.3",
-    "sinon": "^9.0.3",
-    "typescript": "^4.4.2"
-  },
-  "proxy": "http://localhost:9090",
-  "jest": {
-    "snapshotSerializers": [
-      "enzyme-to-json/serializer"
-    ],
-    "transformIgnorePatterns": [
-      "/node_modules/(?!codemirror-promql).+(js|jsx)$"
-    ]
-  },
-  "optionalDependencies": {
-    "fsevents": "^2.3.2"
-  }
-}
diff --git a/pkgs/servers/monitoring/thanos/default.nix b/pkgs/servers/monitoring/thanos/default.nix
index 8692b5b558a..7b1bd2960ab 100644
--- a/pkgs/servers/monitoring/thanos/default.nix
+++ b/pkgs/servers/monitoring/thanos/default.nix
@@ -1,13 +1,13 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "thanos";
-  version = "0.25.1";
+  version = "0.25.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "thanos-io";
     repo = "thanos";
-    sha256 = "sha256-yisJqr2JMpXSo9O3q7WpNe1r6w7E3XyeLpVlbdest3s=";
+    sha256 = "sha256-CAeI+5aC8kSQaKOk/5WCQiQMOX82hogAQGP2Em3DJAw=";
   };
 
   vendorSha256 = "sha256-tHtfS4PnO9n3ckUdaG6dQAIE2D2PG6km4Tqofaab/eg=";
diff --git a/pkgs/servers/monitoring/uchiwa/bower-packages.nix b/pkgs/servers/monitoring/uchiwa/bower-packages.nix
deleted file mode 100644
index 8585df3349c..00000000000
--- a/pkgs/servers/monitoring/uchiwa/bower-packages.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-# Generated by bower2nix v3.2.0 (https://github.com/rvl/bower2nix)
-{ fetchbower, buildEnv }:
-buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
-  (fetchbower "uchiwa-web" "1.7.0" "1.7.0" "1qn09j3a1ngqn36rhz7a2dj00szr0r6fjb40lfbmq3drkzppgbm1")
-  (fetchbower "angular" "1.6.10" "~1.6.3" "0ag8xddsgxx5yka4wjq4ala4y6z3x2g1vc3x7a1n291fzz26p7ws")
-  (fetchbower "angular-bootstrap" "2.2.0" "~2.2.0" "11r2nlwp6xrim2y6lnrr8v064mx3bmlxchqpg1i803v9zxz3q53d")
-  (fetchbower "angular-cookies" "1.6.10" "~1.6.3" "0bjgmz5jnw06dfxhq9sajj62fk0b3v4j9p7nb45x8bl8rzkf25pn")
-  (fetchbower "angular-gravatar" "0.4.2" "~0.4.2" "14jrzvjwx64awh9z95054manp8qd57fvinqhmakipz5x12i7qrwi")
-  (fetchbower "angular-moment" "1.0.1" "~1.0.1" "0zkn52s9l15d6b5zfx52g5jpib23rpb637m0p1hzc429w5bbl0rj")
-  (fetchbower "angular-resource" "1.6.10" "~1.6.3" "1gplq8kd49qakk7ardg5xr5amwvspaz9n71kf8x49xfllda61rm0")
-  (fetchbower "angular-route" "1.6.10" "~1.6.3" "0vwbn7i45yvsn8c469nj141ahrn7iw85j7hy3vvhh2r373j94mai")
-  (fetchbower "angular-sanitize" "1.6.10" "~1.6.3" "066gsdl19s27w00wafg2skf5abdsdrlzhkcagkk1ma39dyqyl4i3")
-  (fetchbower "angular-toastr" "1.6.0" "1.6.0" "1szigf1m28bgpfyg8hbm5rffr5zi7wr9n73nc1fqhk0yqh7gzysh")
-  (fetchbower "angular-tools/ng-jsoneditor" "ea138469f157d8f2b54ec5b8dcf4b08a55b61459" "ea138469f157d8f2b54ec5b8dcf4b08a55b61459" "1j3vysr01niabc9fxcpixhcq1lyx2fr4q4wpmxhmiqki431h9hq8")
-  (fetchbower "angular-ua-parser" "0.0.2" "0.0.2" "0gb0vmwksnydlm6hklfq1n4ak2967wcmnx3cx9cgiv7v7vk3w2m9")
-  (fetchbower "bootstrap" "3.1.1" "3.1.1" "1a06mx1rw5h4wq89kqpa8g2pbiddm3p21dxq50jyi29sywd01ny4")
-  (fetchbower "bootstrap-sass-official" "3.1.1" "3.1.1" "1k6hhvsd75hdfrz8qcjzmb12c17fdn0h3l3l5k9wgd0rfhhfkyvd")
-  (fetchbower "fontawesome" "4.4.0" "~4.4.0" "09mrbik8i3skjwchn7ns2020bqmb51kbd3mqi59vh444s4az2sc7")
-  (fetchbower "highlightjs" "9.1.0" "~9.1.0" "0ld1da3h416a5j8v3v50rrpm4xwvvq8k8y2vwncvaqm9cqddz4s3")
-  (fetchbower "moment" "2.16.0" "~2.16.0" "1mji892i60f2aw3vhl6878acrcgh0ycn3r4af0ivnjf8az2b9n71")
-  (fetchbower "moment-picker" "0.9.11" "~0.9.7" "0p2g6rp2kcixydrga9lfihg4bxb598rvpi8n8l59mp549diy7vsb")
-  (fetchbower "ua-parser-js" "0.7.20" "~0.7.12" "18r0islba6cwkvx4s2gna7skhsn2vqjcf1xyap5pcmycjnq93j8s")
-  (fetchbower "jsoneditor" "5.5.11" "~5.5.10" "1gfsf8jqnd3hb3r9s9246mg40iqxk2ix8k4bjnrsbfmg6cd3xw6x")
-  (fetchbower "jquery" "3.4.1" ">= 1.9.0" "1vk25pbc55m2c82mqf26rfhxhnliq18isi4vbm4p98a1b9vp8fq7")
-]; }
diff --git a/pkgs/servers/monitoring/uchiwa/default.nix b/pkgs/servers/monitoring/uchiwa/default.nix
deleted file mode 100644
index a871bf87db2..00000000000
--- a/pkgs/servers/monitoring/uchiwa/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, buildBowerComponents, buildGoPackage, makeWrapper }:
-
-let
-  inherit (import ./src.nix) version sha256;
-  owner = "sensu";
-  repo = "uchiwa";
-
-  src = fetchFromGitHub {
-    inherit owner repo sha256;
-    rev    = version;
-  };
-
-  backend = buildGoPackage {
-    pname = "uchiwa-backend";
-    inherit version;
-    goPackagePath = "github.com/${owner}/${repo}";
-    inherit src;
-    postInstall = ''
-      mkdir -p $out
-      cp go/src/github.com/sensu/uchiwa/public/index.html $out/
-    '';
-  };
-
-  frontend = buildBowerComponents {
-    name = "uchiwa-frontend-${version}";
-    generated = ./bower-packages.nix;
-    inherit src;
-  };
-
-in stdenv.mkDerivation {
-  pname = "uchiwa";
-  inherit version;
-
-  inherit src;
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  buildCommand = ''
-    mkdir -p $out/bin $out/public
-    makeWrapper ${backend}/bin/uchiwa $out/bin/uchiwa \
-      --add-flags "-p $out/public"
-    ln -s ${backend.out}/index.html $out/public/index.html
-    ln -s ${frontend.out}/bower_components $out/public/bower_components
-  '';
-
-  meta = with lib; {
-    description = "A Dashboard for the sensu monitoring framework";
-    homepage    = "http://sensuapp.org/";
-    license     = licenses.mit;
-    maintainers = with maintainers; [ peterhoeg ];
-    platforms   = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/monitoring/uchiwa/src.nix b/pkgs/servers/monitoring/uchiwa/src.nix
deleted file mode 100644
index 36e46ea083e..00000000000
--- a/pkgs/servers/monitoring/uchiwa/src.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-    version = "1.7.0-1";
-    sha256  = "0fa3zzh6d8v1lfn828s0x65pcknycwyv0d1mndi0gvdfbfg463nf";
-}
diff --git a/pkgs/servers/monitoring/uchiwa/update.sh b/pkgs/servers/monitoring/uchiwa/update.sh
deleted file mode 100755
index 10da7f8adbf..00000000000
--- a/pkgs/servers/monitoring/uchiwa/update.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl.bin git.out nix jq.out nodePackages.bower2nix
-
-set -euo pipefail
-IFS=$'\n\t'
-
-# set -x
-
-REPO=sensu/uchiwa
-VERSION=0.0.1
-SHA="1111111111111111111111111111111111111111111111111111"
-DIR=$(pwd)
-
-write_src() {
-  cat <<_EOF > $DIR/src.nix
-{
-    version = "${VERSION}";
-    sha256  = "${SHA}";
-}
-_EOF
-}
-
-LATEST_VERSION=$(curl https://api.github.com/repos/${REPO}/tags -s | jq '.[0]' -r | jq .name -r)
-echo "Latest version: ${LATEST_VERSION}"
-
-VERSION=${1:-${LATEST_VERSION}}
-echo "Updating to: ${VERSION}"
-
-TOP=$(git rev-parse --show-toplevel)
-
-cd $(dirname $0)
-
-write_src
-pushd $TOP >/dev/null
-SHA=$(nix-prefetch-url -A uchiwa.src)
-popd >/dev/null
-write_src
-
-curl https://raw.githubusercontent.com/${REPO}/${VERSION}/bower.json -s > bower.json
-rm -f bower-packages.nix
-bower2nix bower.json $DIR/bower-packages.nix
-rm -f bower.json
diff --git a/pkgs/servers/moonraker/default.nix b/pkgs/servers/moonraker/default.nix
index 2350cd18042..c46568d24da 100644
--- a/pkgs/servers/moonraker/default.nix
+++ b/pkgs/servers/moonraker/default.nix
@@ -20,13 +20,13 @@ let
   ]);
 in stdenvNoCC.mkDerivation rec {
   pname = "moonraker";
-  version = "unstable-2022-03-10";
+  version = "unstable-2022-04-23";
 
   src = fetchFromGitHub {
     owner = "Arksine";
     repo = "moonraker";
-    rev = "ee312ee9c6597c8d077d7c3208ccea4e696c97ca";
-    sha256 = "l0VOQIfKgZ/Je4z+SKhWMgYzxye8WKs9W1GkNs7kABo=";
+    rev = "cd520ba91728abb5a3d959269fbd8e4f40d1eb0b";
+    sha256 = "sha256-sopX9t+LjYldx+syKwU3I0x/VYy4hLyXfitG0uumayE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 92e8d6ff5d2..e71fb9db115 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -46,13 +46,13 @@ in {
   '';
 
   nextcloud22 = generic {
-    version = "22.2.6";
-    sha256 = "0f1d0f0cb000c51b11886be25a8adce478846c3233572fcf28b44c5d4036e235";
+    version = "22.2.7";
+    sha256 = "5ada41cb3e69665e8a13946f71978829c0a0163d0277a49e599c9e8ccf960eab";
   };
 
   nextcloud23 = generic {
-    version = "23.0.3";
-    sha256 = "39401d400fab02a84a175ea6e995b8ed4110fbaea48c876230b4f09755a62986";
+    version = "23.0.4";
+    sha256 = "67191c2b8b41591ae42accfb32216313fde0e107201682cb39029f890712bc6a";
   };
   # tip: get she sha with:
   # curl 'https://download.nextcloud.com/server/releases/nextcloud-${version}.tar.bz2.sha256'
diff --git a/pkgs/servers/nosql/cassandra/generic.nix b/pkgs/servers/nosql/cassandra/generic.nix
index 9d62279e74e..6a6aa65395c 100644
--- a/pkgs/servers/nosql/cassandra/generic.nix
+++ b/pkgs/servers/nosql/cassandra/generic.nix
@@ -9,7 +9,6 @@
 , procps
 , which
 , jre
-, coreutils
 , nixosTests
   # generation is the attribute version suffix such as 3_11 in pkgs.cassandra_3_11
 , generation
@@ -41,7 +40,7 @@ stdenv.mkDerivation rec {
     url = "mirror://apache/cassandra/${version}/apache-cassandra-${version}-bin.tar.gz";
   };
 
-  nativeBuildInputs = [ makeWrapper coreutils ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index f42acee87b5..a99523cfd70 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "redis";
-  version = "6.2.6";
+  version = "7.0.0";
 
   src = fetchurl {
     url = "https://download.redis.io/releases/${pname}-${version}.tar.gz";
-    sha256 = "1ariw5x33hmmm3d5al0j3307l5kf3vhmn78wpyaz67hia1x8nasv";
+    sha256 = "sha256-KE2L0f2F1qVaBe5OfDHDGXetVsvzRO2DeQvusUi6pyA=";
   };
 
   # Cross-compiling fixes
@@ -56,6 +56,12 @@ stdenv.mkDerivation rec {
     substituteInPlace tests/integration/replication.tcl \
       --replace 'foreach mdl {no yes}' 'foreach mdl {}'
 
+    substituteInPlace tests/support/server.tcl \
+      --replace 'exec /usr/bin/env' 'exec env'
+
+    sed -i '/^proc wait_load_handlers_disconnected/{n ; s/wait_for_condition 50 100/wait_for_condition 50 500/; }' \
+      tests/support/util.tcl
+
     ./runtest \
       --no-latency \
       --timeout 2000 \
diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix
index 81ff0d6b7ad..c8be2eec27a 100644
--- a/pkgs/servers/openafs/1.8/module.nix
+++ b/pkgs/servers/openafs/1.8/module.nix
@@ -11,6 +11,7 @@
 , perl
 , libtool_2
 , libkrb5
+, fetchpatch
 }:
 
 with (import ./srcs.nix {
@@ -21,6 +22,10 @@ let
   modDestDir = "$out/lib/modules/${kernel.modDirVersion}/extra/openafs";
   kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
 
+  fetchBase64Patch = args: (fetchpatch args).overrideAttrs (o: {
+    postFetch = "mv $out p; base64 -d p > $out; " + o.postFetch;
+  });
+
 in
 stdenv.mkDerivation {
   pname = "openafs";
@@ -32,6 +37,34 @@ stdenv.mkDerivation {
 
   buildInputs = [ libkrb5 ];
 
+  patches = [
+    # Add autoconf-archive to src/external
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14942/revisions/006616bd8e88b2d386a5ddc23973cf3e625cb80d/patch";
+      hash = "sha256-55sc2sKy5XkQHAv6ysVxi69+0xVsHnN2TS144UTeLHU=";
+    })
+    # Import of code from autoconf-archive
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14943/revisions/d3782b1d4e6fd81c5432e95112eb44305f07f272/patch";
+      hash = "sha256-ohkjSux+S3+6slh6uZIw5UJXlvhy9UUDpDlP0YFRwmw=";
+    })
+    # Use autoconf-archive m4 from src/external
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14944/revisions/ea2a0e128d71802f61b8da2e44de3c6325c5f328/patch";
+      hash = "sha256-PAUk/MXL5p8xwhn40/UGmo3UIhvl1PB2FwgqhmqsjJ4=";
+    })
+    # Linux-5.17: kernel func complete_and_exit renamed
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14945/revisions/a714e865efe41aa1112f6f9c8479112660dacd6f/patch";
+      hash = "sha256-zvyR/GOPJeAbG6ySRRMp44oT5tPujUwybyU0XR/5Xyc=";
+    })
+    # Linux-5.17: Kernel build uses -Wcast-function-type
+    (fetchBase64Patch {
+      url = "https://gerrit.openafs.org/changes/14946/revisions/449d1faf87e2841e80be38cf2b4a5cf5ff4df2d8/patch";
+      hash = "sha256-3bRTHYeMRIleLhob56m2Xt0dWzIMDo3QrytY0K1/q7c=";
+    })
+  ];
+
   hardeningDisable = [ "pic" ];
 
   configureFlags = [
@@ -70,6 +103,6 @@ stdenv.mkDerivation {
     license = licenses.ipl10;
     platforms = platforms.linux;
     maintainers = with maintainers; [ maggesi spacefrogg ];
-    broken = kernel.kernelAtLeast "5.17" || kernel.isHardened;
+    broken = kernel.isHardened;
   };
 }
diff --git a/pkgs/servers/openvscode-server/default.nix b/pkgs/servers/openvscode-server/default.nix
index 67f525d46a0..99ef62210bf 100644
--- a/pkgs/servers/openvscode-server/default.nix
+++ b/pkgs/servers/openvscode-server/default.nix
@@ -13,7 +13,8 @@ let
   vsBuildTarget = {
     x86_64-linux = "linux-x64";
     aarch64-linux = "linux-arm64";
-    x86_64-darwin = "darwin";
+    x86_64-darwin = "darwin-x64";
+    aarch64-darwin = "darwin-arm64";
   }.${system} or (throw "Unsupported system ${system}");
 
   # replaces esbuild's download script with a binary from nixpkgs
@@ -26,13 +27,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "openvscode-server";
-  version = "1.62.3";
+  version = "1.66.0";
 
   src = fetchFromGitHub {
     owner = "gitpod-io";
     repo = "openvscode-server";
     rev = "openvscode-server-v${version}";
-    sha256 = "0822181gbd6y8bzn65liv7prqv7pg067sbl8nac02zg7268qwi6j";
+    sha256 = "g5QaxZDVXvE/vOe2BjBXlqYLGZ2EG4nTKdUlLdt8H8A=";
   };
 
   yarnCache = stdenv.mkDerivation {
@@ -55,7 +56,7 @@ in stdenv.mkDerivation rec {
 
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "0rmcixcn7lmrndb2pq0x895qp34hc271h1j0n3xq9rv603v1ayvk";
+    outputHash = "sha256-BeVJsruiRLReGMwThfcEm/ez4UFcr0oI4wwevJwxt58=";
   };
 
   # Extract the Node.js source code which is used to compile packages with
@@ -123,7 +124,7 @@ in stdenv.mkDerivation rec {
     patchShebangs ./remote/node_modules
 
     # put ripgrep binary into bin so postinstall does not try to download it
-    find -name vscode-ripgrep -type d \
+    find -path "*@vscode/ripgrep" -type d \
       -execdir mkdir -p {}/bin \; \
       -execdir ln -s ${ripgrep}/bin/rg {}/bin/rg \;
   '' + lib.optionalString stdenv.isDarwin ''
@@ -150,13 +151,9 @@ in stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p $out/libexec
-
-    cp -R -T ../vscode-reh-web-${vsBuildTarget} "$out/libexec"
-
-    ln -s ${nodejs}/bin/node $out/libexec
-
-    makeWrapper "$out/libexec/server.sh" "$out/bin/openvscode-server"
+    mkdir -p $out
+    cp -R -T ../vscode-reh-web-${vsBuildTarget} $out
+    ln -s ${nodejs}/bin/node $out
   '';
 
   meta = with lib; {
@@ -167,7 +164,7 @@ in stdenv.mkDerivation rec {
     '';
     homepage = "https://github.com/gitpod-io/openvscode-server";
     license = licenses.mit;
-    maintainers = with maintainers; [ dguenther ghuntley ];
-    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+    maintainers = with maintainers; [ dguenther ghuntley emilytrau ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
   };
 }
diff --git a/pkgs/servers/openvscode-server/remove-node-download.patch b/pkgs/servers/openvscode-server/remove-node-download.patch
index 9262be5b293..c53b79de019 100644
--- a/pkgs/servers/openvscode-server/remove-node-download.patch
+++ b/pkgs/servers/openvscode-server/remove-node-download.patch
@@ -1,15 +1,17 @@
---- ./build/gulpfile.reh.js
-+++ ./build/gulpfile.reh.js
-@@ -277,8 +277,6 @@
+diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
+index a44941a1e73..5fc924cb367 100644
+--- a/build/gulpfile.reh.js
++++ b/build/gulpfile.reh.js
+@@ -265,8 +265,6 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
  			.pipe(util.stripSourceMappingURL())
  			.pipe(jsFilter.restore);
  
--		const nodePath = `.build/node/v${nodeVersion}/${platform}-${platform === 'darwin' ? 'x64' : arch}`;
+-		const nodePath = `.build/node/v${nodeVersion}/${platform}-${arch}`;
 -		const node = gulp.src(`${nodePath}/**`, { base: nodePath, dot: true });
  
  		let web = [];
  		if (type === 'reh-web') {
-@@ -296,7 +294,6 @@
+@@ -284,7 +282,6 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
  			license,
  			sources,
  			deps,
@@ -17,11 +19,11 @@
  			...web
  		);
  
-@@ -376,7 +373,6 @@
+@@ -382,7 +379,6 @@ function tweakProductForServerWeb(product) {
  			const destinationFolderName = `vscode-${type}${dashed(platform)}${dashed(arch)}`;
  
  			const serverTaskCI = task.define(`vscode-${type}${dashed(platform)}${dashed(arch)}${dashed(minified)}-ci`, task.series(
--				gulp.task(`node-${platform}-${platform === 'darwin' ? 'x64' : arch}`),
+-				gulp.task(`node-${platform}-${arch}`),
  				util.rimraf(path.join(BUILD_ROOT, destinationFolderName)),
  				packageTask(type, platform, arch, sourceFolderName, destinationFolderName)
  			));
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index 520a7317c4a..dc65911a066 100644
--- a/pkgs/servers/plex/raw.nix
+++ b/pkgs/servers/plex/raw.nix
@@ -12,16 +12,16 @@
 # server, and the FHS userenv and corresponding NixOS module should
 # automatically pick up the changes.
 stdenv.mkDerivation rec {
-  version = "1.25.9.5721-965587f64";
+  version = "1.26.0.5715-8cf78dab3";
   pname = "plexmediaserver";
 
   # Fetch the source
   src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
-    hash = "sha256-qD4VZ0ksR+VyBVVjeSCC2EG+uUHh5RE2fihHrIJUItY=";
+    hash = "sha256-Ou5DlQPk+zAt/wE5Nry4nzLaR1Id6tQdwl73qawig4M=";
   } else fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
-    hash = "sha256-NPfpQ8JwXDaq8xpvSabyqdDqMWjoqbeoJdu41nhdsI0=";
+    hash = "sha256-DQbRobiJwT7Xr4NzKS2iQOszOsd/bS/+kJ4p+QUVXfg=";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index b0ccd5f7635..95a454850b6 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -4,7 +4,8 @@
 , avahi, libjack2, libasyncns, lirc, dbus
 , sbc, bluez5, udev, openssl, fftwFloat
 , soxr, speexdsp, systemd, webrtc-audio-processing
-, check, meson, ninja, m4
+, gst_all_1
+, check, meson, ninja, m4, wrapGAppsHook
 
 , x11Support ? false
 
@@ -19,6 +20,7 @@
 , airtunesSupport ? false
 
 , bluetoothSupport ? true
+, advancedBluetoothCodecs ? false
 
 , remoteControlSupport ? false
 
@@ -48,7 +50,9 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkg-config meson ninja makeWrapper perlPackages.perl perlPackages.XMLParser m4 ]
-    ++ lib.optionals stdenv.isLinux [ glib ];
+    ++ lib.optionals stdenv.isLinux [ glib ]
+    # gstreamer plugin discovery requires wrapping
+    ++ lib.optional (bluetoothSupport && advancedBluetoothCodecs) wrapGAppsHook;
 
   propagatedBuildInputs =
     lib.optionals stdenv.isLinux [ libcap ];
@@ -65,6 +69,8 @@ stdenv.mkDerivation rec {
       ++ lib.optionals stdenv.isLinux [ alsa-lib udev ]
       ++ lib.optional airtunesSupport openssl
       ++ lib.optionals bluetoothSupport [ bluez5 sbc ]
+      # aptX and LDAC codecs are in gst-plugins-bad so far, rtpldacpay is in -good
+      ++ lib.optionals (bluetoothSupport && advancedBluetoothCodecs) (builtins.attrValues { inherit (gst_all_1) gst-plugins-bad gst-plugins-good gst-plugins-base gstreamer; })
       ++ lib.optional remoteControlSupport lirc
       ++ lib.optional zeroconfSupport  avahi
   );
@@ -74,7 +80,8 @@ stdenv.mkDerivation rec {
     "-Dasyncns=${if !libOnly then "enabled" else "disabled"}"
     "-Davahi=${if zeroconfSupport then "enabled" else "disabled"}"
     "-Dbluez5=${if !libOnly then "enabled" else "disabled"}"
-    "-Dbluez5-gstreamer=disabled"
+    # advanced bluetooth audio codecs are provided by gstreamer
+    "-Dbluez5-gstreamer=${if (!libOnly && bluetoothSupport && advancedBluetoothCodecs) then "enabled" else "disabled"}"
     "-Ddatabase=simple"
     "-Ddoxygen=false"
     "-Delogind=disabled"
diff --git a/pkgs/servers/redpanda/default.nix b/pkgs/servers/redpanda/default.nix
new file mode 100644
index 00000000000..6b0704b04a5
--- /dev/null
+++ b/pkgs/servers/redpanda/default.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, fetchzip }:
+
+let
+  version = "21.11.15";
+  platform = if stdenv.isLinux then "linux" else "darwin";
+  arch = if stdenv.isAarch64 then "arm" else "amd";
+in stdenv.mkDerivation rec {
+  pname = "redpanda";
+  inherit version;
+
+  src = fetchzip {
+    url = "https://github.com/redpanda-data/redpanda/releases/download/v${version}/rpk-${platform}-${arch}64.zip";
+    sha256 = "sha256-Yf4O7lVcf+nmb0wFTx7jLjUSmdAItoUfPlkhHveI9UY=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp rpk $out/bin
+
+    runHook postInstall
+  '';
+
+  # stripping somehow completely breaks it
+  dontStrip = true;
+
+  meta = with lib; {
+    description = "Redpanda is a streaming data platform for developers. Kafka API compatible. 10x faster. No ZooKeeper. No JVM! ";
+    license = licenses.bsl11;
+    homepage = "https://redpanda.com/";
+    maintainers = with maintainers; [ happysalada ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/roon-server/default.nix b/pkgs/servers/roon-server/default.nix
index 32d0a1310ef..9e8c0254fca 100644
--- a/pkgs/servers/roon-server/default.nix
+++ b/pkgs/servers/roon-server/default.nix
@@ -16,7 +16,7 @@
 }:
 stdenv.mkDerivation rec {
   pname = "roon-server";
-  version = "1.8-923";
+  version = "1.8-935";
 
   src =
     let
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     in
     fetchurl {
       url = "http://download.roonlabs.com/builds/RoonServer_linuxx64_${urlVersion}.tar.bz2";
-      hash = "sha256-txf8W7SoPb20S7KcQDfExPEn5dubu9JVEX89dWngYFU=";
+      hash = "sha256-6I612imOCqxVlNu6zCXWS/Yy8bnot+0723t3Se4DjLg=";
     };
 
   dontConfigure = true;
diff --git a/pkgs/servers/routinator/default.nix b/pkgs/servers/routinator/default.nix
index e11fb3272f9..ed57e21b620 100644
--- a/pkgs/servers/routinator/default.nix
+++ b/pkgs/servers/routinator/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "routinator";
-  version = "0.11.1";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "NLnetLabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8rILHWxUrQQx/ZpZQECa3JBCGD+a5Po8jdqb/rTx6WA=";
+    sha256 = "sha256-C6BY+Ba5KQgi+jMUKRi7osZNEDMLMDOhA4TQlbqb9jY=";
   };
 
-  cargoSha256 = "sha256-TYVpi4ZyM0Nl2RWRMEwLM+TeAEzk1IUCQTXZLG92vt4=";
+  cargoSha256 = "sha256-5ZBE7jbhO4j4FwGSXLIbYjmtmNxFpiME9JqXBqwHSUA=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index 5f12ae0ee95..503a2b46adf 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -10,7 +10,21 @@
 }:
 
 let
-  pythonEnv = python3.withPackages(ps: with ps; [
+
+  python = python3.override {
+    packageOverrides = final: prev: {
+      sabyenc3 = prev.sabyenc3.overridePythonAttrs (oldAttrs: rec {
+        version = "4.0.0";
+        src = oldAttrs.src.override {
+          inherit version;
+          hash = "sha256-PwwQ2jChKIqh7jJ6E2hkqPquTDSN4MklghfJ+MkM0n0=";
+        };
+      });
+    };
+    self = python;
+  };
+
+  pythonEnv = python.withPackages(ps: with ps; [
     chardet
     cheetah3
     cherrypy
diff --git a/pkgs/servers/sql/dolt/default.nix b/pkgs/servers/sql/dolt/default.nix
index a1db051e7b2..072bd793346 100644
--- a/pkgs/servers/sql/dolt/default.nix
+++ b/pkgs/servers/sql/dolt/default.nix
@@ -2,24 +2,24 @@
 
 buildGoModule rec {
   pname = "dolt";
-  version = "0.37.4";
+  version = "0.39.2";
 
   src = fetchFromGitHub {
-    owner = "liquidata-inc";
+    owner = "dolthub";
     repo = "dolt";
     rev = "v${version}";
-    sha256 = "sha256-cKX8idMmh9hQVPjO8rJWlp1nhtnzwwlLkelNw+LLBag=";
+    sha256 = "sha256-rCGjBb5aiDLPBKYX4jhHxtBDf3Xs1/p1DdsFmdfLNLM=";
   };
 
   modRoot = "./go";
   subPackages = [ "cmd/dolt" "cmd/git-dolt" "cmd/git-dolt-smudge" ];
-  vendorSha256 = "sha256-vaYCo+jvw3qcLQ63oA8tq6G6Gxq50VTxK6IMBcEZXqs=";
+  vendorSha256 = "sha256-yemt7hUcLXgC42B2q4+1MalGd3jCMHcVD/Bpq8B2x7M=";
 
   doCheck = false;
 
   meta = with lib; {
     description = "Relational database with version control and CLI a-la Git";
-    homepage = "https://github.com/liquidata-inc/dolt";
+    homepage = "https://github.com/dolthub/dolt";
     license = licenses.asl20;
     maintainers = with maintainers; [ danbst ];
   };
diff --git a/pkgs/servers/sql/postgresql/ext/jsonb_deep_sum.nix b/pkgs/servers/sql/postgresql/ext/jsonb_deep_sum.nix
new file mode 100644
index 00000000000..cf0ba46d876
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/ext/jsonb_deep_sum.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub, postgresql }:
+
+stdenv.mkDerivation rec {
+  pname = "jsonb_deep_sum";
+  version = "unstable-2021-12-24";
+
+  src = fetchFromGitHub {
+    owner = "furstenheim";
+    repo = "jsonb_deep_sum";
+    rev = "d9c69aa6b7da860e5522a9426467e67cb787980c";
+    sha256 = "sha256-W1wNILAwTAjFPezq+grdRMA59KEnMZDz69n9xQUqdc0=";
+  };
+
+  buildInputs = [ postgresql ];
+
+  installPhase = ''
+    mkdir -p $out/{lib,share/postgresql/extension}
+
+    cp *.so      $out/lib
+    cp *.sql     $out/share/postgresql/extension
+    cp *.control $out/share/postgresql/extension
+  '';
+
+  meta = with lib; {
+    description = "PostgreSQL extension to easily add jsonb numeric";
+    homepage = "https://github.com/furstenheim/jsonb_deep_sum";
+    maintainers = with maintainers; [ _1000101 ];
+    platforms = postgresql.meta.platforms;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix
index fec106f32ac..c789e92c8e3 100644
--- a/pkgs/servers/sql/postgresql/packages.nix
+++ b/pkgs/servers/sql/postgresql/packages.nix
@@ -2,6 +2,8 @@ self: super: {
 
     age = super.callPackage ./ext/age.nix { };
 
+    jsonb_deep_sum = super.callPackage ./ext/jsonb_deep_sum.nix { };
+
     periods = super.callPackage ./ext/periods.nix { };
 
     postgis = super.callPackage ./ext/postgis.nix { };
diff --git a/pkgs/servers/stayrtr/default.nix b/pkgs/servers/stayrtr/default.nix
index cee68bd2f61..a168cf5b1ee 100644
--- a/pkgs/servers/stayrtr/default.nix
+++ b/pkgs/servers/stayrtr/default.nix
@@ -2,7 +2,7 @@
 , fetchFromGitHub
 , buildGoModule
 , stayrtr
-, testVersion
+, testers
 }:
 
 buildGoModule rec {
@@ -23,7 +23,7 @@ buildGoModule rec {
     "-X main.version=${version}"
   ];
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = stayrtr;
   };
 
diff --git a/pkgs/servers/tailscale/default.nix b/pkgs/servers/tailscale/default.nix
index 7c7bb84e15b..e69eabdc361 100644
--- a/pkgs/servers/tailscale/default.nix
+++ b/pkgs/servers/tailscale/default.nix
@@ -2,27 +2,26 @@
 
 buildGoModule rec {
   pname = "tailscale";
-  version = "1.22.2";
+  version = "1.24.2";
 
   src = fetchFromGitHub {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    sha256 = "sha256-W4BcUDMxUZKFXueSI/Xlml17Jabi/hnnOyXgitao76A=";
+    sha256 = "sha256-PBYxbi7KqwZedP1m3W3gbhFR+9UhvTAftGi6eTv05ro=";
   };
+  vendorSha256 = "sha256-WjAd7EV/9IbrJMGGVbmSkfEUxqmwWEPkB0Yp3rrjCRU=";
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ];
 
   CGO_ENABLED = 0;
 
-  vendorSha256 = "sha256-Bu0a9JI0rlsA4wvvX9Mj4+QH0ot6Jdl+t246HbXu6OA=";
-
-  doCheck = false;
-
   subPackages = [ "cmd/tailscale" "cmd/tailscaled" ];
 
   ldflags = [ "-X tailscale.com/version.Long=${version}" "-X tailscale.com/version.Short=${version}" ];
 
+  doCheck = false;
+
   postInstall = lib.optionalString stdenv.isLinux ''
     wrapProgram $out/bin/tailscaled --prefix PATH : ${lib.makeBinPath [ iproute2 iptables ]}
     wrapProgram $out/bin/tailscale --suffix PATH : ${lib.makeBinPath [ procps ]}
@@ -35,6 +34,6 @@ buildGoModule rec {
     homepage = "https://tailscale.com";
     description = "The node agent for Tailscale, a mesh VPN built on WireGuard";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ danderson mbaillie ];
+    maintainers = with maintainers; [ danderson mbaillie twitchyliquid64 jk ];
   };
 }
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index db4ec8b891d..6c0a505d523 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -65,7 +65,7 @@ in rec {
   };
 
   unifi7 = generic {
-    version = "7.0.25";
-    sha256 = "sha256-DZi2xy6mS3hfqxX1ikiHKPlJ12eaoZVgyl9jKYt91hg=";
+    version = "7.1.61";
+    sha256 = "sha256-7Ac8BjlBLCslSU6IZK0EtheKz4CtH7tcmR8J2rUGYbs=";
   };
 }
diff --git a/pkgs/servers/uxplay/default.nix b/pkgs/servers/uxplay/default.nix
new file mode 100644
index 00000000000..d013a5a59e4
--- /dev/null
+++ b/pkgs/servers/uxplay/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, stdenv
+, pkg-config
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, wrapGAppsHook
+, avahi
+, avahi-compat
+, openssl
+, gst_all_1
+, libplist
+}:
+
+stdenv.mkDerivation rec {
+  pname = "uxplay";
+  version = "1.50";
+
+  src = fetchFromGitHub {
+    owner = "FDH2";
+    repo = "UxPlay";
+    rev = "v${version}";
+    sha256 = "sha256-43BCpYh0XtsnI064/ddcz2/Imj399g+bxLlT0BpqLMI=";
+  };
+
+  patches = [
+    # https://github.com/FDH2/UxPlay/issues/91
+    (fetchpatch {
+      url = "https://github.com/FDH2/UxPlay/commit/f373fb2edcfb1f4c279e5796cf21e4a865800a71.patch";
+      sha256 = "sha256-ENT/sMyPjDdZ4gdxiatYJ/UxuCl+ekk0iQOn8ELDAKQ=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    openssl
+    libplist
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    avahi
+    avahi-compat
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-plugins-ugly
+    gst_all_1.gst-libav
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/FDH2/UxPlay";
+    description = "AirPlay Unix mirroring server";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ azuwis ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/vouch-proxy/default.nix b/pkgs/servers/vouch-proxy/default.nix
index a8a773385db..6cdc6380e84 100644
--- a/pkgs/servers/vouch-proxy/default.nix
+++ b/pkgs/servers/vouch-proxy/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "vouch-proxy";
-  version = "0.36.0";
+  version = "0.37.0";
 
   src = fetchFromGitHub {
     owner = "vouch";
     repo = "vouch-proxy";
     rev = "v${version}";
-    sha256 = "sha256-pgoxRzYc5PIrxnRwWpthFmpsxDfvWTmLT7upQVIFoQo=";
+    sha256 = "0rcc5b3v5d9v4y78z5fnjbn1k10xy8cpgxjhqc7j22k9wkic05mh";
   };
 
-  vendorSha256 = "sha256-ifH+420FIrib+zQtzzHtMMYd84BED+vgnRw4xToYIl4=";
+  vendorSha256 = "0pi230xcaf0wkphfn3s4h3riviihxlqwyb9lzfdvh8h5dpizxwc9";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/servers/web-apps/jitsi-meet/default.nix b/pkgs/servers/web-apps/jitsi-meet/default.nix
index 05f33bb47de..e31327927fa 100644
--- a/pkgs/servers/web-apps/jitsi-meet/default.nix
+++ b/pkgs/servers/web-apps/jitsi-meet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jitsi-meet";
-  version = "1.0.5913";
+  version = "1.0.6091";
 
   src = fetchurl {
     url = "https://download.jitsi.org/jitsi-meet/src/jitsi-meet-${version}.tar.bz2";
-    sha256 = "NQxGkwEqnrOrkB+Rtka1n1SDqcQqp7epmDBuXKR/qFQ=";
+    sha256 = "lYQGrH7D2xsRdwDC0yXB+tt4nOawEkq9A5tDIwl6pRk=";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/web-apps/nifi/default.nix b/pkgs/servers/web-apps/nifi/default.nix
index f25c1931501..b53b53aaf5c 100644
--- a/pkgs/servers/web-apps/nifi/default.nix
+++ b/pkgs/servers/web-apps/nifi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nifi";
-  version = "1.16.0";
+  version = "1.16.1";
 
   src = fetchurl {
     url = "https://dlcdn.apache.org/nifi/${version}/nifi-${version}-bin.tar.gz";
-    sha256 = "sha256-BE990mVSocO+UuMa9kULJcbXbqiX8oquZQTQKSRPe4g=";
+    sha256 = "sha256-wC+oKq8QGEKuD6B22Ny92NK0z3SBKmRoTEit3vAXJQs=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/web-apps/sogo/default.nix b/pkgs/servers/web-apps/sogo/default.nix
index 8af14f109a3..f94436c1f37 100644
--- a/pkgs/servers/web-apps/sogo/default.nix
+++ b/pkgs/servers/web-apps/sogo/default.nix
@@ -1,6 +1,6 @@
 { gnustep, lib, fetchFromGitHub, fetchpatch, makeWrapper, python3, lndir
 , openssl, openldap, sope, libmemcached, curl, libsodium, libytnef, libzip, pkg-config, nixosTests
-, oathToolkit }:
+, oath-toolkit }:
 gnustep.stdenv.mkDerivation rec {
   pname = "SOGo";
   version = "5.5.0";
@@ -13,7 +13,7 @@ gnustep.stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ gnustep.make makeWrapper python3 ];
-  buildInputs = [ gnustep.base sope openssl libmemcached curl libsodium libytnef libzip pkg-config openldap oathToolkit ];
+  buildInputs = [ gnustep.base sope openssl libmemcached curl libsodium libytnef libzip pkg-config openldap oath-toolkit ];
 
   patches = [
     # TODO: take a closer look at other patches in https://sources.debian.org/patches/sogo/ and https://github.com/Skrupellos/sogo-patches
diff --git a/pkgs/servers/web-apps/wallabag/default.nix b/pkgs/servers/web-apps/wallabag/default.nix
index 6730608f707..c288df7a11b 100644
--- a/pkgs/servers/web-apps/wallabag/default.nix
+++ b/pkgs/servers/web-apps/wallabag/default.nix
@@ -4,8 +4,10 @@
 }:
 
 # Point the environment variable $WALLABAG_DATA to a data directory
-# that contains the folder `app/config` which must be a clone of
+# that contains the folder `app` which must be a clone of
 # wallabag's configuration files with your customized `parameters.yml`.
+# In practice you need to copy `${pkgs.wallabag}/app` and the
+# customizzed `parameters.yml` to $WALLABAG_DATA.
 # These need to be updated every package upgrade.
 #
 # After a package upgrade, empty the `var/cache` folder or unexpected
diff --git a/pkgs/servers/web-apps/wiki-js/default.nix b/pkgs/servers/web-apps/wiki-js/default.nix
index c0f94b1bca7..496bf02bb03 100644
--- a/pkgs/servers/web-apps/wiki-js/default.nix
+++ b/pkgs/servers/web-apps/wiki-js/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wiki-js";
-  version = "2.5.277";
+  version = "2.5.279";
 
   src = fetchurl {
     url = "https://github.com/Requarks/wiki/releases/download/v${version}/${pname}.tar.gz";
-    sha256 = "sha256-YLw0DR4dbPfNY56lNybEQFXFEVPZ99sQkwDl6gtz40E=";
+    sha256 = "sha256-4QYNKvAEeRSJS9lO30bI/SnM9rLmuvRMR/LsGT77wvY=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/servers/wishlist/default.nix b/pkgs/servers/wishlist/default.nix
new file mode 100644
index 00000000000..73a77a7bfc6
--- /dev/null
+++ b/pkgs/servers/wishlist/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "wishlist";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "charmbracelet";
+    repo = "wishlist";
+    rev = "v${version}";
+    sha256 = "sha256-qXCPxFdwX+z0aaZbqFt7bWPlBJDnr0SDMrBHSALX1aw=";
+  };
+
+  vendorSha256 = "sha256-vLhRZVEiYUCvGqPMtOz/8T6W5AKwkSzPdEglG3AevE8=";
+
+  doCheck = false;
+
+  ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
+
+  meta = with lib; {
+    description = "A single entrypoint for multiple SSH endpoints";
+    homepage = "https://github.com/charmbracelet/wishlist";
+    changelog = "https://github.com/charmbracelet/wishlist/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ penguwin ];
+  };
+}
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index 6b70c4cc987..607a9dc0201 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchurl, lib, libidn, openssl, makeWrapper, fetchhg
+, icu
 , lua
 , nixosTests
 , withLibevent ? true
@@ -13,7 +14,7 @@ with lib;
 
 let
   luaEnv = lua.withPackages(p: with p; [
-      luasocket luasec luaexpat luafilesystem luabitop luadbi-sqlite3
+      luasocket luasec luaexpat luafilesystem luabitop luadbi-sqlite3 luaunbound
     ]
     ++ lib.optional withLibevent p.luaevent
     ++ lib.optional withDBI p.luadbi
@@ -21,21 +22,19 @@ let
   );
 in
 stdenv.mkDerivation rec {
-  version = "0.11.13"; # also update communityModules
+  version = "0.12.0"; # also update communityModules
   pname = "prosody";
   # The following community modules are necessary for the nixos module
   # prosody module to comply with XEP-0423 and provide a working
   # default setup.
   nixosModuleDeps = [
-    "bookmarks"
     "cloud_notify"
     "vcard_muc"
-    "smacks"
     "http_upload"
   ];
   src = fetchurl {
     url = "https://prosody.im/downloads/source/${pname}-${version}.tar.gz";
-    sha256 = "sha256-OcYbNGoJtRJbYEy5aeFCBsu8uGyBFW/8a6LWJSfPBDI=";
+    sha256 = "sha256-dS/zIBXaxWX8NBfCGWryaJccNY7gZuUfXZEkE1gNiJo=";
   };
 
   # A note to all those merging automated updates: Please also update this
@@ -43,13 +42,13 @@ stdenv.mkDerivation rec {
   # version.
   communityModules = fetchhg {
     url = "https://hg.prosody.im/prosody-modules";
-    rev = "54fa2116bbf3";
-    sha256 = "sha256-OKZ7tD75q8/GMXruUQ+r9l0BxzdbPHNf41fZ3fHVQVw=";
+    rev = "65438e4ba563";
+    sha256 = "sha256-zHOrMzcgHOdBl7nObM+OauifbcmKEOfAuj81MDSoLMk=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [
-    luaEnv libidn openssl
+    luaEnv libidn openssl icu
   ]
   ++ withExtraLibs;
 
@@ -63,26 +62,14 @@ stdenv.mkDerivation rec {
     make -C tools/migration
   '';
 
-  luaEnvPath = lua.pkgs.lib.genLuaPathAbsStr luaEnv;
-  luaEnvCPath = lua.pkgs.lib.genLuaCPathAbsStr luaEnv;
-
   # the wrapping should go away once lua hook is fixed
   postInstall = ''
       ${concatMapStringsSep "\n" (module: ''
         cp -r $communityModules/mod_${module} $out/lib/prosody/modules/
       '') (lib.lists.unique(nixosModuleDeps ++ withCommunityModules ++ withOnlyInstalledCommunityModules))}
-      wrapProgram $out/bin/prosody \
-        --prefix LUA_PATH ';' "$luaEnvPath" \
-        --prefix LUA_CPATH ';' "$luaEnvCPath"
       wrapProgram $out/bin/prosodyctl \
-        --add-flags '--config "/etc/prosody/prosody.cfg.lua"' \
-        --prefix LUA_PATH ';' "$luaEnvPath" \
-        --prefix LUA_CPATH ';' "$luaEnvCPath"
-
+        --add-flags '--config "/etc/prosody/prosody.cfg.lua"'
       make -C tools/migration install
-      wrapProgram $out/bin/prosody-migrator \
-        --prefix LUA_PATH ';' "$luaEnvPath" \
-        --prefix LUA_CPATH ';' "$luaEnvCPath"
     '';
 
   passthru = {
@@ -95,6 +82,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     homepage = "https://prosody.im";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fpletz globin ninjatrappeur ];
+    maintainers = with maintainers; [ fpletz globin ];
   };
 }
diff --git a/pkgs/servers/zookeeper/default.nix b/pkgs/servers/zookeeper/default.nix
index f00c749557f..41603da33be 100644
--- a/pkgs/servers/zookeeper/default.nix
+++ b/pkgs/servers/zookeeper/default.nix
@@ -37,8 +37,11 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  passthru.tests = {
-    nixos = nixosTests.zookeeper;
+  passthru = {
+    tests = {
+      nixos = nixosTests.zookeeper;
+    };
+    inherit jre;
   };
 
   meta = with lib; {
diff --git a/pkgs/shells/fish/plugins/fzf-fish.nix b/pkgs/shells/fish/plugins/fzf-fish.nix
index 41ecc70340c..374e4db4bb2 100644
--- a/pkgs/shells/fish/plugins/fzf-fish.nix
+++ b/pkgs/shells/fish/plugins/fzf-fish.nix
@@ -2,13 +2,13 @@
 
 buildFishPlugin rec {
   pname = "fzf.fish";
-  version = "8.2";
+  version = "8.3";
 
   src = fetchFromGitHub {
     owner = "PatrickF1";
     repo = "fzf.fish";
     rev = "v${version}";
-    sha256 = "sha256-WRrPd/GuXHJ9uYvhwjwp9AEtvbfMlpV0xdgNyfx43ok=";
+    sha256 = "sha256-eSNUqvKXTxcuvICxo8BmVWL1ESXQuU7VhOl7aONrhwM=";
   };
 
   checkInputs = [ fzf fd util-linux ];
diff --git a/pkgs/shells/oksh/default.nix b/pkgs/shells/oksh/default.nix
index 9ea851adbbf..418a453d9e9 100644
--- a/pkgs/shells/oksh/default.nix
+++ b/pkgs/shells/oksh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub }:
+{ stdenv, lib, fetchFromGitHub, buildPackages }:
 
 stdenv.mkDerivation rec {
   pname = "oksh";
@@ -11,6 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-076nD0aPps6n5qkR3LQJ6Kn2g3mkov+/M0qSvxNLZ6o=";
   };
 
+  postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    substituteInPlace configure --replace "./conftest" "echo"
+  '';
+
+  configureFlags = [ "--no-strip" ];
+
   meta = with lib; {
     description = "Portable OpenBSD ksh, based on the Public Domain Korn Shell (pdksh)";
     homepage = "https://github.com/ibara/oksh";
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index d2c45c8fa54..447dc5da78a 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -5,15 +5,15 @@
 , git, nix, nixfmt, jq, coreutils, gnused, curl, cacert }:
 
 stdenv.mkDerivation rec {
-  version = "2022-04-19";
+  version = "2022-04-24";
   pname = "oh-my-zsh";
-  rev = "a26d72baa27a46cfd2f35afa789529dccf7fc212";
+  rev = "8f56a8bdf39d7727ab0e220f0164f78c77f9c50e";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "ohmyzsh";
     repo = "ohmyzsh";
-    sha256 = "PwHE8PDvZ4fRBAq4wxgXc7FS6Q6Se6ICYDrwBaxKV1Q=";
+    sha256 = "yxuvVDjNCH7r/g6ZoF8kEzwirBB0s+CRQizBwRR4Sp4=";
   };
 
   installPhase = ''
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index a6f927c287d..6fbd78c422d 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -75,7 +75,7 @@ rec {
     inherit (bootstrapFiles) mkdir bzip2 cpio tarball;
 
     __impureHostDeps = commonImpureHostDeps;
-  } // lib.optionalAttrs (config.contentAddressedByDefault or false) {
+  } // lib.optionalAttrs config.contentAddressedByDefault {
     __contentAddressed = true;
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
diff --git a/pkgs/stdenv/freebsd/default.nix b/pkgs/stdenv/freebsd/default.nix
index ddcdc6a66e0..de660858760 100644
--- a/pkgs/stdenv/freebsd/default.nix
+++ b/pkgs/stdenv/freebsd/default.nix
@@ -182,7 +182,7 @@ in
       buildInputs = [ make ];
       mkdir = "/bin/mkdir";
       ln = "/bin/ln";
-    } // lib.optionalAttrs (config.contentAddressedByDefault or false) {
+    } // lib.optionalAttrs config.contentAddressedByDefault {
       __contentAddressed = true;
       outputHashAlgo = "sha256";
       outputHashMode = "recursive";
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 8ad5fa6b89b..1da098dabbe 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -7,13 +7,17 @@ let
   # If we're in hydra, we can dispense with the more verbose error
   # messages and make problems easier to spot.
   inHydra = config.inHydra or false;
+  # Allow the user to opt-into additional warnings, e.g.
+  # import <nixpkgs> { config = { showDerivationWarnings = [ "maintainerless" ]; }; }
+  showWarnings = config.showDerivationWarnings;
+
   getName = attrs: attrs.name or ("${attrs.pname or "«name-missing»"}-${attrs.version or "«version-missing»"}");
 
   # See discussion at https://github.com/NixOS/nixpkgs/pull/25304#issuecomment-298385426
   # for why this defaults to false, but I (@copumpkin) want to default it to true soon.
   shouldCheckMeta = config.checkMeta or false;
 
-  allowUnfree = config.allowUnfree or false
+  allowUnfree = config.allowUnfree
     || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1";
 
   allowlist = config.allowlistedLicenses or config.whitelistedLicenses or [];
@@ -34,10 +38,10 @@ let
   hasBlocklistedLicense = assert areLicenseListsValid; attrs:
     hasLicense attrs && lib.lists.any (l: builtins.elem l blocklist) (lib.lists.toList attrs.meta.license);
 
-  allowBroken = config.allowBroken or false
+  allowBroken = config.allowBroken
     || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
 
-  allowUnsupportedSystem = config.allowUnsupportedSystem or false
+  allowUnsupportedSystem = config.allowUnsupportedSystem
     || builtins.getEnv "NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM" == "1";
 
   isUnfree = licenses: lib.lists.any (l: !l.free or true) licenses;
@@ -46,6 +50,9 @@ let
     hasLicense attrs &&
     isUnfree (lib.lists.toList attrs.meta.license);
 
+  hasNoMaintainers = attrs:
+    attrs ? meta.maintainers && (lib.length attrs.meta.maintainers) == 0;
+
   isMarkedBroken = attrs: attrs.meta.broken or false;
 
   hasUnsupportedPlatform = attrs:
@@ -91,6 +98,7 @@ let
     insecure = remediate_insecure;
     broken-outputs = remediateOutputsToInstall;
     unknown-meta = x: "";
+    maintainerless = x: "";
   };
   remediation_env_var = allow_attr: {
     Unfree = "NIXPKGS_ALLOW_UNFREE";
@@ -199,6 +207,14 @@ let
         else throw;
     in handler msg;
 
+  handleEvalWarning = { meta, attrs }: { reason , errormsg ? "" }:
+    let
+      remediationMsg = (builtins.getAttr reason remediation) attrs;
+      msg = if inHydra then "Warning while evaluating ${getName attrs}: «${reason}»: ${errormsg}"
+        else "Package ${getName attrs} in ${pos_str meta} ${errormsg}, continuing anyway."
+             + (if remediationMsg != "" then "\n${remediationMsg}" else "");
+      isEnabled = lib.findFirst (x: x == reason) null showWarnings;
+    in if isEnabled != null then builtins.trace msg true else true;
 
   metaTypes = with lib.types; rec {
     # These keys are documented
@@ -277,28 +293,37 @@ let
       insecure = isMarkedInsecure attrs;
     }
     // (if hasDeniedUnfreeLicense attrs && !(hasAllowlistedLicense attrs) then
-      { valid = false; reason = "unfree"; errormsg = "has an unfree license (‘${showLicense attrs.meta.license}’)"; }
+      { valid = "no"; reason = "unfree"; errormsg = "has an unfree license (‘${showLicense attrs.meta.license}’)"; }
     else if hasBlocklistedLicense attrs then
-      { valid = false; reason = "blocklisted"; errormsg = "has a blocklisted license (‘${showLicense attrs.meta.license}’)"; }
+      { valid = "no"; reason = "blocklisted"; errormsg = "has a blocklisted license (‘${showLicense attrs.meta.license}’)"; }
     else if !allowBroken && attrs.meta.broken or false then
-      { valid = false; reason = "broken"; errormsg = "is marked as broken"; }
+      { valid = "no"; reason = "broken"; errormsg = "is marked as broken"; }
     else if !allowUnsupportedSystem && hasUnsupportedPlatform attrs then
-      { valid = false; reason = "unsupported"; errormsg = "is not supported on ‘${hostPlatform.system}’"; }
+      { valid = "no"; reason = "unsupported"; errormsg = "is not supported on ‘${hostPlatform.system}’"; }
     else if !(hasAllowedInsecure attrs) then
-      { valid = false; reason = "insecure"; errormsg = "is marked as insecure"; }
+      { valid = "no"; reason = "insecure"; errormsg = "is marked as insecure"; }
     else if checkOutputsToInstall attrs then
-      { valid = false; reason = "broken-outputs"; errormsg = "has invalid meta.outputsToInstall"; }
+      { valid = "no"; reason = "broken-outputs"; errormsg = "has invalid meta.outputsToInstall"; }
     else let res = checkMeta (attrs.meta or {}); in if res != [] then
-      { valid = false; reason = "unknown-meta"; errormsg = "has an invalid meta attrset:${lib.concatMapStrings (x: "\n\t - " + x) res}"; }
-    else { valid = true; });
+      { valid = "no"; reason = "unknown-meta"; errormsg = "has an invalid meta attrset:${lib.concatMapStrings (x: "\n\t - " + x) res}"; }
+    # --- warnings ---
+    # Please also update the type in /pkgs/top-level/config.nix alongside this.
+    else if hasNoMaintainers attrs then
+      { valid = "warn"; reason = "maintainerless"; errormsg = "has no maintainers"; }
+    # -----
+    else { valid = "yes"; });
 
   assertValidity = { meta, attrs }: let
       validity = checkValidity attrs;
     in validity // {
-      # Throw an error if trying to evaluate an non-valid derivation
-      handled = if !validity.valid
-        then handleEvalIssue { inherit meta attrs; } { inherit (validity) reason errormsg; }
-        else true;
+      # Throw an error if trying to evaluate a non-valid derivation
+      # or, alternatively, just output a warning message.
+      handled =
+        {
+          no = handleEvalIssue { inherit meta attrs; } { inherit (validity) reason errormsg; };
+          warn = handleEvalWarning { inherit meta attrs; } { inherit (validity) reason errormsg; };
+          yes = true;
+        }.${validity.valid};
   };
 
 in assertValidity
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 4fb98e5e801..5f49aca5aa9 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -90,7 +90,7 @@ let
       allowedRequisites = allowedRequisites
         ++ defaultNativeBuildInputs ++ defaultBuildInputs;
     }
-    // lib.optionalAttrs (config.contentAddressedByDefault or false) {
+    // lib.optionalAttrs config.contentAddressedByDefault {
       __contentAddressed = true;
       outputHashAlgo = "sha256";
       outputHashMode = "recursive";
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index 8749e8b7555..11c0a29ce4f 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -9,8 +9,72 @@ let
     # to build it. This is a bit confusing for cross compilation.
     inherit (stdenv) hostPlatform;
   };
+
+  makeOverlayable = mkDerivationSimple:
+    fnOrAttrs:
+      if builtins.isFunction fnOrAttrs
+      then makeDerivationExtensible mkDerivationSimple fnOrAttrs
+      else makeDerivationExtensibleConst mkDerivationSimple fnOrAttrs;
+
+  # Based off lib.makeExtensible, with modifications:
+  makeDerivationExtensible = mkDerivationSimple: rattrs:
+    let
+      # NOTE: The following is a hint that will be printed by the Nix cli when
+      # encountering an infinite recursion. It must not be formatted into
+      # separate lines, because Nix would only show the last line of the comment.
+
+      # An infinite recursion here can be caused by having the attribute names of expression `e` in `.overrideAttrs(finalAttrs: previousAttrs: e)` depend on `finalAttrs`. Only the attribute values of `e` can depend on `finalAttrs`.
+      args = rattrs (args // { inherit finalPackage; });
+      #              ^^^^
+
+      finalPackage =
+        mkDerivationSimple
+          (f0:
+            let
+              f = self: super:
+                # Convert f0 to an overlay. Legacy is:
+                #   overrideAttrs (super: {})
+                # We want to introduce self. We follow the convention of overlays:
+                #   overrideAttrs (self: super: {})
+                # Which means the first parameter can be either self or super.
+                # This is surprising, but far better than the confusion that would
+                # arise from flipping an overlay's parameters in some cases.
+                let x = f0 super;
+                in
+                  if builtins.isFunction x
+                  then
+                    # Can't reuse `x`, because `self` comes first.
+                    # Looks inefficient, but `f0 super` was a cheap thunk.
+                    f0 self super
+                  else x;
+            in
+              makeDerivationExtensible mkDerivationSimple
+                (self: let super = rattrs self; in super // f self super))
+          args;
+    in finalPackage;
+
+  # makeDerivationExtensibleConst == makeDerivationExtensible (_: attrs),
+  # but pre-evaluated for a slight improvement in performance.
+  makeDerivationExtensibleConst = mkDerivationSimple: attrs:
+    mkDerivationSimple
+      (f0:
+        let
+          f = self: super:
+            let x = f0 super;
+            in
+              if builtins.isFunction x
+              then
+                f0 self super
+              else x;
+        in
+          makeDerivationExtensible mkDerivationSimple (self: attrs // f self attrs))
+      attrs;
+
 in
 
+makeOverlayable (overrideAttrs:
+
+
 # `mkDerivation` wraps the builtin `derivation` function to
 # produce derivations that use this stdenv and its shell.
 #
@@ -69,7 +133,8 @@ in
 , doInstallCheck ? config.doCheckByDefault or false
 
 , # TODO(@Ericson2314): Make always true and remove
-  strictDeps ? stdenv.hostPlatform != stdenv.buildPlatform
+  strictDeps ? if config.strictDepsByDefault then true else stdenv.hostPlatform != stdenv.buildPlatform
+
 , meta ? {}
 , passthru ? {}
 , pos ? # position used in error messages and for meta.position
@@ -93,7 +158,7 @@ in
 
 , __contentAddressed ?
   (! attrs ? outputHash) # Fixed-output drvs can't be content addressed too
-  && (config.contentAddressedByDefault or false)
+  && config.contentAddressedByDefault
 
 , ... } @ attrs:
 
@@ -370,7 +435,7 @@ else let
     } // {
       # Expose the result of the checks for everyone to see.
       inherit (validity) unfree broken unsupported insecure;
-      available = validity.valid
+      available = validity.valid != "no"
                && (if config.checkMetaRecursively or false
                    then lib.all (d: d.meta.available or true) references
                    else true);
@@ -381,8 +446,6 @@ in
 lib.extendDerivation
   validity.handled
   ({
-     overrideAttrs = f: stdenv.mkDerivation (attrs // (f attrs));
-
      # A derivation that always builds successfully and whose runtime
      # dependencies are the original derivations build time dependencies
      # This allows easy building and distributing of all derivations
@@ -408,10 +471,12 @@ lib.extendDerivation
        args = [ "-c" "export > $out" ];
      });
 
-     inherit meta passthru;
+     inherit meta passthru overrideAttrs;
    } //
    # Pass through extra attributes that are not inputs, but
    # should be made available to Nix expressions using the
    # derivation (e.g., in assertions).
    passthru)
   (derivation derivationArg)
+
+)
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index e9104dd88cf..5c5ca64b1e9 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -66,7 +66,7 @@ let
   bootstrapTools = import (if localSystem.libc == "musl" then ./bootstrap-tools-musl else ./bootstrap-tools) {
     inherit system bootstrapFiles;
     extraAttrs = lib.optionalAttrs
-      (config.contentAddressedByDefault or false)
+      config.contentAddressedByDefault
       {
         __contentAddressed = true;
         outputHashAlgo = "sha256";
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index 2263341b23f..d23a996dfcb 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -235,7 +235,7 @@ in with pkgs; rec {
 
   bootstrapTools =
     let extraAttrs = lib.optionalAttrs
-      (config.contentAddressedByDefault or false)
+      config.contentAddressedByDefault
       {
         __contentAddressed = true;
         outputHashAlgo = "sha256";
diff --git a/pkgs/tools/X11/libstrangle/default.nix b/pkgs/tools/X11/libstrangle/default.nix
index 2d7f6b456c4..64992a9b5ee 100644
--- a/pkgs/tools/X11/libstrangle/default.nix
+++ b/pkgs/tools/X11/libstrangle/default.nix
@@ -2,20 +2,22 @@
 
 stdenv.mkDerivation rec {
   pname = "libstrangle";
-  version = "0.1.1";
+  version = "unstable-202202022";
 
   buildInputs = [ libGL libX11 ];
 
   src = fetchFromGitLab {
     owner = "torkel104";
     repo = pname;
-    rev = version;
-    sha256 = "135icr544w5ynlxfnxqgjn794bsm9i703rh9jfnracjb7jgnha4w";
+    rev = "0273e318e3b0cc759155db8729ad74266b74cb9b";
+    sha256 = "sha256-h10QA7m7hIQHq1g/vCYuZsFR2NVbtWBB46V6OWP5wgM=";
   };
 
   makeFlags = [ "prefix=" "DESTDIR=$(out)" ];
 
-  patches = [ ./nixos.patch ];
+  patches = [
+      ./nixos.patch
+  ];
 
   postPatch = ''
     substituteAllInPlace src/strangle.sh
diff --git a/pkgs/tools/X11/libstrangle/nixos.patch b/pkgs/tools/X11/libstrangle/nixos.patch
index 05364028e3e..c23a76f4e20 100644
--- a/pkgs/tools/X11/libstrangle/nixos.patch
+++ b/pkgs/tools/X11/libstrangle/nixos.patch
@@ -7,7 +7,7 @@ diff --git a/makefile b/makefile
  
 -install-ld: ld
 -	install -m 0644 -D -T $(BUILDDIR)/libstrangle.conf $(DESTDIR)/etc/ld.so.conf.d/libstrangle.conf
--	ldconfig
+-	if [ -z "$(DESTDIR)" ]; then ldconfig; fi
 -
  install-32: 32-bit
  	install -m 0755 -D -T $(BUILDDIR)/libstrangle32.so $(DESTDIR)$(LIB32_PATH)/libstrangle.so
diff --git a/pkgs/tools/X11/mmutils/default.nix b/pkgs/tools/X11/mmutils/default.nix
new file mode 100644
index 00000000000..580abbc7798
--- /dev/null
+++ b/pkgs/tools/X11/mmutils/default.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, fetchFromGitHub, libxcb }:
+
+stdenv.mkDerivation rec {
+  pname = "wmutils";
+  version = "1.4.1";
+
+  src = fetchFromGitHub {
+    owner = "pockata";
+    repo = "mmutils";
+    rev = "v${version}";
+    sha256 = "08wlb278m5lr218c87yqashk7farzny51ybl5h6j60i7pbpm01ml";
+  };
+
+  buildInputs = [ libxcb ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with lib; {
+    description = "A set of utilities for querying xrandr monitor information";
+    homepage = "https://github.com/pockata/mmutils";
+    license = licenses.isc;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/X11/opentabletdriver/default.nix b/pkgs/tools/X11/opentabletdriver/default.nix
index a8ba509c78c..3b631c22d15 100644
--- a/pkgs/tools/X11/opentabletdriver/default.nix
+++ b/pkgs/tools/X11/opentabletdriver/default.nix
@@ -19,13 +19,13 @@
 
 buildDotnetModule rec {
   pname = "OpenTabletDriver";
-  version = "0.6.0.3";
+  version = "0.6.0.4";
 
   src = fetchFromGitHub {
     owner = "OpenTabletDriver";
     repo = "OpenTabletDriver";
     rev = "v${version}";
-    sha256 = "sha256-/Tow25ycQEK8HN1IaB12ZXCXEsuKItD+aYLF/IX8Eos=";
+    sha256 = "sha256-VvxW8Ck+XC4nXSUyDhcbGoeSr5uSAZ66jtZNoADuVR8=";
   };
 
   debPkg = fetchurl {
diff --git a/pkgs/tools/X11/opentabletdriver/deps.nix b/pkgs/tools/X11/opentabletdriver/deps.nix
index 8ead5fc8a11..f0b52529500 100644
--- a/pkgs/tools/X11/opentabletdriver/deps.nix
+++ b/pkgs/tools/X11/opentabletdriver/deps.nix
@@ -20,6 +20,7 @@
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.4.1"; sha256 = "0z6d1i6xcf0c00z6rs75rgw4ncs9q2m8amasf6mmbf40fm02ry7g"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.0-rc.1.21451.13"; sha256 = "0r6945jq7c2f1wjifq514zvngicndjqfnsjya6hqw0yzah0jr56c"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0-rc.1.21451.13"; sha256 = "11dg16x6g0gssb143qpghxz1s41himvhr7yhjwxs9hacx4ij2dm1"; })
+  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.9.4"; sha256 = "1jdx05zmrqj1s7xfgn3wgy10qb5cl1n1jcj5kz43zvkw1amc7ra4"; })
   (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "5.0.0"; sha256 = "1p62khf9zk23lh91lvz7plv3g1nzmm3b5szqrcm6mb8w3sjk03wi"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
@@ -27,7 +28,6 @@
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "3.0.0"; sha256 = "1bk8r4r3ihmi6322jmcag14jmw11mjqys202azqjzglcx59pxh51"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
-  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "16.9.4"; sha256 = "1jdx05zmrqj1s7xfgn3wgy10qb5cl1n1jcj5kz43zvkw1amc7ra4"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "16.9.4"; sha256 = "1jizkbrnm4pv60zch29ki7gj8m7j5whk141x9cwx4kwsd6cfzwi6"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "16.9.4"; sha256 = "14110qzmypr72ywvx3npq7mf4n0gvdr4536v91z1xbapms65am6x"; })
   (fetchNuGet { pname = "Microsoft.VisualStudio.Threading"; version = "16.7.56"; sha256 = "13x0xrsjxd86clf9cjjwmpzlyp8pkrf13riya7igs8zy93zw2qap"; })
diff --git a/pkgs/tools/admin/aliyun-cli/default.nix b/pkgs/tools/admin/aliyun-cli/default.nix
index 69900238c5e..7747e46b26a 100644
--- a/pkgs/tools/admin/aliyun-cli/default.nix
+++ b/pkgs/tools/admin/aliyun-cli/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "aliyun-cli";
-  version = "3.0.116";
+  version = "3.0.117";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "aliyun";
     repo = pname;
     fetchSubmodules = true;
-    sha256 = "sha256-KZZT7XVhJLfrQ7L3FFOTw9bLT5GqewvDTGQQd/ovjbg=";
+    sha256 = "sha256-iltyw2Qw7WSq96T/upGwSyjqWK8KOo/pK7HR+25n2js=";
   };
 
   vendorSha256 = "sha256-f3GXkAvTe8rPFWCR5TM4mDK/VOQWt2lrZrfJ/Wvw8Uc=";
diff --git a/pkgs/tools/admin/ansible/default.nix b/pkgs/tools/admin/ansible/default.nix
deleted file mode 100644
index 6be403b9e53..00000000000
--- a/pkgs/tools/admin/ansible/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ python3Packages, fetchFromGitHub }:
-
-rec {
-  ansible = ansible_2_12;
-
-  ansible_2_12 = python3Packages.toPythonApplication python3Packages.ansible-core;
-
-  ansible_2_11 = python3Packages.toPythonApplication (python3Packages.ansible-core.overridePythonAttrs (old: rec {
-    pname = "ansible-core";
-    version = "2.11.6";
-
-    src = python3Packages.fetchPypi {
-      inherit pname version;
-      sha256 = "sha256-k9UCg8fFtHbev4PcCJs/Z5uTmouae11ijSjar7s9MDo=";
-    };
-  }));
-
-  ansible_2_10 = python3Packages.toPythonApplication python3Packages.ansible-base;
-
-  # End of support 2021/10/02, End of life 2021/12/31
-  ansible_2_9 = python3Packages.toPythonApplication python3Packages.ansible;
-
-  ansible_2_8 = throw "Ansible 2.8 went end of life on 2021/01/03 and has subsequently been dropped";
-}
diff --git a/pkgs/tools/admin/aws-google-auth/default.nix b/pkgs/tools/admin/aws-google-auth/default.nix
index 9330291014d..aa1c77ef68e 100644
--- a/pkgs/tools/admin/aws-google-auth/default.nix
+++ b/pkgs/tools/admin/aws-google-auth/default.nix
@@ -20,15 +20,15 @@
 
 buildPythonApplication rec {
   pname = "aws-google-auth";
-  version = "0.0.37";
+  version = "0.0.38";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   # https://github.com/cevoaustralia/aws-google-auth/issues/120
   src = fetchFromGitHub {
     owner = "cevoaustralia";
     repo = "aws-google-auth";
-    rev = version;
-    sha256 = "1bh733n4m5rsslpbjvhdigx6768nrvacybkakrm9704d2md9vkqd";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-/Xe4RDA9sBEsBBV1VP91VX0VfO8alK8L70m9WrB7qu4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/admin/awslogs/default.nix b/pkgs/tools/admin/awslogs/default.nix
index 5b61e4828ef..2f60e414d74 100644
--- a/pkgs/tools/admin/awslogs/default.nix
+++ b/pkgs/tools/admin/awslogs/default.nix
@@ -1,30 +1,51 @@
-{ lib, fetchFromGitHub, python3Packages }:
+{ lib
+, fetchFromGitHub
+, python3
+}:
 
-python3Packages.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "awslogs";
   version = "0.14.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jorgebastida";
-    repo = "awslogs";
+    repo = pname;
     rev = version;
-    sha256 = "1gyry8b64psvmjcb2lb3yilpa7b17yllga06svls4hi69arvrd8f";
+    sha256 = "sha256-DrW8s0omQqLp1gaoR6k/YR11afRjUbGYrFtfYhby2b8=";
   };
 
-  propagatedBuildInputs = with python3Packages; [
-    boto3 termcolor python-dateutil docutils setuptools jmespath
+  propagatedBuildInputs = with python3.pkgs; [
+    boto3
+    termcolor
+    python-dateutil
+    docutils
+    setuptools
+    jmespath
   ];
 
-  checkInputs = [ python3Packages.pytestCheckHook ];
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "jmespath>=0.7.1,<1.0.0" "jmespath>=0.7.1"
+  '';
+
   disabledTests = [
     "test_main_get_query"
     "test_main_get_with_color"
   ];
 
+  pythonImportsCheck = [
+    "awslogs"
+  ];
+
   meta = with lib; {
-    homepage = "https://github.com/jorgebastida/awslogs";
     description = "AWS CloudWatch logs for Humans";
-    maintainers = with maintainers; [ dbrock ];
+    homepage = "https://github.com/jorgebastida/awslogs";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ dbrock ];
   };
 }
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
index 5b8732f5375..b65b4a8fbbb 100644
--- a/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -226,8 +226,19 @@ let
       azure-mgmt-media = overrideAzureMgmtPackage super.azure-mgmt-media "7.0.0" "zip"
         "sha256-tF6CpZTtkc1ap6XNXQHwOLesPPEiM+e6K+qqNHeQDo4=";
 
-      azure-mgmt-msi = overrideAzureMgmtPackage super.azure-mgmt-msi "0.2.0" "zip"
-        "0rvik03njz940x2hvqg6iiq8k0d88gyygsr86w8s0sa12sdbq8l6";
+      azure-mgmt-msi = super.azure-mgmt-msi.overridePythonAttrs (old: rec {
+        version = "0.2.0";
+        src = old.src.override {
+          inherit version;
+          sha256 = "0rvik03njz940x2hvqg6iiq8k0d88gyygsr86w8s0sa12sdbq8l6";
+        };
+        propagatedBuildInputs = with self; [
+          msrest
+          msrestazure
+          azure-common
+          azure-mgmt-nspkg
+        ];
+      });
 
       azure-mgmt-privatedns = overrideAzureMgmtPackage super.azure-mgmt-privatedns "1.0.0" "zip"
         "b60f16e43f7b291582c5f57bae1b083096d8303e9d9958e2c29227a55cc27c45";
@@ -301,6 +312,9 @@ let
       azure-mgmt-servicefabric = overrideAzureMgmtPackage super.azure-mgmt-servicefabric "1.0.0" "zip"
         "de35e117912832c1a9e93109a8d24cab94f55703a9087b2eb1c5b0655b3b1913";
 
+      azure-mgmt-servicelinker = overrideAzureMgmtPackage super.azure-mgmt-servicelinker "1.0.0b1" "zip"
+        "sha256-T3DTvNmLpTm/74cOPEl+vcXv7TIAwmJ6YXGLqpqyGmE=";
+
       azure-mgmt-hdinsight = overrideAzureMgmtPackage super.azure-mgmt-hdinsight "9.0.0" "zip"
         "41ebdc69c0d1f81d25dd30438c14fff4331f66639f55805b918b9649eaffe78a";
 
diff --git a/pkgs/tools/admin/cli53/default.nix b/pkgs/tools/admin/cli53/default.nix
index 4978603c192..44752c09fb2 100644
--- a/pkgs/tools/admin/cli53/default.nix
+++ b/pkgs/tools/admin/cli53/default.nix
@@ -1,17 +1,26 @@
-# This file was generated by https://github.com/kamilchm/go2nix v2.0-dev
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, testers, cli53 }:
 
-buildGoPackage {
+buildGoModule rec {
   pname = "cli53";
-  version = "0.8.12";
-
-  goPackagePath = "github.com/barnybug/cli53";
+  version = "0.8.18";
 
   src = fetchFromGitHub {
     owner = "barnybug";
     repo = "cli53";
-    rev = "2624c7c4b38a33cdbd166dad1d3e512830f453e4";
-    sha256 = "0bhczmzrgf7ypnhhzdrgnvg8cw8ch1x1d0cgajc5kklq9ixv9ygi";
+    rev = version;
+    sha256 = "sha256-RgU4+/FQEqNpVxBktZUwoVD9ilLrTm5ZT7D8jbt2sRM=";
+  };
+
+  vendorSha256 = "sha256-uqBa2YrQwXdTemP9yB2otkSFWJqDxw/NAvIvlEbhk90=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/barnybug/cli53.version=${version}"
+  ];
+
+  passthru.tests.version = testers.testVersion {
+    package = cli53;
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/admin/colmena/default.nix b/pkgs/tools/admin/colmena/default.nix
index d17366b38a8..c0ed0e60f1f 100644
--- a/pkgs/tools/admin/colmena/default.nix
+++ b/pkgs/tools/admin/colmena/default.nix
@@ -1,20 +1,25 @@
-{ stdenv, lib, rustPlatform, fetchFromGitHub, installShellFiles, colmena, testVersion }:
+{ stdenv, lib, rustPlatform, fetchFromGitHub, installShellFiles, nix-eval-jobs
+, colmena, testers }:
 
 rustPlatform.buildRustPackage rec {
   pname = "colmena";
-  version = "0.2.2";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "zhaofengli";
     repo = "colmena";
     rev = "v${version}";
-    sha256 = "sha256-VsqFiqZUjGpDZfw6ws1rvqm/NGUfFBXHa0N8ZkBaMh8=";
+    sha256 = "sha256-aGpMiY9pS2616AfAVWA87tULKatDYF2kCKxwYstK8V0=";
   };
 
-  cargoSha256 = "sha256-NVvPh0+53YIm5Kb/lNyXb7M3bbADBVdsTaPptyb37lw=";
+  cargoSha256 = "sha256-ckCArDFjVwVWWK0Ffj0AYe411b9xU33CBc1zeCh2kns=";
 
   nativeBuildInputs = [ installShellFiles ];
 
+  buildInputs = [ nix-eval-jobs ];
+
+  NIX_EVAL_JOBS = "${nix-eval-jobs}/bin/nix-eval-jobs";
+
   postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
     installShellCompletion --cmd colmena \
       --bash <($out/bin/colmena gen-completions bash) \
@@ -29,7 +34,7 @@ rustPlatform.buildRustPackage rec {
     # We guarantee CLI and Nix API stability for the same minor version
     apiVersion = builtins.concatStringsSep "." (lib.take 2 (lib.splitString "." version));
 
-    tests.version = testVersion { package = colmena; };
+    tests.version = testers.testVersion { package = colmena; };
   };
 
   meta = with lib; {
@@ -37,6 +42,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://zhaofengli.github.io/colmena/${passthru.apiVersion}";
     license = licenses.mit;
     maintainers = with maintainers; [ zhaofengli ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/admin/ejson2env/default.nix b/pkgs/tools/admin/ejson2env/default.nix
index 9cc65b4944e..e7ac6d7426d 100644
--- a/pkgs/tools/admin/ejson2env/default.nix
+++ b/pkgs/tools/admin/ejson2env/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ejson2env";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchFromGitHub {
     owner = "Shopify";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Oc0fWihOUafYN5t9SxHxaYJEv5e46CCDNe4xo+Dcjrs=";
+    sha256 = "sha256-HcUmFajbOUZ0T5Th6OA9WBtfTz646qLbXx8NVeJsVng=";
   };
 
-  vendorSha256 = "sha256-BY45WirK9AVhvFGB5uqI4dLxzO2WuNNhhJbQ6nsRXao=";
+  vendorSha256 = "sha256-agWcD8vFNde1SCdkRovMNPf+1KODxV8wW1mXvE0w/CI=";
 
   ldflags = [
     "-X main.version=${version}"
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index c031051e89a..996ab16360b 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.93.0";
+  version = "0.95.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ku6GmUaaiw1pePIWJcJgSjnLWiAfFsG8BGphT+4z6ss=";
+    sha256 = "sha256-WAu2ghQAih+f1PdfflsroUOAV5Cs+hvECOyw34DRugU=";
   };
 
-  vendorSha256 = "sha256-ATrEDavlr14i0L28KEuivlRjVxnnFVZPDjZ4Ni+8kbo=";
+  vendorSha256 = "sha256-zedhE9WWCktqYig+bI4v9bQhzSW8laClgTI2Gsrz+FM=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 3fcb68a5b66..0b32c23f65a 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -11,13 +11,13 @@
 
 buildGo118Package rec {
   pname = "lxd";
-  version = "5.0.0";
+  version = "5.1";
 
   goPackagePath = "github.com/lxc/lxd";
 
   src = fetchurl {
     url = "https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz";
-    sha256 = "sha256-qZt+37UsgZWy3kmIhE0y1zvmQm9s/yhAglBReyOP3vk=";
+    sha256 = "sha256-MZ9Ok1BuIUTtqigLAYX7N8Q3TPfXRopeXIwbZ4GJJQo=";
   };
 
   postPatch = ''
@@ -25,6 +25,8 @@ buildGo118Package rec {
       --replace "/usr/share/misc/usb.ids" "${hwdata}/share/hwdata/usb.ids"
   '';
 
+  excludedPackages = [ "test" "lxd/db/generate" ];
+
   preBuild = ''
     # required for go-dqlite. See: https://github.com/lxc/lxd/pull/8939
     export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)"
@@ -33,9 +35,6 @@ buildGo118Package rec {
   '';
 
   postInstall = ''
-    # test binaries, code generation
-    rm $out/bin/{deps,macaroon-identity,generate}
-
     wrapProgram $out/bin/lxd --prefix PATH : ${lib.makeBinPath (
       [ iptables ]
       ++ [ acl rsync gnutar xz btrfs-progs gzip dnsmasq squashfsTools iproute2 bash criu attr ]
@@ -49,6 +48,7 @@ buildGo118Package rec {
   '';
 
   passthru.tests.lxd = nixosTests.lxd;
+  passthru.tests.lxd-nftables = nixosTests.lxd-nftables;
 
   nativeBuildInputs = [ installShellFiles pkg-config makeWrapper ];
   buildInputs = [ lxc acl libcap dqlite.dev raft-canonical.dev
diff --git a/pkgs/tools/admin/pgadmin/default.nix b/pkgs/tools/admin/pgadmin/default.nix
index 84781688ec1..d917acd656c 100644
--- a/pkgs/tools/admin/pgadmin/default.nix
+++ b/pkgs/tools/admin/pgadmin/default.nix
@@ -1,21 +1,21 @@
-{ stdenv
-, lib
+{ lib
 , python3
 , fetchurl
 , zlib
 , mkYarnModules
 , sphinx
 , nixosTests
+, pkgs
 }:
 
 let
 
   pname = "pgadmin";
-  version = "6.7";
+  version = "6.8";
 
   src = fetchurl {
     url = "https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v${version}/source/pgadmin4-${version}.tar.gz";
-    sha256 = "1g2yxwgj9fp1fkn8j2jrdhmr2b2s6y8sgv4jq55aaxm4hfkkqh6d";
+    sha256 = "sha256-kS9GV/j28zkXTJZkRrG2JDgas210rQqXOJrwwxzepbw=";
   };
 
   yarnDeps = mkYarnModules {
@@ -25,9 +25,78 @@ let
     yarnLock = ./yarn.lock;
     yarnNix = ./yarn.nix;
   };
+
+  # move buildDeps here to easily pass to test suite
+  buildDeps = with pythonPackages; [
+    flask
+    flask-gravatar
+    flask_login
+    flask_mail
+    flask_migrate
+    flask_sqlalchemy
+    flask_wtf
+    flask-compress
+    passlib
+    pytz
+    simplejson
+    six
+    sqlparse
+    wtforms
+    flask-paranoid
+    psutil
+    psycopg2
+    python-dateutil
+    sqlalchemy
+    itsdangerous
+    flask-security-too
+    bcrypt
+    cryptography
+    sshtunnel
+    ldap3
+    flask-babelex
+    flask-babel
+    gssapi
+    flask-socketio
+    eventlet
+    httpagentparser
+    user-agents
+    wheel
+    authlib
+    qrcode
+    pillow
+    pyotp
+    botocore
+    boto3
+  ];
+
+  # override necessary on pgadmin4 6.8
+  pythonPackages = python3.pkgs.overrideScope (final: prev: rec {
+    flask = prev.flask.overridePythonAttrs (oldAttrs: rec {
+      version = "2.0.3";
+      src = oldAttrs.src.override {
+        inherit version;
+        sha256 = "sha256-4RIMIoyi9VO0cN9KX6knq2YlhGdSYGmYGz6wqRkCaH0=";
+      };
+      disabledTests = (oldAttrs.disabledTests or [ ]) ++ [
+        "test_aborting"
+      ];
+    });
+    flask-paranoid = prev.flask-paranoid.overridePythonAttrs (oldAttrs: rec {
+      # tests fail due to downgrades here
+      doCheck = false;
+    });
+    werkzeug = prev.werkzeug.overridePythonAttrs (oldAttrs: rec {
+      version = "2.0.3";
+      src = oldAttrs.src.override {
+        inherit version;
+        sha256 = "sha256-uGP4/wV8UiFktgZ8niiwQRYbS+W6TQ2s7qpQoWOCLTw=";
+      };
+    });
+  });
+
 in
 
-python3.pkgs.buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   inherit pname version src;
 
   # from Dockerfile
@@ -43,19 +112,19 @@ python3.pkgs.buildPythonApplication rec {
   postPatch = ''
     # patching Makefile, so it doesn't try to build sphinx documentation here
     # (will do so later)
-    substituteInPlace Makefile --replace "LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 $(MAKE) -C docs/en_US -f Makefile.sphinx html" "true"
+    substituteInPlace Makefile --replace 'LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 $(MAKE) -C docs/en_US -f Makefile.sphinx html' "true"
     # fix document which refers a non-existing document and fails
     substituteInPlace docs/en_US/contributions.rst --replace "code_snippets" ""
     patchShebangs .
     # relax dependencies
     substituteInPlace requirements.txt \
-      --replace "Pillow==8.3.*" "Pillow>=8.3.0" \
       --replace "psycopg2==2.9.*" "psycopg2>=2.9" \
       --replace "cryptography==3.*" "cryptography>=3.0" \
       --replace "requests==2.25.*" "requests>=2.25.0" \
       --replace "boto3==1.20.*" "boto3>=1.20" \
       --replace "botocore==1.23.*" "botocore>=1.23" \
-      --replace "pytz==2021.*" "pytz"
+      --replace "pytz==2021.*" "pytz" \
+      --replace "Werkzeug==2.0.3" "werkzeug>=2.*"
     # don't use Server Mode (can be overridden later)
     substituteInPlace pkg/pip/setup_pip.py \
       --replace "req = req.replace('psycopg2', 'psycopg2-binary')" "req = req" \
@@ -101,10 +170,10 @@ python3.pkgs.buildPythonApplication rec {
     cp -v ../pkg/pip/setup_pip.py setup.py
   '';
 
-  nativeBuildInputs = [ python3 python3.pkgs.cython python3.pkgs.pip ];
+  nativeBuildInputs = with pythonPackages; [ cython pip ];
   buildInputs = [
     zlib
-    python3.pkgs.wheel
+    pythonPackages.wheel
   ];
 
   # tests need an own data, log directory
@@ -112,57 +181,21 @@ python3.pkgs.buildPythonApplication rec {
   # checks will be run through nixos/tests
   doCheck = false;
 
-  propagatedBuildInputs = with python3.pkgs; [
-    flask
-    flask-gravatar
-    flask_login
-    flask_mail
-    flask_migrate
-    flask_sqlalchemy
-    flask_wtf
-    flask-compress
-    passlib
-    pytz
-    simplejson
-    six
-    speaklater3
-    sqlparse
-    wtforms
-    flask-paranoid
-    psutil
-    psycopg2
-    python-dateutil
-    sqlalchemy
-    itsdangerous
-    flask-security-too
-    bcrypt
-    cryptography
-    sshtunnel
-    ldap3
-    flask-babelex
-    flask-babel
-    gssapi
-    flask-socketio
-    eventlet
-    httpagentparser
-    user-agents
-    wheel
-    authlib
-    qrcode
-    pillow
-    pyotp
-    botocore
-    boto3
-  ];
+  # speaklater3 is seperate because when passing buildDeps
+  # to the test, it fails there due to a collision with speaklater
+  propagatedBuildInputs = buildDeps ++ [ pythonPackages.speaklater3 ];
 
-  passthru = {
-    tests = { inherit (nixosTests) pgadmin4 pgadmin4-standalone; };
+  passthru.tests = {
+    standalone = nixosTests.pgadmin4-standalone;
+    # regression and function tests of the package itself
+    package = (import ../../../../nixos/tests/pgadmin4.nix ({ inherit pkgs; buildDeps = buildDeps; pythonEnv = pythonPackages; }));
   };
 
   meta = with lib; {
     description = "Administration and development platform for PostgreSQL";
     homepage = "https://www.pgadmin.org/";
     license = licenses.mit;
+    changelog = "https://www.pgadmin.org/docs/pgadmin4/latest/release_notes_${lib.versions.major version}_${lib.versions.minor version}.html";
     maintainers = with maintainers; [ gador ];
   };
 }
diff --git a/pkgs/tools/admin/pgadmin/package.json b/pkgs/tools/admin/pgadmin/package.json
index e4a27bd10d7..d708b05e488 100644
--- a/pkgs/tools/admin/pgadmin/package.json
+++ b/pkgs/tools/admin/pgadmin/package.json
@@ -8,8 +8,8 @@
   "license": "PostgreSQL",
   "devDependencies": {
     "@babel/core": "^7.10.2",
-    "@babel/eslint-parser": "^7.12.13",
-    "@babel/eslint-plugin": "^7.12.13",
+    "@babel/eslint-parser": "^7.17.0",
+    "@babel/eslint-plugin": "^7.17.7",
     "@babel/plugin-proposal-object-rest-spread": "^7.10.1",
     "@babel/plugin-syntax-jsx": "^7.16.0",
     "@babel/preset-env": "^7.10.2",
@@ -82,11 +82,12 @@
     "@date-io/core": "^1.3.6",
     "@date-io/date-fns": "1.x",
     "@emotion/sheet": "^1.0.1",
-    "@fortawesome/fontawesome-free": "^5.14.0",
     "@material-ui/core": "4.11.0",
     "@material-ui/icons": "^4.11.2",
     "@material-ui/lab": "4.0.0-alpha.58",
     "@material-ui/pickers": "^3.2.10",
+    "@mui/icons-material": "^5.4.2",
+    "@mui/material": "^5.4.3",
     "@projectstorm/react-diagrams": "^6.6.1",
     "@simonwep/pickr": "^1.5.1",
     "@szhsin/react-menu": "^2.2.0",
@@ -145,7 +146,7 @@
     "path-fx": "^2.0.0",
     "pathfinding": "^0.4.18",
     "paths-js": "^0.4.9",
-    "pgadmin4-tree": "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#bf7ac7be65898883e3e05c9733426152a1da6422",
+    "pgadmin4-tree": "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#c966febebcdffaa46f1ccf0769fe5308f179d613",
     "postcss": "^8.2.15",
     "raf": "^3.4.1",
     "rc-dock": "^3.2.9",
@@ -154,6 +155,8 @@
     "react-checkbox-tree": "^1.7.2",
     "react-dom": "^17.0.1",
     "react-draggable": "^4.4.4",
+    "react-rnd": "^10.3.5",
+    "react-router-dom": "^6.2.2",
     "react-select": "^4.2.1",
     "react-table": "^7.6.3",
     "react-timer-hook": "^3.0.5",
diff --git a/pkgs/tools/admin/pgadmin/yarn.lock b/pkgs/tools/admin/pgadmin/yarn.lock
index 7dc709ab5ad..bfb47913f8f 100644
--- a/pkgs/tools/admin/pgadmin/yarn.lock
+++ b/pkgs/tools/admin/pgadmin/yarn.lock
@@ -91,19 +91,19 @@
     json5 "^2.1.2"
     semver "^6.3.0"
 
-"@babel/eslint-parser@^7.12.13":
-  version "7.13.8"
-  resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.13.8.tgz#6f2bde6b0690fcc0598b4869fc7c8e8b55b17687"
-  integrity sha512-XewKkiyukrGzMeqToXJQk6hjg2veI9SNQElGzAoAjKxYCLbgcVX4KA2WhoyqMon9N4RMdCZhNTJNOBcp9spsiw==
+"@babel/eslint-parser@^7.17.0":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz#eabb24ad9f0afa80e5849f8240d0e5facc2d90d6"
+  integrity sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==
   dependencies:
-    eslint-scope "5.1.0"
-    eslint-visitor-keys "^1.3.0"
+    eslint-scope "^5.1.1"
+    eslint-visitor-keys "^2.1.0"
     semver "^6.3.0"
 
-"@babel/eslint-plugin@^7.12.13":
-  version "7.13.0"
-  resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.13.0.tgz#e6d99efcd6b8551adf479e382a47218726179b1b"
-  integrity sha512-YGwCLc/u/uc3bU+q/fvgRQ62+TkxuyVvdmybK6ElzE49vODp+RnRe16eJzMM7EwvcRPQfQvcOSuGmzfcbZE2+w==
+"@babel/eslint-plugin@^7.17.7":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.17.7.tgz#4ee1d5b29b79130f3bb5a933358376bcbee172b8"
+  integrity sha512-JATUoJJXSgwI0T8juxWYtK1JSgoLpIGUsCHIv+NMXcUDA2vIe6nvAHR9vnuJgs/P1hOFw7vPwibixzfqBBLIVw==
   dependencies:
     eslint-rule-composer "^0.3.0"
 
@@ -1741,6 +1741,13 @@
   dependencies:
     regenerator-runtime "^0.13.4"
 
+"@babel/runtime@^7.17.2", "@babel/runtime@^7.7.6":
+  version "7.17.8"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2"
+  integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==
+  dependencies:
+    regenerator-runtime "^0.13.4"
+
 "@babel/template@^7.12.13", "@babel/template@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4"
@@ -1849,6 +1856,17 @@
     "@emotion/weak-memoize" "^0.2.5"
     stylis "^4.0.3"
 
+"@emotion/cache@^11.7.1":
+  version "11.7.1"
+  resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.7.1.tgz#08d080e396a42e0037848214e8aa7bf879065539"
+  integrity sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A==
+  dependencies:
+    "@emotion/memoize" "^0.7.4"
+    "@emotion/sheet" "^1.1.0"
+    "@emotion/utils" "^1.0.0"
+    "@emotion/weak-memoize" "^0.2.5"
+    stylis "4.0.13"
+
 "@emotion/core@^10.0.14":
   version "10.1.1"
   resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.1.1.tgz#c956c1365f2f2481960064bcb8c4732e5fb612c3"
@@ -1882,6 +1900,13 @@
   dependencies:
     "@emotion/memoize" "0.7.4"
 
+"@emotion/is-prop-valid@^1.1.2":
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.1.2.tgz#34ad6e98e871aa6f7a20469b602911b8b11b3a95"
+  integrity sha512-3QnhqeL+WW88YjYbQL5gUIkthuMw7a0NGbZ7wfFVk2kg/CK5w8w5FFa0RzWjyY1+sujN0NWbtSHH6OJmWHtJpQ==
+  dependencies:
+    "@emotion/memoize" "^0.7.4"
+
 "@emotion/memoize@0.7.4":
   version "0.7.4"
   resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb"
@@ -1937,6 +1962,11 @@
   resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.0.1.tgz#245f54abb02dfd82326e28689f34c27aa9b2a698"
   integrity sha512-GbIvVMe4U+Zc+929N1V7nW6YYJtidj31lidSmdYcWozwoBIObXBnaJkKNDjZrLm9Nc0BR+ZyHNaRZxqNZbof5g==
 
+"@emotion/sheet@^1.1.0":
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.1.0.tgz#56d99c41f0a1cda2726a05aa6a20afd4c63e58d2"
+  integrity sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==
+
 "@emotion/styled-base@^10.0.27":
   version "10.0.31"
   resolved "https://registry.yarnpkg.com/@emotion/styled-base/-/styled-base-10.0.31.tgz#940957ee0aa15c6974adc7d494ff19765a2f742a"
@@ -2117,6 +2147,93 @@
     prop-types "^15.7.2"
     react-is "^16.8.0 || ^17.0.0"
 
+"@mui/base@5.0.0-alpha.74":
+  version "5.0.0-alpha.74"
+  resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.74.tgz#15509242e7911446d5957375b1b18cbb72b3a750"
+  integrity sha512-pw3T1xNXpW8pLo9+BvtyazZb0CSjNJsjbzznlbV/aNkBfjNPXQVI3X1NDm3WSI8y6M96WDIVO7XrHAohOwALSQ==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+    "@emotion/is-prop-valid" "^1.1.2"
+    "@mui/types" "^7.1.3"
+    "@mui/utils" "^5.5.3"
+    "@popperjs/core" "^2.11.4"
+    clsx "^1.1.1"
+    prop-types "^15.7.2"
+    react-is "^17.0.2"
+
+"@mui/icons-material@^5.4.2":
+  version "5.5.1"
+  resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.5.1.tgz#848a57972617411370775980cbc6990588d4aafb"
+  integrity sha512-40f68p5+Yhq3dCn3QYHqQt5RETPyR3AkDw+fma8PtcjqvZ+d+jF84kFmT6NqwA3he7TlwluEtkyAmPzUE4uPdA==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+
+"@mui/material@^5.4.3":
+  version "5.5.3"
+  resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.5.3.tgz#411e53a69da3f9d6664e99f1bdcdaf2760540fdc"
+  integrity sha512-eADa3kUYbbr1jNjcufn0a7HeU8cSo0agbrkj720hodxVFNIfzq7a2e58Z+PaZqll55kMGBvlYJ7rTcXU399x5A==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+    "@mui/base" "5.0.0-alpha.74"
+    "@mui/system" "^5.5.3"
+    "@mui/types" "^7.1.3"
+    "@mui/utils" "^5.5.3"
+    "@types/react-transition-group" "^4.4.4"
+    clsx "^1.1.1"
+    csstype "^3.0.11"
+    hoist-non-react-statics "^3.3.2"
+    prop-types "^15.7.2"
+    react-is "^17.0.2"
+    react-transition-group "^4.4.2"
+
+"@mui/private-theming@^5.5.3":
+  version "5.5.3"
+  resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.5.3.tgz#c232a39dd3c268fdef7e92ccc40d51bda9eec3ab"
+  integrity sha512-Wf7NurY7lk8SBWelSBY2U02zxLt1773JpIcXTHuEC9/GZdQA4CXCJGl2cVQzheKhee5rZ+8JwGulrRiVl1m+4A==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+    "@mui/utils" "^5.5.3"
+    prop-types "^15.7.2"
+
+"@mui/styled-engine@^5.5.2":
+  version "5.5.2"
+  resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.5.2.tgz#1f92dd27d76f0b7df7aa52c7c7a710e59b2275a6"
+  integrity sha512-jkz5AHHbA43akBo5L3y1X1/X0f+RvXvCp3eXKt+iOf3qnKSAausbtlVz7gBbC4xIWDnP1Jb/6T+t/0/7gObRYA==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+    "@emotion/cache" "^11.7.1"
+    prop-types "^15.7.2"
+
+"@mui/system@^5.5.3":
+  version "5.5.3"
+  resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.5.3.tgz#c78d4c16009430389ffd3495d694945422d72ca5"
+  integrity sha512-J9JcySJuEqfEoP334K/2gEWm2vOx73Uqjii3qlFVhWRBOAJ0Pjyk0sN5W/eVRbwhUm95DNgh2V5s8dRK3vzyVw==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+    "@mui/private-theming" "^5.5.3"
+    "@mui/styled-engine" "^5.5.2"
+    "@mui/types" "^7.1.3"
+    "@mui/utils" "^5.5.3"
+    clsx "^1.1.1"
+    csstype "^3.0.11"
+    prop-types "^15.7.2"
+
+"@mui/types@^7.1.3":
+  version "7.1.3"
+  resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.1.3.tgz#d7636f3046110bcccc63e6acfd100e2ad9ca712a"
+  integrity sha512-DDF0UhMBo4Uezlk+6QxrlDbchF79XG6Zs0zIewlR4c0Dt6GKVFfUtzPtHCH1tTbcSlq/L2bGEdiaoHBJ9Y1gSA==
+
+"@mui/utils@^5.5.3":
+  version "5.5.3"
+  resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.5.3.tgz#f6e1f10c0e8f4d0bf750588c2c3a96ad819c5b65"
+  integrity sha512-t627eVRpl3SlxVya0cIVNs8jPl4KCEiGaTSWY9iKKTcMNaeDbuRML+zv/CFHDPr1zFv+FjJSP02ySB+tZ8xIag==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+    "@types/prop-types" "^15.7.4"
+    "@types/react-is" "^16.7.1 || ^17.0.0"
+    prop-types "^15.7.2"
+    react-is "^17.0.2"
+
 "@nodelib/fs.scandir@2.1.4":
   version "2.1.4"
   resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69"
@@ -2159,6 +2276,11 @@
   resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.15.tgz#6a9d143f7f4f49db2d782f9e1c8839a29b43ae23"
   integrity sha512-15spi3V28QdevleWBNXE4pIls3nFZmBbUGrW9IVPwiQczuSb9n76TCB4bsk8TSel+I1OkHEdPhu5QKMfY6rQHA==
 
+"@popperjs/core@^2.11.4":
+  version "2.11.4"
+  resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.4.tgz#d8c7b8db9226d2d7664553a0741ad7d0397ee503"
+  integrity sha512-q/ytXxO5NKvyT37pmisQAItCFqA7FD/vNb8dgaJy3/630Fsc+Mz9/9f2SziBoIZ30TJooXyTwZmhi1zjXmObYg==
+
 "@popperjs/core@^2.8.3":
   version "2.9.0"
   resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.9.0.tgz#32e63212293dd3efbb521cd35a5020ab66eaa546"
@@ -2436,6 +2558,11 @@
   resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
   integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
 
+"@types/prop-types@^15.7.4":
+  version "15.7.4"
+  resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11"
+  integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==
+
 "@types/q@^1.5.1":
   version "1.5.4"
   resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24"
@@ -2448,6 +2575,13 @@
   dependencies:
     "@types/react" "^16"
 
+"@types/react-is@^16.7.1 || ^17.0.0":
+  version "17.0.3"
+  resolved "https://registry.yarnpkg.com/@types/react-is/-/react-is-17.0.3.tgz#2d855ba575f2fc8d17ef9861f084acc4b90a137a"
+  integrity sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==
+  dependencies:
+    "@types/react" "*"
+
 "@types/react-transition-group@^4.2.0":
   version "4.4.1"
   resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.1.tgz#e1a3cb278df7f47f17b5082b1b3da17170bd44b1"
@@ -2455,6 +2589,13 @@
   dependencies:
     "@types/react" "*"
 
+"@types/react-transition-group@^4.4.4":
+  version "4.4.4"
+  resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.4.tgz#acd4cceaa2be6b757db61ed7b432e103242d163e"
+  integrity sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==
+  dependencies:
+    "@types/react" "*"
+
 "@types/react@*", "@types/react@^16":
   version "16.14.10"
   resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.10.tgz#76bc1c42ed5ab0d2ab13e5c58faaccaad3449477"
@@ -4540,6 +4681,11 @@ csstype@^2.5.2, csstype@^2.5.7:
   resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.16.tgz#544d69f547013b85a40d15bff75db38f34fe9c39"
   integrity sha512-61FBWoDHp/gRtsoDkq/B1nWrCUG/ok1E3tUrcNbZjsE9Cxd9yzUirjS3+nAATB8U4cTtaQmAHbNndoFz5L6C9Q==
 
+csstype@^3.0.11:
+  version "3.0.11"
+  resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33"
+  integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==
+
 csstype@^3.0.2:
   version "3.0.8"
   resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340"
@@ -5223,14 +5369,6 @@ eslint-rule-composer@^0.3.0:
   resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9"
   integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==
 
-eslint-scope@5.1.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5"
-  integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==
-  dependencies:
-    esrecurse "^4.1.0"
-    estraverse "^4.1.1"
-
 eslint-scope@^5.1.1:
   version "5.1.1"
   resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
@@ -5251,7 +5389,7 @@ eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
   integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
 
-eslint-visitor-keys@^2.0.0:
+eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
   integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
@@ -5320,7 +5458,7 @@ esquery@^1.4.0:
   dependencies:
     estraverse "^5.1.0"
 
-esrecurse@^4.1.0, esrecurse@^4.3.0:
+esrecurse@^4.3.0:
   version "4.3.0"
   resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
   integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
@@ -5498,6 +5636,11 @@ fast-levenshtein@^2.0.6:
   resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
   integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
 
+fast-memoize@^2.5.1:
+  version "2.5.2"
+  resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.5.2.tgz#79e3bb6a4ec867ea40ba0e7146816f6cdce9b57e"
+  integrity sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==
+
 fast-safe-stringify@^2.0.7:
   version "2.0.7"
   resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743"
@@ -6059,6 +6202,13 @@ hex-color-regex@^1.1.0:
   resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
   integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
 
+history@^5.2.0:
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/history/-/history-5.3.0.tgz#1548abaa245ba47992f063a0783db91ef201c73b"
+  integrity sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==
+  dependencies:
+    "@babel/runtime" "^7.7.6"
+
 hmac-drbg@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@@ -8351,9 +8501,9 @@ performance-now@^2.1.0:
   resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
   integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
 
-"pgadmin4-tree@git+https://github.com/EnterpriseDB/pgadmin4-treeview/#bf7ac7be65898883e3e05c9733426152a1da6422":
+"pgadmin4-tree@git+https://github.com/EnterpriseDB/pgadmin4-treeview/#c966febebcdffaa46f1ccf0769fe5308f179d613":
   version "1.0.0"
-  resolved "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#bf7ac7be65898883e3e05c9733426152a1da6422"
+  resolved "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#c966febebcdffaa46f1ccf0769fe5308f179d613"
   dependencies:
     "@types/classnames" "^2.2.6"
     "@types/react" "^16.7.18"
@@ -9023,6 +9173,13 @@ rc-util@^5.12.0, rc-util@^5.15.0, rc-util@^5.2.1, rc-util@^5.3.0, rc-util@^5.5.0
     react-is "^16.12.0"
     shallowequal "^1.1.0"
 
+re-resizable@6.9.1:
+  version "6.9.1"
+  resolved "https://registry.yarnpkg.com/re-resizable/-/re-resizable-6.9.1.tgz#6be082b55d02364ca4bfee139e04feebdf52441c"
+  integrity sha512-KRYAgr9/j1PJ3K+t+MBhlQ+qkkoLDJ1rs0z1heIWvYbCW/9Vq4djDU+QumJ3hQbwwtzXF6OInla6rOx6hhgRhQ==
+  dependencies:
+    fast-memoize "^2.5.1"
+
 react-aspen@^1.1.0, react-aspen@^1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/react-aspen/-/react-aspen-1.1.1.tgz#61a85ef43748158322c4a3b73faaa5e563edd038"
@@ -9063,6 +9220,14 @@ react-dom@^17.0.1:
     object-assign "^4.1.1"
     scheduler "^0.20.2"
 
+react-draggable@4.4.3:
+  version "4.4.3"
+  resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.3.tgz#0727f2cae5813e36b0e4962bf11b2f9ef2b406f3"
+  integrity sha512-jV4TE59MBuWm7gb6Ns3Q1mxX8Azffb7oTtDtBgFkxRvhDp38YAARmRplrj0+XGkhOJB5XziArX+4HUUABtyZ0w==
+  dependencies:
+    classnames "^2.2.5"
+    prop-types "^15.6.0"
+
 react-draggable@^4.4.4:
   version "4.4.4"
   resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.4.tgz#5b26d9996be63d32d285a426f41055de87e59b2f"
@@ -9093,6 +9258,30 @@ react-property@1.0.1:
   resolved "https://registry.yarnpkg.com/react-property/-/react-property-1.0.1.tgz#4ae4211557d0a0ae050a71aa8ad288c074bea4e6"
   integrity sha512-1tKOwxFn3dXVomH6pM9IkLkq2Y8oh+fh/lYW3MJ/B03URswUTqttgckOlbxY2XHF3vPG6uanSc4dVsLW/wk3wQ==
 
+react-rnd@^10.3.5:
+  version "10.3.5"
+  resolved "https://registry.yarnpkg.com/react-rnd/-/react-rnd-10.3.5.tgz#b66e5e06f1eb6823e72eb4b552081b4b9241b139"
+  integrity sha512-LWJP+l5bp76sDPKrKM8pwGJifI6i3B5jHK4ONACczVMbR8ycNGA75ORRqpRuXGyKawUs68s1od05q8cqWgQXgw==
+  dependencies:
+    re-resizable "6.9.1"
+    react-draggable "4.4.3"
+    tslib "2.3.0"
+
+react-router-dom@^6.2.2:
+  version "6.3.0"
+  resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.3.0.tgz#a0216da813454e521905b5fa55e0e5176123f43d"
+  integrity sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==
+  dependencies:
+    history "^5.2.0"
+    react-router "6.3.0"
+
+react-router@6.3.0:
+  version "6.3.0"
+  resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.3.0.tgz#3970cc64b4cb4eae0c1ea5203a80334fdd175557"
+  integrity sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==
+  dependencies:
+    history "^5.2.0"
+
 react-select@^4.2.1:
   version "4.3.1"
   resolved "https://registry.yarnpkg.com/react-select/-/react-select-4.3.1.tgz#389fc07c9bc7cf7d3c377b7a05ea18cd7399cb81"
@@ -9144,6 +9333,16 @@ react-transition-group@^4.0.0, react-transition-group@^4.3.0, react-transition-g
     loose-envify "^1.4.0"
     prop-types "^15.6.2"
 
+react-transition-group@^4.4.2:
+  version "4.4.2"
+  resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470"
+  integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==
+  dependencies:
+    "@babel/runtime" "^7.5.5"
+    dom-helpers "^5.0.1"
+    loose-envify "^1.4.0"
+    prop-types "^15.6.2"
+
 react-transition-state@^1.1.3:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/react-transition-state/-/react-transition-state-1.1.3.tgz#6d999dc640ffd3a7442021a14a58e13347f4e95f"
@@ -10161,6 +10360,11 @@ stylehacks@^5.0.1:
     browserslist "^4.16.0"
     postcss-selector-parser "^6.0.4"
 
+stylis@4.0.13:
+  version "4.0.13"
+  resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz#f5db332e376d13cc84ecfe5dace9a2a51d954c91"
+  integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==
+
 stylis@^4.0.3, stylis@^4.0.7:
   version "4.0.10"
   resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.10.tgz#446512d1097197ab3f02fb3c258358c3f7a14240"
@@ -10511,6 +10715,11 @@ trim-right@^1.0.1:
   resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
   integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
 
+tslib@2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
+  integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
+
 tslib@^2.2.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c"
diff --git a/pkgs/tools/admin/pgadmin/yarn.nix b/pkgs/tools/admin/pgadmin/yarn.nix
index eca056bc921..9e2ed892fcd 100644
--- a/pkgs/tools/admin/pgadmin/yarn.nix
+++ b/pkgs/tools/admin/pgadmin/yarn.nix
@@ -74,19 +74,19 @@
       };
     }
     {
-      name = "_babel_eslint_parser___eslint_parser_7.13.8.tgz";
+      name = "_babel_eslint_parser___eslint_parser_7.17.0.tgz";
       path = fetchurl {
-        name = "_babel_eslint_parser___eslint_parser_7.13.8.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.13.8.tgz";
-        sha512 = "XewKkiyukrGzMeqToXJQk6hjg2veI9SNQElGzAoAjKxYCLbgcVX4KA2WhoyqMon9N4RMdCZhNTJNOBcp9spsiw==";
+        name = "_babel_eslint_parser___eslint_parser_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz";
+        sha512 = "PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==";
       };
     }
     {
-      name = "_babel_eslint_plugin___eslint_plugin_7.13.0.tgz";
+      name = "_babel_eslint_plugin___eslint_plugin_7.17.7.tgz";
       path = fetchurl {
-        name = "_babel_eslint_plugin___eslint_plugin_7.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.13.0.tgz";
-        sha512 = "YGwCLc/u/uc3bU+q/fvgRQ62+TkxuyVvdmybK6ElzE49vODp+RnRe16eJzMM7EwvcRPQfQvcOSuGmzfcbZE2+w==";
+        name = "_babel_eslint_plugin___eslint_plugin_7.17.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.17.7.tgz";
+        sha512 = "JATUoJJXSgwI0T8juxWYtK1JSgoLpIGUsCHIv+NMXcUDA2vIe6nvAHR9vnuJgs/P1hOFw7vPwibixzfqBBLIVw==";
       };
     }
     {
@@ -1578,6 +1578,14 @@
       };
     }
     {
+      name = "_babel_runtime___runtime_7.17.8.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.17.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz";
+        sha512 = "dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==";
+      };
+    }
+    {
       name = "_babel_template___template_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_template___template_7.14.5.tgz";
@@ -1674,6 +1682,14 @@
       };
     }
     {
+      name = "_emotion_cache___cache_11.7.1.tgz";
+      path = fetchurl {
+        name = "_emotion_cache___cache_11.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.7.1.tgz";
+        sha512 = "r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A==";
+      };
+    }
+    {
       name = "_emotion_core___core_10.1.1.tgz";
       path = fetchurl {
         name = "_emotion_core___core_10.1.1.tgz";
@@ -1706,6 +1722,14 @@
       };
     }
     {
+      name = "_emotion_is_prop_valid___is_prop_valid_1.1.2.tgz";
+      path = fetchurl {
+        name = "_emotion_is_prop_valid___is_prop_valid_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.1.2.tgz";
+        sha512 = "3QnhqeL+WW88YjYbQL5gUIkthuMw7a0NGbZ7wfFVk2kg/CK5w8w5FFa0RzWjyY1+sujN0NWbtSHH6OJmWHtJpQ==";
+      };
+    }
+    {
       name = "_emotion_memoize___memoize_0.7.4.tgz";
       path = fetchurl {
         name = "_emotion_memoize___memoize_0.7.4.tgz";
@@ -1762,6 +1786,14 @@
       };
     }
     {
+      name = "_emotion_sheet___sheet_1.1.0.tgz";
+      path = fetchurl {
+        name = "_emotion_sheet___sheet_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.1.0.tgz";
+        sha512 = "u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==";
+      };
+    }
+    {
       name = "_emotion_styled_base___styled_base_10.0.31.tgz";
       path = fetchurl {
         name = "_emotion_styled_base___styled_base_10.0.31.tgz";
@@ -1930,6 +1962,70 @@
       };
     }
     {
+      name = "_mui_base___base_5.0.0_alpha.74.tgz";
+      path = fetchurl {
+        name = "_mui_base___base_5.0.0_alpha.74.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.74.tgz";
+        sha512 = "pw3T1xNXpW8pLo9+BvtyazZb0CSjNJsjbzznlbV/aNkBfjNPXQVI3X1NDm3WSI8y6M96WDIVO7XrHAohOwALSQ==";
+      };
+    }
+    {
+      name = "_mui_icons_material___icons_material_5.5.1.tgz";
+      path = fetchurl {
+        name = "_mui_icons_material___icons_material_5.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.5.1.tgz";
+        sha512 = "40f68p5+Yhq3dCn3QYHqQt5RETPyR3AkDw+fma8PtcjqvZ+d+jF84kFmT6NqwA3he7TlwluEtkyAmPzUE4uPdA==";
+      };
+    }
+    {
+      name = "_mui_material___material_5.5.3.tgz";
+      path = fetchurl {
+        name = "_mui_material___material_5.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/material/-/material-5.5.3.tgz";
+        sha512 = "eADa3kUYbbr1jNjcufn0a7HeU8cSo0agbrkj720hodxVFNIfzq7a2e58Z+PaZqll55kMGBvlYJ7rTcXU399x5A==";
+      };
+    }
+    {
+      name = "_mui_private_theming___private_theming_5.5.3.tgz";
+      path = fetchurl {
+        name = "_mui_private_theming___private_theming_5.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.5.3.tgz";
+        sha512 = "Wf7NurY7lk8SBWelSBY2U02zxLt1773JpIcXTHuEC9/GZdQA4CXCJGl2cVQzheKhee5rZ+8JwGulrRiVl1m+4A==";
+      };
+    }
+    {
+      name = "_mui_styled_engine___styled_engine_5.5.2.tgz";
+      path = fetchurl {
+        name = "_mui_styled_engine___styled_engine_5.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.5.2.tgz";
+        sha512 = "jkz5AHHbA43akBo5L3y1X1/X0f+RvXvCp3eXKt+iOf3qnKSAausbtlVz7gBbC4xIWDnP1Jb/6T+t/0/7gObRYA==";
+      };
+    }
+    {
+      name = "_mui_system___system_5.5.3.tgz";
+      path = fetchurl {
+        name = "_mui_system___system_5.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/system/-/system-5.5.3.tgz";
+        sha512 = "J9JcySJuEqfEoP334K/2gEWm2vOx73Uqjii3qlFVhWRBOAJ0Pjyk0sN5W/eVRbwhUm95DNgh2V5s8dRK3vzyVw==";
+      };
+    }
+    {
+      name = "_mui_types___types_7.1.3.tgz";
+      path = fetchurl {
+        name = "_mui_types___types_7.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/types/-/types-7.1.3.tgz";
+        sha512 = "DDF0UhMBo4Uezlk+6QxrlDbchF79XG6Zs0zIewlR4c0Dt6GKVFfUtzPtHCH1tTbcSlq/L2bGEdiaoHBJ9Y1gSA==";
+      };
+    }
+    {
+      name = "_mui_utils___utils_5.5.3.tgz";
+      path = fetchurl {
+        name = "_mui_utils___utils_5.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/utils/-/utils-5.5.3.tgz";
+        sha512 = "t627eVRpl3SlxVya0cIVNs8jPl4KCEiGaTSWY9iKKTcMNaeDbuRML+zv/CFHDPr1zFv+FjJSP02ySB+tZ8xIag==";
+      };
+    }
+    {
       name = "_nodelib_fs.scandir___fs.scandir_2.1.4.tgz";
       path = fetchurl {
         name = "_nodelib_fs.scandir___fs.scandir_2.1.4.tgz";
@@ -1978,6 +2074,14 @@
       };
     }
     {
+      name = "_popperjs_core___core_2.11.4.tgz";
+      path = fetchurl {
+        name = "_popperjs_core___core_2.11.4.tgz";
+        url  = "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.4.tgz";
+        sha512 = "q/ytXxO5NKvyT37pmisQAItCFqA7FD/vNb8dgaJy3/630Fsc+Mz9/9f2SziBoIZ30TJooXyTwZmhi1zjXmObYg==";
+      };
+    }
+    {
       name = "_popperjs_core___core_2.9.0.tgz";
       path = fetchurl {
         name = "_popperjs_core___core_2.9.0.tgz";
@@ -2314,6 +2418,14 @@
       };
     }
     {
+      name = "_types_prop_types___prop_types_15.7.4.tgz";
+      path = fetchurl {
+        name = "_types_prop_types___prop_types_15.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz";
+        sha512 = "rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==";
+      };
+    }
+    {
       name = "_types_q___q_1.5.4.tgz";
       path = fetchurl {
         name = "_types_q___q_1.5.4.tgz";
@@ -2330,6 +2442,14 @@
       };
     }
     {
+      name = "_types_react_is___react_is_17.0.3.tgz";
+      path = fetchurl {
+        name = "_types_react_is___react_is_17.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-is/-/react-is-17.0.3.tgz";
+        sha512 = "aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==";
+      };
+    }
+    {
       name = "_types_react_transition_group___react_transition_group_4.4.1.tgz";
       path = fetchurl {
         name = "_types_react_transition_group___react_transition_group_4.4.1.tgz";
@@ -2338,6 +2458,14 @@
       };
     }
     {
+      name = "_types_react_transition_group___react_transition_group_4.4.4.tgz";
+      path = fetchurl {
+        name = "_types_react_transition_group___react_transition_group_4.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.4.tgz";
+        sha512 = "7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==";
+      };
+    }
+    {
       name = "_types_react___react_16.14.10.tgz";
       path = fetchurl {
         name = "_types_react___react_16.14.10.tgz";
@@ -4474,6 +4602,14 @@
       };
     }
     {
+      name = "csstype___csstype_3.0.11.tgz";
+      path = fetchurl {
+        name = "csstype___csstype_3.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz";
+        sha512 = "sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==";
+      };
+    }
+    {
       name = "csstype___csstype_3.0.8.tgz";
       path = fetchurl {
         name = "csstype___csstype_3.0.8.tgz";
@@ -5186,14 +5322,6 @@
       };
     }
     {
-      name = "eslint_scope___eslint_scope_5.1.0.tgz";
-      path = fetchurl {
-        name = "eslint_scope___eslint_scope_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz";
-        sha512 = "iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==";
-      };
-    }
-    {
       name = "eslint_scope___eslint_scope_5.1.1.tgz";
       path = fetchurl {
         name = "eslint_scope___eslint_scope_5.1.1.tgz";
@@ -5442,6 +5570,14 @@
       };
     }
     {
+      name = "fast_memoize___fast_memoize_2.5.2.tgz";
+      path = fetchurl {
+        name = "fast_memoize___fast_memoize_2.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.5.2.tgz";
+        sha512 = "Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==";
+      };
+    }
+    {
       name = "fast_safe_stringify___fast_safe_stringify_2.0.7.tgz";
       path = fetchurl {
         name = "fast_safe_stringify___fast_safe_stringify_2.0.7.tgz";
@@ -6082,6 +6218,14 @@
       };
     }
     {
+      name = "history___history_5.3.0.tgz";
+      path = fetchurl {
+        name = "history___history_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/history/-/history-5.3.0.tgz";
+        sha512 = "ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==";
+      };
+    }
+    {
       name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
       path = fetchurl {
         name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
@@ -8823,8 +8967,8 @@
       let
         repo = fetchgit {
           url = "https://github.com/EnterpriseDB/pgadmin4-treeview/";
-          rev = "bf7ac7be65898883e3e05c9733426152a1da6422";
-          sha256 = "0nsn7s0d1kpgpb554hkz7nsifzdyff06qc78gqmzd8j3sfcbjk63";
+          rev = "c966febebcdffaa46f1ccf0769fe5308f179d613";
+          sha256 = "0fxjalh7g8fwy3fczbj9pvf8g06chq41gw1jidz106wadjr72081";
         };
       in
         runCommand "pgadmin4-treeview" { buildInputs = [gnutar]; } ''
@@ -9554,6 +9698,14 @@
       };
     }
     {
+      name = "re_resizable___re_resizable_6.9.1.tgz";
+      path = fetchurl {
+        name = "re_resizable___re_resizable_6.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/re-resizable/-/re-resizable-6.9.1.tgz";
+        sha512 = "KRYAgr9/j1PJ3K+t+MBhlQ+qkkoLDJ1rs0z1heIWvYbCW/9Vq4djDU+QumJ3hQbwwtzXF6OInla6rOx6hhgRhQ==";
+      };
+    }
+    {
       name = "react_aspen___react_aspen_1.1.1.tgz";
       path = fetchurl {
         name = "react_aspen___react_aspen_1.1.1.tgz";
@@ -9586,6 +9738,14 @@
       };
     }
     {
+      name = "react_draggable___react_draggable_4.4.3.tgz";
+      path = fetchurl {
+        name = "react_draggable___react_draggable_4.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.3.tgz";
+        sha512 = "jV4TE59MBuWm7gb6Ns3Q1mxX8Azffb7oTtDtBgFkxRvhDp38YAARmRplrj0+XGkhOJB5XziArX+4HUUABtyZ0w==";
+      };
+    }
+    {
       name = "react_draggable___react_draggable_4.4.4.tgz";
       path = fetchurl {
         name = "react_draggable___react_draggable_4.4.4.tgz";
@@ -9626,6 +9786,30 @@
       };
     }
     {
+      name = "react_rnd___react_rnd_10.3.5.tgz";
+      path = fetchurl {
+        name = "react_rnd___react_rnd_10.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/react-rnd/-/react-rnd-10.3.5.tgz";
+        sha512 = "LWJP+l5bp76sDPKrKM8pwGJifI6i3B5jHK4ONACczVMbR8ycNGA75ORRqpRuXGyKawUs68s1od05q8cqWgQXgw==";
+      };
+    }
+    {
+      name = "react_router_dom___react_router_dom_6.3.0.tgz";
+      path = fetchurl {
+        name = "react_router_dom___react_router_dom_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.3.0.tgz";
+        sha512 = "uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==";
+      };
+    }
+    {
+      name = "react_router___react_router_6.3.0.tgz";
+      path = fetchurl {
+        name = "react_router___react_router_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-router/-/react-router-6.3.0.tgz";
+        sha512 = "7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==";
+      };
+    }
+    {
       name = "react_select___react_select_4.3.1.tgz";
       path = fetchurl {
         name = "react_select___react_select_4.3.1.tgz";
@@ -9674,6 +9858,14 @@
       };
     }
     {
+      name = "react_transition_group___react_transition_group_4.4.2.tgz";
+      path = fetchurl {
+        name = "react_transition_group___react_transition_group_4.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz";
+        sha512 = "/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==";
+      };
+    }
+    {
       name = "react_transition_state___react_transition_state_1.1.3.tgz";
       path = fetchurl {
         name = "react_transition_state___react_transition_state_1.1.3.tgz";
@@ -10866,6 +11058,14 @@
       };
     }
     {
+      name = "stylis___stylis_4.0.13.tgz";
+      path = fetchurl {
+        name = "stylis___stylis_4.0.13.tgz";
+        url  = "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz";
+        sha512 = "xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==";
+      };
+    }
+    {
       name = "stylis___stylis_4.0.10.tgz";
       path = fetchurl {
         name = "stylis___stylis_4.0.10.tgz";
@@ -11234,6 +11434,14 @@
       };
     }
     {
+      name = "tslib___tslib_2.3.0.tgz";
+      path = fetchurl {
+        name = "tslib___tslib_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz";
+        sha512 = "N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==";
+      };
+    }
+    {
       name = "tslib___tslib_2.2.0.tgz";
       path = fetchurl {
         name = "tslib___tslib_2.2.0.tgz";
diff --git a/pkgs/tools/admin/pulumi/data.nix b/pkgs/tools/admin/pulumi/data.nix
index 6e13f6747cc..29f9cbe0f3f 100644
--- a/pkgs/tools/admin/pulumi/data.nix
+++ b/pkgs/tools/admin/pulumi/data.nix
@@ -1,16 +1,16 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "3.29.1";
+  version = "3.31.0";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.29.1-linux-x64.tar.gz";
-        sha256 = "0chxkyarvci7x0x780chj9ksdjdqldvz8s8pnvvsw4v6ljxhp4jl";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.31.0-linux-x64.tar.gz";
+        sha256 = "195jqrgax3sy9bz9i36d60x5y3j47bp43453yhs2zdcllh29jfn2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.0-linux-amd64.tar.gz";
-        sha256 = "16wfnjk9y6zd2pqcn3sk2yhmwbq2zmbdg5yv3a89kdhkal9p785h";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.1-linux-amd64.tar.gz";
+        sha256 = "10vn054iia68rn37ibrri150k795hr3vdvwgsxdkr2qyp8rna6mx";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v2.9.0-linux-amd64.tar.gz";
@@ -29,20 +29,20 @@
         sha256 = "1x1fvnxhnhhv9fhqp4syhqcybjqpa2rq8d9nb8yvm9rxgcjllr0n";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.1.3-linux-amd64.tar.gz";
-        sha256 = "1pcm9s76rp6s9ndw2y4mbs4p9cpsczpxb54ng4z40r3whisrzr57";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.3.0-linux-amd64.tar.gz";
+        sha256 = "0srdq0blsm5p10kxds64ybh0pmy7n6v4sdd2s0555gc6w9l1ir40";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.19.0-linux-amd64.tar.gz";
-        sha256 = "0jginwaq8inyhf1rw0xzaaiv7xpadvqrarbp543iz4yz64qncpk9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.3.0-linux-amd64.tar.gz";
+        sha256 = "1mla2lc639w5shlih3nsf6hp696h7n592bwbhn9hl3xlpxvmwhdz";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.3.1-linux-amd64.tar.gz";
-        sha256 = "0m89na1gqrb41h1dg5j876g5hp0mfk4g7ij7i4md1szk9fp4820k";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.21.0-linux-amd64.tar.gz";
+        sha256 = "06sp11azls8agqcrww3pgk19232ngbd19v9czp55321xpmgs0d6h";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.2.0-linux-amd64.tar.gz";
-        sha256 = "1mqp79h915zwdmvsqs82pnqbs3qv4nbh65b4ismdvgim667ykydy";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.4.0-linux-amd64.tar.gz";
+        sha256 = "1z8f287mm2mqfa76021fp5a1bj9045iwxcy8xs1ygh48b1890j49";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.6.0-linux-amd64.tar.gz";
@@ -73,8 +73,8 @@
         sha256 = "0n1xqsfsqi773lwg9xbvglrd4pfb060fq8llxf06qj8h2imlxx34";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.20.0-linux-amd64.tar.gz";
-        sha256 = "1q39n02cgp69jjl44xfxn13lcvmcqdb5szpk3d8cybp4kndsklf2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.21.0-linux-amd64.tar.gz";
+        sha256 = "18m3c22lgh1byj3va8mxv8dk6ivaphmf4azqz8ndvva7jmiqayyb";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.11.0-linux-amd64.tar.gz";
@@ -85,16 +85,16 @@
         sha256 = "17v460kbghvrvhxgckzg2bq556amy5hwmks4m1idkcz8akh6vlni";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.0-linux-amd64.tar.gz";
-        sha256 = "0br9faaqaksfqyngf3s9kmsjfqmhmpc09rpyqjxprxh1vmd4s31n";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.1-linux-amd64.tar.gz";
+        sha256 = "010jm1x4id53wx8jwabqglyvkv73j8bnhksk5jcg20wbf1864hli";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-linux-amd64.tar.gz";
         sha256 = "1gfiiwgb51ylwns3mqgnbgm2knrdzvy9r9v23yx0z03ba189d3m9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.2-linux-amd64.tar.gz";
-        sha256 = "13pwyqfj8mlvwd2s7marfhbp4jsb7ym9qzf02bl3aw99ngzzybsl";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.3-linux-amd64.tar.gz";
+        sha256 = "1bs8bdkaa6qrrzddppar7yzcn3ml9rfvdmd72fcgvz1hw5vp7gzn";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-linux-amd64.tar.gz";
@@ -117,36 +117,36 @@
         sha256 = "156wmbxm8c15lzqj2mx4mm14p569skfddfbq9rjyjlvxljklx2fd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.4.2-linux-amd64.tar.gz";
-        sha256 = "0agf96ji7mzkf4k4axm1v3psm5wkml41714dz88rn0csq0b31ca9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.5.0-linux-amd64.tar.gz";
+        sha256 = "0fs68z18lmhl46dl45fnavhycysfbfkparvq9irhcc679icwn5id";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.7.0-linux-amd64.tar.gz";
         sha256 = "1jx9ngzk3k8ab5s1ms2j8k7sb2zfcxkwhjj7zwvdna5x2lxrvq20";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.16.0-linux-amd64.tar.gz";
-        sha256 = "01yaz2yh77fdcqcv94xh85b3km7q1gpjdys03gll6gz1vb0qlhis";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.17.0-linux-amd64.tar.gz";
+        sha256 = "1abgvb6bqdpy4rh94rq94bjcvz7ksd0f4ywzwxh02f7qv9lacsx9";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.6.0-linux-amd64.tar.gz";
         sha256 = "014aqs91gyzsi413v6f6npnmx72yflhxc6ybxngybkphc6hzx5y2";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.0-linux-amd64.tar.gz";
-        sha256 = "022wl1b2cv8j6lrzvzrik8jkxvngyd6jx7qrn4r2km65xfmgckz2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.1-linux-amd64.tar.gz";
+        sha256 = "0yhsidz5mi6xznmrkvlg1jxyykhg3kccqd4fxg9zj9yv4l8ih2rw";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.2.2-linux-amd64.tar.gz";
-        sha256 = "1x30qyrjrhn4gglcz2gc1h6n8px1v198fpsjf2wmf3v13pb15ix8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.3.0-linux-amd64.tar.gz";
+        sha256 = "14kgn1xz3i5lh096chd1bqac0391g13zma0nkraynnaqziqw5xgf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.0-linux-amd64.tar.gz";
-        sha256 = "0cj46m1jzfhx400qq4p40sqg0j6m2nggfpvyv4m1jxxzna11615n";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.1-linux-amd64.tar.gz";
+        sha256 = "1n780mk61vshxyf7h9wdx3rddnrmjljzzx979c4hw1ycq40iwxkh";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.0-linux-amd64.tar.gz";
-        sha256 = "0hf7jrr91wpq28xsf8ajbdillblryh35k5w367d5fps7ph3fjk3f";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.1-linux-amd64.tar.gz";
+        sha256 = "1l3iplqqndvx98bcil1z2vhnmaldvrgyggbs2f15jyz4iv2k822k";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-linux-amd64.tar.gz";
@@ -163,12 +163,12 @@
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.29.1-darwin-x64.tar.gz";
-        sha256 = "0c2k7sqk4y4lhazdcfdcgxzwaz21vp1i4fmdji7jizbkj7qybn2x";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.31.0-darwin-x64.tar.gz";
+        sha256 = "1n1c05dpv1xhj7wsy4vxh31mzppmiz1qvjz9vhjnpjhcp9r949gr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.0-darwin-amd64.tar.gz";
-        sha256 = "0bq8hjcspb8wmyjfn73rzjfqq1clxjx3cwx9yd8v7wjbr2ijrlkz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.1-darwin-amd64.tar.gz";
+        sha256 = "0i43sspz7bcg6nhdf3ncj6mcs087qn2z0fkfcylj7nsvvvwcacyr";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v2.9.0-darwin-amd64.tar.gz";
@@ -187,20 +187,20 @@
         sha256 = "15a89ydv8yp71aamd9kciz9yggxza5njdikch5pvmd24jvar03gm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.1.3-darwin-amd64.tar.gz";
-        sha256 = "0y78bwqf3zfivs29d1cdyx49fl8imdv3j6pvw1f23cyh6hsdfjfa";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.3.0-darwin-amd64.tar.gz";
+        sha256 = "1qqbqjr0yh5ipyj074a86hjga126dib9x0c3rp40x7q03avsii3g";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.19.0-darwin-amd64.tar.gz";
-        sha256 = "1zfprji3l6gpb80s67049w1ggxz0idv0fg9jipivhakr6d8j5mzp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.3.0-darwin-amd64.tar.gz";
+        sha256 = "0pig9hcmhig7ygx43fj0jjpv1js9kgdryhak62sfdvbsvcaqzp44";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.3.1-darwin-amd64.tar.gz";
-        sha256 = "0fjynq1ilfv6njjyyadhpc9ks8izwif3nf8mnb7wfxchxn7gqbsi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.21.0-darwin-amd64.tar.gz";
+        sha256 = "18b63y3wiw99wmkna5zv8k7bkrnnzm9nv4k14f93lg22jcmnhrkc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.2.0-darwin-amd64.tar.gz";
-        sha256 = "0xsk8d982w2zqvxfyqk1s3nilbsiqwnn3bwxm6d6zvhbi9ym63p7";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.4.0-darwin-amd64.tar.gz";
+        sha256 = "1shc7m4xlsmcjnrlbi2jyvmnvf9bg1cs6knfkl82jfs65ya5iidf";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.6.0-darwin-amd64.tar.gz";
@@ -231,8 +231,8 @@
         sha256 = "0i3aysdy7i13fx2a2kpnvd3qpn7vmc2mbln718kks3mikiz26aii";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.20.0-darwin-amd64.tar.gz";
-        sha256 = "0rgqihk76hwyps1krhzg4an280ds9rjyq2pzhk1gbvljflplri4w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.21.0-darwin-amd64.tar.gz";
+        sha256 = "1zqbxqyv4x1fsyrdjpy2ham5fjs1yzjly0i3jpqrrkxfxw68z7an";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.11.0-darwin-amd64.tar.gz";
@@ -243,16 +243,16 @@
         sha256 = "08b6p6gliay66bd7687kjc9n3n7xdgbrrcnbjbqi7a3am14mf5p6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.0-darwin-amd64.tar.gz";
-        sha256 = "0wn9jpvaj3hwlm3yakgm7y87dcv1ja606hkf3vllqjmjz99113c3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.1-darwin-amd64.tar.gz";
+        sha256 = "0828lrq07586liz2k7pjk7hnz4nxawkq03nw8x2s4j8paszrz295";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-darwin-amd64.tar.gz";
         sha256 = "11r73jfqkc0wgdf66zp6pmgq5packlm4dkjp12a00z6l2s4f0w4h";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.2-darwin-amd64.tar.gz";
-        sha256 = "041h4qsgzz5qd74q3lzcafqn3332gps4cf2i18x9pbnwvh7my69a";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.3-darwin-amd64.tar.gz";
+        sha256 = "0ffnl6mbh9wpfb384zbv5v1sss4vvn0hqrcsy6v585984v1pays2";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-darwin-amd64.tar.gz";
@@ -275,36 +275,36 @@
         sha256 = "0zjha6vv6j386h2gfhvwicpqz53v13v7zdfl6bydjzh3mw2x7bcg";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.4.2-darwin-amd64.tar.gz";
-        sha256 = "1wmvmhxnjp32kp43fhjp8w9nrb0biki63w23l4zjxsdk7njply7c";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.5.0-darwin-amd64.tar.gz";
+        sha256 = "1fnv2d4b458blx5k2s861lj8zc0fcxkw5jfjcm25nhdc7694v04w";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.7.0-darwin-amd64.tar.gz";
         sha256 = "0z5w42m0229gjlbp36aqh8cfd0l47nv5jh6gcjqfp5pkgwh37gnj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.16.0-darwin-amd64.tar.gz";
-        sha256 = "1viwk26qj9civh4plqm34j5iky69sxvskmqbga03x1v5rd7567aa";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.17.0-darwin-amd64.tar.gz";
+        sha256 = "119a3dfrri8qdbianml7i2fm6yr8rrq1q0cnpk9r8qsyja2vsvp7";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.6.0-darwin-amd64.tar.gz";
         sha256 = "11zhgrljwqkj3a200kdh8gyzvxm6jcbwm71929a87wqppgwvcbag";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.0-darwin-amd64.tar.gz";
-        sha256 = "1argvhm2jirjddi5hnp0rxa7710ixaj63lw8k2aq4xkascllm4lb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.1-darwin-amd64.tar.gz";
+        sha256 = "1n6w6da58crv2dyi0s7pjzjk3y85qlz6qaa77r0lm58f8wcj4a9d";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.2.2-darwin-amd64.tar.gz";
-        sha256 = "1shfz3qz92plxsn31kqsvzk6sibgbglq66j34w5aj98g2g5891f4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.3.0-darwin-amd64.tar.gz";
+        sha256 = "0whh7br959dc4hz47iskgkcxf4d6zg9lv9jvx1b9lyplra7iwyv0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.0-darwin-amd64.tar.gz";
-        sha256 = "1ghghaq9svy7sv2s1j8b1qjah6aj7vwwdh9wd9agm4xdiillprhf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.1-darwin-amd64.tar.gz";
+        sha256 = "0l89yiwjs39nhicln0bbwb8j1dajc1r1gdbqrl3zjpq6mnhanphb";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.0-darwin-amd64.tar.gz";
-        sha256 = "08b3lyyf8zjkn9jaw4l0yb741i6kqhfb7cbwshrwqh6l3yh7kc2y";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.1-darwin-amd64.tar.gz";
+        sha256 = "1gxk3gcyqk688m9dv2p4flbm1dw0z9478xip6jqaiw4awkrzbnns";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-darwin-amd64.tar.gz";
@@ -321,12 +321,12 @@
     ];
     aarch64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.29.1-linux-arm64.tar.gz";
-        sha256 = "0px1nkji1pshxnbgfsnr0zr142j736vf6icm4aq0aq01llzq4adf";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.31.0-linux-arm64.tar.gz";
+        sha256 = "1p3c7ks1q6i9frz8ljjf7jn00sr6bgqm53hxxwxkim7hkr614ndp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.0-linux-arm64.tar.gz";
-        sha256 = "14g4kz6czw886znasl5pw7l2ar84h1dljkalgs9vaxszyhdr7mnw";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.1-linux-arm64.tar.gz";
+        sha256 = "0c55b6jn7xxkvpcbgc4l8nxbjpdlpy6xhrk8j65ch27jhn3nwags";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v2.9.0-linux-arm64.tar.gz";
@@ -345,20 +345,20 @@
         sha256 = "0j5wa27zhqf4vvpxgs4cmay8n3a74jsif4sr9x60mhkrhr0s117k";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.1.3-linux-arm64.tar.gz";
-        sha256 = "0wbv2vj6gw251cnd4jbb71yp8vybikh0p4smm74acyscwphvjy5h";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.3.0-linux-arm64.tar.gz";
+        sha256 = "051lksfn7na30y6r7qn24wg222kf4bsvd26ga3y7i2xh00nh82kp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.19.0-linux-arm64.tar.gz";
-        sha256 = "1wxhpzrzn71f9p1zkzl073a74y28vwa8wj2rbh9vy041j68vya18";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.3.0-linux-arm64.tar.gz";
+        sha256 = "0g41dc6q42rr81167n4319llznjvb9i6zgfs5hrlxgz622grmax0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.3.1-linux-arm64.tar.gz";
-        sha256 = "0a6bmiz6ys1h6n59mw3w7b2g8rhbnr0rb40rwidazvkni0s03yha";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.21.0-linux-arm64.tar.gz";
+        sha256 = "1wyryxfmahcr668cp8kqc7l1spa6c1pzhxkwscd8payar78rswls";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.2.0-linux-arm64.tar.gz";
-        sha256 = "0faxw096gf86z1bcl7g613hmnnabpcav9kzmc0bgdl4jja3l9flp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.4.0-linux-arm64.tar.gz";
+        sha256 = "0w55pk3ham08lrg3vq0hg3p23qipz21ln01g61xd0cpl79aysbq4";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.6.0-linux-arm64.tar.gz";
@@ -389,8 +389,8 @@
         sha256 = "0qpan6zvny2h2ckigwnf4dhsgmnywam1m4d2jp0nj9pm3628pldv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.20.0-linux-arm64.tar.gz";
-        sha256 = "0rz1y61gg728l70rsk9mnd5qkdp3akxfdcfcmakabzs1axycvrzp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.21.0-linux-arm64.tar.gz";
+        sha256 = "0zwlr58wyd9aly58shffr24vsbna8bj2igl8l0j8gsf2g310n513";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.11.0-linux-arm64.tar.gz";
@@ -401,16 +401,16 @@
         sha256 = "0i6qxrdijf653nj6yqhdikbj3spzzwr5rbgngkc0v7yxkphlzlnj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.0-linux-arm64.tar.gz";
-        sha256 = "152qrcik44iz5lrfg649wmk67wcjdm4lnkwrc1gwhm34w0lrbarf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.1-linux-arm64.tar.gz";
+        sha256 = "1q5fxlrfiqlwib5bwwinmghq3j25rv14ldklpxihviyz1b5sdiyk";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-linux-arm64.tar.gz";
         sha256 = "1vrz3pm14i5zdmk3yibny2sghxk8kzwb2qi77mjbiyfhbvciy97q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.2-linux-arm64.tar.gz";
-        sha256 = "0k46bm706i76svmxb03w3vb7jw3j9gxknx1y5fv6drnrmbzxgazq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.3-linux-arm64.tar.gz";
+        sha256 = "1ydmpcf13yj8jiw72nzzvnzpg3qwnwfr8j2qhr2jdwp1wxw46658";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-linux-arm64.tar.gz";
@@ -433,36 +433,36 @@
         sha256 = "11y6vbmhrjqdlgzg9px1sm2p058v6mvk69gzhy2ix1c1a2sh6c56";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.4.2-linux-arm64.tar.gz";
-        sha256 = "1x8v39icapr8iakp9yd50md9dyvj63z7yj93cl3b07qlwr9lcvmv";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.5.0-linux-arm64.tar.gz";
+        sha256 = "16wshr4q9wfp7gi09n2c2ckvybg28adw429mghzmcs13aws1cycp";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.7.0-linux-arm64.tar.gz";
         sha256 = "0k5ic9i7cd6ccl3v20sj7jgpdrcc4bkv697p0pslb7i3fnhdcawf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.16.0-linux-arm64.tar.gz";
-        sha256 = "0ksya9nywimkm4jcd67ccaaxbvsxq747d21j8aywpwp3nwfl58wi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.17.0-linux-arm64.tar.gz";
+        sha256 = "1ssrqxf1gss0fcpffgh40hasbgh4cc4ysqkk0lxdl90avb7lf2zr";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.6.0-linux-arm64.tar.gz";
         sha256 = "10sb3lm8m90fwf20nqy6yzfwbxxlwf13hmygrqnyicvfmiajihkn";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.0-linux-arm64.tar.gz";
-        sha256 = "0nksi0ybjq0mwqiwwrnm4vifwjdjlyx6i446pyqm97wlph3ffg8h";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.1-linux-arm64.tar.gz";
+        sha256 = "0zkmkg9bivf5hlcbdj2aqyszpsqk7x8ag99z0x2yd00v72x2qcb5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.2.2-linux-arm64.tar.gz";
-        sha256 = "1km5fhlic0vidqijx8bfjr0h1w0wwl9zk60ydz86kdxpby4b2flb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.3.0-linux-arm64.tar.gz";
+        sha256 = "06djcfard6yq6qd98gbsnkry0jv3nnlgmwr90d818vbf923z0b1h";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.0-linux-arm64.tar.gz";
-        sha256 = "09rvvps2kijjr4r9h75xijpsxw5ar2gy3ncmrvjfyqx17zch92v6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.1-linux-arm64.tar.gz";
+        sha256 = "08rxnqdvpb7lrknhlnyhnfnvsmbdi7cxds7dc5zdslx27fcywz8a";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.0-linux-arm64.tar.gz";
-        sha256 = "1lh459lxa4gvxkbypmcm4hwcwcchkvs79ajlb9gvrm4ds68nm5xb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.1-linux-arm64.tar.gz";
+        sha256 = "1ivbdpls45zjzw4v2hi7g3zfhy0nlnnh026bkzzfnfan1isnpp87";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-linux-arm64.tar.gz";
@@ -479,12 +479,12 @@
     ];
     aarch64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.29.1-darwin-arm64.tar.gz";
-        sha256 = "03lljjak5rbin4chj6z22c21hzw9p5hdhskkcwl10h1x134j3gjr";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.31.0-darwin-arm64.tar.gz";
+        sha256 = "0ixqqvzigq9l8xr2rcdf1ln7a3xhf9f52qz0zkabr8kq7l11vz3v";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.0-darwin-arm64.tar.gz";
-        sha256 = "0kdljrsb5kk9i1xf1fk461fsb3vbjmcvzvgkjd3yp0xij3fac6al";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.1-darwin-arm64.tar.gz";
+        sha256 = "0l2xmaybgrbln3zgpdx6pmrg05hm08maigr62hpj2q6l8z06gsfk";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-akamai-v2.9.0-darwin-arm64.tar.gz";
@@ -503,20 +503,20 @@
         sha256 = "1qx9717a5qajn3dp4i0gswd2pb80dq98igfad9nbz1f9sbbax2dv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.1.3-darwin-arm64.tar.gz";
-        sha256 = "1a67ilb3sy3j53icz2njqz41ns4iylag9f95va061i08ip7fdlqm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.3.0-darwin-arm64.tar.gz";
+        sha256 = "0miqrbsivw7r4sw9q25lkn9z8fxq00sdx0l88agvzjp6rgsggbsl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.19.0-darwin-arm64.tar.gz";
-        sha256 = "0fi0yw7y3m0q11d6bi1di8rbnqqq0fk3gj33q14rkqgj2984vzrq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.3.0-darwin-arm64.tar.gz";
+        sha256 = "0nxmcssbsn2yqbndaz50xj7jmd7ynjak13yicmli0l7jcrw7ksyp";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.3.1-darwin-arm64.tar.gz";
-        sha256 = "0hlcfyxmjcq3axg35fx1dj081il60rqs7na0wx573gf028g6jj9v";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.21.0-darwin-arm64.tar.gz";
+        sha256 = "1a7psd9l3rpf6sfil3wjc55mfdz856h5ixnsbjkpjy9zfblv42nv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azure-v5.2.0-darwin-arm64.tar.gz";
-        sha256 = "09a6nxg66lv82zsis9axnch9slka136nsx43c2sqzmr5x5n11qww";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuredevops-v2.4.0-darwin-arm64.tar.gz";
+        sha256 = "0ivwpfhknhyidpafm2347g1pair7vk055ajhhyg631vizx53hrr9";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v4.6.0-darwin-arm64.tar.gz";
@@ -547,8 +547,8 @@
         sha256 = "0jj35mj57sivi5qsbwv8qm2jginppi192qlx6ashvgm352gia9r1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.20.0-darwin-arm64.tar.gz";
-        sha256 = "0ag3m8nnhni98cwaffj30ir8s94b8xvrjsbhn32lin1lnqwm1114";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.21.0-darwin-arm64.tar.gz";
+        sha256 = "0k3cyflqnf5n72lg02my28mmclacrnxpyjkakl4gj8qknsj7q94r";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.11.0-darwin-arm64.tar.gz";
@@ -559,16 +559,16 @@
         sha256 = "1gvzjf5mp3iy43srvx3blxfwcg20gqbqvycysnl2p8g8sg3scx5f";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.0-darwin-arm64.tar.gz";
-        sha256 = "04qjg2rd71375ny817h1l4174bafrhkl0d9n5qrp546dhaqmv6vr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.1-darwin-arm64.tar.gz";
+        sha256 = "0gjxk12z2ww31nhvnyvjgr0kxn80sn3i1x4a3f5w9mk7xc1y7bhk";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-darwin-arm64.tar.gz";
         sha256 = "058f1j40ar4xh860c3qrm0qaagm69fdmbw14avvrhsmw245cyyzc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.2-darwin-arm64.tar.gz";
-        sha256 = "0scmn5cx23g5ap31x93ybimyyx3sqwyz429881px2qdl3k4m75vw";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.3-darwin-arm64.tar.gz";
+        sha256 = "1smhffxxr9kfpx1czd5c2sx4srgnp2yafrqv7r4y7xqdxi92x2k0";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-darwin-arm64.tar.gz";
@@ -591,36 +591,36 @@
         sha256 = "14qp5vlmny68hjca1xykc06z2f740q1flkn9d7n2k6knzp1db9xq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.4.2-darwin-arm64.tar.gz";
-        sha256 = "1rbig2n5x2lzxpscnja0ya9a68z3jk0qz2zwdnzi66xy7i3zd39l";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.5.0-darwin-arm64.tar.gz";
+        sha256 = "1m6rbisrfh6im9l9c5kfmi0fqp1ndr8wayc33ay18yikrnpfiibj";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.7.0-darwin-arm64.tar.gz";
         sha256 = "0yqwxkd1rby0q7isxxyx1nn0vrz72znrms2d220haj1482gacj0a";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.16.0-darwin-arm64.tar.gz";
-        sha256 = "0wk8vdx3w5n60dbh2fjqmfxnc24cbrfxygsa211ckb2pcmmr93lm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.17.0-darwin-arm64.tar.gz";
+        sha256 = "1j985hv5qmjvmh4vr978z3d6bpmj4mg3pil57402rifgdz3q7i17";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.6.0-darwin-arm64.tar.gz";
         sha256 = "1j9128vmm70mhdhl8rxgz1p7vf6ywbaq906jldm0izr7yi119k76";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.0-darwin-arm64.tar.gz";
-        sha256 = "00gpa2qrqfjyj83k40q5rfszhip5bbqd8z3rkdgrc93kbmxh37s0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.1-darwin-arm64.tar.gz";
+        sha256 = "1vbbca4z6z92yk2y6g15s0cyvs5n6vx84h30ldnn4mn3gdfdi7gg";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.2.2-darwin-arm64.tar.gz";
-        sha256 = "1ln8qizgisnf1z98vyflid99d5pl1zryrj0hg995d1lf2r0dy35g";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.3.0-darwin-arm64.tar.gz";
+        sha256 = "16rnbbzx6fsck769sqghb9gqkkpl6vwbpczm8wrfa5ya90743mcm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.0-darwin-arm64.tar.gz";
-        sha256 = "1jfgphwcr3z31yyf36wh147spwdk82713m03kkahva11m6h4x6gm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.1-darwin-arm64.tar.gz";
+        sha256 = "0h423svxl2qfpgv4xl4kf3y2zsjz5lwndmvxjm9g8i01k9mn3v30";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.0-darwin-arm64.tar.gz";
-        sha256 = "0pgrlz8nx1gfgwlp5sk70w14z0hrxcwkv9xkzjc694nwlwk1ipm8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.1-darwin-arm64.tar.gz";
+        sha256 = "1iabwi9cf0pvfhhhxbhp8283bzhd58rwwfcrhgh1wh9kgr0icqlx";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-darwin-arm64.tar.gz";
diff --git a/pkgs/tools/admin/pulumi/update.sh b/pkgs/tools/admin/pulumi/update.sh
index f050b34e9bc..fadc64cf1df 100755
--- a/pkgs/tools/admin/pulumi/update.sh
+++ b/pkgs/tools/admin/pulumi/update.sh
@@ -8,9 +8,11 @@ if [ -z "${GITHUB_TOKEN}" ]; then
   exit 1
 fi
 
+SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
+
 # Version of Pulumi from
 # https://www.pulumi.com/docs/get-started/install/versions/
-VERSION="3.29.1"
+VERSION="3.31.0"
 
 # An array of plugin names. The respective repository inside Pulumi's
 # Github organization is called pulumi-$name by convention.
@@ -157,4 +159,4 @@ EOF
   echo "  };"
   echo "}"
 
-} > data.nix
+} > "${SCRIPT_DIR}/data.nix"
diff --git a/pkgs/tools/admin/scaleway-cli/default.nix b/pkgs/tools/admin/scaleway-cli/default.nix
index 75e14391736..f080a3f1d47 100644
--- a/pkgs/tools/admin/scaleway-cli/default.nix
+++ b/pkgs/tools/admin/scaleway-cli/default.nix
@@ -13,6 +13,16 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-aaYS0WqNa8997kdV38blUsYovtUHHtEUXCTG9vwv2ko=";
 
+  ldflags = [
+    "-w"
+    "-extldflags"
+    "-static"
+    "-X main.Version=${version}"
+    "-X main.GitCommit=ref/tags/${version}"
+    "-X main.GitBranch=HEAD"
+    "-X main.BuildDate=unknown"
+  ];
+
   # some tests require network access to scaleway's API, failing when sandboxed
   doCheck = false;
 
diff --git a/pkgs/tools/admin/ssh-import-id/default.nix b/pkgs/tools/admin/ssh-import-id/default.nix
index 031bb316ca5..e4202033b99 100644
--- a/pkgs/tools/admin/ssh-import-id/default.nix
+++ b/pkgs/tools/admin/ssh-import-id/default.nix
@@ -4,6 +4,7 @@
 , requests
 , distro
 , makeWrapper
+, installShellFiles
 , extraHandlers ? []
 }:
 
@@ -24,15 +25,20 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     makeWrapper
+    installShellFiles
   ];
 
+  postInstall = ''
+    installManPage $src/usr/share/man/man1/ssh-import-id.1
+  '';
+
   # handlers require main bin, main bin requires handlers
   makeWrapperArgs = [ "--prefix" ":" "$out/bin" ];
 
   meta = with lib; {
     description = "Retrieves an SSH public key and installs it locally";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ mkg20001 ];
+    maintainers = with maintainers; [ mkg20001 viraptor ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/admin/stripe-cli/default.nix b/pkgs/tools/admin/stripe-cli/default.nix
index e3241aacab6..a02e34df631 100644
--- a/pkgs/tools/admin/stripe-cli/default.nix
+++ b/pkgs/tools/admin/stripe-cli/default.nix
@@ -1,27 +1,68 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles, stdenv }:
 
 buildGoModule rec {
   pname = "stripe-cli";
-  version = "1.8.4";
+  version = "1.8.8";
 
   src = fetchFromGitHub {
     owner = "stripe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-TP366SozSNfxUGYXIOObfIul0BhQtIGQYZLwH/TPFs0=";
+    sha256 = "sha256-frVQ2nqOflY26ZZWVYJGMNMOdbLuIojQDu/79kLilBk=";
   };
-
   vendorSha256 = "sha256-1c+YtfRy1ey0z117YHHkrCnpb7g+DmM+LR1rjn1YwMQ=";
 
-  subPackages = [
-    "cmd/stripe"
+  nativeBuildInputs = [ installShellFiles ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/stripe/stripe-cli/pkg/version.Version=${version}"
   ];
 
+  preCheck = ''
+    # the tests expect the Version ldflag not to be set
+    unset ldflags
+  '' + lib.optionalString (
+      # delete plugin tests on all platforms but exact matches
+      # https://github.com/stripe/stripe-cli/issues/850
+      ! lib.lists.any
+        (platform: lib.meta.platformMatch stdenv.hostPlatform platform)
+        [ "x86_64-linux" "x86_64-darwin" ]
+  ) ''
+    rm pkg/plugins/plugin_test.go
+  '';
+
+  postInstall = ''
+    installShellCompletion --cmd stripe \
+      --bash <($out/bin/stripe completion --write-to-stdout --shell bash) \
+      --zsh <($out/bin/stripe completion --write-to-stdout --shell zsh)
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/stripe --help
+    $out/bin/stripe --version | grep "${version}"
+    runHook postInstallCheck
+  '';
+
   meta = with lib; {
     homepage = "https://stripe.com/docs/stripe-cli";
+    changelog = "https://github.com/stripe/stripe-cli/releases/tag/v${version}";
     description = "A command-line tool for Stripe";
+    longDescription = ''
+      The Stripe CLI helps you build, test, and manage your Stripe integration
+      right from the terminal.
+
+      With the CLI, you can:
+      Securely test webhooks without relying on 3rd party software
+      Trigger webhook events or resend events for easy testing
+      Tail your API request logs in real-time
+      Create, retrieve, update, or delete API objects.
+    '';
     license = with licenses; [ asl20 ];
-    maintainers = with maintainers; [ RaghavSood ];
+    maintainers = with maintainers; [ RaghavSood jk ];
     mainProgram = "stripe";
   };
 }
diff --git a/pkgs/tools/admin/syft/default.nix b/pkgs/tools/admin/syft/default.nix
index 11c748f5d64..0f7d3806182 100644
--- a/pkgs/tools/admin/syft/default.nix
+++ b/pkgs/tools/admin/syft/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "syft";
-  version = "0.44.1";
+  version = "0.45.1";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kDTTOc2sPCKWGeVuXlGhOo2dHjBZ1QEE7jAEVs4a70U=";
+    sha256 = "sha256-oexsu52x9rAqwTVxTVHzKPuaIfvg5lvvuBmKcnb2Yew=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -20,7 +20,7 @@ buildGoModule rec {
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorSha256 = "sha256-ZWJzMDfCop5IT6mOvCWdtjGjVrZJxyM0z7iK3TiO+PI=";
+  vendorSha256 = "sha256-d6ZBWX4/lgh610fBLTE1EUqZmpctLfxi2PSRifH+1jg=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix
index 1824265b84a..f5cd6f03b96 100644
--- a/pkgs/tools/admin/tigervnc/default.nix
+++ b/pkgs/tools/admin/tigervnc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub
+{ lib, stdenv, fetchFromGitHub, fetchpatch
 , xorg, xkeyboard_config, zlib
 , libjpeg_turbo, pixman, fltk
 , cmake, gettext, libtool
@@ -23,11 +23,22 @@ stdenv.mkDerivation rec {
   };
 
 
+  patches = [
+    (fetchpatch {
+      url = "https://patch-diff.githubusercontent.com/raw/TigerVNC/tigervnc/pull/1383.patch";
+      sha256 = "sha256-r3QLtxVD0wIv2NWVN9r0LVxSlLurDHgkAZfkpIjmZyU=";
+      name = "Xvnc-support-Xorg-1.21-PR1383.patch";
+    })
+  ];
+
   postPatch = ''
     sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -xkbdir ${xkeyboard_config}/etc/X11/xkb";' unix/vncserver/vncserver.in
     fontPath=
     substituteInPlace vncviewer/vncviewer.cxx \
        --replace '"/usr/bin/ssh' '"${openssh}/bin/ssh'
+
+    cp unix/xserver21.1.1.patch unix/xserver211.patch
+    source_top="$(pwd)"
   '';
 
   dontUseCmakeBuildDir = true;
@@ -46,7 +57,7 @@ stdenv.mkDerivation rec {
     cp -R xorg*/* unix/xserver
     pushd unix/xserver
     version=$(echo ${xorg.xorgserver.name} | sed 's/.*-\([0-9]\+\).\([0-9]\+\).*/\1\2/g')
-    patch -p1 < ${src}/unix/xserver$version.patch
+    patch -p1 < "$source_top/unix/xserver$version.patch"
     autoreconf -vfi
     ./configure $configureFlags  --disable-devel-docs --disable-docs \
         --disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix
index c9595286173..66b99c79453 100644
--- a/pkgs/tools/admin/trivy/default.nix
+++ b/pkgs/tools/admin/trivy/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.26.0";
+  version = "0.27.1";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Se42a9Q76LsMk6b04P2C2sWSZ2UgfnQrpJUC2gwdCwY=";
+    sha256 = "sha256-eyvxBpGuOXicuqINYhl4/fUgN/j+Awe5vgMaMxtAMr0=";
   };
 
-  vendorSha256 = "sha256-y/7KhDx6p+n6nvFHWcvGbvOWsXvvL81jOgfjxsL/JDg=";
+  vendorSha256 = "sha256-91tq4ipi3JobVgffASn8KRd3JQkgbOx/7PsjKq5vJdE=";
 
   excludedPackages = "misc";
 
diff --git a/pkgs/tools/admin/winbox/default.nix b/pkgs/tools/admin/winbox/default.nix
index c845d890ce5..ae55eb4ed69 100644
--- a/pkgs/tools/admin/winbox/default.nix
+++ b/pkgs/tools/admin/winbox/default.nix
@@ -70,7 +70,7 @@ symlinkJoin {
     homepage = "https://mikrotik.com";
     downloadPage = "https://mikrotik.com/download";
     changelog = "https://wiki.mikrotik.com/wiki/Winbox_changelog";
-    license = licenses.gpl3Plus;
+    license = licenses.unfree;
     maintainers = with maintainers; [ yrd ];
   };
 }
diff --git a/pkgs/tools/archivers/7zz/default.nix b/pkgs/tools/archivers/7zz/default.nix
index 03c95378a0a..b734232ca05 100644
--- a/pkgs/tools/archivers/7zz/default.nix
+++ b/pkgs/tools/archivers/7zz/default.nix
@@ -12,7 +12,7 @@
 
   # For tests
 , _7zz
-, testVersion
+, testers
 }:
 
 let
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = ./update.sh;
-    tests.version = testVersion {
+    tests.version = testers.testVersion {
       package = _7zz;
       command = "7zz --help";
     };
diff --git a/pkgs/tools/archivers/bomutils/default.nix b/pkgs/tools/archivers/bomutils/default.nix
index c4ff957135f..90a97af0367 100644
--- a/pkgs/tools/archivers/bomutils/default.nix
+++ b/pkgs/tools/archivers/bomutils/default.nix
@@ -18,6 +18,11 @@ stdenv.mkDerivation rec {
     "CXX=${stdenv.cc.targetPrefix}c++"
   ];
 
+  # fix
+  # src/lsbom.cpp:70:10: error: reference to 'data' is ambiguous
+  # which refers to std::data from C++17
+  NIX_CFLAGS_COMPILE = [ "-std=c++14" ];
+
   meta = with lib; {
     homepage = "https://github.com/hogliux/bomutils";
     description = "Open source tools to create bill-of-materials files used in macOS installers";
diff --git a/pkgs/tools/archivers/gbl/default.nix b/pkgs/tools/archivers/gbl/default.nix
new file mode 100644
index 00000000000..266b0830d5c
--- /dev/null
+++ b/pkgs/tools/archivers/gbl/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, fetchpatch
+, pkg-config
+, openssl
+, testers
+, gbl
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "gbl";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "dac-gmbh";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-Xzx14fvYWTZYM9Pnowf1M3D0PTPRLwsXHUj/PJskRWw=";
+  };
+
+  cargoPatches = [
+    # Upstream does not include Cargo.lock, even though this is recommended for applications.
+    # This patch adds it. https://github.com/dac-gmbh/gbl/pull/62
+    (fetchpatch {
+      url = "https://github.com/raboof/gbl/commit/99078da334c6e1ffd8189c691bbc711281fae5cc.patch";
+      sha256 = "sha256-sAKkn4//8P87ZJ6NTHm2NUJH1sAFFwfrybv2QtQ3nnM=";
+    })
+  ];
+
+  cargoSha256 = "sha256-RUZ6wswRtV8chq3+bY9LTRf6IYMbZ9/GPl2X5UcF7d8=";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ openssl ];
+
+  passthru.tests.version =
+    testers.testVersion { package = gbl; };
+
+  meta = with lib; {
+    description = "GBL Firmware file manipulation";
+    longDescription = ''
+      Utility to read, create and manipulate `.gbl` firmware update
+      files targeting the Silicon Labs Gecko Bootloader.
+    '';
+    homepage = "https://github.com/dac-gmbh/gbl";
+    license = licenses.mit;
+    maintainers = [ maintainers.raboof ];
+  };
+}
diff --git a/pkgs/tools/archivers/quickbms/default.nix b/pkgs/tools/archivers/quickbms/default.nix
index 7846f18a174..d2f39ac2cf1 100644
--- a/pkgs/tools/archivers/quickbms/default.nix
+++ b/pkgs/tools/archivers/quickbms/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     description = "Universal script based file extractor and reimporter";
     homepage = "https://aluigi.altervista.org/quickbms.htm";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ samuelgrf ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index b4a5420aa9c..cd2661128a9 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2022.04.06";
+  version = "2022.04.28";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    hash = "sha256-s1LFiwFXQsodQdGvgNy7pgXhsWYHw7lVhRXuNYHnvNQ=";
+    hash = "sha256-a/zFCxdy+GTh5daZO7QBHWeeJ1dead3Dn7dk02jBnc0=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/audio/headset-charge-indicator/default.nix b/pkgs/tools/audio/headset-charge-indicator/default.nix
new file mode 100644
index 00000000000..2e4f6318519
--- /dev/null
+++ b/pkgs/tools/audio/headset-charge-indicator/default.nix
@@ -0,0 +1,63 @@
+{ lib, stdenv, fetchFromGitHub, headsetcontrol, wrapGAppsHook, python3, gtk3
+, gobject-introspection, libayatana-appindicator-gtk3 }:
+
+stdenv.mkDerivation rec {
+  # The last versioned release is 1.0.0.0 from 2020, since then there were updates but no versioned release.
+  # This is not marked unstable because upstream encourages installation from source.
+  pname = "headset-charge-indicator";
+  version = "2021-08-15";
+
+  src = fetchFromGitHub {
+    owner = "centic9";
+    repo = "headset-charge-indicator";
+    rev = "6e20f81a4d6118c7385b831044c468af83103193";
+    sha256 = "sha256-eaAbqeFY+B3CcKJywC3vaRsWZNQENTbALc7L7uW0W6U=";
+  };
+
+  nativeBuildInputs = [ wrapGAppsHook ];
+
+  buildInputs = [
+    (python3.withPackages (ps: with ps; [ pygobject3 ]))
+    headsetcontrol
+    gtk3
+    gobject-introspection
+    libayatana-appindicator-gtk3
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp $src/headset-charge-indicator.py $out/bin/headset-charge-indicator.py
+    chmod +x $out/bin/headset-charge-indicator.py
+
+    substituteInPlace \
+      $out/bin/headset-charge-indicator.py \
+      --replace "default='headsetcontrol'" "default='${headsetcontrol}/bin/headsetcontrol'"
+
+    cat << EOF > ${pname}.desktop
+    [Desktop Entry]
+    Name=Wireless headset app-indicator
+    Categories=Application;System
+    Exec=$out/bin/headset-charge-indicator.py
+    Terminal=false
+    Type=Application
+    X-GNOME-AutoRestart=true
+    X-GNOME-Autostart-enabled=true
+    EOF
+
+    mkdir -p $out/share/applications
+    mkdir -p $out/etc/xdg/autostart
+    cp ${pname}.desktop $out/share/applications/${pname}.desktop
+    cp ${pname}.desktop $out/etc/xdg/autostart/${pname}.desktop
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/centic9/headset-charge-indicator";
+    description =
+      "A app-indicator for GNOME desktops for controlling some features of various wireless headsets";
+    longDescription =
+      "A simple app-indicator for GNOME desktops to display the battery charge of some wireless headsets which also allows to control some functions like LEDs, sidetone and others.";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ zebreus ];
+    license = licenses.bsd2;
+  };
+}
diff --git a/pkgs/tools/audio/mictray/default.nix b/pkgs/tools/audio/mictray/default.nix
new file mode 100644
index 00000000000..e757bac9668
--- /dev/null
+++ b/pkgs/tools/audio/mictray/default.nix
@@ -0,0 +1,53 @@
+{ fetchFromGitHub
+, gtk3
+, lib
+, libgee
+, libnotify
+, meson
+, ninja
+, pkg-config
+, pulseaudio
+, stdenv
+, vala
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mictray";
+  version = "0.2.5";
+
+  src = fetchFromGitHub {
+    owner = "Junker";
+    repo = "mictray";
+    rev = "1f879aeda03fbe87ae5a761f46c042e09912e1c0";
+    sha256 = "0achj6r545c1sigls79c8qdzryz3sgldcyzd3pwak1ymim9i9c74";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    vala
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+    libgee
+    libnotify
+    pulseaudio
+  ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/Junker/mictray";
+    description = "System tray application for microphone";
+    longDescription = ''
+      MicTray is a Lightweight system tray application which lets you control the microphone state and volume.
+    '';
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.anpryl ];
+  };
+}
diff --git a/pkgs/tools/audio/mpdsync/default.nix b/pkgs/tools/audio/mpdsync/default.nix
deleted file mode 100644
index c89404fbba1..00000000000
--- a/pkgs/tools/audio/mpdsync/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, python2, fetchFromGitHub }:
-with python2.pkgs;
-stdenv.mkDerivation {
-  pname = "mpdsync";
-  version = "unstable-2017-06-15";
-
-  src = fetchFromGitHub {
-    owner = "alphapapa";
-    repo = "mpdsync";
-    rev = "da90058f44dd9578cc5f2fb96a1fb2b26da40d07";
-    sha256 = "1mfg3ipqj5dvyyqbgp6ia6sc1ja5gmm2c9mfrwx0jw2dl182if6q";
-  };
-
-  pythonPath = [ mpd2 ];
-
-  nativeBuildInputs = [
-    wrapPython
-  ];
-
-  dontBuild = true;
-
-  installPhase = "install -D mpdsync.py $out/bin/mpdsync";
-  postFixup = "wrapPythonPrograms";
-
-}
diff --git a/pkgs/tools/audio/yabridge/default.nix b/pkgs/tools/audio/yabridge/default.nix
index 40c3b594dc9..eb897f839a8 100644
--- a/pkgs/tools/audio/yabridge/default.nix
+++ b/pkgs/tools/audio/yabridge/default.nix
@@ -1,7 +1,6 @@
 { lib
 , multiStdenv
 , fetchFromGitHub
-, fetchpatch
 , substituteAll
 , pkgsi686Linux
 , libnotify
@@ -49,14 +48,14 @@ let
   };
 in multiStdenv.mkDerivation rec {
   pname = "yabridge";
-  version = "3.8.0";
+  version = "3.8.1";
 
   # NOTE: Also update yabridgectl's cargoHash when this is updated
   src = fetchFromGitHub {
     owner = "robbert-vdh";
     repo = pname;
     rev = version;
-    sha256 = "sha256-XacJjHxsp60/l36pFPGonUyOsyFF2lmqplAaisHXZDY=";
+    sha256 = "sha256-5Mi/aIjOKbn7guTj+AKGQRv+k7w4gzfdA9Mw4ocUlOE=";
   };
 
   # Unpack subproject sources
@@ -78,14 +77,6 @@ in multiStdenv.mkDerivation rec {
       libxcb32 = pkgsi686Linux.xorg.libxcb;
       inherit libnotify wine;
     })
-    # Remove with next yabridge update
-   (fetchpatch {
-      name = "fix-for-wine-7.1.patch";
-      url = "https://github.com/robbert-vdh/yabridge/commit/de470d345ab206b08f6d4a147b6af1d285a4211f.patch";
-      sha256 = "sha256-xJx1zvxD+DIjbkm7Ovoy4RaAvjx936/j/7AYUPh/kOo=";
-      includes = [ "src/wine-host/xdnd-proxy.cpp" ];
-    })
-
   ];
 
   postPatch = ''
diff --git a/pkgs/tools/audio/yabridge/hardcode-dependencies.patch b/pkgs/tools/audio/yabridge/hardcode-dependencies.patch
index 9f6bc0c9a9d..16385db69e9 100644
--- a/pkgs/tools/audio/yabridge/hardcode-dependencies.patch
+++ b/pkgs/tools/audio/yabridge/hardcode-dependencies.patch
@@ -1,5 +1,5 @@
 diff --git a/meson.build b/meson.build
-index 95ecb728..cb30f3af 100644
+index c71d4fdb..b3f381ba 100644
 --- a/meson.build
 +++ b/meson.build
 @@ -201,6 +201,7 @@ if with_32bit_libraries or with_bitbridge
@@ -20,7 +20,7 @@ index 95ecb728..cb30f3af 100644
  
  # These are all headers-only libraries, and thus won't require separate 32-bit
 diff --git a/src/plugin/utils.cpp b/src/plugin/utils.cpp
-index 1a457f03..20ca1e63 100644
+index fc2c8b25..c73249e3 100644
 --- a/src/plugin/utils.cpp
 +++ b/src/plugin/utils.cpp
 @@ -107,7 +107,7 @@ std::string PluginInfo::wine_version() const {
diff --git a/pkgs/tools/audio/yabridgectl/default.nix b/pkgs/tools/audio/yabridgectl/default.nix
index d2e8438e0c9..6ab94ef3630 100644
--- a/pkgs/tools/audio/yabridgectl/default.nix
+++ b/pkgs/tools/audio/yabridgectl/default.nix
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
 
   src = yabridge.src;
   sourceRoot = "source/tools/yabridgectl";
-  cargoSha256 = "sha256-pwy2Q2HUCihr7W81hGvDm9EiZHk9G8knSy0yxPy6hl8=";
+  cargoSha256 = "sha256-ducF55d5OvCwlNFtt2r6pG5e9VevM2AzHSvPnWvIp1Y=";
 
   patches = [
     # By default, yabridgectl locates libyabridge.so by using
diff --git a/pkgs/tools/backup/dar/default.nix b/pkgs/tools/backup/dar/default.nix
index 870c25462cf..b06a21c0239 100644
--- a/pkgs/tools/backup/dar/default.nix
+++ b/pkgs/tools/backup/dar/default.nix
@@ -9,12 +9,12 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "2.7.4";
+  version = "2.7.5";
   pname = "dar";
 
   src = fetchurl {
     url = "mirror://sourceforge/dar/${pname}-${version}.tar.gz";
-    sha256 = "sha256-esti2QXoq+5bic639eG96vZOSJboMVHmD+oRNAI6ic4=";
+    sha256 = "sha256-lfpJOomadV/oTJsOloH1rYF5Wy3kVr+EBUvqZ+xaCWY=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/tools/backup/discordchatexporter-cli/default.nix b/pkgs/tools/backup/discordchatexporter-cli/default.nix
index 8e98ea3c7c2..96de897c5f3 100644
--- a/pkgs/tools/backup/discordchatexporter-cli/default.nix
+++ b/pkgs/tools/backup/discordchatexporter-cli/default.nix
@@ -2,7 +2,7 @@
 , buildDotnetModule
 , fetchFromGitHub
 , dotnetCorePackages
-, testVersion
+, testers
 , discordchatexporter-cli
 }:
 
@@ -29,7 +29,7 @@ buildDotnetModule rec {
 
   passthru = {
     updateScript = ./updater.sh;
-    tests.version = testVersion {
+    tests.version = testers.testVersion {
       package = discordchatexporter-cli;
       version = "v${version}";
     };
diff --git a/pkgs/tools/backup/duply/default.nix b/pkgs/tools/backup/duply/default.nix
index 49ac6452918..1db9ef848fa 100644
--- a/pkgs/tools/backup/duply/default.nix
+++ b/pkgs/tools/backup/duply/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchurl, coreutils, python2, duplicity, gawk, gnupg, bash
+{ lib, stdenv, fetchurl, coreutils, python3, duplicity, gawk, gnupg, bash
 , gnugrep, txt2man, makeWrapper, which
 }:
 
 stdenv.mkDerivation rec {
   pname = "duply";
-  version = "2.3.1";
+  version = "2.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/2.3.x/duply_${version}.tgz";
-    sha256 = "149hb9bk7hm5h3aqf19k37d0i2jf0viaqmpq2997i48qp3agji7h";
+    url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/2.4.x/duply_${version}.tgz";
+    hash = "sha256-DCrp3o/ukzkfnVaLbIK84bmYnXvqKsvlkGn3GJY3iNg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/share/man/man1"
     install -vD duply "$out/bin"
     wrapProgram "$out/bin/duply" --set PATH \
-        ${lib.makeBinPath [ coreutils python2 duplicity gawk gnupg bash gnugrep txt2man which ]}
+        ${lib.makeBinPath [ coreutils python3 duplicity gawk gnupg bash gnugrep txt2man which ]}
     "$out/bin/duply" txt2man > "$out/share/man/man1/duply.1"
   '';
 
diff --git a/pkgs/tools/cd-dvd/ventoy-bin/default.nix b/pkgs/tools/cd-dvd/ventoy-bin/default.nix
index 5aeaffdb504..926c2247e2d 100644
--- a/pkgs/tools/cd-dvd/ventoy-bin/default.nix
+++ b/pkgs/tools/cd-dvd/ventoy-bin/default.nix
@@ -24,7 +24,7 @@ let
   }.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
 in stdenv.mkDerivation rec {
   pname = "ventoy-bin";
-  version = "1.0.72";
+  version = "1.0.74";
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper ]
     ++ lib.optional withQt5 qt5.wrapQtAppsHook;
@@ -40,13 +40,13 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/ventoy/Ventoy/releases/download/v${version}/ventoy-${version}-linux.tar.gz";
-    sha256 = "sha256-1mfe6ZnqkeBNGNjI7Qx7jG5FLgfn6rVwr0VQvSOG7Ow=";
+    sha256 = "sha256-raoVbj1+6nSR4knq/FmgVpzXRV71Hrcqd8C6Zsi34Uo=";
   };
   patches = [
     (fetchpatch {
       name = "sanitize.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/sanitize.patch?h=19f8922b3d96c5ff55eeefc269ae43369a0748e8";
-      sha256 = "sha256-RDdxPCmrfNMwXNuJwQW48fAiJPbMjdHiBmF03fKqm2o=";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/sanitize.patch?h=057f2d1eb496c7a3aaa8229e99a7f709428fa4c5";
+      sha256 = "sha256-iAtLtM+Q4OsXDK83eCnPNomeNSEqdRLFfK2x7ybPSpk=";
     })
     ./fix-for-read-only-file-system.patch
     ./add-mips64.patch
@@ -82,7 +82,7 @@ in stdenv.mkDerivation rec {
         aarch64) rm -r {tool/,VentoyGUI.}{x86_64,i386,mips64el};;
         mips64el) rm -r {tool/,VentoyGUI.}{x86_64,i386,aarch64};;
     esac
-    rm README tool/VentoyWorker.sh.orig
+    rm README
     rm tool/"$ARCH"/Ventoy2Disk.gtk2 || true  # For aarch64 and mips64el.
 
     # Copy from "$src" to "$out".
@@ -106,10 +106,15 @@ in stdenv.mkDerivation rec {
     makeWrapper "$VENTOY_PATH/VentoyGUI.$ARCH" "$out/bin/ventoy-gui" \
                 --prefix PATH : "${lib.makeBinPath buildInputs}" \
                 --chdir "$VENTOY_PATH"
+    mkdir "$out"/share/{applications,pixmaps}
+    ln -s "$VENTOY_PATH"/WebUI/static/img/VentoyLogo.png "$out"/share/pixmaps/
+    cp ${./ventoy-gui.desktop} "$out"/share/applications/
   '' + lib.optionalString (!withGtk3) ''
-    rm "$VENTOY_PATH/tool/$ARCH/Ventoy2Disk.gtk3"
+    rm "$VENTOY_PATH"/tool/{"$ARCH"/Ventoy2Disk.gtk3,VentoyGTK.glade}
   '' + lib.optionalString (!withQt5) ''
     rm "$VENTOY_PATH/tool/$ARCH/Ventoy2Disk.qt5"
+  '' + lib.optionalString (!withGtk3 && !withQt5) ''
+    rm "$VENTOY_PATH"/VentoyGUI.*
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/cd-dvd/ventoy-bin/ventoy-gui.desktop b/pkgs/tools/cd-dvd/ventoy-bin/ventoy-gui.desktop
new file mode 100644
index 00000000000..a132f3bbf5a
--- /dev/null
+++ b/pkgs/tools/cd-dvd/ventoy-bin/ventoy-gui.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Categories=Utility;
+Comment=Tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files
+Exec=ventoy-gui
+Hidden=false
+Icon=VentoyLogo
+Name=Ventoy
+StartupNotify=true
+Terminal=false
+Type=Application
diff --git a/pkgs/tools/compression/pxz/default.nix b/pkgs/tools/compression/pxz/default.nix
index 0f509a3bd17..f61e80cbc06 100644
--- a/pkgs/tools/compression/pxz/default.nix
+++ b/pkgs/tools/compression/pxz/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, testVersion
+, testers
 , pxz
 , xz
 }:
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     "MANDIR=${placeholder "out"}/share/man"
   ];
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = pxz;
   };
 
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix
index b94f1d83394..bd8bf1adb9f 100644
--- a/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation {
   pname = "bcachefs-tools";
-  version = "unstable-2022-04-08";
+  version = "unstable-2022-05-02";
 
   src = fetchFromGitHub {
     owner = "koverstreet";
     repo = "bcachefs-tools";
-    rev = "986533d8d5b21c8eb512bbb3f0496d3d2a087c5d";
-    sha256 = "1qvb5l937nnls5j82ipgrdh6q5fk923z752rzzqqcms6fz7rrjs4";
+    rev = "6f5afc0c12bbf56ffdabe5b2c5297aef255c4baa";
+    sha256 = "0483zhm3gmk6fd1pn815i3fixwlwsnks3817gn7n3idbbw0kg5ng";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index 1162c4e69b1..678835bf7bf 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -9,7 +9,7 @@
 , gtest
 , cunit, snappy
 , makeWrapper
-, leveldb, oathToolkit
+, leveldb, oath-toolkit
 , libnl, libcap_ng
 , rdkafka
 , nixosTests
@@ -161,7 +161,7 @@ in rec {
     buildInputs = cryptoLibsMap.${cryptoStr} ++ [
       boost ceph-python-env libxml2 optYasm optLibatomic_ops optLibs3
       malloc zlib openldap lttng-ust babeltrace gperf gtest cunit
-      snappy lz4 oathToolkit leveldb libnl libcap_ng rdkafka
+      snappy lz4 oath-toolkit leveldb libnl libcap_ng rdkafka
       cryptsetup sqlite lua icu bzip2
     ] ++ lib.optionals stdenv.isLinux [
       linuxHeaders util-linux libuuid udev keyutils liburing optLibaio optLibxfs optZfs
diff --git a/pkgs/tools/filesystems/fuse-7z-ng/default.nix b/pkgs/tools/filesystems/fuse-7z-ng/default.nix
index 0367ed6037e..3efca6553a2 100644
--- a/pkgs/tools/filesystems/fuse-7z-ng/default.nix
+++ b/pkgs/tools/filesystems/fuse-7z-ng/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-7z-ng";
-  version = "git-2014-06-08";
+  version = "unstable-2014-06-08";
 
   src = fetchFromGitHub {
     owner = "kedazo";
diff --git a/pkgs/tools/filesystems/garage/default.nix b/pkgs/tools/filesystems/garage/default.nix
index 9d9f2535a04..8799ec5a3d2 100644
--- a/pkgs/tools/filesystems/garage/default.nix
+++ b/pkgs/tools/filesystems/garage/default.nix
@@ -1,4 +1,4 @@
-{ lib, rustPlatform, fetchFromGitea, protobuf, testVersion, garage }:
+{ lib, rustPlatform, fetchFromGitea, protobuf, testers, garage }:
 rustPlatform.buildRustPackage rec {
   pname = "garage";
   version = "0.7.0";
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [ protobuf ];
 
   passthru = {
-    tests.version = testVersion { package = garage; };
+    tests.version = testers.testVersion { package = garage; };
   };
 
   meta = {
diff --git a/pkgs/tools/filesystems/httm/default.nix b/pkgs/tools/filesystems/httm/default.nix
new file mode 100644
index 00000000000..5c0bc74245f
--- /dev/null
+++ b/pkgs/tools/filesystems/httm/default.nix
@@ -0,0 +1,32 @@
+{ lib, fetchFromGitHub, rustPlatform, installShellFiles }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "httm";
+  version = "0.9.0";
+
+  src = fetchFromGitHub {
+    owner = "kimono-koans";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-uqzwS7+OQsPdMv3+fWdn3yVFJwtFZNd8kVWw//mQZj8=";
+  };
+
+  cargoSha256 = "sha256-EC3E5NawsDe+CU5WEu0G3FWVLuqW5nXOoUURN0iDPK0=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installManPage httm.1
+
+    installShellCompletion --cmd httm \
+      --zsh scripts/httm-key-bindings.zsh
+  '';
+
+  meta = with lib; {
+    description = "Interactive, file-level ZFS Time Machine-like tool";
+    homepage = "https://github.com/kimono-koans/httm";
+    license = licenses.mpl20;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wyndon ];
+  };
+}
diff --git a/pkgs/tools/filesystems/irods/common.nix b/pkgs/tools/filesystems/irods/common.nix
index a7fdf9e2fb2..0bc16aa7fc5 100644
--- a/pkgs/tools/filesystems/irods/common.nix
+++ b/pkgs/tools/filesystems/irods/common.nix
@@ -1,11 +1,11 @@
-{ lib, stdenv, bzip2, zlib, autoconf, automake, cmake, gnumake, help2man, texinfo, libtool, cppzmq, libarchive
+{ lib, stdenv, bzip2, zlib, autoconf, automake, cmake, help2man, texinfo, libtool, cppzmq, libarchive
 , avro-cpp, boost, jansson, zeromq, openssl, pam, libiodbc, libkrb5, gcc, libcxx, which, catch2, nanodbc, fmt
 , nlohmann_json, spdlog }:
 
 # Common attributes of irods packages
 
 {
-  nativeBuildInputs = [ autoconf automake cmake gnumake help2man texinfo which gcc ];
+  nativeBuildInputs = [ autoconf automake cmake help2man texinfo which gcc ];
   buildInputs = [ bzip2 zlib libtool cppzmq libarchive avro-cpp jansson zeromq openssl pam libiodbc libkrb5 boost
                   libcxx catch2 nanodbc fmt nlohmann_json spdlog ];
 
diff --git a/pkgs/tools/filesystems/irods/default.nix b/pkgs/tools/filesystems/irods/default.nix
index 7931911b65f..afe1f2ffcd9 100644
--- a/pkgs/tools/filesystems/irods/default.nix
+++ b/pkgs/tools/filesystems/irods/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, bzip2, zlib, autoconf, automake, cmake, gnumake, help2man, texinfo, libtool, cppzmq
+{ lib, stdenv, fetchFromGitHub, bzip2, zlib, autoconf, automake, cmake, help2man, texinfo, libtool, cppzmq
 , libarchive, avro-cpp_llvm, boost, jansson, zeromq, openssl, pam, libiodbc, libkrb5, gcc, libcxx, which, catch2
 , nanodbc_llvm, fmt, nlohmann_json, spdlog }:
 
@@ -8,7 +8,7 @@ let
 in
 let
   common = import ./common.nix {
-    inherit lib stdenv bzip2 zlib autoconf automake cmake gnumake
+    inherit lib stdenv bzip2 zlib autoconf automake cmake
       help2man texinfo libtool cppzmq libarchive jansson
       zeromq openssl pam libiodbc libkrb5 gcc libcxx
       boost avro-cpp which catch2 nanodbc fmt nlohmann_json
@@ -99,4 +99,3 @@ rec {
     };
   });
 }
-
diff --git a/pkgs/tools/filesystems/rmfuse/default.nix b/pkgs/tools/filesystems/rmfuse/default.nix
index b7850f7023f..78bc6bd55c4 100644
--- a/pkgs/tools/filesystems/rmfuse/default.nix
+++ b/pkgs/tools/filesystems/rmfuse/default.nix
@@ -20,6 +20,24 @@ let
           };
         });
 
+        reportlab = let
+          ft = pkgs.freetype.overrideAttrs (oldArgs: { dontDisableStatic = true; });
+        in super.reportlab.overridePythonAttrs(old: {
+          postPatch = ''
+            substituteInPlace setup.py \
+              --replace "mif = findFile(d,'ft2build.h')" "mif = findFile('${lib.getDev ft}','ft2build.h')"
+          '';
+
+          NIX_CFLAGS_COMPILE = "-I${pkgs.freetype}/include/freetype2";
+
+          nativeBuildInputs = old.nativeBuildInputs ++ [
+            pkgs.pkg-config
+          ];
+          buildInputs = old.buildInputs ++ [
+            pkgs.freetype
+          ];
+        });
+
       })
     ];
   }).python.pkgs;
diff --git a/pkgs/tools/filesystems/rmfuse/poetry-git-overlay.nix b/pkgs/tools/filesystems/rmfuse/poetry-git-overlay.nix
index 8fa2bc7a010..2ee4f805fb2 100644
--- a/pkgs/tools/filesystems/rmfuse/poetry-git-overlay.nix
+++ b/pkgs/tools/filesystems/rmfuse/poetry-git-overlay.nix
@@ -5,8 +5,8 @@ self: super: {
     _: {
       src = pkgs.fetchgit {
         url = "https://github.com/rschroll/rmfuse.git";
-        rev = "fca03bcdd6dc118f2ba981410ec9dff7f7cb88ec";
-        sha256 = "0i7dvvi2bp3hydjpzvr7vg10bx0wxz87spf7pg455aga8d0qhxgk";
+        rev = "3796b8610c8a965a60a417fc0bf8ea5200b71fd2";
+        sha256 = "03qxy95jpk741b81bd38y51d4a0vynx2y1g662bci9r6m7l14yav";
       };
     }
   );
diff --git a/pkgs/tools/filesystems/rmfuse/poetry.lock b/pkgs/tools/filesystems/rmfuse/poetry.lock
index 920fbddd0b6..9dd2c1ae80c 100644
--- a/pkgs/tools/filesystems/rmfuse/poetry.lock
+++ b/pkgs/tools/filesystems/rmfuse/poetry.lock
@@ -39,36 +39,29 @@ python-versions = ">=3.5"
 
 [[package]]
 name = "attrs"
-version = "20.3.0"
+version = "21.4.0"
 description = "Classes Without Boilerplate"
 category = "main"
 optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 
 [package.extras]
-dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "furo", "sphinx", "pre-commit"]
-docs = ["furo", "sphinx", "zope.interface"]
-tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"]
-tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"]
+dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"]
+docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"]
+tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "cloudpickle"]
+tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "cloudpickle"]
 
 [[package]]
 name = "bidict"
-version = "0.21.2"
+version = "0.21.4"
 description = "The bidirectional mapping library for Python."
 category = "main"
 optional = false
 python-versions = ">=3.6"
 
-[package.extras]
-coverage = ["coverage (<6)", "pytest-cov (<3)"]
-dev = ["setuptools-scm", "hypothesis (<6)", "py (<2)", "pytest (<7)", "pytest-benchmark (>=3.2.0,<4)", "sortedcollections (<2)", "sortedcontainers (<3)", "Sphinx (<4)", "sphinx-autodoc-typehints (<2)", "coverage (<6)", "pytest-cov (<3)", "pre-commit (<3)", "tox (<4)"]
-docs = ["Sphinx (<4)", "sphinx-autodoc-typehints (<2)"]
-precommit = ["pre-commit (<3)"]
-test = ["hypothesis (<6)", "py (<2)", "pytest (<7)", "pytest-benchmark (>=3.2.0,<4)", "sortedcollections (<2)", "sortedcontainers (<3)", "Sphinx (<4)", "sphinx-autodoc-typehints (<2)"]
-
 [[package]]
 name = "cffi"
-version = "1.14.5"
+version = "1.15.0"
 description = "Foreign Function Interface for Python calling C code."
 category = "main"
 optional = false
@@ -79,11 +72,11 @@ pycparser = "*"
 
 [[package]]
 name = "cssselect2"
-version = "0.4.1"
-description = "cssselect2"
+version = "0.6.0"
+description = "CSS selectors for Python ElementTree"
 category = "main"
 optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
 
 [package.dependencies]
 tinycss2 = "*"
@@ -95,7 +88,7 @@ test = ["pytest", "pytest-cov", "pytest-flake8", "pytest-isort", "coverage"]
 
 [[package]]
 name = "h11"
-version = "0.12.0"
+version = "0.13.0"
 description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
 category = "main"
 optional = false
@@ -103,15 +96,15 @@ python-versions = ">=3.6"
 
 [[package]]
 name = "idna"
-version = "3.1"
+version = "3.3"
 description = "Internationalized Domain Names in Applications (IDNA)"
 category = "main"
 optional = false
-python-versions = ">=3.4"
+python-versions = ">=3.5"
 
 [[package]]
 name = "lxml"
-version = "4.6.2"
+version = "4.8.0"
 description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API."
 category = "main"
 optional = false
@@ -144,15 +137,19 @@ python-versions = "*"
 
 [[package]]
 name = "pillow"
-version = "8.1.2"
+version = "9.1.0"
 description = "Python Imaging Library (Fork)"
 category = "main"
 optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
+
+[package.extras]
+docs = ["olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-issues (>=3.0.1)", "sphinx-removed-in", "sphinx-rtd-theme (>=1.0)", "sphinxext-opengraph"]
+tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"]
 
 [[package]]
 name = "pycparser"
-version = "2.20"
+version = "2.21"
 description = "C parser in Python"
 category = "main"
 optional = false
@@ -160,7 +157,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
 [[package]]
 name = "pyfuse3"
-version = "3.2.0"
+version = "3.2.1"
 description = "Python 3 bindings for libfuse 3 with async I/O support"
 category = "main"
 optional = false
@@ -171,11 +168,11 @@ trio = ">=0.15"
 
 [[package]]
 name = "reportlab"
-version = "3.5.65"
+version = "3.6.9"
 description = "The Reportlab Toolkit"
 category = "main"
 optional = false
-python-versions = ">=2.7, >=3.6, <4"
+python-versions = ">=3.7, <4"
 
 [package.dependencies]
 pillow = ">=4.0.0"
@@ -185,7 +182,7 @@ rlpycairo = ["rlPyCairo (>=0.0.5)"]
 
 [[package]]
 name = "rmcl"
-version = "0.4.0"
+version = "0.4.2"
 description = "reMarkable Cloud Library"
 category = "main"
 optional = false
@@ -198,7 +195,7 @@ xdg = ">=5.0.1,<6.0.0"
 
 [[package]]
 name = "rmfuse"
-version = "0.2.1"
+version = "0.2.3"
 description = ""
 category = "main"
 optional = false
@@ -208,7 +205,7 @@ develop = false
 [package.dependencies]
 bidict = "^0.21.2"
 pyfuse3 = {version = "^3.2.0", optional = true}
-rmcl = "^0.4.0"
+rmcl = "^0.4.2"
 rmrl = "^0.2.1"
 xdg = "^5.0.1"
 
@@ -220,7 +217,7 @@ llfuse = ["llfuse (>=1.4.1,<2.0.0)"]
 type = "git"
 url = "https://github.com/rschroll/rmfuse.git"
 reference = "master"
-resolved_reference = "fca03bcdd6dc118f2ba981410ec9dff7f7cb88ec"
+resolved_reference = "3796b8610c8a965a60a417fc0bf8ea5200b71fd2"
 
 [[package]]
 name = "rmrl"
@@ -246,7 +243,7 @@ python-versions = ">=3.5"
 
 [[package]]
 name = "sortedcontainers"
-version = "2.3.0"
+version = "2.4.0"
 description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set"
 category = "main"
 optional = false
@@ -254,11 +251,11 @@ python-versions = "*"
 
 [[package]]
 name = "svglib"
-version = "1.0.1"
+version = "1.2.1"
 description = "A pure-Python library for reading and converting SVG"
 category = "main"
 optional = false
-python-versions = ">=3"
+python-versions = ">=3.7"
 
 [package.dependencies]
 cssselect2 = ">=0.2.0"
@@ -268,8 +265,8 @@ tinycss2 = ">=0.6.0"
 
 [[package]]
 name = "tinycss2"
-version = "1.1.0"
-description = "tinycss2"
+version = "1.1.1"
+description = "A tiny CSS parser"
 category = "main"
 optional = false
 python-versions = ">=3.6"
@@ -308,7 +305,7 @@ python-versions = "*"
 
 [[package]]
 name = "xdg"
-version = "5.0.1"
+version = "5.1.1"
 description = "Variables defined by the XDG Base Directory Specification"
 category = "main"
 optional = false
@@ -332,102 +329,139 @@ async-generator = [
     {file = "async_generator-1.10.tar.gz", hash = "sha256:6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144"},
 ]
 attrs = [
-    {file = "attrs-20.3.0-py2.py3-none-any.whl", hash = "sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6"},
-    {file = "attrs-20.3.0.tar.gz", hash = "sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700"},
+    {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"},
+    {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"},
 ]
 bidict = [
-    {file = "bidict-0.21.2-py2.py3-none-any.whl", hash = "sha256:929d056e8d0d9b17ceda20ba5b24ac388e2a4d39802b87f9f4d3f45ecba070bf"},
-    {file = "bidict-0.21.2.tar.gz", hash = "sha256:4fa46f7ff96dc244abfc437383d987404ae861df797e2fd5b190e233c302be09"},
+    {file = "bidict-0.21.4-py3-none-any.whl", hash = "sha256:3ac67daa353ecf853a1df9d3e924f005e729227a60a8dbada31a4c31aba7f654"},
+    {file = "bidict-0.21.4.tar.gz", hash = "sha256:42c84ffbe6f8de898af6073b4be9ea7ccedcd78d3474aa844c54e49d5a079f6f"},
 ]
 cffi = [
-    {file = "cffi-1.14.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991"},
-    {file = "cffi-1.14.5-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:34eff4b97f3d982fb93e2831e6750127d1355a923ebaeeb565407b3d2f8d41a1"},
-    {file = "cffi-1.14.5-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:99cd03ae7988a93dd00bcd9d0b75e1f6c426063d6f03d2f90b89e29b25b82dfa"},
-    {file = "cffi-1.14.5-cp27-cp27m-win32.whl", hash = "sha256:65fa59693c62cf06e45ddbb822165394a288edce9e276647f0046e1ec26920f3"},
-    {file = "cffi-1.14.5-cp27-cp27m-win_amd64.whl", hash = "sha256:51182f8927c5af975fece87b1b369f722c570fe169f9880764b1ee3bca8347b5"},
-    {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:43e0b9d9e2c9e5d152946b9c5fe062c151614b262fda2e7b201204de0b99e482"},
-    {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:cbde590d4faaa07c72bf979734738f328d239913ba3e043b1e98fe9a39f8b2b6"},
-    {file = "cffi-1.14.5-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:5de7970188bb46b7bf9858eb6890aad302577a5f6f75091fd7cdd3ef13ef3045"},
-    {file = "cffi-1.14.5-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:a465da611f6fa124963b91bf432d960a555563efe4ed1cc403ba5077b15370aa"},
-    {file = "cffi-1.14.5-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:d42b11d692e11b6634f7613ad8df5d6d5f8875f5d48939520d351007b3c13406"},
-    {file = "cffi-1.14.5-cp35-cp35m-win32.whl", hash = "sha256:72d8d3ef52c208ee1c7b2e341f7d71c6fd3157138abf1a95166e6165dd5d4369"},
-    {file = "cffi-1.14.5-cp35-cp35m-win_amd64.whl", hash = "sha256:29314480e958fd8aab22e4a58b355b629c59bf5f2ac2492b61e3dc06d8c7a315"},
-    {file = "cffi-1.14.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:3d3dd4c9e559eb172ecf00a2a7517e97d1e96de2a5e610bd9b68cea3925b4892"},
-    {file = "cffi-1.14.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058"},
-    {file = "cffi-1.14.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5"},
-    {file = "cffi-1.14.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132"},
-    {file = "cffi-1.14.5-cp36-cp36m-win32.whl", hash = "sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53"},
-    {file = "cffi-1.14.5-cp36-cp36m-win_amd64.whl", hash = "sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813"},
-    {file = "cffi-1.14.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73"},
-    {file = "cffi-1.14.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06"},
-    {file = "cffi-1.14.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1"},
-    {file = "cffi-1.14.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49"},
-    {file = "cffi-1.14.5-cp37-cp37m-win32.whl", hash = "sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62"},
-    {file = "cffi-1.14.5-cp37-cp37m-win_amd64.whl", hash = "sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4"},
-    {file = "cffi-1.14.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053"},
-    {file = "cffi-1.14.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0"},
-    {file = "cffi-1.14.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e"},
-    {file = "cffi-1.14.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827"},
-    {file = "cffi-1.14.5-cp38-cp38-win32.whl", hash = "sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e"},
-    {file = "cffi-1.14.5-cp38-cp38-win_amd64.whl", hash = "sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396"},
-    {file = "cffi-1.14.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea"},
-    {file = "cffi-1.14.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322"},
-    {file = "cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c"},
-    {file = "cffi-1.14.5-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee"},
-    {file = "cffi-1.14.5-cp39-cp39-win32.whl", hash = "sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396"},
-    {file = "cffi-1.14.5-cp39-cp39-win_amd64.whl", hash = "sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d"},
-    {file = "cffi-1.14.5.tar.gz", hash = "sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c"},
+    {file = "cffi-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962"},
+    {file = "cffi-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0"},
+    {file = "cffi-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14"},
+    {file = "cffi-1.15.0-cp27-cp27m-win32.whl", hash = "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474"},
+    {file = "cffi-1.15.0-cp27-cp27m-win_amd64.whl", hash = "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6"},
+    {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27"},
+    {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023"},
+    {file = "cffi-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2"},
+    {file = "cffi-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382"},
+    {file = "cffi-1.15.0-cp310-cp310-win32.whl", hash = "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55"},
+    {file = "cffi-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0"},
+    {file = "cffi-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605"},
+    {file = "cffi-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e"},
+    {file = "cffi-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc"},
+    {file = "cffi-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7"},
+    {file = "cffi-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66"},
+    {file = "cffi-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029"},
+    {file = "cffi-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6"},
+    {file = "cffi-1.15.0-cp38-cp38-win32.whl", hash = "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c"},
+    {file = "cffi-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443"},
+    {file = "cffi-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a"},
+    {file = "cffi-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8"},
+    {file = "cffi-1.15.0-cp39-cp39-win32.whl", hash = "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a"},
+    {file = "cffi-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139"},
+    {file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"},
 ]
 cssselect2 = [
-    {file = "cssselect2-0.4.1-py3-none-any.whl", hash = "sha256:2f4a9f20965367bae459e3bb42561f7927e0cfe5b7ea1692757cf67ef5d7dace"},
-    {file = "cssselect2-0.4.1.tar.gz", hash = "sha256:93fbb9af860e95dd40bf18c3b2b6ed99189a07c0f29ba76f9c5be71344664ec8"},
+    {file = "cssselect2-0.6.0-py3-none-any.whl", hash = "sha256:3a83b2a68370c69c9cd3fcb88bbfaebe9d22edeef2c22d1ff3e1ed9c7fa45ed8"},
+    {file = "cssselect2-0.6.0.tar.gz", hash = "sha256:5b5d6dea81a5eb0c9ca39f116c8578dd413778060c94c1f51196371618909325"},
 ]
 h11 = [
-    {file = "h11-0.12.0-py3-none-any.whl", hash = "sha256:36a3cb8c0a032f56e2da7084577878a035d3b61d104230d4bd49c0c6b555a9c6"},
-    {file = "h11-0.12.0.tar.gz", hash = "sha256:47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042"},
+    {file = "h11-0.13.0-py3-none-any.whl", hash = "sha256:8ddd78563b633ca55346c8cd41ec0af27d3c79931828beffb46ce70a379e7442"},
+    {file = "h11-0.13.0.tar.gz", hash = "sha256:70813c1135087a248a4d38cc0e1a0181ffab2188141a93eaf567940c3957ff06"},
 ]
 idna = [
-    {file = "idna-3.1-py3-none-any.whl", hash = "sha256:5205d03e7bcbb919cc9c19885f9920d622ca52448306f2377daede5cf3faac16"},
-    {file = "idna-3.1.tar.gz", hash = "sha256:c5b02147e01ea9920e6b0a3f1f7bb833612d507592c837a6c49552768f4054e1"},
+    {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"},
+    {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"},
 ]
 lxml = [
-    {file = "lxml-4.6.2-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a9d6bc8642e2c67db33f1247a77c53476f3a166e09067c0474facb045756087f"},
-    {file = "lxml-4.6.2-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:791394449e98243839fa822a637177dd42a95f4883ad3dec2a0ce6ac99fb0a9d"},
-    {file = "lxml-4.6.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:68a5d77e440df94011214b7db907ec8f19e439507a70c958f750c18d88f995d2"},
-    {file = "lxml-4.6.2-cp27-cp27m-win32.whl", hash = "sha256:fc37870d6716b137e80d19241d0e2cff7a7643b925dfa49b4c8ebd1295eb506e"},
-    {file = "lxml-4.6.2-cp27-cp27m-win_amd64.whl", hash = "sha256:69a63f83e88138ab7642d8f61418cf3180a4d8cd13995df87725cb8b893e950e"},
-    {file = "lxml-4.6.2-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:42ebca24ba2a21065fb546f3e6bd0c58c3fe9ac298f3a320147029a4850f51a2"},
-    {file = "lxml-4.6.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:f83d281bb2a6217cd806f4cf0ddded436790e66f393e124dfe9731f6b3fb9afe"},
-    {file = "lxml-4.6.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:535f067002b0fd1a4e5296a8f1bf88193080ff992a195e66964ef2a6cfec5388"},
-    {file = "lxml-4.6.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:366cb750140f221523fa062d641393092813b81e15d0e25d9f7c6025f910ee80"},
-    {file = "lxml-4.6.2-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:97db258793d193c7b62d4e2586c6ed98d51086e93f9a3af2b2034af01450a74b"},
-    {file = "lxml-4.6.2-cp35-cp35m-win32.whl", hash = "sha256:648914abafe67f11be7d93c1a546068f8eff3c5fa938e1f94509e4a5d682b2d8"},
-    {file = "lxml-4.6.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4e751e77006da34643ab782e4a5cc21ea7b755551db202bc4d3a423b307db780"},
-    {file = "lxml-4.6.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:681d75e1a38a69f1e64ab82fe4b1ed3fd758717bed735fb9aeaa124143f051af"},
-    {file = "lxml-4.6.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:127f76864468d6630e1b453d3ffbbd04b024c674f55cf0a30dc2595137892d37"},
-    {file = "lxml-4.6.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:4fb85c447e288df535b17ebdebf0ec1cf3a3f1a8eba7e79169f4f37af43c6b98"},
-    {file = "lxml-4.6.2-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:5be4a2e212bb6aa045e37f7d48e3e1e4b6fd259882ed5a00786f82e8c37ce77d"},
-    {file = "lxml-4.6.2-cp36-cp36m-win32.whl", hash = "sha256:8c88b599e226994ad4db29d93bc149aa1aff3dc3a4355dd5757569ba78632bdf"},
-    {file = "lxml-4.6.2-cp36-cp36m-win_amd64.whl", hash = "sha256:6e4183800f16f3679076dfa8abf2db3083919d7e30764a069fb66b2b9eff9939"},
-    {file = "lxml-4.6.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d8d3d4713f0c28bdc6c806a278d998546e8efc3498949e3ace6e117462ac0a5e"},
-    {file = "lxml-4.6.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:8246f30ca34dc712ab07e51dc34fea883c00b7ccb0e614651e49da2c49a30711"},
-    {file = "lxml-4.6.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:923963e989ffbceaa210ac37afc9b906acebe945d2723e9679b643513837b089"},
-    {file = "lxml-4.6.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:1471cee35eba321827d7d53d104e7b8c593ea3ad376aa2df89533ce8e1b24a01"},
-    {file = "lxml-4.6.2-cp37-cp37m-win32.whl", hash = "sha256:2363c35637d2d9d6f26f60a208819e7eafc4305ce39dc1d5005eccc4593331c2"},
-    {file = "lxml-4.6.2-cp37-cp37m-win_amd64.whl", hash = "sha256:f4822c0660c3754f1a41a655e37cb4dbbc9be3d35b125a37fab6f82d47674ebc"},
-    {file = "lxml-4.6.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0448576c148c129594d890265b1a83b9cd76fd1f0a6a04620753d9a6bcfd0a4d"},
-    {file = "lxml-4.6.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:60a20bfc3bd234d54d49c388950195d23a5583d4108e1a1d47c9eef8d8c042b3"},
-    {file = "lxml-4.6.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2e5cc908fe43fe1aa299e58046ad66981131a66aea3129aac7770c37f590a644"},
-    {file = "lxml-4.6.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:50c348995b47b5a4e330362cf39fc503b4a43b14a91c34c83b955e1805c8e308"},
-    {file = "lxml-4.6.2-cp38-cp38-win32.whl", hash = "sha256:94d55bd03d8671686e3f012577d9caa5421a07286dd351dfef64791cf7c6c505"},
-    {file = "lxml-4.6.2-cp38-cp38-win_amd64.whl", hash = "sha256:7a7669ff50f41225ca5d6ee0a1ec8413f3a0d8aa2b109f86d540887b7ec0d72a"},
-    {file = "lxml-4.6.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e0bfe9bb028974a481410432dbe1b182e8191d5d40382e5b8ff39cdd2e5c5931"},
-    {file = "lxml-4.6.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:6fd8d5903c2e53f49e99359b063df27fdf7acb89a52b6a12494208bf61345a03"},
-    {file = "lxml-4.6.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7e9eac1e526386df7c70ef253b792a0a12dd86d833b1d329e038c7a235dfceb5"},
-    {file = "lxml-4.6.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:7ee8af0b9f7de635c61cdd5b8534b76c52cd03536f29f51151b377f76e214a1a"},
-    {file = "lxml-4.6.2-cp39-cp39-win32.whl", hash = "sha256:2e6fd1b8acd005bd71e6c94f30c055594bbd0aa02ef51a22bbfa961ab63b2d75"},
-    {file = "lxml-4.6.2-cp39-cp39-win_amd64.whl", hash = "sha256:535332fe9d00c3cd455bd3dd7d4bacab86e2d564bdf7606079160fa6251caacf"},
-    {file = "lxml-4.6.2.tar.gz", hash = "sha256:cd11c7e8d21af997ee8079037fff88f16fda188a9776eb4b81c7e4c9c0a7d7fc"},
+    {file = "lxml-4.8.0-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:e1ab2fac607842ac36864e358c42feb0960ae62c34aa4caaf12ada0a1fb5d99b"},
+    {file = "lxml-4.8.0-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28d1af847786f68bec57961f31221125c29d6f52d9187c01cd34dc14e2b29430"},
+    {file = "lxml-4.8.0-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b92d40121dcbd74831b690a75533da703750f7041b4bf951befc657c37e5695a"},
+    {file = "lxml-4.8.0-cp27-cp27m-win32.whl", hash = "sha256:e01f9531ba5420838c801c21c1b0f45dbc9607cb22ea2cf132844453bec863a5"},
+    {file = "lxml-4.8.0-cp27-cp27m-win_amd64.whl", hash = "sha256:6259b511b0f2527e6d55ad87acc1c07b3cbffc3d5e050d7e7bcfa151b8202df9"},
+    {file = "lxml-4.8.0-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1010042bfcac2b2dc6098260a2ed022968dbdfaf285fc65a3acf8e4eb1ffd1bc"},
+    {file = "lxml-4.8.0-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:fa56bb08b3dd8eac3a8c5b7d075c94e74f755fd9d8a04543ae8d37b1612dd170"},
+    {file = "lxml-4.8.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:31ba2cbc64516dcdd6c24418daa7abff989ddf3ba6d3ea6f6ce6f2ed6e754ec9"},
+    {file = "lxml-4.8.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:31499847fc5f73ee17dbe1b8e24c6dafc4e8d5b48803d17d22988976b0171f03"},
+    {file = "lxml-4.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:5f7d7d9afc7b293147e2d506a4596641d60181a35279ef3aa5778d0d9d9123fe"},
+    {file = "lxml-4.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a3c5f1a719aa11866ffc530d54ad965063a8cbbecae6515acbd5f0fae8f48eaa"},
+    {file = "lxml-4.8.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6268e27873a3d191849204d00d03f65c0e343b3bcb518a6eaae05677c95621d1"},
+    {file = "lxml-4.8.0-cp310-cp310-win32.whl", hash = "sha256:330bff92c26d4aee79c5bc4d9967858bdbe73fdbdbacb5daf623a03a914fe05b"},
+    {file = "lxml-4.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:b2582b238e1658c4061ebe1b4df53c435190d22457642377fd0cb30685cdfb76"},
+    {file = "lxml-4.8.0-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a2bfc7e2a0601b475477c954bf167dee6d0f55cb167e3f3e7cefad906e7759f6"},
+    {file = "lxml-4.8.0-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a1547ff4b8a833511eeaceacbcd17b043214fcdb385148f9c1bc5556ca9623e2"},
+    {file = "lxml-4.8.0-cp35-cp35m-win32.whl", hash = "sha256:a9f1c3489736ff8e1c7652e9dc39f80cff820f23624f23d9eab6e122ac99b150"},
+    {file = "lxml-4.8.0-cp35-cp35m-win_amd64.whl", hash = "sha256:530f278849031b0eb12f46cca0e5db01cfe5177ab13bd6878c6e739319bae654"},
+    {file = "lxml-4.8.0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:078306d19a33920004addeb5f4630781aaeabb6a8d01398045fcde085091a169"},
+    {file = "lxml-4.8.0-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:86545e351e879d0b72b620db6a3b96346921fa87b3d366d6c074e5a9a0b8dadb"},
+    {file = "lxml-4.8.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24f5c5ae618395ed871b3d8ebfcbb36e3f1091fd847bf54c4de623f9107942f3"},
+    {file = "lxml-4.8.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:bbab6faf6568484707acc052f4dfc3802bdb0cafe079383fbaa23f1cdae9ecd4"},
+    {file = "lxml-4.8.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7993232bd4044392c47779a3c7e8889fea6883be46281d45a81451acfd704d7e"},
+    {file = "lxml-4.8.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6d6483b1229470e1d8835e52e0ff3c6973b9b97b24cd1c116dca90b57a2cc613"},
+    {file = "lxml-4.8.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:ad4332a532e2d5acb231a2e5d33f943750091ee435daffca3fec0a53224e7e33"},
+    {file = "lxml-4.8.0-cp36-cp36m-win32.whl", hash = "sha256:db3535733f59e5605a88a706824dfcb9bd06725e709ecb017e165fc1d6e7d429"},
+    {file = "lxml-4.8.0-cp36-cp36m-win_amd64.whl", hash = "sha256:5f148b0c6133fb928503cfcdfdba395010f997aa44bcf6474fcdd0c5398d9b63"},
+    {file = "lxml-4.8.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:8a31f24e2a0b6317f33aafbb2f0895c0bce772980ae60c2c640d82caac49628a"},
+    {file = "lxml-4.8.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:719544565c2937c21a6f76d520e6e52b726d132815adb3447ccffbe9f44203c4"},
+    {file = "lxml-4.8.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:c0b88ed1ae66777a798dc54f627e32d3b81c8009967c63993c450ee4cbcbec15"},
+    {file = "lxml-4.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fa9b7c450be85bfc6cd39f6df8c5b8cbd76b5d6fc1f69efec80203f9894b885f"},
+    {file = "lxml-4.8.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e9f84ed9f4d50b74fbc77298ee5c870f67cb7e91dcdc1a6915cb1ff6a317476c"},
+    {file = "lxml-4.8.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1d650812b52d98679ed6c6b3b55cbb8fe5a5460a0aef29aeb08dc0b44577df85"},
+    {file = "lxml-4.8.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:80bbaddf2baab7e6de4bc47405e34948e694a9efe0861c61cdc23aa774fcb141"},
+    {file = "lxml-4.8.0-cp37-cp37m-win32.whl", hash = "sha256:6f7b82934c08e28a2d537d870293236b1000d94d0b4583825ab9649aef7ddf63"},
+    {file = "lxml-4.8.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e1fd7d2fe11f1cb63d3336d147c852f6d07de0d0020d704c6031b46a30b02ca8"},
+    {file = "lxml-4.8.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:5045ee1ccd45a89c4daec1160217d363fcd23811e26734688007c26f28c9e9e7"},
+    {file = "lxml-4.8.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:0c1978ff1fd81ed9dcbba4f91cf09faf1f8082c9d72eb122e92294716c605428"},
+    {file = "lxml-4.8.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cbf2ff155b19dc4d4100f7442f6a697938bf4493f8d3b0c51d45568d5666b5"},
+    {file = "lxml-4.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ce13d6291a5f47c1c8dbd375baa78551053bc6b5e5c0e9bb8e39c0a8359fd52f"},
+    {file = "lxml-4.8.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e11527dc23d5ef44d76fef11213215c34f36af1608074561fcc561d983aeb870"},
+    {file = "lxml-4.8.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:60d2f60bd5a2a979df28ab309352cdcf8181bda0cca4529769a945f09aba06f9"},
+    {file = "lxml-4.8.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:62f93eac69ec0f4be98d1b96f4d6b964855b8255c345c17ff12c20b93f247b68"},
+    {file = "lxml-4.8.0-cp38-cp38-win32.whl", hash = "sha256:20b8a746a026017acf07da39fdb10aa80ad9877046c9182442bf80c84a1c4696"},
+    {file = "lxml-4.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:891dc8f522d7059ff0024cd3ae79fd224752676447f9c678f2a5c14b84d9a939"},
+    {file = "lxml-4.8.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:b6fc2e2fb6f532cf48b5fed57567ef286addcef38c28874458a41b7837a57807"},
+    {file = "lxml-4.8.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:74eb65ec61e3c7c019d7169387d1b6ffcfea1b9ec5894d116a9a903636e4a0b1"},
+    {file = "lxml-4.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:627e79894770783c129cc5e89b947e52aa26e8e0557c7e205368a809da4b7939"},
+    {file = "lxml-4.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:545bd39c9481f2e3f2727c78c169425efbfb3fbba6e7db4f46a80ebb249819ca"},
+    {file = "lxml-4.8.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5a58d0b12f5053e270510bf12f753a76aaf3d74c453c00942ed7d2c804ca845c"},
+    {file = "lxml-4.8.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:ec4b4e75fc68da9dc0ed73dcdb431c25c57775383fec325d23a770a64e7ebc87"},
+    {file = "lxml-4.8.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5804e04feb4e61babf3911c2a974a5b86f66ee227cc5006230b00ac6d285b3a9"},
+    {file = "lxml-4.8.0-cp39-cp39-win32.whl", hash = "sha256:aa0cf4922da7a3c905d000b35065df6184c0dc1d866dd3b86fd961905bbad2ea"},
+    {file = "lxml-4.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:dd10383f1d6b7edf247d0960a3db274c07e96cf3a3fc7c41c8448f93eac3fb1c"},
+    {file = "lxml-4.8.0-pp37-pypy37_pp73-macosx_10_14_x86_64.whl", hash = "sha256:2403a6d6fb61c285969b71f4a3527873fe93fd0abe0832d858a17fe68c8fa507"},
+    {file = "lxml-4.8.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:986b7a96228c9b4942ec420eff37556c5777bfba6758edcb95421e4a614b57f9"},
+    {file = "lxml-4.8.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:6fe4ef4402df0250b75ba876c3795510d782def5c1e63890bde02d622570d39e"},
+    {file = "lxml-4.8.0-pp38-pypy38_pp73-macosx_10_14_x86_64.whl", hash = "sha256:f10ce66fcdeb3543df51d423ede7e238be98412232fca5daec3e54bcd16b8da0"},
+    {file = "lxml-4.8.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:730766072fd5dcb219dd2b95c4c49752a54f00157f322bc6d71f7d2a31fecd79"},
+    {file = "lxml-4.8.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:8b99ec73073b37f9ebe8caf399001848fced9c08064effdbfc4da2b5a8d07b93"},
+    {file = "lxml-4.8.0.tar.gz", hash = "sha256:f63f62fc60e6228a4ca9abae28228f35e1bd3ce675013d1dfb828688d50c6e23"},
 ]
 outcome = [
     {file = "outcome-1.1.0-py2.py3-none-any.whl", hash = "sha256:c7dd9375cfd3c12db9801d080a3b63d4b0a261aa996c4c13152380587288d958"},
@@ -438,81 +472,93 @@ pdfrw = [
     {file = "pdfrw-0.4.tar.gz", hash = "sha256:0dc0494a0e6561b268542b28ede2280387c2728114f117d3bb5d8e4787b93ef4"},
 ]
 pillow = [
-    {file = "Pillow-8.1.2-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:5cf03b9534aca63b192856aa601c68d0764810857786ea5da652581f3a44c2b0"},
-    {file = "Pillow-8.1.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:f91b50ad88048d795c0ad004abbe1390aa1882073b1dca10bfd55d0b8cf18ec5"},
-    {file = "Pillow-8.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:5762ebb4436f46b566fc6351d67a9b5386b5e5de4e58fdaa18a1c83e0e20f1a8"},
-    {file = "Pillow-8.1.2-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:e2cd8ac157c1e5ae88b6dd790648ee5d2777e76f1e5c7d184eaddb2938594f34"},
-    {file = "Pillow-8.1.2-cp36-cp36m-win32.whl", hash = "sha256:72027ebf682abc9bafd93b43edc44279f641e8996fb2945104471419113cfc71"},
-    {file = "Pillow-8.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:d1d6bca39bb6dd94fba23cdb3eeaea5e30c7717c5343004d900e2a63b132c341"},
-    {file = "Pillow-8.1.2-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:90882c6f084ef68b71bba190209a734bf90abb82ab5e8f64444c71d5974008c6"},
-    {file = "Pillow-8.1.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:89e4c757a91b8c55d97c91fa09c69b3677c227b942fa749e9a66eef602f59c28"},
-    {file = "Pillow-8.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:8c4e32218c764bc27fe49b7328195579581aa419920edcc321c4cb877c65258d"},
-    {file = "Pillow-8.1.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:a01da2c266d9868c4f91a9c6faf47a251f23b9a862dce81d2ff583135206f5be"},
-    {file = "Pillow-8.1.2-cp37-cp37m-win32.whl", hash = "sha256:30d33a1a6400132e6f521640dd3f64578ac9bfb79a619416d7e8802b4ce1dd55"},
-    {file = "Pillow-8.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:71b01ee69e7df527439d7752a2ce8fb89e19a32df484a308eca3e81f673d3a03"},
-    {file = "Pillow-8.1.2-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:5a2d957eb4aba9d48170b8fe6538ec1fbc2119ffe6373782c03d8acad3323f2e"},
-    {file = "Pillow-8.1.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:87f42c976f91ca2fc21a3293e25bd3cd895918597db1b95b93cbd949f7d019ce"},
-    {file = "Pillow-8.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:15306d71a1e96d7e271fd2a0737038b5a92ca2978d2e38b6ced7966583e3d5af"},
-    {file = "Pillow-8.1.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:71f31ee4df3d5e0b366dd362007740106d3210fb6a56ec4b581a5324ba254f06"},
-    {file = "Pillow-8.1.2-cp38-cp38-win32.whl", hash = "sha256:98afcac3205d31ab6a10c5006b0cf040d0026a68ec051edd3517b776c1d78b09"},
-    {file = "Pillow-8.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:328240f7dddf77783e72d5ed79899a6b48bc6681f8d1f6001f55933cb4905060"},
-    {file = "Pillow-8.1.2-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:bead24c0ae3f1f6afcb915a057943ccf65fc755d11a1410a909c1fefb6c06ad1"},
-    {file = "Pillow-8.1.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81b3716cc9744ffdf76b39afb6247eae754186838cedad0b0ac63b2571253fe6"},
-    {file = "Pillow-8.1.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:63cd413ac52ee3f67057223d363f4f82ce966e64906aea046daf46695e3c8238"},
-    {file = "Pillow-8.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:8565355a29655b28fdc2c666fd9a3890fe5edc6639d128814fafecfae2d70910"},
-    {file = "Pillow-8.1.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:1940fc4d361f9cc7e558d6f56ff38d7351b53052fd7911f4b60cd7bc091ea3b1"},
-    {file = "Pillow-8.1.2-cp39-cp39-win32.whl", hash = "sha256:46c2bcf8e1e75d154e78417b3e3c64e96def738c2a25435e74909e127a8cba5e"},
-    {file = "Pillow-8.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:aeab4cd016e11e7aa5cfc49dcff8e51561fa64818a0be86efa82c7038e9369d0"},
-    {file = "Pillow-8.1.2-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:74cd9aa648ed6dd25e572453eb09b08817a1e3d9f8d1bd4d8403d99e42ea790b"},
-    {file = "Pillow-8.1.2-pp36-pypy36_pp73-manylinux2010_i686.whl", hash = "sha256:e5739ae63636a52b706a0facec77b2b58e485637e1638202556156e424a02dc2"},
-    {file = "Pillow-8.1.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:903293320efe2466c1ab3509a33d6b866dc850cfd0c5d9cc92632014cec185fb"},
-    {file = "Pillow-8.1.2-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:5daba2b40782c1c5157a788ec4454067c6616f5a0c1b70e26ac326a880c2d328"},
-    {file = "Pillow-8.1.2-pp37-pypy37_pp73-manylinux2010_i686.whl", hash = "sha256:1f93f2fe211f1ef75e6f589327f4d4f8545d5c8e826231b042b483d8383e8a7c"},
-    {file = "Pillow-8.1.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:6efac40344d8f668b6c4533ae02a48d52fd852ef0654cc6f19f6ac146399c733"},
-    {file = "Pillow-8.1.2-pp37-pypy37_pp73-win32.whl", hash = "sha256:f36c3ff63d6fc509ce599a2f5b0d0732189eed653420e7294c039d342c6e204a"},
-    {file = "Pillow-8.1.2.tar.gz", hash = "sha256:b07c660e014852d98a00a91adfbe25033898a9d90a8f39beb2437d22a203fc44"},
+    {file = "Pillow-9.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:af79d3fde1fc2e33561166d62e3b63f0cc3e47b5a3a2e5fea40d4917754734ea"},
+    {file = "Pillow-9.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:55dd1cf09a1fd7c7b78425967aacae9b0d70125f7d3ab973fadc7b5abc3de652"},
+    {file = "Pillow-9.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66822d01e82506a19407d1afc104c3fcea3b81d5eb11485e593ad6b8492f995a"},
+    {file = "Pillow-9.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5eaf3b42df2bcda61c53a742ee2c6e63f777d0e085bbc6b2ab7ed57deb13db7"},
+    {file = "Pillow-9.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01ce45deec9df310cbbee11104bae1a2a43308dd9c317f99235b6d3080ddd66e"},
+    {file = "Pillow-9.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:aea7ce61328e15943d7b9eaca87e81f7c62ff90f669116f857262e9da4057ba3"},
+    {file = "Pillow-9.1.0-cp310-cp310-win32.whl", hash = "sha256:7a053bd4d65a3294b153bdd7724dce864a1d548416a5ef61f6d03bf149205160"},
+    {file = "Pillow-9.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:97bda660702a856c2c9e12ec26fc6d187631ddfd896ff685814ab21ef0597033"},
+    {file = "Pillow-9.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:21dee8466b42912335151d24c1665fcf44dc2ee47e021d233a40c3ca5adae59c"},
+    {file = "Pillow-9.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b6d4050b208c8ff886fd3db6690bf04f9a48749d78b41b7a5bf24c236ab0165"},
+    {file = "Pillow-9.1.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5cfca31ab4c13552a0f354c87fbd7f162a4fafd25e6b521bba93a57fe6a3700a"},
+    {file = "Pillow-9.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed742214068efa95e9844c2d9129e209ed63f61baa4d54dbf4cf8b5e2d30ccf2"},
+    {file = "Pillow-9.1.0-cp37-cp37m-win32.whl", hash = "sha256:c9efef876c21788366ea1f50ecb39d5d6f65febe25ad1d4c0b8dff98843ac244"},
+    {file = "Pillow-9.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:de344bcf6e2463bb25179d74d6e7989e375f906bcec8cb86edb8b12acbc7dfef"},
+    {file = "Pillow-9.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:17869489de2fce6c36690a0c721bd3db176194af5f39249c1ac56d0bb0fcc512"},
+    {file = "Pillow-9.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:25023a6209a4d7c42154073144608c9a71d3512b648a2f5d4465182cb93d3477"},
+    {file = "Pillow-9.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8782189c796eff29dbb37dd87afa4ad4d40fc90b2742704f94812851b725964b"},
+    {file = "Pillow-9.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:463acf531f5d0925ca55904fa668bb3461c3ef6bc779e1d6d8a488092bdee378"},
+    {file = "Pillow-9.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f42364485bfdab19c1373b5cd62f7c5ab7cc052e19644862ec8f15bb8af289e"},
+    {file = "Pillow-9.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:3fddcdb619ba04491e8f771636583a7cc5a5051cd193ff1aa1ee8616d2a692c5"},
+    {file = "Pillow-9.1.0-cp38-cp38-win32.whl", hash = "sha256:4fe29a070de394e449fd88ebe1624d1e2d7ddeed4c12e0b31624561b58948d9a"},
+    {file = "Pillow-9.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:c24f718f9dd73bb2b31a6201e6db5ea4a61fdd1d1c200f43ee585fc6dcd21b34"},
+    {file = "Pillow-9.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fb89397013cf302f282f0fc998bb7abf11d49dcff72c8ecb320f76ea6e2c5717"},
+    {file = "Pillow-9.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c870193cce4b76713a2b29be5d8327c8ccbe0d4a49bc22968aa1e680930f5581"},
+    {file = "Pillow-9.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69e5ddc609230d4408277af135c5b5c8fe7a54b2bdb8ad7c5100b86b3aab04c6"},
+    {file = "Pillow-9.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:35be4a9f65441d9982240e6966c1eaa1c654c4e5e931eaf580130409e31804d4"},
+    {file = "Pillow-9.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82283af99c1c3a5ba1da44c67296d5aad19f11c535b551a5ae55328a317ce331"},
+    {file = "Pillow-9.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a325ac71914c5c043fa50441b36606e64a10cd262de12f7a179620f579752ff8"},
+    {file = "Pillow-9.1.0-cp39-cp39-win32.whl", hash = "sha256:a598d8830f6ef5501002ae85c7dbfcd9c27cc4efc02a1989369303ba85573e58"},
+    {file = "Pillow-9.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:0c51cb9edac8a5abd069fd0758ac0a8bfe52c261ee0e330f363548aca6893595"},
+    {file = "Pillow-9.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a336a4f74baf67e26f3acc4d61c913e378e931817cd1e2ef4dfb79d3e051b481"},
+    {file = "Pillow-9.1.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb1b89b11256b5b6cad5e7593f9061ac4624f7651f7a8eb4dfa37caa1dfaa4d0"},
+    {file = "Pillow-9.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:255c9d69754a4c90b0ee484967fc8818c7ff8311c6dddcc43a4340e10cd1636a"},
+    {file = "Pillow-9.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5a3ecc026ea0e14d0ad7cd990ea7f48bfcb3eb4271034657dc9d06933c6629a7"},
+    {file = "Pillow-9.1.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5b0ff59785d93b3437c3703e3c64c178aabada51dea2a7f2c5eccf1bcf565a3"},
+    {file = "Pillow-9.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c7110ec1701b0bf8df569a7592a196c9d07c764a0a74f65471ea56816f10e2c8"},
+    {file = "Pillow-9.1.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:8d79c6f468215d1a8415aa53d9868a6b40c4682165b8cb62a221b1baa47db458"},
+    {file = "Pillow-9.1.0.tar.gz", hash = "sha256:f401ed2bbb155e1ade150ccc63db1a4f6c1909d3d378f7d1235a44e90d75fb97"},
 ]
 pycparser = [
-    {file = "pycparser-2.20-py2.py3-none-any.whl", hash = "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"},
-    {file = "pycparser-2.20.tar.gz", hash = "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"},
+    {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"},
+    {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"},
 ]
 pyfuse3 = [
-    {file = "pyfuse3-3.2.0.tar.gz", hash = "sha256:45f0053ad601b03a36e2c283a5271403674245a66a0daf50e3deaab0ea4fa82f"},
+    {file = "pyfuse3-3.2.1.tar.gz", hash = "sha256:22d146dac59a8429115e9a93317975ea54b35e0278044a94d3fac5b4ad5f7e33"},
 ]
 reportlab = [
-    {file = "reportlab-3.5.65-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:fd6712a8a6dca12181a3a12316f97810927861e77f2a98029efd2c5cfc8546dc"},
-    {file = "reportlab-3.5.65-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:ee711804acdaf3ea7f0f2cd27f19478af993e730df8c8d923a678eb0e2572fba"},
-    {file = "reportlab-3.5.65-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:4c42e85851f969e21fa4d6414587b7544e877ce685e2495d7d422589c70b6281"},
-    {file = "reportlab-3.5.65-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:d8fefd07072bfae2715283a821fb1acf8fc4946cf925509d5cc2af791c611809"},
-    {file = "reportlab-3.5.65-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:bdf751289efee4891f4f354ce9122da8de8258a40f328b3f11540c4888363337"},
-    {file = "reportlab-3.5.65-cp36-cp36m-win32.whl", hash = "sha256:f0634740b099b69caed081acd89692996b5504c59f86f39781b6bebc82b267f5"},
-    {file = "reportlab-3.5.65-cp36-cp36m-win_amd64.whl", hash = "sha256:d810bffd4bcd50fdcb2bab0d1fe9ea4e6187ed5237687e41c6ade6c884b00c1e"},
-    {file = "reportlab-3.5.65-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:46745826657d35f86843487f4bc6f6f805f61260428f8ee13642bf6372f9df55"},
-    {file = "reportlab-3.5.65-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:bc62187181582772688d65c557ad6a40a4c3bb8d1f74de463d35ea81983e9b75"},
-    {file = "reportlab-3.5.65-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:58bec163f727c1c60515fc4704a961b3b4ccf2c76b4e6ec1a457ea7ed0c2d756"},
-    {file = "reportlab-3.5.65-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d92834993bf998853a04946729266a3276965e7b13f7423212f1c1abdfc4a1c7"},
-    {file = "reportlab-3.5.65-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:9ec95808b742ce70c1dab28b2c5bef9093816b92315b948419c2c6968658f9cc"},
-    {file = "reportlab-3.5.65-cp37-cp37m-win32.whl", hash = "sha256:b9494986f35d82350b0ce0c29704a49a3945421b789dff92e93fbd3de554fa34"},
-    {file = "reportlab-3.5.65-cp37-cp37m-win_amd64.whl", hash = "sha256:07f9d9c0360cb8fc780ca05264faa68b90583cd28dbdf2cda6bda34379b6e66c"},
-    {file = "reportlab-3.5.65-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:81898de0a0be2c8318468ae0ae1590f828805e9b7fd68e5a50667dce8b942171"},
-    {file = "reportlab-3.5.65-cp38-cp38-manylinux1_i686.whl", hash = "sha256:99aeee49a61c85f1af1087e9e418f3d0c2352c4dd0f0abbfac17ae6c467185aa"},
-    {file = "reportlab-3.5.65-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:3ec70873d99c14570e2a9c44b86c8c01526871e7af5ee4b2855246db15cb0c9f"},
-    {file = "reportlab-3.5.65-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:c12432575c793b8cd8552fddc219bbf2813541c64d02854ae345a108fb875b9d"},
-    {file = "reportlab-3.5.65-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:b2cf692ae7af995b499a31a3f58f2001d98e310e03f74812bcb97a08078239c0"},
-    {file = "reportlab-3.5.65-cp38-cp38-win32.whl", hash = "sha256:f92388e30bf6b5d2eceb3d7b05ee2df856635f74ce7d950a8f45d2b70c685a5b"},
-    {file = "reportlab-3.5.65-cp38-cp38-win_amd64.whl", hash = "sha256:6f007142f2b166f52cbb3e5d23319e3e496c429831e53b904e6db28c3370f279"},
-    {file = "reportlab-3.5.65-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:8707cc21a769150154bf4634dca6e9581ae24a05f0fb81a84fcc1143b1cbbfde"},
-    {file = "reportlab-3.5.65-cp39-cp39-manylinux1_i686.whl", hash = "sha256:27a831da0d17153e33c985bd7a88307e206c5a28778cddb755d5372598d12637"},
-    {file = "reportlab-3.5.65-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:fe5d98cdac07dd702bcd49f5723aacdd0af8c84d70fc82a5cc3781e52aedad52"},
-    {file = "reportlab-3.5.65-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:ba2d10f368c9ea1e76c84b3bb6b9982eb5a8f243c434e821c505b75ca8d85852"},
-    {file = "reportlab-3.5.65-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:289539f7888239343ef7ebcd30c55e6204ef78d5f70e1547fdeb854a2da8bfa1"},
-    {file = "reportlab-3.5.65-cp39-cp39-win32.whl", hash = "sha256:cdf8ff72cd6fa9303744c8409fb81ef7720da2e034c369762c2fdf496462179e"},
-    {file = "reportlab-3.5.65-cp39-cp39-win_amd64.whl", hash = "sha256:4a784ecdf3008f533e5a032b96c395e8592ed5e679baaf5ef4dcc136b01c72e9"},
-    {file = "reportlab-3.5.65.tar.gz", hash = "sha256:b2c7eedb4d19db63301c27ad1076086a099fd4c8ca0a6f62f6e9ed749fa5908f"},
+    {file = "reportlab-3.6.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4ba8eebfa4383e4680d6e7e6dba9c45c1fe19bbc0a754db4d84823f1a9511e56"},
+    {file = "reportlab-3.6.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:37dda88dbe16dd3f4f9039464637cce66e462c0b95e5763dbd45ac5799136d3a"},
+    {file = "reportlab-3.6.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10681d89a0ca37bb4036283fb8c0efac9ac1b22265dbdf350bda0448be33e00c"},
+    {file = "reportlab-3.6.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cebd0b28a0e875a9ce789514700f80659269ecf2a8fcef0aa10b8ae52b40474a"},
+    {file = "reportlab-3.6.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ec84055cf2c83783958b74eadf0e577eb0cd9088c8b5d536e9ddc0f4a9f8c70"},
+    {file = "reportlab-3.6.9-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:90f74627cafecf3924741ab8b0690a19df4214eb56b1cfce2dc74a15c9744034"},
+    {file = "reportlab-3.6.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2c2fd861f10b2cd49ccf29a31da9ad5c3b95aa437804e4fd0351ed4eb695f74"},
+    {file = "reportlab-3.6.9-cp310-cp310-win32.whl", hash = "sha256:e492e87886423192af1fafde23907bcd9d2fdccfc22f67e18aa5c73db3a380a3"},
+    {file = "reportlab-3.6.9-cp310-cp310-win_amd64.whl", hash = "sha256:d1bf9455aff37beb421a4447d89d6dd77bb46f677c0bab4eb0272cdb79faad2f"},
+    {file = "reportlab-3.6.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0a7f2b7232c3ffb451b649d55c51a6dd0c8104ad7bbcfe355addf7619705e7fa"},
+    {file = "reportlab-3.6.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1967dbc9930917d75c39784712a137d432dbc2e5ca9e132a2453319c2619ccff"},
+    {file = "reportlab-3.6.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32a5c5cd9625a40feec956f460355b4813bc3187c4f8dc9efd9f1a7f8f854e34"},
+    {file = "reportlab-3.6.9-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8cb82b6d14ad4bd915acacc8f114c6a7bab8b9b1503cabb930e433ebd320f90c"},
+    {file = "reportlab-3.6.9-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0e767cf4507ca8eed7dde8511f0889b0f19f160a2bdf9ef07742b2aaeceed9f2"},
+    {file = "reportlab-3.6.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a114761ad3ba6e0cdfacf14a8fb2cb8f5713b115ca1f0c17f3cd638d0a5b4bd"},
+    {file = "reportlab-3.6.9-cp37-cp37m-win32.whl", hash = "sha256:bbaab798991863952c593c0459dcb82e0aade837675593310e13cba2ce7fb45a"},
+    {file = "reportlab-3.6.9-cp37-cp37m-win_amd64.whl", hash = "sha256:ab1ffe4ec7be99ad348791116d436610afdc7a9a02a968997f31eaa62eaadad8"},
+    {file = "reportlab-3.6.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:496f42840604255ce06777bc129048b3bab966213bbac4f07fbe4ceb6a2e0482"},
+    {file = "reportlab-3.6.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a441afdfe31870b964bccde042d7172ed3c0077f519bbf3ed7d9d34c406b6b91"},
+    {file = "reportlab-3.6.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fbe23ac870adf90544d2014c572dba6ec4d772afad6505bb91f171ddad12839"},
+    {file = "reportlab-3.6.9-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de724c78f4eb1363b1195dce85a2a8806e7509b69ac5c842a714d942ea534d63"},
+    {file = "reportlab-3.6.9-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:713574da534b6ce73d884f1574c35a565e438af4888fcc75e752f1de02e356a7"},
+    {file = "reportlab-3.6.9-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:193671445b4885128d8800d3e416eb2fa4fd89bafae08cc9889c0752fe5ad8c2"},
+    {file = "reportlab-3.6.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff0e014a3a3fe286c642ef51213c41684a156b9ed293ef205e8890bc1dbbfdc7"},
+    {file = "reportlab-3.6.9-cp38-cp38-win32.whl", hash = "sha256:23f5aed2d212096f2fe95d56f868d63f839a08bf7e389237e644d93981274222"},
+    {file = "reportlab-3.6.9-cp38-cp38-win_amd64.whl", hash = "sha256:09b2ca175129a34292399fc4c6a8b1739f6c5946368fcaa6f931d69385b2f720"},
+    {file = "reportlab-3.6.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cb21666fc9edec9716553bfcfe0c30d1bbbe2731910a96f07ec65652974e5f83"},
+    {file = "reportlab-3.6.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d927bf802bf53c1b5a3878a22e9be310900877984e7c436a3a99bdd19cfec4c3"},
+    {file = "reportlab-3.6.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce3a3aad287c8532f62223f5720b5504e31abe3dce52a27bd2a25f508c0d846e"},
+    {file = "reportlab-3.6.9-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9a5f63bc381c0f945402ef4c1bccc74a8eed28f6be6596704b1db7d82ec89fe"},
+    {file = "reportlab-3.6.9-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50f8e30f5410efc69b0217261b1f21912888da392a4549e79c7aaaac85f01bfa"},
+    {file = "reportlab-3.6.9-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15294435f786968bcdf1a7a67bcc23a136470b6ea26919497f5c76ff0f653041"},
+    {file = "reportlab-3.6.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9b5e9115363545a727d8ebe7e4b94f7cf6f26113261a269d50d88b8db4eb726"},
+    {file = "reportlab-3.6.9-cp39-cp39-win32.whl", hash = "sha256:e1fc1b1f5d9d1c2e18b5e60602dfa7854b2330ba0efc312ef605abf588abea9c"},
+    {file = "reportlab-3.6.9-cp39-cp39-win_amd64.whl", hash = "sha256:92a6613af9877e3ad2a1c5a16a122514a4f9f8d9b91b1f22e7fa0fa796617b36"},
+    {file = "reportlab-3.6.9.tar.gz", hash = "sha256:5d0cc3682456ad213150f6dbffe7d47eab737d809e517c316103376be548fb84"},
 ]
 rmcl = [
-    {file = "rmcl-0.4.0-py3-none-any.whl", hash = "sha256:d2fc5d183b213797f5886a6af52c5531c87b4e1770cc720e0e8ba5992e728473"},
-    {file = "rmcl-0.4.0.tar.gz", hash = "sha256:14bd199ff2c71269c3c1ac63d10932de6c68a250a454550940dae3f06b07527a"},
+    {file = "rmcl-0.4.2-py3-none-any.whl", hash = "sha256:09534999cd233e5e8db531e51aab87eee7d72aa5a2592bcf100e2d015110cf52"},
+    {file = "rmcl-0.4.2.tar.gz", hash = "sha256:58de4758e7e3cb7acbf28fcfa80f4155252afdfb191beb4ba4aa36961f66cc67"},
 ]
 rmfuse = []
 rmrl = [
@@ -524,15 +570,15 @@ sniffio = [
     {file = "sniffio-1.2.0.tar.gz", hash = "sha256:c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de"},
 ]
 sortedcontainers = [
-    {file = "sortedcontainers-2.3.0-py2.py3-none-any.whl", hash = "sha256:37257a32add0a3ee490bb170b599e93095eed89a55da91fa9f48753ea12fd73f"},
-    {file = "sortedcontainers-2.3.0.tar.gz", hash = "sha256:59cc937650cf60d677c16775597c89a960658a09cf7c1a668f86e1e4464b10a1"},
+    {file = "sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0"},
+    {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"},
 ]
 svglib = [
-    {file = "svglib-1.0.1.tar.gz", hash = "sha256:ff01593e8c07ea462d3742e1f4141bfa261cbd4400ceb25dfb8fec3508ad0e50"},
+    {file = "svglib-1.2.1.tar.gz", hash = "sha256:c77a0702fafd367c0fdca08ca1b7e1ee10058bde3bae252f49a3836e51e54519"},
 ]
 tinycss2 = [
-    {file = "tinycss2-1.1.0-py3-none-any.whl", hash = "sha256:0353b5234bcaee7b1ac7ca3dea7e02cd338a9f8dcbb8f2dcd32a5795ec1e5f9a"},
-    {file = "tinycss2-1.1.0.tar.gz", hash = "sha256:fbdcac3044d60eb85fdb2aa840ece43cf7dbe798e373e6ee0be545d4d134e18a"},
+    {file = "tinycss2-1.1.1-py3-none-any.whl", hash = "sha256:fe794ceaadfe3cf3e686b22155d0da5780dd0e273471a51846d0a02bc204fec8"},
+    {file = "tinycss2-1.1.1.tar.gz", hash = "sha256:b2e44dd8883c360c35dd0d1b5aad0b610e5156c2cb3b33434634e539ead9d8bf"},
 ]
 trio = [
     {file = "trio-0.18.0-py3-none-any.whl", hash = "sha256:a42af0634ba729cbfe8578be058750c6471dac19fbc7167ec6a3ca3f966fb424"},
@@ -543,6 +589,6 @@ webencodings = [
     {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"},
 ]
 xdg = [
-    {file = "xdg-5.0.1-py3-none-any.whl", hash = "sha256:9ddd6649bee9148f952305603a08474e3ef37c909eb19dfcb9737d54ebcc407e"},
-    {file = "xdg-5.0.1.tar.gz", hash = "sha256:97a27058caa61b4ce04e05471643caa6bc8c563d2638f92c0516ac50208146d8"},
+    {file = "xdg-5.1.1-py3-none-any.whl", hash = "sha256:865a7b56ed1d4cd2fce2ead1eddf97360843619757f473cd90b75f1817ca541d"},
+    {file = "xdg-5.1.1.tar.gz", hash = "sha256:aa619f26ccec6088b2a6018721d4ee86e602099b24644a90a8d3308a25acd06c"},
 ]
diff --git a/pkgs/tools/filesystems/squashfs/default.nix b/pkgs/tools/filesystems/squashfs/default.nix
index 340c5add295..3be3865ccd0 100644
--- a/pkgs/tools/filesystems/squashfs/default.nix
+++ b/pkgs/tools/filesystems/squashfs/default.nix
@@ -24,12 +24,21 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
+    # remove once https://github.com/plougher/squashfs-tools/pull/177 is merged and in a release
+    (fetchpatch {
+      url = "https://github.com/plougher/squashfs-tools/commit/6100e82c7e7f18f503c003c67c87791025d5f01b.patch";
+      sha256 = "sha256-bMBQsbSKQ4E7r9avns2QaomGAYl3s82m58gYyTQdB08=";
+    })
     # This patch adds an option to pad filesystems (increasing size) in
     # exchange for better chunking / binary diff calculation.
     ./4k-align.patch
   ] ++ lib.optional stdenv.isDarwin ./darwin.patch;
 
-  buildInputs = [ zlib xz zstd lz4 lzo which help2man ];
+  strictDeps = true;
+  nativeBuildInputs = [ which ]
+    # when cross-compiling help2man cannot run the cross-compiled binary
+    ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ help2man ];
+  buildInputs = [ zlib xz zstd lz4 lzo ];
 
   preBuild = ''
     cd squashfs-tools
diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix
index e81414a2595..c44157a2f02 100644
--- a/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xfsprogs";
-  version = "5.15.0";
+  version = "5.16.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/fs/xfs/xfsprogs/${pname}-${version}.tar.xz";
-    sha256 = "0mjdwxr2hhqkfa8xg0v74v3n27sjvlwm90jqnmx0587b60wbzlhk";
+    hash = "sha256-eLjImZmb1pBEHLU9fAKrZxKUlAMZxpT/fILiPo5Gu58=";
   };
 
   outputs = [ "bin" "dev" "out" "doc" ];
diff --git a/pkgs/tools/filesystems/zkfuse/default.nix b/pkgs/tools/filesystems/zkfuse/default.nix
index 456444f3bf5..98c9ae525f4 100644
--- a/pkgs/tools/filesystems/zkfuse/default.nix
+++ b/pkgs/tools/filesystems/zkfuse/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , autoreconfHook
-, gnused
 , boost
 , fuse
 , log4cxx
@@ -15,7 +14,7 @@ stdenv.mkDerivation rec {
 
   sourceRoot = "apache-${zookeeper.pname}-${version}/zookeeper-contrib/zookeeper-contrib-zkfuse";
 
-  nativeBuildInputs = [ autoreconfHook gnused ];
+  nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ zookeeper_mt log4cxx boost fuse ];
 
   postPatch = ''
@@ -25,6 +24,10 @@ stdenv.mkDerivation rec {
         -e 's,"zookeeper\.h",<zookeeper/zookeeper.h>,'
   '';
 
+  # c++17 (gcc-11's default) breaks the build as:
+  #   zkadapter.h:616:33: error: ISO C++17 does not allow dynamic exception specifications
+  NIX_CFLAGS_COMPILE = [ "-std=c++14" ];
+
   installPhase = ''
     mkdir -p $out/bin
     cp -v src/zkfuse $out/bin
diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix
index 5ca9704eee3..5b3431a919f 100644
--- a/pkgs/tools/graphics/enblend-enfuse/default.nix
+++ b/pkgs/tools/graphics/enblend-enfuse/default.nix
@@ -1,26 +1,39 @@
-{ lib, stdenv, fetchurl
-, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libGLU, libGL, vigra
-, help2man, pkg-config, perl, texlive }:
+{ lib, stdenv, fetchzip
+, autoreconfHook
+, boost
+, freeglut
+, glew
+, gsl
+, lcms2
+, libpng
+, libtiff
+, libGLU
+, libGL
+, vigra
+, help2man
+, pkg-config
+, perl
+, texlive
+}:
 
 stdenv.mkDerivation rec {
   pname = "enblend-enfuse";
-  version = "4.2";
+  version = "unstable-2022-03-06";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/enblend/${pname}-${version}.tar.gz";
-    sha256 = "0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7";
+  src = fetchzip {
+    url = "https://sourceforge.net/code-snapshots/hg/e/en/enblend/code/enblend-code-0f423c72e51872698fe2985ca3bd453961ffe4e0.zip";
+    sha256 = "sha256-0gCUSdg3HR3YeIbOByEBCZh2zGlYur6DeCOzUM53fdc=";
+    stripRoot = true;
   };
 
   buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libGLU libGL vigra ];
 
-  nativeBuildInputs = [ help2man perl pkg-config texlive.combined.scheme-small ];
+  nativeBuildInputs = [ autoreconfHook help2man perl pkg-config texlive.combined.scheme-small ];
 
   preConfigure = ''
     patchShebangs src/embrace
   '';
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     homepage = "http://enblend.sourceforge.net/";
     description = "Blends away the seams in a panoramic image mosaic using a multiresolution spline";
diff --git a/pkgs/tools/graphics/feedgnuplot/default.nix b/pkgs/tools/graphics/feedgnuplot/default.nix
index 51d3e1e868d..a205f03f079 100644
--- a/pkgs/tools/graphics/feedgnuplot/default.nix
+++ b/pkgs/tools/graphics/feedgnuplot/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, makeWrapper, gawk
+{ lib, fetchFromGitHub, makeWrapper
 , makeFontsConf, freefont_ttf, gnuplot, perl, perlPackages
 , stdenv, shortenPerlShebang
 }:
@@ -22,7 +22,7 @@ perlPackages.buildPerlPackage rec {
 
   outputs = [ "out" ];
 
-  nativeBuildInputs = [ makeWrapper gawk ] ++ lib.optional stdenv.isDarwin shortenPerlShebang;
+  nativeBuildInputs = [ makeWrapper ] ++ lib.optional stdenv.isDarwin shortenPerlShebang;
 
   buildInputs = [ gnuplot perl ]
     ++ (with perlPackages; [ ListMoreUtils IPCRun StringShellQuote ]);
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index c6c90442ddc..e29e259b134 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -21,11 +21,11 @@ let
 in
 (if withQt then mkDerivation else stdenv.mkDerivation) rec {
   pname = "gnuplot";
-  version = "5.4.2";
+  version = "5.4.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnuplot/${pname}-${version}.tar.gz";
-    sha256 = "sha256-5Xx14TGBM5UdMqg7zcSv8X/tKHIsTnHyMFz8KuHK57o=";
+    sha256 = "sha256-UfiburkPltNUP5UjU2jRiOseJu2ilpEiVqvNNTW9TYQ=";
   };
 
   nativeBuildInputs = [ makeWrapper pkg-config texinfo ] ++ lib.optional withQt qttools;
diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix
index e2c5f9f63fc..924ac901f6a 100644
--- a/pkgs/tools/graphics/graphviz/default.nix
+++ b/pkgs/tools/graphics/graphviz/default.nix
@@ -16,7 +16,6 @@
 , pango
 , bash
 , bison
-, fetchpatch
 , xorg
 , ApplicationServices
 , python3
@@ -28,26 +27,16 @@ let
 in
 stdenv.mkDerivation {
   pname = "graphviz";
-  version = "2.49.3";
+  version = "2.50.0";
 
   src = fetchFromGitLab {
     owner = "graphviz";
     repo = "graphviz";
     # use rev as tags have disappeared before
-    rev = "3425dae078262591d04fec107ec71ab010651852";
-    sha256 = "1qvyjly7r1ihacdvxq0r59l4csr09sc05palpshzqsiz2wb1izk0";
+    rev = "ca43e4c6a217650447e2928c2e9cb493c73ebd7d";
+    sha256 = "1psfgr8y4hh9yyzl04f7xbqb2y9k1xbja051j6b06q9dx7bmkmky";
   };
 
-  patches = [
-    # Fix cross.
-    # https://gitlab.com/graphviz/graphviz/-/merge_requests/2281
-    # Remove when version > 2.49.3.
-    (fetchpatch {
-      url = "https://gitlab.com/graphviz/graphviz/-/commit/0cdb89acbb0caf5baf3d04a8821c9d0dfe065ea8.patch";
-      sha256 = "130mqlxzhzaz3vp4ccaq7z7fd9q6vjxmimz70g8y818igsbb13rf";
-    })
-  ];
-
   nativeBuildInputs = [
     autoreconfHook
     pkg-config
diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix
index d815b6ac83e..2bc40f1cc78 100644
--- a/pkgs/tools/graphics/pfstools/default.nix
+++ b/pkgs/tools/graphics/pfstools/default.nix
@@ -36,7 +36,7 @@ mkDerivation rec {
     libGLU libGL freeglut
   ]) ++ lib.optional enableUnfree (opencv2.override { enableUnfree = true; });
 
-  patches = [ ./threads.patch ./pfstools.patch ./pfsalign.patch ];
+  patches = [ ./glut.patch ./threads.patch ./pfstools.patch ./pfsalign.patch ];
 
   meta = with lib; {
     homepage = "http://pfstools.sourceforge.net/";
diff --git a/pkgs/tools/graphics/pfstools/glut.patch b/pkgs/tools/graphics/pfstools/glut.patch
new file mode 100644
index 00000000000..b540b5ebc6a
--- /dev/null
+++ b/pkgs/tools/graphics/pfstools/glut.patch
@@ -0,0 +1,12 @@
+--- a/src/pfsglview/CMakeLists.txt	2022-04-04 23:21:11.164016369 +0300
++++ b/src/pfsglview/CMakeLists.txt	2022-04-04 23:21:32.757878750 +0300
+@@ -11,8 +11,7 @@
+ 

+ add_executable(pfsglview pfsglview.cpp picture_io.cpp module.cpp m_histogram.cpp m_status.cpp m_on_screen_display.cpp)

+ 

+-# TODO: Use ${GLUT_LIBRARY} instead.

+-target_link_libraries(pfsglview ${OPENGL_LIBRARIES} ${GLUT_glut_LIBRARY} pfs)

++target_link_libraries(pfsglview ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} pfs)

+ 

+ install (TARGETS pfsglview DESTINATION bin)

+ install (FILES pfsglview.1 DESTINATION ${MAN_DIR})

diff --git a/pkgs/tools/graphics/pixel2svg/default.nix b/pkgs/tools/graphics/pixel2svg/default.nix
new file mode 100644
index 00000000000..630e896ee75
--- /dev/null
+++ b/pkgs/tools/graphics/pixel2svg/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchurl, python310Packages }:
+
+python310Packages.buildPythonPackage rec {
+  pname = "pixel2svg";
+  version = "0.3.0";
+
+  src = fetchurl {
+    url = "https://static.florian-berger.de/pixel2svg-${version}.zip";
+    sha256 = "sha256-aqcTTmZKcdRdVd8GGz5cuaQ4gjPapVJNtiiZu22TZgQ=";
+  };
+
+  propagatedBuildInputs = with python310Packages; [ pillow svgwrite ];
+
+  meta = with lib; {
+    homepage = "https://florian-berger.de/en/software/pixel2svg/";
+    description = "Converts pixel art to SVG - pixel by pixel";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ papojari ];
+  };
+}
diff --git a/pkgs/tools/graphics/pngtools/default.nix b/pkgs/tools/graphics/pngtools/default.nix
new file mode 100644
index 00000000000..563c8af50ae
--- /dev/null
+++ b/pkgs/tools/graphics/pngtools/default.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, libpng12, fetchFromGitHub }:
+
+stdenv.mkDerivation {
+  pname = "pngtools";
+  version = "unstable-2022-03-14";
+
+  src = fetchFromGitHub {
+    owner = "mikalstill";
+    repo = "pngtools";
+    rev = "1ccca3a0f3f6882661bbafbfb62feb774ca195d1";
+    sha256 = "sha256-W1XofOVTyfA7IbxOnTkWdOOZ00gZ4e0GOYl7nMtLIJk=";
+  };
+
+  buildInputs = [ libpng12 ];
+
+  meta = with lib; {
+    homepage = "https://github.com/mikalstill/pngtools";
+    description = "PNG manipulation tools";
+    maintainers = with maintainers; [ zendo ];
+    license = licenses.gpl2Only;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/graphics/svgcleaner/default.nix b/pkgs/tools/graphics/svgcleaner/default.nix
new file mode 100644
index 00000000000..c2938a69b57
--- /dev/null
+++ b/pkgs/tools/graphics/svgcleaner/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "SVGCleaner";
+  version = "unstable-2021-08-30";
+
+  src = fetchFromGitHub {
+    owner = "RazrFalcon";
+    repo = pname;
+    rev = "575eac74400a5ac45c912b144f0c002aa4a0135f";
+    sha256 = "sha256-pRDRRVb8Lyna8X/PEjS9tS5dbG4g7vyMCU5AqPlpxec=";
+  };
+
+  cargoSha256 = "sha256-SZWmJGiCc/FevxMWJpa8xKVz/rbll52oNbFtqPpz74g=";
+
+  meta = with lib; {
+    description = "Clean and optimize SVG files from unnecessary data";
+    homepage = "https://github.com/RazrFalcon/SVGCleaner";
+    changelog = "https://github.com/RazrFalcon/svgcleaner/releases";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ yuu ];
+  };
+}
diff --git a/pkgs/tools/graphics/vulkan-extension-layer/default.nix b/pkgs/tools/graphics/vulkan-extension-layer/default.nix
index df41ecd485d..ea1acfb4edf 100644
--- a/pkgs/tools/graphics/vulkan-extension-layer/default.nix
+++ b/pkgs/tools/graphics/vulkan-extension-layer/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "vulkan-extension-layer";
-  version = "1.2.198.0";
+  version = "1.3.211.0";
 
   src = (assert version == vulkan-headers.version;
     fetchFromGitHub {
       owner = "KhronosGroup";
       repo = "Vulkan-ExtensionLayer";
       rev = "sdk-${version}";
-      sha256 = "sha256-g674rw8lXyP1WUoJmbRRL7s+1Yxs00sR04+hTQ3l3dE=";
+      sha256 = "sha256-ixCfHnp6YAOuR4NMTGjhhqkfm0H7ZcO/8xKFJqw16YE=";
     });
 
   nativeBuildInputs = [ cmake jq ];
diff --git a/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix b/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix
index ae9e0e86b25..7bdfafad13f 100644
--- a/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix
+++ b/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix
@@ -23,14 +23,14 @@
 stdenv.mkDerivation rec {
   pname = "vulkan-tools-lunarg";
   # The version must match that in vulkan-headers
-  version = "1.2.189.1";
+  version = "1.3.211.0";
 
   src = (assert version == vulkan-headers.version;
     fetchFromGitHub {
       owner = "LunarG";
       repo = "VulkanTools";
       rev = "sdk-${version}";
-      sha256 = "0431dgplv5wiz8bj0ja91mbpc2qhjgdhqhrgaqarvyvjr1f7jw52";
+      sha256 = "sha256-Pkz2FV0AnTKm/4jVmkQNkYzpxpKJaSoy2fRAhVh5OKU=";
       fetchSubmodules = true;
     });
 
diff --git a/pkgs/tools/graphics/vulkan-tools/default.nix b/pkgs/tools/graphics/vulkan-tools/default.nix
index 987511b1cc9..9cc83e19769 100644
--- a/pkgs/tools/graphics/vulkan-tools/default.nix
+++ b/pkgs/tools/graphics/vulkan-tools/default.nix
@@ -1,9 +1,24 @@
-{ stdenv, lib, fetchFromGitHub, cmake, glslang, libX11, libxcb
-, libXrandr, vulkan-headers, vulkan-loader, wayland }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, glslang
+, libffi
+, libX11
+, libXau
+, libxcb
+, libXdmcp
+, libXrandr
+, vulkan-headers
+, vulkan-loader
+, wayland
+, wayland-protocols
+}:
 
 stdenv.mkDerivation rec {
   pname = "vulkan-tools";
-  version = "1.2.198.0";
+  version = "1.3.211.0";
 
   # It's not strictly necessary to have matching versions here, however
   # since we're using the SDK version we may as well be consistent with
@@ -13,11 +28,27 @@ stdenv.mkDerivation rec {
       owner = "KhronosGroup";
       repo = "Vulkan-Tools";
       rev = "sdk-${version}";
-      sha256 = "sha256-oNJm9Gi41aA5krkpkQI0EYdIlMcQpdodv9yqXhnNURA=";
+      sha256 = "sha256-iXsWTKNllPZy1Kpo3JHzEEus3Hu9LofvMB3c4Gn6/DM=";
     });
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ glslang libX11 libxcb libXrandr vulkan-headers vulkan-loader wayland ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    glslang
+    libffi
+    libX11
+    libXau
+    libxcb
+    libXdmcp
+    libXrandr
+    vulkan-headers
+    vulkan-loader
+    wayland
+    wayland-protocols
+  ];
 
   libraryPath = lib.strings.makeLibraryPath [ vulkan-loader ];
 
@@ -28,6 +59,7 @@ stdenv.mkDerivation rec {
     "-DBUILD_ICD=OFF"
     # vulkaninfo loads libvulkan using dlopen, so we have to add it manually to RPATH
     "-DCMAKE_INSTALL_RPATH=${libraryPath}"
+    "-DPKG_CONFIG_EXECUTABLE=${pkg-config}/bin/pkg-config"
     # Hide dev warnings that are useless for packaging
     "-Wno-dev"
   ];
diff --git a/pkgs/tools/inputmethods/droidmote/default.nix b/pkgs/tools/inputmethods/droidmote/default.nix
new file mode 100644
index 00000000000..24c2bcee8cd
--- /dev/null
+++ b/pkgs/tools/inputmethods/droidmote/default.nix
@@ -0,0 +1,61 @@
+{ lib, stdenv, fetchurl, autoPatchelfHook }:
+
+let
+  srcs = {
+    x86_64-linux = fetchurl {
+      urls = [
+        "https://videomap.it/script/dms-ubuntu-x64"
+        "https://archive.org/download/videomap/dms-ubuntu-x64"
+      ];
+      sha256 = "1x7pp6k27lr206a8j2pn0wf4wjb0zi28s0g1g3rb08jmr8fh1jnh";
+    };
+    i686-linux = fetchurl {
+      urls = [
+        "https://videomap.it/script/dms-ubuntu-x32"
+        "https://archive.org/download/videomap/dms-ubuntu-x32"
+      ];
+      sha256 = "1d62d7jz50wzk5rqqm3xab66jdzi9i1j6mwxf7r7nsgm6j5zz8r4";
+    };
+    aarch64-linux = fetchurl {
+      urls = [
+        "https://videomap.it/script/dms-ubuntu-arm64"
+        "https://archive.org/download/videomap/dms-ubuntu-arm64"
+      ];
+      sha256 = "1l1x7iqbxn6zsh3d37yb5x15qsxlwy3cz8g2g8vnzkgaafw9vva0";
+    };
+    armv7l-linux = fetchurl {
+      urls = [
+        "https://videomap.it/script/dms-ubuntu-arm"
+        "https://archive.org/download/videomap/dms-ubuntu-arm"
+      ];
+      sha256 = "1i7q9mylzvbsfydv4xf83nyqkh0nh01612jrqm93q1w6d0k2zvcd";
+    };
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "droidmote";
+  version = "3.0.6";
+
+  src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  dontUnpack = true;
+  dontBuild = true;
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -m755 -D $src $out/bin/droidmote
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Control your computer from your couch";
+    homepage = "https://www.videomap.it/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ atila ];
+    platforms = lib.attrNames srcs;
+  };
+}
diff --git a/pkgs/tools/inputmethods/fcitx5/default.nix b/pkgs/tools/inputmethods/fcitx5/default.nix
index 123d634d65f..c235a412948 100644
--- a/pkgs/tools/inputmethods/fcitx5/default.nix
+++ b/pkgs/tools/inputmethods/fcitx5/default.nix
@@ -5,7 +5,7 @@
 , cmake
 , extra-cmake-modules
 , cairo
-, cldr-emoji-annotation
+, cldr-annotations
 , pango
 , fribidi
 , fmt
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
     gdk-pixbuf
     wayland
     wayland-protocols
-    cldr-emoji-annotation
+    cldr-annotations
     json_c
     libGL
     libevent
@@ -90,6 +90,8 @@ stdenv.mkDerivation rec {
     libxkbfile
   ];
 
+  cmakeFlags = [ "-DCLDR_DIR=${cldr-annotations}/share/unicode/cldr" ];
+
   passthru.updateScript = ./update.py;
 
   meta = with lib; {
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-rime-with-nix-env-variable.patch b/pkgs/tools/inputmethods/fcitx5/fcitx5-rime-with-nix-env-variable.patch
new file mode 100644
index 00000000000..428a0232dc3
--- /dev/null
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-rime-with-nix-env-variable.patch
@@ -0,0 +1,18 @@
+:100644 100644 fac4f53 aed9617 M	src/rimeengine.cpp
+
+diff --git a/src/rimeengine.cpp b/src/rimeengine.cpp
+index fac4f53..aed9617 100644
+--- a/src/rimeengine.cpp
++++ b/src/rimeengine.cpp
+@@ -164,7 +164,10 @@ void RimeEngine::rimeStart(bool fullcheck) {
+             RIME_ERROR() << "Failed to create user directory: " << userDir;
+         }
+     }
+-    const char *sharedDataDir = RIME_DATA_DIR;
++    const char *sharedDataDir = getenv("NIX_RIME_DATA_DIR");
++    if (!sharedDataDir) {
++        sharedDataDir = RIME_DATA_DIR;
++    }
+ 
+     RIME_STRUCT(RimeTraits, fcitx_rime_traits);
+     fcitx_rime_traits.shared_data_dir = sharedDataDir;
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
index 3743d6cb9fc..fac81c8dea1 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-rime.nix
@@ -35,6 +35,8 @@ stdenv.mkDerivation rec {
     librime
   ];
 
+  patches = [ ./fcitx5-rime-with-nix-env-variable.patch ];
+
   meta = with lib; {
     description = "RIME support for Fcitx5";
     homepage = "https://github.com/fcitx/fcitx5-rime";
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix
index 0785b756345..e67443d0367 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-bamboo/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, glib
 , gettext
 , xorg
 , pkg-config
@@ -11,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-bamboo";
-  version = "0.7.0";
+  version = "0.7.7";
 
   src = fetchFromGitHub {
     owner = "BambooEngine";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WKNDrm8PSU/F8MzpVsJ9oUkbolCxrwbjOZYYNiFr5Qs=";
+    sha256 = "1qdkimq4n9bxqjlnd00dggvx09cf4wqwk0kpgj01jd0i6ahggns1";
   };
 
   nativeBuildInputs = [
@@ -28,6 +29,8 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    glib
+    gtk3
     xorg.libX11
     xorg.xorgproto
     xorg.libXtst
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
index 18fc21e9808..d725691a045 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table-others/default.nix
@@ -2,22 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-table-others";
-  version = "1.3.12";
+  version = "1.3.13";
 
   src = fetchurl {
     url = "https://github.com/moebiuscurve/ibus-table-others/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-2k7JtLr+zO71rbTz11CCiIPx+orn0dw/Y8m47WfRDEU=";
+    sha256 = "sha256-XN11iOShWyzRzmo/Ke+1Qh//o4ZhsmJWimgA1by2VZo=";
   };
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ ibus ibus-table python3 ];
 
   preBuild = ''
-    export HOME=$(mktemp -d)/ibus-table-others
-  '';
-
-  postFixup = ''
-    rm -rf $HOME
+    export HOME=$TMPDIR
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index 4ca1e62bfb8..a791e90a93c 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -27,7 +27,6 @@
 , python3
 , json-glib
 , libnotify ? null
-, enablePython2Library ? false
 , enableUI ? true
 , withWayland ? false
 , libxkbcommon ? null
@@ -100,8 +99,6 @@ stdenv.mkDerivation rec {
     (enableFeature (dconf != null) "dconf")
     (enableFeature (libnotify != null) "libnotify")
     (enableFeature withWayland "wayland")
-    (enableFeature enablePython2Library "python-library")
-    (enableFeature enablePython2Library "python2") # XXX: python2 library does not work anyway
     (enableFeature enableUI "ui")
     "--enable-gtk4"
     "--enable-install-tests"
diff --git a/pkgs/tools/inputmethods/input-remapper/default.nix b/pkgs/tools/inputmethods/input-remapper/default.nix
index 1ac061034d7..0a1ce3108f2 100644
--- a/pkgs/tools/inputmethods/input-remapper/default.nix
+++ b/pkgs/tools/inputmethods/input-remapper/default.nix
@@ -34,9 +34,9 @@
   # https://discourse.nixos.org/t/avoid-rec-expresions-in-nixpkgs/8293/7
   # The names are prefixed with input_remapper to avoid potential
   # collisions with package names
-, input_remapper_version ? "unstable-2022-02-09"
-, input_remapper_src_rev ? "55227e0b5a28d21d7333c6c8ea1c691e56fd35c4"
-, input_remapper_src_hash ? "sha256-kzGlEaYN/JfAgbI0aMLr5mwObYOL43X7QU/ihDEBQFg="
+, input_remapper_version ? "1.4.2"
+, input_remapper_src_rev ? "af20f87a1298153e765b840a2164ba63b9ef937a"
+, input_remapper_src_hash ? "sha256-eG4Fx1z74Bq1HrfmzOuULQLziGdWnHLax8y2dymjWsI="
 }:
 
 let
diff --git a/pkgs/tools/inputmethods/libinput-gestures/0001-hardcode-name.patch b/pkgs/tools/inputmethods/libinput-gestures/0001-hardcode-name.patch
index 4655879149d..f811343ee79 100644
--- a/pkgs/tools/inputmethods/libinput-gestures/0001-hardcode-name.patch
+++ b/pkgs/tools/inputmethods/libinput-gestures/0001-hardcode-name.patch
@@ -1,13 +1,13 @@
 diff --git a/libinput-gestures b/libinput-gestures
-index 66479b6..aca94ac 100755
+index 78c7c28..da04007 100755
 --- a/libinput-gestures
 +++ b/libinput-gestures
-@@ -6,7 +6,7 @@ from collections import OrderedDict
- from pathlib import Path
- from distutils.version import LooseVersion as Version
- 
--PROG = Path(sys.argv[0]).stem
-+PROG = "libinput-gestures"
- 
+@@ -27,7 +27,7 @@ except ImportError:
+
+ session_locked = False
+
+-PROGPATH = Path(sys.argv[0])
++PROGPATH = Path("libinput-gestures")
+ PROGNAME = PROGPATH.stem
+
  # Conf file containing gesture commands.
- # Search first for user file then system file.
diff --git a/pkgs/tools/inputmethods/libinput-gestures/0002-paths.patch b/pkgs/tools/inputmethods/libinput-gestures/0002-paths.patch
index 407450c8bcc..a507625406f 100644
--- a/pkgs/tools/inputmethods/libinput-gestures/0002-paths.patch
+++ b/pkgs/tools/inputmethods/libinput-gestures/0002-paths.patch
@@ -1,45 +1,34 @@
 diff --git a/libinput-gestures b/libinput-gestures
-index aca94ac..c2f03ca 100755
+index 78c7c28..1a2c965 100755
 --- a/libinput-gestures
 +++ b/libinput-gestures
-@@ -77,7 +77,7 @@ def get_libinput_vers():
+@@ -87,11 +87,11 @@ def get_libinput_vers():
      'Return the libinput installed version number string'
      # Try to use newer libinput interface then fall back to old
      # (depreciated) interface.
 -    res = run(('libinput', '--version'), check=False)
 +    res = run(('@libinput@', '--version'), check=False)
-     return res.strip() if res else \
-             run(('libinput-list-devices', '--version'), check=False)
- 
-@@ -87,8 +87,8 @@ if not libvers:
-     sys.exit('libinput helper tools do not seem to be installed?')
- 
- if Version(libvers) >= Version('1.8'):
--    cmd_debug_events = 'libinput debug-events'
--    cmd_list_devices = 'libinput list-devices'
-+    cmd_debug_events = '@libinput@ debug-events'
-+    cmd_list_devices = '@libinput@ list-devices'
- else:
-     cmd_debug_events = 'libinput-debug-events'
-     cmd_list_devices = 'libinput-list-devices'
-@@ -199,7 +199,7 @@ class COMMAND_internal(COMMAND):
- 
-     def run(self):
-         'Get list of current workspaces and select next one'
--        stdout = run(('wmctrl', '-d'), check=False)
-+        stdout = run(('@wmctrl@', '-d'), check=False)
-         if not stdout:
-             # This command can fail on GNOME when you have only a single
-             # dynamic workspace using Xorg (probably a GNOME bug) so let's
-@@ -233,7 +233,7 @@ class COMMAND_internal(COMMAND):
- 
-         # Switch to desired workspace
-         if index >= minindex and index < maxindex:
--            run(('wmctrl', '-s', str(index)))
-+            run(('@wmctrl@', '-s', str(index)))
- 
- # Table of gesture handlers
- handlers = OrderedDict()
--- 
-2.19.1
+     if res:
+         return res.strip(), True
 
+-    res = run(('libinput-list-devices', '--version'), check=False)
++    res = run(('@libinput-list-devices@', '--version'), check=False)
+     return res and res.strip(), False
+
+ def get_devices_list(cmd_list_devices, device_list):
+@@ -694,11 +694,11 @@ def main():
+         sys.exit('libinput helper tools do not seem to be installed?')
+
+     if has_subcmd:
+-        cmd_debug_events = 'libinput debug-events'
+-        cmd_list_devices = 'libinput list-devices'
++        cmd_debug_events = '@libinput@ debug-events'
++        cmd_list_devices = '@libinput@ list-devices'
+     else:
+-        cmd_debug_events = 'libinput-debug-events'
+-        cmd_list_devices = 'libinput-list-devices'
++        cmd_debug_events = '@libinput@-debug-events'
++        cmd_list_devices = '@libinput@-list-devices'
+
+     if args.verbose:
+         # Output various info/version info
diff --git a/pkgs/tools/inputmethods/libinput-gestures/default.nix b/pkgs/tools/inputmethods/libinput-gestures/default.nix
index 1d0ea40e34f..52ef02b24f9 100644
--- a/pkgs/tools/inputmethods/libinput-gestures/default.nix
+++ b/pkgs/tools/inputmethods/libinput-gestures/default.nix
@@ -5,13 +5,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "libinput-gestures";
-  version = "2.39";
+  version = "2.72";
 
   src = fetchFromGitHub {
     owner = "bulletmark";
     repo = "libinput-gestures";
     rev = version;
-    sha256 = "0bzyi55yhr9wyar9mnd09cr6pi88jkkp0f9lndm0a9jwi1xr4bdf";
+    sha256 = "sha256-si94aKyiJtRwg+JS0PazqRjGrA/zUwN8CCIKI5KLJNw=";
   };
   patches = [
     ./0001-hardcode-name.patch
diff --git a/pkgs/tools/inputmethods/lisgd/default.nix b/pkgs/tools/inputmethods/lisgd/default.nix
index 3592f2373b2..c525772d5d0 100644
--- a/pkgs/tools/inputmethods/lisgd/default.nix
+++ b/pkgs/tools/inputmethods/lisgd/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lisgd";
-  version = "0.3.3";
+  version = "0.3.4";
 
   src = fetchFromSourcehut {
     owner = "~mil";
     repo = "lisgd";
     rev = version;
-    sha256 = "sha256-zcDxR2fKsjuX+vxjhr5UcqEsiNM+zWd2SBaA6Xly3AI=";
+    hash = "sha256-ZzPdIwN4/G5Te51gJpbNcHVkG4Rplcaa8yHDJr58oyk=";
   };
 
   inherit patches;
diff --git a/pkgs/tools/misc/adrgen/default.nix b/pkgs/tools/misc/adrgen/default.nix
index 08fec93b587..83117f40350 100644
--- a/pkgs/tools/misc/adrgen/default.nix
+++ b/pkgs/tools/misc/adrgen/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
-, testVersion
+, testers
 , adrgen
 }:
 
@@ -18,7 +18,7 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-aDtUD+KKKSE0TpSi4+6HXSBMqF/TROZZhT0ox3a8Idk=";
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = adrgen;
     command = "adrgen version";
     version = "v${version}";
diff --git a/pkgs/tools/misc/agedu/default.nix b/pkgs/tools/misc/agedu/default.nix
index 9c4b5c00a66..deee88a7303 100644
--- a/pkgs/tools/misc/agedu/default.nix
+++ b/pkgs/tools/misc/agedu/default.nix
@@ -1,7 +1,11 @@
-{lib, stdenv, fetchgit, autoreconfHook, halibut}:
+{ lib, stdenv
+, fetchgit
+, cmake
+, halibut
+}:
 let
-  date = "20200705";
-  rev = "2a7d4a2";
+  date = "20211129";
+  rev = "8cd63c5";
 in
 stdenv.mkDerivation {
   pname = "agedu";
@@ -11,10 +15,10 @@ stdenv.mkDerivation {
   src = fetchgit {
     url = "https://git.tartarus.org/simon/agedu.git";
     inherit rev;
-    sha256 = "gRNscl/vhBoZaHFCs9JjDBHDRoEpILJLtiI4YV+K/b4=";
+    hash = "sha256-5wqpL7wrFwIf6lxVte+GXLsXYY0/36EIAUepVNDCnSE=";
   };
 
-  nativeBuildInputs = [autoreconfHook halibut];
+  nativeBuildInputs = [ cmake halibut ];
 
   meta = with lib; {
     description = "A Unix utility for tracking down wasted disk space";
diff --git a/pkgs/tools/misc/antimicrox/default.nix b/pkgs/tools/misc/antimicrox/default.nix
index c7e629c280e..b39d9b17002 100644
--- a/pkgs/tools/misc/antimicrox/default.nix
+++ b/pkgs/tools/misc/antimicrox/default.nix
@@ -12,13 +12,13 @@
 
 mkDerivation rec {
   pname = "antimicrox";
-  version = "3.2.2";
+  version = "3.2.3";
 
   src = fetchFromGitHub {
     owner = "AntiMicroX";
     repo = pname;
     rev = version;
-    sha256 = "sha256-8DCQAgwXaJxRl6NxzSCow9XpP4HhHw3hlPXvmqpq/nc=";
+    sha256 = "sha256-Qn2XT/l3zx0u3twKsQr1cHbaRiLTglQf0WNx8tqtKro=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules pkg-config itstool ];
diff --git a/pkgs/tools/misc/apkeep/default.nix b/pkgs/tools/misc/apkeep/default.nix
index ef7699ccf28..f7d3daf9fbc 100644
--- a/pkgs/tools/misc/apkeep/default.nix
+++ b/pkgs/tools/misc/apkeep/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "apkeep";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "14vm3b2gbmn9pil0aagwchn4kyvi9311id6qv4a376qfb6r1aybf";
+    sha256 = "sha256-kwJ4/jkVVgem5Lb+uFDFPk4/6WWSWJs+SQDSyKkhG/8=";
   };
 
-  cargoSha256 = "0i8wzc58ji317kjdw3ls1908z4bqlh1cgjph0fxsvs5i552qjkzp";
+  cargoSha256 = "sha256-kJ81kY2EmkH3yu8xL1aPxXPMhkDsGKWo0RWn1Ih7z2k=";
 
   prePatch = ''
     rm .cargo/config.toml
diff --git a/pkgs/tools/misc/arch-install-scripts/default.nix b/pkgs/tools/misc/arch-install-scripts/default.nix
index a967e4989e6..c89e575e8eb 100644
--- a/pkgs/tools/misc/arch-install-scripts/default.nix
+++ b/pkgs/tools/misc/arch-install-scripts/default.nix
@@ -6,7 +6,6 @@
 , coreutils
 , gawk
 , gnum4
-, testVersion
 , util-linux
 }:
 
diff --git a/pkgs/tools/misc/asdf-vm/default.nix b/pkgs/tools/misc/asdf-vm/default.nix
index ee33ba82be6..e492e4a6f6d 100644
--- a/pkgs/tools/misc/asdf-vm/default.nix
+++ b/pkgs/tools/misc/asdf-vm/default.nix
@@ -37,13 +37,13 @@ ${asdfReshimFile}
   '';
 in stdenv.mkDerivation rec {
   pname = "asdf-vm";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "asdf-vm";
     repo = "asdf";
     rev = "v${version}";
-    sha256 = "sha256-uvf3WVflUdh+M90zMDVFVAXi7TZytc8oZ/DexJqpNV4=";
+    sha256 = "sha256-yWQ74tVYBZszuuE3PaDB758kCjKO6oBOG/Z+T3+82po=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/atuin/default.nix b/pkgs/tools/misc/atuin/default.nix
index 4bb75f54787..907276f30be 100644
--- a/pkgs/tools/misc/atuin/default.nix
+++ b/pkgs/tools/misc/atuin/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "atuin";
-  version = "0.8.1";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "ellie";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nrWsEPYW4R5P8KUh4R3cZ4VFO9zoID0cl6lz7nNjnp0=";
+    sha256 = "sha256-TrIBNvK8Kyp0FgLZ3Q1n/Dl4V/yateP2v2ei5IIpi44=";
   };
 
-  cargoSha256 = "sha256-sWVMPjG5ZqAKr7BmMJdBnVmBDr1MWl3hhmOBxQJexJY=";
+  cargoSha256 = "sha256-42eMvUbH7eEvTcEfLtDRNy6psbdQXDsZQbpyqZFjF4c=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/misc/bat-extras/default.nix b/pkgs/tools/misc/bat-extras/default.nix
index cb483567f21..76e2906a942 100644
--- a/pkgs/tools/misc/bat-extras/default.nix
+++ b/pkgs/tools/misc/bat-extras/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, bash, makeWrapper, bat
+{ lib, stdenv, fetchFromGitHub, makeWrapper, bat
 # batdiff, batgrep, and batwatch
 , coreutils
 , getconf
@@ -15,6 +15,8 @@
 # batdiff
 , gitMinimal
 , withDelta ? delta != null, delta ? null
+# batman
+, util-linux
 }:
 
 let
@@ -33,7 +35,7 @@ let
     };
 
     # bat needs to be in the PATH during building so EXECUTABLE_BAT picks it up
-    nativeBuildInputs = [ bash bat ];
+    nativeBuildInputs = [ bat ];
 
     dontConfigure = true;
 
@@ -93,7 +95,7 @@ let
 
       src = core;
 
-      nativeBuildInputs = [ bash makeWrapper ];
+      nativeBuildInputs = [ makeWrapper ];
       # Make the dependencies available to the tests.
       buildInputs = dependencies;
 
@@ -136,7 +138,7 @@ in
 {
   batdiff = script "batdiff" ([ less coreutils gitMinimal ] ++ optionalDep withDelta delta);
   batgrep = script "batgrep" [ less coreutils ripgrep ];
-  batman = script "batman" [];
+  batman = script "batman" [ util-linux ];
   batwatch = script "batwatch" ([ less coreutils ] ++ optionalDep withEntr entr);
   prettybat = script "prettybat" ([]
     ++ optionalDep withShFmt shfmt
diff --git a/pkgs/tools/misc/bcunit/default.nix b/pkgs/tools/misc/bcunit/default.nix
index 61fc84fef7e..b9e7c9712da 100644
--- a/pkgs/tools/misc/bcunit/default.nix
+++ b/pkgs/tools/misc/bcunit/default.nix
@@ -5,9 +5,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bcunit";
-  # Latest release 3.0.2 is missing some functions needed by bctoolbox. See:
-  # https://gitlab.linphone.org/BC/public/bcunit/issues/1
-  version = "unstable-2019-11-19";
+  version = "linphone-4.4.1";
 
   nativeBuildInputs = [ cmake ];
   src = fetchFromGitLab {
@@ -15,12 +13,12 @@ stdenv.mkDerivation rec {
     owner = "public";
     group = "BC";
     repo = pname;
-    rev = "3c720fbf67dd3c02b0c7011ed4036982b2c93532";
-    sha256 = "1237hpmkls2igp60gdfkbknxpgwvxn1vmv2m41vyl25xw1d3g35w";
+    rev = "c5eebcc7f794e9567d3c72d15d3f28bffe6bfd0f";
+    sha256 = "sha256-8DSfqHerx/V00SJjTSQaG9Rjqx330iG6sGivBDUvQfA=";
   };
 
   meta = with lib; {
-    description = "A fork of CUnit test framework";
+    description = "Belledonne Communications' fork of CUnit test framework. Part of the Linphone project.";
     homepage = "https://gitlab.linphone.org/BC/public/bcunit";
     license = licenses.lgpl2Plus;
     maintainers = with maintainers; [ raskin jluttine ];
diff --git a/pkgs/tools/misc/bsp-layout/default.nix b/pkgs/tools/misc/bsp-layout/default.nix
index 065c21e3f78..bad5b4d9a89 100644
--- a/pkgs/tools/misc/bsp-layout/default.nix
+++ b/pkgs/tools/misc/bsp-layout/default.nix
@@ -1,4 +1,11 @@
-{ stdenv, fetchFromGitHub, lib, bspwm, makeWrapper, git, bc }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeWrapper
+, git
+, bc
+, bspwm
+}:
 
 stdenv.mkDerivation rec {
   pname = "bsp-layout";
@@ -17,14 +24,22 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PREFIX=$(out)" ];
 
   postInstall = ''
-    substituteInPlace $out/bin/bsp-layout --replace 'bc ' '${bc}/bin/bc '
+    substituteInPlace $out/lib/bsp-layout/layout.sh --replace 'bc ' '${bc}/bin/bc '
+    for layout in tall rtall wide rwide
+    do
+      substituteInPlace "$out/lib/bsp-layout/layouts/$layout.sh" --replace 'bc ' '${bc}/bin/bc '
+    done
   '';
 
   meta = with lib; {
     description = "Manage layouts in bspwm";
+    longDescription = ''
+      bsp-layout is a dynamic layout manager for bspwm, written in bash.
+      It provides layout options to fit most workflows.
+    '';
     homepage = "https://github.com/phenax/bsp-layout";
     license = licenses.mit;
-    maintainers = with maintainers; [ devins2518 ];
+    maintainers = with maintainers; [ devins2518 totoroot ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/calamares-nixos-extensions/default.nix b/pkgs/tools/misc/calamares-nixos-extensions/default.nix
new file mode 100644
index 00000000000..793f341a073
--- /dev/null
+++ b/pkgs/tools/misc/calamares-nixos-extensions/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, lib }:
+
+stdenv.mkDerivation rec {
+  pname = "calamares-nixos-extensions";
+  version = "0.3.8";
+
+  src = fetchFromGitHub {
+    owner = "NixOS";
+    repo = "calamares-nixos-extensions";
+    rev = version;
+    sha256 = "MtqAOwlY5euVNAGRl2pRkbg/OolJPNOSQcR4DS5gFz4=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/{lib,share}/calamares
+    cp -r modules $out/lib/calamares/
+    cp -r config/* $out/share/calamares/
+    cp -r branding $out/share/calamares/
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Calamares modules for NixOS";
+    homepage = "https://github.com/NixOS/calamares-nixos-extensions";
+    license = with licenses; [ gpl3Plus bsd2 cc-by-40 cc-by-sa-40 cc0 ];
+    maintainers = with maintainers; [ vlinkz ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix
index 91120415021..8afb103e9d4 100644
--- a/pkgs/tools/misc/calamares/default.nix
+++ b/pkgs/tools/misc/calamares/default.nix
@@ -1,24 +1,48 @@
-{ lib, fetchurl, boost, cmake, extra-cmake-modules, kparts, kpmcore
-, kservice, libatasmart, libxcb, libyamlcpp, parted, polkit-qt, python, qtbase
-, qtquickcontrols, qtsvg, qttools, qtwebengine, util-linux, tzdata
+{ lib, fetchurl, boost, cmake, extra-cmake-modules, kparts, kpmcore, kirigami2
+, kservice, libatasmart, libxcb, libyamlcpp, libpwquality, parted, polkit-qt, python
+, qtbase, qtquickcontrols, qtsvg, qttools, qtwebengine, util-linux, tzdata
 , ckbcomp, xkeyboard_config, mkDerivation
+, nixos-extensions ? false
 }:
 
 mkDerivation rec {
   pname = "calamares";
-  version = "3.2.55";
+  version = "3.2.56";
 
   # release including submodule
   src = fetchurl {
-    url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-1xf02rjy6+83zbU2yxGUGjcIGJfYS8ryqi4CBzrh7kI=";
+    url = "https://github.com/calamares/calamares/releases/download/v${version}/${pname}-${version}.tar.gz";
+    sha256 = "e1402d7693659b85c5e553481a7252d91350c3f33ffea413488d7712d3281e03";
   };
 
+  patches = lib.optionals nixos-extensions [
+    # Modifies the users module to only set passwords of user and root
+    # as the users will have already been created in the configuration.nix file
+    ./userjob.patch
+    # Makes calamares search /run/current-system/sw/share/calamares/ for extra configuration files
+    # as by default it only searches /usr/share/calamares/ and /nix/store/<hash>-calamares-<version>/share/calamares/
+    # but calamares-nixos-extensions is not in either of these locations
+    ./nixos-extensions-paths.patch
+    # Uses pkexec within modules in order to run calamares without root permissions as a whole
+    # Also fixes storage check in the welcome module
+    ./nonroot.patch
+    # Adds unfree qml to packagechooserq
+    ./unfreeq.patch
+    # Adds config to change name of packagechooserq
+    # Upstreamed in PR: https://github.com/calamares/calamares/pull/1932
+    ./packagechooserq.patch
+    # Modifies finished module to add some NixOS resources
+    # Modifies packagechooser module to change the UI
+    ./uimod.patch
+    # Remove options for unsupported partition types
+    ./partitions.patch
+  ];
+
   nativeBuildInputs = [ cmake extra-cmake-modules ];
   buildInputs = [
-    boost kparts.dev kpmcore.out kservice.dev
-    libatasmart libxcb libyamlcpp parted polkit-qt python qtbase
-    qtquickcontrols qtsvg qttools qtwebengine.dev util-linux
+    boost kparts.dev kpmcore.out kservice.dev kirigami2
+    libatasmart libxcb libyamlcpp libpwquality parted polkit-qt python
+    qtbase qtquickcontrols qtsvg qttools qtwebengine.dev util-linux
   ];
 
   cmakeFlags = [
@@ -32,15 +56,28 @@ mkDerivation rec {
   POLKITQT-1_POLICY_FILES_INSTALL_DIR = "$(out)/share/polkit-1/actions";
 
   postPatch = ''
+    # Run calamares without root. Other patches make it functional as a normal user
+    sed -e "s,pkexec calamares,calamares," \
+        -i calamares.desktop
+
+    sed -e "s,X-AppStream-Ignore=true,&\nStartupWMClass=io.calamares.calamares," \
+        -i calamares.desktop
+
+    # Fix desktop reference with wayland
+    mv calamares.desktop io.calamares.calamares.desktop
+
+    sed -e "s,calamares.desktop,io.calamares.calamares.desktop," \
+        -i CMakeLists.txt
+
     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/SetTimezoneJob.cpp
+        -i src/modules/locale/SetTimezoneJob.cpp \
+        -i src/libcalamares/locale/TimeZone.cpp
 
     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
+        -i src/modules/keyboard/keyboardwidget/keyboardglobal.cpp
 
     sed -e 's,"ckbcomp","${ckbcomp}/bin/ckbcomp",' \
         -i src/modules/keyboard/keyboardwidget/keyboardpreview.cpp
@@ -51,8 +88,9 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Distribution-independent installer framework";
-    license = with licenses; [ gpl3Plus bsd2 ];
-    maintainers = with maintainers; [ manveru ];
+    homepage = "https://calamares.io/";
+    license = with licenses; [ gpl3Plus bsd2 cc0 ];
+    maintainers = with maintainers; [ manveru vlinkz ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/calamares/nixos-extensions-paths.patch b/pkgs/tools/misc/calamares/nixos-extensions-paths.patch
new file mode 100644
index 00000000000..4e0012160e9
--- /dev/null
+++ b/pkgs/tools/misc/calamares/nixos-extensions-paths.patch
@@ -0,0 +1,46 @@
+diff --git a/src/calamares/main.cpp b/src/calamares/main.cpp
+index de709156f..a0b6c5faf 100644
+--- a/src/calamares/main.cpp
++++ b/src/calamares/main.cpp
+@@ -131,6 +132,8 @@ main( int argc, char* argv[] )
+     // TODO: umount anything in /tmp/calamares-... as an emergency save function
+ #endif
+ 
++    CalamaresUtils::setNixosDirs();
++
+     bool is_debug = handle_args( a );
+ 
+ #ifdef WITH_KF5DBus
+diff --git a/src/libcalamares/utils/Dirs.cpp b/src/libcalamares/utils/Dirs.cpp
+index f333d6e64..6118fb412 100644
+--- a/src/libcalamares/utils/Dirs.cpp
++++ b/src/libcalamares/utils/Dirs.cpp
+@@ -115,6 +116,14 @@ setXdgDirs()
+     s_haveExtraDirs = !( s_extraConfigDirs.isEmpty() && s_extraDataDirs.isEmpty() );
+ }
+ 
++void
++setNixosDirs()
++{
++    s_extraConfigDirs << "/run/current-system/sw/share/calamares/";
++    s_extraDataDirs << "/run/current-system/sw/share/calamares/";
++    s_haveExtraDirs = !( s_extraConfigDirs.isEmpty() && s_extraDataDirs.isEmpty() ); 
++}
++
+ QStringList
+ extraConfigDirs()
+ {
+diff --git a/src/libcalamares/utils/Dirs.h b/src/libcalamares/utils/Dirs.h
+index 445cbe1f1..da869d446 100644
+--- a/src/libcalamares/utils/Dirs.h
++++ b/src/libcalamares/utils/Dirs.h
+@@ -50,6 +50,9 @@ DLLEXPORT bool isAppDataDirOverridden();
+ /** @brief Setup extra config and data dirs from the XDG variables.
+  */
+ DLLEXPORT void setXdgDirs();
++/** @brief Setup extra config and data dirs fir NixOS.
++ */
++DLLEXPORT void setNixosDirs();
+ /** @brief Are any extra directories configured? */
+ DLLEXPORT bool haveExtraDirs();
+ /** @brief XDG_CONFIG_DIRS, each guaranteed to end with / */
diff --git a/pkgs/tools/misc/calamares/nonroot.patch b/pkgs/tools/misc/calamares/nonroot.patch
new file mode 100644
index 00000000000..7843f45f284
--- /dev/null
+++ b/pkgs/tools/misc/calamares/nonroot.patch
@@ -0,0 +1,105 @@
+diff --git a/src/libcalamares/utils/Runner.cpp b/src/libcalamares/utils/Runner.cpp
+index c7146c2d7..e165d9a8f 100644
+--- a/src/libcalamares/utils/Runner.cpp
++++ b/src/libcalamares/utils/Runner.cpp
+@@ -140,13 +140,13 @@ Calamares::Utils::Runner::run()
+     }
+     if ( m_location == RunLocation::RunInTarget )
+     {
+-        process.setProgram( "chroot" );
+-        process.setArguments( QStringList { workingDirectory.absolutePath() } << m_command );
++        process.setProgram( "pkexec" );
++        process.setArguments( QStringList { "chroot" } + QStringList { workingDirectory.absolutePath() } << m_command );
+     }
+     else
+     {
+-        process.setProgram( "env" );
+-        process.setArguments( m_command );
++        process.setProgram( "pkexec" );
++        process.setArguments( QStringList { "env" } + m_command );
+     }
+ 
+     if ( m_output )
+diff --git a/src/modules/mount/main.py b/src/modules/mount/main.py
+index a3318d1a0..5fbe202fd 100644
+--- a/src/modules/mount/main.py
++++ b/src/modules/mount/main.py
+@@ -152,7 +152,8 @@ def mount_partition(root_mount_point, partition, partitions):
+ 
+     # Ensure that the created directory has the correct SELinux context on
+     # SELinux-enabled systems.
+-    os.makedirs(mount_point, exist_ok=True)
++    subprocess.check_call(["pkexec", "mkdir", "-p", mount_point])
++
+     try:
+         subprocess.call(['chcon', '--reference=' + raw_mount_point, mount_point])
+     except FileNotFoundError as e:
+@@ -193,13 +194,13 @@ def mount_partition(root_mount_point, partition, partitions):
+         for s in btrfs_subvolumes:
+             if not s["subvolume"]:
+                 continue
+-            os.makedirs(root_mount_point + os.path.dirname(s["subvolume"]), exist_ok=True)
+-            subprocess.check_call(["btrfs", "subvolume", "create",
++            subprocess.check_call(["pkexec", "mkdir", "-p", root_mount_point + os.path.dirname(s["subvolume"])])
++            subprocess.check_call(["pkexec", "btrfs", "subvolume", "create",
+                                    root_mount_point + s["subvolume"]])
+             if s["mountPoint"] == "/":
+                 # insert the root subvolume into global storage
+                 libcalamares.globalstorage.insert("btrfsRootSubvolume", s["subvolume"])
+-        subprocess.check_call(["umount", "-v", root_mount_point])
++        subprocess.check_call(["pkexec", "umount", "-v", root_mount_point])
+ 
+         device = partition["device"]
+ 
+diff --git a/src/modules/welcome/checker/GeneralRequirements.cpp b/src/modules/welcome/checker/GeneralRequirements.cpp
+index ca7219ca4..6ac682ba4 100644
+--- a/src/modules/welcome/checker/GeneralRequirements.cpp
++++ b/src/modules/welcome/checker/GeneralRequirements.cpp
+@@ -371,10 +371,34 @@ GeneralRequirements::checkEnoughStorage( qint64 requiredSpace )
+     cWarning() << "GeneralRequirements is configured without libparted.";
+     return false;
+ #else
+-    return check_big_enough( requiredSpace );
++    return big_enough( requiredSpace );
+ #endif
+ }
+ 
++bool
++GeneralRequirements::big_enough( qint64 requiredSpace )
++{
++    FILE *fpipe;
++    char command[128];
++    snprintf(command, sizeof(command), "lsblk --bytes -no SIZE,TYPE | grep disk | awk '$1 > %llu {print $1}'", requiredSpace);
++    char c = 0;
++
++    if (0 == (fpipe = (FILE*)popen(command, "r")))
++    {
++        cWarning() << "Failed to check storage size.";
++        return false;
++    }
++
++    while (fread(&c, sizeof c, 1, fpipe))
++    {
++        pclose(fpipe);
++        return true;
++    }
++
++    pclose(fpipe);
++
++    return false;
++}
+ 
+ bool
+ GeneralRequirements::checkEnoughRam( qint64 requiredRam )
+diff --git a/src/modules/welcome/checker/GeneralRequirements.h b/src/modules/welcome/checker/GeneralRequirements.h
+index b6646da11..ea27324fa 100644
+--- a/src/modules/welcome/checker/GeneralRequirements.h
++++ b/src/modules/welcome/checker/GeneralRequirements.h
+@@ -36,6 +36,7 @@ private:
+     bool checkHasPower();
+     bool checkHasInternet();
+     bool checkIsRoot();
++    bool big_enough( qint64 requiredSpace );
+ 
+     qreal m_requiredStorageGiB;
+     qreal m_requiredRamGiB;
diff --git a/pkgs/tools/misc/calamares/packagechooserq.patch b/pkgs/tools/misc/calamares/packagechooserq.patch
new file mode 100644
index 00000000000..90a7b22de8b
--- /dev/null
+++ b/pkgs/tools/misc/calamares/packagechooserq.patch
@@ -0,0 +1,136 @@
+diff --git a/src/modules/packagechooser/Config.cpp b/src/modules/packagechooser/Config.cpp
+index 491fe5c25..667621597 100644
+--- a/src/modules/packagechooser/Config.cpp
++++ b/src/modules/packagechooser/Config.cpp
+@@ -237,6 +237,12 @@ Config::setPackageChoice( const QString& packageChoice )
+     emit packageChoiceChanged( m_packageChoice.value_or( QString() ) );
+ }
+ 
++QString
++Config::prettyName() const
++{
++    return m_stepName ? m_stepName->get() : tr( "Packages" );
++}
++
+ QString
+ Config::prettyStatus() const
+ {
+@@ -343,4 +349,14 @@ Config::setConfigurationMap( const QVariantMap& configurationMap )
+             cWarning() << "Single-selection QML module must use 'Legacy' method.";
+         }
+     }
++
++    bool labels_ok = false;
++    auto labels = CalamaresUtils::getSubMap( configurationMap, "labels", labels_ok );
++    if ( labels_ok )
++    {
++        if ( labels.contains( "step" ) )
++        {
++            m_stepName = new CalamaresUtils::Locale::TranslatedString( labels, "step" );
++        }
++    }
+ }
+diff --git a/src/modules/packagechooser/Config.h b/src/modules/packagechooser/Config.h
+index b04b1c30b..d1b783a8d 100644
+--- a/src/modules/packagechooser/Config.h
++++ b/src/modules/packagechooser/Config.h
+@@ -98,6 +98,7 @@ public:
+     QString packageChoice() const { return m_packageChoice.value_or( QString() ); }
+     void setPackageChoice( const QString& packageChoice );
+ 
++    QString prettyName() const;
+     QString prettyStatus() const;
+ 
+ signals:
+@@ -120,6 +121,7 @@ private:
+      * Reading the property will return an empty QString.
+      */
+     std::optional< QString > m_packageChoice;
++    CalamaresUtils::Locale::TranslatedString* m_stepName;  // As it appears in the sidebar
+ };
+ 
+ 
+diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp
+index 9057004de..8eacf82ec 100644
+--- a/src/modules/packagechooser/PackageChooserViewStep.cpp
++++ b/src/modules/packagechooser/PackageChooserViewStep.cpp
+@@ -29,7 +29,6 @@ PackageChooserViewStep::PackageChooserViewStep( QObject* parent )
+     : Calamares::ViewStep( parent )
+     , m_config( new Config( this ) )
+     , m_widget( nullptr )
+-    , m_stepName( nullptr )
+ {
+     emit nextStatusChanged( false );
+ }
+@@ -41,14 +40,12 @@ PackageChooserViewStep::~PackageChooserViewStep()
+     {
+         m_widget->deleteLater();
+     }
+-    delete m_stepName;
+ }
+ 
+-
+ QString
+ PackageChooserViewStep::prettyName() const
+ {
+-    return m_stepName ? m_stepName->get() : tr( "Packages" );
++    return m_config->prettyName();
+ }
+ 
+ 
+@@ -139,16 +136,6 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap
+     m_config->setDefaultId( moduleInstanceKey() );
+     m_config->setConfigurationMap( configurationMap );
+ 
+-    bool labels_ok = false;
+-    auto labels = CalamaresUtils::getSubMap( configurationMap, "labels", labels_ok );
+-    if ( labels_ok )
+-    {
+-        if ( labels.contains( "step" ) )
+-        {
+-            m_stepName = new CalamaresUtils::Locale::TranslatedString( labels, "step" );
+-        }
+-    }
+-
+     if ( m_widget )
+     {
+         hookupModel();
+diff --git a/src/modules/packagechooser/PackageChooserViewStep.h b/src/modules/packagechooser/PackageChooserViewStep.h
+index 7561f2bd7..76b35aed8 100644
+--- a/src/modules/packagechooser/PackageChooserViewStep.h
++++ b/src/modules/packagechooser/PackageChooserViewStep.h
+@@ -50,7 +50,6 @@ private:
+ 
+     Config* m_config;
+     PackageChooserPage* m_widget;
+-    CalamaresUtils::Locale::TranslatedString* m_stepName;  // As it appears in the sidebar
+ };
+ 
+ CALAMARES_PLUGIN_FACTORY_DECLARATION( PackageChooserViewStepFactory )
+diff --git a/src/modules/packagechooserq/PackageChooserQmlViewStep.cpp b/src/modules/packagechooserq/PackageChooserQmlViewStep.cpp
+index 543c9771d..7c4d5fda7 100644
+--- a/src/modules/packagechooserq/PackageChooserQmlViewStep.cpp
++++ b/src/modules/packagechooserq/PackageChooserQmlViewStep.cpp
+@@ -29,7 +29,7 @@ PackageChooserQmlViewStep::PackageChooserQmlViewStep( QObject* parent )
+ QString
+ PackageChooserQmlViewStep::prettyName() const
+ {
+-    return tr( "Packages" );
++    return m_config->prettyName();
+ }
+ 
+ QString
+@@ -83,4 +83,13 @@ PackageChooserQmlViewStep::setConfigurationMap( const QVariantMap& configuration
+     m_config->setDefaultId( moduleInstanceKey() );
+     m_config->setConfigurationMap( configurationMap );
+     Calamares::QmlViewStep::setConfigurationMap( configurationMap );  // call parent implementation last
++    /*bool labels_ok = false;
++    auto labels = CalamaresUtils::getSubMap( configurationMap, "labels", labels_ok );
++    if ( labels_ok )
++    {
++        if ( labels.contains( "step" ) )
++        {
++            m_stepName = new CalamaresUtils::Locale::TranslatedString( labels, "step" );
++        }
++    }*/
+ }
diff --git a/pkgs/tools/misc/calamares/partitions.patch b/pkgs/tools/misc/calamares/partitions.patch
new file mode 100644
index 00000000000..ae3c7961ae6
--- /dev/null
+++ b/pkgs/tools/misc/calamares/partitions.patch
@@ -0,0 +1,28 @@
+diff --git a/src/modules/partition/gui/CreatePartitionDialog.cpp b/src/modules/partition/gui/CreatePartitionDialog.cpp
+index c5b17c69e..353b6f964 100644
+--- a/src/modules/partition/gui/CreatePartitionDialog.cpp
++++ b/src/modules/partition/gui/CreatePartitionDialog.cpp
+@@ -107,7 +107,8 @@ CreatePartitionDialog::CreatePartitionDialog( Device* device,
+     {
+         // We need to ensure zfs is added to the list if the zfs module is enabled
+         if ( ( fs->type() == FileSystem::Type::Zfs && Calamares::Settings::instance()->isModuleEnabled( "zfs" ) )
+-             || ( fs->supportCreate() != FileSystem::cmdSupportNone && fs->type() != FileSystem::Extended ) )
++             || ( fs->supportCreate() != FileSystem::cmdSupportNone && fs->type() != FileSystem::Extended
++             && fs->type() != FileSystem::Luks && fs->type() != FileSystem::Luks2 && fs->type() != FileSystem::Minix ) )
+         {
+             fsNames << userVisibleFS( fs );  // This is put into the combobox
+             if ( fs->type() == defaultFSType )
+diff --git a/src/modules/partition/gui/EditExistingPartitionDialog.cpp b/src/modules/partition/gui/EditExistingPartitionDialog.cpp
+index 0bc35cabe..3cf8a7fa2 100644
+--- a/src/modules/partition/gui/EditExistingPartitionDialog.cpp
++++ b/src/modules/partition/gui/EditExistingPartitionDialog.cpp
+@@ -95,7 +95,8 @@ EditExistingPartitionDialog::EditExistingPartitionDialog( Device* device,
+     {
+         // We need to ensure zfs is added to the list if the zfs module is enabled
+         if ( ( fs->type() == FileSystem::Type::Zfs && Calamares::Settings::instance()->isModuleEnabled( "zfs" ) )
+-             || ( fs->supportCreate() != FileSystem::cmdSupportNone && fs->type() != FileSystem::Extended ) )
++             || ( fs->supportCreate() != FileSystem::cmdSupportNone && fs->type() != FileSystem::Extended
++             && fs->type() != FileSystem::Luks && fs->type() != FileSystem::Luks2 && fs->type() != FileSystem::Minix) )
+         {
+             fsNames << userVisibleFS( fs );  // For the combo box
+         }
diff --git a/pkgs/tools/misc/calamares/uimod.patch b/pkgs/tools/misc/calamares/uimod.patch
new file mode 100644
index 00000000000..5a6ec6cdeea
--- /dev/null
+++ b/pkgs/tools/misc/calamares/uimod.patch
@@ -0,0 +1,85 @@
+diff --git a/src/modules/finished/FinishedPage.cpp b/src/modules/finished/FinishedPage.cpp
+index 6c5f9ad16..24d75e07b 100644
+--- a/src/modules/finished/FinishedPage.cpp
++++ b/src/modules/finished/FinishedPage.cpp
+@@ -71,7 +71,10 @@ FinishedPage::retranslate()
+         {
+             ui->mainText->setText( tr( "<h1>All done.</h1><br/>"
+                                        "%1 has been set up on your computer.<br/>"
+-                                       "You may now start using your new system." )
++                                       "You may now start using your new system.<br/>"
++                                       "You can change every setting later except the bootloader.<br/>"
++                                       "Check the <a href=\"https://nixos.org/manual/nixos/stable/\">manual</a> for instructions on how to install software, upgrade the system or enable services.<br/>"
++                                       "You can find ways to get in touch with the <a href=\"https://nixos.org/community/\">community on the website!</a>")
+                                        .arg( branding->versionedName() ) );
+             ui->restartCheckBox->setToolTip( tr( "<html><head/><body>"
+                                                  "<p>When this box is checked, your system will "
+@@ -84,7 +87,10 @@ FinishedPage::retranslate()
+             ui->mainText->setText( tr( "<h1>All done.</h1><br/>"
+                                        "%1 has been installed on your computer.<br/>"
+                                        "You may now restart into your new system, or continue "
+-                                       "using the %2 Live environment." )
++                                       "using the %2 Live environment.<br/>"
++                                       "You can change every setting later except the bootloader.<br/>"
++                                       "Check the <a href=\"https://nixos.org/manual/nixos/stable/\">manual</a> for instructions on how to install software, upgrade the system or enable services.<br/>"
++                                       "You can find ways to get in touch with the <a href=\"https://nixos.org/community/\">community on the website!</a>")
+                                        .arg( branding->versionedName(), branding->productName() ) );
+             ui->restartCheckBox->setToolTip( tr( "<html><head/><body>"
+                                                  "<p>When this box is checked, your system will "
+diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp
+index 721329c1b..164b9945e 100644
+--- a/src/modules/packagechooser/PackageChooserPage.cpp
++++ b/src/modules/packagechooser/PackageChooserPage.cpp
+@@ -52,6 +52,7 @@ PackageChooserPage::currentChanged( const QModelIndex& index )
+     if ( !index.isValid() || !ui->products->selectionModel()->hasSelection() )
+     {
+         ui->productName->setText( m_introduction.name.get() );
++        ui->productName->setStyleSheet("font-weight: bold");
+         ui->productScreenshot->setPixmap( m_introduction.screenshot );
+         ui->productDescription->setText( m_introduction.description.get() );
+     }
+diff --git a/src/modules/packagechooser/page_package.ui b/src/modules/packagechooser/page_package.ui
+index d021b08b3..fecfa3060 100644
+--- a/src/modules/packagechooser/page_package.ui
++++ b/src/modules/packagechooser/page_package.ui
+@@ -38,19 +38,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
+      </item>
+      <item>
+-      <layout class="QVBoxLayout" name="verticalLayout" stretch="1,30,1">
++      <layout class="QVBoxLayout" name="verticalLayout" stretch="30,1,1">
+-       <item>
+-        <widget class="QLabel" name="productName">
+-         <property name="sizePolicy">
+-          <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+-           <horstretch>0</horstretch>
+-           <verstretch>0</verstretch>
+-          </sizepolicy>
+-         </property>
+-         <property name="text">
+-          <string>Product Name</string>
+-         </property>
+-        </widget>
+-       </item>
+        <item>
+         <widget class="FixedAspectRatioLabel" name="productScreenshot">
+          <property name="sizePolicy">
+@@ -67,6 +54,19 @@ SPDX-License-Identifier: GPL-3.0-or-later
+          </property>
+         </widget>
+        </item>
++       <item>
++        <widget class="QLabel" name="productName">
++         <property name="sizePolicy">
++          <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
++           <horstretch>0</horstretch>
++           <verstretch>0</verstretch>
++          </sizepolicy>
++         </property>
++         <property name="text">
++          <string>Product Name</string>
++         </property>
++        </widget>
++       </item>
+        <item>
+         <widget class="QLabel" name="productDescription">
+          <property name="sizePolicy">
diff --git a/pkgs/tools/misc/calamares/unfreeq.patch b/pkgs/tools/misc/calamares/unfreeq.patch
new file mode 100644
index 00000000000..a234113a726
--- /dev/null
+++ b/pkgs/tools/misc/calamares/unfreeq.patch
@@ -0,0 +1,109 @@
+diff --git a/src/modules/packagechooserq/packagechooserq.qrc b/src/modules/packagechooserq/packagechooserq.qrc
+index 1b892dce1..ee80a934b 100644
+--- a/src/modules/packagechooserq/packagechooserq.qrc
++++ b/src/modules/packagechooserq/packagechooserq.qrc
+@@ -4,5 +4,6 @@
+         <file>images/libreoffice.jpg</file>
+         <file>images/no-selection.png</file>
+         <file>images/plasma.png</file>
++        <file>packagechooserq@unfree.qml</file>
+     </qresource>
+ </RCC>
+diff --git a/src/modules/packagechooserq/packagechooserq@unfree.qml b/src/modules/packagechooserq/packagechooserq@unfree.qml
+new file mode 100644
+index 000000000..cb87d864a
+--- /dev/null
++++ b/src/modules/packagechooserq/packagechooserq@unfree.qml
+@@ -0,0 +1,75 @@
++/* === This file is part of Calamares - <https://calamares.io> ===
++ *
++ *   SPDX-FileCopyrightText: 2021 Anke Boersma <demm@kaosx.us>
++ *   SPDX-License-Identifier: GPL-3.0-or-later
++ *
++ *   Calamares is Free Software: see the License-Identifier above.
++ *
++ */
++
++import io.calamares.core 1.0
++import io.calamares.ui 1.0
++
++import QtQuick 2.15
++import QtQuick.Controls 2.15
++import QtQuick.Layouts 1.3
++
++Item {
++    
++    SystemPalette {
++        id: palette
++        colorGroup: SystemPalette.Active
++    }
++
++    width:  parent.width
++    height: parent.height
++
++    Rectangle {
++        anchors.fill: parent
++        color: palette.window
++
++        ButtonGroup {
++            id: switchGroup
++        }
++
++        Column {
++            id: column
++            anchors.centerIn: parent
++            spacing: 5
++
++            Rectangle {
++                width: 700
++                height: 200
++                color: palette.base
++                radius: 10
++                border.width: 0
++                Text {
++                    color: palette.text
++                    width: 600
++                    height: 150
++                    anchors.centerIn: parent
++                    text: qsTr("NixOS is fully open source, but it also provides software packages with unfree licenses. By default unfree packages are not allowed, but you can enable it here. If you check this box, software installed might have additional End User License Agreements (EULAs) attached. If not enabled, some hardware might not work fully when no suitable open source drivers are available.<br/>")
++                    font.pointSize: 12
++                    wrapMode: Text.WordWrap
++                }
++
++                CheckBox {
++                    id: element2
++                    anchors.horizontalCenter: parent.horizontalCenter
++                    y: 145
++                    text: qsTr("Allow unfree software")
++                    checked: false
++
++                    onCheckedChanged: {
++                        if ( checked ) {
++                            config.packageChoice = "unfree"
++                        } else {
++                            config.packageChoice = "free"
++                        }
++                    }
++                }
++            }
++        }
++    }
++
++}
+diff --git a/src/modules/packagechooserq/unfree.conf b/src/modules/packagechooserq/unfree.conf
+new file mode 100644
+index 000000000..da79a8eac
+--- /dev/null
++++ b/src/modules/packagechooserq/unfree.conf
+@@ -0,0 +1,11 @@
++# SPDX-FileCopyrightText: no
++# SPDX-License-Identifier: CC0-1.0
++#
++---
++qmlLabel:
++    label: "Unfree Software"
++method: legacy
++mode: required
++labels:
++    step: "Unfree Software"
++packageChoice: free
diff --git a/pkgs/tools/misc/calamares/userjob.patch b/pkgs/tools/misc/calamares/userjob.patch
new file mode 100644
index 00000000000..a0bfea9bb05
--- /dev/null
+++ b/pkgs/tools/misc/calamares/userjob.patch
@@ -0,0 +1,31 @@
+diff --git a/src/modules/users/Config.cpp b/src/modules/users/Config.cpp
+index eedfd274d..0f3e78848 100644
+--- a/src/modules/users/Config.cpp
++++ b/src/modules/users/Config.cpp
+@@ -972,26 +972,11 @@ Config::createJobs() const
+ 
+     Calamares::Job* j;
+ 
+-    if ( !m_sudoersGroup.isEmpty() )
+-    {
+-        j = new SetupSudoJob( m_sudoersGroup, m_sudoStyle );
+-        jobs.append( Calamares::job_ptr( j ) );
+-    }
+-
+-    j = new SetupGroupsJob( this );
+-    jobs.append( Calamares::job_ptr( j ) );
+-
+-    j = new CreateUserJob( this );
+-    jobs.append( Calamares::job_ptr( j ) );
+-
+     j = new SetPasswordJob( loginName(), userPassword() );
+     jobs.append( Calamares::job_ptr( j ) );
+ 
+     j = new SetPasswordJob( "root", rootPassword() );
+     jobs.append( Calamares::job_ptr( j ) );
+ 
+-    j = new SetHostNameJob( this );
+-    jobs.append( Calamares::job_ptr( j ) );
+-
+     return jobs;
+ }
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 00d0ef3361f..1562a68067d 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.15.1";
+  version = "2.15.2";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-spIdY28ZC/+6bwWWwKW7Iu2E2eKD7MeRuxEAMN2e3H8=";
+    sha256 = "sha256-zvr1O/HMSoZMtA/+dRO+co8Uy70qV8RPIDK3z8dRD28=";
   };
 
-  vendorSha256 = "sha256-D27a107gjHK4NYkJhZDd0SvhUmmRSl3DX519nglAoPo=";
+  vendorSha256 = "sha256-UAjXCXypR1/SIJIZOS53LTyioKrXOECK9vh9t61W5gc=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/cht.sh/default.nix b/pkgs/tools/misc/cht.sh/default.nix
index 0364065be24..b34b1ee4d51 100644
--- a/pkgs/tools/misc/cht.sh/default.nix
+++ b/pkgs/tools/misc/cht.sh/default.nix
@@ -10,15 +10,15 @@
 
 stdenv.mkDerivation {
   pname = "cht.sh";
-  version = "unstable-2022-04-17";
+  version = "unstable-2022-04-18";
 
   nativeBuildInputs = [ makeWrapper ];
 
   src = fetchFromGitHub {
     owner = "chubin";
     repo = "cheat.sh";
-    rev = "7f769d6f3697541e55fd3ea9b71f190296529e48";
-    sha256 = "+V3q71neW9X0JPJHqvNGopvIJfUv0VD9GKkz7YqN6Eo=";
+    rev = "571377f2f79422398a701cb1864487124ec3dcc6";
+    sha256 = "0e9YhYcxU9t0SFeT1TjoRGTM3h1xRC528ae69tvz+a0=";
   };
 
   # Fix ".cht.sh-wrapped" in the help message
diff --git a/pkgs/tools/misc/cmdpack/default.nix b/pkgs/tools/misc/cmdpack/default.nix
new file mode 100644
index 00000000000..0fe2c75d1ea
--- /dev/null
+++ b/pkgs/tools/misc/cmdpack/default.nix
@@ -0,0 +1,136 @@
+{ stdenv, lib, fetchurl }:
+let
+  mkCmdPackDerivation = { pname, postInstall ? "", description }: stdenv.mkDerivation {
+    inherit pname postInstall;
+
+    version = "1.03";
+
+    src = fetchurl {
+      url = "https://web.archive.org/web/20140330233023/http://www.neillcorlett.com/downloads/cmdpack-1.03-src.tar.gz";
+      sha256 = "0v0a9rpv59w8lsp1cs8f65568qj65kd9qp7854z1ivfxfpq0da2n";
+    };
+
+    buildPhase = ''
+      runHook preBuild
+
+      gcc -o ${pname} src/${pname}.c
+
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/bin
+      cp ${pname} $out/bin
+
+      runHook postInstall
+    '';
+
+    meta = with lib; {
+      inherit description;
+
+      homepage = "https://web.archive.org/web/20140330233023/http://www.neillcorlett.com/cmdpack/";
+      platforms = platforms.all;
+      license = licenses.gpl3Plus;
+      maintainers = with maintainers; [ zane ];
+    };
+  };
+in
+{
+  bin2iso = mkCmdPackDerivation {
+    pname = "bin2iso";
+    description = "Convert CD .BIN to .ISO";
+  };
+
+  bincomp = mkCmdPackDerivation {
+    pname = "bincomp";
+    description = "Compare binary files";
+  };
+
+  brrrip = mkCmdPackDerivation {
+    pname = "brrrip";
+    description = "Rip SNES BRR sound samples";
+  };
+
+  byteshuf = mkCmdPackDerivation {
+    pname = "byteshuf";
+    description = "Shuffle or unshuffle bytes in a file";
+  };
+
+  byteswap = mkCmdPackDerivation {
+    pname = "byteswap";
+    description = "Swap byte order of files";
+  };
+
+  cdpatch = mkCmdPackDerivation {
+    pname = "cdpatch";
+    description = "CD-XA image insert/extract utility";
+  };
+
+  ecm = mkCmdPackDerivation {
+    pname = "ecm";
+    postInstall = "ln $out/bin/ecm $out/bin/unecm";
+    description = "Encoder/decoder for Error Code Modeler format";
+  };
+
+  fakecrc = mkCmdPackDerivation {
+    pname = "fakecrc";
+    description = "Fake the CRC32 of a file";
+  };
+
+  hax65816 = mkCmdPackDerivation {
+    pname = "hax65816";
+    description = "Simple 65816 disassembler";
+  };
+
+  id3point = mkCmdPackDerivation {
+    pname = "id3point";
+    description = "Pointless ID3v1 Tagger";
+  };
+
+  pecompat = mkCmdPackDerivation {
+    pname = "pecompat";
+    description = "Maximize compatibility of a Win32 PE file";
+  };
+
+  rels = mkCmdPackDerivation {
+    pname = "rels";
+    description = "Relative Searcher";
+  };
+
+  screamf = mkCmdPackDerivation {
+    pname = "screamf";
+    description = ".AMF to .S3M converter";
+  };
+
+  subfile = mkCmdPackDerivation {
+    pname = "subfile";
+    description = "Extract a portion of a file";
+  };
+
+  uips = mkCmdPackDerivation {
+    pname = "uips";
+    description = "Universal IPS patch create/apply utility";
+  };
+
+  usfv = mkCmdPackDerivation {
+    pname = "usfv";
+    description = "Universal SFV create/verify utility";
+  };
+
+  vb2rip = mkCmdPackDerivation {
+    pname = "vb2rip";
+    description = "VB2 sound format ripping utility";
+  };
+
+  wordadd = mkCmdPackDerivation {
+    pname = "wordadd";
+    description = "Addition word puzzle solver";
+  };
+
+  zerofill = mkCmdPackDerivation {
+    pname = "zerofill";
+    description = "Create a large, empty file";
+  };
+}
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 86a91a09c3e..da60a80f77f 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -113,8 +113,10 @@ stdenv.mkDerivation (rec {
   # Darwin (http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/19351),
   # and {Open,Free}BSD.
   # With non-standard storeDir: https://github.com/NixOS/nix/issues/512
+  # On aarch64+musl, test-init.sh fails due to a segfault in diff.
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform
     && (stdenv.hostPlatform.libc == "glibc" || stdenv.hostPlatform.isMusl)
+    && !(stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isAarch64)
     && !stdenv.isAarch32;
 
   # Prevents attempts of running 'help2man' on cross-built binaries.
diff --git a/pkgs/tools/misc/cpufetch/default.nix b/pkgs/tools/misc/cpufetch/default.nix
index ca38cf89987..1407f875b21 100644
--- a/pkgs/tools/misc/cpufetch/default.nix
+++ b/pkgs/tools/misc/cpufetch/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpufetch";
-  version = "1.01";
+  version = "1.02";
 
   src = fetchFromGitHub {
     owner = "Dr-Noob";
     repo = "cpufetch";
     rev = "v${version}";
-    sha256 = "sha256-vae/59eEDuZUDsTHE93mi+L8WBr3H4zp+mzXg7WWusA=";
+    sha256 = "sha256-bhw7+z4/50MrC5WyexHhtzmqnovwiA9X6Q2TcznDYZM=";
   };
 
   nativeBuildInputs = [
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Simplistic yet fancy CPU architecture fetching tool";
-    license = licenses.mit;
+    license = licenses.gpl2Only;
     homepage = "https://github.com/Dr-Noob/cpufetch";
     changelog = "https://github.com/Dr-Noob/cpufetch/releases/tag/v${version}";
     maintainers = with maintainers; [ devhell ];
diff --git a/pkgs/tools/misc/czkawka/default.nix b/pkgs/tools/misc/czkawka/default.nix
index fbe3a68d584..1bbcaf1f34b 100644
--- a/pkgs/tools/misc/czkawka/default.nix
+++ b/pkgs/tools/misc/czkawka/default.nix
@@ -8,22 +8,22 @@
 , gdk-pixbuf
 , atk
 , gtk3
-, testVersion
+, testers
 , czkawka
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "czkawka";
-  version = "4.0.0";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "qarmin";
     repo = "czkawka";
     rev = version;
-    sha256 = "sha256-UIgyKWMVSKAgUNqfxFYSfP+l9x52XAzrXr1nnfKub9I=";
+    sha256 = "sha256-N7fCYcjhYlFVkvWdFpR5cu98Vy+jStlBkR/vz/k1lLY=";
   };
 
-  cargoSha256 = "sha256-jPrkNKFmdVk3LEa20jtXSx+7S98fSrX7Rt/lexC0Gwo=";
+  cargoSha256 = "sha256-4L7OjJ26Qpl5YuHil7JEYU8xWH65jiyFz0a/ufr7wYQ=";
 
   nativeBuildInputs = [
     pkg-config
@@ -38,7 +38,7 @@ rustPlatform.buildRustPackage rec {
     gtk3
   ];
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = czkawka;
     command = "czkawka_cli --version";
   };
diff --git a/pkgs/tools/misc/datefmt/default.nix b/pkgs/tools/misc/datefmt/default.nix
index 01927fedc28..c70d04326fc 100644
--- a/pkgs/tools/misc/datefmt/default.nix
+++ b/pkgs/tools/misc/datefmt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, datefmt, testVersion }:
+{ lib, stdenv, fetchurl, datefmt, testers }:
 
 stdenv.mkDerivation rec {
   pname = "datefmt";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" ];
 
-  passthru.tests.version = testVersion { package = datefmt; };
+  passthru.tests.version = testers.testVersion { package = datefmt; };
 
   meta = with lib; {
     homepage = "https://jb55.com/datefmt";
diff --git a/pkgs/tools/misc/didyoumean/default.nix b/pkgs/tools/misc/didyoumean/default.nix
new file mode 100644
index 00000000000..cd7b8270a1a
--- /dev/null
+++ b/pkgs/tools/misc/didyoumean/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, libxcb
+# Darwin dependencies
+, AppKit
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "didyoumean";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "hisbaan";
+    repo = "didyoumean";
+    rev = "v${version}";
+    sha256 = "sha256-t2bmvz05vWIxQhC474q/9uky1kAQoFN8Z+qflw5Vj68=";
+  };
+
+  cargoSha256 = "sha256-4DbziI9enib4pm9/P4WEu15glIxtejaV2GCqbzuxxyw=";
+
+  buildInputs = lib.optional stdenv.isLinux [ libxcb ]
+    ++ lib.optionals stdenv.isDarwin [ AppKit ];
+
+  meta = with lib; {
+    description = "A CLI spelling corrector for when you're unsure";
+    homepage = "https://github.com/hisbaan/didyoumean";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ evanjs ];
+  };
+}
diff --git a/pkgs/tools/misc/dotter/default.nix b/pkgs/tools/misc/dotter/default.nix
index fdfabf8f778..5ca26be420e 100644
--- a/pkgs/tools/misc/dotter/default.nix
+++ b/pkgs/tools/misc/dotter/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dotter";
-  version = "0.12.9";
+  version = "0.12.10";
 
   src = fetchFromGitHub {
     owner = "SuperCuber";
     repo = "dotter";
-    rev = version;
-    sha256 = "0rxinrm110i5cbkl7c7vgk7dl0x79cg6g23bdjixsg7h0572c2gi";
+    rev = "v${version}";
+    hash = "sha256-uSM7M//3LHzdLSOruTyu46sp1a6LeodT2cCEFsuoPW4=";
   };
 
-  cargoSha256 = "0fr2dvzbpwqvf98wwrxv76nwbrv4m9ppx7br4x78gm8dhf2nj4zx";
+  cargoHash = "sha256-JpMEC2HjAQLQiXHSE6L0HBDc0vLhd465wDK2+35aBXA=";
 
   checkInputs = [ which ];
 
diff --git a/pkgs/tools/misc/dsq/default.nix b/pkgs/tools/misc/dsq/default.nix
index bb884c5a293..72cc82282e3 100644
--- a/pkgs/tools/misc/dsq/default.nix
+++ b/pkgs/tools/misc/dsq/default.nix
@@ -4,53 +4,57 @@
 , buildGoModule
 , runCommand
 , nix-update-script
+, fetchurl
+, testers
+, python3
+, curl
+, jq
 , dsq
-, testVersion
-, diffutils
 }:
 
 buildGoModule rec {
   pname = "dsq";
-  version = "0.14.0";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "multiprocessio";
     repo = "dsq";
     rev = version;
-    hash = "sha256-BhWcl0yMpTi/6+dFk6wX/rMkH1k9m9eVm40iNwZGrJM=";
+    hash = "sha256-emBLYiNOHYp3XsaY172DDtIdquj3U3U/Q6bogC3rvFQ=";
   };
 
-  vendorSha256 = "sha256-mSF2oNdTKAg3iRejKkn24hSCJDM6iOkRMruic73ceX4=";
-
-  nativeBuildInputs = [ diffutils ];
+  vendorSha256 = "sha256-ZZDZ3FWgOpRJB+X1hrlP8Hh1n3l7jUd39H5MDz88wOs=";
 
   ldflags = [ "-X" "main.Version=${version}" ];
 
+  checkInputs = [ python3 curl jq ];
+
+  preCheck =
+    let
+      taxiCsv = fetchurl {
+        url = "https://s3.amazonaws.com/nyc-tlc/trip+data/yellow_tripdata_2021-04.csv";
+        hash = "sha256-CXJPraOYAy5tViDcBi9gxI/rJ3ZXqOa/nJ/d+aREV+M=";
+      };
+    in
+    ''
+      substituteInPlace scripts/test.py \
+        --replace '${taxiCsv.url}' file://${taxiCsv} \
+        --replace 'dsq latest' 'dsq ${version}'
+    '';
+
+  checkPhase = ''
+    runHook preCheck
+
+    cp "$GOPATH/bin/dsq" .
+    python3 scripts/test.py
+
+    runHook postCheck
+  '';
+
   passthru = {
     updateScript = nix-update-script { attrPath = pname; };
 
-    tests = {
-      version = testVersion { package = dsq; };
-
-      pretty-csv = runCommand "${pname}-test" { } ''
-        mkdir "$out"
-        cat <<EOF > "$out/input.csv"
-        first,second
-        1,a
-        2,b
-        EOF
-        cat <<EOF > "$out/expected.txt"
-        +-------+--------+
-        | first | second |
-        +-------+--------+
-        |     1 | a      |
-        |     2 | b      |
-        +-------+--------+
-        EOF
-        ${dsq}/bin/dsq --pretty "$out/input.csv" 'select first, second from {}' > "$out/actual.txt"
-        diff "$out/expected.txt" "$out/actual.txt"
-      '';
-    };
+    tests.version = testers.testVersion { package = dsq; };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/esphome/dashboard.nix b/pkgs/tools/misc/esphome/dashboard.nix
index dfb61ca29ad..1f101735e98 100644
--- a/pkgs/tools/misc/esphome/dashboard.nix
+++ b/pkgs/tools/misc/esphome/dashboard.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "esphome-dashboard";
-  version = "20220209.0";
+  version = "20220309.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-FkFu3SvsowcsOFXvqWmpY3KEypXSb6KcpC/nJbQpDBA=";
+    sha256 = "sha256-J/T3Av0jwT0CJSwc0j+YjaiKFqs9soLf7ctpiz5rmm4=";
   };
 
   # no tests
diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix
index de39a6e7f38..3ce65eb2038 100644
--- a/pkgs/tools/misc/esphome/default.nix
+++ b/pkgs/tools/misc/esphome/default.nix
@@ -15,14 +15,14 @@ let
 in
 with python.pkgs; buildPythonApplication rec {
   pname = "esphome";
-  version = "2022.3.2";
+  version = "2022.4.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-s5NisPUoppROM/p7qm1da4lStpAWZvk18zkUEsOn0Pg=";
+    sha256 = "sha256-/IMiUMtWFouAjOlyq+BXvqQ1IddBXvua7y0i4J1cktM=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index d46815e8bf2..f80de50ea55 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -3,15 +3,16 @@
 , fetchurl
 , libmnl
 , pkg-config
+, writeScript
 }:
 
 stdenv.mkDerivation rec {
   pname = "ethtool";
-  version = "5.16";
+  version = "5.17";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-qi/vGTbdShF1XfoL25Pw7FvqRSCNJ8l1S8Or4apCwcs=";
+    sha256 = "sha256-ZKuRS5xrRQRyRdkfQLh2CycomSqeWvInF8ZEI46IkTM=";
   };
 
   nativeBuildInputs = [
@@ -22,6 +23,22 @@ stdenv.mkDerivation rec {
     libmnl
   ];
 
+  passthru = {
+    updateScript = writeScript "update-ethtool" ''
+      #!/usr/bin/env nix-shell
+      #!nix-shell -i bash -p curl pcre common-updater-scripts
+
+      set -eu -o pipefail
+
+      # Expect the text in format of '<a href="ethtool-VER.tar.xz">...</a>'
+      # The page always lists versions newest to oldest. Pick the first one.
+      new_version="$(curl -s https://mirrors.edge.kernel.org/pub/software/network/ethtool/ |
+          pcregrep -o1 '<a href="ethtool-([0-9.]+)[.]tar[.]xz">' |
+          head -n1)"
+      update-source-version ${pname} "$new_version"
+    '';
+  };
+
   meta = with lib; {
     description = "Utility for controlling network drivers and hardware";
     homepage = "https://www.kernel.org/pub/software/network/ethtool/";
diff --git a/pkgs/tools/misc/fclones/default.nix b/pkgs/tools/misc/fclones/default.nix
index 2854456c1b0..874e3525f69 100644
--- a/pkgs/tools/misc/fclones/default.nix
+++ b/pkgs/tools/misc/fclones/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fclones";
-  version = "0.20.1";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "pkolaczk";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3xIJkV/BC+qdMP2vsUr5wIwqzaz2uCV/j6VdC6uvzgY=";
+    sha256 = "sha256-ICuhBoiCBmoy+jW+OK5OU5oAopyyOxSB6uHpZv2dEKI=";
   };
 
-  cargoSha256 = "sha256-GN8vz67/Pd39E3iYeqVfjC7zxvcA8u88lv42kWovlCo=";
+  cargoSha256 = "sha256-NXkXxRDJcfB2F7hXF5nBFnQ+IFhZTSHg915NyRyuS8c=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     AppKit
diff --git a/pkgs/tools/misc/fortune/default.nix b/pkgs/tools/misc/fortune/default.nix
index 988483fbd6a..3e6ebb2f0d6 100644
--- a/pkgs/tools/misc/fortune/default.nix
+++ b/pkgs/tools/misc/fortune/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DLOCALDIR=${placeholder "out"}/share/fortunes"
+    "-DNO_OFFENSIVE=true"
   ];
 
   patches = [ (builtins.toFile "not-a-game.patch" ''
@@ -36,6 +37,10 @@ stdenv.mkDerivation rec {
     --
   '') ];
 
+  postFixup = ''
+    rm -f $out/share/fortunes/men-women*
+  '';
+
   meta = with lib; {
     mainProgram = "fortune";
     description = "A program that displays a pseudorandom message from a database of quotations";
diff --git a/pkgs/tools/misc/gay/default.nix b/pkgs/tools/misc/gay/default.nix
index 799473a4b9f..471ac86afcb 100644
--- a/pkgs/tools/misc/gay/default.nix
+++ b/pkgs/tools/misc/gay/default.nix
@@ -1,16 +1,12 @@
-{ lib, python3Packages, fetchFromGitHub }:
+{ lib, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
   pname = "gay";
   version = "1.2.8";
 
-  src = fetchFromGitHub {
-    owner = "ms-jpq";
-    repo = "gay";
-    # The repo doesn't have any tags
-    # This references version 1.2.8
-    rev = "1e3e96815c68214533a925c86a52b0acf832a359";
-    sha256 = "sha256-vouEFybcz27bcw/CpAGjFY8NYWQC+V0IE7h1a8XufZ0=";
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-/4IHqAoJthKvNyKqUgnGOQkgbC0aBEZ+x6dmKWUHXh0=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/geekbench/4.nix b/pkgs/tools/misc/geekbench/4.nix
new file mode 100644
index 00000000000..03a79644ffb
--- /dev/null
+++ b/pkgs/tools/misc/geekbench/4.nix
@@ -0,0 +1,41 @@
+{ lib, stdenv, fetchurl, makeWrapper, ocl-icd, vulkan-loader, linuxPackages }:
+
+stdenv.mkDerivation rec {
+  pname = "geekbench";
+  version = "4.4.4";
+
+  src = fetchurl {
+    url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
+    sha256 = "sha256-KVsBE0ueWewmoVY/vzxX2sKhRTzityPNR+wmTwZBWiI=";
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/lib
+    cp -r geekbench.plar geekbench4 geekbench_x86_64 $out/bin
+
+    # needed for compute benchmark
+    ln -s ${linuxPackages.nvidia_x11}/lib/libcuda.so $out/lib/
+    ln -s ${ocl-icd}/lib/libOpenCL.so $out/lib/
+    ln -s ${ocl-icd}/lib/libOpenCL.so.1 $out/lib/
+    ln -s ${vulkan-loader}/lib/libvulkan.so $out/lib/
+    ln -s ${vulkan-loader}/lib/libvulkan.so.1 $out/lib/
+
+    for f in geekbench4 geekbench_x86_64 ; do
+      patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) $out/bin/$f
+      wrapProgram $out/bin/$f --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}:$out/lib/"
+    done
+  '';
+
+  meta = with lib; {
+    description = "Cross-platform benchmark";
+    homepage = "https://geekbench.com/";
+    license = licenses.unfree;
+    maintainers = [ maintainers.michalrus ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/tools/misc/github-backup/default.nix b/pkgs/tools/misc/github-backup/default.nix
index 3ab7f10909e..801848b6ec8 100644
--- a/pkgs/tools/misc/github-backup/default.nix
+++ b/pkgs/tools/misc/github-backup/default.nix
@@ -6,11 +6,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "github-backup";
-  version = "0.40.1";
+  version = "0.41.0";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Qrj0+4WXlW0UgG2xV/P8e0QgUG3VurY4HIAiiUF3LW8=";
+    sha256 = "6e6462125b930de4d28efed7ee0d4377e77371a4918768436c3cecf79cc87078";
   };
 
   makeWrapperArgs = [
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index 64c7c9cebda..412f2733304 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "goreleaser";
-  version = "1.8.1";
+  version = "1.8.3";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-P4F/5n08vony4ed9o62NCK0UXjpRo+jjadQK1ke0Tl0=";
+    sha256 = "sha256-EqUaJHlZupk8CP0ob8pL5tAW/bzG38eZmA4hgTg1jYY=";
   };
 
   vendorSha256 = "sha256-UAApPni4zIAQVOmPAah5vEE8kTrGaJ3irjtsukBNVHo=";
diff --git a/pkgs/tools/misc/gosu/default.nix b/pkgs/tools/misc/gosu/default.nix
index d4c233007d2..80daf996b85 100644
--- a/pkgs/tools/misc/gosu/default.nix
+++ b/pkgs/tools/misc/gosu/default.nix
@@ -1,24 +1,29 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, testers, gosu }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "gosu";
-  version = "unstable-2017-05-09";
-
-  goPackagePath = "github.com/tianon/gosu";
+  version = "1.14";
 
   src = fetchFromGitHub {
     owner = "tianon";
     repo = "gosu";
-    rev = "e87cf95808a7b16208515c49012aa3410bc5bba8";
-    sha256 = "sha256-Ff0FXJg3z8akof+/St1JJu1OO1kS5gMtxSRnCLpj4eI=";
+    rev = version;
+    sha256 = "sha256-qwoHQB37tY8Pz8CHleYZI+SGkbHG7P/vgfXVMSyqi10=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-yxrOLCtSrY/a84N5yRWGUx1L425TckjvRyn/rtkzsRY=";
+
+  ldflags = [ "-d" "-s" "-w" ];
+
+  passthru.tests.version = testers.testVersion {
+    package = gosu;
+  };
 
-  meta = {
-    description= "Tool that avoids TTY and signal-forwarding behavior of sudo and su";
+  meta = with lib; {
+    description = "Tool that avoids TTY and signal-forwarding behavior of sudo and su";
     homepage = "https://github.com/tianon/gosu";
     license = lib.licenses.gpl3;
+    maintainers = with maintainers; [ aaronjheng ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/gosu/deps.nix b/pkgs/tools/misc/gosu/deps.nix
deleted file mode 100644
index 9bdfa392340..00000000000
--- a/pkgs/tools/misc/gosu/deps.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/opencontainers/runc";
-    fetch = {
-      type = "git";
-      url = "https://github.com/opencontainers/runc";
-      rev = "5274430fee9bc930598cfd9c9dbd33213f79f96e";
-      sha256 = "149057gm2y1mc45s7bh43c1ngjg1m54jkpaxw534ir9v5mb1zsxx";
-    };
-  }
-]
diff --git a/pkgs/tools/misc/gummy/default.nix b/pkgs/tools/misc/gummy/default.nix
index cc1b68b7c0e..defe5950a11 100644
--- a/pkgs/tools/misc/gummy/default.nix
+++ b/pkgs/tools/misc/gummy/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, testVersion
+, testers
 , gummy
 , cmake
 , libX11
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
     ln -s $out/libexec/gummyd $out/bin/gummyd
   '';
 
-  passthru.tests.version = testVersion { package = gummy; };
+  passthru.tests.version = testers.testVersion { package = gummy; };
 
   meta = with lib; {
     homepage = "https://github.com/Fushko/gummy";
diff --git a/pkgs/tools/misc/idutils/default.nix b/pkgs/tools/misc/idutils/default.nix
index e43ab2ae879..6a4fa896161 100644
--- a/pkgs/tools/misc/idutils/default.nix
+++ b/pkgs/tools/misc/idutils/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, emacs, gnulib, autoconf, bison, automake, gettext, gperf, texinfo, perl, rsync, gawk}:
+{ fetchurl, lib, stdenv, emacs, gnulib, autoconf, bison, automake, gettext, gperf, texinfo, perl, rsync}:
 
 stdenv.mkDerivation rec {
   pname = "idutils";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     '';
 
   buildInputs = lib.optional stdenv.isLinux emacs;
-  nativeBuildInputs = [ gnulib autoconf bison automake gettext gperf texinfo perl rsync gawk ];
+  nativeBuildInputs = [ gnulib autoconf bison automake gettext gperf texinfo perl rsync ];
 
   doCheck = !stdenv.isDarwin;
 
diff --git a/pkgs/tools/misc/ikill/default.nix b/pkgs/tools/misc/ikill/default.nix
new file mode 100644
index 00000000000..176c2f37829
--- /dev/null
+++ b/pkgs/tools/misc/ikill/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "ikill";
+  version = "1.5.0";
+
+  src = fetchFromGitHub {
+    owner = "pjmp";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-sxFuDHlrEO2/gA9I++yNAISvsF7wFjSMUI+diVM/+EI=";
+  };
+
+  cargoSha256 = "sha256-dJa+bXJTA2Jju1p29Fyj87N0Pr/l6XRr3QqemhD2BAA=";
+
+  meta = with lib; {
+    description = "Interactively kill running processes";
+    homepage = "https://github.com/pjmp/ikill";
+    maintainers = with maintainers; [ zendo ];
+    license = [ licenses.mit ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/kargo/default.nix b/pkgs/tools/misc/kargo/default.nix
index 34b93403487..91fcbf43ed8 100644
--- a/pkgs/tools/misc/kargo/default.nix
+++ b/pkgs/tools/misc/kargo/default.nix
@@ -12,7 +12,7 @@ buildPythonApplication rec {
   };
 
   propagatedBuildInputs = [
-    ansible
+    ansible-core
     boto
     cffi
     cryptography
diff --git a/pkgs/tools/misc/lookatme/default.nix b/pkgs/tools/misc/lookatme/default.nix
deleted file mode 100644
index 7d2f7338ec2..00000000000
--- a/pkgs/tools/misc/lookatme/default.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-{ lib, python3, fetchFromGitHub }:
-
-let
-  py = python3.override {
-    packageOverrides = self: super: {
-      self = py;
-      # use click 7
-      click = self.callPackage ../../../development/python2-modules/click/default.nix { };
-      # needs pyyaml 5
-      pyyaml = super.pyyaml.overridePythonAttrs (oldAttrs: rec {
-        name = "${oldAttrs.pname}-${version}";
-        version = "5.4.1";
-        src = fetchFromGitHub {
-          owner = "yaml";
-          repo = "pyyaml";
-          rev = version;
-          sha256 = "sha256-VUqnlOF/8zSOqh6JoEYOsfQ0P4g+eYqxyFTywgCS7gM=";
-        };
-        checkPhase = ''
-          runHook preCheck
-          PYTHONPATH="tests/lib3:$PYTHONPATH" ${self.python.interpreter} -m test_all
-          runHook postCheck
-        '';
-      });
-    };
-  };
-in
-with py.pkgs;
-
-buildPythonApplication rec {
-  pname = "lookatme";
-  version = "2.3.2";
-  format = "setuptools";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-qIZMkgOm5jXmxTFLTqMBhpLBhfCL8xvUxxqpS6NjcVw=";
-  };
-
-  checkInputs = [
-    pytest-mock
-    pytestCheckHook
-    six
-  ];
-
-  disabledTests = [
-    # https://github.com/d0c-s4vage/lookatme/issues/126
-    "test_sanity_check_that_errors_are_detected"
-    "test_styles_defaults"
-  ];
-
-  propagatedBuildInputs = [
-    click
-    pyyaml
-    pygments
-    marshmallow
-    mistune
-    urwid
-  ];
-
-  meta = with lib; {
-    description = "An interactive, terminal-based markdown presenter";
-    homepage = "https://github.com/d0c-s4vage/lookatme";
-    license = licenses.mit;
-    maintainers = with maintainers; [ ameer ];
-  };
-}
diff --git a/pkgs/tools/misc/lrzsz/default.nix b/pkgs/tools/misc/lrzsz/default.nix
index e4b5e71a256..e097ab12f08 100644
--- a/pkgs/tools/misc/lrzsz/default.nix
+++ b/pkgs/tools/misc/lrzsz/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  makeFlags = [ "AR:=$(AR)" ];
+
   nativeBuildInputs = [ gettext ];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/tools/misc/lsd/default.nix b/pkgs/tools/misc/lsd/default.nix
index d72fad1a666..dc370b6a3e7 100644
--- a/pkgs/tools/misc/lsd/default.nix
+++ b/pkgs/tools/misc/lsd/default.nix
@@ -2,7 +2,8 @@
 , fetchFromGitHub
 , rustPlatform
 , installShellFiles
-, testVersion
+, pandoc
+, testers
 , lsd
 }:
 
@@ -19,15 +20,18 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-P0HJVp2ReJuLSZrArw/EAfLFDOZqswI0nD1SCHwegoE=";
 
-  nativeBuildInputs = [ installShellFiles ];
+  nativeBuildInputs = [ installShellFiles pandoc ];
   postInstall = ''
+    pandoc --standalone --to man doc/lsd.md -o lsd.1
+    installManPage lsd.1
+
     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.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = lsd;
   };
 
diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix
index 4f08f9e63b8..8992e9ff0da 100644
--- a/pkgs/tools/misc/man-db/default.nix
+++ b/pkgs/tools/misc/man-db/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "doc" ];
   outputMan = "out"; # users will want `man man` to work
 
+  strictDeps = true;
   nativeBuildInputs = [ autoreconfHook groff makeWrapper pkg-config zstd ];
   buildInputs = [ libpipeline db groff ]; # (Yes, 'groff' is both native and build input)
   checkInputs = [ libiconv /* for 'iconv' binary */ ];
@@ -41,12 +42,6 @@ stdenv.mkDerivation rec {
 
     # Add mandb locations for the above
     echo "MANDB_MAP	/nix/var/nix/profiles/default/share/man	/var/cache/man/nixpkgs" >> src/man_db.conf.in
-
-    # use absolute paths to reference programs, otherwise artifacts will have undeclared dependencies
-    for f in configure.ac m4/man-check-progs.m4 m4/man-po4a.m4; do
-      substituteInPlace $f \
-        --replace AC_CHECK_PROGS AC_PATH_PROGS
-    done
   '';
 
   configureFlags = [
@@ -72,21 +67,15 @@ stdenv.mkDerivation rec {
     # (multi-call binary). `apropos` is actually just a symlink to whatis. So we need to
     # make sure that we don't wrap symlinks (since that changes argv[0] to the -wrapped name)
     find "$out/bin" -type f | while read file; do
-      wrapProgram "$file" --prefix PATH : "${groff}/bin"
+      wrapProgram "$file" \
+        --prefix PATH : "${lib.getBin groff}/bin" \
+        --prefix PATH : "${lib.getBin zstd}/bin"
     done
   '';
 
-  postFixup = lib.optionalString (buildPackages.groff != groff) ''
-    # Check to make sure none of the outputs depend on build-time-only groff:
-    for outName in $outputs; do
-      out=''${!outName}
-      echo "Checking $outName(=$out) for references to build-time groff..."
-      if grep -r '${buildPackages.groff}' $out; then
-        echo "Found an erroneous dependency on groff ^^^" >&2
-        exit 1
-      fi
-    done
-  '';
+  disallowedReferences = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    buildPackages.groff
+  ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/tools/misc/melody/default.nix b/pkgs/tools/misc/melody/default.nix
index a02994f33a0..f483b699266 100644
--- a/pkgs/tools/misc/melody/default.nix
+++ b/pkgs/tools/misc/melody/default.nix
@@ -2,15 +2,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "melody";
-  version = "0.13.10";
+  version = "0.18.0";
 
   src = fetchCrate {
     pname = "melody_cli";
     inherit version;
-    sha256 = "05slrh5dqbpsvimdr0rlhj04kf1qzwij3zlardvbmvhvfccf4188";
+    sha256 = "1shd5m9sj9ybjzq26ipggfbc22lyzkdzq2kirgfvdk16m5r3jy2v";
   };
 
-  cargoSha256 = "0qh1byysbc6pl3cvx2vdpl8crx5id59hhrwqzk5g7091spm8wf79";
+  cargoSha256 = "0wz696zz7gm36dy3lxxwsiriqxk0nisdwybvknn9a38rvzd6jjbm";
 
   meta = with lib; {
     description = "Language that compiles to regular expressions";
diff --git a/pkgs/tools/misc/mutagen/default.nix b/pkgs/tools/misc/mutagen/default.nix
index 13d54c5f90c..5b6ba782d7d 100644
--- a/pkgs/tools/misc/mutagen/default.nix
+++ b/pkgs/tools/misc/mutagen/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildGoModule, fetchFromGitHub, fetchzip }:
+{ lib, buildGo118Module, fetchFromGitHub, fetchzip }:
 
-buildGoModule rec {
+buildGo118Module rec {
   pname = "mutagen";
-  version = "0.13.1";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "mutagen-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WFEbiPyE029q9+ZXYioESXLm9fmpwihaNwgLcPYQYFE=";
+    sha256 = "sha256-OoRXf0QboRQkZE4zcwlGFyoToGOy1bbgGSo17BQLqCE=";
   };
 
-  vendorSha256 = "sha256-kMX0E3yCg+wRaVMRWNSkeW+dN8b/EG04C0P77x9TQC0=";
+  vendorSha256 = "sha256-dkPpz0SZEAMPR7mq11kDHGCgeIpnXj2lRnJo1Ws32Cc=";
 
   agents = fetchzip {
     name = "mutagen-agents-${version}";
@@ -21,7 +21,7 @@ buildGoModule rec {
     extraPostFetch = ''
       rm $out/mutagen # Keep only mutagen-agents.tar.gz.
     '';
-    sha256 = "sha256-QwPOt2pK9fRPrfvpc6qqr/uBZ/XK8CMlYNSLb7eWzg4=";
+    sha256 = "sha256-AlAo55/ewTE04WfS0beVonGA97AmpR1pAw/QxKAYjv8=";
   };
 
   doCheck = false;
diff --git a/pkgs/tools/misc/ncdu_2/c-import-order.patch b/pkgs/tools/misc/ncdu_2/c-import-order.patch
deleted file mode 100644
index a094f3237ad..00000000000
--- a/pkgs/tools/misc/ncdu_2/c-import-order.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/src/ui.zig b/src/ui.zig
-index 8401910..50171a7 100644
---- a/src/ui.zig
-+++ b/src/ui.zig
-@@ -8,11 +8,11 @@ const main = @import("main.zig");
- const util = @import("util.zig");
-
- pub const c = @cImport({
-+    @cDefine("_XOPEN_SOURCE", "1");
-     @cInclude("stdio.h");
-     @cInclude("string.h");
-     @cInclude("curses.h");
-     @cInclude("time.h");
--    @cDefine("_X_OPEN_SOURCE", "1");
-     @cInclude("wchar.h");
-     @cInclude("locale.h");
- });
diff --git a/pkgs/tools/misc/ncdu_2/default.nix b/pkgs/tools/misc/ncdu_2/default.nix
index a703cf3eca6..0cfb78bcf0b 100644
--- a/pkgs/tools/misc/ncdu_2/default.nix
+++ b/pkgs/tools/misc/ncdu_2/default.nix
@@ -1,18 +1,14 @@
-{ lib, stdenv, fetchurl, fetchpatch, zig, ncurses }:
+{ lib, stdenv, fetchurl, zig, ncurses }:
 
 stdenv.mkDerivation rec {
   pname = "ncdu";
-  version = "2.0";
+  version = "2.1.2";
 
   src = fetchurl {
     url = "https://dev.yorhel.nl/download/${pname}-${version}.tar.gz";
-    sha256 = "sha256-Zs2mgEdnsukbeM/cqCX5/a9qCkxuQAYloBrVWVQYR8w=";
+    sha256 = "sha256-ng1u8DYYo8MWcmv0khe37+Rc7HWLLJF86JLe10Myxtw=";
   };
 
-  patches = [
-    ./c-import-order.patch # https://code.blicky.net/yorhel/ncdu/issues/183
-  ];
-
   XDG_CACHE_HOME="Cache"; # FIXME This should be set in stdenv
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/nix-direnv/default.nix b/pkgs/tools/misc/nix-direnv/default.nix
index 7323a5fdf17..ae091c8d386 100644
--- a/pkgs/tools/misc/nix-direnv/default.nix
+++ b/pkgs/tools/misc/nix-direnv/default.nix
@@ -7,13 +7,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "nix-direnv";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nix-direnv";
     rev = version;
-    sha256 = "sha256-0gBb/U7tNNSjazJE/Z2qAxHPX53wRSPMJ8rHc7HtCNg=";
+    sha256 = "sha256-edRdnMNYB5N9v9QlfSFNqJl93X0rSCllmzSZO9+sCOg=";
   };
 
   # Substitute instead of wrapping because the resulting file is
diff --git a/pkgs/tools/misc/ntfy-sh/default.nix b/pkgs/tools/misc/ntfy-sh/default.nix
index f7c55dfa91a..17e26fc33d1 100644
--- a/pkgs/tools/misc/ntfy-sh/default.nix
+++ b/pkgs/tools/misc/ntfy-sh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ntfy-sh";
-  version = "1.20.0";
+  version = "1.21.2";
 
   src = fetchFromGitHub {
     owner = "binwiederhier";
     repo = "ntfy";
     rev = "v${version}";
-    sha256 = "sha256-JwRI58FadN7DH4MOO033EYmcbqCIuPxw5wWeafoInSg=";
+    sha256 = "sha256-bMVClVt+D+LSvlD0m82MHJc+dcUuqGKo6gxtSqFwkHM=";
   };
 
-  vendorSha256 = "sha256-nzcCLDN/vJ6DS6isCSLL9ycxFkIyUwy4Um6M7NWAPTk=";
+  vendorSha256 = "sha256-Sx6l5GJ72A0SHEHyVtlte8Ed9fuJzZAkJzC0zpCbvK8=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/partition-manager/default.nix b/pkgs/tools/misc/partition-manager/default.nix
index 064590ef979..c1abe01be56 100644
--- a/pkgs/tools/misc/partition-manager/default.nix
+++ b/pkgs/tools/misc/partition-manager/default.nix
@@ -1,6 +1,6 @@
 { mkDerivation, fetchurl, lib, makeWrapper
 , extra-cmake-modules, kdoctools, wrapGAppsHook, wrapQtAppsHook
-, kconfig, kcrash, kinit, kpmcore
+, kconfig, kcrash, kinit, kpmcore, polkit-qt
 , cryptsetup, lvm2, mdadm, smartmontools, systemdMinimal, util-linux
 , btrfs-progs, dosfstools, e2fsprogs, exfat, f2fs-tools, fatresize, hfsprogs
 , jfsutils, nilfs-utils, ntfs3g, reiser4progs, reiserfsprogs, udftools, xfsprogs, zfs
@@ -41,16 +41,16 @@ let
 in mkDerivation rec {
   pname = "partitionmanager";
   # NOTE: When changing this version, also change the version of `kpmcore`.
-  version = "4.2.0";
+  version = "22.04.0";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
-    hash = "sha256-6Qlt1c47Eek6TkWWBzTyBZYJ1jfhtwsC9X5q5h6IhPg=";
+    url = "mirror://kde/stable/release-service/${version}/src/${pname}-${version}.tar.xz";
+    hash = "sha256-eChn3OkdLHC9pedDBBwszTeTj2l7ky2W79INqvjrkBo=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook wrapQtAppsHook makeWrapper ];
 
-  propagatedBuildInputs = [ kconfig kcrash kinit kpmcore ];
+  propagatedBuildInputs = [ kconfig kcrash kinit kpmcore polkit-qt ];
 
   postFixup = ''
     wrapProgram $out/bin/partitionmanager \
diff --git a/pkgs/tools/misc/pferd/default.nix b/pkgs/tools/misc/pferd/default.nix
index 76df2a68827..518547e1837 100644
--- a/pkgs/tools/misc/pferd/default.nix
+++ b/pkgs/tools/misc/pferd/default.nix
@@ -5,14 +5,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pferd";
-  version = "3.3.1";
+  version = "3.4.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Garmelon";
     repo = "PFERD";
     rev = "v${version}";
-    sha256 = "162s966kmpngmp0h55x185qxsy96q2kxz2dd8w0zyh0n2hbap3lh";
+    sha256 = "1nwrkc0z2zghy2nk9hfdrffg1k8anh3mn3hx31ql8xqwhv5ksh9g";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/misc/phoronix-test-suite/default.nix b/pkgs/tools/misc/phoronix-test-suite/default.nix
index 821cf8d21d5..d6171bda5d8 100644
--- a/pkgs/tools/misc/phoronix-test-suite/default.nix
+++ b/pkgs/tools/misc/phoronix-test-suite/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, php, which, gnused, makeWrapper, gnumake, gcc, callPackage }:
+{ lib, stdenv, fetchurl, php, which, makeWrapper, gnumake, gcc, callPackage }:
 
 stdenv.mkDerivation rec {
   pname = "phoronix-test-suite";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ php ];
-  nativeBuildInputs = [ which gnused makeWrapper ];
+  nativeBuildInputs = [ which makeWrapper ];
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 3a60c3be369..3bfaf99d74e 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation rec {
   pname = "plantuml";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar";
-    sha256 = "sha256-u40P3YFiWd419Bz1NvhIsPa7nASl/I9z/L2Q5v9eOAo=";
+    url = "https://github.com/plantuml/plantuml/releases/download/v${version}/plantuml-pdf-${version}.jar";
+    sha256 = "sha256-6ad6CUz1UAvNkhdUJhOME7OsLpIXiBoERfTmowzTz64=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/pouf/default.nix b/pkgs/tools/misc/pouf/default.nix
new file mode 100644
index 00000000000..06a1e37836d
--- /dev/null
+++ b/pkgs/tools/misc/pouf/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "pouf";
+  version = "0.4.3";
+
+  src = fetchFromGitHub {
+    owner = "mothsart";
+    repo = pname;
+    rev = version;
+    sha256 = "1dgk2g13hz64vdx9sqkixl0321cnfnhrm7hxp68vwfcfx3gvfjv8";
+  };
+
+  cargoSha256 = "0ipyc9l9kr7izh3dmvczq1i7al56yiaz20yaarz8bpsfcrmgwy3s";
+
+  postInstall = "make PREFIX=$out copy-data";
+
+  meta = with lib; {
+    description = "A cli program for produce fake datas.";
+    homepage = "https://github.com/mothsart/pouf";
+    changelog = "https://github.com/mothsart/pouf/releases/tag/${version}";
+    maintainers = with maintainers; [ mothsart ];
+    license = with licenses; [ mit ];
+  };
+}
diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix
index 2b703292950..e7025217e34 100644
--- a/pkgs/tools/misc/rpm-ostree/default.nix
+++ b/pkgs/tools/misc/rpm-ostree/default.nix
@@ -29,7 +29,7 @@
 , bubblewrap
 , pcre
 , check
-, python2
+, python3
 , json_c
 , zchunk
 , libmodulemd
@@ -50,6 +50,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
+    python3
     pkg-config
     which
     autoconf
@@ -82,7 +83,6 @@ stdenv.mkDerivation rec {
     librepo
     pcre
     check
-    python2
 
     # libdnf # vendored unstable branch
     # required by vendored libdnf
diff --git a/pkgs/tools/misc/rust-motd/default.nix b/pkgs/tools/misc/rust-motd/default.nix
index cdc3dbdae10..bfd4db8ff88 100644
--- a/pkgs/tools/misc/rust-motd/default.nix
+++ b/pkgs/tools/misc/rust-motd/default.nix
@@ -9,21 +9,23 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-motd";
-  version = "0.1.1";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "rust-motd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xhdbhl0riaq9n4g9n333pgw966bsi60zpcy7gpndzfj21bj2x1m";
+    sha256 = "sha256-iuADR7m+wdmsQ897o4CQHqDv9PmYu/vJgO5C6Dluao4=";
   };
 
-  cargoSha256 = "sha256-l9Sit+niCLOnL1mdK6i8jea8NWsJlFM6p9lMTXyWOKY=";
+  cargoSha256 = "sha256-kdSMcADoTpMU4w2XSv0pPQZC155rrQACQ4XTVyj7eeA=";
 
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
 
+  OPENSSL_NO_VENDOR = 1;
+
   meta = with lib; {
     description = "Beautiful, useful MOTD generation with zero runtime dependencies";
     homepage = "https://github.com/rust-motd/rust-motd";
diff --git a/pkgs/tools/misc/s6-portable-utils/default.nix b/pkgs/tools/misc/s6-portable-utils/default.nix
index 84877508607..fe6fbf8717c 100644
--- a/pkgs/tools/misc/s6-portable-utils/default.nix
+++ b/pkgs/tools/misc/s6-portable-utils/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6-portable-utils";
-  version = "2.2.3.4";
-  sha256 = "04n9i9ydaa3cb3pip9d02dm24k26v3djvwrafjzq5qx94zvrifip";
+  version = "2.2.4.0";
+  sha256 = "sha256-yx7qifAxEAbwEyqkUyT/lvp3VtEaX0Nmxo0ISDnlpW8=";
 
   description = "A set of tiny general Unix utilities optimized for simplicity and small size";
 
diff --git a/pkgs/tools/misc/sharedown/default.nix b/pkgs/tools/misc/sharedown/default.nix
index 78c86aeff74..f1e44851dc2 100644
--- a/pkgs/tools/misc/sharedown/default.nix
+++ b/pkgs/tools/misc/sharedown/default.nix
@@ -17,13 +17,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "Sharedown";
-  version = "3.1.0";
+  version = "4.0.2";
 
   src = fetchFromGitHub {
     owner = "kylon";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wQEP3fdp+Mhgoz873cgF65WouWtbEdCdXfLiVSmrjyA=";
+    sha256 = "sha256-hHYk7B0+wqmpOmU5wf44MBTuocLM//Oif5SOtNzO++c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/sharedown/yarn.lock b/pkgs/tools/misc/sharedown/yarn.lock
index 58cfe65b3dd..1e8fbe79ef9 100644
--- a/pkgs/tools/misc/sharedown/yarn.lock
+++ b/pkgs/tools/misc/sharedown/yarn.lock
@@ -16,9 +16,9 @@
     ajv-keywords "^3.4.1"
 
 "@electron/get@^1.13.0":
-  version "1.13.1"
-  resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.13.1.tgz#42a0aa62fd1189638bd966e23effaebb16108368"
-  integrity sha512-U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA==
+  version "1.14.1"
+  resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.14.1.tgz#16ba75f02dffb74c23965e72d617adc721d27f40"
+  integrity sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==
   dependencies:
     debug "^4.1.1"
     env-paths "^2.2.0"
@@ -71,10 +71,10 @@
   dependencies:
     defer-to-connect "^1.0.1"
 
-"@tedconf/fessonia@^2.2.1":
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/@tedconf/fessonia/-/fessonia-2.2.1.tgz#24499e69c3aeda4926670675b9fdfeb9ab15f19d"
-  integrity sha512-eX+O8P/xIkuCDeDI3IOIoyzuTJLVqbGnoBhLiBoFU7MwntF02ygQcByMinhUtXv2zm0pOSy6zeKoQTKAVBK60A==
+"@tootallnate/once@2":
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
+  integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
 
 "@types/debug@^4.1.6":
   version "4.1.7"
@@ -109,14 +109,14 @@
   integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
 
 "@types/node@*":
-  version "17.0.10"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.10.tgz#616f16e9d3a2a3d618136b1be244315d95bd7cab"
-  integrity sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==
+  version "17.0.23"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.23.tgz#3b41a6e643589ac6442bdbd7a4a3ded62f33f7da"
+  integrity sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==
 
 "@types/node@^14.6.2":
-  version "14.18.9"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.9.tgz#0e5944eefe2b287391279a19b407aa98bd14436d"
-  integrity sha512-j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q==
+  version "14.18.12"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz#0d4557fd3b94497d793efd4e7d92df2f83b4ef24"
+  integrity sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==
 
 "@types/plist@^3.0.1":
   version "3.0.2"
@@ -132,14 +132,14 @@
   integrity sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw==
 
 "@types/yargs-parser@*":
-  version "20.2.1"
-  resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129"
-  integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==
+  version "21.0.0"
+  resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
+  integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
 
 "@types/yargs@^17.0.1":
-  version "17.0.8"
-  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.8.tgz#d23a3476fd3da8a0ea44b5494ca7fa677b9dad4c"
-  integrity sha512-wDeUwiUmem9FzsyysEwRukaEdDNcwbROvQ9QGRKaLI6t+IltNzbn4/i4asmB10auvZGQCzSQ6t0GSczEThlUXw==
+  version "17.0.10"
+  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz#591522fce85d8739bca7b8bb90d048e4478d186a"
+  integrity sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==
   dependencies:
     "@types/yargs-parser" "*"
 
@@ -189,13 +189,6 @@ ansi-regex@^5.0.1:
   resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
   integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
 
-ansi-styles@^3.2.1:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
-  integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
-  dependencies:
-    color-convert "^1.9.0"
-
 ansi-styles@^4.0.0, ansi-styles@^4.1.0:
   version "4.3.0"
   resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
@@ -208,10 +201,10 @@ app-builder-bin@3.7.1:
   resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.7.1.tgz#cb0825c5e12efc85b196ac3ed9c89f076c61040e"
   integrity sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw==
 
-app-builder-lib@22.14.5:
-  version "22.14.5"
-  resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.5.tgz#a61a50b132b858e98fdc70b6b88994ae99b4f96d"
-  integrity sha512-k3VwKP4kpsnUaXoUkm1s4zaSHPHIMFnN4kPMU9yXaKmE1LfHHqBaEah5bXeTAX5V/BC41wFdg8CF5vOjvgy8Rg==
+app-builder-lib@22.14.13:
+  version "22.14.13"
+  resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.13.tgz#c1f5b6afc86596357598bb90b69eef06c7c2eeb3"
+  integrity sha512-SufmrtxU+D0Tn948fjEwAOlCN9757UXLkzzTWXMwZKR/5hisvgqeeBepWfphMIE6OkDGz0fbzEhL1P2Pty4XMg==
   dependencies:
     "7zip-bin" "~5.1.1"
     "@develar/schema-utils" "~2.6.5"
@@ -219,13 +212,13 @@ app-builder-lib@22.14.5:
     "@malept/flatpak-bundler" "^0.4.0"
     async-exit-hook "^2.0.1"
     bluebird-lst "^1.0.9"
-    builder-util "22.14.5"
-    builder-util-runtime "8.9.1"
+    builder-util "22.14.13"
+    builder-util-runtime "8.9.2"
     chromium-pickle-js "^0.2.0"
     debug "^4.3.2"
     ejs "^3.1.6"
     electron-osx-sign "^0.5.0"
-    electron-publish "22.14.5"
+    electron-publish "22.14.13"
     form-data "^4.0.0"
     fs-extra "^10.0.0"
     hosted-git-info "^4.0.2"
@@ -304,12 +297,12 @@ at-least-node@^1.0.0:
   resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
   integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
 
-axios@^0.24.0:
-  version "0.24.0"
-  resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6"
-  integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==
+axios@^0.26.1:
+  version "0.26.1"
+  resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9"
+  integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==
   dependencies:
-    follow-redirects "^1.14.4"
+    follow-redirects "^1.14.8"
 
 balanced-match@^1.0.0:
   version "1.0.2"
@@ -343,9 +336,9 @@ bluebird@^3.5.0, bluebird@^3.5.5:
   integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
 
 boolean@^3.0.1:
-  version "3.1.4"
-  resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.1.4.tgz#f51a2fb5838a99e06f9b6ec1edb674de67026435"
-  integrity sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b"
+  integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==
 
 bootstrap@5.1.3:
   version "5.1.3"
@@ -415,29 +408,31 @@ buffer@^5.1.0, buffer@^5.2.1, buffer@^5.5.0:
     base64-js "^1.3.1"
     ieee754 "^1.1.13"
 
-builder-util-runtime@8.9.1:
-  version "8.9.1"
-  resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz#25f066b3fbc20b3e6236a9b956b1ebb0e33ff66a"
-  integrity sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==
+builder-util-runtime@8.9.2:
+  version "8.9.2"
+  resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.2.tgz#a9669ae5b5dcabfe411ded26678e7ae997246c28"
+  integrity sha512-rhuKm5vh7E0aAmT6i8aoSfEjxzdYEFX7zDApK+eNgOhjofnWb74d9SRJv0H/8nsgOkos0TZ4zxW0P8J4N7xQ2A==
   dependencies:
     debug "^4.3.2"
     sax "^1.2.4"
 
-builder-util@22.14.5:
-  version "22.14.5"
-  resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.5.tgz#42a18608d2a566c0846e91266464776c8bfb0cc9"
-  integrity sha512-zqIHDFJwmA7jV7SC9aI+33MWwT2mWoijH+Ol9IntNAwuuRXoS+7XeJwnhLBXOhcDBzXT4kDzHnRk4JKeaygEYA==
+builder-util@22.14.13:
+  version "22.14.13"
+  resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.13.tgz#41b5b7b4ee53aff4e09cc007fb144522598f3ce6"
+  integrity sha512-oePC/qrrUuerhmH5iaCJzPRAKlSBylrhzuAJmRQClTyWnZUv6jbaHh+VoHMbEiE661wrj2S2aV7/bQh12cj1OA==
   dependencies:
     "7zip-bin" "~5.1.1"
     "@types/debug" "^4.1.6"
     "@types/fs-extra" "^9.0.11"
     app-builder-bin "3.7.1"
     bluebird-lst "^1.0.9"
-    builder-util-runtime "8.9.1"
+    builder-util-runtime "8.9.2"
     chalk "^4.1.1"
     cross-spawn "^7.0.3"
     debug "^4.3.2"
     fs-extra "^10.0.0"
+    http-proxy-agent "^5.0.0"
+    https-proxy-agent "^5.0.0"
     is-ci "^3.0.0"
     js-yaml "^4.1.0"
     source-map-support "^0.5.19"
@@ -462,16 +457,7 @@ camelcase@^6.2.0:
   resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
   integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
 
-chalk@^2.4.2:
-  version "2.4.2"
-  resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
-  integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
-  dependencies:
-    ansi-styles "^3.2.1"
-    escape-string-regexp "^1.0.5"
-    supports-color "^5.3.0"
-
-chalk@^4.1.0, chalk@^4.1.1:
+chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1:
   version "4.1.2"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
   integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -479,11 +465,6 @@ chalk@^4.1.0, chalk@^4.1.1:
     ansi-styles "^4.1.0"
     supports-color "^7.1.0"
 
-charenc@0.0.2:
-  version "0.0.2"
-  resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
-  integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=
-
 chownr@^1.1.1:
   version "1.1.4"
   resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
@@ -547,13 +528,6 @@ code-point-at@^1.0.0:
   resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
   integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
 
-color-convert@^1.9.0:
-  version "1.9.3"
-  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
-  integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
-  dependencies:
-    color-name "1.1.3"
-
 color-convert@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
@@ -561,11 +535,6 @@ color-convert@^2.0.1:
   dependencies:
     color-name "~1.1.4"
 
-color-name@1.1.3:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
-  integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
-
 color-name@~1.1.4:
   version "1.1.4"
   resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
@@ -657,6 +626,13 @@ crc@^3.8.0:
   dependencies:
     buffer "^5.1.0"
 
+cross-fetch@3.1.5:
+  version "3.1.5"
+  resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f"
+  integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==
+  dependencies:
+    node-fetch "2.6.7"
+
 cross-spawn@^6.0.0:
   version "6.0.5"
   resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
@@ -677,27 +653,22 @@ cross-spawn@^7.0.1, cross-spawn@^7.0.3:
     shebang-command "^2.0.0"
     which "^2.0.1"
 
-crypt@0.0.2:
-  version "0.0.2"
-  resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"
-  integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=
-
 crypto-random-string@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
   integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
 
 debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
-  version "4.3.3"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
-  integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
+  version "4.3.4"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+  integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
   dependencies:
     ms "2.1.2"
 
-debug@4.3.2:
-  version "4.3.2"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
-  integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
+debug@4.3.3:
+  version "4.3.3"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
+  integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
   dependencies:
     ms "2.1.2"
 
@@ -715,12 +686,12 @@ decompress-response@^3.3.0:
   dependencies:
     mimic-response "^1.0.0"
 
-decompress-response@^4.2.0:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986"
-  integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
+decompress-response@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
+  integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
   dependencies:
-    mimic-response "^2.0.0"
+    mimic-response "^3.1.0"
 
 deep-extend@^0.6.0:
   version "0.6.0"
@@ -749,20 +720,20 @@ delegates@^1.0.0:
   resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
   integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
 
-detect-libc@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
-  integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
+detect-libc@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd"
+  integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==
 
 detect-node@^2.0.4:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
   integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
 
-devtools-protocol@0.0.937139:
-  version "0.0.937139"
-  resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.937139.tgz#bdee3751fdfdb81cb701fd3afa94b1065dafafcf"
-  integrity sha512-daj+rzR3QSxsPRy5vjjthn58axO8c11j58uY0lG5vvlJk/EiOdCWOptGdkXDjtuRHr78emKq0udHCXM4trhoDQ==
+devtools-protocol@0.0.969999:
+  version "0.0.969999"
+  resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.969999.tgz#3d6be0a126b3607bb399ae2719b471dda71f3478"
+  integrity sha512-6GfzuDWU0OFAuOvBokXpXPLxjOJ5DZ157Ue3sGQQM3LgAamb8m0R0ruSfN0DDu+XG5XJgT50i6zZ/0o8RglreQ==
 
 dir-compare@^2.4.0:
   version "2.4.0"
@@ -774,14 +745,14 @@ dir-compare@^2.4.0:
     commander "2.9.0"
     minimatch "3.0.4"
 
-dmg-builder@22.14.5:
-  version "22.14.5"
-  resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.5.tgz#137c0b55e639badcc0b119eb060e6fa4ed61d948"
-  integrity sha512-1GvFGQE332bvPamcMwZDqWqfWfJTyyDLOsHMcGi0zs+Jh7JOn6/zuBkHJIWHdsj2QJbhzLVyd2/ZqttOKv7I8w==
+dmg-builder@22.14.13:
+  version "22.14.13"
+  resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.13.tgz#cc613f3c18e889b8777d525991fd52f50a564f8c"
+  integrity sha512-xNOugB6AbIRETeU2uID15sUfjdZZcKdxK8xkFnwIggsM00PJ12JxpLNPTjcRoUnfwj3WrPjilrO64vRMwNItQg==
   dependencies:
-    app-builder-lib "22.14.5"
-    builder-util "22.14.5"
-    builder-util-runtime "8.9.1"
+    app-builder-lib "22.14.13"
+    builder-util "22.14.13"
+    builder-util-runtime "8.9.2"
     fs-extra "^10.0.0"
     iconv-lite "^0.6.2"
     js-yaml "^4.1.0"
@@ -789,9 +760,9 @@ dmg-builder@22.14.5:
     dmg-license "^1.0.9"
 
 dmg-license@^1.0.9:
-  version "1.0.10"
-  resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.10.tgz#89f52afae25d827fce8d818c13aff30af1c16bcc"
-  integrity sha512-SVeeyiOeinV5JCPHXMdKOgK1YVbak/4+8WL2rBnfqRYpA5FaeFaQnQWb25x628am1w70CbipGDv9S51biph63A==
+  version "1.0.11"
+  resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.11.tgz#7b3bc3745d1b52be7506b4ee80cb61df6e4cd79a"
+  integrity sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==
   dependencies:
     "@types/plist" "^3.0.1"
     "@types/verror" "^1.10.3"
@@ -831,17 +802,17 @@ ejs@^3.1.6:
   dependencies:
     jake "^10.6.1"
 
-electron-builder@^22.14.5:
-  version "22.14.5"
-  resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.5.tgz#3a25547bd4fe3728d4704da80956a794c5c31496"
-  integrity sha512-N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg==
+electron-builder@^22.14.13:
+  version "22.14.13"
+  resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.13.tgz#fd40564685cf5422a8f8d667940af3d3776f4fb8"
+  integrity sha512-3fgLxqF2TXVKiUPeg74O4V3l0l3j7ERLazo8sUbRkApw0+4iVAf2BJkHsHMaXiigsgCoEzK/F4/rB5rne/VAnw==
   dependencies:
     "@types/yargs" "^17.0.1"
-    app-builder-lib "22.14.5"
-    builder-util "22.14.5"
-    builder-util-runtime "8.9.1"
+    app-builder-lib "22.14.13"
+    builder-util "22.14.13"
+    builder-util-runtime "8.9.2"
     chalk "^4.1.1"
-    dmg-builder "22.14.5"
+    dmg-builder "22.14.13"
     fs-extra "^10.0.0"
     is-ci "^3.0.0"
     lazy-val "^1.0.5"
@@ -861,23 +832,23 @@ electron-osx-sign@^0.5.0:
     minimist "^1.2.0"
     plist "^3.0.1"
 
-electron-publish@22.14.5:
-  version "22.14.5"
-  resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.5.tgz#34bcdce671f0e651330db20040d6919c77c94bd6"
-  integrity sha512-h+NANRdaA0PqGF15GKvorseWPzh1PXa/zx4I37//PIokW8eKIov8ky23foUSb55ZFWUHGpxQJux7y2NCfBtQeg==
+electron-publish@22.14.13:
+  version "22.14.13"
+  resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.13.tgz#8b71e6975af8cc6ac5b21f293ade23f8704047c7"
+  integrity sha512-0oP3QiNj3e8ewOaEpEJV/o6Zrmy2VarVvZ/bH7kyO/S/aJf9x8vQsKVWpsdmSiZ5DJEHgarFIXrnO0ZQf0P9iQ==
   dependencies:
     "@types/fs-extra" "^9.0.11"
-    builder-util "22.14.5"
-    builder-util-runtime "8.9.1"
+    builder-util "22.14.13"
+    builder-util-runtime "8.9.2"
     chalk "^4.1.1"
     fs-extra "^10.0.0"
     lazy-val "^1.0.5"
     mime "^2.5.2"
 
-electron@^16.0.6:
-  version "16.0.7"
-  resolved "https://registry.yarnpkg.com/electron/-/electron-16.0.7.tgz#87eaccd05ab61563d3c17dfbad2949bba7ead162"
-  integrity sha512-/IMwpBf2svhA1X/7Q58RV+Nn0fvUJsHniG4TizaO7q4iKFYSQ6hBvsLz+cylcZ8hRMKmVy5G1XaMNJID2ah23w==
+electron@^17.1.1:
+  version "17.2.0"
+  resolved "https://registry.yarnpkg.com/electron/-/electron-17.2.0.tgz#a5c42c16352ea968fcb5d1ce256bec51e7d140fe"
+  integrity sha512-eNXhPVEUofkgAeqRFvTizzYecoCMyS0Rar08WZHSAw9wjfZXawYMvTpjjjk9GiX9W/+Cjxua4YtGn5bOTabc0A==
   dependencies:
     "@electron/get" "^1.13.0"
     "@types/node" "^14.6.2"
@@ -920,11 +891,6 @@ escape-goat@^2.0.0:
   resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675"
   integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==
 
-escape-string-regexp@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
-  integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-
 escape-string-regexp@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
@@ -991,6 +957,11 @@ fd-slicer@~1.1.0:
   dependencies:
     pend "~1.2.0"
 
+fessonia@^2.2.2:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/fessonia/-/fessonia-2.2.2.tgz#c8f9da5701d2e63efc9fd5793368929ddfaaf776"
+  integrity sha512-FvlDFdwHBIxWl2K9XynAIR38NB8xn4vPPZDNK5nIQBnGwZ0xv5FxDXsz+pzYZrUqoEQPQBJemNrYhueD2de7qw==
+
 filelist@^1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b"
@@ -1006,10 +977,10 @@ find-up@^4.0.0:
     locate-path "^5.0.0"
     path-exists "^4.0.0"
 
-follow-redirects@^1.14.4:
-  version "1.14.7"
-  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685"
-  integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==
+follow-redirects@^1.14.8:
+  version "1.14.9"
+  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7"
+  integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==
 
 font-awesome@^4.7.0:
   version "4.7.0"
@@ -1031,9 +1002,9 @@ fs-constants@^1.0.0:
   integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
 
 fs-extra@^10.0.0:
-  version "10.0.0"
-  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1"
-  integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==
+  version "10.0.1"
+  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.1.tgz#27de43b4320e833f6867cc044bfce29fdf0ef3b8"
+  integrity sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==
   dependencies:
     graceful-fs "^4.2.0"
     jsonfile "^6.0.1"
@@ -1176,11 +1147,6 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0:
   resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
   integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=
 
-has-flag@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
-  integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
-
 has-flag@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
@@ -1208,7 +1174,16 @@ http-cache-semantics@^4.0.0:
   resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
   integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
 
-https-proxy-agent@5.0.0:
+http-proxy-agent@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
+  integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==
+  dependencies:
+    "@tootallnate/once" "2"
+    agent-base "6"
+    debug "4"
+
+https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
   integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
@@ -1269,11 +1244,6 @@ ini@^1.3.4, ini@~1.3.0:
   resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
   integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
 
-is-buffer@~1.1.6:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
-  integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
-
 is-ci@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
@@ -1363,9 +1333,9 @@ isbinaryfile@^3.0.2:
     buffer-alloc "^1.2.0"
 
 isbinaryfile@^4.0.8:
-  version "4.0.8"
-  resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf"
-  integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==
+  version "4.0.10"
+  resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3"
+  integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==
 
 isexe@^2.0.0:
   version "2.0.0"
@@ -1378,12 +1348,12 @@ iso8601-duration@^1.3.0:
   integrity sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==
 
 jake@^10.6.1:
-  version "10.8.2"
-  resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b"
-  integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==
+  version "10.8.4"
+  resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.4.tgz#f6a8b7bf90c6306f768aa82bb7b98bf4ca15e84a"
+  integrity sha512-MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==
   dependencies:
     async "0.9.x"
-    chalk "^2.4.2"
+    chalk "^4.0.2"
     filelist "^1.0.1"
     minimatch "^3.0.4"
 
@@ -1410,11 +1380,9 @@ json-stringify-safe@^5.0.1:
   integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
 
 json5@^2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
-  integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
-  dependencies:
-    minimist "^1.2.5"
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
+  integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
 
 jsonfile@^4.0.0:
   version "4.0.0"
@@ -1432,13 +1400,13 @@ jsonfile@^6.0.1:
   optionalDependencies:
     graceful-fs "^4.1.6"
 
-keytar@^7.7.0:
-  version "7.7.0"
-  resolved "https://registry.yarnpkg.com/keytar/-/keytar-7.7.0.tgz#3002b106c01631aa79b1aa9ee0493b94179bbbd2"
-  integrity sha512-YEY9HWqThQc5q5xbXbRwsZTh2PJ36OSYRjSv3NN2xf5s5dpLTjEZnC2YikR29OaVybf9nQ0dJ/80i40RS97t/A==
+keytar@^7.9.0:
+  version "7.9.0"
+  resolved "https://registry.yarnpkg.com/keytar/-/keytar-7.9.0.tgz#4c6225708f51b50cbf77c5aae81721964c2918cb"
+  integrity sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==
   dependencies:
-    node-addon-api "^3.0.0"
-    prebuild-install "^6.0.0"
+    node-addon-api "^4.3.0"
+    prebuild-install "^7.0.1"
 
 keyv@^3.0.0:
   version "3.1.0"
@@ -1502,26 +1470,17 @@ matcher@^3.0.0:
   dependencies:
     escape-string-regexp "^4.0.0"
 
-md5@^2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f"
-  integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==
-  dependencies:
-    charenc "0.0.2"
-    crypt "0.0.2"
-    is-buffer "~1.1.6"
-
-mime-db@1.51.0:
-  version "1.51.0"
-  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c"
-  integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==
+mime-db@1.52.0:
+  version "1.52.0"
+  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+  integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
 
 mime-types@^2.1.12:
-  version "2.1.34"
-  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24"
-  integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==
+  version "2.1.35"
+  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+  integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
   dependencies:
-    mime-db "1.51.0"
+    mime-db "1.52.0"
 
 mime@^2.5.2:
   version "2.6.0"
@@ -1533,22 +1492,29 @@ mimic-response@^1.0.0, mimic-response@^1.0.1:
   resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
   integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
 
-mimic-response@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43"
-  integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
+mimic-response@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
+  integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
 
-minimatch@3.0.4, minimatch@^3.0.4:
+minimatch@3.0.4:
   version "3.0.4"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
   integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
   dependencies:
     brace-expansion "^1.1.7"
 
-minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5:
-  version "1.2.5"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
-  integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+minimatch@^3.0.4:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+  integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+  dependencies:
+    brace-expansion "^1.1.7"
+
+minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6:
+  version "1.2.6"
+  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
+  integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
 
 mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
   version "0.5.3"
@@ -1556,11 +1522,11 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
   integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
 
 mkdirp@^0.5.4:
-  version "0.5.5"
-  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
-  integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
+  version "0.5.6"
+  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
+  integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
   dependencies:
-    minimist "^1.2.5"
+    minimist "^1.2.6"
 
 ms@2.0.0:
   version "2.0.0"
@@ -1582,27 +1548,27 @@ nice-try@^1.0.4:
   resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
   integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
 
-node-abi@^2.21.0:
-  version "2.30.1"
-  resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz#c437d4b1fe0e285aaf290d45b45d4d7afedac4cf"
-  integrity sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==
+node-abi@^3.3.0:
+  version "3.8.0"
+  resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.8.0.tgz#679957dc8e7aa47b0a02589dbfde4f77b29ccb32"
+  integrity sha512-tzua9qWWi7iW4I42vUPKM+SfaF0vQSLAm4yO5J83mSwB7GeoWrDKC/K+8YCnYNwqP5duwazbw2X9l4m8SC2cUw==
   dependencies:
-    semver "^5.4.1"
+    semver "^7.3.5"
 
 node-addon-api@^1.6.3:
   version "1.7.2"
   resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
   integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
 
-node-addon-api@^3.0.0:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161"
-  integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==
+node-addon-api@^4.3.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f"
+  integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==
 
-node-fetch@2.6.5:
-  version "2.6.5"
-  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.5.tgz#42735537d7f080a7e5f78b6c549b7146be1742fd"
-  integrity sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==
+node-fetch@2.6.7:
+  version "2.6.7"
+  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
+  integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
   dependencies:
     whatwg-url "^5.0.0"
 
@@ -1735,29 +1701,29 @@ pkg-dir@4.2.0:
     find-up "^4.0.0"
 
 plist@^3.0.1, plist@^3.0.4:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe"
-  integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==
+  version "3.0.5"
+  resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.5.tgz#2cbeb52d10e3cdccccf0c11a63a85d830970a987"
+  integrity sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==
   dependencies:
     base64-js "^1.5.1"
     xmlbuilder "^9.0.7"
 
-prebuild-install@^6.0.0:
-  version "6.1.4"
-  resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.1.4.tgz#ae3c0142ad611d58570b89af4986088a4937e00f"
-  integrity sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==
+prebuild-install@^7.0.1:
+  version "7.0.1"
+  resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.0.1.tgz#c10075727c318efe72412f333e0ef625beaf3870"
+  integrity sha512-QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==
   dependencies:
-    detect-libc "^1.0.3"
+    detect-libc "^2.0.0"
     expand-template "^2.0.3"
     github-from-package "0.0.0"
     minimist "^1.2.3"
     mkdirp-classic "^0.5.3"
     napi-build-utils "^1.0.1"
-    node-abi "^2.21.0"
+    node-abi "^3.3.0"
     npmlog "^4.0.1"
     pump "^3.0.0"
     rc "^1.2.7"
-    simple-get "^3.0.3"
+    simple-get "^4.0.0"
     tar-fs "^2.0.0"
     tunnel-agent "^0.6.0"
 
@@ -1806,23 +1772,23 @@ pupa@^2.1.1:
   dependencies:
     escape-goat "^2.0.0"
 
-puppeteer@13.0.1:
-  version "13.0.1"
-  resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.0.1.tgz#9cd9bb8ec090bade183ca186bf342396bdffa135"
-  integrity sha512-wqGIx59LzYqWhYcJQphMT+ux0sgatEUbjKG0lbjJxNVqVIT3ZC5m4Bvmq2gHE3qhb63EwS+rNkql08bm4BvO0A==
+puppeteer@13.5.1:
+  version "13.5.1"
+  resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.5.1.tgz#d0f751bf36120efc2ebf74c7562a204a84e500e9"
+  integrity sha512-wWxO//vMiqxlvuzHMAJ0pRJeDHvDtM7DQpW1GKdStz2nZo2G42kOXBDgkmQ+zqjwMCFofKGesBeeKxIkX9BO+w==
   dependencies:
-    debug "4.3.2"
-    devtools-protocol "0.0.937139"
+    cross-fetch "3.1.5"
+    debug "4.3.3"
+    devtools-protocol "0.0.969999"
     extract-zip "2.0.1"
     https-proxy-agent "5.0.0"
-    node-fetch "2.6.5"
     pkg-dir "4.2.0"
     progress "2.0.3"
     proxy-from-env "1.1.0"
     rimraf "3.0.2"
     tar-fs "2.1.1"
     unbzip2-stream "1.4.3"
-    ws "8.2.3"
+    ws "8.5.0"
 
 rc@^1.2.7, rc@^1.2.8:
   version "1.2.8"
@@ -1951,7 +1917,7 @@ semver-diff@^3.1.1:
   dependencies:
     semver "^6.3.0"
 
-semver@^5.4.1, semver@^5.5.0:
+semver@^5.5.0:
   version "5.7.1"
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
   integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
@@ -2005,21 +1971,21 @@ shebang-regex@^3.0.0:
   integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
 
 signal-exit@^3.0.0, signal-exit@^3.0.2:
-  version "3.0.6"
-  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af"
-  integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==
+  version "3.0.7"
+  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
+  integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
 
 simple-concat@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
   integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
 
-simple-get@^3.0.3:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3"
-  integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==
+simple-get@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543"
+  integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==
   dependencies:
-    decompress-response "^4.2.0"
+    decompress-response "^6.0.0"
     once "^1.3.1"
     simple-concat "^1.0.0"
 
@@ -2123,13 +2089,6 @@ sumchecker@^3.0.1:
   dependencies:
     debug "^4.1.0"
 
-supports-color@^5.3.0:
-  version "5.5.0"
-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
-  integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
-  dependencies:
-    has-flag "^3.0.0"
-
 supports-color@^7.1.0:
   version "7.2.0"
   resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
@@ -2379,10 +2338,10 @@ write-file-atomic@^3.0.0:
     signal-exit "^3.0.2"
     typedarray-to-buffer "^3.1.5"
 
-ws@8.2.3:
-  version "8.2.3"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba"
-  integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==
+ws@8.5.0:
+  version "8.5.0"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f"
+  integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==
 
 xdg-basedir@^4.0.0:
   version "4.0.0"
@@ -2410,14 +2369,14 @@ yallist@^4.0.0:
   integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
 
 yargs-parser@^21.0.0:
-  version "21.0.0"
-  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55"
-  integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==
+  version "21.0.1"
+  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35"
+  integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==
 
 yargs@^17.0.1:
-  version "17.3.1"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9"
-  integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==
+  version "17.4.0"
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00"
+  integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==
   dependencies:
     cliui "^7.0.2"
     escalade "^3.1.1"
diff --git a/pkgs/tools/misc/sharedown/yarndeps.nix b/pkgs/tools/misc/sharedown/yarndeps.nix
index 153a9282427..993bd2c1054 100644
--- a/pkgs/tools/misc/sharedown/yarndeps.nix
+++ b/pkgs/tools/misc/sharedown/yarndeps.nix
@@ -18,11 +18,11 @@
       };
     }
     {
-      name = "_electron_get___get_1.13.1.tgz";
+      name = "_electron_get___get_1.14.1.tgz";
       path = fetchurl {
-        name = "_electron_get___get_1.13.1.tgz";
-        url  = "https://registry.yarnpkg.com/@electron/get/-/get-1.13.1.tgz";
-        sha512 = "U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA==";
+        name = "_electron_get___get_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/@electron/get/-/get-1.14.1.tgz";
+        sha512 = "BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==";
       };
     }
     {
@@ -66,11 +66,11 @@
       };
     }
     {
-      name = "_tedconf_fessonia___fessonia_2.2.1.tgz";
+      name = "_tootallnate_once___once_2.0.0.tgz";
       path = fetchurl {
-        name = "_tedconf_fessonia___fessonia_2.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/@tedconf/fessonia/-/fessonia-2.2.1.tgz";
-        sha512 = "eX+O8P/xIkuCDeDI3IOIoyzuTJLVqbGnoBhLiBoFU7MwntF02ygQcByMinhUtXv2zm0pOSy6zeKoQTKAVBK60A==";
+        name = "_tootallnate_once___once_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz";
+        sha512 = "XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==";
       };
     }
     {
@@ -114,19 +114,19 @@
       };
     }
     {
-      name = "_types_node___node_17.0.10.tgz";
+      name = "_types_node___node_17.0.23.tgz";
       path = fetchurl {
-        name = "_types_node___node_17.0.10.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-17.0.10.tgz";
-        sha512 = "S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==";
+        name = "_types_node___node_17.0.23.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-17.0.23.tgz";
+        sha512 = "UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==";
       };
     }
     {
-      name = "_types_node___node_14.18.9.tgz";
+      name = "_types_node___node_14.18.12.tgz";
       path = fetchurl {
-        name = "_types_node___node_14.18.9.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.18.9.tgz";
-        sha512 = "j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q==";
+        name = "_types_node___node_14.18.12.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz";
+        sha512 = "q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==";
       };
     }
     {
@@ -146,19 +146,19 @@
       };
     }
     {
-      name = "_types_yargs_parser___yargs_parser_20.2.1.tgz";
+      name = "_types_yargs_parser___yargs_parser_21.0.0.tgz";
       path = fetchurl {
-        name = "_types_yargs_parser___yargs_parser_20.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz";
-        sha512 = "7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==";
+        name = "_types_yargs_parser___yargs_parser_21.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz";
+        sha512 = "iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==";
       };
     }
     {
-      name = "_types_yargs___yargs_17.0.8.tgz";
+      name = "_types_yargs___yargs_17.0.10.tgz";
       path = fetchurl {
-        name = "_types_yargs___yargs_17.0.8.tgz";
-        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.8.tgz";
-        sha512 = "wDeUwiUmem9FzsyysEwRukaEdDNcwbROvQ9QGRKaLI6t+IltNzbn4/i4asmB10auvZGQCzSQ6t0GSczEThlUXw==";
+        name = "_types_yargs___yargs_17.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz";
+        sha512 = "gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==";
       };
     }
     {
@@ -218,14 +218,6 @@
       };
     }
     {
-      name = "ansi_styles___ansi_styles_3.2.1.tgz";
-      path = fetchurl {
-        name = "ansi_styles___ansi_styles_3.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz";
-        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
-      };
-    }
-    {
       name = "ansi_styles___ansi_styles_4.3.0.tgz";
       path = fetchurl {
         name = "ansi_styles___ansi_styles_4.3.0.tgz";
@@ -242,11 +234,11 @@
       };
     }
     {
-      name = "app_builder_lib___app_builder_lib_22.14.5.tgz";
+      name = "app_builder_lib___app_builder_lib_22.14.13.tgz";
       path = fetchurl {
-        name = "app_builder_lib___app_builder_lib_22.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.5.tgz";
-        sha512 = "k3VwKP4kpsnUaXoUkm1s4zaSHPHIMFnN4kPMU9yXaKmE1LfHHqBaEah5bXeTAX5V/BC41wFdg8CF5vOjvgy8Rg==";
+        name = "app_builder_lib___app_builder_lib_22.14.13.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.13.tgz";
+        sha512 = "SufmrtxU+D0Tn948fjEwAOlCN9757UXLkzzTWXMwZKR/5hisvgqeeBepWfphMIE6OkDGz0fbzEhL1P2Pty4XMg==";
       };
     }
     {
@@ -338,11 +330,11 @@
       };
     }
     {
-      name = "axios___axios_0.24.0.tgz";
+      name = "axios___axios_0.26.1.tgz";
       path = fetchurl {
-        name = "axios___axios_0.24.0.tgz";
-        url  = "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz";
-        sha512 = "Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==";
+        name = "axios___axios_0.26.1.tgz";
+        url  = "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz";
+        sha512 = "fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==";
       };
     }
     {
@@ -386,11 +378,11 @@
       };
     }
     {
-      name = "boolean___boolean_3.1.4.tgz";
+      name = "boolean___boolean_3.2.0.tgz";
       path = fetchurl {
-        name = "boolean___boolean_3.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/boolean/-/boolean-3.1.4.tgz";
-        sha512 = "3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==";
+        name = "boolean___boolean_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz";
+        sha512 = "d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==";
       };
     }
     {
@@ -474,19 +466,19 @@
       };
     }
     {
-      name = "builder_util_runtime___builder_util_runtime_8.9.1.tgz";
+      name = "builder_util_runtime___builder_util_runtime_8.9.2.tgz";
       path = fetchurl {
-        name = "builder_util_runtime___builder_util_runtime_8.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz";
-        sha512 = "c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==";
+        name = "builder_util_runtime___builder_util_runtime_8.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.2.tgz";
+        sha512 = "rhuKm5vh7E0aAmT6i8aoSfEjxzdYEFX7zDApK+eNgOhjofnWb74d9SRJv0H/8nsgOkos0TZ4zxW0P8J4N7xQ2A==";
       };
     }
     {
-      name = "builder_util___builder_util_22.14.5.tgz";
+      name = "builder_util___builder_util_22.14.13.tgz";
       path = fetchurl {
-        name = "builder_util___builder_util_22.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.5.tgz";
-        sha512 = "zqIHDFJwmA7jV7SC9aI+33MWwT2mWoijH+Ol9IntNAwuuRXoS+7XeJwnhLBXOhcDBzXT4kDzHnRk4JKeaygEYA==";
+        name = "builder_util___builder_util_22.14.13.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.13.tgz";
+        sha512 = "oePC/qrrUuerhmH5iaCJzPRAKlSBylrhzuAJmRQClTyWnZUv6jbaHh+VoHMbEiE661wrj2S2aV7/bQh12cj1OA==";
       };
     }
     {
@@ -506,14 +498,6 @@
       };
     }
     {
-      name = "chalk___chalk_2.4.2.tgz";
-      path = fetchurl {
-        name = "chalk___chalk_2.4.2.tgz";
-        url  = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz";
-        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
-      };
-    }
-    {
       name = "chalk___chalk_4.1.2.tgz";
       path = fetchurl {
         name = "chalk___chalk_4.1.2.tgz";
@@ -522,14 +506,6 @@
       };
     }
     {
-      name = "charenc___charenc_0.0.2.tgz";
-      path = fetchurl {
-        name = "charenc___charenc_0.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz";
-        sha1 = "wKHS86cJLgN3S/qD8UwPxXkKhmc=";
-      };
-    }
-    {
       name = "chownr___chownr_1.1.4.tgz";
       path = fetchurl {
         name = "chownr___chownr_1.1.4.tgz";
@@ -610,14 +586,6 @@
       };
     }
     {
-      name = "color_convert___color_convert_1.9.3.tgz";
-      path = fetchurl {
-        name = "color_convert___color_convert_1.9.3.tgz";
-        url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz";
-        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
-      };
-    }
-    {
       name = "color_convert___color_convert_2.0.1.tgz";
       path = fetchurl {
         name = "color_convert___color_convert_2.0.1.tgz";
@@ -626,14 +594,6 @@
       };
     }
     {
-      name = "color_name___color_name_1.1.3.tgz";
-      path = fetchurl {
-        name = "color_name___color_name_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz";
-        sha1 = "p9BVi9icQveV3UIyj3QIMcpTvCU=";
-      };
-    }
-    {
       name = "color_name___color_name_1.1.4.tgz";
       path = fetchurl {
         name = "color_name___color_name_1.1.4.tgz";
@@ -746,6 +706,14 @@
       };
     }
     {
+      name = "cross_fetch___cross_fetch_3.1.5.tgz";
+      path = fetchurl {
+        name = "cross_fetch___cross_fetch_3.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz";
+        sha512 = "lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==";
+      };
+    }
+    {
       name = "cross_spawn___cross_spawn_6.0.5.tgz";
       path = fetchurl {
         name = "cross_spawn___cross_spawn_6.0.5.tgz";
@@ -762,14 +730,6 @@
       };
     }
     {
-      name = "crypt___crypt_0.0.2.tgz";
-      path = fetchurl {
-        name = "crypt___crypt_0.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz";
-        sha1 = "iNf/fsDfuG9xPch7u0LQRNPmxBs=";
-      };
-    }
-    {
       name = "crypto_random_string___crypto_random_string_2.0.0.tgz";
       path = fetchurl {
         name = "crypto_random_string___crypto_random_string_2.0.0.tgz";
@@ -778,19 +738,19 @@
       };
     }
     {
-      name = "debug___debug_4.3.3.tgz";
+      name = "debug___debug_4.3.4.tgz";
       path = fetchurl {
-        name = "debug___debug_4.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz";
-        sha512 = "/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==";
+        name = "debug___debug_4.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz";
+        sha512 = "PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==";
       };
     }
     {
-      name = "debug___debug_4.3.2.tgz";
+      name = "debug___debug_4.3.3.tgz";
       path = fetchurl {
-        name = "debug___debug_4.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz";
-        sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
+        name = "debug___debug_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz";
+        sha512 = "/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==";
       };
     }
     {
@@ -810,11 +770,11 @@
       };
     }
     {
-      name = "decompress_response___decompress_response_4.2.1.tgz";
+      name = "decompress_response___decompress_response_6.0.0.tgz";
       path = fetchurl {
-        name = "decompress_response___decompress_response_4.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz";
-        sha512 = "jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==";
+        name = "decompress_response___decompress_response_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz";
+        sha512 = "aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==";
       };
     }
     {
@@ -858,11 +818,11 @@
       };
     }
     {
-      name = "detect_libc___detect_libc_1.0.3.tgz";
+      name = "detect_libc___detect_libc_2.0.1.tgz";
       path = fetchurl {
-        name = "detect_libc___detect_libc_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz";
-        sha1 = "+hN8S9aY7fVc1c0CrFWfkaTEups=";
+        name = "detect_libc___detect_libc_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz";
+        sha512 = "463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==";
       };
     }
     {
@@ -874,11 +834,11 @@
       };
     }
     {
-      name = "devtools_protocol___devtools_protocol_0.0.937139.tgz";
+      name = "devtools_protocol___devtools_protocol_0.0.969999.tgz";
       path = fetchurl {
-        name = "devtools_protocol___devtools_protocol_0.0.937139.tgz";
-        url  = "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.937139.tgz";
-        sha512 = "daj+rzR3QSxsPRy5vjjthn58axO8c11j58uY0lG5vvlJk/EiOdCWOptGdkXDjtuRHr78emKq0udHCXM4trhoDQ==";
+        name = "devtools_protocol___devtools_protocol_0.0.969999.tgz";
+        url  = "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.969999.tgz";
+        sha512 = "6GfzuDWU0OFAuOvBokXpXPLxjOJ5DZ157Ue3sGQQM3LgAamb8m0R0ruSfN0DDu+XG5XJgT50i6zZ/0o8RglreQ==";
       };
     }
     {
@@ -890,19 +850,19 @@
       };
     }
     {
-      name = "dmg_builder___dmg_builder_22.14.5.tgz";
+      name = "dmg_builder___dmg_builder_22.14.13.tgz";
       path = fetchurl {
-        name = "dmg_builder___dmg_builder_22.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.5.tgz";
-        sha512 = "1GvFGQE332bvPamcMwZDqWqfWfJTyyDLOsHMcGi0zs+Jh7JOn6/zuBkHJIWHdsj2QJbhzLVyd2/ZqttOKv7I8w==";
+        name = "dmg_builder___dmg_builder_22.14.13.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.13.tgz";
+        sha512 = "xNOugB6AbIRETeU2uID15sUfjdZZcKdxK8xkFnwIggsM00PJ12JxpLNPTjcRoUnfwj3WrPjilrO64vRMwNItQg==";
       };
     }
     {
-      name = "dmg_license___dmg_license_1.0.10.tgz";
+      name = "dmg_license___dmg_license_1.0.11.tgz";
       path = fetchurl {
-        name = "dmg_license___dmg_license_1.0.10.tgz";
-        url  = "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.10.tgz";
-        sha512 = "SVeeyiOeinV5JCPHXMdKOgK1YVbak/4+8WL2rBnfqRYpA5FaeFaQnQWb25x628am1w70CbipGDv9S51biph63A==";
+        name = "dmg_license___dmg_license_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.11.tgz";
+        sha512 = "ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==";
       };
     }
     {
@@ -946,11 +906,11 @@
       };
     }
     {
-      name = "electron_builder___electron_builder_22.14.5.tgz";
+      name = "electron_builder___electron_builder_22.14.13.tgz";
       path = fetchurl {
-        name = "electron_builder___electron_builder_22.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.5.tgz";
-        sha512 = "N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg==";
+        name = "electron_builder___electron_builder_22.14.13.tgz";
+        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.13.tgz";
+        sha512 = "3fgLxqF2TXVKiUPeg74O4V3l0l3j7ERLazo8sUbRkApw0+4iVAf2BJkHsHMaXiigsgCoEzK/F4/rB5rne/VAnw==";
       };
     }
     {
@@ -962,19 +922,19 @@
       };
     }
     {
-      name = "electron_publish___electron_publish_22.14.5.tgz";
+      name = "electron_publish___electron_publish_22.14.13.tgz";
       path = fetchurl {
-        name = "electron_publish___electron_publish_22.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.5.tgz";
-        sha512 = "h+NANRdaA0PqGF15GKvorseWPzh1PXa/zx4I37//PIokW8eKIov8ky23foUSb55ZFWUHGpxQJux7y2NCfBtQeg==";
+        name = "electron_publish___electron_publish_22.14.13.tgz";
+        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.13.tgz";
+        sha512 = "0oP3QiNj3e8ewOaEpEJV/o6Zrmy2VarVvZ/bH7kyO/S/aJf9x8vQsKVWpsdmSiZ5DJEHgarFIXrnO0ZQf0P9iQ==";
       };
     }
     {
-      name = "electron___electron_16.0.7.tgz";
+      name = "electron___electron_17.2.0.tgz";
       path = fetchurl {
-        name = "electron___electron_16.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/electron/-/electron-16.0.7.tgz";
-        sha512 = "/IMwpBf2svhA1X/7Q58RV+Nn0fvUJsHniG4TizaO7q4iKFYSQ6hBvsLz+cylcZ8hRMKmVy5G1XaMNJID2ah23w==";
+        name = "electron___electron_17.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/electron/-/electron-17.2.0.tgz";
+        sha512 = "eNXhPVEUofkgAeqRFvTizzYecoCMyS0Rar08WZHSAw9wjfZXawYMvTpjjjk9GiX9W/+Cjxua4YtGn5bOTabc0A==";
       };
     }
     {
@@ -1034,14 +994,6 @@
       };
     }
     {
-      name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
-      path = fetchurl {
-        name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha1 = "G2HAViGQqN/2rjuyzwIAyhMLhtQ=";
-      };
-    }
-    {
       name = "escape_string_regexp___escape_string_regexp_4.0.0.tgz";
       path = fetchurl {
         name = "escape_string_regexp___escape_string_regexp_4.0.0.tgz";
@@ -1114,6 +1066,14 @@
       };
     }
     {
+      name = "fessonia___fessonia_2.2.2.tgz";
+      path = fetchurl {
+        name = "fessonia___fessonia_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/fessonia/-/fessonia-2.2.2.tgz";
+        sha512 = "FvlDFdwHBIxWl2K9XynAIR38NB8xn4vPPZDNK5nIQBnGwZ0xv5FxDXsz+pzYZrUqoEQPQBJemNrYhueD2de7qw==";
+      };
+    }
+    {
       name = "filelist___filelist_1.0.2.tgz";
       path = fetchurl {
         name = "filelist___filelist_1.0.2.tgz";
@@ -1130,11 +1090,11 @@
       };
     }
     {
-      name = "follow_redirects___follow_redirects_1.14.7.tgz";
+      name = "follow_redirects___follow_redirects_1.14.9.tgz";
       path = fetchurl {
-        name = "follow_redirects___follow_redirects_1.14.7.tgz";
-        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz";
-        sha512 = "+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==";
+        name = "follow_redirects___follow_redirects_1.14.9.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz";
+        sha512 = "MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==";
       };
     }
     {
@@ -1162,11 +1122,11 @@
       };
     }
     {
-      name = "fs_extra___fs_extra_10.0.0.tgz";
+      name = "fs_extra___fs_extra_10.0.1.tgz";
       path = fetchurl {
-        name = "fs_extra___fs_extra_10.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz";
-        sha512 = "C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==";
+        name = "fs_extra___fs_extra_10.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.1.tgz";
+        sha512 = "NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==";
       };
     }
     {
@@ -1298,14 +1258,6 @@
       };
     }
     {
-      name = "has_flag___has_flag_3.0.0.tgz";
-      path = fetchurl {
-        name = "has_flag___has_flag_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz";
-        sha1 = "tdRU3CGZriJWmfNGfloH87lVuv0=";
-      };
-    }
-    {
       name = "has_flag___has_flag_4.0.0.tgz";
       path = fetchurl {
         name = "has_flag___has_flag_4.0.0.tgz";
@@ -1346,6 +1298,14 @@
       };
     }
     {
+      name = "http_proxy_agent___http_proxy_agent_5.0.0.tgz";
+      path = fetchurl {
+        name = "http_proxy_agent___http_proxy_agent_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz";
+        sha512 = "n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==";
+      };
+    }
+    {
       name = "https_proxy_agent___https_proxy_agent_5.0.0.tgz";
       path = fetchurl {
         name = "https_proxy_agent___https_proxy_agent_5.0.0.tgz";
@@ -1426,14 +1386,6 @@
       };
     }
     {
-      name = "is_buffer___is_buffer_1.1.6.tgz";
-      path = fetchurl {
-        name = "is_buffer___is_buffer_1.1.6.tgz";
-        url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz";
-        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
-      };
-    }
-    {
       name = "is_ci___is_ci_2.0.0.tgz";
       path = fetchurl {
         name = "is_ci___is_ci_2.0.0.tgz";
@@ -1554,11 +1506,11 @@
       };
     }
     {
-      name = "isbinaryfile___isbinaryfile_4.0.8.tgz";
+      name = "isbinaryfile___isbinaryfile_4.0.10.tgz";
       path = fetchurl {
-        name = "isbinaryfile___isbinaryfile_4.0.8.tgz";
-        url  = "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz";
-        sha512 = "53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==";
+        name = "isbinaryfile___isbinaryfile_4.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz";
+        sha512 = "iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==";
       };
     }
     {
@@ -1578,11 +1530,11 @@
       };
     }
     {
-      name = "jake___jake_10.8.2.tgz";
+      name = "jake___jake_10.8.4.tgz";
       path = fetchurl {
-        name = "jake___jake_10.8.2.tgz";
-        url  = "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz";
-        sha512 = "eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==";
+        name = "jake___jake_10.8.4.tgz";
+        url  = "https://registry.yarnpkg.com/jake/-/jake-10.8.4.tgz";
+        sha512 = "MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==";
       };
     }
     {
@@ -1618,11 +1570,11 @@
       };
     }
     {
-      name = "json5___json5_2.2.0.tgz";
+      name = "json5___json5_2.2.1.tgz";
       path = fetchurl {
-        name = "json5___json5_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz";
-        sha512 = "f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==";
+        name = "json5___json5_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz";
+        sha512 = "1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==";
       };
     }
     {
@@ -1642,11 +1594,11 @@
       };
     }
     {
-      name = "keytar___keytar_7.7.0.tgz";
+      name = "keytar___keytar_7.9.0.tgz";
       path = fetchurl {
-        name = "keytar___keytar_7.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/keytar/-/keytar-7.7.0.tgz";
-        sha512 = "YEY9HWqThQc5q5xbXbRwsZTh2PJ36OSYRjSv3NN2xf5s5dpLTjEZnC2YikR29OaVybf9nQ0dJ/80i40RS97t/A==";
+        name = "keytar___keytar_7.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/keytar/-/keytar-7.9.0.tgz";
+        sha512 = "VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==";
       };
     }
     {
@@ -1730,27 +1682,19 @@
       };
     }
     {
-      name = "md5___md5_2.3.0.tgz";
-      path = fetchurl {
-        name = "md5___md5_2.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz";
-        sha512 = "T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==";
-      };
-    }
-    {
-      name = "mime_db___mime_db_1.51.0.tgz";
+      name = "mime_db___mime_db_1.52.0.tgz";
       path = fetchurl {
-        name = "mime_db___mime_db_1.51.0.tgz";
-        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz";
-        sha512 = "5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==";
+        name = "mime_db___mime_db_1.52.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz";
+        sha512 = "sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==";
       };
     }
     {
-      name = "mime_types___mime_types_2.1.34.tgz";
+      name = "mime_types___mime_types_2.1.35.tgz";
       path = fetchurl {
-        name = "mime_types___mime_types_2.1.34.tgz";
-        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz";
-        sha512 = "6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==";
+        name = "mime_types___mime_types_2.1.35.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz";
+        sha512 = "ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==";
       };
     }
     {
@@ -1770,11 +1714,11 @@
       };
     }
     {
-      name = "mimic_response___mimic_response_2.1.0.tgz";
+      name = "mimic_response___mimic_response_3.1.0.tgz";
       path = fetchurl {
-        name = "mimic_response___mimic_response_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz";
-        sha512 = "wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==";
+        name = "mimic_response___mimic_response_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz";
+        sha512 = "z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==";
       };
     }
     {
@@ -1786,11 +1730,19 @@
       };
     }
     {
-      name = "minimist___minimist_1.2.5.tgz";
+      name = "minimatch___minimatch_3.1.2.tgz";
       path = fetchurl {
-        name = "minimist___minimist_1.2.5.tgz";
-        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz";
-        sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
+        name = "minimatch___minimatch_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz";
+        sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
+      };
+    }
+    {
+      name = "minimist___minimist_1.2.6.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_1.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz";
+        sha512 = "Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==";
       };
     }
     {
@@ -1802,11 +1754,11 @@
       };
     }
     {
-      name = "mkdirp___mkdirp_0.5.5.tgz";
+      name = "mkdirp___mkdirp_0.5.6.tgz";
       path = fetchurl {
-        name = "mkdirp___mkdirp_0.5.5.tgz";
-        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz";
-        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
+        name = "mkdirp___mkdirp_0.5.6.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz";
+        sha512 = "FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==";
       };
     }
     {
@@ -1842,11 +1794,11 @@
       };
     }
     {
-      name = "node_abi___node_abi_2.30.1.tgz";
+      name = "node_abi___node_abi_3.8.0.tgz";
       path = fetchurl {
-        name = "node_abi___node_abi_2.30.1.tgz";
-        url  = "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz";
-        sha512 = "/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==";
+        name = "node_abi___node_abi_3.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-abi/-/node-abi-3.8.0.tgz";
+        sha512 = "tzua9qWWi7iW4I42vUPKM+SfaF0vQSLAm4yO5J83mSwB7GeoWrDKC/K+8YCnYNwqP5duwazbw2X9l4m8SC2cUw==";
       };
     }
     {
@@ -1858,19 +1810,19 @@
       };
     }
     {
-      name = "node_addon_api___node_addon_api_3.2.1.tgz";
+      name = "node_addon_api___node_addon_api_4.3.0.tgz";
       path = fetchurl {
-        name = "node_addon_api___node_addon_api_3.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz";
-        sha512 = "mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==";
+        name = "node_addon_api___node_addon_api_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz";
+        sha512 = "73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==";
       };
     }
     {
-      name = "node_fetch___node_fetch_2.6.5.tgz";
+      name = "node_fetch___node_fetch_2.6.7.tgz";
       path = fetchurl {
-        name = "node_fetch___node_fetch_2.6.5.tgz";
-        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.5.tgz";
-        sha512 = "mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==";
+        name = "node_fetch___node_fetch_2.6.7.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz";
+        sha512 = "ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==";
       };
     }
     {
@@ -2042,19 +1994,19 @@
       };
     }
     {
-      name = "plist___plist_3.0.4.tgz";
+      name = "plist___plist_3.0.5.tgz";
       path = fetchurl {
-        name = "plist___plist_3.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz";
-        sha512 = "ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==";
+        name = "plist___plist_3.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/plist/-/plist-3.0.5.tgz";
+        sha512 = "83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==";
       };
     }
     {
-      name = "prebuild_install___prebuild_install_6.1.4.tgz";
+      name = "prebuild_install___prebuild_install_7.0.1.tgz";
       path = fetchurl {
-        name = "prebuild_install___prebuild_install_6.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.1.4.tgz";
-        sha512 = "Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==";
+        name = "prebuild_install___prebuild_install_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.0.1.tgz";
+        sha512 = "QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==";
       };
     }
     {
@@ -2122,11 +2074,11 @@
       };
     }
     {
-      name = "puppeteer___puppeteer_13.0.1.tgz";
+      name = "puppeteer___puppeteer_13.5.1.tgz";
       path = fetchurl {
-        name = "puppeteer___puppeteer_13.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.0.1.tgz";
-        sha512 = "wqGIx59LzYqWhYcJQphMT+ux0sgatEUbjKG0lbjJxNVqVIT3ZC5m4Bvmq2gHE3qhb63EwS+rNkql08bm4BvO0A==";
+        name = "puppeteer___puppeteer_13.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.5.1.tgz";
+        sha512 = "wWxO//vMiqxlvuzHMAJ0pRJeDHvDtM7DQpW1GKdStz2nZo2G42kOXBDgkmQ+zqjwMCFofKGesBeeKxIkX9BO+w==";
       };
     }
     {
@@ -2338,11 +2290,11 @@
       };
     }
     {
-      name = "signal_exit___signal_exit_3.0.6.tgz";
+      name = "signal_exit___signal_exit_3.0.7.tgz";
       path = fetchurl {
-        name = "signal_exit___signal_exit_3.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz";
-        sha512 = "sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==";
+        name = "signal_exit___signal_exit_3.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz";
+        sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
       };
     }
     {
@@ -2354,11 +2306,11 @@
       };
     }
     {
-      name = "simple_get___simple_get_3.1.0.tgz";
+      name = "simple_get___simple_get_4.0.1.tgz";
       path = fetchurl {
-        name = "simple_get___simple_get_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz";
-        sha512 = "bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==";
+        name = "simple_get___simple_get_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz";
+        sha512 = "brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==";
       };
     }
     {
@@ -2482,14 +2434,6 @@
       };
     }
     {
-      name = "supports_color___supports_color_5.5.0.tgz";
-      path = fetchurl {
-        name = "supports_color___supports_color_5.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz";
-        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
-      };
-    }
-    {
       name = "supports_color___supports_color_7.2.0.tgz";
       path = fetchurl {
         name = "supports_color___supports_color_7.2.0.tgz";
@@ -2770,11 +2714,11 @@
       };
     }
     {
-      name = "ws___ws_8.2.3.tgz";
+      name = "ws___ws_8.5.0.tgz";
       path = fetchurl {
-        name = "ws___ws_8.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz";
-        sha512 = "wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==";
+        name = "ws___ws_8.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz";
+        sha512 = "BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==";
       };
     }
     {
@@ -2818,19 +2762,19 @@
       };
     }
     {
-      name = "yargs_parser___yargs_parser_21.0.0.tgz";
+      name = "yargs_parser___yargs_parser_21.0.1.tgz";
       path = fetchurl {
-        name = "yargs_parser___yargs_parser_21.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz";
-        sha512 = "z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==";
+        name = "yargs_parser___yargs_parser_21.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz";
+        sha512 = "9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==";
       };
     }
     {
-      name = "yargs___yargs_17.3.1.tgz";
+      name = "yargs___yargs_17.4.0.tgz";
       path = fetchurl {
-        name = "yargs___yargs_17.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz";
-        sha512 = "WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==";
+        name = "yargs___yargs_17.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz";
+        sha512 = "WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==";
       };
     }
     {
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
index 72e239229b3..e14d3732d76 100644
--- a/pkgs/tools/misc/snapper/default.nix
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub
 , autoreconfHook, pkg-config, docbook_xsl, libxslt, docbook_xml_dtd_45
 , acl, attr, boost, btrfs-progs, dbus, diffutils, e2fsprogs, libxml2
-, lvm2, pam, python2, util-linux, json_c, nixosTests
+, lvm2, pam, util-linux, json_c, nixosTests
 , ncurses }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   ];
   buildInputs = [
     acl attr boost btrfs-progs dbus diffutils e2fsprogs libxml2
-    lvm2 pam python2 util-linux json_c ncurses
+    lvm2 pam util-linux json_c ncurses
   ];
 
   passthru.tests.snapper = nixosTests.snapper;
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index f3277477481..861667c11e2 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -14,13 +14,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "1.6.2";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Swxc2gl3YP+0Kf+trp37rGhr5G8NT4L3Bb3lHwLm50Q=";
+    sha256 = "sha256-CZU1pQixbv/Fvqy6lMLXNYWj+2/pplNq+IXloED1Pt8=";
   };
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
@@ -38,7 +38,7 @@ rustPlatform.buildRustPackage rec {
     done
   '';
 
-  cargoSha256 = "sha256-UvIectx6qWkXg/yVQe11NXhh2UD0D/dMCtK1kj3ln6M=";
+  cargoSha256 = "sha256-5iAo8Gqvbba8W1KXtmFoKx+W1s3dwxR/T+v/R5+S38g=";
 
   preCheck = ''
     HOME=$TMPDIR
diff --git a/pkgs/tools/misc/swaglyrics/default.nix b/pkgs/tools/misc/swaglyrics/default.nix
index cc1835c5549..8fff712c323 100644
--- a/pkgs/tools/misc/swaglyrics/default.nix
+++ b/pkgs/tools/misc/swaglyrics/default.nix
@@ -1,18 +1,38 @@
-{ lib, python3, fetchFromGitHub, ncurses }:
+{ lib
+, python3
+, fetchFromGitHub
+, ncurses
+}:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "swaglyrics";
   version = "unstable-2021-06-17";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "SwagLyrics";
     repo = "SwagLyrics-For-Spotify";
     rev = "99fe764a9e45cac6cb9fcdf724c7d2f8cb4524fb";
-    sha256 = "sha256-O48T1WsUIVnNQb8gmzSkFFHTOiFOKVSAEYhF9zUqZz0=";
+    hash = "sha256-O48T1WsUIVnNQb8gmzSkFFHTOiFOKVSAEYhF9zUqZz0=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
-    unidecode colorama beautifulsoup4 flask requests swspotify
+    beautifulsoup4
+    colorama
+    flask
+    requests
+    swspotify
+    unidecode
+  ];
+
+  checkInputs = with python3.pkgs; [
+    blinker
+    flask
+    flask-testing
+    mock
+    pytestCheckHook
+  ] ++ [
+    ncurses
   ];
 
   preConfigure = ''
@@ -22,10 +42,12 @@ python3.pkgs.buildPythonApplication rec {
       --replace 'flask==2.0.1' 'flask>=2.0.1'
   '';
 
-  preBuild = "export HOME=$NIX_BUILD_TOP";
+  preBuild = ''
+    export HOME=$(mktemp -d)
+  '';
 
-  # disable tests which touch network
   disabledTests = [
+     # Disable tests which touch network
      "test_database_for_unsupported_song"
      "test_that_lyrics_works_for_unsupported_songs"
      "test_that_get_lyrics_works"
@@ -33,9 +55,9 @@ python3.pkgs.buildPythonApplication rec {
      "test_songchanged_can_raise_songplaying"
   ];
 
-  checkInputs = with python3.pkgs;
-    [ blinker swspotify pytestCheckHook flask mock flask_testing ]
-    ++ [ ncurses ];
+  pythonImportsCheck = [
+    "swaglyrics"
+  ];
 
   meta = with lib; {
     description = "Lyrics fetcher for currently playing Spotify song";
diff --git a/pkgs/tools/misc/tlp/default.nix b/pkgs/tools/misc/tlp/default.nix
index 151b8292a59..cbcc2ba38d2 100644
--- a/pkgs/tools/misc/tlp/default.nix
+++ b/pkgs/tools/misc/tlp/default.nix
@@ -40,7 +40,7 @@
   ];
 
   buildInputs = [ perl ];
-  nativeBuildInputs = [ makeWrapper gnused ];
+  nativeBuildInputs = [ makeWrapper ];
 
   # XXX: While [1] states that DESTDIR should not be used, and that the correct
   # variable to set is, in fact, PREFIX, tlp thinks otherwise. The Makefile for
diff --git a/pkgs/tools/misc/tmuxp/default.nix b/pkgs/tools/misc/tmuxp/default.nix
index 5820cbbba2c..b24c3ead956 100644
--- a/pkgs/tools/misc/tmuxp/default.nix
+++ b/pkgs/tools/misc/tmuxp/default.nix
@@ -6,11 +6,11 @@ let
 in
 pypkgs.buildPythonApplication rec {
   pname = "tmuxp";
-  version = "1.9.2";
+  version = "1.11.0";
 
   src = pypkgs.fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3RlTbIq7UGvEESMvncq97bhjJw8O4m+0aFVZgBQOwkM=";
+    sha256 = "sha256-N5kZ+e17ZgLOCvV/lcT/hdG1VNqLxh98QOQyM0BmZCA=";
   };
 
   # No tests in archive
diff --git a/pkgs/tools/misc/topgrade/default.nix b/pkgs/tools/misc/topgrade/default.nix
index dfa9b18afd2..78e2dc219b7 100644
--- a/pkgs/tools/misc/topgrade/default.nix
+++ b/pkgs/tools/misc/topgrade/default.nix
@@ -1,19 +1,26 @@
-{ stdenv, lib, fetchFromGitHub, rustPlatform, Foundation, installShellFiles }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, rustPlatform
+, Cocoa
+, Foundation
+, installShellFiles
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "topgrade";
-  version = "8.3.0";
+  version = "8.3.1";
 
   src = fetchFromGitHub {
     owner = "r-darwish";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-iFS8Bf2IF0GoW168DwfBbkiPd7IGJhGShofFnBESpUc=";
+    sha256 = "sha256-EsC17VUQDgrhCU26fsqf2zXOTKa/WeKHiWG0Zn1Qao4=";
   };
 
-  cargoSha256 = "sha256-8Ag4rDXnDZgxdwFpiWnYNjDeau9vr9EIfbJzeQlqSDM=";
+  cargoSha256 = "sha256-e5QJw5yY+ZkijqoqRauA5ncvLWiRlalYZCwSG5U7uDk=";
 
-  buildInputs = lib.optional stdenv.isDarwin Foundation;
+  buildInputs = lib.optionals stdenv.isDarwin [ Cocoa Foundation ];
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -25,6 +32,7 @@ rustPlatform.buildRustPackage rec {
     description = "Upgrade all the things";
     homepage = "https://github.com/r-darwish/topgrade";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ Br1ght0ne hugoreeves SuperSandro2000 ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix
index 41279b1434d..ec9958ec545 100644
--- a/pkgs/tools/misc/vector/default.nix
+++ b/pkgs/tools/misc/vector/default.nix
@@ -30,7 +30,7 @@
 
 let
   pname = "vector";
-  version = "0.21.0";
+  version = "0.21.1";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -39,10 +39,10 @@ rustPlatform.buildRustPackage {
     owner = "timberio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZhOtrv63ZhG3OEWLTk+VdZr6Y6f9KvyCJvAKWck7B7o=";
+    sha256 = "sha256-eskm+H0D+SB3PB76T6Z+iL5jjyy51lOXy88QXsn/Azs=";
   };
 
-  cargoSha256 = "sha256-VGB+ljojXGrQmcN0AT90hFk9h5nwjDTtzGpWmItw9x4=";
+  cargoSha256 = "sha256-fN6o8Fcqdhs5c3RID+ok1Xo5g6nF9m3f8EWIJ47dn/k=";
   nativeBuildInputs = [ pkg-config cmake perl ];
   buildInputs = [ oniguruma openssl protobuf rdkafka zstd ]
     ++ lib.optionals stdenv.isDarwin [ Security libiconv coreutils CoreServices ];
@@ -62,9 +62,8 @@ rustPlatform.buildRustPackage {
   buildFeatures = features;
 
   # TODO investigate compilation failure for tests
-  # dev dependency includes httpmock which depends on iashc which depends on curl-sys with http2 feature enabled
-  # compilation fails because of a missing http2 include
-  doCheck = !stdenv.isDarwin;
+  # there are about 100 tests failing (out of 1100) for version 0.21.1
+  doCheck = false;
 
   checkFlags = [
     # tries to make a network access
diff --git a/pkgs/tools/misc/watchexec/default.nix b/pkgs/tools/misc/watchexec/default.nix
index b9be5982f77..d54e906f347 100644
--- a/pkgs/tools/misc/watchexec/default.nix
+++ b/pkgs/tools/misc/watchexec/default.nix
@@ -2,21 +2,23 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "watchexec";
-  version = "1.17.1";
+  version = "1.19.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "cli-v${version}";
-    sha256 = "13yqghdhakkwp607j84a1vbqgnqqn77a5mh27cr24352ik2vkrkq";
+    sha256 = "sha256-Zqu6Qor7kHSeOFyHjcrl6RhB8gL9pljHt7hEd6/0Kss=";
   };
 
-  cargoSha256 = "0grzfzxw705zs5qb2h7k0yws45m20ihhh4mnpmk3wargbxpn6gsh";
+  cargoSha256 = "sha256-XwgoYaqgDkNggzi2TL/JPfh8LSFSzSWOVMbkmhXX73I=";
 
   nativeBuildInputs = [ installShellFiles ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Foundation libiconv ];
 
+  checkFlags = [ "--skip=help" "--skip=help_short" ];
+
   postInstall = ''
     installManPage doc/watchexec.1
     installShellCompletion --zsh --name _watchexec completions/zsh
diff --git a/pkgs/tools/misc/wlc/default.nix b/pkgs/tools/misc/wlc/default.nix
index 2bac81fd3ca..2e76719012e 100644
--- a/pkgs/tools/misc/wlc/default.nix
+++ b/pkgs/tools/misc/wlc/default.nix
@@ -6,11 +6,11 @@ with python3.pkgs;
 
 buildPythonPackage rec {
   pname = "wlc";
-  version = "1.12";
+  version = "1.13";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256:01c1qxq6dxvpn8rgpbqs4iw5daa0rmlgygb3xhhfj7xpqv1v84ir";
+    sha256 = "sha256-MZ6avuMNT5HIIXW7ezukAJeO70o+SrgJnBnGjNy4tYE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/misc/yle-dl/default.nix b/pkgs/tools/misc/yle-dl/default.nix
index 1c49d68cd00..13868bf2940 100644
--- a/pkgs/tools/misc/yle-dl/default.nix
+++ b/pkgs/tools/misc/yle-dl/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "yle-dl";
-  version = "20220213";
+  version = "20220425";
 
   src = fetchFromGitHub {
     owner = "aajanki";
     repo = "yle-dl";
     rev = version;
-    sha256 = "sha256-lFb8NwKg8GBgkVsg01rlGrP31APwhFaCFT7QdqiT6J0=";
+    sha256 = "sha256-PIoJ+enbRwXiszh7BTkfeoA6IfDXoFOi9WitzQp3EQE=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/misc/you-get/default.nix b/pkgs/tools/misc/you-get/default.nix
index a08fdcb1dd2..90b29d80ac1 100644
--- a/pkgs/tools/misc/you-get/default.nix
+++ b/pkgs/tools/misc/you-get/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "you-get";
-  version = "0.4.1555";
+  version = "0.4.1602";
 
   # 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 = "99282aca720c7ee1d9ef4b63bbbd226e906ea170b789a459fafd5b0627b0b15f";
+    sha256 = "sha256-RwbAbMS5CA6pO08TuaTb67YM/hLRkceOF7D6iV0XcI8=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix
index efabd8bc453..1a87a31e338 100644
--- a/pkgs/tools/misc/yt-dlp/default.nix
+++ b/pkgs/tools/misc/yt-dlp/default.nix
@@ -10,6 +10,7 @@
 , pycryptodomex
 , websockets
 , mutagen
+, atomicparsleySupport ? true
 , ffmpegSupport ? true
 , rtmpSupport ? true
 , phantomjsSupport ? false
@@ -37,11 +38,12 @@ buildPythonPackage rec {
   # - atomicparsley: embedding thumbnails
   makeWrapperArgs =
     let
-      packagesToBinPath = [ atomicparsley ]
+      packagesToBinPath = []
+        ++ lib.optional atomicparsleySupport atomicparsley
         ++ lib.optional ffmpegSupport ffmpeg
         ++ lib.optional rtmpSupport rtmpdump
         ++ lib.optional phantomjsSupport phantomjs2;
-    in
+    in lib.optionalString (packagesToBinPath != [])
     [ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ];
 
   setupPyBuildFlags = [
diff --git a/pkgs/tools/misc/ytarchive/default.nix b/pkgs/tools/misc/ytarchive/default.nix
index 7176ea0953d..ecf1fe9ff69 100644
--- a/pkgs/tools/misc/ytarchive/default.nix
+++ b/pkgs/tools/misc/ytarchive/default.nix
@@ -1,20 +1,26 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, makeWrapper, ffmpeg }:
 
 buildGoModule rec {
   pname = "ytarchive";
-  version = "unstable-2022-02-16";
+  version = "unstable-2022-03-11";
 
   src = fetchFromGitHub {
     owner = "Kethsar";
     repo = "ytarchive";
-    rev = "66a1ca003de7302c99bda943500257d5fd374199";
-    sha256 = "sha256-6eLNyInqXB+LWbZ18DvXbTdpRpiCDMGwJaiyQfZZ4xM=";
+    rev = "34825e8777637ca114a0ab394a4b4fead6ad7c88";
+    sha256 = "sha256-/x6YcF2EyjOFnIHlsh+ZESF+7AYO3QRNaqbJgycQai4=";
   };
 
   vendorSha256 = "sha256-r9fDFSCDItQ7YSj9aTY1LXRrFE9T3XD0X36ywCfu0R8=";
 
+  nativeBuildInputs = [ makeWrapper ];
+
   ldflags = [ "-s" "-w" ];
 
+  postInstall = ''
+    wrapProgram $out/bin/ytarchive --prefix PATH : ${lib.makeBinPath [ ffmpeg ]}
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/Kethsar/ytarchive";
     description = "Garbage Youtube livestream downloader";
diff --git a/pkgs/tools/misc/ytfzf/default.nix b/pkgs/tools/misc/ytfzf/default.nix
index fd58e79063e..9bcc0712c35 100644
--- a/pkgs/tools/misc/ytfzf/default.nix
+++ b/pkgs/tools/misc/ytfzf/default.nix
@@ -16,25 +16,32 @@
 
 stdenv.mkDerivation rec {
   pname = "ytfzf";
-  version = "2.2";
+  version = "2.3";
 
   src = fetchFromGitHub {
     owner = "pystardust";
     repo = "ytfzf";
     rev = "v${version}";
-    hash = "sha256-dQq7p/aK9iiyuhuxh5eVXR9GLukwsvosONpQTI0mknw=";
+    hash = "sha256-zfoICi1VChmrRHZ3dSHGTcXkVf/zirQTycFz98xj+QY=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   dontBuild = true;
 
-  installFlags = [ "PREFIX=${placeholder "out"}" "doc" ];
+  installFlags = [
+    "PREFIX="
+    "DESTDIR=${placeholder "out"}"
+    "doc"
+    "addons"
+  ];
 
   postInstall = ''
-    wrapProgram "$out/bin/ytfzf" --prefix PATH : ${lib.makeBinPath [
-      chafa coreutils curl dmenu fzf gnused jq mpv ueberzug yt-dlp
-    ]}
+    wrapProgram "$out/bin/ytfzf" \
+      --prefix PATH : ${lib.makeBinPath [
+        chafa coreutils curl dmenu fzf gnused jq mpv ueberzug yt-dlp
+      ]} \
+      --set YTFZF_SYSTEM_ADDON_DIR "$out/share/ytfzf/addons"
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/yubico-piv-tool/default.nix b/pkgs/tools/misc/yubico-piv-tool/default.nix
index 6d80cd2400d..187782fd406 100644
--- a/pkgs/tools/misc/yubico-piv-tool/default.nix
+++ b/pkgs/tools/misc/yubico-piv-tool/default.nix
@@ -1,20 +1,28 @@
-{ lib, stdenv, fetchurl, pkg-config, openssl, check, pcsclite, PCSC
+{ lib, stdenv, fetchurl, pkg-config, openssl, check, pcsclite, PCSC, gengetopt, cmake
 , withApplePCSC ? stdenv.isDarwin
 }:
 
 stdenv.mkDerivation rec {
   pname = "yubico-piv-tool";
-  version = "2.0.0";
+  version = "2.2.1";
 
   src = fetchurl {
     url = "https://developers.yubico.com/yubico-piv-tool/Releases/yubico-piv-tool-${version}.tar.gz";
-    sha256 = "124lhlim05gw32ydjh1yawqbnx6wdllz1ir9j00j09wji3m11rfs";
+    sha256 = "sha256-t+3k3cPW4x3mey4t3NMZsitAzC4Jc7mGbQUqdUSTsU4=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config cmake gengetopt ];
   buildInputs = [ openssl check ]
     ++ (if withApplePCSC then [ PCSC ] else [ pcsclite ]);
 
+  cmakeFlags = [
+    "-DGENERATE_MAN_PAGES=OFF" # Use the man page generated at release time
+    "-DCMAKE_INSTALL_BINDIR=bin"
+    "-DCMAKE_INSTALL_INCLUDEDIR=include"
+    "-DCMAKE_INSTALL_MANDIR=share/man"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+  ];
+
   configureFlags = [ "--with-backend=${if withApplePCSC then "macscard" else "pcsc"}" ];
 
   meta = with lib; {
@@ -32,5 +40,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.bsd2;
     platforms = platforms.all;
+    maintainers = with maintainers; [ viraptor ];
   };
 }
diff --git a/pkgs/tools/misc/zellij/default.nix b/pkgs/tools/misc/zellij/default.nix
index e8b39bb1caa..421c7d21d30 100644
--- a/pkgs/tools/misc/zellij/default.nix
+++ b/pkgs/tools/misc/zellij/default.nix
@@ -10,21 +10,21 @@
 , Foundation
 , mandown
 , zellij
-, testVersion
+, testers
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "zellij";
-  version = "0.27.0";
+  version = "0.29.1";
 
   src = fetchFromGitHub {
     owner = "zellij-org";
     repo = "zellij";
     rev = "v${version}";
-    sha256 = "sha256-iQ+Z1A/wiui2IHuK35e6T/44TYaf6+KbaDl5GfVF2vo=";
+    sha256 = "sha256-KuelmMQdCazwTlolH5xvvNXZfzHQDUV6rrlk037GFb8=";
   };
 
-  cargoSha256 = "sha256-DMHIvqClBpBplvqqXM2dUOumO+Ean4yAHWDplJ9PaUM=";
+  cargoSha256 = "sha256-He8rMY8n15ZSF/GcbuYTx2JfZgqQnsZLfqP+lUYxnzw=";
 
   nativeBuildInputs = [
     mandown
@@ -54,7 +54,7 @@ rustPlatform.buildRustPackage rec {
       --zsh <($out/bin/zellij setup --generate-completion zsh)
   '';
 
-  passthru.tests.version = testVersion { package = zellij; };
+  passthru.tests.version = testers.testVersion { package = zellij; };
 
   meta = with lib; {
     description = "A terminal workspace with batteries included";
diff --git a/pkgs/tools/misc/zoxide/default.nix b/pkgs/tools/misc/zoxide/default.nix
index 29a9c29aab4..96c7c29a2d9 100644
--- a/pkgs/tools/misc/zoxide/default.nix
+++ b/pkgs/tools/misc/zoxide/default.nix
@@ -10,13 +10,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zoxide";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "ajeetdsouza";
     repo = "zoxide";
     rev = "v${version}";
-    sha256 = "sha256-5syCq2Qjjk/XoYqW4MGoSSTRLqzgBwadBJwZDDdWNgU=";
+    sha256 = "sha256-f6HzSnrOaAOnA9k6e3CnXioxCTOM0VSpTOpxnmz+Tyk=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -24,14 +24,14 @@ rustPlatform.buildRustPackage rec {
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
   postPatch = lib.optionalString withFzf ''
-    substituteInPlace src/fzf.rs \
+    substituteInPlace src/util.rs \
       --replace '"fzf"' '"${fzf}/bin/fzf"'
   '';
 
-  cargoSha256 = "sha256-egZqMiN53k2R1b1dbCn4j0KEJqb27TdE25YYEZ4Nvao=";
+  cargoSha256 = "sha256-OAvE/KFoS4+18J+kOZTYa9zgnkWh/0bgy9iglGyZ8PQ=";
 
   postInstall = ''
-    installManPage man/*
+    installManPage man/man*/*
     installShellCompletion --cmd zoxide \
       --bash contrib/completions/zoxide.bash \
       --fish contrib/completions/zoxide.fish \
diff --git a/pkgs/tools/networking/bore-cli/default.nix b/pkgs/tools/networking/bore-cli/default.nix
index 9d9d99b45fa..5ca16499fe8 100644
--- a/pkgs/tools/networking/bore-cli/default.nix
+++ b/pkgs/tools/networking/bore-cli/default.nix
@@ -1,17 +1,26 @@
-{ lib, rustPlatform, fetchFromGitHub }:
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, Security
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "bore-cli";
-  version = "0.2.1";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "ekzhang";
     repo = "bore";
     rev = "v${version}";
-    sha256 = "sha256-k1QpNpN6MVt7+PIDFcJtd7yD1ZpBJ9GFBBagVArRifs=";
+    hash = "sha256-ywdJH39OYLaM4st/DIcvvtIUzExpbAucMMpqouJL1yI=";
   };
 
-  cargoSha256 = "sha256-fNsMNU4npChqyIeonMSc6AjcBxVYVJhiG++HkQ3FM9M=";
+  cargoSha256 = "sha256-ZnEVTFiPo3AFyo1BoV88X2nCqYzRK6PkcbawiR+QnV0=";
+
+  buildInputs = lib.optional stdenv.isDarwin [
+    Security
+  ];
 
   # tests do not find grcov path correctly
   meta = with lib; {
@@ -19,5 +28,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/ekzhang/bore";
     license = licenses.mit;
     maintainers = with maintainers; [ DieracDelta ];
+    mainProgram = "bore";
   };
 }
diff --git a/pkgs/tools/networking/checkip/default.nix b/pkgs/tools/networking/checkip/default.nix
index 7959bdaa83e..1ae0f003602 100644
--- a/pkgs/tools/networking/checkip/default.nix
+++ b/pkgs/tools/networking/checkip/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "checkip";
-  version = "0.24.5";
+  version = "0.35.2";
 
   src = fetchFromGitHub {
     owner = "jreisinger";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/sTagdlWU6hU3TTeJcZ8WK4TqmvxgUbC5eLBz2FH6Jo=";
+    sha256 = "sha256-O6jVedVwzC575s7LS0gx1t6mUizQGv4Gcqra57vXX+w=";
   };
 
   vendorSha256 = "sha256-NHu1hZFPT2k8izrvvz7w0vlVe/nKH0nS4oXUGS8CWcc=";
diff --git a/pkgs/tools/networking/clash/default.nix b/pkgs/tools/networking/clash/default.nix
index 844335df223..c73e487904e 100644
--- a/pkgs/tools/networking/clash/default.nix
+++ b/pkgs/tools/networking/clash/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, buildGoModule, testVersion, clash }:
+{ lib, fetchFromGitHub, buildGoModule, testers, clash }:
 
 buildGoModule rec {
   pname = "clash";
@@ -26,7 +26,7 @@ buildGoModule rec {
     "-X github.com/Dreamacro/clash/constant.Version=${version}"
   ];
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = clash;
     command = "clash -v";
   };
diff --git a/pkgs/tools/networking/corerad/default.nix b/pkgs/tools/networking/corerad/default.nix
index 360cc96b707..47187961ffe 100644
--- a/pkgs/tools/networking/corerad/default.nix
+++ b/pkgs/tools/networking/corerad/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "corerad";
-  version = "1.1.2";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "mdlayher";
     repo = "corerad";
     rev = "v${version}";
-    sha256 = "sha256-1v7jAYLIflXIKY0zltzkre4sNv9qqWxFGWrQuOBr2s0=";
+    sha256 = "sha256-JhdR1UKHnzXIUoe1shb3IZne3q198NLwRROEYuKsnW4=";
   };
 
-  vendorSha256 = "sha256-oS9nI1BELDLFksN+NbLT1Eklg67liOvcRbxtGdYGJJA=";
+  vendorSha256 = "sha256-w15dRxIBzDN5i4RNEDuSfCHHb4wc4fw1B2wjlTk40iE=";
 
   # Since the tarball pulled from GitHub doesn't contain git tag information,
   # we fetch the expected tag's timestamp from a file in the root of the
diff --git a/pkgs/tools/networking/croc/default.nix b/pkgs/tools/networking/croc/default.nix
index 46b91fdf84c..b6e5150fe8e 100644
--- a/pkgs/tools/networking/croc/default.nix
+++ b/pkgs/tools/networking/croc/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "croc";
-  version = "9.5.3";
+  version = "9.5.5";
 
   src = fetchFromGitHub {
     owner = "schollz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yBXW9jrE9VUEu0EoBCtctTkQo129Vo+zFgP0Hkmm5hQ=";
+    sha256 = "sha256-YBg7mY8po7yVrSX1GaoI9/E3zFbdWWQEVCuR0H0DgJ4=";
   };
 
-  vendorSha256 = "sha256-nRZbSkSix2knIQBEMPx5oC47VKXNZ2e1NgKt9mAhaPQ=";
+  vendorSha256 = "sha256-kaqTJMRbLSF1zy6qXqdOSzmbcV35rzrou4X0WzoQoGc=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 7c7f301552e..a4056fd28a9 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -108,11 +108,6 @@ stdenv.mkDerivation rec {
   configureFlags = [
       # Build without manual
       "--disable-manual"
-      # Disable default CA bundle, use NIX_SSL_CERT_FILE or fallback
-      # to nss-cacert from the default profile.
-      # https://github.com/curl/curl/issues/8696 - fallback is not supported by HTTP3
-      (if http3Support then "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt" else "--without-ca-bundle")
-      "--without-ca-path"
       (lib.enableFeature c-aresSupport "ares")
       (lib.enableFeature ldapSupport "ldap")
       (lib.enableFeature ldapSupport "ldaps")
@@ -136,6 +131,12 @@ stdenv.mkDerivation rec {
     ++ lib.optionals stdenv.hostPlatform.isWindows [
       "--disable-shared"
       "--enable-static"
+    ] ++ lib.optionals stdenv.isDarwin [
+      # Disable default CA bundle, use NIX_SSL_CERT_FILE or fallback to nss-cacert from the default profile.
+      # Without this curl might detect /etc/ssl/cert.pem at build time on macOS, causing curl to ignore NIX_SSL_CERT_FILE.
+      # https://github.com/curl/curl/issues/8696 - fallback is not supported by HTTP3
+      (if http3Support then "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt" else "--without-ca-bundle")
+      "--without-ca-path"
     ];
 
   CXX = "${stdenv.cc.targetPrefix}c++";
diff --git a/pkgs/tools/networking/curlie/default.nix b/pkgs/tools/networking/curlie/default.nix
index fb46ab3fe10..c251e1c149e 100644
--- a/pkgs/tools/networking/curlie/default.nix
+++ b/pkgs/tools/networking/curlie/default.nix
@@ -1,4 +1,4 @@
-{ buildGoModule, fetchFromGitHub, lib, curlie, testVersion }:
+{ buildGoModule, fetchFromGitHub, lib, curlie, testers }:
 
 buildGoModule rec {
   pname = "curlie";
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
-  passthru.tests.version = testVersion {
+  passthru.tests.version = testers.testVersion {
     package = curlie;
     command = "curlie version";
   };
diff --git a/pkgs/tools/networking/dnstake/default.nix b/pkgs/tools/networking/dnstake/default.nix
index 9ddf853b7d9..e1719d19ecf 100644
--- a/pkgs/tools/networking/dnstake/default.nix
+++ b/pkgs/tools/networking/dnstake/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "dnstake";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "pwnesia";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XfZDRu1UrH5nVh1GQCQVaEamKorWSOxQZs556iDqfS8=";
+    sha256 = "sha256-k6j7DIwK8YAKmEjn8JJO7XBcap9ui6cgUSJG7CeHAAM=";
   };
 
   vendorSha256 = "sha256-l3IKvcO10C+PVDX962tFWny7eMNC48ATIVqiHjpVH/Y=";
diff --git a/pkgs/tools/networking/findomain/default.nix b/pkgs/tools/networking/findomain/default.nix
index 6295c4562b0..a1020a319a7 100644
--- a/pkgs/tools/networking/findomain/default.nix
+++ b/pkgs/tools/networking/findomain/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "findomain";
-  version = "8.0.0";
+  version = "8.1.1";
 
   src = fetchFromGitHub {
     owner = "Edu4rdSHL";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Bk3p8+FkjrF/nLsPRx8daqieV8iewAbcoO2DglFSERg=";
+    sha256 = "sha256-ngT9ZtPsCzcmZbwpmzbEcSUTHPezzdyAB12qrm5Z6n0=";
   };
 
-  cargoSha256 = "sha256-chHr/3yN2PLUQLYqkln12q3+n7tX2IclVGpXBCkPxCQ=";
+  cargoSha256 = "sha256-nHNS1Uskggm5e1paWRSiL4HHcooDbYe0toMwR05OkDQ=";
 
   nativeBuildInputs = [ installShellFiles perl ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
diff --git a/pkgs/tools/networking/frp/default.nix b/pkgs/tools/networking/frp/default.nix
index 1423230ad47..5e39491096f 100644
--- a/pkgs/tools/networking/frp/default.nix
+++ b/pkgs/tools/networking/frp/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "frp";
-  version = "0.41.0";
+  version = "0.42.0";
 
   src = fetchFromGitHub {
     owner = "fatedier";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JutR1yrxbwhfcw6qTh493yVeo7KzLl83himPTX8FJlA=";
+    sha256 = "sha256-Ubc9jRZ+rkJ5TelizP6z9Hef6TkypfGMhZN+H4Awdqc=";
   };
 
-  vendorSha256 = "sha256-HOfcVPrJ6TBrhToqYN2CJ0i3re95awrIxQk2Mm8x3DU=";
+  vendorSha256 = "sha256-5ljUbEvynNo1AxGpJq9B0bTFgzVfgVZbsqXcPBERLMI=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/globalprotect-openconnect/default.nix b/pkgs/tools/networking/globalprotect-openconnect/default.nix
index f4b0607d49f..29f017c81d3 100644
--- a/pkgs/tools/networking/globalprotect-openconnect/default.nix
+++ b/pkgs/tools/networking/globalprotect-openconnect/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "globalprotect-openconnect";
-  version = "1.3.4";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "yuezk";
     repo = "GlobalProtect-openconnect";
     fetchSubmodules = true;
     rev = "v${version}";
-    sha256 = "sha256-w2y6DOFgQ8Xpi1abibvRNpEUbBsdvwDMGqlJxQSCpVg=";
+    sha256 = "sha256-J4f+DJuKQUGK49muAtPU1aL/KI9mofIjyCcIztNVyr4=";
   };
 
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
diff --git a/pkgs/tools/networking/godns/default.nix b/pkgs/tools/networking/godns/default.nix
index 0e1096240ab..27ff7a25977 100644
--- a/pkgs/tools/networking/godns/default.nix
+++ b/pkgs/tools/networking/godns/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "godns";
-  version = "2.7.4";
+  version = "2.7.6";
 
   src = fetchFromGitHub {
     owner = "TimothyYe";
     repo = "godns";
     rev = "v${version}";
-    sha256 = "sha256-0aE+XcRqk/3/auscVdqdzehrpM6CeSdAJTugHXY8rek=";
+    sha256 = "sha256-w0hHl7QOpIOINRbCrocZM68b44h+IwkHmXTDnVfT0o0=";
   };
 
   vendorSha256 = "sha256-vhByl9oJjFIvOskAgLubZ5RCcitKd2jjxi8D9nU6850=";
diff --git a/pkgs/tools/networking/gof5/default.nix b/pkgs/tools/networking/gof5/default.nix
new file mode 100644
index 00000000000..9b437ee49ee
--- /dev/null
+++ b/pkgs/tools/networking/gof5/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, fetchFromGitHub
+, buildGoModule
+}:
+
+buildGoModule rec {
+  pname = "gof5";
+  version = "0.1.4";
+
+  src = fetchFromGitHub {
+    owner = "kayrus";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "10qh7rj8s540ghjdvymly53vny3n0qd0z0ixy24n026jjhgjvnpl";
+  };
+
+  vendorSha256 = null;
+
+  # The tests are broken and apparently you need to uncomment some lines in the
+  # code in order for it to work.
+  # See: https://github.com/kayrus/gof5/blob/674485bdf5a0eb2ab57879a32a2cb4bab8d5d44c/pkg/client/http.go#L172-L174
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Open Source F5 BIG-IP VPN client";
+    homepage = "https://github.com/kayrus/gof5";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ leixb ];
+  };
+}
diff --git a/pkgs/tools/networking/innernet/default.nix b/pkgs/tools/networking/innernet/default.nix
index 68ccdfc3870..6f7669ff6f7 100644
--- a/pkgs/tools/networking/innernet/default.nix
+++ b/pkgs/tools/networking/innernet/default.nix
@@ -8,7 +8,7 @@
 , Security
 , libiconv
 , innernet
-, testVersion
+, testers
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -40,8 +40,8 @@ rustPlatform.buildRustPackage rec {
   '';
 
   passthru.tests = {
-    serverVersion = testVersion { package = innernet; command = "innernet-server --version"; };
-    version = testVersion { package = innernet; command = "innernet --version"; };
+    serverVersion = testers.testVersion { package = innernet; command = "innernet-server --version"; };
+    version = testers.testVersion { package = innernet; command = "innernet --version"; };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/magic-wormhole-rs/default.nix b/pkgs/tools/networking/magic-wormhole-rs/default.nix
index 951a0664376..3d9e20d14dc 100644
--- a/pkgs/tools/networking/magic-wormhole-rs/default.nix
+++ b/pkgs/tools/networking/magic-wormhole-rs/default.nix
@@ -4,7 +4,7 @@
 , rustPlatform
 }:
 rustPlatform.buildRustPackage rec {
-  name = "magic-wormhole-rs";
+  pname = "magic-wormhole-rs";
   version = "0.3.0";
 
   src = fetchFromGitHub {
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
   # https://github.com/NixOS/nixpkgs/issues/30742
   # and can probably be removed once the issue is resolved
   cargoPatches = [ ./Cargo.toml.patch ];
-  cargoSha256 = "sha256-DG1kyukgzDbolX9Mg9hK1TRyzIWbAX6f54jSM8clj/c=";
+  cargoSha256 = "sha256-ujwvwr4GR/rQWnXFfL8sqPyz4QvGeOxwBrT+gf+vjsI=";
 
   # all tests involve networking and are bound fail
   doCheck = false;
diff --git a/pkgs/tools/networking/mozillavpn/default.nix b/pkgs/tools/networking/mozillavpn/default.nix
index 9e4e7cc29d4..ab03c61a164 100644
--- a/pkgs/tools/networking/mozillavpn/default.nix
+++ b/pkgs/tools/networking/mozillavpn/default.nix
@@ -1,5 +1,6 @@
 { buildGoModule
 , fetchFromGitHub
+, fetchpatch
 , go
 , lib
 , pkg-config
@@ -13,6 +14,7 @@
 , qtquickcontrols2
 , qttools
 , qtwebsockets
+, rustPlatform
 , stdenv
 , which
 , wireguard-tools
@@ -45,24 +47,34 @@ let
   };
 
   pname = "mozillavpn";
-  version = "2.7.1";
+  version = "2.8.0";
   src = fetchFromGitHub {
     owner = "mozilla-mobile";
     repo = "mozilla-vpn-client";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-i551UkCOwWnioe1YgCNZAlYiQJ4YDDBMoDZhfbkLTbs=";
+    hash = "sha256-UmLYs/J6syfMrjA66K33h8ubYqzvmcGf5spIilVVdVk=";
   };
 
+  patches = [
+    # Rust bridge: Add Cargo.lock file
+    (fetchpatch {
+      url = "https://github.com/mozilla-mobile/mozilla-vpn-client/pull/3341/commits/718c7f52756b5a88511da91dafad7af312bb2473.patch";
+      hash = "sha256-fG+SATbJpGqpCFXSWEiBo4dYx6RLtJYR0yTdBqN6Fww=";
+    })
+  ];
+
   netfilter-go-modules = (buildGoModule {
-    inherit pname version src;
-    vendorSha256 = "sha256-KFYMim5U8WlJHValvIBQgEN+17SDv0JVbH03IiyfDc0=";
+    inherit pname version src patches;
+    vendorSha256 = "KFYMim5U8WlJHValvIBQgEN+17SDv0JVbH03IiyfDc0=";
     modRoot = "linux/netfilter";
   }).go-modules;
 
+  cargoRoot = "extension/bridge";
+
 in
 stdenv.mkDerivation {
-  inherit pname version src;
+  inherit pname version src patches cargoRoot;
 
   buildInputs = [
     polkit
@@ -81,10 +93,19 @@ stdenv.mkDerivation {
     python3.pkgs.pyyaml
     qmake
     qttools
+    rustPlatform.cargoSetupHook
+    rustPlatform.rust.cargo
     which
     wrapQtAppsHook
   ];
 
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src patches;
+    name = "${pname}-${version}";
+    preBuild = "cd ${cargoRoot}";
+    hash = "sha256-dnbF1hfm3qoZaPrIimhY2bUzlrYaNVUZ+nyp6NbgP3Y=";
+  };
+
   postPatch = ''
     for file in linux/*.service linux/extra/*.desktop src/platforms/linux/daemon/*.service; do
       substituteInPlace "$file" --replace /usr/bin/mozillavpn "$out/bin/mozillavpn"
@@ -93,8 +114,8 @@ stdenv.mkDerivation {
 
   preBuild = ''
     ln -s '${netfilter-go-modules}' linux/netfilter/vendor
-    python3 scripts/generate_glean.py
-    python3 scripts/importLanguages.py
+    python3 scripts/utils/generate_glean.py
+    python3 scripts/utils/import_languages.py --qt_path '${lib.getDev qttools}/bin'
   '';
 
   qmakeFlags = [ "USRPATH=$(out)" "ETCPATH=$(out)/etc" ];
diff --git a/pkgs/tools/networking/mqttui/default.nix b/pkgs/tools/networking/mqttui/default.nix
index 4243c7ddbd8..98190ed31df 100644
--- a/pkgs/tools/networking/mqttui/default.nix
+++ b/pkgs/tools/networking/mqttui/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mqttui";
-  version = "0.16.1";
+  version = "0.16.2";
 
   src = fetchFromGitHub {
     owner = "EdJoPaTo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nLUDuLolv52WJAwBG5gSADWM2LmquJt5jZJioZWX8VA=";
+    sha256 = "sha256-u2KuB0cw0xCAc5uRgHNsQknTfLwQmO9CZjSJTdycEnc=";
   };
 
-  cargoSha256 = "sha256-Z6V7k69fjtiG01s1Xf0UA8lhRsq3T+ImDsCHPSVIDfQ=";
+  cargoSha256 = "sha256-asJvunklc0zcrkgirC6wznwKNKLFQ6sN/B1GukI/NCo=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/networking/networkmanager/l2tp/default.nix b/pkgs/tools/networking/networkmanager/l2tp/default.nix
index 88ccad59bd1..889f1565959 100644
--- a/pkgs/tools/networking/networkmanager/l2tp/default.nix
+++ b/pkgs/tools/networking/networkmanager/l2tp/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, substituteAll, fetchFromGitHub, autoreconfHook, libtool, intltool, pkg-config
-, file, findutils
+, file
 , gtk3, networkmanager, ppp, xl2tpd, strongswan, libsecret
 , withGnome ? true, libnma, glib }:
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ networkmanager ppp glib ]
     ++ lib.optionals withGnome [ gtk3 libsecret libnma ];
 
-  nativeBuildInputs = [ autoreconfHook libtool intltool pkg-config file findutils ];
+  nativeBuildInputs = [ autoreconfHook libtool intltool pkg-config file ];
 
   preConfigure = ''
     intltoolize -f
diff --git a/pkgs/tools/networking/ntopng/default.nix b/pkgs/tools/networking/ntopng/default.nix
index 652ad4e2886..d5700c42534 100644
--- a/pkgs/tools/networking/ntopng/default.nix
+++ b/pkgs/tools/networking/ntopng/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, bash, autoreconfHook
+{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, autoreconfHook
 , zeromq, ndpi, json_c, openssl, libpcap, libcap, curl, libmaxminddb
 , rrdtool, sqlite, libmysqlclient, expat, net-snmp
 }:
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  nativeBuildInputs = [ bash autoreconfHook pkg-config ];
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   buildInputs = [
     zeromq ndpi json_c openssl libpcap curl libmaxminddb rrdtool sqlite
diff --git a/pkgs/tools/networking/ooniprobe-cli/default.nix b/pkgs/tools/networking/ooniprobe-cli/default.nix
new file mode 100644
index 00000000000..b6feafb4a00
--- /dev/null
+++ b/pkgs/tools/networking/ooniprobe-cli/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "ooniprobe-cli";
+  version = "3.14.2";
+
+  src = fetchFromGitHub {
+    owner = "ooni";
+    repo = "probe-cli";
+    rev = "v${version}";
+    hash = "sha256-9n/Ozyy1QzjFum/R/X2DChzTHl70e+JQuo09nToAIcE=";
+  };
+
+  vendorSha256 = "/fN9nRYOy00EeI8zZQFkCgTMGLZ0pFbYmRdTr2NLIsc=";
+
+  subPackages = [ "cmd/ooniprobe" ];
+
+  meta = with lib; {
+    description = "The Open Observatory of Network Interference command line network probe";
+    homepage = "https://ooni.org/install/cli";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/tools/networking/openconnect/common.nix b/pkgs/tools/networking/openconnect/common.nix
index 63a0ecc93eb..555fd43035e 100644
--- a/pkgs/tools/networking/openconnect/common.nix
+++ b/pkgs/tools/networking/openconnect/common.nix
@@ -6,6 +6,7 @@
 , stdenv
 , pkg-config
 , gnutls
+, p11-kit
 , openssl
 , useOpenSSL ? false
 , gmp
@@ -30,7 +31,8 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [ gmp libxml2 stoken zlib (if useOpenSSL then openssl else gnutls) ]
-    ++ lib.optional stdenv.isDarwin PCSC;
+    ++ lib.optional stdenv.isDarwin PCSC
+    ++ lib.optional stdenv.isLinux p11-kit;
   nativeBuildInputs = [ pkg-config autoreconfHook ];
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/opensnitch/daemon.nix b/pkgs/tools/networking/opensnitch/daemon.nix
index 25b42066419..96c509e47fb 100644
--- a/pkgs/tools/networking/opensnitch/daemon.nix
+++ b/pkgs/tools/networking/opensnitch/daemon.nix
@@ -15,13 +15,13 @@
 
 buildGoModule rec {
   pname = "opensnitch";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "evilsocket";
     repo = "opensnitch";
     rev = "v${version}";
-    sha256 = "sha256-vtD82v0VlaJtCICXduD3IxJ0xjlBuzGKLWLoCiwPX2I=";
+    sha256 = "sha256-8IfupmQb1romGEvv/xqFkYhp0gGoY4ZEllX6rZYIkqw=";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/openssh/common.nix b/pkgs/tools/networking/openssh/common.nix
index bd127b9092c..4245d06a1cd 100644
--- a/pkgs/tools/networking/openssh/common.nix
+++ b/pkgs/tools/networking/openssh/common.nix
@@ -37,6 +37,11 @@ stdenv.mkDerivation rec {
   patches = [
     ./locale_archive.patch
 
+    (fetchurl {
+      url = "https://git.alpinelinux.org/aports/plain/main/openssh/gss-serv.c.patch?id=a7509603971ce2f3282486a43bb773b1b522af83";
+      sha256 = "sha256-eFFOd4B2nccRZAQWwdBPBoKWjfEdKEVGJvKZAzLu3HU=";
+    })
+
     # See discussion in https://github.com/NixOS/nixpkgs/pull/16966
     ./dont_create_privsep_path.patch
   ] ++ extraPatches;
diff --git a/pkgs/tools/networking/p2p/jesec-rtorrent/default.nix b/pkgs/tools/networking/p2p/jesec-rtorrent/default.nix
deleted file mode 100644
index 56fec5333fc..00000000000
--- a/pkgs/tools/networking/p2p/jesec-rtorrent/default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ lib
-, pkgs
-, callPackage
-}:
-
-rec {
-  libtorrent = callPackage ./libtorrent.nix { };
-  rtorrent = callPackage ./rtorrent.nix { };
-}
diff --git a/pkgs/tools/networking/p2p/rakshasa-rtorrent/default.nix b/pkgs/tools/networking/p2p/rakshasa-rtorrent/default.nix
deleted file mode 100644
index 56fec5333fc..00000000000
--- a/pkgs/tools/networking/p2p/rakshasa-rtorrent/default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ lib
-, pkgs
-, callPackage
-}:
-
-rec {
-  libtorrent = callPackage ./libtorrent.nix { };
-  rtorrent = callPackage ./rtorrent.nix { };
-}
diff --git a/pkgs/tools/networking/philter/default.nix b/pkgs/tools/networking/philter/default.nix
deleted file mode 100644
index dc447f3a86b..00000000000
--- a/pkgs/tools/networking/philter/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, stdenv, fetchurl, python2 }:
-
-stdenv.mkDerivation rec {
-  pname = "philter";
-  version = "1.1";
-  src = fetchurl {
-    url = "mirror://sourceforge/philter/${pname}-${version}.tar.gz";
-    sha256 = "177pqfflhdn2mw9lc1wv9ik32ji69rjqr6dw83hfndwlsva5151l";
-  };
-
-  installPhase = ''
-    mkdir -p "$out"/{bin,share/philter}
-    cp .philterrc "$out"/share/philter/philterrc
-    sed -i 's@/usr/local/bin@${python2}/bin@' src/philter.py
-    cp src/philter.py "$out"/bin/philter
-    chmod +x "$out"/bin/philter
-  '';
-
-  meta = with lib; {
-    description = "Mail sorter for Maildirs";
-    homepage = "http://philter.sourceforge.net";
-    maintainers = with maintainers; [ raskin ];
-    platforms = platforms.all;
-    license = licenses.gpl2;
-  };
-
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://philter.sourceforge.net/";
-    };
-  };
-}
diff --git a/pkgs/tools/networking/pmacct/default.nix b/pkgs/tools/networking/pmacct/default.nix
index 32b800521e1..aa699d5bcad 100644
--- a/pkgs/tools/networking/pmacct/default.nix
+++ b/pkgs/tools/networking/pmacct/default.nix
@@ -13,7 +13,7 @@
 , withPgSQL ? true, postgresql
 , withMysql ? true, libmysqlclient, zlib, numactl
 , gnutlsSupport ? false, gnutls
-, testVersion
+, testers
 , pmacct
 }:
 
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
   ++ lib.optional gnutlsSupport "--enable-gnutls";
 
   passthru.tests = {
-    version = testVersion { package = pmacct; command = "pmacct -V"; };
+    version = testers.testVersion { package = pmacct; command = "pmacct -V"; };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/pssh/default.nix b/pkgs/tools/networking/pssh/default.nix
index 1d7d006f537..69236a69096 100644
--- a/pkgs/tools/networking/pssh/default.nix
+++ b/pkgs/tools/networking/pssh/default.nix
@@ -1,14 +1,14 @@
-{ lib, fetchFromGitHub, python2Packages, openssh, rsync }:
+{ lib, fetchFromGitHub, python3Packages, openssh, rsync }:
 
-python2Packages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "pssh";
-  version = "2.3.1";
+  version = "2.3.4";
 
   src = fetchFromGitHub {
     owner = "lilydjwg";
     repo = "pssh";
     rev = "v${version}";
-    sha256 = "0nawarxczfwajclnlsimhqkpzyqb1byvz9nsl54mi1bp80z5i4jq";
+    hash = "sha256-B1dIa6hNeq4iE8GKVhTp3Gzq7vp+v5Yyzj8uF8X71yg=";
   };
 
   postPatch = ''
@@ -20,6 +20,9 @@ python2Packages.buildPythonApplication rec {
     done
   '';
 
+  # Tests do not run with python3: https://github.com/lilydjwg/pssh/issues/126
+  doCheck = false;
+
   meta = with lib; {
     description = "Parallel SSH Tools";
     longDescription = ''
diff --git a/pkgs/tools/networking/slirp4netns/default.nix b/pkgs/tools/networking/slirp4netns/default.nix
index 44b08bc1372..5064ea9e238 100644
--- a/pkgs/tools/networking/slirp4netns/default.nix
+++ b/pkgs/tools/networking/slirp4netns/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "slirp4netns";
-  version = "1.1.12";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "rootless-containers";
     repo = "slirp4netns";
     rev = "v${version}";
-    sha256 = "sha256-NhE5XxInNfGN6hTyZItc7+4HBjcyBLAFTpirEidcipk=";
+    sha256 = "sha256-wVisE4YAK52yfeM2itnBqCmhRKlrKRs0NEppQzZPok8=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/networking/smartdns/default.nix b/pkgs/tools/networking/smartdns/default.nix
index 399aeefd9c3..9763d52d0b1 100644
--- a/pkgs/tools/networking/smartdns/default.nix
+++ b/pkgs/tools/networking/smartdns/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, openssl, testVersion, smartdns }:
+{ lib, stdenv, fetchFromGitHub, openssl, testers, smartdns }:
 
 stdenv.mkDerivation rec {
   pname = "smartdns";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   installFlags = [ "SYSCONFDIR=${placeholder "out"}/etc" ];
 
   passthru.tests = {
-    version = testVersion { package = smartdns; };
+    version = testers.testVersion { package = smartdns; };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/sstp/default.nix b/pkgs/tools/networking/sstp/default.nix
index 65449c203e1..77f86458ad1 100644
--- a/pkgs/tools/networking/sstp/default.nix
+++ b/pkgs/tools/networking/sstp/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     description = "SSTP client for Linux";
     homepage = "http://sstp-client.sourceforge.net/";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ktosiek ];
+    maintainers = with maintainers; [ ];
     license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/subnetcalc/default.nix b/pkgs/tools/networking/subnetcalc/default.nix
new file mode 100644
index 00000000000..db8c983be09
--- /dev/null
+++ b/pkgs/tools/networking/subnetcalc/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub, cmake, ninja }:
+
+stdenv.mkDerivation rec {
+  pname = "subnetcalc";
+  version = "2.4.19";
+
+  src = fetchFromGitHub {
+    owner = "dreibh";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "sha256-70OHHcdCsZBa95KQEEYhs6LfpjPg+ULOB+A+VrQVltU=";
+  };
+
+  nativeBuildInputs = [ cmake ninja ];
+
+  meta = with lib; {
+    description = "SubNetCalc is an IPv4/IPv6 subnet address calculator";
+    longDescription = ''
+      SubNetCalc is an IPv4/IPv6 subnet address calculator. For given IPv4 or
+      IPv6 address and netmask or prefix length, it calculates network address,
+      broadcast address, maximum number of hosts and host address range. Also,
+      it prints the addresses in binary format for better understandability.
+      Furthermore, it prints useful information on specific address types (e.g.
+      type, scope, interface ID, etc.).
+    '';
+    homepage = "https://www.uni-due.de/~be0001/subnetcalc/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ atila ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/termscp/default.nix b/pkgs/tools/networking/termscp/default.nix
index 5542adca77a..4a497a767f4 100644
--- a/pkgs/tools/networking/termscp/default.nix
+++ b/pkgs/tools/networking/termscp/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "termscp";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "veeso";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WqOkud8gOa81P6FT44y5RZX4CWjmou9HufZ3QPoYuAk=";
+    sha256 = "sha256-7T3VmcI9CWrKROQ0U2du2d8e0A6XnOxpd8Zl0T4w+KQ=";
   };
 
-  cargoSha256 = "sha256-jckJiFhiUvbn0fkgKzqDorWQvuLenx/S8+RyPoqaWUg=";
+  cargoSha256 = "sha256-WuoN7b9Fw2Op8tck4ek8gyufInlbPkDHHtLAsbG1NLE=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/networking/tun2socks/default.nix b/pkgs/tools/networking/tun2socks/default.nix
new file mode 100644
index 00000000000..7706ff8e888
--- /dev/null
+++ b/pkgs/tools/networking/tun2socks/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "tun2socks";
+  version = "2.4.1";
+
+  src = fetchFromGitHub {
+    owner = "xjasonlyu";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-FBYRqxS8DJbIc8j8X6WNxl6a1YRcNrPSnNfrq/Y0fMM=";
+  };
+
+  vendorSha256 = "sha256-XWzbEtYd8h63QdpAQZTGxyxMAAnpKO9Fp4y8/eeZ7Xw=";
+
+  ldflags = [
+    "-w" "-s" "-buildid="
+    "-X github.com/xjasonlyu/tun2socks/v2/internal/version.Version=v${version}"
+    "-X github.com/xjasonlyu/tun2socks/v2/internal/version.GitCommit=v${version}"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/xjasonlyu/tun2socks";
+    description = "tun2socks - powered by gVisor TCP/IP stack";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ nickcao ];
+  };
+}
diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix
index 46093f2c5b9..472c699a3d8 100644
--- a/pkgs/tools/networking/urlwatch/default.nix
+++ b/pkgs/tools/networking/urlwatch/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "urlwatch";
-  version = "2.24";
+  version = "2.25";
 
   src = fetchFromGitHub {
     owner = "thp";
     repo = "urlwatch";
     rev = version;
-    sha256 = "sha256-H7dusAXVEGOUu2fr6UjiXjw13Gm9xNeJDQ4jqV+8QmU=";
+    hash = "sha256-+ayHMY0gEAVhOgDDh+RfRrUpV0tSX8mMmfPzyg+YSv4=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/networking/vpnc/default.nix b/pkgs/tools/networking/vpnc/default.nix
index 31a4262d8a6..4fbb26eba21 100644
--- a/pkgs/tools/networking/vpnc/default.nix
+++ b/pkgs/tools/networking/vpnc/default.nix
@@ -1,29 +1,21 @@
-{ lib, stdenv, fetchsvn
-, makeWrapper, pkg-config
-, gawk, gnutls, libgcrypt, nettools, openresolv, perl
+{ lib, stdenv, fetchFromGitHub, fetchpatch
+, makeWrapper, pkg-config, perl
+, gawk, gnutls, libgcrypt, openresolv, vpnc-scripts
 , opensslSupport ? false, openssl # Distributing this is a GPL violation.
 }:
 
 stdenv.mkDerivation {
   pname = "vpnc";
-  version = "0.5.3-post-r550";
-  src = fetchsvn {
-    url = "https://svn.unix-ag.uni-kl.de/vpnc";
-    rev = "550";
-    sha256 = "0x4ckfv9lpykwmh28v1kyzz91y1j2v48fi8q5nsawrba4q0wlrls";
+  version = "unstable-2021-11-04";
+
+  src = fetchFromGitHub {
+    owner = "streambinder";
+    repo = "vpnc";
+    rev = "c8bb5371b881f8853f191c495e762f834c9def5d";
+    sha256 = "1j1p83nfc2fpwczjcggsby0b44hk97ky0s6vns6md3awlbpgdn57";
+    fetchSubmodules = true;
   };
 
-  postUnpack = ''
-    mv $sourceRoot/trunk/* $sourceRoot/.
-    rm -r $sourceRoot/{trunk,branches,tags}
-  '';
-
-  patches = [ ./no_default_route_when_netmask.patch ];
-
-  # The `etc/vpnc/vpnc-script' script relies on `which' and on
-  # `ifconfig' as found in net-tools (not GNU Inetutils).
-  propagatedBuildInputs = [ nettools ];
-
   nativeBuildInputs = [ makeWrapper ]
     ++ lib.optional (!opensslSupport) pkg-config;
   buildInputs = [ libgcrypt perl ]
@@ -32,36 +24,17 @@ stdenv.mkDerivation {
   makeFlags = [
     "PREFIX=$(out)"
     "ETCDIR=$(out)/etc/vpnc"
-    "SCRIPT_PATH=$(out)/etc/vpnc/vpnc-script"
+    "SCRIPT_PATH=${vpnc-scripts}/bin/vpnc-script"
   ] ++ lib.optional opensslSupport "OPENSSL_GPL_VIOLATION=yes";
 
   postPatch = ''
-    patchShebangs makeman.pl
+    patchShebangs src/makeman.pl
   '';
 
-  preConfigure = ''
-    substituteInPlace "vpnc-script" \
-      --replace "which" "type -P" \
-      --replace "awk" "${gawk}/bin/awk" \
-      --replace "/sbin/resolvconf" "${openresolv}/bin/resolvconf"
-
-    substituteInPlace "config.c" \
-      --replace "/etc/vpnc/vpnc-script" "$out/etc/vpnc/vpnc-script"
-  '';
-
-  postInstall = ''
-    for i in "$out/{bin,sbin}/"*
-    do
-      wrapProgram $i --prefix PATH :  \
-        "${nettools}/bin:${nettools}/sbin"
-    done
-
-    mkdir -p $out/share/doc/vpnc
-    cp README nortel.txt ChangeLog $out/share/doc/vpnc/
-  '';
+  enableParallelBuilding = true;
 
   meta = with lib; {
-    homepage = "https://www.unix-ag.uni-kl.de/~massar/vpnc/";
+    homepage = "https://davidepucci.it/doc/vpnc/";
     description = "Virtual private network (VPN) client for Cisco's VPN concentrators";
     license = if opensslSupport then licenses.unfree else licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch b/pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch
deleted file mode 100644
index fa12abe9b77..00000000000
--- a/pkgs/tools/networking/vpnc/no_default_route_when_netmask.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -uNr a/vpnc-script b/vpnc-script
---- a/vpnc-script	2015-09-06 13:19:11.408661526 +0200
-+++ b/vpnc-script	2015-09-06 14:47:40.260871556 +0200
-@@ -647,7 +647,7 @@
- 			echo "$i" | grep : >/dev/null || \
- 				set_network_route "$i" "255.255.255.255" "32"
- 		done
--	elif [ -n "$INTERNAL_IP4_ADDRESS" ]; then
-+	elif [ -n "$INTERNAL_IP4_ADDRESS" -a -z "$INTERNAL_IP4_NETMASK" ]; then
- 		set_default_route
- 	fi
- 	if [ -n "$CISCO_IPV6_SPLIT_INC" ]; then
diff --git a/pkgs/tools/nix/alejandra/default.nix b/pkgs/tools/nix/alejandra/default.nix
index 43b6200972d..62deef516d5 100644
--- a/pkgs/tools/nix/alejandra/default.nix
+++ b/pkgs/tools/nix/alejandra/default.nix
@@ -1,7 +1,7 @@
 { lib
 , rustPlatform
 , fetchFromGitHub
-, testVersion
+, testers
 , alejandra
 }:
 
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-SsIpggbRQPjpCYgCG4sSJ022MmMV4bJJ8UAHcJR74O8=";
 
   passthru.tests = {
-    version = testVersion { package = alejandra; };
+    version = testers.testVersion { package = alejandra; };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/package-management/cargo-outdated/default.nix b/pkgs/tools/package-management/cargo-outdated/default.nix
index a1f783a7fe4..2013f15d1e1 100644
--- a/pkgs/tools/package-management/cargo-outdated/default.nix
+++ b/pkgs/tools/package-management/cargo-outdated/default.nix
@@ -11,14 +11,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-outdated";
-  version = "0.11.0";
+  version = "0.11.1";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-43PqIM61MXY35BSprRNPTMyVUEVD15sq4+6PHS/P2o0=";
+    sha256 = "sha256-vEgYmtRAashBRsGDExewqaGsVYF7EJ4ky+cE/PMFW38=";
   };
 
-  cargoSha256 = "sha256-ue93L8pyjKR+bxNdltQcsHSPJ3Iz+4gpeskIhhR2/wI=";
+  cargoSha256 = "sha256-xstcKIXQDk4ngwWSzMueO47U2oFRHAqvvjRnDXFsPE8=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/package-management/cargo-release/default.nix b/pkgs/tools/package-management/cargo-release/default.nix
index 49a6d645060..469eecde99f 100644
--- a/pkgs/tools/package-management/cargo-release/default.nix
+++ b/pkgs/tools/package-management/cargo-release/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-release";
-  version = "0.20.3";
+  version = "0.20.5";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = "cargo-release";
     rev = "v${version}";
-    sha256 = "sha256-oYnqrNqbn/OsJd0Lh6rQ2pt7FrLOp5p3MoavC56dWQc=";
+    sha256 = "sha256-3UuDo6lW+SG4XhqEKvpe/JeJXwEeYTA0i65yJAjDVHk=";
   };
 
-  cargoSha256 = "sha256-LtDIzqHzzur+GxxvUHciNQCRmxqdmaXSG4ncMV3Rx3c=";
+  cargoSha256 = "sha256-/3gh3NdIuWl0xtbLahNRGBl/BGpVUmR7sHUIX3bttpQ=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/package-management/comma/default.nix b/pkgs/tools/package-management/comma/default.nix
index 5314285061e..74e59c2c6ac 100644
--- a/pkgs/tools/package-management/comma/default.nix
+++ b/pkgs/tools/package-management/comma/default.nix
@@ -1,11 +1,12 @@
-{ lib
-, rustPlatform
+{ comma
 , fetchFromGitHub
-, nix
 , fzy
+, lib
 , makeWrapper
-, testVersion
-, comma
+, nix
+, nix-index
+, rustPlatform
+, testers
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -25,12 +26,12 @@ rustPlatform.buildRustPackage rec {
 
   postInstall = ''
     wrapProgram $out/bin/comma \
-      --prefix PATH : ${lib.makeBinPath [ nix fzy ]}
+      --prefix PATH : ${lib.makeBinPath [ nix fzy nix-index ]}
     ln -s $out/bin/comma $out/bin/,
   '';
 
   passthru.tests = {
-    version = testVersion { package = comma; };
+    version = testers.testVersion { package = comma; };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/package-management/conda/default.nix b/pkgs/tools/package-management/conda/default.nix
index bc11203bb4a..744b0978c9b 100644
--- a/pkgs/tools/package-management/conda/default.nix
+++ b/pkgs/tools/package-management/conda/default.nix
@@ -8,10 +8,11 @@
 , libarchive
 , libGL
 , xorg
+, zlib
 # Conda installs its packages and environments under this directory
 , installationPath ? "~/.conda"
 # Conda manages most pkgs itself, but expects a few to be on the system.
-, condaDeps ? [ stdenv.cc xorg.libSM xorg.libICE xorg.libX11 xorg.libXau xorg.libXi xorg.libXrender libselinux libGL ]
+, condaDeps ? [ stdenv.cc xorg.libSM xorg.libICE xorg.libX11 xorg.libXau xorg.libXi xorg.libXrender libselinux libGL zlib]
 # Any extra nixpkgs you'd like available in the FHS env for Conda to use
 , extraPkgs ? [ ]
 }:
@@ -30,24 +31,37 @@
 # $ conda-shell
 # $ conda install spyder
 let
-  version = "4.6.14";
+  version = "4.11.0";
   src = fetchurl {
-      url = "https://repo.continuum.io/miniconda/Miniconda3-${version}-Linux-x86_64.sh";
-      sha256 = "1gn43z1y5zw4yv93q1qajwbmmqs83wx5ls5x4i4llaciba4j6sqd";
+      url = "https://repo.continuum.io/miniconda/Miniconda3-py39_${version}-Linux-x86_64.sh";
+      sha256 = "sha256-TunDqlMynNemO0mHfAurtJsZt+WvKYB7eTp2vbHTYrQ=";
   };
+  conda = (
+    let
+      libPath = lib.makeLibraryPath [
+        zlib # libz.so.1
+      ];
+    in
+      runCommand "conda-install" { buildInputs = [ makeWrapper zlib]; }
+        # on line 10, we have 'unset LD_LIBRARY_PATH'
+        # we have to comment it out however in a way that the number of bytes in the
+        # file does not change. So we replace the 'u' in the line with a '#'
+        # The reason is that the binary payload is encoded as number
+        # of bytes from the top of the installer script
+        # and unsetting the library path prevents the zlib library from being discovered
+        ''
+          mkdir -p $out/bin
 
-  conda = runCommand "conda-install" { buildInputs = [ makeWrapper ]; }
-    ''
-      mkdir -p $out/bin
-      cp ${src} $out/bin/miniconda-installer.sh
-      chmod +x $out/bin/miniconda-installer.sh
+          sed 's/unset LD_LIBRARY_PATH/#nset LD_LIBRARY_PATH/' ${src} > $out/bin/miniconda-installer.sh
+          chmod +x $out/bin/miniconda-installer.sh
 
-      makeWrapper                            \
-        $out/bin/miniconda-installer.sh      \
-        $out/bin/conda-install               \
-        --add-flags "-p ${installationPath}" \
-        --add-flags "-b"
-    '';
+          makeWrapper                            \
+            $out/bin/miniconda-installer.sh      \
+            $out/bin/conda-install               \
+            --add-flags "-p ${installationPath}" \
+            --add-flags "-b"                     \
+            --prefix "LD_LIBRARY_PATH" : "${libPath}"
+        '');
 in
   buildFHSUserEnv {
     name = "conda-shell";
diff --git a/pkgs/tools/package-management/nix-du/default.nix b/pkgs/tools/package-management/nix-du/default.nix
index 3f5a73821cb..20652557ce6 100644
--- a/pkgs/tools/package-management/nix-du/default.nix
+++ b/pkgs/tools/package-management/nix-du/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nix-du";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "symphorien";
     repo = "nix-du";
     rev = "v${version}";
-    sha256 = "sha256-NnoCoiYTXci7f9MXsxEhoYHwPsaAAuK2wSrDye2+SYM=";
+    sha256 = "sha256-LOs+geYOiAigxwc4VD0FiZQjAnIrcV9ncyPuwGhS92E=";
   };
 
-  cargoSha256 = "sha256-X5181gZtvnUHZAqMjNARRVFq12LuLJfPP5ZOWxBRxXk=";
+  cargoSha256 = "sha256-aEm+SQgE63ZWpb2kXavyoiq2rVkaebFw8kqWPMr2aMA=";
 
   doCheck = true;
   checkInputs = [ nix graphviz ];
diff --git a/pkgs/tools/package-management/nix-eval-jobs/default.nix b/pkgs/tools/package-management/nix-eval-jobs/default.nix
index 1023d23432c..2fb514cf293 100644
--- a/pkgs/tools/package-management/nix-eval-jobs/default.nix
+++ b/pkgs/tools/package-management/nix-eval-jobs/default.nix
@@ -11,12 +11,12 @@
 }:
 stdenv.mkDerivation rec {
   pname = "nix-eval-jobs";
-  version = "0.0.4";
+  version = "0.0.6";
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-SCwvFlBYUlxCucjMO4GHhEQWZFZt0lRKJncm6hvDx9I=";
+    hash = "sha256-NCUVRiZqg9JgS+hlAczvPDb0M5uIwyyqhdKe5K1P360=";
   };
   buildInputs = [
     boost
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 8e0860dfe58..cf9b26a5603 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -89,12 +89,12 @@ in lib.makeExtensible (self: {
 
   unstable = lib.lowPrio (common rec {
     version = "2.8";
-    suffix = "pre20220411_${lib.substring 0 7 src.rev}";
+    suffix = "pre20220503_${lib.substring 0 7 src.rev}";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "f7276bc948705f452b2bfcc2a08bc44152f1d5a8";
-      sha256 = "sha256-brqGGdr2CzqufY3NXU8tGm6QbCTSFGfboruU2cUWhu8=";
+      rev = "9489b4b7ef73ab20e8f49213d8711ca56b59107e";
+      sha256 = "sha256-eTRr2MkP9MMqpmHtsCPMbyLBQLrLPnTh4D8RXT4MKk4=";
     };
   });
 })
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index 15f94aceaa4..66064139f38 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -11,7 +11,6 @@
 , vala
 , gtk-doc
 , nix
-, nlohmann_json ? null
 , boost
 , meson
 , ninja
@@ -27,12 +26,6 @@
 , enableSystemd ? stdenv.isLinux
 , systemd
 }:
-let
-  nix_version = lib.removeSuffix nix.VERSION_SUFFIX nix.version;
-  useNlohmann = lib.versionAtLeast "2.7" nix_version;
-in
-
-assert useNlohmann -> nlohmann_json != null;
 
 stdenv.mkDerivation rec {
   pname = "packagekit";
@@ -43,8 +36,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "PackageKit";
     repo = "PackageKit";
-    rev = "33b847c49b4a42499e3c0f10fef62830c874e086";
-    sha256 = "UDpMswf0EBwcoHTqoWiztXnIAwM69nM+S9MPsR24amw=";
+    rev = "30bb82da8d4161330a6d7a20c9989149303421a1";
+    sha256 = "k2osc2v0OuGrNjwxdqn785RsbHEJP3p79PG9YqnVE3U=";
   };
 
   buildInputs = [
@@ -59,7 +52,6 @@ stdenv.mkDerivation rec {
     nix
     boost
   ] ++ lib.optional enableSystemd systemd
-  ++ lib.optional useNlohmann nlohmann_json
   ++ lib.optional enableBashCompletion bash-completion;
   nativeBuildInputs = [
     vala
diff --git a/pkgs/tools/security/adreaper/default.nix b/pkgs/tools/security/adreaper/default.nix
new file mode 100644
index 00000000000..e0329a83f62
--- /dev/null
+++ b/pkgs/tools/security/adreaper/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, stdenv
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "adreaper";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "AidenPearce369";
+    repo = "ADReaper";
+    rev = "ADReaperv${version}";
+    sha256 = "sha256-+FCb5TV9MUcRyex2M4rn2RhcIsXQFbtm1T4r7MpcRQs=";
+  };
+
+  vendorSha256 = "sha256-lU39kj/uz0l7Rodsu6+UMv2o579eu1KUbutUNZni7bM=";
+
+  postInstall = lib.optionalString (!stdenv.isDarwin) ''
+    mv $out/bin/ADReaper $out/bin/$pname
+  '';
+
+  meta = with lib; {
+    description = "Enumeration tool for Windows Active Directories";
+    homepage = "https://github.com/AidenPearce369/ADReaper";
+    # Upstream doesn't have a license yet
+    # https://github.com/AidenPearce369/ADReaper/issues/2
+    license = with licenses; [ unfree ];
+    maintainers = with maintainers; [ fab ];
+    mainProgram = "ADReaper";
+  };
+}
diff --git a/pkgs/tools/security/bitwarden/default.nix b/pkgs/tools/security/bitwarden/default.nix
index ad757425761..7f3dd2afd81 100644
--- a/pkgs/tools/security/bitwarden/default.nix
+++ b/pkgs/tools/security/bitwarden/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwarden";
-  version = "1.31.3";
+  version = "1.32.1";
 
   src = fetchurl {
     url = "https://github.com/bitwarden/desktop/releases/download/v${version}/Bitwarden-${version}-amd64.deb";
-    sha256 = "sha256-ASL4+FZh5st3V5Z+jsfvLD26hG9KNVI+tht7kL8lbL4=";
+    sha256 = "sha256-G1k8kf00EQVH/z2foH4NHCw82/eTi7BMMfkVtX6IfQo=";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/tools/security/browserpass/default.nix b/pkgs/tools/security/browserpass/default.nix
index 9aec14e0a41..ba96e2a70fe 100644
--- a/pkgs/tools/security/browserpass/default.nix
+++ b/pkgs/tools/security/browserpass/default.nix
@@ -1,18 +1,18 @@
 { lib, buildGoModule, fetchFromGitHub, makeWrapper, gnupg }:
 buildGoModule rec {
   pname = "browserpass";
-  version = "3.0.6";
+  version = "3.0.10";
 
   src = fetchFromGitHub {
     owner = "browserpass";
     repo = "browserpass-native";
     rev = version;
-    sha256 = "0q3bsla07zjl6i69nj1axbkg2ia89pvh0jg6nlqgbm2kpzzbn0pz";
+    sha256 = "8eAwUwcRTnhVDkQc3HsvTP0TqC4LfVrUelxdbJxe9t0=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
-  vendorSha256 = "1wcbn0ip596f2dp68y6jmxgv20l0dgrcxg5cwclkawigj05416zj";
+  vendorSha256 = "gWXcYyIp86b/Pn6vj7qBj/VZS9rTr4weVw0YWmg+36c=";
 
   doCheck = false;
 
@@ -21,8 +21,8 @@ buildGoModule rec {
     # variables to be valid by default
     substituteInPlace Makefile \
       --replace "PREFIX ?= /usr" ""
-    sed -i -e 's/SED :=.*/SED := sed/' Makefile
-    sed -i -e 's/INSTALL :=.*/INSTALL := install/' Makefile
+    sed -i -e 's/SED =.*/SED = sed/' Makefile
+    sed -i -e 's/INSTALL =.*/INSTALL = install/' Makefile
   '';
 
   DESTDIR = placeholder "out";
diff --git a/pkgs/tools/security/chntpw/00-chntpw-build-arch-autodetect.patch b/pkgs/tools/security/chntpw/00-chntpw-build-arch-autodetect.patch
index 9c379adb7df..cd130affa6c 100644
--- a/pkgs/tools/security/chntpw/00-chntpw-build-arch-autodetect.patch
+++ b/pkgs/tools/security/chntpw/00-chntpw-build-arch-autodetect.patch
@@ -1,10 +1,15 @@
-diff -urN chntpw-140201.orig/Makefile chntpw-140201/Makefile
---- chntpw-140201.orig/Makefile	2014-02-01 20:54:37.000000000 +0400
-+++ chntpw-140201/Makefile	2014-08-03 20:26:56.497161881 +0400
-@@ -12,14 +12,13 @@
- 
- CC=gcc
+--- chntpw-140201.orig/Makefile	2014-02-01 17:54:37.000000000 +0100
++++ chntpw-140201/Makefile	2022-04-21 00:14:45.000000000 +0200
+@@ -6,24 +6,7 @@
+ # See INSTALL for more info.
+ #
  
+-#SSLPATH=/usr/local/ssl
+-OSSLPATH=/usr
+-OSSLINC=$(OSSLPATH)/include
+-
+-CC=gcc
+-
 -# Force 32 bit
 -CFLAGS= -DUSEOPENSSL -g -I. -I$(OSSLINC) -Wall -m32 
 -OSSLLIB=$(OSSLPATH)/lib
@@ -13,13 +18,11 @@ diff -urN chntpw-140201.orig/Makefile chntpw-140201/Makefile
 -#CFLAGS= -DUSEOPENSSL -g -I. -I$(OSSLINC) -Wall
 -#OSSLLIB=$(OSSLPATH)/lib64
 -
-+ifeq      '$(shell gcc -dumpmachine)' 'x86_64-unknown-linux-gnu'
-+  CFLAGS= -DUSEOPENSSL -g -I. -I$(OSSLINC) -Wall
-+  OSSLLIB=$(OSSLPATH)/lib64
-+else ifeq '$(shell gcc -dumpmachine)' 'i686-unknown-linux-gnu'
-+  CFLAGS= -DUSEOPENSSL -g -I. -I$(OSSLINC) -Wall -m32 
-+  OSSLLIB=$(OSSLPATH)/lib
-+endif
+-
+-# This is to link with whatever we have, SSL crypto lib we put in static
+-#LIBS=-L$(OSSLLIB) $(OSSLLIB)/libcrypto.a
+-LIBS=-L$(OSSLLIB)
++CFLAGS= -DUSEOPENSSL -g -I. -Wall
+ 
  
- # This is to link with whatever we have, SSL crypto lib we put in static
- #LIBS=-L$(OSSLLIB) $(OSSLLIB)/libcrypto.a
+ all: chntpw chntpw.static cpnt reged reged.static samusrgrp samusrgrp.static sampasswd sampasswd.static
diff --git a/pkgs/tools/security/chntpw/01-chntpw-install-target.patch b/pkgs/tools/security/chntpw/01-chntpw-install-target.patch
index d3163a026f9..67c62273aeb 100644
--- a/pkgs/tools/security/chntpw/01-chntpw-install-target.patch
+++ b/pkgs/tools/security/chntpw/01-chntpw-install-target.patch
@@ -1,20 +1,14 @@
-diff -urN chntpw-140201.orig/Makefile chntpw-140201/Makefile
---- chntpw-140201.orig/Makefile	2014-08-03 20:26:56.497161881 +0400
-+++ chntpw-140201/Makefile	2014-08-04 12:57:16.563818342 +0400
-@@ -10,6 +10,8 @@
- OSSLPATH=/usr
- OSSLINC=$(OSSLPATH)/include
+--- chntpw-140201/Makefile	2022-04-21 00:14:45.000000000 +0200
++++ chntpw-140201.new/Makefile	2022-04-21 09:15:42.000000000 +0200
+@@ -6,10 +6,16 @@
+ # See INSTALL for more info.
+ #
  
 +PREFIX ?= /usr
 +
- CC=gcc
+ CFLAGS= -DUSEOPENSSL -g -I. -Wall
  
- ifeq      '$(shell gcc -dumpmachine)' 'x86_64-unknown-linux-gnu'
-@@ -24,8 +26,12 @@
- #LIBS=-L$(OSSLLIB) $(OSSLLIB)/libcrypto.a
- LIBS=-L$(OSSLLIB)
- 
-+BINARIES := chntpw chntpw.static cpnt reged reged.static samusrgrp samusrgrp.static sampasswd sampasswd.static
++BINARIES := chntpw cpnt reged samusrgrp sampasswd
  
 -all: chntpw chntpw.static cpnt reged reged.static samusrgrp samusrgrp.static sampasswd sampasswd.static
 +all: $(BINARIES)
diff --git a/pkgs/tools/security/chntpw/default.nix b/pkgs/tools/security/chntpw/default.nix
index 5bda55c418a..c4463d16d34 100644
--- a/pkgs/tools/security/chntpw/default.nix
+++ b/pkgs/tools/security/chntpw/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, unzip }:
+{ lib, stdenv, fetchurl, unzip, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "chntpw";
@@ -11,11 +11,47 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ unzip ];
-  buildInputs = lib.optionals stdenv.isLinux [ stdenv.glibc.out stdenv.glibc.static ];
 
   patches = [
     ./00-chntpw-build-arch-autodetect.patch
     ./01-chntpw-install-target.patch
+    # Import various bug fixes from debian
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/c/chntpw/140201-1/debian/patches/04_get_abs_path";
+      sha256 = "17h0gaczqd5b792481synr1ny72frwslb779lm417pyrz6kh9q8n";
+    })
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/c/chntpw/140201-1/debian/patches/06_correct_test_open_syscall";
+      sha256 = "00lg83bimbki988n71w54mmhjp9529r0ngm40d7fdmnc2dlpj3hd";
+    })
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/c/chntpw/140201-1/debian/patches/07_detect_failure_to_write_key";
+      sha256 = "0pk6xnprh2pqyx4n4lw3836z6fqsw3mclkzppl5rhjaahriwxw4l";
+    })
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/c/chntpw/140201-1/debian/patches/08_no_deref_null";
+      sha256 = "1g7pfmjaj0c2sm64s3api2kglj7jbgddjjd3r4drw6phwdkah0zs";
+    })
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/c/chntpw/140201-1/debian/patches/09_improve_robustness";
+      sha256 = "1nszkdy01ixnain7cwdmfbhjngphw1300ifagc1wgl9wvghzviaa";
+    })
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/c/chntpw/140201-1/debian/patches/11_improve_documentation";
+      sha256 = "0yql6hj72q7cq69rrspsjkpiipdhcwb0b9w5j8nhq40cnx9mgqgg";
+    })
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/c/chntpw/140201-1/debian/patches/12_readonly_filesystem";
+      sha256 = "1kxcy7f2pl6fqgmjg8bnl3pl5wgiw5xnbyx12arinmqkkggp4fa4";
+    })
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/c/chntpw/140201-1/debian/patches/13_write_to_hive";
+      sha256 = "1638lcyxjkrkmbr3n28byixny0qrxvkciw1xd97x48mj6bnwqrkv";
+    })
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/c/chntpw/140201-1/debian/patches/14_improve_description";
+      sha256 = "11y5kc4dh4zv24nkb0jw2zwlifx6nzsd4jbizn63l6dbpqgb25rs";
+    })
   ];
 
   installPhase = ''
@@ -27,6 +63,6 @@ stdenv.mkDerivation rec {
     description = "An utility to reset the password of any user that has a valid local account on a Windows system";
     maintainers = with lib.maintainers; [ deepfire ];
     license = licenses.gpl2;
-    platforms = with lib.platforms; linux;
+    platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/cosign/default.nix b/pkgs/tools/security/cosign/default.nix
index 2d24c8292b6..b4d33a17291 100644
--- a/pkgs/tools/security/cosign/default.nix
+++ b/pkgs/tools/security/cosign/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cosign";
-  version = "1.7.2";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Jxtu4f3JeQ1LH2IjSc5hRKDrWXllczQWWHBa4eTzOIY=";
+    sha256 = "sha256-9zA50tnUWR8dglPvMagiGcJDkPHs7yXuqYV2jnRdWqA=";
   };
 
   buildInputs = lib.optional (stdenv.isLinux && pivKeySupport) (lib.getDev pcsclite)
@@ -16,7 +16,7 @@ buildGoModule rec {
 
   nativeBuildInputs = [ pkg-config installShellFiles ];
 
-  vendorSha256 = "sha256-fBmSuxjguNc1LOoXqOue0/Ki3979NpqJTzuuqqsjooM=";
+  vendorSha256 = "sha256-buOdutDZUFu+GbjyF0Ql8QAXpNEv2ej0mwjSZMHDmdA=";
 
   subPackages = [
     "cmd/cosign"
diff --git a/pkgs/tools/security/cryptomator/default.nix b/pkgs/tools/security/cryptomator/default.nix
index 57e420f8669..76b5f521663 100644
--- a/pkgs/tools/security/cryptomator/default.nix
+++ b/pkgs/tools/security/cryptomator/default.nix
@@ -6,13 +6,13 @@
 
 let
   pname = "cryptomator";
-  version = "1.6.8";
+  version = "1.6.10";
 
   src = fetchFromGitHub {
     owner = "cryptomator";
     repo = "cryptomator";
     rev = version;
-    sha256 = "sha256-2bvIjfutxfTPBtYiSXpgdEh63Eg74uqSf8CDo/Oma0U=";
+    sha256 = "sha256-klNkMCgXC0gGqNV7S5EObHYCcgN4SayeNHXF9bq+20s=";
   };
 
   # perform fake build to make a fixed-output derivation out of the files downloaded from maven central (120MB)
@@ -37,7 +37,7 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "sha256-quYUJX/JErtWuUQBYXXee/uZGkO0UBr4qxcGticxGUc=";
+    outputHash = "sha256-biQBP0rV94+Hoqte36Xmzm1XWtWC+1ne5lgpUj0GPak=";
 
     doCheck = false;
   };
diff --git a/pkgs/tools/security/ecdsautils/default.nix b/pkgs/tools/security/ecdsautils/default.nix
index 6bdac96811a..0a43260eb83 100644
--- a/pkgs/tools/security/ecdsautils/default.nix
+++ b/pkgs/tools/security/ecdsautils/default.nix
@@ -1,14 +1,17 @@
 { lib, stdenv, pkgs }:
 
-stdenv.mkDerivation {
-  version = "0.4.0";
+let
   pname = "ecdsautils";
+  version = "0.4.1";
+in
+stdenv.mkDerivation {
+  inherit pname version;
 
   src = pkgs.fetchFromGitHub {
     owner = "freifunk-gluon";
-    repo = "ecdsautils";
-    rev = "07538893fb6c2a9539678c45f9dbbf1e4f222b46";
-    sha256 = "18sr8x3qiw8s9l5pfi7r9i3ayplz4jqdml75ga9y933vj7vs0k4d";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-dv0guQTmot5UO1GkMgzvD6uJFyum5kV89LI3xWS1DZA=";
   };
 
   nativeBuildInputs = with pkgs; [ cmake pkg-config doxygen ];
@@ -16,7 +19,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Tiny collection of programs used for ECDSA (keygen, sign, verify)";
-    homepage = "https://github.com/tcatm/ecdsautils/";
+    homepage = "https://github.com/freifunk-gluon/ecdsautils/";
     license = with licenses; [ mit bsd2 ];
     maintainers = with maintainers; [ ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index bc78eb7f101..2c76d28bae2 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2022-04-12";
+  version = "2022-04-27";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ucbw09oFklulyXr8mGO5RskKNZx0rPTA6hPJgYByPAI=";
+    sha256 = "sha256-GYAIbE6Vrq6gBnCkeOSvo6gSJqPOhDh2f8n1b6B/x30=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index 6c3fb072709..62bc16f6a41 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -17,6 +17,7 @@ python3.pkgs.buildPythonApplication rec {
   pythonPath = with python3.pkgs;
     lib.optionals stdenv.isLinux [
       systemd
+      pyinotify
     ];
 
   patches = [
diff --git a/pkgs/tools/security/feroxbuster/default.nix b/pkgs/tools/security/feroxbuster/default.nix
index bc1df5eb569..d73ba430633 100644
--- a/pkgs/tools/security/feroxbuster/default.nix
+++ b/pkgs/tools/security/feroxbuster/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "feroxbuster";
-  version = "2.6.4";
+  version = "2.7.0";
 
   src = fetchFromGitHub {
     owner = "epi052";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-aTyjZc+bsA4rvbcFTLArK+zbfF6thHEYyPbMx9vLcMo=";
+    rev = version;
+    hash = "sha256-Ub4HOi38fYNJkpXfms1/aDl97h2UI1Fru8+NAiAztoc=";
   };
 
-  cargoSha256 = "sha256-PLrIMgn0o+fFB6Zv9sf7X4gZyHwVSd6BOM1/KUo3TAg=";
+  cargoSha256 = "sha256-ODLL++wn8IQloEFZXF8TasercTKJ0nhPtny4fsi03Ks=";
 
   OPENSSL_NO_VENDOR = true;
 
diff --git a/pkgs/tools/security/fulcio/default.nix b/pkgs/tools/security/fulcio/default.nix
index 4098a101518..acfce66834f 100644
--- a/pkgs/tools/security/fulcio/default.nix
+++ b/pkgs/tools/security/fulcio/default.nix
@@ -2,47 +2,50 @@
 
 buildGoModule rec {
   pname = "fulcio";
-  version = "0.3.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-jcmjfNGruDhQPhVn5R2hdUr+d42qQnIVj8+CCX5HMMM=";
+    sha256 = "sha256-b+2M28cI+4UkzrIqI+BioxJsGqT0pqJVPTPmXe+NsZo=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
     postFetch = ''
       cd "$out"
       git rev-parse HEAD > $out/COMMIT
-      # '0000-00-00T00:00:00Z'
-      date -u -d "@$(git log -1 --pretty=%ct)" "+'%Y-%m-%dT%H:%M:%SZ'" > $out/SOURCE_DATE_EPOCH
+      # 0000-00-00T00:00:00Z
+      date -u -d "@$(git log -1 --pretty=%ct)" "+%Y-%m-%dT%H:%M:%SZ" > $out/SOURCE_DATE_EPOCH
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorSha256 = "sha256-WQ0MuNEJWCxKTjkyqA66bGPoMrS/7W/YTiGU3yd+Ge8=";
+  vendorSha256 = "sha256-INPMsSyjFs4GyapOlc/k5fcI2ePUKgp4BtASOKwQhck=";
 
-  # install completions post-install
   nativeBuildInputs = [ installShellFiles ];
 
-  excludedPackages = [ "federation" "test/prometheus" ];
+  subPackages = [ "." ];
 
   ldflags = [
     "-s"
     "-w"
-    "-X github.com/sigstore/fulcio/cmd/app.gitVersion=v${version}"
-    "-X github.com/sigstore/fulcio/cmd/app.gitTreeState=clean"
+    "-X github.com/sigstore/fulcio/pkg/api.gitVersion=v${version}"
+    "-X github.com/sigstore/fulcio/pkg/api.gitTreeState=clean"
   ];
 
   # ldflags based on metadata from git and source
   preBuild = ''
-    ldflags+=" -X github.com/sigstore/fulcio/cmd/app.gitCommit=$(cat COMMIT)"
-    ldflags+=" -X github.com/sigstore/fulcio/cmd/app.buildDate=$(cat SOURCE_DATE_EPOCH)"
+    ldflags+=" -X github.com/sigstore/fulcio/pkg/api.gitCommit=$(cat COMMIT)"
+    ldflags+=" -X github.com/sigstore/fulcio/pkg/api.buildDate=$(cat SOURCE_DATE_EPOCH)"
   '';
 
   preCheck = ''
-    # remove test that requires networking
-    rm pkg/config/config_test.go
+    # test all paths
+    unset subPackages
+
+    # skip test that requires networking
+    substituteInPlace pkg/config/config_test.go \
+      --replace "TestLoad" "SkipLoad"
   '';
 
   postInstall = ''
@@ -55,10 +58,8 @@ buildGoModule rec {
   doInstallCheck = true;
   installCheckPhase = ''
     runHook preInstallCheck
-
     $out/bin/fulcio --help
     $out/bin/fulcio version | grep "v${version}"
-
     runHook postInstallCheck
   '';
 
@@ -66,8 +67,17 @@ buildGoModule rec {
     homepage = "https://github.com/sigstore/fulcio";
     changelog = "https://github.com/sigstore/fulcio/releases/tag/v${version}";
     description = "A Root-CA for code signing certs - issuing certificates based on an OIDC email address";
+    longDescription = ''
+      Fulcio is a free code signing Certificate Authority, built to make
+      short-lived certificates available to anyone. Based on an Open ID Connect
+      email address, Fulcio signs x509 certificates valid for under 20 minutes.
+
+      Fulcio was designed to run as a centralized, public-good instance backed
+      up by other transparency logs. Development is now underway to support
+      different delegation models, and to deploy and run Fulcio as a
+      disconnected instance.
+    '';
     license = licenses.asl20;
     maintainers = with maintainers; [ lesuisse jk ];
-    mainProgram = "fulcio-server";
   };
 }
diff --git a/pkgs/tools/security/gau/default.nix b/pkgs/tools/security/gau/default.nix
index 8113289a9c4..29a0aadd156 100644
--- a/pkgs/tools/security/gau/default.nix
+++ b/pkgs/tools/security/gau/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "gau";
-  version = "2.0.9";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "lc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8op515+0wDxxU1e08gJ6lg/8NhQScFb4b3mCzBV/VNw=";
+    sha256 = "sha256-jIMBvRnY1Z/cLwBnWGp1fsx6oLri1qiknLj+r9B4GHc=";
   };
 
   vendorSha256 = "sha256-HQATUCzYvhhlqe4HhNu9H4CqmY2IGLNJ9ydt3/igSmQ=";
diff --git a/pkgs/tools/security/gitleaks/default.nix b/pkgs/tools/security/gitleaks/default.nix
index a26e0569c5c..d03a0ce1cac 100644
--- a/pkgs/tools/security/gitleaks/default.nix
+++ b/pkgs/tools/security/gitleaks/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "gitleaks";
-  version = "8.7.2";
+  version = "8.8.4";
 
   src = fetchFromGitHub {
     owner = "zricethezav";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-V2wBzoU3oL/wT/pIvMxEPTuNaRLTI72OTDRgWXyzZoY=";
+    sha256 = "sha256-EW5skmSnnQiMCMqyh51t1q4F5JVYWLSuj1qTqfWp/ok=";
   };
 
   vendorSha256 = "sha256-X8z9iKRR3PptNHwy1clZG8QsClsjbW45nZb2fHGfSYk=";
diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix
index 6825e6cbba8..4e3926d7f06 100644
--- a/pkgs/tools/security/gopass/default.nix
+++ b/pkgs/tools/security/gopass/default.nix
@@ -13,7 +13,7 @@
 
 buildGoModule rec {
   pname = "gopass";
-  version = "1.14.0";
+  version = "1.14.1";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
@@ -21,10 +21,10 @@ buildGoModule rec {
     owner = "gopasspw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-swvZrsRuevBe8lVg67J0R9u3GB/Wc2ZR54Y6j1Bsa3E=";
+    sha256 = "sha256-vdMOD6Zrl718jcntjEzOG+4Rr0aqhm0YidA0x3Gseqg=";
   };
 
-  vendorSha256 = "sha256-Fq9jEJm65efBL5ShcB/XCM70UVDO/8STbbTOOHXrpSk=";
+  vendorSha256 = "sha256-mdPAZrcdlq7R7DRIfuxf4PCpEJoJjzo/+TDKAVglk7A=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/tools/security/grype/default.nix
index c8326fe09ff..596eb7f6e50 100644
--- a/pkgs/tools/security/grype/default.nix
+++ b/pkgs/tools/security/grype/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.35.0";
+  version = "0.36.1";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-DZ3/t6+iVmPCH4LBbtEqIdPdzmQu7fsNlJnHZ54alVw=";
+    sha256 = "sha256-BJSjJrDXZHB4MY4RZCmuC5Gn9YJiCQwyOFrXiGX1h18=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -25,7 +25,7 @@ buildGoModule rec {
     '';
   };
 
-  vendorSha256 = "sha256-RHsDwbQO+2OLmpqCSC9goHv9ut64Kp+cw18jdLvhmK8=";
+  vendorSha256 = "sha256-aIFom4hGx7HTobCh9YRyqyf9gUpJIaxAstUUkHjSFnA=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/security/jadx/default.nix b/pkgs/tools/security/jadx/default.nix
index 2aadf1fb7b2..1358d9f3198 100644
--- a/pkgs/tools/security/jadx/default.nix
+++ b/pkgs/tools/security/jadx/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "jadx";
-  version = "1.3.4";
+  version = "1.3.5";
 
   src = fetchFromGitHub {
     owner = "skylot";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-G2BgGhWk0Prbjni6HPZ/0+bWiC9uI2O13Q1SDCE5mBE=";
+    hash = "sha256-uDNHjajGqEeXOIC5SaluhHWOkA2j3LUvB6O3MHB2+YA=";
   };
 
   deps = stdenv.mkDerivation {
@@ -40,7 +40,7 @@ let
     '';
 
     outputHashMode = "recursive";
-    outputHash = "sha256-QZClHuj7oCUYX3I8B3A90m4zK7+FP24C19RIzYyPC1w=";
+    outputHash = "sha256-SFj3VPCIxEA2mj/xsibXZ1MDmV/BnmvQJUBav1gfEGM=";
   };
 in stdenv.mkDerivation {
   inherit pname version src;
diff --git a/pkgs/tools/security/john/default.nix b/pkgs/tools/security/john/default.nix
index be6514630f5..9a3c03d6d2b 100644
--- a/pkgs/tools/security/john/default.nix
+++ b/pkgs/tools/security/john/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchurl, openssl, nss, nspr, libkrb5, gmp, zlib, libpcap, re2
-, gcc, python3Packages, perl, perlPackages, makeWrapper
+{ lib, stdenv, fetchFromGitHub, openssl, nss, nspr, libkrb5, gmp, zlib, libpcap, re2
+, gcc, python3Packages, perl, perlPackages, makeWrapper, fetchpatch
 }:
 
 with lib;
@@ -8,11 +8,21 @@ stdenv.mkDerivation rec {
   pname = "john";
   version = "1.9.0-jumbo-1";
 
-  src = fetchurl {
-    url = "http://www.openwall.com/john/k/${pname}-${version}.tar.xz";
-    sha256 = "0fvz3v41hnaiv1ggpxanfykyfjq79cwp9qcqqn63vic357w27lgm";
+  src = fetchFromGitHub {
+    owner = "openwall";
+    repo = pname;
+    rev = "1.9.0-Jumbo-1";
+    sha256 = "sha256-O1iPh5QTMjZ78sKvGbvSpaHFbBuVc1z49UKTbMa24Rs=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-gcc-11-struct-allignment-incompatibility.patch";
+      url = "https://github.com/openwall/john/commit/154ee1156d62dd207aff0052b04c61796a1fde3b.patch";
+      sha256 = "sha256-3rfS2tu/TF+KW2MQiR+bh4w/FVECciTooDQNTHNw31A=";
+    })
+  ];
+
   postPatch = ''
     sed -ri -e '
       s!^(#define\s+CFG_[A-Z]+_NAME\s+).*/!\1"'"$out"'/etc/john/!
@@ -69,8 +79,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "John the Ripper password cracker";
-    license = licenses.gpl2;
-    homepage = "https://github.com/magnumripper/JohnTheRipper/";
+    license = licenses.gpl2Plus;
+    homepage = "https://github.com/openwall/john/";
     maintainers = with maintainers; [ offline matthewbauer ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/security/jwt-cli/default.nix b/pkgs/tools/security/jwt-cli/default.nix
index 98b297fe831..20c172fc501 100644
--- a/pkgs/tools/security/jwt-cli/default.nix
+++ b/pkgs/tools/security/jwt-cli/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jwt-cli";
-  version = "5.0.2";
+  version = "5.0.3";
 
   src = fetchFromGitHub {
     owner = "mike-engel";
     repo = pname;
     rev = version;
-    sha256 = "0w7fqmh8gihknvdamnq1n519253d4lxrpv378jajca9x906rqy1r";
+    sha256 = "01aqqjynfcrn3m36hfjwcfh870imcd0hj5gifxzpnjiqjwpvys59";
   };
 
-  cargoSha256 = "0b7m23azy8cb8d5wkawnw6nv8k7lfnfwc06swmbkfvg8vcxfsacs";
+  cargoSha256 = "1n4gmqmi975cd2zyrf0yi4gbxjjg9f99xa191mgmrdyyij7id3cf";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/security/libtpms/default.nix b/pkgs/tools/security/libtpms/default.nix
index 2042ec30fff..d410663e4fc 100644
--- a/pkgs/tools/security/libtpms/default.nix
+++ b/pkgs/tools/security/libtpms/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libtpms";
-  version = "0.9.3";
+  version = "0.9.4";
 
   src = fetchFromGitHub {
     owner = "stefanberger";
     repo = "libtpms";
     rev = "v${version}";
-    sha256 = "sha256-ih154MtLWBUdo7+ugu6tg5O/XSjlgFC00wgWC71VeaE=";
+    sha256 = "sha256-f88hT9+rbZXkSQ39mUuGHqmBYN/7pdd5q4Aq4gGjVdY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index bb742e3832c..83534ca07c6 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.1.38"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.1.40"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index d6e62819115..779d1f9c997 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 295599a02453423ea06e25c7f4347d88d1f2debc
-  ref: refs/tags/6.1.38
+  revision: 82d111481b8f46bf50473770673305b0ec0eb5d2
+  ref: refs/tags/6.1.40
   specs:
-    metasploit-framework (6.1.38)
+    metasploit-framework (6.1.40)
       actionpack (~> 6.0)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -76,7 +76,7 @@ GIT
       rex-text
       rex-zip
       ruby-macho
-      ruby_smb (~> 3.0)
+      ruby_smb (~> 3.1.0)
       rubyntlm
       rubyzip
       sinatra
@@ -99,25 +99,25 @@ GEM
   remote: https://rubygems.org/
   specs:
     Ascii85 (1.1.0)
-    actionpack (6.1.5)
-      actionview (= 6.1.5)
-      activesupport (= 6.1.5)
+    actionpack (6.1.5.1)
+      actionview (= 6.1.5.1)
+      activesupport (= 6.1.5.1)
       rack (~> 2.0, >= 2.0.9)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actionview (6.1.5)
-      activesupport (= 6.1.5)
+    actionview (6.1.5.1)
+      activesupport (= 6.1.5.1)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activemodel (6.1.5)
-      activesupport (= 6.1.5)
-    activerecord (6.1.5)
-      activemodel (= 6.1.5)
-      activesupport (= 6.1.5)
-    activesupport (6.1.5)
+    activemodel (6.1.5.1)
+      activesupport (= 6.1.5.1)
+    activerecord (6.1.5.1)
+      activemodel (= 6.1.5.1)
+      activesupport (= 6.1.5.1)
+    activesupport (6.1.5.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -129,31 +129,31 @@ GEM
     arel-helpers (2.14.0)
       activerecord (>= 3.1.0, < 8)
     aws-eventstream (1.2.0)
-    aws-partitions (1.577.0)
-    aws-sdk-core (3.130.1)
+    aws-partitions (1.581.0)
+    aws-sdk-core (3.130.2)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.525.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.307.0)
+    aws-sdk-ec2 (1.309.0)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-iam (1.68.0)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kms (1.55.0)
+    aws-sdk-kms (1.56.0)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.113.0)
+    aws-sdk-s3 (1.113.2)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.4)
-    aws-sigv4 (1.4.0)
+    aws-sigv4 (1.5.0)
       aws-eventstream (~> 1, >= 1.0.2)
     bcrypt (3.1.17)
     bcrypt_pbkdf (1.1.0)
     bindata (2.4.10)
-    bson (4.14.1)
+    bson (4.15.0)
     builder (3.2.4)
     concurrent-ruby (1.0.5)
     cookiejar (0.3.3)
@@ -232,7 +232,7 @@ GEM
     logging (2.3.0)
       little-plugger (~> 1.1)
       multi_json (~> 1.14)
-    loofah (2.16.0)
+    loofah (2.17.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     metasm (1.0.5)
@@ -322,9 +322,9 @@ GEM
       nokogiri (>= 1.6)
     rails-html-sanitizer (1.4.2)
       loofah (~> 2.3)
-    railties (6.1.5)
-      actionpack (= 6.1.5)
-      activesupport (= 6.1.5)
+    railties (6.1.5.1)
+      actionpack (= 6.1.5.1)
+      activesupport (= 6.1.5.1)
       method_source
       rake (>= 12.2)
       thor (~> 1.0)
@@ -388,7 +388,7 @@ GEM
     ruby-macho (3.0.0)
     ruby-rc4 (0.1.5)
     ruby2_keywords (0.0.5)
-    ruby_smb (3.1.0)
+    ruby_smb (3.1.1)
       bindata
       openssl-ccm
       openssl-cmac
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index 9f811999b79..7fc91f012db 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.1.38";
+  version = "6.1.40";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-3wpO2+ALt5sw6TSGCp7ARn5TEHVi+bBgP4uJPRwVIOM=";
+    sha256 = "sha256-3aQwzFaEANgc2inlZd2huu9W3vpv9bgIeRib4Q2zI3I=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index 2d4c4808f45..383456bcf37 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -4,50 +4,50 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kk8c6n94lg5gyarsy33wakw04zbmdwgfr7zxv4zzmbnp1yach0w";
+      sha256 = "1b2vxprwfkza3h6z3pq508hsjh1hz9f8d7739j469mqlxsq5jh1l";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   actionview = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16w7pl8ir253g1dzlzx4mwrjsx3v7fl7zn941xz53zb4ld286mhi";
+      sha256 = "0y54nw3x38lj0qh36hlzjw82px328k01fyrk21d6xlpn1w0j98gv";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   activemodel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16anyz7wqwmphzb6w1sgmvdvj50g3zp70s94s5v8hwxj680f6195";
+      sha256 = "01bbxwbih29qcmqrrvqymlc6hjf0r38rpwdfgaimisp5vms3xxsn";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   activerecord = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jl6jc9g9jxsljfnnmbkxrgwrz86icw6g745cv6iavryizrmw939";
+      sha256 = "1yscjy5766g67ip3g7614b0hhrpgz5qk22nj8ghzcjqh3fj2k2n0";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   activesupport = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jmqndx3a46hpwz33ximqch27018n3mk9z19azgpylm33w7xpkx4";
+      sha256 = "1ylj0nwk9y5hbgv93wk8kkbg9z9bv1052ic37n9ib34w0bkgrzw4";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   addressable = {
     groups = ["default"];
@@ -104,30 +104,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rl0wcvcl1dnyzyxs0m6iyma0ibx2f9a2d4zac6hrdfcqf4s6zx9";
+      sha256 = "0qn84zn8g8aaqq9cmc2mkaakpgysl50mnhalzphxxvamg9pah5hq";
       type = "gem";
     };
-    version = "1.577.0";
+    version = "1.581.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lrmk788830adljzfdv9ws4q7cqfh0qyp7w908pja4rkgsd4baln";
+      sha256 = "0hajbavfngn99hcz6n20162jygvwdflldvnlrza7z32hizawaaan";
       type = "gem";
     };
-    version = "3.130.1";
+    version = "3.130.2";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13dbg60p44llx4h99s6vdqngkwkx1521ixvzrlj630wrjp6dfkp2";
+      sha256 = "05fw7sxwn5k9a944j0010kn6dl93fv10q1f8kmvdkb4i231xbxwl";
       type = "gem";
     };
-    version = "1.307.0";
+    version = "1.309.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
@@ -144,30 +144,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fmpdll52ng1kfn4r5ndcyppn5553qvvxw87w58m9n70ga3avasi";
+      sha256 = "14dcfqqdx1dy7qwrdyqdvqjs53kswm4njvg34f61jpl9xi3h2yf3";
       type = "gem";
     };
-    version = "1.55.0";
+    version = "1.56.0";
   };
   aws-sdk-s3 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iafjly868kdzmpxkv1ndmqm524ik36ibs15mqh145vw32gz7bax";
+      sha256 = "17pc197a6axmnj6rbhgsvks2w0mv2mmr2bwh1k4mazbfp72ss87i";
       type = "gem";
     };
-    version = "1.113.0";
+    version = "1.113.2";
   };
   aws-sigv4 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wh1y79v0s4zgby2m79bnifk65hwf5pvk2yyrxzn2jkjjq8f8fqa";
+      sha256 = "0xp7diwq7nv4vvxrl9x3lis2l4x6bissrfzbfyy6rv5bmj5w109z";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.5.0";
   };
   bcrypt = {
     groups = ["default"];
@@ -204,10 +204,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03n3w96vpblaxvk1qk8hq7sbsmg4nv7qdkdr8f7nfvalgpakp5i5";
+      sha256 = "19vgs9rzzyvd7jfrzynjnc6518q0ffpfciyicfywbp77zl8nc9hk";
       type = "gem";
     };
-    version = "4.14.1";
+    version = "4.15.0";
   };
   builder = {
     groups = ["default"];
@@ -654,10 +654,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15s6z5bvhdhnqv4wg8zcz3mhbc7i4dbqskv5jvhprz33ak7682km";
+      sha256 = "0fpx5p8n0jq4bdazb2vn19sqkmh398rk9b2pa3gdi43snfn485cr";
       type = "gem";
     };
-    version = "2.16.0";
+    version = "2.17.0";
   };
   metasm = {
     groups = ["default"];
@@ -694,12 +694,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "295599a02453423ea06e25c7f4347d88d1f2debc";
-      sha256 = "1qr02lf3v2cb7xhb1yb2fl856zj6q2g0m1ilx4q9pdqbw3dlw2nz";
+      rev = "82d111481b8f46bf50473770673305b0ec0eb5d2";
+      sha256 = "0wi3nc6y36qqg44bixbgzbg5dvxsl7fnbr99v8fdh044av63196x";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.1.38";
+    version = "6.1.40";
   };
   metasploit-model = {
     groups = ["default"];
@@ -1097,10 +1097,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fdqhv8qhk2dspkrr9f5dj3806g52cb0l1chh2hx8v81y218cl93";
+      sha256 = "0lirp0g1n114gwkqbqki2fjqwnbyzhn30z97jhikqldd0r54f4b9";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   rake = {
     groups = ["default"];
@@ -1387,10 +1387,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0j378l0zh3y2hdnxx753p2ds7nssi8v08fkv1wzm3yl5ws8zkxaf";
+      sha256 = "1v0dvys954c1d5azzz05p1jg57knk3d10b61wwfx00dw8pz76amw";
       type = "gem";
     };
-    version = "3.1.0";
+    version = "3.1.1";
   };
   rubyntlm = {
     groups = ["default"];
diff --git a/pkgs/tools/security/munge/default.nix b/pkgs/tools/security/munge/default.nix
index 01e208958a5..2c242f256d3 100644
--- a/pkgs/tools/security/munge/default.nix
+++ b/pkgs/tools/security/munge/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, gawk, gnused, libgcrypt, zlib, bzip2 }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, libgcrypt, zlib, bzip2 }:
 
 stdenv.mkDerivation rec {
   pname = "munge";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "15h805rwcb9f89dyrkxfclzs41n3ff8x7cc1dbvs8mb0ds682c4j";
   };
 
-  nativeBuildInputs = [ autoreconfHook gawk gnused ];
+  nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ libgcrypt zlib bzip2 ];
 
   preAutoreconf = ''
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 0a6733e993d..5e71c2e1655 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -1,9 +1,7 @@
 { lib, stdenv, fetchurl, fetchpatch, libpcap, pkg-config, openssl, lua5_3
 , pcre, libssh2
-, graphicalSupport ? false
 , libX11 ? null
 , gtk2 ? null
-, python2 ? null
 , makeWrapper ? null
 , withLua ? true
 }:
@@ -11,7 +9,7 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  pname = "nmap${optionalString graphicalSupport "-graphical"}";
+  pname = "nmap";
   version = "7.92";
 
   src = fetchurl {
@@ -41,7 +39,9 @@ stdenv.mkDerivation rec {
   configureFlags = [
     (if withLua then "--with-liblua=${lua5_3}" else "--without-liblua")
     "--with-liblinear=included"
-  ] ++ optionals (!graphicalSupport) [ "--without-ndiff" "--without-zenmap" ];
+    "--without-ndiff"
+    "--without-zenmap"
+  ];
 
   makeFlags = optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
     "AR=${stdenv.cc.bintools.targetPrefix}ar"
@@ -49,20 +49,8 @@ stdenv.mkDerivation rec {
     "CC=${stdenv.cc.targetPrefix}gcc"
   ];
 
-  pythonPath = with python2.pkgs; optionals graphicalSupport  [
-    pygtk pysqlite pygobject2 pycairo
-  ];
-
-  nativeBuildInputs = [ pkg-config ] ++ optionals graphicalSupport [ python2.pkgs.wrapPython ];
-  buildInputs = [ pcre libssh2 libpcap openssl ] ++ optionals graphicalSupport (with python2.pkgs; [
-    python2 libX11 gtk2
-  ]);
-
-  postInstall = optionalString graphicalSupport ''
-    buildPythonPath "$out $pythonPath"
-    patchPythonScript $out/bin/ndiff
-    patchPythonScript $out/bin/zenmap
-  '';
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ pcre libssh2 libpcap openssl ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/tools/security/nuclei/default.nix b/pkgs/tools/security/nuclei/default.nix
index cc24c3114af..2ca79ed25a4 100644
--- a/pkgs/tools/security/nuclei/default.nix
+++ b/pkgs/tools/security/nuclei/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "2.6.8";
+  version = "2.6.9";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XVABgsmPRNseWN+iNfbjicoNuHyZSrrlVOV3YEX7DPU=";
+    sha256 = "sha256-BGWlkNj0LQ02BSUWQYjoT4bR0t/DmNB0jBpvwB/gWwo=";
   };
 
-  vendorSha256 = "sha256-Mibn93EviweuEsMF2d1kQAJtss/ELlJQIZTM7To2dkg=";
+  vendorSha256 = "sha256-ar62CZ/2zXO3lwvWNiIAt9XITj2Y/0iIYGX8tmSCwcU=";
 
   modRoot = "./v2";
   subPackages = [
diff --git a/pkgs/tools/security/oath-toolkit/update.sh b/pkgs/tools/security/oath-toolkit/update.sh
index 3502a541fa8..9f56ae41232 100755
--- a/pkgs/tools/security/oath-toolkit/update.sh
+++ b/pkgs/tools/security/oath-toolkit/update.sh
@@ -5,7 +5,7 @@ set -euo pipefail
 
 nixfile='default.nix'
 release_url='https://download.savannah.nongnu.org/releases/oath-toolkit/'
-attr='oathToolkit'
+attr='oath-toolkit'
 command='oathtool --version'
 
 color() {
diff --git a/pkgs/tools/security/pass/extensions/otp.nix b/pkgs/tools/security/pass/extensions/otp.nix
index 8d9b350543d..15f075ccec4 100644
--- a/pkgs/tools/security/pass/extensions/otp.nix
+++ b/pkgs/tools/security/pass/extensions/otp.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, oathToolkit }:
+{ lib, stdenv, fetchFromGitHub, oath-toolkit }:
 
 stdenv.mkDerivation rec {
   pname = "pass-otp";
@@ -11,12 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "0cpqrf3939hcvwg7sd8055ghc8x964ilimlri16czzx188a9jx9v";
   };
 
-  buildInputs = [ oathToolkit ];
+  buildInputs = [ oath-toolkit ];
 
   dontBuild = true;
 
   patchPhase = ''
-    sed -i -e 's|OATH=\$(which oathtool)|OATH=${oathToolkit}/bin/oathtool|' otp.bash
+    sed -i -e 's|OATH=\$(which oathtool)|OATH=${oath-toolkit}/bin/oathtool|' otp.bash
   '';
 
   installFlags = [ "PREFIX=$(out)"
diff --git a/pkgs/tools/security/plasma-pass/default.nix b/pkgs/tools/security/plasma-pass/default.nix
index 20f64b725f1..2ff2ab38cef 100644
--- a/pkgs/tools/security/plasma-pass/default.nix
+++ b/pkgs/tools/security/plasma-pass/default.nix
@@ -1,7 +1,7 @@
 { mkDerivation, lib, fetchFromGitLab, cmake, extra-cmake-modules
 , ki18n
 , kitemmodels
-, oathToolkit
+, oath-toolkit
 , qgpgme
 , plasma-framework
 , qt5 }:
@@ -21,7 +21,7 @@ mkDerivation rec {
   buildInputs  = [
     ki18n
     kitemmodels
-    oathToolkit
+    oath-toolkit
     qgpgme
     plasma-framework
     qt5.qtbase
diff --git a/pkgs/tools/security/rage/default.nix b/pkgs/tools/security/rage/default.nix
index 589a56adc32..09e7b2b4169 100644
--- a/pkgs/tools/security/rage/default.nix
+++ b/pkgs/tools/security/rage/default.nix
@@ -1,20 +1,29 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, installShellFiles
-, Foundation, Security, libiconv }:
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, installShellFiles
+, Foundation
+, Security
+, libiconv
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "rage";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "str4d";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0OQnYc1IWYscvSw5YZH54Fh8cBasLlcVqrQcQ4MAsU8=";
+    sha256 = "sha256-ra68q5gwcbod5iajPIWEIGQceMK8ikSq/UKUfIEYaGE=";
   };
 
-  cargoSha256 = "sha256-31s70pgEQDw3uifmhv1iWQuzKQVc2q+f76PPnGKIYdc=";
+  cargoSha256 = "sha256-o5HVMRWSIrCsbOEOeUvCvj+mkmjqRY3XaHx82IY73Cc=";
 
-  nativeBuildInputs = [ installShellFiles ];
+  nativeBuildInputs = [
+    installShellFiles
+  ];
 
   buildInputs = lib.optionals stdenv.isDarwin [
     Foundation
diff --git a/pkgs/tools/security/sigma-cli/default.nix b/pkgs/tools/security/sigma-cli/default.nix
index d3099340ff1..6f2ac26ebdc 100644
--- a/pkgs/tools/security/sigma-cli/default.nix
+++ b/pkgs/tools/security/sigma-cli/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sigma-cli";
-  version = "0.4.2";
+  version = "0.4.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "SigmaHQ";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-UA28A/C7RyIs96a/U98WpkgeCotT4qmpZwvO3HYUE9Q=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-3LFakeS3aQaacm7HqeAJPMJhi3Wf8zbJc//SEWUA1Rg=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
@@ -48,5 +48,6 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://github.com/SigmaHQ/sigma-cli";
     license = with licenses; [ lgpl21Plus ];
     maintainers = with maintainers; [ fab ];
+    mainProgram = "sigma";
   };
 }
diff --git a/pkgs/tools/security/signify/default.nix b/pkgs/tools/security/signify/default.nix
index 3ac6f58dce9..645cb010bdf 100644
--- a/pkgs/tools/security/signify/default.nix
+++ b/pkgs/tools/security/signify/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "signify";
-  version = "30";
+  version = "31";
 
   src = fetchFromGitHub {
     owner = "aperezdc";
     repo = "signify";
     rev = "v${version}";
-    sha256 = "02xh6x6rszkvk3rf6zai7n3ivchmw0d8mwllpinjxc7k6sd415c3";
+    sha256 = "sha256-y9jWG1JJhYCn6e5E2qjVqK8nmZpktiB7d9e9uP+3DLo=";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/security/step-cli/default.nix b/pkgs/tools/security/step-cli/default.nix
index 0f8f37a4890..dc09e8476bf 100644
--- a/pkgs/tools/security/step-cli/default.nix
+++ b/pkgs/tools/security/step-cli/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "step-cli";
-  version = "0.18.2";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-Ki6MrLVJf2U4Q0y6jtOQZOti/m3SULWNKZ9SdirlOVA=";
+    sha256 = "sha256-ZH3OrJGh7TekODW5rh8JShNHKfuxPr5HhVD7wsvi8M0=";
   };
 
   ldflags = [
@@ -25,7 +25,7 @@ buildGoModule rec {
     rm command/certificate/remote_test.go
   '';
 
-  vendorSha256 = "sha256-ftBZQmtrnGFMZRXDKmMyqnfxuY5vtrZDXVR43yd1shk=";
+  vendorSha256 = "sha256-hJEL6kUc6aXKq7X23dRWhAni5oRDJ3CuNTx6JL049gA=";
 
   meta = with lib; {
     description = "A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc";
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 14e0be73f01..90485ae817e 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -30,11 +30,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "tor";
-  version = "0.4.6.10";
+  version = "0.4.7.7";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
-    sha256 = "lMzWDgTlWPM75zAyvITqJBZg+S9Yz7iHib2miTc54xw=";
+    sha256 = "sha256-PhMRWLUrlDXX5D0cR+8oi5bQBTQsxEuMlQu0A4UaW0Q=";
   };
 
   outputs = [ "out" "geoip" ];
@@ -45,9 +45,13 @@ stdenv.mkDerivation rec {
 
   patches = [ ./disable-monotonic-timer-tests.patch ];
 
-  # cross compiles correctly but needs the following
-  configureFlags = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
-    "--disable-tool-name-check";
+  configureFlags =
+    # cross compiles correctly but needs the following
+    lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--disable-tool-name-check" ]
+    ++
+    # sandbox is broken on aarch64-linux https://gitlab.torproject.org/tpo/core/tor/-/issues/40599
+    lib.optionals (stdenv.isLinux && stdenv.isAarch64) [ "--disable-seccomp" ]
+  ;
 
   NIX_CFLAGS_LINK = lib.optionalString stdenv.cc.isGNU "-lgcc_s";
 
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index d349c205ad4..ba70e99d646 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "vault";
-  version = "1.10.0";
+  version = "1.10.2";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "sha256-XgrEtAVfMcXbmAjwgIWME/v85QHJ11fUXapAZtS/lSw=";
+    sha256 = "sha256-ilyS2M/VRPNz8fW2JFrP09GvX0FlOznqnxJoFvfwUVo=";
   };
 
-  vendorSha256 = "sha256-Bo0+HSG7NqaweMKPdl+kzB6RdbQsy2FAzmr7ZZVgcsg=";
+  vendorSha256 = "sha256-ZdxpsfTRscgAjrRTq0tXhHe7pGirDgoZ6vlE71oJS9w=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix
index ebb70a1f629..048d06f2004 100644
--- a/pkgs/tools/security/vault/vault-bin.nix
+++ b/pkgs/tools/security/vault/vault-bin.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vault-bin";
-  version = "1.10.0";
+  version = "1.10.2";
 
   src =
     let
@@ -16,11 +16,11 @@ stdenv.mkDerivation rec {
         aarch64-darwin = "darwin_arm64";
       };
       sha256 = selectSystem {
-        x86_64-linux = "sha256-enD/JcOmeavvUd/njbu7IksAqp9dKepVdYPkLJHA8OQ=";
-        aarch64-linux = "sha256-FDkgUqFEVJoSED/FWqOXa4BTO6AYwkLS2iZh+BkzlqA=";
-        i686-linux = "sha256-XUTWB5Ynu92SMP9Nt/0jAki6til4upKv1sdFzPbWxiw=";
-        x86_64-darwin = "sha256-QNCsbIza56NqSU7R6+Cx//WBXiEOz6CEMCjrx4AR1x8=";
-        aarch64-darwin = "sha256-LBgd8gqeU92336kypSIwMtKo7I1qB/RP2dNoIGJgq7k=";
+        x86_64-linux = "sha256-8DF97kpBRqKvRqCi20QdVgE5T4QugM+Hh+2e1qdZAA8=";
+        aarch64-linux = "sha256-SZ1+q4um6aFMPoF6t5ycOrG5gQQRDNC7SGFJi/JReBI=";
+        i686-linux = "sha256-AatWqF2eDOslpK5J5fyGdrrjkag9GnCJcM0DnYCSZqg=";
+        x86_64-darwin = "sha256-pFQLm967yRiAWHm7PcZRknB4H6ZoEahf4rl8CCdh5AA=";
+        aarch64-darwin = "sha256-Br6fbJUkuIe7BVJU+bGGB9UOQyn2FV+Xy4ajfdfWCcM=";
       };
     in
     fetchzip {
diff --git a/pkgs/tools/security/wprecon/default.nix b/pkgs/tools/security/wprecon/default.nix
index bd343a5f1b1..964b6b7ff5b 100644
--- a/pkgs/tools/security/wprecon/default.nix
+++ b/pkgs/tools/security/wprecon/default.nix
@@ -5,16 +5,21 @@
 
 buildGoModule rec {
   pname = "wprecon";
-  version = "1.6.3a";
+  version = "2.4.5";
 
   src = fetchFromGitHub {
     owner = "blackbinn";
     repo = pname;
     rev = version;
-    sha256 = "0gqi4799ha3mf8r7ini0wj4ilkfsh80vnnxijfv9a343r6z5w0dn";
+    hash = "sha256-23zJD3Nnkeko+J2FjPq5RA5dIjORMXvwt3wtAYiVlQs=";
   };
 
-  vendorSha256 = "1sab58shspll96rqy1rp659s0yikqdcx59z9b88d6p4w8a98ns87";
+  vendorSha256 = "sha256-FYdsLcW6FYxSgixZ5US9cBPABOAVwidC3ejUNbs1lbA=";
+
+  postFixup = ''
+    # Rename binary
+    mv $out/bin/cli $out/bin/${pname}
+  '';
 
   meta = with lib; {
     description = "WordPress vulnerability recognition tool";
@@ -23,6 +28,5 @@ buildGoModule rec {
     # https://github.com/blackbinn/wprecon/blob/master/LICENSE
     license = with licenses; [ unfree ];
     maintainers = with maintainers; [ fab ];
-    broken = true; # build fails, missing tag
   };
 }
diff --git a/pkgs/tools/security/yara/default.nix b/pkgs/tools/security/yara/default.nix
index 9295dd40099..e12fab02f1e 100644
--- a/pkgs/tools/security/yara/default.nix
+++ b/pkgs/tools/security/yara/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yara";
-  version = "4.2.0";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ECvNob5QbOe5JfaDMGvSxCS+E9nqdsfSCZAVlAs18q4=";
+    hash = "sha256-/6EMnNVNSgeYHrbPF3QDS5oc0eLaggKNuZi2pXx/CqY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/system/btop/default.nix b/pkgs/tools/system/btop/default.nix
index 85aaee0bb9e..86547d04e46 100644
--- a/pkgs/tools/system/btop/default.nix
+++ b/pkgs/tools/system/btop/default.nix
@@ -8,8 +8,8 @@
 
 stdenv.mkDerivation rec {
   pname = "btop";
-  version = "1.2.5";
-  hash = "sha256-W7DTaJVA9xqdgBjrrR+OK1buBMrjpw2T0I//ZZKQFOw=";
+  version = "1.2.6";
+  hash = "sha256-q1Dpdw7bVSG10xtoUpelRgMrWe71vCWajjsAHjAZzQ4=";
 
   src = fetchFromGitHub {
     owner = "aristocratos";
diff --git a/pkgs/tools/system/consul-template/default.nix b/pkgs/tools/system/consul-template/default.nix
index 5d09020eec3..c265cf028bc 100644
--- a/pkgs/tools/system/consul-template/default.nix
+++ b/pkgs/tools/system/consul-template/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "consul-template";
-  version = "0.28.0";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "consul-template";
     rev = "v${version}";
-    sha256 = "sha256-9NsudhalFm0km7BmK+2QzK9LxirrVtIFzNrugpw4f8g=";
+    sha256 = "sha256-HxzniR4z3YzvFww3KqhtelaqMQJBsSw83pfz+jHxvKQ=";
   };
 
-  vendorSha256 = "sha256-SUbQPzFZUBgFZvaLc8730hZhJvt3/ni306Vt3EZMOmU=";
+  vendorSha256 = "sha256-wRNfxJVX45dfIBZ0sy48qbPkAsD0CIB1PDTiGs8Fjhs=";
 
   # consul-template tests depend on vault and consul services running to
   # execute tests so we skip them here
diff --git a/pkgs/tools/system/envconsul/default.nix b/pkgs/tools/system/envconsul/default.nix
index 9e8180b318a..71ff489b566 100644
--- a/pkgs/tools/system/envconsul/default.nix
+++ b/pkgs/tools/system/envconsul/default.nix
@@ -1,19 +1,24 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "envconsul";
-  version = "0.7.3";
-  rev = "v${version}";
-
-  goPackagePath = "github.com/hashicorp/envconsul";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "hashicorp";
     repo = "envconsul";
-    sha256 = "03cgxkyyynr067dg5b0lhvaxn60318fj9fh55p1n43vj5nrzgnbc";
+    rev = "v${version}";
+    sha256 = "sha256-oV+dGenyNYdVLFn43p+J9TgIbliYOppAKr1ePlMF0d4=";
   };
 
+  vendorSha256 = "sha256-kal1HR9zRVhQKR/ql63hju7XIHU1KRNDTAlOEqzYR4o=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/hashicorp/envconsul/version.Name=envconsul"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/hashicorp/envconsul/";
     description = "Read and set environmental variables for processes from Consul";
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index 09b7b312799..0820869fb0d 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, libgcrypt, readline, libgpg-error }:
+{ buildPackages, fetchurl, lib, stdenv, libgcrypt, readline, libgpg-error }:
 
 stdenv.mkDerivation rec {
   version = "1.6.9";
@@ -9,8 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-8l4cNfPQ8bWpnMMezCNTyoPtRqFRY4QvuocBJ9ycggY=";
   };
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+
   buildInputs = [ libgcrypt readline libgpg-error ];
 
+  configureFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform)
+    [ "ac_cv_file__dev_urandom=true" "ac_cv_file__dev_random=true" ];
+
   doCheck = true;
 
   meta = {
diff --git a/pkgs/tools/system/htop/default.nix b/pkgs/tools/system/htop/default.nix
index 26d10d1278d..47ebee52fe1 100644
--- a/pkgs/tools/system/htop/default.nix
+++ b/pkgs/tools/system/htop/default.nix
@@ -5,48 +5,46 @@
 , systemdSupport ? stdenv.isLinux, systemd
 }:
 
-with lib;
-
 assert systemdSupport -> stdenv.isLinux;
 
 stdenv.mkDerivation rec {
   pname = "htop";
-  version = "3.1.2";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "htop-dev";
     repo = pname;
     rev = version;
-    sha256 = "sha256-RKYS8UYZTVKMR/3DG31eqkG4knPRl8WXsZU/XGmGmAg=";
+    sha256 = "sha256-p/lc7G/XFllulXrM47mPE6W5vVuoi4uXB8To36PIgZo=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
 
   buildInputs = [ ncurses ]
-    ++ optional stdenv.isDarwin IOKit
-    ++ optional sensorsSupport lm_sensors
-    ++ optional systemdSupport systemd
+    ++ lib.optional stdenv.isDarwin IOKit
+    ++ lib.optional sensorsSupport lm_sensors
+    ++ lib.optional systemdSupport systemd
   ;
 
   configureFlags = [ "--enable-unicode" "--sysconfdir=/etc" ]
-    ++ optional sensorsSupport "--with-sensors"
+    ++ lib.optional sensorsSupport "--with-sensors"
   ;
 
   postFixup =
     let
-      optionalPatch = pred: so: optionalString pred "patchelf --add-needed ${so} $out/bin/htop";
+      optionalPatch = pred: so: lib.optionalString pred "patchelf --add-needed ${so} $out/bin/htop";
     in
     ''
       ${optionalPatch sensorsSupport "${lm_sensors}/lib/libsensors.so"}
       ${optionalPatch systemdSupport "${systemd}/lib/libsystemd.so"}
     '';
 
-  meta = {
-    description = "An interactive process viewer for Linux";
+  meta = with lib; {
+    description = "An interactive process viewer";
     homepage = "https://htop.dev";
     license = licenses.gpl2Only;
     platforms = platforms.all;
-    maintainers = with maintainers; [ rob relrod ];
-    changelog = "https://github.com/htop-dev/${pname}/blob/${version}/ChangeLog";
+    maintainers = with maintainers; [ rob relrod SuperSandro2000 ];
+    changelog = "https://github.com/htop-dev/htop/blob/${version}/ChangeLog";
   };
 }
diff --git a/pkgs/tools/system/jsvc/default.nix b/pkgs/tools/system/jsvc/default.nix
index 442f8d90419..82631770df1 100644
--- a/pkgs/tools/system/jsvc/default.nix
+++ b/pkgs/tools/system/jsvc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jsvc";
-  version = "1.2.4";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "https://downloads.apache.org//commons/daemon/source/commons-daemon-${version}-src.tar.gz";
-    sha256 = "1nrr6ggy6h20r9zyv14vx6vc9p1w6l8fl9fn6i8dx2hrq6kk2bjw";
+    sha256 = "sha256-UzzXb+MRPVNTE8HYsB/yPK9rq8zGmbGmi0RGk3zER0s=";
   };
 
   buildInputs = [ commonsDaemon ];
diff --git a/pkgs/tools/system/natscli/default.nix b/pkgs/tools/system/natscli/default.nix
index c889bffcf89..949ad31a018 100644
--- a/pkgs/tools/system/natscli/default.nix
+++ b/pkgs/tools/system/natscli/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "natscli";
-  version = "0.0.30";
+  version = "0.0.32";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+WvJWHRQr5wYV9TG5e379trBO2Gwy0/4bAEJNwDun7s=";
+    sha256 = "sha256-/bK7eQaH5VpYm0lfL43DtVxEeoo4z0Ns1ykuA0osPAs=";
   };
 
-  vendorSha256 = "sha256-IHDJp+cjukX916dvffpv4Wit9kmuY101fasN+ChMxWQ=";
+  vendorSha256 = "sha256-qg3fmFBHeKujNQr7WFhkdvMQeR/PCBzqTHHeNsCrrMc=";
 
   meta = with lib; {
     description = "NATS Command Line Interface";
diff --git a/pkgs/tools/system/nq/default.nix b/pkgs/tools/system/nq/default.nix
index 239ac1368ad..133ce941faa 100644
--- a/pkgs/tools/system/nq/default.nix
+++ b/pkgs/tools/system/nq/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "nq";
-  version = "0.4";
+  version = "0.5";
   src = fetchFromGitHub {
     owner = "chneukirchen";
     repo = "nq";
     rev = "v${version}";
-    sha256 = "sha256-UfCeHwOD+tG6X2obW64DYZr6j90yh1Yl7My4ur+sqmk=";
+    sha256 = "sha256-g14t2Wy2GwiqnfEDiLAPGehzUgK6mLC+5PAZynez62s=";
   };
   makeFlags = [ "PREFIX=$(out)" ];
   postPatch = ''
diff --git a/pkgs/tools/system/nvtop/default.nix b/pkgs/tools/system/nvtop/default.nix
index d310c1a7e8f..b25897b6926 100644
--- a/pkgs/tools/system/nvtop/default.nix
+++ b/pkgs/tools/system/nvtop/default.nix
@@ -1,34 +1,62 @@
-{ lib, stdenv, fetchFromGitHub, cmake, cudatoolkit, ncurses, addOpenGLRunpath }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, cudatoolkit
+, libdrm
+, ncurses
+, addOpenGLRunpath
+, amd ? true
+, nvidia ? true
+}:
 
+let
+  pname-suffix = if amd && nvidia then "" else if amd then "-amd" else "-nvidia";
+  nvidia-postFixup = "addOpenGLRunpath $out/bin/nvtop";
+  libPath = lib.makeLibraryPath [ libdrm ncurses ];
+  amd-postFixup = ''
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${libPath}" \
+      $out/bin/nvtop
+  '';
+in
 stdenv.mkDerivation rec {
-  pname = "nvtop";
-  version = "1.2.2";
+  pname = "nvtop" + pname-suffix;
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "Syllo";
     repo = "nvtop";
     rev = version;
-    sha256 = "sha256-B/SRTOMp3VYShjSGxnF1ll58ijddJG7w/7nPK1fMltk=";
+    sha256 = "sha256-4Alc5pBXb38PUhTRhdKZMiW+P3daDB0q3jiVL8qqEe4=";
   };
 
-  cmakeFlags = [
-    "-DNVML_INCLUDE_DIRS=${cudatoolkit}/include"
-    "-DNVML_LIBRARIES=${cudatoolkit}/targets/x86_64-linux/lib/stubs/libnvidia-ml.so"
+  cmakeFlags = with lib; [
     "-DCMAKE_BUILD_TYPE=Release"
-  ];
-
-  nativeBuildInputs = [ cmake addOpenGLRunpath ];
-  buildInputs = [ ncurses cudatoolkit ];
+  ] ++ optional nvidia "-DNVML_INCLUDE_DIRS=${cudatoolkit}/include"
+  ++ optional nvidia "-DNVML_LIBRARIES=${cudatoolkit}/targets/x86_64-linux/lib/stubs/libnvidia-ml.so"
+  ++ optional (!amd) "-DAMDGPU_SUPPORT=OFF"
+  ++ optional (!nvidia) "-DNVIDIA_SUPPORT=OFF"
+  ++ optional amd "-DLibdrm_INCLUDE_DIRS=${libdrm}/lib/stubs/libdrm.so.2"
+  ;
+  nativeBuildInputs = [ cmake] ++ lib.optional nvidia addOpenGLRunpath;
+  buildInputs = with lib; [ ncurses ]
+    ++ optional nvidia cudatoolkit
+    ++ optional amd libdrm
+  ;
 
-  postFixup = ''
-    addOpenGLRunpath $out/bin/nvtop
-  '';
+  # ordering of fixups is important
+  postFixup = (lib.optionalString amd amd-postFixup) + (lib.optionalString nvidia nvidia-postFixup);
 
   meta = with lib; {
-    description = "A (h)top like task monitor for NVIDIA GPUs";
+    description = "A (h)top like task monitor for AMD and NVIDIA GPUs";
+    longDescription = ''
+      Nvtop stands for Neat Videocard TOP, a (h)top like task monitor for AMD and NVIDIA GPUs. It can handle multiple GPUs and print information about them in a htop familiar way.
+  '';
     homepage = "https://github.com/Syllo/nvtop";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ willibutz ];
+    maintainers = with maintainers; [ willibutz gbtb ];
   };
 }
diff --git a/pkgs/tools/system/rocm-smi/default.nix b/pkgs/tools/system/rocm-smi/default.nix
index 1a2530d0a06..2cce74b0534 100644
--- a/pkgs/tools/system/rocm-smi/default.nix
+++ b/pkgs/tools/system/rocm-smi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-smi";
-  version = "5.0.2";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "rocm_smi_lib";
     rev = "rocm-${version}";
-    hash = "sha256-SQ6eBQzZ8CBD9RlIjt25FrOuWUSybBzx6ZzCOzHbxdI=";
+    hash = "sha256-11o4xUyeQ3W/RPY62r8ahwcljKh/rkVSyTk5ruTU66U=";
   };
 
   nativeBuildInputs = [ cmake wrapPython ];
diff --git a/pkgs/tools/system/runitor/default.nix b/pkgs/tools/system/runitor/default.nix
new file mode 100644
index 00000000000..5bb821afdaf
--- /dev/null
+++ b/pkgs/tools/system/runitor/default.nix
@@ -0,0 +1,52 @@
+{ lib, buildGoModule, fetchFromGitHub, testers, runitor }:
+
+buildGoModule rec {
+  pname = "runitor";
+  version = "0.9.2";
+  vendorSha256 = null;
+
+  src = fetchFromGitHub {
+    owner = "bdd";
+    repo = "runitor";
+    rev = "v${version}";
+    sha256 = "sha256-LuCxn4j0MlnJjSh3d18YNzNrtbqtMPxgkZttqKUGJd4";
+  };
+
+  ldflags = [
+    "-s" "-w" "-X main.Version=v${version}"
+  ];
+
+  # TODO(cole-h):
+  # End-to-end tests requiring localhost networking currently under
+  # OfBorg's Linux builders, while passing under Darwin.
+  #
+  # Ref: https://github.com/NixOS/nixpkgs/pull/170566#issuecomment-1114034891
+  #
+  # Temporarily disable tests.
+  doCheck = false;
+
+  passthru.tests.version = testers.testVersion {
+    package = runitor;
+    command = "runitor -version";
+    version = "v${version}";
+  };
+
+  # Unit tests require binding to local addresses for listening sockets.
+  __darwinAllowLocalNetworking = true;
+
+  meta = with lib; {
+    homepage = "https://bdd.fi/x/runitor";
+    description = "A command runner with healthchecks.io integration";
+    longDescription = ''
+      Runitor runs the supplied command, captures its output, and based on its exit
+      code reports successful or failed execution to https://healthchecks.io or your
+      private instance.
+
+      Healthchecks.io is a web service for monitoring periodic tasks. It's like a
+      dead man's switch for your cron jobs. You get alerted if they don't run on time
+      or terminate with a failure.
+    '';
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ bdd ];
+  };
+}
diff --git a/pkgs/tools/system/s-tui/default.nix b/pkgs/tools/system/s-tui/default.nix
index 1152e66bd88..5c759eea8a1 100644
--- a/pkgs/tools/system/s-tui/default.nix
+++ b/pkgs/tools/system/s-tui/default.nix
@@ -3,7 +3,7 @@
 , python3Packages
 , nix-update-script
 , s-tui
-, testVersion
+, testers
 }:
 
 python3Packages.buildPythonPackage rec {
@@ -22,7 +22,7 @@ python3Packages.buildPythonPackage rec {
 
   passthru = {
     updateScript = nix-update-script { attrPath = pname; };
-    tests = testVersion { package = s-tui; };
+    tests = testers.testVersion { package = s-tui; };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/system/s6-rc/default.nix b/pkgs/tools/system/s6-rc/default.nix
index 0144a605e40..5a1a4b0929c 100644
--- a/pkgs/tools/system/s6-rc/default.nix
+++ b/pkgs/tools/system/s6-rc/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6-rc";
-  version = "0.5.3.0";
-  sha256 = "09rznjlz988fk9pff6mxc3dknwh2mibbawr9g62gcscmscmiv8wk";
+  version = "0.5.3.1";
+  sha256 = "sha256-BYxu25KLvihOyUtc1xObrPNEcszF/5YDo65qGNU7PBI=";
 
   description = "A service manager for s6-based systems";
   platforms = lib.platforms.unix;
diff --git a/pkgs/tools/system/s6/default.nix b/pkgs/tools/system/s6/default.nix
index f1215f9934d..eb04e10a31a 100644
--- a/pkgs/tools/system/s6/default.nix
+++ b/pkgs/tools/system/s6/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6";
-  version = "2.11.0.1";
-  sha256 = "02pr4q4cr9wc8i8ad8s6184a6fyndpmpnylgxwhfnkk3hx2j0zxd";
+  version = "2.11.1.0";
+  sha256 = "sha256-rmTcK6II/4DkrEeSzpDdUmtCvxnJZtx9jrmmhw5Lwjo=";
 
   description = "skarnet.org's small & secure supervision software suite";
 
diff --git a/pkgs/tools/text/bashblog/0001-Setting-markdown_bin.patch b/pkgs/tools/text/bashblog/0001-Setting-markdown_bin.patch
new file mode 100644
index 00000000000..7e6c78dd9dc
--- /dev/null
+++ b/pkgs/tools/text/bashblog/0001-Setting-markdown_bin.patch
@@ -0,0 +1,25 @@
+From 1990ac93c9dbf3ada0eb2f045ef1aa95bbef7018 Mon Sep 17 00:00:00 2001
+From: "P. R. d. O" <d.ol.rod@tutanota.com>
+Date: Thu, 21 Apr 2022 07:40:30 -0600
+Subject: [PATCH] Setting markdown_bin
+
+---
+ bb.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bb.sh b/bb.sh
+index 9d8e645..40fb54d 100755
+--- a/bb.sh
++++ b/bb.sh
+@@ -160,7 +160,7 @@ global_variables() {
+ 
+     # Markdown location. Trying to autodetect by default.
+     # The invocation must support the signature 'markdown_bin in.md > out.html'
+-    [[ -f Markdown.pl ]] && markdown_bin=./Markdown.pl || markdown_bin=$(which Markdown.pl 2>/dev/null || which markdown 2>/dev/null)
++    markdown_bin=@markdown_path@
+ }
+ 
+ # Check for the validity of some variables
+-- 
+2.35.1
+
diff --git a/pkgs/tools/text/bashblog/default.nix b/pkgs/tools/text/bashblog/default.nix
new file mode 100644
index 00000000000..2649b564044
--- /dev/null
+++ b/pkgs/tools/text/bashblog/default.nix
@@ -0,0 +1,59 @@
+{ stdenv
+, lib
+, fetchzip
+, fetchFromGitHub
+, makeWrapper
+, substituteAll
+, perlPackages
+# Flags to enable processors
+# Currently, Markdown.pl does not work
+, usePandoc ? true
+, pandoc }:
+
+let
+  inherit (perlPackages) TextMarkdown;
+  # As bashblog supports various markdown processors
+  # we can set flags to enable a certain processor
+  markdownpl_path = "${perlPackages.TextMarkdown}/bin/Markdown.pl";
+  pandoc_path = "${pandoc}/bin/pandoc";
+
+in stdenv.mkDerivation rec {
+  pname = "bashblog";
+  version = "unstable-2022-03-26";
+
+  src = fetchFromGitHub {
+    owner = "cfenollosa";
+    repo = "bashblog";
+    rev = "c3d4cc1d905560ecfefce911c319469f7a7ff8a8";
+    sha256 = "sha256-THlP/JuaZzDq9QctidwLRiUVFxRhGNhRKleWbQiqsgg=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [ TextMarkdown ]
+    ++ lib.optionals usePandoc [ pandoc ];
+
+  patches = [
+    (substituteAll {
+      src = ./0001-Setting-markdown_bin.patch;
+      markdown_path = if usePandoc then pandoc_path else markdownpl_path;
+    })
+  ];
+
+  postPatch = ''
+    patchShebangs bb.sh
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    install -Dm755 bb.sh $out/bin/bashblog
+  '';
+
+  meta = with lib; {
+    description = "A single Bash script to create blogs";
+    homepage = "https://github.com/cfenollosa/bashblog";
+    license = licenses.gpl3Only;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/tools/text/cmigemo/default.nix b/pkgs/tools/text/cmigemo/default.nix
index 92be45bbd9d..8bd60b516fd 100644
--- a/pkgs/tools/text/cmigemo/default.nix
+++ b/pkgs/tools/text/cmigemo/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, fetchurl, buildPackages
-, gzip, libiconv, nkf, perl, which
+, libiconv, nkf, perl, which
 , skk-dicts
 }:
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     sha256 = "0xrblwhaf70m0knkd5584iahaq84rlk0926bhdsrzmakpw77hils";
   };
 
-  nativeBuildInputs = [ gzip libiconv nkf perl which ];
+  nativeBuildInputs = [ libiconv nkf perl which ];
 
   postUnpack = ''
     cp ${skk-dicts}/share/SKK-JISYO.L source/dict/
diff --git a/pkgs/tools/text/crowdin-cli/default.nix b/pkgs/tools/text/crowdin-cli/default.nix
index e73b58d4e6b..6111a6f1c8b 100644
--- a/pkgs/tools/text/crowdin-cli/default.nix
+++ b/pkgs/tools/text/crowdin-cli/default.nix
@@ -8,7 +8,7 @@
 , jre
 , makeWrapper
 , crowdin-cli
-, testVersion
+, testers
 , unzip
 }:
 
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  passthru.tests.version = testVersion { package = crowdin-cli; };
+  passthru.tests.version = testers.testVersion { package = crowdin-cli; };
 
   meta = with lib; {
     mainProgram = "crowdin";
diff --git a/pkgs/tools/text/difftastic/default.nix b/pkgs/tools/text/difftastic/default.nix
index 12ad1a764fb..1c1d6fc6bfa 100644
--- a/pkgs/tools/text/difftastic/default.nix
+++ b/pkgs/tools/text/difftastic/default.nix
@@ -1,19 +1,19 @@
-{ lib, fetchFromGitHub, rustPlatform, tree-sitter, difftastic, testVersion }:
+{ lib, fetchFromGitHub, rustPlatform, tree-sitter, difftastic, testers }:
 
 rustPlatform.buildRustPackage rec {
   pname = "difftastic";
-  version = "0.26.3";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "wilfred";
     repo = pname;
     rev = version;
-    sha256 = "11qvl78dskhawmzjbff2cd4icwvlfhg8hzf1law5w5cr768zv7yn";
+    sha256 = "sha256-jdkyDsuOOG1dJmgRmMp2KhY9ermccjrxK2JAIzpO6nw=";
   };
 
-  cargoSha256 = "1kmwd9m94kl3j6ajfndr7rjx66fsqvnn2jh0m54ac5qd5r9hhdc8";
+  cargoSha256 = "sha256-qHG3ve8HoMWBS/x6mRbXMsrpcqNqfVcbAkfYOk7Su/0=";
 
-  passthru.tests.version = testVersion { package = difftastic; };
+  passthru.tests.version = testers.testVersion { package = difftastic; };
 
   meta = with lib; {
     description = "A syntax-aware diff";
diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix
index cb57fb2bb07..100c2b43907 100644
--- a/pkgs/tools/text/groff/default.nix
+++ b/pkgs/tools/text/groff/default.nix
@@ -5,6 +5,7 @@
 , autoreconfHook
 , pkg-config
 , texinfo
+, bash
 }:
 
 stdenv.mkDerivation rec {
@@ -18,6 +19,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "man" "doc" "info" "perl" ];
 
+  # Parallel build is failing for missing depends. Known upstream as:
+  #   https://savannah.gnu.org/bugs/?62084
   enableParallelBuilding = false;
 
   patches = [
@@ -31,7 +34,11 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  postPatch = lib.optionalString (psutils != null) ''
+  postPatch = ''
+    # BASH_PROG gets replaced with a path to the build bash which doesn't get automatically patched by patchShebangs
+    substituteInPlace contrib/gdiffmk/gdiffmk.sh \
+      --replace "@BASH_PROG@" "/bin/sh"
+  '' + lib.optionalString (psutils != null) ''
     substituteInPlace src/preproc/html/pre-html.cpp \
       --replace "psselect" "${psutils}/bin/psselect"
   '' + lib.optionalString (netpbm != null) ''
@@ -45,7 +52,8 @@ stdenv.mkDerivation rec {
       --replace "@PNMTOPS_NOSETPAGE@" "${lib.getBin netpbm}/bin/pnmtops -nosetpage"
   '';
 
-  buildInputs = [ ghostscript psutils netpbm perl ];
+  strictDeps = true;
+  buildInputs = [ ghostscript psutils netpbm perl bash ];
   nativeBuildInputs = [ autoreconfHook pkg-config texinfo ];
 
   # Builds running without a chroot environment may detect the presence
diff --git a/pkgs/tools/text/gucci/default.nix b/pkgs/tools/text/gucci/default.nix
index c937e6c7ab1..3e87b7cb79c 100644
--- a/pkgs/tools/text/gucci/default.nix
+++ b/pkgs/tools/text/gucci/default.nix
@@ -1,29 +1,31 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, testers, gucci }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "gucci";
-  version = "0.1.0";
-
-  goPackagePath = "github.com/noqcks/gucci";
+  version = "1.5.4";
 
   src = fetchFromGitHub {
     owner = "noqcks";
     repo = "gucci";
-    rev = version;
-    sha256 = "0ksrmzb3iggc7gm51fl0jbb15d0gmpclslpkq2sl2xjzk29pkllq";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-HJPNpLRJPnziSMvxLCiNDeCWO439ELSZs/4Cq1a7Amo=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-rAZCj5xtwTgd9/KDYnQTU1jbabtWJF5MCFgcmixDN/Q=";
+
+  ldflags = [ "-s" "-w" "-X main.AppVersion=${version}" ];
+
+  passthru.tests.version = testers.testVersion {
+    package = gucci;
+  };
 
-  ldflags = [
-    "-X main.AppVersion=${version}"
-  ];
+  checkFlags = [ "-short" ];
 
   meta = with lib; {
     description = "A simple CLI templating tool written in golang";
     homepage = "https://github.com/noqcks/gucci";
     license = licenses.mit;
-    maintainers = [ maintainers.braydenjw ];
+    maintainers = with maintainers; [ braydenjw ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/gucci/deps.nix b/pkgs/tools/text/gucci/deps.nix
deleted file mode 100644
index 8e2cc5af3bf..00000000000
--- a/pkgs/tools/text/gucci/deps.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-[
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183";
-      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
-    };
-  }
-  {
-    goPackagePath = "github.com/imdario/mergo";
-    fetch = {
-      type = "git";
-      url = "https://github.com/imdario/mergo";
-      rev = "v0.3.6";
-      sha256 = "1lbzy8p8wv439sqgf0n21q52flf2wbamp6qa1jkyv6an0nc952q7";
-    };
-  }
-  {
-    goPackagePath = "github.com/urfave/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/urfave/cli";
-      rev = "v1.20.0";
-      sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj";
-    };
-  }
-]
-
diff --git a/pkgs/tools/text/igrep/default.nix b/pkgs/tools/text/igrep/default.nix
index 28c896a828e..bb93574f1ff 100644
--- a/pkgs/tools/text/igrep/default.nix
+++ b/pkgs/tools/text/igrep/default.nix
@@ -3,27 +3,27 @@
 , fetchFromGitHub
 , stdenv
 , Security
-, testVersion
+, testers
 , igrep
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "igrep";
-  version = "0.2.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "konradsz";
     repo = "igrep";
     rev = "v${version}";
-    sha256 = "sha256-CH0wf9EhNnfi93W/4IJf6bPqU4pgw6Q9965Wjln9pso=";
+    sha256 = "sha256-mJtxqwbqofiDuiGokn24qdnck27w7w/3A5mdqZIU88U=";
   };
 
-  cargoSha256 = "sha256-VnZuRLBt/Q+D89+jKm0rak+ID5oNbvN1k8or3pYzfIM=";
+  cargoSha256 = "sha256-ikU4SRLu7PQGbidPmf2W39e3sE8QY8YMU6Q0eWhgvLM=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
   passthru.tests = {
-    version = testVersion { package = igrep; command = "ig --version"; };
+    version = testers.testVersion { package = igrep; command = "ig --version"; };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/text/mdbook-linkcheck/default.nix b/pkgs/tools/text/mdbook-linkcheck/default.nix
index b37b16876b0..eaccd05eb9c 100644
--- a/pkgs/tools/text/mdbook-linkcheck/default.nix
+++ b/pkgs/tools/text/mdbook-linkcheck/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security
-, testVersion, mdbook-linkcheck }:
+, testers, mdbook-linkcheck }:
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-linkcheck";
@@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
 
   doCheck = false; # tries to access network to test broken web link functionality
 
-  passthru.tests.version = testVersion { package = mdbook-linkcheck; };
+  passthru.tests.version = testers.testVersion { package = mdbook-linkcheck; };
 
   meta = with lib; {
     description = "A backend for `mdbook` which will check your links for you.";
diff --git a/pkgs/tools/text/sift/default.nix b/pkgs/tools/text/sift/default.nix
index dc025f17a78..f282c28f8fe 100644
--- a/pkgs/tools/text/sift/default.nix
+++ b/pkgs/tools/text/sift/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub, installShellFiles }:
 
 buildGoPackage rec {
   pname = "sift";
@@ -7,6 +7,8 @@ buildGoPackage rec {
 
   goPackagePath = "github.com/svent/sift";
 
+  nativeBuildInputs = [ installShellFiles ];
+
   src = fetchFromGitHub {
     inherit rev;
     owner = "svent";
@@ -14,12 +16,16 @@ buildGoPackage rec {
     sha256 = "0bgy0jf84z1c3msvb60ffj4axayfchdkf0xjnsbx9kad1v10g7i1";
   };
 
+  postInstall = ''
+    installShellCompletion --cmd sift --bash go/src/github.com/svent/sift/sift-completion.bash
+  '';
+
   goDeps = ./deps.nix;
 
   meta = with lib; {
     description = "A fast and powerful alternative to grep";
     homepage = "https://sift-tool.org";
-    maintainers = [ maintainers.carlsverre ];
+    maintainers = with maintainers; [ carlsverre viraptor ];
     license = licenses.gpl3;
   };
 }
diff --git a/pkgs/tools/text/ugrep/default.nix b/pkgs/tools/text/ugrep/default.nix
index 2511e0c88b2..f3e3d00aeee 100644
--- a/pkgs/tools/text/ugrep/default.nix
+++ b/pkgs/tools/text/ugrep/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ugrep";
-  version = "3.7.7";
+  version = "3.7.9";
 
   src = fetchFromGitHub {
     owner = "Genivia";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-FucHivUd9WVQlTsBJbnSd2Q6WQpoFjm6dS0eb6z8SSs=";
+    sha256 = "sha256-ZY3pihHU5FLu41vKrM/U06iZZ6D/LSuoyy2gHJJqRFY=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
index 5b14a3d2162..dac2cfc0d96 100644
--- a/pkgs/tools/text/vale/default.nix
+++ b/pkgs/tools/text/vale/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "2.15.5";
+  version = "2.16.0";
 
   subPackages = [ "cmd/vale" ];
   outputs = [ "out" "data" ];
@@ -11,10 +11,10 @@ buildGoModule rec {
     owner = "errata-ai";
     repo = "vale";
     rev = "v${version}";
-    sha256 = "sha256-D/HCdYqQCqpgJjEhqAkCf0Dy9lpJUMXeyEemhgGhUco=";
+    sha256 = "sha256-kqyktQxQX4/jBj6vBw1VXRzD5D3wfLwnfi+QKgEqN5A=";
   };
 
-  vendorSha256 = "sha256-5pmocQTTgc6hsHyKFPC/RhKqn3eYjPeiXVNKWjPjWiU=";
+  vendorSha256 = "sha256-EFuzbSVIhsGUJ8a2YoQHOq7BQpOHV43r9VKynR8UZ7k=";
 
   postInstall = ''
     mkdir -p $data/share/vale
@@ -24,7 +24,7 @@ buildGoModule rec {
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
-    homepage = "https://docs.errata.ai/vale/about";
+    homepage = "https://vale.sh/";
     description = "A syntax-aware linter for prose built with speed and extensibility in mind";
     license = licenses.mit;
     maintainers = [ maintainers.marsam ];
diff --git a/pkgs/tools/text/xml/xpf/default.nix b/pkgs/tools/text/xml/xpf/default.nix
deleted file mode 100644
index ce0813c2ef4..00000000000
--- a/pkgs/tools/text/xml/xpf/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{lib, stdenv, fetchurl, python2, libxml2}:
-
-assert libxml2.pythonSupport == true;
-
-stdenv.mkDerivation rec {
-  pname = "xpf";
-  version = "0.2";
-
-  src = fetchurl {
-    url = "http://tarballs.nixos.org/xpf-${version}.tar.gz";
-    sha256 = "0ljx91w68rnh4871c0xlq2whlmhqz8dr39wcdczfjjpniqz1fmpz";
-  };
-
-  buildInputs = [ python2 libxml2 ];
-
-  meta = {
-    description = "XML Pipes and Filters - command line tools for manipulating and querying XML data";
-    homepage = "http://www.cs.uu.nl/wiki/bin/view/Martin/XmlPipesAndFilters";
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/tools/typesetting/mmark/default.nix b/pkgs/tools/typesetting/mmark/default.nix
index bc5ddcc9d75..85f4bfad118 100644
--- a/pkgs/tools/typesetting/mmark/default.nix
+++ b/pkgs/tools/typesetting/mmark/default.nix
@@ -1,24 +1,27 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, testers, mmark }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "mmark";
-  version = "1.3.6";
-  rev = "v${version}";
-
-  goPackagePath = "github.com/miekg/mmark";
+  version = "2.2.25";
 
   src = fetchFromGitHub {
-    inherit rev;
-    owner = "miekg";
+    owner = "mmarkdown";
     repo = "mmark";
-    sha256 = "0q2zrwa2vwk7a0zhmi000zpqrc01zssrj9c5n3573rg68fksg77m";
+    rev = "v${version}";
+    sha256 = "sha256-9XjNTbsB4kh7YpjUnTzSXypw9r4ZyR7GALTrYebRKAg=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-uHphMy9OVnLD6IBqfMTyRlDyyTabzZC4Vn0628P+0F4=";
+
+  ldflags = [ "-s" "-w" ];
+
+  passthru.tests.version = testers.testVersion {
+    package = mmark;
+  };
 
   meta = {
     description = "A powerful markdown processor in Go geared towards the IETF";
-    homepage = "https://github.com/miekg/mmark";
+    homepage = "https://github.com/mmarkdown/mmark";
     license = with lib.licenses; bsd2;
     maintainers = with lib.maintainers; [ yrashk ];
     platforms = lib.platforms.unix;
diff --git a/pkgs/tools/typesetting/mmark/deps.nix b/pkgs/tools/typesetting/mmark/deps.nix
deleted file mode 100644
index 47f964c6a47..00000000000
--- a/pkgs/tools/typesetting/mmark/deps.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/BurntSushi/toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "a368813c5e648fee92e5f6c30e3944ff9d5e8895";
-      sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5";
-    };
-  }
-]
diff --git a/pkgs/tools/typesetting/odpdown/default.nix b/pkgs/tools/typesetting/odpdown/default.nix
deleted file mode 100644
index 27053e36ffa..00000000000
--- a/pkgs/tools/typesetting/odpdown/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, fetchFromGitHub, python2Packages, libreoffice }:
-
-python2Packages.buildPythonApplication rec {
-
-  pname = "odpdown";
-  version = "0.4.1";
-
-  src = fetchFromGitHub {
-    owner = "thorstenb";
-    repo = "odpdown";
-    rev = "v${version}";
-    sha256 = "r2qbgD9PAalbypt+vjp2YcYggUGPQMEG2FDxMtohqG4=";
-  };
-
-  propagatedBuildInputs = with python2Packages; [ libreoffice lpod lxml mistune pillow pygments ];
-
-  checkInputs = with python2Packages; [
-    nose
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/thorstenb/odpdown";
-    description = "Create nice-looking slides from your favourite text editor";
-    longDescription = ''
-      Have a tool like pandoc, latex beamer etc, that you can write (or
-      auto-generate) input for within your favourite hacker's editor, and
-      generate nice-looking slides from. Using your corporation's mandatory,
-      CI-compliant and lovely-artsy Impress template. Including
-      syntax-highlighted code snippets of your latest hack, auto-fitted into the
-      slides.
-    '';
-    license = licenses.bsd3;
-    platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ vandenoever ];
-  };
-}
diff --git a/pkgs/tools/typesetting/tectonic/default.nix b/pkgs/tools/typesetting/tectonic/default.nix
index 4b4ec194a97..ecab3c4a8fa 100644
--- a/pkgs/tools/typesetting/tectonic/default.nix
+++ b/pkgs/tools/typesetting/tectonic/default.nix
@@ -9,25 +9,26 @@
 , pkg-config
 , makeWrapper
 , biber
+, icu
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "tectonic";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "tectonic-typesetting";
     repo = "tectonic";
     rev = "tectonic@${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-Xw/Rs30mH81b8qqdpmbXjSSYIG08wwRvykzhPpF94uk=";
+    sha256 = "mfIEfue64kG4NmIEdTPRAqt6y22XfcgH6GtvJxuH6TU=";
   };
 
-  cargoSha256 = "sha256-JzYCxsaBuQ5I+FgHVRQPNM32bJlE4H9Fd+48/jXDcr0=";
+  cargoSha256 = "CH1FdZ7cPrE0V0yjauOjDKrRNioC3MjtcnZaOTkMptc=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
-  buildInputs = [ fontconfig harfbuzz openssl ]
+  buildInputs = [ icu fontconfig harfbuzz openssl ]
     ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices Cocoa Foundation ]);
 
   # Tectonic runs biber when it detects it needs to run it, see:
@@ -51,6 +52,6 @@ rustPlatform.buildRustPackage rec {
     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.doronbehar ];
+    maintainers = with maintainers; [ lluchs doronbehar ];
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/combine.nix b/pkgs/tools/typesetting/tex/texlive/combine.nix
index d4c9d0cde80..8686502a134 100644
--- a/pkgs/tools/typesetting/tex/texlive/combine.nix
+++ b/pkgs/tools/typesetting/tex/texlive/combine.nix
@@ -225,7 +225,7 @@ in (buildEnv {
 
     perl `type -P mktexlsr.pl` --sort ./share/texmf
     ${bin.texlinks}/bin/texlinks "$out/bin" && wrapBin
-    perl `type -P fmtutil.pl` --sys --all | grep '^fmtutil' # too verbose
+    FORCE_SOURCE_DATE=1 perl `type -P fmtutil.pl` --sys --all | grep '^fmtutil' # too verbose
     #${bin.texlinks}/bin/texlinks "$out/bin" && wrapBin # do we need to regenerate format links?
 
     # Disable unavailable map files
@@ -233,6 +233,9 @@ in (buildEnv {
     # Regenerate the map files (this is optional)
     perl `type -P updmap.pl` --sys --force
 
+    # sort entries to improve reproducibility
+    [[ -f "$TEXMFSYSCONFIG"/web2c/updmap.cfg ]] && sort -o "$TEXMFSYSCONFIG"/web2c/updmap.cfg "$TEXMFSYSCONFIG"/web2c/updmap.cfg
+
     perl `type -P mktexlsr.pl` --sort ./share/texmf-* # to make sure
   '' +
     # install (wrappers for) scripts, based on a list from upstream texlive
@@ -299,7 +302,12 @@ in (buildEnv {
       )
     fi
   ''
-    + bin.cleanBrokenLinks
+    + bin.cleanBrokenLinks +
+  # Get rid of all log files. They are not needed, but take up space
+  # and render the build unreproducible by their embedded timestamps.
+  ''
+    find $TEXMFSYSVAR/web2c -name '*.log' -delete
+  ''
   ;
 }).overrideAttrs (_: { allowSubstitutes = true; })
 # TODO: make TeX fonts visible by fontconfig: it should be enough to install an appropriate file
diff --git a/pkgs/tools/virtualization/lxd-image-server/default.nix b/pkgs/tools/virtualization/lxd-image-server/default.nix
index 3a1d32247a4..aeb6ac33693 100644
--- a/pkgs/tools/virtualization/lxd-image-server/default.nix
+++ b/pkgs/tools/virtualization/lxd-image-server/default.nix
@@ -3,6 +3,7 @@
 , rsync
 , python3
 , fetchFromGitHub
+, nixosTests
 }:
 
 python3.pkgs.buildPythonApplication rec {
@@ -37,6 +38,8 @@ python3.pkgs.buildPythonApplication rec {
 
   doCheck = false;
 
+  passthru.tests.lxd-image-server = nixosTests.lxd-image-server;
+
   meta = with lib; {
     description = "Creates and manages a simplestreams lxd image server on top of nginx";
     homepage = "https://github.com/Avature/lxd-image-server";
diff --git a/pkgs/tools/virtualization/marathonctl/default.nix b/pkgs/tools/virtualization/marathonctl/default.nix
index fe31c64952a..12111819c26 100644
--- a/pkgs/tools/virtualization/marathonctl/default.nix
+++ b/pkgs/tools/virtualization/marathonctl/default.nix
@@ -1,20 +1,20 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage {
-  pname = "marathonctl-unstable";
-  version = "2017-03-06";
-
-  goPackagePath = "github.com/shoenig/marathonctl";
-  subPackages = [ "." ];
-  goDeps = ./deps.nix;
+buildGoModule rec {
+  pname = "marathonctl";
+  version = "0.0.7";
 
   src = fetchFromGitHub {
     owner = "shoenig";
     repo = "marathonctl";
-    rev = "0867e66551fff5d81f25959baf914a8ee11a3a8b";
-    sha256 = "1fcc54hwpa8s3kz4gn26mc6nrv6zjrw869331nvm47khi23gpmxw";
+    rev = "v${version}";
+    sha256 = "sha256-MigmvOwYa0uYPexchS4MP74I1Tp6QHYuQVSOh1+FrMg=";
   };
 
+  vendorSha256 = "sha256-Oiol4KuPOyJq2Bfc5div+enX4kQqYn20itmwWBecuIg=";
+
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     homepage = "https://github.com/shoenig/marathonctl";
     description = "CLI tool for Marathon";
diff --git a/pkgs/tools/virtualization/marathonctl/deps.nix b/pkgs/tools/virtualization/marathonctl/deps.nix
deleted file mode 100644
index 39efaab9535..00000000000
--- a/pkgs/tools/virtualization/marathonctl/deps.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file was generated by go2nix.
-[
-  {
-    goPackagePath = "github.com/shoenig/config";
-    fetch = {
-      type = "git";
-      url = "https://github.com/shoenig/config";
-      rev = "7d793e7ad7f175ef22743b1ea38acee8267788db";
-      sha256 = "1dhcv1j5xk30kj73dfnx3xqx8mcvk9r8ywp9khgf2kq6wh9sm1qr";
-    };
-  }
-]
diff --git a/pkgs/tools/virtualization/nixos-container/default.nix b/pkgs/tools/virtualization/nixos-container/default.nix
index 17065a2aa8b..be17753b343 100644
--- a/pkgs/tools/virtualization/nixos-container/default.nix
+++ b/pkgs/tools/virtualization/nixos-container/default.nix
@@ -1,4 +1,11 @@
-{ substituteAll, perl, shadow, util-linux }:
+{ substituteAll
+, perl
+, shadow
+, util-linux
+, configurationDirectory ? "/etc/nixos-containers"
+, stateDirectory ? "/var/lib/nixos-containers"
+, nixosTests
+}:
 
 substituteAll {
     name = "nixos-container";
@@ -9,6 +16,19 @@ substituteAll {
     su = "${shadow.su}/bin/su";
     utillinux = util-linux;
 
+    inherit configurationDirectory stateDirectory;
+
+    passthru = {
+      tests = {
+        inherit (nixosTests)
+          containers-imperative
+          containers-ip
+          containers-tmpfs
+          containers-ephemeral
+          ;
+      };
+    };
+
     postInstall = ''
       t=$out/share/bash-completion/completions
       mkdir -p $t
diff --git a/pkgs/tools/virtualization/nixos-container/nixos-container.pl b/pkgs/tools/virtualization/nixos-container/nixos-container.pl
index d99b4cfba4a..38f4c8d3169 100755
--- a/pkgs/tools/virtualization/nixos-container/nixos-container.pl
+++ b/pkgs/tools/virtualization/nixos-container/nixos-container.pl
@@ -12,6 +12,9 @@ use Time::HiRes;
 my $nsenter = "@utillinux@/bin/nsenter";
 my $su = "@su@";
 
+my $configurationDirectory = "@configurationDirectory@";
+my $stateDirectory = "@stateDirectory@";
+
 # Ensure a consistent umask.
 umask 0022;
 
@@ -132,11 +135,17 @@ if (defined $flake && $flake =~ /^(.*)#([^#"]+)$/) {
 
 # Execute the selected action.
 
-mkpath("/etc/containers", 0, 0755);
-mkpath("/var/lib/containers", 0, 0700);
+mkpath("$configurationDirectory", 0, 0755);
+mkpath("$stateDirectory", 0, 0700);
+
 
 if ($action eq "list") {
-    foreach my $confFile (glob "/etc/containers/*.conf") {
+    foreach my $confFile (glob "$configurationDirectory/*.conf") {
+        # Filter libpod configuration files
+        # From 22.05 and onwards this is not an issue any more as directories dont clash
+        if($confFile eq "/etc/containers/libpod.conf" || $confFile eq "/etc/containers/containers.conf" || $confFile eq "/etc/containers/registries.conf") {
+            next
+        }
         $confFile =~ /\/([^\/]+).conf$/ or next;
         print "$1\n";
     }
@@ -198,15 +207,15 @@ if ($action eq "create") {
     open(my $lock, '>>', $lockFN) or die "$0: opening $lockFN: $!";
     flock($lock, LOCK_EX) or die "$0: could not lock $lockFN: $!";
 
-    my $confFile = "/etc/containers/$containerName.conf";
-    my $root = "/var/lib/containers/$containerName";
+    my $confFile = "$configurationDirectory/$containerName.conf";
+    my $root = "$stateDirectory/$containerName";
 
     # Maybe generate a unique name.
     if ($ensureUniqueName) {
         my $base = $containerName;
         for (my $nr = 0; ; $nr++) {
-            $confFile = "/etc/containers/$containerName.conf";
-            $root = "/var/lib/containers/$containerName";
+            $confFile = "$configurationDirectory/$containerName.conf";
+            $root = "$stateDirectory/$containerName";
             last unless -e $confFile || -e $root;
             $containerName = "$base-$nr";
         }
@@ -220,7 +229,12 @@ if ($action eq "create") {
 
     # Get an unused IP address.
     my %usedIPs;
-    foreach my $confFile2 (glob "/etc/containers/*.conf") {
+    foreach my $confFile2 (glob "$configurationDirectory/*.conf") {
+        # Filter libpod configuration files
+        # From 22.05 and onwards this is not an issue any more as directories dont clash
+        if($confFile2 eq "/etc/containers/libpod.conf" || $confFile2 eq "/etc/containers/containers.conf" || $confFile2 eq "/etc/containers/registries.conf") {
+            next
+        }
         my $s = read_file($confFile2) or die;
         $usedIPs{$1} = 1 if $s =~ /^HOST_ADDRESS=([0-9\.]+)$/m;
         $usedIPs{$1} = 1 if $s =~ /^LOCAL_ADDRESS=([0-9\.]+)$/m;
@@ -292,10 +306,10 @@ if ($action eq "create") {
     exit 0;
 }
 
-my $root = "/var/lib/containers/$containerName";
+my $root = "$stateDirectory/$containerName";
 my $profileDir = "/nix/var/nix/profiles/per-container/$containerName";
 my $gcRootsDir = "/nix/var/nix/gcroots/per-container/$containerName";
-my $confFile = "/etc/containers/$containerName.conf";
+my $confFile = "$configurationDirectory/$containerName.conf";
 if (!-e $confFile) {
     if ($action eq "destroy") {
         exit 0;
diff --git a/pkgs/tools/wayland/swaysome/default.nix b/pkgs/tools/wayland/swaysome/default.nix
index 65c0f3af65c..2159322a587 100644
--- a/pkgs/tools/wayland/swaysome/default.nix
+++ b/pkgs/tools/wayland/swaysome/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "swaysome";
-  version = "1.1.2";
+  version = "1.1.4";
 
   src = fetchFromGitLab {
     owner = "hyask";
     repo = pname;
     rev = version;
-    sha256 = "sha256-eX2Pzn5It4yf94ZWH/7yAJjwpayVYvpvbrvk7qvbimg=";
+    sha256 = "sha256-hI6XPND05m67dxo9EwIDhFTyC2UrL4Ll1V/WcBoJymU=";
   };
 
-  cargoSha256 = "sha256-WXjmXwqeWnQVyFs51t81kHHMMn9HQQjBRw1g1cU+6/M=";
+  cargoSha256 = "sha256-jG6HZiL2almALyEnQRmbeCTRG11URP3+Bxqyn8hLs7w=";
 
   meta = with lib; {
     description = "Helper to make sway behave more like awesomewm";
diff --git a/pkgs/tools/wayland/swaytools/default.nix b/pkgs/tools/wayland/swaytools/default.nix
index 4c254c9a593..e4584436c4e 100644
--- a/pkgs/tools/wayland/swaytools/default.nix
+++ b/pkgs/tools/wayland/swaytools/default.nix
@@ -1,18 +1,18 @@
-{ lib, python3Packages, slurp }:
+{ lib, buildPythonApplication, fetchFromGitHub, slurp }:
 
-python3Packages.buildPythonApplication rec {
+buildPythonApplication rec {
   pname = "swaytools";
-  version = "0.1.0";
+  version = "0.1.1";
 
-  src = python3Packages.fetchPypi {
-    inherit pname version;
-    sha256 = "1eb89259cbe027a0fa6bfc06ecf94e89b15e6f7b4965104e5b661c916ce7408c";
+  src = fetchFromGitHub {
+    owner = "tmccombs";
+    repo = "swaytools";
+    rev = version;
+    sha256 = "sha256-6Ec7MPqBia0PW+pBTAItLusWMg1wlFfEaxoh20/2uHg=";
   };
 
   propagatedBuildInputs = [ slurp ];
 
-  passthru.updateScript = ./update.py;
-
   meta = with lib; {
     homepage = "https://github.com/tmccombs/swaytools";
     description = "Collection of simple tools for sway (and i3)";
diff --git a/pkgs/tools/wayland/swaytools/update.py b/pkgs/tools/wayland/swaytools/update.py
deleted file mode 100755
index 141566848e3..00000000000
--- a/pkgs/tools/wayland/swaytools/update.py
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i python -p python39Packages.requests python39Packages.pip python39Packages.packaging
-
-import requests
-import json
-import subprocess
-try:
-    from packaging.version import parse
-except ImportError:
-    from pip._vendor.packaging.version import parse
-
-
-URL_PATTERN = 'https://pypi.python.org/pypi/{package}/json'
-
-def findLine(key,derivation):
-    count = 0
-    lines = []
-    for line in derivation:
-        if key in line:
-            lines.append(count)
-        count += 1
-    return lines
-
-def get_version(package, url_pattern=URL_PATTERN):
-    """Return version of package on pypi.python.org using json."""
-    req = requests.get(url_pattern.format(package=package))
-    version = parse('0')
-    if req.status_code == requests.codes.ok:
-        j = json.loads(req.text.encode(req.encoding))
-        releases = j.get('releases', [])
-        for release in releases:
-            ver = parse(release)
-            if not ver.is_prerelease:
-                if ver > version:
-                    version = ver
-                    sha256  = j["releases"][release][-1]["digests"]["sha256"]
-    return version, sha256
-
-
-if __name__ == '__main__':
-
-    nixpkgs         = subprocess.check_output(["git", "rev-parse", "--show-toplevel"]).decode("utf-8").strip('\n')
-    swaytoolsFolder = "/pkgs/tools/wayland/swaytools/"
-    with open(nixpkgs + swaytoolsFolder + "default.nix", 'r') as arq:
-        derivation = arq.readlines()
-
-    version, sha256 = get_version('swaytools')
-
-    key = "version = "
-    line = findLine(key,derivation)[0]
-    derivation[line] = f'  version = "{version}";\n'
-
-    key = "sha256 = "
-    line = findLine(key,derivation)[0]
-    derivation[line] = f'    sha256 = "{sha256}";\n'
-
-    with open(nixpkgs + swaytoolsFolder + "default.nix", 'w') as arq:
-        arq.writelines(derivation)
diff --git a/pkgs/tools/wayland/wl-clipboard-x11/default.nix b/pkgs/tools/wayland/wl-clipboard-x11/default.nix
index 5e87342dff8..b5d15b4a978 100644
--- a/pkgs/tools/wayland/wl-clipboard-x11/default.nix
+++ b/pkgs/tools/wayland/wl-clipboard-x11/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     description = "A wrapper to use wl-clipboard as a drop-in replacement for X11 clipboard tools";
     homepage = "https://github.com/brunelli/wl-clipboard-x11";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ samuelgrf ];
+    maintainers = with maintainers; [ artturin ];
     mainProgram = "xclip";
   };
 }
diff --git a/pkgs/tools/wayland/wlr-randr/default.nix b/pkgs/tools/wayland/wlr-randr/default.nix
index e2c941998a9..fe140720973 100644
--- a/pkgs/tools/wayland/wlr-randr/default.nix
+++ b/pkgs/tools/wayland/wlr-randr/default.nix
@@ -5,6 +5,7 @@
 , ninja
 , pkg-config
 , wayland
+, wayland-scanner
 }:
 
 stdenv.mkDerivation rec {
@@ -18,7 +19,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-JeSxFXSFxcTwJz9EaLb18wtD4ZIT+ATeYM5OyDTJhDQ=";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config ];
+  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
   buildInputs = [ wayland ];
 
   meta = with lib; {
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index db330743e50..d0c8cee8e24 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -74,6 +74,9 @@ mapAliases ({
   amuleGui = throw "amuleGui was renamed to amule-gui"; # Added 2022-02-11
   amsn = throw "amsn has been removed due to being unmaintained"; # Added 2020-12-09
   angelfish = libsForQt5.plasmaMobileGear.angelfish; # Added 2021-10-06
+  ansible_2_11 = throw "Ansible 2.11 goes end of life in 2022/11 and can't be supported throughout the 22.05 release cycle"; # Added 2022-03-30
+  ansible_2_10 = throw "Ansible 2.10 went end of life in 2022/05 and has subsequently been dropped"; # Added 2022-03-30
+  ansible_2_9 = throw "Ansible 2.9 went end of life in 2022/05 and has subsequently been dropped"; # Added 2022-03-30
   antimicro = throw "antimicro has been removed as it was broken, see antimicrox instead"; # Added 2020-08-06
   antimicroX = antimicrox; # Added 2021-10-31
   ardour_5 = throw "ardour_5 has been removed. see https://github.com/NixOS/nixpkgs/issues/139549"; # Added 2021-09-28
@@ -89,6 +92,7 @@ mapAliases ({
   aucdtect = throw "aucdtect: Upstream no longer provides download urls"; # Added 2020-12-26
   avldrums-lv2 = x42-avldrums; # Added 2020-03-29
   avxsynth = throw "avxsynth was removed because it was broken"; # Added 2021-05-18
+  awesome-4-0 = awesome; # Added 2022-05-05
   aws-okta = throw "aws-okta is on indefinite hiatus. See https://github.com/segmentio/aws-okta/issues/278"; # Added 2022-04-05;
   azureus = throw "azureus is now known as vuze and the version in nixpkgs was really outdated"; # Added 2021-08-02
 
@@ -141,7 +145,9 @@ mapAliases ({
 
   ### C ###
 
+  c14 = throw "c14 is deprecated and archived by upstream"; # Added 2022-04-10
   caddy1 = throw "caddy 1.x has been removed from nixpkgs, as it's unmaintained: https://github.com/caddyserver/caddy/blob/master/.github/SECURITY.md#supported-versions"; # Added 2020-10-02
+  caffe2 = throw "caffe2 has been removed: subsumed under the PyTorch project"; # Added 2022-04-25
   calibre-py2 = throw "calibre-py2 has been removed from nixpkgs, as calibre has upgraded to python 3. Please use calibre as replacement"; # Added 2021-01-13
   calibre-py3 = throw "calibre-py3 has been removed from nixpkgs, as calibre's default python version is now 3. Please use calibre as replacement"; # Added 2021-01-13
   callPackage_i686 = pkgsi686Linux.callPackage;
@@ -175,6 +181,7 @@ mapAliases ({
   claws-mail-gtk2 = throw "claws-mail-gtk2 was removed to get rid of Python 2, please use claws-mail"; # Added 2021-12-05
   claws-mail-gtk3 = claws-mail; # Added 2021-07-10
   clawsMail = throw "'clawsMail' has been renamed to/replaced by 'claws-mail'"; # Converted to throw 2022-02-22
+  cldr-emoji-annotation = throw "'cldr-emoji-annotation' has been removed, as it was unmaintained; use 'cldr-annotations' instead"; # Added 2022-04-03
   clearsilver = throw "clearsilver has been removed: abandoned by upstream"; # Added 2022-03-15
   clutter_gtk = throw "'clutter_gtk' has been renamed to/replaced by 'clutter-gtk'"; # Converted to throw 2022-02-22
   cmakeWithQt4Gui = throw "cmakeWithQt4Gui has been removed in favor of cmakeWithGui (Qt 5)"; # Added 2021-05
@@ -319,6 +326,7 @@ mapAliases ({
   double_conversion = throw "'double_conversion' has been renamed to/replaced by 'double-conversion'"; # Converted to throw 2022-02-22
   dragon-drop = throw "'dragon-drop' has been removed in favor of 'xdragon'"; # Added 2022-04-10;
   draftsight = throw "draftsight has been removed, no longer available as freeware"; # Added 2020-08-14
+  dust = throw "dust has been removed: abandoned by upstream"; # Added 2022-04-21
   dvb_apps = throw "dvb_apps has been removed"; # Added 2020-11-03
   dwarf_fortress = throw "'dwarf_fortress' has been renamed to/replaced by 'dwarf-fortress'"; # Converted to throw 2022-02-22
   dwm-git = throw "dwm-git has been removed from nixpkgs, as it had no updates for 2 years not serving it's purpose"; # Added 2021-02-07
@@ -448,6 +456,7 @@ mapAliases ({
   gmic_krita_qt = gmic-qt-krita; # Added 2019-09-07
   gmvault = throw "gmvault has been removed because it is unmaintained, mostly broken, and insecure"; # Added 2021-03-08
   gnash = throw "gnash has been removed; broken and abandoned upstream"; # added 2022-02-06
+  gnome-breeze = throw "gnome-breeze has been removed, use libsForQt5.breeze-gtk instead"; # Added 2022-04-22
   gnome-firmware-updater = gnome-firmware; # added 2022-04-14
   gnome-passwordsafe = gnome-secrets; # added 2022-01-30
   gnome-mpv = celluloid; # Added 2019-08-22
@@ -646,6 +655,7 @@ mapAliases ({
   libgroove = throw "libgroove has been removed, because it depends on an outdated and insecure version of ffmpeg"; # Added 2022-01-21
   libgumbo = throw "'libgumbo' has been renamed to/replaced by 'gumbo'"; # Converted to throw 2022-02-22
   libintlOrEmpty = lib.optional (!stdenv.isLinux || stdenv.hostPlatform.libc != "glibc") gettext; # Added 2018-03-14
+  libixp_hg = libixp;
   libjpeg_drop = libjpeg_original; # Added 2020-06-05
   libjson_rpc_cpp = throw "'libjson_rpc_cpp' has been renamed to/replaced by 'libjson-rpc-cpp'"; # Converted to throw 2022-02-22
   libkml = throw "libkml has been removed from nixpkgs, as it's abandoned and no package needed it"; # Added 2021-11-09
@@ -655,6 +665,7 @@ mapAliases ({
   libmsgpack = throw "'libmsgpack' has been renamed to/replaced by 'msgpack'"; # Converted to throw 2022-02-22
   libosmpbf = throw "libosmpbf was removed because it is no longer required by osrm-backend";
   libpng_apng = throw "libpng_apng has been removed, because it is equivalent to libpng"; # Added 2021-03-21
+  libpulseaudio-vanilla = libpulseaudio; # Added 2022-04-20
   libqmatrixclient = throw "libqmatrixclient was renamed to libquotient"; # Added 2020-04-09
   libqrencode = throw "'libqrencode' has been renamed to/replaced by 'qrencode'"; # Converted to throw 2022-02-22
   librdf = lrdf; # Added 2020-03-22
@@ -677,6 +688,7 @@ mapAliases ({
   libva-full = throw "'libva-full' has been renamed to/replaced by 'libva'"; # Converted to throw 2022-02-22
   libva1-full = throw "'libva1-full' has been renamed to/replaced by 'libva1'"; # Converted to throw 2022-02-22
   libwnck3 = libwnck;
+  lighthouse = throw "lighthouse has been removed: abandoned by upstream"; # Added 2022-04-24
   lilypond-unstable = lilypond; # Added 2021-03-11
   lilyterm = throw "lilyterm has been removed from nixpkgs, because it was relying on a vte version that depended on python2"; # Added 2022-01-14
   lilyterm-git = throw "lilyterm-git has been removed from nixpkgs, because it was relying on a vte version that depended on python2"; # Added 2022-01-14
@@ -861,22 +873,26 @@ mapAliases ({
   nix_2_6 = nixVersions.nix_2_6;
   nixopsUnstable = nixops_unstable; # Added 2022-03-03
   nmap-unfree = nmap; # Added 2021-04-06
-  nmap_graphical = throw "'nmap_graphical' has been renamed to/replaced by 'nmap-graphical'"; # Converted to throw 2022-02-22
+  nmap-graphical = throw "nmap graphical support has been removed due to its python2 dependency"; # Added 2022-04-26
+  nmap_graphical = throw "nmap graphical support has been removed due to its python2 dependency"; # Modified 2022-04-26
   nologin = throw "'nologin' has been renamed to/replaced by 'shadow'"; # Converted to throw 2022-02-22
   nordic-polar = throw "nordic-polar was removed on 2021-05-27, now integrated in nordic"; # Added 2021-05-27
   noto-fonts-cjk = noto-fonts-cjk-sans; # Added 2021-12-16
   nottetris2 = throw "nottetris2 was removed because it is unmaintained by upstream and broken"; # Added 2022-01-15
   now-cli = throw "now-cli has been replaced with nodePackages.vercel"; # Added 2021-08-05
+  ntdb = throw "ntdb has been removed: abandoned by upstream"; # Added 2022-04-21
   nxproxy = throw "'nxproxy' has been renamed to/replaced by 'nx-libs'"; # Converted to throw 2022-02-22
 
   ### O ###
 
+  oathToolkit = oath-toolkit; # Added 2022-04-04
   oracleXE = throw "oracleXE has been removed, as it's heavily outdated and unmaintained"; # Added 2020-10-09
   OVMF-CSM = throw "OVMF-CSM has been removed in favor of OVMFFull"; # Added 2021-10-16
   OVMF-secureBoot = throw "OVMF-secureBoot has been removed in favor of OVMFFull"; # Added 2021-10-16
   oauth2_proxy = oauth2-proxy; # Added 2021-04-18
   octoprint-plugins = throw "octoprint-plugins are now part of the octoprint.python.pkgs package set"; # Added 2021-01-24
   ocz-ssd-guru = throw "ocz-ssd-guru has been removed due to there being no source available"; # Added 2021-07-12
+  odpdown = throw "odpdown has been removed because it lacks python3 support"; # Added 2022-04-25
   ofp = throw "ofp is not compatible with odp-dpdk";
   olifant = throw "olifant has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-05
   onnxruntime = throw "onnxruntime has been removed due to poor maintainability"; # Added 2020-12-04
@@ -910,6 +926,7 @@ mapAliases ({
   paperless-ng = paperless-ngx; # Added 2022-04-11
   parity = openethereum; # Added 2020-08-01
   parity-ui = throw "parity-ui was removed because it was broken and unmaintained by upstream"; # Added 2022-01-10
+  parlatype = throw "parlatype has been removed: unmaintained"; # Added 2022-04-24
   parquet-cpp = throw "'parquet-cpp' has been renamed to/replaced by 'arrow-cpp'"; # Converted to throw 2022-02-22
   patchmatrix = throw "'patchmatrix' has been renamed to/replaced by 'open-music-kontrollers.patchmatrix'"; # Added 2022-03-09
   pass-otp = throw "'pass-otp' has been renamed to/replaced by 'pass.withExtensions'"; # Converted to throw 2022-02-22
@@ -924,8 +941,8 @@ mapAliases ({
   pgadmin3 = throw "pgadmin3 was removed for being unmaintained, use pgadmin4 instead."; # Added 2022-03-30
   pgp-tools = throw "'pgp-tools' has been renamed to/replaced by 'signing-party'"; # Converted to throw 2022-02-22
   pg_tmp = throw "'pg_tmp' has been renamed to/replaced by 'ephemeralpg'"; # Converted to throw 2022-02-22
-
   phantomjs = throw "phantomjs 1.9.8 has been dropped due to lack of maintenance and security issues"; # Added 2022-02-20
+  philter = throw "philter has been removed: abandoned by upstream"; # Added 2022-04-26
 
   # Obsolete PHP version aliases
   php73 = throw "php73 has been dropped due to the lack of maintanence from upstream for future releases"; # Added 2021-06-03
@@ -989,6 +1006,7 @@ mapAliases ({
   pifi = throw "pifi has been removed from nixpkgs, as it is no longer developed"; # Added 2022-01-19
   ping = throw "'ping' does not build with recent valac and has been removed. If you are just looking for the 'ping' command use either 'iputils' or 'inetutils'"; # Added 2022-04-18
   piwik = throw "'piwik' has been renamed to/replaced by 'matomo'"; # Converted to throw 2022-02-22
+  pixie = throw "pixie has been removed: abandoned by upstream"; # Added 2022-04-21
   pkgconfig = pkg-config; # Added 2018-02-02, moved to aliases.nix 2021-01-18
   pkgconfigUpstream = throw "'pkgconfigUpstream' has been renamed to/replaced by 'pkg-configUpstream'"; # Converted to throw 2022-02-22
   planner = throw "planner has been removed from nixpkgs, as it is no longer developed and still uses python2/PyGTK"; # Added 2021-02-02
@@ -996,6 +1014,7 @@ mapAliases ({
   plexpy = throw "'plexpy' has been renamed to/replaced by 'tautulli'"; # Converted to throw 2022-02-22
   pltScheme = racket; # just to be sure
   pmtools = throw "'pmtools' has been renamed to/replaced by 'acpica-tools'"; # Converted to throw 2022-02-22
+  pocketsphinx = throw "pocketsphinx has been removed: unmaintained"; # Added 2022-04-24
   polarssl = throw "'polarssl' has been renamed to/replaced by 'mbedtls'"; # Converted to throw 2022-02-22
   polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01
   poppler_qt5 = throw "'poppler_qt5' has been renamed to/replaced by 'libsForQt5.poppler'"; # Converted to throw 2022-02-22
@@ -1029,6 +1048,7 @@ mapAliases ({
   pinentry_gtk2 = pinentry-gtk2; # Added 2019-10-14
   pinentry_qt = pinentry-qt; # Added 2019-10-14
   pinentry_qt5 = pinentry-qt; # Added 2020-02-11
+  prboom = throw "prboom was removed because it was abandoned by upstream, use prboom-plus instead"; # Added 2022-04-24
   privateer = throw "privateer was removed because it was broken"; # Added 2021-05-18
   processing3 = processing; # Added 2019-08-16
   procps-ng = throw "'procps-ng' has been renamed to/replaced by 'procps'"; # Converted to throw 2022-02-22
@@ -1042,6 +1062,7 @@ mapAliases ({
   pulseaudioLight = throw "'pulseaudioLight' has been renamed to/replaced by 'pulseaudio'"; # Converted to throw 2022-02-22
   pulseeffects = throw "Use pulseeffects-legacy if you use PulseAudio and easyeffects if you use PipeWire"; # Added 2021-02-13
   pulseeffects-pw = easyeffects; # Added 2021-07-07
+  pydb = throw "pydb has been removed: abandoned by upstream"; # Added 2022-04-22
   pyIRCt = throw "pyIRCt has been removed from nixpkgs as it is unmaintained and python2-only";
   pyMAILt = throw "pyMAILt has been removed from nixpkgs as it is unmaintained and python2-only";
   pybind11 = throw "pybind11 was removed because pythonPackages.pybind11 for the appropriate version of Python should be used"; # Added 2021-05-14
@@ -1167,6 +1188,7 @@ mapAliases ({
   slurm-llnl-full = slurm-full; # renamed July 2017
   smbclient = throw "'smbclient' has been renamed to/replaced by 'samba'"; # Converted to throw 2022-02-22
   smugline = throw "smugline has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries"; # Added 2020-11-04
+  snack = throw "snack has been removed: broken for 5+ years"; # Added 2022-04-21
   solr_8 = solr; # Added 2021-01-30
 
   # Added 2020-02-10
@@ -1194,7 +1216,9 @@ mapAliases ({
   spaceOrbit = throw "'spaceOrbit' has been renamed to/replaced by 'space-orbit'"; # Converted to throw 2022-02-22
   spectral = neochat; # Added 2020-12-27
   speech_tools = throw "'speech_tools' has been renamed to/replaced by 'speech-tools'"; # Converted to throw 2022-02-22
+  speedometer = throw "speedometer has been removed: abandoned by upstream"; # Added 2022-04-24
   speedtest_cli = throw "'speedtest_cli' has been renamed to/replaced by 'speedtest-cli'"; # Converted to throw 2022-02-22
+  sphinxbase = throw "sphinxbase has been removed: unmaintained"; # Added 2022-04-24
   spice_gtk = throw "'spice_gtk' has been renamed to/replaced by 'spice-gtk'"; # Converted to throw 2022-02-22
   spice_protocol = throw "'spice_protocol' has been renamed to/replaced by 'spice-protocol'"; # Converted to throw 2022-02-22
   spidermonkey_1_8_5 = throw "spidermonkey_1_8_5 has been removed, because it is based on Firefox 4.0 from 2011"; # added 2021-05-03
@@ -1212,11 +1236,11 @@ mapAliases ({
   stanchion = throw "Stanchion was part of riak-cs which is not maintained anymore"; # added 2020-10-14
   steam-run-native = steam-run; # added 2022-02-21
   stumpwm-git = throw "stumpwm-git has been broken for a long time and lispPackages.stumpwm follows Quicklisp that is close to git version"; # Added 2021-05-09
+  subversion_1_10 = throw "subversion_1_10 has been removed as it has reached its end of life"; # Added 2022-04-26
   subversion19 = throw "subversion19 has been removed as it has reached its end of life"; # Added 2021-03-31
   sudolikeaboss = throw "sudolikeaboss is no longer maintained by upstream"; # Added 2022-04-16
   sundials_3 = throw "sundials_3 was removed in 2020-02. outdated and no longer needed";
   surf-webkit2 = throw "'surf-webkit2' has been renamed to/replaced by 'surf'"; # Converted to throw 2022-02-22
-  svgcleaner = throw "svgcleaner has been removed"; # Added 2021-11-17
   swec = throw "swec has been removed; broken and abandoned upstream"; # Added 2021-10-14
   swfdec = throw "swfdec has been removed as broken and unmaintained"; # Added 2020-08-23
   swtpm-tpm2 = swtpm; # Added 2021-02-26
@@ -1253,6 +1277,7 @@ mapAliases ({
   terraform_1_0 = throw "terraform_1_0 has been renamed to terraform_1"; # Added 2021-12-08
   terraform_1_0_0 = throw "terraform_1_0_0 has been renamed to terraform_1"; # Added 2021-06-15
   tesseract_4 = throw "'tesseract_4' has been renamed to/replaced by 'tesseract4'"; # Converted to throw 2022-02-22
+  testVersion = testers.testVersion; # Added 2022-04-20
   tex-gyre-bonum-math = throw "'tex-gyre-bonum-math' has been renamed to/replaced by 'tex-gyre-math.bonum'"; # Converted to throw 2022-02-22
   tex-gyre-pagella-math = throw "'tex-gyre-pagella-math' has been renamed to/replaced by 'tex-gyre-math.pagella'"; # Converted to throw 2022-02-22
   tex-gyre-schola-math = throw "'tex-gyre-schola-math' has been renamed to/replaced by 'tex-gyre-math.schola'"; # Converted to throw 2022-02-22
@@ -1286,12 +1311,14 @@ mapAliases ({
   tshark = throw "'tshark' has been renamed to/replaced by 'wireshark-cli'"; # Converted to throw 2022-02-22
   tuijam = throw "tuijam has been removed because Google Play Music was discontinued"; # Added 2021-03-07
   turbo-geth = throw "turbo-geth has been renamed to erigon"; # Added 2021-08-08
+  twister = throw "twister has been removed: abandoned by upstream and python2-only"; # Added 2022-04-26
   typora = throw "Newer versions of typora use anti-user encryption and refuse to start. As such it has been removed"; # Added 2021-09-11
 
   ### U ###
 
   uberwriter = apostrophe; # Added 2020-04-23
   ubootBeagleboneBlack = ubootAmx335xEVM; # Added 2020-01-21
+  uchiwa = throw "uchiwa is deprecated and archived by upstream"; # Added 2022-05-02
   ucsFonts = throw "'ucsFonts' has been renamed to/replaced by 'ucs-fonts'"; # Converted to throw 2022-02-22
   ufraw = throw "ufraw is unmaintained and has been removed from nixpkgs. Its successor, nufraw, doesn't seem to be stable enough. Consider using Darktable for now"; # Added 2020-01-11
   ultrastardx-beta = throw "'ultrastardx-beta' has been renamed to/replaced by 'ultrastardx'"; # Converted to throw 2022-02-22
@@ -1334,6 +1361,7 @@ mapAliases ({
 
   ### W ###
 
+  wavesurfer = throw "wavesurfer has been removed: depended on snack which has been removed"; # Added 2022-04-21
   way-cooler = throw "way-cooler is abandoned by its author: https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"; # Added 2020-01-13
   webbrowser = throw "webbrowser was removed because it's unmaintained upstream and was marked as broken in nixpkgs for over a year"; # Added 2022-03-21
   webkit = throw "'webkit' has been renamed to/replaced by 'webkitgtk'"; # Converted to throw 2022-02-22
@@ -1347,8 +1375,10 @@ mapAliases ({
   wineStaging = throw "'wineStaging' has been renamed to/replaced by 'wine-staging'"; # Converted to throw 2022-02-22
   wineUnstable = throw "'wineUnstable' has been renamed to/replaced by 'winePackages.unstable'"; # Converted to throw 2022-02-22
   wineWayland = wine-wayland;
+  winpdb = throw "winpdb has been removed: abandoned by upstream"; # Added 2022-04-22
   winusb = throw "'winusb' has been renamed to/replaced by 'woeusb'"; # Converted to throw 2022-02-22
   wireguard = throw "'wireguard' has been renamed to/replaced by 'wireguard-tools'"; # Converted to throw 2022-02-22
+  wmii_hg = wmii;
   wxmupen64plus = throw "wxmupen64plus was removed because the upstream disappeared"; # Added 2022-01-31
 
   ### X ###
@@ -1368,6 +1398,7 @@ mapAliases ({
   xmonad_log_applet_gnome3 = throw "'xmonad_log_applet_gnome3' has been renamed to/replaced by 'xmonad_log_applet'"; # Converted to throw 2022-02-22
   xmpppy = throw "xmpppy has been removed from nixpkgs as it is unmaintained and python2-only";
   xp-pen-g430 = pentablet-driver; # Added 2020-05-03
+  xpf = throw "xpf has been removed: abandoned by upstream"; # Added 2022-04-26
   xf86_video_nouveau = throw "'xf86_video_nouveau' has been renamed to/replaced by 'xorg.xf86videonouveau'"; # Converted to throw 2022-02-22
   xf86_input_mtrack = throw ''
     xf86_input_mtrack has been removed from nixpkgs as it is broken and
@@ -1488,9 +1519,9 @@ mapAliases ({
 
   inherit (plasma5Packages)
     akonadi akregator ark bluedevil bomber bovo breeze-grub breeze-gtk
-    breeze-icons breeze-plymouth breeze-qt5 discover dolphin dragon elisa
+    breeze-icons breeze-plymouth breeze-qt5 discover dolphin dragon elisa falkon
     ffmpegthumbs filelight granatier gwenview k3b kactivitymanagerd kaddressbook
-    kalzium kapman kapptemplate kate katomic kblackbox kblocks kbounce
+    kalendar kalzium kapman kapptemplate kate katomic kblackbox kblocks kbounce
     kcachegrind kcalc kcharselect kcolorchooser kde-cli-tools kde-gtk-config
     kdenlive kdeplasma-addons kdf kdialog kdiamond keditbookmarks kfind kfloppy
     kgamma5 kget kgpg khelpcenter kig kigo killbots kinfocenter kitinerary
@@ -1503,8 +1534,8 @@ mapAliases ({
     plasma-integration plasma-nano plasma-nm plasma-pa plasma-mobile
     plasma-systemmonitor plasma-thunderbolt plasma-vault plasma-workspace
     plasma-workspace-wallpapers polkit-kde-agent powerdevil qqc2-breeze-style
-    sddm-kcm skanlite spectacle systemsettings xdg-desktop-portal-kde yakuake
-    zanshin
+    sddm-kcm skanlite skanpage spectacle systemsettings xdg-desktop-portal-kde
+    yakuake zanshin
   ;
 
   inherit (plasma5Packages.thirdParty)
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d078ba0e69a..612f3dcd699 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11,6 +11,21 @@ res: pkgs: super:
 with pkgs;
 
 {
+  # A module system style type tag
+  #
+  # Allows the nixpkgs fixpoint, usually known as `pkgs`
+  # to be distinguished nominally.
+  #
+  #     pkgs._type == "pkgs"
+  #     pkgs.pkgsStatic._type == "pkgs"
+  #
+  # Design note:
+  # While earlier stages of nixpkgs fixpoint construction
+  # are supertypes of this stage, they're generally not
+  # usable in places where a `pkgs` is expected.
+  # (earlier stages being the various `super` variables
+  #  that precede all-packages.nix)
+  _type = "pkgs";
 
   # A stdenv capable of building 32-bit binaries.  On x86_64-linux,
   # it uses GCC compiled with multilib support; on i686-linux, it's
@@ -391,6 +406,8 @@ with pkgs;
 
   protoc-gen-doc = callPackage ../development/tools/protoc-gen-doc { };
 
+  protoc-gen-entgrpc = callPackage ../development/tools/protoc-gen-entgrpc { };
+
   protoc-gen-go = callPackage ../development/tools/protoc-gen-go { };
 
   protoc-gen-go-grpc = callPackage ../development/tools/protoc-gen-go-grpc { };
@@ -409,6 +426,8 @@ with pkgs;
 
   protoc-gen-validate = callPackage ../development/tools/protoc-gen-validate { };
 
+  protolint = callPackage ../development/tools/protolint { };
+
   ptags = callPackage ../development/tools/misc/ptags { };
 
   ptouch-print = callPackage ../misc/ptouch-print { };
@@ -433,6 +452,10 @@ with pkgs;
 
   devour = callPackage ../tools/X11/devour {};
 
+  didyoumean = callPackage ../tools/misc/didyoumean {
+    inherit (darwin.apple_sdk.frameworks) AppKit;
+  };
+
   diffPlugins = (callPackage ../build-support/plugins.nix {}).diffPlugins;
 
   dieHook = makeSetupHook {} ../build-support/setup-hooks/die.sh;
@@ -721,8 +744,8 @@ with pkgs;
 
   installShellFiles = callPackage ../build-support/install-shell-files {};
 
-  # See doc/builders/special/invalidateFetcherByDrvHash.section.md or
-  # https://nixos.org/manual/nixpkgs/unstable/#sec-pkgs-invalidateFetcherByDrvHash
+  # See doc/builders/testers.chapter.md or
+  # https://nixos.org/manual/nixpkgs/unstable/#tester-invalidateFetcherByDrvHash
   invalidateFetcherByDrvHash = f: args:
     let
       drvPath = (f args).drvPath;
@@ -835,6 +858,8 @@ with pkgs;
 
   srcOnly = callPackage ../build-support/src-only { };
 
+  subnetcalc = callPackage ../tools/networking/subnetcalc { };
+
   substitute = callPackage ../build-support/substitute/substitute.nix { };
 
   substituteAll = callPackage ../build-support/substitute/substitute-all.nix { };
@@ -1114,6 +1139,8 @@ with pkgs;
 
   gobgp = callPackage ../tools/networking/gobgp { };
 
+  gof5 = callPackage ../tools/networking/gof5 { };
+
   goflow = callPackage ../tools/networking/goflow { };
 
   gofu = callPackage ../applications/misc/gofu { };
@@ -1126,6 +1153,10 @@ with pkgs;
 
   headsetcontrol = callPackage ../tools/audio/headsetcontrol { };
 
+  headset-charge-indicator = callPackage ../tools/audio/headset-charge-indicator { };
+
+  httm = callPackage ../tools/filesystems/httm { };
+
   ksnip = libsForQt5.callPackage ../tools/misc/ksnip { };
 
   license-generator = callPackage ../tools/misc/license-generator { };
@@ -1339,6 +1370,8 @@ with pkgs;
 
   retrofe = callPackage ../applications/emulators/retrofe { };
 
+  ripes = libsForQt5.callPackage ../applications/emulators/ripes { };
+
   rpcs3 = libsForQt5.callPackage ../applications/emulators/rpcs3 { };
 
   ruffle = callPackage ../applications/emulators/ruffle { };
@@ -1351,7 +1384,11 @@ with pkgs;
 
   simplenes = callPackage ../applications/emulators/simplenes { };
 
-  snes9x-gtk = callPackage ../applications/emulators/snes9x-gtk { };
+  snes9x = callPackage ../applications/emulators/snes9x { };
+
+  snes9x-gtk = callPackage ../applications/emulators/snes9x {
+    withGtk = true;
+  };
 
   stella = callPackage ../applications/emulators/stella { };
 
@@ -1436,13 +1473,12 @@ with pkgs;
 
   ### APPLICATIONS/EMULATORS/YUZU
 
-  yuzu-mainline = import ../applications/emulators/yuzu {
+  yuzu-mainline = callPackage ../applications/emulators/yuzu {
     branch = "mainline";
-    inherit libsForQt5 fetchFromGitHub;
   };
-  yuzu-ea = import ../applications/emulators/yuzu {
+
+  yuzu-ea = callPackage ../applications/emulators/yuzu {
     branch = "early-access";
-    inherit libsForQt5 fetchFromGitHub;
   };
 
   ### APPLICATIONS/EMULATORS/COMMANDERX16
@@ -1628,6 +1664,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  amberol = callPackage ../applications/audio/amberol {};
+
   inherit (callPackages ../development/tools/ammonite {})
     ammonite_2_12
     ammonite_2_13;
@@ -1840,6 +1878,8 @@ with pkgs;
 
   awless = callPackage ../tools/virtualization/awless { };
 
+  bashblog = callPackage ../tools/text/bashblog { };
+
   berglas = callPackage ../tools/admin/berglas { };
 
   betterdiscordctl = callPackage ../tools/misc/betterdiscordctl { };
@@ -1854,6 +1894,14 @@ with pkgs;
 
   brewtarget = libsForQt514.callPackage ../applications/misc/brewtarget { } ;
 
+  stdenvBootstrapTools =
+    let args = { crossSystem = stdenv.hostPlatform.system; }; in
+    if stdenv.hostPlatform.isDarwin
+    then callPackage ../stdenv/darwin/make-bootstrap-tools.nix args
+    else if stdenv.hostPlatform.isLinux
+    then callPackage ../stdenv/linux/make-bootstrap-tools.nix args
+    else throw "stdenvBootstrapTools: unknown hostPlatform ${stdenv.hostPlatform.config}";
+
   boxes = callPackage ../tools/text/boxes { };
 
   boundary = callPackage ../tools/networking/boundary { };
@@ -2100,6 +2148,8 @@ with pkgs;
 
   droidcam = callPackage ../applications/video/droidcam { };
 
+  droidmote = callPackage ../tools/inputmethods/droidmote { };
+
   ecdsautils = callPackage ../tools/security/ecdsautils { };
 
   echidna = haskell.lib.compose.justStaticExecutables (haskellPackages.callPackage (../tools/security/echidna) { });
@@ -2150,6 +2200,8 @@ with pkgs;
 
   fxlinuxprintutil = callPackage ../tools/misc/fxlinuxprintutil { };
 
+  gbl = callPackage ../tools/archivers/gbl { };
+
   genann = callPackage ../development/libraries/genann { };
 
   genpass = callPackage ../tools/security/genpass {
@@ -2328,6 +2380,10 @@ with pkgs;
 
   passExtensions = recurseIntoAttrs pass.extensions;
 
+  pdepend = callPackage ../development/php-packages/pdepend/default.nix { };
+
+  platformsh = callPackage ../misc/platformsh { };
+
   inherd-quake = callPackage ../applications/misc/inherd-quake {
     inherit (darwin.apple_sdk.frameworks) CoreServices Security;
   };
@@ -2817,6 +2873,8 @@ with pkgs;
     python = python3;
     boost = boost.override { enablePython = true; python = python3; };
   };
+  calamares-nixos = lowPrio (calamares.override { nixos-extensions = true; });
+  calamares-nixos-extensions = callPackage ../tools/misc/calamares-nixos-extensions {};
 
   calendar-cli = callPackage ../tools/networking/calendar-cli { };
 
@@ -2915,6 +2973,8 @@ with pkgs;
 
   cloudflared = callPackage ../applications/networking/cloudflared { };
 
+  cloudflare-dyndns = python3Packages.cloudflare-dyndns;
+
   cloudmonkey = callPackage ../tools/virtualization/cloudmonkey { };
 
   clib = callPackage ../tools/package-management/clib { };
@@ -2981,6 +3041,8 @@ with pkgs;
 
   clipman = callPackage ../tools/wayland/clipman { };
 
+  kabeljau = callPackage ../games/kabeljau { };
+
   kanshi = callPackage ../tools/wayland/kanshi { };
 
   oguri = callPackage  ../tools/wayland/oguri { };
@@ -2995,7 +3057,7 @@ with pkgs;
 
   swaysome = callPackage ../tools/wayland/swaysome { };
 
-  swaytools = callPackage ../tools/wayland/swaytools { };
+  swaytools = python3Packages.callPackage ../tools/wayland/swaytools { };
 
   wayland-utils = callPackage ../tools/wayland/wayland-utils { };
 
@@ -3302,6 +3364,10 @@ with pkgs;
 
   earlyoom = callPackage ../os-specific/linux/earlyoom { };
 
+  easycrypt = callPackage ../applications/science/logic/easycrypt { };
+
+  easycrypt-runtest = callPackage ../applications/science/logic/easycrypt/runtest.nix { };
+
   EBTKS = callPackage ../development/libraries/science/biology/EBTKS { };
 
   ecasound = callPackage ../applications/audio/ecasound { };
@@ -3453,7 +3519,7 @@ with pkgs;
 
   futhark = haskell.lib.compose.justStaticExecutables haskellPackages.futhark;
 
-  inherit (nodePackages) fx;
+  fx = callPackage ../development/tools/fx { };
 
   tllist = callPackage ../development/libraries/tllist { };
 
@@ -3504,7 +3570,9 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  geekbench = callPackage ../tools/misc/geekbench { };
+  geekbench4 = callPackage ../tools/misc/geekbench/4.nix { };
+  geekbench5 = callPackage ../tools/misc/geekbench { };
+  geekbench = geekbench5;
 
   gencfsm = callPackage ../tools/security/gencfsm { };
 
@@ -3730,7 +3798,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  lapce = callPackage ../applications/editors/lapce { };
+  lapce = callPackage ../applications/editors/lapce {
+    inherit (darwin) libobjc;
+    inherit (darwin.apple_sdk.frameworks) Security CoreServices ApplicationServices Carbon AppKit;
+  };
 
   lcdproc = callPackage ../servers/monitoring/lcdproc { };
 
@@ -4014,6 +4085,8 @@ with pkgs;
     electron = electron_14;
   };
 
+  pouf = callPackage ../tools/misc/pouf { };
+
   poweralertd = callPackage ../tools/misc/poweralertd { };
 
   ps_mem = callPackage ../tools/system/ps_mem { };
@@ -4093,6 +4166,8 @@ with pkgs;
 
   simg2img = callPackage ../tools/filesystems/simg2img { };
 
+  snazy = callPackage ../development/tools/snazy { };
+
   snippetpixie = callPackage ../tools/text/snippetpixie { };
 
   snowcat = callPackage ../tools/security/snowcat { };
@@ -4517,10 +4592,10 @@ with pkgs;
 
   cksfv = callPackage ../tools/networking/cksfv { };
 
-  clementine = libsForQt514.callPackage ../applications/audio/clementine {
+  clementine = libsForQt5.callPackage ../applications/audio/clementine {
     gst_plugins =
       with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav ];
-    protobuf = protobuf3_14;
+    protobuf = protobuf3_19;
   };
 
   clementineUnfree = clementine.unfree;
@@ -4766,8 +4841,6 @@ with pkgs;
   code-browser-gtk2 = callPackage ../applications/editors/code-browser { withGtk2 = true; };
   code-browser-gtk = callPackage ../applications/editors/code-browser { withGtk3 = true; };
 
-  c14 = callPackage ../applications/networking/c14 { };
-
   certstrap = callPackage ../tools/security/certstrap { };
 
   cfssl = callPackage ../tools/security/cfssl { };
@@ -4812,6 +4885,8 @@ with pkgs;
 
   cloudlist = callPackage ../tools/security/cloudlist { };
 
+  cmdpack = callPackages ../tools/misc/cmdpack { };
+
   cobalt = callPackage ../applications/misc/cobalt {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
@@ -6765,6 +6840,9 @@ with pkgs;
     llvmPackages = llvmPackages_9;
   };
 
+  harec = callPackage ../development/compilers/hare/harec.nix { };
+  hare = callPackage ../development/compilers/hare/hare.nix { };
+
   ham = pkgs.perlPackages.ham;
 
   hardinfo = callPackage ../tools/system/hardinfo { };
@@ -6942,6 +7020,8 @@ with pkgs;
 
   darkice = callPackage ../tools/audio/darkice { };
 
+  bc-decaf = callPackage ../development/libraries/bc-decaf { };
+
   deco = callPackage ../applications/misc/deco { };
 
   icoutils = callPackage ../tools/graphics/icoutils { };
@@ -7148,6 +7228,8 @@ with pkgs;
     usePulseaudio = true;
   };
 
+  jasmin-compiler = callPackage ../development/compilers/jasmin-compiler { };
+
   jazzy = callPackage ../development/tools/jazzy { };
 
   jc = with python3Packages; toPythonApplication jc;
@@ -7306,6 +7388,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AppKit;
   };
 
+  kdash = callPackage ../development/tools/kdash { };
+
   kdbplus = pkgsi686Linux.callPackage ../applications/misc/kdbplus { };
 
   keepalived = callPackage ../tools/networking/keepalived { };
@@ -7655,6 +7739,8 @@ with pkgs;
 
   mjolnir = callPackage ../servers/mjolnir { };
 
+  mmutils = callPackage ../tools/X11/mmutils { };
+
   mmv = callPackage ../tools/misc/mmv { };
 
   mmv-go = callPackage ../tools/misc/mmv-go { };
@@ -7716,7 +7802,7 @@ with pkgs;
 
   ninka = callPackage ../development/tools/misc/ninka { };
 
-  nixnote2 = libsForQt514.callPackage ../applications/misc/nixnote2 { };
+  nixnote2 = libsForQt5.callPackage ../applications/misc/nixnote2 { };
 
   nodenv = callPackage ../development/tools/nodenv { };
 
@@ -7748,10 +7834,13 @@ with pkgs;
   nodejs-slim-17_x = callPackage ../development/web/nodejs/v17.nix {
     enableNpm = false;
   };
+  nodejs-18_x = callPackage ../development/web/nodejs/v18.nix { };
+  nodejs-slim-18_x = callPackage ../development/web/nodejs/v18.nix {
+    enableNpm = false;
+  };
   # Update this when adding the newest nodejs major version!
-  # Do not set to nodejs-17_x because it requires 10.13 SDK on Darwin
-  nodejs_latest = nodejs-16_x;
-  nodejs-slim_latest = nodejs-slim-16_x;
+  nodejs_latest = nodejs-18_x;
+  nodejs-slim_latest = nodejs-slim-18_x;
 
   nodePackages_latest = dontRecurseIntoAttrs nodejs_latest.pkgs;
 
@@ -7926,21 +8015,13 @@ with pkgs;
 
   libnids = callPackage ../tools/networking/libnids { };
 
-  rakshasa-rtorrent = recurseIntoAttrs
-    (callPackage ../tools/networking/p2p/rakshasa-rtorrent {
-      callPackage = newScope pkgs.rakshasa-rtorrent;
-    });
-
-  rtorrent = rakshasa-rtorrent.rtorrent;
-  libtorrent = rakshasa-rtorrent.libtorrent;
-
-  jesec-rtorrent = recurseIntoAttrs
-    (callPackage ../tools/networking/p2p/jesec-rtorrent {
-      callPackage = newScope pkgs.jesec-rtorrent;
-    });
+  rtorrent = callPackage ../applications/networking/p2p/rakshasa-rtorrent {
+    libtorrent = callPackage ../applications/networking/p2p/rakshasa-rtorrent/libtorrent.nix { };
+  };
 
-  rtorrent-jesec = jesec-rtorrent.rtorrent;
-  libtorrent-jesec = jesec-rtorrent.libtorrent;
+  jesec-rtorrent = callPackage ../applications/networking/p2p/jesec-rtorrent {
+    libtorrent = callPackage ../applications/networking/p2p/jesec-rtorrent/libtorrent.nix { };
+  };
 
   libmpack = callPackage ../development/libraries/libmpack { };
 
@@ -8650,19 +8731,17 @@ with pkgs;
 
   npapi_sdk = callPackage ../development/libraries/npapi-sdk {};
 
+  nickel = callPackage ../development/interpreters/nickel { };
+
   npiet = callPackage ../development/interpreters/npiet { };
 
   npth = callPackage ../development/libraries/npth {};
 
   nmap = callPackage ../tools/security/nmap { };
 
-  nmap-graphical = nmap.override {
-    graphicalSupport = true;
-  };
-
   nmap-formatter = callPackage ../tools/security/nmap-formatter { };
 
-  nmapsi4 = libsForQt514.callPackage ../tools/security/nmap/qt.nix { };
+  nmapsi4 = libsForQt5.callPackage ../tools/security/nmap/qt.nix { };
 
   nnn = callPackage ../applications/misc/nnn { };
 
@@ -8750,7 +8829,7 @@ with pkgs;
 
   oapi-codegen = callPackage ../tools/networking/oapi-codegen { };
 
-  oathToolkit = callPackage ../tools/security/oath-toolkit { };
+  oath-toolkit = callPackage ../tools/security/oath-toolkit { };
 
   oatpp = callPackage ../development/libraries/oatpp { };
 
@@ -8792,8 +8871,6 @@ with pkgs;
 
   objconv = callPackage ../development/tools/misc/objconv {};
 
-  odpdown = callPackage ../tools/typesetting/odpdown { };
-
   odpic = callPackage ../development/libraries/odpic { };
 
   odt2txt = callPackage ../tools/text/odt2txt { };
@@ -8831,6 +8908,8 @@ with pkgs;
 
   onlykey = callPackage ../tools/security/onlykey { node_webkit = nwjs; };
 
+  ooniprobe-cli = callPackage ../tools/networking/ooniprobe-cli { };
+
   openapi-generator-cli = callPackage ../tools/networking/openapi-generator-cli { jre = pkgs.jre_headless; };
   openapi-generator-cli-unstable = callPackage ../tools/networking/openapi-generator-cli/unstable.nix { jre = pkgs.jre_headless; };
 
@@ -9029,7 +9108,7 @@ with pkgs;
 
   p7zip = callPackage ../tools/archivers/p7zip { };
 
-  packagekit = callPackage ../tools/package-management/packagekit { nix = nixVersions.nix_2_6; };
+  packagekit = callPackage ../tools/package-management/packagekit { nix = nixVersions.nix_2_8; };
 
   packetdrill = callPackage ../tools/networking/packetdrill { };
 
@@ -9221,8 +9300,6 @@ with pkgs;
 
   pfstools = libsForQt5.callPackage ../tools/graphics/pfstools { };
 
-  philter = callPackage ../tools/networking/philter { };
-
   phoc = callPackage ../applications/misc/phoc {
     wlroots = wlroots_0_14;
   };
@@ -9335,6 +9412,8 @@ with pkgs;
     libpng = libpng12;
   };
 
+  pngtools = callPackage ../tools/graphics/pngtools { };
+
   pngpp = callPackage ../development/libraries/png++ { };
 
   pngquant = callPackage ../tools/graphics/pngquant { };
@@ -9366,6 +9445,10 @@ with pkgs;
 
   poretools = callPackage ../applications/science/biology/poretools { };
 
+  pantum-driver = callPackage ../misc/drivers/pantum-driver {
+    libjpeg8 = libjpeg.override { enableJpeg8 = true; };
+  };
+
   postscript-lexmark = callPackage ../misc/drivers/postscript-lexmark { };
 
   povray = callPackage ../tools/graphics/povray {
@@ -9418,7 +9501,9 @@ with pkgs;
 
   proxify = callPackage ../tools/networking/proxify { };
 
-  proxysql = callPackage ../servers/sql/proxysql { };
+  proxysql = callPackage ../servers/sql/proxysql {
+    stdenv = if stdenv.targetPlatform.isx86_64 then gcc10Stdenv else stdenv;
+  };
 
   prs = callPackage ../tools/security/prs { };
 
@@ -9480,8 +9565,6 @@ with pkgs;
 
   pycflow2dot = with python3.pkgs; toPythonApplication pycflow2dot;
 
-  pydb = callPackage ../development/tools/pydb { };
-
   pydf = callPackage ../applications/misc/pydf { };
 
   pyinfra = with python3Packages; toPythonApplication pyinfra;
@@ -9498,6 +9581,8 @@ with pkgs;
 
   py-spy = callPackage ../development/tools/py-spy { };
 
+  pydeps = with python3Packages; toPythonApplication pydeps;
+
   pytrainer = callPackage ../applications/misc/pytrainer { };
 
   pywal = with python3Packages; toPythonApplication pywal;
@@ -9677,6 +9762,8 @@ with pkgs;
 
   redmine = callPackage ../applications/version-management/redmine { };
 
+  redpanda = callPackage ../servers/redpanda { };
+
   redsocks = callPackage ../tools/networking/redsocks { };
 
   rep = callPackage ../development/tools/rep { };
@@ -9730,6 +9817,8 @@ with pkgs;
 
   reiserfsprogs = callPackage ../tools/filesystems/reiserfsprogs { };
 
+  relic = callPackage ../development/tools/relic { };
+
   remarkjs = callPackage ../development/web/remarkjs { };
 
   alarm-clock-applet = callPackage ../tools/misc/alarm-clock-applet { };
@@ -10448,6 +10537,8 @@ with pkgs;
 
   svgbob = callPackage ../tools/graphics/svgbob { };
 
+  svgcleaner = callPackage ../tools/graphics/svgcleaner { };
+
   ssb = callPackage ../tools/security/ssb { };
 
   ssb-patchwork = callPackage ../applications/networking/ssb-patchwork { };
@@ -10830,7 +10921,7 @@ with pkgs;
   toml2nix = (callPackage ../tools/toml2nix { }).toml2nix { };
 
   topgrade = callPackage ../tools/misc/topgrade {
-    inherit (darwin.apple_sdk.frameworks) Foundation;
+    inherit (darwin.apple_sdk.frameworks) Cocoa Foundation;
   };
 
   top-git = callPackage ../applications/version-management/git-and-tools/topgit { };
@@ -10932,6 +11023,10 @@ with pkgs;
 
   trytond = with python3Packages; toPythonApplication trytond;
 
+  tun2socks = callPackage ../tools/networking/tun2socks {
+    buildGoModule = buildGo118Module;
+  };
+
   tuntox = callPackage ../tools/networking/tuntox { };
 
   omapd = callPackage ../tools/security/omapd { };
@@ -11634,6 +11729,8 @@ with pkgs;
 
   wv2 = callPackage ../tools/misc/wv2 { };
 
+  wvkbd = callPackage ../applications/accessibility/wvkbd { };
+
   wyrd = callPackage ../tools/misc/wyrd {
     ocamlPackages = ocaml-ng.ocamlPackages_4_05;
   };
@@ -11708,10 +11805,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AppKit;
   };
 
-  xpf = callPackage ../tools/text/xml/xpf {
-    libxml2 = libxml2Python;
-  };
-
   xsecurelock = callPackage ../tools/X11/xsecurelock { };
 
   xsel = callPackage ../tools/misc/xsel { };
@@ -12185,8 +12278,8 @@ with pkgs;
 
   colm = callPackage ../development/compilers/colm { };
 
-  colmap = libsForQt514.callPackage ../applications/science/misc/colmap { };
-  colmapWithCuda = colmap.override { cudaSupport = true; cudatoolkit = cudatoolkit_11; };
+  colmap = libsForQt5.callPackage ../applications/science/misc/colmap { cudaSupport = config.cudaSupport or false; };
+  colmapWithCuda = colmap.override { cudaSupport = true; };
 
   chickenPackages_4 = callPackage ../development/compilers/chicken/4 { };
   chickenPackages_5 = callPackage ../development/compilers/chicken/5 { };
@@ -12376,7 +12469,7 @@ with pkgs;
       num =
         if (with stdenv.targetPlatform; isVc4 || libc == "relibc") then 6
         else if (stdenv.targetPlatform.isAarch64 && stdenv.isDarwin) then 11
-        else if (stdenv.targetPlatform.isx86_64) then 11
+        else if (stdenv.targetPlatform.isx86_64 || stdenv.targetPlatform.isRiscV) then 11
         else if stdenv.targetPlatform.isAarch64 then 9
         else 10;
       numS = toString num;
@@ -12610,7 +12703,7 @@ with pkgs;
   gcc_latest = gcc11;
 
   # Use the same GCC version as the one from stdenv by default
-  gfortran = wrapCC (gccStdenv.cc.cc.override {
+  gfortran = wrapCC (gcc.cc.override {
     name = "gfortran";
     langFortran = true;
     langCC = false;
@@ -13265,7 +13358,7 @@ with pkgs;
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_11.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_11.libraries or llvmPackages_11.libraries;
-  } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) {
+  } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.hostPlatform == stdenv.buildPlatform && buildPackages.stdenv.cc.isGNU) {
     stdenv = gcc7Stdenv;
   }));
 
@@ -13273,7 +13366,7 @@ with pkgs;
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_12.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_12.libraries or llvmPackages_12.libraries;
-  } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) {
+  } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.hostPlatform == stdenv.buildPlatform && buildPackages.stdenv.cc.isGNU) {
     stdenv = gcc7Stdenv;
   }));
 
@@ -13281,7 +13374,7 @@ with pkgs;
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_13.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_13.libraries or llvmPackages_13.libraries;
-  } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) {
+  } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.hostPlatform == stdenv.buildPlatform && buildPackages.stdenv.cc.isGNU) {
     stdenv = gcc7Stdenv;
   }));
 
@@ -13289,7 +13382,7 @@ with pkgs;
     inherit (stdenvAdapters) overrideCC;
     buildLlvmTools = buildPackages.llvmPackages_14.tools;
     targetLlvmLibraries = targetPackages.llvmPackages_14.libraries or llvmPackages_14.libraries;
-  } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) {
+  } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.hostPlatform == stdenv.buildPlatform && buildPackages.stdenv.cc.isGNU) {
     stdenv = gcc7Stdenv;
   }));
 
@@ -13670,6 +13763,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
+  devspace = callPackage ../development/tools/misc/devspace { };
+
   maturin = callPackage ../development/tools/rust/maturin {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -13714,7 +13809,8 @@ with pkgs;
   sbcl_2_1_9 = callPackage ../development/compilers/sbcl/2.1.9.nix {};
   sbcl_2_1_10 = callPackage ../development/compilers/sbcl/2.1.10.nix {};
   sbcl_2_1_11 = callPackage ../development/compilers/sbcl/2.1.11.nix {};
-  sbcl = sbcl_2_1_11;
+  sbcl_2_2_4 = callPackage ../development/compilers/sbcl/2.2.4.nix {};
+  sbcl = sbcl_2_2_4;
 
   roswell = callPackage ../development/tools/roswell { };
 
@@ -13732,7 +13828,6 @@ with pkgs;
   metals = callPackage ../development/tools/metals { };
   scalafix = callPackage ../development/tools/scalafix {
     jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-    jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
   };
   scalafmt = callPackage ../development/tools/scalafmt { };
 
@@ -14136,6 +14231,8 @@ with pkgs;
 
   wabt = callPackage ../development/tools/wabt { };
 
+  zuo = callPackage ../development/interpreters/zuo { };
+
   ### LUA interpreters
   luaInterpreters = callPackage ./../development/interpreters/lua-5 {};
   inherit (luaInterpreters) lua5_1 lua5_2 lua5_2_compat lua5_3 lua5_3_compat lua5_4 lua5_4_compat luajit_2_1 luajit_2_0;
@@ -14400,9 +14497,6 @@ with pkgs;
 
   inherit (ocamlPackages) reason;
 
-  pixie = callPackage ../development/interpreters/pixie { };
-  dust = callPackage ../development/interpreters/pixie/dust.nix { };
-
   buildRubyGem = callPackage ../development/ruby-modules/gem { };
   defaultGemConfig = callPackage ../development/ruby-modules/gem-config {
     inherit (darwin) DarwinTools cctools;
@@ -14619,6 +14713,8 @@ with pkgs;
 
   actionlint = callPackage ../development/tools/analysis/actionlint { };
 
+  adreaper = callPackage ../tools/security/adreaper { };
+
   adtool = callPackage ../tools/admin/adtool { };
 
   inherit (callPackage ../development/tools/alloy {
@@ -14638,12 +14734,10 @@ with pkgs;
 
   autoadb = callPackage ../misc/autoadb { };
 
-  inherit (callPackage ../tools/admin/ansible { })
-    ansible
-    ansible_2_8
-    ansible_2_9
-    ansible_2_10
-    ansible_2_11;
+  ansible = ansible_2_12;
+  ansible_2_12 = python3Packages.toPythonApplication python3Packages.ansible-core;
+
+  ansible-doctor = with python3.pkgs; toPythonApplication ansible-doctor;
 
   ansible-lint = with python3.pkgs; toPythonApplication ansible-lint;
 
@@ -14707,7 +14801,8 @@ with pkgs;
     electron_14
     electron_15
     electron_16
-    electron_17;
+    electron_17
+    electron_18;
 
   autobuild = callPackage ../development/tools/misc/autobuild { };
 
@@ -14925,7 +15020,11 @@ with pkgs;
   libodb = callPackage ../development/libraries/libodb { };
   libodb-sqlite = callPackage ../development/libraries/libodb-sqlite { };
   bdep = callPackage ../development/tools/build-managers/build2/bdep.nix { };
-  bore-cli = callPackage ../tools/networking/bore-cli/default.nix {};
+
+  bore-cli = callPackage ../tools/networking/bore-cli/default.nix {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   bpkg = callPackage ../development/tools/build-managers/build2/bpkg.nix { };
 
   buildkite-agent = callPackage ../development/tools/continuous-integration/buildkite-agent { };
@@ -15239,7 +15338,9 @@ with pkgs;
 
   doit = with python3Packages; toPythonApplication doit;
 
-  dolt = callPackage ../servers/sql/dolt { };
+  dolt = callPackage ../servers/sql/dolt {
+    buildGoModule = buildGo118Module;
+  };
 
   dot2tex = with python3.pkgs; toPythonApplication dot2tex;
 
@@ -15804,8 +15905,15 @@ with pkgs;
 
   parse-cli-bin = callPackage ../development/tools/parse-cli-bin { };
 
-  patchelf = callPackage ../development/tools/misc/patchelf { };
+  patchelf = if with stdenv.buildPlatform; isAarch64 && isMusl then
+    patchelf_0_13
+  else
+    patchelf_0_14;
   patchelf_0_9 = callPackage ../development/tools/misc/patchelf/0.9.nix { };
+  patchelf_0_13 = callPackage ../development/tools/misc/patchelf/0.13.nix {
+    patchelf = patchelf_0_14;
+  };
+  patchelf_0_14 = callPackage ../development/tools/misc/patchelf { };
 
   patchelfUnstable = lowPrio (callPackage ../development/tools/misc/patchelf/unstable.nix { });
 
@@ -15921,6 +16029,8 @@ with pkgs;
 
   redis-dump = callPackage ../development/tools/redis-dump { };
 
+  redis-plus-plus = callPackage ../development/libraries/redis-plus-plus { };
+
   redo = callPackage ../development/tools/build-managers/redo { };
 
   redo-apenwarr = callPackage ../development/tools/build-managers/redo-apenwarr { };
@@ -16341,8 +16451,6 @@ with pkgs;
 
   zydis = callPackage ../development/libraries/zydis { };
 
-  winpdb = callPackage ../development/tools/winpdb { };
-
   grabserial = callPackage ../development/tools/grabserial { };
 
   mypy = with python3Packages; toPythonApplication mypy;
@@ -16511,6 +16619,8 @@ with pkgs;
 
   bctoolbox = callPackage ../development/libraries/bctoolbox { };
 
+  bc-soci = callPackage ../development/libraries/soci/bc-soci.nix { };
+
   bearssl = callPackage ../development/libraries/bearssl { };
 
   beecrypt = callPackage ../development/libraries/beecrypt { };
@@ -17069,7 +17179,9 @@ with pkgs;
   fplll = callPackage ../development/libraries/fplll {};
   fplll_20160331 = callPackage ../development/libraries/fplll/20160331.nix {};
 
-  freeimage = callPackage ../development/libraries/freeimage { };
+  freeimage = callPackage ../development/libraries/freeimage {
+    libraw = libraw_unstable;
+  };
 
   freetts = callPackage ../development/libraries/freetts {
     jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
@@ -17729,7 +17841,7 @@ with pkgs;
 
   hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { };
 
-  hydra-check = with python3.pkgs; toPythonApplication hydra-check;
+  hydra-check = with python310.pkgs; toPythonApplication hydra-check;
 
   hyena = callPackage ../development/libraries/hyena { };
 
@@ -17798,6 +17910,8 @@ with pkgs;
 
   idasen = with python3Packages; toPythonApplication idasen;
 
+  ikill = callPackage ../tools/misc/ikill { };
+
   ilbc = callPackage ../development/libraries/ilbc { };
 
   ilmbase = callPackage ../development/libraries/ilmbase { };
@@ -17880,6 +17994,8 @@ with pkgs;
 
   jansson = callPackage ../development/libraries/jansson { };
 
+  jarowinkler-cpp = callPackage ../development/libraries/jarowinkler-cpp { };
+
   jasper = callPackage ../development/libraries/jasper { };
 
   jbig2dec = callPackage ../development/libraries/jbig2dec { };
@@ -18584,6 +18700,8 @@ with pkgs;
 
   libivykis = callPackage ../development/libraries/libivykis { };
 
+  libkqueue = callPackage ../development/libraries/libkqueue { };
+
   liblastfmSF = callPackage ../development/libraries/liblastfmSF { };
 
   liblcf = callPackage ../development/libraries/liblcf { };
@@ -18683,6 +18801,8 @@ with pkgs;
 
   libspectre = callPackage ../development/libraries/libspectre { };
 
+  libspecbleach = callPackage ../development/libraries/audio/libspecbleach { };
+
   libspnav = callPackage ../development/libraries/libspnav { };
 
   libgsf = callPackage ../development/libraries/libgsf { };
@@ -19228,6 +19348,8 @@ with pkgs;
 
   libviper = callPackage ../development/libraries/libviper { };
 
+  libviperfx = callPackage ../development/libraries/libviperfx { };
+
   libvpx = callPackage ../development/libraries/libvpx { };
   libvpx_1_8 = callPackage ../development/libraries/libvpx/1_8.nix { };
 
@@ -19306,7 +19428,7 @@ with pkgs;
 
   libxsmm = callPackage ../development/libraries/libxsmm { };
 
-  libixp_hg = callPackage ../development/libraries/libixp-hg { };
+  libixp = callPackage ../development/libraries/libixp { };
 
   libwpe = callPackage ../development/libraries/libwpe { };
 
@@ -19421,7 +19543,7 @@ with pkgs;
 
   mdds = callPackage ../development/libraries/mdds { };
 
-  mediastreamer = callPackage ../development/libraries/mediastreamer { };
+  mediastreamer = libsForQt5.callPackage ../development/libraries/mediastreamer { };
 
   mediastreamer-openh264 = callPackage ../development/libraries/mediastreamer/msopenh264.nix { };
 
@@ -19704,6 +19826,8 @@ with pkgs;
   nvidia-optical-flow-sdk = callPackage ../development/libraries/nvidia-optical-flow-sdk { };
 
   nvtop = callPackage ../tools/system/nvtop { };
+  nvtop-nvidia = callPackage ../tools/system/nvtop { amd = false; };
+  nvtop-amd = callPackage ../tools/system/nvtop { nvidia = false; };
 
   ocl-icd = callPackage ../development/libraries/ocl-icd { };
 
@@ -19920,8 +20044,6 @@ with pkgs;
 
   plib = callPackage ../development/libraries/plib { };
 
-  pocketsphinx = callPackage ../development/libraries/pocketsphinx { };
-
   poco = callPackage ../development/libraries/poco { };
 
   podofo = callPackage ../development/libraries/podofo { };
@@ -19929,7 +20051,6 @@ with pkgs;
   polkit = callPackage ../development/libraries/polkit { };
 
   poppler = callPackage ../development/libraries/poppler { lcms = lcms2; };
-  poppler_0_61 = callPackage ../development/libraries/poppler/0.61.nix { lcms = lcms2; };
 
   poppler_gi = lowPrio (poppler.override {
     introspectionSupport = true;
@@ -20172,6 +20293,8 @@ with pkgs;
 
   rapidcheck = callPackage ../development/libraries/rapidcheck {};
 
+  rapidfuzz-cpp = callPackage ../development/libraries/rapidfuzz-cpp { };
+
   rapidjson = callPackage ../development/libraries/rapidjson {};
 
   rapidxml = callPackage ../development/libraries/rapidxml {};
@@ -20461,10 +20584,6 @@ with pkgs;
 
   smpeg2 = callPackage ../development/libraries/smpeg2 { };
 
-  snack = callPackage ../development/libraries/snack {
-        # optional
-  };
-
   snappy = callPackage ../development/libraries/snappy { };
 
   snow = callPackage ../tools/security/snow { };
@@ -20549,8 +20668,6 @@ with pkgs;
 
   sphinx-serve = with python3Packages; toPythonApplication sphinx-serve;
 
-  sphinxbase = callPackage ../development/libraries/sphinxbase { };
-
   sphinxsearch = callPackage ../servers/search/sphinxsearch { };
 
   spice = callPackage ../development/libraries/spice { };
@@ -20691,6 +20808,8 @@ with pkgs;
 
   tagparser = callPackage ../development/libraries/tagparser { };
 
+  taskflow = callPackage ../development/libraries/taskflow { };
+
   tclap = callPackage ../development/libraries/tclap {};
 
   tcllib = callPackage ../development/libraries/tcllib { };
@@ -20699,8 +20818,6 @@ with pkgs;
 
   tclx = callPackage ../development/libraries/tclx { };
 
-  ntdb = callPackage ../development/libraries/ntdb { };
-
   tdb = callPackage ../development/libraries/tdb {};
 
   tdlib = callPackage ../development/libraries/tdlib { };
@@ -20930,7 +21047,9 @@ with pkgs;
 
   wayland-protocols = callPackage ../development/libraries/wayland/protocols.nix { };
 
-  waylandpp = callPackage ../development/libraries/waylandpp { };
+  waylandpp = callPackage ../development/libraries/waylandpp {
+    graphviz = graphviz-nox;
+  };
 
   wcslib = callPackage ../development/libraries/science/astronomy/wcslib { };
 
@@ -21312,6 +21431,9 @@ with pkgs;
   quicklispPackagesGCL = dontRecurseIntoAttrs (quicklispPackagesFor (wrapLisp gcl));
   quicklispPackages = quicklispPackagesSBCL;
 
+  # Alternative lisp-modules implementation
+  lispPackages_new = callPackage ../development/lisp-modules-new/lisp-packages.nix {};
+
   ### DEVELOPMENT / PERL MODULES
 
   perlInterpreters = callPackages ../development/interpreters/perl {};
@@ -21627,6 +21749,8 @@ with pkgs;
 
   grafana-loki = callPackage ../servers/monitoring/loki { };
 
+  grafana-mimir = callPackage ../servers/monitoring/mimir { };
+
   promtail = grafana-loki.overrideAttrs (o: {
     pname = "promtail";
     subPackages = ["clients/cmd/promtail"];
@@ -21724,6 +21848,8 @@ with pkgs;
 
   jitsi-videobridge = callPackage ../servers/jitsi-videobridge { };
 
+  kanidm = callPackage ../servers/kanidm { };
+
   kapowbang = callPackage ../servers/kapowbang { };
 
   keycloak = callPackage ../servers/keycloak { };
@@ -21979,9 +22105,9 @@ with pkgs;
 
   hsphfpd = callPackage ../servers/pulseaudio/hsphfpd.nix { };
 
-  pulseaudio = callPackage ../servers/pulseaudio ({
+  pulseaudio = callPackage ../servers/pulseaudio {
     inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit Cocoa;
-  });
+  };
 
   qpaeq = libsForQt5.callPackage ../servers/pulseaudio/qpaeq.nix { };
 
@@ -21990,26 +22116,20 @@ with pkgs;
     jackaudioSupport = true;
     airtunesSupport = true;
     bluetoothSupport = true;
+    advancedBluetoothCodecs = true;
     remoteControlSupport = true;
     zeroconfSupport = true;
   };
 
-  # libpulse implementations
-  libpulseaudio-vanilla = pulseaudio.override {
+  libpulseaudio = pulseaudio.override {
     libOnly = true;
   };
 
   apulse = callPackage ../misc/apulse { };
 
-  libpressureaudio = callPackage ../misc/apulse/pressureaudio.nix {
-    libpulseaudio = libpulseaudio-vanilla; # headers only
-  };
+  libpressureaudio = callPackage ../misc/apulse/pressureaudio.nix { };
 
-  libcardiacarrest = callPackage ../misc/libcardiacarrest {
-    libpulseaudio = libpulseaudio-vanilla; # meta only
-  };
-
-  libpulseaudio = libpulseaudio-vanilla;
+  libcardiacarrest = callPackage ../misc/libcardiacarrest { };
 
   easyeffects = callPackage ../applications/audio/easyeffects { };
 
@@ -22239,8 +22359,12 @@ with pkgs;
 
   postgresqlTestHook = callPackage ../build-support/setup-hooks/postgresql-test-hook { };
 
+  redshift_jdbc = callPackage ../development/java-modules/redshift_jdbc { };
+
+  liquibase_redshift_extension = callPackage ../development/java-modules/liquibase_redshift_extension { };
+
   prom2json = callPackage ../servers/monitoring/prometheus/prom2json.nix { };
-  prometheus = callPackage ../servers/monitoring/prometheus { };
+  prometheus = callPackage ../servers/monitoring/prometheus { buildGoModule = buildGo118Module; };
   prometheus-alertmanager = callPackage ../servers/monitoring/prometheus/alertmanager.nix { };
   prometheus-apcupsd-exporter = callPackage ../servers/monitoring/prometheus/apcupsd-exporter.nix { };
   prometheus-artifactory-exporter = callPackage ../servers/monitoring/prometheus/artifactory-exporter.nix { };
@@ -22422,8 +22546,6 @@ with pkgs;
 
   check-wmiplus = callPackage ../servers/monitoring/plugins/wmiplus { };
 
-  uchiwa = callPackage ../servers/monitoring/uchiwa { };
-
   shishi = callPackage ../servers/shishi {
       pam = if stdenv.isLinux then pam else null;
       # see also openssl, which has/had this same trick
@@ -22466,7 +22588,9 @@ with pkgs;
 
   systemd-journal2gelf = callPackage ../tools/system/systemd-journal2gelf { };
 
-  tailscale = callPackage ../servers/tailscale { };
+  tailscale = callPackage ../servers/tailscale {
+    buildGoModule = buildGo118Module;
+  };
 
   thanos = callPackage ../servers/monitoring/thanos { };
 
@@ -22519,6 +22643,8 @@ with pkgs;
 
   urserver = callPackage ../servers/urserver { };
 
+  uxplay = callPackage ../servers/uxplay { };
+
   vouch-proxy = callPackage ../servers/vouch-proxy {
     buildGoModule = buildGo116Module;
   };
@@ -22543,6 +22669,8 @@ with pkgs;
 
   webmetro = callPackage ../servers/webmetro { };
 
+  wishlist = callPackage ../servers/wishlist { };
+
   wsdd = callPackage ../servers/wsdd { };
 
   webhook = callPackage ../servers/http/webhook { };
@@ -22827,6 +22955,8 @@ with pkgs;
 
   extrace = callPackage ../os-specific/linux/extrace { };
 
+  facetimehd-calibration = callPackage ../os-specific/linux/firmware/facetimehd-calibration { };
+
   facetimehd-firmware = callPackage ../os-specific/linux/firmware/facetimehd-firmware { };
 
   fatrace = callPackage ../os-specific/linux/fatrace { };
@@ -23138,6 +23268,7 @@ with pkgs;
   };
 
   libraw = callPackage ../development/libraries/libraw { };
+  libraw_unstable = callPackage ../development/libraries/libraw/unstable.nix { };
 
   libraw1394 = callPackage ../development/libraries/libraw1394 { };
 
@@ -23543,6 +23674,8 @@ with pkgs;
 
   s3ql = callPackage ../tools/backup/s3ql { };
 
+  sasutils = callPackage ../os-specific/linux/sasutils { };
+
   sass = callPackage ../development/tools/sass { };
 
   sassc = callPackage ../development/tools/sassc { };
@@ -23582,8 +23715,6 @@ with pkgs;
 
   solo5 = callPackage ../os-specific/solo5 { };
 
-  speedometer = callPackage ../os-specific/linux/speedometer { };
-
   statik = callPackage ../development/tools/statik { };
 
   statifier = callPackage ../os-specific/linux/statifier { };
@@ -23778,6 +23909,9 @@ with pkgs;
     libgcrypt = null;
   };
 
+  usbrelay = callPackage ../os-specific/linux/usbrelay { };
+  usbrelayd = callPackage ../os-specific/linux/usbrelay/daemon.nix { };
+
   usbtop = callPackage ../os-specific/linux/usbtop { };
 
   usbutils = callPackage ../os-specific/linux/usbutils { };
@@ -23880,6 +24014,8 @@ with pkgs;
   ankacoder = callPackage ../data/fonts/ankacoder { };
   ankacoder-condensed = callPackage ../data/fonts/ankacoder/condensed.nix { };
 
+  annapurna-sil = callPackage ../data/fonts/annapurna-sil { };
+
   anonymousPro = callPackage ../data/fonts/anonymous-pro { };
 
   ant-theme = callPackage ../data/themes/ant-theme/ant.nix { };
@@ -23946,14 +24082,14 @@ with pkgs;
 
   cldr-annotations = callPackage ../data/misc/cldr-annotations { };
 
-  cldr-emoji-annotation = callPackage ../data/misc/cldr-emoji-annotation { };
-
   clearlooks-phenix = callPackage ../data/themes/clearlooks-phenix { };
 
   cnstrokeorder = callPackage ../data/fonts/cnstrokeorder {};
 
   comfortaa = callPackage ../data/fonts/comfortaa {};
 
+  comic-mono = callPackage ../data/fonts/comic-mono { };
+
   comic-neue = callPackage ../data/fonts/comic-neue { };
 
   comic-relief = callPackage ../data/fonts/comic-relief {};
@@ -24092,6 +24228,8 @@ with pkgs;
 
   execline-man-pages = skawarePackages.execline-man-pages;
 
+  ezra-sil = callPackage ../data/fonts/ezra-sil { };
+
   fantasque-sans-mono = callPackage ../data/fonts/fantasque-sans-mono {};
 
   fira = callPackage ../data/fonts/fira { };
@@ -24119,6 +24257,8 @@ with pkgs;
 
   g15daemon = callPackage ../os-specific/linux/g15daemon {};
 
+  galatia-sil = callPackage ../data/fonts/galatia-sil { };
+
   gentium = callPackage ../data/fonts/gentium {};
 
   gentium-book-basic = callPackage ../data/fonts/gentium-book-basic {};
@@ -24132,8 +24272,6 @@ with pkgs;
 
   gsettings-desktop-schemas = callPackage ../development/libraries/gsettings-desktop-schemas { };
 
-  gnome-breeze = callPackage ../data/themes/gnome-breeze { };
-
   gnome-icon-theme = callPackage ../data/icons/gnome-icon-theme { };
 
   go-font = callPackage ../data/fonts/go-font { };
@@ -24214,6 +24352,8 @@ with pkgs;
 
   iwona = callPackage ../data/fonts/iwona { };
 
+  jdt-language-server = callPackage ../development/tools/jdt-language-server {};
+
   jetbrains-mono = callPackage ../data/fonts/jetbrains-mono { };
 
   jost = callPackage ../data/fonts/jost { };
@@ -24230,6 +24370,8 @@ with pkgs;
 
   kanji-stroke-order-font = callPackage ../data/fonts/kanji-stroke-order-font {};
 
+  kacst = callPackage ../data/fonts/kacst {};
+
   kawkab-mono-font = callPackage ../data/fonts/kawkab-mono {};
 
   kde-rounded-corners = libsForQt5.callPackage ../data/themes/kwin-decorations/kde-rounded-corners { };
@@ -24258,6 +24400,8 @@ with pkgs;
 
   layan-kde = callPackage ../data/themes/layan-kde { };
 
+  lao = callPackage ../data/fonts/lao {};
+
   lato = callPackage ../data/fonts/lato {};
 
   league-of-moveable-type = callPackage ../data/fonts/league-of-moveable-type {};
@@ -25119,11 +25263,10 @@ with pkgs;
 
   avrdudess = callPackage ../applications/misc/avrdudess { };
 
-  awesome-4-0 = callPackage ../applications/window-managers/awesome {
+  awesome = callPackage ../applications/window-managers/awesome {
     cairo = cairo.override { xcbSupport = true; };
     inherit (texFunctions) fontsConf;
   };
-  awesome = awesome-4-0;
 
   awesomebump = libsForQt5.callPackage ../applications/graphics/awesomebump { };
 
@@ -25273,6 +25416,8 @@ with pkgs;
 
   btops = callPackage ../applications/window-managers/btops { };
 
+  buho = libsForQt5.callPackage ../applications/office/buho { };
+
   bvi = callPackage ../applications/editors/bvi { };
 
   bviplus = callPackage ../applications/editors/bviplus { };
@@ -25297,10 +25442,7 @@ with pkgs;
 
   calibre-web = callPackage ../servers/calibre-web { };
 
-  calligra = libsForQt5.callPackage ../applications/office/calligra {
-    # Must use the same Qt version as Calligra itself:
-    poppler = libsForQt5.poppler_0_61;
-  };
+  calligra = libsForQt5.callPackage ../applications/office/calligra { };
 
   perkeep = callPackage ../applications/misc/perkeep { };
 
@@ -25308,6 +25450,8 @@ with pkgs;
 
   canto-daemon = callPackage ../applications/networking/feedreaders/canto-daemon { };
 
+  caprine-bin = callPackage ../applications/networking/instant-messengers/caprine-bin { };
+
   carddav-util = callPackage ../tools/networking/carddav-util { };
 
   cardinal = callPackage ../applications/audio/cardinal { };
@@ -25368,6 +25512,8 @@ with pkgs;
 
   ChowKick  = callPackage ../applications/audio/ChowKick { };
 
+  ChowPhaser  = callPackage ../applications/audio/ChowPhaser { };
+
   CHOWTapeModel = callPackage ../applications/audio/CHOWTapeModel { };
 
   chromium = callPackage ../applications/networking/browsers/chromium (config.chromium or {});
@@ -25842,6 +25988,8 @@ with pkgs;
 
   espeakedit = callPackage ../applications/audio/espeak/edit.nix { };
 
+  espeakup = callPackage ../applications/accessibility/espeakup { };
+
   etebase-server = with python3Packages; toPythonApplication etebase-server;
 
   etesync-dav = callPackage ../applications/misc/etesync-dav {};
@@ -25891,8 +26039,6 @@ with pkgs;
 
   icesl = callPackage ../applications/misc/icesl { };
 
-  kalendar = libsForQt5.callPackage ../applications/office/kalendar { };
-
   keepassx = callPackage ../applications/misc/keepassx { };
   keepassx2 = callPackage ../applications/misc/keepassx/2.0.nix { };
   keepassxc = libsForQt5.callPackage ../applications/misc/keepassx/community.nix { };
@@ -25951,6 +26097,8 @@ with pkgs;
 
   fetchmail = callPackage ../applications/misc/fetchmail { };
 
+  ff2mpv = callPackage ../applications/misc/ff2mpv { };
+
   fff = callPackage ../applications/misc/fff { };
 
   fig2dev = callPackage ../applications/graphics/fig2dev { };
@@ -25965,6 +26113,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  firewalld = callPackage ../applications/networking/firewalld { };
+
+  firewalld-gui = firewalld.override { withGui = true; };
+
   flacon = libsForQt5.callPackage ../applications/audio/flacon { };
 
   flexget = callPackage ../applications/networking/flexget { };
@@ -26233,8 +26385,6 @@ with pkgs;
 
   w_scan = callPackage ../applications/video/w_scan { };
 
-  wavesurfer = callPackage ../applications/misc/audio/wavesurfer { };
-
   wavrsocvt = callPackage ../applications/misc/audio/wavrsocvt { };
 
   welle-io = libsForQt5.callPackage ../applications/radio/welle-io { };
@@ -26456,6 +26606,7 @@ with pkgs;
   };
 
   git = callPackage ../applications/version-management/git-and-tools/git {
+    inherit (darwin.apple_sdk.frameworks) CoreServices Security;
     perlLibs = [perlPackages.LWP perlPackages.URI perlPackages.TermReadKey];
     smtpPerlLibs = [
       perlPackages.libnet perlPackages.NetSMTPSSL
@@ -26538,6 +26689,10 @@ with pkgs;
 
   libquvi = callPackage ../applications/video/quvi/library.nix { };
 
+  LibreArp = callPackage ../applications/audio/LibreArp { };
+
+  LibreArp-lv2 = callPackage ../applications/audio/LibreArp/lv2.nix { };
+
   librespot = callPackage ../applications/audio/librespot {
     withALSA = stdenv.isLinux;
     withPulseAudio = config.pulseaudio or stdenv.isLinux;
@@ -26851,6 +27006,8 @@ with pkgs;
     extra-packages = [ csound ];
   };
 
+  hyperion-ng = libsForQt5.callPackage ../applications/video/hyperion-ng { };
+
   hyperledger-fabric = callPackage ../tools/misc/hyperledger-fabric { };
 
   indigenous-desktop = callPackage ../applications/networking/feedreaders/indigenous-desktop { };
@@ -26885,6 +27042,8 @@ with pkgs;
 
   pinboard-notes-backup = haskell.lib.compose.justStaticExecutables haskellPackages.pinboard-notes-backup;
 
+  pixel2svg = python310Packages.callPackage ../tools/graphics/pixel2svg { };
+
   pixelnuke = callPackage ../applications/graphics/pixelnuke { };
 
   pixeluvo = callPackage ../applications/graphics/pixeluvo { };
@@ -26907,6 +27066,8 @@ with pkgs;
 
   sonixd = callPackage ../applications/audio/sonixd { };
 
+  sosreport = python3Packages.callPackage ../applications/logging/sosreport { };
+
   spectmorph = callPackage ../applications/audio/spectmorph { };
 
   smallwm = callPackage ../applications/window-managers/smallwm { };
@@ -27544,7 +27705,7 @@ with pkgs;
 
   libowlevelzs = callPackage ../development/libraries/libowlevelzs { };
 
-  librecad = libsForQt514.callPackage ../applications/misc/librecad {
+  librecad = libsForQt5.callPackage ../applications/misc/librecad {
     boost = boost175;
   };
 
@@ -27625,8 +27786,6 @@ with pkgs;
 
   lightburn = libsForQt5.callPackage ../applications/graphics/lightburn { };
 
-  lighthouse = callPackage ../applications/misc/lighthouse { };
-
   lighthouse-steamvr = callPackage ../tools/misc/lighthouse-steamvr { };
 
   lighttable = callPackage ../applications/editors/lighttable {};
@@ -27678,8 +27837,6 @@ with pkgs;
     inherit (luajitPackages) luafilesystem;
   };
 
-  lookatme = callPackage ../tools/misc/lookatme {};
-
   looking-glass-client = callPackage ../applications/virtualization/looking-glass-client { };
 
   ltc-tools = callPackage ../applications/audio/ltc-tools { };
@@ -27825,8 +27982,7 @@ with pkgs;
 
   meme-suite = callPackage ../applications/science/biology/meme-suite { };
 
-  # Needs qtwebkit which is broken on qt5.15
-  mendeley = libsForQt514.callPackage ../applications/office/mendeley {
+  mendeley = libsForQt5.callPackage ../applications/office/mendeley {
     gconf = gnome2.GConf;
   };
 
@@ -27845,9 +28001,8 @@ with pkgs;
 
   merkaartor = libsForQt5.callPackage ../applications/misc/merkaartor { };
 
-  mepo = callPackage ../applications/misc/mepo {
-    zig = zig_0_8_1;
-  };
+  mepo = callPackage ../applications/misc/mepo { };
+  mepo-x11 = callPackage ../applications/misc/mepo { withX11 = true; };
 
   meshcentral = callPackage ../tools/admin/meshcentral { };
 
@@ -28223,8 +28378,7 @@ with pkgs;
   ostinato = libsForQt5.callPackage ../applications/networking/ostinato { };
 
   p4 = callPackage ../applications/version-management/p4 { };
-  # Broken with Qt5.15 because qtwebkit is broken with it
-  p4v = libsForQt514.callPackage ../applications/version-management/p4v { };
+  p4v = libsForQt515.callPackage ../applications/version-management/p4v { };
 
   partio = callPackage ../development/libraries/partio {};
 
@@ -28630,8 +28784,6 @@ with pkgs;
 
   paraview = libsForQt5.callPackage ../applications/graphics/paraview { };
 
-  parlatype = callPackage ../applications/audio/parlatype { };
-
   packet = callPackage ../development/tools/packet { };
 
   packet-sd = callPackage ../development/tools/packet-sd { };
@@ -28937,7 +29089,7 @@ with pkgs;
 
   qimgv = libsForQt5.callPackage ../applications/graphics/qimgv { };
 
-  qlandkartegt = libsForQt514.callPackage ../applications/misc/qlandkartegt {
+  qlandkartegt = libsForQt5.callPackage ../applications/misc/qlandkartegt {
     gdal = gdal.override {
       libgeotiff = libgeotiff.override { proj = proj_7; };
       libspatialite = libspatialite.override { proj = proj_7; };
@@ -29033,8 +29185,6 @@ with pkgs;
 
   quiterss = libsForQt514.callPackage ../applications/networking/newsreaders/quiterss {};
 
-  falkon = libsForQt5.callPackage ../applications/networking/browsers/falkon { };
-
   quodlibet = callPackage ../applications/audio/quodlibet {
     keybinder3 = null;
     libmodplug = null;
@@ -29207,7 +29357,7 @@ with pkgs;
 
   udevil = callPackage ../applications/misc/udevil {};
 
-  udiskie = python3.pkgs.callPackage ../applications/misc/udiskie { };
+  udiskie = callPackage ../applications/misc/udiskie { };
 
   sacc = callPackage ../applications/networking/gopher/sacc { };
 
@@ -29456,8 +29606,6 @@ with pkgs;
 
   sipp = callPackage ../development/tools/misc/sipp { };
 
-  skanpage = libsForQt5.callPackage ../applications/graphics/skanpage { };
-
   soci = callPackage ../development/libraries/soci { };
 
   socialscan = with python3.pkgs; toPythonApplication socialscan;
@@ -29548,7 +29696,7 @@ with pkgs;
     sublime-merge-dev;
 
   inherit (callPackages ../applications/version-management/subversion { sasl = cyrus_sasl; })
-    subversion_1_10 subversion;
+    subversion;
 
   subversionClient = subversion.override {
     bdbSupport = false;
@@ -29733,7 +29881,8 @@ with pkgs;
 
   inherit (callPackage ../applications/graphics/tesseract {})
     tesseract3
-    tesseract4;
+    tesseract4
+    tesseract5;
   tesseract = tesseract3;
 
   tetraproc = callPackage ../applications/audio/tetraproc { };
@@ -29923,10 +30072,6 @@ with pkgs;
     swt = swt_jdk8;
   };
 
-  twister = callPackage ../applications/networking/p2p/twister {
-    boost = boost16x;
-  };
-
   twmn = libsForQt5.callPackage ../applications/misc/twmn { };
 
   testssl = callPackage ../applications/networking/testssl { };
@@ -30111,7 +30256,7 @@ with pkgs;
 
   virtual-ans = callPackage ../applications/audio/virtual-ans {};
 
-  virtualbox = libsForQt514.callPackage ../applications/virtualization/virtualbox {
+  virtualbox = libsForQt5.callPackage ../applications/virtualization/virtualbox {
     stdenv = stdenv_32bit;
     inherit (gnome2) libIDL;
     jdk = openjdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
@@ -30167,6 +30312,9 @@ with pkgs;
 
   uvcdynctrl = callPackage ../os-specific/linux/uvcdynctrl { };
 
+  viper4linux = callPackage ../applications/audio/viper4linux { };
+  viper4linux-gui = libsForQt5.callPackage ../applications/audio/viper4linux-gui { };
+
   vkeybd = callPackage ../applications/audio/vkeybd {};
 
   vlc = libsForQt5.callPackage ../applications/video/vlc {
@@ -30189,6 +30337,8 @@ with pkgs;
 
   vmware-horizon-client = callPackage ../applications/networking/remote/vmware-horizon-client { };
 
+  vmware-workstation = callPackage ../applications/virtualization/vmware-workstation { };
+
   vocproc = callPackage ../applications/audio/vocproc { };
 
   vnstat = callPackage ../applications/networking/vnstat { };
@@ -30371,7 +30521,7 @@ with pkgs;
 
   wmderlandc = callPackage ../applications/window-managers/wmderlandc { };
 
-  wmii_hg = callPackage ../applications/window-managers/wmii-hg { };
+  wmii = callPackage ../applications/window-managers/wmii { };
 
   wofi = callPackage ../applications/misc/wofi { };
 
@@ -30394,12 +30544,14 @@ with pkgs;
 
   worldengine-cli = python3Packages.worldengine;
 
-  wpsoffice = libsForQt514.callPackage ../applications/office/wpsoffice {};
+  wpsoffice = libsForQt5.callPackage ../applications/office/wpsoffice {};
 
   wrapFirefox = callPackage ../applications/networking/browsers/firefox/wrapper.nix { };
 
   wrapThunderbird = callPackage ../applications/networking/mailreaders/thunderbird/wrapper.nix { };
 
+  wp4nix = callPackage ../development/tools/wp4nix { };
+
   wp-cli = callPackage ../development/tools/wp-cli { };
 
   wsjtx = qt5.callPackage ../applications/radio/wsjtx { };
@@ -31158,8 +31310,16 @@ with pkgs;
 
   keeperrl = callPackage ../games/keeperrl { };
 
+  ### GAMES/LGAMES
+
+  barrage = callPackage ../games/lgames/barrage { };
+
   lbreakout2 = callPackage ../games/lgames/lbreakout2 { };
 
+  lbreakouthd = callPackage ../games/lgames/lbreakouthd { };
+
+  lpairs2 = callPackage ../games/lgames/lpairs2 { };
+
   ltris = callPackage ../games/lgames/ltris { };
 
   lunar-client = callPackage ../games/lunar-client { };
@@ -31848,7 +32008,7 @@ with pkgs;
 
   powermanga = callPackage ../games/powermanga { };
 
-  prboom = callPackage ../games/prboom { };
+  prboom-plus = callPackage ../games/prboom-plus { };
 
   pysolfc = python3Packages.callPackage ../games/pysolfc { };
 
@@ -32083,7 +32243,7 @@ with pkgs;
 
   tibia = pkgsi686Linux.callPackage ../games/tibia { };
 
-  tintin = callPackage ../games/tintin { };
+  tintin = throw "tintin has been removed due to lack of maintainers";
 
   tinyfugue = callPackage ../games/tinyfugue { };
 
@@ -32682,6 +32842,8 @@ with pkgs;
 
   almonds = callPackage ../applications/science/math/almonds { };
 
+  adolc = callPackage ../applications/science/math/adolc { };
+
   amd-blis = callPackage ../development/libraries/science/math/amd-blis { };
 
   amd-libflame = callPackage ../development/libraries/science/math/amd-libflame { };
@@ -33260,13 +33422,6 @@ with pkgs;
 
   caffeWithCuda = caffe.override { cudaSupport = true; };
 
-  caffe2 = callPackage ../development/libraries/science/math/caffe2 (rec {
-    inherit (python3Packages) python future six numpy pydot;
-    protobuf = protobuf3_1;
-    python-protobuf = python3Packages.protobuf.override { inherit protobuf; };
-    opencv3 = opencv3WithoutCuda; # Used only for image loading.
-  });
-
   caffeine-ng = callPackage ../tools/X11/caffeine-ng {};
 
   cntk = callPackage ../applications/science/math/cntk {
@@ -33506,6 +33661,8 @@ with pkgs;
 
   acpilight = callPackage ../misc/acpilight { };
 
+  alpnpass = callPackage ../applications/networking/alpnpass { };
+
   android-file-transfer = libsForQt5.callPackage ../tools/filesystems/android-file-transfer { };
 
   antimicrox = libsForQt5.callPackage ../tools/misc/antimicrox { };
@@ -34304,6 +34461,8 @@ with pkgs;
 
   runit = callPackage ../tools/system/runit { };
 
+  runitor = callPackage ../tools/system/runitor { };
+
   refind = callPackage ../tools/bootloaders/refind { };
 
   spectrojack = callPackage ../applications/audio/spectrojack { };
@@ -34615,6 +34774,8 @@ with pkgs;
 
   vivid = callPackage ../tools/misc/vivid { };
 
+  vivisect = with python3Packages; toPythonApplication (vivisect.override { withGui = true; });
+
   vokoscreen = libsForQt5.callPackage ../applications/video/vokoscreen { };
 
   vokoscreen-ng = libsForQt5.callPackage ../applications/video/vokoscreen-ng {
@@ -34849,7 +35010,7 @@ with pkgs;
     inherit pkgs lib stdenv;
   };
 
-  golden-cheetah = libsForQt514.callPackage ../applications/misc/golden-cheetah {};
+  golden-cheetah = libsForQt5.callPackage ../applications/misc/golden-cheetah {};
 
   linkchecker = callPackage ../tools/networking/linkchecker { };
 
@@ -35125,7 +35286,7 @@ with pkgs;
     jami-daemon jami-libclient jami-client-gnome jami-client-qt;
 
   jitsi-meet-electron = callPackage ../applications/networking/instant-messengers/jitsi-meet-electron {
-    electron = electron_16;
+    electron = electron_17;
   };
 
   zenstates = callPackage ../os-specific/linux/zenstates {};
@@ -35186,4 +35347,6 @@ with pkgs;
   honeytail = callPackage ../servers/tracing/honeycomb/honeytail { };
 
   honeyvent = callPackage ../servers/tracing/honeycomb/honeyvent { };
+
+  mictray = callPackage ../tools/audio/mictray { };
 }
diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix
index 948eb5ef9b7..d553b624039 100644
--- a/pkgs/top-level/config.nix
+++ b/pkgs/top-level/config.nix
@@ -32,6 +32,14 @@ let
       feature = "run <literal>checkPhase</literal> by default";
     };
 
+    strictDepsByDefault = mkMassRebuild {
+      feature = "set <literal>strictDeps</literal> to true by default";
+    };
+
+    contentAddressedByDefault = mkMassRebuild {
+      feature = "set <literal>__contentAddressed</literal> to true by default";
+    };
+
     allowAliases = mkOption {
       type = types.bool;
       default = true;
@@ -50,6 +58,57 @@ let
       '';
     };
 
+    allowUnfree = mkOption {
+      type = types.bool;
+      default = false;
+      # getEnv part is in check-meta.nix
+      defaultText = literalExpression ''false || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1"'';
+      description = ''
+        Whether to allow unfree packages.
+
+        See <link xlink:href="https://nixos.org/manual/nixpkgs/stable/#sec-allow-unfree">Installing unfree packages</link> in the NixOS manual.
+      '';
+    };
+
+    allowBroken = mkOption {
+      type = types.bool;
+      default = false;
+      # getEnv part is in check-meta.nix
+      defaultText = literalExpression ''false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"'';
+      description = ''
+        Whether to allow broken packages.
+
+        See <link xlink:href="https://nixos.org/manual/nixpkgs/stable/#sec-allow-broken">Installing broken packages</link> in the NixOS manual.
+      '';
+    };
+
+    allowUnsupportedSystem = mkOption {
+      type = types.bool;
+      default = false;
+      # getEnv part is in check-meta.nix
+      defaultText = literalExpression ''false || builtins.getEnv "NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM" == "1"'';
+      description = ''
+        Whether to allow unsupported packages.
+
+        See <link xlink:href="https://nixos.org/manual/nixpkgs/stable/#sec-allow-unsupported-system">Installing packages on unsupported systems</link> in the NixOS manual.
+      '';
+    };
+
+    showDerivationWarnings = mkOption {
+      type = types.listOf (types.enum [ "maintainerless" ]);
+      default = [];
+      description = ''
+        Which warnings to display for potentially dangerous
+        or deprecated values passed into `stdenv.mkDerivation`.
+
+        A list of warnings can be found in
+        <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/check-meta.nix">/pkgs/stdenv/generic/check-meta.nix</link>.
+
+        This is not a stable interface; warnings may be added, changed
+        or removed without prior notice.
+      '';
+    };
+
   };
 
 in {
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index c71ec2acf94..6af05d761c4 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -77,6 +77,7 @@ let
       mathcomp-word = callPackage ../development/coq-modules/mathcomp-word {};
       mathcomp-zify = callPackage ../development/coq-modules/mathcomp-zify {};
       mathcomp-tarjan = callPackage ../development/coq-modules/mathcomp-tarjan {};
+      metacoq = callPackage ../development/coq-modules/metacoq { };
       metalib = callPackage ../development/coq-modules/metalib { };
       multinomials = callPackage ../development/coq-modules/multinomials {};
       odd-order = callPackage ../development/coq-modules/odd-order { };
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index e02802b88ab..9743acce4b6 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -11,6 +11,7 @@
 , newScope
 , lib
 , fetchurl
+, gcc10Stdenv
 }:
 
 # When adding a kernel:
@@ -159,12 +160,7 @@ in {
       ];
     };
 
-    linux_5_16 = callPackage ../os-specific/linux/kernel/linux-5.16.nix {
-      kernelPatches = [
-        kernelPatches.bridge_stp_helper
-        kernelPatches.request_key_helper
-      ];
-    };
+    linux_5_16 = throw "linux 5.16 was removed because it has reached its end of life upstream";
 
     linux_5_17 = callPackage ../os-specific/linux/kernel/linux-5.17.nix {
       kernelPatches = [
@@ -186,7 +182,7 @@ in {
        else testing;
 
     linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.nix rec {
-      kernel = linux_5_16;
+      kernel = linux_5_17;
       kernelPatches = kernel.kernelPatches;
    };
 
@@ -468,6 +464,8 @@ in {
 
     vmm_clock = callPackage ../os-specific/linux/vmm_clock { };
 
+    vmware = callPackage ../os-specific/linux/vmware { };
+
     wireguard = if lib.versionOlder kernel.version "5.6" then callPackage ../os-specific/linux/wireguard { } else null;
 
     x86_energy_perf_policy = callPackage ../os-specific/linux/x86_energy_perf_policy { };
@@ -503,7 +501,7 @@ in {
     linux_5_4 = recurseIntoAttrs (packagesFor kernels.linux_5_4);
     linux_5_10 = recurseIntoAttrs (packagesFor kernels.linux_5_10);
     linux_5_15 = recurseIntoAttrs (packagesFor kernels.linux_5_15);
-    linux_5_16 = recurseIntoAttrs (packagesFor kernels.linux_5_16);
+    linux_5_16 = throw "linux 5.16 was removed because it reached its end of life upstream"; # Added 2022-04-23
     linux_5_17 = recurseIntoAttrs (packagesFor kernels.linux_5_17);
   };
 
@@ -529,9 +527,18 @@ in {
 
     linux_hardened = recurseIntoAttrs (hardenedPackagesFor packageAliases.linux_default.kernel { });
 
-    linux_4_14_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_4_14 { });
-    linux_4_19_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_4_19 { });
-    linux_5_4_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_4 { });
+    linux_4_14_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_4_14 {
+      stdenv = gcc10Stdenv;
+      buildPackages = buildPackages // { stdenv = buildPackages.gcc10Stdenv; };
+    });
+    linux_4_19_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_4_19 {
+      stdenv = gcc10Stdenv;
+      buildPackages = buildPackages // { stdenv = buildPackages.gcc10Stdenv; };
+    });
+    linux_5_4_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_4 {
+      stdenv = gcc10Stdenv;
+      buildPackages = buildPackages // { stdenv = buildPackages.gcc10Stdenv; };
+    });
     linux_5_10_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_10 { });
     linux_5_15_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_15 { });
 
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 4601739d4fe..9d7bce728c5 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -46,6 +46,10 @@ let
 
     atdgen = callPackage ../development/ocaml-modules/atdgen { };
 
+    atdgen-codec-runtime = callPackage ../development/ocaml-modules/atdgen/codec-runtime.nix { };
+
+    atdgen-runtime = callPackage ../development/ocaml-modules/atdgen/runtime.nix { };
+
     awa = callPackage ../development/ocaml-modules/awa { };
 
     awa-lwt = callPackage ../development/ocaml-modules/awa/lwt.nix { };
@@ -105,6 +109,8 @@ let
 
     camlidl = callPackage ../development/tools/ocaml/camlidl { };
 
+    camlp-streams = callPackage ../development/ocaml-modules/camlp-streams { };
+
     camlp4 =
       if lib.versionOlder "4.02" ocaml.version
       then callPackage ../development/tools/ocaml/camlp4 { }
@@ -330,6 +336,8 @@ let
       inherit (pkgs) opam git mercurial coreutils gnutar bzip2;
     };
 
+    dune-rpc = callPackage ../development/ocaml-modules/dune-rpc { };
+
     dune-site = callPackage ../development/ocaml-modules/dune-site { };
 
     duration =  callPackage ../development/ocaml-modules/duration { };
@@ -417,6 +425,8 @@ let
       inherit (pkgs) ffmpeg;
     };
 
+    fiber = callPackage ../development/ocaml-modules/fiber { };
+
     fileutils = callPackage ../development/ocaml-modules/fileutils { };
 
     findlib = callPackage ../development/tools/ocaml/findlib { };
@@ -990,6 +1000,8 @@ let
 
     ocplib-simplex = callPackage ../development/ocaml-modules/ocplib-simplex { };
 
+    ocsigen-ppx-rpc = callPackage ../development/ocaml-modules/ocsigen-ppx-rpc { };
+
     ocsigen_server = callPackage ../development/ocaml-modules/ocsigen-server { };
 
     ocsigen-start = callPackage ../development/ocaml-modules/ocsigen-start { };
@@ -1268,6 +1280,8 @@ let
 
     rebez = callPackage ../development/ocaml-modules/rebez { };
 
+    reperf = callPackage ../development/ocaml-modules/reperf { };
+
     rfc7748 = callPackage ../development/ocaml-modules/rfc7748 { };
 
     ezresto = callPackage ../development/ocaml-modules/resto/ezresto.nix { };
@@ -1337,67 +1351,6 @@ let
 
     terminal_size = callPackage ../development/ocaml-modules/terminal_size { };
 
-    tezos-010-PtGRANAD-test-helpers = callPackage ../development/ocaml-modules/tezos/010-PtGRANAD-test-helpers.nix { };
-    tezos-011-PtHangz2-test-helpers = callPackage ../development/ocaml-modules/tezos/011-PtHangz2-test-helpers.nix { };
-    tezos-base = callPackage ../development/ocaml-modules/tezos/base.nix { };
-    tezos-base-test-helpers = callPackage ../development/ocaml-modules/tezos/base-test-helpers.nix { };
-    tezos-clic = callPackage ../development/ocaml-modules/tezos/clic.nix { };
-    tezos-client-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/client-010-PtGRANAD.nix { };
-    tezos-client-011-PtHangz2 = callPackage ../development/ocaml-modules/tezos/client-011-PtHangz2.nix { };
-    tezos-client-base = callPackage ../development/ocaml-modules/tezos/client-base.nix { };
-    tezos-context = callPackage ../development/ocaml-modules/tezos/context.nix { };
-    tezos-crypto = callPackage ../development/ocaml-modules/tezos/crypto.nix { };
-    tezos-embedded-protocol-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/embedded-protocol-010-PtGRANAD.nix { };
-    tezos-embedded-protocol-demo-noops = callPackage ../development/ocaml-modules/tezos/embedded-protocol-demo-noops.nix { };
-    tezos-error-monad = callPackage ../development/ocaml-modules/tezos/error-monad.nix { };
-    tezos-event-logging = callPackage ../development/ocaml-modules/tezos/event-logging.nix { };
-    tezos-event-logging-test-helpers = callPackage ../development/ocaml-modules/tezos/event-logging-test-helpers.nix { };
-    tezos-legacy-store = callPackage ../development/ocaml-modules/tezos/legacy-store.nix { };
-    tezos-lmdb = callPackage ../development/ocaml-modules/tezos/lmdb.nix { };
-    tezos-hacl-glue = callPackage ../development/ocaml-modules/tezos/hacl-glue.nix { };
-    tezos-hacl-glue-unix = callPackage ../development/ocaml-modules/tezos/hacl-glue-unix.nix { };
-    tezos-lwt-result-stdlib = callPackage ../development/ocaml-modules/tezos/lwt-result-stdlib.nix { };
-    tezos-micheline = callPackage ../development/ocaml-modules/tezos/micheline.nix { };
-    tezos-mockup-proxy = callPackage ../development/ocaml-modules/tezos/mockup-proxy.nix { };
-    tezos-mockup-registration = callPackage ../development/ocaml-modules/tezos/mockup-registration.nix { };
-    tezos-p2p-services = callPackage ../development/ocaml-modules/tezos/p2p-services.nix { };
-    tezos-p2p = callPackage ../development/ocaml-modules/tezos/p2p.nix { };
-    tezos-protocol-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix { };
-    tezos-protocol-010-PtGRANAD-parameters = callPackage ../development/ocaml-modules/tezos/protocol-010-PtGRANAD-parameters.nix { };
-    tezos-protocol-011-PtHangz2 = callPackage ../development/ocaml-modules/tezos/protocol-011-PtHangz2.nix { };
-    tezos-protocol-011-PtHangz2-parameters = callPackage ../development/ocaml-modules/tezos/protocol-011-PtHangz2-parameters.nix { };
-    tezos-protocol-alpha = callPackage ../development/ocaml-modules/tezos/protocol-alpha.nix { };
-    tezos-protocol-compiler = callPackage ../development/ocaml-modules/tezos/protocol-compiler.nix { };
-    tezos-protocol-demo-noops = callPackage ../development/ocaml-modules/tezos/protocol-demo-noops.nix { };
-    tezos-protocol-environment-packer = callPackage ../development/ocaml-modules/tezos/protocol-environment-packer.nix { };
-    tezos-protocol-environment-sigs = callPackage ../development/ocaml-modules/tezos/protocol-environment-sigs.nix { };
-    tezos-protocol-environment-structs = callPackage ../development/ocaml-modules/tezos/protocol-environment-structs.nix { };
-    tezos-protocol-environment = callPackage ../development/ocaml-modules/tezos/protocol-environment.nix { };
-    tezos-protocol-plugin-010-PtGRANAD = callPackage ../development/ocaml-modules/tezos/protocol-plugin-010-PtGRANAD.nix { };
-    tezos-protocol-plugin-011-PtHangz2 = callPackage ../development/ocaml-modules/tezos/protocol-plugin-011-PtHangz2.nix { };
-    tezos-protocol-plugin-alpha = callPackage ../development/ocaml-modules/tezos/protocol-plugin-alpha.nix { };
-    tezos-protocol-updater = callPackage ../development/ocaml-modules/tezos/protocol-updater.nix { };
-    tezos-proxy = callPackage ../development/ocaml-modules/tezos/proxy.nix { };
-    tezos-requester = callPackage ../development/ocaml-modules/tezos/requester.nix { };
-    tezos-rpc-http-client-unix = callPackage ../development/ocaml-modules/tezos/rpc-http-client-unix.nix { };
-    tezos-rpc-http-client = callPackage ../development/ocaml-modules/tezos/rpc-http-client.nix { };
-    tezos-rpc-http = callPackage ../development/ocaml-modules/tezos/rpc-http.nix { };
-    tezos-rpc = callPackage ../development/ocaml-modules/tezos/rpc.nix { };
-    tezos-sapling = callPackage ../development/ocaml-modules/tezos/sapling.nix { };
-    tezos-shell-context = callPackage ../development/ocaml-modules/tezos/shell-context.nix { };
-    tezos-shell-services = callPackage ../development/ocaml-modules/tezos/shell-services.nix { };
-    tezos-shell-services-test-helpers = callPackage ../development/ocaml-modules/tezos/shell-services-test-helpers.nix { };
-    tezos-shell = callPackage ../development/ocaml-modules/tezos/shell.nix { };
-    tezos-signer-backends = callPackage ../development/ocaml-modules/tezos/signer-backends.nix { };
-    tezos-signer-services = callPackage ../development/ocaml-modules/tezos/signer-services.nix { };
-    tezos-stdlib-unix = callPackage ../development/ocaml-modules/tezos/stdlib-unix.nix { };
-    tezos-stdlib = callPackage ../development/ocaml-modules/tezos/stdlib.nix { };
-    tezos-test-helpers = callPackage ../development/ocaml-modules/tezos/test-helpers.nix { };
-    tezos-store = callPackage ../development/ocaml-modules/tezos/store.nix { };
-    tezos-validation = callPackage ../development/ocaml-modules/tezos/validation.nix { };
-    tezos-version = callPackage ../development/ocaml-modules/tezos/version.nix { };
-    tezos-workers = callPackage ../development/ocaml-modules/tezos/workers.nix { };
-
     theora = callPackage ../development/ocaml-modules/theora { };
 
     toml = callPackage ../development/ocaml-modules/toml { };
@@ -1469,6 +1422,8 @@ let
 
     x509 = callPackage ../development/ocaml-modules/x509 { };
 
+    xdg = callPackage ../development/ocaml-modules/xdg { };
+
     xenstore = callPackage ../development/ocaml-modules/xenstore { };
 
     xenstore_transport = callPackage ../development/ocaml-modules/xenstore_transport { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index fb81f95cac5..72568265a82 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -11851,6 +11851,19 @@ let
     };
   };
 
+  LexicalSealRequireHints = buildPerlModule {
+    pname = "Lexical-SealRequireHints";
+    version = "0.0011";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Lexical-SealRequireHints-0.011.tar.gz";
+      sha256 = "sha256-npGO0RjvaF1uCdqxzW5m7gox13b+JLumPlJDkG9WATo=";
+    };
+    meta = {
+      description = "Prevent leakage of lexical hints";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   libapreq2 = buildPerlPackage {
     pname = "libapreq2";
     version = "2.16";
@@ -17133,7 +17146,6 @@ let
       sha256 = "0xl8lcv9gfv0nn8vrrxa4az359whqdhmzw4r51nn3add8pn3s9ip";
     };
     buildInputs = [ pkgs.zookeeper_mt ];
-    nativeBuildInputs = [ pkgs.gnused ];
     # fix "error: format not a string literal and no format arguments [-Werror=format-security]"
     hardeningDisable = [ "format" ];
     # Make the async API accessible
@@ -20559,6 +20571,21 @@ let
     };
   };
 
+  SubStrictDecl = buildPerlModule {
+    pname = "Sub-StrictDecl";
+    version = "0.005";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Sub-StrictDecl-0.005.tar.gz";
+      sha256 = "sha256-oSfa52RcGpVwzZopcMbcST1SL/BzGKNKOeQJCY9pESU=";
+    };
+    propagatedBuildInputs = [ LexicalSealRequireHints ];
+    perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
+    meta = {
+      description = "Detect undeclared subroutines in compilation";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   SubUplevel = buildPerlPackage {
     pname = "Sub-Uplevel";
     version = "0.2800";
@@ -23223,7 +23250,11 @@ let
       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Text-Markdown-1.000031.tar.gz";
       sha256 = "06y79lla8adkqhrs41xdddqjs81dcrh266b50mfbg37bxkawd4f1";
     };
-    buildInputs = [ ListMoreUtils TestDifferences TestException ];
+    nativeBuildInputs = [ shortenPerlShebang ];
+    checkInputs = [ ListMoreUtils TestDifferences TestException ];
+    postInstall = ''
+      shortenPerlShebang $out/bin/Markdown.pl
+    '';
   };
 
   TextMarkdownHoedown = buildPerlModule {
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 1cc267de788..3fa17b35853 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -209,6 +209,8 @@ lib.makeScope pkgs.newScope (self: with self; {
       sha256 = "108ds92620dih5768z19hi0jxfa7wfg5hdvyyvpapir87c0ap914";
     });
 
+    openswoole = callPackage ../development/php-packages/openswoole { };
+
     pdlib = callPackage ../development/php-packages/pdlib { };
 
     pcov = callPackage ../development/php-packages/pcov { };
@@ -461,7 +463,7 @@ lib.makeScope pkgs.newScope (self: with self; {
             '')
           ];
           zendExtension = true;
-          doCheck = !(lib.versionOlder php.version "7.4");
+          doCheck = lib.versionAtLeast php.version "7.4";
           # Tests launch the builtin webserver.
           __darwinAllowLocalNetworking = true;
         }
@@ -525,7 +527,7 @@ lib.makeScope pkgs.newScope (self: with self; {
           '';
           doCheck = false;
         }
-        { name = "session"; doCheck = !(lib.versionAtLeast php.version "8.0"); }
+        { name = "session"; doCheck = lib.versionOlder php.version "8.0"; }
         { name = "shmop"; }
         {
           name = "simplexml";
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 85c79d04d33..0dcb33f7965 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -34,6 +34,7 @@ in
 
 mapAliases ({
   aioh2 = throw "aioh2 has been removed because it is abandoned and broken."; # Added 2022-03-30
+  ansible-base = throw "ansible-base has been removed, because it is end of life"; # added 2022-03-30
   anyjson = throw "anyjson has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
   asyncio-nats-client = nats-py; # added 2022-02-08
   bitcoin-price-api = throw "bitcoin-price-api has been removed, it was using setuptools 2to3 translation feautre, which has been removed in setuptools 58"; # added 2022-02-15
@@ -63,6 +64,7 @@ mapAliases ({
   dogpile-core = throw "dogpile-core is no longer maintained, use dogpile-cache instead"; # added 2021-11-20
   eebrightbox = throw "eebrightbox is unmaintained upstream and has therefore been removed"; # added 2022-02-03
   faulthandler = throw "faulthandler is built into ${python.executable}"; # added 2021-07-12
+  flask_testing = flask-testing; # added 2022-04-25
   garminconnect-ha = garminconnect; # added 2022-02-05
   gitdb2 = throw "gitdb2 has been deprecated, use gitdb instead."; # added 2020-03-14
   glances = throw "glances has moved to pkgs.glances"; # added 2020-20-28
@@ -77,8 +79,10 @@ mapAliases ({
   jupyter_client = jupyter-client; # added 2021-10-15
   Keras = keras; # added 2021-11-25
   lammps-cython = throw "lammps-cython no longer builds and is unmaintained"; # added 2021-07-04
+  loo-py = loopy; # added 2022-05-03
   Markups = markups; # added 2022-02-14
   MechanicalSoup = mechanicalsoup; # added 2021-06-01
+  net2grid = gridnet; # add 2022-04-22
   nose-cover3 = throw "nose-cover3 has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-02-16
   pam = python-pam; # added 2020-09-07.
   PasteDeploy = pastedeploy; # added 2021-10-07
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 0dde52a978d..8ebd87e812a 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -106,6 +106,7 @@ in {
   inherit buildSetupcfg;
 
   inherit (callPackage ../development/interpreters/python/hooks { })
+    sphinxHook
     condaInstallHook
     condaUnpackHook
     eggUnpackHook
@@ -203,6 +204,8 @@ in {
 
   advantage-air = callPackage ../development/python-modules/advantage-air { };
 
+  advocate = callPackage ../development/python-modules/advocate { };
+
   aemet-opendata = callPackage ../development/python-modules/aemet-opendata { };
 
   aenum = callPackage ../development/python-modules/aenum { };
@@ -341,6 +344,8 @@ in {
 
   aiolifx-effects = callPackage ../development/python-modules/aiolifx-effects { };
 
+  aiolimiter = callPackage ../development/python-modules/aiolimiter { };
+
   aiolip = callPackage ../development/python-modules/aiolip { };
 
   aiolyric = callPackage ../development/python-modules/aiolyric { };
@@ -399,6 +404,8 @@ in {
 
   aiosignal = callPackage ../development/python-modules/aiosignal { };
 
+  aioslimproto = callPackage ../development/python-modules/aioslimproto { };
+
   aiosmb = callPackage ../development/python-modules/aiosmb { };
 
   aiosmtpd = callPackage ../development/python-modules/aiosmtpd { };
@@ -513,9 +520,7 @@ in {
 
   ansi2html = callPackage ../development/python-modules/ansi2html { };
 
-  ansible = callPackage ../development/python-modules/ansible/legacy.nix { };
-
-  ansible-base = callPackage ../development/python-modules/ansible/base.nix { };
+  ansible = callPackage ../development/python-modules/ansible { };
 
   ansible-compat = callPackage ../development/python-modules/ansible-compat { };
 
@@ -631,6 +636,8 @@ in {
 
   arrayqueues = callPackage ../development/python-modules/arrayqueues { };
 
+  arris-tg2492lg = callPackage ../development/python-modules/arris-tg2492lg { };
+
   arrow = callPackage ../development/python-modules/arrow { };
 
   arviz = callPackage ../development/python-modules/arviz { };
@@ -1555,6 +1562,8 @@ in {
 
   certipy = callPackage ../development/python-modules/certipy { };
 
+  certomancer = callPackage ../development/python-modules/certomancer { };
+
   certvalidator = callPackage ../development/python-modules/certvalidator { };
 
   cffi = callPackage ../development/python-modules/cffi { };
@@ -1729,6 +1738,8 @@ in {
 
   cloudflare = callPackage ../development/python-modules/cloudflare { };
 
+  cloudflare-dyndns = callPackage ../applications/networking/cloudflare-dyndns { };
+
   cloudpickle = callPackage ../development/python-modules/cloudpickle { };
 
   cloudscraper = callPackage ../development/python-modules/cloudscraper { };
@@ -1775,6 +1786,8 @@ in {
 
   codecov = callPackage ../development/python-modules/codecov { };
 
+  codepy = callPackage ../development/python-modules/codepy { };
+
   codespell = callPackage ../development/python-modules/codespell { };
 
   cogapp = callPackage ../development/python-modules/cogapp { };
@@ -1861,6 +1874,8 @@ in {
 
   contextvars = callPackage ../development/python-modules/contextvars { };
 
+  contexttimer = callPackage ../development/python-modules/contexttimer { };
+
   convertdate = callPackage ../development/python-modules/convertdate { };
 
   cookiecutter = callPackage ../development/python-modules/cookiecutter { };
@@ -2045,6 +2060,8 @@ in {
 
   dask-xgboost = callPackage ../development/python-modules/dask-xgboost { };
 
+  dask-yarn = callPackage ../development/python-modules/dask-yarn { };
+
   databases = callPackage ../development/python-modules/databases { };
 
   databricks-cli = callPackage ../development/python-modules/databricks-cli { };
@@ -2097,6 +2114,8 @@ in {
 
   dbutils = callPackage ../development/python-modules/dbutils { };
 
+  db-dtypes = callPackage ../development/python-modules/db-dtypes { };
+
   dcmstack = callPackage ../development/python-modules/dcmstack { };
 
   ddt = callPackage ../development/python-modules/ddt { };
@@ -2171,6 +2190,8 @@ in {
 
   detect-secrets = callPackage ../development/python-modules/detect-secrets { };
 
+  devito = callPackage ../development/python-modules/devito { };
+
   devolo-home-control-api = callPackage ../development/python-modules/devolo-home-control-api { };
 
   devolo-plc-api = callPackage ../development/python-modules/devolo-plc-api { };
@@ -2406,8 +2427,6 @@ in {
 
   dm-haiku = callPackage ../development/python-modules/dm-haiku { };
 
-  dm-sonnet = callPackage ../development/python-modules/dm-sonnet { };
-
   dm-tree = callPackage ../development/python-modules/dm-tree {
     abseil-cpp = pkgs.abseil-cpp.override {
       cxxStandard = "14";
@@ -2516,6 +2535,8 @@ in {
     inherit (pkgs) duckdb;
   };
 
+  duckdb-engine = callPackage ../development/python-modules/duckdb-engine { };
+
   duecredit = callPackage ../development/python-modules/duecredit { };
 
   duet = callPackage ../development/python-modules/duet { };
@@ -2530,6 +2551,8 @@ in {
 
   dungeon-eos = callPackage ../development/python-modules/dungeon-eos { };
 
+  durus = callPackage ../development/python-modules/durus {  };
+
   dwdwfsapi = callPackage ../development/python-modules/dwdwfsapi { };
 
   dyn = callPackage ../development/python-modules/dyn { };
@@ -2737,6 +2760,8 @@ in {
 
   exdown = callPackage ../development/python-modules/exdown { };
 
+  exceptiongroup = callPackage ../development/python-modules/exceptiongroup { };
+
   exchangelib = callPackage ../development/python-modules/exchangelib { };
 
   execnet = callPackage ../development/python-modules/execnet { };
@@ -2817,6 +2842,8 @@ in {
 
   fastavro = callPackage ../development/python-modules/fastavro { };
 
+  fastbencode = callPackage ../development/python-modules/fastbencode { };
+
   fastcache = callPackage ../development/python-modules/fastcache { };
 
   fastcore = callPackage ../development/python-modules/fastcore { };
@@ -2873,7 +2900,7 @@ in {
 
   feedparser = callPackage ../development/python-modules/feedparser { };
 
-  fenics = callPackage ../development/libraries/science/math/fenics {
+  fenics = callPackage ../development/python-modules/fenics {
     hdf5 = pkgs.hdf5_1_10;
     boost = pkgs.boost169;
   };
@@ -2928,6 +2955,8 @@ in {
 
   fitbit = callPackage ../development/python-modules/fitbit { };
 
+  fivem-api = callPackage ../development/python-modules/fivem-api { };
+
   fixerio = callPackage ../development/python-modules/fixerio { };
 
   fixtures = callPackage ../development/python-modules/fixtures { };
@@ -3052,7 +3081,7 @@ in {
 
   flask-talisman = callPackage ../development/python-modules/flask-talisman { };
 
-  flask_testing = callPackage ../development/python-modules/flask-testing { };
+  flask-testing = callPackage ../development/python-modules/flask-testing { };
 
   flask-versioned = callPackage ../development/python-modules/flask-versioned { };
 
@@ -3115,6 +3144,14 @@ in {
 
   fonttools = callPackage ../development/python-modules/fonttools { };
 
+  fontmake = callPackage ../development/python-modules/fontmake { };
+
+  skia-pathops = callPackage ../development/python-modules/skia-pathops { };
+
+  openstep-plist = callPackage ../development/python-modules/openstep-plist { };
+
+  glyphslib = callPackage ../development/python-modules/glyphslib { };
+
   foobot-async = callPackage ../development/python-modules/foobot-async { };
 
   foolscap = callPackage ../development/python-modules/foolscap { };
@@ -3146,6 +3183,8 @@ in {
 
   fpyutils = callPackage ../development/python-modules/fpyutils { };
 
+  fqdn = callPackage ../development/python-modules/fqdn { };
+
   freebox-api = callPackage ../development/python-modules/freebox-api { };
 
   freetype-py = callPackage ../development/python-modules/freetype-py { };
@@ -3229,6 +3268,10 @@ in {
 
   gbinder-python = callPackage ../development/python-modules/gbinder-python { };
 
+  gbulb = callPackage ../development/python-modules/gbulb { };
+
+  gcal-sync = callPackage ../development/python-modules/gcal-sync { };
+
   gcovr = callPackage ../development/python-modules/gcovr { };
 
   gcsfs = callPackage ../development/python-modules/gcsfs { };
@@ -3373,6 +3416,8 @@ in {
 
   git-sweep = callPackage ../development/python-modules/git-sweep { };
 
+  glad =  callPackage ../development/python-modules/glad { };
+
   glances-api = callPackage ../development/python-modules/glances-api { };
 
   glasgow = callPackage ../development/python-modules/glasgow { };
@@ -3439,6 +3484,8 @@ in {
 
   google-cloud-bigquery-logging = callPackage ../development/python-modules/google-cloud-bigquery-logging { };
 
+  google-cloud-bigquery-storage = callPackage ../development/python-modules/google-cloud-bigquery-storage { };
+
   google-cloud-bigtable = callPackage ../development/python-modules/google-cloud-bigtable { };
 
   google-cloud-container = callPackage ../development/python-modules/google-cloud-container { };
@@ -3580,8 +3627,6 @@ in {
 
   graphite-web = callPackage ../development/python-modules/graphite-web { };
 
-  graph_nets = callPackage ../development/python-modules/graph_nets { };
-
   graphene = callPackage ../development/python-modules/graphene { };
 
   graphene-django = callPackage ../development/python-modules/graphene-django { };
@@ -3813,6 +3858,8 @@ in {
 
   hjson = callPackage ../development/python-modules/hjson { };
 
+  hkavr = callPackage ../development/python-modules/hkavr { };
+
   hkdf = callPackage ../development/python-modules/hkdf { };
 
   hlk-sw16 = callPackage ../development/python-modules/hlk-sw16 { };
@@ -3879,8 +3926,12 @@ in {
 
   httplib2 = callPackage ../development/python-modules/httplib2 { };
 
+  http-message-signatures = callPackage ../development/python-modules/http-message-signatures { };
+
   http-parser = callPackage ../development/python-modules/http-parser { };
 
+  http-sfv = callPackage ../development/python-modules/http-sfv { };
+
   httpretty = callPackage ../development/python-modules/httpretty { };
 
   httpserver = callPackage ../development/python-modules/httpserver { };
@@ -4101,6 +4152,8 @@ in {
 
   installer = callPackage ../development/python-modules/installer { };
 
+  insteon-frontend-home-assistant = callPackage ../development/python-modules/insteon-frontend-home-assistant { };
+
   intake = callPackage ../development/python-modules/intake { };
 
   intake-parquet = callPackage ../development/python-modules/intake-parquet { };
@@ -4165,6 +4218,8 @@ in {
 
   ipython = callPackage ../development/python-modules/ipython { };
 
+  ipython-sql = callPackage ../development/python-modules/ipython-sql { };
+
   ipyvue = callPackage ../development/python-modules/ipyvue { };
 
   ipyvuetify = callPackage ../development/python-modules/ipyvuetify { };
@@ -4195,6 +4250,8 @@ in {
 
   isodate = callPackage ../development/python-modules/isodate { };
 
+  isoduration = callPackage ../development/python-modules/isoduration { };
+
   isort = callPackage ../development/python-modules/isort { };
 
   isounidecode = callPackage ../development/python-modules/isounidecode { };
@@ -4906,7 +4963,7 @@ in {
 
   lomond = callPackage ../development/python-modules/lomond { };
 
-  loo-py = callPackage ../development/python-modules/loo-py { };
+  loopy = callPackage ../development/python-modules/loopy { };
 
   losant-rest = callPackage ../development/python-modules/losant-rest { };
 
@@ -5112,6 +5169,8 @@ in {
 
   measurement = callPackage ../development/python-modules/measurement { };
 
+  meater-python = callPackage ../development/python-modules/meater-python { };
+
   mecab-python3 = callPackage ../development/python-modules/mecab-python3 { };
 
   mechanicalsoup = callPackage ../development/python-modules/mechanicalsoup { };
@@ -5230,6 +5289,8 @@ in {
   mkdocs = callPackage ../development/python-modules/mkdocs { };
   mkdocs-material = callPackage ../development/python-modules/mkdocs-material { };
   mkdocs-material-extensions = callPackage ../development/python-modules/mkdocs-material/mkdocs-material-extensions.nix { };
+  mkdocs-minify = callPackage ../development/python-modules/mkdocs-minify { };
+  mkdocs-redirects = callPackage ../development/python-modules/mkdocs-redirects { };
 
   mkl-service = callPackage ../development/python-modules/mkl-service { };
 
@@ -5535,8 +5596,6 @@ in {
 
   nestedtext = callPackage ../development/python-modules/nestedtext { };
 
-  net2grid = callPackage ../development/python-modules/net2grid { };
-
   netaddr = callPackage ../development/python-modules/netaddr { };
 
   netcdf4 = callPackage ../development/python-modules/netcdf4 { };
@@ -5553,6 +5612,8 @@ in {
 
   nettigo-air-monitor = callPackage ../development/python-modules/nettigo-air-monitor { };
 
+  netutils = callPackage ../development/python-modules/netutils { };
+
   networkx = callPackage ../development/python-modules/networkx { };
 
   neuron-mpi = pkgs.neuron-mpi.override { inherit python; };
@@ -5571,6 +5632,11 @@ in {
 
   nextcord = callPackage ../development/python-modules/nextcord { };
 
+  nftables = toPythonModule (pkgs.nftables.override {
+    python3 = python;
+    withPython = true;
+  });
+
   nghttp2 = (toPythonModule (pkgs.nghttp2.override {
     inherit (self) python cython setuptools;
     inherit (pkgs) ncurses;
@@ -5736,6 +5802,8 @@ in {
 
   nunavut = callPackage ../development/python-modules/nunavut { };
 
+  nutils = callPackage ../development/python-modules/nutils { };
+
   nvchecker = callPackage ../development/python-modules/nvchecker { };
 
   python-nvd3 = callPackage ../development/python-modules/python-nvd3 { };
@@ -6122,10 +6190,14 @@ in {
 
   pdoc3 = callPackage ../development/python-modules/pdoc3 { };
 
+  peaqevcore = callPackage ../development/python-modules/peaqevcore { };
+
   pebble = callPackage ../development/python-modules/pebble { };
 
   pecan = callPackage ../development/python-modules/pecan { };
 
+  peco = callPackage ../development/python-modules/peco { };
+
   peewee = callPackage ../development/python-modules/peewee { };
 
   pefile = callPackage ../development/python-modules/pefile { };
@@ -6202,6 +6274,8 @@ in {
 
   pdunehd = callPackage ../development/python-modules/pdunehd { };
 
+  pencompy = callPackage ../development/python-modules/pencompy { };
+
   pixcat = callPackage ../development/python-modules/pixcat { };
 
   pyprecice = callPackage ../development/python-modules/pyprecice { };
@@ -6260,6 +6334,8 @@ in {
 
   pipdate = callPackage ../development/python-modules/pipdate { };
 
+  pipdeptree = callPackage ../development/python-modules/pipdeptree { };
+
   pipenv-poetry-migrate = callPackage ../development/python-modules/pipenv-poetry-migrate { };
 
   pip-tools = callPackage ../development/python-modules/pip-tools { };
@@ -6337,6 +6413,8 @@ in {
 
   pypoolstation = callPackage ../development/python-modules/pypoolstation { };
 
+  pyrevolve = callPackage ../development/python-modules/pyrevolve { };
+
   pyrfxtrx = callPackage ../development/python-modules/pyrfxtrx { };
 
   pyrogram = callPackage ../development/python-modules/pyrogram { };
@@ -6469,6 +6547,8 @@ in {
 
   poetry-core = callPackage ../development/python-modules/poetry-core { };
 
+  poetry-dynamic-versioning = callPackage ../development/python-modules/poetry-dynamic-versioning { };
+
   poetry-semver = callPackage ../development/python-modules/poetry-semver { };
 
   poetry2conda = callPackage ../development/python-modules/poetry2conda { };
@@ -6945,6 +7025,10 @@ in {
 
   pydenticon = callPackage ../development/python-modules/pydenticon { };
 
+  pydeps = callPackage ../development/python-modules/pydeps {
+    inherit (pkgs) graphviz;
+  };
+
   pydes = callPackage ../development/python-modules/pydes { };
 
   py-desmume = callPackage ../development/python-modules/py-desmume { };
@@ -7159,6 +7243,10 @@ in {
 
   pyhamcrest = callPackage ../development/python-modules/pyhamcrest { };
 
+  pyhanko = callPackage ../development/python-modules/pyhanko { };
+
+  pyhanko-certvalidator = callPackage ../development/python-modules/pyhanko-certvalidator { };
+
   pyhaversion = callPackage ../development/python-modules/pyhaversion { };
 
   pyhcl = callPackage ../development/python-modules/pyhcl { };
@@ -7418,7 +7506,7 @@ in {
   pynanoleaf = callPackage ../development/python-modules/pynanoleaf { };
 
   pync = callPackage ../development/python-modules/pync {
-    inherit (pkgs) coreutils which;
+    inherit (pkgs) which;
   };
 
   pynello = callPackage ../development/python-modules/pynello { };
@@ -7485,6 +7573,8 @@ in {
 
   pyopnsense = callPackage ../development/python-modules/pyopnsense { };
 
+  pyoppleio = callPackage ../development/python-modules/pyoppleio { };
+
   pyosf = callPackage ../development/python-modules/pyosf { };
 
   pyosmium = callPackage ../development/python-modules/pyosmium {
@@ -7613,6 +7703,8 @@ in {
 
   py-radix = callPackage ../development/python-modules/py-radix { };
 
+  pyrainbird = callPackage ../development/python-modules/pyrainbird { };
+
   pyramid_beaker = callPackage ../development/python-modules/pyramid_beaker { };
 
   pyramid = callPackage ../development/python-modules/pyramid { };
@@ -7699,6 +7791,8 @@ in {
 
   pyruckus = callPackage ../development/python-modules/pyruckus { };
 
+  pysaj = callPackage ../development/python-modules/pysaj { };
+
   pysam = callPackage ../development/python-modules/pysam { };
 
   pysaml2 = callPackage ../development/python-modules/pysaml2 {
@@ -7739,6 +7833,8 @@ in {
 
   pysendfile = callPackage ../development/python-modules/pysendfile { };
 
+  pysensibo = callPackage ../development/python-modules/pysensibo { };
+
   pysensors = callPackage ../development/python-modules/pysensors { };
 
   pyserial-asyncio = callPackage ../development/python-modules/pyserial-asyncio { };
@@ -8139,6 +8235,8 @@ in {
 
   python-axolotl-curve25519 = callPackage ../development/python-modules/python-axolotl-curve25519 { };
 
+  python-barcode = callPackage ../development/python-modules/python-barcode { };
+
   python-baseconv = callPackage ../development/python-modules/python-baseconv { };
 
   python-benedict = callPackage ../development/python-modules/python-benedict { };
@@ -8321,6 +8419,8 @@ in {
 
   python-packer = callPackage ../development/python-modules/python-packer { };
 
+  python-pae = callPackage ../development/python-modules/python-pae { };
+
   python-pam = callPackage ../development/python-modules/python-pam {
     inherit (pkgs) pam;
   };
@@ -8471,6 +8571,8 @@ in {
 
   pytricia = callPackage ../development/python-modules/pytricia { };
 
+  pyttsx3 = callPackage ../development/python-modules/pyttsx3 { };
+
   pytube = callPackage ../development/python-modules/pytube { };
 
   pytun = callPackage ../development/python-modules/pytun { };
@@ -8723,6 +8825,8 @@ in {
 
   rainbowstream = callPackage ../development/python-modules/rainbowstream { };
 
+  raincloudy = callPackage ../development/python-modules/raincloudy { };
+
   ramlfications = callPackage ../development/python-modules/ramlfications { };
 
   random2 = callPackage ../development/python-modules/random2 { };
@@ -8929,6 +9033,8 @@ in {
     python3 = python;
   });
 
+  rjpl = callPackage ../development/python-modules/rjpl { };
+
   rjsmin = callPackage ../development/python-modules/rjsmin { };
 
   rki-covid-parser = callPackage ../development/python-modules/rki-covid-parser { };
@@ -9203,6 +9309,10 @@ in {
 
   segments = callPackage ../development/python-modules/segments { };
 
+  segyio = toPythonModule (callPackage ../development/python-modules/segyio {
+    inherit (pkgs) cmake ninja;
+  });
+
   selectors2 = callPackage ../development/python-modules/selectors2 { };
 
   selenium = callPackage ../development/python-modules/selenium { };
@@ -9366,9 +9476,7 @@ in {
 
   six = callPackage ../development/python-modules/six { };
 
-  skein = callPackage ../development/python-modules/skein {
-    jre = pkgs.jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-  };
+  skein = callPackage ../development/python-modules/skein { };
 
   skidl = callPackage ../development/python-modules/skidl { };
 
@@ -9388,7 +9496,9 @@ in {
 
   skytemple-icons = callPackage ../development/python-modules/skytemple-icons { };
 
-  skytemple-rust = callPackage ../development/python-modules/skytemple-rust { };
+  skytemple-rust = callPackage ../development/python-modules/skytemple-rust {
+    inherit (pkgs.darwin.apple_sdk.frameworks) Foundation;
+  };
 
   skytemple-ssb-debugger = callPackage ../development/python-modules/skytemple-ssb-debugger { };
 
@@ -9786,6 +9896,8 @@ in {
 
   stringcase = callPackage ../development/python-modules/stringcase { };
 
+  stringly = callPackage ../development/python-modules/stringly { };
+
   stripe = callPackage ../development/python-modules/stripe { };
 
   striprtf = callPackage ../development/python-modules/striprtf { };
@@ -9962,15 +10074,8 @@ in {
 
   tensorboardx = callPackage ../development/python-modules/tensorboardx { };
 
-  tensorflow-bin = let
-    # CUDA-related packages that are compatible with the currently packaged version
-    # of TensorFlow, used to keep these versions in sync in related packages like `jaxlib`.
-    cudaPackages = pkgs.cudaPackages_11_2.overrideScope' (final: prev: {
-      cudnn = prev.cudnn_8_1_1;
-    });
-  in callPackage ../development/python-modules/tensorflow/bin.nix {
+  tensorflow-bin = callPackage ../development/python-modules/tensorflow/bin.nix {
     cudaSupport = pkgs.config.cudaSupport or false;
-    inherit cudaPackages;
   };
 
   tensorflow-build = callPackage ../development/python-modules/tensorflow {
@@ -10254,6 +10359,8 @@ in {
 
   transmissionrpc = callPackage ../development/python-modules/transmissionrpc { };
 
+  treelog = callPackage ../development/python-modules/treelog { };
+
   treeo = callPackage ../development/python-modules/treeo { };
 
   treex = callPackage ../development/python-modules/treex { };
@@ -10444,6 +10551,8 @@ in {
 
   ueagle = callPackage ../development/python-modules/ueagle { };
 
+  uharfbuzz = callPackage ../development/python-modules/uharfbuzz { };
+
   ujson = callPackage ../development/python-modules/ujson { };
 
   ukkonen = callPackage ../development/python-modules/ukkonen { };
@@ -10554,6 +10663,8 @@ in {
 
   urwid-readline = callPackage ../development/python-modules/urwid-readline { };
 
+  usbrelay-py = callPackage ../os-specific/linux/usbrelay/python.nix { };
+
   usbtmc = callPackage ../development/python-modules/usbtmc { };
 
   us = callPackage ../development/python-modules/us { };
@@ -10650,7 +10761,9 @@ in {
 
   vispy = callPackage ../development/python-modules/vispy { };
 
-  vivisect = callPackage ../development/python-modules/vivisect { };
+  vivisect = callPackage ../development/python-modules/vivisect {
+    inherit (pkgs.libsForQt5) wrapQtAppsHook;
+  };
 
   viv-utils = callPackage ../development/python-modules/viv-utils { };
 
@@ -10830,6 +10943,8 @@ in {
 
   wiffi = callPackage ../development/python-modules/wiffi { };
 
+  wifi = callPackage ../development/python-modules/wifi { };
+
   willow = callPackage ../development/python-modules/willow { };
 
   winacl = callPackage ../development/python-modules/winacl { };
@@ -11062,8 +11177,10 @@ in {
   yt-dlp = callPackage ../tools/misc/yt-dlp { };
 
   yt-dlp-light = callPackage ../tools/misc/yt-dlp {
+    atomicparsleySupport = false;
     ffmpegSupport = false;
     phantomjsSupport = false;
+    rtmpSupport = false;
   };
 
   youtube-search = callPackage ../development/python-modules/youtube-search { };
@@ -11078,6 +11195,8 @@ in {
     inherit (pkgs) jq;
   };
 
+  yte = callPackage ../development/python-modules/yte { };
+
   ytmusicapi = callPackage ../development/python-modules/ytmusicapi { };
 
   yubico-client = callPackage ../development/python-modules/yubico-client { };
@@ -11212,6 +11331,8 @@ in {
 
   zulip = callPackage ../development/python-modules/zulip { };
 
+  zwave-me-ws = callPackage ../development/python-modules/zwave-me-ws { };
+
   zwave-js-server-python = callPackage ../development/python-modules/zwave-js-server-python { };
 
   zxcvbn = callPackage ../development/python-modules/zxcvbn { };
diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix
index 081fa0c8502..0b1324b8672 100644
--- a/pkgs/top-level/qt5-packages.nix
+++ b/pkgs/top-level/qt5-packages.nix
@@ -142,6 +142,8 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea
 
   mapbox-gl-qml = libsForQt5.callPackage ../development/libraries/mapbox-gl-qml { };
 
+  maplibre-gl-native = callPackage ../development/libraries/maplibre-gl-native { };
+
   mauikit = callPackage ../development/libraries/mauikit { };
 
   mauikit-filebrowsing = callPackage ../development/libraries/mauikit-filebrowsing { };
@@ -166,12 +168,6 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea
     suffix = "qt5";
   };
 
-  poppler_0_61 = callPackage ../development/libraries/poppler/0.61.nix {
-    lcms = pkgs.lcms2;
-    qt5Support = true;
-    suffix = "qt5";
-  };
-
   pulseaudio-qt = callPackage ../development/libraries/pulseaudio-qt { };
 
   qca-qt5 = callPackage ../development/libraries/qca-qt5 { };
diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix
index 972bb02ca7f..88b53f6b636 100644
--- a/pkgs/top-level/release-haskell.nix
+++ b/pkgs/top-level/release-haskell.nix
@@ -304,27 +304,29 @@ let
       # Test some statically linked packages to catch regressions
       # and get some cache going for static compilation with GHC.
       # Use integer-simple to avoid GMP linking problems (LGPL)
-      pkgsStatic.haskell.packages =
+      pkgsStatic =
         removePlatforms
           [
             "aarch64-linux" # times out on Hydra
             "x86_64-darwin" # TODO: reenable when static libiconv works on darwin
           ] {
-            integer-simple.ghc8107 = {
-              inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.integer-simple.ghc8107)
+            haskellPackages = {
+              inherit (packagePlatforms pkgs.pkgsStatic.haskellPackages)
                 hello
                 lens
                 random
                 QuickCheck
+                cabal2nix
               ;
             };
 
-            native-bignum.ghc902 = {
-              inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc902)
+            haskell.packages.native-bignum.ghc922 = {
+              inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc922)
                 hello
                 lens
                 random
                 QuickCheck
+                cabal2nix
               ;
             };
           };
@@ -361,6 +363,9 @@ let
       ghc-lib = released;
       ghc-lib-parser = released;
       ghc-lib-parser-ex = released;
+      spectacle = [
+        compilerNames.ghc8107
+      ];
     })
     {
       mergeable = pkgs.releaseTools.aggregate {
@@ -446,12 +451,8 @@ let
           ];
         };
         constituents = accumulateDerivations [
-          jobs.pkgsStatic.haskell.packages.integer-simple.ghc8107.hello
-          jobs.pkgsStatic.haskell.packages.integer-simple.ghc8107.lens
-          jobs.pkgsStatic.haskell.packages.integer-simple.ghc8107.random
-          jobs.pkgsStatic.haskell.packages.native-bignum.ghc902.hello
-          jobs.pkgsStatic.haskell.packages.native-bignum.ghc902.lens
-          jobs.pkgsStatic.haskell.packages.native-bignum.ghc902.random
+          jobs.pkgsStatic.haskellPackages
+          jobs.pkgsStatic.haskell.packages.native-bignum.ghc922
         ];
       };
     }
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index ceae00baec9..e066d191ef2 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -103,7 +103,7 @@ rec {
   forAllSystems = genAttrs supportedSystems;
 
 
-  # Generate attributes for all sytems matching at least one of the given
+  # Generate attributes for all systems matching at least one of the given
   # patterns
   forMatchingSystems = metaPatterns: genAttrs (supportedMatches metaPatterns);